From 3ea5d67ca3d07525dacec601e5575e28339f2b17 Mon Sep 17 00:00:00 2001 From: Chris DeLashmutt Date: Sun, 11 Feb 2018 23:37:39 -0500 Subject: [PATCH 1/3] Move to govendor, and add some tests --- apihelper/apihelper.go | 53 +- apihelper/apihelper_suite_test.go | 13 + apihelper/apihelper_test.go | 63 + apihelper/fakes/fake_cfapihelper.go | 423 + apihelper/test-data/empty-result.json | 7 + .../test-data/orgmanagers-blankusername.json | 29 + apihelper/test-data/services.json | 74 + service-use.go | 14 +- service-use_suite_test.go | 13 + service-use_test.go | 39 + vendor/code.cloudfoundry.org/cli/LICENSE | 202 + vendor/code.cloudfoundry.org/cli/NOTICE | 11 + .../cli/plugin/cli_connection.go | 383 + .../cli/plugin/models/get_app.go | 63 + .../cli/plugin/models/get_apps.go | 26 + .../cli/plugin/models/get_current_org.go | 21 + .../cli/plugin/models/get_current_space.go | 10 + .../cli/plugin/models/get_oauth_token.go | 5 + .../cli/plugin/models/get_org.go | 32 + .../cli/plugin/models/get_org_users.go | 8 + .../cli/plugin/models/get_orgs.go | 6 + .../cli/plugin/models/get_service.go | 29 + .../cli/plugin/models/get_services.go | 25 + .../cli/plugin/models/get_space.go | 56 + .../cli/plugin/models/get_space_users.go | 8 + .../cli/plugin/models/get_spaces.go | 6 + .../cli/plugin/plugin.go | 73 + .../cli/plugin/plugin_shim.go | 48 + vendor/github.com/blang/semver/LICENSE | 22 + vendor/github.com/blang/semver/json.go | 23 + vendor/github.com/blang/semver/semver.go | 395 + vendor/github.com/blang/semver/sort.go | 28 + vendor/github.com/blang/semver/sql.go | 30 + vendor/github.com/cloudfoundry/cli/LICENSE | 176 + vendor/github.com/cloudfoundry/cli/NOTICE | 15 + .../cloudfoundry/cli/cf/app_constants.go | 7 + .../cf/configuration/config_disk_persistor.go | 87 + .../config_disk_persistor_unix.go | 12 + .../config_disk_persistor_win.go | 30 + .../configuration/coreconfig/access_token.go | 60 + .../coreconfig/api_config_refresher.go | 74 + .../configuration/coreconfig/config_data.go | 67 + .../coreconfig/config_repository.go | 537 + .../cloudfoundry/cli/cf/formatters/bools.go | 12 + .../cloudfoundry/cli/cf/formatters/bytes.go | 82 + .../cli/cf/formatters/memoryLimit.go | 11 + .../cloudfoundry/cli/cf/formatters/string.go | 16 + .../cloudfoundry/cli/cf/i18n/README-i18n.md | 48 + .../cloudfoundry/cli/cf/i18n/excluded.json | 41 + .../cloudfoundry/cli/cf/i18n/i18n.go | 86 + .../cloudfoundry/cli/cf/i18n/locale.go | 55 + .../cli/cf/minimum_api_versions.go | 16 + .../cloudfoundry/cli/cf/models/app_event.go | 11 + .../cloudfoundry/cli/cf/models/app_file.go | 8 + .../cli/cf/models/app_instance.go | 24 + .../cloudfoundry/cli/cf/models/application.go | 186 + .../cloudfoundry/cli/cf/models/buildpack.go | 11 + .../cloudfoundry/cli/cf/models/domain.go | 19 + .../cloudfoundry/cli/cf/models/environment.go | 19 + .../cli/cf/models/environment_variable.go | 6 + .../cli/cf/models/feature_flag.go | 7 + .../cli/cf/models/organization.go | 14 + .../cloudfoundry/cli/cf/models/plugin_repo.go | 6 + .../cloudfoundry/cli/cf/models/quota.go | 27 + .../cloudfoundry/cli/cf/models/role.go | 60 + .../cloudfoundry/cli/cf/models/route.go | 55 + .../cli/cf/models/route_summary.go | 18 + .../cli/cf/models/router_group.go | 9 + .../cli/cf/models/security_group.go | 22 + .../cli/cf/models/service_auth_token.go | 8 + .../cli/cf/models/service_binding.go | 13 + .../cli/cf/models/service_broker.go | 10 + .../cli/cf/models/service_instance.go | 47 + .../cloudfoundry/cli/cf/models/service_key.go | 20 + .../cli/cf/models/service_offering.go | 31 + .../cli/cf/models/service_plan.go | 34 + .../cli/cf/models/service_plan_visibility.go | 7 + .../cloudfoundry/cli/cf/models/space.go | 17 + .../cloudfoundry/cli/cf/models/space_quota.go | 52 + .../cloudfoundry/cli/cf/models/stack.go | 7 + .../cloudfoundry/cli/cf/models/user.go | 8 + .../cli/cf/models/user_provided_service.go | 18 + .../cli/cf/resources/i18n_resources.go | 448 + .../cloudfoundry/cli/cf/terminal/color.go | 144 + .../cli/cf/terminal/debug_printer.go | 16 + .../cloudfoundry/cli/cf/terminal/table.go | 342 + .../cli/cf/terminal/tee_printer.go | 63 + .../cloudfoundry/cli/cf/terminal/ui.go | 306 + .../cloudfoundry/cli/cf/terminal/ui_unix.go | 102 + .../cli/cf/terminal/ui_windows.go | 45 + .../cli/cf/trace/combined_printer.go | 35 + .../cli/cf/trace/logger_provider.go | 42 + .../cloudfoundry/cli/cf/trace/printer.go | 10 + .../cloudfoundry/cli/cf/trace/trace.go | 35 + .../cli/cf/trace/writer_printer.go | 34 + .../gofileutils/fileutils/LICENSE | 201 + .../gofileutils/fileutils/dir_utils.go | 20 + .../gofileutils/fileutils/file_utils.go | 74 + .../gofileutils/fileutils/temp_utils.go | 27 + vendor/github.com/fatih/color/LICENSE.md | 20 + vendor/github.com/fatih/color/color.go | 402 + vendor/github.com/fatih/color/doc.go | 114 + vendor/github.com/krujos/cfcurl/LICENSE | 202 + vendor/github.com/krujos/cfcurl/README.md | 40 + vendor/github.com/krujos/cfcurl/apps.json | 94 + vendor/github.com/krujos/cfcurl/cfcurl.go | 65 + vendor/github.com/krujos/cfcurl/domains.json | 20 + .../mattn/go-colorable/colorable_others.go | 24 + .../mattn/go-colorable/colorable_windows.go | 783 + vendor/github.com/mattn/go-isatty/doc.go | 2 + .../mattn/go-isatty/isatty_appengine.go | 9 + .../github.com/mattn/go-isatty/isatty_bsd.go | 18 + .../mattn/go-isatty/isatty_linux.go | 18 + .../mattn/go-isatty/isatty_solaris.go | 16 + .../mattn/go-isatty/isatty_windows.go | 19 + .../nicksnyder/go-i18n/i18n/LICENSE | 19 + .../nicksnyder/go-i18n/i18n/bundle/LICENSE | 19 + .../nicksnyder/go-i18n/i18n/bundle/bundle.go | 315 + .../nicksnyder/go-i18n/i18n/i18n.go | 152 + .../nicksnyder/go-i18n/i18n/language/LICENSE | 19 + .../go-i18n/i18n/language/language.go | 99 + .../go-i18n/i18n/language/operands.go | 119 + .../go-i18n/i18n/language/plural.go | 40 + .../go-i18n/i18n/language/pluralspec.go | 74 + .../go-i18n/i18n/language/pluralspec_gen.go | 567 + .../go-i18n/i18n/translation/LICENSE | 19 + .../i18n/translation/plural_translation.go | 78 + .../i18n/translation/single_translation.go | 57 + .../go-i18n/i18n/translation/template.go | 61 + .../go-i18n/i18n/translation/translation.go | 83 + vendor/github.com/onsi/ginkgo/CHANGELOG.md | 156 + vendor/github.com/onsi/ginkgo/CONTRIBUTING.md | 13 + vendor/github.com/onsi/ginkgo/LICENSE | 20 + vendor/github.com/onsi/ginkgo/README.md | 123 + vendor/github.com/onsi/ginkgo/before_pr.sh | 13 + .../github.com/onsi/ginkgo/config/config.go | 193 + vendor/github.com/onsi/ginkgo/ginkgo_dsl.go | 604 + .../internal/codelocation/code_location.go | 32 + .../internal/containernode/container_node.go | 151 + .../onsi/ginkgo/internal/failer/failer.go | 92 + .../ginkgo/internal/leafnodes/benchmarker.go | 103 + .../ginkgo/internal/leafnodes/interfaces.go | 19 + .../onsi/ginkgo/internal/leafnodes/it_node.go | 47 + .../ginkgo/internal/leafnodes/measure_node.go | 62 + .../onsi/ginkgo/internal/leafnodes/runner.go | 114 + .../ginkgo/internal/leafnodes/setup_nodes.go | 42 + .../ginkgo/internal/leafnodes/suite_nodes.go | 55 + .../synchronized_after_suite_node.go | 90 + .../synchronized_before_suite_node.go | 181 + .../onsi/ginkgo/internal/remote/aggregator.go | 249 + .../internal/remote/forwarding_reporter.go | 90 + .../internal/remote/output_interceptor.go | 10 + .../remote/output_interceptor_unix.go | 55 + .../internal/remote/output_interceptor_win.go | 33 + .../onsi/ginkgo/internal/remote/server.go | 224 + .../remote/syscall_dup_linux_arm64.go | 11 + .../internal/remote/syscall_dup_solaris.go | 9 + .../internal/remote/syscall_dup_unix.go | 11 + .../onsi/ginkgo/internal/spec/spec.go | 212 + .../onsi/ginkgo/internal/spec/specs.go | 123 + .../internal/spec_iterator/index_computer.go | 55 + .../spec_iterator/parallel_spec_iterator.go | 59 + .../spec_iterator/serial_spec_iterator.go | 45 + .../sharded_parallel_spec_iterator.go | 47 + .../internal/spec_iterator/spec_iterator.go | 20 + .../ginkgo/internal/specrunner/random_id.go | 15 + .../ginkgo/internal/specrunner/spec_runner.go | 408 + .../onsi/ginkgo/internal/suite/suite.go | 183 + .../internal/testingtproxy/testing_t_proxy.go | 76 + .../ginkgo/internal/writer/fake_writer.go | 36 + .../onsi/ginkgo/internal/writer/writer.go | 81 + .../onsi/ginkgo/reporters/default_reporter.go | 84 + .../onsi/ginkgo/reporters/fake_reporter.go | 59 + .../onsi/ginkgo/reporters/junit_reporter.go | 147 + .../onsi/ginkgo/reporters/reporter.go | 15 + .../reporters/stenographer/console_logging.go | 64 + .../stenographer/fake_stenographer.go | 142 + .../reporters/stenographer/stenographer.go | 573 + .../stenographer/support/go-colorable/LICENSE | 21 + .../support/go-colorable/README.md | 43 + .../support/go-colorable/colorable_others.go | 24 + .../support/go-colorable/colorable_windows.go | 783 + .../support/go-colorable/noncolorable.go | 57 + .../stenographer/support/go-isatty/LICENSE | 9 + .../stenographer/support/go-isatty/README.md | 37 + .../stenographer/support/go-isatty/doc.go | 2 + .../support/go-isatty/isatty_appengine.go | 9 + .../support/go-isatty/isatty_bsd.go | 18 + .../support/go-isatty/isatty_linux.go | 18 + .../support/go-isatty/isatty_solaris.go | 16 + .../support/go-isatty/isatty_windows.go | 19 + .../ginkgo/reporters/teamcity_reporter.go | 93 + .../onsi/ginkgo/types/code_location.go | 15 + .../onsi/ginkgo/types/synchronization.go | 30 + vendor/github.com/onsi/ginkgo/types/types.go | 173 + vendor/github.com/onsi/gomega/CHANGELOG.md | 88 + vendor/github.com/onsi/gomega/CONTRIBUTING.md | 14 + vendor/github.com/onsi/gomega/LICENSE | 20 + vendor/github.com/onsi/gomega/README.md | 21 + vendor/github.com/onsi/gomega/RELEASING.md | 6 + .../github.com/onsi/gomega/format/format.go | 379 + vendor/github.com/onsi/gomega/gomega_dsl.go | 396 + .../gomega/internal/assertion/assertion.go | 98 + .../asyncassertion/async_assertion.go | 189 + .../internal/oraclematcher/oracle_matcher.go | 25 + .../testingtsupport/testing_t_support.go | 40 + vendor/github.com/onsi/gomega/matchers.go | 427 + vendor/github.com/onsi/gomega/matchers/and.go | 63 + .../matchers/assignable_to_type_of_matcher.go | 31 + .../onsi/gomega/matchers/attributes_slice.go | 14 + .../onsi/gomega/matchers/be_a_directory.go | 54 + .../onsi/gomega/matchers/be_a_regular_file.go | 54 + .../gomega/matchers/be_an_existing_file.go | 38 + .../onsi/gomega/matchers/be_closed_matcher.go | 46 + .../onsi/gomega/matchers/be_empty_matcher.go | 27 + .../matchers/be_equivalent_to_matcher.go | 34 + .../onsi/gomega/matchers/be_false_matcher.go | 26 + .../onsi/gomega/matchers/be_identical_to.go | 37 + .../onsi/gomega/matchers/be_nil_matcher.go | 18 + .../gomega/matchers/be_numerically_matcher.go | 120 + .../onsi/gomega/matchers/be_sent_matcher.go | 71 + .../gomega/matchers/be_temporally_matcher.go | 66 + .../onsi/gomega/matchers/be_true_matcher.go | 26 + .../onsi/gomega/matchers/be_zero_matcher.go | 28 + .../onsi/gomega/matchers/consist_of.go | 80 + .../matchers/contain_element_matcher.go | 56 + .../matchers/contain_substring_matcher.go | 38 + .../onsi/gomega/matchers/equal_matcher.go | 42 + .../onsi/gomega/matchers/have_cap_matcher.go | 28 + .../onsi/gomega/matchers/have_key_matcher.go | 54 + .../matchers/have_key_with_value_matcher.go | 74 + .../onsi/gomega/matchers/have_len_matcher.go | 28 + .../gomega/matchers/have_occurred_matcher.go | 33 + .../gomega/matchers/have_prefix_matcher.go | 36 + .../gomega/matchers/have_suffix_matcher.go | 36 + .../gomega/matchers/match_error_matcher.go | 51 + .../gomega/matchers/match_json_matcher.go | 135 + .../gomega/matchers/match_regexp_matcher.go | 43 + .../onsi/gomega/matchers/match_xml_matcher.go | 134 + .../gomega/matchers/match_yaml_matcher.go | 74 + vendor/github.com/onsi/gomega/matchers/not.go | 30 + vendor/github.com/onsi/gomega/matchers/or.go | 67 + .../onsi/gomega/matchers/panic_matcher.go | 46 + .../onsi/gomega/matchers/receive_matcher.go | 122 + .../onsi/gomega/matchers/succeed_matcher.go | 33 + .../goraph/bipartitegraph/bipartitegraph.go | 41 + .../bipartitegraph/bipartitegraphmatching.go | 159 + .../matchers/support/goraph/edge/edge.go | 61 + .../matchers/support/goraph/node/node.go | 7 + .../matchers/support/goraph/util/util.go | 7 + .../onsi/gomega/matchers/type_support.go | 173 + .../onsi/gomega/matchers/with_transform.go | 72 + vendor/github.com/onsi/gomega/types/types.go | 17 + vendor/golang.org/x/crypto/ssh/LICENSE | 27 + .../golang.org/x/crypto/ssh/terminal/LICENSE | 27 + .../x/crypto/ssh/terminal/terminal.go | 892 + .../golang.org/x/crypto/ssh/terminal/util.go | 128 + .../x/crypto/ssh/terminal/util_bsd.go | 12 + .../x/crypto/ssh/terminal/util_linux.go | 11 + .../x/crypto/ssh/terminal/util_windows.go | 174 + vendor/golang.org/x/net/LICENSE | 27 + vendor/golang.org/x/net/PATENTS | 22 + vendor/golang.org/x/net/html/atom/atom.go | 78 + vendor/golang.org/x/net/html/atom/table.go | 779 + .../golang.org/x/net/html/charset/charset.go | 257 + vendor/golang.org/x/net/html/const.go | 104 + vendor/golang.org/x/net/html/doc.go | 106 + vendor/golang.org/x/net/html/doctype.go | 156 + vendor/golang.org/x/net/html/entity.go | 2253 + vendor/golang.org/x/net/html/escape.go | 258 + vendor/golang.org/x/net/html/foreign.go | 226 + vendor/golang.org/x/net/html/node.go | 193 + vendor/golang.org/x/net/html/parse.go | 2094 + vendor/golang.org/x/net/html/render.go | 271 + vendor/golang.org/x/net/html/token.go | 1219 + vendor/golang.org/x/sys/LICENSE | 27 + vendor/golang.org/x/sys/PATENTS | 22 + vendor/golang.org/x/sys/unix/README.md | 173 + .../golang.org/x/sys/unix/affinity_linux.go | 124 + vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 + .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + .../x/sys/unix/asm_dragonfly_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 65 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 57 + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 56 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 52 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 54 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 56 + vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + .../golang.org/x/sys/unix/bluetooth_linux.go | 35 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 195 + vendor/golang.org/x/sys/unix/constants.go | 13 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 42 + vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 17 + vendor/golang.org/x/sys/unix/endian_big.go | 9 + vendor/golang.org/x/sys/unix/endian_little.go | 9 + vendor/golang.org/x/sys/unix/env_unix.go | 31 + .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + vendor/golang.org/x/sys/unix/flock.go | 22 + .../x/sys/unix/flock_linux_32bit.go | 13 + vendor/golang.org/x/sys/unix/gccgo.go | 61 + vendor/golang.org/x/sys/unix/gccgo_c.c | 47 + .../x/sys/unix/gccgo_linux_amd64.go | 20 + vendor/golang.org/x/sys/unix/mkall.sh | 188 + vendor/golang.org/x/sys/unix/mkerrors.sh | 580 + vendor/golang.org/x/sys/unix/mksyscall.pl | 341 + .../x/sys/unix/mksyscall_solaris.pl | 289 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 + .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 + .../x/sys/unix/mksysnum_dragonfly.pl | 50 + .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 + .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 + .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 + .../golang.org/x/sys/unix/openbsd_pledge.go | 38 + vendor/golang.org/x/sys/unix/pagesize_unix.go | 15 + vendor/golang.org/x/sys/unix/race.go | 30 + vendor/golang.org/x/sys/unix/race0.go | 25 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 104 + vendor/golang.org/x/sys/unix/str.go | 26 + vendor/golang.org/x/sys/unix/syscall.go | 51 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 665 + .../golang.org/x/sys/unix/syscall_darwin.go | 601 + .../x/sys/unix/syscall_darwin_386.go | 68 + .../x/sys/unix/syscall_darwin_amd64.go | 68 + .../x/sys/unix/syscall_darwin_arm.go | 66 + .../x/sys/unix/syscall_darwin_arm64.go | 68 + .../x/sys/unix/syscall_dragonfly.go | 521 + .../x/sys/unix/syscall_dragonfly_amd64.go | 52 + .../golang.org/x/sys/unix/syscall_freebsd.go | 759 + .../x/sys/unix/syscall_freebsd_386.go | 52 + .../x/sys/unix/syscall_freebsd_amd64.go | 52 + .../x/sys/unix/syscall_freebsd_arm.go | 52 + vendor/golang.org/x/sys/unix/syscall_linux.go | 1503 + .../x/sys/unix/syscall_linux_386.go | 391 + .../x/sys/unix/syscall_linux_amd64.go | 144 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 255 + .../x/sys/unix/syscall_linux_arm64.go | 186 + .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_mips64x.go | 206 + .../x/sys/unix/syscall_linux_mipsx.go | 231 + .../x/sys/unix/syscall_linux_ppc64x.go | 127 + .../x/sys/unix/syscall_linux_s390x.go | 320 + .../x/sys/unix/syscall_linux_sparc64.go | 143 + .../golang.org/x/sys/unix/syscall_netbsd.go | 565 + .../x/sys/unix/syscall_netbsd_386.go | 33 + .../x/sys/unix/syscall_netbsd_amd64.go | 33 + .../x/sys/unix/syscall_netbsd_arm.go | 33 + .../golang.org/x/sys/unix/syscall_openbsd.go | 365 + .../x/sys/unix/syscall_openbsd_386.go | 33 + .../x/sys/unix/syscall_openbsd_amd64.go | 33 + .../x/sys/unix/syscall_openbsd_arm.go | 33 + .../golang.org/x/sys/unix/syscall_solaris.go | 717 + .../x/sys/unix/syscall_solaris_amd64.go | 28 + vendor/golang.org/x/sys/unix/syscall_unix.go | 307 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 + vendor/golang.org/x/sys/unix/timestruct.go | 82 + .../x/sys/unix/zerrors_darwin_386.go | 1769 + .../x/sys/unix/zerrors_darwin_amd64.go | 1769 + .../x/sys/unix/zerrors_darwin_arm.go | 1769 + .../x/sys/unix/zerrors_darwin_arm64.go | 1769 + .../x/sys/unix/zerrors_dragonfly_amd64.go | 1575 + .../x/sys/unix/zerrors_freebsd_386.go | 1756 + .../x/sys/unix/zerrors_freebsd_amd64.go | 1757 + .../x/sys/unix/zerrors_freebsd_arm.go | 1765 + .../x/sys/unix/zerrors_linux_386.go | 2266 + .../x/sys/unix/zerrors_linux_amd64.go | 2267 + .../x/sys/unix/zerrors_linux_arm.go | 2271 + .../x/sys/unix/zerrors_linux_arm64.go | 2257 + .../x/sys/unix/zerrors_linux_mips.go | 2276 + .../x/sys/unix/zerrors_linux_mips64.go | 2276 + .../x/sys/unix/zerrors_linux_mips64le.go | 2276 + .../x/sys/unix/zerrors_linux_mipsle.go | 2276 + .../x/sys/unix/zerrors_linux_ppc64.go | 2329 + .../x/sys/unix/zerrors_linux_ppc64le.go | 2329 + .../x/sys/unix/zerrors_linux_s390x.go | 2328 + .../x/sys/unix/zerrors_linux_sparc64.go | 2142 + .../x/sys/unix/zerrors_netbsd_386.go | 1719 + .../x/sys/unix/zerrors_netbsd_amd64.go | 1709 + .../x/sys/unix/zerrors_netbsd_arm.go | 1698 + .../x/sys/unix/zerrors_openbsd_386.go | 1591 + .../x/sys/unix/zerrors_openbsd_amd64.go | 1590 + .../x/sys/unix/zerrors_openbsd_arm.go | 1593 + .../x/sys/unix/zerrors_solaris_amd64.go | 1489 + .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../x/sys/unix/zsyscall_darwin_386.go | 1620 + .../x/sys/unix/zsyscall_darwin_amd64.go | 1620 + .../x/sys/unix/zsyscall_darwin_arm.go | 1620 + .../x/sys/unix/zsyscall_darwin_arm64.go | 1620 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1478 + .../x/sys/unix/zsyscall_freebsd_386.go | 1922 + .../x/sys/unix/zsyscall_freebsd_amd64.go | 1922 + .../x/sys/unix/zsyscall_freebsd_arm.go | 1922 + .../x/sys/unix/zsyscall_linux_386.go | 1994 + .../x/sys/unix/zsyscall_linux_amd64.go | 2187 + .../x/sys/unix/zsyscall_linux_arm.go | 2096 + .../x/sys/unix/zsyscall_linux_arm64.go | 2044 + .../x/sys/unix/zsyscall_linux_mips.go | 2152 + .../x/sys/unix/zsyscall_linux_mips64.go | 2135 + .../x/sys/unix/zsyscall_linux_mips64le.go | 2135 + .../x/sys/unix/zsyscall_linux_mipsle.go | 2152 + .../x/sys/unix/zsyscall_linux_ppc64.go | 2198 + .../x/sys/unix/zsyscall_linux_ppc64le.go | 2198 + .../x/sys/unix/zsyscall_linux_s390x.go | 1978 + .../x/sys/unix/zsyscall_linux_sparc64.go | 1833 + .../x/sys/unix/zsyscall_netbsd_386.go | 1384 + .../x/sys/unix/zsyscall_netbsd_amd64.go | 1384 + .../x/sys/unix/zsyscall_netbsd_arm.go | 1384 + .../x/sys/unix/zsyscall_openbsd_386.go | 1442 + .../x/sys/unix/zsyscall_openbsd_amd64.go | 1442 + .../x/sys/unix/zsyscall_openbsd_arm.go | 1442 + .../x/sys/unix/zsyscall_solaris_amd64.go | 1653 + .../x/sys/unix/zsysctl_openbsd_386.go | 270 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 436 + .../x/sys/unix/zsysnum_darwin_amd64.go | 436 + .../x/sys/unix/zsysnum_darwin_arm.go | 436 + .../x/sys/unix/zsysnum_darwin_arm64.go | 436 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 + .../x/sys/unix/zsysnum_freebsd_386.go | 353 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 353 + .../x/sys/unix/zsysnum_freebsd_arm.go | 353 + .../x/sys/unix/zsysnum_linux_386.go | 390 + .../x/sys/unix/zsysnum_linux_amd64.go | 342 + .../x/sys/unix/zsysnum_linux_arm.go | 362 + .../x/sys/unix/zsysnum_linux_arm64.go | 286 + .../x/sys/unix/zsysnum_linux_mips.go | 375 + .../x/sys/unix/zsysnum_linux_mips64.go | 335 + .../x/sys/unix/zsysnum_linux_mips64le.go | 335 + .../x/sys/unix/zsysnum_linux_mipsle.go | 375 + .../x/sys/unix/zsysnum_linux_ppc64.go | 370 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 370 + .../x/sys/unix/zsysnum_linux_s390x.go | 333 + .../x/sys/unix/zsysnum_linux_sparc64.go | 348 + .../x/sys/unix/zsysnum_netbsd_386.go | 274 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 207 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 207 + .../x/sys/unix/zsysnum_openbsd_arm.go | 213 + .../x/sys/unix/ztypes_darwin_386.go | 489 + .../x/sys/unix/ztypes_darwin_amd64.go | 499 + .../x/sys/unix/ztypes_darwin_arm.go | 490 + .../x/sys/unix/ztypes_darwin_arm64.go | 499 + .../x/sys/unix/ztypes_dragonfly_amd64.go | 486 + .../x/sys/unix/ztypes_freebsd_386.go | 553 + .../x/sys/unix/ztypes_freebsd_amd64.go | 556 + .../x/sys/unix/ztypes_freebsd_arm.go | 556 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 871 + .../x/sys/unix/ztypes_linux_amd64.go | 889 + .../golang.org/x/sys/unix/ztypes_linux_arm.go | 860 + .../x/sys/unix/ztypes_linux_arm64.go | 868 + .../x/sys/unix/ztypes_linux_mips.go | 865 + .../x/sys/unix/ztypes_linux_mips64.go | 870 + .../x/sys/unix/ztypes_linux_mips64le.go | 870 + .../x/sys/unix/ztypes_linux_mipsle.go | 865 + .../x/sys/unix/ztypes_linux_ppc64.go | 878 + .../x/sys/unix/ztypes_linux_ppc64le.go | 878 + .../x/sys/unix/ztypes_linux_s390x.go | 895 + .../x/sys/unix/ztypes_linux_sparc64.go | 664 + .../x/sys/unix/ztypes_netbsd_386.go | 439 + .../x/sys/unix/ztypes_netbsd_amd64.go | 446 + .../x/sys/unix/ztypes_netbsd_arm.go | 444 + .../x/sys/unix/ztypes_openbsd_386.go | 484 + .../x/sys/unix/ztypes_openbsd_amd64.go | 491 + .../x/sys/unix/ztypes_openbsd_arm.go | 477 + .../x/sys/unix/ztypes_solaris_amd64.go | 459 + vendor/golang.org/x/text/LICENSE | 27 + vendor/golang.org/x/text/PATENTS | 22 + .../x/text/encoding/charmap/charmap.go | 249 + .../x/text/encoding/charmap/tables.go | 7410 +++ vendor/golang.org/x/text/encoding/encoding.go | 335 + .../x/text/encoding/htmlindex/htmlindex.go | 86 + .../x/text/encoding/htmlindex/map.go | 105 + .../x/text/encoding/htmlindex/tables.go | 352 + .../internal/identifier/identifier.go | 81 + .../text/encoding/internal/identifier/mib.go | 1621 + .../x/text/encoding/internal/internal.go | 75 + .../x/text/encoding/japanese/all.go | 12 + .../x/text/encoding/japanese/eucjp.go | 225 + .../x/text/encoding/japanese/iso2022jp.go | 299 + .../x/text/encoding/japanese/shiftjis.go | 189 + .../x/text/encoding/japanese/tables.go | 26971 ++++++++++ .../x/text/encoding/korean/euckr.go | 177 + .../x/text/encoding/korean/tables.go | 34152 ++++++++++++ .../x/text/encoding/simplifiedchinese/all.go | 12 + .../x/text/encoding/simplifiedchinese/gbk.go | 269 + .../encoding/simplifiedchinese/hzgb2312.go | 245 + .../text/encoding/simplifiedchinese/tables.go | 43999 ++++++++++++++++ .../text/encoding/traditionalchinese/big5.go | 199 + .../encoding/traditionalchinese/tables.go | 37142 +++++++++++++ .../x/text/encoding/unicode/override.go | 82 + .../x/text/encoding/unicode/unicode.go | 434 + vendor/golang.org/x/text/internal/tag/tag.go | 100 + .../internal/utf8internal/utf8internal.go | 87 + vendor/golang.org/x/text/language/Makefile | 16 + vendor/golang.org/x/text/language/common.go | 16 + vendor/golang.org/x/text/language/coverage.go | 197 + vendor/golang.org/x/text/language/doc.go | 102 + vendor/golang.org/x/text/language/go1_1.go | 38 + vendor/golang.org/x/text/language/go1_2.go | 11 + vendor/golang.org/x/text/language/index.go | 783 + vendor/golang.org/x/text/language/language.go | 907 + vendor/golang.org/x/text/language/lookup.go | 396 + vendor/golang.org/x/text/language/match.go | 933 + vendor/golang.org/x/text/language/parse.go | 859 + vendor/golang.org/x/text/language/tables.go | 3686 ++ vendor/golang.org/x/text/language/tags.go | 143 + vendor/golang.org/x/text/runes/cond.go | 187 + vendor/golang.org/x/text/runes/runes.go | 355 + .../golang.org/x/text/transform/transform.go | 705 + vendor/gopkg.in/yaml.v2/LICENSE | 201 + vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 + vendor/gopkg.in/yaml.v2/README.md | 135 + vendor/gopkg.in/yaml.v2/apic.go | 742 + vendor/gopkg.in/yaml.v2/decode.go | 685 + vendor/gopkg.in/yaml.v2/emitterc.go | 1684 + vendor/gopkg.in/yaml.v2/encode.go | 306 + vendor/gopkg.in/yaml.v2/parserc.go | 1095 + vendor/gopkg.in/yaml.v2/readerc.go | 394 + vendor/gopkg.in/yaml.v2/resolve.go | 208 + vendor/gopkg.in/yaml.v2/scannerc.go | 2711 + vendor/gopkg.in/yaml.v2/sorter.go | 104 + vendor/gopkg.in/yaml.v2/writerc.go | 89 + vendor/gopkg.in/yaml.v2/yaml.go | 357 + vendor/gopkg.in/yaml.v2/yamlh.go | 716 + vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + vendor/vendor.json | 465 + 553 files changed, 347127 insertions(+), 30 deletions(-) create mode 100644 apihelper/apihelper_suite_test.go create mode 100644 apihelper/apihelper_test.go create mode 100644 apihelper/fakes/fake_cfapihelper.go create mode 100644 apihelper/test-data/empty-result.json create mode 100644 apihelper/test-data/orgmanagers-blankusername.json create mode 100644 apihelper/test-data/services.json create mode 100644 service-use_suite_test.go create mode 100644 service-use_test.go create mode 100644 vendor/code.cloudfoundry.org/cli/LICENSE create mode 100644 vendor/code.cloudfoundry.org/cli/NOTICE create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/cli_connection.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_app.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_apps.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_current_org.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_current_space.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_oauth_token.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_org.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_org_users.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_orgs.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_service.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_services.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_space.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_space_users.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/models/get_spaces.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/plugin.go create mode 100644 vendor/code.cloudfoundry.org/cli/plugin/plugin_shim.go create mode 100644 vendor/github.com/blang/semver/LICENSE create mode 100644 vendor/github.com/blang/semver/json.go create mode 100644 vendor/github.com/blang/semver/semver.go create mode 100644 vendor/github.com/blang/semver/sort.go create mode 100644 vendor/github.com/blang/semver/sql.go create mode 100644 vendor/github.com/cloudfoundry/cli/LICENSE create mode 100644 vendor/github.com/cloudfoundry/cli/NOTICE create mode 100644 vendor/github.com/cloudfoundry/cli/cf/app_constants.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_unix.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_win.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/access_token.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/api_config_refresher.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_data.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_repository.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/formatters/bools.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/formatters/bytes.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/formatters/memoryLimit.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/formatters/string.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/i18n/README-i18n.md create mode 100644 vendor/github.com/cloudfoundry/cli/cf/i18n/excluded.json create mode 100644 vendor/github.com/cloudfoundry/cli/cf/i18n/i18n.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/i18n/locale.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/minimum_api_versions.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/app_event.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/app_file.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/app_instance.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/application.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/buildpack.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/domain.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/environment.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/environment_variable.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/feature_flag.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/organization.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/plugin_repo.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/quota.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/role.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/route.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/route_summary.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/router_group.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/security_group.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_auth_token.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_binding.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_broker.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_instance.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_key.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_offering.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_plan.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/service_plan_visibility.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/space.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/space_quota.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/stack.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/user.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/models/user_provided_service.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/resources/i18n_resources.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/color.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/debug_printer.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/table.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/tee_printer.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/ui.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/ui_unix.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/terminal/ui_windows.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/trace/combined_printer.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/trace/logger_provider.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/trace/printer.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/trace/trace.go create mode 100644 vendor/github.com/cloudfoundry/cli/cf/trace/writer_printer.go create mode 100644 vendor/github.com/cloudfoundry/gofileutils/fileutils/LICENSE create mode 100644 vendor/github.com/cloudfoundry/gofileutils/fileutils/dir_utils.go create mode 100644 vendor/github.com/cloudfoundry/gofileutils/fileutils/file_utils.go create mode 100644 vendor/github.com/cloudfoundry/gofileutils/fileutils/temp_utils.go create mode 100644 vendor/github.com/fatih/color/LICENSE.md create mode 100644 vendor/github.com/fatih/color/color.go create mode 100644 vendor/github.com/fatih/color/doc.go create mode 100644 vendor/github.com/krujos/cfcurl/LICENSE create mode 100644 vendor/github.com/krujos/cfcurl/README.md create mode 100644 vendor/github.com/krujos/cfcurl/apps.json create mode 100644 vendor/github.com/krujos/cfcurl/cfcurl.go create mode 100644 vendor/github.com/krujos/cfcurl/domains.json create mode 100644 vendor/github.com/mattn/go-colorable/colorable_others.go create mode 100644 vendor/github.com/mattn/go-colorable/colorable_windows.go create mode 100644 vendor/github.com/mattn/go-isatty/doc.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_appengine.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_bsd.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_linux.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_solaris.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_windows.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/LICENSE create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/bundle/LICENSE create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/bundle/bundle.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/i18n.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/LICENSE create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/language.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/plural.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/translation/LICENSE create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/translation/template.go create mode 100644 vendor/github.com/nicksnyder/go-i18n/i18n/translation/translation.go create mode 100644 vendor/github.com/onsi/ginkgo/CHANGELOG.md create mode 100644 vendor/github.com/onsi/ginkgo/CONTRIBUTING.md create mode 100644 vendor/github.com/onsi/ginkgo/LICENSE create mode 100644 vendor/github.com/onsi/ginkgo/README.md create mode 100644 vendor/github.com/onsi/ginkgo/before_pr.sh create mode 100644 vendor/github.com/onsi/ginkgo/config/config.go create mode 100644 vendor/github.com/onsi/ginkgo/ginkgo_dsl.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/containernode/container_node.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/failer/failer.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/benchmarker.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/interfaces.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/measure_node.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/setup_nodes.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_after_suite_node.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_before_suite_node.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/aggregator.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/forwarding_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_unix.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_win.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/server.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_arm64.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_solaris.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec/spec.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec/specs.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec_iterator/parallel_spec_iterator.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec_iterator/serial_spec_iterator.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/spec_iterator/spec_iterator.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/specrunner/random_id.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/suite/suite.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/testingtproxy/testing_t_proxy.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go create mode 100644 vendor/github.com/onsi/ginkgo/internal/writer/writer.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/default_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/fake_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/console_logging.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/fake_stenographer.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/stenographer.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/LICENSE create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/README.md create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_others.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_windows.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/noncolorable.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/README.md create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/doc.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_appengine.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_bsd.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_linux.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_solaris.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_windows.go create mode 100644 vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go create mode 100644 vendor/github.com/onsi/ginkgo/types/code_location.go create mode 100644 vendor/github.com/onsi/ginkgo/types/synchronization.go create mode 100644 vendor/github.com/onsi/ginkgo/types/types.go create mode 100644 vendor/github.com/onsi/gomega/CHANGELOG.md create mode 100644 vendor/github.com/onsi/gomega/CONTRIBUTING.md create mode 100644 vendor/github.com/onsi/gomega/LICENSE create mode 100644 vendor/github.com/onsi/gomega/README.md create mode 100644 vendor/github.com/onsi/gomega/RELEASING.md create mode 100644 vendor/github.com/onsi/gomega/format/format.go create mode 100644 vendor/github.com/onsi/gomega/gomega_dsl.go create mode 100644 vendor/github.com/onsi/gomega/internal/assertion/assertion.go create mode 100644 vendor/github.com/onsi/gomega/internal/asyncassertion/async_assertion.go create mode 100644 vendor/github.com/onsi/gomega/internal/oraclematcher/oracle_matcher.go create mode 100644 vendor/github.com/onsi/gomega/internal/testingtsupport/testing_t_support.go create mode 100644 vendor/github.com/onsi/gomega/matchers.go create mode 100644 vendor/github.com/onsi/gomega/matchers/and.go create mode 100644 vendor/github.com/onsi/gomega/matchers/assignable_to_type_of_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/attributes_slice.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_a_directory.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_a_regular_file.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_closed_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_equivalent_to_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_false_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_identical_to.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_numerically_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_sent_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_temporally_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_true_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/consist_of.go create mode 100644 vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/contain_substring_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/equal_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_key_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_len_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_prefix_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/have_suffix_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/match_error_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/match_json_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/match_regexp_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/match_xml_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/not.go create mode 100644 vendor/github.com/onsi/gomega/matchers/or.go create mode 100644 vendor/github.com/onsi/gomega/matchers/panic_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/receive_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/succeed_matcher.go create mode 100644 vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraph.go create mode 100644 vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraphmatching.go create mode 100644 vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go create mode 100644 vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go create mode 100644 vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go create mode 100644 vendor/github.com/onsi/gomega/matchers/type_support.go create mode 100644 vendor/github.com/onsi/gomega/matchers/with_transform.go create mode 100644 vendor/github.com/onsi/gomega/types/types.go create mode 100644 vendor/golang.org/x/crypto/ssh/LICENSE create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/LICENSE create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/terminal.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_linux.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_windows.go create mode 100644 vendor/golang.org/x/net/LICENSE create mode 100644 vendor/golang.org/x/net/PATENTS create mode 100644 vendor/golang.org/x/net/html/atom/atom.go create mode 100644 vendor/golang.org/x/net/html/atom/table.go create mode 100644 vendor/golang.org/x/net/html/charset/charset.go create mode 100644 vendor/golang.org/x/net/html/const.go create mode 100644 vendor/golang.org/x/net/html/doc.go create mode 100644 vendor/golang.org/x/net/html/doctype.go create mode 100644 vendor/golang.org/x/net/html/entity.go create mode 100644 vendor/golang.org/x/net/html/escape.go create mode 100644 vendor/golang.org/x/net/html/foreign.go create mode 100644 vendor/golang.org/x/net/html/node.go create mode 100644 vendor/golang.org/x/net/html/parse.go create mode 100644 vendor/golang.org/x/net/html/render.go create mode 100644 vendor/golang.org/x/net/html/token.go create mode 100644 vendor/golang.org/x/sys/LICENSE create mode 100644 vendor/golang.org/x/sys/PATENTS create mode 100644 vendor/golang.org/x/sys/unix/README.md create mode 100644 vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100644 vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/constants.go create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_linux.go create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dirent.go create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/flock.go create mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/mkall.sh create mode 100644 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/golang.org/x/sys/unix/mksyscall.pl create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 vendor/golang.org/x/sys/unix/race.go create mode 100644 vendor/golang.org/x/sys/unix/race0.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100644 vendor/golang.org/x/sys/unix/str.go create mode 100644 vendor/golang.org/x/sys/unix/syscall.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100644 vendor/golang.org/x/sys/unix/timestruct.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100644 vendor/golang.org/x/text/LICENSE create mode 100644 vendor/golang.org/x/text/PATENTS create mode 100644 vendor/golang.org/x/text/encoding/charmap/charmap.go create mode 100644 vendor/golang.org/x/text/encoding/charmap/tables.go create mode 100644 vendor/golang.org/x/text/encoding/encoding.go create mode 100644 vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go create mode 100644 vendor/golang.org/x/text/encoding/htmlindex/map.go create mode 100644 vendor/golang.org/x/text/encoding/htmlindex/tables.go create mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/identifier.go create mode 100644 vendor/golang.org/x/text/encoding/internal/identifier/mib.go create mode 100644 vendor/golang.org/x/text/encoding/internal/internal.go create mode 100644 vendor/golang.org/x/text/encoding/japanese/all.go create mode 100644 vendor/golang.org/x/text/encoding/japanese/eucjp.go create mode 100644 vendor/golang.org/x/text/encoding/japanese/iso2022jp.go create mode 100644 vendor/golang.org/x/text/encoding/japanese/shiftjis.go create mode 100644 vendor/golang.org/x/text/encoding/japanese/tables.go create mode 100644 vendor/golang.org/x/text/encoding/korean/euckr.go create mode 100644 vendor/golang.org/x/text/encoding/korean/tables.go create mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/all.go create mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go create mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go create mode 100644 vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go create mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/big5.go create mode 100644 vendor/golang.org/x/text/encoding/traditionalchinese/tables.go create mode 100644 vendor/golang.org/x/text/encoding/unicode/override.go create mode 100644 vendor/golang.org/x/text/encoding/unicode/unicode.go create mode 100644 vendor/golang.org/x/text/internal/tag/tag.go create mode 100644 vendor/golang.org/x/text/internal/utf8internal/utf8internal.go create mode 100644 vendor/golang.org/x/text/language/Makefile create mode 100644 vendor/golang.org/x/text/language/common.go create mode 100644 vendor/golang.org/x/text/language/coverage.go create mode 100644 vendor/golang.org/x/text/language/doc.go create mode 100644 vendor/golang.org/x/text/language/go1_1.go create mode 100644 vendor/golang.org/x/text/language/go1_2.go create mode 100644 vendor/golang.org/x/text/language/index.go create mode 100644 vendor/golang.org/x/text/language/language.go create mode 100644 vendor/golang.org/x/text/language/lookup.go create mode 100644 vendor/golang.org/x/text/language/match.go create mode 100644 vendor/golang.org/x/text/language/parse.go create mode 100644 vendor/golang.org/x/text/language/tables.go create mode 100644 vendor/golang.org/x/text/language/tags.go create mode 100644 vendor/golang.org/x/text/runes/cond.go create mode 100644 vendor/golang.org/x/text/runes/runes.go create mode 100644 vendor/golang.org/x/text/transform/transform.go create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE.libyaml create mode 100644 vendor/gopkg.in/yaml.v2/README.md create mode 100644 vendor/gopkg.in/yaml.v2/apic.go create mode 100644 vendor/gopkg.in/yaml.v2/decode.go create mode 100644 vendor/gopkg.in/yaml.v2/emitterc.go create mode 100644 vendor/gopkg.in/yaml.v2/encode.go create mode 100644 vendor/gopkg.in/yaml.v2/parserc.go create mode 100644 vendor/gopkg.in/yaml.v2/readerc.go create mode 100644 vendor/gopkg.in/yaml.v2/resolve.go create mode 100644 vendor/gopkg.in/yaml.v2/scannerc.go create mode 100644 vendor/gopkg.in/yaml.v2/sorter.go create mode 100644 vendor/gopkg.in/yaml.v2/writerc.go create mode 100644 vendor/gopkg.in/yaml.v2/yaml.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlh.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlprivateh.go create mode 100644 vendor/vendor.json diff --git a/apihelper/apihelper.go b/apihelper/apihelper.go index cfe1c8d..d88cbcc 100644 --- a/apihelper/apihelper.go +++ b/apihelper/apihelper.go @@ -1,31 +1,38 @@ package apihelper import ( + "strconv" + "github.com/cloudfoundry/cli/plugin" "github.com/krujos/cfcurl" - "strconv" ) //CFAPIHelper to wrap cf curl results type CFAPIHelper interface { - GetServices(cli plugin.CliConnection) ([]Service, error) - GetServicePlans(cli plugin.CliConnection, plansURL string) ([]ServicePlan, error) - GetServiceInstances(cli plugin.CliConnection, serviceInstancesURL string) ([]ServiceInstance, error) - GetSpace(cli plugin.CliConnection, spaceURL string) (Space, error) - GetOrganization(cli plugin.CliConnection, organizationURL string) (Organization, error) - GetOrgManagers(cli plugin.CliConnection, orgManagersURL string) ([]OrgManager, error) + GetServices() ([]Service, error) + GetServicePlans(plansURL string) ([]ServicePlan, error) + GetServiceInstances(serviceInstancesURL string) ([]ServiceInstance, error) + GetSpace(spaceURL string) (Space, error) + GetOrganization(organizationURL string) (Organization, error) + GetOrgManagers(orgManagersURL string) ([]OrgManager, error) } //APIHelper implementation -type APIHelper struct{} +type APIHelper struct { + cli plugin.CliConnection +} + +func New(cli plugin.CliConnection) CFAPIHelper { + return &APIHelper{cli} +} //Function type to simplify processing paged results type process func(metadata map[string]interface{}, entity map[string]interface{}) interface{} //Base method to process paged results from API calls -func processPagedResults(cli plugin.CliConnection, url string, fn process) ([]interface{}, error) { +func (api *APIHelper) processPagedResults(url string, fn process) ([]interface{}, error) { - theJSON, err := cfcurl.Curl(cli, url) + theJSON, err := cfcurl.Curl(api.cli, url) if nil != err { return nil, err } @@ -34,7 +41,7 @@ func processPagedResults(cli plugin.CliConnection, url string, fn process) ([]in var objects []interface{} for i := 1; i <= pages; i++ { if 1 != i { - theJSON, err = cfcurl.Curl(cli, url+"?page="+strconv.Itoa(i)) + theJSON, err = cfcurl.Curl(api.cli, url+"?page="+strconv.Itoa(i)) } for _, o := range theJSON["resources"].([]interface{}) { theObj := o.(map[string]interface{}) @@ -56,8 +63,8 @@ type Service struct { } //GetServices returns a struct that represents critical fields in the JSON -func (api *APIHelper) GetServices(cli plugin.CliConnection) ([]Service, error) { - services, err := processPagedResults(cli, "/v2/services", func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { +func (api *APIHelper) GetServices() ([]Service, error) { + services, err := api.processPagedResults("/v2/services", func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { return Service{ Label: entity["label"].(string), URL: metadata["url"].(string), @@ -85,8 +92,8 @@ type ServicePlan struct { } //GetServices returns a struct that represents critical fields in the JSON -func (api *APIHelper) GetServicePlans(cli plugin.CliConnection, plansURL string) ([]ServicePlan, error) { - serviceplans, err := processPagedResults(cli, plansURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { +func (api *APIHelper) GetServicePlans(plansURL string) ([]ServicePlan, error) { + serviceplans, err := api.processPagedResults(plansURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { return ServicePlan{ Name: entity["name"].(string), URL: metadata["url"].(string), @@ -117,8 +124,8 @@ type ServiceInstance struct { } //GetServiceInstances returns a struct that represents critical fields in the JSON -func (api *APIHelper) GetServiceInstances(cli plugin.CliConnection, serviceInstancesURL string) ([]ServiceInstance, error) { - serviceinstances, err := processPagedResults(cli, serviceInstancesURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { +func (api *APIHelper) GetServiceInstances(serviceInstancesURL string) ([]ServiceInstance, error) { + serviceinstances, err := api.processPagedResults(serviceInstancesURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { return ServiceInstance{ Name: entity["name"].(string), URL: metadata["url"].(string), @@ -148,8 +155,8 @@ type Space struct { } //GetSpace returns a struct that represents critical fields in the JSON -func (api *APIHelper) GetSpace(cli plugin.CliConnection, spaceURL string) (Space, error) { - theJSON, err := cfcurl.Curl(cli, spaceURL) +func (api *APIHelper) GetSpace(spaceURL string) (Space, error) { + theJSON, err := cfcurl.Curl(api.cli, spaceURL) if nil != err { return Space{}, err } @@ -173,8 +180,8 @@ type Organization struct { } //GetOrganization returns a struct that represents critical fields in the JSON -func (api *APIHelper) GetOrganization(cli plugin.CliConnection, organizationURL string) (Organization, error) { - theJSON, err := cfcurl.Curl(cli, organizationURL) +func (api *APIHelper) GetOrganization(organizationURL string) (Organization, error) { + theJSON, err := cfcurl.Curl(api.cli, organizationURL) if nil != err { return Organization{}, err } @@ -196,8 +203,8 @@ type OrgManager struct { } //GetOrgManagers returns critical fields from the returned JSON -func (api *APIHelper) GetOrgManagers(cli plugin.CliConnection, orgManagersURL string) ([]OrgManager, error) { - orgmanagers, err := processPagedResults(cli, orgManagersURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { +func (api *APIHelper) GetOrgManagers(orgManagersURL string) ([]OrgManager, error) { + orgmanagers, err := api.processPagedResults(orgManagersURL, func(metadata map[string]interface{}, entity map[string]interface{}) interface{} { username, _ := entity["username"].(string) return OrgManager{ UserName: username, diff --git a/apihelper/apihelper_suite_test.go b/apihelper/apihelper_suite_test.go new file mode 100644 index 0000000..53c48b8 --- /dev/null +++ b/apihelper/apihelper_suite_test.go @@ -0,0 +1,13 @@ +package apihelper_test + +import ( + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + "testing" +) + +func TestApihelper(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Apihelper Suite") +} diff --git a/apihelper/apihelper_test.go b/apihelper/apihelper_test.go new file mode 100644 index 0000000..2556afa --- /dev/null +++ b/apihelper/apihelper_test.go @@ -0,0 +1,63 @@ +package apihelper + +import ( + "bufio" + "os" + + "github.com/cloudfoundry/cli/plugin/pluginfakes" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func slurp(filename string) []string { + var b []string + file, _ := os.Open(filename) + defer file.Close() + scanner := bufio.NewScanner(file) + for scanner.Scan() { + b = append(b, scanner.Text()) + } + return b +} + +var _ = Describe("UsageReport", func() { + var api CFAPIHelper + var fakeCliConnection *pluginfakes.FakeCliConnection + + BeforeEach(func() { + fakeCliConnection = &pluginfakes.FakeCliConnection{} + api = New(fakeCliConnection) + }) + + Describe("Get services", func() { + var servicesJSON []string + + BeforeEach(func() { + servicesJSON = slurp("test-data/services.json") + }) + + It("should return two services", func() { + fakeCliConnection.CliCommandWithoutTerminalOutputReturns(servicesJSON, nil) + services, _ := api.GetServices() + Expect(len(services)).To(Equal(2)) + }) + }) + + Describe("Get Org Managers", func() { + It("should not blow up with empty result", func() { + var emptyResultJSON = slurp("test-data/empty-result.json") + fakeCliConnection.CliCommandWithoutTerminalOutputReturns(emptyResultJSON, nil) + orgManagers, _ := api.GetOrgManagers("/v2/organization/1234/managers") + Expect(len(orgManagers)).To(Equal(0)) + }) + + It("should not blow up with empty username", func() { + var emptyUserNameResultJSON = slurp("test-data/orgmanagers-blankusername.json") + fakeCliConnection.CliCommandWithoutTerminalOutputReturns(emptyUserNameResultJSON, nil) + orgManagers, _ := api.GetOrgManagers("/v2/organization/1234/managers") + Expect(len(orgManagers)).To(Equal(1)) + Expect(orgManagers[0].UserName).To(BeEmpty()) + }) + }) +}) diff --git a/apihelper/fakes/fake_cfapihelper.go b/apihelper/fakes/fake_cfapihelper.go new file mode 100644 index 0000000..e3ac4c5 --- /dev/null +++ b/apihelper/fakes/fake_cfapihelper.go @@ -0,0 +1,423 @@ +// Code generated by counterfeiter. DO NOT EDIT. +package fakes + +import ( + "sync" + + "github.com/cdelashmutt-pivotal/service-use/apihelper" +) + +type FakeCFAPIHelper struct { + GetServicesStub func() ([]apihelper.Service, error) + getServicesMutex sync.RWMutex + getServicesArgsForCall []struct{} + getServicesReturns struct { + result1 []apihelper.Service + result2 error + } + getServicesReturnsOnCall map[int]struct { + result1 []apihelper.Service + result2 error + } + GetServicePlansStub func(plansURL string) ([]apihelper.ServicePlan, error) + getServicePlansMutex sync.RWMutex + getServicePlansArgsForCall []struct { + plansURL string + } + getServicePlansReturns struct { + result1 []apihelper.ServicePlan + result2 error + } + getServicePlansReturnsOnCall map[int]struct { + result1 []apihelper.ServicePlan + result2 error + } + GetServiceInstancesStub func(serviceInstancesURL string) ([]apihelper.ServiceInstance, error) + getServiceInstancesMutex sync.RWMutex + getServiceInstancesArgsForCall []struct { + serviceInstancesURL string + } + getServiceInstancesReturns struct { + result1 []apihelper.ServiceInstance + result2 error + } + getServiceInstancesReturnsOnCall map[int]struct { + result1 []apihelper.ServiceInstance + result2 error + } + GetSpaceStub func(spaceURL string) (apihelper.Space, error) + getSpaceMutex sync.RWMutex + getSpaceArgsForCall []struct { + spaceURL string + } + getSpaceReturns struct { + result1 apihelper.Space + result2 error + } + getSpaceReturnsOnCall map[int]struct { + result1 apihelper.Space + result2 error + } + GetOrganizationStub func(organizationURL string) (apihelper.Organization, error) + getOrganizationMutex sync.RWMutex + getOrganizationArgsForCall []struct { + organizationURL string + } + getOrganizationReturns struct { + result1 apihelper.Organization + result2 error + } + getOrganizationReturnsOnCall map[int]struct { + result1 apihelper.Organization + result2 error + } + GetOrgManagersStub func(orgManagersURL string) ([]apihelper.OrgManager, error) + getOrgManagersMutex sync.RWMutex + getOrgManagersArgsForCall []struct { + orgManagersURL string + } + getOrgManagersReturns struct { + result1 []apihelper.OrgManager + result2 error + } + getOrgManagersReturnsOnCall map[int]struct { + result1 []apihelper.OrgManager + result2 error + } + invocations map[string][][]interface{} + invocationsMutex sync.RWMutex +} + +func (fake *FakeCFAPIHelper) GetServices() ([]apihelper.Service, error) { + fake.getServicesMutex.Lock() + ret, specificReturn := fake.getServicesReturnsOnCall[len(fake.getServicesArgsForCall)] + fake.getServicesArgsForCall = append(fake.getServicesArgsForCall, struct{}{}) + fake.recordInvocation("GetServices", []interface{}{}) + fake.getServicesMutex.Unlock() + if fake.GetServicesStub != nil { + return fake.GetServicesStub() + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getServicesReturns.result1, fake.getServicesReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetServicesCallCount() int { + fake.getServicesMutex.RLock() + defer fake.getServicesMutex.RUnlock() + return len(fake.getServicesArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetServicesReturns(result1 []apihelper.Service, result2 error) { + fake.GetServicesStub = nil + fake.getServicesReturns = struct { + result1 []apihelper.Service + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetServicesReturnsOnCall(i int, result1 []apihelper.Service, result2 error) { + fake.GetServicesStub = nil + if fake.getServicesReturnsOnCall == nil { + fake.getServicesReturnsOnCall = make(map[int]struct { + result1 []apihelper.Service + result2 error + }) + } + fake.getServicesReturnsOnCall[i] = struct { + result1 []apihelper.Service + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetServicePlans(plansURL string) ([]apihelper.ServicePlan, error) { + fake.getServicePlansMutex.Lock() + ret, specificReturn := fake.getServicePlansReturnsOnCall[len(fake.getServicePlansArgsForCall)] + fake.getServicePlansArgsForCall = append(fake.getServicePlansArgsForCall, struct { + plansURL string + }{plansURL}) + fake.recordInvocation("GetServicePlans", []interface{}{plansURL}) + fake.getServicePlansMutex.Unlock() + if fake.GetServicePlansStub != nil { + return fake.GetServicePlansStub(plansURL) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getServicePlansReturns.result1, fake.getServicePlansReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetServicePlansCallCount() int { + fake.getServicePlansMutex.RLock() + defer fake.getServicePlansMutex.RUnlock() + return len(fake.getServicePlansArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetServicePlansArgsForCall(i int) string { + fake.getServicePlansMutex.RLock() + defer fake.getServicePlansMutex.RUnlock() + return fake.getServicePlansArgsForCall[i].plansURL +} + +func (fake *FakeCFAPIHelper) GetServicePlansReturns(result1 []apihelper.ServicePlan, result2 error) { + fake.GetServicePlansStub = nil + fake.getServicePlansReturns = struct { + result1 []apihelper.ServicePlan + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetServicePlansReturnsOnCall(i int, result1 []apihelper.ServicePlan, result2 error) { + fake.GetServicePlansStub = nil + if fake.getServicePlansReturnsOnCall == nil { + fake.getServicePlansReturnsOnCall = make(map[int]struct { + result1 []apihelper.ServicePlan + result2 error + }) + } + fake.getServicePlansReturnsOnCall[i] = struct { + result1 []apihelper.ServicePlan + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetServiceInstances(serviceInstancesURL string) ([]apihelper.ServiceInstance, error) { + fake.getServiceInstancesMutex.Lock() + ret, specificReturn := fake.getServiceInstancesReturnsOnCall[len(fake.getServiceInstancesArgsForCall)] + fake.getServiceInstancesArgsForCall = append(fake.getServiceInstancesArgsForCall, struct { + serviceInstancesURL string + }{serviceInstancesURL}) + fake.recordInvocation("GetServiceInstances", []interface{}{serviceInstancesURL}) + fake.getServiceInstancesMutex.Unlock() + if fake.GetServiceInstancesStub != nil { + return fake.GetServiceInstancesStub(serviceInstancesURL) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getServiceInstancesReturns.result1, fake.getServiceInstancesReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetServiceInstancesCallCount() int { + fake.getServiceInstancesMutex.RLock() + defer fake.getServiceInstancesMutex.RUnlock() + return len(fake.getServiceInstancesArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetServiceInstancesArgsForCall(i int) string { + fake.getServiceInstancesMutex.RLock() + defer fake.getServiceInstancesMutex.RUnlock() + return fake.getServiceInstancesArgsForCall[i].serviceInstancesURL +} + +func (fake *FakeCFAPIHelper) GetServiceInstancesReturns(result1 []apihelper.ServiceInstance, result2 error) { + fake.GetServiceInstancesStub = nil + fake.getServiceInstancesReturns = struct { + result1 []apihelper.ServiceInstance + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetServiceInstancesReturnsOnCall(i int, result1 []apihelper.ServiceInstance, result2 error) { + fake.GetServiceInstancesStub = nil + if fake.getServiceInstancesReturnsOnCall == nil { + fake.getServiceInstancesReturnsOnCall = make(map[int]struct { + result1 []apihelper.ServiceInstance + result2 error + }) + } + fake.getServiceInstancesReturnsOnCall[i] = struct { + result1 []apihelper.ServiceInstance + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetSpace(spaceURL string) (apihelper.Space, error) { + fake.getSpaceMutex.Lock() + ret, specificReturn := fake.getSpaceReturnsOnCall[len(fake.getSpaceArgsForCall)] + fake.getSpaceArgsForCall = append(fake.getSpaceArgsForCall, struct { + spaceURL string + }{spaceURL}) + fake.recordInvocation("GetSpace", []interface{}{spaceURL}) + fake.getSpaceMutex.Unlock() + if fake.GetSpaceStub != nil { + return fake.GetSpaceStub(spaceURL) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getSpaceReturns.result1, fake.getSpaceReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetSpaceCallCount() int { + fake.getSpaceMutex.RLock() + defer fake.getSpaceMutex.RUnlock() + return len(fake.getSpaceArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetSpaceArgsForCall(i int) string { + fake.getSpaceMutex.RLock() + defer fake.getSpaceMutex.RUnlock() + return fake.getSpaceArgsForCall[i].spaceURL +} + +func (fake *FakeCFAPIHelper) GetSpaceReturns(result1 apihelper.Space, result2 error) { + fake.GetSpaceStub = nil + fake.getSpaceReturns = struct { + result1 apihelper.Space + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetSpaceReturnsOnCall(i int, result1 apihelper.Space, result2 error) { + fake.GetSpaceStub = nil + if fake.getSpaceReturnsOnCall == nil { + fake.getSpaceReturnsOnCall = make(map[int]struct { + result1 apihelper.Space + result2 error + }) + } + fake.getSpaceReturnsOnCall[i] = struct { + result1 apihelper.Space + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetOrganization(organizationURL string) (apihelper.Organization, error) { + fake.getOrganizationMutex.Lock() + ret, specificReturn := fake.getOrganizationReturnsOnCall[len(fake.getOrganizationArgsForCall)] + fake.getOrganizationArgsForCall = append(fake.getOrganizationArgsForCall, struct { + organizationURL string + }{organizationURL}) + fake.recordInvocation("GetOrganization", []interface{}{organizationURL}) + fake.getOrganizationMutex.Unlock() + if fake.GetOrganizationStub != nil { + return fake.GetOrganizationStub(organizationURL) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getOrganizationReturns.result1, fake.getOrganizationReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetOrganizationCallCount() int { + fake.getOrganizationMutex.RLock() + defer fake.getOrganizationMutex.RUnlock() + return len(fake.getOrganizationArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetOrganizationArgsForCall(i int) string { + fake.getOrganizationMutex.RLock() + defer fake.getOrganizationMutex.RUnlock() + return fake.getOrganizationArgsForCall[i].organizationURL +} + +func (fake *FakeCFAPIHelper) GetOrganizationReturns(result1 apihelper.Organization, result2 error) { + fake.GetOrganizationStub = nil + fake.getOrganizationReturns = struct { + result1 apihelper.Organization + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetOrganizationReturnsOnCall(i int, result1 apihelper.Organization, result2 error) { + fake.GetOrganizationStub = nil + if fake.getOrganizationReturnsOnCall == nil { + fake.getOrganizationReturnsOnCall = make(map[int]struct { + result1 apihelper.Organization + result2 error + }) + } + fake.getOrganizationReturnsOnCall[i] = struct { + result1 apihelper.Organization + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetOrgManagers(orgManagersURL string) ([]apihelper.OrgManager, error) { + fake.getOrgManagersMutex.Lock() + ret, specificReturn := fake.getOrgManagersReturnsOnCall[len(fake.getOrgManagersArgsForCall)] + fake.getOrgManagersArgsForCall = append(fake.getOrgManagersArgsForCall, struct { + orgManagersURL string + }{orgManagersURL}) + fake.recordInvocation("GetOrgManagers", []interface{}{orgManagersURL}) + fake.getOrgManagersMutex.Unlock() + if fake.GetOrgManagersStub != nil { + return fake.GetOrgManagersStub(orgManagersURL) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fake.getOrgManagersReturns.result1, fake.getOrgManagersReturns.result2 +} + +func (fake *FakeCFAPIHelper) GetOrgManagersCallCount() int { + fake.getOrgManagersMutex.RLock() + defer fake.getOrgManagersMutex.RUnlock() + return len(fake.getOrgManagersArgsForCall) +} + +func (fake *FakeCFAPIHelper) GetOrgManagersArgsForCall(i int) string { + fake.getOrgManagersMutex.RLock() + defer fake.getOrgManagersMutex.RUnlock() + return fake.getOrgManagersArgsForCall[i].orgManagersURL +} + +func (fake *FakeCFAPIHelper) GetOrgManagersReturns(result1 []apihelper.OrgManager, result2 error) { + fake.GetOrgManagersStub = nil + fake.getOrgManagersReturns = struct { + result1 []apihelper.OrgManager + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) GetOrgManagersReturnsOnCall(i int, result1 []apihelper.OrgManager, result2 error) { + fake.GetOrgManagersStub = nil + if fake.getOrgManagersReturnsOnCall == nil { + fake.getOrgManagersReturnsOnCall = make(map[int]struct { + result1 []apihelper.OrgManager + result2 error + }) + } + fake.getOrgManagersReturnsOnCall[i] = struct { + result1 []apihelper.OrgManager + result2 error + }{result1, result2} +} + +func (fake *FakeCFAPIHelper) Invocations() map[string][][]interface{} { + fake.invocationsMutex.RLock() + defer fake.invocationsMutex.RUnlock() + fake.getServicesMutex.RLock() + defer fake.getServicesMutex.RUnlock() + fake.getServicePlansMutex.RLock() + defer fake.getServicePlansMutex.RUnlock() + fake.getServiceInstancesMutex.RLock() + defer fake.getServiceInstancesMutex.RUnlock() + fake.getSpaceMutex.RLock() + defer fake.getSpaceMutex.RUnlock() + fake.getOrganizationMutex.RLock() + defer fake.getOrganizationMutex.RUnlock() + fake.getOrgManagersMutex.RLock() + defer fake.getOrgManagersMutex.RUnlock() + copiedInvocations := map[string][][]interface{}{} + for key, value := range fake.invocations { + copiedInvocations[key] = value + } + return copiedInvocations +} + +func (fake *FakeCFAPIHelper) recordInvocation(key string, args []interface{}) { + fake.invocationsMutex.Lock() + defer fake.invocationsMutex.Unlock() + if fake.invocations == nil { + fake.invocations = map[string][][]interface{}{} + } + if fake.invocations[key] == nil { + fake.invocations[key] = [][]interface{}{} + } + fake.invocations[key] = append(fake.invocations[key], args) +} + +var _ apihelper.CFAPIHelper = new(FakeCFAPIHelper) diff --git a/apihelper/test-data/empty-result.json b/apihelper/test-data/empty-result.json new file mode 100644 index 0000000..ad8160e --- /dev/null +++ b/apihelper/test-data/empty-result.json @@ -0,0 +1,7 @@ +{ + "total_results": 0, + "total_pages": 1, + "prev_url": null, + "next_url": null, + "resources": [] +} diff --git a/apihelper/test-data/orgmanagers-blankusername.json b/apihelper/test-data/orgmanagers-blankusername.json new file mode 100644 index 0000000..74c4bbd --- /dev/null +++ b/apihelper/test-data/orgmanagers-blankusername.json @@ -0,0 +1,29 @@ +{ + "total_results": 1, + "total_pages": 1, + "prev_url": null, + "next_url": null, + "resources": [ + { + "metadata": { + "guid": "abbf734e-eebc-4411-905b-7ea57d96d9af", + "url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af", + "created_at": "2017-09-21T07:44:40Z", + "updated_at": "2017-09-21T07:44:40Z" + }, + "entity": { + "admin": false, + "active": true, + "default_space_guid": null, + "username": "", + "spaces_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/spaces", + "organizations_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/organizations", + "managed_organizations_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/managed_organizations", + "billing_managed_organizations_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/billing_managed_organizations", + "audited_organizations_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/audited_organizations", + "managed_spaces_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/managed_spaces", + "audited_spaces_url": "/v2/users/abbf734e-eebc-4411-905b-7ea57d96d9af/audited_spaces" + } + } + ] +} diff --git a/apihelper/test-data/services.json b/apihelper/test-data/services.json new file mode 100644 index 0000000..8a8f9bd --- /dev/null +++ b/apihelper/test-data/services.json @@ -0,0 +1,74 @@ +{ + "total_results": 2, + "total_pages": 1, + "prev_url": null, + "next_url": null, + "resources": [ + { + "metadata": { + "guid": "fe12bdcf-bb3f-41e1-b027-ef27beb4b1a0", + "url": "/v2/services/fe12bdcf-bb3f-41e1-b027-ef27beb4b1a0", + "created_at": "2017-09-21T08:00:11Z", + "updated_at": "2018-01-28T03:06:24Z" + }, + "entity": { + "label": "app-autoscaler", + "provider": null, + "url": null, + "description": "Scales bound applications in response to load", + "long_description": null, + "version": null, + "info_url": null, + "active": true, + "bindable": true, + "unique_id": "6c1d35ca-b696-4e74-a9b9-4a45aab66e7d", + "extra": "{\"displayName\":\"App Autoscaler\",\"documentationUrl\":\"https://docs.pivotal.io/pivotalcf/1-11/appsman-services/autoscaler/using-autoscaler.html\",\"longDescription\":\"Instances of this service periodically examine the load of bound applications and scale them in response to load. Apps are not actually scaled until scaling parameters are set on the service dashboard after binding. Dashboard also supports scheduling one-time and recurring scaling events for an app.\",\"providerDisplayName\":\"Pivotal\",\"supportUrl\":\"\"}", + "tags": [ + "cfapi", + "runtime", + "autoscaling" + ], + "requires": [], + "documentation_url": null, + "service_broker_guid": "3396db5c-ca87-47aa-8366-e8c86f1ed1ca", + "plan_updateable": true, + "service_plans_url": "/v2/services/fe12bdcf-bb3f-41e1-b027-ef27beb4b1a0/service_plans" + } + }, + { + "metadata": { + "guid": "23e66b50-9c20-4d05-b457-e31745fbce16", + "url": "/v2/services/23e66b50-9c20-4d05-b457-e31745fbce16", + "created_at": "2017-09-21T08:28:45Z", + "updated_at": "2018-01-26T17:15:14Z" + }, + "entity": { + "label": "p-rabbitmq", + "provider": null, + "url": null, + "description": "RabbitMQ service to provide shared instances of this high-performance multi-protocol messaging broker.", + "long_description": null, + "version": null, + "info_url": null, + "active": true, + "bindable": true, + "unique_id": "163b47c6-a2f3-43b1-97f7-b83b37ec8ad3", + "extra": "{\"displayName\":\"RabbitMQ\",\"longDescription\":\"RabbitMQ service to provide shared instances of this high-performance multi-protocol messaging broker.\",\"providerDisplayName\":\"Pivotal\",\"documentationUrl\":\"http://docs.pivotal.io\",\"supportUrl\":\"https://support.pivotal.io\"}", + "tags": [ + "rabbitmq", + "messaging", + "message-queue", + "amqp", + "stomp", + "mqtt", + "pivotal" + ], + "requires": [], + "documentation_url": null, + "service_broker_guid": "b4c227e8-db1f-4852-bf8d-1bf94448da9a", + "plan_updateable": false, + "service_plans_url": "/v2/services/23e66b50-9c20-4d05-b457-e31745fbce16/service_plans" + } + } + ] +} diff --git a/service-use.go b/service-use.go index 534b5dd..03ac170 100644 --- a/service-use.go +++ b/service-use.go @@ -142,7 +142,7 @@ type service struct { } func (cmd *ServiceUsePlugin) getServices() ([]service, error) { - rawServices, err := cmd.apiHelper.GetServices(cmd.cli) + rawServices, err := cmd.apiHelper.GetServices() if nil != err { return nil, err } @@ -170,7 +170,7 @@ type serviceplan struct { } func (cmd *ServiceUsePlugin) getServicePlans(servicePlansURL string) ([]serviceplan, error) { - rawServicePlans, err := cmd.apiHelper.GetServicePlans(cmd.cli, servicePlansURL) + rawServicePlans, err := cmd.apiHelper.GetServicePlans(servicePlansURL) if nil != err { return nil, err } @@ -197,7 +197,7 @@ type serviceinstance struct { } func (cmd *ServiceUsePlugin) getServiceInstances(serviceInstancesURL string) ([]serviceinstance, error) { - rawServiceInstances, err := cmd.apiHelper.GetServiceInstances(cmd.cli, serviceInstancesURL) + rawServiceInstances, err := cmd.apiHelper.GetServiceInstances(serviceInstancesURL) if nil != err { return nil, err } @@ -226,7 +226,7 @@ type space struct { func (cmd *ServiceUsePlugin) getSpace(spaceURL string) (space, error) { - rawSpace, err := cmd.apiHelper.GetSpace(cmd.cli, spaceURL) + rawSpace, err := cmd.apiHelper.GetSpace(spaceURL) if nil != err { return space{}, err } @@ -259,7 +259,7 @@ func (cmd *ServiceUsePlugin) getOrganization(organizationURL string) (organizati } func (cmd *ServiceUsePlugin) actualGetOrganization(organizationURL string) (organization, error) { - rawOrg, err := cmd.apiHelper.GetOrganization(cmd.cli, organizationURL) + rawOrg, err := cmd.apiHelper.GetOrganization(organizationURL) if nil != err { return organization{}, err } @@ -274,7 +274,7 @@ func (cmd *ServiceUsePlugin) actualGetOrganization(organizationURL string) (orga } func (cmd *ServiceUsePlugin) getOrgManagers(orgManagersURL string) ([]string, error) { - rawOrgManagers, err := cmd.apiHelper.GetOrgManagers(cmd.cli, orgManagersURL) + rawOrgManagers, err := cmd.apiHelper.GetOrgManagers(orgManagersURL) if nil != err { return nil, err } @@ -290,8 +290,8 @@ func (cmd *ServiceUsePlugin) getOrgManagers(orgManagersURL string) ([]string, er func (cmd *ServiceUsePlugin) Run(cli plugin.CliConnection, args []string) { if args[0] == "service-use" { - cmd.apiHelper = &apihelper.APIHelper{} cmd.cli = cli + cmd.apiHelper = apihelper.New(cli) cmd.ServiceUseCommand(args) } } diff --git a/service-use_suite_test.go b/service-use_suite_test.go new file mode 100644 index 0000000..e52b4fd --- /dev/null +++ b/service-use_suite_test.go @@ -0,0 +1,13 @@ +package main + +import ( + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + "testing" +) + +func TestServiceUsePlugin(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "ServiceUsePlugin Suite") +} diff --git a/service-use_test.go b/service-use_test.go new file mode 100644 index 0000000..8adffee --- /dev/null +++ b/service-use_test.go @@ -0,0 +1,39 @@ +package main + +import ( + "github.com/cdelashmutt-pivotal/service-use/apihelper" + "github.com/cdelashmutt-pivotal/service-use/apihelper/fakes" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +var _ = Describe("ServiceUse", func() { + var fakeAPI *fakes.FakeCFAPIHelper + var cmd *ServiceUsePlugin + + BeforeEach(func() { + fakeAPI = &fakes.FakeCFAPIHelper{} + cmd = &ServiceUsePlugin{apiHelper: fakeAPI} + }) + + Describe("Get services composes the values correctly", func() { + service := apihelper.Service{ + URL: "/v2/services/1234", + Label: "FakeService", + ServicePlansURL: "/v2/services/1234/serviceplans", + } + + BeforeEach(func() { + fakeAPI.GetServicesReturns([]apihelper.Service{service}, nil) + }) + + It("should return a service", func() { + services, err := cmd.getServices() + Expect(err).To(BeNil()) + Expect(len(services)).To(Equal(1)) + }) + + }) + +}) diff --git a/vendor/code.cloudfoundry.org/cli/LICENSE b/vendor/code.cloudfoundry.org/cli/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/code.cloudfoundry.org/cli/NOTICE b/vendor/code.cloudfoundry.org/cli/NOTICE new file mode 100644 index 0000000..4e6a3b3 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/NOTICE @@ -0,0 +1,11 @@ +Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. + +This project contains software that is Copyright (c) 2013-2015 Pivotal Software, Inc. + +This project is licensed to you under the Apache License, Version 2.0 (the "License"). + +You may not use this project except in compliance with the License. + +This project may include a number of subcomponents with separate copyright notices +and license terms. Your use of these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. diff --git a/vendor/code.cloudfoundry.org/cli/plugin/cli_connection.go b/vendor/code.cloudfoundry.org/cli/plugin/cli_connection.go new file mode 100644 index 0000000..4964b1e --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/cli_connection.go @@ -0,0 +1,383 @@ +package plugin + +import ( + "errors" + "fmt" + "net" + "net/rpc" + "os" + "time" + + "code.cloudfoundry.org/cli/plugin/models" +) + +type cliConnection struct { + cliServerPort string +} + +func NewCliConnection(cliServerPort string) *cliConnection { + return &cliConnection{ + cliServerPort: cliServerPort, + } +} + +func (c *cliConnection) withClientDo(f func(client *rpc.Client) error) error { + client, err := rpc.Dial("tcp", "127.0.0.1:"+c.cliServerPort) + if err != nil { + return err + } + defer client.Close() + + return f(client) +} + +func (c *cliConnection) sendPluginMetadataToCliServer(metadata PluginMetadata) { + var success bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.SetPluginMetadata", metadata, &success) + }) + + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + if !success { + os.Exit(1) + } + + os.Exit(0) +} + +func (c *cliConnection) isMinCliVersion(version string) bool { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.IsMinCliVersion", version, &result) + }) + + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + return result +} + +func (c *cliConnection) CliCommandWithoutTerminalOutput(args ...string) ([]string, error) { + return c.callCliCommand(true, args...) +} + +func (c *cliConnection) CliCommand(args ...string) ([]string, error) { + return c.callCliCommand(false, args...) +} + +func (c *cliConnection) callCliCommand(silently bool, args ...string) ([]string, error) { + var ( + success bool + cmdOutput []string + callCoreCommandErr error + getOutputAndResetErr error + disableTerminalOutputErr error + ) + + c.withClientDo(func(client *rpc.Client) error { + disableTerminalOutputErr = client.Call("CliRpcCmd.DisableTerminalOutput", silently, &success) + callCoreCommandErr = client.Call("CliRpcCmd.CallCoreCommand", args, &success) + getOutputAndResetErr = client.Call("CliRpcCmd.GetOutputAndReset", success, &cmdOutput) + + return nil + }) + + if disableTerminalOutputErr != nil { + return []string{}, disableTerminalOutputErr + } + + if callCoreCommandErr != nil { + return []string{}, callCoreCommandErr + } + + if !success { + return []string{}, errors.New("Error executing cli core command") + } + + if getOutputAndResetErr != nil { + return []string{}, errors.New("something completely unexpected happened") + } + + return cmdOutput, nil +} + +func (c *cliConnection) pingCLI() { + //call back to cf saying we have been setup + var connErr error + var conn net.Conn + for i := 0; i < 5; i++ { + conn, connErr = net.Dial("tcp", "127.0.0.1:"+c.cliServerPort) + if connErr != nil { + time.Sleep(200 * time.Millisecond) + } else { + conn.Close() + break + } + } + if connErr != nil { + fmt.Println(connErr) + os.Exit(1) + } +} + +func (c *cliConnection) GetCurrentOrg() (plugin_models.Organization, error) { + var result plugin_models.Organization + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetCurrentOrg", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetCurrentSpace() (plugin_models.Space, error) { + var result plugin_models.Space + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetCurrentSpace", "", &result) + }) + + return result, err +} + +func (c *cliConnection) Username() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.Username", "", &result) + }) + + return result, err +} + +func (c *cliConnection) UserGuid() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.UserGuid", "", &result) + }) + + return result, err +} + +func (c *cliConnection) UserEmail() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.UserEmail", "", &result) + }) + + return result, err +} + +func (c *cliConnection) IsSSLDisabled() (bool, error) { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.IsSSLDisabled", "", &result) + }) + + return result, err +} + +func (c *cliConnection) IsLoggedIn() (bool, error) { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.IsLoggedIn", "", &result) + }) + + return result, err +} + +func (c *cliConnection) HasOrganization() (bool, error) { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.HasOrganization", "", &result) + }) + + return result, err +} + +func (c *cliConnection) HasSpace() (bool, error) { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.HasSpace", "", &result) + }) + + return result, err +} + +func (c *cliConnection) ApiEndpoint() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.ApiEndpoint", "", &result) + }) + + return result, err +} + +func (c *cliConnection) HasAPIEndpoint() (bool, error) { + var result bool + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.HasAPIEndpoint", "", &result) + }) + + return result, err +} + +func (c *cliConnection) ApiVersion() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.ApiVersion", "", &result) + }) + + return result, err +} + +func (c *cliConnection) LoggregatorEndpoint() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.LoggregatorEndpoint", "", &result) + }) + + return result, err +} + +func (c *cliConnection) DopplerEndpoint() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.DopplerEndpoint", "", &result) + }) + + return result, err +} + +func (c *cliConnection) AccessToken() (string, error) { + var result string + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.AccessToken", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetApp(appName string) (plugin_models.GetAppModel, error) { + var result plugin_models.GetAppModel + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetApp", appName, &result) + }) + + return result, err +} + +func (c *cliConnection) GetApps() ([]plugin_models.GetAppsModel, error) { + var result []plugin_models.GetAppsModel + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetApps", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetOrgs() ([]plugin_models.GetOrgs_Model, error) { + var result []plugin_models.GetOrgs_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetOrgs", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetSpaces() ([]plugin_models.GetSpaces_Model, error) { + var result []plugin_models.GetSpaces_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetSpaces", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetServices() ([]plugin_models.GetServices_Model, error) { + var result []plugin_models.GetServices_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetServices", "", &result) + }) + + return result, err +} + +func (c *cliConnection) GetOrgUsers(orgName string, args ...string) ([]plugin_models.GetOrgUsers_Model, error) { + var result []plugin_models.GetOrgUsers_Model + + cmdArgs := append([]string{orgName}, args...) + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetOrgUsers", cmdArgs, &result) + }) + + return result, err +} + +func (c *cliConnection) GetSpaceUsers(orgName string, spaceName string) ([]plugin_models.GetSpaceUsers_Model, error) { + var result []plugin_models.GetSpaceUsers_Model + + cmdArgs := []string{orgName, spaceName} + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetSpaceUsers", cmdArgs, &result) + }) + + return result, err +} + +func (c *cliConnection) GetOrg(orgName string) (plugin_models.GetOrg_Model, error) { + var result plugin_models.GetOrg_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetOrg", orgName, &result) + }) + + return result, err +} + +func (c *cliConnection) GetSpace(spaceName string) (plugin_models.GetSpace_Model, error) { + var result plugin_models.GetSpace_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetSpace", spaceName, &result) + }) + + return result, err +} + +func (c *cliConnection) GetService(serviceInstance string) (plugin_models.GetService_Model, error) { + var result plugin_models.GetService_Model + + err := c.withClientDo(func(client *rpc.Client) error { + return client.Call("CliRpcCmd.GetService", serviceInstance, &result) + }) + + return result, err +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_app.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_app.go new file mode 100644 index 0000000..d501e37 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_app.go @@ -0,0 +1,63 @@ +package plugin_models + +import "time" + +type GetAppModel struct { + Guid string + Name string + BuildpackUrl string + Command string + Diego bool + DetectedStartCommand string + DiskQuota int64 // in Megabytes + EnvironmentVars map[string]interface{} + InstanceCount int + Memory int64 // in Megabytes + RunningInstances int + HealthCheckTimeout int + State string + SpaceGuid string + PackageUpdatedAt *time.Time + PackageState string + StagingFailedReason string + AppPorts []int + Stack *GetApp_Stack + Instances []GetApp_AppInstanceFields + Routes []GetApp_RouteSummary + Services []GetApp_ServiceSummary +} + +type GetApp_AppInstanceFields struct { + State string + Details string + Since time.Time + CpuUsage float64 // percentage + DiskQuota int64 // in bytes + DiskUsage int64 + MemQuota int64 + MemUsage int64 +} + +type GetApp_Stack struct { + Guid string + Name string + Description string +} + +type GetApp_RouteSummary struct { + Guid string + Host string + Domain GetApp_DomainFields + Path string + Port int +} + +type GetApp_DomainFields struct { + Guid string + Name string +} + +type GetApp_ServiceSummary struct { + Guid string + Name string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_apps.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_apps.go new file mode 100644 index 0000000..37f9118 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_apps.go @@ -0,0 +1,26 @@ +package plugin_models + +type GetAppsModel struct { + Name string + Guid string + State string + TotalInstances int + RunningInstances int + Memory int64 + DiskQuota int64 + Routes []GetAppsRouteSummary + AppPorts []int +} + +type GetAppsRouteSummary struct { + Guid string + Host string + Domain GetAppsDomainFields +} + +type GetAppsDomainFields struct { + Guid string + Name string + OwningOrganizationGuid string + Shared bool +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_org.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_org.go new file mode 100644 index 0000000..ea401f7 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_org.go @@ -0,0 +1,21 @@ +package plugin_models + +type Organization struct { + OrganizationFields +} + +type OrganizationFields struct { + Guid string + Name string + QuotaDefinition QuotaFields +} + +type QuotaFields struct { + Guid string + Name string + MemoryLimit int64 + InstanceMemoryLimit int64 + RoutesLimit int + ServicesLimit int + NonBasicServicesAllowed bool +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_space.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_space.go new file mode 100644 index 0000000..5575d32 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_current_space.go @@ -0,0 +1,10 @@ +package plugin_models + +type Space struct { + SpaceFields +} + +type SpaceFields struct { + Guid string + Name string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_oauth_token.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_oauth_token.go new file mode 100644 index 0000000..64d1a54 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_oauth_token.go @@ -0,0 +1,5 @@ +package plugin_models + +type GetOauthToken_Model struct { + Token string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_org.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_org.go new file mode 100644 index 0000000..366444e --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_org.go @@ -0,0 +1,32 @@ +package plugin_models + +type GetOrg_Model struct { + Guid string + Name string + QuotaDefinition QuotaFields + Spaces []GetOrg_Space + Domains []GetOrg_Domains + SpaceQuotas []GetOrg_SpaceQuota +} + +type GetOrg_Space struct { + Guid string + Name string +} + +type GetOrg_Domains struct { + Guid string + Name string + OwningOrganizationGuid string + Shared bool +} + +type GetOrg_SpaceQuota struct { + Guid string + Name string + MemoryLimit int64 + InstanceMemoryLimit int64 + RoutesLimit int + ServicesLimit int + NonBasicServicesAllowed bool +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_org_users.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_org_users.go new file mode 100644 index 0000000..d6a8428 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_org_users.go @@ -0,0 +1,8 @@ +package plugin_models + +type GetOrgUsers_Model struct { + Guid string + Username string + IsAdmin bool + Roles []string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_orgs.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_orgs.go new file mode 100644 index 0000000..6ef3f59 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_orgs.go @@ -0,0 +1,6 @@ +package plugin_models + +type GetOrgs_Model struct { + Guid string + Name string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_service.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_service.go new file mode 100644 index 0000000..45f8984 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_service.go @@ -0,0 +1,29 @@ +package plugin_models + +type GetService_Model struct { + Guid string + Name string + DashboardUrl string + IsUserProvided bool + ServiceOffering GetService_ServiceFields + ServicePlan GetService_ServicePlan + LastOperation GetService_LastOperation +} + +type GetService_LastOperation struct { + Type string + State string + Description string + CreatedAt string + UpdatedAt string +} + +type GetService_ServicePlan struct { + Name string + Guid string +} + +type GetService_ServiceFields struct { + Name string + DocumentationUrl string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_services.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_services.go new file mode 100644 index 0000000..3c78c8a --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_services.go @@ -0,0 +1,25 @@ +package plugin_models + +type GetServices_Model struct { + Guid string + Name string + ServicePlan GetServices_ServicePlan + Service GetServices_ServiceFields + LastOperation GetServices_LastOperation + ApplicationNames []string + IsUserProvided bool +} + +type GetServices_LastOperation struct { + Type string + State string +} + +type GetServices_ServicePlan struct { + Guid string + Name string +} + +type GetServices_ServiceFields struct { + Name string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_space.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_space.go new file mode 100644 index 0000000..ec85130 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_space.go @@ -0,0 +1,56 @@ +package plugin_models + +type GetSpace_Model struct { + GetSpaces_Model + Organization GetSpace_Orgs + Applications []GetSpace_Apps + ServiceInstances []GetSpace_ServiceInstance + Domains []GetSpace_Domains + SecurityGroups []GetSpace_SecurityGroup + SpaceQuota GetSpace_SpaceQuota +} + +type GetSpace_Orgs struct { + Guid string + Name string +} + +type GetSpace_Apps struct { + Name string + Guid string +} + +type GetSpace_AppsDomainFields struct { + Guid string + Name string + OwningOrganizationGuid string + Shared bool +} + +type GetSpace_ServiceInstance struct { + Guid string + Name string +} + +type GetSpace_Domains struct { + Guid string + Name string + OwningOrganizationGuid string + Shared bool +} + +type GetSpace_SecurityGroup struct { + Name string + Guid string + Rules []map[string]interface{} +} + +type GetSpace_SpaceQuota struct { + Guid string + Name string + MemoryLimit int64 + InstanceMemoryLimit int64 + RoutesLimit int + ServicesLimit int + NonBasicServicesAllowed bool +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_space_users.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_space_users.go new file mode 100644 index 0000000..abde8e4 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_space_users.go @@ -0,0 +1,8 @@ +package plugin_models + +type GetSpaceUsers_Model struct { + Guid string + Username string + IsAdmin bool + Roles []string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/models/get_spaces.go b/vendor/code.cloudfoundry.org/cli/plugin/models/get_spaces.go new file mode 100644 index 0000000..b741717 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/models/get_spaces.go @@ -0,0 +1,6 @@ +package plugin_models + +type GetSpaces_Model struct { + Guid string + Name string +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/plugin.go b/vendor/code.cloudfoundry.org/cli/plugin/plugin.go new file mode 100644 index 0000000..640d76f --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/plugin.go @@ -0,0 +1,73 @@ +package plugin + +import "code.cloudfoundry.org/cli/plugin/models" + +/** + Command interface needs to be implemented for a runnable plugin of `cf` +**/ +type Plugin interface { + Run(cliConnection CliConnection, args []string) + GetMetadata() PluginMetadata +} + +//go:generate counterfeiter . CliConnection +/** + List of commands available to CliConnection variable passed into run +**/ +type CliConnection interface { + CliCommandWithoutTerminalOutput(args ...string) ([]string, error) + CliCommand(args ...string) ([]string, error) + GetCurrentOrg() (plugin_models.Organization, error) + GetCurrentSpace() (plugin_models.Space, error) + Username() (string, error) + UserGuid() (string, error) + UserEmail() (string, error) + IsLoggedIn() (bool, error) + // IsSSLDisabled returns true if and only if the user is connected to the Cloud Controller API with the + // `--skip-ssl-validation` flag set unless the CLI configuration file cannot be read, in which case it + // returns an error. + IsSSLDisabled() (bool, error) + HasOrganization() (bool, error) + HasSpace() (bool, error) + ApiEndpoint() (string, error) + ApiVersion() (string, error) + HasAPIEndpoint() (bool, error) + LoggregatorEndpoint() (string, error) + DopplerEndpoint() (string, error) + AccessToken() (string, error) + GetApp(string) (plugin_models.GetAppModel, error) + GetApps() ([]plugin_models.GetAppsModel, error) + GetOrgs() ([]plugin_models.GetOrgs_Model, error) + GetSpaces() ([]plugin_models.GetSpaces_Model, error) + GetOrgUsers(string, ...string) ([]plugin_models.GetOrgUsers_Model, error) + GetSpaceUsers(string, string) ([]plugin_models.GetSpaceUsers_Model, error) + GetServices() ([]plugin_models.GetServices_Model, error) + GetService(string) (plugin_models.GetService_Model, error) + GetOrg(string) (plugin_models.GetOrg_Model, error) + GetSpace(string) (plugin_models.GetSpace_Model, error) +} + +type VersionType struct { + Major int + Minor int + Build int +} + +type PluginMetadata struct { + Name string + Version VersionType + MinCliVersion VersionType + Commands []Command +} + +type Usage struct { + Usage string + Options map[string]string +} + +type Command struct { + Name string + Alias string + HelpText string + UsageDetails Usage //Detail usage to be displayed in `cf help ` +} diff --git a/vendor/code.cloudfoundry.org/cli/plugin/plugin_shim.go b/vendor/code.cloudfoundry.org/cli/plugin/plugin_shim.go new file mode 100644 index 0000000..4a41591 --- /dev/null +++ b/vendor/code.cloudfoundry.org/cli/plugin/plugin_shim.go @@ -0,0 +1,48 @@ +package plugin + +import ( + "fmt" + "os" + "strconv" +) + +/** + * This function is called by the plugin to setup their server. This allows us to call Run on the plugin + * os.Args[1] port CF_CLI rpc server is running on + * os.Args[2] **OPTIONAL** + * SendMetadata - used to fetch the plugin metadata +**/ +func Start(cmd Plugin) { + if len(os.Args) < 2 { + fmt.Printf("This cf CLI plugin is not intended to be run on its own\n\n") + os.Exit(1) + } + + cliConnection := NewCliConnection(os.Args[1]) + cliConnection.pingCLI() + if isMetadataRequest(os.Args) { + cliConnection.sendPluginMetadataToCliServer(cmd.GetMetadata()) + } else { + if version := MinCliVersionStr(cmd.GetMetadata().MinCliVersion); version != "" { + ok := cliConnection.isMinCliVersion(version) + if !ok { + fmt.Printf("Minimum CLI version %s is required to run this plugin command\n\n", version) + os.Exit(0) + } + } + + cmd.Run(cliConnection, os.Args[2:]) + } +} + +func isMetadataRequest(args []string) bool { + return len(args) == 3 && args[2] == "SendMetadata" +} + +func MinCliVersionStr(version VersionType) string { + if version.Major == 0 && version.Minor == 0 && version.Build == 0 { + return "" + } + + return strconv.Itoa(version.Major) + "." + strconv.Itoa(version.Minor) + "." + strconv.Itoa(version.Build) +} diff --git a/vendor/github.com/blang/semver/LICENSE b/vendor/github.com/blang/semver/LICENSE new file mode 100644 index 0000000..5ba5c86 --- /dev/null +++ b/vendor/github.com/blang/semver/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2014 Benedikt Lang + +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/blang/semver/json.go b/vendor/github.com/blang/semver/json.go new file mode 100644 index 0000000..a74bf7c --- /dev/null +++ b/vendor/github.com/blang/semver/json.go @@ -0,0 +1,23 @@ +package semver + +import ( + "encoding/json" +) + +// MarshalJSON implements the encoding/json.Marshaler interface. +func (v Version) MarshalJSON() ([]byte, error) { + return json.Marshal(v.String()) +} + +// UnmarshalJSON implements the encoding/json.Unmarshaler interface. +func (v *Version) UnmarshalJSON(data []byte) (err error) { + var versionString string + + if err = json.Unmarshal(data, &versionString); err != nil { + return + } + + *v, err = Parse(versionString) + + return +} diff --git a/vendor/github.com/blang/semver/semver.go b/vendor/github.com/blang/semver/semver.go new file mode 100644 index 0000000..bbf85ce --- /dev/null +++ b/vendor/github.com/blang/semver/semver.go @@ -0,0 +1,395 @@ +package semver + +import ( + "errors" + "fmt" + "strconv" + "strings" +) + +const ( + numbers string = "0123456789" + alphas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-" + alphanum = alphas + numbers +) + +// SpecVersion is the latest fully supported spec version of semver +var SpecVersion = Version{ + Major: 2, + Minor: 0, + Patch: 0, +} + +// Version represents a semver compatible version +type Version struct { + Major uint64 + Minor uint64 + Patch uint64 + Pre []PRVersion + Build []string //No Precendence +} + +// Version to string +func (v Version) String() string { + b := make([]byte, 0, 5) + b = strconv.AppendUint(b, v.Major, 10) + b = append(b, '.') + b = strconv.AppendUint(b, v.Minor, 10) + b = append(b, '.') + b = strconv.AppendUint(b, v.Patch, 10) + + if len(v.Pre) > 0 { + b = append(b, '-') + b = append(b, v.Pre[0].String()...) + + for _, pre := range v.Pre[1:] { + b = append(b, '.') + b = append(b, pre.String()...) + } + } + + if len(v.Build) > 0 { + b = append(b, '+') + b = append(b, v.Build[0]...) + + for _, build := range v.Build[1:] { + b = append(b, '.') + b = append(b, build...) + } + } + + return string(b) +} + +// Equals checks if v is equal to o. +func (v Version) Equals(o Version) bool { + return (v.Compare(o) == 0) +} + +// EQ checks if v is equal to o. +func (v Version) EQ(o Version) bool { + return (v.Compare(o) == 0) +} + +// NE checks if v is not equal to o. +func (v Version) NE(o Version) bool { + return (v.Compare(o) != 0) +} + +// GT checks if v is greater than o. +func (v Version) GT(o Version) bool { + return (v.Compare(o) == 1) +} + +// GTE checks if v is greater than or equal to o. +func (v Version) GTE(o Version) bool { + return (v.Compare(o) >= 0) +} + +// GE checks if v is greater than or equal to o. +func (v Version) GE(o Version) bool { + return (v.Compare(o) >= 0) +} + +// LT checks if v is less than o. +func (v Version) LT(o Version) bool { + return (v.Compare(o) == -1) +} + +// LTE checks if v is less than or equal to o. +func (v Version) LTE(o Version) bool { + return (v.Compare(o) <= 0) +} + +// LE checks if v is less than or equal to o. +func (v Version) LE(o Version) bool { + return (v.Compare(o) <= 0) +} + +// Compare compares Versions v to o: +// -1 == v is less than o +// 0 == v is equal to o +// 1 == v is greater than o +func (v Version) Compare(o Version) int { + if v.Major != o.Major { + if v.Major > o.Major { + return 1 + } + return -1 + } + if v.Minor != o.Minor { + if v.Minor > o.Minor { + return 1 + } + return -1 + } + if v.Patch != o.Patch { + if v.Patch > o.Patch { + return 1 + } + return -1 + } + + // Quick comparison if a version has no prerelease versions + if len(v.Pre) == 0 && len(o.Pre) == 0 { + return 0 + } else if len(v.Pre) == 0 && len(o.Pre) > 0 { + return 1 + } else if len(v.Pre) > 0 && len(o.Pre) == 0 { + return -1 + } + + i := 0 + for ; i < len(v.Pre) && i < len(o.Pre); i++ { + if comp := v.Pre[i].Compare(o.Pre[i]); comp == 0 { + continue + } else if comp == 1 { + return 1 + } else { + return -1 + } + } + + // If all pr versions are the equal but one has further prversion, this one greater + if i == len(v.Pre) && i == len(o.Pre) { + return 0 + } else if i == len(v.Pre) && i < len(o.Pre) { + return -1 + } else { + return 1 + } + +} + +// Validate validates v and returns error in case +func (v Version) Validate() error { + // Major, Minor, Patch already validated using uint64 + + for _, pre := range v.Pre { + if !pre.IsNum { //Numeric prerelease versions already uint64 + if len(pre.VersionStr) == 0 { + return fmt.Errorf("Prerelease can not be empty %q", pre.VersionStr) + } + if !containsOnly(pre.VersionStr, alphanum) { + return fmt.Errorf("Invalid character(s) found in prerelease %q", pre.VersionStr) + } + } + } + + for _, build := range v.Build { + if len(build) == 0 { + return fmt.Errorf("Build meta data can not be empty %q", build) + } + if !containsOnly(build, alphanum) { + return fmt.Errorf("Invalid character(s) found in build meta data %q", build) + } + } + + return nil +} + +// New is an alias for Parse and returns a pointer, parses version string and returns a validated Version or error +func New(s string) (vp *Version, err error) { + v, err := Parse(s) + vp = &v + return +} + +// Make is an alias for Parse, parses version string and returns a validated Version or error +func Make(s string) (Version, error) { + return Parse(s) +} + +// Parse parses version string and returns a validated Version or error +func Parse(s string) (Version, error) { + if len(s) == 0 { + return Version{}, errors.New("Version string empty") + } + + // Split into major.minor.(patch+pr+meta) + parts := strings.SplitN(s, ".", 3) + if len(parts) != 3 { + return Version{}, errors.New("No Major.Minor.Patch elements found") + } + + // Major + if !containsOnly(parts[0], numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in major number %q", parts[0]) + } + if hasLeadingZeroes(parts[0]) { + return Version{}, fmt.Errorf("Major number must not contain leading zeroes %q", parts[0]) + } + major, err := strconv.ParseUint(parts[0], 10, 64) + if err != nil { + return Version{}, err + } + + // Minor + if !containsOnly(parts[1], numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in minor number %q", parts[1]) + } + if hasLeadingZeroes(parts[1]) { + return Version{}, fmt.Errorf("Minor number must not contain leading zeroes %q", parts[1]) + } + minor, err := strconv.ParseUint(parts[1], 10, 64) + if err != nil { + return Version{}, err + } + + v := Version{} + v.Major = major + v.Minor = minor + + var build, prerelease []string + patchStr := parts[2] + + if buildIndex := strings.IndexRune(patchStr, '+'); buildIndex != -1 { + build = strings.Split(patchStr[buildIndex+1:], ".") + patchStr = patchStr[:buildIndex] + } + + if preIndex := strings.IndexRune(patchStr, '-'); preIndex != -1 { + prerelease = strings.Split(patchStr[preIndex+1:], ".") + patchStr = patchStr[:preIndex] + } + + if !containsOnly(patchStr, numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in patch number %q", patchStr) + } + if hasLeadingZeroes(patchStr) { + return Version{}, fmt.Errorf("Patch number must not contain leading zeroes %q", patchStr) + } + patch, err := strconv.ParseUint(patchStr, 10, 64) + if err != nil { + return Version{}, err + } + + v.Patch = patch + + // Prerelease + for _, prstr := range prerelease { + parsedPR, err := NewPRVersion(prstr) + if err != nil { + return Version{}, err + } + v.Pre = append(v.Pre, parsedPR) + } + + // Build meta data + for _, str := range build { + if len(str) == 0 { + return Version{}, errors.New("Build meta data is empty") + } + if !containsOnly(str, alphanum) { + return Version{}, fmt.Errorf("Invalid character(s) found in build meta data %q", str) + } + v.Build = append(v.Build, str) + } + + return v, nil +} + +// MustParse is like Parse but panics if the version cannot be parsed. +func MustParse(s string) Version { + v, err := Parse(s) + if err != nil { + panic(`semver: Parse(` + s + `): ` + err.Error()) + } + return v +} + +// PRVersion represents a PreRelease Version +type PRVersion struct { + VersionStr string + VersionNum uint64 + IsNum bool +} + +// NewPRVersion creates a new valid prerelease version +func NewPRVersion(s string) (PRVersion, error) { + if len(s) == 0 { + return PRVersion{}, errors.New("Prerelease is empty") + } + v := PRVersion{} + if containsOnly(s, numbers) { + if hasLeadingZeroes(s) { + return PRVersion{}, fmt.Errorf("Numeric PreRelease version must not contain leading zeroes %q", s) + } + num, err := strconv.ParseUint(s, 10, 64) + + // Might never be hit, but just in case + if err != nil { + return PRVersion{}, err + } + v.VersionNum = num + v.IsNum = true + } else if containsOnly(s, alphanum) { + v.VersionStr = s + v.IsNum = false + } else { + return PRVersion{}, fmt.Errorf("Invalid character(s) found in prerelease %q", s) + } + return v, nil +} + +// IsNumeric checks if prerelease-version is numeric +func (v PRVersion) IsNumeric() bool { + return v.IsNum +} + +// Compare compares two PreRelease Versions v and o: +// -1 == v is less than o +// 0 == v is equal to o +// 1 == v is greater than o +func (v PRVersion) Compare(o PRVersion) int { + if v.IsNum && !o.IsNum { + return -1 + } else if !v.IsNum && o.IsNum { + return 1 + } else if v.IsNum && o.IsNum { + if v.VersionNum == o.VersionNum { + return 0 + } else if v.VersionNum > o.VersionNum { + return 1 + } else { + return -1 + } + } else { // both are Alphas + if v.VersionStr == o.VersionStr { + return 0 + } else if v.VersionStr > o.VersionStr { + return 1 + } else { + return -1 + } + } +} + +// PreRelease version to string +func (v PRVersion) String() string { + if v.IsNum { + return strconv.FormatUint(v.VersionNum, 10) + } + return v.VersionStr +} + +func containsOnly(s string, set string) bool { + return strings.IndexFunc(s, func(r rune) bool { + return !strings.ContainsRune(set, r) + }) == -1 +} + +func hasLeadingZeroes(s string) bool { + return len(s) > 1 && s[0] == '0' +} + +// NewBuildVersion creates a new valid build version +func NewBuildVersion(s string) (string, error) { + if len(s) == 0 { + return "", errors.New("Buildversion is empty") + } + if !containsOnly(s, alphanum) { + return "", fmt.Errorf("Invalid character(s) found in build meta data %q", s) + } + return s, nil +} diff --git a/vendor/github.com/blang/semver/sort.go b/vendor/github.com/blang/semver/sort.go new file mode 100644 index 0000000..e18f880 --- /dev/null +++ b/vendor/github.com/blang/semver/sort.go @@ -0,0 +1,28 @@ +package semver + +import ( + "sort" +) + +// Versions represents multiple versions. +type Versions []Version + +// Len returns length of version collection +func (s Versions) Len() int { + return len(s) +} + +// Swap swaps two versions inside the collection by its indices +func (s Versions) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +// Less checks if version at index i is less than version at index j +func (s Versions) Less(i, j int) bool { + return s[i].LT(s[j]) +} + +// Sort sorts a slice of versions +func Sort(versions []Version) { + sort.Sort(Versions(versions)) +} diff --git a/vendor/github.com/blang/semver/sql.go b/vendor/github.com/blang/semver/sql.go new file mode 100644 index 0000000..eb4d802 --- /dev/null +++ b/vendor/github.com/blang/semver/sql.go @@ -0,0 +1,30 @@ +package semver + +import ( + "database/sql/driver" + "fmt" +) + +// Scan implements the database/sql.Scanner interface. +func (v *Version) Scan(src interface{}) (err error) { + var str string + switch src := src.(type) { + case string: + str = src + case []byte: + str = string(src) + default: + return fmt.Errorf("Version.Scan: cannot convert %T to string.", src) + } + + if t, err := Parse(str); err == nil { + *v = t + } + + return +} + +// Value implements the database/sql/driver.Valuer interface. +func (v Version) Value() (driver.Value, error) { + return v.String(), nil +} diff --git a/vendor/github.com/cloudfoundry/cli/LICENSE b/vendor/github.com/cloudfoundry/cli/LICENSE new file mode 100644 index 0000000..1b5ec8b --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/vendor/github.com/cloudfoundry/cli/NOTICE b/vendor/github.com/cloudfoundry/cli/NOTICE new file mode 100644 index 0000000..024ed96 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/NOTICE @@ -0,0 +1,15 @@ +cli + +Copyright (c) 2013-Present Pivotal Software, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/cloudfoundry/cli/cf/app_constants.go b/vendor/github.com/cloudfoundry/cli/cf/app_constants.go new file mode 100644 index 0000000..ed3ed31 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/app_constants.go @@ -0,0 +1,7 @@ +package cf + +var ( + Version = "BUILT_FROM_SOURCE" + BuiltOnDate = "BUILT_AT_UNKNOWN_TIME" + Name = "cf" +) diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor.go new file mode 100644 index 0000000..1ff60bb --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor.go @@ -0,0 +1,87 @@ +package configuration + +import ( + "io/ioutil" + "os" +) + +const ( + filePermissions = 0600 + dirPermissions = 0700 +) + +//go:generate counterfeiter . Persistor + +type Persistor interface { + Delete() + Exists() bool + Load(DataInterface) error + Save(DataInterface) error +} + +//go:generate counterfeiter . DataInterface + +type DataInterface interface { + JSONMarshalV3() ([]byte, error) + JSONUnmarshalV3([]byte) error +} + +type DiskPersistor struct { + filePath string +} + +func NewDiskPersistor(path string) (dp DiskPersistor) { + return DiskPersistor{ + filePath: path, + } +} + +func (dp DiskPersistor) Exists() bool { + _, err := os.Stat(dp.filePath) + if err != nil && !os.IsExist(err) { + return false + } + return true +} + +func (dp DiskPersistor) Delete() { + os.Remove(dp.filePath) +} + +func (dp DiskPersistor) Load(data DataInterface) error { + err := dp.read(data) + if os.IsPermission(err) { + return err + } + + if err != nil { + err = dp.write(data) + } + return err +} + +func (dp DiskPersistor) Save(data DataInterface) (err error) { + return dp.write(data) +} + +func (dp DiskPersistor) read(data DataInterface) error { + dp.makeDirectory() + + jsonBytes, err := ioutil.ReadFile(dp.filePath) + if err != nil { + return err + } + + err = data.JSONUnmarshalV3(jsonBytes) + return err +} + +func (dp DiskPersistor) write(data DataInterface) error { + bytes, err := data.JSONMarshalV3() + if err != nil { + return err + } + + err = ioutil.WriteFile(dp.filePath, bytes, filePermissions) + return err +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_unix.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_unix.go new file mode 100644 index 0000000..b1d4520 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_unix.go @@ -0,0 +1,12 @@ +// +build !windows + +package configuration + +import ( + "os" + "path/filepath" +) + +func (dp DiskPersistor) makeDirectory() error { + return os.MkdirAll(filepath.Dir(dp.filePath), dirPermissions) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_win.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_win.go new file mode 100644 index 0000000..859d252 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/config_disk_persistor_win.go @@ -0,0 +1,30 @@ +// +build windows + +package configuration + +import ( + "os" + "path/filepath" + "syscall" +) + +func (dp DiskPersistor) makeDirectory() error { + dir := filepath.Dir(dp.filePath) + + err := os.MkdirAll(dir, dirPermissions) + if err != nil { + return err + } + + p, err := syscall.UTF16PtrFromString(dir) + if err != nil { + return err + } + + attrs, err := syscall.GetFileAttributes(p) + if err != nil { + return err + } + + return syscall.SetFileAttributes(p, attrs|syscall.FILE_ATTRIBUTE_HIDDEN) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/access_token.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/access_token.go new file mode 100644 index 0000000..c0102f0 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/access_token.go @@ -0,0 +1,60 @@ +package coreconfig + +import ( + "encoding/base64" + "encoding/json" + "strings" +) + +type TokenInfo struct { + Username string `json:"user_name"` + Email string `json:"email"` + UserGUID string `json:"user_id"` +} + +func NewTokenInfo(accessToken string) (info TokenInfo) { + tokenJSON, err := DecodeAccessToken(accessToken) + if err != nil { + return TokenInfo{} + } + + info = TokenInfo{} + err = json.Unmarshal(tokenJSON, &info) + if err != nil { + return TokenInfo{} + } + + return info +} + +func DecodeAccessToken(accessToken string) (tokenJSON []byte, err error) { + tokenParts := strings.Split(accessToken, " ") + + if len(tokenParts) < 2 { + return + } + + token := tokenParts[1] + encodedParts := strings.Split(token, ".") + + if len(encodedParts) < 3 { + return + } + + encodedTokenJSON := encodedParts[1] + return base64Decode(encodedTokenJSON) +} + +func base64Decode(encodedData string) ([]byte, error) { + return base64.StdEncoding.DecodeString(restorePadding(encodedData)) +} + +func restorePadding(seg string) string { + switch len(seg) % 4 { + case 2: + seg = seg + "==" + case 3: + seg = seg + "=" + } + return seg +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/api_config_refresher.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/api_config_refresher.go new file mode 100644 index 0000000..49b9c20 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/api_config_refresher.go @@ -0,0 +1,74 @@ +package coreconfig + +import ( + "fmt" + "regexp" + "strings" + + . "github.com/cloudfoundry/cli/cf/i18n" +) + +//go:generate counterfeiter . EndpointRepository + +type EndpointRepository interface { + GetCCInfo(string) (*CCInfo, string, error) +} + +type APIConfigRefresher struct { + EndpointRepo EndpointRepository + Config ReadWriter + Endpoint string +} + +func (a APIConfigRefresher) Refresh() (Warning, error) { + ccInfo, endpoint, err := a.EndpointRepo.GetCCInfo(a.Endpoint) + if err != nil { + return nil, err + } + + if endpoint != a.Config.APIEndpoint() { + a.Config.ClearSession() + } + + a.Config.SetAPIEndpoint(endpoint) + a.Config.SetAPIVersion(ccInfo.APIVersion) + a.Config.SetAuthenticationEndpoint(ccInfo.AuthorizationEndpoint) + a.Config.SetSSHOAuthClient(ccInfo.SSHOAuthClient) + a.Config.SetMinCLIVersion(ccInfo.MinCLIVersion) + a.Config.SetMinRecommendedCLIVersion(ccInfo.MinRecommendedCLIVersion) + a.Config.SetLoggregatorEndpoint(a.LoggregatorEndpoint(ccInfo, endpoint)) + + //* 3/5/15: loggregator endpoint will be renamed to doppler eventually, + // we just have to use the loggregator endpoint as doppler for now + a.Config.SetDopplerEndpoint(strings.Replace(a.Config.LoggregatorEndpoint(), "loggregator", "doppler", 1)) + a.Config.SetRoutingAPIEndpoint(ccInfo.RoutingAPIEndpoint) + + if !strings.HasPrefix(endpoint, "https://") { + return new(insecureWarning), nil + } + return nil, nil +} + +func (a APIConfigRefresher) LoggregatorEndpoint(ccInfo *CCInfo, endpoint string) string { + if ccInfo.LoggregatorEndpoint == "" { + var endpointDomainRegex = regexp.MustCompile(`^http(s?)://[^\.]+\.([^:]+)`) + + matches := endpointDomainRegex.FindStringSubmatch(endpoint) + url := fmt.Sprintf("ws%s://loggregator.%s", matches[1], matches[2]) + if url[0:3] == "wss" { + return url + ":443" + } + return url + ":80" + } + return ccInfo.LoggregatorEndpoint +} + +type Warning interface { + Warn() string +} + +type insecureWarning struct{} + +func (w insecureWarning) Warn() string { + return T("Warning: Insecure http API endpoint detected: secure https API endpoints are recommended\n") +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_data.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_data.go new file mode 100644 index 0000000..0fcb50b --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_data.go @@ -0,0 +1,67 @@ +package coreconfig + +import ( + "encoding/json" + + "github.com/cloudfoundry/cli/cf/models" +) + +type AuthPromptType string + +const ( + AuthPromptTypeText AuthPromptType = "TEXT" + AuthPromptTypePassword AuthPromptType = "PASSWORD" +) + +type AuthPrompt struct { + Type AuthPromptType + DisplayName string +} + +type Data struct { + ConfigVersion int + Target string + APIVersion string + AuthorizationEndpoint string + LoggregatorEndPoint string + DopplerEndPoint string + UaaEndpoint string + RoutingAPIEndpoint string + AccessToken string + SSHOAuthClient string + RefreshToken string + OrganizationFields models.OrganizationFields + SpaceFields models.SpaceFields + SSLDisabled bool + AsyncTimeout uint + Trace string + ColorEnabled string + Locale string + PluginRepos []models.PluginRepo + MinCLIVersion string + MinRecommendedCLIVersion string +} + +func NewData() (data *Data) { + data = new(Data) + return +} + +func (d *Data) JSONMarshalV3() (output []byte, err error) { + d.ConfigVersion = 3 + return json.MarshalIndent(d, "", " ") +} + +func (d *Data) JSONUnmarshalV3(input []byte) (err error) { + err = json.Unmarshal(input, d) + if err != nil { + return + } + + if d.ConfigVersion != 3 { + *d = Data{} + return + } + + return +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_repository.go b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_repository.go new file mode 100644 index 0000000..9da7cd8 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/configuration/coreconfig/config_repository.go @@ -0,0 +1,537 @@ +package coreconfig + +import ( + "strings" + "sync" + + "github.com/blang/semver" + "github.com/cloudfoundry/cli/cf/configuration" + "github.com/cloudfoundry/cli/cf/models" +) + +type ConfigRepository struct { + data *Data + mutex *sync.RWMutex + initOnce *sync.Once + persistor configuration.Persistor + onError func(error) +} + +type CCInfo struct { + APIVersion string `json:"api_version"` + AuthorizationEndpoint string `json:"authorization_endpoint"` + LoggregatorEndpoint string `json:"logging_endpoint"` + MinCLIVersion string `json:"min_cli_version"` + MinRecommendedCLIVersion string `json:"min_recommended_cli_version"` + SSHOAuthClient string `json:"app_ssh_oauth_client"` + RoutingAPIEndpoint string `json:"routing_endpoint"` +} + +func NewRepositoryFromFilepath(filepath string, errorHandler func(error)) Repository { + if errorHandler == nil { + return nil + } + return NewRepositoryFromPersistor(configuration.NewDiskPersistor(filepath), errorHandler) +} + +func NewRepositoryFromPersistor(persistor configuration.Persistor, errorHandler func(error)) Repository { + data := NewData() + if !persistor.Exists() { + //set default plugin repo + data.PluginRepos = append(data.PluginRepos, models.PluginRepo{ + Name: "CF-Community", + URL: "https://plugins.cloudfoundry.org", + }) + } + + return &ConfigRepository{ + data: data, + mutex: new(sync.RWMutex), + initOnce: new(sync.Once), + persistor: persistor, + onError: errorHandler, + } +} + +type Reader interface { + APIEndpoint() string + APIVersion() string + HasAPIEndpoint() bool + + AuthenticationEndpoint() string + LoggregatorEndpoint() string + DopplerEndpoint() string + UaaEndpoint() string + RoutingAPIEndpoint() string + AccessToken() string + SSHOAuthClient() string + RefreshToken() string + + OrganizationFields() models.OrganizationFields + HasOrganization() bool + + SpaceFields() models.SpaceFields + HasSpace() bool + + Username() string + UserGUID() string + UserEmail() string + IsLoggedIn() bool + IsSSLDisabled() bool + IsMinAPIVersion(semver.Version) bool + IsMinCLIVersion(string) bool + MinCLIVersion() string + MinRecommendedCLIVersion() string + + AsyncTimeout() uint + Trace() string + + ColorEnabled() string + + Locale() string + + PluginRepos() []models.PluginRepo +} + +//go:generate counterfeiter . ReadWriter +type ReadWriter interface { + Reader + ClearSession() + SetAPIEndpoint(string) + SetAPIVersion(string) + SetMinCLIVersion(string) + SetMinRecommendedCLIVersion(string) + SetAuthenticationEndpoint(string) + SetLoggregatorEndpoint(string) + SetDopplerEndpoint(string) + SetUaaEndpoint(string) + SetRoutingAPIEndpoint(string) + SetAccessToken(string) + SetSSHOAuthClient(string) + SetRefreshToken(string) + SetOrganizationFields(models.OrganizationFields) + SetSpaceFields(models.SpaceFields) + SetSSLDisabled(bool) + SetAsyncTimeout(uint) + SetTrace(string) + SetColorEnabled(string) + SetLocale(string) + SetPluginRepo(models.PluginRepo) + UnSetPluginRepo(int) +} + +type Repository interface { + ReadWriter + Close() +} + +// ACCESS CONTROL + +func (c *ConfigRepository) init() { + c.initOnce.Do(func() { + err := c.persistor.Load(c.data) + if err != nil { + c.onError(err) + } + }) +} + +func (c *ConfigRepository) read(cb func()) { + c.mutex.RLock() + defer c.mutex.RUnlock() + c.init() + + cb() +} + +func (c *ConfigRepository) write(cb func()) { + c.mutex.Lock() + defer c.mutex.Unlock() + c.init() + + cb() + + err := c.persistor.Save(c.data) + if err != nil { + c.onError(err) + } +} + +// CLOSERS + +func (c *ConfigRepository) Close() { + c.read(func() { + // perform a read to ensure write lock has been cleared + }) +} + +// GETTERS + +func (c *ConfigRepository) APIVersion() (apiVersion string) { + c.read(func() { + apiVersion = c.data.APIVersion + }) + return +} + +func (c *ConfigRepository) AuthenticationEndpoint() (authEndpoint string) { + c.read(func() { + authEndpoint = c.data.AuthorizationEndpoint + }) + return +} + +func (c *ConfigRepository) LoggregatorEndpoint() (logEndpoint string) { + c.read(func() { + logEndpoint = c.data.LoggregatorEndPoint + }) + return +} + +func (c *ConfigRepository) DopplerEndpoint() (logEndpoint string) { + //revert this in v7.0, once CC advertise doppler endpoint, and + //everyone has migrated from loggregator to doppler + + // c.read(func() { + // logEndpoint = c.data.DopplerEndPoint + // }) + c.read(func() { + logEndpoint = c.data.LoggregatorEndPoint + }) + + return strings.Replace(logEndpoint, "loggregator", "doppler", 1) +} + +func (c *ConfigRepository) UaaEndpoint() (uaaEndpoint string) { + c.read(func() { + uaaEndpoint = c.data.UaaEndpoint + }) + return +} + +func (c *ConfigRepository) RoutingAPIEndpoint() (routingAPIEndpoint string) { + c.read(func() { + routingAPIEndpoint = c.data.RoutingAPIEndpoint + }) + return +} + +func (c *ConfigRepository) APIEndpoint() (apiEndpoint string) { + c.read(func() { + apiEndpoint = c.data.Target + }) + return +} + +func (c *ConfigRepository) HasAPIEndpoint() (hasEndpoint bool) { + c.read(func() { + hasEndpoint = c.data.APIVersion != "" && c.data.Target != "" + }) + return +} + +func (c *ConfigRepository) AccessToken() (accessToken string) { + c.read(func() { + accessToken = c.data.AccessToken + }) + return +} + +func (c *ConfigRepository) SSHOAuthClient() (clientID string) { + c.read(func() { + clientID = c.data.SSHOAuthClient + }) + return +} + +func (c *ConfigRepository) RefreshToken() (refreshToken string) { + c.read(func() { + refreshToken = c.data.RefreshToken + }) + return +} + +func (c *ConfigRepository) OrganizationFields() (org models.OrganizationFields) { + c.read(func() { + org = c.data.OrganizationFields + }) + return +} + +func (c *ConfigRepository) SpaceFields() (space models.SpaceFields) { + c.read(func() { + space = c.data.SpaceFields + }) + return +} + +func (c *ConfigRepository) UserEmail() (email string) { + c.read(func() { + email = NewTokenInfo(c.data.AccessToken).Email + }) + return +} + +func (c *ConfigRepository) UserGUID() (guid string) { + c.read(func() { + guid = NewTokenInfo(c.data.AccessToken).UserGUID + }) + return +} + +func (c *ConfigRepository) Username() (name string) { + c.read(func() { + name = NewTokenInfo(c.data.AccessToken).Username + }) + return +} + +func (c *ConfigRepository) IsLoggedIn() (loggedIn bool) { + c.read(func() { + loggedIn = c.data.AccessToken != "" + }) + return +} + +func (c *ConfigRepository) HasOrganization() (hasOrg bool) { + c.read(func() { + hasOrg = c.data.OrganizationFields.GUID != "" && c.data.OrganizationFields.Name != "" + }) + return +} + +func (c *ConfigRepository) HasSpace() (hasSpace bool) { + c.read(func() { + hasSpace = c.data.SpaceFields.GUID != "" && c.data.SpaceFields.Name != "" + }) + return +} + +func (c *ConfigRepository) IsSSLDisabled() (isSSLDisabled bool) { + c.read(func() { + isSSLDisabled = c.data.SSLDisabled + }) + return +} + +func (c *ConfigRepository) IsMinAPIVersion(requiredVersion semver.Version) bool { + var apiVersion string + c.read(func() { + apiVersion = c.data.APIVersion + }) + + actualVersion, err := semver.Make(apiVersion) + if err != nil { + return false + } + return actualVersion.GTE(requiredVersion) +} + +func (c *ConfigRepository) IsMinCLIVersion(version string) bool { + if version == "BUILT_FROM_SOURCE" { + return true + } + var minCLIVersion string + c.read(func() { + minCLIVersion = c.data.MinCLIVersion + }) + if minCLIVersion == "" { + return true + } + + actualVersion, err := semver.Make(version) + if err != nil { + return false + } + requiredVersion, err := semver.Make(minCLIVersion) + if err != nil { + return false + } + return actualVersion.GTE(requiredVersion) +} + +func (c *ConfigRepository) MinCLIVersion() (minCLIVersion string) { + c.read(func() { + minCLIVersion = c.data.MinCLIVersion + }) + return +} + +func (c *ConfigRepository) MinRecommendedCLIVersion() (minRecommendedCLIVersion string) { + c.read(func() { + minRecommendedCLIVersion = c.data.MinRecommendedCLIVersion + }) + return +} + +func (c *ConfigRepository) AsyncTimeout() (timeout uint) { + c.read(func() { + timeout = c.data.AsyncTimeout + }) + return +} + +func (c *ConfigRepository) Trace() (trace string) { + c.read(func() { + trace = c.data.Trace + }) + return +} + +func (c *ConfigRepository) ColorEnabled() (enabled string) { + c.read(func() { + enabled = c.data.ColorEnabled + }) + return +} + +func (c *ConfigRepository) Locale() (locale string) { + c.read(func() { + locale = c.data.Locale + }) + return +} + +func (c *ConfigRepository) PluginRepos() (repos []models.PluginRepo) { + c.read(func() { + repos = c.data.PluginRepos + }) + return +} + +// SETTERS + +func (c *ConfigRepository) ClearSession() { + c.write(func() { + c.data.AccessToken = "" + c.data.RefreshToken = "" + c.data.OrganizationFields = models.OrganizationFields{} + c.data.SpaceFields = models.SpaceFields{} + }) +} + +func (c *ConfigRepository) SetAPIEndpoint(endpoint string) { + c.write(func() { + c.data.Target = endpoint + }) +} + +func (c *ConfigRepository) SetAPIVersion(version string) { + c.write(func() { + c.data.APIVersion = version + }) +} + +func (c *ConfigRepository) SetMinCLIVersion(version string) { + c.write(func() { + c.data.MinCLIVersion = version + }) +} + +func (c *ConfigRepository) SetMinRecommendedCLIVersion(version string) { + c.write(func() { + c.data.MinRecommendedCLIVersion = version + }) +} + +func (c *ConfigRepository) SetAuthenticationEndpoint(endpoint string) { + c.write(func() { + c.data.AuthorizationEndpoint = endpoint + }) +} + +func (c *ConfigRepository) SetLoggregatorEndpoint(endpoint string) { + c.write(func() { + c.data.LoggregatorEndPoint = endpoint + }) +} + +func (c *ConfigRepository) SetDopplerEndpoint(endpoint string) { + c.write(func() { + c.data.DopplerEndPoint = endpoint + }) +} + +func (c *ConfigRepository) SetUaaEndpoint(uaaEndpoint string) { + c.write(func() { + c.data.UaaEndpoint = uaaEndpoint + }) +} + +func (c *ConfigRepository) SetRoutingAPIEndpoint(routingAPIEndpoint string) { + c.write(func() { + c.data.RoutingAPIEndpoint = routingAPIEndpoint + }) +} + +func (c *ConfigRepository) SetAccessToken(token string) { + c.write(func() { + c.data.AccessToken = token + }) +} + +func (c *ConfigRepository) SetSSHOAuthClient(clientID string) { + c.write(func() { + c.data.SSHOAuthClient = clientID + }) +} + +func (c *ConfigRepository) SetRefreshToken(token string) { + c.write(func() { + c.data.RefreshToken = token + }) +} + +func (c *ConfigRepository) SetOrganizationFields(org models.OrganizationFields) { + c.write(func() { + c.data.OrganizationFields = org + }) +} + +func (c *ConfigRepository) SetSpaceFields(space models.SpaceFields) { + c.write(func() { + c.data.SpaceFields = space + }) +} + +func (c *ConfigRepository) SetSSLDisabled(disabled bool) { + c.write(func() { + c.data.SSLDisabled = disabled + }) +} + +func (c *ConfigRepository) SetAsyncTimeout(timeout uint) { + c.write(func() { + c.data.AsyncTimeout = timeout + }) +} + +func (c *ConfigRepository) SetTrace(value string) { + c.write(func() { + c.data.Trace = value + }) +} + +func (c *ConfigRepository) SetColorEnabled(enabled string) { + c.write(func() { + c.data.ColorEnabled = enabled + }) +} + +func (c *ConfigRepository) SetLocale(locale string) { + c.write(func() { + c.data.Locale = locale + }) +} + +func (c *ConfigRepository) SetPluginRepo(repo models.PluginRepo) { + c.write(func() { + c.data.PluginRepos = append(c.data.PluginRepos, repo) + }) +} + +func (c *ConfigRepository) UnSetPluginRepo(index int) { + c.write(func() { + c.data.PluginRepos = append(c.data.PluginRepos[:index], c.data.PluginRepos[index+1:]...) + }) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/formatters/bools.go b/vendor/github.com/cloudfoundry/cli/cf/formatters/bools.go new file mode 100644 index 0000000..ff73072 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/formatters/bools.go @@ -0,0 +1,12 @@ +package formatters + +import ( + . "github.com/cloudfoundry/cli/cf/i18n" +) + +func Allowed(allowed bool) string { + if allowed { + return T("allowed") + } + return T("disallowed") +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/formatters/bytes.go b/vendor/github.com/cloudfoundry/cli/cf/formatters/bytes.go new file mode 100644 index 0000000..9d1b832 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/formatters/bytes.go @@ -0,0 +1,82 @@ +package formatters + +import ( + "errors" + "fmt" + "regexp" + "strconv" + "strings" + + . "github.com/cloudfoundry/cli/cf/i18n" +) + +const ( + BYTE = 1.0 + KILOBYTE = 1024 * BYTE + MEGABYTE = 1024 * KILOBYTE + GIGABYTE = 1024 * MEGABYTE + TERABYTE = 1024 * GIGABYTE +) + +func ByteSize(bytes int64) string { + unit := "" + value := float32(bytes) + + switch { + case bytes >= TERABYTE: + unit = "T" + value = value / TERABYTE + case bytes >= GIGABYTE: + unit = "G" + value = value / GIGABYTE + case bytes >= MEGABYTE: + unit = "M" + value = value / MEGABYTE + case bytes >= KILOBYTE: + unit = "K" + value = value / KILOBYTE + case bytes == 0: + return "0" + case bytes < KILOBYTE: + unit = "B" + } + + stringValue := fmt.Sprintf("%.1f", value) + stringValue = strings.TrimSuffix(stringValue, ".0") + return fmt.Sprintf("%s%s", stringValue, unit) +} + +func ToMegabytes(s string) (int64, error) { + parts := bytesPattern.FindStringSubmatch(strings.TrimSpace(s)) + if len(parts) < 3 { + return 0, invalidByteQuantityError() + } + + value, err := strconv.ParseInt(parts[1], 10, 0) + if err != nil { + return 0, invalidByteQuantityError() + } + + var bytes int64 + unit := strings.ToUpper(parts[2]) + switch unit { + case "T": + bytes = value * TERABYTE + case "G": + bytes = value * GIGABYTE + case "M": + bytes = value * MEGABYTE + case "K": + bytes = value * KILOBYTE + } + + return bytes / MEGABYTE, nil +} + +var ( + bytesPattern *regexp.Regexp = regexp.MustCompile(`(?i)^(-?\d+)([KMGT])B?$`) +) + +func invalidByteQuantityError() error { + return errors.New(T("Byte quantity must be an integer with a unit of measurement like M, MB, G, or GB")) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/formatters/memoryLimit.go b/vendor/github.com/cloudfoundry/cli/cf/formatters/memoryLimit.go new file mode 100644 index 0000000..3fa15d4 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/formatters/memoryLimit.go @@ -0,0 +1,11 @@ +package formatters + +import "strconv" + +func InstanceMemoryLimit(limit int64) string { + if limit == -1 { + return "Unlimited" + } + + return strconv.FormatInt(limit, 10) + "M" +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/formatters/string.go b/vendor/github.com/cloudfoundry/cli/cf/formatters/string.go new file mode 100644 index 0000000..fc09732 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/formatters/string.go @@ -0,0 +1,16 @@ +package formatters + +import ( + "fmt" + "reflect" +) + +func MapStr(args interface{}) []string { + r := reflect.ValueOf(args) + rval := make([]string, r.Len()) + for i := 0; i < r.Len(); i++ { + rval[i] = r.Index(i).Interface().(fmt.Stringer).String() + } + return rval + +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/i18n/README-i18n.md b/vendor/github.com/cloudfoundry/cli/cf/i18n/README-i18n.md new file mode 100644 index 0000000..ce4d105 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/i18n/README-i18n.md @@ -0,0 +1,48 @@ +# CLI i18n Support + +The CLI currently supports a variety of languages. These translations can be accessed by setting either LC_ALL or LANG in your environment, or by setting your locale within the cli via `cf config -locale your_LOCALE # (e.g. fr_FR)`. + +Translations only affect messages generated by the CLI. Responses from server side components (Cloud Controller, etc.) will be internationalized separately and are likely to be English. + +If you are interested in submitting translations for a currently unsupported language/locale, please communicate with us via the [cf-dev](https://lists.cloudfoundry.org/archives/list/cf-dev@lists.cloudfoundry.org/) mailing list. + +## How can you contribute? + +If you see typos, errors in grammar, ambiguous strings or English after setting your locale, please find the appropriate entry in the corresponding `cf/i18n/resources/_.all.json` file and submit a [pull request](https://help.github.com/articles/creating-a-pull-request/) with the fix(es). It is much better to submit small pull requests as you complete translations, rather than submitting a large one. This makes it much easier to rapidly merge your changes in. You can also report translations needing fixes as an issue in Github. + +Pull requests should only contain changes to "translation" values; the "id" value should not change as it is the key which is used to find the translations, and will always be English. For example: + +Given a missing translation for "Create an org": +``` +[ + { + "id":"Create an org", + "translation":"" + }, + ... +] +``` + +Adding the translation would look like: +``` +[ + { + "id":"Create an org", + "translation":"Créez un org" + }, + ... +] +``` + +Finally, it is also important not to translate the argument names in templated strings. Templated strings are the ones which contain arguments, e.g., `{{.Name}}` or `{{.Username}}` and so on. The arguments can move to a different location on the translated string, however, the arguments cannot change, should not be translated, and should not be removed or new ones added. So for instance, the following string is translated in French as follows: + +``` +[ + ..., + { + "id": "Creating quota {{.QuotaName}} as {{.Username}}...", + "translation": "Créez quota {{.QuotaName}} étant {{.Username}}..." + }, + ... +] +``` diff --git a/vendor/github.com/cloudfoundry/cli/cf/i18n/excluded.json b/vendor/github.com/cloudfoundry/cli/cf/i18n/excluded.json new file mode 100644 index 0000000..ede5b16 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/i18n/excluded.json @@ -0,0 +1,41 @@ +{ + "excludedStrings" : [ + "", + " ", + "\n", + "\t", + "\n\t", + "extract_strings", + "excluded.json", + "i18n4go", + ".en.json", + ".extracted.json", + "recursive:", + ".json", + ".po", + ", column: ", + ", line: ", + ", offset: ", + "msgid ", + "msgstr ", + "# filename: ", + ".", + "\\", + "help", + ".go", + "", + "/", + "false", + "true", + + "allow-paid-service-plans" + ], + "excludedRegexps" : [ + "^\\d+$", + "^[-%]?\\w$", + "^\\w$", + "^json:", + "^\\w*[-]?quota[-]?\\w*$", + "^\\w+-paid-service-plans$" + ] +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/i18n/i18n.go b/vendor/github.com/cloudfoundry/cli/cf/i18n/i18n.go new file mode 100644 index 0000000..654a98f --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/i18n/i18n.go @@ -0,0 +1,86 @@ +package i18n + +import ( + "fmt" + "os" + "path" + "strings" + + "github.com/cloudfoundry/cli/cf/resources" + go_i18n "github.com/nicksnyder/go-i18n/i18n" + "github.com/nicksnyder/go-i18n/i18n/language" +) + +const ( + defaultLocale = "en-us" + lang = "LANG" + lcAll = "LC_ALL" + resourceSuffix = ".all.json" + zhTW = "zh-tw" + zhHK = "zh-hk" + zhHant = "zh-hant" + hyphen = "-" + underscore = "_" +) + +var T go_i18n.TranslateFunc + +type LocalReader interface { + Locale() string +} + +func Init(config LocalReader) go_i18n.TranslateFunc { + loadAsset("cf/i18n/resources/" + defaultLocale + resourceSuffix) + defaultTfunc := go_i18n.MustTfunc(defaultLocale) + + assetNames := resources.AssetNames() + + sources := []string{ + config.Locale(), + os.Getenv(lcAll), + os.Getenv(lang), + } + + for _, source := range sources { + if source == "" { + continue + } + + for _, l := range language.Parse(source) { + if l.Tag == zhTW || l.Tag == zhHK { + l.Tag = zhHant + } + + for _, assetName := range assetNames { + assetLocale := strings.ToLower(strings.Replace(path.Base(assetName), underscore, hyphen, -1)) + if strings.HasPrefix(assetLocale, l.Tag) { + loadAsset(assetName) + + t := go_i18n.MustTfunc(source) + + return func(translationID string, args ...interface{}) string { + if translated := t(translationID, args...); translated != translationID { + return translated + } + + return defaultTfunc(translationID, args...) + } + } + } + } + } + + return defaultTfunc +} + +func loadAsset(assetName string) { + assetBytes, err := resources.Asset(assetName) + if err != nil { + panic(fmt.Sprintf("Could not load asset '%s': %s", assetName, err.Error())) + } + + err = go_i18n.ParseTranslationFileBytes(assetName, assetBytes) + if err != nil { + panic(fmt.Sprintf("Could not load translations '%s': %s", assetName, err.Error())) + } +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/i18n/locale.go b/vendor/github.com/cloudfoundry/cli/cf/i18n/locale.go new file mode 100644 index 0000000..d6d4036 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/i18n/locale.go @@ -0,0 +1,55 @@ +package i18n + +import ( + "path" + "strings" + + "github.com/cloudfoundry/cli/cf/resources" + "github.com/nicksnyder/go-i18n/i18n/language" +) + +func SupportedLocales() []string { + languages := supportedLanguages() + localeNames := make([]string, len(languages)) + + for i, l := range languages { + localeParts := strings.Split(l.String(), "-") + lang := localeParts[0] + regionOrScript := localeParts[1] + + switch len(regionOrScript) { + case 2: // Region + localeNames[i] = lang + "-" + strings.ToUpper(regionOrScript) + case 4: // Script + localeNames[i] = lang + "-" + strings.Title(regionOrScript) + default: + localeNames[i] = l.String() + } + } + + return localeNames +} + +func IsSupportedLocale(locale string) bool { + for _, supportedLanguage := range supportedLanguages() { + for _, l := range language.Parse(locale) { + if supportedLanguage.String() == l.String() { + return true + } + } + } + + return false +} + +func supportedLanguages() []*language.Language { + assetNames := resources.AssetNames() + languages := []*language.Language{} + + for _, assetName := range assetNames { + assetLocale := strings.TrimSuffix(path.Base(assetName), resourceSuffix) + languages = append(languages, language.Parse(assetLocale)...) + } + + return languages +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/minimum_api_versions.go b/vendor/github.com/cloudfoundry/cli/cf/minimum_api_versions.go new file mode 100644 index 0000000..5dfd05c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/minimum_api_versions.go @@ -0,0 +1,16 @@ +package cf + +import "github.com/blang/semver" + +var ( + TCPRoutingMinimumAPIVersion, _ = semver.Make("2.53.0") // #111475922 + MultipleAppPortsMinimumAPIVersion, _ = semver.Make("2.51.0") + UpdateServicePlanMinimumAPIVersion, _ = semver.Make("2.16.0") + SetRolesByUsernameMinimumAPIVersion, _ = semver.Make("2.37.0") + ListUsersInOrgOrSpaceWithoutUAAMinimumAPIVersion, _ = semver.Make("2.21.0") + RoutePathMinimumAPIVersion, _ = semver.Make("2.36.0") + OrgAppInstanceLimitMinimumAPIVersion, _ = semver.Make("2.33.0") + SpaceAppInstanceLimitMinimumAPIVersion, _ = semver.Make("2.40.0") + NoaaMinimumAPIVersion, _ = semver.Make("2.29.0") + ReservedRoutePortsMinimumAPIVersion, _ = semver.Make("2.55.0") // #112023051 +) diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/app_event.go b/vendor/github.com/cloudfoundry/cli/cf/models/app_event.go new file mode 100644 index 0000000..7a3c9a2 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/app_event.go @@ -0,0 +1,11 @@ +package models + +import "time" + +type EventFields struct { + GUID string + Name string + Timestamp time.Time + Description string + ActorName string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/app_file.go b/vendor/github.com/cloudfoundry/cli/cf/models/app_file.go new file mode 100644 index 0000000..33f23d3 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/app_file.go @@ -0,0 +1,8 @@ +package models + +type AppFileFields struct { + Path string + Sha1 string + Size int64 + Mode string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/app_instance.go b/vendor/github.com/cloudfoundry/cli/cf/models/app_instance.go new file mode 100644 index 0000000..3be7f8e --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/app_instance.go @@ -0,0 +1,24 @@ +package models + +import "time" + +type InstanceState string + +const ( + InstanceStarting InstanceState = "starting" + InstanceRunning InstanceState = "running" + InstanceFlapping InstanceState = "flapping" + InstanceDown InstanceState = "down" + InstanceCrashed InstanceState = "crashed" +) + +type AppInstanceFields struct { + State InstanceState + Details string + Since time.Time + CPUUsage float64 // percentage + DiskQuota int64 // in bytes + DiskUsage int64 + MemQuota int64 + MemUsage int64 +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/application.go b/vendor/github.com/cloudfoundry/cli/cf/models/application.go new file mode 100644 index 0000000..75d1d79 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/application.go @@ -0,0 +1,186 @@ +package models + +import ( + "reflect" + "strings" + "time" +) + +type Application struct { + ApplicationFields + Stack *Stack + Routes []RouteSummary + Services []ServicePlanSummary +} + +func (model Application) HasRoute(route Route) bool { + for _, boundRoute := range model.Routes { + if boundRoute.GUID == route.GUID { + return true + } + } + return false +} + +func (model Application) ToParams() (params AppParams) { + state := strings.ToUpper(model.State) + params = AppParams{ + GUID: &model.GUID, + Name: &model.Name, + BuildpackURL: &model.BuildpackURL, + Command: &model.Command, + DiskQuota: &model.DiskQuota, + InstanceCount: &model.InstanceCount, + HealthCheckType: &model.HealthCheckType, + Memory: &model.Memory, + State: &state, + SpaceGUID: &model.SpaceGUID, + EnvironmentVars: &model.EnvironmentVars, + DockerImage: &model.DockerImage, + } + + if model.Stack != nil { + params.StackGUID = &model.Stack.GUID + } + + return +} + +type ApplicationFields struct { + GUID string + Name string + BuildpackURL string + Command string + Diego bool + DetectedStartCommand string + DiskQuota int64 // in Megabytes + EnvironmentVars map[string]interface{} + InstanceCount int + Memory int64 // in Megabytes + RunningInstances int + HealthCheckType string + HealthCheckTimeout int + State string + SpaceGUID string + StackGUID string + PackageUpdatedAt *time.Time + PackageState string + StagingFailedReason string + Buildpack string + DetectedBuildpack string + DockerImage string + EnableSSH bool + AppPorts []int +} + +type AppParams struct { + BuildpackURL *string + Command *string + DiskQuota *int64 + Domains *[]string + EnvironmentVars *map[string]interface{} + GUID *string + HealthCheckType *string + HealthCheckTimeout *int + DockerImage *string + Diego *bool + EnableSSH *bool + Hosts *[]string + RoutePath *string + InstanceCount *int + Memory *int64 + Name *string + NoHostname bool + NoRoute bool + UseRandomRoute bool + UseRandomPort bool + Path *string + ServicesToBind *[]string + SpaceGUID *string + StackGUID *string + StackName *string + State *string + PackageUpdatedAt *time.Time + AppPorts *[]int +} + +func (app *AppParams) Merge(other *AppParams) { + if other.AppPorts != nil { + app.AppPorts = other.AppPorts + } + if other.BuildpackURL != nil { + app.BuildpackURL = other.BuildpackURL + } + if other.Command != nil { + app.Command = other.Command + } + if other.DiskQuota != nil { + app.DiskQuota = other.DiskQuota + } + if other.DockerImage != nil { + app.DockerImage = other.DockerImage + } + if other.Domains != nil { + app.Domains = other.Domains + } + if other.EnableSSH != nil { + app.EnableSSH = other.EnableSSH + } + if other.EnvironmentVars != nil { + app.EnvironmentVars = other.EnvironmentVars + } + if other.GUID != nil { + app.GUID = other.GUID + } + if other.HealthCheckType != nil { + app.HealthCheckType = other.HealthCheckType + } + if other.HealthCheckTimeout != nil { + app.HealthCheckTimeout = other.HealthCheckTimeout + } + if other.Hosts != nil { + app.Hosts = other.Hosts + } + if other.InstanceCount != nil { + app.InstanceCount = other.InstanceCount + } + if other.Memory != nil { + app.Memory = other.Memory + } + if other.Name != nil { + app.Name = other.Name + } + if other.Path != nil { + app.Path = other.Path + } + if other.RoutePath != nil { + app.RoutePath = other.RoutePath + } + if other.ServicesToBind != nil { + app.ServicesToBind = other.ServicesToBind + } + if other.SpaceGUID != nil { + app.SpaceGUID = other.SpaceGUID + } + if other.StackGUID != nil { + app.StackGUID = other.StackGUID + } + if other.StackName != nil { + app.StackName = other.StackName + } + if other.State != nil { + app.State = other.State + } + + app.NoRoute = app.NoRoute || other.NoRoute + app.NoHostname = app.NoHostname || other.NoHostname + app.UseRandomRoute = app.UseRandomRoute || other.UseRandomRoute +} + +func (app *AppParams) IsEmpty() bool { + return reflect.DeepEqual(*app, AppParams{}) +} + +func (app *AppParams) IsHostEmpty() bool { + return app.Hosts == nil || len(*app.Hosts) == 0 +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/buildpack.go b/vendor/github.com/cloudfoundry/cli/cf/models/buildpack.go new file mode 100644 index 0000000..8db5a8c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/buildpack.go @@ -0,0 +1,11 @@ +package models + +type Buildpack struct { + GUID string + Name string + Position *int + Enabled *bool + Key string + Filename string + Locked *bool +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/domain.go b/vendor/github.com/cloudfoundry/cli/cf/models/domain.go new file mode 100644 index 0000000..5f25e4f --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/domain.go @@ -0,0 +1,19 @@ +package models + +type DomainFields struct { + GUID string + Name string + OwningOrganizationGUID string + RouterGroupGUID string + RouterGroupType string + Shared bool +} + +func (model DomainFields) URLForHostAndPath(host, path string, port int) string { + return (&RoutePresenter{ + Host: host, + Domain: model.Name, + Path: path, + Port: port, + }).URL() +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/environment.go b/vendor/github.com/cloudfoundry/cli/cf/models/environment.go new file mode 100644 index 0000000..48a6fe7 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/environment.go @@ -0,0 +1,19 @@ +package models + +func NewEnvironment() *Environment { + return &Environment{ + System: make(map[string]interface{}), + Application: make(map[string]interface{}), + Environment: make(map[string]interface{}), + Running: make(map[string]interface{}), + Staging: make(map[string]interface{}), + } +} + +type Environment struct { + System map[string]interface{} `json:"system_env_json,omitempty"` + Environment map[string]interface{} `json:"environment_json,omitempty"` + Running map[string]interface{} `json:"running_env_json,omitempty"` + Staging map[string]interface{} `json:"staging_env_json,omitempty"` + Application map[string]interface{} `json:"application_env_json,omitempty"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/environment_variable.go b/vendor/github.com/cloudfoundry/cli/cf/models/environment_variable.go new file mode 100644 index 0000000..db14923 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/environment_variable.go @@ -0,0 +1,6 @@ +package models + +type EnvironmentVariable struct { + Name string + Value string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/feature_flag.go b/vendor/github.com/cloudfoundry/cli/cf/models/feature_flag.go new file mode 100644 index 0000000..f50389c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/feature_flag.go @@ -0,0 +1,7 @@ +package models + +type FeatureFlag struct { + Name string `json:"name"` + Enabled bool `json:"enabled"` + ErrorMessage string `json:"error_message"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/organization.go b/vendor/github.com/cloudfoundry/cli/cf/models/organization.go new file mode 100644 index 0000000..12ed3fa --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/organization.go @@ -0,0 +1,14 @@ +package models + +type OrganizationFields struct { + GUID string + Name string + QuotaDefinition QuotaFields +} + +type Organization struct { + OrganizationFields + Spaces []SpaceFields + Domains []DomainFields + SpaceQuotas []SpaceQuota +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/plugin_repo.go b/vendor/github.com/cloudfoundry/cli/cf/models/plugin_repo.go new file mode 100644 index 0000000..6e0398d --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/plugin_repo.go @@ -0,0 +1,6 @@ +package models + +type PluginRepo struct { + Name string + URL string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/quota.go b/vendor/github.com/cloudfoundry/cli/cf/models/quota.go new file mode 100644 index 0000000..77712d9 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/quota.go @@ -0,0 +1,27 @@ +package models + +import "encoding/json" + +type QuotaFields struct { + GUID string `json:"guid,omitempty"` + Name string `json:"name"` + MemoryLimit int64 `json:"memory_limit"` // in Megabytes + InstanceMemoryLimit int64 `json:"instance_memory_limit"` // in Megabytes + RoutesLimit int `json:"total_routes"` + ServicesLimit int `json:"total_services"` + NonBasicServicesAllowed bool `json:"non_basic_services_allowed"` + AppInstanceLimit int `json:"app_instance_limit"` + ReservedRoutePorts json.Number `json:"total_reserved_route_ports,omitempty"` +} + +type QuotaResponse struct { + GUID string `json:"guid,omitempty"` + Name string `json:"name"` + MemoryLimit int64 `json:"memory_limit"` // in Megabytes + InstanceMemoryLimit int64 `json:"instance_memory_limit"` // in Megabytes + RoutesLimit int `json:"total_routes"` + ServicesLimit int `json:"total_services"` + NonBasicServicesAllowed bool `json:"non_basic_services_allowed"` + AppInstanceLimit json.Number `json:"app_instance_limit"` + ReservedRoutePorts json.Number `json:"total_reserved_route_ports"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/role.go b/vendor/github.com/cloudfoundry/cli/cf/models/role.go new file mode 100644 index 0000000..da86c66 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/role.go @@ -0,0 +1,60 @@ +package models + +import "errors" + +type Role int + +const ( + RoleUnknown Role = iota - 1 + RoleOrgUser + RoleOrgManager + RoleBillingManager + RoleOrgAuditor + RoleSpaceManager + RoleSpaceDeveloper + RoleSpaceAuditor +) + +var ErrUnknownRole = errors.New("Unknown Role") + +func RoleFromString(roleString string) (Role, error) { + switch roleString { + case "OrgManager": + return RoleOrgManager, nil + case "BillingManager": + return RoleBillingManager, nil + case "OrgAuditor": + return RoleOrgAuditor, nil + case "SpaceManager": + return RoleSpaceManager, nil + case "SpaceDeveloper": + return RoleSpaceDeveloper, nil + case "SpaceAuditor": + return RoleSpaceAuditor, nil + default: + return RoleUnknown, ErrUnknownRole + } +} + +func (r Role) ToString() string { + switch r { + case RoleUnknown: + return "RoleUnknown" + case RoleOrgUser: + return "RoleOrgUser" + case RoleOrgManager: + return "RoleOrgManager" + case RoleBillingManager: + return "RoleBillingManager" + case RoleOrgAuditor: + return "RoleOrgAuditor" + case RoleSpaceManager: + return "RoleSpaceManager" + case RoleSpaceDeveloper: + return "RoleSpaceDeveloper" + case RoleSpaceAuditor: + return "RoleSpaceAuditor" + default: + return "" + } +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/route.go b/vendor/github.com/cloudfoundry/cli/cf/models/route.go new file mode 100644 index 0000000..85f9261 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/route.go @@ -0,0 +1,55 @@ +package models + +import ( + "fmt" + "net/url" + "strings" +) + +type Route struct { + GUID string + Host string + Domain DomainFields + Path string + Port int + + Space SpaceFields + Apps []ApplicationFields + ServiceInstance ServiceInstanceFields +} + +func (r Route) URL() string { + return (&RoutePresenter{ + Host: r.Host, + Domain: r.Domain.Name, + Path: r.Path, + Port: r.Port, + }).URL() +} + +type RoutePresenter struct { + Host string + Domain string + Path string + Port int +} + +func (r *RoutePresenter) URL() string { + var host string + if r.Host != "" { + host = r.Host + "." + r.Domain + } else { + host = r.Domain + } + + if r.Port != 0 { + host = fmt.Sprintf("%s:%d", host, r.Port) + } + + u := url.URL{ + Host: host, + Path: r.Path, + } + + return strings.TrimPrefix(u.String(), "//") // remove the empty scheme +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/route_summary.go b/vendor/github.com/cloudfoundry/cli/cf/models/route_summary.go new file mode 100644 index 0000000..20e7b9d --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/route_summary.go @@ -0,0 +1,18 @@ +package models + +type RouteSummary struct { + GUID string + Host string + Domain DomainFields + Path string + Port int +} + +func (r RouteSummary) URL() string { + return (&RoutePresenter{ + Host: r.Host, + Domain: r.Domain.Name, + Path: r.Path, + Port: r.Port, + }).URL() +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/router_group.go b/vendor/github.com/cloudfoundry/cli/cf/models/router_group.go new file mode 100644 index 0000000..38414d7 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/router_group.go @@ -0,0 +1,9 @@ +package models + +type RouterGroups []RouterGroup + +type RouterGroup struct { + GUID string `json:"guid"` + Name string `json:"name"` + Type string `json:"type"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/security_group.go b/vendor/github.com/cloudfoundry/cli/cf/models/security_group.go new file mode 100644 index 0000000..ca23693 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/security_group.go @@ -0,0 +1,22 @@ +package models + +// represents just the attributes for an security group +type SecurityGroupFields struct { + Name string + GUID string + SpaceURL string `json:"spaces_url,omitempty"` + Rules []map[string]interface{} +} + +// represents the JSON that we send up to CC when the user creates / updates a record +type SecurityGroupParams struct { + Name string `json:"name,omitempty"` + GUID string `json:"guid,omitempty"` + Rules []map[string]interface{} `json:"rules"` +} + +// represents a fully instantiated model returned by the CC (e.g.: with its attributes and the fields for its child objects) +type SecurityGroup struct { + SecurityGroupFields + Spaces []Space +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_auth_token.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_auth_token.go new file mode 100644 index 0000000..9b2b097 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_auth_token.go @@ -0,0 +1,8 @@ +package models + +type ServiceAuthTokenFields struct { + GUID string + Label string + Provider string + Token string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_binding.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_binding.go new file mode 100644 index 0000000..248d8c6 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_binding.go @@ -0,0 +1,13 @@ +package models + +type ServiceBindingRequest struct { + AppGUID string `json:"app_guid"` + ServiceInstanceGUID string `json:"service_instance_guid"` + Params map[string]interface{} `json:"parameters,omitempty"` +} + +type ServiceBindingFields struct { + GUID string + URL string + AppGUID string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_broker.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_broker.go new file mode 100644 index 0000000..23ea66b --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_broker.go @@ -0,0 +1,10 @@ +package models + +type ServiceBroker struct { + GUID string + Name string + Username string + Password string + URL string + Services []ServiceOffering +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_instance.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_instance.go new file mode 100644 index 0000000..ae2ccfe --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_instance.go @@ -0,0 +1,47 @@ +package models + +type LastOperationFields struct { + Type string + State string + Description string + CreatedAt string + UpdatedAt string +} + +type ServiceInstanceCreateRequest struct { + Name string `json:"name"` + SpaceGUID string `json:"space_guid"` + PlanGUID string `json:"service_plan_guid,omitempty"` + Params map[string]interface{} `json:"parameters,omitempty"` + Tags []string `json:"tags,omitempty"` +} + +type ServiceInstanceUpdateRequest struct { + PlanGUID string `json:"service_plan_guid,omitempty"` + Params map[string]interface{} `json:"parameters,omitempty"` + Tags []string `json:"tags"` +} + +type ServiceInstanceFields struct { + GUID string + Name string + LastOperation LastOperationFields + SysLogDrainURL string + RouteServiceURL string + ApplicationNames []string + Params map[string]interface{} + DashboardURL string + Tags []string +} + +type ServiceInstance struct { + ServiceInstanceFields + ServiceBindings []ServiceBindingFields + ServiceKeys []ServiceKeyFields + ServicePlan ServicePlanFields + ServiceOffering ServiceOfferingFields +} + +func (inst ServiceInstance) IsUserProvided() bool { + return inst.ServicePlan.GUID == "" +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_key.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_key.go new file mode 100644 index 0000000..ba48599 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_key.go @@ -0,0 +1,20 @@ +package models + +type ServiceKeyFields struct { + Name string + GUID string + URL string + ServiceInstanceGUID string + ServiceInstanceURL string +} + +type ServiceKeyRequest struct { + Name string `json:"name"` + ServiceInstanceGUID string `json:"service_instance_guid"` + Params map[string]interface{} `json:"parameters,omitempty"` +} + +type ServiceKey struct { + Fields ServiceKeyFields + Credentials map[string]interface{} +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_offering.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_offering.go new file mode 100644 index 0000000..efd8766 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_offering.go @@ -0,0 +1,31 @@ +package models + +type ServiceOfferingFields struct { + GUID string + BrokerGUID string + Label string + Provider string + Version string + Description string + DocumentationURL string + Requires []string +} + +type ServiceOffering struct { + ServiceOfferingFields + Plans []ServicePlanFields +} + +type ServiceOfferings []ServiceOffering + +func (s ServiceOfferings) Len() int { + return len(s) +} + +func (s ServiceOfferings) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s ServiceOfferings) Less(i, j int) bool { + return s[i].Label < s[j].Label +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_plan.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_plan.go new file mode 100644 index 0000000..4c7e65d --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_plan.go @@ -0,0 +1,34 @@ +package models + +type ServicePlanFields struct { + GUID string + Name string + Free bool + Public bool + Description string + Active bool + ServiceOfferingGUID string + OrgNames []string +} + +type ServicePlan struct { + ServicePlanFields + ServiceOffering ServiceOfferingFields +} + +type ServicePlanSummary struct { + GUID string + Name string +} + +func (servicePlanFields ServicePlanFields) OrgHasVisibility(orgName string) bool { + if servicePlanFields.Public { + return true + } + for _, org := range servicePlanFields.OrgNames { + if org == orgName { + return true + } + } + return false +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/service_plan_visibility.go b/vendor/github.com/cloudfoundry/cli/cf/models/service_plan_visibility.go new file mode 100644 index 0000000..b50bb41 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/service_plan_visibility.go @@ -0,0 +1,7 @@ +package models + +type ServicePlanVisibilityFields struct { + GUID string `json:"guid"` + ServicePlanGUID string `json:"service_plan_guid"` + OrganizationGUID string `json:"organization_guid"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/space.go b/vendor/github.com/cloudfoundry/cli/cf/models/space.go new file mode 100644 index 0000000..43e492a --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/space.go @@ -0,0 +1,17 @@ +package models + +type SpaceFields struct { + GUID string + Name string + AllowSSH bool +} + +type Space struct { + SpaceFields + Organization OrganizationFields + Applications []ApplicationFields + ServiceInstances []ServiceInstanceFields + Domains []DomainFields + SecurityGroups []SecurityGroupFields + SpaceQuotaGUID string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/space_quota.go b/vendor/github.com/cloudfoundry/cli/cf/models/space_quota.go new file mode 100644 index 0000000..f0f623d --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/space_quota.go @@ -0,0 +1,52 @@ +package models + +import ( + "encoding/json" + "strconv" + + "github.com/cloudfoundry/cli/cf/formatters" +) + +type SpaceQuota struct { + GUID string `json:"guid,omitempty"` + Name string `json:"name"` + MemoryLimit int64 `json:"memory_limit"` // in Megabytes + InstanceMemoryLimit int64 `json:"instance_memory_limit"` // in Megabytes + RoutesLimit int `json:"total_routes"` + ServicesLimit int `json:"total_services"` + NonBasicServicesAllowed bool `json:"non_basic_services_allowed"` + OrgGUID string `json:"organization_guid"` + AppInstanceLimit int `json:"app_instance_limit"` +} + +func (q SpaceQuota) FormattedMemoryLimit() string { + return formatters.ByteSize(q.MemoryLimit * formatters.MEGABYTE) +} + +func (q SpaceQuota) FormattedInstanceMemoryLimit() string { + if q.InstanceMemoryLimit == -1 { + return "unlimited" + } + return formatters.ByteSize(q.InstanceMemoryLimit * formatters.MEGABYTE) +} + +func (q SpaceQuota) FormattedAppInstanceLimit() string { + appInstanceLimit := "unlimited" + if q.AppInstanceLimit != -1 { //TODO - figure out how to use resources.UnlimitedAppInstances + appInstanceLimit = strconv.Itoa(q.AppInstanceLimit) + } + + return appInstanceLimit +} + +type SpaceQuotaResponse struct { + GUID string `json:"guid,omitempty"` + Name string `json:"name"` + MemoryLimit int64 `json:"memory_limit"` // in Megabytes + InstanceMemoryLimit int64 `json:"instance_memory_limit"` // in Megabytes + RoutesLimit int `json:"total_routes"` + ServicesLimit int `json:"total_services"` + NonBasicServicesAllowed bool `json:"non_basic_services_allowed"` + OrgGUID string `json:"organization_guid"` + AppInstanceLimit json.Number `json:"app_instance_limit"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/stack.go b/vendor/github.com/cloudfoundry/cli/cf/models/stack.go new file mode 100644 index 0000000..9e30f66 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/stack.go @@ -0,0 +1,7 @@ +package models + +type Stack struct { + GUID string + Name string + Description string +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/user.go b/vendor/github.com/cloudfoundry/cli/cf/models/user.go new file mode 100644 index 0000000..afccd1f --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/user.go @@ -0,0 +1,8 @@ +package models + +type UserFields struct { + GUID string + Username string + Password string + IsAdmin bool +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/models/user_provided_service.go b/vendor/github.com/cloudfoundry/cli/cf/models/user_provided_service.go new file mode 100644 index 0000000..55e1713 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/models/user_provided_service.go @@ -0,0 +1,18 @@ +package models + +type UserProvidedServiceSummary struct { + Total int `json:"total_results"` + Resources []UserProvidedServiceEntity `json:"resources"` +} + +type UserProvidedService struct { + Name string `json:"name,omitempty"` + Credentials map[string]interface{} `json:"credentials"` + SpaceGUID string `json:"space_guid,omitempty"` + SysLogDrainURL string `json:"syslog_drain_url"` + RouteServiceURL string `json:"route_service_url"` +} + +type UserProvidedServiceEntity struct { + UserProvidedService `json:"entity"` +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/resources/i18n_resources.go b/vendor/github.com/cloudfoundry/cli/cf/resources/i18n_resources.go new file mode 100644 index 0000000..f7efb72 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/resources/i18n_resources.go @@ -0,0 +1,448 @@ +// Code generated by go-bindata. +// sources: +// cf/i18n/resources/de-de.all.json +// cf/i18n/resources/en-us.all.json +// cf/i18n/resources/es-es.all.json +// cf/i18n/resources/fr-fr.all.json +// cf/i18n/resources/it-it.all.json +// cf/i18n/resources/ja-jp.all.json +// cf/i18n/resources/ko-kr.all.json +// cf/i18n/resources/pt-br.all.json +// cf/i18n/resources/zh-hans.all.json +// cf/i18n/resources/zh-hant.all.json +// DO NOT EDIT! + +package resources + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" + "time" +) + +func bindataRead(data []byte, name string) ([]byte, error) { + gz, err := gzip.NewReader(bytes.NewBuffer(data)) + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + + var buf bytes.Buffer + _, err = io.Copy(&buf, gz) + clErr := gz.Close() + + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + if clErr != nil { + return nil, err + } + + return buf.Bytes(), nil +} + +type asset struct { + bytes []byte + info os.FileInfo +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time +} + +func (fi bindataFileInfo) Name() string { + return fi.name +} +func (fi bindataFileInfo) Size() int64 { + return fi.size +} +func (fi bindataFileInfo) Mode() os.FileMode { + return fi.mode +} +func (fi bindataFileInfo) ModTime() time.Time { + return fi.modTime +} +func (fi bindataFileInfo) IsDir() bool { + return false +} +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _cfI18nResourcesDeDeAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xfd\x5d\x73\xe3\x46\x92\x28\x0c\xdf\xbf\xbf\x02\x4f\x9f\xd8\x90\xbc\x21\xaa\x6d\xcf\xec\xc6\x89\x3e\xf1\xc6\x1e\xb6\xc4\x56\x6b\x5b\x2d\x71\x48\xa9\xbd\x6e\xf7\x44\x0f\x48\x16\x49\x8c\x40\x80\x8b\x0f\xc9\xd2\xac\xef\xf6\x37\x9c\xab\x8d\x98\x1b\xff\x06\x5f\xf9\x4e\x7f\xec\xcd\x8f\xaa\x42\x01\x44\x01\x05\x92\x6a\x7b\xcf\xfb\xec\xc6\xb8\x29\x12\xc8\xcc\xca\xca\xca\xca\xca\xca\x8f\x1f\xfe\x3f\x9e\xf7\x37\xf8\x9f\xe7\xbd\x08\x66\x2f\x5e\x79\x2f\x3e\x45\x9f\xa2\xeb\xf3\xe1\xab\x4f\xd1\x8b\x23\xfe\x3e\x4b\xfc\x28\x0d\xfd\x2c\x88\x23\xe3\x01\x7a\x02\x1e\xf8\xe9\xa8\x0e\xc2\xf7\x71\x9e\x78\xff\x3a\xbe\xba\xf4\xd2\x2c\x09\xa2\x85\x97\x3e\x44\x99\xff\xa3\x17\xa4\x5e\x10\xdd\xf9\x61\x30\x3b\xf6\xbc\x61\x12\xaf\x45\x62\xfc\x94\x2d\x83\xf4\x95\xe7\x4d\xe7\x5e\x2a\xb2\x5e\x92\x47\x11\xbc\xda\x13\xd1\x5d\x90\xc4\xd1\x4a\x44\x59\xef\xce\x4f\x02\x7f\x12\x8a\xde\x22\x89\xf3\xb5\x77\xf0\xb7\x4f\x2f\x22\x7f\x25\x3e\xbd\x78\xf5\xe9\x05\x80\xcd\xe1\xd3\xd1\xe6\x57\x3f\x1d\x34\x8c\xe5\x7c\x99\x08\x22\xb5\xf7\x51\x04\xd3\xa5\x88\xe6\x71\xb8\x10\x9a\xa8\xcc\xcb\xa3\xc5\xd3\xaf\x61\x16\x2c\x80\xe4\xd3\x40\x78\xb7\x71\x92\x88\xdb\x4c\x78\x63\x7e\x26\xf4\xf3\x4c\x64\xaf\x9e\x85\xec\x67\x65\x70\x9a\xf9\x8b\xff\x86\x0c\xde\x2b\xd9\x16\x06\xff\xa3\x77\xbd\x14\xa9\x00\x7c\xc9\x5d\x30\x15\xde\x3a\x84\x61\x79\x4b\xff\x4e\x78\x7e\xe4\xf9\x69\x1a\x4f\x03\x3f\x13\x33\x6f\x1a\xa7\xd9\xb1\x77\x92\x08\x18\x32\xcc\x82\xaf\xdf\x08\x22\xa0\x33\x82\x0f\xf7\x41\x18\xc2\x5f\x53\x98\x2f\x64\x3f\xbf\x61\x65\xd7\x3f\x22\x07\x52\x11\x79\x63\x86\xb3\x0e\x9f\x7e\x8e\xe0\xcf\x34\x88\x66\xde\x3b\x78\x15\x3e\x3f\xe6\x0b\x11\x27\xb3\x48\x00\xe6\xd7\x22\x58\x79\x83\x04\xbe\x0f\x43\xf8\x49\x04\x11\x4c\xb8\x7c\x97\x49\x78\xf4\xe6\x3e\xfd\x36\x43\xc0\x0a\x86\x1f\x1d\xdb\xc6\xde\x5f\xaf\x41\xa8\xfc\x04\x86\xd7\xa0\x04\xf0\x29\x98\x45\x7a\x2e\xb3\xab\x02\x7c\xec\x6f\x7f\x3b\x86\x7f\x2e\x81\xf9\x3f\xfd\xe4\xdd\xfb\xa9\x82\xee\xe5\x29\xf2\x4c\x72\x65\xb5\xf2\x61\x88\x7f\x81\x87\x4f\xf8\xf3\x4f\x3f\xfd\xa5\x05\x7f\x19\x70\x9e\xcc\x84\xb7\x0a\x32\x1e\xe8\x0a\x58\x33\x17\xcb\xb0\x20\xf2\xd5\x26\x70\x0b\xd1\x97\xb1\xe7\xaf\x03\x4f\x44\xb3\x75\x1c\x44\x19\x4a\x9d\x7d\xc6\x06\xa9\x44\x7d\x0b\x0c\xf7\xfa\xc3\xf3\xde\x00\xde\xcb\xa3\xdb\xcc\x9b\x03\xea\x85\x08\xc5\x22\xb3\x32\x7b\x14\x83\x6c\x7b\x59\xec\x4d\x04\xac\x83\x95\xbf\x5e\x03\x5f\x80\x1f\x51\x9c\x79\x20\x32\x09\x08\x77\xf8\xe0\xc9\xef\xe1\xb1\x6c\x09\x12\xb8\x5e\x87\xc1\x94\x48\xb0\x93\x85\x0b\x89\x80\x1f\x79\x33\x01\x60\xbc\x8f\x39\xca\x4c\x8e\x42\x9a\xcf\x17\x62\x19\x4f\xe0\xcb\x7b\x01\x94\x83\x74\xc5\x61\x78\x44\x6b\x71\x15\xe3\x7a\x02\x19\xbf\x65\x51\xea\x47\xf7\xc0\x06\x7c\xcb\x90\x3a\xdb\x60\x70\xdf\xf0\xbc\x1b\x90\xb2\x03\x58\xab\x2b\x3f\xb9\x15\x19\xac\x1c\x58\x04\xbd\xd4\x1b\x0f\x46\x1f\xce\x4f\x06\x07\x38\x8a\xbb\x40\xdc\x03\x59\xe9\x34\x09\xd6\x48\x72\xea\xc5\x73\x58\x23\xb3\xe0\x2e\x98\xe5\x7e\x28\x97\x1b\x7c\xe7\x7b\x8b\xe0\x0e\x09\x64\x89\xb6\x0f\x97\x76\x24\xcf\xfb\x20\x12\xa4\x17\xd7\x4f\xd0\x48\xc5\x91\x97\xa3\x84\xa4\x53\x50\x4e\xc1\x04\xc6\xc7\x8b\xe7\x51\x84\x38\xea\x21\xad\x3a\x5a\x4d\x29\x2c\x95\x85\x58\x08\xe0\x56\xb1\x2a\xe1\xbb\xc7\xfc\x51\x04\xf0\x56\x33\x33\xfa\x69\x1a\x2c\x22\x2f\x89\x43\x00\x74\x1f\x64\x4b\x50\x4d\x20\x83\x3c\xb1\xc0\xa8\x04\x04\x17\x75\x5a\x9c\x2c\x7a\xf8\xd0\x81\x87\x8b\xa0\xfe\x99\x74\x0d\x63\xe0\xa7\x5a\xd8\x30\x8a\x69\xc1\xe3\x5a\x68\x43\x97\xbb\xa0\x83\xb9\xa7\x99\xb7\x2e\x18\x1a\x2b\xcd\x3b\x82\x7a\x73\xed\x27\x0b\x91\xe9\x95\x46\x53\x9e\xd1\x77\x5e\x04\x13\x4f\x90\x5b\x86\x50\x99\xc8\x5a\xb0\x34\x87\x38\x47\x11\x80\xcd\xe1\xbf\xaf\x41\xd0\x61\x87\x01\x72\xbd\x28\xcf\x1e\xdb\x26\x47\x13\x6c\x23\x14\xd8\xd4\x9d\xcc\x4d\xf2\x88\x3a\xef\x2a\x59\xf8\x51\x90\x12\x08\xcf\x0f\x53\xef\x63\x20\x42\x58\x8b\xe9\x63\x7e\xff\xf4\xf3\x32\x6c\xe1\x6e\x2e\x57\x55\x18\xc3\xe6\xe7\xf5\x7c\xd4\x34\x5e\xaf\x97\xde\x06\xeb\x5e\x9a\x86\x3d\xda\xf3\x09\xf8\x01\xd0\x4d\x8f\xa2\x0e\x6b\x78\x0a\xc6\x9a\xe6\xeb\x75\x22\x52\x36\x0c\x3c\x91\x24\x71\xd2\x6d\xc0\xae\x04\x81\x0a\x72\x20\x89\x38\x36\xe3\xfd\xef\x0d\xe8\x6e\x78\x09\xa6\x32\x8f\x32\xd0\x52\xc9\xd3\xaf\xd3\x5b\xeb\x8c\xc2\xa7\x93\x37\x9f\x2f\xfb\xef\x07\xb0\x93\xac\x1f\x7a\x29\x98\x47\xb0\x4c\xc7\x57\x37\xa3\x93\x41\xaf\x3f\x1c\x7a\xd7\xfd\xd1\xd9\xe0\x9a\x3e\xfe\x00\x7a\x40\xfe\x39\x1e\xf6\x4f\x06\xf0\x45\xac\xbe\xb8\x1a\x9d\xfd\xf9\xcf\xf0\x45\x2f\x8a\x7b\x09\xef\x1c\x7f\xb6\xee\x42\xcf\x8d\xd5\x36\xd4\x2b\x52\x9a\xb0\xab\x3f\x78\xeb\x24\x06\x9d\x09\x0a\xc9\x0b\x51\x7d\x83\xca\xa4\x9d\xb4\x37\x13\x61\x00\xeb\x1f\x37\x0d\x7f\x81\xf3\xeb\x67\x6c\x89\xc0\x3e\x73\x9f\x04\x19\xda\x00\x72\x3b\xf9\x70\xd2\x1f\x7e\x96\x7a\x71\xec\x19\x56\x95\xa7\xac\x2a\x6f\x0e\x12\xe5\x47\x0f\xde\x24\x46\x7d\x61\xec\x3f\xa9\x4d\x23\x1b\x54\x7a\xca\x38\x41\x89\xa1\xf5\x70\x01\xa4\xca\xad\x1a\x18\xb6\x04\x9b\x04\x48\x4e\x81\xb4\x05\xe8\xa0\x47\x24\xed\x1a\x89\x7e\x04\x93\x09\xe4\x6d\xfe\xf4\xeb\x02\x14\xf4\x11\x4a\x86\x07\x7f\x00\x29\x00\x0e\xf6\x75\x50\xdb\x33\xd2\xca\x7a\x93\x82\xcf\x01\x19\x3a\xde\xcd\x8a\x7e\x5f\xa4\x7a\x0c\xe5\x61\x2e\x48\xf5\x07\xa2\xd8\x04\xed\x92\x55\xc3\x6e\xb9\x1f\x81\x92\x14\xd3\x60\x1e\x4c\x81\xeb\xd1\x3c\x58\xe4\x09\x2f\xef\xb5\x9f\x80\x51\x02\x62\x8b\xd6\x38\xcc\x0d\xc9\x38\x9b\xeb\xf1\xe4\xaf\x62\x9a\xc1\xd7\xbd\x10\x58\x71\xfc\x29\x32\x84\x28\x5f\xc3\x42\x00\xa0\x72\x93\xe9\x4d\xdd\x0d\x59\x34\xb4\x6d\x92\x31\x0f\x60\xf8\x40\x60\xe6\x07\x11\x1d\x15\x76\x24\xfe\xd8\x23\x5c\x60\x21\xc3\xb3\xb0\xa5\x49\x39\x32\xde\x63\x8c\x60\x45\x4c\xd8\x5e\x9e\x80\x81\x81\x76\x0e\x88\x51\x22\x50\x48\xee\x8a\x57\x99\xbe\x36\x46\x0c\xfb\xd7\x6f\x3f\x5f\x5f\x7d\x7e\x73\x7e\x31\x90\x63\x1d\xfc\xe8\xaf\xd6\x80\x07\x64\x7e\x83\xc4\x57\xf4\xc4\xdf\xe8\xbf\xf0\x7f\x9f\x5e\x4c\xc3\x1c\x64\x2e\xf9\x1c\x81\x2a\x4a\x81\x75\xc5\x6f\xfc\x33\x08\x76\x86\x5f\xff\xd3\x51\xe9\xfb\x95\x58\xc5\xc9\xc3\xe7\xd5\x04\x7f\xfb\xe6\xeb\x6f\xff\xa8\x7e\xfd\x89\x3e\xfc\xd4\x51\xfa\xe5\x80\x80\xf1\x8f\xc0\x78\x90\x40\xb4\xc7\x0d\xde\xa7\x9a\x87\xc8\x7a\x5c\x2b\x2b\x4f\x9e\x8d\x00\x02\x9d\xa1\xae\x60\x7c\xb7\x28\x3f\x19\xac\x96\x40\x24\x59\x65\x99\x3c\x97\x44\x6d\xae\xe2\x53\x80\x1c\xd0\x2a\xde\x1c\x56\x64\x1b\x57\xd4\x36\xb0\xca\x68\x58\xd4\x4e\xd1\x26\x9b\xfb\x33\xfa\x75\xa8\x60\xcd\x88\x80\x5b\x3f\x22\x88\x5a\xca\x12\xde\x6e\x94\xa0\xe9\x37\xe5\xe1\x88\xc9\x4e\xe1\x8f\x2d\x64\x0e\x8e\x5b\xe9\x1a\xf7\x6d\xd2\x43\x88\x55\x8d\x22\x35\x47\x51\x11\xbf\x67\x94\xbf\xdf\x40\x67\xbd\x92\xbc\x50\x8c\x9b\x80\xe1\xae\xd9\x06\x3b\x1d\x7f\x2b\x35\xed\xe7\xf3\xcb\xf1\x75\xff\x12\xb6\xbb\xff\xff\xd5\x66\xee\x0c\xda\x55\xcb\xad\x45\xb2\x0a\xe0\xc8\x01\x2b\x0e\x05\xe6\xd3\x8b\x44\xf8\xb3\x5e\x1c\x85\x0f\x9f\x5e\xfc\x5e\x15\xd6\x97\x17\xa7\xff\xeb\x55\xd9\x4e\x02\xb7\x9d\x8a\x73\x92\xbd\xdf\x81\xb2\x9a\xa2\xa7\xae\xd0\xf2\x92\x27\xde\xf0\xa2\x7f\xf9\xdf\x48\x65\xed\x5f\x63\xed\xca\xa7\xff\xd7\x3e\xdb\x52\xdd\x7d\x29\x81\xfc\x8d\x94\xde\x33\xea\xbc\x67\x10\xd9\x6d\x75\xdf\x97\xb6\xee\x86\xb8\x76\xd3\x65\x9c\x87\x33\x5a\xe2\xde\x63\xb0\xa6\x65\x7c\x04\x9f\xf3\x24\xe4\x75\x5d\x7c\x89\xc7\x77\x2f\x8c\xa7\x20\x06\xb3\x20\x81\xf5\x07\x68\x8f\xbd\x61\x9c\x06\xa4\x70\x82\x14\x7e\x5e\xd3\x5f\x77\x82\x45\x57\x24\x47\xe8\x05\x4c\x41\x8b\x05\x71\x12\x64\x0f\x47\xe4\x99\x84\x27\xd3\x98\x7c\xf7\xf3\x24\x5e\x01\xc8\x7b\x91\x66\x88\x6d\x19\x2c\x96\xc2\x7e\xb1\x61\x0a\x01\x3a\x9b\x33\x29\x83\xb7\xf1\x0a\x10\xac\x70\x9d\x48\x81\x3c\xe2\x1f\x6e\x46\x17\xc5\x9c\x9b\x4f\x45\x52\x02\x48\x48\x70\x86\xc2\xf8\xd6\x47\xef\x2a\x08\xdd\x23\x7a\xff\x22\xa4\x11\xb7\x44\xba\x4b\x32\xc6\x98\x31\x64\x3d\xce\x85\x1f\x3d\x0a\xef\xa3\xbf\x0c\x8f\x3c\xf4\xd1\x93\xdf\x60\xc8\xc3\x7d\xfa\x99\xbd\xf7\xe4\x1f\xbd\x0f\x92\x99\x77\x07\x30\x10\x65\x14\x88\x59\x12\x2c\xe4\x45\x4c\xe2\x2d\x9f\x7e\x99\x2e\xe9\x2f\x84\x44\xdc\x41\x3a\xed\xde\x04\x52\xdb\xbc\x35\xcc\x58\x09\x6f\x61\x5a\x9e\x67\x6a\xfa\xf9\x4e\x0a\xef\x87\x16\xa0\x6b\xfd\x24\xf1\x1f\xd8\xd1\x6c\x68\x5b\xdc\x47\x52\xdc\x8a\xd8\xe5\x3e\xe1\x5b\x17\xe1\x25\x39\x30\xae\x65\xca\x26\xe8\x53\xcd\xf0\x12\x45\xd0\xb4\xd1\x14\xee\x6a\xa8\xd0\x1d\x97\x12\x84\xa7\x5f\x27\x3c\x95\x86\x0b\x3e\xf2\xfa\x34\x12\xd4\x4e\xc6\xc2\x83\xef\xef\x58\xb7\x88\x88\xfd\x41\xf8\xbf\x11\x88\x6b\x88\x2c\x94\xde\xfc\x26\x5f\xce\xae\xdc\x67\x08\xb4\xbf\x1a\x13\x40\x83\xda\x69\x12\x18\x2e\x3d\xfe\xda\x07\xde\x5c\x49\x2b\x26\x65\xab\x31\x5e\xa1\xcb\x6e\x46\x6b\x10\x4d\x2a\x7a\x33\xfd\xf7\xdc\x4f\x84\x37\x49\xfc\xe9\x2d\x2e\x55\xfc\xd1\xbc\x9a\x5c\x06\x40\x9e\x34\x87\xf0\xc1\x44\xfc\x7b\x0e\xab\x7f\x86\x2a\x3c\x93\xa3\x00\xc4\x52\xf7\x7d\xa0\x3d\xfa\xaf\x29\xc8\x39\x0d\x4f\xf0\xf6\xcd\xba\xee\x07\xa9\x99\xcc\x23\x2d\xb0\x31\x8b\xa7\x71\xc8\xd6\x5e\x36\x5d\xe3\x46\x54\xfc\x0c\xc3\xcc\x82\x88\xc4\x89\x9f\xf8\xe6\xeb\xe3\x6f\xff\xf8\xc7\xe3\x6f\x8e\xbf\xf9\x9f\xe5\x27\xd7\xb0\x66\xa4\xcd\xf8\x87\x3f\x7c\xfd\xcf\xd2\x5c\x54\x5a\xf0\xcf\x5f\x56\x3e\xf9\x0a\x5a\x7e\x61\x08\xe8\xa7\x68\xcf\x22\x0a\x88\xfc\xb4\x32\xe3\xb7\x19\x2b\x1b\x96\xa7\x3c\x85\x97\x60\x42\x01\x24\xaa\xa1\x80\x15\x90\x24\x0d\xef\x83\x23\xd0\x3f\x08\x5d\x4c\x6f\x69\x1f\x7e\x17\xfa\xab\x15\xee\xd1\xf8\x38\xfe\x80\x77\x76\xa0\xa0\x12\xfa\x95\xfc\xe8\xea\x0e\x0f\xfe\x96\xf4\x7a\x40\x2d\x7c\x27\x92\x10\x94\x67\x21\x0e\x1b\x5b\xa1\xd0\x7b\x21\x0f\x97\xe8\xf8\x1d\x48\x87\x6d\xa5\x7f\xc0\x3b\x46\x30\xc4\xe3\x7b\x72\xff\xfe\x7b\x1e\x67\xbe\xba\x83\x53\x26\x03\x7f\x69\xbb\x4e\x83\xaf\x3e\xe6\xe1\xd3\xcf\x78\x87\x27\xbc\xb3\xe4\xe9\x97\xa7\xbf\x8b\x88\xe7\xf0\xe9\xe7\xe8\x96\x1d\xce\x74\xcb\x56\x01\x88\xf7\x83\x74\x3b\x68\xa1\xce\x9f\xa1\xfa\x01\x72\xac\xa8\x97\x20\x65\x30\x79\x28\x47\x19\xdd\x16\x59\x42\x15\xbc\x59\x2c\xf8\xb6\x58\xfc\x88\x5b\x9c\x8f\x5b\x79\x22\xd6\xb1\x0d\x30\x3d\x04\xf0\x46\x82\x36\x42\x30\x04\x60\x4b\x9b\x2e\x33\xd8\xe0\x92\xa5\x8f\x0e\x75\x0b\x22\xbc\x03\xb0\x01\x25\x19\xb1\xbc\x87\xc6\x45\x88\x67\xc1\x07\x75\xef\x6f\x83\xc2\xd7\xe8\xbc\xa0\xd3\xe2\xde\xde\x05\x6e\x8c\xf7\xe3\xee\x70\xe1\xf1\x06\xb0\x62\xb5\xce\x1e\x9a\xf8\x17\x0a\x91\xd8\x5f\xc7\xc9\xf0\xef\xfc\x20\x24\xb9\x83\x55\x8b\xd3\x61\x9f\x69\x04\x18\xac\x6a\xe6\x83\xb5\xc8\xc4\x4f\xac\x73\x2f\x91\x25\x60\xb9\xc7\xd1\x2c\x40\x1f\xc3\x30\x14\xa8\x4c\x56\xfe\x2d\xec\x0f\x39\x28\xfd\x20\x63\xf3\x8e\x8f\x60\xeb\x30\x5f\x48\x8a\xac\xfb\xbe\x1f\x65\xf7\x68\xe3\x65\x4c\xc8\xb1\xf7\x1a\xf7\x9e\xf2\x39\x09\xe3\x78\xc0\x42\x9c\x81\x76\xf2\x40\xfe\xf0\x6f\x79\xdb\x69\x58\xcc\x43\x40\xd6\x83\x73\xb8\x31\x34\x92\xb0\xd0\x6a\x1d\xe1\x68\xe6\x78\xc7\xd4\x3c\x95\xcc\x20\x58\x1d\x79\x83\xbc\x26\x60\x5c\xdf\x69\x43\x55\x5e\x8e\x25\x8a\x14\x30\x40\x9a\x71\x28\x7b\x8f\xef\xaa\xf0\x53\x31\x0c\x18\x73\x94\xcd\x41\xd1\x5a\x84\xe8\xd3\x8b\x21\xf1\x19\xd4\x96\xda\x7f\xf5\xc8\xd4\xe6\x2b\x27\x0d\x08\x84\x73\x90\x6f\x0d\x6c\x30\x20\xe9\x93\xa5\x87\xd7\xaf\x13\xa1\xe7\x49\xda\xc4\x51\x85\x2f\x16\x26\x1f\x68\x19\x05\x1a\x16\x38\xba\x84\xe2\x98\xe8\xda\xfa\xd8\x1b\x0b\xbe\xd6\x5d\x8a\x70\x6d\x93\xd9\x03\x12\x5a\x8a\x77\x61\x10\x74\xd0\x05\x16\x71\xc8\xcd\x31\xca\xc8\xd2\x04\x53\x4f\xc8\xdf\xfe\x76\x0c\x46\x3b\x7a\x8c\xc6\x4b\x18\x08\xde\xbf\xab\xe8\x07\xf9\xfd\x45\x1c\x2d\xe8\x6b\x10\x64\x50\x5a\x60\x85\x4d\xa7\x62\x0d\x2a\xc4\xc6\xaf\x3a\x98\x79\x3d\x4c\x19\xfa\xe2\xe7\x20\xba\xfe\xed\x23\x80\x6d\xb0\xdb\xbf\xd2\xba\x86\xd4\xac\xd5\x68\xfe\x8a\x38\xa3\x54\x8d\x56\xa9\x16\xa8\xff\xf8\x8f\x7d\xbc\x88\xc5\x97\x5f\x79\x72\xa2\x69\xac\x60\x1c\xfa\x28\xa2\xfa\xaa\x76\xf2\x00\xe7\x16\x7a\x94\x5c\x4b\xb0\x95\x27\x78\xe2\x84\x3d\x24\xcf\x60\x9c\x60\x3f\x9e\x63\xb0\x57\x18\x12\x07\x31\x56\x60\xad\xc0\x65\xde\x03\xc6\x0a\xc6\xf7\x30\x59\x41\x7a\x7b\xfc\x8f\xff\x88\x3b\xfc\x69\x8c\x5f\x7b\xf7\x20\x44\x68\xdd\x06\xf2\x6d\xf2\x23\xb1\x8e\x00\x8e\x31\x49\x3f\xfd\xf4\x2f\xde\xe1\x03\x1a\xc5\xd1\x57\x96\x61\xc3\x40\x40\xf2\xd0\xbb\xa1\x16\x7d\xaa\xf9\x0b\x7b\xcd\xeb\x20\x7a\xfa\x99\xcf\xfb\x68\x1e\xc1\xca\x5a\x3d\xfd\xb2\x08\x49\x89\xdc\x83\x9d\x21\x0a\x95\x07\x80\x73\x11\xa5\xf7\xb0\xa1\xcc\xc8\x6a\xe9\xe7\xb0\xe2\xe0\x5f\xe3\xc2\x96\xe4\x4b\x91\x1c\x50\x70\x13\xce\xf1\x9d\x0e\x4d\xd0\x34\xf8\xf9\xdc\xa3\x7d\x18\x58\x39\x0a\xd2\xe0\x36\x96\xc3\x7f\x8f\xa7\xb6\x4c\x6a\x33\xd0\x62\xea\x15\x73\xd4\x25\x0c\xc0\x82\x7f\x65\x1b\xf2\xf2\xab\xfa\xc9\xec\xeb\x18\x36\xf4\x3b\x02\x53\xe3\x90\x39\x0b\x0b\xc3\x9f\x66\x6c\x79\x9c\x84\x71\x3e\xf3\xde\xa0\x22\x48\x6c\x5b\xcc\x20\x88\xe4\x42\x4a\xc1\x88\x00\x95\x4b\xa0\xf0\xac\x79\x4e\xb0\x6e\xe9\x3c\x8b\x66\x47\x19\x5a\x3d\x55\xa7\xa7\x2f\x47\x83\xf7\x57\x1f\xd0\x11\x72\x73\x76\x7e\x69\x41\x8a\x3f\xf6\xce\x2f\xbd\xb7\xe7\x97\x1f\x6f\xde\x3c\xfd\xd7\xd9\xe0\xf2\xe5\xe0\xf2\xfa\xcd\x60\x74\x39\xb8\x74\x04\xed\x8d\x06\xc3\xab\xf1\xf9\xf5\xd5\xe8\xfb\x66\x2c\xbd\xe2\xc1\x6e\x08\x3f\xa0\xef\xe6\xd4\xc6\xb7\xd1\x77\x83\xf3\xeb\xc1\xe8\xda\xf2\xf6\xc5\x79\x7f\x6c\x79\x95\x7f\xab\x7f\x6d\x78\xae\x03\x01\x6d\x6f\x1b\x31\x7f\xed\x40\xbc\x43\x71\x0c\x1b\xf5\x32\xcb\xd6\xe9\xab\x97\x2f\xfd\x75\x70\x2c\x8f\x5a\xc7\x20\x40\xb6\x15\x56\x8a\x2b\x3c\x7c\x3c\x7e\xdd\x00\xa1\x95\x84\x57\x0e\x48\x5e\x39\x80\xa1\x00\xcc\xe1\xf9\x40\xfe\xfd\x93\xcd\xdd\x5a\x82\xbb\xf9\xd2\x16\x88\xbc\x43\xfc\xfd\x8e\x35\xba\xfa\x59\x2a\xf8\x9f\x7e\x72\x61\xa2\x05\x66\xef\x83\x15\xa6\x1b\x99\xdd\x99\xd1\xce\x89\xa1\x55\x6e\xf1\x27\xdb\x4b\xda\xd9\xd9\xf0\xb6\xf1\x8c\x15\x0c\x1e\x6c\x1a\x20\xd0\xb9\x07\x58\x37\xec\xe1\x27\x1b\x9b\x60\xdf\x06\x53\x11\xcf\x10\x46\x6c\xe7\x1a\xec\xfb\x60\x9a\x87\x60\xe2\x4e\x92\xf8\x56\xd8\x82\xcf\x3e\xe6\x8b\x24\x98\xcf\x49\x9d\xcb\xd0\x4c\x7d\x2a\xa5\x43\x75\x16\xac\x56\xa8\xcd\x5f\x33\x94\x36\x12\x94\x8b\x18\x9d\xe6\x1b\x94\xa8\x1f\xe3\x39\x58\x78\x60\x53\x3b\xd0\x24\xa3\x42\x09\x1c\xc7\x8c\x1a\x34\xc9\x1f\x31\x8a\x74\x12\x67\xa9\x8d\x38\x74\xcd\xa0\x4b\x48\xa6\x0f\x00\x19\xd3\x1c\xfd\xae\x1e\x45\xb4\xa7\x74\x58\x04\x61\x81\xad\x3d\x89\x28\xe0\xd9\x66\x9c\xf5\x6f\xc9\x6f\x35\xa6\xdd\x75\x89\x76\xc8\x22\xc9\xe1\x78\xc4\x5b\x71\x05\x06\x98\x0b\x7c\xf8\xb7\x58\xd1\x05\x5d\x32\xea\xbe\x42\x17\x92\x55\x82\x68\xe3\xd6\x3d\x5f\x2b\x2c\xf0\x92\x81\x28\xcb\xac\x24\x96\xe0\xb5\x12\x38\x03\x1b\x88\x82\x35\x8d\xa3\x0d\x5b\xe9\x16\x52\x2e\x45\x6e\x39\x9b\xe0\x91\x9b\x1d\x37\x4d\xb8\xd0\xbd\x9e\xa8\xa8\x6d\xf4\x1a\xae\xd7\x16\x4c\x37\xa3\x8b\x1e\xc7\x77\x6b\x47\x13\x46\xad\xbb\xe0\x21\x49\xa0\x57\x81\x1b\x00\x07\x18\x81\xd8\xaa\x31\xef\x30\xde\x38\x59\xe0\x77\x57\xc9\x42\x7e\xf7\x92\xe3\x6b\xf1\xcb\x31\x7e\x90\x5f\xf3\x44\xdd\x68\xc6\x1e\x1f\xdb\x6c\xd8\xb7\x05\x7d\x64\xab\x8d\xca\x74\xc0\x58\x36\x62\xef\x81\x8e\x52\x78\x6b\x85\x20\x15\x97\x5b\x25\x29\xac\xa1\xa9\x9e\x23\x61\x00\xf4\x97\xc3\xf7\xd5\x41\x4a\xce\xfb\x44\x20\xcf\xa4\xc9\xc6\x31\xf4\x20\x17\xec\xc3\x3d\x79\xa3\x6c\xb3\x97\x3e\x42\x3a\xf6\xe0\x30\x47\xab\x15\x01\x54\xc0\x2a\x2b\xae\x05\x3c\x72\x1e\xcd\x41\x98\x16\x00\x45\x27\x7d\x76\xf1\xe2\x03\x32\xc8\x97\x4d\x71\x1b\x9f\xeb\x07\xc5\xde\x80\xc2\xf4\xcc\x0a\x7b\x96\x8e\xd7\x91\x74\x60\x9e\xbc\xe9\xb1\x91\xf8\xb2\xd7\x97\x63\x7a\x8d\xc1\x90\x91\x32\x6a\x85\xb2\x22\x37\x50\xac\x70\x0e\x4d\xe3\xd6\xb0\x99\xe1\x14\xcf\x51\xb8\x82\xfc\x8e\xe7\xe6\x78\xd0\xc8\x96\xf1\xbf\x9c\x10\xe0\x89\x44\x1b\xf2\xb6\x33\x8e\x65\x94\x30\x39\xa5\x29\x41\x86\x4a\x56\x1f\x68\x1b\x9c\xe5\xe4\x00\x86\xf6\x3d\x9c\x55\xa6\xe4\x6e\xcf\x12\x3c\xfe\x28\xea\x81\x0c\xdb\x5b\xc4\xfe\x6c\x49\x21\xa1\xea\x70\x03\x78\xe5\xe3\xe6\xfc\x05\xd1\x1d\x6c\x1b\x0d\xb2\x00\x04\xbc\x8d\xef\xc5\x1d\xba\x3c\xf0\xd4\x24\x3d\xff\xf3\x20\x81\xd9\x9a\xe7\x7c\x22\x03\x60\x98\x6e\x43\x38\x81\xc7\x6b\xb4\xf9\x61\x6f\x29\xd1\x8a\x3f\xd1\x01\x12\xff\xd8\xa4\x98\x69\xeb\x2c\x2f\x42\x1f\x18\x5e\xf6\x15\x2f\xd5\x74\xd6\x31\x13\xc5\xe3\xf6\xe9\x17\x12\x15\x3c\xfb\x9c\x8a\xd2\x59\x6a\x56\xa8\xc7\xb4\x86\x48\x34\xba\x72\xba\x22\x96\x5e\xe6\xb4\x78\x1e\x78\x0e\x6a\x1e\xe0\xa0\xa3\x74\x56\x92\x31\x29\x55\x36\xa1\x84\x6d\x14\x4e\x38\xf9\x9c\x1c\xe3\xe4\x62\x22\xdf\x7b\xe4\xfd\x55\xcc\x62\x0a\xe9\x47\xf6\x92\x53\xbb\x9f\xa7\xf7\x41\x82\xde\x57\xf6\x87\x8b\xd2\xa2\x43\xea\xf5\xb9\xdb\x3c\x0b\xd6\x8f\x24\x13\x4d\xa2\x6b\x64\xa2\xd0\x85\x8b\xca\xfe\x20\x77\x04\xfb\x03\x7c\x32\x2b\x02\x1d\x25\x0d\xef\x80\x4a\xb6\x39\x97\xfa\x18\xb9\x2c\x4d\x18\xa4\x54\xe5\x93\x90\x3b\x5f\xb9\x0d\x8a\x18\x67\x53\xa9\x72\xe2\x17\xbc\x49\xeb\x6d\x8f\x24\xd3\xb2\xb0\xa7\x3a\xb8\x93\xcc\x09\x66\xa5\x8d\xc0\xa0\x78\x07\x82\x83\xe8\x4b\x72\x39\x8f\xf6\xc4\xe7\x0d\xb2\x9f\x93\xd3\x25\xaa\xad\x44\xc7\xf7\xde\x78\xfc\x56\x4a\x80\xa4\x49\x34\x26\xe4\xc0\xe3\x3d\x65\xeb\x32\x6e\x23\xd1\xc6\xd4\xff\x36\x9c\x69\x0c\xaf\x84\x22\x13\x94\x41\x20\x33\xd9\xc8\xb6\xb1\x4e\x1f\xb9\xe4\x90\x19\x45\xce\x99\x90\x76\x48\xe4\x85\x4f\xbf\xa4\x0d\xf8\xd8\x22\x5a\xe5\xe4\x86\x93\xc9\x3c\x02\xd9\x07\x83\x55\x7f\xcb\x4c\xcd\x86\x51\x0f\xd0\x85\x53\xe2\x2f\x40\x4c\x4b\x69\x3b\x0b\x41\x69\x3b\x19\x5d\x1b\x1e\x01\x02\xd0\x3a\x52\x15\x33\x73\xf4\xc3\xca\x31\x95\x29\x9f\x18\x5e\x4f\xda\x04\x0b\x4c\x2b\x1b\x5b\xf0\x27\xeb\x4b\x3a\xdf\x94\xf2\x3e\x2c\x20\xce\x30\xbf\xe2\x1e\x83\x92\x68\x2a\xe1\xbd\xde\x39\x27\x89\xda\x01\x93\x9d\x14\xf0\xb5\x92\xbc\x3f\x9e\xc3\xa8\x6c\x2e\xfa\x53\xb6\x72\x7b\x97\xfc\x1a\xef\x4e\xe6\x15\x23\x08\xf6\x1b\x7c\xdd\x8a\xb0\x64\x59\x96\xaf\xb7\xac\x5b\xe3\x86\x41\x9a\x66\xd5\x6b\xad\x06\x86\x57\x5e\x85\xa1\xde\xc7\xc9\x2d\x85\xc0\xdc\x06\xeb\x75\x61\x8c\x53\x88\x11\xe2\xec\x40\x06\x8e\xff\x3b\x09\x0e\xf7\xab\x99\x4a\xcc\x14\x9c\xb5\x8b\xfb\x18\xdd\x30\xa7\x6b\x3c\x68\xd9\x3c\xd0\xb5\x74\x4a\x45\xc3\x69\x39\x60\xc9\xa0\x81\xcd\x4a\x83\x1f\xea\xc4\x2f\xa5\x61\xfc\x68\x03\x8e\x4e\xb6\xb1\x13\x87\xfb\x3d\x3a\x43\x50\x48\x04\xed\xd4\xfe\x22\x8a\xc1\xd2\x99\xa6\x1c\x3e\x11\xc6\x0b\x0a\x2c\xb0\x91\x14\x2d\x51\x7b\x49\xfb\xe3\x94\xdf\x16\xeb\x24\x5e\x24\xfe\x6a\x25\xf5\x1e\xfa\x4e\xfa\xf2\x40\xc8\xb7\xaf\x3e\x5f\xcb\x63\xaa\x7b\x16\xdf\x82\xcd\x40\x5e\x66\x2b\x95\x2a\x6f\xc9\x5b\x0a\x3f\xc4\xe0\x8f\xa5\x98\xde\x7a\xd9\xc3\x5a\x48\xb7\xdc\x01\x5e\x37\x73\x06\x5d\x04\xbb\xc1\x81\xcd\x95\xf4\xf4\x5f\xc0\xae\x75\xf2\xf4\xeb\x1c\x93\x8c\x00\x80\x24\x50\x65\x22\xa5\x72\xfc\x42\x3a\xeb\x0e\x86\x0c\x97\x12\xe1\x38\xb7\xf6\xc0\xe6\x2b\x31\xc8\xd4\xab\x1a\xb6\x00\xf1\xa3\x95\x75\x0a\xa9\xcc\xf8\xe6\x87\x6d\xc0\x53\xab\xfb\x8f\x7e\xab\x7f\x8d\xf3\x58\x7d\xbe\xe0\x96\x27\x5f\xfb\x4e\x76\x45\x3a\x9b\x67\xa6\xf6\xde\x5c\x1e\x87\x2b\xb6\x42\x0b\x6e\x3e\xd7\x32\x05\x33\x31\x0f\x22\x8e\xec\x22\xe9\x6a\x52\xe6\x26\x35\x52\x39\x2f\xea\x88\x4a\x0d\xa0\x1c\xe2\x58\x24\x94\x3a\x91\x86\xc9\xb2\x4c\x0e\x3a\x30\xdc\xa9\x49\x13\x4c\xd8\xd5\x38\x29\x77\x35\x69\x45\xca\x3b\x5d\x67\x9c\x26\xcf\xb7\x41\x0c\xfa\xff\x03\xc6\x98\xda\xfd\x62\x6a\xcb\x4e\xbc\xef\x60\xab\x69\x82\xc5\x9a\x35\x24\xef\xc2\x08\xfe\x65\x37\x07\x0e\xc4\xdb\xc8\x49\x2e\x7c\x1d\x9c\x07\x0c\xe3\x80\x6f\xed\x6e\x8c\x8f\x32\x67\x99\xef\x6e\x69\x9c\x05\x16\x38\xbb\xea\xe1\xd6\x61\xaa\x7a\x33\xaa\x28\xb7\x1e\x13\x03\x6a\x1c\x92\xe1\xc0\xe1\xaf\xc9\x67\xa2\x5d\x38\x25\x5a\xf7\x33\xfc\x2a\x51\x4d\xa3\xd7\xde\x9c\x4d\xf2\xc2\x7a\xfa\x9e\x93\x57\xbf\x0b\x96\x6c\x39\xf0\x8a\x27\x15\x20\xa8\x6f\x3e\xd3\x37\xcc\x0c\x2d\x0b\xa9\x64\x73\xc1\x88\x98\x68\x7a\x24\x9a\x34\x2f\x72\x07\x0f\x5f\x89\x11\x1b\x5e\xd8\x5a\x4a\x88\x3d\xda\x8b\x67\xd0\x52\x65\x4c\x95\xa8\xaa\x43\xd7\x85\x31\x86\x9e\x87\x77\xff\x84\x1f\xa4\x1d\x62\x32\x64\x3b\xef\x66\x69\xec\x4a\xff\xd6\x6e\x07\x55\xdc\x65\x16\x6c\xe9\xc8\xcc\x32\x8c\x2e\x22\x5f\x10\x9c\x8b\xe2\xfb\x28\x8c\xfd\x19\xdf\xf7\x3f\x70\xdc\x25\xc5\xab\xd0\xad\x31\xaa\x6c\x7f\x36\xc3\x04\x7d\xfb\x78\x3e\xb0\x3b\x46\x86\x4d\x1b\x37\xed\xe4\xbb\xa5\x52\x3b\xe8\x9a\xe2\xbb\x63\x80\xe8\x13\x3c\x01\x06\x50\x42\x01\x81\x8f\x79\xe8\x83\x61\xf7\xaa\x41\xad\x95\x68\x5e\x05\x60\x90\xb1\x3f\x58\x9a\x88\xe7\xd2\x46\x39\x2d\xea\x79\x34\x4d\x80\x26\xb8\x05\x02\xf2\x1b\x91\x91\xf7\xa8\x91\x38\x19\x40\x41\xa1\xbd\x70\x26\x27\xd7\xd2\x10\x3e\xf0\xec\xfc\x05\x8f\xe8\xea\x78\xfe\x97\xaa\x65\xfb\x17\x15\x0d\x33\x4f\x84\x8a\xee\xd5\x46\xd7\x5f\x36\x49\x54\x6f\x19\x55\x7d\x7c\x59\x04\xc8\x3b\xc1\x0c\x9f\xa9\x8c\xb7\xf0\x67\x2b\xb0\x25\x52\x18\x7c\x06\xc6\x64\x30\x27\xc7\x61\xb6\x0c\xa2\x5b\x76\x03\x50\xa1\x26\x2e\xb9\x60\xb5\xd2\x55\x4c\x05\x85\xce\xd7\x8d\xcc\xf4\x12\xd4\x0e\x4d\x9d\x82\x6e\xa9\xea\x4f\x18\xa7\x32\xbe\x55\x9e\xfa\x9a\x47\x98\xe8\x8a\x43\x70\x82\xcd\x93\xd4\x27\x37\x2f\xf9\x99\x7d\x8c\xc5\x00\xc0\x14\xa2\x81\xee\x3a\x2c\xf2\x14\x79\x7d\x73\xd0\x47\x70\xdc\x8d\xf8\xd7\x15\xdd\xd4\xc9\x78\x31\x74\x5e\xd0\xa9\x48\x96\x78\xa0\x73\x5d\xfd\xe4\xe6\xe8\xbf\xcd\xd0\x18\x16\xbc\x2b\x80\x4d\xde\x53\x11\x15\xc1\x9d\x08\x6d\x97\x3c\x5a\x95\xf3\xf0\x03\x15\x38\x71\x47\x01\x33\x08\x73\x1e\x3c\xb2\x77\xbd\x15\x35\xc6\xd5\x59\xa5\xb9\x5f\x02\xd7\x24\xa8\x06\x40\x3c\x7f\x80\xc6\x12\x3f\xae\xf1\x38\x8d\x85\xba\x38\x6a\x0f\x8f\x48\x13\x1f\x0e\x24\x01\x59\xb5\x89\xe8\xf9\x06\x07\x8e\x55\x69\x36\x2a\x5c\xf2\x17\xb3\xf4\xc6\xa7\xfc\xeb\xaf\xff\x30\x55\xf7\xd0\xf4\x97\xf0\x7a\xb9\xfc\x1e\x39\xa7\xbe\x8b\xe5\x77\xa0\xa6\xd5\x57\xa9\xfc\x8a\x14\x2b\x7f\xf9\x17\x44\x6f\x52\x83\x7e\xed\x2a\x39\x4e\x1c\x41\x3d\x4a\x21\xa7\x13\x8c\x65\x96\xfe\xdd\xf7\x70\xfe\x37\x22\x09\x41\xfd\x65\x14\x87\x1c\x89\x1c\x9e\x64\x57\x71\xca\xfe\x25\xfa\x0a\x34\x81\x5f\xe5\xb3\x2e\x43\x57\x29\x49\xf2\xbc\x7c\xd9\x20\x0d\x0b\x01\xad\x78\x38\x78\x06\x6f\x20\xd8\x2e\x16\x71\x22\xf7\x4b\x52\x53\xe4\x22\x98\xc9\xc0\x4e\xce\xd6\xe1\xd8\xa1\x18\xa3\x8a\x82\x15\x66\x12\xce\x6c\xd6\x37\x79\x5f\x30\x62\x2a\x48\x99\xf9\xa9\x04\x89\xf5\x3f\xd0\xd7\x7f\xb3\x0a\x61\xa7\xd7\xb1\x82\x18\x45\xc4\xd6\xff\x47\xf8\x1a\x01\xa3\xc3\x04\x16\x75\xbc\x5a\xd9\x96\xc6\xeb\xf3\x8b\x8b\xf3\xcb\x33\xef\x7d\xff\xb2\x7f\x36\x18\x59\x28\x79\xd3\x7f\x77\x7d\x33\x3a\x1f\x8c\x6e\x2e\xcf\xc6\xea\xd1\x7a\x78\x37\xe7\x17\xa7\xc3\xfe\xc9\x3b\x5b\x9c\x82\x7c\xe0\xdd\xe0\x7a\xd0\x02\xa1\x29\x56\xa1\xfc\x90\x77\xa8\xff\x6e\x08\x5b\x78\x8d\x9e\x57\xbf\x6a\xa9\xb5\x1e\x38\xc9\x7b\xb8\x69\x57\xf9\x2a\x85\x40\x99\x11\x98\xa7\x6b\xe5\xb2\x0d\x35\x3a\x6c\x55\x38\x6b\x35\x48\x40\xd6\x11\x4b\xd1\x47\x87\x49\x2c\x32\x96\xc0\x2c\xd8\xd2\x99\x64\xf4\x57\x15\x41\xb0\x35\x77\xf6\x3c\x0a\xb9\x32\x04\x05\xaa\xf5\xf3\x74\xfe\xf4\xeb\x92\x56\x3f\x9a\x21\x66\x81\x16\x58\x1b\x3a\x52\xef\xf9\x86\xae\xc2\x15\xbe\xe8\xd0\xc9\x05\x34\x66\xcc\xfe\x76\x43\xae\x14\x0f\x64\x47\xcb\xdb\xeb\xeb\x21\x7b\x20\x1b\x87\x50\xae\xfa\xa7\x3c\x63\x6f\xaf\x87\x32\x0a\xc1\x49\xdc\x6a\x09\xb0\xc7\x38\x34\x61\x46\x2f\x63\x1b\x4e\x9c\xa3\x89\xc8\xee\x85\xa0\xd3\x43\xd9\x08\xa1\x6d\xa7\xec\x0e\x96\x9a\x91\xbc\xc1\xb6\x85\x1e\xc8\xfb\x69\x19\x73\x52\x03\x37\xaf\xc2\xbd\xf7\x13\xb7\x34\x08\x45\xf3\x66\x70\xc6\x06\xeb\x6c\xa6\x55\xf7\xa8\x0d\xc7\xf3\xed\x6b\xe2\x75\x5d\xcc\x86\x1f\x55\xe7\xa8\x89\xb8\xed\x43\x39\xdc\x8e\xc0\x8a\x87\x6e\x07\xe0\x99\x98\xfb\x79\x98\xa5\x65\x8d\xe6\x16\x76\x64\x70\xc4\xed\x98\x2b\x17\xfd\x18\x2f\xf2\xfd\x64\x56\x5c\xb7\x95\x54\xda\xc6\xa1\x76\x1f\xe3\xd4\x1a\xeb\xf9\x86\x36\x56\x28\xba\xd2\xcf\x92\x6d\x95\x99\xbd\x84\x26\x75\x17\xf2\x71\x1b\x5d\x30\xe4\xfd\x86\x2a\x75\x95\xef\x2a\x7d\xfb\xe4\x97\x8b\xb3\xa3\x91\x59\xcf\xc5\x24\x07\x37\x88\xe2\x90\xa9\x3f\x4d\x02\x9c\x46\x64\x6a\xb7\xea\xcb\xf5\x58\xf3\x20\x9c\xad\xf1\x44\x03\x8f\xeb\x3f\x34\xf1\x66\x7e\x87\x0d\x7b\x13\x84\x2e\x99\x1f\x8d\x80\xdc\xee\x3c\x5b\x69\x71\xbb\xff\x7c\xfd\x90\xa1\xaf\xcd\x87\xa3\x0a\x68\x28\x75\x6f\xee\x47\xaa\x0c\x00\x9f\x3d\x7c\x8c\x63\x22\xbb\x6b\x05\x27\xd5\x3c\x11\x54\x1f\x30\x0c\x6e\x85\xf7\xfe\xc8\x7b\xff\xfa\xc8\x3b\xa3\x2a\x03\x67\xaf\x6d\x07\x13\x50\xa1\x88\x6a\x85\x31\xa0\x7c\x99\xce\x39\xa5\x3a\x09\x5f\x9f\x45\x12\xef\xbd\xff\xf4\x77\xf8\x84\x1a\x0d\xd0\x17\x28\xf8\xfa\xec\xec\x35\x67\xea\xd6\x8f\x47\x65\x62\xfa\xb3\x59\x8f\xe3\xa9\x7a\x94\x7f\x87\x29\x07\xfc\x0b\x08\x8d\x85\x48\xb7\x77\x9b\xd1\x62\x8c\x85\xac\x9d\x9a\xa6\x4b\x8f\x4a\x3d\x36\x1d\x4b\x1c\x5e\x6c\x46\xb8\x0e\xbc\x1f\x80\x2c\x5b\x9a\xf4\xe6\x73\x2d\xe0\xd6\x5e\x4b\xd0\x77\xed\xa3\xcd\x40\xe1\x90\xeb\xdd\x8c\x07\x23\xfa\x6b\xd8\x1f\x8f\xbf\xbb\x1a\x9d\xe2\x09\xbe\x0d\x85\xfd\xc5\x76\x84\xa8\x83\xfe\xb7\x91\x18\xe1\x7d\x7a\xf1\xe9\xd3\xa7\x17\x6b\x3f\x4d\xef\xe3\x64\x86\x9f\x3f\xbd\xf0\x0e\x45\x3a\xf5\xd7\xec\x6e\x86\x65\x17\xcc\xf9\x0c\x81\xe1\x88\xf2\x41\xdb\x15\xf0\x36\xc8\xfa\x91\x32\x22\xd2\x47\x2e\x86\x8e\xe1\x98\xef\x44\x14\x61\x2a\x1f\x2d\x81\x01\xd1\xa3\x7e\xc5\x18\x35\x0c\x51\xb3\x1c\x50\xdb\x68\x58\x3d\xe8\x61\x20\x7a\x4c\x0c\x93\x03\xa5\x50\x7c\xf9\x53\xaa\x16\x39\x89\xdf\xb6\xe3\xad\xe0\xaa\x19\x2a\x19\x53\x34\xd8\xa7\x5f\x28\x5f\x10\xc7\x7b\x21\x64\xe1\x0e\x1e\x2d\x9f\x92\x5a\x86\x4b\x05\xae\xc8\x04\xd7\xe5\x5e\x4e\xaf\xde\xf7\xcf\x6b\x0a\xbd\xfc\xd0\xeb\x2d\xe3\x34\xa3\x28\x96\xb7\x57\xe3\x6b\x7c\x1f\x4b\xad\x62\xfd\x97\x11\x7c\xbe\x1e\x8c\xc6\x9f\xfb\xe3\xcf\x98\xd3\x6e\x5b\x43\x2e\xc4\xc8\xaa\xff\xca\xec\x92\x85\xe8\xc7\x83\x93\x9b\xd1\xf9\xf5\xf7\x9f\xcf\x46\x57\x37\xc3\x16\xc6\x76\x00\xd4\x4e\x50\xe3\xfb\xde\xd5\xe8\x8c\x35\x8c\x0b\x49\xae\xa0\x5c\x88\x6a\xab\x49\xd6\x6d\x62\xf6\x04\xdc\x81\x70\xd9\x73\x60\xe7\xe9\x75\x03\xd4\x4c\x90\xda\xeb\x6d\x56\x4a\xcd\x83\x8d\x00\x29\x08\x86\x97\x13\x2d\x11\xb5\x96\x60\xe9\x50\xf5\x13\x2c\x94\xd4\x36\x03\x6e\x30\x9a\xc9\xa0\x8a\x53\xf8\x86\x9f\x3e\x44\xd3\x1e\xfa\x3a\x01\x9e\x77\x7d\xfe\x7e\x70\x75\x73\x0d\xd3\xf8\xf9\xfd\xf9\xe5\xcd\xf5\x60\x4c\xa5\x92\x81\x10\x98\xec\xc3\x2c\xc9\x85\xf7\x1f\xd8\xe3\x20\xc5\x7f\x11\xd9\xcb\x2c\x7e\x89\x57\x69\x5f\xd1\x73\xd3\x38\x04\x55\x57\x7a\x8e\x7f\xa0\x7a\x48\x00\xe1\xe2\xea\xa4\x7f\x31\x80\xdf\x4e\x2e\x06\xfd\xd1\x57\xad\x23\xfd\xbd\x90\xd9\xcc\x4c\x2e\x86\x05\x7b\x74\x6f\x05\x76\x3c\xd5\x32\xd2\x0b\xe3\x87\xde\xda\x7b\xa9\x48\x60\x27\x37\x3e\x48\x35\xc4\xc8\xcf\xad\xdf\x39\x7e\x58\x85\xd6\x0a\x2c\xcf\x83\xcb\x65\x58\x5a\xb2\x3d\xed\xc5\x25\x09\xf3\x28\xad\xf4\xfc\x8a\xe4\x8e\xd3\x32\xfe\xa3\xd7\x9b\xc1\x31\x06\x3e\x39\x0e\x63\x4b\xd8\x2e\x64\xcf\xe2\x95\x8f\x47\x2b\xd0\x98\xbc\x3c\xdc\x28\xda\x7c\xcd\x05\x19\x9e\x26\xe1\x15\x37\x14\xea\x61\x17\xc0\xcd\xdb\x81\xaa\xaa\x86\x9a\xf5\xf3\xe8\xe6\x62\x30\xa6\x02\x6b\x6e\x64\x6c\x07\xda\x8d\x68\x97\xaa\x70\x96\x0d\x02\xbe\x87\xf5\xdd\x3f\x1b\x3b\x8a\xd0\xbe\x90\x75\x18\x18\x5d\xcd\xf5\xb2\xf8\x16\xac\xa8\x8b\xfe\xeb\xc1\x85\x37\x1c\x5d\x7d\x38\x3f\x1d\x8c\xbc\xeb\xab\x77\x03\x47\x49\x73\x05\xd6\x85\x30\xce\xec\xd4\xc3\x7f\x3d\x02\x08\xa3\x4d\xa3\x9e\x2a\xbe\xc1\xca\x92\x27\xa0\x69\xbc\x16\xb3\x6e\xec\xde\x0d\x53\x97\x21\xdd\x8a\x87\xcd\xe9\x54\x5f\xbc\x1b\x7c\x6f\x9b\x5a\x7b\x8d\xd0\xe7\xa9\x27\xdf\x95\xec\xdf\x6d\xbd\xd3\xe7\xac\xce\xbc\x05\x93\x76\x2a\x76\xba\x43\x95\xe6\x67\x11\x47\x5d\x20\x54\xa5\x84\x6d\x55\x08\xb5\xbe\x50\xa6\xbd\x0c\xaa\x2a\x27\x44\x73\xf1\xe5\xe4\xb5\x76\xb0\xbb\x57\x43\xdd\x7a\xf4\x5f\xa4\x1c\xf4\x7e\x24\x7c\xab\xda\xa8\xdb\x97\x85\xae\x12\xbf\xf4\x13\x31\x53\xa6\x50\x71\xb8\xa0\x13\x47\x22\xed\x05\xb0\x12\x40\xc0\xd9\x5a\x70\xdd\x3b\xba\xc3\x75\x22\x97\xfc\xf6\x45\x9f\x17\x6c\xf0\x02\x1f\xfe\x9d\xbf\xea\xfd\xe9\xe6\xea\xba\xef\x4a\xa1\x13\x28\x17\xa2\x28\x82\x6a\x63\x3b\x74\xa3\xc2\xf2\xae\x2b\xda\x9e\xaa\xb9\x59\xb5\x8d\x4c\x73\x68\xed\x9d\x8c\x06\xa7\x83\xcb\xeb\xf3\xfe\x05\x1d\x9e\x42\x6f\xfc\xfd\xf8\xe2\xea\xec\xf3\xe9\x08\xa6\xe5\x33\x7a\x2f\xe1\xdb\x84\xe7\x43\xf5\x72\xa1\xaf\xa5\x8c\x0e\x31\xbe\x8c\x92\x76\x61\x19\xe0\x2a\xa5\x3a\x98\x30\xc1\x5c\x39\xa9\xd8\x36\xc8\x7f\x95\x9a\xc9\xdb\x45\x50\x99\xb7\x82\x55\xf6\xaa\x6e\x05\x39\x8e\x04\x06\x82\x35\x7f\x81\x8a\xa3\x82\x8c\xa3\x02\xf9\x11\x63\xff\xf4\xa2\x44\x75\x0d\x95\x54\xf5\x81\x36\x12\x20\x94\x69\x30\xee\xe8\x37\x62\xe1\x76\xa4\x19\x55\x29\xe8\x86\x6f\x0a\xbd\xf9\x0d\xe9\x52\xf8\xee\xdb\xe2\xbb\x6f\x8d\xcd\x7f\x4c\xfb\xf9\x03\xd5\xcf\x30\x37\x58\x73\xef\x47\xf2\x77\x24\xcc\x54\x46\xee\xd2\xfa\x85\x44\xee\xd4\xec\x60\xb4\x10\x59\x22\xa2\x08\xcb\x90\xea\x2d\x02\xfe\x91\x9e\x4f\xbc\x36\xa3\x98\x49\xf4\x89\x62\x08\x25\xd7\xbe\xa2\xe4\x2f\x6a\x30\xa7\x73\xa4\x8b\x78\x45\xf8\xe3\x7d\x3c\xcb\x53\x0a\x29\xc3\x2f\x28\x98\xec\xcb\x4a\xa7\x5a\x33\x4d\x83\xc0\xbb\x3f\x92\xd4\xca\x68\x38\xe0\x49\x5d\x3e\x6e\x44\x63\x52\x0d\x01\xb9\x19\x7e\x71\xf1\x1d\x10\x6d\x75\x7b\xa8\xaa\xe9\x4a\xbd\xff\x26\x3b\x93\x56\x12\xe0\x66\x95\x89\xd5\x45\xc8\xdb\xf0\x43\x2f\xb8\x43\xd1\xfb\x37\x0f\xac\xb6\xb7\x57\xa7\xf8\xf9\xad\xf7\x76\xd0\x87\x53\x18\x7e\x9e\x79\xa7\x7d\x50\xfc\xb8\x57\xc1\x56\xb5\xce\x33\x0f\xa1\x2b\xa9\x7c\xfd\xa0\xe2\x26\x8a\xda\xa4\x08\xfb\x80\x03\x97\xd7\x94\x90\xb9\x82\xe5\x7a\x36\xb8\x56\x36\xb5\xb4\xce\x41\x63\x22\x01\xc7\xde\xf9\x9c\x4a\x13\x12\x3c\x2c\x9c\xa0\xaa\x26\xdf\x05\xbe\xd7\x9b\x61\xa5\xf1\x21\x3a\xfa\x54\x57\x31\x09\x53\x70\xda\x3f\x6c\xf2\x47\xaa\x02\x03\x05\x46\x63\x97\xd6\xeb\x87\x35\x97\x4a\x56\xef\xa4\x22\x93\x97\xe1\x2a\x48\xeb\x25\x16\x20\x3e\xa6\x7a\x0f\x2b\xff\xc1\x8b\xc1\xca\x49\xf0\x50\xb1\x04\x80\xa8\x10\xe9\xa2\x02\x18\x21\x41\x13\x34\x95\x72\x08\x52\xba\x8c\x67\xf2\x91\x7f\x3b\x96\xac\x78\x13\x53\xde\xa0\x37\x8b\xa7\x39\xf5\xb6\x44\x34\x20\xef\x1c\x72\x7b\x17\xa4\x30\xd7\x58\x4a\x8b\x2b\x69\xc1\x53\xe9\xf1\x14\xeb\xaa\xcd\xb9\xac\x1a\x26\x34\xd8\xae\x60\xf7\x3d\x6b\x2a\xec\x64\xf5\xf4\xf3\xd3\xdf\x83\x85\x47\x17\x28\x1b\x33\xc8\x59\x75\xd8\x35\x0e\x58\xce\x27\x28\x9d\x98\x6d\xf6\xaa\x24\xc1\x3e\x44\xb2\xbe\xe2\x3e\x6b\xc7\xde\x77\x18\x90\x4d\xb5\x22\x09\x1f\x15\x95\x86\x85\xdb\x9b\x55\xca\x28\xcb\x44\xe5\x23\x0e\x02\x4f\x81\x67\x99\x2c\x08\xc2\xc9\x96\x30\xef\x06\x76\x02\x4e\xb5\x6a\x91\x5a\xaa\x0a\x41\x09\x07\x4b\x3f\xcc\x28\x35\xf2\xd0\x14\x80\xaf\xa4\x04\x24\x33\xaa\x9d\x54\x9d\x7b\xb3\x69\x6a\xa9\x52\xc5\x5b\x92\x00\x5a\x9a\xc0\x52\x59\x7b\x82\x60\x19\x19\xa1\x29\xcb\x00\x37\x97\x83\x59\xe0\xc4\x5a\x5d\x73\x59\xe9\x6c\x8c\xe7\x19\x9e\xf7\x4e\xe3\xdb\x42\x24\x60\xe7\xd2\x41\xc4\x94\x19\xd1\x2e\x15\x8d\x4b\x59\x26\xbd\x1b\x8e\xd0\xb9\xd7\x4b\xda\x8c\x3e\xdb\x5b\x0e\xa8\x6a\x3d\x97\xf0\xbe\x1b\x4a\xfb\xdb\x2e\xa8\xab\xf6\xb3\x2b\xd2\x9a\xf7\x5c\xd0\x49\x77\x65\x07\x44\xa5\x37\xdc\x50\xac\x97\x7e\x24\xe4\x35\x63\xda\x09\x55\xcd\x9b\x2e\x28\x39\xe3\x89\x0c\xfa\x0e\xe8\x36\xde\x72\x41\xd5\xec\x68\x75\x47\xee\x00\xc7\x8d\x1c\xab\x85\xe6\x4e\x49\x13\x88\x0e\x44\x34\x38\x3f\x3b\x53\xd3\x06\xab\x0b\x59\xf5\xde\xcd\xee\x24\x35\xc0\xe9\x42\x8e\x83\xd3\xa9\x2b\x65\x6e\x20\x9d\x88\xac\x3f\xd5\x3b\x13\x64\x7d\xdd\x09\x79\xe9\xc0\xee\x8c\xb3\xfa\x96\x33\x2a\xa9\x01\x0c\x77\x40\x4f\x6d\x1d\x5d\x70\x37\x82\x71\x21\xa6\xec\x22\x70\xc7\x5e\xf3\x5e\x33\x3a\xbe\x72\xeb\xcd\xc1\x0a\xcf\x13\xf8\x37\xf4\x17\xde\x9b\x41\xff\xfa\x66\xe4\x14\x69\xd5\xfe\xbe\x13\x7a\x0c\xd2\x72\x8c\x94\xaa\x7d\xa5\x15\xc9\xb6\x91\x64\xcd\xef\x36\xa2\x65\x67\xc8\xd6\x9c\x6d\x7d\xdd\x05\x79\x07\xbe\xd6\xbd\xd1\x82\xe2\xce\x1d\xf6\x9d\x2b\x50\x38\xa4\x67\xa9\x33\xdc\xca\xd3\x8d\xa0\xb7\x9d\x88\x2d\x67\xc0\x7c\xad\x2d\xb8\xa4\xfc\x6c\x33\xd8\x00\xfb\x33\x15\x26\x2d\xc5\x82\xe0\x51\xc9\x53\x5a\x1e\x0f\x40\x19\xfd\x3f\x25\x38\xa2\x91\x7e\x1d\x73\xaa\x0f\x97\x62\xc4\xb3\x69\x26\x01\x61\xc1\x56\x4a\x49\xd1\xd9\x00\x31\x97\x6a\x04\xb3\x7e\x11\x53\xca\xa2\x88\xe0\xf4\x49\x1d\xd3\x15\x0d\x20\x23\xb6\x82\xa9\xdb\x92\xc9\x74\x56\x1a\xa2\x9b\xf8\xc8\x01\x72\x2a\xab\x9e\xeb\xfa\x9f\xdc\x14\xc6\x5f\x31\xb9\xbd\xd7\x40\x2e\xd6\x03\xe6\x92\x52\xf2\x0c\x85\xa7\xa3\x23\xae\x89\x87\x4c\x90\xc9\x85\x8f\x39\x9f\x67\xa8\xec\x8c\x35\xa0\x57\x51\xb0\x10\x59\x8f\xab\xdc\xf4\xb8\xca\x8d\xa3\x80\xda\xdf\x6b\x44\x87\x85\xfe\xbd\x1f\x4e\xae\xde\xbf\xef\x5f\x9e\xb6\x69\xfe\xca\xc3\x8d\x80\x65\x75\x3f\x19\x90\x2b\xe3\x60\x7a\x38\x39\x2f\xaf\xaf\x5e\xca\xca\xe3\xff\x41\x97\xba\xff\xe1\xa1\xa7\x4e\x07\xeb\xf2\x6f\xf4\xf9\x2b\xda\x57\x94\x47\x2b\x89\x57\x6b\x99\x50\x42\x37\x91\xc9\x8a\x4f\x80\x79\x14\x62\x59\xb4\x83\xde\xfc\xc0\xf4\x78\xb4\x1d\xff\xf7\x4f\xe1\x1b\x3a\xcf\xf2\xad\xd1\x6b\x38\x0f\x3f\xfd\xcc\x0e\x37\x14\x89\x23\x6a\xb8\x21\x02\x3c\xef\xc3\x09\x9d\x88\xe5\xd3\xb4\x3a\xfb\xb7\x08\x06\x4a\x94\x19\xde\xdc\xb6\xd2\x37\x9f\x6f\x06\x4f\xc9\xb7\x87\xd8\xb1\xca\x53\x19\x26\xb4\x8a\x55\x70\xa8\xcc\x2d\x0e\x22\xaf\xe4\xbd\xf6\x7a\x3d\xed\x61\x63\x27\x15\x4d\x13\xcd\xd2\x24\xce\x96\x6d\x61\xa9\x12\xaf\xca\xfc\x66\xbf\x2b\x2e\x1b\x1d\x5d\x4b\x5e\x12\xc3\xb5\xea\xf5\x23\x4c\xdd\x45\xbe\xde\x8b\x85\xec\xb4\x64\x50\x31\x37\x66\x61\x80\x29\x7d\x13\xec\x22\x13\xa0\x17\xa2\x4f\x7f\x61\xf7\x88\x79\x4b\xa8\xaa\xcc\x45\x86\x4d\x2a\xf6\x0e\xab\xe3\x93\xf7\xe5\xb2\x63\x5f\x3c\x41\xa7\x39\xfc\x1d\x47\x82\xc2\xca\x36\x59\xe6\xc6\x84\x0a\x36\xe9\xd3\x31\xfa\xea\x95\xfb\xea\xcb\xc6\x2d\x30\xc4\x95\x1f\xde\x96\xb8\x45\x99\x4f\x9a\x4b\xfe\x44\xd6\xe8\x74\x1b\x73\xbe\x19\x25\x4c\xce\xe7\x67\x89\xc2\xde\x02\xe7\x73\x05\x63\xb7\x90\xf2\x1c\x31\xd9\xdd\x50\x3e\x67\x68\x76\x23\x25\x6b\xff\x9f\xfe\xe9\x3e\x1e\x9d\x7a\x87\xa9\xbc\x3a\xaa\xd7\x10\xd8\xc5\x2a\x59\x90\x6f\x2e\xdd\x69\xe8\x05\x42\x53\x2f\x94\xd5\x02\x5e\x5d\xf4\x25\x36\xa1\x3c\xfe\x4e\xa3\xfc\xa1\xe7\xa3\x1f\x51\xdd\x12\xe5\xfa\x14\xf3\x67\xba\x5a\x52\xb7\xa4\x7f\x36\xef\x6d\x53\x36\xc6\xff\xec\x90\xfd\xb0\x27\x24\x6d\x03\x89\x73\x5b\x26\x6d\xe5\xa1\x36\x40\xce\x36\x70\xf9\xd9\x46\xb0\xb2\xdc\x8c\xf6\x11\xa8\xec\xda\xd4\xbb\xfb\x46\x5d\xc7\xe1\x47\xed\x57\xc1\xcf\x18\x6e\x77\xf7\x6d\xf1\xf3\xb7\xf4\x95\x03\xc7\xf7\x8d\xad\x71\x68\x71\xe1\x1c\x6a\x21\xcb\x7c\xb2\x19\xa4\x53\xcc\xa7\x53\xb0\x27\x3c\x44\x27\xf3\xd4\x0d\xa0\xf1\x6c\x23\x58\x5a\xe2\xb6\xda\xa1\x95\x87\x9a\x01\x71\x7f\xa3\x36\x48\xf2\xa9\x66\x50\x79\xb2\xd8\x9c\xf3\x0d\x57\x54\x1b\x2a\x47\x28\x1d\x48\x51\x2d\x28\x74\x20\x29\x2d\x78\x29\x7b\x6d\x36\x76\x27\x50\x8d\x44\x19\x1e\xe6\x16\x9c\xe6\x93\xed\x20\xdb\x26\x4f\x3e\xd4\x08\x88\xbb\xbc\xd5\x67\xeb\xb5\x80\x6f\x7c\xb5\x05\x29\xed\x22\xfa\xa8\x78\x39\xf8\xee\xb3\xa3\xea\x6b\x7c\xd5\x01\x69\xdd\x35\x4d\x01\xc9\xa9\x10\xca\x0e\x00\x5d\x08\x54\x37\x2d\xf8\x7a\xbb\xea\xb0\xbc\xe4\x82\xc8\xea\xf1\x47\x20\x1d\x17\xef\x56\x20\x3b\x10\x69\xf1\xba\x9b\x60\xf9\xab\x4e\x74\xba\x43\x75\x22\xd5\xf0\x40\x13\x08\x87\xfc\xb0\xc6\x57\x5b\x90\xae\xe3\x9e\x6a\x52\xf7\x83\x79\x2a\x6e\x53\x6c\x4d\x6f\xb6\xa0\xc4\xec\x2b\xe1\x6a\xa5\x6c\x3c\xde\x0e\x3c\xc9\x3a\x01\x37\x1f\x77\x01\x4e\x29\x36\x7a\x67\xd1\x3a\xe4\xfc\xf2\x74\xf0\x6f\x6e\xf8\x1a\x21\x34\x93\x20\xf3\x12\x45\x74\x17\x24\x71\x84\xc6\x72\xef\xce\x4f\x02\xf2\xc0\xd2\xed\x5f\x1b\x05\xed\x00\x1a\x09\x48\x29\x0d\xca\xb8\x18\x2f\xfc\x72\x14\xb9\x75\xeb\x9d\x9e\x8f\xdf\xe1\xa7\x95\xf7\x7e\xf0\xfe\x6a\xf4\xfd\x9f\x5d\x2e\x21\xb6\x06\xdb\x4c\xec\x0e\x79\x82\x3b\xa4\x06\xda\xf4\x57\x2b\x46\xcb\x6b\x2e\xc8\x8c\x3b\xce\xb6\x0d\xbd\xee\x0d\x27\x14\x6d\x37\x83\x8e\x78\x5b\xc1\xb8\x12\x93\x6e\xc9\x61\xcb\xbb\x2d\x68\xb3\x9e\x79\x19\xe1\x0d\x2e\x3f\x7c\xfe\xd0\x1f\x95\xff\xf8\xd0\xbf\xb8\x69\x27\xc2\x1d\x52\x2b\x49\xb5\x2e\x62\x59\x3e\xfd\x3f\xb8\x76\xba\x03\x39\x2e\x50\x5a\x49\xc1\xe3\x07\x55\x11\xd6\x97\x88\x68\x4a\x8c\xae\x38\x74\xdd\x81\x8a\x16\x00\xad\x04\xb0\xd9\x8b\xef\x90\xe9\xeb\x88\xb5\xee\xad\x56\x54\xed\x5a\xd4\x3d\x25\xc2\x81\xc6\xbd\xa2\x6b\x1d\xdc\xe6\x3d\x34\xfd\x54\xbd\x92\x76\xa0\xdb\x15\x92\x23\x49\x9b\xc2\xc1\xb6\x4e\x07\x19\x73\x04\xd4\x4e\x90\x4c\x20\xff\x42\x02\xb0\x57\x74\xcd\x83\xc3\xa0\x8b\xde\x3a\x09\xee\xb6\x49\x95\x6d\x7b\xbb\x19\x75\x61\xbe\xb6\xa1\x31\x9e\x6c\x07\x69\x0a\xe0\x67\x92\x3a\x17\xd3\xb0\xf1\x55\x57\xa4\xad\x5b\xb1\xf9\xa8\x03\xd0\x34\x5d\xf6\x28\xaa\x40\xcc\xdc\x23\x11\x1a\x5f\x75\x40\xaa\x7d\x4a\xee\x73\xb3\xf1\x4e\x3b\x1a\x27\x56\xb5\x31\xc9\x08\x41\x20\x1b\xd2\xb4\xb3\x7b\xd4\x8f\x83\x8b\x8e\xc8\x8e\x72\xf8\xc7\x85\xf7\x03\x96\x84\xf8\x2c\x4b\x7c\xbf\xfa\x33\xee\x7a\xaf\xb0\x58\x09\xfd\x07\xff\xa2\x40\x61\xec\x41\x43\x35\x4c\x7a\x94\x59\x48\xf4\x15\x3f\xa0\x17\x03\x24\x5e\xfc\x08\x56\xa3\xfe\x45\x46\x44\xf7\xd6\xa9\xc8\x67\x71\x2f\xcb\x1e\xe8\xeb\x79\x9c\x00\x35\x95\x2f\x55\x70\x8a\xf1\x75\x1b\x43\xfe\xef\x1a\x6c\xdb\xc4\xf6\x1a\xea\xed\x6e\x3c\xd6\x0a\x8c\x63\x56\x66\xae\xe7\xc4\xda\x57\x9a\x91\x64\xe8\xcb\x01\xcb\xd2\xcd\x0b\xb4\xf1\x78\x3b\xf0\xd6\x05\x93\xb5\xd7\x1c\x69\xdf\x57\xda\x91\xb4\x01\x68\x23\xc0\xfd\xb4\xde\xe5\xac\x9e\x66\xb1\x73\x09\xad\xf2\xb3\x8d\x60\xb9\x73\x59\xdd\x25\x4f\x0b\x8e\x86\x17\x1b\x11\xe6\xd1\x1e\xaa\x2c\xb5\x1e\xbf\xf7\x85\xc5\x69\x28\x7b\xa8\xd1\xd4\x09\x94\x0b\x51\xfb\xa9\xd3\xd4\x11\x98\x1b\x61\x2d\xe5\x94\x5c\x49\x6a\x03\xe3\x44\xcc\x1e\xea\x2f\x75\x02\xd5\x42\x54\x25\xe4\x87\xe3\x78\x5c\x0e\x27\x8d\xaf\xb6\x20\x6d\x3c\xbf\xb7\xe2\x6d\x7e\xdb\x01\xf5\x4e\xc7\x6c\x27\x10\x0e\x44\x6c\x18\xc7\xce\x47\xee\xf6\xf7\x9d\xd1\xef\x78\x1c\xec\x04\xaa\x8d\xa8\x9d\x4e\x4d\xed\xef\x37\xa3\x5f\xcf\x6c\x15\x93\x7e\x90\x69\x8f\x1c\x40\xa9\x4a\x27\xfd\xb9\xb6\x76\x92\xac\x72\x75\x0b\x5f\xe5\x11\x7e\x68\xdd\x34\x9e\x0d\xaf\xcb\x70\x9f\xa3\xfe\xd1\x4e\xa0\xdd\x88\x6e\xc8\x81\xc6\x2b\x1b\x8c\x59\xb0\xd6\x45\x74\x2e\x80\xb4\x6f\x6c\x1d\x86\xb6\x63\x05\xa4\x8e\xc0\xba\x10\xd6\xa1\x2e\x51\x37\x22\xbb\x00\x76\x21\xf8\xff\x82\x4a\x0d\xdd\x46\xf2\xfb\xa8\xd4\xd0\x99\xe6\x2f\x55\xa9\xa1\x33\x61\x1d\x2a\x35\x7c\x79\x91\xfb\x1d\x54\x6a\x78\x6e\xe9\xfc\x4d\x2a\x35\x7c\x01\xf1\xdd\xb6\x52\xc3\x6e\x02\x6c\x53\x99\xd7\x23\xb4\xd0\x06\xa3\xd1\xd5\x08\x85\xb2\x7f\x8d\xdd\x90\x40\x12\x29\x97\x1f\xab\xb1\x0f\x61\x8d\xfd\xf4\x13\x90\x02\x9f\x07\x49\x62\xed\xe1\xb0\x1d\xac\x7a\xb2\x38\x97\xc2\x82\xe8\xf5\xe0\xcd\xe0\xad\x6d\x0f\xf0\x23\x2a\x36\x4f\xfc\xc1\x3a\x4d\x5e\x11\xf5\x18\xcf\x41\xda\x82\x99\x56\x64\xd4\xf2\xde\x82\x43\xb6\x94\xc3\xae\x38\xe2\xd1\x5f\x86\x28\x87\x52\x9a\xd6\xdc\xd3\x5e\x65\xf2\xb3\x6c\xd5\x56\x1c\xb0\xa5\x2e\x00\x8d\x5f\x8e\xbe\x67\xa3\xcc\x3b\x3c\xe5\xa2\x1c\xaf\x74\x92\x9e\xb0\x06\xb6\xef\x4a\xaf\x77\xa8\xca\x49\xbc\x92\x1c\x7f\xcc\xe1\x3d\xec\xb2\x69\x0b\x6e\xf6\x23\x14\x04\x59\x82\x20\xad\xf4\xb3\x39\xd2\xdf\xd0\x25\x36\xc6\x6b\x4f\xb8\x8d\x43\xca\x6d\x03\xe6\x41\xc2\xcd\x03\x18\x80\x2d\xc8\xf3\x42\xf6\xef\x57\x1d\xc8\x9e\x7e\x59\x60\x5b\x78\xec\x16\x18\x84\x40\x23\x6a\x99\x4a\xb7\x1a\xd4\x50\xf2\x1b\x78\x35\x7c\xfa\x35\x4d\x45\x48\x41\xdc\xb2\xd7\x0f\x40\x5b\x88\x90\x00\xeb\x26\xfb\x2b\x7a\xac\x61\xde\x70\xac\x94\x62\xb6\xf2\x93\x5b\x91\xc1\x0c\x4d\x8b\xc2\x77\x14\x7d\x8f\x65\x7d\x7d\xe9\x40\x03\xf3\xa4\xa9\xe5\xd7\x7b\x80\x81\x20\xb2\x47\x0d\x41\x4d\x4f\xbc\x8c\x58\xeb\x7e\xc4\xea\x69\x94\xe6\x75\xff\xf4\x33\x4e\x68\xd1\x09\x8c\x79\xe1\xe7\x73\x18\x06\x26\x7c\xb5\x4b\x9d\xa6\x9e\x5a\x5e\x06\x58\x02\x43\x66\x31\x61\x16\xc1\x46\x97\x8f\x8e\xc3\xc1\x26\x93\x06\x4c\xb5\x2f\x6e\x80\x7d\xfe\x31\xfe\xce\xd5\x12\x92\xa8\x72\x19\x30\x4b\xc9\xc3\x73\x24\x2d\x0e\x3e\x52\x7a\x31\x55\x1c\x4c\x6d\x39\x64\x58\x8a\x64\x11\x22\x7f\x1e\x01\x6d\x80\xe1\x66\x9c\x68\x44\x3d\x5b\xd6\x22\x49\x7a\x24\xe8\x6f\x80\x2a\xfc\x9e\xc1\xa1\xe1\xa1\x3b\x7c\xa8\x15\xd4\x81\x48\xdc\x4b\xf8\x52\xa1\x68\xb2\x75\xca\xa7\x62\xf8\x66\x2b\x5a\x4b\x20\xf3\x2a\xc8\xed\xc9\xd5\x67\xfc\x09\xf6\x55\x41\x5a\x91\xad\x2f\x99\xbb\x4d\x94\x1a\xb4\xe9\xee\x28\xbd\xd7\x08\x04\xa9\x23\xd6\x8a\xe8\xe5\x20\xca\x52\xfe\xb8\x35\x89\x78\x77\x05\x16\x35\x2c\xaa\xa5\x6a\x97\xa2\xbd\xd4\x40\xef\x4b\x4a\xea\xc9\x96\x0e\xb4\xa2\x61\x93\x7a\x43\x80\x87\x56\x64\xea\x63\x0f\x46\xb2\x70\xde\x2a\x78\x39\xc2\x9b\xa9\xca\x8f\xdb\x52\x0c\x04\xcc\xe2\x55\xaf\x86\x70\xfc\xea\x68\x37\xf2\x1f\xf3\xf9\xd3\xcf\x61\x48\x9d\x61\x6b\x86\x32\x24\x0c\x3b\x0f\x68\x89\xf6\x1e\xd6\x78\x05\x33\xfb\x9e\xb2\x7f\x75\x54\xe3\x34\xce\xa3\x0c\xb3\x6c\xd3\x5b\x79\x5f\x1f\x06\x80\x99\xcb\x51\xad\xc4\x2a\x4e\x1e\xf8\x1b\xd2\x94\x8d\xdd\xed\x4e\x81\x68\xa9\x40\x1e\x51\x9d\xa1\xcd\x8d\x7b\xcb\x19\xc8\xcb\xe3\xbd\xd0\x59\x72\x38\x54\x78\x0b\xb4\x1d\xb0\x98\xba\x71\xa9\x02\x45\x28\x68\xf4\xc5\x44\x2c\xf0\x25\x4c\xa3\x53\x05\x34\xb9\x43\x1e\xe8\xa0\x19\x56\x12\x25\x2e\xa0\xa6\x42\xce\x35\x0f\xdb\xd4\x7b\x3c\x88\x8d\xdd\xda\x32\x20\xad\xf9\xfc\xc8\x20\xa3\xbc\xdb\x2a\x8a\x1a\x49\xa0\xa2\x0d\x2a\x5f\xcb\x66\x75\xca\x94\x2b\x9d\x52\xd8\x0e\x18\xcf\xa1\x0a\xaa\xbd\x09\xd4\xd3\x7f\x32\xcb\xb0\xfd\xb1\x4a\xe3\x4a\xad\x6d\x9f\x4e\x30\xb8\x0c\x01\x53\x03\x39\xbc\x68\xb2\x43\x1e\xe7\x6c\x9a\xc0\x69\x89\x7b\xe8\xd9\xa1\x62\x35\x28\xef\x0d\x97\x83\xa2\x02\x63\x98\x1d\x18\xb0\x26\x84\x3f\x3f\x50\xe7\x78\xbc\x9b\x0e\x12\x20\xf3\xe4\xa2\xf4\x00\xfc\xf9\x3e\xc0\x36\xd9\x1e\x95\x3a\xf3\x13\x81\xc5\xbd\xb0\xb7\x58\xf8\x80\xe9\xec\xe5\x47\x09\xd6\x31\xa6\xc4\xe7\xeb\x45\xe2\xcf\x04\xb7\x98\x86\x5f\xca\x75\xcc\x5e\x51\xc9\xaa\xf4\xd5\xcb\x97\x0b\x58\xcc\xf9\x04\xb3\xe0\x5e\x9a\x65\xab\xe0\x8f\xe0\x7f\xa8\xae\xe3\xd6\x6b\x5c\x73\x64\x3d\xac\x93\xf5\xa1\x66\x64\x54\xed\x8d\xd2\x63\x81\x0c\xf3\x09\x63\x68\x98\x11\xaf\xf3\x06\xf1\x50\x9c\xc3\x9e\x4a\xab\xe2\x43\xdd\xf8\x6e\x56\x72\x55\xc0\x83\x7e\xa8\x3a\xd8\x52\x6b\x69\x1a\x2c\xda\x15\xa8\x5d\x7e\xc5\x5e\xd3\x47\x60\xf1\x2d\x65\xd6\x3d\xd6\x11\x53\x9d\xce\x41\x98\x83\x4c\x74\xe5\x44\xfd\x14\x93\x7b\x0a\xac\x59\x54\x16\x60\x30\xa9\xd6\xa3\x6b\xd2\x6a\xa8\x73\x8c\xe2\x65\x54\xae\x4e\x26\xeb\xc7\xb6\x1b\x80\x92\x0b\x42\x6a\x84\x4c\xf5\x18\xc5\x9d\x8a\x14\xe6\x11\x66\x19\xa3\x52\x11\x91\x4c\xc0\x95\xad\x44\x3d\xb1\x5a\xcf\x61\x95\xa4\x6c\xa4\x50\xa9\x5f\xaa\x12\xdc\x40\x3f\xa8\xa1\xb7\x22\xb4\x29\xb8\xb7\x41\x38\x17\xca\x5d\x30\x17\xcb\xb0\x19\x12\x5a\x7d\xd6\xc5\x8e\xaf\xa7\xa8\xd4\x9b\x61\x60\xcb\x71\xf9\x99\x7a\x94\x73\xed\x06\x79\x1b\x06\x03\xc7\x86\xd1\x7c\x45\x86\x09\xc0\xb0\xe5\xc3\x6a\x24\x67\xdf\xc9\x1b\x15\x50\xf2\x12\xa4\xc3\xc7\x56\xe6\x23\xce\xa6\x41\x00\x15\xb0\xf2\xc9\x36\xf0\xd8\x74\x0f\xf5\xae\xe1\x5e\xcc\x52\xf5\x00\xcf\x2b\xd9\x72\xa9\xb5\xdd\x35\x8f\x7b\x63\x54\x2b\x05\x84\x9b\x8c\xc3\xf6\x90\x2f\x7a\x01\x1b\x19\x38\x6b\x3c\x26\x10\xeb\x37\x3d\x86\xf0\xb2\xd7\x97\x83\x7a\x8d\x13\xaf\x6a\x53\xcf\xc8\x80\xb6\xa0\x78\xcc\x0d\x2c\xbc\xc8\x14\x9e\x7c\x25\x5d\x54\x94\xd4\x7e\x6e\x0e\x08\x77\x26\x59\xb5\x82\xda\xa4\xa2\x63\x47\x6d\xb7\xf6\x9d\xc7\x32\x7b\x29\xb5\xbf\x37\x66\x85\x72\xb6\x99\xdb\x07\xd4\xad\x1e\x3f\xf2\x69\xe1\x40\x6a\x3b\xd8\xa0\xc3\x99\x97\x81\xda\xd4\xb7\xa1\xa4\xf7\x2d\x6f\xa9\x5a\x8f\x91\x1a\x2c\x37\xd0\x97\x8f\x9b\x53\x18\x44\x77\xf1\x6d\x93\x38\x00\x01\x6f\xe1\xcc\x7d\x87\xfb\x38\xf6\xe3\x4f\x97\x44\x0a\x9f\x5c\xe7\x39\x56\xb1\xcf\x71\x6b\xc1\x7d\x90\x4b\x57\x06\xab\x35\xb6\xf4\x87\x55\x5f\xa2\x15\x7f\xa2\xee\x7c\xf8\xc7\x26\xc5\x4c\x5b\x47\x91\x91\x92\x21\xc5\xa1\xcf\xcc\x5c\xe9\x19\xad\xe3\xa6\x59\x1f\x11\xbb\x7b\x9f\x0a\x53\x1e\x68\x7f\x94\xaf\xa7\x35\x54\xe2\x26\xc3\xfb\x9d\x34\x56\xd2\xe2\x79\x60\x3a\x1e\xb5\x03\xf1\xf4\x77\xc1\x15\x58\x34\x58\xed\xfb\xac\x1f\x07\x55\x2d\x49\x64\xa7\x77\xaa\x25\x1f\x87\x74\x0e\xfc\xab\x98\xc5\xa0\xfd\xe4\x09\x5f\xf6\x54\xbd\x0f\x92\x5b\x94\x42\x9c\x41\x4d\x3d\xcb\x29\x52\xaf\xbb\x17\x16\xa2\x6d\x1b\x49\x26\xda\xa5\x17\x9b\xea\xe7\x11\xb6\x13\x00\x01\xa2\xe2\x38\xb2\x71\xc0\x4c\xcc\x61\xe7\x01\xf3\x30\x4e\x50\x7e\x7c\xd4\xe1\xd3\x86\x16\xf7\xc5\x3e\x84\x84\x33\x23\x8e\xb1\xa2\x0b\xb2\xf0\x0d\x02\xa6\xe2\xed\x2b\xb1\x4c\xe6\x68\x4b\x10\x7c\x2a\x04\xdf\x7c\xa0\x8c\x57\xeb\x3c\xe3\x64\x78\x90\x4d\x36\x6c\xd3\xa5\xff\x8d\x47\x2e\x51\x14\x43\x53\x9b\x05\x91\x0f\x8b\x08\xfd\xf8\x0d\xf6\x2b\xbe\xde\xfb\x0e\x51\x13\xa9\x41\xf4\xf4\xb3\xac\x2f\x5f\x12\x8f\x09\x79\x8b\x23\x29\x0c\xca\x0e\x6d\x22\x93\x3a\x3b\x20\x6d\x68\x57\x15\x3a\x55\x66\x66\x1d\xf1\x2a\xc5\x5d\x31\xf3\x6f\xf1\x36\xe4\x7e\x89\x17\x0e\x0d\xad\x3d\x99\x02\xd5\x33\x9c\x41\x73\xc9\x8e\x42\x93\x6a\x82\x25\xb7\x13\xef\x43\x8c\x9d\x4a\x17\xba\x5a\xbe\xf0\xbe\x13\x88\x68\xe6\x83\xa0\x45\x76\xfb\x2d\x86\x55\x33\x25\x87\xfa\x2c\x5f\xad\xa9\xa7\xb3\x98\x52\x57\x4b\xcc\x4e\x27\xab\x7a\xbf\x3d\x5a\xad\x71\x01\xa0\x8c\x27\x39\x09\xf9\x11\xac\xe6\x5f\x93\x47\xd4\xc4\xca\xdb\x9e\x15\x47\x08\x32\x7f\x16\xe9\x3a\x89\xb3\xf8\x16\x16\x95\xdc\xb8\x9f\xb1\x7b\xab\x35\xfe\xa0\x60\x5e\xe6\x07\xa4\x11\x7f\x53\xae\x5d\x33\x11\xbd\x61\xc1\x9a\xc3\x0b\xd8\x5f\xa5\x18\x93\xe4\x4b\xf3\x13\x04\x3c\x14\xd9\x23\xed\xc9\xea\xe9\x47\x14\x98\xe8\xab\xdf\x90\x9d\xeb\x07\x5a\x4d\x60\xd5\x03\x53\xe6\x49\xbc\x52\x6c\x1c\xd3\x57\x40\x0c\x37\xc9\x95\xc1\x7c\xf2\xc7\x6b\xfa\x8b\x7f\x7c\x96\xfe\xc1\xef\xe2\xb5\xda\x49\x12\xef\x4f\xc4\x3e\xee\xe7\xbf\x49\x1c\x16\x95\x41\xe7\x5f\xaf\x5f\x4b\xdb\xb3\xb6\x13\x3e\xa1\x5d\x1c\x3d\x1c\xe8\x91\x36\x9b\xb1\x57\x1d\x96\x9f\xa2\x41\x92\xc4\xc9\x2b\xaf\xe5\x66\xe6\x5d\x4c\x77\x83\xb7\xb4\x21\xcb\x7e\xf2\x7e\x43\x13\xe5\xa5\xbe\x1b\x3b\xf6\x3e\x45\x6f\x04\xba\x0a\x0c\x24\x2d\x54\x4f\x61\xfe\xcb\x4a\xfd\x95\xa7\x2e\x7c\xe2\x56\x22\x71\x27\xb5\xaa\x75\xf6\xa6\xdc\xca\x79\xac\x80\x6d\x21\x6b\x86\x77\x89\x2b\xd4\xa8\xb8\xe9\xc8\xf3\xa9\x07\x87\x6d\x3a\x4d\xcf\xe0\x5c\x3b\xcd\xe2\xe4\xe1\xff\x69\x21\x0f\x8b\xb9\xc8\xb5\xe7\xf5\x93\x09\xf6\x47\xbe\x93\x75\x65\x40\x22\x24\x85\x88\x08\x8b\x51\x47\xff\x4f\x1b\x55\x58\xa6\xd9\xf3\x75\x79\x73\x0e\x59\x6a\x9f\xc6\xa2\xa9\x3b\xbc\x41\x7e\x5f\xae\xf7\xec\x86\x0e\x64\x1a\x65\x70\x46\xb6\x87\x56\x0d\x07\x28\xd9\xaa\x7d\x5d\x33\x09\x60\xc8\xbd\x57\xbd\xf1\x6e\xb5\xef\x07\x9d\x50\x33\xb1\xa2\x73\x55\x54\x85\xdd\x81\x3e\xd9\x23\x10\x01\xdc\x44\x69\xbe\xc6\x13\xaa\x98\x5d\xd0\xb7\x64\x29\x62\xff\xa4\xdb\x08\x8e\xbb\xf2\x51\xac\xaf\x83\x91\x13\xd6\x3b\x1a\xf2\xd4\x90\x3d\x06\xf3\x96\x4b\x23\xb7\x0e\x36\xc8\x16\x0d\x90\xa7\x71\x21\xe6\xa4\x93\xf5\x25\xd4\xc7\x9c\x4c\xc5\x89\xc0\xed\x19\x95\xee\x26\x68\xba\xbc\x59\x3e\xfd\xc2\xb7\xe5\x4e\xe3\x25\xff\x15\x39\x2c\xe9\xfc\x57\x2c\x47\xbc\xb7\x60\xfe\x39\x48\x04\x39\xed\xa2\xca\x24\xd4\xc1\xea\x32\x15\x36\xcd\x83\x5a\x49\x69\x27\x73\x9e\x9d\xe8\xb4\xea\x9d\x47\x30\xc5\x65\x4b\xf4\x4a\x17\xf4\x4e\x34\x97\x76\x09\xbd\x99\x80\xbc\x3e\x9a\x0a\xdb\x91\xd8\xaa\x3a\xb7\x6e\x00\xce\x44\x02\x4f\x03\x38\x5c\x3e\x0a\xf3\x9e\xab\x5d\x29\x9e\x97\x2e\xb0\x58\x40\x25\xa8\x94\xd4\xa1\x3b\x5e\x0e\x24\xb0\xde\xe2\x18\x48\xcb\xce\xab\xed\xf0\xca\x5d\x1e\x6b\xcc\x93\xbe\xee\x0f\xcf\x1d\x36\x2b\xc4\x5e\xe2\xb2\xbc\x70\x33\x6e\xe5\xe8\x4e\x0e\x8b\xff\x9b\x40\xed\xc4\x44\x07\x99\x0a\x66\xca\xc4\x6a\xcd\x11\x43\x68\xe3\xe5\x6b\x74\x9b\xb9\x28\x5d\x7c\x2f\x4e\x60\x6f\x52\x1d\xb6\xd8\x61\x0e\x7b\xc2\x5b\x38\x0c\x86\x3e\x4a\xae\xde\x3b\x5b\x48\x89\xd7\xa8\x49\xf4\x85\x50\xc3\xb9\xc7\xdc\x19\xd5\xf3\xbc\x39\x32\x4f\x9e\x7e\x99\xcf\xa3\x56\x7c\xf7\x49\x00\x40\x1e\x83\xb5\x03\x2a\x1e\xed\xc7\xf3\x61\x4f\x76\xe1\x52\x3d\x07\x2c\x38\x54\x88\xd8\xf5\xc9\x90\x7d\xd2\x16\xf0\xf0\x7b\x8f\x1c\xd1\xad\x5c\x52\x10\x35\x83\x6c\xc7\x2c\xcd\x40\x57\x88\x32\x2a\x98\x9c\x02\x64\x64\xa2\x08\x00\x40\xbc\xe5\x48\xad\x47\x4f\xb9\xcb\xa2\x5d\x98\xae\x9f\x7e\xce\xc8\x8e\x34\xfc\x4e\x81\xaa\x89\x5a\x92\xd9\x8e\x34\xc1\x51\x3d\x53\x67\x78\xaa\x18\x38\x79\xc0\x4e\xfa\x48\x65\xea\x1d\xfa\x33\xb0\x5e\xa8\xd7\x98\x2d\xc8\x42\x51\xa9\xd1\x72\x75\x56\xb4\x71\x7d\x3a\x2b\x98\xc4\x19\x55\xf0\x74\x94\x01\x9d\x3a\x0f\x23\x18\x64\x1f\x91\xd9\x22\x2b\x14\xd9\x91\xb8\xa7\xab\x13\x0b\x39\x97\x22\x27\x05\xca\xf7\x26\xce\xcc\xe0\xfb\x3c\xbe\x88\xc4\xb9\x41\x73\xad\x4d\xb0\x3e\x56\xae\xe9\x8a\x7a\x8f\xdd\x45\x4e\xe2\xe7\xee\xcf\x4c\x00\x3a\x06\xad\xd7\x6a\x05\x6e\xbe\x64\xd1\xb8\x53\x36\x8b\x5c\xf1\xaa\x70\x69\xaf\x29\x61\x6c\x4c\x67\xe7\x25\x9a\x9d\x8b\x04\xcc\x17\xf7\x61\xa9\xad\x9c\x1a\xde\x37\xd5\x69\x93\x7b\x32\x3e\x87\x81\xa1\xf3\xe0\x91\xb5\x7f\xca\x01\xc4\x5d\xf1\x71\x58\x6f\x33\xae\xde\x6b\x8e\xfd\xed\x0a\xdb\xed\x7e\x50\xdd\x04\x3a\x43\x6f\x08\x25\x51\xe6\x80\x2b\x2c\x2c\x86\xca\x92\x44\xb5\x50\xd9\x36\x71\xd1\x38\x37\xa3\x0b\x29\xb7\x52\xb5\xac\xb4\x29\x62\x55\x42\x8e\x44\x45\xde\xdb\xeb\xeb\xe6\xf5\x84\x0f\x74\x5b\x36\x5c\xc3\x5a\x77\xcc\x2e\x2e\xa3\x59\xab\x2d\xe9\x8a\x08\xc8\x5d\xe7\xe9\x12\xc3\x75\xf2\xe9\x54\xa4\x29\x79\xa9\x6d\x7e\xc9\xf5\xba\xa7\x4f\x19\xe5\x5b\xe6\x8a\x82\xc3\xdb\xbb\x70\xc1\xcc\x41\xfb\x97\x35\xf1\x10\x30\x19\x7d\x7d\x28\x40\x14\x50\xa0\x8a\xb8\xcf\x13\x6b\x76\xab\x1e\x0f\x68\x5d\x0b\x65\xdb\xe8\x78\xbc\xad\xf7\x23\xac\xc0\x04\x3c\xe1\xd0\x0f\x15\x5b\x75\x24\xff\x12\xec\x76\xc2\x3f\xb0\x2a\x54\x92\xa5\xd6\x23\x4d\x1f\x61\x50\xe4\x87\x8a\xcf\xd2\x64\xd0\xd7\xa8\xd9\xfd\x50\x95\xda\x36\x1c\x49\x14\x66\x06\xd6\x1b\xd8\x0d\x42\xfb\x45\xad\xe7\x94\x0d\xda\x51\x17\x4f\x02\xbe\x35\xf0\xa7\x14\x9b\x20\x6b\x9d\x3e\x60\xce\x2a\x59\xb4\x76\xa2\x27\xca\x25\x9a\xc2\x31\x0b\x4e\x0e\x48\xcc\x47\x7f\x89\xc7\xa6\xb4\x1c\x9f\x65\x19\x4d\x0b\xa1\x58\x11\xa7\x5b\x00\x41\x11\x7f\x67\x8d\x1f\x70\x99\xdf\x80\x1d\x2a\xe5\x15\x80\x7e\x2f\xe5\x66\x48\x45\x96\x51\x6c\x61\x4c\x3d\xa2\x3c\x17\x91\xa7\x6d\x5b\xbb\xf9\x06\xa5\x23\xe6\x8c\xab\xaf\x1b\x7c\x6a\xa3\x6e\xbf\x7e\x4c\x0b\xfd\x03\x4d\x8e\xe1\x57\x7b\x0e\xdf\x63\xcb\x68\x0b\xb3\x1a\x5e\xd4\x26\xe2\x65\x27\xea\x5f\xb7\xc0\x68\xa6\x40\x5a\x74\x18\x36\x46\x9f\xd4\x31\x16\xa4\x73\x83\xed\xdb\xf2\x57\x99\x7b\x1b\x48\x50\x94\xed\x8c\xde\x82\x9f\x7b\x23\x79\xaf\x54\x71\xde\x23\xbc\xf4\x27\xfc\xb0\x23\x65\x67\xc9\xd3\x2f\x78\x3b\x38\xc1\xa0\x5c\x38\xe2\x45\x74\x91\x57\x05\xde\x9d\xc8\x0d\x6b\x52\xcf\x96\xf5\x04\x5c\x26\x6c\x22\xc2\x40\x4c\x40\x4d\x27\xa6\x79\x69\x42\x69\x21\x80\x5e\x82\xe7\x55\x94\x9a\x3b\x4f\x46\xf5\xaf\x3a\xe2\x03\x0b\xc6\x26\xf1\x7b\x56\x34\xa3\x0a\xca\x66\xf9\xdf\xa7\xa2\x29\xdb\xec\xf8\xb6\xfa\xe6\x33\x7d\xa3\x07\x95\x6b\xa0\x4e\x23\xda\x34\xf3\x6b\x41\x87\x55\xd8\x6d\xd4\x56\x8f\x00\x92\xba\x13\xde\xa6\x70\xe4\xee\x5c\x37\xce\x09\x71\xa2\x5c\x44\xf2\x90\x20\x29\xdb\x80\xeb\x46\x9f\xcc\x04\x04\x00\x3b\x0a\x46\xe5\x78\x61\x00\xdc\x66\xaa\x2d\xc4\x95\x76\xd2\x1a\xe1\x7e\x0e\xfa\xad\x2e\xc8\x4d\xe1\xde\x6d\xb4\x3a\x0e\x75\xc3\x59\xdb\xd9\x80\xd8\x45\xc8\x94\x31\x56\x47\xc5\xf6\x2b\x7d\x4b\xf1\x44\x33\xb3\x20\xe4\x9d\x78\x30\x36\xf7\x06\xbe\x9d\xcb\xaf\xf6\xc6\x14\x23\x7b\xa4\x96\x1c\x54\x83\x56\xfe\x55\xa9\xd9\x8e\x23\xd4\x5a\xce\x66\xec\x6c\x2b\xf5\x0b\xb1\x42\x82\xfd\x15\x7c\x42\xdf\x11\x1e\x94\x6d\xb6\xce\x36\xa2\x4d\x22\x5a\x6b\x3c\xec\xd5\x3c\x93\xb2\x07\x0a\xdc\xc1\xb2\xd8\xbf\xcd\x56\xbb\x12\xeb\x16\xed\x0e\x82\x68\x59\x5e\x8d\x8b\x72\x3b\x49\xe3\x08\x6d\xd5\xb4\xd9\x7a\x2d\xf5\x65\x94\xd2\x5d\xbc\x2a\xdc\x9a\xe5\xfe\x33\x9e\xca\xb5\x11\x2b\xfb\x3d\xd7\x97\x54\x5a\xc4\x38\x1d\xc1\xd0\x75\x7a\xe5\x18\x6b\xde\xb7\x61\x95\xc9\xe4\x29\xba\x94\x85\x97\x88\xbf\xca\xc8\x1a\x19\xd9\x8d\x71\x92\xfe\xc2\x6f\x0a\x27\xac\xcd\xf3\x25\x8f\x0d\xd8\x15\x13\x6c\xa6\xbc\x8c\xb2\x63\xef\x35\xde\xb0\x1b\x51\x7f\x18\x9c\x47\x7e\x90\x48\xe4\x59\x3b\x7d\x47\x85\x34\x05\x51\x88\xe7\x7e\x8a\xfb\x92\x99\xe4\x47\x74\xc1\x89\x51\x91\xeb\x58\xb6\xee\x41\xd7\xc7\x87\x93\xfe\x50\x25\x63\x8f\x3d\xa3\x58\x97\xa7\x8a\x75\xc9\x06\x4f\x39\x5f\xb3\xab\x70\x6a\x5b\x70\x7a\xfd\x60\xd9\xa9\x85\xd9\xca\x8b\x84\xa2\xec\x28\x99\x42\xdf\x30\xf0\x95\x4c\x6d\x66\x17\x79\x4b\x02\x76\x0f\xdc\xac\x16\x62\x82\x70\x15\x69\x51\x85\x7c\x52\x39\xf4\x0c\x86\x1d\x15\x71\xd9\xf0\xe0\x63\xbe\x00\x3d\x45\x31\xb4\xa8\x8d\x7d\x23\x11\x11\xe3\x1f\xad\xbe\x10\xe9\xed\x18\x36\x67\x52\xf4\xa5\x53\xa3\x48\x77\x68\x06\xa7\x1b\xe9\xcc\x02\xbe\x51\x5c\xf9\xd9\x74\xe9\x0c\xdc\x4b\xb3\x60\xb5\x52\xa9\x38\xe4\x06\x14\x81\x35\x66\x31\x07\x0b\x76\x65\x26\x6a\x3d\xf0\xad\xfc\xa1\x38\x5e\x1c\x7b\xab\x87\xa2\x4e\xcb\x57\x28\x31\x67\x41\x46\x5d\xa8\xf8\xe7\x83\xb6\x38\xfd\xbf\xfa\x77\x7e\x01\xe1\x18\x1e\x3b\x28\x81\x91\x5d\x92\x26\x30\x26\x60\x3d\xde\x3d\xf8\x8b\xed\x61\xff\x8f\xbb\x3f\x1c\xff\xe1\xf8\xeb\x03\x12\xca\x03\xf5\x07\x80\xfc\x8a\xd3\x2f\x60\x5d\xe1\xf3\x19\x46\xc8\xea\x17\x53\x0f\xaf\x98\x8e\x74\x7a\xd5\x81\x8c\x4d\x39\x40\x72\x0e\xa2\x3c\x0c\x6d\x95\x56\xfb\x20\x3b\x38\x57\xd8\xfc\xa9\xf0\x9e\x50\xf6\xc9\x25\xb1\xf0\x11\x56\xed\x06\x0f\x51\x56\x61\xf8\x3d\xe2\x22\x3f\xb1\x25\x1b\x4d\x48\xe8\x06\xfe\x08\xab\x69\xc1\x5f\x5f\x23\x1b\xb7\x06\x5e\xf0\x11\x97\x0c\xc2\x52\xcc\x04\x46\x9e\x61\xa2\x3e\x69\x1f\xdc\x09\xfc\x3c\x55\x91\xc6\x1c\x81\x6e\xfa\xe7\xef\xe2\xc8\x58\xd6\xc2\xf0\x31\xa5\x26\x9b\x91\x60\x66\xb4\xe7\xb7\xc8\xe9\x92\xda\xc8\xa7\x1c\x2e\x3e\x0d\xf3\x99\x50\xaa\x4a\xd6\x91\x3c\x2a\x05\x06\xf3\x9c\x06\x18\x1a\x0c\xa8\x02\xd0\xc9\x1e\x76\x66\xb3\xa9\xa7\x62\x42\x65\xbf\x7a\xa5\x99\x64\x22\x87\x6e\x54\x8f\x9a\x69\x22\x1e\xe3\x85\x8e\x95\x91\x7a\xe2\x18\xb4\x55\x6d\x08\xb1\x6e\xef\xd7\x1c\x42\x8c\xd5\xea\x6d\x49\xbd\x17\xfd\xeb\x6b\x4b\x59\x83\xd3\xab\x93\x77\x83\xd1\xe7\xf3\xf7\xfd\x33\x5b\xe5\x0e\xf3\x11\xef\x90\xff\xea\xd1\x5f\x96\x5b\xcf\xc6\x12\x54\xf0\xe3\xd3\x7f\x5e\x5a\xa9\xc1\x37\xc7\xcd\xaf\x5a\x8a\xf0\x00\xfb\x96\x93\x98\xd2\xde\x95\x7f\xc3\x06\xa7\xe6\xc9\x7a\x90\x14\x1d\x2e\xaf\x6f\x13\x21\xc3\x34\xc9\x1e\x6e\xb8\xc8\xf5\x46\x22\xe5\x47\xa3\x7a\x83\x56\x05\x85\xdb\x36\x87\x12\x5a\xb6\xc8\xdc\x91\x2b\x5b\x3a\xd9\x99\x08\xaa\x06\xd0\x25\x52\x21\x94\x19\xfe\x2d\x00\xdd\x03\x15\x1c\x01\x36\x86\x02\xaa\xe3\x90\x23\xac\x26\xfe\xd6\x3b\x3e\x1d\x01\x37\xb1\xb0\x13\xfb\xf6\x75\x3b\xdd\x11\x5d\x97\xcb\xe9\x8e\xa0\xbb\xdd\x4d\x77\x04\x7e\x2b\x6c\xb7\xa6\x9b\xbe\x01\x57\xd0\xe6\x59\xde\x26\x2b\x1b\x27\x73\xaf\xa3\x24\xba\xdc\xad\x77\x01\x25\xcf\xf1\xbc\xee\x8b\x0c\xb7\xc8\xc7\xca\x20\xbc\x13\x9a\xcf\x71\x30\x7a\x18\x36\xd7\xca\xc6\x02\x3d\xcd\xc7\xf7\xd4\x40\xa8\xc8\xd5\x49\xd2\x1f\x73\xd8\x17\x23\x95\x07\xd4\xec\x06\x28\x62\x73\xe4\x73\xdc\x86\x75\x29\xac\xc1\x56\x7a\xfc\x0d\x91\x37\xfa\xe0\xe6\xc6\x4a\x0a\x31\x5a\x2f\x7d\xcc\x19\xa2\x15\x9d\x7a\x87\xc1\xb1\x38\x06\xf6\xc5\xa9\xe0\x0b\x7c\x4c\xea\x65\xdb\x7b\xbd\x16\x14\xf7\xc9\x17\x9e\xb6\x58\xa4\x3e\x45\xd7\xe3\xc5\x2d\x67\x91\x92\x36\x88\xbc\xc3\xd9\xb1\xb7\x3c\x66\x3b\xe2\x56\x77\x91\xc6\x03\x87\x40\xa6\x09\xb0\xd6\x83\x68\xf6\x95\x23\xe1\xdd\x22\x19\x5c\x61\xda\x43\x7d\x06\x2a\x00\xc1\x15\x94\x3d\x86\x80\x40\x95\xbc\x00\x4e\x30\xa7\xa8\x52\x30\x33\xa9\xad\x1e\x0d\x1d\x98\xe9\xbc\x0c\x3a\xae\x0d\x6c\xba\x7d\xf8\x91\x03\xd5\x5f\xee\xfe\x59\x8f\xfe\x37\xb9\x7e\xd6\x83\xdd\xee\xfa\xb9\x44\xfc\x56\xb7\xcf\x9a\x80\x9d\x1d\xb2\x25\x5a\x76\xf7\xbd\x6a\xc2\x7e\x03\xd7\x79\x69\x28\xe3\xdf\xca\x65\xae\x39\xb0\x83\x7b\xb9\x34\x92\x7d\xf8\x8a\x35\x51\x3b\xde\xa4\x97\x08\xdb\xf3\x45\xba\xa6\x51\xdf\x2b\x93\x32\x77\x26\x67\x54\xf3\x9a\x23\x22\x3a\x43\x75\x45\xa3\x5f\x6a\x46\xb2\xbf\x8b\xe3\xb2\x7c\xef\xf3\xde\xd8\x20\xd6\xe5\xde\xd8\x89\xbe\x66\xeb\xbd\x6e\x49\x39\xd2\xb6\xc3\x9d\x71\x1d\x85\xbb\x5c\x19\x6f\xd0\xf6\xc5\xae\x29\xea\x46\xf2\x9b\x5c\x3f\x14\x2c\xb0\x5f\xb6\x6d\x39\x41\x9d\xae\xd5\xb6\x99\x34\x35\x0b\x7c\xe3\x51\x4e\x22\x2a\xbe\xe7\xeb\xf6\xed\x67\xc7\xe0\xf2\x06\xa2\xea\xec\x94\x30\x6e\x35\x0d\x75\xb7\x40\x3b\x11\x5f\x7f\x31\xd4\x95\xba\x74\x9a\x04\x54\x02\xee\x95\x21\xa5\xc6\xd7\x56\xa5\xf2\x5a\xc8\x94\x14\x98\x73\xfb\xbb\xf5\x58\xb9\x8c\x1b\x86\xaf\x8a\x34\x55\xf1\xa2\xda\x31\x6a\x66\x8a\x59\x03\xfe\x17\x49\x30\x9f\x1b\x21\xa3\xda\x9b\x59\x31\xe9\x83\xa8\xa8\x9d\xeb\x44\x0d\x95\x32\x56\x6a\xc3\xb0\x89\x74\x6d\xac\x98\x2f\xaa\x54\x56\x48\x0b\x85\x58\x4a\xa8\x9c\x73\x47\xce\xe5\xd2\x57\x95\xea\x59\x5c\xb8\x0b\x0f\x6f\x95\x64\x91\x2d\xc7\xa2\x19\x6b\x0e\xc5\x99\xec\x82\xb1\x65\x7a\xdd\x89\x29\x7a\x23\xe1\xa8\xe2\x69\xd3\xc4\x0e\xf9\xd9\xeb\xeb\xef\x7b\xc5\x19\xde\x1d\x15\x76\x92\x52\x09\x2b\xc6\xe5\x9f\xed\x28\x35\x7e\x2b\x53\xf4\xa3\x22\x89\xc8\x15\x15\xc5\x61\x17\xb9\x63\xe8\xd5\xe0\x6a\x40\x94\x36\x44\xd6\x34\x37\x06\xb1\x97\x1b\x50\x48\x67\xe6\x6d\x4d\x2a\x4d\x60\x7e\xb9\x23\x41\x78\x9f\x84\xf1\xcd\xde\x5c\xf8\x59\x9e\x60\xad\x14\xf6\x1d\x70\x17\xb3\xa5\x7f\x57\x92\x8d\x68\x46\xd7\x12\x79\xca\x6f\xcb\x97\xda\x09\xe6\xc2\x7c\x6f\xf8\xf1\xb4\x44\xe3\x11\xa0\x9c\x61\x55\x73\xad\xa0\x4c\x91\x92\x35\x61\xe4\x9b\x40\xcf\x44\x3a\x6d\xb0\x34\x8b\x2e\xec\x25\x2b\xd0\x34\x0d\x57\x46\xbf\xe3\x40\xb0\x80\x56\xc8\xc9\xaa\x66\x86\xad\xb1\x74\x37\xb6\x5f\xf7\x7d\xef\xdc\x18\x1a\xcd\x93\x1c\x4d\xca\xd5\xb5\x6a\xf0\x1a\xe7\x97\x1a\xc4\xee\x9b\x61\x75\x98\x38\x5f\xa0\x72\xb8\xee\x2f\x8c\xd9\x3a\xb8\xb9\xa1\x9c\x8c\x91\xb6\x9d\x7d\xed\x23\xc5\x89\x23\x75\x34\xe4\xfa\xa6\x8d\x96\x0d\x8d\xbf\x4e\x79\x19\x43\x6f\x3b\x43\xef\x34\x74\x14\xe4\x1d\x4e\x78\xfb\x64\xc3\x46\x02\xed\xb6\x87\xc4\x1a\x86\xd4\x88\x7c\x1b\x67\x9e\x8d\x2b\x35\xcb\xa0\x9d\x39\xfb\x65\x0c\x2a\x7e\x59\x4b\x80\xaf\xda\xff\x21\x3d\x70\x1c\x0e\x91\x3a\x7e\xdb\xbb\xc1\xda\xf4\x69\xf6\xf4\x6b\x56\x14\xd5\x54\x60\x3a\x62\x67\x03\x76\x4f\x34\x28\x33\xb5\x95\x16\x2c\xff\x8d\x50\x4c\xbb\x4a\x7b\xdf\xed\x5b\x60\xaf\x64\x4c\x91\x86\xae\xd6\x58\x7e\xcc\x43\x1f\xeb\xbe\x59\x71\xdf\xca\x02\xa8\x1c\x27\xf1\xed\x3f\xfd\xf3\xfb\x23\xef\x9b\xaf\xbf\xfd\x23\xfe\x73\x66\xf3\x4f\x57\x8a\x9e\x72\xc1\x53\x8c\x11\x78\x5d\x03\xc2\x86\x19\xd6\xc1\x83\xc7\x5d\x9f\x39\x87\x2b\x83\xad\x45\x17\x0e\xb2\x5a\x39\x5c\x90\x8d\xd2\xb7\xe4\x0b\xaa\x54\x4f\x73\xa5\xaa\xd3\x58\x16\x58\x09\xe3\x04\xf3\xf8\xe3\x3c\x5b\xe7\xb6\x52\x1d\xfd\x3c\xa5\x3a\xb6\xcc\xc4\xb9\x9f\x4c\x28\x9c\x07\xcb\x97\x72\xb5\x92\x16\x2c\xdc\x96\x92\x2e\xf9\xa8\x4f\xa5\xaa\x3a\x67\x41\xf7\x06\xd6\xcb\x84\x4b\xa8\xa9\xd2\xd8\xa9\x2c\x2a\xd6\x88\x66\xe5\xaf\xd5\x3d\x22\x95\x04\x92\xb9\xb6\x32\x0b\x6e\x15\x83\xcd\x20\xaf\x24\xc8\xca\x59\x27\xe2\x2e\x88\x81\x65\x94\x47\x98\x72\x0d\xb1\xc6\xf4\x5c\x59\x58\x0b\xb9\xcb\x69\xed\xec\xaa\x79\x24\x03\x4f\x1a\x00\xf2\x72\x82\x63\xfb\x92\xa5\x48\x38\x91\xb8\x94\x40\xc8\xe5\x2b\x15\x28\x38\xdd\xcc\x31\xd4\xac\x79\x70\xdc\x69\x51\x66\x86\xf9\x73\x0c\x64\x45\xba\xed\x76\xd9\x3b\x9d\xe2\x48\x61\x33\xb5\x89\x8c\x04\xd4\x8e\x78\x7a\x2b\x92\x5e\xb0\xa2\x6c\xbd\x58\x67\x92\xf3\xda\x40\x43\xec\xe5\xcc\x78\xa4\x87\x3a\xce\xb6\x44\x3e\xe6\x85\x59\x84\x6a\x57\xc2\x3e\x27\xd8\x32\x9a\xc6\x06\xd1\x46\x5c\x8e\xd1\x72\x3c\x8e\x3c\x09\xdb\x83\x1a\xe2\xdb\xe2\x8d\x14\x23\x7b\x5a\xa3\x1b\xd8\xf5\xcd\xe3\x15\x3f\xfa\xab\x75\x28\x30\xc6\xa7\x2d\x67\x5e\x8e\xa7\xf4\x46\x03\x82\xf4\x55\x33\xbc\xe8\x95\xed\x6d\x2e\xd2\xea\xa1\xba\x59\xad\x71\x61\x06\xa1\x98\xa9\xea\x4a\x58\xc8\x08\xbb\x84\xdc\x70\xf9\x4e\x0a\xeb\xa1\x72\x71\x47\xba\x42\x64\x4a\x92\xe5\xdf\xc1\x7b\x1c\x70\x88\xcb\x02\x35\xed\x82\xba\xb6\x00\x57\x6d\x4a\xff\x03\xc7\x4a\xe2\x5a\x7a\x8b\x5e\x37\x10\x47\x2e\x59\x81\xc5\x1a\x71\xe5\x2e\xe8\xda\x18\x33\x64\xab\xf4\x9c\x9b\x85\x18\xcb\x35\xad\xff\x57\xa9\x1a\xe8\x5d\xcc\xd1\x87\xe6\xc1\x0d\xe3\xb1\xf8\x9d\x3b\x8e\x93\x9d\xf8\x89\x6d\x27\x91\xec\xd1\x95\xf7\x64\x05\xa9\x83\xd4\xa3\xae\xfa\x29\x16\x6b\x8c\x45\x5a\x84\x01\x52\xaa\xac\xb7\x12\x99\x3f\xf3\xad\x31\x0e\x58\xd6\xfb\x5d\x1c\x65\x49\x1c\x86\x00\x62\xc5\x35\xd4\x96\x92\x09\x0b\xc1\x6c\x30\xca\x4e\x55\xcb\x4d\x96\x42\x08\xb9\xc4\x4e\xe4\x8d\x00\x73\x1a\x60\xd1\x28\x89\x5e\x44\x6d\xe1\x85\xa7\xf9\x6a\x5d\xaa\xcc\x47\x59\x9d\x20\x0e\xa8\xc7\xb8\xec\x9b\x6d\xaf\x2c\x95\xcd\x23\xfa\x37\x2a\xbf\xa1\x23\x82\xe3\x77\x69\x1e\x36\xea\xc8\x6d\x53\x46\xae\x7e\x1c\x83\xcb\x0f\xe7\xa3\xab\xcb\xf7\x83\xcb\x6b\xef\x43\x7f\x74\xde\x7f\x7d\x31\xf0\xa8\xaf\x9b\x2d\xcc\xe9\xe6\xfd\xd9\xe0\xf5\xcd\xe5\xd9\x58\x3d\x7e\x79\x36\xba\x19\x0e\x6d\x71\x4f\x75\x08\xc6\xb6\x35\xb7\x09\xdb\xb2\xfa\x06\xff\xd6\x7f\x3f\x04\x40\x36\xaf\xd2\xe0\x7c\x3c\x3c\x1f\xd8\x9a\xe5\x70\x47\x00\xbe\x72\x5e\x27\xf1\x8f\x0f\xaa\x0c\x37\xd6\xcb\x96\xf1\x76\x36\x8f\x0c\x5d\x43\x0f\xf5\x4b\xb4\xdf\x0f\xcf\x7b\x46\x0c\x9d\x4d\xa3\x4b\xac\x5f\xc2\x5d\xd5\x76\xd8\x2f\x93\xf2\x65\x7c\x55\x1d\xbd\x54\xdb\x0c\xe1\x79\x5c\x54\x8e\x94\xc4\x89\x27\x3b\x38\xb2\x5d\x67\x33\xaf\xc0\x7e\x13\x06\x4c\x15\x13\xee\x88\x65\x67\xd7\x94\x23\x9e\xb2\x5f\xca\xb0\x3f\xf6\xe6\x92\xea\x40\xc8\x6f\xe3\x8f\x32\xbd\x51\x33\x1f\xf7\x8a\xe7\x72\x46\xd1\x50\xbf\x94\x2f\xaa\xff\xdb\x78\xa2\xaa\x63\xdc\xd5\x11\xb5\xed\x30\xab\xfe\x17\xfc\x71\x27\x37\xd4\x73\x8e\x7b\x47\x2f\x94\x2b\x0f\xbe\x9c\x0f\xaa\x86\x1b\x5f\xd6\x05\xd5\xc4\x92\xdf\xcc\x01\xa5\xb9\xd2\xcd\xff\xd4\xdf\x83\xf7\xc9\x8a\xda\xc5\xf9\xe4\x48\x80\x93\xeb\x69\x10\xdd\x15\xb9\x57\xc0\xb6\x0f\xbe\x74\xf0\x7a\xf7\x7e\x2a\xcb\x1e\x66\x36\x42\x36\x52\xa4\x2a\x10\x28\x84\x4e\xfa\x4f\xc0\xb6\xc3\xd4\xb3\x85\x2d\xb5\x8c\x0e\x4b\x52\x3e\x6b\xe3\x7c\x90\x3b\x67\x37\xe7\xa7\x07\xaf\x6c\xd5\x5f\xb8\xd0\x2e\x5e\xe4\xac\x4a\x5b\x85\x5d\x56\x88\x4f\x0a\x68\x03\x59\xb4\x25\x73\x51\x70\xb2\x52\x1d\x08\x28\x32\x01\xa9\xd6\x4c\x61\xa7\x36\xe1\x99\xaa\xac\xc3\xa2\x0a\x0e\x1c\x22\x9c\x06\x5c\xc6\xa7\x8a\xe0\xd0\x61\xac\x79\x6c\x1a\xa7\x1c\x5b\x7b\xa3\x4a\xa7\x61\xb6\xf6\xa8\xac\x60\xcf\x64\x45\xc9\xd6\x62\xcc\x76\xec\x45\x75\xc9\x48\x26\xf9\x1d\x02\xd4\xaf\xda\x2a\x2f\x57\x08\x69\xac\x66\x69\x43\x6e\x14\xb0\xb4\xb4\x8f\xa9\x62\xa9\x4b\x2b\x75\xa8\xf2\x6c\x27\x40\x59\x49\x69\x33\xd8\x06\xe2\x66\xb5\xf1\x97\xbc\x54\x3a\x92\xa6\xa3\x1d\x2a\xa6\x68\x3d\x3c\x17\x9a\xea\x43\x32\x5d\x0a\xa2\x5a\xe8\xb2\xe6\xc4\x3b\xd4\x43\x95\xb4\x59\xaf\x10\xba\x52\x62\x53\xe1\xdb\x61\xe7\x3d\xc4\x81\x86\xca\xc5\x90\x9d\x0e\xb5\x95\x34\xd2\xa3\xfb\x26\x90\x1a\x29\x96\xbf\xb5\x9e\x59\x41\x4a\x29\x17\x0e\xab\x18\x17\xa2\xcd\xa7\x83\x4a\xd3\x83\x12\x70\x27\x9a\xd2\x75\x1c\xa5\xa2\x1b\x51\xac\xd1\x32\xca\x81\x9d\x88\xc7\xa7\x5f\x39\xa1\x17\xbf\x96\xf4\x15\xc7\x97\x2d\x09\x14\x36\x3b\xc0\x61\xf6\xfa\x6e\x73\xb7\x15\x7a\x67\x11\x72\x24\xc2\x45\x80\xe6\xdc\x3f\xd6\x70\xcd\xe2\xd9\xa3\xeb\x0a\x97\x3d\xdb\x0a\x4f\x69\xa5\xa6\xac\x53\xbd\x63\x1b\x41\x9c\xf5\xd2\x69\x83\xac\xa3\x47\xa5\xaa\xb8\x6d\x91\x8a\x8c\xfd\x68\x40\x45\x4f\x11\x97\xde\x02\xd2\x81\xb2\x96\xa2\xf7\x35\xe8\x71\x5b\x50\x36\x4a\xe3\x86\xa9\x50\x54\xcd\xc1\x62\xff\x70\x09\x77\xb3\x30\xc0\x6a\x18\xda\xa0\xef\x40\xa8\x03\x6d\x9d\x48\x73\xa3\xa6\x2e\x24\x76\x2b\xf1\xb5\x16\x2b\x71\xa4\x27\x4e\xee\xfd\x84\x48\x42\x1d\xe3\x64\xd1\x7e\x87\xad\xfb\x92\x10\xff\x1b\xe9\x76\x78\xcd\xb6\xec\x82\xcb\x44\xd2\x3d\xfa\x34\x9e\xb9\x59\xce\xfd\x09\xf5\xa7\x62\x97\x04\xe8\xaf\x13\x78\x31\x75\xc7\x83\x85\x37\x6d\x8e\xf5\x7a\x34\xac\x26\xcf\xe9\x3d\x07\x24\x66\x5b\x41\xbc\x7c\xa1\x86\x20\x1d\x11\x6a\x47\x64\xaa\xda\xaf\xce\xfd\x34\xa5\xe0\x4f\x17\x12\x54\xff\x3c\xea\x79\xc8\xf7\xc8\x7c\xbb\x04\x73\xff\x06\x8c\x76\x6e\x4b\xdf\x91\x26\xd9\x23\x30\x2c\xda\x1d\xca\x7b\xb0\x32\x50\x07\xf2\xa8\x12\x3d\xce\x43\x47\x0a\xe8\x90\x40\x13\xe1\x82\x05\xdd\xf1\x98\xed\xcf\x61\xfc\x5b\x89\xd7\x20\x88\x56\x7e\x68\x44\xef\x8b\x24\xc0\x49\x99\xba\x8b\x9c\x64\xbc\xba\xb0\xe3\xd9\xc0\x3b\xbc\xce\x32\x21\xd9\xdd\x7b\xaf\x2f\xdf\xc0\x78\xa1\xde\x17\xc5\xc5\x9c\x1b\x4d\x5c\x2f\x81\x5b\xc0\x08\xee\x3f\xa2\x83\x92\xdd\xcf\x0c\x25\xda\x10\x7f\x20\xef\x42\x0b\x45\xa0\xa2\x95\x1d\x0e\x0e\x94\x5d\x8a\xed\x1a\x90\xc0\xd1\xf0\x44\xb9\xb6\x9c\xd8\x74\x2e\x5f\x4e\x0b\x97\x15\x80\xe8\x8d\x35\x88\x06\xc4\xb0\x3e\xd3\xa5\x4f\x56\xd5\xbf\x8e\xaf\x6c\x05\x0f\x4a\x03\xd7\x91\x1e\x72\x5f\x24\x00\xa1\xbe\xe8\x22\x30\x0d\x18\xb1\x13\x42\xa1\xf5\xa8\x17\x17\x71\xdf\x01\xf5\xd3\xff\xa1\xd6\x07\x5a\x29\x61\x1b\x2d\x6e\x70\xd4\x3c\x48\x85\xd2\xa9\xff\x82\x0d\x61\xb9\x19\x43\x13\xba\x35\xb0\xa4\x03\x43\x87\xf2\x71\x54\x2a\x6d\xcc\x53\xa0\x65\x25\x90\x0e\xd0\x71\x08\x5c\xd6\xa3\x11\x3e\xb5\xc6\x5d\x75\x71\x1e\xb1\xc6\x96\x42\xa1\xd2\xa0\x1d\x3d\x48\xeb\x24\x56\x1e\x34\x8c\x99\xc1\x59\xa1\x26\x9c\xd4\x25\x91\x14\xea\x41\xc7\x65\x09\x22\xe1\x53\x9f\x26\xa1\xcb\x26\x73\x57\x0b\x8a\x69\xb7\x02\xee\x48\xe3\xfe\x88\xda\x82\x8a\x42\x91\xa2\x92\xc0\x5e\x5d\x6e\x73\xa4\xa9\xd0\x3d\x2b\xfd\xcc\x48\x1e\x22\x40\x0d\x14\x24\x20\x3c\x9b\xce\xbe\x4e\xe6\xd9\x05\xc5\xfb\xd5\x78\xfc\xdc\xcc\x32\x45\x81\x3a\x1f\x77\xc2\x28\x8f\xc6\x5d\xe0\x13\x93\xb7\x41\x82\x3c\xed\x8c\xc8\x7d\x36\x2d\x18\x1d\x67\x71\x0e\x58\x97\x64\x21\x14\x09\x7e\xae\x22\x54\xe9\x6e\x8d\xfa\xff\xaa\x0f\x50\x7a\xd7\x08\xa5\xc5\x26\x48\xb0\xe1\xf1\x7e\x1c\x76\x37\xab\x89\x6a\x34\xbc\xab\xcb\x4e\xaa\x39\xda\xbe\x5c\xa6\xbb\xaa\xde\xda\xe7\x5a\xc3\xd7\x26\x19\x1a\x50\xe5\x39\xef\x66\x7a\x48\xec\xca\xdd\x04\xff\x7d\xa4\x10\xc6\x8f\xb0\xb8\xc9\x38\xa3\x9a\x85\xe3\x4d\xd8\x8d\x74\xa6\x71\x78\xa7\x33\x62\xbb\x2c\x6c\xb9\x03\xcc\xb1\x38\x80\xd2\x2d\x14\x63\xe9\xbe\xb0\x29\xca\xb1\x72\x7c\x70\xe0\x4a\x33\xd0\x2c\x09\x04\x8d\x08\xa0\x4f\x6f\xbb\x9f\xae\xe4\x5b\x1d\x70\x74\xdd\x18\x4a\xa7\xac\x4d\x00\x0d\x98\x53\xff\xce\x54\xc6\x1d\xf1\x2a\xff\x5f\xc5\xb5\xe1\x8a\x9c\x3a\x8a\xed\x63\x25\xdb\x94\xca\x2e\x0b\x5a\x13\xc7\x91\xda\x9f\x29\x92\xf0\x73\xf6\xb0\x16\x6e\xae\xca\x3a\x9a\x50\xbb\xd6\x80\x6b\x73\x58\xf2\xe5\x4c\x45\xac\x9d\xda\xa2\x99\x93\x55\x34\x1b\x2b\x9d\x8d\x9d\xfd\x5e\x05\x15\xbb\x2b\x5e\x93\x96\xdd\xa6\x09\x1b\x94\xd1\x69\x2c\xde\xee\x32\x6d\xac\x9a\x94\x51\x09\xbc\x6a\xa7\xb6\x0e\x57\x69\x8f\xc1\x7a\x5d\x99\x22\x07\xf4\xef\xe2\xd5\x3a\x09\x56\x85\x2f\x59\xcf\x4b\x13\xae\x5a\x3f\x1d\x06\xf9\x72\x3a\x1f\x56\xdf\xe3\xf2\xa3\x7e\xca\xc1\x5b\xc9\x82\x02\xa2\xf9\x9e\x5f\x1d\x33\x0f\x60\x22\x33\xf3\x4f\xdc\x63\x02\x8a\x46\x92\x15\x07\x45\x72\xec\x79\x6f\xf0\x78\x87\x3d\xc1\xd3\x87\x28\xf3\x7f\x04\x01\x0e\xd7\x47\xd4\x78\xe6\x2f\xd3\xb9\xec\x8d\x57\x54\x3e\xf4\x7a\xcb\xbf\xd8\x6e\xce\xe5\xc0\xeb\xa9\x97\xa5\x67\xc2\xd4\xeb\x6b\x6a\x29\xa2\xa0\xa0\x8f\xc2\x64\x29\x6a\xee\xc8\xf3\x27\xa2\xf4\x1b\x1d\x38\x66\x98\x99\x41\xa1\x7e\x0b\x8c\x57\xa5\x36\x31\x30\x02\x3e\x4a\x0b\x6f\x4c\x03\x58\x06\xe1\x5c\x75\x3e\xa5\x0a\x8c\x14\xce\xdb\x30\x18\xfb\x44\xb4\xec\x05\x8d\x4a\xff\x95\x77\x19\x73\x91\x50\x2a\x21\xd9\x92\xfe\xa1\x00\x72\xa8\x3f\x15\xc6\xd4\xe9\x1f\xaa\xe1\x68\x23\x32\x34\x18\x66\x98\xfb\xe1\xdd\xfb\xbc\x62\x08\x21\xcc\xe9\xd4\xfb\x6b\x3c\xa1\x13\x0d\x3c\x4a\x31\xf2\x07\xb8\x9a\xb0\x52\x55\x6a\xab\x97\xaa\xc8\xf9\x98\x87\x4f\x3f\x63\xd1\x2c\x0c\x6f\x01\x2e\x73\x4a\x0d\x3b\x32\x29\xdf\x80\xa3\xd6\x40\x0c\x07\x40\x21\x2d\x76\x42\xb9\x4c\x28\xb2\xe9\x5f\xe3\x49\x5a\xc1\x4c\x73\x8c\x69\xda\x58\xa8\xb7\x79\x48\x4e\xab\xbc\x75\xf1\x72\xc2\x4a\x4a\x19\x2b\x64\x62\x71\x42\x89\x90\x1d\x28\x81\x69\x18\xa8\x0b\x6b\x72\x1d\xc3\x9a\xb0\xe1\xc2\x43\xab\x14\x3d\xd3\xa8\xf3\x23\x8f\xfb\x92\xde\xd1\x1e\x80\x0c\xc1\x00\x5e\x60\xc6\x3a\x8f\x6e\x33\x6f\x96\x27\xd3\xa5\x4d\xc2\x7e\x5c\xb3\x67\xc9\x74\x85\x72\x70\xa4\xcf\x3e\xc9\x78\x8e\xa5\x71\x5e\x72\x5f\xfc\xb5\x1f\x24\xa9\xec\xed\xec\xc5\x53\xea\x21\x34\x33\x9b\xf3\x7a\x91\xf0\x13\xb0\xc7\x90\xdf\xdf\xaf\xc2\x71\x04\x0a\x4b\x64\xc0\x73\xcb\x98\x06\xa9\x77\x1f\x24\x33\x0f\xab\x71\x01\xe5\x19\x06\x26\xa6\xa9\x2c\xe2\x69\x86\x31\x7a\x17\xe4\xcc\xc4\x99\x2f\x2a\xe5\xbc\xc4\x76\xfb\xbd\xa1\xef\x27\x9c\x2a\x50\xf4\x84\x2e\xf5\x01\x96\x65\x87\x2f\x9f\x7e\x5e\x92\x3b\xb4\x96\x3e\x67\xf6\xa4\x25\xfe\xec\x30\x2e\xa0\xf9\x82\x2b\x90\x61\x61\xb1\xb6\x09\xd2\x9b\x96\x46\x9f\x0a\x35\x3b\xde\xff\xf7\x53\xfe\xf5\xd7\x7f\x80\xc1\xe1\x2c\x1d\x91\xca\x0d\x32\x8a\x33\xa2\xda\x16\xd7\x60\x01\xfc\xf4\x93\xb5\xb2\x76\x3d\xad\x05\x42\xce\x4d\x12\xc1\x52\x54\x2b\x15\x49\xbc\xbd\xef\x58\xec\x68\x0a\x00\x1c\xca\xcd\x5f\xc5\x2c\xe6\x3c\x21\x93\x82\xd6\x31\x0e\x93\x78\x0d\xc0\x1e\x2a\x63\x9d\xc4\x71\x28\x7c\x6b\x69\x6e\xfb\x10\x2a\xf0\x08\x0e\xac\x7c\x22\x75\x6b\x6a\xd4\xc2\x90\xfb\x97\xb5\x5d\xad\x33\x59\x15\x09\x3f\x83\x8d\xe5\xd1\xc7\x0e\xb2\xfb\xa1\x33\x05\xcb\x3f\x5a\xec\x9d\xcc\x8f\x5c\x15\x10\x3b\xdc\xed\x4a\x69\x94\xc3\x29\x39\xd9\x94\x5c\xf5\xf8\xb6\x12\x5c\x37\x00\xdc\xb0\x1b\x44\xb5\x8a\xb2\x76\x48\x6f\xfa\xe7\x17\x83\x53\x9b\xa2\x1e\xbc\xbd\x38\x1b\x8c\x4f\xde\x5e\xf4\xcf\x6c\x59\x24\x6f\x06\xfd\xeb\x9b\xd1\xc0\x7b\x03\xcf\xd8\x92\x3e\xe4\x33\x3d\x7e\xa6\x1e\x0c\xe5\x68\x79\x5c\x53\x52\x5d\x92\x26\x31\x27\x68\x61\x24\x94\xd5\x7a\xf8\xa8\xb2\x0c\xab\x77\xa2\x69\x42\xf9\x3a\x8f\x79\x11\x1d\x5e\x97\x85\xd5\x48\xcf\x5c\x64\xd3\x65\xc9\x8a\x4f\x5d\x42\xb0\xd4\x11\xb3\x54\x66\x2e\xad\x41\xef\x10\x78\x55\xa5\x84\xef\xf8\x53\x15\x6e\x5b\xf4\xdc\xfe\x87\x82\xb4\x8e\x67\x77\x0b\x8a\xae\x23\xd5\xc1\x02\x7b\x19\xa7\xb8\x03\xab\x36\x75\x3a\xb8\x99\x44\x0c\xe0\x80\x02\x12\x84\xd9\xcc\x56\x3a\x9a\x0f\x70\x55\x42\x80\xc9\x3d\x4e\x67\x40\x96\x93\x4c\xf2\x6d\xfb\x08\x3e\x5e\xc7\x32\x47\x59\xd6\x3c\xe8\xc8\xb2\x92\xbc\x4e\xa4\x98\xca\x2c\x9c\x11\x89\xaf\x15\xd5\x7e\xb8\x8c\xf1\x33\x9d\x79\x5c\x2d\x5b\xb3\x17\x36\x93\x07\x2c\xe1\x62\x6d\x0e\x92\x6c\xd2\x43\x7e\xaf\x84\xab\xb1\x35\x4a\x5f\x27\x5a\xb6\x21\x62\x2f\xd8\x29\x22\xa3\x46\xe4\x28\xa4\x62\x0f\x42\xa7\xca\x7b\xd9\xe4\xcd\x86\x67\x3f\x12\xc7\x01\x52\xc7\xdd\xa2\x73\x6a\xc8\x6f\xd3\x33\x0e\x61\x39\x92\x34\xd8\x61\x64\xd3\xfa\xbf\xa6\x31\xe7\xd5\xa9\xb2\xe9\x9f\x55\x02\x6c\xd3\xb5\x5c\xb9\xa3\x0b\xde\x26\x16\xa9\x19\xe6\xf9\xa6\x02\xb4\x86\x7a\x47\x32\xd5\x21\xe5\x08\xab\x30\xcb\x24\x66\xbc\xa4\x14\xb5\xfd\x52\xac\x3b\x67\x99\xee\xe2\x94\xb1\x41\xd7\xff\xda\xec\x74\xe2\xdd\x72\x1b\x7b\x0e\xdd\xc7\x1e\x06\x00\x4c\x36\x1a\x68\xd9\x53\x81\xd8\x95\x7f\x2b\x54\x98\x02\x17\x41\x60\x42\xb7\xf4\x3d\x9b\x80\xe9\x62\xbc\xe9\x16\xd8\xe5\x2a\x7d\x9b\xb9\xe1\x42\x04\x7c\xbf\xd3\x2c\x2f\x63\xae\x2e\xc0\xaa\x94\x6e\x72\x4c\x29\xd9\x02\xf5\x3d\xc9\x93\xcc\xfd\x53\xfd\x6f\xff\xb6\x53\x29\x60\xc7\x92\x75\x16\xca\x64\xc6\x1d\x46\xe9\xf0\x47\x6c\x4f\x01\xb0\x65\x29\xab\x99\xdd\xe7\x65\x79\x91\xfd\x5d\x45\x2e\xa6\xcd\x42\xb7\x02\xe0\x9c\xc5\x6d\x11\x3b\xa2\xb5\x87\x06\xc8\x9f\xeb\x5f\xc6\xd0\x24\x4c\xa3\x61\xd7\x16\x86\xc6\x84\xd8\x1d\x86\x16\x49\x8a\x54\x51\xae\x24\x3e\x25\x7e\x04\xe9\x80\x13\x45\x26\x2b\x11\xac\xfd\x8c\x82\xed\xf0\xc7\x75\x53\x80\x15\x66\xe7\xb3\x93\x96\x07\x14\xc6\xb7\x7e\xa8\x17\x2f\x7b\xc4\xfe\x97\xa7\xd4\x01\xfa\xf9\x52\xba\xab\x30\x8e\xfb\xfc\xba\xbf\x32\xfa\x8a\x0c\xe7\xfe\xac\x8c\x9e\x6a\x7b\xf8\xd1\xac\xf1\x18\xf5\x26\xc6\x86\x14\x33\xae\xb6\x7d\x38\xe3\x3a\x1e\xeb\x24\xa6\x5a\x0d\x98\x01\x11\x47\xf3\x40\x36\xaa\xb6\xd5\x94\xd0\xb1\xf1\x22\x79\xbc\x0f\xc8\x07\x71\xc8\xb5\x47\x06\xf0\x97\x3f\x11\x7e\x3e\x37\xe3\xc5\x31\x96\x2c\xcd\x9e\x7e\xe6\x46\x50\x96\x94\x7b\x83\x30\x34\xa8\xb1\x53\x10\xfa\x00\x4d\x7a\xda\xc8\x89\x97\x54\xd7\xbe\x40\x55\x10\xd8\x84\x53\x96\xa0\xe0\xfc\x52\x52\x8b\x1d\x90\x97\x2a\x47\x94\x6a\x2a\x6c\x49\xcd\x2a\x58\xc8\x42\x28\x1d\xa8\x78\xaf\x5f\xda\x12\xeb\xce\x65\x04\x9d\xb0\xc8\x6b\x4f\xa5\x25\xd5\x00\x59\xfc\x2c\xd8\x2e\x45\xce\x2f\xa9\x9e\xe0\x34\xc2\x3a\x41\x73\x22\x21\x8f\x26\x32\xf6\xb6\x03\x7b\xfb\xb2\x63\x01\x87\x45\x71\x00\x56\x77\x4e\x9f\x0d\xae\xaf\xcf\x2f\xcf\xbc\xf1\x75\x7f\x74\x6d\x3d\xf7\x0f\x46\xe3\xeb\x81\x07\xe7\xfe\xd1\xb9\xb5\xff\xcf\xd9\xc5\xd5\xeb\xfe\x85\x77\x35\xbc\x3e\xbf\xba\xb4\x96\x8d\xe0\xa7\x06\xf2\x31\x6b\xd1\x88\x33\x91\x79\x7e\x71\x55\xaf\xbb\x91\x51\x9e\x41\xba\xf4\xa6\x20\xdc\x91\xb5\xf0\x03\x87\x4c\xde\xaa\x5e\x64\x9c\x17\x8d\x51\xba\xfc\x96\xe7\xb3\xf1\x68\x47\x8d\xfa\x75\xf3\xa6\x91\x3d\xc5\x28\x27\x4d\xfd\x0a\xbe\xd3\xf5\xad\x36\x21\x14\xcd\x17\xda\x48\xe0\x6b\x78\x6c\x9a\x21\x7b\x8b\x70\xa4\x02\x98\x33\xb7\x22\x03\x0b\x7c\x2a\x1a\x72\x3d\xa5\x6d\x8c\x79\xc3\x3a\x21\x9c\xa3\x11\xc0\xb8\xb9\xc5\xd7\xb3\x47\x6b\x76\xe7\x59\x11\x42\x9c\x3e\x4f\xc7\x00\xd3\x76\xef\x4b\x2c\xcf\xda\x24\x40\x0d\xc9\xf0\xd9\x1c\x1f\x5b\xb3\x79\xea\x7d\x35\xfc\x46\x23\x78\xe5\x88\xb1\x37\xfc\xec\xca\x9d\xc2\x81\xb2\x9f\xe2\xf3\x8a\x52\x61\x64\xf0\xea\xd2\x69\x3b\x1a\x88\x5d\xc7\x56\xd3\x2b\x51\xdf\xc9\x55\x29\xf9\x22\xd2\xc1\xfe\xa5\xe7\xe0\x86\x93\xa8\x99\x7e\xaa\xe7\x66\x44\x9b\x24\x73\x08\xe8\x6f\x23\x17\x2a\x4e\xf4\xb7\x15\x06\x9b\xf6\x6f\x08\x5e\x31\xa3\x96\x70\x13\x48\x6d\xbb\x40\x43\xc4\x8a\x42\x8f\x89\x09\x3b\xd7\x4f\x30\xc2\x9a\x30\x5f\x21\xdd\x5f\x15\x84\x0d\x32\xf7\xd7\x5a\xc1\x42\xf5\x5e\x9b\x2c\x6c\x92\xdf\x56\x7f\x7e\xcb\xce\xcd\x96\xc1\x74\xa9\x43\xbf\x65\x13\x67\x35\xc4\xdf\xa0\xf9\x4b\x29\x7a\x4f\xdf\xa8\xa6\xf5\x64\x3c\x5b\xf3\x17\x83\x01\xe9\x97\x19\x6d\x62\xde\x1f\x3f\xff\xc0\x6c\x45\x76\x9c\x36\x1b\x87\x1a\x39\x6d\x7b\x04\x1f\x4b\xd3\xa2\xbd\x5b\xa2\x32\x80\x02\x98\x78\x00\xd0\xa6\x27\x8d\xf4\xad\xd4\xe8\xc9\x56\x24\x12\xa5\x04\xc4\x9d\x08\x4d\xc0\x83\x67\x6d\x97\x6b\xc3\x3d\x32\xdf\x6d\x44\x59\xdb\x57\x83\x34\xc9\x76\xfb\x1d\xeb\x05\x74\x48\xec\xb9\x8b\x4f\x89\xe0\x4e\xf5\x98\x0c\xea\x6a\x69\xea\x54\x55\x49\x91\x51\xba\xce\xd9\xa0\xc6\x73\x95\xdc\xf2\xd5\xce\x06\x19\x9e\x83\xe4\xca\xda\xb6\xbb\x91\xb0\x1b\xee\xda\xad\xdd\xd1\x8c\xea\x4a\x67\xcb\xae\xef\x6e\x34\xed\x3a\xbe\x67\x1e\xc8\x76\xf4\xe6\xca\xd2\xa5\xc2\xd9\x65\x33\xc6\x93\x6d\x4e\xf8\xcb\x33\xfc\xee\xb2\xc3\xda\x19\x89\x85\x08\xa3\xe2\xea\x67\xc3\x86\x69\x02\xdf\x48\x75\x99\xce\xb4\xab\x6d\x55\xdb\xb5\x2a\xea\x6a\x3d\xa9\x0d\x55\xd6\x07\xdb\x4e\xbf\xc8\x0d\xf1\x91\x4b\x2f\x6d\xa5\x58\x2a\x74\xe0\x5c\x16\x8d\xa9\xb8\xa5\x14\x4a\x47\x54\x2e\xdc\x29\x65\x47\xff\xbd\xf5\x79\x65\x63\x04\x6c\xe2\x6d\x52\x80\xbe\xfc\x1a\xe9\x2d\x51\xf0\x8c\x83\xdf\x2c\xd3\xf6\x5c\x5c\x31\xea\xf4\x3d\xaa\xa2\x6d\x4d\x4c\xd9\xac\xda\xf6\x7b\xe5\xd6\x6f\xc3\x8a\x67\x1b\xe7\xb3\x0e\x67\x2f\x54\x7f\x39\xd9\xfc\x12\xb2\xf6\x3b\x58\x82\xbf\xe9\x5a\xdb\xd3\xa2\xda\xd4\xba\x0d\x63\xdb\x81\x70\x9d\x98\x99\x6e\x77\x24\xdc\xb2\xf9\xa2\x33\x81\xbc\xa4\xb7\x3f\x04\x8e\x4b\x6d\x17\xb7\x3b\x05\xa6\x66\x01\x6a\x3c\x05\xc9\x4b\x2b\x97\x12\xb8\xdb\xb3\x13\xb1\x19\xc8\xd4\xa6\x6b\x2d\xff\xb9\x13\x9b\x3b\x0d\xed\x39\x87\xe1\x4a\xf1\xe6\x5d\xd1\xb3\x85\x7b\xd4\x0c\xaa\x7a\xd1\xf4\x25\x5a\x5f\x6e\x30\xe0\x8b\x8e\xf7\x4b\x0e\xb0\xa6\xb5\xe7\xf6\xee\x87\xc2\x2d\xc9\xf1\x10\x2e\x4d\x3e\xb7\x53\xa9\x05\xd9\xdb\x1c\x14\x5a\x5b\xfa\x6f\x77\x6e\xa0\xb8\xc3\xba\x26\xa3\x8d\x92\xe1\x76\x6f\x58\x84\x24\x36\xb4\x16\x6d\x96\x84\x56\xd5\x8b\xa9\xca\x94\xff\x45\x49\xcb\x98\xfe\x55\x12\x7b\xbd\x7d\x3f\xc7\x2d\xcd\xb8\x16\x79\x93\x11\xb1\xff\x3b\x1a\x4e\xf6\xfe\xd2\x83\xb6\xad\xf7\x67\x1c\x28\x47\xfe\xd6\x77\xc3\x7d\x69\xbb\xbc\x70\xef\x16\x5d\x16\x5c\x15\x02\xdc\xd2\x13\xf7\xa5\xfd\x16\xc3\xbd\xa3\xb4\xcb\x00\xb7\xd6\xcf\xce\x43\xe9\xa4\x89\xdf\x0e\xfa\x17\xd7\x6f\x3f\x9f\xbc\x1d\x9c\xbc\xfb\x7c\xfd\xfd\x70\x60\xa1\x64\xe3\x39\xef\x10\xfe\xeb\x9d\x0e\x46\xde\xc7\x9b\xf1\x75\xff\xf2\x74\x3c\x1c\x3d\xfd\xd7\x9b\x9b\x4b\x5b\xaf\xb3\xb7\x57\xe3\x6b\x1b\x70\xfc\xc9\xfa\xd2\x65\xff\xbd\x95\x2a\xf5\x73\xfd\xcb\xd8\x65\x85\x0a\xdb\x50\x13\xa4\x69\x98\x53\x8c\xa5\xac\xd5\xc5\xe9\x9d\x93\x78\xf6\x70\x84\x1d\x34\x0e\xfe\xf7\x01\x58\x42\xd8\x82\x4e\xcc\xbc\xc9\x03\xb6\x7c\xa0\xb8\x45\x10\x69\x7c\x1d\xab\xab\xd0\x8b\xba\x50\x8e\x35\x58\x8d\x92\x3c\x8d\x88\xd7\x74\xe9\xe7\xeb\x2c\x13\x41\x88\xb9\x3a\x94\x8a\x96\x50\x2c\xdb\x8c\x1b\xc1\xf4\xb8\x64\x0e\x75\xe3\x40\x2a\x16\x02\x13\xb5\x54\x1f\xa4\x15\xe5\xf7\x46\x32\xd6\x86\x6e\x93\x8f\x64\x95\xb2\x44\xc7\x2d\x46\x1e\x16\x16\xc7\xab\x76\x8e\x50\xf6\x52\x8c\x75\xb7\x28\x5c\x62\xcb\x4a\x64\xcb\x78\xe6\x1d\x9e\x0d\xae\x8f\x86\xc0\xc5\xa3\xe1\xcd\xf5\xd1\xe9\xe0\x62\x70\x3d\x38\x12\xd9\xd4\x16\x96\x48\xf4\xbe\xa7\x77\x05\xbf\xec\xd1\xdb\x1e\xbe\xee\xf1\xfb\x1e\xbc\x7f\x6c\x13\x82\x38\xcd\x88\xa5\xdc\x5c\x6b\xf5\xd0\x4b\xf3\x09\x07\x9a\x58\x51\xea\x57\xa8\xb1\x5e\xf9\x95\x66\x24\xca\x0f\x4a\x23\xe6\xfe\x70\x87\x32\xad\x5d\xc6\x5e\x2d\x7d\xfc\x28\x23\x5d\x5a\x29\xd0\xae\x4f\x62\x03\x37\x81\x3b\xa4\x2f\x17\x62\x85\xf7\x62\xfe\x0a\x3e\xe1\x32\x85\x1f\x74\xb0\x8b\x4a\x46\xc7\xca\xb9\x6d\x14\xe7\x32\x55\x7f\x1a\xaf\xb0\x6b\x95\x8e\x51\xf4\x4e\xaf\xde\xf7\xcf\x2f\x29\x0e\x9b\x7a\xcd\x3c\xb0\x14\xab\x9e\x77\x18\x70\xd7\x42\xfd\x91\xc7\xed\x5e\xb0\xca\x80\x86\x8d\xd9\x81\x12\xf4\x21\xfc\xfb\xf4\x9f\x97\x83\xaf\xa8\xfa\x70\x3f\x5a\xe8\x68\x3c\x90\xda\x49\xc0\x1d\xdc\xa4\xf3\x5a\xb7\x17\xc9\x28\x9f\xef\x99\x06\xc5\x71\x84\xcf\x36\xac\xba\x91\x10\x34\x11\xe9\x00\x44\x3f\x9f\x2f\xc4\x32\xc6\x57\x5c\x07\x8a\xba\x66\x46\x87\xe3\x87\x8a\xf0\xd9\xd3\xc5\xb1\x9a\x32\xd0\x9c\x85\xaa\xd2\x8d\x21\x60\x9a\x40\xfc\x5a\x62\xaa\xa7\xe3\xfc\x12\x14\xf1\xc5\xc5\xe0\xd4\x1b\x5e\xdc\x9c\xc1\xd8\x4f\xae\xde\xbf\x47\xcd\x6c\x53\x55\xfc\xfc\xf9\x60\x04\x8b\x16\x5f\xe9\x9d\x5f\xf6\x5e\x0f\x30\x2b\xd2\xa2\x51\xe9\x8d\xcb\x93\xc1\xe7\xf7\x83\xf7\x57\xa3\xef\x9b\xe0\x1a\x4f\xd5\x83\x5a\x44\x58\x46\xa2\x54\xf8\xcb\x16\x79\x6b\xd6\xf5\xf2\x02\x7c\xb1\xa1\x7b\x0f\x28\xe0\xef\x60\xf6\xe2\xfb\xd4\x3b\x91\x35\x3b\x2f\x30\x6e\x1a\x9b\xf2\x60\xa9\xb3\x50\xf4\xd0\x72\x17\x30\xd7\x60\x73\xfb\x6b\x98\x32\x4c\x89\x78\x05\xd6\xdf\xa7\x4f\x9f\x5e\xdc\xf9\x61\x30\xc3\x0f\xaf\xf0\x3f\x98\x30\x83\xff\x5a\xf3\xe2\xcf\x65\x7d\x46\xc6\xd8\x93\x05\x3d\xa9\xf1\x19\x67\x5a\xa0\x28\x0e\x08\xcf\xa3\x34\xa1\xd1\x3d\x15\x90\x42\x9f\xfb\xf4\x05\xec\x15\xb2\xcc\x5d\xaa\x9e\xd1\xed\x7b\x5a\xc9\x6a\xe3\xc1\x10\x36\xb4\x64\xbc\x14\x61\x48\x1c\x98\xc5\xf9\xc4\xca\x81\x4f\x2f\x9a\x70\x7d\x7a\x61\xe7\x41\x0d\xb6\xe6\xd1\xcf\xe2\xf5\x5a\x84\x59\xeb\xe8\x5b\x49\xb2\x8c\x9f\x37\x7b\x5d\x0b\x4d\x96\x36\x54\xbb\x7f\x73\xd7\x53\xae\x7e\xc6\xaf\xe0\x1b\xaa\x0d\x2a\xcc\xd8\x44\x3c\x06\x62\x69\x17\xbd\x69\x9c\x60\x05\x50\xef\x26\xf5\x17\xd6\xf5\x0e\x06\x1a\x0c\xd3\x2b\xfa\x3f\x39\x41\x3b\x06\x4e\x15\xb5\x5b\x82\x14\x78\xab\xda\x84\xc8\x96\xae\xf4\x70\xf8\xe0\x09\x18\x7d\x0c\xaa\xe8\x18\xdb\x2e\x3a\x13\x41\x59\xd6\x28\xbd\x54\xb9\xa2\xa8\xbb\xc2\xed\xfe\xd3\x52\x2b\x93\x5b\xc4\x75\x4b\x0f\x72\x1a\x4f\x8c\x71\x7e\x8c\xcf\x6d\x2c\x27\xba\x9c\x2e\x2c\xcd\x79\xe8\x2f\x52\x30\x09\x7e\x9c\x8a\x75\xe6\xf5\xe6\x5f\x61\x17\x2d\x1c\xd3\x44\xb6\x1a\x03\x09\xbd\x47\xc1\x90\x9d\x4f\xbd\x55\x1e\x66\xc1\x3a\x14\x1c\xd5\xcb\x21\x1b\x65\x55\x62\x4d\x84\xa9\x19\xb7\xb9\x68\x23\x49\x8b\x9f\xc3\xa9\x3c\x21\x5a\x64\x03\x2d\x39\x74\x2c\xe6\xb4\xd1\xd5\x15\x53\x46\xd4\x2e\x42\x06\xd8\x91\x2c\xfa\x84\x3f\xae\xc4\x32\xc1\x82\x33\x14\x1b\x8c\x46\x1d\x9b\x72\x65\xad\x86\x0b\xa5\xb6\x55\x2b\x95\x40\x81\x41\x2c\xb4\x71\x67\xb1\xe4\x37\x58\xbc\x69\xb2\xaf\xf2\x94\x78\xfa\xe9\x05\x56\xa0\xfe\xf4\x02\x45\xe7\xd3\x8b\x08\x86\xf0\xe9\xc5\x27\x98\xbc\x4e\xd2\x52\x0b\x3e\x35\x60\xa3\xdc\x28\xe8\x5e\x8a\x0d\x2d\x25\x0e\x37\xf2\x47\xaa\xfe\xd0\x01\x4c\x32\xb5\x84\xc5\x38\xdf\xe2\x03\x05\x30\x1e\xe0\x79\x4a\x2d\x8a\xb4\xab\xbc\xeb\x2a\x41\x2d\x28\x8c\x32\x44\xa2\x8b\x90\x37\x0c\xe1\xd9\x08\xdf\x0b\xb9\xea\xce\x5c\x67\x2a\xec\x8b\xdc\x3a\xc0\x3b\x93\xdb\x1f\x0e\xbd\xf1\x60\xf4\xe1\x1c\x4c\x0e\x65\x7b\xec\x87\xde\x7a\xc8\xfb\x20\xf8\x33\x1e\x5b\xe9\xb2\x4c\xda\xa9\xfb\xa2\x97\x01\xe7\x06\xe0\xfd\x92\xbb\xb9\xec\xf7\x4f\x79\x0d\x8e\xfd\x0e\xe2\xd9\xa4\xa5\x18\xc3\xb3\x8a\x4d\x41\xed\x6e\x84\x9a\x34\x1d\xf7\xf6\x41\xcf\xee\xcc\x2b\xd1\xb4\x0d\x9b\x5e\xdf\x9c\x5f\x9c\x0e\xfb\x20\x3a\x08\xef\xc8\xbb\x1c\x7c\xf7\xb9\xfc\xdd\x7e\xa6\xdb\x05\xcf\xce\x73\xae\x16\xf1\xb3\x09\xad\x44\xf0\x4c\x22\x6b\x28\xb7\x68\x77\x19\xa9\xd1\x68\xdb\x10\x75\xd1\x7f\x3d\xb8\x38\xf2\x86\xa3\xab\x0f\xe7\xe8\xc0\x44\xe6\x5e\x5f\xbd\x1b\xec\x49\x09\x57\xc1\xe7\x05\xf8\x9d\xf9\xb9\x41\xfa\x73\x10\xbc\x3b\x99\x57\xa3\xb3\xd2\xde\xb6\x33\x89\x08\x70\xaf\x7b\x5a\x95\xc2\x7d\xf0\xf1\x39\x88\x94\xba\xe5\x4f\x37\x57\xd7\xfd\xbd\x51\x59\x06\xba\x33\x99\xa3\xc1\xf0\xaa\xd8\x5b\xb1\x55\xff\x5e\x08\x2d\xc0\xe6\x0a\xec\xce\xa4\x8e\x07\x27\x37\xa3\xf3\xeb\xef\x3f\x53\xa3\x79\xa2\x77\xd8\x07\x53\xe3\xfa\xea\x33\xfa\x2b\x3e\x8f\x6e\x2e\x06\xe3\xcf\x6f\xce\x2f\xf6\xa4\x5d\x2b\xf8\xf2\x26\x7c\x7b\x1e\xdc\x91\x96\xf1\x31\x6c\x48\xcf\x32\x9e\x23\x2d\xf2\x12\xc5\x1e\x86\xc0\x5b\xd0\xeb\x11\x28\xcc\x11\xef\xa9\xe5\xef\xf6\x35\x8e\x76\x3c\x7b\x1f\xcc\x0d\x7c\xc1\x2b\x6f\xd8\x1f\x8f\xbf\xbb\x1a\x9d\x1e\xed\x6f\xb5\x38\x23\xdb\xdb\xb0\xb4\x99\xa0\xbe\x78\x37\xf8\x7e\xbf\x63\xa9\xc7\xb0\xff\x01\xe0\x22\x31\x25\x60\xbf\x16\xd6\x06\xd4\xdc\x8a\xee\x79\x86\xf6\xfc\xf3\x93\x57\xb1\xec\x3e\x90\xab\x9b\xd1\xc9\xa0\x87\x07\xf0\xeb\xfe\xe8\x6c\x70\x4d\x1f\xf7\x43\x7d\x3d\xe8\xdd\x49\x66\x1d\xb8\x67\xa3\x82\xa1\xee\xd5\xac\x28\x08\xdd\xa3\x59\x51\xd0\xb9\x2f\xb3\x82\x20\xf6\x8a\x33\x3b\xfd\x49\xc0\x7b\xfb\x3b\xc4\x19\x48\xf2\x5a\x24\xfb\x19\x06\xdb\x31\xb4\xe8\x8b\x3f\xf7\x37\x80\x7a\xf0\xfb\x24\x7d\x1f\x47\x7c\x0b\x6d\x5b\x91\x56\x6c\x6f\x60\x82\x1c\x79\xa3\xab\x7d\x59\x6c\xb5\x80\x77\xe6\x64\x05\x2a\x71\xe2\x19\xa9\x2e\xc1\xdf\x99\xf8\x7d\x1c\xdd\xcd\x2b\xa5\xed\x88\x58\xaf\x39\x18\x67\x1f\x92\x88\x81\x0c\x66\x58\x0d\x95\xb0\xd9\x55\x24\x81\xc2\xcf\x32\x22\x81\xe2\x49\x3e\x57\xc9\xdd\x7e\x7a\x2d\xa0\x77\x9f\xd9\xdd\x7d\x9e\x3b\xe1\xd7\x15\x6c\xe4\xe8\xa8\xde\x1b\x2a\xfb\xb5\x6a\x7e\xb8\x17\xf6\xd5\xa2\xc9\x4b\x68\x76\x66\xe5\x32\x4e\x33\x22\x5d\xf6\x28\xde\x0b\xe1\x04\x34\x37\x80\xee\x4c\x66\x1c\xce\x8c\xa5\x04\x90\x23\x71\x5f\xbb\xb6\xb6\x27\x9a\x7a\x1c\xd0\xd5\x3e\x51\x8e\x37\xa7\x22\xd7\x0b\x6e\x56\xb3\xdc\xb6\x1f\x0a\x06\x58\xf2\x9c\xe2\x38\xd4\x5f\x5f\x6a\x1c\xa5\x28\xcc\x3d\x0c\x28\x59\x3c\x97\x02\xb1\x80\xde\x99\x64\x99\xa1\x70\x54\xca\x2e\x39\xda\x2c\x4e\xb1\x1f\x53\x47\x21\x33\xf2\x4d\x8e\xaa\x55\x29\xf6\x30\x26\x8a\x05\x7f\x86\xbd\x46\xf7\xff\x4a\x77\xdf\x6c\xee\xbe\x51\xc7\x47\xfc\xa8\x5d\xb7\xf8\xf9\xa2\x7f\xe9\xdd\x7d\x5b\xfc\xfc\x2d\x7f\xb5\x97\x29\xd8\x02\xed\x76\xf3\x61\x6d\x27\xbd\x41\x9e\xa5\xe4\x5e\x01\x4f\x15\x3d\x5e\xf9\xd9\xab\xa2\x25\x14\xba\xdf\xb0\x32\x29\x36\x97\xfa\x94\xc1\xff\x47\x1f\x30\xc6\x48\x3e\xcd\xc5\x48\xfd\xd5\x9a\xba\x51\xfe\xf0\x29\x02\xe8\xf8\x1f\x0f\xe3\x1b\x92\x38\x8b\xa7\x71\xf8\xe9\x05\x86\x27\x65\xd3\xf5\xa7\x17\x47\xea\xb7\x19\x75\xe5\x23\x6a\xf9\xe7\x6f\xbe\x3e\xfe\xf6\x8f\x7f\x3c\xfe\xe6\xf8\x9b\xff\x69\x3c\x86\x21\x12\x29\x3f\xf0\x87\x3f\x7c\xfd\xcf\x9f\x5e\xe0\x0f\x40\xc8\x9f\x9b\x47\x9d\x52\x50\x55\xef\x8d\x1c\xcb\x29\xf7\xb9\xac\x1d\xcc\x6b\x11\xa4\xeb\x40\x55\x6e\x59\x3c\xfd\x1a\x66\xc1\x82\x43\xd2\xb8\x4b\xe8\x97\x1d\x96\x65\x8a\xb8\x28\xe8\xc9\xc5\xb9\xac\x7c\xe2\x52\x00\x14\x23\x68\xe0\x8d\x9e\xac\x77\xd2\x08\xda\xe8\x16\x0d\x5c\x1a\xd2\x27\xee\xd4\x6a\x8f\xb9\xdf\x40\x66\xf4\xe4\xae\x42\xb0\xe3\x06\xa5\xd7\x04\x3f\x7a\x6c\x7e\xd7\x7b\x2f\x56\x71\xf2\xd0\x0c\x22\x95\x0d\xf7\x5a\x40\xa9\xa8\x1f\xdf\x8b\xe2\xa8\x17\x89\x05\xc0\xb9\x13\xaa\x27\x4a\x33\x0a\x8e\xe9\xa1\xba\xb3\x6c\x2b\xdd\x99\xdd\xb4\x28\xaa\xc7\x86\x9d\x42\xf6\x38\x0a\xb0\xae\x25\xa9\x05\xef\x4d\x54\x96\xd5\xa2\x15\xa9\xea\x3d\xd9\x8c\x6f\x24\x6b\xc9\xe3\xbf\xd6\x0c\x11\x03\x89\x2e\x0a\x2f\x5f\x68\x04\x3e\x1e\x5f\x78\x27\x54\x0f\x93\xdb\xae\x51\x97\x2a\xaa\xc8\x7e\x1d\xac\xdf\x8b\x14\x15\x97\x03\x52\xec\xb1\x7f\xd1\xfb\x08\x80\x82\x79\x70\xeb\xcb\xf2\x9a\x76\x78\x8d\x34\xa1\xed\x86\xeb\x8e\xf4\x00\x18\x56\x43\xf8\x8c\x40\xfa\xf2\x7b\x73\xfa\xa9\x77\x4b\x2b\x79\xdc\x4a\x78\x58\x0f\x93\xbe\x37\xa4\xe2\x32\x5f\xad\x44\xe2\x20\x08\xdc\x5c\x6c\x3b\x49\x28\xba\x84\x79\x5d\xe5\xc1\xa1\x1d\xad\x39\x31\xfd\xfa\xc4\xe6\x57\x96\xba\x4d\x0a\x0b\xd5\xb7\x5d\xe4\x32\x64\x0f\x34\xe9\x5d\x30\x93\x29\x06\xbd\x29\x85\x37\x1e\x83\x1a\x11\x3e\x0c\x5c\xfe\x08\xd3\x61\x2c\x90\x78\xf2\x57\xdc\xa9\xa8\x17\x37\xd1\xab\xd2\x4f\x00\x70\x06\xe6\x1a\x15\x30\xdd\x7c\xc1\xa6\xc2\x0c\xd6\xbd\x2b\x51\xc6\x09\x0c\x60\x09\x60\xf5\x6f\x24\x0d\x13\x25\x61\x2b\x85\xef\xa9\xba\x2e\xb0\x00\x4b\x64\x67\xc7\xde\x6b\xec\xb8\x56\x2a\x98\x8d\x27\xf8\x82\x51\xb4\x38\xaf\x80\x8a\x5b\x15\x21\x1a\x44\xaa\x62\xf6\x63\x6e\x66\xab\xe8\xd0\xc6\x95\x7e\x3d\x2a\xbd\x5e\xa6\xc1\xaa\x54\x79\xf4\x45\x9f\x6a\x4c\xd6\xc3\x12\x59\x9c\x86\x76\xe0\xf5\x94\xa6\xa7\x47\x66\x31\x10\x89\x21\xa4\x54\x52\xbc\x9d\x4f\x45\xdb\xea\x4d\xb8\x72\x03\x90\x79\x3a\xd8\x03\x4c\xc6\x82\xea\x62\xe0\x6d\x44\x07\xe9\x2d\xa7\x8b\xd2\x8a\x3a\x85\x3f\x65\xf2\x69\xb7\x2e\x11\x06\xbd\xf5\xc5\xb5\x68\x7e\x87\xf0\x42\x26\x5c\x31\xed\x48\xf8\xb3\xd2\xda\x46\x1e\xd7\xa2\xec\x51\x2d\xca\x1e\xd5\xa2\x5c\xfb\x89\xbf\x22\x70\xfc\xdb\x09\xfe\xc4\x0d\xa2\x1c\xf4\xde\x10\xdf\xa6\x44\x0b\xa3\xd4\xa5\x01\xde\x02\xb8\x91\x46\x7d\x04\x9a\xc6\x79\xc4\x1a\x55\xed\xcc\xe9\x09\x7e\x85\xc3\x3d\x2f\x3d\x64\xa8\x6c\xbd\xe9\x36\xef\xd6\xe6\x20\xe4\xce\xfd\xf8\xf4\xb3\xee\x78\xb8\x89\xf0\x74\xe3\xc1\x96\x9d\xde\xe7\xc4\x99\x16\x41\xd7\x83\x5d\x91\xf9\xe2\x51\x07\x48\x22\x81\xed\x99\x0b\xfc\xbb\x9b\xf0\xbc\x16\x0b\x30\xc4\x1e\xb5\xc4\x54\x6c\x9f\x46\xe0\x4e\xb4\x96\x38\x54\x9a\x8c\x1d\xa6\x41\x91\xb9\x01\x1c\x1b\x15\xb8\xdb\x56\x8e\xec\x6e\x1f\x42\x88\x35\x4b\x32\x50\x56\xe6\x93\x52\x1a\xf6\x38\x98\xdb\x90\x15\x3f\xd2\xae\xf2\x50\xab\xd8\x1a\x47\x44\xa7\xaf\xb6\x14\x4b\x73\xc3\xd6\x07\x1a\x59\x77\xa2\x19\xbc\x4a\x11\x80\x23\xad\x6e\x18\x09\x5f\xda\x6a\x9f\x9b\x88\xde\x17\xaf\xaa\x5c\x08\xee\xb2\x07\x1b\xc0\x2d\xf6\x3b\xd1\x4d\xed\x5a\x26\xad\x6e\x69\x6c\xb1\x2e\x54\xb7\xed\x89\x5e\x1f\x76\x60\x9d\xe9\xd9\x6e\xa9\xda\x49\xea\xbe\x3a\x2d\x54\xed\xb0\x63\x36\x52\xb7\xe5\xfe\x88\xd5\xfc\xa9\xbb\x82\xde\x76\xae\xf9\x9b\x4e\x8c\xdb\xd8\x78\x24\x58\x2b\xc0\x46\x9a\x8a\xc2\xce\x68\xc9\x94\xfb\x2a\x1e\x70\x89\x3e\xea\x32\xf9\xc1\x0f\x9d\x3a\x75\x9b\x74\x16\xcd\x00\xba\xc2\xb6\x91\x1c\x64\xec\x86\x86\x95\x09\x87\x1d\xce\x9c\x3f\xa2\x6f\x04\xb7\x7e\x9a\xcb\xde\x32\x5c\xbe\x5b\xf6\x85\xa1\x1a\x01\x56\x17\x96\x6e\x87\x08\x0b\x94\xfb\x8a\xa3\x03\x17\x93\xca\x0a\x77\xee\x1b\x0d\x16\x47\xc3\xc6\xab\x6e\xfc\x22\x74\xc5\x0b\xdd\x19\x47\x34\x38\xae\x2c\x83\x48\x45\x88\x46\x3d\xfe\x30\x5d\x22\x6c\x72\x8e\xca\xd1\x61\x4f\x58\xd8\xc3\xb8\x4d\x06\x49\x79\xba\xed\x78\x8e\xc0\x8a\xc2\x4c\x63\xcc\x0a\xbf\xa7\xcd\x9c\x1f\x80\xef\x66\x58\x2e\x00\x3f\xcb\x14\xb6\x88\x31\x79\xa8\xc8\x42\x18\xab\x75\x50\x17\x3e\xec\x1b\x3a\x09\xc9\x42\xd7\x85\xa0\x44\xe7\xe2\xb1\x7a\x50\x41\x94\xff\xf8\xf2\xbd\x3f\xb5\x41\xd1\xbf\x5b\x5e\xc7\x7b\x95\x30\xd4\x0d\x1c\x8a\x6e\xcc\x2c\x06\xb6\x2c\x3e\x3c\xd7\x73\x3b\x86\x95\xf7\x31\x10\xe1\x44\xcd\x68\x3e\x0f\xa9\x9b\x6f\x1b\xbe\x3b\x3f\x08\x49\x04\xe5\xb9\x62\xca\x29\x6b\xb6\x2e\x1d\x84\xf0\x8e\xcf\x31\x13\x6a\x74\xac\xce\x0d\x9c\x5f\x26\xb6\xc6\x4c\xc3\xe6\x0c\x69\xcc\x84\x33\xea\x02\xc7\x94\x9f\x48\xef\xcc\x66\xe6\x4f\x81\xb5\x57\x93\x95\x4c\xc2\x52\x2c\x81\x95\x59\x43\x38\x96\x99\x90\x5c\xd2\x78\x19\x80\xfa\x5c\x08\x84\x90\x95\x2b\x1c\x3b\x0f\xb1\x68\x5d\xd1\x44\xa6\xd1\x5a\xd4\x15\x30\x96\x91\x6e\x02\x59\xad\x14\xed\x08\x56\xd6\x81\x95\xe2\x37\xe5\xd2\x1a\xb2\x54\x89\x2c\x32\xa0\xbe\x34\x8b\xdf\x35\x51\xa2\xfa\x29\xae\x50\xc7\xe4\x7c\xce\x56\x5a\x47\xf1\x1b\xff\x29\x7e\x2d\x5f\x37\x39\x52\x5e\xa9\xad\xda\x44\x51\x5d\x0d\x55\x67\x2c\xe5\x0b\x9f\xce\x2b\xb5\x7c\x8b\xc3\x7c\xd9\x66\xd5\x16\x55\x90\x7c\x2a\xbf\xd2\x28\x5e\xb2\xaa\x91\xcc\xc6\xde\xb8\xd0\x73\x45\xc9\x57\x3a\x87\xbe\xbc\x39\x0a\xb0\x25\xf2\x3a\x11\x3d\x14\x72\xce\x46\xf5\xd2\x07\x00\xb4\x3a\x92\x55\x48\x02\x6e\x06\x1f\xb3\xe2\xc4\xd2\x3f\xf2\x67\xb0\xd0\x33\xcc\x7d\xf5\x92\x9c\x7a\xf2\x58\x4b\x52\x30\xcf\xb2\xf2\xd2\xf0\x0e\xd1\xec\x1e\x4b\x22\x38\xe6\xe2\x0e\x2f\x6e\xb0\x7b\x3f\x36\xfe\x4e\xd9\x23\xc3\xd8\xf0\x67\x4c\xdd\x0d\xc4\xd3\xdf\xb1\x34\x05\xb0\x03\xf6\x6e\x31\x49\x15\x31\xe8\x27\x22\x05\xea\x17\x1d\x05\x6f\xfd\xc8\x56\x75\x43\xf3\x03\xa7\x9d\xd5\x91\x54\x9c\xae\x5a\xa9\xa2\x57\x94\xfa\xdc\x46\xbf\xe8\x3a\x12\xd2\x6e\x28\x24\x23\x9e\x6f\xbb\x52\xc9\x52\xf0\x4b\x82\xb3\x87\xf5\xa9\x6b\x05\x51\x5e\x7a\x9b\xc0\xaa\x3e\xcf\x75\xf7\xcf\x2e\x08\xf5\xce\x12\xcf\xe7\x82\x7a\x8d\x2b\xd4\x46\x79\x3d\x0b\x09\x1f\x8a\x4d\x83\xeb\x68\xc4\x19\xed\x69\x54\xa4\xc6\x28\x90\xd7\x8d\x10\xd6\xa1\xaa\x75\xa8\x2c\xaa\xe6\x40\x81\xad\x92\xbb\xd9\x91\x22\x05\xb0\x0c\xb7\x2b\x7b\x72\x74\xbd\xef\x89\x98\xe2\xaa\xd2\x89\x08\xa3\xed\x92\xa1\x40\xed\x92\x61\x36\x55\x42\xa1\x40\xad\x19\xd7\x0a\x86\xe5\x60\x4a\x58\x75\x5f\x09\x7f\x43\x97\x5b\xf0\x56\xbb\x43\xd0\x69\xb8\x7a\x19\xef\x30\xde\x52\x21\x7d\x0b\xae\x4a\x95\x7c\x07\xa8\xd5\x92\xe2\x92\x9b\x68\x76\x63\x9f\xfd\xca\xaf\xd4\x12\x37\x8f\x22\xd9\x28\x0c\xd4\x21\xa1\xb6\x91\x53\xb3\x51\x4a\xe6\xbf\x17\x68\xe7\x53\xf3\x8c\xcd\x67\x58\x81\xdc\x92\xa3\xa7\x1f\x49\x99\xd8\x71\x3c\xb2\x27\x2a\x8e\x4b\xf6\x37\xda\x9e\xf8\x31\x03\x5b\xd1\x18\xb8\x5f\x51\x67\x2a\x4b\x45\x72\x53\xae\x87\xd6\xd0\xd7\x8e\x2e\x18\x8c\xb5\x52\xa9\x83\xdb\x09\x67\x51\xdf\xd6\x36\xf2\x96\xe2\xb5\x1d\x90\xc9\x5a\xb5\xcd\x88\x64\x25\x5a\x17\xc0\x38\x87\xf2\xe2\x19\xf6\x4d\xbe\x66\x4e\x1b\xea\xc2\xe9\x2d\x3f\xd0\xb7\xd5\xb8\x88\x94\x29\x6f\xbd\x9b\xbe\xc0\xe6\xab\x7c\x2f\x08\xe2\x72\xef\x27\x33\x75\xb0\x60\xa1\x39\xf6\xae\x97\x60\xbf\xe0\x8d\x15\xd9\x21\x13\x14\x66\x30\x1f\x80\xa8\x55\x4c\x9d\x5a\xd1\x6e\x01\xa5\x60\xa3\xec\x3b\x90\x2b\x91\x84\xf0\x5f\x64\x2c\xc0\x7e\xe4\x3b\x4e\x7d\xfb\x44\x9d\x59\x71\x77\x07\x1a\x8e\xbd\x53\x30\x09\x84\xbc\x8e\x42\xdb\x82\x8a\x65\x60\x59\x1c\x4f\x5b\x2d\xcd\x55\x2f\x60\x40\xb7\xb4\x12\xf4\x89\x82\x9a\x45\x27\xd4\xfd\xcc\xcb\xd7\x58\x5d\xc3\x3a\x4d\x60\x7f\x25\xf2\x76\x0b\x8d\x1d\x7d\xdc\x38\xf2\xb0\x54\x14\xec\xeb\x3e\x70\x99\x65\x04\x1e\x7b\xcc\xf1\xdc\xb4\x12\x41\x13\x35\x5c\xfc\xcf\xb3\x86\x32\xe8\x2d\xdc\x8f\x56\x22\x9c\x59\x65\x42\x01\x8a\xad\x65\x6a\x0a\x48\x93\x16\x48\x0b\x98\x3d\x81\x7e\x98\xd4\x16\x55\x33\xc4\xd8\x8f\xdb\x58\xca\x91\xf7\x46\xd0\xd5\x81\x1d\x20\x95\x9d\xc9\xb3\xa6\xc2\x85\x4c\x53\x83\x20\x2e\x16\x09\x86\x22\x80\xd2\x02\x15\xb3\x8e\x03\xbc\xf7\x90\x15\x6d\xe8\x7e\x8f\xef\x54\x9b\xea\x42\x19\x30\x7a\x03\x80\x91\x47\xb7\x99\xac\x60\x43\xf5\xc0\x8c\x9b\xcf\x94\xaa\xac\x58\x69\x89\x6f\xa9\x6c\xe3\x9a\xdc\x5a\x88\x91\x43\x3c\x0e\x36\x1b\xf1\x94\x2f\x07\x6d\xc1\x13\xa5\xc3\x73\xf5\x42\x31\x42\xf1\xae\x22\x4a\xf3\xa9\xb5\xac\xd0\xfb\xfe\xe5\xf9\x9b\xc1\xf8\xfa\x33\xa6\x0e\xda\x6a\x64\x99\xcf\x78\x87\xea\xcf\xe1\x9b\xfe\xa9\xc5\x5e\x6f\x2c\xe1\xc5\x3f\x7a\x87\x6f\xfb\x37\xd7\xc3\xf1\x70\x70\x7e\xf2\x76\x30\xb2\x01\xc2\x3e\xce\x3e\xcc\xd7\xfa\x41\x75\x9d\x95\xc6\xdc\x14\xab\x04\x12\x0b\xf1\xea\xde\xd8\x9b\xe8\x86\x3b\x8a\x61\xdd\x26\xc7\x9e\x77\x13\xd1\xf5\x44\x0c\xab\x2b\x09\x66\x54\x3d\x87\x0e\xd4\x00\xb0\xa7\x21\x71\xb9\xa0\xfb\x80\x3a\x33\x71\xb7\x5a\x3a\x68\x14\x40\x6d\xb2\xf8\x2e\x5e\xe3\x02\x07\x35\xf3\x27\x34\xd4\x91\xa8\x54\x87\xa1\x16\xf5\x78\xf4\x5e\x67\x98\x33\x78\xb9\x9b\xa0\x67\x5f\x5e\x84\x03\xb1\xa7\x54\xbc\x17\xa5\xac\x44\x20\x51\x04\x9b\x30\xf7\xc4\x57\x90\x44\x12\x89\x3c\x3b\x02\x15\x16\x61\x1d\x40\x79\x6d\x4c\x25\x7d\xd0\x50\x0c\xa8\x16\x1d\x5d\x26\x58\x44\x53\xf2\x16\x55\x41\x4f\x87\x15\x6c\x46\x57\x6a\xbb\x15\xf8\x7a\xf2\x86\x4e\x8e\xf6\x3d\x57\x50\xf0\x84\x56\x1f\x96\x10\x80\x0d\x5b\x8e\xb8\x72\xf2\xa6\xc7\x65\x8c\xb4\xf1\x0b\x07\x87\x06\xc9\x45\xf2\x49\x3b\xd3\x4e\x78\x90\x96\xe2\x44\x61\xca\xa3\xf0\xc1\xbb\x03\x1d\x8b\xb4\x63\x49\xc0\x92\xd1\x8b\x43\x6d\xf0\x1b\xe8\x28\x50\x72\x7e\xe2\xa4\xbe\x96\x15\xe4\xa3\x9c\x8e\x48\xa6\xff\x00\xdb\x7d\x67\xed\xe4\x1a\x15\xa4\xbc\x69\x22\x7c\xa2\x21\x27\x6b\x66\x9e\x87\x40\x2c\x9c\xcf\x9d\xaa\xd4\xc9\x1b\xa2\x04\x4b\x79\x32\x05\x52\x88\xb8\x82\x94\x0b\xfe\x20\x35\xba\xa6\x57\x3c\x4f\xb3\x00\x43\x1b\x41\xbb\x1c\x01\x27\x4b\x71\x25\xb0\xf3\x2e\x69\x7b\x29\xa2\xba\xe3\x44\x5f\x7c\x75\xa0\xbd\xe4\x98\x02\x01\xa1\xe2\x6c\x11\x12\x55\xea\xaa\x5e\x1b\x2a\x12\x65\xf7\xa2\x08\x0a\xc1\xb0\x21\x8e\x80\x55\x91\x22\xfa\x36\xcd\x2d\xf8\xe3\xbd\xbf\x86\x45\x70\x7d\xd2\x5c\x47\x11\x7e\x97\x25\x13\x1f\xa9\x65\xb6\x7d\x96\xd7\xc8\x9e\xd6\xba\x8c\x46\x0d\xc6\x76\x80\xec\x70\x88\xd5\xf1\x0d\x17\x62\x86\x96\x94\xbd\xb1\xf2\x08\x9e\x9e\xf1\xd9\x0d\xb5\x46\x2a\x15\x52\x1b\xaa\x1f\xbd\x7b\x3f\xc8\xb8\x8f\xb4\xea\x68\xaa\x15\x01\x69\xa1\x7c\x8d\x7e\x26\xd8\x4c\xa3\xdc\x6e\xfb\x00\xa0\x60\x05\x86\x98\xf7\x1d\xea\x2d\x98\xdb\x4c\x1e\xe5\xc9\x81\x54\xb4\x02\xef\xa9\xfb\x5d\x9c\x34\x82\xe8\x4c\x59\x61\x91\xc9\x53\xca\x0e\x64\xf9\xa9\x3a\x9d\xf0\x42\x2f\x1c\xc3\x0e\x74\x05\x2b\x30\xe7\xfc\x15\x85\x56\xc0\x06\x25\xaf\x16\x79\x85\xe8\x1d\xa9\x88\xd3\x80\x1f\x96\xfe\x9d\x2a\x51\xfb\xcd\xd7\xdf\xfe\xf1\xfd\x91\xf7\xcd\x19\xfc\xef\xeb\x33\x9b\x3f\x4e\xd2\x7d\xaf\xef\xc7\x90\x91\xab\xa7\x5f\x16\x21\x57\x34\x54\x97\x8f\xd5\xbd\x26\x55\xda\x95\x8b\xdb\x56\x91\x7d\x89\x11\x1d\x7b\xbd\x6f\xd0\xc4\x49\xb0\x7e\x70\x46\xd9\x5e\x39\xdf\x13\xe1\xed\x38\xe1\xb0\xed\xac\xcf\x33\x6a\x22\x08\xd4\xc9\x32\x33\x76\xe2\x3c\x92\xf7\xb6\x99\xe0\x43\xb6\x55\x55\x7c\x71\xe6\x78\x87\xa7\x62\xee\xe7\x61\xf6\xaa\xf8\xed\xcb\xca\x89\x23\xc7\xbc\x43\x58\x43\xd1\x0c\x0e\x7d\xaf\x8c\x5f\x5b\xa4\x8c\x83\x46\x91\x91\xd2\x9f\x4a\x3e\xea\x95\xff\x80\x67\x43\xb5\x45\x52\x35\x5f\xe4\x51\x72\x87\x6e\x5f\x0c\x03\xb7\x30\xe0\x79\x90\x19\x53\xf0\xb5\x8d\xf5\xcd\x98\x49\x6b\x1d\xe2\x3d\x9b\x80\x83\xc7\x2c\xfd\x8a\x54\x18\x46\xa6\x83\x26\x27\xbd\x56\x71\xaf\xb0\xae\x3d\xf2\xc8\x88\x95\x91\xac\x60\x65\xcc\x84\xba\xbd\x4f\x89\x6e\x7c\xc3\x16\xc6\xad\x95\xdd\x47\xd0\x73\x33\x3f\x07\x00\x48\xc1\x58\xdc\xd2\xce\xfa\xd5\x11\x59\x93\xf8\x3f\xa4\xa3\x46\x3d\x6b\x3b\x53\x06\x9e\x60\x68\x8a\xaa\x56\x29\x4d\x57\x04\x4d\x32\xa9\x8d\x4e\x3e\x9a\x63\x88\x4e\x86\xad\x80\x54\x6b\x25\xea\xbc\x93\xcf\xb3\x44\xd8\x3d\x85\xef\x8d\xa0\x0c\xb9\x5e\xbe\xfd\xa7\x7f\x46\x41\x54\xf2\x68\x63\xfe\x66\xf0\x85\x94\xe4\x8d\xf7\x2d\x88\x29\x16\x5a\x06\x6c\x34\xc7\x59\x5f\xfa\x68\x59\x83\x89\x52\x79\xba\x1e\x70\xb0\x80\x03\xa2\xa8\xb9\xbf\xd2\xc7\x96\x52\xdf\x9c\xe2\xdc\xd2\x6c\x94\x16\xf7\x58\xea\x80\xb1\x32\xb3\x96\x54\x88\xec\x4a\x4e\x13\x6e\x8b\x8b\xa6\xa2\xc6\x0d\x35\xf0\xed\xf5\xef\xf1\x17\xdb\x89\x9f\x7f\xab\x7f\x6d\xf0\xdd\xe7\x26\x7c\xf2\x67\xef\xf0\x72\x70\x33\x18\x79\xf8\xd9\x32\x6d\x97\x37\xef\x75\x8d\x08\x5b\x11\xea\xd2\x33\xde\x61\xff\xf2\x63\xff\xed\x85\xc7\xdf\x7c\x1c\x5c\xda\x20\x63\x11\x6c\xdb\xfc\xdb\xea\x63\x5f\x92\x31\x0c\x27\x54\xd0\x1e\x0b\x74\x9f\x25\xa5\xdb\xf4\x06\x78\x34\x59\xa9\x7c\x2d\x21\x27\x49\xe9\xde\x7b\x2b\x7c\x58\xd2\x36\xe1\xe3\x51\x71\xb9\x2f\xaf\xcc\xc0\x72\x0c\xe3\x29\xaa\xbb\x1d\xa8\x3a\x62\xc7\xee\x8a\x0e\x3f\x64\x43\x15\xd7\xfb\x3a\xab\x65\x82\x7e\xb6\x99\xb0\x04\xce\x5d\x8a\x7b\x6f\x28\x4b\x75\xda\x28\x11\x39\x10\xf1\x0e\x4e\xb8\x18\x98\x6f\x07\x13\x35\x4c\x99\x40\xdd\xd7\x30\x71\xb1\xf7\x0f\x29\x1f\x84\x6c\x67\x7c\x3c\x54\xc0\x33\xea\x54\x62\x85\xd3\x1f\x9e\x17\xfe\xa6\x14\x75\xe6\x0d\x1c\x9e\xd0\x1b\x73\x11\x03\xe3\xaf\x83\x35\x7a\x63\x64\xf0\x14\x3c\x2c\xbf\x40\x73\x9e\x2f\x62\x60\xf1\xaa\xf7\xad\x0e\x07\x4a\x76\x1f\x9e\x9b\x4e\xa9\x34\xc3\x0e\x0d\x0b\xc0\xf7\x41\x15\xb7\xa6\xa3\xd2\x06\x66\xea\x02\x61\xe2\x26\x67\x24\x1f\xa4\x34\x3c\x0c\xad\xc4\xd3\x2d\x5e\xcd\x3e\xe6\x32\xe8\xc7\xa2\xb4\x61\xd0\xfe\x94\x9d\x2e\x70\x1a\x47\x17\xc6\xf7\x71\xce\x81\xa1\xb3\x20\x25\xaf\x81\x74\xd7\xa3\x72\x0b\x43\x75\x34\x9f\x6f\xf6\x1d\x53\xaa\x50\x5d\xa9\x72\xcf\xee\x88\x1a\x63\x44\x1e\x68\x52\xe0\xa9\xd1\x1f\x4f\x3f\x22\x0b\x3b\xa3\xa4\x97\x9a\x49\xc1\x8f\x4d\x3c\x04\xbb\xc5\x7f\xfa\x7b\xe4\x2f\x51\xd4\x13\xd9\x8f\x14\xe8\x47\xbe\xad\xe8\xea\x89\x7b\x6d\x7c\x2c\x6e\x0b\xf8\x7e\x56\xc6\x43\x19\x5d\xad\x36\xc7\x52\xdc\xe6\x56\x42\x42\x82\xa8\x88\xf9\xa2\xd8\x29\x5f\x5f\x93\xc3\xb4\xd9\xdf\xc3\x3d\xb1\x9f\xa7\x4c\xee\xc6\xed\x6c\x69\xdc\x8a\xe0\x85\xc0\xa9\x4b\xf6\x33\x75\x92\xbb\x43\x98\x3d\x89\x86\x76\x9a\xff\xa6\xf3\x38\xa3\x00\x00\x3f\xaa\x0c\xc9\x68\x04\xf9\xdf\x77\x4a\xd7\x81\x45\x05\x29\x0f\x31\x36\xc4\x28\xab\x9a\x3d\x69\x1a\x89\xa0\x4e\xa5\xe0\x8b\x8f\x39\x05\x05\x36\x91\xbe\x26\xdf\x54\x5a\x78\xa5\x28\x10\x94\x9d\xd8\x8d\x22\x80\xbe\x04\x8a\x3e\xa1\x66\x35\xac\xa5\xab\xef\x37\xa0\x6d\x57\xff\x32\xda\xaf\x75\x07\xd0\x25\xf4\x55\x27\x18\x9b\xa7\x34\xf5\xf8\x62\xdc\x2c\x86\x6f\xf6\x72\xb1\x62\x28\x82\xdb\x1c\x88\x36\x5c\x19\xad\xa4\x73\x18\x69\x8a\x37\x62\x18\xb0\x31\xb3\xed\xa7\x0c\xf9\xe9\x3f\xa3\x99\xba\xbb\xba\x83\x25\x2a\xa2\x78\xb5\x6a\x80\xae\x02\x0f\xda\x69\xd6\x21\x07\xad\x14\xd3\x35\x5c\xaa\x1d\x55\x9c\x4e\x78\xd9\xd4\xd4\x9b\x31\x0c\xe0\x98\xb2\x80\x95\x96\xaa\x8b\xe8\xea\xcb\x36\x84\x5c\xbe\x5f\xdb\x53\xc7\x5e\x1d\xdb\x9a\x95\xd5\x1b\x02\xa1\x4d\xa5\x22\xe0\x3f\x22\x61\xb0\x32\xd6\xbe\x6c\xb0\x2e\x05\x05\xfd\x52\xac\x8b\x72\x6e\x1f\x51\x43\x0e\x94\x7f\xd9\x0c\x61\xc3\xd0\x28\xbd\xd7\x48\x73\x49\x31\xe1\xca\x24\xb1\xd5\x41\xcc\x86\xb9\xc0\x0a\x2a\x84\x93\xeb\xdd\x86\x7a\x28\xe8\xd0\x1a\x62\x13\x32\xeb\x0d\x0d\xda\xc9\x00\xc1\x81\x60\xbb\x25\xdb\xf8\xdf\x70\xff\xb2\x02\x7f\xf7\xc1\x8a\x2d\x86\xbb\x89\xb6\x69\x00\xfb\xa5\xfb\xcb\x11\x69\x17\xae\xe6\x75\xb0\x1d\xb9\x6d\x22\xd4\xd1\x74\x25\xbb\xa3\x5d\x23\x55\x36\xee\x56\xbd\x54\x0a\x3a\x72\x80\x5f\x0e\x40\x72\x03\xef\x0c\xd7\x05\xa0\x0c\x4e\x12\xd1\x9d\x77\xe7\x27\x01\xda\x7e\x29\xfb\x2d\x27\x02\x13\x22\x84\xcd\x44\xa8\x2a\x2f\x8e\x3f\x8a\xbc\x9b\x15\x68\x37\xf4\x2c\x2a\x70\x91\x69\x3b\xb4\x12\x52\x8d\x47\x72\x27\xa0\x2e\x30\xca\x01\xb1\x5b\x1c\xf3\x3b\x0b\x8a\x06\xb0\xe5\xe6\xd3\xed\x53\x56\x09\xee\x69\x9d\x3a\x85\xe1\x56\x3c\x94\x5a\x2d\x6b\x0f\x74\x61\xc7\xaa\x54\xb9\xd6\x0d\x52\x37\xeb\xad\xc4\xe0\x55\xae\x6c\xad\x90\x5d\x68\x2d\x5e\x7e\x27\x1e\x94\x85\x4d\x56\xdf\x33\x8e\xa2\x16\x69\x87\x91\xb9\x4f\x47\x11\x00\xeb\x3c\xe5\xbe\x0a\x7a\x75\x45\xd2\x01\xb6\x83\xf5\xb7\x97\xdd\xf3\x39\x37\xc9\x6e\xe6\x4d\xab\x55\xb3\x0f\xf3\xa5\x1e\x88\xc3\xbe\x23\xa3\xc5\xfd\x34\x05\x3b\xd4\x7a\x46\x90\x26\xbc\x0a\x07\xc7\xe8\x75\xba\xbd\xb5\xb9\xc1\x34\x5c\x87\x73\x81\x02\xda\x2e\x17\xf2\x62\xb4\xfb\xde\x20\x25\x90\xdf\xcf\x9b\x36\x84\x56\xe4\x65\xf5\xec\x8a\xb3\xb7\xb9\x0b\xb1\xc2\x76\x42\x4d\x79\x0a\x45\x58\xcc\xb6\xe3\xa7\x52\x22\x9c\x12\x61\x8b\x85\xa9\xdd\x2e\xe5\xae\xe6\x40\x29\x85\xef\xa8\x38\xca\x6d\xc9\x9c\xc8\x80\x9d\x22\x9d\x63\x37\xaa\x32\x2f\xe4\xd0\xc0\x20\x2a\x3c\x10\x27\x6f\xc8\x19\x59\x5e\xb1\xf0\x1c\x3e\x64\x73\xde\x52\x38\x08\xea\x46\x0a\xf9\xab\xf5\x3b\x6c\x82\xd5\xad\x54\xfb\x14\x07\x69\x8f\xfd\x00\x42\xc5\x2b\x8e\xa5\xc0\xfb\x34\x74\x84\x79\x69\xbc\xe2\x6b\x36\x5b\xe4\x46\x10\xdd\x8b\x20\x7d\xc5\xe1\xa5\x30\xa5\x14\x0f\x2f\x23\x4c\x89\x99\xdf\x51\x83\x46\xba\x73\xb3\x2a\x01\x7d\x17\xa9\x2f\x85\x6c\xc1\x8e\xd1\x23\x26\xec\xcf\x8a\x9a\x0a\xb6\xd5\x7a\xf5\xce\x02\x02\x7e\xa8\x7f\x61\x78\x7d\x7e\x75\x69\xbb\x3b\xe1\x5f\x07\x97\x96\x77\x47\x67\x5e\xff\xf4\xfd\xf9\xa5\xed\xed\xd1\x59\xff\xf2\x7c\xdc\x27\x0c\xf4\xe0\xf9\xf8\x7a\xd4\xbf\xbe\x1a\x35\xc0\xbb\x39\x3d\xc7\x07\x5c\x20\xca\x47\xad\xb0\xde\xf7\x2f\xfb\x67\x03\x27\x58\xea\x51\x1b\x2c\x2b\x83\x0c\x20\x56\x36\x59\x33\x2b\xcc\x43\x85\xf5\x5d\x99\xb3\xc5\x75\x7a\x52\x33\x65\xc3\xb8\x2c\x76\x40\x50\x5c\xf6\xe2\x2e\xe5\x17\x21\x84\x51\xb6\x7c\xfa\x39\xb4\x2c\xe3\x2b\xdd\x29\x5e\x77\x63\xc7\x4e\xd5\x0f\x5c\xf6\xc6\x26\xb0\x76\x37\x66\x40\xe5\x22\xf0\x8e\x38\x2d\xaa\xdb\x38\xa2\x2e\x97\xdc\xa1\xdc\x54\xfe\x9b\x5d\xc9\x18\xe3\xb7\x15\x3d\x95\x5a\x3b\x7c\x45\x42\x99\x2e\xd2\xe7\x3a\xf3\x13\x74\x19\x17\xcf\xaa\x80\x8a\xad\x08\xb7\xe9\xb9\x4e\x44\x5a\x74\x0a\xbc\x63\xbb\x90\x35\xc1\x5b\x2e\x66\xaf\xda\xf3\xd5\x1c\x44\x96\xa3\x6c\x85\xae\x34\x35\xe3\xc8\x09\x15\x6f\xad\x23\x0b\x6d\xa1\xe2\x5c\xe1\x69\xe5\xa9\x58\x92\xdb\x52\x9c\xf5\x9d\x11\x28\x68\x84\x1c\x4c\xac\x52\x64\x23\x47\x27\x5d\xef\x9b\x2a\x59\x77\x88\x6f\x3f\x3b\x91\xa8\xe2\x8e\x61\x4b\xa8\x84\x1e\x53\x78\x26\xaf\x7a\xd8\xde\x83\x24\x8e\xc8\x5b\xec\xcf\xd1\xc9\x50\x89\x63\x5e\x87\xc2\x1e\xff\xf6\x8e\x8d\xd6\x4b\x91\xa7\x35\x61\x1e\x46\x86\x97\xb2\xd6\x8c\xe4\xcc\x23\x8a\x2c\xc7\xfb\x5e\xbc\xea\xa5\xa8\xe7\x44\x16\xaa\xa5\xc0\x67\xa0\x78\x62\x74\x6b\x45\xb1\xad\x1f\x70\x43\x98\x39\xc6\x93\x5b\x5e\xba\x1a\xd9\xda\xfb\xd3\x4f\xf5\x2f\xf9\xc1\xac\x1c\x12\x6c\x4d\x76\xc0\x2d\xb6\x08\x4a\xe6\xa0\x5f\x1b\xd0\x34\xe5\x8a\x1c\x58\x51\x03\x6d\x78\xae\x99\x06\xc2\xc5\x21\x44\x78\x21\x5f\xf8\x53\xf4\x6c\x29\x1b\x8a\x4d\x58\xdb\x58\x74\xa5\x0e\x3c\x50\x10\x5c\x92\x21\x72\x15\x17\x2e\x2f\x99\xe5\x65\x35\x6f\x31\xfe\x43\x05\x95\x6f\x3f\x0a\xc3\xf2\x7f\x96\x51\xb4\x5a\xe9\x6e\xc3\x68\x08\x1e\x68\x0e\x1b\x50\x2f\xe3\x59\x4f\xa7\x28\x15\xea\x7a\xe5\x67\xa0\xe3\x9b\x01\xd3\xb0\xd6\xc9\xd3\xaf\x73\x0a\x7a\xe2\x08\x6c\xe9\xc6\xff\x2f\xda\xe9\xc0\x62\x0b\x56\x2b\x8a\xfb\x17\xd6\x15\x81\xca\x69\x2e\x13\xfd\x5b\x03\x87\x49\x19\x69\x03\xb7\x08\x23\x76\x80\xed\x0e\xb6\x0d\x62\xc6\xb7\x75\x5a\x71\x52\x99\x02\xac\x2b\xf8\x18\xf0\x1d\x9e\x52\x63\x68\xba\xd0\x25\x4d\xa1\xd6\xdc\xd5\x2d\xde\xea\x99\xb1\xe1\xb4\x37\xeb\xfa\x7f\x1f\xcf\x87\x7c\xe7\x47\xf7\xb6\xe7\xd1\xd2\x0f\x33\x8e\x38\xab\xbc\x97\x0a\x4b\x08\x8d\x1a\x4a\x69\x18\x6a\x04\x6d\xc4\xd5\x10\x66\xd0\xd4\x8c\xb0\x25\x60\x5e\xe3\x50\x81\xec\x0d\xd0\xe0\xf4\x37\x43\x90\x98\x37\x96\x05\xf3\x07\x37\x21\x7a\x83\x13\x3d\x48\x56\x41\x96\x61\x82\x24\xa9\x71\x23\x22\x5d\x79\x3f\x28\xeb\x0f\x88\xb1\xe0\xa7\xfb\x4a\x6c\x8e\x9d\x06\xb8\xf1\x78\x54\xcb\x8e\xb7\x59\x78\x73\x85\xcb\xe0\x7e\x29\x38\x63\x80\xc9\x51\x29\x06\xa1\xb2\x21\x65\x7f\x71\x7b\x3e\x09\x75\xb1\xe7\xd5\xa4\x17\x9a\xb9\x2b\x01\x97\xf8\x72\x59\x2a\x8a\x23\x2f\x9e\x78\x85\xf7\x5b\x65\x19\x18\x16\x9e\x7d\x67\xc2\x88\x80\x8a\x9d\xa9\x96\x8e\x2d\xca\xc1\x36\x83\x08\x8a\xde\x57\x61\xb8\xd6\xb8\x82\x8a\x6d\xd7\x40\x5a\xf1\xaa\x11\xb3\x50\xf4\x32\x6f\xf2\xfa\xd8\xdf\x07\x53\x06\x56\x68\x25\xed\x42\x66\x45\x76\xa5\x65\xe9\x23\xeb\x6a\xc2\x1d\x51\xe4\x39\x16\xb2\x33\x7d\x78\xfe\x61\x8d\x0a\x0b\x5f\xc7\x31\xce\x36\x6b\x7a\xd8\x89\x7d\x55\x0b\xb9\x81\x12\xcb\x0b\x56\x04\xa9\x71\x08\xf1\x26\x0f\x58\xa0\x03\xcc\xab\x60\x9a\x87\x7e\xe2\x52\x07\x82\x23\x8a\x8e\x38\x34\x25\x90\xa5\xdf\x26\x82\xb6\x8e\xac\x72\xc3\x85\xc9\xcb\x02\x94\x02\x57\xcb\xb0\xd1\x44\x49\x3b\xd3\x65\x1c\xa7\x45\xce\x4e\x18\xc6\xd8\xc4\x80\x82\x7b\xf0\xf3\xb1\xf7\x3a\xc6\xcd\x81\x2f\xa4\x13\x41\x52\xbf\x16\xa4\x14\x58\xa7\x4c\xb8\x93\xb6\xd0\x09\x42\x29\xc6\x05\xca\x6c\x39\xdb\x49\x86\x13\x76\x54\xa9\xa8\x52\xc2\xce\x23\x30\x84\x8c\x43\xd2\x97\x2c\x72\xfa\x3b\x58\xd4\xd8\x2c\x1f\x4d\x61\xbe\x23\x9f\xc1\xd2\xc1\x71\xf2\x73\x5c\x45\x45\x36\x4b\x58\xa5\x98\x7b\x15\xa9\x54\xb9\xc2\xba\x68\x4e\xe7\x95\x7c\x61\x8f\x93\xe7\x2f\x7c\x7b\x22\x2d\x0d\x82\xb3\x4c\x69\x0c\x29\x27\x59\x61\xc2\x9d\xe7\xb7\xc0\x57\xc9\x52\x1c\x7b\x89\x5e\x6b\x23\xf9\xcc\x14\x07\xb3\x00\x6f\xa7\xa3\x7d\x6d\xfd\x5c\xc3\x1d\x1d\x44\xb0\x41\xc2\x7e\x38\xd9\x8c\x2b\x2a\x3b\x21\x8f\xe8\x01\xbb\x5f\xc0\x3a\x50\x3a\x3e\x35\xc4\xc9\xaa\xf2\x2a\xf6\xb0\x4b\x09\x43\xa6\x98\x4b\x7e\xa0\xba\xc0\x24\xf5\x16\xa8\xe7\xe6\x4b\x78\xee\x98\x24\xb1\x3d\xf1\x4e\x62\xa2\x6c\x35\x5d\x66\xbd\xf6\x74\xee\x30\x98\x0d\x08\x35\xe7\xf3\xee\x64\x60\x2e\x97\xf4\xad\x50\x30\xde\x36\x84\x70\x62\x9d\xf6\xaf\xa8\x2d\xbc\x91\x18\x8c\x17\x26\x8a\x66\xde\xa7\x17\xa5\x4c\xe2\x4f\x2f\x2a\xde\x1e\x9d\x0b\x88\x17\x2f\x32\x4c\x9d\x5e\xb5\x29\x82\xcd\x0a\x3b\x14\xf2\x86\x47\x48\xce\xd7\xdb\xc4\x58\xeb\x20\x52\x39\x80\xe5\x2b\x19\x55\x54\x8f\x03\xdc\x09\x60\xb3\xb0\x62\x40\x16\x7a\xdc\x67\x6a\x9b\x9a\x04\x91\x8f\xa9\x3b\x3a\xbd\x15\xf7\xfa\x07\x38\x49\x7b\x57\xe3\x57\xb6\x3c\xcc\x53\x19\xe7\x2c\x5b\x56\x14\x91\xce\x32\x67\x55\xe6\xdf\xca\x2d\xeb\x75\x10\x3d\xfd\x9c\x70\xde\x23\xd7\x97\x5d\x26\x95\x4a\x48\xaf\x2c\xd9\x9a\xc3\x4a\x63\x01\x65\x76\x98\xe9\xa2\x79\x14\xa8\xaa\x0e\x2d\x93\x60\x11\x16\x33\x83\x74\x26\x8c\x6a\x0f\xcd\xac\xac\x02\xbb\x83\x2f\x40\xa7\xa4\x01\xd6\xb4\x2c\x93\xb8\x35\x81\x1f\x4a\x30\x37\xc9\x75\x20\x56\xd6\xa1\x20\xd5\xda\x96\xde\xc9\x0f\xab\xe3\x8f\x4e\xf6\x6c\x80\x5c\x6b\x78\xb7\xa1\xa9\xb3\xbb\x8b\xcc\xd2\x92\xd9\x6d\x3f\xb7\x26\x18\xda\x89\xa1\xe6\x52\xa4\x81\x64\x7f\x11\xc5\x60\x2e\x4c\xc9\xd4\x4a\xb3\x99\xbd\xb0\x03\xc6\x73\xf6\x23\x16\x5f\x3c\x74\xcb\x77\xa9\x4c\x99\x72\x6f\xf9\x5c\xcf\xd1\x9b\x25\xf9\xf4\xd6\xaa\xce\x88\x0c\xac\x4f\xea\x7b\x21\xb9\x64\xe7\x32\x7a\x13\xf7\xd6\xca\xd1\xb0\x72\x12\xf4\x75\x5d\x10\x7d\x58\x94\x29\xc5\xca\x75\x12\xf3\x6e\x79\x3a\xe8\x7b\x13\x1f\x89\xb0\x06\x52\x52\x99\x5c\xcc\x7f\x20\xed\xa2\x82\x40\x03\x95\x17\xb3\x71\x4c\x43\x05\xc2\x87\x45\x79\x8e\xd4\x86\x56\x24\x4b\xca\x17\x5d\xdb\x24\x03\xd8\x7b\xee\xaf\x90\x9c\xde\x6b\x20\x07\x23\x62\xf9\xbe\x98\xce\x21\x19\x6c\xf0\x89\xed\x90\x44\x6c\xc2\xb1\xdc\xb1\x34\xdb\x14\x4b\x40\x6d\x67\x52\xda\xd1\x10\xb2\xd5\x63\x38\x4c\x62\xd0\x56\x58\x38\x62\x05\x76\x06\x0a\x51\x7c\x1f\x85\xb1\x8f\xb7\x94\x52\xa7\xa1\xad\x21\x56\xc6\x49\xdb\xaa\xcf\x14\xb0\x89\x08\x56\xde\x20\xca\xe6\x68\xe3\xb0\x5b\x6f\x89\x02\x82\x71\x49\x82\xca\x82\xa2\x79\x61\xa8\xb3\xa0\xcc\xda\x03\xc4\x77\x60\x55\x66\xb0\x3d\x53\x20\x39\x9d\x0a\x29\xcf\x0e\xcc\x64\xbc\xfc\xf6\xc3\x57\xde\x3f\xa4\x58\x31\x39\x50\xd9\x77\x36\x06\xe1\xa2\x48\xe2\x47\x81\x61\x9b\xac\x0f\x66\x79\x22\x53\x4f\x50\x2f\xf0\xa9\x80\x60\xd2\x9d\x27\xac\x23\x84\x0d\xfa\x96\x3e\xa3\x78\x58\xa9\xa3\x4a\xb3\x75\x65\x67\x8b\x50\xe4\xa2\xba\x33\x17\xb1\xe1\x12\xaf\x7c\x0b\x01\x26\x65\x84\x15\x6c\xd3\x7c\x8d\x19\x83\x18\x19\x2a\x6d\x41\x9a\x24\x78\x8a\x2b\xb5\x66\xb8\xdf\xa0\xd9\x69\xd3\x86\x03\xec\x5f\x90\x4e\x97\xfe\x3c\xab\xa5\x46\x27\xcf\xeb\x14\xf7\x22\x53\x5e\x55\xbb\x91\x84\xa1\x48\xaa\x1b\x0b\x01\xdb\x0e\xcd\x65\x9a\x3d\xfd\x9a\x3d\xea\x0e\x0c\x42\x4f\x38\x6d\xa9\xa9\x2a\xfd\xca\xf5\x42\xd4\x97\x6c\xf6\xda\xb4\x2c\x1b\xbb\xb6\x8c\x35\xfd\x73\xfd\xcb\x79\x22\xef\xf7\xf5\xe1\xb8\x1c\x71\x63\xaf\x01\x43\xa6\x6e\x14\x2c\x64\x12\xdc\xb8\x09\x82\x2b\xee\xd2\xc1\x7c\x1b\xd4\x1b\x00\x2c\x98\xd3\x25\x36\x4c\x91\xbd\xf1\x30\xde\x09\xbb\x97\xa8\x40\x62\xca\x02\x64\xa3\x4b\x56\x0c\x6b\x48\x6c\x22\x35\x45\x7a\x6d\x2c\xbb\x98\x48\x43\x3f\xe5\x02\xbd\x1c\x47\xac\x9a\x64\xc0\x0a\x02\xdc\x3d\x5d\x53\x97\x10\x71\x94\x82\x34\xb6\x18\x20\xd9\x30\x80\x6d\x61\xd5\x41\x3c\x04\xac\xa7\x13\xb2\x53\xef\x90\x12\x67\x61\x2c\xf8\x2f\xef\x0a\x6a\xc5\xd8\xd2\x36\x49\x75\x03\xfa\x47\x11\x4a\xbc\x56\x3a\x0d\x82\xbc\x43\x7c\x8a\x86\x1c\x2f\x29\xfb\x43\x62\xb1\xdc\x6b\x11\xa9\xab\x3c\xcc\x82\x35\x93\x9a\x72\x8e\xaf\xdf\x5a\xb6\x02\x56\x0d\xc6\x74\x53\xe0\x7f\xd1\x66\x44\xaf\xbc\x15\x1e\xea\xc2\xb9\x68\xa5\xd8\x42\x18\xf5\x01\xb6\xe0\xe6\x2e\xc7\x87\x67\xa3\xa7\xff\xf3\xf4\xf7\xc1\xe5\xeb\xc1\xf8\xe4\xed\xe8\xe9\x3f\x2f\xdf\xdd\x5c\xda\xb2\x58\xa9\xbb\x85\x77\x4a\xf1\x1b\xea\x16\x91\xbe\xeb\x72\x77\x5b\x5b\x6a\x30\x9d\x59\x81\x76\xb8\xd1\x65\xfa\x50\xb8\x29\xea\x49\x25\x15\xc1\x2a\x00\x33\x51\x65\x5f\x63\x90\xf1\xa1\xf8\x51\x95\x31\xa5\xc0\x8c\x98\x8a\xa5\xe3\xfd\x58\x8e\x0e\x5e\xea\x7e\x89\x10\xe8\x42\x22\x9e\xeb\x3b\x3d\xaa\xa7\x68\x93\xb5\xda\x81\xc9\x5b\x71\x3c\xc7\x08\x7d\xd7\x90\x55\x6b\x6d\x16\x71\x57\xd2\xbb\xe0\xa5\x71\x18\x7a\x87\x7e\x0e\x00\x13\xae\xbe\x43\x25\x36\xbc\xab\xb5\x7c\x41\x79\xa8\xa9\xda\x86\xb2\xf3\x94\x75\xb5\xb0\x35\x2c\x01\x43\xa2\x71\x6e\x5b\x78\xd7\x14\xf1\xd6\x38\xfc\x55\x75\xf8\xca\x8d\x50\x3f\xf2\x26\x12\x2b\xe2\xe1\x74\xba\xae\x6f\xe0\x52\x23\x68\x4e\xa7\xec\xd1\xe0\x4f\x37\x83\xf1\xb5\xed\x22\xbc\x7f\xf9\xe6\x6a\x74\x3a\x18\xc1\x3a\xb2\x2c\xcb\xd1\x00\x9b\x0c\x0e\x4e\x3f\x8f\xae\x6e\xae\x07\x9f\xf1\x7a\xd1\x16\x00\x62\x05\x30\xbc\xba\x1c\x5b\x93\xa3\xfb\x97\xd7\xdf\x01\x50\x1b\xfa\xab\x8b\xc1\xf8\x95\xb5\x5a\x3b\xfc\x7c\x31\xb8\x7c\x65\xab\xac\x4e\x34\xdb\xc8\xa5\x1f\x2d\x71\x2a\x72\xb0\xf6\xbb\xd9\xe2\x01\xef\x90\x01\x35\x54\xff\x1a\x81\xa6\xe9\x51\xf9\xa5\x22\x83\x10\x97\x76\x00\x07\x0f\x32\x84\xf0\xd4\x9f\x34\x14\xa5\xbf\x80\xe5\x64\x94\x69\x2c\x2d\xc8\x34\x90\xdd\x38\x38\x1a\x9f\x32\xee\xe0\x11\x10\x5a\x94\x0f\x61\x65\x8d\xf0\xf1\x40\x3a\x13\x78\x43\x0e\xd4\xac\x41\x8a\x30\x63\x9a\x82\xe9\xff\x85\x6d\xad\xd5\xda\xde\xb1\x64\x1c\x93\xb3\x8d\x0a\xe3\xd3\x71\x43\x46\xd7\x83\x9d\x75\x4b\x15\x8e\xc1\x4e\x7e\xfa\x25\x45\x11\xe5\xc5\x52\x82\xe9\x40\x92\xbc\x66\x78\x0f\x5b\x5b\xc8\xbd\x7f\xf4\x9f\x4a\x85\x63\x82\x0c\x10\xf0\x80\xde\xc4\x05\x2a\x83\x78\x1a\x14\x55\x2b\x82\xec\x5f\x1a\x68\x6f\x81\x4d\x6c\xc4\x6b\x7c\x5c\xf4\xcb\xa7\x5f\x12\xb2\x6f\x06\x70\x36\xc0\xd6\x9a\x0d\xa3\xdc\xcb\xd0\x76\x20\x7c\x4b\xca\xe4\x7d\x44\x4d\xac\x77\xa9\x43\x07\x57\x6a\x58\xcb\xeb\x89\xab\x70\xb6\x79\x43\x01\xb2\x8d\xc9\x8f\xe2\x7e\xe3\xa7\x7f\xf9\x94\x7f\xfd\xf5\x1f\xac\x15\xc6\xe4\xd8\x1a\xd1\xeb\xd1\x71\xaf\xc8\x06\x32\x70\x0d\x58\xe8\x50\xf7\x26\x9a\x33\x92\xae\x26\xfe\xac\xc1\x3c\xde\xac\x5c\xb1\x69\x5f\x33\x83\x4e\xc2\x38\x9f\x79\x6f\xf0\xac\x94\x3c\x34\x4e\x26\x6e\x39\x9b\xe1\xf6\x15\x98\x7a\xd4\xb0\xd9\x97\x40\x77\x9c\xe4\xf2\x20\x54\x50\x7e\x4d\x6e\x6f\xc7\x31\xf8\x69\x25\x6a\x7f\x13\xe4\x1e\x86\x00\x1c\xba\xa3\xbb\x97\xa2\x3f\xe4\x94\xdb\x3a\x62\xed\x06\x26\xda\x42\x66\x43\x3b\x48\x38\xa7\xcf\xfd\x48\x1d\x5e\xac\xb8\xf3\x24\x05\xec\xc0\x43\x79\x82\x2d\x2a\x37\x73\xcb\x91\x00\xfb\x63\x53\x9f\xc0\xb4\x86\x7d\xd4\x65\x69\x82\x07\x60\x75\x1c\x58\xf9\x54\x05\x53\xba\xac\xf8\x94\x53\xc9\x8f\xb1\x1d\x13\xca\x87\x54\xf2\xfb\xaa\x33\x17\x6a\x2d\xe9\xa4\x60\x43\x05\x8c\x30\xea\xfb\x87\x27\xef\x5b\x1a\x03\x7a\x53\xc8\xfe\x2a\x11\xc8\x5d\x9d\x26\x7e\x74\x7b\xc4\xc7\x08\xc3\x27\x46\x7e\x65\xf3\xd2\x56\x65\xe3\x80\x61\xa7\x4a\x35\x6e\xc1\xb7\xa2\xa0\xe2\x6f\xce\xc0\xea\x0a\xfc\xdd\xb1\x51\xb2\xae\x5a\xe2\xdf\x1a\x31\xb2\x79\xd5\xa0\x5d\x1b\x2d\x28\x64\x85\x78\x6c\xec\x4a\xb3\xc0\xe5\x30\x9b\x4e\xfe\x58\xf9\x9d\xfa\xba\x16\xc5\x77\x8a\x1e\x3a\x8e\x58\xf3\x44\x76\xfd\x90\x48\xa3\x86\x63\xfe\xcd\xe8\x42\xf9\x87\x8b\x72\xa2\xc3\xa1\x2b\x2e\x6a\x6e\x63\xd4\x04\xe0\x4b\x46\x10\x25\x9b\x79\x4a\xad\x6d\x8c\xac\xff\x47\xba\x19\xa4\x06\x3f\xae\x38\xa3\x52\x1e\x42\xd3\xf1\x7f\x23\xf8\xcb\x1d\x05\x1a\x94\x8e\xf3\x36\xa8\x66\x71\xee\x36\x83\xd5\x7c\x18\xd4\xfe\x1f\xfc\xc4\xdc\x4c\xaa\xf9\xe8\xb8\x0d\xc4\xd5\xd0\xe0\x97\x52\xfa\x70\xf3\xc0\x0f\x6a\x27\xa7\xce\x76\x27\x1c\x29\x73\x03\xa3\x6a\x72\x46\x95\x7d\xb6\x35\x29\x1b\x25\xda\x70\xc0\xd5\x6c\x77\x24\xcd\x1e\x7e\xfc\x52\x9f\x06\xab\x54\x86\xf5\x64\x36\xb3\x2d\x29\x75\x50\x66\x5e\x51\x29\x6a\x6c\x46\x46\x92\xc9\x90\x0c\x7e\xf1\xd7\x40\x51\x99\x63\xfc\x35\x51\xb4\x3d\xcf\x90\x1f\x95\x26\xcd\xf4\x9d\x16\x87\x1a\xb2\xaa\xbc\x2a\xd3\x67\x70\xab\x42\xe1\x6f\xc1\xaf\xdf\x09\x5b\xb6\x1d\x7b\xce\x06\x3a\x75\xae\xde\xd7\xba\x42\xec\x51\x8b\x87\xb7\xca\x89\x12\x1d\xfb\x5f\x43\x65\x92\xba\x30\x65\xbb\x21\x34\x60\xa1\xe8\x04\xbf\x28\x32\x62\x57\xa8\x45\x6d\x11\x0f\x73\x99\x00\x53\x83\xd2\x94\x60\xdd\xcc\x15\xd3\xc2\x53\x36\x43\x67\x14\x2d\xfd\x45\x06\x75\x56\x90\x33\x8e\x06\x4f\xdb\xa0\x14\x88\xe3\x0a\xb2\x69\xff\x1f\xc8\xea\x33\x1d\x80\xd9\xfb\xb9\x6c\xec\x84\x6e\x50\xe5\x45\x44\x59\xe6\xf5\xc1\xf7\x39\x97\xe2\x8d\x26\xcf\xba\xf0\xaa\x44\x3c\xf3\x42\x94\xec\x28\x0a\x10\xf3\x89\x5c\x2f\x87\x2a\x77\x2a\x3f\x38\x0f\xf5\x75\x0b\x02\x3d\xf2\x1a\x04\xcd\xa4\x6f\xcc\x52\x75\x26\xb7\x9e\x9e\x86\x34\xa6\xca\x3c\x6d\xc1\xf1\xb2\xf6\x90\x5c\x71\x1c\x81\x1b\xf9\x15\xa5\x53\xc2\xd0\x3a\x00\x47\xea\x37\x3c\x05\x55\xff\xd1\x33\x1b\x8c\xf5\x43\xde\x24\x4b\x8f\x77\xe3\xeb\xe7\x37\x16\x15\xcb\xd4\x60\xd1\xe1\x65\x40\x2b\x38\x66\x7c\x59\xc7\xaf\x5d\x18\x63\x8c\xa4\x82\xbe\xe0\x4c\xf9\x4b\x3b\x5f\x3a\x0e\x7f\x1d\x37\x85\x56\x16\x87\xdc\xc8\x1a\x5c\x39\x62\xff\xba\x0e\xbf\x1f\x8f\xdf\x72\x8c\x61\x18\xdf\x73\x38\x6f\xf3\x2e\xa6\x9c\xe9\x19\x85\xd3\xd3\xdb\xc5\x49\x49\x5d\x0e\x85\x4f\x3f\xe3\x75\x94\x3d\xa0\xde\x42\x05\xf7\xde\x9d\x79\x7c\xff\x6c\x26\xba\xc9\x78\x58\x6a\x71\xd3\xb8\x7d\x6f\xd2\x57\x94\xa6\x2e\xca\x5a\x6b\x70\xba\x63\x98\x2c\xd4\x97\x35\xd3\xcc\xdc\xb5\xc6\xcc\x94\x1e\xb1\x00\xe1\xc0\xac\x75\x2a\xf2\x59\xdc\xcb\xb2\x07\x62\x7d\x63\x4c\xef\x90\x9f\xbd\xbe\xfe\xbe\x57\xdc\x1b\xfa\xd2\x9d\x62\xdd\x9b\x65\x9d\x6a\xb6\xef\x86\x9d\x4b\x63\x8f\x30\xe9\x70\xe1\x6a\x80\xa8\xf8\x67\x5d\xee\xb0\x09\x68\xad\xc9\xf0\x6c\xa7\x60\xa2\x0c\x53\x7f\x8a\x52\x8c\xbf\xdd\x59\x97\xb3\x2b\x3b\xf1\x94\x3b\xbc\x34\x31\x34\xa1\x68\x90\x3a\x47\x3c\xd6\xc8\x9c\x97\xd6\x51\x69\xc8\x8e\x5b\xa1\x66\xe1\x98\x49\x21\xfe\x9d\x6f\xba\xe8\xa9\x4e\xa6\x99\x37\x5a\x46\xe6\xba\x2b\x62\x0c\x2c\xfb\x71\x82\x68\x06\x53\x36\xcb\xfd\x50\x07\x55\x51\x87\x30\xba\xd3\x02\x9c\x59\x6e\x93\xe9\x73\xf9\x26\xfa\x12\x75\xe0\x53\x8f\xda\x7d\x61\xbc\xc6\x98\xde\xf5\xfc\x49\x92\xcf\xed\xac\xd5\x84\xcc\x30\x33\x62\x1d\xfa\x1c\xc9\x79\xd5\xd7\x1d\xdf\x74\x10\xa9\xee\xcc\x8b\xb9\x1e\xf6\x2c\x69\x7c\xb3\x77\xcd\x6f\xaa\x88\x52\xd5\xec\xc4\x1b\x07\x19\x15\x28\x97\x54\xc9\x82\xa1\x8f\x22\xb0\xc6\xda\x58\x49\xe4\x6e\xe5\x30\xef\x07\xa9\xb7\xc8\x83\xd9\xb1\xe7\xf5\xb1\x98\x2a\xe9\xda\xa5\xf0\x43\x8c\x72\xc1\x02\x7f\xcc\x07\x50\x11\xeb\xbc\x88\x88\xa5\xd6\x1e\x29\x85\xac\x61\x23\x4b\x7b\x84\xee\xd9\xcd\xf9\xa9\x74\x3b\x16\x1d\xcc\x51\x74\xeb\x86\xc0\x34\x08\x1d\x98\xad\x5a\x83\xa3\xd3\xf7\x23\xa6\x1d\x93\xa7\x79\xa6\xe6\xa6\x28\xd4\x01\xf0\x64\x8c\x01\x39\xa2\x67\xc9\xd3\xaf\xd3\x5b\x5b\xd0\x59\x0b\x4b\x40\xc5\xd4\xb1\xa4\xc2\x00\xba\x90\xde\x9a\x01\xe5\xb2\x73\x5d\x38\xa1\xc6\x9c\x56\x0e\x62\x7b\x1b\xbe\xb4\x34\x1d\x58\xa0\x0f\xcb\x9d\xd8\x90\x1a\x6c\x50\xe6\xe3\x96\x1c\x28\x00\xec\x7b\xf4\xbd\x5b\xf1\xf0\x25\x39\x50\x94\x19\x4b\x7f\x4f\xcc\xc0\x4d\xcc\x85\x0d\xb4\x03\x6f\xcf\x04\x75\x31\xb2\xfd\xd0\xd5\xce\xbb\xbf\xa1\x63\xa7\x6a\x3d\x74\xfb\xc8\x55\x57\xed\x6d\xa7\x5f\xb6\xc9\xae\x1d\xb7\xc3\x8c\x13\xfa\x2d\x06\xad\x43\xee\x8d\x2d\x33\x35\xf7\x4c\xfc\x51\x60\x33\x40\xfc\xa5\xc7\x09\x2e\xfc\xac\x2d\xe6\x86\xa2\x5a\x70\x6f\x37\x77\xd2\x54\x27\xed\xa8\xed\x14\xc6\x94\x10\xd0\xf9\xd3\xcf\x4b\x8a\x12\x91\xcf\xbb\x6e\xb5\x75\x79\xe1\x5b\x97\x4c\x90\xa1\xfc\xe5\x5e\xd9\xd6\x92\x02\xdb\x13\xb8\x75\x35\x04\x83\xc0\xd6\x8a\x07\xee\xe4\x25\x79\x68\x74\x1f\x67\x4d\x56\xae\x99\x59\x8d\x0e\xd2\xcb\xdc\x7a\xaa\x59\x88\xd0\xec\x43\x5e\xd7\xb0\x9f\xe9\x2b\x02\x07\x6b\x22\x05\xd3\x00\x73\x43\x9b\x46\x40\x47\x7b\x2d\xa3\x48\x3f\x4a\x13\x16\x0b\x9b\x6b\x41\x72\x76\x40\xf5\xe5\xc2\x9b\xb1\xe5\x5a\x48\x28\x8a\xad\x14\x60\x3f\xb9\x95\x25\xcd\x0a\x49\xed\xe0\x7e\xaa\x21\x1a\x5e\x95\xa0\x10\x45\x27\x8f\x59\x0d\xc1\x77\x6c\xb2\x57\x20\x6e\x43\xe1\x76\x4b\x6b\x4b\xea\x8b\x92\x0b\x49\x43\xe1\x57\x25\xda\xfb\x1a\x4e\xfb\x42\xdc\xc3\x70\xda\x57\xaa\xfb\x70\xd4\xd5\xcb\xdb\x38\xcd\xa4\x87\x16\xfe\x3a\xa5\x7a\xe8\xf2\xd4\x04\x7f\x0f\x7e\xa4\x96\xcb\x53\xfb\x01\x6d\x0b\x40\xdb\x12\xf4\xf2\x6f\xaa\x6c\xfe\xde\x48\xb3\x83\x6c\x26\x92\x3e\x60\x3c\x95\xcf\x91\xc4\x13\xca\xc7\xc9\x36\xab\x0c\xd4\x84\xd2\x01\x15\x6d\x04\x6b\xf0\x94\x58\x13\xc9\x6a\x83\x96\x28\xb5\x0d\xf0\x1e\x49\x87\x3d\xe1\xbc\x72\x73\xe8\x14\x82\x5f\x79\xa7\x43\x84\xfd\xc6\x9b\x1a\x61\x17\xa6\xc9\xe9\xeb\x4e\x9d\x2b\xdb\xa4\xa8\xba\xb0\x4e\xd6\xd0\xd6\x13\x95\x9c\xe1\x9f\x58\x34\x43\xb5\x2e\x6d\x22\x53\x56\xd4\xae\x79\xbb\x54\xec\xa2\x01\x7f\xe3\x1c\x35\xbe\x28\xed\x4b\x98\x03\xd9\xb2\x93\x7a\x0b\x4f\x84\x2c\x39\x96\x27\xe4\xff\x0c\x1f\x54\xa2\x63\xd1\xa3\xc9\x2c\x1e\xde\x88\xde\x3c\x48\xca\x9e\x09\xca\x90\x94\x2d\x6a\x49\x31\x47\x85\xad\x5a\xe2\x8a\xaa\x61\x86\x3b\xa3\x65\x24\x68\x63\x34\x5a\x0b\xb6\xf7\x78\xc3\x19\x18\x1a\xfa\x83\xd2\xd0\x34\x07\xd6\x56\xe1\x36\x7d\x1b\x19\x35\x5f\x2c\x81\xf3\xe3\xc1\xc9\xcd\xe8\xfc\xfa\x7b\xef\x6c\x74\x75\x33\xb4\x85\x6f\x52\xab\xe9\xb7\x83\xf3\xeb\xf1\xd9\xe8\x66\x38\xb4\xf4\x36\xc3\x0c\x80\xf3\x93\x41\x63\x81\x4b\xf9\x4c\x8f\x9f\x69\x02\x63\x8b\xc7\xd7\x3f\x37\xbd\xdc\xda\xe2\x6c\xe3\x39\xef\x50\x7e\xd5\xd6\xe6\x6c\x3c\xec\x9f\xd8\xfa\xb0\xbd\x1e\x8c\xb0\x2d\x77\xc3\x8b\x8d\xcc\x91\xaf\x8f\x9b\x98\xc3\x40\x1a\x4b\x7e\x6a\x30\x4d\xd5\x3e\x19\xd0\xe9\xe0\xc3\xe0\xe2\x6a\x68\xad\xf8\xa9\x40\x0d\x2e\xaf\xbf\x3b\x3f\x79\x77\x61\xab\xf7\xc9\xd0\x9a\xab\x87\x2a\x58\x8d\x85\x43\x09\x90\x6d\xd2\x24\x04\x9b\xf8\x8d\xdf\xca\x2c\xc0\xad\x2e\x47\xf0\x75\x9d\x83\x64\xbf\x0d\xb1\xe0\xbe\xee\x9f\xd8\xea\xc8\xf2\x6f\xf5\xaf\x4d\xfd\xf0\x8b\x7a\xfc\xc7\xb7\x7e\xf8\xdb\xfa\xf9\xc7\xea\xc0\xd5\xac\xd2\x36\x8f\x51\x36\x05\x56\x2e\x72\x0d\x74\xa8\x23\xdd\xe7\x85\xdc\xb8\x9c\xf2\xa9\x36\x10\xd6\x82\x72\x4e\xa8\x72\x20\x0b\xbe\x13\x49\x12\x27\x9f\x57\x2d\xdd\x33\xdd\x48\xab\x01\x67\xa1\x2c\x14\x53\x5d\xeb\xdd\x3b\x84\x1d\x97\x3c\x38\x18\xc3\x29\xa8\x1e\x5d\x7a\x1b\xac\xbf\xb2\x4d\x8c\xd1\x64\x46\x55\x2b\x3a\x94\x85\xdc\x56\x5c\x70\x2c\x5d\x63\xba\x80\x60\xbb\x66\x10\x50\x0c\x6c\xe6\x93\x97\x84\x9c\x34\x22\xb2\x25\x9d\x2a\xd2\x58\xf8\xbb\x52\x56\xf6\x2d\x3f\x0b\x79\xd4\x50\x96\xb8\x7c\xc4\xff\x80\x7a\x99\x89\x57\xde\x37\x5f\x7f\xfd\xed\x91\xb7\x52\x1d\x51\x65\x75\x31\xec\x17\x66\x04\x4a\x4f\xc4\xd4\xcf\xb9\x12\x8c\x2e\xc3\xbb\x36\x6a\x97\xda\xc3\x8f\x18\x31\x16\x6d\x12\x80\xf8\x0d\xfd\x6b\x22\x36\xda\xab\x96\x63\xad\xa9\xb8\x36\xcb\x6b\x51\x7c\x5c\x9a\x3b\x47\xde\xcc\x2f\x42\x13\xf9\xa1\x8d\xba\x47\x68\x07\x61\x5a\x93\xc5\xd6\x29\x73\x44\x1e\xf4\x99\xb2\x3f\x7e\xfd\x87\x0d\x1e\xe1\x57\x9a\x49\xd8\x36\x4f\xd5\xcf\xf2\xf3\x6c\x19\x27\xc1\x23\xd7\x06\x59\xcb\x0a\x79\x74\x0c\xd7\xf5\x67\xb8\xeb\x9e\x13\x87\xd8\x41\x60\xd0\x51\x61\x19\x7e\x65\xf0\x8c\x2b\x55\x45\x2a\xef\x1f\x2d\x73\xf8\x37\x58\x64\xb2\x82\x85\x59\xb8\x06\x6f\x4a\x59\xbc\x1e\x73\x69\x59\x59\x15\x5d\x13\x6f\x5e\x79\x7d\xce\xf1\x43\x5b\x57\x44\xd4\x16\x8b\x58\x32\x8b\x89\x23\x54\x83\x1e\x24\xf5\x2e\xc0\xf6\x6f\x94\xb7\x20\x7e\x84\x25\x4f\x69\x61\x41\xda\x56\x4e\xac\x91\x1f\xaf\x74\x95\x66\x2a\x9d\x12\x2c\xb0\x1a\x0c\xb7\xfe\x5b\x92\xab\x55\x0a\x43\xc0\x1d\x0f\x88\x17\x78\xf9\x46\xc5\x25\xb5\x41\xc9\x36\x74\x2a\xab\x89\xa5\xdd\xb9\x80\x07\xda\x24\x61\xda\x4e\xe0\x9b\x9f\x7e\x2a\x0b\x0c\xff\xde\x1f\x9e\x0f\xf0\x4b\xf5\xc4\xca\x68\x3b\x0c\x3f\x94\xf2\xbe\x3a\x33\xa3\x8e\x04\x53\x56\xea\x49\x28\x77\x33\xde\x20\xc2\xca\x07\x3c\x42\xd2\xfd\x28\xdf\x72\xc2\xbb\x17\xc0\xee\x90\x75\xb7\x2a\xf9\xb0\xb1\x5f\x35\x4d\x31\xa6\x52\xe5\xd8\x20\x12\xd3\x94\x1e\x03\xae\x4d\x93\x35\x43\x77\xaf\x8c\xad\x68\x2e\xe2\xba\x6a\x13\x94\x5b\x08\xec\x6d\xbc\xde\x9d\x02\x75\x08\x56\x6a\x93\x54\xa8\x6a\x32\xd1\x8c\x5e\x9d\xa8\x4d\x57\x05\x76\x97\xd0\x9a\xcf\xd2\x5f\xa2\x99\xa0\x86\xcc\xbe\xb6\x43\x76\x6b\x1a\x9f\xcb\x39\xbb\x8e\x8e\x7a\x87\x41\xa7\xb9\x6a\x75\x3f\x74\x9f\x3a\x45\xe1\xab\x8d\x58\x39\x27\x52\x6a\x5e\x6b\x44\x67\xeb\x92\x54\x53\xa0\x74\x67\xaf\xce\xc6\x1d\x66\x2d\xe6\xa2\x9e\x69\x07\x37\x4f\x37\x1e\xeb\x14\xcd\xf2\x28\x3f\x45\xd7\xe7\xc3\x57\xde\xf9\x1c\xeb\xb3\xd1\x5e\x9b\x25\x0f\xe4\x20\x8e\x65\x8e\xa7\xef\xdd\x7d\xb3\x91\xe8\x79\x44\x8f\x53\x47\x5b\xb4\x60\x70\x17\xee\xad\xe9\xb2\xa1\x4d\x15\xc9\xac\xce\x1a\x21\x21\x52\x80\x96\xef\xb0\xec\x03\x6e\x34\xba\x5c\xce\x11\x15\xa8\xbc\xfb\xa6\x57\x01\x32\x07\x3b\x06\xef\x47\xa8\xf8\xb5\xea\x48\x8b\x6f\x62\x1a\x29\x05\xab\xf4\xa8\xa5\xcd\xa3\x3b\x77\x1c\x57\xa6\xa2\xa0\xcb\x3a\xdc\x88\x03\xed\xb4\xec\x6a\xc2\x48\xbb\xae\x33\x73\x9d\xb8\xee\x89\x8d\xaf\x35\x21\xb3\xb9\xb7\xf4\xcf\x8d\x2f\x5b\x8f\x7c\xfa\x77\xcb\xeb\x59\x35\x45\x8e\x6f\xf2\x5a\x03\xc6\x36\xb3\xe5\x8c\xb0\x47\xec\x9e\x0b\x2a\x9f\x9a\xec\xda\x11\xab\x6a\x29\x18\x8d\x18\x8a\x63\x5c\x53\x17\x57\x27\xfd\x8b\x01\xee\x48\x07\x27\x17\x83\xfe\xe8\xe0\x08\x4f\x2b\x77\x41\x9c\xa7\xf2\x31\xb6\xed\x30\x95\xdf\x6e\xa7\xc9\xea\x26\x4c\xd1\x05\x57\x1f\x22\xf5\x00\x7b\x90\xaa\x7f\xce\x0d\x80\x79\xed\xf0\x73\x8c\x1a\xad\xf5\xef\x30\x2c\x53\x12\x50\x78\x2d\x51\x7e\x8e\xb8\x96\x15\x6a\x1d\x94\x21\x81\xa5\x09\xea\x30\xe8\xc4\x6a\xab\x80\x65\x32\x2c\xea\x33\x55\xaa\xfe\x9c\x3d\xac\x65\xac\x19\x1a\xa5\x5c\x26\xf7\x00\x43\x56\xb9\x47\x7b\x14\x47\xc2\xd6\xed\x8c\x0a\xf9\xd1\xe2\xdd\x84\xa8\xeb\xdd\x2a\x58\xf4\x99\xa0\xb9\xcc\x10\xa0\xbe\x0b\xc4\x7d\x51\x0d\x36\xc0\x74\x51\x0b\x1d\x58\xb6\xb5\x87\xd9\x9a\x37\xa3\x8b\x02\x38\xa3\x6c\x0e\x2b\x2b\xa1\x5a\x16\x9d\xd5\x4a\xed\x54\x1b\xb0\xc6\xe6\xe9\x2a\x56\x9d\x23\x26\xff\x3f\xee\xbe\x6d\xb9\x6d\xe4\x5a\xfb\xfe\x7f\x0a\xe4\xaf\x3f\x65\xff\xb5\x49\xcd\x4c\x2a\x57\x9e\x8b\x14\xad\x93\x95\x91\x64\x6d\x9d\xa6\xe2\xf1\x94\x03\x8a\x10\x89\x88\x04\x18\x1c\xac\x91\x52\x73\xb7\xdf\x23\x37\xf3\x0c\xb9\xca\x9d\x5f\x6c\xaf\x53\x37\x1a\x87\xd5\x00\x69\xc9\xae\x4a\xed\xca\xae\xb1\x88\xee\x5e\xdd\x68\xac\x5e\xbd\x0e\xdf\x27\x97\xea\x4d\x45\x11\xa8\x2b\xb7\x4e\x95\x92\xbc\xf7\xe5\x9f\x3e\x57\xd0\x81\x1d\x8b\x5c\x41\x2e\x61\xb5\x80\x22\xd4\x7b\xf1\xca\x50\xfb\x2a\x11\x82\xcd\x16\x4f\x12\x5b\x95\xfc\xe5\x3a\x5c\x96\x11\xc3\xc3\xb5\xb9\x87\x9f\xcd\xe7\x55\x9f\x68\x5b\x19\x34\xc4\xc5\xc9\xb7\xe4\xed\xe2\x3b\xfe\x32\xde\x32\x5e\xdf\xbf\x77\xe1\x04\x09\x3c\x4c\x47\xee\xfe\x90\x20\x6e\xb5\x2c\xb8\xd5\x06\xc1\x09\xd1\x32\xf4\xe6\xeb\x0f\x88\xee\x9a\x69\x3d\x49\x6a\x80\x3b\x91\xa7\x4a\x0e\x30\x02\x3e\x7b\x66\x40\x5d\xf8\x67\xca\x0d\xf0\xcd\xe6\x49\x13\x03\xf4\xd9\x3c\x61\x6a\xc0\xc5\x02\x4d\xd9\x90\xbc\x23\x88\xe8\x61\x43\x85\x94\xb8\xeb\x71\xa3\x9d\x49\x03\x13\xf6\xab\x70\xf3\x6a\x7b\x1a\x49\xf3\xe0\x7c\x0c\x57\x01\xdd\x10\x35\xed\x0b\x52\xb0\xc9\x4d\xa3\x37\x53\x0a\x04\xd7\x6f\xeb\xaf\xf3\xd0\x08\x11\x05\xa7\x25\xe7\x3e\xe3\x32\x1a\xd1\x9b\xc3\xe1\x54\x9e\xe4\xc3\x5c\xa4\xf7\x15\x42\x61\x3d\x39\x4a\x37\xb1\x18\x8a\xb0\xed\xa6\xee\x39\xbf\x68\xac\xe5\xb2\xc1\xbe\xd8\x6b\xd3\x51\x7a\x60\x17\x55\x72\xcd\xa8\x1b\x30\xf6\x22\x5a\x6a\x63\xbc\x21\x88\xc2\x01\x7d\x38\xa8\x5a\x2c\xb9\xa4\x46\xbe\x0c\xab\x1c\x49\xdc\xaa\xd1\x18\x2b\x1f\x0b\x06\xee\x65\x0c\xeb\x11\x34\x36\x90\x7d\xb8\x6f\x19\x04\x11\xb5\xa2\xfc\xcc\x2c\x76\xf0\x13\x68\x1c\x82\x60\xd4\x60\xfa\x8e\x6a\xd0\x5e\x76\x1d\x4c\x9e\xa4\x99\x46\xf0\x32\x8a\xcd\xdf\xf0\x82\x41\x17\xaf\xd4\x21\xaf\xcc\x19\xca\x97\xc7\xc7\x9f\xf1\x6a\x1b\x47\x9f\xfe\x49\x90\x3c\x75\x04\xee\x11\x5d\xc4\x08\xe5\xb1\x0a\x32\x93\xc3\x59\x8b\x9b\x2e\x88\x48\x81\xe1\xcc\x06\xb8\xf0\x73\x81\x3d\xeb\x7d\x05\xd8\x27\x3a\x84\x72\x44\xc7\x45\x4f\xfb\x90\xce\xa7\xd6\xf1\x8d\xc9\x9e\x5c\xb5\x3f\x60\x2c\x82\xb4\x9a\x45\x45\x18\x2f\x65\xa7\xba\xa4\x15\xcd\x9b\xb4\x8a\xbb\x82\x17\x3a\xe9\x43\x5e\x56\x85\xa7\xdc\x02\x49\x1a\x20\x16\x9b\x07\x9e\x85\xed\x46\xa8\x1c\xba\xc2\x59\x74\x43\xd4\x69\x58\x78\xf3\x11\x0f\x0f\x15\x7f\xae\x78\x2c\xe8\xf3\x1b\xef\x83\xed\x33\x27\x16\xa1\x21\x03\xb4\x5c\x31\x9e\xa9\xd4\x5d\x28\xf8\x60\xbe\xc9\x10\xe8\x20\xea\xef\xbd\xf2\xe9\x0c\x5d\x23\xc9\x05\xd7\x7b\x36\x91\x99\xcd\x3a\xec\x7d\xb3\xa6\xdb\x4e\x7c\xcc\x0d\x07\x1b\xf2\x15\x99\xf1\xb6\xfb\x80\x50\xbd\xd9\x7a\x20\xba\x23\x73\x0d\xd6\x97\xb9\x09\x4c\x8c\x22\xac\xe7\x3d\x4b\x50\x1c\xcf\xd8\xaf\x16\x15\x97\xb5\x69\xd7\x1f\x3d\xcd\x55\x69\x50\x56\xa7\x59\x1d\x5c\x04\xad\xea\xe8\x8b\x43\x78\x5c\xdc\xc5\x6b\x01\x70\x35\x45\xf8\x14\x4d\x2d\x52\x1f\x74\x11\xd7\x82\x46\x49\x87\x7d\x27\xa1\xd1\xc7\xb2\x0a\x01\x30\xe3\xa4\xc4\x85\x3d\x62\x2c\xd2\xbc\x20\x05\x42\xd0\x72\xbe\xb2\x54\xcc\xe8\xac\x74\x48\x9d\xf0\x6e\xe8\x68\x35\x82\x3d\xb1\xd6\x91\xbf\xc0\xdc\xf5\x77\x02\x24\x8c\x06\xdd\x9c\xae\x56\x88\xd5\x3e\xfb\x9d\x22\xcc\x35\x75\x24\xe1\x21\xa6\x7a\x73\x6e\xfb\x79\x5d\x20\xe8\x95\xfc\x8e\x08\x78\x87\x91\xb0\x24\xbf\x07\xd3\xe0\x77\x8a\x9c\xfe\x62\xe8\x48\xe5\x7b\xa5\x86\xc1\x93\x80\x2f\xfb\x15\xe0\x93\x80\x30\x3b\xd2\xf6\xa4\x45\x74\x4b\xa1\x79\x34\x99\x9b\x7f\x7b\xae\x62\x19\xb4\x8f\x8e\xc8\x37\x7a\xeb\xbb\x1c\xbe\xe2\xcd\xb6\x9b\x2e\x68\xcf\x52\xaa\x8b\x86\x29\x9f\xcc\x16\x26\x24\x8d\x64\x53\x13\x9e\x33\xf4\x40\xbe\x59\xfa\x89\x52\x30\x4c\x82\xe8\xc8\xe2\x96\xf3\xe3\x18\x42\x17\x04\x68\x64\xb4\x95\x23\xe9\x3e\xcd\x08\x2e\xd0\x32\x40\xe8\xd7\xb3\x69\x0d\x59\xb1\xce\x03\xc9\x74\x1a\x99\x75\xb1\x86\x20\xd5\x01\xdc\x74\xf8\x2a\x4c\xcf\x26\x96\xa1\xbd\xe9\xb0\xa5\x1b\x8c\x81\x4b\xb7\xac\x11\xd5\x69\x35\xc9\xa6\xb8\xc4\x2e\x7d\xae\x01\xa1\xd6\x54\x28\x59\xfc\xac\x30\xbf\xec\xc5\xe4\x5d\x59\xf1\x0f\x89\x17\x00\xef\x46\x5f\xf5\x1a\x22\xfe\x8e\x2d\xd2\x6c\xfb\x7c\x18\x6a\x8a\x5a\x7f\x61\x3b\x1e\xab\xde\x62\x76\xe9\x03\x1e\x43\x8e\xfd\xb4\x2c\xde\x27\x12\xde\x9b\x38\xc9\x8e\x14\xb4\x9b\x72\x99\x5b\xe4\x32\xc2\x64\xf1\x1c\xb6\x1b\x3a\xd6\x77\x28\x98\x0e\x1f\x39\x1e\x29\x0b\x0c\x3d\xdc\xa4\x33\xe3\x1c\xc2\x07\x46\xb4\x4d\xf0\x5f\xff\x0f\x51\xbc\x3b\x1d\x43\xda\x67\xf1\x0e\x76\xe6\x32\x46\x67\x04\x31\xa3\x98\x9a\x78\x4b\x0d\x63\x85\x46\xde\x96\xaa\x16\x1e\xc4\xce\x99\xc6\x0f\x09\x5a\x62\x4a\x38\xc1\x8f\x0a\x09\x83\x04\x78\x35\x67\xcd\x02\x66\x7c\x0c\x1f\xd3\x75\x8d\xd4\x0a\x3f\xb9\xb6\x5b\x97\xa5\x0f\xf1\x9a\x50\x14\x04\xa8\xc9\x6c\x45\xa8\x02\xe0\xf0\xc7\x59\x47\x9e\xec\x1d\x5a\xef\x32\xa9\x68\x99\xac\xec\xb8\x3c\xe8\x20\xde\xe5\x14\x1c\xe3\xcf\x5e\xa5\x59\xe4\xba\x03\xf4\x4d\x94\x99\xd8\x9e\xc3\xcc\xf4\xde\x86\x48\xeb\x73\xab\x0f\x44\xc4\x9d\xf7\xb0\x0e\xc8\xb0\x50\xbf\xf5\x13\xed\x2f\xfa\xdb\xfc\x53\x8a\x66\x1c\xf2\xe3\xff\x56\xc3\x83\x87\x8c\x9d\x10\x15\x8d\xa7\xf5\x8e\xbf\x6c\x1a\xab\x6c\xac\x59\xf4\x95\xdc\xf2\x38\x7e\xb9\x36\x59\x58\x23\x0e\x94\xa7\x41\x52\x62\x59\x61\x8a\xac\x0b\xfc\x07\x13\x37\x64\x6c\x0b\x79\xdc\x37\xa9\x29\x65\x53\x31\xa9\xe5\x29\xf6\x66\x43\x42\xf4\xee\x25\x67\xb1\x3a\x59\xe8\xa3\xa9\x38\xa8\xf2\xaa\x0f\x4c\x6c\xc1\x7c\xc6\xc7\x92\xa3\xe4\xea\x4c\x54\xda\x2d\xb6\xfb\xf5\x76\x65\x6e\x76\x47\xe1\x49\xe7\x68\x3f\xa8\x74\x98\xae\x07\x82\x7f\xe4\xf0\xe8\x5a\x9f\x10\xfc\xf8\x85\x37\x23\x89\xf3\xf5\x36\x23\x1d\x84\x63\x49\xf1\x9a\x69\xa7\xd7\x75\x0a\x0a\x99\x8f\x54\x25\xe5\x49\x39\xbe\x2e\x8f\x4e\xf6\xdf\x5e\x69\x44\xf2\xf2\x6b\xf0\xf2\xdd\xfe\xd1\xe5\xf1\xd1\xc9\xd1\xa5\x72\xf0\xa2\xee\x54\x99\x0b\x48\xf5\x69\x1c\x04\xdc\x12\xfe\x7d\x85\x9a\x77\xf7\xe0\xc3\xe9\xe4\x64\x5f\xcc\xb7\x31\x5e\x02\xc7\x26\x15\x6c\x6c\x40\x1c\x98\x2e\xfa\x8e\x5d\x1a\xf6\x67\xe3\x04\xca\x1d\xfa\x42\x78\x70\xf7\x80\x8c\x18\xbf\x68\xf0\x4b\x43\x33\x0f\x12\x84\xbe\xda\x21\xf9\x66\x36\x37\x48\x2e\xda\xbb\x07\x63\xb2\x6a\x84\x21\x71\x1a\x12\x02\xf4\x0a\x79\x9d\x35\x05\x4f\xa7\xd3\xae\xf0\x21\x51\xe5\x14\xe5\xd6\x82\x7d\xf0\xc0\xf9\xa3\xc2\x8d\x64\x02\x58\xce\x05\x03\x39\xac\x8a\x98\x4a\xa2\x1f\x28\x53\x28\x93\x03\x40\xcd\x5c\xe0\xc3\xea\xd3\xff\x54\x74\x49\xf3\x88\x68\x50\xd0\x18\x05\xa3\xcc\xe4\x2a\x38\x1c\x49\x42\xc0\x6f\xcf\x7d\xd4\x69\x0e\x0f\x8c\x60\xfa\xcc\xcd\xd1\xc3\x29\x7b\xde\xc9\x3a\xa9\x4d\xd3\x68\x81\x29\xbc\x21\x18\xb2\x59\x74\x4f\xf8\xcd\xc4\x98\xf1\xf7\x32\xce\x08\x30\x87\xd8\xbd\xe1\xfd\xfc\xf2\x30\xe2\xab\x35\xc3\x1e\x2c\x8a\x62\x9d\x7f\xa0\xbf\x77\xc7\xc0\x28\xd9\x36\xc3\xfb\x00\x2c\x23\xa8\xd2\x9d\x60\x7f\x99\x47\x23\xa1\xed\x26\xe6\xcb\x24\x2a\xf0\xe6\x80\xb7\xb8\x24\xa2\x34\x65\xff\xaa\xd9\x2c\x28\xe2\xc7\x05\xb9\x31\xbd\x9d\x8d\xa4\x03\x23\xfd\x14\xcd\xe1\x99\x60\x23\xa0\x89\x4c\x44\xe3\x67\x2c\x67\xc6\xf9\xc8\x8c\x94\x8f\x37\x07\x72\x2e\xf0\xc6\x24\x6c\xaf\x6e\x93\xc8\x9d\xab\x60\x65\xe5\xf3\x68\xf5\xe9\xb7\x4f\xff\x74\xf3\xc3\x31\x61\x29\x78\x3b\x33\x8e\x11\xa7\x6f\xea\xf7\x14\x8e\x13\x58\xc0\x69\x4c\x2f\xd1\xf7\x7a\x4e\x53\x51\xaf\x26\x4b\x62\x54\x19\x4f\xb7\x8c\x74\xeb\x18\x51\x48\xcf\x23\x37\x5f\x6f\x1a\x05\xaf\xe1\x0f\xb8\x26\xb6\x18\x01\xf4\x25\xde\x7d\x99\x03\x90\x12\xff\x8b\x51\x83\xfa\xb4\x7b\x54\xfa\x3e\xeb\x34\xc0\x6e\x67\x8f\xa5\x54\x11\xf8\xa6\x79\x25\x73\x9a\x9c\x1d\xd5\xa7\x83\xb7\xfa\x38\x29\x23\x1b\x9b\x84\x93\x1b\x43\x6a\x75\x3f\x8e\x77\x9a\x6d\x6b\xb0\x36\x0a\x89\x5f\xb1\x6c\x81\xbd\x4a\x41\xb8\xa8\x91\xd0\x01\xdb\xa5\x78\x2c\x6f\x43\x4f\xba\x7a\x6d\x26\xbb\x07\x76\x88\xda\x71\x46\xb3\x8a\xc0\x28\x86\x29\xd0\xce\xaf\xe5\x7d\x58\x2a\x36\x54\xbc\xd1\xed\x2d\x7c\x0a\x1b\xce\x4d\x1d\x97\xe6\xc9\x73\x73\x38\xeb\xe1\xea\x97\xd3\x96\x74\xd5\x50\xa8\x62\x7a\x23\xb9\x04\x86\x75\x3d\x58\x0b\x8d\x55\x10\xa0\xb7\x86\xa5\x1f\x26\xa6\x36\x98\x78\xd1\x9e\x7b\x49\x3a\x84\xb0\x68\x13\xa6\x1c\x98\xb1\xa5\xf2\xcd\x96\xe9\x88\xee\xca\x4f\xb1\x50\xb5\x5d\xff\x9c\x8b\x51\xdf\xf8\x5f\x6a\x43\x54\x4a\xeb\x6a\x8d\x1e\x19\x0b\x1d\x5b\x9f\x78\x49\x3f\x72\x7d\x46\x1f\x14\xb4\x3a\x43\x7d\x08\x73\x01\xa0\xa2\x0b\x8b\x72\x0b\x46\x01\xfa\x86\x42\xb8\xf2\xfb\xee\xb3\x97\x6f\x2f\x27\xc7\x1f\x4e\xf6\x4f\xde\x9e\xff\x45\x13\xc9\x79\x24\x78\x79\xb8\x7f\x31\x39\xb9\xbc\x38\xa3\x82\xcb\x73\xcd\xa6\x0b\xe7\x6c\xda\xe3\x7f\xa8\x57\x80\xe6\x53\x4a\x57\x60\x7e\x60\x02\x9d\x13\x70\x5c\xa6\xf3\x01\xf9\x00\xd8\x12\xdd\x32\x70\x36\x16\xe9\x1d\x91\xcc\x1d\x83\x9d\x21\xc1\xa8\x46\xac\x67\x49\x21\xca\x24\xb0\x0f\xc3\x43\xf0\xf7\xff\x2f\x2c\xb7\xf0\x16\x5a\x4f\x34\xd3\x45\xfd\x51\xae\x4b\x37\x21\xd0\xb5\xf6\x55\xdb\x77\x32\xc3\x22\x37\xf2\x7c\xe9\x77\x05\xd5\x36\x36\xc3\x75\xdd\x63\x86\x0c\x99\x29\x77\x10\x75\x40\x43\x46\x5b\xcb\x85\x72\x2b\x6e\x6d\xb1\x46\x58\x38\xc0\x52\x68\xcc\xfc\x42\x36\x19\x47\x6e\x0b\x04\xd9\x11\x3e\x4f\x1b\xf6\x95\x28\x87\xdb\x5b\x85\xc2\x83\xb9\x30\xd4\x8b\x32\xa9\xbd\xb8\x6d\x62\xe6\x26\xd3\x9e\xfc\x51\x55\x4d\xff\x11\x49\xc3\x7c\xb7\xd6\xc4\x42\x6a\xc0\x32\xb2\xe8\x8d\x75\xbc\x46\xc1\x73\xca\x31\x59\xd3\xb4\x37\x31\x68\x0f\xaa\xe7\x25\x48\x4e\xae\xd5\x7f\x18\xa6\xee\x7d\x2a\xe3\x42\x05\xd4\xe9\x73\x47\x61\x22\x06\xd9\x12\x1e\x97\xca\x19\xad\xbe\xcf\x3d\xe3\x74\xf6\x0c\xe3\xba\xe7\x61\x2d\x0c\xf9\x8b\x4b\x47\x5c\xe5\x9a\xab\x6f\x9f\xea\x14\x67\x54\x4d\x1d\xdc\x2f\x70\xdb\xa0\xa4\x56\xdb\xe5\x64\x8b\x93\x69\x0c\x7b\x72\x56\x66\x75\xcc\xef\xb0\x2c\xd2\x31\x32\x75\xfb\x6a\xf9\x70\x32\xe7\x51\x0c\xf7\x1c\xe2\x27\x1e\x19\x4c\x06\xaa\x47\xab\x06\x42\xc3\x0c\x96\x7d\xc6\x1f\x38\x74\x8c\xae\xb0\x1c\x86\xae\x1e\x8a\xb2\x3b\xb0\xb4\xf9\x96\x45\x56\xac\xa9\x7d\xd4\x27\x47\x09\x1e\x0e\x06\x08\x33\xf1\xc5\x36\xd9\x1c\x01\xd1\xb2\xb9\x76\x57\x24\xb6\x65\xee\xa1\x5a\xec\xea\xb4\x76\xbf\x6e\x72\xd9\xcd\x3f\xfd\x96\xcc\xd1\x8a\xd7\xb4\x76\xbf\x44\x4c\xf6\xa9\xe6\xbc\xe9\x12\x75\x60\x29\x6e\x27\x10\x68\x83\x67\x5c\xa4\x32\x79\x22\xa9\x9e\x72\xa1\x86\x0a\x95\xa9\xd8\x32\xb0\xa7\xc1\xaa\xd8\x11\x97\x32\x5f\xda\xf9\x3e\x9a\xe6\x05\x86\xc4\x59\xf1\x8d\xe1\xde\xf7\xf6\xe2\x92\xfc\x0c\x30\x07\x34\x44\xc6\x63\x10\x7c\x96\xae\xc6\xdc\x39\xd8\x1d\x70\x16\x45\x59\xa5\x4d\xf9\xef\x44\x9c\x8d\x74\xd4\x6b\x22\x1d\xf6\xd1\x67\xd3\x07\xa7\x23\xd4\x80\xb2\x38\x8c\xa6\x59\x58\xc2\x54\x8d\x93\x9a\xed\x2b\xb9\x13\xc2\x20\x6f\x44\x6a\x26\x4d\xae\x49\x8d\x9f\x67\xfd\x26\x56\x9f\x81\xbd\x81\xb1\xf6\x65\x41\xc0\xaa\xa1\x59\x91\x66\x1d\x91\x82\x36\xb1\x1d\xae\x01\x4a\x12\xe3\x2f\xa0\xa6\x54\xd9\x0d\xd3\x9a\x57\xaa\xba\xc5\x2d\x4c\xbc\xe7\x9e\x97\x65\x53\xf9\xdd\xcb\x19\xdc\xe1\xca\xe5\x8c\x31\x94\xd0\x2b\x82\xfe\x17\xd5\x27\xb2\x47\x39\xfb\x1f\x63\x39\xcc\x6b\x57\xb0\xbb\x34\x41\x46\x48\xe3\xf8\xa7\x23\xd7\xa8\x23\x5d\x28\x74\x5d\x50\x8d\xb4\x3d\x69\xcd\x59\x29\x09\xbc\xb8\xa5\xd6\x6b\x15\xe0\x39\x87\xd3\x77\x8a\x39\x0b\xb1\xf5\xbf\x58\x78\x62\x53\xc2\x4b\x5e\xcb\x5e\x11\x8a\x14\x3d\x6a\x70\xf3\x61\x62\x61\xba\xf6\x08\x7c\xe4\x08\x3e\x3e\xa2\x6d\xa7\x3a\x8e\x98\x23\x4e\xb8\x1b\xfa\xc4\x82\xb7\xfc\x11\x2e\xda\x94\x38\x54\xb2\x51\x35\x33\x7c\xc0\x98\x89\xc0\x74\xeb\x73\x1b\x6b\xc5\x0d\x74\x4a\xbb\x0c\xa3\x40\x3e\x89\x63\x02\x56\xe2\x6a\x62\x29\x27\x77\x68\xe0\x30\x2a\x86\xc6\x36\x42\x92\xd3\x7e\x47\x0a\x7e\x2d\x18\x1d\xb3\x21\x20\xc1\x45\x93\x88\xeb\x30\xb6\xb1\x96\xa8\xf7\x17\x40\x37\x1c\xd9\xe4\x72\x62\x74\xd4\xbf\x52\x60\xcf\xb7\x95\x98\x6b\x8f\xd3\x0c\x6d\x35\x34\xae\xe3\xb5\x6a\x81\x3f\xe9\x2c\x3a\xc7\x55\x66\x56\x55\xaa\xeb\xba\x27\x27\x1b\x14\x43\x16\xfd\xbd\x18\x87\x1e\x27\x4a\xa0\xae\xc0\x45\x82\x0f\x6d\x07\x8b\xe7\xb3\xea\x1b\xb6\xdf\xaf\x70\xe6\x06\x71\x61\x8a\x87\x05\x48\x5f\xcd\x61\xaf\xc1\xab\x52\x24\x05\xb5\xe1\x2c\xb6\xe3\x8d\x49\x41\x38\x3e\xb8\x1d\xbc\x4a\x3b\x5f\x7e\x16\xd8\xcf\x7e\x15\x2d\xd1\xde\xa9\xae\xa6\xb9\xc5\x4b\x73\x51\xf5\xd5\xcd\x5c\x41\x61\x21\xd8\x2a\x66\xbe\x23\x12\x42\x96\xe6\xb9\x3d\x66\x41\x29\xef\x61\x95\x19\x69\x87\x82\x1d\xbf\x99\x43\x63\x57\x21\x5a\x32\x6b\xef\x88\xce\x06\x7a\x8c\x5c\xe4\xf8\x51\x63\xb0\x44\x2c\xed\x6a\xc4\x32\x21\x7d\x47\x01\xdf\xf7\xc9\x84\xef\xf4\x81\xb9\xdc\x07\xf7\x61\x22\x31\x2e\xcb\x56\xdb\x9d\x0c\xff\x27\xed\xe3\x22\xb3\xd5\x60\x70\x61\xee\x03\x66\x9e\x85\x74\x4f\x6b\x58\x01\x55\x4e\xfe\x9c\xfc\xe8\x05\x4e\x1a\xf5\x39\x85\xff\x8f\xa9\x80\x4d\x42\x30\x0d\x50\xaf\x36\x3b\xaf\xe0\x80\x09\x65\x5d\x51\x71\xf8\x92\xbf\x5d\x54\x62\xa3\x97\x32\x11\x95\x3d\x0d\x33\x18\xfa\x02\x5d\xcd\xc6\x81\x8b\xa0\x02\xf4\x76\x8d\x83\x54\x4b\xd2\x5f\x1a\x31\x57\x9f\xfe\x85\x34\x0c\xc9\x9f\x54\x8d\x80\x2f\x5b\x12\x56\xb1\x92\x34\x79\x51\x10\xd2\x2e\x06\xb0\x4d\xa2\x0b\xea\xff\xbb\xe8\x21\xf7\x1d\x46\x17\x96\xf0\xb3\x40\xb7\xfc\xa7\x7f\xc3\xca\x71\x0c\xb1\x4a\x4e\x21\x3a\x13\x9b\xaa\x26\xe0\x0f\xbe\xfd\xc8\x37\x4d\x63\xc8\x2c\x42\x52\x5c\x9c\xa1\x67\xef\xa1\x94\xb6\xea\xb1\x37\x72\xe7\xde\x29\x11\x8e\xca\xe0\x20\xaf\x33\x9f\xeb\x15\x42\x6a\x14\x78\x53\xac\x7c\x02\xd3\x56\x67\xec\x15\x03\xe1\xce\x31\x5a\x8c\x33\xec\x04\xea\xc6\xe6\x04\x55\xd7\x0f\xa9\xf1\xdb\xe2\x8c\x84\x8b\xde\x60\x48\xad\x82\xd3\xa8\xe4\xb0\xaf\x04\x06\x77\x02\x7d\xdb\xd4\x62\x86\xb9\x05\x69\xb2\x1b\x45\x99\x1d\xa7\x82\xb0\xd1\x9d\x3f\x24\x37\x1c\xe4\x30\x64\xa7\xbd\x49\x1a\x6c\x74\x63\xc3\x45\x06\x9f\x19\x87\x18\x6a\x5c\xa4\xda\xb8\x6b\x71\x8a\x85\xb3\xd9\x98\xaf\xa9\x63\x54\xb4\x2f\x78\x61\xe7\x98\x7e\x92\x09\x7e\xcb\x5a\xcb\x5c\x86\x5e\xd6\x2d\x17\x58\xb3\x43\x76\x7a\xc1\x1e\x73\x48\x4a\x61\x85\x79\x8c\xcc\xeb\xf1\x82\x1d\xb8\x0c\x4e\x40\x11\xaa\x04\xa8\x87\x11\x68\x94\x22\x5f\x47\xf4\x3a\x7c\xdd\x84\xab\x14\xbe\x21\xfc\xe4\x56\xd4\x61\xf0\x32\xda\x99\xef\x04\xdf\x7d\xfb\x87\x3f\x9e\x8c\x82\xef\x0e\xe1\x7f\xdf\x1e\x6a\x59\x50\x7b\x04\x81\x8f\x43\x45\xc1\x85\x0c\x06\x76\x53\xf1\x18\xbc\x7c\xdc\x79\xdd\xee\x65\x13\x39\x0c\x8c\x13\x66\x63\x11\x66\xcc\xd3\x08\xc6\x78\xdd\x16\x9f\x9c\x70\x84\x1e\xc1\x20\x73\x7a\x66\xcb\x1e\x7a\x87\xef\x16\x2d\xef\x9e\x17\x91\x20\x63\x5a\xd6\xa4\xdc\xb0\xd6\xec\x4e\x30\xfe\x0e\x37\x0b\x66\x4e\x24\x0c\x8b\x59\x26\xb4\x4b\xf1\xc0\xa3\x59\x6b\xea\xe4\x99\x47\x0d\x5e\xee\x71\x12\xc7\xab\xea\x37\x6d\x41\x79\x43\x3d\x86\x60\x33\xd4\xbc\x47\xc6\x0d\x85\x46\x2d\x8c\x08\x5f\xc7\xa2\x70\xbc\x8a\x25\xe8\xb2\x39\xec\x64\x2c\x9e\x38\x89\xe0\xbb\x83\x41\x4d\x46\xc7\x2b\xe7\x57\xef\xd6\xa8\xa6\x9a\xf9\x40\x38\x1b\x22\xfa\x30\x39\x9b\xfd\x36\xab\x34\x06\x0e\x51\x2f\xd8\x50\x07\xcb\x70\x1b\x0f\xd1\x5f\xa4\xa5\xe8\xf1\xb0\x5f\x55\x5d\x4d\x26\x95\x2d\xb8\x8a\x73\xac\x6c\x63\x4e\x4c\x86\x14\x25\xe7\x9c\x32\x10\xb4\x75\x42\x68\x60\x08\x16\x78\xb9\xf9\x41\x10\x40\x39\x6e\x4e\x09\x9a\xca\xd0\xe7\xc7\x5a\xc7\xf0\x8b\xd6\x04\x35\x28\x3b\xd6\xac\xf7\xdb\xc6\x9a\xaa\x68\xbd\xc1\x45\x05\x1d\x18\xc1\xa1\xa1\x59\xd7\xd0\xdf\xc8\x20\xcc\x36\xfd\xd9\x36\x74\xe4\x06\xe4\xf1\xea\x11\x5c\x50\xa7\xb1\x49\x55\xe7\x8f\xdb\xeb\x39\xab\xc9\x6d\xb9\xb6\x2b\xd9\x79\x47\x5a\xa9\xe1\x87\x7b\xd8\xda\x88\x79\x05\x96\x07\x98\x76\x95\x83\x06\x7b\x32\x59\x8c\x14\xae\x1e\x30\xb3\x3a\x7b\x76\x63\x72\x62\xed\x71\xd2\x1c\x06\xb8\x63\x4a\x2d\xe0\x7b\x77\xb0\x87\x9c\xf4\x28\x42\xe8\xfa\x7a\x44\x88\x9c\x25\xe0\x9c\x43\x65\xe2\x17\x93\x43\x0d\x0c\xf4\x7a\xff\xfc\xc7\xfd\xd3\xbd\xab\xd3\x43\x4f\x5b\x35\x5b\xc7\x36\x56\xb2\x72\xae\x2e\xf6\xcf\x7b\xc0\x44\x4f\xaf\x2e\xdf\xd9\x87\xd4\x4e\x74\xb0\x4d\x6e\xaf\xb4\x4c\x4c\xf6\x0c\xbb\xd9\x3a\xe3\x0f\x3b\x74\x41\x64\xf8\x2c\xf5\x6e\x3a\x29\x6f\xb5\x34\xa8\x9a\xcf\x04\x4d\x41\x42\x2d\xb3\x7b\xb1\xd1\x7d\xaf\x9c\x9c\x0a\x82\x86\x0e\xe6\xd0\x12\xca\x98\xd0\xe3\x0a\xfc\x1c\x9f\x0e\x70\x18\xac\xe1\x1b\x53\xa9\x4a\x73\x23\x17\x7a\x55\x02\xb4\xa6\xa8\x27\xc3\xf4\x3e\x29\xc1\x48\xa1\x8b\x20\x2a\x7e\x30\x25\xef\xd1\x6a\x9f\x46\x8f\x69\xf5\x15\x69\xbb\xa9\x12\x56\x50\xbd\xe0\x7b\x57\xbd\x28\x93\x26\xf2\x57\x7d\xbd\x28\x15\x42\x6c\xd2\x81\xa3\xf2\x4d\x6e\x24\x1e\xc4\x17\xc6\x1b\xf8\x62\x20\x9a\x8d\xbd\x86\xf5\xc9\x21\x4e\x3e\x67\x80\xe1\x78\x37\xae\xb4\x05\xc5\xa2\xa2\x60\x77\x97\x7c\x76\x60\x4a\xe6\x54\x01\x70\xc6\xee\x28\x50\xa0\xc4\xd9\xe7\xf3\x7d\xee\xee\x12\x0e\x88\x34\x75\x01\x13\x4d\x41\xa6\x15\x9a\xbd\x51\x74\xa1\x77\xb2\x77\x0c\xbb\x5b\xbf\xbc\xe9\x14\x4b\x3c\x4c\x54\x87\x7c\xbc\xa8\xf6\x22\x1b\xa8\x21\xcf\x8a\xfd\x97\xfa\xc1\x98\xc8\xcd\x29\xf5\x40\x26\xbc\xb8\x75\xa6\xe8\xa8\xb3\x71\x20\xb7\xab\xc6\x2b\x99\xce\x23\x46\xf0\xf7\x2a\x75\x2b\xf9\x3a\xcc\xf2\xe6\x2a\x9b\x5c\x14\xf9\x27\xbc\x44\xcf\x25\xbf\xb1\xca\xad\xa6\xee\xba\xcf\x23\x1c\xae\x7f\xcf\xd2\x85\x13\xec\x5f\xae\x90\x14\x36\x7b\x2f\xfc\x8a\xe5\x07\xd4\x01\x2f\x9c\xda\xe9\x8a\xa4\x83\xd2\x68\x93\x68\xb1\xf2\xac\x94\x2d\x50\x73\xcb\x36\x9b\xf0\x19\x28\xe3\x67\x16\xe9\xbd\x73\xa5\xa1\x89\xd4\xa7\xe5\xbd\x24\x37\x05\x6a\x10\x76\x6e\x57\xa0\x77\x95\x4c\x39\xf1\xae\x8e\x16\x30\xe4\x8d\xbc\x8e\xa5\x50\x89\x52\xdf\xba\xf0\x03\x9a\xa9\x59\xe5\xed\x02\xbd\xc1\x5b\x48\xc2\x64\x2f\x05\xdb\xb1\x75\xce\x17\xfc\x0a\xbb\x72\x22\xb7\x94\x1a\x57\x15\x5f\x05\x59\xf2\x6c\x01\xb7\x39\x61\xf8\xbb\x6d\x25\x44\x3e\xe3\x0c\x1d\x76\xc9\x2f\x37\x43\x53\x32\xb3\xd5\x14\x1b\x35\xe1\xbc\xa1\x24\x91\x93\x8e\xa8\x61\xe2\xd7\x21\xf7\xa4\x83\x31\x1f\x41\x9f\x2b\x8b\x9e\x95\xd2\x27\x44\x95\x4e\x32\x44\x84\x1b\x1c\x15\x4c\x77\xcd\xd0\x9f\x48\x27\x32\x9c\x19\x1c\x15\xfd\x34\x4b\xf1\x50\xf6\x75\xdf\x99\x2e\xcf\xda\xca\xc3\x73\xfc\x3c\x25\xda\x66\x22\x33\x67\x1a\x9d\x55\xd9\xa1\x9f\x85\xf9\xb9\xb3\xee\xab\x95\x5b\x85\x0f\x01\x18\x1c\x1f\x23\x4e\x07\x5c\xc1\xff\x67\x1c\xe3\x46\xf4\xf7\x63\xb9\xc4\x38\x2d\x9c\xa9\xdf\x07\xe4\xa4\x89\xdb\x57\x6a\x1d\x11\x52\x32\xcb\x73\xd7\x34\x24\x63\x67\x2f\xad\x39\x2d\xe1\xb9\x9b\x28\x9a\xa9\x9e\x4a\xac\x96\xeb\xde\x2c\x74\x06\xcf\xc2\xc7\xd2\x84\x5a\xc5\x3f\xc9\x89\x85\xcc\x5d\x95\x35\x03\xc5\x0d\x0a\xab\x11\xe2\x25\x62\x62\xc6\xcc\xfe\x81\xdd\x46\x26\xcf\x7b\x30\x02\x26\x5d\xec\x5a\x16\xae\xb8\x88\xb9\xda\x31\x38\x11\xf7\x28\x59\x63\x98\xe3\xca\x19\xae\x8a\xb7\xb4\x7a\x63\x8d\x17\x53\xdb\xe9\xfd\x6f\xe2\x8b\x6f\xfd\x26\x1f\x4e\x32\x78\x11\xbf\xe8\x77\x90\xf7\x43\xde\xd3\x4a\x4b\x4d\x54\xe3\xdc\xa5\x21\xcb\xbc\x87\x6e\x57\x5d\xa3\x61\x18\xf9\x86\x6c\xc7\x54\x4b\x39\x4c\xaa\x4e\x64\x54\xe6\xef\x08\xf3\x1c\x33\xb7\xe7\xf1\x57\x9c\xb9\x29\x86\x7d\xb6\x19\xc3\x0f\x8c\x78\xc8\x77\x6b\x26\xb4\xa2\x4f\xc5\x7e\x1d\xdb\xcd\xbc\xd3\xe8\xd0\x66\xee\x97\x62\xe8\xdc\xa3\x5f\xd6\xd1\x0d\xc5\x96\x29\x48\x8f\x81\xaf\xf4\x86\x2a\xc7\x67\xaf\xc8\x13\x21\x51\x71\xbd\x7c\x8d\xc2\x88\xf7\x54\xdc\x42\x7c\x91\x14\x53\xa7\x18\x3b\x06\xd6\x6b\x7d\x28\x32\xd0\x17\x2f\xd4\x85\x26\x3d\x10\x0b\x45\xa4\x8c\x5d\x82\xe4\x61\x36\x2f\xb1\x88\x45\x83\x8b\x5a\x19\xd0\x76\xf3\x60\xe0\x16\x5f\xcb\xfd\x12\xfe\x26\xa3\x79\xd2\x1b\xad\x44\xb8\x29\x44\x20\x9b\x82\x78\xda\x73\x97\xd9\xab\x0d\x40\x9b\xd9\x8c\xdd\xd1\x87\x32\xfe\x32\xc5\xda\x76\x37\x07\x91\x73\xd0\xe9\xee\xca\x19\xd9\xaa\x99\x6b\x5b\xa0\xf3\x7f\x8d\x11\x5e\xae\xb2\x9c\x54\x09\xd5\x6c\xb2\x52\x71\xed\xea\xd3\xbf\x28\xdf\x4b\x5f\x0b\x38\xfa\xc1\x58\xbc\xdc\xf5\x9b\xa7\xd5\x85\x8d\xcf\x5f\x78\x7e\xa0\x35\x4a\xfd\x0f\x30\x80\x9b\x23\x6c\x60\xf0\xe6\x1d\xa0\xa2\x03\x8f\x2c\x01\xff\xb3\xd7\x68\x37\xfd\xc9\xf3\x02\xf3\x6d\xe1\xfc\x3a\x20\xf2\x78\xba\xd2\x53\xd2\x07\xf4\x27\xe9\xbf\x3e\xc1\x3c\x08\x7f\xa4\xdf\x3e\x03\xe1\xef\xb5\x24\x1f\xcf\x28\x08\x67\xa6\x92\xd8\xb9\xe0\xe7\xf0\xdc\x70\x7f\x5c\x6b\x00\x8b\xdf\x57\xae\x50\x7d\x2a\xb5\x62\x83\x9e\x5e\x07\xe1\x07\x76\x5c\xfb\x37\x1a\x42\x98\xb4\x2d\xef\xbc\x1f\xd8\x4b\xa3\x4b\xd8\x66\xcc\x29\x11\x1b\xf8\xc7\x33\xec\x07\xdb\xf4\xdf\x47\x58\xd5\xb8\x53\x0e\x1f\x21\x71\x6a\x41\xa3\x3c\x2d\x33\xe3\xb1\x52\x4b\x87\x6d\x0d\xe7\x79\x94\x73\x83\xa4\xdb\xc3\xb4\x9d\x14\x8e\xd3\xac\x5f\x04\xbf\x8b\x6b\xb8\x00\x9d\xa5\xc1\x7d\x8b\x7e\xbd\x49\x29\xef\xc6\xaf\x86\xc1\x19\xe4\xbf\x75\x83\xa8\xea\xae\x68\x34\xd0\xfb\xc6\x65\xfe\x7d\xde\x81\xbb\x8d\xf0\xcc\xbf\xcf\x35\xef\x6d\xfd\x28\x24\xa5\xd4\xd9\x0b\xa1\x26\x63\x37\x7e\x09\xbe\x10\x92\x99\xbb\xde\xcf\x80\xe9\x36\x54\xb3\xd6\x8b\x1f\xa0\xa1\x55\xa3\x7d\xa6\x51\x7b\x06\xaf\x7b\xfa\xf1\x4b\xd1\xe9\x8f\xfe\x9c\x05\x1d\x84\x17\xbd\xc5\x72\x0d\xb8\x58\x0c\xbd\x36\xb4\x64\x1e\x78\x5f\x18\x78\x1f\xa8\x24\x6e\x9e\x40\x1b\x5e\xfb\xdb\x72\xba\x47\x55\xfb\xa4\xda\xe8\x76\xde\x94\x72\xda\x24\xe3\xf9\x9c\x4d\x20\x82\xb6\xfb\xdc\xe6\xbd\xab\xee\x97\x96\xa0\x9b\x7f\x3c\xaa\xbf\xa4\x2d\xf0\xd0\x2f\xaa\x2b\xce\xf3\x99\xcb\x39\x2c\x76\xb3\xdd\xfa\xd6\x18\x93\xbe\x82\x5b\xb7\x35\xd9\x41\x98\x18\xab\xaf\xeb\xe2\x5d\x2f\xd3\xd0\x3a\xc7\x31\x51\x28\x27\xab\x9f\xce\x5c\x66\xe5\x56\xe1\x1f\x6f\x16\xcb\x70\x56\x1d\x3e\x63\x86\x84\xa3\x7f\xbb\xcd\x7b\xc6\xdd\xee\xf0\xa8\x8f\xbe\xe5\xc1\x61\x44\x70\x4f\xcd\xa1\x43\x36\xdb\xf4\x0f\xf1\x2e\x5e\x1f\xc0\xfa\xbe\x7e\x80\xdb\x3a\x52\xac\xc1\x9f\xf0\xdf\xbb\x98\x81\x87\x77\xad\x58\xe7\x54\x6e\x0d\xdd\xd3\x97\xbc\x09\x45\xa8\xcf\xc2\xf6\x7a\x36\xe8\x2e\x23\x96\x83\xc2\x40\x0c\x24\xc4\x62\x55\x70\xa9\xbd\x60\x67\xe0\xe7\x4b\xf0\xb1\x9e\xb8\x6b\x5b\x4e\x17\x66\x01\x61\x01\x82\x16\x57\x09\xa6\x71\x31\x60\x80\x4b\x58\x52\x15\xee\x70\x3a\x28\xa2\x88\x3c\x96\x4c\x58\xa3\x4f\x25\xc4\x24\x9c\x31\x25\xe1\xac\xc3\x3c\xbf\x4f\x33\x8a\x97\x2c\xd3\x79\xac\x2d\x2d\x7a\xcf\xe0\x7f\xab\x70\x89\x25\x9d\x94\x52\x53\xf9\x6e\x13\x4c\xca\x20\xf3\xd4\x4c\x4c\x1d\xdb\x51\x82\x45\xa8\x96\x28\x0e\xb3\xf2\xb1\x9c\xdd\x33\x10\xd6\xc6\xd0\x3b\x61\x35\x33\x30\x89\xc6\x0e\xdb\x6c\xbe\x41\x8a\x0c\x5e\x6c\x86\xc0\x41\xd9\xb1\x38\xac\xe2\xa7\xbe\xc3\x5e\x75\xc8\x4e\xee\x48\xcb\x55\x93\x83\xaa\xa7\x35\x3d\xa2\x74\xc0\x81\x36\x17\xc1\xd3\x2a\x51\xb5\x2a\xba\xda\xe6\xa8\x19\xea\x90\x9a\x6e\x6b\xcf\x90\x36\x52\x44\xde\x33\x8a\xbf\x0c\x1a\xec\xbc\xa3\x9d\x67\x18\x46\xe4\xfc\x07\x41\xa4\xf5\xeb\xf7\xfa\x50\x17\x4a\xdb\xce\xe1\xae\xf7\xcf\x2f\x8e\xde\x9e\x7a\xb2\x0e\xf9\xe7\xee\xc6\x88\x7a\x1c\xfc\xf9\xe2\xed\x69\x90\x4e\xff\x86\x4c\xbd\x02\x5b\xeb\x18\x70\x63\x41\x5c\xbd\xb1\x94\xfd\xac\x3e\xd6\x61\x06\x92\x61\x15\xca\xa8\xfa\x02\x85\x3c\x2a\x4e\xc6\x4b\x8c\x86\xa7\x54\x55\x1e\xd2\xeb\xdd\x09\x0e\x08\x5d\x1f\x91\x2c\x29\xa3\x81\xab\x5f\xa2\x99\xa7\xdf\x3c\x42\xef\xe1\x0d\x79\xb4\xf9\x57\x4e\x2b\x8d\x7c\x18\xfd\x2a\xc2\xeb\xa7\x7f\x2f\x11\x86\x32\xa7\x09\x8f\xdf\xc2\x84\xb1\x9c\x8b\x20\x28\x19\xa7\x6b\x1d\x3d\xc2\x44\x39\xe3\xad\x9e\x14\x6c\x85\x4a\x38\x6e\x6a\xa9\xad\x10\xe9\x69\x9e\x51\xd1\x57\x2a\x45\xf4\xec\x97\xe4\xa4\x2d\x45\xd3\xd8\x0c\x34\x42\xc0\x3b\xc6\xe2\x8a\x5a\x45\x0f\xb4\x57\xc6\x0f\x04\x43\x0a\xd5\x7c\x6c\xca\xa3\xee\xdc\x05\x22\x1d\x0a\xa6\xdc\xdf\x22\x38\x9b\x96\x88\x97\x51\x67\x1f\xd0\xf6\xd1\x53\x6f\x85\x38\xf9\xcf\xde\x02\xff\x49\x6f\xbe\xe4\xc4\x45\xa2\x80\x7b\x01\xa6\xf1\xd8\x5c\xda\xc6\x04\xcf\xf1\xc2\xf0\x5f\x4f\xb1\xa4\x7b\x1e\x62\x8e\x93\xb2\xc2\xc4\x5e\x77\x6b\x49\xe1\x3a\x3b\x9b\x85\xd9\xad\x1c\x7c\xd2\x1b\x25\x64\x6b\xd2\x09\xd6\xd0\xa9\x7e\xdc\x98\x67\x12\xfd\xbc\xb9\x66\x7c\xb8\x33\x31\x4e\x94\x8e\x7e\x80\x2e\xd0\x10\x71\x51\xd2\xd4\xfe\x72\xaf\xd9\x48\xbf\x76\x37\x45\x3b\x0f\x4b\x01\x46\xa6\x94\x95\xeb\x37\x25\x50\x93\x33\xc2\xaf\x29\xcb\x53\xcf\xc2\x2a\xfb\x7f\x84\x77\x23\x5c\xce\x88\x6c\x3a\x07\x4d\x94\x50\x5a\x38\x05\x7e\x55\xa5\xdc\x09\xda\x8d\x76\x4e\xfe\x38\x39\x3f\x3d\x3a\x3d\x64\x84\x44\x36\x3a\x50\x07\x90\x49\x6a\x8d\x3b\xac\x11\xb4\xd1\x49\xfe\xd0\xd7\x5c\x89\x93\x07\x8b\x78\xbe\x58\x3e\x60\x2d\xf9\x0d\xb4\x09\xe7\xd1\x8c\xba\xfa\x4b\xad\x03\xcc\xb1\x81\xed\x84\x05\xb6\x26\x9b\x16\x8f\x8e\x9c\x96\x42\x7e\x44\x24\xfc\x8c\x75\x09\x0f\x9f\x2f\x60\x5e\xd0\x7f\x5e\xe8\x25\x60\x28\xfe\x95\x11\xff\x5a\xf2\xda\x26\x44\x0a\x4f\xe6\x6e\x1e\xfc\x20\xf6\x66\x4e\x97\x47\x09\x9c\x32\x6a\x90\x4c\x82\x79\x16\x19\x3e\x7f\xc6\xc9\xb5\x18\x7e\xda\xa1\x3e\xb1\x32\xd8\x74\x11\xdc\x7d\xfa\x17\xa5\xe1\x72\xf6\x1f\x31\x31\x52\x16\x71\x31\x25\xb5\x14\xb3\x99\x1d\x33\x34\x17\x5c\x7e\x71\x02\x6b\x0b\x6b\x04\xfa\x01\xd6\xa3\x27\x33\xd6\xbc\x8f\x80\x4a\x1f\x53\x8b\x7e\x00\x2d\xe1\xeb\xcf\x19\xbb\x9b\x53\x05\x6b\x1e\x21\xc9\x7a\xaf\xc3\x65\xb4\x79\x59\xd0\x82\x85\xed\x08\x53\xcd\x1c\x10\xcd\xd4\x12\xda\x73\x37\xb4\x05\x38\x82\x17\xfc\xe1\xdb\x6f\xf1\xf7\x3f\x7e\xf7\xed\xc8\x80\x52\xb4\xfb\xc5\x60\x3a\x86\xe3\x0c\x5f\xe6\x88\x32\xaa\x98\xf0\x61\xbd\x40\xa4\x71\x7a\xb9\x39\xae\xcd\xee\x32\x2d\x67\x70\x36\xc0\x52\x65\x0f\x2f\x72\x50\x10\x45\x38\x0d\x73\x38\x2f\x26\xb0\x48\x77\x49\x7a\xbf\x8c\x66\x73\x0b\x26\xd4\x1a\xcb\x54\xa1\x70\x8d\xf4\x8c\x03\x79\xb5\x4e\x5d\x00\x74\xbb\x4c\x9c\xf9\x90\xcb\xc7\x67\xc9\x64\xd4\xfa\x5b\xb3\xb3\x02\x2a\xbe\xe7\x92\xd7\x0a\x8c\x82\xf7\x4c\xf8\x91\xb9\xe4\xe7\xa0\xd8\x18\x0f\x93\xcb\xc4\x51\x7f\x57\xe5\x28\x0d\xef\x15\x5c\x72\xa4\xaa\x80\xa2\xd1\x41\x23\xd2\xc4\xaa\x72\x15\x2d\x32\x17\x3b\x94\xce\xd0\x59\xf5\x33\x1c\x62\xf4\x62\xf0\x4f\xf0\x6a\x02\xe9\x11\xe1\x2d\x0f\x30\xa5\x3d\x63\x09\x49\x2a\xe2\x97\x70\xc0\xd5\x1a\xf2\x58\x02\x51\xe1\xd8\xc6\x2d\x8c\x17\xb1\x90\x8e\x2b\x3c\xdf\x92\xfc\xd3\x6f\x60\xe0\x9b\x83\xa8\xb6\xd6\xe4\x19\x49\xa6\x61\x72\x27\x40\x98\xcb\x90\xa8\x7e\x61\x9b\x72\x79\x8e\x29\x50\xfc\x31\xa6\xbf\xb7\x2b\xca\x5c\x84\xf8\xa8\x72\x4a\xc6\x26\xdf\x94\x28\x4c\x5a\x54\xcd\x3c\xbd\x32\xaf\x4b\x63\xab\xc2\xbf\xe4\xd7\x65\x09\x8a\xbb\xbf\x2e\xfe\x6c\x30\xeb\xa3\x55\x80\xc7\x25\x9f\xcf\xfc\xe1\x6c\xf7\xbd\x54\x32\xba\x1f\x8c\xf9\x8a\x90\xbb\x24\x08\x8b\x22\x5a\xad\x0b\x3b\xc0\x2a\x9c\x45\x06\x36\x33\xbc\xe9\x5a\xc7\xef\x6d\xbe\x58\xe1\x82\x42\xa0\xa6\xc1\x3a\xe8\x19\x98\x4d\x59\xfa\x60\xd0\xec\x1b\xef\xc0\x29\x03\x97\xb5\x69\xc9\x0a\x2b\x71\x8b\xc6\x53\xe7\x28\xc4\x8a\x0d\x47\x8d\xc9\xb4\x44\xf2\x03\xb9\xc1\xf0\xe2\x1b\xd0\xdf\x31\x7a\xee\xc7\xec\xad\x4f\x5b\x3f\x8a\x34\x34\xcf\xd5\xda\x42\x27\xdc\xc0\x7b\x4b\x4a\x15\xc9\xe5\xc9\xb4\x49\x8b\x5e\x6c\x5b\x75\xd2\xa3\x28\x08\x51\xa1\x59\xfa\xd9\xd4\x15\xc9\x93\x29\x8b\xa9\xa9\xe6\x6b\xa9\x0b\x3b\xe1\x6e\x3d\x51\xc9\xe6\xe8\x89\x4a\x79\xf4\xa9\x89\x60\x3f\xe7\x67\xa8\x18\xec\x9a\x59\xcd\xd9\x46\xb7\xcb\x51\x0d\x66\x16\xf5\xb1\xc4\x82\x9c\x02\xf3\xff\xd1\x21\xfe\x7d\x2b\x05\xd1\xc0\x3c\xb2\xb5\x11\xa4\x0b\x34\xff\x2b\x94\x8b\xbc\xd1\xa1\x0b\x3e\x60\x57\xb3\x3d\x45\xf8\xea\x90\xac\xab\x85\x04\x53\x1f\x6c\xe5\x66\xd5\xda\xa4\xa7\x0c\x6e\x09\x79\xe4\xdb\xe9\xb3\xf6\x87\x20\x7b\xbd\x62\xe6\xb0\x20\xf6\x64\x5e\x26\xf1\x9c\xb3\xd4\x1f\xcb\xea\xc5\x6c\xa8\x79\xe3\x9c\xee\x56\x59\x12\x12\xf2\x7e\xed\x35\x7d\xdf\x50\x01\x0e\x2a\xf6\x34\x32\x6a\x06\x2b\xbd\x09\x58\x86\xf3\x1a\x24\x39\xb3\xa5\xc5\xdc\x96\xe8\xaa\xcd\xb0\x7a\x95\x80\xc7\xb2\x78\x15\xc2\x96\x40\xbd\x72\x83\x65\x67\x15\xd8\x98\x2b\x24\x01\x23\xac\x97\x04\x9d\xd1\xd2\x4c\x54\x37\x1b\xa3\x36\x58\x51\x1d\x3a\x2a\x84\x8f\xdf\xd9\x8d\x2b\xbb\x06\xab\xaf\xc4\xa8\xf2\x36\xfc\x03\x3d\x89\x34\x6e\x11\x26\xa3\x77\x6b\x65\xd2\xe2\x30\x06\xe2\xa6\x91\x74\xd0\x8c\xfe\x7b\x27\x08\x7e\x8c\x2a\x5a\x29\xc4\x88\x31\x0a\x55\x1e\xb7\xa9\x5a\x04\xd7\x59\x72\xc2\xd8\x2c\xbd\x4f\xcc\x43\x95\x8a\x43\x46\x74\xa2\x0e\x9c\xcd\x88\x84\x09\x5e\x52\x43\x84\x69\x44\x9c\x70\xcc\xc5\xb3\x13\xbc\x45\x0b\xcd\x77\xce\xad\xe2\x39\x5a\xd7\xb3\x91\x19\x2c\xb7\x98\xee\x20\x2c\xcf\x06\xc1\x10\xbc\x07\x56\xaf\x96\xdd\x63\xcc\x37\xe7\x05\x0a\xd0\x18\xef\xb5\xda\x4f\x49\x73\xd3\x35\x3e\x76\x81\x90\x61\x45\x5a\x7d\xf6\x0c\x3c\x53\xe5\xd3\x48\x46\x6e\x53\x2b\x51\x6b\x5b\x1a\xc7\xf4\xed\x68\x19\x91\xe2\x25\xa6\x14\x54\x9c\x15\xd2\xc0\x2d\x1a\x0a\x2e\x6e\x5d\x6d\x0e\x78\xe1\xdf\xcf\x98\x10\x42\x40\x1e\x1a\x9a\x64\x14\xdc\xa7\x53\x3e\x63\x82\xeb\xe6\x16\x24\xe4\x23\x4c\xf5\x60\x84\x13\x99\xa0\xdd\x7f\x34\x2b\xd4\x86\x15\x23\xd5\x35\x6f\x46\xc2\x5e\xe3\x15\xe4\x82\xc9\xc8\xa9\x5b\x6b\x47\x68\xc5\xb5\x79\xfd\xdd\xf8\x6c\x89\x09\x70\x54\x34\x04\x7d\xc9\x3f\xeb\x23\xe2\x86\x8d\xb3\x8a\xb0\x8c\x14\x2e\x35\xb5\x5b\x95\x43\x2c\x02\x13\x6c\x34\x15\x3d\x54\x29\x64\xc9\x06\x24\x0d\xc5\x6a\x14\x01\xe5\xd9\x81\x83\x07\x5a\x15\xbb\x31\x22\x1a\xda\x25\xeb\xa5\xb9\x48\xa7\xe1\x72\xd6\x61\x23\xcb\xbe\xe5\xf5\xa1\x83\x6f\xc4\x77\x41\xc6\x60\x43\x41\x8c\x85\x4a\xbb\xc2\xcc\x53\x3f\x78\x7a\x2e\x81\x61\x86\xf6\xcb\x2b\x14\x96\x01\xc7\xb1\x92\xbd\x0e\x6c\xc7\x30\x9c\x98\x72\xe4\x3c\x92\xd7\x9e\xc9\x85\x0a\xc0\x32\xcc\xa9\xee\x05\x1c\x10\x89\xce\x82\x2b\x83\x40\x5e\xcf\xff\x94\xab\x01\x48\x3f\x8b\x6e\xee\x8a\x57\x74\x6c\xf2\x77\x21\xcf\x53\x92\xea\xc5\xd8\x6d\x14\xd1\x3b\x4d\x09\x7e\x5d\x75\x3f\x98\x99\x0a\xda\x23\x26\x9f\x32\xe7\xb7\xf8\xa7\x60\xaf\x7f\x40\xc2\xc0\xfc\xc3\xf4\xe1\x83\x49\xea\xd0\xb2\x9d\xec\x34\xde\x95\x54\x6a\x4e\xdb\x4e\x38\xc4\xc7\x07\xbe\xfe\xfc\xc2\x71\xc6\x78\xc1\x40\xc5\xe4\xcd\xe9\x13\x40\x92\xc3\xf1\x4b\x6c\xe1\x1b\xc3\xa2\x6d\x81\x70\xac\x88\x08\x7b\x3c\xbd\x87\x5d\x26\x46\xee\x31\x7c\xa2\x9a\x6c\xfc\xe8\xd8\x75\x81\xf8\x3b\x3d\x4b\xe1\x1d\x93\x13\xc3\xdf\xa5\xfb\x60\x77\x87\x19\x7c\x7b\xc8\xd2\x06\xf7\x84\x74\x46\x6c\x16\x07\x47\xc7\xfb\x74\x40\x08\x95\x55\x5e\xcc\xe0\x0a\xa0\x8c\x73\x73\x75\x7e\x3c\x7e\x13\x96\x6b\xb8\x71\xc4\x78\x04\x05\x7b\x93\xcb\xfd\xa3\x00\xf3\x2b\xa2\x78\x2a\xc6\x1f\x2b\xd9\xb8\x5e\x29\x81\xf6\x34\x58\x97\x3e\xb9\x0c\xc9\xcf\x47\x74\x8d\xd2\x59\x2a\x44\xeb\xb7\xb1\x96\xbb\x6c\x7a\xbf\x27\xa0\x48\x19\xb2\xe6\xca\xad\x64\xeb\x1e\xfa\x1d\xd2\x62\x82\x52\xc5\x02\x52\x1b\x59\x14\x27\xfc\x80\x84\xde\x77\x47\x67\xe3\x09\x35\xb7\x34\x81\x6c\xc2\xda\x0c\x81\xee\x61\x7f\x3a\xb9\x3a\xbe\x3c\x3a\x9b\x9c\x5f\x7e\x73\xf0\xf6\xfc\x64\x0c\xeb\x38\x09\x76\xdf\x9e\x5e\xee\x9f\x5e\x06\x6f\x8e\xf6\xf6\xf6\x4f\x7f\x56\x86\xfc\xe9\xe8\xf4\xcd\xe4\xf8\x32\x38\xd9\x7f\x73\x0e\x8b\x7f\x7c\x74\xb8\x7f\x1e\x60\x27\x57\xc7\x93\x73\x7c\x1f\xa7\xc1\xe4\xea\xe2\x70\xff\xf5\xf1\xfe\xe9\xde\xfe\xe5\xcf\x8a\x00\x67\xe7\x47\xd7\xf0\x70\x40\x23\xf7\x8c\xe8\x3c\x3b\xb0\xf7\xf9\x12\x75\xb8\x01\xb9\xfc\xd9\x5e\xfe\x7e\x32\xa5\x12\xf9\xce\xce\xce\xcf\xc1\x4f\xe6\xef\xe6\x41\x4d\x02\xee\xaf\x02\xb5\xfc\xd9\x60\x0a\xfe\x34\x91\x0e\x23\xee\x50\xbe\xaa\xd4\x3c\xd7\x2d\x1f\x6b\x39\x35\xed\x9f\x94\x96\xd6\xb2\x48\xb5\x5c\xe5\x09\xe8\xda\x52\xc1\xbf\x0a\xd5\x8f\x17\x79\xd8\xd5\x36\xf0\x41\x6b\x6e\xf3\xc7\x12\x0e\x37\xac\x97\xd7\x1a\x0f\xa0\xa0\xb4\xf8\xb4\x79\xd1\xc7\x35\xe9\x25\xdd\x53\x9b\x80\x45\x1a\xe6\x0b\xbd\xde\xd6\xe2\x82\x33\xbc\x05\x81\x16\xea\x9d\x59\xdf\x23\xe1\x47\x69\xe1\x26\xc4\x78\xba\xb7\x11\x11\xcc\x1a\x12\x5b\xa3\xbf\x63\x6d\x9d\xd4\x96\x5a\x03\x2c\xf6\x54\x1a\x61\x7e\xa3\x81\x23\xbd\x85\x33\xc9\x53\x8c\x4c\x70\x2a\x15\x04\x8a\x03\x32\x0a\x7b\x7c\x4e\x6e\xb8\x50\x85\x6c\xaa\xa8\x35\xd4\xc2\x0f\x8b\x5c\xa4\x4a\xcb\x57\x90\x57\x55\x52\xa2\x96\x7b\xd0\x7a\xae\xbb\x3b\xa3\x15\xd5\x0c\x88\xea\x81\xee\x0e\x30\x1b\x89\x2e\x49\x98\xf5\xa4\x2e\xdd\x1b\x5c\x26\x06\x2a\x0a\x39\xd9\x1d\xda\x75\xf7\x78\xb3\x2e\x35\x4c\x93\xb3\x2b\xa5\x89\x77\x4f\x63\xe0\x02\xe3\x8a\xd9\xa3\x92\x01\x42\xcd\x75\x5a\xfb\xc9\x34\x07\x3b\x49\xd9\xac\x33\x78\xe9\x59\xbc\xf6\x24\x4f\xbd\x8e\xe4\xc4\x83\x7d\xa2\xf5\x41\x9c\xf9\x6a\x35\x19\xff\xda\xdd\x34\xce\xfd\x4a\xc9\x60\x0c\x79\x55\x13\xf4\xa2\x9d\xa7\x70\xd9\x28\xb4\x37\x85\xcd\xb4\x7d\xc3\xed\x94\x4d\x33\x2c\x63\x68\x78\x62\x10\x57\x32\x69\xeb\xc7\xb5\x46\xbe\x96\xad\x3a\x24\xe2\x90\x15\x54\x5a\x7e\x64\xc4\x9c\x63\x70\xc9\xba\x4f\xec\x1f\xd5\x02\x40\xa5\xbc\xc9\xde\xb6\x5b\xb0\xaf\x1c\x5d\x60\x38\x6b\x0a\x4b\x5a\xb4\x55\x4b\xa0\xf9\x3e\xa9\xa7\xb7\xfd\xf5\xe6\xd6\xba\xa5\x48\xd2\x31\x0b\xf5\x57\xba\xe9\x75\x8c\x20\x1d\x52\x5e\x9e\x81\x6c\xf5\x2e\x68\xe7\xb2\xd4\x57\x40\x96\xa5\xbe\x56\x5b\x2f\x8b\xcc\xbc\x5a\x0a\x7d\x16\x3b\x43\xd6\xc5\x5d\x90\xfa\xaa\x0e\x5f\x04\x95\x35\xd7\xf4\xa4\xee\xf1\x7b\x6d\x47\xc6\x09\x01\xa4\x74\xb7\x13\x14\x67\x4d\x97\x19\x70\x65\xad\x31\xd1\x12\x51\xea\x23\xdc\x93\xd6\xf0\xe0\x83\xc9\xad\xcc\x17\x2e\xe2\x3b\x32\x7a\x6a\x10\x74\x2d\x7e\xb5\xce\xee\x52\xca\x15\x94\x04\x86\x92\xa2\x38\x5a\xf6\x02\xf9\xca\xb4\x04\x48\x50\x8d\xf3\x24\x56\xf4\x1b\x9f\xc7\x01\xe8\x5f\x66\xfd\x85\xab\x2b\xdc\x05\x72\x24\xca\x8f\x6e\x16\x29\xf9\x24\x6d\x30\x1d\x06\xc9\x1e\x9c\x72\xe3\xbd\x4a\x37\xeb\xd5\x14\x53\xd8\x02\x94\xa2\x4a\x9e\x99\x1f\xb8\xf3\x84\x3b\x47\x73\xc5\xc4\xb8\xd1\x9d\x87\xc1\xf3\xfa\x49\xff\x2a\xd0\x86\xeb\x9e\x0e\xde\x58\xf5\x0c\x0e\xca\x99\xd1\xb3\x37\x6e\xb3\x88\x7c\x93\xeb\x30\xd6\xf6\xc7\x5d\x8a\x0e\x72\x78\x30\x66\x6f\xd0\x34\x42\xb8\x4a\x65\xb7\xb4\xab\x9d\xe0\x03\x57\x3a\xee\x7a\xb6\x50\x60\x9e\x3b\xfb\x35\xe6\x6f\x1e\x69\x3b\xa1\x7b\x08\x4b\x59\x61\x79\xfc\x36\x18\x94\xa8\xd2\x99\xb1\x56\x19\x94\x50\xd1\xbb\x47\x26\x96\x16\x22\xad\xa1\x74\x1e\xde\xe9\x95\x18\xaf\xb4\xd9\xc3\x2b\x50\x53\xba\x73\x45\x7a\x6b\x48\xaf\x7c\xb8\xbe\x83\xda\x6e\x62\x8b\x8b\x1d\xee\x47\x0a\x36\xfd\x93\x31\x69\x80\x38\x88\x28\x08\xb3\xd0\xe1\xad\xe6\x92\xfb\xbf\xff\x4b\x5c\xd4\x3e\x82\x11\x1e\xf0\xc5\x87\xbc\xa2\xca\xc5\x47\x98\x39\x57\xfd\x22\x45\xa6\xee\xd1\xae\xb2\x1c\x99\x2a\xb6\x1a\xce\x3b\x39\xcd\xfa\x3a\xf2\xa3\xbb\xda\xe6\xda\x29\x61\xdb\x2b\xc7\x44\x9c\x7c\xa4\x94\xc3\x38\x81\xf5\x8f\x0b\x66\xf8\x87\xa3\xd7\xe4\x04\x6b\x3a\x3a\x99\x4b\x12\x5f\xc6\x1c\x21\x49\xb8\x58\x45\x6b\x64\xe0\x8f\xab\x94\x60\xff\x90\x1f\x6d\xc6\x9b\x39\x36\x76\x0f\x3e\x5c\x5c\x4e\x0e\x8f\x4e\x0f\x3f\x08\xfd\xad\xd1\x6e\xea\xdb\x72\x05\xa9\xb2\xde\xda\x47\x88\xb7\xeb\xad\xc4\x3c\xbf\xbc\x3a\x7b\x26\x31\x95\xae\x3b\xc5\x5c\xc2\xa1\xa0\x9d\xa4\xaf\x23\xa6\xa0\x52\x2d\xff\x65\x88\xe9\x2b\x26\x92\xa1\xf4\x72\x4c\x8e\xcf\x2a\xe0\xe1\xe9\xaa\x5c\xf3\x2d\x4c\xdb\x8d\xdc\x55\x1e\xd8\xda\x12\x65\x57\x0a\x1c\xb4\xd2\x8b\x81\x6d\x56\xda\xa6\xc8\x91\xa5\x34\x9d\x47\x84\x47\xa1\x34\xf5\x2a\xbf\x0b\xaf\x92\xe2\xa6\xda\xbc\x4d\x5b\x65\xba\x9e\x23\xf9\x54\x3d\x8d\x13\x44\x5a\x08\xf3\xf8\xc6\x46\xea\xb4\x33\x99\x4c\xd9\xd7\xf0\x68\x6e\x9f\xd4\x7a\xd4\xc4\x40\x56\x58\x55\x0e\xf2\xd0\xc2\x97\x62\x52\x82\xc5\x99\x01\x76\x93\xe7\x2c\xe2\x50\x1a\x46\xa0\x92\x79\xc4\x8e\x8c\x42\x08\x8f\x4c\x54\x8e\xbf\x98\xee\x51\x75\xf8\x0a\xb7\x7a\x4d\x6d\xab\xad\x55\x9d\x1e\x43\x69\x8e\xf7\x0f\xa5\xbd\x87\xc0\x10\xad\x26\x8e\xa3\x6e\x74\xba\x52\x33\x1b\x8b\x45\x77\x4a\x9a\xe0\xbb\xbc\x31\x81\xad\x09\xdf\xbf\x3d\x1c\x35\x64\x82\x39\x3c\xd8\xde\x4e\x14\x21\x8a\x85\x76\xd1\x06\x9d\xaf\x34\x82\xb9\xea\xb7\x73\x6d\x95\x3c\x0b\xc4\xc1\x3b\xa5\x1d\x98\xc8\x5a\xb3\x54\xfb\xde\x89\xf9\x40\x57\x7c\x67\xe6\xe7\xee\xc6\x9c\x62\xaf\xf9\x7e\xcf\xcc\xcf\x9d\x8d\xa9\xbe\x55\xd3\x16\x9d\x35\xe0\x8a\xea\xc0\xdc\x65\x21\x76\xd0\x96\xad\xf6\x88\xd2\x89\xf9\x60\xd1\x76\xd1\x74\x80\xfb\xa1\x12\xc4\x15\x98\x35\x83\xfa\xd3\xe6\x59\xef\xf0\x1d\xb2\x7a\x24\x33\x75\x9e\x84\x32\x3d\xc3\xe4\xb6\x2c\x9e\x12\xcc\x31\xfa\x7f\x3e\xd0\x4a\xbe\x30\x10\xf4\xea\x25\xaf\x22\x15\x82\x0f\x60\x22\x7d\xd4\xbb\x20\x24\xfa\xe1\xa3\x5b\xd3\x6b\xeb\xc1\x9d\x1e\x36\x1c\x9b\x4f\x9b\xad\x07\x36\xcd\x37\x1c\x95\xaa\xa9\xb6\x1e\x54\x5a\xfb\xc6\xa4\xe2\x2e\xca\xc5\xdf\x48\x45\x7a\x79\x19\x7c\x44\x0c\x92\x8e\xe8\xf3\x75\x74\x37\xdc\x0e\x80\x47\xeb\x8b\x54\xb0\xd6\x89\xfc\xea\x6b\xfa\xb9\x20\x3d\xfe\xce\x37\x42\xcb\x19\xd6\x95\xf6\xae\x9a\xc9\x1d\xfe\xde\xee\x22\xd5\x54\x6b\x66\x25\xfb\x3b\xf2\x1c\x54\xd2\xd3\x5a\x3d\xaf\xea\x19\x79\xfe\x5e\x24\x29\xc6\xdb\x51\xcf\xd2\x28\x0a\x97\xdd\x9f\x9a\xa5\x85\x1e\x2e\x66\xe8\x55\x5a\xc7\xfa\xeb\xcd\x61\xfb\x2a\xad\x7c\x00\xd4\x5c\xe4\xe2\x69\xc8\x08\x0f\xea\xb5\xd5\x0b\xd9\xa0\x5e\x1b\xa8\xe7\xbe\x3e\xb5\xa0\x40\x9e\x2f\x2c\x17\x98\xe3\x2f\xc2\x08\x87\xc7\x21\x7a\x71\xf1\x66\x7c\x55\x55\x8e\x95\x94\x6d\x5e\xc5\x50\xc5\xd5\xaa\x7b\x4c\x7b\x46\xc5\xdb\x34\xaf\xd7\x16\xe3\x33\xc7\xa8\x29\x38\x72\x44\x51\x3c\x47\x8a\x2c\x7e\x8f\x70\x8f\x00\xdb\x4d\x5f\x86\x7c\xc2\xd9\x6f\x38\x77\xbb\xfe\xb7\x6a\x70\x5f\x19\xdb\x5d\x66\xbc\xe3\x6c\x36\xdc\x96\x13\x76\x07\x75\x26\x3d\x68\x6c\xb3\xd6\x1b\xcf\x74\x8b\x79\x7e\xe6\x7b\xdd\xfe\x7d\xe2\x25\xd5\x7d\xa7\x1b\x0e\x6c\x32\x98\xea\x53\x1e\x3e\xb4\xb3\xc6\x5b\x8d\x3c\x6c\xdc\xc2\x13\x47\xbf\x28\xf4\x18\x3a\xb1\xe9\xe9\x76\xd0\x05\xfe\xac\x9e\x1d\x9e\x0b\x83\x58\xf4\x7a\xc3\x52\x3d\xed\x3c\x97\x0b\xb0\x59\x10\x08\x5c\x77\xf0\xe0\xef\x9a\xba\xe1\xb6\x41\x48\xd5\x28\x48\x51\xc6\x24\xf0\x3d\x9d\x05\x09\xa6\xf7\x7f\x17\x5c\xad\x90\xe6\x48\xf5\xa6\x21\xf0\x86\xb6\x14\xea\x31\x5a\x10\x19\xd8\x16\x6e\x77\xb7\xe1\x26\x3e\xf7\x21\xe4\x7c\x18\x83\x50\x7a\xbb\x7c\x50\x92\x7b\xca\x04\x2b\x9d\x12\x43\xfa\x53\x68\xb3\x41\xda\x35\x84\x44\x2f\x22\xa1\xf4\x29\x3e\xfd\xa6\xac\x8d\xe5\x85\xf3\x74\xe5\x73\x05\x96\x99\x1a\x63\xd4\x98\xc2\xa0\x89\x87\x1a\x4b\xd9\x92\xd8\x48\xfb\xf0\xb0\x95\xf2\xdd\x95\x79\x38\x57\x2f\xc7\x12\x54\xd6\x6f\xfe\x98\x23\xab\x5a\x3a\x0c\xfc\xa1\x37\xb4\xf8\x8c\x4a\x0f\x1f\x37\x45\x31\xf9\xb8\x7d\x25\xf6\x83\x6a\xf4\xfe\x39\xec\x6e\xf1\x0f\x66\xa7\x92\x6c\xea\x5f\x7f\x0d\x5e\x62\x76\xb5\x88\x40\x81\x97\x8a\x05\xe7\xa2\xc0\x12\xc0\x5f\x7f\xd5\xa8\x05\x3b\xfb\x32\x8c\x3a\x6a\x5f\xaa\x58\xeb\xb5\x89\x19\x1d\xe3\xd6\x45\x68\xac\xa1\x79\x6a\xdd\xcd\xc7\xc1\xa6\xf9\x6b\x08\x8f\x74\x60\x70\xb9\xd6\xb1\x3e\x9a\x79\x0a\x93\xc3\xfb\xbb\xf2\xa1\x08\xd5\x3a\x33\xa8\x41\xfd\x5d\xde\x63\x75\x72\x19\x63\xa6\x3f\x96\xdf\x1c\xa6\xb5\x77\x78\x98\x5a\x22\x23\x5f\x72\x98\x81\xa7\xb2\xbd\x22\x83\xf4\x72\x5e\x30\x3c\xf1\x61\x5a\x7b\x97\x6e\x9f\xaa\x78\x08\x68\xf5\xf6\xd6\xdc\xb8\x08\x16\x98\x6b\x63\xb4\xc4\x92\xce\x46\x9c\x99\x6f\xca\x13\x94\x1c\x0f\x6c\xc9\xc9\x63\x06\x46\xcb\x9f\x4b\xd6\x7e\x9e\x2c\xb1\x2a\xc3\x4c\x1f\x67\x2f\xce\xef\xae\x50\xe3\x40\xa3\xf4\x36\x90\xbf\x08\xf4\x9d\x3e\x9c\xdb\x4c\x56\xda\x6d\xa7\x8e\x06\x47\x81\x11\xd1\x93\x8a\xd2\x78\x12\x26\xf3\x0d\xb2\x5b\x04\xde\x14\x95\xce\x84\x07\xca\xc6\x79\x15\x58\xa0\xb1\x03\xf3\x2a\x1c\xc8\x31\x03\xef\xe5\xd4\xfc\xe6\xcc\xab\x8f\x55\x65\x2e\xc0\x97\xe7\x4d\x2b\x43\x9f\xb5\x28\x77\x15\x29\x28\x1b\xc8\xad\xe2\xcc\x2d\x3a\x44\x03\x47\x5b\x30\x0b\xda\xc0\x11\x02\x0d\xa6\xbf\x6b\x8a\x17\xbe\x4f\xde\x17\xf4\x7f\xbc\x32\x36\x93\x92\xab\x4f\x4c\x99\x4a\x70\x8f\xa5\x8f\x18\xb6\x79\x8f\x2d\xcf\xca\x7c\x61\x65\x7d\xff\x7f\xc9\x68\x27\xbe\x33\x53\xef\x85\x5f\x6a\xcc\x0d\xd8\x76\x42\xf3\x83\xca\xb3\x25\x49\x3e\xb7\x64\xd0\x82\x80\x8c\x2c\x7e\x94\x2e\x65\xde\x8d\x95\xa4\xfe\x6a\x10\x63\xa6\x0b\x95\xc6\xe6\x88\xe6\xb5\x5e\xba\xa1\xe4\x60\x5e\xeb\x62\x21\x14\x75\x16\x0c\xce\xff\x3a\x1b\x4b\x55\x5f\x2b\xa9\xa6\x89\x32\xb2\x59\x46\x42\xb8\x62\xa9\xf5\x95\x55\xc3\x47\x56\xb8\x21\x38\x00\x8b\x57\x5b\x97\xae\x8f\x4b\xb9\xc2\x9c\x02\x60\xff\x8d\x05\x26\x44\x75\x28\x84\xd6\xb6\x72\x80\xe6\xdb\xde\x55\x1d\xeb\x27\x29\x66\x16\xcc\x06\x7b\xaa\x01\xda\x24\xb5\xf7\x5f\x6d\xa1\xee\x11\x1a\x1d\x73\x82\xe8\x92\x39\xf8\x37\x47\xd9\x73\x56\x99\xb7\x62\xf9\x59\x68\x80\x8d\xee\xba\x3f\xbc\xa7\xc1\x07\x44\x88\x43\xae\x52\x42\xa5\x99\x2c\x1f\x82\xfb\x34\x83\x05\x2c\x89\xe9\x7c\xf7\x20\x70\xec\x0e\xd4\x8c\x27\xe1\x2f\xf1\xaa\x5c\xd9\x33\x66\x87\xe1\x56\x04\x42\x30\xce\xeb\xe6\x04\xfc\xae\x4f\xb1\x1a\xf7\x16\x6b\xb6\xe0\x07\xba\xff\x25\xd0\xdd\x14\x3a\xda\x3d\xa8\x31\xff\x75\x8e\x8d\x10\x29\x08\x2a\x48\x67\x44\x6b\xe4\xfe\x09\x4b\x0c\x20\xef\x98\xe8\xb9\x84\x07\x6c\x7f\xff\xb5\xed\x54\x29\x01\xaa\x36\x2c\x4a\xdb\x9e\x5e\x7b\x44\x3a\xe8\x4d\xa8\x61\xeb\xd9\x2e\xb9\x92\xd7\x22\x62\x72\x51\x98\xe7\xbd\x34\x1a\x50\xa6\x16\x56\x98\x48\x46\x9e\x3e\x94\xb1\xec\x98\x3a\xdd\xd8\x77\x9b\x64\x4f\xa9\x9d\xb4\x8c\xc4\x41\x89\x55\xb8\x69\xa2\x55\xdd\x26\x80\x3f\xf4\x9a\x04\x4e\x23\xb1\x08\x9c\x56\x9e\x91\x2a\x81\x4f\x06\xce\xb6\x39\x4b\x93\x47\x21\xd7\x3e\x9f\x91\x79\x02\x0a\x75\x09\x97\x55\x94\xd2\xfc\xd3\x82\xd5\x0e\xa8\x84\xf1\x77\xe1\x7a\x19\xfb\xb2\xc3\x11\x41\xd7\xe4\xce\x48\x6f\xde\x32\x8f\x8e\xe7\xcd\x26\xab\x12\x3f\x87\x8f\x85\xd4\xa8\x59\x0a\xeb\xa5\xd6\x37\x29\x03\x62\xd1\x5a\x14\xc2\x5a\x93\xcb\x63\xf8\x80\x79\x79\x83\x4c\x69\x9b\xcc\xef\x3e\xcc\xc4\x6c\x27\x1b\x47\x1f\xab\x9e\x05\x6c\x19\xad\x43\x24\xec\x66\x70\x16\xce\x05\xa6\xa4\x2d\x7d\xfc\x76\x37\x39\x9f\x9e\xef\x68\x7f\x25\x94\x7a\xc9\x19\xac\x58\xbb\x77\x0a\x5d\xd2\xb7\xe5\x61\xac\x1e\x20\xdc\x76\x42\xd5\x64\xda\x5c\x8a\xc1\x69\xd7\x1d\x4d\x3b\x53\xac\xf5\x91\x29\xd4\x9a\x9b\xaf\xd5\x1b\x95\x6d\x3d\xed\x0b\xd3\xe2\xc3\x1c\xa9\x35\x4a\x97\x75\x15\xf1\xe8\x5b\x3d\x6c\x31\x0d\xfc\x51\xdd\x76\x67\xa2\xc3\x6a\xbd\x55\xc5\xe8\x74\x1d\xf1\x5f\x46\x8c\x1d\x6f\xe6\xd2\x13\xca\xeb\x68\xe1\x8f\xee\x31\x06\x29\xb9\x68\x8d\x7c\x3d\x2e\x5b\xad\x45\xa4\x78\x6f\x3c\x23\x04\x2f\xf1\x8e\xc6\x35\x40\x5e\x2f\x8a\x32\x60\xb3\xbd\x67\xfc\xa2\xa1\xae\x76\xec\x6d\xae\xe3\x2e\x97\x66\xee\x2f\xf5\x9b\x04\x25\x52\x3b\x30\x21\xec\x6b\xf6\x18\x5b\xce\xe0\xae\xca\xeb\x30\x2c\xbb\x24\x41\x35\xd1\x29\x8b\x18\xcf\xd8\x29\x68\x80\x68\x9a\xb3\x20\x68\x78\xba\xd8\x86\xfa\x17\xc5\xc4\x84\x12\x44\x08\x25\xcd\xae\xcc\x96\xa3\x60\xcd\x54\xdc\xe2\xc6\x83\xdf\xe8\xaf\x44\x7f\x49\x78\x03\xaf\xbe\xf9\x06\xb1\xfa\x3e\x60\xf2\xcf\xce\x4d\xba\xd2\xe7\x6e\xc6\x28\x4c\xcd\x8b\x24\xaa\x22\x5b\xbf\x21\xe7\x36\x08\x0f\xb8\x0a\xf4\x10\x32\xf9\xd7\xb1\x35\x77\x10\x41\x29\x5f\x83\x01\xf6\x4a\x91\x40\x9d\xa4\xd8\x12\x68\x5c\x91\x75\x0e\x97\x3e\x3e\xf8\xe1\x8f\xbf\xb8\x69\xd8\xad\x6f\xdd\x33\xab\x8d\x3b\xad\x67\x5a\xff\x9f\x9f\xff\x37\x00\x00\xff\xff\xef\xfb\xd0\x81\x1d\x27\x03\x00") + +func cfI18nResourcesDeDeAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesDeDeAllJson, + "cf/i18n/resources/de-de.all.json", + ) +} + +func cfI18nResourcesDeDeAllJson() (*asset, error) { + bytes, err := cfI18nResourcesDeDeAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/de-de.all.json", size: 206621, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesEnUsAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\x7d\x73\xdb\x48\x92\x27\xfc\xff\x7d\x0a\x9c\xef\x99\x90\x67\x1f\x51\xb6\x7b\x66\x37\x2e\x74\xf1\xc4\x1e\x2d\xd1\xb6\xae\xf5\xb6\x14\xe5\xd9\xbe\x56\x87\x1a\x22\x21\x09\x63\x12\xc0\x00\xa0\x64\x4d\x8f\xbf\xfb\x93\x99\x55\x05\x02\x64\x65\x56\x01\x24\x65\xf7\xac\x77\x63\xda\x14\x50\xf9\xcb\xac\x42\xbd\x64\x55\xe5\xcb\xcf\xff\x2d\x08\x7e\x83\xff\x05\xc1\x8b\x78\xf2\x62\x3f\x78\x71\x95\x5c\x25\xa3\xa3\xf3\xfd\xab\xe4\xc5\xae\x7a\x5e\xe6\x61\x52\x4c\xc3\x32\x4e\x93\xa5\x02\xf0\xfe\xcb\xae\x0d\xe0\xa7\x74\x9e\x07\xff\xe7\xe2\xec\x34\x28\xca\x3c\x4e\xee\x82\xe2\x29\x29\xc3\xcf\x41\x5c\x04\x71\xf2\x10\x4e\xe3\xc9\x5e\x10\x9c\xe7\x69\x16\xe5\xb5\x57\xe5\x7d\x5c\xec\x07\xc1\xf8\x36\x28\xa2\xb2\x97\xcf\x93\x04\x48\x7b\x51\xf2\x10\xe7\x69\x32\x8b\x92\xb2\xf7\x10\xe6\x71\x78\x33\x8d\x7a\x77\x79\x3a\xcf\x82\x9d\xdf\xae\x5e\x24\xe1\x2c\xba\x7a\xb1\x7f\xf5\x02\x60\xe7\xf0\x6b\x77\xf5\xd1\x97\x1d\xa1\x2a\xdf\x9c\xa8\x5b\x6d\xd4\xa2\x0c\xef\x7e\x27\x8d\xba\x51\x51\x99\x46\xfd\x97\x60\x74\x1f\x15\x11\xf0\xcb\x1f\xe2\x71\x14\x64\x53\xa8\x4a\x70\x1f\x3e\x44\x41\x98\x04\x61\x51\xa4\xe3\x38\x2c\xa3\x49\x30\x4e\x8b\x72\x2f\x38\xc8\x23\xa8\x26\x54\x27\xac\x28\xe2\x04\xe4\x4c\xe0\xc7\x63\x3c\x9d\xc2\x5f\x63\xa8\x38\xd6\x43\x51\xb0\x4d\xb4\x75\xc6\x4c\x85\xfb\x59\x06\x9f\x24\xcc\x01\x5a\x18\xe0\xcd\x52\x02\xd4\x6f\xbf\xed\xc1\x3f\xa7\xd0\xde\x5f\xbe\x04\x8f\x61\x61\xa8\x82\x79\x81\xd2\x6a\x79\x66\xb3\x30\x99\x04\xbf\x42\xe1\x03\xf5\xfb\xcb\x97\x5f\x1d\xdc\xd7\x02\x66\x04\x3e\x4d\x83\x30\x8b\x83\x28\x99\x64\x69\x9c\x94\xd8\xc9\xf8\x0f\x64\x2d\xcc\x00\x0f\xd3\x79\x19\x05\x65\x1a\xdc\x44\xc1\x3c\x99\x85\x59\x06\x82\x82\x80\x49\x5a\x06\xf0\x59\x72\xe8\xb9\xd3\xa7\x40\x3f\x87\x62\xe5\x3d\x7c\xe5\x2c\x9b\xc6\x63\x62\xc8\x0b\xb1\x36\x30\x23\x30\x4e\xdf\x41\x70\x09\xfd\x6f\x07\x06\xdb\x2c\xcc\x3f\x45\x25\xf4\x40\xe8\x4c\xbd\x22\xb8\x18\x0c\x3f\x1e\x1d\x0c\x76\x10\xf0\x21\x8e\x1e\x83\x49\x54\x8c\xf3\x38\x43\xc4\x22\x48\x6f\xa1\xaf\x4d\xe2\x87\x78\x32\x0f\xa7\xba\xdb\xc2\xb3\x30\xb8\x8b\x1f\xa2\xc4\xf4\x4e\xbe\x4a\xcf\xc0\x5a\xaa\x74\xbf\x28\xe2\xbb\x24\xc8\xd3\x69\x54\xc0\xc8\x29\xef\x61\x0e\x81\xde\xa3\xda\x12\xa4\xca\xa1\xbb\xe1\xe4\x93\xe6\x77\x3d\x2c\xb4\x13\x60\x0f\xb3\x97\x29\x32\x10\x5b\x95\x92\xab\xbb\x2d\xa6\x52\x45\xa9\x85\x11\xe1\xdd\x28\xcc\xef\xa2\xb2\x1a\x20\xd4\xb8\x25\x3d\x0b\x12\x68\x62\x02\x94\xe5\x6f\x89\xe5\x25\x16\x07\x01\x6d\xe0\x29\x8c\x84\x20\x89\x30\xd7\x7d\x6f\x9a\xc2\xf2\x12\xf4\xc2\xa0\x7f\x7e\x14\xf4\x7a\xc5\xa7\x38\xeb\x15\xc5\xb4\x47\xcb\x13\x71\xdd\x01\x2c\x2a\x8a\x33\x81\x50\x0a\xf8\x17\xf3\x2c\xcb\xa3\x42\xad\x61\x41\x94\xe7\x69\x2e\x57\xe3\xd9\xa4\xb0\x36\x05\xfc\x3a\x78\x77\x7d\xda\x3f\x19\xc0\x2c\x9a\x3d\xf5\x0a\x58\xaf\x61\x08\x5e\x9c\x5d\x0e\x0f\x06\xbd\xfe\xf9\x79\x30\xea\x0f\xdf\x0f\x46\xf4\xf3\x67\x18\x99\xfa\xcf\x8b\xf3\xfe\xc1\x00\x1e\xa4\xe6\xc1\xd9\xf0\xfd\x2f\xbf\xc0\x83\x5e\x92\xf6\x80\x33\x4e\xd2\xbf\xb0\x53\xfb\xb6\xb9\x72\x55\x3d\xa3\x09\x24\x9c\xc2\x5c\x99\xe5\x29\xcc\x1f\x30\x4b\x06\xd3\xb8\x28\x71\xfa\xa0\x55\xa4\x37\x89\xa6\xf1\x2c\xc6\x05\x06\xb4\x0e\x6c\xbf\xb0\x54\x0b\x2b\xcc\xbc\x8f\x79\x5c\x96\x30\xc1\xe8\x09\xf6\xe3\x41\xff\xfc\x5a\xcf\x54\x17\x41\x4d\x3b\x09\x8c\x76\x12\xdc\xc2\x17\x0b\x93\xa7\xe0\x26\x9d\xc3\x40\xae\xcd\xc8\x05\x37\x31\x7e\x6b\x52\xb6\x68\x4a\x3d\xef\xc2\xcc\x14\x8d\xe3\xdb\x78\x0c\xb2\x26\xb7\xf1\xdd\x3c\x27\xac\x20\x0b\x73\x58\xc5\xcb\x28\x47\xd5\x0f\x6a\x44\x5d\x56\xe9\x86\xe9\xcd\x5f\xa3\x71\x09\x8f\x7b\xd3\x38\x89\xf6\xae\x92\x5a\x07\x99\x67\xd0\xaf\x01\x54\x6b\x3b\xbd\xb1\xbf\xb2\x87\x0a\x28\xd7\x9e\xb7\x31\x54\x1c\x04\x2c\xc3\x38\x21\xbd\x74\x4d\xe1\xf7\x02\xe2\x05\xca\x1c\x94\x85\x89\x5d\xb7\x7e\x8d\x4e\x71\x04\xa5\xee\x46\xa9\x76\x37\x45\x3a\xc5\x55\x1d\x1a\x3f\x8f\xb0\x03\x3c\x2c\x48\x95\x7c\xae\x86\x38\xef\x8f\x3e\x5c\x8f\xce\xae\xdf\x1d\x1d\x0f\x74\x5d\x07\x9f\xc3\x59\x06\x7c\xa0\xa7\xac\x88\xb8\x4f\x25\x7e\xa3\xff\xc2\xff\x5d\xbd\x18\x4f\xe7\x05\x88\x76\x9d\xa4\xb0\xbc\x42\xd3\x2d\xde\xa9\xd7\xd0\x1d\x4a\x7c\xfc\xaf\xbb\x8d\xe7\xb3\x68\x96\xe6\x4f\xd7\xb3\x1b\x7c\xf7\xe6\xf5\x0f\x7f\x36\x6f\xbf\xd0\x8f\x2f\xad\x7a\xf6\xf7\x4e\xf3\xbd\xd3\x50\xa7\xf9\x0a\x13\xcd\xbe\xae\xbf\x69\xac\x1b\xd0\x2a\xab\xa6\x82\xa5\x47\x3d\xd5\x73\xe7\xf5\xd1\xe9\xc5\xa8\x7f\x0a\xeb\xcf\x7f\xdd\xde\xe4\xdf\x40\xeb\xf6\xb2\x2c\xca\x67\x31\x68\xcb\xb0\x06\x61\x87\xb9\x7a\x01\xfb\xde\x49\x2f\x4d\xa6\x4f\x57\x2f\xbe\xe2\x2c\xf3\xbd\xc7\xfc\x9e\x7b\xcc\x37\x30\xc5\x8c\xf1\xfc\x66\x31\x1f\xeb\x86\x08\xce\x8f\xfb\xa7\xbf\xa3\x6e\xb3\xf9\x5e\xb3\x6e\x3b\x7d\xab\xab\xda\xb7\x30\x49\x7d\xef\x73\xff\xb5\xfa\x1c\x37\xcd\x9d\x63\xed\x8b\xfb\x74\x3e\x9d\x50\x23\x05\x7f\x8f\x33\x6a\x88\x5d\xf8\x3d\xcf\xa7\xaa\x65\x16\x0f\x71\x57\x18\x4c\xd3\x71\x38\x0d\x26\x71\x0e\x35\x00\xb6\x7b\xc1\x79\x5a\xc4\xf4\xc9\xe2\x02\x5e\x67\xf4\xd7\x03\x9e\x42\x97\xd1\x5d\x94\xef\xe2\xd9\x54\x01\xfd\x20\x4e\x61\x1b\xfa\xb4\x4b\x07\x58\x50\xb2\x48\xe9\xd0\xf6\x36\x4f\x67\x00\xf9\x08\x5b\x75\xe4\x76\x1f\xdf\xdd\x47\xfc\xe9\xf8\xb7\x2d\x33\xd7\xcc\xd4\x47\xd5\x38\x98\xa8\x1e\xd7\x61\xfd\x3c\x2a\x4d\xad\xd5\x55\x40\x80\xa7\xdd\xd0\xb1\xc2\x3c\x0f\x9f\xd4\xd1\x61\xad\x6b\xe1\xa0\x29\x70\xdc\xa9\x63\xd2\x1b\x75\x32\x1e\x05\xf9\x7c\x1a\x49\x27\x0d\xdf\x9e\xa8\xdb\x6a\x54\x85\x40\x73\x44\x4d\x58\x92\x7f\x2d\x81\x15\x2e\x15\x7f\x1b\x16\x51\x70\xa6\x67\xe2\x42\x69\x56\xe9\x0c\xcf\x62\x26\xd4\xa3\x50\x15\x21\xca\xe2\x6f\xf3\x30\x8f\x82\x9b\x3c\x1c\x7f\xc2\x8e\x87\x2f\xeb\x17\x3d\xf7\x31\x88\xa7\xa7\x74\x2c\x98\x47\x7f\x9b\x43\x5f\x9e\xe0\xcc\x58\xea\x5a\x00\x63\x3d\xe5\x7c\xa4\x79\xe6\xaf\x05\xf4\x6e\xaa\x5e\xa4\xa6\x20\x35\xdb\xfc\xac\xe7\x86\xc5\xcc\x02\x8a\x52\x9e\x96\xe9\x38\x9d\x2a\x2d\xa9\x1c\x67\x38\xbb\x2f\x5e\x43\x35\xcb\x38\xa1\x5e\xa2\x4a\xbc\x79\xbd\xf7\xc3\x9f\xff\xbc\xf7\x66\xef\xcd\xff\x6c\x96\xcc\x60\x7c\x68\x5d\xeb\x4f\x7f\x7a\xfd\x6f\x5a\xcd\x32\xf3\xd0\x2f\xdb\xeb\x76\xdf\x3f\xe6\xf3\x7f\x4c\x6e\x60\x7e\xc4\xdb\x19\x58\xfb\xd3\x47\x3a\x4a\xfc\xdb\x3c\x2d\x43\x73\xb7\x61\x16\x56\xf5\x90\xbb\x1b\x69\x09\x62\x17\x24\x9c\x60\x5f\x02\x22\x96\x4b\xad\x84\x1d\x62\x92\x46\xea\x42\x2d\xfa\x8c\x67\xad\x21\x2e\x15\x79\x94\xa5\x1c\x20\x5b\xde\x0e\x8f\x87\xac\x1c\x14\xbd\xb3\x93\xe1\x8a\x35\xc5\xad\xcc\x93\xb9\xf9\xe4\x40\x2c\x25\x3d\x20\x53\xbc\x32\xf4\x82\x54\x25\x59\xc8\x68\x96\x95\x4f\x02\x90\x7a\xcf\x92\x63\x43\x86\x0f\x61\x3c\xa5\x1e\x00\x83\x03\x9b\x92\xff\x9a\x02\x85\xc8\x22\x8f\x8a\x2c\x4d\x26\x30\xee\x41\x2b\x98\x46\x38\xca\x67\xe1\x27\x18\xc6\x73\x18\x9b\x71\xa9\x14\x04\xa5\xba\x65\xd3\xf9\x9d\x46\x65\x97\xd0\x35\x51\xed\xa2\x22\xe2\x2d\x1e\xc5\x73\x5c\x17\x05\xec\x00\x39\x68\x88\x0f\x95\xe6\xa2\x2f\x0e\x90\x23\xe8\x3d\xa0\xe2\x44\x05\x07\xec\x26\xb4\xdf\xa7\xbd\x38\xa7\x5a\xc1\xfc\x61\xa6\xba\x4a\x44\x33\xcf\xe9\x26\x02\xf0\x49\x58\x86\xec\xb5\x70\x07\x24\xab\x48\x3b\x55\x0f\x81\xf2\x77\x31\xea\xd9\x64\x43\x41\x57\x85\x7b\xc1\x45\xa4\x2e\xdd\xee\xa3\x69\xc6\xf5\xb1\x56\x10\x76\x21\x7e\xfb\x6d\xef\x23\xec\x4d\x00\xf0\xe2\x1e\xe6\x57\xbc\xa2\x34\x17\xba\xfa\xf9\x71\x9a\xdc\xd1\x63\xe8\x28\xe1\xb4\x80\x25\x6e\x3c\x8e\x32\x18\xbb\x5c\x0b\xad\x87\x69\x15\xf3\x8f\xd5\x20\xa7\x99\x8c\x55\x18\x57\xcb\x59\xe1\xfe\xe5\x5f\xfa\x78\xff\x84\x54\xfb\x81\xfe\x9c\x24\x0b\xac\xb6\x21\x76\xa2\xea\x86\xea\x06\x36\x8c\x29\x15\xa5\xcd\x23\x6c\x77\x72\xdc\x11\xc1\x2c\x3d\x2f\xa1\x6e\xb0\x20\x1f\xa1\x6d\xcb\x74\x4a\x35\xc4\x8b\xd2\xcc\xc0\x95\xc1\x13\x5a\x16\xa5\x8f\x30\x94\xe2\xe2\xd3\xde\xbf\xfc\x0b\xae\xa0\x87\x29\x3e\x0e\x1e\xc3\x84\x54\xf5\x58\x53\xd3\x4e\x51\x8d\x3b\x68\x25\x25\xd2\x97\x2f\xff\x1e\xbc\x7c\x42\x2d\x23\xf9\x23\x53\xdf\xdf\x61\x45\xac\x1f\xa4\x5f\x19\xc8\xe0\xe9\x00\xe0\xa5\x53\x05\x0a\x3d\x3a\x1c\x97\x6a\x9d\x3d\x98\xa6\xf3\x49\xf0\x0e\x07\x5a\xce\x4d\xe3\x1d\x80\xec\x02\x1d\x1e\xbe\x1a\x0e\x4e\xce\x3e\xe2\xe6\xfa\xf2\xfd\xd1\x29\xc7\x6f\xa5\x9c\x1f\x5c\x30\x1c\x9c\x9f\x5d\x1c\x8d\xce\x86\x3f\xf9\x22\xd7\x49\x18\x26\x1f\x71\xdf\x7f\xc8\x02\xea\xd7\x76\xe2\xe3\xa3\xfe\x05\x47\x49\xef\xec\x64\xe7\x47\x95\xdd\x11\x47\x5d\x2f\xe2\x04\x09\x5e\x46\x7b\xb0\x44\xdd\x97\x65\x56\xec\xbf\x7a\x15\x66\xf1\x9e\xd6\x30\xf7\xe0\xcb\x72\xe3\xa0\x0d\x82\x53\x84\x7d\x0f\x26\xfb\x1e\x30\x64\x18\x76\x7e\x34\xd0\x7f\x7f\xe1\x8e\xda\x1c\x44\x1d\x18\x05\x2f\xf1\xfd\x83\x9a\x6b\xcd\x6b\x3d\xf5\x7e\xf9\xe2\xd3\x88\xed\x31\xfd\xc4\x6c\xdf\x18\xee\x96\x38\x67\xfb\x2d\xbe\xe2\x88\xaa\x73\x32\x81\xba\x56\x86\x85\x41\xcd\x5f\x40\xa0\xd7\x76\x62\x58\xf2\x8a\x82\x14\xeb\x9a\x7d\x58\x06\x6a\x71\x3c\x9e\x4f\xc3\x1c\x36\x6c\xe9\xa7\x88\x33\xcd\xf1\xa5\x76\xb1\x36\x47\x89\x78\x74\xba\x82\x61\x5e\xa6\xb7\xb7\x11\x9a\xc6\xba\x65\x69\x07\xc7\x08\x87\xdb\x4f\xdc\xf6\x6a\x53\x65\xa0\x1b\xcf\xf1\xd8\x2b\x20\x4b\xda\x82\x76\x48\xd0\x33\x60\x91\xca\x13\xb2\xba\xe4\xf4\xa3\x4e\x50\x0e\xa1\xb4\xa9\xef\x12\x12\x02\x35\x70\x9c\x12\xf9\xe2\xd8\xc5\x99\xc0\xc2\x4d\x16\x64\x35\x65\x9d\x34\x60\x76\x61\x14\x28\x04\x16\x78\x7e\x99\x1b\xcb\x4e\x3c\xfb\xc8\x32\x91\x81\xad\x3c\x07\x4f\xdf\x85\xca\x42\x8d\x2f\x87\xc7\x30\xc7\x20\xd1\xb2\x45\x2d\xc8\x9a\xe6\x77\xf8\xec\x2c\xbf\xd3\xcf\x5e\x29\xf3\x3d\x7c\x78\x81\x3f\xf4\x63\xd5\x78\x97\x55\xe3\xed\xed\x71\x8a\xe2\xb3\xb1\xb7\x57\x7e\x1a\x43\xd9\xa6\x2d\xb0\xd9\x3b\xe8\xcf\x73\x13\xa1\x7c\x5a\xab\x52\x96\xb4\xf0\xf9\xd4\x59\xd3\xc1\x3b\xa3\xe5\xbc\x0a\x11\x69\x2f\x08\x86\x11\x8d\x38\x04\x58\x82\x35\xfa\x90\x03\x1e\x6b\x39\x89\x72\x6c\x02\x80\xa2\xed\xaa\x3a\x8a\xc2\x02\xea\x02\x44\x2b\x86\x6c\x93\xfe\xbe\x2b\xd5\xe2\x43\xa1\xd4\x0d\x59\x91\x93\x96\x61\xa7\xd2\x7a\x55\xa7\xd8\x81\x7a\xfc\x04\x7a\xf2\x98\x0e\x01\xcb\x1c\x55\x6f\x2d\x00\x0a\xcb\x51\x91\x5c\x50\xb5\xa4\xa6\x58\x03\x5f\x5d\xbc\x5e\xb1\x38\x79\x80\x89\x5e\x68\x24\x10\xe0\x43\xfa\x18\x3d\xe0\x2d\x02\x6a\xec\xfa\x3c\xf2\x36\xce\x61\xf3\x7c\x3b\x57\xbb\x01\x00\x43\x13\x7d\xe2\x19\xc4\xb3\x0c\x75\x65\x98\xbe\x1b\xb2\xe2\x2b\xda\x56\xe1\x1f\xab\x12\x2b\xd9\xda\xf5\x8e\xef\x2d\x29\xb5\x24\xd3\x25\x6b\xf6\xe4\x74\xbc\xab\x57\x55\xb5\x97\x56\xbb\xdf\x90\x56\xe4\xb8\xb2\x9c\x04\x1a\x98\xc4\xb8\x43\x95\xb5\x20\x37\x26\x24\x7d\x16\xde\xa4\x7a\x2d\xc8\xee\x42\xc2\x3e\x7a\xf3\x6d\xc9\x83\x6e\x50\xd0\x4d\xb4\x27\x0f\xca\x09\x9a\x3e\x06\x17\x17\x1f\xf4\x87\xd0\x24\x91\x68\xb8\xef\x20\x62\x18\x15\x69\x30\x89\xa6\x51\x19\x91\x59\xb0\x76\x2b\xa1\xe5\x9c\xff\x32\x12\x8d\x9d\x8d\x5a\xfb\x67\x73\x18\xdf\x37\x91\x36\xdc\x8f\xf0\x9a\x17\x64\x34\x7f\x6b\x57\x27\xa9\x86\x6d\x61\xec\xc2\x80\x66\xc2\x31\xc0\x57\x2c\x51\xe5\x7d\x45\x06\xd9\x02\xc4\x52\x41\x16\x90\x56\xe5\x58\x5d\x26\xe8\xab\xa2\xdb\x38\x9a\x72\x87\xc1\x22\x09\xcb\xa4\xa1\x84\x35\x2f\x32\xd8\x35\xc6\x45\xe6\xc7\x8c\xc4\x7c\x4c\xf3\x4f\x74\xef\xfe\x29\xce\xb2\x85\xaa\x48\x06\x18\xc8\xce\x53\x02\x2f\x2c\x7f\xb1\xf4\xb0\x54\x56\xf0\xb0\x64\xa1\x02\xaa\x86\xad\x2a\xe4\xdd\x32\x7e\x60\x9c\x60\xb0\x41\x27\xef\x0e\xfc\x96\x68\x73\x30\x89\xc3\xbb\x24\x85\xe5\x6c\x5c\xa8\x3b\xd0\x69\x7a\x47\xb7\x83\xbc\x38\xfe\x10\x9c\x10\xc6\x03\x20\xb8\x8f\xc2\x29\x5e\xd0\xde\x47\xe3\x4f\x41\xf9\x94\x45\xfa\x04\x68\x07\x2f\x0c\x95\x47\x4a\x92\x26\xd1\x0e\x7b\xee\xd1\x09\xcb\x29\x56\x35\x9a\x62\xd0\x09\x3e\x7b\xf0\x5e\x22\xe0\x18\x14\xec\xf9\x14\xbd\xb3\x93\x29\xaf\xae\x50\x5d\x51\xea\xbd\x99\xb0\x36\x70\xc5\x65\x70\xb5\x29\x52\x34\x93\xe8\x36\x4e\x94\x45\x0b\x7d\x4e\x71\x7e\xf4\x07\xf0\x11\x00\x1d\xce\x14\x0d\x6e\xa3\xfd\x78\x2e\xd1\x88\x6c\xd4\x6c\xde\x8a\x8b\x95\x44\x60\x02\xd3\xe3\x47\x34\x61\x13\x61\xab\x42\x02\x90\x9a\x6d\xa6\xb4\x55\x1d\xc2\xbf\x6a\x93\x8b\xec\x83\x15\x97\xbd\xc5\x4e\x57\xb9\xce\xc1\x7e\x17\x9e\x0a\x7b\xe8\x0d\x72\xe8\x5c\x05\x05\x24\xe2\xd7\x76\xeb\xea\x31\xed\xd9\xab\xfd\x7a\x43\xc4\xf5\x6a\xbb\x05\x61\xb6\xd9\x30\x5f\xa3\xfe\xdd\xaa\xb9\x74\x48\x06\x08\xe6\xc9\x35\x3d\x51\x62\x54\x2d\x5b\xe8\x36\x5d\x88\x00\xff\x84\x49\xfc\x77\xaa\x4d\x25\xc5\xdc\xe7\xa0\xe8\x59\x65\x70\x35\x43\x6d\x7e\x04\xda\xff\xc0\x1f\x7a\x41\xaf\xb3\xee\x78\x24\xb6\x69\x36\xf6\xca\x94\x25\x9a\x59\xd0\x2e\x18\xd4\xf1\xf4\x31\x99\xa6\xe1\x44\xdd\x57\x3e\x29\x8b\x22\xba\xda\xa7\x1b\xbb\x24\x2a\xd1\x28\x06\xdd\x44\x05\xb9\xd7\x40\xf4\x10\x71\x16\xdf\xe5\xa1\x3a\x24\xd4\xda\xd1\x91\x5e\xa7\x0f\x17\x0e\xdf\x62\xbb\x76\x85\x63\x85\xd3\xf7\xbd\x64\xa3\x06\x3b\x38\x3a\xad\x38\x87\x1f\xea\x5b\xfc\x8a\x1b\x3a\xb3\x99\xfb\x75\x59\xa9\xfb\xd5\x98\x0c\xdc\xe6\x91\x31\x53\xab\x14\x8f\x5f\x57\xa5\x32\x54\xb5\xc8\x0d\xa1\x0e\xf4\x10\x1c\xa0\xed\xf4\x58\x5f\x0f\x87\x93\x19\xac\xd7\x05\x54\xbe\x04\x2d\x29\xbe\xa5\x13\x12\xd8\x2e\x26\x9f\xd4\xa6\x91\xc2\x69\x28\x3f\x5f\xa9\xa5\x7e\xff\x75\xb3\x7f\xb6\x39\x1e\x41\x95\xa8\xea\x45\x6a\xba\x04\x35\xb2\x67\xae\xa5\xe3\x87\x68\xca\x1e\xdc\x7b\x50\xba\x58\xa2\xd5\x0f\xdf\x3f\x57\xca\x39\xe1\x50\x51\x86\x11\x1f\x7d\xce\x70\x27\x87\xe1\x51\x94\x45\x11\xea\xec\x37\x21\x68\xce\x31\x29\x6d\x79\xd4\x0b\x6b\xd2\xef\x99\x68\x3c\xe4\x17\xff\x6b\xdd\xa1\xfc\x6a\xfe\xfa\xf5\x9f\xc6\xe6\xde\x8f\xfe\x8a\x82\xde\x5c\x3f\xc7\x5a\x9b\x67\xa9\x7e\x06\x93\xa9\x79\x54\xe8\x47\x34\x31\xa9\x87\xbf\x22\xfb\xba\x34\x78\x20\xb7\x2c\x8e\x47\x7b\xfc\x93\x54\x94\xfd\xa0\x69\xae\xd7\x23\x1a\x54\xd0\xb7\x26\xf1\x44\x9b\x8b\x29\xdb\x74\x65\x30\x91\xa2\x29\x45\x3c\x43\x6f\x89\x09\xab\x93\x76\x85\xb3\x0a\xf7\xf6\xe8\xf8\xf8\xe8\xf4\x7d\x70\xd2\x3f\xed\xbf\x1f\x0c\x19\x9e\xcb\xa5\xec\x50\x97\x47\xc7\x87\xe7\xfd\x83\x1f\xb9\x8b\xde\x5a\x01\x19\x40\xba\xeb\x5d\x2a\x64\x07\x8a\xd1\xf2\x76\x59\x91\x70\x6e\x8f\x9c\x64\xed\x98\xe1\xd1\x9a\x31\x9c\x5b\xbe\x0e\xd5\xe1\x5b\x0a\x3c\x9e\x41\xeb\x66\x7d\x6b\x5a\xf7\xb7\x6f\x2b\xe4\xba\xec\xb6\x56\x39\x73\x01\xfb\x4c\x95\xb3\xb2\x93\x2b\xb7\x14\x3c\x49\x6d\xc3\x3f\x8c\x46\xe7\xea\x00\xc9\x25\xac\x8b\xbc\x03\x73\xfe\xfa\xd7\x4d\xc7\xb2\xc3\x56\xb9\x89\xca\xc7\x28\x22\x9b\xb1\xe6\xea\x4c\x13\x5a\xf3\x50\x4f\xcf\x29\x74\xa6\x27\x48\xb3\x16\xac\x28\xec\xea\xad\xf1\x4a\xb5\x39\x65\xa3\xfd\x75\xb2\xe7\xf6\xec\xdb\x90\x4d\x6c\x36\xbf\x0d\xd4\x24\xba\x0d\xe7\xd3\xb2\x68\xce\x08\x7e\xd6\x15\xdb\xe0\xb4\x81\x2a\x55\x43\x7f\x1b\xb5\x60\xc1\x1d\x82\xab\x4e\xc1\xf6\x85\x8d\x98\x42\xb4\xec\xbb\x5f\x49\xa8\x96\x0d\xb5\x49\x59\x7c\xf6\xe5\x5f\x43\x12\xb1\x49\xea\x93\x4b\x9d\xa9\xbb\x0a\x12\xa5\x9d\xe5\x3c\x9e\x4e\x32\x54\x6d\xa1\x78\xf5\x87\x11\xbc\x61\xea\xcd\xb1\x6e\x81\xd0\x5e\x04\xbf\x7b\xa9\x56\x10\x76\x21\x9e\x4a\x3c\x90\x09\x41\xa3\x87\xf9\xc0\x5c\x24\x86\x89\xf1\x0f\x55\x7a\x75\x88\x56\x06\xa4\x8b\xcc\x60\x97\x32\xcf\x23\x8a\xa1\x34\x8d\x3f\x45\xc1\xc9\x6e\x70\xf2\x76\x37\x78\x4f\xee\xa7\xef\xdf\x72\x82\x6e\x9a\x8d\xb5\x32\xc6\x5d\x2a\x9c\x4c\x7a\xca\xd4\xa1\x47\x7e\x31\x68\xdf\xac\xde\x40\x27\x61\x24\xf4\xa3\x95\xd9\xe2\x7d\xb3\x8e\x4d\x57\x14\xf7\x01\x45\xec\x92\x54\x7b\x0f\x42\x99\x61\x16\x07\x3f\x83\x58\x9c\xbb\xe1\x6a\x39\x07\x5c\x16\x38\x0c\x4f\xad\x45\x65\x50\xd8\xbd\x05\x97\x17\x83\x21\xfd\x75\xde\xbf\xb8\xf8\xcb\xd9\xf0\x10\xf7\xb1\x2e\x16\x3c\xa1\x9b\x21\x4e\x38\xff\xbb\x66\x9c\x1d\x5c\xbd\xb8\xba\xba\x7a\x91\x85\x45\xf1\x98\xe6\x13\xfc\x7d\xf5\x22\x78\x19\x15\xe3\x30\x53\x07\x92\x30\x56\xe2\x5b\xa5\x54\xa3\xa5\x90\x2e\xc8\xdd\xec\x6d\x89\x59\xa7\x8a\xcd\x9e\x2a\x04\x64\x83\x1e\x16\x9a\x07\xd9\xf0\xea\x57\x85\x19\x62\xd4\xcd\xba\xd6\xab\x1b\x2f\xb1\x5a\x14\x25\x85\x94\xcb\x2a\xfa\xc0\xe1\xd9\x49\xff\xc8\x12\x77\xe0\xe7\x5e\xef\x3e\x2d\x4a\xba\xf2\xff\x70\x76\x31\x42\x7a\x8c\x80\x87\xe1\x08\x86\xf0\x7b\x34\x18\x5e\x5c\xf7\x2f\xae\xd1\x8b\xd5\x35\x26\xb6\xc6\xd6\xa3\xb2\x3a\x50\xb2\x51\xba\x74\x1c\xdf\x8b\xc1\xc1\xe5\xf0\x68\xf4\xd3\xf5\xfb\xe1\xd9\xe5\xb9\x97\xf8\x5e\x40\x6e\x81\x44\xfa\xe0\x6c\xf8\x5e\xcd\x48\x3e\x22\xf9\x42\xf9\x08\xe5\x0a\x9c\xb3\xc6\x87\xef\x0e\xee\x21\xb8\x0e\xd9\xbc\xf6\xe7\xf5\x03\x92\x05\x32\x3a\x01\xa7\xc5\x58\x0a\x8a\x80\x64\xbf\xa0\xc6\x0d\x8d\x05\x33\x68\x60\x8c\x90\xa3\x3a\xc6\x05\x71\x7d\x01\x3f\x0c\x59\x0c\x0a\xa0\x82\x14\x61\xf1\x94\x8c\x7b\x78\xe8\x07\x78\xc1\xe8\xe8\x64\x70\x76\x39\x82\xcf\x78\x7d\x72\x74\x7a\x39\x1a\x5c\x50\x84\x4c\x10\x04\x3e\xf6\xcb\x32\x9f\x47\xc1\x3f\x82\xdb\x70\x5a\xe0\xbf\xc8\xec\x55\x99\xbe\xc2\x9b\x9c\x3f\x52\xb9\x71\x3a\x85\x69\xac\x51\x4e\xbd\xa0\xa8\x1a\x80\x70\x7c\x76\xd0\x3f\x1e\xc0\xbb\x83\xe3\x41\x7f\xf8\x47\x67\x4d\xbf\x15\x31\xe5\xc6\x54\xb1\x5f\x60\x4d\xef\xcd\xc2\x24\xbe\x45\xab\x99\x6a\x60\xfc\xdc\xcb\x82\x57\x46\x04\x75\x4a\x8c\x05\x29\x20\x0e\x1d\x14\x57\x34\x7b\x4f\xb3\x29\x1b\xf9\x60\x3b\xbc\x7c\xaa\x55\xf5\xec\xa0\x3a\x49\xa5\x1e\x16\x90\xcf\xdb\xd1\x19\xf5\x3b\x65\xc4\xfd\x8f\x5e\x6f\x12\x17\xf8\xcb\xb3\x1a\x1d\xb1\x7d\xc4\x9e\xa4\xb3\x10\x74\x03\x9c\x31\xd5\xf0\xf0\x93\x68\x95\xcc\x87\x19\xee\xe8\x80\xc4\x8f\x85\x29\xec\x03\x2c\x2f\x07\x26\x88\x10\xce\xac\xd7\xc3\xcb\xe3\xc1\x05\xc5\x13\xf2\x13\xa3\x1b\xb4\x9f\xd0\x3e\x41\x90\x98\x05\x02\x9e\xc3\xf8\xee\xbf\xbf\xf0\xec\x42\x9b\x62\xd6\xa2\x62\x74\x87\xd3\x2b\xd3\x4f\x51\x12\x1c\xf7\xdf\x0e\x8e\x83\xf3\xe1\xd9\xc7\xa3\xc3\xc1\x30\x18\x9d\xfd\x38\xf0\xec\x69\xbe\x60\x6d\x04\x53\xae\x65\x55\xf5\xdf\x0e\x01\x61\xb8\xba\x09\xc0\xad\x18\x8e\x2c\xbd\x63\x1a\xa7\x59\x34\x69\xd7\xdc\xeb\x71\x6a\x53\xa5\x4f\xd1\xd3\xea\xe7\x34\x0f\x7e\x1c\xfc\xc4\x7d\x5a\x3e\xbe\xd8\x76\xa2\xc6\xb6\x15\xfb\x9b\x8d\x95\xb6\xcd\x88\x8e\x1d\x1a\x69\xad\x40\x69\x6b\xc4\x02\xfd\xde\x1d\xbf\x77\xc7\xaf\xd2\x1d\xbd\x26\xc7\xfb\x30\x8f\x26\x46\x59\x59\xa8\xff\xb4\x27\xc8\xf5\x8a\x0e\xeb\x38\x74\x41\xb5\x9e\xfb\xce\xee\xed\x71\xbd\xc4\xa5\xd3\xed\x45\x00\x7e\x8c\xbc\x0f\x3f\xfe\xa6\x1e\xf5\xfe\xe3\xf2\x6c\xd4\xf7\x95\xd0\x0b\xca\x47\x28\xb2\xd8\x59\x59\xb0\xfc\xa4\x60\x68\x7d\xd9\xf6\x4c\x00\xb3\x65\xed\xa5\xae\xb0\x64\xc1\xc1\x70\x70\x38\x38\x1d\x1d\xf5\x8f\x69\x7b\x33\x0d\x2e\x7e\xba\x38\x3e\x7b\x7f\x7d\x38\x84\xcf\x72\x8d\xe7\x91\xf0\x34\x57\xdf\xc3\x44\xe9\xa7\xc7\xba\x63\x9e\x87\x85\xce\x6f\x03\xc3\x10\x87\x0d\x05\x15\x83\x0f\xac\x82\x8d\x2c\x46\x12\x9d\x54\x15\x75\x67\xcc\x85\x11\x53\x30\x4b\x27\x3a\x86\x58\xb7\x9a\x40\x45\x30\x1e\x25\x48\xb1\xbb\x10\x63\x77\xc1\x7c\x57\x71\xbf\x7a\xd1\x90\xda\x22\x25\xf9\x84\xd3\xd8\x02\x41\x95\x0c\xb5\x7b\xed\x15\xdb\xab\x35\x65\xc6\xd9\x10\x26\x84\x37\x8b\xa9\xef\x0d\x4d\x87\xf0\xec\x87\xc5\xb3\x1f\x6a\xf3\xe1\x05\x4d\x71\x4f\xe4\x59\x5f\x9f\x73\xea\xd3\x21\x8a\xbf\xa6\x60\xf5\x19\xc8\xbf\xb7\x7e\xef\x72\xdf\xbb\xdc\x66\xba\x9c\x3c\xc9\x61\x98\x01\xda\xc1\xff\xdc\x8b\x1f\xb0\xb3\xfc\x67\x00\x9a\xd0\x87\xb3\x43\xfc\xfd\x21\xf8\x30\xe8\xc3\xce\x06\x7f\x4f\x82\xc3\x3e\x4c\xd5\xb8\xba\xc0\xe2\x92\xcd\xcb\x00\xd1\x4d\x3f\x7a\xfb\x64\x8c\x00\x16\x41\xfc\x10\x7b\x47\x99\x84\xc2\x32\x7a\x9b\xe6\x33\xa8\xed\xfb\xc1\xc8\x28\x06\x5a\xc5\x80\x0e\x87\x02\xec\x05\x47\xb7\x14\xe4\x8b\xf0\xd0\xaf\xd8\x04\x8d\x7c\x88\xc3\xa0\x37\xc1\x18\xb0\xe7\x78\x78\x66\x52\x9f\x68\x4c\xba\x52\x28\x4a\x58\x96\x77\x8d\x83\x32\x99\x9c\x62\xe2\xb8\xd1\x53\xa6\x22\x45\x1a\x9a\x22\x2a\xf5\x25\xaf\xb1\x1c\x7a\x85\xf1\x17\xf7\xc8\x1d\x7a\x16\x3e\x05\xe9\x43\x94\xe7\xa8\x19\xdd\x03\x20\xf6\x27\x3a\xd8\x87\x86\xd0\xd0\x84\x66\x3c\xad\xa0\xcb\xdd\xa7\x13\x5d\xe4\x3f\xf7\x74\x53\xbc\x03\x6d\x06\xfd\xb1\x26\xe9\x78\x8e\xf7\x79\xc4\x06\x3a\xb3\xb2\x77\x7c\x88\x8b\xb8\xa4\x90\x3a\x2a\xa2\x0e\x94\x2a\xf6\xc6\x18\x46\xe9\x56\x45\x51\x42\xe3\x76\xee\xfa\xf3\xfb\x57\xfb\xb6\xbf\x9a\x38\xd4\xb4\xc3\x6c\xed\xf0\xef\x36\xe8\xe5\x2e\x35\x8a\xa3\xf2\x60\x65\x3d\xad\x03\x7a\x3f\x96\x3c\xb5\x0f\xeb\x65\x8d\xd4\x97\xa9\x85\xce\x87\x9d\x3e\xa2\x6b\xc1\xa8\x41\xe1\xc7\x22\xbb\x0f\x93\x48\xdf\xa1\x15\xad\x58\x59\x28\x7d\x58\x2a\xbf\x11\x52\x91\x5b\xb0\x5b\xa1\xf2\x61\x25\x1f\x2e\xfa\x33\xf7\xc0\xf1\x13\x87\xd5\x79\xfc\x25\x91\x20\x5a\x08\x21\x1c\xf8\xb5\x96\xc6\x85\xd5\x46\x2c\xfb\x89\x5e\x7b\x91\x04\x9c\x36\xe2\x78\x1c\xb4\xb4\x95\xcc\x0f\xd2\x4b\x48\xfb\x3e\xd9\x5b\x20\x96\xdc\x8b\x79\x63\x0b\xec\xcd\x73\x99\xca\x9b\x95\x9e\x01\x6a\x1b\xec\x9e\x59\x3a\xda\xf0\x16\x61\x7c\x84\x69\x6e\xba\xfd\xb9\x5b\xe8\x64\x76\xea\x9a\xa9\x77\x0b\x5a\xf2\x3c\x87\x7f\xa7\xe1\x5d\xf0\x6e\xd0\x1f\x5d\x0e\xbd\xac\x91\xdc\xf4\x5e\xec\xd1\x90\xc9\xd3\x9a\xc8\x4a\xe2\x64\xd2\xd5\xda\x4a\xa6\x15\xd9\xaa\xbd\x5e\xe7\x96\x75\x92\xfb\x30\x6f\xd1\xae\x36\x0a\x07\x8b\x07\x7f\xec\x07\x5f\xd0\x07\xd0\x1f\x0b\x6f\xdc\xa5\xd2\x22\x74\xd7\x0f\xd1\xf1\x0b\xd4\xc9\x5c\x06\x15\xcd\xb2\x32\x6c\x8c\x29\x71\x17\x2a\x2d\xd9\x3f\xe0\x56\x26\x30\xb3\x3c\x6e\x50\x4a\xfa\x7f\x9d\x74\x3e\x08\x46\xa9\xf2\x0f\x51\xc1\xca\x70\x17\x52\x6a\x20\x0c\x8e\x48\x8e\x11\x95\xe9\x79\xaa\x82\x99\x1d\xc6\xd1\x5d\x4a\xfe\x5c\x51\x02\xfb\x0c\x4a\xbe\x6a\x64\x80\x3e\xc2\xc5\x3a\xfc\xe6\xc4\x14\x1b\xf3\x2e\x2a\x7b\x2a\xd6\x46\x4f\xc5\xda\xf0\xec\x77\x3c\x9d\xc8\x0e\x23\x60\x07\x3f\x1f\x9c\x9d\x9c\xf4\x4f\x0f\x5d\x13\xfa\x52\x61\x11\x58\x07\xf5\xd2\xb6\xa8\xda\xa4\xa3\x87\x6d\xfe\x6a\x74\xf6\x4a\x07\xee\xfd\x07\xdd\x4f\xfe\x23\xc0\x23\xad\xca\x4e\x55\xbd\xa3\xdf\x7f\xa4\xe5\xc2\x9c\x12\xe5\xe9\x2c\xd3\x4e\x09\x74\x8b\x91\xcf\xd4\x25\xc6\x3c\x99\x62\x74\xa4\x9d\xde\xed\x4e\x7d\xcb\xea\xda\x75\x7f\x0b\x12\x8a\x4d\x88\x1d\xaf\x6e\xcb\xeb\x1a\xb2\xab\xe5\x65\x78\x72\xbd\x7c\x89\x99\x31\x02\xe3\x1d\x41\xfd\xdc\x98\x41\x6a\x0f\xca\x38\x09\x1a\xa7\x6c\x41\xaf\x57\x1d\x65\xa9\x73\x05\xaa\x36\xd5\xfa\x26\x2d\xef\x5d\xb6\x99\xdb\xe3\xeb\x51\xdd\x1e\xac\x26\x69\xf0\x72\x19\x47\xdf\x9e\xe9\xa4\x44\xe9\x0d\x1e\xde\xc1\xdf\x69\x12\x91\xcd\xd3\xaa\x68\x7e\x95\xdc\x1c\x37\x9f\xaa\xcd\x57\x2d\x5e\xe9\x24\x76\x2b\x96\xc3\xdb\xe1\xb9\x4e\x35\xb7\x61\x47\xbc\x15\x96\xdd\x2b\x99\x85\xff\xfa\xaf\x8f\xe9\xf0\x30\x78\x59\xe8\x93\x67\xfb\x00\xc2\x7c\x26\xf9\x1d\x1d\x7c\x15\x6b\x55\xb1\x1b\x43\x8f\x0a\xfe\xac\x92\xa5\x9b\x2b\x8d\x79\xb5\x41\xf8\x85\xee\x41\xcc\x95\xde\x2f\xf5\x4b\xc6\x42\xe9\xb9\xbf\x78\x18\xdf\x6f\x88\x89\xab\x22\xe9\x9c\xf3\xb3\x5c\x2a\xe4\x02\xf2\x56\x2f\x9b\x65\x45\x58\x1d\x50\xa3\xda\x7e\x1b\x37\xc7\x22\x78\x78\x63\xee\x8e\xf0\x67\x75\x64\x81\xbf\xd1\x7a\xeb\xe1\x87\xc5\xeb\x1f\xe8\x91\x47\x8b\x6f\x9a\x9b\x58\xb5\x74\x71\xee\xe2\x10\xab\x5e\x52\x86\xf4\x32\x21\xf4\xb2\x1d\x84\x42\xb4\xe9\x2d\xfc\x00\x6b\x65\x45\x58\x1a\x6c\x5c\x28\xc1\xa5\x42\x32\x90\xca\x5f\xe1\x42\xd2\xa5\x64\xa8\x79\x7e\xb7\xfa\xcd\x57\x4e\x79\x5c\xac\x3c\x51\x5a\x88\x62\x22\xa9\x57\x76\x89\x34\xe0\x75\xdf\x73\xe9\xb9\xad\xa0\x44\xa1\x6a\x87\xb7\x0e\x9e\xf5\x92\x6e\x48\xd7\xc7\xd3\x85\x44\x20\x95\x30\xc8\xee\x2c\xe6\x80\x17\x49\x1d\x4c\x69\xf1\xa8\x76\x61\xa7\x83\xbf\x5c\x7b\x4e\x7d\x22\xa9\x07\x53\xdb\x0d\xc8\x02\xc9\x2b\x96\xc5\x1a\x80\x3e\x02\x9a\x4b\x0c\x24\x77\x4f\x1d\x0c\x91\x0f\x23\xf6\x30\x1d\x41\x5a\x0e\xde\x4e\x90\x2d\x84\x64\x0e\xb4\xeb\xb0\xea\x51\x2b\x39\xfd\x51\xbd\x44\xad\x1d\xee\x12\x84\x87\xbb\x91\x48\xea\x60\x9a\xa5\x3d\x93\x84\xe8\xe7\xfa\xce\xd4\x35\xb1\x49\x94\x0e\x96\xe8\xcc\x13\xf9\x6a\x29\x2b\xc5\xdd\xe0\x79\xd9\x0a\xbc\x5e\xdc\x07\x9c\x3c\x36\xaa\x95\xa5\x9a\x43\x8e\x4e\x0f\x07\xff\xe9\xc7\x4f\x44\x90\x45\xd0\x6e\x6e\x51\xf2\x10\xe7\x69\x82\x4a\x72\xef\x21\xcc\x63\x3a\xdc\xa4\x8b\x35\x97\x04\x6e\x00\x51\x80\x82\xbc\x6a\x6a\x77\xce\x8b\x23\x2f\x32\x33\xfa\x14\x1c\x1e\x5d\xfc\x88\xbf\x66\xc1\xc9\xe0\xe4\x6c\xf8\xd3\x2f\x3e\xe7\xfb\x9d\x61\x65\x61\xd7\x70\x3b\x5b\xc3\xd3\x8c\x9b\xbf\x9c\x1c\x19\x32\x1f\x66\xb5\xeb\x43\xd7\x82\x6e\xa3\xf0\x62\xe1\xba\x74\xf3\xe4\xeb\x84\xf1\x15\xa6\xe8\xd8\xc2\x0c\xad\x83\x6d\xd9\xab\x9f\xf3\x07\x83\xd3\x8f\xd7\x1f\xfb\xc3\xe6\x1f\x1f\xfb\xc7\x97\x6e\x21\xfc\x91\x9c\x22\x59\x8f\x69\x75\x20\xe5\x7f\xa8\x28\xca\x1e\xe2\xf8\xa0\x38\x45\xc1\xed\x07\x45\x2d\xad\xee\xe7\x50\x95\x18\x9e\x29\xe3\x6a\x0f\x29\x1c\x00\x4e\x01\x94\xda\x8b\x34\xa4\xfa\x7a\x72\xb5\x51\x39\x59\xb9\x67\x51\x7f\x13\x7c\x0f\x19\x37\xca\xce\x59\xb9\xd5\x2b\x5e\x7a\xb5\x7c\xdb\xeb\x21\xb7\x2f\x92\xa7\x48\xab\x9d\x43\xe9\x3a\x2d\xfa\x98\x27\x90\x5b\x20\xed\x8f\xfc\x4c\x1d\x60\xa3\xec\xe4\xca\xa1\x3d\x43\x2f\xcb\xe3\x87\x2e\x9e\x97\x2e\x6a\x99\xf5\x42\x7d\x75\xb1\xa9\x95\x74\x43\xd6\x3b\xe0\x35\xf5\x3a\x1f\xd5\x50\x24\xf5\x65\xea\x5c\x8a\xeb\x45\x3d\x40\x8b\xe2\xbe\x47\x17\xf6\xd1\xc4\xff\x92\x5f\x24\xf5\x60\x5a\x9d\x29\xf9\x7f\x9b\x15\x1a\x37\x1b\xaf\xa6\x72\x35\x52\xed\x76\x9f\x74\xc8\xba\x9e\xdd\xa3\x88\xff\x2a\x58\x85\xce\x35\x84\x7f\x1c\x07\x3f\x63\x84\x81\x6b\x1d\xb0\x78\xff\x17\x5c\xf5\xf6\x31\xc8\x05\xfd\x07\xff\x22\x1b\x59\xcc\x2b\x41\xb1\x2f\x7a\xe4\x19\x44\xf2\x2d\x5e\xe0\x29\x06\xf4\xf8\xe8\x33\x68\x8d\xd5\x1b\x6d\x56\xda\xcb\x8a\x68\x3e\x49\x7b\x65\xf9\x44\x8f\x6f\xd3\x1c\xa4\x59\x7a\x68\xec\x3e\x6a\x8f\x5d\x0d\xf2\xcf\x55\x59\xd7\x87\xed\x09\x61\x51\x57\x8a\x39\xc1\x94\x39\xc8\xc4\x77\x9f\x68\x25\x91\x99\x94\x78\x96\x03\x9a\xa5\xdf\x29\xd0\x4a\x71\x37\xb8\x73\xc0\x94\xee\x10\x16\xee\x75\xc5\xcd\xc4\x05\xe0\x12\xc0\x7f\xb7\xde\x66\xaf\x8e\x79\xea\xfd\x71\x53\xdf\x10\x4e\x2a\x8d\x90\xed\x92\xc7\xc1\x43\x20\x14\x19\xce\x93\x0d\x44\xe7\x71\x6e\xbf\x37\xc5\xc5\xab\x2a\x1b\x08\xf9\xd3\x0a\xca\x47\xa8\xcd\x84\xfd\x69\x09\xe6\x27\x98\x23\x3a\x8f\xaf\x48\x2e\x18\x2f\x61\x36\x10\xce\xa7\x15\x94\x43\xa8\x25\xb3\x1b\x65\x4b\xe3\xb3\x39\x11\x49\x1d\x4c\xc5\xfd\xbb\x93\xaf\x4c\xed\xc1\x7a\xad\x6d\xb6\x17\x84\x87\x10\x2b\xca\xb1\xf7\x96\xdb\x4d\xef\xcd\x7e\xcd\xed\x60\x2b\x28\x97\x50\x6b\xed\x9a\xdc\xf4\x32\xfb\x6c\xc2\x05\xe0\xf9\x59\x7b\xfc\x29\xdb\x44\x13\x89\xe7\x17\x6b\x28\x1e\x1d\x34\xe9\x13\x3c\x9a\x27\xf8\xc3\xb9\x68\x6c\x8d\xaf\x4f\x75\xb7\x11\x4e\x67\x2d\x68\x3f\xa1\x05\x87\x5d\xbc\xb2\x41\x9b\x05\x36\x9e\x9e\x77\x3c\x9d\x4d\x73\x6b\x51\xb5\x35\x03\xea\xb4\x04\x6b\x23\x58\x8b\x30\x37\xed\x84\x6c\x03\xec\x23\xf0\x3f\x81\x8f\x77\xbb\x9a\x7c\x1b\x3e\xde\xad\x65\x7e\x2e\x1f\xef\xd6\x82\xb5\x08\x2b\xf0\xbd\xcb\x7d\xef\x72\x1b\xef\x72\xdc\x24\x37\x1a\xa2\x4e\x35\x18\x0e\xcf\x86\xd8\x8d\xfa\x23\x4c\x2b\x03\x7d\x87\x1c\xcf\x31\x6c\xf7\x39\x88\xf8\xe5\x0b\x88\x02\xbf\x07\x79\xce\x06\xef\xef\x86\x65\x17\x4b\x79\x20\x70\x8c\xf4\x5b\x3b\x69\x98\x50\x4c\x71\x6a\x20\x8c\x03\x14\x2c\x0c\x15\xd3\x5b\x68\xef\x78\x52\x75\x04\x4a\x02\xcd\x31\x69\x8d\xc3\x8a\xb3\x09\x51\x9e\x53\x8c\xe0\xe5\xa1\x0a\x32\xb0\x5f\xb9\xa2\x45\xbc\xb9\xf8\x06\x90\x39\x91\xb1\xfd\xb5\x3f\x7d\xb1\x94\xca\x63\xb7\x7a\x42\xd7\xc6\x68\xab\x7c\xa3\x42\xed\x17\x2a\x7a\xbb\x4a\x4d\x7f\x13\x69\x00\xd6\xac\x72\xc3\x5c\xa4\xaa\x90\x9f\xd1\x2c\xcc\x3f\x45\x25\xb4\xc6\xb8\x62\xa7\xcc\xc7\x31\xec\x6a\xb8\xc8\x90\x2d\xa5\x45\xea\x8e\xe7\x14\x8f\x32\xcf\xc5\x09\x86\x7c\x50\x9e\x2d\x68\xe7\xbe\x92\x77\x61\x0d\x79\xd7\x64\x20\x55\x60\x03\xe3\x6c\x33\x23\x1e\x51\x8c\x39\x3d\x3a\xae\x04\xb8\x81\xa2\xde\xa3\xf6\x52\x41\x4a\x91\xdd\x0a\xd6\x81\xa9\x0d\x84\xb7\x10\x38\xe5\xaa\xd3\xf2\x45\x12\xa0\x43\xb5\xdd\x9b\xf0\xf9\xb3\xbb\x20\x79\x89\x54\x6d\x50\x6f\xe2\x52\x0d\x2d\xac\xd7\x2b\x55\x3d\x5f\x69\x1c\x20\x3e\x82\xe0\xf5\x0a\xac\xc0\xd0\xc9\xee\x4d\x9a\x87\xea\x20\x15\x00\x5f\x91\x9f\x47\x79\xef\x29\x91\x37\x9a\x8f\x68\xc0\x69\x92\xce\x7a\x16\x4c\x7c\xb4\xbb\x8e\x9c\xdd\xa0\xed\x42\xdf\x87\xc9\x1d\xc5\x04\x7c\x88\xa3\x47\xf2\x90\xac\xac\xe8\xc6\xe9\x3c\x01\x34\x98\xec\x3f\xe9\xfb\x61\x4a\xb0\xaf\x62\xc8\xcc\xa2\x59\x9a\x3f\xa9\x27\x34\x0d\x88\x69\xb6\x36\xce\x46\xaa\x4c\x7d\x9c\x2b\x9a\x95\xb5\x41\x16\xd3\x07\x40\x12\x80\x7c\xea\x8d\xf7\x8d\xcc\xaa\x59\x94\x07\x45\xa5\xd2\x14\xe3\x13\xd6\x58\x8b\x32\xa0\xd1\xf8\x13\x96\xa4\x24\x52\x78\x49\x21\xa1\xda\xca\xda\x61\x31\x4a\x4f\xf0\x4e\x85\xe9\xa1\x10\x3f\x0f\xa0\xd0\xe3\x74\x8c\x79\x73\xce\x8f\x3e\x52\x8a\x65\xbc\xd8\x8c\x73\x98\x99\x0f\x8e\x1b\x05\xe0\xcf\x93\x18\xb3\xc8\x06\x14\x6c\x28\xcc\x23\x0c\x90\x84\x59\x8f\xa6\x4f\xe8\xbf\xdb\x2c\x4a\x58\x7b\xe8\x03\x3c\xcf\xee\xf2\x70\x12\xa9\xa4\xa7\xf0\xa6\x19\x49\x68\x9f\x42\x09\x15\xfb\xaf\x5e\xdd\xc1\x10\x99\xdf\xa0\xf7\xd4\xab\x7a\x38\x21\xf8\x23\xfe\x1f\x26\x01\x2f\xbb\xbe\xfc\x13\xd4\xcc\xfe\xc9\x68\xe3\x08\x2a\x10\x0e\x31\x58\xaa\x4d\x5e\x40\x9c\x4a\x0a\x1a\xa9\xb5\x50\x50\x14\x00\x0a\x4b\x44\x09\x88\xcd\x35\xd5\x1a\x88\xbc\x88\x30\x19\x7c\x88\xa6\xec\x04\x53\x2f\x22\x82\xa0\x92\xe2\x00\xa1\x22\x22\x08\x66\xe5\xd5\xbf\x29\x7f\xaf\xf2\x2d\xd7\x37\x1f\x37\x11\x0e\x16\x7d\x1d\x82\x3e\x94\xb0\xb8\xc1\xe6\x97\x76\xd9\x07\xef\x8c\xf1\xc0\xab\x70\x1a\x87\x05\x74\x88\xa1\xf2\x9c\x40\x80\x25\x58\x5d\xd2\x05\x8f\x39\xb3\x26\x30\x8d\xd4\xf6\xf5\x65\x61\x0a\xa8\x46\x26\xdd\xa3\x60\x73\xc7\xfe\xee\xab\xd5\xea\x63\x15\x94\x2e\xb9\x26\x2d\x79\xb9\x2a\x29\x76\x28\x6f\x33\xfe\x54\xca\xec\x8e\x1e\xb1\xb0\x48\x4d\x27\x41\x09\x43\xbf\xba\xe8\xa2\x79\x96\xa1\x32\xb1\xd0\x12\x23\xaf\x4a\xb8\xac\x8b\xd7\xab\x16\x27\x0f\xe9\x27\xa9\x99\x40\x80\x0f\xb0\xd3\x7a\xc0\x13\x14\xcc\xdf\x5c\xdc\x93\x28\x6a\xf3\x72\x3b\xc7\x00\xc3\x30\xd6\x61\xfe\x28\x4d\x68\xb7\x78\x96\x61\x0a\x68\x18\x71\x0d\x59\xf1\x15\x25\xeb\xc2\x3f\x56\x25\x56\xb2\xb5\xed\x21\xdf\xdb\x52\x6a\x4b\xb1\x5b\x62\x02\xe6\x79\x82\x21\x9c\xa1\x36\x14\x2b\x44\x07\x6b\x9e\x44\xb7\x71\x02\x23\x00\x34\x1f\xac\x4c\x88\x13\xe3\xd8\x39\x76\x5b\xc3\x71\xc2\x65\x18\x24\x1a\x11\xa1\x75\x94\xaa\x56\xdc\x87\x6f\x02\x3a\x07\xc3\x86\xa8\x8f\xd9\x45\xb2\x7a\x5e\xba\x8e\x78\x82\x78\x14\x3a\x1b\x31\x50\x21\x59\xcc\x18\xda\x75\x66\x57\xf5\x0f\x5c\x57\xca\xf0\x13\x9e\x1d\x3e\xde\xe3\xf1\x9c\xa0\xe0\xac\x89\xca\x88\x9a\x24\xd1\x98\xce\x40\x27\xf3\x59\x46\x49\x4e\xa3\x31\xa5\x9c\x43\x2f\x61\x52\x2b\x37\x9b\xfe\x90\xbf\x9f\xfd\x1a\xa2\xb8\x1a\xa5\x0c\x63\x1a\x4a\x5f\xb3\x35\x9e\x41\x06\xa6\x19\xb2\x27\xea\x6e\xa0\xd6\x01\xd0\x6d\x9e\xce\x0c\xeb\x0b\x7a\x04\x02\xa8\x74\x93\xda\xc8\x49\xbf\x1c\xd1\x5f\xea\xe5\x56\x92\x76\x7e\x03\x82\x31\x0d\x86\xf3\x34\xee\x81\xf1\x08\xaf\x9e\x1e\x78\xf9\xf4\xe9\x2a\x19\xe4\x79\x9a\xef\x07\xae\x03\xef\x35\x10\x1d\x22\x8e\xa1\x11\x9b\x33\xda\x7e\x60\x0e\xcd\x53\x1f\x89\x9c\x00\x0e\x01\x26\x78\x8d\x32\x8b\x13\xb5\x14\xea\x8d\x46\x00\xfb\x41\xda\xc5\xa9\x94\xf6\xb0\xab\xfe\xef\x4e\x41\xbc\x81\x1c\x02\xdd\xaa\x2c\xdb\x26\xfc\xad\xb2\xc6\x70\x72\xb7\x53\x79\xb1\x82\x5e\x89\x3d\x6a\x42\x6b\x73\x35\x9a\x77\xb0\x6f\x9a\x24\x4f\x9e\xec\x7d\x90\x7c\x44\xd2\xc9\xb3\x10\xe5\x32\x29\xe6\x19\x6e\x86\xa2\xc9\x31\x3d\x25\xd5\x08\x33\x39\x7c\x4a\x60\xaf\xa6\x8b\x62\xcc\x0e\xbc\x90\xf3\x93\xb3\x3b\xbc\x8f\xf0\x74\x10\x42\x07\x4c\xa4\xd3\x2f\x46\xc8\x39\xbc\x50\x2d\xe2\x27\xa6\x0f\x90\x8f\x40\xdc\x58\xa5\xec\xf5\x7a\x3c\xd7\xbf\x97\x9f\x74\xad\x51\xbd\x44\x6d\x4c\x7c\xd5\xfc\x08\x7d\xe7\xef\x6a\x13\xa3\x26\x4a\x6f\x19\xbd\xe1\x1c\xc2\x41\x65\x63\xd0\xd8\xff\x1e\xd5\x0f\xf4\x9d\x32\xd8\xa9\xbc\x59\xa9\x5b\x50\xfe\xec\x5c\x22\x71\x30\xd1\x0b\x12\x86\x86\xa6\xb9\xb2\x7f\x7e\xe4\x37\xff\xb3\x84\x3c\xc3\x64\xa7\x34\x37\xd3\x65\x34\xcb\xd4\xf5\x2f\xea\x0f\xf3\x0c\x4f\x5a\x24\x96\x2e\x52\x99\x69\x9a\xc1\x36\x68\x71\x70\x2e\x2a\xde\x02\x89\xcc\xe4\x31\x8f\x41\xba\xbf\xc7\x99\x17\xfe\x52\x69\x3b\xb4\xb9\xc5\x1f\x1d\x9c\xab\x13\x44\x0e\x75\xb5\xa0\x0c\x58\x55\xcc\x05\xb8\x28\x28\x03\x6a\x4b\x41\x0c\xf9\xa5\xf4\x18\xfc\x36\x80\x07\x3b\xcc\x79\xe1\x14\xdb\x41\xed\xc5\x1a\xb6\x68\xa5\xd9\xbb\x51\x0c\xae\x9b\x27\xcc\xe1\x8c\x70\x45\xf0\x32\x9c\xc0\x7a\x4c\x39\x71\xd8\x4b\xdd\xce\x78\xb2\x78\x49\xf4\x48\xc7\xd5\x2e\xb6\x55\x39\x19\x4e\x5d\x62\xa8\x3b\x17\x6c\x25\xd4\x30\xbc\xbb\x87\x4c\xec\xc5\x58\x65\x08\x55\xc4\x78\x8c\xc1\xdf\x5d\xb8\x09\x65\x86\xc6\xf8\x31\x10\xdd\x3f\x98\xd2\x2e\x68\xb5\x62\x51\x46\x65\x31\xe2\x92\x40\xe1\xc7\x42\xd9\xe4\xf9\xc2\xeb\xd2\x7e\xd0\xae\x5b\x19\xb6\xbc\x03\x5e\xba\xd5\x6e\x16\x92\x81\x30\x14\xa0\xfa\xea\x14\x09\x50\x2d\xc1\xad\xe6\x05\x0f\x04\x51\x84\x24\xf8\x30\x1a\xf9\x8d\x8d\x46\x51\x07\x28\x6a\xb7\x55\xa2\xd4\xc5\xed\x9a\x9a\x32\xee\x61\x77\x76\x13\xc1\xe2\x91\xcd\x8b\x7b\xbc\xc3\x9f\x8f\xc7\x51\x51\xd0\x31\x99\x53\x86\xee\xc8\x0e\x91\x61\xd6\x72\x32\xc7\x32\x32\xcc\x04\x85\xc3\x18\x28\x20\x93\xba\x7a\x36\xe6\x17\xbb\xfa\xaf\x48\x1d\x0a\xe0\x1f\x18\x97\x25\x2f\x0b\x5e\x15\x5f\x13\xd5\x53\x54\x9c\xe3\x6e\x62\x75\xfe\x18\x8e\xe9\xd6\x54\x87\xf9\x7b\x42\x27\x31\x52\xc8\x5a\xc8\xe8\x09\x27\x09\x87\x61\x27\xda\xdd\xaf\x3a\xe9\x78\x76\x24\xe7\x72\xc7\xc2\xf3\x09\xb3\x2d\x2d\xa2\xb2\x24\xe3\x1e\x8c\xfd\x0b\xa5\x24\x19\xda\x83\x39\x04\xdb\xec\xb9\x91\x53\xf4\x0d\xb3\x93\x2b\xb7\x50\x1e\x81\xf0\xad\xf9\xe3\xd4\x57\x58\x17\xb9\xcc\x5c\x2b\x31\x68\xa4\x42\xbf\x74\x2d\xb0\xfb\xac\xd4\xb8\x43\x4b\xae\x0b\x2f\x0b\xbf\x09\x09\x37\x20\x86\xf2\x0a\x02\xa2\xff\xc0\x1f\xdd\x45\xf1\xc6\x91\xc5\x59\xd1\xa3\xaa\xd6\xe7\x77\x6b\x5e\xb4\x0e\xb6\x44\x03\xe5\x3f\x68\xf3\x18\xaf\x3a\x33\x54\x9e\xac\x2e\x87\xc7\x5c\x6f\xda\xdc\x6c\xb0\x61\x6e\x72\xd5\x9a\xea\x29\x52\x9b\x27\xd7\xf4\xa4\x02\x9d\x57\xa0\x2e\xf9\xbb\x40\xba\x84\x5c\x56\x72\x35\xc2\x81\x9a\xde\xb1\xc2\x5e\x4d\xeb\x0f\xe4\x27\x90\x76\x6c\x01\x80\xee\x9f\xbb\x15\x56\x47\xb1\x1a\xeb\x89\xa5\xfb\x6c\x58\xf2\x8e\xec\xfc\x2a\x57\x19\x9a\xad\x1c\xeb\xb5\x5e\x35\xbb\x76\x9f\x6d\x8a\xe0\xd7\x08\xa8\x72\x2d\x98\xff\x18\x3d\xd5\x16\x3a\x41\xca\x23\xfd\x68\x23\xad\xb0\x55\x19\x1c\xcd\x40\x39\x85\xb8\xd5\xbe\x4b\x57\x6e\x0d\xe8\x10\x90\xbe\xb8\x75\x81\xdd\x94\xaa\xb3\x09\x16\x3e\x95\x58\xea\xb6\xb6\x1e\xde\xb1\x1f\xad\x09\x2f\x0b\xaf\x2c\x31\x4d\x42\x45\xf6\x2a\x60\xeb\x73\xc6\xb3\xc9\xe1\xd1\x1c\xd5\xcd\x6e\x3b\xe9\x2d\x64\x1c\x33\xed\xfd\x55\x04\x8f\x51\x1e\xc1\x9e\xf8\xaf\xfa\x66\x5e\x9b\x39\xa2\x91\x50\x78\x17\x0a\x76\x49\x6d\x20\x5c\x42\xec\x2e\xda\x3d\x4e\x30\x6b\x7c\x40\x96\x20\xda\xbf\x6b\x97\xae\x81\xd0\xee\x27\x4b\x75\x6a\x04\xdc\x43\x7f\x3c\xe8\x9f\x1b\xaf\xbc\x8b\xa0\x16\xb5\x25\x30\x51\x5b\x74\x0e\x8c\xb9\xba\x4e\x34\x86\x8f\xac\xa1\xe9\x57\x93\xc7\xde\x3c\x7a\x43\x7c\xee\x30\x67\x5e\x2e\x26\x82\x55\x99\x09\x26\xb1\xba\x83\x99\x85\xe5\xf8\xde\x01\xcd\x10\x31\x8c\x8a\x12\xb6\x09\x35\x17\x83\x27\x75\xe3\xf8\x32\xda\xbb\xdb\x0b\x66\x4f\x0b\x1f\xfb\x3f\x62\xa3\xbe\x8f\x4b\x4a\x25\xa3\x5e\xef\xb8\xcc\x6a\xff\x1a\x3e\x84\x0b\x84\x3d\x28\xb6\xd3\x80\xd1\x19\x25\x6e\xa0\x22\xe3\x7b\x7c\x51\x86\x77\xdd\xb1\xff\xc7\xc3\x9f\xf6\xfe\xb4\xf7\x7a\x87\xbe\xdb\x8e\xf9\x03\x20\xff\xa8\x6c\x84\xa1\x93\x63\xf9\xb2\x17\xd7\x2e\x7a\x8a\x00\xcf\xf4\x77\x2b\x9f\x81\x1d\x7d\x8d\xbe\x83\xe2\xec\x24\xf3\xe9\x94\x8d\x92\xf7\xbd\xed\x3c\xda\x4e\xea\x76\x26\x31\x2e\x99\x24\x8e\xa7\xf3\x49\x64\x06\xa7\x0e\xe9\xb5\xdb\x30\xd0\x5b\x24\xf9\x9d\x01\x93\x18\xe6\xad\x00\x13\xcd\xb0\x13\xc4\x66\x99\x58\x2b\x82\xa1\x81\x19\xf6\xf4\xca\x4e\x74\x76\xf0\xe3\x60\x78\x7d\x74\xd2\x7f\xcf\x39\x49\x37\x8a\x30\x20\x42\x78\x0f\x29\x76\x87\x7a\x77\x21\x52\x5e\x30\xa4\x61\x71\x7f\x93\x86\xf9\x64\xbf\xda\x45\x73\x30\x96\x92\x76\x48\x32\xba\xd4\xb7\x61\x79\xa4\xed\xa9\x48\xf9\xe2\xa0\x05\x0a\x37\x0b\xb5\xf0\xb7\x67\x64\xa5\x63\xd8\x91\x97\xa5\xfb\x0e\xd7\x52\x50\x06\x74\xdd\xe1\x5a\x0a\xca\x80\xa2\x7d\xd1\x72\x29\x19\x4a\x6e\xc8\x46\x21\x19\xc8\xab\xc5\x7c\x5a\xcb\xfb\xca\x4f\xa2\xf0\x63\x21\x5e\xf9\x71\xa5\xfd\xa0\x1d\x17\x05\x7c\x79\x3f\x78\xd8\x6a\xfa\x22\x63\x51\x07\x68\x7d\xaf\xe7\x84\x6d\x14\x76\x00\x0b\x17\x94\x4b\x85\x3c\x80\xf4\xd6\x8e\xcc\xbd\xe3\x85\x7b\x44\x02\x6a\x53\x7c\x97\xe8\x74\xf2\x8b\x72\xca\xb6\x73\x3a\x95\x63\x85\x6e\x94\x85\x5c\x09\xc1\xb6\xa0\x59\x46\x84\x21\xc3\x06\x95\x02\x3c\xd0\x29\xc0\x5f\xc6\x7b\xd1\x1e\x08\x97\x16\x91\xba\x7f\x44\xf7\x2b\xa5\x40\x66\x59\x44\x56\x5d\xea\x2e\x88\xb3\xa8\xd8\x0c\xb6\x28\xb6\xc7\x05\xaf\xb5\xa8\x03\x94\xb7\x6a\x68\x96\x71\xc0\xf0\x97\xae\xcd\x32\x12\xcc\x18\x87\x2f\x5a\xd4\xcb\x48\x8b\x62\x02\x58\xe1\x6b\x55\xc1\x16\xe7\xc1\x9f\xef\x3a\x6f\x6b\xec\xe4\xca\x75\xbb\xce\xf3\x26\x97\x99\xaf\x7d\x02\xd7\x05\x49\x16\xe9\x2b\x1c\x8d\x3e\x0f\x6f\xb9\xda\x6b\x1c\x29\xb6\xc3\x90\xc5\x58\xf3\x6e\xb2\x3d\x8e\x2c\x4e\x75\x97\x36\xc4\x1f\x5e\x9c\x6d\x24\x9e\x4c\x68\x03\xd1\x86\x45\x45\x20\x33\xd8\xdc\x25\xdd\x5a\x90\x2e\x21\x7d\xee\xd6\xdc\x72\x79\xa1\xf8\x89\xb2\xc6\xf5\x5c\x37\x2c\x3f\xb1\x9e\xed\x10\xfa\x39\x38\x3b\xaa\xcc\x5f\x52\x74\xf9\x16\xed\xd0\x7c\x44\xab\xce\xb6\x9b\xf6\xf7\x8b\xe7\xea\x06\xb3\x63\xb3\x6f\x80\x85\x5c\x09\xdb\xf9\x7c\x47\x61\xdb\x40\x31\x42\x15\xe3\x3c\xa6\x50\x38\xfb\xb5\x9e\x56\x7b\x2c\x0c\x7f\x0f\x52\x3b\x53\x15\xea\x06\x4d\xde\x30\xe9\xb7\x36\x43\xab\x0e\xc7\xea\xae\x14\x1c\xef\x16\x08\x3e\x22\x50\x00\x39\x33\xe0\x6a\xeb\x7e\x15\x7d\x24\x55\x07\xff\xc6\x66\xdb\x4f\xac\xd6\xa8\xfe\xa2\x56\x55\xad\x63\xb6\x91\xca\x0e\x20\x0a\xb0\xc8\x6b\x80\x12\xa7\x63\x9f\x0f\x64\xa7\x11\xd9\x60\x06\x08\x63\x4f\x5e\xbb\x1b\x71\x30\xe2\xa8\x44\x56\x64\x7f\xb9\x70\xcb\xc0\xad\xb2\x0a\x81\x40\x36\xfa\xa4\x00\xaa\x80\xde\x0e\xe6\xfe\x38\x4e\x71\xf0\x34\x1c\xed\x1d\x83\xdb\x28\x2c\xe7\xb0\x91\x2d\x52\xb5\xa9\x55\xb9\x47\xee\xc3\x87\xc6\x87\x84\xad\x3f\x1e\x2e\xcf\x0b\x45\xad\x89\x3c\xc4\xdd\x0c\x1f\xa1\x3a\xda\xa6\x15\x01\x30\xee\x08\x76\xf9\xdf\xd0\x47\x3f\x4c\x2c\xfa\xf5\xca\x1a\xd7\x62\xa1\xd9\x12\x37\xbf\xaa\x61\xdb\x60\xca\x7a\x0a\xce\x07\x9c\x59\x16\xb7\xb5\x71\x5e\xe3\xe7\xdc\xf2\x6d\x8f\xe1\x16\x2a\x88\x5d\x63\x9d\x3d\xcd\xf3\x30\xf7\xae\xb8\xa5\x1b\xb9\x84\xd8\x70\xed\xb7\x25\x81\xa3\x09\x70\x32\xd5\x0e\xac\xea\xd2\xee\x0f\xc5\x8e\x8f\xe0\x1c\x5d\x4b\x76\x4a\x05\xeb\xca\xb4\x49\xcd\xb2\xc6\xd8\x99\xc1\xc5\xc5\x87\xba\x0e\x51\x1d\x9e\x0a\x4c\x65\x3a\x8e\xdd\x27\x1d\x3e\x4d\x5d\xa2\xfe\xf0\xaf\xff\x76\xb2\x1b\xbc\x79\xfd\xc3\x9f\xf1\x9f\xf7\xec\x99\xa7\x93\x8e\x63\x07\xfd\xe6\x29\x50\xf9\x0f\x95\xd7\x43\x09\xf3\x75\x15\x5e\x81\x67\xe7\xa0\xb3\xb3\x4b\xb5\xc3\xfc\x34\xcd\xd1\x59\x14\xf6\xc9\x19\x9b\xf5\x9f\x29\x2c\x01\xab\x84\x4c\x74\x35\x43\x19\x9a\x4c\x20\x19\x99\x03\x4b\x25\xb1\x9a\x85\x99\xb9\x01\xa2\xf8\x0a\xda\xb7\x4c\xfb\x8a\x60\x46\x6f\x73\xe6\x4c\x6b\x7c\x96\x47\x0f\x71\x0a\xed\x43\x3e\x34\x85\x0a\xa4\x22\xfa\xb1\x6d\x9e\x8f\x54\x1d\x95\x59\x48\xfb\x58\x84\xb7\xe8\xe5\x84\x08\x82\x3e\xe3\xa4\x63\xd8\x8d\x61\x9b\xdd\x8b\x67\xe4\xd3\x92\x56\x4e\x8e\xaa\xd3\xa2\x42\xf1\x6a\x52\x2b\xd2\xc3\x79\x88\xed\xf3\x9d\xb0\x38\xb1\xe6\x68\x74\x43\xd8\xe8\xfe\xe5\xbe\x5a\x16\x28\x18\x16\x74\x00\xaa\x84\x8b\x3e\x87\xb3\x6c\x1a\xa1\x49\x04\x5f\x3b\xae\xbc\x00\x5f\xec\x8b\x68\xf0\x9a\x21\x56\x31\xe7\x82\xb0\x44\x2f\x67\x98\x1c\xc3\x78\x1a\x4d\x4c\x0c\x0d\x0c\x62\x81\xd1\xb4\x2f\x55\x5c\x2f\x32\x61\xa0\x78\x3b\xbb\x55\x58\xa7\x82\x7a\x43\xf8\x00\x74\xca\x66\x09\x3b\x23\xce\x75\x77\xf1\x43\x44\xed\xc3\xce\xce\xcf\xc2\x5b\xac\x76\x15\x36\x48\x87\xef\xd8\x29\x02\xca\x04\x5b\xcc\x67\xc1\x24\x8d\x8a\x85\xf9\x12\xb9\x81\x05\xb3\xa8\x0c\x27\x21\x7f\xd1\xbc\x2e\xac\x5d\xd8\xf9\x2c\x6b\xc4\x01\xc2\x76\x88\xa0\xdd\x70\x88\xab\xc0\x38\x9c\x3c\x1e\x94\x56\x96\x83\xd3\x8f\x47\xc3\xb3\xd3\x93\xc1\xe9\x28\xf8\xd8\x1f\x1e\xf5\xdf\x1e\x0f\x02\xca\x01\xc2\xd9\x6d\x48\x14\xde\x2c\x2e\xb8\x4e\xcc\x14\xb6\x03\xff\x67\xff\xe4\x1c\x5e\x73\x50\xe6\xb5\x9d\x58\x75\x36\xba\xb8\xcb\xf2\xf4\xf3\x93\x09\xa7\x89\x81\x24\xb5\xbd\x0e\xb7\xb1\xf7\xa3\x95\xd8\x76\x3f\xeb\x68\x01\xe0\x21\xc0\x86\x4e\x3a\xd6\x04\xf5\x16\xb4\xcd\x39\x87\x3f\xbd\xc4\x1e\xc4\xd4\x39\x7c\x94\x96\x22\x33\x5b\x29\x2d\x41\xb7\x3b\xd9\x70\x10\x49\x8c\x9a\xe7\x11\xb5\x55\xd4\x7d\xa4\xd1\x06\xc1\x25\xc2\x36\xcf\x32\x36\xce\x86\xaf\xcc\x73\x9d\x64\x6c\x89\x99\x57\xc5\xd6\x3d\x56\x68\x5b\xb7\xcd\xf1\xdb\x7c\xf5\xd6\x3c\xc5\x78\x1e\xde\xbe\xd5\x7e\xde\x33\x8c\x67\x14\x40\x6e\x80\x76\x27\x18\x4e\xb2\x76\xcc\x7c\xce\x2f\x3c\x89\x19\xc6\x0f\x0b\x47\x02\x68\x98\x8f\xa1\x3e\xd6\x0b\x1e\xc3\x42\x87\x6e\x2a\x79\xc6\x5e\xc4\x76\xc6\xa8\xba\xeb\x6f\x6b\xb5\x3d\xc0\x0a\xbc\xbf\x3c\x3a\xdc\xd9\xe7\x5c\xff\x5b\x41\x08\x42\xd0\xe2\xa4\xa2\x68\x92\xf6\x25\xb2\x5b\x29\x2c\x00\x8f\x8d\x1b\xcd\x22\x28\x01\x6c\x5d\x1c\xf5\x61\x89\x7c\x18\x69\xa1\xdc\x09\x82\xdc\x74\x3e\xec\x4a\x1d\xf1\xca\x19\x9e\xd1\x4d\xe7\xc3\x4e\x0c\xc7\x65\x2f\xeb\x05\x6b\x73\x72\xf2\x88\xf0\xd8\x1a\x46\x10\x66\x62\xb5\xc7\x52\xfd\xd8\x5b\x14\x6f\x10\x1f\x41\xec\x06\x59\x3e\xb1\xd8\x3a\x00\x49\x02\xb1\xa7\xb3\x32\x7b\x9e\xac\x13\x33\x35\x97\x76\x64\xa9\x89\x25\xc6\x55\x20\x5f\x1a\x88\x8b\x71\xc8\x86\x80\x71\xd3\x79\xb1\x2b\xb2\x34\x29\xa2\x0e\xfc\x2c\x84\x02\xc3\x88\x5b\xa3\x44\x6e\x3c\x55\x17\x56\x1e\x9f\xd0\x45\x2b\xb0\xbd\x55\xc9\xa8\x6a\xe7\x4c\xa8\x67\xfa\x8f\x17\x1f\xfa\x56\xec\x95\x95\xb6\xe7\x4a\xe0\x41\xee\xc1\x7c\xdd\x39\xa3\x0d\x8e\x87\x38\x8e\xd8\xb0\x4c\x61\x0f\xe0\x65\x4d\x63\x31\xb9\xfa\x58\xbb\x74\xc3\x5a\x43\xac\x35\x25\xf1\x63\x6e\x33\x1a\x6b\x29\x80\x03\x42\x12\x22\xcd\x1f\xc3\x9c\x40\x70\xc8\x3a\x54\xac\xd5\xd2\x02\xf4\x9d\x0a\x1d\x45\xf7\x74\x63\x4c\xaa\x29\x63\x5b\x8a\x7b\x82\x63\x84\x2e\xf6\x64\x93\x29\xed\x01\x5d\x4f\xce\x52\xcc\x67\x33\x0a\x3f\xed\xc5\xc6\x4e\xe9\xc1\xd2\x64\x04\xa1\x4c\x31\xea\xda\x49\x9d\x73\xc3\xa7\x7c\x07\x6a\x9f\xca\x3c\xe9\x25\x83\x27\x94\x87\x50\x14\x99\x15\x5b\xcd\x8b\xef\xa2\xb4\x07\x34\x1e\x49\xa2\xf7\xa5\xb2\x5a\x6d\xd1\x49\xac\x84\x1e\x0c\x75\x1b\x98\x0b\x01\xd5\x30\x78\x47\xe0\xc9\x57\xa2\xf7\x60\xaf\xbc\x52\x55\xbc\xf0\x48\x05\xab\xae\x4c\xf7\x7c\xf4\xd4\x36\x38\x82\x38\xe4\xb4\x84\x51\x85\x11\x6b\x78\x7e\x60\x4e\x02\x1c\x8d\x20\x90\x09\xcc\xa0\xf7\x17\xf7\x21\xe9\x06\x98\x0d\x56\xe4\xb0\x5c\x56\x80\xc5\x70\xbe\x8b\xe9\x82\x32\x19\x50\x0b\x88\xf8\x2c\x91\x07\x23\xaf\x68\xc3\x22\x89\xc0\x24\x83\x8a\x7b\xb5\x50\xa3\xa0\x07\xa0\xf6\x8e\xf6\xc2\x34\x65\x25\xd8\x28\xc7\x68\xd7\xbe\x7b\x7e\x4b\x71\x09\x3c\x4f\xcd\x89\x04\x5e\x7a\x63\x9b\x51\x1a\x1d\xca\x2b\x43\xd3\xd5\x8e\xf7\x48\x69\x8b\xd5\x52\xac\xb5\xe4\xe8\xc0\x78\x31\xd9\xe0\x98\x8b\x72\x47\x3f\x97\x29\x05\x96\xb0\x25\x9f\xac\x1e\xa1\x78\x6a\x23\x4e\x62\x0f\xc6\x66\x7b\xe4\xc5\xa8\x2a\xdc\x02\x98\xda\xa2\x15\xba\xa2\x68\xcb\xc2\xef\x43\x39\x48\x45\xa6\xb7\x40\x74\x4f\x8b\xe1\xc2\xe7\xc3\xc9\x8e\x21\x12\x19\x25\xe1\x6c\xdd\x03\x16\x6f\x10\x51\x10\x9a\x41\x48\xc9\x70\x7f\xc3\x66\x59\x3f\xd8\x4a\xab\x40\x85\xa2\xf9\x29\xbc\xeb\xd9\x12\x4c\x14\xac\x48\xa7\x0f\xd4\x3b\xd0\x0e\xc9\x7f\x14\xb2\x64\x32\x33\x34\x38\x5a\xd2\x5e\x5b\xd4\xdb\x49\x2e\x32\x2f\xf3\x38\x22\x99\x01\x66\xfc\xc9\xd9\x8b\x57\x8a\xb7\x00\xf7\x9f\xbb\x65\x4a\x81\x65\x11\x3e\xd4\xe7\x41\x6f\x86\x12\x9d\xc0\x8e\x32\x43\xac\x3b\x42\xbd\x41\x7c\x04\x51\xd6\x8b\xd7\x64\x94\x73\x5d\x3e\x65\x91\xfb\xc4\xca\x45\x2b\xb2\xc5\x13\xeb\xa5\xbe\xe7\x95\xfc\xc2\x9f\xde\x8b\xfd\x7a\xed\xef\x8b\x22\x88\x82\x39\x28\x68\x7f\x90\xb6\xbd\x61\x90\x29\x05\x96\x7f\x8f\xb3\x6c\xa9\xe9\x44\x46\xb6\xf2\x02\xbc\xf5\x48\x07\x2d\xd3\x94\x6f\x07\xc6\xc2\x52\x21\xbf\x42\x9d\x51\x35\xbf\x23\xeb\x41\x75\x73\x78\x9e\x16\x14\x9e\x61\x07\x1a\xb5\xac\xff\x59\xe5\xa7\xa5\x3c\xee\x65\x74\x17\xe5\x7b\x41\xf0\x0e\xb7\x20\x98\x1d\xb0\x78\x4a\xca\xf0\x33\x74\xc5\x69\xb6\x4b\xd1\xca\x7f\x1d\xdf\xea\x6c\x25\x8b\xb0\x4a\x41\xef\xfe\x57\xf6\x82\xef\xf7\x21\x3c\xdf\xf0\xf2\x14\x2c\xce\xb8\xfb\xc1\x69\xaa\x02\x65\x51\x38\x2a\x87\xc1\xb3\x48\x22\x31\xc1\xb5\x75\x82\xb6\xcb\xc1\x63\xa8\xfa\x2e\x51\x41\xed\xc7\xc1\x5f\xd3\x1b\xd2\xf4\xa1\x28\x19\x8e\xee\x60\xbf\xc6\x58\x1d\x05\x17\x5c\x6d\x4d\x50\x49\x50\x9f\xf1\xe7\x1c\x6b\xca\x92\xba\x20\x53\x6a\x52\x31\x94\xcd\x72\xa4\xb3\xf6\x80\xd0\x68\x05\x17\x25\x93\x2c\x85\x2e\xc1\xb1\x6a\x89\xc2\x88\x92\xa9\x53\x87\xfa\x29\x97\x32\x4e\x0a\xab\x14\xc7\x9f\xa2\xa7\x57\x2a\xb1\x65\x16\xc6\x79\xa1\x53\xc7\x05\xe9\x98\xe2\xca\x4f\xea\x59\xc3\x82\x24\x0a\x73\xd0\x52\xb0\x69\x7f\x9a\x4d\x2f\x12\x98\x20\xa2\x12\x9a\x97\xad\xc4\x73\xf1\xf7\xae\x7e\xd1\xe0\xdf\x42\xee\x25\x42\x99\x61\xb5\x1a\x54\x44\x45\x64\x2a\x1b\xfc\x7f\x57\xf3\xd7\xaf\xff\x14\xa9\x6c\xa2\xbb\x34\x63\xc4\x25\x59\x13\x90\xc7\xef\x08\xd6\xd1\x2f\x5f\xd8\xd9\x6a\x93\x2c\x9c\x95\x38\xcf\xd3\x2c\xca\xcb\xa7\x25\x4e\x37\x69\x3a\x8d\x42\x36\xc0\x65\x1b\x84\xae\x22\x98\xde\xa3\x27\x55\x36\x3d\x57\x27\xa8\x75\x85\x2a\x40\x19\x4d\xee\x36\x21\x53\x85\xd4\x55\xa4\x64\x3e\xbb\xc1\xd4\xc1\xcb\x5d\xc0\x14\xf7\xef\x6d\x6b\x32\xb0\x56\xe0\x5d\xff\xe8\x78\x70\xc8\x30\xd7\x2f\xed\x84\x83\xfe\xe8\x72\x38\x08\xde\x1d\xf7\xdf\x73\xe6\xcd\xcd\x32\x76\x18\x32\xb3\x0f\x54\x2c\x28\x73\x3d\x94\xa7\xca\xc6\x1e\x6d\x1d\xd8\xb5\xd5\x87\x52\x62\x79\x1b\x95\xe3\xfb\x86\x0a\x59\xf8\x98\x63\xf8\x52\x7b\xb1\x56\x37\x90\x85\xb1\x21\x5b\xe4\xe3\xfb\xc3\x02\xcd\x5b\x12\x4f\xb0\x36\x82\x75\x69\x10\x2b\xa9\x17\xd3\xe8\x01\xd4\xb9\xc2\x6b\x2f\xe2\x45\xea\xc5\x14\x5a\xaa\xa7\xcc\x6e\xb1\xdd\xa8\xff\xa8\xdb\xc9\x21\xfc\x1c\xa5\xda\xc5\x4c\x3b\xa1\x76\x68\x8e\xee\xf8\xbe\xe2\x77\x6b\x31\x0b\xa1\x17\x43\x3a\x27\xc9\x55\x40\x97\x0e\x9d\x94\x25\xf7\x67\xde\x95\x6b\x7b\x76\x74\x53\x6c\xf9\x7a\x74\x71\xbc\xa1\xfe\xb1\x1e\x0f\xff\x6a\xd4\x07\xa4\x8f\xf9\x40\x4b\x10\x49\x10\x98\x8f\x75\xf2\xca\xbf\x16\xa9\x72\xaf\x30\xb1\x43\xaf\x8d\xe3\x91\x74\x3d\xd2\x1a\xc6\x4f\x18\xa3\xd3\xee\x62\x2c\x42\xed\xd5\x85\xb7\x3b\x91\x35\xfe\xb5\x6b\x1d\x5a\x03\xd7\x21\xee\x0c\x33\xc7\xeb\xbb\x54\xe5\x24\xaa\xe8\x7c\xbb\x9a\x1f\x84\x53\x08\xba\x6c\x94\xee\xdc\x98\xc2\x0e\x60\xe5\xba\xa9\x0e\xd8\x7d\xbb\x81\x8d\xc6\xc1\xe6\x91\x3a\x88\xf6\x03\x31\xf9\xb9\x7e\x5b\x2b\x7c\x9e\x67\xe8\x9b\xe7\x95\xc1\xde\x0c\xda\xcd\x04\xad\x19\xd4\xcf\x77\xd3\x10\xa3\x01\xe9\xf8\x1a\x13\x56\x76\x37\x61\x3b\x86\xca\x09\xa6\x3d\xbf\x8a\x4e\x62\xc7\x5d\xdc\x56\xaf\xed\xc4\x68\x83\x41\x99\x92\xe9\x34\x85\x12\x5d\x63\x1c\x6f\x1a\x33\x05\x4a\x43\x4e\x37\x58\x2a\xfa\x0c\x9b\x02\xd0\xae\x4b\xed\xd3\x99\x85\xd0\x01\x41\x56\x7c\x99\x49\xd6\x26\x9b\xe5\x61\xaf\x46\x8a\xa1\x98\x27\x2a\x1e\xe6\xcb\x89\xf2\x8b\xce\xf2\x94\x7c\x59\x61\xaa\x1c\xa7\xc9\x6d\xac\x53\x2f\x73\xce\xbe\xed\x30\x5c\x62\xa0\xea\x89\x71\xd9\xf1\x80\xa8\x4e\xe9\x66\xce\x52\x0a\x2c\xb5\x3f\xae\xf2\x41\xa2\x89\xae\x35\x6f\x4f\x08\x41\x88\x59\x7c\x97\x87\xdd\x2a\xee\x20\x15\x98\xb6\x89\x72\x24\x51\x08\x2c\xf4\x8d\x95\x99\xb3\x8c\x84\xaa\x6b\x88\xac\x64\x4a\x81\xe5\x3c\xb9\xd1\xf6\x7a\xad\x9b\xd2\x41\x6a\x65\xfa\x7e\x30\x1a\x1d\x9d\xbe\x0f\x2e\x46\xfd\xe1\x88\xdd\x10\x2f\x97\xb2\x43\x1d\x9f\xbd\xed\x1f\x07\x67\xe7\xa3\xa3\xb3\x53\xd6\x8b\x78\xb9\x94\x1d\x2a\x2a\x61\x2f\x5f\x5d\x8e\x56\xc9\x2c\xc8\x56\xb8\xb8\x0f\xc6\xd3\x18\xf7\x3d\x1c\x0b\x4f\x6a\x96\x35\x4e\x4a\xab\x37\x4c\xea\xa8\x10\x3f\xa8\x14\x2a\xd8\x9f\x9e\x63\xaf\x2e\x48\x31\x10\xb4\xce\x87\xaa\xee\x85\x41\xb9\xf8\x14\x95\xa0\x10\x8f\x23\x7e\xd1\xf5\x26\x97\x99\x63\x46\xd6\xad\x44\xf1\xdd\x24\x07\xb1\x0a\xb5\xe3\x89\xbd\x3d\xd6\xea\x9e\x2b\x2d\x42\x9b\xf3\x06\x3e\x99\x52\x9b\x96\x68\x8b\x26\x8a\x16\xd5\x5c\xc6\xaa\x60\x30\x6b\xaa\x5a\x6d\x2a\xb3\x7d\xfe\x72\xf5\xe9\x34\x64\x1b\x7c\x9d\x3d\x68\xab\xac\xc5\x4a\x2b\xab\xb5\xe7\xff\xd6\xdb\xe3\x2b\x56\x97\x9b\x57\x05\xdb\x01\x2f\x52\x91\x29\x9a\x2a\xaf\xeb\x71\xdb\x0d\xcb\x4f\xac\xcd\x85\x30\xde\x08\xb4\xa7\xd0\xae\xf8\xad\x1d\x53\xe0\x6d\x81\x91\x58\xa1\xaf\x10\x12\xfd\x59\x58\xbb\x2a\x5d\x3c\x53\x0d\x37\xc4\x47\xac\x0e\x17\xb4\xc0\x39\xef\x0b\x84\x22\x43\xb5\xd1\x2a\x16\x59\x3f\xd0\x3f\xa0\x88\xcb\x34\x8f\x61\x56\x05\x00\xd7\x64\xe6\x01\xe0\x2f\x40\x45\xfb\x14\x70\x37\xea\x6e\x3a\x91\x9d\x35\xac\x34\x8d\xd0\xf6\x33\x68\x3b\x2c\xb7\x58\x6d\xc2\x63\x78\x10\x8a\x0c\x1b\xf7\x00\x2b\xe4\x81\x4f\x97\xf3\x82\x70\x0b\xb1\x0e\xf7\xb5\xd8\xae\x93\x72\xbb\x8d\x88\x1b\xe0\xd3\xb9\x3a\x1b\x97\xbb\x93\x80\x73\xa3\xa1\x51\xd8\xcb\xe6\x42\x1e\xe8\x50\xe0\xea\xe1\x7b\x7c\x76\xea\xd9\xf7\xbb\xe3\x8a\xe2\x36\x81\x8a\xb6\x1a\x8b\x93\xdc\xc1\x5c\x67\x46\x50\xe1\x50\xda\x4f\x08\x1e\x00\x6d\x04\xa0\xac\xa3\x55\x52\x84\xb7\xf4\x0b\xbb\x41\xd2\x0c\x24\xa6\x3b\x49\xf5\x77\x27\x8d\x74\xab\xac\x37\x54\xe9\xd5\x30\x34\x5f\xbf\x35\x36\x29\xd3\x56\x9b\xe9\xd9\xdb\x60\x4b\x15\xdc\x56\x3d\x36\x20\xee\x73\x74\xc3\x67\xe8\x56\x5f\x75\x98\x7d\xcd\xf1\xb4\xbd\x81\xb3\xe1\x11\x52\x39\x64\x15\xdd\x36\x54\x2d\x80\xbc\x04\x52\xe3\xa9\xdb\xe6\xc9\x0f\xc3\x4b\x0c\x0a\x5e\x86\x7b\x00\x7d\xdb\xe1\x13\x7d\xaf\x63\xcb\x6d\x84\xd5\xe6\x2b\xb5\xa5\x0a\xf8\x0a\xbb\x7a\xcd\xb0\x35\xcb\x82\xe7\xe0\xec\x57\xe5\x67\xab\xe1\xb6\x2b\x64\x49\xfd\xd4\x7d\x7f\xde\x16\xcd\x57\xb4\x4e\x6a\xb9\x8b\xdc\xcd\xbc\xb0\xa5\x94\x12\x1b\xdb\x3d\xf1\x75\xc6\x95\xc5\x45\x07\x44\x72\x3f\xb9\xc0\x5f\xe8\x7d\xd2\xe8\x38\xd5\xa2\xb9\xe9\xbb\x80\x2d\x32\x76\x57\xb8\x78\xce\x4a\x6e\x8e\x99\x58\x31\x65\x17\x69\x4f\x65\xf6\x8a\x3b\xd0\xf6\x4f\x08\xb8\x71\x36\x9d\x2b\xd3\x69\x5a\xec\x00\x68\x15\xf0\xc3\xa0\x7f\x3c\xfa\x70\x7d\xf0\x61\x70\xf0\xe3\xf5\xe8\xa7\x73\x2e\x11\xff\x6a\x39\x3b\xdc\xd9\xc5\x88\x43\xc0\x57\x2c\xd1\x69\xff\x84\x65\x6d\x5e\xdb\x89\x31\xcc\x39\x05\x6f\xa0\xc8\xfc\xe3\xe9\x7c\x42\x8b\x9f\x0a\xfd\xa2\x9c\xb7\x6e\xd2\xc9\xd3\x2e\x86\xbf\xde\xf9\xdf\x3b\xb0\xd2\x63\x56\x94\x68\x12\xdc\x3c\x61\x18\x66\x32\xcf\x82\x1e\x89\xe4\x18\x65\x80\x08\xab\x60\x10\x9c\x48\xdb\x65\xca\x57\x74\x16\x95\xf7\xe9\x24\x78\xf9\x7e\x30\xda\x3d\x87\x76\xd9\x3d\xbf\x1c\xed\x1e\x0e\x8e\x07\xa3\xc1\x6e\x54\x8e\x39\xeb\x2e\x3f\x5a\x3b\xdb\xb4\x28\x49\x54\x95\x07\x62\xf6\xd4\x2b\xe6\x37\xea\xc6\x9e\xe5\x26\x91\xc8\x4c\xcc\x89\xda\x22\x63\x75\xf0\x52\xbb\x71\x6a\xe3\x95\x7a\xba\xf4\xc2\x29\x41\x6b\x3c\x59\xbc\xb9\xf6\x43\x1d\xa7\x33\xcc\xa8\x50\xd9\x6c\x05\x87\x67\x27\xfd\xa3\x53\x32\x50\xa5\x28\xee\x4f\xaa\x2b\x98\xa4\x29\x68\x94\xe4\x12\x75\x2d\xec\xed\x88\xad\xac\xa9\xb6\x25\xb8\x46\xf7\x10\x1d\x07\xd9\x04\xe6\x32\x03\xe1\x4c\x7d\xee\x4d\x6e\x65\x7e\x74\x7a\x31\xea\x1f\x1f\x0f\x0e\x83\xf3\xe3\xcb\xf7\x50\x83\x83\xb3\x93\x93\xfe\xe9\x21\xe7\xeb\xc4\x97\xe7\xe1\x4f\x0f\x06\xd7\x27\x83\x93\xb3\xe1\x4f\x12\x68\xad\x94\x1d\xea\x2e\x41\x4f\xe6\x46\x20\x19\x0e\xcf\x56\xd4\x0e\x9a\x04\x7f\x81\x0f\x93\x3e\x16\xc1\x81\x0e\x8e\x76\x1c\x27\x2a\x74\x3d\x86\xca\x99\x46\x3d\x54\x26\xa3\xc9\x6e\x10\x15\xe3\x10\xb3\xd6\xa3\xb5\xf7\x3e\x28\x3f\x57\x57\x57\x2f\x1e\xc2\x69\x3c\xc1\x1f\xfb\xf8\x1f\xb4\xd7\xc7\x7f\x59\x37\xd5\x6d\x71\x73\x55\xed\x1c\xa6\xe3\xfc\xe2\x3e\x9a\x4e\x89\xd5\x24\x9d\xdf\xb0\xac\xae\x5e\x48\xbc\xae\x5e\xb8\xab\xb6\x51\x6e\x4c\xd5\xd4\x2a\x54\x45\xc8\xd1\x51\xaa\xcc\xb2\x24\x66\xba\xf2\x24\xe6\x18\xa7\x39\x06\x58\x0b\x2e\x8b\xf0\x8e\xed\x7e\x4b\xa5\x7c\xa0\xf6\x82\x7e\xb2\xf0\xf5\x8f\x8b\x60\x16\x9b\x38\xdc\x3a\x31\x17\x15\x9e\x3e\x05\x11\xc8\x9f\xc2\x50\xdf\xc3\x44\x3d\x7e\x12\x74\x05\xf7\x13\xfc\xa0\x8a\x2a\x08\x5d\xf9\x76\x1a\xde\x15\xb0\x18\x7e\x1e\x47\x59\x19\xf4\x6e\xff\x88\x39\x1d\x90\xc7\x8d\xce\x92\x01\x9f\xfe\xf1\x1e\x0d\xbe\x55\xe2\xaa\x60\x36\x9f\x96\x71\x36\x8d\x94\x8d\xa0\xba\xde\x6e\x8e\x5c\x4e\x3d\xfc\x0a\x82\xf8\x35\xc8\x8a\xfe\x08\xd8\x05\x31\xbe\x7a\x81\x21\x32\xaf\x5e\x60\xc3\x5f\xbd\x48\xd2\x24\xba\x7a\x71\x05\x4d\xed\xff\x21\x3b\x61\xfb\x89\x3d\x34\x21\x24\x76\xa0\x05\x28\x7f\x17\x1a\xf8\x2d\x7e\x90\xf5\xd4\x0e\x6a\xdc\xa6\x2b\x15\x6d\xba\x60\x57\xf8\xb5\x85\xdf\x8a\xc8\x1b\x10\xd4\xdc\x55\x56\x16\xcb\x9b\x10\xd4\x07\xb4\xa5\xa0\xfd\xf3\xf3\xe0\x62\x30\xfc\x78\x04\x0b\xb4\x59\xa9\xd7\x97\xd4\x0f\xb5\xbd\xa8\xd7\xb8\x7d\xa2\x6b\x04\xad\x92\x6d\x42\x52\x37\xe8\x3a\x82\xae\x8e\xe9\xcd\xca\xec\x81\xbf\x8e\xf8\x5b\xe9\x1b\x6d\xe0\x3b\x0b\xbf\x00\x5a\x43\xc4\x1a\xc8\x06\x04\x59\xb3\xbd\x96\x80\x5a\x0a\xf4\xf6\xf2\xe8\xf8\xf0\xbc\x0f\xbd\x04\xd1\x76\x83\xd3\xc1\x5f\xae\x9b\xcf\xd6\xff\xb6\x5d\x78\xb4\xac\x86\x19\xa3\x5b\xe9\x9b\xad\xc0\x3b\x0a\x4e\x51\x9c\xd6\xea\x11\x3c\x52\x4b\x91\x8e\xfb\x6f\x07\xc7\xbb\xc1\xf9\xf0\xec\xe3\xd1\xe1\x60\x48\xf5\x1e\x9d\xfd\x38\xd8\xc0\xbc\xda\x02\x7a\x5d\xa1\x37\x2e\xea\x9a\x02\x9e\x0d\xdf\x37\x56\x93\xb5\x84\x13\xc1\xd6\x14\x6c\xdd\x86\x73\xe1\xb5\x17\x4f\x4f\x1b\xff\x71\x79\x36\xea\x6f\x44\x3e\x19\xb0\xa5\x80\xc3\xc1\xf9\xd9\x62\xe9\xba\x1c\x1e\xaf\x2f\xa2\x07\x64\x4b\x21\x2f\x06\x07\x97\xc3\xa3\xd1\x4f\xd7\x94\x2b\x94\x60\xcf\xfb\xa0\x20\x8c\xce\xae\x71\x57\x7e\x3d\xbc\x3c\x1e\x5c\x5c\xbf\x3b\x3a\xde\xc0\x74\xb9\x0e\xaf\xb5\xaa\xb5\x5b\xf5\xbd\x0b\x58\x59\x36\x5e\x13\x27\x7c\x6b\xe1\xd5\x5a\xf2\x76\x08\x33\xe0\x50\x2d\x8b\xcd\x67\x9b\xa8\x41\x7b\x1e\x6b\x56\xe3\x12\x1e\xa8\xf1\x75\xde\xbf\xb8\xf8\xcb\xd9\xf0\x70\x77\x33\xa3\xa2\x33\xa3\x8e\x15\xaa\xd6\x78\xf3\xe0\xc7\xc1\x4f\x9b\xab\x85\x1f\xfa\xba\xa2\x63\x6f\xad\x7f\xf3\xcd\x29\x45\x6b\xb0\xda\x44\xa5\xb6\xfb\x4d\x9c\x1c\xda\x56\xe1\xec\x72\x78\x30\xe8\xe1\x06\x78\xd4\x1f\xbe\x1f\x8c\xe8\xe7\xfa\x72\xfb\xc1\xb6\x15\x56\xcd\x6e\x1b\x54\x09\xdc\x88\x9d\x45\xdc\x90\x52\xe0\x04\xec\x22\x60\x6f\xb1\xa1\xa5\x3f\x09\xba\xb7\x99\x3d\x55\x6b\x06\x5d\x2a\xa0\x74\x10\x1a\xd4\x8b\x3f\x37\x23\xba\x1f\x74\x77\xa1\xd7\xdd\x5f\x0b\x50\x2d\x85\x5a\x2c\x53\xa0\x3e\xec\x06\xc3\xb3\x4d\xe8\x58\x5e\xa0\xeb\x09\x4a\x2d\xb0\x25\x79\x45\xec\x96\x62\xaf\xbb\x6f\x5e\x73\xb7\x8c\xae\xd1\x74\xfa\xba\x6e\x8f\x63\x81\xda\x0b\x74\x8d\x38\xbb\xfa\xd6\xff\x7a\x19\xb4\xdb\x17\xf4\x84\x6d\x2b\xec\x7a\x32\xad\xc3\xba\x8a\x08\xa1\xab\x45\xe1\x88\x70\x2e\xcd\x74\x84\xed\xf5\xdb\xac\x03\x8b\x96\x95\xb8\x4f\x8b\x92\x10\x75\xc6\xbf\xb5\x45\x76\x02\xb6\x14\x30\x9d\x4e\x6a\x3d\x1b\x70\x93\xe8\xd1\xda\xd5\xbb\x89\xdb\x12\xbe\x83\xf0\x68\x80\xa6\xbe\x1e\x42\x9b\xbf\x36\x23\xb9\x2f\x76\x5b\xb1\xf3\xbb\x6d\xcc\x00\x9e\xb0\x2d\x85\xd5\x06\xd0\xbb\x0d\xdb\xf5\xdd\x55\x67\xf0\xb5\xc5\xef\xcc\xa8\x6d\x85\xc8\x52\x76\x23\x4b\x82\x00\xd5\x52\xa8\x87\x37\x66\x5f\x86\x3f\xab\x43\x4d\xfc\x7d\xdc\x3f\x0d\x1e\x7e\x58\xbc\xfe\x41\x3d\x5a\xbb\xbd\x37\xc0\xd2\xa7\x92\x5c\x14\xaa\x95\x62\x0e\x30\x13\x79\x73\x16\x96\xfb\x8b\xbc\x17\x78\x60\x85\x21\xee\x30\xf7\xc6\x55\x09\xff\x9f\x7c\x44\xbb\x15\x5d\x5a\x45\xb5\x0b\x67\x19\xe5\xb7\xfa\xf9\x2a\x01\x74\xfc\x4f\x80\x37\xf3\x79\x5a\xa6\xe3\x74\x7a\xf5\x02\x4d\x5e\xca\x71\x76\xf5\x62\xd7\xbc\x9b\x50\x6e\x20\x12\x55\xbd\x7e\xf3\x7a\xef\x87\x3f\xff\x79\xef\xcd\xde\x9b\xff\x59\x2b\x86\x97\xfb\x85\x2a\xf0\xa7\x3f\xbd\xfe\xb7\xab\x17\xf8\x02\x04\xf9\xc5\x59\xe5\xdf\x55\x65\x98\x0f\xa3\x22\xd6\x1d\x1c\x1f\xe9\x80\x04\x6c\xa5\x57\x0a\x4a\x80\x8b\x00\x07\xd8\x22\xe7\xf4\x4b\x25\x82\xe3\x8d\x92\xbd\x48\x79\xa6\x30\xa9\x48\xc0\xf8\x5a\x24\x0e\x4e\xa2\x59\x9a\x3f\x39\x30\x4c\x29\x19\xca\x58\x8e\x84\x41\x92\x26\xbd\x24\xba\x03\x9c\x87\xc8\x84\xa7\x77\xb1\x70\x50\x33\xac\xc9\xd2\x8b\x8c\xbf\xac\xf9\xcd\x58\xa6\x2e\x3a\x91\xdd\x50\x07\x1b\xc6\x7f\x59\x23\x79\xa6\xb0\x08\x7c\x71\x71\x1c\x1c\x44\x3a\xab\x35\x9a\xfc\x63\x0e\x10\x8a\x1d\x3c\x8a\xb3\x93\xa8\xc0\xc9\xc6\xc9\xd0\x13\x44\x14\x04\xb5\x1c\x95\x7d\xf7\x37\x8a\xcc\x74\x0e\xbf\x11\xa4\xaf\x9f\xd7\xbf\x16\xc5\xd1\x77\xc8\xd4\x1e\x4f\x16\x8f\x92\xa5\x74\xf8\xe0\x02\xa1\xcc\xd0\x9d\xfd\xce\x5a\x54\x04\xa5\xf0\x8a\x77\x73\x1d\xbf\x12\xa6\xc1\x87\x78\xa2\x4d\xab\x7b\x63\x32\x38\xdb\x0b\xce\xa7\x51\x08\x82\xea\x97\xd0\x3c\xb5\x8e\x9b\xde\xfc\x15\xe7\x63\xca\xae\x49\x3c\x8d\x79\x3c\x00\x97\xa0\x43\x51\xa4\xbc\x55\x02\x7e\x26\xfa\xca\x62\x89\x8d\xb5\xc8\x31\x89\x7e\x42\x18\x39\x46\x39\xc7\xec\x04\x3d\x33\x71\x52\x91\x49\x0a\xea\x01\xda\xe5\x51\x44\x58\x47\x55\x3b\x82\xca\x82\xc6\xc5\x27\xe5\x31\x46\x9d\xfd\x10\xfe\xd4\x2e\x6c\xed\x22\x89\x77\xc7\x5b\x53\xbc\x0d\x48\xe4\x12\x42\x85\x52\xeb\x51\x28\xb5\x1e\x85\x52\xcb\xc2\x3c\x9c\x11\x9c\x7a\x77\x80\xaf\x54\x0a\x0e\x87\x34\xed\xb0\x44\xb1\x2a\x35\x7d\x9c\xce\x13\x35\x57\x99\xe5\xa9\x38\xc0\x47\x58\xc3\xa3\x46\xa1\xda\xc4\xa5\xf6\xdd\x1e\x0b\xde\x56\x98\xf9\x55\x6c\x46\xeb\x78\x30\x8d\x67\xb1\x62\xa9\x16\xf6\x63\xfc\xbb\x45\x0f\x68\x8f\xe7\x25\x5e\xa3\x11\x1a\xd5\x5f\xbb\x95\x3b\x41\x6f\x48\xe8\x29\xfa\xf2\x97\xf7\x61\x52\x2f\xa9\x3f\xf1\xc6\xc4\x17\x99\x88\x15\x21\x0d\xdd\xe5\xb5\xc5\x14\x16\x81\x8d\xb1\xf3\x5e\xb0\xc8\x4b\x05\x0f\xb9\xd0\xb7\x4e\x32\x99\x99\xa5\x27\xb6\xed\xd6\x7e\x18\xad\xc5\xe8\x30\xc0\x36\x33\xae\x18\x94\xae\x2b\x51\x6b\x38\x51\x38\x0c\xae\x4c\x31\xad\xab\xd9\x7a\xa4\x9e\xb4\x68\x26\x3f\x0c\x51\x8c\x45\x0c\x4f\x4a\xdb\xdd\xc8\x15\xa5\xd2\x77\x5f\x50\x2a\x2b\xd8\xcd\x7a\x65\xda\x5c\x1f\x97\x13\x37\x2e\xd5\x29\x24\x8c\x0f\xd0\xe0\x95\x17\xeb\x2e\x3d\x89\x54\xc2\x8c\x5b\x1d\xb0\x5f\x45\x55\xd5\x81\xf0\xc9\x0b\x57\x38\x61\x59\x13\xb6\x9d\xb0\x45\x34\x45\xd5\x10\x5f\x8c\x61\xaa\xba\x53\xe7\x64\x9a\x1d\xa6\x81\x2b\xb2\x48\x85\x20\xa7\x4e\x56\xb4\x97\xbb\x03\x07\x6b\x15\x8e\x43\x98\x56\xcf\xe0\x9b\x29\x96\x76\x29\x96\x0a\xd9\x81\xe2\x64\xfe\xf9\xd5\x49\x38\xe6\x30\xaa\xf7\x0c\x39\x1e\x99\x4f\xa7\x55\xc8\xeb\x45\x26\x45\xf5\x0d\x58\x58\x17\x9d\x83\xdd\x43\x18\x4f\xe9\xf3\x6b\x3d\x78\xac\x9c\x61\xb8\xa0\xe9\x1e\x84\xed\x18\x92\xd0\xca\xf7\x11\x5d\x6b\x6a\xa1\x22\xa1\x17\xe2\xdd\x01\xd2\x4c\x26\xf5\x57\x31\x9b\xca\x62\xd3\x5c\xe4\xaa\x2c\xc2\x81\xbb\xc4\xa9\x95\x94\x21\x31\x4e\xa8\x0b\x8c\xca\xc8\x30\x3a\x44\xa0\xee\x0e\x63\xe5\xe5\xae\x1d\xf5\xb5\xb7\xaf\x79\x58\x0f\x9a\xe4\xe2\xdc\x15\x56\x16\x76\x29\x22\x9f\x4b\x88\xe5\xe2\x2e\xf0\xe6\xc9\x7c\xa7\xb1\xe5\x07\xe2\x10\xa4\x8a\xe5\x11\x52\x40\x02\x27\xcf\xe5\xf2\x0e\x78\x15\x75\xe2\x65\xa8\xcf\xfb\x63\xcc\x72\x98\xe5\x2a\x4b\xaf\x72\x43\x0b\x8a\xa7\xa2\x8c\x66\xbb\xda\x19\x9f\xb6\xe7\x00\xad\xa6\x35\x0c\x5c\xa1\x5f\x83\x72\x59\xa2\xd3\x5b\x90\xcf\x29\x03\x01\xeb\x41\xfe\x4c\xcc\xe5\x8a\x53\xae\x63\x1a\xb9\x7a\x1e\x6a\x33\x4d\xc8\xc4\x6e\xc6\xb5\x50\x9c\xb5\x6f\x96\xde\x76\x1a\x5d\xed\x01\x65\x01\xab\xf0\x17\xe4\x9d\xea\xee\x71\x2b\xe5\x05\xf8\x6a\x7a\x4d\x6f\x6f\x23\xca\x00\x6a\x08\x6b\xf1\x95\x44\x86\x7e\x08\x3e\x22\xa8\xf9\xc7\xe4\x3a\xd3\x41\x7c\xfc\x78\xdb\x49\x7d\x98\xce\xf1\x74\xb5\x15\xaf\x06\x05\xcf\xa2\x96\xe8\xa1\x36\xc3\x38\x3e\x1f\x4f\xc4\x33\xaa\x42\x66\x87\x2b\xf3\x9b\xc4\x4a\x22\xe3\x99\x35\x82\x11\x4b\xf0\xcd\x82\x3c\xe0\x72\x18\x57\x5d\x73\x9d\x62\x78\xf9\x2d\x25\xc3\x9b\x27\x89\xce\x29\x52\xa5\x4c\x96\x24\xd9\x10\x87\xf6\x55\xd0\x09\xd0\x90\x91\x4e\x9b\xb0\x96\xbc\x12\x9c\x24\x5c\x23\x42\x61\xa1\x42\xea\x38\x04\xb0\x93\x78\x30\x59\x04\x19\xf4\x62\x50\x2b\xee\x06\xd7\x51\x03\x7d\x80\x4d\x51\x16\x14\x1b\x52\x5f\xe4\xc1\x9a\xa1\x6e\xef\x0a\xfe\xce\x4f\x24\xb1\x33\xc1\xd4\x67\xea\xa6\x04\x3e\xd6\x63\x98\x4f\x8c\xd6\xaa\x3e\xd9\x5e\x30\xba\x87\xd5\x15\x0f\xe7\x69\x95\xbc\xc1\x94\x60\xb7\x71\x02\xd0\x94\xaf\x9f\x0e\x86\x52\x18\x8b\xac\x48\x9b\x63\xc0\x55\xe0\x13\xf5\xbb\x4a\xe5\xa5\xfc\x8e\x39\x25\x3e\x09\xe6\xd9\x24\x2c\xf9\x65\xd9\x8b\x96\x61\xab\xc2\x3d\x05\xec\x15\x6f\xbd\x84\x0c\x91\xb2\x21\x20\x1a\x45\x38\x90\x3b\x68\xaa\x08\xb7\xf8\x05\x67\x55\xb0\x54\x88\x05\xa2\x48\x0b\xf3\x52\xe8\x5f\xcd\x42\x2c\x50\x8e\x97\xac\x30\xf6\x4d\x32\xfe\x2a\x8e\x03\x5d\x89\xa8\x7b\x20\x29\x2e\x4a\x3b\x0c\x46\x8c\xf4\x13\xc5\xe4\xca\xe8\x9c\x04\x0b\xaa\x6b\xef\x9d\xd5\x14\x01\xcd\x2b\x1a\x56\xa6\xce\x80\x56\x01\x4f\xfa\xa7\x47\xef\x06\x17\xa3\x6b\x74\x33\x62\x78\x36\xcb\xd8\x61\xa4\x78\x35\x52\x98\x9a\x13\xcc\x75\x18\x42\x43\x66\x4f\x26\x1b\x9c\xd6\x4a\xc6\xe9\x44\xdf\x60\x62\xae\xb2\xda\xfc\x4d\x57\x6e\x49\x0a\x23\x26\xdf\x0b\x82\xcb\x84\x8e\x86\xd3\x07\xe8\x57\x31\xe8\xb4\xc9\xae\xda\x90\x01\x60\xaf\x42\x52\x81\x2e\x1e\x63\x4a\x04\xa1\x52\xcf\x91\x0e\xbc\x00\xe5\xfa\xda\xb7\x23\x9f\xd4\x7c\x38\x3a\x7b\xd5\x55\xe6\xaa\x59\x56\xa5\x8d\x81\x68\x07\xef\x68\x83\x21\xd7\xb7\x0b\x20\x2f\x20\x4d\x6e\xb4\xc8\xec\x14\x0d\x13\x32\x68\x97\x64\xfa\x14\x3c\xc4\x45\x8c\x60\x18\x1a\xaa\xa1\xcb\x21\x6f\x61\xa7\xba\x21\x70\x46\xf0\x5a\x28\x13\x9d\xc4\x17\x08\xe6\xb4\xca\xdf\xce\xa7\x80\x0c\x5b\x36\x56\x30\x2f\x62\x0f\xc6\x71\x51\xcb\x10\xba\x74\x02\x31\x89\xd1\x60\x09\x86\xfa\x2e\xd4\xb7\x71\x61\x1d\xc5\xd8\xfb\x74\x2a\x3d\x65\x04\x07\x73\x98\xb9\x79\xf0\x12\x7a\x2b\x8c\x99\x0a\x67\xd0\xe3\x46\x07\x72\xdc\xae\xe5\x52\x3c\x54\xe2\x0e\x02\xb6\x5a\x8e\x85\x53\xdb\xd3\xd4\x6c\x36\xb0\xc3\x97\xa8\x2a\xf0\x39\x0e\x5d\x54\x0c\xab\xcf\xc1\x63\x18\x97\x2a\x29\xa3\xc9\x1b\x56\x0d\x38\x9a\x13\xe6\x19\x9e\x23\xc0\x0a\x94\xcc\x79\x6d\xa2\x03\x90\xa7\x40\x0b\xf5\x44\x2b\xd7\x9d\xa4\x91\x51\x38\x51\xe2\xd9\x7c\x16\x84\x33\xba\x25\x86\x69\x58\x5f\xd5\xa8\x6e\x56\xcd\xbb\x8b\x2b\x67\x78\x71\x1f\x3e\x98\x28\x83\x6f\x5e\xff\xf0\xe7\x93\xdd\xe0\xcd\x7b\xf8\xdf\xeb\xf7\xdc\xb1\xce\xa6\xb9\x3c\x47\x55\xf6\x82\xde\x1b\x5c\xf2\x61\xd1\xa0\x04\x7b\x50\x78\x9e\xd0\xc9\x3f\xde\x2a\x12\x0f\x7e\x61\x7b\x7e\x49\xbe\x95\x26\x09\x5e\x1e\x46\xb7\xe1\x7c\x5a\xee\x2f\xde\x3d\x53\xb7\xe8\x2e\x9e\xd8\x78\xca\xaa\x0c\xa5\xd3\x47\x69\x74\xa0\x38\x0b\x9f\x70\x27\x63\xd6\x1f\x8a\xbc\x88\x8c\xf3\x07\x3c\xfa\x43\xa3\x52\x47\xa5\x3b\xc3\x6e\x45\xd8\x5a\xbb\xbc\x76\x7d\xae\xcd\xf0\x10\xab\x41\x53\xda\x4b\xbc\x60\x89\x60\x1f\x30\x29\xfe\x48\xf3\x1b\xda\xd2\x52\x56\xf7\x78\xe5\xe0\x41\x4d\xbe\xbb\x01\xa9\x86\xda\x2e\x2f\x28\x70\xd9\xd4\x17\xbd\x05\x09\x88\x14\x9c\xc5\xea\xf3\xf0\xb6\x57\xbb\x76\x3d\xae\xfb\xf6\x0f\xff\xfa\x6f\xd8\xb5\x4d\x0f\x67\xbf\x89\x07\x25\xc3\x92\xac\x39\xf5\x65\xbc\x6c\x1e\x6a\x2f\x6b\x87\xa5\xa4\xda\x91\xe5\x7e\xa3\x52\xe7\x1b\xc9\x00\x16\xfa\x3c\xc7\xbb\x3b\xa0\x55\x40\x21\xe2\x31\x1f\xed\x18\xdf\x70\x5b\x6f\xf5\xce\x4e\x36\xf8\xcb\xb5\xc4\xcf\xbc\xb6\x13\x5f\x9e\x54\x8e\xdf\x5c\x08\xd4\x66\x19\x3b\x0c\xe8\x89\x1c\x35\xbe\x62\x89\x68\x4b\x06\x23\xf8\x2e\x2e\xca\x28\x6f\xdc\x70\x0a\x78\x12\x55\x17\x56\x18\x18\x51\x27\xeb\x5f\xdc\xb5\xea\x9b\x15\xd0\xf9\x28\x95\x7a\xc4\xc5\xca\xdd\x0c\xb6\x5d\xec\xe8\x31\x38\xd7\x71\xed\x38\xee\xf5\x22\x2c\x48\x22\x7c\x1f\xf3\xda\x4e\x9c\x06\x7f\x28\xd4\x1e\x82\xa3\xaf\x95\xe0\x20\xfa\xe7\x47\x8b\xf3\x97\x22\x82\x05\xf2\x12\xb6\x1c\x78\xbc\x71\x9c\x42\x3b\x8c\xe2\x0c\x8f\x3f\xb4\x29\x0a\x14\xd6\x0f\x50\xe7\x56\x37\x02\x30\xe4\x0c\x3d\xa7\x0e\x6d\x9c\x0d\x57\x99\x70\xac\xce\x08\x60\xeb\x9a\xec\x05\xc1\x4f\xe9\x5c\xd9\xb8\x4d\xe2\x82\x36\xd4\xfa\x18\x19\xa7\x88\xe9\xd4\xec\x63\x6f\x57\x33\xa7\x98\x09\xc5\xdc\x99\xa9\x54\x9b\x09\xc5\x0b\x4f\x02\x98\x8f\xa0\x12\xb5\x3c\x3b\x55\x11\x1d\xe1\x13\x3b\x54\x23\x5f\x06\xbc\x14\xda\xe6\x9b\x96\x7a\xfd\xa6\xd6\xb8\xe7\x20\xb7\x06\xa6\x79\xfa\xf7\xd4\xee\x5f\xbb\x0a\xec\x47\xc8\x62\x66\x54\x19\x5b\x74\x0c\x02\xde\x1c\x3d\x42\x7b\x74\x41\xe3\x45\xcb\xaa\x3c\xdd\xfa\x94\x83\x8c\xd9\xd4\x79\xaa\x24\x84\x48\x27\xb0\x73\xce\x85\xb5\x32\x2c\x8c\x09\x4c\x6c\x82\xd5\x0b\x68\x2b\x45\x39\xd0\x85\xa5\x8e\x4b\xc2\x95\x92\x1c\xa4\xb2\x4f\x2b\x82\xc7\x88\x62\x8b\x4f\xd8\x15\xc4\x56\x94\x03\x35\x37\xbe\x0e\x21\x9b\xc5\x38\x30\x21\x2b\x3d\x0f\x2d\x11\x71\x8c\x54\x70\xe5\x6a\xfd\xde\x0b\x6c\x75\x16\x66\x01\x4f\x7a\x8e\x3d\x3a\x47\x93\x7d\x20\x5d\xfb\x9b\xc3\xcf\x5d\x0a\x37\x8e\x1d\x57\x07\x82\x5e\x59\xcc\x1a\x74\xbc\x74\x9b\x81\x97\x84\xaf\xb2\x94\x5b\xc0\xdf\xa9\xf4\x26\x0b\x26\xb2\xa0\xed\xa0\x24\xa1\xd6\x97\x65\x1b\x22\xf0\x6d\x2d\xf4\xaf\x0e\x58\x82\x58\xce\xd1\x59\x2b\xc3\xc1\x34\xb3\x38\x3b\xf0\x6c\x85\x45\x60\x3f\x44\x27\x94\xb6\x7b\x88\x92\x87\xe0\x21\xcc\x63\x5c\x90\x0b\x75\xf4\x73\x13\xa1\x0d\x71\x24\x2c\x64\x3e\xc4\x2e\xc6\xcb\xa6\x0f\x5e\x0c\x6d\x44\x1c\x23\x3f\x13\x45\x4b\x41\x1e\xb0\x99\xd2\xd0\xf1\x19\xec\xc5\x5d\xe0\x98\xf6\xbf\x55\x4e\x7c\xb7\x00\xed\x21\x7d\x84\x5c\x10\xff\x18\x69\xd3\x79\xad\x51\x6c\x41\xfc\x4d\x31\x73\x55\x6c\x61\xd7\xe6\xf9\x71\x97\x09\x1c\x0c\x7c\x71\x9d\x70\x1b\x58\x50\x36\xb0\x92\xb4\x5b\x34\x5d\x4b\x71\x27\x34\x51\x34\x4c\x0b\x58\xc4\x77\x89\xa4\x66\x2e\x17\x74\x00\xba\xbe\x5f\xbd\x14\x0b\xa5\xcd\xbb\x3a\xcd\xbd\x3e\xc4\x2e\xc6\x4b\x79\xdd\xbd\xf8\x59\x68\x58\x36\x64\x17\xbc\xb8\x81\xef\x56\xcf\x16\x20\x9c\x20\x64\x08\x60\x4c\xa1\x3a\x49\xe1\x8d\xc0\x88\x50\x06\x53\x65\x38\x14\x27\x8b\xdd\xde\xc1\x3b\x3a\x93\x69\xf6\x6b\x28\x87\x85\x58\x51\xda\x23\x71\x22\x45\xfb\xea\x3a\x17\x8f\xcc\x71\x6f\x1e\x14\xe9\x4c\x9d\xa4\xf3\xcc\x05\x1a\x3b\x9b\xea\x06\xa3\x3a\x4e\xe6\xc0\x2d\x25\xad\x90\x67\x3f\x32\x08\xf0\xc2\x4e\x70\x3e\x3a\x3a\x3b\xe5\x4e\x76\xcd\x5b\x3b\xe9\xf0\x7d\xd0\x3f\x3c\x39\x3a\xe5\x88\xab\xf7\x3c\xf9\xe5\xe1\xd1\xe8\x6c\x28\x01\xe8\x12\x2c\xc4\x49\xff\xb4\xff\x7e\x20\x41\x98\x12\x1c\x04\x5b\x79\x7c\x65\x27\x62\x8d\x96\xcf\x38\xcb\xe4\x33\x54\xc0\xc9\x05\x40\xc5\x10\x28\xea\xf6\xcc\xb5\x5b\x1c\x1e\xd7\x8f\x9c\x65\xde\x38\xcf\x09\xa7\x98\x78\xf0\x49\x45\x03\xe0\x3a\x9d\x8b\xca\x8f\x55\x33\xf2\x00\x79\x25\xa9\xbf\xd5\xf9\x13\x1a\xee\xf8\xf2\xf7\x81\xea\x22\x14\x37\x9f\x38\xc9\x38\x66\xdc\x25\x0d\xbd\xe2\x88\x5c\xee\x14\x67\x4e\x07\x89\x33\x65\x81\x16\x55\x61\x2b\x26\xea\xa2\xd3\x18\x31\x56\x46\x3d\x1c\x07\x6f\xfa\x76\xec\x2b\x3f\xba\xf5\xa4\xe0\x60\x64\x61\x8c\xb5\x1d\xcc\x9d\x4b\x06\x77\x64\xf3\xa4\x46\x10\x2c\x5a\x71\x9e\x26\x74\x92\x16\xde\xe2\x56\x73\xc9\x7a\x2f\x9b\x46\xbc\x09\xcc\x76\x78\x59\xab\x25\xd8\x70\xf2\xa6\x9b\xe7\x67\x43\x2e\x2f\x2b\xbd\xb2\x13\x85\xf1\xa4\x69\x6c\xc7\x41\xac\x16\x64\x00\x8b\x42\xf9\x39\x43\xf5\x54\xb2\x7b\x0a\x9e\x02\x5f\x58\xdd\xd6\xe3\x05\xd9\x62\xcf\x5c\xb5\x91\x51\x26\x94\x4e\xc5\x0a\xb1\x11\xf0\xce\x82\xd7\x14\xce\xcd\x0b\xee\x01\xce\x0a\x2e\xdc\x0c\xca\xb7\x82\xe6\x6d\x00\x9d\xbb\x32\xa2\x5f\xcc\x80\xb3\xb0\x1c\xdf\x3b\x80\x45\x52\x86\x29\x0c\xf9\xd5\xb4\xad\x2c\x1f\x7b\x69\x37\xb4\x37\xaa\x0b\xb0\x54\x77\x05\xd5\x64\x44\xde\xa2\x18\x2f\xe8\xef\xb1\xba\x41\x30\x73\x01\xae\xdb\x74\xac\xbc\x98\x1b\x9c\x33\xe1\x26\x39\x88\x55\x68\x80\x1b\x5c\x87\x50\x76\x1a\x91\x8d\xc3\x3a\x75\xa5\x18\x0f\xd6\x2d\x31\xac\x17\xa9\x9d\x69\x94\x63\xbc\x40\x1c\x8b\x31\xce\xcf\x01\x05\xeb\x51\x8b\x13\x0c\xdb\x19\xe6\x57\x7c\xbc\x8f\x94\x65\xac\x4e\x72\xab\x4d\x69\xa7\x46\x5f\xd2\xb9\x25\x39\xd9\x36\xc8\xc1\x5e\x05\xbc\x2b\x5c\xd2\xa0\x4c\x2f\xe7\xee\x0f\x39\x59\xbb\x40\xf1\x42\x2d\x48\x6a\x57\x9b\x8b\xdc\x94\xd2\x61\x82\x3f\x7d\x4b\xf6\xf7\x21\x56\xce\x62\xee\x83\xfd\x53\xd9\x02\xb5\x16\xc9\x07\x93\x15\x73\xdf\x8a\x29\xc8\xc0\x10\xb0\x0c\x8a\x9a\x16\xad\x12\x95\xc3\xaa\x54\xc6\xe3\xf9\x34\xcc\x7d\xbc\x7d\xdb\x61\x30\x62\x90\xa5\xf9\xf8\x3e\x4d\x8b\x85\xa1\x39\xe6\x4e\xc7\x9e\x8d\x17\xe2\xf8\x7b\x2f\x78\x9b\xe2\x0c\x4d\x37\x66\x61\x1e\x51\x27\xcc\x70\x88\x94\xa5\x1a\xda\x37\x2a\xd9\x63\x54\x59\xb5\x17\x68\x81\xa3\x7d\x30\x38\x65\xff\x99\x98\x4b\x15\x57\x67\x12\x41\x78\x17\xb2\xce\x5e\xb6\x92\x12\xa4\xb1\xda\x57\xd6\x45\x78\x74\x58\x73\x92\xa8\x7f\x91\x7a\x6c\xbb\x56\x3b\xd3\x2d\x30\x62\x2a\x44\xda\xbf\x60\x48\x56\x2f\x21\x41\xc4\xca\x69\x51\x4b\x83\x43\x10\x3d\x18\x65\x50\x86\x46\x62\x43\xae\x11\x55\x28\x54\xeb\x0e\x52\xe6\xe9\x03\xd0\x5a\x00\xf4\x50\xd0\xdb\x78\x32\x39\xe9\x20\xc2\x0a\x84\x24\x04\xda\xb9\x11\xcc\x04\x53\x5b\xd7\xdd\xd5\xae\x5e\x2c\x1d\x28\x54\xae\x26\x78\xa6\xad\xad\x27\x89\x94\x1f\xb2\x1b\x64\x21\x57\xe2\x6f\x73\x50\x48\x80\x81\x9e\xc3\x31\xd5\x3d\x1a\x88\x57\x4e\x52\xb8\xfc\x3d\xc1\x0e\x2e\x38\xbb\xd8\xe7\x5c\x86\x3a\x82\x49\x82\x2d\x7f\x9a\x86\xff\xd1\x3c\x89\x8d\x7b\xae\xa3\x05\xfd\x61\xda\x08\xf3\x00\x0f\x3e\xc2\x9e\x26\xc6\x50\x5a\x4d\xcc\xae\x82\xf9\x41\xda\x85\xd4\x9e\xc1\x34\xe9\xb8\x5c\x91\x98\xc2\x3c\xb0\x55\xab\xf4\xe2\xe2\xa0\xb4\xb3\xcc\xd1\x38\x0a\xad\x19\x75\x67\x82\xf5\x29\xbc\x4b\xd2\x02\xd6\x5a\x52\x27\x8a\x72\xc2\x3b\xfb\xfa\x52\x0b\xac\x31\x64\x59\x18\x4c\xe9\x14\xee\x56\x5b\x4a\xe1\x7a\xb4\xb4\x4d\x59\xda\x95\x84\x95\x47\x76\xb5\x71\xd1\x6e\x64\x66\x6b\x9e\xaa\xf5\xe2\x70\xd0\x0f\x6e\xc2\x31\xcc\x2d\xec\xb4\xfc\xdc\x62\x08\x8d\x81\x45\x1f\x54\xa7\x14\xa5\xad\x97\x63\xe0\x52\x18\xfe\xe8\xe1\x3b\x83\xc5\x14\xe4\x98\xa4\x8f\xc9\x34\x0d\xf1\x66\x47\x4f\x12\xb8\xa0\x46\xb3\xda\xc6\x8e\x9f\x6d\xba\x81\x71\x82\x29\x23\x44\xda\x88\x90\x63\x05\x68\x77\x78\x17\x18\x4e\xf7\x83\x3f\x14\x18\xe8\x30\x36\xee\x16\xbc\x3c\x2d\x30\x38\x31\x28\x06\x9d\x2d\x20\xdd\xc2\x50\x6f\x11\x7d\x51\x39\xfc\xab\xe0\x6f\xea\xa8\x18\x14\xa7\xe4\x0e\xdd\x22\xe6\x19\xfa\x82\xa0\xa1\x95\xd6\x5f\xa8\x99\xa0\x94\x8a\xbc\x56\xe2\x7c\x8c\xca\x15\x3b\x3f\x7d\x0d\x51\xb8\x46\x41\xc5\x8b\x73\x5c\xa8\x5e\xdb\x89\xe7\xb9\xbe\xb7\x54\x7b\x92\x5a\xe4\x4d\x55\x19\xde\x45\xdf\x8b\xd4\x97\x69\x63\xcb\xd8\x8a\xe7\x0a\x25\xc3\xb2\xb8\xc7\xc8\xdc\x3a\xfd\x09\x9a\x43\x60\x18\x6d\x63\x61\x47\xde\x1a\x4a\x45\xd0\x61\x4e\x58\x01\xda\xe2\x48\xe2\x60\x94\x81\xa9\x3a\xa8\x79\x49\x8e\x4a\x80\x87\xff\xaa\x69\xcd\x74\x1e\xce\xe7\xa6\x25\x08\x2f\xc8\x6c\x3e\x2d\xe3\x4c\x61\x14\xca\x63\x2a\x74\x9e\xd5\xb8\x09\xad\x0c\x29\x07\x1b\x83\xa9\xde\xd9\xc9\x30\xb8\x50\x70\x88\x57\xcc\x2a\x33\x10\x7c\x79\x7a\xd6\xe6\x3e\xab\x25\x88\x20\x08\x7e\x67\x32\x85\x30\x66\xd9\xd0\x21\x40\x05\x31\x4e\x67\x68\x6c\xf7\x32\xfa\x6c\xc2\x81\xd1\x9d\x70\x4a\x21\x45\xf1\x86\x00\x1a\x4d\xad\x52\x84\x40\x87\xb9\xb0\x02\x99\x4b\x0e\x0a\xa3\xc4\x7d\xf2\xe7\xe2\xde\xbd\xea\x92\xf5\x4a\x0b\x00\x41\x80\xa5\x8f\xe6\xb5\xa1\xf2\xa1\xb4\xb2\x1c\x0e\xfe\xe3\x72\x70\x31\xe2\xee\xf3\xaa\xd7\x0c\x31\xa6\x70\x19\x1c\x5e\x0f\xcf\x2e\x47\x83\x6b\xbc\x6a\xe1\xae\x9a\xad\x45\x39\xd0\xf3\xb3\xd3\x0b\xd6\x0f\x6c\xf1\xde\x4e\x7e\x76\x3c\xb8\xd8\x67\xa3\x92\x56\xaf\x19\x62\x10\x8e\xad\x82\x7a\xc9\x13\x4a\xf1\x47\x6a\x05\xec\x00\x30\x30\x7b\x14\xeb\x61\xe1\x0e\x81\xfd\x3c\x4e\x6e\x53\x5a\x25\x71\xcf\x97\x0b\xe1\x56\x5b\x00\x70\x02\xe0\x26\x63\x12\xe1\xdd\x1c\x50\x66\x30\xe3\xa3\x17\x17\x59\x91\xfe\xbb\xd2\x01\x66\x19\x1f\x0e\xdb\x9f\xde\x83\xbd\x3e\x67\x3d\x49\xe1\x6f\x15\x15\xbe\xfa\xd3\x4c\x65\x18\xfc\x16\x74\xcd\x27\x3c\x82\xb9\xc3\x01\x97\x8e\xe3\x85\x43\x6c\x5c\xfe\xbb\x97\x9c\x1b\x61\xb4\x89\x0a\x6d\x48\x5c\x59\x18\x7d\x06\x6b\x31\x8c\x6c\x04\x85\x56\x1e\x9f\x99\x3e\xe6\x3d\x9b\x4e\x56\x4f\x7a\xa1\x73\xa1\xbf\x4a\xf4\xb8\xf2\xea\xdf\xaf\xe6\xaf\x5f\xff\x89\x9b\x21\xbf\x82\x20\x52\x83\x64\xa0\x6e\xad\xba\xbc\xae\x6a\x7a\x4a\x90\x83\x69\x3a\x9f\x04\xef\x50\xf7\xcd\x9f\x1c\x1f\x6c\x2d\x64\x7f\x91\x8d\xe1\xe9\xea\xad\xc4\x9a\x12\xb7\x03\x66\x04\x1e\x47\xf1\x03\x1d\x13\x2f\xb2\xde\x8c\x61\x1b\xa1\x6e\x4c\x75\xe0\x21\x56\x28\x2f\x62\x8e\xf1\x1c\x36\xa1\x0f\x11\xd4\x4a\x6f\x35\x16\x11\x0f\x55\xd8\xe9\x18\xb3\xef\x51\x4e\x93\xc2\x52\x21\x8a\x9e\x7f\x83\x3b\x15\xa3\x67\xce\x42\x8a\x58\xa5\x8f\x13\x94\x1e\xbc\x64\xda\xcd\x57\xe4\x6b\x08\xd3\xbe\x61\x16\x81\x91\xbe\xa5\x16\x7a\x06\xa9\x98\xa6\xd2\x82\x2c\x47\x97\xe5\xae\xb2\x05\x02\x99\x81\x0e\x64\x8a\x29\xa8\xa8\x46\x2a\x70\x95\x8b\x0b\x43\x25\xb3\x9a\xe7\x3a\x10\xb4\xa6\x49\x84\x8d\xa0\x83\x48\x64\x44\x31\xcd\x6b\x4e\x8e\xea\x06\x04\x3e\x84\x83\x17\x4f\x27\xb2\x4b\x1a\x26\xb9\x0e\x1e\x4b\x85\x1d\xc0\xa8\x41\xb5\xfc\x34\x0c\x11\xcf\x68\xd9\x8c\x1b\xa7\xdc\x8f\x61\x5e\x9f\x6e\x97\xbd\xf4\x70\x7f\x93\x2e\xdb\xee\xbd\xd2\x9d\x02\x67\x6c\xfc\x61\x14\x98\x02\x9f\x1c\xa8\x9b\xf4\x4b\x10\x45\x3a\x7f\xf8\x8a\x02\xc9\x0d\x94\x37\x52\xb4\x29\x21\x28\x9e\x23\x26\x94\xa0\x6e\xa2\x90\x6a\x82\xa8\xc7\x20\x4e\x53\x14\xf5\x98\x04\xea\xdc\x3a\xcf\x2c\xcd\x56\x9b\xe6\xab\xb4\x40\xc7\x8a\xce\x95\xce\x48\xe9\xf2\x36\xd5\x11\x91\x7b\xe2\x38\x96\x7b\x56\x11\xda\x34\x42\x6b\x91\x05\x06\x2a\xcf\xec\xc2\x39\x9a\x05\x5e\x29\x28\x03\x7a\x2a\x01\xf6\xd2\x7e\xd0\x8e\xe8\xd7\x7c\x79\x07\xbc\x70\xd6\xb3\x54\x48\x04\x92\xd7\xd9\x7a\x19\x07\x0c\x1f\x4b\xbc\x59\x86\x87\xd1\xa7\xb6\xcd\x0e\x5b\x6d\xa2\xb6\x3b\x86\x9e\x89\xbd\x5c\xf9\x45\xec\x3e\xb5\xa5\x7c\x6b\xfe\x5e\x16\x66\xe9\x85\x47\xc5\xd6\x81\x96\x85\x5e\x69\x8e\xe5\x26\xeb\xf0\x19\x3a\x61\xca\x62\x36\xc7\xae\x6e\x05\x4f\x74\x97\xb8\x6b\x61\xfb\x89\xbd\xb2\xd5\x5d\x3e\x5c\xd8\xba\xf2\xf5\xd5\x04\x72\x34\x90\x41\xc2\x23\x98\x1a\xd8\x42\x9c\xda\x43\x9b\x30\x1d\x9b\x61\x4b\x6c\x99\xca\x66\xa9\x64\x7b\xb5\x78\xcf\x92\x63\xe8\x3d\x63\xc1\x7a\x71\xf1\x41\x99\x11\x4d\xd3\x47\x65\x29\xe7\x5a\x4e\x7c\xe9\xdb\xb0\x57\xe9\xc1\x26\x78\xdd\xbf\x14\xea\x51\xdb\xa8\x51\x50\x75\xc7\xda\xb9\x3e\x32\x2b\xb2\xda\x20\xb3\x37\xfc\x8d\x22\x0c\x88\xb2\xef\xc8\x8a\x68\x3e\x49\x7b\x65\xf9\x44\x4d\x26\xda\xf3\xc9\x34\x0c\x1b\x1d\x5f\x71\x48\xca\xd4\xb9\x10\x76\xd2\x5a\x94\x03\x2d\x31\xaf\x88\x43\x3d\x68\x14\x12\x80\xac\x4b\xeb\xf6\xa6\xaa\x2d\xb2\xe4\x2b\x99\x97\x1e\xad\xb5\x28\x24\x01\xa1\xec\xb6\x63\x59\x8c\x05\x75\xdb\xe8\xd0\x8d\xda\x79\x2f\x5b\x1b\x65\xc2\x54\xa4\xcc\xe3\x48\x1d\x39\xc4\xc9\x24\x7e\x88\x27\xf3\x70\x5a\xd9\x60\x50\x1e\x08\xba\xa3\x00\x9e\xe5\x9c\xef\xaf\xed\x50\x5c\xa2\x50\xee\xe1\x6c\x1a\x2a\x33\xaf\xb3\x7e\x95\xf0\xa3\xb2\x36\xab\x92\x8f\xa1\x1d\xb5\x30\x4a\xd7\x80\x6c\x27\xa4\x4a\x97\x08\x5f\x63\xa7\x08\xee\xe6\xf1\x64\x2f\x08\xfa\x18\x2f\x8c\xe6\x3b\x95\x9f\x58\x05\xf9\xa1\x16\x40\x9b\xac\x6c\xbe\x30\x9e\xa3\xd0\xd4\x05\x59\xb9\xe4\x11\x9a\x45\xf3\x63\xe6\xb9\xf8\x77\xa9\x3e\x8c\x59\x1b\xfb\x25\x66\x74\xa3\xb8\x81\xca\x76\xe6\xd6\xa5\x6a\x5a\x9d\xf2\x60\x58\xed\x0f\x37\x50\xc5\xb5\xb9\xae\x51\xd5\xde\xa7\xe8\xe9\xeb\x54\x77\x3d\xce\x9d\xaa\x8c\x0b\x8a\x0f\x4b\x5a\x81\x36\x52\xd5\x75\x38\x76\xaa\x22\xa6\xe6\xab\x18\xf2\xfc\x4c\x06\xbf\xf5\x6b\xb8\x06\x43\xb9\x82\x95\x29\x6b\x6d\x7d\x29\xea\x0b\x0c\xbe\x8c\xc2\xb1\xf2\x40\xe9\xd5\xb3\xdb\xba\xaa\xb2\x0e\xb4\x2c\xb4\xcd\xf9\xb0\xb3\x23\xef\xba\xa8\xed\x45\xed\xec\xba\xbb\x2e\xaa\x5b\xd4\x7c\x3e\xad\xe5\x4c\x54\x33\x43\x33\xb6\xd7\xb2\xc1\x45\x35\xb0\x7c\x64\x5e\x07\x5e\x12\x9e\x76\xa7\x55\x9f\x42\x6c\xec\x52\x18\x96\xa5\xca\xc4\xdc\xe6\x44\x66\x1d\x4c\x7f\x31\x81\xf4\x9d\x42\x7a\x07\xc0\x2d\x0f\x8d\xba\xe2\xb9\xc4\xeb\x36\x08\xba\x89\xbe\x41\x5e\x5d\xaa\xe5\x1e\x30\x9b\xab\x56\x47\x5e\xf6\x6a\x99\x0b\x84\x0f\x69\x51\xea\x13\x4b\xf8\xeb\x90\xe2\x93\xea\x1d\x0b\xfc\x3d\x40\x23\xc3\x88\x36\x37\x9c\xcc\xed\x81\xba\x0a\xf4\xea\x37\x13\xcb\x76\x63\xa2\xf1\x90\xb2\x90\xf4\x03\x88\x1e\x43\x65\x8c\x79\x43\xb6\xf3\xe5\xaa\x9b\xac\xc5\x1a\x0a\xa4\x70\x09\xbc\x2e\xbc\x2c\xbc\xba\xe6\xf2\x32\x3e\x96\x69\x7c\xd8\xd4\xdc\xee\xda\xd4\x42\x7f\x2e\x3f\xb1\xd6\xe4\xc1\x57\x43\xc7\xee\xac\x3e\x49\xfe\x1e\xff\x04\x8e\x55\x06\x2a\x49\x40\x0f\x6a\x9e\xb5\xf8\x45\xa4\xa6\x2f\xb4\x26\x07\x8d\xa2\x73\x3c\x51\xfa\xb6\x9b\x48\x87\xa0\x99\xe7\x74\xc2\x37\x7d\x32\xfe\x42\xb5\x34\xec\x35\xa9\x45\xf6\x1b\x62\x61\xaf\x04\x2e\xef\x1c\x77\x7a\xc7\x90\xa9\x39\x7f\x50\x9b\x1c\x3f\x9a\xc9\x91\x1a\x9e\xcd\xff\xe8\x45\x6a\x65\x7a\x31\x38\xb8\x1c\x1e\x8d\x7e\x0a\xde\x0f\xcf\x2e\xcf\x19\xf8\xa5\x42\x0c\xd0\xf0\xe3\xd1\xc1\x40\x0c\x4c\xd6\x2c\x23\xc1\x70\xc6\xce\xd5\x6b\x89\xd8\x99\x37\x63\xb5\x9c\x1d\xee\xbc\x7f\xc0\x25\xef\x50\xef\x78\x32\xb9\x1d\x6a\x25\x24\x08\x31\x48\x5b\xb3\x8c\x00\x73\x38\xf8\x38\x38\x3e\x3b\x67\x43\xb5\x2d\x97\x12\xa0\xe4\x98\x6f\xcd\x32\x3c\x0c\xfb\x59\xd4\x4b\x3b\xe1\xc5\x07\xed\xe5\xd3\xe9\xba\xc0\x9b\xdc\xce\x7c\xd4\x3f\xe0\xe2\xfb\xa9\x77\x76\xb2\x71\x38\x7d\xd6\xe3\xef\x2d\x32\xb4\x57\xd0\xec\x5a\xe4\xd9\x69\xa5\x98\x0c\x56\x2d\x39\x66\x53\x74\x7d\xa7\x57\x1d\x2f\x9f\x93\xf6\x38\x5d\xc5\x81\x67\x94\x71\xf7\x7a\xe6\x48\xa0\xd4\x0d\x8b\x11\x6b\x1a\x8d\xab\x00\xb3\xc1\x4b\x58\xc5\xe8\x88\x03\x54\x6a\x5c\x95\x50\x6d\xf8\x14\x67\x7f\xe4\x3f\x85\x27\xb9\xc8\x5c\xf5\xa6\xae\xbc\x5d\xd4\x0c\x6b\x4a\xab\x45\x6d\xb4\xab\xfe\xa1\x34\xb1\xfb\xc1\x9b\xd7\xaf\x7f\xd8\x0d\x66\x26\x47\x95\x8e\x3f\x83\x89\x2a\x6a\xc6\xa8\x37\xd1\x38\x9c\xab\xf0\x03\x55\xf0\xc2\xac\x16\x31\x8e\xb7\x60\x79\x06\xc6\x1e\x15\xd6\xdb\x5b\xc5\xf8\xcf\xaf\xff\xb4\x22\x09\x3e\xaa\x44\xc1\x5c\x26\x26\x46\x0a\xa6\x36\x4f\xf3\xf8\xef\xca\xd9\x3d\xd3\xd1\x8e\x68\x8f\x59\xc5\x43\x50\xa9\x50\xbc\x1a\xe0\x59\x04\xe9\xd0\x20\xfb\x41\x5f\xf9\x17\xa1\x46\x17\x25\x94\xca\x81\xd8\x4f\x52\xe2\x4e\xf1\x70\xb3\x3c\x7e\x88\xa7\x91\xf6\x18\x8d\x3e\xc3\x20\x24\xef\x95\xb8\x70\x05\xa9\x79\x26\xe6\x6d\x2b\x8e\x3b\xbe\x3c\xbf\xa0\x47\x07\xf0\xe4\xcb\x97\xe6\xf7\x50\xef\xfb\xe7\x47\x03\x7c\x68\x4a\xcc\x6a\xf9\xdc\xe0\x45\xc3\xb7\xa5\x7d\xfd\xb7\x20\x03\xdb\x0c\xb8\x1d\xa2\x7b\xb6\x11\xdd\xb3\x01\xed\x71\x78\x13\x4d\xd5\xfc\x69\x3c\xae\x57\x26\x78\xe9\xa3\x76\x45\x14\x45\x7c\x5b\x19\x03\x9d\xda\x5c\x1e\x5d\xf2\x38\xc9\x45\xe6\x66\x6f\x68\x66\x1b\x9a\x79\x4c\xa0\x6a\x07\x67\x99\x56\x64\x2b\xf8\x12\xb9\xb6\x9a\xad\x20\xbc\x85\xb0\x6e\x95\x5b\x7e\x89\xf6\x78\x5e\xe2\xed\xaf\x98\x50\x79\xca\x61\x21\x14\x19\x72\xd9\x09\x2c\x31\xe4\xd6\x3e\xd1\xd8\x2e\x4f\xb1\x9a\x95\x57\x58\x93\xc7\x55\x32\x3a\x3a\xdf\x0f\x8e\x6e\x31\xa8\x0f\xad\x43\x65\xfe\x44\x47\x93\xa9\x76\x2b\x0b\x83\x87\x37\x2b\xbe\x65\xbb\x54\x9c\x72\x81\xe1\x62\x8e\x2b\x54\x2f\xa3\x53\x6f\x57\xd5\x9f\x4f\x0e\xbf\xe6\xf0\x1d\x78\x16\x02\x91\xc1\x8a\x01\x60\xbb\x51\xe5\x24\x97\x98\xd7\x87\x80\xef\xca\x25\x92\x49\xcc\xb8\x53\x9c\xea\xb5\x48\xcc\x2b\xc2\xe6\x3d\x43\x5e\x2e\xfb\x03\xa9\xbb\x22\xc9\xc4\xc8\x41\xc4\x32\x32\x01\x08\xd0\xd0\x6c\x1a\xed\x61\x27\x3d\x3e\x3b\xe8\x1f\x0f\x70\x09\xd8\x39\x38\x1e\xf4\x87\x3b\xbb\xa8\xa8\x3f\xc4\xe9\xbc\xd0\xc5\x94\x9e\x83\xae\xbf\x82\xc2\xb4\x09\x6c\x56\x6c\x65\x7e\x72\x4d\xb1\x3a\xaf\xcb\xa7\x4c\x5b\x04\xa1\x62\xa5\x02\x08\xee\xa0\x79\xa0\x4a\x29\x99\xa4\x49\xc4\x65\x1a\xe9\x86\xc5\x8a\x05\x45\x1e\xe2\xe8\x71\x11\x5b\x2f\x46\x3f\x35\x81\x37\x43\xe0\x66\x70\xbf\xc8\x45\xd2\x48\xbe\xe5\xc3\x8b\xa5\xe5\xd8\xea\xa0\x2a\x75\x17\x38\xb2\x75\x1d\xe8\x3f\xc5\x33\x09\x5f\x72\x91\x79\xa3\x5f\x63\xe8\x9f\xca\xf1\x8b\x92\x4a\xe8\x27\x1f\xc3\xe9\x3c\x52\x81\x80\x56\x53\xc8\x6d\xef\xd4\xe5\x9b\x92\x51\x6c\xc6\xbf\xd9\xe2\x71\xe8\x88\x0c\x16\x13\x65\x9f\x1b\xbf\x8d\x40\x8b\x42\x6f\xe4\xaa\xb8\x23\x98\x28\xd8\xd6\x2f\x89\xb7\xc0\xa8\x75\x85\x36\x7a\x3d\xbc\x05\x46\xf6\x0a\xdd\xa3\x96\x15\xd2\x9e\x1b\xbd\xf2\xab\x3b\x1e\x32\x59\x94\x4e\x7b\xdc\x84\x2c\x43\xa5\xf8\x51\xf9\xe5\xeb\x63\x1d\x1f\xaa\xfb\x20\xdb\x14\x3c\x23\x7c\xfa\xb8\x08\x68\xd5\x34\x45\x61\x05\x12\x48\x04\x26\xd3\xe9\x52\x9e\x22\xb7\x62\xe3\xa4\xe3\xd9\xdd\x47\x53\x11\x96\xde\xf3\xe4\x18\xa3\x26\x9f\xa9\xab\x02\xe2\xa7\x2d\xcb\x5e\x86\x0b\x13\x33\xec\x2a\x51\x0f\x5d\xac\x4a\x15\xd4\x50\x65\x86\xda\x05\x62\x13\x08\x0a\xfb\x4d\x16\xe5\xa1\x9a\x7f\xf4\x6b\x95\x53\x06\x5e\xc1\x38\xa6\x30\x5e\x5c\xe8\xa9\xaf\x21\x09\xdf\x24\x26\x74\x8f\x24\x6c\x55\x46\x86\xc1\xb3\x85\x02\x43\x11\xe2\x39\xa9\x0b\xaf\x59\x98\x07\xa6\xa0\x2c\x93\xa8\x0c\xe3\xa9\xee\x23\xf5\x48\xd8\xcb\x3b\x2c\x89\x6b\x4b\x24\x5e\x24\xb5\x30\xba\x1a\xad\x56\x8a\x87\xca\xa3\x31\x25\x2f\x01\xad\x41\xe5\xca\x95\x10\x57\x0b\xf3\xc0\x2b\x1b\x71\x97\xb8\x76\x02\x37\x03\x3c\x1c\xf0\xc5\xae\xca\x0a\xb0\xca\x94\xd5\x05\xb8\x28\xe5\x82\xf2\xfb\x58\x2b\x65\x5d\xb0\xde\x7d\xdd\x56\x9c\x05\xc7\x51\x5c\xb9\x18\xd0\xde\x49\x79\x6f\x3c\x93\xda\xfb\x8c\x12\x88\x4d\xb0\xea\x8a\xb0\x19\xd5\xda\x6f\x61\x7e\x4e\x19\xec\xcd\xf0\x29\xce\x74\x64\x3f\xe3\x3f\x4b\x37\x4f\x65\x2a\x85\x05\x71\x51\xf1\xac\xee\xd3\xa2\xa4\xb1\x49\x01\x90\x24\x8f\x36\xb6\x38\x0f\xde\x48\x5c\xa3\x15\x43\x0c\x98\x6c\x76\x8e\x98\x9f\x1b\x73\xae\xe3\x8d\x09\x3c\x8b\x26\xff\x5d\xe2\xdd\x01\xcd\x2e\x9a\xb4\xb3\x16\x76\xce\xf4\x5d\x37\x12\x42\xb3\x13\x94\x4b\x28\xf6\x7c\xaa\x5e\x44\x00\x59\x23\xad\x5e\x0b\x00\x41\x80\xe5\x21\xe3\xdf\x92\x32\x25\xcf\x52\x6c\x32\xb6\xb1\xd0\x74\x4c\x25\xe5\xd0\x19\x8e\x48\x3f\xa3\xc8\x9b\x40\x4f\x07\x63\xf4\x8a\xee\x8f\x8d\xa1\xd9\x6e\x15\xd1\x55\x15\xc7\x7b\x42\x1d\xab\x13\x93\xb1\xe9\x59\xf7\x31\xcd\x29\x94\x54\x15\x4a\x9a\x9d\xa9\x9e\x59\x0a\x7b\x53\x90\xb2\xaa\xe6\x98\x67\x56\xa3\x9f\x81\x33\x57\xe5\xbb\x8e\x56\x7d\x5e\xa4\x1c\x53\x97\x4f\xea\x85\xd3\x23\x55\x97\x80\x35\x0c\x33\xa9\xa6\xf3\xf2\x2a\xd1\x37\x19\xfd\x9a\x0d\x15\xdd\x4f\xdc\x28\x37\x97\xa8\x1e\xc4\x3d\x8f\xef\xee\xcb\x00\x8f\x4e\xf7\xe8\x5e\x11\x06\x18\xce\xc1\xb0\x93\x9d\xe0\xcd\xb0\x39\x06\xc0\x02\x2a\x9b\x32\xfe\xf5\xff\x60\x04\x56\xeb\x11\x00\xdb\xaf\xbf\x31\x29\x85\xa6\x9c\x27\x8b\xc4\x09\x95\x94\x96\x3c\xd2\x38\x36\x67\x69\x1e\xd5\xb7\x7d\x62\xed\xd7\x02\xe6\x05\x8e\x26\xea\xd6\x44\xfd\xe6\x6f\x58\xac\x65\x79\xd8\xe7\x35\x89\xdb\x22\x47\xbe\x8a\xf3\xcc\xd8\x74\xec\xaa\xbb\xbb\x34\x48\xe6\xe8\xea\x93\x62\x28\x68\xf5\xc0\xdc\x8e\x28\xd7\x70\x5d\x5c\xaa\x45\x77\x50\x4e\x50\x36\x41\x86\x7a\xc7\x92\xcd\x0b\xf3\xb1\x4b\xe1\xee\x7a\xb5\x20\x03\x98\x66\xae\xa9\x6a\x51\x82\x85\xc8\x9e\xb9\x5b\x6d\x8f\xa3\xbd\x8a\x2a\xe1\xb8\xb6\x48\x99\xb0\x4b\xc6\x72\x31\x2b\xd8\xe8\xe8\x64\x70\x76\xc9\xa5\x26\x35\x6f\x19\xd2\x73\x3e\x8a\xb5\x7e\x29\x10\xc2\xdf\x94\x1d\xfc\xe0\xdd\xf5\x69\xff\x64\xa0\x75\x89\x1e\x25\x32\x37\x76\x26\x3d\xe3\xa2\xac\x72\x12\x7e\x52\xfb\xe1\x45\xae\x75\xfd\xba\xa8\x25\xee\x81\x82\x07\xef\x68\x15\x16\x25\xdb\x3e\x77\xb6\xea\xc1\x81\x4e\x55\x40\x7e\x06\x64\x0f\x07\xcb\xd3\x93\x32\x05\xd3\x69\x0b\xcc\x91\x7e\x4d\xfb\x2d\x60\x6e\x2f\x63\xf2\x11\x7c\x22\xcb\x01\x9d\xe9\x96\xbf\x78\xdd\x12\x33\xbe\x62\x35\xb3\x86\x9b\xe8\x3e\x86\x1d\x70\x08\x8a\x54\x1e\x3d\x52\xdc\x4c\x8a\xf0\xfd\xb7\x79\x9c\x53\x24\x07\x4a\xf7\x08\x4d\xf9\xf9\x69\x57\x6d\xce\x94\x77\xef\x7d\x59\x66\xc5\x35\x3d\xb7\x1f\xff\x93\x8d\x5c\x8e\xba\x25\xd4\x02\xa6\xba\xbd\x60\x30\x2d\xa2\x5d\x9d\xab\x91\x52\x36\x25\x51\x89\x5a\x28\x6e\x27\x92\x88\xcc\x08\xc5\x16\xfa\x86\xa5\xe6\x9b\xfa\x34\xd5\x13\x89\xb9\xbe\xdd\x5d\xac\xf2\xb7\x2a\x8e\x61\x33\xd9\xbe\xd9\x4e\x89\x77\xc3\x1b\x81\xe6\x85\xbe\xd4\x30\xb0\xf1\x6e\x22\xe0\xc6\x2f\x4e\xe6\x51\x75\xbb\x02\x9b\x40\xbc\x48\x68\xee\xd1\x25\xa1\xd7\x85\x76\x0b\x7d\xf0\xae\x02\x6e\x4c\xf3\xc4\x25\x02\xb5\x0b\x20\xe9\x43\x36\x2e\x7f\xab\xb4\x24\x38\x7d\x44\xb7\xb7\xf0\x65\x7d\xaa\xb1\x39\x66\x3e\x15\xd3\x21\x7c\x96\xd4\xc3\x30\x31\x1e\x68\x94\x5b\x64\x2b\xb5\xdc\x0a\x67\x8f\x2a\x37\xba\xc8\xc6\xab\xd5\x1d\x9d\x17\x7d\x31\x04\x2f\xb3\x09\x2c\x55\x55\x84\xbe\x26\xb7\x39\xbd\x54\xb6\xc4\xae\x38\x99\xeb\xe3\xda\xc5\x3d\x1b\xf5\x8f\xaf\x4f\x06\x27\x67\xc3\x9f\x38\xce\xf5\x22\x76\x90\xf0\x4e\x29\x8c\xf8\x83\x55\x2c\x97\x4b\x31\x50\xb0\x90\xa1\x61\x4b\xed\x2a\x64\x9a\xde\x79\x5c\x38\xfa\x50\x32\x2c\x6b\x36\x35\x75\xfd\x8f\xd7\x97\x04\x0a\x99\x85\x4d\x9f\x74\xb3\x61\xa8\xec\xac\x4c\xba\xb0\x86\xb5\x41\xdd\x7b\xaa\x32\x16\x0e\xcb\x5a\x8c\x0e\x58\x4a\xa3\xcf\xb4\x82\xaa\xbb\xa1\x32\x56\xb9\xd4\x31\x75\x53\x75\x5b\x64\xc9\xd3\xbf\x08\x73\x00\x62\x29\x14\xae\x3a\xdf\x80\x64\xf6\x26\x83\x32\x74\x84\xf4\x9b\xc9\x9e\x38\x20\x2b\x7f\x1c\xf8\xd6\x83\x46\xd0\xb7\x26\x91\x8a\x59\xa2\xc3\xb3\x2f\x0e\xd0\xf8\xaf\xb9\x61\x2e\x6c\x55\xd2\x7c\x42\x9e\x71\xc1\xe3\x7d\x3c\x56\x2d\x50\x4d\x02\x2a\x07\x2f\x29\x32\xd0\xaf\x26\xf3\xbc\x19\x68\x34\x9c\x97\x69\x0f\xf3\x67\x4b\x8e\x25\x9b\xe5\xc1\x56\x83\x2e\x72\x6b\xfe\xd5\xb5\x4c\xc9\x26\x02\x07\x0c\x3f\x76\xe3\xd0\x02\xa1\xab\x08\x2a\x53\x14\x6b\x93\xd2\x06\xc1\x5b\x04\x18\x40\x6b\xb7\x03\x8f\xd1\x5d\x8c\x0e\x6d\xc1\x63\xb0\x62\xe4\xac\xf7\x3d\x74\x45\x58\x1c\xf7\xf4\x19\x9a\xda\x47\x29\x6d\x3f\x2d\x4a\xbc\x89\x53\xd3\x41\x0f\x76\x05\x67\x17\x23\xda\x45\x02\x47\x5c\x4f\x7b\x3d\x10\x75\x92\xce\x7a\x0a\x1c\x96\xcf\xbb\x28\x89\xf2\xc5\x1c\xa3\x9e\x53\x6a\xc1\x7b\x98\x8e\x32\x4a\x23\x27\xe5\x3a\xfc\x16\x25\x65\x9b\xb4\xb2\x28\xad\x6b\xd8\xa0\x88\xcf\xa7\x93\x40\x27\x84\xcf\x31\xca\x91\xb0\x73\x6d\x89\xc2\x89\x82\x9b\x36\xf2\x39\xab\xd6\x86\x45\xc6\x77\x9a\xde\xb1\x11\xb3\x4c\x10\xc3\x1b\xc1\x21\x42\x99\xe2\x11\x02\xe8\xb5\x2a\x0d\x1c\x29\xb5\x3a\xaa\x55\x95\x10\x99\x0c\x8e\x75\xba\x6e\xfc\x6a\x6e\xb1\xba\xa1\x0a\xa2\x62\x6d\x12\xed\xb3\xa5\xfd\xf2\x6a\xd9\x49\xf0\xa4\x1c\x75\x45\x8c\x7a\x4a\x9d\x70\x67\x9f\x0b\x8c\xda\x19\x6e\xa3\xc2\x29\x8f\xb2\x34\x47\xdd\x06\xb5\xc4\x38\xe3\x55\xc9\x4d\xb2\x60\x2a\xb1\xf0\xef\x63\x85\xa8\x15\x71\x82\x98\x83\x09\x75\x5f\x8a\xc1\x2c\x50\x56\x18\x2e\x7b\xe8\x71\x98\x2f\x46\x50\x35\x7a\x74\x86\x35\xcc\x6b\xaa\xdd\xba\x74\x94\x5c\xbe\xab\x6d\x89\x1d\x5f\x39\x6d\xd8\x88\x31\xdb\xd0\x02\x13\x3d\x41\xf3\xb4\x28\xaa\x15\x05\xa6\xb9\x43\x74\x0a\xa0\xb1\x58\xaa\x73\xad\xbc\x96\x9e\x65\x11\x2e\x4b\x65\x76\xdb\xa5\xd9\x8b\x8a\xd1\x19\x1e\x0e\x17\x3c\xaa\xd5\xba\xdc\x82\xe3\x3c\xa1\xf9\x84\xee\x6e\xae\x92\xbe\xda\xb3\x05\x66\xf3\x16\x3c\x86\x89\x3e\x57\xaf\x12\x9d\xd9\x6d\x30\xff\x9d\x1f\x13\xff\x24\xd5\xe3\x3f\x9e\x31\xd8\x42\x37\x9e\x64\xa7\x34\x99\x75\xab\xab\x65\x9c\x33\x3f\x45\x4f\x85\xd8\xdf\xfc\x41\x04\x41\x68\x7f\x63\x16\x48\xcc\xf2\x1e\x9a\x84\x9b\xd5\xee\x87\xac\xb6\x64\x49\xfc\x51\x78\x51\xe8\xdb\x28\xd7\x6f\xbd\x9f\xd0\xf7\x34\x78\xa0\xba\x17\xb0\x5f\x42\x59\x51\xd5\x4f\x7f\xb8\xfc\x68\x1b\x67\x63\xaf\x8c\xba\x54\x55\xea\x1d\xe5\xdc\xa5\xd3\x50\x93\xb9\x8a\x93\xcd\x41\xc5\xb0\xca\xf4\xc9\x44\x38\x99\xf4\xd4\x56\xa5\x87\xb3\xc9\x8e\xaa\xd3\x1d\xde\xdd\xe6\xda\x63\x3c\xe3\x0c\xf4\xda\xa2\xd8\x45\x81\xaf\x3b\x0d\x4e\x60\x04\xb2\x89\xb5\x1a\x45\x04\x90\x70\x96\xce\x55\xae\xd7\x19\x95\x0d\x5e\x46\x7b\x77\x7b\xc1\x9b\xd7\x3f\xfc\xf9\x64\x37\x78\xf3\x1e\xfe\xf7\xfa\x3d\x67\xb5\xd0\x0a\xa2\x8d\x10\x26\x00\x04\x1a\x30\x90\x77\xfa\x06\xa4\xf2\xc4\x14\xc4\x4c\xe6\xb3\x1b\x0c\xe7\xd9\x8c\x41\x5d\xe9\x5e\x7b\x41\xef\x0d\x7e\x34\xbc\xed\x44\xc7\x81\x10\xe7\xb7\x69\x3c\xa3\xec\xe5\x4a\x1c\x76\x60\x6f\x0c\x7f\xbb\xe2\x07\x2f\x0f\xd5\x0d\xee\xfe\xe2\x9d\xfc\x19\xb6\xc6\xd4\xab\xa2\xb9\x14\xe8\x8b\x29\xec\x05\xbc\x6c\x60\xec\xcb\x63\x95\xce\xce\x2e\xc7\x9e\xea\x35\x95\x59\x4a\x5a\x21\x2f\xfb\xfd\x85\x12\x34\x8b\x0b\xf4\x8d\x50\x99\x98\x54\x48\x31\x3a\xb4\x61\x98\xf8\xd1\xda\xd9\x0e\x8f\x39\x50\x78\xc3\x91\xe0\x5c\xa8\x8e\x5c\xaa\xa3\xcd\xea\xec\x7d\x71\x1d\x68\x62\xa2\x15\x25\xac\x85\x33\x36\x7a\x40\x77\x3c\xb7\x78\x55\x8a\xc4\x05\xa4\xea\x46\x15\x18\xbc\x78\x0c\xf3\x09\xc6\xdc\xb8\x80\x8d\xe1\xac\x76\x06\x80\x48\xc6\xf2\x87\x6e\xeb\x7c\x2a\xb0\x61\x8e\xf6\x2a\x5e\xf4\xdf\x73\x91\xc5\xd4\x3b\x9e\x8c\xbb\xfa\xd7\x2f\x19\xc2\xc1\x50\x8c\x48\x56\x2b\xc0\x02\x70\x61\xbb\xd4\x3b\x3b\x59\x62\x2e\xc8\x75\xf6\x67\xdb\x09\xf4\x1e\xed\xa1\x54\x80\x10\x76\xa7\xd6\x05\xc9\x29\x92\xba\xe1\x4d\x93\x88\x6c\xc7\x28\x5e\x89\xce\x9d\xa6\x63\xd5\xa8\xc9\x14\xe6\xce\x0c\xba\x2f\x3b\x78\xd7\x40\x74\x89\x38\xc7\x03\x98\x92\x52\xcb\x72\x4b\x1b\x57\xda\x01\xad\x54\xfe\x5d\x7d\xd6\xb3\x63\x4e\x98\x76\x3c\x7d\xf9\x3b\x00\x39\x05\x2a\xe9\x60\x3f\x0a\x0e\x0e\xe8\xf8\xe7\x63\x94\x17\x64\x98\x7a\xae\xce\x34\x60\x66\xa1\x84\x33\xd2\x91\x59\x67\x38\x87\x70\xe9\x0d\xda\x28\x9b\xf3\x73\x3a\x5d\xc3\x31\x1f\x55\x27\xef\x74\x24\x50\xfd\xe5\xd1\x8d\xdb\x23\x3a\x44\xcc\xc2\xbc\x58\xae\xac\xb9\x1d\xd7\x7f\xc2\x57\x71\xca\xe5\x09\xc3\x09\x43\xdb\x24\x50\x05\x95\x73\x8c\xce\x34\x2a\x59\x1f\xc8\x34\x22\x9b\x45\x32\x26\xab\xf3\x31\x01\xad\xe9\xdf\xb1\x15\x56\x4c\xa5\x6e\x94\x15\x4a\xd3\x99\xd2\xaf\x09\x3d\x48\xdb\x33\x55\x71\xc9\x4b\xa5\x55\x35\xc3\x93\x63\x4f\xb5\x19\x10\x75\x11\xb0\x0b\x9b\x8d\x57\xa6\x96\x36\x68\x9b\x95\xb1\xb2\x71\x55\x66\xc9\xd3\xce\xa4\x3b\x56\x2a\x29\x4e\xba\x6e\x41\xdd\x10\x1d\x85\xe0\xaf\xd1\xfd\x68\x25\xb6\x63\x2c\x3d\x9d\xf2\x6a\xe7\x72\x31\x01\xcc\x6a\xaa\xa9\x46\x2d\x17\x94\x66\x5b\xa6\xa3\x5f\x51\x20\x47\x03\xcd\xc2\xa7\x00\xd6\xc6\x87\x48\x59\xe0\xcc\xe0\xbf\x2a\x58\xdf\xd2\x25\xd4\xc3\x7c\x8a\xd7\x45\xb0\x60\xfc\xaf\x80\xb6\xf8\xf1\xea\xbe\x8b\x8f\x98\xa5\x2d\x29\x8b\xba\xba\x42\xeb\xf2\x61\xda\x38\xa2\x82\x72\xe3\x28\x9a\x70\xc7\x5f\xdf\xbc\xd8\x8e\xc6\xb6\xa5\xec\xf5\x97\x66\xfb\x9d\xf3\x6b\xcb\xe7\x68\xbe\xc2\x1d\x52\x95\x44\xd6\x06\xf1\x4b\x6b\x09\xb1\x9c\x17\x8e\x6c\x69\xdb\xe2\xb6\x8d\xaa\x55\x2b\xcb\xb3\x54\x8d\xe5\xb6\xa1\xaa\xc1\x0b\xe8\x3e\x61\xa2\xf7\x4b\x2a\xcb\x01\xf5\x9e\xaa\xc3\x6c\xa1\x8a\xed\xb8\x32\x55\x8d\x3e\x67\xd1\x98\x2e\xc4\xe8\x3e\x11\xaf\x0f\xd2\x31\xf9\xc9\x4d\xf6\x69\x7b\xaa\x2f\x0e\x59\xa9\xbd\x01\x18\x01\x68\x70\xea\xb4\x32\xc6\xde\x07\x3d\x46\xb5\xc7\x9e\xbe\xd6\x0b\xf3\xbb\x39\x5a\x2b\xb3\x62\xb4\x84\x91\x85\xc1\xaf\xa0\x41\x2a\xab\xa5\x53\xa7\xea\xed\x45\xcc\x30\x9e\xa6\xe8\xee\x57\x37\x27\x52\x66\x99\xb4\xcd\x51\x76\x8d\xbc\x82\xe7\x45\xcc\x30\x86\xe5\x07\x94\x9e\xd1\x81\x4b\x37\x5b\x2e\x27\xc1\x79\x29\x7b\xab\x25\x19\xc8\xc2\x12\x91\x4b\xfa\x0c\x5c\x79\x0e\xbe\x6b\xec\x1d\x2f\x52\x81\xa9\x10\x20\x87\x86\xf7\x1a\xf1\x77\x36\xc8\xc0\x5e\x01\x65\x68\xeb\xce\x72\x6f\x29\x28\x03\x7a\x45\xf3\xe1\x4a\xbb\xa0\x95\x36\x10\x56\x89\x2f\xdd\xf0\x2b\x14\x7e\x2c\xc4\x1c\xfd\x5c\x69\x3f\x68\x47\xe2\x00\xbe\xbc\x08\x9f\xd4\x1c\x6d\xa2\x22\x9d\xe7\xe6\xe4\xc0\xc1\x86\xa7\xf3\x65\x57\x3b\xa5\xf0\xe7\x55\x27\x92\x18\x59\x5d\xa1\x3c\x9b\xd0\x41\x2b\xb0\x55\xae\xa5\xfa\x37\xbf\x72\x5a\xcb\xf2\xb0\x58\xef\x3f\x14\x96\xe8\x8f\x18\xab\xef\x0f\x05\x7b\x52\xe6\x45\x2b\xb3\x7d\x9e\xd8\x24\x5b\x63\x27\x57\x6e\xb1\x66\x02\x61\xe5\x58\xe0\x5c\xed\x7d\xc9\x65\xe6\xd6\xd3\xb9\x0e\x4d\xe6\x8d\x23\x8b\xe3\xa1\x79\xfa\x6a\xb3\xeb\x40\xba\x84\x5c\x9e\x95\x5b\xee\x19\xdb\x03\xf9\x09\x74\xb3\x1c\x07\xbd\xc3\x87\x6c\x85\xe5\x27\x96\x65\xf7\xbb\x82\xe9\xdd\xdd\xbb\x81\x3a\x04\xb5\x1c\x54\x77\x6c\x3d\x7f\x24\x59\xa4\x46\x20\xf9\xaf\x70\xe6\xf6\xec\x72\x30\xcd\x31\x4d\xc3\xea\xe8\x0f\xef\xf4\x0b\xd2\x1c\x69\xcd\x52\x49\xfc\xd8\x0a\xb8\x29\x1d\x2c\xbb\xce\xcb\xbe\xf4\x0e\xf6\xf5\x05\xc8\x87\xdd\x72\x79\x37\xfc\xff\x8d\xb3\x77\xd0\x30\x6f\x9f\x60\x77\x86\x29\x26\xe0\x11\xfe\x7d\x80\x36\x2e\xa8\xa2\xc7\x7c\x56\xb6\xf6\x38\x76\x71\xd6\x8a\xe5\xe1\x4b\x2d\xb2\xae\x79\x8c\x52\xb0\x67\x8a\xb2\x5f\x2a\x47\x44\xed\xb2\x8b\x3d\x9b\x02\x95\x49\x57\x4a\x5d\xe1\x58\xe1\x42\xbc\x15\xef\xd1\xad\x78\x16\x16\xc5\x63\x9a\xd3\x19\xed\x34\x85\xdd\xbc\x20\x84\x48\xc6\x31\xab\x0d\xf1\x32\x64\x5d\x5a\x2c\x05\x79\x40\xb4\xf2\xa6\xfa\xaa\x21\xee\x7b\x4b\xee\x43\xca\x32\x75\x46\x7b\x58\x2a\xc4\x02\x49\xf4\x02\x19\x4e\xee\x02\x25\xbd\x66\x88\xd5\xb9\x7c\x3d\x70\x54\x35\x4f\xb1\x8e\x6d\x2e\x2a\x81\x55\xde\x48\x3b\x4a\x27\xd6\x22\x13\x5b\x79\x01\x5e\x05\x8b\xfa\x8d\x02\x99\x78\x4c\x99\x22\x8d\x95\xcd\xc7\xc1\xf0\xe2\xe8\xec\x94\xfb\x4e\xd5\x6b\x3b\x31\x06\xd6\x0b\xfe\xcf\xc5\xd9\x69\x90\xde\xfc\x15\x53\x6c\xe9\x90\x6a\x35\xfd\xa2\xa7\x03\x7a\x8d\xab\xfc\x96\xca\x10\x25\x0b\x73\x90\xac\x8c\xf2\x62\x77\x31\x14\x74\xd8\xfb\x38\xe9\x4d\xd1\x7e\x22\x25\x07\xbd\x90\x3e\xc8\x5e\xf0\x8e\x42\xa1\x9a\xa4\xe6\xda\x4a\x3b\x9a\x08\xb8\x45\x84\x27\x39\x63\x3a\x27\x54\x6f\x4d\xa2\x76\x21\xa0\x2a\xd7\xb8\xff\xa4\x95\x7d\x9e\x0f\x1b\x27\xff\x05\x3e\xe8\xd7\xad\x24\xf7\x21\xe7\xca\xbc\x87\x32\x4b\xec\x80\x0e\xd7\x33\x0a\x7f\x8f\x1c\x8a\x77\x4c\xfa\xb8\x9b\x28\x48\xa2\x3b\x60\xf8\xc0\x4d\xbd\x1d\xc1\x18\xc1\x74\x58\x82\x53\x7e\xaa\x6f\x96\xb1\xc3\xa8\xa0\x28\xe7\x7a\x81\xe6\x80\x96\x4a\x71\x50\x05\xaf\x22\x99\xb7\x76\x52\x54\x50\xd0\xfc\x74\xd7\xf8\x20\x29\x37\x19\x7d\x7e\x5d\xa8\x90\x6f\xc6\xc1\x83\x5d\x86\x5a\xc3\x58\x85\xf9\x4b\x7f\x78\x7a\x74\xfa\x5e\x05\x1d\x52\x4b\x34\x76\x68\x52\x9c\x2a\x45\x06\x5d\x4b\xaa\xab\x14\xd5\x6b\x33\x65\xbe\x5d\x04\xf7\xf1\xdd\xfd\xf4\x09\x1d\xfb\xc6\x40\x13\xde\x45\x13\x82\xfa\xa9\x01\x80\x57\xdf\xf0\x91\x1f\x62\xe5\xfc\x8a\x66\x65\x38\x9b\x15\x24\xb0\x7e\x89\xe1\x4d\x73\x35\x30\x14\xfb\xe2\x3e\x9a\x4e\x01\xbf\x28\x79\xef\x86\xdf\x8d\xf8\x62\xe3\x07\xe4\x23\xa3\x63\x37\xa6\xe4\xc4\x03\xe3\xb9\x50\xb1\x1b\x95\xa9\x4e\xe3\x74\x40\x9b\x65\x36\x1d\x89\x57\x43\x5d\xa3\xf6\x06\x3d\x24\xb9\x03\x92\x45\x14\xa8\xb4\xca\xef\xa8\x60\xa8\xc1\xd4\xd5\x45\xf0\xc3\xeb\xd7\xf8\xfe\xcf\x6f\x5e\xef\x1a\xb7\xda\x55\x5c\xbc\xe9\xbb\x89\xa2\xc4\xa4\xbf\xd9\x25\xab\x06\x15\x9d\x37\xbb\xc7\x48\x93\xd4\x14\x05\xb6\xc4\xc1\x34\x9d\x4f\x60\x56\x9b\x27\x93\xfc\x69\xa7\x08\x60\x7b\x1b\xde\x84\x05\xcc\x74\x7d\x68\x9c\x4f\x49\xfa\x38\x8d\x26\x77\x55\x38\x83\x15\x5e\xc6\x94\x59\x39\x99\x4d\xd4\xfd\x45\x03\xb4\x1e\x00\xb3\x6a\x26\x75\xa1\x5a\xe8\xf1\x50\x85\xe9\x66\x3d\xbb\xbe\x7f\x88\x67\xff\x10\xcf\x37\x20\xaa\xac\x61\xf6\xef\xa0\x1a\x18\xaf\x90\x57\x7c\x32\x94\x7b\xd0\x96\x9b\xb8\x5b\xcb\x2e\x64\xac\x37\xad\x69\x6f\x0c\x18\x1d\x84\x65\x19\xcd\xb2\xb2\x62\x30\x0b\x27\x91\x09\x3a\x15\x8e\x6d\xed\xf8\xbf\x2a\x5b\x90\x7a\xba\x4f\xea\x93\xe8\x25\x37\x81\xed\x4e\x9e\x3e\x99\x58\xa3\x4b\xdf\xa0\xe6\xe2\xa7\xdb\x66\x45\x56\x68\x89\x5b\x74\x6a\xb3\x72\xa1\x24\x72\x30\x97\x1a\x03\x25\x8c\x57\xab\x95\x5e\xd5\xf8\x26\xe2\x5d\x0f\xcf\x6d\x7b\xea\xdc\x36\x5d\x79\xa9\xa5\xa1\x7a\xce\xb2\xca\x5d\x74\x0c\xdf\x2d\x99\xb3\xce\xf4\xdf\x3b\xde\xf7\x8e\xb7\xe5\x8e\xd7\x6a\xc2\x8b\xf1\xc3\x96\x78\x76\x41\x71\x53\x1b\x5f\xe5\x7f\x2d\x35\x40\x2d\x7c\xe2\x4d\x64\x1a\x19\xbd\xe6\xc8\x2b\x5e\x5d\xce\x16\xd6\x3c\x96\x4d\xca\x70\x0a\x0c\xd1\x59\x88\x82\x97\xe4\xf1\x2c\xcc\x9f\xc8\x43\x75\x8c\x6e\x08\x8b\x80\x25\x75\x21\xc9\x55\x35\x9b\x92\x23\xf2\xca\x77\x21\x37\xa5\x18\xdb\x62\x46\x3e\x7d\xd8\x1c\x0f\x6f\x02\x7d\x84\x6d\xd2\xc7\xa2\xfd\xbe\x5e\xf5\x44\xc2\x1f\xa8\x24\x26\x9b\x88\xd0\x74\xd2\xde\x27\xa9\x0f\x03\x0f\x8c\xbd\x42\xd2\x01\x19\xfd\xde\x0b\x82\xbf\x44\x8b\x10\xfa\xe8\x8e\x6e\xba\x93\x2e\x5e\x59\x73\x50\x4c\xad\xb9\xb2\x25\x99\xa4\x8f\x89\x29\xb4\xf8\xc0\x98\x0a\x90\x72\x96\x4c\x26\x14\xdf\x1e\x3e\xd2\x92\x08\x37\x11\x52\xeb\x08\xe4\x7b\xc1\x19\x2e\xa1\xd2\x28\x9f\xc5\x77\x18\xd7\x64\xb2\x6b\x98\x15\x55\xf8\x4e\x10\x56\xd5\x06\xfd\x55\xc5\xe1\xda\x76\x72\xfb\xde\xc9\xbe\x77\xb2\x0e\x9d\xcc\x3e\x91\x85\x39\xce\xac\xfb\x18\xd3\x4c\x45\xb0\x44\xb7\xc2\x66\x78\x1c\x15\x04\x0b\x4d\x1f\x6a\x45\x8a\x46\x99\x42\xc7\x73\xad\x32\x5d\xb0\xdb\xdf\x2d\x32\x94\x2b\xa8\x83\x38\xa1\xe3\xab\x4a\xcb\xa7\xcf\x37\x60\xdf\x7d\x8d\xa9\x49\x8a\xeb\x9b\xa7\x6b\x73\xa9\xcd\x59\x67\x74\x45\x93\x45\x53\x96\x98\x98\x0a\x0a\x01\xf1\x6c\xc0\xc5\xde\x42\x61\x67\x01\xeb\x7b\xfa\x58\x04\xfa\xce\x27\x38\x86\x5d\x34\x87\x6d\x2b\x2a\x82\x9e\xa7\x8f\x51\x7e\x81\xdb\x65\x07\x64\xad\xa0\x1d\x30\x8f\x61\x68\xc1\x97\x06\xb5\x23\x9d\x50\x1c\xe1\x77\x47\x98\xc6\x75\x11\x30\xbf\x28\x27\xa0\x51\x70\x7c\xbc\xe9\x05\xf6\x26\xb4\xf9\x03\x9e\x7f\xd1\xf4\xa0\xb3\x08\xde\xc6\x9c\x45\xa1\x07\xa1\x95\xe1\xff\xc5\xdc\x38\xf9\xf8\x3e\x7e\x88\x16\xb7\x35\xfa\x58\xd2\xc3\x48\xcf\x9b\xdc\xca\xfc\xe7\x93\xcb\xe3\xd1\xd1\x79\x7f\x38\x7a\xf5\xee\x6c\x78\xd2\x3b\xec\x8f\xfa\xc1\xc1\xd9\xe9\x68\x70\x3a\x0a\x3e\x1c\x1d\x1e\x0e\x4e\x7f\x61\x18\x7b\x91\xda\x99\x9e\x0f\x8f\x3e\xf6\x47\x83\x80\x48\x1c\x5c\xac\x65\xed\xb0\x77\xd3\xf4\x06\x26\x58\x1d\xa9\xea\x97\x4a\x37\xfc\xd9\x18\x0e\x17\x7b\x7b\x7b\xbf\x04\x3f\x9b\xe7\xa6\x20\xc7\xba\x33\x9e\x55\x3c\x35\x49\x30\xbc\xf4\x4b\x86\xb0\x4c\x39\x73\x44\xf5\xce\x4e\xc6\x8e\xc4\x90\x1b\x7a\xf0\x02\x06\x27\x77\xa4\x6a\xde\x32\xa4\x1e\xe9\x70\x7c\x32\xdf\xf0\x4e\x5e\xac\x0b\x17\x5a\x29\x8c\xf3\xb0\xb8\xe7\x45\xaf\x95\x60\x21\xaa\x63\x12\x8a\x4a\x21\x20\x2d\x15\x74\x02\xb2\xcd\xd1\x28\xc3\xc1\x08\xd4\x1c\x11\x9a\x44\x99\x80\x62\xb7\xb0\x2c\xf0\xed\x62\x29\x69\x85\x5c\xc4\x4a\x66\x90\x6a\x05\xec\x00\xa4\x12\xed\x2f\x6c\xa2\x38\x9c\x95\x72\x76\x38\x33\xad\x71\xb7\x98\xb5\x02\x76\x00\x34\xb8\x20\xa5\x0d\x8d\x31\xd8\x06\x5a\x29\x66\x05\x1b\x67\x73\x86\x1e\xdf\xd8\x49\xc4\xfe\x2a\xf6\x55\x7a\x19\xb3\x09\x25\xab\xd7\x56\xe2\xc9\x22\x1d\x3d\x43\x5f\x2f\xc1\x40\x50\x9e\x4a\x96\x5c\xbd\xb5\x93\xc6\x85\x3c\xc7\xd4\x0a\x70\x00\xdc\x42\x48\xaf\x58\x22\xae\x9f\xa8\x77\x76\x32\x2f\xab\x0b\x2f\x03\x0b\x65\xc8\xcf\x22\xd0\x4b\x81\x70\xc5\x03\x80\x52\x49\xe9\xe8\x6e\xaa\xc8\xae\xca\xbc\x90\x04\xd0\x55\xab\x87\xbc\xcc\x6b\xa1\x9a\xac\x3f\x57\x09\x1a\xcd\xfc\x3a\xbe\xad\x4e\x51\x88\xb6\xa7\x8a\xfd\x5a\x8b\xf5\xd6\x00\xe5\xce\x8d\x05\xa9\x9a\x02\x68\xa9\x9a\xa8\x1d\xea\xea\x83\xca\xd6\x75\xb5\x92\x75\x30\xb9\x8e\x6c\x12\xae\xea\x35\x43\xfc\xc8\xf7\xa1\x47\xa6\x07\xe9\x78\x88\x0c\x9d\x79\xcb\x90\x52\x2c\x79\xb2\xcd\x3a\xcf\x71\x37\x5f\x3e\x19\x1b\xad\xe2\xbe\x1e\x26\x15\x53\x03\xb1\x1c\x5a\x81\xd8\x05\x79\xe0\x9d\xc7\xd4\x3b\x2b\x99\x5a\xd0\x02\xd8\x90\xa9\x24\x5c\xb7\xb7\xa8\x18\x17\x98\x79\x32\x1a\xdf\xa7\x74\x50\x51\x5d\x0f\x02\x4a\xfe\x54\xf3\x79\x3b\x5c\x4c\x83\xec\x62\xb5\x41\x06\xf6\x0a\x00\xbc\x60\x17\x55\xbd\xb6\x13\xe7\x11\x9d\x50\x64\x61\xcc\x7d\xfd\x46\x11\x2b\xc8\xaa\xd3\x01\x0c\x1c\x06\xcd\x5e\xd6\x1f\xd6\x68\x87\xb0\x6b\x6e\xc3\xa1\x4e\xe6\xcf\x8c\xf2\x0e\xaa\x34\x56\x6d\x98\xd5\xc9\xec\xcc\xd2\x82\x95\x1e\x5f\x59\x89\x2a\x85\x72\x26\x05\x01\x5c\x2e\xe5\x03\x25\xea\xb2\xf6\xb2\x22\x2c\x29\x66\xc6\xfd\xfa\x08\xed\x3f\xd0\x68\x15\x3e\x40\x91\x26\x2a\x52\xed\xe7\xb8\x6c\xf4\xec\x5d\x5c\x18\xcb\xeb\x62\x91\xa0\x0b\x8b\xa8\x7c\x5d\xec\xc0\xda\x1a\x3b\xb1\x72\x9c\x4a\xe3\xd0\xd1\xab\xd7\xdc\xac\x5e\x2b\xc0\x00\x50\xba\x5a\xd8\x0b\xdc\x47\x79\x5c\xaa\xc4\x98\xb0\x66\x19\xeb\x44\x16\xd6\x41\x26\x32\x7b\xa8\x2c\x7b\xcc\x0c\x7d\xf0\xee\xfa\x62\xd4\x7f\x7f\x74\xfa\xfe\x5a\x67\xe5\x32\x93\x95\xf0\x9d\x3a\x81\x75\x12\x6c\x38\xba\x3c\xdf\x98\x60\x0c\x98\x55\xb0\x69\x78\x13\x71\xab\x9b\x7a\xc7\x90\xa1\xfd\x97\x39\x02\x67\xe9\x1b\x85\x78\xa0\x79\xa6\x36\x20\x5c\x1f\x5b\x2a\x64\x07\x52\xd1\x16\x39\x04\xfd\xd6\x4e\x9a\x62\x5e\x04\x8e\x52\xbd\xb4\x12\x8a\x33\x9a\x34\x91\xa9\x77\x5c\x75\xcd\x5b\x2b\xa9\xb0\x64\xf2\xcb\x65\x92\x26\xc1\x4d\x58\xc4\xe3\xea\x40\x9d\x83\x58\x2d\xc8\x01\xb2\x52\xa4\xdc\x69\x2a\xae\x2f\xaa\xe7\x1a\x03\x40\xbd\x3b\x07\x35\x43\x58\x5a\x9c\x64\x56\x66\xbc\x77\x34\xeb\xfc\x2c\x24\x6d\xe0\x73\x31\x90\x62\xcc\x51\xd1\x3b\x2b\x19\x6a\x25\xea\x42\x83\xa1\xad\x15\xe0\x01\xaa\xeb\x11\x3c\x51\x48\x93\xb7\xf8\xe5\xf4\xbd\x52\xd1\x57\x5b\x4d\x76\x16\x69\x01\xc0\x08\x50\xde\xb3\xd0\xf0\xca\x4e\x04\x15\xe2\x88\xf0\x15\x4b\xc4\x36\x93\xd0\x42\x69\xce\x75\x29\x7a\xc5\x10\x15\xb1\x30\xa5\x55\xaf\xed\xc4\xca\x72\x96\x3b\xcf\xac\x5e\x5b\x89\xff\x26\x25\x12\xff\x9b\x90\x42\x1c\x6d\x2b\x75\x78\x66\xae\x95\x1a\x45\x18\x10\x33\xa4\x0a\x21\x9b\xe9\x72\x29\x1f\x28\xae\x4a\x2b\xc5\x58\xb0\x98\xe2\xbc\x97\x65\x1e\xdf\x50\x60\x44\x3c\xd6\xb8\xa6\x16\xd9\x31\x21\x5e\x05\x1e\x3e\xd4\xde\xac\x2b\x6d\xa7\x0b\x67\x0b\xb1\x37\x63\xb5\x26\x74\xe1\xba\x4c\xe9\xcd\x92\xfc\x2e\xba\x70\x5c\x22\xb4\x33\x24\xbf\x11\x32\x0a\xe6\x90\x6b\x25\x78\x08\x91\x9a\x23\x54\x36\x36\x1c\xa5\x7e\x6b\x25\xf5\x0a\x02\xe1\x13\xfb\x41\x4f\xbc\x2c\x82\x7a\x2b\x91\xba\xa3\x45\xf8\x06\x89\xf0\x8c\x3e\xe0\x17\x68\x60\xe5\x7a\xdf\x13\x8d\xf9\x56\x35\x93\x4c\x07\x10\x96\x10\x21\x84\xb5\xa7\x51\x44\x02\xe9\x89\xf1\x33\x96\x0a\x49\x40\x8e\x66\xe1\x5a\x83\x8e\xef\x38\x52\xf5\xd2\x4e\x18\x0b\xdf\x35\xe6\x3f\xa6\xe0\xd8\x28\x78\x29\xd6\x9c\x9d\xd9\x7d\x63\xb3\x0c\x0f\x23\x03\xb0\xa4\xc5\x7d\x95\xf7\xa2\x76\x8c\x82\x27\xf0\xc2\x81\xa1\x8b\xaa\x0b\x2b\xdc\xb4\xaa\xba\x76\x63\x5a\xa3\x6f\xc3\x5e\x3e\x19\x75\x10\x75\x60\xd4\xb5\x9a\xab\xe4\x3e\xcc\xab\xc6\xb9\x65\x2f\x8f\x25\x8a\x56\x2c\x5a\x56\xac\xe3\x77\x33\xed\xe0\x5d\xa1\x3a\x41\x1b\x06\x2d\xab\xd3\xed\xfb\xe0\x96\xad\xde\xe2\x9e\xcc\x56\xc9\x7c\x99\xd5\x5a\xa3\x05\xaf\x06\x95\x9d\x55\x29\x5c\xc3\xea\x97\x1c\x61\x5e\xf2\x4a\x46\xf5\x9a\x23\x66\x55\x70\x41\xf1\x56\xe7\x82\x02\xdd\x9c\x5b\x56\x30\x07\x3f\x3f\x59\xe8\xb7\x12\x69\x10\x92\xf5\x32\x26\xc8\x50\x29\x31\x65\xac\xd5\xe2\x56\x70\x74\x56\x67\x80\xe8\x95\x9d\x88\xf2\x58\x88\x47\x33\x8d\x22\x4e\x10\xf1\x98\xd9\x52\xd0\x0e\xf8\x94\xb1\x55\xc1\x57\x56\xa2\x79\x82\xa6\xf1\x89\x09\x79\x5f\x72\xf5\x59\x2d\xc7\xc0\xc9\x87\x64\x8b\xf7\x76\xf2\x9c\x3b\x28\xc4\x37\x1c\x09\xd7\x1f\xe9\x15\x4b\xc4\x0d\x39\xf5\xce\x4e\x56\x84\x77\xec\x66\x53\xbf\x64\x08\x59\x85\x8e\x5e\xb1\x44\x55\x0c\x2e\x81\x7a\x51\xc6\x0a\xf3\x20\x3a\x69\x3e\x48\x4e\x9a\x4f\xac\x0e\xf9\xc4\xa9\x8f\xbf\xa9\x94\x0e\xda\xb0\xf4\xcb\x97\xe0\x25\x1a\x9a\x6a\x2e\x74\x9f\xb0\x08\x4d\x7f\x51\xa2\x63\xc8\x97\x2f\x5c\xce\x9c\x6e\x58\xac\x58\x59\x66\x6e\x42\x8e\xb1\x0f\x62\x38\x18\x5f\xab\x25\x6f\x72\x8e\xf9\xc1\x3b\x13\x81\x26\x8b\x79\x1e\x8d\x52\x4e\x28\x29\x1a\xc7\x6a\x39\x27\xdc\x63\xa8\xf2\x86\x97\xca\x46\xfc\x7d\xda\x68\xe9\xf7\x69\x95\x4f\xc0\x83\xa5\x3f\x16\x2b\x16\x06\x70\x39\xbb\x35\x07\x85\x80\x69\x0c\xb7\x39\x43\x05\x07\x11\xcb\x48\x99\x0a\x99\x80\x31\xb2\x5d\x11\x5f\x9e\x83\x3f\x8c\x8b\x4f\x97\x38\x33\x40\xd9\xf4\x36\xd0\x4f\x74\x6c\x26\x9e\x8b\x4c\xc6\x32\x83\x19\xda\x08\x26\x18\x3b\xd8\x4a\x72\x90\xab\x57\xed\x3a\x87\x6d\x15\x00\xe7\x9d\x69\xee\x66\x3a\x7a\x8a\x40\x53\xf3\xeb\x2a\x54\x86\x53\x95\xec\x77\x11\x83\x46\xf8\x9a\xdb\x67\x2d\x54\x1a\x99\x5d\x95\xf4\xff\x8a\xe9\xdb\x66\xa6\x6b\x63\x55\x1f\x3c\x62\xd2\x5d\xbc\x31\xb8\x42\xca\xf3\x79\x71\x5f\x09\x73\xf5\x82\xd4\x5b\x4a\x0b\x62\xdc\x08\x70\x3c\xe8\x54\xaf\x55\x62\x6f\xe5\x58\xa7\x6d\x8e\x8b\x2a\x37\xa0\x8e\x28\x89\x69\x69\xc8\x8c\xc6\x54\x9b\xc9\xff\x8f\x31\x10\x6c\x51\x13\x16\x29\xba\x1b\x28\xf6\xc0\x45\x50\xaf\xac\xbc\xd7\xe9\x56\xaa\x28\x46\xf2\x47\xfa\xde\x54\x8d\xa6\x72\x75\x2a\xd5\x46\xf3\xb5\xa2\x4f\x75\x86\xe3\x84\x7b\xa7\xfc\x2e\x70\xb6\x49\xa6\x4f\xc1\x63\x9a\xc3\xc7\x9b\x53\x7e\xca\x83\x77\x41\x6d\xd9\xc5\xa9\xe8\x24\xfc\x1c\xcf\xe6\xb3\x6a\x12\x6f\x64\x97\xc5\xef\xf8\x5b\x33\x01\x8d\xd0\x7d\xb6\xcc\xd7\x5d\xdd\x2a\x63\xee\x2a\xbb\xa1\x3e\x77\xae\xf0\xfe\xdf\x8d\x54\x74\xc3\x1c\xd9\x2a\x4e\x95\xeb\x56\x15\x09\x4d\xb9\xb7\x08\x12\x32\x04\x1c\x03\xa3\x0d\xa9\xac\x9a\x46\x27\x6a\x63\x3f\xd3\x12\x84\x13\x04\x68\x9b\x4b\x25\x3c\x70\x2e\xb0\x12\x91\xc0\x68\x21\xe4\x89\x67\x0d\x25\x22\x96\x11\xcc\x63\xd3\x11\xec\xd9\x40\x3a\xf3\xa7\xd1\x0c\x7d\xfc\x04\x5a\x41\x70\x42\x9c\x19\xab\x0a\x8d\x22\x1a\xc2\xf3\xe5\x7d\xe1\x31\xbd\x56\x9e\xde\xe5\xbc\x8f\x87\x83\xc8\x97\x51\x31\x1f\x63\xce\x8f\x36\x55\x59\x90\x70\x4c\x9a\x96\x99\x55\x56\xc1\x10\xb3\x27\x2a\x7f\x75\x32\xcf\x54\xf6\x34\x3c\xe3\x76\x30\x5d\x85\x59\x53\x88\x56\xcc\xbd\xed\x5c\xbd\x48\x39\xa6\x14\x19\xae\x30\xd3\x87\x78\x6b\xc7\x95\x66\xa1\xd5\x5d\x9d\x99\x15\xd5\x64\x41\x89\x4c\xcd\xa3\x85\x97\xa9\x7c\xeb\xd7\x11\x8c\x13\xcc\xe8\xbe\xa6\x1e\x8e\x5b\x1f\x89\x82\x65\xa1\x8f\x10\x8d\x70\x8e\x13\x47\x89\xa2\x2d\x8b\xe0\x25\xee\x52\x94\x2f\x84\x78\x42\xe0\x0b\x20\x08\x50\x2e\x4d\x25\x7b\xd5\x0e\xc3\xb2\xbf\x48\xf3\xfa\x9b\xa6\x5e\x49\xb6\xae\x35\xb7\x6d\x75\x20\x2a\x68\x05\xcf\xc1\x9c\xab\xb8\x4a\x15\xa4\x8f\xa9\x43\x6d\xfe\x34\xcf\xa7\xbb\x41\xa6\x72\x2e\xea\x63\x25\x78\x47\x4f\x29\x0b\x13\xf9\x0e\xef\xbf\x7a\x85\xc1\x9d\xae\xd1\xe4\x63\x6f\x9c\xce\xf8\xfa\x6d\x90\x07\x5b\x0d\xbd\x8a\xa3\x06\x43\x6a\x2e\x28\xf2\x6a\xcd\x85\x87\x9f\xeb\xf6\xaf\x2b\x43\x4c\x90\x7b\x0d\x50\x14\xf4\xbf\xfd\xf2\xff\x07\x00\x00\xff\xff\x66\x32\xd8\x19\xa1\xea\x02\x00") + +func cfI18nResourcesEnUsAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesEnUsAllJson, + "cf/i18n/resources/en-us.all.json", + ) +} + +func cfI18nResourcesEnUsAllJson() (*asset, error) { + bytes, err := cfI18nResourcesEnUsAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/en-us.all.json", size: 191137, mode: os.FileMode(420), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesEsEsAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xe4\xfd\x4b\x73\x23\x47\x96\x20\x0a\xef\xbf\x5f\x11\x93\xf3\xb5\x31\x55\x06\x32\x25\x55\x75\xdb\x58\x8e\x5d\xeb\x41\x92\xc8\x4c\x76\x91\x04\x0b\x20\xb3\x5b\xa3\x2c\xcb\x0a\x22\x9c\x60\x28\x03\x11\xa8\x78\x30\x05\x55\xeb\x27\xf4\xe2\x5a\xef\xee\xae\x96\x5a\x68\x31\xa6\x5d\x6d\xc6\x6c\xf8\xc7\xee\x79\xb8\x7b\x78\x3c\x3c\xc2\x03\x00\x99\xea\xbe\xdd\x56\x4a\x02\x88\x38\xe7\xf8\x71\xf7\xe3\xc7\xcf\xf3\xdb\xff\x9f\xe7\xfd\x05\xfe\xe7\x79\xcf\xc2\xe0\xd9\x4b\xef\xd9\xfb\xf8\x7d\x7c\x75\x7a\xf9\xf2\x7d\xfc\x6c\xc4\xdf\xe7\xa9\x1f\x67\x91\x9f\x87\x49\xac\x1e\x38\x9e\x5e\xcc\x27\xff\x34\xc5\x87\xe0\x99\x1f\x47\x6d\x40\xbe\x49\x8a\xd4\xfb\xa7\xf9\xf4\xc2\xcb\xf2\x34\x8c\x97\x5e\xb6\x89\x73\xff\x7b\x2f\xcc\xbc\x30\xbe\xf7\xa3\x30\x38\xf2\xbc\xcb\x34\x59\x8b\xd4\xf8\x29\xbf\x0b\xb3\x97\x9e\xb7\xb8\xf5\x32\x91\x1f\xa6\x45\x1c\xc3\xab\x87\x22\xbe\x0f\xd3\x24\x5e\x89\x38\x3f\xbc\xf7\xd3\xd0\xbf\x89\xc4\xe1\x32\x4d\x8a\xb5\x77\xf0\x97\xf7\xcf\x62\x7f\x25\xde\x3f\x7b\xf9\xfe\x19\x80\x2d\xe0\xaf\x51\xf3\xab\x1f\x0f\x3a\x86\x73\xe6\x7b\x59\x88\x14\x00\x01\x81\x00\xcc\x69\x28\x98\xf4\x38\xf1\x44\xe6\xdd\x3f\xfc\x15\xc8\xf5\x81\x5e\xf3\xc9\x45\x92\xa6\x62\x91\xfb\xf8\x44\x84\xdf\x2f\x8b\x10\x08\x14\x2f\x1f\x85\xfa\x47\xe5\x73\x96\xfb\xcb\xff\xb8\x7c\xde\x2b\xf5\x16\x3e\xff\xc6\xbb\xba\x13\x19\xd1\x7c\x1f\x2e\x84\xb7\x8e\x60\x74\xde\x9d\x7f\x2f\x3c\x3f\xf6\xfc\x2c\x4b\x16\xa1\x9f\x8b\x00\xa8\xcd\xf2\x23\xef\x38\x15\x30\x72\x98\x0c\x5f\xbf\x11\xc6\x40\x67\x0c\x7f\x7c\x0a\xa3\x08\x3e\x2d\x60\xda\x70\x16\xf8\x0d\x2b\xd7\x7e\xe3\x4d\xb2\x3c\xc9\x08\xa1\x50\x6c\x03\x80\x61\xe2\xe5\xc0\x06\x11\x7b\x45\x4c\x20\x80\x10\x22\x22\x48\x8e\x90\x7d\x0b\xa0\x60\x11\x3e\xfc\x12\xe3\x2b\x45\xec\x2b\xfc\xa1\x5f\x81\x11\xf8\xe9\xc3\x5f\xbd\xa8\x58\xfa\xa9\x87\x1c\x06\x30\x04\xec\xc8\xc6\x88\xf1\x7a\x0d\x0b\xcd\x4f\x61\xac\x1d\x22\x02\x9f\x0a\xe3\x10\xc9\xf1\xed\x42\x02\x9f\xfa\xcb\x5f\x8e\xe0\x9f\x0b\x98\x88\x1f\x7f\xf4\x3e\xf9\x99\x02\xee\x15\x19\xf2\x4f\x72\x68\xb5\xf2\xe3\xc0\xfb\x13\x3c\x7c\xcc\x7f\xff\xf8\xe3\x9f\x3a\xd0\xc3\xf8\xfd\x3a\x6c\x98\xbc\x3b\x5f\x11\x95\x00\xcc\x98\x87\x8b\xd0\xfc\x3c\x69\x02\xb7\x10\x7d\x91\x00\xec\xd0\x13\x71\xb0\x4e\x60\x89\xe2\x0a\xb4\xcf\x1e\x3c\xcc\x78\x01\x15\x2e\xc7\x45\x08\xa8\x51\x28\x3c\xfc\x2d\xf6\xd6\x45\x0c\x78\x6f\xc3\xd8\x8f\x70\x4e\x00\xaa\x95\xeb\xb3\xa4\x00\x52\xe1\xe9\x1b\x9c\xcc\x15\x0c\x0e\x38\x04\x9c\x89\x93\xdc\x83\x85\x94\xc2\x92\x8f\x36\x9e\xfc\x1e\x1e\xcb\xef\x10\xde\x3a\x0a\x17\x44\x8c\x9d\x40\xe0\x54\x5a\xc0\xde\xfa\x73\x81\x8b\x02\xc8\xc8\x68\xbb\x45\xb0\x76\x92\x98\xd6\x06\x6d\xcd\x1c\xfe\x30\x7f\x08\x80\xc1\x8b\xbc\xf0\x23\xdc\x6c\x82\x98\x19\x21\xcf\x11\x21\xad\x3a\xeb\x48\xf0\x6c\xf1\xbc\x6b\xc0\x75\x00\xdb\x77\xe5\xa7\x1f\x45\x0e\x6b\x1b\xf6\xc5\x61\xe6\xcd\x27\xb3\x77\xa7\xc7\x93\x03\x1c\xc2\x7d\x28\x3e\x11\x3d\x69\xb8\x46\x7a\x33\x2f\xb9\x85\xe9\x0b\xc2\xfb\x30\x00\xc4\x72\x07\xc2\x77\xbe\xb7\x0c\xef\x61\x1f\xc8\x8d\x66\x1f\xab\x3a\xb5\xbc\xeb\x3c\x8c\x70\x4b\x76\x51\xb0\xf6\x53\xdf\xbb\x07\x99\x29\x49\xc0\x61\xf3\xfe\x93\x3b\xb1\x24\x85\xbf\x2e\x62\x63\x57\x89\x5c\xa4\x2b\x98\x58\xd8\x8c\x9d\x8c\x18\x67\x20\xce\x62\x2f\x4d\x10\xc8\xa7\x30\xbf\x03\x49\x05\xcb\x90\x67\x14\x98\x94\xd2\xc2\xcd\x0f\x93\x74\x79\x88\x0f\x1d\x78\xb8\x0f\xda\x9f\xc9\xd6\x30\x06\x7e\xaa\x9f\x05\x63\xc4\x2b\x24\x62\x9c\xbe\x3e\xbc\x1b\x07\xac\x5d\x23\xa5\x19\x47\x08\xaf\xaf\xfc\x74\x29\x72\xbd\xd5\x68\xb2\x73\xfa\xce\x8b\x61\xca\x09\xe0\x80\x39\x6c\x87\x49\xd3\x17\x84\x69\xb8\x0c\x53\xc0\xec\xe3\xf4\x08\x04\x0d\xb3\x13\x17\xe2\x3e\x71\x23\xd6\x46\x24\xf0\x65\x20\x89\x9d\xa4\xf9\x08\xd0\x8f\xc3\x1f\xa4\xc8\x46\x0a\xfd\x4e\x0a\x0b\xb9\x81\xa2\x04\x8e\x3e\xef\xd0\xf7\xc6\x97\xa7\xde\xe1\x61\xf6\x31\x5c\x1f\x66\x59\x74\x48\x07\x3f\x11\x75\x00\xb0\xe9\x51\x94\x5a\x1d\x4f\xc1\x00\xb3\x62\xbd\x4e\x45\xc6\xda\x81\x27\xd2\x34\x49\x87\x6d\x26\x27\x6a\x5c\x88\x21\x1e\x01\x39\x69\xb8\x0a\x53\x96\xd3\x4c\x4e\x2b\x4f\xe0\xaf\xe3\xd7\x1f\x2e\xc6\xe7\x13\x58\xca\xeb\xcd\x61\x06\x2a\x11\x50\x34\x9f\x5e\xcf\x8e\x27\x87\xe3\xcb\x4b\xef\x6a\x3c\x7b\x33\xb9\xa2\x3f\xbf\x85\x5d\x2e\x3f\xce\x2f\xc7\xc7\x13\xf8\x22\x51\x5f\x4c\x67\x6f\xfe\xf8\x47\xf8\xe2\x30\x4e\x0e\x53\x41\x27\xd1\x1f\xad\xc7\xcc\x63\x63\xb5\x0d\x75\x4a\xe2\xd0\x8f\x40\xe0\xaf\xd3\x04\x44\x10\xae\xa1\x28\xcc\x72\x14\x86\x74\x54\x1e\x06\x22\x02\xc6\xe1\x29\x0a\xaa\x11\x4e\xa7\x9f\xb3\xda\x01\xc7\xc7\xa7\x34\xcc\x73\x10\x97\xf2\x94\x78\x77\x3c\xbe\xfc\x20\xa5\xde\xdc\x33\x54\x28\x4f\xa9\x50\xde\x2d\x2c\x20\x3f\xde\x78\x37\x49\x01\xc2\xc7\x38\x56\x32\x9b\xac\x25\x2a\xe9\xa0\xe0\x03\x62\x84\x94\xae\x93\x94\x84\x28\xad\x77\xa4\x97\x34\x91\xc5\xc3\x2f\x41\xb8\x4c\x50\x84\x12\xcd\x20\x32\x41\xd9\x01\x8c\x30\x12\x7d\x2c\x91\x08\xbe\x09\xe1\x38\x82\x5d\x4c\x47\x8d\x26\x0e\x40\x00\x86\x24\x85\x63\xaa\x3a\x14\x5a\x42\x0b\x10\xcf\x7f\x06\x75\x31\x35\xcf\x26\x78\x21\xf2\x7f\x80\x33\xcc\x22\x9b\xdb\x79\x2c\x8f\x17\x10\x78\x70\x8a\xdf\x86\x0b\x94\x9a\xb7\xa0\x8b\xa6\x34\x6a\x42\xb7\x42\xb1\x8f\x27\x83\x87\x04\xc2\x6a\x66\xe5\x36\xb9\xf9\x0e\xf4\x57\xf8\xfa\x30\x0a\x63\x71\xf4\x3e\x36\x56\x4e\xb1\x86\x25\x0f\x40\xa5\x92\x78\xb8\x70\x57\x55\x51\xa3\xb6\x2d\x87\xdb\x30\xa2\x53\x39\xf7\xc3\x98\xee\x04\x3b\x12\x7f\xe4\x11\x2e\xd0\x81\xe1\x59\x38\xa5\xe4\xe2\x31\xde\x63\x8c\xa0\x0b\xdf\xb0\x46\x7c\x93\x25\x11\xea\x2c\x30\x93\xa8\x35\xe4\x70\x44\xeb\x57\x99\xbe\x3e\x46\x5c\x8e\xaf\xde\x7e\xb8\x9a\x7e\x78\x7d\x7a\x36\x91\x63\x9d\x7c\xef\xaf\xd6\x80\x07\x16\x7a\x83\xc4\x97\xf4\xc4\x5f\xe8\xbf\xf0\x7f\xef\x9f\x2d\xa2\x02\xe4\x46\xfa\x21\x4e\xe0\x08\x07\xd6\x95\xbf\xf1\xcf\xb0\x9a\x73\xfc\xfa\xef\x47\x95\xef\x57\x62\x95\xa4\x9b\x0f\xab\x1b\xfc\xed\xab\x2f\xbf\xfe\x9d\xfa\xf5\x47\xfa\xe3\xc7\xad\x96\x7c\x84\x8b\x1a\xd5\x29\xe0\x56\x4a\x8b\xbd\x9c\x01\xb9\x26\x71\x6a\x1e\x7e\x86\xb9\xe1\xbd\x50\x2a\x13\xac\xe2\xe3\x20\x81\x75\x34\x60\xbe\x27\xd1\x2f\xd1\xc3\xcf\xb1\xf0\xf7\xbf\xa6\x3a\x36\xaf\xe7\xa7\x8b\xbb\xf0\x3e\xa1\xcd\x89\x6b\x4c\xc4\x4b\x7f\xff\xa3\x93\x4b\x0e\x14\xd4\xfb\x87\x9f\x49\x54\xf8\x8b\x85\xc8\x60\xf5\x44\x9a\x82\x40\x54\xf0\xae\x0b\xc1\x1b\x95\x44\x4c\xfd\x35\x5e\x91\x70\xd4\xaa\x05\xe9\xb3\x5a\x20\x81\x6d\xb3\x1c\xbf\x13\xb0\x1c\x89\x8c\x96\x01\x3c\xd9\x82\xfc\x0c\x42\xec\xa5\xe4\x80\x62\xd7\x0d\x68\xc3\x9a\x59\x70\xde\xf1\xb7\x52\x16\x7f\x38\xbd\x98\x5f\x8d\x2f\xe0\xd0\xfb\xff\xae\x78\x73\x67\xd0\xae\x62\x6f\x8d\x37\x0f\xb8\x56\xc0\xf1\x8c\x0b\xe6\xfd\xb3\x54\xf8\xc1\x61\x12\x47\x9b\xf7\xcf\x7e\xbd\x12\xec\x29\x17\xd4\x60\xd9\xf6\x28\x63\xff\xbc\xf2\x6d\xb7\xf5\x38\x4c\xee\x39\xac\xc8\x5f\x81\x08\x43\x83\x99\x21\xf1\x25\x2b\xbc\xcb\xb3\xf1\xc5\x7f\x20\x41\xb6\x7f\x39\xb6\x2b\x9f\xfe\x33\xa9\x71\x4f\x28\x00\x1f\x7f\x39\xfe\x0a\x54\xbc\xa7\x95\x80\x8f\xb1\x92\x7f\xdd\x1a\xe0\x25\xee\xe4\xec\x2e\x29\xa2\x80\x36\xbc\xf7\x43\xb8\xa6\x4d\x3d\x42\xc6\xa4\x11\xef\xf2\xf2\x4b\xbc\xe8\xc3\x69\xb7\x40\x83\x74\x88\x4e\x17\x40\x7b\xe4\x5d\x26\x59\x48\xe2\x27\xcc\xe0\xe7\x35\x7d\xba\x47\x87\x46\x2e\x96\x22\x1d\xa1\x19\x10\x66\x26\x0d\x93\x34\xcc\x37\x23\xb2\x50\xc2\x93\x59\x42\x66\xfc\xdb\x34\x59\x01\xc8\x4f\x22\xcb\x11\xdb\x5d\xb8\xbc\x13\x76\x7f\x47\xeb\x72\x08\xc4\x8d\x9a\x73\xbd\x2e\x80\xe6\x11\x7e\xbe\x9e\x9d\x55\xe6\x98\x06\x93\xe0\x17\x6a\x00\xb0\x00\x69\x44\xe4\x15\x41\xe2\xd5\x72\x25\x93\x20\x8c\x21\x4d\xd4\x98\x92\x91\xb6\xd3\x0b\x34\x32\xf0\x98\x02\x3f\xf0\x36\x68\x85\x48\xd2\x40\xc4\x44\x18\x6c\x9a\x04\x79\xb1\x7a\xf8\x6b\x66\x37\x22\x90\x18\x66\x51\x1f\xb0\x50\xdd\x42\x81\x3c\xcd\xd5\x04\xb2\xb3\x09\xfd\x62\x4b\x90\x9d\x7e\x9a\xfa\x1b\x36\x19\x1b\xd2\x13\xcf\x85\x0c\x8f\x96\x40\x9a\x4c\xc8\x85\x22\xbc\xb4\x88\x44\x97\xb5\xa6\xc9\xf4\x52\x20\xa0\xb1\x7f\x0f\x9a\xc7\x09\xcc\x62\x8a\x2f\x82\x30\x91\x70\x56\x7e\x9e\x86\x3f\x78\x0f\x7f\x8b\xc3\x85\x4f\x56\x68\xde\x44\x19\x0f\x09\x85\x8f\x1c\x87\x8f\x46\x9f\x0c\xc0\x2f\xe1\x9f\xc7\xe3\x38\x43\xa0\x33\xd2\x60\x3a\x91\xbf\x13\xe3\x19\x2e\x3d\xfe\xca\x87\x95\x34\x95\x9a\x48\xc6\x3a\x60\xb2\x42\x93\x5c\x40\x3b\x07\xd5\x22\x7a\x33\xfb\x73\xe1\xa7\xc2\xbb\x01\xf9\xfa\x11\x37\x18\xfe\x68\xfa\x19\xef\x42\x20\x4f\xaa\x34\xf8\x60\x2a\xfe\x5c\xc0\x92\x0f\x50\x33\xc8\xe5\x28\x00\xb1\x14\x54\xef\xe8\x9c\xfd\x2e\x03\x1e\xd3\xf0\x04\x1f\xc1\x2c\xa1\xbe\x95\xf2\xa4\x94\x46\xa0\xb4\xa5\x49\x9e\x2c\x92\x88\x35\xb6\x7c\xb1\xc6\xe3\xa4\xfc\x19\x86\x99\x87\x31\x2d\x21\x7e\xe2\xab\x2f\x8f\xbe\xfe\xdd\xef\x8e\xbe\x3a\xfa\xea\xbf\x55\x9f\x84\x55\x94\x4b\xbd\xef\xb7\xbf\xfd\xf2\x1f\xa4\xca\xa7\x64\xd7\x1f\x3f\xd7\x9a\x04\xd9\x6d\x9e\x32\xe6\xda\x24\xc2\x76\x59\x9f\x04\x7b\xca\xe7\xc1\x8d\x4f\x6e\x35\x7e\x83\x1d\x69\x7a\xce\x51\x01\x00\xc9\xf2\xf0\x4b\x84\x6e\x42\xb2\x6e\xc6\x20\x7a\x32\x1f\xe4\x4e\x86\xc7\xa6\x28\x49\xc4\x3b\xc8\x02\x06\x7f\x07\x7a\x5c\x06\x6f\xc1\x4f\xf2\xc4\xb9\x0b\xbf\x4b\x0c\xdf\xaf\xd7\x3c\x9a\x14\x0c\x9a\xfe\xca\xd9\xf4\x59\x67\xde\xb6\x8b\xdf\xa1\xe7\x0f\x14\xe5\xe4\x13\x59\x78\xff\x5c\x24\xb9\xaf\xbc\x63\xea\xec\xe6\x2f\x6d\x8e\x2e\x04\x02\xeb\x62\xc1\x6f\xd2\xfd\x03\x98\xed\x4b\x4f\x57\x1d\x46\x3b\x1d\x7e\x80\x42\x04\xde\xb1\x22\xf1\x1f\xfe\x97\x1f\x84\xe4\x4b\x5e\x25\x9e\x0d\x4e\x90\x08\xf6\xd3\x8a\xef\xd1\x46\xef\xe3\xb9\x91\x8a\x75\x62\x83\x8a\xfe\x56\x7c\x52\x30\x58\x7c\x14\x0e\x27\x3c\xc7\x2c\x08\xd0\x3c\x6f\x03\x46\x46\x70\xcb\x7b\x78\x9a\x47\x78\x15\xdb\x28\x9f\xbb\x0d\xca\xc6\xaf\x79\xcf\x5d\x20\x26\xe8\x8b\xee\x85\x88\x9e\xd2\x38\xec\x82\x08\xab\x38\xdf\xd8\xe0\xf0\x86\xba\xf7\x41\xf1\xec\x00\x81\xdc\xf7\xef\xfd\x30\xa2\xf5\x04\xf2\x11\x99\x6a\x9f\x57\xed\xf1\x0e\xc2\x6c\x9d\xc4\x21\xbe\x24\xf4\x4b\x9d\x58\x52\x81\x6f\x04\x20\xfd\x41\x6d\x8a\x04\xee\xfd\x95\xff\x11\xa4\x54\x01\x12\x3a\xcc\x59\x83\xe2\x3b\xcf\x3a\x2a\x96\x92\x14\xeb\xc1\x1c\x27\x0a\x22\x88\xf2\x71\x26\x96\x0f\x7f\x4b\x05\xcb\x13\x14\x3e\xac\xc3\x18\x2b\x84\xdd\xd3\x04\x57\xa9\xd8\x16\x7a\x91\xd8\x5b\xf4\xe7\x74\xa0\x96\x91\x0b\x31\x5e\x00\x52\xfb\xac\xa7\xa0\x9d\xde\x6b\x4d\x4f\xfa\xa1\x4a\xa2\x44\x66\x9d\x3c\x74\xf8\xa0\x8f\x1c\xc9\x8e\x0c\x9f\x90\x31\xa2\xcc\xe2\x05\x7d\x76\x49\xc3\x04\xf1\xa2\xce\x40\x3d\x22\x75\x00\x2a\xce\x05\x5e\xe0\xe7\xbe\x8d\xc7\x13\x2d\x47\x4d\x98\x2d\xa3\xa7\xab\x1a\x5e\x6d\x7c\x3c\x00\xd4\x44\x07\x89\x4d\x1d\x39\xd0\x2b\x0f\x8f\x05\xdc\xd0\x29\x85\x07\x91\x1f\xf8\xc8\x9b\x0b\x76\x99\xde\x89\x68\x6d\x5b\x89\x07\x32\x2e\x0a\x26\x59\x45\xa9\x30\xa8\x94\x24\xfd\x71\x12\x67\x45\x94\x9b\x70\xda\x29\xf9\xcb\x5f\x8e\x40\x1c\xa2\x01\x66\x7e\x07\x32\x19\x9d\xd0\x2a\x8c\x40\x7e\x7f\x96\xc4\x4b\xfa\x1a\x96\xa9\x1f\xe1\xf9\x09\xc7\xe8\x1a\x44\x82\x8d\x6d\x6d\x30\x37\x6d\x10\x73\x7f\x75\x13\x3e\xfc\x84\xc1\x11\x00\x14\x60\xfa\xb6\xd8\x90\x2f\xb4\xf0\x20\xf9\x67\x55\x57\xbf\x40\xe9\xc1\x22\xd2\x02\xe9\x37\xbf\x19\xa3\x8b\x13\x5f\x78\xe9\xc9\x49\xa5\xa1\x81\x5a\xe6\xe3\x8a\xd4\x4e\xd0\x9b\x0d\xe8\xfe\xf4\x28\x19\x66\xe0\xfa\x95\xe2\x0d\x0d\xe4\x7e\x91\xc3\xb0\xe0\x28\x3f\xc5\xb0\xa9\x28\x22\x86\xa1\xd3\x7d\xad\xc0\xe5\xde\x06\x23\xef\x92\x4f\xb0\x03\xc3\xec\xe3\xd1\x6f\x7e\x83\x07\xef\x49\x82\x5f\x7b\x9f\xfc\x98\xae\x3b\xa1\x7c\x9b\xac\x30\xbc\x31\x81\x45\x4c\xd2\x8f\x3f\xfe\xa3\xf7\x7c\x83\xea\x68\xfc\x85\x65\xa8\x38\x10\x58\x81\x78\x61\x79\xe9\x9d\x51\x14\x18\x63\xc7\x83\x9c\x07\x03\x5f\x2e\x53\xff\x46\xbb\x4d\x81\xf0\x04\x16\x27\x0f\x0b\x84\xb5\x8c\xd0\x89\x13\x7d\x65\xf7\xe3\x1f\x7c\x35\x2e\x01\x93\x56\x48\x07\x7e\x64\xc0\x47\xe7\x3b\x1c\x9f\xf0\xaa\x0f\x4f\x20\xcb\x96\x89\x1c\xe1\xff\xf9\xdf\x27\x20\x82\x64\x3c\x59\xe4\xa7\xa8\x89\xb4\x0e\x2d\xf3\x1e\x7e\xc1\xa1\xb5\x4e\xd1\x58\x07\x75\xa1\x2d\x0e\x58\x95\x44\xcc\x2f\xd8\x26\xfe\x22\xe7\xd3\xfe\x38\x4a\x8a\xc0\x7b\x8d\x9b\x3a\xb5\x1d\x01\xd7\xa0\xa7\xdd\x09\xd0\xc9\x57\x21\x51\x8b\xa2\x84\x0c\x2a\x74\x4f\xe3\x5d\x93\xf1\x39\xa8\x80\x83\x5e\x4d\x8a\x40\x15\x7c\x3b\x99\x27\x27\x2f\x66\x93\xf3\xe9\x3b\x34\x0b\x5c\xbf\x39\xbd\xb0\x50\x31\x7e\xf8\xbf\xc7\x27\xa7\xb3\x17\x93\xb3\xd3\xf3\xd3\x8b\xf1\x4c\x3d\xed\x06\xd4\x9b\x4d\x2e\xa7\xf3\xd3\xab\xe9\xec\x1b\x57\xf8\x93\xb3\xf2\xa5\xd3\xa9\x77\xa2\x40\xcd\x6d\x28\xdf\xa1\x15\xe3\xc4\x06\x1e\x7e\xfd\x9f\xe3\x93\xa9\xe5\xe5\xb3\xd3\xf1\xdc\xf6\x26\xfd\xd6\xfe\xda\xe5\xa9\x8e\x92\xb3\xbc\x7d\x59\x8d\x80\x8b\x28\x70\xa4\x1f\x9a\xf7\x5c\x1c\xc1\x01\x7b\x97\xe7\xeb\xec\xe5\x8b\x17\x18\x38\x27\xef\x33\x47\xb0\xaa\x6c\x9b\xa9\x15\x99\xf7\x7c\x7d\xe4\x89\xef\x3a\x80\xf5\x52\xf3\x72\x08\xbe\x97\x0e\xf0\x28\x6e\xf1\xf2\x74\x22\x3f\xff\x68\xb3\x55\xb6\x23\x68\xbe\xbd\x05\x46\xef\x39\xfe\x7e\xcf\xa2\x5c\xfd\x2c\x25\xfb\x8f\x3f\x0e\xe2\x70\x1b\x70\x82\x24\x63\x53\xab\x4f\x19\x38\xdc\xc8\xde\x81\x4b\xfd\x2c\xba\xb4\x2e\x7b\xfc\xc9\xf6\x92\x36\x1a\x76\xbc\x6d\x3c\x63\x05\x83\x97\x94\x0e\x08\xf4\x73\xfb\xcb\x78\x07\xce\xe8\x62\x60\x44\x49\x82\x0c\xcc\xc3\x45\x81\x22\xfb\x26\x4d\x3e\x0a\x5b\x6c\xd7\x58\x5e\xb6\x51\x64\x96\x51\xc7\xa0\x83\x90\xfc\x5c\x89\x20\xf4\xd3\x6a\x8c\x63\x2f\x15\xca\xc4\x8a\xd6\xe8\x06\x31\xea\xc7\xe4\xf6\x56\x60\x00\xbb\x03\x59\x70\xe4\xc4\xc9\xea\x26\x15\xd5\x58\x66\x0e\x2d\x4a\x00\x4c\x5e\x8b\x72\xd6\xb4\x5a\xa2\xea\xc6\x0b\x34\x9e\xa0\xd1\x46\x06\xed\xc3\xbb\x8b\x02\xed\x99\x1e\x05\x90\x67\x74\x11\x84\x35\x03\x2a\x40\x1a\x53\x40\xb1\x4d\x69\x1b\x07\x00\x4a\x59\x19\x81\x88\x65\x5a\xac\x13\x19\xb8\xbd\x2c\xd8\x9c\x88\x57\x7b\x50\x5a\x0b\x7e\x88\xaf\x8f\x35\xe0\x3d\x64\xca\x98\xf7\x1a\x99\x48\x65\x05\xce\x10\x1a\xab\x24\xc2\x07\x7a\x09\x98\x49\x7a\x04\x53\x59\x05\xde\x4e\x63\x00\xda\x13\x05\x49\x1a\x37\x1c\xd2\xe6\x6d\x47\xf8\x98\xee\xd1\x64\xde\xa5\xd0\xcc\xf6\x1b\x8d\xe5\x26\xc0\xe8\xd0\x96\x9d\xaa\x18\x69\x34\xf6\xad\xd7\xbd\xc8\x64\xe4\x33\x20\x50\x46\x64\x8a\x1a\xb7\xa2\xa1\xd5\x41\x38\x80\x0b\xf0\x0a\x08\x32\x44\x56\x8f\x33\x87\x11\x27\xe9\x12\xbf\x9b\xa6\x4b\xf9\xdd\x0b\x8e\x6a\xc5\x2f\xe7\xf8\x87\xfc\x9a\x67\xeb\x5a\x33\xf4\xe8\xc8\xa6\xf3\x8e\x83\x72\xb2\x22\x49\xb8\xa6\x82\xb6\x44\xd4\x12\xf2\xce\x16\xa4\x16\x6a\x54\x24\x6c\x8d\x1e\x35\xc5\x55\x8a\xda\xf9\x11\x85\x40\x7d\x35\x66\x5e\x5d\xbc\xe4\xbc\xdf\x08\xe4\x98\xd4\x80\x39\x5c\x1d\xd6\x05\xdb\x5d\x8f\x5f\x2b\xfd\xef\x85\x8f\x90\x8e\x3c\x6f\x26\x48\x3a\x20\x80\x1a\x58\xa5\x29\xf6\x80\x8f\xc9\x40\x9f\xe2\xa4\x00\x28\xba\xe9\xb3\x59\x16\x1f\x60\xff\xa9\x54\xe2\x3b\xee\x82\x7e\xdb\xb8\x82\x52\xc5\xd5\x01\x89\x68\x1f\x90\x2a\x70\x1c\xd4\x6e\x69\x3c\x26\x9c\x2b\x18\x27\x8d\x38\xe1\x01\xb2\xcc\x02\x68\xed\x49\x07\x84\xc8\x86\x81\x66\xf9\xce\xbf\x01\x65\x3d\x47\xa9\x59\xa8\x1f\x79\x61\x80\x1e\x9f\xd9\x6e\xfb\xed\x93\x85\xd3\x51\x99\x04\x64\xa1\x1c\xe6\x81\x56\xe5\x79\x69\x1c\x00\xfd\xdf\xc0\xbd\x66\x41\x46\xf1\x3c\xc5\xab\x92\xe4\x2c\xce\x82\xed\x2d\x62\x38\xcc\x59\x6c\x5c\x84\x42\x75\xcb\xa8\xcc\x58\x18\xdf\xc3\x91\xd4\x31\xfb\x40\xc0\xdb\xe4\x93\xb8\x47\x87\x13\xde\xb0\xa4\x7d\xfe\x36\x4c\x33\xb8\xf7\x17\x7c\x7b\x03\x60\x98\xe4\x42\x38\xbd\x70\xb5\xc6\x9b\x04\x1c\x37\x15\x5a\xf1\x27\xba\x3d\xe2\x87\x26\xc5\x4c\xdb\xd0\x15\xd2\x3e\xfd\x51\x17\x3b\x2f\x93\x80\x4c\xce\x78\xaa\xc6\x38\xa3\x81\xc8\x5a\xee\x54\x4d\x0a\xd1\xc5\x46\x4e\xd9\x30\x2e\x78\xf2\x47\xc6\x65\x0c\x0d\x87\xf2\x55\x79\xe9\xb9\x4f\x16\x0c\xb1\x7d\xd1\x01\x29\x73\x78\x58\xac\x6e\xfc\x74\x99\xa0\x27\x38\x5c\xa1\x4f\x8c\xbc\x6e\xc0\xfc\x35\xc8\x7f\x9e\xa4\x5c\x5d\x26\x01\x16\x33\x97\xc4\xb3\x2b\xdd\x7c\x65\x8f\xad\xb7\xf6\x71\x64\x24\x75\x90\x07\x44\x2a\x06\x6c\x94\x60\xd3\x00\x99\xf7\xb3\x50\x87\x25\x47\x24\xdf\x6c\x26\xa6\xab\x04\xaf\xc5\x91\x99\x3e\x65\xf8\xa5\x37\x3e\xef\xb2\x98\xa1\x22\x50\x79\x53\xcc\x13\x34\x16\xa3\x45\xbf\x8c\xcb\xc7\xf4\x8f\xfd\x11\x4e\xfb\xc0\x9e\x45\xb0\x2d\xe1\xe8\xbe\xac\xe6\x12\xec\x40\x32\xe8\x4b\x8f\xc2\x6d\x09\xf7\x71\xf9\xdd\x20\x7e\x4f\x1c\x6f\x12\x3f\x80\xe7\xc9\x27\x6f\x3e\x7f\x2b\xd7\x82\xa4\x4a\x74\x66\xbc\x5c\xb2\xef\x82\x76\x96\x74\x6d\x21\x04\xa5\x05\xcb\x83\xdc\x86\x90\x9c\xe7\x91\xc0\xdc\xc0\x58\xa7\x87\x91\x0e\x63\x9b\xc3\xb9\xca\xb9\xd0\x76\x3b\xf2\x6b\x15\xb9\x9f\xd5\x12\xc0\x6c\x93\xc3\xea\xcf\xaa\x00\xb1\x0c\x02\x84\x73\x66\x04\x86\x1f\xc0\x70\xd5\x67\x99\x19\xd9\x31\xee\xb9\x60\x01\x44\x5e\x7c\xce\x45\x6b\xc9\x93\xf1\xe3\x9c\x6f\x27\xd5\xc7\x7a\xd8\x02\x6a\x92\x4d\xcd\xc2\x9f\xac\x2f\xe9\x0c\x4e\x4a\x54\xb0\x80\x38\x7b\xf8\x19\x33\x2f\x90\xa8\x4a\xc6\x65\xd4\xa5\x5c\x02\x70\x52\x7e\x42\x76\x0e\x49\x47\xee\x6d\x28\x22\x9b\x7d\xfe\x42\x5f\x7f\x50\xeb\xe3\xe3\x67\xe1\xaf\x40\x8b\x4f\x6e\xa2\x70\xe9\x77\x38\x8c\x1a\x59\x97\x55\x0f\x95\xed\xe8\x6b\xcb\xa9\xd4\xbe\x2a\x9b\x48\x6f\x28\xc7\x38\xc0\x4f\x49\xfa\x91\xe2\x46\x3e\x86\xeb\x75\xa9\x55\x53\x38\x0e\x22\x73\xc7\xcf\xe3\xce\xd1\xfe\xf9\x1d\xdc\x43\x01\x26\xb9\x55\x05\xea\x4b\x51\x2d\x07\x56\xaa\xcd\x03\x08\x95\x92\x84\xd3\x5e\x72\xd6\x96\x59\xd2\xf0\x43\x43\x38\xa5\x04\x88\xce\x3d\xf1\xfc\x16\x78\x36\xda\x60\x40\x64\xac\xc2\xa5\x81\x81\x34\x70\x05\x5f\xc6\x09\xa8\x30\x8b\x8c\xa3\x17\xa2\x64\x49\x7e\xfd\x9e\x4b\x8f\x88\xf8\xd5\x87\x5f\xf0\x5d\xbe\xf1\x25\x11\x48\xb8\xbc\xa0\x1b\x1f\xe2\xa8\x44\xd3\x90\x33\x86\x3c\x0e\xf6\xc5\xa4\xb2\x81\xbc\x3b\xe1\x47\x18\x72\x71\x27\x16\x1f\xbd\x7c\xb3\x16\xd2\x4e\x77\x80\x8e\x60\x4e\x43\x8b\x41\xaa\x1f\xd8\xcc\x47\x57\xe1\x5a\x5a\xa9\x41\xe9\x48\x6e\xca\xa9\x43\x09\xab\xbd\x44\x66\x22\x8f\x32\xde\x1d\xac\x0b\xb8\xf3\x27\x94\x5c\x86\xb7\xf7\x22\x4e\x0e\x6c\x06\x24\x83\x60\xbd\xa1\x43\xd0\x70\xbe\xb7\x50\xf5\xf0\x6f\x71\x80\x87\x4b\x7d\x43\x1b\x74\x58\x31\x65\x36\xdb\x20\xff\xd6\xfe\x1a\xa7\x84\xfa\xec\x9e\x96\xf7\x59\xfb\xb9\x45\x89\x9c\x52\x38\x92\xbf\xbb\x2d\xa1\xb0\x07\x13\x5f\x4e\x19\x5f\x20\x6e\xc3\x98\xc3\xbd\x68\x65\x75\x09\x69\x13\x37\xbf\xa7\xa7\x6c\x21\x81\xe9\xab\xa6\xdf\x2f\x97\xab\xe4\x60\x4a\x29\x93\x80\x16\x87\x5e\x0a\xf0\xf9\x06\xbe\x22\x2b\x7c\xbb\x1c\x94\xf8\xf8\xc0\xda\x12\x5d\xed\x3c\x72\x44\x0a\xc2\xfd\x1d\xc6\x63\x5a\xd0\xc0\x6f\xa8\x6d\x11\x32\xab\x75\x8d\x00\xb1\xf4\x8c\xc8\xb2\x30\x83\x7f\xd9\x26\x81\x23\xf0\x1a\xd9\xba\xa5\x61\x82\xb3\x65\xa7\xe9\x12\xbe\xed\xb0\x39\x10\x7e\x3d\xa3\x38\xe0\x12\x8b\x1f\xa9\x71\x36\x11\x71\x86\x5e\x95\x33\x2d\x58\xb7\x1e\x16\x03\xea\x1c\x95\x61\x70\xe1\xaf\xc9\xcc\xa1\x4d\x2e\x15\x7a\xf7\xc2\x81\x0a\x4d\x0e\x0c\xa8\xd8\x60\xaa\x24\x2a\x2b\x4c\x83\xc8\xc7\x64\xd8\xaf\x85\x2f\xdb\x0e\xbe\x66\x07\x05\x08\xea\x9b\x0f\xf4\x0d\x33\x44\x2f\x8a\x4c\xf2\xba\x64\x86\xa2\x2a\x27\xef\x43\xc3\x90\xea\xcc\x8c\x16\x53\x6a\x1b\x31\x7e\x64\x2e\x00\x45\x8e\x85\x41\x35\xda\x9a\x96\x58\x17\x06\x19\x32\x1e\xde\xfd\x03\xfe\x21\x75\x13\x93\x31\x5b\x9a\x27\xab\x3c\x68\x08\xff\x1a\xc2\xea\xe0\xb7\xb5\x40\xe6\x39\x86\x06\x91\x49\x07\x18\x9e\x7c\x8a\xa3\x04\x98\x4d\x5e\xf1\x0d\x07\x39\x52\x44\x0a\x79\x2d\x62\x91\x63\x40\x17\x26\xb7\xdb\x47\x71\xca\x96\x98\x98\x54\x8d\x6c\x01\xab\x92\x2d\x1a\x4a\x19\x92\x0e\x77\xa9\x87\xc8\x2b\x87\x1c\xf2\xa9\xc4\xe2\x48\xee\x2a\x5c\xa6\x3e\x5b\x92\xa5\x0a\x78\x2a\x75\x91\x93\xb2\xe2\x45\x17\xc7\x0d\x5a\x09\x56\xea\x02\xca\x4a\x98\x0c\x95\xa0\xf0\x59\xb8\xfd\x92\x85\xe8\x12\xfe\xe0\x59\xf9\x13\xde\xb3\xd5\x1d\xfb\x4f\x75\xad\xf5\x4f\x2a\xce\xe5\x36\x15\x2a\x82\x56\x2b\x56\x7f\x6a\x52\xa5\xde\x32\xca\xe0\xf8\xb2\x6a\x0e\x46\xb4\xe4\x68\xb3\xa3\xc8\x0a\x3f\x58\x81\x46\x81\xc1\x2e\x70\x99\xf1\xc2\x5b\x32\xfb\xc1\x2d\x3e\xfe\xc8\x77\x79\x2a\x70\xc4\x65\x01\xac\xeb\xb2\x8c\x9e\x98\x44\xed\x43\x33\xdd\x44\x2d\x63\xe3\x00\x1c\x9c\xac\x22\xcc\x13\xae\x4c\x54\xaa\x81\x1d\xc3\x03\xcc\x01\x96\x4f\x51\xd5\x79\xd0\xe2\x07\x84\x2c\x31\x24\x4c\xc4\x9c\xf3\x83\x06\x34\xaa\x43\x13\x19\x83\x0d\xd0\x5f\x16\x7a\x6b\xb8\xc5\x64\xbe\x0c\xf3\xca\x95\x81\x59\x8e\xb6\x7d\x22\x0b\xb4\xb4\xe6\xa8\xdc\x0a\x16\xfd\xa0\x6d\x1f\xaa\xa0\x87\xf0\x5e\x44\x56\x07\x4c\x91\xf3\x8b\xb4\xdc\x95\xf4\x0e\xc8\x6e\xb2\xf2\x91\x07\x25\x14\xdb\x05\xaa\x44\x8e\xc1\x6f\x76\x49\xa1\x50\xc1\xca\xb5\x2f\x49\x03\x18\xde\x2b\x40\x10\x89\xef\xd7\x78\x27\x46\x2e\x72\x58\x1d\xde\x78\xe0\x8a\xf0\x91\xbc\x02\xe8\x32\x3a\xf4\x8d\xf1\x1f\xa9\x32\x66\x54\xca\xe3\x4f\x66\x69\x8a\xf7\xc5\x97\x5f\xfe\x76\xa1\x7c\xc8\xf4\x49\x78\x87\x85\xfc\x1e\xf9\xa6\xbe\x4b\xe4\x77\x20\x7e\xd5\x57\x99\xfc\x8a\xe4\x25\x7f\xf9\x27\x44\x6f\x52\x83\xf6\xe7\x3a\x39\x1d\x37\x45\xc5\x10\x16\x25\x77\xb0\x17\xfc\xa0\x58\x70\x28\xef\xbb\x42\x44\x14\xb8\xcc\x81\x97\xe8\x2b\x65\xbf\x39\x57\xa7\x49\x22\x2c\x50\x63\xc0\x48\x33\x1e\x79\xa3\x38\xc7\x23\x73\xa0\x4a\x4e\x9d\xd8\x8d\x85\x52\xfb\xe4\x27\xa9\x3c\xed\x68\x6f\x62\x11\x9e\x30\x90\xf1\x95\x9c\xd6\xc1\xf1\x41\x98\xac\x94\x87\x2b\xbc\x31\x06\x36\x5d\x7a\x22\xad\x78\xb8\xad\xf0\xd6\x86\xe1\x51\x65\x9d\x15\x15\xe6\x47\x70\xc3\x65\x28\x0b\x43\xe1\xa6\xe5\xba\x14\xe4\x07\x0d\x41\x72\x5b\xd4\xf0\x57\xa7\x67\x67\xa7\x17\x6f\xbc\xf3\xf1\xc5\xf8\xcd\x64\x66\x21\xe2\xcd\x64\x7e\x35\x9d\x61\x94\xce\xeb\xf1\xf1\xd5\xf5\x6c\x7c\x7c\xfa\xf0\xef\x96\xe8\xa0\x57\xd7\xa7\x67\x27\x97\xe3\xe3\xdf\xdb\xa2\x07\x2e\xc7\x7f\xb8\x9e\x5c\x4d\xe6\x08\xee\x78\x7a\x7e\x79\x7a\xe6\x04\xae\x2b\x9c\xa0\xf6\x50\x3b\xa0\x10\x13\x10\xea\x8a\x56\xef\x1d\x71\x42\xf6\x0e\xba\x32\xb5\xa8\x46\xfd\xb7\x42\x2b\x5a\xb4\x9c\xaa\x68\xd3\xba\xb3\x5e\x16\xca\xca\xd0\x88\x86\xe9\x1e\xd2\xa7\x6f\x96\x2e\xd9\x92\x5c\x33\x4c\xb5\xcd\xb3\x2f\xbd\x77\x9c\x6d\x80\x9b\x0f\x81\xd1\xf6\x50\xf6\x02\x2a\x23\x55\x09\x00\x78\xbc\x81\xab\x28\x81\x5f\xcf\xc0\xcb\x18\x12\x8b\xfd\x58\x0f\xbb\x56\x35\x8f\xed\x20\x6f\xaf\xae\x2e\xd9\x5c\xd8\x3b\x0c\x5b\xc5\x3b\xbf\x74\xfd\x23\xb4\x6d\xa8\xb0\x47\x17\xb8\xa2\xb7\x9a\x82\x11\x31\xce\xd8\x8d\xc8\x3f\x09\x41\xda\x7f\x55\xb3\xa0\xe3\xa5\x6a\xbe\x95\xb2\x91\x2c\xb1\x76\x29\x88\x86\xc7\x05\x15\xcb\x49\x45\x0b\xd8\x4d\xbb\x65\xf7\xe1\x67\xcb\x81\xaf\x08\x6d\x46\x44\x34\x98\x66\x53\x92\x86\x87\x4a\x38\xde\x4f\x79\x16\xa4\x11\xb8\x1a\x2b\x41\x0b\xb9\x7d\x66\xac\x64\x5a\x6e\x65\x03\x02\x2a\xdc\x6e\xb3\x8a\xa5\x6e\x77\xd9\x40\xdc\xfa\x45\x94\x67\x55\x09\xe7\x16\xff\x33\xe1\xb5\x80\x2e\x2e\xd7\xfb\x2a\xb9\xc6\xee\xd1\x30\x85\x7e\x2f\x38\x2f\xcb\xf0\x2f\xe5\x07\x43\x81\x96\xe3\xc9\xee\x1c\x2b\x34\x6c\xc4\x5a\x9a\x3d\xe2\x20\xfd\x2d\xa3\x9e\xca\x91\xf0\xe2\xb7\x2e\xa6\xbd\x84\x0c\x0d\xd8\x07\x92\x03\xfd\xab\xdc\x1a\x42\xf4\xc4\x6b\xbf\xce\xbf\x7d\xf2\xcd\xc5\x96\xd1\xcd\xb4\x47\x66\x96\x83\xdd\x43\x71\xca\x14\xb9\x26\x15\x0e\x23\x33\xc5\x61\xfd\xd5\x76\x9c\x45\x18\x05\x6b\xbc\xdf\xc0\xe3\xfa\x83\xb6\xe6\x98\x59\x1b\xf6\x03\x68\xed\x83\x8e\xc0\x9e\x51\xf4\xf0\x84\x51\xc9\xa1\x3a\x48\x9d\xe0\xb1\x05\x39\x6e\xde\xcc\x61\xf4\xf4\xf9\x39\x5f\x6d\x72\xb4\xad\xf9\x70\xb5\x01\x21\xa6\x7c\xdf\x7e\xac\x72\xe4\xf9\xba\x82\x47\x7f\x48\x6a\xdb\x0a\xae\xb0\x45\x2a\xa8\xcc\x5e\x14\x7e\x14\xde\xf9\xc8\x3b\x7f\x35\xf2\xde\x50\x0a\xfe\x9b\x57\xf6\xeb\xe2\x02\x71\xc8\xf8\xcc\x9b\x0d\x7b\xbf\xcb\xec\x78\x99\xce\xce\x57\x18\x42\x27\x1f\x45\x8d\x2b\x90\xd2\x4c\xe1\xf2\x12\xc4\xd4\x3a\x1e\x95\x21\xe9\x07\xc1\x21\xc7\xf3\x1c\x52\xf6\x1b\xa6\x1c\xf0\x2f\xb0\x7c\x2c\x44\xba\xbd\xdb\x8d\x16\x23\x25\x64\x65\xd1\x2c\xbb\xf3\xa8\x62\x62\xd7\xfd\xc5\xe1\xc5\x6e\x84\xeb\xd0\xfb\x16\xc8\xb2\x65\x23\x37\x9f\xeb\x01\xb7\xf6\x7a\x02\xb8\x5b\x1f\xed\x06\x0a\xf7\x62\xef\x7a\x3e\x99\xd1\xa7\xcb\xf1\x7c\xfe\xcf\xd3\xd9\x09\xde\xf6\xfb\x50\xd8\x5f\xec\x47\x88\xc2\xe8\x7f\x18\xf9\x10\xde\xfb\x67\xef\xdf\xbf\x7f\xb6\xf6\xb3\xec\x53\x92\x06\xf8\xf7\xfb\x67\xde\x73\x34\x97\xae\xd9\xbc\x8c\x4a\xfe\x2d\x5f\x41\x28\x06\x8d\x1f\xb4\xf9\x7c\x77\x40\x06\x0f\x84\x11\x46\xa7\x64\x21\xde\x3c\xe4\xa5\x43\x0a\x61\xce\xda\xcb\xc4\xc3\xff\xf2\x2d\x8e\xe0\x3e\xcc\xab\x8d\x26\x1e\x91\x62\xee\x97\x1c\x1e\xc5\xd5\xcb\x9f\x32\xb5\xb5\x69\xd1\x6d\x3b\xca\x3a\x2e\x69\xb5\xd1\x23\xe4\x5a\x96\xe5\x90\x32\x65\xa5\x90\xc7\x49\xcf\x10\xa9\xd8\x13\x29\xea\xba\xd8\xc9\xc9\xf4\x7c\x7c\xda\x52\xe6\xe4\xdb\xc3\xc3\xbb\x24\xcb\x29\x1a\xe5\xed\x74\x7e\x85\xef\x63\x6d\x52\xac\x7e\x32\x83\xbf\xaf\x26\xb3\xf9\x87\xf1\xfc\x03\xa6\xb3\xdb\x76\x8b\x0b\x31\xb2\x34\xbe\x52\xc1\x64\x99\xf6\xf9\xe4\xf8\x7a\x76\x7a\xf5\xcd\x87\x37\xb3\xe9\xf5\x65\x0f\x33\x07\x00\xea\x27\xa8\xf3\x7d\x6f\x3a\x7b\xc3\xb2\xc4\x85\x24\x57\x50\x2e\x44\xf5\xd5\xe7\x1a\x36\x31\x7b\x02\xee\x40\xb8\xac\xc8\xbf\xf3\xf4\xba\x01\xea\x26\x48\x9d\xe5\x36\xd5\xa4\xe5\xc1\x4e\x80\x14\xdf\xc2\xdb\x89\xb6\x88\xda\x4b\xb0\x75\xa8\x9c\x08\x96\x09\xea\x9b\x01\x37\x18\xdd\x64\x50\xf9\x25\x7c\xc3\xcf\x36\xf1\xe2\x10\x0d\xa1\x00\xcf\xbb\x3a\x3d\x9f\x4c\xaf\xaf\x60\x1a\x3f\x9c\x9f\x5e\x5c\x5f\x4d\xe6\x54\x5b\x18\x08\x81\xc9\x7e\x9e\xa7\x85\xf0\xfe\xd5\xbb\xf5\xa3\x0c\xff\x45\x64\x2f\xf2\xe4\x05\xba\xcb\xbe\xa0\xe7\x16\x09\xc6\x1e\x54\x9e\xe3\x1f\xa8\x88\x0e\x40\x38\x9b\x1e\x8f\xcf\x26\xf0\xdb\xf1\xd9\x64\x3c\xfb\xa2\x77\xa4\xbf\x16\x32\xbb\x99\xc9\xa5\xa0\xe0\x34\x3e\x5c\x81\xf2\x7e\x8b\x41\x56\x7a\x63\x7c\x7b\xb8\xf6\x5e\x28\x12\xd8\xfa\x8d\x0f\x52\x69\x2d\x32\x80\xeb\x77\x8e\x36\xab\xc8\x5a\xd2\xe4\x71\x70\xb9\x0c\x4b\xaf\x6c\x4f\x1b\x7a\x69\x85\x79\x94\x40\x7a\x3a\xa5\x75\xc7\x39\x13\xff\x7a\x78\x18\x84\x19\xfe\xe5\x38\x8c\x2d\x61\xbb\x90\x1d\x24\x2b\x1f\x54\x08\x94\x98\xbc\x3d\xdc\x28\x6a\xbe\xe6\x82\x0c\x2f\x92\xf0\x8a\x1b\x0a\xf5\xb0\x0b\xe0\xee\xe3\x40\xd5\x14\x43\xc9\xfa\x61\x76\x7d\x36\x99\x53\x79\x31\x37\x32\xb6\x03\xed\x46\xb4\x4b\x4d\x34\xcb\x01\x01\xdf\xc3\xfe\x1e\xbf\x99\x3b\x2e\xa1\x7d\x21\x1b\x30\x30\xf2\xce\x1d\xe6\xc9\x47\xd0\x16\xcf\xc6\xaf\x26\x67\xde\xe5\x6c\xfa\xee\xf4\x64\x32\xf3\xae\xa6\xbf\x9f\x38\xae\x34\x57\x60\x43\x08\xe3\xd4\x4c\x3d\xfc\x57\x33\x80\x30\x6b\xaa\xef\x94\xb3\x06\x3b\x4b\xde\x75\x16\xc9\x5a\x04\xc3\xd8\xbd\x1b\xa6\x21\x43\xfa\x28\x36\xcd\xe9\x54\x5f\xfc\x7e\xf2\x8d\x6d\x6a\xed\x85\x33\x1f\xa7\x16\xfb\x50\xb2\x7f\xb5\x45\x40\x1f\xb3\x90\xf1\x16\x4c\xda\xa9\x02\xe8\x0e\x05\x8d\x1f\x65\x39\x7e\x9e\xea\xa0\x34\x07\x4f\xb7\x4e\xad\x83\xf4\xdb\x8a\x83\x62\x1b\xaa\xc7\xaa\x91\xfc\x99\xca\x23\xef\x69\x95\x0f\xa8\x0e\xba\x7d\x99\xe4\x3a\xcd\x77\x7e\x2a\x02\xa5\x05\x95\xf7\x0a\xba\x6c\xa4\x52\x55\x00\x05\x01\xd6\x36\x2b\x0a\xae\xc7\xc6\x70\xb8\x4e\xe4\x92\xb5\xbe\xec\x89\x82\xcd\x50\xe0\x8f\x3f\xf3\x57\x87\x7f\xb8\x9e\x5e\x8d\x5d\x29\x74\x02\xe5\x42\x14\x45\x4f\x35\x4e\x42\x37\x2a\x2c\xef\xba\xa2\x3d\x54\xf5\x2b\xeb\x6a\x91\xa9\x09\xad\xbd\xe3\xd9\xe4\x64\x72\x71\x75\x3a\x3e\xa3\x7b\x53\xe4\xcd\xbf\x99\x9f\x4d\xdf\x7c\x38\x99\xc1\xb4\x7c\x40\x13\x25\x7c\x9b\xf2\x7c\xa8\x9e\x28\xf4\xb5\x5c\x9a\x97\x7e\x26\xfb\xaa\xc1\x86\xc1\xe3\x81\x6a\x4a\xa2\x5b\x8f\x6a\x21\x95\x27\x06\x99\xab\x32\x33\xa9\xba\x0c\x28\xf3\x56\x49\x20\x4b\x48\x6e\x37\x12\x18\x08\x56\xbd\x05\x2a\x46\x25\x19\xa3\x12\xf9\x88\xb1\xbf\x7f\x56\xa1\xba\x85\x4a\xaa\xcf\x40\x9b\x0b\x43\xea\x88\x06\xc3\x7d\xdf\x88\x83\xdb\x91\x66\x94\xa6\x20\x12\xbe\x2a\x45\xe7\x57\x24\x4e\xe1\xbb\xaf\xcb\xef\xbe\x36\xce\xfd\x39\x1d\xe5\x1b\x2a\x7c\x61\x9e\xad\xe6\xb1\x8f\xe4\xef\x48\x98\x29\x83\xdc\x57\xeb\xd3\x2d\x39\x21\xcb\x76\x64\x75\xd1\x1d\x08\x39\xad\x58\xb1\x0a\x7e\xe6\xc5\x50\x69\x05\x54\xcb\x7f\x8f\x7c\x5c\x7d\xd4\x32\x2a\x30\xc3\x13\x9f\x78\x39\x76\x0f\x83\xfc\x2d\xb4\x2c\xd9\x82\x0b\xd4\xa4\x95\x46\x71\xd5\xd0\x4a\x3a\x6e\x9f\x7c\x6d\x4e\xa4\x9e\x89\xc7\xb9\x0e\x8d\xb1\x1f\xf4\xfb\x5e\xa6\xdd\x82\x11\x0b\x7b\x90\x39\xe1\xdb\xc3\xf0\x1e\x17\xd8\xbf\x78\xa0\x96\xbd\x9d\x9e\xe0\xdf\x6f\xbd\xb7\x93\x31\x5c\xb3\xf0\xef\xc0\x3b\x19\x83\x78\xc7\x13\x09\x0e\xa4\x75\x91\x7b\x08\x5d\xad\xbd\x57\x1b\x15\x2f\x51\x96\xff\x44\xd8\x07\x1c\x86\x0c\x47\x2f\x86\xba\xc2\xa8\xdf\x4c\xae\x94\xd2\x2c\xd9\x02\x72\x11\x09\x38\xf2\x4e\x6f\xa9\x90\x20\xc1\xc3\x22\x06\xaa\xce\xf0\x7d\xe8\x7b\x87\x01\x26\xe5\x5f\xa2\x25\x4f\xf5\xd9\x92\x30\xc9\x0d\x92\xe5\x70\x94\x8f\x54\x35\x04\x0a\x73\xc6\x26\xa5\x57\x9b\x35\x17\x17\x56\xef\x64\x22\x97\x8e\x6e\x15\xae\xf5\x02\x6b\xb6\x1e\x51\xed\x85\x95\xbf\xf1\x92\x7b\x91\xa6\x78\x6b\xb8\x03\x80\x28\xf6\xc8\xfb\x00\x8c\x90\xa0\x09\x9a\xca\x12\x84\x45\x79\x97\x04\xf2\x91\x7f\x39\x92\xac\x78\x0d\x1b\x0a\xf3\xfc\x82\x64\x51\xe0\x82\x23\x34\xb0\xc8\x39\xac\xf6\x3e\xcc\xc2\x9c\x8a\x61\x71\x2d\x2c\x78\x2a\x3b\x5a\x60\xa1\xb4\x5b\xae\x93\x86\xc9\x08\x36\xa7\xea\xbe\x67\xed\x44\x45\x20\x57\xe2\x4d\x60\x73\xd6\xe6\x10\xd6\x1f\xc5\x9b\x71\xb8\x35\x4e\x21\x57\x3e\x21\x12\x84\xba\x46\x51\x48\xed\x3c\x2c\x8b\x38\x12\x8e\x4c\x98\xea\x6d\x4c\x9e\x52\x4c\x2b\xa6\x29\xcd\x44\x0d\x36\xcd\x30\xf6\x9a\x2c\xb8\x67\xea\x88\x2b\xf1\x36\x26\x94\x0b\x78\x70\x25\xf1\x94\xb2\x3e\x5b\x26\xf5\x92\xf4\x55\x3f\xc2\xfd\x9f\x7a\x98\x1e\x90\xa4\xaa\xc4\x02\x7a\x7d\x16\xfe\x0d\xbe\x2e\xbd\x3d\xc0\x37\xc4\x45\xe0\x57\x0f\x3f\xe5\x49\x50\xcb\xdf\xa4\x87\xf4\x34\x5f\xca\xa2\x30\x7a\x9a\x17\xd5\x82\x5b\x23\x9e\x6a\xd1\x3f\xd7\x9d\x1b\x54\xa6\x97\x1b\xf6\xcb\x5b\xef\x30\xed\x53\xd8\x6c\x6f\x39\xa0\x6a\x35\x38\xc2\xfb\x6e\x28\xed\x6f\xbb\xa0\xae\xeb\xbe\xae\x48\x5b\xde\x73\x41\x27\xad\x8c\x03\x10\x55\xde\x70\x43\xb1\xbe\xf3\x63\x21\xbd\x83\xd9\x20\x54\x2d\x6f\xba\xa0\xe4\x14\x24\x52\xc6\x07\xa0\x6b\xbc\xe5\x82\xaa\xdb\x3e\xea\x8e\xdc\x01\x8e\x1b\x39\x56\xed\xca\x9d\x92\x2e\x10\x03\x88\xe8\xb0\x59\x0e\xa6\xa6\x0f\xd6\x10\xb2\xda\x8d\x92\xc3\x49\xea\x80\x33\x84\x1c\x07\x5b\xd1\x50\xca\xdc\x40\x3a\x11\xd9\x7e\x23\x77\x26\xc8\xfa\xba\x13\xf2\xca\x65\xdb\x19\x67\xfd\x2d\x67\x54\x52\x02\x18\x57\xf9\x43\x75\x74\x0c\xc1\xdd\x09\xc6\x85\x98\xea\xf5\xde\x1d\x7b\xcb\x7b\xdd\xe8\xd8\x53\x76\x78\x0b\xba\x75\x91\xc2\xbf\x91\xbf\xf4\x5e\x4f\xc6\x57\xd7\x33\xa7\x50\xa8\xfe\xf7\x9d\xd0\x63\x14\x95\x63\x28\x53\xeb\x2b\xbd\x48\xb6\x0d\xf5\xea\x7e\xb7\x13\x2d\x1b\x32\xb6\xe6\x6c\xef\xeb\x2e\xc8\x07\xf0\xb5\xed\x8d\x1e\x14\xf7\xee\xb0\xef\x5d\x81\xde\x83\x12\x99\x39\xc3\xad\x3d\xdd\x09\x7a\xdb\x89\xd8\x72\x06\xcc\xd7\xfa\x62\x42\xaa\xcf\x76\x83\x0d\xf1\xc6\x5f\xaa\xb4\x14\xc2\x81\x17\x20\x4f\x49\x79\xbc\xd6\xe4\xf4\xff\x94\x9a\x88\x6a\xfa\x55\xc2\xa9\x3c\x5c\xde\x10\x6f\x2a\xb9\x04\x84\x55\x52\xe9\xd2\xa0\x63\xfb\x13\x2e\x7f\x78\x12\x8a\x65\x42\xc9\x86\x22\x86\x2b\x0a\x35\x02\x57\x34\xc0\x1a\xb1\x95\x25\xdd\x89\x4c\xbe\x4c\x60\xfa\x4f\xea\x09\x49\xa8\xac\xb6\x24\x6d\x04\x99\xaa\xbe\x4a\xe5\x88\x38\x13\x20\x66\x0f\x06\xd6\x84\x4b\x93\x65\xea\xaf\x7c\xce\x29\xc5\xef\x69\x14\x23\x5d\x7b\xbc\x3a\x82\x4e\x3e\x2f\x45\x7e\xc8\x95\x66\x0e\xb9\xd2\x8c\xe3\x92\xb4\xbf\xd7\x89\x0e\xeb\xea\x7b\xdf\x1e\x4f\xcf\xcf\xc7\x17\x27\x7d\xb2\xbe\xf6\x70\x27\x60\x59\x92\x50\xc6\xc8\xca\x80\x95\x43\x9c\x8e\x17\x57\xd3\x17\xb2\x30\xf8\xbf\x92\xf7\xf5\x5f\x3d\xb4\xab\xe9\xf8\x59\xfe\x8d\xfe\xfe\x82\x4e\x12\x75\xe5\x4b\x93\xd5\x5a\x26\x84\x90\xef\x05\xae\xce\xe4\x31\x2c\xe2\x08\xeb\x8d\x1d\x1c\xde\x1e\x98\x96\x8b\xbe\x6b\xfc\xfe\x29\x9c\xf3\x65\xd5\xd7\xe4\xa9\xb2\x29\xdc\x50\x4b\xe6\x90\x99\x3e\x35\xa4\xb9\xe7\x0a\x8a\xeb\xd2\x8c\x34\xee\xdb\xd3\xcd\xe7\xbb\xc1\x53\xda\xec\x73\x2c\x2c\xe5\xa9\x2c\x10\xda\xaf\x2a\x62\x53\xe6\xff\x86\xb1\x57\xb1\x31\x7b\x87\x87\xda\x42\xc6\x46\x26\x9a\x1e\x9a\x9d\x9b\x24\xbf\xeb\x8b\x15\x35\xf0\xd6\x0a\x1e\xab\x04\xed\x4d\x2d\xd0\x55\x15\x7c\xac\x66\xdf\xea\x34\x6e\xc3\xd0\x68\xd2\x96\x69\x1b\x02\x19\x39\x38\x65\x6f\x75\x93\x64\x3d\x41\xa5\x32\x9d\x18\xce\xa5\xc4\x7b\x5e\x1f\xa8\xf4\x6c\xcb\x16\x73\xc9\x0d\xda\xb8\xe1\x33\xcc\x28\x05\x80\x35\x79\xe7\xc6\x8d\x1a\x36\xc3\x70\x23\xed\x33\xb8\x16\x69\x04\x80\x52\xb7\x19\x33\x59\x24\x7b\x39\x55\x38\x15\xf9\x8a\x59\x6e\x43\x2e\x9a\x21\xbc\x64\x39\x7e\x94\xc0\xe8\xed\x71\xee\x29\x3e\xba\x87\x80\xc7\x08\x93\x1e\x88\x72\xcf\xd1\xd2\x9d\xd8\xd7\xfe\xdf\xff\xfd\xa7\x64\x76\xe2\x3d\xcf\xa4\x4b\xa7\x5d\x26\x60\x9b\xa7\x74\x49\x96\xb7\x6c\xa7\xe1\x96\x08\x85\x61\xa7\x77\x93\x07\xe4\x7e\x50\x64\x38\x6e\xe8\x6f\x0f\xc9\x3c\xa8\xfc\x39\x85\xbe\xb3\xfc\x91\x9c\x40\xca\x9f\xf9\x47\xd3\xc3\x9a\xb1\xea\xfd\x47\x87\x64\x84\x3d\x21\xe9\x1b\x48\x52\xd8\x32\x61\x6b\x0f\xf5\x01\x72\xd6\x78\xab\xcf\x76\x82\x95\xc5\x5f\xb4\x45\x40\x25\xca\x66\xde\xfd\x57\xca\x71\x86\x7f\x6a\x2b\x0a\xfe\x8d\x31\x71\xf7\x5f\x97\x3f\x7f\x4d\x5f\x39\x70\x7c\xdf\xd8\x3a\x87\x96\x94\xa6\xa0\x1e\xb2\xcc\x27\xbb\x41\x3a\x05\x66\x3a\x45\x64\xc2\x43\x74\x0f\xcf\xdc\x00\x1a\xcf\x76\x82\xa5\x4d\x6f\x2b\xd4\x59\x7b\xa8\x1b\x90\x2c\x74\xdf\x03\xa9\xab\x1c\xbe\x7e\xa8\x48\x97\xcd\x39\x6f\x18\x9e\xfa\x50\x39\x42\x19\x40\x8a\xea\xf2\xa0\xa3\x3d\x69\xc3\xcb\xb5\xd7\xa7\x5f\x0f\x02\xd5\x49\x94\x61\x4f\xee\xc1\x69\x3e\xd9\x0f\xb2\x6f\xf2\xe4\x43\x9d\x80\xb8\xa1\x5a\x7b\xf2\x5c\x0f\xf8\xce\x57\x7b\x90\xd2\x21\xa6\x2f\x86\x17\x93\x7f\xfe\xe0\x28\xfa\x3a\x5f\x75\x40\xda\xe6\x94\x29\x21\x39\x15\x30\xd9\x01\xa0\x0b\x81\xca\xaf\x82\xaf\xf7\x8b\x0e\xcb\x4b\x2e\x88\xac\xf6\x7d\x04\x32\x70\xf3\x6e\x05\x72\x00\x91\x16\x1b\xbb\x09\x96\xbf\x1a\x44\xa7\x3b\x54\x27\x52\x0d\x7b\x33\x81\x70\x48\xe2\xea\x7c\xb5\x07\xe9\x3a\x39\x54\x2d\xd4\xbe\x35\x6f\xc4\x7d\x82\xad\xeb\xcd\x1e\x94\x98\x22\x25\x5c\xb5\x94\xc6\xe3\xfd\xc0\xd3\x7c\x10\x70\xf3\x71\x17\xe0\x94\x07\xa3\x4f\x16\x2d\x43\x4e\x2f\x4e\x26\xff\xe2\x86\xaf\x13\x42\x37\x09\x32\x79\x50\xc4\xf7\x61\x9a\xc4\xa8\x25\x1f\xde\x83\x2a\x4d\xf6\x56\xf2\xf5\xf5\x51\xd0\x0f\xa0\x93\x80\x8c\x72\x95\x0c\x37\x78\x69\x85\xa3\x18\xab\x8f\xde\xc9\xe9\xfc\xf7\xf8\xd7\xca\x3b\x9f\x9c\x4f\x67\xdf\xfc\xd1\xc5\xe5\xb0\x35\xd8\x6e\x62\x77\x48\xe6\xdb\x21\x7f\xcf\x26\xbf\x7a\x31\x5a\x5e\x73\x41\x66\x78\x34\xfb\x0e\xf4\xb6\x37\x9c\x50\xf4\xf9\x01\x1d\xf1\xf6\x82\x71\x25\x26\xdb\x92\xc3\x96\x77\x7b\xd0\xe6\x87\xa6\xeb\xc1\x9b\x5c\xbc\xfb\xf0\x6e\x3c\xab\x7e\x78\x37\x3e\xbb\xee\x27\xc2\x1d\x52\x2f\x49\xad\xe6\x61\x59\xbe\xfc\x5f\xb9\x76\xb9\x03\x39\x2e\x50\x7a\x49\xc1\xeb\x07\x15\xf4\xd5\x2e\x43\x54\x25\x66\x53\x8e\x2d\x77\xa0\xa2\x07\x40\x2f\x01\xac\xf6\xe2\x3b\xa4\xfa\x3a\x62\x6d\x7b\xab\x17\x55\xbf\x14\x75\xcf\x5f\x70\xa0\x71\xaf\xe8\x7a\x07\xd7\xf4\x3a\xd3\x4f\x75\x07\xb4\x03\xdd\xae\x90\x1c\x49\x6a\x2e\x0e\xd6\x75\x06\xac\x31\x47\x40\xfd\x04\xc9\x2c\xef\x27\x5a\x00\x7b\x45\xd7\x3d\x38\x0c\xb1\x38\x5c\xa7\xe1\xfd\x36\xf9\xac\x7d\x6f\x77\xa3\x2e\xd5\xd7\x3e\x34\xc6\x93\xfd\x20\xcd\x05\xf8\x81\x56\x9d\x8b\x6a\xd8\xf9\xaa\x2b\xd2\xde\xa3\xd8\x7c\xd4\x01\x68\x96\xdd\x1d\x52\x0c\x81\x08\xdc\xe3\x0e\x3a\x5f\x75\x40\xaa\x6d\x4a\xee\x73\xd3\x78\xa7\x1f\x8d\x13\xab\xfa\x98\x64\x04\x1c\x90\x0e\x69\xea\xd9\x87\xd4\x32\x83\x2b\x83\xc8\x0e\x6d\xf8\xe1\xcc\xfb\x16\xeb\x36\x7c\x90\xb5\xb6\x5f\xfe\x11\x4f\xbd\x97\x58\x51\x84\xfe\x83\x9f\x28\xd8\x17\x5b\xbf\x50\xa1\x91\x43\x4a\xff\x23\xfa\xca\x1f\xd0\x8a\x01\x2b\x5e\x7c\x8f\x6e\x64\xf5\x8b\x8c\x6a\x3e\x5c\x67\xa2\x08\x92\xc3\x3c\xdf\xd0\xd7\xb7\x49\x0a\xd4\xd4\xbe\x54\xa1\x28\xc6\xd7\x7d\x0c\xf9\xcf\x35\xd8\xbe\x89\x3d\xec\xa8\x98\xdb\x78\xac\x17\x18\x47\xa8\x04\xae\xf7\xc4\xd6\x57\xba\x91\xe4\x68\xcb\x01\xcd\xd2\xcd\x0a\xd4\x78\xbc\x1f\x78\xef\x86\xc9\xfb\x0b\x83\xf4\x9f\x2b\xfd\x48\xfa\x00\xf4\x11\xe0\x7e\x5b\x1f\x72\x57\xcf\xf2\xc4\xb9\xa2\x55\xf5\xd9\x4e\xb0\xdc\x0c\xac\xcd\xc9\xd3\x83\xa3\xe3\xc5\x4e\x84\x45\xbc\x87\x52\x48\xbd\xd7\xef\x7d\x61\x71\x1a\xca\x1e\x0a\x29\x0d\x02\xe5\x42\xd4\x7e\x8a\x29\x0d\x04\xe6\x46\x58\x4f\xcd\x23\x57\x92\xfa\xc0\x38\x11\xb3\x87\x22\x49\x83\x40\xf5\x10\x55\x0b\xf7\xe1\x18\x1e\x97\xcb\x49\xe7\xab\x3d\x48\x3b\xef\xef\xbd\x78\xbb\xdf\x76\x40\xbd\xd3\x35\xdb\x09\x84\x03\x11\x0d\xe5\xd8\xf9\xca\xdd\xff\xbe\x33\xfa\x1d\xaf\x83\x83\x40\xf5\x11\xb5\xd3\xad\xa9\xff\xfd\x6e\xf4\xeb\xc0\x56\xd6\xe8\x5b\x99\xba\xc8\xe1\x92\xaa\xbe\xd1\x1f\x5b\x0b\x1c\xc9\x52\x54\x1f\xe1\xab\x22\xc6\x3f\x7a\x0f\x8d\x47\xc3\xeb\x32\xdc\xc7\x28\x52\xb4\x13\x68\x37\xa2\x3b\xb2\x95\xd1\x65\x83\x31\x0b\xd6\xe2\x85\xce\x55\x8a\xf6\x8d\x6d\xc0\xd0\x76\x2c\x53\x34\x10\xd8\x10\xc2\x06\x14\x0f\x1a\x46\xe4\x10\xc0\x2e\x04\xff\x27\xa8\xa9\x30\x6c\x24\xbf\x8e\x9a\x0a\x83\x69\x7e\xaa\x9a\x0a\x83\x09\x1b\x50\x53\xe1\xb3\x2c\xb9\x27\xaf\xa9\xf0\xe8\xcb\xf1\xb1\x6b\x2a\x3c\xc1\xda\xdc\xb9\xa6\xc2\x6e\xcb\xd4\x26\x18\xaf\x66\xa8\x87\x4d\x66\xb3\xe9\x0c\x97\xde\xf8\x0a\x5b\x17\xc1\x7a\xa3\xac\x7b\x2c\x7c\x7e\x09\x3b\xe9\xc7\x1f\x81\x14\xf8\x7b\x92\xa6\xd6\xde\x0a\xdb\xc1\x6a\x27\x8b\xb3\x25\x6c\x88\xe4\xaf\xed\xaf\xfa\x31\x55\x7a\x27\x06\x61\xe1\x24\xaf\x0c\x6e\x4c\x6e\x61\x7d\x84\x81\x96\x57\xd4\x30\xde\x82\xe4\x42\xb6\x81\x8a\x61\x67\x04\x58\x77\x2b\x2b\x54\x37\xb6\xb4\x6c\x16\xc2\x1b\x4c\x35\x87\x2f\xd7\xdb\xda\x5f\xe2\xae\xb2\x93\xb8\x2b\x79\x73\xc1\xa5\xad\xe2\x4a\xc0\xfb\x53\x12\xe6\x3d\x3f\xe1\xea\x19\x2f\x75\xde\x9d\xb0\x46\xae\xef\x48\xae\xf7\x9c\xdb\xdf\x56\x7b\x8c\x54\x11\xdb\x46\x84\x8b\x41\xd6\x16\xc8\x6a\x5d\x68\x46\xfa\x1b\xf2\x57\x63\xb0\xf6\x0d\x77\x52\xc8\xb8\x60\xff\x6d\x98\x72\xd9\x7e\x06\x60\x6f\xbc\x4e\x29\x2a\x5c\x6a\x4c\x35\xcb\xb7\xf5\x94\x19\x71\x1d\x87\xc8\xbf\x87\xb1\x6e\xa8\xf2\x04\xb7\xe1\xa9\x8e\x3c\xe3\x66\xf7\x71\x09\x90\x98\x17\xae\x40\x55\xa0\x32\x13\x9d\x03\xa6\x04\xb2\x95\x9f\x7e\x14\xf9\x9a\x1a\x3c\xc8\x81\x72\xcc\x3d\xd6\xda\xf5\xcb\x36\xfc\x5d\xad\xba\x8c\xa1\xc5\x2a\xdb\x4b\xd1\x98\x71\x17\x81\x14\xab\x68\x78\x59\x68\x86\xd3\x53\xff\x7d\x91\xe5\x61\x6c\x69\xe1\x65\xd2\x49\x3d\x18\xc3\x98\x32\x52\x28\x37\x09\xb3\x04\x1a\xed\x35\xb6\x27\x5c\xd1\x2d\x51\x70\x7e\x51\x96\x60\xa4\xbc\x90\x1d\x20\xe9\xd8\x68\xa0\xdc\x6e\x4c\xfb\x91\x3c\x8f\xb2\xbb\x91\x3c\x95\xa3\x80\xf9\x46\x1e\xde\x06\x69\xdd\xf3\xc5\xd0\x4b\xa8\x16\x65\x66\xcb\x02\xab\x90\x56\x16\x51\x49\xb9\xf7\xc9\xbd\xf8\x81\xd6\x76\xb2\x96\x8d\xbd\x6e\xa2\x04\x8e\x34\xf8\x19\x2b\xed\x64\xea\x93\x2d\x75\xab\x85\x3c\x3c\x25\xd8\x29\x50\x36\xb9\x3a\xe1\x5b\x6d\x60\xef\xb5\xdf\x4f\x65\x05\xee\xa6\x0e\xd5\x89\x3c\x7d\x27\xbf\x09\x73\x16\x1d\xc8\xc0\x17\xcc\xc7\xc1\x94\xa1\x14\x20\x40\xa4\xaf\xb5\xf7\x20\x89\x43\xcd\xd0\x17\x83\xd9\x89\x8e\x27\x50\x87\x61\xdf\xdc\xa9\xd6\x23\xda\xc4\x0c\xc4\xbf\xa0\xbc\x9c\xfc\xce\x81\xf0\x0a\xdd\x04\xf6\xbb\x22\x96\x4d\x4b\x35\xc8\xcd\x8b\x44\xc2\x73\x21\x2e\xc5\xb4\xd0\xd5\x61\x0b\x8d\xf8\xd5\x68\x2f\x94\x9a\x38\x4a\x82\x6b\xf0\xfb\xc8\x06\x75\x60\x49\x65\x51\xef\x43\xf1\x89\x32\x6f\x75\x8c\xe1\x22\x01\xa0\x23\x3c\x91\x3e\x4a\xef\x79\x04\x52\x3b\xe7\x02\x4f\x2b\xb1\x4a\xd2\x0d\x7f\x43\xd2\xad\xb3\x61\xdc\xb1\xbf\xba\xc1\x1c\xb4\x04\xcb\xf1\x14\x5c\x6a\x08\x25\x55\x2a\x16\x05\x26\xed\xe0\xca\x28\x45\xc1\x08\x7f\x8a\x1e\x7e\x5e\x85\xbc\x66\x4c\x69\x15\x66\x8b\x84\xab\x11\x19\x0f\x10\x31\xa1\x54\xf4\x3b\x1b\xcf\xc9\xf1\x9a\x42\x8b\xa9\x6f\x9c\xa4\x3d\x23\x51\x62\xb6\x2a\xab\x24\xfa\xd6\x53\xb2\x93\x20\xaa\x9b\xa0\xd2\xaa\x7a\x50\x9b\xb9\x4f\x65\x5e\x54\x07\x78\xbc\x22\x2a\xd8\xf6\xbe\x49\x0c\x3e\xe6\xde\xa0\x0a\x81\xb5\x57\xd2\x31\xc6\x7d\x21\x60\xea\xcb\x86\x3e\xa0\x0e\xc8\xb0\xe7\xd3\xe4\x86\x60\xe3\x15\xc1\x0e\x14\xab\x32\x79\xaf\xb9\x2c\x13\x95\xef\xba\x87\x0b\x3a\x9e\x3b\xd8\xbf\xe9\xf2\xf4\x1d\xf5\x57\x47\xaf\x71\x88\x37\xc1\xe3\xb3\xca\x03\xf0\xf1\x3c\xc4\x1e\xd0\x1e\x15\x12\xf3\x53\x6c\xd1\x4d\x5d\xb9\xa2\x0d\xa6\x95\x57\x1f\x25\x58\x47\x98\x9a\x5e\xac\x97\x70\x61\x14\xdc\x8e\x19\x7e\xa9\x56\x09\x7b\x49\xa5\xa3\xb2\x97\x2f\x5e\x2c\x61\xfb\x16\x37\x98\xb1\xf6\xc2\x2c\x1f\x05\x1f\xc2\xff\xaa\x1a\x73\xdb\x4e\xc0\x33\x9f\xab\x91\x09\xaf\x3a\x46\xa2\x49\xb6\x63\xaa\x0e\x50\xa4\x82\x65\x7b\xaa\x13\x5c\x71\xbc\xd5\x71\x8e\x17\x79\xa1\x6a\x69\xc1\x39\xce\x25\xb8\xcc\xb7\x2a\x63\xa5\xfc\x76\x9f\x5e\x51\x1b\x90\x86\xcb\x25\xb2\x86\x0e\xb4\x7d\x06\xc9\x2e\x04\xba\x25\xca\x05\xd0\x67\x54\x07\x4f\x94\x4a\x19\x89\x17\xa3\x40\x18\xd5\x7a\xc3\x27\x80\xe8\xc4\x66\x7a\x3f\x53\xed\x38\x41\x00\xa6\x39\xd7\xd4\x45\xe0\xd5\x2b\x3e\x0e\x5b\xa6\x56\x47\x65\x2f\x4e\xea\x21\x2c\xe5\xe6\xa2\x58\xdc\x59\x55\x4c\x8e\x76\xf0\xde\x8a\xc8\x26\xc1\xc6\x9b\x22\x20\x32\xf0\x41\x3f\xb7\x6d\x37\x09\x08\xb5\x2d\xab\x34\x57\x09\x8d\x4e\x90\xb0\xf7\xb6\xfc\x9b\x9a\x90\x73\x75\x04\xe9\x81\xba\x11\xb8\x03\xa5\x5b\x0a\x13\x6e\xe1\xd8\xf6\x62\x9f\x0c\x6c\xc7\xaf\x55\x10\xc7\x0b\x98\x6e\x3f\x83\xd5\x32\xe3\x0c\x16\x04\x50\x03\x2b\x9f\xec\x03\x8f\x8d\xe8\x02\x10\x54\x86\x49\x2f\xcf\xd4\x03\x3c\xa5\xa4\x79\x65\xd6\x56\xd0\x93\x48\x0d\xbb\x4e\x42\x40\x12\x95\xf0\xca\x04\x79\x5e\xd0\x0c\x9d\xab\x2c\x50\x73\x70\xf9\x3e\x8f\x8a\xb6\xc5\x6b\x1e\x73\xc2\x43\x64\xfe\x8a\x4e\x44\x36\x0c\x35\x4b\x51\x56\xa8\x1f\x17\xb2\xc5\x73\x91\x25\x36\xd9\x65\x99\xb0\x8c\xfa\xbe\x1b\x13\x41\x69\xd1\x3c\xd0\x03\xea\xd2\x8e\x7f\xb2\x7a\x7e\x20\x45\x17\x9c\xbc\x51\xe0\xe5\x20\x1f\xb4\xd3\x91\x64\xb8\xe5\x2d\x55\x16\x31\x56\x53\xc1\x9d\xe3\xe5\xe3\xe6\xac\x85\xf1\x7d\xf2\xb1\x6b\x05\x00\x01\x6f\xe1\xf2\x79\x8f\x16\x2b\x6c\x44\x9f\xdd\x11\x29\x7c\x6b\xbc\x2d\xb0\xa2\x3b\xc8\x02\x90\x2e\xb9\xaa\xf2\x18\xae\xd6\xd8\xcb\x1e\xf6\x78\x85\x56\xfc\x89\x9a\xc9\xe1\x87\x26\xc5\x4c\xdb\xf0\x55\xd2\xbe\x04\xa2\x2e\x86\x5e\x26\x41\x8a\x45\xb2\x43\x2a\x5e\xe8\x63\x7f\xec\x4c\xce\xaa\x3c\xc6\x2d\x5c\xdd\x8c\x3c\x4e\x34\x0e\xe3\x82\x17\xc0\xc8\x2b\x5f\x04\xa9\xa5\x5e\x95\x69\xf6\xf7\x89\x6c\x2d\xdf\x4e\x3b\x90\x32\xc7\x4e\xfe\xab\x1b\xb8\xec\x25\x23\x79\xf3\x4d\xb8\xb3\x1d\xaa\xc5\x70\x52\xf1\x34\xe5\x5a\xa4\x47\x92\xbd\xea\xa6\xe6\x44\x37\xf7\xf0\x8b\xad\x6d\xfc\xd4\x4a\xc5\x7e\xf2\x45\x8c\x65\xf4\x61\xb1\x50\x75\x19\x59\x30\x3f\x10\xb7\x61\x0c\xfb\x1d\x94\x2a\x5c\x2b\x3e\x4a\xe7\x85\x75\x4b\x9f\xcb\xd1\xa2\x2c\x56\xcd\x51\x8f\xbc\x09\xf2\x27\xa0\xf9\xc7\xad\x59\x6a\xb0\x04\x1c\xee\xfe\xab\x87\xbf\xea\x6a\x2a\x70\x81\xb1\xd3\xba\xc6\xba\xfd\x48\x2f\xac\x45\xd6\x50\xb3\x3b\xff\x2b\x8f\x8c\x91\xb8\xec\x4c\x81\x15\xc2\x9d\x72\x43\xe6\x71\xab\x92\x13\x2d\x8a\x88\xee\x6f\xab\x84\x2d\x5f\xc0\x4a\x6a\xf8\xca\x60\x71\x31\x29\xe3\x25\x81\x23\xbd\x53\x71\xbb\x8b\x48\xea\x69\x80\x20\x50\x23\x2a\x85\xa6\x4c\x77\x1a\xf1\x9e\xc4\x13\x2f\xf7\x3f\xa2\x8b\xe1\xd3\x1d\x5a\xf1\xbb\xf4\x31\x22\x15\xc5\x12\x81\xa5\x55\x46\xf5\xe7\x65\x02\x95\x5c\x0c\x70\x0e\x8e\xa8\x0c\x27\xdc\x52\x45\x5a\x39\xf5\x60\x26\x02\x36\x1b\xaf\x93\x45\x62\x57\xbb\x92\x38\x16\x0b\x32\x58\x07\x05\x5c\xcf\xb0\xdf\xb1\x58\x50\xd7\x46\x4c\xf7\x26\xfd\x78\xbf\x4d\x49\xed\x8e\xf6\x04\x29\x81\x31\x8d\x70\xb9\xc3\x7e\x5a\xb2\xd6\x28\x96\x68\xa7\x84\xc1\x03\x61\x21\xae\x6d\x59\xff\xe0\x09\xfa\x93\x5a\x3d\xf9\x25\xd7\x72\x3f\x24\xa1\xf7\x39\xd9\x95\x85\x4b\x50\x1a\xa9\x1b\x34\xb1\x49\x31\xec\xf3\xb3\x69\xbd\xa1\xad\x01\xda\x35\x0c\xf6\x36\x4d\x56\x8a\x96\x39\x7d\x05\x14\x71\x7b\x57\x19\xee\x26\x7f\xbc\xa2\x4f\xfc\xe3\xa3\x74\xc0\x05\xc2\xf8\xba\x03\x57\xc7\xa5\x20\x05\xbb\x85\x2e\xcd\xbb\xd2\x54\x56\xa7\xee\x49\xfa\xe1\x1e\xd3\x39\x8c\x26\x06\xb4\xe7\x9a\x0d\xc8\xeb\x36\xbe\xf7\xf1\x24\x4d\x93\xf4\xa5\xd7\xe3\xdc\x50\xee\x00\xe5\x0d\x10\xb2\xa9\x3b\x1a\x11\xba\xba\x02\x37\xe1\xf7\x10\xbc\x80\x15\x50\x95\xd0\x2f\x3d\xe5\x2e\x49\xdc\xe9\x5b\xe0\x7c\x91\xb8\x6e\xca\xe5\x1a\xc0\x1e\x82\x94\xc1\x9d\x15\x21\x79\x47\xf4\xe0\x76\x4c\x17\xda\x00\xee\x96\x70\xe2\xa6\x9b\xff\xe2\x48\x98\xb6\xdf\x13\x71\xea\x75\xb6\x57\xc0\xab\x37\xfe\x77\x89\xbc\x75\xf5\x11\x76\xcb\xfd\xf8\x55\x0d\x6f\x8e\xe9\x71\x9e\x3e\xbe\xb6\x93\xb8\x87\x37\xe1\x90\x4d\x6a\xde\x05\x37\xf4\xb0\xd6\x71\x2d\x06\xa4\x59\x68\x71\x71\x80\x9b\x50\x35\x65\x1b\x4c\x92\xde\x43\x71\xc2\xc5\xad\xeb\xc0\xb9\x80\x1a\xc1\x0f\x01\x81\x1b\xa9\xb2\x09\x1e\x82\xba\x8e\xb3\x62\x8d\x97\x4c\x11\x9c\xd1\xb7\xa4\xfb\x61\x83\xa0\x8f\x31\xdc\x58\xe5\xa3\x58\xad\x06\xbd\xa4\x83\xe9\x07\xda\xd0\x4c\x95\xc6\x09\x43\xea\xc0\x79\x46\xde\x0f\x7a\x36\xd3\x68\x01\x4e\xb2\x08\xf1\xc6\x9a\x25\xf1\x4b\xbb\xa8\xac\x0c\x8f\xec\x4b\x64\x33\xa4\x6b\x5b\xb9\x0f\x2f\xe1\x07\x66\xdc\x36\x03\x21\xb0\xb8\xc9\xe5\x4d\xa9\x15\xae\x0b\x7d\x36\x01\x84\xc2\x49\x09\x29\x73\x96\xb7\x21\xd6\x2a\x85\x64\x33\x7e\x43\x66\x55\x50\x39\xd1\x5f\x39\x3f\xf4\x31\x43\x52\x3c\x97\x86\x22\x10\xe2\xdb\x11\x5e\x97\xf8\xd8\xb2\x5b\xd8\xce\x89\x7e\x82\x81\x0f\x21\x5a\x6d\x84\xe9\x55\x72\xa4\x4b\xbd\xeb\x4b\x0f\x5e\xe9\x32\x72\xc7\xca\x8e\xfa\x1e\x2f\x8a\xe9\x5a\x36\x71\x66\xa5\xd1\x89\xdd\x28\xbd\x67\x9c\x54\x05\xb0\x30\x3b\x09\xf6\xf1\xe5\xe9\x90\xa3\x0c\xdb\x66\x2e\x78\xb8\x55\x76\xd3\x81\x2b\x8f\xf1\x1a\x64\x3b\x45\xf1\x41\xae\x02\x83\xb0\x7a\x3d\x47\xdf\xa0\x96\x57\xac\xd1\x12\xe6\x4a\x13\x45\x70\x18\xb7\x0b\x55\x09\x9f\x57\x72\x06\xb7\x7e\xd4\x76\x7b\xe8\x00\x15\x3f\x36\x3c\x35\x1d\x37\x9d\x3a\x7e\xff\x26\x0d\x2b\xf8\xed\x7e\x99\x1e\x1a\x3e\xa5\x68\x76\xff\x21\x5c\x0f\x41\xbf\xc4\x83\xb0\x82\x1f\x00\x58\x10\xa9\x20\xac\xab\xe3\x4b\x36\x2d\xdb\x34\x38\x19\x14\x23\x03\x4f\xe0\xf1\x1e\x80\x9a\x71\x3d\x00\x07\x32\x46\x81\x97\x31\xb8\x58\x03\x90\x15\x56\x5c\x24\x00\x1d\x0b\xf4\x65\x7d\x83\xd0\x67\xb6\xe0\xae\xf6\xd5\x85\xcb\xae\x05\xae\x6d\x97\x46\x78\xd9\x86\xfb\x35\xe8\x18\x29\x19\x0a\xdc\xe8\x82\x9b\x7c\xae\xae\xf8\x54\x9f\xef\x66\x83\xad\xe4\x11\x53\xe6\x3d\xf7\x03\x40\x4f\x7d\xb8\xac\x85\xdc\xea\x94\xa2\x15\x0d\x2f\x9a\x00\x52\x91\x06\x32\x3f\x80\xfd\x4e\x3e\x53\x3d\x00\xf2\x9c\x3e\xcf\x1e\x7e\x01\xc2\x09\x0d\xc5\x9c\x04\x49\x6a\x0b\x71\x50\x84\xc7\xe2\x13\x79\x46\xfa\x08\x52\xa5\xe1\xe2\x42\xdc\xdb\x54\x07\x05\x93\xbd\x66\xec\xe6\xc3\xf9\x41\x15\xd0\x75\xa1\x49\x1b\x34\x70\x0d\x80\x91\x8a\xa7\x6e\x57\x8e\x0b\x50\x22\xe7\x8e\xc8\x8c\x1d\x0d\x84\x76\xbf\x59\x75\x85\x2b\xbc\xd2\xd3\x45\x97\x7e\xbb\xab\xab\x8c\x65\xe4\xd0\x64\xaf\x33\x39\x4b\x0d\x71\x99\x16\x6b\x6e\xb9\x21\x96\xf0\x5a\xe0\xdb\xaa\x79\xd5\x43\x25\xa9\xeb\x7b\x67\x4d\x34\xbd\x7e\x4a\xb3\x10\xbc\x94\xe0\x61\xf6\x83\x1f\x24\x95\x6e\x79\x8e\x48\x39\x8e\xb6\x0f\x21\x05\xca\x51\xcb\x13\xa9\x96\x0f\xc4\xd2\xe7\x13\xd4\xb3\x34\xc4\xf1\xa7\x91\x74\x84\x7c\xe8\x11\x48\x75\xa2\x07\x14\x16\x22\xe5\xb5\x45\x75\x48\x59\xc1\x19\x22\x84\xe4\x3a\x43\xb3\x5c\x1a\xc9\x86\x85\x4a\x93\xa9\x8a\x20\x7f\x90\x08\x8a\xbd\xb7\x57\x57\x83\x84\x39\x3e\xdf\x07\x13\xaf\x14\xba\xb7\x74\xe9\x83\x66\x41\x77\x07\x22\xe8\x46\x60\xbc\x49\x91\xdd\x61\x64\x4d\x81\x1d\x12\x33\xb2\x61\xf7\x71\xbb\xbc\x87\x28\xab\x80\xe9\x59\x56\xde\x83\x3b\xd4\x3f\xef\x43\x5c\xb9\x68\xfb\x44\x3c\x70\x5a\xa4\x78\xfd\xe3\x78\x4c\x9b\x9a\xa3\x07\x00\x22\xb2\x97\x1b\x95\x73\xa0\x07\x60\x80\x94\x63\xe1\x23\xa0\x92\x23\x38\x54\x90\xd4\x48\x7e\x12\x6c\xa3\xc2\x0f\x58\x8c\x29\xcd\x33\xbb\x6d\x29\xe5\x38\x97\x25\xaa\x4b\x5c\x04\x1b\xa1\x6e\xca\x60\x29\x6c\x0b\x04\x2a\x6f\x06\x77\x55\x19\xf0\x51\x9a\x9d\x38\x0c\x8c\x95\x4d\x91\x59\x6f\x3c\x0d\xca\x51\x1c\xdf\x84\xec\x43\xf0\x17\x14\x82\x20\x4b\x8e\x6e\x90\xa7\x04\x71\x00\xc9\x35\x85\x97\x95\x9e\x65\x42\xe1\x3b\x54\x47\x14\xc3\x0f\xb8\x60\x37\xea\xa8\xd2\x7c\xda\x43\x2e\x16\xa3\x19\x16\x34\xa0\x67\x93\x82\xe4\xb6\x0b\x14\x40\xdc\xc4\x95\xfa\xc2\x47\x8b\x9a\x32\x62\x64\x22\xcf\x29\xd8\x0f\x0b\xab\xc3\x53\x1d\x04\x69\x86\xb4\x2e\x78\xf8\x87\xac\xe2\x42\x29\xef\x1c\x97\x25\x2f\xf2\x7d\x24\xee\xd7\xfc\xd9\x31\x08\xb2\x77\x3e\xbe\x71\xb3\x67\xbc\xa5\x42\x0e\x2f\xbe\x52\x1f\x2e\x1c\xe9\xc7\x3b\xb9\x25\x40\xaa\x1d\x5c\x37\x31\x52\xdb\xc3\x08\x30\xfa\x4b\x8e\x0b\x17\x6c\x63\x0e\x86\x33\x1b\x2d\x5c\x52\xfd\xab\x63\x50\xba\x50\x07\xd7\xb7\x61\xee\x1e\x88\xde\x3f\x51\x9c\x86\x08\x2f\xfd\x01\xff\xd8\x85\xb0\x45\x1b\xa4\x6d\x48\x6a\xe8\x96\x7a\x7e\xec\xf1\xed\x9d\xea\xa5\xf9\x7e\x0f\x6a\xc2\x09\xcf\xbf\x95\x61\x67\x8e\x63\x27\xac\x8d\xd7\x1c\x71\x5d\xcf\xce\x6c\xcb\x7a\x9f\xa2\x45\xd1\xc8\xe8\x1c\xd6\xf8\x5e\x25\x4b\x55\x77\xc7\xb7\xd5\x37\x1f\xe8\x1b\x3d\xaa\x42\x03\xed\xdf\xc0\x4d\x15\xbf\x15\xb0\xa2\xd7\x00\xdd\x47\x6c\xfd\x26\x20\x89\x3b\xe6\xd3\x09\x07\xee\x2a\x63\xca\x2b\x42\x20\x8c\x5b\x82\x3e\xb4\xb4\x61\x50\x51\xd9\xc0\xe1\x46\xab\x4c\xc4\x03\x00\xbb\x88\x44\xeb\x05\xc3\x00\xbc\xdd\xf4\x5b\xa8\xac\x1c\xa8\x2d\x2b\xfe\x31\x07\x62\x3f\x5b\x5b\x57\xff\x8e\x43\xd7\xe1\xa8\x0d\x0b\xf0\x60\xa5\x62\xe0\x32\xb4\xa5\x3b\x34\x29\xd9\x5d\xdb\xd8\x72\xf5\xa2\x26\x5a\x52\xf3\x7b\xb1\x31\x0e\xfb\x0e\x06\x9e\xca\xaf\x76\xe4\x0e\x2b\xb3\xed\x9c\x29\x69\x51\x22\xb3\x8f\x97\x35\xa2\xb6\xe5\x0c\xb5\x7b\xb3\x29\x41\x3b\xe9\x3b\xa8\x99\xf9\x69\x8e\xd6\xcc\x3a\xdc\xad\x16\x38\x2d\xd4\x56\x45\x62\x4f\xba\x9a\xd6\x2e\x8c\x18\xea\x1a\xa6\x47\xd2\xd9\x5a\x37\x61\xdb\x7e\xdd\xf6\x7c\xb0\x6c\xa7\xde\x8d\xb8\xe5\xaa\xe2\xf0\x6c\xd5\x0a\xd9\xea\xf8\x7a\x6c\x89\x64\x3a\xc4\x8c\x34\x1a\x69\x80\x80\x5f\x95\x21\xf4\xf3\x4b\x28\xe2\x98\x0e\x94\x18\x30\x40\x63\x08\xf5\x77\x6d\x18\x65\x4e\x77\xe6\x7d\xc2\xa0\xe9\x14\x83\xd0\x38\xfb\x96\xc3\xb8\x31\x8e\xd2\x5f\xfa\xf6\x70\xc3\x39\xbb\xae\x52\xb1\xb8\xf3\xc9\x10\x49\xe9\x6c\x46\x36\x2e\xc6\xfd\xe5\x0f\x3f\xc1\xd9\x18\xd1\xa1\x48\x76\xe6\x7e\x7a\x46\xe5\x92\x09\xe3\x08\xe3\x0d\x28\x32\x4c\x26\x70\x8f\xc8\x4f\x8a\x51\x92\xeb\x44\x76\xcb\x41\xe3\xc7\xbb\xe3\xf1\xa5\xca\x81\x9e\x7b\x46\x8d\x2c\x4f\xd5\xc8\x92\xbd\x95\x0a\x76\xd6\xab\x60\x6a\x6b\x69\xaf\xca\x38\xcc\x55\xe3\x67\xb4\x2c\x1e\x7e\x8e\x05\x2c\x0d\x69\xed\x93\xde\x99\x91\x0e\x91\x05\xea\xe2\x20\x7d\xf8\x6b\xac\x42\xcb\x15\x15\x28\x54\xa4\x4f\xbc\x4a\x33\xf7\x56\x92\x21\xd8\x64\xfb\x67\x37\x6d\x60\xad\x57\x28\x8d\x17\x97\x3d\xf9\x0f\x46\xde\x43\x67\x3c\x85\x04\xa7\xbb\xd4\x04\x21\x7b\x15\x41\x85\x5c\xdc\xd9\x03\xf4\x17\x0d\xf8\x98\x64\xbd\x48\x42\xe0\x9e\xb5\x3e\x5c\x91\x81\x6a\x6a\xe6\x4e\x6d\xd8\x5b\xff\x5c\x1c\x2d\x8f\xbc\xd5\xa6\x2c\x75\xf2\x05\xce\xfe\x9b\x30\xa7\xee\x4d\xfc\xf3\x41\x5f\xc4\xfd\x77\xfe\xbd\x5f\x42\x38\x82\xc7\x0e\x2a\x60\x64\xbb\xa1\x1b\x18\xcb\xe2\x0e\x7f\xc8\xfd\xe5\xf6\xb0\xff\xeb\xfd\x6f\x8f\x7e\x7b\xf4\xe5\x01\x2d\xb0\x03\xf5\x01\x40\x7e\xc1\x79\x12\xb0\x1c\xf0\xf9\xfc\x30\x34\x7c\x90\x99\x87\x3e\xa3\x91\xce\x7c\x3a\x90\xd1\x2b\x07\x48\xce\x41\x5c\x44\x91\xad\x58\xe9\xa5\xc5\xe8\xb1\x16\x69\x06\xeb\x33\x62\xa7\x00\x4a\x36\x19\xa9\xf0\x7c\x7d\xe4\x89\xef\x1a\x5c\x25\x4e\x20\x47\xd4\xef\x5b\xb2\x55\xc3\xe1\x3e\x4a\xe8\xad\x59\xd1\xc6\xc8\x31\xc1\x1d\x8e\xd1\x1d\xe0\x6b\xd6\xaa\x03\x57\x03\x55\x7c\xfe\x42\xe6\x67\x68\x4f\x5a\x96\x44\x1c\xcb\x27\x8d\x43\x59\x83\x51\xb0\x30\x93\x14\x7d\xc8\x32\x04\xb4\x4c\xc6\x37\x26\x41\xcd\x41\xd7\xf2\x55\x6d\xf6\x29\x42\x7c\x11\x15\x94\x8d\x45\xd2\x48\x56\x68\x1c\x55\xe2\x83\x25\x22\x8c\x10\x06\x1c\x21\x88\x59\x0f\xdb\x9d\x59\x25\x90\x6e\xf0\x6e\xce\xac\xea\x60\x45\x08\x39\x17\x18\x3b\x94\xa9\x3e\xef\xa3\xda\x2d\xb0\x91\xfe\x86\xf9\x39\x28\x8a\x32\xef\x5e\x58\x8b\x7c\x62\x01\x78\x0b\x55\xf4\x53\xfb\x4b\xd3\xe3\xdf\x4f\x66\x1f\x4e\xcf\xc7\x6f\x6c\xa5\x30\x2a\x8f\x58\x80\x74\x14\x71\xea\xaa\xd0\xc4\xbf\xcd\x3b\xdf\x9c\x5b\x5e\xf5\xb3\xbb\x9b\xc4\x4f\x83\x97\xda\x60\x61\xdd\x7a\x31\xb2\x97\x2f\x07\xa9\x6c\x9c\x65\xbc\xd5\x0e\x9e\xc2\xc2\xa5\x5b\x36\x15\x32\xa0\x93\x14\x58\x1b\xb5\x32\xd6\x1b\x37\x13\x9e\x99\x86\x3e\x8a\x99\x7f\xb0\x18\x6c\xf3\x66\xa2\x62\xfd\x69\x5f\x08\x0d\x65\xd8\x86\x9b\x32\xeb\xfb\xc3\x0f\xe6\x2a\x8d\xbd\x3f\x02\x41\xc3\xec\x8b\x40\x30\x60\x0e\x0b\x42\xd0\x18\x3a\x83\x06\x4d\xf0\xf2\x5a\xd3\x03\xae\x8b\xdb\x15\x06\x10\xa3\x7b\x80\x0d\xe2\x66\x0f\x2c\x67\xb7\x73\x65\xcc\xae\x66\x25\x47\xe4\x9d\xee\x67\x13\xf1\x40\x0f\x74\x03\x51\x8f\x83\xa9\xc2\xbc\x01\x4e\xa5\x06\x9e\x8f\xc2\xe6\x1c\xad\x4e\x76\xfd\xe6\xdf\x07\xde\xbc\x95\xbb\xaf\x4d\xe3\xca\xdd\x87\xa0\xc3\x89\x6e\x02\x76\xdb\xf9\xe6\xd5\x9c\xf3\x55\xca\xdc\xb6\x18\xb4\xca\x70\xc9\xa7\xa3\xf9\x1c\x07\xb6\x47\x51\x77\x65\xea\x0a\x17\x19\xb4\x5e\x7b\x8d\xbb\x3a\xd5\x18\xf0\x11\x1b\x7b\x32\x1b\x0f\x60\x80\x71\x12\x50\x9c\x69\xa6\xbe\xb4\x4a\x54\x39\xb6\x8e\x78\x1a\x93\x51\x9d\x59\xc5\x0a\x18\x05\x0f\xad\xe1\xee\x04\x73\x4b\x7b\x3b\xf3\x9e\x87\x47\xe2\x08\x98\x93\x64\x82\xfd\xf0\x98\x86\xcb\xca\xf7\x7a\x2d\x28\x26\x94\x1d\x98\xd6\xba\x2a\x8a\x88\x32\x92\x08\xa5\x41\xe6\xdd\x15\x0f\x3f\xa5\xb7\x3e\xf0\x1f\x9b\x44\xc2\xd8\x17\x61\xca\x95\x47\x50\xe3\x89\x13\xce\xe6\x8b\xd9\x05\x1f\xf9\xfa\x8e\xa3\xb4\x39\x23\x29\xd4\x12\x77\xa4\x86\xe5\x10\xad\xd0\x94\xfd\xf6\x80\x85\x12\xac\x3d\xd0\xc7\x64\xbd\x35\xa2\xa7\x04\x64\x0f\x1c\xa8\x10\xe6\x10\x3b\x20\x61\x2e\x50\xb8\x60\xbe\x52\xd7\x15\x59\x3e\xc5\x37\x64\xaa\xe2\xc2\xfd\x64\xbb\x20\x67\xae\x01\x48\x4c\xb8\x18\x12\x82\x44\x18\x9e\xce\xdf\x2c\x59\x2b\x3e\xab\xcf\x59\x8f\x79\x3b\x9f\xb3\x39\x86\xfd\xf8\x9d\x35\x41\x3b\x9b\x5c\x6b\xb4\xd9\xdc\xcc\xdb\x30\xeb\x33\xd8\xc9\x6b\xab\x85\x4f\xcc\xcf\x66\x1f\xd7\x9c\xd8\xc1\xac\x5c\x1b\xd1\x7e\x4c\xc6\x9a\xb0\x1d\x3d\xea\x75\x76\xef\xe8\x55\xd7\x64\x69\x77\xf3\x0c\xff\x18\x40\x81\xf2\x1b\x1b\xef\x39\x62\xa2\x2b\xd8\x60\x3c\xfa\xad\x6e\x2c\xfb\x73\x28\xcf\xb5\xfc\xa7\xc0\xcd\x3d\x3b\x95\x0d\x82\x5d\x9c\xca\x6e\x34\xee\xe8\x55\x76\xa4\x74\x07\x97\x72\x4d\x04\xee\xd9\xad\xdc\xa0\xf4\xc9\x1c\x18\xb5\x71\x7d\x7e\x4f\x6a\xc9\x0a\xbb\x17\x6e\x47\xe1\x63\x77\xba\x6d\x35\x65\x6a\x0e\xd8\x29\x52\x4d\x59\x2a\xbf\x67\x27\xfc\x2e\x73\x63\xd0\x5c\x45\x65\x99\x1a\x13\xef\x96\x73\xd0\xe6\x2b\xda\x69\x0c\x16\x1f\xd2\x60\xfa\xb2\x45\x1a\x52\xf9\xb8\x97\xc6\x4a\x35\xbe\xb6\xca\x1d\xf9\x0c\x31\xc9\xfe\x6e\x3b\x56\x2e\xdb\x86\xc1\xaf\x22\xcb\x54\x9c\xa9\xb6\xb8\x9a\x09\x6a\x16\xe4\xa7\x71\x59\xc1\x04\xf3\x6d\x10\x90\x51\x9c\xaa\x3a\x83\xa5\x45\x35\xb0\x59\x5c\xaa\x04\x51\x01\x62\x25\x40\x0c\xf5\x49\x97\xd2\x4a\xd8\xcf\xa5\x32\x4b\x06\x11\xe9\x57\x4a\xdc\x26\x1d\x25\xb6\x12\x6b\xa6\xc9\x80\x51\x68\xae\x9a\x83\x70\x20\xd8\xa4\xb6\x41\xa2\xc1\x51\xdb\xf5\x59\xd2\x52\xb6\x32\x42\x6e\x25\x0b\xd7\x49\x65\x93\x80\x74\x96\x68\x18\xdd\xb8\xb0\xf3\x93\x4a\x77\x31\xbc\x86\x0e\xd8\xf0\xcd\xb2\x88\x80\xbe\x43\x77\xa3\xa3\x30\xee\x32\x4d\x0d\x6d\x23\x5c\x4d\x88\x12\x8f\x48\xed\xe6\x66\x1e\x6e\xcb\xa3\xc8\x64\xb6\xb7\xcd\x65\x24\xe9\x23\x28\xb7\x22\x25\x87\x67\x3f\x85\xe8\xd1\xc2\x40\x69\xef\x56\xf8\x79\x91\x02\x97\x12\x36\x5a\x70\x2b\xb2\x3b\x54\xd9\x8d\x05\x13\x07\xe4\x01\x29\x32\x7e\x5b\xbe\x34\x64\x04\x6c\x3c\xf3\xb1\x68\xb3\x48\x1f\x7e\x06\x6d\x64\x21\x83\x2d\xa9\x72\x55\x92\x29\xd1\x05\x08\x45\xbc\x44\x93\x81\x5a\x6a\x70\x3b\xf7\xbd\x4d\x23\xdf\x2a\x6a\xc0\xeb\x1a\xb6\x8c\xaa\xc7\x01\x61\x51\x2e\x5c\xba\x7f\xc1\xf2\x31\x7e\xdc\x72\x21\x6a\x1c\xce\xee\x07\x62\x39\xf8\x85\x56\xbe\xe4\x48\x64\x99\xcf\x1a\x5e\xce\x67\xea\xd2\x0c\x86\x1c\x9a\xf5\xb1\x52\xca\x56\x24\x8b\xfc\xc2\xc0\xad\x23\xbc\x35\x04\x97\x31\xdc\xbe\x5b\x75\x39\x5c\x79\x00\xe9\x59\x2b\xcd\x73\x2d\xb5\x4d\x1b\xe8\x89\x0b\xd6\x0c\x3a\x93\x03\x7d\x97\xf2\x9d\x38\x80\x8b\x7b\x87\x7b\xe2\x5e\xb9\xb1\xbf\x8b\x66\x0b\x4b\x5a\x16\x62\x1f\x6f\x1e\x83\x2f\x51\x1b\x21\x41\x7f\xf6\xfb\x23\xf0\x06\x85\xbd\xac\x6a\xc0\x51\x00\x7f\x97\x1d\x0c\x18\x51\x96\x50\x3d\x04\x9a\x57\x75\x6c\x28\x10\x03\x31\xb3\xc2\xbb\x07\xfc\x86\x4e\xdb\x4b\x0a\x56\xde\xf6\xe6\xf3\xb7\xa6\xf6\xa5\x0d\xfd\x83\x34\x19\x04\x52\x43\x6f\x45\xfb\x51\x96\x51\xe5\xc0\x8d\xaf\xff\xfe\x1f\xce\x47\xde\x57\x5f\x7e\xfd\x3b\xfc\xe7\x8d\xcd\x4e\x7e\x56\x96\x3f\xe5\xa2\xa8\x2a\x3a\xa1\xf1\xbe\x0d\x2d\x2c\xba\x8d\xc7\x6d\x9c\x39\x3b\x2c\x87\xf3\x4c\xd7\x2f\xb2\x55\xfb\x2a\xab\x66\x61\xfa\x29\x65\x6d\x4a\x6b\xa8\x05\x51\x22\x8b\xc0\x44\x49\x8a\x95\x04\x92\x22\x5f\x17\x1d\x15\x44\xe8\x41\xc1\x27\x5b\x46\x4d\x1a\x3a\xe1\x72\x43\x49\x72\x2e\x52\x87\x49\x55\xc8\xce\x8e\x40\xd5\x28\x33\x0a\xc9\xf1\xbb\xb6\x09\x4a\x94\xff\x42\x79\x30\xa9\x58\x91\x4c\xdc\x95\xa9\x74\xab\x04\x54\x05\xe9\x02\x21\x6d\x67\x9d\x8a\xfb\x30\x01\x76\x52\xfa\x61\xc6\x85\xca\x3a\x73\x7d\x69\xec\xa5\xeb\xc2\x70\x2d\x50\x65\x65\x4e\xf5\xa5\xd2\xb7\x21\x17\x9b\x61\xb7\x08\x85\x61\xdd\x3f\xfc\x2c\xab\x61\x52\x16\xa2\x1f\x73\x66\xa6\x90\xde\xee\xae\x34\x61\x39\x3c\xee\x93\x28\x73\xcb\xfc\x5b\x4c\x17\x45\x50\x76\x0d\xed\x02\x63\x45\x40\x38\x49\x42\x39\x67\x2c\x5b\x17\x0f\x3f\x29\x9a\x42\xae\xa6\x4c\x70\x6c\xb8\x17\x1f\x45\x7a\x18\xae\x28\xf3\x2f\xd1\x89\xe9\xbc\x11\x50\x09\x7b\x11\x18\x8f\x1c\xa2\x18\xb3\xed\x87\x0a\x2c\x19\xbc\x76\x4f\xdd\x28\x94\xaa\xa4\x36\x88\x0d\xae\x8d\x44\x0a\x8f\x20\x3c\x98\x15\xdb\x1b\x5b\x81\x51\x44\xb8\x29\xd5\x8b\xe5\x25\xb0\x2b\xb6\x82\x8d\xe7\x3c\x70\xf1\xbd\xbf\x5a\x47\x02\xe3\x8a\xec\xa3\x65\xe3\xb8\x1a\x13\x2c\x6a\x78\x25\xe1\x57\x3a\x30\x64\x2f\xbb\x01\xc2\xef\x96\xb7\xb9\xec\xab\xe7\xe7\x58\xb7\x02\x44\xb4\x1f\x46\x22\x50\x45\xa0\xb0\xea\x12\xf6\x04\xb9\xe6\xaa\xa0\x14\x47\x44\x05\xf0\x46\xba\x0a\x65\x46\xcb\xcc\xbf\x87\xf7\x38\x88\x11\x77\x09\xca\xd6\x65\x78\x2f\x88\xb3\x36\x29\xff\x16\xf4\x73\xac\x2f\x0a\xb2\x46\x7a\xd2\x63\x5d\x10\x91\x6a\x66\xd4\xa9\xa8\xd7\x9e\x50\x55\x13\x47\x46\xd9\x44\xe5\x2f\x44\xe1\xb9\x4e\xe2\x90\x23\x1a\xb3\x80\x8a\x2e\xe2\x14\x56\xe2\x6b\x6d\x47\x86\xe4\x8a\x2e\xf3\x27\xeb\x5b\x1d\x80\xb2\x86\xf5\x91\xb3\x62\x05\xeb\x40\x64\x65\xf4\x21\x65\xdd\x7a\x2b\x01\x92\xd3\xb7\xc6\x55\x9c\xa1\x73\x8d\xca\xe8\x72\x5d\xc8\xe4\xc6\x50\xa3\x4d\x44\x64\x14\x64\x1e\x04\xbe\x19\xac\x48\x4e\x4f\xd4\xb3\x24\x26\x2e\x9b\x4b\xc8\xb3\x90\x2a\x17\x58\x06\x54\xac\xd6\x95\xda\x7f\xc8\x3a\x01\xd3\x8e\xe2\x8b\x8b\xdc\x59\x68\x7e\x97\x44\x54\x93\xbc\xa5\x50\x1f\x1a\x8e\xb0\xbd\x83\x32\x0e\x87\x96\x2a\xbc\x93\x8b\x77\xa7\xb3\xe9\xc5\xf9\xe4\xe2\xca\x7b\x37\x9e\x9d\x8e\x5f\x9d\x4d\x3c\xea\x9f\x66\x8b\x86\x7a\x33\xbb\xbe\x9c\xce\xbd\x93\x49\xf9\xfc\x09\x76\x47\xbc\x9a\xce\x2e\xa6\xee\x48\xe6\xb6\x4d\xa1\x1f\x30\xc0\x5a\x36\xc8\xe4\x5f\xc6\xe7\x97\xf0\xa4\x05\xd2\xe4\x9f\x26\xf0\xf3\xd4\x12\xb8\xc5\x95\xfb\xd9\xeb\x0c\xd3\xfd\xfd\x46\x15\xd6\xc6\x9a\xd1\x32\x04\xcf\x66\x48\x79\x6b\xf6\x35\xa2\xdf\x56\x21\x5b\xbc\xd7\xea\x2e\x17\xd0\x49\x40\x80\x71\x0e\x18\x0d\x2b\x90\x59\x19\x71\xa7\x13\x7c\x01\x69\x27\x99\xdb\x5b\xa6\xde\xee\xd3\x2e\x55\xa5\x66\x4f\x66\xa9\x36\x0a\x1f\xcf\x28\xd5\x36\x84\x21\x36\x29\x2b\xb5\x5b\x18\xa5\x24\x2d\xc0\x22\xd9\x64\x91\x35\xb1\x5e\xcc\x28\x5e\x2b\x0a\x30\xbf\xd6\x85\x63\x98\x2d\xea\xed\x76\x96\x28\x89\xab\x6a\x88\x32\x74\x8c\x7e\x1b\x54\x85\xbb\x36\xcb\x93\xd4\x34\x94\x92\x01\x07\xca\x00\x5b\x94\x41\xe3\x63\x9a\xa2\xde\x3e\x81\x21\x2a\xea\x1a\xe2\x53\x99\x9d\xde\xb6\xde\xaf\x03\xd1\x7a\xc1\xde\xab\xc9\xa9\x3e\xcc\x5d\x2d\x4e\xdb\x8d\xf4\xf1\xec\x4d\x8f\x39\xfc\x1d\xcd\x4d\x7b\x64\xc5\xde\x0c\x2a\x2d\xfc\x78\x5a\x5b\x93\x85\x29\x8f\x63\x69\x6a\x23\xab\x9b\x2d\xc3\xcc\x4c\x6f\x77\x34\x32\x59\xd1\xba\xd8\x98\x1c\x90\xbb\x5a\x98\x26\xf1\x7d\x99\x3e\x05\x1c\x7b\xe7\x4b\x3b\xae\xf7\xc9\xcf\x64\xc1\xc5\xdc\x46\xc7\x59\x7b\xea\x55\x05\x4c\xac\x2e\x3e\x78\xe5\x87\x07\xb1\xe4\xa8\x8d\x16\xbc\x2e\xc9\xe5\xd9\x1a\x17\x84\xfc\x79\x73\x7d\x7a\x72\xf0\xd2\x56\x44\x46\x82\xe0\xd5\x85\x95\xeb\xfb\xd6\x89\x62\x96\x02\xdb\x41\x18\x1d\xd9\x5c\x88\x9c\xb4\xdf\x3e\x12\xb8\xba\xa2\xd6\x65\xbb\x40\x2f\x54\x8a\x62\x59\x41\x07\xae\xb2\xfd\xa3\x6c\x14\x70\xe4\x16\x1e\xb2\x6e\x4e\xf7\x70\x34\x4e\x39\x9c\xfe\xd6\x93\x35\xb4\x66\x6a\x4c\x6f\xaf\xc9\x1a\xce\x5c\xd6\xac\xec\xad\x08\x6d\x1f\x2a\x80\xe8\xab\xf7\x5c\x43\xda\x59\x1b\xb3\x65\x70\xc5\x8d\xd5\xd2\x57\x87\xdc\x96\x59\xea\x50\x4f\xba\x39\x3a\x5b\xaa\x69\x7f\x2d\x69\x86\x15\xb4\xc6\x62\xf2\x62\x1f\x42\x50\xd9\x0f\xb1\x33\x22\xb3\x05\xb0\x0b\x71\xed\x71\x99\x2e\x65\x55\x5b\x09\xb4\x84\x65\x3a\x14\x53\x95\x74\x59\x2d\xfe\x9d\xa1\xc7\x70\x7b\x0d\x0a\x94\x67\x14\xc5\xaf\x08\xab\x5d\x3d\xda\x84\xf3\x76\xb4\xf0\xc9\xf0\x38\x14\x19\xc7\x45\x27\x71\xba\x15\x03\x89\x8c\x72\xd3\x5b\xcb\x9f\xe9\xf9\xba\x67\x63\x8c\x29\x34\x2a\xaf\x3b\x61\x45\xb3\x58\x26\xb6\x43\x8b\x6f\x23\xd1\xbe\x2b\x5a\x61\x3b\xa2\xfb\x70\xee\x34\xff\x56\xac\x9d\xd3\xef\x8e\xdb\x71\xa6\x6f\xb9\x43\xab\x61\x1c\xc5\xdb\xc0\xa0\x1d\x7a\x53\x64\xaa\xe9\x22\x1f\xc0\xd9\x0a\x6d\x7e\xda\xb6\x99\x39\xef\xcf\x26\x31\x9c\xd0\xe2\x7e\x62\x49\x5a\x54\x3e\x4a\x83\x0a\x67\x12\xf6\x20\xb9\x14\x2d\xbb\xcb\x2d\x45\x54\x4f\x0d\xfc\x16\xcc\x7d\x55\xed\xab\xf0\xeb\x8a\x58\x29\xef\x5d\x02\xcf\x1a\x0b\xa2\x4b\x21\xb3\x81\xde\x81\xca\xfd\x12\xe6\x46\x4b\x5b\x78\xea\xf0\xd5\x6a\xab\x29\xe2\x48\x4b\x92\x7e\xf2\x53\x22\x07\xc5\x40\xbf\x36\x99\x0a\xe9\x21\xc3\x33\x9f\xaa\x0a\x77\x6b\x90\x4b\x2e\xec\x48\x7e\xe5\x45\x12\x38\xe8\xab\xc9\x4d\x2e\x62\xc1\x26\xb9\x87\x5f\x82\x70\x49\x4e\x69\x77\x2c\x58\x37\xd3\x66\x18\x6f\x20\x69\xa9\xb3\x89\xc8\x5c\x70\x99\x0d\x01\xb3\x62\xb5\xa2\xfe\x20\x03\x06\x07\x67\x0d\x3a\xda\xb4\x1f\x5a\xdb\x05\xdd\x86\xaa\x5a\xdf\x51\xa7\x42\x76\xdd\xb2\x87\x05\xa6\xfd\x35\x68\xcd\xdc\xdf\x7d\x00\x1f\x22\xd5\xb0\x50\x3a\x97\xb3\xd2\xaf\xd4\x0a\xd9\x81\x46\xaa\x38\x8f\xfc\xdd\x7e\x3a\xb4\x2e\xef\x82\x0f\x6d\xe5\x98\xd1\xcf\x41\xf7\xc3\x96\x1b\x28\x43\x6a\xb9\xb5\xc7\xd8\xa3\x31\x1d\x4b\x1b\x14\x99\xe3\x92\x97\x5c\x53\x4e\x33\x9e\x24\x74\x65\xb9\x13\x65\xba\xc1\x14\x3c\x3d\x2b\x86\x57\xcc\x8d\x20\x2e\x8c\xc0\x8d\x5e\x04\xb7\x21\xd1\x41\xc2\x8e\x2a\xbf\x31\x51\x70\xf3\x51\xbd\x2a\x09\x68\xb8\x84\x9b\x50\x05\x56\x07\x49\x94\x9a\x8a\x05\x15\x90\xae\xd9\xe5\xb1\x32\x28\xf5\xb3\x86\x9d\xf7\xba\x11\xa8\x36\x00\x01\x90\x6e\x2e\xc0\x06\xcd\xee\x7c\x52\x9b\xfe\x69\x3e\xb5\x95\x38\xa8\xdd\xb6\xcc\x1a\x16\xf4\x56\x07\x02\xec\x71\x50\x8a\x3a\x6a\xb2\x45\xdc\xed\x35\x43\x50\x87\x83\x88\x0a\xb9\x88\xef\x89\xa1\xbd\x02\x4f\xe1\x72\x6a\xa9\x50\xc3\x54\x31\x05\x58\x6f\x6e\x5d\xd8\x41\x49\xcc\x5c\xf9\xe8\xc7\x72\xb2\xfa\xd8\xa7\x80\xca\xa2\x1e\xce\x70\xa9\xe8\x91\x2a\xd5\xd1\x89\x40\xa4\x28\x5a\x06\x58\x67\x60\x09\xe8\x68\x55\x27\x1b\x0d\xdc\xad\x94\x61\x0a\x03\x4b\x70\x4e\xa8\x6f\x26\x35\x3b\x24\xb1\x79\x30\x64\xb7\x31\x38\xa9\x1f\xcb\x39\xcb\x9a\x07\x06\x7a\xaa\x6d\x18\x06\x12\xfb\x08\xd4\x6d\x41\x4e\x29\x2e\x71\x7b\x8b\xb4\x7f\x0f\x69\x5a\xca\xa0\x01\xe5\x42\xee\xde\x48\x30\xc5\x41\xd3\xa8\xe6\xae\x86\x45\x42\x74\x18\xd7\xdc\x94\x30\x45\x83\xba\xbb\x3a\xe1\x34\x6f\xab\x43\x80\x13\x5f\x9d\x30\x68\xf0\x9e\xad\x8a\x54\x07\x06\xe7\x99\x6b\x0c\x66\xd0\xe4\xdd\xc2\x6b\x77\x74\xf4\x97\x79\x76\x2e\x4a\x6c\x9c\xdc\xcb\x6d\x8d\x65\xb3\x22\x7e\xbd\x0f\x59\xec\xaf\xf6\x60\x35\xa3\xba\x66\x89\xee\xbb\xb6\x37\xc3\x99\x94\x69\xa4\x77\x39\x4c\xb1\x94\x67\xdc\x57\xb6\x6f\x82\x35\x64\xad\x61\xa1\x72\x55\x9d\xe8\x01\x76\x43\x8d\xba\xaa\x74\x19\x1a\x56\xa9\xe5\x94\x2b\xc1\x95\x0d\x00\xe3\x5e\x27\xa6\x0e\xd8\xca\xfc\xa6\x5c\x8d\x45\xee\x3b\xef\x5e\x8a\x41\xac\x5d\x09\x1c\xf8\xd1\x0d\x34\x4f\x43\x41\xc3\x00\xe8\x8b\x8f\x2e\x6b\x7a\x51\x60\x1f\x55\x22\x1f\x97\x51\xdf\x6a\xae\x22\x18\x24\xf9\x4b\x5c\x88\x28\x73\x9d\x9a\xcc\xbf\x37\x45\xed\x10\x8c\xcb\x82\x5b\xc2\x56\xcc\x12\xae\x78\xa9\x09\xd8\x1e\x76\x6e\xb5\x05\xfd\xde\x36\xae\x26\x8f\x63\x9a\x3f\x50\x08\xde\x87\x7c\xb3\x16\x4e\x96\x44\x83\xaa\x26\x80\x5e\x53\x22\xfb\x3b\x6a\x8b\xd7\xa9\x79\x59\xa9\x29\x63\x1c\x5f\x5a\x3b\xf5\x5d\xba\x94\xd5\x29\xd8\x71\x7a\x24\x1d\xfb\x9c\x1a\x6c\x19\x46\x37\xa7\x64\x0b\x6f\x94\x6a\x1d\x16\x6f\xe5\x91\xfa\x21\x5c\xaf\x6b\xd3\xd2\xcb\x00\x0c\xba\x24\x7f\x87\x53\xa0\x11\xbd\xd6\x6a\x49\xc3\xa8\x57\x4e\x7b\xc3\x5a\x94\x5c\xe3\x13\xb4\x6c\x8a\x7b\x4a\x97\x14\x1e\xcc\xee\xef\x4b\xbc\x80\xc2\x2b\x07\x30\x77\xb9\xf9\x11\x8f\x8c\x90\x9a\x70\x70\xe4\xeb\x52\xa4\x47\x9e\xf7\x1a\xaf\x61\xd8\x9c\x3b\xdb\xc4\xb9\xff\x3d\xac\xd7\x68\x3d\xa2\xee\x2e\x7f\x5a\xdc\xca\x5e\x75\x65\xfd\x41\xef\xf0\xee\x4f\x1d\x9d\xd6\x45\x07\xfd\xba\x47\x3e\xd0\x4f\x1e\x70\x8a\x81\x50\xb4\xcb\xc8\xb7\x92\xdc\x11\xde\x0d\x12\x93\xfe\x18\x6b\xf3\xc1\x11\x45\x3e\x12\x8c\x4a\xc7\x26\xfd\x54\xe7\x50\x5f\xcd\xb1\x0f\xb8\xbf\x29\x02\xbc\x1a\x60\x95\x47\x54\x26\x42\x1c\x56\x98\x8d\x54\x7b\x99\xae\x81\xd9\x27\xa5\x5b\xd8\x77\xca\xf5\x97\xde\x45\xc2\x85\x3c\xa9\xa6\x63\x4f\x52\x44\xf9\x8a\x6a\x0b\xc4\xb5\x44\x81\x61\x78\xbb\x7c\xf8\x9b\x6e\xb6\x69\x74\x63\xee\xc4\x8e\xba\x41\x80\xb9\x12\xde\x27\x9f\xb7\x0e\x51\x00\xf3\xbd\xf0\xbe\x4b\x6e\xe8\x9a\x02\x8f\x52\x44\xf9\x01\x6e\x2b\xac\x24\x95\xd9\x8a\x9b\x4a\xa0\x92\xb8\xef\x17\x82\xfb\x55\x46\x80\x06\x9b\x10\xca\x54\x75\x38\x88\xca\x10\x30\x80\x07\xc2\x70\x41\xaa\x43\xae\x9a\xd8\x66\x0f\x3f\xc7\x8b\x34\x89\x93\x2a\xfe\xce\x91\xb8\xec\xf2\xde\x9d\xcc\x49\x1e\x19\x65\x79\x90\x0e\xc5\x29\x18\x42\x36\x8a\x04\x56\x61\xa4\xac\x88\x83\x75\x02\x4b\xc7\x86\x8a\x13\x3f\x28\xf4\x4d\xdf\x42\xe9\xd2\x53\xc4\xcc\x41\x3f\x2a\x43\x60\xbd\xb2\xe1\xb3\x8d\xa8\x35\xdb\x7f\x4c\x03\x26\x07\x18\xb2\x11\x10\xe3\x7b\x3e\x8a\xcd\x0b\xee\x54\xbf\xf6\xc3\x34\x93\xbd\x93\xbd\x64\x41\x0d\x7b\x02\xb3\xa9\x2e\xec\x15\x3f\x05\x5d\x09\x59\xfb\xcd\x2a\x9a\xc7\x20\xb8\x44\x8e\xec\xb5\x7a\x21\x79\xd2\x6e\x64\xd0\x5e\xf5\x2e\x7b\x5b\x08\x19\x95\xaa\x0d\x92\x5c\x4c\x14\xa5\x09\x55\xa3\x79\x41\x0d\x7e\xde\xc7\x56\x77\x66\xbd\x29\xaf\xb7\x10\xe9\x02\x21\xb5\x52\xe9\xcc\xa4\xac\xc2\x25\xe7\xd1\x65\xd5\x9a\xc2\x34\xbe\xb8\x1c\x60\x0f\x7e\x7d\x64\x69\xe4\x99\x50\x33\xe4\xfd\x5f\xef\x8b\x2f\xbf\xfc\x2d\x75\x3c\x2a\xc4\x88\x64\x70\x98\x53\x50\x0e\x15\x85\xb8\x02\x0d\xe0\xc7\x1f\x3b\xaa\x47\x57\x28\x2d\x31\xa9\x29\x40\x29\xf6\x5d\x21\x93\x16\x88\xe9\x74\xa2\xe2\x1c\x64\x0a\xb7\x14\x9d\xf0\x0a\xbe\x60\x20\xed\x1d\xd6\x65\x8a\x7d\xff\xf3\x4d\x6d\x78\x37\x49\x12\x09\xbf\xab\xe6\x75\x9d\xea\x1a\x20\x4d\x3d\x53\x2c\xe1\x59\xe3\x89\xfa\x29\x52\x7b\x42\x9e\x63\xd6\x66\xb2\xee\xa4\x19\x6b\x9b\x0f\x17\x5b\x67\xd9\x01\xd4\x65\xa0\xcf\xc7\xcb\xfd\x12\x07\x77\xaf\xd0\xda\xf5\xd6\x81\xb6\xb8\x58\xdd\x88\xb4\xb9\x30\xd5\xe3\x83\x17\xa8\x6d\xaa\xe3\x87\xbf\xad\x80\x8d\x8d\xc5\x58\x47\xd4\x3a\x90\xd7\xe3\xd3\xb3\xc9\x89\x85\x88\xd7\xe3\xb3\xb3\xd3\x13\x4b\x52\xc6\xeb\xc9\xf8\xea\x7a\x36\xf1\x5e\x9f\x8d\xdf\x58\x2b\xdf\x9e\xce\xaf\x4e\x2f\xae\x4e\xdf\x71\xc2\xc7\xf1\x78\x36\x3e\xbe\x9a\xcc\x1e\xfe\x0d\xbe\x3e\x1e\x5b\x12\x2b\x5e\x53\x96\x92\xc7\x25\x1b\x95\xdf\x32\x4d\x38\x45\x09\x03\x89\xac\x2a\x42\xa3\x7d\xae\x2c\xc3\x88\xfe\x82\x84\xc2\x75\xf1\xe4\x90\x11\x44\x36\x55\x42\xa2\xbf\x15\xf9\xe2\xae\xa2\x98\x67\xc3\x02\x96\xfc\x75\x5e\xb3\xa1\x9b\xea\xb8\x43\xbc\x52\x9d\x10\xf6\xac\x67\x2a\xca\xb4\x6c\x79\xfd\x77\x25\x65\x03\xef\xdb\x16\x14\xdb\x0c\x54\xba\xea\xb3\x2d\x06\x26\xee\x41\x10\x64\x43\xef\x5d\x84\x35\x2b\x30\x46\xb6\xfe\xae\x13\x56\x60\xe1\x21\xc7\xe9\x23\x43\x69\x7d\xb1\x3b\x7b\x06\x7f\x5e\x25\x32\xd7\x56\xe6\xec\x6f\xc1\x10\x1d\x8b\x5f\x22\x52\xf1\x25\xb8\x18\x1d\x71\xb9\x0e\x65\x3b\xf6\x55\x83\xc7\xb7\xe1\x22\xd9\x99\x52\x2e\x4c\xe6\xb0\x0c\xeb\x04\x50\x01\xb2\x8c\xf3\xa1\x53\xb1\x90\x99\x7b\xe9\x51\x9f\xf5\xa9\x95\x8c\x2d\xf0\x53\x3a\xee\x60\x6c\x14\xbc\xd0\xb2\x78\x28\x02\x61\xdf\xcb\xc7\x44\x56\x5b\x40\x6e\xf8\xdc\x87\x64\x6e\xde\x41\x81\x2b\x92\x66\x15\x3d\x64\x05\xd3\x45\x4a\x9e\xa8\x86\xed\xdf\x65\x09\xa7\x7f\xa9\xf2\xe1\x1f\x54\x1a\xe6\x80\xb0\x62\x02\xa2\x6e\x6e\xe5\xcd\xa1\x0a\xd2\x91\x20\xa5\xed\x8f\x50\x43\x90\xb9\xb2\x6b\xaa\x66\xdf\xd6\xea\xc3\xf9\x78\xd2\x31\xad\xa5\xb6\x3e\x2a\xc3\xc1\xd5\x19\x56\xba\xfa\xda\x62\xc9\x7b\x4e\x31\x20\x74\xe5\x7f\xd4\xee\x73\x4e\xbc\x67\x22\xb7\x34\xd1\x9a\x80\xc9\xa7\xdc\xe5\x08\x55\x23\x8e\xab\x43\x76\x73\x2c\x97\x98\x38\xcf\x9d\xbd\x1c\xdd\x8b\xa0\x99\x45\xcc\xd9\xee\x95\x35\x40\x80\xfa\x70\x7e\xa2\x25\x27\x93\xcd\x54\x67\xd6\xbf\xec\x54\xaf\xd6\xb1\x2e\x9a\x85\x32\x99\x62\x86\x71\x28\xfc\xe7\xeb\xc8\xc7\xfa\x6d\xb2\x36\x52\x60\x6d\xd3\x53\x4b\x18\x6b\x00\x28\xa3\x5f\x03\xdf\xa6\x25\xda\x90\x73\x32\xdc\xf6\xb8\x5d\x31\xdb\xdb\x54\x54\x10\x58\x5c\xe0\x18\xb8\x43\xa9\x1a\x6c\x17\xc2\xd8\x8f\x08\xdb\x9f\xd0\xd6\xc8\x70\x60\x94\x8f\x87\x4f\x89\xef\x41\xff\x07\x4d\x3d\x97\x29\xee\x6b\x1f\xd6\x1c\x90\x8d\x3f\xae\xbb\xa2\x8a\xda\xec\x48\x86\xe9\x93\x70\x52\x83\xe9\x11\xac\x06\xb1\x7c\xf8\x1b\x0c\x8a\x36\x32\x6a\xf7\xc6\x83\x44\x80\xaf\xfa\xf6\x3c\xfc\x4c\x77\x11\x95\x14\x87\x19\xe3\x55\x62\xda\xc7\x9b\x60\xcf\x85\x80\xab\x44\x3f\x0f\xb8\x58\xc4\x3a\x4d\xa8\x06\x00\x08\x49\x20\xf0\x36\x4c\x57\x44\xbb\xad\x58\x01\xc0\xa0\x86\x26\x65\x31\xce\xe7\x20\x9a\xee\xd9\x49\xe4\x1b\x6e\x2c\x92\xb1\x59\xa1\x81\x76\x15\xeb\x36\x08\x43\xc5\x15\x3b\xe1\xa0\xb9\xcc\xa4\xa7\x9b\x9c\x4a\x09\x6b\x34\x39\x56\xd1\x76\x61\x95\xc5\x0d\x38\x99\x91\xa4\xe1\x56\xe8\x65\x5d\x82\x46\x6e\xff\x20\x5a\x56\xe1\x32\xf5\xb7\x67\x01\xbd\xbe\x18\xce\x82\x21\xb5\xeb\x4a\x6c\x66\xe5\xba\x40\xf4\x16\xaf\x63\x54\xd2\x31\xa8\x04\xa7\x1a\x26\x2f\xc2\x6e\x94\x14\xdd\x45\x82\xdb\xa8\x53\x43\x03\xed\x09\x43\x61\xcc\x45\x7c\x23\x63\x4c\x87\xf3\x96\xfa\xab\x64\xd8\xf9\x0a\x00\x39\xb2\xf6\xcd\xe4\x0a\xee\xb8\x6f\xbc\xf9\xd5\x78\x76\x65\xbd\x4a\x1f\x3f\xfc\xfb\xf9\xd4\x9b\x9c\x5f\x4e\xfe\xe7\x78\x66\x01\x74\x36\x7d\x35\x3e\xf3\xa6\x97\x57\xa7\xd3\x0b\x6b\x79\x83\xe9\xe5\x31\xfc\x3c\x99\x7b\xfc\x38\xd6\x41\x68\x87\x26\x72\xd8\xa6\xda\x65\xad\xfb\x6a\x51\xa4\x3c\x36\xbd\x8f\xb0\xd2\x83\x4d\xae\x4e\x75\x60\x60\xb5\xc5\x56\xcd\x51\xcd\xfa\x55\x92\x49\x68\x32\x5f\xd3\x56\x39\x06\x49\x42\x41\xdb\xf4\xd4\xb1\xb5\x15\xd7\x4a\x57\xbd\xfd\x69\x19\x3f\xca\xe6\xad\x26\x20\x99\x24\x6d\xb5\xd4\xbf\x51\xf1\xab\x51\xa4\xdb\xec\xb3\x27\x1f\xb4\x99\x8f\x22\x5f\xe3\xcc\xdb\x8f\x66\xa2\x80\x2b\x96\x96\x99\xaa\x2a\x0a\x8f\x23\x6f\x56\x68\x6e\x0d\x12\x6b\x3e\xe1\x9b\x32\x82\x36\x7b\x9c\x92\xf7\x06\x91\x84\xe4\x49\x4a\xdc\xab\x61\x19\xd6\x92\xa3\x23\x6b\xf6\x89\x41\xa2\xd5\x40\x42\xaf\x77\xe2\x52\x06\x11\x7b\x8f\xca\x81\xec\x52\x36\x0c\xf7\x96\x94\x03\x38\x23\x8c\x44\x52\x5d\xb0\x6b\x47\x8d\x72\xe0\xf8\x4a\xf4\x46\x32\x6a\x4b\x71\x86\x2a\x55\x4f\xba\x7e\xd8\x16\xf4\x18\xec\x71\x59\x8c\xd2\x9c\x64\x7a\xfc\x1e\x95\x17\x7d\x2b\x9c\x63\x28\x3f\xcb\x5a\xd1\x31\x8d\x4f\xc5\x8b\x6e\x4e\xd8\xce\x8c\x8e\x20\x11\x1a\x4c\xa9\xa7\xd9\x8e\x8c\x8e\x28\x11\x85\x1c\xc3\xf2\x77\x4d\xee\x37\x58\x5b\x89\xf2\xdf\x6f\x0d\x83\x06\xc5\xfb\x6b\x1d\x50\x61\x67\xcb\x18\xf6\xdf\x4e\xa0\x39\x98\xbe\x7a\xea\x5b\xf6\x28\xee\x9c\x9b\x2d\xca\xab\x6f\xdb\xba\x58\x0d\xf8\x33\x74\x3e\x31\x58\xf0\xf9\x1b\x9f\x18\x7c\xc8\x9e\x68\xd0\xd2\xb1\xfb\xa4\xc3\xb3\x95\x8f\x71\x39\xa9\x5c\xca\xbe\xf4\x9d\x2e\x7c\x73\xcd\xca\x2e\x68\x65\x52\x0d\x80\x04\x00\x9d\x92\x55\xaa\x6f\x12\x46\xa5\xab\x99\x91\x9c\x93\x11\x18\x77\x32\xf4\xab\x1b\xcf\x16\x43\x51\x15\x44\x25\x01\x95\xa4\x20\xcf\x12\xdb\xa0\x90\xb6\x36\x8f\x20\x41\xb3\x95\x48\x6f\x49\xa5\xdb\xb5\x9b\x4d\x85\xd2\x21\x65\x86\x2a\x64\x65\x4c\xc7\xa0\xc2\x40\x0a\x73\xc5\xb7\xd3\x20\xc0\x73\x5c\xa9\xb8\x20\x2c\x6e\x9e\xed\x96\xad\xac\xd8\xba\x2d\x3d\x5c\x81\x75\x17\xcc\xad\x9a\x80\xa3\xee\x35\x8c\x4a\x07\xe5\x60\x80\x92\xe5\xed\x38\xc4\x47\x1f\xcb\x96\x24\x17\x4a\x49\xa6\xaa\xcf\x55\x85\xc7\x93\x9d\x3c\xf8\xcb\x37\xf8\xdd\x85\xfb\xfe\x49\xc5\x32\xf2\xb3\x0e\xfd\xa6\x0b\x7a\x27\xd1\x55\x32\xb3\xed\x94\xb0\x72\x5b\x95\x0a\xd7\x50\xe5\x4a\x1d\xad\xb2\xe8\xd5\x76\x77\x05\xdd\x25\x20\xab\xf7\x62\x1a\x20\x6e\x6a\x94\x50\xc3\x7c\xdd\x95\xe9\x15\xfd\x85\x8b\x30\xae\x56\xad\x94\x2b\x48\x7f\xde\xfa\xbe\xd3\x1c\x83\x9a\xf6\x6a\x47\x27\x93\x98\x8d\x6d\x41\x9b\xe4\x3c\x2a\x2b\x9a\xb5\xc8\x1e\x91\x47\x95\x86\x10\x83\xd8\xd4\x5e\xad\xec\x57\xcc\xc1\x27\x5c\x42\x56\xde\x3c\xde\xb0\x9f\x6c\x74\xfb\x19\xc2\x53\xee\xf7\x27\x5b\x8e\x4f\xba\x73\x3b\x26\xef\xb3\xef\xcb\x27\xd9\x80\xfb\xdf\x61\x3a\xe5\x32\xdb\xfa\xd2\xc9\xf9\x97\x6c\x8e\x1d\xdc\xd8\xd0\x99\x52\x16\x00\x5b\xdf\x34\x2b\x9b\x3b\xeb\x3f\xe4\xfb\xd4\xb5\xcc\x2c\xf2\x2c\x2f\x4d\xb4\xd4\x1d\xea\xc9\x6e\x65\xcc\xa8\x5f\xcc\xda\x4b\x41\x3b\x15\x95\xdd\x6e\x02\x06\x8d\xf4\xe9\x46\xe5\x4a\x7f\xd3\x41\xf6\x68\xa1\x2f\x95\xbd\xd1\xe2\x55\x7b\xb2\x56\x93\x0d\x16\x3c\xe9\x88\x9f\x7c\x94\x2d\xfd\x34\x1f\xc7\x1c\xd2\xd2\x5f\x73\x4b\x31\x5c\x92\xbc\xbb\x6d\xc4\xa0\x6a\x5b\x52\xb2\xb6\xae\x9e\x9d\x0b\xc2\xd5\x76\x52\x96\x64\x13\xdd\xbd\x3c\x7b\x96\x40\xaf\x5c\xc6\x4c\x68\xca\x11\x9b\xe3\x5f\x98\xa2\x56\x59\xf4\xfa\xe0\x7f\x04\x67\x93\xcc\xda\xae\x62\xb7\x8c\xb7\x95\x94\xfd\x39\x9a\x38\x21\xfc\xe9\x86\x4e\x49\xe4\x9f\x69\xac\x1c\x54\xdc\xde\x8e\xf6\x85\xcd\xdb\xe2\xde\xc8\xd9\x18\xa5\x8e\x66\x76\x68\x48\xfb\xc2\xee\x6f\x19\xd0\xe1\xd9\x65\x8c\xdb\x4a\xea\x21\xa3\x19\x26\x91\xdf\x4e\xc6\x67\x57\x6f\x3f\x1c\xbf\x9d\x1c\xff\xfe\xc3\xd5\x37\x97\x13\x0b\x31\xcd\xe7\xda\xc1\x4d\xe7\x57\x36\x08\xf8\x93\xf5\xa5\x8b\xf1\xb9\x15\xb5\xfa\xb9\xfd\x65\xec\x53\x42\x25\x6c\xa8\x9f\xd0\x22\x2a\xc8\x59\x28\xcb\x6f\x71\x1a\xe8\x4d\x12\x6c\x46\xd8\xb4\xe2\xe0\x7f\x1c\x80\x2e\x84\xfd\xdb\x44\xe0\xdd\x6c\xb0\x91\x02\x45\x6a\xc2\xea\xf5\xa8\xc1\x97\x1f\xd0\x8b\xba\x24\x8e\x2d\xcd\x88\xea\xde\x10\x6a\x9f\x91\x86\x2a\x11\x72\x51\x88\x74\xad\xe2\xc8\x74\xfc\x18\x60\x27\xe4\xd4\xd9\x06\x37\x61\x42\xe5\x38\x64\xbe\x2f\x6a\xe3\xba\xa2\x8d\xac\xc4\x41\xe9\x8c\x54\xad\x05\x25\x31\xe2\xeb\x18\xff\x4a\xe4\x77\x49\xe0\x3d\x7f\x33\xb9\x1a\x5d\x02\xbb\x46\x97\xd7\x57\xa3\x93\xc9\xd9\xe4\x6a\x32\x12\xf9\xc2\x16\x72\x79\xfe\xf0\x13\xfa\x50\x78\x20\xf6\x97\xdb\xf1\x26\x59\x4e\x7c\xe3\x6e\x54\xab\xcd\x61\x56\xdc\x70\x80\x8c\x0d\xdd\x85\x1e\xed\x1d\xbc\xac\xbb\x52\xad\x42\xf9\x2a\x86\xc2\xf4\x61\x53\x56\x57\x22\x99\xfb\xac\x3d\x97\xe9\xef\x32\xd4\xec\xce\xc7\x3f\x65\xa8\x8e\x23\x29\xea\x22\x4e\x8d\xd4\x98\x1b\x94\x93\x4e\xe6\x05\x1d\x73\xa6\xa3\x75\x30\x6c\x08\x8b\x90\x04\x49\xd6\x47\x6f\x21\x13\xfa\xe1\x15\x6c\xc6\xa4\x43\x30\xbd\x93\xe9\xf9\xf8\xf4\x82\x82\xcd\xa9\xe9\xca\x86\x57\xac\xea\x1c\x87\x21\x85\x6e\xb4\xcb\xde\x1a\x28\x26\x38\x7d\x14\xbb\x3a\x49\xe8\xac\x92\xeb\xae\x2e\xba\xd8\x0a\x36\xe8\x88\x23\xff\x07\xdf\xd2\x82\x65\x67\xf2\x39\x26\x72\xd0\x00\x06\xd2\x2f\xc3\x26\x1d\x87\x80\xb2\x21\x00\x69\xa8\x08\x2d\x97\xcf\x50\x1a\x89\x24\x09\xab\x42\x12\x82\x6c\x27\xe5\xf4\x62\x7e\x35\x3e\x3b\x9b\x9c\x78\x97\x67\xd7\x6f\x60\x58\xc7\xd3\xf3\xf3\xf1\xc5\x89\x2d\x89\x11\x7f\x1b\x5f\x71\x06\xa3\x7c\x83\x41\x8c\x4f\x6c\xbd\xa1\xe8\xf7\x8b\xe3\xc9\x87\xf3\xc9\xf9\x74\xf6\x8d\x05\x70\xfd\xa9\x76\x50\xcb\x18\x8b\x46\x54\x4a\x74\xd9\xe0\xe1\xa3\xd8\x6a\xba\xad\x1c\x97\x05\x7a\xec\xfd\x33\xac\x8c\xe4\x53\xe6\x1d\xcb\x9a\x9a\x67\x61\xcc\x9d\x6d\xb0\x1a\x59\x24\x0e\x51\xc7\x16\x20\x31\xb1\x67\xd9\x1a\xe6\x0e\x13\x36\x5e\x82\xa6\xf6\xfe\xfd\xfb\x67\xf7\xd8\xeb\x11\xff\x78\x89\xff\xc1\x94\x1b\xfc\xd7\x9a\xfd\x3e\xa1\xe3\x32\x7a\xf8\x39\x16\xf5\x62\x9b\x8a\x8c\x11\xcf\xed\x82\x13\x43\x18\xa9\x1f\xf0\x2a\x84\x55\x1f\x46\xd4\xfe\x2a\xc4\x56\x7b\x59\x2f\x15\x7d\x43\xbe\x84\x83\x27\x9d\xdf\x89\x28\xa2\x01\x07\x49\x71\x63\x1d\xf0\xfb\x67\x5d\xb8\xde\x3f\xb3\x0f\xb9\x89\xcd\x69\x90\x41\x72\x43\x63\xec\x45\x6c\x19\x25\x1f\xbd\xba\x2e\x99\xac\x2c\xa8\xce\xe2\xce\x8e\x9e\xa7\xf2\x08\xd5\x95\x05\x3d\x09\x89\x6b\x94\xb1\xd6\xd3\xd5\xe7\x13\x00\x60\x57\xcc\x45\xee\x5d\x67\xfe\xd2\xb6\x5e\xaf\x33\x52\x11\xf8\x49\xeb\x02\xad\x40\x3a\xf2\xc6\x71\x59\x86\x25\xcc\xe0\xb4\x52\xad\x30\x64\xc7\x52\x7a\x38\xda\x60\x1a\x06\x1c\x12\x22\x38\xc2\xe6\x82\x4e\x04\x1c\xb5\xd6\x02\x49\xca\x8c\x2c\x3f\x40\x89\xc8\x13\x45\xaf\xf8\x94\xd0\x81\x9a\x83\xae\xae\xc2\xe8\xdc\x86\x72\xac\xab\xd8\xc2\x8e\xbb\x8d\xfc\x65\x06\xa7\xf7\xf7\x0b\xb1\xce\xbd\xc3\xdb\x2f\xb0\x57\x14\x0e\xe9\x46\xf6\xdb\x82\x95\xf8\xe9\x0e\x33\x52\xb8\xc3\xa7\xb7\x2a\xa2\x3c\x5c\x47\x82\x83\x7c\x39\x86\xa3\x2a\x26\x6c\x9a\x6c\x7d\xd8\x67\x5c\xef\x1b\xd4\xe5\x5c\x57\x31\x6c\xee\x51\x49\x5a\x42\xb4\x31\x4f\xb0\x9d\x94\x88\x65\xe4\x28\xe5\xde\xd5\x3a\x88\x72\xc4\x69\xc6\x24\xb2\x2e\x45\xcc\x6a\x91\x4f\x16\x85\xb8\xc1\xb4\x86\xe6\x0b\x8c\xc8\x88\x4b\xef\x9f\x61\x15\xe7\xf7\xcf\x70\x2d\xbc\x7f\x16\x27\xb1\x78\xff\xec\x3d\x4c\x87\xf3\xf4\x37\x41\x07\xe2\x86\x2c\x6a\x06\xec\x3a\x68\x37\xaa\x67\xaa\x24\xd0\x01\xb0\x82\x5a\x97\x22\xab\xca\x3f\x28\x98\xf1\x00\x2f\x24\x6a\x25\x65\x03\xd6\x2d\x41\x17\x70\x4a\x74\x43\xaf\xd6\x01\xca\x06\xac\xd4\x0e\xf2\x1f\x83\xe8\xfd\x90\xaa\x3c\xe0\x3a\xf7\x61\x0f\xa4\xb6\xc0\xdc\x03\xa9\xe3\xcb\x4b\x6f\x3e\x99\xbd\x3b\x05\x5d\x40\x29\x05\x3b\xd3\xda\x0a\x74\x3f\xc4\x7e\xc0\xfb\x1f\xf9\xaa\xa4\x62\xb8\x07\x5a\x19\xe6\x46\x41\xdc\x37\xa1\xcd\xbd\xbd\x47\x9a\x9b\xc0\xf7\x4d\xfe\x63\xac\x0e\x45\xfd\xe3\x2e\x92\x92\xce\xad\x49\xac\xd2\xb3\x0f\x52\x76\xe2\x58\x95\x9c\x6d\xb8\xf3\xea\xfa\xf4\xec\xe4\x72\x0c\x8b\x05\x01\x8e\xbc\x8b\xc9\x3f\x7f\xa8\x7e\xb7\xf3\xfc\x3a\xa0\xd8\xc3\x34\xab\xed\xff\x18\x2b\x54\xc2\x7e\x9c\xf5\x69\xc8\xad\x78\xa7\x55\xd1\x2a\xae\xb6\xa1\xe8\x6c\xfc\x6a\x72\x36\xf2\x2e\x67\xd3\x77\xa7\x27\x93\x19\xf1\xf4\x6a\xfa\xfb\xc9\xee\xc2\xb5\x0e\x79\x23\xe1\xee\x81\x8d\x0d\xa2\xf7\x4c\xea\x1e\x48\x9c\xce\xde\x54\x4e\xaa\x5d\xc8\x43\x58\xfb\x3c\xa1\xea\xb4\xed\xc8\xbd\x47\x20\x4f\x4a\x8f\x3f\x5c\x4f\xaf\xc6\xfb\xa0\xaf\x02\x6f\x0f\x24\xce\x26\x97\xd3\xf2\x94\xc4\x16\xf0\xbb\x12\x59\x42\xdc\x10\xbc\x3d\x10\x39\x9f\x1c\x5f\xcf\x4e\xaf\xbe\xf9\x40\x7d\xd1\x89\xd2\xcb\x31\xe8\x0b\x57\xd3\x0f\x78\xff\xff\x30\xbb\x3e\x9b\xcc\x3f\xbc\x3e\x3d\xdb\x5d\x68\xd6\x50\x6d\xac\x88\xf6\x3e\xac\x91\x5e\xcd\x73\x38\x62\xf6\x3d\x92\x91\x5c\xdc\x0c\x7b\x2f\xc4\xf3\xa1\xf2\x6a\x06\xb2\x70\xc6\xe7\x63\xf5\xbb\x3d\x8c\xa0\x17\xc5\x23\x0c\xe4\x1a\xbe\xe0\x4d\x76\x39\x9e\xcf\xff\x79\x3a\x3b\x19\xed\x65\x5f\xb8\xe2\xd9\xe3\x90\xf4\x81\xaf\xbe\xf8\xfd\xe4\x9b\xbd\x8d\xa3\x15\xf8\x63\x10\x8f\x5b\xc2\x9c\xfa\xbd\x29\x48\x0d\x80\x9b\x76\x3c\x8f\x35\xa8\x47\x9d\x95\xcd\xde\xe7\x65\x7a\x3d\x3b\x9e\x1c\xe2\xad\xf8\x6a\x3c\x7b\x33\xb9\xa2\x3f\x77\xa6\xbb\x15\xea\x3e\xc8\x65\x21\xba\x3f\xe5\x80\x01\xee\x53\x3d\x28\x49\xdc\x8f\x7a\xa0\x28\xdc\x9b\x72\x40\x00\x0f\xcb\x3b\x34\x7d\x24\xe8\x87\x7b\xb9\x63\x19\xf0\x37\x4d\xe8\xfb\x1a\x00\x2b\x23\xb4\xb3\xcb\x8f\x7b\x21\xbd\x15\xf2\x7e\xc9\xde\xf1\xce\x6d\xa5\x6b\x1b\xb2\xca\x13\x0b\x74\x89\x91\x37\x9b\xee\x41\xdf\x6a\x83\xb9\x07\x0e\xd6\xc0\x12\x1b\x1e\x87\x62\x13\xf4\x1e\x08\xdf\xf1\x36\x6d\x7a\x52\xb6\x42\xbf\x5e\x73\xf4\xc8\x8e\xeb\xae\x1a\x0b\x02\x40\x77\x5f\x7d\x00\xe5\x03\x92\x36\x92\xb1\x10\x1f\xea\x74\x6e\x35\x9b\xed\x50\xf7\x31\x91\x3b\x51\xb5\x13\x6a\x5d\x42\x46\x8e\x8c\x4a\xb0\xa1\x00\x5f\xcb\x0e\x05\x3b\x73\xad\x15\xc3\xa6\x84\xbf\x07\xfe\x51\x98\x02\x12\x2d\xfb\xe1\xee\x4a\x32\xc1\xdb\x28\x68\x7b\x20\x30\x89\x02\x63\xbb\x00\xa1\xb1\xf8\xd4\xba\x7f\xb6\x22\xb7\x02\x7d\x53\x85\xbd\x27\xe2\x31\x9e\x8f\xa7\x0f\xa1\xab\x4f\x7b\xa1\xdc\x02\x7a\x1f\x84\xa7\xcb\x47\x90\x02\xed\x50\xf7\x40\xae\x0c\x7f\x1f\x55\x52\x19\x46\xcd\x72\x0c\xbb\x0e\xc0\x15\xcf\x3e\x86\x44\x61\xce\xfb\x38\x24\x0c\x48\xbb\x1f\x0f\xf7\x5f\xa9\x8b\x1b\xfe\xa9\x0d\xa0\xf8\xf7\xd9\xf8\xc2\xbb\xff\xba\xfc\xf9\x6b\xfe\x6a\x57\x9e\x0f\xc7\xb8\x2d\xf7\x6d\xa5\xec\xaa\xa4\x59\xea\xd8\x95\xb0\x54\x59\xe0\x95\x9f\xbf\x2c\xbb\x11\xa1\x61\x0b\xeb\x7b\x62\x5f\xa3\xf7\x39\xfc\x7f\xfc\x0e\x03\x53\xe4\xd3\x5c\xd2\xd3\xc7\x70\xa1\x97\xef\xe3\x6f\xdf\xc7\x00\x1d\xff\xe3\xa1\x47\x3f\x4d\xf2\x64\x91\x44\xef\x9f\x61\x90\x4d\xbe\x58\xbf\x7f\x36\x52\xbf\x71\x13\x11\xa2\x94\x7f\xfe\xea\xcb\xa3\xaf\x7f\xf7\xbb\xa3\xaf\x8e\xbe\xfa\x6f\xc6\x63\x18\x14\x90\xf1\x03\xbf\xfd\xed\x97\xff\xf0\xfe\x19\xfe\x00\x84\xfc\xd1\x5e\x66\x10\xa8\x4f\x98\x38\x63\xe8\x2a\x24\xc2\x32\xa2\xc9\x77\x02\x46\x90\x98\x81\xa9\x04\xe1\xfe\xe1\xaf\x30\xd4\xe4\x69\x47\x66\x99\x25\x2e\xae\x79\x7c\x76\x2a\x2b\x72\x58\x43\x8b\xa8\x7c\x66\x6a\x74\x56\x86\x77\x3a\x81\x1a\xed\x84\x81\x3b\x97\xf4\x17\x77\xfb\xb4\x07\x6b\x4b\x34\x32\x69\xd9\xfe\xb6\x1d\x2f\x88\x9b\x2e\xd8\x58\x1b\xa6\xfb\x6d\xef\x5c\xac\x92\x74\x63\x0b\x2a\xc4\x1f\xb9\xbc\x4c\xe8\x08\x4f\xc5\xb9\xf8\xa0\x9b\xc6\x87\xb1\x58\x02\xb0\x7b\xa1\x3a\x73\x58\xf0\x9c\x55\x6b\xd9\xc8\x70\x16\xdd\xd8\x09\x03\x79\x24\x24\xab\x63\x95\x22\xcf\x38\x52\xad\xad\xcb\xa5\x05\xf1\x4c\x87\x8b\xd1\x9b\x58\x3b\x96\x56\x6b\xb5\xc5\x65\x37\xce\x99\xac\xab\x8e\xff\x5a\xb3\x0c\xe0\xc7\x12\x7a\x62\x3c\xde\x09\x7a\x3e\x3f\xf3\x8e\x45\xca\xf5\x70\x31\x6b\x02\x9b\x22\x51\xd9\xf2\xab\x70\x7d\x2e\x32\x94\x5b\x56\x94\xf8\x22\x85\x9b\x06\x09\x01\x32\xd0\x53\x3c\xaa\x1d\x5e\x27\x4d\xa8\x21\x71\x23\xfa\xbf\x50\x9d\xb5\x4b\xf8\x1b\x81\x8c\xe5\xf7\xe6\x0a\xa0\xe6\x22\x16\xf2\x2e\xa9\x35\x3d\x5f\x5d\xca\x9a\x7e\x25\x91\x75\xf8\x13\xd5\xcd\xbe\xa5\xbb\xae\xb9\x64\x64\xa3\x91\x9e\x41\x50\xbb\xab\xad\x16\x8a\x6e\x55\xe5\x6f\xb7\x5c\x1c\xba\xa0\xce\xb9\xe3\x69\x4b\xbe\x6d\x89\xf1\xa5\xa5\x5e\x91\x42\x43\x35\x61\x97\x85\x2c\xe0\x0b\xb2\x16\x48\x93\xd1\xee\x87\x0b\x8a\xe3\x3b\xf2\x2e\x23\xe1\x63\x80\x1c\xff\xe8\x61\xe9\x76\xbd\x89\x92\x9b\xef\xf0\x38\xa3\xae\xcf\x44\xb0\xca\x7b\xc0\x98\x43\xd0\xde\xa8\x3a\x68\xf3\x05\x6b\x8d\x6d\x45\x4e\x7d\x1c\x88\x1d\x96\x0d\x17\xdb\xf1\x75\x3e\x68\x19\xe9\x07\xe4\x02\xa5\xfa\x21\xba\xf6\x22\x2e\xa0\x88\xf1\x52\x2d\xd5\x5a\x0d\x6a\xb9\x86\xb0\x99\x8d\x11\xca\x87\xe9\x11\x48\x7e\x28\x9a\x60\xe4\x1b\x56\x61\xcb\x23\x2d\xdb\x1e\x63\x12\x18\x56\x72\xe2\xbc\xa6\x03\xef\x50\x37\x7f\xc7\x47\x82\x04\xb4\x25\x8c\x8b\xa4\x42\xd9\x9d\x09\x21\xb1\x41\x2d\x0c\xa0\x06\xf7\x65\x99\xca\x61\x34\x98\x8f\x65\x05\x6e\x61\x55\x6d\x24\xb9\x61\xf6\x91\xd3\x0f\x69\x37\x9d\xc0\x47\x99\xcd\x38\xac\x85\xc2\xb1\x4a\x8b\x04\x80\x8b\xa4\xb2\x0a\xdd\xc0\xee\x48\xe5\xfe\x08\xeb\xa3\x85\x2b\x2f\x1e\x52\xe5\xc5\x43\x5d\x79\x71\x45\xe0\xf8\xb7\x63\xfc\x89\xbb\x15\xd9\x24\x9b\x9f\x3e\xfc\x75\x25\x72\x38\xb8\x9a\xe0\x6a\x02\xae\x09\xb3\x93\x3c\xe3\x8e\x51\xc4\x2c\x82\xd5\xc9\x9b\x1d\xe3\x57\x38\xd2\xd3\xca\x43\x86\x3c\x66\xd3\x41\xef\x69\x3c\x13\x8b\x42\xc8\x9e\x62\xe5\xb1\x5c\x23\xbc\x89\x76\xc2\x5d\x67\xd5\x9b\x51\xcf\x99\x2e\x89\xe9\x11\xd4\x7a\xc0\x2b\xd2\x53\xbc\x28\x5c\x85\x3c\x6e\x56\x5c\xce\xf0\xb3\xc3\x42\x39\x7b\xf8\x19\x1e\x24\x4b\xd9\xaa\x45\xa9\xa9\x8f\xce\x06\xdc\x89\xd6\x0a\x7f\x2a\x13\x32\x78\x2a\x4e\x9b\x04\xfa\x0d\xf0\x7d\xda\xd3\x30\x4e\xf7\x53\x1f\x61\x4d\x8c\x1c\xfb\x65\x18\x4f\xca\x65\xb0\xff\x71\x84\xf1\xad\x48\x43\x2c\x2e\xdb\x86\xae\x73\x48\x74\xfd\x70\x4b\xcb\xa3\x47\xab\xa2\xb8\x1b\xb6\x8a\x61\x3f\xf2\xca\x46\x84\xf0\xa5\xad\x2a\xf8\x79\xd9\xea\xb0\xc4\x72\xe4\x99\x0d\xd4\xb8\x8a\x39\xdc\xb5\xa2\xae\x42\xee\x1a\x7f\xcb\x7e\xd8\x61\x33\x34\xd7\xff\xc0\xc5\xbf\xff\xfd\xb9\x8f\x2d\x69\xa1\x6a\xe8\xf9\xe7\x4a\xdd\x96\x07\x20\xd6\xbe\xa7\xbe\x03\xfa\xa8\xb9\xe2\x6f\x1c\x18\x67\x1c\x36\x0a\x4c\x8d\xb4\x36\x58\x9d\xe4\x94\x35\x8b\x51\x19\xa9\x36\xf4\x3b\xe0\x5a\x72\xd4\xc9\xf0\x9d\x1f\x39\xb5\x7f\x7e\x47\x35\x8d\xeb\xd7\x8f\xa1\xb0\x6d\x24\xe3\xbc\xa0\x65\x18\x36\x24\xdc\x5e\x38\x93\x7a\x44\xdf\x08\x6e\x83\x74\x2b\x9b\xb3\x70\x85\x6a\xd9\x31\x85\xd2\xc6\xad\xe6\x28\x02\x0b\xd7\xff\x8d\xb7\x44\x43\x44\x12\x1b\xad\xae\x46\xf0\xad\x6a\x08\x83\xc9\x47\xd5\xd6\x2e\x3c\x36\x94\xbd\x32\x3b\x3c\x10\x58\x98\x26\xc4\x4a\x92\x76\x43\x94\x65\x10\x99\x88\x50\x07\xc7\x1f\x16\x20\x6e\x97\x6c\x71\x94\xa3\xc3\x26\xa3\x20\x3a\xb8\x89\x04\x2d\xf0\x6c\xcb\xf1\x10\x9a\x05\x7f\xbb\x81\x11\xad\x6e\x28\x3b\x06\x50\x09\x1a\x2d\x5e\x7b\x80\x91\x0b\x99\x57\x1c\xf1\x66\x20\x7d\x74\xe9\x67\xb9\x75\x5c\x67\xf0\xa3\x37\x45\xe9\x46\x74\xb4\x93\xf6\xf0\xff\x44\xb0\x6e\x7d\x0f\x17\x42\x97\xdc\x3b\x0b\xe3\xe2\xfb\x17\xe7\xfe\xc2\xb6\x45\xf5\xef\x96\xd7\xd1\xd3\x11\x45\xba\xa3\x41\xd9\xe2\x97\xd7\x82\x15\x2c\x76\x08\xc1\xaa\xb1\x30\xb7\x51\x99\x24\x14\x19\x13\xdc\xdd\xcc\xb7\xc4\x7c\xef\x87\x11\xad\x48\xa9\xc5\x2f\x38\xb3\xca\xd6\xdd\xa2\x44\x2d\x0b\xd6\x9a\x89\x88\xea\xb2\x11\xe2\x0d\x36\xc4\x1c\xbc\x81\xd8\x89\x09\x32\x49\x56\x04\x66\x45\xdb\x24\xa5\x66\xe2\xf8\x4e\x10\x98\x3f\x85\xd6\x06\x47\x0d\x52\x75\xbd\xdb\x92\x3e\x99\xea\x6e\x56\xbf\x2d\x93\x74\x29\x85\x4d\xc4\x96\xea\xbc\x9e\x0f\xf7\x61\xec\x94\xd5\x37\xc8\xb2\xaf\x83\x33\xa1\x96\xc6\x0e\x3d\x88\xb0\x28\xb2\xeb\x8a\xa9\x16\x41\xee\x01\x2c\x2b\x9b\xca\x05\xba\xe0\x72\x0c\xb2\xc8\x85\xcc\x62\x57\x5f\x9a\x15\xd8\x5c\x69\xe1\x22\xa7\x3c\x13\x6a\x01\x83\xfc\x2a\x7c\x18\x52\xb3\x48\x04\xff\xd2\x43\x71\xad\x46\xa8\x2b\xe3\x5b\xaa\x82\xf6\x22\xaa\xfa\x59\x76\xda\xc6\x5a\xd1\xac\xd6\x0a\xab\x72\xc6\x79\x6b\x97\xc5\x75\x7c\x2a\xe1\xe1\xca\x04\x5d\x35\x47\x70\xbb\xe9\x0a\xfb\xfb\x70\x72\x09\x98\xe7\xbe\x74\xf1\x84\x68\xec\x58\xa7\xdc\xc4\x9e\x53\x2b\xbd\x6c\x93\xe5\x62\x35\x92\x25\x2e\xc8\x64\x13\xb3\xa4\xe5\x2a\x32\xf2\x67\xd0\xe5\x73\x4c\xe4\x84\xe5\x41\x9d\x6d\xac\x15\x10\x1a\x6c\xe4\xba\x30\xcf\x91\x76\x2a\x8d\x03\x4c\xc0\xce\x3b\x68\x9a\x58\xf9\x86\x27\x20\x43\xca\xb4\x49\x2a\xc0\x53\x87\x2b\x60\x70\x53\x70\xf5\x82\x24\xed\x3e\x19\x91\xad\x86\x32\x37\x3d\xc1\xcd\xd5\xd3\x4a\x93\x6e\x4b\x09\x05\xcd\x1d\x5c\x17\x2c\xbe\xa4\xa4\xdc\x46\x8a\x55\x64\x50\x29\x74\x5d\xa5\x91\x2e\x6e\x20\x55\x8f\x72\xa1\x24\xb7\x7b\xd8\xc5\xa4\x69\xb4\xac\xa5\xb6\x2a\x3d\x4e\x3b\x59\x17\xa1\xa1\xd4\x6b\xf7\x55\xac\x0b\xcd\xb4\x60\xee\x42\xa9\x4f\xa4\xe4\x16\xaf\x78\xf1\x52\x23\x37\xaa\xb8\x75\x13\x91\xc0\x8b\x54\x1b\xab\x71\xce\xc8\x5a\x6c\x4e\xf8\x59\xbc\xaa\xa6\x9b\xb2\x5e\x57\x37\xe2\xb2\x26\x17\xda\x3c\xd2\x2c\xa9\xd4\xe7\x72\x3c\x96\x35\x01\x05\x1a\xde\x9d\xf0\x56\xeb\x81\x61\x77\x2b\x37\x5c\x46\x17\x22\x43\x64\xf6\x4e\x72\x67\xaf\x21\x27\xf1\xa8\xbb\x23\xf8\x0d\x01\xde\xc3\x61\xa3\xd7\x01\xca\x97\xd6\x66\x07\x1d\x88\x2b\x75\xe1\xbb\x51\x59\x0a\xbf\x77\x00\xaf\x17\xc6\x96\x6c\x95\x8d\xff\xeb\xbf\x52\x97\xd8\x22\x8e\x65\x47\x2d\x94\x62\x48\x81\x33\x55\x65\xdd\x6c\x59\x2e\xc8\x68\xfa\xdf\xf6\x14\x1b\xd1\xdb\xc4\xe6\x16\x43\x92\xbd\x45\x71\x68\xb2\xc5\xcf\xfe\xe8\xd7\x55\x3b\x75\x59\xdb\xcc\x9d\xdc\x4a\x89\xd6\x8c\x0b\x69\xf5\x90\x44\xdd\x75\x64\x25\xd3\x46\x15\x56\x17\x64\x65\x39\xd5\x6e\x44\xb5\x9a\xa9\x58\xf8\x65\xd1\x2c\x99\xea\x80\x51\x96\x45\xed\xc6\x66\x2f\x7e\x6a\xc7\x80\x73\x2a\x5d\xd7\x70\x48\xb2\xc7\x39\xb3\xbb\xaa\x09\x93\xd9\x4a\x43\x76\x98\x0c\xa8\x77\x86\x05\x0d\x76\x13\x65\x9f\x20\xac\x9c\x4f\x7e\x1a\x78\x5a\xe1\x47\xb8\x47\xde\xd5\x1d\x68\x2d\xe8\x8b\x22\xed\xe3\x06\xe5\xc9\x6d\x18\x03\x3d\xab\x84\xda\x9d\xa2\xb6\x02\x82\xc2\x46\xd4\x44\x83\xd3\xac\x4d\x85\x88\xef\x1f\x7e\xa6\x89\x65\x77\x61\xc6\x5d\x4d\x8f\xbc\x49\x96\x0b\xd3\xaf\xa4\x4a\x43\x30\xd2\x30\xf5\x56\x0f\x7f\xcd\x54\x6f\xbe\x7b\xf1\x83\x7d\x54\x1f\x69\x67\xe8\xcb\x06\x35\x5a\x4e\xa9\x27\x98\x57\xac\xe1\x8a\x66\xd5\x30\x5e\x45\x09\xe8\x35\x32\xae\x80\x6f\x1e\xf5\x8b\x87\xac\x15\xb4\x5a\xc3\x74\xa6\xf2\xdc\xee\xbb\x3c\x24\x5c\x40\xce\xb3\xc6\x33\x1c\xc3\xcb\x0b\xa3\x5f\x77\x0f\x9c\xc4\x5a\x73\x05\x8d\x5a\xae\xb0\x96\x30\x8f\x02\x8d\x37\x99\x2d\xb4\x86\x4c\x3b\x02\xf5\xac\x25\x4c\x0b\xe9\x85\x96\xf8\x1a\x04\x47\x05\x54\x8a\xdc\xbe\x46\x8f\x01\x9b\xcf\x35\x4a\x33\xd9\x9c\xcf\x0e\x2d\xc5\x78\x82\x04\x0b\xb0\x05\xeb\x24\x44\x37\x89\xac\xd1\x42\xde\x3d\x56\x55\xbb\xca\x18\xbd\xf6\xa3\x9c\x3c\x95\x6b\x92\x64\xb0\x82\xd8\x63\x1b\x55\x60\x9b\x3d\x73\x69\xa2\x4d\x2f\xa8\x8d\xb8\xe4\x23\x95\x04\x5c\x93\x89\x0c\x49\xe0\x48\x90\x83\x66\xef\x99\xaa\xaf\xd0\xb6\xe8\x1e\xfe\x96\xc1\x52\x23\x27\x75\x03\x64\xa3\x21\x4d\x0d\x64\x2b\x89\xe7\xe3\x8b\xd3\xd7\x93\xf9\xd5\x07\xcc\xdb\xb3\xd7\xa3\x32\x9e\x69\x07\xd3\x55\x76\x8a\x7e\x3c\x1d\x5b\xde\xc4\x96\xc8\x68\x2d\x5f\x6f\x54\xef\x56\xa9\xbb\x2d\x92\x40\xba\xf3\xd1\x55\x6c\x1c\x56\xe4\xc1\x8e\x13\xd8\xb8\xe9\x91\xe7\x5d\xc7\xe4\xc4\x48\xee\x61\xc9\x84\x70\x4d\x88\x47\x7c\xb5\x06\x80\x87\x1a\x12\xd7\xbd\xf9\x14\x52\xcf\x21\x6e\x14\x4b\xd7\x8a\x12\xa8\x6d\x25\xbe\xf5\x97\xca\x9e\xbf\x66\x85\x65\xf1\xf0\x4b\x10\x2e\x61\x9d\x14\x54\x8c\xa7\xec\x18\xab\x7b\x81\x96\xd1\x0c\xa0\x67\x01\x3c\xa0\x72\x0c\x5a\x6c\x0c\x02\x0c\xef\x42\x58\xea\xaa\x00\xd9\x95\x17\x1b\x7f\x24\xdb\xb1\xa3\x35\xa8\x42\xb3\xec\x48\x8b\x26\xe1\x5a\x88\x84\x65\x27\x48\x46\xe2\xae\x3f\xd4\x31\x02\xcd\xc0\x49\xad\xa8\x02\xbe\xe3\xd7\x74\x45\xb4\x8e\x1c\xcd\x84\x48\xb0\x55\x67\xab\x7b\xfc\x13\x12\x87\x52\x9a\xa0\xb1\xf1\xe1\x27\x43\xa9\x6d\x57\x0c\x10\xde\xf1\xeb\x8e\x31\x91\x80\xa6\xb3\xf3\x20\xab\xc4\x6b\xc2\xa4\xc7\xd1\xc6\xbb\x0f\x33\x82\x8e\x75\xe9\x2a\x3a\x31\x8e\xbf\xc3\x90\x50\x8e\x8f\xcd\x5c\xbe\x24\x46\x0f\x2e\x68\x74\x1a\xa0\x3e\xb4\x34\xac\x58\xa1\xc5\x57\x62\x34\xd9\x0f\x31\x24\x9e\x9b\x55\x93\x64\xd3\xff\x00\x9b\x41\xa2\x02\x74\x5b\x44\x30\x2a\xb8\xc6\x5b\x43\x4a\xb0\x36\x14\xbe\xd4\x28\x0c\x55\x15\x51\x65\xad\x23\x14\x5f\x2e\x94\x84\x99\xd1\xb5\xbc\x66\xb8\x22\x7d\x1a\x65\xd5\x08\x78\x55\x09\x36\x11\x21\x6e\x45\xd9\x4a\x97\xe3\x53\x61\x21\x28\xaf\x9a\xb5\xc0\x5e\x67\xfb\xf2\x06\xf9\x14\x48\xc2\x14\x68\x43\xd7\xc8\x58\x7f\x2d\x39\x14\x49\x6f\x35\xba\x73\x7f\x0d\x5b\xe6\xea\xb8\xbb\x16\xe0\xb1\xf2\xe4\xb1\xb1\x3d\x96\x05\xff\xe0\xb5\x0e\xa8\x71\x7f\x8d\x41\x0b\x5c\x7b\x21\x41\x04\xcc\x96\x88\x44\x5d\x03\x71\x1b\xe7\xa8\x7a\xd9\xbb\x18\x57\xd1\x20\x1f\xf9\x26\xe8\xa5\xfe\xc3\xcf\x3f\x60\x29\x48\x8a\x85\xb2\x75\x30\x3e\xf7\xbf\xf7\x3e\xf9\x61\xce\x6d\x9d\x55\x6b\x50\x2d\x50\x48\x98\x16\x6b\x34\x02\xc1\xb9\x1b\x17\x76\x8d\xe9\x2a\x14\x2b\xae\x8c\xca\x7e\x52\x54\xd2\xbe\x0f\x57\x66\x57\x0f\xa3\x05\x77\x45\xde\xb0\x80\x1d\xe1\x3a\x20\x1c\x36\x7b\x4d\x93\xd6\x52\xb3\x93\xb7\x9f\x9d\x09\x05\x5a\xe8\xf9\x5b\x91\x0a\x49\x9f\x55\x03\x74\xa2\x38\x5c\x15\x2b\xcf\x5f\x51\x80\x07\x9c\x80\xd2\xcf\xc9\xbb\x49\x1f\x79\x65\xb4\x08\xfc\x70\x87\xcd\x12\xb9\xee\xea\x57\x5f\x7e\xfd\xbb\xf3\x91\xf7\xd5\x1b\xf8\xdf\x97\x6f\x6c\xc6\xbe\x63\x1f\xf4\x64\xbc\xb4\xf1\x48\x7c\xd3\xfb\x59\x5a\xe7\xca\x0e\xdc\x4d\xe6\x97\x47\x9a\x2a\xdb\x5a\xc7\xfc\x14\xc3\x3b\xf2\x0e\xbf\x42\x1d\x27\xc5\xe2\x9f\x39\x65\x7f\x15\x31\x39\xcc\xd0\x67\x4f\x38\xac\x1a\xa5\x62\x81\x31\x74\xc5\x8d\x5e\x16\x38\x8c\xbf\x4a\x9a\x54\x19\x14\xce\x90\x68\x84\x23\xd2\x7a\x76\x3f\x39\x9b\xbc\xe7\x27\xe2\xd6\x2f\xa2\xfc\x65\xf9\x5b\xef\xf2\xf9\xbc\xbc\xf3\x9e\xb3\xfb\x19\x9e\x33\x5c\xb1\x2f\xf5\x13\xb6\xe2\xc1\x8a\xbb\x1c\xc3\x8a\xdc\x95\xa6\x5c\x32\x96\xaf\xfc\x0d\x5e\x57\xd5\x21\x4c\xd5\x6d\x91\x90\xf4\x1e\x2d\xce\x18\x95\x6e\xe1\xca\xe3\x20\x33\xe6\xe5\x4b\xdb\x7c\x74\x63\x26\xd9\xf7\x1c\x5d\x82\x68\xa6\x0f\xb2\x2f\x48\x10\x62\xa0\x3c\x9c\x15\x24\x1d\x6b\xc6\x1f\x96\xe1\x23\x8f\x34\x6a\x19\x3b\xeb\x65\x78\xb2\xcb\x30\x84\x8c\xe8\xc6\x37\x6c\xd1\xe5\x52\x64\x2a\x41\xf9\x1c\xdd\xf2\x62\x09\x5a\x44\x02\xe8\x49\x6c\xe2\x3a\x11\x1c\xaf\x4f\x52\x55\x34\x24\xbe\xb1\x50\xfe\x7b\x4b\xb1\x47\x50\xa4\x41\x4d\xcb\x09\x51\x66\x08\x67\x14\xbf\x68\xbc\x70\x88\xdb\x3d\x37\x42\x48\xe4\xce\xf9\xfa\xef\xff\x01\x17\xa2\x5a\x8f\x56\x6f\x49\x33\x6a\x44\xad\xe5\x06\x04\x0b\x6a\x8a\xc8\x96\x01\x26\xdd\xd1\xde\xe7\x22\xce\xfc\xef\xea\xcf\xb6\x83\x0d\x97\x29\xac\xa4\x16\x87\x9a\xbe\x38\x55\x9a\xc2\x94\x37\x27\x1b\x6e\x04\x98\xda\x7c\x6a\x5c\x4e\xb3\xd1\xf9\x85\x6e\x39\x16\x15\xab\xa3\xb0\xfb\xc5\xf4\xfc\xd5\xcc\x52\xd6\x1d\x5f\xb3\xd9\x1a\xf8\x3d\x8b\x79\x01\xb3\xcb\xbb\x70\xaa\x9f\xdb\x5f\xbe\x3e\xd7\x15\x21\x6c\xd5\x99\xab\xcf\xb4\x83\x01\x15\xd8\xaa\xf6\xa2\x86\x6a\x7f\x8d\xee\xc0\xd2\x8a\x22\xd2\x8a\x37\xbf\x13\xa2\x9c\x1a\xf3\xfe\x5f\x9a\x62\xb6\x42\x87\xc5\x5f\x53\xbe\x7d\x95\xb1\x05\xd2\x6d\x16\xb2\x25\x0e\x44\xd8\xf6\x44\x81\x1a\x1a\xd3\x2e\xce\xe1\x86\x5b\xdc\x70\xe4\x40\x99\x3b\x63\x06\x14\x58\xe8\x17\x9f\xbc\x4b\x59\x15\xd3\x46\x46\x21\xee\x7d\x8f\xef\x17\x64\xc7\xb5\x43\x8a\x3b\xe6\x0c\xa0\x24\xf2\x6e\x61\x01\x90\x78\x7f\x97\xf1\xb5\x69\xc0\x75\xe7\xef\x2c\x3a\x21\x3c\x3b\xbe\x3c\x2d\xcd\x59\x99\x80\xe3\xfa\x3a\x63\x8b\xcf\x59\x02\xdc\xb9\x0a\xd7\x68\xf1\x91\x61\x5d\xf0\xb0\xfc\x02\x2f\x03\xec\x0e\xf2\x63\xfd\xbe\x4d\x23\x2a\x49\x92\x41\x41\xe8\xc1\x45\xc7\xc6\xc3\xdf\xe2\xba\x29\x0c\x50\x00\x09\xb2\x86\x74\x83\x8c\x1a\x15\x24\xef\x17\x09\xae\x10\xd9\x71\x57\x5e\x86\x49\x78\x94\x80\x2d\xca\xd0\x05\x5d\xef\xc8\xce\x03\xd7\xff\xf8\xc8\xf3\xbe\x49\x0a\x8e\x58\x0d\xc2\x8c\x6c\x17\xd2\x53\x80\xd2\x2c\x8a\x94\x2d\xe0\xb6\xd9\x46\x4b\xc9\x3e\xe5\xb3\xe5\x06\xd8\x31\x35\x79\x88\x3d\x90\x74\xc0\x5d\xa3\x31\x9c\x7e\x44\x16\x45\xc6\xb5\x5f\x69\x83\x04\x3f\xf6\x72\x13\x8e\x76\x59\x2a\x1e\x79\x49\x06\xa1\x05\xdb\x6d\x3c\xef\x04\x23\x61\xc3\xb8\x8c\x39\x2b\x1b\x5c\xfa\x95\x90\x9b\x16\x5b\x44\x73\x74\xca\x6b\xdc\x1a\x9c\xe2\xc1\x3d\x9d\x97\x3e\x5c\x3f\xd4\x6d\x24\xc9\xf1\xa1\x54\xe1\xec\x04\x30\xf2\x54\xfd\xe5\xce\xd6\x50\xfb\x98\x44\xc9\xe7\x4b\x18\xb6\x1a\x1a\x1e\x31\xff\xd1\x67\x34\xd2\x27\x65\x75\x70\x81\xd9\x24\x6d\xbf\x13\x5b\x62\xdf\x76\x6e\x03\xe1\x3a\xbd\xeb\xd0\x22\xa2\x54\x1e\x0d\x36\x87\xa8\x8a\xa2\x3d\x48\x22\x40\x5b\x95\x44\x0a\x9b\xec\x15\xa1\xe3\x1b\xab\xb2\xa6\x63\x18\x6b\xb2\x7d\x65\xa5\xd5\x8b\xc2\x59\xd9\xa8\xde\x43\x70\x6c\x8a\x73\x1d\x1f\x63\x5c\x7a\x68\xc2\x44\x15\x64\x07\x25\xbd\x67\x88\x89\xae\xd7\xb9\x7a\x51\x26\x4f\x7b\xaa\x47\x4a\x07\xe8\xcc\x2b\x7b\x9e\x28\xe6\xf7\x14\xc1\x85\xd7\xca\x38\x3d\xa7\xf3\xaf\xc2\xb1\x61\x11\x7b\x00\x82\x43\x67\x33\xef\x93\xa0\x0e\x15\x81\x5d\xcb\x52\xd8\xca\xbd\x4b\xc1\xb0\x36\x33\xcc\x45\xa2\xc3\x2a\x06\x8f\x42\x05\x56\x58\x21\x93\x3b\x31\xd3\xa6\x33\xce\x85\xbc\xe8\xea\xba\xdd\xa6\x2d\xa8\x29\xc9\x8a\x72\x7f\xd7\x4c\x33\x15\xc8\x36\x6a\xb8\xee\xbf\x56\xe9\xa8\x09\x41\x83\xaf\x0e\x3a\x83\x11\xef\xa9\xc4\x22\xbb\xca\x8d\xb6\x06\x55\xc9\x89\xd4\xf3\x2c\xd8\xa5\x0a\xd6\xbe\xa0\x90\x68\x8a\xe3\x51\x76\xfc\x11\xb5\xcb\xc0\x4d\x24\x5b\x18\x34\x94\x9d\xca\x7b\x7d\xc4\xb3\x6e\x12\x24\x55\xe5\x44\x8d\xa2\x2a\x0f\xe3\x50\x59\xf5\xff\xbb\x6e\xa2\x51\x23\xa4\x4b\xdf\xa9\x83\xdb\x18\x01\xe5\x9d\x4c\xc0\x56\x46\x36\x1e\xbc\xe6\x7e\x5f\x25\x09\x4f\x32\xe0\x26\xd6\x2e\xfa\x9f\x98\xec\xd1\x9e\x69\xb5\x2f\xb3\xde\xad\x31\x80\xea\x7d\x2c\xa9\xce\xbd\xb4\x85\x38\x63\xe0\xd9\xaa\x43\xa0\x55\xe2\xb1\x86\x63\x18\x14\xa3\xa5\xd0\x0d\xbf\x5e\x29\x8e\xa3\x53\xc5\x0e\x5b\xc6\x72\x89\xf8\x9e\x7b\x87\x90\x4b\x8f\x4c\xab\x37\x82\xac\x58\x7d\x4a\x4b\x5c\xd1\x5a\x50\xd7\x2a\xe1\xe0\xfd\x16\x0e\xcf\x34\x66\x17\x16\x86\x71\x75\x1f\x70\x8a\x9c\x7a\x04\xd7\x50\x32\x6c\x01\x5b\xfd\x14\xb8\xc5\x80\xc3\x83\x77\xfe\xc6\x3d\xf2\xfb\x22\x69\x74\x87\x1e\xbc\x6c\x86\x86\x46\x19\x38\x3f\x8a\x4d\xa5\x07\xb2\xb6\xa3\x97\xaa\xb7\xca\x46\xec\x3b\x97\x71\xd8\x6a\x65\x51\x5c\x63\xd5\x1f\x2e\x4f\xe5\x76\x6f\xb9\x15\x9b\x0b\xfd\xe5\xcb\xbf\x17\x32\xcb\x4a\xaa\xac\x7b\x1a\x99\x75\x03\x35\x87\xd9\x46\xcb\x23\x0d\xbd\x0c\x28\xde\x76\xff\x73\x60\xf1\x90\xf5\xb2\x1d\x2e\x52\xce\x7a\x31\x3c\xc1\x99\x8e\x84\xc8\x23\x7c\xeb\x63\x71\x98\xfe\xb5\xab\xda\x65\xa7\xd8\xed\x48\xec\xd5\xa8\x64\xb0\xbe\x9f\x65\xe1\x32\xee\xba\x05\x49\xb1\xe3\xe3\x73\x64\x90\x94\xa1\xf8\x7d\x90\x07\x4b\xb3\x7e\xc0\x32\x5a\x77\x5f\x27\x93\x82\x61\x1e\x4a\xe8\xe2\x31\x7d\xd9\xbd\xc4\x54\x4f\x07\x07\x1a\x5a\xaf\xf4\x74\x6c\x54\x0f\x27\x77\x4a\x28\xd1\xa5\x8c\x70\x7a\x4c\xf6\x98\xd1\x4d\x68\x96\xe3\xf0\x26\x99\xe1\x62\xa5\x90\x22\xb0\x54\xf4\xeb\xbe\xc9\xcb\xaa\xd3\x87\xd1\xae\x68\xe2\xa9\x46\x5e\xd9\x48\xcb\x29\xa4\x91\x3a\x7a\x96\xd6\x9a\xe3\xd7\x64\xcb\xad\x6e\x6c\x78\x0e\x1f\xea\xb2\x16\xa0\xd9\x5e\x06\x90\x62\xfa\xfb\x75\x45\xce\xd4\x41\x72\x24\x2c\x07\xb4\x51\x2f\x3f\x19\xd6\x69\xa5\x54\xbc\xe4\xb0\x16\x74\x3c\xa2\x05\xd1\xcb\x92\x15\xfb\x23\xad\x34\x61\xcd\x11\x0a\x65\x29\xf3\x4f\x95\x67\xda\x4f\x03\x9f\x2d\x42\xc9\xc2\xc6\x1d\xed\xaf\xd5\x3e\x34\x1b\x26\xae\x4a\x54\x29\x3a\x61\xd9\xc6\xd3\xdf\x5b\x60\x8c\xd1\xfa\x66\x6b\x5d\x3a\xbd\xbc\x3a\x9d\x5e\xd8\xfc\x4f\xd3\xcb\x63\xf8\xd5\xe6\x7a\xc2\xae\x05\xe3\x93\xf3\xd3\x0b\x1b\x62\xfc\xed\x74\x7e\x35\x1b\x9f\x4c\x67\xd8\x60\x14\x5e\x18\x5f\x9c\xfe\xcf\xf1\xf1\xe9\xc3\xbf\x5f\x74\xc0\xbc\x3e\x39\xbd\x9a\xce\x6c\x50\xf9\xd7\x01\xf0\xce\xc7\x17\xe3\x37\x13\x1b\xbc\x37\x93\xf9\x20\x70\x56\x5e\xe9\xb7\x3b\x38\x66\x4d\x9c\x99\xf6\x67\x3f\x4d\xf1\xf6\x48\x29\x77\x5c\x4a\x29\x33\x53\x72\x0c\x17\xbb\x0b\x86\x6a\x4d\xa3\x46\x59\xac\xee\x88\xc2\xa9\xee\x1d\xaf\x7a\xc3\x47\x18\x20\xb8\xe1\xe2\x42\xb6\xa5\xfc\x8d\x2f\x8b\x0f\x75\xdb\xf8\x1d\x51\x56\x2b\x25\x51\xf2\x31\x7f\x66\x83\x3c\x46\x4b\xda\xdc\xeb\x5d\xd8\xcb\x12\x49\xba\x37\x26\x6f\x6b\x04\x1b\x60\xe0\x21\x88\xbe\xc8\x22\x8f\x7b\x88\xb4\xe6\x48\xb8\x11\x64\x91\x5f\xf0\xa4\xcd\x77\x5d\x99\x71\x8b\x0b\x7b\xda\x9f\x47\xe8\xb2\x34\x39\x20\x5a\xe8\xa2\x5f\x01\xc7\x95\xa8\x80\x78\x1d\xcf\x69\xdb\xd3\x11\x5c\xb7\x30\x39\x10\x03\x2e\x52\x3f\xe2\x08\xd3\xa8\x51\x9f\x4b\x47\x77\xe4\x22\x5e\xfa\xac\x99\xdd\xb7\xc4\xe9\xd4\x22\x38\x1d\x43\xe8\xad\xa3\xd0\x89\xf7\xbf\xca\xc1\x70\x50\x20\xd7\xa5\xec\x1e\x97\x0a\x47\x87\x83\xa7\x16\x91\x4e\x01\xb8\x2c\x49\xb0\xcb\x69\x9a\xc4\x64\xc9\xf7\x6f\xd1\xf6\x52\x0b\x6f\x5f\x47\xc2\x1e\xcf\xd8\x3e\x78\xca\x16\xb0\x05\xe0\xa8\xec\xe9\x52\x4f\x34\xed\x4f\xf7\xe2\x07\x62\x12\x79\x56\xc2\x45\x25\xd8\xbe\x7d\xb8\x1d\xd9\x05\xef\x1e\xfe\x6d\x8c\x92\x7e\x7c\x7c\x3c\x99\x4f\x2d\xaf\x4f\x67\x57\xb6\xa2\x29\xd7\x93\xd9\x95\xed\x35\x3f\x0c\xaa\x11\xe3\x36\x20\xad\x0e\xd7\xb5\xbf\xb4\x48\x5b\x0c\x3b\xe0\x12\x2f\xb8\x24\xf0\x5e\xc1\x95\xe7\x30\x86\x9f\x42\xbb\x30\xa8\xa2\xb4\x2c\xe9\xb9\xd3\x4a\x26\xa9\xcf\xd6\x32\x30\x19\xd6\xec\xd0\xc5\x60\x32\x5e\x86\x84\x80\x2f\x41\xa9\x60\x6d\x46\xeb\xd1\xdb\x5a\x9c\x5c\xc6\x61\xdc\x43\x3e\xcf\x38\xdc\xae\x06\x3d\x91\x20\xc7\x7d\x31\x20\xea\x7d\x58\xdc\xa9\x4e\x6b\x2b\x4f\x8b\x95\x9f\x2f\xee\xec\x87\x05\x6e\xc1\x34\xb9\x29\x0f\xeb\xa8\x12\x76\x82\x27\xc6\x22\x09\x81\x7a\x5b\x2d\x2a\x74\x0e\x92\x21\xc7\xa9\x3b\xfd\xbb\x16\xa9\xd5\xdf\x87\xbe\x82\x63\x4b\xf0\x1d\x90\x73\x76\xa6\x6a\x51\x4c\x45\x2e\x30\xb0\xe1\x87\x90\x5d\xac\x4a\xc6\x21\x63\xc8\x23\x56\xca\xbc\x5e\x01\x5e\x23\x89\xea\xf2\x54\x05\x30\x47\xfc\x57\x8a\x44\x22\xe2\x80\x93\x54\x01\x61\x28\x63\x04\xab\xaf\x45\x1d\xa1\xef\x6a\x58\x95\x21\xa9\xd1\x38\x12\x5a\xc1\x47\x9f\x0d\xea\xba\xd1\xf6\x64\x50\x34\x31\xf5\xa5\x3b\x10\x60\xb8\x9e\x06\x08\x3d\xc4\xbc\x95\xf0\x76\xb3\xd5\x8a\x23\x1b\xcd\x0f\xba\xca\xa7\x84\x45\x71\x9a\x0e\xeb\x50\xa4\x58\x55\x1b\x65\x0b\xf5\xd5\xf7\xa8\xa6\x22\x1f\xee\x7c\xc2\x0a\x0c\x3e\xe3\xa4\x12\xa6\x4a\x65\xa1\x44\x4a\xa1\x95\xfd\xd7\x2d\xd4\xce\x04\x9f\x4b\x9c\xb7\x65\x6e\x4d\x89\x91\xa8\xd6\xe7\x39\x46\xbb\x56\x54\x4c\x41\x97\x6f\xe1\xad\x12\x72\x7e\xeb\xdc\x0c\x8b\xbe\x77\x49\x61\x1e\x55\xed\x57\xed\x33\x5b\x04\x8b\x2d\x8f\x52\x06\x8d\x94\x3a\xaf\xca\x8e\xe8\x8a\x18\xe9\x20\xab\x7c\xd4\x88\x40\x29\x3b\xbd\x77\xd9\xad\x40\xae\x21\x2d\x46\x56\x6e\x2b\x30\x53\x25\x57\x06\x2e\xcb\xcd\xd6\x4e\xd1\x9d\x9f\x31\xa0\x7a\x1c\x2b\xee\x03\x0e\x72\xdd\x99\x4a\xbe\x58\x59\x42\x5b\x89\xcd\x84\xa9\x83\xf6\x97\xad\xb0\x3b\x94\x8a\x92\x2a\xcb\xab\x56\x54\x99\x71\x6b\xf2\x6e\x36\x1e\xed\xb4\x3c\x5c\x14\x58\xcb\xdc\xa1\xd2\x88\x54\x69\x08\x08\xe7\xa9\x91\xeb\x04\x35\xbf\xa6\xcf\xb7\x04\x6d\x23\x88\x12\xbe\x16\x77\x49\x92\x95\xf9\x5e\x51\x94\x60\xb3\x0a\x0a\xe8\xc2\xbf\x8f\xbc\x57\x09\x9e\x30\x14\x60\xe0\xa7\x82\x76\xc3\x1a\xb7\x58\x9e\xb3\xcc\xb9\xe1\x3e\xe6\x42\x27\x97\x65\xb2\x99\x01\xda\x89\xac\xa9\xe1\x91\x58\x86\x98\x81\x9b\x03\x48\x06\x07\x1f\x69\x9f\xaa\x4f\x14\x72\xc0\x26\x29\xf9\x15\x45\x97\xa0\xfe\xe1\xaf\x6e\xfc\xac\x4c\xe2\x97\x15\x45\xd0\xbf\xa9\xd2\x2e\xad\x9b\x9a\xc6\xcc\x96\x30\xcf\x5f\xfa\xd6\x94\xec\x77\x85\x88\xee\xe1\x18\x69\x31\x70\x75\x82\x56\xf9\x73\x1c\x62\x8b\xf6\x76\x23\x85\xd1\x9c\x62\xb3\x50\xf3\x20\xfb\x82\x59\x6b\xb9\x92\x9e\x28\x33\x16\x9b\xd7\xfe\x5d\x6c\x10\x5c\x79\xc0\xeb\x8d\x7e\xf6\x74\xfd\x9d\x4e\x38\x5c\x96\x20\x92\x1c\x40\x69\x80\xf5\x0d\x2c\x90\x65\xfd\xfd\xfa\xe5\x4b\xbe\x07\x07\x55\x27\x2a\xca\x59\xd4\xd5\xfa\x5b\x2d\x05\x76\x79\x1d\xd7\x06\xd5\x00\xa4\x65\xf9\x70\x1a\x30\xb1\x4f\x1a\x72\x28\x8e\x72\x07\x2a\x36\xbe\xdc\x21\xc9\xa2\x58\x5b\x83\xaa\x2f\xcb\x12\x4b\x44\x51\xe0\xbd\x7f\x56\xc9\x23\x7f\xff\xac\x66\x5a\xd2\xe9\xa0\xe8\x22\x92\xc9\x05\xf4\xaa\x7d\x3f\x57\x22\xc2\x4b\x8a\x61\x59\x26\xf2\x7a\xdd\x44\xba\x51\xa6\xaa\x32\x66\x02\x93\x0e\xe4\xb8\xad\x7b\x58\x8e\xe6\xcf\x58\xf0\x1d\x06\x23\x8f\x99\x1b\x3c\xf4\x37\x46\x32\x34\x9e\xd6\x1b\xb8\xbf\x7a\xd3\xf9\x4b\x5b\xde\xed\x44\x2f\xaa\x2c\x01\xfc\x94\x71\x54\x1e\x2b\xca\xb7\x41\xa0\x2b\x75\x83\xca\x13\xbc\x5e\x1a\xeb\xa5\x25\x29\xf7\xb2\x7d\x06\x2b\xf9\xc1\x45\x1c\xaa\x92\x1f\x1d\x8c\xb6\xac\x05\x76\xcd\xc0\x66\xd6\xa5\x3f\xaa\x89\xc4\xdd\xec\xac\x43\xbb\x87\x2f\xde\xc1\xf5\x31\xc4\xf2\xa8\x55\x2a\x77\xa0\xb1\x06\x95\x28\x1e\x48\xae\x2c\x57\x42\x32\xb3\x2f\xc9\x57\xf6\x30\xa8\x5c\xa5\xac\x19\xbe\x04\xb9\x55\x91\xee\x43\x53\x4a\x40\x6a\xb0\xa5\xf4\xe8\xc4\xae\x47\xdb\x89\x48\x31\xf2\x16\x33\x05\xe4\xfa\x86\x35\xe7\x2f\xe3\x04\xab\x97\x92\xde\x94\xe5\x81\xbd\xfc\xc7\x29\x68\xc5\xe1\x2a\xe4\x84\x60\x7c\xef\xe1\x17\x7c\x91\xdd\x72\xbc\xbe\x8b\x40\x86\xfe\xcb\x92\x51\x99\x4f\x55\xfe\x49\x8a\xc0\xc9\x69\xd3\x15\x88\x2c\x2c\x5e\x0b\x8c\x24\x3b\xf0\xad\x0c\xb0\xc5\x63\xb4\x76\x3d\xac\xdd\x06\x7d\x5d\x55\x46\x5f\x18\x65\x56\xb9\xb2\xa6\x24\x7c\x3a\x9e\x4c\xc6\x1e\xa8\xf4\x20\x11\xad\x07\x82\x1a\x1f\x6a\x3b\x48\x47\xb5\x86\x1d\x55\xe9\xab\x5e\xcd\x6a\x17\x45\xf3\x22\x49\xd1\x8e\x0f\x3f\xdf\x4a\xfe\xd4\xab\x3c\xc8\xa2\x0e\xb2\x4c\x93\xd4\x31\xe0\x74\x07\x65\x92\x73\x6d\x6f\x13\xac\x65\x02\x44\x77\xb1\x0c\xc7\x75\xcf\x0b\xbe\x6f\x4c\x68\xb8\xc4\x27\xed\x1a\x06\xdc\x78\x22\x81\x15\x46\x56\xa0\x63\x00\xdf\x82\xe4\x53\x1c\x25\x3e\x7a\x4c\xa5\xf0\x43\x3d\x43\xac\x8c\x9b\xb7\x55\xf0\x71\xc1\x01\x18\x4f\x50\x2c\x64\x95\xbf\x35\xc3\xf7\xf1\xd6\x29\x30\x9f\x4e\xa6\x96\x6b\xe9\x27\x32\x58\xc3\x4b\xb2\x94\xd6\x73\xf7\x95\x19\xd2\x2a\xfd\xd2\x84\x13\x03\xf8\x72\x86\x62\x1b\xf4\x5f\x72\xc8\xc3\x3b\x7f\x97\x61\x99\xee\x50\x65\x4f\x76\x88\x15\x02\x83\x01\x3b\xd2\x4e\xc9\xdb\x2c\x91\xea\x19\xea\x83\x0c\x8d\x87\x47\x8b\x1b\xe5\x8a\x9d\xa3\x54\xdf\xb8\xad\xd8\x71\x19\x3a\x5e\x96\x12\xe7\x7a\x48\x5c\xaf\x98\xfd\x20\xa0\x4a\xc6\x4b\xcc\xac\x2c\xd6\x98\xe9\x89\xa1\xb7\x52\x11\xa4\x59\x82\xa7\xb8\x3e\x70\x8e\x27\x13\xaa\x9b\xfd\x41\xb8\x65\x38\x41\xc4\xdd\x37\x42\x81\xce\xf4\x36\x12\xa5\xe2\xab\x2d\x04\x54\x44\x09\x58\x53\xc4\x32\x30\x95\x8c\x54\xac\x21\x64\xa8\x35\x72\xca\xed\x04\x26\xf7\xe1\xe7\x58\x60\x41\x48\x8c\xc0\x7a\xf8\x09\x76\x08\x77\x86\x8a\x31\x2d\xca\x26\x7a\x59\xb5\xb5\x36\x8c\x81\x9f\x85\xb0\xc6\xfc\x5d\x16\xa9\x8c\x36\xe0\xdb\xa0\x51\x2c\x5e\x66\x25\x58\x0b\x07\x9d\x88\x75\x91\xca\xca\x41\x65\xe8\x51\xf3\x6d\x57\xbc\x95\x6b\xf6\x50\xb4\x8d\x97\x2d\x58\xb3\x3b\xec\xb0\x23\x5b\x16\x62\x30\x17\x76\xb4\x51\x31\xd9\x94\xb2\xc9\xba\x8f\x2c\x3a\x67\x5b\xf3\xf1\x7d\x28\xeb\x48\xc4\x94\xf7\xc6\x16\x31\x38\xe3\xb1\xc5\x0d\x2c\xff\x54\xc5\xc0\xe3\x2a\x97\x42\x6c\xad\xba\x8f\x58\xb5\x53\xa6\x0e\xeb\x29\x45\x6c\x64\x7b\x4e\x59\xcb\x40\x26\xfe\xcb\x72\x5e\x2d\x7b\x5b\xfa\xac\x24\x0d\x37\xdf\x1a\xe1\x29\xdc\xa0\x30\x81\x10\xf5\x9e\x23\x3d\x44\x29\xca\x96\x72\x8d\x5a\x72\x69\x89\xa4\x55\x11\xe5\xe1\x9a\x49\xca\x38\x91\xda\xef\xb3\x98\xd5\xc9\x20\x73\xb3\xac\x03\xcd\x2c\xe9\x35\xa1\x51\xbf\x65\x9b\x8d\x99\x7e\x6b\x7f\x8d\x9a\x9b\x9c\x50\xbc\x06\xdd\x67\x60\x75\xd0\x77\x43\xbc\xb5\x67\xbe\x8c\xf8\xa8\x58\x99\x09\x72\x0d\x9c\x56\x96\xbb\xa8\xc1\x85\x45\xf1\x50\x2a\x05\x0b\x56\x20\xa8\x6c\x2a\x37\x1d\x03\xa3\x9f\x8b\xef\x55\xb5\x59\x8a\xc6\x48\xa8\x06\x3e\xfa\xac\x80\xfb\x7c\xa0\x13\x04\x72\x0a\xc0\x61\xad\x9c\x73\x54\xfe\xd2\x5a\x4d\x80\xb0\xcb\x33\x93\x7a\x43\x70\xb4\x15\x1a\xfb\x1a\xf7\x51\x38\x35\x42\xac\xb6\x43\xe5\x6e\x60\xa5\xa0\x1c\x42\x9a\x32\xc5\x02\x19\xf1\x21\x59\x22\x5d\x76\x4c\xa0\x94\x8b\x0c\xbd\xc9\xb3\x8a\x47\xcf\xb7\xac\x35\x27\x56\x75\x45\xbf\xf1\x68\x49\xbb\xd3\xc3\x2c\x6f\xe2\x95\xe1\xd9\x96\x5c\xdb\x0c\x3b\x5d\x4e\xcf\x2c\xcb\xa3\xe7\x42\x3a\x9b\xfc\xe1\x7a\x32\xbf\xb2\xb9\xb0\xe7\xd3\xb3\xd3\xe3\xd3\xab\xeb\x13\x8b\xfb\x7a\x36\xc1\x3e\x8e\x93\x93\x0f\xb3\xe9\xf5\xd5\xe4\x03\xfa\xee\x6c\xf1\x19\x56\x00\x97\xd3\x8b\xb9\x35\xff\x1b\x7f\x47\x02\xc7\x36\x02\xa6\x67\x93\xf9\x4b\x6b\x05\x7d\xfd\xb3\xe5\x65\x20\xda\x46\xef\xec\xfa\x6a\x6c\x09\x23\x91\x83\xb5\xfb\x39\x8d\x07\xda\x01\xc0\x0a\x38\xa4\x82\x56\x65\x62\x24\xee\xc1\x30\xbe\x4d\x48\x2f\xc0\xeb\x70\xda\xd1\x19\x60\x5c\x96\xc1\x7c\xf8\x05\x8e\x68\x6c\x38\x50\xe0\xb2\xe3\xa8\x5c\x6a\x64\x69\xee\x82\x7a\x62\x0a\x66\x9e\xf2\x63\x22\xb3\x72\x47\xf8\x78\xad\x0b\x04\xfa\x9b\x01\xc2\x1a\x0e\x29\xcc\x1a\xa7\x08\xfd\x7f\x64\xb5\x63\xb5\xb6\x37\x8f\xf9\x3f\xff\xfb\x44\x64\x82\x13\x83\xd8\x0d\x0d\xda\x90\xd2\x69\x55\x35\xe4\xbb\xe2\xe1\xa7\xf4\xd6\x8f\xfd\x2a\x44\x07\x82\xa4\xc1\xfd\x3c\x81\xcf\xdc\x83\x49\x7f\x54\x82\x16\x9b\x49\x80\xee\xbc\x41\x43\xdb\x12\x77\x75\xb2\x08\xcb\x5a\x1c\x61\xfe\x8f\xc3\x29\x07\xbd\xaa\x1b\xe9\x86\x72\x7b\x81\xc1\x80\x0f\xd1\xb1\x9e\xe9\x3d\xfc\x14\xfd\xe3\x5e\x46\xf5\x08\x34\x77\x13\x26\x2d\xf2\x2d\x51\xdd\x95\x56\x29\x5c\x84\x62\x2d\x8d\xfe\xd3\x28\x68\x9a\xe5\x73\x52\x94\x2e\xc4\xa7\xc6\x4f\xff\xf8\xbe\xf8\xf2\xcb\xdf\xda\xc4\x6a\x73\x68\x6c\xbb\xef\x25\x09\x6e\x26\xbc\xfc\x9b\x4e\x83\x56\x02\xfd\x3e\xfa\xba\xf8\x04\x4a\xe1\xb2\x59\x9c\xa3\xa9\x91\x32\xa3\x8e\xa3\x04\xae\xdc\xaf\xf1\x2e\x91\x6e\xdc\xe7\x34\x20\xdd\x33\xed\x8c\xbd\xaf\xa1\x63\x26\xd4\xf0\xb9\x0f\x44\xc5\xe4\x37\x9d\x5b\x7b\x1a\x47\x33\x64\xbf\x89\x6a\xc8\x18\x16\x22\xbc\x27\xa7\x43\xd9\x8b\x73\xa1\x5a\x6a\xe6\xb2\xc8\x64\xe7\xe5\x17\xcf\xe9\x1b\x79\xf7\x5d\xd8\x9b\x71\x32\x4d\x56\x2a\x0a\xb8\xb2\xdf\x0b\x60\xa7\xbc\xf0\x95\x75\xb4\xb9\x2f\x4c\x88\xad\xc0\xa9\xf7\x62\xd6\xc2\x49\x6a\x7f\x75\x83\xf7\x45\xa5\x78\xaf\x7c\x2a\x2f\x2a\xcd\x3f\x7c\x55\xa8\xe5\xd9\x58\xef\xc7\xf2\xce\x9e\x4a\xaa\x64\x01\xc1\xa2\x4c\x61\x00\xa9\xc5\x4d\x15\x41\x20\x87\xdf\x29\x6f\x01\xe1\x47\x47\x80\xea\x5e\x52\x25\x31\x0b\x75\xca\x6d\x5a\x9a\x91\x84\x6c\xde\x58\x2d\xa6\xd8\x9b\x90\xd1\xc9\xb1\xb2\xa2\xe5\xaf\x86\x75\xb6\xfd\xf7\x2b\x60\xa4\x64\x5e\xbd\x81\x82\x2d\xda\x42\x8f\xb1\x56\xbd\x45\xdb\xea\x2d\xf1\xce\x1a\x91\x2c\xc3\x8f\xed\x74\x69\x36\xb8\x2e\xa9\x0b\xb6\x24\x62\xad\x5e\x17\xd2\x84\x2f\x3b\xc3\xda\x35\xce\x22\x95\x3d\x57\x24\xca\xb8\xeb\xae\x5c\xa2\x94\x66\x56\xc0\x74\x3d\x3b\x2b\xad\x7b\x96\xd8\x0c\x85\x8d\xda\x0f\x19\x05\x10\xd8\x25\x07\x4b\xaa\x0f\xa1\xbc\xf7\x2c\xc8\x9d\x69\x76\xc9\xa1\x62\x05\x19\xdb\xaa\x44\xa6\x43\x53\xc2\x6e\x3a\xe2\x4a\x86\x81\xcb\x68\x5b\x12\x1d\xfa\x50\xa0\x1a\xba\xfd\x5c\x36\xea\x4b\x38\xcd\x68\x3d\xf5\x05\x0f\x80\x77\x7e\x6a\x9e\x33\xf5\x64\x7a\xbc\x8f\x26\xf5\x78\xdf\x17\x72\x2d\xe2\xf9\x81\x7f\xa8\x63\x3d\xc3\x6f\x8e\x39\xaa\xe4\x1a\xc6\xd3\x65\xdd\x91\x83\x8a\xf9\x3e\xd9\x96\x29\x52\x21\x4e\x47\x15\x55\xa9\x6b\xeb\xbb\x50\x23\x55\x2d\xfb\x1a\xb1\x74\xa7\x6d\x23\xb7\x9b\x7d\x69\xa5\x9b\x35\xf3\x8c\x8a\x82\x63\x27\x39\x5a\xaf\x0c\xc9\xe0\x1b\x7f\x0d\x24\x55\x39\xc7\x5f\x13\x49\x3b\xf0\x0e\x23\x4e\x93\xc8\xa0\x28\x30\x8a\x05\xd7\x69\xb2\x70\xab\x4a\xa0\xc1\xaf\x2a\x89\x9f\x87\x63\xbf\x16\xc6\x6c\x3d\xfa\x82\x75\x7a\xea\x25\xbe\xaf\x3d\x86\xd8\xe3\x1e\xf3\x69\x75\x83\x91\x3c\xd6\x64\x3c\xda\x6e\xaa\x12\x36\x84\x35\x4e\x03\xa9\x8c\xa2\x03\x03\xf9\xfd\xfd\xb2\x8e\x8a\x35\xa4\x8d\x3c\xdd\x32\x8d\xa9\xbd\xdc\x6c\x0f\x0a\x27\xf5\xa6\x82\x67\xb0\x9e\x51\xc3\xd4\xd3\x1e\xc6\xc4\x35\xa8\x2b\x4c\x89\xa8\xc3\xf2\x56\x19\x49\x67\x82\xa8\x02\xd7\xa5\x31\x54\x69\xed\xd0\x0f\x14\x28\x7b\x43\x9e\x2a\x28\x87\x1e\x4b\x04\x54\x1a\xff\xab\xbb\x40\x5f\x9f\x1f\x73\x77\x2a\x7a\xe5\xf6\x6c\xdb\x8a\x15\x22\x9e\x68\x6b\x4a\x9e\x94\x15\x9e\xf9\x0a\xff\x4a\x7d\xae\xb3\xa8\xf6\x83\xdb\x78\x3b\xba\x7b\xb4\xa3\xf3\xed\xd8\xba\xc7\xd1\x98\xb7\xfa\xdc\x6e\x3d\x61\x1d\x33\xe1\x57\x51\x6c\xc3\xff\xaa\x54\x91\x5c\x71\x1c\x82\xdb\x04\x58\xa5\x50\x15\x59\xef\x58\x1c\x07\xd2\xb0\x34\xd4\x6d\x54\x8f\xac\x6d\xd6\x46\x6f\xb7\x80\xf8\xad\x64\x3d\x9d\x9a\xa9\xf8\xa6\x46\x8c\xf6\x33\x03\x5c\xc9\x36\xe3\xcb\x36\xa6\xed\xc2\x1d\x63\x28\x35\xf4\x7e\x0b\xf6\x5e\xde\x0c\x65\xc1\x3a\x71\x0b\x77\x34\x2e\xd1\x76\x50\x58\xfd\x59\xc5\xbd\xcf\xe7\x6f\x39\xf8\x2f\x4a\x3e\x71\xb8\x6c\x5f\x91\x05\xb6\x49\x61\x24\x3b\x07\x07\x94\x81\xb0\x70\xfc\x21\x38\x0e\x79\xe9\x39\x08\x5b\xa9\xe0\xee\xcb\x01\x06\xdf\xd4\x0a\x92\xcb\xc0\x54\x91\xf6\x1d\xf5\x26\x7d\x1c\x64\xa0\x4a\x26\x92\x15\xed\xad\x6a\x9b\x59\x51\x02\x38\x1c\x07\xe3\x04\xbc\x5a\x4d\x3d\x3b\xf9\x6c\xd7\xb0\xc6\xb2\xcc\xca\x89\xb0\xc5\x9f\xcc\x64\x34\xd5\x3a\x13\x45\x90\x1c\xe6\xf9\x86\xa6\xa1\x33\xd0\x76\x2e\x23\x02\xd3\x8a\xb7\xb1\x84\x60\xc3\x24\x2b\x7f\xcf\x48\xbd\xbc\x1c\x5c\x6c\x7c\x86\xde\xcf\x65\x8f\xe6\xf2\x2e\x89\xee\x29\x93\x42\x65\x51\x85\xbd\x3a\x8c\xca\xf9\x7a\xb2\x1b\x36\xd2\x18\x0a\xdc\xd3\x15\x32\x3f\xef\x35\x9a\x13\x33\x7b\xb4\x42\x15\xf3\xdd\xcf\xd1\x94\xe2\x37\xda\x9c\x00\x58\x87\xf4\xb6\xb2\xaf\x2a\x23\x76\x3e\x35\x99\x16\x79\xea\x97\x3b\xa9\x8a\xa9\x99\xeb\x59\x41\xe6\x7e\x6c\xe6\x69\x28\xd8\x3e\x14\xc6\x41\x78\x1f\x06\xd8\x7a\x58\x45\x3c\x51\x27\x38\x72\xa9\x01\xe2\xbc\xb0\x2d\x6b\x34\xf1\xae\x85\x52\x85\xb3\x44\x87\x66\xd1\xf6\xaf\x37\x64\x47\xa7\x19\xc9\xfc\xdc\xea\x2c\x37\xc8\x0a\x28\x06\x37\xf2\x39\x30\x73\x3a\xd6\x0d\xff\x74\x4c\xa8\xee\xc9\x8c\x79\x16\xd6\xbd\x5d\xd2\x48\xbd\x86\x0a\x69\x94\x2d\x49\x65\xd0\x2a\x72\x54\x46\xfe\x77\xf6\x69\xb5\x52\xc9\x1d\xed\x61\x25\x1c\x64\xde\xb2\x08\x03\xec\x1c\x85\x25\x6c\x49\x1a\xdf\x09\x3f\xc2\x30\x17\x2c\x73\x48\x4c\xc5\x28\xcb\x75\x51\xc6\xb8\x52\x63\x96\x8c\x02\xcc\x52\x81\x69\x16\xf6\x43\xb4\x75\x48\xc0\x5b\x44\xda\x96\x0e\x5c\x96\x7b\xc4\x6e\x56\xf3\xd2\x93\x08\x92\x9c\x9c\x9b\x82\x3b\x6b\x71\x8a\x5d\x19\x7f\x21\x23\x34\x02\xb3\x60\xe5\xda\xba\xe3\x3a\xb9\x02\x5b\xbe\x8d\x2b\x35\x1e\x90\xcb\x7c\x6f\x3c\xa8\xdb\x2e\x75\xb8\x48\x9d\x09\xb1\xc9\x80\x4a\xdf\x61\xc9\x89\x4c\x33\xc0\xa5\x7a\x5f\x0f\x2b\xa4\xaa\xea\xc0\x0e\x7d\x13\xdf\x0b\x4b\x0c\x6d\xb4\x9a\x0f\xdf\xcd\x0e\x74\xed\x73\xf0\x70\xd6\x48\x67\xdb\x89\x01\x87\x1f\xc5\xe6\xc9\x99\xd0\x56\xf6\xed\xf3\x32\x03\xcf\x38\x17\x36\xd0\x31\xbd\xaf\x95\xa0\x0e\xd9\x21\x63\xb7\xef\x8b\x12\xe0\x96\x3c\xc0\xc6\xe9\x9a\x07\x76\x16\xa8\xfe\xea\x7b\x92\x0f\xd4\x29\xbd\x22\x16\xb6\x95\x0a\x08\xa9\x6f\xe8\x3a\x9c\xde\x38\x64\x33\xf3\x94\xc5\x1f\x85\xbf\xe0\x1c\xbc\x43\xce\x6c\xe1\x67\x7b\x07\x19\x19\x51\xf2\x66\xcb\xdb\xee\x43\x98\x9f\xc0\xb0\xbb\xea\x63\x12\x16\x0d\x8e\xa1\xf9\x69\x66\x8d\x95\x90\xc3\x6b\xcb\x0d\xdf\xba\x8a\x42\x39\xb2\x46\x02\x78\x6f\xb9\x81\xbe\xb2\x09\x9d\x14\x6f\x5d\x2f\x61\x6b\x8a\xcb\xd6\xcb\x0e\xe4\xa6\x45\x64\x34\xb1\x67\xe9\x58\xad\x35\x5a\x8f\x89\xd2\xa2\xc3\x61\x0d\x51\x03\xd8\xa8\xd9\xd1\xbe\xad\x1e\xa9\x8a\x85\x92\x4b\x0a\x73\x9d\x7b\x2e\xa7\x34\x0c\x32\x39\xe8\xd5\x8e\x83\xc0\xc5\x8e\x55\xcd\xe4\x52\xcf\x06\x59\xca\x98\x76\x6d\x4d\x50\x8b\xba\xac\x9c\xdf\xd8\x00\x72\x3d\x07\x7e\x36\xcc\x5e\xd6\x42\x3d\xbc\xfa\x9a\x89\x7e\x0d\x63\x18\x68\xe3\xb3\x50\xde\x80\xb9\x1d\x91\xdb\x6d\xc6\xed\x07\x30\x64\xc1\x57\x2a\x9b\xec\x71\x7c\xfd\x5b\xf7\x69\xc6\x67\xf4\x52\x1f\x32\x38\xe5\xa3\x7a\x9b\x64\xb9\xb4\x3a\xc3\xa7\x13\xaa\x6b\x2f\x6f\x77\xf0\x79\xc2\xf1\xfe\x8b\x8e\x8b\xa4\xf4\x5c\xb9\xc3\xd9\x96\x9e\x17\x7f\x51\x6d\x11\xf6\x45\x99\x1d\x62\x37\x8d\xf4\x07\xbc\xf4\xc9\xe7\xb0\xea\x1b\xca\xe8\xc9\x9b\x15\x09\x5a\x02\x0c\xb1\x4b\x46\x3b\xbd\x67\xa5\x33\x53\x21\xe0\x24\x1b\xff\x06\xb3\x77\x22\x9f\x4a\x68\x0c\x2a\x9b\x6b\x6d\xc9\x31\xab\x7a\x6f\x5d\x33\x0a\xaa\xce\xd6\x9e\xc4\x81\x1a\x0e\x23\x3b\x79\x08\xbf\xe4\xcc\x0d\xa1\x89\x2c\x86\xdb\x31\x4c\x61\xb3\x0f\x48\x56\x32\xd7\xb3\x94\xbe\xc1\x8f\x34\x57\xf9\xe0\x4a\xc0\xe6\xe6\xae\x94\x37\x6f\x80\xef\xa0\xc8\x6a\x2e\xc1\xf8\xe8\xae\xf7\xa4\xa2\x0b\x13\x23\xdb\xc3\x52\xcb\xeb\x9b\xb2\x3c\x19\x59\x71\xa3\x8d\xca\xa3\x2c\x3b\x7b\x99\x35\xdd\xad\x33\xa3\x22\xb4\x55\xaf\x15\xa1\x7b\xc9\x66\x46\x05\x34\x52\x7c\xb9\x55\x72\xdc\xc1\x8f\xfe\x0e\x5f\x33\xd4\x55\xac\xe2\x15\xf5\x0c\xdb\x7b\x7c\x4e\x4d\x0c\x39\xfe\x4e\xc9\x71\xe2\xbe\xbd\x8f\x7d\x79\xae\x04\xc2\x50\x5b\xda\xe4\xb4\x25\xfd\x60\x3e\x39\xbe\x9e\x9d\x5e\x7d\xe3\xbd\x99\x4d\xaf\x2f\x2d\x78\xde\xcc\xae\x2f\xa7\x58\xf6\x6c\x3e\x79\x03\x4f\x9f\x8c\x4f\x6c\xc0\x66\xef\x4e\x8f\x27\xc3\x6a\x7a\xf2\x4b\xa7\x96\xaa\x68\x12\xa4\x2d\xc7\x41\xbd\x6c\xc9\x73\x90\x6f\xf7\xb6\xc9\x6b\x3e\xd7\x0e\xee\x72\x7c\x6c\xeb\xd5\x37\xc1\x1f\xad\xa3\xc0\x17\x07\xb1\xe5\xcc\x73\x01\xe8\x5a\xe7\xd4\x01\xd6\xc9\xe4\xdd\xe4\x6c\x7a\x69\xad\x72\x7a\x32\x99\x8f\x67\xb3\xe9\xd9\x99\x9a\x37\x07\x98\xae\x75\x53\xfb\x41\xd9\x26\x4e\xbe\x69\x9b\xaf\xf9\x5b\x99\x91\xb8\x95\x1b\x08\x5f\x27\xe1\x51\xf7\xf5\x44\x35\x67\x4f\xd5\xfe\x68\xa1\xe5\x6a\x7c\x6c\x2b\xb0\xcb\xbf\xb5\xbf\xb6\x80\xab\xfc\x53\x3a\x37\x26\x19\x60\xec\x8a\x9e\x78\x12\x7f\xc6\x5c\x5d\xf3\xba\x05\xe0\x9b\xe6\x4d\xcd\x26\xe7\xaa\xb5\xc0\x81\x10\x75\x93\xfc\xb0\x94\x07\xa8\x6b\x09\x95\x96\x82\xe0\x6d\xe0\x7a\xf2\xd6\x1c\x08\x82\xef\x44\x9a\x26\xe9\x87\x55\x4f\x0f\x56\x77\xa2\x5a\x40\x5a\xa8\xc3\x84\x2c\x1d\x1b\xfd\x9c\x6b\x8a\x66\xe8\x5d\xc5\x83\x17\x55\xa7\x8f\xe1\xfa\x0b\x6b\xd6\x1d\xbe\xae\x1b\xdd\xab\x15\xf1\x3c\xf1\xd6\x45\x04\x87\xef\x29\x55\xf4\xa1\xad\x95\x50\x49\xa4\x2f\xac\xb3\xc6\x64\xf0\x5a\xdf\x89\x8a\xfa\xaa\xdd\x86\x18\xea\x35\x4c\xfc\x1b\xf1\x3f\xb0\xaa\x03\xf1\xd2\xfb\xea\xcb\x2f\xbf\x1e\x79\x2b\xd5\x35\x57\x16\x2c\xc3\x76\x72\x46\x68\xf9\x8d\x58\xf8\x05\x57\x9e\xd1\xb5\x86\xd7\x46\x31\x55\x7b\x08\xd6\x84\x50\x99\x1d\x83\x47\xde\xe2\xe1\x97\x20\x5c\xb2\x01\x08\x7f\x2e\x89\x90\xed\x78\x2f\x8c\x42\x67\x9c\x88\x9b\xaa\xd0\x4d\x23\x64\x7d\x9d\xa4\xb2\xd7\xb1\x8a\xe0\x84\x65\x4b\xc9\x77\x44\x9b\x68\xf3\x2c\xb8\x70\x47\x5a\x0d\x98\x3d\xbf\xfb\xf2\xb7\x0d\x7e\xe1\x57\x9a\x61\xd8\x6d\x51\x95\xe0\xf2\x8b\xfc\x2e\x49\xc3\x1f\xb8\x5c\xc9\x5a\x56\xdf\xa3\x0b\xbd\x2e\x8c\xc3\xcd\x1a\xb7\xe4\x16\xd9\x1e\x24\x51\xad\x5c\x64\xd2\x4a\x36\xb2\x3e\x0f\x74\x21\x59\xda\x39\xa4\xf3\x1d\x22\xdd\x61\xb1\x2c\xb5\x63\x29\xe0\xd4\xcd\xa3\x97\xde\x98\x73\x29\x51\x21\x86\xdb\x37\xd6\x5c\x20\xd6\x50\xe5\x9e\x9c\xeb\xf1\xaf\xd3\xf0\x3e\x8c\x84\xcc\xb5\x17\xdf\x63\x11\x0f\xc1\x4a\x74\x5f\x65\x32\x67\xbe\x48\x42\xa8\xf4\x96\x58\xb2\x9d\xfc\x42\x95\x0e\x52\x04\x84\xda\x18\xce\x85\x44\x52\x59\x84\xb0\xb3\x4c\x59\x07\x03\xf0\x02\x9c\xa6\x73\xfa\xea\x18\xbe\xf9\xf1\xc7\xea\x9a\xe1\xdf\xc7\x97\xa7\x34\x0e\xf5\xc4\xca\xe8\x54\x0d\x3f\x54\xb2\xe7\x76\xe3\x43\x1b\x3d\xcd\xe5\x62\xa3\xaa\xec\x89\xdd\xa0\xca\xca\x18\xbc\x88\x92\x73\xf6\x8a\xfc\xbe\xf0\xee\x99\x7f\x23\x22\x96\xda\xaa\x46\x45\xe3\x9c\xea\xb8\x99\x96\xce\x69\x5c\xbc\x2b\xf8\xe9\x07\xa3\xe6\x98\x79\x0b\x6d\x47\xd4\x57\x39\x5c\x11\xfd\x4a\x07\xd3\xb5\xe6\x7b\x77\x54\x53\xea\x0c\x96\xab\xe7\x7f\xf7\x50\xa1\xae\xd0\x4a\xb6\x92\x9c\x55\x9d\x37\xec\x4c\x6a\xbf\x99\xeb\xea\x22\x66\x57\x0d\xdf\xa9\x73\xc5\xbc\x3f\x81\x72\x9b\xab\xba\x7b\xc2\xa4\x3b\x59\xad\xc6\x07\xf7\xf5\x35\xcc\xa8\xe1\x3c\x91\x8a\xc2\x97\x8d\x20\xc2\xae\x72\x7a\x75\x3a\x5a\xde\xee\xc4\x6a\xeb\x5a\xd5\x52\x29\x75\x1f\x56\x23\xb7\x36\x55\xb5\xc2\xaa\xfb\x32\x24\xcd\xeb\xa9\xb1\xd5\x41\xbe\x8f\xaf\x4e\x2f\x5f\x7a\xa7\xb7\x58\x65\x8e\x0e\xe6\x3c\xdd\x90\x19\x3a\x91\xb9\xb5\xbe\x77\xff\x55\x23\xc1\x76\x44\x8f\x53\xd7\x64\x54\x7d\xf0\xc8\x3e\x5c\x93\xbf\xa3\xab\x71\x41\x33\x79\x56\x0f\xfa\x7d\x7c\x8c\x95\x15\xfe\x69\xfa\xd2\x9b\xab\x40\xbc\x90\x8c\xe0\x74\x3f\x51\x29\xb8\xed\x6d\xb3\xc8\x0e\xf2\xd5\x88\x6b\x76\x18\x9d\x76\xcb\x48\x98\x43\x5b\x68\x47\x83\x3d\x5b\xee\x57\xd7\x5e\x5e\x73\x5b\x2c\xaf\xb3\x1c\xb5\x87\xdd\x3a\x6e\x3a\x73\xb7\xb8\x1c\xa2\xf3\x96\x5d\xe6\x7e\xcc\xd9\xcc\x64\x0a\xaa\xc5\x52\xa6\xde\xb6\xeb\xfb\xf2\x75\xab\x02\x9f\xd7\x73\x10\xd9\xb7\xd8\x99\x7c\x69\x36\x69\x6e\xcf\xa7\xd3\x36\x02\x6b\x48\x1d\x62\x56\xe5\x66\x30\x38\x33\x12\x47\xb8\xbd\xce\xa6\xc7\xe3\xb3\x09\x1e\x58\x07\xc7\x67\x93\xf1\xec\x60\x84\xf7\x9b\xfb\x30\x29\x32\xf9\x18\xeb\x82\x58\x58\xc1\xae\xd7\x95\x04\x1a\x4d\x10\xe8\xf5\x46\xb8\x03\x6c\xa3\xc9\xc5\xd5\x74\x76\x31\x65\xdc\x72\x53\x1d\xbc\x9a\xce\xd0\xf0\x04\xf8\xb3\x4a\xb0\x54\x03\x20\x96\xe4\x85\x93\x2f\xb5\xae\xa6\x5c\x06\x7e\x7d\xa0\x32\xd9\x1f\xf2\xcd\x5a\x86\xd7\xa1\xb6\xca\xa5\x78\x0f\x30\x6c\xf7\x00\x6b\x32\x1d\xc4\x70\x37\xb3\xf5\x8e\xab\x8e\x2b\xa0\x8a\x52\x58\x87\xb2\x05\x01\xf6\xac\x96\x40\x15\x4c\x2b\x79\x80\xf6\x3e\x14\x9f\xca\xb2\xb4\x21\xe6\xe2\xf6\xd3\x90\x60\x11\x3b\x95\x75\x8b\x65\x06\xfb\x0a\xcc\x56\x90\xdd\x95\xed\xe9\x2a\x0d\x73\x5d\xf1\x1a\x21\x2c\xed\x6d\xd0\xfb\x48\x91\xe5\xb8\xcc\x24\x60\x92\x16\x13\xf9\xb1\xdb\x24\x24\x5b\x7b\x51\xcc\x6b\xd1\xe8\x72\x2e\x8b\x2e\x36\xa0\x75\xd2\x52\xd9\x85\x58\x03\x4e\xa7\xa4\x52\x4f\x2f\xf9\xcd\x3b\x3f\x2a\x04\x17\xad\x6b\xf6\xa3\x7e\x44\x1b\x58\x75\xc0\xed\xdb\xbe\x46\xb4\xdf\xa0\xd9\x08\x22\xfc\x5c\x56\x34\xe6\xf5\x9f\xdb\xea\x2a\xc9\x8a\x3d\x2d\xc9\x0d\x4e\x49\x90\x15\x16\xd9\x4a\x7b\x39\xa7\x30\x38\x78\x8c\xd5\x60\xf6\x12\x90\x50\x25\x7f\x6f\x21\x09\x8a\xc6\x47\x8f\x47\x68\xd0\xbf\x75\xd0\xd0\xbe\x86\xb7\xd7\x70\x84\x9d\x86\xb7\x5d\x40\xc2\xfc\x0e\x15\x5d\x9f\xec\x1b\x3e\xfb\x0a\xd9\x25\x49\x41\xcc\x1d\xd6\xb9\xe3\x64\x45\x15\xe9\x29\x73\x53\x79\x18\x09\x8a\xac\x9c\xe4\x98\x37\x89\x04\xb0\x2e\x4e\x88\xeb\x41\x0c\xb2\x8e\xe1\xd6\x1b\x56\x91\xa9\x38\xaa\x28\xad\xe3\x41\x8a\xf7\xb7\x67\xef\x92\x4f\x65\x3d\xc6\x6a\xec\x96\x85\xce\xf3\x24\xcb\x65\x1a\x2c\x15\x5c\x4c\x5a\x4c\xdb\x5d\xc8\xa2\xa8\xd6\xc6\xb2\x57\xc3\x53\x18\xcb\x28\xaa\xd6\x65\xe5\xa0\xe5\x21\x01\x77\x22\xea\x43\xe4\x6f\x0a\xab\x85\x10\x41\xc8\xf2\x67\xe4\xac\x22\xea\x65\x24\xe8\x73\xbf\x0c\x09\xa5\x8a\x80\x87\x98\x4e\x9a\x73\xf5\x61\x6e\x35\x3a\x82\x97\x55\x11\x44\x5c\xb5\x5c\xbc\x1b\xa5\xa6\xfc\x99\xfb\xff\xc1\x4f\x69\x41\x3c\xc9\x6c\x85\x0f\x15\xb1\x95\x5a\x6c\x9a\x07\x14\x4a\xfa\x5c\xff\x05\x9c\xc2\x62\x3c\xb2\x64\xb8\x59\xba\x18\xa8\xd4\xae\xf6\x20\x91\xe4\x6d\x94\x22\xd1\x28\x32\x3e\xa2\x92\x23\xb2\x3d\x87\x32\x2c\x9a\xb9\x54\x96\xca\x87\xc4\x37\x55\x80\x6e\xc8\x88\xdc\xed\xdb\x0a\x03\xda\x95\x32\x2c\xf2\x8b\x56\xfd\xbe\x45\xcc\x86\xa2\xac\x35\x40\x1f\x8d\x49\x00\xa3\x03\x1d\x15\x23\x03\x05\xde\x0f\x23\xb9\x8e\xcd\xbe\x1a\xf5\xfb\x77\x0f\x2d\x08\x27\xe2\x35\x2d\xdb\xb6\xe8\xd9\x6c\xb9\x3d\xc3\xa4\x2d\x52\x61\x6b\xa1\x44\xd4\xb1\x56\xb1\x05\xc3\x49\x55\xe8\x00\x0c\x4b\x86\x7a\xc7\x61\xbd\xd7\x7b\x3c\x63\x7a\xe0\x67\x05\x5a\xab\x33\x4e\xbb\x5b\x53\xf9\x2b\x74\x10\xd9\x6e\x91\x88\xa2\x61\xc2\xd9\x62\x18\x03\x4a\x00\x54\x70\xa2\xa5\x69\x1b\xae\xd5\x2d\x46\x5d\xa8\x38\x78\x7e\x38\x92\xce\x98\x56\x03\xf4\x6e\x73\x3f\x04\xd3\x96\xdb\x2d\x32\x5d\x5c\xdd\xdb\x0c\xc5\xa3\x4e\xae\xa2\x4b\x37\xe7\xb7\x3d\xcd\x5d\x83\x69\xa7\x43\x99\x3c\xef\x32\x15\x4b\x2d\xe6\xcf\x73\x6f\x90\x5c\x69\xe6\x70\xed\xe7\x1a\xe6\xa2\xaf\x18\x7c\x89\x2a\x59\x59\x9f\xa7\xb8\xca\xfc\x63\xb8\x96\x65\x75\x55\xfd\x03\xf2\xea\xe6\x49\x57\x81\xa9\x29\xb7\xff\x69\xd4\xf5\xd5\x7e\xd8\x06\xe1\x7e\x9f\x77\x01\xe9\xa0\x6e\x0c\x28\x46\xa8\x42\x60\x57\xaa\x6f\x49\x00\x3f\x5a\x95\x26\xbc\x51\x10\x5a\x07\xb2\x4a\x8b\x41\xa9\xec\xf3\x8d\x9f\xef\xfa\xd8\xce\x28\x47\xa1\x9b\xac\x40\xe9\x0f\x44\xf0\x5f\xfa\x69\x91\x20\x8d\x06\x38\x55\x8b\x02\x3c\x03\x28\xa8\x51\x12\x01\x06\xb8\x68\xbf\xb2\x50\xd9\x69\x48\xe9\x92\x32\xb4\x42\x1f\xa9\xda\x75\x5d\xd0\xd5\xc1\xf6\x04\xaf\x1a\xb4\xd9\xcc\x9d\xc7\x35\x0c\x36\xab\x27\x41\xda\xa1\xef\xb3\xe4\xe1\x4e\xdd\x96\xe6\xad\xc2\xc0\x85\xb3\x93\xc8\xb6\x7b\x5d\x38\x68\x8d\x9c\xec\x61\x19\xc6\x7a\x72\x1b\x33\xd9\x85\x92\x74\x6c\x2a\xa1\x0d\x10\xc8\x78\x4b\x3f\x51\x9c\x87\x0a\x4b\x1d\xe9\x92\xee\xfc\x38\xfa\xe4\x65\xd1\x6d\x6c\xee\x24\x8f\x98\x4f\x49\x4a\xd5\x1c\x75\x2b\x0b\xfb\x25\x58\x85\x9c\x4a\xd3\x73\x7b\xa3\x4b\x44\xa1\x27\x41\xe9\xdd\x64\xea\x6d\x76\x0c\xe6\xee\x77\x65\x2c\x2b\xd9\x7b\xa9\xb3\xe9\xc3\x5f\xcd\x16\x22\x81\x30\x6a\xcb\x37\x9b\x62\x04\xd4\xe4\xf4\xc6\xff\x2e\x91\xa7\x95\x6d\x67\xd2\x6d\x85\x45\xe4\xd3\xde\x5e\x2e\xf1\x56\xe2\xab\x8e\x35\xe9\xf6\x57\x95\x70\xd8\x45\x65\x6d\xbd\xa0\x48\xf3\xc8\x16\x51\xbe\x6f\x1a\x71\xbd\x35\x63\x8e\xaa\x41\x40\x0d\x67\x6d\x4b\xba\xbf\x3c\xc0\xa9\x4b\x71\x00\x09\x07\xce\xe0\x3c\x5c\x89\xa4\xc8\xdf\xc7\xd2\x5d\x38\x36\x42\x2c\xc9\x09\x78\xc3\x39\x80\xc2\x6c\x85\x93\x86\xcb\xbb\x1c\x55\x32\x38\x36\xd0\x55\x09\xfb\x1f\xcf\x94\x3b\x3f\x0d\x30\xce\x43\x19\x97\xf0\x81\x11\xad\x1a\xfc\xf4\xff\xc7\xaa\xec\xad\x86\x25\xdb\xd6\x51\x43\x01\x59\xb5\x5a\xcb\xb0\x0e\x9c\x39\x1d\xac\xb9\x46\xb2\xb5\x77\xf1\xac\x2e\xcc\xa4\xcb\x50\x16\xf9\x07\xc5\xac\x58\xdc\xe9\x56\x39\xdc\x7b\x29\x00\x7e\x2f\xee\xb0\x33\x09\xa8\x1f\xc5\x92\x2e\x58\x34\x04\xde\xb0\x58\xd0\xc4\x8f\xf1\x1a\xa2\x1b\x58\xf3\x8b\x23\xdd\x11\xcc\x52\x9d\x91\x46\x6b\xdf\x50\xd8\xcb\x29\x2e\xdb\x56\x69\xf6\x23\xb3\xd0\x00\x7d\xcc\x51\x40\xca\x66\xbe\x4a\x52\x61\x1a\x14\xba\x18\x86\xa6\x33\xd9\xaa\x2a\xa9\xf0\x47\x51\x5c\x83\xcf\x31\x73\x37\x18\x08\x0b\x88\x1e\xfe\x9a\x55\xb4\xfd\x8e\x11\x88\x80\xfd\x86\xfc\x77\x87\x5f\x3f\xa4\x9c\xbb\xda\xc3\x76\xb8\x4f\x1a\x28\x7b\xaa\xeb\x57\x7c\x3e\x3d\x1d\x07\x5d\xac\x55\xe4\xd7\x88\xfd\xee\x20\xe6\x0b\xcc\x96\xa4\xce\x12\xfc\x85\xf2\x3d\x72\x91\x10\xf9\xb8\x4d\xf1\xe6\x08\x2e\x16\x8d\xf0\x13\xc8\xb9\x91\x76\xa0\x87\xdc\x23\x09\x10\xe8\x30\xb8\xd2\x55\xe5\xb7\xf4\x9d\x5f\x95\xd0\xb8\x7d\xbb\x75\x24\xd6\x2e\x64\x93\x8e\x0a\x1a\x1c\x9f\xa5\x16\x48\xde\x11\x22\x5b\x86\x75\xa9\x07\x2d\x00\x93\x75\xb7\x98\x3c\x11\xbc\xe0\x7b\xc4\x64\xb2\x5e\x3f\xe9\x72\x24\xb2\x64\x55\x9a\xcf\xb6\x1e\xe9\x98\x3e\x94\x21\x64\x81\xed\x40\xbb\x34\x62\xaa\x12\x15\x53\x25\x4f\x58\xcb\xf1\x75\x75\x7a\x3e\x99\x5e\xdb\xda\xea\xab\x5f\x2d\xaf\x5e\xda\xdb\x6b\x28\x11\x67\x6b\x21\xc1\x2f\xc3\xe7\x6b\x14\xaf\xc7\xaf\x3f\x5c\x8c\xcf\x27\x52\xab\x3b\xc4\x8b\xdf\xa1\x8a\x30\x3b\x54\x65\x2e\xb8\x19\xf6\x47\xb6\x5c\xe8\x9f\x95\xf5\x27\x33\xfa\x38\xc2\x83\xc7\xaf\x49\x69\xe8\xa5\x0e\x29\x50\x42\xd8\x8d\x0a\xda\x9d\xa8\xa3\x60\x46\xb3\x32\x19\x65\x95\x78\x36\xfc\x58\x09\x68\xa3\x70\x80\x9f\x62\xa3\x1d\xa4\x4e\xf9\xcf\xb8\xf1\xb9\x00\x8a\xed\x9c\xf2\x8e\x65\x1b\x28\x4a\xe4\xa2\x68\x5e\x50\x0a\x36\x1c\xa9\x2a\x5b\x42\x29\x37\x98\x71\xef\x40\x8d\x0c\x06\x87\x67\xfd\x86\xc2\x8d\x52\xae\x40\x64\x8f\x79\x28\x4f\x6e\x4c\xc8\x96\x7d\xa2\x58\xb9\xe5\x83\x9c\xb2\xba\xfc\x8a\xe5\xb8\x96\x88\xab\x3b\x49\x65\xd8\x67\xb3\xec\xf1\x93\x72\x61\x22\x61\x2b\x76\x52\x0f\x8d\xba\x11\x77\x61\x1c\x78\xd8\xb7\x2d\x15\x9f\xa8\xd4\x36\xb5\x3f\xf9\x73\x11\xa6\x54\x6f\x88\xba\x95\x03\xdb\xbf\xdf\x8c\xf8\xe2\xcb\x95\x20\xee\xf2\x7c\xfd\xff\xb2\x77\x6d\xbd\x71\x23\x57\xfa\x7d\x7f\x05\xb1\x40\x60\x03\x2b\xf5\x5c\x90\x27\xfb\x21\x50\x74\x71\xb4\xb0\x25\x41\x17\x07\x33\xe3\x81\x42\x35\x29\x89\x1e\x36\xd9\x61\x91\x92\x3b\x83\xf9\x15\xf9\x05\xf3\x98\x07\xff\x81\xbc\x04\x88\xfe\xd8\xd6\xb9\x54\xb1\x48\xd6\x29\xb2\x5b\x92\x67\x17\x58\x2c\x36\x18\xab\x59\xe7\x9c\xba\x9f\x3a\x97\xef\xa8\x4b\xfc\xbb\xdf\x67\x86\x11\xbd\x78\x19\xeb\x11\xd4\xe7\x38\x94\x37\x53\xfa\x28\xa6\xfa\xe3\x58\xff\xb3\x48\x6b\x78\x4d\xc0\xab\xac\x48\x31\x26\x7a\x74\xc0\xce\x10\x71\x4d\x6b\x8a\x0d\x60\x7a\x23\x1c\x44\x05\x37\x37\x21\x5d\xcf\xa1\x92\xda\x75\x93\xde\xe8\xe1\x5c\x51\x27\xb4\x9a\xc3\x35\xf4\xb4\xa0\xd0\x17\xee\x45\x06\xe3\xc5\x63\x76\x1b\x53\xda\xa3\xbd\x22\x3a\x05\x2f\x25\x45\xc7\x19\x81\x99\x7e\x7f\x43\xc5\x11\xae\xc7\x9d\x69\x2d\x09\x2b\xa1\x37\xa0\x89\xc1\x1b\x47\x4f\xe0\x27\xf3\xc6\xa9\x60\x5d\xc8\x73\x03\xc1\x58\xf4\xe4\xe5\x80\x8b\xad\x56\x37\xba\x26\xe0\x61\x47\x87\x81\x12\x49\xfc\x10\x0e\x57\x46\x32\x03\x68\x63\xbd\xe6\x25\x84\xc4\x24\xec\x64\xe4\xd7\xaf\xad\xac\xca\xe7\xe9\xeb\xae\xee\x34\xe4\x8f\xdb\x8b\x48\x55\x5d\x4a\x63\xf0\x77\xd8\xd9\x0b\xee\xd9\xce\xc9\x61\xb7\x53\xf8\x50\x2f\x9a\xd4\x3a\x30\xf5\xb3\x1f\xdc\x6f\x5d\xdb\xcd\x58\x67\x2f\x1c\xe1\xbb\x2c\x58\x6e\x64\x82\x92\x17\x42\x60\x08\xee\x4a\x78\x52\x4d\xe8\xc5\xee\x81\xe5\xd0\xb9\xc0\xb0\x47\xa9\xd6\x7a\xb5\xf8\xb8\xf0\x3b\xc1\x23\xb6\xf6\x1c\x1c\xba\xe9\xf5\xb5\x5e\x78\xeb\xf4\x4b\x66\xca\x75\xb0\x50\xfa\x8a\x0a\x20\xe0\x82\x6f\xf4\xd1\xa4\x27\x07\x18\x95\x78\xbc\x9a\x13\x28\x91\xd6\xfa\xa4\xbe\x33\x3e\x5e\x4f\x81\x8f\x0b\x93\xaf\x8c\x95\xdf\x9e\x75\x20\x86\x12\xd0\x34\xeb\x17\x3e\x9e\x04\x7d\x93\x0f\xe7\x38\x97\x5f\x78\xa4\x3a\x0b\xfd\xd9\x46\xa3\x37\x08\xcf\xdd\xbb\xf6\x8c\xba\x58\x6a\x8d\x39\xb5\x90\xbc\xdd\xee\x36\xf8\x23\x25\x7c\x8c\xa1\x70\xfb\xdf\x6f\x01\xfa\xd4\x51\xb4\xe8\x10\x7c\x10\x45\x1e\xaf\x01\xdf\x7d\x7e\x7c\xbe\xf3\xf6\xf2\xdd\xfe\xbb\xe3\xd3\xef\x24\x65\xcd\xfd\xc4\x4f\x24\xbe\x21\x95\x1e\xfe\x43\xd6\xe8\x6b\xb8\x82\xea\xb8\xf3\xa9\x40\x4f\x2b\x17\x10\x71\xe7\x38\x17\xf3\xf2\x66\x42\x68\xc0\x59\x76\xa3\xf5\xe6\x68\x01\x79\x47\x55\xca\x68\x48\x37\x5a\x71\xa8\xf0\xbf\xd8\xcf\x38\x21\x34\xe0\xdc\x0d\xfe\x73\x55\x6f\x51\x33\x3d\x16\x22\xfc\xfa\xad\xc3\xec\x7c\xef\x0a\x91\xe5\x7e\x5b\xc7\xc4\x61\xd6\x6d\xe9\x67\x67\x8a\xdf\x76\x02\x9d\xdc\x9c\x5b\x9b\x9c\x11\xd7\x0e\x0e\x96\x56\x9c\xd2\x4f\xa8\x2f\x91\x2f\xb5\x06\x20\x1f\xae\x2e\x6a\x3d\xb3\xec\x72\x70\xa9\xb5\x48\x3f\x5a\x2c\xa2\x22\x2d\x36\x92\x6c\x58\x6f\xca\x57\x11\x99\x70\x1b\xc8\x98\x57\xd8\x62\xc0\x0f\x9f\x8b\x04\x36\x8f\x5b\x56\xd9\x71\xfe\xba\x35\x4c\x3b\x1c\x7a\x16\x72\x46\xa2\x5a\x64\x4a\xdf\xf1\x4c\x53\x18\x4d\xdd\x31\x34\x8a\xfe\x6c\x8a\x8c\xef\x63\x9a\x17\x9c\x25\x5e\xcb\xb9\x96\x20\x49\x09\x32\xcc\x14\xa7\xb7\xb6\x65\x79\xb2\x73\x6b\xed\x95\xf9\x58\x13\xbb\xcf\x06\x6c\x8a\xa1\xcf\xc4\x65\x81\x59\x8d\x09\x26\x5a\x47\xf7\xb7\xd9\x9c\x26\xcd\x1e\x5b\x0a\x15\x68\xd4\x67\xf5\x52\x4d\x9a\xaa\x8b\x90\x0e\x49\x4b\xdb\x60\x4e\x08\x66\xfb\xe5\xc8\xa2\x60\x01\x4d\xc1\x1a\x56\x1e\xf5\xe6\xc6\x6a\x35\x74\x84\xa9\xfe\x19\x06\x3c\x63\xd6\x50\x91\x11\xfb\xe0\x20\x5b\xea\xe1\x57\x84\x06\x4b\x64\x4c\x75\xb9\xd3\x18\x5d\xe1\xe0\x8d\x50\x8d\xc4\xcc\xc6\x9b\x03\xe0\x5b\x75\x13\xf0\x78\x20\x01\xd4\xa9\xa9\x6d\x5b\x99\xbf\x0d\x52\x6a\x9f\xf3\x32\xc6\xf0\x04\x61\xa8\x54\xaa\x9c\x7b\x1a\x12\x86\xca\x99\x8e\xc7\xce\xf8\xc4\xd0\xbb\xf2\x11\xa3\xc2\xad\x9f\x72\x5c\x06\x02\xad\x35\x32\x03\x81\xd6\x19\x9b\x4a\x44\xaa\x81\x22\xc3\x2a\x9d\xb1\x8d\x97\x9e\xd7\xf4\x7c\x2c\x55\x0d\x2e\x6b\x3a\x0b\xb7\xf5\x33\xf3\xf8\xec\x1c\xcd\x02\x65\x85\xba\xc4\xf6\x36\x7a\xcf\x17\xdb\x44\x5c\xab\x0e\x37\x60\xb6\x6a\x0f\x58\xfa\x3b\xd6\xf0\xbe\x4d\x0b\xaa\x31\x1c\xac\xe4\x1d\xc2\xba\xd1\x2c\xcb\x99\x63\x31\xde\x05\x4d\x08\xad\xde\x08\x80\x8e\x7b\x07\xbd\xd6\x70\x0c\x76\xa4\xb5\xca\x49\x4f\x60\x1c\x44\x12\xd9\x3d\x62\x51\x02\xfd\x92\x6e\x1f\x1f\x38\xb6\x5b\xa0\xfb\x3d\x7c\x86\xca\xdf\xb6\x60\x72\x12\xae\xfa\x7d\xee\xc6\xe4\xbb\x8f\x22\x4d\xb9\xc9\x13\x02\x56\x82\xd7\x66\xac\x4f\x28\x39\xfb\x42\xf0\x5d\xbb\x97\x68\x61\x9e\x8c\xcb\x32\x81\xd7\x71\x9c\xcf\xe3\x42\xeb\x57\xb2\x60\x60\x39\xc0\x7c\x68\x7b\x99\x9a\xeb\x90\xe3\x6d\x33\x45\xd0\xb4\x7e\xa1\x8e\xa0\x90\xfc\xaa\xbd\x8e\xfa\xb6\x0f\x4e\x73\x0d\xa0\xdb\xb6\x32\xd4\x25\x98\xb3\xf4\x23\x84\xca\x29\xe3\x0b\x84\x11\x2d\xb7\xf4\x06\xc0\x92\xf0\x98\x84\x91\x91\x87\x07\x16\xa5\x24\xd7\x9f\x62\x28\x13\xba\x88\x55\x86\x80\x74\x50\x08\x19\x2d\x33\x38\xd7\x0b\x0a\xe2\x79\x1d\x61\x1a\xd1\x55\xdc\x2e\x9e\xa0\x8c\x30\x12\x05\x67\x0a\x73\xb6\xb8\x53\x2b\x0f\xfc\x4e\xa0\xf5\x02\x92\x3a\x2e\xda\x17\xaf\xc2\xb5\x13\x97\x55\x99\x34\x73\xf6\xfa\x11\xd5\x38\xef\x24\x7b\xdb\xfa\x76\x98\x76\xd2\xa7\xfd\xa4\x92\x52\xfa\x70\x59\x81\xe6\x05\x3a\x6e\xb6\x0c\x24\x64\x3d\x81\xf4\x5e\x7e\x42\x8f\xda\x84\x73\xd9\xe2\x6e\xd3\xc1\xc7\x89\x18\x8b\x19\xc5\x26\x00\x3e\x14\x8c\x0d\x06\x81\x7c\x07\x4f\x3b\xbb\x53\xed\x2e\xe5\x0a\xc3\x51\x56\x9b\x8c\x5f\x46\xfe\x0f\x05\x95\x5b\x7f\x84\xb5\x6d\x39\xdb\xd5\x02\x3e\x2d\x40\xaf\x2f\x67\x68\x5d\x34\x45\x86\xe1\x8b\x61\xd5\x3b\x67\x8b\xe3\x51\x58\x38\x95\x02\x94\xb8\x6e\x5b\xc4\x2b\x00\x77\x85\xc0\x73\xc0\x34\xd0\x6f\x0a\x65\x6f\x41\x7d\x98\xee\x41\xde\x17\xee\xfd\x9a\x0c\xaa\x95\x53\xce\xaf\x85\xbd\xa4\x72\xc6\x5b\x78\x92\xe3\x67\x68\x7c\x86\x1d\x0b\x16\x5b\x56\x95\x5b\x8e\x4d\x81\x27\x1a\x7a\x4f\x3f\x14\x3b\xf4\x74\x8e\xcc\x1b\x3a\xba\x8f\x0b\xf6\x18\xd9\x6a\xbe\xfe\x80\xf4\x3f\x48\xfb\x68\x7f\x80\xb4\xb5\x20\x28\x09\x04\xcb\xbf\x7b\xf8\x07\x0e\x9c\x74\x5f\x6b\x99\x20\x73\xbd\x01\x9c\x0f\xb2\xd3\x72\x8d\x3e\x82\xee\xe6\x36\x04\xec\xc5\x98\x9c\xb1\xee\xfc\x0a\xae\x83\x3b\xa8\x75\x5a\xd1\x7d\x04\x53\x84\xa7\x2c\x9a\x02\x1c\x03\xc6\xb2\x05\xf0\x64\x21\x35\xcb\x7f\xff\x6b\x1f\x2f\x32\x7c\xe3\x97\xe6\x81\x9f\x60\xcd\x57\xb7\x0a\xb1\x10\x34\xff\x07\x71\xdf\x67\xca\x86\x7d\x42\x32\x67\xf1\xa2\x46\x30\xdf\x12\xbc\x70\x1c\x4c\x02\x07\xfa\x4f\xe9\x4a\x05\x96\x6d\x37\x39\x36\x81\x5d\x0c\x24\xd2\x68\x18\x00\x42\x71\x5d\xa1\x95\x47\x4f\x42\xa3\x60\xdc\xc6\x78\x2a\x51\x64\x9b\x7d\x30\x62\x78\x67\x50\x20\xe3\x2f\xd2\x3a\x00\x05\x04\xc1\x15\x3d\x88\x79\xa2\xa8\xb7\x44\xc2\x0a\x46\x79\x70\xcd\x12\x34\x8a\x81\x85\x27\xd7\x25\xb8\x00\x66\x91\xb8\x42\x29\x54\xd3\xb5\xd8\x49\xd5\x7b\xf7\x21\x88\xe5\x16\x97\x10\x3a\x44\x28\x86\xd0\xb1\xf5\xcf\xa2\xd0\x02\xa0\xb8\xcc\xaa\xc7\xca\xdf\x21\x8a\x89\x20\x7d\x56\xad\x8a\x39\x59\xff\x4d\xe1\x56\xe9\x91\xda\x8f\x52\x48\x3f\xcd\x53\xd4\x14\x08\x92\xd8\x29\xa8\x8a\xe4\x62\xa5\xdf\x8f\xfa\xb8\x28\x24\x48\x39\x7d\x70\xb3\x41\x29\x4e\x92\x6d\x7a\xa5\x6d\xc3\x79\xf9\x82\x86\x16\x2c\x18\xfc\x60\x84\xbf\x8a\x19\x23\x85\x4a\x3f\x96\x8e\xf9\x68\x40\x8d\x5d\xc0\x68\x11\x21\x28\xe0\xd1\xda\x31\xe7\x7a\x89\xe4\xd1\x3b\x7d\x94\x89\x05\x5d\xf1\xc7\x0c\x74\xfa\x5a\xaa\x49\x40\x54\xe2\x45\xa9\x4f\x64\xd8\x40\x0b\xa4\x17\xbd\x4c\x67\x37\xb3\xe8\x9b\xaf\xbf\xfd\xfd\xbb\xad\xe8\x9b\x37\xfa\xff\xbf\x7e\x23\x85\x08\xed\x82\xbd\x01\x70\x92\x90\x0d\x86\x3c\x31\xdf\x97\xcb\x99\xd6\x96\x86\x74\xd6\x91\xc4\x20\x27\x41\xb0\x12\x02\xb7\x3c\x8d\x68\x6d\xd0\x91\x71\x42\xb7\xe8\x4a\xeb\x4b\x5d\x34\x8b\x2b\x48\x31\xed\x96\xf3\xb0\xaa\xe6\x2c\xda\xfe\x06\x26\x14\xc2\x08\x20\xd3\x2b\x86\xdb\x03\x8e\x63\xc4\xe0\xc1\x1e\x4b\x67\xc4\x33\x73\x8d\x5e\xee\x51\x44\xc3\xab\xf6\x37\x69\x30\x8f\x1e\xfe\xb9\x48\xf5\x9e\xb6\x63\xe9\xa8\xc5\x49\xb7\x50\x4f\x97\x35\x99\xf4\xe6\x66\x2e\x32\xe4\x83\xb0\xe9\x2f\xdf\xc7\x39\x61\x51\x39\xd1\x0e\xaf\xec\x17\xe5\xc4\x41\xaf\x42\xe8\x99\x03\xb1\x2b\x19\x4e\xb3\x4f\xb8\x9f\xdd\x30\x99\x47\x77\x68\xc2\x89\x06\xe7\x15\xac\xef\x29\xe7\xdb\x59\xff\x00\x83\xde\xc4\x60\x51\x15\x48\x5f\xec\xec\xb4\x7a\xde\x22\x53\x90\x3f\x46\x15\x3e\x29\x40\x0f\xcd\x63\x02\xb3\x83\x38\xaf\xe3\x68\x18\x52\x0c\x34\xc1\x98\xe3\x84\x38\xda\x68\xbf\xc0\xf3\x5c\xab\xc6\x02\x23\xf8\x45\x6a\x02\xc7\x2c\x19\xbc\xac\x9d\xd9\xfa\x70\x5a\xaf\xb7\x81\x3b\x85\x91\xd0\xb7\x8a\xa4\x48\x03\xbd\xd8\x9a\xb6\xf0\x47\x8c\xa4\x06\x6d\xb3\x6b\x91\xe6\xf8\xf8\x8e\xcf\x9b\x50\x68\x85\x85\xd3\x11\xd5\x96\x17\x6f\xc5\xa5\x15\x6a\x05\xd5\x3f\xdc\xc7\x55\x02\xc0\x54\x67\xfa\x51\xbc\x70\xec\x24\x40\xc9\x44\xfd\xa1\x63\x77\x52\x67\xaa\x14\x5c\xdf\xe4\xad\xc7\x52\x13\xce\x4a\xa1\xbb\x05\x15\x3d\xdb\x0b\xf0\x81\xeb\x03\x4f\xb7\x5e\xc4\x0e\xae\x2b\x65\xe5\x5f\xe1\x8a\x65\xee\xfe\xee\x9e\xed\xbc\x91\xf0\x3b\x2f\xce\x04\xfc\x49\x6c\x24\x85\xb2\xe8\x56\x42\xc4\xca\xc5\xd9\xfe\xe9\x44\xc4\xcf\xdd\xc3\x87\xbf\x1f\x01\x0e\xe6\xc5\xd9\xc5\xce\xa9\x88\x66\x09\x14\x25\x1c\xcc\x91\x96\x85\x89\x37\x21\x13\x97\xd7\x2d\x30\xc3\x37\x1f\x41\x59\x89\xcf\x4c\x17\x55\x0e\x68\x81\x71\x37\x96\x22\xb4\x7b\x14\x47\x45\xa3\x90\x09\x80\xeb\x83\xd8\x52\xc4\xfd\xe2\xba\xbe\x8c\x09\x47\x37\x85\x3e\x9d\x97\xa0\x9a\x4c\x11\x31\x01\x9a\x94\x9a\xeb\x80\x77\x35\x8c\xf8\xdb\x28\x53\xe0\x1e\x68\x36\x29\x57\x94\x30\x50\x6f\xa1\x63\xa1\x15\xbb\x01\xf3\x19\xd8\x8a\x6b\xd1\xee\xd1\x11\xa9\xa9\xe9\x73\xc9\xfc\xd3\x92\xa6\x37\xd8\x16\x5b\xea\x5e\x18\xbb\xdb\x8b\x89\xb8\x30\x47\x3d\xb3\x93\x79\xc8\xbc\xb6\x65\x8b\x1d\x92\x63\x38\x31\xae\x54\x74\xe5\xa5\xd1\xee\x2e\x3e\x9d\xdf\xa7\x95\xc2\xa0\xf8\x13\xb2\x06\xe9\x23\x0f\x4b\x00\x86\x6c\x89\x7d\xd9\xec\x3d\x6a\xf2\x43\x94\x93\x9d\xc9\xef\xf3\xdd\x5d\x88\x19\x06\x7d\xdd\x96\xad\x1a\x31\xf1\xb5\x42\x97\x57\x90\xf8\x60\xdc\x23\x68\x38\x85\xa3\x2b\xb5\x0e\x0f\xb4\x7d\xd8\x7f\x8d\xac\xff\x56\x6e\x13\xfd\xea\x1a\x3a\x8d\x5f\xa4\xad\x15\xf3\x51\xe4\x32\x22\xf6\x12\xfd\xcd\xdd\x71\x36\xc1\x18\xfc\x4f\x3d\x79\x13\x65\x8d\x8b\xd6\x0c\x24\x8d\xb0\x87\xb8\x24\x22\xbe\x18\xa3\x98\x53\x01\xb9\xd8\x7e\x28\x84\x66\x2f\x55\xf4\x1e\xac\x3a\x8f\x45\x95\xa4\xa3\xb1\x2e\x86\x5d\x5b\xc1\xd3\x0b\x69\x81\x42\x3c\x32\xef\xcc\x4a\x09\x1e\xc0\xb1\x24\x1e\x92\x3e\x15\x53\x54\xd6\x48\x30\xbb\x28\xae\x28\x8e\xac\x9b\x25\x3f\x71\x60\xe9\x86\xc4\x73\xce\x83\x04\x3b\x75\x90\x03\x12\x50\xed\x95\x9a\xb4\xcb\x6e\x09\x16\xd8\x48\xbe\xa8\xbe\xc7\x49\x4b\xa0\x0f\x1f\x51\x89\x4b\x52\x6f\x4d\x96\x2e\xfc\xe4\x78\xc5\xcd\xc7\x74\xd0\x29\x32\xf9\x85\x3b\x68\xb2\x3b\xb2\x35\xbb\xd8\x4b\x70\xa6\x75\xc4\xe1\x88\x78\xa3\x4c\x11\x5f\x02\x9c\x4b\xc8\xe0\x83\xb7\x08\x50\xdc\x54\x9a\x50\x98\xf5\x74\x31\xc4\xb0\x0b\x16\x60\x0e\x3c\xf3\x5c\xd4\xb0\xcf\xda\xeb\x24\x21\xb6\xf4\x72\xd7\x8d\x44\x2c\x57\x22\xed\x0d\xf1\xa6\x63\x48\x02\x75\x7b\xbe\x00\x70\x1e\x30\x09\xbb\xbb\x0f\xfa\x79\xf6\x9b\x54\x62\x6e\xc7\x6d\x11\xaf\x22\xad\x31\xdc\xa5\x14\xd9\xb6\xd0\xff\x4b\xa0\xbf\x3d\x77\xe8\x5d\x93\x83\x17\x50\x5f\x89\xaf\x23\x34\xa2\x64\xc3\x17\xae\x8c\x3a\xc9\x91\xd1\xca\x55\xd4\x50\x5b\xd9\x2b\x3b\xe6\x44\xfd\xdd\x3c\x4d\x13\xd1\x86\x98\x3b\x4b\xc3\xa0\x2a\x7f\xd4\x8b\xb3\x95\x4e\x51\x3f\x30\xf6\x35\x8f\x19\x32\x54\x19\x40\x95\x8e\xeb\xf4\x75\xc4\xc6\x1a\x95\xad\x0f\xea\xe8\xc6\x70\xb7\xea\x24\x15\x68\x8c\xfe\xfd\xaf\x3d\x34\x5a\xda\xd0\x4c\xc1\x52\xd9\x4e\x43\x6f\xb4\x3b\x8b\x77\x7c\x78\xbf\xd4\x6a\xee\x7a\x9e\x49\x6b\x59\x73\xd8\xbe\xfc\x0a\x57\xe3\x18\xef\x38\xdc\x9c\x9e\xd3\xbb\x4a\x71\xb8\x1a\x35\x52\x48\xb7\x33\x50\xe9\x64\x20\xf8\x84\xa2\xd9\xee\xc0\x90\x95\xaa\x9e\x29\xab\x87\xec\x4c\x4e\x9c\xb2\x27\xce\x73\xf4\xdd\xde\xb2\xbf\x79\xdf\x9d\x5b\xf7\xf9\xfa\xae\x7f\x30\xcb\xb1\x46\x6d\x1b\x0a\x42\xe1\xde\xb1\xdb\xe5\x19\xc7\x20\xc8\x7d\x7a\xa7\xd3\x4f\xcb\x74\x8e\x9e\x59\xf4\x37\x83\x43\xa9\x9c\x63\xb2\x73\xf2\x0a\x0d\x00\xec\x52\x5e\xd7\x71\xad\x5f\x98\xe8\x0d\x49\xca\x2e\x19\x41\x0c\x3c\x0c\xb8\x48\xa0\x89\x82\x83\x8c\x7c\x4e\xbe\x66\x2f\x73\x5c\xdd\x34\x90\x94\x20\x0f\x26\xd1\x21\x67\x86\x4b\x27\xb3\x01\x81\x86\x46\x69\x1d\xe0\x61\x91\x60\x45\x30\x25\x1b\x69\x77\x34\xfe\x0a\x61\x41\x78\x5a\x65\x02\x02\xf3\xbc\x84\xd4\x6b\x37\xdc\x8e\xa2\xa5\xf1\x69\x49\x51\xc4\x01\x05\xf6\x2a\x2f\xff\xda\xa4\x3c\x0a\xfe\xf0\x37\xda\x27\xc6\xdd\x5d\xb5\x71\xc3\x61\xfd\x54\x5f\xf3\x5a\x21\x3c\xdf\x0d\x2b\xa1\x3b\x05\x42\x1c\xd9\xbb\x94\xb5\x33\xab\x73\xea\xf6\x41\x06\x13\xf4\xdc\x31\x16\x21\xb5\x56\x79\x00\x35\xc3\x4f\xca\x79\x9d\xdd\xd9\xb9\xf4\x82\x5d\xc8\x53\xa9\x36\x85\xa6\xdb\x43\x0d\x25\xb1\x3e\xf8\x47\x63\xd4\x91\x2c\x01\x94\x3a\x3c\xd6\x1e\x81\x52\x07\x12\x17\x5c\xa9\xd5\xca\x1c\x40\xab\xf3\x41\xa8\xfc\xbc\x21\x58\x1d\xc5\xc5\xeb\x71\x1e\x8b\xab\xdf\x69\x23\xe4\x21\xe7\x65\x9d\xe8\x50\xcb\x63\x12\x16\x5e\x97\xd1\x54\x1c\x3c\x87\x07\x69\x71\xb1\x2d\x26\x3f\x85\x4f\xaf\x6e\x80\xa3\x5d\x8e\xfb\x84\x06\xac\xaf\xb0\x34\xc0\xa4\xee\x89\xb5\x00\x26\xb2\x1a\x29\xe6\xd4\xeb\xe3\x1a\xe0\x5d\x86\x53\xe1\x24\x31\xa6\xaa\x6c\x2a\x63\x86\x9a\xc6\xd1\xda\x92\x2a\x98\x7a\xc0\x2b\xb3\x29\x88\x93\xf9\x3a\xb6\xaf\x35\x99\x1a\xcd\x76\x1a\x4f\x6f\xea\xea\x1a\x23\x2c\x2a\xe7\xeb\x97\x53\x20\x89\x08\x30\x80\xff\x5b\xd4\x25\xac\x04\x9c\xe9\xdd\x7e\x2f\x93\x86\x61\xfd\x9d\xf2\x80\x4a\x03\x08\xf1\xef\x94\x64\x5c\xb5\xac\xe0\xb4\xf2\xb6\x8f\xa9\x79\x98\xf3\x97\xc1\xd2\xea\x08\xfb\x3c\x80\xc4\x53\xcf\xd7\x6e\x88\xbf\x6e\x68\xf3\x90\xc6\x54\xa2\x4e\x27\x02\x6a\x89\x9f\x66\x58\x22\xaf\x35\x79\xf3\xf1\xf5\x62\x21\x6f\x32\x52\x13\x1e\x12\x13\x9f\x09\x3b\xad\x76\x66\x30\xb7\x26\xbe\x14\x26\xbf\x04\x5a\xa1\xfb\xd7\xce\x7a\x4f\xff\xfe\x68\x86\xca\xd8\xb8\x80\x95\x6b\xbd\xd1\xfb\xc2\x5e\xf5\x6b\xd8\x6c\x38\xfb\xe9\xb4\xa2\x36\x9b\x2d\x06\xd1\x28\x33\x90\x79\xad\xcd\x34\xc1\x94\xe2\x11\x7b\xea\xde\xf2\xf9\x6b\x9e\x60\x77\x79\x9c\x32\x1b\x8e\x6b\xa7\x50\xd0\x97\xb7\xdb\xf6\x97\x8f\xf7\xae\x2c\xfb\x48\x0d\xbf\x9d\xfd\x76\x99\x97\xb1\xb5\x7b\x43\x20\x8e\x42\xad\x1f\x2f\x5c\x2a\x66\x2d\xbd\xf4\x9b\x2b\xc6\x27\x31\x88\x5b\x49\xca\xa8\x12\x8a\x2b\x7c\x71\xfb\x11\xc6\x9b\xdd\x1f\x96\xfd\x53\xdd\x1d\x46\x1c\xf7\x26\x9d\xc0\xbe\xff\xf9\x38\xf5\xef\xb3\xe5\x81\x1e\xe7\x3f\xae\xf4\x93\x1d\xca\x8b\xe9\x3f\xc1\xbf\x77\x21\x14\x0e\xde\x5c\x99\x5c\x78\x18\xb8\x26\x5d\x98\xb3\x51\x82\x82\x44\x8f\xc2\x97\xba\x30\x40\x6c\x4f\x00\x21\x65\x24\x71\xb0\x01\xb0\xc8\x06\x56\x66\xaa\x29\x13\x9c\x31\x1d\x60\xc3\x22\x7a\x69\xc0\x7b\xda\x11\xad\x93\xfa\x7f\x97\x29\xa3\xd0\x96\x91\xa9\xa1\xa8\x9a\xde\x26\x5b\xd9\x7d\x95\x8c\x80\x20\x82\xe0\x31\xc4\xb7\x6c\x63\x7c\xcb\x32\x56\xea\xbe\xac\xd0\xe5\x91\x97\x37\xd9\xe8\xd8\xa1\x42\x8f\x08\x19\x78\x25\xf6\x23\x59\x50\xe6\x8c\x91\xcf\x38\x42\x42\x14\xc4\x39\xf1\xea\x58\x4e\xba\x33\x39\xd6\x5d\xc5\xbd\x8f\x1b\x13\xe0\x02\x69\x24\x38\x17\x74\xac\x4c\x2f\x69\xe4\x1c\x74\x1d\x02\xa3\x81\x2a\xf0\x74\xd9\x08\x81\x88\x39\x4a\xf1\x5c\x9a\xae\x18\x05\x36\xda\x12\xee\x22\x31\x4c\xc3\x24\xc8\x8d\x8c\x26\xf9\xcc\x5c\x80\x49\x7b\x62\x8a\x59\xbe\xbc\x76\x5a\xa5\xcf\x8f\xf0\xe8\x12\x0a\x70\xb7\xae\x22\xac\xdf\x8e\xae\x98\x69\x7c\x5d\x0f\x8e\xd3\x36\xc0\x8a\xa0\x22\x7f\x46\xb4\xae\xf1\xb3\xdd\xc3\x0e\xc1\x1e\x87\xed\xbd\x2c\xdf\xef\x9f\x9e\x1d\x1e\x1f\x49\xd3\x8b\x3f\x3f\xfc\xfd\x48\x98\xdf\xf7\x80\xac\x1b\xfd\xf7\xd9\xf1\x91\x3e\xc9\x3e\x42\xbd\x5a\xc6\x59\x75\x94\xb6\x6d\x03\xb9\xd9\x06\x9d\x62\x2c\x1b\xec\xd9\x05\x38\x1f\xd4\x56\xbb\x21\xb9\x4e\x52\x56\x6c\xe7\x10\x66\x85\xb6\x70\x04\x18\x82\xb2\x51\x07\x08\x03\x0f\xc0\x8a\x18\xaa\x40\xc9\x24\x69\x12\xa0\xab\x52\x30\x19\xce\xd1\x66\x4d\xbf\x52\xd4\x66\x1a\x02\x93\x97\x46\xfa\x58\xf7\x50\x2f\x18\xec\xed\xdd\xc3\xaf\x39\x98\xc5\x3b\xc0\xb0\x4b\x88\xe6\xd4\xac\xab\x52\x0d\x63\x6c\xdd\x24\x7a\xd5\x71\x48\x6b\x31\x21\x0b\xa2\xa2\xc4\x0b\xc4\xa1\x42\x95\xe6\xe1\x73\x91\x02\x04\x43\x5a\x38\xf8\xa4\xb3\xe8\xc4\xbd\x37\xe0\x5c\x84\x01\x89\x8d\x67\x27\x2c\x03\x25\xcf\x80\xab\x07\x50\x86\x0a\xd5\xe4\x9c\x01\x6e\xc6\xa8\x53\x19\x60\x00\x8d\xaf\xda\x60\x35\x31\xb1\xe5\xc9\x97\x44\x56\xfc\xff\x52\xf8\x3f\xbb\x14\x1a\x0a\x36\xc4\x32\x68\x2f\xb4\xc2\xbb\x6d\x5e\x70\xdb\x08\x5d\xf1\xc2\x14\x8c\xbe\x4a\x23\xa8\xb7\x5b\x67\x77\x22\x14\x62\x4e\x5e\x4b\x1b\x5a\xe8\x94\x45\xf3\x52\x86\xba\x25\x18\xac\x00\x77\x31\x13\x17\x2e\x18\x8b\x46\x7b\x34\xe5\xae\x72\xf0\x6d\x04\x72\x04\x75\x76\xc2\x4a\x8e\x74\xb4\x32\x12\x78\xe5\x2a\x36\x22\x41\x25\x2b\x98\xef\x39\xa0\x51\x68\x0b\xfa\x21\x84\xe2\x6f\x99\xb4\x51\xca\x97\x64\x3f\x8e\x22\x78\x5a\x93\x1c\x27\xde\xa6\x9a\x49\x1b\x6d\xbf\xd5\xa6\x86\xae\xac\x2f\x39\xe5\xd4\x42\x56\x09\xa5\xeb\xf4\xcf\x3b\xa7\x47\x87\x47\x6f\x08\xd8\x8f\x94\x15\x38\x19\x50\x75\xb5\x6a\x21\x64\xe6\x59\xc7\x25\x6d\xff\x25\xa5\xca\xa8\xe8\x36\xbb\xb9\xcd\x57\x30\xfd\x73\xdd\x26\xbe\x49\x13\x24\xf5\x5d\x87\x00\x04\xd8\xe8\x35\xa5\xd5\xd8\xcc\x84\xc1\xc2\xc5\xa2\xb0\xeb\xfc\x23\x60\x1e\x57\x74\xc2\x10\x7b\x75\x9b\xe6\xb9\xa6\xaf\x6a\x39\x41\x6b\xe7\xfd\xe1\x19\xa3\x12\x52\x90\x29\x82\xb4\xc3\xf3\x26\x76\x15\x45\x54\x96\x5d\x85\x15\x5f\x9a\xe8\x6a\x5a\xb6\x1b\x8b\xb6\x75\x62\x73\x85\x15\xd2\x3d\xeb\xb6\xd4\xcb\xf7\xe1\x57\xdb\x13\x7a\x35\xe0\x9e\xb6\x25\x1f\x56\x6d\x88\xb5\x93\x90\x86\x0e\x5b\xea\x4c\x86\x36\xa4\x9c\x3a\x18\x9e\x96\x08\x13\x13\x19\xeb\xb9\xc4\xec\xc8\x66\x81\xa9\xc9\x0c\x5f\xd3\xb3\x1a\x71\x44\x7a\x17\x39\x62\x58\x62\x04\x21\x0a\xf3\xb2\xb8\x81\xa0\x79\x8b\x02\x59\xda\x6a\xf0\x44\x06\x57\x02\xf9\xf6\xa2\x6f\xbf\xfe\x1a\x7e\xff\xfd\x37\x5f\x6f\x19\xa4\x86\x21\x5d\xf0\xb8\x5f\xa5\x69\xc1\xf1\xe2\xc9\x16\x46\x55\x51\x95\x82\xe5\x2d\x80\x65\xe3\x1c\xc3\xd3\x2a\xda\xcd\xcb\x26\xd1\x17\x47\x53\x24\xd5\xea\x85\x3e\xbf\xe2\x3a\xbe\xd2\x63\x3c\x8b\x76\xf4\xac\xff\x54\x94\xf7\x79\x9a\xdc\x58\xd0\x9d\x01\x2f\x93\x09\x42\xa9\xc8\x09\xf9\xfb\x3a\x44\x5d\x0c\x6f\x3b\x4c\x14\x17\xa1\x78\xcf\xd9\x32\x28\x62\xce\x2b\x2d\xb0\x08\x33\xb6\x71\x1a\x78\xb9\x90\xcb\x40\xdf\x74\x0d\xaa\xad\x5c\xba\x5e\x36\xb8\xf1\xc4\x58\x14\x2e\x55\x4b\xa6\xae\x55\xdc\xd6\x7c\x6e\xe1\x2f\x23\xa7\x12\xb4\x99\x1d\x7c\xc4\x33\xde\x1d\xce\x0f\x4d\xcf\x4a\x36\xa3\x51\x14\x36\x87\xdf\x03\xb2\x78\xc2\x5e\xce\x36\x73\xe7\xb6\x79\xf8\x47\x75\x1d\x17\xa5\x62\x43\x0e\x4c\x0a\x3e\x28\x61\x47\x60\x6c\xb6\x3b\xc8\xb3\xe8\x2c\x75\x33\xa3\xfb\xbf\x43\xaa\xb4\xa9\x9b\x56\xce\x33\xca\x67\x0f\x45\x4d\xb5\x68\xe7\x0a\xaf\x4d\x0a\x74\x53\xd8\x2b\xd5\x16\x8b\xb0\xdf\x0b\x97\xdd\xb3\x6c\x20\x5b\x86\xd7\xbf\x81\x68\x67\x40\xe8\xc7\x20\xed\x8d\x32\x2f\x9f\x79\x6f\x6c\xb6\x25\x5a\x19\xdd\x3d\x61\x36\x0a\x56\xbe\x88\xeb\x5a\xab\x41\xb5\x65\xb0\x88\x31\x6f\x9e\x54\xc9\xb9\x6f\x1c\x5f\xdb\xe0\xb1\xda\x85\x56\x80\xc3\x04\xb2\x92\xc1\x38\x51\x95\x2b\x03\xb2\xde\x9b\x03\x27\x0f\x9b\xc7\x66\x20\xab\x1e\x89\x6b\x48\x1c\xf6\x72\xc1\xe2\xcf\xfa\x52\x31\x01\x95\x00\xd1\xcf\x2f\x19\x1a\x7c\x83\x4d\xbb\x0d\x8e\x81\x6d\x72\x0c\x94\x83\x1f\x59\x1a\x8a\xae\x59\x5a\x10\x82\xb9\x9e\xb7\xa2\x11\x11\x4f\x9e\xf3\xc0\xf0\x54\xc7\xf2\x9f\x16\x70\x08\xb4\x18\x05\xfe\x5c\x4a\x3a\x0c\x8a\xff\x15\xa7\x41\x3e\x71\xfb\xfb\x7b\x32\xb3\x77\x3f\xd9\xc8\x34\x63\x03\x7e\x4a\x45\xba\xc9\xb0\xc2\xab\x95\x31\x42\x43\x83\x8f\x79\x49\x03\x94\x1a\xab\x17\x40\x15\x41\x5a\xc2\x0d\xc5\x84\xc8\xb3\xe8\xe6\xfa\x87\x26\xe2\xaf\xa0\x2e\x14\x76\xb8\x21\xbf\x70\x0f\x12\xc1\x18\xa3\xc2\xa6\x16\xb8\x62\x6c\xb1\x92\x61\xf0\x01\x9c\xcf\x02\xcb\x5c\x58\xe5\x8c\xa2\x8a\xeb\x9c\xdc\xe6\x7a\x16\x97\x59\xfa\x37\xe9\x35\x21\x1d\xb0\x99\xa2\xe1\x80\x90\x22\x80\x95\x76\xa7\xff\x75\x6f\xa7\x3b\xf0\xcc\x57\xa9\x99\x1f\xc8\xad\x46\x14\x16\x0a\x6c\x50\xde\x42\xf7\xdd\x96\xb1\x7e\x2c\x01\x16\x6f\x84\x68\x5a\x7a\x35\xc7\x7a\xa9\xc1\xf1\x31\x87\xd5\xda\x22\x68\xb9\x42\x22\xfc\xc0\x12\x83\xa8\xfb\x41\x22\x9c\x85\x9a\xc1\x60\x2c\x30\xf3\x1b\xf6\xfd\xdd\x37\x11\xfb\x39\xa2\x3f\xd2\x67\x90\xab\xc4\xea\x51\xb0\xe1\xb7\xf8\x25\x14\x0e\x4b\x21\xb4\xdc\x7f\xf8\xe2\x61\xad\x79\x00\x92\x17\x4a\xa7\x9b\xe1\x7f\xcf\xa2\xe8\xcf\x69\x5b\xd5\x08\x40\x55\xcc\xb9\xc9\x9f\xdb\x70\x2c\x44\x96\x6c\x28\x20\x2c\x29\xef\x0b\xf3\x51\x7b\x92\x41\x51\x6f\xac\x68\x97\x24\x58\x62\x28\xce\xfb\x22\x5c\xa5\x58\x85\x8c\xaa\xc5\xcc\xa2\x63\xd0\xb5\x42\xd7\xd9\x22\xbb\x01\x28\xaf\x64\xcb\x30\x53\x16\x5e\x5c\x0b\x4b\xbd\x01\xe8\x81\xe0\xbd\xb4\xe6\x61\x9a\xda\x35\x06\xa7\x52\x6f\x89\x99\xca\x32\xa6\x18\x80\xde\x7f\xbc\xb2\x48\x59\xca\x4b\xd5\xdd\xb0\xdd\xcd\xb8\xe2\x4c\x66\x8e\x8c\xb1\xa0\xe3\xc2\xde\x25\x6e\x0b\x53\x6d\xe3\xe1\xd7\x02\x33\x83\xf5\xc2\xa3\x9c\x10\x85\xd1\x6d\xba\xdd\x12\x8a\xa0\xb7\x70\x6c\x9d\xce\x10\xb8\x46\xa3\x1f\xd0\x75\x93\x85\x43\x90\x70\xb7\xdb\x05\x16\x3b\x29\x73\x72\x13\x3d\x29\xac\x25\x76\xbf\xf1\x93\xd2\xeb\xce\x4d\x1c\x80\xfb\x40\xe8\xbb\x31\x6c\xe8\x39\xd6\x9d\xd0\x5c\xe2\xce\xbf\xbf\xd5\x2b\xf7\xd4\xd4\xcc\x5a\x94\xaa\x05\xc6\x81\x59\x33\x31\x7f\xa6\x04\xa4\x6e\xae\xe7\x27\xad\x18\xbd\xa3\x2b\x29\x2c\x74\x1c\xbb\x3b\x0c\xf0\x34\xd8\x8a\x90\xb4\xed\x0a\x17\x27\x19\xca\x9c\x83\x82\x70\x01\x85\x8a\xd2\xbf\xb9\xc8\xe0\xbc\x5a\xd1\x79\x2b\xcd\xe8\x56\x0f\xa6\x7e\xe5\xf6\x29\xe1\x15\x4e\x27\x6f\x0b\x09\x34\xbc\x08\x85\x43\x33\xae\xe0\x66\x7a\x05\x28\xa4\x84\x81\x0d\x39\xe2\x5d\xcc\x37\xc2\x99\x84\x38\x23\xe7\x13\xd5\xf9\x46\x31\x36\xbd\x2d\x74\x26\xda\x09\x76\xf4\x43\xb5\x7c\x15\x51\x68\x33\x51\x8e\xc5\xca\xe9\x28\x0b\xa0\x73\x03\xf2\xcc\xab\xee\x6b\x9a\xe1\x2b\x07\xb0\x53\xbc\x68\x48\x46\x02\x26\x16\x4d\x0d\xa6\xf3\x8c\x6e\x08\x48\x0a\x54\xde\x9a\x0d\x52\x2a\xad\x2f\xa1\x94\x9d\xba\xbc\x5a\x5d\x9a\x20\x0f\x31\xec\x89\x7a\x86\xa9\xdf\xec\xcc\xed\x18\xa1\xc0\xc4\xa6\x97\x8c\x1e\xc9\xea\xe1\xb3\x42\x04\x4d\x89\x41\x58\x5a\x8a\x01\x87\xca\xa7\x20\x31\x98\x6e\xc2\x12\x59\xb0\x33\x18\x8d\xcc\x31\xd3\x08\x7c\xb4\xa2\x5d\xde\xab\x88\x5d\x91\xd1\xdb\xac\x90\x6c\x5e\x6f\x07\x06\x0a\xf8\x6f\x26\x10\xa6\x7e\x52\xde\xa7\xd5\x19\xda\x1b\xfc\xb4\x3d\x1f\xfa\x09\x56\x59\x0d\x30\x56\x95\x7e\x08\x94\x09\x16\x54\x38\x38\x7c\xbb\x8f\x9b\x89\x4b\x28\xa9\x3a\xd1\x3a\xbe\xc0\xe7\x0d\x54\xeb\xc2\x1d\x3e\x6f\xd2\x6a\x59\x12\x29\xb2\x8e\xec\x9c\xee\xfe\xe9\xf0\xfd\x31\x6a\x9a\xa6\x8e\x11\x13\x0b\xc8\x62\x2a\xca\xdc\x81\x79\x13\x6f\x4e\x2e\x0a\x7e\x9d\x89\x80\x99\x88\xeb\xa7\xe7\x26\x98\x78\x41\x68\xff\xa3\xb8\x1c\xdf\x43\x39\x46\x34\x01\xa7\xad\x4f\x91\x8d\xec\x13\x42\x78\x1d\xf4\xdb\xef\x0f\x4f\xe0\x3e\xb1\x56\x6b\xa3\xc4\xae\x15\xd7\xfb\xc3\xbb\x8b\xb7\xe7\x87\x27\x3b\xa7\xe7\x5f\x1d\x1c\x9f\xbe\xdb\xde\xdb\x39\xdf\x89\x76\x8f\x8f\xce\xf7\x8f\xce\xa3\x3f\x1d\xee\xed\xed\x1f\xfd\x28\x88\x32\xa9\xa9\x9f\xe9\xc9\xe9\xe1\xfb\x9d\xf3\xfd\x08\x9b\x8c\x70\xf1\x7e\xeb\x27\x7b\x93\x97\x57\x7a\x27\x31\xe0\xe3\x8f\xf6\x85\xf7\x83\xc9\x7c\x50\xb3\xd9\xec\xc7\xe8\x07\xf3\x77\xf3\xa1\xc4\xda\xe2\x3c\x12\xe1\x54\x93\x34\x3a\xbd\x25\x59\x32\x4d\xfb\x6d\xbb\xdf\x04\x31\xe9\x3c\x13\x78\x52\xbd\x3b\xa9\x61\x5d\x4a\x21\xc9\xf4\x9b\xbf\x99\xb8\x8b\xe1\x79\x25\xb6\xd1\x3b\x5b\x32\x7e\x43\x8d\x30\xad\x0f\xca\x8d\x27\x94\x47\x1c\x29\x82\x28\xe7\xd7\x8a\x39\xb3\x08\x91\x57\xc5\xea\x56\x94\xbb\x87\x6c\x6d\xcb\x61\xdc\x88\x65\x9a\x80\xa6\xb5\x21\x22\x4a\x92\x44\xfa\xe1\xf3\x82\x8e\x17\x0f\x98\x76\x40\xe0\x31\xa4\x23\xb1\xa5\xb8\x80\x46\x53\xad\x31\xbc\xd1\x80\x77\x5e\xeb\x8b\x2a\x34\x5e\x2d\xec\xa6\x27\x8c\x51\x8f\xde\xb5\x5e\x29\xe2\xe8\xb5\xe5\x1f\x04\x06\xb6\x0e\x43\x92\x4e\xc8\x11\xa7\x77\xc9\xab\x36\x1a\x51\xa0\xda\x51\x06\xdd\xcf\xfd\x54\xcd\x89\x2b\x79\xd1\x85\xf3\x54\x70\xaa\x5f\xad\x10\xaf\x5b\x3f\xa7\x20\x10\x4a\x1c\x5a\xfe\x0c\x20\xfa\x2a\x58\x7e\x42\x97\xe7\xcb\x46\x20\x00\xbf\xf8\x9b\x04\xb7\x00\xe7\x47\xc9\x0c\xa1\xb5\x5c\x93\x1d\x36\x8b\x7e\xb4\xe8\xe6\xc2\xbe\x4d\x10\x04\x77\x19\x88\xa8\xe2\x2f\x02\x77\x12\x17\x8e\x17\xdb\x53\x39\x78\xa1\x6d\xa6\xc2\x67\x17\x38\x16\xc3\xc7\x97\x26\x21\xdd\xbe\xe8\xb6\x92\x5b\x49\x2b\x08\x9b\x09\xeb\x65\x5a\x5c\xd1\x58\xf0\x10\x65\x35\x49\xec\x29\x07\x29\xd4\x72\x90\x9f\x84\xb5\x4e\x19\xe1\x95\x3e\xd9\xa2\xba\x58\x45\xa4\x97\xb6\xfd\xa3\x24\x6f\x20\xf3\x89\xea\x98\x9a\x5f\x4d\xb2\x14\xd8\x13\xa9\x76\x50\xfb\x0b\x16\x6f\x5a\x66\x60\x61\x42\xb0\xd3\x16\xa6\xfb\x43\x61\x2a\x9e\xfc\x65\x7e\x6d\x4d\x54\x28\xed\x36\x09\xf6\x17\xf3\x4a\x66\x0c\x54\x78\x8e\x30\x65\xe5\x30\x95\x00\x47\x03\xa3\xd2\x1d\x00\x1e\x95\xee\x50\x3d\xc1\xa8\x74\xfa\x3e\x1c\x1a\x23\xff\xf8\xa8\xf8\x87\xc3\x19\x8a\xee\x28\x87\x86\x43\x2c\xf4\x6a\xa8\x89\x4b\xfc\x5e\x5a\x9a\x80\x3e\x2f\x7b\xf6\x19\x17\x59\x68\xdb\x02\x16\x4b\xad\xb1\xa8\x0e\x86\x47\x42\xdc\x5c\x5a\xd5\x2b\x13\x26\xa9\x6e\x5d\xa8\x74\x28\x3b\x29\x5f\x81\xbe\x12\x60\x3e\x9a\x58\xd3\xf6\x0a\xde\x8f\x31\x45\x2d\x34\xb9\x10\x11\x80\x46\x35\x81\xa1\x6a\x64\x05\x90\x2e\xeb\x48\xbf\x81\xa9\x34\xed\xf5\x35\x06\x7f\x40\x39\x77\x28\xe9\x8a\xa6\x4b\xeb\x44\x87\x32\x69\x2b\x27\x03\x79\xaf\x3d\x99\xc5\x9b\xb3\x0f\xf8\x9e\x98\x04\x50\x7c\x82\xe9\xd7\x3d\xab\x34\xc4\x35\xb6\x0f\x1f\x2c\xc9\x46\xe1\xba\x8e\xf3\x5b\x64\xee\xef\x9c\xee\x5b\x20\xda\x90\x50\xaa\x2e\xf9\xf1\x23\x90\xa8\x52\xb4\x6a\x2e\xe3\x4c\x5a\x34\x60\x7d\x6c\x32\x88\x28\x00\x61\x97\xf1\x8d\x40\x6a\x98\x16\xa5\xf7\xbe\xb4\x10\x07\xdf\xea\xdd\xbc\x06\x59\xa3\x2f\xab\x54\x5a\x14\xc3\x66\x6d\x09\x83\xb6\x7a\xdd\x1a\x2c\xb1\xfc\x37\x95\x58\x9d\xcc\xd2\x3a\x8e\x7a\x35\x55\x05\xb6\x50\x9c\x5f\x20\x2d\xd6\xed\xb7\xaa\xf6\x22\x04\xb3\x3b\xa9\xed\x54\x6d\xdd\x00\xd4\xba\x8a\x7b\x98\x01\x6a\x94\x06\xa2\xe3\x10\xc2\x95\x20\x14\x5d\x4f\xa1\x2a\x0b\x82\xa2\xff\x94\xd5\x9d\x05\xbf\x05\x97\x77\x7d\xa9\xda\x9a\xaf\xf0\x09\x95\x80\x0d\x68\xb1\x2c\x8d\x9f\xdf\xa2\x84\x73\x53\xe4\x87\x55\x63\x2f\x15\x84\xf3\xc5\x43\x8e\xc1\xfe\x49\x8a\x57\x6b\x00\x1d\x69\x2f\x5d\x13\x2d\x01\xe1\xa2\xc8\x8a\x3b\x8c\x3f\xcc\x8a\xdb\xb4\xca\x6a\xaa\x54\xaf\xaf\x61\x13\x3c\x2c\xd0\xed\xd5\x8a\xd7\xff\x75\xcb\x35\xc5\x61\xcd\x52\x84\x9f\x29\x82\xdd\xc6\x0e\x87\x45\xb8\xb3\xd1\x6f\xe6\x1a\xd9\x3d\xb8\x3c\x3b\xdf\x79\x73\x78\xf4\xe6\x92\xcb\xb6\x9a\xe3\x4d\x9c\x42\x0a\x79\xb3\x32\xb4\xa5\xef\x7d\x57\x4a\x90\xfe\x46\xb2\x9e\x9e\x5f\x9c\x3c\xa7\xac\x02\x7d\xaf\xac\x79\x7c\x95\x4a\x77\x6c\xca\xc1\xfa\x52\x4b\x08\x13\x35\xbe\x38\x81\xc4\xc3\x3f\xf3\x3a\x5b\xb8\x8e\x92\x00\xb1\x66\x49\x4f\x33\x69\x9d\x1a\x62\x0a\x73\x50\x84\xb5\xca\xe0\xcd\xd2\x01\xc3\x80\xca\x42\xdb\x12\x0a\x47\x8d\xbd\xd0\xfc\x6d\x83\x27\x23\x1f\x66\xa1\x96\x52\xa7\xb9\xa9\xd0\xdb\xd1\x8b\x59\x68\xa6\xb5\xcb\xab\x58\x65\x73\xeb\xe6\x0b\x29\x1e\xc6\x87\x72\xf5\xf0\xab\x82\xe0\x5a\x91\xa6\x28\x8a\xd6\x8a\x1a\x29\x89\x05\xae\x3c\xda\x2f\x26\x74\x98\x6d\x20\x5a\xa3\x0a\x5c\x56\x78\xeb\x75\x37\x05\x44\xe6\x41\x49\x20\xb6\x8d\x88\x53\x25\xe3\x5b\xc0\x2f\x52\x13\x69\x88\xa6\x94\x87\xc2\x97\x89\x64\xc6\x40\x2d\x9f\x60\xfc\xfc\xad\x41\x6d\x22\x17\xec\x5a\x17\x2f\x36\xb3\x6e\x5c\xb0\xb6\x94\xc5\x1f\x61\xd2\xd9\xff\xad\x76\xe8\x41\x2e\x1e\x3d\x6e\x54\x32\xaa\x64\x61\x22\x82\x10\xf5\xed\xa4\xeb\x41\x68\xae\x7b\x2d\x8d\x1b\xfc\x24\x36\x92\x86\x8a\x3c\x80\x42\xbb\xb2\x92\x56\xdb\xb2\xd1\x2f\x0a\x49\x46\xa8\x4f\x20\x1f\x81\xf0\x73\xe0\xe4\xe3\x88\x7c\xc9\x7e\x0c\x3f\xa7\x69\x22\xd9\x90\x31\x0b\x56\x3a\x3a\xe6\xf4\xa3\xb7\x21\x44\x2d\x73\xe9\x05\x69\xa8\x3a\x9f\x08\x44\xcc\x46\x55\x81\x72\xfb\xa4\xf3\x8c\xee\xca\x1e\x31\xa9\x53\x03\x6a\x62\x07\x11\xfd\x39\x81\xa8\xb7\x2a\xbb\x42\xc0\x63\xb0\x05\x5d\xe2\x90\xbd\x30\x28\xf0\x02\x97\x6b\x03\xfa\x1e\x53\xe3\x32\x2a\x52\xbd\x4a\xd1\x8b\xed\x92\x99\xce\xdb\x6a\x61\x8f\x62\xdd\x52\x99\xce\x99\xee\x97\x47\xb1\x65\x12\xd3\x79\x62\xb6\xd5\xa3\x58\x12\x05\x81\x23\x15\x74\x83\xb0\xfb\xb5\x4e\xc4\x60\x7d\x84\x40\x39\x04\x0e\x4f\x14\x8d\xe5\x4e\x90\x99\x9f\xc0\x24\x70\x9e\xa9\x70\x3c\x7c\xa4\x8f\x1c\xda\xc1\xb6\xe3\x08\x3e\x9b\x43\xf6\x4c\x04\x77\x59\x03\x2f\x67\x10\xb7\x34\xfa\x8e\x99\x4e\xf3\xa7\x54\xd2\xd9\x30\x46\xb9\x13\xd4\x18\xa6\x34\x72\x55\x4d\x16\x69\x3b\x08\x71\xd4\xfb\x28\x44\x48\x1a\x26\x7b\xad\x0b\xad\xd1\x62\x2a\xfa\x19\x8c\x85\x53\x68\x9c\xc9\x33\x8e\x59\xf9\x42\xb3\x40\x3a\x75\x10\x62\xda\xc1\x82\x10\x9f\xb7\x78\x0d\x2a\x07\xdf\x41\xb8\x31\x90\x96\x48\x85\xdb\x4a\x4f\x64\xa5\x6e\x6d\x21\x2e\xc7\x74\x04\x6e\x8f\x80\xa9\x14\x16\x17\x57\xde\x82\xe5\xa1\x69\x58\xfb\x91\x7e\x6b\x8f\xd8\x51\x47\x58\xc2\x03\x9d\x86\xe7\x71\xcc\xf9\x81\x6e\x72\xd2\xd7\x92\x25\x6c\x28\x0e\x08\xb0\x61\xdf\x99\xdf\x63\xba\xfe\xb8\x8e\xdb\xc1\xbf\x16\x23\x02\x86\xbc\x3d\x63\x0e\xef\x99\xf5\x18\xae\xdf\xe5\xa7\x99\x6a\x33\xe4\xeb\x77\x78\x93\xee\x6e\x3e\xc1\x4f\x31\xbb\xf0\x54\x75\x67\x78\x3a\x77\x6b\xa3\x1d\xcc\xf2\x74\xce\xce\x48\x6f\xc0\x78\x22\xdb\x3a\xe4\x70\xcf\x72\xe9\x39\x81\xb5\xf5\x64\x15\x09\x41\x24\xa4\xad\x3c\xfa\x74\x90\xdb\x35\x62\x00\x43\xb0\x61\x09\xc0\xe0\xb2\x1b\x3b\x2d\xe4\xfb\x8d\xda\x46\x31\xa6\xad\x40\x6d\x2f\xaa\x60\x3e\x42\x0c\x1c\x36\x36\x0b\x00\x01\x41\x53\x2e\x0e\x2a\xaa\x8c\x80\xe8\x21\xda\xe9\xa5\xdd\x42\x75\xb7\x36\x30\xd2\xbb\x0d\xd7\xb5\xd0\x07\xaa\xea\x81\x7f\x42\x8a\x71\xca\x96\xc2\x18\x37\x05\xa4\x46\x15\xa6\x48\x4f\x2d\xf5\xa4\x53\x55\x07\x43\x36\x30\x1b\x45\xc2\xd7\xb7\x75\xdd\xa4\x35\x1a\xb6\x0d\x36\x95\x64\x26\x15\xeb\x76\xe9\x26\x81\xaa\x55\x72\x1b\x11\x15\xe4\xf4\xad\xb0\xfd\x1a\x15\xdf\x88\x2f\xe6\x46\x49\x1a\x0f\xc4\xce\x8a\x8d\x02\xd0\x21\x1d\x34\xc7\x80\x59\x6b\x3d\x60\xc6\xbb\x60\x3e\xf6\x5d\x30\x1f\x7b\x25\x6b\xbb\x0f\x9f\xfd\x4d\x7e\xa6\x4a\x52\x1c\x8b\xfd\xcb\x2f\xd1\x4b\x0c\x9b\x27\x21\xd0\x35\xd3\x96\xad\x39\xab\x21\x5f\xf0\x97\x5f\xa4\x92\x80\x43\x5a\xef\x07\xf5\x70\x44\x92\xa2\x74\xcb\xa5\xf1\x2e\xbd\x85\xa5\x09\x38\x60\x4f\x13\xf6\x16\x79\xa9\x8b\x82\xec\x1e\x18\x18\xb2\x65\x26\xf0\xe3\xe4\x05\xe7\xe3\x71\x6a\x21\x88\x22\x2c\xcb\xc4\x8f\x61\x3b\x8e\x6b\x51\xbf\x87\x24\xe6\x26\xcb\x6b\xca\xed\x79\x53\x76\xa6\xf6\x4d\x69\x0b\x12\xc9\x53\x6a\x69\x71\x40\x22\xe8\x98\xa5\x29\xbf\xe0\x16\x3c\x7a\x53\x0e\x88\x8a\xf2\x01\x24\xd6\xf1\xb5\xb1\x9e\x6a\xe2\x26\xf3\x46\xc4\xf9\x02\xe6\x5f\xb5\x39\x0f\x3e\x22\x42\x78\x08\x7c\x4a\x51\x67\x06\xda\x2b\x1c\x84\x66\x58\x71\xe8\x65\x34\x68\x2f\xb2\xd9\xcb\xd4\x4f\x17\x70\x08\x69\x1e\xe5\x75\xc4\x7f\x61\x10\x3d\x79\x84\xdd\x66\x34\xc1\x6e\x33\x91\x99\xbe\x1d\x4c\x87\x02\x31\x2c\x16\x25\x3b\x29\xbf\x52\x51\xb7\x9d\x48\x7b\x18\x15\xf1\xa1\x38\x3f\x3c\x79\x15\x59\xb8\xb2\x03\x33\xec\x0e\xea\x98\x41\x0c\x73\x92\x86\x15\xd5\xaf\xcf\x54\x17\x33\x4c\x9a\x65\x81\xb5\x09\x21\x8a\x4c\x04\x91\x28\x02\x01\x8c\x61\x7a\x98\x49\xba\xec\xd8\xef\x29\x5f\xc9\x0f\x34\x26\x2f\x1f\xf4\x1c\x7e\x28\x3e\xd4\xf8\x7f\x34\x12\x16\xd0\x8e\xf2\x57\x4c\xa2\x4b\x74\x7f\x9b\x52\xaa\xda\x07\x68\x79\xd2\xa8\x5b\x2b\xde\x87\xff\x44\xe5\x1d\x0b\x95\x99\xcc\x31\xd8\x96\x5c\xe2\x9f\x74\x28\x50\x3d\x30\x9f\x9b\xa3\xee\x95\x2d\xdf\xcc\xd8\xc8\x50\xbf\x0f\x03\xab\xcc\x5c\x58\x49\xba\x53\x01\x39\x94\x3e\x18\x1b\x1b\x51\xaa\x3a\x54\xfc\x00\x74\xba\x5f\xcb\xfa\x96\x6b\xcf\x59\x34\xba\xf0\xf4\xb9\x43\x65\x67\xee\x2d\x26\x22\x60\xa8\xaa\xea\xc7\xaa\x46\xca\x8c\x5f\x5c\x40\x51\x71\xc8\x7f\x51\x36\x01\x14\x6e\x4c\xef\x58\x52\xbd\xa7\x04\xa2\x7b\x28\xed\xd6\x0c\x60\xd6\x03\xcc\x81\xfc\x0c\xae\x52\x78\xdd\x00\x48\x73\x7b\x07\xd0\x10\x38\xab\xca\x37\x98\x76\x51\x75\x60\x70\xe4\xde\x58\xf4\x9b\x01\xf5\xc9\x10\x7d\x51\x8b\xb7\x31\x61\x5d\xd2\x8a\x6c\x1e\x05\x25\xe8\x92\xb3\xb3\xd6\x6c\x22\xbb\x28\xee\x01\x25\x48\xc1\xe1\x58\xe4\xab\xe8\xbe\xac\xf4\xe6\x69\xb0\x2e\xf9\xee\x41\xe4\xe8\x1d\x70\x4c\xbd\x8b\x3f\x65\x8b\x66\x61\xef\x92\x19\xa1\xb0\x30\x02\x61\xa6\xba\x7a\x04\x1c\xfe\x62\xbf\x5a\xbe\x08\xea\x77\xdd\x14\x54\xe4\xe7\x36\x56\x94\x29\x28\x94\xed\x3b\xf0\xcb\x41\x35\x8b\x00\x8f\x30\x4a\x3d\x62\x8c\xf7\x9e\x5d\x05\xca\xd3\xeb\x53\xf6\x22\x58\x7a\xff\xf5\x24\xfd\x46\x8e\x69\x95\x8e\x75\xd6\xc7\x7e\xd3\xee\xe6\x94\x1d\x6c\xe1\x34\x29\xe7\x2c\x20\xed\xa0\x41\x2e\xfa\x36\x9d\x90\x23\x2a\x79\x6e\x54\xc3\x27\x0c\xb3\x8a\x24\x26\xa2\x48\xfa\xab\xee\xed\xaf\xff\x30\x7a\xf9\x3b\x8d\xe8\xee\x77\x1a\x05\x18\xb5\xe2\xbc\xdb\xbc\xaf\xef\xa2\x3e\x31\x99\xa5\xbe\x75\xf2\x73\xfd\x90\xd5\x72\x9a\x7f\x1a\x7d\x78\x4a\x42\x4d\x98\xc4\x48\xba\x0d\x00\xee\x9a\x10\x1b\x26\x10\xcc\x0c\xf1\x7c\x3f\x96\x0c\xe2\x69\x92\x61\xec\xf1\x4d\x25\xa7\x43\x79\x1a\xa5\x70\x83\x55\x92\x23\xdf\xd3\x40\x35\x73\x28\x90\xb6\x66\x5f\x14\x56\x9e\xd5\x7f\x54\xd7\x98\x5b\x25\x45\xd5\x0c\x02\x81\x6d\x35\xe9\x18\xea\x63\x13\x62\x0b\x46\x18\x53\x9c\x96\x2c\x44\x8f\x8c\xad\x0b\x4d\x95\x2d\xaa\x0c\x40\x7d\x9a\x82\x71\xd4\x34\x41\x79\x04\xc6\x04\xda\x58\x10\x66\x4e\x2e\xa6\x4c\x5e\x4b\x3d\x0a\x93\xa3\xad\x87\x4d\xa7\x07\x55\x1b\x84\x4e\x65\x4e\xaa\xa0\x17\x76\xf8\xb5\xec\x96\x85\x6f\xc9\x33\x6b\x4e\x4e\x3a\x7c\xb0\x7a\xbd\xf9\x53\x0b\x76\x10\xf6\xe2\x0e\x89\xd1\xa1\xe4\x23\x96\xc5\x04\xcc\x36\xe2\xf5\xfd\xd9\x42\x6a\xdb\xde\x8c\xb8\xe6\xc4\x16\xa2\xb7\x8e\x00\x49\xd1\xf6\x6a\x84\x1c\xb1\xc5\xe2\xd3\x3a\x66\xe0\xe8\x5e\xdb\xb5\x79\x44\x2f\xe1\x5d\x45\x79\x41\xb2\x79\x24\xc4\xb2\x4f\x21\x20\x41\xdd\x3b\x9b\x66\xf6\x51\xe6\x79\x0f\x95\x95\xfb\x4b\xf7\x81\x80\xc1\xd3\x0e\x8e\x08\x99\x92\x03\xfa\x84\x61\x6e\xce\xb8\x59\xe7\x3d\xe6\xe3\x2e\x30\xb7\xf8\x2c\x55\xc9\xf9\xd3\x1c\xcf\xa2\x17\x9b\xd1\xce\x08\x4e\x47\xd6\x2f\xa8\x62\x21\x3b\x05\x62\x8e\x9d\x6b\xaa\x7c\x2b\x5a\x52\xbd\x6c\xb6\xcc\xe9\xdf\xf0\xaf\x58\xe2\x12\x33\xfb\x5f\x7d\xf5\x15\x40\xf2\x5d\x42\x64\xcf\x4c\x4b\x21\x77\x98\x78\x90\xe2\xa3\x8f\x17\xa8\x87\xcf\xa1\x76\x5b\x0e\x20\x5f\x6a\x7e\x03\x1c\xbe\x2d\x32\xf2\x7d\x4c\x17\xcb\x5c\xff\xc3\x30\x54\x0d\xb2\x53\x19\x3e\x4f\x90\xab\xd8\x31\xd6\x06\x40\x25\x42\x9d\x5d\x3f\xda\xe8\x8e\xd6\x7f\xfc\xe4\x6a\x25\x83\xcd\x1d\xe8\xc9\xa6\x44\x4d\x3c\xf5\x7f\xfc\xf8\x3f\x01\x00\x00\xff\xff\xae\xf8\x42\xc6\x1a\x25\x03\x00") + +func cfI18nResourcesEsEsAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesEsEsAllJson, + "cf/i18n/resources/es-es.all.json", + ) +} + +func cfI18nResourcesEsEsAllJson() (*asset, error) { + bytes, err := cfI18nResourcesEsEsAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/es-es.all.json", size: 206106, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesFrFrAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xfd\xed\x72\x1b\x47\x92\x30\x0a\xff\x7f\xaf\xa2\x5f\x3d\xb1\x01\x79\x82\xa0\x6c\xcf\xec\xc6\x13\x9a\x38\x31\x0b\x93\x90\x84\x19\x90\xe0\x80\xa0\x76\x1d\x96\x83\xd3\x04\x0a\x64\x5b\x8d\x6e\x4c\x7f\x50\xa2\x67\x7d\x17\xe7\x02\xf6\xdf\x5a\xf3\xe3\xf9\x35\x77\xc0\x1b\x3b\xf9\x51\x55\x5d\xfd\x51\xdd\xd5\x00\x28\x7b\xf7\x9c\xdd\x18\x0b\x04\xba\x33\xb3\xb2\xb2\xb2\xb2\xb2\xf2\xe3\xbb\xff\x9f\xe7\xfd\x0d\xfe\xe7\x79\xcf\x82\xd5\xb3\x97\xde\xb3\x77\xd1\xbb\x68\x31\xb9\x78\xf9\x2e\x7a\x76\xc4\xdf\x67\x89\x1f\xa5\xa1\x9f\x05\x71\xa4\x1e\x18\x5d\x2e\xae\x4e\xc6\x1e\x3e\x04\xcf\xfc\x74\xd4\x04\xe4\xdb\x38\x4f\xbc\x3f\x5e\xce\xce\xbd\x34\x4b\x82\xe8\xd6\x4b\x1f\xa2\xcc\xff\xe8\x05\xa9\x17\x44\xf7\x7e\x18\xac\x8e\x3d\xef\x22\x89\xb7\x22\x31\x7e\xca\xee\x82\xf4\xa5\xe7\x2d\xd7\x5e\x2a\xb2\x61\x92\x47\x11\xbc\x3a\x14\xd1\x7d\x90\xc4\xd1\x46\x44\xd9\xf0\xde\x4f\x02\xff\x26\x14\xc3\xdb\x24\xce\xb7\xde\xe0\x6f\xef\x9e\x45\xfe\x46\xbc\x7b\xf6\xf2\xdd\x33\x00\x9b\xc3\xa7\xa3\xfa\x57\x3f\x0d\x5a\x86\x33\xf5\x25\x05\xc2\x5b\x09\xef\x3e\xce\x12\xe1\x2d\xef\xfc\xc7\xff\x13\x09\x1e\x41\x34\x10\x69\xe6\x6d\xfd\xd4\x23\xc2\x05\x50\x6e\xbc\xb3\x8c\x93\x44\x2c\x33\xe1\xe1\x43\x21\x7c\x9f\x07\xf7\x7e\x04\x7f\xf7\x1f\x48\xbc\x51\x44\x8b\x3c\xe1\x81\x54\xbe\x82\x81\x3c\x29\xcb\xd3\xcc\xbf\xfd\x1f\xc1\x72\xd7\x81\xec\xc3\xf2\xdf\x78\x8b\x3b\x91\x0a\xc0\x97\xdc\x07\x4b\xe1\x6d\x43\x18\xa8\x77\xe7\xdf\x0b\xcf\x8f\x3c\x3f\x4d\xe3\x65\xe0\x67\x62\x05\xf4\xa6\xd9\xb1\x77\x92\x08\x60\x02\xcc\x8b\xaf\xdf\x08\x22\xa0\x33\x82\x0f\x1f\x82\x30\x84\xbf\x96\x30\x83\x38\x21\xfc\x86\x95\x81\xbf\xf1\x4e\x44\x2a\xd1\xad\x0a\xfc\xc0\xbc\x34\x8e\x98\x6d\xb7\x89\x9f\xe5\x41\x96\x1e\x23\xdf\x96\xc9\xe3\x27\x7a\xdd\x5b\x0d\xf2\xc8\x40\x6b\xbc\x7c\x1f\xe7\x29\xfe\xe1\x7b\x6b\x7f\x99\xe5\xf0\x86\x38\xb6\x0d\x7c\xb4\xdd\x82\x8c\xf9\x09\x8c\xad\x45\x51\xc0\x53\x61\xb0\x94\x78\x1f\x3f\x6d\xfc\x04\x81\xda\x95\x06\x42\xfd\xdb\xdf\x8e\xe1\x9f\x73\x90\xa5\x9f\x7e\xf2\x3e\xc0\x38\x24\x1a\x2f\x4f\x91\x73\x92\x37\x9b\x8d\x1f\xad\xbc\xbf\xc0\xc3\x27\xfc\xf9\xa7\x9f\xfe\xd2\x42\xc8\x74\xe0\x1b\xa4\x94\x50\xf8\xde\xe3\xa7\xec\xf1\x93\x41\x9f\x07\xd3\xb7\x44\xa1\x92\x68\x44\x1d\x8f\x85\xfe\xf3\xd8\xf3\xb7\x81\x27\xa2\xd5\x36\x0e\x60\x1a\x40\x0c\xed\x53\x38\xca\x97\x79\xe4\x45\xb1\xc8\x57\xde\x3a\x88\xfc\x10\xa6\x66\x74\x31\x41\x42\xe0\xcf\xc0\xca\xfa\x79\x9c\x83\x9c\x67\xb1\x77\x23\xbc\x3c\xda\xc0\xc0\x80\x39\xc0\x94\x28\xce\x3c\x90\x9e\x04\xe4\x3c\x7c\xf0\xe4\xf7\xf0\x58\x76\x07\x23\x2a\x46\x6f\x27\x08\xc4\x24\x21\xd8\x5b\x54\x23\xa1\xff\xd7\x5c\x84\x21\x0a\x72\x94\x87\xa0\x30\xe0\x23\x02\xf5\x6f\x85\xb1\x36\xf1\x1b\x64\xd9\xe3\x7f\x7a\x61\x89\xc7\x28\x41\xf8\x3a\x2e\x3b\xeb\x50\x70\x9f\xf1\xbc\x2b\x58\x40\x03\x58\xb4\xc0\xfe\xf7\x22\x03\x99\x06\x59\x1c\xa6\xde\xe5\x78\xfe\x76\x72\x32\x1e\xe0\x18\xee\x03\xf1\x01\x44\x35\x5d\x26\xc1\x16\xc1\xa7\x5e\xbc\x06\x19\x5e\x05\xf7\xc1\x2a\x07\xce\xf1\x42\x80\xef\x7c\xef\x36\xb8\x17\x91\x92\xe9\x16\xee\xcb\x1d\xcc\xcb\xb3\x20\x0c\x52\xf1\x63\x2b\x09\xc4\x11\x7f\xbd\x0e\x96\x77\xc8\x09\xdf\xa4\x05\x3f\x4b\x02\x14\x45\x22\x4c\x69\x9d\xe9\xa5\xb5\x8a\xa3\xe8\xf1\x53\x3b\x1f\x46\x69\x1a\xdc\x46\x30\x05\x21\xc0\xfb\x10\x64\x77\xa0\x9e\x40\xec\x78\x46\x81\x47\x09\x08\x2b\xea\xb5\x38\xb9\x1d\xe2\x43\x03\x0f\x97\x40\xf3\x33\xe9\x16\x46\xc0\x4f\x75\x73\x00\xc6\x85\xaa\xf4\x47\x1a\x48\xf2\xf8\x0f\xc4\x4f\x4b\xa0\x0b\xbf\xc8\x1c\xd0\xb7\x0d\x99\x66\x1e\x21\xbc\x5a\xf8\xc9\xad\xc8\xf4\x1a\xa3\x49\xcf\xe8\x3b\xd0\x69\x1f\x3c\x02\xd8\x67\x2e\x9b\x81\xd2\x34\x2e\x83\x1b\x14\x67\x5a\x7b\xf9\xbd\x08\x61\x0b\x21\xe8\x4e\x84\xda\x08\x04\xa6\xf4\x25\xcf\x46\x96\x90\x74\xc1\x7a\x03\xa8\x7e\x14\xa4\x0c\xab\x8d\xbe\x5c\x2e\xa1\x30\x86\x2d\xcf\x1b\xfa\x1e\x2a\x92\xe1\x30\x7d\x1f\x6c\x87\x69\x1a\x0e\x69\x0b\x25\x30\x03\x00\x4a\x8f\xa2\xa2\x6a\x79\x0a\x86\x97\xe6\xdb\x6d\x22\x52\x36\x10\x3c\x91\x24\x71\xd2\x73\x39\x39\x91\x93\xbb\x90\x43\x2c\x7a\xfc\x14\x06\x9b\x20\x02\x2e\x2d\x45\x86\x7b\x3f\xc8\x5d\x9e\x34\x33\x06\x3e\x9d\xbc\xba\x3e\x1f\x9d\x8d\x41\x8d\x6f\x1f\x86\x29\x00\x80\x85\x78\x39\xbb\x9a\x9f\x8c\x87\xa3\x8b\x0b\x6f\x31\x9a\xbf\x1e\x2f\xe8\xe3\x77\xb0\xd6\xe5\x9f\x97\x17\x23\x18\xc7\x77\xc3\x58\x7d\x31\x9b\xbf\xfe\xfe\x7b\xf8\x62\x18\xc5\x43\xe0\x06\x6e\x46\xdf\x5b\x77\x1a\x0b\x56\xc0\x31\x64\xcc\xf4\xf1\x64\xf2\xcd\x74\x4c\x48\xc7\x84\x4e\x7f\x11\x7b\x80\x8d\xff\x6a\xc2\x69\x1b\xe8\x8c\xf4\x90\x1f\x82\xda\xdf\x26\x31\x28\x20\x50\xda\x1e\xcc\x42\x86\x1a\x91\x36\xb1\xe1\x4a\x20\xeb\x70\x1b\x05\xab\x08\x67\xd4\xcf\xd8\xe2\x80\x4d\xe4\x43\x12\x00\x37\x23\xb5\x57\xbc\x3d\x19\x5d\x5c\x4b\xcd\x77\xe9\x19\xd6\x93\xa7\xac\x27\x6f\x0d\x32\xe4\x47\x0f\xde\x4d\x9c\x83\x0a\x32\xd4\x7e\x6a\x53\xb8\xf0\xd5\x65\xc0\x16\x46\x88\x36\x4a\x7e\xe7\x03\x35\x3f\x1e\x01\xa8\x3c\x01\x11\x47\x89\x41\xd1\x47\xaa\x41\x5d\x0e\x60\x4f\x0e\x60\xff\x01\xba\xc0\x00\x78\xfc\xb4\xf5\x71\x63\x06\x35\xeb\xf3\x0a\x01\x9a\x6e\x61\x53\xf2\xfe\x9a\x07\xa8\x63\xd1\xe4\x79\xfc\x04\x0a\x19\x1f\x5f\xa1\x26\x06\x15\xad\xa9\x5d\x0d\xe4\x20\x22\xda\x8d\x2a\x03\x24\xc9\xca\x68\xdf\x33\xf7\xaf\x30\xb0\x9b\x3f\xcd\x2c\x97\xba\x1e\x94\x9f\x58\x06\xb0\x53\x00\xe7\xa3\x75\x70\x9b\x27\x0c\x10\x48\x07\x83\x23\x13\x09\x6e\x13\x9e\xcf\x56\x2d\x9b\xba\xf1\xcd\x0f\xa0\x80\xe1\xeb\x61\x08\xd2\x7d\xfc\x2e\x32\xc4\x28\xdf\xc2\x12\x00\xa0\x72\x23\x19\x2e\xdd\xad\x6f\x34\xb3\x6d\xd2\xb1\x0e\x42\x34\xa2\xc1\x98\x0e\x22\x3a\x28\xec\x49\xfc\xb1\x47\xb8\xc0\x1a\x86\x67\x61\xeb\x92\xb2\x64\xbc\xc7\x18\xc1\x2a\xbe\x61\xdb\xf8\x26\x8d\x43\x64\x3a\x88\x52\x22\x50\x50\xee\x8b\x57\x99\xbe\x2e\x46\x5c\x8c\x16\x6f\xae\x17\xb3\xeb\x57\x93\xe9\x58\x8e\x75\xfc\xd1\xdf\x6c\x51\x71\xae\xeb\x24\xbe\xa4\x27\xfe\x46\xff\x85\xff\x7b\xf7\x6c\x19\xe6\x20\x6c\xc9\x75\x14\xc3\xc6\x07\xac\x2b\x7e\xe3\x9f\x41\xb8\x33\xfc\xfa\x9f\x8f\x4a\xdf\x6f\xc4\x26\x4e\x1e\xae\x37\x37\xf8\xdb\x57\x5f\x7e\xfd\x3b\xf5\xeb\x4f\xf4\xe1\xa7\x3d\x56\xc0\x8a\x45\xdc\xdf\x3c\xfe\x0c\xe7\x21\xb2\xec\x2b\xf3\x00\x67\x37\xfc\xc1\xcf\x0b\xd3\x02\xc5\x1d\x36\x33\x1c\x64\xc6\xe3\xe5\x03\x13\x2c\x5d\x90\xe2\x5b\x16\xa8\x0e\x71\x72\x39\x03\x49\x16\x3b\x2c\x63\x0f\xed\xa4\x00\xd5\x34\x08\x98\x88\xe0\x5c\x76\xd8\x91\x49\x61\x9b\xe2\x89\x51\xc0\x86\x00\x2b\xdc\x5f\x2e\x1f\x7f\xa6\xb7\x15\xee\x95\x28\x21\xdc\x8a\x1c\x74\xc4\xdf\xf1\x98\xc9\xa2\x87\x1b\x0f\x0b\xde\xba\x4b\xd0\x4e\xde\x8c\xcf\x26\xe7\x20\x67\x27\x6f\x26\xe3\xb9\x16\x35\x41\xa2\xb6\x1a\xd4\x39\xbf\x9f\xa8\x39\x88\xd8\x2f\xa0\x96\x5e\xca\x71\x2b\x36\xdd\x80\xb1\xab\x99\x04\xbb\x1a\x7f\x2b\xd5\xea\xf5\xe4\xfc\x72\x31\x3a\x87\xfd\xee\xff\xbd\x0a\xcb\x9d\x41\xfb\x2a\xb2\xad\x48\x36\xb0\xf6\x70\xff\x45\x81\x79\xf7\x2c\x11\xfe\x6a\x18\x47\xe1\xc3\xbb\x67\xbb\xe9\x24\xfa\x6a\x8b\x66\xe8\x8f\x72\x69\x27\x4f\xa4\x9c\xbc\x56\xb9\x3a\x9f\x9d\x5d\xa3\x81\xa6\xb8\xa5\xb6\xed\xff\x4f\x71\x35\x28\x2e\x67\xce\xed\xa1\xcf\x9c\x84\xed\x57\xa0\x9d\x96\xe8\x69\x2b\x94\xb8\x1a\xfc\xc5\x74\x74\xfe\xdf\x48\x47\x1d\x5e\x45\xed\xcb\xa7\xff\x21\x36\xd7\x2f\xa8\xdf\xda\x38\xfe\x3f\x45\xcd\x1d\x56\xcb\xed\xcd\xc2\xbd\xf4\xdd\x53\x49\xac\x4d\x49\x5e\xe0\x7a\x4d\xef\xe2\x3c\x5c\xd1\xb2\xf6\x7e\x0c\xb6\xb4\x74\x8f\xe0\x73\x9e\x84\xbc\x96\x8b\x2f\xf1\x28\xee\x85\xf1\x12\xfd\xc7\x01\xde\x89\x00\xda\x63\xef\x22\x4e\x03\x9a\xb7\x00\xb8\x0e\x92\x8e\x7f\xdd\xa3\xdb\x3f\x13\xb7\x22\x39\x42\x2f\x1d\x30\x3d\x09\x62\x38\x33\x3f\x1c\x91\x27\x11\x9e\x4c\x63\xf2\xb4\xaf\x93\x78\x03\x20\x3f\xa0\x93\x17\xb0\xdd\x05\xb7\x77\xc2\x7e\x19\x51\x9e\xea\x38\xc8\xd0\x83\x8d\xae\x4c\x76\xb2\xa9\x09\x07\x8a\x8f\xe8\xec\xee\xaf\xd0\xa9\x24\xbc\xab\xf9\xd4\xbb\x47\x2d\x56\x7e\x08\x27\x1e\xbe\x81\xf3\x3e\xec\x34\x59\x0c\x43\xe2\xd1\xd1\x35\xc6\x56\x0d\x0b\x49\x83\xa7\xe0\x38\x8f\xaf\xf1\xd7\x6b\x74\x48\x4a\xef\x39\x5d\x0a\xc9\xf1\x3d\x7e\x82\x77\x51\xc6\xe4\xcb\x29\xdf\x91\x64\x49\xa0\x7d\x0a\x71\xb2\xc2\xfb\xa7\x24\x86\x25\xe2\x5b\x1d\xd6\x4a\x19\xb3\xc2\x5f\xb1\x6a\xdd\xc1\x42\x9c\x64\x6a\x82\xf9\xa6\xc8\xc3\x9b\x0d\xf4\xb4\x27\x89\xff\xc0\xae\x5f\x43\x87\xe2\xee\x90\xa2\x54\xb2\xcf\xf9\x86\x6f\x41\x84\x97\xe4\xa1\x68\xf3\xb7\x14\x93\xc2\x8b\xdf\xc1\x92\x80\x57\xf4\xfa\xc4\x89\x5c\xc6\x9b\x2d\x8a\x04\x4d\x64\x86\xce\x14\x1f\x27\x07\x3d\x33\x15\xdd\x41\x6b\x28\x65\xb2\xd1\x29\xb3\x22\x77\xcc\x3d\xba\x5b\x42\xf2\x2a\xff\x7c\x4b\xd4\x3e\x15\x5f\x19\x02\xed\x87\x06\x6b\x69\x50\x7b\xb1\x97\xe1\xd2\xe3\xdf\xf8\x20\xb4\x33\x69\x75\xa4\x6c\xc9\xc5\x1b\x74\x9d\xad\x68\xfd\xa0\x09\x44\x6f\xa6\x7f\xcd\x7d\xe0\xf1\x4d\xe2\x2f\xdf\x23\x53\xf0\x47\xf3\x2a\xf0\x2e\x00\xf2\xa4\xf9\x82\x0f\x26\x02\x38\x96\xe0\x25\x4e\x44\xef\xcb\x01\x49\x3d\xf5\x96\xf6\xd4\x1f\x40\x64\x79\x78\x82\xb7\x5b\x56\x51\xdf\x49\xad\x52\xe8\x24\x30\xd0\x92\x38\x8b\x97\x71\xc8\xd6\x59\xb6\xdc\xe2\x7e\x51\xfc\x0c\xc3\xcc\x82\x88\x04\x85\x9f\xf8\xea\xcb\xe3\xaf\x7f\xf7\xbb\xe3\xaf\x8e\xbf\xfa\xdf\xe5\x27\x71\xea\xa5\x8d\xf7\xdb\xdf\x7e\xf9\x2f\xd2\xbc\x53\x1a\xec\xfb\x43\x49\x5e\x8b\xd8\x11\xa2\x03\x89\x1e\xa0\x91\x9a\x1e\xe6\xfa\x06\xe7\x92\xde\x40\x45\xa2\xa6\x32\x45\x05\x82\xef\x80\x22\x80\x01\xe0\xd4\xa1\x6c\x78\x88\x33\x94\x2f\x8b\x68\x8d\x88\x79\x3e\x1f\x3f\x81\x22\xcd\xf9\x92\x8b\x95\x0a\xcd\xa5\xf2\x41\xea\x61\x15\xb3\xa9\x77\x9d\x62\xc8\xf5\x8d\xe7\x49\x66\xb5\x79\x3e\xd5\x5c\xda\xd6\xe5\x5b\xbc\x78\x03\x33\x37\xfe\x40\xae\xd4\xbf\xe6\x71\xe6\xab\xdb\x29\xb5\x1d\xf3\x97\xb6\x8b\x26\xf8\x6a\xc4\x17\x67\x3f\x12\x6f\x25\x08\x34\xbe\x90\x91\x52\x2a\x00\x43\x0e\xbb\x86\xbc\x77\xaa\x42\x6e\xa6\xce\x5f\xa1\xb2\x00\x58\x56\xd4\xfe\x0f\x71\x8e\x77\xbb\xe8\xdc\x46\x64\x30\x91\x16\x58\xab\x58\xf0\x0d\xaa\xf8\x88\x7e\x73\x1f\x77\xcd\x44\x6c\x63\x1b\xe4\x68\x40\x0f\x0a\xba\x04\x35\xc0\xe3\xbe\xb5\x7e\xfc\x94\xd0\xc6\x14\x5a\x90\xa1\xfb\xdc\x06\x98\xdc\xd1\x96\xf7\x70\x2f\x0f\xf1\xb8\xf5\xa0\x2e\xc5\x6d\x50\x50\xaa\x61\x1d\xfc\xf0\xf8\x9f\xc5\xbd\xb6\x0b\xd0\x18\x2f\x8d\x1d\x80\x22\xc0\xbf\x67\x6d\x30\x41\xcc\xb3\x87\x36\x48\xa8\xea\xed\xaf\xe3\x54\xf8\xf7\x7e\x10\x92\xd8\x81\x26\xc1\xc9\xb0\x4f\x74\x71\x21\xbd\x0a\xd2\x6d\x1c\x05\xe4\xf7\x97\x8b\xd0\x65\x4a\x24\x4a\xb0\x4c\xe0\xed\x15\xec\x01\x60\x42\x81\xca\x49\xf1\xce\xfb\x3d\xa8\xf4\x1c\x84\x34\xc8\xd8\x9a\xe2\x53\xce\x36\xcc\x6f\x25\x5d\xd6\x4d\x38\x22\xe4\x08\x11\x69\x3b\xf6\xde\x02\x19\x70\x10\x84\x95\xf0\xd7\x7c\x10\x84\x5e\x3a\xf0\x6f\xd1\x5e\x1a\xb0\xc1\x53\x50\x49\xe6\x31\x20\x18\x02\x06\x69\x53\x5b\x08\x47\xaa\xd7\x78\x0d\x63\xa3\x01\x4c\xbe\x04\xd7\x1a\x70\xc4\x02\x22\x01\x53\xf5\x5e\x9b\x7d\xf2\xda\x08\xc7\x05\xe6\x12\xd8\x4f\x22\xb5\x81\x4e\x44\x16\x24\x18\x3a\x21\xd0\xda\x92\x57\x37\xa4\x72\x8d\xa1\xa4\x96\x8b\xcb\x67\x17\xc4\x40\x50\x48\x6a\x2f\xd4\x43\x51\x1b\xa1\x9c\x0d\x20\x6d\xe5\x67\xbe\x8d\xcb\x33\xd2\xcb\x26\x3c\x63\xc8\x4a\x08\x52\x79\x05\xcf\x47\x1b\x9e\x94\xd4\xc6\xd4\x81\x96\x40\x20\xe1\x16\x87\x95\x50\x08\x0f\x5d\xd8\x1e\x7b\x97\x82\x2f\x5b\xef\x44\xb8\xb5\x49\xe4\xc0\x10\x49\x34\x7a\x75\x28\x89\x88\x18\x24\x45\xd7\x78\x6f\xc1\xbe\x35\x60\x35\x53\xf3\xb7\xbf\x1d\xbf\x05\x3b\x19\x20\x5f\xde\x81\x0a\xc7\x1b\x63\x75\xf3\x2f\xbf\x9f\xc6\xd1\x2d\x7d\x4d\xaa\x34\x05\xab\x68\xb9\x14\x5b\xd0\x0f\x36\x9e\x35\xc1\x94\xb7\xf9\x15\x90\x29\xdf\xad\xdd\xfa\x72\x97\x63\xc8\xa0\xaa\x2d\xbc\xfb\x42\x6b\x13\x52\x90\x56\x03\xf5\x0b\x4f\x2a\x50\xd6\x28\x16\x68\xbf\xf9\xcd\x08\xaf\x26\xf1\xa5\x97\x9e\x9c\x60\x1a\x25\x98\x69\x3e\x8a\xa6\xbe\xbc\xbc\x79\x00\xd5\x49\x8f\x92\x53\x06\x0e\x65\x09\x9e\xdb\x60\x7f\xc8\x33\x18\x21\x2c\xbe\x09\x86\x3c\x85\x21\xf1\x0e\xef\xcb\xb7\x0a\x5c\xe6\x3d\xa0\xd2\x8d\x3f\xc0\x22\x0c\xd2\xf7\xc7\xbf\xf9\x0d\x6e\xd6\xa7\x31\x7e\xed\x7d\x40\xc5\x0e\x76\x66\x20\xdf\x26\x0f\x0c\x2f\x7d\x60\x16\x93\xf4\xd3\x4f\x7f\xf0\x9e\x3f\xa0\x79\x1a\x7d\x61\x19\xae\x31\x10\xef\x25\xc9\xa3\x5a\xde\xc4\x60\x5c\x35\xd2\x1e\x48\x69\x6c\x01\x1e\x8a\xf9\x4a\x93\x4f\x28\x2b\x3a\x7b\x67\x70\xd6\x4f\xd5\x40\x55\x78\x0d\x88\x2a\xda\x86\x28\xee\x18\xec\x35\x90\xa4\xf2\xb9\x1d\x2d\x9a\x01\x5f\xca\xfb\x46\xb4\x0a\xe3\x06\x13\xec\xf1\x67\xb2\x94\x74\x0c\x1e\xd9\x33\x72\xe5\xa5\xfe\x0d\xbc\x87\xe7\x27\x66\xc9\x5b\x30\xac\xc5\x8f\x43\x72\x2f\x48\x24\x1c\x17\xa4\xe0\x19\x1c\xf1\x80\x25\x31\x9a\x79\xc0\x92\xc6\xa9\x1d\xe9\x28\x2e\xf4\xdf\x01\x8b\xe3\x90\xf9\x0c\xab\xcd\x5f\x66\x6c\x63\x9c\x80\x59\xb0\xf2\x5e\xa1\x52\x48\x6c\xbb\xc9\x0c\x47\x47\x3a\x88\xfc\x2d\x2b\x63\xb1\xa1\xaf\x52\x64\xb4\x37\xaf\x06\x0c\xf9\x16\x16\x1c\x19\x19\x65\xd0\xcd\x24\x9e\x9e\xbe\x98\x8f\xcf\x66\x6f\xd1\xb7\x70\xf5\x7a\x72\x6e\xa1\x60\xf4\xc7\xd9\xd5\x62\x3c\x87\x67\x17\x93\xf9\x78\xee\x5d\x9d\xd3\xf3\x43\x78\xc1\x0d\xae\x37\x1f\x5f\xcc\x2e\x27\x8b\xd9\xfc\x5b\x77\x14\xf3\xf1\xab\xf1\x7c\x7c\xbe\x98\x8c\xa7\xde\xe9\xb8\x0b\xe3\x5b\x74\x8a\x9c\xda\xa0\xd3\xaf\x96\x57\xa7\x93\xd1\xa5\xed\x3d\xfa\xad\xf9\xb5\x8b\x89\x8e\x83\xb3\xbc\x7d\x5e\x0d\x7d\xeb\x86\xe4\x3d\x17\xc7\xb0\x35\xdf\x65\xd9\x36\x7d\xf9\xe2\x85\xbf\x0d\x8e\xe5\x79\xe8\x18\x26\xdd\xb6\xf8\x6a\x88\xbc\xe7\xb8\xa4\x84\xb4\xc5\xcb\xd0\x44\x01\xad\x93\x9c\x97\xce\x08\x5f\x3a\x00\xa3\xb8\xc4\x8b\xc9\x58\xfe\xfd\x93\xcd\xab\xd9\x00\xbd\xfe\xea\x0e\xe8\xbc\xe7\xf8\xfb\x3d\xeb\x7f\xf5\xb3\xdc\x0e\x7e\xfa\xc9\x9d\xb9\x4d\x90\x25\x18\x5a\xa6\xa5\x87\x0c\xf8\x6e\x24\xf7\x63\x4f\x09\x5d\x37\x7b\x2e\xac\x92\x7e\x71\x31\x9d\x9c\x8c\x16\x93\xd9\xb9\x55\xe0\x2f\xb4\xa7\xdc\x06\x45\xff\x8e\x57\x33\x76\x30\x78\xf6\xb1\x0d\x8e\xaf\x75\x2c\xef\xc2\xde\x9c\xa6\x74\xbc\x30\x02\x22\x41\xd4\xb3\x60\x99\x87\x20\xf1\x37\x49\xfc\x5e\xd8\x82\xb8\x46\xec\xa3\xe5\xe0\xcf\x22\xb8\x18\x6d\xd3\x25\x7c\xc7\x8e\x36\x09\x0b\x3e\x77\x92\xa0\x63\x92\xfd\x8d\xa8\x51\xa2\x7e\x8c\xd7\x6b\x81\x91\xea\x4e\x34\xc1\x46\xb7\x31\x03\x96\x39\x94\x19\x40\x24\x66\x1c\x73\x5a\x50\xf9\xf8\x73\x62\x31\x7a\x47\x4b\xf4\xb9\xa0\xaf\x47\x46\xe6\xc3\xdb\xcb\x1c\x9d\xa1\x1e\x85\x86\xa7\x74\xae\x04\x99\x01\x4b\x21\x89\x28\x52\xd8\x66\xea\x11\x28\xe9\x96\x04\x2a\xe8\x75\x36\x33\x53\xd8\xc0\x73\x72\x40\x62\x0c\xd2\x47\xfc\x8b\xf7\x64\xe3\xbc\x58\x41\xd1\x41\xac\x8c\x69\xaf\x10\x8b\xb4\x96\xe0\xb8\x50\x9a\x4b\x4a\xab\x84\x92\x7b\x25\xcd\x82\xac\x83\x56\x0b\xa9\x2b\xb0\xb8\x28\x22\xd2\x38\x1f\xd1\x39\xc2\xb6\x7d\x8f\xf0\x8c\x6e\xc4\x63\xfa\xb9\xf5\x28\xd4\x86\x12\x3d\xe3\x89\x8a\x8c\x46\xa7\xe1\x76\xdb\x89\x50\xc8\x37\x56\x03\xf4\x45\xc3\xb1\x96\xdc\xd3\x45\x10\x98\x15\x1f\xc9\x0d\xbd\x0a\x2c\x81\x77\x41\xc3\x21\xd6\x6a\xf4\x3a\x0c\x3f\x4e\x6e\xf1\xbb\x59\x72\x2b\xbf\x7b\xc1\xb1\xac\xf8\xe5\x25\x7e\x50\x51\xe8\x34\x83\x57\x9a\xbb\xc7\xc7\x36\xc3\x99\xc8\x97\x47\xae\x0a\x0d\xb5\x20\xec\x12\x35\x7c\x12\x1a\x98\x31\xa5\x55\xd2\xc2\x81\x68\xa4\xae\x22\x04\x65\x32\x9b\x99\x14\x06\x30\xa4\x72\xdc\xbc\x3a\xd6\x49\xc9\xb8\x11\xc8\x46\x65\x47\xae\xf8\x6c\x1d\xb1\x77\xf7\xe4\x95\x32\xe2\x5e\xf8\x08\xe9\xd8\xf3\xe6\x82\x14\x09\x02\xa8\x80\x55\x76\x64\x07\x78\x9c\x8c\x95\xc0\x58\x3f\x18\x0f\xbb\x15\x32\x6d\xc7\xca\xa0\x75\x3e\x1a\xd8\x58\x3f\x1d\xf8\x4d\xc3\x52\x7e\x06\x65\x05\x0b\x56\x98\x29\xd9\x9c\xa6\x29\x4e\x77\x16\x86\x79\x7a\xf2\xea\x05\x48\x3d\xc3\x8c\xa4\x2f\x14\x86\x09\x3f\xa3\xaf\xcc\x9a\x7f\xe0\x8c\xd0\x5f\x07\xa4\x92\xa4\x19\x9c\x50\x72\x88\x57\x3d\x1e\xe0\x77\xc6\x01\xa1\xd7\x84\xe2\x94\x95\x26\x0a\xd9\x2c\x27\x60\xa0\x4f\x03\x2c\x45\x03\x18\xdd\xb7\x70\x20\x58\x92\x7b\x3e\x4b\xf0\x90\x26\x69\xc1\x99\xb2\xbd\x45\x93\x02\xf3\x1a\x19\x47\xb0\x20\x55\x8f\x9b\xb3\x1a\x44\xf7\xb0\xbd\xb5\x48\x08\x10\xf0\x26\xfe\x20\xee\xf1\x02\x0c\xcf\x76\xf2\xa6\x60\x1d\x24\x30\x33\xeb\x9c\xcf\x8d\x00\x0c\x53\x63\x08\xa7\x17\x6c\xb6\x78\x16\x81\xdd\xab\x44\x2b\xfe\x44\xc7\x57\xfc\xa3\x4e\x31\xd3\xd6\x53\x8a\xaa\xd2\x51\x88\x46\x75\xba\x9b\x18\xfb\xd6\xb8\xd0\x86\x0d\xd8\x7f\xe0\x2b\x56\xba\x89\x6b\x3a\xa9\xd5\x60\x1c\x79\x5b\x72\x5c\x0f\x8a\xc7\x97\xc5\xe3\x2c\x49\xa8\x5b\x44\xc8\x09\x10\x16\xd9\xc4\x0b\x13\x54\x4a\xeb\x38\x48\xe5\x35\xfb\x4a\x20\x51\xf0\xf2\x0d\xcc\x14\xf9\xf6\x41\xb3\xe3\x75\x5b\x38\x90\xec\x65\x65\x66\xd0\xea\xab\x2d\xca\x4a\x2e\xb3\xdf\x7e\x55\x37\x0a\x8d\xa4\x10\xba\x94\x91\x36\x03\xbb\x48\xd8\x43\xe1\x93\xb1\x12\xe8\x88\x66\x78\x07\xb4\xa3\xcd\xdd\xb5\xe0\x5b\x75\x6d\x18\x15\x17\xe1\x7c\x84\x97\x9e\x51\x0d\x33\x35\x42\x8b\xf9\x45\x53\xf5\x5a\xdc\x62\xbb\xd0\x4d\xeb\xc1\x9e\x80\xb0\x23\xdd\x1c\x62\xdf\x9d\x81\xe0\x44\x31\x18\xe3\x4f\xc0\x6b\x13\xea\xd3\x71\xbb\x46\xfb\x41\xf8\xdd\x40\x7b\x0f\x8e\xc7\x1f\xbc\xcb\xcb\x37\x72\xd2\x24\x51\xa2\x35\x4b\x66\x94\xa3\x2f\x37\xc5\xc5\xab\xa2\x31\x10\x02\x5b\xd6\x83\xb6\x14\x98\x11\x3a\x14\x57\xb0\xee\x31\x42\x3e\xd2\x99\x65\x64\x7b\xd8\xe6\xef\x12\x53\x47\x82\x0d\x60\xf3\x73\x18\x23\x5f\xc4\xf1\xd4\xc8\x8c\x31\xdb\x8c\xb0\xc9\xb4\xc9\x41\x1b\xde\x08\x99\x61\x23\x30\x12\x02\x06\xa9\xfe\x96\x19\x94\x2d\xa3\x7d\x5b\x28\x1e\x23\xaf\xa6\x64\xfa\xf8\xf7\x7c\x81\x68\xe4\x03\xb5\x72\x01\x8c\x3b\x1b\x6b\x0d\x8b\xcb\xfe\xb2\xce\xb8\xa4\x44\x0c\xeb\xd9\x75\x73\x93\xe0\x9d\xc3\xc7\x60\x43\xe7\x69\xf5\x56\xca\xda\xb7\xc3\x32\x05\x34\x64\x24\x05\x7c\x7d\x25\xaf\x95\xd7\x60\x45\xdb\xae\x07\xa6\xfa\x50\x55\xb6\x1c\x71\x37\xe2\xbb\x4c\x3b\xaa\xb2\x75\x59\xba\x40\x6b\xd9\xfb\x6c\xe6\xa9\x79\xa3\x66\x53\xea\x35\x03\x1b\xc7\xf9\x21\x4e\xde\x53\x48\xcb\xfb\x60\xbb\x2d\x2c\x73\x0a\x12\x42\xb4\xbd\x29\x51\x3b\xb1\xf9\x00\x30\x28\x7b\x80\xc3\x12\x40\xc1\x5b\x29\x8c\xb9\xf2\x7e\x4f\xfb\x60\x91\x58\x6b\x98\xe4\x08\x22\xb8\x8d\x62\xf4\xf2\xf7\x18\x8b\xd4\x38\x9c\x56\x03\x16\x0d\x9a\xe1\xac\x3b\xf8\xa1\x1d\xd8\x6a\x5c\xda\x51\x4a\x0b\x1e\x12\xea\x60\x6d\x24\xc2\x46\x4d\x59\x59\x28\x0a\x04\x29\xf0\x61\x54\x60\xf7\x2c\x53\x0e\xbe\x08\xe3\x5b\x0a\x4b\xe8\x38\x6b\xd1\x05\x8c\xf1\x2e\x85\x5b\xb0\xfd\xc0\x3e\x23\x3a\x7c\xe9\x2b\xf1\x1f\x30\x6c\xc0\xb7\xdc\xd5\x99\xcb\xed\x4e\xf8\x21\xc6\x8a\xdc\x89\xe5\x7b\x9e\x20\x76\x10\x0e\xf0\xae\x9b\x53\xdd\xa2\x38\x12\x03\x9b\xf3\x6a\xf1\xc0\x07\xe0\x82\x36\x76\x14\x3f\x7e\xba\x55\xe7\x76\x93\xb3\x25\xb7\xa1\xc2\x91\x6b\x1c\x9d\xe4\x6a\x1d\x10\xc0\xc8\x3f\xda\x9c\x44\xf8\x9b\xb1\xf4\x1d\x57\x7e\x6a\x73\x46\x1a\x04\xa4\x56\x3f\x24\xe7\x9e\xfa\x7c\xe3\x2e\x8f\xd0\xf6\x2d\x6e\xc4\x19\xa3\xa4\x34\xf9\x0d\x79\x78\x76\xd8\xbc\x14\x26\x3e\x68\xf2\xdb\x2b\x41\x31\x5b\xc8\x22\x92\xaa\xd6\x8d\xac\xc0\x2d\x74\xb4\x97\x5c\x7f\x12\x9a\x3a\xc5\xb2\x50\xb5\x6a\xf5\x32\x35\x98\xb1\xca\x14\xa0\x9f\xc3\x61\xf0\x94\x2d\x5b\x45\xa8\x0e\x53\xd6\xdc\x44\x85\x95\xf7\xba\x9d\x91\x96\xb6\xb3\x5e\xa8\x61\x53\x78\x8b\x01\xcd\xb6\xdd\x93\x62\x4a\x65\x5e\xb0\x5d\x83\x11\x28\x56\xb8\x21\xf9\x05\xe6\xf0\x2f\xbb\x42\x70\x24\x5e\x2d\x35\xb8\xf0\x87\x70\x66\xee\x2c\xb9\x85\x6f\x5b\x5c\x1d\x44\x80\x3e\x0c\xf0\xb8\x0b\x3c\xe4\xee\x30\x46\x5c\x47\x68\x71\x79\x18\xd8\xed\x0e\x0c\x87\xd1\x31\x9c\xd6\xc1\x19\xee\x1e\xfe\x9a\xdc\x2a\xda\xe1\x53\x22\xf7\xa0\x8c\x28\xd1\xd6\xcd\x87\x8a\xf3\xa7\x4c\x6b\xc5\xfd\x53\x23\xfa\x29\x19\xf8\x6b\xe3\xd3\x9e\xbc\xa8\x38\x6e\x01\x82\xfa\xe6\x9a\xbe\x61\xfe\xe8\x79\x48\xe5\x0c\x14\xbc\x61\xda\x7e\x24\xda\x34\x7b\x72\x17\xbf\x61\x99\x37\x8d\xce\xdf\x26\x72\x88\x69\xa2\x46\x91\x85\x55\x15\xf2\xac\xde\x63\x17\x56\x19\x1b\x04\xbc\xfb\x67\xfc\x20\x8d\x1a\x93\x45\x3b\x7a\x51\xcb\xdc\xa8\x6c\x1c\x15\x74\x15\x16\xec\xe9\x19\x85\x43\xde\x66\x4b\x67\x18\x18\xc6\x2a\xfe\x10\x85\xb1\xbf\xe2\x80\x86\x07\x0e\xf1\xa4\x40\x1c\xba\xae\x8e\x44\x86\x61\x6e\x18\x30\x6d\x1f\xcb\x02\x04\x90\xdd\xa6\x68\xa5\x3e\x7e\x0a\x61\x42\xef\x50\x64\x29\x38\x80\x2e\x70\x94\x61\x25\x43\x0b\xe0\x41\xf2\xf6\x98\xe1\xd8\x13\x89\xcf\x91\xf0\x4d\x80\xf5\x65\x84\x61\x4b\x4e\xa4\xbd\x72\x5a\x94\xc6\x68\x9b\x81\x12\xd5\x0c\x4d\xee\xe2\x0e\x20\xad\x04\xca\x50\x11\x0a\x27\x86\xe3\x37\x79\xa7\x2e\xe0\x03\x4f\xd7\x5f\xf0\x9c\xaf\x4e\xe3\x7f\xa9\x9a\xc1\x7f\x51\x61\x3f\xeb\x44\xa8\x88\x62\x6d\x84\xfd\xa5\x4e\x95\x7a\xcb\xa8\xdc\xe3\xcb\x42\x3f\xde\x09\x66\x01\x2d\x65\x64\x89\xbf\xda\x80\x91\x92\x02\x03\xe0\x0c\xee\x05\x6b\x72\x3e\x66\x77\x41\xf4\x9e\x7d\x09\x54\x9e\x89\x0b\x2c\x58\xe5\xb5\x14\x3d\xd2\x3c\x36\xc3\xd3\xd0\x30\xb6\x22\x1e\x49\x16\x06\xa2\x88\x58\x97\xf1\x35\xd5\x05\xc2\x32\x52\x22\xc2\xe3\xb5\x1c\x28\xc5\x54\x70\x08\x89\x31\x5c\x54\xb2\xa9\x4c\x48\x81\xc3\x44\xda\x14\xf9\xa6\xea\x38\xd8\x66\x35\x47\xe7\x6f\x86\x16\xac\xe0\x8d\x03\xac\xed\xa1\x0a\x13\x01\xf9\x09\xad\x37\x4b\xf2\xcd\x75\xc0\x76\x93\xa9\xf9\x51\xe6\x40\x51\xe1\x05\x21\x85\xcf\x18\xf0\x3a\xc9\xc0\xe8\x40\xbb\x62\xd1\x48\x65\xb9\x1d\xab\xb4\x1a\x00\xf1\x24\x83\x71\xa4\x1f\xb7\x78\x60\x47\xe6\x72\xec\x21\x9e\xae\x6e\x7c\x38\xda\x04\x64\x18\x27\x62\xe8\x1b\xdc\x38\x56\xa5\xda\xa8\x3c\xc9\x5f\xcc\x7a\x1b\xef\xf2\x2f\xbf\xfc\xed\x52\xdd\x9b\xd3\x5f\xc2\x1b\xe6\xf2\x7b\xe4\xa2\xfa\x2e\x96\xdf\x81\xe2\x56\x5f\xa5\xf2\x2b\x52\x78\xfc\xe5\x5f\x10\xbd\x49\x0d\x3a\xc8\xab\xe4\xd8\x0f\xa7\x15\x9e\xd0\xa1\xd4\x4f\x92\xe0\x5e\x1e\x48\x69\xe0\xcc\x2e\xbc\x01\x59\x62\xa9\x06\xac\x48\x33\x54\x79\x5a\x09\x8b\x10\x9e\xb5\x8d\x49\x3d\x36\x4b\xd1\x15\x95\x47\x1a\x38\x41\x55\x96\x28\x24\xa0\xc6\x8b\x42\x28\x1c\x58\x22\x4a\x3c\x31\x08\xd3\x34\x27\x78\xa5\xd2\x48\xac\x5d\x0c\xe2\x44\xee\x98\xb4\x7e\xd1\x73\x1f\xac\x64\x38\x2a\xa7\xf4\x70\x30\x54\x8c\x61\x52\xc1\x06\xaf\x08\x56\x36\xd3\x7d\xca\x3e\x4c\x12\x71\xe4\x3b\xfa\xfc\x18\x74\x34\xf0\x69\xf5\x6f\x93\x78\xf9\xf8\x09\x0e\x4e\xb4\xad\xf9\x1a\x07\xfb\xc4\x60\x11\xd3\x7d\xff\x8a\x0f\x33\x46\xdc\x18\xc7\xde\x37\x0f\xe2\x9b\xc9\x74\x3a\x39\x7f\xed\x9d\x8d\xce\x47\xaf\xc7\x73\x0b\x6d\xf3\xf1\xe5\xc5\xec\xfc\x72\x84\xb5\x4e\x4e\xc7\xde\x74\xe4\xbd\x1a\x9d\x2c\xae\xe6\x14\x55\x61\x01\x7c\x35\x99\x9e\x5e\x8c\x4e\xfe\x64\x8b\xa8\xa0\xdf\x10\xda\x09\x40\x5e\xcc\xaf\x4e\x1c\x60\x75\xc5\x57\xd0\x33\x0e\xf0\x02\xcc\xeb\xa8\x5a\x74\x9d\xe7\xd7\xa9\xd4\x46\x8d\x06\x58\xf7\x89\xd5\x8a\x15\x1d\xc0\x2a\x78\xb7\x1a\xcb\x20\x8b\x85\xa5\xe8\x0c\xc4\x24\x1a\x19\xf2\x60\x16\x6e\xd9\x91\x5a\x23\xee\xd7\x12\xf9\xa0\xc5\x88\xf2\xb4\xd8\xdb\x5c\x84\x42\x94\x7c\x1b\x16\x5f\xe3\x21\x86\xac\x02\x27\x7e\xa1\x21\xfb\xe5\xa0\x8a\x5e\xa3\xae\xd4\x09\x64\xdf\xcc\x9b\xc5\xe2\x82\x7d\x8d\xed\xa3\x68\xae\xf4\x27\xbd\x35\xec\xab\x44\x50\xbb\x90\x60\x8f\xb0\x70\xc1\xdd\xe9\xd2\x42\xe4\x38\x63\x37\x22\xfb\x20\x04\x1d\x2e\xca\x86\x09\xed\x41\x65\x1f\xb4\x54\x9b\xe4\x48\xb6\xd1\x86\xb3\xe7\x07\x29\x85\xb6\xa0\xb5\x52\x87\x0b\x0a\xbc\xc9\x33\xed\x07\x64\x3e\xb5\x53\x5b\x8f\x0a\xa9\x71\xcf\x66\x68\xf5\x0f\x17\x71\x3c\x15\x4f\xe5\x78\xed\x31\x23\x4d\xf3\x64\x25\xf3\x70\x71\x24\x6e\x87\x67\xc5\x5a\xb7\xa3\xf3\x4a\xac\xfd\x3c\xcc\xd2\xb2\xa2\x73\x8b\x8f\xd2\x8c\xea\x71\x3c\xf6\xf3\x8f\x1e\xe7\x60\xcb\x38\xed\xc7\x4f\x40\x40\xd6\xa0\xea\x7a\x46\x52\xf5\x1b\xb6\xd6\x6f\x4f\x37\xd2\x46\x4d\xb6\xf3\xa0\x3a\x84\xec\x20\xe1\x54\x7d\xd7\x47\xde\x4d\xd7\xe7\x0a\xb1\xea\xbb\x34\xaa\x64\x1f\x92\x8d\x2e\xfe\x94\x56\x1e\x7e\x66\xde\x39\x38\x61\x14\xe3\x4c\x45\x6d\x52\xe3\xa4\x4c\x4d\x1d\x5a\x7d\xb9\x19\x6b\x1e\x84\xab\x2d\x9e\xa0\xe0\x71\xfd\x87\xe2\x75\x29\x6d\xc6\x6e\xde\xd3\xfb\x2a\x4a\x33\xc9\x97\x8a\x51\x55\x78\xa5\xf4\x9a\x1d\xe8\x71\xbc\xd0\x75\x27\xc8\xe1\x82\xf7\x9b\x87\x0c\x3d\x7e\x30\x97\xa8\xf0\x54\x10\x80\x1f\xa9\xba\x05\x7c\x0e\xf2\xf1\x2c\x42\x46\xdf\x06\x4e\xc9\x79\xc2\x7e\xae\x30\x78\x2f\xbc\xb3\x23\xef\xec\x9b\x23\xef\x35\x95\x45\x78\xfd\x8d\xdd\x06\x90\x48\xe8\x86\x2f\x86\x63\x5b\x96\x72\xea\x31\xa7\xa3\x16\x95\x05\x74\x9e\xaf\x34\x5b\x10\x33\x47\xc9\x6e\x04\x25\x05\x66\x54\xa8\x13\x25\x0f\x71\xc7\x80\x1b\x6f\x04\x5f\xc7\xcd\x03\x54\x89\xad\xfe\x6a\x35\xe4\x28\xb1\x21\x25\x36\x62\xfe\x07\xff\x02\x12\x65\xa1\xda\xf6\x2e\x1e\x59\xcc\x5c\x10\x84\xd0\x8e\x1c\xe3\x47\x64\x8d\xd6\x34\xbd\xf3\xa8\x06\x65\xdb\xa1\xc8\xf6\x22\x62\xe6\x0a\x96\x1d\x08\xb7\x81\xf7\x1d\x90\x65\x4b\x19\xaf\x3f\xd7\x01\x6e\xeb\x75\x84\xc9\x9b\x8f\xb6\x86\xcc\xeb\x07\xe1\x18\xee\x5d\x5d\x8e\xe7\xf4\xd7\xc5\xe8\xf2\xf2\xdf\x66\xf3\x53\xf4\x2f\x74\x61\xc0\x17\x11\xc5\xd5\x62\x32\x9d\x5c\x8e\x16\xe3\xab\xb9\x77\x36\x5b\x5c\x9f\x8e\xaf\x11\x0c\x55\xc9\x71\xc0\x8d\x0a\xeb\x5f\x8d\x5c\x16\xef\xdd\xb3\x77\xef\xde\x3d\x83\xb5\x92\x7e\x88\x93\x15\x7e\x7e\xf7\xcc\x7b\x2e\xd2\xa5\xbf\x65\xaf\x38\x2c\xcf\x60\xcd\x27\x1c\x0c\xba\x94\x0f\xda\x6e\xba\xcb\xc8\xe2\xcd\xbf\x1a\x99\x2e\x12\xd7\x26\xce\x56\x02\xe1\x08\x85\x0d\xa3\x46\x65\xda\xb6\xbf\x8d\x61\x75\xc7\xdb\x3b\x41\xf9\xce\xe4\x62\xde\x6e\x65\xe6\x7b\xc0\xe9\x69\xc6\x23\x14\xea\xc4\x87\x20\x4e\xba\x94\x31\x8c\x80\x83\x4b\xbf\x00\x16\xcb\x85\x79\x17\x5b\x36\x0f\x7a\xb0\x48\x23\xa6\xf2\x49\x76\x50\xe2\x83\xfc\x29\x55\xba\x82\xc4\x75\x47\xae\x6c\x40\x93\x99\x14\x23\x3e\x2a\x0e\xcd\x3c\x81\x9f\x52\xfd\x9b\x51\x95\x00\x6b\xe2\xe4\xc4\x12\xde\xaf\x52\x79\xd4\xb8\xcd\x03\x4a\xd9\xcb\xd2\x2f\xba\x64\x82\x6a\x79\x91\xa9\xae\xcb\xdc\x9c\xce\xce\x46\x93\x86\xaa\x4c\xdf\x0d\x87\x77\xc0\x78\x0a\xfc\x79\x33\xbb\x5c\xe0\xfb\x58\x3c\x16\x8b\x35\xcd\xe1\xf3\x62\x3c\xbf\xbc\x1e\x5d\x5e\x63\x9d\x01\xdb\x0a\x74\x21\x46\x76\x30\x50\x76\xa1\x2c\xa1\x7f\x39\x3e\xb9\x9a\x4f\x16\xdf\x5e\xbf\x9e\xcf\xae\x2e\x3a\xd8\xdc\x06\x88\xde\xc7\xb2\x3d\x04\xaf\x43\xa3\xc8\x52\x67\x2d\x94\x60\x25\x5d\xd6\x6c\x2e\x34\xb5\xd3\x42\xb0\x5c\x14\x9d\x63\xc9\xbf\x7e\x73\xd3\xaf\xbc\x9b\x01\x7b\x3e\x56\x80\x1d\x88\x96\xcd\x12\xf6\x9e\x5d\x0b\xa0\x7e\xb3\xab\x2c\x07\x9b\x19\xd4\xf0\x60\x2b\x40\x8a\x0f\x1a\x4a\x77\x07\x2c\x11\xb5\x96\x60\xe9\x50\x1d\x19\xac\x6a\xd6\xc5\xfe\x32\x0c\x10\x0a\x86\x31\xd6\x40\xb8\xca\x54\x07\xb3\xb9\xa8\x16\xbe\xe3\xa7\x0f\xd1\x72\x88\xfe\x5c\xcc\xe7\x58\x4c\xce\xc6\xb3\xab\x05\xc8\xc8\x35\x00\xb9\x5a\x8c\x2f\xa9\xfe\x33\xd0\x02\x93\xfd\x1c\xcc\x2a\xe1\xfd\x87\xb7\xf6\xc3\x14\xff\x45\x74\x2f\xb2\xf8\x05\x5e\x16\x7e\x41\xcf\x2d\xe3\x10\x74\x5f\xe9\x39\xfe\x81\x4a\x27\x01\x84\xe9\xec\x64\x34\x1d\xc3\x6f\x27\xd3\xf1\x68\xfe\x45\xe7\x60\x2d\x64\x9e\x8e\xa7\xa3\xc9\xf5\x68\xb1\x00\x5b\x63\x7c\x3d\x76\x21\x96\x2b\xc1\xbc\x90\x37\x90\x8e\xe4\x8e\xcf\xdf\x4e\xe6\xb3\xf3\xf3\xf1\x19\x20\xba\x26\xe2\x0d\xda\xdb\x39\xcc\xc5\xc1\x60\x73\x1a\xe2\x0d\xcf\x1a\xef\x1a\xf4\x52\xfc\x6e\xb8\xf5\x5e\x28\xf6\xb1\x4b\x1f\x1f\xa4\x32\x7f\xe4\xd4\xd7\xef\x1c\x3f\x6c\x42\x6b\x8d\x9b\x36\x5c\x6a\x65\x12\x2a\x39\x78\x75\x09\xb1\xc1\x47\x2b\x88\x84\xc4\xe4\x32\x28\x2d\xef\x9e\x76\x66\x93\xec\x7a\x94\x3d\x3c\x99\x91\x44\x73\x72\xcb\x7f\x0c\x87\x2b\x38\x46\xc1\x27\xc7\x41\x14\xb0\x6b\xfe\x6f\x29\xda\x1d\x58\x5c\x06\xb0\x8a\x37\x3e\x18\x2b\xa8\x4f\x79\xf9\xb8\xd1\x56\x7b\xad\x43\x81\xc8\xd7\xf0\x98\x0b\xef\xb8\xe1\x50\x0f\xbb\x00\x6e\xdf\x79\x54\x8d\x44\xd4\xbd\xd7\xf3\xab\x29\xa8\x61\x2c\x97\xe8\x46\x46\xc7\x4e\x54\x2e\x65\x07\x76\xff\xeb\xa9\xd4\xf2\x8e\x84\xbb\xd4\x79\xb4\xec\x4f\xf0\x3d\x28\xaa\xd1\xeb\x4b\x47\x89\x52\xc8\x4c\x24\x6e\x1b\x16\x61\x1a\x2f\x26\x7f\xbe\x1a\x2f\x50\xbb\xf4\x19\x1b\xdd\x49\x0e\xb3\xf8\x3d\x58\xa9\xd3\xd1\x37\x70\x20\xba\x98\xcf\xde\x4e\x4e\xc7\x73\x6f\x31\xfb\xd3\xd8\x51\xe2\x9a\x80\x4d\x00\x18\xe8\xd0\x57\xb3\xab\xf9\xf9\x04\x2c\x7b\x30\xf4\xff\x38\x5e\xf4\xe3\xfc\x90\x53\x70\x35\xcf\xbf\x99\x03\x4d\xf3\xfa\xc9\x83\xaa\xe3\xc1\x32\x93\x87\xad\x65\xbc\x15\xab\x7e\x6c\x57\x98\x4e\x80\xdc\x05\xca\x8a\xae\x78\xdf\x76\x5a\x69\xc6\xdb\x67\x80\xef\xc5\x43\x5d\xa2\xd4\x17\x7f\x1a\x7f\x6b\x93\x2e\x7b\x61\xd5\xa7\x29\xac\xdf\x97\xec\x5f\x6d\x91\xd8\xa7\xac\x61\xbd\x03\x93\xf6\xaa\x10\xbb\x47\x2d\xeb\x16\x92\x6b\x3a\x07\x0c\x89\x56\xfd\xc3\x74\xff\x82\xe5\xfa\xdb\x26\xa0\x75\x34\xfd\x0b\xc6\xfe\x1a\xea\xc5\x3e\x55\x45\xec\x1d\xb8\xf7\x8b\xd4\xc6\xae\xd2\x7b\xe7\x27\x62\xa5\xac\x9e\xe2\xac\x42\x87\x8f\x44\x5a\x06\x73\x2a\x08\xc3\x26\x87\xeb\xce\xd0\x00\x77\x5c\x03\x2c\x4d\x0e\x82\x7f\x35\x77\xdd\x7c\xc9\x2f\x5f\x34\xcf\xc1\xae\x39\xf0\xe1\xaf\xfc\xd5\xf0\xcf\x57\xb3\xc5\xc8\x95\x4a\x02\x35\x6e\x80\x45\x50\x86\xfc\x8b\x1b\x59\x14\x2f\x56\xdb\x5c\xdd\xe8\xa0\x77\xdb\xf6\x4a\x67\x0a\x86\xaa\xb2\x69\xd5\xfe\x32\x4d\xae\xad\x77\x32\x1f\x9f\xa2\x0f\x77\x34\xa5\xf3\x54\xe8\x5d\x7e\x7b\x39\x9d\xbd\xbe\x3e\x9d\xc3\x3c\x5d\xa3\x5f\x14\xbe\x4d\x78\xe2\x95\xc8\xd2\xd7\x52\x4a\x2f\xfc\x54\xb6\xc6\x83\x25\x87\x0b\x86\xaa\x8d\xc2\x8c\x73\x55\xac\x62\x5f\x20\xaf\x5a\x6a\x26\xc2\x17\xd1\x6f\xde\x26\x5e\xc9\xe2\xa2\xbb\x8d\x04\x06\x82\x55\x91\x81\x8a\xa3\x82\x8c\xa3\x02\xf9\x11\x63\x7f\xf7\xac\x44\x75\x03\x95\x54\x82\x83\x56\x1a\x10\xca\x34\x18\xc1\x08\xb5\x20\xc0\x3d\x69\x46\xad\x09\xfa\xe1\xab\x62\x23\xff\x8a\xd4\x26\x7c\xf7\x75\xf1\xdd\xd7\x66\xa1\x6d\xda\xb0\x1f\xa8\xae\x89\xb9\x83\x9a\x9b\x3b\x92\xbf\x27\x61\xe6\x7e\xea\x2e\xb8\x75\xd8\x0d\x86\xf7\x16\x74\x00\x9c\xb1\x61\xd7\x9b\x90\xe0\xbd\x92\x15\x6e\x58\xfa\x40\xb2\xe0\x84\xff\x76\x36\xb9\x66\x39\x64\xe9\xc3\x6f\x15\x99\x24\x89\x52\xfa\x16\x48\x92\xf4\x17\xaf\xe8\xe6\x68\x93\x96\x15\x37\xe5\x59\xe9\x22\x7c\x83\x60\x55\x0a\x09\x54\x4d\x9e\xea\x3d\x9e\x54\xee\x39\xcd\x33\xb7\x21\xc4\xf0\x34\x3d\xf9\x6b\xef\xa5\xd7\xb0\x65\x3a\x72\x81\xc4\x15\x89\x3d\x32\x48\x3d\x2a\xc8\x39\x52\x74\x68\x81\xad\x8e\xb4\xb2\x0d\xb6\x0c\x11\xb7\xd9\x75\x9c\x6c\xf4\x46\x22\xe5\x5b\xd5\x69\xc0\x5c\x42\x8e\x3d\xd2\x5b\xa6\xf0\xd6\xfe\xe3\x7f\x61\xf8\x5e\x39\x48\xd5\xeb\x21\x55\x4d\x63\x46\x71\x5f\x86\x8f\x9f\xbe\x32\x6c\x02\x16\x78\xfc\xf6\x6b\xe3\xdb\xb2\xc8\x3f\x7e\x5a\x72\x01\x4b\x8c\x12\xac\xec\xd8\xe5\x1c\x3e\x7b\x91\xde\x3d\x49\x2f\xef\xd0\x1d\x4a\x18\xcb\xc2\x90\x87\xe4\xbb\x61\x70\x8f\x12\xfc\xef\x1e\x18\x7a\x6f\x66\xa7\xf8\xf9\x8d\xf7\x66\x3c\x82\x83\x21\x7e\x5e\x79\xa7\x23\xd8\xa2\x70\x37\x84\xcd\x70\x0b\x16\x06\x2e\x38\xa5\x5a\xbf\x79\x50\x81\x25\x45\x71\x5a\x84\x3d\xe0\xe0\x6f\xd8\xf7\x71\x5e\x41\x01\xbc\x1e\x2f\x94\x19\x2e\x0d\x7a\xd0\xc1\x48\xc0\xb1\x37\x59\x53\x19\x4b\x82\x17\xa4\x45\xb5\xeb\xfb\xc0\xf7\x86\x2b\xac\xee\x7e\x81\xae\x49\xd5\x95\x4d\xc2\xa4\xdb\x9d\x34\x03\x3b\xe2\x48\x55\xc2\xa0\xe0\x72\xec\x66\x8b\xd9\x8b\x04\x4e\xbd\x93\x8a\x4c\x5e\xf9\xab\x3b\xf6\x17\x58\x38\xfa\x98\xea\x6e\x6c\xfc\x07\x2f\x86\x15\x94\xa0\xd5\x72\x07\x00\x51\xc5\xd2\x25\x09\x30\x42\x82\x26\x68\x2a\xd9\x13\x64\xfc\x2e\x5e\xc9\x47\xfe\xfd\x58\xb2\xe2\x15\x9c\x1d\xa8\x4d\x69\xbc\xcc\x37\x1c\xc3\x1f\x47\xb0\x78\x38\x62\xf9\x1e\xeb\x0b\x51\x45\x35\x2e\xa8\x06\x4f\xa5\xc7\x4b\x2c\xb5\xb7\xe6\x4a\x7b\x98\x21\x62\xbb\x4c\x2e\xcd\x9a\xf4\x39\x55\xe7\x6d\xcc\x13\x37\x3e\x1f\x2e\xe0\xfc\x28\x67\x8e\xb5\x58\x79\xf2\x48\x3a\x8a\xad\x51\x47\xe6\x1c\x55\x67\x50\x86\xe8\x08\x4e\x60\x04\x09\x97\x16\x2c\x4e\xa5\x2a\x3c\x25\x45\x3d\x95\xf2\x8f\x15\xe5\x2f\xf9\xd2\x4b\x2d\x77\x42\x43\xb7\x5e\x6c\x3a\xc3\x4f\x6a\x62\x2b\x70\x69\x96\x91\xbf\x12\xb1\x6a\x9f\xea\x7b\xdc\x77\x14\xe6\xb0\x36\xc1\x3e\x98\xd5\x32\xdc\x58\xe6\xe6\xd5\xa6\xd8\xac\x00\x92\xa0\xb9\x0a\xb0\x38\xf1\x56\x44\xc3\x0c\xcc\x65\x59\xea\x1e\x98\x27\x32\x02\x0a\x18\x37\x8f\x9f\x70\x8e\x85\x99\x90\x4b\x0f\xe9\xe9\xbe\x90\x51\x3f\xa5\xe9\x2e\x0e\x8f\x14\xd3\x01\xe2\x70\xc4\x33\x4f\x17\x63\x1e\x7e\xe8\x96\x81\xd6\x85\x2b\xeb\x0d\x18\x8e\xdb\xb5\x37\x4c\xba\x2c\x48\xf9\x56\xe1\x82\xe5\x97\x1c\x30\x35\xba\x56\xe1\x7d\x37\x8c\xad\xce\x53\x82\xe2\x42\x42\xd5\xde\x77\x45\x5e\xb3\xe7\x1d\xf1\x49\x8f\x67\x0f\x4c\xa5\x37\xdc\x50\x6c\xef\xfc\x48\xc8\xab\xcc\xb4\x17\xaa\x86\x37\x5d\x50\x72\x2a\x17\x1d\x15\x7a\xa0\xab\xbd\xe5\x82\xaa\xdd\x0d\xec\x8e\xbc\xc3\xe7\xdb\x83\x1e\xeb\xe9\xc2\x9d\x14\xab\xb5\xd8\x8f\x88\x16\x37\x6c\x6f\x6a\xba\xbc\xb0\xbd\x69\x6b\x76\xc2\xf6\xa7\xcb\xea\x62\xed\x4d\x91\x83\xd7\xb4\x2f\x71\x0e\x9e\x2f\x57\x22\x9b\xfd\x11\xce\x04\x59\xdc\x0e\xae\xd8\x4b\xae\x05\x67\xa4\x65\x2f\x42\x1f\x5c\x52\x19\x18\x9e\x8b\xa1\xda\x83\xfa\x20\x97\x60\x70\x33\x22\x20\xd7\x7d\x89\x29\x3b\x2f\xdc\xb1\x37\x3a\x2e\x1c\xb0\xf2\x45\xde\x70\x0d\xf6\x78\x9e\xc0\xbf\xa1\x7f\xeb\xbd\x1a\x8f\x16\x57\x73\xa7\xe8\xb0\xc6\xf7\x91\x8c\x57\xb3\xf3\x96\x34\x9a\xea\xeb\x18\x58\xe6\x18\xdd\x65\xbe\xe2\x14\xe5\x85\x2f\xec\x1a\xfc\xd6\xf0\xae\x6b\xfc\x1b\x7b\x59\x76\x66\x6c\xd3\xeb\xee\x7c\x95\x6f\xf7\x60\xab\xf1\x86\x13\x57\x45\x74\xef\x0e\xfa\xde\x11\x26\x56\x25\x4f\x9d\xc1\xf2\xd3\x4e\x90\x77\x9d\x85\x1d\xd9\x6f\xbe\xd6\x15\xce\x52\x7e\xb6\x1d\x6c\x80\x96\x7d\x61\x1e\x53\x04\x0b\x1e\x96\xb4\xca\xc7\xa3\x4f\x46\xff\x4f\x39\xa2\xe4\xa3\x89\x39\x5d\x8a\x8b\x65\xe2\xf9\x34\x93\x80\xb0\x3c\x2f\x65\xf4\xe8\x94\x89\x98\x8b\x69\x9e\x06\xe2\x36\xa6\xac\x4f\x11\xe1\x51\x06\xfb\xcc\x2b\x1a\x40\x40\x6c\x35\x71\xcb\x64\x6a\x7b\x5c\x86\xc8\xd8\xe8\x54\xa9\x9c\x48\x2b\x9d\x3b\x54\x13\xb0\x24\xe0\xbc\x4a\x49\xb4\x3c\xd7\xe8\x82\xf9\x9c\x45\x6c\x46\x96\x53\x5f\xf0\x81\x3e\xd9\xa5\x7c\x8a\x4b\x1f\xd2\xec\xf1\xe7\x8d\xe0\x0e\x40\x60\xac\x63\x79\x23\x1a\xe1\x91\xd1\xb7\xbe\x34\xbc\xd6\x49\xb8\x15\xd9\x90\x2b\x10\x0d\xb9\x02\x91\xa3\xb8\xd6\xde\x73\x12\x5c\x6c\x11\x01\x2c\x9c\x9d\x9d\x8d\xce\x4f\xbb\xb6\x82\xd2\xc3\x5d\xce\x72\x59\x75\x51\x46\x15\xcb\x60\xa1\x21\x8a\xd4\x8b\xc5\xec\x85\x2c\x51\xff\x1f\x74\x35\xfc\x1f\x1e\x7a\xa0\x75\xb4\x32\xff\x46\x9f\xbf\xa0\x2d\x46\x9d\x1a\x93\x78\xb3\x95\x49\x38\x74\x2f\x94\x6c\x54\x16\x69\x88\x15\xeb\x06\xc3\xf5\xc0\x74\x82\x74\x79\x04\xaa\x14\x4a\x1f\x10\x11\x7a\x2d\x2b\xdf\x9b\x14\x56\x63\xa2\x29\xad\x93\x1f\x2b\xd1\x79\x2a\xcf\xbc\x25\x1a\x53\x3f\x5f\x63\x4c\x2b\x11\x49\x95\xbc\xa2\x55\xf0\xd7\x1c\x0e\xfd\xed\x6c\xc4\xb5\x65\x46\x66\x77\x2d\xf7\xfa\xf3\xed\xe0\x29\xa5\xf9\x39\xb6\x1c\xf3\x54\x9e\x0d\x2d\x65\x15\xf2\x2a\x73\xb4\x83\x92\xa3\x30\x7c\xf0\x86\x43\xed\x6c\x63\x6f\x15\x4d\x0e\xcd\xcd\x4d\x9c\xdd\x75\xc5\xc6\x6a\xbc\x2a\x18\x98\x2b\xc6\x95\x0a\xa9\x50\xdf\xac\x52\xa8\xac\x91\x1c\x5d\xa4\x46\x17\xee\x4c\xd3\x95\x69\xd0\x27\x7d\x10\x89\xcf\x15\xc3\x44\xfe\xb1\x23\x48\x58\xe6\x79\xc3\x66\x15\x83\x54\x54\x46\x29\x6f\xdc\x65\xd3\xc4\xf8\x06\xbd\xf2\xf0\x77\x1c\x09\x0a\x68\xab\x33\xce\x8d\x15\x15\x6c\x05\xcd\xd5\xee\x86\xc4\x02\x40\x2b\xb0\xbd\x68\x5e\x0e\x25\x6e\x4e\xaf\x36\x93\xac\x22\xf1\x11\x7e\x70\x1b\x7f\x5e\x0f\x94\x26\xc7\xf6\x93\x84\x90\x17\x38\x2b\x01\xd3\x1a\xe5\xaf\x2c\x92\xbc\x83\x49\x4f\x11\x50\xde\xce\xa3\xa7\x8b\x2b\xdf\x83\x11\x5b\xff\x9f\xff\xf9\x43\x3c\x3f\xf5\x9e\xa7\xf2\x66\xab\x59\xcb\x60\x6f\xb4\xe4\x96\x9c\x81\xe9\x3e\x6c\x30\xf1\xe9\x6b\x05\x57\xed\x52\xba\x4b\x31\xc8\x71\x18\xfe\x77\x43\x1f\x1d\xd8\xea\x42\x35\xd7\x47\xac\xef\xe9\x4a\x4c\x5d\x12\x7f\x6f\xde\x3d\xa7\x7c\x4e\xf8\xde\x21\x21\xa4\x40\x82\x57\x65\x80\x88\x91\x54\xce\x63\x8c\xcb\xbc\x4d\xae\xe0\x1b\x1b\x08\xbb\x06\x15\xe7\xb6\x6c\xe7\xca\x43\x5d\x80\x9c\x0d\x6e\x7a\xd6\xc9\x6a\x91\x75\x82\xb4\x57\xa2\x28\x68\x7a\xff\x95\xf6\x44\xc0\x47\xed\x1d\xc2\xcf\x18\x30\x78\xff\x75\xf1\xf3\xd7\xf4\x95\x03\xf3\xed\xd8\x94\x2f\xe5\xfe\x2b\xd3\x75\x84\x7f\x22\x68\xfc\x57\x3f\xf1\xb5\xfc\xea\xeb\x6e\xe6\xc7\x85\x67\xaa\x83\x32\xf3\xc9\x76\x90\x4e\x41\xab\x4e\xd1\xaa\xf0\x10\x39\x03\x52\x37\x80\xc6\xb3\xad\x60\x49\x13\xd8\x0a\xca\x56\x1e\x6a\x07\xc4\x1d\xb8\xba\x20\xc9\xa7\xda\x41\xe5\xc9\x6d\x7d\xda\x6b\x2e\xb5\x2e\x54\xcd\x50\xaa\x5e\xb4\x3e\xa4\xa8\x06\x27\x9e\x79\xed\xae\x84\xbd\xcb\x8a\x77\x00\x65\x08\x73\x87\x95\x6f\xb8\xb8\x3b\xd0\x9a\x4f\x76\x83\xec\x9a\x3f\xf9\x50\x2b\x20\x6e\x41\xd8\x9c\x12\xd9\x01\xbe\xe1\xd5\x8a\xf5\xdf\x85\x9a\xb6\x38\x7d\x94\x3e\x1f\xff\xdb\xb5\xa3\x16\x94\xaf\xaa\xe3\xed\xf9\xec\xea\xed\x78\x74\x75\xed\xa4\x17\xf9\xdd\xa6\x6b\xa7\x82\x0c\xa7\x8a\x35\x56\x80\x8d\xa5\x6c\x4a\x44\x3a\x16\xba\xa9\x60\x50\x97\x40\x48\x61\xb7\x5e\xa9\xbe\x84\xe8\xa7\xd3\xf1\x75\xa7\x96\x91\x2f\x5a\xef\x34\x10\x7d\xcf\xe5\x5d\x01\x59\x73\x8e\x6b\xe2\xfa\x2d\xf8\x32\x58\xcb\xe5\x82\x49\x2e\x7f\xd5\x8b\xd8\xb6\x68\x6e\x9e\xd0\xda\x2f\x6e\x44\x1b\xce\x75\x22\xd1\x21\x63\xae\xf4\xaa\x74\x6a\x33\xeb\x9c\xbc\xa1\xb8\x44\x87\xaa\xf9\xe2\x77\xa6\x3b\xa1\x4b\x1d\xd6\xde\xac\x2c\xf4\x0e\x05\x08\x07\xb3\xcc\xbf\x15\xae\x36\x8e\x7a\xdc\x71\x39\x53\x47\xde\x5e\xb0\x93\xac\x17\x6c\x4a\x33\xd2\x7b\x92\xd6\x57\x93\xf3\xd3\xf1\xbf\xbb\xa1\x2b\x43\x28\x52\x08\x11\x40\x3b\x05\x32\x65\x53\x44\xf7\x41\x12\x47\x68\x6b\x0f\xef\xfd\x84\x5a\x4e\xf2\xa5\x65\x17\x01\xdd\x00\x5a\x09\x48\x29\x2d\xcc\x88\x06\x28\xfc\x87\x14\xf6\xf1\xde\x3b\x9d\x5c\xfe\x09\x3f\x6d\xbc\xb3\xf1\xd9\x6c\xfe\xed\xf7\x2e\x17\x26\x0c\xb6\x08\x17\x68\x82\xfa\xe7\xab\x71\x01\x77\x32\x1f\x7f\xef\x70\x95\xb2\x4f\x16\xe5\x3e\x89\x93\x36\x65\xd9\x89\xb2\x59\x21\x3a\x21\x33\x2e\x67\xbb\x2c\x81\xa6\x37\x9c\x50\x74\xdd\x8e\x3a\xe2\xed\xba\x11\x75\x26\x26\xdd\x91\xc3\xfc\x6e\x5f\x36\x67\x43\xf3\x86\xc5\x1b\x9f\xbf\xbd\x7e\x3b\x9a\x97\xff\x78\x3b\x9a\x5e\x75\x13\xc1\x90\x0a\x7b\xe5\x8c\xde\x05\x18\x1e\xbc\x8f\xc7\x21\xf9\x67\x37\x45\x8d\x6e\x6f\x59\x12\xff\x3f\xb8\x1e\xbe\x03\x35\x4d\x4e\xf0\x0a\x90\x4e\x4a\xf0\xe0\x42\x15\xa6\xf5\x4d\x29\xda\x19\xf3\x19\x67\x9f\x38\x10\xa1\x01\x54\xaf\x4c\x4b\x70\x3a\xe9\x60\xa3\x19\xdf\x21\xc3\xd9\x11\x79\xd3\x5b\x9d\xa8\xba\xb5\xa9\x7b\xaa\x92\x03\x8d\xae\xe8\x5c\x72\x4e\xba\x07\x57\xbf\x82\xa7\x9f\xaa\xb7\xf1\x0e\x74\x57\x6f\xe1\xb5\xa9\x52\xbe\x90\x77\x25\xa9\x2e\x64\x0c\xaf\x87\xa8\x19\x80\x9a\x84\x6d\x5c\x01\xd8\x4d\x98\x4c\xb6\xff\x4c\x82\xe0\x8a\xee\x00\x82\x80\x21\x23\xc3\x6d\x12\xdc\xef\x92\x35\xdc\xf1\x76\xd7\x8c\x17\x26\x71\x17\x1e\xc3\x02\x76\x80\x69\x0a\xb5\x94\x40\x17\x49\x6e\x89\x25\x71\x46\xda\xb9\x33\x9b\x8f\x3a\x00\x4d\xd3\xbb\x21\x45\x43\x88\x95\x7b\x04\x45\xfd\x55\xd7\x00\x0a\x7e\x53\xbb\xa7\xdc\x27\xc7\x78\xc7\x19\x8f\x13\xaf\xba\xb8\x64\x44\x5b\x90\x5d\x69\x5a\xde\x43\xea\xfe\xc2\x25\x5a\x64\x1b\x3d\xfc\x63\xea\x7d\x87\x15\x34\xae\x65\xbd\xf7\x97\xdf\xe3\x3e\xf8\x12\x4b\xbb\xd0\x7f\xf0\x2f\x8a\x70\xc6\x3e\x47\x54\xf1\x65\x48\x19\x68\x44\x5f\xf1\x03\xba\x43\x40\xe8\xc5\x47\xc1\x65\x07\xe9\x17\x19\xd1\x3d\xdc\xa6\x22\x5f\xc5\xc3\x2c\x7b\xa0\xaf\xd7\x71\x02\xd4\x54\xbe\x54\x41\x35\xc6\xd7\x5d\x0c\x29\x02\x45\x68\xac\x34\xbc\x6b\x35\xda\x6b\x18\x7a\x69\xac\x42\x0e\x56\xde\x94\x5d\xcb\x72\x9c\x6a\xbc\x8f\xff\xc8\xc4\x4b\xfc\x48\x9f\x7e\xa9\x11\x77\xcd\xee\xb0\xa5\x06\x73\xed\xb1\x4e\x60\x1c\x71\xb3\x72\x3d\x3d\x9a\xaf\x38\x9d\x20\x61\x26\xc0\xc0\x02\xab\xd3\xcd\x95\xc4\x8f\x93\x87\x08\x93\x8e\xba\x41\x77\x2e\x99\xac\xbb\x46\x4b\xf7\xe6\xd2\x8d\xa4\x0b\x40\x17\x01\xee\x07\xf8\x1e\xc7\xf7\x34\x8b\x9d\xeb\x95\xd1\xb3\x4e\x50\xb9\x13\x5e\xd3\x1d\x55\x07\x8a\xa6\x17\x9d\x52\x2a\xf3\xe8\x00\x45\xa9\x3a\x8f\xe4\x2d\x58\x1a\x8b\x47\x14\x68\x90\x6d\x58\x98\xc7\xe5\x80\xae\xb0\x1c\xa0\xa6\x55\x3b\xa8\x5e\xc7\x77\x09\xea\x30\x75\xad\x9a\x81\xed\x5a\xd9\x4a\x43\xeb\xa8\x6d\xe5\x4a\x54\x7b\x15\x2b\x37\x5a\x0e\x50\xb2\xaa\x1d\x54\xcf\xc9\xab\x04\x29\x71\x6c\x94\xcb\x61\xa5\xf6\xaa\x0a\x57\x9a\x74\x78\xe4\xf3\xa8\xd5\x3b\xd0\x89\xb6\xc5\x23\xe0\x82\x78\xaf\xa3\x77\x05\xc4\xee\x87\x6f\x06\x54\xb3\xb0\x9d\x8f\xe1\xf5\xf7\xc7\x55\x00\xce\xf8\xf7\x3c\x23\xd6\x40\xed\x7d\x4a\x04\x88\x7b\x1d\xa5\x3a\xdf\xef\x5a\x15\xdb\x95\xad\x70\xd5\x77\x32\xb9\x99\xc3\x41\x55\x6d\xa9\xef\x1b\x8b\x4b\xc9\xda\x60\xef\xe1\xab\x3c\xc2\x0f\x9d\xdb\x48\x15\x6f\x53\x5e\x96\xca\x25\xdd\x91\x02\x97\x81\x3f\x45\xa5\xa8\x66\xd0\x87\xaa\x14\xa5\xa1\xb7\x54\x2a\xc0\x9b\x22\x8c\x91\xb0\x96\x99\x74\x2e\x15\x55\xc1\xd6\x98\xa4\xae\x6e\xb8\x6a\x18\x77\xac\x17\x55\xc6\xb9\x67\xbd\xa8\x16\x60\xbb\xd5\x8b\xaa\x00\xec\x51\x2f\xaa\x1f\xa5\x3b\x97\x87\x72\x22\xff\x7f\x40\xd9\x8b\x7e\x23\xf9\x75\x94\xbd\xe8\x4d\xf3\xe7\x2a\x7b\xd1\x9b\xb0\x1e\x65\x2f\x5a\x61\x3f\x71\xd9\x8b\x5f\xb6\xee\x85\x59\xf6\xa2\x1f\x17\xfe\x67\x94\xbd\xe8\x3d\xe6\x5f\x4f\xd9\x8b\xde\xa4\x3b\x96\xbd\x58\xcc\xd1\x38\x1c\xcf\xe7\xb3\x39\x6a\x56\x10\xec\xf3\xd7\x1e\x88\x31\x95\xb3\xc0\xb2\xfc\x17\xb0\x6a\x7f\xfa\x09\x88\x81\xcf\xe3\x24\xb1\xb6\x08\x01\x10\xa8\xfd\x35\xc8\xe9\x6c\x7e\x29\xdb\x76\x31\x5c\x18\xd2\xe9\x95\x2a\xb4\xe0\xfd\x11\x77\xb9\xd1\xb4\xc0\xe0\x99\x28\x9a\xa9\xe5\xec\x14\xdb\xea\x96\xb9\x2b\x96\x77\xfd\x88\x9a\x13\x10\xeb\xb0\xe0\x96\x57\x84\x7a\xc6\x6b\x10\xce\x60\xa5\xa5\x09\x9b\x25\xda\x3c\x54\x93\xcd\x36\x4e\xd3\x00\x77\x03\xaa\xe9\x9f\xe1\x82\x85\x19\x05\xb3\x0f\x7e\xe0\xc6\xd2\x18\x92\x6d\xf4\xe1\x47\xd9\x47\x88\x66\xb3\x9c\xad\xff\x00\x53\x6e\xf3\x70\xf9\xd1\xde\x74\x9e\x05\x69\x8d\xae\xd5\xe7\xa4\xcb\x7b\x7e\xca\x05\x50\x5e\xea\x4c\x48\x61\xcd\x14\xd8\x8f\x5a\xef\xb9\x6c\x40\x6d\xf6\xd3\x29\xa3\xb5\x8d\x27\xa2\x18\x71\x2a\x02\x91\x56\xfa\x2e\x1d\xe9\x6f\xe8\x12\x1e\x43\xda\x6f\xb8\x0b\x48\xca\x9d\x26\xd6\x41\xc2\xfd\x26\x18\x80\x2d\xc0\xb5\x2c\x31\x69\xbe\x85\xa3\xd1\x06\xf5\x73\x63\x17\xa5\xdf\x73\x0a\xcc\x4a\x60\x59\x0e\x50\x19\x37\x18\x41\x6f\xbc\x04\x6c\x40\xcd\x53\x62\x03\x85\xbb\xa7\xaa\x4d\x95\x7d\xf2\x70\xb0\x94\xcf\xb7\xf1\x93\xf7\x22\xe3\xea\x21\x12\x08\x67\x2b\x60\xc9\x66\x5f\x7a\xfc\xc0\x28\x6a\x6b\x4b\x57\x1e\x56\x29\xf1\x0e\x89\xd1\x60\x69\x4a\x23\x7c\x2e\xe5\xb4\x3a\x55\xb6\x84\x3a\x6a\x26\xcb\xbb\xc7\x4f\x5e\x8a\xf3\x2a\x5b\xb5\x2c\xe1\xd1\xc7\x4f\xdd\x63\xa0\x8e\xa6\x41\x84\xfb\x04\x6f\x1b\x98\x7b\x51\x6b\x21\x73\xd8\x41\x19\xe8\xe4\x60\xb4\x54\x52\x1e\x4e\x0d\x7d\xcf\x81\xfd\x37\x51\x4e\x48\xaa\x4a\xf9\xc0\x84\x30\x0f\x8f\xb7\xb4\x40\xf8\xa4\xeb\xc5\x54\xc7\x34\xb5\x25\xe9\x55\x56\x84\xda\x2c\x71\x49\xf0\x9b\xf8\x35\x16\x1e\x8a\x31\x4f\x05\x43\xea\x50\xc2\x8d\xdf\x60\x8d\x97\x7e\x4e\x83\x0d\x28\x1a\x1f\xec\x09\x74\xe2\xdb\xb2\xee\x1a\x08\xc7\xfd\x86\xef\x45\x8a\xf6\x70\xa7\x7c\x80\x87\x6f\x7a\xd3\xcf\x55\x79\xd6\x71\x90\x96\x21\x73\x83\x38\x13\xb0\x13\x85\xda\x17\x71\x13\x64\xac\x80\x90\xbb\x2f\x98\xc9\xbd\x89\xc3\xa9\x26\x40\x2b\x4b\x0b\x1e\x64\xb2\x09\xdf\x85\x46\xbc\x77\x03\x93\x1e\x56\xd6\x9d\xea\xb6\xa3\xfd\xeb\x40\xf0\x0b\xca\x87\xca\xee\x7a\x13\x0b\x06\x12\x81\x56\x0d\x46\x39\xc7\x87\x6e\xf8\x80\xce\x17\x71\x5e\x18\x56\x6e\x84\x02\xde\x55\xbc\x19\x36\xd0\x8b\x5f\x1d\x1d\x98\x6a\x58\xe8\x7e\x16\x63\xe3\x6c\x35\x00\xc6\xb2\xdb\x48\xee\xfc\xe8\x96\x4a\xf0\xde\x07\xe2\x03\x65\x59\xeb\x9d\x63\x19\xe7\x11\xc0\x85\x05\xfe\x5e\x46\x17\x84\xc1\x26\xc8\xb8\xf4\xd7\x46\x6c\xe2\xe4\x81\xbf\x21\xf5\xd8\xda\x84\x91\xd1\x24\x98\x31\xe6\xaf\xd1\x3a\xe5\x33\x04\xd0\x7b\x83\x67\x12\xbd\x5b\x81\xa9\x4f\x1d\x2d\x37\x58\xb4\x49\x77\x40\x07\x0a\x30\x1d\x11\x65\xa8\xf8\x51\x60\xbd\xa8\x0d\xf1\x81\xf4\xa3\x53\x1f\x47\x39\x5c\x53\xdf\x31\xf1\xb5\x1d\xba\x63\x20\xaa\xed\xb5\xa9\xd9\x14\x15\x0d\x5b\x6f\x2b\x35\x54\x22\x43\x65\xb4\x75\xe3\x2d\xa5\x9e\x61\x1b\x45\x33\x3d\xad\x05\x11\x9e\x85\x15\x16\x7b\x4b\x31\x46\xc4\xcd\xda\xf3\x12\x2e\x6b\x27\xb1\x13\x8c\x98\x43\xe8\xd4\xe5\x10\xef\xca\xec\xe0\xe7\x02\xe7\x1e\xfe\x67\x36\x80\xb4\x43\xc6\x3a\x5d\xde\x2b\x2e\xd4\x45\x85\xde\x40\x35\xd3\x1e\x86\x2d\xce\x2e\x26\x6f\xb1\x21\x1d\x95\x88\x0b\xf0\xe4\x77\x32\x2d\x3d\x00\x7f\x9e\x05\xd8\xa3\xdd\xa3\x92\x73\x3e\x48\xca\x92\x3b\xd9\x85\x0f\x58\x52\xa0\xfc\x28\xc1\x3a\xc6\xb2\x04\xf9\xf6\x36\xf1\x81\x3c\x6a\x97\x0e\xbf\x94\xeb\xc9\xbd\xa4\x62\x62\xe9\xcb\x17\x2f\x6e\x61\x85\xe7\x37\x98\x41\xf8\xc2\x2c\x28\x06\x7f\x04\xff\x4b\xb5\xd2\xb7\xf6\x4e\xf3\x35\x7a\x9a\x42\x1c\x5b\x79\xb4\xb5\x11\x82\xb5\x80\x1c\xd3\xaf\x0d\xe8\x28\xba\x96\xe6\x0e\x55\x6b\x66\xb5\xcb\x81\x0d\x15\x0e\x50\x45\x36\x5d\x57\x00\x5b\xa7\x0b\x4a\xd3\x8c\x4a\x40\x4b\xac\xa0\xaa\x07\xc5\x46\x1f\xc1\x91\xd7\xcf\x65\x5b\xf5\x76\xdc\xcd\x05\xd8\x9c\x79\x66\x93\x06\x72\xab\x81\x41\x4c\x1a\x60\xa5\xbb\xed\xa2\xfa\x4b\x49\x75\x99\x55\x17\xb0\xc2\x20\xb5\xc6\x8d\x60\xae\x6d\xb3\xa0\x5a\xe7\x32\x08\xbb\xfb\x43\xda\x63\xa0\x85\xc2\xb4\xd2\x37\xd0\x28\x00\x4d\xf5\xe7\x40\x61\x53\x27\x5c\xfb\x10\x40\x7b\xbe\x11\xa1\x4d\x55\x8e\x82\x95\x5a\x1c\x8a\x9d\xed\xb0\xd0\x1c\xb4\xc0\x3a\xc7\xfd\xa0\x07\x28\xec\xbb\x2f\x3f\x63\xaf\xfd\x80\xcb\x6e\xc8\x7b\xc0\x1b\x81\x6b\x5c\x5e\x0e\x62\x92\x36\x98\x0d\x5e\xe4\x93\x27\xe4\xe4\x95\xc2\xf0\xc2\x87\xa3\x42\x4a\x9d\xd3\x69\xcb\x43\x00\x15\xb0\xf2\xc9\x2e\xf0\xd8\x19\x72\x05\x2a\xcf\x70\x91\x66\xa9\x7a\x80\x79\x4f\x66\x61\x6a\x6f\xf6\x5e\x8c\xbb\x4a\x83\x4a\xdc\x46\xe4\xc3\x80\x5a\x87\xc2\xb4\x51\xf9\x8e\x12\x06\xac\xb8\x80\x82\xa0\xe1\x9c\xbc\x02\x1b\xc6\xa3\x41\xd2\xe0\xd7\x3c\x54\xf8\x19\xa5\x7d\x7f\x84\xca\x0f\x85\xd5\xbb\x79\xe9\xa5\xca\x64\xd7\x34\x65\xf4\x9d\x91\xb0\xdf\xb6\x60\x1a\xa6\x15\x27\xae\x34\x5d\x94\x70\xcf\xd3\x30\x40\x9f\x09\x7d\xe4\x63\xc6\x40\x6a\x4f\x20\x36\x5c\x79\x19\x28\x26\x7d\x41\x4c\x1b\x8a\xe5\x2d\x55\xc3\x53\x93\x0e\x7f\x60\x89\x0d\x7e\xdc\x9c\xdb\x20\xba\x8f\xdf\xb7\xc9\x09\x10\xf0\x06\x0e\xda\xf7\xe8\xb6\x06\x95\xec\xa5\x77\x44\x0a\x9f\x90\xd7\x39\x36\x34\xc8\xb1\xe4\x01\x6e\xba\x5c\x92\x34\xd8\x80\xd9\x40\xaa\xa1\x44\x2b\xfe\x44\x5d\x1f\xf1\x8f\x3a\xc5\x4c\xdb\x0e\xb2\x54\x95\x91\x42\x40\xaa\x93\xde\xc4\x5c\xb3\x54\xa6\x48\x53\xff\x81\x4b\x53\xc0\x31\x24\x55\x8b\x21\x69\x85\x01\xdb\x53\x1e\x18\x72\x84\x7e\xbf\xe2\x71\xe5\xb8\xdd\x6e\x05\x01\xb2\x0e\xe3\x18\x4b\xf2\x80\xe2\xc2\x13\xc6\x51\x93\xa3\x00\xde\xdb\xc2\xe6\xb9\x4a\x70\xbf\x92\x2c\x66\xe5\x62\xd0\xca\x12\x0a\x96\x83\x95\x5c\x9e\x02\xdf\x7e\x94\x92\x42\x0b\xa2\x91\xe4\x11\x36\x94\x80\xc1\x51\x9d\x23\xd9\x3a\x62\x25\x60\x48\xa0\x20\xc0\xfe\x44\xb1\xf1\x51\xbf\x2f\xad\x3a\xe0\x44\x8d\x16\x94\xb3\x2a\xc1\x93\x1c\x7b\x27\x82\x2b\xa9\x2c\x39\xa9\xdf\x50\xe2\xe8\xe3\x09\xa2\x00\x07\x90\x06\xd4\x49\x19\x39\x62\x27\x76\x8b\x35\x7d\x90\x60\x90\x4b\x36\xa0\xd3\x3b\xff\x2b\x8f\xae\x2a\x50\x04\x4d\x15\x17\x44\x3e\x2c\x20\xbc\xa0\xb0\x51\xeb\x87\xcb\x3c\xe4\xfa\x42\x85\xa1\xec\xab\x42\xab\x04\x79\x55\xf4\x22\x40\x80\x01\x3b\xf5\x25\xbf\xdb\xc8\xa4\x06\x1f\x08\x01\xed\xb4\x42\xd1\xca\x1c\xb6\x23\x5e\xa1\xb8\x6d\x66\xfe\x7b\xbc\xe6\xf9\x70\x87\x37\x29\x2d\xa6\x22\x11\x4b\x56\x2e\x42\x95\xe5\x69\x53\x3d\xf5\x12\x05\xee\xa7\xbf\x07\x91\xcc\xb2\x52\xe5\x59\x62\xb9\x12\x28\x18\x53\x26\x36\xdb\xd4\x6e\x09\xca\xb2\x2d\x2b\x38\x8f\xe4\x9b\x2d\x75\x37\x17\x4b\xb2\x5e\x30\xfb\x9f\x6c\xf8\xc3\xf6\x16\xb6\xc7\x47\x30\x29\x8f\x9f\xd0\xca\x59\xa1\x8b\x00\x4f\xbf\x3f\x60\xa1\x5d\xec\xbf\x0d\xf6\xc3\x92\x0a\x80\xc9\xa6\xdb\x9f\xbb\xc7\xb0\x35\x08\xa3\xe0\x60\xe6\x07\xa4\x10\x7f\x39\xd6\x81\x40\xb0\x78\x2b\xf6\x81\xfe\x8e\x82\xc7\x9f\x13\x72\x35\x82\x35\x99\x96\x99\xfa\xab\xe3\xe5\xf6\x81\x56\x13\x90\x05\x10\xd7\x09\xd8\x59\x92\x87\x97\xf4\x15\x50\xc6\x7d\x9c\x65\x80\xa3\xfc\x71\x41\x7f\xf1\x8f\x4f\xd2\xf9\x1a\x08\x0b\x94\xf5\x28\x89\x5b\x09\xda\x1e\x6a\xcc\x33\x09\x95\xec\x33\x9f\x58\x92\x0b\xa2\x42\xf3\x67\x6d\x8b\x7d\x42\xdb\x3c\xfa\x59\xd0\x35\x4e\x7d\xe5\x2d\xcd\xbc\xdf\x45\xe3\x24\x89\x93\x97\x5e\xc7\x2d\x52\xd9\xb7\x12\xb2\xe7\xb5\x1d\x2a\x6a\x5d\x03\x6e\x07\xa1\x4b\x90\x8b\xb2\xb2\xc7\x6e\x00\xfc\x76\xec\x4a\xd7\x12\xe7\x90\x28\xb3\xab\x79\xaf\x02\xb7\x83\xae\x15\xde\xe5\x6f\x60\xd7\xa4\xdd\x48\x1e\x82\xbd\x0f\x71\x42\xc7\xf6\x15\xc0\x5e\x66\x71\xf2\xf0\xff\x77\xa2\x0f\x36\x48\x09\x8d\x88\x54\x8e\x6c\x49\x20\xbc\x7a\x0f\xea\x45\xdb\xb7\x5d\xa4\xad\x71\x6e\x7d\x5d\xd0\x9e\x43\xba\x2c\x74\x9c\xd2\x8f\xa2\x74\x15\x03\x07\xd1\x04\x8c\x27\x3c\x1f\xb8\xa1\x82\x95\x88\x82\xb7\x22\xcb\x44\x6b\x90\x01\xae\x47\xd5\x05\xd1\x76\x32\x33\x96\x47\xed\x65\x4d\x45\x51\x13\x4a\xf5\x54\x74\xa2\x4b\x36\x9b\x44\xb8\x57\x11\xde\xc9\xc0\x89\x54\xac\xa6\xf4\x2d\x19\x8a\xd8\x58\xeb\x7d\x04\x47\x64\xf9\x28\x16\x3e\xc2\x20\x11\xa7\x39\x23\xea\xe4\x45\x83\x79\x57\x0e\x93\x77\x0b\x2f\xa0\x8a\xb5\x63\x9e\xda\x5f\xc2\xca\x60\xb9\x2c\x8b\xf5\xd2\xae\x2d\x4b\x23\x25\xbf\x19\x79\x47\xe9\x80\x58\x2c\xbb\x0b\xf8\x81\x19\x6a\xb3\xc1\x95\xd3\x0d\xd1\xc9\xe2\x4c\x68\x7c\x37\x81\x90\xb5\xf2\xfa\x09\x87\x4d\x15\xa0\xf2\x51\x4a\xc8\x9c\x78\x0b\x9d\x97\x36\x30\xa6\x98\xa8\xe2\x6a\xf2\x66\xad\xda\xb7\xdf\x8d\xde\x92\xa6\xd5\x9b\x0a\x08\xde\x8f\xa6\x72\xb6\x5f\xab\x37\x00\xa8\x0a\x72\x93\xb6\xef\x26\x0f\x38\x19\xc0\x19\xe8\x47\x61\xde\x6b\xb9\xb9\xbc\xc1\x42\xc4\x57\xd3\x86\x7b\x31\x77\xac\x1c\xd1\xe0\x7a\x4b\x54\x41\xb9\x81\x4f\x14\x4a\x81\xf6\x47\xe7\xee\x24\xb7\x78\x6c\x23\x40\x3a\x79\x74\x31\x71\xdf\x84\x68\x9b\x4d\x2a\x5c\xae\xc0\xb1\xe3\x8f\x06\x99\x8a\xca\x42\xf3\x99\x43\x9f\xd0\xa0\xcb\xb7\xe8\x48\x73\xa3\x40\x07\xbc\xa8\xed\x06\x41\xc5\x89\xaf\x3d\xeb\xf0\x1c\x98\x6c\x21\xd5\xc6\x4b\xd8\x37\xdc\x41\x53\xbc\x05\xf5\x5f\x5c\x31\xb5\x1c\x78\x4c\x5a\x06\x20\x78\x49\x50\xda\xf9\x2c\xd7\x49\x1d\xe8\x3f\x24\xe8\x72\xfc\x31\xd8\x3a\x63\x86\xb1\x25\x38\x5e\x83\x0b\xf0\xba\x05\x8d\x0a\x83\x5b\x9c\x5c\xb0\xff\xda\x66\x8c\x29\xce\x0a\x7e\x0c\x5f\xe8\x00\xa9\x79\xd6\x05\xb2\x0f\x5b\x14\x70\x19\x2e\x8d\x4e\x01\xb6\x3d\x51\x52\x00\x36\x02\x4c\x3b\x07\x21\x5f\xd7\x9d\xf3\x84\x57\x52\x0c\xfa\xf6\xa3\x54\x47\x32\xcc\x70\x69\x81\x11\x65\xd3\xbf\x15\xda\xe0\x38\x9f\xa9\x73\x3e\x55\x82\xbc\x79\xf0\xd0\x79\x04\xa8\x52\xef\xb9\xbf\x02\xab\x83\x3a\xd8\x59\x4b\xfd\xd5\xa8\x45\xcf\x0a\xda\x9d\x7c\xb8\x57\xa5\x1b\xc9\x84\xc8\xb8\x99\x03\x95\x1c\x36\x86\xa2\x10\x05\xc0\x57\xf6\x0e\xa4\x22\x67\x57\xb9\x2d\xd6\x43\x8d\x22\x12\x1f\xe8\x36\xa7\x93\xba\xee\x1b\x1b\x05\x92\xef\x16\xf9\xea\x0f\xe7\x0b\x0d\x38\x67\xc1\xab\xdd\x18\xaa\x4d\xc7\x55\x1e\x25\x76\x7e\x9c\xd1\xa3\xf7\xd0\x7e\xcf\x57\x15\xf9\x2a\x6e\x76\x03\x74\xdf\xd3\x15\xa1\xa6\x1c\x57\xee\xb5\x26\xdd\xe9\xf1\xd2\x53\x4a\xa7\xd3\x9b\xd6\xa8\x88\x6a\x30\x2b\x06\x4b\x7b\xad\xc5\xf3\x34\x96\x1f\x44\x46\x17\x30\xf8\x4a\x29\xba\xb0\xf3\xc2\xaf\x8a\x94\xe3\x9e\x3b\x11\xa2\x25\x9d\x49\x7d\xa8\x82\x5f\x1c\x31\x74\xdd\x67\x16\x13\xe6\x7e\x6d\xa9\x71\xb4\x44\xbb\x14\xc4\xf3\x79\xb0\x03\x14\x96\xc5\x65\x89\xa1\xaa\xb8\x6c\x97\xf4\xd2\x4f\x4a\xe2\x56\x03\xac\x76\xab\xda\x7b\xca\xc3\xe8\x7e\xda\x29\xf2\xde\x2c\x16\x3d\x75\x3d\xbe\xd1\x05\x15\xcf\x22\xba\x55\x7b\x71\x87\xce\x5a\xf0\x0e\x4e\xfd\x37\x02\xf6\xd1\x6d\x9e\xde\x61\x68\x51\xbe\x84\x59\x4f\xc9\xe1\xdd\xc9\x73\x7d\xf6\x60\xd7\x6f\x71\x59\xd5\x70\x53\x2e\xcd\xe9\x81\x88\xee\xe3\x80\x14\xa3\xf6\x10\x23\x6a\x98\x0d\xff\x06\x86\x14\x74\x8d\x06\x74\x68\x37\x73\x4c\x45\xdb\x01\x70\x85\xa3\x40\xff\x10\xd0\xca\x11\x2a\x4a\xf4\x8f\xe4\x5f\x82\x3d\x58\xf8\x07\x56\xe3\x4a\xb2\xd4\xee\x79\x62\x12\xc0\x4e\xbb\x85\x39\x97\x11\x2b\x06\x13\x52\xfc\x69\x65\xc4\x96\x1d\x95\x5c\xb0\x25\x67\x94\x7c\x32\xf1\xb7\x0a\xa7\xe3\x40\x50\x77\xdf\x04\x7c\x19\xe1\x2f\x29\xbc\x42\x56\xb3\x7d\xa0\x8b\x58\x34\x75\xdd\x47\x40\x51\xee\x9b\x6d\x26\x23\x94\x97\x99\xea\x76\x2b\x43\xf6\x4a\x01\x65\xaa\x47\x16\xb5\xb2\xdd\xfa\x01\x6d\x67\x1d\x94\x63\x85\xa2\x7e\xc1\x11\xc5\x3c\x63\x1c\xe1\x2e\x11\x11\x88\x99\xd8\x53\x5d\x1d\xe8\x62\x53\x8e\x8b\x14\x36\x11\x0a\x95\xc4\x4e\x01\xf0\x54\x0b\x39\x52\xc2\x07\x2d\x6b\x42\x39\xc8\x2a\xa7\xdc\xe2\x82\x4e\x54\x5c\x63\x5d\xa4\x1f\xd6\x99\xda\x3d\xb8\x2a\x7d\x9f\xc3\x33\xda\xc1\x83\xc2\xf6\x87\x17\xbf\x51\x7f\x9c\xbb\x8f\x29\x6f\x0e\x23\x6b\x86\xd6\x4e\x8b\x34\x2d\x31\x48\x8e\x3e\xc9\xd1\xa1\x64\xd7\xa6\x65\x27\xfe\xe7\xda\xd8\xac\xe2\x90\x6e\x6b\x3b\xf3\xf7\x60\xf1\x61\x68\x17\x4f\x45\x1e\x27\xaf\xc2\x4b\x7f\xc6\x0f\xfb\xb1\xb7\x11\xd6\x1e\xb4\xd5\xac\x5a\x3d\x6f\xd6\x53\x7b\x59\x97\xd8\xac\x5b\x13\x4e\x07\x09\xf4\x3e\x3c\xff\x46\xc6\x06\xba\xcf\x97\x6f\x7b\xd9\x11\x23\x98\x47\x36\xf1\x3f\xb0\x56\xf2\xab\x48\x3b\xd7\xc3\x93\x28\xa3\xf2\x19\x02\xdf\x56\xdf\x5c\xd3\x37\x7a\x84\xb9\x06\xea\x22\x95\x4d\x67\x8d\x46\xe0\x15\xd2\x0d\x2c\x5d\x74\x57\x4f\x26\x92\xce\x13\xde\x07\x91\x07\xce\x6b\xc8\xe1\xcc\x52\x25\xb4\x86\xc6\x8d\x5c\x99\xcb\x09\x00\xf6\x5b\xf5\x4d\x87\x1e\x03\xea\x5e\x02\x61\xa1\xb4\xb4\x53\x37\xac\x87\x27\x1b\x4c\x9b\xab\xb5\x69\x51\x1c\x66\xfc\xda\x2c\x6b\x70\x54\xf7\x54\x0e\xfd\x45\x52\x58\x92\x54\x6a\xb4\x1c\xce\x82\xd9\x51\xa0\xd1\x0e\x2e\xa8\xfa\x93\x78\x30\x2c\x88\x16\x56\x4e\xe4\x57\xfb\xf3\xc9\x67\x73\xba\x91\x49\x05\x39\x52\xb9\xb6\xf3\xb4\x42\xd4\x9e\x0c\xa2\x5e\x8a\x36\x03\x6b\x4f\x5b\x0a\x6c\xf1\xcc\xbf\x65\x95\x5a\x82\xbb\x8f\xe0\x93\x90\x34\x9a\x13\x87\x34\x07\x19\xc1\xca\x10\x4a\x13\xd3\x53\x1a\x85\x8d\xab\xa0\x69\x31\xef\xb3\x6a\x9b\xd7\x5a\xe7\x32\xdd\x4f\xd6\x38\x48\x5e\xb5\x29\xb7\x2a\x8b\xcf\xa0\xb8\x72\x8d\x9d\x9b\x6b\x93\xcb\xa4\x14\x84\xff\x2b\xd2\x61\xc4\x36\x1d\xc5\xd1\x73\xa2\x2b\x43\xaa\xc2\xb0\x61\x96\x55\x04\x52\xef\x83\x00\xc3\x38\x11\x3f\xc8\xb0\x23\x19\x45\x8f\x31\xa4\xfe\xad\xdf\x12\x6a\x69\x74\x32\xaf\x67\x70\xa3\xb3\xea\xf1\x13\xda\x5a\x08\x19\x1b\x96\xa7\xc7\xde\x1c\xff\xc1\xd8\xc9\x1f\xbb\xc9\x3a\x2a\xc4\x28\x88\xc2\x80\x9c\x52\xec\x75\xc4\xdb\xa2\x23\xba\xeb\xc5\x40\xd1\x6d\x2c\x5b\x51\xa1\xdb\xe6\xed\xc9\xe8\xa2\xa8\x4a\x61\x54\x75\xf3\x54\x55\x37\xd9\xc2\x2c\xe7\x18\x03\xed\x57\xb2\x86\x32\x58\xc6\x77\x54\xb4\x6c\x87\x99\xe7\xc8\x7a\xec\xb3\x24\xfd\x99\xf2\x76\xea\x88\xc3\x19\x91\xc4\x44\x0a\x97\x5f\x50\xb2\x1a\x48\x02\x23\x0e\xf0\x2f\x13\xaf\xe3\xf4\x4a\xee\xaf\x30\x40\x72\x2c\xcc\x93\x7e\x97\x8b\xf6\x1c\x95\x33\x33\x31\xa5\x23\xfe\x43\x42\xd4\x7d\x9c\x56\x01\x5f\xa6\x6e\xfc\x6c\x79\x67\xbf\xfe\xdf\x34\xa1\xf0\x28\xf6\x16\x00\x62\x32\x28\xf5\x86\xb2\x21\x4d\x33\x38\xf6\x19\xa9\x6f\x0f\x1c\x82\xf0\x5c\x1c\xdf\x1e\x7b\x9b\x87\xa2\x42\xcf\x17\x28\x13\xaf\x83\x8c\x3a\xa7\xf1\xcf\x83\xae\x14\x86\x1f\xfc\x7b\xbf\x80\x70\x0c\x8f\x0d\x4a\x60\x64\xc7\xae\x1b\x18\xd4\xf2\x0e\x7f\x80\xed\x6d\x77\xd8\xff\xeb\xfe\xb7\xc7\xbf\x3d\xfe\x72\x40\x62\x37\x50\x7f\x00\xc8\x2f\x38\x87\x05\xf8\x83\xcf\x67\x18\x2c\xa4\x5f\x4c\x3d\xbc\x3c\x3b\xd2\x89\x6b\x03\x19\x76\x33\x40\x72\x06\x51\x1e\x86\xb6\xca\xbb\x17\x4d\xde\x98\xad\x48\x52\x10\x32\xbf\xb8\x52\xc3\x88\x8c\xe7\xf8\x41\xb6\xd7\x82\x09\x8b\x86\x88\x79\x68\xbe\xf8\x05\xe5\x81\x19\xbd\xe9\x90\x45\xa5\xd7\x76\x64\x76\x1d\x2a\xa5\xc8\x31\xcb\x69\x1d\x81\xe6\xc0\xd6\x76\x78\x09\xb5\x2f\x42\x3d\x03\x72\x43\x37\x40\xab\xf9\xf8\x42\x26\xd1\x44\x52\x95\xc2\x62\x45\x35\xce\x15\x2b\x70\x3a\xaa\x1c\x0d\x22\x50\x68\xb7\x5c\xf3\xc2\x68\x44\x66\xcc\x53\x2e\xe7\xc9\xa6\xe7\x58\xc6\xef\x84\x8f\x11\xf1\x1c\x5f\xbf\x0c\x73\x2a\xd5\x41\x8a\x4c\xd6\x22\x3d\x2a\x85\x54\xb3\x3c\x04\x18\x54\x0d\x58\x02\x64\x08\xf6\x24\xb4\x29\xaf\x71\x34\xcc\x1e\xff\x8e\x77\xa7\x25\x09\xa0\x90\x09\x42\x97\x08\xad\x94\x64\x43\x42\xef\xf7\x64\x9a\x36\x05\x5c\xab\x71\xa2\x08\x95\x62\xae\x9b\x47\x88\xbd\x15\x6c\x4a\x95\x1a\x24\x58\x5e\x9b\x9d\xfc\x69\x3c\xbf\x9e\x9c\x8d\x5e\xdb\x4a\xb8\xd0\x6f\xd7\xfc\xa0\x0d\x48\x4b\x95\xb2\xd6\x12\x64\xfc\xe3\x65\xfb\xab\x96\x2e\x29\xa7\x7e\x7a\x77\x13\xfb\xc9\xea\xa5\xf6\xa4\x58\xe0\x2c\x50\xfd\xfb\xd8\x95\xcf\xa3\x90\x7d\xe3\x85\x66\xc8\x14\x4a\x2f\x2f\xae\x61\xe1\x70\xc4\x28\x99\xaf\x36\x4a\x39\x3a\x3e\xe1\x6c\xd3\x9c\x32\xc2\xa4\xb9\x8b\xb2\x95\x32\x08\xdb\xd4\x99\xe8\xd8\xd8\x39\x24\x52\x6d\x71\xdb\xb0\x53\x29\x86\xee\xb8\x8d\x4b\x5d\x11\xc1\x21\x74\x43\x43\xed\x0a\xdd\x30\xa1\xf6\x88\xde\xd0\xf0\x5b\x23\x23\x4b\xc0\xe5\x09\xaa\x03\x5e\x1b\xc3\x4b\xe0\xf8\xc1\x76\x60\x3d\xd9\xd9\x01\xcd\xf9\x4a\xbe\x44\xe7\xce\xb7\xf2\x35\xbc\xad\xb7\xf2\x25\x9c\xee\x17\xf3\x35\x24\x1d\x77\x69\x65\xae\x39\x5f\xa0\xd5\xd0\xbc\x17\xb6\xdb\xe2\x32\x86\x8a\x87\xa1\x0b\xba\x79\xf2\xef\x21\x93\xfa\x54\xdf\x05\xbf\x25\xb2\xa0\x04\xd7\x69\xc1\x9b\xc7\x7e\xca\x1e\xe2\x6a\x15\x5c\x54\x02\x4c\x49\x30\xb2\x39\x71\xc7\x78\x8e\x63\xfa\xc3\xb0\xbd\x0c\x7b\x99\x87\x32\x75\x48\x09\x5d\xc5\x0d\x80\xf7\xc9\x51\x94\x73\xb8\x9f\xbf\x5e\xc3\xa9\xc8\xe6\x31\xa0\xcd\x33\xc3\x14\xac\xb0\xe8\xaf\xda\x31\xc8\x96\xb8\xa3\x12\xc7\x3a\x43\x8f\x14\x44\x0a\xbb\xda\xde\xf9\x98\x6b\x95\x70\xa8\xd4\xf3\xe0\x58\x1c\x03\xab\xe2\x54\x70\x90\x02\xe6\x54\xb3\xd9\xbe\xdd\x0a\x0a\x8f\xe5\x8b\x5b\x5b\x7c\x56\x41\x89\x11\x7c\x25\x81\x23\x32\x81\xe7\xb1\xb4\x6c\x9a\x2d\x31\x51\x39\xa5\x2e\xea\x91\xe0\x50\x63\x30\xf1\x09\x25\x9d\xa0\xa8\xe4\x55\x29\xa2\xc1\x12\xa6\xa5\x06\xe6\x10\xce\xd1\xb4\x05\xd8\x23\x3a\x0a\xc0\xf6\xc8\xa8\x32\xc4\xce\x00\xa8\x02\xa4\x3d\xac\xa2\x0c\xb2\x3b\xb2\x42\xc2\x5c\xa2\x22\xc1\xcc\xaf\x36\xb0\xb0\xa9\xf2\x12\x01\x81\x05\x2e\xb7\x01\x4c\x5d\xc3\xb4\x14\xbd\xfd\x02\xb5\x08\xc9\xe7\xbb\x57\x37\x47\xff\x2b\xba\x59\xd7\x5c\xd8\xed\x66\xbd\x34\xaa\xfd\xef\xd6\x35\x35\x7b\xbb\x7e\x2b\x84\xd9\x2e\xd2\xf7\x60\xd8\x2f\xe0\xbd\xaf\xca\x90\xf4\xdf\xff\xa2\x4e\x7b\xcd\x8f\x3d\x9c\xdc\xb5\xb5\x71\x48\x1f\xb6\x26\x70\xcf\xc8\x81\x8a\x44\x1d\x28\x76\x40\x53\xa7\x6f\xb4\xe7\xf8\xa1\x9f\x14\x34\xbd\xeb\x88\x8d\x0e\x71\x3b\xe1\xd2\x6f\xb6\x63\x3a\xdc\x25\x79\x65\x02\x9e\xea\x9a\xdc\xa0\xdc\xe5\x9a\xdc\x8d\xd8\x7d\x6f\xc9\x1d\x49\xdd\xe3\x8a\xbc\x42\xf0\xc1\x2f\xc9\x6b\xb4\x7e\xb6\x2b\x96\xca\xc8\x7e\x35\xf7\xc1\x05\x47\xec\xb7\x87\x7b\xaa\x27\xdb\x55\xe1\x3e\xd3\xa7\xe0\xf1\xad\x4d\x39\x41\xac\xf8\x9e\x23\x0c\xf6\xda\xdd\x0c\xda\xcb\xb8\x2c\x13\x65\x22\xde\x6f\x42\x9a\x2e\xb7\xf6\x1c\x4b\xcb\x95\xd7\xae\xc4\xa6\xcb\x24\xa0\xea\x82\x2f\x0d\x59\x36\xbe\xb6\xea\x26\xe3\x19\xcf\xfe\x6e\x33\x56\x2e\x07\x88\x51\xc6\x30\x3a\x15\xc5\xab\xbd\xbc\x66\x8e\xa0\xdd\xe7\x96\xea\x6a\xcf\xaa\xba\xb0\x0e\xe8\x2d\xcd\x69\xe1\xc0\xb5\x9d\x13\xca\xd4\x50\x95\x6e\xb5\xbc\x0d\x2b\x4c\x57\x63\x8b\xf9\x4e\x4e\x25\xfe\xf4\xa1\x90\xeb\x1f\x6b\xe0\x54\x00\xcf\x5a\xa8\xad\x34\x0a\x78\xd6\x96\x10\xd4\x63\x54\x9a\xc5\xe6\xa0\xfa\x0f\xa0\x4a\x72\xc1\xe2\x76\x5a\x8a\xae\x61\xc8\xbd\x78\xd9\x63\x86\xf5\xe3\x06\x90\x76\x64\xd8\x6a\x4d\xa5\x24\x99\x07\xda\x6e\x74\xf8\x66\xbd\xa4\x43\x3b\x36\x0a\x9e\x2f\x52\x0a\xd1\x3d\xc3\x25\xa3\x28\x4f\x8c\xac\x79\x6e\x9c\xe3\x32\x5c\x4b\x95\x4a\xa2\xe9\xaf\xf9\x20\x08\xd9\xd5\x10\xb0\xab\xa1\xc8\x1a\x93\xe9\x53\xf4\x52\x90\xe5\x6e\x54\xe3\x5d\x1c\x46\xaa\x7b\x6b\xe1\x67\x39\x55\x74\x62\xef\x09\xf7\x03\xbc\xf3\xef\x4b\x42\x14\xad\xe8\x5a\x26\x4f\xf9\x6d\xf9\x92\xd3\x24\x9a\xd9\x2d\x1c\xa7\xba\x8e\xa3\xd2\xd0\x04\x49\xb7\xa1\xe5\x52\x2f\x1a\x80\xb0\x04\xf2\x36\xd6\x93\x62\x28\x32\xe4\x00\x06\xc6\xa7\xea\x97\x50\x5f\x62\xb5\x0d\x59\xe6\x36\xe0\x60\xb0\x34\x1b\xca\xf1\xdf\xb0\x02\x90\x1f\x35\x9c\xbb\x6a\x7b\xbb\xfb\x3e\xaa\x07\x6e\xc4\x2b\x48\xda\xa9\xfa\x50\x0d\xaf\x4a\x65\xb5\xe2\xde\x61\xb3\xad\x8e\x18\xa7\x0f\x94\x16\x17\xbd\x85\xe1\x5b\x71\xad\x0d\xf5\x66\x0c\xba\xeb\x18\xdf\x32\x68\xd0\x1b\xda\x61\x28\x8b\xee\xb6\xd8\x50\xc4\x0c\x6b\xfe\x63\x03\x27\xba\x1c\x02\x7b\x71\x02\xc5\x7c\x8f\x63\xe9\x61\xb9\x72\xe0\x53\x6d\x03\x63\x1a\x84\xb3\x8b\x43\x4f\xc3\x1d\xbf\x71\xa1\xfc\x62\x1c\xc2\x5d\x41\xd6\x9f\xe0\xa8\x86\x7f\x4a\x07\xee\xe3\xca\xf5\xbb\x7a\x77\x51\x00\x7a\xe2\x65\x73\x76\x6f\xec\xda\x30\xee\x24\x03\x0b\xc9\x7b\x97\x97\x6f\x4c\x73\x4d\xdf\x47\x58\x08\xf8\x26\x8c\x81\xc7\x86\xe1\x80\xef\x97\xf0\x5a\xf1\xbd\x97\x55\x7b\x39\xf6\xe4\xeb\x7f\xfe\x97\xb3\x23\xef\xab\x2f\xbf\xfe\x1d\xfe\xf3\xda\xe6\xb9\x9f\xea\xb2\xbb\xb2\x1a\x6f\xc9\x47\x5f\x03\x62\xc3\x0d\xf2\xf6\xe0\x71\xa7\x75\x4e\xe2\xcb\x60\x77\xd3\x45\xa8\x6c\x85\x57\x8c\x4a\x68\xa9\x8f\x21\x12\x9c\xe3\xc6\x6f\x67\x35\x3f\xad\x05\x7b\x2c\x6b\xf4\x84\x71\x82\x25\x22\x40\xfb\x6d\x73\x5b\xad\x97\x73\xc1\x97\x0c\x5c\x82\x91\xaa\x29\xe1\x39\x5b\xc6\x1c\x85\xf6\xcb\x13\x46\xc2\xfd\x5f\xe9\x66\x94\x1a\xc2\xaa\x94\xca\x76\x6c\xba\x3e\x5d\xb9\xe4\xe4\x8a\xeb\xe5\xd9\x26\x34\x56\x37\x30\xea\x1e\x96\xea\x4e\xc9\x3c\x6d\x99\x1c\xb9\x89\xef\x85\xba\x67\x21\xd3\x09\x4e\x3d\xf7\x01\x55\x1e\xc4\xec\xd2\x94\x0b\xd5\xb5\xa6\x76\x2b\x8e\xe0\x4d\x0f\xb9\x1b\x18\x17\x68\xd8\x5a\x4e\x37\xce\x4e\x02\x47\xb4\x44\xd6\xd3\x90\x88\x31\xec\x45\x0d\x8a\x11\x03\x19\x30\xe2\xc7\x4f\x18\x01\xc7\x9d\x5b\x1c\xf3\xc3\xe5\xa0\xb9\xf1\xa9\xcc\x15\xf4\xd7\xc8\x39\x04\x6b\x37\x02\xe5\x20\x56\x8f\x9f\x36\x7e\x92\xd4\x2f\x63\xe0\x73\x82\x8b\xc9\x9a\x0d\x6b\x23\x67\xf9\x5e\x24\xc3\x60\x43\x59\x9e\xb1\xae\x5e\xc0\x2b\x0c\xcd\xbc\x17\x2b\xe3\x91\x21\xaa\x44\xdb\x42\x9b\x10\x10\x7e\x9c\x4e\x03\x2a\x72\xa8\xb4\xe0\x0c\x0b\xee\x45\x14\x6f\x24\x5c\x7e\xcb\xb6\xfa\xe2\x65\x8e\xe1\x80\x3c\xd0\x3c\x09\x3b\xc3\x49\x46\x46\x30\x95\xac\xf4\x58\x82\xd1\x19\x5e\xc2\xb7\x03\xcc\x05\xf1\xd1\x47\xca\x31\xb2\xca\x36\x74\x55\xdf\xa9\x34\x52\xf9\x2f\xbf\xd7\x82\x26\x7d\xd9\x0e\x35\xf5\x5e\xda\x5e\xe7\xb2\xc3\x9e\x9f\x61\xe5\x13\xd8\x03\xfc\x20\x14\x2b\x55\xf5\x0b\xeb\x6b\x61\xeb\x9d\x2b\xae\x41\x4b\x11\x55\x54\xd7\xf0\x48\x57\x33\x4d\x49\x18\xa9\xee\x15\x47\x82\xe2\x0a\x43\x05\x7e\x0b\x76\x39\xb1\xda\xb6\x8d\x8c\x41\xad\x2d\x25\x6f\x33\xe6\xeb\x3d\x17\x6c\xaa\x14\x5c\xf1\xaa\xe4\x94\x8b\xb8\x6c\x93\x98\x96\x11\xb7\x09\x28\x57\x94\xfd\xbd\x59\x3d\x34\x1a\x60\x36\x2d\xad\x01\xdd\x3b\x03\xdf\xc1\x7b\xf9\x20\x91\x9a\xd4\x9c\x76\x8e\x53\xb5\x6d\x5e\x92\x75\xba\x8a\xa4\xac\x7a\x36\x48\xb1\xea\xfc\xf2\x7d\x9a\x6f\x00\x82\x48\x8b\xd0\x4e\x4a\xd4\x46\xb5\xea\xaf\x7c\x6b\xf8\xc9\x14\xd9\x0c\x03\x90\xe7\xb3\x2c\x79\xfc\x47\x28\xda\xeb\x5e\x9a\x0c\x83\xed\xa1\x16\x11\xea\x61\xe2\xf6\xe6\xf1\x13\xe0\xd5\x91\xb7\x39\x56\xb2\x5a\x63\x32\x75\x04\xaa\x3d\xb4\x0c\x31\xdf\x6c\x4b\xa5\x26\x91\xb7\x02\xa4\x05\x35\x26\xd7\x51\xb4\x8c\xe2\x6d\xb0\x92\xfa\xaf\x5e\x1b\x32\xce\xb1\xfc\x5c\x8e\x9e\xe6\xa2\x1c\x7e\x43\x15\xc4\x66\x9a\xc6\xe7\x6f\x27\xf3\xd9\xf9\xd9\xf8\x7c\xe1\xbd\x1d\xcd\x27\xa3\x6f\xa6\x63\x6e\xb9\x68\x0b\x30\xe3\x7e\x8c\xd4\x32\x49\xbd\x00\x7f\x0c\x24\xa0\xf3\x31\x82\x72\xc7\x75\x69\x5b\x6a\x56\xd8\xb6\xb5\x37\xfe\xf7\xd1\xd9\x05\x3c\x6f\x5b\x1e\xff\x3e\xe6\x9f\x9b\x5f\xe6\x15\x49\x97\xf9\xb0\x00\x3e\x3e\xa8\x1a\xf4\x58\x4c\x5d\xc6\x39\xda\x9c\x47\x23\x75\x66\xf6\xa9\xda\x13\xee\xeb\x04\x42\x42\x53\x21\xd2\x32\x7a\x11\x43\xcb\x00\x68\x2b\x19\xbb\xbb\xda\x46\x07\x72\xb3\x95\x09\x39\x90\x97\xad\x46\xdc\x67\xf4\xb0\x35\x0d\xa8\x8f\x83\xcd\x42\x7b\x5f\xe7\x9a\x24\x03\x78\x25\xfb\xaf\xb2\x0d\xd9\x81\x14\x83\xf6\x4d\xe7\x4c\x21\x68\xad\x06\xa4\x44\xd6\xcf\xb7\x36\xda\xc1\xaf\x26\x11\x95\xdd\x6a\x86\xed\xd2\xed\x51\x1b\xb9\x7b\xd3\xc8\x95\xb6\x83\x1b\xcd\x20\xf2\x29\xbd\x68\xa3\xfd\x3c\x68\xca\x7f\x56\xf8\xce\xb4\xe3\xac\xcb\x69\x46\x03\xfc\x5c\x3e\xb3\x51\x1f\x37\xc0\x13\xf8\xcb\xaa\x83\xdd\xd7\x5d\xb6\xe3\x78\x9f\xd8\x55\xf6\x94\x4c\xd8\xd3\x53\x76\x38\x86\x1c\xd6\x07\xd4\xc0\x93\xcf\xeb\x24\xeb\xb5\x32\x7e\x29\xe6\xf4\xf3\x8f\x8d\xf6\xf0\x8d\x59\x51\xba\xb8\xc6\x3a\x10\xbb\xb9\xc5\xc6\xd1\x7d\x91\xcf\x06\x7c\x7a\xeb\x4b\x17\xb4\xf7\xc1\x4f\x65\xad\xcf\xac\xa5\x57\x83\x35\x17\xae\x04\x2b\x1a\xf8\x74\x38\xe0\x7c\x42\x19\xbe\x6b\x3b\xec\xd0\xe1\x4b\x4a\x68\x63\x20\x15\x32\xe8\xf5\xd5\xe4\x74\xf0\xd2\x56\x91\x48\x16\x94\x06\xe3\x21\xad\x2e\xc0\x36\x99\x51\x41\x62\x45\xa2\x20\x42\xb9\x0d\xe3\x1b\x38\x23\xe5\x11\x66\x1d\xc1\xf9\xb0\x8d\x6a\xda\xe1\xb9\x68\x3e\x99\xc5\x8e\xf4\xf9\x58\x6b\x2a\xd2\x25\xfb\xa5\x0f\x40\xb4\x74\x92\x61\x74\x4b\x95\x7e\x5a\xd4\x6f\x82\x23\xb5\x33\x5b\x7c\x2a\x4a\xaa\x45\x48\x9d\xfa\x8a\x02\x4e\xed\x83\xd5\xd8\xe5\x60\x1d\xda\xcb\xb6\x11\x60\x0e\xba\xbb\x8f\x6c\x85\x84\x4c\x56\x65\xed\xac\x4d\xee\xc8\x03\x84\xd7\x55\x8f\xbc\x42\x42\x6b\x2d\xd8\x0e\xb4\x6e\x75\x5f\xab\x08\x9b\x72\x8e\x1d\xca\xa0\x77\xcd\x42\x6b\x3e\x72\x77\x39\x74\xa6\x72\xd5\x18\x48\xcb\x0b\x6d\x27\x1a\x53\xb7\xd0\xda\x06\x0c\x2e\x54\x36\x07\xd8\xba\xd4\x19\xee\xa4\xd4\x12\x6b\xeb\x50\x7b\x58\xd2\x68\xbd\x40\x71\xa6\x68\xd5\x7d\x8b\xb2\x1b\x05\xbc\xc3\x1c\x92\x0e\xbd\x6d\xb5\x12\xa4\x5b\x93\x90\xe2\x29\x74\x85\xb5\xaa\x5f\x89\x96\xbc\x68\x28\x62\xe8\x9c\x12\x14\x27\xe4\xe8\xf5\x4a\xc5\x9e\xd8\xb1\xae\x7f\x0d\x4c\x0b\x7a\x61\xb3\x19\xdc\xf7\xc2\x9d\x05\xc1\x8a\xbb\x97\x1c\x74\x51\xe0\x24\x02\x6b\x6e\xe3\x6c\x78\x83\xf1\xd0\xb2\xdb\x82\x4d\x8c\x66\x89\xd5\x83\x87\xd1\xfa\xd8\x79\xc5\xd6\x69\xe3\xcc\xa2\x1d\xf6\xc7\x32\x69\x32\x43\xa9\x46\x94\x33\x45\x87\x54\x73\x06\x69\xfb\x2b\x39\x45\x60\x47\x6b\x88\x0e\x2a\x3a\x5a\x41\x94\x51\x55\xed\xca\x62\xcf\x70\x09\x1a\x6c\x9f\xaa\x36\x33\xd3\x86\x67\x0f\x92\x9f\x90\x4a\x37\xc2\x9a\xa2\x80\xf7\x27\xae\x31\xb8\xd8\x91\xb0\x38\xf9\xe0\x27\x44\x1b\x2a\x97\x1e\x26\x31\x3d\xb0\x09\x0a\x43\x03\x75\x53\xbb\x21\x7c\xcb\x75\x52\x29\x34\x60\x19\xaf\xdc\x0d\xf0\x41\x7c\x83\xb7\x51\x81\x8a\x31\x87\xef\x10\x86\x3b\x36\xac\x3d\x6b\xbb\x24\x68\x43\x56\x2d\x5b\x4b\x58\x5d\x90\x9a\x77\xb8\x69\xbe\xd9\x50\xeb\x9d\x9d\x46\x8b\x77\x34\xfe\x36\xc8\x72\x7c\x61\x5d\xaf\x13\xec\xc6\x04\xd5\xe3\x92\x7a\x94\xf2\x8d\x3b\x5f\x90\x81\x90\xbc\x82\xf3\xc0\x85\x9f\xdd\x39\x0b\x60\x89\x43\xdc\x33\x84\xfb\x96\x9a\xf7\xe9\xba\x8c\xad\xbe\x12\x2b\xa3\x72\x20\x9a\xda\x47\x20\xff\x0f\x30\x73\xc5\x99\xc5\x05\x33\xde\x45\x60\xc5\x09\x4e\xe2\xd8\x59\x56\x07\x94\x92\xbd\x12\x4d\x19\x1c\xfa\x2a\x5d\xde\x7f\xbb\x1c\x9b\x15\x79\x72\xee\xd4\xb5\x25\x4f\x28\xde\x64\xee\x44\x25\x76\x18\x29\xdf\x44\x16\x73\x56\xcc\x62\xe9\x6e\xd2\x91\x4e\x2e\xf0\xc1\xfd\x9c\x04\xf7\x14\x42\x94\xe6\xdd\xf1\x6e\x22\x37\xc0\x3b\x78\x50\x75\xdc\x17\xba\x40\xa2\xa3\x00\x1c\xce\x34\x94\x19\x8d\xdd\x59\x90\xd2\xf9\xc5\x89\x72\xa2\xb9\xf3\x50\x41\x50\xfe\x79\xa3\x5c\x37\x01\x6c\x67\x12\xe8\x84\xf4\xce\x27\x33\xf1\x8f\x97\x33\x5b\x15\x8f\x86\x43\x68\x1c\xa9\xf6\xc8\xf4\x5e\x0b\x0a\xec\x7b\x52\x28\x5c\xea\x75\x47\xec\x77\x66\x3a\x36\x69\xa2\xcb\x0d\x8d\x3a\x12\x1f\x11\x73\xb7\xfa\x55\xb8\x9d\xda\xae\xb4\x61\xce\x77\xeb\xbe\xc2\x54\x6c\x81\xc9\x3d\x39\x3c\xf0\x23\x3f\x7c\x48\xc1\x18\x7d\x88\x32\xff\x23\x2d\xcb\x2e\x46\x2b\x34\xb2\xce\xcd\x1e\x98\xc8\x7c\x55\xf5\x6c\x5a\x51\x8a\x04\xd5\x5b\x7f\x27\xda\x40\x86\x75\xf5\xf2\xa0\x61\x40\x87\xf4\x33\x62\x6c\x13\x4e\x25\x75\xe9\xa5\x76\xaa\xa4\xd0\x07\x7d\x57\x75\x8e\x26\x44\x90\xa9\x35\x9c\xaa\x69\x4e\xab\xf5\xd0\xf1\x02\xc0\xc0\xe3\xbc\xc0\x9b\x68\x7e\x2a\x22\x77\xa0\xa9\xd0\xdc\xa8\x34\x44\xe2\xb6\x2c\x6b\x04\x19\x5a\x5b\xa9\x6a\x82\x47\x8d\x02\xdb\x48\x49\x40\x56\xeb\x3e\xd1\x1d\xac\xd1\x50\x2c\xab\x2b\xd5\x70\x8d\xba\xd9\xa1\x8a\x18\xe5\x2c\xe8\x8f\xbc\xe4\x24\xe8\x83\x8a\xe6\x60\x4f\x7c\x92\xf9\xbd\xd1\xf6\x9a\xfa\x6e\xfc\x7d\x26\x7f\x0d\x84\xdc\x91\xad\x53\x24\xaa\xf6\xb9\x28\xc8\x72\x63\xe7\x53\x99\xaa\x0c\xab\x0b\x75\xe4\x6f\x0e\xe4\xf1\x84\xc3\xc0\x9d\x1f\xc9\x90\x34\xf8\x0b\xeb\xbd\x1d\xcc\xe9\x29\xd5\x2a\x59\xa2\xee\x22\x22\x23\x35\xf9\xb2\x5e\xb9\xe9\x5d\xc4\x43\x23\xd3\xc6\x27\x99\x8e\x25\x31\xe9\x6f\x37\x49\x6a\x4a\x97\x06\x85\x5d\xda\x6c\x84\xfa\xb9\x21\x45\xae\xbc\x4a\xe3\xf0\x5e\xa7\x88\xef\xa2\x46\xb0\xca\x5c\x1c\x9a\xfb\x12\x47\xf4\x3a\x6b\x10\x8a\xbe\xad\x1c\xbe\x1c\x58\xd6\x0e\x34\x4b\x02\x41\xe3\x02\xe8\xcb\xf7\xee\x0b\x44\x7c\x84\x27\x96\xc6\x60\xb6\x78\x98\xe9\x5a\x19\x65\x6c\xbd\x77\xab\x1a\xe2\x94\xd0\xa6\xce\xd3\x98\xfa\xf7\xe6\x96\xb0\x03\x7e\x8c\x88\x07\xdb\xed\xd6\x4f\x56\x65\x57\x93\x33\x0d\xd4\x2a\xf1\x90\x37\x22\x14\xe7\x24\xbb\x27\x1e\x4e\x3b\x68\x32\x39\x7b\xe0\x9a\x02\x4c\xaf\xb3\x87\xad\xe8\x77\xe7\x50\xa5\x8e\x20\x50\x94\xbd\x7f\x1b\xc5\xa0\x11\x96\xd4\x4a\x9f\xea\x30\x52\xad\x82\x4e\xef\x33\x5f\xb0\x55\x16\x82\x53\x2f\xc8\xaa\xa5\x51\x0d\xfa\xad\x26\x36\xb8\x34\x86\xac\xd2\x74\x10\xad\x5f\xa7\xec\x50\xd3\x8a\xbd\x1a\xe9\xe8\x1a\xef\x7e\x57\xca\xed\x1b\xb3\xa2\xec\xa4\xd8\xe1\xbe\xf4\xc7\x60\xbb\xad\xcc\x61\x8f\x23\xe2\xc6\x5a\x34\xa8\x0d\x67\xa3\xc3\x15\xe3\xc9\x39\xb3\x95\xca\xdc\x52\x09\x62\x3f\xe5\x48\xc0\xe4\x96\xc2\xef\x39\xfc\xe3\x22\x4e\xa9\xd6\xd8\x00\xe6\x38\x33\xff\xc4\xbd\x2d\xc0\x20\x62\x9f\x2a\x8a\x8a\x5b\x91\x1c\x7b\xde\x2b\x3c\x03\xc7\x89\x3a\xfd\xc0\x3a\x0a\xb7\x47\xd4\x45\xeb\x2f\xcb\xb5\x6c\x23\x5a\x54\x38\xf5\x86\x77\x7f\xb1\xc6\x57\x0c\x04\xb3\xa0\x99\x7e\xb4\x6d\x95\xb7\x12\xc3\xf4\x38\xbf\x67\x43\x5e\x19\x35\x00\xe0\x92\x41\xf0\xc6\x87\x31\x57\x07\x00\xe7\x51\xaa\xf0\x86\x0e\x10\xa4\x9f\x2a\xa9\x32\x77\x03\x8c\xde\xcc\x81\xc7\x8f\x9f\x28\x1b\x01\x63\xc1\x53\x8e\x29\xe4\xc1\x89\x23\x0f\xb6\xe1\xa4\x65\x64\xf6\x59\xe9\xda\x73\x5a\xf7\x94\x97\xde\x79\xcc\x45\x85\xa9\x70\x6c\x47\x62\x93\x86\xe8\xe7\x4b\xaa\x6d\xb9\xe1\x4e\xcd\x3a\x46\xd2\x51\x90\x5e\x92\xfd\xb2\xc2\x94\x26\xef\x83\xcf\x0b\x8a\x30\x03\x37\x96\xa0\xe9\x6e\xe8\x3c\x07\x8f\x52\xb2\xc6\x00\x17\x1b\x46\xba\xa4\xb6\x4a\xcb\x9a\xae\x15\xd8\xbb\x28\x84\x6a\xcd\xc3\xdf\xa1\x8f\xc6\x16\xe6\x4a\x44\x99\x32\x8b\xd7\x41\x24\x4f\x4a\xd4\xfb\x9b\xd0\xde\x25\x68\x57\x95\xf0\xb6\x8e\xc0\x6d\xcd\x77\xae\x65\x4e\xbc\x4a\x29\xf3\x8a\x2c\x3c\xce\x86\x12\xb2\x4d\x2f\x30\x09\xa3\xc3\x45\xb4\xda\xc6\xb0\x34\x6c\xc8\x64\x22\x96\x67\xda\x94\x68\xd9\x3d\xc0\xc9\x0f\xcd\xb5\x28\x16\xf9\x0a\x87\x8d\x49\x0a\x18\x1a\x4e\x8d\x7c\xad\x01\xc4\x1f\xb7\xec\x90\x33\x4f\xb0\x1c\x6a\xcb\xbe\x5c\x0c\x6d\x7b\x2f\x1e\x5e\xdc\xfb\x61\x8e\x3e\x97\x20\x49\x65\x4f\x7b\x2f\x5e\x52\xd7\xb3\x95\xd9\x9f\xdc\x8b\x84\x9f\x80\x99\x86\xcc\xfd\x76\x13\x5e\x46\xa0\xba\x44\x86\x0c\x6e\x1e\x8e\xd9\xb8\x9c\x26\x6e\x95\x97\xd7\xa5\xd0\x1e\x65\x42\x8e\x7e\x65\x18\x0c\x92\x03\x3c\xc7\xd4\x17\x18\x3d\xf3\x1f\xb1\xc3\x4a\xbb\x17\x51\xde\xd0\xe9\xdc\xe3\xec\x29\x8e\x93\xa9\x53\xe7\xcc\x9c\xb4\xc4\x9d\xee\x51\xa5\x7a\x58\x69\xd3\xb8\x3a\x10\xeb\x3d\x4b\x63\x4d\x85\x9a\x12\xef\xff\x7a\x97\x7f\xf9\xe5\x6f\x85\x47\x53\x73\x44\x9a\x36\xc8\x28\x08\x8d\x8a\xc0\x2c\xc0\x7a\xf8\xe9\x27\x9b\xa2\x2c\x20\xaf\x30\x00\x9a\xeb\x1d\xc3\x7a\x8a\x97\x58\xed\x98\xa3\xd1\x05\x1c\x27\x37\x2a\x8d\xa7\x60\xbe\x89\x18\x18\x7f\xc4\x3a\x12\x9e\xa7\x9d\x58\x85\xb2\x31\x7a\x20\x85\x23\xd8\xc8\x69\x9b\xdb\x94\x9b\x31\xde\x8b\x24\xc6\xa6\xfd\x0f\x95\x71\xdf\xc4\x71\x28\x7c\x6b\x61\xfe\xfa\x8b\xd6\x61\x29\xba\x09\x24\x2c\x9a\x28\xb2\x86\xd5\x75\x93\xa5\x96\x88\xdc\xcb\xac\x5d\xbd\x7b\xd1\x27\x25\x7e\xc0\xfb\x4b\xba\x3f\x75\x60\x04\x61\x53\xc2\x43\x12\x27\xf0\xb8\xfd\xf8\x7f\x22\xb1\x07\x79\x51\xbe\xb9\xc1\x86\x01\x55\xc9\x55\x8f\x77\x4a\xb0\x2b\xd5\xb8\x7d\xdd\x24\x42\x4a\x2a\x2a\x0a\xf3\xf7\x06\x8c\x8d\x23\x7a\x35\x9a\x4c\xc7\xa7\x36\xbd\x7c\xf2\x66\x7c\x62\x79\x6f\x3c\x5a\x5c\xcd\xc7\xde\xab\xe9\xe8\xb5\x2d\x9d\x68\x72\x7e\x3a\x39\x19\x2d\xc6\x57\x73\xca\x84\x7a\x35\x3b\x3f\x59\x4c\x6c\x8e\xe6\x57\x94\x05\xe8\x71\x79\x58\x75\xc9\x9d\xc4\x9c\x02\x88\x21\x6e\x76\x3b\x41\x27\xf5\x95\xcb\xbc\xa2\x17\x40\xa6\xb2\x95\xef\xb7\x29\xfc\xd3\x0c\x6e\xb3\x99\x18\x92\xa6\xb5\xc8\x96\x77\x25\xdb\x3e\x75\x8a\xaf\x2b\xe8\xaa\x1e\x5a\x9b\x8a\xd1\x3b\x84\xd4\x55\xe9\xe1\x68\x8b\x54\x45\x63\xeb\xc4\x27\xef\x9f\x0a\x02\x7b\xfa\x05\x2c\x28\xf6\x1b\xaf\x8c\x0a\x49\x77\x18\xa2\xb8\xc7\x04\x3e\xb7\xd3\x9d\x15\xff\xe3\x27\x30\xf1\x38\x20\xb9\x0a\xca\x89\x08\xe0\xed\x90\xd3\x5e\x90\xd3\x24\x94\x1c\x23\x31\x87\x8f\x8b\x58\xe6\xd9\xcb\x9a\x1d\x7b\x71\xaa\x94\xe7\x52\x11\x5b\x95\x21\xc2\x32\xed\x48\x80\xeb\xf8\xf6\x65\x71\x29\x5a\x6a\x17\x1e\x93\x33\x2c\xe1\xf2\x85\x0e\xd2\x6b\xa7\x84\x0b\x20\xd2\xf2\x22\x98\xc0\xc9\xe3\x2e\x17\x5b\x23\x31\x7b\x51\x51\x87\xe0\x84\x98\x22\x5d\x1a\x64\x8d\x02\x5f\x9e\x5a\xda\xcc\xe6\xdd\xa6\x9c\xb9\x21\x77\x1f\x9f\xa9\x07\x9c\x62\xac\xac\x03\x10\x1d\xf0\xda\x68\x82\x6d\x85\x8f\xaa\xde\x0f\x69\xcc\x29\x9a\xaa\x3b\xc2\xb5\xca\x9d\x6e\xbd\x77\x34\x72\xc9\x4b\x41\xdc\x04\x4e\xe5\xdc\xa9\xd3\x4c\x19\xb4\x23\x61\xca\xd0\x3f\xc2\xba\xe9\x32\x1b\x1e\xaf\x62\x45\x63\x47\x24\x87\x0d\xb2\x42\x69\x71\x90\xf8\xbd\x17\x18\x09\xee\xea\xe2\x36\x69\x6d\x73\xd4\xb1\x6b\x02\xad\x1b\xff\xbd\x50\xc1\x1c\x5c\xa2\x83\xe9\xdc\xd1\x67\x6d\x02\xa6\xd8\x82\xd6\x6b\x6f\x73\xd0\x2e\x21\x05\x05\x74\x2e\x73\xc1\x77\x3d\x4e\x32\x90\xab\x0a\x17\xb5\x60\x62\x86\xd2\x85\xf0\x03\x89\x9b\xcc\xfe\x54\x5d\xb6\xff\xb6\x57\xed\x6d\xc7\x82\x8c\x16\xca\x64\xca\x27\x46\x34\xf1\xc7\x57\xa1\x8f\xf5\x23\x65\x99\xb5\x95\x0d\xdc\x2b\x95\xbc\x59\x7b\x53\x87\x7c\xdb\xab\x1b\x58\xb1\x72\x56\xea\x0e\x48\xdd\x10\xda\xc2\x19\x14\x5c\xcb\xbd\x16\xc6\x7a\x51\x66\x14\x7b\x9e\x30\xf8\x27\xc4\x66\x4f\x24\xf4\x29\x0e\x84\x12\x61\x03\xaa\xa9\x01\xe7\x0b\x3c\x34\xcb\x0a\x15\x5b\x1f\x24\x0b\xa8\xc5\x1f\xb7\x6d\x91\x69\xaf\xa4\x5b\x15\x4e\x62\xe8\xa7\xa2\x65\x48\x88\x78\x05\xfe\xde\x83\xd1\x25\xdc\xb3\x88\x13\x7f\x09\x53\xe1\x29\x00\xf1\xdc\xa0\xaf\x88\xee\xd0\x2b\x18\x9b\x07\x15\x27\x54\x15\x9b\x2a\xd7\x3f\x5f\x71\xd9\x97\x6d\x12\x53\x9d\x0e\x4c\x3a\x89\xa3\x75\x20\x83\xce\x6c\x65\x45\x08\x46\x52\xcd\x80\x78\x1e\xc9\x5a\x30\xbc\x30\xaa\xa0\xba\xa8\x41\x10\xd8\xd1\x0b\x5d\x6e\xe6\x9b\xbd\x68\x48\x91\x2d\xa5\xb7\x5b\xd0\xca\xa2\x1e\x9c\x22\x4c\x2a\x6c\x07\xfc\xe5\xd2\x20\x54\x29\x8f\x03\xcf\x7a\x91\xb2\x09\x6e\x65\x4a\xd8\x4e\x2c\x28\x5e\xef\x85\xb5\x4f\x71\x4b\x3d\xde\x1e\x75\x2d\x19\x8b\xbc\xd7\x54\x5a\x4f\x0d\x90\x65\xae\x03\x1b\x05\xc6\x95\x35\x6f\x29\x6a\x85\x86\x1b\xc0\xa6\x65\xf3\x49\x31\x09\x79\x74\x23\xe3\x97\xf7\x96\x30\x15\x2f\x0a\x47\x72\x77\x76\xbf\x1e\x2f\x16\x93\xf3\xd7\xde\xe5\x62\x34\x5f\x58\x0f\xe3\x93\xf3\xc9\x62\x32\xb2\x1f\xa0\x5f\x4f\x67\xdf\x8c\xa6\xde\xec\x02\x1f\xb1\x96\x0c\x91\x3f\x7b\xfc\xf4\xf8\xd2\x16\xee\xfb\x1a\xdb\xa7\x14\x57\xf5\xba\x71\x20\x65\x79\xa4\x77\xde\x32\xc4\x14\x7c\x9b\xea\x9c\xa1\x63\x8c\x1b\x48\x95\x5a\x08\x36\xdf\xc7\xeb\xf2\x1f\x12\x28\x22\xb0\x53\x85\x5a\xb5\x7e\x27\xc9\xae\x5c\x14\xa2\xb6\xae\x20\x8a\x2e\x32\x6b\xc8\x5f\x56\x87\xc4\x91\x0d\x9d\x17\x01\xaf\x55\x24\x34\xf6\xac\x51\x51\x91\x14\xcc\x00\xe2\xf8\x5e\x64\x14\xbf\x69\xdf\x78\x67\x66\xbc\xa7\xce\x06\xd7\x80\xe4\x9d\x7a\xe8\x73\x8f\x02\x00\xb9\xbc\x7b\xfc\x64\x4d\xdf\x7d\x5d\x84\x65\xa7\x4f\xd3\xa7\x63\x56\x8a\xa7\x2d\xf9\x8e\x3f\x6b\x63\x0e\x35\x52\xc3\x15\x73\x7c\x6c\x4d\xb8\x2a\x53\xdd\xec\x76\xa1\xd7\x5b\x71\x29\x37\x8b\xbd\xb1\x6f\x7f\x0e\x2a\x97\x48\xef\x3e\xbe\x3d\x78\x24\x8c\xa4\x6e\x5d\xf3\x6f\x4f\xbb\xb2\xff\x48\x0b\x0a\xaa\x07\x88\xfa\x9d\x5b\x99\xb8\x5f\x44\xb0\xd8\xe1\xf4\x14\xdc\x72\x94\x52\xd3\x59\xf5\x4b\xb1\xa8\x6b\x45\x70\x7c\xec\x2f\x25\x51\x3a\x46\xf5\x57\x29\x40\xb6\xbd\xa9\x25\x6a\x66\x56\xc9\x37\x91\x7b\xd3\x9e\xd1\x32\x8a\x20\xcc\x13\xd9\xb7\x60\xc7\xcc\x9e\x79\xf2\x04\x25\x38\x6a\x94\x1f\xae\x5b\x4a\xe7\x40\xc4\x93\x75\x50\xa9\x8f\xaa\xab\x67\xc4\x8e\xfd\xe3\xbb\x27\xab\x67\x0b\x89\x3d\x9b\xca\xab\x81\xff\x02\xad\xa1\xaa\x2b\xeb\x97\x6f\x0c\x65\x30\x23\xfd\x5c\x23\xe7\x2b\xee\xf4\xf3\x0f\xd2\x56\x40\xca\x71\x2b\x74\xaf\xfd\xd4\xb5\x61\xf1\x09\x3e\x2d\xda\x4c\x62\x36\x59\x1a\x64\x71\x82\x9d\xdf\x01\x80\x8b\x6a\x4e\xab\x69\x63\xda\x6e\x2f\x25\x8f\xa5\x04\xce\x9d\x1c\x4d\xca\x83\x67\x8b\x28\x69\xa5\xa2\x9a\xbc\xd6\x8e\xba\xb1\x9f\x0e\xa9\xa4\x83\xec\x06\x2b\x4b\xc7\x9e\xdd\x37\x01\x02\xd7\xa7\x0c\x59\x99\x3a\xf9\xfa\xee\xf8\x4b\x17\x53\x35\x32\x3c\x77\x69\x6e\xb8\x98\xda\x4b\xa6\x65\x99\xe7\x3d\x28\x92\x10\x0e\x40\x44\xa3\x79\xe1\x68\xf6\xf5\x27\xb8\xd3\xe4\x78\x1a\xab\xb7\x6d\xac\x9f\x61\x50\x7b\x91\x9e\x2b\x83\x9d\x0a\xdd\x97\xcd\x29\xd5\xed\x88\xbf\x7c\x8d\xdf\x9d\xf7\x5a\x63\xc9\xe3\xcf\xb7\xa1\xe8\xb0\xa0\xda\x90\xb4\xd2\x5e\xa6\x36\xdd\xcd\xd2\x33\x16\x9f\x41\xd3\x8e\x16\x9c\xda\x34\x65\xf9\xbc\xdd\x54\x53\xa9\xec\x5d\xda\xdc\xec\xae\x87\x9a\xaa\xd0\x84\x53\x5d\xb4\xbd\xfb\x86\x3e\xa1\x98\x46\xe5\x12\xb9\x52\xc2\xf4\xdf\x3b\x1f\x0a\x1a\x47\xa3\xe4\x41\x77\xcd\x33\x49\xc1\x96\x02\x4d\xd2\x6e\xd2\xf2\x39\xd8\x51\xb7\x80\x7e\x55\x7c\x3a\x6a\x2e\x0a\xfa\xab\x67\xe0\x67\x94\x22\x1b\x7f\x9e\x7a\xec\x9f\x6b\x88\x87\x1c\xc7\xe7\x16\xea\xcf\x2a\xa0\xbf\xa2\xa5\xfc\xeb\x58\xb1\x9f\x6b\x69\x3e\xd5\xfa\xd3\x99\xbb\xe9\x3e\x87\x5f\xca\xdd\x4d\x1b\xdb\xcc\x5a\x77\xde\x7e\xe7\xdc\xb4\xd4\x68\x76\x9f\x23\xaf\xd2\x00\xa9\x71\x38\xdf\xcf\x42\x4f\xcd\x42\xf4\xc6\x59\xcd\xa5\xca\xf5\xfe\x0e\xa7\x54\x5e\xed\xc9\x3a\xc7\xc2\x41\x74\x0e\xe1\x78\xd8\x69\xd0\x9f\x77\x80\xae\x63\xa8\xdf\x2a\x3e\x59\x34\x50\x79\x98\x1d\x97\x91\x9f\xbd\x31\x70\x8d\x2f\x9f\x9b\x0d\xbf\xd4\x78\x1b\xfa\x20\x3f\x8d\xcf\xa6\xd6\x17\x79\x3f\x2d\x5e\xd0\xbd\xb7\xfb\x46\x53\xb6\x27\x39\x69\x53\x47\xe6\x56\x19\x71\xd4\xdb\xba\x24\x63\xb3\x90\x54\x71\x75\x08\x44\xa7\x4e\xc7\xf4\x79\x4a\xf6\xbb\xc4\x4f\x98\x63\x58\x5a\x0c\xda\xa0\x78\x8a\x0b\x38\x9d\xed\x5f\xc2\x6f\x5f\x1d\x75\x62\x0e\x7f\xe9\xc6\xf5\x04\x3e\x23\x13\x54\xe5\x81\x5f\x76\xd8\x1c\x28\xde\xdc\x64\xfc\x85\xed\x7e\xc9\xbd\x5b\x7f\x79\xc0\xe5\x68\xf1\x0e\x39\xaf\x0d\xb8\x4c\x43\xff\xa6\xfe\x2e\x43\xde\x43\xcb\xf7\x1d\xdc\x4e\x1a\xfd\xcd\x78\x34\x5d\xbc\xb9\xc6\xac\xaa\x3f\x5d\x2f\xbe\xbd\x18\x5b\x48\xc3\x9f\xae\x4f\x27\xa3\xd7\xe7\xb3\xcb\xc5\xe4\xe4\x7a\x72\xbe\x18\xbf\x9e\x4f\x16\x63\x0b\x58\x78\xca\x02\xe9\xcd\xac\xed\xa5\xf3\xd1\x99\x8d\x84\xf3\xd9\xd9\xf5\x9b\xc7\xff\xdb\xfa\x36\xb6\x6d\xa2\x0a\x4f\xd4\xa0\x6d\x19\xe6\x2b\x32\x4b\xb8\x22\x1e\x27\x02\xdf\xc4\xab\x87\x23\x6c\xe3\x33\xf8\xd7\x01\xd8\x5d\xd8\x75\x53\xac\xbc\x9b\x07\xec\x29\x43\xb1\xb3\x20\xe3\xf8\x3a\x56\x0e\xa2\x17\x75\xc5\x28\x0b\x4d\xa7\xaa\x14\x14\x61\x7f\xfc\x4f\x46\x6c\x54\x21\x58\xc6\xc9\x36\xad\x06\x60\xe7\x84\x3f\xcd\x83\x7b\xae\x5a\xc3\x45\x74\x84\x51\x75\x4d\xde\xa2\x00\xd5\xa1\x17\x62\x6e\x7b\x68\xd4\x9d\x6a\x19\xff\x46\x64\x77\xf1\xca\x7b\xfe\x7a\xbc\x38\xba\x00\x76\x1e\x5d\x5c\x2d\x8e\x4e\xc7\xd3\xf1\x62\x7c\x24\xb2\xa5\x2d\x3e\xf6\xec\xf1\x13\xbe\x27\x3b\x69\xd9\xdf\x6e\x46\x1c\xa7\x19\x31\x8e\xbb\xfc\x6d\x1e\x86\x69\x7e\xc3\xc1\x44\x36\x7c\xe7\x38\xde\xc1\xdd\xe3\x3f\xb2\x4a\xab\xbf\x4d\x1c\x0d\x31\x7d\x77\x28\x83\x91\xba\x50\x2a\xf7\x31\xd1\xcd\xc5\x6b\x9e\xcb\xda\x07\x32\x30\xf0\xce\xc7\x8f\x32\x5e\xca\x85\x1e\x95\x26\xc1\xd0\x98\x21\x04\x32\x35\x9a\x82\xa9\x50\x29\x6c\x9a\xe7\xdf\x3e\x7e\x4a\xbb\x08\xcd\x65\x19\x87\x65\xbc\xc1\xd6\x75\xb4\x7e\x31\xb4\xd3\x3b\x9d\x9d\x8d\x26\xe7\x14\xe3\x4f\x8d\xad\x1e\x58\x60\x55\x17\x4f\x0c\x03\x75\x20\x5a\x37\x56\xf2\xef\xc5\x52\xc2\x1c\x33\xbd\xaa\xb7\x95\x30\x46\x85\xe9\x86\xd6\xba\x9c\x7b\xd3\xcc\xc1\xab\x87\xa7\x5a\xce\x0c\x2e\x8a\x90\xab\x3f\x24\xc1\x86\x1f\x90\xe1\xad\x2e\x03\x42\xed\xc0\x6d\x34\x1e\x2a\xa2\xd3\x87\x62\xa2\x45\xb5\xe3\x10\x15\x81\x69\x26\x63\x72\x7e\xb9\x18\x4d\xa7\xe3\x53\xef\x62\x7a\xf5\x1a\xf8\x77\x32\x3b\x3b\x1b\x9d\x9f\xda\x72\x55\xe5\xcf\xdc\xb3\x0f\x5f\x19\xc2\x3b\x0a\x88\xad\x23\x1e\xfd\x7e\x7e\x32\xbe\x3e\x1b\x9f\xcd\xe6\xdf\xda\xd6\x3b\xfc\x38\x99\x8f\xaf\xd5\xd3\x16\x58\xb7\x11\x16\x0b\x29\x55\xab\xb3\x45\x02\xd3\xa3\x89\x59\x77\xa5\xa3\xe2\xf5\x24\xf2\xfe\x0d\xa4\x24\xfe\x90\x7a\x27\xb2\x52\xee\x14\xcb\x74\x63\xbb\x2e\x2c\xd6\x17\x8a\x21\x1a\xda\x62\x75\x04\x86\xec\xd2\xdf\xc2\xcc\x61\xa2\xcc\x4b\x30\xf1\xde\xbd\x7b\xf7\xec\xde\x0f\x83\x15\x7e\x78\x89\xff\xc1\xfc\x26\xfc\xd7\x5a\xff\xe0\x32\x97\x62\x72\x1b\x71\x52\xb5\xea\xe8\x2a\x69\x38\xf2\x30\xdc\x1a\x24\xeb\x47\x8e\xfa\x95\x39\xd7\x84\x92\xa5\x93\x3c\x21\x3e\x66\x7a\x71\x77\xc6\xd5\x80\xaa\xe1\x6c\xb7\x1c\x38\x08\x9b\xaf\x3c\x72\x3f\xfe\x97\x4f\x7f\x53\x7a\xf4\x16\x44\x2f\x89\xb7\x77\x54\x10\xaa\x83\xf2\x2e\x36\x5d\xc0\x66\x95\x5c\xde\x81\xf0\x13\x93\x56\x71\x7e\x63\x65\xd2\xbb\x67\x6d\xb8\xde\x3d\xb3\x6d\x67\xb8\x6b\xd5\xf1\x3d\x11\x77\x6e\xf3\x20\xc4\xb4\x91\x0c\x99\xd3\x49\xb1\x85\x3d\xbc\xcf\xeb\x12\x7f\xb2\x1c\xa8\xda\xf8\x5b\x3b\x3c\x4f\xe4\x5e\x1d\x9a\x05\x40\xe9\x2e\x5c\xd7\xf8\xa3\x5d\x5c\xb5\x7e\xb6\x92\x80\x7d\x46\x97\x99\x77\x95\xfa\xb7\xb6\x05\x72\xc9\x45\x69\xd0\x3e\xe0\xa7\xdd\xa0\x1d\x7b\xa3\xa8\xa8\xf9\x03\x5b\x10\x95\xff\xa6\x30\x16\xd9\xca\x9a\x1e\x0e\x1f\x60\x00\xcb\x30\x06\xfd\x76\x8c\xad\x61\x9d\x89\x38\xf6\xae\x0c\xf8\xb0\x24\xd0\x78\x04\xfb\xa4\x68\x12\x4b\x06\x4d\xaa\x10\xd1\x74\x32\x0a\x37\xf2\x4f\x74\x15\x6c\x6c\xa4\x17\xfa\xb7\x29\x98\x09\x1f\x97\x62\x9b\x79\xc3\xf5\x17\xd8\xa0\x0f\x87\x71\x23\xa3\xdb\x41\x7e\x3f\xdc\x61\x36\x12\xb7\x70\xf6\x36\x79\x98\x05\x68\x17\x50\x14\x39\x47\xca\x94\xf5\x91\xcd\x94\x6e\x1a\xea\x94\xce\xda\x2b\xd9\x3d\x89\xad\xb2\x9a\x42\x78\x9e\xfa\xf9\x9a\x68\xc3\xec\x20\x91\xdf\x53\x58\x30\x76\x88\xe2\x82\x07\x48\xe6\x5f\x73\x0c\x5d\xaa\x56\xfc\xab\x75\x8a\xf6\xb8\xaa\x73\x1a\x10\xb6\x72\x80\x3a\x5b\x78\x60\xfa\xd5\xd4\xa5\xc5\x50\xaf\x71\xb6\x66\xb9\x03\xb7\x52\x62\xe5\xbb\x67\x58\x19\xfe\xdd\x33\x14\x92\x77\xcf\xa2\x38\x12\xef\x9e\xbd\x83\x39\xeb\x25\x17\xd8\x81\xb7\x2b\xd2\x93\x0a\x41\xf8\x54\x66\x89\xf6\x43\x19\x24\x5a\xe0\xcf\xab\xf8\xdd\x86\x36\x57\xd5\xab\x30\x8e\x96\x5a\x65\x63\xe0\x78\xf1\x81\xa2\x57\x07\x78\xb6\x52\xa2\x9b\xf6\x94\xfa\xb9\x2a\x2f\xd5\x8e\x01\xa7\x53\x54\x90\xec\x3d\x84\xa7\x22\xfc\x30\xe4\xaa\x80\x03\x9d\x5f\x73\x20\x72\x1b\xe0\x1e\x80\xdc\xd1\xc5\x85\x77\x39\x9e\xbf\x9d\x9c\x14\xc6\xcc\x41\xe8\x45\xc0\xda\x96\x92\x18\x0e\x44\xf0\x35\x9e\x71\xe9\x0e\x50\xda\xd1\x87\xa0\x17\x0f\xc7\x48\xb3\xc8\xb4\x1d\x7d\x68\x6a\xeb\x0a\xe7\xc0\x84\x5b\x7d\x0c\x07\x1f\xca\x93\x88\x8c\x31\x92\xa7\x95\x9c\x82\xd6\x7d\xc8\x2c\x93\x74\x28\x8a\xf6\x65\xde\xfe\x54\x7d\x73\x35\x99\x9e\x5e\x8c\x40\x46\x91\xb6\x23\xef\x7c\xfc\x6f\xd7\xe5\xef\x0e\x36\xdb\x04\xf1\x64\x06\x93\x3d\xbf\xa2\x3a\x42\x80\x6d\x76\xf5\x76\x3c\xba\xba\x6e\xfc\xf9\x10\x62\xa0\x74\xc6\x53\x49\xb1\xd2\x1e\x4f\x24\xc5\x86\xca\x8b\xf6\x16\x9a\x66\x4d\xb7\x0b\x59\xd3\xd1\x37\xe3\xe9\x91\x77\x31\x9f\xbd\x9d\x9c\x8e\xe7\xc4\xde\xc5\xec\x4f\xe3\xc3\x28\xe7\xe9\x04\xa0\x4f\x41\x16\x5f\xcd\xae\xe6\xe7\x93\xcb\xcb\xf1\xd5\x1c\x19\xfc\xc7\xf1\xe2\x30\x42\x51\x23\xff\xa9\x88\x3e\x00\xad\xb3\xf9\xeb\xd2\xe6\xb7\x2f\x9d\x08\xef\xb0\xbb\x5e\x95\xc2\x03\x30\xf3\x49\x88\x94\x0a\xee\xcf\x57\xb3\xc5\xe8\x60\x3a\x0d\xe0\x2a\x90\x07\xa0\x72\x3e\xbe\x98\x15\xdb\xee\xd5\x7c\x7a\x30\x3a\xe7\xe3\x57\xe3\xf9\xf8\x7c\x31\x19\x4f\x91\xb3\x08\xfa\x00\xf4\x5e\x8e\x4f\xae\xc0\xe2\xf8\xf6\xfa\xf5\x7c\x76\x75\x41\x44\x5f\x8c\xc0\xe8\x59\xcc\xae\xd1\xd9\x71\x3d\xbf\x9a\x8e\x2f\xaf\x5f\x4d\xa6\x87\x51\xb6\x84\x05\xf5\x2b\x61\x25\xa5\x0b\xe6\xd5\xd9\xe4\x1c\x50\x9c\xbc\x99\x8c\xe7\x30\xcc\xd7\x88\x91\x3c\x2d\x07\x1f\xdf\x91\x16\xf5\x4b\xd8\xab\x9e\x64\x48\x47\x4a\xf4\xc7\x8c\xe2\x20\x63\xe0\x6d\xef\x9b\x39\x28\xe8\x39\x6f\xf0\xe5\xef\x0e\x32\x90\x13\x50\x7b\x0b\x9c\x02\x09\xfb\xb2\xd8\xdc\x6b\x3f\x3d\xc5\xb0\xae\xe0\x0b\x5e\xe0\x17\xa3\xcb\xcb\x7f\x9b\xcd\x4f\x8f\x0e\xb6\x80\x1a\xc7\x76\x76\x7d\xb5\x98\x4c\x27\x97\x54\x1e\xf1\xc8\x3b\x9b\x2d\xae\x4f\xc7\xd7\x88\x7c\x7c\x74\xb8\xf5\x55\x31\x59\xd4\x17\x7f\x1a\x7f\x7b\x90\x91\xd5\x6c\x96\x93\xe9\x41\xed\x97\xba\xcd\x05\xab\xc7\x94\xc0\x83\x1a\x63\xb5\xd1\x88\x8c\x85\x10\x36\xe6\xeb\xa7\x30\xcf\x1a\x87\xf7\xe4\x73\x84\x6a\xef\xc0\xd3\x04\x02\x7e\x32\x1e\xe2\x89\x62\x31\x9a\xbf\x1e\x2f\xe8\xe3\x81\x1c\x03\xd7\x0c\x9d\x3e\x9e\x4c\xbe\x99\x1e\x86\x62\xd6\xc0\x87\x35\x3b\xa4\xd2\x3d\xac\xe5\x51\x50\x7a\x38\xcb\xa3\x20\xf4\x60\xa6\x07\x41\x1c\x16\x47\x7e\xfa\x93\xa0\x0f\x0f\x7a\x08\x2c\x48\xc7\xbf\x08\xc1\xf5\x01\x37\x3b\x04\xc4\x16\x14\x69\x99\xe2\xcf\x03\xd3\x6f\x1e\x5c\x9f\x84\xfc\x03\x39\x09\x1a\x69\xdb\x85\xb4\x62\x7f\x25\x93\x77\x3e\x3b\x90\x4d\x57\xdb\x48\x0b\xf0\x07\x60\x68\x85\x6a\x62\xc6\x93\x13\x3f\x36\xd1\x1c\x60\x10\x07\x38\xfa\xe7\xd1\x5e\x93\x8f\x35\x42\xc8\x1b\x7d\x00\xa9\xa4\x9a\x7b\x9b\x4a\x77\xba\xfd\xe5\x13\xa0\x5d\x23\x89\x47\x32\xda\xe4\xba\x4a\xef\xce\x93\xdc\x48\xb0\x28\xbe\x17\xba\x67\xf6\x21\xe6\x7a\x5f\x6a\x57\x35\x20\x3d\x29\xd0\x75\x99\x24\x3b\xa9\xd4\x21\x6e\x09\x5b\xd9\x6d\xe4\x20\x4c\x2d\xa2\xb8\x9a\xba\xe2\x60\xb9\x54\x55\xfa\x50\x64\x54\xe0\x5d\x63\x3f\x00\x93\xef\x62\xac\xb5\x1e\xa9\x38\xa7\xc3\x48\x89\x0c\x79\x61\xc1\x38\xa0\x44\xc4\xe1\xca\x58\x7f\x40\x74\x24\x3e\x34\x2e\xc8\x3d\x48\xf7\xa3\x65\x20\xf4\x8c\x84\x8d\x92\x9e\xdf\x0b\x3f\x6f\x7e\xe4\x40\xa3\xc4\x78\x50\x96\x39\x1c\xa2\xfa\xeb\x89\x86\x58\x0a\x0d\xb5\x8c\xb1\xf4\xcc\x21\x06\x99\xdc\x3e\xb1\x8e\xb2\x8e\xec\xd0\x7a\x4a\xe6\x54\x1c\x95\xf2\x74\x8e\xea\xa5\x50\x0e\x34\x38\x8d\x2e\x94\x19\x41\x46\x9a\x0e\xe5\xe4\x35\x55\x44\x39\xc4\x30\x29\x4c\xff\xd0\x5b\x5f\x11\x80\xbf\xff\xbe\x77\xff\x95\x3e\x08\xc2\x47\xed\xd2\xc6\xcf\xd3\xd1\xb9\x77\xff\x75\xf1\xf3\xd7\xfc\xd5\x21\xa6\x44\x9d\x71\xef\xbf\x32\xfd\xdd\xf8\x27\xa2\xc0\x7f\xf5\x13\x5f\xcb\xaf\xbe\xde\x79\x3e\x6c\x95\x30\xeb\x14\xda\x6a\x61\x16\x00\x55\xa5\xf0\x8d\x9f\xbd\x2c\x7a\xa7\xa1\xbf\x10\xab\x01\x63\x17\xb6\x77\x19\xfc\x7f\xf4\x16\x03\xab\xe4\xd3\x5c\x00\xd8\xc7\x88\xdb\x97\xef\xa2\xef\xde\x45\x00\x1d\xff\xe3\x61\xe8\x46\x12\x67\xf1\x32\x0e\xdf\x3d\xc3\x98\xac\x6c\xb9\x7d\xf7\xec\x48\xfd\xb6\xa2\x76\x99\x44\x2e\xff\xfc\xd5\x97\xc7\x5f\xff\xee\x77\xc7\x5f\x1d\x7f\xf5\xbf\x8d\xc7\x30\xfa\x23\xe5\x07\x7e\xfb\xdb\x2f\xff\xe5\xdd\x33\xfc\x01\x08\xf9\xde\x5e\xb7\x14\xa8\x67\xda\xf4\xd0\xbd\x97\x3a\x34\xc6\x32\xa2\xb1\x8c\x19\x36\x02\xa7\x09\x04\x85\x90\x51\xff\x21\xa7\x91\x1d\x60\x58\x96\x29\xe2\x62\xbd\x27\xd3\x89\x2c\xae\x63\x0d\x43\xa3\x07\x39\x7a\x52\x17\xd2\xc1\x40\x1b\x91\xac\x65\x82\x5b\x2d\x4e\xa9\x15\xa7\xd1\xb0\x1e\x38\x77\x41\x9f\xb8\x95\xb3\x3d\xf7\x60\x62\xa9\x0a\xdc\x00\xc0\x8e\x1a\xf4\x55\x1b\x78\xfc\xb9\xf5\x65\xef\x4c\x6c\xe2\xe4\xc1\x1e\xa5\xbe\x89\x03\xd9\x89\x57\x2b\xc8\x0e\x88\x2a\x28\xca\x07\x4d\x15\x0d\x23\x71\x0b\xe0\xee\x85\x6a\x24\x64\xc1\x34\x35\xd4\x2f\xc6\x38\x91\x4c\x62\x84\xe1\x2a\x11\xba\x69\x13\x65\xc5\x03\x50\x2f\x7a\xfc\x84\x50\xd7\x36\x4a\x48\x20\x39\x58\xb2\xa9\x15\xb1\x85\x86\xb9\x0a\x42\xa4\x17\xa3\x42\xb0\x57\xba\x57\x6c\x3b\xc2\xb9\x6c\xd4\x80\xff\x5a\xf3\x69\xe6\xd4\x51\xc1\x80\x5e\xbc\xd0\x0a\xfc\xf2\x72\xea\x9d\xa0\xe2\x5c\x73\x13\x43\x6a\xef\x46\x3d\x0f\x16\xc1\xf6\x4c\xa4\xa8\xe6\xac\x48\xf1\x45\xce\x78\x26\x38\x06\x76\x0a\x23\xb3\x83\x6b\x25\x09\x4d\x48\x5c\xa3\xa4\x2e\x46\xdb\xed\x05\x7c\x46\x20\x23\xf9\xbd\x29\x0a\xd4\x11\xc9\x42\x1d\xbe\x57\x39\x1c\x19\x14\x56\xa1\x4f\x05\x03\xaf\x74\x50\x2f\x5a\x24\xe9\xb6\x48\x1d\xd4\x53\xa3\xbe\x5d\xe4\xc3\xe8\xb5\xb7\x83\x94\x38\xb4\xa2\xfe\x23\x35\x9a\x6e\xc8\x55\x2f\xb1\xa5\x1d\x0d\x95\x9c\xbe\xcd\x65\xd1\x6f\x50\xc5\xf7\xf0\x16\xa7\x68\x0c\x97\x14\x18\x7a\xec\x5d\x84\xc2\x4f\x85\xfa\xd1\xf3\x3d\x63\xe1\xc4\x37\x3f\xe0\xa6\x40\x8d\xff\x89\x60\x95\xb2\x03\x80\x33\xb0\x01\xa9\xd4\x70\xfd\x05\x9b\xb6\x3b\x29\x91\x63\x8c\x63\x0d\x02\x18\x05\xa2\xa8\x4b\xa7\xc2\x45\x81\xcc\x63\xef\x15\xfd\x9a\xa6\xe2\x47\x9c\x56\x44\x91\x31\x36\xf9\x76\x9c\x9b\x91\xd2\xba\xd6\xbd\x2a\x53\xc0\x9a\x43\x6d\x56\x48\xb9\x88\x30\x1c\xba\x09\x96\x55\xcd\xf2\x18\x8b\x56\xf6\x98\xf2\x88\xf5\xda\x38\x73\x6f\xe0\x0d\x95\xea\xa7\x47\x56\x31\x98\x54\x18\x62\x4b\x65\xf8\xbb\xb2\x98\x0a\x46\x50\x64\x6b\x15\xf4\xef\x4b\x69\x48\x32\xbc\x95\x76\x89\x68\xc0\x65\xfe\x39\x56\xb6\x83\xf4\x20\x7d\xcf\x49\xb4\xb4\x96\x4e\xe1\x4f\x99\xd9\xdb\xaf\x07\xcb\x9f\x39\x41\x18\xe3\x53\x53\x0c\x5b\xae\x2e\x52\x07\xc0\x7b\xd2\x79\x48\xd2\xba\xa8\xe1\x1a\xae\x43\xaa\xe1\x3a\xa4\xc8\xdc\xad\x9f\xf8\x1b\x02\xc7\xbf\x9d\xe0\x4f\xdc\x59\xcd\xa6\xd9\xf0\x8d\xc7\x9f\x51\x2b\xd5\xc1\x55\x69\xac\x03\x6d\xa5\x4f\x6f\x98\xcb\x38\x8f\x58\x07\xab\x3d\x38\x3d\xc1\xaf\x70\xa8\x93\xd2\x43\x86\x42\x66\x67\x48\xe7\xbe\x7c\x4e\x8a\x94\x8c\x23\x09\xba\x46\x76\x1d\xe9\x54\x48\x05\x5c\x7a\xaf\xac\xa1\xe5\x6e\xce\x64\x74\x6c\xe4\x7a\xa4\x1b\x32\x56\xc0\x36\xdb\x04\x3c\x60\xb6\x5e\xa6\xf8\xb7\x83\x90\xd0\x73\x5c\xbe\xa0\xd1\xb0\xa9\x0d\xcd\x06\xde\x89\xda\x12\x73\x4a\x73\xd1\x7b\x16\x26\x36\x02\x4d\xf0\x55\x13\x6a\x2f\x56\x77\x13\x1f\x62\x7d\x99\xec\xce\x8f\xcc\x27\xa5\x08\x1c\x7e\x18\x41\x84\xb5\x2d\x31\xae\x5f\xc8\xce\x86\x55\x94\xad\xc3\xa2\x63\x8a\x73\x6a\x29\x3d\x5d\xd6\xcc\xed\xe0\x55\x2a\xc1\xb1\x57\x74\x56\x85\x2f\x6d\x1d\x08\xce\x74\xcb\xa5\x02\xc9\xb1\x77\x86\xc9\x3b\xba\xa9\x6a\xc7\x6e\xd4\xb4\x12\xf6\x58\x06\x0d\x82\xdf\x53\xea\x0f\xbf\x34\x0f\xb2\x18\x2d\x64\xf5\xdd\xf9\x9c\xc9\xdb\x71\xe7\xc3\xfe\x1a\xd4\xf1\x44\xef\x30\x0b\xfe\xc6\x81\x75\xc6\x1e\x83\xfb\x5f\xb5\x5b\x74\x95\xce\x26\xc0\xad\xb4\x15\x95\xcb\xd1\x3a\x29\x77\x26\x1d\x70\x41\x47\xea\xc2\xfa\xd6\x0f\x9d\xda\xdc\xbf\xe5\x9c\x95\xea\x19\xa4\x01\xb8\xd7\x0a\xdd\x46\x34\x4e\x14\x3a\xb9\x61\x51\x62\x43\x18\xaa\x15\x70\x44\xdf\x08\x6e\xa0\xb6\x96\x2d\x9f\xb8\x76\xbd\x6c\xc7\x44\x35\x0a\xac\x9e\x2c\x06\x9b\xa0\xa3\xf0\x16\x6b\xec\x26\xb5\x7a\x01\x47\xf8\x1b\xf5\x9a\x92\x3f\xae\x55\xe7\x28\x1e\x1e\xea\x61\xae\x83\xc0\xd6\x9c\xdd\x71\x65\x19\x40\x2a\x42\xb4\xc7\xf1\x87\x25\x68\xdd\x5b\xf6\x62\xca\x91\x61\xf3\xe4\x74\x2b\xb8\x81\x0d\x09\x7b\xba\xd7\x58\x52\x90\x22\x41\xe4\x47\xfc\x24\xa3\x34\xaa\x1c\xd1\x78\x41\xd8\xb0\xa7\x39\x43\x20\xb4\x58\x08\x54\x84\x74\xe2\xc7\x22\x61\x1f\xa9\x9b\x39\xb6\x5b\x4e\x6d\x03\x9e\xfa\xb0\x9f\xcc\x60\xda\x99\x40\x8b\x6a\x16\x70\x0a\xc0\x44\x47\x2f\xde\x02\xcd\xfc\x7d\x33\xb8\x20\xca\x3f\xbe\x38\xf3\x97\xd6\x95\xac\x7e\xb7\xbc\x8e\xf7\x3a\x61\xa8\xbb\xa8\x14\x6d\xcc\x59\x44\x5a\xce\x86\x20\xb9\x58\x4a\x3a\xc1\x92\xd0\xc8\x88\x50\x34\x37\x49\x91\x72\x80\xdd\xcb\x2d\xfb\x4a\x41\x05\xf6\x76\x27\xa1\x95\x47\x0c\xe9\x8d\xb2\xf5\xdc\xb1\x91\xa1\x9c\x58\xa5\x23\x04\x98\xca\x70\x9e\x45\x2a\x2c\xe7\x07\x2b\x19\xc4\x19\xce\x44\xc7\x0c\x42\xa3\x78\x75\x8c\x7d\xca\xf8\x9d\xd5\xca\xfc\x29\xb0\xb6\x58\xab\xd2\x9c\x4a\x21\xab\x11\xa9\x4b\x3c\x94\x2a\x5d\xeb\xc4\x75\xec\xc5\x9d\xf3\x33\x96\x9a\xdc\x9e\xff\x03\xb0\xe4\xf1\x53\xd7\x70\x8b\xbe\x32\xfd\x48\x6e\x6a\x2d\xd3\x81\x0a\x8b\xa3\xf7\x9c\xcb\x52\x41\xf4\x0e\xf0\xb2\xac\xb0\x94\xe3\x25\x17\x28\x91\x35\x61\x64\x21\x07\xf5\xa5\x59\x1e\xb1\x27\x45\x12\x4b\x59\xbc\x61\x2e\xaa\x17\x49\x11\x55\xb6\xeb\xa2\xb9\x52\xea\xb7\xd7\x14\x34\x56\xf8\xed\xc4\x57\xbe\x70\x3a\xc4\xb2\x37\x4e\x3d\xc5\x65\x52\xff\xe5\x5f\x94\xab\xf2\xa9\xd6\x4d\x2f\x5e\xe8\x6a\x54\xd4\xcb\xca\x9c\x89\x2e\xac\x5c\x47\xe9\xb9\x2f\xef\xae\x02\xec\x5e\xbe\x4d\xc4\x10\xd7\x05\x27\x01\x7b\xe9\x03\x98\xaf\x9b\x23\x59\xf6\x85\x7c\x41\x40\x21\x6b\x71\x2c\xc5\x24\x7f\x86\xf3\x41\x86\x29\xc7\x5e\x92\x53\x4b\x2e\x6b\x3d\x10\x1b\x23\xb9\xc0\xd2\x73\xba\xbe\xa7\x4b\x94\x94\x9c\x37\x08\xff\xf1\xe7\x8d\x79\x15\x01\xcf\xc2\x6a\x87\x1d\x0d\x36\xd7\x04\xb3\x85\x89\x34\xe9\xec\x29\x9e\x1f\x88\x8f\xdb\x10\xce\x15\x3e\x07\x09\xfc\x35\x0f\x30\xe7\x18\xbd\x35\x28\x2f\x99\xdc\x0d\x4d\xb5\x6d\x29\x34\xa2\xd9\x85\xa2\xc2\xca\x4e\xea\xe8\x9d\x75\x5e\x45\x5b\x19\xaa\xda\x51\x71\xe9\xa2\x20\xd2\xb6\x29\x44\x28\x5e\x1f\x70\xa1\x93\x41\x53\x97\xb3\xfa\xcd\xb1\xdb\x82\xd7\xd5\x9c\xa8\x7e\x40\x4f\x29\x2f\xd7\x6c\xaa\x92\xd0\x86\x59\xef\x69\xf1\x7a\x2d\xd0\xc4\xd4\x34\x18\x65\x16\x5d\x68\x21\xa5\xbc\x5e\x53\x15\x06\x63\xb7\x4a\xb9\x02\x46\xb5\x64\xa2\x13\x49\xac\x22\x54\xbf\x60\x59\x00\xcf\x95\x16\x55\x2e\x8f\x00\x30\x04\xa3\x78\x9e\xe3\xae\xaf\x49\xc9\xf1\x26\x60\x47\x0a\x06\x66\xa3\x3f\x37\xc4\x46\x9f\x35\x43\x07\x3b\x4a\x45\xa9\x52\x50\x53\x01\xaf\x2e\xa5\xab\x1b\xb2\xf8\xb5\x6d\xc1\x15\xbf\xd1\x65\x05\xb5\x56\x43\x54\x41\x0b\xfe\x52\x9f\x09\x57\x8c\x0d\x3d\x25\x5a\x50\x54\x2b\xe9\x4b\x46\xe3\x09\x02\x94\x44\xf5\x57\xea\x88\x9d\x47\x91\x6c\x2c\xa8\x95\xe2\x0e\xb4\x19\x25\xf7\xd5\x4e\x08\xe7\x82\xcd\x0d\x5f\x28\x37\x3f\xa8\x5a\x15\xb1\x72\x0e\xf8\x52\xc4\x24\xa3\xff\x38\x65\x83\x65\x1c\xaf\xec\x5d\xf6\x74\x83\x22\x43\x30\xc8\x98\x72\x5d\xcb\xca\x79\x00\xa5\x52\xce\x29\xd7\xbe\x73\x26\x72\xab\xdd\x02\x69\x71\x1f\x52\x94\x6d\x76\x41\x5c\x54\x5e\x76\x45\xea\x52\x65\xd9\x01\xb3\x2c\xa1\xec\xbc\xe4\x9a\xea\x25\xdb\xd1\xe0\xf4\xab\x10\x80\x95\xc7\x77\xed\xa9\xfd\x9e\x7e\xca\xdd\x94\x8d\x33\x89\xec\xe7\x0b\xeb\xdc\x7a\x39\x3f\xc5\x06\xcd\x7c\x4f\x09\x52\xf6\xc1\x4f\x56\xea\xbc\xc4\xfc\x38\xf6\x16\x77\x60\x57\xe1\x35\x1c\xd9\x47\x37\x88\x01\xce\xd2\x40\xd0\x26\xa6\xb6\xd1\x68\x4f\x81\xde\xb0\x96\x5b\x91\xa7\x1e\xc5\x5e\x3a\x15\xf9\x7c\xff\xc5\x25\x80\x56\xf2\x9e\x14\x4b\x01\x21\x35\xc7\xde\x09\xc8\xbc\x71\xbf\x46\x76\x0f\xbb\x57\xe5\x41\xde\x28\x9e\xb2\x8e\x83\xd4\x3e\xb6\xf7\xb4\x96\xf4\x39\x89\x7a\xd2\x27\xd4\x35\xd1\xcb\xb7\x2b\x00\x6f\x9b\xbb\xb7\x22\x81\xc5\x13\xe8\xe0\x8b\x86\xc8\x4d\x5e\x28\x62\xb3\x7d\xfc\x3b\x0c\x47\xda\x1f\x58\x86\x87\x3c\xbf\x60\x08\x59\xee\x57\xa7\x31\x17\x86\xf4\xac\x71\x1f\x27\xe8\xce\x58\x66\xd4\xa3\xd8\xb0\x1b\x3a\xc0\xc5\xd6\x72\x46\xa7\x30\x05\x3d\x41\xde\xc2\x04\x23\x0b\x92\xd4\x16\x92\x34\x06\x2b\x0d\x27\x00\x07\x1a\xf9\x54\xfb\x0c\x44\xcf\x12\x95\x84\x10\xa9\x38\x51\x9e\xd9\x05\x58\x91\xf9\x31\xa0\x4e\xa7\x76\x48\x09\xc6\x6a\x80\x4e\x14\xd1\x6a\x1b\x07\x78\x5d\x24\x6b\x1f\xd1\xb5\x27\x5f\x28\xb7\xd5\x24\x3b\x8f\x45\xbe\x82\x07\x80\x6c\xcf\x84\x47\x55\x8e\xd0\x12\x57\x07\xf8\xa2\xec\x62\xf9\x9a\xda\x46\x5a\xfc\x9e\xaa\x7e\x6e\xc9\x49\x88\x04\x70\x68\xcc\xa0\xde\x3b\xab\x7c\x7f\x6a\x53\x20\x02\x05\x6b\x79\x27\xd4\x95\xab\x09\xb2\xd9\xc9\x50\x05\xdc\x48\xe8\xd9\xe8\x7c\xf2\x6a\x7c\xb9\xb8\xc6\x0c\x56\x9b\x0c\x72\xb6\xa9\x7a\xd4\x52\x08\xce\xa5\x96\x9c\xe5\x4d\xec\x3c\xef\x03\x5b\xb7\x0f\xaa\x9d\xb6\x34\x22\x97\x58\x6e\x92\x18\x16\x97\x7b\x1b\xd3\xdd\x7e\x14\xc3\x8a\x4e\x8e\x3d\xef\x2a\xa2\x9b\x9d\xf8\x1e\xc4\x34\x80\x63\x4d\x74\xc4\x6e\x02\x00\x38\xd4\x90\xb8\xc4\xd4\x87\x80\x9a\xa8\x71\xef\x6e\x3a\x06\x15\x40\x6d\xc2\x38\x06\x63\x7b\x99\xe5\x74\x9f\x4f\x50\x03\x8a\x9c\x20\xe2\x24\xf8\x5a\x70\xb0\xae\xdd\x54\x26\x9b\x66\x8a\xbe\xcc\x41\x87\x01\xe9\x97\x58\x48\x2a\x0d\x3c\xaa\x56\x88\x27\x45\x10\xfc\xc4\xc7\x05\x74\x44\x7d\xff\x54\xa9\x28\x73\x2c\xba\x79\x78\x05\xa9\x65\x99\x48\xf6\xa2\x62\x18\xea\x98\x8a\x7a\xc8\xaa\xb6\x9e\x81\xb5\x27\xaf\xe8\xe4\x6b\x9b\x4c\xd8\xd6\xe9\x9a\xae\xd1\x54\x2c\xa2\x23\x7c\x72\x21\x1b\x2a\x86\x4a\x4a\xfa\x6c\x55\xcb\xb8\xf6\x5a\x57\xe6\x93\x57\x2d\xa3\x20\x0d\x4e\x1b\xed\x20\x2d\xc5\xe0\xc2\xe4\x47\xe1\x83\x77\x1f\xa4\x68\x2d\x53\x01\xca\x92\x35\x8e\x23\x6e\xf3\x89\x08\x0a\xda\x6a\xac\x87\x4f\x33\x2d\xdb\x9b\x48\xf8\xa9\xec\x00\xce\x7b\x56\xcd\x45\x62\x3b\x30\x9d\x99\x35\xc9\xbc\x65\x22\x7c\xa2\x2b\x27\x63\x69\x9d\x87\x30\x00\x3f\xb3\xc5\xd7\xbc\xaa\x96\x00\x03\x00\x8f\x9f\x94\x0d\xe7\x82\x30\xe0\x18\x0f\x98\x9e\x68\x55\x75\xaf\xad\x02\x0c\xa7\x04\x75\x74\x04\x0c\x28\x05\xd8\x88\x00\x17\x99\x6c\x4f\xce\x31\xc1\x71\x41\x85\xcd\xfe\x68\xa8\xf0\x48\xd2\x0d\x1a\x1a\xf6\xd2\x7b\x92\x33\x43\x6b\x91\x6d\x24\xef\xb6\x01\x14\x8a\xa2\xf7\xfb\x22\x4a\x46\xa5\x4d\x94\x56\x58\x9c\x53\x9b\xf6\x8e\x8a\x68\x67\xfe\x16\x64\x7f\x71\xd2\x5e\xbd\x93\xee\x31\xf9\xf0\xc3\x05\x3a\xe1\x85\x16\x78\x51\x77\x3d\xd0\x1a\x44\x7b\xc9\x4f\x04\xc9\x5e\x90\x58\x9d\x25\x71\x0d\x66\x68\x6c\xd9\x5b\xc2\x4b\x04\x46\xd6\x45\xe2\x2f\xf1\x1f\x58\x63\x4b\x58\xa0\x0e\xad\xe0\xcf\xfc\x8f\xde\x07\x3f\xc8\xb8\x55\xbe\xea\x8a\xac\x97\x34\xe9\xc8\x7c\x8b\x0e\x33\xd8\x55\xa3\xdc\x6e\x21\x2d\xc0\xf2\x49\x8d\xfb\xbb\x8d\xff\x31\xd8\x90\x2d\xc9\xad\x24\xa4\xba\xc2\x43\x79\x39\x78\xa1\x34\xa3\x47\x68\xf6\x29\x44\x8e\x04\x17\xe6\x9c\x3c\x24\xed\x4d\xad\x5f\x3e\x01\x61\x90\x6b\x63\xaa\x8e\x03\xad\xc1\x26\xdf\x78\xfe\x86\xa2\x58\x60\x5f\x93\xf7\xba\xbc\x92\xb4\x18\x17\x21\x31\xf0\xc3\x9d\x7f\xaf\x2a\x24\x7f\xf5\xe5\xd7\xbf\x3b\x3b\xf2\xbe\x7a\x0d\xff\xfb\xf2\xb5\xcd\x07\xf9\x67\xb4\x51\xe8\x28\x27\x47\x51\x09\x15\x89\xa3\xac\xa2\xa7\x4b\x6b\x88\xcc\x69\x56\xc7\x20\x4b\xa5\x22\xcb\x55\xfc\x9f\x63\x90\xc7\xde\xf0\x2b\x34\x8d\x60\x7f\xc6\x50\x79\x84\x92\x47\x7c\x47\xb7\x92\x38\x6c\x7b\xf4\x67\x63\x84\xa6\x11\x8e\x52\x24\x3e\x08\xf5\xaf\x1a\x3b\x98\x17\x48\x2f\xec\xdf\x56\x85\xf4\xd9\x59\xe6\x3d\x3f\x15\x6b\x3f\x0f\xb3\x97\xc5\x6f\xbf\xb8\x40\xb9\xf3\xd1\x7b\x2e\xaf\xdf\x11\x1a\x9e\xfa\xc0\x76\xf2\x5e\x36\x3e\xdb\x21\xa6\x1c\xd1\x8b\x3c\x97\x5e\x61\xf2\xf5\x6f\xfc\x07\x3c\xcb\xaa\xfd\x98\x8a\x57\x23\x3b\x93\x7b\xf4\x8f\x63\x3c\xbf\x85\x57\x4f\x83\xcc\x98\xad\x2f\x6d\xb3\xd4\x8e\x99\xb4\xe3\x73\xbc\xee\x14\xa0\xb3\x56\xe9\x17\xa4\x2a\x31\xc5\x00\xb6\x15\xd2\x9f\x15\x2f\x12\xab\xfa\x23\x8f\xec\x69\x19\x50\x0c\x46\x29\x6e\xc6\x1c\x79\x91\x12\xdd\xf8\x86\x2d\xec\xfe\x34\x87\x89\x14\x85\xd0\x3c\x17\x0a\xbd\x00\xfc\x78\xcd\x8f\x87\x29\x5d\x97\x3b\xec\xc8\x5c\x90\x31\x45\x30\xc9\x83\x9a\x09\xad\x6c\xdf\xdf\xb3\xcf\x86\x9c\x45\x14\x41\x62\x2a\xf5\xe5\xe3\x3f\x50\x34\x64\x74\xb3\xae\xd1\x5a\xad\xcf\x6a\x61\xa4\x11\x81\x23\x97\xdd\xd7\xff\xfc\x2f\x28\xbc\x4a\x86\x6d\x13\xd3\x10\x74\x53\x5a\x04\x35\x30\x16\xfc\x14\xcb\x2e\x63\x74\xda\xc3\xe4\xe5\xef\x5e\xe5\xe1\x66\xb8\xc1\x2d\x1c\x5a\x45\xc3\xf5\xa1\x3e\x63\x95\x1a\x50\x15\x87\x2c\x1b\x72\x00\x28\xaf\x9f\x9a\xaf\x0f\xb1\x6f\x41\x35\x73\xed\x1e\xbd\x5e\x78\xb7\x86\x73\xd7\x4c\x68\x7b\x83\x07\xfb\x3b\x36\x07\x05\xbc\x64\x73\x47\x60\xc1\x84\x56\x74\xba\xe2\x81\xe5\xfd\xab\x33\x5d\x08\xc5\x56\xa4\x1d\x5e\xfe\xc6\x28\xa4\x6e\xa9\xca\x8e\xe7\x74\x7b\x48\xab\xfd\x1d\x3a\x33\x83\x12\xb9\x45\xa7\x5f\x52\x8a\x6d\xb0\x83\x43\xc3\xa6\xec\x2e\x10\x11\x83\x48\x6c\xc7\x97\x0e\x5c\x58\x94\x39\xe1\x23\x5a\x11\x66\x21\xaf\x17\xb1\x4f\x45\x8c\x2e\xbc\xf6\x82\xff\x20\x14\x56\x9a\xd4\x71\x81\xba\x5d\xa4\x78\x4c\xc0\xbc\x55\x33\x1b\xaa\x08\xaa\xb0\xd0\x2f\x3e\x78\x17\xb2\xae\xac\x95\x0c\xce\x85\xdd\xc4\xec\x8b\x84\xa7\x6d\x12\x0a\xc0\xa2\xb6\x09\xd3\x49\xb5\x96\xf7\x63\xef\x9f\x52\x3e\x8b\x59\x40\x8c\xf2\x25\xf0\x03\x1e\xa2\x91\x5a\x07\x15\x7b\xa3\x8b\x49\xe1\xfe\x4a\x05\xec\xf7\x57\x29\xfb\x88\xa6\x31\x30\x7f\x11\x6c\xd1\x47\x24\x63\xe1\xe0\x61\xf9\x05\x1e\x31\xf8\xa6\xca\x8f\xf4\xfb\x36\xf3\x8a\x89\x89\x0c\x67\xd9\x6a\x80\x78\xa5\x13\x16\x50\xd2\x29\x1f\xce\x6a\x35\xbc\x79\x05\x2f\x99\xd9\x74\xa9\x95\x78\x65\x98\x16\x8b\x09\x86\xe8\xb3\x97\x35\xf3\xdf\x8b\xe8\xd8\xf3\xbe\x05\xa0\x14\xd3\x0b\x96\x06\x1d\x25\xe5\x7d\x03\xea\xab\x30\x54\x0e\x81\x75\xbd\x37\x5f\xe1\xa2\x48\x74\x28\x0b\x05\xa3\xa1\xe7\xdf\x03\xe5\x18\x65\x66\x1b\x4a\xfd\x88\x2c\x46\x8e\xb2\x5d\xea\x9c\x06\x3f\xb6\x73\x4c\x12\x2e\xd8\x83\x44\xd6\x8c\xf7\x16\xef\x81\x57\xe2\x1e\x98\x05\xec\x4b\x55\x00\x5e\x68\x24\x80\x18\x21\x45\xe4\x8d\xc8\xed\xed\x06\xd5\xc5\x76\x63\xa8\x0d\x9c\xe6\xd1\x0b\x05\x9b\x62\x12\xdc\xe4\x26\x92\x8e\xd7\xa8\xbe\xb9\x39\xd4\x43\xcc\x8d\x64\xdf\x05\x8c\x49\x11\x8f\x5b\xc3\x7f\xdb\x89\xf2\x73\x1e\x40\x79\x4c\x9f\x7b\xb2\x7a\xcd\xd5\x36\xb0\xa8\x0a\x15\xbe\x8a\xed\x5a\xca\x2a\xe1\x20\x1a\x41\x81\xa7\x91\xe8\x10\x4c\xe7\xe5\xbf\xdd\x92\x0b\x2b\x2d\x9c\x57\x14\x7a\xcb\xee\xef\x56\x02\xb5\xdb\xbe\x74\x4c\x09\x03\xb5\xa1\x98\x70\x5a\xd0\x3b\xa8\xea\x8a\x7f\x9a\x95\xb6\x6d\xf7\x88\x8b\x7e\x0a\xaa\x13\x51\xbb\x78\x96\x9e\xb6\x98\xad\x00\xb5\x08\x03\x74\xd8\x5b\x1a\x6f\xb2\xba\x76\x1b\x8e\xaa\x4d\xbd\x0f\x82\xba\xbe\xac\x6c\x3b\xa0\xe4\xc9\x26\x5e\x19\xa9\x80\x03\xdf\x7b\xfc\x84\x76\x39\xb0\x0a\xce\x3a\xf6\x53\x32\x20\x52\x51\x15\xdd\xe3\x50\x0e\xb0\x2e\xd2\xe9\xb2\x2f\xd5\x8e\x2e\x4e\xd1\x3c\x6f\xeb\xc5\xcf\xf0\x1f\x3f\x01\x54\x79\x43\x29\x6f\xf7\xcd\xa9\x2e\xc1\xb1\xe1\xe6\xae\x16\xda\x30\x3a\xf6\x9a\x58\xd9\xae\xa2\x8c\x6b\xd0\xc2\xd4\x39\xf6\xf6\x66\x34\x96\x1c\xa1\x80\x6c\x72\x60\x2b\x7f\xf9\x11\xf5\x8f\xc1\xe5\x21\xbb\x73\xd4\x6c\x86\xd2\x7b\xed\x52\x50\x2d\xce\xe1\xd3\x80\x4a\x2e\xf3\x14\xce\x73\xb9\xa9\x32\x0c\xb4\x65\x93\xa1\x0e\x4e\xc3\x6a\x1d\x23\x36\xfa\xb2\x0d\xf1\x15\xf7\xc8\x2b\x70\xf6\x18\x0f\x6c\x78\xa5\x91\xd4\x06\x52\x07\xde\x46\xe6\x81\xa9\x63\x9a\xc4\xe1\x89\xb2\x4b\x45\xab\x18\x3b\x92\xe7\x36\xf9\xad\x42\xed\xa4\xb3\x4b\xc4\x74\x2a\xed\x52\xac\x93\x83\x66\xe2\xa8\x1b\x33\xca\xa9\x53\x49\xe9\x58\xc8\x4e\xd2\x65\x2b\xb5\x4e\x9a\x65\x28\x94\x88\xee\xbd\x7b\x3f\x09\x7c\xba\xc0\x22\x8f\xe2\x8d\x20\x2f\x4d\xeb\x16\x2f\xf4\x4b\x18\x8f\x17\xdd\x07\x09\xde\xcb\xf3\xcd\x97\x19\xe4\x54\xa8\x1c\xb9\xbd\x77\x53\x54\x0d\x77\xea\xa0\xc4\xe0\xa6\x19\xc2\x54\x8a\xb4\x62\xd4\x56\xcc\x6e\x71\xda\x76\x6c\x2d\x80\xcb\x8d\xd4\xbb\x45\x43\xdf\x29\x9a\xfd\xd2\xbb\x84\x43\xa1\x79\x2f\x1e\x4a\x1d\xc1\xb5\x37\xb6\xb0\x38\x55\xae\x61\xf7\xfe\x26\x28\xfe\xaf\xde\x02\xbc\xb1\xba\x90\x15\x81\x0b\xc9\xc5\xcb\x7f\x12\x32\x61\x4a\x5a\x74\x4f\x38\x98\x26\xa4\x6a\xd1\x3c\xc9\x48\x8b\xd8\x5c\x17\xfd\x83\x41\xb8\x4d\x32\x60\x5f\x3e\x45\x7f\xf5\x4e\x21\x53\x24\x75\xca\xd5\x41\xf6\xc5\x83\x6d\x83\xfd\x2c\x91\x6e\x03\xa4\x83\x30\xdb\x5e\xd3\x65\x54\xc8\x20\x72\x3f\x4d\xd1\x7d\xdd\x3e\x13\x92\x02\x9f\xce\x97\x5d\x33\xe1\x32\xb5\x12\x60\xe7\xcc\xca\xd8\xd1\x27\xd0\xfe\x95\x58\xd1\x1e\x1b\x40\x11\xd0\x6a\xaa\xe3\x1d\xf5\x7f\x85\x8c\xce\x2d\x80\xd2\x3c\x8a\x40\x98\xc3\x33\xc6\x8c\x7f\x91\x69\x27\x94\xc7\xd1\x83\x41\x14\xab\xa3\x82\x2b\x9f\x60\xea\x24\x7e\x26\xd1\x0c\x02\x34\x88\x54\x51\x6e\x2d\xaa\x28\xf3\x42\x0e\x0f\x0c\xa2\xc2\x93\x70\xf2\x8a\xdc\x7f\xe5\xb5\x0a\xcf\xe1\x43\x56\x6f\x29\xee\x87\x14\x95\x88\x27\x9a\xab\xb2\xda\xa8\x82\xe3\x2e\x72\x31\xf5\x1b\x94\x91\x8c\x56\x3b\x30\x13\x2f\x39\x90\x02\xef\xaf\xd0\x45\xe5\xa5\xf1\x86\xaf\xb5\xac\xa1\x40\x1b\x3f\xc1\x72\x1c\x2f\x65\x18\x45\x91\xbd\xc9\xb7\x9b\xdb\x84\x83\x85\x56\xb9\x97\x61\x24\x81\x05\xb5\xbe\xfd\xd3\x17\x23\xce\xe5\x2a\x9a\x21\xce\xfe\x64\x01\x00\x3f\x34\xbf\x70\x81\xed\x84\x6c\x77\x12\xea\xd7\xe6\x57\xe7\xaf\xbd\xd1\xe9\xd9\xe4\xdc\x26\x60\xf8\xdb\xe4\x72\x31\xa7\x02\xc0\xd8\x7a\x76\x3a\x80\x77\x46\xe7\x58\x12\x18\xc0\xb6\x40\xbd\x3a\x9d\x2c\x66\x73\x1b\x5c\xfc\xb5\x27\xc4\xb3\xd1\xf9\xe8\xf5\xd8\x06\x71\x3e\xbe\xbc\x80\x61\x8e\xb0\x00\xbb\x3b\x50\x2b\xd3\x8c\x97\x6d\xac\xb3\xa6\x7d\xcc\x3a\x93\x7c\x66\x78\xd2\xa2\xf4\x33\xae\x57\x94\x9a\xf9\x24\x66\x38\x4f\x37\x02\xa3\x70\x50\xa5\x6a\xa9\x3d\x9d\x64\xc6\x9d\xe9\x0b\xaf\xa9\x1f\x62\x8f\xf3\x07\x2e\x0b\x64\x93\xdf\x69\xad\xdf\x7c\x01\x80\xeb\xfd\xa0\xbe\xf9\xe1\xf1\x3f\x1d\x91\x96\x8b\x11\x51\x76\x2e\xff\xcd\xfe\x5e\x22\xbf\x3f\x25\xaa\xf6\x10\x75\xe9\x2c\xf5\x2e\x35\xc0\xee\x42\xa0\x35\x04\xdf\x91\x18\x8b\xea\x82\x87\x6d\x97\x99\xa5\x69\xb6\xdc\x6a\xce\xba\x13\xe6\x1c\xc4\x91\xe3\x69\x85\xae\xa6\xb5\xe2\xc0\x04\x15\x56\xad\x83\x06\x6d\xf1\xfe\xf9\x0d\xed\xcb\x1c\xa6\x56\xad\x73\xe5\xe7\xd5\xc8\xbf\x4a\xf9\xaf\x22\xda\xa3\x27\x79\x3a\xef\xfc\x33\x50\x69\x24\x3c\xba\x13\xac\xe2\x8f\x61\x77\xa8\x84\x20\x53\x5c\x26\xaf\x77\xb9\x65\xd3\x86\xed\xaf\x33\xaa\x05\x56\x8a\x67\xde\x86\xc2\x1e\xe4\x56\x1e\x55\x35\x00\xaf\x16\x92\x1c\x56\x2c\x04\xd2\x12\xe4\x6e\xc1\xa4\x0a\x6b\x24\x32\x50\x05\xdc\xb2\x5a\x08\x9d\x31\xe5\x96\xd7\x66\xf3\x85\xad\x70\x08\xfe\xd4\xfc\x92\x1f\xac\xca\x21\xc1\x36\x10\xd5\x00\xdf\xad\xff\x00\x6a\xd2\xb2\xeb\xe2\x85\x31\xe7\x25\x01\xb3\xb1\x41\xaf\x6c\x68\x0d\xe2\xc6\x31\x3c\x78\x1d\x5e\x78\x58\xf4\x8c\x69\xdb\x8b\x8c\x56\x5b\x24\x22\xfe\xb9\xe1\x68\xea\x55\x25\xff\x49\xa0\x20\x00\x20\x34\x45\x08\x23\x9f\x4d\xd0\x1c\xa3\xb3\x49\x61\x0c\x17\xb6\x61\x9b\x83\x66\xf7\xe1\x19\x47\x88\x5f\xd9\xf0\xca\xa6\xbf\x7d\x84\x2d\x37\xfe\x67\x9d\x37\xfd\x0a\x00\xc6\xad\x18\xc9\x4b\x6a\x13\xd8\xf8\xd9\xf2\xce\x1a\x06\x9d\x62\x28\x41\xaa\x31\x78\x94\x3f\xa0\xca\x84\xb6\x16\xc2\xc3\x4b\x29\x72\x8b\xa0\x86\xe8\x0c\x37\x3e\x61\xb5\xa5\x42\x58\xbb\x42\x8e\x4b\xc0\xfb\xc2\x6d\x01\x99\xf1\x5d\x9d\x56\xb9\x54\xb0\x01\xab\x30\xfe\x18\xf0\x0d\x9e\x52\x79\x6c\x9d\x64\xa9\xa1\x02\x3b\x15\xf5\x49\xa7\x6a\x0e\xab\x01\xe2\xe5\x5a\x8a\x48\x04\x45\xf3\x23\xee\x5c\x46\xc0\x58\xdf\x6f\x1f\x66\x69\x88\x6a\x74\xbb\x11\xde\x44\x67\x3b\xf2\x8e\xe8\xfb\x06\x7c\x3a\x4c\xbe\x05\x30\x1c\x3a\x57\x08\x3d\x58\x51\x16\xe4\x43\x2f\xc9\xe3\x33\xa4\x4a\x7f\x95\x20\x28\xd9\xd1\x41\x1a\x45\x82\xb5\xa9\x51\xd5\x04\x14\x25\x47\x05\x07\x79\x47\xe7\x1d\x46\x60\x70\x11\xe7\x21\x48\x68\x32\x71\x21\x54\xc6\xa9\xec\x75\xdf\x91\xc1\x43\xaa\x05\xe7\x3f\xa1\x8a\xb6\x12\x9d\xbf\x0e\x22\x59\x87\x4a\xa2\xc3\xe8\x47\x23\x76\x5f\x5a\x6b\x68\x36\x5a\xe5\x82\x82\xdc\xca\xa6\xab\x5a\x60\xb6\xe8\x06\x7b\xf2\x04\x85\x15\x94\x4c\x56\x15\x4a\x6f\x0b\x2d\x68\xa1\xaa\x78\xd4\x88\x52\x28\x7a\xea\xb7\xb9\x9a\x14\x29\x8d\x20\x2a\xf9\x1c\x7d\x29\xb8\xf3\x91\x57\x0d\xb1\x88\x28\xe0\x1c\xa8\xb8\x0b\x55\xdc\x34\x23\x7d\xfc\x99\x75\x6e\xb9\x9c\x63\xc1\x3f\x58\x71\x1b\x0a\x5e\xb4\x93\xfd\xb2\x11\x41\x8b\x55\xe1\x59\xde\xb0\x62\x30\x0f\x1f\xde\xcd\x03\x96\x2c\x01\xb3\x30\x58\xe6\x21\x98\x92\x0e\x35\x2f\xaa\x30\x52\x99\x73\x55\xb9\xd6\x52\x40\xa9\x1a\x95\x8d\x1a\x4a\xfa\x59\xde\xc5\x71\x5a\xe4\xfc\x84\x61\x8c\x1d\x29\x28\x94\x07\x3f\x1f\x7b\xdf\xc4\xb8\x71\xd0\x5d\xb6\x4f\x05\xe5\x60\x07\xc3\x25\x93\x65\xac\x3b\x6e\xe4\x46\xa7\x13\x8c\x52\x0c\x1a\x94\xb6\xa3\xb5\xce\xee\x1d\xd8\x98\x5c\x30\x57\xa2\xcc\x0d\x94\x14\x85\x43\xb3\x9a\x63\x24\x0e\xce\x69\x66\x18\x16\x64\x18\x88\xfc\xa3\x71\x3d\x9e\xe2\xc2\x86\x83\x80\x0f\x96\x69\x91\xa2\x45\x97\xe4\x8f\x7f\x2f\xc8\xb1\x5d\x89\x4b\x5e\xb0\xcb\xca\xf3\x6f\x7d\x6b\x72\xee\x5c\x28\x0f\xd4\x8f\x43\x74\x48\xb5\xc2\x53\x09\x55\x1c\x20\x89\xbe\x5b\x23\x4b\xcd\x9c\x6c\xb3\x5a\x71\xaf\xf3\xbf\x51\x78\x58\xe7\xa3\x35\x55\x94\xc0\x02\x32\x88\x23\x10\x7d\xbc\x03\x9c\x74\xee\xb5\x47\xa9\x1a\x45\xe1\x5b\xa1\x04\x66\x21\xf9\x25\xae\x4e\x4c\x6c\xb7\xc0\xb5\x55\x9d\x07\x15\x96\x87\xf6\xc3\x07\x63\xa2\x8c\x35\x5d\x9f\xbe\xf1\x08\x6f\x57\x33\xaa\x59\x4f\xb5\xcc\x7d\xc3\x39\xbe\x3f\x11\x18\xeb\x25\x1d\x2c\x14\x3c\xb7\x33\x19\xa8\x88\xd9\xc5\xa2\xb7\xe1\x56\x6a\x30\x66\x97\x48\x5a\x79\xef\x9e\x95\x92\x84\xdf\x3d\xab\xf8\x7c\x74\x3a\x20\x5e\xc1\xc8\x58\x70\x7a\xd5\xb6\x96\xaf\xaa\x21\xbc\x66\x45\xa0\xed\x56\xe0\xfd\x4b\x1d\x69\xc9\x4f\xe4\xfd\x1e\xf5\x90\xd2\x08\x2a\x50\x1c\x99\x60\x5d\xb0\x72\x58\x70\x98\x48\x51\x11\xc9\xad\xe5\x26\x88\x7c\x4c\xac\xd1\x99\xad\xb8\x21\x3f\xe0\x46\x3a\xbb\x7c\x69\xcb\xb3\x9c\x1a\xc5\xe6\x04\xaa\x09\x20\x38\xa2\xd5\x8b\x39\x2d\xbc\xa5\x14\xd9\x8d\x88\x02\x6d\x38\xe9\x93\x46\x3a\x2d\x75\x9b\xac\xc5\xcf\x2f\x2a\x3d\x18\x94\x8d\x60\xa6\x85\xe6\x51\xa0\x8a\x3f\x58\xfd\x4d\x3e\x05\x29\x06\x5d\x1d\x1a\x94\x6b\xcf\xf3\x6f\xc0\xb6\x09\xda\x59\x5a\x7d\xeb\x1e\xbe\x78\x0b\xe7\xc4\x00\xcb\x83\x96\x49\xec\x26\x70\xe0\x4a\xdb\x3d\x63\xf0\x4a\xc8\xba\x08\x96\x65\x2b\x48\x63\x76\xa5\x7b\xd2\xc3\xe5\xb3\x92\x35\xe1\x93\x9e\x6d\x34\x8d\x9d\xb0\x74\xdb\xc5\x76\xcc\x09\x46\x69\x62\x4c\xa5\x94\x6c\xd8\x14\xfd\xdb\x28\x86\x03\xef\x92\xac\xa4\x34\x5b\xd9\x0b\x3d\x8c\xd6\x28\xa3\x66\xd9\x29\xf3\x6d\xb4\x76\x05\xfb\x73\x64\xd8\x26\xee\x13\x12\x60\x0b\x35\x58\xf0\xd5\xf7\x42\x72\xcc\xae\x65\x4c\x26\xae\xec\xca\x91\xaf\x72\xc2\xf3\x75\x21\x11\x7d\x08\x94\xf9\xc4\xca\x75\x12\xf3\x36\x78\x3a\x1e\x79\x37\xfe\x12\x94\xa1\xf5\xf2\x53\x0d\x2b\x64\x32\xd8\xb3\xa0\xeb\xa9\xa9\x1c\x02\xf3\x70\x15\x8a\xe2\xc8\x37\x30\x8e\x59\x2a\x88\x0e\x5d\x10\xab\x5a\x9a\x11\x6e\x92\xa9\xf2\x9f\x08\xae\x8c\x25\x4a\x45\xdc\x90\x50\x8c\x92\x95\x27\xc7\x5b\xdc\x4d\x61\x00\x6d\xec\xc3\x31\x4a\xe9\x76\x18\x9f\x7a\xd2\x02\x30\x06\x95\x86\x95\x24\x36\x60\x57\x00\x0b\x57\xf1\x87\x28\x8c\x7d\xbc\xd3\x94\x8a\x0f\x6d\x0b\xb1\x31\x0e\xd6\x56\xa5\x47\xc0\x68\x5c\x61\x2c\x6b\x92\xc1\x9c\xe5\x5b\x4c\x2b\x4c\xe5\x6a\xad\xaa\xbc\xec\xf1\x13\x28\xf3\xe5\x1d\x58\x27\x45\x76\x46\x89\xf7\x84\xdc\xaa\xf6\x92\x98\xe3\xc2\xe9\xc4\x45\xc9\x70\x60\x01\xe3\x4d\xba\x1f\xbe\xf4\xfe\x29\xc5\xba\xd4\x81\x4a\x91\xb3\x93\x8d\x30\xf2\x54\x3b\x22\xf5\xa5\x2b\xc1\xf1\x18\xd0\x65\x8c\x91\x36\xb0\x0f\x08\x4b\x05\x55\x55\xc3\xb7\xb1\xa0\xaf\x0e\x39\x2e\x2a\x66\x73\x1d\x1c\x2e\xc9\xcb\xb7\x13\xc0\x37\xaa\x35\x8b\x3c\x03\x6c\x18\xe0\x29\xcd\x3e\x9a\x1f\x78\x8a\xcb\xe0\x66\xb8\x1f\xa1\x45\x69\xd3\x92\x88\x3d\x09\xf8\x06\xb6\x89\x1a\x1d\xb9\xa2\x18\x5e\x24\xc0\x63\xad\x9c\x4c\xe8\x22\xbe\xea\x8a\x23\xcc\xb1\xcc\x20\x96\xa2\xc1\xda\x76\x38\x5d\xf0\xe8\x25\xce\x6d\xb0\x01\xbb\x15\x26\x1a\x8c\x4b\xf4\xbb\xa5\xa9\xff\x20\x7e\xb4\xe9\x57\xb6\x5e\x6d\x89\x60\xda\xf4\xb4\xd5\x91\xb9\xc8\x13\x79\xe5\xaf\xcf\xaf\xe5\xb0\x1a\x7b\x2d\x18\x7c\x55\x54\xc2\xea\xeb\xef\xba\x62\x2d\x9d\x9a\xfb\x21\xad\xbd\x6a\xc1\x99\xde\x61\xf7\x18\xd9\xaf\x10\x03\x9b\xb0\x69\x8b\x0a\xf6\xa5\x9c\x3a\x36\x78\x64\x81\x32\x9b\xcf\x22\xba\x8f\x1f\x04\x67\xbd\x6a\xe7\xfb\x16\x81\xe7\x91\xec\xda\x87\x99\x94\x15\x8f\x97\x6a\xf3\x12\xa4\xb2\xd0\x94\x19\x17\x9c\x1a\xf5\x47\xcc\x5e\x87\x48\x8c\x1f\x59\x9d\x43\x3c\x20\xac\xaa\xc3\xf8\xbc\xe7\x94\xb6\x0a\x23\xc3\x7f\x79\x4b\x50\x62\x68\x4b\x8c\x6c\x1f\x8d\x49\x0d\x97\xd6\xf0\x9e\xe3\x72\xa5\x11\x21\xc9\x5a\xca\x2d\x19\x93\x44\x23\x9e\xf9\x82\x2d\xd3\x98\x72\x6a\xad\xdf\xe5\x2b\x63\xba\x7e\x6c\xa0\xab\xa8\x2b\x55\xaa\x4f\x42\x64\x99\x85\x27\x9a\x09\xa2\x16\xcf\xb6\x1c\x6b\xfa\xad\xf9\x35\xea\x09\x72\x8a\x91\x1f\x81\xba\x37\xa4\xef\x7a\xdd\xc8\xfa\x2a\xc2\x43\x5d\x51\x51\x71\xc3\x2a\x2c\x87\xcb\x59\x26\x07\x45\x96\x62\x9c\x54\x12\x0f\xc8\x36\x58\x7c\x2a\x87\x19\xe3\x83\x9f\x8b\x8f\xaa\xa8\x2a\x85\x5b\xc4\x54\x42\x1e\x2f\xba\x60\x4e\xd8\x44\x20\x08\x74\x1c\x87\xed\x5f\x5d\xd5\x11\x61\xf6\x5c\x74\xc4\x0e\x07\x02\x8e\x9a\x12\x5c\x3f\xa6\x7c\x96\x55\xeb\x80\x6f\xad\xa8\x22\x0a\xc8\x4e\x1a\x70\x80\x08\x51\x05\xb3\xab\x22\x39\xf0\x15\xea\xa6\xc8\x0c\x31\x13\xca\x51\x57\xaa\xe8\x2c\x8b\x90\x39\x71\xa3\x2d\x18\xcd\x32\x20\x79\x54\x6f\x18\x4a\x1b\x1d\x95\xd9\x74\x3d\xd2\x36\x8a\x42\xf7\x41\x76\x3e\xfe\xf3\xd5\xf8\x72\x61\xbb\x93\x3e\x1d\x9f\x8d\xce\x4f\xc7\xb6\xeb\xe8\xf9\x18\x1b\x23\x8e\x4f\xaf\xe7\xb3\xab\xc5\xf8\x1a\x6f\xf1\x6c\x21\x16\x56\x00\x18\xc6\x61\x4d\xf0\x9d\x8f\xe9\x67\x2b\xfe\xd9\x74\x7c\xf9\xd2\x5a\x5e\x9e\x7e\xc6\x5e\x80\xb6\xb7\x81\x68\x1b\xbd\xf2\x47\xfb\x8b\x0e\x95\xb5\xe8\x39\x0b\x08\x58\xee\x43\xaa\x6d\x54\xe4\xd1\xe1\x82\x0b\xa2\x75\x4c\x16\x05\x9e\xa3\x93\x96\xd2\xf9\x23\xbe\x03\xc0\x8a\x7a\xe8\x02\xc7\x03\xaa\xc8\x51\x47\x92\xcb\x8c\x7b\x42\x92\x62\xa3\xb4\x8c\x8f\x5e\xc2\x19\x23\x0d\x85\x69\xad\xec\x11\x3e\x1e\x00\x57\x02\xef\xa3\x81\xb8\x2d\xec\x74\x98\x19\x4c\x81\xec\x7f\x60\x1b\x66\xb3\xb5\xb7\x58\x79\x1b\x03\x3d\xec\x40\xf3\xee\x13\x3f\x20\xf9\x4f\xa5\x81\x92\x98\x45\x7c\x11\xb6\x08\xa9\x52\xea\x1f\x3c\x13\xb0\x03\x5d\xd2\x11\x7f\x16\xc3\xdf\xdc\xaa\x48\xff\xa9\x74\x2b\xb6\x5b\x00\x9b\xfb\x01\xbd\x72\xb7\xb8\xc8\xe3\x65\x50\x54\x69\x08\xb2\x3f\xec\x36\x80\x76\xac\xc0\x76\x7d\x42\x23\x8b\x7a\xc3\x75\x3c\x08\x3b\xa6\xc5\xfc\xe1\x20\xa3\x7b\x12\xda\xdb\x49\x93\x4e\xfc\x86\x40\xea\x52\x97\x11\xae\x3d\xa0\x1c\xfa\xb3\x70\x55\xf7\xe9\x83\xcc\x63\x0e\xa1\xf8\x50\xfb\xe9\x0f\xef\xf2\x2f\xbf\xfc\xad\x4d\xdf\x36\x0e\x8e\xdd\xfe\x9d\x54\xc9\x02\x6e\xa1\x68\x27\x8d\x8a\x19\x58\x88\xf3\x14\x75\x6d\x5c\xda\x92\xa1\xd9\x14\xfb\x5e\xb6\x71\x99\x4d\x27\x61\x9c\xaf\xb0\xc3\x5c\xb4\x4a\x1e\x7a\xcd\x29\xe1\x69\x89\x75\xaf\x60\x93\xc3\x2f\xe1\xeb\x98\xef\xf2\x48\x54\x14\x7c\xfd\xf6\xeb\x50\x03\xa9\x87\xce\xd7\x50\xf5\x1b\xc5\x52\x04\xf7\x74\x73\x51\x74\xaf\x5c\xea\x26\x94\xb2\x0e\xa1\x4d\x91\x5b\x9b\x55\x26\xe2\xf1\xbf\x72\xa4\xd2\x8a\x15\x4c\x4c\xc0\x0b\x0c\x94\x47\xc5\xa2\x8e\x33\x37\x4e\x09\xb0\x49\x38\x35\x2a\x4c\x1b\x78\x47\x2d\xa2\x6e\xf0\xa4\xa9\x8c\xf1\x8d\x4f\xa5\x27\xa5\xd3\x88\x4f\x1c\x95\x04\x15\xeb\x7d\x46\x16\x24\x7c\x49\x6a\xb4\x99\x4e\x51\xf3\x62\xe7\x41\xdc\x45\xd6\x3e\x07\x5e\xac\xfd\xc7\xff\x8a\xc9\xd5\x22\xe9\x97\x4e\x03\xa2\x64\x25\x8a\xfe\x7f\x65\x62\x53\x8e\xbd\x61\x33\x9b\x6f\xbd\x9b\x12\x61\x76\xe0\x55\x51\xc8\xf0\x17\x63\x5a\x73\x39\xc4\x5f\x17\x07\x25\xd7\xaa\x65\xff\x6d\x31\x17\x86\x44\xd8\xdc\xfa\x1d\x98\x64\x59\x78\x6c\x33\x4b\xf3\xc0\x85\x28\x5d\xd0\xfd\x83\x23\xd7\x19\x00\x8f\xb4\xb3\x5c\xad\x46\x9b\x27\xb2\x93\x88\xc4\x1a\xb5\x9c\xb4\xcd\x19\xe4\x77\x56\x83\xab\xf9\xb4\xee\x14\x6c\xc7\x49\x1d\x78\x8c\xfc\x7a\xbe\xb7\x03\xa9\xea\x40\x8b\x89\xfd\xe4\xa4\x0c\x6e\x42\x19\xa1\x57\x4b\xab\x6f\xc7\x1c\x95\x72\x04\x1c\x46\x69\xcb\x0c\xe8\x42\x83\x96\xe7\xee\x53\x59\x3a\xb8\xf5\x99\xd0\x6a\x02\x0b\xdd\x0c\xf8\x89\xb9\x9f\x54\x13\xba\xf1\xc8\x19\x57\x23\x77\x5f\x48\x69\xc4\x7d\x02\x3f\x28\xc3\x8f\x76\x8e\x13\x8e\x28\xb9\x82\x21\xb5\x39\x86\x60\x5c\x09\x96\xd0\xe2\xc5\x6a\x4d\xb1\x28\x51\x58\xf7\x2e\x97\x48\x6d\xba\xa3\xad\xd0\xad\x0f\x89\x15\xd2\xcd\x30\xba\xa6\x31\xb4\xf3\x34\x29\x35\x7f\x66\x46\x52\xfd\x68\xec\xb9\x46\xd2\xcb\x90\x0c\x66\xf2\xd7\x40\x5a\x99\x9d\xfc\x35\x51\xb6\x33\x43\x73\x29\x28\x05\x41\x74\x3a\x36\xb3\x53\xaa\x74\x59\x38\x57\x26\xd2\xe4\x5d\x99\xce\x5f\x94\x7b\xbf\x26\x26\xed\xcb\x88\x9c\xcd\x7c\x6a\xc8\x7d\xa8\xf5\x88\xd8\xa3\x0e\x2f\x6d\x79\x31\x56\xe8\xa8\x05\x04\x3e\xd1\xa2\x2b\x13\xda\x87\x55\xbb\x0d\xac\x05\x0b\xc5\x19\xf8\x45\x15\x10\x2b\xf4\x28\xde\x6c\x58\x39\x37\x15\x01\xe9\x00\xef\x68\x16\x15\x38\xfa\x18\x28\x15\x1c\x5d\xad\x4c\x0a\x2c\x3d\xfa\x96\x14\x58\xda\x6b\x42\xeb\x01\xb4\x25\x82\x2a\x60\xed\x16\x86\x41\xa6\x83\x41\xa1\x20\xb6\xf4\x90\x31\x21\x76\xb7\x0f\x22\x90\xf2\xbe\xa1\xbc\x0e\xf4\xd9\xfa\x29\xd7\xe9\x09\x5d\x7e\x70\x2c\x56\xae\xc2\x59\x5a\x16\xa7\x88\xca\x44\x7d\xe6\xc5\x2a\x79\x55\x14\x17\xe6\xd3\xff\x37\xea\xef\x2a\xeb\x2a\x3f\xf4\xe2\x43\x73\x7d\x61\x0b\x46\xcd\x97\x06\x8c\xed\x63\xa9\xcd\x69\x75\xde\xf7\x9e\xcc\x96\x2c\xb0\xca\x6c\xee\x31\x25\x65\xd5\x23\xb9\xe4\x38\xa2\x3e\x73\xd2\x58\x9d\xa1\x84\xcd\x79\x50\x8e\x23\xaa\xf9\x2e\xaa\x4e\xaf\x27\xb6\x6b\x1b\xd9\x60\x25\x4e\x8f\xbe\xe2\x6f\xf9\xec\x96\xac\xe2\xa2\x02\x89\x4e\x3a\x03\x6a\xc1\x44\xe3\xcb\x26\x16\xee\xcb\x2b\x51\x1a\x58\x85\x8a\x82\x5b\xc6\x97\x9d\xbc\xda\x91\x23\xdb\xd8\x21\x46\xb3\x74\x98\xb7\x43\xc2\x7b\x00\x15\x79\x7f\x79\xf9\x86\x43\x16\xc3\xf8\x03\xc7\xf7\xb6\xef\x9f\x13\xae\xde\x8f\x91\xf4\xf8\x2a\xdd\xaf\xe5\xd8\x01\x29\x55\xe1\x22\x9d\x1b\x6b\x23\x01\xdc\x11\x79\x85\x21\x43\x95\x92\xd9\x32\x6e\x96\xda\xe9\xb4\x5a\x0d\x4d\xa4\x61\x71\xbf\x82\xb0\xb2\x31\xc1\xe1\x43\x68\x5b\xbb\xb4\xf2\x9a\x6b\xa7\x8a\x35\xde\x66\x5e\xf2\xa5\xd8\x42\x64\xe6\x32\xec\x6b\x9b\x8a\x7c\x15\x0f\xb3\xec\x81\xb8\xdf\x1a\x03\x7c\xca\x9e\x21\xaa\x51\xa6\x9f\x35\x20\xd8\x30\xc9\x0a\xd4\x73\xb2\x34\x2f\x7a\x17\xbd\x9e\x63\x46\xe3\x6d\xa7\x15\xa4\xd2\xb5\xdc\x2d\x21\x95\x7c\xf6\x19\xcf\xf7\xe5\x72\x12\x9f\xe9\x10\xe1\xba\xba\x39\x71\xb4\x83\xcd\xaa\x44\x76\x1f\x2e\x27\x14\x8e\xd2\x74\xff\x80\xe5\x33\xd7\x76\xef\x85\xe3\x36\xab\xa9\xaa\x77\x81\x28\xe3\xea\xb4\x0c\xfb\x6d\xb3\x59\x12\x08\x76\x5e\x61\x82\xc0\x7d\xb0\xca\xfd\x50\xc7\x6e\x51\x2f\x33\xba\xdd\x03\xf4\x59\x6e\x93\xf9\xf1\x47\x3c\x8d\x51\xcb\x1b\xb3\x0a\xdf\xca\x08\xb6\x52\xc0\x45\xc8\x11\x22\xa1\x60\x90\x56\x97\x9a\xa6\x6b\x45\xf5\xf2\x43\x9f\x83\x4a\x67\x23\xdd\xc1\x4e\x87\xb3\xea\x1e\xc8\x1c\x8c\xd7\x45\xa4\xa0\x40\x06\x19\x45\x28\xb8\xbf\x9d\x84\xab\x62\x5e\x25\xa4\x8e\x6e\xa7\x56\x22\xb9\xfd\x3c\xcc\xd1\x20\xf5\x6e\xf3\x60\x75\xec\x79\x23\xac\xc0\x4a\x6a\xfa\x4e\xf8\x21\x46\xde\x60\x65\x40\x62\x2a\x06\x8d\x6e\xf3\x22\x3a\x97\x9a\x8c\xa4\x3a\xbc\xd0\x1e\x31\xdc\x3c\xa2\x81\x0a\xa2\x95\xb3\x70\x1b\xc6\x37\x30\xa5\x32\x6c\xa8\x9e\xde\xcc\x6e\x74\x20\x71\x41\xba\x8d\x83\xc9\x53\x0e\x09\x5c\x62\xbb\xba\x84\xab\x24\xa8\x09\xa3\x90\x51\x1f\xfd\xec\xb2\xbc\x4c\x19\x1e\x2a\x64\x79\x3f\x6a\xaf\xaa\xd8\xc1\x39\xd0\x17\x4d\x9c\xab\xf0\x89\xae\xf9\x9f\x94\x4f\x25\xbd\xd5\xca\x28\x59\x27\xab\x5c\x78\xf1\x00\x9c\x90\x06\xa6\x03\x37\xb4\x43\xe0\xc9\x38\x52\x98\xbb\xcc\x8a\x36\x4e\x18\xd7\x3b\x87\xe3\xc2\xf0\xbd\x78\xf8\x55\x70\x82\x9c\x4e\xd5\x3a\x6a\xea\x3e\xea\x33\xb2\x05\xb7\x4b\x17\x86\xd0\xfe\xfa\xb4\x4b\x45\xa5\x53\x75\x4a\x86\x7a\xf2\x20\x0c\xc0\x5e\xe6\x9a\x01\xf6\xf1\xab\x96\xe7\x4f\x29\x0e\xd4\xca\x5c\xeb\x08\xeb\xf0\xfd\xa2\xe7\xb9\xfb\xe8\x75\x3e\x81\xb1\x2d\xa7\xe6\xbe\x8c\x3f\x0a\x7f\xc9\xa9\x87\x43\xce\xe5\xe1\x67\xbb\xc6\x59\x4a\x13\x30\x53\x04\xcd\xcd\xbb\xbc\x63\x93\xc5\x7f\x87\x9d\x4a\x8a\x27\x30\xf9\xd0\x2f\xfa\x87\xf0\x61\x41\xb7\xb8\x2b\xe0\x76\x0c\xb4\x29\xf5\x7d\xe7\xea\x11\xc5\x18\x85\x99\xd3\x7e\x98\xc2\x10\xad\x24\xef\x5c\x11\x62\x1f\x92\x5d\x8a\x3d\x94\xa8\x4e\xf2\xd0\x68\x2a\xcf\x9a\xb3\x5c\x70\xb4\x1a\xe2\xa5\x95\x49\x37\xf9\xd8\xf9\xfe\xe7\xdb\xb0\xd6\x59\xbe\xb9\xcf\x72\x11\xcd\x65\x04\x7c\xb6\x0e\x81\x9c\x1a\x5a\xf6\x71\x00\x28\xfa\x58\x6b\x4d\x0a\x7e\xda\xc3\x63\x67\xb2\xbd\x90\x71\xa3\xa0\xbc\x92\xf3\x22\xee\x4c\xa4\xf2\x86\xd6\xb0\x77\x77\xf1\xdb\x35\x0c\x06\x5e\x7d\xc5\x63\x78\x05\x43\xea\xe5\x7a\x6c\x1e\x48\x0d\xe0\x5e\x84\xee\xb6\x46\xfb\x0e\x82\xd5\x4a\xb9\x1a\x45\xdf\x95\x7b\xf8\x71\x76\x2f\xec\xcf\x36\xce\x4a\x59\xc7\x1d\x86\xaa\x2e\xcd\xde\xc4\x69\x26\xdd\xe4\xf0\xd7\x29\x15\x8b\x97\xa7\x49\xf8\x7b\x4c\x81\xcf\x74\xf4\xb4\x9d\x5c\xfb\x03\xda\x95\xa0\x17\x7f\x53\xdd\x08\x0e\x46\x9a\x1d\x64\x3b\x91\xf4\x01\x5e\xfa\xe0\x73\x58\xf9\x0d\xa5\x41\x65\xf5\x82\x0d\x0d\x91\x94\xd8\x82\xa2\x99\xe0\xa9\x71\x99\xa9\x30\x60\xc9\x49\x4c\xab\xe5\xa4\x27\x6c\xcd\x20\x58\x4d\xba\x55\xe5\xb5\xf6\xbb\x98\x97\xaf\x83\x5d\x53\x27\x2a\xb7\xc8\x0e\x59\x12\x15\x44\x46\x5e\x77\x1f\xa6\xc9\xe9\x73\x27\xac\xc8\xfa\xee\xcd\x33\x85\xcb\x3e\x1c\x59\xe4\x5c\xcf\x53\xf2\x1a\xff\xc4\xd9\x52\x2d\x64\x2d\x84\xbe\xae\x97\x3c\xaf\xc1\xe8\xac\x1a\x42\x8f\x5b\x7b\xe9\xc7\xf6\xae\x9b\x73\x55\x3d\x3d\xe1\x3c\x14\xd9\x4e\x95\xba\x3e\xdf\x14\xb5\xdb\xc8\x7d\x1c\x3e\xa8\xb4\xd3\xa2\x5f\x95\x59\xe0\xbd\xa5\xa8\x93\x8c\x47\xe7\x9a\x55\x45\x07\x56\x60\x38\xf6\x47\x34\x2a\xa7\x36\x74\x0a\x16\x4d\x55\xe1\xbb\x7a\x57\xcd\xd1\x96\xb1\x3a\x93\xc9\x10\xb1\xbd\xc8\x3b\xd7\xd8\xd0\xe8\x6f\x95\x46\xa7\xf9\xb0\x76\x75\x7f\x5d\x98\x32\x8e\xfb\x91\x25\xfb\xe2\x72\x7c\x72\x35\x9f\x2c\xbe\xf5\x5e\xcf\x67\x57\x17\x36\x6c\xf8\x1b\xd5\xe8\x94\x8f\x5b\x12\x22\x30\x91\x64\x72\x32\xee\x55\x9e\xf4\xca\x93\x6f\xb5\x82\xb4\x65\x78\xe8\x9f\xdb\x5e\xee\xec\x01\xa7\x7f\xbf\x6e\xa7\xe5\x62\x74\x62\xeb\x45\x37\xe6\x1f\xed\xef\xf5\xae\xd9\xea\x00\xb1\x47\xbd\xd6\x6e\x68\xa7\xe3\xb7\xe3\xe9\xec\xc2\x5a\xad\x55\xfe\x7e\xd1\x03\x64\xcf\xf2\xaf\x9d\x00\x6d\xf3\x37\x96\xbf\x36\xbf\x79\xf9\x46\x26\x76\xee\x74\x1f\x75\x25\xa3\xb7\xe4\x85\x03\x42\x23\xd5\xb2\xdf\x3d\x14\xc8\xdb\x89\xad\x66\xf0\xc5\x64\x6a\x63\xc2\xd2\x0f\x3f\xeb\x85\xcb\x19\xa6\x26\xd3\xde\x85\xd9\xe4\x94\xd3\xfa\xeb\xba\x74\xb9\x54\xa7\x46\x67\x75\x69\x9c\xfc\x6c\x2a\xb1\x5c\xf9\x1c\x68\x51\x67\xd3\xeb\x5b\xb9\x49\xba\x26\xf4\x35\x56\x45\x6f\x02\xd8\x9d\xe4\xe7\x40\x15\x7c\x27\x92\x24\x4e\xae\x37\x1d\x7d\x49\x5f\xbb\x92\xd5\x00\xd1\x42\x1c\x26\xb0\xe9\x88\xf2\xe7\xb0\xc5\x93\xb3\xcb\xc3\x7e\xaf\x54\x66\x30\x7d\x1f\x6c\xbf\xb0\x4d\xcf\xe5\xe3\x27\x7c\x3f\xc0\x9d\xeb\xc7\xe2\xea\x19\xe0\xe4\x28\xeb\x39\x26\x01\x63\x91\x87\x31\x16\x87\x53\x9d\x21\x82\xdb\x28\x4e\x44\xf2\x85\x7d\x1a\x99\x26\x5e\x1a\xfb\x92\x54\x29\xdb\xb5\x27\x65\xd4\xc4\x97\x38\x7b\xc4\xff\x80\xfa\x58\x89\x97\xde\x57\x5f\x7e\xf9\xf5\x91\xb7\x51\x2d\x66\x65\x21\x38\x6c\xfa\x66\x84\xea\xdf\x88\xa5\x9f\x73\xd9\x1f\x5d\x7f\x79\x6b\x94\xac\xb5\x07\xa6\x8d\x61\x49\xe5\x3a\x6e\x06\x3e\x1e\x11\x5e\x34\x14\xf8\x97\x0a\x05\xf0\x77\xb0\xc1\x8a\x6d\x54\x04\x8d\xab\xf0\x71\x77\x38\xaa\x26\xf1\x8f\xb0\xec\x80\x5d\x36\x55\xac\xdf\x52\x85\x33\x59\x4e\xb3\x9e\x24\xec\xc2\x21\xe9\x9e\x60\x16\xfd\xee\xcb\xdf\xd6\x78\x86\x5f\x69\xa6\x61\x93\x43\x55\xff\xcc\xcf\xb3\xbb\x38\x09\x7e\xe4\x0a\x31\x5b\x59\xcb\x90\xbc\x06\xba\x20\x11\x1f\x83\xfb\x72\x4c\xfb\x38\x24\x45\x65\x3e\x96\x69\x82\x67\x28\x4d\x2a\x1a\x3c\xfe\x9d\x4c\x53\xac\x6c\xad\xc3\x2d\x80\x25\x42\x97\x40\xc4\xb6\x82\x72\xab\xe1\xfa\x46\x16\x23\xbc\x9d\x41\x2f\xbd\x11\x27\xa4\xa2\x95\x2d\x22\xea\x69\x46\x7c\x59\xc5\xc4\x16\xea\x53\xb0\x4d\x82\xfb\x20\x14\xb2\xee\x81\xf8\x28\xa8\x96\x0a\x59\xe6\x1d\x35\xe1\x1c\x99\x02\xff\xd5\x5d\x12\xf1\x40\x94\x88\x75\x9e\x92\x83\x5e\x95\x8d\x93\xcd\xc8\x7f\x94\x95\x9b\x52\x49\x13\xd8\xcc\xf8\x59\x24\x58\x46\xce\x37\x0d\x59\x2c\xb4\x4c\xe9\xe2\x1d\x65\xe2\x5a\xd8\x83\x07\xed\x24\xb9\xa4\xaf\x4e\xe0\x9b\x9f\x7e\x2a\x8b\x13\xff\x3e\xba\x98\x8c\xf1\x4b\xf5\xc4\xc6\xe8\xfa\x0c\x3f\x94\xd2\x11\xf7\xe0\x52\x13\x31\xd5\x15\xd9\x4a\x90\xd7\x4c\x91\x95\x29\x78\xe4\xa4\xdb\xe6\x05\xdd\x62\xc3\xbb\x53\xff\x46\x84\xac\xea\x55\x1d\x91\xda\x06\x67\x3d\xf8\xaa\x1b\x6c\x6a\xf6\x7d\xa7\xef\x29\xa4\x5b\xc9\x38\xe3\x36\x63\x71\xa8\xb5\xae\x88\xfe\x46\x07\x15\x36\xe6\xd4\xb7\x50\x68\x0b\x17\x6c\x48\xaf\xef\xa0\x41\x9d\xd0\x95\xd2\x25\x05\xac\x9a\x95\xb4\x57\xd6\xaa\x9c\xfa\x8b\x0a\xf7\xa5\x86\x24\x83\xce\x94\x9b\xcb\xee\x5c\xd4\x2e\x27\xc0\xc4\x29\xc7\xb4\xd3\x0d\xd0\x44\x49\xa3\x27\xc3\xb9\x26\x7f\x1f\xf7\x48\x9f\x69\x53\x70\x5f\xd6\x42\x25\x7b\x70\xa8\xe1\xe5\x56\xa4\xb6\x96\x5a\x0d\x65\x68\x0f\xe1\x7f\x72\x69\xac\xd5\x50\xb3\xf6\x10\x2e\xa9\xcb\x6a\x52\x71\x79\x88\xef\xa2\xc5\xe4\xe2\xa5\x37\x59\x63\x75\x3f\xda\x98\xb3\xe4\x81\x7c\xdc\xb1\xcc\x4a\xf6\xbd\xfb\xaf\x6a\xa9\xc9\x47\xf4\x38\x35\x2b\x46\xf3\x07\xb7\xec\xe1\x96\xee\x59\x5a\x9a\x3a\xd4\x92\x8e\xcd\x21\xbf\x8b\x46\x97\x8b\x2b\x38\x95\xbe\xf4\x74\x09\x12\x2e\xab\x44\x09\x93\x9c\xb9\xdc\xdc\xf6\x6b\xa5\x2b\x83\x79\x5f\x1d\xf1\xab\xba\xf5\xb0\xb4\x87\x06\xc6\x5d\xcc\x70\xeb\xca\xaa\xae\xb5\x3a\xab\x91\xe2\xbc\x2e\x6b\x61\xc1\xce\x0a\xd3\x1a\x58\xec\xbe\xe6\xcc\xd5\xe2\xb2\x57\x5e\x36\xac\x32\xf7\x1d\xcd\xda\x67\xa1\x35\x9d\x45\xfd\x6a\x3d\x01\x28\x96\x5b\xad\xf8\xac\x9a\xdd\xc9\x17\x9a\x6d\xf1\x7f\xa7\x45\x7b\xe5\x96\x1e\x50\xda\xc1\xd0\x19\x1e\x88\x44\xa8\x7a\x3d\x18\x51\x1a\x8a\x63\x5c\x6a\xd3\xd9\xc9\x68\x3a\xc6\x7d\x6a\x70\x32\x1d\x8f\xe6\x83\x23\x3c\xfc\xdc\x07\x74\x13\x4a\x8f\xb1\x69\x88\xf5\x29\xac\x66\xde\x69\x21\xdc\x65\xf2\x08\x82\x59\xa0\xe7\xd8\xbb\x0c\xbc\xf1\xf9\xdb\xc9\x7c\x76\x7e\x3e\x3e\x1b\x9f\x2f\xae\x89\x02\x4c\x66\xa6\xe2\x9b\x80\x10\xfe\xd1\xb4\x58\x00\x62\xba\xf5\xe3\x27\x2a\xbd\x5f\x8a\x51\xb0\xca\x5a\x26\x03\xda\xae\xa9\x28\xf9\x75\xf6\xb0\x95\x61\x83\x68\xd0\x72\x9d\xe4\x01\xc6\x29\x73\x87\xfd\x28\x8e\x84\xb5\x47\x1e\x5d\xad\x52\x71\x5e\x63\x21\xd7\xa1\xe3\xf9\xc5\xd7\xe3\x91\xb0\x73\x05\xdb\x4a\x26\xa0\xbf\x0f\xc4\x87\xa2\x5c\x70\x80\x49\xd0\x5d\x7c\x47\x7d\x59\xc4\x81\xf8\x2b\x0a\x1f\xf1\x28\xfb\x19\x4f\x5d\x58\x1a\xb2\xa5\x26\x70\x09\xef\x5d\xd1\xb2\xaf\xd4\x6f\xb7\x1f\x09\xd5\xd6\xba\xc5\xc9\x8f\x9a\xf7\x59\xe9\x90\xd5\xd4\xcc\xfc\x6b\x8a\xfd\x1f\xcb\x3f\xdb\x5c\x50\xa7\x66\xb5\xac\xbc\xa1\xa9\x79\x0d\x4e\x2b\x15\xa5\xe5\x8a\x45\xfc\x74\x26\x30\xf5\x42\xfb\x7f\xc8\xfb\xb6\xe5\x48\x8e\xe3\xec\x7b\x3f\x45\xdb\x61\x05\x56\x61\x60\x78\x08\x5d\x2d\x2f\x14\x10\x16\xbb\x82\x63\x01\xac\x16\xc0\xca\x14\xc9\x80\x1a\x98\x06\xa6\xc5\x41\xf7\xb0\x0f\xc0\x82\x0a\xbe\x8b\x2f\xb9\xba\xf0\x95\x9f\xc0\xfb\x62\xce\x53\x55\x57\x75\x57\x56\xf7\x0c\x80\x25\x1d\x8e\x3f\x7e\x8b\x8b\xe9\xaa\xcc\x3a\x65\x65\xe5\xe1\x4b\xf9\xcb\xbb\x74\xd9\x66\x0c\x30\x38\xac\x47\xfd\x64\xd6\xb6\x17\x3e\x30\x58\x2c\x85\xb9\xc7\x39\x07\xc9\x74\x1b\xb3\x37\x8a\x91\xc2\xd8\xbf\x80\xd5\x8e\x17\x23\x88\x77\x25\x20\x4a\x81\x0c\x90\x29\x8e\xed\xde\x76\x09\x52\x08\x05\x4c\xc6\xb2\x3b\x26\x38\xb4\xcd\x88\x1e\x25\x92\xa2\x37\x86\x47\x0d\xa6\x30\x8c\x3e\x79\x24\x45\x6f\x10\x9f\x36\x94\x22\x36\xca\x47\x8d\xa3\x78\xe0\x28\x1f\x1c\x48\x71\xb2\x40\x8d\x3a\x25\xc3\x09\xe2\xe0\x58\x9f\x2a\x45\x79\x47\x4c\x81\x6f\xd2\x0a\x93\x42\x28\x44\xce\xb8\x48\xb1\x13\x0c\x88\x62\x14\xc5\x29\xa9\xab\x48\x9e\x55\x7e\x22\xdb\x8f\xbc\x10\x28\xca\x8d\x0f\xb3\x30\x89\xd3\x69\x78\xec\x93\x60\xc9\xf7\xb8\x67\x79\x51\xde\x75\x98\x9a\x7e\x5c\x9a\xa6\x3e\x98\x3b\x52\xab\x84\xca\x9e\xe6\x18\xbd\xe5\xb2\x57\x4c\x74\x54\x97\x74\x51\xa4\x4d\xb0\x98\xbe\xd7\xd6\xd0\x29\x91\x9f\x45\xb6\x1c\xa5\x0b\x37\x4a\x3e\x8f\x0d\xca\xc1\xb0\xe3\xe1\x48\x38\xec\xb3\xb4\x8b\x8b\xc5\xbd\x9b\xed\x60\x3a\x6f\xc3\x00\xd4\x5c\x04\x76\x1b\x1a\x1b\xd4\x4a\xdc\xc8\xab\x0c\x8b\xba\xa1\x84\x95\x9f\xb9\x16\x23\xfc\x54\xb5\x34\x49\xb5\x86\x54\xd9\xb1\x4b\xcf\x27\x07\x55\xcf\x4e\x09\x85\xc5\x3e\xb3\xff\x85\xca\x27\xc2\x2c\x39\x78\xd2\x16\xc4\x1a\x95\xd4\xeb\x8f\x1f\x8a\x8f\x1f\x2a\x0c\x19\x24\x26\x71\x7b\x79\xdf\x7b\xe0\xf2\xdb\x04\x57\x4d\xe5\x49\x3b\x2b\x26\x1a\x3b\x5d\x2f\xa1\x82\x6a\x49\xb3\x68\x20\x05\xd7\x1e\x5f\x3d\xb8\xe6\x46\xa8\xa0\x41\xab\x46\xa8\x67\xf4\x33\x4c\x21\xe7\xd8\xab\x02\xa0\x84\xf4\x44\x20\x37\x41\x84\x2e\x21\xb8\xcd\xb3\x26\xcd\x97\xb2\xe7\xdd\x42\x2b\x7d\xb3\xc0\x14\xa6\xb0\x54\x10\xf5\x46\x88\xe2\xd4\xbf\x5d\xe9\xe1\xdb\x7e\x42\x01\x16\xe2\x93\x35\x89\x8d\xd6\xc1\x80\xbc\x46\x7a\xaf\xb2\x4b\xaa\x25\x08\xaa\x66\x76\x8b\xb7\xd5\x14\x22\x1f\x3f\x80\xb8\xe6\xe3\x5d\xfb\x5e\x67\x42\xae\xca\xd4\xc2\x79\x44\x72\x60\x76\x7a\xc0\x1e\x9b\x8c\xee\xe0\x51\x46\x1b\xd9\xe6\x44\x07\x46\xaf\x18\x45\xce\x42\xd8\x7c\x80\xb1\xa8\x60\x87\xc2\x23\x6c\x12\x0b\xab\x35\x4a\xec\x11\x4e\xab\xe8\xf4\x13\xce\x29\x8a\x5e\x9b\xeb\x46\x06\x04\xce\x3b\xfc\x34\x2f\x23\x1e\x86\xcd\x4e\xb4\xc1\x08\x26\x47\xee\xd7\x16\x95\x20\x13\x36\x4c\xb7\x7b\x9c\xf7\xe4\x14\xdd\xc9\x9f\x32\x9b\x33\x97\x35\xfe\x93\xe2\xd7\x82\xc2\x73\xf2\x7d\xbe\x12\xec\x66\x03\x89\x41\xce\xee\xa6\x8c\x01\x99\x1d\xb0\xa7\x1d\x47\x41\x2e\x54\xeb\x7a\x72\x9c\xd3\x7d\x64\xb3\x29\x5e\x16\x64\x66\x51\x82\x1a\x80\x22\x8a\xc0\x22\xd3\x88\x93\xd8\x72\x91\x3a\xdf\x7a\x99\x5a\x5b\x8b\x8f\xff\xad\xa1\x91\x13\x31\xaf\x7e\xa5\x3c\x54\xd0\xb8\x61\x0c\x26\xb3\x04\x2b\xba\xc3\x2d\x81\xc0\x32\xc5\x3c\x9b\xff\xf3\x04\x5e\x40\x47\xf1\xfc\x71\x03\xdb\xc9\x2c\x81\xf7\x0b\xbe\x40\xb2\x7c\xb9\xd4\xed\x6c\xb1\xac\x8b\x98\xa8\xa2\x9d\xf1\xa4\xa8\xe9\x73\x67\xff\xad\x09\x9f\xee\x70\xa7\x59\x80\xff\xe4\xd3\xd0\xec\xc0\xf4\xe3\x03\x4a\x83\xef\x8b\x0d\x6d\xfd\xa2\xe0\x27\x41\x11\x31\xad\x30\xb8\x72\x70\x27\x4e\x9c\x36\x65\xfb\x23\x53\x85\xb1\xbc\x5c\x4b\x4f\x8a\x9c\x92\xca\x4f\xf8\xec\xd0\x03\xd9\xae\xe9\x27\x0a\x7b\x31\x91\xbf\xdb\x16\xd0\x9f\x3f\xc7\x08\x05\x41\x74\xc7\x52\xd2\x72\x2b\xdd\x95\x15\xc1\x84\xda\x8a\x2a\x9a\x64\x3c\x91\x78\x5e\x0e\x35\xba\xf4\xab\xa8\x22\xb6\xbb\x3d\x30\xa2\xf5\x93\x79\xbb\xab\x3f\xdd\x39\x6f\xbb\xc8\x60\x02\xae\x37\x55\x58\x6c\xf9\x01\x7a\x49\x30\x5a\x7c\xb0\x08\x0b\x26\xfa\x54\x54\x02\xcb\xde\x64\xda\x19\xa4\xe7\x12\x0b\xc3\x4f\xfb\x7c\x7a\x83\x9d\xda\xea\x65\x30\xba\x5f\xe5\x3b\x49\x6c\x3a\x4f\x16\x49\xdd\x33\xd4\x68\xfb\x7b\x1c\x00\xe2\xc5\x7a\xf0\x0f\xd2\x23\x68\x0c\x4d\x7e\x93\xc1\x3b\xff\xdb\x42\x1c\xaa\xbb\x8e\x88\x20\x37\xe9\x05\xe7\x6a\x66\x6e\xcd\xa6\x2a\xbf\x5e\xe0\xd3\xbf\x82\x0b\x04\x9d\xb9\x20\x18\xf0\x76\x59\xa4\xd5\x1c\xe3\x4c\x8c\x89\x0c\x3f\xd8\xa6\xad\x85\xff\xfa\x57\x2c\x01\x10\x34\x8f\x45\xac\x60\x54\x59\xd2\xa0\xee\x80\xf8\x58\xa6\x39\x3e\x49\x1a\x34\xbd\x65\xf2\x37\xad\xcc\x39\x8e\xc9\xfa\x66\xfb\x08\x01\xb9\x49\xec\x34\x61\xa8\xa5\x53\xf2\x09\x19\xc7\xd9\x91\xc2\x3c\xb3\x64\xb7\x85\x49\xc8\x5a\x5e\xb0\x79\xd6\x7d\x94\xe1\x81\xae\xb6\xcd\x36\xfe\x31\x6a\x5d\xa7\x19\xd0\x4f\x22\x96\x0e\x2b\xba\x02\x6b\x76\x49\x70\x02\xd1\xf4\xbe\xc7\xc1\x49\xc6\x7f\x70\x53\x56\x99\xab\xeb\x6b\xa2\x13\xdd\x4c\xfe\x4c\x79\x13\x63\x39\xef\x91\x20\xc9\x45\x95\x84\xb0\x9c\x6a\xf7\xa2\x88\xb0\x9f\xcd\xd9\xd1\xca\xff\xad\x7a\x65\x65\xaf\x62\xa4\xac\xff\xb9\xde\xf3\x27\x8d\x4e\x7e\x11\xa9\x9c\xff\xcb\xea\xff\x38\x15\xed\xca\x44\xa9\x6d\x73\x08\x43\x99\x14\x2d\x26\xbb\x96\x58\x7a\x85\xff\x60\x5c\xb7\x8c\x1c\x23\x9f\x6b\xc0\x56\xa6\x02\x0e\xc7\x61\xca\xc8\xb7\xd9\x02\x2a\x8e\x9f\xa3\xb3\xd7\xaf\x79\x43\xc0\xaa\x91\xb6\x94\xb2\xd0\xc6\x9b\x2d\xd8\xde\x75\xe3\xaa\x83\x51\xcb\xe8\xed\xc3\x6f\x7a\xab\xb6\x36\xfb\xa6\xd1\x83\x6d\x4e\x9c\x58\x38\xf3\xa5\xd2\x63\xb9\x1a\x31\x88\xc2\x5e\xfd\x47\x33\x5d\xb4\x96\xab\xd5\x27\xdd\xaf\xcc\xdf\xaf\x6d\xaf\x92\x42\xb0\x23\x51\x79\x73\xed\x9a\xe4\x22\x62\xb6\x84\x9b\xb9\xc2\x95\x8b\xf0\xf4\xe0\x70\xff\xf8\xec\x54\xcd\x24\x79\xbd\x7b\x70\xbe\x7b\x7a\xba\x7f\xa4\x65\x12\xa1\x3c\xd5\xcb\xa6\x88\x48\xd4\x8a\x9e\x70\x63\xf8\xf7\x19\x0a\xe4\xbd\x97\xe7\x47\xbb\x87\xfb\xa2\x32\xee\xe0\x6b\x72\xc7\x04\xed\xed\x18\x8c\x13\xae\xdc\xfe\x3d\x1b\x55\xec\xcf\x9d\x95\xb0\xab\x53\x0a\x1f\xee\xbd\x24\x8d\x69\x94\xbb\xe4\xcc\x8a\xec\x69\x4c\xd0\xc9\x75\x6a\x27\x5b\xf2\x1c\x25\x58\x0f\xa3\x04\x25\x20\x81\x03\x69\xcd\xe3\xa8\x57\x15\x6b\xef\xa5\x3e\x4d\xc9\x9e\x94\x3e\xa3\x2c\x3c\x0a\x99\x86\xa6\xf7\x1c\x11\x2c\x65\xd0\x8c\x5b\xd0\xeb\xb4\x2d\x80\x09\x54\x17\xee\x29\xa6\xab\x62\x98\x2a\x3d\x98\xa4\xbb\xdf\x07\x75\xcf\x30\x39\xaf\x94\xf8\x70\xa2\xf1\x43\x4b\xd9\x79\x58\xf1\xc6\xa3\xd9\x59\x7b\x3c\xef\xa0\xa9\x90\x56\x77\xbb\x9f\x83\xb6\x60\xca\xd0\xa8\xeb\x53\xa8\x0c\xd6\x15\xe1\xa5\x44\x66\xc6\x89\x58\xbb\xc8\x16\x79\x31\x07\x5d\xfb\x0a\xb4\xf6\x3b\x02\x93\xa7\xea\x3e\xa0\xb0\x56\x04\x5f\x45\x95\xf8\x61\x3d\xdf\xdf\x6f\xf3\x53\x9e\x91\x42\x16\x4d\xb3\xaa\xcf\xe9\xef\x61\x77\x23\xc5\x5a\x57\xf8\x5e\x81\x39\x87\x3b\x61\x96\xec\x2f\x6b\x90\xe9\x5c\x64\x9f\xca\xe1\x16\x59\x83\x2f\x9b\x44\xaa\x59\xe3\x2b\x69\x6c\x8a\x4d\x78\x1b\xfd\x1f\x0a\x17\xa3\x18\xb7\xaa\xa2\xe9\x60\x60\x61\x78\x34\x5c\x81\x9e\x84\x0f\x54\xfc\xf5\x22\xab\x4b\xac\xaa\x4b\x16\x73\xe2\x17\x87\xb4\x6d\x6c\x08\xf0\x05\x4e\x6b\x4c\x67\xf2\xc6\xca\xe9\xaf\xf8\x5e\xcf\xcc\x00\xe9\x2b\x7c\x49\x15\xa8\xea\x77\xfd\x72\x61\x5e\x1a\xdd\x7b\xb1\x5c\xd7\x59\xda\xc6\x56\xe6\xa8\x14\x61\x6c\x42\x5a\xb6\x3b\xd5\xeb\x8a\xa1\xb3\x1d\xfd\x08\x2b\x81\xc9\x53\x3c\x1a\xf3\x62\xa7\x2f\x6d\x2f\xbb\x14\x14\x8e\x6c\x49\xbe\xea\xa9\x5f\x43\x32\x9c\x6f\x8a\x6f\xf5\x51\x54\x62\x1a\xc4\x99\x70\xbc\xfb\xe6\xc0\x67\x96\xaa\x7f\x17\x6d\x66\x9d\xb8\x79\x41\x3e\x48\xdf\x20\x34\x36\x08\x8f\x5d\x9f\x06\x73\x2a\x54\x2a\x5b\x34\x6f\x18\x59\x83\x95\x52\xc4\x87\xa9\x96\xad\xf6\xc6\xb2\xf7\xd2\x92\xf1\x2e\x35\x1a\x57\x06\x2a\x33\x0c\x82\x36\xb5\x17\x85\x63\xab\x2f\xa2\xfc\xe5\x54\x88\xb5\x46\xa7\x53\x95\xca\xcf\x2d\x41\x67\xb4\xf8\xe8\xa2\x5d\x3c\x90\x40\x5c\x56\xcb\x00\x6b\xc4\x76\x39\x89\x11\x47\x48\x4d\x9a\x14\x01\x60\xec\x3d\x0b\xd2\xc2\xe4\xa0\x53\x49\xc4\xa7\x9d\xa1\x21\x0b\x06\x1a\xa5\xf1\x8b\x1f\x70\xba\x7a\x7a\x45\x25\xb6\x7f\xf9\xb9\xf3\x4e\xc6\xd3\xcd\x4f\x6f\x5a\x7e\xa9\x61\x77\x52\xec\x6c\x35\x87\xfb\xdd\x22\x49\xfb\xf3\xd0\xd2\x8f\x9c\xaa\x33\x06\x27\xaf\x0c\x38\x42\xc0\x55\x42\x60\x68\x7f\x93\x3c\xfa\xe9\x58\xf4\xa7\xc7\xa7\xbb\xaf\xcf\x0f\xf7\x0f\x8f\xdf\x7e\xad\xe5\x95\xc2\x8f\x07\x6f\xf7\xcf\xe9\x53\x4d\x05\x4c\xaf\xf9\xfd\x80\xff\xa1\x67\xd9\x34\x18\x58\xd1\xe0\xed\xef\x7e\xac\xf4\x08\x2a\x0b\x46\x3e\x3a\x1e\xd7\x65\x79\xbd\x4e\xa8\xc5\xd2\x57\x2c\x96\xf9\x35\x16\xbc\xa3\x50\xc8\x1c\xfd\x2b\xd7\x15\x3c\xb8\x18\x9b\xb0\xa6\xa9\x2b\xa8\x6e\x9f\x78\x63\xd7\x08\xc2\x38\x75\xa3\x35\x5d\xfd\x5f\xd5\x8a\x8f\xdd\x17\x03\x5f\x5b\x59\xbf\x65\x9c\x54\xe8\x51\xa1\x92\xdb\xf7\xee\xc7\x41\xa3\x30\x25\x53\x4f\xda\x0b\x37\x73\xc5\x8f\x4d\xbd\x48\x1b\x07\x6b\x0d\x94\xaf\xec\x3d\xe9\x5c\xec\x68\x6e\x10\x17\x4a\xea\xf8\x5a\xd7\xb3\x78\x4d\xdc\xde\x3a\xe0\x28\x60\x8b\x7b\xd1\x36\x24\x6e\xa1\x1f\xf1\xf6\xeb\x43\x75\xf8\x00\x93\x41\x0d\x54\x5a\x20\x8f\x0c\xc2\x86\x6a\x95\xf4\x90\x4b\xf6\xa8\xad\x09\xec\xba\xca\xfd\x67\xa0\x41\x3a\xbb\xf9\xf8\x0f\xcb\x6d\x78\x1a\x17\x19\xdb\x7a\xff\x6e\x8a\xf3\xef\x53\xf6\x1e\x8a\x9f\xa0\x13\x00\x38\x40\x5b\x18\x99\xfa\xb8\xb8\x54\x67\x24\x57\x17\xf8\x75\x67\xd0\xd6\xe9\x78\xfe\x02\x10\x75\x6d\xc8\xc6\x2d\xc5\xa8\x66\xea\xb6\xa0\xa4\xd5\x39\xe5\xe2\x27\x77\x0b\x20\x4a\xac\x5a\xd1\x56\x93\x12\x4e\x3a\x31\xec\xd2\x79\x5b\xf9\x05\x00\x30\x95\x72\x67\x0e\x3b\x38\x96\xc8\x79\x5c\xcd\x2b\x5b\x98\xfb\x07\x84\x82\x25\x7c\x30\xea\xbd\x8f\xef\x4f\x12\x5b\x34\x54\x34\x5e\xa7\xad\xe3\x65\x26\x4f\x94\xd0\x22\xd2\x68\x6e\x63\x28\x3e\xa5\x3f\x7d\xd0\x14\x9b\xe2\x40\xd2\x70\x19\xd1\xdc\x66\x12\x20\xa8\x60\x75\xad\xfa\x70\xa4\x03\x07\x6c\xc6\xe9\xa0\xbb\xdf\x39\x32\xcc\x35\x28\x68\x77\xd0\x38\x4b\x5c\x40\x58\x8d\x2a\x9c\xc0\x92\x94\xfb\x1d\x0d\x4a\x0a\x31\x03\xb2\xe3\xa1\x33\xe4\x75\xf1\x48\x73\x34\x60\xeb\xd3\xce\x52\xa5\x42\x1c\xc1\x71\x02\x95\x62\x26\xe6\x69\x7e\xea\xf3\xc3\xb4\xac\x1b\x74\xc8\xb3\x84\xdc\x81\x07\xec\xf1\xc9\x29\x19\x28\x80\x7b\xd4\x42\x76\x76\x80\xe5\x79\x79\xb3\xc3\x9d\x83\xd2\x71\x9d\x15\x59\xd5\x89\x5d\xfe\x3b\x95\xcd\x5f\x80\x54\xa4\xaa\xdc\xd1\xe2\xf9\x51\x90\x24\x56\x4e\x10\x8d\xd2\x31\x78\xb3\x56\xf7\x23\x0a\x14\x82\xf1\x67\x27\x3a\x8b\x49\x60\xf9\xe8\xf8\xf0\xfc\x8f\xc7\xa7\xfb\x78\xfb\x5a\xe5\xa6\xc7\x37\xcd\xa5\xb8\xa1\xc4\x2e\x68\x05\x31\x7d\xb1\x9d\x50\x11\x4a\xe3\x70\xfa\x11\x65\x39\x7d\x91\xb6\x9e\xcd\x14\xc7\xa7\x3d\x49\xdd\xdc\x0a\xf7\x89\x86\x42\x63\x39\x67\x80\x2e\xb4\x90\xa4\x20\xc1\x54\xfb\xc8\xeb\x40\x61\x39\x73\xb9\x76\x0e\xc7\x6e\x9b\xe8\xcc\xa0\x45\x82\xd2\xdf\xed\x05\x6b\xae\x1c\x09\x81\xce\x49\x7b\xd5\x18\x39\x58\xfa\x89\x82\xf3\xee\x2e\x0c\xdf\x7e\x28\xed\x68\xb7\x3a\x77\xd9\x28\x77\x4d\x89\xf6\x36\x78\x01\x71\xdd\x6f\x7a\xfe\x08\xc6\x2a\x2c\xc9\x32\xc3\x3a\x8b\x94\x70\x93\xb3\x23\x0b\x37\x6b\x74\xea\x6e\x2e\x2a\x2a\x63\x27\xdd\x71\x1d\x6f\xd6\xd9\x70\xf2\x9a\xaa\x5c\x61\x09\xdf\xec\x96\x1e\xf3\xa0\x8c\x55\x76\x67\x45\x99\xc5\xc9\x2a\x24\x41\x5c\xf0\x03\x9c\x5a\x94\xe8\x67\x43\x7d\x1a\xcb\x0a\xd0\xa6\xde\x7a\xae\x95\x15\x38\x83\xbd\x27\x39\xdd\x9c\xdc\x54\x81\x66\x83\x4f\x8b\xd2\x06\x63\x79\x73\x8a\x17\x4d\x57\x49\xb2\x4b\xff\xf1\xc9\xa9\xf5\x09\x36\xe5\x9e\xb3\xc9\xcb\x0a\x95\x38\x54\xa7\xf3\x95\xaa\x7a\x4f\x18\x51\x71\x5b\xe6\xc3\xc1\x0c\x86\x10\x24\xaa\x0c\xab\x83\x27\xd0\xfc\x24\x1e\x40\xc0\x78\x37\xc6\x8e\xc7\x51\x1b\x08\x52\x86\x53\x44\xd1\x31\x5f\xd3\xfd\x60\xce\xb6\x3d\xd7\x52\xd6\x3b\xc9\x1b\x93\x09\x2e\x75\x2f\xd4\x9a\x24\x1e\x4b\x4c\x10\xf4\x23\xc9\xe1\x12\xac\x31\x78\x9e\xcf\x92\x77\x64\x0d\x73\x25\x81\xc8\x00\x0c\x8c\x4a\xa9\x38\xfe\x16\x49\x2f\x57\x26\x30\xe0\xad\xba\x8d\x3b\xa8\x35\x84\x21\xc6\x84\x01\x04\xbd\xa8\xca\xba\xb6\xf7\x27\x88\xdd\x17\x98\x0c\x48\xd2\xa2\x61\x63\x70\xe5\x94\xce\xec\xb0\x58\x19\x5d\x6d\x9b\x24\x3f\x7d\x46\x56\x73\x3c\xc9\xe8\x46\x11\x85\xbb\xa3\xd8\x16\x24\xf7\xc8\x79\x0c\xa2\x9d\x5f\xef\x89\x79\xc6\x27\x77\x69\x21\x7e\x30\x5b\x29\x3b\x9c\x4a\xf0\x7b\xbd\xb8\xaf\x4d\x0d\xe0\x09\xc1\x8c\x01\x13\x6e\xa1\x5d\xed\xc0\xca\x89\xd8\x48\xd1\x99\x21\x15\xb5\x7f\x94\xd4\x5e\xfb\x6f\xb7\xbd\xa0\xca\x75\x10\xac\xdb\x52\x1d\xdc\x7c\xe0\x59\xaa\x97\x16\xa5\xd5\x41\xa0\x9b\x67\xb7\x39\xec\x21\x82\xa1\x73\x55\x06\x64\x67\xb4\xce\xba\x9a\x00\xf1\x7b\x55\x00\xe4\xb5\x83\x0f\x9e\xd5\xc5\x16\xf7\x88\xde\x70\x13\x70\x83\x17\xc2\xf7\xd9\x7d\xad\x6f\xdc\x0e\xb2\x00\xf3\x43\x80\x7d\xda\x73\x78\x13\x2c\xf0\x5c\xf4\x42\x66\x32\x8a\x77\x53\xcd\xea\xc4\x12\x3d\x1b\x8d\x86\xb2\x48\x49\x42\x71\xe0\x9f\x7d\x82\x52\x70\x97\xc6\xd3\x59\xd1\x0f\xfe\x72\xf5\x28\x32\xfe\x30\xaa\x0a\xdc\x4a\x62\x86\x8d\xf1\x43\x9b\x98\x01\x75\x4c\x01\x04\xf6\xd0\xa2\x3f\x63\x96\xa8\x5b\x96\x83\x60\x5d\x7b\xa3\x56\x29\xfb\xb5\xf7\xca\xbb\x4d\x3b\x17\x04\x86\x16\x85\xeb\xa0\x5b\xf3\x8b\x13\xec\xea\xb9\x09\x95\x42\xd9\xa7\x1c\x25\xc2\xca\x71\x7d\x5f\x5c\xb2\x6b\xc2\x94\x4e\xde\x34\x7e\x43\x10\xe4\x6d\x71\xe3\x9a\xbb\x25\x0a\x0b\xd8\xd0\xaa\x55\x2b\x5f\x89\x55\x2b\x9d\xcf\x77\xf8\xed\xb9\x83\xe2\x73\x8b\x27\xf9\x1a\xd5\x8c\x4a\x00\x79\x56\x6a\xd0\x74\xdd\xb4\x94\x1c\xde\xd9\xb0\x06\xdd\xad\xd8\x28\xc8\x5d\x56\x99\x20\x14\x8d\x16\x52\x3a\x85\x8d\xb4\x4c\x0e\x41\xd4\xa9\x65\x96\x0f\x61\xad\xe8\x25\xdb\xe0\xb7\xda\x85\x42\xfd\xa4\x37\x65\x5b\x10\x0e\xd3\x0d\xf5\x98\x3c\xcb\x66\xd7\xb3\xe4\x8b\xcf\xbf\xfc\xdd\xe1\x76\xf2\xc5\x2b\xf8\xff\x9f\xbf\xd2\x02\xad\xfe\x84\xf1\x51\x64\x3b\x62\x42\x78\x9a\x6e\x0c\xed\x67\xe8\xf9\xcb\xde\x67\x37\xa0\x1b\x0d\xfa\x5b\x87\x23\x03\xd1\x85\xa1\x5f\x04\x03\xf4\x68\x2c\xce\x4b\x0e\xef\x32\x31\xe5\x18\xc8\x25\x00\x3f\xd5\xc6\xfc\x17\xed\xcd\x05\x82\xea\xfb\x35\x6e\xac\x42\x3b\x4b\x76\xbe\xc0\x9d\x83\x01\x15\x68\x5f\x4b\xf1\xc6\x59\xe6\x37\x39\x01\x3b\xd1\xd8\x35\x31\xf2\xc4\x54\x93\x67\x2f\x38\xb6\xe3\x79\xf7\x9b\x36\xad\x47\xac\xbd\xd2\x9c\x3a\xfa\x76\x2f\xa7\xc3\x52\x45\x07\x19\x1e\x4a\x7c\xcd\xfc\x60\x57\x04\xc4\x18\x52\xa1\x0a\x00\xcf\xde\x71\x38\x88\x13\xdb\x01\xa7\x27\xf4\xed\xc4\xc9\xaf\x62\x98\xaf\x3e\xfb\x99\xf9\x78\x52\xc7\xfd\x24\x94\x69\x34\xdc\x29\x1a\x49\xff\x38\xad\x70\x33\x4e\x11\x82\xf4\x65\x40\xca\x85\xfb\x3d\xdb\xdd\xed\x14\xc2\x9b\xbc\xc6\x6c\x41\xae\xae\xcb\x08\xb3\x64\xa0\x53\x07\xd3\xa9\x77\x67\x67\xbb\xf8\x10\xa2\xb5\xb1\x31\xa2\xc6\xee\x36\xef\x50\x71\x23\x36\x00\x50\xa3\x35\xc1\xd9\x41\x06\xa8\x4d\x51\x10\xb3\xcd\xcd\x9a\xc2\xad\x57\xaa\x53\x68\x0c\x48\x2f\xca\x56\xb8\x80\x34\xdd\xdb\x21\x48\x88\x29\xa0\x1e\xa0\xad\x6d\xc9\x1e\x14\x6b\x0f\xb7\xd7\x49\x48\x69\x9a\x97\x68\xf3\x35\x51\x7f\xf8\x84\xb8\x87\x1d\x3f\x81\x7f\xb3\xbe\xce\x18\x44\x6b\x33\xdc\xc3\x0f\x77\x69\x35\x47\x38\xb4\x13\x0c\xe6\x75\xac\x35\xd8\x93\x09\xa3\x24\x57\xf6\x84\x11\x92\xe3\xc7\x19\x9f\xdd\x36\x76\x7c\x42\x3f\x36\x32\x14\x27\x08\xba\x72\xb9\x40\x9d\xc0\x79\x4d\xbb\x70\x0f\x5d\x14\x24\xf1\xa6\xe8\x33\x67\x27\xbb\xaf\x34\x7c\xda\x93\xaf\x8f\x4e\x77\xff\x43\x71\xb5\x50\x43\x15\x07\x85\x5b\x6a\xa1\x3e\x67\x27\xfb\x6f\xd7\xc0\xb6\xd5\x3b\xd1\xc0\x5d\xcf\x4e\x0f\x5e\x1f\x9c\x50\x63\x05\xe1\xf5\xac\x30\x91\x39\xac\x54\x07\x1d\x19\x33\x7a\x5a\x32\x8c\x9a\x8e\xfc\xe4\xa0\x1d\x12\x74\xdd\x07\xb4\x4a\x3b\x75\x21\xe2\x9d\x8e\x72\xc7\x01\x23\xa0\x2f\x51\x38\x2f\x43\xbd\x71\x49\x6e\x01\x2a\xe4\x9b\x06\x56\x7e\x85\x59\x19\xd3\xb8\x44\xb7\x62\x95\x4b\x31\xe7\xb9\x13\xac\xcd\x9d\xd9\x4a\x31\x64\xe9\xc2\x8a\xd5\xa0\xed\x61\xef\x8c\xda\x86\x28\x84\x31\xe1\xd2\x71\x2f\x08\x6f\x88\x8d\xa2\x22\x03\x72\x0c\x2b\x79\x36\x7a\x80\x70\xda\x9e\xb5\xfd\xf3\x1b\x70\x5b\xac\x84\x5b\xc6\x4c\xb8\x35\x11\xb8\xa8\x23\x9d\xda\x5a\x3b\x38\xfc\xaf\xba\x22\xdd\x4e\x9f\x13\xa0\x8c\x5c\xce\x1a\x72\x5c\x65\xc9\xde\x1e\x59\xf8\xde\x31\x18\xd4\x2c\x79\xc3\x96\x2a\x90\x9c\x54\x73\x33\x66\xff\x3c\xe8\x03\x69\x4a\x9f\x9c\xaa\x23\xe8\x52\x16\xd7\x65\x6f\x6f\x96\x50\xb5\x43\x8c\xf9\x91\xe7\xc1\x28\x9f\xe5\x05\x66\x9f\x18\x17\x0f\xd9\x77\x51\xbe\x65\xd6\x69\x43\x86\x16\xfb\xaf\x69\xa7\x00\x3a\xcd\x04\xf1\xd3\xd4\x44\x66\x77\x8e\xad\xa9\xc4\x66\xab\x60\xff\x23\x0c\x83\x7e\x52\xf7\x27\xd5\x04\xac\xc8\x3f\x61\xb1\x26\x9d\x02\xb8\x4b\xef\x6b\x75\x32\x03\x9d\x6a\xac\xd1\x4b\x14\xd4\x64\x7e\x63\xf2\xe1\x8c\xc7\x0d\x15\x45\xbb\x1c\xe6\xa0\x61\x24\x15\xf7\x21\x4e\xdf\x68\x48\x90\x21\xdc\xd5\xcb\x0d\x22\x97\x10\x3b\x0f\x4d\x0c\x44\x7e\xed\x7b\x7d\x90\x39\x17\x4f\xac\xf2\xeb\x68\x3d\x38\xeb\xef\xac\xb8\xe0\xc0\x3a\x1f\x65\x61\xca\xb4\x9f\x74\xc6\x11\x2c\x23\x95\xe6\xb5\x99\xf5\x20\x00\x83\x88\xbf\xd1\x65\x88\xf0\xc3\x55\x8a\x1a\x56\x5b\xfd\x62\x45\x78\xcc\x42\x61\x92\x8f\xca\x3b\xda\x53\xe1\x8d\x2e\x12\x24\x5c\xcc\xc8\x3f\x93\xbc\x11\xc7\xd1\xc8\x1f\x32\x6c\xa7\x08\xec\x2f\x3d\xec\xd4\x4f\xd2\x59\x73\xe4\xbd\x6c\x78\xde\x82\x12\xda\x49\xf7\xc7\xba\xa3\xf2\x7d\xfd\xd6\x14\x67\x36\xa2\x71\xdc\x45\xde\x18\xa3\xcc\xe9\x11\x2b\x9b\x73\x35\x1a\x9a\x22\x6c\x5d\x62\x1f\xa0\xfa\x6a\x6f\x81\x13\xe7\x12\x9e\x67\x2e\x1b\x29\x4a\x20\x15\xda\x98\xbb\x0f\x06\xe6\xb3\xf8\xd3\xe0\x09\x9f\x2a\x6c\x3f\x32\x95\x7a\x14\xbf\xec\xdd\x08\x9a\xe2\xa7\x0e\xf4\xef\xe6\xf5\x26\xbd\x07\xce\xd0\xf8\x43\x91\x87\x37\xf0\x7f\x19\x20\xbb\xe7\xa0\xbd\x6d\x97\xe8\xf3\x85\x93\xf7\x55\x42\x56\xa2\x7c\xf8\x60\xd7\x11\x5a\x25\xbc\xbd\x76\x15\x47\x52\x9a\x5e\x94\x9e\x21\x15\xbe\xbb\xcc\xb2\xb9\x6a\x3d\xf5\xd5\x39\x7f\x27\x91\x91\x09\xad\xd2\xa0\x55\x23\xb7\xa0\x08\x73\x02\xdf\xe0\x71\x89\x83\x74\xa2\xf5\xfc\x91\x6e\x27\xae\x79\xaa\xce\x07\xc5\x1d\x46\xe1\x68\x39\x40\xbf\xe1\x03\xd4\xd7\x7c\x3d\x1b\x6f\x17\x78\xab\x98\x70\xbb\x75\xea\x2d\x87\xb7\xfb\xc7\xe7\xff\x49\x8f\x43\x70\x35\xf8\x5f\x3d\xae\xad\x14\x5f\x6b\x3e\x7f\xb9\xc3\x51\x8f\xd7\x59\xa0\x85\x90\xd4\xad\xde\xdd\x4f\x13\xd9\xd6\x23\xf5\xb6\x23\x53\xd8\x4e\xaf\x19\x61\x65\x4c\x2d\xe9\x5f\xb5\x67\xf0\x1b\xaa\x02\xbd\x99\x71\xd8\x7c\x8a\x39\xb1\x8a\xc1\xaf\x6e\x4e\xd2\x28\xea\xda\xe3\x4f\x0b\xfc\xc0\x1b\x99\x9f\xf7\x5c\xf7\x8d\xf6\xae\x3d\x7b\x9f\x76\x7a\xa2\x0c\xad\x3d\x1d\xd9\xfb\x15\x3e\x52\xe7\x12\x67\x80\x2e\xbd\xf2\x92\xb2\xf2\xe7\xcf\xc9\x3e\x22\xbe\xfd\xf1\x30\x02\x8c\x0d\x85\xd7\xe6\xbc\xcd\xfc\x88\x02\xbf\x1b\x85\x0d\x92\x2f\x52\x4c\xd4\x44\x39\x22\xea\x84\xa0\x04\x88\xb3\x3f\xad\xae\x5b\x74\x73\xe9\x9e\xb0\x5a\x3a\x92\xe4\x61\x79\xec\x4a\x3a\x8b\x11\x4c\xa6\x1b\x36\xd1\xc6\x42\x0d\x2c\x63\xb8\x63\x84\x2f\x1b\x4f\x79\x34\x0e\x2f\x68\xd8\xb1\x0f\x34\xc3\x51\xa0\x13\x85\x81\x65\x89\xd8\x01\x6e\x44\x25\x47\xd3\xd3\x33\x9c\x83\xc9\x23\x9e\xc1\x5b\x5c\x56\x68\x68\x26\x24\x10\x07\xce\xe7\x8a\x02\x11\xc4\x82\x7e\x93\xd7\x7c\xd7\xa2\xcd\x57\xe3\x0b\xee\x64\x50\x6e\x4f\xf7\x26\xeb\xd7\x19\x5d\xe3\x94\xef\xbb\xd5\x29\xd0\xd0\x41\x94\xc2\x7a\x3a\x7c\x98\x46\x4c\x49\xaf\x03\x00\xb7\x93\x9f\xdf\x3d\x60\x93\x10\x48\x8b\xbe\xb0\xf5\xa6\xe8\x8f\xd6\x66\x91\x49\xc4\x04\x8f\xf6\x01\x48\x90\xcc\x4c\x04\x0b\x92\x24\xe1\x03\xb0\x20\xdd\x79\x6b\x3b\xae\x75\x64\x48\xab\x78\x3c\x26\x36\x24\xa7\x4d\xc0\x94\x8f\xe5\x5d\x1c\xfa\x09\x14\x94\x73\x37\x35\x81\xc2\x12\x99\x84\x3d\x39\xa4\x14\xba\x0e\x46\x29\xb1\x42\x86\xba\x2b\x08\x87\xef\x33\x2d\x8e\x7a\x48\x4d\xaf\x00\x32\xe2\x9a\x1b\x10\xbf\xa0\x1a\x1f\x93\x09\x87\x0a\x7b\x4c\xa4\x34\x52\xf3\x6d\x40\x2b\xf8\x1a\x88\xd3\x2a\x9c\x04\xda\xac\x86\x6e\x8c\x4d\x6f\xf2\xf8\xc4\x12\x47\xc9\xb5\xdc\x41\x6d\x93\x5d\x27\xd3\x76\x8c\x89\xeb\x12\xb6\xe1\x35\x53\x68\x06\xf3\xa6\x1f\x67\x9e\xd7\xad\x91\xc2\x1c\x31\xc4\x85\xfc\xb7\xaa\x7c\x1c\xe6\xf6\x96\x4a\x7a\x0d\xf4\xbe\x71\x5e\x7f\x53\x07\xd0\xe1\x11\x40\xfc\x37\xb5\x66\xb0\x36\xc5\xf4\x88\x18\x08\x2e\x6a\x82\xbe\x80\x3c\xbd\x2e\x4a\x58\xae\x4b\xf2\x6c\x53\x16\x11\x69\x70\xbf\xa9\x59\x02\x53\x9f\x71\x76\x3e\x0d\xa6\x9c\x3f\x82\x5f\x0f\x78\x9c\x9d\x86\x4e\xc1\x81\x86\x36\xb9\x6d\x4c\xcb\xea\x2f\x4c\x50\xc5\x09\x77\x18\x67\x27\x68\xc3\xdf\x74\xba\x15\x30\xf3\x07\xcc\xd6\x84\xf7\xcb\xc4\xd7\x49\x9f\xd3\xc9\x0f\x92\x75\x1f\x1b\x1d\xeb\xfd\xfb\x6a\xb3\xc2\x96\x86\xe1\x09\x97\xd8\x86\x86\x85\x3e\xc7\x17\xfd\x42\x56\x9b\xef\x87\x91\xca\x56\x0f\xda\x19\xaa\x95\x69\xc0\xf5\x7a\xa7\x2b\x1b\xb5\x04\xe9\xdc\x4f\x3d\x76\x21\x07\xda\x23\x1c\xbc\x81\x4f\xec\x61\x73\xec\x55\x0f\xfb\xf4\x56\xed\xfe\x18\x55\x06\xae\x1c\xe4\x17\x0f\x7a\xe4\x93\xdb\xe8\x56\xcb\x32\xb5\x8e\x01\x8c\xaf\xaa\xe9\x55\x41\xf7\x36\x97\xd1\xd7\x42\xbb\x3e\x7e\x58\x62\x18\x2d\x46\x2c\xcb\xab\xbd\xee\xa0\xea\xfc\x14\x4f\x79\x36\xb8\x9d\x8e\x70\xb3\xd9\xa5\x33\xe4\xe9\x31\x2e\x1e\xc3\x93\x7b\x17\xaf\xc3\x43\x36\x68\x39\x4e\xe8\x2f\xf9\xea\x25\x2c\xc6\x1f\xee\x9b\xac\x46\x5b\x3a\xfc\x09\xff\xbd\x87\x71\x90\xb8\x7f\x72\xbd\x3c\xba\xc2\xc0\x68\x8f\xb4\x72\xcf\x34\x34\xc0\x00\x7a\xc0\x1a\x38\x6c\x67\x8f\x82\xb3\x66\x78\x70\x00\x30\xa8\x12\x0f\xd5\x7b\x6b\x18\xc3\x40\x60\x49\xf0\x78\x13\x44\x70\xc4\xdb\xed\x31\xe5\xc1\x5b\xd8\x34\xa7\xb2\xed\xca\x91\x31\xa8\x8a\x77\x32\x81\x10\xff\xd5\x01\x36\xd1\x9e\x30\x35\xbe\x95\xca\x22\xdb\xa1\x28\x25\x0c\x0d\xbf\x2b\x2b\xf2\x10\x2d\xcb\xeb\x7c\x64\xe2\xe8\x09\x71\x53\xd2\x5a\x52\x54\xb9\x12\x90\xe4\xd8\x62\x19\xfa\x45\x65\xc6\x11\x93\xf0\xe8\xd7\xf6\x92\x83\x04\x20\x0f\x86\x00\x5e\x52\x84\x06\x26\x1e\xd1\x82\xb0\x18\x9a\x5c\xb6\xd0\x15\x89\xfd\x3e\xa6\x84\x19\xe1\xc3\x69\x1d\xf4\x2d\x8f\xa0\x16\x94\x07\x9d\x6a\x7d\x9d\x4d\x6b\x8e\xd7\x98\x1e\x8c\x8b\xe6\xa2\xf1\x59\x65\x67\xa3\x0b\xdd\x6a\x85\xaa\x9a\x76\xee\xd5\x5b\x6f\x03\x98\xaa\x6e\x17\x11\xba\xd6\x0d\x85\x19\x5d\x19\xf9\xa2\xa6\x50\xf4\x5d\x58\x4e\xdb\x08\x29\x06\x63\xfd\x3b\xe1\xd7\x8d\x0b\xfe\x21\xb9\x95\xcc\x4c\xaf\x79\x90\xe2\xbb\xfd\xb7\x27\x07\xc7\x47\xda\xe2\xca\xcf\xda\xc2\xbe\x43\x78\xea\xe4\xdf\x4f\xe0\x8b\xf2\xe2\x6f\x58\x1e\x5b\x20\x8b\x1d\xa5\x6f\x47\x70\x77\x2f\xfd\xd8\x63\xdc\x7c\xc0\x5a\x03\x37\xe6\x76\x77\x1e\xa5\xca\x5a\x5e\xec\x2c\x73\xb2\x13\x52\x1c\x1c\xad\xf5\x2c\x79\x49\xd5\x1c\x10\x94\x94\x82\x47\x38\xf7\x28\x9b\x47\xfa\xad\x33\x34\x62\x5e\x92\x69\x9d\x7f\xe5\x00\xdd\x2c\x56\x13\x42\x9b\xe8\x63\x18\x61\xc3\x83\x25\x58\x6e\x17\x62\x99\x93\xf5\x81\xf0\xc7\x9f\x9b\x2a\xab\x07\x91\xd6\x09\x41\x8a\x92\xf3\xda\xd0\xdb\x36\x9a\x50\x56\x30\xee\x07\x49\xdc\x94\xb0\xd0\x3a\xa4\xe0\x37\x22\xd5\x96\x8c\x8b\x30\x4e\x26\x77\xb2\xa9\x30\x01\x2d\xa7\xe6\xfe\x24\x30\x8e\x79\xbc\x74\x85\xb6\x5f\x1e\x7b\xc5\xf3\xe2\xff\xcd\x4a\xd7\xff\xe7\x96\xba\xe5\x88\x4f\xaa\x81\x88\x5a\xed\x8e\x79\x6a\xed\x10\x9c\xc8\x96\xa9\x28\x7f\x81\xf9\x7c\xd7\x29\xfa\x6b\xf4\xb0\x0b\xc1\x14\x95\x27\x9b\x2d\x8a\x18\xec\xb7\x90\x84\x1f\xaa\xf1\x4e\x81\xea\xc5\xc7\x0f\x42\x40\x61\x56\xe0\x92\x8e\x46\xee\x19\x0f\x75\x4e\xe9\x8b\x11\xf7\xde\x88\x9e\xa2\x89\x46\x81\x9c\x63\x1f\x8f\xa3\x9f\xa8\x9d\xd6\xba\x92\x68\x7e\x0d\x37\x45\x45\x0f\xb3\x29\xb6\x4d\xaa\x30\xe7\xcb\x8a\xa3\xa8\x66\x74\x66\x93\x0b\xa9\xc3\x5c\xba\xa0\x43\x26\x77\x62\x9b\xf3\x0a\x18\x7e\xaa\x46\xad\x6e\x19\xd8\x78\x36\xf3\x51\xbb\x23\xff\xbc\xfb\xf6\xe8\xe0\xe8\x15\xc3\x64\xb2\xf6\x81\x02\x81\xd4\x52\xab\xef\x61\x6e\xa6\x75\x9c\xf2\xa9\xa7\xf4\x7a\xcc\x23\x5e\xe4\xd7\x8b\xe5\x3d\x26\x78\xa1\x15\x22\xbd\xce\xe6\xd4\xd5\xd7\x5e\x07\x18\x68\x04\x5b\xed\x36\xe7\x30\x5d\x0c\x51\xc6\xeb\xa2\xa6\xd9\x90\x1f\xb1\xa6\x41\xc5\x82\x85\xc9\xd7\x98\xed\x08\xfd\xd7\x8d\x9e\x93\xb7\x0b\xf7\xdc\xe9\xc1\xc9\x09\xd5\x1a\x4d\x78\x14\x07\x4b\x72\x1a\x5f\xa1\xe4\xe1\xb7\x84\x5b\xdb\x00\xa7\x85\x4f\xb5\xd1\x8e\x3d\x15\x95\x90\x6b\x50\xa7\xef\x40\x04\x68\xeb\xd1\xe1\x77\x7c\xbc\x44\xe9\xdd\xb0\x3d\x2a\xb3\x55\x6a\xb3\x34\xcc\x88\x29\xf6\x00\x8d\x4a\xb8\x30\xb8\x28\x26\x41\xd1\x02\xc2\x6f\xf1\x40\x25\x44\x9f\x61\xa4\xb2\x0a\x93\xbc\x1a\x39\x7c\x86\xb4\xf2\xd0\x30\x2b\x99\x50\x36\xab\x00\xbd\x97\x94\x52\x0b\x62\xa5\x66\xa0\x77\x8e\xe1\xf4\x0c\x50\x92\x63\xe0\x63\x96\x0c\x6b\x02\xa1\x0a\x0c\x7b\xb9\xb8\x26\xa4\x40\x03\x82\x8a\xd2\x9f\x95\x63\xee\x86\x36\x0f\xbb\x1d\x93\x2f\x3f\xff\x1c\x7f\xff\xdd\x17\x9f\x6f\x1b\x7c\x90\x61\xbf\x18\x24\x70\x91\x21\x28\x37\xd7\xa0\xdd\xa6\x80\x34\xae\xfc\xb1\x5a\x20\x2c\x3d\x6d\x0b\x04\x8e\x4f\xf6\x96\x65\x3b\x87\x2b\xa6\x2d\xe6\xd5\xfd\x16\x6c\xf0\xb4\x49\x2f\xd2\x1a\xae\x9d\x5d\xd8\x28\xdf\x17\xe5\xdd\x32\x9b\x5f\x5b\x00\xa8\x01\x2d\x93\xfd\xc3\x09\xed\x73\xf6\x44\x7a\x9d\xba\x68\xf9\x76\x9a\x38\xc8\xa3\x96\x93\x6b\x2b\x16\xa9\xb9\xd2\xbd\x3d\x69\x20\x5c\x56\x18\x93\x46\x2b\x42\xd7\x62\x9d\x09\xa0\x5c\xd8\x7a\xd7\x25\x56\xdb\x44\xa0\x48\xfd\x78\x7a\x8c\x62\x8a\x65\x41\xcb\x08\x97\x54\x91\x49\x7a\x07\xe7\x69\x1b\x6c\x47\xca\x0b\xa1\x85\x69\x79\x61\x32\xb6\xbd\x84\x6d\x71\x69\x02\xbb\x0f\x31\x07\x4c\x01\x5e\xb8\xad\x96\x69\x5e\xd7\xe6\x3e\xed\xf2\x6c\xb9\xf6\x14\xae\x59\xb6\xc4\xc2\x17\xbc\xa9\xd3\x04\xd7\x87\x7c\x1b\x84\x87\xc5\x52\xc9\x9b\xf2\x59\x72\xca\xe9\xf7\x58\xc6\x0a\xce\x27\x77\x54\x65\x38\x9f\x57\x75\x1f\x84\xab\xe3\x0d\xfe\xb7\x2c\x9c\xda\xc0\xc3\x9e\xb7\x93\x7b\x3c\x33\x74\xdd\x52\x28\x20\xc7\xc9\xd4\x9e\x29\x97\xc5\x26\x25\xab\x3b\x7f\x57\x2e\xd6\x27\x39\x62\xb6\x06\x78\xf8\x88\xf1\xd9\xc1\x78\x96\x41\x8a\x24\xe7\xed\x3e\xf1\xe9\xd9\xec\xd0\x74\x3c\xba\xa7\xc6\x1c\x25\x2c\x62\x93\x60\x84\xcf\xcd\xaa\xb1\x04\x6e\xd2\x79\x66\x60\x4f\xd3\xcb\xd0\x3c\x7e\x65\xc3\xeb\x1a\x17\xb6\x03\xc5\x4d\x49\x45\x8c\x60\x23\x96\xf7\xa6\x96\x41\x6f\x0d\x9c\xf4\x7e\x99\x9b\x01\xaf\x30\x13\x57\x98\x85\x1e\xa4\x42\x55\xe8\xe1\xa6\x32\xd1\xaa\x58\x2e\x43\x1e\x3d\x3c\xf9\x06\xbd\x79\x07\x5d\x07\x3b\xec\x8a\x28\x07\x3f\x0a\x37\x34\x4e\x0c\x32\x15\xb0\x8b\x4b\x58\xb7\xa2\x55\xb1\x78\x9e\x4a\xa4\x04\x0b\xe5\x07\x04\x8a\x48\x09\x07\xe5\x22\x94\x78\x9b\xe0\x81\xec\x4b\x8c\xfa\x93\x8b\x8c\x4e\x7f\xdf\x40\x48\x04\xc7\x25\x52\x22\x20\x40\xb0\xd0\xc4\x65\xcb\x81\x32\xb5\x28\x08\xbc\x7d\x0d\x88\x5f\x70\x29\x0a\xfa\xef\x34\x41\x50\x05\x44\x67\xfc\x6a\x80\xfa\x73\xe9\x23\xc5\xd4\x69\x51\xfb\xe1\xcf\x8a\xd7\x87\x30\xae\x7e\xae\xf8\x19\x12\x5e\x24\x99\x70\xda\xef\xa0\x5f\xfc\x8c\xb7\x03\x3e\x41\x84\x01\x58\x3d\x9f\xb8\xa0\xa1\xac\x18\x3e\xda\x2d\xc9\xa2\x6e\xfb\x56\xd9\xf6\x8c\xb3\x66\xf3\xdd\xf0\xf1\xd1\x34\xe5\x3d\x22\xde\xac\x27\x71\x73\x1c\x5c\x83\xc6\x29\xaa\xa3\xe0\x2d\xe9\x57\xbd\xa3\xef\x60\x9a\x5f\xd8\xf5\xc1\x04\x7d\x82\xfc\x31\x01\x15\x14\xa9\x3a\x90\x5e\x6e\xcb\x74\x09\x04\x31\x65\x98\xa0\xdf\x60\x3f\xa5\xd5\x3d\x61\x5a\x5c\xe2\x86\xed\xe0\xde\x5c\x26\x09\xdc\x62\xb5\x24\xa4\x93\x81\x44\xa2\x64\xe5\x1c\xa5\x00\xef\x60\x14\x04\xb7\x5f\x24\xe2\x75\x49\xfe\xc0\x9f\x61\xe2\x9a\x68\x54\xd1\x86\x5f\xd2\x97\x58\x05\x30\xc3\xc0\xb5\xb0\x34\x26\xe9\x0d\x34\x10\x76\x8e\xb8\x83\x66\xf4\xdf\xb3\x24\xf9\x73\xd6\xd5\x15\x43\x34\x1f\x23\x48\xe5\x73\x1b\x5c\x46\xc0\xa9\x2d\x87\xba\xcd\xcb\xbb\xc2\x7c\xd4\x89\x36\xd8\xa5\x94\xdf\x9c\xce\xe7\x14\xce\x06\x8b\xd4\x63\xe1\x22\xa3\x3a\x82\x5c\xbc\x69\x96\x1c\x17\x97\x43\x7d\xcd\xbd\xdf\x6e\xf2\x6b\xc4\x9c\x9b\x6f\x1b\x62\x76\xc3\xe3\x2a\xf2\x68\x10\xc9\x22\x7a\x51\x6d\x2c\x5d\x51\x24\xf2\x76\x23\x1b\xb6\xd7\x29\x9e\x5d\xd4\x20\xe4\x30\xd6\x83\x73\x6e\xf0\xe6\x65\xe3\xa1\x10\x12\x79\xe2\x84\xf3\xa8\xa7\xd5\xc3\xc4\x5f\x36\x54\x45\x09\x4f\xee\x5e\x88\x47\x58\xa1\xe2\x32\x5f\xa5\xbc\x2f\x3a\x30\x3d\xa9\x04\x82\x59\x0d\x04\x6d\xa0\xc4\x4c\xd1\x96\x62\x71\xca\xd5\xc7\x04\x94\x2a\xf8\x2d\xfc\xb7\xc9\xaf\xfc\x82\x9e\x37\x6e\xa7\x4a\x47\xa6\xc1\x97\x78\x17\xf1\x36\xa5\xdf\xb5\xc1\x93\x29\x85\xd6\xd6\xa3\x46\xc8\x01\xfd\x3f\x7f\x39\xb3\x2f\x3f\xde\xc5\xb0\x31\xf8\xb5\x27\x69\x21\xcb\xcc\x94\x98\x75\x19\xe7\xf8\x46\x14\x58\x5b\xa9\xa9\x1a\xd2\x93\xda\xce\xd7\x38\x8d\x1f\x3f\xdc\xe6\x4d\xd6\xaf\x11\xe6\x20\x51\xa0\x98\x36\xa3\x47\x38\xb1\x59\x82\x91\xcd\x57\x65\xec\x86\xc1\xfd\xcd\x97\xa5\x2b\x6b\x5d\xdc\x27\xa7\x08\x84\x79\xeb\x0f\x67\x66\x70\x53\x2a\x52\x35\xad\x50\xc1\x79\x8e\x28\xbb\x8c\x28\x8f\x68\x02\x3e\x66\x21\xe3\xa8\x62\xf4\x94\xf3\x49\xed\x7d\x53\x4b\xc5\x07\x5b\x8b\x50\xb7\x60\x00\x8b\x4d\x6e\x80\x85\x9e\x07\x10\x0e\x89\x01\x07\x67\x9e\xf2\xfe\x18\x5f\x95\xca\x0e\xe5\x81\xa5\xdd\xb2\xa5\xc8\xe6\xe4\xa1\x81\x3e\x6b\xea\x14\xf6\x87\xd3\x6b\x87\x5c\x5f\xab\x56\x10\x33\x21\x02\xc6\x85\x10\x1e\x5c\x5f\x5f\x4c\x68\x75\xd6\x9c\x63\x19\xca\xfa\xfc\xe2\xfe\xdc\x04\xa7\x68\xf1\x5d\xfd\xd1\x22\x7e\xc0\xcf\xf6\x29\x63\xed\x67\x64\x88\x28\xd8\xb7\xab\x11\x88\x73\xcb\x71\xf6\x58\xe3\x18\x39\x46\x43\xd3\x44\x8e\x24\xcc\xbe\x03\xe8\x4b\x9d\x22\xa1\x21\x60\x6b\x17\xc5\x5a\x61\x0a\x46\x56\xde\xd5\x89\x38\x4a\x93\xd7\x70\xc5\x6b\x26\xc5\xbe\x31\x25\x91\xc6\xf1\x9e\xdf\x94\x77\x59\x75\x82\x46\x21\xa5\xdf\xc0\x87\xe1\x0e\x61\x7b\x65\x58\x2e\x10\xde\x1d\xe5\x9c\x6a\x9c\xbc\x3c\x78\xbd\x4f\x27\x53\x0a\xa3\xd5\xcd\x1c\x74\x5d\x15\x61\xa0\xca\x2b\xd1\xb3\x2b\x38\x13\xd4\x53\xcf\x2a\x9c\x3c\xc3\x2e\x7f\x8b\xca\xa8\xa9\x43\x26\x7d\x46\x58\x32\x55\xa0\x6e\xd1\x80\x4b\xd7\x33\xbd\x0d\xc8\x7a\x3c\xc6\x4b\x38\xcf\xc5\xe8\xd4\x13\xd0\x63\xfe\x82\x75\x57\x2b\x60\xfe\x36\xeb\x5c\x9e\xe2\x23\x98\x10\xe7\xfc\x7a\xcb\x34\xfe\x11\x3a\x2a\x58\xd1\xca\x33\xb9\xba\xe6\xeb\xe0\xc6\x7f\x73\x78\xf6\xfa\xf4\xe0\xcd\xee\xdb\xd3\xcf\x5e\x1e\xbf\x3d\xdc\x79\xb1\x7b\xba\x9b\xec\x1d\x1f\x61\x99\xa0\xe4\x8f\x07\x2f\x5e\xec\x1f\x7d\xa7\x70\xf1\x0d\x7f\x76\x96\xbc\x38\x3e\x3a\xda\xdf\x3f\x49\x5e\xec\x27\xd8\xc7\xd9\xeb\xdd\x83\xb7\xfb\x9f\x71\xc7\xb0\xd4\x87\xbb\x27\x7f\x3a\xdb\xff\x4e\xa1\xff\xe6\xed\xc1\xbb\xdd\xd3\xfd\x84\x08\x8f\x10\x34\x84\xb0\x0d\xfe\x2f\xf7\xbc\x7f\xa2\xf5\x7d\xbd\x2c\x2f\x40\xea\x09\x3e\xe9\x77\xf6\x7d\xf9\x8d\xc9\x24\xa9\x67\xb3\xd9\x77\xc9\x37\xe6\xef\xe6\x43\x8d\xbe\x01\x3a\xe5\x7e\xb3\xae\xc7\x6c\xd0\xa5\xf9\xd4\x39\x79\x0a\x97\x2c\x06\x15\x92\x2c\xce\xb4\x86\x4d\xa9\x05\x6e\xa3\xd6\xad\xb9\x88\x53\xf5\x50\x37\xea\x99\x81\x36\x70\xd0\x35\x2b\xbf\x20\x9a\x68\x01\xef\x93\x8a\xa3\x4e\x28\x82\xaa\x27\x5e\x8f\xa6\x4f\x63\xf0\xd2\x65\x95\xd6\x0b\x75\x0c\x7e\x58\x2d\xc1\xd7\x96\x37\x17\xa8\xd0\x21\xd2\x72\x5a\x14\x8a\xcb\x02\x7b\xb6\x36\x33\x42\xf8\x52\x08\x08\x5c\xee\x4d\xfa\x1e\x5e\x33\x11\xc8\xb1\x71\x32\xda\x14\xaa\x2d\xd5\xdd\x35\x9a\xaa\x4f\xa1\x9e\x06\xb9\xf6\x0a\x2e\x3f\x7d\xfe\x3a\xb4\xd9\x40\x44\x27\x5a\x37\x2f\x17\x65\xab\x6d\x91\xae\x26\xcb\x04\x56\x05\xda\x49\xe9\x89\x5e\x46\xcf\xbb\x90\x4c\xa5\x43\xab\x75\xba\x9f\x86\x7b\x34\xd2\x58\xf3\xff\x07\x23\xc8\x94\x60\x80\x0b\x0c\xaf\xa2\xa7\x1c\x06\x73\xa9\xb3\x59\xc2\xf9\xc5\xc7\x66\x17\xaa\xa5\xc2\x71\x5d\xae\x5a\xa5\x93\xb6\xc8\xd9\xc2\x50\xc0\x0f\x9a\x1f\x2f\x7e\x2a\xe2\x7b\x9f\xda\x82\x3a\xa4\x8a\x93\x9b\x8b\xb1\xe3\x03\xca\x0e\xdc\xaa\xab\x48\x68\x98\xfb\x85\xd2\x05\x6a\x65\xda\xc6\x41\xc5\x96\x7e\x0e\xb7\xcd\xeb\xb8\x68\xbb\x58\x96\x3f\xa8\xbb\x16\x5a\x6b\x57\x34\xfc\x04\x87\x46\x6f\xa6\xed\x25\x6e\xa7\xed\x9e\x69\xe1\x51\x13\x02\xa0\x38\x7f\x4b\xe3\x81\x93\xbb\x62\x2d\x07\x89\x5f\x54\x15\x59\x70\x8e\xf9\x93\x6d\xae\x6c\x57\x24\xb0\xd7\xed\x1f\x23\x70\xe2\x5a\x4a\x99\x14\x3c\xb6\x59\x72\x06\x6c\x18\x5e\x66\x05\x05\xb6\x75\x58\xbf\xf8\x86\x29\xda\x99\x5b\xc1\xf5\xdb\xc2\x46\xf1\xfd\xf5\xf2\xca\x9a\xca\x88\xd1\x1d\x6e\xf8\x57\x7e\x6b\xfa\x0f\x40\xe9\xb3\xb6\xf4\xe2\x33\x19\x9c\x0f\x7f\xe8\x32\x1f\xfe\x24\x3d\x7c\x3e\x64\xd0\x81\xe9\x30\x9c\x4f\x98\x8f\x29\x13\x21\x84\xe2\xf3\xa0\x56\x7c\xb6\xdd\xa8\x3b\xfb\x4e\xdb\x8e\x6c\x2b\xd0\xce\xa0\xa0\x80\xeb\x7a\x10\x1a\x1d\xb4\xa6\x54\xce\x8a\xc2\x3b\xdf\x54\x68\x4b\x6c\xee\x4d\x98\x67\xbd\x70\xeb\x08\x60\x0d\xd9\x58\xcc\x86\x52\x85\x2a\xd4\x31\x2e\x19\x22\x0b\xb2\xa7\x50\xc2\x51\x9c\x4a\xb2\x0a\xab\xb7\x7a\xfa\xf4\xc7\x0f\x30\x42\xa6\x18\x6e\xcc\xf7\x76\xd2\xb4\x15\x97\xa9\xbe\xba\xa2\xab\xaa\x44\x67\x03\x5c\xca\x64\x4e\xb5\xe1\x03\x78\x59\xdc\x3b\xb9\xdf\x2f\x3a\xf1\xab\xde\xa5\x84\x96\x6c\x20\xe8\xa4\xde\xea\x16\x75\xed\xbc\x89\x88\x9e\xc1\x47\x28\xd0\x1b\xcf\x50\xb6\xae\x47\x5f\xa5\x1b\x1e\x17\x0c\x2b\x12\x31\x59\x70\x24\x8b\x3c\x12\x95\x2e\xaa\x8c\x8c\xac\xab\x34\xd7\xb6\x10\x1a\x43\x5b\x58\xb0\x12\x43\xc5\xef\xd5\x94\xbc\x61\x62\x1a\x88\x00\xfd\x74\x8f\xe6\xa1\xe1\x31\x5f\x83\x92\xd1\xb1\xeb\x4c\xdb\x26\x53\x89\x0a\xa8\xb7\x84\x35\xaf\xc1\x02\x9e\x15\x29\xb1\xfc\x00\x16\x1c\x8c\x7d\x81\x7d\x47\x63\x8e\xc2\x06\x74\xa0\x90\xa2\xb2\x25\xe1\x56\x56\x5b\xbf\x89\x21\x50\x4f\x6a\x1b\x55\xf8\x19\x80\x98\xf6\xb8\x85\x6b\xb6\x4a\x7f\xbc\x7b\xd2\x49\x0d\x3a\xcb\x01\x46\x7b\x61\x44\x3e\xac\x70\x5d\x16\x5c\xb9\xe1\x7d\xde\x78\x27\x64\x1b\x55\x82\xe6\xbc\xee\x2a\x40\xe3\x27\x5c\x10\x5a\x3d\xb7\x76\x34\x61\x7a\x70\x34\xf3\xab\x44\xa3\x87\x7a\x15\x1d\xdd\xba\x44\x45\x3a\x19\x12\x8d\x0e\x51\xd3\xd7\xba\xdf\xe3\xcd\xb5\x8b\xc6\x7e\xf0\x3f\xff\xa9\x5c\x35\x79\x41\xf1\x8a\xf0\x9c\x5a\x64\x15\x49\x62\x78\xe3\xc0\x15\x6e\xa2\x9d\xb5\x07\xc3\x22\xbb\x81\xaf\x16\x18\xd1\x46\x1b\x95\x70\xe5\x29\xf0\xd1\x40\x08\xdb\x78\xe9\x38\xe1\x5b\x1b\x33\x68\x6e\xa0\xbd\x97\xe7\x27\xa7\xbb\xaf\x0e\x8e\x5e\x9d\x4b\x15\x67\x23\x08\xd5\xb5\x93\x2b\xc3\xe1\xc2\xc4\xf6\xab\xd7\x51\x94\xca\x46\x1c\xbf\x3d\x3d\x7b\xf3\xf4\x1c\x2b\x54\x82\x1c\x2f\xd3\x8b\x4c\xbb\xaa\x97\x39\xfc\xb6\xd4\xb4\x81\x65\x8a\x81\xb4\xc6\xa1\xa8\x3e\x46\xc4\x5a\xeb\xb8\x83\x22\xdd\xb5\x2b\x7e\xe5\xa9\x5a\x11\x76\x87\x7e\xbc\x7e\x4a\x8e\xb2\x75\x05\xd3\x3c\x26\x70\xd4\xe1\x95\x58\xc8\x4d\x5b\x1a\x03\x37\xa2\xb5\x8e\x8a\x4a\x23\xde\x62\x4d\xb5\x19\xb0\xa2\x51\x19\x71\xfc\x7e\x57\xda\xc0\x0e\xbb\x48\x6b\xb8\x5a\x2c\x42\x41\xb8\x87\xda\xa9\x34\x5e\x5c\xaa\x2f\x6c\xe8\x4f\xe3\x81\xca\x16\x6b\xad\x1a\xde\xe7\x36\xc8\x5a\xec\x28\xa0\x8a\x45\x2e\xae\xc1\xf1\x90\x0a\x5c\x6c\x5c\xd1\xd6\x47\x47\x1d\x19\x47\x11\x89\xd4\x72\x9b\x50\x9b\x8d\x9e\x38\x91\xb7\x37\x3c\x19\xc2\x0d\x51\xe5\x62\xbf\xda\x5a\x37\x30\x35\xf3\x12\x6f\xcb\xe2\x0f\xb8\xd8\xe2\xca\xaf\x77\xf9\x3d\xaf\x8a\xa1\x58\x13\x37\xf6\x1b\x55\x3d\x65\xcc\x78\x63\x44\x6f\x09\xa5\x19\x0c\x56\x33\x21\xe1\x4f\x6a\x23\x6d\x86\xf8\xb7\x70\x33\xb8\x94\xb5\x56\xf8\x93\xd2\x88\xcb\xd9\xab\x0d\xe5\xe7\x70\x63\x4e\x56\xd0\x2c\xd2\x12\xdd\x5f\xab\x66\x69\xca\xf7\xd5\xc4\x04\x27\x03\x2b\x32\x02\xe3\xbd\xa5\x30\x89\x36\x53\xde\x27\x4a\x27\xe6\x70\xa2\x0e\xa5\x9d\x77\xa3\xf4\xc4\xce\x62\xaf\x27\x6d\x48\x7e\x57\xfa\xd8\x08\xbe\x7c\x8e\x21\x7c\x55\x7e\x41\x88\xda\x68\x3f\x3a\xa7\x19\xd9\x32\x55\x10\x34\xf1\x24\x8d\xfc\x36\xd4\x67\x6d\x2b\x20\x4c\x27\x6c\x75\xab\xe9\x74\x9d\x26\x1b\x93\xe5\x1b\x64\x3a\x4d\xf3\xfd\xc6\x04\x29\xb7\x6c\x3a\x3d\xf9\x7c\x1a\x39\x29\x91\x58\xa9\x8e\x90\x48\x3b\x75\x77\x47\x8a\x7f\x48\x80\xa5\x6e\xdf\x1d\x56\x17\x0c\x77\x34\x09\x17\x69\x3a\x0a\x92\xc1\xf3\x89\xde\xcc\xd1\xa6\xe3\xb8\x49\x1b\xa3\x24\x4d\x84\xd2\x99\x8c\x4f\x34\x08\xb7\x1a\x7b\xbc\x4c\xee\xf1\xfb\x4c\xd3\xca\x2e\x25\x01\x63\x52\x37\x23\x57\xd3\xd4\x7e\x76\xa2\x68\x52\xd3\xb1\xa3\x26\xea\x6d\x4a\x63\x32\xb0\xaa\xbe\x1a\x36\x8a\x2a\x4d\x73\x7d\xb1\x19\xa3\x40\x69\x17\xc9\x22\x8f\x41\x9f\x3b\xa0\x19\xea\x83\x96\x7f\xed\x80\x30\x94\x8b\x82\x7e\x54\x3b\xe1\xb6\xaa\xf5\xb5\xae\x17\xb6\x4c\x9d\x63\x4c\x42\xef\x48\xc4\xb8\x2a\x65\xfc\xb0\x11\x76\xe0\x1b\x8f\xea\xa8\xe9\x75\x84\x20\x3e\xc7\x79\xb4\x0f\x21\x6d\xb2\x7d\x64\xe2\xd6\xe2\x24\x6e\x56\xd6\xc9\x6f\x32\x6a\xa1\xf5\x80\x41\x3f\x60\xc0\x76\xca\xaf\xd4\x60\x82\x30\x5d\x3b\xcb\x2b\x15\x6d\x52\x23\xb5\xd9\x40\x1f\xb2\xac\x66\x8a\xd7\x1a\xe4\xda\x03\x7c\xc0\x42\x3e\x60\x6c\xf8\xd0\x74\x57\x71\x22\xd5\xce\xd0\xda\x5f\xcc\xe9\x64\x9d\x69\x5d\x9b\xea\x14\x8a\x4d\xcc\xeb\x8e\x09\xfc\x9a\x3c\xc3\x3a\x92\x53\xb4\x1e\xf2\x9f\x61\x55\xc8\xf4\x5a\x13\xd1\x63\xaf\x01\xbd\x59\xab\xde\x5f\xf8\xa3\xda\xb0\x44\x64\xf8\x8d\x7c\x61\xd2\x36\x49\x29\xb5\x06\x0b\xd7\xcd\x41\xb5\xbd\xd4\x1e\x82\xa6\xb3\x24\xe5\xd4\x04\x42\x5e\x95\x26\xaa\x1a\x88\xe8\x24\x9a\xcd\x1d\xde\x76\xca\x2c\x72\x0d\xb9\x0d\x0c\xee\x6e\xc3\x75\xad\xed\xb1\xda\x91\xe8\x87\xd0\xc2\x16\xf0\xa7\x60\xa3\xb6\xc0\xd4\xad\xc2\x14\x8e\x6a\xb4\xa1\xcc\xab\x32\xc7\x52\xc5\x05\xc2\xac\xb4\x8a\xce\x60\x2b\x14\x6a\xba\xe0\x32\x6a\xcf\x6b\x2b\xcd\xcc\x99\x8e\x15\xa0\x83\xa6\x6a\x98\x0d\xb7\xad\xe3\x8d\xb5\x23\xe9\xb6\xd6\x8e\x66\x5b\xc3\x51\xd3\x3a\xa8\xef\x8b\x26\x7d\xaf\x1e\x6b\x8c\xd5\xd5\x62\x5d\xc6\x80\x51\x3c\xac\xcc\xa8\x8d\x62\x2a\x80\xcd\x6d\x34\x59\xfd\x36\x96\xac\x7e\xaf\xaa\xb6\x65\xab\xb8\xdc\xfe\xce\x25\xcf\x24\x1c\xfc\xa7\x9f\x92\x67\x18\x74\x2d\x54\xc8\xf7\xd2\x95\x5a\x3a\x69\x30\xc9\xf1\xa7\x9f\xb4\xda\x97\xc3\xbe\xde\xf5\xcb\x37\xa9\x3d\xaa\xcc\xad\x56\xc6\x81\xf4\x1a\xf7\x2d\x42\xa3\x4d\x0d\x8d\x0b\x37\xa7\x50\xf7\xe4\x61\x61\x73\x88\x26\xf5\xd2\x20\xb5\xad\x72\x85\x3e\x0e\xd8\xf9\x72\xbc\xab\x18\x22\xd3\x9e\x81\x56\x5a\xaf\xcb\x3b\x4c\xce\x6e\xf3\x65\xc3\x09\x48\xaf\x4a\x6f\x6d\x5f\x95\xb6\x8a\x96\x3e\x87\xdd\x48\x25\x33\x90\x12\xd4\x30\x8b\x45\x32\xe4\xba\x32\x5d\xd0\xfd\xa0\x5f\x95\x45\x44\x00\x3b\xbe\x32\xc6\x52\xe8\xdf\x64\x08\x69\xd1\x2b\x6a\xa3\x8f\x1f\x9e\xd5\xbf\x55\x02\x48\xb0\x11\xc7\xa2\x19\xc8\xb1\x78\x68\xda\xf0\xfb\x78\xa4\x19\xc6\xd1\xe4\xf5\xf7\x67\x28\x7f\xe0\xe3\xf2\x2a\x91\xbf\x08\xac\xa0\x4e\xc6\x6d\x56\x33\xe0\x94\xdb\x4e\xa5\x06\x57\x85\x61\x2d\x12\xde\xd2\xfb\xd2\x5c\xca\x2a\xd0\x5a\x30\x40\xe2\xdb\xe2\xf4\xe0\xcd\xf3\xc4\x82\xb0\xbd\x34\x13\xef\x60\xa9\x19\x34\x34\x27\xbf\x99\x92\x95\x39\x93\xce\xc5\x43\x8b\xac\x6b\x88\xb4\x89\x2d\x72\x4a\x45\x6b\x3c\xf8\xe8\x69\x8d\x49\x2d\xed\x32\x9d\x50\xfd\x95\x9c\xb0\x1e\x90\xda\x68\x65\x71\xe3\x18\xfc\xb6\xf8\xb6\xa1\xff\xc7\x73\x62\x71\xfc\x38\x85\xc6\xe4\xda\x24\x77\x8b\x8c\xd3\xe9\xbe\xc5\x96\x6f\xda\x7a\x61\xf9\xfc\xf6\x5f\x48\x9b\xa7\xa2\x7a\x26\xbb\x0d\x4f\x65\xce\x0d\x58\x43\x42\x85\x84\x92\xd0\x25\x6e\xbf\xb6\xa5\xcc\x05\x78\x1a\xf3\xff\x29\xf6\xca\xac\x8a\xe5\xc4\x5f\x14\x44\xe5\x09\xe1\xf8\xd8\xb8\xd3\xda\xeb\x25\x0c\xb0\x87\x10\x8a\xcd\x42\x8a\x22\x5a\x9c\xbc\xf8\x42\xba\x53\x65\xd7\x90\x91\x4d\x70\xb6\xfa\x11\xad\x94\x1b\x67\xf3\x84\x6a\xca\x68\xa1\x1c\xe8\xb4\x0b\x83\x0f\xce\x25\x6a\xfc\x36\xe1\xb5\x2b\x8a\xc9\xa8\x09\x59\xd5\x90\xb2\xd6\x81\x07\x2d\xa5\x46\xa7\x4c\x63\x1f\xf2\x98\x27\xc3\xdd\x69\xa1\x79\xf5\x37\x5a\x0f\x30\x28\x34\x3a\x1f\x29\x68\x48\xa4\xdf\x37\x67\x11\x76\x88\x84\xd8\x21\x67\xed\x2c\x25\xa5\x9b\x03\x4f\x97\x94\x43\x38\xba\x63\x79\xaf\xb6\x0f\x02\x51\x74\xbb\x53\xce\xe4\xa6\xc8\x8a\x08\x06\xc9\x49\x5a\x28\x3a\x8b\xe5\x7d\x72\x57\x56\x30\x8b\x2d\x15\xee\xdf\x7b\x99\x38\xca\x08\xca\xc7\x43\xbc\xae\xdb\x1b\x7b\xb9\xcc\x18\xa4\x46\xc0\x17\xb9\x1a\x8a\x5b\x1a\x32\xb2\x51\x3b\xba\x45\x97\xc4\x55\x70\xfa\xfd\xdf\x5a\xd8\x81\x5b\x5c\x5d\xca\x56\xa0\xe4\xf2\x93\x2f\xc3\x6c\x30\x8c\xcc\x25\x67\xda\xc3\xbe\x1c\xf0\x31\x3e\x7c\xf1\x18\xd4\x81\x61\xbf\x15\x67\x82\xed\xef\xdf\x1e\x65\xe0\x44\x11\x0e\x0a\xbd\xd0\x42\xe3\x0c\xd1\xdd\x7c\xa4\x4b\x4e\x69\xb6\xc8\x9f\x9c\xf3\x16\x61\xb4\xd7\x00\x4e\x11\x47\x04\xaa\x24\x8c\xaa\x77\x48\xef\x3a\xa3\xf0\xad\x13\x5c\xa5\x76\xc2\x5a\xe3\x06\xb1\x57\xb8\x5d\xb2\x1b\x5f\x3d\x80\x3f\x8c\x6a\x07\x4e\x23\x51\x0e\x9c\x56\x11\x4a\x1d\xcf\x87\x13\x07\xdc\x6b\xa4\x8d\x54\x27\x0a\x52\x75\x79\x0a\xaf\x5b\x60\xd5\xfc\xd3\x68\x8c\x53\x52\x74\xe2\x5d\x4c\x48\xe0\x41\xa0\x62\x13\x60\x23\x9d\x44\x73\x4a\x02\xdf\x8f\x25\x92\x04\x9a\xe4\x04\x37\x77\x5d\xe9\x59\x56\x81\x46\xc6\x44\x34\x99\x4a\xdd\x5e\x62\x45\xbd\xf5\xc6\x02\x17\x60\x5b\xd7\xfa\x8b\xcf\x0f\x1e\xb6\xb5\xd2\x53\x2c\x09\xcf\xc8\x33\x14\x9a\xcc\xf1\x59\x3a\xe1\x5e\x37\x4e\x65\x73\x12\x28\x16\x72\x0e\xee\xbe\x8f\xff\xc5\xc0\x7b\x53\x82\x92\x27\x30\xf8\xb8\x8c\x4d\x65\x63\x72\xf0\xf6\xb0\xe9\x66\xe1\xd9\x06\xb5\xb4\x36\x52\x28\xea\xae\xd5\xbe\x56\xbb\x66\x17\xae\x11\xaf\x2c\x9a\x4e\xd1\xb8\x65\xfe\xd4\xbd\x89\xe3\xee\xde\x61\x67\xa6\x25\x3c\x37\x92\xa0\x33\xd8\x08\x35\x97\x9e\xca\xa9\xd1\xf8\xcd\xc0\x46\xfc\x78\xb1\x16\x2a\x09\x31\xed\x9a\x01\x8c\x98\x7a\x03\x2d\xd6\xb1\xfe\x46\x08\x26\xcf\xf0\xe5\xc6\xb9\x47\x51\x53\xcb\x34\xfa\xfd\xee\x22\xec\x34\x3d\xa9\x36\xb3\xef\xbe\xc0\x8b\xab\xac\xdc\x5f\xfc\x97\x07\xc5\x6f\x3b\x20\x2a\x6c\xb4\x8e\xa8\x24\x86\xb8\x19\x02\x50\x76\xd5\xcb\x10\xf9\x56\x21\x4f\xfa\xe7\xad\x0b\x0f\xc9\x56\x71\x01\xe3\xb4\xd1\x95\xba\x9e\xc2\xa5\x2e\xc5\x13\x91\x4a\xac\x5d\x5b\x2d\xb7\x41\xad\xa5\x0a\xf1\x62\xed\x83\xdf\xe8\xaf\x54\x4d\x95\x90\x15\x9e\x7f\xf6\x19\xa2\x1e\x9e\x63\x54\xd0\x0c\xae\x51\x7d\xc0\x4c\xa3\x73\x5a\x50\xa9\xd1\xce\xbe\x2a\x91\x7a\xb3\xe4\xa0\x98\x23\x9a\xe0\x8f\xca\x07\xdb\x49\x83\x55\x7b\x49\x67\x35\x1c\x10\x20\xe2\x39\xdc\x00\x57\x30\x54\x8c\x4e\xc8\x96\xc4\x8b\x3a\x5c\x51\x32\x50\xe1\x22\x6d\x1d\xde\x88\xac\x11\xc0\x1f\xdf\xbb\x01\xdc\x03\xa9\x10\x19\xdf\x03\x3a\x45\x46\xff\xe9\xbb\xff\x0d\x00\x00\xff\xff\x33\x1c\x4b\xe6\x7b\x3a\x03\x00") + +func cfI18nResourcesFrFrAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesFrFrAllJson, + "cf/i18n/resources/fr-fr.all.json", + ) +} + +func cfI18nResourcesFrFrAllJson() (*asset, error) { + bytes, err := cfI18nResourcesFrFrAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/fr-fr.all.json", size: 211579, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesItItAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\x5d\x73\x23\x49\x72\x20\xf8\x7e\xbf\x22\xb7\xf6\x64\xac\x96\x11\xac\xee\x9e\x91\x6c\x8d\x67\x67\x5a\x34\x89\x62\x61\x87\x24\x38\x00\x58\x52\x77\x57\x1b\x27\x09\x04\xc1\x9c\x4a\x64\x62\xf2\x03\xd5\xec\x51\x9b\xdd\xe3\xfe\x0c\x3d\xea\x5e\xf7\x4d\xcf\xfd\xc7\xce\x3f\x22\x22\x23\x3f\x22\x33\x12\x00\x59\x35\xba\x95\x6c\xba\x08\x20\xd3\xdd\xc3\x23\xc2\xc3\xc3\x3f\x7f\xfc\x3f\x3c\xef\xaf\xf0\x3f\xcf\x7b\x15\x2c\x5f\x9d\x7a\xaf\x3e\x44\x1f\xa2\xf9\xf8\xe6\xf4\x43\xf4\xea\x98\xbf\xcf\x12\x3f\x4a\x43\x3f\x0b\xe2\x48\x3d\x30\xbb\xbd\xb8\x18\x4d\xc7\x57\xa3\xeb\xf9\x04\x9f\x84\x07\x7f\x3d\x6e\x82\xf4\x7d\x9c\x27\xde\xff\x98\x4d\xae\xbd\x34\x4b\x82\x68\xe5\xa5\x4f\x51\xe6\xff\xec\x05\xa9\x17\x44\x5b\x3f\x0c\x96\x27\x9e\x77\x93\xc4\x1b\x91\x18\x3f\x65\x8f\x41\x7a\xea\x79\x8b\x07\x2f\x15\xd9\x20\xc9\xa3\x08\x5e\x1d\x88\x68\x1b\x24\x71\xb4\x16\x51\x36\xd8\xfa\x49\xe0\xdf\x87\x62\xb0\x4a\xe2\x7c\xe3\x1d\xfd\xf5\xc3\xab\xc8\x5f\x8b\x0f\xaf\x4e\x3f\xbc\x02\xb0\x39\xfc\x75\x5c\xff\xea\xd7\xa3\x96\x31\x5d\xfa\x5e\x1a\x00\x05\x69\x1a\x78\x4b\x11\x86\xbe\x24\xd9\x67\xfa\xa3\x38\xf2\x7e\xfb\x77\x8f\x68\xf6\x81\x68\xf3\xf1\x45\x9c\x24\x22\xcb\x7c\x7c\x00\xdf\x13\xab\x1c\x88\x14\xfd\x87\x10\x17\xf4\xc6\x89\x1c\x43\xf5\x3b\x18\xc4\xb3\xb2\x3b\xcd\xfc\xd5\xdf\x38\xbb\x5d\x87\xb0\x1f\xbb\xff\xde\x9b\x3f\x8a\x54\x00\xc6\x64\x1b\x2c\x84\xb7\x09\x61\x90\xde\xa3\xbf\x15\x9e\x1f\x79\x40\x69\xbc\x08\xfc\x4c\x2c\x81\xde\x34\x3b\xf1\xce\x12\x01\x0c\x80\x39\xf1\xf5\x1b\x41\x04\x94\x46\xf0\xc7\xa7\x20\x0c\xe1\xd3\x02\x66\x0f\x27\x83\xdf\xb0\x32\xef\xef\xbd\x3f\xe6\x22\xcd\x02\x6f\x13\xf8\x11\x70\x2f\x60\x80\xbf\x04\x31\x60\x8f\xa2\xd8\xcb\x23\x82\x10\x6b\x22\xe2\x13\x64\xe0\x02\x28\x80\x87\x22\x81\xaf\xe4\xd1\x51\x80\xd8\x7f\xf1\x91\xfd\x05\x84\x45\xbc\xde\xc4\x49\x26\x92\xdf\xfe\xcd\xfb\x0b\xa2\x89\x19\xd6\x89\x8d\x0d\xc3\xcd\x06\xa6\xce\x87\x57\x96\x2d\x32\x03\x9e\x0a\x83\x85\x44\xef\x6f\xb7\x40\x94\x6f\x17\x1c\x08\xf3\xaf\x7f\x3d\x81\x7f\xae\x61\x4d\xfd\xfa\xab\xf7\xc9\x4f\x15\x12\x2f\x4f\x91\x8b\x92\x4f\xeb\xb5\x1f\x2d\xbd\x3f\xc1\xc3\x67\xfc\xf7\xaf\xbf\xfe\xa9\x85\x8c\xcb\x23\xdf\x24\xa4\x84\x03\x56\x13\xa0\x80\x65\x25\xc9\xf3\xf2\x2c\x08\x83\x5f\x7e\x01\xa0\xb1\x17\x84\x88\x8c\xfe\xac\x21\xb3\x0c\xe2\x1a\xf8\xbf\x09\x3c\x11\x2d\x37\x31\x2c\x5d\x5c\x99\xf6\x39\xbd\x16\x69\x0a\xd3\xa6\x1f\xc6\x37\x03\x98\x09\xa4\xc8\xce\xfb\x69\x9c\x67\xc2\x83\x29\xba\x17\x30\xa1\x6b\x18\x1b\xf0\x07\xf8\x12\xc5\x99\x07\x8b\x29\x81\x85\x1f\x3e\x79\xf2\x7b\x78\x2c\x7b\x04\xe6\x33\x03\x10\xb5\x9d\x1c\x58\x2d\x49\x8c\x5b\x0c\x56\xca\x22\x0f\x60\x41\x47\x39\xec\xd1\x44\x78\xe1\x91\x5c\x54\xcc\x41\xb9\x4f\xfd\x2c\xcb\xfd\x10\x37\x9a\xd0\x8b\x0e\x18\x19\x86\x25\x7e\x5b\xc7\x81\x07\x8e\xe7\xdd\xc2\x66\x3a\x82\x2d\xbc\xf6\x93\x8f\x22\x83\xed\x04\x3b\x63\x90\x7a\xb3\xd1\xf4\xfd\xf8\x6c\x74\x84\x03\xd8\x06\xe2\x13\xac\xd7\x74\x91\x04\x1b\xa4\x36\xf5\xe2\x07\xd8\x38\xcb\x60\x1b\x2c\x81\x00\xb9\x07\xe1\x3b\xdf\x5b\x05\x5b\x11\xa9\xad\x66\x1f\x69\xe9\x28\xf3\xf4\x9c\x5b\x09\xf9\x61\x3c\x39\xf2\x50\x7e\x6e\x83\x14\x30\xe2\xb3\xc8\x15\x21\xa9\xc2\x71\xa2\x40\x0b\x50\x5c\xad\xe2\xd0\xd8\xa4\x30\xbd\x4b\x01\x1b\x6b\x1d\x44\x30\xa7\x7a\xc7\xb5\x33\x65\x08\x02\x6f\x15\xc1\x64\x84\x22\x05\x31\x91\x3d\x82\xe4\x82\xe5\xc7\x73\x0b\x0c\x4b\x60\xe1\xa2\xc8\x8b\x93\xd5\x00\x1f\x3a\xf2\x70\x3f\x34\x3f\x93\x6e\x60\x20\xfc\x94\x23\x3b\x60\x2a\xc5\x2a\xf2\xbd\xc0\x4b\x72\x1c\xcb\x02\x66\xbb\x0b\xbf\x70\xc0\xde\x36\x62\x5a\x05\x08\xe1\xed\xdc\x4f\x56\x22\xd3\x5b\x8d\x16\x40\x46\xdf\x79\x11\x2c\x03\x02\xe8\x38\x90\x62\x5a\x9b\x21\xd3\x81\xb8\x11\x8b\xe0\x01\xd6\x2a\xcc\x27\x6c\xf7\x28\x8f\xb7\x31\x22\x81\x39\x72\x23\xd8\x46\x28\xf0\x66\x27\x32\xed\xe4\xc1\xa9\x87\xe4\xf9\x08\x1a\x56\x17\xbc\x41\xfb\xab\x95\xcc\x5c\xee\xae\x30\x86\xb3\xd1\x1b\xf8\xde\xf0\x66\xec\x0d\x06\xe9\xc7\x60\x33\x48\xd3\x70\xc0\x47\x2d\x52\x76\x04\x60\xe9\x51\x14\x42\x2d\x4f\xe1\x22\xce\x37\x9b\x04\x44\x17\x8b\x63\x91\x24\x71\xd2\x7b\xa8\xae\x34\xb9\x90\x84\x8c\x12\x61\x80\x5b\x0c\xd8\x24\xcf\x2f\x22\xcb\xc2\x1c\xf8\xeb\xec\xed\xdd\xf5\xf0\x6a\x04\x8b\x7b\xf3\x34\x48\x41\x83\x82\xdd\x3e\x9b\xdc\x4e\xcf\x46\x83\xe1\xcd\x8d\x37\x1f\x4e\x2f\x46\x73\xfa\xf3\x47\x10\x02\xf2\xe3\xec\x66\x78\x36\x82\x2f\x62\xf5\xc5\x64\x7a\xf1\xd3\x4f\xf0\xc5\x20\x8a\x07\xc0\x11\x3c\xab\x7e\xb2\x1e\x44\x16\xac\x80\xe3\x72\x7c\x36\x04\x11\x73\x3d\x1a\x9c\x8f\x01\xe6\xf8\x62\x7c\x3d\xaa\x7d\x7f\x3e\x9a\xcd\xc7\xd7\xfc\x99\x88\x02\x6a\xe0\x43\xc3\x4f\xb1\x07\x74\x0d\xaf\xc7\x3f\xfc\xd0\xfc\x76\x13\xc9\x36\x3e\x4d\x48\xe2\x82\x4c\x7f\xf2\x36\x49\x0c\x02\x17\x44\xbd\x17\x82\x12\x81\xf2\x96\x4e\xe2\xc1\x92\x78\x8f\x87\x34\x68\x60\xb8\x28\xfc\x8c\x75\x1b\x38\x9f\x3e\x25\x41\x96\x81\x44\x96\xc7\xd0\xfb\xb3\xe1\xcd\x9d\x14\xed\x33\xcf\xd0\xd4\x3c\xa5\xa9\x79\x0f\xb0\x0c\xfd\xe8\xc9\xbb\x8f\x73\x90\x69\xc6\xb9\x95\xda\xc4\x39\x7c\xf5\x36\x4e\xa2\x20\x5d\x04\xde\x83\xbf\x88\x43\x38\x3d\x83\xad\xcf\xe7\x12\x1e\xaf\xa1\x88\x16\x31\x0a\x63\xa0\xcf\x93\xd4\x82\x8e\xe6\x2d\x7d\x90\xe7\x09\xc8\x6b\xe1\x2d\x80\xb8\x2d\x2c\x19\xd0\x7f\x50\xa0\x67\x40\x6f\x44\xfa\x29\xd3\x15\x84\xa4\x3e\xf9\xeb\xfb\x80\xa0\x96\xc7\x81\xeb\x2f\xcb\x61\x9c\x78\x22\x18\x47\x5f\x50\xe8\x83\x16\x79\xdf\xcc\x60\x79\x7c\x0d\xd4\xe6\x47\x09\xfc\x10\xac\xf2\x84\x86\xec\x6d\xfc\x04\x06\x07\x67\x0a\xea\xf7\x9e\xcf\xea\x32\x2b\xd0\xf1\xfd\x9f\xc5\x22\x83\xaf\x07\x61\x00\x27\xef\x87\xc8\x58\x73\xf9\x06\xf6\x0b\x00\x95\x6a\xe8\x60\xe1\xae\xd1\xa3\xea\x6e\x5b\x0b\x0f\xc8\x1b\x20\x30\xf3\x83\x88\x2e\x1f\x7b\x12\x7f\xe2\x11\x2e\xd0\xb2\xe1\x59\x38\xf9\xe4\xca\x31\xde\x63\x8c\xa0\x6d\xdf\xb3\xce\x7d\x9f\xc6\x21\x6a\x44\xb0\x70\x12\x81\xcb\x62\x5b\xbc\xca\xf4\x75\x31\xe2\x66\x38\x7f\x77\x37\x9f\xdc\xbd\x1d\x5f\x8e\xe4\x58\x47\x3f\xfb\xeb\x0d\xe0\x81\x55\x5e\x23\xf1\x94\x9e\xf8\x2b\xfd\x17\xfe\xef\xc3\xab\x45\x98\xa7\x40\xda\x5d\x14\x83\x3e\x00\xac\x2b\x7e\xe3\x9f\x61\x29\x67\xf8\xf5\x3f\x1c\x97\xbe\x5f\x8b\x75\x9c\x3c\xdd\xad\xef\xf1\xb7\x6f\xbe\xfe\xf6\xf7\xea\xd7\x5f\xe9\x8f\x5f\x77\x59\xef\x81\xe2\x54\x42\xea\x87\x66\x3e\x2b\x6e\x6a\x52\x82\xb2\xfa\x0f\x33\x01\xfb\x24\x5e\xc1\xd9\x05\x3c\xa3\x91\xd2\xa0\xf1\x17\xb8\x77\xc1\xd5\x00\xf5\x51\x97\xd5\xe4\x76\xb9\x92\x3c\x7e\x5b\x21\xfe\x18\x37\x3f\x8f\x0b\xc8\xd1\x0b\x4b\x44\xcf\x30\x32\xb9\xcc\xc6\x21\xee\x5e\x18\x63\x1a\xd3\x8b\x84\x14\x15\xb9\x02\xd7\x26\xff\xed\x7f\x79\x70\xda\x89\x84\xa4\x89\x7e\x1c\xf7\x36\xac\xbb\x18\xce\x28\xb9\xec\x70\xb9\x49\xc2\x3b\x57\xdc\x68\x7a\x36\x99\xce\x26\x77\xc3\xcb\xd2\xaa\x4b\xc5\x7a\x13\x90\xac\x6a\xa0\xf9\xc5\xd6\xdd\x67\x90\x55\xa7\x92\x03\x8a\x65\xf7\xa0\xdf\x6b\x86\xc1\x51\xc8\xdf\x4a\x91\x7b\x37\xbe\x9e\xcd\x87\xd7\x70\x16\xff\xff\x57\x8a\xb9\x33\x68\x5f\xe9\xb6\xc1\xdb\x0b\xdc\x48\xe0\x08\xc6\x05\xf3\xe1\x55\x22\xfc\xe5\x20\x8e\xc2\xa7\x0f\xaf\xbe\x44\x41\xd5\xba\x94\xae\x27\x57\xa3\x3b\x53\xb5\xf2\xc6\xc8\xa9\x1f\x86\x77\xe7\xa3\xcb\x3b\x75\xd9\xfb\xdf\xf2\xac\x55\x9e\xed\xc8\xd1\xc3\x08\x3d\x87\xe5\xf8\x05\xc8\x2f\x34\xbb\x19\x22\x5f\xee\x4b\xef\xe6\x72\x78\xfd\x37\x24\xc5\x0e\x2f\xc4\xf6\xe5\xd3\xff\x56\xd5\x76\x90\x80\x4d\x4c\xc6\x3d\x79\x33\x1e\x5e\x4f\xfe\xb3\x08\xc0\x67\x95\x7f\x87\xe1\xe8\xdf\xa6\xd6\x77\x83\x1b\x38\x7d\x8c\xf3\x70\x49\xfb\xdc\xfb\x25\xd8\x10\x53\x8e\x91\x3f\x49\xc8\x9b\xbb\xf8\x12\x2f\xf0\x5e\x18\x2f\xfc\x10\x46\x94\xc0\x26\x04\xb4\x27\xde\x4d\x9c\x06\x24\x75\x82\x14\x7e\xde\xd0\xa7\x2d\x7a\x43\x32\xb1\x12\xc9\x31\x5a\x0b\x53\x10\x65\x41\x0c\xb7\xef\xa7\x63\x32\x68\xc2\x93\x69\x4c\xd6\xff\x87\x24\x5e\x03\xc8\x4f\x22\xcd\x10\xdb\x63\xb0\x7a\x14\x76\x67\x49\x6d\x1d\x00\x9e\x62\xc2\x69\x49\x00\xb5\xc7\xf8\xe1\x76\x7a\x59\x4c\x32\x8d\x01\x1d\x29\x7e\x41\x38\x0f\x44\x90\x2b\x05\x89\xe6\xc5\xf9\xdb\xbf\xe3\x3b\x51\xbe\x16\x49\x4c\x43\x80\x7f\xe4\x90\xe2\x63\x65\xc2\x47\x83\x9d\x1c\xd0\x6f\xff\xe6\xc1\x28\xe0\xad\x38\x59\xa2\x21\x18\x10\xf8\x68\x5d\xd8\x04\xbf\xfd\x87\x77\x0f\x2b\x8f\xcc\xe6\xf2\xb3\x0f\x5b\xc8\x6e\x2f\x20\x69\xcc\x12\x7f\xc9\xb2\x75\x07\x25\x72\x9c\xa9\x09\x65\xcf\x15\xd9\xad\xd1\x78\x91\x24\xfe\x13\x5b\x9c\x0d\x21\x8a\xc7\x43\x8a\x27\x0c\x5b\xbb\xef\xd9\x13\x23\xbc\x24\x0f\x45\x9b\x55\xc6\x9c\x04\x12\x04\x40\xc5\x1e\xda\xc7\x39\xce\x23\x90\xcb\x6f\xb2\xa5\x3d\x96\x24\xeb\xad\x13\x30\xe1\xe8\x84\xa0\x79\x89\x62\xb2\xed\x30\xe5\xdb\x18\x3e\xc2\x30\x13\x81\x46\x9f\xe7\xe3\x31\x43\xa0\x25\x65\xb0\x99\x06\xb1\x17\xab\x19\x2e\x3d\xfe\x9d\x9f\x0a\x6f\x22\x55\x90\x94\x95\xbf\x78\x8d\xc6\xb6\x25\xed\x1d\xd4\x87\xe8\xcd\xf4\x2f\x39\x5a\x45\xef\x13\x7f\xf1\x11\xb7\x18\xfe\x68\xba\x29\x1f\x03\x20\x4f\xea\x32\xf8\x60\x22\xfe\x92\xc3\xe2\x5f\xa2\xa4\xcd\xe4\x28\x00\xb1\x14\x55\xef\xe9\x80\xfd\x73\x1a\xcb\x1d\x23\xf8\xec\x65\x19\xf5\xa3\x94\x28\x85\x3c\x02\x6d\x2d\x89\xb3\x18\x4e\x05\x56\xd5\xb2\xc5\x06\x8f\x90\xe2\xe7\x25\xba\x34\x23\x5a\x34\xfc\xc4\x37\x5f\x9f\x7c\xfb\xfb\xdf\x9f\x7c\x73\xf2\xcd\x7f\x2b\x3f\x89\xfe\x49\xa9\xf0\xfd\xee\x77\x5f\xff\xa3\xd4\xf5\x94\xf4\xfa\xe9\x25\x56\x21\xc1\x92\x27\x8a\x5a\x8a\x84\xfd\x30\xcb\xd1\xf3\x2e\x8f\x94\xfc\x07\x00\xf7\x38\xc3\x7c\x0e\x04\x70\x62\xaa\x29\x06\xaa\x63\x4f\xa0\x75\x52\x93\x82\x60\xe4\x60\xd0\x2e\x0f\x87\x6b\x00\x82\x33\x24\xd8\x70\xee\xe1\x61\x9b\x06\x1e\xac\x83\x25\x3c\x81\xce\x3c\x85\x05\xce\xdb\x30\x28\x39\x8c\xbd\xfa\x91\x44\x58\x68\xc6\xcd\xf3\xe8\xb3\xce\xb5\x6d\xdf\xbe\x47\x47\x21\xf0\x3a\xfe\x44\xa6\xe4\xbf\xe4\x71\xe6\x2b\x07\x9a\x3a\xb9\xf9\x4b\x9b\x2f\x8c\x80\x28\x17\x1f\x3d\x0b\xf3\xbc\x46\xa6\x0b\xf6\x83\x55\xc1\x34\x93\xe2\x2f\x51\x72\x00\x6e\x2b\x1e\x7f\xb5\x0a\xe0\x9c\x26\xd7\xbb\xf0\x6c\x70\x96\xb1\x60\xbf\xae\xf8\x19\x4d\xee\x3e\x1e\x9d\x89\xd8\xc4\x36\xa8\xe8\x98\x85\xb9\x06\xf5\x80\xe1\xe2\xb3\x70\x2a\xc1\x39\x66\x41\x80\xd6\x76\x1b\x30\x34\x6b\x5b\x5e\xc3\x33\x3c\xc4\x7b\xd7\x93\x72\xd0\xdb\x80\xc0\x99\xb7\x0a\xe0\xf8\x63\xf7\xba\xc5\xa7\x56\x86\x17\xa3\xe3\xba\x13\x5e\x42\xce\x8b\x36\x88\xb0\x82\xb3\xa7\x16\x38\x5b\x98\xc2\x96\xd7\x91\xed\xfe\xd6\x0f\x42\x5a\x4b\x20\x0d\x91\x99\xf6\x09\x95\x3e\xf1\x65\x90\x6e\xe2\x28\x20\x8f\x01\xee\xd1\x62\x06\xac\x93\x2c\x71\xc1\x78\xe0\x4d\x50\x0f\x56\xa0\x2c\x85\x02\x77\xff\xda\xff\x08\x02\x3c\x47\xd7\x64\xc6\x7a\x13\x5f\x70\x36\x61\xbe\x92\x04\x59\x8f\x5f\xa4\x27\x21\x62\x96\x20\x5a\xd0\xa3\xbc\xa0\x7b\x1f\xc9\x9f\x34\x20\xa9\x66\x10\x07\x1b\x1d\xa1\x0e\x02\xb5\xcd\x6d\xa7\x23\x92\xfa\x80\xbe\x99\x36\xc4\x19\x1c\x9e\xf6\xb9\x49\x40\x13\xdd\x6a\xad\x4e\xfa\x92\x34\x2d\x81\x48\x6d\xa0\x93\x60\x1d\xa3\xf8\x43\xe5\xe9\xa8\x70\xeb\x74\xad\xf2\x0f\xaf\x6e\x88\x61\x20\x52\xd4\x49\xa7\x47\xa1\x8e\x39\xc9\x7d\xa0\x6a\xe9\xa3\xfa\xd5\x4c\xc1\x44\x0a\x4e\x13\xa2\x31\x5e\x98\xf1\x00\xdf\x47\x92\x40\xd6\x65\x39\x28\x84\x16\x3e\x1e\xe9\x25\x86\xe2\x1f\x77\x6c\x42\x41\x43\xe4\xfd\x3d\xf1\x66\x82\xfd\xb6\x8f\x22\xdc\xd8\x96\xdc\x91\x5a\x73\x14\xf9\xc3\x61\x2a\x0c\x8b\xcc\xf5\xde\x7b\x01\xbc\x29\x80\x34\x93\xf1\xd7\xbf\x9e\xbc\x87\x9b\x3c\x80\x9c\x3d\x82\xd4\x45\xbf\xb3\x8a\x25\x90\xdf\x5f\xc6\xd1\x8a\xbe\x86\x65\xe8\x87\x78\x48\x2e\x16\x62\x03\x5b\xde\xc6\xa4\x19\x9e\x47\xf8\x50\x46\x5e\x36\x3f\xc2\x15\xd7\x84\x48\x34\xa0\xb1\xb0\xeb\x2b\x2d\x1f\x48\x12\x5a\xb5\xce\xaf\x94\xf8\x43\x21\x61\x81\xf5\xf7\x7f\x3f\x44\x9f\x24\xbe\x72\xea\xc9\x79\xa4\xd1\xdd\xa3\x03\x39\xc0\x90\x0b\xe9\xb5\xbc\x7f\x02\xad\x9e\x1e\x25\x43\x0b\xc8\xeb\x04\xaf\x5e\x20\xd9\xf3\x0c\x06\x01\x0a\xd9\x18\x83\xb9\xc2\x90\x78\x86\xbe\xf6\x8d\x02\x97\x79\x4f\x18\x96\x17\x7f\xa2\x5d\xf8\xf1\xe4\xef\xff\x1e\x4f\xd6\xf3\x18\xbf\xf6\x3e\xf9\x11\xdd\x63\x02\xf9\x36\x59\x55\x78\x4f\x03\x43\x98\xa4\x5f\x7f\xfd\x27\xef\xf5\x13\x6a\x99\xd1\x57\x96\xc1\xca\x81\xd0\x95\xe4\xd4\x2b\x36\x70\x8a\x13\xc0\x83\x91\xde\x4c\x5c\x95\x48\x74\x8c\xf7\xdf\x98\xde\x51\x81\x3b\xb8\x86\x7c\x04\xb3\x44\xa1\x15\xc0\x45\xe7\x48\x92\x25\x2f\xe2\xa8\x30\x48\xbf\x7d\xcc\x57\x69\x89\x06\x23\x80\xbc\x2c\x8f\x51\x55\xc6\x7b\x0e\x0e\x14\xd4\xc9\x58\x8e\xf5\x7d\x1e\x07\x6a\x84\x32\xba\x42\xbd\x59\x1b\x24\x8e\xb1\x71\xae\x86\x3a\xda\x0b\x8d\x6c\xc0\xb3\x38\x64\xc6\xc1\x7e\xf1\x17\x19\x9f\xed\x67\x61\x9c\x2f\xbd\xb7\xb8\x9d\x13\x9b\xc0\xbf\x05\x96\xc0\xc6\xc8\x71\xd0\x48\xe9\x8a\xa3\x9c\xe4\xb6\xc1\xa3\x8e\x61\xae\x40\xf7\xa5\x93\xbe\x0c\xb4\x99\xb8\xf3\xf3\x37\xd3\xd1\xd5\xe4\x3d\xda\xab\x6e\x2f\xc6\xd7\x16\xdc\xc3\x8b\x8b\xf1\xed\xf5\xc5\xf8\xcd\x74\x7c\x75\x3b\x79\x3f\x56\x4f\xbb\x01\xf5\xa6\xa3\x9b\xc9\x6c\x3c\x9f\x4c\xbf\x77\x85\x5f\xbc\xd1\x81\xea\x3d\x9a\xd5\xce\x6d\x60\xdf\xa3\x11\x63\x3e\xb2\xbc\x7c\x39\x1e\xce\x6c\x6f\xd2\x6f\xcd\xaf\xdd\x8c\x75\xbc\x9b\xe5\xed\x91\x0a\x87\x83\x67\xbb\x81\x78\xaf\xc5\x09\x9c\x98\x8f\x59\xb6\x49\x4f\xdf\xbc\xf1\x37\xc1\x89\xbc\x94\x9c\xc0\xec\xda\xb6\x8e\x89\xc3\x7b\xed\x2f\x41\x6c\x90\xc2\x7b\x6c\x07\xd4\x49\xc9\xa9\x03\xae\x53\x07\x30\x14\xa0\x78\x33\x56\xaf\xfd\x6a\x33\x2e\x96\xe0\xd6\x5f\xda\x01\x91\xf7\x1a\x7f\xdf\xb2\x40\x56\x3f\x4b\xf9\xfc\xeb\xaf\x2e\xbc\x6c\x82\x29\xe1\x09\xf3\x77\x03\xa8\x1b\x9d\xfd\xb9\xd1\xcd\x8a\x1b\xeb\xfa\x2d\xbc\x19\xd6\x15\x78\xa3\xcd\xd2\x36\x28\x6c\x05\x2c\xfb\x46\xec\xd0\xf0\x56\x61\x01\x54\xf3\xb0\x58\xa0\xc0\x91\x9b\xa6\xa4\xd2\x1b\x11\x91\x70\x01\xcc\x40\xf5\x03\x11\xec\xdd\x27\xf1\x47\x61\x0b\xd5\xe2\xb7\xe1\xe0\x2e\x05\x2f\xc6\xda\x0e\x1b\xab\xd7\xbb\x70\x2b\x9b\x28\xba\x2e\x6a\x24\xa8\x1f\xe3\x87\x07\x81\x81\xdf\x5d\xc4\x84\x1e\x5a\x9b\xcb\x26\x60\x22\xcc\x2f\x42\xe3\x18\x18\x87\xad\xca\x87\x6c\x44\xa2\x69\x03\x4d\x2a\x32\x34\x1f\x1e\x07\xa5\x38\xc8\x9e\x3c\x8a\x0f\x4f\xe9\xc6\x06\x4b\x07\x4e\xf2\x24\xa2\xf8\x60\x9b\xee\x45\xa0\x94\x35\x10\x0f\xc5\x55\x92\x6f\x36\x1c\x96\x8d\x8a\xb6\xc0\xeb\x63\x80\x97\x31\xc0\xc0\x4f\xf1\x45\xaf\x02\xbd\x83\x4e\x19\xd3\x5e\xa1\x13\xc9\x2c\xc1\x71\x23\x32\x64\x22\xe3\x1a\x91\x0f\x78\xd7\xc0\x0b\x00\x28\xd2\xbe\xb2\xbf\x13\xb9\x65\x2c\xcd\xc4\x2e\x41\x1d\xa2\x88\x47\xe3\x56\x22\xb5\x71\x0b\x59\x74\xf5\x5d\x05\x6c\x42\xc5\x78\xcb\xc6\x7b\x48\x1b\x3a\xb4\x3a\x27\x2a\x0c\x1a\x8d\x72\x9b\x4d\x37\x32\x15\xdd\xac\x6c\xbe\xa5\x28\x65\x2b\x36\x5a\x2e\x84\x0a\x98\x01\xaf\x82\x44\x43\x9c\xd5\x58\x75\x18\x78\x9c\xac\xf0\xbb\x49\xb2\x92\xdf\xbd\xe1\x68\x55\xfc\x72\x86\x7f\xc8\xaf\x79\xf6\x6e\x35\x5f\x4f\x4e\x6c\xda\x2c\x13\x9f\xf9\x32\x57\x82\xc9\xd7\x64\x54\x03\xad\xcb\x04\x61\xf8\xda\x51\x39\x52\xb4\x81\x3a\xdc\x4f\x15\xf2\xd4\xc4\x17\x04\xe2\xe0\xc8\x3e\x86\x94\x36\xf3\x29\x0c\x60\x54\xe5\x18\x79\x75\xb3\x92\xcb\xe2\x5e\x20\x27\xa5\x3e\xc8\x01\xeb\xb0\x6c\xd8\x7c\x7a\xf6\x56\xa9\x79\x6f\x7c\x84\x74\xe2\x79\x53\x41\xf2\x03\x01\x54\xc0\x2a\x85\xb0\x03\x3c\xce\xc7\x12\x03\xf3\x62\x38\x48\xf8\x0a\xcf\xd6\x55\xd2\x47\xc9\x13\x21\x95\x76\x1b\xf7\x2f\x8f\xfc\xa6\x61\xe1\xad\x5e\x29\xb2\x14\x36\x48\xd6\x39\x0d\x38\x2e\xdf\xc8\x78\x40\x38\x42\x1a\x2b\x9a\xd8\xa6\xc1\x52\x80\x54\x0b\x30\xc4\xda\x96\x60\x50\xc2\xb2\xf4\x4b\x7a\x74\xe4\xad\xe3\x25\x5e\x82\x51\x4f\x25\x6b\x5f\x12\xa1\x92\x6e\x57\xdb\x7b\xcd\x1a\xce\x4b\x69\x36\x10\xa3\xe4\xf2\x91\xd6\xdc\x79\xb1\x1c\xc1\x70\xbe\x87\x0b\xcd\x82\x8c\xdc\x59\x82\x77\x24\x49\x06\x4e\x87\xed\x2d\xe2\x3c\x4c\x5e\x64\xdc\x80\x00\xaf\x7c\xdc\x9c\xba\x20\xda\xc2\xa1\xd3\xb2\x0c\x80\x80\x77\xf1\x27\xb1\x45\x17\x12\x5e\xad\xa4\xbd\xfd\x21\x48\x52\xb8\xe1\xe7\x7c\x6d\x03\x60\x98\xf5\x42\x38\xd1\x3b\x83\x37\x07\x38\x99\x4a\xb4\xe2\x4f\x74\xb7\xc4\x0f\x75\x8a\x99\xb6\x9e\x4b\xa5\x69\x25\x98\x13\xdb\xc4\xce\x1b\xbc\x36\xa1\xf3\x81\xee\xdb\x68\x4f\x6a\xbe\x43\xd5\x49\x44\x83\x27\x66\x45\x78\xa5\xe5\x22\xc3\xa1\xd5\x6b\x78\xd3\x49\x02\xb8\xa6\xf9\x6b\x09\xb0\x79\x01\xa2\xaf\x21\x07\x71\xb3\x0d\xfc\x63\xb4\x31\x23\x4d\xc1\x9a\x56\x06\x1c\x13\xc8\x51\x0a\x75\x85\xb5\x1f\xe3\xd2\x03\x9e\x92\xd9\x9a\xe4\x94\x41\x73\x71\xf6\xb4\xd0\x4d\x37\xf6\xc8\x1a\x24\x3b\x0c\x8d\x14\x0f\x72\x69\x48\x25\x82\x2d\x12\x6c\x16\xf0\x49\x63\x08\x74\x04\x31\xbc\x03\xc2\xcf\x66\x49\xc2\xa1\x05\x9e\xd6\x74\x4c\xed\x82\x2e\xcf\x6c\x62\x94\x20\x03\xcc\xe7\x30\x43\x7c\x4b\x52\xd5\xa6\x6b\xec\x40\x34\x6d\x02\x7b\xde\xc0\x4e\x44\xd3\xf4\xbb\xa5\x0c\x38\x91\x0c\x52\xeb\xf0\x9c\x2e\x80\x3e\x1f\xaf\x6b\x84\x1f\x82\xdb\x75\xc2\xfb\xf1\x3b\xfe\xe4\xcd\x66\xef\xe4\xa4\x49\xaa\x44\x6b\x8e\xcb\x99\x14\xf9\xf2\x9d\x98\xde\x47\xc4\x61\x7b\xda\xca\x30\xe4\x88\x08\x41\x16\x39\x9d\x1e\x46\x9a\x8d\x6d\xee\x46\x9c\x53\x21\x2d\x78\x7a\x4a\x50\x0d\x29\x12\xbe\x6c\x83\x63\x7d\x68\x9d\x83\x18\xbe\x17\x32\x31\x46\x60\x00\x01\x8c\x52\x7d\x96\x89\x91\x2d\xc3\xfd\xed\x7f\x82\xc0\xc4\x81\xfa\x68\x60\x32\xb3\x61\x40\x7f\xab\x68\x37\x4b\x9c\x26\x72\x31\xf1\x67\x16\x58\xa8\xec\x96\x5e\xeb\xe0\x13\x28\x76\x36\x6d\xcc\xd4\xb5\xec\x6f\xeb\xfc\x4e\xca\x33\xb0\x1d\x18\x94\x31\xe1\x71\x32\x66\x29\x69\xc0\xc6\x4f\x80\x4c\x1a\x51\xc0\x3e\x20\xe9\xa4\x7d\x08\x44\x68\xb3\xc4\x5f\xa3\x22\x57\x52\x10\xe5\x79\xe4\xaf\xe1\x12\x10\xdf\xdf\x87\xc1\xca\x47\x93\x60\x0b\x2b\x4a\x2a\x65\xd9\x1b\xd5\x72\x16\xda\x95\x52\xed\x9f\xb2\xc9\xfa\x9a\x5e\x8d\xc3\xfd\x14\x27\x1f\x29\x46\xe4\x63\x00\x47\x8e\x56\xc8\x29\x08\x07\xb1\xf6\x27\x84\x39\x11\xfa\xdb\x38\x89\x8f\x31\x50\xc3\x48\x93\x35\x74\x6d\x99\x12\x12\xac\x22\x8c\xab\xf2\x7b\xd0\x2c\xa5\x0e\x67\xb1\x64\xac\x64\xb3\x54\xe2\x87\x76\xe1\x9e\xf6\x7d\x15\xb9\x96\x0d\x70\x6d\x34\xc2\xa1\x4d\xd6\x2e\x5c\x3b\x18\x47\xb3\x0c\x7c\x18\x16\xec\x97\x45\xca\xa1\x0b\x61\xbc\x22\x67\x6f\xd7\x4d\xaa\x78\x51\x5f\x4c\x50\xa1\x20\xb9\x87\x08\x38\x44\xeb\x41\xe6\xcc\x00\x54\x2b\x49\x2a\xb5\xc7\x7b\x14\x7e\x88\x51\x16\x8f\x62\xf1\xd1\xcb\x9e\x36\x42\x5a\xf5\x8e\xd0\x13\xcc\x99\x69\xb0\x74\xc4\x91\xcd\x04\x35\x0f\xf8\x5a\x0b\xf3\xc5\x26\x01\x0a\x2b\xe2\xc0\x1b\x24\xb1\xcc\x54\xb6\xf7\x15\xd0\x35\xf0\x4e\x3a\xf5\xde\x06\x3d\x4b\xfc\x6c\xb3\xfb\x80\x0e\xb6\x50\x7b\xdb\x77\xdb\xdb\xa9\xcd\x78\x68\x08\x9d\xc0\x66\x3c\xe4\x6c\x51\x76\x57\xfb\xf2\x46\x6c\x3f\xd8\x86\x32\xbd\x13\x2f\xc4\xfc\x86\x5f\x17\xa6\x1d\x98\xf8\x5e\xcb\x6f\x2f\xc5\x43\x10\x71\x68\x17\x2d\xa3\x36\x71\x6e\xe2\xe6\xf7\xb4\xe8\x56\xc0\x42\x7d\x90\x11\x5d\x1d\xd2\xba\x4c\x10\xe6\x99\x32\x11\x68\xb5\xe8\xa4\x81\xf2\x5b\x4b\xd8\xbc\x9c\x14\xd1\x76\x64\x7c\xb2\xed\x86\xab\x72\x64\x39\xe2\x04\x41\xff\x1e\xe3\x7f\x2d\x58\xde\x53\x1c\xa6\xca\xdb\xb5\xb9\x5d\x19\x14\x4b\xcf\x90\x24\xcb\x14\xfe\x65\x73\x06\x0e\xc1\xab\x25\xf0\x16\x36\x0d\x4e\x9d\x9d\x24\x2b\xf8\xb6\xc5\x5c\xc1\x04\x14\x3a\x3f\x8f\xb9\xc0\x84\x16\x0b\x1e\x6d\x1d\x99\xc5\x5e\x61\x62\x76\xb0\x43\x38\x8c\x91\x21\xb6\x0e\xd1\x30\xdc\xf0\xd7\x64\x1f\xd1\xa6\x9b\x12\xe1\x07\x63\x47\x89\x2e\x07\x6e\x98\xf6\x9b\x32\x95\xca\x82\x53\x9b\xcd\x17\x61\xde\x97\xc4\xa3\xbd\x39\x51\x31\xbc\x02\x28\xf5\xcd\x1d\x7d\xc3\xdc\xd1\xab\x25\x95\x33\x50\x70\x46\xd2\x47\x03\xd6\xcc\xc9\x5d\x6c\x7f\x55\xce\x34\x19\x6f\x9b\xe8\xf1\x0d\x09\x6a\x90\x64\xe1\x56\x85\xbe\xba\xd5\xb7\x17\xb7\x8c\x63\x01\x80\xfc\x11\xff\x90\xba\x8b\xc9\xa5\x1d\x8d\xa1\x15\x86\x84\xea\xf8\x22\x0d\x5f\x0d\xd7\xc4\x59\xe1\xc4\xde\x46\x4e\xb8\xf6\xac\x37\x74\x69\x41\x53\x47\xfc\x29\x0a\x63\xd0\x24\xc8\xd1\xfe\xc4\xfa\x0e\x45\xb4\x70\xa0\x9f\xc8\x30\x0a\x0c\xd3\xe4\xed\x43\x9a\xc3\x9a\xe4\x20\x43\x1c\x03\xdc\x4f\x74\x1d\x02\x82\xc6\x2e\x7c\x19\xee\x82\x96\x9d\x84\x7c\xf0\x63\x05\xbf\x27\xc5\xeb\x60\x95\xf8\xbc\x8f\xa4\xca\x38\x96\xea\xcc\x79\x51\x5b\xa3\x6d\x06\x4a\xe4\x12\xb4\xa4\x13\x9a\x1b\x91\x32\x18\x83\xe2\x6e\xe1\x22\x4f\xb6\xa8\x1b\xf8\x83\x67\xeb\x4f\x78\xaf\x57\x77\xfa\x3f\x55\x35\xde\x3f\xa9\x48\x9a\x87\x44\xa8\xd0\x5b\xad\xa7\xfd\xa9\x4e\x9e\x7a\xcb\x28\xbf\xe3\xcb\x6a\x3d\xde\x19\xe6\xce\x2c\x64\xec\x86\xbf\x84\xdb\xaf\x8c\xa6\x49\xbc\xe0\x81\xec\x8b\xd9\x63\x10\x7d\x64\xdb\x01\xd5\x57\xe2\x3a\x03\xd6\x35\x6b\xc6\x67\x84\x64\x4b\x88\x6b\x83\x2b\xd9\x16\x1a\x86\x27\xa3\x7c\x70\xf2\xf2\x80\x82\x34\x2f\x75\x15\x9f\x96\xf1\x99\x35\x7d\x54\x6d\x20\x35\x44\xbc\xdb\x80\x52\xbc\x36\x06\x88\x56\x13\x0f\x2e\x09\x29\x47\x88\x49\xb3\xa1\x0c\x14\xe3\x62\x0a\xb6\x09\xcc\xd1\x94\x8b\xd7\x01\xcc\xb7\xc7\x83\x02\x28\x1e\xa8\x10\x8d\x60\x2b\x42\xab\x27\x88\x24\x3b\xea\xeb\x52\xc4\xb3\x6d\xdb\x0f\x49\x71\x8f\x48\xe1\x46\x28\x19\x66\x94\x74\x22\xc7\xc8\x39\xbb\xf4\x50\xa8\x58\x7e\x74\xaf\x4a\x03\x2e\x5e\x50\x40\x4e\x89\x9f\x37\x78\xe7\x46\x1b\x2d\x87\xe7\xe1\x85\xe9\xde\x87\x1b\x4b\x40\xaa\x6f\x22\x06\xbe\xc1\x8a\x13\x55\x54\x8d\x6a\x85\xfc\xc9\x2c\x78\xf1\x21\xff\xfa\xeb\xdf\x2d\x94\x7f\x9b\x3e\x09\x6f\x90\xcb\xef\x91\x85\xea\xbb\x58\x7e\x07\x62\x5a\x7d\x95\xca\xaf\x48\x9c\xf2\x97\x7f\x42\xf4\x26\x35\x68\xeb\xae\x92\x63\xbf\x70\x96\x59\x83\x15\x91\x16\xfe\x32\xcf\xb0\x02\x17\x3a\x62\x97\xe4\xd6\x64\x4f\x1d\x9b\x8f\x05\x56\xdf\x0a\xb8\x2e\x50\xe9\xe5\x93\x5a\x9d\xb8\xa2\xe4\xc7\x33\x73\x80\x29\x43\xab\x18\xd9\xa6\x05\x85\x74\x30\x95\x9a\xfa\x1a\xb9\xf6\xb9\x8f\x13\x79\x28\xd2\xd6\x04\xd8\xcb\x60\x29\xc3\x34\x39\x37\x84\x43\x8f\x90\x61\x59\xb0\x46\x77\xe9\xd2\xa6\x9e\x8f\xc3\x02\x86\x0c\xc2\xd2\x27\xb0\xdc\xdb\x14\xc9\x0a\xa0\x95\x90\xf7\x29\x30\x38\xe2\x7d\x4b\xb7\xc9\x75\x1c\xc5\x79\x6a\x51\xed\xbf\x1b\x5f\x5e\x8e\xaf\x2f\xbc\xab\xe1\xf5\x10\x58\x6f\xa1\xe3\x62\x34\x9b\x4f\xa6\x23\xef\xed\x70\x3e\xbf\x9d\xb6\x45\x12\x7c\x77\x3b\xbe\x3c\xbf\x19\x9e\xfd\xc1\x16\xda\x00\xbf\x9d\xbd\x1b\xcd\xe7\x63\xef\x7c\xec\xd1\xd3\x1d\x80\x3a\xc3\x1b\x14\xc4\xc9\xdd\xf9\xf8\xae\x0d\x62\x80\xf9\x0b\x55\xbd\xac\xf3\xe2\x39\xa2\xb5\x80\x32\x18\x73\x57\x65\x61\xa6\x26\x8d\xaa\xfb\xce\x69\xa5\x00\x4d\xb7\x2a\x9a\xb5\x1a\x58\x20\xab\x75\xa5\x68\xb2\xc3\xc4\x11\x19\x7f\x60\x96\x37\xd9\x9b\xf2\x52\x4c\x6c\x53\x3c\xc2\xb2\xa8\x6e\x86\xa9\x02\x68\x34\xae\xd4\x2b\x29\x45\x2c\x3c\xdf\xf0\x55\x58\xc3\x17\x38\xfc\xa6\x58\x88\x0e\x46\x54\xca\xfa\xb1\xfd\xe5\xdd\x7c\x7e\xc3\x66\x4a\xbb\x3a\x8b\x46\x3c\x6b\x49\x3e\xdf\x88\x58\x40\x60\xbb\x10\x61\x0f\x8b\x68\x62\xab\x9d\x0e\x87\x48\x09\x24\x04\xa7\xf4\x5e\x64\x9f\x84\xa0\x10\xcf\xb2\x42\x42\x67\x52\xd9\x9c\x2c\x25\x2a\x59\x93\xed\xb2\x93\x08\x84\xaf\x1b\x40\x5a\xad\xcb\xed\x34\xd6\xc3\x39\x6a\xfc\xb3\xa9\x55\xfd\xe3\x3c\xdc\x2f\xc2\x45\x7d\x3d\x6b\xb8\x47\xe3\x0c\x59\x69\xdd\x3b\x04\xa4\xe7\xb5\x59\xf1\xd7\xed\xd2\xbc\x14\x0f\x7e\x1e\x66\x69\x59\x20\xba\x45\x36\x8d\x8a\xb0\x2a\x64\x05\xaf\xe1\x7e\x77\x64\xa1\xd2\x34\x79\xeb\xc3\x7e\x97\x86\x4c\x29\x1a\x8e\xaa\xa1\x5b\x0e\xb1\x50\xfd\x18\xa0\xa5\xe0\x8b\x8d\xd9\xdf\x2f\xd4\xab\x18\x1e\xef\x16\xeb\xc2\x3b\x48\x80\x94\xe3\xc6\xb1\xb1\xa5\x7b\x7b\x3c\x73\xfc\xd4\xce\x9b\xa7\xca\xdc\x43\x32\xd5\xc5\xd0\xd2\x83\xa3\x2f\xc3\xc9\x3e\x46\x1a\xc5\x46\x53\xba\x9b\xd4\xf4\x1c\x76\x60\xc8\xdf\x1a\xeb\x3b\x28\xc9\x83\x70\xb9\xc1\x0b\x19\xbc\xa7\x3f\x68\x8e\x99\xd9\x2c\xf6\xc3\x0f\x5e\x81\xdb\xb8\xca\x08\x45\x20\x4d\xd0\x8c\x9c\x97\x1d\x68\x71\x73\xeb\x3a\x13\xd3\xe9\xe3\xfd\xee\x29\x43\xfb\x82\x0f\xf7\x30\x10\x91\x2a\x42\xc0\x8f\x54\x2d\x00\xbe\x59\xa1\xde\x11\x90\x32\xb9\x86\xcb\x36\xc8\x35\x2a\x13\x18\x06\x1f\x85\x77\x75\xec\x5d\x7d\x77\xec\x5d\x50\xa9\x81\x8b\xef\x6c\x17\x5b\x5f\x21\x41\x27\x20\x10\x8c\x68\x2b\xb5\x00\xca\x19\xfc\x7c\xe3\x3a\x42\xbc\xfc\xca\x3a\x00\xc4\x3e\xaf\x43\x85\xd4\x8b\x11\x65\xe3\xc0\x54\x6e\xa8\xbf\x5c\x0e\x38\x5e\x6c\x40\x39\x83\x98\x8e\xc1\xbf\xc0\x4a\xb2\xc5\x75\x58\xde\xa5\xcb\x91\x91\xcf\x81\x10\xda\x91\x63\x54\x89\xac\xbb\x9a\xa6\x8f\x1e\xd5\xac\x6c\xbb\x7e\xd9\x5e\x24\xcc\x5c\x63\xb2\x03\x23\x28\xda\x3f\x02\x5d\xb6\x1c\xec\xfa\x73\x1d\xe0\x36\x5e\x47\x40\xbc\xf9\xa8\x63\x70\xbc\x7e\x05\xee\xf6\xde\xed\x6c\x34\xa5\x4f\x37\xc3\xd9\xec\x9f\x27\xd3\x73\x34\x5b\x74\xe1\xc2\x17\x11\xd9\xed\x7c\x74\x3d\xaf\xbc\xda\x8d\x12\xe5\xd7\x7f\x37\xf2\x49\xbc\x0f\xaf\x3e\x7c\xf8\xf0\x6a\xe3\xa7\xe9\xa7\x38\x59\xe2\xdf\x1f\x5e\x79\xaf\x45\xba\xf0\x37\x6c\x42\x87\x4d\x19\x3c\xf0\x9d\x09\xe3\xf6\xe4\x83\x36\x0f\xf8\x2e\xc8\x64\xf1\x4b\x8c\xe6\x81\xc5\x2e\x51\x83\x7e\xa0\x6e\x49\xba\x08\x66\x81\x7c\xa7\x81\xae\x9f\x34\x04\x44\x8b\x79\x72\x72\x80\x94\xab\x20\x7f\x4a\xd5\xbe\xa7\x25\xb8\xeb\x38\xab\xb8\x94\xf5\x29\x14\x9e\x31\x5c\x79\xf9\x53\x4f\xca\x9d\xaf\xee\xfd\x1d\xc3\xa4\xea\x57\x74\x87\xd0\xf5\x5f\xce\x27\x57\xc3\x71\x43\xc1\xa2\x1f\x07\x83\x47\xd0\x31\x29\x70\xe7\xdd\x64\x36\xc7\xf7\xb1\xf8\x2a\xd6\x31\x9a\xc2\xdf\xf3\xd1\x74\x76\x37\x9c\xdd\x61\x9a\xbf\x6d\xfb\xb8\x10\x23\x3b\x0d\x28\x9d\x4f\x96\xbb\x9f\x8d\xce\x6e\xa7\xe3\xf9\xf7\x77\x17\xd3\xc9\xed\x4d\x07\x43\xdb\x00\x5d\x4c\x6f\x6f\x40\x84\xcd\xc6\x00\x6f\xf4\xc3\x0f\x43\x07\x92\x5a\x49\xc1\xfa\xb4\x2c\x98\x5c\x88\xea\x20\x46\x01\xeb\x94\x53\x8e\x15\xf3\xfa\xcd\xce\x3e\x25\xd1\x0c\x4c\xd3\xf1\xdd\x19\xbe\xc4\xa8\x1c\x86\x21\x9b\x1d\xec\x3d\xe3\x16\x40\x3d\x67\x5c\xa9\x00\x36\x4d\xa6\xe1\xc1\x56\x80\x14\x08\xc4\x7b\x8c\xf6\x8d\xda\x60\xb0\x9f\xa8\xd4\x0a\x56\x01\xeb\x9a\x91\x26\x18\xe3\x6b\x62\xbb\x04\x22\xab\x31\x75\xf0\x9b\xeb\x52\xe1\x5b\x7e\xfa\x14\x2d\x06\x68\xee\x05\xa0\xde\x7c\x7c\x35\x9a\xdc\xce\x61\xe1\xdc\x01\x5c\x38\x15\x66\x54\x56\x19\xa8\x81\x15\xf0\x3a\x4b\x72\xe1\xfd\x2b\xdc\xb7\xc2\x14\xff\x45\x84\x6f\xb2\xf8\x0d\xfa\xf5\xbe\xa2\xe7\x16\x71\x08\xc2\xaf\xf4\x1c\xff\xc0\x05\x87\xbc\xd7\x97\x93\xb3\xe1\xe5\x08\x7e\x3b\xbb\x1c\x0d\xa7\x5f\x75\x0e\xd7\x91\xcc\xf1\x33\x53\xd9\xce\x4b\x2e\x9b\x05\xe7\xf6\x60\x0d\xd7\x81\x07\x8c\x43\xd3\x3b\xf1\xc7\xc1\xc6\x7b\xa3\x48\x60\x0b\x3f\x3e\x48\x25\xf0\xc8\xc8\xaf\xdf\x39\x79\x5a\x87\xd6\x92\x2f\x6d\xb8\xea\x1b\xb3\x37\x52\x97\xf1\xe9\x65\xee\x69\x03\x38\x2d\x59\x8f\xd4\x38\xc0\x8b\x1c\xe4\xac\x94\x7f\x1d\x0c\x96\x41\x8a\x7f\x39\x8e\xa7\x80\xad\x4d\xe6\xe7\x63\x42\xa3\x17\x34\xa1\x51\xc3\x6b\xc0\xe3\x32\x84\x65\xbc\xf6\x41\xed\x40\xd9\xca\x7b\xcf\x8d\xba\xf2\x6b\xb8\xdd\x9c\xb0\xe1\x25\x16\xde\x71\xc3\xa1\x1e\x76\x01\xdc\x7e\x0c\xa9\x62\x82\x28\x75\xef\xa6\xb7\x97\xa3\x19\x95\x65\x73\x23\xa3\xeb\x58\x2a\x8a\xbd\x11\x50\xf4\x6b\x4c\x47\x17\x93\x4b\x16\xf2\x8e\xd4\xbb\x54\x45\xb4\x1c\x58\xf0\x3d\xec\xfe\xe1\xc5\xcc\x71\x61\xf5\xa9\x65\x67\x3b\xb9\x14\x4e\xb7\x35\xa6\xca\x53\xa2\x2e\x37\xc8\xe2\x8f\x22\xf2\x2e\x87\xdf\x8d\x2e\xbd\x9b\xe9\xe4\xfd\xf8\x7c\x34\xf5\xe6\x93\x3f\x8c\x1c\x57\x5e\x03\xb0\xd1\x7c\x4c\x1b\x64\x58\x05\xd8\x87\x38\xce\x7a\xd5\x5c\xff\x6e\x0a\x10\xa6\xf5\x1b\x04\x65\x15\xc2\x6e\x93\xf7\xa7\x45\xbc\x11\xcb\x7e\x8c\x57\x98\x18\x83\xe2\x75\xd3\x95\xa3\x19\x57\x9f\x41\x7d\x14\x4f\xf5\x75\xa4\xbe\xf8\xc3\xe8\x7b\xdb\x9a\xb2\x17\x1f\x7d\x9e\x9a\xf5\x7d\xc9\xfe\x62\x0b\xa9\x3e\x67\x25\xe8\x1d\x98\xb4\x57\x15\xd5\x3d\x2a\x42\xb7\x90\xdc\x28\x67\xce\xde\x8d\x87\xef\x47\xdd\x72\x87\xc7\xf0\xd9\xaa\xe2\xef\x3b\xac\x5d\x8a\xad\x7e\xde\x62\xd3\x2f\x53\x67\x7a\x0f\x7e\x76\x97\x5a\x6d\x1e\xda\x0e\x4b\xdd\x49\xf0\x3e\xfa\x89\x58\x2a\xf5\xa8\xb8\xcd\xd0\xf5\x24\x91\x2a\x04\xe8\x24\x20\x6d\x59\x37\x71\x3d\x3b\xaa\x70\xd5\x0d\xa7\x04\x58\xea\x26\x0c\xdf\xf1\xa4\x20\x1f\x42\xd1\xf0\x06\x3b\xdd\xc0\x1f\x7f\xe1\xaf\x06\x7f\xbc\x9d\xcc\x87\xae\x34\x2a\x50\xbc\x83\x0d\x58\x04\x65\xc0\xbf\xb8\x91\x45\xe1\x65\xb5\xc3\xd7\x8d\x0e\x7a\xb7\xe1\x38\x75\x46\x3c\x50\x35\x41\xab\x8a\x99\xa9\x8b\x6d\xbc\xb3\xe9\xe8\x1c\x10\x8c\x87\x97\x74\x23\x0c\xbd\xd9\xf7\xb3\xcb\xc9\xc5\xdd\xf9\x14\x26\xfd\x0e\x0d\xa0\xf0\x6d\xc2\xb3\xad\x9a\xc8\xd0\xd7\x72\x8d\xde\xc0\x0e\xe1\xf4\x66\xd8\x8a\xb8\x9f\xa8\x4e\x27\xfa\x27\xa9\x10\x55\x71\x74\x90\xfd\x2b\x35\x33\xdc\x8b\x98\x3b\x8c\xa3\x93\x65\x39\x77\x1b\x09\x0c\x04\x6b\x09\x03\x15\xc7\x05\x19\xc7\x05\xf2\x63\xc6\xfe\xe1\x55\x89\xea\x06\x2a\xa9\xaa\x06\xed\x30\x0c\x6a\x22\x1a\x8c\x88\x85\x5a\xa8\xe0\x9e\x34\xa3\x1c\x05\x39\xf1\x4d\x71\xd6\x7f\x43\x72\x14\xbe\xfb\xb6\xf8\xee\x5b\x43\x01\x98\x91\xf0\x7b\xa2\x3a\x25\xe6\x21\x6b\x9e\xff\x48\xfe\x9e\x84\x99\x47\xae\xfb\x7a\xad\xc3\xb6\xe8\xe3\x6a\xd9\xfd\x00\xcb\x6e\xcc\xcb\x0e\x96\x14\x5e\x3a\x66\x67\xc3\xe9\xf8\x0c\x6e\x26\xb4\x0a\x79\xed\xe1\x4f\xea\x65\x10\x0b\xa0\x22\x9b\x8b\x0f\x5b\xbf\x61\x81\x02\x72\x14\x4b\x79\x1e\xcb\xb9\xc5\xc2\x61\x81\x5a\x10\x81\xd9\x42\x09\x6d\xaa\xd8\x29\x29\xc8\x64\xb3\xb2\x22\x92\xd3\x88\xe2\xec\xc1\x45\x35\xd2\x42\xac\xe3\x92\x44\xc2\x8e\x0b\xb2\xf4\xe2\x84\x2f\x97\xb0\x54\x25\x35\xa5\x65\xe9\x97\x8e\x3f\x73\x1c\xe4\xd9\xa1\xb5\x89\xd4\x23\x35\xb2\xb8\xb0\x71\x04\x52\xb1\x85\x72\x2c\x6a\xbc\xc3\x28\xca\xb5\xc0\x79\xa1\x62\x1a\xfe\x56\x7c\x63\x9c\xef\xbc\x58\xf9\xfb\x6f\x8d\xef\xeb\x0b\x96\xa2\x66\xcd\x63\xb5\x38\xf6\x1f\x79\xed\x52\x5d\x8a\x9e\x2b\xd7\x46\x6d\xf5\x38\xed\x90\x99\x58\x9f\x85\x0c\x1e\x3f\x0e\x82\x2d\x2e\xb9\x7f\xf1\x40\x65\x7b\x37\x39\xc7\xbf\xdf\x79\xef\x46\x43\xb8\x8c\xe1\xdf\x4b\xef\x7c\x08\x8b\x0f\x4f\x2c\x38\xb0\x36\x79\xe6\x21\x74\xb5\x18\xbf\x7b\x52\x51\x22\x45\xe1\x55\x84\x7d\xc4\xc1\xdb\x30\x76\xd0\x79\xd6\x30\xf4\x8b\xd1\x5c\x29\xd6\x52\x97\x01\x91\x89\x04\x80\xa6\xf2\x40\x15\x1d\x09\x1e\xd6\x98\x50\x65\x9d\xb7\x81\xef\x0d\x96\x58\xc2\xfc\x06\x8d\x83\xaa\x61\x99\x84\x49\x4e\x97\x34\x83\xb3\xfe\x58\x15\xab\xa0\xc8\x69\x6c\x2a\x3b\x7f\xda\x70\xd9\x5f\xf5\x4e\x2a\x32\xe9\x9d\x57\xd1\x6c\x6f\xb0\x5e\xee\x09\x95\xc6\x58\xfb\x4f\x5e\x8c\x79\xa4\x78\xb3\x78\x04\x80\x28\x11\xc9\xd3\x01\x8c\x90\xa0\x09\x9a\xca\xcb\x84\x55\xfa\x18\x2f\xe5\x23\xff\x72\xa2\x4a\xeb\xc3\x6d\x00\x93\x2b\x97\xf1\x82\x6a\xd8\x11\x1a\xd8\x07\x1c\x89\xbc\x0d\xd2\x20\xa3\xd2\x65\x5c\xb9\x0c\x9e\x4a\x4f\x16\x58\xc1\xee\x81\x0b\xd8\x61\x9e\x87\xcd\xb3\x5b\x9e\x35\x65\x43\x2a\xcd\xdc\xe4\x7c\xc2\x33\x37\x86\x83\x13\x96\x08\xb7\x91\x53\xf3\x37\xb6\xcd\xdf\x0d\x96\xd5\x2b\xa2\x6c\x84\x11\x65\x03\x5b\xb5\x32\xa5\x32\x5c\x97\xa3\xd5\x71\x42\x7d\x83\x1a\x9d\xc2\x8d\x31\xec\x33\xd4\x67\xb1\xcc\x26\x21\xd9\x8a\x68\x85\x09\xf9\x5c\xdb\x39\xc0\x50\x31\xca\xad\xc6\xc9\x55\xf9\xbb\xd1\x56\x2c\x84\xc4\x90\x51\xab\x5c\x9a\x74\x4a\xb5\xa8\x4d\x6b\xea\xd3\x3b\xaa\x0f\xab\x97\xe6\x0d\x53\x4b\x65\x3a\xd2\x98\xab\x7c\x72\x2f\x50\x94\x0f\x3a\x9e\x08\x3d\x4a\xc0\x2f\x86\x08\x58\x60\x56\xa9\x68\x4b\x60\x24\xcb\xd2\x33\x7a\x86\x91\x59\x58\x3c\x43\x4d\x30\x73\x0c\xe6\xfc\x98\xa7\xd7\xef\x9e\xdf\xd6\x4d\x29\x93\xff\x0d\x73\xeb\x83\x37\x48\xba\x74\x38\xf9\x56\x93\xe1\x94\x5f\x77\xc0\xd9\x68\x0f\x85\xf7\xdd\x70\xb7\x59\x3c\x09\x88\x0b\x05\x55\xc5\xdb\x15\x77\x4d\xb1\x76\xc4\x27\x6d\x94\x3d\x30\x95\xde\x70\x43\xb1\x79\xf4\x23\x21\x5d\x91\x69\x2f\x54\x0d\x6f\xba\xa0\xe4\x7c\x2b\xd2\xda\x7b\xa0\xab\xbd\xe5\x82\xaa\xdd\x70\xeb\x8e\xbc\xcb\x4a\xdb\x83\x20\xab\xca\xef\x4e\x4b\xab\x0a\xd7\x8f\x90\x16\xab\x69\x6f\x8a\x3a\x8c\xa6\xbd\x49\x6b\xb6\x99\xf6\x27\xab\xd9\x22\xda\x9b\x1c\x07\x6b\x67\x5f\xca\x7a\x58\xac\x5c\x89\x6d\xb6\x10\x38\x13\x66\x31\x04\xb8\x62\x2f\x5d\xf7\x9d\x91\x96\x6f\xf6\x7d\x70\x49\xa9\x60\x58\x13\x06\xea\x54\xea\x83\x5c\x82\xc1\xe3\x69\x60\x5a\x13\xdc\xa9\x29\x5b\x14\xdc\xd1\x57\xad\x09\x0e\x08\xd9\xff\x36\x78\x00\xfd\x3b\x4f\xe0\xdf\xd0\x5f\x79\x6f\x47\xc3\x39\x88\x22\x97\x68\xa7\xc6\xf7\xe9\x60\x7e\x7b\x7b\xed\x10\xfa\xa4\xde\xc7\xe0\x2e\xc7\x00\x2b\xf3\x95\x9e\x81\x56\xf8\xea\xae\xa1\x68\x0d\xef\x3a\x47\xa3\xb1\x29\x64\x67\x26\x37\xbd\xde\x83\xc7\xf2\xf5\x1e\x2c\x36\xde\xe8\xc9\x61\x11\x6d\xdd\x91\x6c\x7b\x43\x07\xbd\x3a\x4b\x9d\x11\xf0\xd3\x3d\x71\xec\x3a\x49\xbb\xce\x8e\xf9\x5e\x57\xa8\x4a\xf9\xd9\x76\xb0\x01\xf6\xe9\x2f\x14\x6b\x8a\x4e\xc1\x0b\x94\xa7\x4e\x1b\xbc\x10\x65\xf4\xff\x94\x11\x8a\xfa\xfe\x3c\xe6\x6c\x29\x2e\x65\x89\xf7\x9b\x4c\x02\xc2\x9a\xb9\x94\xbb\xa3\xb3\x22\x62\x2e\x75\x79\x1e\x88\x55\x4c\x39\x9e\x22\x82\xcb\x0d\xf5\x76\x57\x34\xc0\xfa\xb1\xd5\xaa\x2d\x93\xd9\xa0\xc9\xeb\x40\x18\xa6\x99\x8f\x35\x83\xe4\x52\x42\x27\xd2\xce\x0d\xd7\x45\x44\xd9\xea\x58\xe9\x66\x23\xf0\xb6\x42\xb9\xeb\xba\xf0\x4f\x25\x6d\xa8\x52\x0d\x37\xcd\x43\x35\x12\x1e\xd7\xb1\xd1\x1c\xbe\x34\xa8\x56\xd6\xaf\x44\x36\xe0\xe2\x41\x03\x2e\x1e\xe4\xb8\x5e\x6b\xef\xf5\x5c\xb9\xd8\x52\xc1\xfb\xf1\x6c\x72\x75\x35\xbc\x3e\xef\x3a\x31\xf4\xc3\xf0\x6c\x97\x9d\x5b\x16\x4e\x94\x31\xc0\x32\xbe\x66\x80\x2b\xea\xcd\x7c\xf2\x46\x56\x84\xff\x57\xf2\x00\xff\xab\x87\x56\x64\x1d\x5b\xcc\xbf\xd1\xdf\x5f\xd1\x69\xa4\xee\x95\x49\xbc\xde\xc8\x34\x1b\xf2\xfb\x24\x6b\xf6\x5a\xe6\x51\x88\x55\xe7\x8e\x06\x0f\x47\xa6\x65\xa4\xcb\x4c\x50\xa5\x50\xad\x9e\x01\x87\x02\xbd\x19\x36\x50\x59\x8d\x62\xe6\x94\x4f\x7a\xac\x44\xeb\x94\xee\xc6\x4b\x41\xb9\x6f\x48\xac\x00\x62\x3d\x1f\x6e\xcf\xb2\x71\x12\xda\xe1\x30\x27\x5d\x35\x72\x42\xe2\x3b\xee\xbd\xb8\xcb\xcc\x90\xea\xae\x8d\x5f\x7f\xbe\x1d\x3c\xa5\x34\xbf\xc6\xde\x5b\x9e\x4a\xa0\xa1\x4d\xad\x83\x4b\x39\x37\x3b\x88\xbc\x92\x9d\xdb\x1b\x0c\xb4\x49\x8e\xad\x59\x34\x4f\x34\x4d\xf7\x71\xf6\xd8\x15\x00\xab\xf1\x52\x97\x29\xaa\x92\x2d\x93\xe8\x8d\xb8\x56\xda\xa8\x2a\x0d\x3a\x08\x4b\x74\x64\x85\x7b\xd4\x20\x25\x91\x33\x80\x26\x10\xf8\x2d\xc1\x96\xf7\x1d\xf1\xb0\x32\xa9\x7b\x80\xd5\x08\x5f\x57\x87\x24\x1d\xea\xb2\x4d\x60\x7c\x8f\x16\x75\xf8\x0c\x22\x80\x22\xd4\xea\x5c\x72\x1b\x77\x05\x1b\x2d\x07\x69\x3a\x42\x54\x38\x6e\xac\x52\x18\xb1\xf3\xb1\x88\x60\x56\x79\xd4\xcc\x99\x87\x07\x60\x1e\xb5\x47\x0b\x8f\x64\x3d\x45\xb7\xb1\xe6\xf5\xd0\x63\x32\x4e\x3f\x4b\x48\xf7\x0e\x38\x0f\x1d\xd9\xdd\x41\xc2\x73\x04\x78\xf7\x44\xa9\xce\x0e\xe7\x20\xef\x3d\x06\xbc\xf1\xff\xe1\x1f\x3e\xc5\xd3\x73\xef\x75\x2a\x7d\x47\xcd\x1b\x1f\xdb\x75\x25\x2b\xb2\xe6\xa5\x7b\x0d\xb7\x8a\x10\x6d\xff\x96\x1d\x4f\x1e\x0d\xc0\x1a\x23\x56\xb7\x9d\xfb\xe3\x80\xea\xf6\x29\xcf\x64\xae\x6f\x43\x3f\x91\x5f\x49\xb9\x49\x7f\x32\x7d\xb7\x29\x2b\xf3\x3f\x39\x24\x4e\x58\x90\x14\x57\xa7\x2e\x34\xe8\x1c\xee\xce\xb2\x00\x34\x71\x6e\x4b\x23\xae\x3c\xd4\x05\xc8\x59\xed\xa5\x67\x7b\xaa\x0e\xb2\x0c\x8f\x36\x25\xa8\x9c\xe3\xd4\xdb\x7e\xa3\xdc\xc1\xf8\xa7\x36\xbf\xe0\xdf\x18\xf8\xb7\xfd\xb6\xf8\xf9\x5b\xfa\xca\x81\xfb\x87\xc6\xd6\x3a\xb4\xb8\xb0\x23\x75\x90\x65\x3e\xd9\x0e\xd2\x29\x32\xd4\x29\x24\x14\x1e\xa2\x5b\x7b\xea\x06\xd0\x78\xb6\x15\x2c\x6d\x3d\x5b\x0d\xd6\xca\x43\xed\x80\xb8\x77\x54\x17\x24\xf9\x54\x3b\xa8\x3c\x59\xd5\xe7\xbc\x66\x04\xeb\x42\xd5\x0c\xa5\xc9\xee\xd5\x87\x1c\xd5\xfb\x43\x87\xb5\xd2\xf6\x97\xeb\xaf\x4b\x97\x6e\x03\xa5\x3c\xe1\x05\xac\x56\xaa\x0c\xbb\x74\x07\x52\xf3\xc9\x6e\x90\x5d\x33\x28\x1f\x6a\x05\xc4\x2d\xf2\x9a\xb3\x08\x3b\xc0\x37\xbc\x5a\x51\xbf\xbb\x50\xd3\x49\xa6\xaf\xb3\xd7\xa3\x7f\xbe\x73\x14\x87\xf2\xd5\xfa\x15\xf3\xfa\x76\xf2\x1e\x88\xef\x27\x28\x19\x5a\x93\xf3\xa8\x20\xcc\xa9\xc0\x8c\x15\xa0\xa5\xf2\x8c\x49\xae\x6b\x5d\x9a\x0a\x0e\xe5\xcd\x41\x1a\xbb\xa5\x4d\xf5\x25\x40\x3f\xc4\xd7\x86\xd7\xe3\x1f\x7e\xe8\xc1\x2a\xab\x8f\x02\xc9\xe8\xb9\xf9\x2b\x20\x1b\x8d\xdd\x4c\x68\x7f\x79\x50\x86\x6d\x71\x17\x98\x34\xf3\x57\xbd\x28\xb6\x85\x53\xd3\xd4\x96\xbf\x74\x23\xd6\xb0\x90\x13\x69\x0e\xe9\x6b\xd5\x57\x15\xcf\x26\x4e\x96\x4c\xdc\xba\x03\xd5\x50\xf0\x47\xf3\xae\xdf\x25\x24\x6b\x6f\x56\x04\x40\x87\x60\xa4\xce\xaa\x2b\xe1\xaa\x04\xa9\xc7\x7b\x6f\x6f\x6a\x1d\xdb\x0b\x4b\xd2\x90\xc2\xe3\x84\x85\xd2\x80\xf4\x09\xa6\x65\xdb\xf8\xfa\x7c\xf4\x2f\x6e\x88\xcb\x10\x1a\x32\xfc\xae\xcf\x61\xa5\x76\x10\x23\xd3\x2b\x45\x04\xd7\x94\x38\x42\x15\x7d\xb0\xf5\x93\x80\x2c\xc0\xe4\xa0\xec\xa2\xa5\x1b\x40\x2b\x01\x29\x25\x6d\x19\x21\x00\x85\x89\x92\x62\x15\x3f\x7a\xe7\xe3\xd9\x1f\xf0\xaf\xb5\x77\x35\xba\xc2\xa5\xe2\xe2\x12\x61\xb0\x4d\x31\x02\xca\x9c\x38\xd2\xd0\xcf\x26\x06\xf8\xf1\xf0\x27\x07\xc7\xc9\x3e\x49\x8e\x7b\xe5\x35\xda\xe4\x69\x27\x4e\xbb\xcc\x74\x42\x68\xf8\x63\xbb\x94\x89\xa6\x37\x9c\x50\x74\x39\x45\x1d\xf1\xba\x3a\x42\x9d\x89\x4a\x77\xe4\x36\xbf\xbb\x0b\xcb\xb3\x81\xe9\x49\xf1\x46\xd7\xef\xef\xde\x0f\xa7\xe5\x0f\xef\x87\x97\xb7\xdd\x84\x30\xa4\x06\xf5\x07\xbf\x01\x30\xe3\xe1\x77\x32\x13\x6c\x78\xf5\xdd\x98\xdc\x86\x00\x78\x32\xb5\xfc\xd8\x4d\x78\xa3\xe9\x5b\xd6\xb5\xff\x57\xae\x6a\xef\x40\x74\xbb\x21\xbc\x02\xae\x93\x26\xbc\x3a\x51\x01\x69\xed\x54\x45\x9d\x66\x3a\xe1\x18\x7c\x07\x72\x34\x00\xc3\xbb\x4a\x20\x6e\x27\x97\x93\xee\x4b\x28\x82\x60\x85\x1d\x5f\x22\xa5\xdd\x11\x71\xd3\x5b\x9d\xa8\xba\x45\xb2\x7b\x4a\x92\x03\x8d\xae\xe8\xdc\x52\x49\xba\x87\x57\x77\xd6\xd3\x4f\x55\xbf\xbd\x03\xe5\x35\x7f\xbd\x52\x88\xaa\xbe\x7b\x57\xa2\xea\x8b\x8c\xb5\xb3\x1e\x4b\xcd\x00\x54\x59\x6c\x92\xb8\x1e\x6b\x4e\x65\xd2\xbf\xd0\x42\x70\x45\x77\x90\x85\x80\xc1\x25\x83\x4d\x12\x6c\x77\x49\x0d\x6e\x7b\xbb\x3b\x43\xd8\xd0\xbb\xbb\xf0\x18\x6a\xb6\x03\x4c\x73\x51\xdf\xd1\xfa\x73\x51\x43\xab\xab\x58\xbe\xd9\x13\x6b\xe7\xa9\x6e\x3e\xea\x00\x34\x4d\x1f\x07\x14\x31\x21\x96\xee\x51\x16\xf5\x57\x9d\x83\x2c\xf8\x55\x6d\x20\x73\x9f\x9e\xf2\x3b\x6e\x78\x9c\x98\xd5\xc5\x26\x23\x20\x83\xd4\x52\x53\x9b\x1f\x50\x37\x17\xae\xcb\x22\xdb\x0a\xe2\x87\x4b\xef\x47\x2c\x91\x71\x27\xcb\xb8\x9f\xfe\x84\xe7\xe0\x29\xd6\x73\xa1\xff\xe0\x27\x0a\x7c\xc6\xae\x44\x54\xe6\x65\x40\x29\x64\x44\x5f\xf1\x03\x9a\x63\x60\xd9\x8b\x9f\x41\x11\xd5\xbf\xc8\x58\xef\xc1\x26\x15\xf9\x32\x1e\x64\xd9\x13\x7d\xfd\x10\x27\x40\x4d\xe5\x4b\x15\x83\x63\x7c\xdd\xc5\x90\xa6\x58\x92\xff\x04\xa3\xee\x9a\xe1\x41\x4b\x11\xe6\xda\x63\x9d\xc0\x38\x30\x67\xe9\x7a\x3f\x35\x5f\xe9\x79\x47\x85\xf9\x00\xc5\x0b\x34\x57\x37\x33\x16\x3f\xce\x7b\x15\xdf\x71\x00\xde\xb9\x85\xb2\xee\x9a\x2c\xdd\x07\x4e\x37\x92\x2e\x00\x5d\x04\xb8\x9b\x0b\x76\x32\x16\xa4\x59\xec\x5c\x7b\x8c\x9e\xed\x09\x9f\xbb\xde\x35\xf9\xd1\x3a\x90\x59\x5e\xec\x4e\x9b\xcc\xa3\x03\x54\xab\xea\xbc\xff\xdb\xb0\x50\x0c\xaa\x25\xda\xb9\x40\x85\x4c\x44\x74\x2e\xa6\x00\x85\xe9\x00\x05\xaf\xda\x41\xf5\x33\x14\x48\x58\x87\x29\x7a\xd5\x0c\x6c\xe7\xb2\x57\x1a\x5c\x47\xe1\x2b\x57\xaa\xfa\x94\xb8\x72\xa3\xec\x00\xb5\xac\xda\x41\xf5\x9d\xcc\x4a\x88\x13\x07\x2a\xb9\xdc\x73\x6a\xaf\xd2\xe5\x86\xdf\xef\x42\xda\x6a\x88\xe8\xc4\xbb\x8b\xf1\xc1\x85\xa2\xbd\x6e\xf3\x15\x10\xbb\xdd\xe7\x19\x48\x4d\x65\x77\xbe\xd9\x37\xbe\x8f\x32\xc8\xf1\x92\x6f\xbe\xbf\xe7\x95\xb3\x06\x6a\xaf\x4b\x27\x40\xdb\xeb\x5e\xd6\xfe\x7e\xf7\xcd\x2c\xdf\x2c\x6d\xc5\xae\x7e\x94\x09\xcf\x1c\x51\xaa\xaa\x5e\xfd\xd4\x58\x8e\x4a\x56\x13\xfb\x08\x5f\xe5\x11\xfe\xd1\x79\xda\x54\xf1\x36\xa4\x85\x15\x19\xab\x05\x09\x3a\x69\xd1\x89\x06\x97\xa1\x3f\x47\x75\xa9\x66\xd0\x07\xad\x2e\xa5\x51\xb4\x14\x31\x40\x17\x17\x06\x7d\x58\xab\x55\x3a\x97\x97\xaa\x60\xb3\xe6\xaf\xb3\x63\x8c\x8a\x4e\xfd\xb4\x6f\x81\xa9\x32\xce\x3d\x0b\x4c\xd9\x81\xed\x56\x60\xaa\x02\xaf\x47\x81\xa9\x7e\x84\xf6\xaa\x27\xe5\x44\xf2\x7f\x82\x22\x18\xfd\x46\xf2\x65\x14\xc1\xe8\x4d\xf3\x4b\x15\xc1\xe8\x4d\x58\x8f\x22\x18\xad\xb0\xff\x53\x15\xc1\x70\x1a\xe9\x17\x5f\x04\xa3\xff\x7c\x7d\xce\x22\x18\x3b\x51\xeb\x5c\x04\x63\x3e\x45\xa5\x70\x34\x9d\x4e\xa6\xb8\x22\x87\x73\x6c\xce\x05\xeb\x8e\x8a\x23\x60\xcd\xfc\x1b\xd8\x64\xbf\xfe\x0a\x24\xc1\xdf\xa3\x24\xb1\xf6\xfc\x28\xc3\x1a\x61\xb7\x2d\x84\xc7\x8a\x3d\x90\xc7\x00\xe1\x5b\x04\xde\x08\xb7\x99\x44\xce\x5b\xb1\x21\xe5\x44\x15\xcb\xab\x7e\x44\xbd\x02\x88\x69\x58\x16\xcb\x2b\x22\x4a\xe3\x07\x58\x61\xc1\x52\x8b\x35\x6c\xe5\x68\xed\x6d\x80\xe5\x15\xd2\xe0\x1e\xe7\xca\xcc\x50\xd0\x70\x51\xe2\x60\x1f\x9c\xa2\x49\x3e\x95\x17\x0b\xfc\x88\xdb\x3a\x15\xfd\x89\x36\xfe\x8a\xf2\x18\x6c\x21\xdd\x40\xf1\xbe\xd4\xfe\xf6\x3f\xbd\x2f\x92\x5c\xef\xf5\x39\xd7\x47\x39\xd5\x39\x93\xc2\x9a\x4f\xf0\x2c\x83\xf0\x5e\x8f\x2d\x05\x3e\x4e\x49\x5e\xc0\x1e\x4c\xf1\x30\xcc\xac\x99\x15\x7e\x84\xeb\x49\xd6\x99\x48\x2b\x8d\x98\x8e\xf5\x37\xe4\xde\xc7\xf0\xfa\x7b\xee\xf0\x91\x72\xe7\x88\x87\x20\xe1\xfe\x11\x0c\xc0\x16\x87\x5b\x5a\x6e\x61\xb0\x0e\x22\xce\xfa\x68\x6a\xa8\xf4\x7f\x61\x47\xbe\x48\x60\x3a\x08\xb5\x5f\x2d\x9e\x87\x9b\xd2\x9a\x4a\xc9\x93\x6c\x0a\x30\xf5\xad\xde\x1e\xa5\x75\x98\x94\xf2\xb7\xf6\x93\x8f\x22\x83\x09\x5c\xe8\x01\x73\x6e\x04\xd6\x6b\xf6\xa5\xb1\x0f\xd4\x9d\xb6\x86\x76\xe5\x01\xc9\x54\x3c\x3d\x45\x44\x50\x19\x0d\x8e\xb2\xc8\x7e\xc0\xe9\x5c\x8a\x34\x0b\xa2\xb6\xa6\x5e\x26\xd1\xd4\x97\x35\x88\xb0\x38\x0e\xa7\x8f\x61\x6a\x47\xad\x13\xcc\x21\x46\x41\x3a\x1c\xe1\xe1\x52\x2a\x98\x2a\xc8\x9d\x53\x37\xa2\x01\xe5\x5e\x43\xfb\x9b\x12\x63\x48\xb0\xca\x38\xc1\x14\x31\x0f\x6f\xaa\xb4\x27\xf8\xd2\xea\xc5\x54\xcb\x34\xb5\xb6\x70\x31\x88\xd5\x89\x24\x98\xc1\xc9\x79\x5e\xc4\xf9\x78\xc3\x4c\xc7\x86\x29\x00\x73\x01\xcb\x9f\xe8\xe4\x0f\xb6\x54\xbb\x06\xda\xf0\x04\x62\x77\x48\xd1\xfb\xed\x9c\xaf\xdb\xf0\x4d\x5f\x12\x31\xe7\xaf\x04\x11\xcf\xf7\x0a\x44\x27\xd2\xb4\xd1\xe0\x3e\xc8\x58\x9e\x20\xe7\xde\x30\x03\xfb\x52\x85\xbb\x3f\x63\x05\xb1\xd6\x19\xa7\xc4\x4d\xe2\x9e\xff\x86\xb9\xe8\xbb\x91\x8a\x9e\x36\x50\xc4\x61\x13\x3d\xaa\x9e\x38\xda\x64\x0e\x74\xbf\xa1\xcc\xaa\xec\xb1\x2f\xcd\x98\xf4\x05\x90\x7d\x5c\xf0\x81\x40\x58\x9c\x4a\x84\xb0\x3d\xf1\x26\xd6\xca\x94\x1b\x95\x80\x74\x19\xaf\x07\x0d\xc4\xe2\x57\xc7\x87\x25\x79\xe1\xa7\xb9\x4f\xe2\x41\x91\x4e\xdf\x1f\xf7\x1c\xc1\xa3\x1f\xad\xa8\xbc\xee\x36\x10\x9f\x28\xb3\x5a\xc7\x75\x2e\xe2\x3c\x02\xaa\xe1\x30\xfd\x28\xe3\x09\x50\xf8\x67\x5c\x04\x6c\x2d\xd6\x71\xf2\xc4\xdf\x90\xf8\x6b\x6d\xb1\x78\x15\x2f\x59\x41\x8d\xb1\x7e\x13\xd0\x4d\xf9\x69\x20\x1b\x64\xd3\x21\x58\x29\x52\x24\x1c\x53\x6a\x66\x40\x55\xab\x8a\x66\xe6\x69\x8e\x64\xd0\x06\x2c\xfd\x4c\x54\xc0\x76\x40\x61\xe8\xd4\x9a\x51\x8e\xd7\x14\x67\x4c\x7d\xed\xb4\xed\x1a\x09\x4b\x61\x53\x6c\x49\x22\x9a\x8e\xd1\x56\x62\xa8\x7a\x86\x4a\x5a\xeb\x44\xab\x92\xdb\x38\xdd\xad\x05\x30\x4a\x5b\xf5\xb4\xbd\xd3\x97\x06\xbc\x2c\xe5\x40\x76\xb7\xf4\x3a\xc3\x08\x39\xc4\x41\x2d\x0b\xd1\xdb\x65\x47\x82\x65\xc5\x92\x18\x3b\xd0\x9b\xdd\x1c\xbb\x51\x60\x51\x2f\xef\x2d\x57\xf5\xa2\x8a\x6f\x5b\x91\xd0\x01\x85\xdd\xc7\x6e\xc6\xef\xa9\x9b\x1c\x7a\xd2\xe1\xa4\x49\xbd\xb3\xcb\xd2\x03\xf0\xf1\x2a\xc0\x1e\xee\x1e\xd5\x9e\xc3\xcd\xb3\xe0\x36\x74\xe1\x13\x56\x11\x28\x3f\x4a\xb0\x4e\xb0\x12\x41\xbe\x59\x25\xfe\x52\x70\xdf\x73\xf8\xa5\x5c\x58\xee\x94\x2a\x8f\xa5\xa7\x6f\xde\xac\x60\x63\xe7\xf7\x98\x96\xf8\xc6\xac\x3e\x06\x1f\x82\xff\xaa\x1a\xe2\xdb\x8e\xca\x4b\x5f\xa1\xa7\xaa\x66\x5e\x79\xa4\xa5\xd1\xa9\x2c\xf0\xd0\x78\x05\x47\x5a\x1e\xe1\x2c\xf3\x03\x9d\xd1\x0a\x52\xa8\xf4\x78\x69\x84\x58\x5a\xcd\x5f\xad\x82\x38\x89\xa4\x3c\xc9\x72\x9f\xc7\xc9\xa5\xd5\xfa\x8e\xb0\x79\xea\xc8\x5a\xb5\x14\xbc\x55\x97\xba\x19\x2e\xca\xa8\x94\xc4\x8c\x51\x46\x8e\xea\x02\xe2\x13\x22\x82\x89\xb1\xb0\x6c\x24\xfb\xd9\x32\x48\xcc\xda\x35\x4c\x0d\x78\xec\x60\x7f\x77\x14\x14\x8b\x3c\xf0\x2a\x2d\xf8\xcc\xf2\xcb\x98\x72\x9d\x62\xb9\x68\xdb\xa6\xe4\xf0\x0f\xef\x9d\x08\x6d\xd2\xec\x22\x0f\x96\xd4\x09\x0d\x9e\x0b\xda\xa1\xa0\x5e\x66\x81\x72\x1d\x53\xab\x6c\x7c\xac\x83\x14\x6c\x6c\x2f\xff\xa6\x16\xff\x5c\x01\x43\x7a\xd5\xee\x05\x6e\x42\xe9\x6a\xc3\x64\xea\x14\x4f\x31\x9f\x4c\x7e\x67\x6f\x55\x34\xcb\x1b\x10\xb9\x7e\x0a\x0b\x65\xca\x69\x49\x08\xa0\x02\x56\x3e\xd9\x05\x1e\xbb\x2c\x2e\x61\x0d\x19\x46\xc6\x2c\x55\x0f\xf0\x74\x92\x16\x96\x5a\xbb\xac\x8f\x43\x35\xec\x2a\x09\x11\x88\x4c\xc4\x3b\x40\xd1\xf0\x88\x3b\x4e\x44\xa2\x80\x1d\xe3\x65\x84\xda\x80\xd3\xdb\x3c\x26\x1c\x24\x0d\x17\x1b\xfa\x4f\x83\xa5\x40\x7b\x50\x44\x87\x8b\x03\x96\xa5\xaf\xc1\x27\x42\x1b\x77\x68\x76\xf9\xae\x96\x44\x74\x35\x92\xcf\xf0\x72\xc2\x6f\xe4\x5e\xb3\x9e\xab\x96\xa9\xc3\xc9\x29\x4d\x09\x25\xbf\x33\xab\x8f\xd0\x68\x41\x7f\xb2\x36\x7f\x24\x25\x17\x9c\xc3\x21\x76\xfd\x7d\x2a\x5c\xaa\x24\xdb\x2d\x6f\xa9\x42\x9a\x91\x1a\x19\x7c\xc0\x92\x16\xfc\xb8\x39\x7f\x41\xb4\x8d\x3f\xb6\xad\x05\x20\xe0\x1d\xdc\xa2\xb7\x68\xdc\x05\x71\xe8\xa5\x8f\x44\x0a\xdf\x33\x1f\x72\xec\x13\x00\x12\x01\xc4\x4c\xa6\xea\x82\x06\x6b\x50\x14\x68\xa7\x97\x68\xc5\x9f\xa8\xa3\x22\x7e\xa8\x53\xcc\xb4\xf5\x5f\x2f\x4d\xcb\xc1\x9c\xdd\x26\x8e\x52\xb1\x4a\xbc\x92\xe0\x84\xfb\xa8\x56\x98\x0b\xa0\xe5\x5d\x0f\x13\xf9\xf1\xbe\xed\x95\xd6\x0c\x85\x71\xc5\xfa\x35\x6e\xbd\x8f\x77\xe2\xb5\x04\xd8\x4c\x3b\x50\x32\xcf\xe1\x14\xdc\x06\xa0\xb2\x2d\xc5\x36\x90\x17\x6a\x78\x7a\x03\x67\x14\xf5\xed\x07\x19\x16\x60\xb1\x0f\x58\x7f\xc0\x56\xd2\xa8\xe9\xf8\x34\x68\x2e\x7a\x74\xb6\xd0\x4d\x0d\x28\x23\x6b\x0f\x4a\xb5\x56\xb1\xeb\x7e\x1e\x61\x7b\x06\x58\x2e\x54\x4e\x48\x36\x62\x20\x2b\x86\xc0\x7a\x11\x09\xae\x16\x1f\xa5\xf4\xc2\xba\xbd\xcf\xe4\x78\x61\x13\xa9\x5b\xe0\x89\xf7\x47\xe6\x12\xb2\x0f\xeb\x96\x26\x65\x99\x2c\xcd\x24\xc0\xc5\xe0\xb7\xff\xe0\x7a\x39\x20\xdb\xb1\xa4\xbf\x9d\xe4\x0d\xb6\x85\x40\xb2\x61\x51\xb2\xe2\x9a\x3e\xfa\xdf\x78\x64\xcd\xc7\xf5\x67\xca\x30\xb4\x58\x3c\x91\x2d\xd4\x46\xb3\x1f\xc2\x91\x00\x04\xc3\x18\x53\xf8\x0d\xe7\x8d\xed\xac\x0c\x55\x97\xf5\x27\x50\x41\x6c\x72\xbc\x8d\x42\xea\x97\x81\x00\x50\x49\x2a\x84\xa8\x4c\x47\x3b\xe6\x9d\x89\xa7\x5f\xe6\x7f\xc4\xd5\xf8\xe9\x11\x91\xb4\x28\x52\x44\x27\xab\x9d\x08\x16\x57\x5b\xa0\xa7\xbe\x10\xc2\xc7\xbc\x2c\x41\xdf\x86\x27\xd4\x21\x18\x67\x89\xb8\x87\xe9\xd4\x65\x4d\x00\x63\xb8\x80\x7d\xea\x81\xc0\x04\x5a\x1d\x14\xb2\x38\x8a\xc4\x82\xdc\x3e\xcb\x7c\xbd\xa1\xfe\xe1\x62\x41\xbd\x48\x31\xf9\x9f\x14\xe9\xc3\xb6\xe5\xb5\x87\x11\x20\x29\x69\x1a\x33\x25\x64\x48\x00\x1a\x24\x39\x81\x6c\x5b\xfd\xe2\x7d\x78\xad\x61\x0a\x05\xe3\x40\x51\x23\x91\xf8\x19\x39\x06\x17\xf4\x78\x29\x4d\x96\x8a\x71\x5f\x1c\xc3\x36\x4f\xb4\x79\x40\x09\x87\x61\x3f\x24\xf1\x5a\x31\x6a\x46\x5f\x01\x65\xdc\xd0\x58\x86\x03\xca\x1f\xe7\xf4\x89\x7f\x7c\x96\x86\xd0\x40\x58\xc0\x97\x25\xe0\x46\x00\xbb\x18\xa4\x57\x53\xcb\x67\x93\xca\xda\xef\x15\xab\x5c\x95\xf0\x17\x6d\x12\x7d\x46\x47\x3a\x9a\x31\xc8\x7a\x8b\x35\x9e\x2d\x5d\xb7\x3f\x44\xa3\x24\x89\x93\x53\xaf\xc3\x51\x73\x0d\x2a\x20\x9c\xcc\x5c\x30\xba\xd9\x24\x48\xa8\xfc\x96\x36\xda\x12\x97\x30\x90\x75\x50\xbf\x80\x15\x53\x16\xf8\xa7\x9e\xf2\xfd\xc4\xbd\x89\x5d\xe0\x34\x6b\x5a\xab\x22\xbf\x02\xb9\x83\xb2\x25\x3a\xbd\xd7\xb8\x52\xf0\x4c\x92\x77\x50\x0f\x6e\xd9\x74\x7d\x5e\x02\x4b\x16\x70\x22\x3e\xfd\x97\x7e\x14\x2a\xa8\xf2\x12\xa7\xc1\xe0\xe2\x0a\xfd\x6d\x4c\x3d\x9c\x09\x95\xfd\xdc\x57\x14\x3e\xd0\x74\xe8\xfa\xf2\x1c\xfc\xd4\x8f\x9c\x4c\x6a\x54\xc0\xb0\x25\x2a\xe0\x68\x0f\xd1\xfe\x0f\xeb\xfd\xa6\x4c\x00\x6c\x61\x5c\xb5\x4b\xd2\x61\xb4\xe8\x39\x22\xb5\x5c\x36\x1e\xdc\x8d\xa8\xea\xf6\x93\x77\x04\x38\x1f\x2b\x98\x22\x72\x15\x48\x54\x2e\x34\xcb\xd6\x8f\x08\xe6\x36\x4a\xf3\x0d\xdd\x42\x97\x97\xf4\x2d\xe9\x9b\xd8\xeb\xea\x63\x04\x97\x65\xf9\x28\x96\x41\xc2\x30\x0c\x07\xb3\x9f\xa6\xde\xef\x46\x73\x29\xd4\x33\x70\x71\x89\xd3\x45\x80\xda\x51\x0a\x7f\x9e\xda\x25\x6c\x69\x20\x64\x09\x23\x5b\x25\xdd\x0f\x8b\xfd\x78\x03\x3f\x30\x7b\x76\x5e\x10\x6c\x2a\xc3\x92\x53\x51\x6c\x83\xed\x42\xa3\x4d\x30\xa1\xd0\x52\xc2\xcb\x9c\xcf\x9d\x09\xb6\x8a\x25\xea\x17\x95\x07\x0d\xb2\xac\x8c\xd8\x69\x34\xa5\x83\x48\x9f\x57\x28\xf4\xf9\x1a\xcd\x22\x7f\xd7\x61\x84\x71\xf5\x90\x68\x3d\x59\xba\x89\x06\xa6\x60\x88\xc4\x2f\xc2\xf4\x7c\xf5\xa3\x4d\x81\xf8\xa5\xc1\xb5\xe5\x8e\x9e\xe3\x15\xac\x9e\x9d\x0e\xbe\xac\xc2\x40\xdb\xbf\xa8\x2e\x58\xa7\x74\x94\x1a\x06\x76\x15\x20\xb1\x3f\xbc\x19\xef\x70\xfc\x95\x8c\xf8\xd5\x39\xa8\x28\x04\x15\x3c\x76\xfa\xa2\xa3\x4c\x45\x50\x65\x02\xd4\x60\xba\xa3\xa0\x52\x99\x6f\xd0\x38\xd7\xf3\xcc\xe3\x68\x97\x40\x5e\x75\x10\x60\x0c\x2f\x0a\xb6\x6c\xe3\x4d\x16\xce\xc1\x45\xab\x5f\x4e\xd1\x04\xd7\x8e\xc8\xf0\x2f\xb5\xdc\xbc\x2c\xb4\xf8\x70\x1b\x36\x68\xa1\xb3\xb7\xe6\x57\xea\x20\xe2\x53\x82\x5e\x82\x5f\x82\xcd\x0e\xf8\xd3\x45\x12\x6c\x85\x41\x01\x80\xb1\xa0\x53\x01\x6c\xf3\xb3\x1b\xb6\x83\xdb\x34\x47\x78\x90\x2e\xb6\x6c\xfd\x86\xc7\x3b\x00\x6a\xfe\xb5\x03\x74\x67\x8c\x02\x2c\x83\x9b\xd1\x12\xca\x2a\x32\xae\x18\x80\x8b\xfe\x8b\xb4\x83\x7c\x7d\xba\x53\x43\xbc\xea\x3a\x66\x17\x88\x32\x44\xa3\xdf\x86\x2a\x49\x06\x5b\xdb\x82\xa9\x90\x94\x3d\xfa\x99\xb2\x3a\x50\x69\xc8\xfb\x27\xd4\x9e\x91\xc8\xd4\x7b\xed\x2f\x01\x35\xf5\x9b\xb3\x56\x10\xac\x10\x89\x46\xc4\x52\xef\xbd\xa2\xe6\xe3\x12\x0d\xdf\x58\x1a\x11\x5d\x93\xe6\x28\x02\xef\x75\x8a\x77\x6c\x7f\x8d\x30\xd0\x1a\x80\xf6\x0a\x5b\xc4\x86\x1a\x40\x24\x3e\x91\x23\xa7\x83\xb0\x28\x8f\xb7\x71\xbb\xef\x46\x41\x64\x6f\x22\xbb\x3e\x71\x82\x50\x79\x74\x5e\x63\x65\x1f\xe1\x86\xdb\xa9\xb8\x2e\x3c\x89\x99\xdb\x85\x33\x6a\x34\x5c\x5a\xbd\x7b\x95\x95\x6d\x62\x95\x66\x08\x07\xc7\x5c\x11\x07\xca\xc1\xde\x5e\x6b\x1a\x9d\x64\xe7\x2a\x41\x5d\x88\xcc\x21\x01\xbc\x26\x60\x0a\x3b\xc1\xb3\x0e\x81\x91\xcb\x5e\x6b\x75\x3e\x89\x82\xa3\x9b\xd1\xea\x47\xb3\x66\x28\x91\x9d\xee\xbd\x2a\x4e\x0e\x42\xee\xc0\x27\x23\x95\xf1\x5e\x2e\xc1\x3b\x42\xef\x70\x5c\x4a\xf8\x7d\xdc\x93\x1a\x43\x4b\xd4\x8a\x04\xdb\x51\x49\x54\x41\xc2\x7a\xb4\xbc\xac\xa8\xf2\x2d\xab\x40\x3d\xa4\x8f\x5a\x62\x58\x4c\x39\x30\x2b\x98\xee\x2c\x79\x22\xef\xdd\x7c\xde\x4b\x70\xe3\xf3\x5d\x30\xf1\x2a\xa3\x1b\xad\x17\xde\x71\x96\x6f\x8f\x7e\x0a\xf2\x0d\x16\xd5\x26\x4f\x1f\x31\x28\x88\x49\x25\x7b\x7a\xc7\xe2\xd0\x30\x97\x81\x57\xf6\x70\xd5\x1d\xe0\x68\x26\xce\x92\x00\x0e\x04\x6a\xaf\x04\x57\x41\xa0\x7e\xdd\x2d\x78\xe8\x48\xe8\x58\x44\x65\xb1\xdf\x01\x6f\x89\x64\x63\x51\x2c\xa0\x8e\xc3\x4c\x54\xa0\xd7\xb1\xfc\x24\xd8\x1a\x86\x1f\xb0\x5c\x57\x92\xa5\x76\x2b\x16\x52\x00\x5a\x1c\x6a\x4b\xd8\xdf\xd5\x18\x31\xc6\xa0\xa9\x98\x2f\x61\xc6\x19\xa0\x7d\x4b\x48\xc8\xd6\xeb\x50\x8d\x5a\x94\xb7\xa0\x0b\x90\xb1\x0e\x2d\x66\x79\x94\xc9\x92\xb6\x4f\xc8\x45\x52\x5e\x9d\xc9\xa4\x9a\xca\x04\x62\x89\x2d\x79\xb3\x4c\xf7\x9b\xad\xc7\x78\x51\x0c\x8d\x8c\x7f\xea\x20\x17\x2b\x0e\xf5\x0a\x5f\x20\xba\x38\x9a\x78\x87\x78\x05\x44\x4a\xec\xa8\xae\x70\x34\xcf\x29\xc3\x46\x8a\x45\xb8\x31\x26\x11\x6b\xf7\xc3\x53\x2d\x94\x68\xe5\xb7\x6d\x69\xa3\x79\x4d\x98\xad\xd3\x02\x65\xd8\x08\xd8\x0e\x57\x7a\xba\x8b\xf2\xc3\x1a\x5b\xbb\xc7\x56\x23\xf0\x25\xac\xaa\x1d\x4c\x28\x14\x73\x80\xf0\x9d\xfa\x70\xdd\x67\x50\x4d\x51\x5e\x75\x60\x3d\x68\x92\x0a\x20\x86\xb1\xd1\x5f\x12\x00\x2e\xee\xda\xfc\xec\x38\x11\x5a\x2b\xac\x22\x61\xdb\x77\xdb\x34\xec\xc5\xee\x43\xd1\xff\x8c\x24\x72\x2e\x28\xbc\xfd\x47\xfc\x63\x4f\x32\xfd\x66\x70\x7b\x11\x58\x53\x49\xf5\x1c\xda\xf3\x05\xca\x02\xa6\x49\x3b\x35\x81\x74\xe0\x27\xc4\xf0\xfc\x3b\x19\xc3\xd7\x87\x1d\x8c\xb8\xf4\x72\x9f\xa1\x2b\xd4\xa0\xf4\xd8\x76\xc4\x81\x25\x96\x41\x32\x23\xed\xde\x21\xcf\x22\xa8\xca\x77\x01\x04\xa3\xbe\xb9\xa3\x6f\xf4\x10\x73\x0d\xdd\x49\x10\x34\x5c\x1b\x1a\x81\x2b\xe2\x0d\xf0\x5d\x04\x57\x6f\x17\x92\xc0\x33\x3e\x1c\x91\x0b\xee\xf2\xca\xe5\xea\xa1\x69\x2c\x61\xe8\xc5\x63\xf3\x72\x82\x90\xf6\x94\xb2\xf5\x0b\x8c\x01\x74\xcf\xe5\x60\x21\xb5\x74\x88\x37\x6c\x87\x03\x8c\xa6\x69\x30\x6d\xd6\xd4\xfa\x86\x38\xd4\xe8\x75\x7c\x6e\xcd\x38\xdd\x5b\x97\xd9\x65\x55\x36\xe7\x89\xd4\x89\xd9\x5b\xb5\xd9\x77\x41\xa3\x6e\x5c\x50\xf5\x07\xf1\x64\xa8\x14\x2d\xbc\x1c\xcb\xaf\xf6\x67\x94\x56\xb4\x2d\x8c\x2a\x48\x62\xf1\xda\xc1\xd7\x0a\x61\x7b\xb3\x89\x9a\x24\xda\xf4\xae\x5d\xb7\x8b\x21\x96\xa2\x65\x00\x77\xb0\xba\xb6\xb5\xdf\x26\xa0\xc5\xdc\xa8\x5f\x1c\x52\x55\xd4\x3a\x4c\x11\x82\x5e\xc1\xf6\xcc\x3a\x63\xe3\xa6\x6d\xda\xdf\x7b\xac\xcf\x9a\x83\xc8\x75\xe7\xee\xbb\xf4\x38\xe0\x5d\x35\x1f\xb7\x7a\xf5\x5e\x44\x9c\x15\x2b\x56\xb5\xd1\xa2\x70\x0e\xd9\x4c\xe6\xcb\x91\x6a\xc4\x33\x1d\x27\xd2\x53\x62\x17\xa3\x31\x5f\x77\xc2\x2e\xb3\xf7\x53\xef\x13\xda\xcf\x13\xf1\x67\x19\xc6\x24\x63\xe2\x31\x2a\xd5\x5f\xf9\xf6\xe0\xcd\x4b\x51\xce\x13\xc7\xee\xe4\xe8\x6c\xc1\x30\xb4\x87\x20\xc7\xbf\x4e\xbc\x69\x40\x01\x99\xdd\x54\x1c\x17\xcb\x26\x88\x42\x0c\xa9\xa0\xb8\x3a\x99\xa0\x7f\x4c\x8e\x60\x8c\x34\xdd\xc4\xb2\xaf\x14\x1a\x71\xde\x9f\x0d\x6f\x54\x59\x85\x99\x67\x54\x5c\xf3\x54\xc5\x35\xd9\x68\x2c\xe7\x20\x04\x15\x96\x6e\x2d\x14\x57\x8c\xe7\x58\xae\x1a\x3c\x49\x80\x95\xe8\x2f\x83\xbf\xa5\x73\x44\xd2\x44\x71\x90\x1b\xb4\x58\xc8\x3e\x53\x8c\x55\x76\x06\xc4\x9e\x62\x34\x39\x65\x2a\x65\xbf\xa6\x92\x75\xcb\x4f\xd3\x78\x11\xf8\x56\xfb\x9d\xb4\xbf\xdc\xb4\x67\x92\xdc\x14\xdd\x91\x38\x3a\xa4\x1d\x9a\x4e\x08\x59\x06\xec\x0d\x5d\xfb\xd9\xe2\xd1\x9e\xd6\xb0\xa9\x82\x97\x99\xaf\x49\x12\x00\x13\x22\x6b\xb1\xc1\x3c\xcd\xe0\x7e\x67\xa4\xa4\x3d\x71\x20\xc2\x6b\x71\xb2\x3a\xf1\xd6\x4f\x45\x89\x9b\xaf\x70\xce\x2f\x82\x8c\x8c\xc0\xfc\xf3\x51\x57\xc6\xc2\x9f\xfd\xad\x5f\x40\x38\x81\xc7\x8e\x4a\x60\x64\x33\xae\x7b\x18\xce\xe2\x11\x7f\xc8\xfc\xd5\xee\xb0\xff\xeb\xf6\x77\x27\xbf\x3b\xf9\xfa\x88\x96\xd5\x91\xfa\x00\x20\xbf\xe2\x04\x13\xd8\x37\xf8\x7c\x86\x31\x9b\xfa\xc5\xd4\x43\xc7\xd6\xb1\x4e\x26\x3b\x92\xd1\x38\x47\x48\xce\x51\x94\xc3\x36\xb6\xce\x68\xcd\x14\x03\xcb\x07\x76\x9a\xaf\x7c\x5d\x88\x07\x77\xab\x1f\x72\x04\xc6\x6b\x7f\x09\x6b\xb2\xc6\x56\x0a\x54\x43\x76\x20\x5b\xd4\x33\x3b\xf2\xb6\x04\x8b\xbb\x8d\xc1\x25\x7e\x1d\xc3\x2f\x78\x17\x27\xfe\xee\x8e\x41\x73\x58\x7a\xb6\x10\x9c\x62\xf4\x57\x9c\xe3\xa2\x5c\x7d\x18\xc2\x8b\xee\xbc\x22\x31\x31\x28\xf8\x84\x15\x1c\x56\x5c\x2b\xa2\xe8\x26\x66\x70\x5e\x31\xbe\x6d\xcd\x3e\x0a\x1f\x43\xe0\x39\xa0\x7e\x11\xe6\x4b\xa1\x04\x8f\xac\xf1\x79\x5c\x0a\xa6\x96\x78\x30\x9c\x1a\x70\x04\x1b\xf4\xb4\x07\x6b\x6b\x61\xd7\x31\x50\xa8\xed\x9e\xa5\x69\x15\x9c\xbc\x40\x18\xb5\x6c\xe1\xd8\xde\x14\xf3\x00\x31\x6b\xa1\x31\xda\x5a\x8f\x54\x05\x5c\x63\xa4\xb5\x65\x5f\x62\x0b\x04\x0b\x65\xd4\xbf\xc0\xf2\xd6\xe4\x0c\xcb\xec\x8c\xaf\x86\x17\xb6\xd2\x26\xe3\x2b\xf8\x71\x7c\x3d\xba\xe3\x67\x6d\x70\x5a\x4a\x77\xb5\xd6\xe5\xe2\x37\x67\xad\xaf\x5a\xde\xf4\xd3\xc7\xfb\xd8\x4f\x96\xa7\xda\xfc\x61\x83\xd2\xf0\x64\x33\x48\x8a\x9f\x97\x4e\xe2\x44\xc8\x98\x56\x52\x30\x6d\xa0\x29\x6e\x0e\x1d\x07\xb8\x59\xd0\x69\x6c\x28\xa4\x20\x49\xe1\xd4\xb6\x4d\x98\x89\x8b\x75\xa5\x83\x61\x2c\x69\x8d\x36\xf4\x54\xba\xa0\x3b\x1a\x62\xc4\x85\x04\x5c\x02\x22\x34\xcc\xae\x80\x88\x02\xa6\x73\x4c\x84\x86\xdd\x1a\xf3\x68\x00\x96\x36\xe4\x0e\x68\x6d\x9c\x36\x47\xce\xcf\xb5\xc3\xea\xc5\xc5\x0e\x58\xce\xde\x6f\x63\xc4\xbb\x3b\xc0\x6b\x68\x5b\x1d\xe0\x06\x4a\x57\x1f\x78\x0d\x41\x87\xf7\xab\x40\xd1\xc3\xeb\x55\x43\xf2\x51\xd8\xdc\xb4\xe6\x74\x34\xdc\xfd\xbb\xe0\x9b\x37\x72\xe7\x95\x58\xdc\xb4\xbb\xc0\xb7\x78\xf1\x0b\xb0\x8e\xdb\xdb\xbc\x87\xcb\x20\xdf\x40\x65\xfe\x45\xa0\x02\x06\x2b\x3e\x02\xcd\xe7\x38\x88\x3f\x0c\xdb\x2b\x99\x9b\x3c\x64\xc8\xda\x88\xaf\xd0\x19\x57\x57\xf4\xd8\xe2\x11\xed\xa3\x87\x15\x8e\xb7\x55\xd4\x7a\x89\x97\x41\x3f\x01\x45\x01\xd2\x77\x1d\xe3\x6c\x09\xe9\x31\xa6\xa2\x2d\x9e\x47\x81\xa2\x28\xa6\xcd\xa3\x8f\x89\x54\xb4\xa5\x53\xef\x75\x70\x02\x97\x9f\xec\x31\x4e\x05\x47\x06\xa0\xb2\xc2\x3a\xf6\x66\x23\x28\x9c\x95\x3d\xad\xb6\x70\x27\x45\x82\x0e\x64\x42\x19\x80\x77\xa2\x07\x40\xe3\xbd\xc6\x68\x36\xe4\x01\x95\xdc\x40\x35\x5c\xdf\x20\xa8\x38\x54\xc9\x2f\x69\x89\x6f\x52\xd4\x3b\x84\x49\xd4\x25\xba\x3d\x52\xa2\x00\x6b\x8f\x2a\x32\x36\x6b\x77\xf8\x50\x01\xd0\x1e\xbc\x60\x00\x74\x89\x5f\x90\x20\x17\x28\x4f\x30\x6b\xab\x03\xaa\x5c\x87\x14\x52\xda\x06\x30\x75\x8d\x71\x32\xd6\x97\x73\x98\x13\xa1\x78\x39\x3f\xb7\x24\xf1\xcb\x73\x75\x6b\x3e\xec\xe6\xea\xae\x8e\xeb\x50\xde\x6e\x4d\xd6\xde\x56\xd7\x1a\x85\x36\xdf\xf6\x5e\xdc\xfb\x0c\x26\xf4\xda\x92\xd2\x27\xe9\x67\x36\x9c\x6b\xa6\xec\x61\x63\xae\xef\x97\x43\x1b\x90\x35\x95\x7b\x7a\xf4\x1b\xa6\xe1\x60\x4e\x7d\x4d\xa3\xf6\x6c\x4f\xf1\x8f\x9e\xe4\x68\x0f\xb5\x7c\x79\x17\xbc\x74\x67\xdb\x0d\x2b\xfb\xc5\xdd\x71\x1e\xce\x95\x5d\xdb\xfa\x87\xf6\x66\x1b\x34\xbb\x78\xb3\x5d\xc9\xdc\xdd\x9b\xed\x48\xe6\x1e\x1e\xec\x1a\xb1\x07\x77\x62\xd7\xa8\x7d\x31\x77\x47\x6d\x6c\x5f\x8e\xcf\xb6\x60\x8a\xdd\xad\x77\x00\x99\x65\x75\xe2\xed\x37\x91\x6a\x66\xd8\xa7\x52\xce\xe2\x2a\xbe\xe7\x68\x80\xfd\xce\x40\xd3\x53\x57\xc6\x66\x99\x31\x13\xf5\xbe\x73\xd3\xe4\x79\xda\x73\x3c\x36\x87\xd4\xce\xa4\x62\xba\x0e\xd5\xfb\x3b\x35\x16\xb5\xf1\xb5\xdd\x86\x47\xcf\x10\x65\xf6\x57\x9b\x91\x72\xb5\x3d\x0c\x0d\x16\x69\xaa\xa2\x70\xb5\x71\xd7\xcc\xe4\xb3\xe1\x46\x08\x54\x1e\x99\xc3\x83\x31\x39\x5f\x05\xe5\x56\xa6\xb4\x30\xd9\xda\x14\xff\x32\x35\x54\xb3\x5a\x49\x1a\x43\x59\xd3\xf5\xce\x62\x76\x9d\xa9\xdc\x9a\x3e\x14\xfa\xa5\x7a\xc8\xb1\xb5\x10\x1a\x16\x7b\xb3\x64\xd8\xf4\x18\x83\x66\xa8\x39\x84\xde\xe4\xd6\x69\x34\x8c\xe0\xed\xd4\x14\x4d\xb7\x90\x5b\xf1\xc2\x71\x46\x4b\xc6\x88\x02\x46\x3b\x2e\x6c\x56\xa6\x52\x7d\x0c\x47\x64\x37\x36\x7c\xb1\x5e\xc1\xa1\x1d\x19\xc5\xb7\x17\x29\x7a\x68\x9c\xe1\x62\x4f\x94\x78\x45\x2a\x3e\x77\x90\x71\xe1\xb6\xce\xbb\xb0\xdc\x96\xa4\x9f\x66\x93\x50\x6d\x6e\x47\xea\xd0\x51\x86\x41\xe4\xde\x83\xf0\xb3\x9c\x1c\x39\x6c\x27\xe1\xc6\x79\x8f\x78\x2b\x30\x16\x4b\xb4\x24\x1f\x4b\x9e\xf2\xdb\xf2\x25\x27\xea\xd3\x58\x05\x89\x3e\xe4\x11\xcf\x99\xaa\x05\x85\x29\x64\x68\x2d\x62\xa5\x85\x52\x04\x71\x2d\x21\x5e\x59\x42\x25\x34\xde\x2a\x52\xcc\x92\xb0\x75\xab\xca\xac\x02\xa4\x1d\xcb\xa2\xe1\xbe\xfc\x2b\x16\xee\xf1\xa3\x86\x3b\x56\xed\xa0\x76\x3f\x14\x8b\x71\x9a\xb7\x74\xb9\x37\x68\xb2\x68\x6b\x94\x71\xcb\x7c\x4f\xbb\xa2\xb0\xd3\xc1\x59\x1d\x77\x46\x4e\x42\x59\xbc\x19\x98\x60\x1d\xed\x83\x21\xa9\x8c\xa1\x77\xdd\xe2\x5b\x87\xae\x0c\x81\x4d\xf5\x67\x6b\x04\x20\x3f\x6c\xc9\x82\x26\x2b\x9c\xed\x00\x7b\xb1\x02\x17\xf7\x1e\x97\xd0\xc3\xb2\xe5\x19\xae\xb0\x0d\xcc\x69\xd8\x1f\x5d\x5c\x7a\x36\x0e\x35\x6f\x99\x76\xc5\xfa\xb9\x39\x85\xf2\x5f\x96\x85\xe0\xa0\x83\xbf\x4b\x8f\x7a\x8d\x4f\xbd\x1d\xeb\xa3\x04\x41\xec\x43\x02\xab\xc7\x07\x20\xa4\xd0\x7e\xdd\x49\xc2\xe2\xef\xde\x6c\xf6\xce\xd4\xce\xb4\x3b\xa2\x25\x13\x5c\x57\xfd\x53\x07\x4b\x4c\x50\x4a\x64\x58\xb1\x7e\x94\xd5\x70\x39\x6e\xe4\xdb\x7f\xf8\xc7\xab\x63\xef\x9b\xaf\xbf\xfd\x3d\xfe\x73\x61\x33\xe1\x5f\xca\x5a\xb6\x68\xc2\xa3\x0a\xb7\x1c\x15\x21\xd6\x9b\x20\x3e\xae\x03\xb1\xe1\x86\x0d\xf2\xe4\x71\xef\x72\xce\xa9\xcb\xe0\xf0\xd3\xf5\xa5\x2c\xb8\xdf\x1b\xa5\x78\x29\x10\x82\x7a\x73\x08\x99\x0c\x5f\xb3\xe7\x5a\x90\xc7\xb2\xfc\x4e\x18\x27\x58\x9d\x21\xce\xb3\x4d\xde\x56\xa7\x85\x9e\x94\x55\x10\xf8\xd9\x36\xb8\xdc\x35\x95\xfc\xa0\xd4\x46\x55\x95\x26\x6c\x41\xa0\x8b\x73\x14\xb5\x01\xf9\x65\xdb\xd4\xc5\xca\xe9\xa2\xbc\xad\x54\x57\x4a\xe6\x3c\xcb\xac\xc4\x75\xbc\x15\xca\x6f\x43\xba\x12\xa8\x32\xdb\x20\x06\x1e\x53\x16\x67\xca\x25\xe7\x5a\xd3\xa4\xaf\x0b\x0f\x0c\x11\xa7\xac\x49\x7e\x53\x96\x34\x26\x2c\x06\xeb\x3c\xde\x06\x85\x5f\x87\x33\xe1\x54\x5a\xa7\x0c\x09\xc1\x8a\x67\x4b\x4e\x86\x0b\xdc\xd3\xad\xe5\x98\xb9\x33\xa8\x4c\xe7\xf3\x1f\x30\x07\x17\x87\x63\x57\xfa\x68\x0c\xdb\xad\x1c\x41\x25\xdf\x34\xde\xc4\x5c\x8a\xa8\x20\xd0\x8a\x7e\xf1\x51\x24\x83\x60\x4d\x89\x96\xb1\x4e\xf7\xe7\xad\x83\xea\xdd\x9b\xa5\xf1\xc8\x00\x25\xa2\x6d\x07\x8d\x61\x3d\x70\x1d\x2e\x7a\x03\x7d\x7c\x46\xec\x4f\x69\x3b\xd9\x00\xdb\x68\xcc\xd1\x9b\x43\x88\x30\x73\xb9\x33\x20\x04\xc3\x9d\x96\xea\xad\xe2\x4e\xd9\x16\x19\xc2\x7e\x00\x1e\xb6\xf8\xd9\x5f\x6f\x42\x81\xf1\x4f\xb6\xb1\x9e\x4b\x2b\xbf\x31\xaa\x13\xfd\x07\xbd\xd7\x82\x26\x3d\x6d\x85\x7a\x6a\x7b\x97\x0b\xfd\x7a\x7e\x86\x15\x41\x40\xb8\xfb\x41\x28\x96\xaa\x30\x17\x16\xc0\xc2\x36\x34\xb7\x5c\x0b\x96\x82\xa0\xa8\x0a\xe1\xb1\xae\x38\x9a\xd2\x52\xf3\xb7\xf0\x1e\x07\x5b\xe2\xf6\x41\x69\xbc\x0a\xb6\x82\x38\x6b\x3b\x1f\xe6\xcc\xfe\x2d\xf7\x31\x50\x84\xa0\x27\x33\x09\xf2\x74\x11\x64\x71\x95\x8c\xc6\x1e\x04\x95\xfa\xad\xc7\x66\x99\xcf\x88\xeb\x7f\x2c\x29\x3a\x51\xd6\x1e\x91\x91\x6b\xc6\x15\xd1\x76\xd4\x48\x92\x74\x49\x47\x59\x79\xec\x28\xc5\x6b\xc3\xe2\x63\x9a\xaf\x81\x6c\x91\x16\x81\x93\x94\x85\xec\xad\x45\xe6\x2f\x7d\x6b\x84\x08\x16\x3c\xd5\xaf\x8b\xc6\x0a\x64\x5e\xca\xc5\x58\xb2\xb8\x1a\x5f\xe9\xf9\x81\x82\xcf\xad\x2f\x10\x63\x1a\x60\x69\x30\xcb\x20\xb0\x7e\xa2\x59\xc6\x11\x99\x25\x80\xcf\x28\xd1\xb8\x58\xa1\xcd\xae\x43\x0c\x6e\x2e\xc0\x18\x44\x5b\xf8\x4b\xab\x4e\xaa\xde\x60\x33\x09\xa3\xeb\xf7\xe3\xe9\xe4\xfa\x6a\x74\x3d\xf7\xb8\x3b\xe7\xe5\xc8\xa3\xc6\x81\xb6\x08\x2e\xea\x01\x38\xc6\x6e\x3f\xaa\x9b\x27\x7d\x68\xef\xe6\xd9\x84\x66\x66\xdb\x14\x8d\x70\x2d\x7b\x64\xf4\x2f\xc3\xab\x1b\x80\x65\xe3\xd3\x6c\x74\x75\x63\x09\x37\xe3\x2e\x0e\xec\x5d\xdf\x24\xf1\xcf\x4f\xaa\xa4\x3a\x96\x05\x97\x01\x84\x36\xf3\xcc\x50\x5e\x60\xb9\xc7\xc6\xcf\x4f\x12\x0a\x87\x0e\xab\x48\x40\x2a\x30\xde\x8a\x7b\x77\x0b\xd6\xf0\x50\xe6\xab\x32\x25\x07\xb2\x5e\xd5\xa9\x7b\x36\xd3\x55\x13\xfd\x7d\x2c\x57\x16\x52\x77\x30\x5b\x49\x4a\xe2\xc4\x93\xfd\x3c\x59\xdf\xea\xc0\x1b\xf3\xd3\x7a\x39\xd1\x3b\x96\xb3\x5b\x62\xe8\x67\xab\x1a\xee\x60\xa8\x92\x88\xca\x76\x2a\x43\x59\xe8\x36\x51\x0d\x0f\x6f\x9f\x32\x88\x7a\x4e\xf3\xd4\xf0\xf3\xd8\xa6\x68\x74\x2f\x65\x9a\x1a\x7e\x19\x76\xa9\xea\x98\xf7\x35\x4b\xed\x3e\xec\x67\xb1\x49\xbd\x08\x1b\xf6\x34\x49\x1d\x90\x25\x87\xb7\xb2\x34\x30\xe6\x65\xcd\x51\x2d\xdc\xf9\x72\x6c\x51\x9a\x4b\xfd\x4c\x51\xd5\xb1\xed\x6a\x87\xb2\xa2\x77\x31\x43\x75\x13\xd1\xd7\x06\x35\x8a\xb6\x45\x72\x19\x70\xf2\xbd\xaf\x6c\xc3\x9f\xfc\x54\x96\xb3\xcc\xac\x29\x73\xb6\x14\xb1\x12\xa0\xa8\x28\x5c\xe8\xab\xea\x38\xd6\x7a\xf9\x74\x43\x92\x0b\xb8\x31\x86\x09\x59\x75\x71\x3b\x3e\x3f\x3a\xb5\xd5\xeb\xe1\x7a\xcc\x44\x8f\x5e\x7d\xed\xcb\x48\x4a\x6b\x05\xb6\x85\x30\x3a\x83\xb9\x9a\x3c\x29\xbc\x1d\x24\xe4\xf0\x75\x46\x75\x71\x17\xd5\xb2\x15\x2a\xfd\xa5\x0d\xdb\x42\xe5\x54\x16\xf5\x8b\x80\xd3\x9d\x03\xb7\x60\xe5\xf2\x90\x0a\x54\xfb\x38\x35\x66\x39\xce\xee\xa6\xa7\x3d\x86\xdc\xd9\xe9\xb4\x42\x43\x26\xeb\x85\x76\xd6\xf3\x76\x62\x00\x40\xeb\xaa\xd5\x5d\xc1\xdf\x5a\xa2\xb4\x0b\x67\x67\x29\xd2\x2a\xb2\xa6\xf4\x59\x87\xf2\xe0\x5d\xfc\xb7\x44\x32\x9c\x74\xd7\x07\x67\x02\x97\x8d\x81\xaa\xbc\x81\x76\x20\xef\x48\xb8\x45\xae\x36\x20\x70\x21\xb2\x39\x6c\xd5\xa5\x28\x6e\x37\xa1\x96\x00\x56\x87\x4a\xb8\x92\x48\xab\x27\xc2\x79\x6a\x97\x2e\xee\x88\xdd\x68\xe0\x63\xe8\xb0\x94\x14\x87\x52\x2b\x4d\xba\x51\x07\x89\x9c\x42\x48\x58\x6b\xd7\x55\xc8\xc1\x8a\xee\x6c\xe1\x29\x89\x9b\x12\x20\x27\xfc\x68\x9f\x4a\xc5\xfe\x04\xa4\x74\xd6\xb9\xe2\x17\x36\xcd\xc0\x75\xa5\xee\xb7\x24\xac\xe8\x7b\xad\x08\x07\x22\xdc\x56\xc3\x03\x37\x0c\x36\xac\xb1\x78\x7b\xd9\x65\x07\xd3\x52\x10\xc9\x82\xc2\xeb\x2a\xf7\x8f\xc2\x9a\x1a\x38\xef\xdf\x3a\x65\x9c\x26\xb4\xc3\x11\x69\x10\x46\x2c\xa9\xd1\xe3\x4c\xcc\xe1\x04\x9e\x41\xd5\x01\x84\x9d\xa2\xaf\xa3\x2d\x42\x3b\x11\xed\x8d\x0e\xca\x88\xaa\x0a\x63\x71\x74\xb8\x44\xd9\xb5\xd2\xd1\xaa\x44\xda\xf0\xec\x41\xf2\x33\x52\xe9\x46\x58\x53\x48\xef\x9e\xc4\x59\x4a\xb9\x38\xd2\x15\x27\x9f\xfc\x84\x48\x43\x91\xe2\x70\x03\x08\xa2\x38\xcc\x92\x98\xab\x4c\xb7\xab\xbc\x2b\xae\x06\x4a\x6e\xf4\x45\xbc\x74\x57\xb3\xe1\x92\xfb\x97\x3c\x48\x03\x43\xe7\x8b\x97\x78\xbd\x06\x48\xee\x28\xb1\xb0\xaa\xcd\xc2\x5f\x3f\x66\x64\xe3\xb6\x58\x75\xa9\x36\xab\xb2\x22\x5a\x17\xac\x66\x5f\xcb\x34\x5f\xaf\xa9\x11\xcd\x4e\x14\xc0\x07\xb1\x09\xc2\x78\x15\x97\xea\x80\xb8\x0d\x5e\x75\x73\xa4\xc6\x9b\xec\xb0\x66\x0f\x15\xac\x88\xb7\xa0\xb0\xdf\xf8\xd9\xa3\xeb\x62\xab\x72\xe6\x48\xc8\x5e\x9c\x81\x6a\x82\x89\xae\x69\xed\x9a\x2a\x63\x70\xa0\x95\x2e\x10\xc8\xec\x83\x4c\x14\xb6\x48\xa7\x82\xff\x0e\x98\x71\x69\x61\xf5\x05\x4e\x71\xe8\xb3\x3e\xab\x73\x25\x17\x27\xa7\x37\x60\x24\x84\x92\x13\xeb\x38\x8a\xf3\x34\x76\x9b\x35\x39\x47\xca\x3f\xc8\x13\x87\x0e\xbc\xdd\xc8\xaa\x78\x02\x8b\xa6\x97\xa6\x57\xd0\x8d\x32\xae\x67\xc1\x5d\x86\x04\xf7\xbd\xd1\xf1\xd6\x3d\xef\x28\xd5\x8d\x0d\x97\xa8\x7b\x1d\x44\x90\x08\x94\x92\xc4\x3f\x14\x2d\x6e\x17\x14\x4a\x3f\xc6\x48\x16\xa4\x74\x7a\x73\xa6\x4c\x71\xee\xc2\x86\xd2\x8c\x39\x16\xa6\x21\x51\x02\x40\xb6\x73\x09\x76\x79\xfa\xe8\x93\x9e\xf7\x3f\x66\x13\x5b\xc5\x8a\x42\x80\xca\xe7\x8b\x17\x5a\x60\x63\x2f\x8d\x42\x82\x52\x1f\x39\x62\xbc\x33\xbb\x41\x3b\xc4\x72\xd3\x2a\x9b\x8e\xdb\xc0\xd1\x20\x3b\x45\xa9\xc2\xed\xd4\xca\xa3\x15\x73\xff\x3e\x1e\x4c\xc1\x06\x38\xe5\xcc\x56\x1f\x6b\xa3\xa4\x41\x27\x4b\x15\x50\x59\xba\xc5\x19\xae\x92\x36\x45\x49\x96\x56\x2c\x22\x41\xb1\xd4\xdf\xae\x75\x24\x30\x77\xab\xb7\x5d\x6b\x93\xc4\xca\xbe\x87\xe1\x3c\xc8\x70\x6a\x2f\x4b\x1d\x41\x49\x18\x1f\xf5\xd8\xae\x81\x27\x40\x0d\x8f\x13\xbd\x1f\x02\x3d\x85\x95\x34\xdf\x16\x14\x3d\xa9\x7d\x0e\xf2\x76\xa0\xa7\x10\xbd\x28\x01\x44\xe2\xbe\xd7\x6a\x34\xb1\xec\x95\x9d\xee\x08\x52\x0b\x09\x09\x2c\xc7\xba\x5d\x72\x07\xd5\x30\x14\x59\x79\xdf\x69\xf3\xa4\x9b\x46\xa8\x08\x51\x77\xf6\x5d\x10\x1b\x57\xf5\x3e\xa8\x88\xef\x7b\xe2\x03\x86\xf7\x46\xd9\x77\xaa\x5b\x70\xbb\x4e\xf6\x03\x10\xf0\x48\x5a\x48\x91\x60\xd9\x43\xac\x1b\x3d\xac\x62\x23\xc1\x92\x80\x75\xa1\x86\xd7\x0e\x67\x74\xc4\xc1\xab\x96\x7a\x87\x35\x3c\x4a\xb1\x49\x3a\x62\x9f\x65\xa1\xc5\x65\xe7\x4a\xd0\xf0\xb5\x26\x88\x4a\x60\x79\x45\xf4\x90\x49\x06\xe2\x80\xc3\x4f\x49\x2b\x94\x3a\x60\x69\x6d\xb8\x72\x20\x8d\xc3\xad\x4e\x5a\xde\x45\x18\x60\xf1\xa6\x30\xaf\x25\x31\x3b\x8b\x02\x8a\x11\xad\xdc\x6c\x1c\x98\xd2\x0e\x34\x83\xbb\x0d\x0d\x0b\xa0\x2f\x3e\x3a\x5c\x39\x41\xef\xcc\xe1\x40\x8d\xd5\x75\x57\xbe\xd6\x03\x49\xbf\xd3\xc5\xc0\x47\xb5\x62\x18\x9f\xdb\xa4\xa5\xfe\xd6\x14\xe3\xbd\xf0\xa6\x7e\xb8\x85\xe3\x07\x37\x77\xc9\x48\xe3\x8a\x9b\x9a\xe3\x1d\xd0\xa1\x50\x17\x33\x87\xd8\xd8\x9a\x4a\x0e\x59\xbf\xa3\x70\xc7\xbb\xec\x69\x23\xfa\x99\x66\xcb\xc4\x05\x0d\xe0\xba\xec\xb3\xec\x85\xaa\x2c\x6f\xa7\x3e\x7f\xf5\x9b\x97\xe1\x94\xaa\xeb\x21\x2e\x3d\xfd\xaa\x24\x1d\x64\x0e\xeb\x84\x1d\x64\x0a\xb1\xbb\x1e\x5d\x0c\xe3\x7d\x3c\x89\x68\xd3\xe3\x63\x34\xea\xed\x49\xfc\x25\xd8\x6c\x2a\x13\xe7\xee\xc5\xa3\x36\xfb\xf2\x1a\xe4\x98\xe9\xc0\x58\x1b\xed\x91\x18\xe4\xcc\xc9\x93\x58\xff\x94\x4b\xcf\xfa\x29\xc7\xc6\x25\x2b\x0a\x08\xe7\x60\x88\x1b\xbc\x74\xc3\x2b\x47\xc0\xf6\xcc\xfc\x88\x47\x11\x5c\xae\xb1\x09\x12\x27\x63\x88\xe4\xc4\xf3\xde\xe2\xdd\x92\xba\xd0\x3f\x45\x99\xff\x33\xac\xef\x70\x73\x4c\x0d\x93\xfe\xb4\x78\x90\x9d\x1f\x8b\xca\x98\xde\xe0\xf1\x4f\xd6\xa0\x82\x23\xc1\x4c\x68\xa6\x7f\x1b\x08\x3c\x00\x13\x3f\x5d\x93\x6f\x9f\x42\x40\x80\xf4\x98\x17\x0d\x05\x62\x20\xb1\xc4\x9e\xa3\x63\x10\x4b\xe6\x67\xdd\x52\x9e\x5b\xdc\xad\x51\x6e\xe2\x20\x92\x18\xc6\x40\xc5\x38\x43\xf8\x10\x20\x7a\xac\x0d\x96\x66\x02\xcb\xb5\xa4\x54\xb7\x0b\x34\xee\x0c\xbf\x3c\xf6\xb6\x02\x56\xa3\x7d\x5c\xf6\x39\xe9\x38\x3e\x5a\x8f\x89\x53\xef\x3a\xe6\x4a\xb3\x54\x6d\xb4\x23\x63\x46\x01\xc4\x1b\x74\x2e\xdb\xd9\x52\x63\x51\xc9\x23\xe7\x65\x74\x4a\xca\xc6\x12\xb3\x65\xbc\x4f\x3e\xef\x24\x42\x0d\x13\xbd\xf0\xfe\x1c\xdf\xd3\x95\x0a\x1e\xa5\xe4\x81\x23\xdc\x65\x54\x9f\xd1\x56\x79\x57\x11\x86\x50\x11\xa6\x21\x23\x33\xb8\xad\xfa\xd2\x46\x85\xf9\x05\x99\x21\x08\x64\xa3\x68\x1f\x26\x61\x91\x60\x69\xe6\x12\xd6\x56\xfa\x9d\xb6\x7a\xe7\x46\xe6\xec\x9e\x94\xd2\x7b\x48\x17\xe3\xd4\x1b\x21\x9b\xae\x02\x87\x30\x0e\x5a\x44\xcb\x4d\x0c\xeb\xa4\x2d\x0e\x5d\x66\xd4\x68\x05\x0c\xa3\x53\xd4\x7b\x04\xa4\xd2\x63\xd5\x46\xd0\x86\x0d\x5c\xa6\x19\x97\x63\x4e\x7d\xb6\xa5\xc6\x0f\x58\x16\xe9\xcd\xd6\x0f\x01\xe5\xc6\x0f\x92\x54\xf6\x2a\xf7\xe2\x05\xb5\xc0\x5a\x9a\xfd\xaa\x61\xa5\xf8\x09\xa8\x5a\xc8\xd7\xef\xd7\xe1\x2c\x02\x99\x25\x32\xe4\xad\x6d\x9b\x56\x3a\x55\x6f\x85\xee\x5d\x19\x79\xa6\xdd\x15\x64\x9f\x90\xa5\x91\x90\x18\x60\xb6\xea\x99\x5e\xea\x62\xed\x91\x98\x8b\x1b\x49\x70\xe6\x40\x5a\x62\x81\x8d\xf4\x4a\xb9\x6a\xa0\x1d\x57\x54\x95\xfa\x0e\xac\xfa\x1c\xd2\x28\x53\xa1\x98\xee\xfd\xdf\x1f\xf2\xaf\xbf\xfe\x9d\xf0\x88\xf9\xc7\x24\x42\x83\x8c\x42\xaa\xa8\x6c\xc8\x1c\x0e\xfc\x5f\x7f\xb5\x49\xc0\x02\x72\x99\xab\x14\x6a\x1e\x90\xf2\x25\x2b\x4d\x19\x68\x80\x9d\x24\xec\x44\x52\xc2\xd0\x39\x86\x9b\x24\x46\xe3\xd7\x53\x65\x2c\xf7\x71\x1c\x0a\xdf\x5a\x2c\xbd\xfe\x62\x65\x01\x30\x45\x0a\x8c\x2d\x2d\xc5\x81\x10\xb5\x94\xe5\x51\x63\x6d\xa6\x3c\xa3\x0c\xb3\x2d\x8a\x76\x0c\x36\xae\x03\xc4\x0a\x83\xa5\x95\x49\xe2\x3f\x60\xf1\x6f\xeb\xad\xdc\x83\x40\x4c\x25\x8b\x56\x56\xfa\x3a\x39\x56\x10\xc6\x90\x1e\x6d\xdd\xf0\x1d\x68\x82\xa1\xdd\x8b\xa4\xbe\xee\xd4\xe3\x9d\xeb\xaf\x9d\x54\x3e\x38\xcd\xe5\x56\x05\xdc\x48\xf8\xdb\xe1\xf8\x72\x74\x6e\xcb\xd7\x9b\x5c\x7b\xd3\xf1\xed\xec\x6c\x3c\xb7\x54\x4a\x7e\x3b\x1a\xce\x6f\xa7\x23\xef\xed\xe5\xf0\xc2\x96\xc0\x32\xbe\x3e\x1f\x9f\x0d\xe7\x93\xe9\xd8\x7b\x7b\x7b\xfd\xc3\x78\x72\x6d\xc9\xb0\x79\x4b\xb9\x61\x1e\x17\x00\x55\x4e\xd8\x24\xe6\xc4\x30\x8c\xc1\xb2\x1e\xd5\x66\xe2\x96\xac\x9d\xc1\xdd\x97\x93\x1c\xab\x77\x57\x9c\xaf\x45\x8b\x06\xdb\xe1\x2e\x29\x79\x10\xd9\xe2\xb1\xa4\x4a\xa7\x3b\x84\x7d\x21\x19\xc5\x7d\xb0\xa9\x92\xb8\x43\xc0\x57\x95\x22\x8e\x2d\x48\x55\x74\x70\xd1\xf7\xfd\xef\x0a\x12\x7b\xde\xae\x2d\x28\x0e\x30\x62\x0e\x58\xd8\x61\x94\xb0\xc4\xa3\x2c\xdd\xf1\x42\x55\xb9\x84\x13\xac\xc0\xe5\x22\x55\xa5\x02\xf8\x3b\xe0\xac\x0c\xe4\x36\x2d\x48\xf6\xdf\x4f\xe1\xcf\x79\x2c\x13\xa8\x65\x41\x89\x7d\xb9\x65\x64\x64\x34\x05\x0e\xc8\xb0\x58\x5e\xd7\x8e\x54\xb8\x0e\xf2\x00\x8c\x0e\x6b\xe9\x04\xbb\x30\x9c\xac\x55\x09\x17\xbb\x73\x58\xce\x1d\xab\x8f\x2a\xdc\xd1\x66\x63\xb8\x27\x5d\xb6\xab\x46\x72\xf6\xa5\x23\x54\x89\xd8\xbd\xd1\x53\xc4\x47\xc3\x02\xa4\x50\x8d\x17\x58\x82\xa5\x2e\xc9\xe6\xda\x73\x23\xc0\x7d\x8c\xa6\xa8\xd9\x21\x30\xa8\x3e\x08\xa2\xdb\x0a\xb4\x8d\x30\x38\x70\xf8\x1e\xe9\xfd\x39\x8d\x39\x6d\x50\x15\xc2\xbf\x53\xa9\xb8\x6d\x4e\x39\xf3\x40\x42\x40\x7c\x1a\x11\x2c\xd5\x4e\x5d\xdf\x35\xca\x80\x1d\xc9\x52\x1a\xfa\x31\xea\xa0\x32\x77\x1a\x1d\x93\xa2\xb1\x45\x8d\xf5\xe0\x2c\x77\x33\x2a\xee\x1d\x45\x92\xb4\x7f\xcc\xf9\x01\xea\x74\x95\x0d\x24\x12\x32\x84\x34\x66\x1a\x74\x1c\xaa\x40\xe8\xda\xff\x28\x54\xb4\x02\x97\x68\x60\x22\x77\x34\x0b\x9b\x80\xc9\x33\xde\xe6\xef\x6d\xcc\xf1\x0e\xc2\x92\x53\x1d\x79\x61\xf7\x02\x17\xe8\xb8\x00\x02\x3b\x60\xdc\xd7\x83\xaa\x80\x50\x5a\x04\x04\xa4\x0b\xdf\x27\x5a\x79\x32\x6b\x51\x75\x48\xfe\xeb\x5e\x85\x9a\x1d\x8b\xf0\x59\x28\x93\xa9\x8b\x18\xb3\xc3\x7f\xbe\x0d\x7d\xac\x1a\x28\xeb\x70\x2d\x6d\xe0\xde\xaa\xac\xc2\xda\x9b\x45\xec\xb2\xcd\xf3\x67\x45\xca\xc9\x95\x3b\xe0\x74\x43\x68\x73\xf4\x4b\xb8\x16\x67\x3e\xc6\x32\x51\xca\x0e\x1b\x88\x30\xf2\x25\xc4\x46\x3d\xb4\x05\x52\x1c\x07\xa5\x73\xd2\x6a\xfc\x19\x6e\x2d\x70\x29\xc8\x64\x69\x83\x8d\x0f\xcb\x0a\x88\xc5\x1f\x37\x6d\x01\x57\x12\x47\xa4\x8d\x49\x84\x85\x9a\xb5\x1f\x93\x36\xbd\xc8\xb1\x4b\x0d\xdd\xc1\x02\x69\x27\x15\x68\x48\x63\xbb\x29\x08\x24\xca\x47\x2a\xb5\x76\x29\xe3\x6d\x1e\x5a\x9c\x70\x8e\x3e\x16\x3a\x7f\xbd\xe4\x9a\x20\x9b\x24\xa6\x32\x0f\x98\x3e\x11\x47\x0f\x41\xb2\x26\x32\x6d\x25\x29\x00\xc6\x2f\x70\x61\x31\xc3\xf9\x5f\xb3\xf0\x91\x26\x41\x04\x22\x00\x88\xa5\x36\x85\x41\x03\x2a\xbf\xd8\x89\x09\x0d\x58\x26\x6a\x77\xcc\x29\x19\x16\x15\xc6\x36\x84\xb2\x22\x04\x67\xb8\x92\x18\xeb\x8d\xb9\x52\x56\xa2\x5c\x9e\xc1\x99\x90\x75\x40\x0d\x88\x76\x19\x3a\xbd\xda\x77\xe0\x7d\xea\x19\x32\x9a\x5e\xa5\x0c\x19\x89\xf4\x1a\x2a\x01\xa7\x46\xc6\x4b\xab\x15\x19\x9c\x46\x20\x5c\x1b\xfc\x27\x6a\x88\xb4\xa8\x12\xe1\x34\xd6\x3c\xba\x97\x31\xb7\x3b\x4c\xae\x51\xd0\x5f\x91\xc3\xc5\x7b\xdc\x39\x7e\x31\x9a\xcf\xc7\xd7\x17\xde\x6c\x3e\x9c\xce\xad\x77\xf4\xf1\xf5\x7c\x3a\x39\xbf\x6d\xb9\x56\x5f\x5c\x4e\xbe\x1b\x5e\x7a\x93\x9b\x39\x3c\x63\xad\x58\x31\xb9\x41\x10\x63\x8f\x9f\x1e\x5b\xa2\x55\x2f\x44\xe6\xf9\x85\xbb\x5b\xf7\x6b\xa3\x9c\x84\xf4\xd1\x5b\x84\xa8\x02\xd8\x44\xe5\x04\x2e\xbd\x22\xe2\x74\x74\xfd\xaa\x72\x6f\x93\x76\x29\x01\x20\x2c\x3b\x01\x28\x31\xeb\xbe\x3a\xb6\xa9\xe2\x9a\x69\xeb\x0b\xa1\x48\x00\x39\x28\xcd\x61\x75\x48\xe4\x7d\x77\xb0\xc5\x5f\xa8\xa0\xdd\x30\x54\x31\x83\xb2\xbc\x13\x28\x13\x1f\x45\x06\x1a\xf1\x42\xd8\xcf\xd4\xa9\x0e\xb5\x0c\x74\x9e\xb2\x2a\x17\x8d\xbe\x7e\x03\x48\x77\xce\xe8\x45\x11\x40\x9c\x3e\x4f\xbb\x86\x69\x39\x6a\xb6\x64\xad\x7d\xd1\xf6\x0c\x6a\xa8\x86\x51\xe6\xe4\xc4\x9a\x0e\x34\x35\x03\x5a\x1b\x9b\xb8\x69\x74\xb6\x54\x20\x85\x50\xd9\x5c\xec\x9d\x54\x7b\xf2\x51\x59\x46\xdc\x9b\xa6\xee\xc2\x27\x61\xa4\x13\xeb\xa2\x6e\x7b\xaa\x8d\x3b\x2c\x18\x75\x57\x08\x4a\x59\xc9\x75\xbf\x57\x99\xb2\xcf\xb2\xb2\xd8\xec\xf4\x1c\xac\x72\x59\xa6\x85\xb1\xea\x73\x71\xa7\x6b\x23\x70\x70\xe8\x67\x59\x49\x32\x50\xf3\x05\x19\xa3\xf8\xe2\xb9\xaf\x1f\xdb\xe1\xd4\x12\x9d\x62\x6e\x16\xfb\xc9\x64\x8f\x47\x51\xa8\x31\x99\x61\xdf\x92\x11\xd3\x96\xfc\x88\xe7\xa9\xff\x50\xa3\xfe\x70\x0d\x2f\xba\x06\x13\x1c\xbe\x05\x46\x7d\x34\x5d\xc5\xfe\x77\xec\xc8\xdd\x39\x51\xbd\x4b\xff\xef\xdd\xa6\x5b\x8d\xfd\x33\x34\xff\x29\x71\xe3\x4b\x69\xfc\x63\xf0\x23\x7d\xb1\xc1\x4b\xd7\x7e\xf0\x39\x06\x6a\xab\x67\xe4\x72\xf2\xd5\xbd\x07\x7b\x1e\x54\x7c\x39\x4f\x8b\xe6\x81\x3a\x71\x29\x80\x03\x0c\x00\x38\x88\xe3\xc0\xc8\x7c\xd2\x7a\x7a\x91\x00\x65\x92\xd3\x21\x9b\x4b\xd4\x18\x10\x6c\xe1\x1c\x16\x22\xc2\xf2\xbb\xad\x28\x1b\x9b\xa2\x90\x5c\x3a\xcc\x71\xc0\x51\x58\x07\x6b\xee\x54\x22\xbb\x4f\x59\xac\x0a\x8d\xf8\xbe\xd8\x8b\x82\x92\x0b\xaa\x46\x88\xe7\x7c\xe3\xa8\x3a\x9f\xf6\x5c\xd0\xb2\x86\xf0\xae\xf4\x68\x27\xd4\x61\xc8\x68\xd4\x33\x1c\xb5\xbd\xfe\x24\x77\xab\x1e\x3d\xb4\xdd\x43\x8d\xf6\x25\x86\xb5\xe7\x5c\xe5\x4a\x59\xa7\x1a\xe6\x65\xc5\xca\x93\x7d\x6b\xf8\xcb\x0b\xfc\xee\xba\xdf\x56\x4b\xc4\x2a\x0e\x45\x8b\x2a\x65\xc3\xe0\xbe\x17\xcb\x34\xa7\x3b\x68\x7e\xe6\x3e\x2c\x74\xbc\xbe\xfa\x9c\x3a\xba\x65\x29\xb7\x1d\xa5\x93\x59\x7f\x2d\xad\x76\x2e\xdb\x45\x54\x55\xc8\xc2\x99\x2e\x9a\x99\x7d\x47\x7f\xe1\x42\x8d\xca\x45\x59\xe5\x12\xd3\x9f\x77\xbf\x21\x34\x0e\x48\xae\x87\x06\x42\x84\x6d\xb5\x9b\xa4\xbc\x0c\x3f\xea\x35\xf7\xbe\x20\x46\x1d\x5b\x8a\x55\xfe\x2d\xb0\xf0\x85\x16\x92\x95\x41\x2f\x30\xf6\x17\x19\xe2\x81\xc7\xf1\xc2\xcb\xfa\xe5\x17\xe9\x17\xb4\xa1\xbf\x9c\x9d\xfb\x52\x5b\xf4\x19\xb7\xa2\xce\x70\x4d\x77\xbe\x15\x07\x7b\xb4\x10\xed\x4f\x31\xef\xe5\x9d\x2f\xc2\x41\x53\x0b\xd1\xfd\xd4\xc0\xd4\x2c\x83\x2e\xef\x70\xb4\x1b\x1c\xea\x31\x1f\xc0\x1c\x85\x75\x55\x9a\x0b\xa6\x3b\x95\x64\xde\x73\x3a\x7a\x0d\xfa\x45\x07\xd8\x77\x28\x75\x07\xe3\xb3\xc5\xfc\x94\xd6\xa3\xcd\x31\xf9\xd2\x4d\x5f\x6b\xec\x78\xd1\xd1\x7f\xb6\xd1\x36\x74\xb8\x7d\x3e\x43\x4e\xbd\xe3\xed\xbe\x72\xbc\x20\x7f\x6f\xa3\x4e\x41\xdc\xde\x14\xa5\x4d\xed\x76\x5b\xd7\x8a\xab\xfb\x8e\x0b\x07\x36\xac\x96\x06\x4c\x9d\x4b\xa3\x53\xb2\x63\x76\x39\xe5\xde\xcd\xf0\x2f\x4c\xf8\x2b\x6d\x0a\xad\x5a\x3c\x8b\x63\x37\x6e\xc2\x6f\xdf\x27\x8d\xc4\x1c\xd8\x7d\xcb\x09\xfb\x2f\xc7\x04\x9d\xe2\xff\x99\xc7\xcd\x21\xe2\xcd\x2d\xa4\xdf\xd8\x9c\x50\xee\x3d\xd9\x2b\x23\x96\x11\xe2\x0e\x3d\xa4\xdf\x58\xbd\x50\x3d\x1a\xb6\xbb\x0c\x72\x57\x01\xdf\x6f\x38\x3b\xca\xf2\x77\xa3\xe1\xe5\xfc\xdd\xdd\xd9\xbb\xd1\xd9\x1f\xee\xe6\xdf\xdf\x8c\x2c\x74\xcd\xc7\x37\x93\xbb\xb3\x09\x86\x75\x5d\x5e\x4e\xee\xc6\xd7\xf3\xd1\xc5\x74\x3c\xff\xed\xff\xb1\x80\x9d\xcc\xe6\x16\x48\xf4\x93\xf5\xa5\xeb\xe1\x95\x8d\x84\xeb\xc9\xd5\xa8\xe5\x65\xec\x13\x44\x55\x8e\xa8\x5f\xd7\x22\xcc\x97\xa4\x84\x70\x91\x37\xce\xc3\xbd\x8f\x97\x4f\xc7\xd8\x47\xe6\xe8\xbf\x1f\x81\xb2\x85\x1d\x15\xc5\xd2\xbb\x7f\xc2\x7e\x27\x14\xad\xea\xaf\x29\x64\x1d\xab\xe9\xd0\x8b\xba\x6a\x92\x85\xa4\x73\x0c\x60\x95\x98\x15\x52\x99\xac\x0a\x6c\xdf\xc4\xd5\x52\x57\x5e\xbc\xd9\x60\x74\x2d\xe2\xa7\x28\x6f\x0c\xc3\xa3\x64\x43\x4a\xbb\xe6\x6a\x4f\xbe\xb7\xc8\xb1\x43\xde\x6a\x85\xb0\xb8\xde\x52\xcb\x98\xd7\x22\x7b\x8c\x97\xde\xeb\x8b\xd1\xfc\xf8\x06\xd8\x73\x7c\x73\x3b\x3f\x3e\x1f\x5d\x8e\xe6\xa3\x63\x91\x2d\x6c\x31\xae\x57\x22\xc3\x76\x2b\x04\xa2\xf9\xdd\xc5\xc2\x12\xde\xfa\x2e\x4e\x33\x62\x15\xf7\x78\x5b\x3f\x0d\xd2\xfc\x9e\xc3\x90\x6c\xd8\xae\x71\x78\x8f\xf0\x5e\xb9\x79\x5d\xf9\xd5\x76\x64\xca\x56\x4c\x14\x73\x4b\xc3\xd7\xb2\xc2\x80\x8c\xf4\x7b\xf4\xf1\x4f\x19\x0f\xd5\x4d\x89\x4a\x79\xa0\x86\x85\xcc\x07\x35\x51\x2a\xee\x4f\x06\x42\x2d\xe2\x68\x19\x6c\x83\x34\xe8\xa2\x31\x97\x75\x12\x60\x33\x62\x83\x33\x1d\x02\xeb\x9d\x4f\xae\x86\xe3\x6b\x8a\xce\xa7\x70\xe6\x27\x5e\x97\xaa\x31\x23\x86\x74\x76\xd2\xab\x3a\xdd\xd0\xfa\x56\x28\x58\x16\x00\x81\x88\x62\x7c\x3d\x9e\x10\xe5\x3a\x66\x5a\x06\xf4\xd3\x10\x97\x7e\xd1\xaa\xf1\x99\xc6\xc1\xc1\xa9\xcf\x3f\x92\x80\xb6\x88\x8c\x66\xa5\x6e\x78\x66\x1c\xab\xcb\xe0\x10\x35\xb5\x98\x94\x43\x28\x56\x55\x1f\xea\x69\x95\x30\x98\x0a\x89\x08\xaf\x99\x8e\xf1\xf5\x6c\x3e\xbc\xbc\x1c\x9d\x7b\x37\x97\xb7\x17\xc0\xcc\xb3\xc9\xd5\xd5\xf0\xfa\xdc\x96\xa8\x0a\x3f\xc3\xaf\x63\xf5\xb4\x7c\x7d\x68\xcb\x7d\xa5\xdf\xaf\xcf\x46\x77\x57\xa3\xab\xc9\xf4\x7b\xdb\xee\xc7\x1f\xc7\xc3\xbb\x31\x3e\xfc\xc3\xd0\x02\x6a\x15\x61\xc0\x4f\xa9\x74\x9b\x2d\xde\x17\x1f\xf5\xcb\x85\xd9\x2c\x40\x23\xef\x9f\x61\x8d\xc4\x9f\x52\xef\x4c\xd6\x73\xbd\xc4\x4e\x97\xd8\x43\x0a\x2b\xd5\x85\x62\x40\x2a\xf5\xf2\x18\xc4\xc4\xc2\xdf\xc0\x5c\x61\xd2\xcb\x29\xa8\x72\x1f\x3e\x7c\x78\xb5\xf5\xc3\x60\x89\x7f\x9c\xe2\x7f\x30\x75\x09\xff\xb5\xd6\x1e\xb8\x96\xf2\x77\xe5\x17\x95\x5d\x63\x45\xc0\xb1\x9e\x4a\x42\x41\x6b\x8f\x72\xe7\x81\x8c\x18\xf3\x88\x82\x04\xbd\x48\x38\x9d\xbc\x30\x99\xa0\x4e\x52\xba\xc6\x7d\x03\xc7\x4e\x32\x7b\x04\xd2\x68\xd4\xcb\x38\xbf\xb7\x8e\xfa\xc3\xab\x36\x5c\x1f\x5e\xd9\xe6\xa3\x09\x5b\xd3\x78\xf5\x18\xa9\xd7\x29\xd6\x5f\x28\x0f\xb5\x13\xbf\x65\xb0\x7c\xfe\xea\x72\x74\xb2\x2a\xa5\x3a\x90\x5b\x1b\xea\xf2\xcb\x41\xa9\x26\x25\x17\x22\x93\xe5\xe8\x58\x1b\x6a\xe9\xb3\x0b\x10\xe2\x04\xab\xba\x7a\xb7\xa9\xbf\xb2\xad\xd9\x5b\xd5\x3f\x4d\x75\x9b\xc4\xea\x41\x4e\x00\x4f\xbc\x61\x54\x14\xc1\x09\x52\x6f\x1d\xa8\x1e\x34\xb2\x71\x30\x3d\x1c\x3e\x79\x02\xc6\x12\x83\xbc\x39\xc1\x46\x9e\x7d\xe8\x38\xf1\x6e\x23\xa3\x58\x0d\x8c\x3d\x0f\x61\xe8\xb0\x7e\x17\x94\x56\xc8\x4f\x27\x18\x39\x1c\xe4\x54\xdc\x86\xde\xf3\x29\xbf\x86\xb1\xb9\x8d\xe4\x4c\x17\x55\x86\x4d\xf8\x10\xfa\xab\x14\x8e\xf5\x9f\x17\x62\x93\x79\x83\x87\xaf\xb0\xbd\x1b\x8e\xe8\x5e\x86\x56\xc3\xba\xfc\xf4\x88\x59\x40\xdc\x51\xd7\x5b\x03\x55\xc1\x86\x03\xaf\x55\x40\x4b\x59\x60\xd8\x14\x5d\xcb\xa8\xaf\xb9\x05\x90\x91\x97\xc6\xd1\x94\x09\x77\x85\xc3\xd4\x07\xcc\x04\x4a\x02\xad\x5a\x95\xb7\xf6\x6b\x50\x5b\xa8\x0a\x14\x12\xff\x97\x9c\xbe\x4b\x03\xdd\xbf\x17\xdb\x51\x47\xd8\x24\xf1\xb7\xff\xa8\x54\xf6\x20\x2d\xac\x24\xbf\x2c\x1a\x73\x8d\x83\x35\x15\x1a\xb8\x92\x12\xcb\x3e\xbc\xc2\x6a\xe2\x1f\x5e\xe1\xba\xf8\xf0\x0a\x06\x2a\x3e\xbc\xfa\x00\x73\xd3\x77\x29\x90\xf2\xfd\x7e\x34\x1d\xbf\x1d\x9f\x0d\x0d\xdd\xbb\x54\x6d\xa1\x40\x56\xc5\xe5\x36\x8c\xa9\xaa\xd6\x84\x01\xac\xd4\x44\x18\x63\xb4\x8b\x3f\x28\x58\xf4\x08\x6f\x33\x6a\xe5\xa7\xfd\x17\xf5\x54\x65\x50\x1d\xa1\xc2\x3b\x28\x85\xca\xf2\x37\x2a\x04\x9b\xa3\x4d\xf5\xe7\xa3\x72\xf9\xa6\xa0\xc7\x0a\x6f\x19\xd8\x8b\x0d\xe7\x20\xe4\xab\x88\x00\x9d\xa5\x72\x58\xf2\x65\xdb\x9f\x02\xf8\xfe\x24\x0f\x6f\x6e\xbc\xd9\x68\xfa\x7e\x0c\xfa\x88\x52\x4c\x0e\x45\x33\xc2\x96\xea\xcb\x1d\x5c\x59\xee\x08\xcf\x0f\xa0\x36\x1e\x84\xec\x3b\xbc\x88\x92\x93\x4e\xaa\xbc\x07\xa2\x1a\x2f\xb1\x77\x00\xff\x12\x76\x32\x65\x47\xc1\x79\xab\xf4\xdd\x03\x13\x5e\x97\x4b\xcf\x38\x06\xab\x88\x3a\xf0\xa0\x9e\x6b\x35\x35\x8d\xe9\xd9\x57\x57\x41\xfa\xc1\xa8\x2e\x17\xb9\x3b\x04\x69\x07\x65\x6a\x99\xbc\x5d\xb8\xf7\xdd\xed\xf8\xf2\xfc\x66\x08\x4b\x1a\x09\x3d\xf6\xae\x47\xff\x7c\x57\xfe\xee\xa0\x4b\x02\xa0\xc2\x06\x9a\xcf\x27\x77\xe7\x63\xc6\x03\x28\x6f\x27\xef\x27\x77\x96\x9f\x0f\xb0\x40\x94\xc4\x79\xc6\xe5\xae\x44\x4e\xb1\xc8\x0f\xb8\xc0\x0d\x89\x19\x1d\x62\x19\x95\xe4\x63\x1e\xed\xb7\x7e\x2e\x87\xdf\x8d\x2e\x8f\xbd\x9b\xe9\xe4\xfd\xf8\x7c\x34\x25\x2e\xcf\x27\x7f\x18\x1d\x4c\xc2\x8f\xe6\x63\x5a\x12\x43\x03\x89\x90\x28\xf6\xe7\x6d\x8d\xfc\xe7\x23\x7a\x7f\x62\x27\xd3\x8b\xd2\x11\x7a\x00\x42\xf1\x12\xa0\x69\x22\x04\x7a\x7d\x1c\x82\xc2\xc3\x70\xb3\x44\xd6\x61\xf8\x28\xa5\xdd\x1f\x6f\x27\xf3\xe1\x41\x05\x1c\xc0\x1e\x5e\x8f\x7f\xf8\x81\x05\xb4\xc2\xb0\x3f\xcd\xd3\x11\x28\x04\xfa\xd8\xbe\x9d\x5e\x1e\x94\x6a\x84\x3e\x1b\xcf\x27\xd3\xef\x81\xd1\x08\x7c\x7f\x82\x67\xa3\xb3\x5b\x50\x59\xbe\xbf\xbb\x98\x4e\x6e\x6f\x88\xea\x9b\x21\xe8\x4f\x20\xdb\xd1\x5a\x72\x37\xbd\xbd\x1c\xcd\xee\xde\x8e\x2f\x0f\x26\x84\x2f\xa6\xb7\x37\xc0\xa4\xd9\x18\x10\x8f\x60\x06\x60\x28\x37\xa3\xe9\xd9\x64\x3a\x9b\xdc\x0d\x09\x13\x9e\x2a\xd3\xd1\xc5\x04\xfe\x92\x16\x9b\xc3\x8e\xf2\x58\x6f\x80\x19\x9c\x64\xcf\x36\xb0\x63\xb9\x23\x00\xc9\x61\x4e\x18\x75\x2c\x7e\x37\x05\xb1\x3a\x65\x25\xa0\xfc\xdd\xa1\x86\xc2\xd0\xd4\xe9\xa8\xce\xfe\xf2\xb7\xcf\x30\xa0\x5b\xf8\x82\x77\xfc\xcd\x70\x36\xfb\xe7\xc9\x14\xd4\x8e\x03\xee\xa1\xda\xa8\x60\x4f\xdd\xce\x47\xa0\xb5\x57\x11\x1e\x6e\x68\x5a\x85\x51\x5f\xfc\x61\xf4\xfd\xa1\xc6\xd3\xa8\xa9\x9f\xbd\x1b\x0f\xdf\x8f\x0e\xa9\xd8\xd4\xb5\x31\xd8\x39\xe6\xda\x3b\xb4\x9a\xd6\x38\x2e\x41\x8b\x50\xdb\xee\x0f\x7d\x3d\x69\x1c\xe4\x4b\xcd\x99\x78\x8e\x59\x9b\xdc\x4e\xcf\x46\x03\xb4\x17\xcc\x87\xd3\x8b\xd1\x9c\xfe\x3c\x9c\x15\x42\xdf\x6e\x06\xe7\xe3\xc1\x64\x3a\xbe\x18\xc3\x45\xa7\xfa\xfd\xf9\x68\x36\x1f\x5f\x37\xdd\x82\x76\x1b\x13\x8b\xeb\x83\x6b\x2e\x52\x42\x1f\x52\x79\x29\x48\x3d\xa8\xf2\xa2\x29\x3d\x94\xc2\x42\x74\x0e\x0a\x43\x03\x7d\x24\xe0\x83\x43\xdf\x2a\x07\x9a\x78\xfa\xc4\x48\x0e\x77\x38\x22\xe5\xac\x7a\x91\x6c\x2a\x3e\x1e\x52\x03\x93\xe4\x1a\x77\xe1\xe7\x18\xc0\x01\xed\x10\x4d\xe4\xed\x74\x83\x2c\xce\x66\xd0\x6a\x8e\xbd\xe9\xe4\x70\x1a\xa1\x79\x0e\x33\xf0\xdb\xc9\xe5\x21\x58\x5a\xa1\x99\x38\xfc\xcc\xa4\x33\xbf\x0f\x37\x84\xc3\xd8\x12\xf6\x35\x1f\x60\x69\x11\xb2\xc1\x1f\x66\x65\x06\x21\x47\xfe\x94\x3c\x07\xfb\x2f\x51\x00\x77\x87\x54\x1e\xcb\x68\x98\xbb\x2a\xc9\xfb\xcc\x34\x12\x7c\x67\x12\x7c\xcc\x5f\xa9\x06\xd0\x07\x98\xea\x03\x50\xb9\x17\x01\xba\x88\x93\xe4\x22\x15\x3d\xc4\x53\x61\x23\x9b\x9b\x1c\x94\x97\xba\x75\xcd\x32\x20\xc4\xc7\x45\xf1\x43\x41\x18\x1b\x96\xc5\x4e\xc3\xa2\xf0\x15\x1c\x86\xec\x01\x7e\xa0\x41\x10\x58\xe1\x1d\x6e\xfe\xe3\x70\x69\x6c\x34\xa0\x37\x12\x9f\x1a\x77\xde\x3e\x54\x63\xad\x35\x81\xee\xf3\xb8\x61\x0b\xf2\xce\xcc\xe3\x6d\xd3\x8f\x87\x19\x20\x46\x8a\xf2\xea\xc2\xd1\xa9\x4f\xcf\x35\xba\x4a\xf0\x68\x75\x7c\x95\x9f\x0f\x30\xc2\x64\xf5\xcc\x12\xa8\x4c\xf2\xc1\x65\x90\x4c\xe5\x38\x2e\x65\xeb\x1c\xd7\x0b\xa5\x1c\x68\x48\x2a\x17\xe7\xb8\x9e\xae\x73\xec\x35\x96\x4a\x39\xc0\x10\x39\x3a\xfc\xf0\xa7\x19\x03\xde\xff\x18\xdb\x7e\xa3\x6e\xd6\xf8\xa7\x36\x4c\xe3\xdf\x97\xc3\x6b\x6f\xfb\x6d\xf1\xf3\xb7\xfc\xd5\x81\x66\xa3\x3f\xe2\x1d\x67\xc3\x56\xf7\xb2\x91\x40\x4b\xf5\xcb\x02\xa4\xaa\x0a\xbe\xf6\xb3\xd3\xa2\x7b\x19\x5a\x0e\xb1\x18\x2f\xf6\x41\xfb\x90\xc1\xff\x47\xef\x31\x9a\x4b\x3e\xcd\x35\x7e\x7d\xec\xa2\x74\xfa\x21\xfa\xf1\x43\x04\xd0\xf1\x3f\x1e\x06\x94\x24\x71\x16\x2f\xe2\xf0\xc3\x2b\x0c\x04\xcb\x16\x9b\x0f\xaf\x8e\xd5\x6f\xb2\xef\x10\x12\xcc\x3f\x7f\xf3\xf5\xc9\xb7\xbf\xff\xfd\xc9\x37\x27\xdf\xfc\x37\xe3\x31\x8c\x49\x49\xf9\x81\xdf\xfd\xee\xeb\x7f\xfc\xf0\x0a\x7f\x00\x42\x7e\xb2\x57\x2a\x5d\x63\x64\x25\x11\x57\x1a\x7c\xdb\x80\x46\x1c\x50\x8c\xbb\x86\x06\x44\x6f\x53\xcc\x5a\xfc\xb2\x83\xb2\x4c\x10\xd7\xe5\x3d\xbb\x1c\xcb\x6a\x3b\xd6\xc8\x37\xae\xbd\xab\xcb\xea\xc0\x1b\xad\x20\x8d\xfe\xea\xc0\x97\x1b\xfa\x8b\x7b\x16\xdb\x33\x0c\xc6\xd6\x02\xbf\x15\x10\xdd\xc9\x03\xaa\x46\x93\x0d\x13\x8b\xad\xf6\x77\xbd\x2b\xb1\x8e\x93\x27\x6b\x94\x3a\xfc\x18\xf8\x4a\x02\x76\x80\x52\x71\x57\x3e\xae\x9c\x41\x24\x56\x00\x67\x2b\x54\x43\x20\x0b\x8a\x4b\xa3\x12\x55\x43\xef\x1a\xd9\xf4\x8d\xd6\xa2\x84\x68\x75\xab\xd3\x8a\xe3\xd8\xca\xa6\x46\xbc\xd6\x94\x0f\x19\xd7\x48\x2f\x46\x6a\xe5\x9a\x6d\x77\xdb\x11\x4e\x65\xeb\x05\xfc\xd7\x9e\x27\x43\xfd\x11\x34\xf4\xd8\x78\xa1\x15\xf8\x6c\x76\xe9\x9d\x89\x84\x8b\x67\x63\x0a\x10\xb6\x51\xa3\xe6\x05\xf3\x60\x73\x05\xdc\x02\x29\x66\x45\x8a\x2f\xaa\xda\xdd\x08\xc8\x40\xbf\x11\x6d\xe0\x5a\x49\x42\x4d\x10\xb7\x20\x09\x83\xe1\x66\x73\x03\x7f\x23\x90\xa1\xfc\xde\x5c\x07\xd4\xde\xc8\x42\x1d\xbe\xe7\x7b\x95\xa0\x2d\xc5\xfd\x2a\xf0\x4b\x9f\x60\x57\x9e\x6f\x5c\x32\x1d\xd4\x53\x3b\xbc\x5d\xd6\x87\x6a\x69\xe7\xef\xb2\x48\x1c\xfa\x31\xcf\x2d\xa9\xe8\xc5\xac\x9d\x5a\x6a\x89\x29\x24\x54\x8a\x7a\x95\xcb\xe2\xdf\x20\x69\xb7\xc1\x52\x66\x67\x0c\x16\x14\x5d\x7a\xe2\xdd\x84\xc2\x87\x71\xcb\x1f\x3d\xdf\x33\x76\x4d\x7c\xff\x67\x3c\xc7\xa8\x9d\x3d\x91\xab\x32\x73\x00\x70\x06\x5a\x24\xd5\x12\xae\xbf\x60\x13\x75\x67\x8a\x9c\xea\xe4\x22\x45\x51\x00\x2c\x95\xa5\xe8\x54\x54\xa9\x00\x32\x4f\xb0\x43\x65\x14\xa4\x0b\xea\x76\x1c\xaf\x56\x14\x4e\x4a\xd8\xe4\xd2\xc5\x3c\x87\xe2\x8a\xa6\xce\x1c\x24\x51\x44\x14\x42\xd7\xfc\x9e\x55\x88\xf2\x78\x8a\x0e\xed\x98\xb4\x88\xc5\xd4\x38\xf9\xee\xc8\x1b\x28\x19\x4f\x8f\x2c\x63\xd0\x8c\x30\x26\x97\x2a\xf3\xb7\x25\x26\xe9\xf1\x52\x78\x6b\x1d\xaa\x6a\xe5\x6e\x1c\x01\x11\x85\x7e\x03\xdc\x38\xea\x58\xc6\xcb\x20\xfd\xc8\xc9\xb3\xb4\x53\xce\xe1\xa3\x4c\xca\xed\xd7\x2e\xe5\x8f\x2a\xb9\x77\x89\xb1\xb9\xd5\x0d\xe8\x00\x76\x4f\x2a\x0f\x47\x58\x17\x2d\x5c\x38\x75\x40\x85\x53\x07\x5c\x38\xd5\x4f\xfc\x35\x81\xe3\xdf\xce\xf0\x27\x6e\x8c\x66\x13\x59\xf8\x86\xc8\xe0\x3c\xaa\x43\x33\xb7\x69\x23\xc8\x56\xea\xf4\x85\x66\x11\xe7\x11\x8b\x56\x75\xae\xa6\x67\xf8\x15\x0e\x74\x5c\x7a\xc8\x90\xb3\x6c\x17\xe9\x3c\x6b\xaf\xf9\x48\xc5\xe0\x7e\x3a\x73\x6b\x44\x37\xa0\x0c\xd5\x41\x6c\xbc\x55\x11\xbb\xf2\x88\x96\x44\x74\x2c\x5c\x3d\xd0\x35\x29\x1e\x1e\xf6\x5a\xe0\xf1\xb2\x26\x72\x89\x9f\x1d\xd6\x07\x3d\x47\x99\xdf\xeb\xb2\x92\x52\x1d\x93\x0d\xac\x13\x95\x25\xae\x94\xa6\xa0\x37\xf3\xc7\x55\xf2\xfc\x1a\x70\x47\x5d\xa8\x1f\xa3\xbb\x87\x10\x62\x51\x98\xec\xd1\x8f\xcc\x27\xe5\x0a\x38\xf4\x60\x02\x6c\x6e\xc0\x6d\x7b\x9b\xb0\xb5\x8e\x88\xae\x15\x4e\x39\xa1\xfa\xfa\xa2\xe5\x6f\x3b\x64\x9d\x73\xe0\x15\xbd\x4a\xe1\x4b\x5b\xbf\x80\x2b\xb3\x25\x92\x3c\x5d\xbc\x51\xe2\x53\x63\x4b\x6a\xa1\x82\xad\x02\x3a\x53\xe2\x34\xf6\x86\x9d\xb0\xfb\x36\xa8\x2f\xff\x9e\x6b\xff\xe0\x1b\xf3\x10\x1b\xd2\x42\x54\xdf\xe3\xce\x91\xb8\x1d\x8f\x3b\xd5\x2a\xb9\x38\x58\xe6\xfc\x8d\x03\xdb\x8a\xa3\x45\x41\xa9\x50\xd6\x04\xaa\x95\x9a\xa2\xbc\x38\xea\x1e\xe5\x46\xa1\x47\x5c\x80\x91\xfa\x97\xbe\xf7\x43\xa7\x26\xf0\xef\xb9\x00\x79\xe5\x12\xd1\x17\xb6\x8d\x64\x9c\x16\xb4\x35\xc3\x56\x84\x3b\x08\x67\xf4\x1f\xd3\x37\x82\x7b\x99\x3d\xc8\x8e\x4b\x5c\x62\x5e\xb6\x43\xa2\xfa\x05\x56\x3b\x13\x81\xc5\xec\xc1\x15\x1a\x16\x50\xa5\x34\x92\xfa\x85\x6a\xf1\xe4\x21\x70\xd9\xaf\x89\x86\x04\x02\x77\x29\x40\xd2\x62\x13\xa0\x4c\x55\xcb\xb6\x5b\x94\x2c\xa4\xa7\x22\x44\x65\x1a\x7f\x58\x80\x6c\x5d\xb1\x09\x53\x8e\x09\x3b\x10\xa7\x1b\xc1\x9d\x64\x68\x51\xa7\x3b\x8d\x82\xd1\x20\xe9\xf8\xc0\x3a\x5e\xd2\x75\x0f\x54\x4b\x34\x63\xe2\x18\xa9\x4d\x5b\x86\xdf\x10\x16\x2e\x76\xb9\x11\xa9\x6f\x1b\xcf\xa5\x0f\x72\x6d\x02\x6c\x60\xfc\x16\xfb\x58\x08\x8b\x14\xd3\xe9\x45\xd2\x26\xe0\x2e\x83\x28\xff\xf9\xcd\x95\xbf\xb0\xee\x46\xf5\xbb\xe5\x75\xf4\x97\x84\xa1\xee\x5f\x52\x74\xf1\xe6\x89\xb7\x80\x1d\x61\x83\x5e\x2e\xcb\x8c\x87\x5b\xbd\x2b\x89\xae\x80\xee\xd4\xc0\xbb\x20\x63\xeb\x07\x21\xad\x45\x79\x21\x58\x70\xf2\x9e\xad\xb3\x8d\x41\x07\x96\x87\xe6\x1c\x39\x9a\x01\x5d\xb7\x19\xef\x96\x11\x66\xda\x59\x4a\x0c\x58\x71\x13\x3f\x64\x76\x36\x9c\x56\x46\xf1\x67\xd8\x1d\xe8\x5b\xc2\x77\x96\x4b\xf3\xa7\xc0\xda\xad\xac\x42\x68\x03\x75\x54\x53\xc1\x40\x62\x76\x05\x93\x45\x15\x70\x7e\xea\x85\xb0\xfd\xd5\x2a\x80\xa3\xbd\x6b\x78\x45\xdb\x16\x47\x12\x6b\x3d\x5b\x3a\x10\x60\x05\x72\xc7\xe5\x52\x2e\x36\xde\x01\x57\x96\x01\x96\x8b\x73\xc1\xd5\x3f\x64\x59\x15\x59\x31\x41\x7d\x69\x96\x1b\x74\x24\x85\x8b\x01\x97\x96\x6c\xdc\x58\x8d\x84\xcc\xb4\xa0\x1d\x76\x50\x5b\x29\x9a\xeb\xc6\xeb\x86\x2a\xb9\x9d\x68\xca\x5e\x9a\x7d\x36\x6f\x71\xe7\x30\x9c\x2f\x7b\x6c\xe2\xa2\xc8\x93\x4f\xe5\x62\x5c\x78\x50\x54\x6f\x0a\x30\x45\xbd\xc2\xfc\x2e\x84\x5c\x78\xe8\xb5\x2f\xfd\x32\x01\xb6\xf8\x06\x45\x71\x80\xcb\x96\x93\x74\xbd\xf4\x29\xcd\xc4\xfa\x58\xd6\x30\x21\x33\x4b\xc4\xd2\x95\x6b\x17\xc9\x9f\x41\x47\xcf\x30\x25\xd8\x4b\x72\x6a\x67\x65\xad\xb2\x51\xa7\x9e\x50\xbf\xce\x23\x55\x99\xe9\xb7\x7f\xd7\x09\xb7\x0c\x1d\x49\x5a\xc0\x51\x91\x60\x55\x14\x49\x49\x4a\xa6\x16\xb4\x47\x08\x25\xed\xf1\xde\x71\x4c\x4d\x03\x37\xf9\x6f\xff\xab\x68\x96\x59\x11\xb3\x96\x4a\x1d\x9a\x29\xb8\x18\x58\x3c\x49\x51\xda\x5f\x4a\x19\x42\xc6\x90\xa8\x8e\xf2\x46\x97\xcd\x90\xea\x44\xb1\x30\xe2\x87\xfd\x37\x2c\x2a\x11\xd5\x95\xd3\xd4\xb7\xd9\x71\xd7\xea\xea\x46\x94\xbb\xef\xbe\x64\xed\xd5\x8b\xda\x10\xea\x83\x26\x7e\xc0\xab\x5a\xb4\xd2\xa8\x8d\x12\x7f\xed\x24\xa8\x97\x49\xd3\x2e\x9f\x21\x26\x0c\x17\x22\x58\x92\xaa\x6e\xb8\xb2\x5c\x5c\x27\x76\x5d\x15\x2e\x09\xd2\x18\xfb\xdf\x2e\xcb\x02\xc3\xe9\xd4\xd5\x34\xe4\x68\x15\xef\x8d\x3a\x57\x3e\x44\x37\x74\x46\x1f\x31\x43\x52\x76\xce\x76\x6b\xb7\x30\x77\xc9\xa8\x3b\x91\xf8\x35\xe1\xdd\x39\x62\xa3\xad\x08\xc8\xc6\x26\x67\x79\x0b\xe2\x52\x4b\x85\x76\x54\xd5\xae\x09\x2d\x50\xab\xc5\xe1\x25\x53\x51\xeb\x86\xfd\x5d\xfd\x95\x1a\x39\xe7\x51\x24\x5b\xe5\xa1\x10\x43\xd4\x1d\xe4\x34\x97\x8f\x8f\xa8\x2c\x02\x0c\x3c\x20\xf6\x37\x3d\x42\x46\xef\x8a\x56\x8a\x3d\x8f\x91\xac\xae\x79\xb2\x0d\x4c\x76\xff\xc5\x01\xca\x0e\x5c\x07\x1b\x05\xa0\x78\x40\x8f\x01\x0a\x59\x90\xb9\x7e\x62\x34\x9d\xaf\x0c\xa3\x95\xf0\x52\x09\xe2\x94\x0b\xb7\x75\x6f\x27\x79\x7f\xd1\x55\x48\x1a\x4a\x0d\xbb\x60\x2d\x6a\x05\x77\xb1\xc3\xa5\x20\xb0\x03\x46\x59\xeb\xb7\x0b\x5b\xbd\xa2\xaf\x1d\x36\x4e\xb0\xf4\x1e\xc3\xb9\xc9\xae\xe2\xd4\xee\x68\x26\x1c\xe5\x36\x31\xaa\xb9\x6c\x16\x74\x3b\x97\x2f\xb1\x5d\x30\xfb\xf3\x60\x45\x7d\xf2\x93\xa5\xa1\xf4\x03\x8a\x13\x6f\xfe\x08\xaa\x0c\x3a\x95\x48\x25\xb9\x47\x16\x3d\x04\x91\xc0\xe6\x9d\xd4\xc1\x18\x55\x18\x90\x1f\x36\xfa\x66\x0a\x1a\x1f\x8d\x41\x14\x87\x59\xa2\x4a\xb6\xb1\xaf\x8f\x5a\x16\x8b\x13\xef\x8f\x39\x15\x05\x33\xfc\x44\x52\xf9\x20\x93\x22\xa1\xc5\x52\x6e\x54\x56\x64\xc9\x9d\x44\xb7\x00\xcd\xb7\x0f\xed\x23\x6d\x1b\x7d\xeb\xa0\x46\xe9\x09\xf5\xd7\xf3\xf2\xcd\xd2\xcf\xac\x4a\xc8\x77\x40\x13\xce\x5c\xa8\xaf\x20\x71\xd1\x36\x92\xea\x51\xad\x37\x62\x19\xc8\x7a\x29\xa8\x8d\xc4\x54\x34\xc2\xae\x92\xc4\x5c\xbe\xd0\xb3\x86\x25\x9c\xc5\x30\xe1\x2b\x9f\x8f\x73\x9b\x70\x50\x50\x62\x6b\x5d\x9f\xd9\xc2\x0d\xce\x0a\x66\x50\xa0\xb1\x26\xb5\x45\xc7\x90\x29\x07\x15\xb0\x15\x96\x75\x81\xaf\x2d\x91\x31\x08\x8c\xca\xf2\xe4\x99\x7d\x99\x9e\x53\x4d\x98\x08\xe6\x92\xb6\x99\xc3\xba\x5c\xad\x12\x0c\x04\x00\x31\x27\xa2\xe5\x26\x0e\xd0\x13\x22\x0b\x00\x91\xff\x8e\xbd\xa0\x6d\xe5\xb2\x46\xea\x3d\x13\x98\xae\xed\x83\x6a\xca\x83\x6c\x5f\xbf\x28\xb9\x30\x6d\x14\xc5\x1f\xa9\x08\xe5\x86\x8c\x61\xf8\x2a\x47\x70\x1c\xd5\x9b\x3a\x95\x9d\x80\x56\x8f\xf3\x42\x24\x0b\x72\x7e\x55\x01\x56\x1b\x3d\x55\xe0\x35\xd2\x77\x35\xbc\x1e\xbf\x1d\xcd\xe6\x77\x98\x4f\x69\xb3\x3e\xaa\xc4\x47\xf5\xb0\x05\x94\x43\x51\x33\xcb\x9b\xd8\xda\x1c\xbb\xab\x6c\x9e\x54\x0b\x67\xa9\xd2\x2d\xe2\xa5\x74\xc3\xe3\xfc\x1b\x27\x17\xf9\x9f\xa3\x18\x36\x6a\x72\xe2\x79\xb7\x11\xb9\x29\xe2\x2d\xac\xcd\x00\x6e\x0e\xd1\x31\x5f\xae\x01\xe0\x40\x43\xe2\x5a\x4a\x9f\x02\x6a\xea\xc5\xfd\xa2\xe9\xa6\x51\x00\xb5\xfa\xaa\x13\xe1\x93\xe0\x00\x80\x01\x6b\x2f\x40\x18\x4a\x72\x50\x20\x57\xe4\x56\xae\xf7\x8f\x5e\xfa\xd5\x9e\xc0\xa8\xaf\x1f\xf9\x20\xc8\x7c\x20\x79\xe8\xc1\xbe\x8f\xe9\xb2\x44\x46\x53\x11\xc1\xee\x4b\xe3\x6d\xe2\xa3\x45\x39\xa3\x6b\x56\xa8\x4b\x27\x99\x23\xe1\x96\xd5\x22\xf9\xed\xdf\x2a\x0d\x2d\x2d\x9b\x42\x72\x17\x25\xc0\x40\xbb\xfd\xeb\xb1\x92\x5a\xa3\x05\xce\x9e\xbd\xa5\x1b\xa4\x6d\x09\xa2\x69\xd2\xa6\xce\x69\xf7\xfd\x12\x47\x2b\xeb\xd6\x14\x5a\x2e\x31\xa1\xa2\xdf\x9c\xbd\x6d\x21\x9c\x44\x31\x1d\x84\x47\x69\x29\xde\x13\xa6\x3b\x0a\x9f\x3c\x2c\xfd\x88\x54\x63\x09\xc4\x92\x7a\x8c\x83\x6c\x31\x25\xf0\x20\x94\x2d\xd4\xac\xc0\x8e\xa3\x91\x47\x2f\x01\xc7\xdb\x49\x4a\x01\x3a\xbd\x0d\x0b\x57\x66\xb5\x2d\x6f\x01\xcb\x88\xc8\xca\x49\x4f\x79\xc8\x43\xa0\x1f\x2e\xed\xb6\x70\x3b\xb3\xe0\x15\xbf\x5c\xa9\x25\x86\x02\xd1\x05\x71\xc0\x41\x09\x0f\x71\x1e\x2d\xab\xd6\x28\x3c\x8e\x16\x28\x2f\x8e\x81\xab\xa5\xe8\x0f\x11\xe0\xee\x92\xcd\xb1\x39\x14\x95\x25\x21\x57\x10\xb4\xd8\xa3\xc3\x72\xa1\x2e\x5a\xdc\xbf\xfd\x3b\x2a\xa1\x40\x3d\x9c\xe1\x5b\xfc\x97\x55\x48\x8d\x5a\xdf\x75\x8f\x79\xf5\xc8\xf8\x8e\x7a\x74\x37\x99\x1c\xda\x6b\x18\x5e\xf9\x1b\x58\xec\xf3\xb3\xf6\x8a\x91\x43\xf6\xbf\xd1\xa6\xe6\xa2\x90\xf0\x46\x0b\xc0\xa8\xbb\x08\x65\x1d\xa4\xbd\xce\x24\xc2\x64\x2b\x43\xac\x2e\x77\xb8\xed\x32\x54\x9a\xec\x9d\xc8\x15\x06\x90\x0b\x2a\x96\x9a\x00\x60\x15\x76\xaa\x60\xdb\xdd\x80\xfc\xca\xff\xd9\xfb\xe4\x07\x19\x37\x63\x57\xfd\x78\xb5\x10\x20\xa9\x98\x6f\xd0\xc2\x03\xc7\x66\x94\xdb\x55\x9d\xb9\x00\xdd\x1b\xa6\x02\x8e\x56\xee\x47\xee\x67\xf0\xb0\x0a\xda\x31\x7a\xea\x1b\x32\xa2\x2c\xad\x0a\x24\x16\xe5\xa7\x4e\x6b\xa1\x92\xc9\x3b\xcd\xbe\x84\xfa\xe5\x5b\x0b\x45\xdb\xd4\x34\x37\x17\x42\x83\x75\xbe\xf6\xfc\x35\x45\x5e\xc0\x09\x26\x1d\x92\xbc\x75\xf4\x91\x55\x84\x71\xc0\x0f\x8f\xd8\x6a\x94\x8b\xf4\x7e\xf3\xf5\xb7\xbf\xbf\x3a\xf6\xbe\xb9\x80\xff\x7d\x7d\x61\x33\xdb\xfd\x31\x07\x05\x24\xc8\x40\xea\xf3\x60\x7c\xd3\x51\xa9\x6d\x6e\x00\x95\xa2\x02\xec\x7c\x2f\x57\xf9\xad\xe2\x7e\x89\x01\x9e\x78\x83\x6f\x50\x51\x81\x53\x18\x63\xc1\x11\x4a\x1e\x91\x07\x0a\x5d\xeb\x84\xc3\x76\x12\xbf\x08\x13\x98\x3e\x78\x9c\x09\xe4\x2d\xfd\x17\x8d\x19\x14\x08\xa4\xd5\xb7\x5e\x21\x3e\x03\xbb\xbc\xd7\xe7\xe2\xc1\xcf\xc3\xec\xb4\xf8\xed\xb3\x2e\x24\x77\x1e\x7a\xaf\xc7\xc5\x35\x1e\x4f\x1f\x21\xef\x6c\xfe\x69\xf1\x58\xdc\xb1\x32\x39\x96\x14\x59\x2d\x0d\xb7\x64\x0d\x5f\xfb\x4f\x78\xf5\x54\xe7\x2e\x55\x49\x46\x7a\x92\x2d\xda\x96\x31\x50\xdc\xc2\xa2\xe7\x41\x66\x4c\xd2\xd7\xb6\xc9\x69\xc7\x4c\x92\xf0\x35\x3a\xf7\x04\xd6\xbd\x4e\xbf\x22\xb1\x88\xb1\xeb\x20\xaf\x48\x56\x56\x0c\x3c\x2c\xd1\x8f\x3d\x52\x94\x65\x2c\xaa\x97\xe2\xe9\x2e\x03\x09\x52\xa2\x1b\xdf\xb0\x85\x79\x97\x05\x68\x81\x3c\xf8\x8a\xee\x63\x58\x0e\xdd\x27\x12\x50\xb0\x46\x4b\x51\x16\xff\x65\x89\xbf\x89\xb3\x44\xdc\xdf\x63\x9c\x92\xbc\x9f\x6b\x5a\x3d\x54\x8c\x03\x1d\xdf\x10\x92\x73\xbd\x25\x76\xf6\xca\x88\xf9\x90\xfb\xe6\xdb\x7f\xf8\xc7\x2b\x63\x21\xda\x58\x5c\x0f\xf3\x28\x2d\xe4\x1a\x14\x0b\x7a\x0a\x87\x96\x61\x21\xed\x91\xd6\xfc\x3b\x5c\xf6\x2b\x4f\x37\x03\x0e\x56\x70\x6b\x16\x0d\x6e\x32\x7d\x0d\x2a\xf5\x28\x2a\xee\x41\x36\xec\x08\xd0\xea\x2c\xe3\xda\xaa\xf5\x36\x44\xf4\x35\x4e\x89\xc5\x9e\xd5\xd1\x0b\xc0\xfe\x92\xcd\x6e\x80\x6f\x59\x4c\x05\x98\x29\xdf\x86\x4f\xa7\xb9\x5b\x5e\xbf\xbd\xd2\x05\x33\x6c\x85\xbc\x8b\x67\x7e\xb0\x41\x01\xfd\xd7\xf6\x32\xe8\xa9\xf6\x97\xe8\x46\x2b\xed\x21\x22\x29\xb9\xe3\x5b\xe0\xb1\xa9\xca\xbc\xce\x6b\x8b\x8a\x6d\x46\xda\x71\x61\x6d\xe0\x84\xaf\x53\x45\x64\x80\xf4\xaf\x81\xd6\x89\xd6\x34\x10\x5b\x3b\x52\x04\xfa\xe8\x16\x4b\x84\xb3\x82\x4f\x06\x30\x69\x55\x34\x62\x01\x2c\x64\x8b\x4f\xde\x8d\x2c\x6b\x6a\x8d\x4c\x45\xa0\xaa\xf6\xa9\x1d\x4c\xd4\x32\x45\x3a\x9d\xd2\xf2\x7a\xec\xfd\x5d\xca\x17\x24\x1b\x04\xd8\xb6\x30\x7c\x78\x4a\x5e\x62\xac\x80\x86\x37\xe3\xc2\xf8\x94\x0a\x38\x9c\x6f\xe1\x56\x85\xd6\x98\xcb\x18\xb8\x3d\x0f\x36\x68\xac\x91\x91\x57\xf0\xb0\xfc\x02\xf5\x7f\xf6\xeb\xc0\xae\x56\xef\xdb\xf4\x20\x49\x8d\x46\x83\x38\xa5\x35\x9c\xea\x53\xab\x5a\xe2\x35\xac\x15\xa4\xd5\x32\xfe\xb9\x89\xda\x36\x40\x7f\xc1\x16\x18\xb8\x9e\x47\x27\x9e\xf7\x7d\x9c\x73\xb4\x28\xdc\xf2\xc9\x80\x20\xcd\xf8\x28\x99\xc2\x50\xdd\xd5\x1f\xea\x9d\xcc\x94\x1c\x53\x4e\x56\x6e\x04\x1f\x51\x7b\x8f\xc8\x03\xa9\x05\x03\x33\xba\x12\xea\x47\x64\x09\x6c\x5c\xca\xa5\x56\x5a\xf0\x63\x3b\xbf\xe0\x86\xf4\x8b\x34\x24\xc2\xef\xa8\x9a\xa0\x25\xe6\x5c\x6c\x03\xa6\x9d\x22\xbe\xb8\x65\x81\xf2\x24\x14\x41\x25\x6c\x27\x68\x6e\x88\x2f\x09\x50\xae\xdd\x86\x48\x11\x0f\x9d\x7f\x68\xa3\x46\xab\xe1\x42\x50\x2b\x92\x02\x4d\xeb\x8b\xb2\x68\x76\x6b\x1b\xb1\x43\x4c\x96\xe4\xe7\x0d\xcc\x97\x1a\x0f\x1e\x30\x7f\xab\x33\xa7\x9a\xeb\x95\x87\xf4\x37\x38\x81\x9b\xc0\x22\x4e\x54\xb6\x08\x69\x4a\x25\xb1\xe1\x28\x35\x10\xb4\x4d\x6a\x28\xe0\xd2\x6d\x81\xcf\x94\xe5\x43\x0b\xc1\x1b\xb2\x01\xa5\x85\xc1\x89\xe2\x40\xd9\x4a\x6d\x3d\x61\x1a\xcc\x44\x7e\xb8\x50\x71\x28\xa5\x8b\x47\x05\x62\x0b\x21\x2e\x32\xbd\x92\x36\xc6\xc8\x2d\x51\x4c\x08\x55\xf5\x16\x50\x0d\x6e\xda\x47\x54\xb4\xad\xe1\xd1\x74\xd4\xff\x05\x04\x45\xb8\x9b\xcb\x81\xd4\xe0\x69\xea\x3a\xa0\x38\xe2\x34\xf5\x3e\x09\xea\x20\xb2\xb4\x1e\x9a\x92\x3d\x3a\x72\x54\x3c\x3c\x00\xa6\xbc\x8d\x3b\x2a\x52\xc1\x81\x72\x65\xc3\xea\x22\x97\x3c\x6f\xa9\x36\x56\x71\xea\xdf\x75\x5b\x1f\x77\xb5\xce\xb7\xd4\x9f\x41\x9a\xa4\xcc\x39\x2e\xc1\xb0\xe1\xe5\x86\x0b\x5a\x59\xc2\xfe\x07\x75\xd6\x75\x1c\xd0\x86\x57\xd2\xd0\x84\xb8\x95\x42\x1a\x73\xc0\x55\x46\xab\x1b\x7d\x9a\x99\x8e\xd2\x7d\xb4\x19\xf3\x81\x06\x2c\x47\x41\x61\xc2\x14\xfd\xa2\x8c\xdd\xc7\xd4\xaf\x04\xb7\x85\xec\x1a\x51\xd3\x29\x4a\xef\xb5\x2c\x5a\x4d\x57\x60\x3a\x75\xeb\xe2\x90\x0c\xe1\x46\xdf\x92\x0a\xee\xba\x6a\x51\x95\x7f\xf8\x9d\xb2\xa7\xb7\x8e\x16\x1b\x48\xd9\x06\xfb\x96\x1b\xad\x15\x88\xf7\x1e\x59\xdc\x3c\xb2\x3a\xa2\x36\x92\xf7\xa1\x54\x6e\xbb\x0a\xb7\x0a\x8a\xfd\x83\x93\x66\x5f\x31\x5d\xc7\xb2\x3b\x91\x3d\x56\x46\xeb\xda\x77\x13\xe9\x15\xba\xba\x84\x7a\x29\xd2\xc8\x45\x78\x51\x60\x4c\x5c\xc4\x1b\x75\x4a\x31\x1d\x50\xd8\x4d\x3b\x7b\x0f\x3a\x49\x96\x41\x49\x22\xda\x7a\x5b\x3f\x09\x50\x9b\x4b\xd9\x8c\x78\x2f\x30\xfb\x41\x58\xd5\x80\xb2\xf0\x51\x1a\x80\x90\x60\xd0\xdf\x85\x76\x72\xd5\xed\xc3\x21\xfc\xc8\x20\xa7\x1a\x84\xe4\x48\x46\xa1\x88\x34\x07\x1d\xb9\x11\xe1\x16\xc2\x5c\x9b\xc2\x8e\xd0\xe5\xeb\xb8\xd6\xa5\xdb\x61\x85\x34\xf4\xe3\xee\x5a\x23\x0a\xcb\x47\xf1\x54\xea\x37\xad\x0d\xc5\x85\xc2\xaa\x72\xe3\x1c\xce\x41\x9f\x83\xf0\x44\xad\xcd\x74\xd8\xec\xc0\xb5\x22\x71\x21\xbb\x78\xf9\x0f\x42\xa6\xfc\x48\x35\xf0\x99\x07\xd4\x84\x58\x6e\xa1\x67\x19\x6c\x11\x00\xeb\x24\x8e\x28\xe2\xd5\x37\x28\xee\xdc\xdf\x45\xfb\xee\xee\xb5\xa6\x87\xd3\xb9\xc2\xf6\x3e\x46\x09\xa1\xf6\x82\x1b\x4a\xcd\xee\x87\x52\x3f\x45\xa6\x5d\x7f\x71\x26\xaf\xed\x38\xea\x54\x4a\x64\x38\x38\xda\xc4\x57\x91\xfd\x06\x50\x26\x06\x9e\x16\xab\xa8\x73\x76\x5c\x26\x5c\xc3\xec\x9c\x6f\x19\xfb\xf9\x12\x87\x44\x53\x20\x68\x27\x61\x65\x89\x7d\xc0\xd3\xa2\x1f\x35\x94\xe5\x50\x44\xc7\x3c\x3b\xbb\x38\x48\x46\x70\x85\x10\x4e\xa1\xb0\x12\x47\x81\x3b\x2a\x7c\xf2\xd9\x29\x93\xce\x37\x61\xc6\xef\xd8\x48\xcb\xbc\x90\x43\x02\x83\xa8\xb0\x4a\x9c\xbd\x25\x83\x63\x79\xf3\xc2\x73\xf8\x50\x0b\x89\x32\x00\xb1\x66\x87\xa8\x83\xc3\xfd\xaa\x6e\xa2\xa6\x11\xc6\xaa\x35\x66\xe2\x94\x43\x2b\xd0\xd5\x85\x86\x30\xe0\xc7\x9a\x3d\x60\x56\x82\xd0\xfb\x28\xa3\x2a\x8a\x44\x46\xed\xbf\x92\xb7\x7a\x32\x02\xfd\x25\x87\x8b\x3d\x26\x40\x60\x84\x80\x6d\x27\x6a\x8f\xa1\x76\xe7\xb8\x56\x61\x68\x06\x38\xf9\x83\xe5\x7d\xf8\xa1\xf9\x85\x9b\xf9\x78\x72\x6d\x73\x7f\x4c\x6e\xb0\xf8\xb5\xa5\x9e\x15\xf6\x07\x18\x9e\x5f\x8d\xaf\x6d\x61\x29\x57\x58\x8e\x7a\x36\x9f\x0e\xe7\x93\xe9\xc8\x2b\x37\xad\x68\x01\x79\x7b\x8e\x4d\x22\x6c\xe1\x59\xa3\xf7\xe3\x59\x1f\x70\x57\xc3\xeb\xe1\xc5\xc8\x06\xee\x62\x34\xeb\x43\x9c\x95\x4f\xe6\xeb\x36\x76\x59\xb3\x32\x26\x0e\x69\x36\x13\xbc\xa0\x51\x26\x17\x57\xd5\x49\xcd\x84\x0f\xc3\xb1\xeb\x84\x82\xbc\xf9\x08\x08\xb6\xb6\xa8\xda\x40\x9c\x02\xd8\x26\xba\x1d\xbe\x6a\x77\x1f\x62\x03\xee\x27\x2e\x70\x63\x5b\xc4\x97\x6d\x96\x4e\xae\x61\x23\xbc\x55\xf0\xdb\xbf\x39\x22\x2d\x97\xd5\xa1\x24\x56\xfe\xcc\x3b\x1f\xe3\xff\x76\xa2\x44\x57\xd4\x51\x3d\x3b\x7f\xfb\x77\x0d\x12\x03\x84\x77\xa1\xce\x26\xe3\x5c\x29\xb1\x48\x31\x78\xd4\xe6\x39\x2d\xcf\xb9\xc5\x87\x3a\xe9\x4e\x57\x73\x5a\x9e\x1c\x61\x2b\x74\x0d\xa8\x25\x47\x34\xa8\xb8\x6a\x1d\xd2\x67\x8b\x33\x57\x01\xae\x9c\x13\x24\xab\x34\x55\xa2\x01\x6b\xa1\xd5\x66\x50\x48\x4f\xba\x74\x32\xf6\x73\x92\x67\x56\x69\x72\x27\x55\x05\x21\xc3\xa9\x50\x89\x43\xa6\x18\x4d\xde\xf2\x70\xde\x07\x49\x1c\x91\xc1\xd9\x7f\x40\x43\x43\x25\xa8\x79\x13\x0a\x7b\xf0\x9b\x39\x9e\x20\x94\x91\xc3\x0d\x91\x19\x9c\x20\x56\xe8\x00\x65\xd1\x80\xbe\x14\x89\xc9\xe7\x96\xb7\x1c\x01\x5d\x0b\x4d\x6e\x1e\xb0\x43\x64\xb9\xe5\xc5\xc9\x74\x6e\x7b\x11\x7e\xb2\x04\x93\xdf\xf8\xc1\xb2\x1c\x28\x6c\x83\x51\x8b\xfc\x45\x27\xf3\xca\x6f\xb1\xce\xa3\xa3\x9a\x0b\x78\x60\x09\x08\xbc\x00\x70\x11\x31\x0c\xcc\xa5\xb8\x1f\xf4\xbe\x17\x76\x19\x3d\x73\x4a\x63\x63\x2d\xd7\x16\x68\x03\x53\xb5\x16\x2a\x85\x9d\x0b\x7e\x04\x5c\xbc\x94\x90\xa0\xde\x83\x58\xd8\x0d\x53\x58\x2f\x76\xb6\xda\xb8\x8c\xc6\xb8\x40\x7c\xe6\xd1\xb8\x2b\xf4\x1d\xe1\x04\x37\xad\x81\x04\xea\x57\x0f\xb6\xa9\xce\x67\x2a\x64\xfc\xda\xcf\x16\x8f\x36\x11\xef\xeb\x97\x74\xb4\x82\xae\x93\x4a\x11\xf0\x4b\x2b\xc5\x20\xb5\x1e\x64\x49\x80\xce\x48\xe3\x1b\x25\x99\x64\x0c\x6b\x57\xb4\x71\x09\x7a\x6f\xc0\x2d\x30\x33\x76\xf6\x15\xa2\x11\x71\xe0\x36\xfa\x25\x60\x17\xa0\x92\x6d\x5c\x7f\x2f\x4b\x0d\x59\xd7\x29\x8b\x6f\x8c\x22\x7e\x86\xf0\xad\x89\xae\x58\x06\xa6\x10\x3e\x44\x8c\x16\x37\x46\x98\x67\x41\x5d\x7a\x57\x01\xb4\x8f\xaf\x34\x36\x35\xac\x5e\x14\xc7\x9a\xb2\x76\x4c\x1d\x81\xf5\x37\xc6\x71\xd4\x11\x02\x4f\x10\xe1\xd6\xb8\x44\xb0\x70\xd2\x80\xfe\xf7\xf0\xd4\x73\x69\x29\x63\x89\xf4\x9f\x49\x28\x6c\x20\x71\x59\x72\x22\xc1\x5a\xc7\x28\x40\x02\x3c\x38\x3c\xaa\x85\xc7\x07\x33\x17\xcf\x11\x18\x90\xc4\x09\x06\x4c\x91\xca\x48\x08\x95\x72\x29\x3b\xb6\xdb\xd2\xb4\xa8\xb8\x00\x95\x20\x10\x6b\x9c\x4d\x5e\x65\x49\x8c\x39\x1a\x1b\x32\xbc\xca\x2a\x3d\xe8\x7b\x13\x18\x9d\x08\x17\x35\x4e\x9b\x90\x3a\x5f\x61\x6b\x8f\x29\x19\xc7\x32\x14\x0c\x82\xa8\x68\xa0\x6a\x33\xd9\x02\x23\x5a\x4e\x9c\xd8\xd0\xf5\x22\x59\x0e\x20\x68\x89\x49\x68\x21\xaa\x78\xd4\x08\x70\x28\x9a\xc2\xb7\x99\x91\x28\xe4\x56\x76\x71\x27\x1b\x52\x42\x15\xc2\x75\xc4\x44\x0d\x6e\x5f\x32\x1e\x7d\xe4\x57\x43\x14\x23\xae\x74\x0e\x71\xb4\x67\x90\xd8\xc9\x20\xe6\x3d\xfa\x45\x2c\x63\x50\x0a\x65\x24\xc8\x89\x6d\x4b\x03\x94\xd3\xe6\xc1\xb5\x4c\x97\xe5\x0d\x2b\x86\xd4\xb8\x94\x78\xf7\x4f\xa4\x53\x24\x59\xb0\xc8\x43\x3f\x71\x29\x1a\xc1\x5a\x49\x71\x0b\x09\x3c\x8e\x9d\xd6\x16\x4a\xcf\xa5\x5a\x83\x2c\xe4\xba\x78\x8c\xe3\xb4\xc8\xe4\x81\xad\x81\xdd\x0c\x28\x64\x06\xff\x3e\xf1\xbe\x8b\xf1\x68\x20\x47\xb7\x4f\xe5\xbb\x32\x5c\x90\xeb\x20\xcb\x58\x7a\xdc\x73\xcf\x71\xa1\xd3\x86\x52\x8c\x32\x94\xb9\x74\xd6\xe4\xdd\x85\xa0\xd2\x16\xb4\x23\x31\xfa\x1b\x33\x5e\x55\xb9\x74\xf5\x05\xfb\xc0\xe1\xc2\x65\x2e\x44\x56\x19\xd0\xaa\x22\x30\xce\x07\x4e\x7f\xca\x94\xd5\x5e\x74\x5d\xa1\x29\xa3\xa8\x1b\xa9\x82\x5a\xae\x4c\x92\x07\x6c\x7a\xf2\x40\xb1\xb3\x26\xd1\x0e\x81\xdb\x5c\x7b\x89\xda\x2e\xb4\x82\x53\xd9\x51\x1c\x48\x89\x86\x6b\x23\xf3\xcc\x9c\x5f\xb3\x2e\x6e\xaf\x3b\xbc\x2e\x71\x5b\x24\x9b\xf9\x94\x03\x0d\x8c\x89\x62\x4b\xad\x10\x5d\xdf\x76\x97\x5b\x3e\xa7\x8b\x7b\x1d\x21\xae\xea\x8a\xd3\x0a\xa3\xc8\x22\x47\x0e\xe0\x96\xc7\x84\x74\xdb\x56\xb7\x96\x3b\x07\x21\x96\x23\x14\x9b\xf6\xc1\xc8\x28\x27\x4d\x57\x46\x6f\xbc\x8e\xdb\x85\x0c\x65\x97\x35\x96\x58\xaf\xdd\xc9\xfb\x13\x81\x79\x5c\xd2\x52\x42\x91\x77\x7b\x90\x01\x5b\x04\x4d\x25\xc6\x89\xdc\x4a\x0e\xc6\xe7\x12\x4d\x4b\xef\xc3\xab\x52\x06\xf0\x87\x57\x15\xeb\x8d\xce\xf8\x43\x87\x8b\x0c\x22\xa7\x57\xad\xe5\xe9\x43\x4b\x61\x1d\xd0\x0e\x62\x59\x10\xaf\x8e\xd4\xb0\xf7\x18\x4e\x18\x15\x5e\xde\x12\x94\xab\x47\x44\x86\x58\x18\x90\x3c\x54\xee\xf1\x50\x7f\x32\x32\x56\xf1\x38\x7e\x82\x1b\xa8\x37\x99\x9d\xda\xb2\x29\xc7\x05\x87\x8b\x90\x2c\x79\x9a\x70\x64\x16\x81\x2d\x55\x80\xd1\xa7\x73\x96\xc7\xde\x6c\x72\x6a\x49\xb6\xbc\xa9\x54\xf9\x57\xba\x80\x99\xe6\x99\x47\x81\xaa\xce\x60\xe3\xee\x8d\x65\x01\x00\x3d\x7a\x57\x55\x12\x40\xad\x92\xaf\x91\xa0\x2d\x7c\xf1\x1e\x2e\x7a\x01\x16\xab\x2c\x93\xb7\x33\x71\x65\x98\x7d\xe9\x94\x05\x24\x48\x3e\x76\xa5\x6c\x72\x45\xf8\xd2\x95\xc7\x9a\xb3\x49\x80\x1b\x35\x60\x37\x2c\x7a\xaf\xf9\x2d\xda\xaf\x1d\x7b\xa2\x42\xb2\xe5\xd2\x85\x29\xf4\x57\x51\x0c\x62\x78\x41\x0a\x50\x9a\x2d\x5b\x4a\x31\x00\xcf\x36\xbe\xf1\x8a\x2f\xef\x30\x6a\xd9\xfa\x1c\xed\x1d\x29\x30\x2d\x34\x60\x26\x8d\xef\x85\x64\x34\x7d\x90\x41\x99\x28\x5d\x2b\x57\xb6\xca\x0d\xad\x50\x36\xf4\x25\x4e\x26\x01\x2b\xdb\x46\xcc\xc7\xdd\xf9\x68\xe8\xdd\xfb\x0b\x90\x6f\x36\x09\x2f\x07\x83\xc1\x78\xb2\xe2\x88\xac\xc8\x4e\xb5\xd2\x4a\x74\xc8\x42\x81\xa1\xbe\xbb\xc9\x8b\x5d\xe1\xc5\x8d\x75\xe5\x85\x6a\x62\x7d\xc9\xd8\x01\x2b\x3b\x54\x64\x21\x89\x6d\x0c\xc2\x51\x6c\x79\xf9\xb6\x8f\x20\xf4\xd5\x73\x36\x61\x95\xc4\x20\x8a\xb0\xa0\xc3\x1a\x14\x04\xe0\xd1\x32\xfe\x14\x85\xb1\x8f\xee\x44\x29\xb0\x50\x49\x80\xbb\x4a\x31\x68\xab\xb0\x92\xc0\x80\x3f\x79\x42\x65\x27\x68\xfa\xd7\x71\x71\x50\x2a\x61\x95\xc2\x9a\xe4\x4a\x8b\xd5\x9c\x6a\x44\x15\xc3\xdb\xc2\xb7\xca\xad\x24\xe6\xd8\x6f\x59\xcd\x14\x29\x7d\xf2\xd0\xa5\xed\x87\xa7\xde\xdf\xa5\x58\xf0\x38\x50\xb9\x6c\x76\x4a\x39\x02\xba\x28\x89\xca\x5d\x0f\x10\x88\x60\x28\x73\xfd\x13\x4c\xad\x95\x14\x2a\x12\xdb\x54\x31\xb6\x08\x23\x2e\x2a\x31\x73\x79\x19\x2e\xfa\xca\xce\x00\xd0\x96\xa2\x15\x7a\xf2\x73\x8a\xa5\xc4\x78\x4d\xa9\xb1\xd1\x8c\xc0\x53\x5c\x6e\x35\xa3\xba\x93\xbe\xdd\x19\x89\xd8\x93\x40\x60\x96\x62\x13\x31\x2a\xa6\x24\x32\xae\xe1\xb2\x08\x8d\xaf\x2a\xc5\x0a\xe5\x4c\xa0\xa2\x33\x92\x22\xca\x75\x1c\x61\xbe\x1a\xcc\x5c\x88\x15\x59\x93\x60\xc3\x57\x2f\x9b\x78\x64\x55\xd3\xda\x22\x43\xfd\xdc\xfc\x72\x9e\x48\x07\x3b\xdf\xc0\x8c\x7a\xda\x32\xe2\xbc\xa5\x38\x10\x11\x59\x2f\x6d\x54\x07\xd2\x5d\x92\xa5\x81\x8e\xd2\xfd\x76\x47\x32\xca\xd7\x6e\x07\x2a\xd2\x47\x6c\x39\x22\x7b\xd5\x61\x28\x12\x76\xfa\x50\xe1\xbc\x94\x44\xc7\x5a\x91\xac\xf3\x65\xa1\xe9\x1c\x13\x9e\xb0\x13\x20\x97\x28\xf0\xe9\xc2\xe0\x57\x8b\x14\xc8\x5e\x20\xa4\xe7\x84\x46\x4c\x2f\xae\xff\x9a\xec\xd2\xa6\x80\x56\xca\xb1\x82\x0d\x87\xc1\x7b\xaf\x29\xb5\x14\x86\x80\xff\xb2\x84\x57\x0b\xd1\x96\xf2\x58\x23\x1b\xc1\xc5\x61\x85\xf0\xd7\x48\x1e\xde\xd9\x23\xd6\xcf\x0a\xa8\x76\xca\xd6\x79\x98\x05\x1b\xa6\x2c\xe5\xa4\x57\xbf\xcb\x94\x55\xa2\x86\xb6\x48\xa5\x85\x5f\xd4\x5d\xe6\x81\xfa\xf2\xda\x12\x9c\xe9\xb7\xe6\xd7\xa8\x71\xc4\x39\x3b\x68\xf0\x8a\x02\x4b\x89\xbe\xeb\xe5\xde\xf4\x65\x94\x84\x5e\x9a\xa1\xcf\x15\x00\xab\xe0\x3a\x5d\x9d\x4c\x4f\x16\xcb\x50\x22\x95\x86\x03\xeb\x14\x94\x32\x95\x4a\x8c\x41\xbb\xaf\xc5\xcf\xaa\xfa\x27\x85\x32\xc4\x54\x73\x1c\x7d\x48\x30\x01\x7c\xa8\x13\x04\x32\xd0\xc3\x81\xad\xfc\x5f\x44\x96\x3d\x13\x9c\xda\x68\xf8\x2a\x34\x29\xe1\x12\x35\x95\xcb\x25\x4c\x8e\xc0\x98\x3b\xa4\xc6\xf7\x5e\xa7\x2c\xdd\x52\x1d\x83\x53\xc4\x49\xc8\x2c\xdf\x2d\xb9\x9b\x55\xb8\x13\x9d\x9d\xcc\x1d\xc3\x37\x66\x59\x53\x4e\xfc\x68\x0b\x00\x6b\x1e\x92\x59\xb5\x85\x77\x2c\xc2\x6a\xb9\x11\xff\xb1\x69\x36\x9d\x6e\x96\x97\x96\xa5\xd0\x75\x9b\x9c\x8e\xfe\x78\x3b\x9a\xcd\x6d\x4e\xde\xe9\xf8\xec\xdd\x18\x7e\x1f\x5a\xfc\xbb\xd3\x11\x76\xbd\x1b\x9d\xdf\x4d\x27\xb7\xf3\xd1\x1d\xfa\xc7\x6c\x41\x0c\x56\x00\x37\x93\xeb\x99\x35\x3f\x77\x3a\x86\xdf\x5b\xf0\x4f\x2e\x47\xb3\x53\x6b\x99\x72\x6c\x34\x3c\x3e\xb5\x95\x15\x27\x9a\x6d\xe4\x4e\x27\xf3\xb9\x25\x52\x43\x8e\xd5\xa1\x72\x15\x02\xb1\x88\x84\x29\x6c\xf8\x01\x95\x12\x2a\x52\xe1\x70\xc7\x05\xd1\x43\x4c\x1a\x03\x5e\x66\x93\x96\x12\xec\x43\x99\x03\x86\x1a\x39\xca\xd4\x10\x23\x93\x12\x58\x81\x04\x22\x59\xeb\x84\x09\x06\xd4\x64\xc0\xb1\x32\x46\xf8\x78\x3b\x83\x37\x04\xc6\x28\x24\x1b\x38\xaf\x30\xab\x97\x62\xc9\xff\x89\xb5\x93\xf5\xc6\xde\x89\x63\x16\x50\x52\x15\xc6\xc5\x91\x79\x6b\x1b\x87\x18\x3c\x25\x95\x10\xa3\x28\x6d\x9c\x3c\x00\xe4\x12\x44\x07\x82\xa4\x09\xfc\x2a\x86\xcf\xdc\xc7\x46\x7f\x54\xf2\x14\x4b\xf4\x83\xe2\xfc\x84\x26\xb2\x95\x27\xdb\x5e\xe8\xfa\x08\x41\xf6\x4f\x3b\x52\xde\x8e\x56\x18\x85\x6e\x81\x54\xaa\xb0\xa7\x91\x07\xff\x74\x90\xb1\x3d\x0b\xe5\xed\xa4\x49\xc3\x79\x43\xd0\x72\xa9\x0f\x05\x57\x0a\xd8\x48\xdb\xfc\x24\x5c\xd6\xcd\xe8\x19\x29\x51\xd7\xe2\x53\xed\xa7\x7f\xfa\x90\x7f\xfd\xf5\xef\x6c\xe2\xb5\x79\x70\xd2\xec\xde\x49\xd7\xd2\x4c\xca\x6c\xa4\xcb\xef\x22\xab\x8d\x3d\x70\x81\x5c\xd5\x0b\x27\x34\x28\xad\xc4\x9f\xb3\x30\xce\x97\xde\x5b\xbc\x5b\x24\x4f\xbb\x4e\xa6\x3d\xaa\xbc\x82\x12\x4e\xa4\x0a\x42\xf7\x91\xa8\x50\xf3\xba\xde\x7b\xc8\x81\x34\x84\xa8\xd7\xf0\x39\x8f\x62\x21\x82\x2d\x39\x0d\x8a\x46\x85\x0b\xdd\x6f\x50\x56\xf4\xb3\x50\xfa\xdb\xff\x94\x59\xa0\x70\xaf\x15\x5b\x34\x03\x80\x32\xb8\xb0\x37\x2b\x04\x9a\xac\x54\xe4\x70\x63\xdf\x8a\xf0\x49\xdd\x01\x8b\x02\xc6\xdc\x79\x03\xb3\x25\xb9\x4d\x5d\xda\xc0\x4b\x6a\x27\x74\x8f\x57\x48\xa5\x69\xaf\x7d\x2a\xe6\x28\xcd\x3a\x7c\x6f\xa8\xe4\x86\xd8\x4e\xb1\x60\x0d\x7a\x87\xf4\x57\xca\x55\xc2\x65\x40\xb9\x1b\x1d\x9a\x45\xe0\x13\xdf\x9e\x35\xde\x32\x39\x78\x03\x8e\x97\xc4\x98\x18\x07\xa6\x54\x75\x23\x18\x56\xd9\x88\x04\x17\xf0\x70\xad\x20\xdb\xca\xaa\xa2\x44\xe0\x67\xe3\x59\xf3\x2e\xfb\x92\xf8\x27\x79\x56\x2d\x58\x6f\x0b\x6e\x30\x96\x43\xa3\x45\xbd\x03\x8d\x2c\x7c\x8e\xbd\x45\x69\x0a\xb8\xba\xa3\x03\x2e\x6a\x34\xaa\x74\x61\x1a\x62\x5b\x84\xb7\xc6\x97\x27\xb2\x99\x85\x44\x17\xb5\x5c\x91\x0b\x74\xca\x50\x7a\x3b\xbd\x6c\xa8\x86\xd9\x8e\x92\x1a\xbb\x18\x89\xef\xec\x3d\x83\x85\xd4\x81\x55\x27\xe1\x2b\xa3\xe1\x23\x19\x0c\xcd\x94\xf7\x76\xc4\x51\x29\xc4\xde\x61\x8c\x2a\x60\x49\x98\x01\x4b\x5d\x38\x50\xc1\xdc\x75\xfa\xaa\x75\xdc\xdd\xa6\xb1\x9a\x05\x82\xc2\xfd\xbd\x9f\x98\x07\x49\x35\xbb\x1a\x37\x4c\x5c\x8d\x76\x7d\x23\x17\x1f\x9e\x0d\xf8\x87\x3a\xb8\x53\xfc\xe6\x8c\x43\x38\x6e\x61\x34\x6d\x96\x9d\xa9\x69\xca\x0c\x2d\x2c\x2c\x13\x48\xd9\x08\xd6\x1c\xee\xc6\x02\xf7\x75\xb2\x95\xed\xc8\xa0\x9b\x02\xd2\xaa\x94\x77\xdb\x93\x34\x4b\x93\x52\x7f\x5f\xe6\x23\xd5\x5a\xc6\xa6\x5c\xb4\x66\x0b\x90\x92\x97\xfc\x35\x90\x56\xe6\x26\x7f\x4d\xb4\xed\xc5\x4f\xb9\x4a\x0a\x9a\xcc\x42\xac\x55\xaa\x2c\x7c\xab\x91\x28\x39\x57\xa6\xf1\x33\xf3\xee\xcb\x61\xd1\xfe\x8c\xc8\x19\x31\x75\x5c\x3e\xd4\x66\x44\x32\xa2\x0e\x1b\x6b\x75\x27\xb2\xc0\xd6\x94\x3c\xf7\xae\x2b\x48\xdc\x99\x5b\x3b\x8f\xcd\x01\x21\xb9\xf6\xfd\xa2\x20\x87\x15\x91\xf2\x7f\x7b\x8d\x05\x39\x3a\xc0\x3b\xea\x42\x26\x0e\x77\xbd\xa4\x82\xa3\xa3\x6f\xc7\x34\xd0\x38\x7a\xf4\xea\x28\xb0\xb4\xd5\x5b\x36\x07\xd0\x9e\x60\xa9\xe0\xb5\x6b\x19\x05\xa5\x2e\x5a\x85\x82\x68\xef\x99\x52\x22\xd0\xa9\x25\x0e\x41\x95\xfe\x82\xf2\xc6\xd0\xd7\xeb\xe7\xdd\xbb\x8a\xe0\x62\x95\xb7\x6c\x56\x76\xde\x17\x34\xbd\xf0\xe6\x95\xac\x2a\x4a\xf8\xb2\x09\xe0\x3b\xf5\xb9\xca\xb9\xca\x0f\xbd\xd8\xd0\x54\x14\xa7\x19\x9d\x66\x4a\xc3\x0f\x8e\x23\xaa\x4d\x6c\x75\xf2\xf7\x9c\xd1\xb6\x29\xaa\xce\xe9\x5e\x53\x53\x96\x43\x92\x61\x8e\x63\xea\x31\x37\x0d\x75\x11\x4a\xa8\xba\xc7\xe4\x38\x8e\x9a\xf5\xa2\x6a\xf4\x7a\x76\x2d\xb7\x3e\xf8\x56\x17\x66\x13\x71\x2f\xaf\xd8\x2a\x2e\xaa\xf1\xa3\x9d\xce\x80\x5b\x30\xd1\xf8\xb2\x89\x85\xfb\xf2\xaa\xb8\xa8\xd6\x89\x28\x98\x65\x7c\xd9\xc9\xaa\x9d\x59\xb2\x89\x3b\x63\x23\x8d\x1b\xbf\x15\x08\x96\x00\x56\x41\xef\xb3\xd9\x3b\x0e\x12\x0c\xe3\x4f\x1c\x5d\xdb\x7e\x7c\x8e\x29\x04\x16\x63\x6a\xf1\xcd\xdf\xfe\x5d\x47\xd2\x52\xeb\x1b\x87\x23\xb5\x11\x3d\x77\xcf\x5d\x62\x3c\x4f\xa5\x36\xb5\x0c\x5e\xa5\xd6\x33\xad\x2a\x43\x8d\x30\x59\x8c\x0f\xc3\x9c\xf2\xaa\x1e\xc1\xa1\x3d\x01\xd5\xc3\xea\xee\x0d\x35\xd5\x3c\xb5\x06\xca\x94\x1e\xb1\x00\xe1\x10\xac\x4d\x2a\xf2\x65\x3c\xc8\xb2\x27\x62\x7a\x6b\x04\xee\x94\xb3\xbb\x03\xe5\x44\x94\x49\x88\x1a\x82\x0d\x93\x2c\xf6\x3c\x25\x05\xf5\xa6\x77\x7d\xe9\x29\xba\x51\x57\x9d\x8a\x8f\x4c\x80\x72\xd5\x7c\x54\x06\xd7\x0b\xde\xee\xab\x45\xf5\xbf\xac\x9b\x3b\x67\x5d\x76\x30\x19\x13\x25\xfb\xb0\x38\xa1\xc0\x91\x26\x9f\x03\x96\xb7\x7c\x28\xed\xad\xd2\xf8\x9d\x4f\xd2\x86\x9e\x0a\x65\x2c\x1d\x8c\x76\x3f\x47\xb3\x24\x10\x6c\xa6\xc2\xc0\xfb\x6d\xb0\xcc\xfd\x50\x07\x5b\x51\x4f\x2f\x72\xde\xa1\x95\x3e\xb7\xf6\x88\xc1\x2d\xe4\xaf\x7d\xee\x11\x8a\xc1\x26\xa5\x16\x5d\x18\x06\xa8\x62\xa5\x16\x5c\xa6\xdc\x16\xd7\x6c\xd0\xb3\xa4\xd8\xdc\xd0\xe7\x50\xce\xc9\x50\x37\x6e\xd3\x41\xa4\xba\xc7\x2e\xb7\x8c\xea\x22\x4e\x60\x87\x17\x18\x1d\x45\xea\x60\x9c\x2f\x01\x63\xc0\x32\xd2\x34\x55\xcd\xa7\xda\xfb\x71\x5a\xa9\xe4\x56\xe4\x30\x2d\x47\xa9\xb7\xca\x83\x25\xb6\xfe\xc1\x72\xa8\x24\x86\x1f\x85\x1f\x62\xc4\x0c\x56\xe5\x23\x6e\x62\xc4\xe6\x26\x2f\x82\x62\xa9\x3b\x47\x4a\x21\x64\x09\x56\x4c\xb7\xc6\xe7\x5a\x87\x84\x38\x1b\x96\x86\x51\xa8\x0d\x28\x9a\x6b\x6f\x29\x57\x61\x97\x54\x60\x15\x0a\x18\xf1\x2a\xa1\x9a\xfd\x42\xfa\x65\xea\xc0\xb0\x79\x11\x56\x18\x91\xee\xa4\x2c\xb0\xee\xbd\x56\x26\x81\x14\x68\x62\x52\x85\x25\xe4\x9b\x3f\x10\x4b\xec\xd5\xeb\xec\x4c\xe1\x62\x52\x95\x37\x0f\xc4\x01\xa9\xba\x3a\x70\x41\x5f\xe8\x0f\xc2\x89\x42\x2f\x2d\x55\xa9\x6c\x63\x81\x99\xb3\x76\xd8\xd1\x0f\x3e\x8a\xa7\x17\xe7\x40\xd8\x58\x54\xcc\x79\x41\x3c\x07\x37\xf0\xac\x73\xe1\x03\x1d\xd8\x07\xe2\x42\x53\xe5\xac\x8e\xad\xa0\x5f\x39\xd4\xb8\xb1\x05\xb5\x1e\xb7\x7d\xd8\xaa\x5f\xf6\x81\x86\x4d\xe0\x4a\xa3\xee\x18\x34\xbd\xd0\x7b\xcc\x3a\x16\xdf\x38\x4e\x53\xf3\x3c\xc5\x1f\x85\xbf\xe0\xac\xbc\x01\xa7\xb7\xf0\xb3\x9d\xa3\xd3\x11\xf6\x46\xbe\x5c\xf5\xa0\x65\xca\xd9\x30\xb2\x08\xfc\x74\x81\x2e\x2c\xf3\x09\x4c\xc2\x93\x81\x7b\x1d\x43\x69\x4a\xec\xde\xb9\xf8\x81\x1e\x45\x39\x01\x00\x44\xd3\x01\x0a\x1d\xb4\x92\xbc\x73\x85\x83\xbd\x48\x76\xaf\x66\x50\x22\x3e\xc9\x43\xa3\x2b\x39\x8b\xc1\x72\xbd\xcd\x6a\x88\x95\x16\x11\x5d\xa3\xc0\x58\x30\xb1\x8a\x43\xb3\x43\x79\x73\x75\x35\x1d\x48\x65\x86\x56\xb6\x12\x4f\x06\x05\xbd\xbc\x91\x74\x5c\xdd\x58\x39\x4c\xae\xed\xb4\x97\x95\x8c\x28\x8e\x8b\x9d\xcb\xcb\x59\xbb\x7e\xe5\x72\x0e\xca\xcb\x59\xec\x68\x1d\x6b\x18\x00\xc0\x78\xcb\x74\xbf\x85\x61\xf4\x34\xf1\x35\x13\x5f\x03\xb9\x27\xb1\xbb\x6d\xce\x1d\x07\xb2\xcf\x8e\x7d\x8e\x81\x76\x6f\xe9\x17\x1b\x68\x63\x77\xec\x9d\x86\xac\xbc\x5e\xef\xe2\x34\x93\x36\x71\xf8\x74\x4e\xf5\xd6\xe5\x15\x0f\x3e\x8f\x7e\xa6\x6c\x82\x45\xcb\x4d\x52\xb9\xc1\xdc\x01\xed\x4a\xd0\x9b\xbf\xaa\x22\xfd\x07\x23\xcd\x0e\xb2\x9d\x48\xfa\x03\x5e\xfa\xe4\x73\x08\xf7\x3d\xe5\x14\x65\xf5\x0a\x05\x0d\x41\x8c\xd8\x9d\xa1\x99\xe0\x4b\xc3\xab\xa8\x30\x50\xa0\x77\x52\x48\x49\x9f\xb3\xb7\xdd\x8a\xcf\x5a\x1b\x41\x4c\xcb\x2e\x62\xd7\x3c\x85\x8a\xcf\xb3\x33\x1f\xa1\x82\xc6\x48\x63\xee\xc3\x30\x39\x75\xce\x64\xa9\x14\xe7\x9d\x58\xa6\x90\xd9\xc7\x23\xeb\x7a\xeb\x49\x4a\x2e\xf0\x23\x4d\x55\xd6\x5a\x25\xe3\xa2\x5a\xe4\xbb\x01\x42\xd4\x5e\x83\x95\x1e\xb7\x1a\x49\x30\xf6\xba\xed\x3d\xa9\xed\xc2\x34\xc8\x26\xa1\xd4\xbd\xf8\x5e\xe8\x02\x64\x64\xbb\x0d\x9f\x54\x42\x66\xd1\xd9\xc9\x2c\x68\x6e\x9b\x07\x15\xfc\x8d\xe7\xfd\x5f\xb8\x8b\xba\xea\xc9\x90\x82\xac\x8a\xa2\xb8\x28\x74\x86\x1d\xc9\x28\x76\x2c\x0f\xeb\xb5\xcf\x3b\x9b\x3c\x4d\x51\x6d\xb1\x9a\x70\x51\xe9\xb0\xbd\xc7\x27\xd6\xc8\x10\xe4\xef\x95\x20\xa7\x39\xb0\xf6\x21\xbf\xd0\x8a\x8b\xc3\x21\x64\x49\x6a\x98\x8d\xce\x6e\xa7\xe3\xf9\xf7\xde\xc5\x74\x72\x7b\x63\x43\x34\xbd\xbd\xb9\x99\x78\xe7\x63\x6f\x36\x86\xc7\x47\x3f\xfc\x60\x49\x34\xc0\x04\x8d\xf1\xd9\xa8\x4f\x2d\x4d\x7a\xe5\x87\xb1\xa5\x3e\x9a\x04\x68\x4b\x9c\x90\x2f\xb7\xbe\xdb\xd9\x18\x6d\x4c\x3d\xd1\x86\x77\xe7\xa3\xcb\xbb\x0e\x6a\x6e\x86\x67\xb6\x16\x6d\xf0\x5b\xfb\x7b\xbd\x98\xd2\x0d\xcc\xad\xb4\x68\x37\xa0\xf3\xd1\xfb\xd1\xe5\xe4\xc6\x5a\x56\x74\xf6\x7e\x7c\x09\xb3\xef\x4a\x97\x5b\x8d\xd2\x4e\x38\xd6\x09\xc7\x17\x2d\xef\xcd\xde\xc9\x24\xc7\x9d\x9c\x3c\xf8\x3a\x4a\x89\xbd\xdc\x39\xb0\x92\xce\x6c\x65\x6b\xf9\xb7\xe6\xd7\x16\x70\x61\x7f\x59\xff\xc5\x32\x00\x49\x83\x56\x5f\x5f\x97\x3b\xfc\x92\x5c\x18\x33\x75\xe5\x73\x95\x80\xfa\xea\x66\x93\x73\xe5\x22\xdc\x40\x91\xba\x55\xde\xad\xe4\x41\xe7\x5a\x55\xa5\xa1\xa9\x42\x23\xbc\xae\x74\x38\x07\x92\xe0\x3b\x91\x24\x71\x72\xb7\xee\xe8\xbf\x79\xe1\x48\x53\x03\x40\x0b\x6d\xa1\x58\xe8\x4a\xf4\xde\x6b\x38\xa3\xc9\x02\x85\x45\x8b\x04\x55\xc0\x4b\x3f\x06\x9b\xaf\x6c\xf3\x82\xaf\xe3\x22\x31\x03\xa1\x00\x08\xc2\x58\x07\xde\x38\xda\xca\xf6\x0c\xc1\x2a\x8a\x31\xad\xe6\x2b\xeb\xac\x31\x19\xbc\x0d\xf6\xa1\xa2\xba\x78\x77\x22\x86\x5a\xcb\x12\xff\x8e\xf9\x1f\x58\xc5\x4b\x71\xea\x7d\xf3\xf5\xd7\xdf\x1e\x7b\x6b\xd5\x2f\x55\xd6\x27\xc3\x86\x65\x46\x14\xfb\xbd\x58\xf8\x39\x57\xa2\xd1\xc5\x7d\x37\x46\x71\x54\x7b\xd8\xd6\x08\x51\x09\xd9\x2a\xf6\x18\x71\xa2\x72\x4a\x04\x54\x90\x53\x03\x56\xb3\xf0\x59\xd1\xd6\x2c\x08\xcb\xa1\xf1\x58\xfb\xf5\xf1\xb7\xff\xd7\xd3\x41\xa1\xb8\x5c\x1f\xb8\x94\x57\x63\x58\x8e\x0b\x53\xa4\xfd\x80\xb9\xf2\xfb\xaf\x7f\x57\x63\x13\x7e\xa5\xf9\x84\x8d\xfa\x54\x49\x2e\x3f\xcf\x1e\xe3\x24\xf8\x85\xeb\x99\x6c\x64\x6d\x3d\xba\xd2\xeb\xda\x38\xdc\xe7\xaf\x17\x93\x70\x43\xa0\xfd\x41\x52\x53\x7c\x6b\x70\xaf\xa0\x89\xd8\x47\xc5\xe4\x45\x80\x14\x21\x41\x54\x1f\xd0\xaf\x54\x63\xe7\x35\xa4\xab\x95\xec\xc2\x9a\x53\x8f\x93\x2a\x71\x29\x2c\xe1\x84\xc1\x6a\x0e\xc4\x91\x65\x4c\x0c\xa1\xba\xf7\x1b\x2c\x6b\x1b\x0a\x99\xbf\x2f\x7e\x86\xed\x4c\x79\x7b\x41\xda\x55\xa0\xcc\x81\x1d\x8a\x02\xac\xab\xc1\x55\xe9\x69\xec\xb2\x36\x10\x45\x2f\x29\xfc\x01\x57\xa4\xa7\x7a\x84\x54\x0f\x9e\x34\xe9\xf6\xda\x64\x2d\xc3\xc7\x6b\x6d\x92\xcc\xe8\xab\x33\xf8\xe6\xd7\x5f\xcb\x0b\x85\x7f\x1f\xde\x8c\x69\x14\xea\x89\xb5\xd1\x8f\x18\x7e\x28\xe5\xdd\xed\xc8\x85\x26\x42\xea\x6b\xa4\x8d\x1c\xd5\xf2\xb8\x46\x90\x95\x27\x08\x9c\xbc\xaf\x73\xf2\xc4\xc2\xbb\x97\xfe\xbd\x08\x59\x38\xab\x82\x17\xb5\xe3\xa8\xa5\x5e\x15\x7b\x74\x97\xb4\x62\x31\x5c\x66\x61\x09\xc6\x6a\x46\xd3\x59\x96\x5b\xd1\xfc\x9d\x8e\x99\x6b\xcc\x15\x6f\x21\xb0\x39\x1c\xae\x96\x34\xde\x81\x5f\x5d\x86\x95\xec\x24\x39\xaa\xda\x59\xd8\xee\x7f\xcd\x37\x6c\x59\xba\x84\x3b\x54\xf8\xdd\x6d\x20\x66\xdd\xf9\x96\x5d\xf7\xec\xb1\x5b\x0e\x65\x71\xd9\x6e\x11\x2a\x4e\xa6\x09\xe7\x9a\xed\xbd\x6c\x10\xee\xd3\xa5\x08\x3c\xad\xc5\x01\xf6\xe0\x50\xc3\xcb\xad\x48\x6d\xed\x99\x1a\x6a\x9b\x1e\xc2\xc6\xe3\xd8\xa3\xc9\xa8\xc1\xbf\x43\x9b\xa6\x0e\x3e\xeb\xcc\xd9\xf2\x18\x3f\x44\xf3\xf1\x0d\xe8\x02\x0f\x58\x35\x8e\x4e\xd9\x2c\x79\x22\x63\x72\x2c\x53\x6f\x7d\x6f\xfb\x4d\x2d\xff\xf6\x98\x1e\xa7\xee\xb9\xa8\xbe\xe0\xf9\x3b\xd8\x90\x27\xa3\xa5\xe8\x7f\x3d\xab\xb6\x18\xf1\x87\x68\x76\x7b\x01\x17\xc2\xf1\xd5\xe8\x7a\x3e\x39\xc5\x20\x3a\x18\x5c\xe0\xe1\x6e\xa3\xda\xea\x28\x67\x75\x8a\x2e\xea\x69\x75\x68\xdb\x6f\x8e\x81\x55\xdb\xc0\xd0\x66\xb0\x56\xa4\x8e\xb4\x19\x6c\x5c\x79\xd4\xb5\x4b\x27\xcd\x43\x71\xda\x91\xb5\x70\x57\x67\xf9\x68\x8f\x98\x75\xdd\x6d\xe6\x3e\x71\x39\x17\x67\x0d\xfb\xcb\xfd\xf8\xb2\x96\xe2\x6f\xcb\xd3\x50\xef\xda\x95\x75\x7a\xd9\xaa\x7b\x67\xd5\xbc\x45\x76\x11\xb6\x85\xb8\x8d\x65\xf1\x16\x6b\x0a\xa3\xba\xf0\x77\x07\xc0\x21\x7e\x55\x6f\x06\x23\x2b\x43\x71\x82\x7b\xeb\x72\x72\x36\xbc\x1c\xe1\x89\x74\x74\x76\x39\x1a\x4e\x8f\x8e\xf1\x56\x01\x17\x8a\x3c\x95\x8f\xb1\x7a\x87\xe5\x16\xac\xaa\x9a\x22\x13\xeb\x6a\xf0\x3b\x46\x11\x99\x13\x6f\x26\x14\x1a\x38\xb2\x34\x9a\xd2\xc3\xd8\xab\x19\x87\xc3\x55\x69\x94\xa3\xde\xb7\xae\x99\x4c\x46\x65\xdd\x51\xc9\xea\xbb\xec\x69\x23\x83\xde\x50\xc9\xe4\x42\xba\x47\x18\x4c\xcb\x2d\xdc\x61\x11\x0a\x5b\xaf\x34\x4d\xbb\xb9\x1f\xeb\xc0\xd3\x5c\x03\x54\xf0\xac\xa4\x01\x4a\x18\xc7\xa7\xa2\x98\x6c\x80\xb9\xb9\x1d\xf8\x63\x33\xec\x01\x93\x71\xb1\x7e\xa0\x53\x61\xd8\x12\xca\xc7\xa2\x47\x5b\xa9\x2b\x6b\x1f\xec\x95\x8b\xa6\x59\x97\xc7\x89\x1a\x59\x9e\xcb\x4c\x0c\x26\xc9\x30\x92\x1f\xdb\xec\x3a\x92\x20\x23\x2a\xb5\xd4\x08\x1b\xa6\xa1\x04\xc8\xc5\x0e\xc3\xf4\x94\x36\x1e\xd6\x8c\xd3\x69\xab\xd4\xfb\x4a\x7e\xf3\xde\x0f\x73\xc1\xe5\xec\xea\x8d\x8c\x9f\xcd\x98\x55\x1b\xb4\x6d\xb7\x57\xe8\xc6\x45\x59\xa1\xbb\xa3\x8f\xf2\x67\x30\x83\x31\xfb\x1b\xcb\x2d\xc9\x22\x3e\x0d\x19\x09\x2e\x3e\xdf\x06\xae\x35\x62\x49\x73\xc7\x94\x83\x3e\x9e\x5e\x35\xae\x83\xc4\x1b\xd4\x46\x72\xe8\x98\x03\x45\xed\xb3\x07\x1c\x54\x47\xf2\xe2\x41\x07\x6d\x23\x3d\x68\xc4\xc1\xfe\x23\x3d\x58\xd4\xc1\xec\x91\x2a\xa8\x91\xad\x03\x7d\x80\xda\x0d\x49\x51\xcb\x2d\x66\xb9\xb3\x98\x43\xc7\xa9\x6e\x81\xf2\x2a\x32\x94\x58\x95\x41\x74\x32\xa1\x01\x01\xac\xc0\x13\xe2\x6a\xa0\x82\x2c\x85\xb8\xf3\x46\x97\x64\xa6\x9a\xd5\x8a\xd4\x2a\x22\x8a\x9d\x3b\xfc\x56\x7f\x8c\x3f\x15\xc5\x1d\xcb\xa1\x5c\x16\x8a\xaf\x60\x69\x24\xa5\xb0\x7a\xe7\x3e\xc6\x8c\x2d\x0c\x2b\x4d\x24\x3b\x55\x45\x89\x52\xc7\x57\x35\x2f\x3b\x77\x75\x11\xc9\x78\x14\x61\x07\xba\x8b\x3c\x58\xb6\x0d\x44\x16\x57\x23\x47\x16\x0d\x41\x86\x64\xbe\xf6\x8b\xd8\x50\x2a\x39\x38\xc0\x04\xd0\x8c\x6b\x07\x73\xa3\xcf\x63\x78\x59\x55\x53\xc4\x55\x8c\x0d\x1e\x59\xe4\xca\x9f\xb9\x03\x9f\x8f\x15\x37\x88\x31\xa9\xad\x82\xe2\x7b\x23\x9e\xd4\x2c\xf6\xc6\xcc\x50\x51\xa2\xaf\x8b\x3f\x41\x4d\x55\xbd\x6a\x18\x19\xa9\xa8\x38\xe2\x3c\xc0\x26\xb5\x44\x58\x1a\xf3\xfc\x52\x5f\x50\x45\xde\x16\x7e\xc5\x6a\x26\x9b\xfc\xb7\xff\x55\x58\x1b\xc3\xb2\xe7\xcd\x52\x56\x91\x18\xa6\x8a\xda\xf5\x1c\x8a\xdb\x2e\x95\xf0\xd1\xee\x94\x62\x15\x61\xb4\xea\x77\x23\x62\x9b\x5c\x63\x2c\x3e\xec\x1d\x2a\xe1\xe3\x4b\xd3\x7c\x0b\x62\xaa\x74\xb6\x14\x70\x73\x0e\xe5\x6a\x36\x7b\x6e\x54\x6f\xf1\xdd\x54\x2d\xb1\x6e\x39\xc6\xfd\x52\x2a\x31\xd5\x2b\xe3\xf9\xf4\x8b\xa6\x32\x59\x53\x4f\xe7\x16\x1a\x59\x7d\xd8\x81\xfd\xf4\x62\x0b\x60\xbc\xe0\x90\x06\xbb\xc1\x42\x7b\x91\x35\x18\xc8\x80\x4f\xcf\x05\xe5\xa2\xab\x0c\xa6\x6d\x04\x35\x9b\xd0\x0e\x83\x71\xaf\x29\x50\x42\x89\x96\xab\x1d\xb0\xd5\x2d\x50\x6d\xb8\x38\x8c\xbe\x3f\x96\xb6\xf0\x57\x03\xf2\x7e\x0b\xc0\x15\xcb\xee\xfb\x4f\x5f\xc5\xdc\x37\x1e\x4a\x4c\x9d\x70\x45\xd7\x6d\x4e\x74\x7b\x99\x9b\x4d\x31\x0c\x53\x4d\x47\x3a\x7c\x9d\xab\xf5\xc5\x79\xee\x25\xd7\xea\x79\x5f\x87\xb9\x14\xba\xa8\x3c\x4d\x7c\x3b\x2a\xa5\x79\x99\xd7\x84\x67\xbf\xf4\xf5\x52\x97\x3e\x06\x1b\x59\x19\x58\x55\x5e\x20\xef\x71\x16\xb7\x15\xd0\x1a\x93\xeb\xba\x9c\xcb\x5b\x14\x01\xaa\x16\x3b\xee\xf2\x76\x20\x09\x8f\x70\x5e\x93\x50\xa2\x12\x84\x6d\x99\xc4\x12\x37\x68\x8f\xfc\x68\x39\xd5\x08\xe1\xb4\xa0\x29\x75\x20\x94\x17\x0d\x34\xdd\x28\xb3\x05\xb6\x50\xca\x50\x72\xc7\x6b\xb8\x70\x2c\xc5\xf2\xbf\x58\xa8\x98\x27\xb0\x29\xd2\x45\xa0\xda\x18\x70\x1f\xa9\xb2\x09\x04\x00\x73\x4b\x26\x4c\x2c\xc7\x52\x7a\xe8\xf4\xb4\x10\xd7\x62\xf5\x99\xb5\xc9\x29\x5a\xb8\xcf\x52\x82\x5b\x89\xc9\x6a\xdd\x80\x5e\xc5\xb8\x0d\xfa\x6c\x86\x58\x59\x5e\x5a\x49\x7d\x9b\x41\x96\x00\xed\xd1\xc6\x99\xb9\xb8\x7f\xfb\xe6\x59\xa3\xa8\x70\x62\x70\x6c\xd9\xb7\x6e\x5c\xb4\x1a\xb2\xdb\xd9\x86\x61\xa4\xdc\x32\x4d\x76\xac\x24\x45\x99\xea\x7e\x03\x00\xb2\x2a\xd3\x4f\x14\x41\xa2\x62\x5d\x8f\x75\xa9\x78\xd9\x5a\x24\xd5\x95\xc2\x51\xa2\xc8\x03\xea\x53\x9c\x50\x1d\x4a\xdd\x20\xc3\xda\xbd\x4c\x37\x5a\xc3\x62\x4e\x95\x8e\x98\xba\x6c\x38\x49\x10\x44\x47\x36\x68\x59\x10\x3d\x35\x5e\x55\xfc\x3b\xc6\xe0\x12\xa2\x4b\x53\xc9\x96\x68\xa2\xb1\xde\xb6\x03\xe6\x35\xf4\xb7\x71\x12\xeb\x43\xcc\xb6\x0b\xe9\x3e\xc1\xa2\xef\x65\x2f\x3d\x8c\x79\x59\xb4\xc9\x81\x7b\xc8\xe7\xbf\xe2\x48\x0b\xcc\xf3\x84\x0a\x37\x19\x54\x6c\xab\xb8\xbb\xbc\xc0\xd0\xbd\xb8\x80\x84\x06\x9a\x41\x16\xac\x45\x9c\x67\x1f\x22\xe9\xbd\x1c\x1a\x81\x9c\xe4\x93\xbc\xe7\xec\x42\x61\x76\xe8\x49\x82\xd5\x63\xe6\xa1\x77\xe1\x84\x62\x04\x60\xe3\xe3\x49\xf2\xe8\x27\x4b\x8a\xe5\x90\xe6\x2c\x7c\xe0\x98\x16\x12\x7e\xfa\x3f\xb1\x7a\x7c\xa3\x29\xcb\xb6\x67\xe6\x4c\x9b\xc7\x35\x0a\xcc\x51\x21\xb9\x65\x27\x67\x55\x8e\x61\x6a\x1b\xa6\x6f\x26\x82\xbb\x18\x2c\xe2\x90\x6a\x87\xe0\xb6\xa0\xbe\x29\xba\x95\xd4\x89\x37\x8c\x7e\x09\x28\x30\xcb\x70\x76\x16\x4f\x81\x42\x81\x03\xc3\x30\x99\xa5\xd1\x69\xcc\x6a\xf2\xa6\x71\xda\x77\x17\xb6\x90\x8a\x8a\x2e\x59\x9a\xf1\xc8\x26\xb4\x8d\x9f\x71\x90\x91\x32\xe9\xaf\xe3\x44\x98\x46\x89\x96\xb9\xe7\x20\x8b\x24\xc8\xe1\x4c\xce\xe2\x3a\x8b\x34\xe9\x15\x34\x74\x0b\xfd\xff\xa8\xfb\xba\xdd\xc8\x8d\x24\xdd\xfb\xf3\x14\xc4\x01\x06\x32\x70\x24\x8d\x6d\xcc\x55\xfb\x62\x50\x56\x4b\x7d\xb4\x50\x4b\x3d\xad\x92\x07\x63\xb7\xa1\xa1\xaa\x28\x89\xeb\x2a\xb2\x86\x64\x49\xd6\x1a\x7e\x97\x7d\x80\xbd\xda\xbb\xbd\xf6\x8b\x6d\x7e\x11\x91\xc9\x24\x99\x91\x64\x49\xdd\xed\x19\x2c\x76\xe0\x56\x31\x23\x23\xff\x22\x23\xe3\xe7\x8b\x95\x79\x81\xe6\x48\xed\xf4\x5f\x09\x91\x41\x64\x4b\x76\x64\xf2\x7f\xab\x5e\x4f\xda\x93\xe6\xe2\xeb\x7e\xab\x93\xfd\xac\x21\xb9\x33\xa5\x6c\xf9\xef\xab\xcc\x63\x1a\xb6\x1b\x1b\x6c\xb6\xcf\x41\x01\x66\x6d\xb7\x48\xcd\x2c\x51\x9b\x83\xff\x60\x7d\xa3\x0c\x3c\x22\x9f\xab\x06\xc9\xb5\xf5\xfc\xd3\x61\xda\x77\x55\x36\xea\x2d\x53\xc6\x26\x40\xe5\x20\xaa\x55\x93\xda\x92\x59\xdd\x56\x9e\x93\x54\xd3\xc5\x1a\xbd\x02\xeb\xa5\x0e\xc6\xc1\xd1\x60\x76\x93\x34\x7a\xc0\xca\xa5\x8b\x21\xb3\xdf\x29\xf4\xca\xcd\x88\xac\xac\xa8\x4e\xfe\x54\x69\x59\x1a\x49\xfe\x59\x77\x26\xb1\xf7\xcf\xb7\x37\xe9\xe2\x3d\x90\x50\xb6\xa5\x76\xf3\x51\xa9\x51\x5b\xb2\x8b\xef\x62\xe5\x56\x9b\x1b\xd9\x74\x71\xa5\x95\xe3\xb7\xbf\x2a\x4d\xdf\xe9\x85\x41\x3a\x82\x4f\x2b\x83\xc1\x14\xcc\xbf\xaf\x20\x7a\x8f\x4e\xae\xcf\x67\x6f\x8f\x45\xc9\x3b\xc0\xcb\xef\xc0\x86\xba\x1d\x58\x04\x0d\xae\xa8\xfd\x13\x5b\x44\xdc\xcf\xd6\xa2\x54\x7b\xc5\x23\xcd\x87\x47\x27\xa4\xef\x4c\x63\xd1\x7c\xd1\xca\xe7\x69\xbc\xd0\x91\xc5\x0b\x8d\x90\x6f\x6c\x75\x49\xa4\x57\xdb\x40\x1a\x8e\xb6\xcb\x3b\x40\xb4\xa8\xc7\xd8\xd1\x7c\x0c\x9f\xfa\xfc\x24\x47\x52\xcb\x8a\x52\xc4\x28\x6a\xd8\x34\x7d\xe2\xd0\x58\xa9\x6b\x65\xfd\x71\xde\x03\xa4\x36\x07\xab\xc9\x29\x95\xfc\x89\x22\xa1\x2a\x46\x33\xd2\x23\x32\x7a\xb7\xb9\x5f\xde\x8a\x50\xf9\xb3\x8a\x53\xc7\x6c\x27\xa1\x81\x74\x9d\x71\xb6\x02\x16\x30\xdc\x0b\xba\xde\x99\x10\x43\x2b\x54\x8c\xc5\xa4\xea\xc1\xfd\x50\xae\x9b\xec\x3e\x2f\x96\x46\x0b\xbe\x35\xca\xe3\x23\x01\x89\x53\x11\x97\x7f\x90\x32\x69\x64\x0d\x15\x41\x37\x8b\xf4\xf3\xd3\x3e\x3f\x86\x19\x7d\xe2\xbe\x69\x36\xf5\x35\xfd\x3d\xec\xc6\xa3\xb8\xe2\x0a\x7a\xba\x99\x56\x23\xda\x51\xcd\xad\xce\xf6\xa5\xb4\x39\xd5\x1f\x2d\xb2\x06\xef\x0c\x3c\xda\x8a\x8c\x02\xb2\xa7\xcd\x22\x14\xaf\x9c\x22\xa9\xa0\x79\x66\x28\x8b\x4a\x2a\xb4\x0c\x00\x7a\x4d\x9e\xdc\xe4\x75\x79\x57\xd8\x72\xf7\xcc\x28\xc6\xb2\xdf\x3e\xe9\xb1\x08\x1d\x75\xc7\x1f\x54\x6d\x74\x4e\xb9\x4c\x3c\xa5\x8a\xeb\x73\x26\x33\x40\x5c\x50\x9d\x14\x8f\x1c\x59\xd2\xcc\x48\x04\x01\x09\x09\x7f\x59\x7c\x1d\xce\x4b\x91\xa9\x36\x52\x64\xbf\x55\x97\x6e\x19\x32\xd9\xd3\x67\x50\xdd\x49\x9e\xc4\xd1\x50\x92\xee\x64\x81\x1f\x2f\x73\xc2\x4b\x3e\xdc\xef\x69\x4e\xc3\x1e\x37\x7e\xb6\x22\xc5\xd4\xc5\xf1\x0b\x68\x50\x57\x32\x82\xd9\xbb\xd3\x2e\xf3\xf4\x36\x2f\xb6\x99\xf3\x87\x9a\x87\x3e\x7c\x78\x5d\x33\xcd\xa4\x41\x75\x18\xef\x76\x04\x9e\xa5\x27\xb0\x2c\xe5\xd1\x7c\xc3\x8d\xbc\x3f\x4d\xcf\x53\x86\x71\x74\xe2\x88\x77\x2e\x29\x1a\x52\x66\x34\x5e\xd3\x09\xed\xe6\x4e\x5c\x8b\x2b\x95\x07\xa1\x8a\x80\xff\xc5\x33\x06\xa6\x77\x8d\x41\xde\x21\xe9\x94\x8a\x85\xd3\x3e\x46\x11\x1f\x5f\xba\x90\x18\x09\xbf\xd0\x20\x2b\x52\x5f\xe6\x4c\x9a\x06\xc1\xdb\xeb\xe9\xf1\x69\x61\x93\x9d\xa9\xa4\xdd\x67\x98\x93\x21\x1f\x16\x81\x63\xf0\xf8\x6d\xe1\x3d\x7e\x8f\x19\xeb\x6c\xfe\x4f\x3c\x2b\xdd\xc9\xf8\x3c\x03\x6d\x45\xd5\xd5\x66\x69\x3e\x75\xa0\xc0\xdd\x91\x6f\xe9\x47\xce\x34\x19\xc3\x06\x8f\x0d\x31\xd2\x0b\xc6\x4c\xf9\x13\x15\xa9\xf8\x92\x53\x32\x15\x5a\x7c\x7e\x31\x9f\x9d\x5d\xbf\x3d\x7e\x7b\xf1\xfe\x6f\x9a\x93\x1d\x3f\x9e\xce\xae\xe9\x53\xa5\xbc\xda\x3c\xbd\x63\x55\x1f\xff\xa1\x6a\xfa\xe6\x47\xff\x23\x85\x92\x51\x31\x10\x2f\xe8\x79\x2c\x57\xe5\xdd\x84\xd8\x83\xd9\xc2\x3c\xe7\x11\x44\xb8\xe6\xa8\x80\x9c\xea\xf9\x8b\xb7\x72\x7a\xcc\xc1\xdc\x0f\x5c\xf4\x15\x6f\x55\x31\xbd\xe8\x55\xd9\xe8\x9a\x5b\xfb\x34\xe2\x9d\x86\x9e\x19\xba\x46\x1c\x8c\x88\x1c\xb6\x0e\x77\x69\x4b\xf9\x76\xe2\xaf\xfc\x9c\x5f\x97\x29\x92\x36\x1e\xe8\x96\xd1\x98\xb2\x9f\x49\x51\x62\xf7\x6e\x43\x22\x86\x0b\xa6\x3a\x87\xaf\xb8\x20\x7c\x6a\x2d\xc4\x90\x61\x8b\xa9\x68\xdb\x84\x39\xeb\x06\xf8\xaf\x62\x65\x9c\xf9\x91\x53\x91\xbe\xbc\xcc\x5c\x0b\x8a\xa5\xf5\xb1\xfa\x50\x08\x08\xfa\xb7\x57\x8f\x55\xef\xc2\x61\x60\x49\xc9\x3e\xd0\x52\xa6\xd2\x8c\x8a\x8c\x98\xbf\xd8\x92\xe7\xc7\x94\x62\x06\x19\x17\xb4\xa4\x9b\xfe\x97\x19\x83\x93\x49\x19\xa0\xd6\xd6\xac\xae\xf6\xe9\x6a\xac\x13\xcf\xe0\x1e\x32\x16\x4b\xc1\xa0\x43\x75\x47\x50\xf6\xe4\x92\x72\xbc\x93\xc7\x7b\x23\x2e\x89\x43\x27\xb7\x6a\x52\x9a\x49\x87\x35\x3b\x75\xb9\xad\xba\x28\xed\x48\xf4\x3b\x40\xd4\x43\x2c\xbd\xf0\xcc\x3c\x6d\x97\xb9\x2c\xd9\x36\x77\xaa\x3b\xe1\x2f\x95\xa8\x07\x8f\xb7\x8e\x95\x5e\x79\x0b\xca\x6e\xcb\x5b\x23\xff\xd2\xcc\xc2\x83\xe4\x5b\xa3\x53\x18\xd1\x18\xcd\xac\x49\x57\x5e\x63\x7d\x94\x14\x06\xe2\x21\x96\x70\x39\xc7\xdc\x45\xc3\x03\x49\xae\xba\xd3\x5e\x79\xa7\x36\xd4\xc3\x81\x91\x48\xf3\xdc\x43\xc4\xa2\xab\xa7\xf3\x8c\x7f\x3e\x3f\x5c\xc6\x55\x0d\xa0\x1b\xe5\xc7\x56\x5d\x9d\x10\x9e\x13\xe2\xc6\x9c\xc5\x97\xcd\x4f\x4b\xe0\xa3\xcd\xd0\x80\xa7\x5d\xe7\x68\xc8\xd3\x8e\xb3\x54\xa9\xf8\x37\x00\xd9\xae\xb3\x43\xb1\x01\xf3\x63\x9b\xdf\x8d\xe6\x62\x82\x03\x9b\x65\xe1\x81\x79\x5f\x5e\x5c\xce\xc9\x28\x60\x06\x00\x8d\xe2\xe0\xa0\x82\x71\x6e\x7d\xc0\xc4\xcd\xfe\xbe\xcb\x8a\xac\x6a\x05\x2c\xff\x9d\x8a\x93\xdf\x1b\x59\xbc\xa1\x8a\xcf\xb1\x12\xe5\x3a\x82\x0e\x71\x59\x1e\xf6\x0d\xca\xa2\x29\x11\x54\x5d\x41\x76\x72\x78\xb0\x21\x0b\x0d\xbf\xe7\x17\x6f\x8f\xc1\xb3\xb9\x64\x9d\x7e\xd2\xe3\x99\x54\x30\x62\x9a\xde\x4c\x56\xcc\x32\x13\x64\xd3\x68\x0b\x3a\x4b\x89\x5d\xcd\x79\x3c\xf7\xd3\x08\xfc\x67\x92\x61\x67\x6b\x44\x02\x81\x33\xc1\x0c\x91\x9a\xf3\xae\x1a\x21\xce\x39\x49\x51\x62\x14\x5c\x46\x77\x05\x9d\x69\x8b\x3a\xf0\xf0\x97\x76\x9e\x48\xbd\xfb\x54\xe7\x0e\x46\x02\xca\xbb\x76\xd7\xa7\xbd\x00\x25\xda\x17\x9b\x62\xb3\x89\x71\x66\x66\xa1\x86\xfc\xe3\x6b\xa8\x7f\xaf\x91\xb3\x9a\x76\xa5\x7f\x33\x8d\x32\xd4\x94\xb0\x68\x99\xc7\x09\x97\x7e\xa6\x97\x89\xa0\x67\xee\x9b\x93\x44\xa5\xee\x29\x9f\x24\x67\xd7\x0f\xf6\xa4\x1a\xf6\x2a\x0c\x1a\xe9\xbc\x31\x2d\xb8\x72\x33\xac\x4f\x5e\xae\x46\x95\xc1\xf6\xbc\x26\x81\x2d\xdb\x26\xca\x23\xa6\xa5\x90\x4c\x65\x49\x51\xf7\xea\xfe\xc1\x21\x05\xa5\x17\x80\xed\xb4\x65\xf7\x5e\x69\x98\xee\x5c\xaa\xd2\x05\x3f\x90\x29\x84\xb3\x8d\xdd\x7d\x61\xd6\xd6\x9b\x4f\xae\xee\x63\xf3\xcd\x6d\xea\x42\xa7\xa7\x8f\xca\x37\x67\x34\x97\x15\xd4\x30\x28\xbe\xf9\x66\xa4\x00\xef\x47\x1d\x4b\xb0\x77\x65\x7c\x6d\x2a\xbc\x1a\xcf\xe0\x27\xab\x8f\x93\xb1\x76\x34\x8e\x67\x00\x48\x15\xe6\x8a\x62\x47\xfe\x86\x87\xa0\x3b\xd9\xee\xec\x49\xf5\xe4\x24\x6f\x6c\x6e\xb2\x14\x1d\xd0\xf6\x66\x97\x25\x99\x8b\x25\xe6\x49\x8e\x31\x8e\x63\x95\x2e\x59\x57\x38\x4c\x90\xe4\xbd\x2d\xdb\x0e\xfb\x8a\x73\x95\x8b\x7f\x50\x0c\x94\x5e\x89\x02\x2d\x09\x6c\xee\x21\x6e\x01\x61\x16\x41\xf0\x40\x58\xa8\x8c\xa0\x71\xf7\xa4\x11\xb2\xaf\x91\xbb\x46\x12\xa2\x61\xb3\x6b\xe5\x55\x2f\x6c\x71\x38\xb9\x5c\xf3\x3e\x49\x78\xfa\x8c\x0c\xd3\x38\xca\x70\x53\x88\x0a\xdd\xf6\xb8\x2d\x48\xf8\x91\xbf\xf5\x43\x31\xe3\x37\x76\x62\x1f\xdb\xc9\x63\x5a\x88\x57\xc9\xd5\x29\x0e\x07\xc7\xff\x59\x3b\x60\x7f\xe9\x62\x7d\x71\x31\x09\x0a\x83\x87\x44\x48\xb5\x7b\xdc\x30\x73\x86\x1d\x99\xda\x24\x3a\x3b\xbf\xa8\x4f\x98\x55\xe6\xf6\x71\x0d\x19\x57\xac\xb5\x55\x64\x62\xfe\xc6\x0d\x55\x59\x21\xcd\x22\xbb\x6f\xe0\xc0\xa5\xd4\x05\x23\xc3\x6d\x96\x49\x70\x7b\x19\xaa\x5d\x9b\xab\x61\xfb\x7f\x56\x4f\x3e\x96\x55\xa2\x4b\x91\x8a\x5a\xec\x35\x04\x24\x8c\xfa\xdc\x36\xdc\x04\xd2\xfe\xa7\xec\xa9\x1e\xd9\xa8\x9d\xc4\x79\xa1\x91\xf6\x62\x45\x24\x16\x55\x43\x07\x66\x76\xe8\x91\x68\xd5\x8d\xfb\x94\xc4\x12\x07\xbb\xb9\x27\x24\x05\x39\x8d\xf1\xc3\xef\xc7\xfb\x94\x35\x02\xdc\xd6\xff\xe8\x46\x2d\xb5\xa5\xf9\x63\xfc\xd0\x4e\x65\x54\x16\x8b\x44\xcf\x4e\x4d\xb8\x07\x0e\x13\x75\x5f\x72\x24\xa8\x6f\xdd\xd3\x6a\x12\x1f\xe5\xbf\xfd\x37\xce\x39\x66\x8c\xf7\xc6\x4a\xac\xfd\x01\x7f\x1a\xe2\x6c\x86\x9b\xa0\xf2\xb0\x9a\xaa\x7e\xaf\xe1\xb1\x49\xa8\x02\xa9\xbc\xf5\x53\xb1\x60\x7f\x80\x2d\x4f\x3b\x12\xe0\x40\x61\x40\x7e\x99\x58\x6a\x9c\xd6\x79\x61\x84\x83\xaa\x58\xe6\x1b\xb1\x2d\xa5\xcb\xe5\x01\xbf\x0d\x0f\x20\x17\xf7\x78\x46\xef\xf0\xc0\xab\x04\xcf\x65\xa3\xc5\x07\x5f\x6e\xef\x8c\x5e\x43\x36\xfa\xd2\xb7\x24\x0d\x68\xb2\xb7\x09\x44\x2b\x8b\x6d\x33\x52\x9c\x66\x6e\xb6\xc7\x2a\x79\x6b\x84\x97\x5a\xb0\x96\x7e\xcc\x8d\x6c\xc0\xa7\xda\x38\x89\x4c\xba\x2e\xb7\x05\x01\xf7\xac\x89\x60\xf2\x45\x76\x78\x77\x98\x7c\xf5\xe5\xd7\x7f\x7a\xbb\x9f\x7c\xf5\xc6\xfc\xff\x97\x6f\xb4\xd0\xa2\xbf\x6c\x61\x7b\x40\x18\x2a\x77\x84\x95\x5e\x4b\xd7\x5f\xa4\x4b\xa8\x51\xeb\x0d\xbc\xe2\x7d\x72\xbb\x30\x64\x81\x9b\x10\xeb\x44\x48\x32\x1f\x8b\x43\x17\xbb\x64\x88\x76\x9c\x0b\xcf\xe6\xbd\xd8\xae\x6f\x80\x7d\xde\x2d\x20\xe2\x14\xd2\xc3\xe4\xe0\x2b\xac\x2e\x42\x0d\x90\x8d\x96\xe2\xf6\x80\x5c\x24\x44\x20\x1a\xb7\x26\x2d\x3e\x71\xaf\xc9\x17\xaf\x39\xea\xe1\x55\xfb\x9b\x36\xa5\xe7\xdb\x75\x66\x0e\x75\x3b\x9f\x56\x6f\x0e\x08\x01\xf4\x9c\x6e\xa4\xeb\x54\xa4\x9b\x5d\x11\x23\xb1\xd0\x13\xa1\xf5\x7f\xd1\xc9\xa2\xf3\x92\xc6\x5f\xb5\x9f\x95\x13\xe7\xbe\x8a\x81\x78\x0e\xb8\xaf\x74\x54\xcf\x3e\xe1\x7e\x4e\xc5\xe4\x3e\xbc\x19\x1a\x49\x6e\x98\x57\xd8\xea\x93\x64\x9c\xf9\x12\x31\xc2\x5d\xe1\x16\xa6\x7a\x35\x9b\xb5\x1a\xd7\x3a\xaf\x91\x8b\xc6\x75\x4b\x19\x31\x94\x8c\x5a\x1a\xee\x90\x6d\x07\x22\x46\xc9\x5b\x90\x1a\x5c\x48\x3c\x25\x5d\x96\x16\x75\x34\xf2\x5a\x37\xea\xb0\x42\x1f\xbf\x68\x4d\x20\x70\xd9\x08\xe6\xcc\xcf\xce\xd7\xd3\xba\xc4\x2d\xca\xaa\x91\xa0\x99\xb9\x4b\x34\xe5\x19\xf4\xcc\x41\x37\x5a\x13\x1b\xbd\x2a\xdc\x61\x1c\xb6\x68\xba\x21\x2b\x23\xda\x53\xd4\x69\xc6\x86\x6b\xb9\x3f\xc2\x2e\x9d\x09\x5c\xbb\x2a\xea\x2d\xe7\xbc\x39\x1d\xcf\xe6\x87\xc7\xb4\x5a\x02\x31\xeb\xd2\xc8\xa3\xb5\x67\x48\x01\x25\x1b\x29\x48\x8e\xe1\xc8\xb8\x52\x37\x26\x72\xe6\xe7\x45\xb9\x6a\xc8\x64\xd1\xb9\xfd\xec\x75\xd8\x55\xf7\x0e\x13\x44\x0f\xa3\xf3\xd4\xc7\x96\xa5\x32\xe0\x5e\xb4\x1f\xb3\x10\x1e\xf3\xe5\xec\x8d\x86\x25\x7a\x35\x3f\x3d\x3b\xfd\xfe\x7b\x05\x20\x93\x5a\x6a\xe1\x2e\xb6\xa9\x12\xe3\x72\x75\x79\xfc\x7e\x22\x10\xe9\xf7\xa7\x17\xe7\xc7\xc9\xd5\xfc\xf8\x7c\xae\x20\x6e\x82\x98\x06\xd4\x19\x6d\x57\xd8\xa8\x14\x36\x65\x05\x9d\x07\x87\xf4\xf4\x63\xd0\x2d\x1d\x33\xc8\x83\xba\x03\x2d\x0a\x3f\x49\xbb\xf1\xf1\x3a\xcd\x51\xe6\x38\x9e\x02\xc2\x15\x91\xa9\x04\x4e\x26\x95\x8b\x05\xad\x8e\x6f\x0d\x23\xa9\x37\x28\x55\x37\x89\x49\x43\xb3\xce\xe9\xe6\xb4\x48\x63\xeb\xb2\x28\x11\x2c\x8c\xc0\x18\x88\xa6\x9a\x83\xe1\x96\x1e\x04\x5d\x4c\x48\xb4\xfc\x6e\x61\x5b\x6b\xc8\x03\x18\xcd\xbb\x16\x5e\xda\xe8\xe3\xbd\x2e\x72\x98\xa2\x32\xb7\x3d\xf1\xbb\x6c\x5f\xac\x7a\x7b\xd6\x44\xb7\x37\x15\xf2\x26\xcc\x84\xff\xe4\x22\x80\x13\xb6\xbd\x79\xe4\x47\xe1\x70\x7c\x16\x39\x8b\x31\x4b\x8e\x8e\xc8\x38\xf6\x9d\x91\x62\x08\x56\x49\xde\xb1\x1d\x09\xa2\x0a\xc1\xb8\x31\x23\xa4\xcf\xa8\x4b\x8b\xe4\x80\xdc\x07\x26\xc7\x61\x10\x47\x47\x87\xc9\x31\x0d\x84\xad\x86\x14\x70\x82\x69\x65\x7c\xbd\x51\x66\xcb\x1b\x24\x50\x58\x97\x0a\x59\x5a\x21\xd1\x32\xe7\x27\x21\x8b\x88\xfb\xd7\xa4\xe3\x00\x79\x55\x64\xac\x1c\x93\x3d\x94\x32\x3d\xd9\x93\x22\x29\x4f\x3c\xf7\x37\x79\x80\xfe\x08\xc3\x9b\xb4\xaa\xfb\x33\x6b\xc3\x3a\xe4\x9f\x66\xbd\xa6\x9c\x87\xc2\x5a\xe2\x02\x93\x1a\xa0\xa8\xf1\x45\x6f\xc8\xc4\x3e\x03\xf9\x8c\x46\xe3\x6d\x66\x45\x41\xe1\xd7\xdd\x94\xa9\xdc\x7f\x4b\x8e\x57\x71\xb6\x1d\xb7\xc5\x44\x83\x10\x1a\xc4\xce\x0b\x53\xda\x84\x5f\x1f\xac\xb7\x97\xec\xb5\x1a\x3e\x82\x7b\x7c\x2c\x75\xc9\xf8\xac\x5c\xb5\xab\xe2\x86\xc3\xd0\xba\x59\xfd\xbb\x4c\xbf\xd9\x9c\x44\x83\x03\xbe\x42\xc8\xba\x93\x96\x21\xc2\x07\x17\x90\x69\x58\x15\xed\xd6\x91\xc1\x19\x0b\xc5\x0b\x7e\x04\x9e\x29\x4f\xd3\x3c\x65\x69\x4f\x85\x0a\xcc\x84\xb4\xa4\x09\x65\x7e\x5e\x32\xd4\xba\xad\x92\xf9\xcf\x30\xd4\xe9\xe5\x81\xbc\x41\xf7\xf2\xb3\x79\xa7\x49\xbc\x23\xdd\x46\x23\x03\xa2\x63\x03\x15\xce\x3b\xf0\x61\x38\x3e\x7e\x78\xf1\x15\x14\x79\x24\x8c\xb2\x16\x89\xfb\x08\x4d\x72\x98\x99\xe5\xc4\xe0\x70\x61\x67\x01\x0e\x56\x2b\x55\xab\x0f\x0a\x93\x76\x56\x52\xfe\x59\x0b\x90\xe7\x4e\x82\x21\xe8\x2c\xe9\x34\x40\xbc\x4f\x16\xa0\xde\x1b\x8e\x4c\x67\x3c\x5c\x9d\xe2\xc1\x75\xe0\xbd\xcf\x1c\xcc\xde\xce\xe9\x3a\x7d\x32\xa7\x05\x26\x1b\x8a\xcd\x5b\x9b\xff\x65\x4c\xe4\x9e\xdf\xf6\x61\xbb\x82\xb3\xd2\x5c\xc8\xdf\x24\x64\xdb\xc9\x87\x6f\x6d\x1d\xc6\x53\x02\xb8\x6b\x5f\x69\x24\xed\xe8\x75\xd9\xb1\x74\x9a\xef\x16\x59\xb6\xd4\xcc\x9b\x67\x7b\x69\x7c\x2b\x91\xa9\x88\x13\x73\xcd\x15\x6f\x79\x46\x00\x9b\x1e\xf5\xc7\x6a\x70\xc7\xf9\xbb\x9f\x90\x71\xe9\x10\x51\xc4\x3b\xc2\x67\x72\xdc\x79\xbd\x08\xa8\xb9\xc9\x77\xdb\x32\xe7\x21\xe2\xe1\xa0\x58\x53\xdb\xa5\xe9\xad\x40\x67\xb3\x8f\x4f\xf9\xe7\xda\xfd\x7d\x11\x97\x0d\xa7\x73\xf7\xda\x33\xbf\xe3\x81\xa8\xc7\x61\xf2\x69\x25\x24\x05\xa9\x77\xad\xd3\x4c\x6e\xeb\x91\xd2\xc3\xaa\x04\x99\x0c\xf6\xbf\xa4\xf8\xcc\xbc\x35\xc8\xe5\x9e\x41\x2e\x6b\x15\xee\x3e\x3a\x97\xc7\xda\xa7\x98\x07\x77\xe7\xff\x33\xcd\x43\x1a\x07\xef\xfa\xf8\x53\x62\x7e\x90\xad\x4b\x23\xe5\x12\x5b\x74\xf2\xdc\x61\xfb\x2c\x53\x13\x67\x64\xfa\xf8\xb3\x9f\x37\xd9\x82\x5c\xd0\xe4\xd2\x87\x23\xad\x5c\x50\x16\xf8\xf2\x15\x99\x38\xc4\x7b\xbe\xbb\xc7\xde\x2c\x1c\xf0\x4b\x6b\xf8\x5f\x3a\x94\x14\x4e\x48\xec\x49\x99\x46\x1b\x11\x88\xb5\x96\xc4\x74\xf1\xa8\xa7\xd5\xdd\x16\x13\xa7\xf0\xf3\x3a\xaf\x85\x0e\x29\x43\xf6\x91\x6a\xb3\xfb\x58\xf6\x18\x1a\x65\x3b\xf9\x51\x6f\xbe\x63\x0b\x7b\x44\xb8\x72\xc1\x87\xe7\x23\x0f\x2d\x8f\x99\x36\x0b\xde\xb2\xd4\xa3\x32\x45\x8c\xad\x4a\xa4\xb0\xfb\xe1\x88\x1c\x59\x4e\x4f\x69\x0e\xb3\x56\xb3\xb2\x6e\x4c\x63\x8e\x68\x1a\x86\x45\x73\xfc\x34\x7b\xf9\xcd\xc2\x51\x0d\x57\x89\xa6\x5e\xeb\x30\x47\x57\x85\x51\x28\x8c\xba\x3a\x3f\x9a\xa4\x2f\xab\x1a\xa2\xa7\x1c\x1b\x52\xd1\xbe\xa6\x6b\xe7\x53\x7a\x8b\xa9\xe2\x75\x00\x3c\x75\x97\x7b\x33\x8f\xa3\xa7\x4e\x58\xec\xfa\xb9\x58\x82\xf6\x2d\xb0\xe8\x80\xf5\xbd\x14\x59\x90\x19\x8a\x60\x0b\x92\x74\x7c\x01\xb6\xe0\x60\x0e\xfb\x23\x88\xc0\x0d\x52\x1e\x60\x1c\x6d\xb0\xd8\xd9\x22\xc1\x69\x0b\xe9\x68\xce\xc2\x4c\x8e\x0a\xa5\x99\x4d\x4c\x39\x70\xc4\x27\x81\x18\xfa\x3d\x4c\x86\x2f\xf4\xba\x60\xb5\x32\x75\xf5\xff\x27\x74\x33\xa5\x10\xc4\xc4\x7e\xb9\x64\xc3\x84\x3e\x87\xb5\x1d\x26\xf6\x30\x52\x8e\xcb\xeb\x23\xa8\xa9\xc6\x7b\x29\xbc\x84\xd0\xac\x2e\xb7\x95\x35\xcd\x8d\xf7\xe6\x59\xd1\xaa\xbc\x2e\x61\xe7\xb4\xc9\x9b\xda\x29\x1b\x76\xea\x19\x03\xa7\xf7\x28\xfa\xf3\xb4\xde\x82\x39\xbf\x93\x27\x55\xd1\xfe\x27\x17\xc4\x60\x26\x18\x75\x41\xfe\x5b\x57\x9c\xa4\x53\xc9\x95\x6f\x3f\xd7\x29\x63\x0a\xff\x50\x07\x70\xc4\x01\x35\xfd\x87\x5a\x33\x2c\xcf\xbc\xfb\x8f\x4e\x5b\x90\x46\xca\x24\xe2\xbd\x7f\x1e\x9c\xb2\x1e\xc3\x9f\x38\xbf\x7e\x67\x41\xda\x4d\x93\x30\x14\x5c\x1a\xd7\x98\x12\x35\x18\x58\x48\x81\x19\x12\xdc\x81\xaf\xa0\xa1\xfd\x25\x33\xaf\xc0\x5f\xbf\x68\xf2\x26\xbc\x4f\xa6\xbe\x3e\x06\x13\x3a\xf5\xd5\x31\xf9\x55\xd1\x32\xdd\xbf\x7a\x76\xb4\x47\x0c\x58\x9d\x54\xa0\xe8\xb9\x76\x82\x3e\xdb\x37\xfd\x32\x45\x2f\xd8\x14\xf1\xca\x45\x2f\xdc\x1a\xaa\xdd\x68\xc0\xf7\xce\xa7\x6d\xd4\xb8\x13\x18\xc1\xce\x27\x30\xe4\xf0\xfa\x48\x67\x70\xe8\xc1\x7a\xe9\x74\x77\x8a\x45\xfd\x0e\x16\xea\xc1\xce\xea\xdd\xb9\x65\x07\x16\xe3\xf7\x37\x47\x6f\x56\x65\xea\x4c\xfc\x88\x59\xaa\xe9\xad\x40\x37\x38\xd7\x26\xd7\x02\x5e\xcd\x7b\x63\xe1\xc6\x99\xbb\x78\xa7\x2e\x20\x56\xea\x13\x1a\xe1\xe0\x79\x37\x50\x97\x8f\x8f\x78\xff\x58\xb6\xfc\xbb\x79\x22\x1b\xf9\x40\xa5\xd8\xa1\xb3\xef\xf3\xcd\x89\x99\xcb\x6f\x9f\x9a\xac\x86\x41\xdc\xfc\x09\xff\x3e\x42\x28\x22\x5e\x72\xb9\x5e\x7e\x3a\xb8\x26\xa3\x24\x15\x9e\x5e\x84\x0c\x76\xf5\x91\x50\xbf\x2c\x17\x1e\xaa\x03\x15\x70\xa1\xba\x5e\x0d\x27\xec\x0b\xec\x06\xce\x33\x81\xd0\x46\xbc\xd1\x1d\xb6\x7c\xb8\x06\x3f\x55\x28\x29\xbb\x90\x6c\xcd\x76\x50\xeb\x85\x82\x2d\x90\xa9\xb1\x4b\xc9\x17\x8c\x25\x45\x90\xd1\x01\x05\x19\x6d\xd2\xba\x7e\x2c\x2b\x72\xf9\xac\xca\xbb\x5c\x9d\xca\x9a\xdf\x0e\xee\x7b\x1b\x46\x24\x70\xb6\x1c\x7a\xa2\x76\xe9\x49\xc3\x26\x55\x33\x22\xe7\xe9\x9d\x08\xa8\x6c\xc2\xa3\xa0\xe6\x7b\x97\x73\xc2\x45\xd4\x4c\xad\x42\xd7\x4a\xbe\x4e\xf3\xf1\x88\x1f\xbc\x83\x76\xc0\x80\xb2\x43\xd0\xe2\xe3\x0c\x39\x35\xb4\x6e\xac\x21\xe4\xbb\x9a\x32\x67\x96\x36\x3e\x79\xec\xfc\xf3\x51\x3e\x9d\x88\x54\x53\xab\x4f\x3a\xa0\x9b\x2e\xd0\xd4\x6f\x18\xe9\xcd\xf9\xb3\xa8\x12\x3f\x79\x86\xe2\x07\xa4\xec\x7b\x93\xbc\x86\x91\x7e\x18\x33\xf3\x17\xc2\x49\x1b\x97\xdc\x9d\xbe\xca\x60\xe3\x71\xd1\xf9\xdd\xf1\xfb\xcb\xd3\x8b\x73\x6d\x29\xe5\xe7\x63\x65\x31\xbf\x03\x90\x71\xf2\x6f\x97\x17\xe7\x49\x79\xf3\xef\xa8\x40\x2c\x18\xb7\x9e\xe6\x76\x60\xb3\xf3\xdb\x50\x5e\x0a\x06\x84\x3f\x63\x8d\x58\xb1\x7a\xbf\x3d\x62\x52\x54\x2b\x2f\x0e\x56\x08\x49\x2b\x29\x53\x3d\x15\x70\xd5\x13\x82\xf3\x07\xae\x25\x45\x6e\x70\x7a\x4d\xb6\x8c\xd0\xad\x33\x98\x16\x17\x64\x53\xe7\x5f\x39\x00\x36\x8b\x15\x05\xd0\xe6\xfb\xe2\xee\x8e\xee\x45\x1a\x2e\x41\x38\x97\x52\x8d\x85\x91\x41\x6d\xcf\x55\x3e\x8c\x5b\x76\x10\x05\x79\x47\xa9\xd9\x47\x89\x41\x42\xb9\xaa\x29\x77\x39\x2f\xcc\x6a\x99\x51\x21\x49\x9e\xd0\xd7\x05\x3c\xf5\x30\x79\x47\xe8\x16\x49\xb6\xca\x8a\x05\x5f\x4e\xd1\xde\x24\xf5\x08\x08\x4e\xc0\x70\x36\x57\x06\xa5\x21\xb9\xb9\x90\x74\xad\x0c\xa3\x7b\x48\xc5\x70\x1c\x2f\x68\xa0\x6d\xa0\x8f\xbd\x05\xf2\xe2\x5f\x6e\xe9\xa7\x2d\x3c\x95\xce\xf6\xd7\xde\x02\xbd\xfd\x6b\xae\xfa\x96\x63\x2f\xa9\x1c\x1e\xac\x31\x07\xf6\x85\x76\x40\xd0\x1f\x7b\xb6\xba\xf7\x4d\xc6\x65\x93\xf3\x07\x35\xee\x77\x85\x39\x85\x62\x24\x55\x3f\xdb\x0a\x79\x41\xc2\xb8\xeb\x04\x16\x98\x82\xc7\x85\xbc\x72\x87\x3b\xe0\xdf\xf3\x91\x5b\xc7\x21\xa5\x29\x74\x18\x1e\xee\x9d\xa8\x11\x9a\xc0\xb4\x78\x69\x56\xdd\x50\x89\xd5\xba\xf6\x27\xbf\x6a\x8c\x40\x81\x43\xca\xc2\xbe\x4d\xa8\xe5\x74\x52\xf1\xea\xd4\x8c\xf7\x6b\xb3\x08\xd5\x2b\xd1\xaf\x31\x01\x72\xfb\x49\x2e\xf4\x12\x8a\xec\xef\xb8\xa6\x73\x97\x88\xc9\x1a\x9b\x76\x5f\xfe\x75\xf6\xfe\xfc\xf4\xfc\x0d\x43\x23\xb2\xb6\x01\x39\x40\x7a\xa6\x53\xc0\x90\xce\xe8\x5c\x9e\x7c\xd8\x37\x9c\x55\x54\x27\xf7\xf9\xdd\xfd\x0a\x60\x26\xf5\xc2\xb4\x49\xef\xb2\x25\x91\xfa\x5b\x87\x00\x42\x7f\x6e\x50\xc5\x91\xd1\x21\x10\x18\x8c\x6b\xa3\xa6\x69\x90\x1f\x01\x33\x5d\xb1\x3c\xe1\xee\xeb\x7b\x73\x4d\x1a\xfa\x75\xa3\x67\xb6\xcd\xbe\x33\x17\xde\xfc\xf8\xfc\xfb\x19\x8f\x80\x4e\x68\xab\xc5\x3a\x06\xe8\xb5\x08\xdf\xd2\xa6\x9b\xaa\x7d\x97\xf2\xb1\xe4\x74\x65\xae\x9c\xdc\x64\x1c\xe5\x5c\x7b\x60\xfa\x44\xfc\xcc\x23\xb8\x29\x9b\x2a\xbb\xb9\x71\xf9\x10\x34\x34\x8a\xfb\x25\x7f\x25\x00\xf9\x12\x5c\x8f\xfc\xab\xcd\xe8\x6b\x52\x41\x81\x01\x73\x48\x3a\x2c\xa1\x08\xdb\xc2\x02\x34\xe0\xf8\x32\x25\x94\xdd\x29\x88\xdb\x25\xa5\x98\x1a\x49\x51\x33\xfc\x37\x47\x49\x76\x8c\x45\x12\xc0\xdf\xc5\xe4\x18\x16\x83\x81\x22\x6b\xb6\x14\xb0\x17\x3c\x70\xcd\xd2\x55\xf3\x67\x32\xb4\x33\xd8\xe3\x97\x7c\xfd\xe5\x97\xf8\xfd\x4f\x5f\x7d\xb9\x6f\xc1\x2f\x86\x74\xe1\xbe\xbf\xc9\x60\x21\xe3\x3a\xa1\xfb\x14\xff\xc5\xd5\x1f\x36\xf7\x00\x2b\xa7\x35\xaf\xb1\xe4\x47\xab\x72\xbb\x34\xd7\xc6\xb6\x58\x56\x4f\x7b\xb5\xd1\x68\x9b\x14\xa5\x4c\x80\x6e\xb8\x4a\x7e\x2a\xca\xc7\x55\xb6\xbc\x73\x38\x46\x83\xbe\x6c\x0a\x0d\x67\x71\x2f\xd9\x01\xd8\x21\xea\x63\xa8\xbb\x69\xe2\x78\x8b\x5a\xce\xa3\xab\x58\xa3\xe6\x0d\xcf\xe6\xd8\x6d\xa4\x61\x39\x78\x12\xac\x86\xcb\x54\x23\x99\x5e\x30\xd4\x59\x1e\xb4\xb3\xc9\x9a\x38\x48\x6b\x21\x13\xab\xe7\xbd\xc9\x7f\xfb\x1f\x0f\x7c\x14\x2f\x36\x06\xa1\x66\x78\x25\x0b\x2b\x28\x69\x17\xb4\x36\x58\x9a\x44\x10\xd7\xc2\x46\x33\x81\xe0\x48\xdb\xb2\xaa\xfb\x12\xd0\x46\x68\xc4\x59\x2e\xcb\x63\x16\xeb\xd6\x28\xe2\x94\xe4\x65\x57\xa5\x3b\xb3\x87\xc9\xdc\x26\x8f\x77\xaa\xdf\xc8\xc5\x95\xe9\x51\x59\x2e\x47\xa9\xca\xd7\x65\x8d\xd0\x99\x34\xb8\x68\x80\x7b\xe2\xb8\x14\xea\x85\x13\xb2\x3b\xa4\x94\x7b\xef\x93\x1c\x1c\x57\x75\x39\x7c\x70\xf8\x44\x20\x78\x64\x90\x22\xc8\x29\xab\x9f\xf8\x4c\x3c\xef\x28\xb4\x3c\xfa\x67\xc1\x1e\x10\x94\x17\x49\x52\xb3\xc8\xeb\x4d\xe3\x3a\x58\xa7\xcb\xcc\x42\x69\xa6\x8b\xd0\x3c\x7e\xe3\xe2\xd5\x1a\x1f\x88\x02\x42\x04\x19\xd9\xb0\x21\x54\xe5\x93\x45\xb2\xef\xad\x81\x97\xc4\x2e\x73\x33\xe0\xd5\xcc\xc4\x2d\xd2\xaf\x83\xbd\x50\xc1\x6f\x73\xb9\xd8\x90\x4f\x94\x46\x90\xf7\x0a\x4f\xbe\x05\xf9\x3d\x80\x47\xe0\x80\x8d\xf9\xe5\xe0\x47\xe1\x86\x61\x2d\x36\x0e\xb7\x61\x61\xd6\xad\xd8\xaa\x50\x32\x9f\x4e\x50\x28\x55\xc9\x43\x62\x82\xa9\x3b\x64\x07\x97\x78\xea\x95\x75\x27\x28\x19\xc8\x81\xb6\xbc\x72\xf6\x09\xe5\xc0\xb3\x8e\xbe\xc7\x7a\x66\xe5\x40\xe7\xec\x53\xed\x1b\x9b\xc3\x69\xa6\xa7\x31\xf7\x2b\xf2\xc6\x56\x0b\x04\x0f\xf0\x83\xe2\xa1\x14\x0d\xdc\xfc\xa3\x91\xdc\xfa\xe1\xa4\x7f\xd3\x83\x74\xc9\xad\x1a\x65\x75\x84\x9a\xc0\xec\x3a\xf8\x15\x81\xa5\xf3\x81\x11\x70\xb9\x87\xe7\x9e\x26\x34\x43\x68\xf2\xa6\xa4\xb4\xf3\x36\x01\xb5\xdb\x2b\x9e\x9d\xa5\x51\x2b\x0a\x2c\xa7\x4b\x2c\x8b\x6c\x62\x65\x0f\x33\x1a\x2d\x6d\x62\x0b\x3e\x6f\x77\xf1\x4e\xd2\x33\x87\x78\x6a\x60\x17\x22\xb0\xfc\xce\xb2\x7d\xd3\x3b\xc6\x1e\xa8\xf5\x4d\x66\x45\x05\x72\xcd\x09\x90\x86\x43\x18\x24\xa4\x73\x20\x89\xfc\x96\x29\xac\xa8\xc8\x8c\x25\xf0\x31\xb3\x69\xd2\xea\x89\x80\x19\x16\xd8\x87\x2d\xe0\x98\xcf\x24\x21\x34\x6c\x56\x84\xcd\x31\x90\x2e\x94\x93\x9b\x63\x32\xd6\x94\x09\x8f\x43\xfd\xf0\x55\x22\xfe\x89\xe4\x5b\xfe\x0c\x09\x5b\xa2\xf3\x44\x1b\x7e\x4d\x5f\xa2\x78\x5b\x86\xc8\xf6\xb0\x64\x25\x49\x6c\xfa\x00\x76\x1a\x71\x67\x9a\xd1\x7f\x1f\x26\xc9\x5f\xb3\xb6\x1a\x14\x40\x66\xac\x50\x94\xcf\x5d\xe4\x15\x21\x71\x6e\x39\x1e\x6c\x59\x3e\x16\xf6\xa3\x56\x4c\x21\xd0\x91\xca\x0a\x2e\x97\x54\xa4\xc9\x2c\x52\x8f\x85\x9b\x8c\xca\xbf\x71\xa1\x9d\xc3\xe4\x02\x0a\x54\xec\xae\x5a\xe7\x77\xc8\x1f\x5e\xee\xdb\xce\x6a\x07\xc5\x6e\x98\xe5\xd1\x00\x90\x21\x7a\xe9\xa8\x92\xb2\xd5\xe1\xad\x88\xa3\x2a\x34\x7b\x9e\xbc\x94\xdd\x86\xd3\xd3\xdb\x6c\x79\xe8\xf8\x75\xb0\xcc\xed\x91\x37\x8f\x75\xc9\x80\xe6\xe0\x97\xde\xb9\xec\xab\x5d\xae\xbd\xc5\x5f\x43\x6e\xf4\x29\x2e\xa4\x9a\x61\xbc\xad\x35\x8f\xf7\x62\x5e\x76\x20\xeb\x5a\xd6\xcd\x58\xcc\x1f\x61\xf0\xc3\xd1\x37\x2f\xb4\xbc\xd9\x4a\x9a\x6c\x48\x70\xdc\x67\xed\xd6\x4a\x05\x37\xe9\xdb\xe1\x77\x66\x0d\x44\xe9\x13\x22\xc1\x86\x66\x7b\xad\xb3\x65\xce\x50\x55\x78\xef\x0c\x02\xe8\x95\x09\x58\xa6\x39\xa1\xf3\xe5\xf2\x34\x31\xdd\xf5\xff\xf2\xb5\xd9\xb3\x97\x79\x5b\x71\x8c\x11\xc6\x19\x27\xdf\x46\xf4\xe5\x16\xe3\xcf\xb4\xe7\x02\x17\x5c\x10\xa2\x23\x37\xb1\xc1\x61\x69\x59\x6f\xb2\xa5\xbc\xdd\x3a\xe8\x3b\x96\x41\x46\x1e\xc2\x3d\x72\x98\x5c\x99\xbd\xf0\x50\xae\x04\x19\x4a\x1b\x85\x77\xb7\xc9\x0e\xde\xf7\x60\xfb\xc9\x02\xd8\x1d\x23\xd2\x37\xd1\xc6\x3e\xdb\xe8\x66\xca\x07\x37\x93\x26\x2d\xd3\x0a\x4a\xc8\x2b\xc0\xb4\x32\x92\x38\xb2\xe4\xbb\x38\x79\x8c\xc6\x89\x00\x23\xef\x93\xba\xf3\x4d\x2d\x50\xfe\xae\x32\x9c\x6a\x11\x98\x3d\x98\x4d\xda\xe0\x42\x7a\xd5\x02\xea\x31\x16\xa7\xc4\x3e\xfb\x20\x7a\xc4\x4c\x0b\x36\xfe\x0a\x45\xaf\xda\xd5\x5b\xed\x6d\x79\x5f\x0f\xda\xd4\xdc\x20\x57\x4d\x08\x76\xd8\x02\xdf\x08\x30\x09\xae\x4c\x2e\xb6\xa6\x3a\x6b\xae\x51\xea\xaf\xbe\xbe\x79\xba\xb6\xd1\x1a\x6a\xa8\x93\x37\x26\x71\xf5\xf0\xf3\xa1\xb5\x31\x19\x26\x6f\xb7\x05\xef\x0f\x8d\x78\x9c\x53\x8e\x2e\x47\xcd\x59\x70\x0b\xd3\xcc\x04\x6e\x2c\xf4\x5b\x0e\xbe\x4a\x81\x30\x43\x63\xa5\x33\xc3\x71\xf9\x58\x27\xe2\x0c\x4c\xce\xf2\x42\xb3\x66\xbd\xef\xd9\x21\xa4\x69\x9c\xee\xbb\xf2\x31\xab\x2e\xc9\x64\x10\xa6\x1a\xf8\x30\x4c\xb0\x82\x13\xcc\xac\xb0\x39\x91\xe5\x92\x8a\x4e\x9c\x9c\x9e\x1d\xd3\x45\x20\x25\xa7\xea\x66\x69\xd4\x75\x2d\x98\x7b\x61\x4e\x3b\x98\xaf\x36\x25\x93\x81\x86\x28\x24\x1e\xb2\x05\xeb\x3c\x4c\x21\xc2\x80\x2d\xb4\xf3\x00\x4b\x25\x5d\x8e\x52\xab\xfd\x36\xd7\x62\x8b\xa5\xe7\x9c\xad\x91\x7e\x3e\x46\x2e\x76\x96\x29\x60\x24\xdf\xa3\x2e\x65\x65\x9e\x94\x0f\x59\xeb\xd4\x13\x9b\xf8\x84\x80\xdb\xb3\x3d\x6e\x6c\xe4\xcd\x7f\xe4\x7c\xc0\x5c\xd9\xbf\x1d\x62\x70\x7f\x78\x7b\x75\x36\x3f\x7d\x37\x7b\x3f\xff\xe3\xc9\xc5\xfb\xb7\x07\xaf\x67\xf3\x59\x72\x74\x71\x0e\xb4\x89\xe4\xff\x9f\xbe\x7e\x7d\x7c\xfe\xa3\xc2\xc1\x0f\xfc\xd9\xd5\xfc\x22\x09\x11\x39\x9f\x5d\x1e\x5d\x5c\xce\x2f\x7e\x54\x3a\x7e\xf7\xfe\xf4\xbb\xd9\xfc\x38\xa1\x8f\x47\x7a\x32\xdf\x9c\x26\xdc\xe0\xd4\x12\x3e\xd5\x08\xdf\xad\xca\x1b\xa3\x7b\x08\xe4\xe5\x8f\xee\x5d\xf6\x83\xcd\x9a\xa8\x0f\x0f\x0f\x7f\x4c\x7e\xb0\x7f\xb7\x1f\x6a\x9d\x5b\xa4\x4b\xa6\x9b\xff\xe8\xce\xcb\x0f\x36\x85\x22\x67\x82\xf6\x43\xf9\x5d\xe1\x8f\xa5\x8b\xd2\x59\xd4\xcb\x9c\x02\xc0\x59\x6b\xd8\x40\x46\x29\xed\xd4\xb3\x8a\x27\x9a\xd6\x99\x51\x1d\x1e\xd5\x84\x57\x08\x70\x0c\x5c\x6f\x3d\xa1\x5e\xe4\x68\x59\x48\x3d\xd5\x77\x3c\x73\x17\x71\x36\x8b\x2a\xad\xef\xd5\x31\x74\x22\x68\x44\x43\xa0\x72\xcb\x50\xbd\x8c\xf4\x2f\xcc\x32\x6a\xa5\x8c\x41\xdd\xd9\x00\x09\x19\x4a\xe9\x84\x61\xac\x5a\x65\x62\x12\xdf\x63\xd0\x4e\x6a\x4b\x75\x5b\x79\x89\xa1\x4a\x63\x04\x27\x5a\xfc\xd2\x5b\x73\x43\xa9\xd3\xd6\x02\x8d\x0e\x03\x10\xbd\x12\x75\x4a\x40\x7e\x5b\x25\x63\x02\xab\x63\x30\x47\xac\xc9\xbd\x6a\x43\x08\x15\x9a\xc3\xef\xc2\xe4\xac\xc8\xd5\xbc\xdc\x43\xa1\xaa\xf8\xbb\x6f\x10\x01\x44\xcf\x24\x04\x1c\xa9\x53\x89\xcf\x80\x7d\x58\x51\xb6\x70\x98\xd4\x62\xb3\xd5\xce\xa0\xf9\x25\xdc\x24\xbe\xed\x65\xa7\x97\xd3\x76\x3a\x11\xd3\x4b\xe0\xa7\x52\xcb\x2c\x4a\x63\x99\xd5\xe6\xca\xdc\x44\xe2\x98\xf8\x8b\xc8\xb1\x90\x52\xfd\x6a\x73\xae\xbe\xaf\xb4\xcd\xeb\xb8\x34\x93\xcb\x33\x2a\xd1\x0c\x11\xed\x2a\x26\x27\x94\xde\x4a\xdb\x4d\xd4\x4c\xd9\x40\xd3\xa2\x7c\x46\x83\x79\x38\x4b\x49\xeb\x9f\xf3\x88\x62\x2d\x07\x39\x46\x54\x2a\x56\xb0\x6d\xf9\x93\x7d\xae\x1b\x56\x24\x66\xb3\xbb\x3f\x6a\x0c\xeb\xa8\xab\x52\x01\xd6\xfe\xea\xc0\x65\xf7\x49\xa6\x78\xbf\x50\x92\x6b\x69\x5e\x7a\x59\xf3\xdb\x7f\x1e\x0e\xea\x60\x7e\x28\x1c\xca\xe5\xdf\x17\xb7\xce\x1e\x45\x1c\x1f\x30\x73\x7f\xa7\x77\x9f\x67\x4a\x13\xda\x6d\xa6\x55\x74\x36\x83\x73\xd2\x1d\xbe\xcc\x49\x77\xa2\x5e\x3c\x27\x9d\x91\x0f\xe6\xc5\xcd\xd8\xd4\x39\x19\x99\x8c\xee\x3c\xc7\x26\x44\xad\x91\xcb\x94\xd4\x1d\xfe\xa8\x6d\x4c\x8c\xcc\xe8\x33\xaa\xa7\x5e\xc0\xa0\x35\x89\x24\x40\xcd\x6a\x63\x2a\x3b\x44\x91\x89\xef\x2a\x18\x4c\x9a\x27\x1b\xa1\x58\xdf\xfb\x70\xf2\xc8\xc4\xd3\x6e\x75\xad\x3c\x6c\x88\x2a\x86\xe3\x63\xd8\x11\xdd\x30\x6f\x0f\x7a\x4e\x2f\xfd\xa6\x8c\x89\xef\xeb\xc4\xbc\x7d\xb9\x8e\xef\xed\x2d\x89\x33\x94\xb9\xcf\x16\xf7\x14\x12\xdd\xba\x90\x0d\x99\xea\xc9\xcb\x6a\x7e\xdd\x0a\x67\xf5\x02\xcd\x7d\xdc\x2e\x23\x4d\xb1\x38\x29\x63\x8c\x2d\xbc\x3c\x45\xea\x51\x62\x33\xd6\x84\xf0\xd8\x3a\xbd\x6d\xff\x6a\xcf\xe1\x91\x99\x1e\x23\x51\x80\x84\xc3\x75\xab\x86\x62\xdc\x56\x19\x19\x2e\x37\x69\xae\xed\x16\x98\x67\xc8\xf2\x5d\x52\x09\xf1\x3b\x7e\x5e\x87\xc9\x0d\x53\x9f\xcc\xd1\x57\xe8\x0e\xbf\x35\x87\x79\x07\xb2\x56\x81\xae\x33\x6d\x43\x04\x7b\xe0\x82\x0e\x52\xb0\x6f\x97\x61\x50\x75\x74\x2e\x3d\x3b\xb9\x3f\x71\xff\xb8\xee\x80\x3c\xaf\x74\x69\x3e\xd0\xc8\xe2\xa7\x60\x23\xa7\x5f\xaf\x63\x20\xc3\x93\xda\x4e\x51\xd1\x3d\x4c\x5e\xf1\x19\xc7\x49\x93\x3a\x69\x41\x3d\x4e\x11\x71\x84\x90\x6f\xb3\x6a\x75\x59\x30\xe2\xfe\xcf\x79\xd3\xd9\xe2\xfb\xb8\xcd\x9b\xeb\xba\xad\x87\x8b\x4f\xb8\x3c\xae\x7e\xf4\x98\x97\x70\x6f\xeb\x12\x52\x52\xeb\x8d\x16\xe5\x9a\xb5\xf1\x61\x77\xd1\xc1\x69\x8a\x96\xbc\x63\x46\x1a\x6b\x17\x82\xb4\x56\x6e\x84\xbc\xa0\x88\x39\xa3\x96\xde\x67\x55\xde\x70\xd5\x7e\xe8\xa8\x12\x8e\xab\x29\xe5\xb6\xdc\x3e\xdc\x34\x24\xf8\xd9\x8e\xce\xd1\x77\xb0\x09\x39\x02\xd1\x6e\x1f\x5c\xa8\x9a\xbd\x22\x8e\x4e\xae\x2f\xe7\xb3\x37\xa7\xe7\x6f\xae\xa5\x58\xad\x95\x5d\xea\x6a\x49\x7c\x9a\xc7\x80\x00\x74\x84\xaf\x8b\x68\x0f\xcf\xe2\xf6\xfd\xfc\xea\xdd\xa7\xe5\x56\xe9\x21\xc8\xed\x2a\xbd\xc9\xb4\x3b\x34\x6b\x72\x7a\x4c\x29\xc7\x6c\x95\x22\x86\xd3\x7a\xd5\x14\x1a\xdb\x55\x93\xaf\x7d\xb7\x47\x84\xd6\x76\xc3\x6f\x31\x6d\x73\x12\x2d\xa3\x47\xb5\xb9\x1d\xca\x3e\x15\x64\xea\x98\x34\x51\x65\x2f\xc0\x2b\xf4\xe7\x20\xa1\x53\x68\x4d\xa3\x52\x50\x24\x57\xac\xa5\x36\x6e\x69\xaa\x0c\x76\xe4\xf2\x55\x1a\x99\x0d\x75\x93\xd6\xf9\xc2\x39\xec\x14\x12\xbe\xe3\x0c\x4f\xea\xb4\xd6\x29\xaa\x6c\x70\x69\x57\xad\x5d\xc3\x5b\xdb\x45\xf5\x8a\x8d\xc3\xa8\x4b\x91\x4b\xa9\x7f\x22\xf6\xa8\xf6\x91\xb5\x7c\x28\x7d\xe9\x60\x14\x53\xa0\x25\x22\x65\xb4\xa6\x94\xc6\xa2\xe7\x87\x26\x21\x11\xe7\xb0\xdc\x6a\x7c\x43\x3b\x62\x67\xea\x4e\x57\x2c\x35\x73\x0e\x59\x98\x56\xca\xe2\x5b\x2c\xba\x78\xb2\xeb\x19\xbf\xb9\x55\xe9\x63\x17\xdf\xd3\xbb\xe2\x64\x14\x36\x9a\xfb\x91\x9b\x41\x69\x68\x46\xac\x35\x84\xf3\x50\x6f\xa5\xcd\x13\x79\xf5\x94\x66\x65\xa5\xde\x5f\x08\xc5\xd6\x5a\xd5\x79\x44\xfa\xe1\xe7\xc8\x8e\x92\x48\x79\xcd\x62\xec\x7e\x0e\x36\xa6\xbc\x51\x4d\x64\xc8\x8f\xc1\x86\x08\x0d\x96\xda\x12\xda\x3c\x75\x3e\x51\x88\xd8\x43\x4a\x6e\x54\x6d\x03\x89\xe3\x31\x7a\x2a\x7b\xa4\xb4\x21\xf5\x68\xa9\x83\x23\x04\xeb\x25\x9e\xa7\x28\x5e\x86\x17\x1f\x4c\x3c\xd7\x34\x23\x7b\x16\xd5\x5e\x93\xb4\x48\x27\x42\x2a\x99\x34\x06\x4e\xf1\xcd\x2a\xbf\x83\x7b\xd1\xbc\xe0\x7d\x4a\xd3\xbb\x77\x4a\xd7\x4b\x7b\x6f\x09\x4d\xef\x9c\x6f\x96\x97\xf6\x2c\x54\xa6\x77\x4b\x29\x4c\x2f\xed\x95\x89\x28\x9d\x72\x05\x3b\xc4\xcc\xef\x24\x13\xa3\x45\x1f\x22\x35\x1e\x24\x8e\x50\x53\x9b\xc7\x61\x6c\x27\x21\xe8\x4c\x46\xcd\x11\xa9\x1e\x97\xdb\xca\x79\x9b\x0c\xb4\xf3\x7c\x70\x9d\x89\xe0\x2c\xd3\x51\x6e\x06\x31\x48\xf1\xf7\xcb\x0e\x14\x7f\xca\x34\x8d\x8d\x62\x89\x3b\x71\x79\x71\x4a\x63\xd7\xd5\x64\x4a\x07\x51\x28\xa2\xa9\xf0\x43\xd3\x14\x3b\xa5\x2d\x99\x45\x75\xcf\x22\xdb\x31\x95\xb6\xb9\xbe\xe0\x4b\x6d\x3b\x47\x32\x95\x63\x30\xd8\x1e\x20\x83\xfa\xa4\xc5\xaf\x59\x8b\xaf\xa0\xdc\x1b\x44\x49\xa5\x41\x4d\xb5\x96\xf5\xbd\x2b\x32\xe6\x99\x85\x60\x84\x8b\xd8\x40\x91\x3e\xc6\x8d\xca\x04\x14\xac\x65\x88\x9a\x45\xcd\xa3\x23\xfd\xe1\x3d\xce\xd3\xf2\x82\x9e\x29\x48\xc2\xe5\x74\xef\xc4\x47\xdc\xf4\xab\x75\xfe\xbc\x31\x4b\x5f\xcf\x1e\xf2\x4b\xc6\xeb\xe6\xfb\x56\xf5\xf8\x07\xba\xed\x4c\xf2\x46\x53\xed\xb4\xae\x9e\x31\xce\x17\xae\xaa\x9d\xe1\x9d\x06\xb9\xfb\x08\x5f\xb0\x90\x2f\x19\x1d\xde\x9e\xfe\x3a\x4e\xed\x56\xcc\xaa\xfd\xc5\x9c\xde\xa9\x37\xad\x3b\xf6\x39\xa9\xc3\x26\xe2\x21\x97\x1f\xb5\x86\x55\x13\xd5\x72\xa8\x8c\x9f\xda\x38\xfe\x0e\xd0\x9b\x6d\xd5\x4b\x2a\xd6\x0e\x45\x6e\x47\x5d\xe8\xd1\xc6\x49\x4a\x39\x22\x28\x7b\xc6\xd5\xd7\x47\x1d\xf2\x4b\x04\xe4\xe3\x7b\x44\x1d\x52\x9d\x9a\x88\x37\x02\xe0\x16\xaa\xc1\x40\xb9\x09\xa9\x18\xd8\x73\xec\xe9\x7e\xc3\x1d\x8d\xe9\xb1\xea\x7f\x70\x23\x68\xea\x61\xbe\x51\x06\xbe\x2d\x90\x82\x54\xd8\x9a\x41\x8d\x36\x12\x2e\xf6\x83\x1a\x6f\x48\xa9\x2c\xeb\x45\xbe\xd5\x1e\xda\xae\xdc\x9c\x7a\x5c\xe2\x66\xbd\x6d\xa5\x59\x39\xf1\x8b\xd6\x44\xdb\x97\xd1\x36\xaa\xf9\xb2\x5a\x29\xe7\x6e\x5b\xa7\x77\xea\xbb\xd7\x86\x93\xab\x6d\x55\x4d\x31\x06\xbe\xd1\x01\x53\x54\xda\x07\x70\x9a\xc2\xc4\x1e\xa2\x39\xd0\x0f\xd1\x1c\xe8\x27\x5d\x43\xfd\xed\xbf\xc2\x4d\x7e\xe1\x82\x56\x12\x8e\xfc\xeb\xaf\xc9\x17\x14\xd2\xce\xdd\x90\x1b\xa5\xad\xa0\x73\xd9\x20\x1f\xef\xd7\x5f\xb5\x2a\x85\x43\x5a\x7e\x45\x1e\x95\x98\xca\xd7\x66\x63\x5d\x40\x67\xd8\x8f\x40\xcd\x9a\x1a\x88\x76\xa6\x07\xa2\x25\x41\xd2\x2a\x17\x47\x27\x16\xb1\x6b\x93\xab\x41\x5c\x04\xcd\x64\xbf\x1c\x27\x15\x03\xe6\xb1\xe1\xd8\x3b\x11\x7c\x44\x0e\xf0\x36\x5f\x35\x9c\x45\xf3\xa6\xec\xac\xe0\x9b\xd2\x95\x40\xd2\x57\xce\xd1\x72\x31\xee\x94\xb9\xc2\x80\xc1\x7e\x71\xa5\x37\xe5\x80\xa8\xca\x1f\xa0\xa0\x2e\x6e\xad\x6d\xd3\x10\xb7\x39\x2e\x5a\x78\x48\xa4\x91\x16\xa7\x82\x26\x1c\x02\x66\xc1\xac\xe2\x11\x61\xc3\xef\xed\x95\x94\x4f\x8b\x11\x43\xdc\x4a\x5e\xff\x74\x05\x41\x63\x5a\x97\xb7\x89\xfc\x45\xa0\xe6\xf4\x7e\xfd\x66\x0c\xe7\xe5\x37\x53\x3b\x33\xe2\xdf\xb2\x1a\x89\x23\xe9\x7d\xe9\xc2\x4a\x94\x67\x69\x30\x2c\xe1\x43\x31\x3f\x7d\xf7\x2a\x71\x28\x5d\x27\x76\x15\x3c\xb0\x2d\x0b\x96\xe5\xa5\xde\xd6\x5c\x51\x1f\x89\x61\x3e\x5c\x56\x64\x91\x43\x5d\x77\xa2\x78\xbc\xf2\xbd\x1a\x23\x03\x84\x2d\xc4\xf7\xe6\x5e\xee\x89\x85\x67\x08\x00\x6d\xb1\x66\xab\xef\x28\xf2\xf2\x7d\x28\x3e\x34\xf4\x7f\x3c\x2b\x0e\xed\x8d\x73\x47\x6c\x92\x49\xf2\x78\x9f\x71\x7e\xd8\x07\xb4\x7c\xb7\xad\xef\x1d\x93\x1f\xfe\x2f\x69\xe4\x54\x1a\xcd\xa6\x6b\xe1\x84\xe6\xdc\x80\x15\x25\x28\x19\x94\x21\x2d\xe1\xf0\xb5\xab\x26\x2d\xd0\xc3\x28\x1c\x48\x71\x4e\x76\x5d\x1c\x27\xdd\x65\x01\xb8\x4b\x08\x0e\xc6\x45\x7a\xd6\x1d\x2a\x61\x0c\x36\x33\xae\x4d\x73\x2f\xf5\xed\x1c\x20\x5b\x7c\x29\xfd\xa9\xea\xae\xa2\x4b\x0e\xca\x6d\xca\x4c\x2e\x80\x2d\x1c\x5b\x9a\xb7\x78\x7a\xe1\x6a\xff\x79\x78\x56\x97\x9c\xad\x82\x7c\x35\x1b\x91\xd3\x4e\xe6\x82\x53\x1a\x38\x3b\x00\xe9\x97\x9c\xb1\x5f\x9b\x5d\x40\x9e\xdd\x61\xd1\x5c\x9a\x16\x7f\xc3\x85\x66\x78\xb0\xdf\x3c\x0c\x9a\xe0\x88\x5a\xe4\x99\x61\x07\x3d\xba\x9d\x4c\xde\xa5\x54\x42\x45\xa2\x31\x2a\xf9\x96\xb7\xb0\x12\xa9\x61\x8f\xde\x1a\xf0\x46\xdd\xbe\x08\x64\xcf\x27\x17\x3b\x92\xcf\x87\xdf\x03\x50\x20\xe7\x2e\x41\x7c\x16\xab\xa7\xe4\xb1\xac\xcc\xa9\xda\x52\xfd\xf4\xa3\x93\xc4\x53\x41\x20\x24\xdf\xa6\x3f\xe7\xeb\xed\xda\xdd\x37\x87\x0c\x7c\x22\x08\x7d\x79\xdd\x55\x2c\xcc\xef\xfa\xc8\xda\x7e\x25\xb9\x29\x35\xdb\xc2\xbc\x74\x6f\xf3\xa2\xe4\xca\x41\xdd\x22\x82\x27\xe1\xfe\xcf\x18\x5c\xc4\x47\xe7\xc3\xbd\x39\xe0\x63\x7c\xf8\x62\xf0\xaf\x03\xc3\x7e\x2f\xbe\x00\x47\xef\xff\x7d\x94\x81\xb3\xd7\x67\x19\xa8\x98\x78\xa2\xf5\xfa\xe2\xe1\xae\x38\x59\xd7\xa1\x4d\x72\x4e\x58\x84\xdb\x5e\x03\x2f\xd2\x5e\xdf\x53\x56\xa3\xe3\x2a\xed\x56\x65\xdc\x25\x36\xea\x4c\x8b\x8d\x4a\x34\xf2\x2a\x33\xe6\xab\xae\x82\x60\xfe\x30\xaa\x1f\x78\x8d\x58\x3d\xf0\x1a\x45\x3a\x6a\xd9\x79\xfb\xbc\x51\xbe\x4d\xfa\x84\xf4\xee\xcc\x5d\xb4\x9a\x9b\x87\xac\xe1\xd1\xfe\xd3\x2a\xc8\x53\xb2\x60\xe2\x24\x46\x73\x64\x80\x5a\x6b\xa3\x64\x84\x44\x34\x7d\x23\xf0\xbd\xb7\x97\x74\x05\xaf\xdf\x08\x45\x4f\xab\xf2\xae\xd2\x73\x99\xc2\x8d\x22\x1e\xf9\x40\x83\x7a\xbb\x40\xb9\xb4\x5d\x46\x33\x3a\x92\x6e\x7c\xae\xab\x6e\x9d\xa2\xf4\x36\x03\xa2\x50\x88\x2e\x87\x58\xe9\xfd\xf6\xc8\xf8\x11\xbe\xdb\xc2\x02\x95\x31\xc9\x14\xc0\x39\x6a\xd4\xef\x04\x96\x3e\x22\x2b\x53\x79\x98\x1c\x0b\x3d\x6c\x3a\x3d\xe0\xd9\x22\x5e\xd6\x56\x36\x45\x1d\xa8\x81\xaf\x55\x8f\x2a\xbe\x65\xa7\xaa\x95\x98\x2c\x74\xa8\x9a\xbe\xfd\x53\x8b\x39\x10\x77\xc0\x0e\x89\xb1\x30\xea\x12\x93\x97\xf5\x04\x6f\xed\x2f\x0e\x8e\xda\x0d\x65\xc4\x9f\xa6\xb5\xd0\x5c\x6c\x0c\xef\x49\xe6\x56\xcb\xdf\x88\xf9\x35\xd0\x22\x6e\x91\x8d\x74\x91\x7c\x81\xa7\x17\x67\xec\x44\x8d\x23\x5a\x8f\x7d\x02\x11\x06\x9a\x9e\x30\x3a\x74\x6f\xb5\xc0\x03\xa9\xac\xfc\x5f\xba\x6f\x05\x0a\x6c\xf6\x70\x3c\xd8\x74\x1c\x51\x20\xbc\xce\x19\x3b\x35\xe9\xe8\xb3\xa1\xee\x95\xde\x19\x1f\xa5\x68\xaa\xd2\xe8\x5b\x08\xab\x2f\xc5\xe0\x40\x7a\x79\x1b\xdd\xa8\xeb\x13\x5c\x85\x50\xec\xff\xa9\x84\xbc\x6d\xab\xd5\x7e\xb2\xe1\xea\xdc\x62\x8c\x03\x96\x23\xfe\x4a\x05\x2e\x29\xcb\xfe\xd5\x1f\xff\x08\xd8\xbb\x6b\x04\xe5\x1c\x2e\xca\xb5\x3e\x5e\xee\x43\x3c\x05\x46\xae\x20\xe5\x9a\x83\xe4\xbe\xb1\x35\x21\x73\xf9\xbb\x94\x97\xcc\xd6\x1b\xb3\x96\xe1\x6e\xd4\x91\xc8\x75\x0f\x9d\x87\xf4\x72\xf3\x5e\xe3\x8b\xd8\xfc\xf1\x67\x5f\xed\x18\x9c\xe2\x08\xeb\xbb\x13\xf5\x02\x9d\xff\xcf\x8f\xff\x1b\x00\x00\xff\xff\xbd\xe5\xe5\x18\x81\x2f\x03\x00") + +func cfI18nResourcesItItAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesItItAllJson, + "cf/i18n/resources/it-it.all.json", + ) +} + +func cfI18nResourcesItItAllJson() (*asset, error) { + bytes, err := cfI18nResourcesItItAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/it-it.all.json", size: 208769, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesJaJpAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xfd\x7b\x73\x14\x47\xb2\x37\x8e\xff\xff\x7b\x15\xfd\xf0\xc4\x09\xe1\x0d\x49\xd8\xde\x3d\x27\x9e\x50\xc4\x2f\xce\x23\x0b\x19\xeb\x59\x81\x74\x24\xc1\x39\x0e\xb3\x81\x5b\x33\x2d\xa9\x97\xd1\xf4\x9c\xe9\x19\x61\xed\x1e\x47\x48\x23\x83\x01\xc1\xc2\x62\x73\x5b\xf0\x72\x35\xc8\xc8\x48\xb6\xf1\x7a\x31\xe6\xf2\x62\xc4\x8c\xc4\xbb\xf8\x66\x66\x55\x75\x57\x5f\xaa\xbb\x7a\xa6\x25\xe3\x3d\x97\x58\x33\x9a\xe9\xae\xca\xca\xca\xca\xca\xca\xca\xfc\xe4\x07\xff\x3f\xc3\xf8\x23\xfc\xcf\x30\x76\xd9\xc5\x5d\x7d\xc6\xae\xc3\xe5\xc3\xe5\x89\xa1\xd1\xbe\xc3\xe5\x5d\xdd\xec\xfb\x5a\xd5\x2c\xbb\x25\xb3\x66\x3b\x65\xf1\xc0\xc6\xd2\x85\x8d\xa5\x47\x1b\x4b\x27\xf1\x31\x78\xea\xe3\xee\xb8\x66\xde\x77\xea\x55\xe3\xff\x8d\x8f\x1c\x30\xdc\x5a\xd5\x2e\x4f\x1b\xee\x7c\xb9\x66\x7e\x64\xd8\xae\x61\x97\xe7\xcc\x92\x5d\xec\x35\x8c\xd1\xaa\x53\xb1\xaa\xd2\x4f\xb5\x19\xdb\xed\x33\x8c\xc2\x94\xe1\x5a\xb5\x9e\x6a\xbd\x5c\x86\x57\x7b\xac\xf2\x9c\x5d\x75\xca\xb3\x56\xb9\xd6\x33\x67\x56\x6d\x73\xb2\x64\xf5\x4c\x57\x9d\x7a\xc5\xe8\xfa\xe3\xe1\x5d\x65\x73\xd6\x3a\xbc\xab\xef\xf0\x2e\x68\xb6\x0e\x9f\xba\xa3\x5f\x7d\xdc\x95\x30\x20\xa2\x72\xa3\xf1\x23\x0c\x69\x63\xe9\x01\x8e\xad\xf1\x4d\xeb\xfe\x72\xeb\xd2\xa7\x1b\x8b\x67\x36\x3f\xb9\xd5\x3c\xfd\xe3\xc6\xe2\xfd\x8d\xc5\xab\x1b\x0b\x8d\xd6\xc3\x3b\x1b\x8b\x97\x37\x16\x3f\x11\x0f\xac\xb7\xbe\xbe\xb5\xb1\xb8\xb6\xb1\xb8\xb2\xb1\x78\x7a\xa3\x71\x9a\x3d\xb9\x4d\x63\xd8\x56\x6e\xbb\x35\x73\xfa\x97\xce\xed\x5c\xc7\xa0\xe0\xf6\xaf\x8c\x89\x19\xcb\xb5\xa0\xbf\xea\x9c\x5d\xb0\x8c\x4a\x09\xc6\x68\xcc\x98\x73\x96\x61\x96\x0d\xd3\x75\x9d\x82\x6d\xd6\xac\xa2\x51\x70\xdc\x5a\xaf\x31\x50\xb5\x60\xfc\x30\x25\xa6\xf7\x86\x5d\x06\x3a\xcb\xf0\xe1\x98\x5d\x2a\xc1\x5f\x05\x98\x3c\x9c\x0b\xf6\x86\x92\x77\xbf\x32\x36\x16\x3f\xdb\x68\x9c\xd9\x68\x9c\x42\x1e\x34\xfe\xb6\xb1\xf4\x74\x63\xe9\x33\xe2\xe5\x4f\x1b\x4b\x97\x37\x96\xbe\x42\x76\x2e\xae\x02\x9f\x5e\x5d\xba\xfd\x6a\xe1\xce\x46\xe3\x11\xe7\xf4\xe2\x99\x97\x4f\xbf\x07\x46\x6e\x2c\x3e\x67\xac\x0d\xbf\xde\xb8\x4b\x53\xf1\xe3\x46\xe3\x85\xf8\x70\xe1\xe5\xb3\xeb\xad\x93\xe7\xf1\xf9\xc6\x32\xb2\x7c\x61\x11\x09\xc0\xae\xfd\x66\x37\xaf\x3e\xd9\xfc\xfc\x06\xcd\x12\x6f\x59\xc5\xb7\xfe\x4a\x05\xa4\xd3\xac\x02\x6b\x12\xf4\xcb\x46\xe3\x36\x0d\xe5\x01\xb4\xfd\xea\xd2\x72\xf3\x3e\xf4\x7c\x11\x07\x8d\xcd\x43\x27\x37\xd4\x4a\x07\x3b\xf8\xe3\x1f\x7b\xe1\x9f\x03\x30\x99\x1f\x7f\x6c\x1c\x33\x5d\xd1\xa3\x51\x77\x71\x0e\x38\x97\x67\x67\xcd\x72\xd1\xf8\x10\x1e\x1e\x60\x9f\x3f\xfe\xf8\x43\x1d\x9a\x82\xcd\x03\x9b\x91\x13\x4b\x7f\x25\x75\x78\x2a\xd4\x9e\x41\x0c\x7c\xb1\xf9\xf9\x0a\xd1\x7d\x2f\xe3\x60\x0e\x38\x86\x59\xb1\x0d\xab\x5c\xac\x38\x76\xb9\x86\xd2\xad\x96\x8c\xfe\xd1\x21\xe8\x6e\x85\xd1\xb1\xb1\xf4\x05\x9f\x4d\x9a\xa0\xad\x95\x87\xcd\xb5\xbf\x88\x7e\xef\x09\x19\xb8\xb6\xd1\xf8\x2c\x61\xb2\xc6\x9c\x7a\xcd\x32\x6a\x8e\x31\x69\x19\xf5\xf2\xac\x59\xa9\x00\x0f\x81\x77\x65\xa7\x66\x80\xb8\x56\x61\x61\x95\xe6\x0d\xfe\x3d\x3c\x56\x9b\x01\xe9\xaf\x54\x4a\x76\x81\xc8\x52\x93\x4a\xec\x5a\x02\x76\x6e\xdd\xbf\xf3\xea\xea\x5d\x64\x43\x03\xc8\x3c\x41\x4b\xfa\x32\x27\xb0\xb1\xbc\xf9\xb7\x33\x5b\x7f\x5f\x07\x0e\x6f\x9e\x7b\xde\xbc\xbe\x22\xe4\x4e\xc8\x46\xe3\x5b\x14\xde\xc6\xdf\x37\x96\xee\x73\x91\x17\xcd\x66\x1d\x28\x6e\x77\x86\x71\x10\xd6\x73\x17\xe8\x90\x59\xb3\x7a\xd4\xaa\xc1\x8a\x86\xc5\xd9\xe3\x1a\xe3\x83\x63\x87\x86\x06\x06\xbb\x70\x84\x73\xb6\x75\xcc\x28\x5a\x6e\xa1\x6a\x57\x70\x38\xae\xe1\x4c\xc1\xda\x2d\xda\x73\x76\xb1\x6e\x96\xb8\x1a\x80\xef\x4c\x63\xda\x9e\xb3\xca\x62\xb5\x27\xb1\x42\x6c\xa4\x86\xb1\x79\xea\x47\x9a\xa5\xe0\xb2\x5e\x5c\x6b\x2e\x2c\x6f\x2c\x1c\xc7\xef\xfd\xf5\xbd\xb6\xf5\xe0\xeb\xd6\x95\x3f\x81\x7c\x6d\xdd\x5a\xd9\xbc\xfb\x44\x2c\x50\x5c\xf7\xb0\x46\x93\xc6\x11\x94\xc9\x94\x05\x4b\xac\xe9\x77\x5d\x7b\xba\x6c\x54\x9d\x92\xe5\x82\xbe\xaa\xcd\x80\x02\x05\x31\x67\x22\x00\x6c\xab\xc2\x42\x40\xcd\xeb\x54\xa7\x7b\xf0\xa1\x2e\x03\x97\x56\xfc\x33\x6e\x05\xe8\x61\x4f\xe9\x30\x25\xad\x23\x10\x99\xf4\x8e\xc2\xcb\xb0\xf9\xec\xc7\xe6\xa9\xef\xe0\x4b\xfa\xef\xe9\xe6\xb3\xcf\x48\x56\x90\x15\x89\x7c\x20\x09\xc1\xce\xde\x9d\x30\xab\xd3\x56\xcd\x5b\xe8\x24\x1c\x35\xfa\xce\x28\x83\x88\x50\xdf\x3a\xc3\x6b\x5d\xfa\x86\x6d\x6e\xa4\x4b\xff\x42\x02\x8d\x5a\x97\x34\x30\x7c\xfe\x8e\x04\xfa\x24\xcd\x6b\x70\x82\xe3\xc9\x88\xce\xad\xde\x80\x54\x03\x01\x46\x67\x1a\xc6\xe6\xdf\x3e\xd9\xfc\xf1\x73\xed\x01\xb4\x4d\x78\x9d\xaf\xd5\x92\x03\x5b\xbd\xd1\x63\x1a\xa8\xfd\x7a\x7a\xdc\xa3\x76\xa5\xc7\x75\x4b\x3d\x64\xee\x10\xad\x5d\x30\x06\x7a\x14\x35\x69\xc2\x53\x30\x6e\xb7\x5e\xa9\x54\x2d\x97\xd9\x44\x86\x55\xad\x3a\x55\xe5\xe0\x89\x0a\xa1\x91\x56\x68\x55\xc2\x68\x2f\xb4\x4e\xff\xb9\x79\xf2\x87\x98\xc5\xa8\x43\x28\x8d\x1b\xb6\xd1\x75\x1d\x7a\x75\x19\x06\x9f\x06\xde\x3d\x72\xa0\x7f\xff\x20\xec\x79\x95\xf9\x1e\x17\xac\x44\x50\x08\xe3\x23\x07\xc7\x06\x06\x7b\xfa\x47\x47\x8d\x89\xfe\xb1\x7d\x83\x13\xf4\xf1\x03\xd0\x13\xfc\xcf\xf1\xd1\xfe\x81\x41\xf8\xc2\x11\x5f\x8c\x8c\xed\xfb\xdd\xef\xe0\x8b\x9e\xb2\xd3\x03\x5c\xc2\x2d\xf5\x77\xca\xfd\x72\xbb\x7b\x55\x0d\x75\x84\xd4\xb2\x59\x82\x7d\xa9\x52\x75\x40\x2b\xc3\x8e\x64\x94\x6c\xb7\x86\x4a\x99\xf6\xfc\x9e\xa2\x55\xb2\x67\x6d\x34\x07\xc0\x4e\xc4\xb9\x36\x6b\xcc\x06\x83\x5d\xee\x58\xd5\xae\xd5\x40\x6d\xf3\xcd\xec\xd0\x40\xff\xe8\x11\xae\x37\xc7\x0d\xc9\x9e\x34\x84\x3d\x69\x4c\x81\x74\x99\xe5\x79\x63\xd2\xa9\x83\xca\x93\x76\x3f\x57\xa5\xf3\xe1\xab\x8d\xc6\x03\x54\xe5\xfe\xd6\x75\x1f\xcd\xaa\xa5\xf3\x62\xcb\x3e\xd5\x7a\x0c\x2b\xe6\x85\x7a\xab\x5b\x0b\x91\xb6\x79\xe1\x9b\xe6\xed\xa5\xe6\xdd\x53\xad\x8b\xb0\x10\x57\x5b\xd7\x1e\x6f\x2c\x9e\xdd\x7a\xfe\x14\x05\x03\x6d\xc5\x65\xb2\x51\xd0\x4c\x69\x9e\x79\xd2\x3c\xf9\x29\x5a\xcd\xb0\x40\x1b\xdf\xd0\xa6\xf2\x80\x1b\x72\x20\xbe\xe7\xce\xbf\x7c\x7e\x2d\x7d\x5f\x88\xe7\x34\xdf\xec\x40\xf3\x5a\x05\x7b\xca\x2e\x00\xc3\xcb\x53\xf6\x74\xbd\x4a\x63\x37\x2a\x66\x15\x6c\xa6\x9a\x55\xc5\xf3\x08\x4c\x0b\x49\x33\x3b\xb0\x38\x93\xbf\xb7\x0a\x35\xf8\xba\xa7\x64\x97\xad\xde\xc3\x65\x49\x7e\xea\x15\x10\x79\x68\x94\xdb\xcd\x3d\x05\x7d\xeb\x1d\x8f\x1a\x2a\xa1\x98\xb2\x61\xf6\x80\xc0\x9a\x69\x97\xe9\xb0\xd4\x21\xf1\xbd\x06\xf5\x05\xc7\x02\x78\x16\x76\x48\x2e\x42\xd2\x7b\xac\x47\x38\x1e\x4c\xb2\x43\xc2\xa4\xeb\x94\xd0\xc0\x02\x09\xaa\x5a\x28\x1f\x73\xfe\xab\x8c\xbe\x34\x46\x8c\xf6\x4f\xbc\x77\x64\x62\xe4\xc8\xbb\x43\xc3\x83\x7c\xac\x83\x1f\x99\xb3\x15\xe8\x07\xc4\x3d\x42\x62\x1f\x3d\xf1\x47\xfa\x2f\xfc\xdf\xe1\x5d\x85\x52\xdd\x05\xd2\x8e\x94\x1d\xb0\x69\x80\x75\xfe\x6f\xec\x67\x90\xe9\x1a\x7e\xfd\xcf\xdd\x81\xef\x67\xad\x59\xa7\x3a\x7f\x64\x76\x12\x7f\x7b\xeb\xcd\xb7\x7f\x23\x7e\xfd\x98\x3e\x7c\x9c\x55\xf0\x25\x6b\xa7\x79\xed\x49\xeb\x3a\x9e\x6c\xf0\xb0\x07\xc7\x8e\xa5\x3f\x93\x6a\xbd\x45\xe2\xff\x82\xeb\xd8\xeb\xa7\xe8\x7c\xf8\xc0\xe0\xc7\x48\x68\xf3\xd2\x46\xe3\xf1\x46\xe3\xfe\x46\x63\x9d\x8e\x94\xe2\x28\x03\xef\xb2\x0f\x8b\xf7\xa3\xa2\x9d\xb3\x94\xe5\x32\xb6\xe6\xf9\xd5\x8d\xc6\xc2\xc6\x12\xd8\xaf\xb7\x88\xf4\x55\xad\x01\x2b\x87\xc7\x77\xa8\x68\x57\x78\x58\x94\x3a\x59\x7c\xcc\x1f\x43\x83\x73\x3d\xfa\xd3\xe6\xdf\x7e\x68\xae\x3f\x17\x0f\xf0\x6d\x6a\xf3\xda\x63\xe9\xcb\x15\xb1\xeb\x7d\x46\x9f\xcf\xd0\xb1\xfc\xac\x2e\xb7\x63\x44\x59\x63\xd8\x6b\x2f\x9f\x2f\xef\x98\x54\xff\x0c\x9a\xb0\x8f\xb3\x42\xf0\x6d\x12\xce\x1a\x1e\xd7\x60\xeb\x64\xdf\xf2\x6d\xe0\xc8\xd0\x81\xf1\x89\xfe\x03\xb0\x7f\xfe\xf7\xd5\x91\xfa\x0c\xea\x54\x77\x56\xac\xea\xac\x0d\xe7\x22\xd8\xe9\x51\x60\x0e\xef\xaa\x5a\x66\xb1\xc7\x29\x97\xe6\x0f\xef\xfa\x85\xa9\xc1\x1d\x12\xb1\xff\x51\x90\xfa\x0a\xb2\x23\x39\x6e\x57\x71\x6a\x88\xf4\x6b\xa0\x03\x0b\xe8\x4b\xf5\xf7\x0e\xce\x13\x63\x74\xb8\xff\xc0\x2f\x48\x13\xe6\xaf\x08\x3b\xe5\xd3\xff\x18\x93\x6d\x6b\xd1\x9d\x16\xd1\xff\xd1\xa4\x6a\x4d\xba\x0d\xcb\xe0\x97\x62\x88\x8e\xa2\x3e\x70\x67\x9c\x7a\xa9\x48\x6a\xc3\xf8\x83\x5d\x21\xd5\xd0\x0d\x9f\xeb\xd5\x12\xd3\x15\xfe\x97\xe8\xba\x30\x4a\x4e\xc1\x2c\x19\x45\xbb\x0a\x6b\x1a\xba\xed\x35\x46\x1d\xd7\x26\x25\x66\xbb\xf0\x73\x85\xfe\x9a\xc3\xfb\xaa\x9a\x35\x6d\x55\xbb\xd1\xb7\xea\x82\x66\xb4\x9d\xaa\x5d\x9b\xef\x26\x4f\x2f\x3c\xe9\x3a\x74\xc3\x32\x55\x75\x66\xa1\xc9\x63\x96\x5b\xc3\xde\x66\xec\xe9\x19\x4b\x7d\x9d\x05\x5f\x91\x0e\x43\x97\x17\x92\x15\x10\x86\x85\xc5\xc8\x57\x24\x1f\xc6\xc1\xb1\x61\xba\x85\xe2\xa2\xb1\xb1\xf4\x90\x64\x6d\x15\x9f\x40\x59\xfb\x74\xa3\x71\x67\x63\xe9\x6b\xb1\x7c\x1f\xe0\xaf\x28\x20\x0f\x36\x16\xff\x4c\xd7\x02\xdf\xe0\x67\xbc\x37\xf4\x6f\x06\x2a\x62\xd0\x78\xbd\xf8\xf0\x4e\xeb\xe2\xf7\xe4\x49\xc1\x75\xd5\xfc\xe4\x41\xf3\xf8\xc9\x57\x37\x4f\xbc\x7c\x76\x16\xdd\xed\xfc\x2a\x85\x04\xb0\xd1\xa0\x8b\x48\x68\xbc\x81\x0d\x2e\x2c\xbe\x7c\xf6\x27\x72\xe6\xb2\xef\xe1\x81\x53\xaf\x56\xaf\x48\xdf\xe0\x00\xa0\x29\x74\x0d\x36\x9e\xd1\xe2\x38\x29\xdd\x06\x25\x3a\x5c\x68\xb3\x60\x1b\x52\x91\xb1\xad\x0d\x3b\x79\xa8\x26\x04\x84\xdd\x55\x1a\x78\x23\x06\x1a\xde\xac\x56\xcd\x79\xe6\xda\x97\x74\x3c\xee\x5e\x2e\x6e\x80\xec\xca\x63\x92\xdd\x9e\x59\x46\xb5\x5e\xb2\x92\xfc\x5b\x42\x43\x5c\xe4\xce\xa7\x6d\x37\x9b\x84\xee\x91\x9b\x5f\x6f\x9e\x38\xfe\x6a\x69\x85\xee\x85\x56\x89\xd5\xab\x34\x7d\x57\xb6\x5e\x7c\xc3\x9a\x54\x2e\x67\xa1\x1c\x9b\x67\xaf\xbc\x7c\xbc\x80\x53\x76\xfc\x6c\xf3\xe4\x65\xd4\x8f\x67\x40\xf0\xee\x4a\xf3\x9e\x24\x54\xdb\x36\x95\xac\x05\x32\x11\xa4\xd9\x24\x4e\x74\x34\xa3\xac\x5d\x7a\xfc\x1d\xd3\xb5\x8c\x11\x6e\x88\xb9\xec\xdc\xe6\xcc\xa2\x77\xb4\x48\x4b\x1e\xad\x42\x7a\xd3\xfd\xcf\xba\x59\xb5\x8c\xc9\xaa\x59\x38\x8a\x9a\x01\x7f\x94\xef\xbf\x67\x6c\x20\x8f\x5b\x74\xf8\x60\xd5\xfa\xcf\x3a\x28\x9b\x22\x1a\x46\x35\x3e\x0a\xe8\x98\xab\xda\x43\x64\x66\xfc\xde\x85\x95\x48\xc3\xb3\x98\x05\xc2\x54\xeb\x07\x5c\x11\xfa\x6a\x14\x6c\xd6\xaa\x53\x73\x0a\x4e\x89\x19\xac\xb5\x42\x05\x77\x4e\xff\x67\x18\x66\xcd\x2e\x93\x6c\xb2\x27\xde\x7a\xb3\xf7\xed\xdf\xfc\xa6\xf7\xad\xde\xb7\xfe\x4f\xf0\xc9\x0a\x28\x30\x6e\xf6\xfe\xfa\xd7\x6f\xfe\x0b\xb7\x78\x85\xd2\xfd\xdd\xeb\x21\xec\xb1\x72\x4e\x04\xfe\xec\xc2\x4e\xcd\x37\x6f\x80\xdd\xf1\x75\xdc\x06\xc9\xa8\xdc\xbc\xbe\xb8\x79\xf1\x4b\xce\x2b\x50\xad\x77\xef\xb7\x96\xbf\x6e\x3e\x85\xa6\x57\x58\xb0\x42\xf3\xe1\xf9\xd8\xed\x15\xbd\xe1\xc0\x0d\x69\xe0\x30\x60\xa0\xa9\xf9\xe2\xf8\xd6\xbd\x45\xe2\x95\x47\x90\x74\xa8\xf5\x77\x6e\x12\xa9\x20\xe3\xfc\x3d\xfb\x67\x15\x2c\x95\x92\x38\x84\x77\xcd\x70\x0c\x71\x8e\xd1\x45\xc3\x7f\xd6\x9d\x9a\x29\x6e\x5f\x85\x71\xc3\xbe\x54\x5d\xa4\xc2\x57\x5b\x2b\xdf\x36\xd7\x7e\x94\xaf\x39\x5f\x7d\x7a\x0e\xa6\x36\xd2\x04\xa8\xd0\xfb\xe2\x26\x39\xf9\x3e\xc9\x2c\xa2\xd6\x02\x52\x94\xdd\xf2\xf8\x1c\x2e\x37\xfc\xce\x75\xeb\xc5\xb3\xe6\xe9\x9b\xa1\xd0\x87\x3e\x43\x11\x61\x63\x14\x1d\x8b\x05\x1a\x58\x1f\xe1\xed\x8d\x89\xb6\x48\xd5\xaa\x38\xaa\x3e\x69\xc1\x3d\xa0\xb0\x87\xc7\xd2\xb6\x2f\x2e\x7c\x1f\x5e\xa1\x00\x82\xcb\xa1\x98\x00\x45\xe7\x78\xa9\xa3\xea\x88\x7e\x8b\x7f\x0d\x0d\xa6\x12\x9e\x99\xe7\x45\xc4\x49\x02\xb5\xad\xcb\xb7\x61\xb5\x06\x03\x42\x3c\xda\x54\xbc\x0f\xf4\xe0\x60\xdc\x45\x6a\x0f\xcd\xc5\xeb\xad\x87\xb7\xb3\xf4\x60\xcd\x56\x6a\xf3\x09\xed\x6e\x7e\xf5\x84\x85\x5c\xa9\x9b\xc0\x89\x33\xe7\x4c\xbb\x44\xa2\x0b\x9a\x1e\xa7\x4e\x2d\x30\x7e\x4c\x57\xcc\x14\xae\x72\xe3\x4a\xcc\x99\x5a\x66\x78\xc7\x55\xcb\xad\x38\xe5\x22\x6c\x6d\x60\xcc\x96\x2c\xdc\xc8\x66\xcd\xa3\xb0\x53\xd5\x61\xfb\xb1\x6b\xcc\xae\x65\xe7\xd9\x4a\xa9\x3e\xcd\xa9\x53\x9a\x33\x68\x49\xbc\xb8\xbe\xf9\xf0\xf3\xa8\xf8\x60\x74\x9a\xd0\x30\x3c\x36\xa3\xf1\x8d\x38\x2d\xfe\x14\x37\x18\x66\x29\xc2\x84\x2f\x6f\xde\x7e\xb2\xf5\xe0\xac\x68\xf3\xdc\xc6\x22\xad\x0d\x68\x5c\x69\x37\xe0\xd8\xa6\xf0\x9a\x31\x81\xd2\xad\x7b\xcb\xa8\xb2\xd1\xf2\x94\xb4\x33\x76\x8b\xcb\x4d\xd1\x70\x15\x0e\x1c\x73\x9e\xf1\xce\x2f\x4b\x91\x27\x60\x13\x83\x95\x6f\xb9\x19\x17\x9d\x74\xa5\x48\x26\x70\xf3\xd4\x69\x8a\xf2\x09\x2c\x7d\xc5\xf5\xfe\xae\x51\x9a\x12\x50\x98\xc2\x68\xf0\x86\x2d\x2c\x06\x3e\xbf\x40\x70\xd1\xac\x99\xca\xd0\x1a\xa9\xa5\xb8\x2d\xe5\x0c\x9f\x54\x38\x2e\xb0\x93\xea\xe2\x6a\x32\xf3\x94\x13\xd3\xe5\x49\x3c\x90\x36\x6d\xe3\x91\x8f\x02\xff\x28\xb6\xa1\xd7\x18\xb7\x58\xa8\xc2\x8c\x55\xaa\xa8\x56\x40\x17\xad\xab\xab\x3f\xbd\x3a\xf3\x9d\xb8\xfa\xf5\x63\xca\x88\x82\xf5\xd0\x2a\x00\x6a\xbc\x46\x31\x16\xa0\x79\xae\xb1\x79\xfc\x7e\x54\x9c\x14\x24\xff\xf1\x8f\xbd\x87\xac\x2a\xba\xfa\xc6\x67\x60\x7f\xc2\x08\x0c\x11\xb2\xc3\xbf\x1f\x76\xca\xd3\xf4\x35\x2c\x1a\xb3\xe4\x82\xed\x59\x28\x58\x15\xd0\x69\x2a\x86\xc7\xb5\x49\x01\x9a\x30\x9e\x47\x71\x2d\xc3\x06\xd1\x3c\x07\xf4\xfe\xb9\x79\xfc\x4b\x1e\xd1\x98\x7a\x0e\x7a\xc3\xd3\x7f\xb4\x2f\x28\x0f\x21\x6f\x48\x0a\x30\x46\xf7\xab\x3b\xf8\xd5\xaf\xfa\x31\x02\x00\xdb\xe9\x33\xb8\x04\x11\x0f\xc0\x54\x36\x71\x2d\x78\x31\x02\x93\xf3\x70\x38\xa6\x47\xc9\x57\x08\x67\xf9\x2a\x1e\xf7\x61\x6b\xac\xd7\x60\xfc\x60\x4d\x0f\x61\x88\x67\xa9\x44\x9c\xc5\x80\x95\x8a\x68\xae\x66\xcc\x63\xac\xae\x73\x0c\x54\x8f\xed\x1e\xed\xfd\xd5\xaf\xd0\x5e\xd9\xeb\xe0\xd7\xc6\x31\xb3\x4c\x67\x67\x9b\xbf\x4d\x8e\x41\xa6\xa7\x80\x87\x8c\xa4\x8f\x3f\xfe\x57\x63\xf7\x3c\x1e\x11\xca\x6f\x28\x38\xf0\xab\x5f\xb5\x1e\xad\xb4\x3e\x39\xd7\x67\x84\x35\x13\xea\x33\xb0\x9d\xfe\x42\x61\x77\x8d\x97\x2f\x6e\xbd\xba\xf9\x54\xd8\x99\x60\xe1\x7d\xc2\x22\x3e\xb7\x30\xe2\x6c\x95\x66\xef\x0e\x70\x8e\x42\x0a\x96\x69\x82\x6e\x88\x48\x85\xd3\x92\x56\x23\xeb\x34\xdc\xd1\x9a\x1f\x51\x8a\xda\x81\xac\xd2\xc5\x15\x11\xb6\xb2\xbe\xf5\xe9\x03\x16\xc6\xba\xf5\xdd\xd7\x2f\x7f\xfa\x89\x2c\x90\x33\xac\xbb\x90\x46\x64\x0c\x0a\xb5\x2f\xb3\xc3\xa0\x90\xa3\x68\x67\xc2\x47\xb5\xb8\x4c\x0c\xf3\x23\x6c\x80\x6f\xb1\xf3\xdf\xef\x45\x86\xa2\xef\x19\xe6\xc1\x29\xb1\xc9\x80\x55\x6d\x16\x6a\xcc\xfe\x1a\x28\x39\xf5\xa2\xf1\x2e\x2a\xa5\xaa\x6a\xa7\x0c\x3c\x83\x61\x6a\x60\xe5\x6f\x7d\xf5\xad\xb0\xef\x6f\x6c\x34\x16\x79\x14\xad\xb7\xce\x71\xcb\xf8\x4a\xda\x3e\x3e\x61\xa3\x50\x10\xba\x77\xef\x9e\xb1\xc1\xfd\x23\x87\xd0\x97\x75\x70\xdf\xd0\x01\x05\x1d\xd1\x49\x61\x96\xd8\x1e\xa6\x95\x35\x1b\x37\xc6\x06\x47\x47\xc6\x87\x26\x46\xc6\xde\xd7\xec\x27\x7e\xff\xd3\xeb\xfc\x10\x3a\xe3\xf6\x2a\x3a\xda\xfa\xea\xd1\xe6\xf7\xdf\x28\x5e\x1d\x1e\xea\x1f\x57\xbc\xd7\x3c\xf9\x65\xf3\xfc\x59\xc5\x7b\xa3\x43\x5e\x94\xad\xe2\x75\x65\x78\x6d\x7a\x8b\xc6\x6e\xab\x17\x6c\x91\x99\x5a\xad\xe2\xf6\xed\xd9\x63\x56\xec\x5e\x7e\xae\xed\x05\x61\x53\x2d\x60\x65\x87\xc6\x6e\x3c\xb8\xa8\x9b\x4b\xa5\xa7\x2f\x6b\x8f\x7d\x1a\x6d\x52\x58\xf4\xe8\xd0\x20\xff\xfb\x63\x95\xe3\x5e\xdd\x49\xb4\x85\x36\x7a\x35\x76\xe3\xef\x73\x6c\xa7\x11\x3f\xf3\x8d\xe7\xe3\x8f\x33\xf3\x5a\xd5\x01\xaa\x40\x34\x1b\x1e\x33\x0f\x7c\x4c\x47\x7a\xb4\x77\xc8\xae\x74\x5e\x8d\xaa\x96\x83\x17\x5c\xa6\x7c\xd3\x73\x8b\xab\x9a\x08\x3e\xa3\x6c\x06\x8f\x99\x09\x2d\xd0\xcf\xf1\x2f\x83\xc5\xe1\xba\x74\xe2\x92\x02\xab\x2b\x70\xb2\xb2\x0b\xf5\x92\x59\x35\x26\xab\xce\x51\x4b\x15\xa3\xe9\x47\x53\x83\xe9\xe7\xfb\x88\x9f\x06\xe3\xa8\x57\xd1\xf9\xc2\x9d\xb9\xb7\xd1\x36\x6c\xfc\x04\x3b\x48\x2a\x3d\xe2\x3a\x01\xaf\x68\x22\x64\x89\x1f\x9d\xa9\x29\x0b\x13\x71\x52\x09\x0c\xa7\x61\x3c\xe0\x8e\x0a\x91\x1a\x13\x7a\x06\xd4\x58\x56\xc2\xd1\xe7\x86\xbe\x3e\x9e\x89\x04\x24\x16\xea\xe8\xbf\x37\x28\x1f\xc6\xa5\xe3\x3c\xc8\x13\x58\x29\xd5\x32\x25\x36\x28\x2d\xd5\xe0\x53\x86\x7f\xc4\x5e\xbb\x81\xbb\x37\x52\x01\xbc\xfe\x92\x68\x3f\x41\x9e\x78\xba\x01\x82\x41\x70\xc7\x14\x7a\x96\x36\xcf\x7e\xd7\x7c\x7e\x39\x64\x93\xa5\xd1\xce\xf3\x7a\x42\xb4\x23\xe9\x01\x9a\x14\x84\x07\x9e\xf1\xc9\x26\x96\x9f\x10\x6b\x99\x98\x8d\xd4\xe6\x3e\x8a\x22\xd8\x85\x14\x51\x2d\x1d\x39\xe9\x78\xa5\xb2\x1f\xfc\xc8\x70\x9d\x8d\xb5\x71\x41\xf8\x57\x12\x9d\x37\x8c\x0c\xbc\x0a\xaa\x8a\xdc\x0e\x74\x39\x57\x2a\x69\x4a\x02\xe4\x0d\xef\x5d\x0c\x9e\x92\xa1\xdf\x1d\x09\x1d\xf5\x05\x13\x00\x2d\x00\xef\xb1\xd3\x70\x96\x0e\x70\xc4\xa9\x4e\xe3\x77\x23\xd5\x69\xfe\xdd\x1e\x16\x46\x8f\x5f\x8e\xe3\x07\xfe\x35\x9b\xef\x83\xde\x5c\xf6\xf6\xaa\x0e\x01\x81\xc7\xfc\x29\x67\x63\xf0\xe9\xc1\x99\xa4\xb0\xf5\x70\xf7\x72\x4c\x7e\x98\x0a\x72\x3f\xae\x29\x93\x82\x56\x25\xfe\xf8\xb2\x81\xa4\xc6\x33\xaa\x64\xc3\xb0\x42\xb9\x43\xfc\xb8\xcb\x05\x66\xd2\x42\x56\xf2\x43\x01\xcb\xc3\x01\x81\x62\xd7\x03\x03\xef\x0a\xab\x75\x8f\x89\x2d\xf5\x1a\xc6\x98\x45\xaa\x09\x1b\x08\x35\x2b\xec\xdb\x94\xe6\x71\x42\x8a\x56\x15\x67\x0b\x9a\x22\x37\x0e\xbb\x3d\xc0\x07\x58\x94\x03\x3f\xd7\xa8\xd8\x1f\x6f\x8f\xc7\x25\xfa\x84\x44\x9c\xf1\x96\xd9\x6b\x91\x84\x2a\x74\x39\x9c\xa5\xe7\xd8\xba\xbc\x84\xa3\x97\xcd\xe8\x3d\xec\x45\xff\x54\xd2\x2e\x19\x29\xe7\x17\x3c\x73\xaf\x6f\x2d\x3d\x93\x52\x1b\x98\x51\xcf\xa3\xfe\x37\x16\xbf\xf0\xb7\x9a\xe0\xd0\xa2\x59\x62\xd2\x29\x00\xfd\xf1\x67\x9b\xa7\xce\x62\x34\xf7\xb5\xef\x33\x38\x88\xe2\x85\x08\xc5\x24\x20\x1c\x38\xb5\x7c\xd2\xbb\xbc\x13\x14\x13\xdc\x2e\x10\x9c\xf7\xe1\x08\x5a\xa0\x3b\xa5\x5a\x15\x4f\xb5\x7c\xc6\x51\x3a\x54\x6f\x91\x20\x80\x2c\x95\xa5\x33\x2b\xf4\xcb\x1f\x97\x25\xc9\x2e\xcf\xc1\x8e\x9d\x20\x95\x40\xc0\x7b\xce\x31\x6b\x0e\x2f\x9a\xf1\x30\xcc\xaf\xb7\xa6\xec\xaa\x5b\x33\xa6\xea\xec\xa0\x0d\x8d\x61\xee\x24\xf5\x69\xd8\xb3\x15\x3c\x97\xc1\x1e\x1c\xa0\x15\x7f\x22\x17\x01\xfe\x11\xa5\x98\xd1\xa6\x92\xdc\x04\xd1\x0b\x9e\x40\xa3\x0d\x0b\xbd\xa0\x96\xc7\x94\xb9\xff\x33\x18\x28\x8f\x9a\x9f\x52\x42\x97\x27\x50\x98\x1d\x90\xd6\xb3\x50\x47\x8f\x62\x84\x16\xf4\xf5\x57\xf7\xe8\x0e\xe5\x1e\x73\xc9\xf9\x69\x9c\x21\x99\x8f\x3f\x46\x27\xdf\x49\xdd\x20\xd9\xbc\xec\xc9\x3c\x08\x2f\x23\xba\x75\xf9\x76\xf3\xe1\x15\x14\xf8\x18\x72\x63\x3a\x56\x50\x4f\xee\xb7\xe6\xcd\xef\x9b\xe7\xf1\x2a\xa8\xf9\xec\xdb\x57\x37\x5e\x20\xab\xce\x2e\x36\x4f\x9e\xd8\x3c\x7f\x62\xeb\xfe\x1d\xb1\x4c\x4e\xc3\x4a\x11\x77\x42\x67\x24\x97\x99\xda\xe1\xd3\x5f\x92\xd2\xf6\xe8\x42\x93\x5b\x6f\xcc\xf1\xc5\x9c\x4d\x26\x59\x7e\xb6\x97\xf0\x01\xef\xc0\x76\xa5\xf2\x8b\x8a\xb4\xa0\x40\x12\x1f\xcd\xe7\x8f\x44\xa4\x6c\x7f\x72\x27\x95\xfc\x2b\xcf\xa1\x02\xfa\x25\xc3\x8e\x33\x1d\xad\x3d\xa6\xb9\x56\xc9\x59\x73\x47\xc3\xf4\x68\x63\x80\xb4\x7e\xd5\xb9\x5f\x6d\x0d\xf0\xb3\x9f\x69\x68\x76\xf9\xb5\x99\x3d\x72\xaf\xed\xd0\x28\x7f\x8e\x29\x6c\x7b\x7c\xce\x31\x63\x7c\xfc\x3d\x2e\x85\x9c\x7c\x2b\x31\x8b\x52\xd0\x2f\x65\x4d\x4a\x47\x22\x6a\x2d\x40\x20\x5e\x86\x7f\x0b\x1b\x76\x9a\xc5\x8a\x9e\xee\xa2\x55\xb2\x6a\x16\xa5\x75\xf1\xe4\x66\xb2\x60\x95\x02\x13\x4e\x3b\xbe\x21\xac\xe4\x86\xb8\xf9\x48\xee\x93\xd9\xbe\xb3\x75\xd8\xe2\x26\x2d\x9e\x7d\x69\x61\x08\x17\x30\x42\xfc\xcd\xc1\x03\x92\x38\xa2\x97\x41\xca\x94\x73\x6a\x9e\x66\xac\x12\x55\xd0\x0f\xc6\x7c\xda\xf9\x41\x71\x65\x8a\xaf\x7a\x40\x08\x94\x96\x97\x7e\x10\x59\x8b\xc2\x14\x34\x4f\xfe\xf0\xea\xea\x79\x75\x17\x64\x0a\xdb\xec\x0a\x99\x47\x9f\x4c\xd9\x56\x49\x75\x91\xe6\x75\x46\xdb\x36\x7a\xcb\x5f\xdd\x3c\x49\x47\xf2\x3b\x7c\x47\xe2\x97\x32\x09\x0c\x09\x9c\x07\x82\x97\xd9\x6a\x7b\x59\x85\x30\xa0\xba\xbe\x56\x6f\x6a\x91\xf3\x15\x0e\xfe\x98\x53\x3d\x4a\x11\x7c\x47\xed\x4a\xc5\x3f\x98\x51\x84\x24\xd2\x90\x95\xac\x8d\xa5\x75\xc9\xab\xe2\x5d\x6d\x92\xd1\xb2\xb0\xc8\x16\x01\x87\x8f\x40\x41\xfb\x91\xce\xd4\x6c\xa1\x24\x2f\x88\x38\xea\xb9\x9e\x63\x79\x96\x60\x4a\xe2\x79\x8c\xe9\x41\xf6\x50\x76\xae\x32\xad\x16\x69\xc8\xa0\x20\x1a\x3f\x17\x33\x7a\x75\x9e\xc4\x76\x0b\xa8\x43\x9f\x1d\x0a\x1a\x06\x41\x16\x6d\x73\xba\xec\x80\x19\x5a\x70\x59\x00\x57\xc9\x99\xa6\xd0\xa6\x04\x7f\x1f\x2c\xbc\xd6\xb7\x8d\xad\x95\x27\xad\x4b\x0f\x91\x73\x4b\x0f\xb9\x5b\x22\x10\xbe\xb2\xfa\xf2\xa7\x2b\x1a\x47\x70\x3f\x23\xd5\x98\xb1\xcc\x12\xc6\x9a\xcd\x58\x85\xa3\x46\x6d\xbe\x62\x71\xc7\x74\x17\x86\xa8\xb0\x3c\xe9\xb2\x53\xb6\xba\x54\x5e\x52\x65\x3e\x2a\x92\x76\x85\xec\x4c\x86\x42\xb2\x88\xf7\xac\x30\xd3\x78\xd5\xfa\x13\x25\x9a\x02\xc9\x97\xb9\xdf\x9a\xf7\x26\x25\x3b\xf3\x4e\x53\xe9\xf7\x34\x85\x0d\x47\x80\x8f\xda\x20\x32\x8a\x6f\x02\xfb\xd9\xf7\xb7\x9b\x4f\x2f\x2a\x3b\x77\x55\xce\x72\xaf\x1f\x95\x73\x9c\x61\x26\x98\x2c\xc0\x86\x7b\x5a\xd4\xfb\xb1\xd8\x56\x57\x03\x90\x04\x7e\xb8\x69\xf2\x24\x8b\xbe\x98\xc3\x84\xf5\x58\xb4\xa6\xec\x32\x0b\x6a\x25\xc1\xd3\xde\x3b\x16\x57\xe5\x3f\x43\xb1\x43\x40\xcc\xe6\xf3\xaf\x28\x38\xec\xd3\xcc\x84\x21\x18\x03\x23\x06\x5d\x71\xca\xed\xf4\x1e\xf5\xfc\x03\x8f\xfe\x08\x90\xb6\x96\x19\xba\x41\x90\xc0\x36\xd9\x76\x28\x10\x53\xd3\x6e\xdf\xb0\xdb\x1c\xc2\x00\x7e\xd5\x61\x33\x30\xe1\xec\x0e\xfc\x46\x73\x41\x75\x39\x46\x4d\x32\xe5\x5d\x22\xdf\xd8\x18\xfc\xcb\xbc\x6a\x38\x24\x23\x82\x85\xe1\xbb\xd6\x18\x5a\xc4\x48\x75\x1a\xbe\x55\x7b\xcd\xd8\x28\xa5\x96\x03\xfe\x31\xb9\x0d\x7e\xd6\x95\xb8\x15\xed\x3d\x2c\xd1\x92\x1a\x35\xd4\xee\x30\x8d\x41\x32\x42\x12\xc7\x28\x39\x10\xd9\xd7\xe4\xc0\xf3\x5c\x88\x01\x42\x13\xbd\x88\xe1\x21\x05\x60\x44\x74\x38\x15\xf5\x25\x06\x09\x8a\xe7\x64\x60\x88\x09\x8c\xdc\x6e\x3e\xee\x38\xbb\xb6\x9d\x1d\xa1\x2b\x04\x68\x5c\x7c\x73\x84\xbe\x61\x2c\xf2\xa4\xc7\xe5\xd3\xe4\xb3\x07\xfe\x31\xcb\xf6\x1f\x68\xd4\x1e\x87\xea\x7a\x3e\xe9\xf8\x6b\x88\xf4\x1b\x87\x58\x32\x03\x3c\x0c\x51\x25\x7c\x51\x41\xc9\x13\x83\xe9\x90\x83\xd2\x4e\x03\x8d\xfe\x1b\x7e\xe0\xf6\x93\xcc\xb9\x5c\x1d\xf7\x09\xdb\x52\x98\x06\x6e\x70\xaa\xbc\xf7\x6d\x8d\xbd\x56\xc3\xc8\x48\x72\x2e\xc2\x19\xd1\x39\x56\x2e\x39\x66\x91\xc5\x05\xcd\xb3\x68\x75\x0a\xa0\xa3\x50\x91\xb2\x55\xc3\x40\x59\x44\x93\x51\x0f\x73\x68\x94\xce\xa8\x78\xaf\xfb\x35\xed\x6e\xe4\x99\x0b\x05\xd7\x84\xcd\x3e\x58\x16\x0b\x1b\x8d\x7b\x64\xd1\xd0\xa5\x26\xb9\x0d\x25\xf7\x5e\xb6\x71\xcc\xda\xd3\x55\x93\xdd\xce\x70\x2b\x78\x88\x5b\x59\x7b\x7d\x98\xab\x94\xb9\x4a\x7a\x91\xdc\x92\x70\x40\x06\xea\x51\x94\xbf\x0e\x98\x64\x99\xe9\xe6\x71\x59\x94\x3f\x51\x82\x2d\xfd\x43\x72\x2b\x9a\xdc\xa9\xf8\x21\x3a\x48\x84\x73\xe4\xc3\xb0\x5d\xff\xa1\x08\xd3\x9b\xaa\x5a\x22\x85\xc2\xb3\x28\x3f\x8c\x0e\x43\xbc\x25\xe1\xf3\x99\x1c\xce\xcf\x18\xc0\x4c\xd0\x02\x0f\xe3\x32\x8b\xb3\x60\x68\xb9\xc0\x97\x1a\x98\xd0\xf6\x14\x39\xae\x6b\x33\x76\xf9\x28\x73\xc2\x10\xfe\x22\x83\x13\x52\x31\xd1\x0b\xd5\x92\xfc\x31\x71\x23\x90\xfd\x32\x91\xc1\x63\x08\xe1\x27\xb7\x5a\x97\xae\xaa\x02\x06\xa3\xf6\x6f\xd2\xb8\x39\xb2\x9d\x80\x86\x11\x18\x7f\x17\xb1\x39\x39\x1f\x01\xed\x95\x33\x5b\x0f\xee\x0a\x24\x46\x76\x08\x5c\x69\x2d\x7c\xb1\xd1\x38\xc7\x72\x22\x84\xef\x16\xaf\x45\x36\xd7\x6e\xa1\xcb\x96\x45\x97\x2d\x9e\x6e\x5e\x3c\x07\x53\x8f\xbf\xc2\xc3\xd8\xb2\xce\x45\x47\x1d\x2f\x1b\x6a\x78\x2c\xb0\xd8\x3e\x06\x27\x88\x1e\x11\xa2\x65\xcf\x59\x25\xd5\xa5\xea\xab\x2f\xfe\xca\xc2\xb0\x9a\x4f\xcf\xd1\x31\x4f\x32\xf4\x40\x18\x1f\x9c\xdd\x5a\x79\x9a\x66\xd2\xfa\x9d\x63\x84\xb1\x72\x5d\xb0\xc6\x5e\x3e\x7e\xc8\x3c\x05\x6a\xb1\x96\xda\xc3\x33\x1a\x68\x49\xeb\xa3\x0a\xfa\x28\x10\xad\x93\x85\x2f\xe3\x99\x71\xd2\x84\x43\x9b\x4d\xb6\x7c\xd5\xea\x31\x25\x16\xf4\x0a\xc4\x56\x82\xf3\xfa\x50\x06\x9b\x3a\x5c\x7f\xf3\xcd\x5f\x17\x44\xc4\x09\xfd\x65\x19\x3d\x75\xfe\x3d\xb2\x4e\x7c\xe7\xf0\xef\x60\x0b\x11\x5f\xb9\xfc\x2b\x52\xe6\xec\xcb\x0f\xb1\x7b\x99\x1a\xbc\x85\x09\x93\x93\xc8\x10\xcc\x49\xa5\x90\xe9\xd6\xf5\x1b\xaf\xae\x9e\xc7\x38\x5c\x84\x23\xf2\xe3\x82\x29\x8e\xf0\xa1\x74\x09\x77\x79\x53\xdc\x82\x35\x4f\x9c\x95\xa6\x28\x7c\x29\x16\x84\xa5\x35\x34\x1a\x09\x80\x74\x6d\x33\xdf\x32\x80\xee\xf5\x53\xfc\x28\xdf\xc6\x49\x9f\x81\x84\x17\xed\x22\x0f\x6e\x67\xa9\x9a\x2c\x10\xd1\xc1\x10\x45\x7b\x16\x53\xd3\x8b\xaa\xf3\x05\xf7\x7b\x72\xcd\x42\x61\x4b\xdc\x75\xf3\x48\x1c\xcd\x6f\x92\xa5\xf1\xc8\xdb\x4d\x64\xac\x3c\xda\x86\x16\xe8\x31\x91\x52\xc9\x47\xa0\x11\x5a\xfe\xce\xd0\xf0\xf0\xd0\x81\x7d\xc6\xfe\xfe\x03\xfd\xfb\x06\xc7\x54\x14\xae\x2e\xb7\xbe\x6d\x78\x8a\x41\xd1\xd4\xc1\xa1\xe1\xbd\xa3\xfd\x03\xbf\x55\x06\x34\x81\xd6\x64\xae\x39\x4c\x41\x46\xe7\x43\x4a\x43\x49\x81\x49\xa1\x87\xe2\x1b\xb2\x31\xd5\x2d\x6c\x4b\x6a\x9c\xb5\xb5\x82\x4b\xc2\x47\xf2\x80\x47\x2a\x51\x43\x29\xe9\x42\x9f\xba\x08\xef\x0f\x07\x00\x71\x94\x4f\x17\x5d\xa3\x98\x79\xc8\xe3\x84\x64\x40\x33\xd5\x79\x91\x07\xfe\x28\x61\x39\xc9\x2b\x8f\xa2\x24\xc4\x4a\x64\xca\xe9\x30\x22\x90\x4c\xb0\xaa\xcb\xbb\x9d\x65\x96\x08\x4c\xd2\x60\x96\x22\xdc\xe8\x17\xce\xbb\x10\xa2\x31\xf3\x75\xbd\x37\x31\x31\xca\x3c\xcc\x4a\x5e\xa4\xa3\x0f\xb3\x56\x04\x10\x6c\x5b\xab\x20\x96\xb8\xa4\x90\xa7\x74\xaa\xe4\xb0\xa8\x8c\x24\xa1\x9c\x4c\x5a\xb5\x63\x96\x45\xe1\xfc\x41\xa3\x8b\xb6\xd3\xe0\xcd\x01\x57\xfb\x74\x71\xa0\xb6\xc0\x43\xcd\x20\x28\x6a\xc8\xdb\xbd\xf6\xea\xd2\x67\x41\x6a\x59\x9a\x3c\x0b\x2f\x3c\xa3\xbc\x61\x48\xd1\xef\x7c\x44\xd1\x08\xaf\x08\xdf\x55\x86\x66\xf6\xd0\xaf\x8e\x1d\x11\xb9\x06\x80\xa5\x48\x8b\x7a\xdc\x71\xb2\xa3\x71\x0c\x12\x2c\xd7\x73\x61\x14\xad\x29\xb3\x5e\xaa\xb9\x41\xa5\xde\x61\xc4\x64\xfb\xae\x0a\xb6\x57\x90\x22\x5b\xa3\xcc\x2b\x50\x67\x5f\xd1\x5b\x27\x93\xd9\x91\x07\x2f\x3c\x35\xfd\xb3\x0d\x3f\x46\xfb\x77\x34\x6a\xb6\xc4\x94\x12\x96\x4b\xa0\x65\xc7\xab\x2d\x70\xa6\x55\xaf\x86\xed\x08\xc2\xec\x6c\x7d\x85\xb9\x9b\x27\x57\x3b\xf2\x82\xc5\xf2\xf3\x75\xe5\xa3\xbc\x29\xc8\xed\x26\x8f\x5b\xe8\xe5\x7c\x48\xa9\xdb\xa5\x62\x05\x4f\xac\xd0\x9a\xf7\x87\x98\x8f\x40\x3e\xa1\xf6\xd9\x22\xae\xa9\xe4\x94\xc3\x36\x68\xd3\x8c\x1b\xd0\x25\x2e\x73\x18\xc1\x3b\xf3\x35\xf4\xf1\x9a\x70\xb2\x07\xe5\x2a\x02\x54\xcc\xb2\x00\x03\x62\x87\x50\x13\x23\x2f\xc9\x4e\x9e\xb5\x4c\x4c\xb2\x26\x84\xe4\x92\x7d\xd4\x32\xf6\x77\x1b\xfb\xdf\xe9\x36\xf6\x11\xd6\xd0\xbe\x77\x94\x03\x60\x73\x7a\x12\xb1\x09\x16\xd7\x8d\xfd\x70\x1c\xdf\xff\x0e\xfc\x67\x1f\xfe\xef\x1d\x83\x02\x89\xbe\xc2\x0b\xb8\xb3\x57\x18\x08\x0f\x43\xa6\xf0\x51\x7a\xd4\xc8\x14\xf1\x03\x13\xe0\x07\x66\xb1\xd8\xc3\x42\x41\x7b\x28\x43\x1d\xb3\xdc\xd8\x2f\x20\x81\xaa\xc4\x3e\xad\x77\x93\xbb\xc5\x88\x27\x0e\x50\xef\xba\x33\x06\xa1\x5e\x27\x1d\x47\x35\x5e\x4c\xee\xb0\x62\x1b\x1f\x00\x59\x2a\x18\x93\xe8\x73\x29\xcd\x55\x8c\x94\xcc\x9e\xd8\x47\x93\x1b\xad\x83\x2c\x1d\x1c\x1f\x1c\xa3\xbf\x46\xfb\xc7\xc7\xff\x7d\x64\x6c\x2f\x7a\x75\xd2\xba\x50\xbf\x98\xde\x21\x6a\xd7\xff\x2b\xa5\xcf\x19\x87\x77\x1d\x3e\x7c\x78\x57\xc5\x74\xdd\x63\x4e\xb5\x88\x9f\x0f\xef\x32\x76\x5b\x6e\xc1\xac\xb0\xfb\x0e\x58\x92\xf6\x14\x3b\xfc\x61\x24\x35\x7f\x50\x15\x33\xd1\x4e\x67\x1c\x0c\x86\x45\xd7\x2c\x9d\xe2\x48\x27\x4f\x2f\x82\xdd\xb4\xf9\xf5\x3d\x2c\xe3\x12\x3c\x0c\xfa\xee\x55\x16\x7e\xeb\x3d\x89\x16\xc7\x0a\x59\xa3\xdf\x8a\x23\x61\xd8\x71\xa6\x08\xbb\x48\x23\x7b\x76\xde\x1b\x39\x52\x8c\xd9\xcd\x9c\x37\x94\xad\xc5\x7f\x72\x85\x82\x20\x89\x6d\x97\x45\xa1\xbe\x42\x71\x6e\x02\xc6\x2e\xc0\x32\xe6\xd5\x93\x19\x11\x70\x69\xe9\x8f\x9f\x70\x38\xe9\x74\xe3\x21\xc8\xed\x1d\xd9\xdf\x3f\x14\x83\x1d\xf7\x41\x4f\xcf\x8c\xe3\xd6\x28\xd6\xec\xbd\x91\xf1\x09\x7c\x1f\x91\xeb\x11\x52\x6e\x0c\x3e\x4f\x0c\x8e\x8d\x1f\xe9\x1f\x3f\x82\x40\x39\xaa\x75\xa8\x43\x0c\xaf\x25\x25\xec\x4b\x5e\xd1\x68\x7c\x70\xe0\xe0\xd8\xd0\xc4\xfb\x47\xf6\x8d\x8d\x1c\x1c\x4d\xe1\x74\x86\x86\xd2\x09\x4a\x7c\xdf\x18\x19\xdb\xc7\xb4\x94\x0e\x49\xba\x4d\xe9\x10\x95\x06\x9d\x9a\x6d\x62\x72\x6a\x5c\x83\x70\x5e\xbc\xaa\xe3\xe9\xd5\x6b\x28\x99\x20\x61\x42\xa8\xcc\xa2\x98\x07\x13\x1b\xa4\xc8\x33\xb6\x9c\x68\x89\x88\xb5\x04\x4b\x87\x10\xce\x10\x7b\x31\x6d\x06\xf4\xda\x48\x26\x83\xb0\x5a\xf1\x0d\xd3\x9d\x2f\x17\x7a\xd0\x83\x0e\xed\x19\x13\x43\xfb\x07\x47\x0e\x4e\xc0\x34\x1e\xd9\x3f\x74\xe0\xe0\xc4\xe0\x38\x55\x9e\x00\x42\x60\xb2\x77\xd7\xaa\x75\xcb\xf8\x2f\x63\xca\x2c\xb9\xf8\x2f\x76\xb6\xa7\xe6\xec\xc1\x8b\xdf\x37\xe8\xb9\x82\x53\x02\xdd\x17\x78\x8e\xfd\x40\x10\x8b\xd0\xc2\xf0\xc8\x40\xff\xf0\x20\xfc\x36\x30\x3c\xd8\x3f\xf6\x46\xea\x48\x5f\x17\x32\x93\x99\xc9\xf0\x35\x61\x9f\xef\x99\x35\xcb\xf6\x14\x06\x3d\x7a\x0b\xe3\x83\x9e\x8a\xb1\x47\x90\xc0\x6e\x45\xf0\x41\x02\x36\xa5\x8b\x11\xef\x9d\xde\xf9\xd9\x92\x12\x65\x6d\x7b\xfa\xd2\x19\x96\x27\xd9\x86\x77\x23\x40\x12\x66\x10\x1a\xc2\xd0\x08\xc9\x1d\xcb\x8f\xfb\xaf\x9e\x9e\xa2\xed\xe2\x27\xcd\x61\xb4\xd9\xb6\x0e\xd9\x45\x67\xd6\x04\xe3\x04\x35\x26\x5b\x1e\x7a\x14\x45\x5f\xd3\xe9\x0c\x4f\xbe\xf0\x8a\x5e\x17\xe2\x61\x9d\x86\x93\xb7\x03\x01\xd4\x8a\x9a\xf5\xc8\xd8\xc1\xe1\xc1\x71\xc2\x6c\xd5\x23\xa3\xbd\xa6\xf5\x88\xd6\x01\x9a\x55\x6c\x10\xf0\x3d\xac\xef\xfe\x7d\xe3\x9a\x22\x94\x57\x67\x19\x06\x46\x77\xbd\x3d\x35\xe7\xa8\x55\x36\x86\xfb\xdf\x19\x1c\x36\x46\xc7\x46\x0e\x0d\xed\x1d\x1c\x33\x26\x46\x7e\x3b\xa8\x29\x69\xba\x8d\x65\x21\x8c\xa1\x01\x78\xc3\x7f\x67\x0c\x5a\x18\x8b\x1e\x0c\x28\x8f\x19\x56\x16\x3f\x45\x15\x9c\x8a\x55\xcc\xc6\xee\xce\x7a\xca\x32\xa4\xa3\xd6\x7c\x74\x3a\xc5\x17\xbf\x1d\x7c\x5f\x35\xb5\x6a\x28\xf3\xed\xa9\xd1\x93\x95\xec\xd7\x16\x96\x7d\x3b\x6b\x53\xb4\xc1\xa4\x8e\x30\xd9\x3b\xa8\x51\xb1\x2d\xe2\xf8\xfa\xe0\xb5\x73\xd8\xe0\x9d\x93\xde\xd7\x0d\xb0\xfd\x35\xc1\x6a\x0f\x57\xbd\xc8\x67\x85\x68\xc2\xb5\x67\x5f\x2b\x5a\x9a\x7b\xc6\xac\x5a\x45\x61\x49\xf9\x67\x13\x3a\xb0\x54\xb9\xb9\x01\x46\x06\xac\x0f\x66\x6c\xe8\x6e\x3d\xd9\xdb\xd5\x22\x97\xae\x28\xfc\xaa\x7b\x58\x6e\x0f\x3e\xfc\x27\xfb\xaa\xe7\xdf\x0e\x8e\x4c\xf4\xeb\x52\xa8\xd5\x94\x0e\x51\x14\xd2\x17\xd9\x4d\xf5\xa8\x50\xbc\xab\xdb\x6d\x8f\x80\xe5\x0e\x9b\x56\xb2\x35\x55\x31\x06\xc6\x06\xf7\x0e\x1e\x98\x18\xea\x1f\xa6\xb3\x57\xc9\x18\x7f\x7f\x7c\x78\x64\xdf\x91\xbd\x63\x30\x2d\x47\xd0\x81\x0a\xdf\x56\xd9\x7c\x88\x2a\x7d\xf4\x35\x17\xd1\x51\xd3\xe5\x25\x88\x61\xcb\xc2\x2d\x86\xa0\xb2\x61\x82\x19\x9c\xa0\xbf\xeb\x90\x3f\xcc\x95\x41\x38\xfc\x28\x47\x63\xd6\x29\x72\x64\xec\xf6\x46\x02\x03\xc1\x2a\x04\x40\x45\xb7\x4f\x46\xb7\xdf\x79\x37\xeb\xfd\xf0\xae\x00\xd5\x31\x54\x12\x7e\x10\x2d\x36\x20\x94\xd1\x20\x85\x5e\x44\x82\x33\x3b\xa4\x19\x75\x2f\xa8\x86\xb7\x7c\x45\xfb\x16\x29\x5f\xf8\xee\x6d\xff\xbb\xb7\x25\xdb\x61\x9c\xcc\x81\x79\x42\x69\x92\xf7\x67\xd9\x74\x40\xf2\x3b\x24\x4c\xd6\x45\xfa\xd2\xba\x43\x22\x17\x53\x01\x72\x71\x6d\xeb\xd1\xa7\xad\x9b\x4f\x5b\x4b\xc7\x9b\x37\xbf\x8d\xee\x06\x98\xfe\x0a\x3b\xcc\xe3\x5b\x3c\x72\x92\x01\x18\x2e\xdd\xf6\xe2\x04\x85\xa6\x5d\x95\x2b\xa1\xec\x98\x38\x26\x13\x8f\x97\x87\x4c\xff\x8b\x8b\x53\x6f\x20\x81\xa0\x8d\xc6\x85\x60\x50\xf0\x7d\x51\xf0\x3c\x9f\x11\x65\x17\x56\x4e\xf4\x19\xdc\xee\x59\xf9\x4e\x1f\x9f\x26\x94\x08\xf0\x67\x36\x80\x50\x2a\x5e\x9e\x52\x9c\xac\x37\x11\x48\x8a\x3c\x16\x1f\xf4\xd8\x73\x28\x7f\xff\x61\x80\xe5\xf7\xde\xc8\x5e\xfc\xfc\x9e\xf1\xde\x60\x3f\x9c\xe4\xf0\x73\xd1\xd8\xdb\x0f\xda\x1f\x37\x2c\xd8\xaf\x2a\xf5\x9a\x81\xad\x0b\xd1\x7c\x67\x5e\xc4\xa9\xf8\xb0\xe4\xd8\x76\x17\x8b\xbd\x87\x9d\x79\xca\xa9\xce\xc2\x9a\xdd\x37\x38\x21\xec\x72\x6e\xe1\x83\xda\x44\x02\x7a\x8d\xa1\x29\x42\x03\xa6\xf6\x10\x7b\x46\x54\x57\x98\xb3\x4d\xa3\xa7\x88\x05\x50\x46\xd1\x59\x28\x0a\xbd\xf2\x36\xe9\x0e\xc7\xad\xc1\x4e\xdf\x2d\x40\x6c\x28\xb6\x1f\x14\x5c\xcf\xc4\x7c\x85\x95\x54\x10\xef\xb8\x56\x8d\x5f\xfe\x8b\x28\xbf\x3d\x88\x2a\xdf\x4b\x90\x39\xb3\xe6\xbc\xe1\xcc\x59\xd5\x2a\x1e\x4c\x66\xa0\x41\xd4\x8a\x74\xfb\x01\x8c\xe0\x4d\x53\x6b\x22\x31\x18\x44\x7a\xc6\x29\xf2\x47\xfe\xa3\x97\xb3\xe2\x5d\x38\x4c\x60\x0a\x70\xd1\x29\xd4\xf1\x1a\x95\xba\x81\x35\xc0\xe2\xc0\xe7\x6c\xd7\xae\x11\xf0\x23\xc3\x7d\x84\xa7\xdc\xde\x02\x02\x8d\x4e\x31\x9c\x51\xcc\x00\x52\x5d\x13\xe7\x3d\x6b\x91\xf8\x9d\xfb\xbc\xda\x71\x70\x0a\xf1\x52\x9c\xcb\xe7\x1a\xeb\x96\x97\x71\xc1\xc9\xf4\x42\x82\x02\xc6\xa9\x0f\xc9\x7c\xc6\x38\x5c\x06\x32\x42\xf7\x37\xa2\xbd\x8b\xf2\xe2\xe0\x97\x60\x0b\x8b\x2f\x7f\xba\x43\x89\x07\xa7\x31\xb9\x9b\x26\x1d\x17\x13\xef\x85\x17\x1e\x90\xe7\x18\x7f\x3e\x5c\x8e\x4c\x2b\x81\x78\x05\xca\xe6\x73\xf2\x7a\xde\x0b\xd3\x43\xc9\xcf\x4b\x18\x25\x4d\x6a\x87\x0c\x4e\x11\x6a\xcd\x0f\x21\xa7\xb8\xd9\x2b\xea\xd6\x20\x07\x81\xef\xa1\x86\x58\xe2\x37\x6a\x31\x2c\x0e\xb3\xc4\x94\x6c\x52\x73\xa1\x72\x07\x94\x3c\x0e\x5a\x11\x53\x40\x56\x09\xca\xfa\x13\xe2\x0f\x4e\x4b\x8a\xd4\x50\x6c\x45\x00\xd1\x43\x0f\x49\x5a\x4c\x36\xc7\xcc\x90\xbc\xb1\x53\x46\x4f\x35\xcd\x74\x54\xbd\xa5\xd1\x55\xac\xfb\x14\xde\xd7\xeb\x52\xfd\xb6\x4e\xd7\x61\x2b\x5c\xb7\xd3\x98\xf7\x74\xba\xe3\x3e\xd3\x0c\x1d\x05\xde\xd0\xeb\xa2\x32\x63\x96\x2d\x7e\xd7\xe9\x66\xea\x2a\xe6\x4d\x9d\x2e\x59\xee\x20\x1d\x0b\x32\x74\x17\x79\x4b\xa7\xab\x64\x6f\xaf\x7e\xe7\x1a\xed\xe8\x91\xa3\xb4\xf3\xf4\x29\x49\x6a\x22\x03\x11\x09\x1e\xd8\xcc\xd4\xa4\xb5\x95\x85\xac\x78\x17\x6b\x76\x92\x12\xda\xc9\x42\x8e\x86\xe7\x2b\x2b\x65\x7a\x4d\x6a\x11\x19\xef\x1b\xd0\x26\x48\xf9\xba\x56\xe7\x81\x63\xbf\x76\x9f\xe1\xb7\xb4\xbb\xe2\x1a\x40\x72\x2a\xf4\x88\xad\x23\x4b\xdf\x89\xcd\xe8\x10\x13\x74\x34\xe8\xf7\x1e\xf3\x5e\x72\x77\xec\xde\xaf\x67\x0a\xcc\xf8\x7a\x15\xfe\x2d\x99\xd3\xc6\xbb\x83\xfd\x13\x07\xc7\xb4\x42\xc6\xd2\xdf\xd7\xea\x1e\xa3\xcd\x34\x43\xbe\x62\x5f\x49\xed\xa4\xdd\x90\xb8\xe4\x77\x13\xbb\x65\x2e\x95\xb6\x39\x9b\xfa\xba\x4e\xe7\x19\xf8\x1a\xf7\x46\x4a\x17\x73\xfa\x6d\xcf\xe9\x36\x3a\x07\x86\xb3\xab\xdd\x6e\xe8\xe9\xc4\xa6\xdb\x9d\x88\x36\x67\x40\x7e\x2d\x2d\xc2\x25\xf8\x6c\x72\xb3\x76\xc9\x72\x25\x93\x96\x02\x52\xf0\xac\x65\x08\x2d\x8f\x27\xa8\x1a\xfd\x3f\xa5\xed\xa2\xe9\x3e\xe1\xb0\x64\x33\x06\xcc\x8b\x87\xdb\x1a\x6f\x08\xc1\xc5\xe9\x74\xe2\xa5\x6f\x38\x0c\xb8\x77\xaf\x6d\x4d\x3b\x94\x88\x6b\x95\xe1\xf8\x8a\x21\x78\xde\xd1\x0b\x64\x44\x05\xe0\xdd\x11\x99\xac\x4f\x3a\x8b\x10\xba\x93\x07\x4c\xbf\x78\x3f\x70\xc2\xf2\x3c\x16\x32\x6c\x5b\xf0\xe2\x42\x4a\x4d\xe3\x35\x62\x5a\x77\xaf\xb7\x6e\xfc\x14\x4a\xcb\x0d\x0c\x29\x26\x8b\x36\x79\x2e\xa6\xad\x5a\x0f\x43\xbd\xea\x61\xa8\x57\x9a\x62\xab\x7e\x2f\xb1\x3b\xac\xc6\x63\x7c\x30\x30\xb2\x7f\x7f\xff\x81\xbd\x69\xfb\x41\xe8\xe1\xc4\x86\x39\xb0\x2d\x8f\x37\xe6\x21\x3a\x3d\x38\x65\x7b\x26\x46\xf6\xf0\x12\x1d\xff\x45\xf7\xcd\xff\x65\xa0\x17\xd0\x8b\x45\x66\xbf\xd1\xe7\x37\x68\xb7\x11\xbe\xdc\xaa\x33\x5b\xe1\x79\x41\x74\x49\x5a\x9d\x65\x77\xa4\xf5\x72\x09\x31\x18\xbb\x7a\xa6\xba\x64\x47\x4a\x9a\x57\x21\x7f\x0a\x89\x82\xa0\x77\x0b\xe1\x25\x31\x69\x9c\x4a\xad\xf2\x02\x5a\xf0\x00\x1c\x99\x1b\x8b\x02\xbf\xf9\x21\x49\xe4\x65\x5e\xe3\x09\x71\x74\x35\xca\xab\x8a\x51\xe0\x1a\x94\x83\xba\xd3\xd4\x42\xf4\xf9\xe4\xe6\x29\xbf\x7c\x37\xd6\xd1\x34\x44\x6e\x11\x2d\x79\x11\xdf\xca\xd3\xeb\xed\xb2\x11\x70\x98\x1b\x3d\x3d\x9e\x3f\x8f\xb9\xc4\x68\xf6\x68\xf2\x26\x9d\xda\x4c\x5a\x64\x2d\xef\x37\x08\x7d\x20\xa7\xc7\x5f\x95\xa3\x88\x7d\xd2\x30\x8f\xd0\x23\x0d\x33\x4b\x78\xf9\xc6\xb0\x6b\x40\xa6\x8f\xae\xf8\x30\x0c\xf9\xe5\xe3\x5b\xad\x4b\x04\xd9\x75\xfc\xcb\xe6\xe9\x6b\xb8\x74\x5f\x2c\x61\x57\xa1\x59\x6a\x5c\xa0\x59\xe2\xeb\x39\x25\x1e\x97\x67\xe8\xc3\x26\xe8\x18\xbb\xc3\x2c\xe1\x41\x01\xbc\xd2\xb1\x33\x89\xae\x7d\xf8\xdb\x29\x5b\x14\x3b\x17\xe5\xb2\x1e\xdf\x78\x6f\x51\x8e\xc5\x24\xd1\x87\xc2\x90\x11\x23\xfc\x12\xd5\x08\x20\x54\x52\x94\x7e\x64\xb0\xc4\xab\xd0\xdd\xac\xde\xf0\xeb\xd1\x30\x69\x72\x9e\x6f\x4b\xe4\x7a\x1b\x7d\xbe\x46\x01\xec\x29\xd4\x6f\x47\x1c\x7b\xb6\x2e\x77\x34\x9c\x3d\x91\xb4\x8a\xf9\xcf\xff\x7c\xcc\x19\xdb\x6b\xec\x76\xf9\x7d\x59\xbc\x8e\xc2\x5a\x9c\xd5\x69\x72\x4f\xbb\x1d\xf1\xc2\xef\x50\xa9\x71\x60\xcc\x94\xe2\x13\xf2\xfc\xb6\x35\xec\x0f\x7a\x4c\xf4\x90\x8a\xbb\xb2\xba\x77\x0a\xfb\x1d\x5d\xb0\x89\xbb\xe2\xdf\xc9\xb7\xd7\x2e\x3b\x4c\xfc\x4e\x23\x0d\x25\xa7\x4e\xd2\x06\xe2\xd4\x55\x79\xe0\xa1\x87\xd2\x1a\xd2\xb6\xe1\x83\xcf\x26\x36\xcb\xd1\xa4\x3c\x1f\x87\xc8\xfe\x76\x8d\xb9\xb7\xc4\xa5\x24\x7e\xf4\xfc\x42\xf8\x19\x63\x16\xe7\xde\xf6\x7f\x7e\x9b\xbe\xd2\xe0\x78\xde\xbd\x25\x0e\xcd\xf1\x9d\x5b\x29\x64\xc9\x4f\x26\x37\xa9\x15\x38\xab\x15\x31\x0b\x0f\x91\x67\xc1\xd5\x6b\x50\x7a\x36\xb1\x59\x5a\x8a\x2a\x98\xe4\xd0\x43\xc9\x0d\xb1\xd2\x87\x69\x2d\xf1\xa7\x92\x9b\xaa\x57\xa7\xa3\x73\x1e\x71\xa5\xa5\x75\xa5\xd9\x4a\x06\x52\x44\xb9\x27\x2f\x1a\x97\x16\x3c\x97\xbd\xb4\xd3\x40\xa6\xa6\x12\x89\x92\x3c\xe4\x29\x7d\xca\x4f\xa6\x37\x99\x36\x79\xfc\xa1\xc4\x86\x58\xa5\xd9\xf8\xb4\xc9\x94\xe6\x13\x5f\x4d\xe9\x94\xb6\x16\xef\xa8\x7b\x60\xf0\xdf\x8f\x68\xaa\xbe\xc4\x57\x35\x3a\x8d\xbb\x66\xf2\x5b\xd2\x42\x22\xea\xa0\x41\x1d\x02\xc5\x4d\x11\xbe\x9e\xae\x3a\x14\x2f\xe9\x74\xa4\xbc\xb1\xc0\x46\x32\x2e\xde\xb6\x9a\xcc\x40\xa4\xe2\xd6\x40\x6e\x96\x7d\x95\x89\x4e\xfd\x56\xb5\x48\x95\x3c\xe8\xd4\x84\x46\x92\x5d\xe2\xab\x29\x9d\x56\x9c\x1e\x51\xbf\xf6\x03\xf9\xfc\x9e\xa6\xd8\x92\xde\x4c\xe9\x12\x53\xd8\x2c\x5d\x2b\x25\xf2\x78\x7a\xe3\xd5\x5a\xa6\xc6\xe5\xc7\x75\x1a\xa7\x3c\x25\x6f\x67\xf1\x74\xc8\xd0\x81\xbd\x83\xff\xa1\xd7\x5f\x62\x0b\xc9\x24\xf0\xe4\x4e\xab\x3c\x67\x57\x9d\x32\xda\xea\x3d\x73\x66\xd5\x26\x0f\x32\xdd\x5e\xa6\x51\x90\xde\x40\x22\x01\x2e\xe5\x92\x49\x17\xfb\xbe\x5f\x91\xe2\xd7\x8e\x1a\x7b\x87\xc6\x7f\x8b\x9f\x66\x8d\xfd\x83\xfb\x47\xc6\xde\xff\x9d\xce\x25\x4a\xdb\xcd\x26\x13\xdb\x41\xb2\x65\x07\xf9\x95\x2a\xfd\x95\xda\xa3\xe2\x35\x9d\xce\xa4\x3b\xda\xb4\x0d\x3d\xee\x0d\xad\x2e\xd2\x6e\x36\x35\xfb\x4d\x6d\x46\x97\x18\xb7\x4d\x0e\x2b\xde\x4d\xe9\xb6\xd6\x23\x5f\xa6\x18\x83\x07\x0e\x1d\x39\xd4\x3f\x16\xfc\xe3\x50\xff\xf0\xc1\x74\x22\xf4\x5b\x4a\x25\x29\xd6\x99\xcd\x4b\x31\xfc\x17\x2b\xc0\xa0\x41\x8e\x4e\x2b\xa9\xa4\xe0\xf1\x83\xe0\xc8\xbd\x4b\x50\x34\x25\xc6\x46\x58\xfc\xbe\x06\x15\x29\x0d\xa4\x12\xc0\xcc\x5e\x7c\x87\x4c\x5f\xcd\x5e\xe3\xde\x4a\xed\x2a\x5d\x8b\xea\x67\x92\x68\xd0\x98\x6b\x77\xa9\x83\x8b\xde\xa3\xd3\x4f\xe1\x2b\x75\x0d\xba\x75\x5b\xd2\x24\x29\x2a\x1c\xcc\xd6\xc9\x20\x63\x9a\x0d\xa5\x13\xc4\xb3\xf0\x77\x48\x00\x72\xed\x2e\x79\x70\x18\x34\xd2\x53\xa9\xda\x73\xed\xe4\x1b\xa7\xbd\x9d\xdc\xb5\x6f\xbe\xa6\x75\x23\x3d\x99\xde\xa4\x2c\x80\x47\x48\xea\x74\x4c\xc3\xc4\x57\x75\x3b\x4d\xdd\x8a\xe5\x47\x35\x1a\x75\xdd\x99\x1e\x8a\x8a\xb0\x8a\xfa\x91\x14\x89\xaf\x6a\x74\xea\xf9\x94\xf4\xe7\x26\xf2\x4e\x7a\x37\x5a\xac\x4a\x63\x92\x14\x42\x41\x36\xa4\x6c\x67\xf7\x50\x75\x21\x86\xdc\xc2\xab\x92\xe2\x1f\xc3\xc6\x07\x88\xab\x71\x84\xa3\xfa\xf7\xfd\x0e\x77\xbd\x3e\x44\x7c\xa1\xff\xe0\x5f\x14\x29\x8d\xc5\xb5\x08\x08\xa6\x87\xd2\x33\x89\x3e\xff\x07\xf4\x62\x80\xc4\x5b\x1f\x81\xd5\xe8\xfd\xc2\x43\xc2\x7b\x2a\xae\x55\x2f\x3a\x3d\xb5\xda\x3c\x7d\x3d\xe5\x54\x81\x9a\xd0\x97\x22\xb8\x46\xfa\x3a\x8d\x21\xff\x58\x83\x4d\x9b\xd8\x9e\x04\x28\xec\xc8\x63\xa9\x8d\xb1\x98\x9b\xa2\xee\x39\x31\xf6\x95\xe4\x4e\x6a\xe8\xcb\x01\xcb\x52\xcf\x0b\x14\x79\x3c\xbd\xf1\xd4\x05\x53\x4b\x07\x6e\x49\xdf\x57\xd2\x3b\x49\x6b\x20\x8d\x00\xfd\xd3\x7a\x96\xb3\xba\x5b\x73\xb4\xb1\xcc\x82\xcf\x26\x36\xcb\x8a\x36\xc6\x5d\xf2\xa4\xf4\x91\xf0\x62\x62\x87\xf5\x72\x0e\x50\x55\xa9\xc7\xef\xbc\x7a\xd1\x1a\x4a\x0e\x40\x57\x99\x9a\xd2\x21\x2a\x1f\xb0\xab\x8c\x8d\xe9\x11\x96\x82\x49\xa5\x4b\x52\x5a\x33\x5a\xc4\xe4\x00\x62\x95\xa9\xa9\x14\xa2\x42\xc1\x49\x2c\xe2\x48\xe7\x70\x92\xf8\x6a\x4a\xa7\x89\xe7\xf7\xd4\x7e\x93\xdf\xd6\xe8\xba\xa3\x63\xb6\x56\x13\x1a\x44\x44\x8c\x63\xed\x23\x77\xfa\xfb\xda\xdd\x77\x78\x1c\xcc\xd4\x54\x1a\x51\x1d\x9d\x9a\xd2\xdf\x4f\xee\xbe\x52\x54\xc1\x4e\x7d\xc0\xf3\x3e\x59\x00\xa8\xc0\x9f\xfa\x5d\x2c\x00\x15\x87\x0a\x3b\x0a\x5f\xd5\xcb\xf8\x21\x75\xd3\xd8\xb6\x7e\x75\x86\xbb\x1d\x20\x52\x1d\x35\xad\x47\x74\x42\x26\x38\x5e\xd9\x60\xcc\x82\x12\x5c\x52\x1b\x45\x2a\xef\xde\x32\x0c\xad\x43\x18\xa9\x8c\x8d\x65\x21\x2c\x03\xb8\x53\x36\x22\xb3\x34\xac\x43\xf0\x3f\x00\x5e\x45\xb6\x91\xbc\x1e\x78\x15\x99\x69\xde\x29\xbc\x8a\xcc\x84\x65\xc0\xab\xd8\x79\x91\xdb\x49\xbc\x8a\x1d\x91\xc7\x9f\x03\xae\x62\x07\x64\x35\x67\xb8\x8a\xce\x84\x58\xa5\x36\x27\xc6\xd0\x4a\x1b\x1c\x1b\x1b\x19\x43\xc1\xec\x9f\xc0\xa2\x64\x20\x8d\x04\x68\x80\x68\xf9\xa3\xb0\xce\x3e\xfe\x18\x48\x81\xcf\x83\xd5\xaa\xb2\x28\x48\x7b\x6d\xc5\x93\xc5\x32\x3f\x54\x1d\xf1\x5f\xe3\x5f\x35\xcb\x54\x16\x80\x18\x84\x90\x55\x86\x1f\xfa\xe8\x4c\x81\x00\xda\x45\x4f\x9b\x61\x9d\x4c\x95\x0b\x08\xd6\x03\x62\x05\x84\x6a\xd8\x88\x02\x93\x54\x12\x22\xae\xfa\x11\x0f\xe0\xff\x8c\xaa\x98\x08\x3c\x33\x8e\x46\x90\x80\xb9\x0f\x44\xbf\x86\x04\xab\x32\x88\xb2\x50\x6b\xec\xde\xcb\xf0\x4b\xfa\xbc\x74\x44\x4b\x19\x57\xbf\x1d\x63\xc0\x90\xfb\x00\x1a\x47\x9f\xf1\xf2\xf1\x59\x56\xf9\x4f\x15\x1b\x6d\x96\x51\x84\x38\x02\x43\xb8\x5c\x53\xb7\xf7\x0d\xdd\x81\x63\xfc\xf7\x24\x2b\xe8\xe1\xb2\x3a\x10\x53\x76\x95\x55\x83\x60\x0d\xa8\x62\x44\x75\xaa\x69\x35\x4f\x9d\x7e\x75\xf5\x6e\x48\x86\x36\x16\x16\x9b\xc7\x59\xd9\xb2\x50\x0b\x54\xf4\x16\x94\x64\x98\x81\x71\x85\xad\xfc\xc6\x2f\x67\xaf\x11\xc1\x18\x44\x69\x79\xb3\x66\xf5\xa8\x55\x83\xb9\x2e\x78\xac\x62\x39\x01\x88\xc7\x6c\x72\xa7\x1d\x98\x44\xc9\x75\xff\x98\x9e\xff\x8e\x90\x3d\x68\x68\x3c\x35\xe9\x46\xb0\xd6\xdf\x99\x00\xa9\x4b\x7f\xa5\xef\xbf\xe5\x6f\xa1\x18\x7c\x4d\xd5\x74\x19\x37\x02\x5b\x83\x94\x53\xa7\xb7\x20\xbd\x01\x52\x35\x5d\xbb\x8c\x98\x38\x2c\x0d\x0c\xd3\x1f\x22\xc5\x65\x76\x64\xc4\x31\x35\x6d\xa4\xaa\xb7\x7c\xff\x6c\x73\xac\xaf\xa1\xfe\x49\xa5\x59\x24\x63\x60\xa2\x97\x81\xe7\x5e\x5a\x8d\xec\x08\x6c\x38\x84\x8a\xea\xaa\x4b\xc3\x3c\xe4\x99\x9a\x28\x2b\x21\x0c\xca\x15\xca\xce\x7c\x94\xf8\x8c\xc8\xe2\xf2\x77\x6d\x19\xcc\x71\x3d\xb2\x68\x55\xf9\x75\x31\x43\xc1\xdd\x91\x5d\x95\xf8\x85\xef\xf6\xb2\xb3\x3e\x7c\x93\x50\x1c\xc8\x7f\x8b\xd7\xb9\xf3\xdf\x32\xb6\x8d\x62\xcf\x79\x31\x69\xd7\x98\x3e\x44\xfe\xef\x61\xd3\xa0\x5f\x99\x87\xc4\xe5\x33\xb1\x1e\x56\x3c\xde\xef\x09\xcf\x45\xbe\xe4\xe3\x85\x1d\x1c\x23\x60\xc9\xce\x88\xaa\x3d\x9e\x6b\x1e\xc6\xb2\x87\x72\x9d\x6a\x33\xaa\x71\xd0\xeb\xc8\x6c\xf1\x12\xe1\xac\x53\x36\xee\xe3\x85\xcd\xbf\x5f\x80\x95\x9d\x27\xb5\xd0\x79\xd1\x99\xed\x89\x21\x1a\xbf\xea\xce\x44\xba\xdc\x16\x25\x17\xc1\x87\x3d\xdb\x35\x8c\x19\xb3\x3c\x4d\x78\xc0\x73\xb6\x75\x8c\x92\xb4\xbd\xe0\xcd\x82\x53\x2f\x03\xe9\x60\x1e\x1c\xe5\x61\x09\x25\x7b\xd6\xae\x31\xd8\xb1\x59\x6b\xd6\xa9\xce\xb3\x6f\x48\xf3\x26\x56\xa8\xdc\x3c\xf5\x23\x83\xd3\x0a\x94\xa1\xf4\xd0\x9e\xa2\x1a\x08\xd7\xf5\xaa\xa8\x19\x8f\x10\x59\x7c\x8f\xc4\x67\xd8\xaa\x97\xea\xea\x9f\xfc\x01\x33\x6c\x11\xa7\x8a\xa7\x65\xd3\x29\xe5\x36\xab\x46\xcf\x7f\x85\x6d\xf5\xee\xa9\x16\x56\x54\xe6\x90\xaf\x5b\xb7\x56\x36\xef\x3e\x49\x4b\xca\x66\xec\x91\xf5\x2c\x1b\x6c\xc4\xfa\x68\xdb\x98\x88\x16\x64\xf4\x74\xb3\x4f\xb3\x0e\x91\x84\xd2\x21\x12\xd1\x94\xab\x5b\xaa\x1e\x1e\x9b\xfb\xa9\xdd\x21\x1e\xe8\x45\x6f\xea\xc2\x68\x89\x3d\x68\xd4\x41\x1b\xc0\xb8\x3d\xec\x8a\x8a\x41\xe2\x1d\x9e\xba\x2f\x5e\x72\xb5\x71\x81\xa7\x59\xeb\x76\x81\xb0\x62\xc6\xbb\x0c\x57\x8c\xf0\xc8\xe6\xac\x2a\x6d\xb8\x58\xc8\x6d\x74\xe8\x10\xd5\x06\xc4\x18\x00\xbb\x0a\x7b\xef\xc0\x70\xe0\x01\xf8\x73\xbf\x5d\x06\xe5\x6f\x10\xa6\x9e\x59\xb5\x10\x44\x0e\x8b\x0a\x96\xe6\x11\xf6\x20\xf8\x28\xb5\xd5\x8b\xd0\x09\xf5\xca\x74\xd5\x2c\x5a\xac\x1c\x3f\xfc\x12\x04\xcc\xeb\x23\xc4\x3c\xb7\x6f\xcf\x9e\x69\xd0\x21\xf5\x49\x4c\x3f\xdc\x23\xe3\x9f\xc1\x1f\xf6\xff\x2e\x3a\xc7\x40\x97\x9b\x45\xe5\x75\x79\x64\x64\x1c\x92\x4d\xec\xe9\x81\x11\xb2\x8c\x4d\x1a\x5f\xcc\x63\x62\x9c\x74\x6e\x7e\x71\x7c\xeb\xde\x22\x2b\x12\x0f\x9a\x65\xf3\xdc\x73\xaa\xd1\xb6\x16\x7a\x0d\x5b\x93\x86\x6d\x78\x2f\x50\x17\xbc\x24\xed\x12\x6d\xde\xdf\xa0\x85\xc8\xf3\x46\x7d\x2c\x85\xd6\xd7\xb7\x52\x21\xde\xb2\x72\x2a\x5e\x04\xc8\x4d\x08\xc7\x02\xd4\x66\x60\x21\x8a\x22\xca\xa8\x79\x5d\x52\x8a\x12\xd4\x1e\xe1\x26\xe2\x13\x56\x19\x26\x58\xb9\xee\x55\xf5\x91\xcf\x88\x77\xe3\x41\xa6\xd1\x07\xf1\x05\xb1\xe2\x24\xa9\x86\x88\x47\x49\xd8\x90\x09\x23\x01\xf5\xfc\x9e\x55\x52\x57\x0b\x7e\x44\x16\x3a\x81\x60\xa0\x0e\xb8\x42\x1b\xfe\xe5\xe4\x06\xd1\xae\xd5\x68\xb0\x79\xfe\x6c\x72\x3b\x1f\xa2\x44\xb0\xcf\x1f\x7f\xfc\x21\x26\x75\x13\x64\x3d\xbb\xaa\x9c\xb4\x70\xa9\xf3\xfb\x4b\x4c\xf9\x06\xb3\xc5\x28\x9b\xe4\x89\x1d\x78\x57\x44\xfb\xec\x31\x4b\xb6\xe9\xc2\x82\x1b\x63\xa9\x4e\xd8\x40\xa8\x59\xfe\x64\x5a\xf3\x58\x02\xb3\x08\x5a\x53\xf2\xfd\xd6\x5c\xf1\x00\x9b\x6c\x32\x5c\x5d\x4b\xa9\xdf\x3c\x85\x8e\x07\x9d\xa7\xe4\x36\xba\x4c\x9b\xd0\x09\xbf\xfa\x25\x77\x2d\x91\x5a\x17\xe9\xf8\xa2\x7e\xa5\xcf\xba\xf0\x18\x08\xbd\xfc\x2c\x3d\xcd\x4a\xb6\x5e\x42\x1e\xc8\x6f\xec\x69\x9e\xfc\x12\x1d\x88\x62\x5d\xb5\x4d\x4c\xe0\x14\xe0\xbf\xbb\xc2\x53\xb6\x11\x12\x60\x7d\x6b\xe9\x19\xad\x4a\x26\xb4\x37\x10\xbe\x42\x00\x9e\xb0\x14\xf8\xd8\x01\x46\x06\x25\x0b\x1f\xa6\x8e\x9f\x6d\x9e\x3a\x1b\xdc\x12\xfc\xb5\xad\xb6\x5a\x14\xc2\x84\xe2\x12\x10\x12\x02\x0d\x60\x93\xdf\x85\x6e\x2e\xfa\xc8\x8e\x68\x5d\x5c\x63\x83\x95\x53\x2a\x1a\x35\x50\x90\xde\xcd\x39\x6d\x6d\x8a\xb7\x04\x30\x6a\x59\x88\x09\xfc\x81\x98\x23\xec\x71\x59\xa2\xec\xf2\x9c\x73\x34\x49\x3a\x81\x80\xf7\x9c\x63\xd6\x1c\x7a\x5d\x61\x1b\x30\xdc\x19\x22\x85\xb9\x29\xa6\xea\x58\x36\x02\x34\x18\xec\x1f\x35\x81\xf3\x6a\xcf\x82\x19\x46\x9a\x29\x40\x2b\xfe\x44\xe5\x36\xf1\x8f\x28\xc5\x8c\x36\xb5\x04\xa7\x88\x60\x60\x56\x63\x9a\x8f\x4a\x72\x58\x2e\x53\x64\xe0\xcf\x4f\xc1\x64\x23\x40\x8d\xab\xbe\x60\xa1\xc5\x97\xd6\xb3\xb0\x27\x1f\xc5\x08\x6f\xe3\xc2\xd6\x57\x20\x4c\x2f\x48\xa4\x96\x37\x1a\xa7\x48\x4e\x3f\x8b\xca\x29\x6d\x44\x51\xd9\x4f\x2a\x00\x40\x06\xe4\x4d\x94\x57\x21\xfb\x20\xc4\x8c\xe8\xd6\xe5\xdb\xcd\x87\x57\x50\xf0\x63\xc8\x8d\xe9\x58\x41\x3d\xd5\x2f\x17\x10\x13\x6b\xcd\x67\xdf\xbe\xba\xf1\x02\x59\x75\x76\xb1\x79\xf2\xc4\xe6\xf9\x13\x5b\xf7\xef\x88\xe5\x72\x1a\x56\x8c\xd8\x90\x81\xd0\x86\xf0\x12\x25\x20\xc7\xf0\xd5\x03\x32\x5a\xad\x97\xb1\x7e\x08\x08\x30\x01\x51\xf1\x4a\x21\x45\x6b\xca\x2e\x83\x7e\x04\x0b\x1f\xe5\xd7\xc4\x7d\xae\xa0\x54\x81\x02\x45\x89\x38\x26\x4f\xad\x5f\xb3\xe1\x22\x1f\xf7\xe2\xfa\xcb\x67\x17\x9b\x4f\xee\x21\x3f\x1b\x0d\x38\x11\x6c\x3e\xff\x2a\xc4\x5b\x25\xc9\x15\xac\x5b\x82\x64\xc3\x32\x61\x07\x15\x77\xc6\x7c\xcb\x20\xe7\x3e\xae\x08\x59\xcf\xdb\x65\x13\xd6\x33\x5e\x3f\x29\xcd\xd2\xe0\x54\xf8\xce\xb8\xd3\xec\xd4\x10\xa9\x2a\xb1\xc6\xba\x6b\x2e\xdc\x45\xd1\x5a\x39\xb9\xb9\xc6\x81\x3d\xf4\xce\x11\x44\x3f\x95\x7b\xc1\x56\xd0\x98\xf5\xb7\x21\x9e\x69\xd8\xcd\x34\x09\x5a\x17\x35\xf3\x28\xde\xee\x1d\x9b\xc1\x0b\xb4\x04\xe3\x3a\x22\x38\xad\xc7\x27\x51\xe6\x23\xda\x9d\x75\x1b\xa2\xdc\x33\x8d\x49\x8c\x2f\xa3\xe7\x0e\x96\xc9\xe2\xb9\xd6\xd5\x06\x55\xde\x3f\x83\x0b\x07\xd7\x8e\xbc\x10\x7c\xf9\x32\xd4\x16\xb5\x53\x2e\x5b\x05\xba\x58\x2a\xd6\x67\x2b\x54\x6d\xdf\x2a\x50\x85\x5d\xc4\x65\xa0\x03\x54\xbe\xe5\xa8\x95\x11\x31\xad\x3f\x7d\xb9\xf9\x83\x0c\x87\x8c\x0b\x0b\xc6\xab\x28\x54\x9d\x7b\x1d\xea\xb5\xd6\xf5\x85\xad\x17\x7f\xa6\x55\xc0\xb0\x78\x2e\x10\xe8\xf2\x23\x09\x18\xc6\x3f\xa0\x28\xa3\x71\x7c\x86\xd6\x4c\x9b\x74\xfe\x7f\x3f\x4e\x7a\x0c\xdc\x7a\xf1\xac\xf9\xcd\xf3\x2c\xdc\xab\xcc\xd3\xd2\x83\xa3\x16\xf0\x60\xaa\xea\xcc\x0a\xae\x8d\xd3\x57\xd0\x0d\x2b\xf6\xcd\x23\x59\xf9\x8f\x13\xf4\x17\xfb\x71\x67\xab\xa5\x3f\xf3\xb0\x75\x02\xec\x90\xa9\x65\x9b\x5a\xfb\x5c\x0e\xba\xb9\xd1\x33\x21\x75\x24\x8f\x9c\x4e\x60\x20\xae\x9f\xd3\x1d\x86\xe6\x91\x9a\x0c\x19\xf4\x8f\xe1\x0d\x0c\x72\x56\x55\x9a\xfe\x70\x79\xb0\x5a\x75\xaa\x7d\x46\xca\x25\x66\x4a\x05\xf9\x70\x91\xf5\xa0\xf3\x0b\xff\xbc\x4c\x08\xe6\x84\xfe\xf7\x15\xb4\x24\x75\x98\x32\x82\x02\x48\x4f\x70\x63\xe9\x33\xc4\x3d\xa9\x93\x40\x70\xea\x0e\x83\x93\xeb\xf1\x35\x9e\xe0\x50\x4f\x29\x94\x16\xf1\x02\x7f\x16\x76\x6e\xda\x0b\xb9\x17\xc2\x38\xe6\x54\xc9\x81\x52\xb4\x41\x07\xd7\x9c\xea\xfc\xff\x52\xb9\x4f\xce\x3d\x87\x7d\x1c\xef\xe6\xbf\x7c\x28\x6e\xa4\xbe\x16\x05\xaa\x38\xc5\x9b\xb7\x9f\x90\x1f\x2f\x9e\xdc\xff\x95\x46\xe1\x14\x4a\x83\xe9\x55\x4e\x60\xc1\x80\x4a\x06\x06\xb1\xfa\x91\x81\xa7\x08\x67\x9e\xed\x69\x67\xb6\xee\x2d\x93\x07\x71\x59\xbe\x17\xf3\x68\xd1\x23\x05\x16\x3a\xae\xbe\x22\x59\x6b\x9e\xb6\xe9\xc2\xe5\x2e\x2a\x6f\x2a\xc8\x0b\xbd\x40\x8b\x17\x96\xc5\x09\x76\xa2\x09\x7a\x3a\xd7\xc9\x26\x62\xc1\x05\xf7\xc5\x0d\xd0\x6a\x0e\xf4\xf3\xf2\xa7\x48\xcb\xc1\xb2\x5b\xaf\xa0\xbf\xc2\x2a\x0e\xd3\xb7\x74\xc2\xc1\xd2\x70\x47\xcb\xce\xb1\x32\x7f\x14\x61\xb0\x30\x9e\x29\xe1\xee\x85\xc3\x96\xad\x2a\x5b\x35\x52\x79\x0f\x66\x1c\xd8\xc1\x9b\x37\xbe\x14\x5a\x9b\x37\xd9\xa7\xd6\xd0\x81\x61\x91\x9b\x95\x9c\xe7\x74\xbe\xf7\x97\xfb\x28\xfc\xc0\x38\xae\xd6\xa8\x91\x47\xe3\xe6\xc6\xbf\xfe\x5a\xcf\x61\x1a\x54\xca\x0d\x15\x9f\x50\x80\xb2\xb8\xa8\x89\x97\x37\xbc\x90\x4a\x63\xe6\x75\xb2\x16\xcc\x63\x4d\x04\xf7\x34\x6f\xeb\x83\xd5\xf0\x07\xe6\x11\x61\x9b\x4d\x82\xa6\x8e\xd9\x7c\x88\xba\xf5\xc0\x6e\x25\xf6\xa2\x0e\xd7\x01\xf0\xde\x86\xa3\xfe\x1f\x2c\xf9\x2a\x58\x65\xc2\x88\x8b\xd8\xcd\x6b\xdf\x37\x4f\x5e\x6e\x9e\xb9\xa4\xd2\x64\xfa\xbd\xb2\xe0\x1f\xe5\x6d\x66\xeb\xda\xf7\xad\x4b\xdf\xe8\x74\x09\x8b\xc6\x48\xeb\x96\xdb\x27\x58\x31\x85\x36\x86\xfe\xd1\xa1\xa4\x4d\x93\xf1\x9b\x36\x9a\xe8\xad\xb6\xea\x80\x1b\x26\x2a\xd8\x91\x9a\xc0\x72\x57\x4d\xc4\x25\xd6\xac\xd9\x0a\x0b\xfe\x43\x03\xb5\x5e\x41\xcf\x6b\x92\x9f\x74\x49\xdc\x36\xa3\x03\x98\x30\x02\xd7\x5e\x3e\x5e\x80\x63\x48\x08\x7f\x57\xc4\x8d\x65\x9e\x33\xa4\xcd\xa9\x58\x65\xe9\x4e\x34\xf1\x70\x18\x7b\x05\x1a\x20\xe5\xd5\xa5\x65\xbc\xfd\xcf\x4a\xc4\xb1\xaa\x0d\xfc\xf9\x83\x5d\x49\xea\x1f\x7f\x0e\x97\x4c\xbc\xf6\x18\xc6\xbc\xf5\xfc\x29\x79\x47\x34\x3b\x15\x41\xa2\x13\x03\xa3\xec\xea\x44\xd1\x1f\xfe\xee\xdd\x9d\x84\x62\xf3\x52\x9a\xf6\xf8\xa9\xcf\xca\xac\x5d\xf0\x8c\x01\x84\x45\x65\x36\x38\xca\x14\xf4\x60\x55\xd1\x2f\xab\xf2\x49\x3c\x3f\x43\x71\x86\x0c\x71\x32\xe0\xb2\x64\x8b\x82\xa9\x9e\x80\x45\xd1\x26\x61\xb5\x19\xb3\x26\x1c\x27\x84\x53\x3a\x39\x6f\xa0\x5b\x10\x48\x75\x8d\xdd\x66\x11\x0c\x32\x2a\xc9\xa8\x8a\xad\x22\xaf\xd7\x8f\x64\x56\xaf\x71\x05\xb9\x7b\x73\xed\x16\x3a\x79\x16\xc8\x54\x5f\x7c\xf1\x86\x21\xe1\x8f\x7a\xb7\x04\x1d\x90\x5e\xb6\x8e\xd1\x75\xa1\x4a\x69\x81\xc6\xc2\x96\x3e\x09\x5c\x17\x66\xed\x84\x5d\x63\xb3\x7b\x7c\x9c\x33\x34\x4a\xf5\x45\x91\xa9\x01\xbe\x4b\xe3\x89\x99\x61\xd5\x8a\xab\x91\x36\x89\x61\x35\xf8\x19\x35\xe8\x2d\x56\x5e\x58\x73\xcf\x55\x00\x0b\xdc\x27\xa5\xcd\xd5\x22\x92\x2f\x8c\xa4\xf4\x53\xba\xe8\x02\x5d\xf8\x25\x19\xdd\xcc\xf3\x4f\xee\x28\xbc\x24\x5b\xe5\x90\xb2\xd9\x7b\x66\x16\x0a\x26\x1d\x18\x49\x80\x90\xb2\x85\xb1\xf5\xe0\xec\xd6\xca\x53\xee\x5b\x6a\xac\xb7\x23\x68\xa2\x5f\x96\x47\xa0\x79\x47\xbe\x74\x89\x6f\x06\x8d\xd5\x76\xe4\x2e\xb7\x9b\xf9\xcc\x1d\x27\xc6\x95\x05\x20\x73\xb3\x35\x8c\xe8\xd0\x4c\x72\x09\x1c\x9a\x59\x68\x1d\xaa\xc1\x40\x00\x05\x29\x43\x82\x7a\x6e\x4f\xb2\xcb\xc6\x7b\x13\x13\xc9\x2b\x9b\x1e\x68\xb7\x75\x3c\xa7\x89\xf3\x98\x14\x6c\xc2\x74\xef\x8c\xe9\x82\xee\x85\xcd\xbd\x52\x77\x67\x30\xbc\xaf\x5e\x28\x58\xae\x4b\x17\x28\x2a\x05\xf7\xf0\x4e\xf3\xf1\x63\xda\x00\x2e\xd3\xb6\xf4\x77\x5c\x6f\x7e\xa0\x9f\xb4\xea\xbd\xcf\x28\x98\x91\x53\x5c\xe6\x91\xc0\xae\x90\x66\xac\x65\x6b\xb1\x88\x8c\x41\x10\x39\xe0\x07\x0b\xf2\x12\xc1\x9e\xdd\xfc\x2f\x8b\xf9\x0a\xf1\x0f\x04\xb6\xab\xd6\x5c\xf5\xf9\xcf\x1f\xf9\x4a\x28\x4e\x53\xa2\xea\x1e\xdb\x9e\xf8\xfd\x07\xf3\xca\x61\x5c\xd8\xd7\xb2\x7a\x0e\xb9\xc5\x95\x27\xbf\xc8\x38\x70\x9b\x98\xb4\xd9\xc5\x96\x59\xa0\x18\x24\x8e\xe5\x3c\x8f\x29\xf8\x64\xe6\x2b\x07\xb0\xb5\xba\x4c\xd0\xfa\xb7\x03\xd1\x43\x5e\xb5\x86\xcf\xd7\x5b\xa7\x2e\x7a\xa7\x80\xf8\x21\xe9\x90\x8b\x30\x5f\xdb\x10\x06\xf4\x30\xab\xba\x23\x1e\x85\x97\x07\xba\x37\x85\xf3\xc7\xb5\x6a\x35\x0a\x80\xc6\x92\x1c\xf0\x54\xfa\xbc\xaf\x79\xd1\x1c\xa2\x92\x20\x5d\x9e\x65\x58\x06\xbe\x7f\x30\x8d\xf2\x7c\x3d\xd7\x59\x9d\xac\xf1\x7e\x66\x38\xa9\xb5\xe7\x53\x5d\x8d\x65\x81\xda\x45\x2a\xb8\xe0\x1f\x49\xa0\xd5\x77\xc4\x1f\x07\x52\x46\x15\x35\xac\x63\x5e\x37\x54\x13\x93\x4e\x15\x37\x6e\x31\x52\x95\x3e\xf1\x06\x51\xe8\x23\x53\xd4\xf1\x5c\xc4\x71\x9c\x2c\x2e\xdf\xc4\x8d\x50\xd2\xfe\xd0\x76\x88\xfe\xb6\xe9\x63\xa9\xe3\xd0\xd8\xbf\xe1\x87\xbc\x68\x6c\x9e\xfa\x6e\xa3\x71\xba\xf9\x0c\xcc\xda\x7b\xaf\x3e\x3d\x17\x6e\xbf\x7d\x72\x23\x96\xb5\x37\x53\x49\x8e\x2e\xf1\x84\x11\xb5\xf3\xe3\x8c\x04\x6d\x9d\xc2\xc8\x80\x0e\xde\xe3\xf1\xb2\x49\xac\x62\x3d\x05\x9f\xee\x84\x13\xa2\x6f\x30\xa4\x54\x6b\x65\xbb\xd4\x59\x76\xa5\x45\xc7\x4d\x31\x7e\x46\x71\xfb\x43\x0f\x9e\x6c\xb0\x45\xf1\xcd\x11\xfa\xc6\x1b\x62\xdd\xa3\x5d\x3d\xbe\x7a\xac\xba\x4e\x3f\x15\xc5\x76\xdb\xa6\x1c\x45\x0f\x4c\x7c\x00\x03\x6c\x67\xc5\x39\x48\x99\xa6\xc0\x93\xf2\x48\xf4\x4f\x58\xd9\xa6\x40\x3e\x6a\x21\xa9\xf9\x6d\x95\x49\xe7\x33\xa9\xa7\x6d\x20\x3e\x60\x12\xc4\xac\x9f\x9d\x1e\x5f\xd8\x85\xad\x58\x63\x9d\x1a\x05\x61\xb3\x32\xea\xec\xcf\x6c\x2b\xe5\x2a\xb8\xb1\x36\x6c\xcc\x8d\xc4\x8e\x5b\x53\x52\x0a\xa0\x44\xce\x6f\xad\x79\xc9\x80\x49\x60\xee\x10\xff\xea\xe7\xe3\x5c\x88\x82\x98\xf4\x00\x3a\x26\xc4\x0e\xae\x83\xf5\x47\xf5\x54\x55\x56\x5f\xe7\xc6\xc7\xf1\x6f\x5b\xd7\x4f\x6d\x93\x3d\xc7\x64\x3e\xd6\x6a\xda\x59\x73\x55\xf6\xa8\x6c\x97\xb5\x15\xbb\xc0\xe3\x74\x41\x6e\xa2\x9b\x60\x41\xc4\xaf\xee\x8e\xd6\x2f\x4b\x62\xe1\x49\xf4\xea\x8b\xd5\x9f\x41\xfb\x49\xae\x70\x5e\x00\x2d\xf9\x32\x76\xc7\x55\x1f\xb1\xce\x0b\xde\x49\x1b\xa9\x3c\x9e\xf0\x5b\x6d\xc9\x27\x47\x2c\x71\x8d\x63\x56\xd5\x32\xaa\xd6\xef\x79\xc0\x1a\x4f\x6b\xc1\x00\x6b\x73\xda\x54\xc7\x21\x07\xb0\x26\x16\xcf\xb4\x96\x2f\x34\xcf\xdf\x8b\x86\x9b\x6d\x34\x3e\x81\x95\xb5\x99\x2d\x5c\xdc\xa7\xae\xdb\x17\x2e\xbb\x5c\xc2\x58\x19\x0a\xc5\xe4\x60\x25\xdd\x74\x63\x8f\xc1\xd4\x15\x87\x97\x9c\x43\x77\xd4\xa1\x81\xfe\x51\x81\xf7\x31\x6e\x48\x78\x90\x86\xc0\x83\xe4\x65\x0d\xeb\x2c\xa6\x44\x64\x8a\xa8\xf2\x72\xe4\x8b\x7d\x1e\xb1\xa9\x4c\x17\x59\xa5\x08\x5f\xcc\x92\x0b\x91\xb1\x79\xe1\x9b\xe6\xed\x25\x0c\x9d\xc7\x62\x63\xf7\x9b\xc7\xbf\xa6\x3b\x49\x5e\x9e\x8e\x38\xc5\xba\xf8\x4a\x44\xcc\xf0\xc4\xb7\x60\x5c\xeb\x7d\x91\x3e\xc8\x9d\x9f\xf2\x34\x28\xb8\xc9\x7d\x4b\xa3\xc9\xa9\x66\x52\x56\x50\x20\x05\x2c\xb9\x51\xaf\x90\x5a\xd1\x66\x57\xde\xb3\x66\xad\x30\x93\xb1\x0b\x8c\x33\x7e\xbc\xb0\xf5\xa9\x97\xc7\xa6\x73\x5b\x5a\x77\x6b\x70\x8c\x95\x92\x66\xe7\x59\xf4\xc9\x6e\xab\x77\xba\xd7\x98\x9d\xf7\xc1\xc0\xde\x40\x99\xd9\x67\xd7\xc8\x61\xce\x7e\xee\x4a\x4b\x42\xfa\xbd\x39\x67\xfa\x2d\xf4\xc2\x63\x5d\x81\x66\x78\xb1\xbe\x49\x18\x60\x61\x06\x7f\xa8\x99\xd3\xed\xb7\xfd\xbf\xe7\x7e\xdd\xfb\xeb\xde\x37\xbb\x48\x2c\xbb\xc4\x1f\xd0\xe4\x1b\x2c\xf7\x0c\xd6\x23\x3e\x5f\xeb\xb1\xa5\x2b\x71\xd7\xc0\x6b\xca\x6e\x2f\xa5\xb5\x8b\x87\x69\x75\x21\x39\x5d\xe5\x7a\xa9\xa4\x82\xf3\x66\x71\x35\xc6\xee\x97\xcf\x97\xfb\x42\x9c\xf2\xa4\xce\x67\x18\x3d\xd5\x1e\xc3\x24\x19\xbe\x24\x5c\x06\x8b\xfe\x97\x58\xd5\xf2\x9b\x97\x3f\x5d\xa1\xf0\x80\xb5\x50\x8f\x3e\x1f\xd8\x73\x18\x57\xef\x95\x0f\xed\x80\xc7\x6f\xb0\x08\xc9\x93\x14\x9e\xb3\x2a\xac\xba\x9b\x22\x6b\x3a\x78\xf9\xbd\xd0\x80\x4d\x01\xd6\x3b\xde\xe4\x63\x9c\x76\xe4\x01\xba\xef\x95\x8a\x25\x06\x0b\x0b\x7b\x33\xe2\xb3\x95\x4d\x8c\x11\xc5\xa8\x49\x14\xf3\x19\xcb\xc4\xc4\x12\x96\xa6\x52\x28\xd5\x8b\x96\xd0\x75\x1c\xeb\xb8\x3b\x90\x10\xc0\x44\xc2\xc6\x94\x00\xe8\xde\x06\x95\x6e\x60\x75\x52\x95\x7e\xdb\xba\xb7\x88\x5e\x78\xba\x6b\xe7\x83\x6d\x2c\x44\x98\x73\x85\x02\x3f\x16\x70\xc9\xe2\x35\x42\x7c\x8e\x80\x18\x54\x1a\xf6\x09\x96\x50\x49\x08\x24\x14\x99\xc3\x8a\x97\x47\x06\x7e\x3b\x38\x76\x64\x68\x7f\xff\x3e\x15\xa8\x54\xe0\x11\x45\x23\x09\x70\x88\xb2\xe9\x9b\xf4\xfa\x78\xfb\xef\x9b\xee\xcc\xa4\x63\x56\x8b\x7d\x9e\x3f\x47\xd9\xd6\x82\x7f\xe7\xb5\x74\x9d\xa9\x4c\xe9\xad\xf8\xe6\x29\x25\x84\x87\x0e\x54\x2d\x1e\x4a\x4d\x46\x77\x7a\x10\xc1\x03\x2f\xa2\x39\x64\x17\x63\x4a\x0b\x4f\x02\x49\x94\xda\x40\xef\xcc\xca\xcb\x48\x83\x7c\xfd\x8a\xc2\x97\x03\x49\x04\x42\x93\x31\xba\x46\x82\x76\xd1\x68\xba\xad\xe8\x9a\x6c\x5d\xa4\x84\xe0\x06\x62\x4c\xb2\xb5\x9c\x34\x2f\x31\x3c\xcf\xd4\x76\x12\xbf\xdb\xe4\x75\x7e\x11\x12\xed\xf5\xdb\x59\x84\x44\x7b\x7d\xe6\x10\x21\xd1\x5e\xc7\x47\x2d\xd5\xcd\x7c\x3c\x74\x52\xe6\x7e\x64\x77\x86\x4a\x06\x23\x3e\x89\xec\xdd\xe8\x07\x7c\xb4\xd1\x30\x77\x69\x50\x32\x9e\xed\xe7\x22\x97\xc1\x42\xb6\xa7\xd9\x66\x2d\x3f\xc7\xd2\x5a\x4a\xa5\xe4\x92\x13\x09\x4e\x0a\xae\xf6\x64\x5a\x31\x2f\xcc\x8f\x4e\x0b\x02\x20\xb1\x6b\x61\x65\x6b\xd4\x8e\xff\xcd\xd6\xfd\x3b\x19\xc6\x9f\x10\x9b\x16\x0a\x49\xcb\xc4\x57\x8a\xca\xab\xcc\x98\x98\xdb\x48\x2a\xc4\x35\x76\xdb\xbd\x56\x2f\xf0\xd2\x71\x2d\x16\x4d\x82\x00\x0e\xec\xdc\x51\xa9\x58\x14\xb9\xcd\x2e\xd8\x75\xc2\xf7\x9a\x0f\xef\x6e\xae\x2e\xb3\x53\x06\xbf\x5b\x61\xb6\x67\x00\xf5\x04\xaf\xcf\x29\xe2\x95\x1f\xb9\xd8\xf1\xfa\x01\x96\x84\x36\xb2\x8e\x28\x73\xe0\x4d\xc6\xd6\x13\x02\xe4\xfc\x13\x6b\xd6\x46\x35\x62\x60\xb2\xb4\x58\x40\x15\x86\x89\x94\xca\xcd\x86\xb5\x75\xa6\x79\xee\x12\xc8\x63\xeb\x87\x93\x21\xaf\x42\x52\xeb\x6e\xce\x61\x7b\xfa\x03\xfb\xd9\x23\x24\xf2\xce\xe0\x0b\x0c\x5e\xc3\xa7\xe4\x71\x61\x9b\x23\x24\xda\xa4\x6a\xbb\x7c\xe5\x69\x5e\xf2\x36\xc9\xfd\x87\xba\x10\x49\xba\x01\x69\x93\x3f\x3b\x16\x15\xd2\x26\x7d\x3f\x57\x54\x48\x9b\xe4\x7a\xb1\x10\x63\xf8\x41\x2f\x08\x83\x3f\x9a\x47\xaf\x74\x92\xd5\xe9\xd3\x0b\x7c\x68\xb3\xc7\xd7\x3a\xf0\x21\x76\x4c\xa9\x03\xd2\x09\x7c\xc8\x3f\xea\xa1\x13\x5a\x7f\xde\x90\x87\xb6\x25\xe7\xb5\xb9\xdb\x6a\x7f\xa7\x4f\xb9\x01\x6b\x97\x35\xea\x1b\xdd\x1c\x66\x36\xcb\x2d\x6d\x47\x03\xf0\x6e\xd5\x82\x99\x94\xfe\xf7\x2c\x84\x24\xf7\x49\x94\x1b\x17\x13\x15\x9c\xca\x20\x59\xed\x8f\x33\xee\xca\x71\x3b\x2e\x5c\xe3\x2e\x28\xb3\x92\xec\x16\xaa\x36\x21\xcf\xf6\x49\xa2\x2a\x7d\xad\x54\x6a\x5b\x0f\xbe\x6e\x5d\xf9\x93\xfa\xad\xf8\xfe\x18\xbe\x2b\x46\xb0\x5b\xae\x2b\x82\xc5\x3d\x37\xba\x9c\x50\x9b\x06\x99\xc9\x0f\x45\x8b\xab\xcd\xf5\xe7\x22\x0d\x58\x42\xc4\x6b\x5c\xd8\xfc\xe4\x56\xa8\x44\x80\x16\x4d\x54\xa2\x41\x68\x21\xc9\x0a\xf4\x40\x2e\x1d\x76\x3b\x2a\x92\xd9\x14\x74\xbe\x65\x50\xf6\xae\xb8\x83\x89\x64\xb3\x09\xc2\x23\x6a\xd5\xbf\xb6\x51\x41\x13\x3f\xe6\xa7\x89\xbc\xc6\xea\xb1\x5f\x1e\x6a\x3a\x62\xe9\x36\x92\xe7\x57\x89\x44\x36\x3b\x85\x24\x81\x90\x9e\x65\x8a\xab\x75\x66\x1d\x53\xa6\xb3\xf7\x8a\xe5\x35\x45\x46\x9e\x74\x5d\xad\x99\x0a\x17\xb9\xa1\xf6\xa6\xd7\x18\x1f\x7f\xcf\x68\x83\x1e\x4a\xf9\xf0\x33\x73\xd1\x91\xc5\xa0\xfa\x28\x9f\x92\x4e\x28\xac\xa4\x5a\x32\x85\x71\xde\x70\x9a\xb4\x13\x02\x95\x92\x00\xd6\x31\xc0\x42\x4a\xa5\x24\xcf\x8b\x00\xc9\xcb\x42\x31\xde\xa2\x62\x5a\x85\x31\x65\x99\xb5\x7a\x15\xd8\xea\x30\x17\x12\x2b\x10\x3b\x63\xce\x05\xc4\xaf\x5c\xa4\xdb\xb4\xba\xcb\xde\xe6\x2f\x29\x0f\xaf\x17\x85\xa5\xb7\xb8\xb1\x44\x1f\x16\xd7\x3c\x34\x3e\x89\xbf\xec\x7e\x70\x85\x6e\xd0\x24\xc7\x18\x2e\xc4\x2f\x38\xf4\x56\xb8\x9d\x28\xa0\xe6\x0d\x10\x23\xc1\x13\xfe\xa7\x9f\x67\xea\x73\xc6\x03\xa0\x4f\x64\x0e\xcf\xdb\xc1\x61\x23\x82\x26\x2a\x93\x3f\x22\x12\x9a\x59\x8e\x39\x71\x46\x8c\x86\x5c\x2d\xb7\x18\x9b\x44\xc2\x7e\x08\x91\xa5\xb1\x9e\x75\xf6\x99\x30\x0f\x70\xea\x41\x81\xb2\x9a\x0b\xc0\x10\xe5\xc8\xa7\x24\x55\x2b\xb1\x21\xcd\xcd\x11\x78\x4c\x62\x83\xb6\x1e\x8e\x67\x92\xec\xf6\xcd\xa0\xf1\xb6\x9d\x43\xb8\x74\x76\x2a\xa2\xef\xf5\xe5\x57\xcc\xaa\x4a\x63\xdc\xeb\xc8\xb4\x1d\x5a\x89\xb8\xdd\x71\x18\x1b\x16\x10\xf3\x4f\x6e\x97\x7a\xb4\xf8\xab\x21\x5b\x5b\x7c\x57\xfb\x9b\x9c\xdd\x98\x23\x35\xec\xac\x90\x4c\x53\xc0\x7e\xdf\x3e\x02\xb1\x08\x0c\x35\x26\x59\xad\xde\x35\x53\x8a\x75\x20\x5f\x0d\x45\x48\x0b\xcc\xa4\x57\xe5\x45\x6b\xbb\x3d\xca\x21\xe6\x59\x2c\xd4\xdb\xff\xfc\x2f\xfb\xbb\x8d\xb7\xde\x7c\xfb\x37\xf8\xcf\x3e\xe5\xa5\x8c\x14\xf2\xc1\xf0\xdf\xf9\x45\x0c\xbe\x0f\x7b\x25\x35\x80\xff\xee\x53\x54\x9a\x81\x8e\x61\x8d\xcd\x63\x9c\x4c\x09\x03\xb3\x30\x91\xb6\x06\x1b\xb6\x07\xb9\xa7\x91\x48\xc9\x92\x8c\x5b\x0b\xb0\x91\xae\x6c\x9e\xfe\xa1\xf5\x68\x31\x9a\x16\xab\xe8\xdd\xe1\xc8\x63\x25\xa7\x8a\x18\x33\x4e\xbd\x56\xa9\xab\x80\xa8\x9a\x9f\x3e\x69\x9e\xbe\x86\x38\x3a\x68\x14\x5e\xa0\xf0\x27\x1f\x98\x24\xb1\x03\x56\xe5\x9c\x2e\xd4\xa9\xec\xb9\x00\xa6\x55\x72\xf5\x81\xa8\x4c\xc6\x10\xe3\x82\x30\xae\x1c\x06\xf4\xb2\x5e\xdf\xb3\x66\x45\x5c\xe4\x13\xf2\x1e\x87\x63\xe0\x69\xca\xb3\x0e\x18\x4f\xfc\x8a\x8e\xec\xc1\x4a\xd5\x9a\xb3\x1d\xe0\x3f\x25\x79\xbb\x0c\xf0\x33\x1b\x82\xc3\xaa\x77\x09\x26\x5d\xc1\x01\xe3\xfe\xc2\xe1\x66\x23\x88\x0f\x88\x4c\x7c\xed\xaf\x34\x9c\xfb\x42\x5d\x79\xb9\xe2\x0c\x7d\x2f\xd3\xad\x1a\x1b\x38\xab\xf4\xcd\xb3\x76\xcd\x29\x4c\xe0\xc7\x31\x25\x58\xb7\x52\xbf\x94\xd0\xbf\x2a\xdf\xbd\xbd\xba\xb4\xdc\xbc\xbf\xac\xc3\xf6\xc2\x51\xab\xda\x63\xcf\x52\x8e\xb5\xe3\xa1\x95\xb0\x75\x85\x26\xeb\x9e\xa2\xf4\x48\x0f\x6a\x7b\xd5\xf2\x12\xb6\x22\x8f\x35\x35\x02\x6d\xb3\x85\xa6\x6a\x50\x45\x5b\x1d\xc3\x69\xa9\x03\x44\x3b\x48\x8d\x61\xc2\x28\xd5\x4b\x57\x31\xba\x2f\x35\x70\x89\x5d\xd3\xb0\x61\x5a\x1f\x99\xb3\x95\x92\x85\xe1\x7d\x6a\xd5\x21\x5d\xbf\xb0\xb1\x04\xde\x4a\xe8\xc4\xed\xd3\x68\xb3\x4f\xd5\x02\x03\xa8\x37\xcc\x1a\xa2\x27\xc1\xd6\x60\xda\x25\xab\x28\x60\x0a\x11\xfe\x0f\x8b\xd7\x1d\x64\x28\xe5\x14\xb6\x47\xf0\xb1\xdd\x1e\xf2\xb4\x4b\xd2\x65\xce\xc1\x7b\x2c\x22\x19\x97\x0d\x6a\xef\x69\x7b\xce\x22\xae\xaa\x6f\xca\x16\x44\xae\x3c\xc7\x60\x92\xd0\x93\x6f\xe0\xc5\xe9\xdd\x6f\x5b\x17\x2f\x0b\x19\xbb\x4c\xc0\x84\x41\xba\xe2\x20\x8c\xc3\xb5\xb1\x42\x81\xc6\x14\x9a\xc9\xc3\x08\x22\xc0\xc8\xcd\x73\x97\x9a\xcf\x2f\xa7\x80\x54\xa9\xc2\xbd\x05\x2f\x3d\x68\x5d\x8e\xdb\xd8\xe5\x1a\x05\x2c\x27\xe1\xd6\x67\x8d\xa2\x63\xb9\x7e\x7c\x31\x01\x23\x18\xb3\x56\xcd\x2c\x9a\xca\xa0\xa5\x18\x36\x79\x88\x11\xa9\x60\x8f\xa8\x3e\x16\x31\x61\x9e\x1f\x4c\xff\x86\x51\x90\x18\xc7\xfa\x00\x77\x6d\x3c\x9b\x9e\x94\x80\x87\x6f\xd1\x45\xd8\xa7\xb4\x9f\xbe\x40\x1c\xf6\x48\x34\xb3\x62\xe4\xf5\xd9\x4a\x00\x6a\x17\xa5\xc4\x02\xa9\x42\x75\xc9\x80\x63\x55\x91\x72\x11\x98\x5a\x81\xb2\x7a\x9f\x0e\x93\x0f\x30\xd0\x3e\x00\x5c\xab\x56\x74\x83\x07\x0e\x0d\x8d\x8d\x1c\xd8\x3f\x78\x60\xc2\x38\xd4\x3f\x36\xd4\xff\xce\xf0\xa0\x41\x05\x86\x55\xe1\x8d\x81\x58\x76\xe9\x62\x43\xbf\xfd\x71\xd5\xda\x93\x9b\x56\xac\xbd\xc1\xff\xe8\xdf\x3f\x0a\x4d\xa8\xb4\xdd\xf3\x65\xc5\x7b\x6c\x31\x52\x80\x45\xa5\xea\x7c\x34\x2f\xea\x94\x60\xa5\x0d\x1e\x47\xab\xf2\x9a\xe1\x23\x5e\x98\xac\xef\x40\xa1\xb6\x38\x1a\x5a\xe3\x21\xe9\x7c\x5e\x14\x2e\x5a\x07\x34\x91\xa8\x9d\xf0\x3b\xb6\x47\xd2\x2f\xd2\xed\xd8\xc9\x50\xb7\xdf\xeb\x98\x91\x3a\x60\x2e\x2f\x50\xce\x4c\x4c\xd5\x1e\x4b\xf6\xa4\x68\x9b\x73\x4d\xd7\xb5\xc7\xbb\xda\x6e\x4f\x63\xc6\x91\x07\x1d\x8d\x92\x15\xb4\xcd\x3e\xc6\x80\x1b\x4d\x97\xd0\x9f\xcf\xbf\x28\x71\xf5\x75\xf2\x2f\x12\x6f\xfe\xa1\xdc\x8b\x41\xf1\xd5\x38\xa5\x87\x59\xd0\xa9\x77\xb1\x5d\x2e\xec\x94\x77\x71\x67\x19\xf4\x8b\x77\x2e\xe6\xc1\xae\xff\x86\xbe\xc5\xf6\xd9\xb6\x0d\xae\xc5\xfc\x88\xd9\x1e\xcf\x62\x1b\xf4\xcd\xf9\x79\xb2\x30\x1b\x87\x4c\x71\x5b\x71\xcc\x74\x39\x9a\x72\x4d\x19\xa9\x25\x99\xef\xc1\x97\x11\xed\x9a\x23\x94\xc9\x71\xd4\x69\x87\x43\x3a\xb4\x72\x71\x8f\x8d\xfb\x43\xce\xed\x3b\x38\xb4\xb7\xab\x4f\x85\x96\x46\x65\xe9\x40\x86\x1a\xf4\xdf\xd0\x59\x35\x80\x32\x1b\x11\xe0\x98\xad\x11\x45\xfe\xac\x57\x97\x00\x46\xb5\x79\xf5\xc9\xe6\xe7\x37\x82\xa7\x6d\x41\x50\xc2\x90\xc8\xae\x61\xa5\x56\xe8\xe4\x91\x92\x9b\xb7\xc6\x12\xbc\x11\x64\x19\xc9\x4a\xea\x3e\xa9\xd7\x82\xc8\x3e\xf7\xf1\xe7\xec\x92\xa5\x64\x5d\x0c\x76\x5c\xa4\xd0\x8e\x3e\x61\xc9\x0c\xf1\x48\xe3\x0c\x49\xaf\x94\xdf\x06\x6f\x52\x4b\xe6\x87\x68\xa9\x71\x64\xec\xd4\x82\x17\x31\x00\xd8\xd9\x58\x93\x89\xac\x8c\x18\xdd\xf9\x8b\x4f\x2c\x78\x81\x56\x99\x8d\xa4\x28\xa1\x2c\x64\x0a\xa8\xf3\xc4\x62\x1b\x8c\xea\x62\x6c\x64\x3a\x5b\xe5\x5a\x34\xc7\x45\xa6\xfb\x7b\x17\xf3\x26\xeb\xd0\x9c\x99\xe0\xf8\xa0\x75\x1d\x2c\xf9\xe4\xb0\xf4\x2c\x44\x1b\x1a\x88\xf2\x9c\x6c\xe5\xa5\x99\x8e\x66\xce\x72\x43\x16\xa8\x91\xa8\xa9\x93\xdb\xa3\x9c\x6d\xca\x29\xf4\x27\x5e\xa6\xed\xe0\x28\xbc\xe2\x5d\xa4\x40\x7d\x55\xa7\xc6\x5f\x15\x1a\xd4\xf3\x15\x66\x11\x63\x6a\x58\x8b\x1e\xb7\xe2\x94\x5d\x4b\x83\xa0\xe6\x8b\xeb\x9b\x0f\x3f\xdf\x2e\x82\x2c\x95\xe9\x95\x83\x7c\x06\xec\xac\xbc\x67\x56\x49\x78\xce\xe2\xb9\xad\x83\xc0\x72\x25\x74\x76\xf1\xee\x3c\xf0\x74\xab\xa3\xcc\x98\x33\x42\x14\x35\x7d\x20\x8e\xb0\x6b\xad\xbb\xd7\x37\xbf\xbf\xad\x2d\x21\x3a\x3a\x2c\x4a\x24\xcb\xcf\x4c\x35\x46\x42\x34\x06\xb9\x9e\x95\x52\x6d\x32\xb7\x6f\x83\xd8\x46\xde\xa6\x94\x6a\x8a\xab\xbe\x94\x81\x1c\x1d\x0a\xc2\xa7\x08\x7f\x63\xd6\x89\x30\x56\x00\x8a\x65\x9f\xe3\x70\x77\x1d\x50\xbe\xfd\xc4\xea\xd1\x17\x97\xf7\x90\x4a\x63\x0a\xee\x69\xee\xb4\x3a\xd5\x63\x66\x95\xc8\x45\x45\x9a\x70\xfa\xf1\x2b\x7b\x6f\xfd\x74\xfb\xd5\xc2\x62\xe7\xa7\x9c\x69\x86\xf0\x4d\xca\xb7\xe0\x14\xd5\x47\x2f\xa6\x9d\x1f\x79\x06\x3c\x3b\xb6\x6a\x11\xa0\xdb\x3f\x42\xb3\xab\xee\xe1\xf0\x77\x01\xee\x95\x77\xdf\x72\x71\x76\xb7\x3e\x3b\x4b\x35\xfa\xd2\xf3\x96\x83\xb7\x0b\x18\xd0\xf2\x37\x52\x15\xfc\xc2\x36\x03\x91\x5a\x33\x24\x6a\x92\x53\x71\x79\x16\xd4\xc2\x6e\xa7\x41\xc4\xde\x85\x23\xe1\xa8\x59\x9b\xd1\x2d\x27\x18\x7c\x47\x5c\xa3\x87\x0b\xbb\x3f\xf0\xe0\xd9\x85\x8f\xa2\x9d\x4d\x58\x67\x6c\x54\xec\x09\xa7\x3f\xe9\xbe\x81\x9f\x63\xdb\x90\x02\x1d\x12\xf0\xda\x10\x41\x89\x58\xe6\x5a\xe2\x52\x20\xa0\xb0\x47\x04\x03\x05\x04\xdd\xe4\xf9\x68\xed\xad\x0d\xad\xa9\xe7\x13\x2d\x02\x0c\xd8\xec\x63\xcc\x41\x02\x89\x91\xc0\x80\xd8\x50\x89\x68\xb4\x40\x67\x93\xad\x37\x1e\x06\x14\xc5\x2a\x4a\x5a\xac\x0c\xa1\x97\x59\x93\x76\xf6\x7d\x40\x71\x14\x77\xfd\xda\x92\x7e\x10\xc5\xc3\xf0\x9a\x14\x63\x79\xf9\xf8\xa1\xb6\xc7\x23\xed\x2c\x4c\x60\x1a\x58\xbb\x0d\x07\x32\x36\x3a\x20\x5c\xdb\xca\xa9\xc0\x67\x82\x37\xc8\x6b\xcd\x93\x5f\xb4\xae\xdf\x68\x9e\xb9\xd4\xb9\x88\x80\xb2\x72\x67\x4c\xb2\xc5\xff\xdf\xf8\x88\x0a\x3f\x0a\x7f\x62\x6e\xed\xbf\x0a\x06\xdd\xc1\xa5\xd4\xe1\xda\xc1\x9a\x68\xfe\xe6\x41\x35\x86\x69\x1a\x93\x74\x38\x2b\x03\xcc\x2b\xa0\x7d\x96\xaf\x7c\x09\x7a\xf2\x2d\xd3\x96\x99\xc8\x24\x12\x2b\x30\x5f\x9a\x93\xb5\x75\xff\x4e\xeb\xaf\xe7\x75\x64\x57\xa7\x43\x0e\xd9\xa6\x64\x86\x04\xa7\x96\x5b\xd7\x56\x15\x4b\x2a\x66\x70\x2a\xb3\x20\xd0\x4e\xc5\xb2\x52\x75\x84\x7b\x1e\x83\x24\x51\x06\x30\x94\x89\x95\xd4\xa7\x1d\xaf\x4b\x43\xd5\x48\x4f\x1b\x91\x4a\x3e\x01\x29\x69\x7e\x7a\x6f\xf3\xfc\x89\x3c\x95\x4c\xdc\x08\x74\xb4\x63\xa0\xde\xd8\xce\xd1\xe8\x6f\x4a\xa8\x0c\xad\x6a\x82\xf5\xc4\xf4\xe0\x79\x7f\x43\x42\x4a\xa5\xbd\x87\xc8\xf4\xaf\x86\x58\xf4\x40\x67\x5a\xa1\x0a\x92\x1f\xbd\x62\x48\x3f\x04\x68\xdc\x35\x6c\x3d\x00\x7e\xbe\xe0\xc0\x30\xf9\xb9\xfb\x05\xc5\xc2\x51\x95\xe6\x9c\xca\x4a\x46\x96\xbe\x69\x5e\xb5\xfc\x51\x38\x9d\x9c\xa4\xc6\x05\x9f\xa4\xc5\x3b\xd9\xe6\x32\x33\x71\xd9\x85\x2e\x07\x2a\x53\x24\x6e\x0a\x28\x9c\x21\xb3\xd2\x07\x42\x50\x12\xc8\x9e\x09\x00\x1a\xc0\x21\x93\x2a\xbf\x76\x6e\x20\x54\xad\xb2\x39\xbb\x8d\x97\x0d\x84\xdd\x8a\x17\xac\x40\x6f\x8e\x57\x0e\x7c\xc3\xa0\xc3\x41\x16\x01\x14\x5b\x09\x58\x84\x0d\x9a\xd4\x1c\xcc\x0a\x89\x16\xef\x94\x80\x07\x84\xa0\xf4\x69\x68\xe7\x58\xe5\x17\x38\x4b\x88\xbc\x08\x7e\x90\x60\xa3\xc9\x72\x61\x97\xce\x57\xd7\x29\xcd\x79\x60\x27\xe9\x6a\x90\x27\x29\x30\x9b\xe0\xdb\x27\xb9\x6a\x39\xca\x65\x08\x9d\xc0\x35\x18\x99\xdc\x68\xad\x6a\x5b\x34\x40\x68\xbd\x70\x34\x41\x2b\x30\xb8\x20\x0e\x9b\x9b\x93\x4b\x21\xdc\xbd\xde\xae\xdd\x2e\x25\x9a\x73\xee\x9a\x73\xf2\xfe\xa7\x75\xcc\x8a\x71\x79\xbe\x7c\xf1\x45\xf3\xe1\x95\x3c\x4d\x08\x2a\x7e\xbd\x7d\xba\x49\x5f\x85\xea\x6a\x25\x8f\x60\x96\xd8\x75\x84\xf2\x01\x8e\xd4\xe6\x2b\x96\xfe\xb5\xcd\x5a\xcc\xcb\x78\xd5\xc1\x2a\x7d\xe7\x6a\xf9\xb0\x6b\xf9\xd0\x02\xd3\x2a\xfd\xad\x0e\xa2\x5d\x8b\x5e\xe7\x67\xb9\x1e\xd7\xf1\xcb\xfb\x64\x6f\x8f\x5c\xb4\x37\x02\x5d\x19\xc1\x1a\xdd\xe4\xe4\x70\x3a\x8b\xd6\x78\x4c\x12\x2c\xea\x76\x2f\xbe\xc8\x2f\x6c\xe3\x0f\x76\xa5\x12\x12\x8a\xec\x62\x40\x55\xc8\x3b\x3d\x21\xc6\x5e\x3b\x60\x2e\x12\xc3\x6f\x40\x34\x7f\x56\x46\xc1\x74\x59\x0c\x78\x75\x9a\x32\xbd\x58\xb0\xdc\xa8\xe3\x12\xb0\x69\x17\xc8\x49\x4d\xfe\x13\x37\x6c\xbb\x8a\xe0\x8b\x58\xf8\xbb\x66\x4d\x5b\xd5\x5e\xc3\x78\x17\xdd\x25\x0e\x06\x42\xcf\x97\x6b\xe6\x47\xb0\x0c\x4b\x95\x6e\x2a\x70\xfa\x61\x61\x8a\xd7\x9e\xf7\x31\xda\x8d\x9e\x99\x0f\xd5\x51\x6f\x7c\xc0\x8a\x01\x00\x1f\x64\x72\x50\xa9\x3f\xbd\x48\x75\x16\x78\x7c\x62\xeb\xf1\x2d\x91\xfe\x26\xbb\xd8\xfc\x68\x38\x34\x60\x16\x16\x03\x6d\xac\xb7\x2e\x7e\x4f\xf9\x2d\x17\x9a\x2f\x8e\x83\x61\x10\xf3\xd2\x42\x83\x5a\x3d\x45\xf7\x7d\xcb\xad\xfb\xcb\xad\x4b\x9f\xd2\xc9\x9e\x0a\xd5\xe2\x2d\xea\x5d\x56\x0b\x82\xe1\xc1\xab\x86\x4d\xf0\x38\xe7\x1a\x9b\xc7\xef\x8b\x0e\x34\x8a\x64\x10\x1b\x12\x76\x5b\xce\xb1\x44\x85\xd5\x67\x1c\x70\x58\xd5\x04\xc2\xcd\x4f\x4d\x96\xf5\xda\x0c\xa4\x5d\x92\x45\x8a\xe1\x7d\xf7\x96\x69\xc0\xcb\x22\x2e\x5c\xa3\x8c\x03\x27\x03\x4d\xbc\x22\xe6\xcd\x1a\xc7\x4c\xb6\x9a\x89\x14\x10\x9c\x82\xf1\x7b\x67\x92\x3c\x09\xf0\x28\xe5\x0d\x76\xe1\x4a\x47\x8c\x5d\x57\x55\x67\x42\x22\xf4\xd5\x17\x7f\x6d\x9e\x3f\xd3\xba\x7e\x83\x5c\xb3\xb0\x94\x2e\x85\xda\xc2\x25\xf4\xb7\xc6\xcb\x27\x27\x44\x40\x20\x85\x08\x3e\x3f\x1e\x77\x40\x11\x36\x23\x06\x05\xde\xa3\x3d\x5a\x8e\x82\x4f\x1d\x64\xea\x25\x98\x47\x75\x8a\x52\x61\x69\xc0\x2e\xe5\x01\x93\xa5\xcc\x32\x72\xc1\x52\xa6\x68\x2a\xe0\x24\xa6\x2b\x59\xe5\x62\xc5\x81\xd5\xa8\xec\xee\x05\x69\x98\xef\x48\x35\xa3\xbd\x41\x6f\x11\x15\xec\x46\xe2\x0b\xe1\xb3\x3e\xc9\x94\x23\x37\xf5\xc3\xa9\xc3\xaa\xe8\xff\x8f\x2a\xcc\xdb\x2c\xdf\xf6\xb0\x14\x0e\x93\xdd\xa9\x38\x53\x88\x72\xb9\x67\xce\x2c\xd5\x2d\x50\x3d\x76\xd5\x3d\x5c\xe6\x7e\xc5\x02\x15\xc4\x25\x4d\xe4\x79\x11\xca\x96\x59\x05\x4b\x17\xa7\xef\xfd\xd9\xd2\x78\x19\x94\xaa\x55\x83\x29\xcc\xac\x4a\xd7\x19\x20\xe5\x9e\xe6\xc2\x5d\xbc\x75\x84\xe7\xf0\x58\x20\x2e\x5f\x50\x5e\x1b\x72\x1a\xe3\xcb\x27\x27\x51\x7e\xc2\x51\xab\x6c\x8b\xa2\x24\xbc\x73\xc2\xd3\x1b\xb2\xe0\xee\xa7\x9a\xed\xd1\xc1\x68\xf3\xd2\x0d\x30\xb3\x0d\x26\xb4\x35\xe2\x14\xfa\xfc\x6d\x5f\x10\xe7\x5a\x62\xa2\x8d\xff\xff\xe1\xfa\x9b\x6f\xfe\xda\x32\x68\xc2\xbb\x69\x0f\xb1\x6b\x14\x54\x4c\xb0\x71\x13\x60\x98\x7d\xfc\x71\x42\xe0\xb9\x67\x50\xf0\x09\xf4\x1a\xc4\x89\xc4\x75\xfb\x93\x10\x65\x6f\x40\x2b\x09\x43\x61\x2a\xdf\xeb\xd8\xf0\x34\x95\x5a\xe5\x4a\xc3\x1c\xad\x3a\x15\xab\x5a\x9b\x0f\x0d\x77\xd2\x71\x4a\x96\xa9\x2c\x9a\x14\x7d\x51\x14\x47\xc1\x1c\x5c\x1a\x87\x1e\xed\x1d\x90\x28\xd6\x1e\xdf\xa8\xdd\x4c\xb4\xf2\x3d\x31\x7e\xc1\x6c\x37\xc5\x2e\x9c\xf5\xca\xd3\xd9\x08\x16\x9e\xc4\x07\x22\xd3\x6b\x47\x29\x2f\xd7\x67\x27\xad\x6a\x54\xd6\xc5\xe3\xa9\x32\x1f\x37\x03\xdf\x64\x90\x13\x21\xe3\xc1\x0e\x35\x64\xfd\xdd\xfe\xa1\xe1\xc1\xbd\x2a\x47\x28\x25\x98\x2b\x5e\x1c\xec\x9f\x38\x38\x36\x68\xbc\x3b\xdc\xbf\x4f\x5d\x1e\x25\x92\x86\xc6\x5c\xbd\x74\x55\xaa\x68\x97\x12\xec\x0d\x86\xa6\x2f\x22\x61\xaa\x0e\xcb\xae\xc7\x70\x64\xa5\x2d\xe4\x85\x8b\x35\x9f\x31\x08\xc9\x0b\xc1\xdc\xb8\x55\x19\x57\x32\x29\x81\x5d\x30\x4d\x65\x53\x71\x12\xa7\xac\x5a\x61\x26\x70\x9a\x72\xf5\x42\xa3\xe3\xaa\x83\x90\x8f\xb9\xf9\xe9\x13\x82\xbe\x08\x13\xa2\x15\x03\x1d\xa6\x8a\x85\x8c\xb9\x22\x13\xc8\xcb\x2f\x36\xfe\xc9\x27\x33\xa3\x2b\x48\xd1\x85\xde\xa8\x83\x05\x1d\xf2\x1f\xaf\x35\x07\x07\x18\x57\xf3\x14\x0e\x64\x5c\xe5\x36\x8f\x2e\x31\xc9\x27\xec\x30\x35\xc0\xf1\x1e\x96\x10\x8a\xfc\x27\xf9\x65\xa1\x59\x63\xf0\x71\xc2\xe1\x40\x36\x1c\x45\x4c\x83\x7f\x4c\xa6\xd5\x6d\x18\x7e\xca\x5f\xa8\x12\x43\xfe\x9c\xc6\x70\x4e\x2d\x3e\xfb\x75\x03\xb6\x81\xc3\xe4\x67\xad\x32\x80\x67\x0d\x89\xe6\xe0\x05\xcc\x1a\x8e\xe2\xff\xeb\x72\x29\x13\x75\x1a\x64\xf9\x58\x35\x79\x53\x40\x11\x7a\x31\x32\x48\x41\x77\x1d\x4b\xa1\xaa\x95\x70\xc5\x55\x52\xf8\xdb\x2d\x90\x2c\x74\xb7\x37\x5b\x74\x67\xb8\x12\x8c\x3e\x59\x1a\xc1\x9c\x9c\x42\xd8\xb2\x98\x23\xc0\xf8\xbd\xeb\x30\x18\x05\x51\x20\xeb\x88\x40\x38\x49\xba\xc0\x0f\x3d\xec\xdd\xe7\xb3\xe6\xa4\x72\xa0\xf1\x1b\x98\x26\x6d\xe2\xe8\xd5\x8d\x55\x6c\x38\x8e\x0d\x86\x37\x58\xb1\x35\x35\xd5\xbe\x88\xe8\xd1\x28\x8d\x40\x30\x5a\x82\x18\x23\x17\x58\x84\x44\xe8\xf9\x94\x8d\x18\xc8\x9d\x35\x8f\x5a\x22\x9c\x8b\xc1\x67\x31\x52\xdb\xbc\xf3\x90\x1b\xa6\x38\xa0\xf4\xb8\x12\x0e\x5f\xe5\x07\x01\xb5\x3b\x29\x0c\x88\x8a\xdd\x5d\x26\x4b\x07\x7b\xc6\x3b\xae\x0b\xc8\xa9\xf6\xba\x3d\x46\x12\xc6\xc1\x16\x08\xe0\xa0\xe3\x22\x27\x9a\x58\xd3\x0a\xca\x38\xba\x02\x46\x54\xb2\x8f\xef\x96\x4c\x84\xce\xe6\x58\xaf\x45\x35\x6c\x52\xd8\xe8\x8c\xb6\x81\xe7\x74\xca\xd0\x69\x9e\xb9\x14\xa9\x65\xab\xb2\x94\x55\x04\x31\x6c\x88\x4e\xe9\x61\x29\x19\xd9\xe9\x51\x47\x1e\x85\xbb\x55\x34\x83\x21\xa2\x98\xed\xcb\x5c\x83\x18\x33\x58\xc2\x72\xa3\xb4\xa2\x5c\x1c\x30\xc1\x56\xe0\x53\xd6\x47\x70\x40\x83\x93\x4d\x8d\x63\x57\x55\x4c\x10\x3f\x18\x0b\xfe\x58\x49\x8e\x92\x95\x1d\xf0\x67\x24\xcc\x7e\x5c\x25\xc9\xfe\xc4\x28\x42\x15\xab\x2a\x1b\xec\x98\x92\x78\x39\x14\x48\xa0\xaf\xe6\xc3\x2b\x54\x8b\x56\xbe\xfe\x59\xde\xbc\xfd\x64\xeb\xc1\xd9\xa8\x13\x56\xc1\x21\x07\xeb\x19\x16\x59\x55\xa3\xdd\x45\x06\x17\x57\xa9\x3a\x04\x07\x86\xc9\x92\x4e\x79\xca\xae\xce\xd2\x68\x55\xf0\x65\x1c\x89\x0e\xb6\x99\xa7\x7f\x6f\x9e\xfc\xc1\xf3\xa9\x19\xbb\x39\x2d\x8d\x0b\xb4\x88\x17\x91\x40\x7e\x81\x42\x90\x4e\x78\x7c\x5d\xa7\x5d\xe9\xb2\xc7\x1b\x05\xda\x99\x44\x27\x9a\xf9\x58\xba\x16\x3d\xad\x32\x79\x2a\x23\x24\x44\x03\x61\xef\xa9\x48\x4e\xea\x9c\xa3\x9f\x31\x08\x10\x52\xc6\x9d\x52\x11\x0e\xac\x45\xeb\x22\x82\x69\x96\x89\xc6\x59\x7b\xba\x6a\xe6\xc2\x21\x54\xf8\x40\x0c\x5a\x92\x5f\x87\xe3\x63\xf5\xe9\xc9\x07\x6b\x3c\x43\x87\x3c\x3e\x40\xe8\x78\xc1\x05\x26\xd1\x49\x71\xee\x92\x4c\x62\x44\xd9\x13\x5a\x34\x7f\x09\x00\x1f\xc2\xe1\xfb\xc4\x59\xd8\x85\x9a\xcb\x17\xb3\x11\x55\x2f\x4f\xf2\xcc\x92\x8e\x67\x05\x89\x79\x24\xd7\xf2\xd6\xa5\x64\xdf\xe0\xc4\xc4\xd0\x81\x7d\xc6\xf8\x44\xff\xd8\x84\xd2\x29\xc2\xb6\x59\x45\x0b\xc3\x23\xef\xf4\x0f\x1b\x23\xa3\x13\x43\x23\x07\x94\xd8\x67\x24\x31\x0f\x45\xcc\xca\x2a\x9d\x46\x1e\xd0\x39\x84\x0b\x90\x22\x14\x62\x9f\x55\x33\x4c\x3f\x54\xc6\xab\xc9\x4d\x09\x82\xee\x8c\x51\x28\xd9\x78\x04\x4e\x4c\x34\x59\xe7\x85\xc7\x39\x93\x4e\x12\xf8\x4f\x5c\xb4\x4c\xa8\x74\xb7\x1c\xbe\x9e\xc4\x42\x20\x11\xf7\x8b\xe8\x55\x3c\x73\xff\xa3\xcc\xe9\x95\xaf\x8b\xbd\xcf\x47\x8f\x98\x3e\x25\x2c\x04\x06\x4b\x2f\xb2\x50\x72\x8e\x59\x0a\x26\xdd\x51\xab\x06\x47\x96\x82\x95\x54\xa6\x8c\x19\x73\xdf\x72\x5f\x33\x12\xf5\x35\x31\x4e\xd4\x58\x0c\x54\x60\x94\xc2\xd0\x03\xf4\x69\xe0\x70\xec\xf3\xb3\x65\xdc\x5f\x56\x21\xb9\xb6\x87\x2a\x39\xcc\x7a\x7b\x95\x39\xc2\x2a\x47\x59\x6c\x87\xaa\x84\x60\xd1\xa5\xf0\x86\xc5\x31\x78\x5b\x38\xc9\x79\x15\x71\x7b\xb5\xc1\x2e\x4b\x42\x6a\xf1\x90\x8e\x3b\xb4\xcd\x5f\xa3\x02\x84\x8b\x6b\xa1\x33\x60\x9b\x5c\x22\xff\xdf\x76\xb0\x47\x29\xa1\x3b\xc6\xa0\xa8\xc3\xb2\xad\x45\xc0\x22\xf6\xff\x01\x05\x28\x1c\x94\xdf\x96\x00\xa9\xf6\xac\x8e\x22\xd0\x22\x3b\x96\x4f\x90\xca\xab\x21\xe8\xc1\xbc\xbd\x1d\xc5\xf1\x5a\xe3\x29\x80\xed\x32\xd0\x23\xf8\x35\xae\xbe\x97\x36\x48\xdd\x11\xa6\x55\x12\x0b\x4f\xd6\xb6\x14\x83\xd3\xaa\x22\xd6\xf1\xb4\xfe\xf7\x29\x51\xda\x2e\x7b\xdc\x5f\x2e\x2f\xda\x1e\xb6\x0a\xb1\xb2\xbd\xcd\xb2\x83\x4d\x8d\x39\x1a\x5c\xbf\xd0\x3a\x26\xf0\xba\x76\xcd\xa9\xda\xb0\xd9\x41\x03\x4a\x7f\x75\x00\xbf\x51\x2f\xaf\x57\x41\x26\xeb\x46\x9f\x4c\x8f\xc4\x79\x43\x15\xd7\xc4\xb7\x96\xce\xe8\xea\x33\x14\x91\x46\x82\xaa\xd8\x62\x8e\xa4\xe5\xb6\xbb\x86\x6d\x87\x4a\x89\x08\xcf\x01\x32\x35\xa6\x3c\x7e\x5b\xf4\x04\x6e\x23\x23\x64\x19\x6d\x2c\x8c\xd4\x0b\xcb\xb6\x56\x0b\x2f\xde\x91\x07\x81\xf2\xd5\x65\x27\xb4\xc4\x9a\x38\x9a\xb6\x67\x7b\x74\x67\x35\x3f\xe9\x6e\x7d\x1b\x07\xbb\x5d\xa3\xca\x85\xee\xba\x38\x33\x50\xc9\xa1\xa0\x65\x67\xf0\xf2\x9b\xec\xcb\x7d\xf8\xdd\x81\x94\x75\xa8\x6b\xba\xc5\x34\xca\x2c\xfd\x55\xdf\xe9\xdb\xd6\x4a\x0d\x0e\xc1\xdd\x01\x4b\xb4\x3d\x5b\xd3\xab\xf8\xcc\x20\x80\x73\xaf\x9d\x1c\xc4\xda\x6d\x97\x97\x01\x1a\x51\x4a\xfc\xa2\xcf\xef\xd0\x27\x14\xef\x72\xb0\xc2\x01\x17\x52\xef\xef\x3c\x4e\x34\x31\xa5\xa0\xbd\xfe\xb1\xd0\x93\xbc\x3a\xe4\x8e\x83\x75\x14\x7e\x4e\x0e\x45\xa1\x9c\x5f\x0f\xd6\x29\x30\x9d\x7f\xe1\x7c\xfd\x19\x99\xf6\x5a\x30\x66\x7b\xc7\xbf\xe3\x43\xdc\xee\x35\xf2\x3a\xc9\xf9\xcf\xa7\x28\x7e\x29\x9a\x60\x9b\x96\xfc\xcf\xbf\xa6\x3d\xcc\x03\x77\x3b\x7c\x08\x1c\x70\x4b\xc6\x4b\xe8\x94\x62\xa6\x7a\x72\x71\x14\x44\x4a\xef\x04\x14\x50\x07\x16\x6e\xa0\xd2\x11\x9e\x7d\xf9\xa5\xb3\x4e\xc9\x92\x5c\xf9\x1f\xed\x24\xa1\xe2\x50\x87\xe7\xe7\xb6\x06\x9d\x64\xd5\xff\xac\xc3\x88\xde\xec\x6e\x5b\xb4\x5a\x36\x0f\xad\xd6\xb5\x46\xea\x55\x73\x1e\xd7\xcb\x1e\xa7\x7e\x41\x8c\xc9\x65\xdc\x34\xb0\xa0\x9f\x2b\x37\x1f\x97\x3c\x06\x95\xbf\xab\x73\x5f\x97\x34\x84\x5c\xce\x81\x4a\x9a\x3b\xa3\x50\x16\x2d\x76\x07\x91\x76\x09\x92\xb4\x05\xa4\xca\x52\xb8\x8b\xe8\x65\x48\x27\x7b\x02\x82\x8c\x50\x0a\xf1\x38\x7e\xc2\x0c\xe2\xc0\xba\xf1\x0c\x9c\x9d\xbc\x2a\x8d\x76\xaa\xb3\x86\x7c\x10\x94\xe0\x78\xda\x9f\x6c\x02\x60\xf9\x07\xe0\x47\xdb\x1c\x60\x49\x15\x31\xd2\x1e\x1c\x79\xf0\x22\x2e\x66\x09\xe4\x21\xfd\xb1\xe3\x0e\xf6\x2c\xb6\x99\x70\x1a\x46\x56\x8f\x54\xd2\xb0\x73\xdf\x2a\xe4\xc6\xf5\x07\xa0\x9c\xba\xf7\x06\xfb\x87\x27\xde\x3b\x32\xf0\xde\xe0\xc0\x6f\x8f\x4c\xbc\x3f\x3a\xa8\x20\x2d\xfa\x5c\x7c\x73\x23\xe3\x13\xca\xb0\xa5\x6b\x2c\x38\x55\xfd\xe6\x81\xfe\xfd\xaa\xfe\xbd\xb7\x9b\xe7\xcf\x2a\x1a\xc0\x5a\xa4\x84\x0c\x48\xe5\x86\x0b\xa5\x7a\x91\xac\x1d\x06\xfe\xca\x70\x02\x26\x9d\xe2\x7c\x37\x16\x94\xec\xfa\xbf\x5d\x60\xd1\x61\x01\x79\xab\x68\x4c\xce\x63\xd5\x42\x8a\xf7\x86\x25\x81\xaf\x23\xee\x1b\xbd\xe8\x21\x0d\x26\x22\x49\xb6\xae\x7f\xfd\x12\xf7\x0a\x2c\xa3\xb4\xb1\xf8\x02\xf1\x53\x1a\x0b\xa2\x38\xaa\x00\x1b\xc4\x92\xdd\xcf\x59\x55\x4a\xea\x1e\x63\x42\x59\x79\x6c\xbf\x72\x6e\x00\x59\xaf\x79\x7c\x29\x14\xc2\x01\x63\xc7\x1a\x1a\x3f\xfc\x85\x4a\xa6\xdf\x60\xf1\x15\x09\xdc\x98\xb5\x6a\x33\x4e\xd1\xd8\xbd\x6f\x70\xa2\x7b\x14\xf8\xdb\x3d\x7a\x70\xa2\x7b\xef\xe0\xf0\xe0\xc4\x60\xb7\x55\x2b\xa8\x82\xb2\x39\xe1\xd0\xe9\x33\x32\xbd\x4e\x51\x0b\x30\x00\x6c\x03\xff\x39\x88\xff\x65\xed\x18\x54\x6b\xf7\x2b\x45\xe8\xf5\x7b\x8e\x5b\x23\x9e\xb2\x7a\xd6\xb3\xf3\x3d\x6e\x7d\x92\x85\x9c\xa9\x0b\x5a\xfb\x13\xcd\x0b\x5a\x07\x5f\x4b\xee\x48\x38\xe4\x69\x0c\xac\x5c\xfb\x6e\x0e\xcf\xc2\x03\x42\x67\x4c\xfc\xc8\xe3\xde\x12\x59\xe0\x41\x91\x05\x69\x6a\x1e\xff\xb6\x75\xfd\x54\x20\x82\x0d\xa6\xf2\xe6\xf7\xcd\xf3\x14\x93\xfe\xe2\xf8\xab\x9b\x27\xd3\xc8\xac\x73\x9c\x99\x82\x33\x8b\xc5\x9e\xbd\xb0\x6b\x63\xef\xc8\xfe\xfe\xa1\x03\x94\xef\x42\x85\x58\xe7\x99\xfc\x8a\xba\xf3\x18\x0c\xac\x64\x9c\x14\xd9\x4b\x47\x6e\xef\x8e\x43\x24\x0a\x04\x4a\x7e\x89\xae\x98\x8f\x02\xa5\x0e\xe8\x6f\x9c\xa3\x34\xaf\x7b\xa2\xfc\x25\xbd\x91\xbe\xf4\x3a\x1d\x16\x8b\x72\x4e\x8a\x7d\x7d\xf4\xda\x0c\x0f\xb5\x4b\x11\x54\xb4\x18\x84\x2f\x69\x5a\xb2\xb4\xf5\xf0\x4a\xf3\xe4\x97\x52\xc5\x55\x3d\x1a\x86\x0e\x8c\x4f\xf4\x0f\x0f\x0f\xee\x35\x46\x87\x0f\xee\x83\x71\x0d\x8c\xec\xdf\xdf\x7f\x60\xaf\x32\xc5\x3c\x92\x0d\xd0\x7a\x7c\x12\x2b\xa4\x47\x01\xb9\x25\x18\xf6\x84\xbe\x0f\x0c\x0c\x1e\xd9\x3f\xb8\x7f\x64\xec\x7d\x45\x8f\xe1\xa7\xe2\x9b\x9a\x2e\x23\x22\x52\x00\x1a\xb5\x6d\x3c\x54\x2a\x27\xb4\x75\xef\x52\x4a\xc4\xf3\x50\xd9\xf8\x77\x90\x2e\xe7\x98\x6b\x0c\x70\x4c\xfb\x61\xbb\xcc\x0a\xd6\x22\x9c\x6c\xc9\xea\xc1\x33\x84\x55\xec\x36\x2c\xb7\x60\x56\x60\x8e\x31\x75\xad\x0f\xcc\xc2\xc3\x87\x0f\xef\x9a\x33\x4b\x76\x11\x3f\xf4\xe1\x7f\x30\xc1\x10\xff\x55\xe2\xae\x88\xae\x22\xe8\xf6\x5f\x09\x5d\x71\x9f\xa1\x21\x89\x18\x39\x51\x4f\x76\x61\xb1\x79\xf6\xca\xcb\xc7\x0b\xcd\xa7\x17\x41\x2e\x36\xbf\x86\xcd\xfb\x7e\xf3\xda\x77\x94\xf3\x73\x13\x77\x8f\xc6\x0a\x19\x69\xdf\xf2\xcb\x33\xca\x02\x32\x44\x92\x9d\x54\xaf\x96\x07\x38\x24\x13\x9f\xc6\xa9\x51\xd8\x19\xab\xe3\x33\x56\xa9\x44\x7c\x2a\x3a\xf5\x49\x25\x9f\x0e\xef\x4a\xea\xeb\xf0\xae\x14\x4e\x49\x5d\x25\x30\xe7\xe5\x93\x33\xaf\x3e\x3d\x9b\x13\x73\x52\x29\x56\xb0\x87\x19\x15\x1e\x1a\x2c\xc7\xb8\x16\x56\x06\xe8\x80\x4a\x5d\x95\x29\xc2\x31\x60\x65\xdc\x6b\x4a\x16\x69\x9e\xbe\x16\x30\x1c\x60\x89\x26\xca\x72\xc1\xa9\x22\x8c\xbd\x71\xd0\x35\xa7\x55\x4b\x67\xeb\xc1\x5d\x86\x45\xca\x06\xde\x7a\x74\x51\xab\xb5\x5e\xa3\xbf\xec\x43\x9e\xd9\xae\x31\x6b\x8b\xa2\x93\x94\xdb\xc5\x1f\x2e\xcd\x1b\x16\x70\xc2\x01\x65\x08\xe7\x45\x75\x6d\xad\x08\x11\x1b\x0b\x8d\xd6\xd7\x37\xb7\xce\x3f\x93\xd3\xce\x04\x52\x19\x37\x8d\x5a\x0f\xef\xd0\xaf\xe7\x70\x76\xe1\x4b\x1f\xd2\x03\xcc\x8c\x4f\xc4\xc3\x84\xb6\x2a\xaa\x2f\x53\x0e\xb2\xea\xe0\x1a\x19\xe2\x80\x57\xd6\x02\x54\xc0\x54\xc9\x9c\x76\xc1\x38\xf9\xa8\x60\x55\x6a\x46\xcf\xd4\x1b\x58\x93\x1a\x87\x3a\xc9\xeb\x7f\x83\x8c\x1f\x9b\xc1\x94\xbe\x3a\x83\xd7\x9d\xad\x97\x6a\x76\xa5\x64\xb1\xac\x04\x16\x5a\x15\xd4\x66\x2a\xdb\x3e\x96\x1d\x4a\x25\x21\xc1\x81\x18\xbb\x7b\xa6\x8c\x97\x3f\x7d\xd9\xbc\x7b\xe9\x0d\x83\xad\x0e\x0d\xa8\x68\xc2\xa6\xbd\xfb\x29\x07\xab\x91\x32\x13\xe8\xc3\x12\xa5\xd4\x7c\xe9\xd7\xcb\xc6\xcc\xd8\xf5\x57\x8b\x5f\xd1\x32\xf1\xf2\x2c\x13\x2b\x93\x46\x38\x1b\x39\x22\x00\xb7\x5c\x62\xe5\xe1\x5d\x58\x67\xe6\xf0\x2e\x14\xa4\xc3\xbb\xca\x4e\xd9\x3a\xbc\xeb\x30\xcc\x59\x36\xd9\x89\xb6\x8f\xa6\xb4\xd7\xb6\x6f\x5d\x8b\x2e\x98\x3a\x79\x80\xc6\x32\x0e\xe8\x1b\x09\xac\x0c\x47\xc6\x29\xd0\x1b\xdc\x98\x80\xf8\xeb\x82\x99\xef\x21\x6b\xc0\x2a\xcf\xf9\x1f\x28\x24\xba\x0b\x8f\x7b\x62\x01\xb9\x59\xd7\x46\x08\xb3\x2f\xa5\x27\xcc\xe1\xe4\xb8\x7c\x30\xc8\xab\x19\x56\x40\xc2\x50\xb6\x7b\x00\xf9\x90\x2d\xe2\x4d\xbc\x4c\xaf\x9c\xc9\x8e\x69\x3f\x07\xb2\xfb\x47\x47\x8d\xf1\xc1\xb1\x43\x43\x60\x22\x09\x5b\x29\x57\xba\x63\x3b\xc8\x87\xf0\x23\x78\x32\xa7\xbb\x54\x6e\x55\xe7\x4c\x37\x6b\x1f\xbe\xf2\xad\xf6\x7c\xc9\x8e\xea\x8e\x6d\x1b\x41\x9c\x9a\xca\x77\x30\xdb\x2d\x45\xfe\x58\xb6\x57\x9c\x7c\xaa\x73\x22\x38\x40\x5b\x1e\x74\xe5\xc8\xcc\x8e\xf9\xf6\xce\xc1\xa1\xe1\xbd\xa3\xfd\x20\x54\xd8\x62\xb7\x71\x60\xf0\xdf\x8f\x04\xbf\xcb\x55\x0e\x82\x4d\x83\xd1\x11\xd3\x5f\x0e\xa3\x12\xfa\x64\xbb\xc5\xda\xf7\x06\x6c\x8b\x50\x4b\x6a\xb1\x9c\x9b\xf4\xe4\xa7\x0b\x87\xfb\xdf\x19\x1c\xee\x36\x46\xc7\x46\x0e\x0d\xed\x1d\x1c\x23\x76\x4f\x8c\xfc\x76\x30\x5f\x45\x4e\xbd\xa0\x7f\x90\x77\x43\x2e\xcf\xd3\x74\x88\x7b\xc4\xbb\xdb\x8e\xb1\x6c\xe3\x08\xf2\xa0\x77\x64\x6c\x5f\x60\xe7\xcc\x8b\x56\x6c\x37\xdf\x1d\x33\x4c\x69\x8e\x8c\xdd\x16\x62\xb9\x22\xfc\xb7\x83\x23\x13\xfd\x79\x53\x2b\xb4\x1e\x6b\x3c\x07\x7a\xc7\x06\x47\x47\xfc\x2d\xfc\xe0\xd8\x70\xae\x14\xfb\xad\x23\x97\xb1\xf5\x1c\x48\x1e\x1f\x1c\x38\x38\x36\x34\xf1\xfe\x91\x7d\x63\x23\x07\x47\x89\xee\xd1\x7e\x30\x6d\x26\x46\x8e\xa0\x67\xe5\xc8\xd8\xc1\xe1\xc1\xf1\x23\xef\x0e\x0d\xe7\xab\xaa\x43\xdd\xe2\x80\x54\xdd\xe6\x3e\xc8\x6e\x6f\x11\x8c\xc3\x36\xb7\x9d\xe3\x02\xd9\x82\xae\x02\x2a\x92\x75\x99\xcb\x98\xd8\x0e\xf7\xce\x18\x28\xdd\x31\x66\x2a\x04\xbf\xcb\x79\x60\x72\xd3\xdc\x54\x08\xf5\xb7\x0d\xa3\x3a\x08\x5f\x30\x0d\x30\xda\x3f\x3e\xfe\xef\x23\x63\x7b\xbb\x73\x5f\x57\x91\xa1\x89\x4e\x71\x93\xe0\xbd\xe2\xb7\x79\x2d\xb8\x90\x65\x22\xbe\xf8\xed\xe0\xfb\xdb\x32\xac\xd8\x8e\xb6\x63\x20\xb8\xa2\x64\xa9\xd8\x16\x1b\x2f\xc6\xb0\x5b\x89\xef\x75\xbb\x86\xb8\x63\xf3\x25\xdb\xb1\x79\xcd\xd9\xc8\xc1\xb1\x81\xc1\x1e\xf4\x22\x4c\xf4\x8f\xed\x1b\x9c\xa0\x8f\xb9\x8e\x22\xb6\x87\x3c\x48\x67\xba\x7a\x7b\x4c\x17\xa1\x95\xf3\x34\x5e\x7c\x82\xf3\x37\x5e\x7c\x7a\x73\xb3\x5d\xa8\xc9\x1e\xdf\xff\x40\x7f\x52\xeb\x3d\xb9\x9f\x3b\xa5\xbe\x48\xc8\xc3\x7d\xe5\x35\x1c\x66\x2d\x91\x76\xf0\xff\xcc\x7d\x20\xb1\xbd\xe4\x3b\x84\x1c\xdd\x15\xf9\xd2\xe8\xef\xcf\x60\xe8\x74\x1b\x63\x23\x39\xdb\x89\xd2\x56\xcc\x2c\x29\xea\x21\x7f\xc2\x89\x2b\x3b\x41\x3f\x75\x94\xe3\x38\x3a\x70\x45\xbc\x65\x34\x17\x96\xa5\x3a\x42\x9d\xd3\x52\xa9\xb0\xe8\xaa\xfc\xc4\xd5\xbb\xd5\xc2\xb0\xa8\x5c\x28\x3c\x82\x14\x76\xf3\xd8\xa0\x23\x61\x72\x3b\x9e\x70\xd1\x03\x4c\xb1\xdc\x45\x1e\xb4\xb7\x4b\x22\xdd\xac\x9e\xe3\x30\xa3\x39\x4e\xb7\x87\x64\xc6\x59\x4a\x90\xa8\xb8\x77\x54\x78\x85\xa9\x5c\x19\x1b\xec\x0d\xd8\x8b\xdd\x05\x8e\x56\x5e\xb7\x39\x8c\x6d\xc6\x71\x6b\x34\x16\x36\x89\x79\x8e\xc4\x8b\x03\xc2\x6f\x02\x01\x66\x1d\x53\xed\x94\x8a\xd2\x22\x04\xea\xcb\xd6\xb1\xd8\x55\xd9\xe9\x18\x9a\xe7\xa8\xe8\x57\x60\x71\xae\x88\x52\x83\x9f\xe4\xbc\x68\x71\x54\x18\x75\xcb\xa4\x0c\x87\x24\xfe\xca\x7f\x48\x2c\x06\x17\xe9\x5e\x58\xf4\xc6\xe3\x7f\x99\xc3\x60\xaa\xd3\xdb\xac\x81\x44\x0f\xf9\x6b\x20\x9e\x46\xd3\x1d\x48\xa0\xea\x8e\x62\xff\xe4\xb9\x58\xe4\x34\x18\x0c\x01\x8a\xcf\xa4\x8a\xf9\x29\x02\x08\x94\x07\x03\x28\x33\x22\xf7\x2d\xce\x8f\xca\xcf\x47\xc6\xe6\xde\x12\xa7\x61\xfc\xe8\xf9\xb9\xf1\xf3\x70\xff\x01\x63\xee\x6d\xff\xe7\xb7\xd9\x57\x79\xca\x5f\xf6\xde\xdb\x1a\xaf\x0a\x60\x36\x4a\xa3\x02\x51\xd6\x6f\x4f\xd4\x27\x98\x35\x6b\x7d\x7e\x6d\x4d\xf4\x43\x22\x40\x38\x96\x07\x3d\x5c\x83\xff\x2f\x1f\xc2\x50\x32\xfe\x34\xc3\x04\x37\x67\x2b\x54\xf6\xfd\x83\xc3\x65\x68\x1d\xff\x63\x60\xb0\x4a\xd5\xa9\x39\x05\xa7\x74\x78\x17\x46\xa1\xd5\x0a\x95\xc3\xbb\xba\xc5\x6f\x45\x2a\xfa\x4c\xd4\xb2\x9f\xdf\x7a\xb3\xf7\xed\xdf\xfc\xa6\xf7\xad\xde\xb7\xfe\x8f\xf4\x18\xc6\xbb\xb8\xec\x81\x5f\xff\xfa\xcd\x7f\x39\xbc\x0b\x7f\x00\x42\x7e\x97\x36\x6a\x46\x5e\xf3\xd9\xed\xe6\xd3\x73\x89\x83\x61\x98\xeb\x1b\x8b\x0f\x78\x3d\x85\x60\x11\x7a\x8c\xc9\xde\xd1\x61\x29\xa6\x88\x41\x6a\x0f\x0c\x0f\x71\x0c\x29\xc5\xf0\xf1\x01\x1d\xb4\xec\xc4\x6e\x7c\xa4\x2a\xe4\xd8\x28\x7d\x1a\x25\x84\xf5\x24\xa8\xdc\x40\xa7\xe1\x17\xa9\x34\x42\x14\xb3\x5b\x33\x6f\x43\xe0\x96\xa5\x86\xff\x0a\x15\x97\xdc\x8c\xb1\xdf\x9a\x75\xaa\xf3\xda\xad\x91\x82\xbd\xb5\xb1\x74\x9b\x81\x6f\xa5\x34\x2e\xe2\xc0\x4c\xa3\xec\x94\x7b\xca\xd6\x34\xb4\x3c\x67\x89\x0a\x6c\xfa\x9d\x2e\xae\x6f\x7d\x77\x53\x04\x75\x7d\x22\x6a\xb1\x25\xc5\x78\xa9\x08\xa3\xc8\x4f\x16\x1f\x1a\x57\xdb\x3f\x25\x9b\x37\x50\x51\x9d\x15\x4c\xc0\xc5\x42\xcd\xb1\x38\xcf\xe4\x7e\xc7\x78\xc9\x19\xfc\x57\x5d\x01\x47\xb4\xeb\x17\x97\xe1\xcf\x27\xb6\x3d\x3e\x3e\x6c\x0c\x58\x55\x06\xc1\x8f\xd9\x62\x58\xe7\x93\x6a\xb4\x4c\xd8\x95\xfd\x96\x8b\xfa\x31\x29\xc3\x8a\x9e\x37\x02\xe3\xc2\x26\xb7\x56\x9e\xb6\xae\xfc\xa9\x75\xed\x71\xb4\xa9\x44\x72\xd0\xc2\xc4\x95\xdd\xc7\xb1\x49\x47\xe1\x33\xd2\xd3\xcf\xbf\x97\x65\x83\x8a\xc5\xa5\x71\xc3\x8f\x65\x44\x11\xfc\x82\xe6\xe3\x64\xb8\xf5\xd8\x87\x82\xc5\xe3\xda\x14\x19\x56\x93\x35\x37\x99\xf1\xea\xb3\xea\x88\x8d\x0f\x73\xd0\xa7\xac\xf5\x26\x1a\x8e\x62\x16\xf4\x29\x80\xf8\x44\xeb\x84\x2b\x3f\x5d\xe7\x35\x00\x40\xa1\xcf\xd9\x45\x9e\x33\xd3\x53\xa0\x48\xd9\x5e\x63\xb4\x64\x99\x30\x6a\xfe\x23\xcc\x99\xb4\x8e\x9c\xc9\xdf\xe3\x86\x09\x8f\xd3\x61\xaf\xe6\x88\xa4\x2a\x68\xb8\x06\xa6\x26\x61\x79\x47\x5f\x50\x69\x4f\xe8\xd3\x0b\x81\xdd\x58\x5c\x0d\xd5\xba\xf0\xc6\x89\x45\x87\x4f\x9e\xc7\xc8\x62\x6f\xcf\xe2\x51\xdf\x0f\x10\x09\xa1\xf1\x98\x42\x64\xd7\x69\xfa\x45\x88\x71\xea\x93\x8d\x0b\xcd\xf3\xab\x1b\x8d\x85\x68\x81\x6c\x0e\xff\xee\xe7\x9c\x30\x6d\xad\x51\xaf\x58\xb0\xd9\xcb\x28\xa3\xac\x53\x04\x3c\x64\x79\x98\x5d\x46\x8f\xd8\x61\xe8\x91\xa2\x03\xd6\x1a\x86\x22\x53\x75\x11\x05\x93\xc2\x4d\x44\x05\xcc\x4b\x2e\x83\xe6\x63\x72\x3f\xfc\xd4\xb3\x48\x45\x10\xbd\xf5\x50\xb4\xdd\xa3\x2c\x05\x9b\xd6\xe0\x5e\xf8\x93\x67\x77\x67\xab\x3a\x15\x20\xb8\x71\x87\x98\xbc\x1e\x4a\xc3\xd6\xed\xa1\x43\x82\xb7\x85\xc6\x34\xb2\x18\x42\x72\x0f\x21\x24\xf7\x10\x42\x72\xc5\xac\x9a\xb3\xd4\x1c\xfb\x6d\x00\x7f\x62\xf5\x2b\xd3\xe8\x8b\x69\x8d\xb0\xe2\xbf\xa2\x3d\x9b\x63\x27\x2a\x9a\x4e\xa4\xd2\x3b\xc6\x15\x9c\x7a\x99\xe9\x74\xb1\xc9\xbb\x03\xf8\x15\x0e\x78\x28\xf0\x90\xa4\xe0\x99\x13\x26\x75\xe3\x97\x54\x7d\x9c\xd9\xd1\x58\xa5\xea\xd3\x8f\x84\xda\x8f\x12\x90\xfa\x1e\xcb\x33\xe8\xdc\x7e\xf0\xd8\x31\x4b\xd6\x93\x51\xb2\x67\x6d\xc6\x15\x66\x4e\x0d\xe3\xdf\x99\x04\x2b\xcd\xd0\x6a\x9e\xfc\xe1\xd5\xd5\xf3\x89\x5d\x68\x51\x1c\xe0\x5c\x60\xd2\xf2\x9c\xae\x48\x2f\xb1\x36\x5d\xae\x53\x91\x3e\xb0\x12\xa2\x21\xd5\x66\xcc\xb2\xfc\x24\x97\x9d\xed\x1a\x62\x4c\x57\x46\xeb\xfa\x83\xd6\x93\x85\x4e\xc6\x4c\x87\xb3\xb4\x0c\xe5\x20\x14\x7b\xc4\x66\xe5\x07\x3c\xbe\x0d\x28\x8f\xc3\xac\x43\x91\xe8\xd2\x6b\xf8\x15\xb9\xe1\x4b\x55\xd1\x12\x49\x5f\x46\xf2\x55\x16\x1a\xf4\xe5\x12\x83\x81\x14\x25\x7c\xe5\xbd\xe7\xb2\xb2\x38\x9b\x47\x4e\xcc\xaa\xcb\xbe\xe4\x94\xab\x2b\xe3\xd2\xca\x4d\x07\xe4\xb8\xdc\x15\x34\x75\xb0\x39\x27\xd0\xd6\xe6\x86\x8c\x35\x7b\xa8\xce\x92\xb7\xdf\x4d\xb0\x6f\xb2\x30\xcd\x6b\x45\xb1\xcf\xc5\x35\x99\x48\x95\x5f\xe2\x00\x6d\xac\x60\x19\xea\x2e\x86\xee\x4a\xd5\xb8\x0f\x99\x25\x79\xdc\x4a\x4a\x63\x5a\x09\x1c\xb2\xe0\x58\x92\xd8\xaa\x8a\x58\xbb\xc6\xbc\xf9\xb0\x34\xe1\x34\xc6\xa0\x28\xba\xe9\x1b\x8b\xd5\xac\x9c\xe2\xe5\xf0\x58\x79\x0b\x5e\xa1\x8e\xa0\x38\x12\x0a\xcc\xc8\xe5\xa1\xd7\x5a\xcb\xd7\x9a\xcf\x8f\x63\x1e\xf5\xda\xad\xcd\xf3\x27\xb0\x18\xe5\xad\x33\x64\xea\x2e\x6e\x9e\xfa\x91\xac\xe0\x20\xbc\x0c\x47\x7d\x63\x17\x1a\x91\x4a\xd7\x60\x3b\x73\x03\x7c\xd5\xcb\xc8\x54\xfb\xf5\x14\x03\x74\xad\x12\x1e\x36\xf0\x87\x02\xa8\xf2\x69\xe6\x6f\xe6\x23\xc7\x9a\xfb\x6e\xc5\x62\x65\xb3\x48\xf6\xdd\x76\xc7\x8a\xb9\x76\xc2\x8f\xbc\xb8\xf6\x6a\xf1\x71\xeb\xf4\x5f\xe1\x57\x2c\xc9\x72\xed\x7b\xf9\x86\xa9\xf5\xf9\x7a\xeb\xd4\xc5\x97\x8f\x4f\xc3\x9a\xc0\x2c\xef\x95\x87\xc8\x18\x8f\x55\x89\xa3\x1c\x36\x61\x67\x1a\x01\xd1\x60\x54\x29\xf4\xf8\xf5\x05\x82\x8b\x58\x6b\x7d\x76\xf6\xe5\xb3\xeb\x8a\x96\xec\x72\xfd\xa3\x3d\xfb\xcd\x82\xa2\x11\xff\x77\xc5\xeb\x78\xb3\x55\x2a\x79\x35\x97\x30\xab\xb5\x46\x80\x23\x4c\x64\x94\x67\x5c\x02\xe3\x6e\x7c\x27\x90\xba\x7e\x0a\x80\x29\x31\x94\x92\x40\x5d\x28\x39\x1f\xd1\x2b\x47\x9f\x98\xc5\xed\xd3\x36\x67\xda\x25\x12\x6d\x7e\x5c\x2a\xb0\x8c\x4e\x55\x7d\x2f\xe6\xeb\x6d\x9e\x5b\xdf\x5a\x7a\x46\x2a\x2c\x29\x01\x1e\x09\xf2\x08\xed\x94\x32\x62\x21\xc3\x3b\xc0\x44\x52\x09\xdc\x1e\x96\x22\x5e\x1c\xe2\x3b\xc5\xa2\xfc\x93\xad\xac\x5b\xb9\xf5\xe2\x59\xf3\xf4\x4d\xbf\xd8\x63\x22\x48\x3f\xb1\xfc\x7e\xb8\x3e\x64\xe0\x95\x30\x4e\x7e\xe6\xd1\xfa\xc5\xaa\x54\x52\x11\xe8\x2f\xa6\x66\x55\xe6\x2e\xb1\xb6\x82\x46\x67\x5e\xe9\x84\xcc\x1d\x70\x30\x72\x2e\xf9\x05\x86\xc5\xc3\x81\x8b\x38\xb0\x88\xf8\x52\x06\x15\x55\xed\x4e\xe7\x9e\xe3\xf2\x0f\xa8\x46\xee\x83\x60\x3f\xf1\xcb\xc3\xc8\xfa\xf0\x90\x2d\x32\x0f\x20\x04\xe2\xad\x33\x33\x7a\x40\xdd\x6d\x50\x12\xbc\xf9\xdb\x5e\x7d\x92\x76\xbf\xd7\xce\x00\x3c\xec\x36\x93\x90\x9d\x14\xb4\xbe\x65\x50\xf4\xc4\x9a\x6a\x2e\x43\xc0\x6b\xd9\xc9\x60\xa8\x62\xbb\x4d\x7e\xc3\x68\xbb\x78\x34\xab\x5a\x3d\xb8\xfe\x58\xca\xb9\xe1\xce\xbb\x35\x6b\xb6\x9b\xa3\x1e\x91\xa3\x0d\x48\x66\x1b\x0a\x02\x93\xf1\x9f\xe1\xd0\x53\xc3\x04\x77\xa3\x5a\xa7\x5a\x83\x4a\xf4\x9b\x30\xfd\x12\x30\x58\x94\x7e\x63\x77\xe0\x91\xc5\x75\x72\xa8\xfd\x85\xd7\xfe\xe4\x12\xf5\x88\xc4\xe9\x27\x4c\x3b\xc7\xb7\x4f\x60\x31\x45\xe1\x65\x7b\xf9\x64\xb9\x79\xea\xac\xaf\x21\xfc\x7a\xb6\x92\xf7\x2d\xf4\x2e\x9e\x9a\x08\x01\x00\xb7\xe0\x48\x79\xdb\xf0\xc3\xeb\x81\xd2\x7c\x6b\x37\x68\x53\xf6\xca\x41\x5f\x55\x80\xf5\x78\x53\x80\x52\xcb\xf4\x34\xdf\x71\xda\x50\xd7\x31\xae\xb7\x48\x05\x93\x4e\xf6\x1e\x0f\x4e\x87\x1b\x7a\xbe\x00\x3b\x53\xd9\x75\x96\x96\x30\xe7\xa5\xb3\x3c\xf8\x34\xc2\xd0\x50\x2e\x34\x36\xcf\x4a\xca\x82\x20\x68\xd9\x88\xf0\xf6\x6d\x67\x6a\xca\x42\xfb\xdb\x23\x47\x42\x4e\x4d\x24\x2b\x01\xab\x94\xd1\x1a\xb6\x42\x70\x8d\x90\xc4\xe2\xd4\xd3\xea\x68\x9b\x68\xb6\x3d\x89\x92\xf8\x1c\x0f\x53\xd3\x18\x92\xe7\x93\xc9\x24\x62\x7e\xc5\x43\x60\xb6\x49\x5e\x1d\xaf\x89\x32\x51\xc5\xfe\xc4\x4e\x17\xd7\x3a\x24\x43\x2a\x6f\x29\xed\x3d\x09\x42\x16\xdc\x79\x02\xd2\x16\x2c\x59\x99\x89\x0c\xaf\x16\x96\x19\xd9\x17\x35\x80\x83\x15\x21\x2b\x7e\xa5\xaa\x4c\xb4\x04\x2a\xf2\x28\x4f\x45\x49\x35\x76\x32\x75\x17\x2e\x2b\xc2\x67\x02\xcf\x68\xa0\x99\xc2\xbf\x22\x8f\x60\x77\x2a\xf3\xc2\xaf\x25\x9b\x95\x7d\x56\xd1\xc9\x74\xf9\xcb\xc7\x0f\x83\x87\x0a\x42\x01\xf2\xaa\x4e\x07\x40\xc8\x35\x8c\x1d\x66\x13\xd1\xfc\xd3\xcc\xaf\xd2\x56\xa3\xf7\x6e\x4e\xcc\xa9\x99\xd3\x0c\x9b\xb8\x26\xaa\x52\xa6\x71\x42\xec\x76\x4f\x69\x47\x41\x85\x92\xc6\x95\x9d\x1c\x65\x00\x89\xde\x65\xb0\x99\xea\x91\x28\x81\xe2\xbd\x53\x75\x7b\xdd\xfb\x28\xf1\x1a\x5d\xc7\x82\xbe\xb7\xd5\x2f\xc7\x7a\xd7\x1c\x6e\x04\xbe\x3d\x4b\x9f\x28\x34\x3c\x62\x05\xac\x15\x16\x6d\xe2\x26\xa1\x93\xeb\x81\xc4\x85\x89\xd0\x88\x4f\x19\x76\x0a\x66\x89\xdd\xf0\x83\x04\x1f\x33\xab\x45\x71\x12\x66\x72\xdc\x6b\x4c\xcc\x80\x29\x8b\xd7\xca\x64\x92\x4e\x5a\x46\xd1\x9a\xb2\xcb\x40\xf6\x2c\x22\xc4\x91\x83\xde\x01\xfd\xa8\x8e\xae\xf1\xb8\xb4\x2a\xdf\xf2\x6f\xfd\x74\xfb\xd5\xc2\x22\x3f\xfa\x62\x80\xb3\xb0\x0e\xf9\x4d\xf2\xfa\xcb\x67\x17\x9b\x4f\x10\x3f\x6c\xa3\xd1\x80\x67\x36\x9f\x7f\x25\xdb\x82\xca\xfb\x5b\x18\xd0\x51\x5a\x9c\xde\xb9\x17\xaf\xb8\xc1\x10\xc7\xf2\xba\x46\xbd\x52\x34\x6b\x4a\x63\xb0\x75\xed\x7b\x0c\x18\x6d\x5c\x78\x75\xe5\xbb\xd6\xc3\xdb\x21\xa4\x42\xc5\xd9\xf8\xa1\x30\xa8\x93\x67\xdd\x61\xf8\xb3\x86\x32\xfe\x29\x62\x19\x3d\x94\xe2\xa0\xf4\xda\x76\x94\xa8\x66\x8a\xc6\x6f\xd3\x55\x5b\xaa\xc4\x3a\xd3\xd3\x30\xdf\x16\xba\x38\x5d\x65\x51\x78\xd6\xe4\xe2\xea\xd6\xca\x95\x57\x67\xbe\xf3\x2d\xea\xc6\x0a\xf9\xe5\x9e\x2a\xee\x2c\xb0\x71\xc2\x2e\xab\xd7\x92\x42\xb4\xa2\xf4\x6a\x09\xf7\xf4\x74\x15\xa3\x98\x40\x37\x5b\xe5\x62\xc5\xb1\xf1\x9e\x93\x83\xa5\xd1\xdd\x3e\x0b\xa6\x48\x82\x37\x94\xdb\xa0\xb1\x30\x0c\xb0\x2f\xc4\x01\x01\x88\x39\xc3\x83\x1b\x02\x51\x08\xab\x12\xf4\x99\xfa\x8a\x68\xd8\x71\x8e\x12\x34\x71\x85\xfc\xd7\x48\x07\x8b\x3a\xeb\x8a\x16\x5a\x0c\xc6\x10\x28\x39\x15\x3e\xae\x44\xe2\x17\xd8\xed\x52\xa4\x3f\x74\xf8\xde\xbd\xbe\xf9\xfd\x6d\x2d\x4c\xe5\xfd\xfd\x07\x86\xde\x1d\x1c\x9f\x38\x82\x29\xdf\x0a\x5a\x82\xcf\xc4\x37\x93\x84\x54\x99\x1e\xb9\xb6\xdf\x3c\x8a\x37\xa0\x05\xa7\x32\x4f\xa5\xf9\x2b\x15\x83\x5b\xd7\x05\xa7\xc8\xa3\x7e\x9c\xb2\x25\x6f\xcc\x14\xf0\x52\x76\x40\x43\x54\x7b\x0d\xe3\x60\x99\xae\x19\x9d\x39\x10\x6e\x1b\x8e\x8e\xe5\x6e\xe6\x3c\x82\x06\x7b\xbc\x96\x18\x10\xdd\x31\x9b\x6a\x73\x82\xd2\x06\x5d\x49\x47\x4d\xbf\x51\xa5\xdc\xf2\xbd\x5a\xb5\xb7\xe3\x44\xbc\xfc\xe9\x52\xb2\x55\x14\x08\x92\x12\x66\xbf\xf0\x87\x3e\xe5\xce\x50\xfc\xfc\x39\xf9\xc6\x2f\x7b\x0a\x92\x0e\x2f\x22\xa4\x89\x43\xd6\x79\xc7\x76\x8c\xcc\x43\x1f\x38\x9d\xcd\xe5\xf1\x06\xdc\xac\x70\x24\x5f\xfc\x22\x89\x3c\x38\xa7\x9f\x38\xdb\xbc\xbf\xdc\x5c\xbe\x28\x77\x9d\x38\x5d\xa8\xab\x7a\xbc\xc0\xa5\x68\xe8\xb9\x77\x24\x81\xa9\x1a\x78\x97\x3c\x20\x1a\x6a\xad\x75\xee\xfc\xcb\xe7\xd7\x34\xbd\x4c\xd8\xae\x3f\xa6\xc5\x33\x02\x79\x92\x36\x18\x9c\x31\x01\x68\x99\xac\x19\x69\x40\xb4\xd9\x90\xed\xd0\xe5\x06\xc2\xea\x41\xae\xca\xa5\x79\x63\xce\x76\x6d\x1c\x0d\x02\xec\x06\xce\x37\x38\xf8\x24\xef\x5a\xc8\xc4\x50\x17\x21\x21\x01\x08\xba\xe2\x82\x3e\x00\xe6\x67\xa6\xa3\xf8\x0b\x3c\xbe\x21\x16\x6b\xfa\xd8\x24\xb4\x44\xa3\x50\xb5\x4c\x22\xb8\x4e\xc6\xe1\x54\xbd\x04\x23\x33\x6b\xc9\x85\xc5\x9b\x37\xbf\x6f\x9d\x5a\xa0\xad\x33\x15\x08\xf1\x4c\xeb\xe1\x9d\xe6\xe3\xc7\x04\xb8\x7b\x1d\xb5\xa9\x0f\x6f\x88\x37\xcc\xaa\xa8\xb8\x20\x95\x36\x0b\xc5\x9a\x72\xea\xe5\x62\xd8\x3b\x5c\xb4\x31\x50\x1c\x34\x69\x37\x4c\x4e\x20\x3c\xce\xb2\x51\x1b\x50\x1a\x9e\xc8\xb3\x01\x65\x2f\x2e\xd1\x93\x9d\xc6\x2c\xc2\x08\x7d\x08\xeb\x52\x89\x5b\xad\x01\x6f\xdd\x5b\xe6\x09\x5d\xd2\x36\x41\x59\x10\x72\xea\x0d\x77\x44\xc7\x34\x88\xb3\x09\x3a\xfa\x2f\xc4\xa6\xe5\x84\x58\x37\x15\xe7\x2a\xb0\x16\x27\x06\x92\x41\x91\xf1\x77\xc9\x65\x24\x42\x01\xd2\x44\xa7\x82\xdc\xcc\x84\xb8\x9c\xad\x75\xe6\x46\x73\x84\xe3\x00\x35\x45\x0d\xed\x54\x98\xc0\xe4\xa3\x32\x9f\x88\xa0\x8b\x80\xd9\x9e\xbe\x3a\x58\xd5\x27\xe5\x23\xe3\x98\x69\xd7\xe8\x5a\x5b\x1c\x01\x7d\x4d\x46\x7b\x45\xbd\x82\x0e\x5f\x30\x3b\xca\x75\xb5\xe5\x19\xd4\xf1\x61\x85\xb5\xf5\xb7\xbf\x93\x7e\x5d\xc3\xcb\xc5\xbb\xf7\xe9\xe6\xf3\x56\xeb\x6a\xe3\xd5\xa5\xcf\x8c\xdd\xcd\x93\x27\x14\x8e\xd1\x28\x75\xbe\x4d\xcc\x8f\xae\x3a\xa4\x45\xcd\x5e\xee\xe7\x0f\x1c\x63\xdb\xa1\xce\x9e\xad\xcf\x1a\xe6\x2c\x85\x9f\xc1\xf6\xcd\xa3\x20\xd8\x3a\xf4\xf6\x6b\x3f\x96\x0d\x7e\x98\x31\xe7\x04\x48\xfd\x5b\x6f\xbe\xfd\x9b\xfd\xdd\xc6\x5b\xfb\xe0\x7f\x6f\xee\x53\xb9\xc8\x85\xdb\x5f\xb9\x81\xa9\xd2\x8c\xce\xde\x44\xf0\x78\xb1\x21\xb0\xa1\xc9\x06\x09\x96\xc8\x61\xb0\xf7\x44\x08\xac\xdb\xb7\x30\x37\x98\x48\xd9\x89\xf1\xf6\x1a\x3d\x6f\xa1\x79\x08\x16\x09\x66\xfc\x60\x2b\xf5\x32\x5d\xa2\x63\xb4\x0f\xf5\xa1\xb2\x4a\x7e\x0e\x9e\x80\x4d\xd0\x83\xfd\xae\x93\xbb\x70\x95\x05\xa5\x10\x40\xf0\x03\xd2\x62\x9f\x51\xd1\xc9\x0b\x5b\xb7\x56\x74\xcc\x88\x1d\xe7\xa4\xb1\x7b\xaf\x35\x65\xd6\x4b\xb5\x3e\xff\xb7\xd7\x49\xe4\xda\x63\xef\x6e\x0a\x28\x83\x2d\xe5\x2b\x5a\xe1\x27\xfb\x0c\xf1\x22\xbc\x75\x39\x45\x8e\x59\x1a\x00\x72\x9f\xdf\x67\xd0\xb5\xd5\xac\x39\x8f\x3e\x02\x61\x2e\x50\x51\x01\x64\x6c\x75\x0e\xaf\x65\x30\x75\x48\xc1\xb5\xed\xe9\x4c\x9a\xb7\x37\x55\xf3\x95\xdc\x33\xe9\xce\xdd\x18\x20\x60\xc1\x61\xb1\xe8\xbe\x41\x8a\x14\x93\x95\x60\xcf\x21\xed\x1a\xf2\xfc\x31\xad\xdf\x6d\xd0\x11\x83\xe7\x1c\x18\x2e\xda\x19\x3c\xf6\xc9\x25\xba\xf1\x0d\x55\x1e\x0f\xa5\x42\xc1\xe4\xa9\x7d\x82\xaf\x2e\x2d\x83\xd1\x8d\xd6\x37\x6a\xdb\xbb\x4c\x56\x84\xce\xdd\xbc\x7f\xe1\x0d\x44\x62\xe7\x07\x0b\x29\xaf\x01\x25\xef\x6f\xfc\x1c\x80\x9f\x5f\xd0\xe7\x9b\xd2\xc1\xfa\x4c\x00\x5c\x1a\xbd\x1f\x4c\x74\x1a\x32\x92\xb7\x82\x63\x52\x10\x1b\x5f\x69\x6f\xff\xf3\xbf\xe0\x42\x13\xeb\x4d\x5d\x4b\x24\x1c\xae\xc6\xe5\x1c\xdf\x27\x09\x17\xe2\xae\x92\x49\x96\xe4\xc2\x83\xdc\x92\x73\x67\xa8\xb3\x25\x72\xaa\xe2\xee\x15\x7a\x27\xbe\x79\x7b\xba\x0a\x12\x16\x73\x57\xee\x9d\x30\x03\xf5\x08\xfd\x23\x66\xca\xb9\x50\x32\xe7\x03\x67\x41\xf9\xfb\x55\xbd\x5b\xf3\xbf\xd2\x2d\xd6\x37\xfc\x3a\xd7\x17\x95\x44\xfb\x25\xa1\x90\x0f\x18\x9f\xcd\x53\x8a\x22\x17\xf8\x9a\xca\x0f\xc4\xde\x53\x38\x7b\x10\x60\x25\xa1\x4f\xef\xe7\xf8\x97\x0f\xee\xf7\x80\x95\x54\xe5\x34\x82\xcf\xc4\x37\x03\xf6\x7d\x3b\x63\xa6\x63\xc1\x14\x98\xcc\x55\x6b\xda\x76\x6b\x56\x35\x10\x2a\xa4\x3a\x25\x5c\xfd\x29\xe0\x0c\x8b\x5e\x26\xc3\x29\xa9\xfd\x5e\x11\xf4\xbe\xca\x4e\xa0\x7e\xfc\x12\xbf\xfc\x06\x6b\xb8\xe4\x14\x50\x31\xaa\xce\x68\xfe\x71\x21\x72\xef\xcd\x91\xfb\x97\x19\xfd\xc2\xdb\x9c\x95\x78\xeb\x98\x31\xca\xa1\xb9\x55\x34\x78\x78\x03\x2c\x61\x67\x69\x9d\xb9\x34\xd4\x0d\x96\xd5\xd3\xe7\x35\x96\x48\x94\x63\xfc\x93\xcb\x4e\x88\x8a\x66\xe0\x67\xe5\xe9\x0c\x37\x67\x75\xc0\x33\xb4\xdd\x3f\x3a\xe4\xbb\x1a\x5d\x0b\x2c\x87\x83\x70\xd2\x44\x5f\xdb\xb0\x03\xb3\x32\x61\x57\xd0\xd7\xc6\xc3\x55\xe1\x61\xfe\x05\x9e\x5f\xd8\x9d\x27\xa8\x0f\xf1\xbe\xca\x7e\xc3\x3e\x54\xae\x48\x7e\xf5\xc2\x05\x2e\x90\x20\x04\x1b\x7e\x98\x0e\xa9\xd2\x55\x80\x9c\x60\x2d\x8e\x7b\x86\x6f\xd2\xc4\xf5\x1a\xe3\x7d\x58\xcd\x90\x71\x05\x5c\x33\x0b\xcc\x35\x67\x1e\xb5\xca\xbd\x86\xf1\xbe\x53\x67\x69\x00\x45\xdb\x25\x47\x10\xbf\x91\x42\xbd\x5a\x2a\x09\xdf\xca\x54\xb4\x50\xab\xd0\xc2\x22\xb4\x02\x03\xd1\x28\xd4\xb4\x86\xc5\x21\x40\x89\xc3\xa4\x48\x75\x96\xbd\x47\x78\x61\x09\x5c\x47\x81\x2a\x9f\xf0\xa3\x6a\x12\x5e\x3e\xc3\x03\x59\xf3\xd3\x7b\x9b\xcf\x30\x6a\x9f\x4a\x81\x9d\x0a\x14\x64\x10\xb2\x42\xb7\x1b\x91\xa8\x37\x64\x11\x01\x70\x00\x7b\xa3\x05\x67\x03\x3b\xc0\x5a\x4c\x44\x20\xae\xd1\xc7\xdc\xc8\x94\xea\x33\x8b\x38\x65\x8f\xff\x94\x48\xb0\xb0\x18\x18\x15\xa3\x80\x95\xaa\x88\x44\x87\x70\xe2\xfc\xc8\xe0\x60\x07\x5b\x2b\xdf\x36\xcf\xad\xb3\x9b\x11\x91\xf3\x1f\xae\xf2\x91\xc3\x34\xf3\x99\x18\x85\x99\xe6\x44\xd3\xc6\xfa\xdf\x68\xce\x43\xc3\xff\x45\x4f\x7b\xc5\x56\xe8\x44\x71\x25\x81\xf5\xc6\x82\xba\x6f\x5b\x54\x9f\x77\x03\x92\x51\xbd\x89\x96\xf5\x1c\x6b\x34\xe2\x0a\x39\x24\x5d\xdf\x15\x49\x89\x05\xec\xaa\x45\xc7\x07\x14\x74\x15\xca\x6f\x63\xb5\x94\x36\x37\x27\x56\x0c\x27\x61\xeb\x93\x5d\xe2\xed\xf6\x21\xea\x12\x89\x6a\x7e\x2a\x5b\x8b\x43\x8e\xac\x0b\x71\xd2\xb8\x2d\x83\xe6\xfd\x68\xe6\xe4\x81\x44\x9d\x56\x6d\x8f\x88\x25\x2e\xb8\xc6\x31\x8b\x2a\xa2\x15\x95\xd6\x23\x4b\x36\x58\x5c\xa7\x60\xe2\x73\xb1\x7a\x41\xd9\x89\x08\x80\x4a\x1e\x54\x00\x69\xaa\xcd\xe1\xd0\x45\xb8\xeb\x39\x2b\x59\x42\x3e\x5b\x19\x69\x52\x11\x78\xd8\x10\xe8\x1c\x57\xbd\x64\x4d\xdd\x49\x64\xe5\x9c\x3c\x8b\xb5\xd7\x88\xe3\xb2\xfa\x2e\xd8\x8b\x11\x38\x13\x8c\x9c\x0f\x2f\x79\x9d\x09\x49\xd2\x5b\x08\x51\x45\x79\x2a\x14\xb8\x27\xee\x6c\xba\xa9\xd0\x1a\x2e\x48\x5e\xa2\x2a\x62\xbf\x05\xde\x53\x1d\x0c\x78\xec\x7b\x23\x18\x77\xdc\x88\xb3\xa4\x1e\x10\x2c\x4c\x68\x74\x8b\x21\x0a\x42\x3a\x4d\x68\xf4\x95\x70\x5c\xb3\x86\xa5\x96\xc8\x10\x2c\xcd\xa9\xe2\xc7\xbb\xac\xe8\xad\x4f\x55\xf2\xe0\xbd\xbb\x8d\x40\xb4\xea\x99\x8c\x2c\x88\x74\x1a\x66\x85\xf6\xd0\x72\x18\xd1\x6b\x45\xbc\x5a\x3c\x55\x6b\xab\xdd\x61\xa4\x89\x61\xe7\x72\x97\xac\x19\x3d\xba\xdb\xd4\x89\x81\x58\xcb\x14\x1d\xac\x8e\xb8\xec\xac\xfb\xb4\x11\xb2\xba\xa4\x6d\x77\xc1\x83\x35\xad\xf2\x9c\x31\x67\x56\x6d\xb4\xb7\x5d\xe6\x14\x9f\xb4\x30\xd3\xd0\x52\x16\x44\xa4\xd8\xcd\xcd\x0b\xdf\x34\x6f\x2f\xa1\x46\x25\xdc\xc9\x04\x5b\x2b\x95\x84\x70\x30\x65\x5a\xd7\x7a\xc1\xa0\x6d\x91\xa4\x99\x86\xa3\x47\x80\xee\xee\x17\x8a\x37\x4c\x31\xc8\x12\xa3\x0e\xdb\x16\x07\x41\xc3\x51\x6b\x9e\x55\x5b\x0e\x07\x61\xf8\xc7\x13\x91\x0f\x9f\x62\x22\xa4\xf8\x28\x95\x0d\x1a\x71\x11\x1b\x0f\xd9\xe0\xb2\x72\x14\x47\xe3\xf7\xf3\x5b\x8b\x67\xf0\x72\x23\xfc\x35\x1d\x67\x2c\xc5\x68\xb4\x74\x36\xb3\x7e\x8a\x44\x16\xf9\x8a\xa6\x3b\x74\x2a\x62\x19\xfa\x6f\xbf\xab\x4e\x0d\x92\xd7\xc1\x02\xc9\x66\x65\xa6\xe4\xe5\x75\x32\x1c\xf5\x30\x72\x34\x25\x79\xd2\x93\xe9\xba\xf6\x74\x59\x79\x48\x0c\x0d\x44\x4e\x32\x11\x9e\x17\x4d\x45\xcf\xba\x4b\x16\xc5\x40\x5f\xed\x8a\x22\x4f\x09\xc8\xbe\xcf\xc6\x66\x06\xe4\xb0\xed\xfa\x49\x0a\xf2\x5e\x97\x89\x10\xd2\x0c\xdb\xb7\x09\x53\xda\xa3\x1f\x10\xd8\x0e\xeb\xfc\x2c\x42\x2f\x0c\x30\x07\xd6\x51\xa0\xa2\x08\x77\x6f\x83\x2c\x29\x3a\x51\x44\xb0\xe7\x40\x56\xcd\x28\xb1\x80\x6c\xbb\xec\x7b\xd2\x06\xde\x25\xbf\x7e\x50\x59\xc0\x73\xf8\x50\x4a\x50\xb5\x17\x61\x1e\xe7\x32\x8b\xb6\x1b\x56\x0a\x31\xad\x68\x39\xfd\x6b\x56\x1f\x8b\xd9\xc2\xdb\x70\x74\x09\x1b\xae\x33\xcb\x2e\xc9\x55\xf7\x3b\x8f\x56\xfa\x0c\xbc\x90\x46\x56\xad\x92\xbf\xe1\x32\x62\xf1\x20\x54\xce\x39\x76\xf9\x4d\x46\xc3\x32\xad\x5a\x71\x75\x1d\xf4\x53\x2a\xa8\xf1\xc2\x0b\xbc\xab\xdd\x0c\x68\x97\x6b\x30\x95\xf1\xed\x8e\xfc\x56\xd1\x0c\xfc\x10\xff\xc2\xe8\xc4\xd0\xc8\x01\xd5\xed\x26\x6d\xcf\x97\xbd\xcb\x5d\x45\x13\x63\xfb\x8c\xfe\xbd\xfb\x87\x0e\x24\x9e\x95\x18\x6e\xc6\xd6\xc2\xf1\x84\x46\x0e\xee\x1d\x9a\x18\x19\x4b\x6e\xe6\xda\x9d\xd6\x8d\x9f\x9a\x9f\xdd\x52\x37\xb3\xbf\xff\x40\xff\xbe\xc1\xe4\x66\x28\xde\xee\xac\x50\x39\x77\x94\xf1\xde\xd0\x9e\x8a\x37\xac\x21\xc5\x6b\xca\x3c\xc2\x94\xb7\x78\x2a\x36\x03\x46\x74\xe5\xd4\x44\x29\xe0\x23\x39\xe1\x34\x26\x45\x5e\x1d\x4a\x4d\x79\xd6\x69\x34\x05\x9c\xfa\x66\xa9\x6a\x99\xc5\x79\x86\x3e\xa8\x12\x5a\xd6\x62\xf0\x45\x04\xf4\xba\x7c\x1b\x5d\xfe\x31\x78\x82\x8a\x65\x12\xe9\x3d\x08\x7e\x48\x70\x19\xec\x6f\x76\xe1\x82\x61\xcf\x99\x48\x8a\x82\x1b\xb2\xf0\xa5\x65\xca\x1f\x17\xee\x22\x29\xc1\x98\x87\xc7\x7b\x37\x15\x7e\x86\x90\x5a\x83\xa6\x8c\x22\xd9\x37\x12\x61\xa2\x0a\x8e\x51\xa9\xf9\xe0\x6d\x55\xec\x04\xeb\x42\x11\x3b\x31\xa2\x91\x14\x9e\x24\x39\x2c\xc5\xc1\xf2\x50\x3f\x8b\x2c\x30\x4a\xa4\xc0\x78\xe1\xd1\xca\xdd\x22\x10\x2a\x86\x5a\x8f\x67\xbd\xc4\x46\x40\x07\x40\x38\x15\x89\x08\x89\xa1\x29\x4a\x7a\x3d\x34\x99\x36\xc9\x0e\x85\x3a\xec\xd0\x28\x44\xe2\x08\x6c\x31\xa1\xdc\x11\x8a\x53\x67\x4a\x05\x4c\x0c\xbb\xea\x94\xe9\xfa\xc4\x9c\x42\x8f\x54\x28\x11\xa5\x52\xb2\xd4\x81\xba\x81\x24\x0e\x58\x4a\x6b\x67\x5e\x3e\x39\xc1\xcc\x55\x44\x24\xc2\xc0\xf2\x60\xd2\x34\xb3\x44\x78\x6a\xc0\x67\xc9\x49\xa8\x7e\x96\x47\x7b\x8c\x48\x48\x13\x62\x0c\x56\xbc\x36\x32\x36\xa1\x7c\x8d\x67\x12\x2a\xde\x34\xed\x62\x30\x1b\x43\x09\xd8\x74\xaa\x75\xe9\xaa\x2a\xb5\x42\xd5\xb8\xeb\x32\x20\x34\x98\x8f\x2a\x1e\x63\x18\x46\x2d\x88\x29\x0b\x46\xc4\x80\x1d\xdf\xe3\xe6\x4d\xaa\xb0\x1f\x99\x0d\x9e\xc0\x8f\x20\x34\x1a\x26\xac\x30\x0c\x5c\x81\xd0\xdf\x7a\x7c\x8b\x97\xbc\x88\x7a\xe7\x82\x19\xc0\x22\x9b\x22\x79\x76\x34\xc6\x23\x9d\x6c\xb6\x71\x3c\xd1\xc3\x47\x1e\x63\x4b\x88\x40\xd2\x0a\x3c\x12\x6d\x18\xb0\x9c\xbd\xd4\x58\x7f\xdf\x98\x35\x6b\x85\x19\xbd\xf6\x71\xe7\xba\xfd\x64\xeb\x01\xd6\x88\x78\xf9\x78\x61\xeb\xd3\xef\x05\xf9\xea\x0d\x0b\x2f\x7e\xc9\x7b\x85\x9a\x23\x53\x52\x85\xd0\x5e\x1a\xed\x26\x35\xa9\xdf\x5a\x8d\xdd\x7d\x7b\x5a\x99\xd0\x98\x10\x61\xfa\x0f\x36\xbb\x11\x17\x0a\x10\x6d\x2a\xba\x87\xf4\x15\x62\xba\x2e\x0f\x5c\x90\xc7\x2a\x6c\xef\x46\x29\xf5\x49\xd0\x68\xc7\x9b\x6b\x14\x69\x81\xb4\xa9\x20\xa4\x93\xc7\x1a\x18\xa7\x18\x62\xc2\x4e\xa4\xa6\xb8\x03\x22\x52\x12\x95\xe2\x32\x87\xb4\x9a\x86\xd3\x6f\x11\xdb\x87\xed\xab\x5c\xb3\xa7\xe6\xdb\x11\xbf\x2d\xb0\x8e\x4e\x7e\x49\x49\x5d\x2f\x02\x61\xc5\x49\x9d\x5b\x55\x2c\xe4\x81\x2a\xc7\xc6\x1d\xcf\x20\x78\x64\x66\x02\x80\x76\x9a\x85\xd3\x38\xc6\x3d\xb2\x9c\x2d\x46\x8b\x48\xf2\x2a\x09\x43\x18\xe7\x03\x56\x66\xda\x65\xca\xe6\xb9\xe7\x60\xbc\x85\x4d\xb8\x06\x1d\x20\x17\xbf\xa2\x14\x40\x0c\xb2\xde\x7a\xf0\x02\x43\x65\x1a\xcb\x9b\xdf\xdc\x6a\x9e\xbd\x42\xe8\x74\x8b\xc8\x4e\x91\x05\x2e\xa3\x07\x2a\x0d\x3f\x8c\xe6\x09\x5b\xcc\x62\xf5\xa9\xa2\x9a\x14\x03\x48\x0d\x18\xf3\xa3\x85\x94\x06\x6a\x02\x91\x7e\xf3\x52\x04\x52\xc1\x2c\x23\xdd\x93\x56\xca\xfd\x18\xef\x39\xbe\x11\x95\x63\x2d\x2b\x31\x33\x26\x72\x31\x26\x20\x1b\xd7\x03\x8b\xd6\x6e\x97\xc0\x55\x9e\x6d\x17\x1f\x4e\x7d\x35\x1c\xb7\xad\x48\xe6\xd0\xba\xba\xc0\x7e\xfb\x62\xe9\x48\x23\x5e\xf1\x96\xb2\x17\x57\x3a\x91\x19\x93\xf3\x08\x4d\x06\xd6\xa8\x5d\xa8\x97\xcc\xaa\x16\xdc\x94\x00\x10\x95\x6e\x88\x23\xc7\x2e\x5c\xd6\xc9\x66\x13\xcb\xbb\x2c\xcc\x38\x8e\xeb\xa7\x5d\x96\x4a\x0e\x96\x03\xa3\x28\x40\xfc\xdc\x6b\xbc\xe3\xe0\xc6\x44\x41\x22\x66\xd5\xa2\xe5\x52\xc1\x85\x5f\xab\x31\x8d\x34\x89\xa7\x02\xd7\xb5\xbc\x1c\x4f\x17\xc3\xa4\x79\xa2\xb6\xea\xfc\xc6\xfa\xf1\x15\xae\xe8\xce\x88\x26\x52\xbe\x02\x05\xc9\x9d\xbd\x01\x57\xd6\xcb\xc7\xb7\x5a\x97\x7e\x0c\xe0\x54\xe0\xa1\x1d\xde\xba\x12\xcc\x9a\xbe\x4f\xf6\xcc\x55\xe1\x81\x5a\x0f\x9d\x4b\x13\x54\x04\x31\x88\xf9\xed\x0c\x73\xda\x4c\x40\x8b\x08\xb8\xdd\x36\xaf\x7d\xaf\xeb\x7c\x0f\xd5\x86\x60\xb1\xe3\x78\xf5\x20\xe5\x27\xcb\x12\x21\xd7\x85\x68\xcb\x01\x92\x78\x69\x90\xe0\x0f\x81\x23\xcc\xf9\x55\xe4\x99\xe7\x19\x05\x05\xec\x03\x3d\xad\x0a\x4f\xaf\xee\xb0\xe9\xd8\x98\x10\xfd\x1f\x3a\x18\x36\xcf\x2b\x22\xc8\x79\x4b\x36\xc3\x6f\xe1\x3c\x42\xed\x83\x60\x2e\x7a\x6d\xc7\x16\x36\x42\x5d\x8d\x11\xa5\xa7\x5b\x3f\x9c\x0c\x65\x3f\x27\x12\x42\x09\xcb\x5e\xd1\xa2\x58\x9f\x86\xf6\x88\x23\xed\x64\x2e\x38\x91\x44\x14\x26\xe8\x72\x7f\x15\xc5\x00\x77\x42\x16\xf7\x5e\x05\xec\x8a\x54\x07\xd6\xa8\x8f\x0b\x48\x14\x16\x8d\xc3\xbb\x02\xe8\x18\x87\x77\x85\x3c\x6a\x5e\xb2\x38\x5e\xc7\xf1\xa4\x1e\x7a\x55\xa5\x66\xa2\x0d\x92\x0a\x00\xb2\x4e\xb0\xb4\x84\x18\x54\xd7\x58\x94\xc1\x44\xff\x1c\x9c\xe6\xc9\xae\xe2\xf9\x17\x09\xf7\x8d\x09\xba\x86\xf3\xe2\x3f\xeb\x60\x3c\x02\x2b\xf8\x9e\x3a\x69\x97\x4d\xcc\xa5\xf4\x50\x18\xd0\x46\x99\x77\xea\x55\x63\x64\xbc\x4f\x95\xef\xbf\x75\x6f\xb1\xf5\x6d\x43\x09\xa3\x88\x1a\xf0\x73\x41\xe1\x1a\x34\x64\xb0\x58\xe3\xe6\x8b\xeb\x7c\x4b\x5d\x3a\x4f\x8f\x9e\x16\x83\x0f\x6f\xa0\x7d\x8a\xfc\xff\xd1\x50\xb1\x2f\x61\x3e\xc9\x30\x05\xf5\xb2\x2d\xb0\x96\x32\xd7\x00\x93\xe4\x4d\xe0\x13\x90\xc2\x7a\x14\xb7\x7e\x03\x6b\x36\x8d\xf1\xe1\x2e\xe6\xe0\x8b\x43\x70\xf8\xb6\x11\x8a\x3d\x38\x80\x8e\xc9\x0f\xb6\x1d\x1c\x4c\xdb\xc3\xe0\x98\x51\xb4\x29\xe8\xc3\x08\x30\x11\x48\x73\xde\x60\xdb\xb1\xe7\x8f\x4c\x78\x05\xe2\xf4\x11\x80\x71\x8a\x9c\x44\x92\x29\xa9\x62\xd0\x3a\x86\x9d\xf3\x85\x02\x76\x83\x39\x5d\x76\x5c\x30\x9e\xc8\xda\x74\x6b\x45\x35\xec\x12\xbe\xc7\x96\xc6\xd6\xca\x93\xd6\xa5\x87\xe8\xf8\x60\x2f\xd0\x02\xf8\xf4\x49\xf3\xf4\xb5\x34\xf7\x05\x11\x80\x6f\x98\x46\x89\x9c\xec\x53\x3c\xb4\x1c\x2d\x84\xd0\x49\x3b\x74\xb0\x36\x3d\x2c\x2f\xef\xec\xcd\x41\x2e\x84\x73\xca\x61\xfb\xfd\xde\xc1\x7e\x63\xd2\x2c\x80\x4a\x56\x6f\x60\x31\xa7\x57\x01\xb8\x18\x28\x3b\xe8\x43\x90\x49\x3e\x7b\xea\x81\x3c\x86\xec\xc4\xb4\xe2\x59\x4a\x02\xe6\xf5\xa2\xbc\xcd\x4b\x71\xe8\x6b\x3e\x76\x7d\xb0\x1f\x7e\x7e\x07\x03\x4c\x9f\x8d\x38\xd6\x39\xb6\x0e\x94\xe3\x3c\x2f\x9c\x4f\xe2\x52\x46\xaf\x79\x07\x54\x25\xe2\x35\xcd\x82\x59\x05\x8c\x2d\x3a\xc7\xca\x25\xc7\xc4\xfb\x6c\xae\x50\xd1\xb4\xb2\x66\x25\x2f\x87\x52\x99\xbe\x7c\xbc\xd0\xba\xda\x48\xe4\xf8\x82\xa8\x91\xf3\x90\xb9\x95\x44\x86\x5e\x50\x8b\x02\xf1\xa7\x4e\xbf\xba\x7a\x17\x89\xe7\x88\x36\x2b\x7c\x55\xe3\x87\xb3\xcd\x8b\xe7\x5e\x21\xef\xcf\x6c\x5e\x7d\xb2\xf9\xf9\x0d\x31\xc6\x24\xbc\x15\x18\x28\xcb\xd1\xa1\x83\x38\xa5\x5d\xc3\x71\x02\x83\x38\xcc\x52\x9f\xf1\x4f\x2e\x96\x1c\xb1\x45\x32\x76\xb2\x61\x88\x13\xfc\x50\x1c\x20\xd6\x45\xfd\x93\xbf\xd3\xa9\xeb\x34\xc7\xd0\x42\xaa\xef\x50\x1c\x69\x43\x38\xb3\x3d\x02\xff\xc9\xc5\x72\x62\x81\xb2\x29\xf7\x63\x9e\x53\x8e\x83\x6a\x3c\xc4\x95\x8d\xf0\x93\x36\xfc\x42\x2a\x0c\x05\x8f\xd5\x68\x60\x97\x5c\x60\xa5\x97\xa7\x31\xb5\xbb\x5e\xc1\x54\x73\x0c\x63\xe7\xa6\x35\x09\x01\x3c\xc5\xea\x1e\xd4\x70\x33\x45\x4b\x3e\x51\x79\x3f\x24\x2f\x29\x8f\xab\x88\x25\x0a\xf7\xc4\x18\x57\x4e\x34\x17\xc4\xcb\x3f\xf2\xf0\x96\x83\x85\x1d\xd0\x3d\xf6\x37\xa9\xda\x9e\x87\x07\x75\x4e\xaa\x6a\x23\x35\x82\x6a\x52\x12\x24\x58\xa3\x78\x95\x00\xcb\xf4\x74\xec\xa9\x43\xbd\x61\xb0\x13\x87\x32\x27\x9a\xb3\x81\x89\xf0\x82\xf2\x0e\x78\xb4\x5e\xe5\xf1\x2c\xec\xec\x2f\x95\xec\x61\xac\x4a\xc2\x51\xf4\x0f\xee\xd1\xf7\xa8\xd0\x27\xce\x02\x2d\x7f\x4d\x88\xb9\x18\x6a\x02\x9e\x19\x7d\x62\xc2\x0e\x9d\x76\x68\x71\x67\xb0\x3e\x23\x2f\x18\x8e\xe1\x8e\x58\x04\x51\x64\x56\x50\x56\x3a\x33\x6b\x39\x6c\x6b\x6a\x52\x6e\xa0\xfe\xc3\x65\x52\xde\x7f\xc7\x18\x20\x26\x1e\x04\x1d\x06\x46\x2a\x58\xa8\x21\xfc\x1c\x2f\x8d\x8c\xa7\x60\xd0\x29\x59\x54\x0e\x4a\xd0\xa2\x6c\x00\x08\xcf\x57\x62\x2e\xe1\xdd\x84\xe9\x00\x23\xc1\x7f\xd9\x26\x28\xd6\xa4\x0a\x4c\xa0\x79\xf6\x0a\x28\xd0\x48\xf5\x8a\x10\xf5\x1c\x11\x3d\xba\xa0\x7c\x4b\x9a\x72\xdd\x6e\x7e\xdf\x3c\x0f\x5f\x36\x24\xf3\x1a\xaf\xa4\xbd\xef\xe5\xd8\x12\x05\x38\x01\x8d\x6a\xb6\x5e\xaa\xd9\x15\x36\x2a\x97\x21\x55\x98\x6d\x78\x6e\x83\x76\xfe\xd6\xdd\x4f\x29\x8a\x28\x7d\xa8\xf1\x94\xfd\xdb\xc1\x91\x89\x7e\x15\x1b\x83\x80\xce\x8a\x06\x10\x2d\xda\xd8\x8b\x11\x52\xac\x6c\x3f\xc8\x31\x7d\x97\x25\x3a\x21\xd4\x13\x8b\x94\x0a\xb7\xd4\x4e\xb8\x02\xa3\x0e\xc5\x9e\xa2\x0c\x45\x5e\x29\xac\x0f\xb0\xa9\x05\x68\x08\xe6\x4e\xec\xb6\x3e\x12\x80\xfc\x14\x91\xe4\x50\x41\x24\xbc\xb3\x85\x59\x63\x86\x16\xb5\x40\x77\x5e\x60\x44\x89\xab\x68\x02\xcb\x56\xc9\xa1\x58\x45\xe7\x82\x78\x66\x37\xfc\x5c\xcb\x40\x34\xe3\x72\x88\x0d\x20\x9c\xdc\x7f\x12\x88\xf9\x41\xef\xd4\xd5\xbb\x94\xc1\xc9\xac\xda\x95\xe8\x0d\x77\x18\x8b\x3b\x3e\x70\x32\x41\x62\xb5\x18\x97\x14\x80\xaa\x1a\x7b\x30\xc6\x32\x85\x03\x49\xb4\x85\xa4\x43\xcb\xdb\x11\x66\x70\x44\xc2\x32\x7a\x3a\xc6\x06\xff\xed\xe0\xe0\xf8\x84\xb2\x88\x39\xd9\xfd\x0a\xf3\x63\x6c\x10\x0b\xa8\x0f\xee\x3d\x32\x36\x72\x70\x62\xf0\x08\x5e\x73\xab\x02\x9b\x94\x0d\x8c\x8e\x1c\x18\x57\xc3\x70\x50\x9d\x5a\x55\xef\x23\xc3\x83\xe3\x7d\xca\x5a\x4b\xac\x90\x71\x9f\xaa\x0c\x12\x91\xac\x0e\xc3\xc2\xb3\x57\xc2\x8b\x49\x80\xa1\xd2\x03\xf1\x0d\x80\x32\xe9\x21\x4c\x45\x3f\x53\x1c\xd7\xaf\x5d\x9e\x72\xc8\xd6\x42\xbf\x4b\x35\xa1\x8a\x94\x58\x7b\x6b\xad\xa5\xe3\xcd\x9b\xdf\x7a\x55\xa1\xc8\xcd\xef\x19\x44\x3e\x0e\xf9\xd6\x83\x87\x84\x98\x88\x5e\xb9\xe6\x37\x0d\x54\xbc\x92\xdb\x5b\xc9\x20\xcb\xc4\x53\x7b\xd1\xc2\x68\x0d\x20\xb0\x02\x1b\x30\xc2\x76\x50\x96\xcf\xbf\x32\xd3\x6e\xb6\xa2\x2e\x63\xd8\x7c\x78\x77\x73\x75\x99\x6d\xb2\xde\x59\x56\x32\xc0\x88\xb8\xc5\xe5\x40\x4b\x1a\x84\xf0\x7b\xa6\xfd\x0e\xfc\xcd\x8a\x88\x7a\x7f\x0a\x75\x8d\xe5\xc8\xe0\x7c\x34\x8f\x8e\xe0\x69\x5c\xfd\x4e\xc1\xf6\xa1\x95\xec\xda\xbf\xaa\xef\xa3\x12\x9a\xa5\xc3\xc6\x17\x2c\x6a\xf3\xd5\xa5\xdb\xaf\x16\xee\xbc\xfc\xe9\x0a\x95\x52\x3c\x15\x38\xf4\x05\x0a\x58\x90\x41\x1f\x3b\xec\x5c\xc6\xda\xe6\x48\xb2\x13\xc4\x6f\xa3\x62\xf2\x42\x02\xb5\xf7\x18\x92\x50\x85\x5f\x78\x8d\x94\x8a\xd1\xab\x29\x10\x76\xcc\x61\xb7\x8e\x45\x7e\xfa\xd7\xc3\xf5\x37\xdf\xfc\x75\xfa\x65\x61\x7c\xcf\xc2\x66\x10\x97\x62\xb1\x9d\x73\xd0\x60\x05\x01\x06\xc7\x4c\x4c\x84\x20\x42\x56\x71\x42\x93\x18\x56\x01\x8b\x3a\x0a\xb5\x14\x63\xae\x13\xc7\x06\x4a\x4e\xbd\x68\xbc\x8b\x07\xb6\xea\xbc\x6a\x52\xb5\xb2\x76\xa2\x87\x81\x60\xe3\xa2\x68\x73\xc0\x2a\xd7\x12\x81\xe0\x88\x44\x62\x4e\xd4\xe6\xef\x60\x40\xe1\xb4\x9d\xd8\x03\x45\x0e\xe3\x29\x58\xf6\x1c\x5d\xbb\xf9\x45\xec\x0b\x70\x48\x65\x31\x31\x1c\x70\x59\x65\x13\x44\x0a\x9c\x2a\x2a\xd7\xe3\x22\x3b\x07\xb4\xfc\x99\xe9\xdd\x54\x97\xc4\x18\x26\x36\xb8\x40\x17\xb0\x9a\x1f\xbd\xfd\xf2\x1d\xac\xf2\xa0\x5d\x2a\xf2\x32\xe6\x6e\x0c\x97\xa9\x36\xeb\x24\x9e\xdc\xc5\x29\x63\xd6\x24\x54\x6e\xee\xf2\x63\x47\xa7\x50\xde\x5e\x9b\x09\x7b\xab\x60\x16\x6c\xad\x2e\x0b\xeb\x8d\xdd\x0f\xe2\xd9\x3b\x3c\x39\x5e\xc5\x6f\xcc\xaf\x7f\xea\x21\x84\x05\x2f\xfa\x57\x9a\x0f\xcf\xc7\xd7\x45\x3f\x71\xb6\xf9\xf8\x9b\xcd\xbf\x7c\x42\x56\x56\x40\x63\xb5\xc1\x44\x1f\x9a\xf9\x1f\x99\x9b\xf1\x37\xf9\x79\xb2\x98\xb3\x35\x5c\x9d\x4a\x1d\xbb\xaa\x55\x8c\x2a\x5b\xe7\xbc\x0a\x91\x53\xe2\xab\x95\xc1\x71\x6b\x64\xb0\x08\x8e\x05\x2a\x4b\x31\x53\x31\x33\x11\xf5\x2a\xaf\xe1\xc7\x69\x28\x27\x01\xf7\xfa\x7e\x05\xda\x82\x0e\x8e\x0d\x1b\x2a\xab\x28\xb9\x5b\x2a\x98\x29\x41\xd1\xb0\x9b\x6c\x10\xcd\xcc\x60\x33\x0c\x3b\x51\xbe\xc7\x96\x6a\x82\x65\xa2\xa9\x1c\xc8\x2b\x52\x99\xad\x81\x10\xc8\x6c\x83\x66\x70\x14\x6d\xcf\xb7\x67\x31\xb7\x31\xd3\xe1\x3c\x38\xdc\x94\x0e\x99\x55\x79\xb7\x0b\x23\x90\xe0\x59\xdb\x09\xc7\xe7\xef\xe1\x42\x8b\x7b\x1a\x7e\x10\xd6\xaa\x8b\xdf\x0c\xb0\xc8\xaf\x83\x30\xa8\x24\x6f\x5b\xf8\x49\x3f\xf4\x34\x2e\xae\x7f\x8f\x21\xcb\x79\xb8\x63\xee\x84\x57\xa1\xa2\x10\xdb\xa4\x19\x0b\x0e\x3b\xec\x4b\x4d\xf5\xea\x79\xac\xa4\x39\x84\xb6\xc6\xe0\x5f\xc1\x3f\x2a\xfb\x81\x75\x93\x49\x94\xf9\xd0\x7c\x1e\xb2\xaf\x61\x5c\x41\x2e\xb2\xaf\x69\x48\xdb\xc1\xc7\x60\xaf\x61\x4e\x06\x3b\x17\x17\x1a\xbe\xdc\x45\x86\xc3\x38\xca\xe4\x4f\x1a\xff\xcf\xc6\xc8\x6d\xe5\xd7\xcf\xc3\x8f\x3a\x3b\xa0\x80\x6a\xcd\x6f\x61\x22\xb5\xe5\x14\x1f\x78\xe0\xb1\xed\x5e\x92\xb4\x67\xf8\xc3\xcc\x8b\x5f\xea\xd1\xe5\xd0\x23\x85\xd1\x98\x3e\xea\x95\x3e\xdc\x15\xba\xdc\x31\x34\x44\x80\x20\xa5\xa8\x6b\xde\x51\x1e\x56\x59\x67\x3d\x77\x5c\x6f\xaf\xcd\xee\x75\xd3\xe9\xdb\x6a\x5e\xcf\xbe\x69\xb3\x69\x75\x95\x44\x0f\x7d\x27\x6b\xbb\xfc\x7e\x28\xb8\x8c\x3c\xff\xc3\x3f\x80\x46\x80\xc3\x70\x60\x2c\x68\xc3\x87\x79\xa4\xbb\x40\x91\x59\x7e\x61\x05\xe6\x40\x79\x47\xfc\x1d\xe6\x5d\xe8\x87\xa4\x92\x57\xe1\x25\xad\x68\xda\x1f\x4b\xe4\x97\x0e\x07\x15\x99\xdd\xb0\x04\x6c\xcb\xb4\xe6\x3e\x37\x41\x9d\xc6\xb9\xa8\x39\xa2\x6c\xc3\x49\x56\x8c\xc1\x9e\x33\x0e\x53\x73\x8c\x11\xb7\x4f\xd8\x69\xf8\x0b\x34\xb3\x53\xae\xc9\x63\xc7\xd7\xb1\xcc\x08\x4e\xa0\x33\x54\xa2\xc9\x67\xa7\xf4\x65\x1c\x33\xb7\x91\x6b\x82\x2f\x41\xce\x85\x08\x95\x18\x23\x7f\xdb\x2e\x5b\x2a\x4e\x72\xe4\x74\xd8\x2d\xa1\x0c\x9e\x1e\x63\x37\x34\x5e\x02\xcf\xf8\xf8\x7b\x2c\x2c\xb8\xe4\x1c\x63\xf1\xfc\xfa\x7b\x31\x4b\x5d\xa5\x26\x08\x49\x83\x41\xd4\x06\x03\xc9\x82\x89\x3c\xcd\x9b\xdf\x36\xff\x7c\x3a\x75\x07\x8c\x25\x11\x44\x63\x12\xab\x75\x3a\xe5\x70\x9d\x11\x1e\x20\x4f\xc5\x1d\x53\x8c\x97\x84\x8a\x20\x8f\xe8\xc3\x09\x8a\x7d\x7a\xaa\x70\x46\x89\xc1\xae\xb6\xae\x9f\x12\x80\xbf\x12\x92\x4f\xfb\xe3\x65\x7e\x28\x65\x44\x5a\x74\x82\xd5\xce\x58\x16\x25\x59\x71\xad\x7a\xd1\xe9\xa9\xd5\xe6\x69\x6e\x13\x13\x05\xa4\x67\xd9\x1d\x6d\xeb\xcc\x3a\x3a\x7e\x1b\x17\x44\x58\x71\x0a\xfd\xbc\xe2\xc7\x18\xd9\xe5\xa3\x99\x8b\x8c\x8c\x61\x6e\xf6\x74\x16\x33\xed\xc4\xd9\xb8\x02\x48\x69\x54\xf2\x04\xda\x7f\x40\x9f\x47\x12\x4b\xb4\xf4\x0b\x4b\x8e\xcf\x32\x01\xa1\x9a\x83\x89\x0d\x23\xd7\xe3\x2e\x92\x80\x74\x56\x35\xd2\x5b\xca\x81\x61\x75\x6a\x0c\xc4\x2f\xf6\xf0\xd9\x74\x2d\xf9\x3a\xca\x63\xaf\x34\xe0\x74\xb3\xa0\x56\xb5\x2d\xe6\xfd\xb3\xcb\x45\x7b\xce\x2e\xd6\xcd\x92\x17\xbe\x48\xc5\x7c\xe9\x46\x17\xba\xa8\xd5\x95\x89\xf1\x74\x61\xb3\x79\xfa\x87\xd6\xa3\x45\xaa\x2e\xb7\xb8\xb1\x78\xb7\xb9\xb0\xcc\x12\x0f\x62\x02\x0b\x19\x6c\xb5\x97\x17\x75\xee\x52\xf3\xf9\x65\x6f\x82\x54\xa1\x08\x3e\xa9\x45\x4c\xc9\xaa\x94\x4c\x16\xe8\x3d\xd2\xef\x95\x81\xf6\xa2\xcc\x45\x29\x3f\x17\x33\xd9\xd4\xb9\x6a\xac\x32\x1f\xab\x9a\x2d\x41\x18\xf0\x26\x43\xa5\xa2\x25\x32\xef\x6d\xdd\x5a\xd9\xbc\xfb\x24\x55\xa6\x14\x14\x4f\xdb\x73\x16\x09\x70\x97\x6b\x4c\xd7\xed\x62\xaf\x61\xf4\x23\xd8\x3c\x6d\x22\x33\x96\x59\xc2\x98\x2f\x84\x05\x26\xa6\x63\x48\x77\xa5\xee\x47\xd0\x53\xe1\x38\x97\xa2\x49\xab\x16\xe6\xb6\xa9\x56\x75\x10\xf3\xf8\x86\x1c\x2a\x6d\xec\x3b\x38\xb4\xd7\x48\x1e\x94\x1f\x19\x2a\xbd\xc8\xea\xce\xb0\xa4\x80\xd6\xc2\x7d\x2f\x2e\x82\x4d\xbe\x88\x80\x5e\xf7\x5c\xdc\xad\xd3\x7f\x6e\x9e\xfc\x41\xca\x14\x50\x67\xbd\xa6\xb0\x0b\x14\x5f\x1c\xbb\x42\xcc\xa1\x20\x8f\x36\x98\xe3\x79\xaf\x33\x71\xc6\x7b\x8b\xb1\x65\x3b\x87\xcf\xed\x76\x0d\x16\x78\xfe\x91\xb6\x64\x24\x58\x5a\x20\x9b\x98\x04\xde\xdd\x31\x96\xf4\x1c\xb5\xe6\x77\x92\x2d\x3e\xec\xe8\xeb\xce\x1f\xdc\x95\x75\x38\x43\xf6\x43\x7b\x7c\x09\xdc\xf1\x65\x64\x47\xe0\xdd\x1d\x60\x47\xcd\x2c\x1c\xf5\xd8\xa1\xe6\x06\x3e\xd6\x36\x37\x70\x63\x66\x45\x04\xb2\x73\x43\x7a\x37\x4f\x6e\x78\xb9\x40\xd2\xa6\xee\xca\xbb\x3a\xfe\x68\x99\x05\x96\x48\xdd\xc3\x32\xf9\xd8\xb3\xaa\x7d\x93\xed\xf4\x98\x7a\xc7\x82\xb5\xfe\x0a\xff\x95\xde\x8e\x4b\x25\xb8\xcf\x2b\x99\x25\x1b\x03\x72\x52\x50\xc4\x30\x48\x19\x67\x1c\x58\x48\xdb\xd0\x3a\x29\x68\x39\x72\x52\x51\xc7\x44\xb6\x8f\x97\xa3\x0f\x81\xd3\x11\xc1\xd5\x3a\x2b\x50\xc2\x6a\xe2\x30\x65\x1a\x44\xe6\x0e\x07\x00\x7a\x6a\x45\x3f\xe3\x3b\x43\xc4\x9f\x0e\xc0\xe8\x9a\xf8\xbc\x9a\x71\xc8\xe4\xd4\xf1\xd6\x05\x0e\x18\x05\x1b\x51\x34\xf9\xa2\x70\x3b\xf7\x66\x06\xcb\x34\x71\xe1\xa7\x81\x9f\x8d\x5b\x3b\xbe\x69\x2d\xab\x12\x9d\xd3\x52\xcc\x88\x80\xa4\x77\xd9\x40\xde\x85\x71\xe5\xe1\x9b\x8d\x36\x99\x0b\xc9\xed\xad\xe7\xce\x87\xd3\xd6\xd2\xef\x7c\x68\xe9\x5a\x20\x07\xb9\xeb\x54\x61\xe8\x0c\x53\xdc\x79\xbe\xe7\xb8\x35\x7e\x77\x01\x7f\xed\xa5\xb2\x35\xfc\x2c\x0b\x7f\x0f\x62\xfc\xbd\x45\xc7\xd6\xd4\x4b\x51\xfd\x96\xda\xa5\x68\xcf\x1f\x45\xd5\xa4\xfc\x68\x53\xb7\x99\x4c\x25\x7d\x80\x97\x8e\x99\x2c\x53\x61\x92\x72\x0c\x6b\x51\x0c\x9b\x98\x48\x61\xa0\x22\x95\x62\xd1\x3e\x41\xb3\x64\x07\xa9\x17\x31\xbc\xe7\x45\x90\xd3\xa9\x0c\x98\xc4\x63\xc1\x00\x02\x4d\x4c\xd2\xd0\xe5\x78\x1b\x09\x3e\xa1\x7e\x25\x78\x89\x2c\xdc\xe5\xf3\xac\x4f\x27\xe9\xf9\xfb\x3a\x95\x59\x95\xbd\xa5\x32\x3b\x69\xc4\xbc\x50\x89\x37\xeb\xd5\x7d\xf8\x27\x34\x8a\x72\xd5\x66\xf1\x92\x68\x63\x6d\x62\xa0\x53\x23\xc9\x93\x9e\xf4\x22\x37\xd8\x61\x2a\x79\x65\xff\x63\x36\xec\xd5\x93\x16\xc7\xfb\xac\x57\xc9\x03\x5f\x9a\x17\x99\xeb\x7e\xd9\x53\xb9\x86\x4b\x4a\xe2\xb1\x5f\x46\x8b\xa1\x11\x08\x3c\xb0\xf5\xb0\xe9\xaf\xe6\xd7\xcb\xc7\xa7\x89\x11\x6b\x1b\x8b\x2f\x38\x84\xa8\x64\xbe\x2b\x46\x88\x06\x57\xf2\xd4\x2c\xad\xaa\x5e\x65\x3b\xe4\xa0\xb4\x8d\x1c\x12\xdb\x08\xcd\x98\xab\xcc\x04\x4a\xdc\xf8\x14\x6e\xb9\xf1\xc1\x81\x83\x63\x43\x13\xef\x1b\xfb\xc6\x46\x0e\x8e\x2a\x0d\xd5\x74\x93\x4d\xd5\xfc\xd8\xa1\xa1\x81\xc1\x44\x9c\x6a\x79\x71\xa5\xa0\x55\xf3\xe6\xd4\xb0\xd9\x7e\x4b\x89\x0d\xa4\x96\x17\x8e\x3e\x17\xdf\xdc\x68\xff\x80\xaa\xc6\xb1\x6c\x1d\x27\xbc\x9d\xc2\x1a\xbf\x8d\x34\xd6\xb0\xc6\x12\xa1\xbc\x03\xcd\x25\x03\x7a\xb3\xe6\xf6\x0e\x1e\x1a\x1c\x1e\x19\x55\x82\x7a\xcb\x0d\xbe\xba\xb4\xbc\x79\xf5\x49\x0a\x7d\xc9\x18\xe1\x81\x03\x05\x9e\x2b\xf5\xc0\xc2\xa9\x69\xb5\x4c\xa4\x4e\xc3\xf8\x7b\x3c\x65\xba\xad\xbb\x3e\x7c\x1d\xf4\xca\xe6\xe7\xdf\xa2\x9e\xe8\xf4\xe2\x6f\xb5\xf5\xa7\x2f\x37\x7f\xf8\x4b\xca\x59\x07\x84\x72\x40\x85\x38\x2f\xbb\x22\x14\x6f\x17\xcc\xd2\x3f\xec\xfd\x14\x0d\x9f\x78\xef\x57\xb6\xd1\xb3\x7c\xc7\xc5\xa1\x38\x59\xcd\xea\x28\x43\x95\xb2\x0d\x56\xe6\x00\xd2\xc5\x41\xfc\xc8\x34\xdf\x8c\xf5\xe0\xbc\x34\x48\x88\x6d\x3d\x73\xea\xab\x06\xc5\xf0\x9d\x55\xad\x3a\xd5\x23\xb3\x69\xf5\xf8\xdb\xa5\x3a\xa6\x07\x05\xb1\x25\xab\xe0\x95\xcc\x31\x76\x83\x81\x41\x1e\x40\x38\x93\xa1\xc1\x80\x46\xe2\x51\xbb\xf2\x86\x7a\x62\x03\xd1\x7f\xaf\x16\x1f\xb7\x4e\xff\x55\xc6\x10\xf0\x30\x6e\x06\xa9\x3d\xee\x46\x6e\x5c\x68\x9d\x7e\xea\x9f\xcf\xf0\xcb\x25\x3a\x81\xf1\x17\xdf\x50\x0a\x03\xa3\x96\xad\xb9\xac\xc4\x7a\x11\x7f\xdb\x4f\x66\x75\x0e\x5a\xa1\x09\xe8\x66\xff\x80\x6e\x2c\x5a\x7d\xc6\x5b\x6f\xbe\xf9\x76\xb7\xc1\xe7\xa4\x4f\xc0\x86\x62\x79\x5f\x29\xf5\x64\xd2\x2a\x98\x75\x86\xaa\xe6\xd5\x0c\xa8\x48\xf8\xe8\xea\x98\x46\xb1\x99\x9f\x17\x52\xb2\x42\x99\x8b\x4f\x09\x94\x44\x7c\xe6\x6a\x15\x91\x71\x18\x41\xf8\x2b\x02\x50\x2f\xd1\xb5\x20\xee\x1c\x7d\x46\x30\xd9\xe1\x8c\x7f\xeb\xf3\x78\xe1\xd5\xd2\x0a\x59\x77\xeb\xa2\x00\x01\x61\x47\x61\x0f\xf1\xd9\x2f\xa2\x8a\x8b\x46\xf5\x81\x20\xe3\xb8\x03\x87\x71\xee\x37\x6f\xfe\x3a\xc2\x4a\xfc\xca\xe3\x25\x16\xcc\x16\x80\x98\x66\xbd\x36\xe3\x54\xed\x3f\x30\x8c\xac\x0a\xc7\xcc\x25\x6f\x8a\x87\xe8\xc6\xea\x6d\x67\x67\xa4\xf0\xf2\x78\x2c\x04\xca\x12\xf9\xcb\x7e\x0e\x33\x58\x8a\xde\xb8\x21\xf2\xa6\x25\x44\x79\x0e\xfc\xb4\x1e\x13\xb8\xd3\x09\x0b\xfb\x8c\x7e\x96\x1c\x8e\x67\x08\xab\x4c\xf5\x65\x89\x73\x45\x87\x18\x47\x95\x7b\x2a\x55\x7b\xce\x2e\x59\x1c\x16\xc5\xfa\x08\x74\x0b\x65\x0d\xdb\x6e\x1a\x8c\x68\x46\xb6\x81\x98\x05\x80\x52\xd7\x5b\xcb\x17\x9a\xe7\xef\x45\x41\xd6\x84\xef\x54\x82\x11\x6d\x5c\x10\x3c\xc2\xf4\xb6\xcd\x53\x3f\xb6\x56\xbe\x8a\x22\xe3\x29\xaf\x0a\x12\xd8\x84\x9e\x8b\x6a\x75\x9c\xbe\x1a\x80\x6f\x3e\xfe\x38\x28\x78\xec\xf7\xfe\xd1\xa1\x41\xfc\x52\x3c\xe1\xc9\x21\xfb\x39\x90\x45\x9c\x03\xb7\xa2\x44\xa9\x65\x2e\x8e\xc0\x38\x11\x8c\xa3\x54\xc9\x2c\xf4\x13\x50\x88\xc0\x04\x45\x1d\xc0\xbb\xc3\xe6\xa4\x55\x62\x5b\x8d\x40\x2f\x8a\x6c\xc6\x3a\xf8\x3e\x5b\x0f\xce\x6e\xad\x3c\x95\x23\x0f\xd4\xad\x27\x6c\xc6\x89\x53\x8d\xd4\xbf\xe3\x85\xb8\xc6\x02\x63\xe8\x90\x1a\x1f\xb7\x9a\x8e\x91\x91\x4a\x9b\x70\x80\x08\x75\x4f\xaa\x5f\x14\xfd\x4a\xb9\x50\x48\xcd\xd2\x5c\x97\x95\xb9\x00\x86\xbd\xaf\x5b\x92\x7a\x3c\x3d\xd9\x3c\xd5\xb5\xd2\x4e\x8a\x79\x7b\x1e\x96\x38\x6a\xe3\x9d\x4c\xed\xcd\x7e\x26\x2f\x56\xfb\xf2\x20\xc8\xef\x8b\x44\xf5\xb6\x4b\x67\x4c\x4b\x89\x14\xa8\xca\x85\xc6\x60\xb4\x77\xec\x46\xdc\xb9\xc2\xa1\xed\xcf\x88\x87\x4c\x10\x64\xc0\xe1\xf2\xc4\xd0\x68\x9f\x31\x34\x85\x28\xb0\x64\x7f\xd4\xaa\xf3\x74\xdf\xe1\x70\x68\x03\xd3\x98\x7b\x2b\x82\x6f\xd0\x4d\x8f\xcf\xd6\x5d\x66\xfc\xa1\x65\xd2\x53\xa1\x5b\x37\x6d\x1e\xc5\x14\x23\x55\x0d\xee\x70\x79\x63\xe9\x02\xcb\xce\xed\x43\x6a\xd2\xdb\x0a\x01\xac\x05\xf0\x11\xf9\xfd\x24\x47\xf9\x02\x2d\xb2\xb0\xd8\xc3\xca\x33\x88\xe8\x36\x61\xf1\x11\x48\xd8\x8b\xe3\x60\xea\x84\x0a\xcd\xe9\x73\x3b\xb3\x6a\xc9\xa9\x46\xeb\xb8\x2a\x67\x20\xbb\xda\x88\x09\xcc\x6f\x5f\x0e\xe5\x65\x9c\xc5\xc6\xf8\x2c\xa4\x02\xf4\x77\x7d\x75\xb1\xbf\x54\xc7\x21\x6f\x40\x7d\x78\x94\x68\x53\x35\x51\x0b\xa7\x81\xb3\x4b\x79\xcd\xa4\xf8\xb5\x50\x76\xb8\x90\xcc\x64\x4f\x11\x74\x2a\x50\xcc\x30\x3a\xbb\x64\xf5\xe2\x02\x1f\x1e\x19\xe8\x1f\x1e\xc4\x1d\xba\x6b\x60\x78\xb0\x7f\xac\xab\x1b\x4f\x9f\x73\xb6\x03\x96\x23\x7b\x8c\x59\xd5\x88\xb1\x93\x00\x46\x1c\x04\x24\x43\x83\xe2\xa1\x70\xbe\xac\x46\x29\x04\x79\xe0\xfd\x82\xd0\x18\xd4\x2f\xea\x3c\x79\xf1\x09\xd8\x6c\xa9\x19\x04\x35\x63\xb9\x94\x1a\x51\x33\x38\x5c\x16\x81\x79\x84\x8a\x89\x1c\xa9\xcd\x57\x78\x1c\x2c\x9a\xff\xac\x10\x41\x17\x86\xfd\x77\x21\xd8\x60\x57\xd9\x29\x5b\xaa\x5a\xc1\xd1\x76\x64\xbd\x20\x5a\xf1\x8f\xdb\xac\xb1\x48\x95\x81\xc5\x55\xed\x89\x02\x8a\xe6\x6c\xeb\x98\x8f\xbc\x6f\x23\x80\x82\x52\x32\x42\x55\x79\xd7\x08\xbd\x18\x51\x13\x24\xd6\x73\xe2\xb4\x02\x5e\x03\x24\xcc\xf8\x25\x8a\xc9\x41\x81\x7b\x63\x62\xba\x46\xb4\x46\x70\x28\x36\xf3\xb9\x28\xd9\x13\x70\xb3\xb4\x49\x28\x47\xb6\x94\x41\x1e\x28\x63\x67\x90\xff\x99\xe4\x8e\x54\xc3\x3d\xb0\x5c\x1a\xbf\x0d\x23\x38\x7b\x5a\x4e\x44\x46\x5a\x60\x95\x23\xca\xab\x07\x0c\x40\x05\x5b\xf9\x37\x87\xcc\x52\xdd\x62\x40\xb4\xd5\x7f\x44\x77\x6c\x50\x67\x85\xf9\x40\xab\x28\xc4\x88\xb6\x19\xfe\x9f\x71\x70\x81\x1c\x36\x2e\x26\x61\xab\x93\x00\x93\x14\x78\xc1\xc6\x85\xf8\x0a\x92\x6d\x0e\xec\xe7\x0b\xfd\x69\x8f\xde\xd7\x3f\xee\x27\xbf\x71\xbd\xbe\x41\x3f\x19\xc7\x38\x83\xd6\xbe\x49\xde\x32\x84\xf7\xf2\xae\xe4\x29\x93\x21\xc9\x49\xcb\x91\x8b\xee\x72\xbc\x25\x6e\x05\xf8\xf7\xee\xde\x6a\xf8\xff\xd8\xbb\xf6\xe6\xa8\x8e\x2b\xff\xff\x7e\x8a\xbb\x5b\x9b\x82\xd4\x4a\x8a\xed\xca\x5f\xe4\x8f\x94\x82\x01\xb3\x65\x1e\x05\xc2\xa9\xc4\xb8\xc8\x48\x73\x91\x66\x3d\x9a\x3b\x3b\xf7\x0e\x58\x9b\x72\x15\xe2\x65\x6c\x09\x9b\xf8\x81\xad\x18\x1b\xc7\xc6\x16\x20\x83\xb0\x71\x1c\x16\x8c\xf9\x30\xd1\x48\xe2\x5b\x6c\x9f\x73\xba\xfb\x76\xdf\xdb\xa7\x6f\xcf\x68\xf0\x3a\xde\xad\xad\x4d\x19\xcd\xed\xee\xd3\xaf\xd3\xe7\xf9\x3b\x00\xb0\x74\xee\xab\xf5\x2b\x55\xf5\x23\x81\x14\x52\x4d\x90\x84\x62\xc0\x90\x84\x09\x1e\xf6\x9d\x36\x49\x2e\x8d\xc9\xde\x68\x73\x46\x41\xab\x9c\x9c\xcc\x51\x8f\xed\x18\x4c\xce\xa7\x9f\x63\x1c\x07\x44\x4d\x42\x7d\xb2\x90\xe7\x13\xe9\x68\x36\x0b\x95\xce\xb7\x22\x8b\xea\x88\xc8\x70\x02\x66\xe2\x26\x5f\x48\xf2\x03\x9c\x54\x7f\x33\x02\x70\xd0\xce\x2c\x79\x6f\x71\x2e\x32\x16\x7c\x7b\x2d\x0f\x0a\x87\x23\x1e\x8f\x42\x12\x7f\x46\x95\x12\xa8\x26\xfd\x88\x68\xac\x80\x81\xe1\xbc\xb7\xe3\x4e\x8d\x98\xaf\xfc\x99\xca\x43\x8b\x9f\x04\x27\x43\x64\x67\x0e\x0c\xb8\x10\x08\x2e\xe1\x47\x4b\xd3\x88\xb6\xdb\x1f\xae\xa2\xb2\xf7\x67\x89\xa8\x28\xf7\x57\x57\xe4\xcf\x8b\xde\xeb\xda\xd1\x6b\xf7\x17\x40\x56\xd6\xd8\x01\x79\x24\x8b\x51\x3b\xa1\xd0\x56\x06\x71\xbf\x81\xf5\x1a\xde\x29\x16\x5a\x28\x7e\xbc\x6a\xe5\xe1\x49\xfb\xb4\xf6\x7b\x70\x88\xc2\xb8\x13\x0a\xaa\x35\x10\x9c\xb5\x9f\x4d\x86\xae\xc1\xa0\x98\x42\x35\x02\xf0\x30\x55\x8d\x61\x39\x7f\xc4\x44\xd0\x93\x43\xa5\x0a\xc3\x47\x45\xb8\xce\x7a\x9c\xd5\x1a\x4d\x79\x4f\xcc\xb2\x6a\x45\x83\x08\x47\x92\xae\x6f\x51\xad\xe7\x9b\x85\xfd\x6e\x6f\xde\xb8\xbb\xf1\xcd\x9d\xbe\x96\x89\xa4\x21\xcf\x1e\x94\xa0\xa3\x07\xd9\x8c\x4e\x3c\x85\x15\x8c\x85\xe0\x1a\x9f\x80\x77\x91\x4b\xb4\xb8\x72\x6a\xf3\xd1\x9f\xac\x54\x34\x69\x19\x5b\xd2\x82\x77\xf8\xa8\x25\x13\x9d\x67\x9a\x01\x16\xe5\x41\x26\x9e\x1a\x86\xc5\x7e\x46\x97\x79\x47\x83\x8c\x48\x49\x3e\xbe\xb1\x2c\x8f\xe5\xc0\x43\x54\x9e\x1c\x2b\x31\x7f\x18\xa7\x88\xc6\x0d\xb9\xd4\x85\x39\x0e\xe3\x6a\x03\x93\xd7\xd9\xa6\x68\xf7\xa0\x44\xe1\x9f\xa0\x26\x86\x25\x50\x55\xae\x92\x61\xa4\xc9\x97\x2a\x50\x86\x81\x35\x2b\xa7\xb9\x0e\x47\x85\xfd\x11\x41\x07\x59\x79\xb2\xd7\x73\xad\xa8\xbf\xf5\x7a\xb9\xd1\x96\xe8\xfa\x0a\x69\x07\xe3\x22\x84\x66\x1a\x0c\xcf\xb8\xe2\xc2\x66\xb4\x00\xf5\xd5\xb3\x7d\x86\x64\x26\x67\x80\x87\x87\xbe\x99\x24\xcd\x90\x97\x21\xd8\xaf\x0f\xc1\xe1\xef\x67\x3e\x94\xe9\x5d\x26\x3b\xbb\x76\x05\x9c\x9e\xfd\x8f\x6b\x15\xd9\x96\x2a\x15\x18\x67\x94\x4d\x67\x2c\xda\x9f\x64\xf0\xca\x24\xb3\x42\xb5\xaa\xc7\xf5\x7f\xee\xdb\xa2\x53\x45\x1d\x54\x16\x7a\xf3\x7a\xef\xf3\xeb\x86\x79\xd1\x6f\xbb\x0e\xc4\x2c\xf1\xb4\x8e\x86\x52\x4d\xc3\xc3\x87\x87\x57\x59\xc3\xa0\x37\x24\x6c\xaa\x40\x07\x67\x08\xc7\x4e\x49\xa4\xa6\x28\xcb\x74\xb0\x82\xa3\xc1\x15\x46\x95\xd4\x1c\xba\x41\x45\xd6\xd4\xef\x7e\x14\x3b\x18\x78\xe9\x43\x16\x9d\x5d\x65\x08\x98\xa7\x0a\xc0\xb2\xfc\x3b\x6a\x3c\x58\xd6\x43\x74\x83\x7e\x00\xfc\x09\xc3\xb6\x54\x78\xfd\x88\x2e\x56\x43\x9f\x43\xa0\x8c\x2c\x04\x22\x98\xb9\x7a\x2a\x4f\x26\x1d\x84\x7a\xd6\x35\xce\x78\x1f\x41\xae\x62\xa8\x1a\x21\xb2\x22\x39\x42\x4d\xbc\x56\x70\x10\xc8\x9f\xe6\x17\xed\x08\x7d\x0a\xce\xba\x8e\x91\x1f\xa5\x5a\x39\x94\x81\x9a\x57\x8c\x5b\x25\x60\x08\x18\xee\xf3\x5b\x4c\x35\xf6\x15\xbb\x60\x89\xdf\xa9\x80\xda\x23\x71\xec\x1f\x56\x9b\x34\x2b\x14\x99\x0a\xe3\x4f\x57\x7d\x94\x06\xb5\x01\xd2\x1f\xc2\xed\x64\xdc\x85\xe9\x0f\x9a\xe6\xf1\xe5\x85\xde\xf2\x42\xd5\x33\x47\x7d\x0a\xb1\x28\x6b\xcc\xc6\x49\x37\x3b\xda\x92\x5e\xf6\x71\x23\xd6\x1c\x7d\xe7\x93\x94\xea\x1d\x9b\xe5\x1a\x3b\x8d\xe9\x99\x2c\x02\x47\xd3\x18\x86\xd5\x08\x2e\x04\xef\xe4\x4c\xad\x53\x87\x00\x2e\x65\x96\x84\x0f\x46\xf0\x74\xc2\xbf\xfe\x15\x8a\xcc\x38\x4d\x92\xbc\x87\x57\x4e\x4b\xce\x49\x1c\x2c\xd8\xd4\x4f\x30\xa2\x4d\x48\x22\x17\x80\x6a\xc3\xed\xce\x57\x72\x86\x7a\xa3\xb8\x24\x67\x8d\x32\x2b\xcb\x72\x62\x91\xc1\xf7\x6e\x62\x92\xb0\x38\x12\x77\x8c\x5a\x74\xf2\xe1\x55\xa7\x4b\x75\x00\x0e\xfc\xb7\x28\x20\x4c\x45\x86\xbd\x96\x9f\x70\xe8\x93\xd8\xc3\xb2\x38\x99\x34\xf9\x82\x75\xaa\xef\x92\xb9\xb4\x6d\xdd\x56\x5e\x9c\x55\xef\x1b\xac\x32\x38\x2d\x76\x52\xf4\xa0\x72\xde\xcc\x26\x9d\xd8\xb4\x40\x31\x2b\xad\x0e\xcd\x6a\xef\xda\x57\xeb\xef\x69\x31\x04\x7c\xf7\x85\x35\x16\x4a\x3f\xfe\xfd\x2d\x74\x2d\xda\x03\x7a\xa6\xe4\x99\x4f\x5c\x27\xa7\x39\xfd\x37\xeb\x65\x57\x24\x5a\x71\x8b\x85\x96\xfc\x20\x3f\xd9\xbc\x02\xe3\xba\x87\x88\xfd\xb0\x16\xdd\xb6\x8a\x31\x1d\xa1\xc8\x98\x24\x6a\x75\x21\x03\x3f\x81\x8a\x63\xf4\x07\xe5\x9b\x27\x5c\x2c\xf9\x39\x67\xb3\x21\x60\x28\x33\x72\x14\xde\xc3\x45\x2a\xa1\x69\x06\xaa\x38\xab\x85\xa9\xcb\x6d\xd6\xaf\x5f\xc1\x4b\xfc\x40\x39\x6d\xab\x12\xdb\x20\x66\xd3\x87\x2a\x71\x6e\x81\x6f\xd7\x4d\xd5\x21\xca\x3c\x89\xb9\xa8\x65\x59\x1f\x32\x1d\x26\xed\x3e\x50\xc4\xe6\xaf\xac\xdf\xfa\xb4\x92\x55\x27\xed\xf6\x4f\xf6\xf8\x1a\x4b\x10\x72\x7c\x51\x50\x19\x95\xc1\xaa\x75\xfe\xc9\xcd\x5f\x7c\x8a\xc5\x64\x9e\xd6\x89\xbd\xfb\x76\x1d\x38\x32\xc1\x74\xa3\x7e\x65\x9a\x1e\xe4\x0b\x98\xe5\xfc\x92\x2b\xd1\x45\xcd\xc5\xbf\x8f\x00\xdf\xde\xb9\xfb\xd8\xfe\xf1\x7d\xbb\xa4\x44\x3b\x0a\x1a\xf8\xa8\x8a\x4c\x1d\x55\x10\x4d\x70\x2d\x67\x6b\x2f\x93\x49\x4a\xff\xac\x6c\x7e\xa9\x51\x30\x5d\x7c\xb8\x73\x37\x0a\x70\x01\xf4\x89\x9f\x5d\xb1\xab\xb6\x35\x18\x6a\xf7\xec\x36\xde\xd7\xf9\x45\xc5\xe8\x51\x74\x02\x29\x90\xc2\xd7\x56\xd4\x45\x5f\xa1\xc0\x99\xc0\xa9\xd9\x2f\x07\x7f\x19\xf0\xa9\xdb\x29\xeb\x89\x62\x66\x2e\xa6\x22\x08\x99\x65\x8e\xe2\xe8\x65\x6d\x51\xe5\xd8\x35\x74\xb6\x54\xbc\x9b\x59\x03\x71\x46\xe6\x30\x88\xb0\x43\xd8\x7c\xbe\x38\x22\xfd\xea\x29\xb8\xd2\x55\x29\x64\x02\x3b\x5a\x7c\x3c\x7f\xc3\x2c\xe4\xad\x0b\x91\x4a\xa9\x92\x15\x46\x16\x0d\x30\x3d\x55\x04\x1c\xe6\x0c\xe1\xc2\x56\x9f\x95\x4a\x7f\x31\x2e\x72\x32\x9e\x69\xb4\xea\x42\xfe\x3f\x2e\xf4\x9f\x93\x58\x6f\x04\x8b\xd2\xfd\x67\xb7\xd1\x41\x30\xbe\xe7\x26\x26\x0e\x42\xcc\xf3\x2b\x73\x23\x64\xe5\x20\x24\xa3\x99\x2c\x6b\xa7\xc7\xf0\xef\x6e\x9f\x31\xa6\x25\x74\x40\xa7\x12\x0b\x2d\x9e\x88\xb1\x68\x57\x33\x8d\x47\x22\x0c\x42\xa2\xe2\xfc\xad\x38\x03\xed\x0b\x54\xe7\x56\x8c\x79\x1f\x01\xeb\x9a\x8b\xea\x24\xd2\x9d\xbe\xa1\xa2\xab\x96\xd7\x1e\x7d\xb4\x79\xeb\x6f\x76\x56\x06\x54\xfe\xc5\x29\xa8\xda\xcd\xb7\x70\x59\x21\x7b\x46\xc5\x40\xde\x34\xc3\xb6\xcc\x79\x59\xb2\x97\xd0\xe3\xa4\x40\xf8\x96\x7a\x9f\x4a\xb0\xad\xa7\xdf\xde\xf8\xf4\xfe\xe6\xcd\x8b\x4e\xf9\x8c\x20\x8a\xd6\x1e\x7c\x8e\x95\x30\xad\x58\x31\xcc\x0d\x25\xcd\x7f\x95\xc2\xed\x65\xee\xa4\xb7\x43\xcf\x06\xef\x4f\x24\x53\x57\x81\x4f\x23\xb9\xb4\x77\x9c\x2a\x33\x18\x42\x18\xd4\xca\x94\x06\x0b\x7f\x64\x94\x29\x37\x9b\xf6\xeb\x45\x57\xcc\x94\x01\xf2\x9a\x9f\xca\x79\x86\x84\xa2\x1c\x68\x47\x56\xb9\xba\x0f\x13\x17\x71\x35\x8e\xc8\xa9\x8f\x1f\xdc\x6b\xcf\x1a\x6c\x36\x8d\x56\x37\xd6\xe1\x01\x8d\x16\xfa\xb2\x6d\xdb\x5d\xf5\x6a\x3c\xfe\xe8\xe3\xdc\xab\x2d\x8e\xe5\xfc\xcd\xc8\x63\xc7\xc3\xca\x0e\xdf\x2e\x61\x6e\xac\xcd\xf9\x4a\x34\xf6\xc5\xe4\xd4\x34\x77\xee\xd6\x3d\x58\x8f\x27\x4e\x39\x16\x9a\x80\x98\x1f\xde\x3f\x2b\xb2\x4b\x97\x5c\x86\xf7\x22\x3e\x7e\x5c\x5c\xc8\xea\x89\x8b\xd3\x29\x58\x17\xd8\x75\xad\xab\x72\x5b\x31\xbf\x45\x0b\xf4\xd7\xc3\xf3\xbd\x64\x0f\xb8\x0a\x12\x23\xb7\xa0\xde\xd4\x5a\x0a\x6a\x03\xcb\x1a\x0f\x7f\x49\x02\x57\x82\x2a\x7f\x81\x42\x98\x43\x6a\xc8\x92\xf8\xe6\x9b\x29\x58\xda\xf5\xef\x94\xd9\xc4\xb7\x78\xe5\xd9\x0e\xb6\x6c\xd6\x05\xf9\x11\x9f\x96\x01\xe7\x99\xb3\xc1\x23\xed\xba\x10\x2f\x74\x01\x02\x7b\xe2\x5d\xfc\x91\xb2\xeb\xaa\x2b\x99\xe4\x6c\x51\xea\xfb\x8e\xd2\x26\x62\x86\x58\x62\xb8\x3c\x13\x0f\x25\xc1\x53\x3b\x30\x31\xfe\xfc\xb1\x7d\xbb\xf6\x1d\x38\xf4\x3b\x4e\x34\x35\x3f\x71\x77\x52\x9b\x26\xc5\x06\xfe\xc3\x13\xba\x2e\x0e\xe8\x1d\xf3\x3b\xa6\x33\x21\x38\x41\xa4\xad\xe1\x5d\x6f\x26\xd3\x7d\xc6\xe6\xe4\xee\x76\x78\xba\x31\x70\xe0\xd1\xc3\xde\x9d\xef\xfb\x0b\xb2\x9d\x30\xa3\x7f\x4d\x4d\xa4\xa2\xe8\x6e\x21\x48\x8a\x7d\x87\xb4\xd9\xa3\x62\x78\x97\x9e\xc5\x2b\x04\x3e\x23\xfc\xc0\xa4\xc4\x9d\xd9\x46\xab\x96\xc5\x56\x2c\xa3\x09\x16\xa1\x53\xde\x6a\x99\x81\x58\x29\x44\xc4\xf8\x15\x94\x0c\x29\x54\x21\x03\x84\x3d\x59\xb7\x5f\x07\x2f\x48\xb7\x97\xd9\x5b\x0e\xc1\x27\x08\xa7\x5e\xbc\x8e\x90\x0a\x39\x98\x29\x9e\x53\x44\xd0\xfd\xe6\xd3\xde\x77\x42\x24\x58\xde\xf8\xeb\xe9\xb5\xfb\xe7\x61\x45\x4e\xcd\xf7\x2e\x89\x9f\x3e\xd0\x3f\x81\x30\x66\xd5\xa0\x2f\x08\xdc\xb7\x55\x39\xf0\xb3\xce\x11\xcb\x7f\xec\x2d\x5e\xae\x3a\x85\x62\x19\xd0\xb4\x0e\xb9\x93\x58\x4e\x71\x17\xe6\xf0\x02\x3f\x75\x7a\x67\x84\xf6\x51\x8f\x09\x0a\x54\x96\x5f\xcc\x7d\x14\x1e\x3d\x32\xb7\x64\x7b\x46\xd2\x6e\x1c\x57\xc1\x46\xa7\x9b\xe1\xf6\xda\xbd\x05\xce\xed\x23\x84\x51\xf6\xc4\x61\x66\x7c\x1d\xc1\x47\xa2\x93\x33\x8d\x29\x3a\x0f\x9a\xa7\xa6\xa8\x85\xa0\x52\x20\x6e\x48\xbd\xdb\xb1\x4b\xd3\xd4\xba\x59\x32\x5a\x17\xb7\xc7\x9b\x16\x5e\xe6\xb7\xf3\xb7\x37\x5f\xbb\x29\xd4\xa5\xf5\x6b\x57\x7a\xaf\xdd\x5f\x5f\x3a\x8d\x17\xe4\x0d\x34\xd5\x2e\x38\xbf\x17\x5f\xae\x5f\x7d\x00\xc6\xa5\x4f\xce\xf7\xee\x33\x95\xdc\x27\x70\x2f\x40\x50\xcc\x71\xbb\xa8\xae\x77\x43\xe7\xc0\x00\x9c\x6b\x67\x9a\xd5\xa3\xe5\x0b\xa1\x63\xa2\xd4\x3e\x18\x40\x8c\xca\x49\xbe\x68\xe7\x61\x97\xf5\xe6\x82\x88\xed\x39\x78\x15\x44\xe3\x3b\xe7\x89\x8d\x65\x89\x7e\xe7\x87\x21\x57\xf0\xac\x1f\x74\x95\xc9\x0c\xff\x44\x28\x7f\x62\x4b\x3d\x38\xcd\x1d\x16\x93\x4e\xdc\x59\x21\x30\x8d\x49\x87\x01\x59\x51\x48\xfd\x4f\xd2\x0c\xa2\x56\x88\xc3\x8f\xb6\xa2\xe7\x0e\x1c\x9e\x40\xab\x8d\x98\x22\xc8\x58\xa3\xa3\x62\x5e\xf5\x64\x76\x94\x3a\x17\x22\xd5\x74\xdc\x8a\x3b\xf9\xb3\x41\x7f\x87\x27\x45\xf4\xd7\x8a\xda\xdd\x54\x68\x60\xd3\xb5\x06\x6b\x03\x28\xa2\xda\xd1\xba\x28\xf1\xa8\x88\x45\x87\x2c\xc9\x90\xcc\x4c\x12\x8b\xca\xa6\x8a\x04\xe9\x5d\xba\x08\xf6\x45\x29\x8d\x2e\x49\xa5\x1e\xcc\x37\x2a\x31\xaa\x30\xab\x42\x47\xfa\xcd\xd0\xb5\x5e\x37\xde\xbd\x8a\xae\x59\xe2\x96\x58\x8c\x56\x3c\x45\xe7\x2f\xf6\xee\x7f\x81\x5b\x4c\x60\xff\x9f\x9b\x6e\x63\x7e\x9b\x74\x12\x93\xa9\x9c\x0a\x1d\xb6\xdb\xac\x13\x3c\x23\x18\xa8\x6a\x82\x95\x7a\x80\x20\x9c\x89\x56\x8c\x9e\xba\xd2\xbb\x70\xe7\xf1\xfc\xbb\x05\x88\x10\x9d\xa1\xe9\xa3\x15\x4c\x47\x08\xfa\xa1\x65\x0c\x25\x25\xc8\x84\x03\x38\x63\xed\x36\x4b\x67\x09\xed\x5f\x09\x06\xae\x34\xfa\x40\x6c\x89\x9c\xac\x2c\x01\xb3\xa8\xd0\x03\x93\x36\x99\xf9\xc0\x7b\x41\x28\xdd\x23\xe2\x02\xc7\x50\x08\x1a\xb3\xe4\x1a\xe4\xbb\x84\x83\xce\x91\xaa\x04\x50\x52\xd0\x6e\x62\xd4\x92\x61\xb6\xbb\x86\x3a\xfe\xfc\x9b\x7a\x7b\xa9\x96\x11\x1c\xb3\x73\x9f\x23\xa4\x76\xb8\x61\x07\xe9\x87\x85\x6b\x49\xe0\x0b\x89\xa0\x62\x14\xaa\x06\x6f\x2b\xe8\x14\x50\x1f\x07\x6f\xc9\xb6\x1d\x5c\x7d\x1c\xfb\x33\x21\x10\x2c\x4b\xec\x93\xdc\xc7\x8d\xbb\x0c\x86\xfc\x8b\x39\xa4\xc5\xfc\xe2\xc6\xd2\x7d\x71\xac\x4d\x69\x73\x07\x53\x58\x67\x50\x8a\x09\x01\x23\xe9\x80\x74\x0c\x6a\x46\xa3\xcd\x6a\x23\x43\x9d\x85\x73\x5c\x66\x66\x39\xea\x4a\xc5\x19\xce\x7d\x54\xd5\x5d\x29\xbb\x2b\x05\x11\x01\xba\x24\xac\x94\xb8\xa2\x63\x80\x06\xd3\xc9\x39\x80\xbe\xfd\x1d\x59\xf8\xa9\x91\x29\x8c\x0a\x59\xf3\xa9\xea\x6a\xd9\xae\x33\xc1\xda\x8c\xd1\x22\xc3\x38\xba\x2c\x83\x59\x4a\x9c\xc3\x63\xdc\x72\x57\x7a\x52\x91\x2f\xaa\xc0\x93\x99\x7a\x5e\xc1\x4f\x72\x68\x4d\x40\xc3\x87\x0c\x1f\x00\x0a\xea\x24\x69\xaa\x05\x01\xf1\x46\x3d\x0b\x39\xbe\xc8\x6b\x32\x32\xf4\x77\x8c\x22\xda\x39\x2c\x38\xb2\xee\x74\x04\x9f\x1e\xfc\x0c\x3d\x24\xc0\x0e\xc0\x5d\x26\x35\x96\x7c\xc4\x6e\x0b\x99\x2a\x06\x1d\x1c\x6d\x8d\x93\x35\x24\x52\x66\x91\xe8\x64\xad\x25\xbd\x9f\x90\x60\x8c\xfb\xe6\xce\xf7\xf9\x35\x5b\xa8\xaa\x84\xf0\x69\xe2\xec\x1b\x8f\xfe\xb2\xca\xd1\x71\xbf\x75\xe4\x63\xc8\xeb\xb5\x2a\xef\xe9\xa9\x79\x82\x33\x57\x7f\x31\x3b\x26\x0c\xd1\x45\xf1\x7d\xef\xcd\x07\x86\x6b\xe1\x36\x85\x20\x38\x48\x53\x45\x75\x0c\xe6\x0c\xc7\xc7\x7e\x2a\x6e\x22\x43\xbb\x69\x02\x0b\xc0\x63\xec\x4f\x4c\x2a\x14\xe9\x16\x47\xe9\xd7\x2c\x5f\x81\x63\x20\x03\xd7\x21\xf3\xbf\xb5\x2d\xc3\x22\x09\x09\x38\x9e\x65\x50\x18\xbc\x33\x2f\xc7\x73\x69\xd5\x45\x30\x4b\x61\xac\xea\x40\x50\x19\x53\x05\x9a\xde\x5f\x8d\xf8\x8f\xf7\x43\x9e\x19\x20\x0e\x35\x7d\x25\x45\xcd\xd4\x90\x05\x52\xec\xac\xb6\x03\x60\x78\x7a\x15\x75\x16\x2c\x7d\x2e\x0c\xfa\x02\xd7\x17\xed\x88\xda\xd7\xcb\x87\xc5\x43\x38\x5e\x08\xc2\x39\x53\x15\x7e\xc8\xc7\x0f\x7e\xaf\xb1\x88\x3d\xfe\x14\x70\x6e\x9a\x6d\x7f\xed\x9f\x99\x86\x27\x2b\x3e\xf5\xab\x45\x57\x97\xa2\xba\xe8\x07\x66\xe0\x11\xd5\xd9\x61\x26\x49\xb1\x4b\xa4\x43\xa4\x73\xad\x29\xf2\x6f\xc9\xc7\x88\x53\x27\x1e\x7f\xf4\x71\xef\xd2\xe2\xfa\x95\xab\xf4\xb5\x02\x09\xbb\x5d\x0e\x2f\xe2\x46\x6d\x4b\xcb\x63\xad\x5e\x1f\x25\x65\x7e\x14\x58\xf7\x36\x5a\xdd\x69\x08\x2a\xea\x48\x24\xb4\x36\x9b\xae\x50\xb6\x33\x16\x4b\xdc\x81\xc8\xb9\xf4\xe0\xf1\xe2\xd7\xa6\x9d\xd1\x31\x6a\xb0\x5d\x51\x1c\xd1\x66\xb4\x4f\xf0\xd1\xce\x1c\x17\xca\x71\xe9\xc2\xe6\xf5\x0b\x88\x62\xf5\x29\x11\xe1\xeb\xaa\x36\x9b\x74\x5b\x08\x99\x37\x8b\x9d\x46\xdb\xe3\xb1\xe9\xb1\xe8\xe9\xa7\x9e\xf9\xe5\xbe\x91\xe8\xe9\x3d\xe2\xff\x9f\xda\xc3\xc5\x10\x96\x87\x82\xa4\xe5\xed\x6b\xdf\x2f\xec\xa0\x1e\xc4\x79\x7a\x7a\x0f\xfc\x0f\xf4\xd1\x0f\x15\x0a\x68\x11\x22\x19\x11\x6c\xad\x1f\xb2\x9e\x8e\x10\xc7\xa4\x70\x5b\x17\x7b\x17\x3f\x41\x6e\x2d\xf5\xe0\xa1\x11\xdf\xea\xce\x4e\x42\xb1\x18\xbb\x0a\x9c\x96\xaf\xc7\xa2\xd1\xa7\xe1\x14\x41\x5c\x0e\xe4\xf7\xd6\xe0\x09\x6b\x36\x66\x1b\x88\xae\x87\x13\xe7\x98\xce\x13\x1e\x35\xda\xfe\x2c\x85\x08\xed\xc8\x7f\xe3\x93\x0f\xfb\x31\x01\x0a\xfd\x00\x57\x77\xfd\xbd\x3b\xa3\xb0\x1b\xab\xc8\x08\x85\xfe\xf2\xed\xe3\xa5\x4b\x28\x69\x90\xec\x21\x5d\x2e\x42\x66\x37\x35\xae\xed\x85\x00\xa3\x1d\x91\x6a\x28\x5a\xbd\x1f\xb8\x17\x9d\x6a\x0c\x71\x93\xcc\xb0\x4e\x8b\xf9\x61\x21\xa0\x2f\x95\x2b\xc4\x0c\xdd\x81\xf3\x1f\xc2\x0c\x4d\x16\x08\xee\xab\x0b\x32\x56\x17\x46\xf1\x32\x93\x23\xe3\xe3\xb9\xe0\x3a\xdb\x48\x21\x7b\x98\x2a\xf7\x13\x50\x3a\x5a\x47\x99\x41\xa1\x2d\x23\x71\x2e\x4a\x2c\x73\x2b\x70\x7a\x25\x08\x44\x4d\x68\x0d\xdc\x78\xe2\x17\xae\x09\xf0\x6c\xb2\x64\x6a\x87\x86\x76\x28\xe6\xa1\x23\x0a\x04\x3e\xcd\x84\x10\x30\xcb\xc3\xc5\x79\xdc\x7f\x25\xa3\xb4\xf4\x82\x48\x56\xa3\x78\xfe\x99\x4f\x7a\xe7\x2e\x44\x61\x14\xab\xbd\x35\xa8\xa6\x93\xab\xe9\x15\x3f\x9c\xac\x75\xea\x00\x41\x79\x78\x6a\x26\x9e\x35\xac\x56\xd0\x93\x0a\xf0\xc5\x38\x89\xe0\x39\xe9\x0b\xa0\x9f\xce\xcd\x07\x42\x26\x9d\x97\x84\xeb\x48\x59\xc2\x7c\x91\x89\x5d\xb7\x68\x72\xf0\x82\xe1\x68\x11\xf2\x52\x36\xdc\x96\x99\xfd\xe1\xf1\x3d\x1c\xae\x39\x3d\x81\xeb\x77\xdf\xf3\x34\xe5\x02\xc6\x74\x5b\x26\x4e\xec\xc8\xe1\x5d\x87\xfc\x80\xe8\x46\x04\x55\x05\x20\x3a\xf4\xc5\x82\x82\x1b\xdd\x30\xad\x5b\x2a\xc2\x8b\x2c\x91\x4e\x37\xd4\x18\x6a\xbc\x04\x4e\xe9\x71\xfd\xf9\xf2\x42\x56\x5c\x36\xc9\x5c\x5a\xb6\x07\xa8\xa4\x94\xe2\x8f\x92\x56\x8c\xe1\xe6\x88\xf1\x49\xbc\x42\x81\xc8\xd2\x03\x24\xde\x9b\xb6\xb8\x6d\x1c\xdb\x20\x9c\xd6\xde\xa3\x2b\x1b\xb7\xde\x95\xf6\xb7\x33\x54\x44\x53\x09\x6e\x06\x44\x27\x08\x4f\x17\xbf\xc6\x02\x33\x01\xa0\xb8\x06\xb1\x5d\xb0\x60\x66\x70\xf3\x79\x33\x11\xa1\x69\x96\x56\xa5\xaa\x6f\x52\x2b\x47\xa4\xb5\x74\x9b\x32\x7e\x6e\x0b\x04\x3c\x53\x3a\x55\x71\x58\x69\x4b\x35\xfa\x1b\x04\xfc\xcc\x24\x33\x43\xcf\x62\x1c\xed\xdc\x89\x16\x84\x17\xe2\x4e\x8a\x99\x39\x07\xc9\x9c\x26\x38\x25\x16\xca\xf6\x19\x78\x65\x53\xe4\x73\x97\x54\xf6\x83\x4a\x7a\xba\x70\x0d\xd3\x61\x8b\x13\x51\x7e\x61\x52\x9b\xdf\xdf\xc8\x0b\x84\x57\x45\x06\xe5\xc4\x27\x93\x90\xb8\xa5\x7c\x6c\x68\xd5\x06\x96\x17\x6b\x9f\x19\x1a\x86\xf4\xbf\xd8\xeb\x41\x06\x27\x71\xde\x36\xcf\x3c\x2c\xba\xe1\xcc\xe6\x51\x6e\xe0\x57\xa4\x4b\xcb\xb3\x2c\x6f\xd4\xd7\xe9\x6b\xd7\x3a\x69\x71\xd9\x55\xb4\x93\xfc\xa7\xd8\xdf\x8a\x25\xb7\xd7\xbb\xdc\x1c\x64\xaa\xcd\xe5\xcf\xd6\x3f\xbe\x14\x4a\x1d\xea\xba\x42\xae\xa6\x24\x6c\xba\xb9\xc1\x55\xd2\xe9\xaa\x16\x35\x5b\x3b\x57\x54\x90\x63\x9a\x0b\xfc\x84\xe4\xf5\xf1\x9d\xe0\x4a\x48\xde\x93\x49\xe5\xf5\xf3\x4c\xe4\x48\xbc\x32\xef\x00\x64\x62\x96\x20\x20\x12\xfa\x48\x6b\x92\x22\x3d\x6d\xb8\x96\xc1\xf6\x26\x10\xc4\x05\x65\x99\xbb\x76\xd5\xa0\x8a\x0d\xf3\x10\x49\xf5\xfe\x32\x92\x8c\xed\xb2\x7f\x70\x61\x5d\x11\xbc\xde\xab\xea\x93\xb4\x02\x4b\xfb\xe5\x09\x07\x3f\xd6\x55\x31\x4a\xb8\x57\xad\x4a\x39\xef\xcc\x97\x89\xfa\x23\x5e\xa4\x02\xaa\x06\x9d\x70\x19\xca\x8c\x2f\xa9\x4f\xb5\x51\xb2\x2a\xd1\x5a\xa5\x58\x3d\x11\x42\x83\x82\xa3\x9e\x34\x7d\x53\x40\x52\xb3\xc9\x6b\x2e\x8e\x7e\x17\x71\x67\x29\x9f\xed\x01\x2a\x62\x56\xee\x95\x6f\x3c\x67\xbe\x0a\x31\x66\x0e\xf4\xf5\x1f\x29\x9b\xc5\x0f\x3c\x4b\x7b\xc9\x17\x82\x71\xee\x60\x30\xcf\x87\xa5\x9d\xad\xcd\x45\x42\x14\x3b\x11\x53\xd8\xeb\xac\xf8\x5f\x2a\xc3\x50\x70\xfe\x9f\xe8\x36\xc1\x4d\x2f\x84\x8b\x5f\x45\x68\x03\x6b\x94\xcd\x10\x3c\xee\xb3\x4c\xd3\x48\x4d\x99\x18\xc5\xc0\x67\x13\xcb\x5c\x2c\xbe\x9b\x8a\xe3\x3a\x6b\x23\x2e\x4e\xd8\x4c\x92\x5c\x81\x18\x07\xcc\xdd\x2d\xd7\xb9\x5b\x41\xaf\x16\xc1\x22\xd8\xd1\xf9\x46\x4c\xed\xe6\xd9\xf3\xbd\xef\xbe\x42\x4d\x92\x02\x09\x57\x4c\x5f\x05\x9a\xe4\xfe\x3e\x7f\x01\x14\x4c\xc0\xf2\xdf\x0a\xd0\xb8\x94\xfa\x4f\xbf\xad\x52\x64\xca\x38\xcd\x82\x88\x1b\x3f\x07\x89\xfc\xdb\x3f\x2b\x6f\xa5\xdf\x82\x9d\x6f\x69\x61\xe7\xac\xbb\x52\xbd\x55\xff\x98\x97\xa7\xef\x3d\xc0\x60\xfb\xe2\x39\x19\xce\x95\x4a\xab\x2b\x0a\xe1\x9e\xc8\xc4\xc8\x82\x90\x82\x6b\xda\xd5\x12\x23\xbf\x9a\x5d\x1e\x21\x12\x2b\x01\x96\xd2\x23\x43\x1f\x59\x27\xc5\x21\x6b\xf3\x44\x16\x46\xcb\x29\x5b\x5a\x18\x47\xea\xfc\x3f\xf8\x22\x89\x1f\xc4\x3d\xad\xb5\xa4\xc5\x83\xaa\xb9\xe2\x35\xd5\x37\x73\xd0\xc5\xf2\xf7\xfd\xbf\xb8\x46\xf1\x2b\xed\x78\x0a\xe3\x1c\x30\x6a\x04\xfc\xa7\xc9\x14\x02\x76\xd4\x77\xa0\x1d\x49\x86\x69\x70\xb6\xb9\xfb\x17\xd6\xaf\x5c\xcd\xd3\xe9\xfd\x61\x1f\x56\x87\x0c\x41\xc8\x4e\x65\xc5\x71\x15\x8b\x0b\x98\x37\x12\x4a\x44\x46\x6f\xd4\x3a\xd3\x5d\x48\x82\x63\x5f\xb5\x3c\xe8\xa2\xf7\xdd\x7b\x98\xfb\xb0\x4c\x00\x37\x06\x6a\x85\x1d\x8e\xab\x17\x51\x33\x3d\x2a\xc8\x72\x66\xa5\x52\x88\x93\x34\xc3\x59\x93\x24\xeb\x70\xe0\xfd\x15\xba\x6c\x81\x8a\x62\xc3\xa8\x8a\xac\x20\x36\xda\x4c\x00\x8a\xc4\x8c\x05\xa6\x8c\x13\x34\x6c\x50\xfe\x45\x55\x78\xa7\x23\xcd\x42\x9d\xb9\x5b\x2a\xb0\x17\x03\xf3\x28\xf7\x42\xbc\xc3\x79\x64\x4a\xc5\xea\x09\x01\x49\x48\xe8\x13\x3b\xfd\x0a\x03\xfc\xae\x83\xfd\xb4\xec\x11\x68\x9a\xc0\x21\xfa\xd4\x4a\xfa\x1f\x25\x75\x20\x8c\x0f\x06\x28\x4e\x69\x8f\xfd\x1a\x1d\xd2\x1f\x04\x90\x17\x3c\xf4\x32\x3a\xa6\x7a\x6f\x53\x3f\x30\x2f\xb2\xdd\xe1\x03\xf3\xba\x81\x77\xc9\x26\x5d\x11\x19\x83\x33\xeb\x73\xe1\x29\x81\xa9\x16\x90\xbd\xe4\x49\x56\xf2\x2f\xa4\x1a\x22\x08\xff\xd7\xfd\x90\xf4\x3f\x14\xc9\xb7\xa0\x5f\x08\x76\xf1\x72\x5c\x55\x2a\xce\x5d\xca\x6a\xe0\x71\x27\xb1\x5a\x55\xa0\x1b\xd6\xae\x49\x35\xf0\x98\x15\x55\x5b\x43\x6c\x00\x7d\x0d\xdc\x32\x92\xe2\xe3\x34\xe9\x76\x94\xd9\x94\xc3\x44\x55\x59\xec\x68\x24\x7a\xe8\x0e\x4b\x1a\x9c\x06\xc3\x6e\x5b\x49\x80\x27\x2e\xaa\x3f\x02\x9c\x80\x09\x95\x3b\x51\x06\x45\x18\xee\xde\x10\xec\x8d\xfc\x6f\x56\xfc\xb1\x3b\xd4\xa1\xad\x79\x33\x7e\x04\x58\xef\x9f\xa5\x8e\xba\x23\x50\xe8\xe1\x67\x29\xe7\x46\x70\x36\xc1\x9a\x08\xa2\x0d\xa8\xe5\x06\x49\x95\xd2\x9f\xa2\xe3\x27\x85\xc0\x69\x6d\x73\x28\xfb\xb6\x53\xa1\x44\x87\x3a\x45\xb4\x5a\x80\x2b\x32\x75\x47\xf3\x2d\x50\xe5\xf4\xa2\xfc\x00\xe5\x28\x06\x24\x37\x40\xd7\xda\xaa\xda\x39\xb8\x96\x34\xc8\xdd\x28\x3f\x83\xc3\x32\xd2\xf4\xf3\x6e\xf6\xb7\x05\xe6\x03\x0a\xa4\x0e\xcf\xc3\x16\x5a\x09\x72\xcb\xc4\x3b\xac\x6a\xa5\x59\x54\x5d\x4d\xeb\x33\x7e\x16\x3e\x23\xd7\xd6\xe7\xe3\x70\x85\x0e\xdb\xd9\xc9\x5d\xe6\x2d\x11\x6e\x15\xe0\xfc\x49\x38\x06\xbc\x22\xc3\x50\xf6\xbc\x99\xd4\xb4\x73\x05\x22\xec\x52\x54\x70\x50\x24\x38\x58\xcb\x66\x78\x31\xe2\xcb\xbf\xe4\x00\xa7\xb6\x87\xa2\x88\x53\x2a\xd5\xee\x33\x12\x63\x87\xa2\x69\x6c\x02\xcd\xf1\x2a\x08\x7d\xc2\x4f\x5e\x25\xa9\x01\x6b\x69\x3e\xee\xde\xe3\x52\xf6\xe3\x6c\x7d\xe4\xdf\x37\xda\xbb\xc5\x3e\xfe\x66\x2e\x8b\x53\xa8\x71\x2c\xfe\x04\xff\xde\x09\x41\xb6\xa0\xbe\xc2\x1e\xf3\x14\xd9\xad\xff\x7e\x6a\xbe\xd0\xbc\x77\x6a\xa1\x08\x88\x1a\x40\x39\x43\xf6\x96\x10\x26\x87\x8a\x1b\xa9\x48\x31\xa0\x70\xb0\x3a\x1c\x16\x4a\xcd\x08\xe1\x44\x82\x20\x01\xeb\x40\x34\xf8\x7e\x8a\xc4\xe9\x2c\x9d\xeb\x05\xec\x22\x95\x20\xa8\x00\x2b\x2c\x6c\xc3\x15\x35\x35\x37\xd4\x4d\xe0\xbc\x6a\x10\x27\x37\x8a\x71\x72\xed\x5a\x9a\x9e\x4c\x3a\xe8\xd9\x6b\x26\xd3\x0d\x3e\x65\xbe\x14\x06\x47\x17\x9d\x00\xa8\x30\x18\xce\xce\x91\xb5\xe2\xac\x2a\x36\xdd\xe0\xd1\x59\x8d\x4f\xd2\x76\x63\xc8\x01\xbc\x88\xa7\x67\x48\xcc\xc3\x7d\x92\x2c\x38\xb0\xf2\xa7\x31\x56\xa9\x0b\x48\x3a\xe9\x3b\xf6\x0d\x14\xc4\x4a\x54\xc1\xd2\x0c\xb9\x68\x51\xd1\x5b\x48\x27\x9e\xe6\xf0\x16\x07\xf4\xd0\xbb\x74\x91\xeb\x83\xdc\xc4\x26\x62\xb6\x66\xd9\x1e\xb8\x89\x0a\x0c\xeb\xbc\x8f\xf2\xd9\x96\xbc\x83\x83\x8e\x20\x8a\xb4\x97\x13\x12\x14\x63\x74\xe0\x55\x26\x88\xe7\x9f\xb2\x83\xfa\x86\x24\x54\xec\x3f\x22\x70\x67\xc0\xc3\x63\xa2\x59\xdb\x8d\xd8\xd1\x59\x46\xff\xc2\xae\x43\x87\xf7\x1e\xd8\xcf\x9f\x05\x2b\x50\x8f\x39\x0e\x2f\x40\xed\x83\xe8\xdf\x0f\x1f\xd8\x1f\x25\x93\xff\x11\x4f\x69\x70\x7a\x43\x96\x1d\x95\x30\xe9\x53\x32\xf8\xbe\xdb\xa1\x80\xda\x76\xad\x23\x48\xcf\xe2\x4e\x3a\x92\x5f\x62\x59\x6d\xb4\xd1\x1a\x6d\x42\x8c\x67\x82\x60\x1e\x35\x3c\x23\x63\xd1\x6e\x2c\x22\x04\xb8\xc8\x18\x82\x44\x69\x78\x71\xdd\xd3\x6f\x1a\x83\x19\x78\x0a\x7d\x25\xf4\x2b\x85\x98\xc7\xbe\x52\x44\xfc\xf2\x93\x85\xfa\x86\x62\x4e\x92\xd1\xda\xf9\x00\x85\x42\xa6\xcb\x8a\xdf\xa8\x8c\x47\x43\xe8\xea\x7d\x78\x1f\xed\xc8\xb7\x55\x5e\xc1\x9f\xd0\x7b\xf4\x17\x5c\x78\xe2\xfa\x12\x7a\x5c\x79\x13\x6e\xd2\x5a\x63\xfa\xf7\x65\xd8\x1c\xb8\x0b\x88\x9d\x02\x89\xb3\x66\xfe\xa0\x15\x93\xc0\xf6\x2f\x2d\x69\xff\xad\x70\x7d\xae\x49\x24\x43\xaa\x2b\xfb\xf0\x9d\xcd\x1b\x5f\x87\x14\x5e\xda\xbc\xfb\xda\xfa\xe5\x25\x8c\x2b\x3d\xbd\x71\x6e\xb9\x8f\x54\xf3\xa1\x1f\xa0\x46\xeb\xff\x0f\xce\xff\x91\x83\xd3\xa5\xe8\x69\x2c\x54\xbc\x4d\xe8\x1c\xa3\x4a\x69\x1e\x45\xf8\xa7\x6d\x10\x57\x26\xd1\x2a\x5a\xf1\xb4\xd8\x8d\x13\xfc\xb3\x25\x6b\x14\xbb\xfb\x81\x9c\xa6\x53\xd7\x40\xa4\xfa\xfa\x13\x95\x19\x72\x16\xff\xd2\x7f\x96\x88\x06\xe6\xdf\xcf\xbf\xa2\x04\x57\xc7\xbe\x9f\x2f\x10\x36\xea\x41\x29\x80\x71\x6f\x14\xc1\x79\xda\xb2\x16\xdb\x61\xea\xc3\x3c\xb2\x5e\x02\xa6\x0b\x90\x70\x21\x49\x69\x44\x01\x05\x50\xda\xbb\xf4\x09\xa6\x04\xce\xaf\xf2\x95\xf9\x47\xde\x95\x8c\xfc\xf8\xf2\xa7\x52\x8a\x25\xd1\x10\x50\x4c\xbf\xcc\x4f\x2c\x64\xf6\xbe\x81\x68\x34\x77\xa5\xc8\x5b\x2a\xa4\xc5\xbd\xfb\xbf\x1d\x3f\xb4\x7f\xef\xfe\x3d\x04\x34\x4c\x22\x16\xf0\x1d\x14\xd1\xb5\x7c\x0b\x29\xd5\xda\xf1\x4e\xcc\xa5\x4d\x29\x89\x69\x34\xd3\x98\x9e\x69\xce\x01\xa4\xc7\x94\x68\x53\x9b\x8e\xeb\xd8\xd5\xef\xac\x0e\x20\x20\x4e\x9c\xc1\x13\x0d\x82\xe6\x81\x3c\x00\x78\xe4\x52\x5c\x20\xf9\x23\xd4\xeb\xe9\x10\xff\xa2\xe1\xd3\x99\xb8\xd9\x14\xfd\xa7\x19\x9f\x10\xbb\x79\xeb\x8b\xde\x9f\xde\x50\x30\xc9\x45\xa1\xda\x42\x5e\x00\x51\xe9\x46\x0e\xbc\x55\x84\x0f\x51\xb0\x32\x79\xf0\x98\x95\xc6\xd8\xfb\xee\x6f\x78\x29\xdf\xe8\x2d\x2c\x43\x32\x75\xbe\xae\xce\x91\xd7\x1e\x5c\x5e\xbb\x7f\x1f\xe0\xd5\xbf\x58\x50\x69\xe1\x57\x65\x11\x8c\xc2\xc7\x10\xc7\xf9\x37\x60\x46\x54\x0d\xe3\xcc\xdb\x56\xbe\x19\x00\xb4\x7f\x80\x39\xc6\xef\xe5\x9d\xe0\x51\x58\x9f\xbf\x44\x38\xc7\x46\xf6\x1d\x23\x69\xa9\x4d\x8e\x30\xed\x5c\x16\x16\x49\x30\x49\x5e\xb0\xf7\x94\x0a\x8b\x50\x68\xb3\x65\x38\x94\x09\x3f\x36\x9c\x52\xb9\x8e\x1e\xa8\x04\xe2\xe4\xb7\xa6\x45\x93\x1c\xe5\x1a\xde\x1f\x52\x16\xa8\x1b\x3c\x57\xe4\x89\x8e\x9e\x79\xea\x29\xf8\xfd\x97\x4f\x3f\x35\xa2\x50\x89\xca\xfd\x42\x24\xca\x64\x1c\xb7\x54\x3d\xf9\x11\x8c\xa9\xa4\x72\x58\xed\x19\x28\x83\x82\x27\x26\x85\x03\xb3\xb3\x99\x74\xeb\xe2\x91\xeb\xb6\xea\x9d\xb9\x6d\x69\x54\xaf\x65\xb5\xc9\x5a\x2a\x1e\xbe\x71\x71\x86\x5e\x6e\x25\x27\x9b\x71\x7d\x5a\xc3\xe6\x95\xc6\x52\x09\x79\x84\x62\x51\x27\xb7\xb4\xd5\xa9\x59\x9d\x45\x2f\x13\x85\x17\xa5\xf2\x9e\xeb\xe2\x7e\x2c\x0e\x82\x3c\xae\x32\xa5\x7c\xfd\x9d\x8b\x6b\x0f\xaf\x10\xb0\xb4\x91\x9d\x1f\xe0\xc5\x5a\x38\x87\xb6\xbe\xf7\x8d\x90\x4b\xaf\x37\x14\xce\xd8\x69\x84\x5c\x38\xab\x9e\xc3\x65\x75\xc0\x6d\xd0\x25\xd8\x19\x3c\x50\x0b\xf8\xe3\x2a\xec\x11\xe4\x02\xaa\xb4\xae\xf7\x6d\x80\x91\x77\x64\x75\x1d\x40\xf8\xa3\x9f\x3e\x0a\x9a\x43\xb1\x3a\xff\xd5\x8d\xbf\x5e\x5a\xff\xf8\x0a\xbc\x9c\xb7\xae\x6d\xac\x2c\x20\x22\xde\x5d\x7d\x43\xec\xad\x88\x54\x8c\x19\x3d\xc5\x4b\x9a\x4d\xae\xbf\xfb\xfd\xc6\xc3\xdb\x25\xac\x68\x75\x85\x5f\xbf\x28\x6e\x77\x6e\x3f\x35\x40\x1a\x0a\xc4\x04\xd0\x9f\xb3\x64\x2a\x5d\x08\xa5\x75\x0a\x5b\xe0\x0a\xa8\x3d\x7d\x96\x29\xee\x88\xa1\xa9\x91\x09\x46\x52\x9a\x33\x30\x12\x0b\x3c\xc4\x0f\x31\xf1\x44\x2e\xbd\x92\xf3\x98\x4b\x4f\xb7\x19\x82\xb7\x4a\xd9\xd4\x94\xea\xff\x84\xef\xf3\x60\xd7\x38\xa7\xd1\xbc\xc7\xea\x72\x43\x35\xb9\xa8\x96\x65\xf1\x6c\x3b\xd3\x03\xcc\xd6\xea\xb1\x02\xb5\xae\x4d\xb9\xd6\xf1\x57\x3a\xfa\x34\x33\x41\x87\x80\x01\x02\x26\x46\x5d\xe8\xfd\x9d\x64\x4e\x95\xe2\x29\xec\x81\x81\x0c\x22\xd7\xa6\x44\xab\x58\x89\xe3\x80\x63\xe1\x1c\x05\xc2\xbf\xe1\x59\x55\x21\xe0\x50\x30\x4a\xea\x95\xb4\xf8\x0a\xda\x7f\x14\x9c\x5a\xa3\xe4\xd4\x4a\x4a\x3f\x4a\x6a\x70\x9e\xb3\x6d\x8d\xb9\x33\x25\xf6\xad\xd5\x65\x01\xc5\x06\x61\x72\x25\xc1\x78\xc8\x4c\xae\xcc\xa7\x72\x64\x9e\x9f\x14\xb7\x0a\x60\x4c\x8e\x17\xa5\xc4\x95\xdc\xd9\x00\x5b\x61\x52\x55\x9b\x77\x4f\x3a\xf4\xf3\xa4\xe6\xd5\xcd\x1b\x5f\x60\x8a\xfe\xeb\x46\x2d\x37\x05\x96\x54\x15\xfd\xb3\xf1\xc9\x37\xeb\x9f\x9d\x35\xe4\xb8\x65\x07\x18\x57\x8e\x5b\x26\xf1\x9b\xe4\x76\x12\x44\x56\xc0\xb1\xb0\x23\x5c\x97\x64\xe1\x01\x07\xe2\x8e\x73\x50\x18\xa5\xf7\xfd\xa2\xf8\x8c\xbf\x94\xf9\xcb\xec\xbe\x9b\x45\xa5\xd9\xea\xfd\x0b\x54\x70\x09\xb7\xe0\x6e\xee\x56\x80\x6f\x16\x11\xac\x77\xc9\x02\x47\x2f\x09\xb7\x7d\xbf\x2d\x0d\x60\xde\x19\xd8\x47\xb1\x5c\x91\x75\x38\x7e\x55\x60\x72\x46\x81\x90\xc9\x58\x31\x52\x00\x30\x41\x68\x36\x0a\x85\x92\xd1\xea\x25\x3e\x6d\xb6\xac\x35\xc5\x80\x80\xa0\x80\x88\xa0\x9d\xc6\x6c\x4d\x1c\x44\xe0\x9c\x53\x90\x0b\x9d\xa3\x80\x9a\x44\x22\x10\x50\xbb\x89\xb8\x51\x25\xde\x8b\xd8\x0d\x0d\xe0\x77\xb3\x08\xaf\x02\x2c\xef\xc4\xd3\x91\xf4\x0d\x46\xbf\xa1\xcf\x20\x78\x53\x4a\xb3\xde\x86\xcf\xe0\x97\x50\xa0\x38\x86\x3c\x20\xf7\xbb\x83\xef\x94\x18\x03\x00\x4d\x91\x3a\xd1\x0c\xff\x7b\x2c\x8a\x7e\x1b\xe7\xa5\x4c\x01\x3e\x4d\x3d\x19\xf2\x73\x1d\xeb\x89\xf8\xdf\x5d\x8a\x3f\xad\x27\x27\x5b\xea\xa3\x9c\x89\xb7\x3b\x58\x6e\x3b\xaa\xd5\xeb\x58\x3f\x54\x6c\x52\x81\x84\xc9\x18\x0b\x1b\x53\xe1\xc6\xb1\xe8\x00\x88\xc6\xbe\x97\x7c\xb6\x31\x0d\x28\xa3\xf5\x11\x35\x58\x5e\xed\x46\x10\x4b\xb3\x01\x98\x1f\xef\x93\xdc\xdf\x3b\xb2\x5a\x60\x39\xbd\xf3\xe7\x1e\x9f\x81\x42\x37\x98\x63\xfa\x96\xb2\x14\x21\x62\x14\x5c\xfd\x30\x86\x01\x5a\x94\x39\x0a\x70\xd1\xb5\x7b\x6f\x5a\x37\x04\xd8\x1e\x82\xad\x05\x64\x2a\x15\x02\xf4\xb0\x72\x1b\x21\x9d\x16\x2b\xc7\xd8\xe3\xde\xee\x5d\xbd\xbf\x7e\xe5\x4b\xe5\x44\x50\xa0\x5b\x84\x97\x16\x32\xee\xe9\xb7\x61\x1b\x0c\x48\x5b\x60\xc8\x70\x9c\x8c\x3f\xad\xf4\xce\x5f\x34\x72\xb7\xde\xa7\xc2\x2d\xee\x23\x2e\x19\xca\x67\xe7\x14\xea\x66\x05\xdf\x85\x8e\x9e\x71\xb6\x2c\xae\xf8\x32\x3e\x7e\xe2\x91\xfb\x10\x12\xc0\xf2\x55\x96\x20\x88\x6b\x0f\x97\x7a\x17\xce\xa3\x41\xc9\xc1\x78\xed\x32\x9c\x05\x30\x5e\xda\x33\xc9\x81\xad\xd5\x80\x88\xee\x52\xa0\x73\xb1\x06\x9a\xad\x10\x61\xfb\xd2\x2c\xc1\x6e\xf0\x99\x2a\x23\x73\x0a\xe1\xc8\xee\x86\xb0\xd3\x90\x47\x05\xb6\x06\x2a\xee\xdc\x51\x58\x3f\xda\x46\xa1\x1e\x7c\x58\x94\xd7\x29\x67\x0e\xc8\xb3\xde\x7f\x69\x07\x32\xe7\xec\x7c\xa4\x6d\xe4\x42\x5a\x7a\xab\xd4\x26\xcf\xfc\x6b\x1d\x90\x38\x77\x00\x7c\x3d\x15\x70\x01\xc4\x18\x1b\x28\x97\x50\xc4\x21\x86\xd2\xf8\x24\xb5\xbe\x49\x65\x95\x27\x5d\xa5\x99\x35\x89\x29\x46\xe0\xa8\xfc\x82\xe1\xfa\x1e\x58\xdd\x45\xc2\x24\x2f\x95\x25\x74\xf5\x73\xd8\xdf\x51\xb1\xdc\x33\x6f\x52\x53\xeb\x23\xc1\xa8\x01\x78\x49\x30\x54\x58\x05\x32\xd4\xa6\x71\x76\x0c\xaa\x79\xa7\xc7\x26\xe7\x8e\xa9\x08\x37\x2e\xdc\x53\x73\x41\x10\x90\x29\xd2\x6d\x1e\xcf\xde\x77\xd2\xf9\x27\xad\xb6\xee\x4e\xcb\x50\x31\x01\x8e\x39\x3d\x01\xca\x08\xca\x84\x72\x07\x93\x00\xdb\x66\x25\x91\x85\xca\x11\x86\xf0\x4e\xa8\xb0\x40\x8e\x2f\x43\x88\xa1\x48\xe8\x62\xc9\xc9\x34\x92\x41\x09\xd1\xf3\x8d\x16\x67\x39\x56\x9f\x72\xb6\x3f\xff\x00\x07\x93\x93\x71\xe7\x30\x18\x1e\x2b\xba\x37\x3e\x74\x77\xd8\x69\x88\x37\x59\x1c\x7d\xa1\x2e\x26\x75\xac\x7e\xb6\x7b\xef\xf3\xbb\xf0\x15\x95\xe5\x58\xd3\xac\x2e\x34\x41\x66\x1c\x6c\x29\x5e\x82\x35\xa1\x02\x89\x1b\x4c\xdf\x46\x52\x8d\xc2\x67\x88\xfa\xc3\x78\x5f\x21\x3b\x5f\xdc\xfc\xfe\x3b\x10\x96\x7d\xdb\x8a\x24\xa9\xca\x91\x27\xc0\x7b\x80\xb2\x06\xaa\x74\xe8\x06\x62\xcd\xdf\x56\x3e\x1f\x98\xfd\x85\x7a\x46\x7e\x91\xf0\xe1\x7f\x0f\x15\xed\x3b\x53\x33\x8d\x13\x71\x1e\x47\x20\x5d\x5d\x01\xa9\x13\xff\x25\x9a\xa3\x08\x8b\x5c\x18\xb6\xf2\x32\xa6\x20\x97\xab\x0b\x2c\x82\xdf\x47\x10\x62\x41\x71\xf2\xee\x88\x17\xf7\x1d\x79\x7e\x62\xef\xc1\xf1\x43\x13\xbf\xd8\x7d\xe0\xd0\xbe\xd1\x67\xc7\x27\xc6\xa3\x9d\x07\xf6\x4f\xec\xda\x3f\x11\x3d\xb7\xf7\xd9\x67\x77\xed\x7f\x89\xa1\x29\xa8\xa9\x7b\xd0\x83\x87\xf6\xbe\x30\x3e\xb1\x2b\xc2\x26\x15\xa3\x38\xbf\x75\x77\x3b\xdd\x4c\x26\x85\x58\x27\xb1\xb6\x5f\xd2\x06\x81\x17\x55\xba\x5c\x3a\x36\x36\xf6\x52\xf4\xa2\xfa\xbb\xfa\x90\x1b\x1a\x5f\x21\x8a\x42\xba\xa4\xca\x35\x5b\x86\xf3\x97\xac\x8b\x16\xbd\x48\xb9\x76\x34\x48\xf1\x0a\x16\x5a\xba\xa7\x40\x4c\xd3\x93\xab\xae\x58\x19\xd7\x3c\x4b\xf8\x94\x11\x6a\x0d\xee\x3b\xa6\x35\x7b\xef\xb5\xc6\xcb\x36\x14\x0c\x81\x73\x44\x11\x32\x56\x10\x3e\x43\x50\xcd\xf8\xbe\x8b\xc2\x07\x60\x5c\xb0\x0d\x85\x3a\x50\x4b\x67\xfc\xc8\x14\x32\xd9\x7f\xe3\xbd\x3b\xbd\x7b\xf7\xa8\x12\x0c\xdf\x9f\x36\xba\x23\x2c\x65\x75\xb7\xb7\x1d\x05\x60\x10\x33\xb2\x7a\x08\x6e\x01\xd9\x96\xbe\x83\xe7\x5b\x26\x08\x0d\x57\x20\xeb\xc7\xc5\x7b\xc9\x1f\x05\x0c\xf3\x56\xc8\x7c\x8b\xe5\x7a\xce\xee\x01\xf2\x22\x6a\xfd\x43\x1b\x32\x3d\xa2\x8c\xbf\x23\x0f\xd9\x66\x3b\xb6\x84\x5f\xb3\x81\xbb\x5f\xc5\xc7\xf9\xb0\x9a\x22\xcb\x66\x22\x6b\x26\x21\x6a\x12\x55\x59\x88\xc7\xf4\x80\x3a\x2a\xf9\x3b\x0f\x97\xd4\x09\xbe\xb4\x28\x3c\x12\xe7\x54\xbb\xcb\xa1\x75\x1d\x3c\xc2\x34\xf1\x5e\x87\xea\x2b\x80\xed\x85\x3c\x15\xd0\xc1\xda\xbd\x5b\xee\x3e\xea\x71\x3a\xd5\x69\xb4\x7d\xf1\x9c\x37\xbf\x5c\xff\xe0\x4d\xae\x35\x88\x74\xac\x2c\x77\xe3\xee\xc6\x37\xcc\x72\xd5\x1b\xa9\x9f\xd3\xad\xdd\xbb\x48\xcc\x8e\x6d\xcf\xa7\x46\xa2\xa5\x11\x2e\xb9\xa7\x31\x7f\xa8\xf2\xd6\xcc\x71\x0a\x8c\x5d\x1c\x20\x3c\x91\x52\x5b\x59\xca\xf2\x7c\x53\x5f\xf3\x52\x2e\x2a\x94\x72\x50\xf8\xfb\xf4\xc9\x08\x55\xd3\x6d\x45\xe2\x4a\xe8\x3f\xf2\x41\x98\xbe\x3c\x57\x31\x4b\xca\xe0\xb5\x90\xf0\x97\xc1\xf3\x47\x35\x04\x4e\xcd\xaf\xbf\x7e\xca\xf5\x81\xa3\x04\x88\x5d\x82\xfe\x68\xcb\xd1\x75\x11\x29\x5f\x96\xe4\xfb\xc3\xd4\x71\x6d\xd7\xc4\x99\x8e\xd2\xa4\xfe\xe0\x00\xcd\xae\x58\x7e\xe7\xfa\xd9\x4b\x25\xd7\xcf\x5e\xd4\x41\xd7\x8f\x59\x9e\x7c\xfd\x98\x05\x0e\x58\x3f\x47\xd7\xd5\xeb\x37\xf0\xc2\xa5\xfc\x9d\xca\x09\x60\xef\xd4\x49\xfe\xdc\x4b\xb6\xec\x6e\x29\x2b\x67\x70\x02\x0e\xfa\x6f\xb8\x96\x58\x1a\x13\x23\xb9\x0f\x76\xc0\xac\x9b\xcd\xa9\x88\xee\x74\xc6\x2c\xd0\x03\x55\xf3\x39\x2e\x6b\x14\xc5\x74\xf6\x84\xa6\xa2\x45\x05\x6f\x5c\xb0\x02\x06\xa0\x32\xa2\xa5\xd5\x17\x0c\xb7\x44\xdb\xed\x6e\x4d\x22\x44\x94\x75\x51\x11\x07\xaf\x2b\x68\x4a\xa9\x50\xef\xa3\x78\x6a\x26\x41\xab\xb6\x0e\xae\x11\x03\x75\xe6\x0c\x64\x8d\x67\xf3\xc7\xc1\xf3\xaa\x5b\x41\x28\xaa\x3e\x0e\x79\x2a\xee\x4a\xbb\xa5\x94\xf7\xaf\x4b\xdf\x16\x98\xbd\xd0\x4f\x07\x2b\xe2\x2e\x53\xc4\x52\xe1\x9e\xa5\x98\xa4\x37\x92\x3a\x8f\x0d\x64\x23\xc1\x8e\x77\x62\x34\x7d\xb7\x6b\x0d\xf6\x49\x3e\xfb\x17\x88\xb0\x53\x16\x3d\x71\xb6\xc4\x3f\xdd\xbd\x95\x13\x6b\x05\x17\x61\xba\x75\x24\xe1\xce\xaf\x32\x45\x34\x9c\xfd\x2a\x51\x3f\x8d\xb9\x83\xe2\x1c\x82\x84\x7f\x47\x59\x6c\x8f\xfc\xef\x1c\x1f\x6e\x09\xa4\x63\x64\x49\x5f\x53\x94\xa9\x4a\xd2\xc2\xce\x11\x02\xc7\x62\x07\xb7\x1a\x49\xca\x17\xb0\x95\xe5\xc1\xdc\x2d\xb5\xea\x30\xeb\xab\x92\x10\xd4\xb6\x42\xfb\x28\xd9\x65\xc1\x84\x94\x97\x13\xf0\x29\x20\x6a\x20\x14\x95\x15\x46\xd6\x5e\x88\xa3\x84\x04\x22\xb1\xe7\x69\xd2\xa2\xfa\x47\xaf\x34\x32\xeb\x9a\x8c\x80\x6c\x92\x1d\x13\x2d\xb2\x6e\xaa\x3f\x39\x8c\xff\xf4\x00\x45\x17\x69\x75\x0d\x0c\x08\x6e\x97\xce\x6f\xbc\xfb\x95\x7b\x64\x04\x78\x03\x91\x73\xe3\x8d\x6f\xd7\xef\xce\x97\xc7\xf6\xce\x94\xd7\x9a\x8a\xa4\x55\xf4\xc3\x3e\x45\xe5\x39\x72\x3d\x9d\xc0\x70\xea\x46\x6b\x26\xee\x34\x32\xc1\x16\x84\x62\x26\x84\x03\x95\x6a\x11\x9c\x59\x81\x19\x83\x2b\x82\x75\x50\xec\xf0\xc6\xb7\x4b\xeb\xaf\x3f\x52\xf9\x79\x01\x21\x77\x8a\x90\x13\x3a\x48\x57\xbd\x5b\x3b\x77\x1f\x3b\x3c\x31\xbe\x67\xef\xfe\x3d\xc7\x26\xf6\xee\xdb\x75\xe0\xc8\x84\x62\x9a\x7c\xb2\x85\xf9\x5a\x95\xdb\xeb\xe8\xdc\x45\x45\xef\x32\x9a\xa7\x75\xaf\x03\x51\x78\x68\xe2\xc8\xc1\xad\x50\x68\xb6\x1f\x8c\xc2\x66\x6d\x32\x66\xed\x31\x60\x42\x16\x6f\xe8\x0a\xd7\x14\x02\xdd\x95\xcb\x97\x95\x32\x4e\x81\xfb\x5d\x79\xdf\x3c\x3d\x75\xdb\xa4\x82\x72\xe7\x53\xf4\x24\xae\x4f\x39\x71\x6f\xfd\xfd\xcf\xd7\x97\x4e\x33\x67\x55\x56\xe5\xe0\x22\xa0\x3d\x1c\x06\xd0\x9c\x3c\xfa\xb0\x84\x63\x22\x33\x80\xbb\x07\x2f\xff\xac\xae\x2f\x43\xcd\x79\xc1\x31\x6f\xcf\xcc\xdd\xf3\xec\x53\xd1\x3e\xa6\x59\xd2\x8a\x26\x6b\x69\x63\x4a\x3b\x9a\x99\x4e\x00\xa2\x88\x3c\xa9\x86\x73\x8c\xed\x93\x95\x40\xb0\x28\x09\xd7\x0c\x6d\xe8\xe2\x02\xa9\xb4\x08\x69\xff\x11\x72\x9b\xe7\x81\x53\x96\x1f\x6d\xa1\xf8\xd0\x48\x21\x58\x35\x6f\x87\x7b\x58\x1e\xc2\x89\x72\x22\xd9\x56\x7c\xb9\x14\x4f\x33\x50\x9e\xb8\x23\x8f\x4a\x8a\xbb\x1d\x08\x63\xe4\xfd\xef\xeb\x85\xc6\x66\x3a\x82\x00\xec\x4c\x49\xeb\x37\xb0\xdb\xd2\x2f\x9d\x8e\x93\xed\x81\xcf\xa2\x46\xd1\xae\x98\xd4\xcd\xf7\xc2\x50\x91\xcd\x78\xa5\x66\xa6\x99\x98\xae\x1f\x5c\x8b\x53\x85\x7c\x0b\x55\xd5\x34\xe9\xf0\x4f\x9a\xcc\x0e\xe0\x5a\xa6\x0d\x0f\x6b\x5c\x7b\x78\x71\xe3\xe1\x6d\xa6\x29\x25\x1a\xb1\x56\x76\xc9\xff\xc8\xf4\x76\x8a\xe5\x21\x88\x88\xc0\xb1\x90\x02\xa0\x01\xc3\x45\x20\xcf\x42\xd6\xda\xe2\x16\xd0\xfa\x84\xe9\x44\x5d\x5b\x90\xbb\xd8\xe2\x16\xf6\xbd\x05\x31\xe9\xdc\x42\x50\x87\xdc\x14\x9d\x3d\xb2\x13\xc5\x12\x1d\x75\x88\x43\xed\x34\x26\xb1\x3c\x05\x98\xc3\x8e\xe1\x22\x6e\x53\x05\x7e\xb8\xc5\x7c\x74\xee\xf1\x27\x17\x7a\x5f\x7d\xbc\x7e\x6a\xd9\x6e\x67\x8b\x32\xbc\x36\xeb\x1a\x5f\x0b\x6d\xfd\x0d\x6f\x34\xdb\xca\xe8\xf4\x02\xf5\x37\xb4\x6a\xb3\x95\x71\x31\x5d\xb5\xbf\x61\x65\x93\xe0\x51\x31\x07\x17\x13\x88\xfa\xe2\x9e\x01\x45\xb1\x98\x86\x14\x41\xcc\xcd\x05\xc3\x09\xdd\x2d\xb7\x80\x45\x67\xc3\xf5\x70\xdd\x23\xc3\x66\xfb\xad\x7a\xd9\x87\x84\x5f\xe7\xef\x7c\xab\x80\x71\x61\xbd\x0f\x5c\x8c\xcc\xdf\xfd\xcb\x31\x2b\x03\xba\xd2\x14\xfc\x9d\xf9\x5e\xc0\x62\xd8\x98\xf7\x55\xb3\x43\x5c\x43\xbb\xb4\xdc\x54\xde\x8e\x43\x16\x93\xe9\x00\x2d\xc7\xdc\x4d\x41\x83\x2f\xd3\xb0\xc1\x1f\x91\xc7\x97\x17\x7a\xcb\x0b\xa4\x2a\x30\xad\x03\xcb\x85\x78\x5a\x13\x00\x91\x47\xc1\x66\xc1\x84\x98\x27\x09\x7b\x0d\xea\x8f\xeb\x20\x9d\xd1\x75\x64\x0d\x6b\x18\xb8\x98\x3c\x96\xe1\xc3\x87\x9f\x8b\xec\x6c\x5d\x69\x10\x53\xa2\x73\x70\x31\xfe\x8a\xf1\xc1\x6a\x40\x2b\xc7\x09\x9b\xd2\x0e\x66\x2c\x1c\xd8\x0c\x96\xa3\x41\x48\xe4\x4c\x65\x0c\x91\x7e\xeb\x39\x4b\x00\x53\x2b\xba\xef\x35\x92\xc3\x3f\x81\x25\xf2\x50\x18\xb8\x44\x7a\xff\x8e\xb3\x71\x20\x05\x0b\x66\x6f\x55\x06\xaa\xb9\xc8\xf2\xed\x59\x7f\xf4\x0c\x73\xb1\xb6\x7e\x92\xd4\x16\x0e\x67\x95\x7c\xdb\xd6\x17\x39\x43\x3d\x51\x5b\x3e\x4b\xa0\xe3\x9b\xe7\xa9\x8a\xaa\xad\x1d\x28\x34\x99\x07\xd3\x65\x6c\xe0\x30\xc8\xe2\x17\xcb\x47\x56\xe6\x8b\xf3\x30\xa0\x5a\xf8\xf6\x9d\x8c\x17\x3d\xe9\x61\x64\x83\x20\x7c\xea\x9a\x4f\x3f\x23\xf3\xba\xa7\xe1\xdd\x79\xae\x61\x02\x85\x5c\xb8\xe7\x7f\xfe\xca\xfa\xad\x4f\x7d\x46\x37\xd9\x3e\xaa\x61\xe2\x1e\x94\xf0\xad\x0b\xf5\x62\x8a\xd3\xe0\x21\xf0\xfc\x26\xba\x51\xaf\x61\x82\x19\x60\x55\xa0\xbd\x72\x85\x86\x32\x63\x91\xdd\x03\x02\x4a\x15\x77\x36\x96\x4e\xf7\x2e\x3c\x60\x9a\x61\x65\xdc\x01\x5c\x2c\x66\x43\xaf\x7f\xa5\x5c\x9f\xd9\x67\xee\x04\xcf\x13\x7b\xc8\x08\x54\x8b\xd1\x20\xba\x2d\x48\x15\x6d\xa9\x3a\x96\x19\x37\x9d\xb5\x7b\x17\xd7\x3f\x78\x53\x1c\x7d\x92\xfe\xd7\x6f\x5c\x7d\x7c\xf9\x53\xae\xcb\x10\xbb\xad\xcf\x72\xd8\xed\x70\x46\x6d\xb6\xac\xac\x68\xc2\x1d\x58\x6f\x1b\xee\x6e\x8a\x46\xcc\x95\xec\xa6\xb5\x69\xd6\x64\x41\x81\x05\x6c\x4b\x8f\x49\xa8\xaa\x6e\xaa\x05\x01\x1d\xd0\x0b\xc1\x34\xb8\xfb\x3a\xb1\x75\x2c\x8f\x39\x4f\x35\x84\x55\x16\x1e\xee\x8f\x54\x73\x55\xe6\x37\xbc\xfa\x6a\xb4\x1d\x12\x0a\x24\x39\xe8\x52\xcb\xeb\x3c\x1e\xce\x20\x8d\xfa\xd5\x57\xb9\x9a\xdc\xee\xbe\x8a\x90\x54\x5c\x9f\x2c\x79\xed\xb6\xf2\x0b\x3e\x0f\xa7\x18\x30\x39\x43\x23\x32\xdd\xcd\x07\x8f\xd3\x04\x8c\xc1\xdd\x0a\x18\xb4\xdd\xe0\x47\xb5\xbe\xaa\xec\xca\x07\xc4\x57\xfe\xae\xb2\xbb\x93\x00\x42\xd1\x6d\x34\x33\x4a\xf6\xdb\x93\x58\xfb\xb9\x27\xd1\x65\x3b\x03\x86\x84\xf8\x00\xd1\x41\xb1\x00\xa8\xdd\x0f\xc4\xf8\xdb\xd9\x4d\x57\xd5\x0b\xce\x7b\x05\x10\xaf\xb1\xdb\xca\x0e\x1c\x57\x46\x6e\xd1\x91\x4a\xce\xf3\x01\xac\x96\x1a\x05\xe4\x1f\xc9\x40\x55\x36\xac\x08\xfa\xa5\x18\x49\x05\x73\xe9\x0f\x99\x2c\x7f\x5f\x08\x25\xae\x0e\x8f\x85\xf8\xac\x46\xfa\xf2\x11\x60\x5e\xa2\x7d\x72\x3c\x92\x7f\x91\x28\xb8\xfc\xc8\xc6\x47\xe0\xa4\x14\xc2\x06\x54\xc6\xb6\xfb\xe3\xc7\x14\x6f\x8b\xa2\xd9\x13\x0a\x55\xf8\xb2\x22\x32\xca\x19\x40\x73\xb4\x35\xb1\xf7\xe0\x8e\x48\x63\x7c\xee\x56\x5b\x66\xc0\x74\x2a\x94\x4d\x03\x7e\x01\xb1\x14\x28\xfd\xd5\xc4\xd9\xf4\x9c\x08\xd7\xd0\x79\x6c\x9a\xcc\xc5\x74\xc2\x6f\x92\xc7\x5c\x61\x87\x30\xe9\xf5\x39\x2e\x51\x01\x93\xd3\x39\xa3\x3e\x62\xd9\x94\x27\xf9\x68\xeb\x68\x86\xff\x47\x0b\xa6\x21\x69\x29\xdb\x4c\xa5\xa5\x45\x27\x67\x62\x4a\x90\x3d\x0a\x2d\x0f\x76\xd3\x19\x3d\xec\xd1\x7f\x41\x85\x04\x6b\x08\xab\x7c\x55\xb8\xfb\x0d\x6a\x40\x22\x1b\x08\x38\x08\xa0\x21\x13\x58\x28\xd9\x17\x78\xa9\xac\xe1\x00\x35\xb4\xc7\x20\xb0\x4f\x6d\x99\xa6\xc4\xde\x31\x40\x59\x73\xe1\xb2\xe9\x30\xea\xd4\xea\xc5\x0d\xee\x2a\xe6\xd5\xce\x66\x64\xdd\x67\x8d\xf4\xea\xdf\x65\x73\xa9\xcc\x0d\x36\x61\x87\x75\xfa\xaa\x59\xb8\x7b\x7e\xb1\x77\xee\xf3\x5c\x45\x80\xcc\x4e\xc2\x08\x90\x22\xaa\x94\xe7\xe0\x34\x60\xee\xa9\x73\x85\xa1\x17\x99\xa7\xae\xc0\xdd\x08\xa0\xc1\x95\xcf\x53\xca\xe1\x5b\x52\x41\x93\x3c\x6c\x9b\xab\x23\x03\xb0\xcd\x75\x0e\xc5\xf0\xdc\x46\x39\x0f\x22\x51\x00\xe5\x11\x29\x64\x1a\x64\x3e\xcc\x7f\x23\xe0\x05\x98\xe2\xa3\x73\x9b\x5f\xcc\x8b\xbf\xab\x02\x84\xfd\x40\xeb\x86\x1c\x75\x3a\xe4\xdd\x2d\x21\xff\x9a\xdd\x19\x07\x61\xa8\x80\xc0\x00\x7b\x4c\x29\x90\xc0\x9d\x5b\xcd\xb9\xe8\x64\xd2\x11\x77\xb2\xdb\x46\x98\x80\xdd\x91\x21\x28\x01\xf3\xdd\x57\x7b\xa5\x31\xdb\x9d\xd5\x8f\xe2\x18\xe1\x89\x49\xcc\xe0\x46\x6a\xcb\x3d\xe2\x77\x7e\x6e\xf9\xb8\xb0\x21\x0b\xef\x61\x9a\x35\x6d\xfa\x6d\xda\x74\x39\xbc\xe3\x59\x2e\x92\x41\x68\x0c\xcb\xd8\xf2\x91\xce\x54\x2e\xc1\x13\xaf\x16\xc9\x8b\xf4\xb7\x01\xcb\x23\xbd\x4e\xa9\x63\x59\x0e\x49\x87\x94\xee\xf8\xdf\x86\xb4\x30\xc8\x86\xf9\x75\x28\x8f\x1b\x19\xa7\x7b\xa8\xcb\xd0\x24\x8c\x04\x8d\xaf\x4d\xb9\xa7\x9e\x59\x14\x1a\x60\xa6\x7d\x58\x4e\x8d\x11\x24\xb7\x0f\x55\x56\x25\xd3\xf6\x13\x29\xc8\x76\xb2\xa5\x10\x42\x38\x7b\xf1\xac\x2d\xce\x88\x3f\x54\x4a\x33\xf9\x37\xb6\x30\x93\x77\xe6\x1b\x2f\xa7\x7e\x5f\xe0\xd4\x0b\x8d\xfa\x99\x9e\x78\x1f\x9b\x13\x42\xb1\x17\xa4\xaa\x7f\x2a\x31\x3f\x24\x05\xce\xdf\x85\xb6\x27\xf7\x91\x23\x07\xe5\x04\x54\xc0\x98\xec\xd5\x9b\xc9\xe5\xf8\xbe\xbf\xc3\x57\x6c\xdd\x00\x2c\x8f\x64\xba\xc3\xa7\x3f\xba\x87\x7c\x7c\xea\x6b\xf1\x90\xe2\x66\x7b\x35\x84\x62\xd3\xb4\x3b\x05\x75\x81\xfb\x9c\xa0\x50\x4c\x7a\x6f\x04\xa4\x6c\x97\x62\xea\xa3\xd9\x6e\x4a\x80\x2d\x51\x8a\x8a\x2a\x84\x6d\x43\x88\x3e\x45\x20\xf2\x44\x14\xba\x41\x84\x27\x8d\x90\x08\xc0\x44\x18\x59\xa8\x01\x65\x21\x68\x7f\x40\x64\xd2\x00\x9a\x87\x42\xeb\x30\x28\x0b\x4e\x75\x70\x50\xb5\xc5\xdc\x06\x05\xfa\x9d\x2a\x5e\xe7\x0d\x3d\x28\x7d\xed\x8b\x45\x80\x8f\x29\x1c\x41\x31\x74\x62\x7e\x13\x60\x59\x54\x7f\xca\x91\x68\xfc\xa1\x0b\xc5\x76\x54\x6d\x21\xe7\x8a\x85\x91\x64\x31\x06\x27\xfc\x17\xca\xaa\xd5\x57\x4c\xe9\x30\x6a\xaa\x15\x0e\x67\x47\x8b\x6a\x1f\x34\xa1\x9e\xa3\xdd\x5c\x51\x5e\x61\x47\x77\xb4\xc0\xb9\x2e\x6a\x03\x7b\xd5\xb4\x98\xf1\xa2\xed\xa0\xda\x52\x36\xa1\xd7\x94\x15\x34\x7c\xb1\x37\x0f\x35\x59\x81\x5f\x8e\x69\xcd\xd8\xa1\x45\x26\x1d\xf3\x17\x5b\xfd\xc2\xd4\x06\x03\x1b\x8a\x7c\x03\x1e\xa9\x49\x0d\x5e\xe6\xbb\x42\xac\xa1\x38\x62\x72\x21\x00\x06\x19\xe1\x0f\x17\x55\x5d\x97\xa2\xab\xe1\x66\xdc\x94\xf6\xa7\x08\x13\x18\xbf\xf4\x13\xd5\x64\x94\x6a\xb7\xd3\x1c\x89\xda\xcd\x18\x40\xb1\xa4\xa1\x55\xfc\x86\x7f\xc5\xd2\xf3\x08\xd0\xb2\xe3\x17\xbf\x00\xe8\xdd\x63\x10\x35\x37\x36\x95\xcc\xf2\xeb\xa0\x8a\xc0\xaf\xe6\xf0\xda\xe2\x4f\x26\x40\x45\x0e\xd6\x66\x7f\x02\x25\xdf\x77\xb8\x87\xfb\x79\x54\x2a\xdf\x1e\xa0\x59\x28\x31\x09\xa4\x41\xd4\x75\x84\xfe\x4c\x82\x89\xf8\xe3\x2b\x66\x2e\x44\x89\x81\x78\xe6\xd7\x77\xa7\x4c\xec\xcd\x3f\xbd\xf4\x3f\x01\x00\x00\xff\xff\x13\xa0\x5f\x49\x37\x76\x03\x00") + +func cfI18nResourcesJaJpAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesJaJpAllJson, + "cf/i18n/resources/ja-jp.all.json", + ) +} + +func cfI18nResourcesJaJpAllJson() (*asset, error) { + bytes, err := cfI18nResourcesJaJpAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/ja-jp.all.json", size: 226871, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesKoKrAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\x7b\x53\x1c\x57\x96\x2f\xfa\xff\xfd\x14\x39\x3a\x77\x02\xdc\x41\x21\xdb\xdd\x33\x71\x42\x27\x6e\xcc\xc1\x08\xc9\x9c\x46\x82\x01\xa4\x19\x5f\xab\x43\x9d\x50\x09\x64\xab\xa8\xac\xae\xac\x42\xa6\x7b\x1c\x81\xad\x92\x2f\xb6\xe8\x63\xb9\x2d\x2c\x64\x23\x35\x3e\x2d\xb7\xe4\x3e\xf8\x0e\x96\x90\x8d\x63\xe4\xfe\x40\x54\xf1\x1d\xee\x7a\xec\x9d\xb9\xf3\xb1\x33\x77\x16\x55\xc8\xf6\xdc\x99\x68\xab\xa8\xca\xdc\x6b\xed\xd7\xda\x6b\xaf\xc7\x6f\xbd\xf9\x7f\x58\xd6\xef\xe1\x7f\x96\x75\xca\x2d\x9f\x3a\x63\x9d\xba\x52\xbd\x52\x9d\x1d\x9f\x3a\x73\xa5\x7a\x6a\x88\xbf\x6f\xd4\xed\xaa\x5f\xb1\x1b\xae\x57\x95\x0f\x1c\x6d\xbc\x83\x0f\xc0\xef\x6f\x0f\xa5\x35\xf0\x86\xd7\xac\x5b\xff\x63\x66\xf2\xa2\xe5\x37\xea\x6e\x75\xd1\xf2\x57\xab\x0d\xfb\x2d\xcb\xf5\x2d\xb7\xba\x62\x57\xdc\xf2\xb0\x65\x4d\xd5\xbd\x9a\x53\x57\x7e\x6a\x2c\xb9\xfe\x19\xcb\x9a\x5f\xb0\x7c\xa7\x51\xaa\x37\xab\x55\x78\xb5\xe4\x54\x57\xdc\xba\x57\x5d\x76\xaa\x8d\xd2\x8a\x5d\x77\xed\xb9\x8a\x53\x5a\xac\x7b\xcd\x9a\x35\xf0\xfb\x2b\xa7\xaa\xf6\xb2\x73\xe5\xd4\x99\x2b\xa7\xa0\xd9\x26\x7c\x1a\x4a\x7e\xf5\xf6\x40\x46\x57\x88\xcb\xf6\xee\x41\xe7\xc1\xed\xce\xdd\x7d\xeb\xf0\xd9\x2e\xfe\x71\x7f\xdf\xea\x6c\xed\xb6\xf7\xee\xb4\xbf\xd8\xef\x3c\x5a\xb3\x3a\x9b\x1f\x74\x3e\x78\xd6\xbe\xb5\xde\xbe\xf5\x70\x38\xf8\xe9\x20\x78\x7c\xcd\x82\x1f\x3a\xf7\x37\x0e\x9f\x3e\xb7\x0e\xf7\xee\x29\xcf\xf6\xa3\x37\x7d\x1d\x77\xbf\x61\x2f\xfe\x74\xc6\xbd\xa7\xbd\xd1\x8c\xfb\xcf\xac\xd9\x25\xc7\x77\x80\x5e\x7d\xc5\x9d\x77\xac\x5a\x05\x7a\x6b\x2d\xd9\x2b\x8e\x65\x57\x2d\xdb\xf7\xbd\x79\xd7\x6e\x38\x65\x6b\xde\xf3\x1b\xc3\xd6\x68\xdd\x81\x91\x80\xc9\xb1\x83\x37\xdc\x2a\xf0\x59\x85\x0f\xd7\xdd\x4a\x05\xfe\x9a\x87\x69\xc4\x59\xe1\x37\xb4\xa3\xf8\x33\xeb\x68\x73\xbf\x7d\xeb\x3b\xab\xd3\xda\x6e\x7f\xd7\xea\x7c\xf0\xd0\x3a\xba\xb3\xd1\x7e\xb0\xdd\xb9\x7b\xdb\xea\xdc\xdd\x3b\xdc\x5f\x6b\xdf\xde\xb6\xf0\xa7\x4f\xbf\xa4\xb1\x7d\xb0\xae\x0e\x67\xf0\x56\xe7\xfe\x01\xfc\x73\xd4\xda\x87\xff\xb6\xbf\x78\x0e\xcf\x7d\xd4\x69\x7d\x7d\xb4\xb9\xd5\xfe\x12\x5e\x82\x17\xc3\x26\xda\x7b\xdb\x9d\x1b\xf7\x8f\x36\xbf\x14\xad\xe8\x06\x65\xa4\x56\x83\x45\x68\xd7\xa1\xdf\x19\xa2\xa4\xb3\xf9\xb5\xd5\xb9\xb5\x0d\xf4\xda\xb7\x1f\xeb\x25\x0a\x36\xf6\xfb\xdf\x0f\xc3\x3f\x17\x61\x56\xde\x7e\xdb\xba\x6e\xfb\xb2\x75\xab\xe9\xe3\x60\x8a\xe1\x5a\x5e\xb6\xab\x65\xeb\xd7\xf0\xf0\x28\x7f\x7e\xfb\xed\x5f\x67\xd0\x8f\x3e\x68\xb5\xff\x7a\xb3\xbd\xf3\x5d\xe7\x7e\xcb\xea\xbc\xbb\x0b\x1d\x86\x11\xe8\xdc\xdd\x8d\x92\x06\x96\x69\x28\x05\xd7\xf0\x80\x32\xa6\xfa\x2e\x5c\xf4\x2c\xbb\xe6\x5a\x4e\xb5\x5c\xf3\xdc\x6a\x03\x17\xa7\x7e\x62\x47\xa6\xc6\x61\xfe\xee\xb4\x3f\xde\x3e\xfa\x70\x17\x26\xe7\xe8\x83\x83\xc3\x3d\xd8\x0d\xad\x87\x9d\x9d\x4d\xa4\x29\xb6\x06\xb0\x17\x90\xd6\x11\x9e\xf6\x9a\x0d\xc7\x6a\x78\xd6\x9c\x63\x35\xab\xcb\x76\xad\x06\x63\x06\x63\x55\xf5\x1a\x16\xac\xb3\x3a\xec\x88\xca\xaa\x25\xbe\x87\xc7\x1a\x4b\xb0\x6c\x6b\xb5\x8a\x3b\x4f\x0c\xe9\x99\x6c\x3f\x7a\x76\xb4\xf9\x11\x2e\xc1\xce\xce\xf6\xd1\xe6\x8e\xd5\xbe\xff\xbc\xf3\xe9\x9e\xe0\xf5\x68\xab\xd5\x79\xb0\x0b\x5c\xee\xe0\x92\xfc\xcb\x6e\xe7\xf9\x1a\x0c\x5b\xe7\xe6\x16\xae\x4d\x7e\x15\x3b\xf2\x09\x2f\xca\xf8\x56\xd7\x75\x06\x4f\x26\xcb\xba\x04\x9b\x6d\x00\x36\xf8\xb2\x5d\xbf\xe6\x34\x60\xbb\xc1\xce\x29\xf9\xd6\xcc\xd8\xf4\xe5\xf1\xd1\xb1\x01\xec\xc5\x8a\xeb\x5c\xb7\xca\x8e\x3f\x5f\x77\x6b\xc8\xb2\x6f\x79\x0b\xb0\xb1\xca\xee\x8a\x5b\x6e\xda\x15\xb1\x47\xe1\x3b\xdb\x5a\x74\x57\x9c\xaa\xdc\x8a\xfa\xee\xe2\x99\x67\x75\xfe\xfc\x1c\x58\xee\x3c\x6a\x85\x9b\xa7\x73\x7f\x0b\x44\xcf\x76\xfb\x69\x4b\xd9\x7c\xed\x8d\xb5\xa3\xcd\x6d\x9c\x30\x58\x52\xb8\x9e\xda\x4f\xf7\xdb\x3b\x0f\x71\x3b\x65\x30\x4e\x5b\x2f\x58\x78\xb7\xbe\xc2\x35\xb6\x95\x33\x18\x23\xbe\xef\x2e\x56\xad\xba\x57\x71\x7c\x10\x1f\x8d\x25\x90\x67\xb0\xa6\x79\x62\x61\xa0\xea\xb0\x64\x51\x10\x7a\xf5\xc5\x12\x3e\x34\x60\xe1\x06\x49\x7f\xc6\xaf\x01\x43\xfc\x54\xf6\x30\xe4\x90\x40\x69\x9c\x4b\x21\xb1\xcb\x3a\x77\xbf\x82\x55\x44\x5f\x3f\x5a\x83\x75\x6e\x3e\x06\xb4\x1e\x90\xde\xb9\x59\xbb\xbe\xe8\x34\x82\x1d\x4d\x4b\xa1\x41\xdf\x59\x55\x58\x10\x44\x3e\x67\x86\x6f\xac\xc3\x39\xf3\x0e\x30\x43\xd3\xb6\xb1\xd6\xb9\xf1\x4e\x67\xfb\x79\xfb\xf3\xed\x90\x2d\x39\x93\xa9\x24\xe1\xb5\x41\x98\xc8\x97\x0a\xcf\x64\xd0\x0b\x1d\xf7\x30\xbe\x06\xbc\x7f\xbe\xd7\x79\xf4\x8e\x19\xef\xc7\xe7\xb9\x29\x76\x62\xc5\x83\x53\xd6\x2a\xd9\x16\x4a\xae\x52\xc9\xbf\xe6\xd6\x4a\xbe\x5f\x29\x91\xce\x41\x6c\x0e\x00\xfb\xf4\x28\x4a\xc1\x8c\xa7\xa0\xcb\x7e\xb3\x56\xab\x3b\x3e\x2b\x26\x96\x53\xaf\x7b\xf5\x9c\x7e\x93\xda\x00\x27\xd7\x16\xed\xa0\x4f\x9e\x91\x40\xda\x52\x36\x9c\x09\x7f\xed\xad\xdb\xed\x0f\xee\x18\xf0\x18\x5d\xb9\x39\x03\x05\x9f\x46\xcf\x5d\xbd\x38\x72\x61\x0c\x4e\xa7\xda\x6a\xc9\x07\x15\x0d\x76\xfd\xcc\xe4\xa5\xe9\xd1\xb1\xd2\xc8\xd4\x94\x35\x3b\x32\x7d\x7e\x6c\x96\x3e\xbe\x09\xc2\x40\xfc\x39\x33\x35\x32\x3a\x06\x5f\x78\xf2\x8b\xc9\xe9\xf3\xbf\xfa\x15\x7c\x51\xaa\x7a\x25\x18\x1d\x3c\xfc\x7e\xa5\x3d\xd9\xfa\x4d\x55\xd7\xd5\x49\x12\xb6\x76\x05\x4e\x94\x5a\xdd\x03\x59\x0b\x67\x89\x55\x71\xfd\x06\x8a\x5a\x3a\x9d\x4b\x65\xa7\xe2\x2e\xbb\x78\x70\x83\x6a\x86\x73\x6c\x37\x58\xed\x81\xf3\xe9\x7a\xdd\x6d\x34\x40\x18\x8b\x63\xe8\xf2\xe8\xc8\xd4\x55\x21\x1c\x67\x2c\x45\x85\xb3\xa4\x0a\x67\x2d\xc0\xaa\xb2\xab\xab\xd6\x9c\xd7\x04\xb1\xa6\x9c\x5b\xbe\x4e\x92\xc3\x57\x9d\xd6\xce\xd1\x8d\xfb\x9d\x1d\xb9\x39\x40\xa9\x84\x43\xb6\x7d\xe7\x4b\xd4\x96\x52\x4e\x2c\x90\xf0\x51\x56\x8e\xee\x6d\x1d\x3e\xf9\x1e\x84\xfa\x5a\x67\x9d\x0e\xb4\xc3\x83\xbd\xf6\xe7\xf7\xf1\x10\xec\xbc\xff\xfc\xe8\xa3\x6d\x6c\x15\x75\xd4\x6f\x5a\xd8\xe4\xd1\x8d\xed\xc3\x6f\x0f\xb0\x99\xf6\x5f\xbf\x84\xe7\x68\x01\xed\x6c\x1f\x3e\x7d\x66\xb6\x80\x52\x46\x55\x1c\x57\x20\x50\x9d\x79\x77\xc1\x9d\x87\xc1\xad\x2e\xb8\x8b\xcd\x3a\xf5\xd3\xaa\xd9\x75\xd0\x56\x1a\x4e\x1d\x15\x7f\x98\x02\x5a\xbd\x7c\x33\xf0\xe6\x7e\xe3\xcc\x37\xe0\xeb\x52\xc5\xad\x3a\xa0\xb1\x28\x6b\xa5\x59\x83\x25\x0e\x8d\x0a\xb5\xb4\x34\x6f\xae\x1c\xa3\x4e\xaf\x5b\x00\x0b\x2e\xcc\x14\x30\xd8\xb0\xdd\x2a\xdd\x4a\x8e\xc9\xfc\xb0\x45\xb4\x40\xeb\x86\x67\xe1\xc4\x13\xcb\x45\x79\x8f\x29\x82\xf6\x3d\xc7\x3a\xf8\x9c\xef\x55\x50\x0d\x82\xd5\x52\x77\x70\x2d\xac\x84\xaf\x32\x7f\x79\x03\x31\x35\x32\xfb\xfa\xd5\xd9\xc9\xab\xe7\xc6\x27\xc6\x44\x5f\xc7\xde\xb2\x97\x6b\x40\x07\x96\x76\x82\xc5\x33\xf4\xc4\xef\xe9\xbf\xf0\x7f\x57\x4e\xcd\x57\x9a\x3e\xb0\x76\xb5\xea\x81\x56\x02\x43\x17\xfe\xc6\x3f\xc3\xfa\x6d\xe0\xd7\xff\x30\x14\xf9\x7e\xd9\x59\xf6\xea\xab\x57\x97\xe7\xf0\xb7\x57\x5e\x7e\xf5\x17\xf2\xd7\xb7\xe9\xc3\xdb\xe6\x8b\x3c\xbc\x3c\x11\x9b\x28\x2f\x0f\x36\x3a\x3b\xf7\x41\x5f\x43\xfd\x1f\x95\x37\xb8\x05\xe0\xc5\x41\x6a\x36\xa8\xd2\xc0\x22\x86\x9b\x00\x28\x6c\x0f\x49\xc7\xc1\xf5\x4e\x32\x36\xb9\x7a\x7b\xbc\x90\x0a\xb0\x6f\xca\x34\xe8\xd2\x47\x9b\x8f\xf1\x60\x00\x31\x7f\xb4\xb1\xd1\xc1\x2e\xa7\xee\x44\x5e\x5f\xea\xfb\xc1\xf3\xa0\xec\x3d\xf9\x1e\x18\x52\xdb\xd8\x82\x36\xd6\xe1\xb8\x95\x47\x08\x1c\xbb\xf8\x17\x3f\xd8\x79\x70\x33\xb8\x1c\x14\x5d\x61\x59\x9d\x46\xaa\x5b\xeb\x27\xb6\xce\x5e\x80\x6c\x3a\x23\x46\x41\x0e\xd9\x1c\xe8\xef\xc1\x80\xc1\xc1\xc5\xdf\x0a\xa1\x7c\x75\xfc\xe2\xcc\xec\xc8\x45\x38\xbd\xfe\xf3\x4a\x2d\xf3\x01\x3a\xae\x34\xab\x39\xf5\x65\x17\x6e\x1e\x70\xce\xe2\x82\xb9\x72\xaa\xee\xd8\xe5\x92\x57\xad\xac\x5e\x39\xf5\xc3\x13\x4c\x27\xb4\x8a\x7e\xea\x22\xeb\x38\xcb\xab\x0b\x49\x66\xb0\xc6\x7e\x00\x42\x69\x1e\xad\x79\xa1\x1c\x17\xa3\x61\x4d\x4d\x8c\x5c\xfc\x11\x89\xa6\xde\x4b\xa6\xe3\x8e\xd3\xff\xaf\x6f\x15\x13\x6b\xfd\x5e\x87\x2f\x54\xb8\xa1\xb1\xb1\xd7\x82\xad\xd7\xab\xf3\x47\xa0\xab\x4d\xe1\x0e\xf5\x97\xbc\x66\xa5\x4c\x1b\xd9\xfa\x9d\x5b\xa3\xcd\x3a\x04\x9f\x9b\xf5\x0a\xef\xde\xf0\x4b\xbc\x5b\x5b\x15\x6f\xde\xae\x58\x65\xb7\x0e\xbb\x0c\xc8\x0e\x5b\x53\x9e\xef\x92\x58\x71\x7d\xf8\xb9\x46\x7f\xad\xa0\x0f\xa3\xe1\x2c\x3a\xf5\x21\xb4\xf3\xf9\x20\xab\x5c\x0f\x2e\xf3\xab\x43\x64\x6e\x84\x27\x7d\x8f\x8c\xf5\x0b\x75\x6f\x19\x9a\xbc\xee\xf8\x0d\xa4\xb6\xe4\x2e\x2e\x39\x7a\x17\x07\x7c\x15\xce\x30\xf2\xc5\xb3\x3c\xa4\x7c\xc6\xb1\xbd\x34\x3d\x21\xa7\x1b\x27\xf9\x3f\x76\xad\xf6\x9d\x3b\xed\x9d\xf7\x8f\xde\xdb\xc1\x7b\xfc\xdd\xdd\xce\x26\xac\xb6\xc0\x65\x61\x75\xb6\x5b\x9d\xef\x68\xd5\x75\x3e\xf9\x88\x97\xcc\x26\x5e\xe4\xef\xef\xb7\xbf\xdc\xb3\x3a\x9f\xee\xc1\x62\xef\xac\x6f\xc3\x63\xb4\xf7\xc8\xea\x0e\xeb\xf1\xf0\xe9\x8e\xd5\x7e\xf7\xff\x45\xaf\x13\xff\x0a\x0b\x1d\xd6\xb9\xd5\x7e\xef\x8f\xca\x77\xf8\x5f\xde\x21\x3b\x9b\xed\x9d\xdd\xf6\xed\x6c\x4f\x89\x94\xbb\x2c\xdb\xcb\x2c\x45\xbb\xd0\x01\xc7\x1b\x72\x66\xd9\xf1\x64\xa1\x57\x04\x84\xa5\x5d\xaf\xdb\xab\x6c\x18\x56\xc4\x25\x1e\x04\x3e\x9e\x25\x6c\x22\x9f\x63\x0f\x8a\x63\xd5\x9b\x15\x27\xd3\x72\x42\x7b\x13\x6d\x1a\xc7\x53\x29\xc4\x3b\x77\xe9\xc1\xc3\x6f\xb7\x3b\xdf\xdd\xa3\xad\x4f\xf6\x72\x21\x11\x12\xdb\x88\xdc\x0a\x24\x33\xc8\xa8\x02\x4f\xbd\x4b\xb6\x99\xf6\xde\x5e\xe7\xee\xbe\xf4\x6f\x7d\xb2\x1f\x9d\xed\xbe\x0d\x3b\xb7\x40\x27\xa3\x32\xf2\xd4\xbd\x63\x8d\x3e\xb7\x4b\x8f\xbf\x66\xfb\x8e\x35\x29\xf4\x0f\x9f\x55\x3c\x6f\x19\x6d\x64\x65\xda\x57\xa8\x0c\xd1\x9b\xfe\x6f\x9b\x76\xdd\xb1\xe6\xea\xf6\xfc\x35\xdc\x7e\xf8\xa3\xea\x78\x5c\x72\x81\x3d\xa1\xc8\xe0\x83\x75\xe7\xb7\x4d\xd8\xd1\x65\xd4\x07\x1a\xa2\x17\x40\x58\x88\xb2\xcb\x74\xba\xfe\xc6\x87\x3d\x4e\xdd\x73\xf8\xe0\x65\xf9\xf5\xa6\x90\x36\xa1\xac\x02\x55\xad\xee\x35\xbc\x79\xaf\xc2\x7a\x5a\x63\xbe\x86\x67\x49\xf8\x33\x74\xb3\xe1\x56\x69\x1d\xf1\x13\xaf\xbc\x3c\xfc\xea\x2f\x7e\x31\xfc\xca\xf0\x2b\xff\x35\xfa\x64\x0d\xa4\x84\xd0\xf6\x7e\xfe\xf3\x97\xff\x51\x28\x7a\x52\xb2\xfd\xaa\xaf\x0b\x33\xb2\x28\x81\x5e\x7f\x97\x65\x48\x0d\x45\x08\x35\x8a\x46\xc4\xa7\x07\x91\xb6\x91\x20\x9f\x2e\x37\xee\xb7\x1f\x40\xff\xb6\x50\x42\x01\xf7\x87\xfb\xad\xa3\xad\x83\xce\xbd\x35\xe1\xe7\x45\xba\x20\x7d\xa2\x2f\x3f\xda\x80\xaf\x5b\x9d\x4f\xef\x28\x64\xd3\x4f\x2b\x66\x26\x3c\xa4\x5e\xe8\x24\xeb\x36\xec\x65\xf4\xe9\x81\x26\xec\x5d\x27\xd3\xef\x6f\x9b\x5e\xc3\x96\x3e\x2f\x79\x90\xf3\x97\x3a\xf7\x15\x7c\x15\x3c\x79\xb4\xb9\xd3\xbe\xf5\x5d\xfb\x4f\xef\x0f\x88\x39\x38\xba\xbb\xde\xf9\xf4\x4b\x0b\xa6\xb3\xfd\xc1\x17\xe8\xbd\x0b\x9e\x40\xef\x1d\x4c\x8e\x86\x31\xbb\x8c\x02\x04\x38\xd1\x52\x85\x81\xc7\x91\xc6\xf3\xe5\x2f\x2d\x79\x3a\x7c\x73\x07\x29\xdd\x7e\x6c\x69\xe2\x0a\xac\xb2\xe7\xb0\x97\xd6\x79\x0b\x0d\xe8\x36\x9e\xb6\x75\xa7\xe6\xe9\xa8\x74\x76\xd6\x3a\x0f\xbe\xe8\xbc\xb7\x41\xcd\x7f\xbe\xdf\x79\xb0\x8b\x8b\x42\xb8\x56\xef\x6f\x68\xc8\xa0\x05\x5d\xcb\x38\xb9\x90\x2c\xcd\x9b\x78\xfe\x57\xf0\x52\xb6\x2a\x7d\xf1\x5a\xd6\xa0\xe7\xff\x7e\x10\x7a\xfa\x4d\x1a\xf4\xd0\x21\x9d\xd7\xe0\xc3\x8f\xa0\x7f\x99\x0d\x3a\xcb\xb5\xc6\xaa\xb6\x7f\xa0\xa2\x0a\x0f\xb4\x76\x7c\x84\xab\xdc\x5e\xb1\xdd\x0a\xad\x3b\x10\x99\x38\x0d\xfa\xe9\x0e\x26\x42\x2c\x2c\xe9\x2b\xda\xb1\x50\x79\xed\xdc\x7d\x0f\x88\x69\x67\x5d\x90\xab\x3b\x7e\xcd\xab\x96\xe1\x64\x00\x85\xab\xe2\xe0\x39\xb0\x6c\x5f\x03\x41\xdf\x04\xe9\xed\x36\x58\xf7\xe2\x5b\x50\xad\xd2\x5c\x14\x3c\x69\x4f\x6e\x18\xaf\x41\x58\x6e\x2f\xc1\x87\x8f\xda\xb7\x9e\x29\xeb\x22\x2d\xba\x06\xfd\x1f\x7f\xda\x25\x97\xc5\x81\xd2\x1b\xb8\xae\xc0\x4b\x47\xf7\x36\x31\x22\xc1\xc0\x71\x81\xfd\x58\x40\xbf\x8c\x96\xab\xbd\xbf\x91\x78\x0d\x46\x45\xd3\x50\x1d\x14\xde\x95\x40\x79\x14\xde\x24\xec\x2f\xa8\x9e\xa0\x65\x3a\x7e\xee\x4c\x48\xc7\x8b\x98\x10\x38\x2c\xbe\xde\xd3\x2e\x9b\x2b\xa7\xa6\x68\x48\x41\x46\xc9\x33\x33\xe8\x8a\x3c\x30\xc5\xfc\x00\x53\x65\xbb\x61\x6b\xa3\x06\x4e\xa9\x43\x09\xcd\x45\xc4\x33\xea\x96\x34\x1d\x56\xfb\x0f\x7b\x30\x43\x47\xad\x3d\xc9\x60\x74\x60\x72\xc2\x22\x06\x82\x35\x0a\x6c\x2d\xba\x78\xa5\xa0\x60\x23\xf2\xee\x0e\x5b\x33\x0e\xfb\x68\x97\x9c\x4a\x4d\xb7\x66\x07\x82\x05\xd2\xfe\xf8\x6b\x18\x28\x0a\x1b\x12\xc1\x30\xb0\x3f\x36\x5b\xed\x5b\xf7\xe4\x3a\xc1\xb6\xda\x1f\xb6\x3a\x9f\xad\xb5\x1f\xdd\x66\x67\xe8\xde\x41\xe7\xf3\x3d\x83\x25\x81\x5e\xe7\xcb\x4e\x1d\x6d\x3a\x33\x4b\x70\x0a\xa0\x8f\x5b\x86\x23\x88\xef\x27\xbc\xea\x22\x7d\x0d\xeb\xdc\xae\xf8\xa0\x6d\xcd\xcf\x3b\x35\x90\x2d\xba\x31\x4e\x6b\xb3\xbd\xf7\x61\x4a\x9b\xc0\xb4\x10\xf2\xa1\x52\xae\x91\x6d\x2f\x05\x82\x88\x84\xaf\x56\x25\x7e\x49\xd9\x58\x2c\x91\xd4\x08\xab\xf4\xb6\x7f\xf6\xb3\x11\x74\x72\x62\x13\x67\x2c\xb1\xd2\xa8\xbb\xa0\x07\xda\xb8\x9a\x03\x37\xe8\xdc\x2a\x5c\xaf\xe8\x51\xb2\xff\xc0\x6d\xb0\x8e\x17\x46\x38\x6c\x9a\x0d\xe8\x2a\xa8\x8a\xe3\x18\x38\x56\xa9\xd0\x20\xa2\x2f\xbe\x26\x9b\x6b\x58\xab\x18\x0b\xe8\x5d\x07\xc1\xe0\xfa\xd7\x86\x7f\xf6\x33\x3c\xf8\xcf\x7a\xf8\xb5\x75\xdd\xae\xd2\xed\xcb\x15\x6f\x93\xb1\x87\xa5\x08\x0c\x1a\xb3\xf4\xf6\xdb\xff\x64\x0d\xae\xa2\xfe\x5b\x7d\x49\xd3\xf9\x9f\xfd\x0c\xc3\x61\xee\x6f\x9d\x89\x08\x0c\xba\x0a\x3d\xd8\x81\xd3\x47\x31\x16\xdc\xda\x69\xff\xaf\x3d\x45\x02\x92\x1a\x46\x41\x66\x9d\x07\xb7\x29\xb4\xe9\xe3\x7d\xeb\xd5\xce\xa3\x96\xaa\x8e\x45\xa4\x10\x5c\xc2\xbe\xdb\x22\x7d\x87\xa4\x29\x05\xd9\xdc\xd9\xa3\x63\x75\xbb\x75\x74\x77\x8b\xc8\xf2\x4f\x0f\x6e\xb3\xab\xf5\x7f\x87\x8d\x71\xf7\x95\xce\xc5\x58\x6e\x09\x02\xb4\x86\xb7\x0f\x9f\xec\xf0\x24\x1e\x7e\xb7\x41\xa3\x20\x14\x47\x18\x89\xd4\x19\x1d\x09\x02\xcf\xd0\x42\x08\x23\xeb\x55\x78\x78\x61\x27\xda\xf3\x0d\x56\x51\x46\x2b\x5e\xb3\x6c\x9d\x43\x21\x52\xd7\x1d\x48\x91\x67\xa8\xb3\x37\xde\x41\x35\x0f\x46\x8a\x0f\x10\xde\x93\x47\x9f\xbc\x8f\x3b\xf0\xf0\xd9\xae\x86\x9f\xb3\x67\x4f\x4f\x8f\x5d\x98\xbc\x8c\x16\x8c\x4b\xe7\xc7\x2f\x6a\xc8\x45\x47\x98\x14\x92\xd3\x2c\x1b\x0d\xdb\xb5\xa6\xc7\xa6\x26\x67\xc6\x67\x27\xa7\xdf\x30\x22\x11\x88\x63\x23\x62\x97\xd1\xda\x72\x56\xd3\x30\x5c\xc6\x0f\x0f\xde\xd7\xbc\x3a\x31\x3e\x32\xa3\x79\xaf\xfd\xb4\x05\x83\xa8\x79\x6f\x6a\x3c\x08\xd0\xd3\xbc\x9e\x12\x99\x97\xdf\x96\x35\xe8\x0c\xc3\x39\xbe\xd4\x68\xd4\xfc\x33\xa7\x4f\xdb\x35\x77\x58\x5c\xa9\x86\x61\xe1\xe8\xb6\x57\x0a\xa9\x41\x54\xd0\xf5\xed\xe4\x32\x72\xc6\x9c\xd4\x19\x83\xd6\x28\x30\x72\x6a\x7c\x4c\xfc\xfd\xb6\xce\x3a\x9a\xd6\x7c\xf2\xdd\x2e\xe8\x59\x83\xf8\xfb\x0a\x4b\x79\xf9\xb3\x10\xfa\x6f\xbf\x5d\x60\x60\x93\x4d\x53\xcb\xed\x27\xad\xce\x4e\x2b\xa5\x61\x33\x5e\xbb\x1e\x98\xfc\x51\x99\xd2\xad\xef\xce\xe6\xd7\xda\x77\x02\x13\xa6\xee\xe5\xe8\x33\xda\x66\xf0\xfe\x94\xd1\x02\xfd\x9c\xfe\x32\x9c\xe5\xbe\x4f\x57\x0e\x25\x00\xb3\x06\x77\x07\x77\xbe\x59\xb1\xeb\xd6\x5c\xdd\xbb\xe6\xe8\xa2\xbd\x8e\x3e\xf8\xae\xb3\xb3\x69\x81\x02\x45\x56\x3e\x8a\xbc\x4c\x86\x5c\x6e\x7e\xde\x69\x61\x34\x73\x2e\x07\xd2\xd8\x8b\x26\xef\x04\x23\xf2\x47\x6f\x61\xc1\xc1\x48\xfa\x6c\x96\x94\x48\xea\xad\x87\x47\x7f\x78\xde\xc6\x08\xbc\xad\x48\x80\x35\x5d\xfd\x0a\xb0\x89\xf6\x19\xb4\x0b\x89\xc4\x01\x60\x68\xbe\x89\x06\x55\x8b\x82\xd6\x7d\xba\x6f\xc2\x4a\x81\x43\xbf\x5e\xa5\xc0\x64\xad\x6a\x17\x7d\x6a\x10\x8e\xe4\x97\xf8\x4c\x7e\x48\xe7\xc8\xd3\xfd\xce\xe6\xba\x05\x12\xba\xfd\xe7\xef\xac\xa3\x4f\xff\xd0\xfe\xf8\x7e\x1e\x4f\x22\xa8\x3e\xc6\x13\xb2\x14\xa1\xa5\x61\x28\xf2\x4c\xc8\xce\x07\x0f\x8f\x6e\x6e\x60\xc0\xd5\xa3\xcd\x22\x4c\x95\x41\x1b\xa2\xe8\x48\xe5\x1a\x44\xd7\x02\xdd\x19\x8b\x41\x92\x99\xa7\x52\x16\x21\x34\x92\xd7\x65\x40\x35\xda\x09\x6b\x35\xfd\x3e\xc4\xe9\x26\xd3\xb4\x8c\x8b\xce\x23\x40\xf3\x4d\xad\xc3\x18\xc1\x9b\x20\xe0\x90\x4c\x3c\xf8\x1d\x7a\xe9\xd5\x17\xf1\xbb\xc9\xfa\xa2\xf8\xee\x34\xc7\xb6\xe2\x97\x33\xf8\x41\x7c\xcd\x53\x72\x29\x18\xee\xe1\x61\x9d\x26\x1b\x79\x2c\x98\x95\x08\x0d\x0e\x2d\x3d\x1d\x23\x21\x83\x65\xb7\x92\x61\xf2\xd0\xff\xa0\x23\xf1\x41\xc0\xbb\x3b\x72\x93\x3e\x16\x15\x17\x38\x8f\x05\xe7\x8b\x9b\x97\x98\xe7\x39\x07\x47\x4b\x68\xb0\x1c\xd1\x0e\xeb\x80\x0d\xb5\xa3\xe7\xa4\x42\x76\xda\xc6\x96\x86\x2d\x6b\xda\xa1\x6d\x8e\x0d\xc4\x9a\x95\xaa\x5b\x4e\xf3\x38\xe6\x65\xa7\x8e\x13\x02\x4d\x91\x1d\x80\xed\xb8\xf8\x00\xbb\x59\x85\x12\xae\x1b\x61\xd6\x30\xc9\x66\x71\xff\x20\xa6\x7f\x82\xba\x4a\x7a\x49\x8c\xb9\xe0\x76\x21\x4c\x83\xd0\x31\xd6\x00\x4f\xf3\xe3\x8a\xb6\x9c\x50\x90\x41\xa7\x95\xa6\xac\xad\xc3\x27\x1b\x56\x18\x10\x9b\xcd\x48\x6a\x4a\x84\x14\x60\x18\x56\xbc\x77\xe7\xf0\x6f\x07\x79\x37\xbd\xf4\x19\xc4\x39\x8a\xcc\x0c\x8e\xab\x18\xf1\x81\x40\x3b\xe7\x15\x34\x00\xb3\xf6\x06\x5c\x56\xe6\xc9\xb4\xde\xa8\xe3\xfd\x47\x0c\x37\x4e\x8d\xee\x2d\x9a\x05\x98\xc8\xaa\x72\xbb\x01\xba\xe2\x71\x75\x1a\xdd\xea\x0a\x1c\x36\x19\x4b\x02\x18\x78\xdd\xbb\xee\xac\xa0\x53\x0b\xaf\x4d\xc2\xca\xbf\xe0\xd6\xfd\x86\xb5\xd0\xe4\x2b\x19\x34\x86\xb9\x3b\x44\xd3\x72\x97\x6b\xa8\xef\xc3\x61\x12\xe1\x15\x7f\xa2\x7b\x24\xfe\x91\xe4\x98\x79\xd3\x2d\x9b\xec\x85\x91\x6c\x2d\xb1\xb0\x34\x0b\x46\x9b\xfa\x82\x17\x8e\x6f\x30\x7e\x1a\x16\x1d\x5d\xae\x36\xf7\x73\xc9\xb4\x82\x45\x45\x1a\x3d\x59\x4f\x3f\x6b\x51\x60\xb6\xee\xa2\x25\xee\x82\x91\x8c\x24\x14\xf8\x7f\xda\x6d\xbf\xbb\x85\x0b\xbe\xf3\x79\x1e\xdd\x28\x51\xf6\xb2\xbe\x73\xf4\xc9\x17\x44\xe6\x1e\xaa\x6e\x47\x0f\xd6\x91\x09\xe8\x82\xf0\xdf\x99\x7b\x88\x46\x2a\x4a\x96\x08\xf9\x58\x84\x4a\xc0\x96\x09\xb6\x0e\xd8\xa4\x4e\xb8\x41\x24\x32\xbc\x03\xa2\x59\x67\x8f\x12\x36\x82\xf6\x5f\x1f\xb7\x3f\xde\x09\x22\xf5\xf7\xa3\xb9\x24\xe2\x57\x25\x91\x4b\xaa\x0a\xea\x98\xe9\x6c\x65\xdd\x70\x4d\x1b\x44\x9f\x5c\x20\x2d\x1b\xc8\xe8\x0b\x63\xd9\xad\xbe\x98\xa1\xce\x30\x4b\x76\xc7\xf7\x49\x0c\x76\x36\xd3\xde\x75\x6b\x66\xe6\x75\xb1\x08\x04\x4f\x4e\x66\x6a\x8c\x38\xe2\x43\xed\x15\xdf\x0f\xc8\x0a\x9b\x9a\x8e\x9e\xef\x59\x65\xa7\xe2\x34\x1c\x8a\xd3\x17\x79\x66\xa4\xe5\xe8\xe6\x4e\x66\x87\x6d\x87\x4a\x03\x9a\xee\x3a\xef\x7e\x05\x1b\x5d\x43\x86\x55\xa2\xe5\x26\x48\xe6\x39\x47\x24\xcd\x38\x18\xe5\x00\xfd\x93\x7f\x8b\x9c\xcb\xfc\x8e\x6a\x93\x67\x48\x22\xee\x90\x1e\x9f\x93\x67\x23\x44\x8c\xc6\xc2\x8c\xf9\x8c\x7a\xbd\x51\x63\x93\xc4\x97\x82\x44\x51\xca\xa1\xc8\x68\x42\xcd\xe8\x04\x3e\xb6\x0f\x9f\xb6\xf4\xad\x92\x6a\xe4\xb2\x7f\x49\xf8\x85\x17\x5c\xa7\xa2\xb3\xdb\x73\xfb\xac\x0f\xac\x91\x87\x11\x63\x72\x36\x5b\x70\x8d\xed\x3c\xc8\x20\x13\xd1\x0f\xa3\xde\xad\x0c\xad\x34\x99\x79\x99\x6f\x11\x4f\x50\xa3\xce\x5d\xf7\xea\xd7\x28\x40\xe5\x9a\x5b\xab\x85\xba\x36\xc5\xfe\x20\x3d\x53\x16\xd6\xc8\x74\x79\xf7\x26\x19\x1a\x29\x64\x44\x51\x6e\xd9\xa8\x89\xca\xd7\xd7\xfb\xed\xd6\x7a\x7b\x5b\xa7\xee\xa7\xb1\x28\x84\x06\x27\xb3\x80\x8a\x82\xaa\x36\x0b\x15\x7e\xa8\xd0\x30\xb1\x24\x89\x37\x41\xbb\x98\xf3\x5d\x3e\xde\x56\x32\x30\xf3\x47\xd4\x01\x9e\xd0\x60\x81\x6b\x04\xc3\x77\xca\xae\xbd\x58\xf5\x40\xa9\x99\xf7\x39\x2a\xa2\xe2\x2d\x52\xbc\x80\x6e\x5b\x7f\x8e\x59\x30\xa1\xdf\x9b\x1a\xeb\x7c\x7a\xa7\xf3\xe4\x2b\xd8\x36\xad\xf6\xad\xc7\xd9\xf7\xa3\x30\xb7\xc7\x5a\x72\xec\x0a\xc6\x6b\x2c\x39\xf3\xd7\xac\xc6\x6a\xcd\x11\x16\xb6\x01\x74\x2d\x73\xa6\x59\xd5\xab\x3a\x03\x3a\x0b\x50\x32\xc7\x87\x2c\xad\x37\xb6\x85\x77\x0b\xd4\x9e\x9d\xa3\xad\x4d\x36\xb7\x0d\xa0\x73\xff\x83\x83\x30\x41\x8c\xe5\xeb\x80\xce\x0a\xa4\xf0\x19\x6c\x57\x17\xf4\xc4\xb7\x0a\x30\xa3\xee\xde\xce\x8d\xf7\xe1\x6f\x2d\x31\x5f\x67\xd4\x83\x75\xa0\x33\xe2\x71\xce\xa8\xcd\xde\x72\x71\x95\xcd\x38\x93\x58\xd4\xc1\x8c\x85\x1e\x71\x96\x73\x39\xcd\xf3\x95\x94\x89\x94\x9d\x05\xb7\xca\x71\x63\xb4\x58\xcc\xce\x1b\xfe\xa4\xd2\xdd\xd9\x24\x3d\xcf\x9c\x3c\x26\x9b\x32\x49\xb4\x3a\xe8\x28\x06\x9e\x83\xbb\xb7\xf1\xb2\x24\xe8\x72\x4a\xaa\x11\x35\x3e\x80\xba\x23\x46\xe3\x6b\x4e\x0c\xc4\xf3\x65\x8c\xce\xd4\x35\x4f\x0d\x50\x28\xcc\xde\x1f\xb3\xda\x61\x11\x58\x21\xa3\xc1\x34\xfc\xcb\xe6\x06\x64\xdc\x4a\x24\xef\x86\x36\x07\xce\x77\x9d\xac\x2f\xc2\xb7\x99\xe6\x04\xf5\x41\x79\x5a\x6e\x25\x5b\x8e\x8f\x46\xc8\x4c\x64\x40\xb2\xed\x05\x06\xfd\x61\x76\x32\xbb\xa3\x18\x51\xf8\x6b\xb2\x73\x04\x66\x94\x08\xdf\x99\x5d\x8f\x3c\xa9\x1a\x53\x92\x63\x72\x3a\x41\x2c\x62\x50\x89\x70\xad\x1f\x2a\xe5\x00\x3a\xb1\xd1\xea\xe3\xa0\x14\xeb\x7c\x37\xeb\x24\x66\xba\x84\xc6\xe4\x37\x57\xe9\x1b\x1e\x8d\x60\x39\xf8\x62\x6e\xc2\x91\x80\x7f\xec\xaa\xfb\x3b\xea\x60\x30\x18\x4d\x33\x43\x5b\x8a\xf9\x33\xd9\x62\x64\x24\xfc\xe8\xda\xc0\x33\x3c\x62\x22\x4d\xe3\xbf\xd8\x78\x28\xa2\x1a\x1a\xfb\x67\xfc\x20\xf4\x09\x75\x1c\x7a\x6c\x5b\x4c\xb1\x23\xa6\x09\xfd\x18\x43\x26\x1d\x6b\x34\x30\xf0\x87\x8c\x2f\x70\xff\xf0\xae\x57\x2b\x9e\x5d\x66\x0f\xfb\x2a\x07\x35\x52\x30\x09\xb9\x68\xab\x4e\x03\x83\xb8\x30\xe5\x5c\xdf\x07\xf4\xce\xb4\xf6\xda\xad\x6f\x09\x03\x22\x88\xed\x41\x9f\xb5\x8c\x9e\x43\x28\x9a\x4f\xf7\x31\xf8\xf0\xe3\xed\x02\xdc\x2d\xbb\x8b\x75\x9b\x6d\xbe\x42\x53\x1b\x17\x6a\xc3\xd9\x10\xbf\x22\x67\x78\xb3\x5e\xb4\xda\x8f\xe0\xf2\xbd\x8f\x2b\x65\x67\x5d\x2a\x18\x39\xdc\x89\xe8\x04\x0a\x91\x85\x2b\x2e\x19\x8b\xa6\xe0\x03\xcf\xc0\xaf\xf1\xc6\x2b\x6f\xbb\xbf\x8e\x6b\x98\xbf\x96\xe1\x28\x0b\x75\x47\x46\xc9\x06\x8a\xd0\xaf\x93\xcc\xca\xb7\x14\xec\x1b\x5b\x40\xe5\x58\xa3\x98\xe3\x32\x2f\x82\x19\xec\xf2\x32\xa8\x10\x3e\xf4\xbe\x01\x1a\x9e\xbb\x40\x46\x39\xb8\x4f\x57\xaf\xf1\xad\x9a\x50\x8e\x18\x2f\x40\x3b\x8b\x22\x60\x21\x85\xe9\xc8\x25\x3b\xde\x5f\x71\xdb\x46\xbc\xa1\xdd\xfd\xf6\x9f\x37\xc8\x80\x1d\x89\x8a\xc9\xe8\x58\x02\x5d\x47\x62\x07\xa0\x31\x56\x8f\xac\x23\x20\x0d\x88\xd4\x83\x75\x0a\x94\x7e\x72\x43\x5c\x33\x8f\x36\x6e\x83\xbe\x4c\xe1\xa0\xfb\x16\xc2\xfc\x80\xf6\x18\x48\x46\x42\x46\xda\x32\x08\xc7\x19\x69\xa2\xa1\xb4\x81\xda\xaa\xc3\x92\x1f\xb4\xe6\x92\x0c\x5b\x70\x57\x9c\x8a\xce\x89\x02\x5c\xa3\x29\xe0\xde\x9d\xce\xad\xfb\xf2\xe6\x2b\xe5\x33\xf5\xf7\x2f\x3a\x7f\x4d\x48\x12\x63\xdb\xb2\xb6\x1b\xb4\x91\xbd\x4e\x95\xa6\xf0\x4e\x00\xf2\xc8\x79\xab\x86\xb7\x57\x04\xb9\xe2\x98\x39\xbc\x92\xcc\xd9\x70\x49\x70\x49\xed\xac\x3b\x25\x5b\xe9\xf3\xb0\x04\x3b\x23\xec\x8d\x5f\xab\x38\x11\x57\x9a\x2f\xbf\xfc\xf3\x79\xe9\xcd\xa5\xbf\x1c\xab\xd4\x14\xdf\xe3\x58\xc9\xef\x3c\xf1\x1d\x88\x6f\xf9\x95\x2f\xbe\x22\xb1\xc9\x5f\xfe\x1a\xc9\xab\xdc\xa0\xc9\x38\xce\x4e\xe6\x58\xd0\x12\x79\xb4\x01\x8b\x2f\x0e\x3a\x64\x61\xac\x0d\x3d\x13\xda\xf8\x51\x16\xdd\xda\xb6\xf8\xce\x15\x8f\xd7\x93\x10\x6e\xa9\x4f\x21\x12\x4b\xb2\xbd\xfe\x0e\x4e\x21\xe0\x9b\x11\x0a\x7e\x12\x07\x25\x89\x21\x58\xb8\x65\xb7\x2c\xe2\x26\x39\x53\x85\x63\x6e\x3c\x8c\xc6\x71\x97\x31\x57\xae\xac\x53\x97\x0f\xbf\xd9\x60\xa8\x9e\xed\xf6\x93\x16\x6d\xb6\xfb\xcf\x8f\x3e\xdd\xc0\x84\xa5\xce\xf7\xe8\x9a\x8f\x32\x07\xc3\x23\x22\xcc\x09\x27\x6b\x37\xc4\xaa\xc9\x09\xb4\x7d\x6d\x7c\x62\x62\xfc\xe2\x79\xeb\xc2\xc8\xc5\x91\xf3\x63\xd3\xba\xb9\x7e\xf2\xd5\xe1\xb3\xdd\x70\x4b\x6b\xda\xba\x34\x3e\x71\x76\x6a\x64\xf4\x97\xda\x28\x97\xef\x36\x30\xa8\x60\x43\x63\x95\x0b\xde\xcf\x72\xe5\xc7\x1e\x4a\x6f\xc8\xc5\x44\x83\xb8\x36\x55\xe0\x82\x17\x55\x63\x02\xc3\x44\x41\x6a\x68\xc0\x94\x71\xa1\x71\x47\xb9\x40\xbe\xf2\xd1\xa8\x85\xd9\x1c\xc2\x9f\xae\x42\x85\xe8\xb8\x64\x0f\x79\x3a\x84\x55\x18\xd4\x1b\xe9\x82\x02\xf2\xf1\x22\x7a\x27\x3d\xf3\x26\xbd\x53\x1d\xee\x27\xde\xc7\x18\xee\x1d\x9b\x20\x5e\x9f\x9d\x9d\x62\xa3\x9c\xd6\x85\xaa\x43\xac\xa3\x57\x83\x5b\x50\xc4\xc8\xd5\x0d\x27\xb9\x7e\xfd\x74\x4e\x4c\x88\xe2\xf4\xcc\x39\x8d\xeb\x8e\x43\xd1\x96\x51\x65\x81\x8e\x85\xa8\x9d\x54\x08\x36\x32\x93\xea\x15\xc0\x68\x33\x87\x4f\x9f\x0f\x76\xee\xad\xbd\x14\x6d\xea\x70\xaf\x15\x42\xdd\x48\x4b\xaa\x56\x5c\x09\x56\x93\xf1\x08\x89\x21\xd3\x69\x3e\xc5\x03\x15\x7a\x70\x99\x2c\x14\xae\x90\xce\x76\xfa\xdc\x6a\xa2\x19\x82\x19\xcf\xd4\x55\xe4\x68\x9a\x5d\x3b\xcb\xce\x82\xdd\xac\x34\xfc\xa8\xc0\x3a\x56\x74\x0d\x89\xb2\xa8\x4f\x37\xf7\x06\x19\xa0\x82\x71\xf4\xc1\xe1\xde\x1f\x95\x7d\x75\x47\x77\xb4\x14\xea\x69\x20\xaf\x8e\xd3\x39\xf3\x8e\xa8\x32\xaf\x50\x5f\x78\xc5\x6b\x57\x4c\x4f\xa2\x74\x4e\x7a\xf1\xa7\xc5\xea\xe4\x6d\x88\xa2\xab\x3d\x3e\x6e\xbd\x1c\xaf\x17\x1b\xd5\x14\xed\x50\xb7\x23\xa4\xca\x55\x95\x50\x66\x8f\x82\xa7\xa2\x22\xc9\x8c\x70\xd3\xad\x94\x6b\x78\x07\x81\x17\x83\x3f\xe4\xb8\x46\x72\x1e\xf4\x0c\xc4\xdf\x0b\xb4\x4d\xc5\xef\x94\xe5\xf1\xcf\x64\xc2\xd8\x31\x98\xcd\x45\xbe\x93\xf0\xb5\xd5\x06\x5a\xbc\x6c\xb8\x7d\x81\x98\x92\xae\x63\xbb\x2a\x33\xd9\xf9\x0a\x61\x63\x28\x0f\xa9\x5e\xcb\x70\xa3\x6c\xd6\x1d\xc2\x9f\xab\xb8\xd7\x1c\xeb\xc2\x90\x75\xe1\xb5\x21\xeb\x3c\x25\xca\x9f\x7f\x4d\xa7\x8a\xe3\xbc\xec\x93\x69\x16\x93\xcd\xd7\x82\xd7\xa4\x3f\xe9\xfc\x6b\x18\xb5\x85\xe8\xc5\xe8\x59\x3c\xf8\x9c\x62\x5c\x6f\x3d\x96\xd9\xe7\x81\xb1\x00\x53\x26\x38\x4f\x5d\x26\xb4\x6b\xbc\xcb\x32\xc3\xd1\x2e\x97\x4b\x1c\x5b\x54\xa2\x84\x35\x0c\xd6\xe7\x5f\x60\xc5\xe8\x32\x10\x8c\xde\xcd\x26\x8b\x21\x06\x02\xe9\xd3\xf7\x97\x2c\xc2\x14\xcc\xba\x68\x18\xbc\x98\x4d\xb0\xe6\x5a\x6f\x02\x5b\xba\xf4\xe0\xe4\x73\x39\xcd\xd5\xac\x9c\x28\xe7\xd4\x47\xb3\x1b\x85\x4b\xab\x75\x69\x66\x6c\x9a\xfe\x9a\x1a\x99\x99\xf9\x97\xc9\xe9\xb3\x78\x11\xcf\x23\xa1\x7f\x31\x9f\x20\xca\xbd\xff\xae\xa4\x08\x58\x57\x4e\x5d\xb9\x72\xe5\x54\xcd\xf6\xfd\xeb\x5e\xbd\x8c\x9f\xaf\x9c\xb2\x06\x1d\x7f\xde\xae\xb1\xf5\x17\xf6\x9e\xbb\xc0\xf7\x09\x0c\xcd\x13\x0f\xea\xfc\xa8\xc5\x89\x0d\xa2\xe5\x68\x6f\xad\xfd\x64\x1d\xc3\xcc\xd4\xfc\x48\x34\x66\x91\x8d\xeb\x7b\xd0\xac\x30\xb7\xa7\xb3\xb5\x7f\xf4\xd1\x36\xca\x13\xd4\xbe\xe8\x5e\x72\x74\xa7\xa5\xf1\xba\xe6\x71\xb2\xbc\x1a\x74\x06\x7b\x8c\xb9\x52\xa2\xbb\x14\x8c\x2e\x7e\xf2\xe5\x9e\xa7\x45\xd8\x6d\xaf\x23\xb4\x06\x31\x2d\x7d\x8f\x22\x02\x22\x78\x27\x91\x71\x60\x24\x93\x58\xbf\x69\x54\x72\xba\x4b\x90\x4c\xa4\xa2\x07\xd8\x25\x67\x27\x2f\x8c\x8c\xa7\xa0\x96\xbc\x59\x2a\x2d\x79\x7e\x83\x62\x3d\x5e\x9f\x9c\x99\xc5\xf7\x11\xd9\x13\xc1\x4c\xa6\xe1\xf3\xec\xd8\xf4\xcc\xd5\x91\x99\xab\x98\x0f\xae\xdb\x49\x26\xcc\x08\xa0\x7b\xa9\x83\x09\x90\xf5\x99\xb1\xd1\x4b\xd3\xe3\xb3\x6f\x5c\x3d\x3f\x3d\x79\x69\x2a\x67\x60\x0b\x34\x94\xcf\x50\xe6\xfb\xd6\xe4\xf4\x79\x96\x33\x26\x2c\x99\x36\x65\xc2\x54\x1e\x8a\x56\xb1\x89\xe9\x51\xe3\x06\x8c\x0b\x3c\xfd\x63\x4f\xaf\x59\x43\xd9\x0c\x49\x05\x40\xa7\xaa\xa4\x3c\x98\xd9\x20\xc5\x93\xf0\x76\xa2\x2d\x22\xf7\x12\x6c\x1d\xc2\xfe\x40\xd4\x9f\xbc\x19\x30\x6b\x23\x9b\x0d\x02\xef\xc2\x37\x6c\x7f\xb5\x3a\x5f\x42\x0b\x26\xb4\x67\xcd\x8e\x5f\x18\x9b\xbc\x34\x0b\xd3\x78\xf5\xc2\xf8\xc5\x4b\xb3\x63\x33\x84\xcc\x0b\x8c\xc0\x64\x0f\x36\xea\x4d\xc7\xfa\x37\x6b\xc1\xae\xf8\xf8\x2f\x12\x3b\xdd\xf0\x4e\xa3\xaf\xeb\x25\x7a\x6e\xde\xab\x80\xa8\x8b\x3c\xc7\x3f\x10\xc2\x0f\xb4\x30\x31\x39\x3a\x32\x31\x06\xbf\x8d\x4e\x8c\x8d\x4c\xbf\x94\xdb\xd3\x1f\x0a\x9b\xd9\x83\xc9\xc8\x4e\x70\x52\x97\x96\xed\xaa\xbb\x80\x91\x4b\xc1\xc6\x78\xb3\x54\xb3\x4e\x4b\x16\xd8\x2c\x8d\x0f\x12\x08\x16\x59\xa6\x83\x77\x86\x57\x97\x2b\x5a\xfc\x91\xfe\xd0\x32\xe9\x56\xb0\xb2\xad\xc0\x5a\x4b\x2b\xcc\xa2\xb4\xcc\xf1\x49\x5a\x77\x9c\xaf\xf0\x6f\xa5\x52\xd9\xf5\xf1\x93\x61\x37\xba\x6c\xdb\x84\xed\xb2\xb7\x6c\x83\x7a\x81\x12\x93\xb7\x87\x19\x47\xc9\xd7\x4c\x88\xe1\xad\x12\x5e\x31\x23\x21\x1f\x36\x69\x38\xfb\x38\x90\x10\x61\x28\x59\xaf\x4e\x5f\x9a\x18\x9b\x21\xb4\x30\x33\x36\xba\x6b\xda\x8c\x69\x13\x88\x33\xcd\x01\x01\xdf\xc3\xfe\x1e\x39\x3f\x63\xb8\x84\x7a\x45\xac\x40\xc7\xc8\xa3\x56\x6a\x78\xd7\x9c\xaa\x35\x31\xf2\xda\xd8\x84\x35\x35\x3d\x79\x79\xfc\xec\xd8\xb4\x35\x3b\xf9\xcb\x31\xc3\x95\x66\xda\x58\x11\xc6\x38\xb7\x31\xe8\xfe\x6b\xd3\xd0\xc2\x74\x52\xb5\xa7\x94\x31\xd8\x59\xe2\x1e\x34\xef\xd5\x9c\x72\xb1\xe1\x3e\x1e\xa5\x22\x5d\xba\xe6\xac\x26\xa7\x53\x7e\xf1\xcb\xb1\x37\x74\x53\xab\xc7\xb6\xec\x0f\xae\x79\x51\xb6\x7f\xb0\x38\x9d\xfd\x44\x0f\xee\x62\x90\x8e\x05\xd2\x79\x0c\x14\xe1\xbe\x2c\xc7\x17\x01\x98\x7e\x72\x0b\xf4\xc5\x82\x13\xf7\x15\x97\xb8\x37\x0b\xb7\x28\x7e\x67\xf7\x00\xc5\x71\xbe\x97\xec\xba\x53\x96\xca\x4d\x78\x5d\xa0\x3b\x44\x5d\x68\x00\x70\xee\xc3\x92\xe5\xf3\xdf\xf4\x34\x28\xde\xae\x11\xbb\x64\x91\x0f\x0b\x85\x60\x85\x10\xf8\xf0\x5b\xfe\xaa\xf4\xcf\x97\x26\x67\x47\x4c\x39\x34\x6a\xca\x84\x29\x0a\x5e\x4a\x1c\x70\x66\x5c\x68\xde\x35\x25\x5b\x92\x18\x92\x71\x6d\x47\x55\x70\x6a\xd6\xe8\xf4\xd8\xd9\xb1\x8b\xb3\xe3\x23\x13\x74\x1d\xaa\x58\x33\x6f\xcc\x4c\x4c\x9e\xbf\x7a\x76\x1a\xa6\xe5\x2a\x5a\x25\xe1\xdb\x3a\xcf\x87\x2c\x34\x42\x5f\x8b\xe5\x39\x65\xfb\xa2\xbe\x19\x9c\x22\x28\xf5\x09\xd7\x11\x26\x98\xe1\x81\xc2\x83\x80\x2c\x52\xbe\x9a\xa7\x1c\xc6\x73\x59\xcb\x5e\x59\xc0\x38\x76\xd7\x13\xe8\x08\xe2\xd2\x02\x17\x43\x21\x1b\x43\x21\xf1\x21\xa6\x7e\xe5\x54\x84\xeb\x14\x2e\x09\xc0\x80\x36\x1a\x30\xca\x3c\x28\xde\xf8\x44\x18\xda\x31\x79\x46\x59\x09\x62\xe1\x95\x50\x30\xbe\x42\xc2\x12\xbe\x7b\x35\xfc\xee\x55\xe5\x38\x9f\xa1\x13\x7a\x95\x40\x21\xd4\x23\x53\x3d\xcd\x91\xfd\x63\x32\xa6\xca\x21\xf3\xd5\x7a\x42\x4b\x2e\xad\x94\x4d\xe7\xd6\x4e\xe7\x41\x8b\xb0\x6d\x9f\xee\x47\xc5\x7a\x98\x22\xde\xd9\x69\xb5\x6f\xed\x8a\x68\xa9\x20\x4e\x90\x33\x17\xa5\x61\xf3\x24\x57\xa1\x9e\x69\x3c\xc6\x70\x1a\x03\xc8\x5e\x95\xf1\x94\x18\xc7\x30\x32\x80\xf2\xbc\x4e\x7c\x59\x12\xaf\x71\x53\x72\x98\x51\x25\xd2\x33\xf9\xb4\x14\x71\xd2\xbd\x5c\xa1\xd9\x32\x11\xc1\x31\xc8\x40\xf0\x66\xc9\x5d\xc1\xb5\xf5\xaf\x16\x28\x5a\xaf\x4f\x9e\xc5\xcf\xaf\x5b\xaf\x8f\x8d\xc0\xc5\x09\x3f\x97\xad\xb3\x23\x20\xd9\xf1\x30\x82\xb3\xa8\xd6\x6c\x58\xd8\xba\x5c\x76\xaf\xad\xca\x00\x88\x10\xac\x13\xdb\x1e\xe0\x08\x61\x38\x75\x17\xbc\xfa\x32\xec\xc7\xf3\x63\xb3\x52\x0d\x16\x0a\x35\x88\x44\x64\x60\xd8\x1a\x5f\x20\x5c\x3e\x6a\x0f\xb3\xff\x25\xcc\xef\x8a\x6b\x5b\xa5\x32\xc2\x5d\x4f\xa1\x6d\x4e\xd6\x9d\x12\x6d\x92\xd3\xc3\x6f\xc0\x29\x3e\x24\x61\x04\x28\x02\x19\x8b\x86\xce\xae\xd6\x18\xdb\x57\xbe\xe3\x3b\x0d\xe1\xc7\x96\x91\x56\xa7\x11\x31\x77\x98\x40\x0b\x96\xed\x55\xcb\x5b\x71\xea\x75\xbc\x07\x2c\x41\x83\x28\xf1\xc8\xb7\x00\x03\x21\x9a\xa6\xd6\x64\x32\x1d\xac\xdb\x25\xaf\x2c\x1e\xf9\x57\x09\x4f\x7e\x0e\x74\x77\xcc\x92\x2b\x7b\xf3\x4d\xf4\x3b\x12\x19\x58\xe8\x1c\xdc\xba\xe2\xfa\x6e\x83\xd0\xa0\x18\x0c\x0a\x9e\xf2\x87\xe7\x11\x42\x6c\x81\x11\xc4\x30\xa5\x40\xe7\x40\xed\xf5\xac\x71\x8c\x48\xa8\x5f\x46\xa7\x8e\x5c\xb2\x41\x5e\x12\x92\xc3\xe5\x0a\x13\x28\x60\x0e\x29\x38\x25\x08\x7c\x0e\xe0\x10\x0f\xf7\xd6\xa8\xf1\x52\x99\xf4\xcd\xf7\x9e\x61\xdc\x8a\x84\xfa\xc5\xd8\xe7\x21\x9a\x47\x8c\xda\xc4\xd4\x42\xcc\xc4\xbd\xb5\x23\xda\x83\x07\x30\xe1\x5f\x9d\x3f\x68\xf4\x4a\x35\x31\x63\xc1\xde\xe6\xe2\x9a\x01\x17\xa5\xd7\x29\xd2\xfa\xee\xc3\xf6\x1f\xee\x20\x79\x6c\xfd\x89\xc0\x11\x60\xae\xfe\x95\xde\xe3\x0c\xc6\xf6\x97\x77\x10\x7a\x95\xc3\x45\xe5\xa3\x29\x18\x07\x62\xb8\x08\x5d\x6a\xf7\x00\x05\x0a\x3e\x1f\x54\x87\xcc\x99\x4d\x7a\x78\xef\x4b\x78\xd3\x20\x50\x56\xce\x80\x48\xbf\x56\x2c\x91\x0b\x56\xa9\x9e\xa7\xa3\xe9\xde\x32\x20\x95\x6a\x3a\x84\xf7\xcd\x48\xea\xdf\x36\x21\x1d\x57\x77\x4d\x89\xa6\xbc\x67\x42\x4e\xd8\x0b\x0b\x10\x8a\xbc\x61\x46\xa2\xb6\x64\x57\x1d\xe1\xe7\xf3\x0b\x91\x4a\x79\xd3\x84\x24\xe7\x01\x91\xfe\x5d\x80\x5c\xe2\x2d\x13\x52\xd9\x96\x4e\x73\xe2\x06\xed\x98\xb1\xa3\x55\xa8\xcc\x39\xc9\x6a\xa2\x00\x13\x19\xd6\xc7\xc2\xdc\xe4\xb5\x55\x84\xad\x74\xf3\x62\x71\x96\x32\xda\x29\xc2\x8e\x81\xd5\xa7\x28\x67\x66\x4d\x1a\x31\x99\x7e\x09\x37\x66\x48\xfb\xba\x11\xf1\xc8\xfd\xda\x98\x66\xfc\x2d\x63\x52\x42\x02\x28\xb7\xf7\x92\x3c\x3a\x8a\xd0\xce\x6c\xc6\x84\x99\xe8\x8d\xde\x9c\x7a\xca\x7b\xd9\xe4\xd8\xe7\x55\x5a\x00\x9d\xba\x59\x87\x7f\x2b\xf6\xa2\x75\x6e\x6c\x64\xf6\xd2\xb4\x51\xc0\x53\xfe\xfb\x46\xe4\x31\x56\xca\x30\x60\x29\xf5\x95\x5c\x22\xdd\x06\x74\x65\xbf\x9b\x49\x96\x6d\x17\x5d\x8f\x6c\xee\xeb\x26\xc4\x0b\x8c\x6b\xda\x1b\x39\x24\x56\xcc\xdb\x5e\x31\x6d\x74\x05\x34\x5d\xdf\xb8\xdd\xd8\xd3\x99\x4d\x77\x3b\x11\x5d\xce\x80\xfa\x5a\x5e\x74\x47\xf4\xd9\xec\x66\x5d\xac\x92\x1e\xaa\xb4\x14\x8c\x81\x17\x1f\x4b\x4a\x79\xbc\xce\x34\xe8\xff\x29\x31\x10\x75\xf5\x59\x8f\xb3\x6f\x18\x24\x10\x6f\x9a\x0d\xd1\x10\x82\x86\xd2\x7d\x22\x08\xd2\xf7\x18\x44\xf0\xac\xeb\x2c\x7a\x94\xea\xe7\x54\xe1\x2e\x49\x55\xb2\x25\x0f\xb0\x46\x74\x50\x9d\x5d\xb1\x89\x89\x7c\xc8\x26\xd3\xc4\x50\x33\x02\x94\x95\xb1\x75\x14\xf8\x2f\x62\xeb\x08\x19\x66\x4b\x31\xd5\x63\xa5\x92\xbb\x12\x1a\xed\xf0\xc9\x5a\xe7\xdd\x5d\xa5\x6e\xb6\xca\x71\xa1\x0c\x3d\xf9\xe2\xa2\xd3\x28\x31\x54\x4b\x89\xa1\x5a\x0c\x57\xa6\xfe\xbd\x4c\x72\x08\x70\x6f\xbd\x39\x3a\x79\xe1\xc2\xc8\xc5\xb3\x79\x22\x3f\xf6\x70\x66\xc3\x02\xca\x4f\x04\xc4\x8a\x08\x94\x12\xce\xca\xe9\xd9\xc9\xd3\x02\x0a\xfb\xdf\xc8\x9d\xfa\x6f\x16\x5a\xd4\x82\x60\x59\xfe\x8d\x3e\xbf\x44\x07\x8a\xb4\x8b\xd6\xbd\xe5\x9a\x48\xf0\x20\x1f\x60\x7d\x99\x5d\x80\xcd\x6a\x05\x51\xb9\x06\x4a\x0b\x03\xaa\xe1\x22\xef\x16\xdf\x7b\x0e\x91\x83\xa8\xe3\x4a\xe4\x37\xc2\x6d\x19\x16\x07\xe3\xe4\xd0\xed\x9d\xb3\x49\x8e\xee\xb4\xda\x9f\xef\xc2\x7f\x65\x45\x9c\x8f\xb6\x61\x8d\xe4\x55\xbf\x92\xfc\xe3\x06\x53\xe3\x8d\xf3\xf6\x7c\xf2\xf9\xec\xe6\x29\x73\x75\x10\x4b\x27\x59\x32\x81\x84\xf6\xb3\x8c\xd3\x14\xd9\xb9\x6e\xd5\x8a\x98\x9d\xad\x52\x29\xb0\x9c\xb1\xf1\x89\xe6\x8d\xa6\x6d\xce\x6b\x2c\xe5\x45\x88\x52\x93\x83\x71\x2b\xa2\x9a\x6e\x2b\x21\x39\x95\xe4\x69\xb4\xa2\x52\x05\x03\x35\x44\x54\x14\x00\x52\x18\xa2\x7c\xe0\x8f\x10\x93\xe7\xab\xf6\x5f\xbf\x54\xac\x7f\xea\x4c\x88\x69\xc8\x89\x22\x15\x89\xbd\x70\x7c\x79\xd6\x60\xbc\xbf\xc2\x95\x2d\xca\xc3\x79\x73\x68\xfd\x86\xbf\xbd\xaa\x43\x11\x5f\xc9\x21\x34\x1a\x14\xa6\x36\xa8\xf6\x45\x19\x15\x25\x4b\x29\xcc\xc6\x55\x87\x83\xeb\xfc\xff\x07\xae\x3f\x58\xd3\xaa\xd7\xf1\xb1\x59\x5f\x9b\xc9\xc0\x5d\xb2\x2a\xf7\x25\x3c\xba\x30\xcd\x7e\x47\x49\xe7\x30\xd4\x8f\x60\xe9\x22\x24\xfb\x1b\x33\x9d\xc9\x49\xcd\xfe\x87\x7f\xb8\xee\x4d\x9f\xb5\x06\x7d\xe1\x01\x4a\x97\x17\x58\x8d\xa9\xbe\x48\x46\x59\xff\x58\x5d\x97\x04\x07\xe3\x22\xe0\xf0\xe9\xf3\xe4\x92\x07\x91\xbb\xbe\x15\xda\xf6\x8d\x7a\xfa\x66\xc9\x46\x73\xa3\x74\xf8\x34\x83\x1b\xce\xaf\xc8\x4b\x24\x1d\x9e\xbf\x52\x5d\xb0\x3e\x2b\xea\xbf\x32\x48\x50\xe8\x11\x91\xbc\x8e\x78\x4d\x5d\xf6\x6b\xec\xa1\xbc\x86\x8c\xf5\xe3\xe8\xb3\x99\xcd\x0a\x08\x97\xc0\x7e\x20\x53\x63\x7d\x6b\xe5\x15\xe9\x59\xc3\x8f\x81\xcd\x05\x3f\x63\x2c\xdc\xca\xab\xe1\xcf\xaf\xd2\x57\x06\x23\xde\x6b\x6a\x99\x5d\xf3\x42\xc3\x51\x0e\x5b\xea\x93\xd9\x4d\x1a\x05\x64\x1a\x45\x62\xc2\x43\x74\x6b\xf7\xcd\x1a\x54\x9e\xcd\x6c\x96\xb6\xb9\x0e\xfe\x32\xf6\x50\x76\x43\x5c\x8f\x27\xaf\x25\xf1\x54\x76\x53\xcd\xfa\x62\x72\xce\x13\x66\xaa\x3c\x52\x86\xad\x14\x60\x45\x96\x48\x08\xa2\x3c\x69\xc3\x8b\xb5\x97\xa7\x86\x17\x6a\x2a\x93\x29\xc5\xfa\x9c\x43\x53\x7d\x32\xbf\xc9\xbc\xc9\x13\x0f\x65\x36\xc4\x05\xcc\xd2\x13\xea\x72\x9a\xcf\x7c\x35\x87\x28\x1d\x5b\xc1\x35\xf2\xe2\xd8\xbf\x5c\x35\x14\x7d\x99\xaf\x1a\x10\x4d\x73\xe1\x84\x2d\x19\xa1\x8f\x1c\xa3\x41\x13\x06\xa5\x17\x06\x5f\xcf\x17\x1d\x9a\x97\x4c\x08\x69\xbd\x01\xd8\x48\xc1\xcd\xdb\x55\x93\x05\x98\xd4\x58\xe4\xd5\x66\xf9\xab\x42\x7c\x9a\xb7\x6a\xc4\xaa\x62\x9d\xa6\x26\x0c\x92\xb7\x32\x5f\xcd\x21\x5a\xf3\x4a\xb2\xa8\xda\x9b\xea\xc5\x39\x4f\xb0\x65\xbd\x99\x43\x12\x53\xa3\x1c\x53\x2d\x25\xf1\x78\x7e\xe3\xf5\x46\xa1\xc6\xd5\xc7\x4d\x1a\xa7\xfc\x97\xe0\x64\x09\x64\xc8\xf8\xc5\xb3\x63\xff\x6a\x46\x2f\xb3\x85\x6c\x16\x44\xd2\xa0\x53\x5d\x71\xeb\x5e\x15\xd5\xf3\xd2\x8a\x5d\x77\xc9\x3a\x4b\x9e\xc1\x3c\x0e\xf2\x1b\xc8\x64\xc0\xa7\x1c\x25\xc5\x69\x1e\xda\xec\x28\x08\xeb\x9a\x75\x76\x7c\xe6\x97\xf8\x69\xd9\xba\x30\x76\x61\x72\xfa\x8d\x5f\x99\x38\x28\xba\x6e\x36\x9b\xd9\x63\x24\xf1\x1d\x23\x6f\x4f\x27\xbf\x72\x29\x6a\x5e\x33\x21\xa6\xf8\x3f\xf3\x0e\xf4\xb4\x37\x8c\x48\xe4\x79\x0d\x0d\xe9\xe6\x36\x63\xca\x8c\xdf\xe5\x08\x6b\xde\xcd\x21\xdb\x28\xa9\x8e\x0a\x6b\xec\xe2\xe5\xab\x97\x47\xa6\xa3\x7f\x5c\x1e\x99\xb8\x94\xcf\x84\x79\x4b\xb9\x2c\xa5\x5a\x91\x05\x4c\xf8\xbf\x31\x46\xb8\x01\x3b\x26\xad\xe4\xb2\x82\xd7\x0f\xc2\xdb\x0d\x1c\x8c\xa8\x4a\x4c\x4f\x72\x00\xba\x01\x17\x39\x0d\xe4\x32\xc0\x6a\x2f\xbe\x43\xaa\xaf\x21\xd5\xb4\xb7\x72\x49\xe5\x4b\x51\xf3\xf4\x05\x03\x1e\x7b\x4a\x2e\xb7\x73\x49\x1f\x35\xfd\x14\x77\x57\x1b\xf0\x6d\xda\x92\x21\x4b\xc9\xc5\xc1\xba\x4e\x81\x35\x66\xd8\x50\x3e\x43\x22\xbb\xfb\x84\x16\x40\x4f\xc9\x65\x77\x0e\x03\x32\x4a\xb5\xba\xbb\xd2\x4d\x1e\x6b\xde\xdb\xd9\xa4\x43\xf5\x35\x8f\x8c\xf2\x64\x7e\x93\xea\x02\xbc\x4a\xab\xce\x44\x35\xcc\x7c\xd5\x94\x68\xee\x51\xac\x3e\x6a\xd0\xa8\xef\x2f\x95\x28\xe2\xc0\x29\x9b\x47\x29\x64\xbe\x6a\x40\x34\xb0\x29\x99\xcf\x4d\xe2\x9d\x7c\x32\x46\x43\x95\x37\x48\x4a\x78\x02\xe9\x90\xaa\x9e\x5d\xa2\x1a\x15\x8c\x08\x22\x0a\xa0\xe1\x1f\x13\xd6\x9b\x88\xd7\x70\x55\x00\x64\x9f\xf9\x15\x9e\x7a\x67\x10\x49\x84\xfe\x83\x7f\x51\x48\x30\x16\x55\x21\x80\x91\x12\xa5\xfd\x11\x7f\xe1\x0f\x68\xc5\x80\x15\xef\xbc\x05\x5a\x63\xf0\x8b\x88\x7d\x2e\xd5\x7c\xa7\x59\xf6\x4a\x8d\xc6\x2a\x7d\xbd\xe0\xd5\x81\x9b\xd8\x97\x32\x70\x45\xf9\x3a\x6f\x40\x7e\x5a\x9d\xcd\x9b\xd8\x52\x06\xc4\x6d\xe2\xb1\xdc\xc6\x38\x9e\xa5\x6c\x7a\x4f\x4c\x7d\x25\x9b\x48\x03\x6d\x39\xa0\x59\x9a\x59\x81\x12\x8f\xe7\x37\x9e\xbb\x61\x1a\xf9\x80\x20\xf9\xe7\x4a\x3e\x91\xbc\x06\xf2\x18\x30\xbf\xad\x17\xb9\xab\xfb\x0d\xcf\x18\xe5\x2a\xfa\x6c\x66\xb3\x5c\x68\x2b\xcd\xc9\x93\x43\x23\xe3\xc5\x4c\x82\xcd\x6a\x0f\x20\x90\x72\xaf\xdf\xbd\xa2\x62\xd4\x95\x1e\x00\x28\x15\x6a\xca\x84\xa9\xde\x80\x28\x15\x6c\xcc\x8c\xb1\x1c\xac\x23\x53\x96\xf2\x9a\x31\x62\xa6\x07\xe0\x48\x85\x9a\xca\x61\x2a\x16\x15\xc4\xa1\x3e\x26\x97\x93\xcc\x57\x73\x88\x66\xde\xdf\x73\xe9\x66\xbf\x6d\x40\xfa\x58\xd7\x6c\xa3\x26\x0c\x98\x48\x28\xc7\xc6\x57\xee\xfc\xf7\x8d\xc9\x1f\xf3\x3a\x58\xa8\xa9\x3c\xa6\x8e\x75\x6b\xca\x7f\x3f\x9b\x7c\xad\xac\x83\x33\x7a\x53\x24\x38\x72\x70\xa5\xc4\x35\xfa\x55\x2a\xb0\x91\x80\xa0\xba\x06\x5f\x35\xab\xf8\x21\xf7\xd0\xe8\x1b\x5d\x93\xee\xf6\x03\x9c\xe8\x58\x4d\x9b\x31\x9d\x91\xce\x8c\x2e\x1b\x8c\x59\xd0\x82\x16\x1a\xa3\x13\xf5\x9a\x5a\x81\xae\x1d\x13\x9e\xa8\x60\x63\x45\x18\x2b\x00\x1a\x54\x8c\xc9\x22\x0d\x9b\x30\xfc\x13\x00\x5d\x28\xd6\x93\x1f\x06\xe8\x42\x61\x9e\x4f\x0a\x74\xa1\x30\x63\x05\x40\x17\x4e\x7e\xc9\x9d\x20\xe8\x42\x7f\x57\xe1\x09\x81\x2e\x9c\xc0\xb2\x3c\x36\xe8\xc2\xf1\x56\xa8\x4e\x26\xce\x4e\xa3\x0a\x36\x36\x3d\x3d\x39\x8d\xab\x6e\x64\x16\xab\x0b\xc1\x52\xa3\xb4\x7c\x44\x56\x9f\x82\x4d\xf4\xf6\xdb\xc0\x0a\x7c\x1e\xab\xd7\xb5\x55\x15\xba\x6b\x2b\x9d\x2d\xce\xa7\xd0\x10\x6a\xff\xf5\x66\x7b\xe7\x3b\xcd\x9b\x76\x95\x50\xdf\x69\x7c\x10\x53\xc9\x0a\xc3\x1a\xbd\x05\x58\x66\x6e\x39\x90\x54\x54\x75\x5d\x43\xa3\xb3\xbd\xd3\xfe\xf3\x86\xb2\x68\x64\xe9\xb6\xad\x44\xcd\x18\x0a\x94\xa7\xc7\x76\xd6\xda\xb7\xee\x9b\x94\x4f\x47\x2e\x7f\x00\x1c\x66\x60\xeb\x17\xe2\xd0\x1a\x3c\xcb\x48\x1b\x67\x82\x5c\x3d\x47\x1b\xcd\xde\x2b\xbe\x07\x83\x72\x22\x67\x44\xe9\x78\x0b\xcb\x77\x64\x84\xee\xdb\x55\x5c\x19\x02\x90\x20\x5e\x7e\x66\x28\xf8\x86\xdc\xd6\x18\xa5\x3d\xc7\xd5\x15\x7c\x06\xf5\x5f\x70\xeb\x0c\xed\xcf\x0d\x68\xab\x9a\x6b\x6b\x0b\x71\xe1\xf9\xe8\xf2\x18\x52\xc7\xe1\xdd\x87\x88\xe0\xaf\x94\xd6\x69\x59\xed\xc7\xcf\xa1\xef\xc1\xab\xd9\xe5\xe0\x45\x07\x29\xcb\x6c\xd9\xae\x5f\x73\x1a\x30\x3b\xf3\x41\x57\x39\xd0\x1e\xa1\x75\xed\xb0\xb2\x7d\x56\x79\x2d\xae\x48\x1f\xd4\xb0\xa0\x6a\x08\x14\x3f\xff\x68\xbd\xf3\xfc\x63\x9c\x36\x2e\x04\x89\x7d\x0d\x70\xde\x10\x59\x42\xa4\x83\x19\xed\x83\x80\x63\x2a\x10\xe9\x56\x11\x40\x85\x73\x98\x30\x49\x20\x51\x21\xa3\x47\x5d\x48\x94\x33\xc7\x7c\x36\x5a\x87\xe2\xa4\xe9\xaa\x1f\x3f\x80\x2d\x9d\xcf\xa4\x4c\x48\xc0\xc4\x23\x0b\x2f\x82\xb4\xd6\xf9\x4e\x68\x79\x04\x3f\xe9\x6b\x4b\x08\x3e\xd8\x39\x3c\x58\x87\xe1\x7c\xd6\xb9\xb9\x85\x99\x05\xe2\x0b\x5c\x99\x3b\xdb\xe2\x7b\xd2\x15\x3e\xba\x6d\xc9\x92\x76\x21\x67\x39\x95\x34\xd2\x18\xc4\x73\x82\x3d\x02\x61\x55\xab\xb3\x7c\xa5\x2d\x67\x16\xb2\x0f\xde\x52\x8b\x58\x85\x6f\xf6\x8c\xc9\xe0\x5a\x3e\xe7\x36\x58\x6c\xe0\x40\x9e\xe6\xf1\xd4\xf1\x17\xd4\x18\x41\x45\x05\x91\x01\xef\xad\x89\xa1\x3c\x1d\x19\x51\x12\x1b\xc7\xe4\x10\xbd\x4d\xa0\x03\xc3\x5e\x59\x92\xc5\x48\x02\xbb\x32\xb0\x7b\x9a\x52\x71\x1a\x4b\x3a\x56\x31\x47\x06\x16\x1e\x81\x55\xca\x94\xb2\xd3\x02\x55\x51\xc0\x29\x02\xf3\x20\x93\x0e\xff\x63\xcb\xe2\x12\xf7\xbd\xe0\x1a\x98\x28\x7b\xcb\xa5\x14\xe6\xf1\xab\xa1\x62\x5d\x20\xae\x86\xac\x42\x5d\x81\x7d\xd7\xfe\xc3\xc3\x63\xf5\x68\xc9\xae\x2e\x12\x6e\xea\x8a\xeb\x5c\xa7\x84\xde\x20\x18\x71\xde\x6b\x56\xa1\x17\x70\x5a\x5e\x13\x6e\xf6\x8a\xbb\xec\x36\x18\x2f\x6a\xd9\x59\xf6\xea\xab\xfc\x0d\x49\xc1\xdc\x4a\x72\x31\x01\x61\x81\x8e\x0c\x4c\x0e\x59\xed\x3b\x77\xf0\xcb\x77\x76\xad\xc3\xa7\xcf\xb0\x6e\x1b\x68\x98\x87\x4f\x5b\x43\x08\x33\x84\x1b\xe0\x2f\xbb\xe2\x1b\x46\x0f\x5a\x83\x51\xc0\xb4\xb9\xaf\xf7\x40\xf4\x21\x9a\x10\x1c\xb1\x99\x7d\x53\x85\x1a\x73\x9a\x38\x57\x0b\x1d\x93\xd4\x91\x98\xf4\x13\x7c\x65\xf2\x41\x88\x0b\x32\xa9\x4a\x47\x31\x48\x8c\x8a\x24\x44\xe6\xb6\x8e\xb7\x45\xd9\xb4\xbe\x9e\x52\x4a\x9b\x99\x05\x94\x46\x31\x08\x0c\x9b\xa6\xda\x6c\xe8\x10\xca\x68\x3b\xa8\x12\xc7\xe9\xb2\xd9\x0d\x23\xd4\x93\x75\x8e\xb1\x9e\x08\x1f\x6a\x05\x6e\xec\x78\x26\x61\xc9\xa7\xa9\xf1\xcb\x54\x05\x1d\xdd\xc8\x6e\x1d\x8e\xa7\xd1\x89\xc8\x03\xf0\xe7\x05\x17\xab\x44\x5b\x84\x3f\x66\xd7\x1d\x04\xde\xc2\x2a\x61\x95\x55\xcc\x4a\x8f\x3e\x4a\x6d\x0d\x63\x66\x7b\xb3\xb6\x58\xb7\xcb\x0e\x17\x58\x86\x5f\xa2\xe0\x62\x67\x08\x8f\xca\x3f\x73\xfa\xf4\x22\xec\xe0\xe6\x1c\x26\xad\x9d\x56\x31\xa9\xe0\x0f\xf7\xbf\xc8\xf2\xda\x5a\x8f\x6b\xa2\x67\xed\x27\x70\xfc\xb5\xd4\x8e\xc1\x45\x0a\x77\x33\xf6\x2a\xfc\x51\x76\x0a\x76\xfd\xe0\xe1\x1e\x9c\x04\x47\x9b\xad\xce\xa7\x77\x14\xa4\xb0\xa3\xad\x56\xe7\xc1\x6e\xf4\x15\xd9\x5e\x14\x77\x0b\x9b\x26\x69\x70\xf7\x66\x50\x09\x1b\x45\x79\x90\x82\x5b\xa8\xa7\xc5\x70\xb8\xc8\x80\x04\xda\x27\xca\x05\xd0\x7b\x64\x2d\x4f\x14\x88\x3e\x89\x17\x05\x92\x8c\xa0\xe3\xf0\x09\xa7\x0a\xf3\xa6\x15\x1d\x89\x72\x9d\xa8\x22\x3d\xf9\xaa\xf3\xed\x63\x45\xd9\xa6\x7b\x6a\x28\x07\x63\x96\x05\xbc\xb4\x72\x19\xcf\x0c\xb6\x41\xaa\xbd\xee\x54\x74\x22\x8c\x2f\x74\x56\xfb\xc3\x56\xe7\xb3\xb5\xf6\x23\x4d\xb5\x5a\xd9\x10\x6a\x6c\x99\x0d\x75\x3e\xd9\xcf\x6e\x01\x8b\x6c\x8b\xcf\x54\x67\x9c\xd1\x16\x84\x8f\x6a\xce\xc1\x6d\x29\x1c\x57\x98\xa0\x0b\xa7\xba\x55\xb5\xc9\x04\x37\x7a\x4e\x86\x79\x9c\xb6\x2b\xae\xed\xc3\x36\x99\xe6\x1c\x17\x6c\x20\xd6\xac\x78\x32\xaf\x79\xac\x57\x57\x06\xf1\xa5\x18\xfd\x1a\xbe\x7c\x80\xe7\x92\x14\x34\x5f\x5f\xd8\xb9\xf5\xb0\xf3\x1d\x15\x63\x47\xe1\x80\x33\xfa\xa7\x5d\xce\x81\xe6\x12\xab\x34\xb8\x51\xe6\x82\xad\xc0\x97\x28\xec\x18\x3f\x77\xba\x0d\x87\xc1\x5f\x6f\x86\x10\xc9\x16\xb7\x4e\x1a\x0a\x4b\x50\xb8\x96\xc0\xab\xed\x0f\xbe\xc0\xa3\xe2\xc9\x86\xa5\xa4\x9f\x67\x32\x12\x1b\x1e\xc1\x57\x68\x79\x82\x8b\xcf\xe1\xdf\x0e\x8c\x76\x41\xca\x1c\xfa\x54\xed\x5d\x99\x1b\xca\xac\xe6\x31\x1f\xa0\x32\xec\xf8\x91\xb5\xfd\x01\x21\xde\xe0\x14\xae\x94\xad\x06\x48\x93\xc0\x53\x49\xd2\x5e\xf3\x96\x44\x5c\xac\xca\xd9\xe1\x7a\xf1\xe2\x71\x75\x22\xdd\xea\x8a\x77\x2d\x6b\x51\x00\x03\xaf\xc3\x25\x79\x05\xed\x5d\x58\x7e\xde\x5f\x22\x56\xf8\x8e\xb9\xd0\x44\xf8\x77\x10\x17\x20\x6c\x1b\x12\x40\xd2\x5d\xae\x61\x05\x7b\xd8\xef\x11\x5e\xf1\x27\xaa\x70\x87\x7f\x24\x39\x66\xde\xb4\x07\x4b\xe6\xd2\x48\xb6\x96\xbe\xb4\x92\x4b\x26\x75\xa6\xc9\xf4\x05\x1a\xd8\x37\xdb\xd1\xcc\xfc\x3c\x32\xad\x60\x59\xed\x6c\x83\x66\x42\xd0\x04\x9f\xb5\x70\xdd\x68\x1e\x4c\xc5\x4b\xa4\xb2\x9e\x7f\xda\x45\xbd\x06\x68\x77\x3e\xcf\xa3\x1b\x25\xca\xc8\xdd\xef\x1c\x7d\xf2\x05\x91\xb9\x87\xc7\xc4\xd1\x83\x75\x64\x02\xba\x20\x80\x4f\x90\xde\x27\xe2\x86\x9e\x03\x57\x21\xd6\x30\x96\x92\x6f\x56\x11\x8d\x1f\x96\x11\x41\xdb\x08\xdc\xfd\xb2\xb3\xe0\x56\x41\x38\x80\x1e\x88\xab\xc8\x46\x19\x3e\xaf\xdf\xff\xa2\x2a\xeb\x8e\x1c\x69\x65\xf3\x8a\x51\x7a\xb0\x85\xfd\xc7\xd3\x06\xee\x3c\xa0\xa5\x50\xa2\x3f\x5e\x8c\x77\x36\xa9\xc6\x7f\xca\x88\x69\x59\xaf\x61\x35\x00\x64\x1f\x16\x2d\xab\xb5\xfe\x92\xfd\x8a\x45\xf6\x4e\x5c\x9f\xaa\xb0\x73\xab\x36\xec\x2e\x34\xbe\xeb\x74\x73\x75\xcc\x5f\xed\x3c\x6a\x29\x10\xee\xd4\x2c\x96\x8b\x45\x89\xf3\xb4\xd5\x79\x77\x4f\x8c\x34\xa3\x51\x64\x31\x48\x55\x12\xf0\x75\x54\xaf\x42\x61\x2b\x12\xa9\x86\x78\xe3\xe2\x11\xd9\xb0\xaf\xa1\xf3\xe2\xfa\x12\xfa\x07\xf4\x2a\x18\xaf\x06\x34\xa2\xc7\xf7\x00\x52\x09\x19\x24\xd9\x17\x0e\x7f\xc0\x35\x99\x4d\xfe\x00\x3f\xdf\xda\x06\x35\x1c\x67\xe5\xf0\xeb\x83\xf6\x5f\xf6\x13\xc3\x6e\xe9\x15\x3b\xaf\x5a\x75\xe6\xc9\x58\x5e\x6e\x2e\xd7\xa8\xa8\xb2\x33\x4f\x55\x24\x31\xc3\x9c\xb4\xef\xde\x16\x43\xd5\xfa\xf6\x3b\x77\xf7\x0e\x9f\xec\xb5\x6f\x3f\x1e\xb2\x8e\x5b\x19\x95\xf5\x2b\x61\x92\x89\x16\x48\xc5\x3d\xf7\x6c\xfb\xf0\xdb\xe7\x02\xd3\x03\x06\xf0\xe1\xd1\x9d\x96\xd0\x7e\xb5\xd1\x02\xe1\x30\x35\x6c\x97\x64\xe4\x4f\x77\x7c\xc4\xc0\x74\xbe\xb9\xd3\xd9\x79\x67\x50\xf4\xf7\xa5\xdc\x11\xaa\xad\xd2\xfe\x00\x5d\x1d\xfa\xb9\x50\xf7\x96\xe5\xc8\xcc\xd0\x57\x40\x86\x4b\xc9\x8a\x68\x3a\xf1\xe3\x2c\xfd\xc5\x3f\x9e\x6c\x95\x5d\x95\x2d\x2e\x9d\x8b\x48\x26\x85\xca\xef\x4a\x43\xe0\xe6\xd7\xb1\xae\x48\xef\xd0\x7b\x1b\x54\x76\xf7\xe9\x33\xd0\x72\xb2\x2f\x58\x74\x52\xa3\xad\x02\xed\xc3\x6a\x25\xf3\xb8\x51\xf1\x4a\x75\xac\x5e\xf7\xea\x67\xac\x1c\xc7\x89\xbe\x0c\x70\xa4\x00\x7d\xd4\xc6\x77\xa5\x8a\xa5\x25\xbe\xd8\x52\x5a\xcf\x61\x77\x1e\xe6\x3d\x2a\x98\xcf\x58\xd2\x11\xe3\xe9\xb9\x4b\x48\x68\xd2\xd5\x68\x9c\xa2\x1c\xc5\x5a\xcb\xe1\xa6\x8c\xce\xbe\x65\x38\xe5\xe8\xbc\x10\x97\x4c\x0b\x2e\xd9\x74\x2b\x2e\xc3\xe5\x74\xbe\xe1\xd5\x57\xff\x4e\x6b\x96\xa2\x1b\x1b\xba\xf2\xee\xde\x44\x3b\x47\x7b\xe7\xfd\xa3\xf7\x76\xe0\x2e\x43\xd6\xd1\x8d\xdb\xa0\x94\xa4\xd9\x6a\xfe\x2e\x8f\xaf\x05\x2e\xe8\x2f\xa1\xc3\x39\x48\x48\xc3\x84\x50\x9e\xe1\xde\x82\xb0\xcd\x42\x07\xd9\xfb\x9b\x00\xa3\xce\x36\xc6\xc6\x08\xc2\x16\xc3\x75\x5f\x26\xb5\x24\xd8\xe7\x03\xb8\xd1\x64\x3d\x37\x0d\x13\x17\xc4\xcf\x12\xdf\x47\xe8\xd3\xfb\xb1\x96\x48\xa7\xd9\xfc\xba\x7b\x16\x45\xdd\x3c\x6c\xf5\x52\xd5\x6f\xd6\xf0\xda\xe9\x94\x27\xe8\x5b\x52\xa9\xb1\xa6\xd0\xb5\x2a\x5c\x6d\xc5\xa3\x08\x6d\x83\x01\x0b\x1a\xbe\x75\x0d\xa1\x50\xa3\xfb\xe8\xf3\x14\x5e\x43\x7d\xae\xb3\xb9\x01\xb7\x0e\x54\x18\x94\xe7\xd7\x2c\xf8\x0d\x3a\x84\xa6\x69\xac\x84\xac\xc0\x65\x1b\xf5\x91\xec\x58\x64\x65\xa4\x4b\x5d\xb8\x31\xa7\xe0\x87\x8b\x59\x25\xe5\xc3\x61\x4f\x7b\x49\x5e\x87\xd0\x96\xdf\xed\xf8\x67\x55\x41\x97\x92\x48\x9d\x71\xbd\xb0\x89\x14\xfe\x8e\x88\x17\xbd\x24\xa2\x9b\x7f\x77\x7c\x47\x0e\x85\xe0\xec\x80\x55\xfb\x3b\xbe\xdd\xb2\x1c\xcf\x62\x98\x7e\x16\x22\x3e\x14\xfe\xb2\x3d\x29\xe4\xbb\x18\x58\x18\x53\x17\x2e\x8b\xbf\x73\x54\xc7\x93\x6e\x86\x03\xbf\x10\x70\xd1\xde\xd9\x3d\xba\x77\xc7\xc8\xeb\x92\x42\x8c\x1d\xf9\x7a\x2f\xcb\xdd\x9b\x02\xba\x5e\x5a\x9e\x53\xe8\xe5\xea\xe9\x92\xac\x38\xc4\x11\xc3\x9f\xe4\xf3\xc8\xd4\x78\xd6\x61\x24\x46\x19\x65\x3c\x1d\x99\xf2\x7c\xd4\x5b\xbf\xa3\xad\xea\xb9\xa9\x0e\x34\x64\xb4\x50\xc3\x59\xae\x71\x48\x0e\xaa\x65\xcd\x1a\x1a\xc3\x32\x06\xe3\xf3\x6d\x46\xa2\x0c\xa0\x23\xf1\xb2\xd5\x02\x5d\x5a\x2d\x17\x45\x41\x1d\xc6\x33\x82\xcc\x78\x35\xb8\xca\x87\x0e\x9c\x8c\x5b\x4a\xe8\xaf\x51\x08\xde\xdd\x37\x27\x75\xbd\xee\x42\xb7\x7f\xe7\xd6\xb2\xa8\xfc\xdf\xf0\xb3\xd2\xfe\xc7\x07\xf9\xed\xcb\xe0\xab\xd9\xd1\x29\xb6\x22\x6b\x9a\xc6\xdf\x43\x33\x32\x8f\x55\x4e\x93\xc1\xc0\xe4\x8e\x89\x51\x73\x22\xda\x16\x41\xff\x58\x77\xc4\x99\x87\xd6\x9c\x3a\x9a\xb6\x74\x34\xde\xdd\xc2\x0b\x95\x32\xf3\x11\x4c\x3f\x29\x10\xc2\x13\xb8\x10\x2f\x70\xb1\x6e\xc8\x1b\x37\x61\xf1\xcd\xad\x62\xf1\x78\xe4\xce\xb7\x06\xed\x32\x68\x27\x54\x86\x4b\x17\xc9\x40\x31\x51\x3b\x51\xb9\xa4\xac\xd0\xd0\x78\x1a\x67\x6f\xf0\x70\x7f\x0d\x7d\x2f\x9d\x9d\x56\x06\xce\x9c\xe4\xb6\xea\x5c\x27\x07\x87\x6e\x83\xdc\x58\x57\x71\x1f\x4d\xfa\xcf\xce\x35\xf6\x0c\xe2\x34\xa0\x06\x56\x68\x05\x29\xf1\x4a\x11\x3f\x59\x21\xf2\x5c\xdc\x98\xe9\xa3\xf9\x4e\xef\xe1\x42\xa3\xb4\xb8\xf0\x30\xb5\x82\x4b\x59\x46\x1a\x5b\x59\xb9\x56\x20\xdc\x31\x7e\x04\xed\x24\x7f\xfe\xce\xb4\x5d\x3e\x92\xa9\x82\x7b\x16\xb6\x59\xd4\xdb\xf5\x97\xfb\x16\xa8\xaa\x47\xef\xec\x15\xa3\xc2\x01\xb0\xb9\x14\xda\x07\x1b\xa8\x11\xfd\xc7\xc3\x62\xad\x77\xe5\xaf\x33\x24\x91\x11\xa0\xc1\x87\xb7\x59\x3b\x88\x1d\xca\x8b\x86\xa0\x43\x59\xb1\xe8\x52\x8c\xe0\x96\xfc\xfc\xbe\x72\xcb\x46\x4c\x5b\x13\x2e\xaa\xd6\xeb\xb3\xb3\xd9\x5b\x85\x1e\x28\xb6\x44\x19\xfe\x39\xa8\xf6\x1c\x3a\x7d\x59\x48\x2d\xc1\x25\x7a\xce\x81\xd3\xaa\xd6\xf4\x97\x30\xe4\xa5\x39\x3f\xef\xf8\x3e\x19\x8a\xb5\x13\xf6\xf5\x21\x5c\xd2\x82\x42\x3a\x47\x1f\x1d\x10\x90\xee\xb6\xb8\x41\xcb\xfd\x8b\x37\x62\x79\x85\x30\x64\x15\xe4\x63\xa6\xf2\x60\xd6\x4c\x19\xbb\x8b\x90\x43\xd0\x4b\x0e\x9c\x90\x71\x4a\x43\xe2\x2f\x87\x2d\x37\xf8\x07\xc2\x20\xd5\x1b\xbe\xde\xe2\x02\xbd\x40\xac\xdb\x78\x90\x27\x7d\xc9\xd2\x76\x28\x30\x23\x21\x26\xee\xd3\xfd\xc3\xa7\x3b\x28\xb0\xd9\xa5\xaa\xbd\x1f\x24\xb8\x45\x59\x39\xe7\xb2\xf1\xdd\x9e\x27\x3f\xbe\x80\xf4\x5c\xc5\xb4\x4c\x52\x24\xf5\x6c\x3e\xf9\xea\xf0\xd9\x2e\x99\x05\x77\x36\x99\xe1\x47\x6b\xed\x6f\xd6\x65\x78\x6b\x82\xe9\x1c\xbe\x10\xe3\xa5\x47\x6e\xf7\xa3\x77\x0d\x76\x33\x75\x3a\xbe\x56\xd1\x7e\x24\xef\xef\xbe\xd3\x68\x50\xc8\x1c\x62\x9a\xc3\x53\xd9\x31\x0b\xf2\x12\x4f\x25\x93\xe4\x01\x9a\x5c\x8f\x56\x1e\x47\xbd\x35\xeb\x15\xb5\x4e\x99\x5b\xf2\xe2\x26\x3c\xd9\xbf\x4c\x73\x93\xec\x65\xa8\xa8\x42\x33\xaf\xc9\x3f\x2e\xe6\x73\x1d\x7b\xd6\x8a\x2b\x6e\x66\xe4\x85\xce\x84\x41\x54\xf4\x49\x34\x86\xab\x2f\x31\xd6\x7d\x18\x54\x5c\x2e\x71\xda\x71\xb5\xca\xac\x23\x27\xc1\x6d\x21\x86\x38\x3f\x0f\x5a\xf9\x67\xfc\xd0\x3b\xa6\xd4\xe6\x40\x21\x6d\xdf\xfa\xae\xfd\xa7\xf7\x0b\x71\x96\x50\xd4\x82\x19\xc8\xba\xad\xcb\x27\x92\x4a\x62\x81\x33\x91\xc8\x13\x5d\x68\xf1\x75\x11\xec\x95\x33\x0c\xe1\x63\x09\x4a\x86\xfd\x95\x04\x41\x19\xd0\xad\xed\x17\x2e\x47\x78\x23\x30\x87\xdd\x75\x33\xaa\x0e\x63\x6b\xf2\x9b\xab\xf4\x4d\xd0\x9d\x66\xc0\xa7\xbe\x2f\xcd\x64\x5f\xa2\x9a\x74\x5a\xf3\x46\xd3\x9f\xd4\xae\x05\x5b\xa3\x7c\xd8\xe0\x28\xe6\x0c\x74\xe4\xc9\x80\xbf\x6c\x6d\xdc\x74\x0c\x55\xa5\x1c\xb9\xea\xd1\x42\x48\x53\xe4\xc3\xd6\x7b\xc2\x62\xe4\x78\x4c\x59\xd2\x3d\x5b\xce\xc9\xa5\x1c\x75\x6c\xf5\xbc\xab\x41\x7c\x65\xc2\x90\x59\x58\x25\x38\xee\x22\x2b\xe6\xe2\x4b\xbf\x5d\x25\xcd\xb1\x5d\x8c\x09\xea\x88\x61\x43\xbf\x74\x56\x95\x93\x3b\x63\xdc\xc6\xc5\x57\x3d\x1d\x94\xdc\x7e\x46\xa9\xc6\xc2\x41\xdf\x7d\x98\xda\x91\x42\x83\x42\x85\xd0\x74\xca\xcc\x71\x57\x3d\x5e\xb8\xb6\x77\x14\xbd\x24\x4e\xa0\x10\xab\xb4\x36\x53\x95\x83\x93\x54\xba\xc4\x05\x3d\x54\x20\x62\xbc\x14\xef\x52\x6c\x17\xa4\xed\xcc\xbe\x6d\x41\x71\x7a\x26\x77\x61\xa1\x7e\x70\xb8\xb1\x2c\x06\xac\x75\xcc\xfc\xc0\x65\x4e\x68\x33\xa4\x9a\x27\xca\x4e\x3b\x96\xdc\xa1\xc1\x09\x7c\xec\x79\x7d\x09\xb9\x88\xbd\x62\x48\x53\x24\x27\xfb\xd6\x75\xa7\xee\x58\x75\xe7\x37\x22\xf6\x43\x84\x1f\x63\x6c\x9f\xbd\x68\xeb\x43\xe0\x22\xe9\xa5\x54\x00\xf8\xeb\xbd\xf6\x37\x6b\xed\xdb\x5b\x9d\xbb\x6a\xf8\x18\xfa\x15\x6f\x61\x0a\xed\x36\xec\x6e\x93\x60\xdd\x90\xb5\xa1\x70\xa9\xb8\xd5\x0a\x7a\xbc\x29\x26\x49\x24\x25\x0f\x91\xff\x0e\x83\xf8\x6a\x9e\xa8\x07\x83\x26\x86\xcb\xa3\x23\x53\x32\xaf\x77\xc6\x52\x70\x9f\x2c\x89\xfb\x24\xaa\x07\x35\xd9\x7b\x2c\xe3\x7e\x75\xc1\xd3\xe8\xe6\xfb\x74\x9f\x52\x78\x93\x41\xbf\xa1\xa2\x1e\x25\x7b\x74\x6f\x0b\xe3\xd8\x39\xdd\x56\xdc\xcf\xdb\x37\x31\x84\x4f\x56\x02\x53\x47\x6f\x10\xfd\x88\xe8\xbb\x38\xb0\x44\x52\x05\x3b\x33\xac\xf6\xbb\xfb\xf2\x72\x4f\x2b\x4d\x67\xf0\x16\x36\x84\xa9\xec\x38\x7e\x19\xab\xad\x04\xdc\x67\xb7\x17\x14\x5b\x29\xbb\xec\x11\x5b\xb6\x1b\xf3\x4b\xe6\xad\xe3\xaa\x40\x9f\x0c\x46\x16\x06\xe5\xab\xb4\x1e\x99\xa6\xdf\x80\x2b\x93\x92\x16\xb4\xca\xbe\xe4\x41\x67\x78\x71\xd8\x5a\x5e\x0d\x81\x3c\x5e\xc2\x75\x70\xde\x6d\x90\xe9\x91\x7f\x1e\xc8\x8b\x1e\xff\x8d\xbd\x62\x87\x2d\x0c\xc3\x63\x03\x91\x66\x44\x29\x9d\x39\xe8\xd4\xfc\x12\xfe\xd0\xb0\x17\xbb\x6f\xfb\xbf\xac\xfc\x7c\xf8\xe7\xc3\x2f\x0f\xd0\x52\x1b\x90\x7f\x40\x93\x2f\x71\xd0\x3f\x6c\x30\x7c\xbe\x51\x72\x15\x3f\x9a\x6f\xa1\xcf\x64\x28\xc8\xe4\x19\x10\xa1\x14\x03\xc8\xce\x40\xb5\x59\xa9\xe8\xa0\x38\xd9\x87\xde\x7e\xda\x8a\xc8\xa6\x4d\xb2\xfb\x4b\x9b\xc5\x60\x67\x6b\xfd\x4c\x74\x18\x87\x64\xef\xf9\xb7\xae\xc6\x70\x48\x2e\xd9\xf6\x37\x2d\x8c\xea\x78\x77\xcb\x3a\xba\x81\xd6\x42\x9a\x7c\xf6\xe2\x44\xa9\xc8\xd1\xe0\xc7\x94\x32\x42\xc7\x18\x67\x18\x56\x11\x52\x22\x44\x72\xd0\xed\xf6\xa3\x0d\xc5\x76\x2d\x0a\xeb\x05\x03\x2b\x78\xe7\xc1\x25\xdf\xa1\xf0\xd6\x2a\x62\x4a\x67\x44\xe3\xf5\x2a\x6b\xcb\x53\xec\xf2\x7c\xa5\x59\x76\xa4\x20\x12\x80\x83\x43\x91\xf8\xd4\xb0\x4e\xfe\x32\x30\xe0\x82\xb0\xb5\xb0\x88\x97\x36\xaf\x91\x6a\x9b\xa3\x98\x91\xb9\xef\x3b\xc9\x29\xe6\x0a\xe9\x43\xd1\x70\xd5\xce\xdd\xdd\xf6\x9f\x76\x39\x62\x35\xea\x81\xce\xc8\x5d\x46\x0c\x73\x9d\x18\x94\x09\x51\x9a\x37\x27\x47\x7f\x39\x36\x7d\x75\xfc\xc2\xc8\x79\x1d\xa4\x43\xe4\x11\x4d\x23\x19\x60\x44\x81\x6e\x98\xf5\xee\x4c\x97\x2f\xdb\xfe\xd2\x9c\x67\xd7\xcb\x67\x02\x0b\x41\x46\x5a\x2c\x9c\x64\x4f\xf1\x40\x50\x1e\x4e\x6f\x95\x62\x91\x85\x1f\xb2\xee\x88\xa8\x41\xd2\x4b\xb3\x3c\x92\x0f\x6e\x77\x3e\xbb\xad\xda\x9d\x68\x96\x0d\x48\xb0\x7e\x64\x4e\x48\xaa\x6f\x85\xe8\x51\x0a\x78\x61\xb7\x39\x65\x61\xe7\x34\x59\xc0\x6d\x6e\xd2\x5c\x66\xfc\x99\x62\x00\x35\x69\x2b\x6b\x28\x95\x81\x33\x69\x2a\x6b\xd0\x0a\x0e\xd8\xf1\x9d\xa8\x45\xa8\x14\x77\xa2\x16\x69\xbd\x4b\x27\x6a\x11\x12\x70\x9d\xcf\x6d\x9d\x7c\x39\x46\x8d\xaa\xd7\x61\x5d\x90\x63\xfc\x52\x6b\xd6\xb2\x81\xcf\xd7\xb8\x1d\x71\x0b\xa6\xac\x08\x37\xcc\x88\xaa\x82\x62\xe7\x2e\xf2\x31\xa5\x3e\xc7\x11\xcd\x95\x4a\x36\xe2\x71\xe2\x62\xcb\x12\x43\x45\x6a\xa0\x64\x03\x19\xe5\x21\x2f\x4e\xa4\xc7\x26\xde\xa5\xc3\x49\x64\x6d\xe7\x74\x29\x2b\x96\x23\x3c\x14\x0d\x06\x87\x42\x55\x6a\x4b\x36\x66\x8a\xd0\x86\xf4\xad\x41\x77\xd8\x19\x86\x01\xf1\x7c\x87\x3d\xc7\x98\xc1\xc9\x3a\x6f\xad\xe6\x50\x8c\x20\xfb\xef\x72\x62\x5a\xd0\x39\xba\xd9\x0a\x65\x1f\x2b\x3d\xd2\x73\xfc\xe8\xd9\xd1\xe6\x47\x78\x45\x92\xca\xf0\x5a\xf8\xe4\x4b\x46\xac\x77\xe1\x45\x37\x6a\x35\x33\x4d\xda\xb0\x8d\x7c\xf7\x76\x7e\x33\xf3\x28\x05\x30\xe5\x44\x3b\xd1\x5f\x11\x60\xc2\xb7\x8f\x3b\xef\x6d\xb4\x6f\x6b\x00\x3d\xb8\x31\xbf\xcb\x08\x96\x3c\x2e\x7f\x4c\xae\x53\x11\xf2\x19\xf3\x9e\x8a\x41\xcc\xb0\x10\x04\x1d\xed\x87\xf7\xb4\x00\xf9\x3e\x19\x1c\x33\x3c\xa2\x05\x98\xfb\x91\x5b\x88\xd3\x58\x0f\x4f\x40\xb3\x21\x38\x19\xa7\x70\x01\x86\x4e\xd8\x29\x5c\x80\xb3\xc0\x49\x3a\x8d\x1f\x72\x98\x10\xcf\x24\xe4\x78\x41\x52\x74\x3d\xc9\xee\x6d\xdc\x1f\x5a\x80\xcc\x0f\xc0\x1f\x6a\x22\xab\xcd\xfc\xa1\x3d\x73\x86\x16\x61\xe9\xa4\xbd\xa0\x85\x26\xf7\xc7\x68\x9d\x97\x29\x0e\xe9\xc9\x18\xc5\x06\x40\xef\x47\x3a\xf6\x2c\xe5\xf9\x86\x0a\xb3\x19\x38\x01\xa2\xc9\x22\xe1\xf7\xec\x55\xee\xd9\x84\xa8\x8d\x46\x3c\x44\x51\x2e\x22\x37\x16\xb3\xfe\xa4\xb9\x41\x7a\x75\x46\xea\x7d\x26\x26\x0c\xfa\xf3\x75\x97\x60\xbe\xce\x28\x4b\x4c\xf9\x5a\x9f\x1a\xd2\x7a\xd8\xfe\xeb\x4d\xfd\x5b\xe9\xf4\x18\x72\x0b\x63\x25\x1d\xdf\x97\xd1\x8a\x81\xfd\x50\xcd\x04\xd2\x91\xa5\xbb\x15\x45\xae\x86\x5e\xc9\xcd\xcf\x3b\xad\x03\xde\x0a\xbb\x02\xfa\x4f\x8b\x8b\x17\x63\x81\xf0\x60\xa5\x58\x50\x54\x9c\x00\xc4\xc8\x63\x17\x8d\x4c\x05\xd0\x5a\x4c\xb6\x08\x25\x49\xd8\x8d\x23\xb9\x00\xaa\xdf\x1a\x1f\x4a\x20\xba\xa9\xf1\xb7\xc7\xed\x49\x30\x96\x6a\x47\xf2\xc7\xb2\xc7\x2c\x85\x45\x66\x70\xe0\xbc\xf9\xac\x19\x55\x9e\x65\xd9\x51\x84\x10\x16\xe4\x91\x49\x0b\x8a\xe3\xcb\x1c\xe2\x06\x3a\x8a\x6d\x14\x20\x49\x31\xbf\x61\x9e\x10\x9a\x17\x18\xc6\x85\xb2\x46\x48\x4d\xe6\x3a\x0b\x79\x36\x3f\xb2\xcd\x83\x52\x7b\x73\x03\x79\x79\xb4\x19\xfa\x61\x8d\xf9\x40\xa7\x0b\x06\xd7\x5a\x0b\x8e\xdd\x68\xc2\xed\xde\xf7\xf8\xa6\xcf\xb5\xa0\x96\xec\x95\xc8\xf2\xa8\x96\xc9\x66\xdf\xf4\xf9\x6d\xf1\x52\x9e\xf9\x81\xbc\x1e\x72\x15\x08\x48\x5d\xf4\x4c\x7c\xc0\xf8\x17\x89\x1c\x17\x0e\xa6\x8f\x3f\x21\xfa\x14\xe0\xef\x62\x94\x6f\x56\x07\x45\x48\x35\xb2\x8e\xb0\x46\xb8\x1d\x7f\x8f\x18\x1d\x76\x35\xe5\x42\x92\x38\x1d\x7b\x91\x67\xae\xc9\xc2\xe6\x23\x41\x61\x44\x42\x45\xa6\x6f\x14\xd1\xd5\x6c\x31\x1c\xef\x31\x4e\x16\x08\x1c\xc6\x53\x85\xee\x6b\xfb\xb9\xa0\x88\x26\xa5\xd3\x06\x57\xd9\xf0\x31\xc3\x4e\x0b\xa1\x66\x2a\x20\xfa\xdf\x6f\x5c\xc2\x27\x12\xf8\x12\x4f\xe6\xfa\x41\x8c\x53\xca\x8e\xc8\x1b\xb0\x1f\xe0\x60\xa5\xed\xa4\x5e\x8f\x19\xca\x77\x91\x59\xce\xbe\xeb\xbf\xf7\x07\xf4\x3d\xc5\x5f\x15\x0e\x66\x66\x5e\x27\x7b\xee\x67\xb7\x7b\xc9\x02\xeb\xb7\xf9\x8c\x28\x11\x3a\x3d\xe2\x07\xe1\x98\xa9\x11\x45\x05\x0b\x4c\xe6\x99\xc6\xf1\x38\x13\xc1\xd4\x44\xf1\x96\xb5\xa4\xaf\x09\x0c\x4b\x0e\x40\x78\xf5\x1f\xfe\xf1\xc2\x90\xf5\xca\xcb\xaf\xfe\x02\xff\x39\xaf\xb5\x40\x07\x98\x95\x0c\x4d\xc9\xa6\xe7\xc4\xcb\x3a\x9a\xb0\x49\x56\x2d\xae\xb4\xcb\x69\x44\x0d\x38\xf1\x02\xf8\x97\xec\x7c\x94\xce\x8d\x77\x8e\x6e\x6c\x67\xc2\x0b\x9d\xf5\x04\x96\x46\xc5\xab\x63\x2a\xb7\xd7\x6c\xd4\x9a\x3a\x68\x06\x0c\x94\xd9\xf9\x82\x0e\xf9\x1b\xef\x63\x2e\x35\xe5\x29\xdf\x3c\x7a\xb0\x9e\x17\x46\x22\xc8\x70\xed\x3f\x72\xb8\x51\x31\x40\x09\x1f\xa6\xa3\xf7\xd9\xed\xc3\x27\x5f\x2a\x78\x5b\x12\x19\x2a\x37\x6c\x45\xd0\x5b\xb6\x6b\xd2\xb9\x47\xf8\x2f\x22\x2f\x53\xa4\x60\x2d\x7b\xa0\x5b\x08\x47\x03\x29\x41\xb5\xba\xb3\xe2\x7a\x30\xba\x94\x96\xe6\x33\xf8\x93\x51\x2a\x27\x2e\x2c\x69\xab\x21\x58\x2a\x72\x29\x84\x8c\x12\x9e\x56\x98\xf6\x89\xda\xd2\x4e\x4b\xe4\xb0\xc9\x40\x24\xf5\x7d\x86\xe9\xca\xec\x1b\x97\xb5\x13\xd9\x4b\xf6\x02\x66\x0c\x22\xdb\x7a\xad\x8d\xa9\x31\xd8\x98\x00\xce\x00\xe2\x0f\x3e\x32\x1a\xce\xf9\x6b\x4e\xbd\xe4\x2e\x53\xc6\x98\x17\x24\x18\xf3\x46\x40\x4d\xed\x74\x59\x79\xa4\x84\x42\x56\x8b\x97\x1e\xc8\x55\x6e\x95\x10\x3e\xfe\xfd\x00\x58\xe0\x9d\xa1\x6b\x4d\xc7\x58\x13\xa3\xc8\xa8\x75\x4c\xa8\xcc\x0f\x15\xd8\x3d\xc0\xd1\x86\x47\x72\x03\x05\xd8\xc6\xcd\x7d\x74\xde\xb2\x97\x6b\x15\x07\xa3\x5f\xb4\x1b\x5d\x1a\xab\xb9\x1f\x91\x37\x32\x08\xf8\x67\xf2\xda\x3b\xa3\x7b\x9d\x51\x37\x2d\xbb\x81\xf8\x03\x20\x96\x6d\xb7\xe2\x94\x25\x80\x0e\x82\xd6\x60\xa5\x86\x4b\x0c\xc2\x48\x91\x30\x84\x1b\x36\x14\x20\xfc\xf9\xb4\x90\xec\x15\x78\x8f\x23\xf0\x70\x13\xa0\x28\x5d\x74\x57\x1c\x1a\x4e\x2d\xd2\xde\xad\x87\x18\x7e\x47\x40\x06\xb4\x2b\x37\x1e\xc7\xe9\xc6\xc0\xeb\xa2\x60\x27\x7f\x7e\x8e\xd0\x72\x8f\x5a\x38\x0f\x62\xfd\x27\xc0\xef\xa2\x5a\x79\x3e\x44\x84\x1c\x8f\x00\x17\x4d\xa0\x02\x0d\xf8\x16\x95\x28\xf7\x9b\xcb\x56\xd9\x73\xfc\x30\x66\x8e\xd2\x30\xad\x65\xa7\x61\x97\x6d\x6d\x24\x81\xda\xd5\x38\x60\x9a\xc0\x0f\x02\xf6\x9e\xec\x83\x84\xef\xb4\x76\x69\x93\xef\xac\x75\x1e\x7c\xd1\x79\x6f\x03\x61\x89\x8f\x6e\xac\x09\xf0\x8b\xd6\x1e\x81\x4e\x9a\x46\xde\x9d\x6d\x2e\xd7\x22\x88\x68\x38\x7d\x0e\x4c\x37\x4a\x25\x46\xc6\xd2\x8a\x69\x84\xcf\x22\xbc\x8b\x5b\x3b\xa9\x98\x63\xe9\x14\xc7\x2e\x5e\x1e\x9f\x9e\xbc\x78\x61\xec\xe2\xac\x75\x79\x64\x7a\x7c\xe4\xb5\x89\x31\x8b\xaa\x57\xe9\x02\x78\x22\x01\x95\xc2\x20\x6c\xde\xf6\x8c\x6e\xe5\x47\x9a\xd5\xac\xfe\xb1\x7f\x1d\xb9\x30\x05\x6d\x68\x0f\xfc\x75\xad\xb9\x97\xa1\xd4\xd9\x63\x5b\xab\x7b\x6f\xad\x4a\xdc\x62\xc4\xe0\x15\xf1\x61\x3a\x2b\x09\x3e\x12\x86\x7f\x51\x13\x04\x5d\x7f\x9f\xa2\x69\x69\xc9\x66\x12\xed\xaf\xd9\xc8\x84\xf4\x0f\xdb\x5c\x64\xde\x83\xbe\x9b\x89\x32\x59\x81\x01\x12\x95\xe8\x58\x77\xd2\x46\x74\xbd\x4f\x30\x6d\xac\xe7\x8a\xc1\x32\xb0\x90\x08\x2a\xbd\xb5\x0d\x65\x92\x8a\xda\x84\x94\x33\x3e\xdf\x1c\x94\x6e\x01\x22\xfc\x4e\xc5\xb9\x6c\xc4\xc1\x8f\xc8\x1a\x64\x60\x06\xa2\x8e\xfd\x04\xac\x40\xf9\xf7\xb2\x78\x4f\x8f\x6b\xfd\xe9\x47\x67\xcd\xad\x1a\x7d\xee\xef\x8f\xde\xea\xd3\xd5\xf8\xfc\x27\xb5\xf6\x14\x18\xab\x5e\x5b\x79\x8e\x41\xba\xa7\xd6\x1d\x13\x3e\x56\xc2\x3c\x20\x18\xe2\xcb\xb6\x30\xec\x5a\xd7\x6d\x5f\x80\xcd\x35\xb4\xe5\x50\x22\x4a\xa8\xfa\x76\x00\xfd\xcd\x2c\x28\x11\x7e\x20\xf4\x73\x6e\x13\x74\x93\x11\xcb\x37\x35\xa2\x06\x87\xe9\xfc\xa5\xf1\xb3\x03\x67\x74\xa8\x20\x03\xf4\xb3\x58\x35\x29\xeb\x2e\x72\x08\x91\x62\x20\x40\x7d\x08\x08\xd5\x6a\xef\x6d\x77\x6e\xdc\x3f\xa3\x49\x74\x60\xfe\xe8\xc4\x66\xe8\x64\x52\x5b\x33\x13\x16\xc4\x71\x9c\x4a\x26\x8b\xc8\xbc\x4c\x85\x0b\x31\x52\xe0\xa2\xa9\xed\x76\x80\x76\x22\xd2\xa5\xc2\xc4\xb7\x82\x9d\x0b\xe8\x8a\xce\xe5\x97\xec\x13\xfd\xcc\xa2\x98\x57\xaa\x2f\x46\xba\x21\x80\xfd\x72\x41\x6f\xf1\x41\x93\x0e\x17\xa2\x6e\x86\x24\x98\x45\xd0\x8c\x4c\x5a\x8a\xa3\x01\x94\xae\x49\xb2\x63\xc8\x11\xaa\x5d\xcc\xd4\xd1\x27\xeb\x31\xb8\xc5\x4c\x90\x5d\xe6\xb6\x9c\x1a\xfa\xc8\x7b\xca\x80\xd7\x30\xda\x26\x2d\xe2\x31\x31\x6e\x85\xb9\x4a\x8f\x88\x34\x41\xa8\x34\x09\x7a\x4c\xe7\x2f\x1b\xa4\x52\x30\xa8\xb5\xe0\x67\xe4\xd2\xdc\x78\xa7\x98\xbd\x3e\x75\x92\x11\x27\x85\x51\xaa\xbb\xe3\x8f\xcf\xa0\x42\x06\x7d\x53\x2e\x05\x8b\xd9\x8c\x05\xa0\xf4\x24\x7c\x42\xb9\xa1\x47\xc3\x12\x52\x36\x80\x75\xd7\xae\x2a\x6a\xc4\x88\xb6\x5f\xf3\xaa\xbe\x63\x42\xfc\xfe\x47\xed\x5b\xcf\x7a\x41\xdc\xd1\x29\x05\x1a\xca\x59\x27\xfe\x31\x16\x86\x96\x8d\x63\xaf\x8b\x2e\x17\xc4\x02\x97\xcf\x54\xec\xa5\x78\x69\x31\xc2\xa0\x65\xc2\xb2\xca\x4c\x68\xc1\x21\x88\x5f\xdd\xc9\x6f\xbc\xc5\x93\x8c\x71\xa2\x48\xfe\x71\x99\xe0\x4b\x85\x1e\xce\xe4\xcb\x98\xa9\x3e\xc8\xc5\x5e\x8f\x9b\x21\x20\xb9\x80\x8c\xd6\x91\x35\xa1\x14\x57\x22\xc3\x53\xc6\x24\x5e\x2d\x4d\x8b\x34\x9b\xaa\x78\xfb\xc7\x60\xb5\x0f\xdc\x99\x31\x94\x16\xc9\x6a\xc2\x54\x1a\xe4\x54\x2f\xd8\xf2\xea\xd7\xed\x3a\x71\x86\x92\x49\xab\x0d\x4b\x20\x59\xaa\xe6\xdd\x85\x12\xbc\xc8\x08\x84\x24\xc7\xe6\xb1\x62\x7e\xa6\x18\xfe\xfe\x0e\x7a\x29\xbe\x40\xb4\xf8\xb5\xce\xce\x01\xd2\xe9\xea\x5e\xa1\x52\x45\x04\x48\x9d\xa5\x9e\x88\x06\x40\xe2\xf9\x44\x4d\x68\xaa\x55\xdf\xfc\xe6\xf2\x32\x15\x76\x30\x36\x79\x92\x75\x7e\xf3\x7b\x51\xd5\xab\x17\x63\x20\xeb\x9e\x51\x7d\x3a\xf6\x13\xb3\x7b\x09\x96\xc9\x39\xb8\x1a\x70\x0d\x70\xfd\x02\x0c\x9f\x89\xfa\xb8\x84\xdb\x57\xd4\x8a\xa3\x8a\x73\x46\x5c\x9b\xf0\x4c\x58\xe4\x38\x71\xba\x55\x29\x6e\x2a\xe6\x53\x67\x42\x15\x3d\x07\x98\x37\xcf\x21\xfd\x99\xab\x15\xa8\x1f\x7d\xba\x41\x77\x04\x0e\xd3\xef\xf9\xd2\x15\x93\x24\xbd\x7b\x3c\x73\xe8\xf0\xd3\xf3\x24\xfd\x76\x29\x1e\xc9\xb8\x2b\xaf\x87\x8c\x32\x2a\x01\x57\x08\x71\xb8\x2e\x45\x10\xcd\x9c\x7d\xa7\x91\xb5\xf5\x1f\xec\x2a\x0e\x8e\xed\x16\x56\x76\x32\x63\xcf\xec\x8e\x43\x49\xaa\x88\xf4\x8f\xdc\x4e\x4f\x8d\x4a\xa3\x9d\x76\x20\xf1\x19\x25\xb8\x7f\x7f\xfd\xf0\x60\xef\xe8\x5e\x3a\x13\xff\x2d\x73\x8c\x60\xf3\xfb\x4b\x36\xa9\x81\xff\x63\x66\x52\x07\x42\x80\x3f\x51\x15\xef\x1b\xbb\x6d\xcc\x4b\x2a\xb8\x7c\x11\x37\x3f\x14\xb1\x54\x6e\x89\xc6\x3f\x4b\xe6\x51\x45\x24\x86\xcd\xdf\xed\x6e\xfa\x25\xd5\x63\x00\xf6\x6b\x29\x67\xd1\xad\xc1\x90\x9a\x8c\x27\x56\xc3\xdc\x3d\x40\x00\x91\x4e\xeb\x7e\xd7\x54\x04\x10\x87\x4e\x0c\x11\x46\xc6\x71\x49\x39\x75\xac\x75\x61\x6c\x05\xeb\xac\x6f\x1d\x7d\xf2\x7e\x71\x32\x75\x4f\xda\x02\x31\xe2\x06\x27\x8b\x6a\x32\x52\xdd\x3d\x12\xef\x03\x06\x5b\x56\x79\x5a\x01\x08\x56\x26\xf5\xc9\x16\x9c\x66\x99\xf6\x40\xb3\x4d\x9b\xc6\xae\x01\x7f\xfd\xe7\x26\x14\xc6\x28\x46\x9c\xba\x5e\x1c\x83\x04\x79\xd2\x92\xc7\xa4\x14\xbc\x82\xa7\x2e\x36\x5c\x1d\x96\x62\xd2\x8a\x99\xab\x42\xc6\xcc\x99\x34\x2c\xf7\xbf\xd7\x0e\x88\x99\xf6\x28\x79\x91\x17\xfc\xcc\x4b\x7d\x0e\xc9\x22\x74\x68\xe0\xbb\x22\x16\xbd\xbf\xf3\x29\x53\x98\x72\xa1\x29\x37\xea\x7c\xde\x94\x2f\x00\xfd\x25\xd2\x4d\xc2\x34\xc3\x0c\xa5\x24\x92\x31\x78\x63\x9d\x41\x10\x77\xa0\xab\x54\xa6\xa3\x0b\xfa\x55\x7b\xb9\xc7\x36\x4b\x59\xea\x1d\x8b\xcb\xea\xb8\x32\xb5\x5e\x0a\x79\x49\x1a\x63\xc6\xc2\x10\x72\x33\xcf\x9c\x63\x48\x29\xd0\x12\x51\x41\x8c\x2e\x8b\x7c\xf1\x14\x5d\x20\x81\x0e\x19\x28\x8f\xcc\x6b\x0f\x24\x16\x02\xf6\x54\x56\x82\xac\xdd\x7c\x39\x11\xe6\xea\x66\x9c\x63\xc6\xe2\x81\xa2\x3b\x63\xb7\x21\x83\xf1\xc9\x6e\xb4\x51\x77\x1d\xea\x12\xb4\x3e\x7f\x4d\xbf\x0d\x3e\x78\x78\x74\x83\xef\x22\x4f\x60\x5e\xdf\xef\xda\x3b\x15\xa7\x68\x74\x00\x15\x21\x6e\x36\x95\xbe\xbd\xa2\xca\x7d\x03\x26\x42\xc0\x7e\xba\x12\x1c\x8b\x3a\x15\xc7\xea\xb1\x0c\x50\x0a\x6a\x1d\x6b\xff\x07\xbc\x71\x80\xf9\x55\x8a\x93\xbc\xda\x58\xad\x39\x59\x06\xdf\xe4\xc3\x7a\x86\x0a\x9b\x7d\xd9\xe5\x15\x5b\xf9\x66\x95\xbe\x52\x6c\x01\xa1\x8b\xcc\xd4\x13\x65\x62\x38\x0c\x79\xec\xed\x9c\xa6\xb0\x5a\x70\x42\xb1\x2e\x17\xdd\x29\xbd\x6e\x3c\x97\x44\xf6\xe3\xbd\xbc\xfd\x96\xcd\xc2\xef\xdc\x5a\x2d\x36\x7d\x05\x26\x6c\x73\xb3\xf3\x4d\xba\x6d\x3e\x8b\x66\xaa\x95\x13\xe3\x9b\x39\xad\x11\x11\x33\x19\x8a\xd4\xf6\x39\x96\xae\xbe\x48\x61\xe3\x1c\x66\x31\xe5\xf9\x84\xc2\x34\x00\xd3\xd9\x50\xff\xc4\x43\x0b\xae\xe5\x58\xb2\x05\x5e\x6e\x38\x8b\x4e\x7d\xd8\xb2\xce\xe1\xbd\x14\x0b\x59\xfb\xab\xd5\x86\xfd\x16\xec\x9d\x4a\x6d\x88\xca\xbb\xfc\x7a\x7e\x41\x54\x84\x0b\xf1\x10\xad\xd2\xd2\xaf\x33\x82\x54\x52\xd8\xe6\x5e\xe3\x61\x36\xc0\x6a\xd6\x00\xa7\x0c\x1c\xc0\xc5\x85\xae\xfb\xa1\x29\x11\x74\x81\x77\xb7\xc2\xc7\xee\x72\x78\xe1\xce\x26\x3c\x89\x6b\xfc\x68\xb3\x05\xe7\x61\x58\xbd\x9b\x50\xe5\x5a\x07\xb8\x13\xe5\x95\xeb\xc3\x56\xe7\xb3\xb5\xf6\xa3\xdb\x88\x79\xa4\x63\x9f\x0d\xdf\x07\x9d\xcf\xf7\x0c\x80\x62\x45\x89\x58\xad\x7b\x86\x6b\xbc\x66\xbe\x7b\xd1\x63\x88\x51\x02\x98\xcc\xcb\x74\x11\x0d\x86\x89\x15\xa2\xfa\xbe\x61\xed\x44\x41\x12\xf5\x91\x32\x26\xbf\x58\xd7\x6d\xde\x41\x44\x16\x66\x78\xde\xfa\x8d\x37\x47\x97\x3c\x78\x94\xb2\x05\x06\x70\x77\x21\x72\x97\xaf\x03\x5d\x95\x4c\x21\xea\xea\x87\xf7\x48\x49\xe3\xba\xae\xd1\x66\x3a\xf7\x5a\xed\x3f\x6f\xa0\x50\x54\xf5\x38\x04\xea\xda\xe6\xba\xda\x64\x3a\x79\xfa\x3c\x93\xf3\x3c\x17\x8f\x51\x51\xdd\x31\xce\xcb\xf1\x29\x31\x87\x14\x35\x4e\x97\x71\x44\xb5\x45\x18\x1b\x0c\x7c\x76\xaa\xe5\x9a\x07\x1b\x21\xd3\x73\x4c\x4f\x76\xee\xa2\x42\x76\xf4\xe1\x2e\x2c\xdb\x68\x7d\x35\xa9\x4c\x52\x26\x8f\x8e\x9b\x1a\x9b\xc2\x54\x4b\x30\x47\xa4\xda\x6c\x85\xf5\x16\x10\xe4\xe7\x34\x97\x68\xaf\xd9\x6e\xdd\x17\xb5\x89\x2d\x6f\x9e\x4a\xf7\x94\xd5\x42\xb3\x56\xd5\xb1\xeb\xa0\x79\xe1\xe8\xbf\xb1\x5c\x99\xa9\x82\x84\x72\x1a\x30\x03\xe6\x71\xb4\x58\x76\xfe\xdd\x87\xa7\x0f\xf7\xfe\x68\x75\x36\xfe\xc0\xd1\x72\x6c\xb0\x7d\x0e\x7a\xca\x0d\x19\x0b\xba\xb5\x0e\x03\x70\xa5\x7a\xf8\xed\x73\xb8\xa5\xe2\x53\xf1\x62\xb6\xda\xab\x54\x2a\x7b\xc6\xa3\xe3\x47\x86\xa7\x50\xb7\xf4\xfd\xc8\x21\x1f\x1e\x62\x92\xb6\xef\xc8\x99\xb1\xfe\xaf\x2b\xcd\x97\x5f\xfe\xb9\xc3\x45\xf4\x87\x48\xae\xba\x0d\x0a\xe6\x22\xd0\x8e\x59\x50\x1a\xde\x7e\x3b\x43\x2c\xc6\xe2\xb7\x10\xfe\x48\x36\x49\x05\xf4\x31\xa6\x9c\x16\x56\x0a\xdf\x78\xa6\xc3\xdf\xef\x6e\x85\x94\xc2\x12\xf6\xf9\x9d\x9a\xaa\x7b\x35\xa7\xde\x58\x8d\x75\x6e\xce\xf3\x2a\x8e\xad\xc5\xdd\x4e\xbc\x18\xf0\xde\xfe\x66\xad\xf3\xa9\x96\xd1\xbc\x28\xb4\x7c\xc6\xe4\x86\x10\x07\x94\xb6\x0a\xab\x9e\x43\x3e\x30\xb2\x17\x75\x6f\x79\xf5\xe1\x5e\x50\x5d\xec\x82\x55\xcc\xde\x82\x33\xec\xee\xfe\x49\x70\x5b\x6d\x2e\xcf\x39\xf5\xe4\xea\x95\x8f\xe7\xae\x62\xdd\x78\xaf\xff\x6f\xec\x44\xde\xd2\x8d\x92\xc9\x5b\xc2\xe7\x46\xc6\x27\xc6\xce\xea\xb6\x3e\x65\x68\x69\x5e\x1c\x1b\x99\xbd\x34\x3d\x66\x9d\x9b\x18\x39\xaf\xcb\xa6\xe1\xd8\xf7\x10\xca\x58\xd3\x12\xe5\x9f\x59\x8c\x62\x29\x7d\xc8\x75\x8f\x93\xcf\x30\xc6\x4c\xaf\x16\xc8\x40\x32\x90\x93\x87\x4f\x36\x02\x80\xb1\xbb\x70\x93\xdf\x89\x00\x40\x53\xb2\xc9\x1f\xf6\x82\x9c\xb3\x4c\x4e\x16\x9c\xc6\xfc\x52\x44\x4d\xf7\x4d\xc2\xda\x14\x63\xfb\xff\xdc\x02\xd9\x4c\xc7\x32\xd1\x2b\x18\xb8\x16\x67\x83\x63\x21\x7c\x19\xdb\x1c\x96\x8c\xfe\xfb\x90\xaf\x82\x57\x7b\x0d\x09\xa3\x6e\x06\x71\x66\x3d\xee\xa6\xb3\x02\xaa\xb5\x6f\x76\x67\x03\x7d\xed\xc9\x43\xbc\x35\xe6\xf3\x90\x7d\x33\x8b\x33\x01\xe3\x5b\xe2\xa4\x11\x1c\x6d\x5a\x85\x1c\xa1\x30\x0d\x1f\x67\x3d\x91\x59\x2d\x50\x26\xcc\xee\x6c\xe9\x2f\x07\xab\x74\x4b\x2c\xdb\x52\x18\x16\xd9\xe3\x81\xc5\x78\xa3\x02\x45\xaf\x7b\x3e\xa6\x64\x09\xab\x33\xac\x9c\xc1\x8a\x15\x16\xb1\xd6\x9e\x84\x8a\x33\x1a\x8e\x42\xcc\x98\x73\x61\xb4\xc4\x0a\x90\xa7\x70\x94\x94\x15\x46\xe1\x26\xdd\xaf\x31\xdd\xeb\xea\x2a\xa3\x20\x96\xfe\xad\x32\x0e\x1e\x1b\x2e\x16\x9b\x24\xa1\xd3\xcc\x58\x31\x88\x46\x12\x5c\xc1\xc9\x21\x6a\xac\xff\xc6\xf7\x38\x3f\x51\x42\xa9\x5f\x95\x39\xbc\x59\x3e\xbf\xd8\xc3\x22\x75\x13\x46\x91\x7c\x9c\x1c\xa6\x1c\xb2\x6b\xc8\x8a\xbc\x58\x0c\x21\x66\xb3\x48\xae\x46\x87\xa7\x93\x5a\xd8\x44\x7b\xea\xc5\xcb\x82\x32\x0f\x43\xd1\x32\x25\xe4\xc9\x57\xfd\xa3\xd1\x92\xf0\x39\x27\x20\x30\xb6\x6c\x5f\x73\x64\x30\x04\xe3\x2f\x30\x53\x5d\xda\x92\xd5\x86\xc9\x37\x5f\xc4\x31\x6f\x34\xc8\x0c\x6c\xc0\xfe\x9a\xec\xc9\x9d\x1c\xc1\x67\x82\x1b\x25\x82\x19\x18\xd2\xb8\x4e\xab\x41\xa4\x35\xca\xe2\xae\xbf\x3f\x16\x70\xb0\x21\x0a\x9e\x86\x33\x91\xee\x88\xe1\x42\xfc\xf1\x5c\xc5\x46\x10\x3f\x01\x95\x55\xce\xd0\x32\xa3\x2f\x24\x13\x19\x83\xa4\x97\x1c\x8d\x58\xcb\x03\xe7\x67\x1e\x87\x85\x2f\x4d\x08\xeb\x82\x04\xb8\x39\xcd\xab\x18\xe7\x84\xf9\x41\x6c\x2b\xc2\xd8\x99\x0a\x16\x6b\xa1\x45\xef\x63\x6f\x28\x2f\x14\x9f\x72\xde\x82\xcb\x07\x68\xf0\x0d\x81\x6e\x50\xb3\x61\xed\x00\xef\xf8\x63\x2d\x2b\x84\x2b\xf4\xfb\x12\x70\xe7\x2e\xa9\xeb\x51\xeb\x52\x88\x6c\x20\x1f\xde\x57\x30\x0e\x44\x98\x4e\x84\x16\xc9\x1c\xaa\xc3\x82\xb3\xc3\x45\x9b\x0d\xac\x6b\xe7\x3c\xac\x21\x51\x66\x50\xee\xc1\x32\x23\x81\xd4\xea\x1e\xc1\x3f\x60\x4a\x87\x57\x5d\x70\xeb\xcb\xc4\xbb\x1e\x80\x83\xb2\x0a\x0e\xf7\x36\x29\xb9\x80\x0c\x31\x83\xcc\x01\xf5\x49\xf5\xa0\x51\x6e\xfb\x2e\xfc\x57\xe0\x92\x30\x94\x4c\x04\xbd\x40\x03\x6e\xa1\x70\x8a\x1a\x2e\x16\xf2\x41\xf3\x9a\xca\xa0\x36\x9f\x6b\x93\x92\x1f\x50\xbe\xed\x5b\x69\xdc\x66\x51\x14\x20\x17\x9c\x6b\x4b\x42\xaf\x6b\xd2\x91\xf8\x2f\x86\xb3\x30\xe7\x63\xd9\x5d\xac\xdb\xc7\xeb\x3a\x0a\xce\xfb\xfb\xa8\x3b\xed\xac\x0b\xfb\xb8\x31\xf9\xe3\xc1\x17\x1a\x93\x11\x8e\x4a\x29\x41\x65\x57\x79\x45\xea\x3a\x99\xb3\xa6\x08\x2b\x07\xeb\x9f\x07\x25\xca\x50\xae\x1b\xb3\xd4\xac\xce\x89\x88\xe1\xee\x07\x7e\x0f\xaf\x45\xed\x3b\x5f\x8a\x02\x08\x26\xc4\xcf\x8f\xcd\xce\x8e\x5f\x3c\x6f\xcd\xcc\x8e\x4c\xcf\x66\x5c\xc4\x05\xe2\x0e\x08\x35\x4d\x3b\x13\x93\xaf\x8d\x4c\x58\x93\x53\xb3\xe3\x93\x17\xb5\x08\x19\x87\x07\x6b\xe8\x2d\xc2\xab\xf2\xd6\x33\x58\x18\x9a\xc0\xda\xf3\x4e\xc3\xb2\x43\x87\x7b\x50\x39\x8c\xd2\x28\xfc\x25\x6b\xbe\xe2\xe2\x55\x2d\x23\xd0\xed\xe8\x9d\x7d\xaa\x81\xb6\xdf\xf9\x84\xed\x6d\x5b\x8a\xdb\x5d\xad\x2a\x16\x86\x1b\xea\xbb\x06\xdc\xa0\x38\x4e\xfa\x0f\xd9\x90\x8b\x8b\x28\xa7\xe4\x01\xd2\x4f\xbe\x8e\x66\x59\x23\xf2\xec\x51\xc7\x4a\x1a\xa2\x34\x3f\x87\x1f\x80\x26\x73\xcd\x69\x80\xb2\x3d\xef\xe8\x0f\x6e\xdc\x8d\xcf\x3f\x46\x99\xc0\xbb\xf1\x83\x87\x41\x04\x2f\x63\x5f\x04\x88\x17\x29\xb1\x97\xba\xc4\xd7\xf3\x61\xcc\xb3\xff\xc3\xac\x55\x40\x28\x23\x5f\xa7\x74\x28\xa7\x47\x8a\xc9\x65\x78\x58\x9b\xb5\x14\x9a\x5a\x52\x08\xe8\xd2\x94\x24\x09\x69\x4e\xd1\x57\xdc\xec\x79\xf5\xd0\x48\x0e\x4a\xe1\x31\x71\x94\x34\xe7\x00\xc2\xed\x98\x6a\xe7\xc9\x95\xe8\x8e\x14\xab\x88\xe2\x7c\x24\x6f\x2c\x85\x87\x86\x6c\x46\xfd\x18\x13\xed\xda\xeb\xfb\xa8\x04\xc6\x2d\xcd\x88\xe4\xad\x6f\x0e\x31\xfd\x29\x2d\x93\x40\x93\x2e\xbc\x3e\x74\x67\x46\xa1\x30\x15\x72\x1d\x85\xc4\x77\xb3\xe3\x51\x24\x69\x4c\xa3\x38\xd9\x12\xc5\xda\xac\x8c\xdc\x61\x0a\x78\x7d\xe1\x35\x20\xc2\x8e\x14\x38\x9a\x43\xf6\xf3\xd0\xf3\x4f\xae\xb6\x72\x1a\x72\xbe\xea\xcf\xee\x7e\xb2\x7e\x9a\x75\x6a\xba\x1d\x0a\xff\xc7\xd2\xef\x6e\xfb\xa8\x83\x38\x2a\x78\x40\x85\xa9\x95\x5d\x1c\x29\x7c\x25\xf6\xc3\x92\x72\x98\x10\xe5\xbb\x0d\xaf\xee\xc2\x51\x03\x0d\x68\x51\x01\x84\x92\x9b\x91\x22\xa5\x61\x29\x47\xba\x46\x38\x0a\xb8\x59\xb5\xb4\xc1\x19\x59\x49\x5a\xaa\xa4\xc9\xa1\x9b\x5a\x40\x84\xe4\x4f\xbf\xaa\x12\x75\x75\xee\x11\x9b\xc7\x47\xc6\x3a\x1e\x13\x11\xbf\x4f\x82\x17\xab\xf8\x1a\x8e\x7b\x86\xba\x5c\xcd\x02\xbb\xb7\x77\x0c\x75\xad\xaa\x49\x14\xe1\x34\x2d\xc1\x50\x2f\xeb\x82\x6b\x73\xd5\x2c\x3c\xaf\xf2\x7b\x9a\xb3\x71\xb2\xba\xda\x9f\x3e\xf5\x94\xfb\xa6\xd4\xa9\x09\x32\x3c\xaa\x25\x59\xa2\x16\x0c\x7f\x79\x1e\xbf\xbb\x98\xb3\xdd\x22\x7a\x90\xee\x75\xaa\xa6\xfd\xed\x76\xe7\xbb\x7b\x5d\x6d\xbf\x28\x97\x7e\x2f\x15\x37\x73\xd5\x2c\xa8\xd6\xc5\x80\x6e\xbd\x2b\x88\x15\x80\x60\x75\x75\xa8\xc6\xd8\xc2\x89\x0d\x8b\x77\xbd\x46\x9f\x70\x5d\x56\xa3\x10\xab\x62\x95\x05\x7f\xf7\x46\x97\x0f\xc8\x05\x35\xbe\x10\xf0\x37\x49\x2a\x05\x25\xf5\xc4\x46\x21\x89\xb7\xf7\x02\x87\x67\x28\xca\x46\x30\x1a\x43\x3f\x8a\x41\xeb\xe3\x82\x49\x19\x93\x17\xd0\xf3\xbe\x74\xb0\xbf\xdd\xe8\xff\x2a\x7e\x11\xcb\xf2\x05\x6e\xda\xb4\x95\xf8\xe2\x84\x5a\xbf\x36\xe2\x49\xed\xb7\x20\x05\xd5\xef\xcb\xf5\x35\xc8\x5d\xed\x52\xcd\x50\x8b\x5f\xf6\xe4\xaa\x9a\xac\x7a\xd9\xa5\x7e\x1d\x01\x29\xc7\x5b\x9a\x70\xe7\x99\x80\x27\xf7\xc0\x34\x94\x01\x08\x1b\x07\x14\x3f\x8e\x41\xa8\xab\x5e\x66\xf6\xe8\x64\x19\x4f\xba\xd3\x7e\xf8\x55\x49\x73\xdc\x76\xa6\x1d\xff\x01\xf7\x33\x82\xc6\xdf\x55\x27\x53\x2a\xae\xf6\xca\x58\xa2\x2d\xb9\x8a\xfc\x1f\x63\x41\x86\x2c\xf7\xe0\xae\x12\xe3\xb1\x3b\xe9\x4a\x51\x95\x69\xf5\x5f\x33\x97\x45\x96\xc4\xcd\xaf\x02\x9b\x74\x2d\x04\x00\x68\xdd\x08\x61\xcc\xe1\xa6\x1c\xb6\x19\xfc\x84\x29\x6c\x91\x65\x1f\xa8\x03\x27\xe1\x90\x8a\x13\xcb\xdb\x02\x11\xb6\x95\x24\xf3\xc2\xf3\x48\x89\xec\x3f\xa2\x8e\x1f\xa3\xaf\x1c\xdd\x9c\x5e\xb2\xf8\xb4\xce\x47\xd3\x83\x1a\xde\xbf\x4f\x2b\x64\x7c\x5a\xe7\x8b\xc1\x3e\x06\xb1\xd0\xe6\x06\x8d\xac\xce\xf5\xb9\x1e\x73\xc0\x6e\x21\xd9\xf6\xfa\xd8\xc8\xc4\xec\xeb\x57\x47\x5f\x1f\x1b\xfd\xe5\xd5\xd9\x37\xa6\xc6\x34\xfc\x24\x9f\x4b\x6f\x6e\x72\x66\x56\x17\x0d\xb5\x45\xae\x90\x0f\x34\x79\x3e\xf8\xe6\xc5\x91\x0b\x3a\xfa\xc1\xdb\x22\x1b\x57\xd3\x08\x96\xce\x21\x2c\x20\xaa\x4c\x35\x5f\x69\x96\x49\x5b\x60\x34\x34\xce\x41\x9d\xf3\xca\xab\x43\x58\x6a\x65\xe0\xbf\x0f\x80\x0e\x84\x85\xff\x9c\xb2\x35\xb7\x8a\xf5\x41\x28\xf0\x13\xd6\x3a\xbe\x8e\x58\x33\xf4\x62\x80\x2d\x94\x8d\x64\xd2\x7e\x7a\x80\x89\x64\x77\x6f\x5b\x88\xce\xb8\xf9\x18\x7d\xd3\xc4\x4f\x80\x32\x34\x14\x14\xb6\x51\x01\xdf\x3a\xf7\xbf\xef\x7c\xb2\x6f\xa1\xe7\x58\x02\xe8\x89\x7c\xe3\x7d\xab\xfd\xc7\x87\x32\x65\x1d\x5e\x03\x86\x33\xba\xbd\xec\x34\x96\xbc\xb2\x35\x78\x7e\x6c\x76\x68\x0a\x06\x73\x68\xea\xd2\xec\xd0\xd9\xb1\x89\xb1\xd9\xb1\x21\xa7\x31\xaf\x0b\xdc\x64\x16\xbf\xbc\xd3\x79\x0f\x83\x66\xe8\x6d\x8b\x5e\xb7\xf0\x7d\x8b\x1b\xb0\xda\x1f\x7f\xad\x09\xc9\x7c\xdd\xf3\x1b\x34\x64\x5c\xd2\x6c\x79\xb5\xe4\x37\xe7\x38\x88\x46\x47\x32\x3e\x97\x5c\xda\x2c\xfa\x66\x36\x2d\x69\x6a\x25\xe6\xb9\x12\xdf\xa0\xc8\xab\x17\x71\x68\x4b\x36\x7e\x14\xc1\x3c\xd9\x7d\x97\xd6\x5f\xc5\x22\x9c\xe0\xf0\xf0\xe9\xb3\xce\xf6\x8e\x1a\xa9\xb3\x85\x11\xb8\xf0\x22\xe5\xc3\xaf\x6f\xe5\x71\xdc\x14\x58\x01\xf3\xde\x32\x16\x10\x0b\x62\x38\xad\xb3\x93\x17\x46\xc6\x2f\x52\x88\x3a\x15\x1f\x5a\xe5\xc5\x2a\xab\x0b\x62\xd8\xa1\xce\x4a\xcc\x01\x85\x1f\x6f\x53\x51\x9c\x48\xa1\x3f\x99\xd8\x46\x29\xe0\xdb\xad\xa3\xcd\x7d\x41\xe7\xf0\xe9\x73\x8b\x52\xee\xbf\x14\x25\x6a\x58\x6a\xb4\x6f\x73\x60\xae\xd9\x26\x3b\x6e\x9f\x38\x98\x32\xaf\x57\x22\x4c\xf2\x85\x76\x0e\xa5\x48\x19\x64\xb0\xec\x42\xb8\xde\x8c\x56\x14\xb1\x7b\xeb\x7e\xfb\x69\x4b\x4d\x32\x2c\xce\xd4\xf8\xc5\x99\xd9\x91\x89\x89\xb1\xb3\xd6\xd4\xc4\xa5\xf3\x30\xb2\xa3\x93\x17\x2e\x8c\x5c\x3c\xab\xad\x53\x46\x61\xc5\x89\xba\x72\x8c\x0a\x9a\x41\xe2\xe2\xe8\xd8\xd5\x0b\x63\x17\x26\xa7\xdf\xd0\x34\x1c\x7f\x2a\xbd\xa9\xc5\x2a\x02\x59\x44\x10\xd1\xcc\x60\xd0\xac\xf6\xee\xbe\xb6\xa8\xe8\x78\xd5\xfa\x17\x58\x36\xde\x75\xdf\x1a\x15\xe0\xa9\x13\x6e\x95\xab\x3b\x21\x06\x5c\xc5\x29\xa1\x6a\xee\x94\x87\x2c\xc7\x9f\xb7\x6b\x30\x7d\x98\x29\x72\x06\x94\xb4\x2b\x57\xae\x9c\x5a\xb1\x2b\x6e\x19\x3f\x9c\xc1\xff\x60\xde\x0f\xfe\xab\x4d\xd7\x97\xa4\x78\xcc\x8e\x3e\x79\x5f\xde\xec\x1e\x7c\xd4\xb9\xbf\xd6\xbe\xb3\xd7\xd9\xda\x3f\xfa\x68\x7b\xc8\x12\x51\x9b\x94\xfd\x8e\x41\xc8\x30\xe8\x48\x36\x4c\x54\xc8\x65\x20\xaf\xb7\x53\x70\x40\xd5\x67\x96\x9c\x4a\x85\xfa\x5a\xf6\x9a\x73\xda\xbe\x5e\x39\x95\x45\xeb\xca\xa9\x9c\xde\x86\xa4\xa4\x23\xfc\x9d\xbd\x62\x7d\xcd\x65\x40\xd3\x5b\x3e\xaa\x03\x5c\x37\x81\xf0\x28\xcf\x6e\xd3\x02\xb2\x0c\x57\x2f\x00\x20\xf9\x18\xd6\x12\xf4\xea\x88\x8d\x6a\x5d\xf2\xed\x45\x7d\x81\xdf\x5d\x10\x47\xed\x2f\xf6\x83\xc4\x84\x35\xb9\x7d\x9f\x68\xaa\x73\xc5\x1a\x1e\xb6\x46\xaa\x21\x30\x8c\xeb\x5b\xcb\xae\xac\xfc\x22\x4a\xe4\xd2\xc3\x95\x55\xcb\x81\x21\xf0\x40\xe6\x0c\x63\x99\xcb\x6e\xf8\x09\x73\xb9\x05\xac\x0b\x21\x42\xac\xb7\xda\xf7\xbf\xc7\x1a\x35\x77\xd7\x0f\xbf\xde\xa3\xba\x79\xdc\x08\x82\xd0\xed\xb7\x40\xfe\x90\xff\x6e\xf7\x1b\xaa\xb4\x96\xac\x63\x43\xdc\x98\xf5\x74\x34\x80\x34\x86\x5d\xb9\x50\xb1\x17\x7d\xd0\x09\xde\x9a\x77\x6a\x0d\xab\xb4\xf0\x12\xd6\x54\xc3\x1e\xcf\x89\xa2\x73\xb0\x64\xaf\x2f\x61\xc6\x0c\x97\x97\xb5\x96\x9b\x95\x86\x5b\xab\x38\x1c\xb5\xcc\xa1\x24\x51\x19\xa2\x53\x95\x4d\x47\x25\x8e\xb9\x28\x36\xf4\xdd\x5d\x90\x90\xb2\x78\x2d\x97\xb3\x15\xd2\x5a\x1c\xf0\x81\x08\x08\x53\xd5\x07\x4b\x0b\x88\xa9\xd2\xb9\x77\xf0\x12\x17\xd6\x7d\xa7\x58\x55\xd1\xc4\xd8\x25\xd4\x6b\x18\x0f\x9f\x06\xeb\xca\x29\x44\x02\xbf\x72\x0a\x57\xcc\x95\x53\x55\xaf\xea\x5c\x39\x75\x05\x66\xe5\xd8\x8b\x24\x41\x12\x1f\x0c\xa8\x09\x4d\x55\x52\xa4\x58\xfd\xfd\xce\xe6\x73\x2b\xcc\xbb\x12\x5c\x98\x75\x70\x5a\xa2\x1e\x0d\xc0\xfc\x52\xf1\x5d\x0c\x5c\x0e\x3f\x50\xe0\xe5\x00\xde\x91\xe4\x6e\xf1\x7b\xb6\x11\x70\x85\x67\x92\x4d\x83\x35\x2a\xb0\xf0\x33\xfa\x76\xa2\x3d\x1a\xa0\xfc\xa2\x5e\xf4\x43\xba\xf8\x83\xe4\x8e\x7e\xf6\x23\x49\xac\x57\xf3\x31\x32\x35\x65\xcd\x8c\x4d\x5f\x1e\x07\x8d\x45\xaa\x2e\xfd\xeb\x48\x1a\xb5\x1e\xf6\xe4\x2a\xde\x8e\xc9\x41\x27\xd4\xeb\x7e\x76\x84\x88\xa1\x3e\xcd\xb4\x7a\xb5\xb0\x22\xdd\x48\xca\xbc\x13\xe9\x51\x8a\xdc\xeb\x43\xe7\x4e\x74\xd9\x05\x7d\xeb\xff\xf2\x0b\x7b\xd1\xf3\x0e\xa4\xcd\x43\x2f\x18\xed\xcb\x68\xf7\x6a\xd1\xbc\x76\x69\x7c\xe2\xec\xd4\x08\x2c\x45\x6c\x75\xc8\xba\x38\xf6\x2f\x57\xa3\xdf\xf5\x6f\xe5\x44\xe9\xe0\xfa\x49\x52\xef\x55\x3f\xa5\xcc\x3a\xd1\xad\x11\x9a\x05\xfa\xb5\x31\x14\x51\x5c\xed\xcf\x82\xeb\xad\x00\x9e\x18\x79\x6d\x6c\x62\xc8\x9a\x9a\x9e\xbc\x3c\x7e\x76\x6c\x9a\xe6\x63\x76\xf2\x97\x63\x7d\x3c\x4d\x62\x24\x87\x98\x5e\xdf\x3a\x74\x42\xdd\xe8\xd5\x02\x9a\x9c\x3e\x1f\x39\xd3\xfb\xc2\x3b\x10\xc1\xf8\x9a\xde\x2e\xa5\x38\xe7\xfd\x1a\xf8\x7e\x31\x2f\x04\xee\x3f\x5f\x9a\x9c\x1d\xe9\x2b\xf7\x81\x74\x25\x52\xbd\x5a\x38\xd3\x63\x53\x93\xa1\xba\x71\x69\x7a\xa2\x7f\x7d\x08\x48\x61\x27\x80\x52\xaf\x26\x61\x66\x6c\xf4\xd2\xf4\xf8\xec\x1b\x57\xcf\x4f\x4f\x5e\x9a\xa2\x7e\x4c\x8d\x80\x6a\x36\x3b\x79\x15\xcd\x4a\x57\xa7\x2f\x4d\x8c\xcd\x5c\x3d\x37\x3e\xd1\xc7\x23\x22\xca\x03\x76\x50\xc3\x42\x7f\x3a\x3d\x14\x6c\xa3\x19\x38\x72\x4f\xac\x9f\x44\x76\x88\x69\xf6\x6a\x41\xca\x23\xf6\xb5\x69\x90\xef\xd3\xac\xc9\x44\xbf\xeb\x67\xef\xf2\x68\xf7\xab\x97\x97\xe0\x0b\x16\x24\x53\x23\x33\x33\xff\x32\x39\x7d\x76\xa8\xbf\x9b\xd1\x90\x81\xde\x2d\xd7\x98\xb2\x26\xbf\xf8\xe5\xd8\x1b\xfd\xef\x64\x1a\xd5\x5e\xcf\x64\xa8\x86\xc2\x2e\x54\x17\x4e\xff\xf5\xd3\x38\x25\x3c\xe7\xd2\x38\xe8\x6b\x97\x5f\xc8\x84\x62\x4f\xfb\x31\xa7\x93\x97\xa6\x47\xc7\x4a\x68\x89\x99\x1d\x99\x3e\x3f\x36\x4b\x1f\xfb\xd7\xab\x34\x72\x3d\xdb\x79\x7c\x20\x9c\x80\x86\x45\x94\x7a\xaf\x63\x85\x1d\xe8\xb3\x8e\x15\xf0\xdf\x53\x05\x8b\x5a\x2d\x85\x06\x1d\xfa\x93\x28\x94\xfa\x7b\x2d\x0f\x09\xd3\xcd\x35\x46\xb7\xa7\xb3\xc3\x0a\x24\x89\x9c\xf0\xcf\xfe\x76\x2c\x8d\x64\x1f\xfa\xd4\x2f\xfb\x4f\xef\x99\x0e\x0f\x70\xd2\xc9\xa6\x27\xfb\xa9\xee\xa6\x10\xeb\x53\x3f\x68\xa0\x4e\xb8\x3b\x0a\xcd\x5e\xf5\xaa\x1f\x66\x9d\x5e\x49\x28\x04\x70\x21\xc7\x49\xbf\x16\x3b\x62\x34\x85\xc1\x68\x3d\x62\xf9\x2a\xb2\x3c\x24\x42\xb3\xae\xc6\xf9\xef\xed\xfa\x48\x25\xd7\xb3\xbe\xf4\x9c\xe5\x5e\x2d\x8c\x00\x26\x4b\x74\x9e\x50\x29\xf1\x10\xab\x89\x2a\x34\xfd\x1b\xf1\x38\x69\x86\xa9\x1c\x12\x05\x29\x7a\xd5\xc1\x25\xcf\x6f\x50\x87\x44\x21\xf8\xbe\x75\x27\x88\xcf\x42\xf5\x42\x89\xfe\xeb\xcd\x0a\xf2\x2a\x65\x65\x13\x43\x77\xaa\xce\xf5\xd4\x5d\xdd\xdb\x4e\xa1\x33\x7f\xa7\xa5\xec\x6e\x0a\x9c\xbb\xb1\xde\x87\xfd\x8e\x3d\xc4\x50\x68\x5e\x0c\xd8\x3d\xf9\x57\xff\xbb\x27\xe0\xfe\xa9\x3f\x43\xdc\x3f\xf5\xab\x9e\x75\xb1\xbe\x78\x92\x22\x2d\x95\x5c\xaf\xfa\x22\x32\x8f\x86\x22\x49\x63\x43\x49\xfc\x9c\xfe\xcd\x5d\x98\xad\x1d\x4f\x25\x1b\xd2\xc0\xea\xf4\x4a\xa6\x70\x22\x4a\x7f\xcf\x53\xca\x9a\xe8\xf1\xfa\x5b\x79\x45\xda\x0b\xf0\x63\xe0\x08\xc1\xcf\x13\x23\x17\xad\x95\x57\xc3\x9f\x5f\xe5\xaf\xfa\x36\x7b\x85\x59\x39\xd6\x18\xe8\x60\x4c\x33\xf9\xd6\x60\x9a\x86\x4d\x4b\x44\xf8\x65\xbb\x71\x26\x2c\x75\x87\xc6\x60\x84\x85\xc6\x4a\x7c\x57\x1a\xf0\xff\xd5\xcb\x18\xe1\x28\x9e\x66\x24\x68\x7b\xb9\x46\xa5\x7f\xdf\xbc\x52\x85\xd6\xf1\x3f\x16\xc6\x53\xd5\xbd\x86\x37\xef\x55\xae\x9c\xc2\xe0\xc8\xc6\x7c\xed\xca\xa9\x21\xf9\x5b\x99\x8a\x97\x12\xe3\xfc\xf3\x2b\x2f\x0f\xbf\xfa\x8b\x5f\x0c\xbf\x32\xfc\xca\x7f\x55\x1e\xc3\x90\x2c\x9f\x1f\xf8\xf9\xcf\x5f\xfe\xc7\x2b\xa7\xf0\x07\x60\xe4\x57\x05\x06\x80\x40\xd3\x8f\xb6\x36\x3b\xb7\xee\x9f\x11\x01\x70\x9a\x8e\xc9\xb7\x0f\xc4\x3b\x22\x27\x61\x6b\xfd\x64\xbb\xa6\x99\x26\xc6\x61\x1e\x9d\x18\x17\x18\x4f\x9a\x21\xc0\x07\x52\x90\x96\x33\x5b\x55\xea\xfb\xc3\xc0\x4c\xd1\x27\xae\xaa\x9d\x99\xa6\xa3\x3e\x98\x8a\xee\x9c\x95\x7e\x23\x81\xc0\x74\x33\xa9\xc8\xb9\xec\x06\xac\x0b\xce\xb2\x57\x5f\x35\x68\x07\x93\x3d\x10\x78\xeb\x2f\xbb\x39\x2d\xca\x08\x44\xdb\xaa\x7a\xd5\x52\xd5\x59\x84\xe6\x56\x1c\x59\x12\xca\x80\x12\xe5\x1e\xdd\xdf\x10\x8a\x6d\x67\xb3\xd5\xbe\xb5\x21\xeb\x42\xdd\xdd\xe5\x60\x42\x6d\x7c\x2e\x45\x10\xf3\x12\x4c\xab\xf6\xac\x8d\x7c\x57\x4b\xf9\xea\xf6\x01\xc7\x09\x67\x53\x9e\x16\xa5\x37\xf0\xdf\x8c\x02\x15\x29\xa2\x86\x6a\x6a\x28\xaf\x66\x92\x99\x99\x99\xb0\x46\x9d\x3a\x03\xad\x63\x86\x1e\x56\xf1\xa3\x9a\x16\xb3\x6e\xed\x82\xe3\xa3\xa0\xcb\xca\x75\xa3\xe7\x39\x47\x28\xc9\x0a\x36\xce\x29\xfc\x30\x1c\xc9\x46\x33\x19\x43\x35\x14\x77\xe7\x19\x01\xbf\x39\x05\x9f\x91\xb3\x11\xf1\xbd\xba\x3c\xa8\xa4\x55\x91\x21\xc2\x7a\xf0\x1f\xee\x82\x5a\x1d\x6f\x3d\xfc\x85\x16\x0f\xd7\xb4\x32\x5c\x2b\x5c\x58\xb1\x97\x8b\x45\x29\xb5\x68\xb0\x62\x4c\x6a\x81\xa7\x0d\x86\x8a\xb1\x70\x46\x83\x34\x25\x69\x10\xea\xf8\x62\x53\x80\xc0\x83\x00\x5e\x71\xcb\x22\xe5\xa9\x34\x4f\x41\xd7\xc3\xd6\x54\xc5\xb1\xa1\xff\xe2\x47\x98\x1f\x65\x2b\x79\x73\xbf\xc1\x43\x0e\x8b\xe7\xdb\xc4\xad\xcc\x7a\x83\x86\x1b\xa0\x4d\x12\x6c\x74\xf2\x05\x9d\xf8\x03\x9a\x41\x4c\xb4\x6e\x11\x1e\x3e\xdb\xc5\x72\x28\x88\xba\xbf\xb3\x7d\xf8\xf4\x19\x07\xa3\x2b\xd5\x0d\x62\x07\x0e\x26\xbb\x1d\x6c\x74\x76\xee\x53\xd5\x6b\x0e\x43\xce\x78\x84\xc0\xde\x45\xc2\x1d\xa7\xd4\x08\x3c\xd8\x2d\x71\xf7\xe4\x00\x6d\xa4\x6c\x50\x0a\x41\x8e\x73\x90\xf3\x47\x29\xbe\x88\x20\xc8\x29\xb0\x03\x56\x49\x9e\x11\xf4\x48\xd9\x03\x0d\x0c\xc3\xda\xa9\x10\x84\x66\x94\x62\x4d\x64\x2d\x38\x99\x18\x08\x64\xa2\xa9\x3b\xf2\x07\x92\xa4\x19\xa5\x47\x83\x0e\xb8\xfe\x35\x4e\x55\xa7\x2d\x76\x16\xfe\x14\x19\xf0\x45\x4b\xf0\xa4\x70\x79\xe7\x0e\xca\xf8\x77\x76\xc3\xec\x75\x53\x22\xc7\xe4\xb9\x5f\x6c\xe6\x71\xc6\xa8\xbf\x25\x42\xfd\x2d\x11\xea\x6f\xcd\xae\xdb\xcb\xd4\x1c\xff\x36\x8a\x3f\x71\x51\xbd\x02\x2c\x26\xdb\x6d\x3f\x82\x0b\xcd\x36\x63\x5e\x6b\x9a\xcf\xe4\x34\xb8\xa2\xcd\x7b\xcd\x2a\x0b\x6f\x79\xa0\xfb\xa3\xf8\x15\x76\x7a\x3c\xf2\x90\x22\xc9\xd9\x3e\x94\x7f\xc8\x6b\xc4\x58\xa0\x62\x40\x17\x24\xff\x49\xea\x29\x4f\xd2\x1e\xff\xe4\x23\x01\xef\xab\xea\x07\x79\x81\xa0\xb1\x5e\x2f\x93\x16\x64\x55\xdc\x65\x97\x3b\xcf\x6a\xd1\x04\xfe\xdd\xe5\x32\x4a\xd7\x9d\x80\x35\x10\x29\xad\x4c\x1a\x46\x2c\x47\x06\x29\x32\x39\x3d\x9f\x96\x04\xa9\x84\xb2\xd6\x83\x29\xc8\xef\x4f\x05\x81\x97\x1a\x4b\x76\x55\x7d\x52\xac\x8e\x7e\xf5\x2c\x49\xc9\x6a\xff\xfb\x41\xfb\xd1\x46\x5a\x62\x4b\x76\x47\xe9\xca\x97\x9b\x13\xae\x53\x3d\x03\x41\x4e\x03\xfd\xd9\x6d\x38\x3b\x85\x6d\x34\x9b\xaa\xcc\x84\x1a\xb6\xc2\x52\xbd\xf0\xa5\xbe\x82\x75\x92\xfe\x85\xa0\x89\xf6\xa3\x67\x94\xb3\x67\x5a\xd6\x34\x60\x22\x65\x77\x1d\x67\x6b\xe9\x76\x53\xc1\xad\xd4\x87\x4d\xdf\xbb\x7d\xae\x61\xae\x27\xe7\xb0\x9e\xc9\x2e\x4f\x60\x2c\xe8\x42\xa5\x76\x82\xd3\x6d\x96\xbf\xe9\x56\x76\xaa\x75\xc7\x13\x47\x5b\x5a\xdb\x99\xec\x85\xe8\xfc\xa8\x52\x45\x0b\xe1\x0e\x30\x4e\x2a\xd5\x00\xbe\x6c\x57\xd4\x01\xd0\xb2\xfc\xdf\x92\xad\x68\xb5\xd8\xbd\x3f\x66\x12\xd0\xf1\xed\x36\xd8\xb2\x0f\xfb\x17\x2e\x5d\x8c\x0f\x32\x44\xdf\x38\x5c\xe5\x6f\x41\xd4\x29\xe3\x92\x0c\xa2\x8c\x18\xa1\xa0\xe8\x0d\x73\x01\x30\x49\x67\x7f\xbd\xbd\x81\x75\xbf\x3f\xb4\x0e\xf7\xd7\x60\x25\x0c\x89\xf4\x78\x4c\xcd\x4d\xa0\xf4\x8a\x82\xbb\xfc\xba\xde\xc8\xa6\xe1\xd9\x77\x2a\x78\x75\xc0\x1f\xe6\x41\x78\x2f\xb2\x71\x58\x74\x06\xab\x74\xfb\x35\x87\x4b\x24\xd1\x5a\xf7\xbb\x63\x5f\xc2\x86\xb5\x76\xd0\x52\x8a\xbf\xc0\x82\x01\x45\x9e\x3b\xf6\xcd\xb6\x58\xea\x64\x5b\xd9\xd9\xd4\x75\x62\xc2\x86\xa3\x66\x12\xe6\x95\x89\xa6\xf3\x81\xb5\x77\x1e\xad\xb5\x1f\xbd\x4f\x7e\x81\x07\x1f\x69\x9a\x72\xab\xcd\xb7\x4e\x5f\xb0\xe7\x35\xad\x84\xbf\x6b\x5e\x47\x4f\x55\xa5\x12\x14\xe3\x09\xeb\xdf\xf3\x2c\xeb\x98\xe3\x22\x12\xca\x1c\x0a\xac\x74\xac\x61\xf5\x2e\x1c\xce\xfb\x79\xf4\x56\x6c\xb7\x42\x2b\x4c\xdc\x57\xe6\x39\x3d\x57\x57\x97\x89\x67\x05\x81\x63\x60\x8d\x10\x2a\x32\x13\x4c\x41\x10\xe8\x8e\x01\xea\x3d\xe3\x41\x60\xf2\xaf\x82\xca\x0e\x0b\x1f\x7d\x78\xf8\x4e\xb9\xac\xfe\xe4\x6a\xcb\xf7\x29\xab\x5c\x42\xb7\x07\x77\xc5\x6f\xee\x60\x27\x6e\x87\x35\x94\x62\xe0\xee\x66\x3d\x35\xe9\x62\x58\x8e\x48\x37\x8b\xdc\x72\x58\x90\xc8\xa8\x59\xc4\xf4\xcf\x6e\x50\x38\xb2\x8c\x5a\x13\xd0\xda\x62\xe9\xcd\x33\xa8\x90\xc0\x59\x12\x30\x2a\xf2\x4b\x15\xf9\x53\x8b\xdd\xd2\xea\x3c\xd8\x95\xe8\x65\x62\xc8\xe5\x97\x21\xb0\xb6\xe8\x77\x50\x25\xd7\x88\xd3\x18\x24\x75\xce\x98\x46\x20\xa7\x0d\xdb\x8f\xba\xb1\x7a\xb2\x1f\xd3\x4b\x3d\x98\xf1\x13\xa0\xb7\xd9\x04\x18\xa5\x5b\xeb\xf1\x61\x95\x83\x6f\x44\x83\x91\xc5\x06\x6d\xe1\xdf\x72\xb1\xdc\x7c\xad\xee\x94\x70\xed\x72\x5e\xbd\xe5\xaf\xfa\x0d\x67\x79\x48\x00\x26\x91\x09\x08\xf8\x61\xe9\x89\xe0\x64\xe2\x67\x50\xd9\x1b\x98\xc5\x6f\xd5\x9b\x54\x50\x4d\x0b\xab\x23\xd9\x64\x6f\x17\xb3\x39\x28\x11\xc3\xd6\x64\xaa\x3d\xd7\xbd\x0b\x92\xe6\xa9\x6c\xa5\xd5\xf9\x74\x1f\x7a\x67\x75\x9e\x20\xf4\x0b\x5a\x6e\xd0\x04\xf7\xf9\xbf\x53\x4d\x14\xd8\xb6\x3b\x2d\xb1\x97\x08\xdb\x44\x78\x26\x6e\x6d\x63\xdb\x37\xb7\x35\x10\x3c\xc1\x50\xe0\x4c\xb3\x80\x11\x12\xd1\x44\xce\xc4\x85\x49\xd4\xc0\x1f\xca\x1e\x93\xb9\x08\x40\x70\xc4\x61\x1f\x2e\x01\x6f\xa1\x9b\x3d\x18\x16\x10\x53\xd7\x85\x0a\x6c\xdf\xd5\x36\x0c\x30\xcc\x08\x79\xa3\xc0\xb2\x0c\xce\xf5\x7c\x32\xc1\xd9\xe0\x2d\x2c\x38\xa8\x51\x05\x04\x15\x9c\xcf\x8c\x73\x3b\x51\x33\x2f\x29\xd5\x3b\x5b\x0f\x8f\xfe\xf0\xbc\x6d\x24\x26\x03\x76\x58\x2c\xca\xfa\xce\x02\xeb\xd1\xf4\xc4\x14\xfb\x12\x4d\xd6\x9f\xdd\x56\xd0\x27\x0b\xd0\x6f\xa2\x69\xbe\x28\x59\xfe\xa2\x00\x3d\xa5\xc6\x9d\x22\xfe\xf4\x53\x2d\x85\x5f\x38\xe3\x41\x95\xff\x5c\x5a\x41\x11\x1e\x3b\x21\x7f\x33\xcc\xf2\x49\x91\x2a\x8a\xe4\xe4\x13\x8c\xd4\x15\xd1\x75\x28\x5e\x44\x3e\xb7\xd5\x78\xb9\x04\x31\x74\xa8\xf7\xc2\xe6\x8d\xff\x4a\x15\xc5\x9b\xd5\xaa\xa8\xc2\x58\x71\xb9\x54\xaa\x76\x4a\x49\x14\x82\x60\xdc\xc1\x55\xfd\x97\x5d\x46\xd8\xe9\xdc\xdc\xa2\xcd\x1d\x39\xe8\x3a\xad\x03\x09\x55\x56\xec\x00\xd4\x75\x40\x54\xab\xc6\x8e\x88\xa2\x70\xb9\xdc\xa6\xb2\x49\x32\x98\xcc\x29\x8f\x36\x8f\xc3\x65\x04\x9e\xdb\x67\x58\x45\x2d\x27\x49\x28\x6d\x71\x31\x28\x40\x29\x84\xcf\x36\x5a\x8f\x81\xab\xc6\x9c\x84\xc0\xbe\xce\x6d\x3e\xc0\xb3\xce\x6d\x1a\x67\x4c\x78\xad\xe1\x38\x63\x0f\xb4\xaf\xf7\x52\xeb\xf0\xc0\x88\x4a\xa6\x7f\x7a\x02\x6b\x5f\xb3\xbf\x0f\x56\xc7\x75\xbb\x5e\x96\x2a\x3c\xaf\x91\x61\x6b\x76\x09\x54\x0a\x74\x3c\x91\x6a\x30\x87\xd5\x99\x17\xdc\x2a\x70\xb5\xec\x51\xa1\x6c\x54\x25\x60\xaf\x6b\x4b\x9d\x50\xf5\x6b\xe1\xf3\x83\x03\xb5\xd5\xbe\xb5\x4b\x6b\xe9\x7f\xde\xc3\xc8\x92\xfd\xd0\xbf\x44\xda\xc0\x47\xb0\xa2\x9e\xac\x53\x88\x17\x0a\xa4\x9d\x4d\x58\x7a\x8a\x0a\x91\x67\xc8\x82\xee\x5c\xa3\x65\x1f\x68\xee\x54\x65\xbf\x4e\x85\x22\xad\x66\xad\x6c\x37\xf4\xaa\xc0\xdd\x9b\xc2\x78\xf7\xc1\x41\x58\x57\x18\x25\xe1\xe7\xf7\x15\x0d\xbf\xf3\x60\xe7\xf0\x60\x5d\x47\x9e\x11\x42\x2d\x6d\xdc\x82\x72\x86\x7e\xbe\xcd\xd3\x94\xd3\x94\xa7\xc7\xc5\x8a\xb7\xb5\xd9\xea\x7c\x76\x43\xdb\xdc\x22\xcc\x99\x83\xd6\x0c\x5f\x17\x58\xc3\xcd\xb0\x69\xe1\x61\xfb\x0b\x5d\x7d\x60\x6c\x8b\x20\xae\x9a\x8d\x8c\x12\x37\x0a\x4b\x39\x2b\x70\x71\xb1\x8e\xb1\x07\x20\x9c\x9c\x6a\xb9\xe6\xb9\xe8\xb1\x10\x28\x5a\xe4\xa1\x63\x9f\x68\x16\xcc\x1c\xbb\x20\xa3\xb8\x4f\x6a\xbb\x9d\xbb\x77\x70\xf6\x3e\xdc\xc5\x7a\xe9\xa8\x26\x11\x6a\x96\x8e\x1f\xef\x1a\x21\xbd\xd6\xc8\x08\x85\x54\x39\xf6\x63\x20\x59\x6d\x2c\xea\xf7\x33\xf3\x0e\x26\xae\xab\x71\x2a\x87\x4f\xe0\x30\xd6\xd4\x8b\xbe\x30\x72\x71\xfc\xdc\xd8\xcc\xec\x55\x4c\x62\xd5\x61\xee\x45\x9e\x49\x6f\x26\x0b\x03\x30\x27\x7c\xe4\x02\x16\xc9\xb7\x61\x52\x6a\xab\xb2\x80\xb7\x50\xa6\xe6\xbd\xb2\xf0\xca\x63\xed\x68\xe5\xa0\x21\x37\x74\xd5\x83\x7d\x59\x1f\xb6\xac\x4b\x55\x72\x10\x78\x2b\xb0\x18\x5d\x50\xd7\xab\x43\x7c\x47\x85\x06\x4b\x41\x4b\x8c\x34\x76\xdd\xa5\x62\x73\x5c\x2d\x9c\xd4\xfb\xb0\x51\xdd\xc2\x23\x8d\x29\x79\x82\x89\xaa\xcb\xb7\x1e\xa2\x93\x39\xe5\xf7\xed\xe7\x41\x40\x3c\xcc\x0c\x9e\x05\xdf\xe3\x9a\x21\xa1\xf4\xf4\x19\x6c\xb5\xd0\x7d\x40\x05\x40\x9f\xec\xa3\x9f\x5b\xc8\x08\xbc\x22\x03\x59\xb5\x0b\x6c\x49\xe1\xeb\x50\xf2\x38\x6d\x45\xeb\x94\xe7\xb9\x26\xc4\x98\xa3\x3c\x28\x05\x31\x01\xc9\xa0\xcd\x40\xcb\x84\xf1\x1e\x3d\x47\x57\xb8\x7c\x13\x1d\x79\xce\x35\xd7\x5c\xec\x3d\x34\x94\xac\x51\x2b\x2e\x74\x2c\x1b\xf9\x44\xce\xe0\x9c\x04\x32\x9d\x91\x03\x7e\x24\xf2\x14\x56\x41\xb5\xb2\x6a\xad\xb8\xbe\x8b\x6c\x23\xb6\x68\x44\x65\xc5\x5e\x66\xdd\xd9\xd3\xeb\xc3\xb0\x89\x91\xe0\x75\x63\x97\xfa\xf6\xa3\x0d\x51\x38\x1e\xe1\x39\x4d\xb8\x57\xe0\xe9\xac\xf9\xba\x63\x13\x4b\x4d\x52\x5e\x16\x9a\x15\xe0\x1d\xae\xcc\x66\xd8\x97\x14\x20\xf1\xe0\x23\x90\x53\x24\x60\xc9\x25\xa4\x09\x06\x89\x92\x75\x39\x00\x61\xc1\x6b\x56\xcb\x71\x2b\x4f\xd9\xc5\x98\x46\x90\x45\x43\x30\x9e\x91\xa8\x10\xc7\xc5\xed\x26\x4a\xa3\x73\xd4\x2b\x08\x42\xe9\x65\x32\x65\xb9\x25\x4d\x3f\xed\x3b\x77\xda\x3b\xef\x83\x62\x84\xeb\x58\x98\xd9\xf6\xfe\x46\xd7\xfc\x38\x22\x9e\x12\x65\x2e\xed\x47\xb2\xdd\x42\xa1\x1a\x17\xec\x1a\xac\xf9\xd9\xd1\x6c\x40\x56\xfc\x5d\xb9\xff\x3e\x82\x96\x35\x86\x5e\x6a\xaf\x5a\x14\xe2\x35\xb7\x49\xbe\xf4\x7b\xf2\xd2\x85\x7b\xaf\x81\x2a\x53\x46\x45\x7a\x5c\x09\xbc\xa5\xda\x7f\x7e\x4c\x34\xc2\xeb\x56\x26\xb5\xb7\xac\xeb\xb6\xdb\xe0\xb2\xfc\xb2\xc2\x73\xb0\xfd\x49\x4a\x36\x6b\x68\xe6\x81\xf3\xb3\xda\xcc\xd0\x74\x9e\x6d\xa3\x59\x9e\xe7\x49\x31\x6a\x91\x09\x67\x8d\x14\xfb\x9b\xb8\x77\x28\x30\x8a\x7c\x3b\x83\xed\x6f\x5a\x1a\xf3\x4b\x92\xab\x50\xf7\x12\x97\x0f\x73\x96\x14\x35\x4b\xbd\x6e\x14\xe0\xc5\x5d\x6e\x2e\x5b\xf6\x32\xc5\x3d\xc0\xf1\x24\xbc\x73\xbc\x0d\x82\xf3\x28\x0c\xa2\x80\x1f\x96\xec\x15\x09\x6e\xfd\xca\xcb\xaf\xfe\xe2\xc2\x90\xf5\xca\x79\xf8\xdf\xcb\xe7\x75\xe6\xaf\xa4\x40\x8f\x5e\x64\x51\x54\x82\xaa\x2a\xf7\x86\x30\x7c\x89\x0e\x86\x2e\xbd\x77\x76\xa1\x4f\x0c\x8d\x1d\xa7\x7b\x12\x9d\x1b\xb6\x4a\xaf\xa0\x32\x03\xc7\x2b\x15\x51\x87\x87\x9b\x55\xf2\xec\xa0\xeb\x99\x68\x68\xaf\x1b\xfd\x1e\x00\x25\xf8\xbc\xf4\x0a\x79\x42\x77\x19\x2a\x7a\x5b\xbc\x45\xc7\xf2\xbb\x5b\xb0\x5a\xdb\x37\x6e\xe6\x1c\x9d\x27\x3e\x6a\xd6\xe0\x59\x67\xc1\x6e\x56\x1a\x67\xc2\xdf\x5e\xd8\x5a\xea\x66\x28\x07\xf1\xeb\xa7\x07\xe4\x12\x0d\x1e\x7f\x29\x67\x80\x39\x48\x14\x07\x58\x98\x40\xc9\x9c\xbc\x6c\xaf\xe2\x9d\x51\x1e\x9d\x84\x1e\x8e\x63\x57\x5f\x41\x33\x2d\x06\x87\x6b\x06\xa6\x3f\xc4\x94\xa9\x79\x59\x37\x25\xd9\x94\x49\xca\x0d\xa2\xa7\xcb\x81\x7b\x49\xd9\x7f\x89\x44\x1e\x86\xa3\x83\xe0\x27\x39\x18\xb3\xb2\xb0\x5c\x1e\xb2\x48\xfd\x15\xf1\xaa\x96\x8f\x47\xb4\x70\xc6\xfb\xc4\x37\xbe\xa1\x8b\xee\x86\xd6\x39\xc0\x3a\xa9\x48\xee\x0b\x0d\x32\xd4\x67\x58\x56\x8a\x58\x49\x29\xe9\x59\x70\x76\xf6\xd7\xd5\xf5\x20\x95\x61\x8a\x92\xb5\x3a\x07\x9f\x47\xdc\xf9\x1c\xd0\xf9\x0e\x41\x99\x1b\xdf\xbf\x2f\x28\xc1\x10\x62\x03\xbd\xfa\x0f\xff\x88\xcb\x51\xae\x4a\xad\x4f\x21\x16\xeb\xc0\x8b\x39\xf1\xb2\x86\x2a\x45\x3c\x8b\xf0\x88\xec\x90\x6a\x3c\x67\x61\xc4\x1e\xad\xc5\x9e\x4e\x6f\xd8\x5d\xac\xc3\x52\x4a\x71\x2c\x05\xd7\x9c\x48\xf5\xad\xf0\x9e\x93\x75\x39\x89\x2b\xaa\xd1\xab\x49\xfc\x57\x71\x31\xd1\xb8\xa1\x1e\xa1\x85\x1c\x2f\xed\x6c\x2a\xbf\xa9\x89\x32\xca\x28\xbc\x91\x85\x4b\x8f\xaf\x69\xb3\x70\xe8\x3d\x8d\x89\x00\xd3\xff\x33\x68\x06\x3f\xa7\xbf\x7c\xe9\x42\x80\x23\xa2\x43\xc0\x8f\x3e\x93\xde\x0c\xe8\xbc\xdd\xf4\x99\x54\x65\xb8\xd8\x82\xe8\x58\x74\xfd\x86\x53\x8f\x38\xb3\x75\xcb\xea\xe3\xaf\x61\xf3\x45\xfd\xd5\xc7\xa0\x82\xd0\xd9\x75\xbe\x38\x85\x1e\x75\xe1\xd5\x02\xdd\xb2\xe2\xcd\xa3\x84\xcb\xf5\x9d\x47\x0b\xad\xef\x8b\x5b\x07\x79\x8e\x8a\xf2\xeb\x5c\xb7\xa6\x04\x7c\xaf\x8e\xec\x8d\x75\xf2\xe6\xed\xad\xb5\x9f\xac\x1f\x6d\x69\xec\x5a\xd8\x50\x35\x63\x66\x6e\xac\x67\xf3\xe1\x59\x7f\xef\xf3\x5d\x48\xd3\xc2\xdf\xfb\x70\x5a\x0e\xc2\xa9\xf6\x52\xfc\x86\xa2\x0b\xa9\x86\x36\x47\xa6\xc6\x43\xe3\x93\xef\xc0\x19\x7e\x09\xee\x52\x68\x99\x99\xf0\x60\xcc\x67\xdd\x1a\x5a\x66\x44\x5c\x12\x3c\x2c\xbe\x40\x5d\x9f\x7d\x2b\xb0\xf9\xe5\xfb\x3a\xad\x09\x69\xc4\x0c\x51\x24\xd5\xe9\xfe\x19\x1a\x13\x22\xe8\xec\xf1\x17\xe8\xb0\x16\x97\x5a\x59\x26\xa3\xbd\xf3\xb0\xfd\xe5\x7e\x82\x59\x71\xf5\x8a\x30\x1c\x8e\x8c\xb8\xca\xe7\x5e\xc2\x60\x6c\xec\x79\xb6\xe1\xc0\x4d\xbe\x3a\x6c\x59\x6f\x78\x4d\x8e\xf4\x2c\xbb\x3e\x19\x1b\x84\x29\x1f\x65\x5f\xa5\x22\xaf\xf5\x0b\xc9\x02\x88\x52\x52\x4a\xd7\x28\x46\x41\x50\x6c\x51\x03\x61\xe2\x41\xd0\xc2\xd0\x2b\x55\x3b\x83\x47\x04\xc4\x3c\xee\x85\x48\xf9\x3a\xf8\x51\xab\xa0\x7e\xbe\x27\x92\xd1\x61\xee\x8f\x3e\x79\x5f\x37\xba\x91\x68\x8b\x48\xf4\x88\xc8\xf0\xc9\xa8\x84\xa8\xf8\x8b\x49\x86\x4b\x9f\x6c\xa4\xe8\xa7\x70\xdd\x75\x36\xd7\x8f\x36\x1f\x07\xa2\xfc\x21\x4d\x1c\x6c\xcf\xcf\x5a\x69\x15\xf9\xc8\xfa\x7d\xef\x40\x75\xfc\x06\x8e\xb9\x48\xeb\xed\x6f\xd6\x3a\x77\x77\xb1\x8c\x8a\x41\x78\x6b\xa1\x99\x14\x83\x3d\x05\x93\x29\x58\xa3\xf3\xed\x3f\xc1\xb4\x46\x7b\xfd\xa3\x9a\xdd\x9a\xab\x91\x61\xd2\xf2\x8c\xf5\x7a\xa2\xb2\xaa\xcf\xa2\x4a\x0e\x86\x2a\xa3\x64\x1c\x66\x57\xa2\xa8\x56\x23\x9b\x98\x1f\x5a\xc3\x28\x50\x94\x2d\xe7\x19\xf6\x77\xf1\x84\x5c\x0b\x9b\x5f\x2b\x16\x2e\xf3\x53\x82\x2b\x57\x64\x9c\x3d\x32\xf2\xc5\xbc\x45\x59\x39\x44\x16\xb7\xca\xc8\xba\x8c\xc2\x87\x04\x73\x90\xd1\x7a\x18\xbe\x96\xc9\x75\x60\x74\x29\xc6\x3b\x07\x89\xfa\xd6\x75\x87\x8a\x01\x95\xb5\x56\x5a\x8a\xef\x24\x0b\xfa\x57\xa4\x84\x64\x37\x2b\x63\x17\x32\x39\x0e\x81\x3a\x8a\x70\x4c\x5e\x40\x3f\xb0\x9c\x71\x66\x22\xaf\x47\x7d\x02\x66\xf0\x08\x19\x99\x41\x35\x79\xf2\x50\x6e\x87\x6c\x6a\x5c\x21\x25\x50\xdf\x86\xad\xb4\x31\xd3\x7a\x31\xa4\x57\x94\x08\x09\x85\x4e\x23\xed\x52\xc6\x37\xe7\x9a\x06\x9c\x20\x4c\x07\x05\xf6\x52\x40\x8c\x34\xb7\x0f\x51\x05\x22\xdc\x31\xa2\xd8\x4b\x42\xcb\x89\xbc\x97\x13\x4e\x12\xc6\x70\x92\x84\x23\x14\x12\x51\x7d\x71\x3f\x6e\x33\x0e\x9e\xe0\x97\xc9\x45\xa2\x57\x74\x42\xee\xba\x92\x23\xd8\x09\x2c\x22\xa7\xeb\xfb\x39\xae\xc0\x18\x52\x29\xd6\xd1\x30\xab\x31\xbd\xb3\xe9\x34\xba\xee\x49\xef\x3b\xf0\x22\x58\xd6\xaf\x37\xad\x8b\xd9\x94\x79\xf9\x7d\x9f\x97\x54\xce\xd9\x10\x30\x61\x2e\xb0\x22\xa1\x4e\xd9\x12\x31\x16\xf0\xd4\x05\x1d\x23\x02\xe2\x5c\x37\x6f\x59\x04\x49\x39\xd5\x15\x6b\xc5\xae\xbb\xa8\x67\xfa\x6c\x5f\x9d\x73\x30\x11\xc2\xd1\x46\x37\x70\xcc\xd4\xd1\xbd\x2d\x90\x6e\x16\x67\x95\xa4\x2a\x21\x06\xd4\xe3\xb1\x51\xb9\x54\x23\x51\x4d\xb4\xa0\x0a\x50\x35\x0c\x73\x8e\x86\x7d\x65\x0f\x63\xbc\xca\x7e\xe6\x42\x4b\xaf\x9f\x6f\x3e\x67\x92\xd8\x35\x67\x35\x52\x43\x3e\x30\x91\x87\x1a\xb4\xcc\xb9\xcb\x3c\x44\x35\xb6\x2b\x5d\x2b\x31\x67\xee\xbb\x0f\x0d\xce\x5a\x95\xe5\xb0\xdd\x5f\x3a\x22\xeb\x47\xa8\x8b\x3f\x84\xce\xa4\xb1\xd7\x85\xc1\x42\x76\x23\x0c\xaf\x35\x5b\x12\x41\xd0\x6c\x31\x01\x11\x96\xea\x37\xa1\x52\x70\xb9\xf5\xfe\x14\xee\xff\xb9\x5b\x4c\x6d\x2a\xa8\x2d\xe9\x74\xa4\xa0\x0c\x7b\xff\x8e\x31\x11\xaf\x6e\xfb\xbe\xbb\x58\xd5\x5f\x47\x42\x0e\xe3\xaa\x69\xde\x44\xe7\x2c\xa1\xa0\x8b\x05\xd6\x8f\x88\x70\xed\xe2\x88\x51\x7d\xcc\xc7\x3a\x68\xc2\x28\x5b\x55\xf4\x9b\x92\x3e\xde\x69\x43\xd9\x1b\x61\x58\x50\x37\x27\xad\x48\xb0\x90\xc1\x40\xc7\x1a\x0a\x0a\x52\x92\x31\xa2\x5d\x30\xa3\x44\x26\x6d\x52\x4c\xf8\x31\x98\x69\x58\x15\x8e\x7b\x74\xab\xa1\x35\x64\xf4\x1c\x99\x49\xa3\x3b\x15\x9e\xc3\x87\xb2\x83\x19\xef\x1f\x68\xef\x60\xf2\x81\xd8\x66\x8c\x93\xea\x66\x4f\x36\x9c\x33\x1c\x51\x82\x6e\x42\xb4\xdd\x59\xbe\xb7\xcc\xde\x43\xdd\x18\xee\x1d\x1c\x3e\xdd\x39\x63\xc9\x90\xa3\xbb\x37\x31\xf6\x09\xcb\x13\xdf\x7a\x48\x86\xfe\xc0\xc1\x77\xf8\xf5\x41\xfb\x2f\xfb\xa6\xde\xbd\x8b\x81\xd7\x35\x70\x84\x19\xa0\x44\x61\xeb\xe9\xed\x4d\xfe\x52\x77\xfb\xbd\xb7\xa9\x0d\x8c\x9d\x9c\x9a\x1d\x9f\xbc\xa8\xad\x8c\xbc\xf5\x4c\xeb\x04\xc3\x4a\x1c\x23\x67\x2f\x8c\x5f\xcc\xd4\xd0\x45\xa6\x6a\x46\x13\x97\xce\x8e\xcf\x4e\x4e\xe7\x34\xb2\x77\x1b\xa7\xf8\xc1\x6d\x7d\x3b\x17\x46\x2e\x8e\x9c\x1f\xcb\x6b\x87\x98\xc9\x6a\x47\x3b\x12\xd4\x80\xe6\xb5\x9c\xa4\x1f\xed\x5b\x22\x47\x8c\xb1\x84\x7c\x35\xb9\x44\xf1\x78\xe7\x9c\x73\xe9\x5e\x6c\x11\xd9\x90\x43\x3e\x62\x4f\xb5\x2b\x58\xc2\x7f\x95\xa1\x79\x74\x2b\x31\xc5\x02\x4b\xf4\xee\xef\xb7\xff\xfd\x80\x63\x2b\x34\xe2\x23\x41\x2f\x8a\x05\x44\x59\xad\xfc\x37\x9b\xb7\x31\x84\xb1\x20\x13\x77\xdf\x93\x35\x7b\xf1\xaf\xa4\x19\x58\xad\x38\xdb\x25\x9b\x19\xc0\x76\x1a\x96\xf2\xa4\x00\xbc\xa6\xf5\x09\x53\x3b\x1a\x9f\xf0\x64\x7e\xe2\x5b\xe6\xf4\x73\xbc\xb0\x13\x00\x5b\x95\x39\x92\x43\x86\x87\x07\xa1\x90\xba\x18\xf1\x00\x2c\x8a\xa3\x5b\x04\x6e\x55\x24\xb2\x91\x4a\x25\x53\x70\x6f\x41\x1e\x82\x14\xec\xee\x58\x89\x64\x6d\x1c\x87\x2f\x19\x2b\x0d\x22\x3a\x16\x2e\x4d\x91\xa3\xbc\x55\xe1\x50\x76\xeb\x5e\x95\xec\xce\xf6\x02\x1a\x18\x62\xb1\xd7\xb5\x8a\xa3\x8f\xd4\x53\x9f\xed\xdc\x6b\xb5\xff\xbc\x41\x9e\x0e\xb1\xbb\xf9\xb4\x0e\xec\xec\xa9\xf9\x4e\x6a\xe4\x73\x66\xb7\x32\x82\xdc\x79\x08\x35\xaf\x4d\x4e\xcf\xea\x0e\x16\x4a\x43\xd1\xbc\x66\xbb\xe5\x68\x74\xb2\x6e\x95\x6e\xef\x60\xaf\xe3\x91\x1a\xba\x56\x7d\x9f\xe1\x36\x60\x4c\xeb\xa8\x59\x33\x4e\x0c\x2c\x1e\x8e\x53\xc2\x10\x80\xd0\x48\x12\x4c\x8c\xd4\x9a\x58\x93\xd4\x66\x4a\x86\x88\x1b\xb8\x9c\xa8\x58\xbb\xf0\x43\x51\xa6\x0d\x2a\x18\x77\x77\xad\x34\x5b\x4a\x60\x79\xa0\x98\xe4\xee\x99\x57\xd4\xef\x3e\x31\xaf\xd5\xd2\x4d\xbb\x90\x11\xb4\x90\x1f\xb0\x20\x1b\xb0\x60\x8f\x05\x69\x51\xa1\x90\x5d\xb6\x1b\xf3\x4b\x06\x8d\x53\x5a\xc7\x5f\xee\xf3\xd9\xf3\x9c\xa2\x30\x72\x15\x58\xf4\x5a\x91\xd1\x02\xf7\x72\xc1\xb8\x65\x15\x16\x24\x6b\xaf\xa8\x24\xb2\x5a\xef\xae\xe5\x06\xfb\xec\x02\x81\x48\x80\x04\x88\x49\xf8\x3b\x97\x3d\x79\x52\x52\xa1\x4a\x41\xce\x99\x50\x72\xe5\x8a\x51\x82\xca\x50\xa4\x64\x60\x76\x8f\x7f\xdf\xf9\x8f\xc7\x47\x37\x6f\x77\x0e\x76\x50\xfc\x20\xe5\x20\x51\xa8\x48\x47\x22\x9d\x90\xfc\xeb\x66\x3e\x85\x2d\x85\x70\x80\x5d\x98\x4d\xd1\x30\x5a\xdf\xa8\x39\xb8\x96\x95\xb1\x4d\x38\x25\xaa\x0d\x77\x61\xb5\x9b\x35\x45\x76\x9d\x5b\xf7\xdb\x4f\x5b\x22\xbc\xb0\xfd\x87\x3d\x89\xbc\x7c\x5b\x56\xd4\xd7\xb3\xe1\xd4\x11\x76\x19\x45\x86\x8b\x47\x8c\x45\xa8\x78\x7c\x8a\x82\x74\x59\x86\x0b\x23\x86\x3d\x71\xda\x02\x73\x25\xf3\x1c\x2a\x52\xc9\xc3\xa1\x87\x5d\xa7\x1b\xf5\x5b\x8f\x3b\xeb\xdb\xb4\xd3\xde\xdd\x25\x66\x29\x4c\x40\xc8\x91\xa0\x1b\xe4\x46\x15\x29\xf6\xa4\x76\xd2\x3e\xbc\xbb\xdb\xfe\x06\xbe\xdf\xb8\x0d\xdd\xd3\x74\x00\x43\x20\x62\x4a\xa0\xdc\x3a\xba\xb0\x08\xbd\xf6\x95\x11\x83\x10\x26\xb0\x64\x29\x7e\xc4\x4e\xd8\x90\x12\xb5\x30\x6f\x57\x91\xc3\x39\x27\xd3\xd6\x92\xfa\xaa\x24\x6d\x6c\x80\xd1\x73\xb1\x64\xe3\x40\xa5\xc4\x4e\xe2\xca\xe6\xc0\xca\x2e\x38\xc3\x3d\x9b\x08\x7a\x24\x3d\x59\x0b\x1e\x9f\xc7\xfe\x99\x54\xfe\xb3\x1c\xb3\xdb\x9a\x57\xb4\x24\x7c\xe5\x8e\x60\xcd\xad\x22\x44\x07\xa8\x69\xee\x7c\xb3\x62\xd7\x8d\x10\x21\x3e\xf8\x0e\x93\x9e\xa3\x11\x2d\x89\x5b\x02\xdf\xa1\x32\xb5\x11\x4e\x12\x9a\x5f\xf2\x3c\x3f\xcc\x11\xaa\x54\x3c\xac\xdb\x40\x71\x40\xf8\x79\xd8\x7a\xcd\xc3\x63\x81\x1c\xd8\x76\xdd\xa1\xf5\x5e\xc3\x2d\xda\x68\xb0\x14\x99\xe3\x62\xfe\x4e\x90\x90\xe4\x63\x3c\xa3\x48\xdb\xd3\xfa\xb4\xef\xae\x63\xb8\x8c\xc4\x94\xe1\xbf\xd0\xf0\x85\xd1\x33\xb8\xd4\x08\x13\x2a\x62\x13\xa1\x84\xe0\x68\x86\xf0\x5f\x1f\x53\x92\xf0\x87\xf7\x40\x90\x32\x06\x06\x25\xda\x89\x31\x11\x8a\xc3\x4e\x32\x2d\x29\x73\x40\xd8\xfc\x63\xd9\x8b\xb6\x36\x73\x57\xa8\xad\xaa\xa5\x27\xcf\x76\x13\x03\xea\xe5\x68\x4e\xb4\x1b\x2b\x89\x6e\xea\xe4\xab\x20\xbd\x7d\xba\x5a\x5b\xed\x77\xf7\x29\xb0\xe8\xb6\x62\x4e\x36\x4e\xc9\xe2\x44\x74\x2b\x23\xb2\x36\x0a\x9f\x92\x11\xc8\x29\x9a\x72\x39\xc9\x5d\x74\x1f\xe5\x03\x66\xbc\x1b\x35\x2e\xc0\xd7\xbf\x7d\xdc\x79\x6f\xa3\x7d\x5b\x83\x1d\x2d\xc8\x50\xfe\x5b\x80\xe5\x9e\x7a\x51\x36\xef\x50\xbc\x21\xf8\x76\x10\xe4\xcc\x4b\x39\x82\x46\xcf\x08\x66\x8b\x09\x5b\x06\xc5\xe6\xf5\x82\x15\x61\xdf\x10\x87\x73\xf6\xe8\x60\xdc\x31\x71\x56\xb6\xae\x9c\x8a\x64\x2b\x5f\x39\x15\xb3\xb2\x04\x79\x86\xe8\xf0\x10\xb1\xee\xf4\xaa\x36\x66\x2f\xa8\x85\x91\x68\x1a\xbb\x91\x0e\xb7\x43\x52\x3b\xb4\xd0\x28\x76\x56\x11\x24\x2f\x1a\x6d\x99\xdb\x51\x83\xae\xfe\xb6\x09\x2a\x13\xf4\x54\x1c\x4f\x73\x6e\xd5\xc6\x6c\xa0\x20\x77\x16\x4f\xf4\x55\xb8\xde\x5a\x93\x33\x67\xb4\x30\xdf\x9f\xde\xe9\x3c\xf9\x2a\x11\x61\x1d\xe4\xc8\x22\x42\x0c\x9c\xe3\x93\x33\x3a\x44\xb2\x57\x3b\x8f\x5a\x49\x07\x4f\x26\xe7\xf1\x45\x13\xc9\x42\x6d\x56\x5d\x89\x16\x91\x5b\xc9\x40\x39\x4f\x23\xb1\xe1\x62\x3f\x81\x2c\xf8\x7a\x2f\x8e\xe1\x5d\x88\xb3\x15\xf8\xe2\x32\x5c\x17\x5d\xc4\xa3\x8c\xf2\x79\x2c\x2e\xa3\x0d\x87\x4b\x5d\x80\x5f\x18\x71\x2c\x80\x2e\x48\xbc\x16\x4a\x2d\x55\x2e\x0b\x99\x46\x04\x24\x90\xaa\x6b\x17\xa2\x96\xaf\x69\x67\x32\x51\xc7\x10\x50\x0c\xe2\x14\xcb\x1d\x4e\x76\x7b\xb1\xea\xf9\xa0\x71\x90\xfa\xe5\x37\xca\x7a\x58\x09\x0a\xfe\xa4\x05\x6e\xc1\x2a\x45\x9d\x1a\xf6\x19\xbf\x41\x2b\x1c\x96\xcb\xff\xa3\x13\xea\x44\x18\x01\x46\x6d\xab\x42\x36\xd2\x05\x11\xaf\x89\x87\x6b\xec\x1a\x18\xbb\xf5\xd9\x01\xf0\x48\x70\x31\x14\xc9\xcb\xd2\x3c\xe2\xf1\x89\x79\x76\x6c\xc4\x9a\xb3\xe7\x41\x4e\xea\xce\x09\x7c\xa2\xbd\xf7\x35\x07\xa4\xca\x2d\x28\x20\x78\x1e\x7e\x44\x92\x06\x03\x35\x41\xd1\x66\xb5\x4a\x02\x8d\xc9\x6b\xa2\x54\x51\x62\x49\xcf\x81\x82\x15\x5c\xe2\xda\x7f\xfd\xb2\xfd\xf9\x7d\x92\x43\xb9\xa3\x82\xac\xaf\xf0\xe2\xd5\x9d\xe2\x4f\x5a\x54\xd7\x2a\xb3\x29\x0f\x64\x14\x82\x50\x2c\x83\x4e\x01\x63\x52\xf6\xae\x57\x2b\x9e\x8d\x8e\x3f\x21\xc9\x50\xaf\x70\x96\x95\xdb\xb3\x5e\x8a\x3d\x68\x91\x46\x93\x4c\xed\x46\x5d\xe7\xd3\x7d\xb4\x51\x32\x12\x1b\x8a\x2b\x21\x19\x68\x04\x71\x2f\xec\x1e\xc0\x17\x30\xcc\xdb\x9d\x1b\xf7\xcf\xe8\x44\x57\xdd\xe3\x88\x72\xba\xde\x51\x52\x1e\x28\xbf\xe8\x5a\xb6\x2b\x67\xac\xbf\xf7\x11\xec\xd8\x95\xa9\x7a\xda\x7c\x0e\x98\xbb\x9d\xa3\xad\x03\x2a\xd7\x76\xa7\x85\x11\x2d\xa4\xf6\xd2\x21\xf1\xbf\x6e\xb6\xff\xbc\x91\xac\x38\x20\xbf\x3e\x7c\xba\x43\x9d\xb9\xbf\x41\x70\x00\xc4\x6c\x5e\x28\xb5\x04\x8c\x4d\xc3\xa0\x0d\xe3\x8e\x43\xbc\x66\x06\xc8\x61\x94\x57\xf6\x08\x80\x3a\x59\x5d\xc4\x2c\xbf\x66\x0d\xb3\x0e\x31\xf6\x53\xa8\x82\x34\x6f\xf0\x14\xc3\xac\x36\xf0\xe0\x41\x95\x53\x27\x0d\x83\x1b\x7e\x88\x14\x12\x67\x08\x97\x70\x2b\x2d\xea\x58\x19\x0d\x74\xf4\x11\x34\x2c\x97\x20\xb8\x13\xc0\xeb\x3c\x5a\x43\x84\xea\xd0\xa7\x19\xbe\xa3\x34\x4b\xd3\x2e\x03\xda\x43\xe3\x6d\xfb\xc3\x96\xc9\xb1\xcb\xba\xaf\x16\xd1\x9c\x34\x4f\xad\x7b\x6b\xaa\x59\x17\x6e\x75\xbe\x43\x2a\x28\xdf\xdc\xff\xcc\xc2\x3d\xd1\x47\xd5\x0b\xe2\xd6\x3b\x87\xcf\x76\x95\x05\xad\x05\xa7\x49\x61\x20\x72\x6f\xcf\xa4\xaf\xb9\xe1\x17\x22\xef\x2f\x61\xfd\x15\x51\x35\x10\xc3\x97\xb0\x04\x8a\x8c\x22\xa6\x74\x43\x56\xcc\x04\x10\x59\x56\x56\x15\x5a\xc5\x84\x5c\xa3\x9a\x27\x47\xf7\xee\xc4\x62\x87\x5b\xb8\x4c\x3a\x9f\x07\xe8\x04\x47\x1f\x1d\xc0\xe4\x66\xb2\x86\x28\x3d\x15\x36\xd7\x0d\x52\xbe\x2d\xf0\x88\xff\xf2\x19\x20\x37\x89\x36\xe9\x13\x0f\x97\xe7\x1c\x8f\x4f\xb4\x06\x03\x04\x0a\xa1\x32\x49\x93\x5e\x90\x69\x81\x97\x45\x4d\x1a\x28\xb1\xb4\xdc\xac\x34\xdc\x1a\xb3\xe4\x73\x0a\xb0\x6d\x6a\x48\x0b\x73\x3a\xa4\xe9\xf9\xee\x2e\x68\x1f\x54\xc3\x00\xe3\xb8\x02\x36\xd3\xe9\x53\x0d\x67\x6d\xe2\xa7\x00\xef\xd3\xbc\x8a\x80\x80\xd6\x59\x8c\x9a\xe0\xfa\x9d\xb0\x7c\xe8\xbb\x22\xae\xce\x10\x20\x50\x84\x4e\x44\x1b\x49\xdc\x0d\x32\x7c\x9f\xcc\x0f\xae\x2f\x0a\x04\x92\x29\x41\xb0\x10\x41\x89\x93\xf9\xd5\x18\xc8\x3b\xe8\xbc\x25\x31\x45\x29\x46\xc1\x23\x18\x72\xf4\x43\xc1\x3c\xf0\xb1\x4f\x2d\x90\x5b\x00\x8e\x74\xe9\x30\x23\x04\x44\x6d\x52\xfc\x8d\x75\xf2\x02\x84\x68\x29\xa1\x6b\x54\x84\x3c\xed\x84\x70\x88\x83\xa4\xbd\x92\xdf\x5f\xc8\xab\xce\x3d\x8a\xc3\xf8\x72\x3f\xf0\xaf\xc9\x67\xd5\x90\x25\xdd\x32\x32\xea\x7b\x56\x40\x57\x92\xfd\x00\xb7\x33\x85\xfd\x2c\x26\x62\xab\xc0\xe8\xc2\x1a\x7b\x27\xda\xf5\x8c\x0b\xea\xf4\xd8\x3f\x5f\x1a\x9b\x99\xd5\xba\x76\x49\x23\xd4\xb8\x76\xa7\xc7\xb0\xee\xdf\xd8\xd9\xab\xd3\x93\x97\x66\xc7\xae\xa2\x03\x4e\x17\x96\xa0\x6d\x60\x6a\xf2\xe2\x4c\x46\xb2\x31\x96\x67\xd2\x51\x9f\x9c\x18\x9b\x39\xa3\x87\x23\xa7\x7a\x5d\x67\x74\x50\xe2\xc4\xb2\x8e\xdb\x40\x21\xcf\x78\x37\x0b\x8b\x4b\x79\x20\xbd\x01\xd8\xd5\x25\xc2\x40\x0a\x73\xef\x70\x5b\xb9\xd5\x05\x8f\x54\x04\xbc\x2f\xd7\xb3\xb0\xd6\x45\x4e\x19\x2c\xe8\xa7\xfb\x02\x4e\x7d\x1f\xb4\x1e\x38\x6d\xd4\xac\xb5\xfb\xdf\x13\x7e\xca\x4e\x8b\xa5\xa8\x30\x1c\x6a\x87\xc4\xb1\xf1\xb2\x56\x76\xd0\x0f\x0c\xfc\xd4\xe0\xbc\xc1\xf4\x64\x8a\x12\xff\x27\x56\x42\x96\x6b\xfa\x6a\x1e\x48\x7f\xb3\x45\x70\x36\x91\x0b\xcd\xbb\x5f\x11\xc0\xc0\x16\xc6\x1f\x3d\xd9\x61\x6d\xe3\xf0\xbb\x8d\x48\x8b\x06\x0c\x09\x7b\xfb\x05\x0f\xfe\xe6\x92\x39\xc1\x9f\x52\x5c\x22\xfc\x3e\x28\xdb\xab\x68\x66\x5b\xc4\x8d\xec\xcd\xbb\x21\x26\x84\xdb\xf8\x27\xfd\xe6\xd1\x37\x7b\xf8\xf4\xf9\x60\xe7\x1e\x0b\x50\x2c\x17\xdc\xb9\xbb\x87\xe1\x39\x0a\x76\xf0\xe6\x57\x70\x23\x60\xb3\x84\xa6\xab\x3d\xe9\x5f\x57\xdc\x2b\xa1\x67\xdd\xf0\x26\x2c\xf6\x29\x81\xce\x91\xf2\x13\x0c\x8c\x50\x13\x4e\x81\xc9\x4a\x39\x69\xc8\x87\x25\x8e\x69\x80\xce\xf5\xc4\x4f\xff\x74\xa5\xf9\xf2\xcb\x3f\xcf\xf7\x0a\xa4\x52\x0e\xfa\xa7\xa3\x1b\x41\x5b\xd0\x70\x30\xd8\xd9\x7e\xfe\x12\x45\x5b\xa4\xf8\x18\x12\x03\x26\xd8\xcd\x1a\xb6\x1a\x28\x90\x49\xfc\x88\xa4\x22\xcb\xe3\x36\x5a\xf1\x9a\x65\xeb\x1c\xde\x31\xea\xab\xba\x59\xd6\x47\xa0\xc7\x43\xcf\xc5\x80\x44\x5a\x0d\x8a\x93\x29\x3a\x68\xd1\xb5\x10\xed\x94\x0c\x41\x4f\xfa\xc0\xba\xea\x53\x80\xea\x1c\x6f\xae\x2f\xfd\x99\x77\xdc\x15\xf2\x62\x84\xd5\x1a\xe7\xe1\x7a\xc5\x8e\x7e\x81\x66\xa8\xe3\x79\x7d\x0b\x2f\xa6\x9b\xe9\x95\xde\x22\xa5\x19\x13\xb5\x80\x34\xf7\xe5\x69\x0c\x1f\xf6\x81\x23\x18\x64\x71\x55\x0c\x51\x95\xb9\x30\x87\x8b\x05\xb7\xa9\x66\x9f\x9f\x32\xbe\x54\xb7\x68\x0e\x6f\x9a\x52\x09\x5f\xb6\x09\xcd\x52\x18\x82\xf8\xce\x10\x4b\x27\x31\xcf\x23\x21\x15\x86\x14\x81\x30\x7a\x01\xaf\xd8\x51\x1e\x82\x12\x48\x6d\x98\x01\x89\xdf\x4d\x93\x14\x38\x39\xef\x61\x22\xeb\x16\x8c\x45\xa2\xd4\x5f\xe7\xc1\xee\xe1\xb7\x6b\x08\x3c\x23\x43\x41\x70\x46\xbb\x18\xae\x10\x16\xf1\xa7\x33\x6e\x51\x6c\xa8\x5e\x0d\xa2\x18\xb8\x38\x68\xbe\x2e\xec\x42\x83\x90\x6f\x44\x43\xc0\xaf\x63\xe9\x55\x9a\x04\xc6\xb4\xcc\x0b\x05\x87\x61\x38\x7c\xb2\x21\xb6\x39\x21\xb0\x73\x09\x56\x23\x92\xcd\xba\x28\x91\x21\x28\x56\xb3\xee\xc9\x74\xef\x45\x42\x97\xa6\x27\x14\x0c\x40\x13\x42\x54\x02\x46\xc9\xc0\x67\xe7\x1d\xac\x21\x9d\x6a\xc9\x3a\x03\xbe\x93\x80\xa7\x55\xd3\x3b\x8c\x88\x57\x23\x91\xf6\xda\xa8\x6a\x35\x76\xca\xac\x59\x54\x46\x8f\x31\x5d\x42\x3b\x35\x9c\xae\x78\x16\x07\x1e\x01\x97\xed\xba\x7a\x9a\xc4\xf3\xb6\xf1\x86\xe9\xc5\x23\x60\x4f\x8b\x75\x86\x27\x08\x7e\x90\x5a\xa1\x8f\xdf\x8c\x72\x48\xc9\x25\xe8\x48\x8e\xfd\x26\xf2\x64\xa0\x19\xa4\x04\xce\x9e\x8e\x11\x92\x9e\xd5\xad\x28\xab\xe1\xea\x8a\xce\x44\xa4\x97\x06\x56\xa1\x60\xac\xea\x91\x12\xc6\x3c\x40\x84\x19\x8d\xb5\xb7\x68\xf9\x31\xef\xca\x20\xf1\xd7\xd0\x81\xe8\x30\xf1\xd7\xd4\x87\x5e\x0e\x94\x4a\x2d\x1c\xaa\x28\xb1\xc8\x60\x45\xb8\x4e\x59\x50\x61\x67\x23\x6b\xea\x44\x86\xab\x8f\xa3\x72\x32\xbd\x6f\xb2\xfa\x4e\x15\xa5\x7b\xb5\x9b\x90\xd9\x6a\xbe\x29\x34\x7c\xac\xa7\xfb\x28\xe8\x4d\x5c\x54\x77\x33\x24\xd9\x1d\xe8\x86\x0c\x39\xfb\xed\x10\x86\x23\x0f\x7f\x23\x40\xcd\xdd\xbb\x73\xf8\xb7\x03\xb8\xb1\xe7\x34\xdc\xad\x3a\xd2\x2d\x9d\xae\xea\x7a\x14\x26\x96\x65\x59\x13\xc7\x7f\xa1\x16\x73\x0e\xfc\xc2\xad\xe5\x55\xcc\x29\xd2\xa0\x30\xdb\x47\xd7\x77\x70\x41\xfe\x21\x6f\xca\x60\x03\x46\xf7\xa5\xc0\x48\xe1\xe0\x0c\xb5\x17\xe1\xcd\x9a\x86\x85\x8c\xfa\x79\x9b\x07\x47\x27\x04\x13\xe6\x7b\xfd\x6b\xf2\xef\xf8\x60\xc5\x7e\xc8\xec\x79\x4a\x3b\x0a\x08\x4e\xb2\x0b\xb1\x87\xbb\xed\x4b\x62\x16\xe3\x33\xdd\x87\xe9\xeb\xfd\x8c\x44\xa5\x8e\x98\x16\xc3\x0e\x15\xea\x4d\x9a\xe4\x52\xa9\x19\x77\x2d\x7f\x0f\xea\xfc\x7b\x09\x63\xd5\x0f\x5f\xeb\x0c\x36\x66\x46\x80\x71\x7c\xd4\x22\x8f\x76\xbd\x2e\x64\xef\xd1\xfa\xa6\xf0\x15\x0e\xa1\xf2\x65\xda\x00\xf6\x6d\xa4\xc2\x31\x89\xb1\x16\x2a\x18\x89\x11\x09\x9f\x2a\x3c\x1e\x35\x2f\x2b\x42\xd2\x0c\x6f\x73\x9a\xed\xfe\x41\x40\xfc\xcc\xcc\xeb\x1c\x26\x58\xf1\xae\x73\xd4\xad\xc9\x49\x29\x3a\x0e\x2f\x53\xcc\x3b\x45\xdc\x72\xfc\x10\x1a\x21\xd8\x53\x50\x88\x3e\xd7\xb4\x2d\x63\x28\x4e\x0c\x3f\x5b\x84\xae\x52\xed\x9b\x6c\x2d\x21\x05\xf1\x1a\x03\x6f\x30\x42\xa3\xdd\x5a\x8f\xc3\x5f\x2b\xfc\xab\xf1\x4f\x26\xfc\xb3\x15\x43\x1f\xfe\x22\x27\x42\x17\xbd\x32\x2d\x82\xa7\x6a\xbe\xd3\x2c\x7b\xa5\x46\x63\x95\xc6\x3f\x33\x12\x57\x79\x96\x3d\x6f\xc2\xee\xa3\xa3\x20\xc0\xa9\xa7\x49\x13\x9d\x2a\x8c\x87\x3d\x8d\xf9\x7e\x8b\x06\x4a\x8e\x8c\xdb\x50\x72\xa9\xb2\x5a\x4c\xd5\x4b\x7e\x0c\x42\x2f\xa2\x8d\xa4\xf5\x3a\x67\xef\x72\xfa\xa4\xf1\x70\x52\x0e\x63\x66\x5b\x38\x92\x69\x66\x7f\x44\xba\x5c\x88\xec\xa0\x08\xf7\xc7\x3a\x38\x63\xe3\x90\x96\x84\x19\xe5\x24\x8a\x29\x6d\xd2\xb7\x46\xdd\x75\xd8\x42\xe4\x56\xcb\xee\x8a\x5b\x6e\xda\x95\x20\x08\x8a\xaa\x85\x91\xa7\x0d\x28\x34\x9a\xda\x3c\xca\x1b\xef\x1c\xdd\xa0\x34\x58\x0c\x66\xdc\x7c\x4c\x89\x58\x98\x11\xd8\x92\x95\xac\x83\xc8\xff\xcc\xa2\x48\x0a\x37\x65\xcc\x61\xa8\x55\x6c\x0e\xb9\x9c\x1c\x09\x6a\xbf\x05\x41\x9f\x41\x7d\x5c\xcc\xc6\xd0\xe7\x5b\x88\xf4\xa0\xd6\x81\x18\x2f\x6e\x4a\x14\x86\x63\x66\x10\xac\x8e\x8b\xc9\x14\x64\x8b\x4b\x80\xc3\xd4\x0f\xf8\xd6\x62\xd3\x2d\x0f\x5b\xd6\x08\xa2\xa2\x92\xa0\x5d\x72\xec\x0a\xc6\xac\x20\xc4\x1e\x0d\x1e\x86\x53\xd6\x9a\x61\xd4\x2a\xd5\xfc\xf0\x29\xb6\xac\xee\x60\x0a\x86\x36\xf2\xfa\xcf\xcf\x3b\x9f\xec\x53\xe4\x1e\x2b\xe6\xe7\x2f\x8d\x9f\xa5\xa4\x63\x62\xff\x68\x93\xa2\xe3\xb8\x07\x4a\x71\x23\xf1\x30\x06\x08\xdd\x58\x0b\x20\x4a\x69\xaa\xac\xce\x37\xdb\xed\x1d\x8a\x22\xeb\x7c\xf2\x0c\x0b\xb8\xde\xce\x0e\xa5\xcb\x19\x02\x90\x26\x69\x43\x10\xeb\x30\xf9\xc3\x0b\x76\x38\x50\x7d\x0d\xfb\x1c\x3c\x1f\xeb\x76\x6f\xfb\x2b\xb4\x4c\x83\x3e\x07\x37\xee\x82\xfd\x56\x95\x3c\xc3\xae\xab\xaf\x9c\x44\xef\x4b\xd7\x9c\xd5\x13\x18\x01\xc4\xda\xfa\x41\x8e\x02\x1e\x5e\x26\xfd\xa7\x63\xb5\x68\xef\x03\x7d\xd6\xb0\xdb\xc1\xf3\xfd\xed\x33\x56\xa6\x0e\xfa\xac\xef\xb2\x2c\x60\x5d\xa8\xcb\xa2\xec\xb4\x71\x97\x83\xe7\x7b\xd4\xe5\x20\xce\x5d\x39\xfc\x7c\xf5\xf4\xc3\x1f\x1d\x7b\x9e\xf3\xe9\x4a\x9c\x63\xc2\xcf\xea\xc2\x67\xf6\xde\x51\x4e\x3e\xe1\x05\x0a\x73\x47\x64\x28\xef\x96\x95\x7a\x80\xc6\x4e\xce\x30\x4c\xdd\xec\x0c\x4d\x4b\xc6\xee\x1a\x9f\x20\x03\x77\x80\xf8\x0f\x02\xee\xbb\x66\xad\x6b\xf4\x81\x5c\x54\x81\x2e\x19\xac\x37\x2b\x4a\xf9\x6f\x96\x64\x51\xf0\xc9\x78\x34\x52\xb0\xdb\x33\xaf\x72\x04\x9e\x1b\x0f\x38\x8a\x01\x87\x21\xeb\xdb\x9d\xef\xee\x99\x70\x4b\x37\xf6\x60\x7d\x22\xaf\xb8\x3c\x11\x2b\x4b\x2c\x4e\xff\xd8\xd6\x28\x15\x21\x5f\x59\xca\xc8\x7f\x7c\x0d\x0b\x8e\x73\x94\xf3\x14\xc6\x81\xf2\x39\xe6\xf7\x1c\xb0\xdf\x1b\x13\x5a\xa4\xc1\xae\x79\xec\x6e\x23\x1d\x9b\xff\x82\x5b\xee\x38\xbd\xc9\xdf\x7b\xc7\xef\x4d\x37\xbb\x34\xbb\x4f\xd2\xe7\xf3\xba\xe7\x37\x84\xa9\x18\xfe\x3a\x4b\xa8\xe3\xe2\xca\x04\x7f\x8f\x61\x84\xad\x43\xb7\xa3\xbc\xd0\xd0\x62\x8d\x75\xcb\x14\x5e\x7c\x19\xc5\xbe\xa7\xec\xe9\x9b\xcd\x66\x94\x3e\xc0\x4b\xd7\x6d\x8e\x48\x9e\xa3\xbc\x98\x46\x32\xdd\x3f\x25\x60\x10\xb8\xd0\x2f\x02\xd9\x70\x04\xad\xc1\x18\x74\x15\xf6\x2b\x46\xbd\xee\x21\x36\x3c\xe5\x2e\xa5\xc2\xf5\xe5\xf4\x8d\x7d\x7d\xa6\xe8\x62\x31\xcf\x60\x2c\x75\x55\x1b\x6d\x1d\x25\xa6\x64\x00\x17\x19\x49\x31\xa7\xc5\x98\x2b\x08\x60\x4b\x29\x7f\xd4\x9f\xc8\xb0\x7e\xb2\x1f\x4b\xcd\xcd\xe8\xa7\x40\xb0\x0e\xd6\x4d\xfd\x3c\xfe\x09\x8c\x05\x75\x4d\x73\x17\xb1\x40\xfa\x89\xb7\x50\x14\x39\x97\x5e\xd6\x22\x32\xe7\x04\x7b\x4b\x90\xec\x3a\xa7\x3a\x88\x7a\x9f\x54\xa3\x78\xce\x11\xd8\x5f\xcd\x3a\x59\x47\x2b\xab\x32\x5b\x31\x2c\xdf\xa4\x82\x79\xeb\x93\xa5\xc3\x5a\xa0\x4a\xfc\x76\x18\x46\x8d\xc6\xe7\xe0\x14\x8d\x0f\x0f\x9b\xc1\xb0\xc8\x2d\x63\x88\x69\xf3\xbe\xa7\x51\x49\xd1\x69\x9f\xa4\x42\xe8\xde\xe3\xf3\x6b\x4c\x91\xf8\x97\xa5\xc4\xa7\x29\xd1\xd6\x16\xcf\x38\x97\x34\x61\xfd\x33\x63\xa3\x97\xa6\xc7\x67\xdf\xb0\xce\x4f\x4f\x5e\x9a\xd2\xcd\x99\xaa\x01\xe9\xda\x99\xbe\x3c\x3e\x3a\x96\x0d\xfd\x18\x6c\x8a\x2c\xf4\x47\xd1\x92\x16\x71\x51\x36\x92\xf9\x76\x6e\x69\xb3\xe4\x73\xe9\xcd\x4d\x8d\x8c\x6a\x6b\xba\x91\xca\x98\xf1\x5e\xf6\x60\xb0\x97\x3d\x73\x24\xb8\x91\x6c\x24\x4c\xd1\x4c\x36\x12\x26\xb7\x74\x76\xec\xf2\xd8\xc4\xe4\x94\x1e\x0d\x53\xb6\xb5\x8d\x39\x9c\xd9\x6d\xe5\xe0\x6a\xaa\x9d\xcb\x6e\x49\x8f\x31\x9a\x31\xba\x33\xaf\x8b\xb4\xbc\x93\x70\x8e\x48\xf9\x00\x54\x35\xec\xcc\x8e\x8c\xea\x40\x56\xf9\x26\xac\x79\x6f\xde\xae\xfc\x44\x7c\x00\x38\x52\x38\x98\x14\x53\x9e\xa5\x19\xce\xc8\x7b\x5a\xb6\x20\x8b\x48\x1c\x9d\xe8\x8a\xc2\x40\x03\x4f\xf2\x12\x78\x75\x51\x1c\x7d\x46\xb9\x5c\xd1\x1a\x01\x69\xcd\x64\x1d\x76\x06\x5c\xc0\x77\x4e\xbd\xee\xd5\xaf\x2e\xe7\x95\xcd\xcc\xe5\x24\xa5\x29\x0d\x57\x15\x67\x3e\xc0\x44\xb7\x06\xe1\x38\x25\x63\x0f\x5c\x23\xf0\x78\x44\xc5\xe7\x9a\x5b\x7b\x49\x7b\x8e\x88\x10\x20\xc2\x0a\x1a\x14\xe9\xa1\x63\xf8\x2a\xa1\x03\xad\x6f\x50\xc2\xe6\xd7\xb8\x5b\xda\xdb\x6b\x2f\x69\x27\x88\x99\xe0\xd5\x5c\x98\x07\x11\xe7\x73\x5c\x1e\xa8\x14\x2c\x0d\xda\x10\xff\x03\x82\xa2\xec\x60\x09\xdf\x97\x5f\x1d\xb2\x96\x65\x55\x53\x01\xe7\x85\xa5\xbb\x94\xf8\xe9\x39\x67\xde\x6e\x32\x10\x4b\x00\x44\x5b\x53\xb0\x3f\x33\xc2\x94\x44\xc1\xd7\xad\x87\xed\x2f\xb6\x86\xc4\xbf\x56\xe7\x7b\x0c\x42\x96\xc4\x95\x32\xa9\x41\x20\x22\x69\x8f\x61\x26\xe6\x7b\x7f\x50\x20\x0c\x37\x5b\xd1\xd8\x6c\xc6\x73\x7a\x28\x92\x1d\x0d\xc1\x98\xa2\x23\x22\x2e\xf9\x3c\x24\xbf\x78\xf9\xe7\x89\x31\xc2\xaf\x82\x41\xc2\x62\x76\x12\xaa\xca\x6e\x36\x96\xbc\xba\xfb\x3b\x46\xe1\xa8\x09\xdc\x39\xba\x80\x07\xf0\x2f\x5c\x0b\xcf\x70\x84\x84\xf7\x43\x8c\x10\xf1\x92\x1c\x35\xfc\x56\x1d\xb6\x00\x23\x86\xcb\xd6\xa9\x78\x74\x70\x53\xfd\x66\x03\x2b\xed\x9a\x21\xee\x66\x8f\xcb\x19\x6b\x84\x73\x07\x51\x27\x75\xaa\x54\x6a\x8a\x86\xa3\xec\xd1\x68\x10\xea\x7a\xad\xee\xae\xb8\x15\x47\x64\x8d\x3b\x6f\xc1\xee\xa5\x4c\x33\xd7\xcf\x43\xed\xca\x1d\x8b\x33\x61\x42\x21\xae\x10\x44\x8f\xf9\x66\x2d\x09\xc9\x80\xaa\x2d\x43\x75\xe1\xd2\x20\x6d\xb0\x97\x03\x81\xb7\xd7\x7a\x7d\x86\xbe\x1a\x85\x6f\xde\x7e\x3b\xba\x5e\xf8\xf7\x91\xa9\xf1\x31\xfc\x52\x3e\xb1\xac\x54\x0e\x86\x1f\x22\x09\x65\x5d\x8d\x47\x1a\x1b\xb1\xa5\x92\xce\x49\xb4\x2e\x71\x82\x17\xed\x70\xe0\x0d\x91\x7c\x93\xb3\xe4\xe6\x84\x77\x27\xec\x39\xa7\xc2\x02\x59\xa2\x2f\x18\xa3\x42\x47\x2f\x87\x7f\xb9\x2f\x3d\x9e\xba\x66\x23\xd0\x57\x06\x93\x87\xdc\xbe\x16\xc4\x8d\xa5\xa6\x35\xe7\xb3\x16\x89\x06\x8b\xe7\xb6\x9b\xf3\x21\xef\xb9\x52\x78\x92\x20\x95\x65\x14\x0a\x85\xb8\x86\xb8\x01\x52\x4a\x06\x80\x6a\x39\x08\xaf\x33\xf9\x89\x81\x79\x77\xe4\xc2\xe9\x80\x86\x57\xe5\x34\xd6\x52\x2d\x04\x5d\x2d\x2d\x83\xc2\x39\xc5\x67\x54\xb2\x7a\x26\x11\xfe\x56\x88\xa7\x94\xd7\x33\xc9\xea\x8a\x0e\xa5\x40\x85\x1e\xdb\xa6\xd3\x9f\xf2\x43\xc5\x87\x3a\x48\xfa\x8c\x76\xf2\x4a\x75\x76\x7c\xea\x8c\x35\xbe\x80\x10\x6a\x74\x1e\x37\xea\xab\x64\x3f\xf6\x44\xd6\xa8\x6d\xad\xbc\x92\x48\x1d\x1d\xa2\xc7\xa9\x16\x2d\x6a\x39\x78\x52\x97\x6a\xe4\x90\x30\x18\x87\xb0\xa2\x51\xec\x0c\xb9\x52\x3d\xda\x78\xe7\x0c\xd2\xd3\xd5\x3f\x8a\x25\x8d\x62\xe5\x0e\x06\xb1\xed\x7c\xba\x87\x1c\x44\x90\x27\x25\x76\x83\x51\x3d\xd6\xc4\x38\x15\xd8\xc6\x5d\x94\x68\x9a\xd1\xc5\xaf\x1a\x17\x03\xd0\x44\x8b\x4a\xfc\x54\xb3\x65\xa1\xee\x1c\xd3\xb3\x94\xc8\xe8\x5f\xcc\x22\xa7\x0d\x2c\xca\x31\xc4\x88\xb7\xb5\xea\x7d\xc0\x95\xee\xfd\x46\x3c\xe3\x8e\x1d\x7e\x79\xa9\x85\xf1\x6a\x36\x42\x43\xd6\x53\x91\x68\x29\x18\x74\x58\x71\x86\x71\x5f\x4d\x4c\x8e\x8e\x4c\x8c\xe1\x99\x35\x30\x3a\x31\x36\x32\x3d\x30\x84\x57\x97\x15\xd7\x6b\xfa\xe2\x31\xd6\x03\x11\x49\x40\xab\xd3\x09\x58\x14\x3c\x45\xe9\x6a\xac\x6a\xeb\x81\xa7\x9c\x29\xe1\xae\x12\x94\xa8\x38\x01\xef\x0d\xb4\x4d\xec\xb4\xd4\x06\xf6\x05\xae\x40\x9e\xdf\x1c\xbb\xc5\x31\x4e\x57\x09\xff\xf9\x6a\x63\xb5\x26\x22\xc6\x50\x31\x65\x44\xda\x01\x0c\x3e\xe5\x7a\xeb\x55\xaf\xea\xe8\x0a\x7f\x25\xdb\x89\x6c\x58\xd1\x8a\x2c\x84\x4e\x2d\x45\xaa\x34\xeb\x39\x04\xca\x2b\xae\x73\x3d\x44\x60\x75\x31\x8f\x54\x77\x37\xe6\x74\x4d\xc4\xcd\xc3\xb4\x51\x6e\x3b\xc0\x5a\x7a\xba\xaf\x0d\x3f\x8f\x50\x5a\x0a\xcb\x89\x45\xea\x93\x66\x13\x4d\x29\x7e\x49\xf5\x44\xe4\x2d\xb9\x00\x2b\x02\x43\x4a\x4d\x61\xa5\xc8\xed\x31\xf1\x67\x96\xf9\x26\xa5\x60\x34\xce\x40\xe4\x6d\x25\xae\x9f\xb8\xca\xb6\xc5\x30\x3b\x91\x3d\x86\xf0\x67\x41\xa2\x24\x55\x6d\x12\xdf\x5c\xb6\x2b\x4d\x87\xd1\xd9\x92\x95\x7d\x7f\x7c\x26\xab\xa4\x9c\x50\x3b\x1e\xe8\x71\xb1\xce\x77\x33\xbc\xbf\x4d\x43\x19\x12\x10\x34\x29\xa1\xf9\xbd\x4d\x4c\xb9\x7b\x3b\x4e\x59\x01\xb0\x32\xef\xc3\x8b\x89\x05\x28\xc0\xe0\x0f\x3d\x10\xe0\x98\x5d\xf9\xe1\x45\x01\x98\x74\x68\x09\x75\x53\x9b\xcc\x22\x88\xf3\x11\xf8\xf2\x28\xf4\x36\x37\xc5\x0f\x83\x71\x08\x14\xee\x80\x30\xea\xa4\xc7\xce\x42\x2c\xc3\x6d\x4d\x46\x02\x92\x64\x85\x99\x48\xc5\xc3\x04\x04\x78\x5e\xff\xf7\x1d\xf2\x1e\x27\x1e\xef\x41\xce\xd8\x79\xd7\x43\xe4\xbf\x68\x74\x93\xee\xb0\x62\x9c\xbf\xa8\x11\x39\x2b\x76\x9a\x69\x54\x2a\xb1\x02\x82\xa6\x5a\x96\x8c\x3c\x8a\x2c\x95\x5c\x7a\x4b\x4e\x45\xdb\x81\x0f\x5b\x9d\xcf\xd6\xda\x8f\x6e\xe7\xb7\x82\xd0\x5d\xf5\x65\xf6\xfb\x10\xbf\x22\xae\x71\xd0\x0e\x03\x1c\x71\xe1\x39\x25\x4c\x6d\x6c\x30\xd8\x2d\x17\x71\x1c\x82\x97\x25\x9a\x1e\xae\xc2\x9a\x53\xb7\x59\xc6\x89\x9f\xb9\xfa\x1a\xfc\x04\xf2\x83\x00\x0e\xb5\x08\x7a\x41\x94\xa3\x40\x06\x63\xb6\x07\xe5\xf7\x6b\x7c\xce\xa8\x86\x38\xa5\x82\x40\xe7\xd3\x7d\x38\xa0\xac\xce\x93\x7d\x54\xe8\xd0\xa4\xfd\x5d\xab\xfd\xf9\xbf\x13\xd4\xcd\xbb\xbb\xa4\xf8\x51\xb6\x24\x01\x60\x0b\xec\x5c\x59\x43\x52\x03\xaa\x47\x43\x23\x91\xcd\x8c\xb0\xcc\x72\x07\x1a\x5b\x43\x9b\x8d\x8f\x98\xb2\x68\x12\xcf\xc4\x7f\xeb\xac\x6f\x4b\xdd\x4f\x90\x09\x0a\x4d\xe6\x52\x22\x38\xab\xb2\xd3\xb0\xdd\x8a\x58\x83\x6a\xf9\x86\xf8\x65\x56\x97\x52\x20\x4a\x38\xa4\xdd\xf3\x64\xc9\x0f\x4c\x38\x40\x74\x7e\xc2\xe3\xcc\xe7\x8b\x8f\xef\x8c\x11\x8d\x20\x42\x1a\x0d\x6a\xdd\x99\xa7\xb2\x60\xa0\x44\x39\x2b\x28\xe6\x75\x83\xfa\x6c\xfb\xf0\x5b\x46\xee\x44\x95\xf3\xc9\x43\x8c\x42\xc8\x6d\x3d\x61\xfe\xc8\x5a\x0d\x9a\x6c\x72\xc3\x8e\xf8\x8a\x71\xc6\x88\x0a\x1a\x47\x8c\x1b\xe7\xe0\xec\x8c\x66\x85\xfe\x5d\xa8\xbd\xdc\xe9\x14\xad\x16\x9f\x55\x6e\xbf\xab\xcd\x22\x3a\x62\xbc\x59\x50\x5c\x05\x39\x36\x74\x1d\xe5\x34\xa7\x9f\x82\x4e\x2e\x92\x82\xa4\x43\x59\x8c\x45\xee\x61\x89\x43\x92\x4c\xeb\xe9\xcd\x5d\xe5\x05\xa7\xfa\xb3\x32\x6c\x32\x0e\xd7\xdc\x9a\x00\x54\x95\x99\xf0\xe4\xc5\x6c\x78\x05\x20\x85\xe2\x78\x42\x22\x32\x9e\x1d\xad\x9f\xed\xe9\x2f\xb7\x48\x7c\xc9\xf3\x1b\x24\x0d\x08\xe9\x2d\x2b\x87\xf3\x68\x8b\xe4\x0d\x0a\x34\x94\x09\xdb\x3b\x47\x9f\x3e\xc6\x8a\x8c\x5c\xc1\xcd\x94\x5e\xa4\x5c\x9c\xd0\x95\xf1\x9a\x2c\x6f\xd7\xc3\x16\xd6\x27\x06\x79\xeb\x2d\x83\xce\x5c\x76\xca\x7f\x67\x7e\xb7\xce\x66\x6a\x18\x9d\x6a\x9d\x07\x5f\x44\xfc\x0f\x7f\xa7\x61\x35\x37\xf0\x3c\xe3\x3d\xab\x27\xb0\xc5\x69\x52\xed\x78\xe8\xc5\x0a\x73\x39\x61\x04\x01\x51\x9d\xa9\x8f\xcb\xbc\xf7\xb9\xe8\x6d\xee\x38\xc7\xb7\xbe\x61\x68\x6a\x5a\xaa\xbb\x51\xe9\x5b\x7a\x31\x7b\xe8\xb4\x03\x86\xe1\x8e\x5c\xe0\x4a\x54\x16\x24\x05\x97\x70\x93\xa1\x01\xb2\x61\xd2\x4f\x14\xd2\x20\x83\x23\x87\x02\x88\x6e\x7e\x1c\xdd\xd2\x02\x69\x19\xcb\xaa\x8a\xf3\xe4\xba\x57\x27\x50\xbe\xa0\xb4\x81\xb6\xd2\x94\x50\x4a\x09\x81\x39\x2c\xcb\x42\xfe\xe6\xa0\xf6\x6a\x50\x3d\x5f\x29\x37\xc5\xbf\x92\xd1\x3b\x51\xd8\x7e\x4d\x1a\x3f\x03\x8c\x72\x59\x08\x62\x3f\x2c\x27\x87\xc5\xb6\x53\xea\x46\x30\x12\x74\x8e\x65\x94\x6e\x07\x2c\x10\x4f\xf8\xb6\x10\x8c\x0e\xdf\x0f\x5e\xe0\x35\x41\x18\x13\xba\x09\x30\xcd\x33\x12\xe8\x56\xac\x59\xc6\x77\x56\x3a\xb4\x68\x02\x0e\x73\x2c\xca\xee\x35\x1b\x57\xaa\xc2\x11\x36\xa2\x04\x01\x92\x7b\x6b\x8e\x13\xc6\x1c\xb5\xa0\x49\xdd\x5d\x5c\x6a\x58\x68\xac\x1e\x26\xa7\x34\xec\x6d\x3c\x30\x96\xec\x7a\x19\x83\x17\xa4\xe1\x05\x1f\x18\xa2\xc5\x81\x7f\xfd\x9f\x08\xb2\x9d\x6a\x74\xd1\xba\xcc\x82\x5e\x58\x84\xff\xbb\xcd\x65\xe0\xad\xce\xfe\xfa\xe1\xd3\xe7\xc8\x32\xb9\xcb\x34\xa2\x4a\x40\x9c\x1e\x88\xc2\x33\x12\x99\xf2\xc9\x57\x9d\x6f\x1f\x73\x55\x95\x7d\xcc\xc8\x8b\xb8\xc6\xc4\xb3\x94\xa0\xb6\xb9\x05\x2b\x81\x62\x20\xee\x7c\x29\x6b\xda\x80\x6c\xbc\xb5\x23\x7a\x12\x99\xb1\x28\x10\x7f\x4e\x89\x09\x1e\xfd\x66\x35\x2c\x34\x14\x0c\x3f\x0e\x16\xd5\xe1\x0f\x0a\xf0\x93\x44\x5a\xf6\xea\x8e\x7a\x4f\xd7\x86\x2c\xf3\x60\xc1\xda\xdf\x78\x1c\x8e\x0f\x68\x23\xad\x03\x5a\xe4\xa4\x7d\x93\x6f\x21\x42\xa3\x78\x91\x7f\xea\x82\x53\x66\x2f\x18\x7f\xd6\xfb\xcc\x88\xab\xf6\xed\xc7\xb1\xa7\xf5\x0d\xff\x54\x02\x39\xc5\x74\x64\x69\x99\xd8\xdd\x66\x4d\x86\x34\x0d\xb1\x37\xd9\xb3\xaa\x4d\xcc\xc5\xf3\xb0\x2c\x01\x7f\x21\x1d\x6b\x0c\xf7\x20\x1e\xcf\xb2\xa5\xac\xd1\x9a\xbf\x29\x42\x98\x86\x64\x61\x01\x59\xc4\x9a\x03\x9b\xc4\x95\xe9\xc1\xae\xf4\xa5\x91\x47\xf9\xcb\x7d\xab\xdd\xba\x9d\xeb\x75\x6a\xe8\xeb\x61\xb2\x9a\xad\x7f\xaf\xe9\xcb\xb5\xd0\xc8\x88\x75\xa0\x46\x22\x0f\x6a\x1a\xf4\x6a\x06\xe2\x10\x76\xfc\xa3\x35\x7d\x0b\xb5\x9f\xca\xa2\xa3\x7e\x66\x2f\x3a\x3a\x6e\x4b\x22\x28\xaa\xac\x4f\x80\x10\x47\x9f\x88\x0e\xd2\x1c\x47\xb3\xe3\x17\xc6\x26\x2f\xe9\xea\x97\xab\x82\x5b\xf7\xfe\x94\xbe\x14\x02\x0a\x30\x1d\xe8\x3f\xbf\x08\x7f\x5f\x42\xa1\x39\x7a\xee\xea\xc5\x91\x0b\x63\x42\x0b\x2b\xe1\x1d\xad\x24\x63\xa3\x4a\x12\xc7\x80\x6b\x14\x5f\x63\xcb\x42\xf0\xb3\x34\xbd\xf8\x4a\x51\x3d\x78\x70\xf4\x1c\xe9\x20\x99\x9c\x59\x86\x84\x13\x85\x5a\xa0\xf1\x10\x15\x32\x34\x56\xf0\x48\x87\x36\x37\xf5\xbd\x50\x95\xf9\xb0\x85\xd9\xd1\xc1\x9e\xcd\x13\xd6\x74\xb2\x8c\x8a\x12\x3c\x94\xfd\x43\x31\xa7\x70\xd2\xaf\x72\x6c\xa5\x28\xc7\x23\x7d\x3c\xca\x25\xc1\x87\x63\xaa\xe1\x52\x5a\xf0\x2a\x45\xc7\x88\x7a\xfd\x7a\x4f\xbd\xf6\x48\x6e\x45\x71\x5a\xb0\x3f\xed\xcd\x8d\xc3\xef\x36\x70\xb9\xca\x32\x3e\xa2\xe6\x59\xf2\x75\x4c\x1d\x88\x94\xfe\x81\x87\x77\xde\x61\x74\xa5\x44\x31\xa8\x8c\x61\x50\x02\x7d\xe6\x9c\x25\xb7\x5a\x06\x65\x75\x01\xb4\xf3\xeb\x04\x87\x4c\xf5\x2b\x7e\xdb\x74\xeb\x04\x14\x43\xb5\xa4\x61\x2a\xdf\x5a\x1d\xe2\xcb\x31\x43\x04\x2c\x35\x1a\x35\xff\x2a\x7d\x9f\xee\x43\xa2\x10\xd5\x3a\x6a\xfc\x30\xc0\x20\xbf\x87\xad\xb1\x8a\xef\x0c\x89\xf2\xd1\x54\xaa\xb1\xea\x34\xf0\x6e\x80\x77\xb4\xaa\x43\x81\xbd\x99\xe3\xd9\xde\xfb\xf2\xe8\xde\x9d\x36\xaa\x1b\x7f\x7c\x28\x0a\xbb\x21\x58\x00\x71\x48\x25\xc6\xee\xd3\x16\x43\x7c\xed\x56\xe7\xff\x63\xef\xdb\x7a\xe3\x38\xb2\xfb\xdf\xff\x9f\xa2\xf1\x07\x16\xd2\x22\x24\x65\x2d\xf6\x49\x7e\x08\x68\xdd\x56\x81\x6e\x90\x28\x2f\x76\x2d\x41\x3b\xe4\x34\xc9\x89\x87\xd3\x83\xe9\x19\xd1\x84\x60\x40\xb6\xc6\x0e\x6d\xd1\xb1\xb4\x26\x2d\x5a\x12\x05\x3a\xd1\x42\x32\xa0\x07\x5d\xb8\x8e\x8c\xb5\xf3\x81\x38\xe4\x77\xc8\xb9\x54\x55\x57\x75\xd7\xa9\xee\x19\x92\xb6\x03\x04\x41\x12\x8b\xd3\x75\xea\x7e\xea\xd4\xa9\x73\x7e\xbf\x07\xab\x8a\x21\x1c\x6d\x7f\xbb\xb5\x8e\xc9\x42\x77\x06\x8d\x03\x4f\xbe\x0a\x5a\x4f\x1c\x07\xab\x00\xab\x76\xbf\x59\xcb\x13\xc7\x92\x6d\xba\xf9\x6f\x85\x4b\xc6\x18\x9c\x19\xe8\x82\xd8\x79\xb8\xb2\xfb\xd1\x73\xca\xfc\x7e\xf5\x02\x67\xdd\x27\x23\x30\x41\xe7\x13\xa5\x5e\x75\x6c\xc1\x58\x66\x14\xcd\x32\xde\xac\x65\x1c\x21\xd5\x8d\xba\xd9\x06\x83\x0f\x78\x14\x0b\x11\x08\xd9\x15\xd3\xe5\x1f\x33\x44\xb3\x4e\x91\xec\x78\xf4\xb7\x66\x78\x33\x8a\x7a\x7c\x45\x75\x6f\xf2\xe2\x19\xb7\x67\x78\x81\x6f\xb4\x7a\xb1\x79\xe5\x83\xcb\x3c\x3e\x5e\xb9\x6e\x99\x60\x8f\xe1\x7e\xc3\x4f\x58\x42\xbc\x83\xa3\x93\xb6\x5f\xf7\x39\x46\xde\xea\xa5\xd3\xa8\x3d\x76\xf0\xf8\x29\x23\xca\x39\xb7\xa8\xb3\x31\x98\xc3\xd0\x33\xda\x1d\x4e\x10\x85\xe1\x0e\x43\xbd\x1d\xcf\xce\xc2\x76\x09\x75\xd9\xbd\x48\xe5\xe9\xc2\x58\x67\xe4\x26\x52\x6a\xd6\x9e\xbb\xab\xc0\xce\x72\xc6\x7c\xad\xa5\x73\x66\x89\xf1\xeb\x17\xeb\xbb\x95\x1d\xfb\x48\x13\xa8\x09\xed\xde\xeb\x48\x38\xcb\xfa\x17\x9c\xe9\xbd\x76\x28\xd3\x44\x57\xda\x75\x38\xed\x0d\xcc\xaa\xdb\xc3\x1e\xfd\xc8\xc9\x0a\x65\x58\xca\x7c\x5e\x62\xae\x41\x86\xe7\x0a\xad\xbf\xff\x89\x22\x57\xf8\xfc\x4d\x5e\xed\x88\x55\x8f\xd0\xa9\x0b\x53\x93\x67\xaf\x9f\x3b\x79\xee\xc2\xa5\x3f\x09\xed\x73\x3e\xf1\x0b\xa9\xcd\xb1\x39\x8f\xff\x21\xd3\xd0\xdf\x46\x1a\x72\xfb\x3b\x41\x18\x58\x1b\x18\x49\x66\xbd\xed\x35\x93\xb9\xea\x2f\xe9\xea\x9d\x8f\x59\xcf\xa3\x9d\xef\x57\x61\x21\x18\x06\xf7\xc0\x53\xd0\x94\x1d\xca\x66\x5b\xe1\xa2\x6d\x2a\x04\xb4\xe5\x0b\x87\x6b\xf3\x5d\x25\x86\xa8\x91\x9d\xc2\x85\xe2\xfe\x3a\x35\xa7\xa9\x13\xd0\x63\x67\x7d\x9a\x04\x83\x5a\xd7\x02\x43\x02\x23\x29\xfe\x80\x6c\x23\x7e\x05\xed\x22\x14\x8c\x22\x79\x34\xef\xa2\xea\xbd\xc0\x96\x96\x61\xc5\x40\xb3\x58\x4a\x39\x38\xd2\xed\xcf\x38\x91\xdc\xc7\x80\x5b\xcc\x34\xcd\xa7\x34\x10\x8b\xaa\x02\x52\xf2\xc3\x08\x12\xb1\x64\xae\x58\x46\xcd\xaf\xaa\x57\xd7\x62\xeb\x33\xb0\xbe\xca\x02\xa8\xa7\xa0\xa7\xe4\xec\xbc\xa9\x19\xa1\x4f\x52\xd2\x12\xaa\x36\xaf\x1b\x1c\x4c\xeb\x7a\xcc\x40\x52\x8a\xc9\x24\x73\x13\x8b\x4b\x40\x16\x6e\xf9\x76\x6d\xbe\x93\x82\x6b\xd7\xc3\x52\x2e\xae\x18\xca\xca\xab\x53\x16\x70\xb4\x38\xdf\x98\xe1\xf9\x34\x2a\x2d\x25\x3b\x9a\xcc\x5a\x58\xca\xf5\x5e\xc7\xc5\xbf\xae\xf5\xba\xc9\x78\x1d\x96\x79\x28\x73\xcd\xc2\x92\x7f\x7c\x17\x66\x02\x39\x6f\xb7\x5f\x3d\x37\xac\xbd\xb6\x56\xc4\xa7\x23\x54\xf0\xe4\x8c\xc3\x27\xdf\xbe\xb4\x99\x69\x4c\xd1\x62\xca\x60\x2a\x98\xaf\xae\x61\x62\x9f\x11\xd4\xab\x33\x27\xbe\xf1\x28\x04\x09\x85\xb5\xa5\x43\x55\x33\x4e\xae\x2c\x87\xcc\xba\x99\x89\xef\x13\x15\x1a\xc4\x6c\x94\x72\x1c\x97\x9a\x37\x34\x56\x0f\xa2\x35\xa0\x19\x0e\x7c\x80\x02\xf9\x00\x95\x9a\xb4\xdf\x43\x54\xd2\x9e\x8e\x08\x79\x02\xdb\x01\x4c\x81\x09\xe5\xb4\xe5\xab\x35\xdf\x0d\x93\xb4\x8b\xcf\xd6\xac\xfc\xc6\xe1\x0e\x79\xe1\xf2\x14\xb9\x07\xa0\xf9\x68\x3d\x8c\x8f\x43\x9b\xeb\xc9\xc2\x38\x0b\x07\x63\x61\x2e\x6e\xc5\x9d\x4c\xa3\xf2\xdf\x89\x6c\x79\x1e\x94\x6f\x9b\x58\x6b\x43\x94\xcb\x37\x0b\xa0\x29\xa4\x0a\xd5\x58\x28\x1a\x5a\xd8\x4c\x8f\x3f\x71\xb3\x4c\xb2\x47\xe3\x0c\x4a\xda\x6a\x30\x93\x02\x5a\xb7\x03\x36\xb0\x50\xb9\xbe\x7c\x81\x11\xdb\x6e\x4f\x8a\x4c\xb4\xa0\x68\xdd\x16\xdd\xde\xd8\xe9\xbf\xcc\xd1\x32\x33\x3b\x6d\x15\x4b\xc5\x8e\x36\xb7\xaf\x3f\x70\x4b\xea\x35\xeb\x0c\xe9\x83\xee\x89\x1a\xa8\x23\xd1\x39\x61\x05\xbe\xe7\x2e\x43\xa4\x6b\xbe\xec\x0f\xee\x3c\xf7\xa6\xff\x4a\x37\xd6\xf9\x18\x5d\x05\x94\xc5\x6b\x4e\x54\x7d\x26\xaa\x80\x53\x5c\x36\xed\xb6\xf8\xc6\xb1\xb1\x65\x62\x13\xdc\xe3\xce\x3a\x7d\x2a\xe6\xb4\x64\xad\xe9\x26\xe8\xe7\x82\x7b\x06\xb3\xdb\xd2\x25\x43\xa1\x1c\x8e\xc1\x36\x23\x66\x6f\x4a\x3f\x68\xf0\x83\x0e\x2e\x59\xd1\x01\xa1\x00\x09\x37\x0d\x65\x2d\xba\x87\x97\x07\xcf\xe1\xff\x3d\xfd\x77\x37\x61\x56\x2d\x23\x5c\x6b\x9b\x7f\xab\x36\xab\x4c\x41\x8e\xd9\x29\x94\xfb\xaa\x72\x9f\x2d\x26\x33\x7c\x74\x42\xc3\x17\x01\xb2\x69\xa1\x1f\x3a\x26\x01\x64\xbb\x9f\xd9\x74\xa2\x94\xda\xac\xb2\x99\xf5\xd1\xc2\x59\xae\x38\xb6\x8a\x66\xfd\xeb\x72\x74\xa0\x51\x1b\xcc\x19\xb2\x49\x07\xad\x33\xb4\x80\x1b\x6d\xd1\x50\xde\x63\x27\xd6\x9e\x09\xb5\x09\xfd\xc9\xf2\xa9\x43\x10\x3f\xf4\x5c\x50\x2e\x42\x7b\xcf\x38\xe6\x00\xf1\x87\x70\x5c\x60\xbb\x4d\x60\x7e\x77\x27\xdb\xc1\x66\xf7\x2a\xba\x58\x24\x98\x57\x59\xad\x0a\xb1\x3d\xb4\x61\xd4\xeb\xc5\x7d\x4e\x12\x61\x25\xb3\xf2\x09\xd6\x63\xbb\xc0\xcc\xa3\x9e\x36\x9b\x0b\x3b\x9e\x98\xad\xd6\xb6\x10\xf4\x5c\x33\xa1\x6e\x69\x67\xac\x9d\x76\xe3\xa2\x72\x21\x35\x7f\x5f\x61\xb9\x97\x1b\x85\x19\xee\x12\xe2\x84\x62\x14\x37\xa6\xf2\x77\x92\x34\x35\x27\x2c\x68\xe4\x13\x98\xfe\x44\xca\xa3\xcb\x1e\xda\x8e\x45\xd2\x96\xc1\x2f\x32\xa1\xed\x18\x1d\x0f\xf4\x19\x39\xb3\x71\xa3\xe3\xcb\x85\x32\xb8\xb3\x1a\x7b\x2d\xd2\x87\xf4\xc6\x7a\xb5\x35\xc9\x97\xee\x48\xdf\xbe\xa3\xc5\x5a\x4b\xbd\x2d\x19\x16\x57\x7f\xac\xf7\x3f\x4b\x1b\xce\x3d\xfd\x95\xd5\xee\x40\x42\xa1\xd5\x46\x11\xda\xd9\x48\x5d\x6d\x15\x3e\x31\x0c\xaf\x78\xcb\x2d\x82\x46\x3a\x68\x60\x94\xfb\x08\x33\x42\x36\xbe\x2b\x28\x0b\x50\x61\x6f\x46\x40\xa1\xd3\xc6\xf0\x87\x94\x07\xe9\x70\x45\xbd\x80\xb3\xab\x22\x38\x31\x85\xb1\x75\xa8\x4b\xa8\xb0\x09\xbe\xd6\xa9\x50\x12\x3c\x0f\xde\x8f\x97\xd2\xe0\x59\x60\x70\x7d\x19\x1a\x0b\x6f\xad\x18\xd3\xc5\x81\x21\xd8\x32\xb8\xfc\x3d\xbc\x6b\x45\x4a\x95\x1e\x0a\xd8\x32\xba\x65\x6a\xeb\x65\xbe\x46\xfa\x8b\x83\xdb\xcc\x1d\x94\x82\x39\x83\x4d\xcb\x48\xc1\x95\x71\x91\x0b\x49\xb2\xb9\xca\x8b\x78\x6b\x81\xe6\xd1\x52\x66\x70\x10\x0d\x18\xce\x6f\x9f\xf8\xd4\x30\x11\x89\x0b\x97\xc3\x35\x6d\x9f\x9d\x48\xd7\x8a\x47\xec\x96\xfb\x02\x81\xbc\x0c\xfc\x92\x62\xe9\x0a\x5b\x58\xe6\x4f\xb1\x10\x79\x2a\x53\xb5\x4e\x71\x64\x05\xdb\xd2\xe9\x52\x6b\x86\xbd\xf5\x9a\x9f\x53\xbc\x0e\xf5\xe1\x12\x84\xdc\xd7\xf4\x35\xeb\x7c\x0e\x8b\x2f\x44\x40\x48\xf5\xb6\x95\xa3\xaa\x56\xaf\x8f\xf3\xcd\x72\x1c\xd5\xec\x21\x1e\xd4\x39\x8c\xe6\xe8\x28\x70\x91\xb6\x18\x88\x4d\x6e\x29\x4d\x38\x41\xb7\xe4\xaf\x5e\xc2\x58\x59\xce\xa8\xbc\xf8\xa1\x62\x20\xa6\x60\xb1\x35\xa3\x73\xa0\xe5\x44\xda\xce\x9d\xad\x0d\x04\x99\x40\x25\x20\xa1\x7a\xb1\x94\xda\x42\xd2\x63\xb2\xfe\x05\x92\x17\x1d\x8e\x27\xe6\x26\xa2\xa3\x6f\xfd\xee\xf7\xe7\xc6\xa2\xa3\xa7\xe1\x7f\xdf\x3a\x2d\x86\x12\xd9\xb5\x44\xbb\x1f\x3d\x87\xb1\x3f\xbc\xb3\xbe\x7c\xac\x50\x7e\x98\x16\x68\xb0\x20\x0c\x66\x22\x38\x93\xa1\x9a\x94\x6d\x34\xbc\xc4\xf5\x9d\x10\xa6\xfd\x68\x6e\xab\xb7\x30\x8d\x68\xd6\x2e\x9d\x83\xb1\x5b\x27\xa2\xf1\xa3\xb8\x36\x30\xf8\x00\xf3\xa6\x6a\x78\x92\x34\x1b\x0b\x0d\x82\xa1\xa1\xae\x4a\x7a\xe2\x80\x6b\x8d\x0e\x9f\xe0\x38\x88\x63\xd9\x6f\xe2\x28\x86\xfd\x45\xb4\xa7\xb6\x36\xf0\xcd\xc3\xdc\x8c\xa0\x05\xf8\xa0\x05\xa6\x2d\xef\x36\x35\xbe\xb4\xfa\x3f\x5e\xdf\xbd\x7d\x6b\x70\x5b\x7d\x7a\x98\xc3\x29\xb6\x5f\xfc\xf5\x58\xf6\xf9\x6f\x83\x6b\x3d\xeb\x7e\x27\x84\xe9\x48\x13\x9c\xb1\xf6\x2d\xaf\x57\x93\x99\x4f\x54\x08\x89\x97\x12\x15\xc4\xba\x3a\xb8\x94\xab\x68\x2f\xd6\x59\xec\x73\x0d\xd1\xc8\x5c\x99\x9c\xcc\x4c\xc0\x85\x46\x8a\xa9\x59\x4c\xf0\xc8\xa0\x94\xe4\x48\x93\x52\xc1\x09\x29\x52\xbb\xbb\x14\xf9\x2d\xc8\x2b\x70\xd2\x2e\xf7\x07\x1b\x3f\x09\xf5\x5f\x3a\x2b\x48\xc7\x5f\xa4\x22\xa8\x3f\xd9\x0b\x66\x3c\xd2\xe6\x1d\x27\x7b\x30\xd7\xf0\x9a\x69\x17\x4e\xdb\x05\x11\x98\x45\xbd\xbe\xac\x7e\xc7\xaf\x2f\xde\x07\x6f\x85\xa5\x49\xae\x6c\xd2\xae\x74\x5f\x87\xcf\x06\x2f\xbe\x40\xab\x06\xda\x64\x2d\xde\x0a\xed\x36\xe4\xd0\x59\xdb\x79\x31\x9a\x56\xc3\x0f\x8b\xb5\x4e\x1d\x21\x99\x2e\xc3\x4d\x7a\xc1\x72\xbc\xa0\x24\x1d\x12\x48\xaf\xca\x55\x7a\x66\x96\x72\xe1\x22\xc3\x8f\x34\x6c\xa0\x3d\xca\x75\x05\xcf\x6a\xfc\x8b\x55\x06\xba\xfe\xf1\x16\xee\x4e\xaa\xda\x1b\xbc\x27\x0c\xc0\xe5\xc9\xd3\x22\xec\x24\x13\x34\xbd\x12\x42\x9c\xa8\xa8\x18\x1e\xa3\xcb\x0a\x71\x31\x57\x2e\x9f\xbc\x14\x46\xad\x34\x51\x1f\x21\xe0\x4a\x14\x23\xe2\x3a\x6a\x09\x42\xd1\x96\x0e\x65\x61\x3f\x9a\xf7\xb1\x81\x2d\x61\x06\x77\x0a\xb1\xf6\x78\x23\x90\xfc\x3e\x35\xd7\xc8\x36\xa2\x4b\xdb\xc8\x81\x17\x49\x2b\xa6\xa8\x54\x82\xc1\x52\xac\xaf\x0a\x1e\x8d\x4f\x0c\x38\x20\xda\xb0\xd1\x44\xfd\x40\xf8\x5c\xb0\x84\xee\x0d\xee\xfc\xdd\xdc\x49\x7e\xdc\x7d\xb0\x82\x6a\x83\x31\xad\x28\xc0\xf3\xc1\x17\x83\xaf\x36\xaa\xf8\x02\xad\x36\xf6\xd0\x29\xd7\x25\xaa\x7d\xd9\x54\x46\x1c\xaa\x21\x40\xe4\x32\xf1\x7c\x11\x1b\x53\x3e\xc0\x43\xda\xb3\x77\xa8\x2a\x60\x91\xba\xb4\xf8\xfc\x57\x96\x30\xf7\x3a\x35\x5c\xfb\xba\xf4\x86\x14\x47\xc7\x8f\x93\x13\xed\xdd\xb8\x93\x52\x8c\xfc\x45\xf6\x29\x81\x5e\x24\xa6\xb7\x90\xbf\x52\x15\x1d\xbc\xea\xc3\xee\xa7\x00\x91\x95\xbb\x83\xd7\x7d\x7f\xb3\xb5\xc5\xce\x3a\x30\x1f\x47\x52\xd6\xde\x64\x1a\x13\x20\xf4\xeb\x0a\xf9\x65\x51\x9b\xc5\xe6\xe9\x84\x21\xc4\xf5\xbf\x42\xcb\xdf\xfe\xca\x64\xaa\xab\x17\x97\x75\xf7\xc5\xc5\xf2\x83\x7d\xfd\x8f\x2a\x58\x38\x59\x83\xdb\xb5\x4e\x9a\x1f\x5c\x1d\x86\xa1\xfe\x09\x33\x58\x65\x60\x8b\xa5\xcc\x6d\x06\x0e\xd0\xc1\x73\x38\x1f\xbf\xef\xef\xf4\xfd\xeb\x54\xd2\xa4\x2d\xbe\x32\x82\x75\xcb\x99\x7f\x8a\x62\xbd\x32\xad\x9f\x95\x31\xc3\x99\x50\x88\x4d\xb4\x29\xbc\xe1\xe8\xda\x32\xa6\x46\x2f\xf8\x03\xb5\xe1\xa0\xf2\xcd\xc4\xb0\xcb\x42\x0a\x50\xae\x55\x4e\xff\x82\xc1\x98\x57\x5a\xd3\x1c\x85\xe6\xe6\xa5\x0f\x3d\xb6\x6e\xaa\xba\x89\xed\x28\x19\xe2\x40\xdd\xcc\x04\xd2\x65\xe3\xd2\x25\x04\xc1\x4d\xe4\x0b\x16\x14\x03\x49\xa5\xa8\x3e\xcc\x7c\x77\xda\x8d\x81\xea\xc6\x35\xf7\x73\x77\xc9\xe2\x11\x2c\xed\x92\x43\xd0\xf7\x33\x77\x2c\x97\x92\xcc\x2b\x45\x85\x2b\xd2\xd1\x31\x34\x16\x20\x15\xb5\x4d\x35\x6a\xe5\x3e\xb5\x2b\x1c\xb2\xa1\xf6\x93\xff\x4a\x32\x54\x13\x66\xb0\xd6\x66\xb3\xcc\xe2\x36\xc2\xa2\x9d\xff\x7a\x86\xbe\x0d\x09\x73\x9e\xc5\x7a\xc3\xc2\x59\xe9\x48\x10\x66\xbf\xe2\xa0\x71\xce\x52\x94\x88\x76\x25\x52\xca\xc2\xc0\x95\xea\x33\x1c\xb5\x85\xda\x52\x04\x66\xc1\x8d\x98\xe3\xdc\x16\xe0\xff\x32\xbe\x6d\xee\x5d\xf5\x46\xaf\x89\x2f\xa0\x70\x04\xbe\x1d\x91\x97\xa4\x51\xbc\xce\xca\x58\x8e\x2a\xd4\x3a\xb5\x6d\x33\x32\x49\x4e\x24\x8e\xaf\x10\xbe\x9b\x89\xe3\xba\xe4\x20\x34\x97\x16\xd5\x47\xf4\xb5\x14\x5f\x56\xe9\x42\xf2\xf4\xef\xbb\x6b\xf7\x74\xcc\x1c\x1e\xef\xb0\x8c\xd6\xe8\x61\xf4\xd5\x0a\xfc\xba\x32\xf8\xea\x89\x79\x81\xd7\x47\x2a\xbb\x68\x46\x46\x94\x24\x93\x92\x2f\x4c\x0a\xa7\x33\x83\xfd\xfb\xed\x84\x0a\xdc\x84\x43\xa7\x4f\x39\x6f\x15\x1d\x94\xd9\x4c\xe5\x26\xc4\x59\xdd\xe5\x33\xf0\xeb\x5e\xee\xc3\xb3\x87\xa8\x3d\x90\x9b\xfa\x51\x77\x41\x5a\x8e\x69\x4e\xe3\xad\x12\x7c\x72\x87\x2b\x8d\x57\xaf\x02\xa9\x6a\x4f\xc2\x53\xc2\x75\xf9\xe6\x45\xb4\xf3\x08\x2c\xec\xad\xc8\xb8\xad\xbc\x27\x91\xaf\x71\xc3\xa8\xe0\x91\xfb\x6b\x4e\xde\x3d\xf5\xd7\x3a\x93\x7f\xad\xbd\x86\x1f\x60\xaf\xd4\x5a\xea\x2e\xcb\x74\x46\xb4\x55\xcc\xee\x18\xb1\xf7\x21\xc9\xfb\xde\xed\xf8\x83\x76\x3c\x43\xef\xb8\xf4\x06\x8e\x0f\x4a\xc9\x0c\x25\x3d\xd7\x8f\xd1\xa5\x5f\x3d\x3f\x8b\x86\xeb\x32\x26\x7c\xfc\x80\xb8\x47\xff\xa0\xcb\x3a\x03\x4e\xf3\x13\xb6\x2b\x41\x68\x01\xa9\x25\xc5\x57\xa7\xa3\xe7\x30\xab\x5f\xe5\x5f\xab\xe7\xe8\x5a\x67\xae\x87\xb9\x19\xe2\xf3\x25\xbe\x23\x93\x62\x58\x26\x8f\x1b\x27\xf2\x53\xfa\xaf\x73\xa3\xeb\x3f\xc1\xc6\xf2\xd3\x63\x49\x8b\x70\x35\xa8\x06\x99\x58\xbd\xf3\xe5\xf7\x0f\xfb\xc3\x40\xe5\x25\x4a\xa7\x99\x60\x42\xb6\x1d\xa2\xc7\x01\xd7\x74\xbf\xe4\xa8\x64\xd1\xa2\xb5\x22\x8e\x9d\x97\x1c\x6b\x1f\xd9\xb1\x7a\x9b\xdb\x6f\x96\x4b\x56\x09\x9c\xf8\x60\x17\x4e\x1d\x0f\x5b\xa5\xf8\xbb\xa5\x65\xe9\x74\xad\x22\xb8\x82\xc1\xeb\x9a\xb5\xd5\x64\xa7\x1e\x5c\xc9\xa1\x60\x24\x35\x9a\x5b\xa5\x53\x22\x3d\x48\x58\x37\x65\xe0\x86\xea\x0e\xe0\xbb\x91\xbe\xfa\x99\x70\x15\xd5\x91\x5b\x02\xf1\x46\xbd\x09\x0f\x28\x07\xde\xd7\x4a\xa3\xee\xad\x95\x6c\xad\xfb\x12\xa1\xd5\x90\xe3\xdc\x6b\xdf\x30\xd2\xd9\xe0\xaa\x19\x0a\xf0\x4a\xd7\xb8\x0c\xf2\x7e\x84\xba\xa6\x09\xd9\xbe\xb4\x9e\x0c\xbf\x7e\x84\x3a\xca\x08\x84\x84\xc7\xa8\xca\x15\xb5\xac\x04\xc6\x38\x4d\x7a\x1d\xed\x29\x92\xfc\xc3\x2a\xd5\xf0\xf1\xdd\x9d\x87\x77\x6d\x97\xd4\x28\x35\x5a\x8e\xa9\x92\xea\x0a\x98\x31\x55\xab\xf3\xa6\xaa\x96\x8e\xaa\x98\x51\x3a\xda\x30\x73\xa6\xbf\xfa\x6f\xf9\x5c\xb7\xcf\x10\x95\xef\x9f\x95\x91\xc5\xe3\x48\xfe\x26\xf5\xa0\x2c\x23\x62\xee\x6f\x52\xc9\xe1\xe9\x2b\x82\x97\x24\x2c\x92\x59\x85\xd5\x7a\xb8\x3f\xd9\xdf\xbf\x1c\xb8\x95\xd3\xcf\x72\x1d\xe9\x06\xea\x83\x30\x93\x4e\x54\xc1\x56\xc9\x7d\x1b\xf9\x95\x69\xb5\x46\x78\x7d\xba\xfb\x30\x98\x02\x4a\xef\xd0\xed\xab\x60\xd8\xef\xc9\x6c\xaf\x42\x98\x55\x79\x01\x17\x8f\x90\x7d\xba\x71\x57\x39\x72\xaa\x8e\xa7\x7d\xf2\x60\xdb\xf6\x69\xce\x83\x6c\x2b\x7b\x68\xa8\xc7\xff\x51\x68\x71\x85\x3d\x93\x7d\x26\x0c\xaa\xc7\x33\x31\x7a\xdb\x3d\xcf\x25\xfb\x31\xc4\xd2\xa3\xc7\x48\x8d\x74\xd8\x6b\xfe\x57\x3a\x53\xcb\xc0\x1b\xf6\x34\x95\xcd\xa4\x66\x7c\xcf\x18\x0d\x93\x92\x41\x4e\x47\x2a\xd3\x1f\x07\xce\xe0\x6f\x1f\x11\x74\x91\xce\x9b\x7b\x69\xc0\xac\x1e\xde\x25\x0c\x98\x47\x7d\xb8\x51\xda\xa2\x4a\xda\x70\x40\x27\x85\x69\x66\x85\x61\xb0\xcf\xbb\x60\x95\xd6\xa9\x38\x7c\x15\x7f\x6e\xb4\x4f\xc1\x58\xbf\xb3\x04\xf7\x64\xe4\xb8\x82\x3f\xe1\xbf\x8f\x63\xf0\x19\x5e\x89\x1a\x32\x0b\x6d\x79\x69\x3d\x09\xba\x59\x42\x7b\xf6\x86\x00\x75\x00\x58\x4f\xba\x45\x56\xb2\x3e\x11\x40\x10\x3b\x50\x97\xf3\xb8\x15\x08\x03\xee\x54\x42\x0c\xad\xc0\x03\x61\x2e\xb0\x16\xda\xc2\xeb\x2d\x95\x5c\x94\xc7\x23\xb2\xea\x1f\xad\x03\x35\x8c\x2b\x19\xa7\xb8\x92\x76\x2d\x4d\x17\x93\x0e\x3d\x45\x34\x93\xb9\x86\x38\x96\x26\x68\x04\x83\x72\x5f\xdc\x1a\xbc\x5a\xde\x5d\x2f\xa2\x26\x98\xd0\x04\xb1\x72\x4b\xcd\x75\x6b\x72\x42\x5d\x5e\x8f\x70\xc6\x74\x40\x2a\xa6\x76\xd0\xb8\xb3\x06\xab\x1c\x25\xa2\xeb\xc9\x95\x1f\x86\x55\x09\x4b\x94\x03\x08\xe5\x7a\x24\x05\x4a\x81\xac\x52\x11\x81\xb2\x78\x4a\x95\xb7\x80\x82\x32\x24\x21\xfc\x5c\x65\xe3\x39\x1a\xdd\x28\x66\xe2\xe6\x40\x15\xb3\x12\x6a\x79\x48\x49\xb5\x5c\x5b\xc7\xe1\xa5\xa7\xb7\x06\x59\xb1\x64\xdf\xd8\xa1\xa1\x54\x4b\xa8\x0e\xc6\x63\xbc\x49\xf0\x59\x95\xd4\xb5\xf5\x9d\x02\x56\xb4\x12\x08\x45\x0d\xfa\xee\xc9\x4b\x97\xcf\x5c\x38\x2f\xd2\xcf\x52\x3c\x8a\x30\x7f\xef\x22\xb4\x6d\xf4\x2f\x97\x2f\x9c\x8f\x92\xe9\x7f\x45\x86\x53\x85\x5a\x6a\x99\x60\xe3\x0a\x74\x73\xc6\x30\x96\x73\x1c\x58\xbb\xd6\x81\xa6\x76\xe3\x4e\x3a\x96\x6d\x30\xc5\xc7\xd3\x68\x8d\x37\x31\x4e\x29\xa1\xd4\xe5\x1a\xcd\xe9\x44\x74\x8a\x90\xd0\x11\xce\x90\x42\x00\x38\x3d\x23\xae\x07\xe4\xa6\x31\xfa\xe4\x66\xc8\x89\xcc\xbf\x72\x38\x64\x1c\xc2\x53\x0f\x44\x86\xe1\xf4\x61\x52\xb6\xc2\x23\xa0\x95\x43\xa6\x15\x6d\x10\xcc\x48\xf8\x7c\x75\xcc\x82\x7f\x7a\xdd\x57\xcc\xe8\xd1\xe0\xe9\x13\x24\x93\x36\x68\x83\x88\x54\xb8\xf6\x4c\xe7\x42\x1b\xb0\x43\x1a\x4a\x74\xa7\xbf\x59\xd9\xd9\xdc\x80\x75\x32\xa1\x32\x46\x58\xb6\x4f\x1a\xf3\x0f\x7c\x87\x18\x42\x1b\xb7\x22\x19\xf5\x9d\xc2\x14\x37\x9f\x45\x83\xe7\x6f\xf0\x57\xd4\x83\x2f\xde\x80\x1a\xaf\xa0\x81\xf7\x7d\x9a\x1b\xad\xff\x9b\xde\x5f\xd5\xf4\xf6\x38\xb4\x8e\x68\xb1\x0e\x81\xcd\x3a\xae\xef\x4d\xe3\x04\xfc\x70\x48\x73\x02\x4f\xc7\x51\x2b\x9e\x83\x31\xbb\x21\xe9\x6c\x6f\x69\x43\x93\x85\xbd\xc1\x87\x3c\x44\x7a\xdd\x58\xa1\xee\xfd\x58\x35\xd0\xd2\xe0\xb2\x9e\x97\x4f\x0c\xcd\x73\x16\x38\x2e\xde\x65\x28\xb0\x8b\xca\x8c\x08\x24\xf2\x68\x9b\x41\x61\x60\x89\xe2\xd2\x00\x3c\x02\x69\x4f\xa1\x24\x5a\x61\x18\x8a\x3e\xa6\xd3\x28\x39\x33\x50\x3d\x61\xa4\x0c\xd7\xaa\xd3\xbf\xc4\x83\xcc\xc9\xed\xa2\x77\x42\xb2\x68\xc6\x54\x8a\x23\xfc\x65\xcc\xf0\x72\x11\x21\x97\x74\xb2\xfd\x71\xf2\xd2\xf9\x33\xe7\x4f\x33\x28\x1f\x1b\x07\xb8\xbf\xc9\x40\x34\x46\x17\xe6\x9e\x99\xf7\x39\xde\xc4\x6d\x4e\x04\x49\xa3\xf9\xc6\xdc\x7c\x73\x09\x33\x95\x67\xa0\x4c\x6d\x2e\xae\x93\xa8\x3f\x39\x02\x30\xac\x04\x56\xd1\x8d\x06\xe3\x02\x60\x98\x27\xaa\xfc\x94\xba\xae\x7e\x44\x90\xf2\x0e\xeb\x09\xae\x3e\x9d\x8f\x9b\x4d\x90\x9f\x76\xe5\x7c\xa3\xed\x57\x3f\x41\x77\xb9\xf5\x79\x8b\x8f\x5f\x0a\x29\x8a\x8d\x93\xa0\x1f\x59\xfb\xda\x84\x63\xdc\xa6\x70\xd6\xd5\x1f\x9d\x2d\x53\x90\x47\xc9\xba\x77\x9e\xe0\x76\x86\xd3\x75\xf0\x78\x45\x61\xc5\x73\xa2\x35\x66\x36\x2a\x1b\xf8\xb3\xf5\x68\x17\x63\x48\x9e\x64\xe8\x1d\xf8\x92\xfd\xed\xc6\xe0\xee\x66\x21\xc2\x44\x0a\xda\xd4\x93\x12\x51\xa6\x9d\xc2\x5c\x4e\x28\xfb\x0f\xd4\x5e\xca\x98\xcb\x1c\x18\xe7\x78\x66\x54\x94\xb5\x8b\xbd\x50\xa4\xc3\x40\x83\x13\xd6\x60\x6b\x0e\x8a\x64\xe8\x89\x89\x21\xf8\x66\x31\xb4\x0e\xf8\x51\x2b\xfa\xdd\x5b\x6f\xe1\xef\xbf\x3f\xfa\xd6\x98\x86\x39\x28\xca\xc5\x17\xe5\xe9\x38\x6e\x69\x5e\xc0\x31\x8a\x24\x62\x20\xfe\xf6\x3c\x22\x44\xd3\x0c\xa7\x38\xc1\xc7\x9b\x49\xaf\x0e\xca\xbf\xd7\xaa\x77\x96\x0e\xa5\x51\xbd\xd6\xad\x4d\xd7\x52\x38\x10\x26\x61\xce\xdf\x6f\x25\x8b\xcd\xb8\x3e\x67\x20\x6a\x0a\x75\xe9\xd4\x07\x4e\xb9\xad\xf3\xc3\x97\x23\xd4\x06\xae\x36\xc3\xc4\x2f\xff\xa9\xda\x71\x86\xbb\x43\xcc\xee\x54\xcb\xcb\xc0\x53\x20\xf2\xb6\x4e\xf1\x74\x32\x3f\x8b\xb0\x36\x2f\x3f\xd9\x79\xdc\x07\x3d\x4f\x9f\x16\xfd\x5c\xb4\x40\xbf\x20\x29\x74\xb3\x72\xf1\x22\xef\x7f\x6a\xee\x54\x85\x92\xb8\x14\x71\x3e\xd4\x81\x05\x73\x62\xb0\x6f\x30\x7a\x5e\xc3\x24\xab\x4c\x53\xf8\xe9\xbb\x17\x42\x3b\x51\x92\x33\x66\x74\xec\xb0\xaf\xa3\xff\x62\xf0\x6a\x13\xe5\x50\x88\x59\x84\x3a\x65\x0d\x2e\x7b\x9b\xcb\x59\x30\xfe\xe0\xe3\x67\xdb\xaf\x9e\x0d\xee\xdd\xa5\xac\x5e\xc5\xcb\x48\x40\x84\x77\x9e\xe0\x9f\x40\xbc\xcb\xf5\x68\x75\x46\x47\x6e\xd1\x5d\xd2\x66\x47\xc9\x21\x7c\x7b\xdb\x6d\xe7\xd9\xa8\x64\x66\x38\x4f\xef\xd0\x59\xe9\xf6\x47\x79\x7b\x54\xfa\x71\x38\xed\xfb\x40\x36\x9d\x61\x66\xf5\x6f\x3a\xde\x4d\x18\x13\x51\xc8\x05\xe3\x14\xc4\x03\xde\x4f\xa3\x6d\xa3\xac\x8d\xf6\x3e\xd2\x9b\x0b\x29\x27\xa2\x5a\xb7\x1b\x2f\xb4\xbb\xa6\x82\x85\x5a\x3d\xd6\xf0\x88\xb5\x19\xdf\x38\xbe\x6d\x02\xa8\x6c\xbe\x78\x52\x40\x98\x91\x5b\x87\x5b\x5b\x27\x59\xd2\x30\xe5\xb9\x39\xb0\x92\x91\xd5\xd8\x14\xda\x0a\x23\x31\x8b\x39\xb4\xde\x5a\x88\x18\x18\x8e\x21\x1d\x78\x88\x58\xf6\xea\x56\xc2\x83\xaf\x41\x61\xc7\xd1\x4d\x3f\xce\x6e\xfa\xa4\xf0\xa3\x6a\x0d\xf5\x73\xa1\x6d\x12\xf4\x67\x60\xde\x5a\x3d\x11\x4e\x64\x08\x25\xe3\x90\xf6\xee\x55\xc3\xc0\x16\xd5\xdb\xe7\x57\xa6\x1e\x9c\xcd\xfe\xcd\x2d\x9f\xe2\x20\xd7\x53\x51\x4f\xec\x55\x35\xf8\x06\x92\x83\x8c\xee\x19\x98\x4d\xea\x0f\x1c\xfa\x5f\xf6\x7d\x19\xfd\xd2\x54\x68\x1a\x68\x03\x52\xc0\x05\x0d\x22\x02\xc3\x63\x58\x2c\x08\x84\xab\xa0\x06\x56\x9e\x20\x8d\x20\xf2\x9d\x9d\x86\x57\x14\xc6\x00\x3e\xf2\x5a\x56\x87\x89\x77\x3d\x53\xeb\x75\xa3\x08\x26\x68\x73\x0d\xf3\x19\xf1\xcf\xdf\xf4\x09\xbc\xcd\x63\xda\x0c\xa7\x64\x1b\xa8\xc5\xba\xe8\x17\x22\x08\x75\x67\xaa\xde\xce\xed\x76\x0b\x0f\x79\x3a\xd6\x1a\x05\xf3\x8d\x09\xcb\x84\xa3\x09\x52\x2f\x11\xba\x5b\xb2\xd6\x84\x0a\x31\x69\x92\x70\xac\x3a\x8d\x85\x5a\x67\x89\x92\xf0\x67\x30\x2d\x2a\xc3\xae\xb2\x1b\x49\xd9\xf8\xed\x26\x21\x33\x14\x94\x10\xa5\x6b\x36\x70\xe3\x2f\x50\x36\x34\xee\xfd\x1b\x47\x23\xf5\x9c\x10\xbd\xc3\x9f\x61\xf8\x91\x32\xab\x82\x05\x7f\x47\x5f\x22\x91\x56\x8c\x61\xd8\x7e\x05\x4c\x0a\x1b\xea\x40\x18\x2e\x6a\x1d\x14\xa3\xff\x9e\x88\xa2\x3f\xc6\x19\xf1\x0f\x82\x8e\x68\xdd\xa9\x3e\x37\xf1\x4b\x84\xdc\xd8\xe3\x08\xaa\x7a\xb2\xd8\xd2\x1f\x65\xda\x0c\xb9\x9f\x89\xb0\xad\x5e\x27\x06\x1e\x98\xa4\x5c\x13\xa6\x63\xa2\xe4\x62\x36\x95\x89\xe8\x02\xda\x68\xa1\x23\x6d\xa1\x31\x87\xf8\x59\xf5\x31\x5d\x59\x06\xe7\x0d\x8d\xe5\xde\x60\x1e\x7e\xf0\x6c\x1a\x42\xa1\x16\xb6\x3f\xaa\xb2\x8f\xb7\x06\xdf\xdf\xd2\x5f\x58\x89\xac\x25\x2a\xa0\x8a\x69\x45\x51\xcc\x14\xad\x42\xc9\xe9\x04\xc3\xe5\x43\xbd\x76\xda\xb8\x6e\x00\xff\x1f\x6d\x92\x40\x4e\x4d\xf9\x9c\xf8\xe2\x61\x8c\x0c\x2c\x1a\x6a\x2e\x98\x68\xf5\x6f\x8d\x7a\x23\x99\xa2\x3a\x1d\x8f\x22\xe9\xd4\x16\x76\xe8\xea\xb3\xc7\x57\x58\x71\x58\x02\x14\xd5\xee\x7a\x5f\x3b\x32\xfc\xfa\x8c\xd7\x67\xe1\xeb\xec\x9b\x6f\x29\x1b\x65\xfb\xbf\xdf\xe8\x7b\x56\x36\xc2\x59\x5f\x10\x6a\x46\xc7\xc2\x19\x66\x83\x7b\x84\x39\x66\xae\x54\xdf\xaf\x52\xd2\x63\x1e\x5b\x4b\xd1\xdd\xe8\x31\x55\xb0\x20\x20\xda\x55\xbb\x1a\x5e\xd2\xdc\xf6\x60\xbc\xff\xe3\x8e\x57\x5f\x17\x74\xeb\xd3\x65\xf8\x9c\xb0\xb3\x97\x39\x47\x08\x3d\x36\xa0\x95\xed\xd1\xc3\xf3\x29\xeb\x8c\x7c\xc6\x0c\xa3\x24\x6b\x1d\x34\x51\x8e\x21\xb6\x27\x63\x47\x63\xfe\xb4\x8b\xa0\xc6\x10\x8d\x18\xe3\x63\x7d\x92\x3a\xdf\xa4\x0a\xfc\xdd\x70\x7f\x89\xde\x04\xbd\x61\x32\xe8\x69\x53\x61\x21\x43\x9f\x90\x1e\x8f\x45\xd6\x77\x69\x29\x50\xb5\x34\xf6\xa2\x53\x42\x0f\x80\xc2\x12\x44\xa0\x01\xa6\x48\x56\xce\xaa\x34\xee\x5e\x47\x66\xb7\xf4\xfa\xf4\xd2\x75\x1d\xa1\x21\x85\x1c\xe9\xde\xe1\xe6\xfa\xfc\x6f\x99\x5b\x4a\x12\xe3\xe4\x48\xe3\x75\xaa\xa4\x91\x1c\x4f\x8d\xbc\x9d\xd8\x50\xf4\xed\x94\x0d\xb3\x83\x73\xeb\x80\x82\xa9\xf3\x5c\xa8\x11\x2c\xec\x64\x31\x8d\xd4\xc3\x60\x74\xb6\xd1\x92\x5c\x62\xfa\x53\xe3\x03\x09\x4b\xbc\x98\x2c\xc6\x9d\xcb\xe8\x6f\x29\x91\x67\x7d\xe8\x17\xd8\x69\xc0\x89\x02\x0b\x12\xac\xfe\xa4\x4e\x54\x05\xa7\xce\x9c\x3d\x49\x67\x80\x62\x1c\x4a\xbb\x75\x30\xe8\x85\x7a\xf8\x47\x4d\xda\x83\x45\x71\x6c\x48\x1e\x28\x46\x4c\x81\xdd\xf9\x4a\xa6\xc4\xe3\xda\x35\xed\xca\x0d\xf4\x70\xd2\xa1\xa8\x18\xa5\x67\x1b\x52\x64\x2e\xbb\x60\xb5\xb3\x86\xd2\x0e\x82\x15\xfd\x19\x79\x06\x3b\x33\xf3\x8d\x1b\x71\xf6\x82\xa7\xdc\xe3\x15\x22\x59\xb1\x38\x98\x75\x3b\x3f\x6c\xa1\xcf\xf2\xcd\x4a\x0e\x34\x75\x2b\x98\x79\xfc\xde\xb9\x2b\x67\xa7\xce\x5c\x9c\xbc\x34\x75\xe4\xd4\x85\x4b\xe7\xc6\x4f\x4c\x4e\x4d\x46\xc7\x2f\x9c\x9f\x3a\x79\x7e\x2a\xfa\xc3\x99\x13\x27\x4e\x9e\xbf\x26\xd4\xfb\x1e\x1e\x05\x4f\xee\xa1\x93\x1b\xb6\xe8\x91\x9d\xaf\xef\x81\x69\x9c\x99\xf4\x36\xbb\xf5\x32\x1a\xef\x3b\x4f\xef\x5e\x13\x1a\x71\xf1\xd2\x99\x77\x27\xa7\x4e\x46\x54\x7b\x49\xad\x56\xb4\x73\x56\x55\x59\x05\x73\xcd\x64\x1a\xec\x0c\x05\x86\x78\xcd\x5c\xd5\xde\xd3\xf9\x01\xe9\xc4\xc4\xc4\xb5\xe8\x3d\xfd\x77\xfd\xa1\xd8\x88\x37\xb7\xf0\x09\x1f\x39\x13\xc8\x1b\x78\x4d\xed\x8d\xe8\x3d\x4e\x25\x60\x69\x3a\xbb\x80\x3f\xf1\x37\x8d\x95\x92\x98\x1e\xa9\x14\x87\x54\xb6\x9b\x88\xb1\xbb\x6b\xdf\xc2\xc8\x08\xe5\xc4\x9d\x89\xd7\x9c\x7b\x02\x98\x04\x94\x82\xfd\x2a\x79\xbb\x77\xef\x2f\x13\x17\x87\x90\x4a\x59\x8d\x56\xb1\x9c\xe6\x2f\x98\x4a\x2a\x16\x01\x5b\xb2\x96\xce\x8b\x6d\xa7\xe8\xc9\xef\xbf\x1b\x7c\x29\x57\x9a\x39\x0b\x09\x74\x28\x24\xc8\x0e\xe5\x82\xbb\xd2\xf6\x6b\xc1\x79\x6f\x4b\x95\x46\x44\x2c\x29\xaf\x18\x69\x14\x30\x22\x50\xe3\x53\xce\xc2\xf1\x22\x8f\x06\x07\xf8\x69\xb0\x49\xa2\x12\xf3\xcb\xcc\x38\x0c\xca\x12\x6e\x55\xb2\xa4\x20\x86\xae\x06\xc7\xb2\x60\x3d\x49\x9a\x36\xc5\xec\x4f\xfd\x12\xb5\xca\x14\x9f\xa4\xb5\x7e\x14\x5e\xa5\xa7\x31\x82\x87\xee\x2f\x18\x1b\x24\x27\x14\x83\x06\x7c\xb0\xc5\xc1\x3c\x84\x75\x83\xfd\xdd\x0a\xc2\x36\xcd\xb4\x7b\x12\x7a\xc3\xc5\x2b\x42\x91\xf0\xe2\xa5\x85\x2b\x6e\x3c\x2a\x2c\x53\x7c\x73\x69\xd9\x2e\xa9\xc7\xe9\x4c\xa7\xd1\x0e\x05\x1c\xf5\x9f\x80\x9e\x93\x4a\x13\x01\xb9\x58\x32\x63\x0e\x17\xca\x37\xd2\x2a\x5a\x27\x42\xe3\x71\x77\x4d\x18\x01\x10\x22\x26\x81\xac\xae\xe2\x5e\xfd\x48\x40\xde\xc1\x92\xe2\x0a\xd2\x45\x85\x15\x54\x31\x14\xa7\xfc\xcd\x92\x93\x73\xa4\x56\xe8\x14\x99\x50\xd9\x42\x62\x0d\x11\x74\x2a\x24\x52\xfe\x64\x8c\x09\xa1\x5a\x11\xac\x78\xf3\xc7\x40\x9c\x88\x84\x9b\x79\x4b\xa7\xea\xd8\x98\x9c\x74\xb1\xfd\x74\x25\xff\x67\x34\x5a\x06\x77\xbe\x31\xd6\x3b\xa3\x52\x5f\x6d\x15\x25\xd8\xf0\xa0\x1c\x0d\xf6\x97\x99\x59\xe3\x5e\xa2\x7e\x8c\x73\x93\xff\xe2\x82\x56\x97\xbc\x5a\x07\x86\xc7\x1d\x09\x35\x3c\xee\x98\x8d\x34\x3c\x9e\x71\xc0\xe1\xf1\x8c\x9a\x34\x3c\x45\x09\xc1\xe1\x19\x7d\x5c\x44\xda\x52\x53\xb5\xb8\xf4\x17\xe5\xe8\xc4\x7b\x88\xf0\x1f\xa2\xe2\x53\xe8\xbf\xc1\x78\x2e\xa9\x24\x51\xc9\x50\xa8\xe0\xc5\x0e\x7a\xda\xba\x4b\x3a\x64\x31\x9d\xb7\x41\xc2\x91\x5c\x51\xd2\x28\x0e\xa7\x8c\x47\x14\xcc\xe2\x61\xb8\x82\xfe\x16\x19\x12\xcd\x34\x2d\x1b\x2c\x32\x41\x09\x91\xcb\x2b\x60\xf6\xbc\x7a\x22\x06\xf7\xf3\x61\x1d\xc1\x85\x95\x19\x58\x67\x67\xf1\x72\x90\x22\x15\x79\x3c\x33\x9f\x90\x6f\xd1\xbc\x8d\x43\x2d\x9d\x25\x2b\x7f\xf6\x44\xa6\xbf\xe5\x73\xd5\x09\x54\x50\x30\xc8\xeb\xd1\xce\x4f\xeb\x3b\x9f\xae\x46\xe8\x77\xf8\x69\x35\x9f\xd3\x48\x56\x81\x58\x8f\xbf\x1f\xd0\x8d\x40\xa4\x9e\x0e\x8e\x0d\xc4\x5d\xcc\x76\x62\x72\x30\xb6\x6b\x0d\xf1\x44\x7e\xbe\x35\xf8\xcf\x15\xed\x81\x86\x8d\x02\xff\xf2\x0b\x2b\xe6\x1a\xc1\xbe\x17\xa4\x7a\x92\x8c\x6e\x09\xaf\xed\x5e\xb1\xda\xfa\x4d\x63\x69\x0d\x78\x6a\xc8\x68\xaf\x0d\x04\xb5\x42\xd4\x95\x8c\x63\x6f\xdd\x44\x5a\xcd\x14\xa2\x43\xd5\x9d\xc7\xbd\xde\x58\x91\x7a\x9c\xa4\x22\x4b\x93\x66\x18\xf0\x97\x34\x36\xf5\x42\x08\x05\xb6\x52\xd9\xb0\x59\xee\x20\xca\x64\xd8\xa9\x01\xe3\x5c\x8b\x27\x53\x53\x03\x44\x9c\xc1\x50\x24\x8c\xeb\x86\xd9\x4c\x93\x16\xc3\xac\x7f\xd0\xe8\x3a\x8b\x7f\x0c\x4f\xfc\xee\xf5\x34\x23\x39\xc5\x4f\x98\xf3\x54\x8e\xd9\xb7\x5a\xe8\xaf\x12\x5d\x86\x8f\x36\x47\xaa\x32\xd8\x41\xf9\x2e\x96\xb5\xa8\x44\x82\x18\xba\x6b\x77\x4a\x92\x71\x83\x02\x03\x1b\xad\xf9\xb8\xd3\xe8\x32\xcd\x3a\x1c\xc9\x3a\x14\xb7\x24\xf2\xd6\x60\x71\x29\x12\x43\x8b\x93\x70\xe7\xf6\x47\x88\x88\xc2\xec\xe8\xe1\xca\x6f\x98\xe0\x35\x7d\x82\x1c\x3f\x75\xfd\xf2\xd4\xe4\xe9\x33\xe7\x4f\x5f\x57\xe4\xa6\x5a\xd3\xc9\xec\x56\xce\xb9\x51\x14\xc0\x5e\xb9\x62\x3b\xb7\x5f\xfc\xd5\x92\x3d\x52\x3b\x2f\x4d\x5d\xb9\xb8\xa7\x76\xda\x02\xf6\xd0\xce\x66\x6d\x3a\x16\x1d\x0b\xe4\xf4\x1e\xbc\x59\x95\x8a\x62\xc8\xa6\x7e\x1b\x93\x64\x3c\x5d\xc6\x07\xea\xa7\x9f\xa9\x37\x8e\x80\xa8\x5e\x9b\xef\x6d\xa2\x09\xa3\x45\xe9\x67\x02\x9d\x92\x81\xec\x09\x82\x5c\x06\x1b\x96\xd6\x3a\xe1\xff\x8a\xb7\x30\x84\x65\x90\xcb\x3e\xde\xdc\xfe\x41\xb0\x86\x82\x9a\xb1\x04\x1b\x9b\xcb\x8a\x43\xa0\x0b\x0b\xfd\x0d\x05\xd5\x07\xce\xe8\x56\xd2\x8a\xa6\x6b\x69\x63\xc6\x3c\xc2\xc9\x69\xd1\xf4\x3a\x95\x3d\x98\x04\xdc\x94\x20\x55\x6c\x4c\xb0\x18\x39\x6e\x61\xef\xe8\xa8\x5e\xe5\x01\x01\x7b\x2a\x70\x6c\xb1\xeb\x83\x40\x40\xf4\x01\xe6\xdf\x16\x42\xb5\x65\xa0\x0d\x62\x29\x51\x19\x87\x8a\xe1\x3d\x45\x2a\x47\x77\x05\x7f\x39\x34\xa2\xf8\x6d\x74\xa8\x73\x97\x8a\x99\xf7\x55\xf4\xc3\x24\xad\x77\x70\xbe\xd5\xc3\x74\x3a\xc9\x17\x76\xf9\xa8\x23\x9b\xcc\xcd\x91\x93\x65\x08\x6d\xe8\xce\xcb\xaf\x22\xa2\xbe\xc7\xce\x4a\x5a\x91\xde\xdc\xe4\x62\x22\x07\x74\xa8\x5c\xd2\x11\xed\xa2\x2f\x9f\x8b\x46\x51\x3b\x49\x1b\x21\x77\x0b\xa5\xee\x09\x45\x39\x38\x5e\x74\x09\x53\xac\xaa\x08\x16\x4c\xd9\xa2\x92\xb6\x30\x29\x9f\x82\xb6\xc0\xf0\x63\xc5\x05\x20\x8d\x95\xf3\x89\x20\x44\x6f\xce\x34\x44\x2d\x6f\x76\x67\x88\x64\x3e\x27\x4b\xb4\x51\x72\xc2\xc4\xee\x11\x34\x71\x1d\x43\xd1\x3a\x8d\x69\x02\xe7\x45\xef\xd0\x75\x1a\xb4\x43\x1a\xc1\x5c\x1c\xbc\x3e\x3d\xd6\x7e\xfa\x05\x86\xe6\xdb\x05\xe9\x61\x98\x60\xca\xc5\xa3\xc3\x57\xb5\x31\xbd\x86\xac\x39\x2b\x37\x62\xc5\x7c\xa4\x0c\x59\xab\x2a\x34\x62\x95\x94\xc3\x34\x64\x8d\x5c\x86\x82\x97\x4a\x2a\xa4\x24\x2c\x8a\x9c\x1f\x4a\x0b\x06\x01\xfc\x4d\x86\x96\x50\x96\x63\x06\xa5\x05\x69\x38\xc0\xfc\xa5\x87\x87\xa0\x91\xe4\x90\xaa\x15\x5d\xb3\x4a\x3b\x07\x0b\x8f\x8c\x54\x13\x96\x3a\x12\x5e\x4c\x35\x91\xb2\x2b\x7a\x78\x99\xef\xc7\x22\x6f\x89\x1d\x83\x1c\x16\x12\x38\x93\x2c\x29\x81\x53\xc6\x8d\xae\x2b\x15\x65\xde\x50\x82\xd2\x4a\x87\x49\x28\x4d\xee\x51\xe9\x64\x26\x17\xa7\x50\xb0\x11\x98\xee\x8d\xad\xdd\x87\x82\xb1\x59\x8e\x8d\x1c\x28\xc7\xf0\x08\xf2\xed\x35\x87\x75\x20\x9c\x0c\x24\xaa\x44\x88\x54\x34\x9d\x37\x0c\x51\x96\x93\x08\x1f\x3d\x02\x1e\xd0\xcb\x97\xff\xa0\x32\xbe\x6c\x17\x91\x4a\xd2\x5c\x5b\x86\x0b\x4c\x8e\xb9\x4c\x50\x7d\x25\xb5\xe3\x2d\x9c\x87\x29\xd8\x35\x75\x03\x3f\xe0\x46\x85\x7d\xc2\x81\xca\xf7\xa3\xd6\x7d\x1b\x89\x91\x1a\x63\xe6\x63\x56\x7c\xea\xcf\x55\x19\x18\xf5\x47\x8a\x09\x6f\xb8\x9a\xf7\xd2\xff\x3d\x2f\x01\x3d\x09\xc3\x75\x7f\x2f\xfd\xde\x8f\x69\x1f\x7d\xbe\xf1\xca\x6a\xcf\xb9\x54\x7b\xf5\x71\x5e\xb7\xbc\x38\x43\x0c\x83\xc5\xc4\x38\x6c\x3b\x46\x6d\x40\x37\xf0\x62\xcf\xd9\xe8\x92\x26\x45\x9a\xb8\x90\x4d\x85\x6c\x6f\x01\x9b\x2a\x74\xdb\x08\xdc\x31\xd8\xe1\x3a\x52\xc1\x04\xa1\xb0\xa5\x92\xf4\x3a\x26\x2f\x18\x2e\x1c\xd5\x28\x03\x05\x19\xb3\x98\x35\x5c\x90\x76\x74\xf7\xc1\x8a\x72\x83\x46\x3b\x8f\x9f\x6b\x5e\x82\x87\xfd\xa8\xa4\x1e\x84\xca\x90\x07\x74\xfb\x85\x70\x26\x77\x89\x97\x6a\x04\x8f\xbe\x5d\x30\xec\xce\x77\x19\xd0\x02\x5e\x7c\x7c\xcc\x90\xdd\x10\xbb\xeb\x02\xeb\x4f\xaf\x85\x39\x4e\x2d\xcd\x3a\xd3\x15\xed\xbc\xb5\x15\x9d\xff\x42\x41\xa9\xc4\x3b\x23\x89\x0c\xfb\x0f\x0d\x85\x98\x50\xbc\x23\x39\x56\x45\xba\x2a\x28\x22\x2d\xcd\x60\x19\x69\x03\x42\x21\x61\xf7\xf5\xd2\xda\x9c\x7c\xc1\x2e\x21\x49\xc2\x40\xd9\x60\x51\xd1\x5f\xe1\xc0\x22\x96\x89\x50\x89\xba\x7e\x49\x37\x46\x4e\xc0\x5e\x92\x4d\xe5\xf5\x65\x7f\x91\x9b\x4c\x88\xa4\xc2\xaa\x3f\xfc\x30\x3a\x8c\x01\xcf\xaa\x09\xf4\x78\x93\x91\xb6\x5c\xee\x62\xba\xdf\x87\x1f\x4a\x0c\x77\x79\x59\x87\x33\xfa\x17\x51\x92\xd8\xa8\x76\x5b\x3f\x3a\x9d\xc5\xa5\x8a\x70\x5a\x55\xe3\xde\xfc\xc5\x87\x8a\x86\x43\x88\xa2\x53\x1a\xc6\xab\xdd\x90\x2b\x32\x5f\x41\xe7\xca\x45\x85\xe0\x7d\xec\xef\x4a\x30\x7c\xec\x4f\x17\x31\x33\xb9\xd7\x68\x76\x39\xf1\xe6\x74\xe2\x4c\xde\xe9\xc4\x10\xee\x94\x57\x6b\x00\x77\x40\x88\x62\xed\x71\x45\x64\x28\x81\x14\xb0\x26\xea\x6a\x02\x78\xea\xb5\xba\x17\x66\xb5\x0b\x15\x1a\xaa\xd3\x62\x42\x00\x68\xf9\x42\xa6\x45\xde\x74\x85\x9d\xfb\xa5\xe9\x06\x28\x94\xe3\xd5\x34\xea\x55\x38\x7c\xad\xf8\x7d\x28\x12\x13\x63\x6b\x1a\xe9\xfb\x57\x50\xe3\xc0\xa7\xc9\x6c\xa4\xfe\xa2\x50\xe8\x02\x21\x39\x56\xb1\x23\xf9\x52\x62\x5d\x70\x0a\xe8\x66\x05\xa2\x5a\x72\x5f\x56\x08\x72\xf1\x86\x4d\x5c\x6d\x4d\x9d\xb9\x78\x2c\x32\xf8\x5f\xa7\xf4\xb4\x58\x48\x60\x1a\x7a\xcb\xca\xf2\x4d\x99\xc3\x1d\x93\xcb\x6c\xf0\xad\xc0\xac\xfb\xaa\x66\xba\x57\x95\x3f\xe4\xc2\x72\xad\x17\x32\x3b\x29\x11\xe8\xf5\x96\x05\xcd\xe5\x6b\xec\xf0\x38\x5d\xfa\x7d\xf1\x6a\xeb\x6a\x97\xfe\x87\x47\xc4\x80\xc8\x71\x12\x8a\xce\x56\x89\x16\xe7\x63\xce\x2f\xbb\x4a\x00\xea\xbd\x74\xde\x54\x7e\xf5\xff\x93\x29\x4f\x9c\x5d\x3a\xdd\x0b\xb7\xab\xa2\xbb\x67\x8b\x09\x0d\x0d\x4a\xc4\x56\xc1\xf6\xa9\x21\x1f\x56\x28\xc2\x48\x40\x47\xa1\x57\x7a\x4e\x4c\x4b\xdc\x29\x41\x14\x19\x1f\xee\x8c\x89\x43\x4d\x1d\x29\x7e\x64\x37\xe8\x57\xbb\x3b\xaf\x18\xd4\x0c\xcc\x5b\x78\x1a\xed\xa1\xe2\x19\x44\x9d\xfb\xe9\x0a\x79\xb2\x28\x79\x96\xb3\x9b\x88\x39\x76\xb0\xba\x3a\xd8\xfc\xcc\x40\x49\xe0\xb5\xc5\x37\x70\xd9\xb4\xa9\x34\xcd\xcd\x68\x00\x86\x8e\x93\x52\xc0\x89\x3b\x79\x8d\x80\x7d\x74\xc0\x68\xac\x32\x19\x04\x4d\x3f\xb7\x74\x3c\x63\x1a\x5a\x39\x54\x89\x01\xb9\xd3\xd9\x2f\x32\xd6\xdd\xc8\x2b\x90\xd7\x5e\x6f\x4f\x68\x7c\xb6\x38\x9e\x9f\x03\x80\xe7\x43\x94\x41\x4e\x68\x42\x95\xd8\x6a\x2e\x45\x8b\x49\x07\xf6\x4a\x8f\x48\xb4\x8f\x9f\x8a\x2c\x03\x03\x35\xdf\xb9\xda\x07\x8d\x85\xde\x82\x39\x64\x1c\x6a\x7e\xdc\x36\x37\x5d\xe2\xb8\xc0\x12\x34\xf5\x9a\xa8\x38\x55\x5d\x76\x9a\xe5\x6b\xdb\xfe\x61\x05\xd7\x08\x27\xa5\x3f\x5d\x51\xda\xd2\xce\x39\xd6\x36\x1b\x2d\x1a\xba\x2f\xe2\xcd\x31\xd7\xa8\x2c\x01\xb0\xc2\xa0\xa8\x77\x85\xd4\x33\x18\x97\xd4\x93\x83\x11\xfc\x4f\xfb\x32\x1c\xf7\x29\xfe\xac\x30\x18\x85\xda\x54\x42\x3d\xee\x29\x7c\xc3\x78\xb0\x7a\x20\x03\xd1\xe4\x94\x5f\x83\x62\xc9\xd9\x65\x81\x7e\xe4\x0a\x84\x92\x00\xac\x60\x25\x26\xf3\xd6\xe6\xdf\x30\x11\x5a\xa2\x90\x11\x42\xb7\x70\xcd\xc5\x0b\xae\x89\x00\x7f\x28\xb5\x10\xac\x42\x47\x72\x65\x02\xf5\x64\x6d\x3d\x57\xb1\xa3\xb9\x42\xd5\x3b\x05\x87\x51\x73\x0a\x6e\xb4\xd0\x40\xfd\x4f\x6d\x30\x57\xc9\xae\x09\x8a\xb0\x98\xa6\x4a\x73\x70\x10\x1f\x57\x87\xea\x28\x61\xc1\x84\x12\xcf\xf7\x25\x0b\x2a\xff\x39\x52\x78\x76\x92\xb9\x8e\x9c\x29\xe5\xab\x83\xc8\xb0\x64\xaf\x8f\xa7\x48\xda\x9b\x41\x8a\xb0\xa1\x7a\xd2\x7f\x29\xde\x2b\x0b\xc1\xc3\x86\x3d\xb9\x86\xe4\xd0\x0c\xbe\x42\xc1\xc8\x1c\xdb\x25\xd7\xea\x8a\xc9\x42\x90\x9f\xbf\x41\xf5\x70\x7f\x4b\x07\xbc\x0e\xfa\x77\x09\x1b\xad\xc8\x8d\x3c\x72\x0b\xf7\xda\xb2\x3d\xb6\xa7\x72\xe0\x76\xa0\x2d\xde\x40\xed\xd2\x86\x10\xe6\x66\xaa\x15\x51\xf0\xc5\xb7\xf0\x75\xc9\x13\x30\x7e\xcf\xaf\xc0\x5a\xc3\xb2\x9a\x22\x4e\x77\xfd\xa7\x0c\xe9\x20\xfc\x62\x5c\x14\x76\xa4\x20\xcb\xa5\x7c\x28\x79\x62\xbe\x69\x40\xab\x4d\x7f\x4a\xde\x05\x3d\x25\x4a\x9e\x0a\x19\x6b\x94\x9c\xb6\xba\x8d\x25\x4e\x5c\x4f\x89\x32\xbf\x6e\xa0\x92\xe8\x30\x5e\xda\x38\x3d\x29\xe8\x5f\x91\xeb\xcc\x49\x08\xb4\xa0\x9b\xd3\x61\x13\xe6\x8e\xe7\xb9\xe1\x25\x1d\xfb\x17\xf7\x9e\x41\x21\xda\x16\x86\x08\x3b\xa0\xc3\x78\xae\x5d\x57\x17\x4e\xa8\xe0\x49\x15\xef\x42\x48\x93\x84\x4d\xe8\x42\x2d\x7b\x1a\xa6\x54\x8c\xb7\x71\x23\x19\xad\x8c\x67\xab\x9e\x1a\x6a\x2a\x50\xaf\xd7\x69\x8e\x45\x6d\x26\x93\x56\xce\x3d\xf8\x8d\xfe\x4a\xd4\x90\x84\x11\x70\xec\xc8\x11\x04\xf5\xbb\x8e\x21\x45\x13\x33\xc9\x82\x3c\x00\x54\x87\xd1\x04\x19\x8c\x26\x72\xcb\xe7\x73\x6c\xfc\xb2\x99\x61\xe9\x1b\xb4\xbc\xa8\x90\x45\xc1\x58\xa5\x8f\xca\xa2\x40\xa3\x8a\xee\x0a\x70\x2d\x64\x03\x00\xfe\xf8\x81\x1d\xe9\x5d\xd8\xf6\x81\x4e\x0d\x2d\xb4\x10\xd5\xf0\xff\xae\xfd\x4f\x00\x00\x00\xff\xff\x9b\x51\x4c\x4d\xfa\x25\x03\x00") + +func cfI18nResourcesKoKrAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesKoKrAllJson, + "cf/i18n/resources/ko-kr.all.json", + ) +} + +func cfI18nResourcesKoKrAllJson() (*asset, error) { + bytes, err := cfI18nResourcesKoKrAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/ko-kr.all.json", size: 206330, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesPtBrAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\x4d\x73\x23\x47\x96\x20\x78\xdf\x5f\x11\x9d\xb3\x6d\x99\x6a\x03\x98\x92\xaa\xba\x6d\x8c\x66\x6b\x3d\x10\x89\xcc\xe4\x8a\x24\x58\x20\x98\xdd\x1a\x65\x19\x2b\x88\x70\x82\xa1\x04\x22\xa0\xf8\x40\x26\xa5\xd6\x61\x6d\x0e\x6d\x7b\xd8\xd3\xd8\x5c\xf6\x34\x9a\x3e\xb4\x55\x99\xe9\x54\xd6\x97\xba\xf2\x8f\xed\xfb\x70\x8f\xf0\xf8\x70\x0f\x0f\x00\x64\xaa\x67\x76\x7a\x4a\x09\x46\x84\xbf\xf7\xfc\xeb\xf9\xf3\xf7\xf9\xed\xff\xe6\x79\x3f\xc2\xff\x3c\xef\x59\x18\x3c\x3b\xf4\x9e\xbd\x8b\xde\x45\xb3\x93\x8b\xc3\x77\xd1\xb3\x01\x3f\xcf\x12\x3f\x4a\x97\x7e\x16\xc6\x91\xfa\xe0\xf8\xe4\x68\x84\x5f\xc0\x07\x3f\x0d\xda\x20\x7c\x13\xe7\x89\xf7\x7f\x5e\x4e\xce\xbd\x34\x4b\xc2\x68\xe1\xa5\xf7\x51\xe6\x7f\xf4\xc2\xd4\x0b\xa3\x8d\xbf\x0c\x83\x03\xcf\xbb\x48\xe2\xb5\x48\xb4\x57\xd9\x5d\x98\x1e\x7a\xde\xfc\xd6\x4b\x45\x36\x4c\xf2\x28\x82\xa6\x43\x11\x6d\xc2\x24\x8e\x56\x22\xca\x86\x1b\x3f\x09\xfd\x9b\xa5\x18\x2e\x92\x38\x5f\x7b\xcf\x7f\x7c\xf7\x2c\xf2\x57\xe2\xdd\xb3\xc3\x77\xcf\x00\x6c\x0e\xbf\x06\xcd\x47\x3f\x3d\xb7\xf4\xe5\x32\xf7\xbd\x34\x44\x12\x84\x17\xc0\x4f\xf1\x7d\xfe\xf0\xa7\x68\x1e\xfa\x4c\xff\xc3\x1f\x91\xe2\x87\x9f\x81\x64\x1f\x68\x1e\x15\xdf\xfa\x01\x7c\xe9\x43\x0b\xf8\x42\xa4\x99\x7f\xf8\x28\x74\x3f\xea\x08\x03\xd5\x8b\x7f\x8f\x23\xbc\x57\xba\x0d\x23\xfc\x37\xde\xec\x4e\xa4\x02\xf0\x25\x9b\x70\x2e\xbc\xf5\x12\xfa\xe5\xdd\xf9\x1b\xa0\x2b\xf2\xfc\x34\x8d\xa1\x03\x99\x08\xbc\x79\x9c\x66\x07\xde\x51\x22\xa0\xcf\x30\x0d\x7e\xd1\x22\x8c\x80\xce\x08\x7e\x7c\x08\x97\x4b\xf8\x6b\x0e\x13\x86\xe3\xcf\x2d\x8c\xe3\xf5\x37\xde\x38\x4d\x45\x4a\x08\xe3\xd4\x0b\x24\x09\x0f\xff\x0a\x7f\x64\x0f\x7f\x5a\x79\xf9\xca\x9b\xe7\x69\x16\x2b\x22\x82\xf8\x00\x06\x6d\x0e\xdd\x7f\xf8\xd7\x87\x7f\x89\xb1\x45\xbe\xf2\x09\xfd\xc3\xff\xa0\x61\xd6\x60\x20\x1d\x71\x92\x88\xe4\xe1\x67\x2f\x12\x80\x88\x61\x1d\x98\x86\x61\xb4\x5e\xc3\x02\xf3\x13\xe8\xa9\x85\x23\xe0\x57\x61\x14\x12\x31\x66\xb6\x80\x5f\xfd\xf8\xe3\x01\xfc\x73\x0e\xd3\xf0\xd3\x4f\xde\x07\x3f\x55\xc0\xbd\x3c\xc5\xd1\x93\xe3\xb3\x5a\xf9\x51\xe0\xfd\x01\x3e\x3e\xe2\xdf\x3f\xfd\xf4\x07\x0b\xfa\x89\xe7\xd7\x41\xdf\xc6\x61\x41\x11\xc0\x06\x10\x31\xae\x21\x81\xc0\xe9\x8f\x06\x70\x03\xd1\xe7\x30\xce\xeb\xd0\x13\x51\xb0\x8e\x61\x5d\xe2\xfa\x33\xcf\xdd\xb9\x88\xee\x60\x7a\x32\x91\xac\xc2\xc8\x5f\xe2\xc0\x8f\x2e\x4e\x00\x67\x74\x1b\x2e\xf2\x04\xa7\xca\x84\x67\x1a\xe7\x40\x1d\xcc\xea\x0d\x4c\x5f\xb4\x82\x0e\xc1\xa0\xc0\x60\x44\x71\x06\x53\x04\x33\x16\x65\xcb\x7b\x4f\x3e\x87\xcf\xb2\x3b\x81\xbd\x5e\x86\x73\xc2\x6f\xa6\x69\x1a\x67\x3e\x40\xf8\x2e\xc6\xc6\xc2\xc7\xcd\x12\xe3\x72\x80\x05\x90\x88\x2c\x44\xa2\xbc\x08\xd7\x0d\x0c\x0f\x3c\xa3\x8f\x60\xcf\xf9\x59\xee\x2f\xf1\x63\x58\xfa\x7e\xe2\x7b\x38\x0c\x8c\x6c\x63\xee\x04\x1e\x1c\x9e\x77\x05\xab\xea\x39\x6c\xd5\x95\x9f\xbc\x17\x19\xac\x63\xd8\x03\xc3\xd4\xbb\x1c\x4f\xdf\x9e\x1c\x8d\x9f\x23\xf5\x9b\x50\x7c\x80\xd1\x49\x61\xd5\xae\x91\xd4\xd4\x8b\x6f\x61\xbe\x82\x70\x13\x06\x80\x57\xee\x36\x78\xe6\x7b\x8b\x70\x23\x22\xb5\xa9\xcc\xdd\xa4\x23\xa9\x13\x35\x75\x65\x13\xa6\x80\x23\xfc\xc1\x4f\x24\x09\xb0\x6f\xfe\x4d\xd0\x56\x93\x9b\xae\xa0\x24\x4c\x79\x3b\xc1\x7f\xe5\xa4\x06\x71\xb1\x97\xec\xc3\x30\x4a\xd3\x70\x11\x79\x49\xbc\x04\xd0\x1f\xc2\xec\x0e\x78\x12\x2c\x39\x9e\x4a\xa0\x33\x81\x55\x8a\xcc\x2c\x4e\x16\x43\xfc\xe8\xb9\x87\x6b\xbe\xfd\x9b\x74\x0d\x1d\xe1\xaf\x3a\x06\xe0\x58\x20\x56\xe1\xdd\xe6\x91\xec\x15\x2c\xf8\x4e\xcc\xc2\x01\xaf\xad\xaf\x34\xec\x08\xe1\xd5\xcc\x4f\x16\x22\x2b\x36\x16\x4d\x76\x46\xcf\x80\xdd\x7c\xf0\x08\xa0\xcb\x1c\xb6\x03\xa3\xe9\x83\x39\x03\x4e\x0b\x93\x17\xc5\x1b\x5c\xb5\x6b\xe0\x7b\xb1\x1b\x79\x26\xb2\x60\x24\x5c\x89\xb2\x10\xe3\x23\x1c\x3f\x82\x85\x45\x8c\xd8\x4a\x52\x2e\x17\xea\x32\x86\x93\xcc\x1b\xfa\xc4\x27\x86\xc3\xf4\x7d\xb8\x1e\xa6\xe9\x72\x48\x27\x38\x51\xf1\x1c\xa0\xd2\xa7\xc8\x86\x2c\x5f\xe1\xae\xce\xd7\xeb\x04\x98\x3a\xb3\x51\x91\x24\x71\xe2\xb8\x5f\x9c\xc8\xc8\x5d\xc8\xa0\x51\x01\x42\x92\x70\x15\x26\x1e\x9d\x30\x48\x48\xfb\x60\xc0\xaf\xa3\x57\xd7\xe7\xa3\xb3\x31\x2c\xd3\xf5\xfd\x30\x05\xa1\x06\x76\xec\xe5\xe4\x6a\x7a\x34\x1e\x8e\x2e\x2e\xbc\xd9\x68\xfa\x7a\x3c\xa3\x9f\xdf\xc2\x46\x96\x7f\x5e\x5e\x8c\x8e\xc6\xf0\x20\x56\x0f\x26\xd3\xd7\xbf\xff\x3d\x3c\x18\x46\xf1\x30\x11\x74\xa6\xfc\xde\x78\x60\x3c\x36\x56\x53\x57\x27\xc4\xea\xfc\x25\xf0\xf1\x75\x12\x03\x7f\x01\x0e\xee\x2d\xc3\x34\x43\x46\x47\x87\xde\x30\x10\x4b\x18\x37\x3c\x0f\x41\xc4\xc1\x79\xf4\x33\x16\x1f\xe0\x54\xf8\x90\x84\x59\x06\xac\x50\x32\xff\xb7\x47\xa3\x8b\x6b\xc9\xd8\x2e\x3d\x4d\x14\xf2\x94\x28\x04\x87\x60\x02\x4c\xe5\xde\xbb\x89\x73\x60\x2d\xda\x69\x91\x9a\xf8\x28\x51\x39\x27\x2a\x89\xf7\x0f\x10\x46\x24\x1e\xfe\xd5\x27\x99\x02\x89\x25\x71\x82\xa8\x93\xc4\xc2\x69\x01\xd2\x0a\xa0\xda\x3c\xfc\x92\x2c\xf2\x25\xfc\xf5\x7d\x4e\x12\x07\x9e\x2a\x8b\xc4\xdf\xd0\x17\x91\x4f\x84\x3d\xfc\xbc\x11\x74\x30\xfa\xab\x9b\x90\x8e\x97\x6a\x47\x68\xfd\x7c\x8f\x9c\x17\x80\x24\xda\xa1\x93\x02\xf6\x05\xb0\xdf\xd4\xc0\x76\xdb\x07\x58\x9e\x1b\xc0\xc9\xc4\x3c\xbc\x0d\xe7\xe5\x59\x8c\x9f\x12\xb6\x15\xb2\x76\xe4\xf9\x1e\x52\x08\x2b\x99\xc5\xd2\xf8\xe6\x3b\x31\xcf\xe0\xf1\x70\x19\x46\xe2\xe0\x5d\xa4\x2d\x9b\x7c\x0d\xcb\x1d\x80\x4a\x49\x6f\x38\x77\x97\x37\x51\x20\x36\xad\x85\xdb\x70\x89\x02\x0a\x48\xbf\x61\x44\x22\xfd\x8e\xc4\x1f\x78\x84\x0b\x04\x59\xf8\x16\x0e\x20\xb9\x72\xb4\x76\x8c\x11\x04\xda\x1b\x16\x6b\x6f\xd2\x78\x89\x72\x08\xcc\x66\x22\x70\x59\x6c\xca\xa6\x4c\x5f\xd7\x40\x5c\x8c\x66\x6f\xae\x67\x93\xeb\x57\x27\xa7\x63\xd9\xd7\xf1\x47\x7f\xb5\x06\x3c\xb0\xca\x1b\x24\x1e\xd2\x17\x3f\xd2\x7f\xe1\xff\xbd\x7b\x36\x5f\x82\x3c\x2a\x92\xeb\x28\x06\xd6\x0a\x43\x57\xbe\xe3\xd7\xb0\x94\x33\x7c\xfc\xb7\x83\xca\xf3\x95\x58\xc5\xc9\xfd\xf5\xea\x06\xdf\x7d\xf1\xf9\x97\xbf\x55\x6f\x7f\xa2\x1f\x3f\xf5\x5f\xef\x30\x4a\x0f\xff\x03\x86\x29\x61\x21\xbc\x18\x7a\x16\xb2\x05\xce\xc9\xc3\x2f\x30\x29\xf8\xba\x94\x09\x3c\x41\x02\x3a\x76\x0e\x86\x8c\x3a\xca\x57\x9b\x98\xee\x3d\x02\xe5\xf1\xe5\xfe\x17\x93\x69\xcb\x7a\x7e\xf2\x7d\x0e\x9b\x87\x56\x95\x40\xb9\x77\xdf\xdd\x92\x6b\x6c\x02\xab\x08\xc4\xa3\xbb\xb8\x90\x16\x25\xe2\x40\x54\x50\xae\x63\xde\x94\x74\x8b\x91\x2d\xe4\xaa\x8b\xf1\x84\x91\xab\x4e\x82\x29\x3b\xb0\xd5\xb2\x13\xb0\xec\x88\x82\x16\xba\x9f\x6c\xe1\x7d\x02\x66\x75\x28\x47\x40\x0d\xd7\x0d\xc8\xb3\xc5\x60\xc1\xa1\xc6\x4f\x25\xcb\xbd\x3e\x39\xbf\x9c\x8d\xce\xe1\x64\xfb\x5f\x97\x8d\xb9\x0f\xd0\xae\xec\x6d\x8d\xb7\x08\xb8\x19\xc0\x19\x8c\x0b\xe6\xdd\xb3\x04\x6e\x5b\xc3\x38\x5a\xde\xbf\x7b\xf6\x2b\xe4\x54\x4f\xb9\x92\xfe\x17\xe3\x61\x3b\xae\xb9\x5e\xbc\xcd\x61\xd5\xfd\x0a\xd8\xd4\x1c\x75\x68\x25\x57\x97\x43\xe1\x5d\x9c\x8e\xce\xff\x1d\x31\xab\xfd\xf3\xaa\x5d\xc7\xe9\xff\x17\xc9\xfa\x33\xba\xc7\x5f\x8b\x9f\x90\xdd\x3d\x09\xb7\x7b\x94\x55\xfb\xab\x96\xe8\x2e\x70\xd7\xa6\x77\x71\xbe\x0c\x68\x73\x7b\x3f\x84\x6b\xda\xc0\x03\xf8\x9d\x27\x4b\xde\xd1\xe5\x43\xbc\x9d\x7b\xcb\x78\x8e\x8a\xe2\x30\x81\x9d\x07\x68\x0f\xbc\x8b\x38\x0d\x89\xd5\x84\x29\xbc\x5e\xd3\x5f\x1b\xb4\x26\x64\x62\x21\x92\x01\xea\xe5\x60\x52\x92\x30\x4e\xc2\xec\x7e\x40\x4a\x43\xf8\x32\x8d\x49\x8b\x7e\x9b\xc4\x2b\x00\xf9\x41\xa4\x19\x62\xbb\x0b\x17\x77\xc2\x6c\x6c\xa8\xac\x82\x40\x6c\x8a\x79\x56\x4b\x01\x68\x1d\xd0\xc5\xff\x6a\x7a\x5a\x9f\x5f\xea\x08\xcc\x3f\x2a\x47\x81\xfa\xec\xe1\xcf\x40\x13\x77\xe7\xc0\x9b\xfa\x11\xec\x2c\xa9\x6c\x7e\xf8\x23\x7e\x14\x3d\xfc\x65\x25\x92\x98\x3a\x12\xc2\xbf\xb2\x67\xf1\xa0\x5c\xd0\xd8\x5f\xea\x58\xe0\xc3\x14\x0b\x6c\x38\x5f\xfa\x70\x6e\xc1\xe2\x46\xc5\x6b\x80\x3a\x6c\xe8\xec\x8d\x1f\x7e\x2c\x96\x2d\x3d\xf1\x97\x46\x1b\x86\xe2\xc6\xcc\xf1\x03\xe6\xad\x5b\xc8\x8a\x27\x99\x9a\x5b\x36\x02\xa1\x99\x6a\x01\x2c\xd4\x4f\x12\xff\x9e\x15\xbc\x1a\x13\xc5\xe3\x21\xc5\x13\x86\x35\xcc\x37\x6c\xdc\x10\x5e\x92\x2f\x85\x55\xfb\x52\xcc\x07\xb1\x84\x39\x72\xa9\xdd\xe4\x8d\x63\x9c\xd7\x8c\x5a\xfb\xde\xc3\x5f\x22\x18\x4a\x18\xb3\x2c\x09\x7f\x20\xd5\x30\x6f\xa4\x94\x69\x8f\x88\xc7\x66\xbc\xda\x92\xc8\x67\xea\x01\x00\xb2\x21\x3f\x05\x4c\x8b\xc4\xb7\x28\x60\x76\x1d\x68\x86\x40\x27\xa4\x36\xd6\xd4\x8d\x9d\xc6\x9b\xe1\xd2\xe7\x5f\xf9\xa9\xf0\x26\x52\x0e\x49\x59\xf0\x8b\x57\xa8\x59\x0b\x68\x2f\xa1\x50\x44\x2d\xd3\xef\x73\x3f\x11\xde\x4d\xe2\xcf\xdf\xe3\x96\xc3\x97\xba\xd9\xef\x2e\x04\xf2\xa4\x40\x83\x1f\x26\x70\x96\xc0\x3e\x08\x50\x2e\xc8\x64\x2f\x00\xb1\x64\x5d\x6f\xe9\x94\xfd\x2e\x85\x7d\x4d\xdd\x13\x7c\x00\x33\xcf\xfa\x56\x72\x98\x92\x3f\x81\xc8\x96\xc4\x59\x3c\x8f\x97\x2c\xaf\x65\xf3\x35\x9e\x27\xe5\x6b\xa9\x77\xc6\x95\xc3\x5f\x7c\xf1\xf9\xc1\x97\xbf\xfd\xed\xc1\x17\x07\x5f\xfc\xc7\xea\x97\x6b\xe0\x0c\x52\xea\xfb\xcd\x6f\x3e\xff\x3b\x29\xf0\x29\x6e\xf6\xfb\x27\x5a\x8a\x08\xae\x3c\x60\x78\x45\x02\x01\xfb\x5b\x93\x88\x60\xc2\x87\xc2\x0d\x4e\xb1\x32\x2d\x03\x12\x9c\x5e\x24\x1e\x0d\x66\x22\x82\x26\x31\x5a\x45\x96\xf3\x3b\x10\xc8\x52\x78\x1a\x4b\x84\x43\x98\x99\x3b\xcd\xac\xea\xa5\x78\xbe\x42\xcf\x45\x9a\x3e\xfc\x9c\x84\xa8\xc4\x8c\xb5\x1e\x35\x4f\x25\xd5\x43\x9a\xe7\xca\xb1\xf4\x49\xa7\xd8\xb4\x5d\xdf\xa2\x15\x0e\xe4\xe1\xf8\x03\xa9\x8b\xbf\xcf\xe3\xcc\x57\xb6\x2a\x75\x6c\xf3\x43\x93\xd9\x89\x80\x14\xd6\xb4\x39\xb5\xa7\xcb\x06\x0c\xb8\x2f\x6d\x4f\x75\x48\xed\xd4\xf8\x01\xf2\x0c\x68\x63\x44\x15\x46\x70\xa0\x3f\xfc\x12\xa0\x64\xb4\x8a\x3d\x13\xa0\x20\x16\x6c\x35\x15\x1f\x51\xb5\xee\xe3\x29\x9a\x88\x75\x6c\x02\xcb\xb6\x4f\xfc\x56\x30\x60\x58\xb5\xf8\x3d\x9c\x4e\x74\xa4\x19\xd0\xa0\x6e\xdd\x04\x92\x16\xbf\xa1\x1d\x1d\x56\x78\xfd\xba\x57\xa6\x6f\x13\x94\xef\x1e\x7e\xae\x98\xb1\x5d\x00\xc6\x68\x1e\xee\x06\x98\xa1\x49\x66\xb5\x0e\x6d\x40\x61\x51\x67\xf7\x26\x50\xb0\xb1\x36\xfe\x0f\xc6\xc1\x91\x76\x6b\x7f\xe3\x87\x4b\x5a\x5a\xc0\x13\x71\x4c\xcd\x93\xab\x59\xa0\x83\x30\x5d\xc7\xd1\xc3\x2f\x68\x27\x80\xfd\xa6\xcf\x85\x71\xd2\x25\xc2\x44\x60\xd3\x00\x98\x3f\xc8\x51\x4b\x81\x7c\x60\xe5\xbf\x07\x8e\x95\x03\x83\x0e\x33\x16\xa9\xf8\xc2\xb3\x5e\xe6\x0b\x49\x95\xf1\x38\xd6\x88\x92\x90\x91\xe9\x1c\x78\x47\x22\xc9\x40\x26\x01\x09\x07\xc4\x59\xdc\xf7\x6c\xef\xf8\xce\xaf\xaf\x1d\x36\x29\xe7\x8b\x61\x58\xb0\x03\xd3\xe1\x89\xe4\xdf\xa2\x9d\xc6\x44\xcc\x39\x12\x43\xe2\x15\xec\x35\xe3\xc4\x25\x20\xbc\x6e\x0a\x41\x50\xda\x96\x24\x49\x20\x58\x89\xd4\x04\x9e\x1a\x22\x97\x0c\x34\x33\x8f\xde\x97\xd4\x60\xcf\x7c\x76\x41\x23\x09\xfc\x47\x9d\x86\x45\x57\xd4\x51\xa8\x06\x2f\x00\xe0\x99\x6f\x1a\x6e\xc9\xbd\x75\x80\x51\xb5\xcf\x1e\x39\xc4\xa0\x0d\xa8\x98\x69\xb3\x3d\xe8\x79\xb1\x0a\xf1\x88\xc0\xed\x9d\x90\xb7\x0e\xd9\x6f\x0f\xbc\x4b\xc1\x96\xcf\x3b\xb1\x5c\x9b\x56\xe5\x73\x26\x80\xe5\x57\xe5\x38\xc2\xc0\xc8\x97\xc3\x3b\x8a\xa3\x34\x5f\x66\x3a\xa4\x76\x5a\x7e\xfc\xf1\xe0\x2d\x5c\xfe\x01\xee\xe5\x1d\x30\x6b\x34\x1f\x2b\x6b\xbf\x7c\x7e\x1a\x47\x0b\x7a\x0c\x2b\xd5\x5f\xa6\x70\xce\xcc\xe7\x62\x0d\xec\xc1\x34\x5c\x6d\x30\x45\x1b\xc4\xcc\x5f\xdd\x3c\xfc\x71\xc5\xa7\x99\x3f\x17\xb0\x10\x4c\x63\xf6\x59\xc1\x4a\x88\x21\x1a\x05\xd5\xcf\x88\x97\x30\xd3\x34\x80\xfa\x9b\xbf\x19\xa1\xb5\x12\x5b\x1c\x7a\x72\x46\xa9\x73\x37\x68\x2e\x0f\xd1\x27\x42\xda\x33\x6f\xee\x41\xac\xa0\x4f\x49\x35\x03\x97\xb2\x04\xef\x6d\x70\x18\xe4\x19\x74\x0c\x8e\xf6\x13\xf4\xa4\x5a\x2e\x69\xc8\xd0\x70\xbe\x56\xe0\x32\xef\x1e\xdd\xe0\xe2\x0f\xb0\x91\xc3\xf4\xfd\xc1\xdf\xfc\x0d\x79\x27\xc6\xf8\xd8\xfb\xe0\x47\x74\x09\x0a\x65\x6b\xd2\xc3\xf0\xae\x87\x41\x62\x92\x7e\xfa\xe9\xef\xbd\x17\xf7\x28\x92\x46\x9f\x19\xfa\x8a\x1d\x11\x11\xdd\xb5\xb9\x23\x43\x44\x4d\x83\x09\x5d\x41\xb9\x00\x96\x23\x5b\x39\x63\xb6\x83\x02\xdd\x71\x82\x1e\x5c\xd8\x2b\x54\x2e\xb0\x1b\x0d\xad\x25\xba\xeb\xa0\x0d\x34\x2c\xfa\x85\x37\x1d\xd5\x2b\x82\x8d\x30\xe0\x4c\x65\xad\x14\xbc\x84\xae\xcd\x63\xd5\x37\x41\x7c\x86\xfb\x04\x47\x6e\x5c\xf0\x97\x6a\x9f\x52\x94\xc6\xa0\x4f\xad\x73\x33\x2a\x5c\xac\x50\x0d\x07\x63\x14\x2f\x79\xa0\x60\x8f\xf8\xf3\x8c\x25\x80\xa3\x65\x9c\x07\xde\x2b\xdc\xc7\x89\xe9\x1c\xb8\x02\xf1\xed\x16\xce\x12\xba\xe8\x11\xc7\x00\x80\x77\x3e\x6b\x29\x68\xbb\xa4\x7c\x18\x32\xe8\x45\x98\xb0\x7c\x57\x03\xde\x4e\xe4\xf1\xf1\xcb\xe9\xf8\x6c\xf2\x16\x75\x04\x57\xaf\x4f\xce\x0d\x34\x9c\x9c\x1f\x9d\x5e\x9d\x4c\xe5\xb7\x53\xfa\x78\x08\x5f\xbb\x01\xf5\xa6\xe3\x8b\xc9\xe5\xc9\x6c\x32\xfd\xc6\x11\xbe\x6c\xf0\xf0\x5f\xa7\x27\x13\xef\x78\xdc\x85\xef\x2d\xea\x33\x8e\x0d\xb0\x47\xf0\xf6\xe1\x9f\x47\xc7\x13\x43\xeb\xd3\x93\xd1\xa5\xa9\x29\xbd\x6b\x6f\x76\x71\x52\xf8\xab\x19\x5a\xcf\xaa\x1e\x6a\xdd\x70\xbc\x17\xe2\x00\x0e\xd5\xbb\x2c\x5b\xa7\x87\x2f\x5f\xfa\xeb\xf0\x40\x5e\x61\x0e\x60\x46\x4d\x7b\xa7\x86\xc6\x7b\x81\x4b\x5b\xb0\xbc\x3c\x30\x03\xeb\xa4\xe6\xd0\x0d\xdf\xa1\x03\x24\x72\x1b\xbc\x38\x19\xcb\xbf\x7f\x32\xa9\x25\xeb\xa0\x9b\xed\xb6\xc0\xe5\xbd\xc0\xf7\x1b\xe6\xd7\xea\xb5\x64\xdf\x3f\xfd\xe4\x38\xaa\x6d\x60\x11\x06\xf9\x82\xfa\xfa\x17\x1a\x64\x37\x62\xb7\x1a\x95\xee\x21\xb9\x30\x2e\x6a\x7c\x65\x6a\x54\x68\x07\x2d\xad\xb5\x6f\x8c\x60\xf0\x32\x62\x81\x40\xaf\xdb\x1b\xcf\xf1\x26\x48\x92\xbf\xe6\x9f\x88\x97\xd3\x70\x9e\x23\x33\xbe\x49\xe2\xf7\xc2\xe4\x72\x35\xc2\xc6\xf2\x62\x5c\xfa\xf6\x82\x60\xc1\xad\x74\x3d\x6e\x27\x7a\xa5\x44\x45\xf5\x72\x83\x0a\xf5\x32\xbe\x05\xd6\x0c\xa2\xb0\x03\x3d\x28\x59\x01\x24\x5d\x7b\x2c\xbd\x88\x63\x80\x91\xf9\x55\x2f\xe4\x92\x52\xdf\x44\x29\xaa\x42\x50\x05\x23\x7d\xe1\xa1\xf1\x3c\x47\x7d\xa5\x47\xde\xd9\x29\xdd\xf3\x60\xa9\xc0\xb1\x97\x44\xe4\xb0\x6b\x12\xc1\x46\x01\x83\x0a\xd0\x93\x28\x5f\x2b\x87\x68\xd4\x16\x46\xa8\x2f\x17\x2b\xe4\x27\xf3\x9c\x75\xe1\x7c\x31\xac\x01\xee\x20\x51\x3a\x93\xd7\x48\x44\x0a\x2b\x70\x1c\xe9\xab\x91\x97\x01\xab\x8b\x13\x12\x12\x98\xb8\x2a\xcc\x76\xd2\x02\x10\x7d\xc8\x2d\x51\xbb\xa3\x90\xf8\x6e\x3a\x86\x4f\xf0\x66\x1c\x92\x52\x86\x7c\x22\x0d\x57\x10\x1b\x3a\x54\x4f\x27\xca\x05\x19\xb5\x75\xeb\x75\x27\x32\x10\xac\x63\x5e\x1b\xa8\x1e\x66\x73\x03\xb6\x33\xa1\xa1\x05\x41\x38\x60\x14\xa0\x09\x30\x2a\x44\x56\x77\xdd\x86\x1e\xc7\xc9\x02\x9f\x4d\x92\x85\x7c\xf6\x92\x3d\x47\xf1\xe1\x25\xfe\x90\x8f\x79\x92\xae\x8a\x01\x3d\x38\x30\x49\xac\x4c\x35\xa9\x8c\x98\xea\x82\x84\xa8\x85\x84\xa8\xe6\xca\x59\x27\x46\x3a\x9d\xd6\xc9\x51\x33\x5c\x25\xa8\x7d\x38\x96\xa8\x4e\xaa\x3a\xa1\xab\xeb\x92\x9c\xf6\x1b\x81\x03\x26\xa5\x57\x76\x06\x87\x65\xc1\x7a\xd3\xa3\x57\x4a\x84\x7b\xe9\x23\xa4\x03\xcf\x9b\x0a\xe2\x06\x08\xa0\x06\x56\x09\x7b\x1d\xe0\x71\xd8\x03\x60\x44\x30\x27\x00\x8a\x6e\xed\xac\x56\xc5\x0f\xd8\xfa\x29\x05\x70\xe3\x0d\xce\xf3\xdb\xba\x15\x95\x42\x2a\x5e\x94\xf9\x42\x9d\x92\xfe\x4e\xca\xb1\x41\xed\x92\xc5\x9d\xc2\x5e\x46\xec\x70\x4e\xdd\x03\x16\x15\xa2\xb6\xae\xdd\x85\xdf\x0d\x0d\xb3\x5f\xd6\x50\xb1\x94\x2d\xdf\x49\x63\x1a\x74\xcf\x74\x45\x6f\x9f\x32\x9c\x94\xca\x54\xe0\x40\xca\x21\x7e\x5e\xc8\xe4\xbc\x40\x9e\x43\x3f\xbe\x01\xb9\x7c\x4e\xaa\xed\x2c\xc1\xcb\x8e\x1c\x5f\x9c\x0b\x53\x2b\x1a\x76\x98\xb9\x48\xbb\xca\x84\xa9\xfa\x5c\x9f\xb7\x30\xda\xc0\x59\x62\x59\x03\x40\xc0\x9b\xf8\x83\xd8\xa0\x21\x09\xef\x48\x52\xcb\x7e\x1b\x26\x29\xdc\xd9\x73\xbe\x7f\x01\x30\x8c\x5c\x21\x9c\x5e\xb8\x5a\xe3\x95\x00\x0e\x99\x0a\xad\xf8\x8a\xee\x7f\xf8\x47\x93\x62\xa6\xad\xe7\x3a\x69\x5b\x02\xda\xa4\xb6\x8d\xe6\xdb\x78\xfe\xf0\x27\xd2\x4a\x27\x21\x72\x5b\xb8\x85\x90\x53\x7f\xcb\xfd\xa8\x49\xa4\x18\x20\xd3\x42\x6e\x1d\x06\xfe\x40\x0e\xee\xc3\xcf\xc3\xa5\x5c\x26\xf3\x3b\x7f\x45\x20\xda\x17\x1c\xa0\x3f\xc7\xad\x02\x43\x95\x81\x34\x8b\x5a\x6d\x54\x07\xa1\xe7\x33\x19\xb8\x04\x99\x6f\x69\x62\x32\x75\x07\x8c\xe5\x78\xca\x73\xc2\x9d\x54\xba\x6a\x47\xc6\xdb\xf6\x68\xa9\xc5\x4c\x90\xf5\x42\x0a\x01\xac\x4e\xe0\x3b\xbd\x4f\x02\x44\x58\x78\x06\x43\x1b\xe0\x72\x26\x8d\xd0\x2c\xc6\xdb\x5b\x5c\x06\x22\x69\xc2\x01\xdd\xfe\x61\x7f\xb1\x42\x21\x4d\x51\x59\x47\x3b\x21\x8b\x51\xed\x8b\x2a\xf6\x92\x7d\xfe\x9b\x30\xa8\x8e\xb6\x21\x9a\x56\xbe\xd9\x5d\x7f\x2b\xa2\xd1\x73\xdb\xc5\x75\xdf\x89\x5e\x90\x86\x1f\x63\x98\x11\xec\xe3\x0e\x74\x83\xf0\xfd\x0c\x75\x9d\xf0\x1e\x83\x1d\x7f\xf0\x2e\x2f\xdf\xc8\x15\x20\x49\x12\xd6\x10\x92\x0b\xc5\xd8\x7d\x16\x6e\xb1\xb9\x14\x70\xad\x71\x22\x23\x54\xb8\x05\x62\x29\x32\x41\x0e\xf3\x32\xcc\x8a\x84\x15\xd3\xc4\x8d\x3f\xb2\x1c\xa4\xd4\x6b\xc5\x8c\x24\x64\x05\x91\x71\x54\xa6\x19\x61\x19\x67\x95\x03\xdb\xbd\x11\x32\x14\x45\xa0\xdb\x00\x74\x53\xfd\x2d\xc3\x09\x2d\xfd\x3d\x96\x3c\xa7\x88\x42\x21\x91\xbd\x22\xb9\x00\x73\xe2\xd0\x26\xed\x9b\x8e\xc1\x00\x69\xc8\x24\xed\xe2\x2b\x63\xa3\x22\xe0\x91\xc2\x02\x0c\x20\x4e\x29\xbe\x01\x09\xd2\x03\x14\x63\x8b\xe0\x08\x90\x49\xb2\x09\xd9\x92\x23\xad\xac\xb7\xa1\x58\x9a\x74\xe5\xe7\xf2\x32\x83\x72\x9d\x3c\x54\x7c\x90\xc3\xbd\xf8\x26\x09\x17\xbe\xcd\xac\xd3\x08\x51\xac\x5a\x93\x2c\x07\x5a\x43\x84\x2c\xcd\x4a\x26\x9e\xdd\x10\x7c\xb1\x83\x1f\xe2\xe4\x3d\xb9\x79\xbc\x0f\xd7\xeb\x52\x62\x26\xef\x19\xc4\xe6\x4c\x00\x77\x1c\xbe\xbb\xf1\x97\x77\x20\xfa\x00\xcc\x70\x11\xc5\x09\x9d\x64\x5a\xb4\x28\xcb\xc3\x3d\x48\x94\xfc\x82\x83\x4a\x32\x16\x82\x99\x9f\xf0\x47\x3d\x06\x49\xf1\x89\x9f\x65\x6c\x87\xe7\xb7\x40\x33\x51\x06\x87\x2b\x29\x95\x70\x49\xa0\xbf\x4b\x10\xfa\xd0\x3f\x58\xe4\xf3\x94\x5d\x0a\x96\xf1\x82\x8c\xed\xa6\xc5\x1c\x89\x8f\x28\x2d\x60\xb3\x87\x3f\x63\x3b\x79\xbb\x8c\x97\xe1\x3c\xcc\xca\x68\x5a\x44\x52\xf1\x7c\x41\x3d\x67\xbc\x30\x12\xa6\xa2\x6c\xbc\x3b\xe1\x2f\xd1\x07\xe2\x4e\xcc\xdf\x7b\xd9\xfd\x5a\x48\x2d\xda\x73\x34\xd8\x72\x5c\x57\x14\x47\xe2\xb9\x51\xd1\x13\xf2\x85\x12\xc4\x35\x72\x81\x29\x28\xba\xcd\x23\x72\x1f\x63\xff\x9a\x40\x8f\xcd\xac\xe9\xd8\x14\xaa\xbc\x40\xd5\x49\x75\xb1\x8d\xe1\xba\x24\x3e\x1a\x48\x7b\xf8\x7f\xa2\x00\x4f\x90\xc0\x6f\xec\x63\x45\x89\x11\x53\x6a\x52\xdf\xf1\xbb\xf6\x66\x1c\x4d\xe9\xb3\x15\x59\x5e\x52\xcd\x87\x13\x87\x41\x4a\x86\x88\x66\x69\xcf\x6f\xf2\xc6\x0e\x4c\x7c\xe3\x64\x7c\x81\xb8\x0d\x23\x76\xcb\xa2\xa5\x65\x67\xca\x1a\x6e\x6e\x58\x4c\xdc\x5c\x5e\x98\xd5\x05\xd2\xef\xe6\xc6\x55\x72\x30\x16\x93\x49\x40\x35\x82\x0b\x05\x1c\x09\xca\xe8\x2b\x68\xf3\x34\x27\xc5\x84\x1d\x2f\x1f\x54\xbb\xa1\xad\x9d\x48\xae\xc8\x81\xcb\xbf\x45\xb7\x49\x03\x3a\x78\x17\xb3\xb0\xbf\x88\x8c\x06\x51\x86\xc4\x7c\x74\x49\xfa\x83\x29\xfc\xcb\x9a\x07\xec\x8a\xd7\x88\x7b\x2d\xd5\x0f\x1c\x7e\x0a\xf7\x7e\x78\x6a\xd6\x2c\xc8\x5e\xb3\x6a\xa1\xe8\x75\x89\xc8\x8f\x8b\xce\x36\x91\xb5\x29\x1a\xea\x68\xb7\xee\x17\x03\xb2\x76\x4b\xd3\xab\xf0\x63\x52\x67\x14\x9a\x95\x0a\xb1\x7b\x1b\x82\x0a\x5d\x5d\x23\x50\x51\xb6\x54\x69\x54\xea\x96\x06\x95\x8f\x39\x62\xbf\x9a\x81\xd9\xb6\xf7\x35\x3d\x27\x40\x50\x4f\xae\xe9\x09\x8f\x48\xb1\x2c\x52\x39\xd8\xe5\x68\x28\xaa\x32\x32\x25\x34\x14\xa5\x4e\xa3\xd1\xae\x2d\x6d\xa3\xc5\x8f\xf5\x05\xa0\xa8\x69\x1b\x9c\x1a\x5d\x4d\x75\xab\xcb\xe0\x68\x3c\x1f\xda\xfe\x0e\x7f\x48\x59\x45\x1f\x94\xed\x74\x90\x95\xd5\x50\x3f\x09\x6a\xd8\xaa\xdd\xde\x56\xc9\x98\xa1\xfe\x99\xee\x11\x24\x26\x7c\x88\x96\xb1\x1f\xb0\x05\xfe\x9e\xfd\x10\xc9\x4f\x84\x3d\xeb\x44\x86\x4e\x58\x18\x3f\x6e\xee\xc2\x8c\xd4\x1d\xd0\x81\x5b\xff\x07\xd8\x32\x05\xc8\xa0\x74\x1f\x57\x46\x71\x65\x94\xc0\xaf\x3c\x52\x84\x08\x69\x57\x38\x91\xe8\x1c\xe9\x5e\x85\x8b\xc4\x67\xa5\xb1\x94\x0c\x4f\xa4\x84\x72\x5c\x26\x90\xb0\x8d\x7b\x41\x34\x41\x4a\x5c\x00\x19\xc9\x92\x0e\x0d\xe4\xe8\x0a\xf7\x5e\x52\x09\x5d\xc0\x0f\x9e\x9c\x3f\xe0\x05\x5b\x5d\xae\xff\x50\x17\x65\xff\xa0\x3c\x52\x6e\x13\xa1\x7c\x5d\x0b\x61\xeb\x0f\x4d\xaa\x54\x2b\x2d\x7f\x8c\x2f\xd3\xcd\xa0\xe7\x49\x86\x7a\x39\xf2\x7f\xf0\x83\x15\x08\x19\xe8\x94\x92\xc1\x89\x18\xde\x92\x6a\x0f\xae\xef\xd1\x7b\xbe\xc4\x53\x4e\x20\xce\x07\x60\x1a\x23\xcd\xc7\x21\xe6\x1b\x7d\xa3\x6b\xfa\x05\xbf\xa5\x6f\xca\x55\x66\x91\x3c\xfc\x9c\xa1\x77\x83\x37\xd2\x45\x43\x4b\xff\xb4\x94\x34\xa2\x4c\x6f\x03\x00\xc6\x51\x06\x97\x61\xb1\x62\x4f\x88\x2c\x96\xce\x03\x65\x77\x03\xb2\x85\x79\x1b\xd2\x02\xfa\xf3\x3b\x98\x5c\x54\xfd\x86\x78\xf7\xe7\x7b\x05\x3a\x27\x18\x9d\xae\x46\x39\x6a\x55\x33\x94\x57\x05\x9f\x01\x20\x23\x0f\x95\x1b\x44\xb8\x11\x4b\x93\xc5\x05\x5a\x72\xc3\xa4\x64\xe0\x11\xab\x3b\xb0\x31\xb4\x25\xd9\x5c\x74\xe2\x45\x57\x35\xe3\xc2\x2d\xb0\xa0\xd7\x99\x71\x55\x6a\xc0\xf0\xce\x01\xfc\x48\x7c\x5c\xe3\x1d\x19\x13\x40\xb1\x13\x1c\xde\x84\x6e\x7c\xb8\x84\x84\x24\xbf\x26\x62\xe8\x6b\x5d\x3f\x50\x39\xbf\x28\x1d\xc4\x1f\xf4\x74\x10\xef\xf2\xcf\x3f\xff\xcd\x5c\xd9\x84\xe9\x2f\xe1\x0d\x73\xf9\x1c\x87\x4c\x3d\x8b\xe5\x33\xe0\xc2\xea\x51\x2a\x1f\x11\xdb\xe4\x87\x7f\x40\xf4\x3a\x35\xa8\x66\xae\x93\x63\x1a\x0d\x74\xac\xe1\x8f\xa4\xb2\x1e\xbb\x19\xe7\xb8\x50\x6e\x45\x96\x0b\x49\x36\x66\xe2\xd0\x12\xd7\x50\x62\x8e\x6a\xcb\x83\x22\x87\xd9\x53\xf4\x98\xa8\x10\x48\x21\xac\x96\x3a\x89\xe8\x1c\x27\xbd\x67\x51\x6a\x6e\x23\xd6\x3c\xed\x71\x22\x8f\x3b\xda\x98\xc8\x8f\xc3\x40\xfa\x41\x72\x40\x09\x7b\xf2\xc4\xe8\xe3\x13\xae\xf0\xf6\x11\x98\x84\xe9\x09\xef\xed\x80\x24\x6a\xf6\x60\x2a\x94\x8a\xbc\xb2\xd1\x73\x54\xc2\xc5\xab\x27\xbb\xe1\xd2\x6e\x7d\xf8\x73\x10\x2e\x62\xf2\xcb\x06\x86\x4f\x09\x1e\xda\x69\xfe\xea\xe4\xf4\xf4\xe4\xfc\xb5\x77\x36\x3a\x1f\xbd\x1e\x4f\x0d\xa4\xc0\x9b\xf1\xf9\xd1\xc9\xe8\x78\x32\x45\xff\x9a\x57\xa3\xd9\xd5\x74\x74\x36\x3e\x9f\x19\xbc\x64\xbe\xba\x3a\x39\x3d\xbe\x18\x1d\x7d\x6d\xf2\x0b\xd0\x3e\xb0\x03\xb0\xb9\x06\xd4\x3e\x6a\x07\x14\x62\x8c\x40\x5d\xc2\xea\xbc\x30\x9e\x86\x0b\x56\xcb\xb5\xc9\x44\xdd\x37\x44\x23\x56\xd4\x96\x2a\x17\xd0\xba\x01\x5e\x26\x9a\x4a\x51\x93\x86\x01\x19\xd2\x4e\xaf\xe7\x08\xd9\x86\xda\x87\xff\x5e\x3a\x8f\xb6\xda\xeb\x29\x3d\x1a\x72\xf9\xd4\x2f\x9c\xc3\xf4\x1c\x1f\x15\x7b\xfe\xe3\xf5\x57\x19\xfd\x3f\x79\x7f\x35\x07\x01\x83\xaa\xb8\xe8\x6e\x2d\xab\x1c\xab\x40\xde\xcc\x66\x17\xac\x22\xec\x20\xdf\x98\x10\xce\x2f\x2d\xf9\x08\x6c\x1b\x22\xcc\xce\x02\x6f\x51\x6c\x59\x76\x13\x60\x56\xff\x22\x66\x9c\xa9\x1b\x91\x7d\x10\x82\xdc\x1c\xab\xf2\x03\x1d\x21\x55\x9d\xad\xe4\x82\xa4\x7d\x35\x1e\x26\xa8\x71\x94\xe7\x08\x89\x19\x4d\xc0\xc2\xa4\xd1\x0d\x0d\xea\x52\x45\x6b\xd3\xc9\xa1\x31\x70\x26\x69\xa8\xbf\xf7\x83\xe3\x55\x14\xd7\x41\x9b\xfb\x03\xac\x60\xc3\xbc\x18\x49\xb4\x7a\x47\xbc\xec\xb8\xb6\xb8\x5d\x57\xd5\x48\xba\x5d\x56\x03\x71\xeb\xe7\xcb\x2c\xad\xb2\x32\x37\x07\x1e\x35\x2e\x7d\x6e\xa4\xb8\x8f\x83\x84\x8e\x46\x3e\xdc\x6b\x1e\x48\x0e\x4e\x3e\xfd\x3a\x58\xb0\xab\xc7\xea\x13\xbb\x45\x24\x02\xff\xdd\xb6\x23\xbc\xc2\x8d\xab\x66\x2f\xae\x3e\x3d\x17\x7b\xec\xb0\x9a\xfd\xfd\xfb\xff\xf4\x5d\xe3\xf5\x91\xdb\xe7\x88\xb9\x28\x26\xac\xc3\xf5\x78\xc3\xe4\xa0\xc1\x50\x63\xa4\xf3\x52\x9d\x84\xee\x3e\x15\x2d\xfd\x46\xc3\x76\x8c\x79\xb8\x0c\xd6\x78\x3b\x81\xcf\x8b\x3f\xd4\x20\x54\xa2\x23\x8c\xa2\xf4\x8d\x0d\x46\x19\x39\xb1\x05\x01\xae\xe6\x48\x2b\x05\xdd\xa6\xc9\xaf\xee\x33\xd4\x82\xf9\x70\x0b\x01\xd6\xa4\xac\xd4\x7e\xa4\xa2\xd0\xf9\x5e\xe1\xa3\x4b\x10\x49\x5b\x2b\xb8\x65\xe6\x20\xe6\x60\xf6\xb9\x65\xf8\x5e\x78\x67\x03\xef\xec\xab\x81\xf7\x9a\x82\xdc\x5f\x7f\x65\x3c\x84\x19\x07\x85\x7b\xc3\xff\xbf\xb9\x27\xcb\x70\x19\x87\x5e\x8f\x19\xe7\x1b\x07\xe1\x55\x6d\x56\x70\x25\x09\x7c\x5e\x53\x0a\x2b\x9a\xbb\x00\x69\x6b\xd7\x54\x34\xa2\x1f\x04\x43\xf6\x52\x1a\x52\x64\x1a\xba\xf5\xf3\x1b\x58\x2e\x06\x7a\xdd\xda\xda\xd1\xa2\x5b\x83\xcc\xab\x99\xa6\x77\x1e\xe5\x14\xb4\xdd\x3b\x1c\x1a\xda\x11\xae\x43\xef\x5b\x20\xcb\x14\xe8\xdb\xfc\xae\x03\xdc\xda\xeb\x70\xa2\x6e\xfd\xd4\x0e\x14\xee\xb2\xde\xd5\xe5\x78\x4a\x7f\x5d\x8c\x2e\x2f\xff\x61\x32\x3d\xc6\x4b\x7a\x17\x0a\x73\xc3\x6e\x84\xc8\x7a\xfe\x93\x16\x77\xe0\xbd\x7b\xf6\xee\xdd\xbb\x67\x6b\x3f\x4d\x3f\xc4\x49\x80\xbf\xdf\x3d\xf3\x5e\xe0\xad\x76\xcd\x3a\x61\xd8\x7b\xe1\x2d\x5f\x22\xd0\xc9\x4f\x7e\x68\xb2\xde\x6e\x8d\x0c\xc4\x65\x1f\x26\x3a\x45\xd5\x16\xde\x1b\x38\x79\x62\x2a\xa2\x3b\xdf\x60\xbe\xed\x42\xb5\xba\x2f\xa8\x45\x2c\x18\x6d\x24\xfb\x43\xce\xec\xf2\x55\xaa\xb6\x35\xad\xb2\x6d\xbb\xd5\xc0\x55\x74\x87\x53\x83\x62\x37\x52\xa5\x3b\x90\x27\x44\x47\xb7\x28\x55\x12\x09\xd5\x45\xfa\x90\xe3\xc9\xd9\xe8\xa4\x25\x71\xc8\xb7\xc3\xe1\x5d\x9c\x66\xe4\x30\xf2\x66\x72\x39\xc3\xf6\x98\xa2\x13\xf3\x89\xa0\x16\x61\x36\x9e\x5e\x5e\x8f\x2e\xaf\x31\x3c\xdc\xb4\x25\x5c\x88\x91\x39\xde\x95\x20\x25\xb3\x8e\x5f\x8e\x8f\xae\xa6\x27\xb3\x6f\xae\x5f\x4f\x27\x57\x17\x1d\x03\xd8\x03\x50\x37\x41\xd6\xf6\xde\x64\xfa\x9a\x19\x86\x0b\x49\xae\xa0\x5c\x88\xea\xca\x6e\xd5\x6f\x62\xf6\x04\xdc\x81\x70\x99\x60\x7e\xe7\xe9\x75\x03\x64\x27\x48\x9d\xde\x26\x79\xa3\xe5\x43\x2b\x40\x72\x47\xe1\xed\x44\x5b\x44\xed\x25\xd8\x3a\x94\x8e\x03\x13\xef\x74\xcd\x80\x1b\x0c\x3b\x19\x94\xf5\x05\x5b\xf8\xe9\x7d\x34\x1f\xa2\x86\x12\xe0\x79\xb3\x93\xb3\xf1\xe4\x6a\x06\xd3\x78\x7d\x76\x72\x7e\x35\x1b\x5f\x52\x8a\x5d\x20\x04\x26\xfb\x45\x96\xe4\xc2\xfb\x27\xef\xd6\x5f\xa6\xf8\x2f\x22\x7b\x99\xc5\x2f\xd1\x96\xf5\x19\x7d\x37\x8f\xd1\x2b\xa0\xf2\x1d\xbf\xa0\x30\x62\x80\x70\x3a\x39\x1a\x9d\x8e\xe1\xdd\xd1\xe9\x78\x34\xfd\xac\xb3\xa7\xbf\x16\x32\xed\x83\xc9\xc9\x95\xe0\xc8\x1d\xae\x40\x1e\xbf\x45\x7f\xa8\x62\x63\x7c\x3b\x5c\x7b\x2f\x15\x09\xac\xa0\xc6\x0f\x29\x37\x15\xe9\xa8\x8b\x36\x07\xf7\xab\xa5\x31\x25\xc8\xe3\xe0\x72\xe9\x56\x29\xcd\x16\x5a\x58\x5a\x61\x1e\x45\x62\x9e\x4c\x68\xdd\x71\xcc\xc2\x3f\x0d\x87\x41\x98\xe2\x2f\xc7\x6e\x6c\x09\xdb\x85\xec\x20\x5e\xf9\x20\x27\x20\xc7\xe4\xed\xe1\x46\x51\xb3\x99\x0b\x32\xbc\x15\x42\x13\x37\x14\xea\x63\x17\xc0\xf6\xe3\x40\x65\xe9\x42\xce\x7a\x3d\xbd\x3a\x1d\x5f\x52\xc2\x2e\x37\x32\xb6\x03\xed\x46\xb4\x4b\x96\x31\xc3\x01\x01\xcf\x61\x7f\x8f\x5e\x5f\x3a\x2e\xa1\x7d\x21\xeb\xd1\x31\x32\x98\x0d\xb3\xf8\xbd\x88\xbc\xd3\xd1\x57\xe3\x53\xef\x62\x3a\x79\x7b\x72\x3c\x9e\x7a\xb3\xc9\xd7\x63\xc7\x95\xe6\x0a\xac\x0f\x61\x32\x9a\x51\x75\xff\xab\x29\x40\x98\x36\x65\x74\x0a\x19\x83\x9d\x25\x2f\x34\xf3\x78\x2d\x82\x7e\xc3\xbd\x1b\xa6\x3e\x5d\x7a\x2f\xee\x9b\xd3\xa9\x1e\x7c\x3d\xfe\xc6\x34\xb5\xe6\xb4\x93\x8f\x93\x95\xbc\x2f\xd9\xbf\xda\x14\x9a\x8f\x99\xea\x77\x8b\x41\xda\x29\x7f\xe6\x0e\x29\x7f\x1f\x6b\x39\x7e\xe2\x7c\xe7\x4f\xb2\x4c\x3f\x65\x32\xe1\xa7\xcd\x23\xbc\xaf\x05\xed\x9e\x5a\x73\xfb\x7c\xc2\x75\x9a\xef\xfc\x44\x04\x4a\xe0\x29\xaf\x10\x74\xaf\x48\xa4\x54\x00\xb2\x00\x2c\x63\x96\x09\x5c\x4f\x88\xfe\x70\x9d\xc8\x25\x2d\x7b\x59\x05\x04\xcb\x7f\xc0\x8f\xef\xf9\xd1\xf0\x77\x57\x93\xd9\xc8\x95\x42\x27\x50\x2e\x44\x91\xdb\x52\xe3\xd0\x73\xa3\xc2\xd0\xd6\x15\xed\x50\xa5\x7a\xac\x4b\x40\xba\xd0\xb3\xf6\x8e\xa6\xe3\xe3\xf1\xf9\xec\x64\x74\x4a\x57\xa4\xa5\x77\xf9\xcd\xe5\xe9\xe4\xf5\xf5\xf1\x14\xa6\xe5\x1a\x55\x8e\xf0\x34\xe1\xf9\x50\x75\x40\xe8\xb1\x5c\x9a\x17\x7e\x2a\x6b\x82\xc1\x66\xc1\xad\x40\xe9\x17\x61\x82\x39\x65\x50\x79\x38\x90\x36\x2a\xd5\xe3\x97\x4b\x4f\x2e\x6f\x05\x9b\xed\xb0\x6d\xe3\x38\xf6\x04\x3a\x82\x29\x63\x81\x8a\x41\x49\xc6\xa0\x44\x3e\x60\xec\xef\x9e\x55\xa8\x6e\xa1\x92\x62\xc4\x68\x73\xa1\x43\x1b\xd1\xa0\x59\xd6\x1b\x0e\x68\x3b\xd2\x8c\x9c\x13\x58\xc2\x17\x25\x9b\xfc\x82\x58\x27\x3c\xfb\xb2\x7c\xf6\xa5\xc6\x3b\x2f\xe9\xd4\xbe\x27\xf7\x4d\xfd\x18\xd5\x4f\x78\x24\x7f\x47\xc2\x74\x1e\xe4\xbe\x5a\x9f\x70\xc9\x51\x4d\xa7\x95\x2c\x0b\x56\x3b\x23\x68\x5a\xe1\x64\xc3\xc4\xbb\xb4\x16\x54\xea\x27\x55\x02\x47\x3a\x7a\xa0\x1f\x20\x06\xf6\xc2\xe2\xd3\x5c\x03\xe3\xa7\x5e\x87\x7e\x62\xeb\x01\x99\x4e\x68\x41\x72\xd4\x73\x12\xb2\xbf\x4b\x71\xd4\xb5\x39\x36\x3e\xf9\xb2\x1c\x2b\x69\xd2\xaf\x9c\x97\xf5\xa4\xc4\xc5\xb1\xbe\xef\x25\x6a\x67\x8a\x98\x3e\x83\xb4\x06\xdf\x0e\xc3\x0d\x2e\xae\x7f\xf4\x40\xfa\x7a\x33\x39\xc6\xdf\x6f\xbc\x37\xe3\x11\xdc\xa6\xf0\x77\xe0\x1d\x8f\x80\xb5\xe3\x69\x04\x87\xd1\x3a\xcf\x3c\x84\xae\xd6\xdd\x57\xf7\xca\x97\xa1\x4c\x9b\x89\xb0\x9f\xb3\x0f\x30\x1c\xbb\x20\xca\x40\x67\xbd\xd7\xe3\x99\x92\x8d\xe5\xb8\x00\x4f\x44\x02\x0e\xbc\x93\x5b\xca\xb2\x47\xf0\x30\x4b\x80\x4a\xc7\xbb\x09\x7d\x6f\x18\x60\x2a\xea\x0b\x54\xd8\xa9\xaa\x52\x12\x26\x99\x34\xd2\x0c\x8e\xf1\x81\x4a\x37\x40\x3e\xc6\x58\x5a\x73\x76\xbf\xe6\x1c\xbc\xaa\x4d\x2a\x32\x69\x9c\x56\xce\x53\x2f\x31\xe3\xe9\x01\x25\x37\x58\xf9\xf7\x5e\xbc\x11\x49\x82\x97\x83\x3b\x00\x88\x2c\x8f\x0c\x0b\x30\x10\x12\x34\x41\x53\x71\x7b\xb0\x2a\xef\xe2\x40\x7e\xf2\x8f\x07\x72\x28\x5e\xc1\x6e\xc2\xc0\xbb\x20\x9e\xe7\x94\x5d\x0c\xd1\xc0\x3a\x67\x87\xd6\x4d\x98\x86\x19\x25\x90\xe2\xfc\x51\xf0\x55\x7a\x30\xc7\xa4\x62\xb7\x9c\x53\x0c\xa3\x01\x4c\xe6\xd1\x7d\xcf\xda\x05\xd9\x50\x02\x2c\x77\x35\xa8\xcf\x1b\xb9\x86\x64\x3e\xfa\x36\xc3\x2a\xc5\x69\x93\x32\x21\xe1\x15\xc5\xa2\x46\xb9\xf1\x92\xe2\xae\xc5\x8a\x80\x16\x39\x77\x55\xc6\x43\x64\x2f\x2b\xc1\x09\x5d\x70\x1e\x01\x1c\x4d\x64\xca\x8e\xd3\x8c\x87\x72\x24\x7a\xcb\x1c\x7d\xbe\x30\xdb\x80\x8a\x20\xa4\x6d\xf1\xf0\x17\xac\xce\x09\xb0\xb9\x89\x56\x95\x92\x79\x40\xe9\x97\x26\xa7\xf3\xe1\xff\xc6\x2c\xdd\x29\xa7\xe2\x4c\xf3\x9b\x34\x0b\x33\x0c\x79\x9e\xfb\x37\x28\x4e\x2f\xef\x24\x59\x30\x56\x80\x0c\x40\xaf\x1e\xfe\x98\x21\xab\x6b\x44\x51\xd2\x57\xc5\xdc\x5e\xd0\x10\xdc\xe0\x91\xed\x97\x13\x5c\xc4\xa3\xc2\xb4\x0f\x78\x86\x45\xf7\x14\x5b\xf7\xa5\x0c\xe9\xd6\xb4\x93\xb7\xde\x30\xe9\x92\xd1\x4c\xad\x1c\x50\xb5\xaa\x13\xa1\xbd\x1b\x4a\x73\x6b\x17\xd4\x75\x71\xd7\x15\x69\x4b\x3b\x17\x74\x52\x87\xd8\x03\x51\xa5\x85\x1b\x8a\xf5\x9d\x1f\x09\x69\xfb\x4b\x7b\xa1\x6a\x69\xe9\x82\x92\x43\x7f\x48\xfe\xee\x81\xae\xd1\xca\x05\x95\x5d\xfb\xe9\x8e\xdc\x01\x8e\x1b\x39\x46\x81\xca\x9d\x12\x1b\x88\x1e\x44\x58\x34\x92\xbd\xa9\xe9\x82\xd5\x87\xac\x76\x95\x63\x7f\x92\x2c\x70\xfa\x90\xe3\xa0\x09\xea\x4b\x99\x1b\x48\x27\x22\xdb\x2f\xe1\xce\x04\x19\x9b\x3b\x21\xaf\xdc\xaf\x9d\x71\xd6\x5b\x39\xa3\x92\x1c\x40\xbb\xbd\x0f\xd5\xd1\xd1\x07\xb7\x15\x8c\x0b\x31\xd5\x1b\xbd\x3b\xf6\x96\x76\x76\x74\x6c\x07\x1b\xde\x82\x48\x9d\x27\xf0\xef\xd2\x5f\x78\xaf\xc6\x18\xaa\xe1\xe4\xcd\xd4\xdd\xde\x09\x3d\x3a\x42\x39\x7a\x23\xb5\x36\xe9\x44\xb2\xad\xb7\x96\xbd\xad\x15\x2d\xeb\x2e\xb6\x1e\xd9\xce\xe6\x2e\xc8\x7b\x8c\x6b\x5b\x8b\x0e\x14\x1b\x77\xd8\x1b\x57\xa0\x1b\x90\x20\x53\x67\xb8\xb5\xaf\xad\xa0\xb7\x9d\x88\x2d\x67\x40\x6f\xd6\xe5\xf1\x51\xfd\xd6\x0e\x36\xc4\x32\xe4\xa5\x48\x4b\x0e\x1a\x78\xef\xf1\x14\x97\xc7\xdb\x4c\x46\xff\x47\xb1\x80\x28\xa8\xcf\x62\x8e\xa7\xe1\xe4\x81\x78\x57\xc9\x24\x20\xcc\x39\x4a\x71\x1f\x85\xbb\x7d\xcc\xc9\x05\x8f\x43\xb1\x88\x29\xba\x0f\x6e\xe1\x03\x2e\x73\xad\x68\x80\x35\x62\x4a\xf3\xb9\x15\x99\x14\xc1\x87\x74\xd2\x7d\x82\xe2\x70\xf0\xd6\xc3\x94\xa2\xfe\x3f\x51\x6a\x01\x95\x6a\x15\x09\xae\x66\x0c\x8d\x0a\x62\x99\xf4\x36\x92\xad\x03\xbb\x10\xd9\x90\xf3\xbc\x0c\x39\xcf\x8b\xe3\x1a\x34\xb7\xb3\xa2\xc3\x24\xf3\xde\xb7\x47\x93\xb3\xb3\xd1\xf9\x71\x17\x73\xaf\x7d\x6c\x05\x2c\x73\xfb\x49\xbf\x56\xe9\x7f\x32\xc4\xf1\x7f\x39\x9b\xbc\x94\xc9\xb2\xff\x89\x8c\xa9\xff\xe4\xa1\xee\xac\xf0\x79\xe5\x77\xf4\xfb\x33\x3a\x3a\xd4\x2d\x0f\x4b\x4c\xc8\xa0\x0c\xba\x6b\x26\x2b\x36\x00\xe6\xd1\x12\x13\x7a\x3d\x1f\xde\x3e\xd7\x35\x14\x5d\xd7\xf5\xfd\x53\x78\x29\xef\xa8\x05\x79\xb4\x26\x50\x45\x02\x17\xd2\x98\xcb\x58\x13\x95\x94\x73\xbd\xb8\x91\x77\x5c\x3a\x71\x21\xea\xee\xc1\x5d\xbb\xb8\xf9\xbd\x1d\x3c\x45\x90\xbe\xc0\xa2\x36\x9e\x0a\xce\xa0\x1d\xaa\xbc\x2e\x65\x88\x6d\x18\x79\x15\x45\xb2\x37\x1c\x16\xaa\x30\xd6\x26\xd1\xfc\xd0\xf4\xdc\xc4\xd9\x5d\x97\xbf\xa7\x86\x37\x4c\x8a\x7c\xc1\x45\xf4\xb3\x60\xcf\xce\xb6\x68\xd7\x9a\xea\x50\x27\x44\x69\x09\x50\x1f\xe1\xaf\x6e\xe2\xb4\xc3\x13\x54\x86\xe9\x0e\x31\xc0\xfb\x45\xbd\x37\xd2\x1c\x2d\x2b\xad\xc5\x37\xa8\xad\x86\xbf\xe3\x48\x90\xd7\x56\x73\x80\xdc\xba\x5c\xc3\xc6\xcb\x40\xb0\x46\x47\xab\x8c\xc6\xfa\x8c\x7c\x25\x5d\x5c\x2b\xe1\xb0\xfc\x85\xc4\xe9\xd2\xc1\xbc\xe9\x59\x4b\x8a\xdf\x47\x71\x50\xde\x16\xe7\xf6\x7e\xca\x1d\x18\x1f\xc3\x5d\xb9\x2f\xca\xdd\xbd\x96\xad\x18\xd7\xfe\xdf\xfe\xed\x87\x78\x7a\xec\xbd\x48\xa5\xbd\xa5\x7d\x2f\x63\x4a\xc1\x64\x41\x0a\xb2\x74\xa7\x2e\x96\x08\x85\xa6\x49\x37\x6e\x63\x56\x08\x4a\xcc\x8e\xdb\xf2\xdb\x21\xe9\xee\x94\x7d\x25\x2f\x2e\x14\xbf\x27\xa3\x8c\xb2\x2f\xfe\x5e\xb7\x78\xa6\x2c\x17\xff\xde\xc1\xd9\x7f\x4f\x48\xba\x3a\x12\xe7\xa6\x98\xd1\xda\x47\x5d\x80\x9c\xc5\xd1\xea\xb7\x56\xb0\x32\x17\x4a\x71\x5d\x57\xf1\xa4\xa9\xb7\xf9\x42\x19\xb2\xf0\x67\xa1\xe2\xc0\xdf\xe8\x8e\xb6\xf9\xb2\x7c\xfd\x25\x3d\x72\x18\xf1\x7d\x63\xb3\x76\x2d\x2e\xf5\x34\x1d\x64\xe9\x5f\xda\x41\x3a\xf9\x44\x3a\x39\x43\xc2\x47\x74\x49\x4e\xdd\x00\x6a\xdf\x5a\xc1\xd2\x3e\x37\xa5\xb1\xac\x7d\x64\x07\xc4\x25\x71\xba\x20\xc9\xaf\xec\xa0\xf2\x64\xd1\x9c\xf3\x86\x56\xa8\x0b\x95\x23\x94\x1e\xa4\xa8\x82\x06\x85\xa3\x25\x6d\x78\xb9\xf6\xba\x64\xe1\x5e\xa0\xac\x44\x69\xca\xde\x0e\x9c\xfa\x97\xdd\x20\xbb\x26\x4f\x7e\x64\x05\xc4\xe5\xbf\xda\x83\xd3\x3a\xc0\x5b\x9b\x76\x20\xa5\x73\xab\xb8\xb5\x9d\x8f\xff\xe1\xda\x91\xf5\x59\x9b\x3a\x20\x6d\xb3\x98\x94\x90\x9c\x12\x7b\xec\x00\xd0\x85\x40\x65\xf4\xc0\xe6\xdd\xac\xc3\xd0\xc8\x05\x91\x51\xf9\x8e\x40\x7a\x6e\xde\xad\x40\xf6\x20\xd2\xa0\x00\xd7\xc1\xf2\xa3\x5e\x74\xba\x43\x75\x22\x55\x53\x06\x13\x08\x87\xf8\x29\x6b\xd3\x0e\xa4\xeb\x78\xa8\xea\x9a\x7d\xab\xdf\x5e\xbb\x18\x9b\xad\x65\x07\x4a\x8c\x4e\x12\xae\x52\x4a\xe3\xf3\x6e\xe0\x49\xd6\x0b\xb8\xfe\xb9\x0b\x70\x0a\x41\x29\x4e\x96\x82\x87\x9c\x9c\x1f\x8f\xff\xd1\x0d\x9f\x15\x82\x9d\x04\x19\xb7\x27\xa2\x4d\x98\xc4\x11\x4a\xc9\xc3\x8d\x9f\x84\xa4\x0c\x25\x43\x5c\x17\x05\xdd\x00\xac\x04\xa4\x14\x26\xa4\xd9\xa8\x4b\x15\x19\xf9\x3c\xbd\xf7\x8e\x4f\x2e\xbf\xc6\x5f\x2b\xef\x6c\x7c\x36\x99\x7e\xf3\x7b\x17\x7b\xc0\xd6\x60\xed\xc4\xee\x10\x47\xb7\x43\xe8\x9c\x89\x7f\x75\x62\x34\x34\x73\x41\xa6\x99\x1b\xbb\x0e\xf4\xb6\x16\x4e\x28\xba\x8c\x74\x8e\x78\x3b\xc1\xb8\x12\x93\x6e\x39\xc2\x86\xb6\x1d\x68\xb3\xa1\x6e\x17\xf0\xc6\xe7\x6f\xaf\xdf\x8e\xa6\xd5\x3f\xde\x8e\x4e\xaf\xba\x89\x70\x87\xd4\x49\x52\xab\x2a\x57\x66\xdf\xfe\x27\x4e\xbd\xed\x40\x8e\x0b\x94\x4e\x52\xf0\xfa\x41\x29\x6e\x0b\x7b\x1e\x8a\x12\xd3\x09\xfb\x7a\x3b\x50\xd1\x01\xa0\x93\x00\x16\x7b\xb1\x0d\x89\xbe\x8e\x58\xdb\x5a\x75\xa2\xea\xe6\xa2\xee\xb1\x03\x0e\x34\xee\x15\x5d\x67\xe7\x9a\x26\x61\x7a\x55\xb7\x0e\x3b\xd0\xed\x0a\xc9\x91\xa4\xe6\xe2\x60\x59\xa7\xc7\x1a\x73\x04\xd4\x4d\x90\x0c\xb0\x7e\xa2\x05\xb0\x57\x74\xf6\xce\xa1\xff\xc3\x70\x9d\x84\x9b\x6d\x42\x49\xbb\x5a\xdb\x51\x97\xe2\x6b\x17\x1a\xed\xcb\x6e\x90\xfa\x02\xbc\xa6\x55\xe7\x22\x1a\x5a\x9b\xba\x22\xed\x3c\x8a\xf5\x4f\x1d\x80\xa6\xe9\xdd\x90\x0c\xfc\x22\x70\x77\x0a\xb0\x36\x75\x40\x5a\xe8\x94\xdc\xe7\xa6\xd1\xa6\x1b\x8d\xd3\x50\x75\x0d\x92\xe6\x0d\x40\x32\xa4\x2e\x67\x0f\xa9\xae\x04\x27\xe5\x90\x65\xc9\xf0\x8f\x53\xef\x5b\x4c\x99\x70\x2d\x73\x50\x1f\xfe\x1e\x4f\xbd\x43\x4c\xe6\x41\xff\xc1\xbf\xc8\x01\x17\x0b\xa3\x50\x8e\x8f\x21\x45\xde\x11\x7d\xe5\x0b\xd4\x62\xc0\x8a\x67\x77\x58\xf5\x46\x7a\x1a\x0f\xd7\xa9\xc8\x83\x78\x98\x65\xf7\xf4\xf8\x36\x4e\x80\x9a\xda\x43\xe5\x27\xa2\x3d\xee\x1a\x90\xff\xb9\x3a\xdb\x35\xb1\x43\x4b\x16\xd9\xc6\x67\x9d\xc0\xd8\x7d\x24\x70\xbd\x27\xb6\x36\xb1\x23\xc9\x50\x97\x03\x92\xa5\x9b\x16\xa8\xf1\x79\x37\xf0\xce\x0d\x93\x75\xe7\xe4\xe8\x3e\x57\xba\x91\x74\x01\xe8\x22\xc0\xfd\xb6\xde\xe7\xae\x9e\x66\xb1\x73\xc6\xa8\xea\xb7\x56\xb0\x5c\x21\xab\xcd\xc8\xd3\x81\xc3\xd2\xd0\x8a\x30\x8f\xf6\x90\x85\xa8\xf3\xfa\xbd\x2f\x2c\x4e\x5d\xd9\x43\x0e\xa3\x5e\xa0\x5c\x88\xda\x4f\x1e\xa3\x9e\xc0\xdc\x08\xeb\x48\x37\xe4\x4a\x52\x17\x18\x27\x62\xf6\x90\x9f\xa8\x17\xa8\x0e\xa2\x6a\xae\x39\xec\x6f\xe3\x72\x39\xb1\x36\xed\x40\x6a\xbd\xbf\x77\xe2\xb5\xb7\x76\x40\xbd\xd3\x35\xdb\x09\x84\x03\x11\x0d\xe1\xd8\xf9\xca\xdd\xdd\xde\x19\xfd\x8e\xd7\xc1\x5e\xa0\xba\x88\xda\xe9\xd6\xd4\xdd\xde\x8e\x7e\x1d\x98\x32\x0a\x7d\x2b\xc3\x09\xd9\x97\x51\xa5\x16\xfa\x7d\x6b\x6e\x21\x99\x05\xea\x3d\x3c\xca\x23\xfc\xd1\x79\x68\x3c\x1a\x5e\x97\xee\x3e\x46\x7e\xa0\x9d\x40\xbb\x11\x6d\x89\x1e\x46\x93\x0d\xfa\x2c\x18\xf3\x06\x3a\x27\x08\xda\x37\xb6\x1e\x5d\xdb\x31\x43\x50\x4f\x60\x7d\x08\xeb\x91\xb7\xa7\x1f\x91\x7d\x00\xbb\x10\xfc\x3f\x41\x8e\x83\x7e\x3d\xf9\x75\xe4\x38\xe8\x4d\xf3\x53\xe5\x38\xe8\x4d\x58\x8f\x1c\x07\x9f\x66\xc9\x3d\x59\x8e\x83\xc7\x5f\x87\x8f\x9e\xe3\xe0\x09\x96\xe5\xee\x39\x0e\x76\x5b\xa2\x26\xa6\x38\x9b\xa2\x0c\x36\x9e\x4e\x27\x53\x5c\x76\xa3\x19\x16\xf1\x81\xb5\x46\x51\xf0\x98\x61\xfc\x02\x76\xd1\x4f\x3f\x01\x29\xf0\x7b\x9c\x24\xc6\xc2\x04\xdb\xc1\x6a\x27\x8b\xa3\x1a\x4c\x88\xe4\xdb\xf6\xa6\x7e\x44\x39\xd4\x69\x80\x30\x89\x91\x57\x3a\x36\xc6\xb7\x30\xdc\x61\x50\xf0\x2a\x2a\x9b\x6e\x40\x72\x2e\x2b\x9e\x95\x31\xf2\x05\x44\x98\xc0\xb2\xaa\x06\x6f\x2f\x59\x25\xbd\x2c\xb0\x81\xae\xc5\x0b\xa3\xb7\x3f\xd0\xb8\x2b\x7d\x95\xf0\xfd\x4f\x44\x9a\xf7\xe2\x98\x13\x5a\x1c\x16\x31\x71\xc2\xe8\x90\xbe\x33\xc1\xde\x0b\x99\x87\xe1\x10\xdd\xef\x7d\x04\x01\x6c\xcb\xe4\xbc\xec\x47\xb8\x0a\x64\xb4\x7f\x5a\xab\xd0\x32\x28\x9e\x90\x91\x1a\x9d\xb2\x6f\xb8\x18\x41\xca\x09\xf1\x6f\xc3\x84\xd3\xe2\x33\x00\x63\x2d\xf2\xc6\x22\x11\xb2\x70\xbc\xa9\x20\xce\x80\x52\xe0\x63\x59\x77\xf5\xe5\xfc\xce\xdf\x88\x4a\x7f\x3d\xa1\xea\xd7\x50\x11\x92\x24\x5c\x61\x7e\x7c\x6b\x3f\x29\x92\x6b\xe5\x27\xef\x45\x06\xe3\x37\x2f\x7a\xcc\x6e\xf4\x98\xd2\xd6\x2f\xeb\xd0\xdb\xca\x55\x35\x7b\x24\x43\xaf\xca\xc9\xa0\xbc\xfc\x09\x66\xb5\xc0\x9f\x19\xd7\x20\xc7\xe4\x69\xba\xfb\xbc\xaa\x48\x6f\x2a\xdd\xab\xd3\x4d\xb5\x16\xc3\x08\x33\x95\x70\x0c\x11\x06\x02\x34\x6a\x54\xec\xab\x23\x12\x91\x1c\x5d\xb5\xe0\x98\x0f\x37\x90\x6e\xd5\xa9\x5f\x39\xeb\x41\x12\x55\x5c\x02\xc6\x06\x79\x78\x1d\xa4\x3d\xc0\x37\x43\x2f\xa6\x3c\x90\xa9\x29\x64\xab\x65\xd1\x6b\x47\x9b\xbf\xba\xf1\x49\x42\x8c\xd7\x3c\xc4\x03\x2a\xfe\xb0\x8c\xbf\xcf\x05\x85\x20\x50\x65\x87\x54\x3d\x30\x85\x5b\xb5\x90\x89\x47\x06\x5b\x07\xca\xba\x50\xc7\x7c\xbd\x0d\xcc\x85\xe9\x3b\xa9\x8d\x81\xc2\x0a\x68\x51\x07\xec\x44\x61\x71\x3f\xbf\x09\x33\xe6\x28\x38\x96\x2f\x79\x48\xb7\x23\x8e\x20\xe1\xe0\x15\xb0\xcb\x81\x7c\xd9\x7b\x0c\xd1\xec\x04\xc2\x30\xec\x9c\x3b\x55\xe3\xa3\x50\x30\x03\xb9\x2f\x29\xf8\x26\xbb\xdb\x8e\x54\x04\xee\x7b\xdf\xe5\x91\xac\xe3\xa9\x42\x4f\x10\x83\x27\x5e\xc6\xb9\x92\x77\xdc\x68\x4d\xb0\xba\xcb\x6a\xd8\x42\x32\x3e\x1a\xec\x9d\x70\x7f\x09\xb7\x98\x87\x3f\x83\xe0\xa8\xf5\x81\x5e\x0d\xfa\x77\xe5\xce\x8f\x16\x94\xb2\x74\x13\x8a\x0f\x14\x37\x5b\x38\x21\xce\x63\x80\x3e\xc0\xc3\xf2\xbd\x34\xaf\x2f\xc3\x55\x98\x71\x56\xa6\x95\x58\xc5\xc9\x3d\x3f\x21\x16\x68\x2d\xbe\x76\x96\x07\x28\x99\xe7\x98\x4b\x27\x97\x45\x26\x7d\xbe\xe2\x2c\x80\x69\x05\x42\x67\x14\x03\x2f\x66\xb8\x42\xaf\x4a\x8c\x9f\x85\xe9\x3c\xa6\x64\x42\xe5\x6b\xa0\x83\x87\xa2\x08\xab\xb5\x76\x54\xe7\x68\x4c\x76\xe3\xb8\xb5\x76\x81\xd9\xaf\x7e\xfc\x11\x5e\xd3\x01\x6a\xa5\x85\x32\x1d\xa8\xf0\x2a\x03\xd6\xd1\x12\xef\x01\x89\x0a\xe4\x8b\x3b\xaa\xd5\x13\x64\xbc\x32\x2a\xb0\x96\x8a\xae\x04\x39\xa2\x44\xa2\x00\xdb\x58\x85\xe8\x08\x3d\xc0\x10\x24\x55\x34\x43\x6b\x90\x19\xe6\x5b\x91\xd0\x4a\x2d\xab\xbb\x99\xc1\x62\xfa\x24\xef\x15\xe7\x4f\xa2\xf4\x5a\x1b\xb8\xac\xe3\x31\x84\xb5\x91\x2e\x4e\xde\x52\xe5\x71\xb4\x20\x87\x09\x9c\x48\x47\xa7\x95\x0f\xe0\xcf\xb3\x10\x0b\x24\x7b\x94\xe8\xcb\x4f\x04\x26\xb9\xc2\x4a\x57\xcb\x7b\x8c\xff\xae\x7e\x4a\xb0\x0e\x30\x86\x3c\x5f\x2f\x12\xac\xd6\x43\xb5\x8a\xe1\x4d\x35\x8b\xd7\x21\xe5\x78\x4a\x0f\x5f\xbe\x5c\xc0\xee\xcd\x6f\x30\x60\xed\xa5\x9e\xe7\x09\xfe\x08\xff\x83\xaa\x34\x6d\x3a\x10\x47\x84\xbd\x4c\x20\x85\xb3\x56\xed\x6d\xbd\x87\x94\x7c\x4a\x6b\x84\x9d\xad\x76\x72\x94\xe5\x32\x85\xac\xac\x30\xcc\x25\x85\xa3\xb2\x59\xa5\xa7\x14\x85\xce\x75\xb1\x55\x8f\x19\xac\x4a\x66\xd5\xb7\xa7\xed\x53\x48\x4a\x22\x90\x39\x69\x33\x06\x45\xc1\x4b\x64\x45\x29\xb1\x12\x2d\x2d\x1b\x25\x63\xc3\x2f\x44\x04\x13\x64\x18\xba\x53\x55\xc0\x92\xb8\x59\xaa\x60\xfb\x40\xbc\x7e\xdd\xc7\xe0\x4e\x0c\x89\xc6\xeb\xb4\x9e\x2b\x8c\xd3\xd8\xfa\x19\x95\xf8\xb6\xd0\x0c\xec\xeb\x8d\x58\x9a\x78\xd5\xe8\x3b\xd8\xe9\x48\x04\x7c\x8b\x2b\xd9\x0e\x08\x45\x2f\x13\x2f\x97\xbc\xd8\x09\x0e\x16\xa5\x96\xbf\xb9\x10\x35\x67\x9b\x66\x53\xd4\x8d\xc0\x0d\x28\xed\x53\x18\x51\x0b\x67\x36\x8c\x01\x69\xda\x8e\x5e\x29\x6f\x8e\x97\xc0\x58\x7d\xac\x76\x3d\xe5\x50\x16\x04\x50\x03\x2b\xbf\xec\x02\x8f\x95\xdd\x60\x08\x75\xdd\x5e\x96\xaa\x0f\x78\x3a\x49\x02\x4b\x8d\x15\x92\x27\x88\x8a\xf8\x40\x8d\x02\x14\x5e\x01\xeb\x10\x70\x60\x4c\x3b\xaf\xe3\x94\x74\x08\x0c\x1f\x25\x75\x38\x00\x51\xe9\xc0\x10\xb8\x5b\xd8\x4f\xea\x71\xcc\x1d\x84\xb1\x0d\xf1\x24\xd8\x05\x0d\x97\x1a\xc4\x04\xc2\x18\x47\x0e\x07\x93\x7a\x27\x13\x2e\x43\x07\x8d\xe7\xa6\x61\xda\x52\x3a\xd6\xb4\xe9\xa0\xe8\x67\x1e\xe6\xe7\x54\xc5\x1c\x7f\xb2\xbc\xfe\x5c\x72\x2f\x38\x67\x97\x01\x5c\x4d\xee\x4b\x1b\x24\xb1\x70\x43\x2b\x95\xb9\x30\x52\x13\xc2\x95\xd5\xe5\xe7\xfa\xdc\x85\xd1\x26\x7e\x6f\x5b\x07\x40\xc0\x1b\xb8\x05\x6f\x50\x8f\x85\x85\xda\xd3\x3b\x22\x85\xef\x93\xb7\x39\xe6\x56\xcf\x71\x2f\xe1\xc1\xc8\x89\x18\xc3\xd5\x1a\x6b\xbd\xc3\x2e\xaf\xd0\x8a\xaf\xb8\x1e\x29\xfc\xd1\xa4\x98\x69\xeb\xbd\x56\xda\x96\x81\x36\xb1\x6d\xe3\xf9\x96\xb8\x23\xf2\x01\x94\x09\x30\x67\xa4\x8f\x65\xa4\x53\x39\xb1\x89\x67\x69\xee\xc1\x4d\x5b\xac\xa8\x3e\x65\x18\x80\x2c\xc5\x6d\x1e\x7e\x1e\x2e\xe5\x52\x81\xcb\xef\x8a\x40\xb4\xd3\x0b\xe8\xcf\xa9\x84\xab\x0f\x42\x59\x79\x75\x56\x57\x62\x7c\x43\x9c\x09\xa6\x26\x53\xdc\x3c\x96\x23\x2a\x65\x0a\x77\x52\xa9\x66\x5e\x64\x2c\x9b\xa7\xd6\x27\x96\x58\xcf\x23\x4c\x63\x0f\x4b\x84\xf2\xbf\xc8\x84\xf5\x81\xb8\x0d\x23\xd8\xeb\x20\xc5\xe1\x0a\xf1\x91\x2b\xcf\x8d\xdb\x59\xb2\x30\xef\x77\xb0\x97\x2e\x29\xe1\xc0\x58\x65\x79\x3c\xf0\xc6\x69\x0a\x52\x14\xdc\x34\x97\x45\xf5\xc5\x22\x9f\x38\xa1\xc1\xaa\x78\x2b\x64\xd6\x52\x56\xda\x88\x1f\xcc\x64\xaf\x31\x85\x3e\x92\x0e\x8b\x91\x05\xd2\xf4\xce\xff\xc2\x23\x0d\x25\xae\x3b\x9d\x6f\x01\x4e\xd8\x35\xa8\x2e\x37\xd1\xed\x2f\xb9\xe8\x2f\x5a\x24\xb0\x4c\x3f\x8e\x2a\x80\xc2\xba\xcb\x08\x35\x28\x33\xa2\x03\x30\x8e\x3b\x0f\x8a\x71\xb7\xd1\x48\xd5\x05\x10\x04\x8a\x45\x25\xeb\x94\xd1\x4f\x03\xde\x93\x78\xe6\x65\xfe\x7b\xb4\x38\x7c\xb8\x43\xa5\xbe\x59\x74\x92\x94\x92\x3c\x86\x60\x99\x37\x31\x1d\x69\xc9\xb3\x00\x72\x88\x39\x20\x68\x80\x03\x94\xc1\x59\x41\xbb\x8e\xf3\xb9\xb9\x30\xff\x51\x1c\x45\x62\x4e\x9a\xeb\x20\x5f\xad\xa9\x30\xb0\x98\x53\x89\x44\x0c\xf8\x26\x39\x78\xbf\xe5\x3d\xcd\xa6\xf6\x18\x29\x81\x9e\x0c\x48\x40\xc1\xfe\x22\x49\xb8\x34\x88\x16\xa6\x4b\x95\xb3\x7d\xe4\x4a\x9f\x46\x2b\x7e\x39\x5e\x99\x1f\x12\x87\xfb\x94\x03\x55\xa1\xe1\xd3\x8e\xcb\xfa\x9e\x16\x3e\x88\xcf\xd0\xbb\xdb\x24\x5e\x29\x42\x2e\xe9\x11\x90\xc3\x95\x51\xa5\x6f\x9b\x7c\x39\xa3\xbf\xf8\xe5\xa3\x94\x8d\x05\xc2\x42\xae\x1b\x9b\x84\x74\xa1\x8c\xdb\xe8\xd2\x86\x8e\xf5\x3a\xb0\x8b\xe3\x3a\x7d\x3b\x95\x94\x76\xa8\x23\x7b\x44\x47\x2c\xea\x0f\x50\x89\xab\x57\xe4\xae\xeb\xf3\xde\x45\xe3\x24\x89\x93\x43\xaf\xc3\x94\x41\x3a\x83\xdb\x38\xac\x68\x0f\x31\xed\xae\x6f\xa9\xa2\xcb\xc0\x35\xd8\x1d\xc4\xce\x61\xea\xab\x7c\xf7\xd0\x53\x86\x91\xb8\x17\x6d\x73\x9c\xab\xa4\x8d\xdf\xd6\x20\x76\x50\x14\xa0\xfd\x6d\x05\x87\x18\x1d\x09\xf2\xfa\xe7\xc1\xa5\x97\x6e\xab\x01\x5c\x1b\xe1\x58\x4d\xee\xff\xca\x9d\x32\x05\x91\x4e\x09\x04\x40\x5a\x16\x58\x30\xe5\xed\x0b\xd6\xd6\x6d\x1e\x51\x4a\x2f\x4a\x47\xf2\x57\x5d\x54\xde\x72\xb9\x7a\x95\x4b\x9b\xfd\x78\x7a\x4c\x24\xd6\x60\x23\x75\x49\x8e\xab\x7a\xf5\xf0\x4b\x14\xc6\x2a\xc5\xb3\x1b\x6e\x58\xed\x48\x6c\x40\x52\x44\xc1\x2f\x9e\xe3\x46\x54\x05\xd0\xb6\xa1\x47\xed\x23\x90\xc4\x49\xc9\x5c\x07\x0f\x3b\xab\x00\xef\x42\xa7\xac\x36\x87\x50\xae\xa2\x34\x5f\xe3\x15\x50\x04\xa7\xf4\x94\x64\x3b\xac\xc4\xf3\x3e\x82\x2b\xa9\xfc\x14\xd3\xd1\xa0\x61\x74\x3b\xe2\xe7\x0f\x7f\x0e\xc2\x05\x89\x5d\x61\x10\xc2\xac\x58\x30\x4f\x52\xf5\x79\xaa\x7d\x3f\x8f\xa3\x3b\x99\x16\x3b\x25\x3b\x8f\x99\x6b\x56\x3a\x4a\xaa\x27\x52\x0f\xd2\x2d\xad\xdc\x98\x17\xf0\xe2\xdc\x56\x4c\xbd\xa3\x4b\xac\x9b\x42\x65\x60\xcc\x7a\xc0\x56\xd0\x2e\x24\x9a\x38\x12\x72\x2b\xc5\xb5\xf4\xd9\xde\x8e\x5e\x23\x6f\x92\x39\xaa\x98\x87\x55\x11\x39\x51\x5f\x39\x4b\x8a\x23\x87\x58\x7a\x26\xb5\x42\xc0\xd1\xb7\x25\xbb\x7e\x04\x98\xcf\x8c\x6e\x7a\x53\xbc\xa6\x00\x60\xa1\x5b\x94\xdc\xc9\x52\xcd\xeb\x86\x22\x77\xb4\x6c\xa5\xb7\x5b\x4f\x8c\x38\x89\x2f\x72\x9f\xff\x0d\x61\x74\x60\x95\x32\x01\xe6\x4a\x27\x3e\x3f\xba\x38\xe9\x79\xac\x49\x8b\x16\xae\x8a\xca\x78\xd7\xe0\x99\xe9\x88\x9e\x67\xca\x09\x28\x13\x20\x75\x92\xa7\x0d\x4a\x75\xf9\x1a\x15\x5d\x3d\x0e\x31\x72\xdb\x50\x77\x07\x82\xb5\xd6\x95\x6e\x04\xcd\x4e\x47\xbc\x86\x2b\x7c\x69\x2d\xb1\xdc\x62\x5a\xf0\xfb\x37\x49\x98\x68\xf5\x9c\x0a\x38\x1d\x48\x3f\x24\xa8\x37\xff\x21\x5c\xf7\xc4\xb7\x48\x7c\xf6\xad\x51\x08\x01\x84\x01\x95\xf2\xb1\x9a\x1d\x5d\xb0\xbe\xd8\x24\xb3\x49\xcf\x17\x56\x14\xe3\xe7\x1d\x00\xcb\x3e\xda\x01\x76\x0e\x86\x02\x28\x9d\x6a\x31\x35\x1f\x0b\xa5\xb8\x12\x00\x1e\xce\x60\xda\x45\x76\x79\x1a\x0b\xae\x04\x5f\xe5\x00\xec\x29\x43\x37\x35\xb8\xa8\x83\x14\x61\x52\x48\xd6\x88\x81\xab\x78\xa6\xee\xe8\x94\x3d\xef\xe6\x1e\x0b\xae\x23\xf4\xd4\x7b\xe1\x07\x70\xd8\x52\x75\x2b\x63\x06\xb6\x06\x79\xa8\xff\xc2\x89\xf4\xb9\xc0\x57\x4a\x9a\xaf\x18\xb5\x10\x81\xb4\x7d\x96\x84\xa3\x91\xf9\x45\x1a\xb3\xac\x43\xc8\x42\xbc\x35\x53\x97\x4c\xbe\x0b\xaa\x03\x91\xf8\x40\x26\x8d\x2e\xc2\xa2\x78\xd3\x69\xc6\x50\x30\xd9\xb4\xc6\xd6\x40\x9c\x1c\x94\xf4\xdc\xd7\x55\xc3\x5c\xc6\x6e\x62\xae\xeb\x4d\x22\xe7\xd2\xc2\x8c\x1d\xf5\x7b\x46\x23\x57\x6d\x41\xd7\xf1\x02\xef\x12\x16\xfb\x54\xe9\x9a\xc8\x9e\xc6\x9e\x35\xd6\x4a\x0d\xe6\x22\xc9\xd7\x52\x77\x84\xf5\x33\xa2\x87\x7f\xf5\x3b\xe1\xf3\xd9\x4e\x45\xd3\xad\x39\xce\x14\x0e\x76\xb6\x0d\xa8\x09\xba\x57\xce\x55\x7d\x8c\x4e\x3b\x57\x1d\x27\xbb\xc5\x76\x6e\x5f\x76\x9e\xed\x0f\xbe\xc3\x82\x57\xce\x4f\x2f\x63\x5d\x81\xc5\xe2\xbf\x51\xd0\x2e\x85\x83\x0e\x50\x98\x17\x94\x97\x15\xa5\x05\x65\x81\xa5\x0f\xf3\x91\x4b\x0c\x88\xc7\xa4\x9f\x55\xb7\x8f\xbe\x9c\x27\xf2\xde\xcc\x66\xbd\x58\x35\x7e\xdf\x05\x13\x2f\x07\x45\x4d\xe6\xd2\x3e\xcc\xfc\x0d\x13\x58\xde\x08\x58\x54\xeb\x3c\xbd\x43\xd7\x98\x7c\x3e\x17\x69\x4a\x1a\xe7\xae\x11\x2e\x80\xca\x3b\x7e\xe1\x92\x08\xbf\x91\xd5\x65\x64\x29\x4d\xb1\xec\x23\x46\x20\x2a\x6e\x87\x98\x48\x36\x7e\xf8\xd3\xc7\x30\xeb\x98\x20\x3a\x0d\x3a\xc7\xa2\xc2\xf0\x3b\x00\x06\x48\x37\xe6\x2c\x02\x32\xd9\xe1\x42\xf9\x3c\x0d\xe4\x5f\x52\xff\x85\x7f\x60\x1e\xa5\x24\x4b\xcd\xaa\x21\x22\x41\x78\x0b\x91\x90\x57\x69\xc2\x50\x75\xa7\x1a\xf2\x1f\x4e\xe1\xc6\xc9\xa9\x6f\xf1\x01\xd5\x70\xa4\x0b\x6d\x6a\xbc\xa9\x34\xc8\x45\x86\x7b\x13\xb2\x92\xdf\x9f\x93\x47\x80\xcc\x0a\x7a\x8f\x87\x04\x89\x9d\x7d\xe8\x64\x9b\x3f\xd7\x01\xba\x61\x7e\x05\x1f\x90\x99\xa4\xee\xe8\xe4\x2f\xf8\x8a\xdd\x41\x2c\xa6\x8e\xe9\x65\xc8\x67\xaa\xc8\x91\x4d\x2d\x9e\x2d\x38\x02\x0d\x48\x7d\x99\xa3\x3e\x4c\x29\x22\x52\x91\x65\xe4\xa2\x87\x09\xca\xe1\x2b\x0b\x35\xa8\xb8\xaa\xac\x6c\x5a\x26\xe4\x12\x9e\xa0\x65\x2a\xa0\x7c\xaf\x65\x31\x50\x1c\x21\x94\xbd\xc3\x54\x6d\x82\x2e\x42\xf7\xab\xb3\xec\xe8\x4a\x5f\xe5\xe4\x3e\x94\x6a\xaa\xa7\xa5\x3c\x0d\x0d\xbf\x52\x7f\x9c\x3b\x53\xde\xd5\xde\x8e\x5d\xca\x70\xe8\x91\x45\xbf\x64\x47\x70\x79\x36\x86\x7b\x9b\x71\x2d\x64\xba\x3a\x06\x29\xd8\x58\x14\xc0\xdb\x0c\xe6\x1e\x68\xde\x3b\x4d\x1c\x20\x08\x8d\x7e\x87\x3f\x76\xa0\x6b\xde\x02\x67\x1b\x82\x1a\x52\x62\x31\x37\x66\xdf\x73\x49\x44\xab\x98\xa8\x37\xef\xc0\x4c\x28\xe1\xfb\x37\xd2\xc1\xcc\xad\xe3\x89\xec\x78\xb5\x95\x23\x2a\x10\x37\x4c\x0b\x7a\x6f\xfc\x43\x11\xc8\xb8\x3a\x97\xf6\x3e\xd9\x47\x55\xf8\xc6\xd6\xea\xc9\x35\x3d\x29\xfa\x93\x17\x40\x3b\x37\x6d\x8b\x88\xde\x0a\x58\xd1\xab\x81\xee\x22\xb6\x2e\xc9\x4b\xe2\x8e\xf8\x08\xc2\x8e\xbb\xf1\x15\x07\x09\xbf\x20\xaf\x01\xdc\x8d\x48\x29\xd4\x03\x80\x1d\xf8\x5f\xf3\x66\xa0\x01\xdc\x6e\xbe\x0d\xd4\x55\x0e\xc8\x96\xc5\xfd\x18\x1d\x30\x6a\x11\x1b\x2b\x7c\xc7\xde\x16\x1e\x9e\x0d\xc5\x6b\x6f\xb9\xa0\xe7\x52\x33\x09\x5a\x4d\x4a\x76\x34\x67\x6e\xb9\x4a\x51\x98\x2c\x49\xf9\x5a\xdc\x6b\x27\xb8\x65\xf4\x4e\xe4\xa3\xdd\x86\x86\x45\xd2\xf6\x51\x29\x49\x91\xfc\xb0\x73\x1c\x6b\x34\x6d\x3b\x30\x54\xfb\xcc\x24\xd8\xec\x24\xc3\x00\x45\x24\xdf\x2e\xef\xf0\x8e\x56\x07\xbd\xd5\xfa\xa6\x75\xda\x2a\x21\xec\x49\x04\x93\x62\x83\xe6\x96\x5c\xc3\xf3\x38\x82\x58\xeb\x06\x6c\xdb\xab\x5b\xf2\x7f\xc3\x66\xb2\xef\xc1\x2d\x57\x14\x7b\x3d\xab\x52\xc0\x46\x4b\xd3\x63\x73\x22\xcd\xfc\x54\x54\xd3\xf1\xd6\x62\xa9\x15\xa0\xf8\xc4\x3c\x89\x06\xaa\x70\x4e\x70\xef\x97\x4e\x7f\xbd\xad\x09\xa3\x0c\x9b\x4e\xbd\x0f\x70\x55\xf7\x12\xf1\x9d\xf4\x7e\x91\xde\xd1\xe8\x9b\x08\xd7\x71\xb3\x0b\xdf\x28\xad\xc4\xb8\xc2\x88\xfa\x2b\x02\x43\xce\xbb\xe8\x0e\x45\x1a\xe5\x28\x96\xf1\xac\xdd\x94\x0c\xca\x35\x12\x46\x4b\xb4\xf2\x93\x9f\x95\x8c\x8e\x1e\x90\x25\x12\x7d\x0e\xd7\xb1\x2c\x31\x83\x9a\x8a\xb7\x47\xa3\x0b\x15\x60\x7c\xe9\x69\x09\xa8\x3c\x95\x80\x4a\xd6\x18\xca\xd9\x30\xae\x9c\x93\x8d\x79\xb3\xca\x3e\x0d\x8a\x65\x42\x55\x66\xbe\xcf\xe9\xb9\xf2\xe2\xcb\xa5\x0e\x4e\x5a\x47\x06\xaa\x54\x4b\x42\x25\xbe\x50\x11\xc7\x15\x69\x90\x0c\x2e\xc3\x83\xc2\xd6\xea\x26\xa4\xe6\x55\xb2\x99\x85\x14\x4e\xcd\xa4\x0c\x61\x17\x6b\xc3\xa0\x49\x85\xc3\x85\x3d\x92\xe0\x92\xf4\x62\xe4\x48\x6e\x87\x53\x14\x7c\x09\x42\xb6\xdb\xad\xfc\x6c\x7e\x67\x74\x76\xe7\xc8\x04\x32\x05\x72\xe8\xf2\x3c\x06\x38\xe9\x3a\x8e\x02\x91\x9b\x30\xa5\x59\xbc\xd2\xa3\x90\xee\xd9\x16\xfe\x42\x1c\x2c\x0e\xbc\xd5\x7d\x99\x40\xe4\x33\x9c\xf6\xd7\x61\x46\x7a\x4e\x7e\xfd\xbc\xcb\x75\xfd\x3b\x7f\xe3\x97\x10\x0e\xe0\xb3\xe7\x15\x30\xb2\x56\x0f\xaa\x9f\xe6\x77\xf8\x22\xf3\x17\xdb\xc3\xfe\x0f\x9b\xdf\x1c\xfc\xe6\xe0\xf3\xe7\xb4\xb2\x9e\xab\x3f\x00\xe4\x67\x1c\x71\x90\x72\x48\x54\x86\x7e\x9c\x45\xc3\xd4\x43\x1b\xce\xa0\x08\x21\x7a\x2e\xfd\x43\x9e\x23\x39\xcf\xa3\x7c\xb9\x34\xa5\x00\x2d\x74\x12\xde\x9c\x46\x11\x78\x91\x62\x5c\x64\xf3\x7f\x81\xca\x4e\xf1\x51\xac\xd6\x4b\x58\x86\xb5\xa1\xcc\xa9\xff\xf0\x3d\x0e\x45\xf5\xcb\x2d\x47\xb5\x02\x91\x6b\x12\xa1\xe1\x64\x45\x61\x20\xcc\x24\xe1\x1b\x1a\xe0\x5d\xd1\x15\x03\x2d\xcf\x58\x04\xaa\xc6\xfb\x33\x19\xf3\x40\xc5\x92\x94\xfd\x4a\x1b\x6d\x0c\xa7\x5f\x24\xec\x3f\xa9\x02\xaa\xa8\xa4\x5a\x39\xee\xb9\x1a\x77\xdb\x92\x55\x45\xe4\xc9\xb9\x7a\xbe\xcc\x29\x70\x89\x58\x8f\xcc\x75\x38\xa8\x38\xd9\x96\x05\xf1\x57\x80\x24\x04\x6e\xea\x61\xf9\x2f\x23\xbb\xd1\x8a\x99\x6b\xb3\x2b\x7d\xfe\x08\x21\xd6\x3b\xf3\xab\x15\xcd\xb1\x48\x9c\xc1\xfb\x56\x2b\xea\x0e\xbc\x07\x4f\x05\x60\x43\x1b\xf1\x83\xc9\x43\x00\x13\xaa\x1b\x68\xa3\x57\xed\x8d\x26\x47\x5f\x8f\xa7\xd7\x27\x67\xa3\xd7\xa6\xd4\x12\x95\x4f\x0c\x40\x2c\x49\x91\x6c\x19\x8f\xf8\xdd\xa5\xb5\xe5\xa5\xa1\xa9\x9f\xde\xdd\xc4\x7e\x12\x1c\x16\xda\x06\x03\x98\x0b\x38\xfa\xc4\x52\xfb\xac\x1d\x1e\xb9\x54\x4b\x4b\x28\xb0\x40\x76\x92\x24\x71\xd4\x44\x1e\x79\x47\xb3\x35\x01\xcf\xc6\x42\xba\x4c\x50\x39\x90\x1a\xf4\xcf\x15\x3c\x2c\x11\xed\x05\x9b\x26\xd6\x9a\x10\x53\x7c\x7a\xb7\x69\x7f\x2c\xa3\xc5\xbb\x8d\xfb\x05\xc8\x2e\xe3\x7e\x09\xb2\xcb\xbc\x5f\x80\xb4\xfa\xda\x69\xf0\x64\x6c\x7b\x07\x34\xdb\xc8\xea\xfd\xc5\x41\xed\x00\xd5\x67\xe8\x3a\x40\x39\x5b\x73\xb5\xfe\x6e\x6d\xcf\x6d\x60\xb5\xda\x73\xf5\x19\x73\xb4\xe8\x36\x10\x74\x98\x72\xf4\xc1\xea\x63\xc1\x69\xe0\x81\x7b\xbf\xcb\xd4\xd6\x2f\xe8\x5d\xd0\xf5\xcb\x73\xf7\x28\xb5\xdf\x8c\xbb\x70\x58\xac\xd2\xfa\x1a\x77\xda\xd7\xfa\x05\x9a\x23\x37\xca\x58\xaf\x08\xc4\xc2\x70\xc1\x87\x9d\xfe\x1d\x3b\x81\x2f\x97\xf6\x94\xcd\xfa\x30\x32\xe4\x62\xcd\xd5\x6f\xd4\x42\xd6\x7f\xe2\xb8\x9d\x45\xa4\x56\x67\xf3\xee\x8d\x09\x1d\x62\x3c\x1f\xd1\xe0\xc9\xcf\x4c\x07\x9b\xea\xa1\xc5\x41\x45\x1b\xad\x2b\xab\x77\x8a\x02\x46\x5e\x39\xeb\x3b\x1f\xc3\x68\x68\x4b\xa7\xde\x8b\xf0\x40\x1c\xc0\x10\xc5\xa9\x60\x4b\x37\x46\xa6\xb2\x0c\xbd\x5e\x0b\xf2\x9b\x64\xa3\xa1\xc9\x7d\x47\x11\x51\x38\xe7\x20\x0f\x48\xbd\x87\x3f\x27\xb7\x0f\xff\x92\xd6\x84\x28\x1f\x44\x8e\xa5\xcf\xc5\x61\x49\xf4\xc6\x30\xb7\x7f\x41\xbf\xdb\xb5\xa0\x1a\x98\x9a\x6d\xdc\xe0\xbd\xa3\xfa\xe2\xe0\x04\xd0\x60\xea\x66\x37\x80\x12\xaa\xd9\x5b\x46\x1b\x6e\xa3\x53\x4c\x09\xc7\x6c\x8f\xd7\xc9\x72\xb0\xc8\x4b\x90\x73\xe4\x2a\x18\xb1\xd3\x01\x95\xbf\xeb\xd8\x86\xa9\xab\xdb\x0e\x43\xed\xe5\xb7\x43\x18\x9e\xce\x86\xcb\x14\x6e\x63\xc5\xed\x19\x62\xd2\xd1\xdb\xed\xec\xb8\x3a\xf5\x5b\x59\x72\x0b\xfc\x3b\x2b\x3c\x75\x52\x8c\x66\xdb\x6d\x46\xe6\x13\xa8\xa8\xcb\xbe\xa8\x33\xf0\x93\x29\xa6\x8b\x61\xd8\x41\x99\xab\x77\x67\x3f\x8a\xda\x82\xaa\x1d\xad\xd3\x95\x81\xde\xcd\x3e\x5d\x90\x54\x98\x6e\xa7\xf8\xc3\x15\xbb\xb2\xc1\x6a\x8d\x1c\xd1\xd0\x05\xa9\x1f\x92\xa2\x89\x1d\xc5\xfe\x8c\xb3\xfa\xe6\xdc\xb7\x79\x56\x23\xd7\xc5\x3c\xeb\x40\xe1\xd6\xd6\x59\x47\x02\x77\x30\xcd\x56\x18\xee\x9e\x8c\xb3\x0d\xfa\x9e\xcc\x36\xa0\xf7\xe6\x13\x5b\x26\xcb\x41\x30\xdb\xb4\x76\xe0\x2b\x66\x03\xd6\x56\x13\xa5\x46\x9e\xcd\x0d\xd5\xb0\x9b\xf2\x39\x5b\xd2\xb7\x9e\x11\x8d\xe0\x2a\x9e\xb6\x09\xd1\x31\x6e\x39\xf2\x6d\xf6\x97\xed\xa9\x37\x59\x65\x7a\x53\x97\xce\x93\x90\x52\x9e\x1d\x6a\x4b\x53\x7b\x6c\x64\x29\xfc\x0d\x8d\x90\xb9\x69\x3b\x52\x4e\x2f\x86\x0e\xa0\x22\x4d\x95\xb7\x65\xa1\xdb\xd4\x63\xab\xcc\xb8\x7d\x95\x9d\x15\x6f\x89\x69\x91\x37\xa9\x3a\x73\xba\xc2\xd2\x89\x16\xca\x97\xab\x18\x85\x26\x01\x15\xf9\x9d\x62\xb6\x1c\xa9\x10\x0a\x77\xfa\xfc\x4a\x52\xd6\x38\x37\xa7\x7e\x82\x77\x7c\x13\x6d\x0b\xa7\xe8\xd1\x8b\x62\x40\xf5\x4e\xf4\x24\xb8\x49\xa4\x36\xa4\xa6\x4b\x8c\x24\xa6\x2c\xbd\x83\xc3\x15\xcf\xdd\x26\xd4\xc7\x2f\x8b\x03\xa9\x84\x61\xc7\x85\x95\x8a\x54\x40\x87\x66\x88\xeb\xc4\x86\xed\x8a\x30\x6e\x65\x22\xb3\xa3\x22\x17\xe6\x32\xcc\x0a\xd5\x15\x9c\xf0\x86\xc2\x6b\x48\x6c\xe6\xc2\x13\x0e\x43\x5d\xc2\x91\x1a\x76\x19\x4e\x43\xc9\x1a\x12\xca\x0f\x6c\xbb\x7b\x6a\x14\xa1\x5d\x08\x3d\x83\xbd\x5b\xe1\x67\x79\x02\xd0\x62\xd6\x18\x70\x99\x2c\x92\xb2\xb5\xd5\x11\x05\x64\x53\xc8\x53\x6e\x2d\x1b\x39\x50\x9c\xab\xad\x56\x68\x79\x89\x58\x54\x19\xc4\x69\xc1\x95\x52\x76\x9b\x5f\xa9\xb5\x24\x23\x86\x56\x6c\x50\x89\x3b\xf4\xd1\xd4\x2d\xe9\x21\x8e\x04\x63\x0e\x28\xdc\x7f\x3f\x62\xd6\x12\x3f\x6a\xb9\xa0\x34\x0e\x55\xf7\xb3\x4c\x75\x4e\xde\x51\x25\x33\x51\xd1\xaf\x55\x94\x81\xed\x1c\xef\x73\xd2\xd5\x7b\x88\x53\x02\x1c\x85\xf3\xca\x42\x77\x8d\xfd\xba\xd5\x78\x8f\xd6\xc9\xae\x8b\x6c\x6b\x27\xfd\x52\xdb\xa5\xf2\x68\xda\xfa\x67\xe6\x49\x95\xae\x77\xdd\x88\x77\xea\x3a\xae\xd5\x1d\x6e\x6a\x7b\x19\x86\xbd\x5d\xf2\x5a\x46\xa2\x65\x99\x77\x0d\xc9\xde\x87\x63\x8b\xa5\xff\x08\x63\x82\x8c\x59\xc6\xce\xb3\x25\xfc\xaf\xd3\xe7\xae\x3d\x81\x76\x18\x72\x5f\x32\x77\xd5\xb8\x27\x4e\x96\x43\x77\xc2\x5c\x8a\x99\x9d\x34\x60\x02\x69\xef\xf2\xf2\x8d\x2e\x16\x15\xca\x71\x0b\x76\x4a\x05\x9d\xa8\xe9\x43\x00\x55\xcc\x46\x8c\xef\x65\xb6\x4d\x76\x55\xf8\xf2\x6f\xff\xee\x6c\xe0\x7d\xf1\xf9\x97\xbf\xc5\x7f\x5e\x9b\x14\xca\xa7\x45\xa6\x4c\xce\x9e\x59\xd5\x20\x03\x10\x4f\x42\xa1\x7f\xbd\xd7\x26\x3d\x71\x98\xc2\x2a\xbb\xf7\xb8\x2c\x30\x87\x2c\x65\x70\x06\x15\x39\x71\x8c\x22\x70\x78\x13\x26\xd5\x9c\x19\x18\xa8\xc4\x6d\x39\x7a\xc5\x80\x31\x96\x79\x47\x96\x71\x82\x91\xea\x71\x9e\xad\x73\x6b\xa6\x0a\xfe\x94\x64\x53\xff\xe1\x17\xa3\x00\xc9\x70\xb9\x52\x21\x59\xe3\xa8\x74\xa1\x4a\x89\x66\x43\xc0\x6d\x64\x46\x7c\x99\x11\x8b\x5a\x9b\xe6\x2c\x56\xba\x7f\x65\xf4\xa3\xd4\x38\x32\x8a\x54\x86\x7a\xa1\xa9\x43\x99\x0f\x48\x38\x01\x39\x62\x13\xc6\x30\x3a\x14\x1c\x97\x72\xce\x2b\x6b\xe0\xe9\x79\xa1\xf4\xd7\xb4\xf3\x95\x98\x53\xcd\xa8\xc2\x06\x05\x14\xd5\x18\xbc\x1f\x71\x90\x20\x45\x5d\x59\x43\x54\x65\x77\xb8\xe4\x9e\x8c\x7d\xf2\x6f\x31\x60\x11\x41\x99\x05\xa8\x73\x2e\x68\x10\xce\x65\x04\x1f\xb5\x5b\x3f\xfc\x19\x93\x37\x62\x4b\x13\xb6\xf9\x7b\x91\x0c\xc3\x15\x85\xa1\xc5\x45\x3c\x34\xaf\x7e\x94\x92\x5e\x06\xda\x27\x43\x5c\x5c\xa6\x4d\x50\x81\xa5\xc7\x41\x57\x77\x83\x09\xa8\x89\xbe\x1c\x97\x33\x21\xc1\x88\xce\x4e\x2f\x02\xf2\x94\x41\xb3\xb4\x6c\x58\x5e\xc5\x6c\x4e\x05\xac\x88\xe6\x5e\x8b\x8f\x3e\x50\x2a\xd0\x5b\xc6\xdc\x55\xa9\x6b\xae\x76\xad\xd2\xd2\x82\x28\x3d\xec\x80\x0b\x1f\x18\x9a\x73\xae\x50\xcf\xcf\x30\x1b\x02\x30\x64\x3f\x5c\x8a\x40\x25\x18\xc2\x84\x3e\x58\x5a\xe2\x8a\xd3\x49\x66\x2a\x0d\xe3\x72\x50\x24\x2e\x4c\x69\x75\xf9\x1b\x68\xc7\x9e\x7a\xb8\x19\x90\xa1\x2e\xc2\x8d\xa0\x11\x36\xf1\xf4\x57\xfe\xf2\x0e\xf3\x61\x72\xbe\x3f\xe4\xee\xc4\xef\x24\x45\x75\x12\x9a\x29\x96\x55\xc6\xbd\x81\x96\x72\xaf\xb0\xa7\xfd\x8c\x8c\x73\x1d\x47\xfc\x29\x20\xc1\x69\x2c\x7c\x01\x4d\xe7\x83\xc4\x5d\x64\x84\x93\x39\x93\x9e\x83\xec\x85\xf9\x74\x53\x32\xf7\x8a\xb4\xf4\xaf\xa3\xa0\x4f\x6f\x25\xd0\x5f\xd2\xe8\x67\x30\x42\xdf\x26\xea\xdc\x46\x66\xda\x95\x17\x2f\x3d\x7d\x9d\x28\xfa\x40\xad\x6f\xe1\x4b\x19\x03\xab\x46\xa4\xe1\xa7\x07\x42\x44\x2a\x71\x07\x2c\x4f\x21\x35\x69\xc8\xe1\xa2\x86\x2e\x62\xd6\x36\x3d\x8b\x1c\x8e\xa2\x00\xe0\xc8\xaf\x38\x61\x99\x71\xba\x30\x47\x46\x7b\xd6\x37\xb1\x42\xff\x24\x92\x5d\x25\x8c\x56\xe4\xe3\xf3\xb7\x27\xd3\xc9\xf9\xd9\xf8\x7c\xe6\xbd\x1d\x4d\x4f\x46\x5f\x9d\x8e\x3d\xaa\xc5\x65\xf2\x04\x7a\x3d\xbd\xba\x98\x5c\x7a\xc7\x63\xfa\xfe\xe1\xff\x7a\x3b\x3e\xa1\xbf\x46\x67\x5f\x9d\x00\x14\x83\x5b\x52\x1b\x9e\x4b\xd3\x16\x69\x07\x6c\xd8\x2f\xe3\x7f\x1c\x9d\x5d\x00\x30\xd3\xb9\xf9\x8f\x63\x78\x3d\x31\x78\x2e\x71\xfa\x77\x36\xd9\x82\x38\xf1\xf1\x5e\xe5\x67\xc6\x74\xc3\xd2\x13\xcd\x98\x9e\x98\x6f\x86\xd4\x0c\xc7\x99\x81\x90\xbb\x6a\xe9\x55\x26\x63\x70\x01\x9c\x95\x80\xed\x15\x42\xa3\x9a\xf2\xa2\x08\xc4\xed\xab\x0f\xaa\x52\xb2\x27\x75\x50\x9d\x3a\x07\x5d\x50\xd9\x81\x9c\x7f\xf7\xd2\x07\xb5\xf5\xa2\x8f\x3a\xa8\x95\xe0\x6d\x74\x41\x92\x10\x64\x16\x52\x59\x41\x52\x55\x07\xda\x9c\x6a\x9c\x48\x7d\x10\x32\x16\x2b\xf0\x7e\xba\x9f\x51\x6f\xc5\x8f\x44\x53\xd5\xfb\x68\x12\x44\xb7\xca\x67\xd4\xd4\xf7\x28\x87\xee\x7e\x1a\x1f\x8d\x94\xc7\x54\xf8\x8c\x9e\x50\xdb\x43\x5d\x7a\x2a\x65\xcf\xe8\xa9\x35\x3d\xf5\xde\xed\xaa\xe8\xe9\xdf\xc1\x9e\xea\x0d\x1b\xaf\x79\xb2\x8e\xef\xa8\xe6\xd9\xcf\x20\xec\x4b\xa7\xd1\x32\x12\x4f\xab\xe6\x69\x19\x8e\x2d\x16\xfd\xe3\x8c\x49\x3f\x35\xcf\x68\x5b\x1d\x8f\x11\x9f\x8b\x8a\xc7\x86\xd5\x51\xbf\x33\x8e\x36\x65\xc8\x10\x0c\xd1\x5b\x5f\xea\x49\xbd\x0f\x7e\x2a\x53\xe8\x65\x46\xfc\x86\x30\x9f\x0a\x9c\x48\xe5\x58\x2b\x12\x7b\x18\x2f\x13\x74\x77\x91\xab\xb1\xd5\xf5\x05\x07\xe6\xf5\xd5\xc9\xf1\xf3\x43\x53\x96\x11\x04\x81\xab\x88\xd6\x53\x33\x7f\x5e\x15\x9c\x1c\x28\x05\xd1\x42\x13\x1d\x8f\x9c\x4d\x9a\x64\xce\x0e\xec\x98\x92\x26\x4b\xd0\xad\xae\x12\xc0\x60\xc3\x30\x57\xd1\x70\x65\x92\x15\xb8\x56\x76\xf6\xb3\x9a\x9e\x4f\xb5\xb5\x77\xa6\x40\x25\x3b\xd3\x5d\x43\xb0\x8a\xad\xd2\xa7\xce\xa2\x81\x35\x9c\x99\x4c\x46\xd8\x99\xec\xb7\xbd\x87\xd0\xbc\x2b\x95\x6f\x0d\xa1\x35\xe1\x61\x15\x89\x2d\x9b\x61\x1d\x6a\x5b\xcc\xa2\x43\x9a\xe0\x1a\x42\x53\x04\x63\x77\x7a\x60\xa6\x27\x68\x75\x23\xe4\xe5\xdd\x83\x1a\x55\xf4\xae\x0b\x8a\x0b\x25\xed\x0e\x85\x2e\x79\x30\xeb\xd4\x98\xbc\x09\x1d\x72\x60\x4a\x9a\x8c\x0a\xf4\x0e\x0a\x4a\x21\x5f\xe7\xab\xc0\xe2\xb6\xc3\xc6\xbc\x7c\x3b\x9c\x25\x1f\xb7\xe2\x2e\x92\xdd\xd3\x8e\x2e\xf7\xa4\x31\x65\x95\x42\x7b\xab\xe9\x28\x6a\xf1\x56\x15\x28\x4e\xc8\x51\xc9\x92\x8a\xad\xb1\x13\x00\xb8\xb0\xb8\x22\x16\xa6\xc3\xb3\xeb\x70\x68\x8e\x33\x1d\x05\x5b\xe1\x72\x9a\x5c\x13\x46\xb7\xd9\xbd\xe5\x22\x98\x9a\xca\x10\x85\xef\x3e\x5b\x4a\x4b\xeb\x5b\x15\x9c\x4b\x95\x5f\x98\x3a\xef\xab\x26\x3d\x1c\x12\xe1\x7c\x8e\x94\xe4\xa8\x68\x86\x26\x21\xce\x54\xec\xce\x70\x4a\x72\x76\x66\x39\x8a\xa8\x8e\x84\xe3\x4d\xcc\xf6\x14\xe2\x55\xe0\x75\xb9\xa8\xe4\xd1\x2e\xee\x51\xd6\x35\x51\x13\x91\x4c\x90\x77\x20\x72\xaf\x74\xb9\x91\xd2\xe6\x30\xb9\xfd\x5a\x35\x03\xb2\x91\x12\x27\x1f\xfc\x84\xa8\x41\x16\x60\x97\xeb\xd0\x69\x31\xe2\x72\x86\xd2\x90\x18\xc8\x1c\xaf\x76\xc1\x6e\xc1\x99\xf8\xc8\xd4\x3a\xc7\xba\xf4\x5d\x6c\x29\xbe\x41\xa3\x96\xca\x10\x0f\xcd\xdc\xe1\x63\x1a\x43\x93\x7e\xb8\x0a\xbe\x91\xf0\x10\xf1\xb8\xa0\xd1\x8b\xaa\xa5\xf9\x6a\x45\xa5\x18\x9c\x50\xc2\x41\x92\xaf\x62\xb6\xba\x2a\x15\x9a\x5b\xd7\x54\xdd\x30\x2a\xf1\xc6\x56\x4a\x36\x6b\xc0\x24\xbf\x02\xb1\x95\x2b\x65\x3b\x11\xb1\x54\x35\xde\xa4\x05\x35\xd5\x0a\x40\xd4\xc0\x39\x10\x46\x09\xbc\x71\x28\xb7\x19\xf3\x22\x9b\xb5\x0b\x26\xd4\x1c\x63\xf0\x36\xfb\x73\x6f\xb1\x8e\xda\x1c\xb8\xd3\xb9\x9f\x64\x74\x53\x74\x9b\x07\x39\xea\xca\x4c\xc4\x53\x81\xb6\x1a\x47\x5a\x34\x1b\x4f\x69\x26\xaa\x99\x7b\xdc\x28\xe1\x98\x77\xae\xb2\x21\xb8\x7a\x43\xe1\x94\xea\x26\x5d\x33\x45\x92\x93\x28\x58\xe8\x24\x10\xc4\x15\x28\x16\x62\x28\x40\x11\xd9\x10\x52\x34\xbd\x38\x52\x2a\x99\xce\xd1\x60\x6b\x34\xf3\xaf\x42\x85\x02\x00\xec\x7d\x87\xad\x96\xde\xf9\x24\xee\x60\xbd\xfb\x0e\x1c\x69\x99\x28\x9f\xbe\xb6\x00\xc6\x54\xf0\x25\x87\xa2\xda\x43\x34\x96\x5d\xe2\x13\x25\x81\x87\x06\xe2\x23\x2e\xa7\x4e\x46\xa5\xd0\x38\x25\x9d\xaf\x22\x71\xce\x34\xcf\x98\x40\x8a\x4b\x1d\x87\xc9\xc7\xcc\x05\xa9\xc3\x20\x29\x98\x32\x07\x83\x2b\xd8\x79\x99\x54\xc1\x0a\x5d\x24\xc8\x1b\xdc\x95\x19\x85\x33\x88\xb3\x2e\x63\x9d\xc4\x4a\x85\x83\x2e\x10\x38\xf6\x54\x1e\x90\xaa\xbb\x11\xc7\x7b\xde\x63\xfb\x48\x68\xa5\x12\x20\x55\x79\x63\xc5\xca\x08\xb2\x27\x75\xfb\x20\x67\x0b\xfc\x25\x6b\xc3\xbd\x29\x92\xce\x8d\x50\x22\x2f\x0c\xd8\xb4\xab\x03\xac\x9e\x64\x43\x9a\xc0\x5a\x6a\x6a\x97\xdc\x85\x20\xd1\xa2\x64\x72\x93\x7c\x14\x66\x75\x3b\x74\xc0\xa4\xee\x81\x7d\xc0\xd2\x30\xf6\x80\x0d\x93\xd6\x1b\xbc\xeb\x2c\x55\xf1\xb8\x4f\xd1\x2d\x34\xba\xa3\x23\xb8\x0c\xa5\xea\xe6\x8d\x99\xaa\x33\xcd\xe1\x53\xd4\xb6\x0b\x53\xe4\xaf\x76\xd7\x1a\x25\x54\x9c\xd4\xdf\x49\x6d\x24\x59\x10\x49\x38\xdd\x13\xa8\x38\x50\xd2\x39\x7b\x05\xd4\x42\x9a\x41\x41\xa6\x3a\x8b\xce\x1d\x2d\xd1\xa2\x3f\x5c\x29\xe5\xa0\xff\x4f\x5c\x9d\x60\xd7\x5e\x03\xc8\x4d\x11\x4d\xe8\xbe\x0f\xb9\xa1\x74\x6e\x73\xde\x80\xe4\xc8\x56\x93\xa8\x1d\xba\x6f\x07\x9a\x25\xa1\xa0\x2e\x00\xf4\xf9\xfb\xce\x65\x8a\xa6\xd6\x35\x55\xf8\x5e\x63\xba\x87\xae\x05\x5a\x85\xde\x87\x3f\xd7\x10\xa5\xae\x73\x92\xfa\x1b\x9d\x41\xf6\x59\x1e\xfe\x72\xa3\xdd\xe0\x5d\x11\x52\x45\xa2\xdd\x77\x61\xb9\xff\x77\xd8\x86\x05\x2d\xec\xf6\x7a\x4d\xbe\x5b\xd7\xd9\xfd\x5a\xb8\xe9\xd3\x14\x09\xcd\xe6\x9d\x8a\x35\x56\xba\xd7\x56\xa7\x53\xdd\xa4\xaa\x12\x91\xe1\x54\xef\x7c\x2e\xe5\x92\xea\x54\xec\x36\x1b\x75\x5a\x76\x98\x13\xac\x60\x44\x17\x90\xb8\xbf\xd1\x44\x56\x31\x8a\xe2\xfe\x86\x93\x1f\xc2\xf5\xba\x36\x1b\x9d\xd6\x2e\xaa\xec\x4b\xd5\x19\x3a\x1c\x56\x08\x43\xab\x4a\x09\xdd\x22\x39\x5a\x09\xd3\xf2\x71\xa6\x43\x5f\x16\x57\x4f\x16\xe4\x47\xca\x76\xd8\x0b\xbc\xbf\x41\x93\xe7\x30\xb6\x99\xfe\x67\x51\x42\xdf\x8f\x38\x0d\x9a\x48\x0e\x3c\xef\x15\x5e\x67\xb0\xf4\x6f\x7a\x1f\x65\xfe\x47\x58\xa1\xcb\xf5\x80\xaa\x50\xfc\x61\x7e\x2b\x4b\x64\x95\xe9\xd7\xbc\xe1\xdd\x1f\x8c\x41\x8e\xd8\xdd\x76\xda\xf5\xaa\xdb\x48\x3e\x3a\xce\x90\xd1\x39\x2e\x88\x97\x0e\x2a\x25\xbd\x03\x60\x18\x69\x9d\x7e\xc1\x85\x83\x1e\xfe\xb2\x12\x49\x4c\xbd\x08\x13\xac\x03\x4e\x39\xdf\xe4\xcd\x16\xf3\x4e\xfa\x54\xba\x1d\xd3\xd0\x51\x4a\x34\xe8\x98\x18\xa8\x42\x18\xb6\x9e\x99\x67\xc5\xca\xc0\xad\xdc\xfa\x10\x8b\x41\x53\x56\x43\x4a\x69\xd7\xe5\x27\x4f\xe0\x22\x11\xdd\x51\x85\xa4\x95\x28\x14\x6c\xca\xd9\xc8\xe2\x2a\x2f\xf1\xe1\x79\x1e\xa0\x9f\xbc\xf7\xc1\xe7\x3d\x42\x38\x61\x86\xe7\xde\x77\xf1\x0d\x5d\x0a\xe0\x53\x72\x36\x7e\x8e\xfb\x07\xd3\xf0\xa4\xa6\xcc\x8e\x4c\x11\xb1\x3f\xf4\x1f\xe5\x43\x9d\xf3\x50\xd2\xf5\x27\xe5\xd3\x04\x46\x77\xbe\xcc\x53\x99\xa1\x07\x56\xbb\xb8\xf5\x01\x67\xfa\xf0\x4b\x34\x4f\xe0\x32\x5f\xc5\x6a\xa5\xdf\x61\x13\x77\xee\x55\xf6\xea\x4f\xc9\xad\x9f\x84\x1d\xf6\xb8\x17\xb2\xf8\x1c\x8c\x0f\xba\x48\xc2\x8a\x5c\xc7\xb0\x3e\x8c\x41\x0b\x74\xb5\x23\x77\xbe\xca\xed\x4e\xcd\x84\x2c\x13\xba\x24\x60\xb2\x28\x9d\xd1\xa3\xee\xe3\x9a\x55\x24\xba\xde\x8e\xbd\xd1\x7c\xd6\xa7\xc5\xb7\x98\xd4\xe3\x25\x57\xb8\x5e\xfb\x61\x92\xca\xca\xaf\x5e\x3c\xa7\x6a\x22\x81\x5e\xab\x13\x16\x89\x9f\x80\x8c\x83\xe3\xfa\xcd\x6a\x79\x19\x01\x63\x12\x19\x8e\xad\xa1\x33\x34\x51\x58\x88\x9c\xbc\xc0\x34\x66\x04\x3b\xf3\x3b\xee\x64\xa1\x93\x83\xfe\xb1\x32\x92\xd2\x7c\x0c\xa9\x52\xf6\xbb\x68\x42\xae\xc2\x39\xe5\x91\xc2\xdd\xae\x95\xf6\xc4\x7b\x33\x15\x2f\x6f\xa5\xc8\x79\x40\xd2\xca\x88\xb8\xf5\x24\xad\x24\x49\xc5\xbe\xac\xca\xce\x74\xa0\x2e\x4e\x9d\x02\x6f\x2a\xd4\x44\x78\xff\xc7\xbb\xfc\xf3\xcf\x7f\x23\xb8\xe4\xf8\x80\xf8\x69\x98\x91\xe3\x07\x85\xe0\xcf\xe0\xfc\xfe\xe9\x27\x23\x3b\x24\x22\x37\x05\x99\x25\xa6\xdb\x18\x18\x38\x87\x8e\x44\xdf\xe5\x11\x97\x7c\xe7\x5a\xe4\x1a\x56\xe6\x7f\x82\xf3\x36\x69\xd8\x3a\xfb\x73\x91\xc4\x38\x17\xf7\xb5\x7e\xdd\xc4\xf1\x52\xf8\xc6\xc4\xbd\xd5\x31\x6d\x82\x91\x4b\x44\x81\x89\xb7\x27\x44\x2d\x75\x79\x06\x19\x4b\x4e\x3a\x52\xa4\x2d\x5a\x79\x2e\xa4\xea\x60\x30\x55\xa2\xec\x41\x64\x0a\x82\x76\xb4\xd8\x23\x8d\x98\x31\xf8\xe1\x4f\x98\x15\x67\x07\xea\xa2\x7c\x75\x23\x92\xe6\x8a\x54\x9f\xf7\x5e\x99\x35\x3c\xc5\x0a\x95\x23\x5a\x5f\x8b\x75\x3c\xad\xfd\x78\x35\x3a\x39\x1d\x1f\x1b\x68\x38\x9a\x9c\x79\xaf\x46\xa7\x6f\x46\x86\xb6\xe3\xd1\xec\x6a\x3a\xf6\x5e\x9d\x8e\x5e\x9b\x3c\xe3\x2f\x4f\xce\x47\xa7\x27\xff\x79\xf4\xf0\xcf\x0f\xff\x6d\x4c\x9e\xf6\xd3\xf1\xd1\xd5\xf4\xd2\xe4\x2b\xff\x8a\xe2\x50\x3c\xce\x5e\xa7\x2c\x70\x49\xcc\x41\x28\xe8\xaf\x62\x3c\xe2\x39\xac\x84\x7d\x10\x30\x0f\x1d\x85\xb1\x15\x91\xee\x55\x2b\x9c\x5f\x66\x78\x30\x49\x05\x92\x90\x5b\x91\xcd\xef\x2a\x12\x75\xea\xe2\x21\x53\x10\x73\x93\xa3\xd1\xc0\xd8\xda\x09\x35\xdb\x86\x53\xe5\xa8\x58\x56\xc6\xfd\xeb\x12\x5a\xcf\xfb\xaf\x01\xc5\x36\x5d\x53\xd6\xe6\x6d\x7a\x26\x36\x20\x54\xa6\x4e\xf7\xa4\x3a\x5a\x6a\x1a\xd7\xdb\x3a\x61\x85\x31\x1c\xb2\x1b\x37\x8e\x28\x2d\x2e\x36\xcb\x4e\xe1\xe7\x2c\x96\xc1\x93\x32\xd2\x7a\x8b\x11\x29\x1d\xb7\x1b\x91\xbb\xd2\xcd\xb3\x58\x99\x8e\x78\x5d\xbb\xb5\xdd\x50\x56\xbd\x29\xb6\x19\x51\x52\x00\x25\x9c\xe9\xc9\x61\x4d\xd6\x09\xa0\xa4\x4e\x24\xc8\x24\x31\x06\x25\x61\x78\xe3\x41\x97\x5e\xa8\x95\x86\x2d\x90\x53\x84\x65\x6f\x6c\x64\x8d\x6f\x59\x45\x64\x53\xdf\xff\x3a\x12\xd5\x7a\x91\xd5\x15\xe4\x86\xd3\xbd\x5b\xfa\x4e\x76\xf1\xc5\x68\x6c\x4d\xe9\x0e\x63\x04\x63\x23\x25\x8b\x55\xc9\xe7\xef\xd2\x98\xa3\x80\x54\xba\xe4\x6b\x15\x7a\x67\x33\xf8\x14\xc4\xb0\x73\x22\x01\xa9\xc7\x4b\xfd\x4b\x5c\x83\xe9\x48\x91\x12\xa3\x07\x98\x5f\x55\x06\x46\xa2\x9d\x4b\xb4\x16\x2f\xe8\x3e\xa9\x98\xc4\x12\x6a\xb8\xd2\x4a\x46\x2b\x8b\x58\xab\x77\x72\xc7\xa9\x95\xa1\xc8\xff\x5e\x28\x03\xb4\x34\x7e\xdd\x94\xba\x97\xde\x0a\x53\x1d\x30\x99\x55\x6d\xc6\xc2\xa2\x83\x4e\x46\xd5\x12\x34\xc7\x2a\xb3\xdd\xc0\x71\x96\x55\xa0\x72\x75\x76\x09\x44\x17\xb6\x0f\xb4\x9a\x64\x68\x91\xaa\xfb\xf8\xe3\x4e\x39\x3b\x1d\x33\x4d\x19\x28\x93\x91\x46\xe8\x55\xc1\x3f\x5f\x2d\x7d\xcc\x88\x25\x13\xd1\x04\x26\x70\x53\x19\x3c\xd4\x68\xa8\xbc\x31\x03\xd3\x45\xc0\x88\x92\x23\xa1\xfa\x63\x74\x42\x67\x32\x06\x4b\xa8\x06\xc3\x2f\x7a\x9a\x90\x2f\x3f\x2b\x68\x48\xe1\x82\x45\x19\x68\xa1\xa7\xd8\x0b\x8a\xbc\xc2\xaf\xc4\x47\x10\xe4\xb1\xe8\xa6\x0c\x46\x5e\xfb\xb0\xa0\x80\x56\x7c\xb9\xb6\xf9\xbe\x8c\xa4\x9e\x91\xdc\xfd\x35\x95\x0e\xfd\xa4\x32\x05\x03\x6f\x0e\x32\x35\xd7\x23\x40\xd1\x3c\x60\xe9\x5c\x28\xac\x98\xab\xdd\x63\xaf\xa7\x6a\x00\x5f\x0d\x7f\x7b\x17\x63\x4c\x0a\x1f\x70\xce\xdb\x17\x01\x07\xf0\xaf\x93\x98\x02\xb4\xe3\x84\x83\x0f\x92\x15\x91\x6b\x8a\x28\x07\x18\x0f\xff\x8a\x4c\xf8\xa3\x52\xf4\xbc\xa0\xde\x94\xe6\x1f\x05\xc5\x56\x26\x5c\xa3\x04\x05\x4d\xac\xc1\x81\x9a\x2a\x9d\x00\x67\xfc\xa9\x58\x55\x71\xda\x50\xca\x38\x73\x8e\x53\x23\xe6\xb5\x05\x6e\x19\x21\x5e\x44\x5b\x2b\xd7\x99\x5e\x94\xac\xc2\x45\xe2\x6f\xdb\x7b\x6a\xcc\xf8\x7b\x21\xed\x93\xd4\x4b\xe1\xea\x97\xd2\x8b\xf1\x48\x73\x9a\xe2\x7a\xaa\x87\xbc\xd6\x3a\xf0\x25\xa2\xf4\xc7\x29\xd0\x22\x14\xec\xa9\xbf\x09\x4d\xa1\x88\x8c\x39\x8f\x6e\xa4\x43\xe3\x16\xc3\x0a\x0c\x6d\x13\x46\xf3\x7c\xd9\x6f\x6c\x5f\x8f\x67\xb3\x93\xf3\xd7\xde\xe5\x6c\x34\x9d\x19\x6f\xbb\x27\xe7\xb3\xe9\xe4\xf8\x0a\x6e\xaa\xff\x65\x62\x80\x73\x3a\xf9\x6a\x74\xea\x4d\x2e\x66\x27\x93\x73\x63\x60\xf9\xe4\x42\x5e\x76\xe9\xf3\x93\x4b\x83\x9b\xe0\x6b\x91\x61\x60\x8f\xb2\xec\x16\x75\x7c\xc8\x1d\x1b\xab\x5f\x2f\xf1\xa4\x37\xf1\xca\x09\xa9\xd1\x49\xe5\x49\x15\x7d\x74\xe7\x34\x96\x77\xb8\xbd\x48\x11\x98\x99\x02\xe4\x99\x4d\x7b\x17\x2b\x37\x71\x71\xd8\x72\x82\x4f\xa4\x4b\x18\x6b\xc5\x9a\x50\x38\xb4\xd5\xa8\x07\x7f\xad\x3c\x24\x31\x1b\xbd\x2c\xaf\xcd\xb6\x6d\x10\x31\xde\x8b\x0c\x04\xd9\xb9\x30\x1f\xa2\x88\x1d\x4d\x15\x45\xe8\x61\x5a\x94\xd3\x0e\x30\x35\x43\x42\x5c\x17\x0d\xdc\x89\x7f\x83\x0e\x45\xc6\xf0\xb1\xd7\xa5\xab\x66\xfa\x38\x79\xba\x15\xad\x84\xe1\xf1\xf3\x72\xab\x0e\x69\x5a\x87\x83\x03\x63\x18\x83\x22\xae\xfe\xb5\x15\xb4\xd2\x49\x98\xcb\xda\xf5\x19\x97\x42\x87\xe0\x58\xc4\xae\xc7\x18\x08\x2d\x36\xb0\x48\x7f\xb4\xa3\x98\xd7\xa7\x6b\x4a\x7c\x0f\xd3\x4a\x74\x61\x69\x24\xaa\xd2\xf2\x74\x8b\x83\x75\x2f\x8f\x31\x22\x9d\x2b\x4d\xea\x6e\x9e\x64\x10\xba\x16\x32\xfb\xf5\x3d\xfd\xba\x28\xfc\xee\x3e\xfd\x4a\x30\xf1\x7f\x8b\xd3\x84\xea\x85\x99\xf9\x5b\x5c\x26\x14\x5e\xf4\xef\xde\x35\xfa\x5a\x11\x52\xf5\x15\xdf\x6b\x34\x75\x83\xdc\xfd\x65\x36\xb7\x50\xbf\xff\x54\xe7\xcd\x7e\x74\x25\x82\xde\xb2\x52\xa9\xb5\x57\xbd\xf2\x42\x6f\x5b\xbe\x54\x75\xf5\x13\x54\x5f\x28\xf6\xf7\xa7\xae\xbd\xa0\x8d\x41\xfa\x14\x1d\xa6\xee\xa6\x4f\xdb\x37\x53\xfa\x8e\xce\x13\xc8\x25\xf3\x46\xd7\xc9\xc1\xf7\xd3\xb4\x2c\xa9\x24\xc3\x32\xe2\x24\x04\x90\x00\xa0\x8b\x79\xca\x6b\x69\x5a\xa9\x8c\xa4\xc7\x76\xa4\x04\xc4\x9d\x88\x82\x80\x7b\xcf\xe4\x5f\xd0\xc4\x5d\x0d\x27\xf1\x0c\x6e\x00\x0a\x5f\x6b\x6a\x7b\xe2\x28\xbb\xf2\x6c\x55\x5b\xea\xc7\xad\x33\xdc\x57\x68\xec\x93\xd6\xa5\x58\xc2\xd4\x6e\x0b\x8c\x15\xfb\x47\x03\xb1\xe7\xb2\x22\x95\x0d\x24\xd6\x6c\x20\xdb\xad\x4b\x99\x9d\x72\x2b\x2a\x12\xf3\x08\x38\xa2\x6d\x3d\xcf\x1d\xa5\xa6\x1e\x24\x76\x9e\xf0\x8d\x2a\xfc\xbb\x08\x89\xb6\xbe\x3d\x66\x27\xb6\xa4\x36\x57\x22\x2d\x25\xb8\xad\x4a\x2b\x9e\xac\x26\xc0\x0f\x5f\xe3\xb3\x73\xc7\xed\x91\x60\x51\x56\x9b\x78\x62\x03\x6d\xa5\xb8\x4a\x63\xda\x57\x7c\x2a\xed\x87\x9a\xa8\xd4\x57\x2c\x52\xc7\xa3\xcc\x23\xb4\x85\x44\x5f\x64\xff\x49\xeb\x75\x5e\x7a\xb0\x92\x1a\x19\x54\x00\xbb\xa8\xf8\xf2\x15\xfd\xc2\x45\x17\x55\xf3\xf6\xc9\x55\x53\xfc\xbd\xdd\x95\xa4\xd9\x01\x39\xd7\x2d\x14\x08\xc3\xc2\xd5\x49\x78\xd4\xee\x37\xf3\x39\xfd\x1a\xc6\x65\xd0\x5e\x8c\xe6\xd7\x3b\x60\x8f\xbd\x4a\x4c\xc3\xf1\x78\x5d\x7d\xdc\x1e\xed\x87\xee\x27\x5b\xa3\x4f\xb5\xe6\x7e\x0d\xbb\xf1\x53\xef\xbb\x47\xdf\x60\xfb\xdf\x49\x45\x84\x5e\xba\xdd\xa5\x4f\xb6\xdd\xa2\xda\x99\x33\x8d\xbc\x07\xb7\xbb\xe6\xa9\xb6\x6d\xd4\xf4\x12\xa9\x52\x3d\x33\xad\xbc\xb7\xd0\x8a\x76\xc8\x9c\xb9\x93\xd6\xa4\x48\xa0\xd9\xc8\x5e\xeb\x92\x42\x73\xbb\x11\xef\xd5\xc9\x27\xe9\x90\x2b\xe9\x4d\xfb\xd1\xa3\xf9\x70\xa8\xde\x75\x59\x9d\x9e\xa6\x00\x5d\x63\x1c\x9e\xae\xdb\x4f\xdb\xbf\x96\xfa\x7a\xfb\x56\x40\xb4\x54\xdb\xdb\x92\xcb\x96\xc4\x6e\xaf\x8d\xd0\xa8\xd9\x96\x84\xb4\xad\xb6\x9f\x75\xf2\xbb\x2d\x38\x2a\xe3\x95\xb5\x9a\x5f\xc7\x54\x77\x32\x5d\x8c\x9a\xa5\x88\xa4\x4b\xfc\x85\x61\x50\x95\x65\x5d\x9c\xe0\xfb\xb6\xcd\x50\xcc\x6d\x15\xb1\x61\x95\x37\x49\xd8\x9f\x59\x86\x83\x86\x9f\xb2\xcb\xc6\xcd\xfc\x98\xdd\x64\x1f\xda\xf6\xea\x93\x2f\x4d\x36\x0a\xf7\xd2\xac\xaa\x83\xa5\x33\x6d\x57\x01\xca\x97\x66\x1b\xc5\x76\x4c\xcb\xd6\xc3\xad\x98\xaf\x7b\x5f\xfa\x11\xfc\x66\x3c\x3a\x9d\xbd\xb9\x3e\x7a\x33\x3e\xfa\xfa\x7a\xf6\xcd\xc5\xd8\x40\x47\xf3\xbb\x76\x70\x93\xcb\x99\x09\x02\xbe\x32\x36\x3a\x1f\x9d\x19\x51\xab\xd7\xed\x8d\xb1\x3a\x02\xe5\x23\xa1\x92\x25\xf3\x65\x1e\x90\x04\xc0\xe9\x8f\x38\xc2\xf0\x26\x0e\xee\x07\x98\x32\xff\xf9\x7f\x7a\x0e\x92\x0d\xd6\x85\x12\x81\x77\x73\x8f\x4e\xd5\xe4\x62\x08\xcb\x16\x9b\x63\xf2\x0c\x6a\x58\xe4\x37\x31\x90\x74\xac\x32\x34\x11\x76\x4a\x3b\x2f\x56\x8c\xfd\xe1\x17\x7c\x15\x51\xf5\x8e\x75\xdc\xc8\x4d\x89\xa9\xf8\x91\x0a\xd4\x5a\xa9\xaa\x1f\x2a\xa0\x14\x45\x6a\xe9\x8d\x08\x6f\xbe\xcf\xfd\x25\x65\xe4\xa0\xa0\x82\xc0\xe4\x23\x49\x14\xac\x44\x76\x17\x07\xde\x8b\xd7\xe3\xd9\xe0\x02\x86\x6b\x70\x71\x35\x1b\x1c\x8f\x4f\xc7\xb3\xf1\x40\x64\x73\x93\xe3\xe0\xd9\xc3\x1f\xd1\x08\x51\x74\xc4\xd4\xfe\xc0\xe0\x32\xf8\x26\x4e\x33\x1a\x3b\x2e\x7e\xb3\xba\x1f\xa6\xf9\x0d\xbb\x89\x98\x50\x9e\x53\x47\x63\xef\x0e\x9a\xd6\x2a\xe0\x54\x9b\xdb\x11\x2a\x4d\x27\x91\xcd\x85\x9b\x5e\xc8\x38\x6a\xe9\x4e\x75\xe7\xe3\x4f\xe9\xb3\xe2\x44\x8d\xbc\x3c\x53\x6d\x26\x1e\x8e\x48\xe0\xbd\x8c\x33\xdd\xd2\xdb\xd2\x69\x85\x62\xc7\x93\x0c\x59\x28\x4c\x4d\x17\xb9\xb9\x0c\x0c\x87\x56\x58\x66\xa6\x70\x31\xf4\x8e\x27\x67\xa3\x93\x73\x72\x84\x26\xbf\xd1\x7b\x5e\xb7\xaa\x12\x15\xfa\xcd\xb9\x90\xce\x25\x0f\xc8\x33\x8e\x10\xf0\x52\xc3\x30\x6b\x89\x40\xd6\x9a\x52\xbe\xa9\x89\xea\x27\x57\x4c\x58\x86\x0b\x63\xf9\x8e\x9d\xfb\xc0\xde\x7f\x4f\xd0\x8b\xd2\x53\xd0\xad\x2f\xc8\x2f\x02\xbc\xc0\x4a\x8a\xcb\xb5\xe4\x4e\x2c\x51\x24\xa1\xe8\x14\x21\xac\x76\x1a\x4e\xce\x2f\x67\xa3\xd3\xd3\xf1\xb1\x77\x71\x7a\xf5\x1a\x3a\x75\x34\x39\x3b\x1b\x9d\x1f\x9b\xa2\xe9\xe0\x35\xbc\xe5\xc2\x38\xd8\x62\x08\x4d\x18\xc6\xe8\xd8\x14\x51\x47\xef\xcf\x8f\xc6\xd7\x67\xe3\xb3\xc9\xf4\x1b\xa3\xf3\x63\xf5\xab\x76\x50\x8b\x08\x93\x10\x54\xd2\x2f\x99\xe0\xe1\xa7\x2d\x49\xbd\x0d\x80\x23\xef\x1f\xb0\xf2\xf2\x87\xd4\x3b\x92\xb9\x0b\x4f\xc3\x88\xab\x70\x60\x8e\xa9\xa5\x18\xa2\x18\x2d\x82\x81\x87\x7e\x8e\x6b\x98\x30\x8c\x27\x38\x04\x19\xed\xdd\xbb\x77\xcf\x36\xfe\x32\x0c\xf0\xc7\x21\xfe\x07\x43\x3e\xf0\x5f\x63\x8c\xf5\xb9\x8f\xd0\xef\x1a\x69\x0d\x25\x09\x54\x59\x8c\xe0\x33\x32\x99\x07\x01\x8e\xea\x35\x9c\xd6\x69\x88\x95\xb9\xd2\x4e\xd4\x5d\xfd\xbc\x80\x63\x27\xb9\xbc\x13\xcb\x25\xa1\x0b\xe2\xfc\xc6\xd8\xcb\x77\xcf\x6c\xb8\xde\x3d\x33\x2e\xd1\x16\x6c\xf6\xde\x05\x39\xdc\x9a\x53\x07\x8c\x86\xee\xf1\x89\x5b\xe4\x9b\x92\xc9\xdf\xd4\x11\x6c\x2d\x0a\x48\x8d\xc3\x4a\x06\x38\x4f\xc1\x22\xbf\x7a\x7b\xa1\x40\x68\x8e\x61\xef\xf3\xcc\xbb\x4a\xfd\x85\x69\x59\x5e\xa5\x24\x17\xe0\x97\x59\x6c\xb2\xad\xd7\x40\x1d\x78\xa3\xa8\x4c\xdf\x11\xa6\xde\x2a\x54\x99\xfd\x65\xcd\x43\xfa\x78\x79\x8f\xf9\x4e\x97\x31\x70\x93\x03\x2c\x5c\xe6\x46\xc1\xd5\x4a\x4b\xae\xc1\x19\x38\x7c\x98\x20\x74\x11\x04\xe1\x40\x2b\x6b\x86\x85\x7d\xe6\x3c\x59\xd8\xd4\xa7\x68\x04\x46\xe4\xd6\x89\xa3\x22\x29\x28\x6c\xac\xdb\xa5\xbf\x48\xe1\xa4\xfe\x38\x17\xeb\xcc\x1b\xde\x7e\x86\xe5\x6b\xb0\x33\x37\xb2\xc8\x0f\xac\xbd\x0f\x77\x18\x3a\xc1\xb5\x02\xbd\x55\xbe\xcc\xc2\xf5\x52\xb0\x0b\x2b\xbb\x3c\x54\x19\x81\x49\x68\xad\x75\xb8\x59\xcf\x8d\xf3\x02\x24\xb8\xd1\x95\x4f\x39\x5d\xc7\x31\x1e\xbb\xbe\x4b\x89\x62\x18\x29\xa4\x18\xd3\x5a\x44\x1b\x0c\xfe\x41\xc9\x01\x09\xf5\x36\x52\x2c\x26\x22\xa9\xa8\x62\x86\x29\xd8\xd9\x0f\xb9\xc6\x89\x0c\x32\x70\x63\xdc\x1a\xc2\x2e\x8c\x45\x4a\x03\xf5\xee\x19\xa6\xb3\x7d\xf7\x0c\x17\xc2\xbb\x67\x51\x1c\x89\x77\xcf\xde\xc1\x8c\xb8\xce\x7d\x13\x72\x20\x36\x5c\xa8\xba\x04\x9d\xd7\x41\xbb\x51\x3d\x55\x79\x64\x9e\xc3\x58\x50\x61\x44\x1c\xac\xf2\x07\x79\xf8\x3d\xc7\xeb\x87\x5a\x7e\xa9\xfb\xa2\x9d\x72\x92\x17\x3b\x68\xba\x7a\x14\x6b\x3b\xed\xb1\x52\x2d\xb4\xef\x9d\xe2\xfd\xd0\xa9\x6c\xcc\x85\x17\xff\xae\x74\xb6\x00\xdc\x03\x9d\xa3\x8b\x0b\xef\x72\x3c\x7d\x7b\x02\xe7\xbc\x3a\xf0\x77\x23\xb4\x15\xe2\x7e\x28\xbd\xc6\x6b\x1e\x99\x90\xa4\xc0\xb7\x2b\xa1\x0c\x50\x28\x70\xfb\xa6\xb2\xb9\x9b\xf7\x45\x70\x13\xf2\xbe\x69\xdf\xfb\xa2\x50\xa4\x3f\xee\xda\x28\x89\xdc\x8e\xbe\x2a\x31\xfb\xa0\x63\xfb\xb1\xaa\xd2\xb2\xcd\xb8\x7c\x75\x75\x72\x7a\x7c\x31\x82\x35\x82\x00\x07\xde\xf9\xf8\x1f\xae\xab\xcf\x76\x9b\x56\x07\xf8\x7b\x98\x5d\xb5\xd9\xf7\xbe\x2a\x25\xe0\xc7\x59\x93\x1a\x8b\x8a\xb6\x5f\x0c\xad\x9c\x69\x1b\x72\x4e\x47\x5f\x8d\x4f\x07\xde\xc5\x74\xf2\xf6\xe4\x78\x3c\xa5\xd1\x9c\x4d\xbe\x1e\xef\xc8\x44\xeb\x60\x85\x04\xba\x87\x01\x6c\x50\xbc\x4f\x3a\xf7\x40\xdf\x64\xfa\xba\x72\x16\x6d\x4d\x5b\x9c\x6a\x94\x10\x58\x75\x22\xed\x83\xac\x5d\x46\x4d\xa7\x65\x4f\x43\x26\x39\xc5\xef\xae\x26\xb3\xd1\xce\xc4\x55\x80\xed\x81\xbe\xe9\xf8\x62\x52\x1e\x81\x58\x27\x7a\x27\x0a\x4b\x70\x82\x80\xed\x81\xc2\x4b\x4c\x95\x74\x32\xfb\xe6\x9a\x6a\x25\x13\x99\x17\x23\x90\x04\x66\x93\x6b\xbc\xc0\x5f\x4f\xaf\x4e\xc7\x97\xd7\xaf\x4e\x4e\x77\x64\x8d\x35\x3c\xc2\x88\x65\xef\x7d\x1a\x14\x2b\xf8\x12\x4e\x91\xbd\x76\x63\x20\x17\x34\x03\xde\x0b\xe5\x7c\x6e\x7c\x35\x05\xa6\x37\xe5\xf3\xaf\xfa\x6c\x57\xf2\x3b\xe1\x3f\x42\x2f\xae\xe0\x01\x6f\xac\x8b\xd1\xe5\xe5\x3f\x4c\xa6\xc7\x83\xdd\xf7\x82\x2b\x92\x3d\xf6\xa7\x38\xcd\xd5\x83\xaf\xc7\xdf\xec\xa7\x13\xad\x90\x1f\x83\x72\xdc\x06\xfa\xa4\xef\x47\xee\x69\x40\x13\xed\x48\x1e\xab\x47\x8f\x37\x1f\x62\xef\x33\x32\xb9\x9a\x1e\x8d\x87\x78\xa9\x9d\x8d\xa6\xaf\xc7\x33\xfa\xb9\x1b\xd1\xad\x20\xf7\x41\x2b\xf3\xcb\x3d\x9d\xfd\x0c\x6d\x9f\xa7\x7f\x49\xdf\x1e\x4e\x7f\x45\xde\xde\xce\x7e\x02\x38\x2c\xef\xbf\xf4\x27\x41\x1f\xee\x7e\x51\xd2\x80\x8b\x26\xe8\x7d\x51\xcf\xb2\x06\x6d\xe5\xf2\xcf\xdd\xe9\x6e\x05\xbb\x5f\x9a\x77\xb9\x2f\x1b\x89\xda\x86\xa6\xf2\x58\x02\x51\x61\xe0\x4d\x27\xbb\x0a\x52\x6d\x00\xf7\x30\x76\x35\xb0\x34\x06\x8f\x40\xae\x0e\x77\x0f\x54\xef\x72\x13\xce\x57\xbb\xcd\x2c\x46\xd3\x93\xfe\x74\x97\xb5\x56\x00\xd9\x7d\xa5\x01\xa8\x6b\x04\x35\x90\x4e\x08\xd7\x75\xe2\xfa\x4f\x5e\x3b\xc8\x7d\xcc\xdb\xf6\x24\xed\x84\xb7\xc8\x3f\x22\xbb\x45\x59\xbb\x90\x3b\xaf\x65\x76\xf9\xdd\xc6\xab\x15\xbc\x28\x81\xef\x61\xe4\xc8\x17\x00\x29\x96\xd5\x3c\x77\xa2\x97\x80\x09\x05\x6a\x0f\xd4\xc5\xcb\x40\xdb\x17\x40\x65\x24\x3e\xb4\x6e\x94\x2d\x94\x1a\x3a\x68\x51\x05\xbc\x27\xca\xd1\x77\x8e\x27\x0e\xa1\xab\xbf\x76\x27\xdb\x00\x77\x1f\x54\x27\x8b\x7d\xef\xf9\x76\x90\x7b\xa0\x55\xfa\x8d\x0f\x2a\x31\x00\x83\x66\xca\x80\x9d\xa8\x77\x45\xb2\x8f\xfe\x90\xeb\xf0\xce\x27\x80\x06\x66\xf7\x33\x60\xf3\x85\xba\x74\xe1\xcf\x42\x39\x89\xbf\x4f\x47\xe7\xde\xe6\xcb\xf2\xf5\x97\xfc\x68\xa7\xd1\xee\x8f\x6e\xdb\x71\x37\x25\x42\xab\xd0\x65\xc8\x82\x56\x82\x52\xe9\x5e\x57\x7e\x76\x58\xd6\x89\x41\x0d\x14\x66\x7e\xc4\x8a\x33\xef\x32\xf8\xbf\xe8\x2d\xfa\xa4\xc8\xaf\x39\xd9\xa3\x8f\x1e\x39\x87\xef\xa2\x6f\xdf\x45\x00\x1d\xff\xe3\xa1\x01\x3d\x89\xb3\x78\x1e\x2f\xdf\x3d\x43\x77\x96\x6c\xbe\x7e\xf7\x6c\xa0\xde\xc9\x22\x10\x48\x28\xbf\xfe\xe2\xf3\x83\x2f\x7f\xfb\xdb\x83\x2f\x0e\xbe\xf8\x8f\xda\x67\x68\x83\x4f\xf9\x83\xdf\xfc\xe6\xf3\xbf\x7b\xf7\x0c\x5f\x00\x21\xbf\x37\xa7\xa9\x03\xea\x63\x26\xae\xec\xb9\x72\x3d\x30\x74\x68\xcc\x3e\x8f\xba\xc7\x27\x01\xd8\x3c\xfc\x0c\x3d\x8d\x9f\xb6\x63\x86\x49\xe2\xa4\x8c\x47\xa7\x27\x32\xe1\x84\xd1\x87\x87\x12\x2f\x62\x52\xb8\xa2\x5c\xa9\x8f\xcd\xac\x70\xb5\x52\xa9\x30\x40\x17\xf4\x8b\xcb\x21\x9a\x5d\xa1\x25\x26\xce\x41\xa4\xd5\xa3\xad\xb7\x36\xe3\x05\x4e\x63\x83\x8d\xa9\x4b\x12\x7b\x73\xef\x4c\xac\xe2\xe4\xde\xe4\x4f\x2b\x56\x98\x51\xc3\xc7\x11\x28\xb3\xa1\x74\x40\x54\xae\x25\x98\x46\x34\x1a\x46\x62\x01\xe0\x36\x42\x55\x61\x30\x65\x2d\xad\x66\x5b\x91\x2e\x24\xcd\x12\x3c\xec\x4e\x24\x81\x1a\xcd\x9d\xe4\xf3\xc5\x0e\x62\x6d\x75\x03\x0d\x34\x4c\x95\x9b\x16\x35\x0c\x23\x5e\xbc\x95\xc2\x81\x76\x84\x53\x99\x40\x1b\xff\x35\x67\x9a\x56\x59\xaf\x4b\x04\x65\x13\x2b\xf8\xcb\xcb\x53\xef\x48\xc8\x6a\xf7\x18\xa0\x80\x05\x6e\x28\x3f\xf5\x2c\x5c\x9f\x61\x35\xca\x85\x19\xed\x11\xa7\x7c\x25\xf7\x2b\x04\xa4\xb0\x4b\x97\x4f\x33\x38\x2b\x49\x28\x21\x71\x19\xed\x1f\x29\xef\xd7\x05\xfc\x46\x20\x23\xf9\x5c\x5f\x0c\x54\x4a\xc2\x40\x1d\xb6\xf3\xb9\x64\xd8\xba\x1c\x98\x06\x54\xae\xbd\xad\xbe\x6b\x59\x26\x1d\xd4\x52\x61\xa2\x6d\x56\x84\x5e\x5e\x68\x8b\x85\xe1\x50\x45\x72\x46\x35\x23\x9b\x41\xa8\xc5\x3c\x1d\x1a\x3d\xfd\x18\x07\xe5\x10\xc5\xcc\x11\x74\x13\x00\x06\x0b\x74\x49\xdf\xf1\xe1\x9c\x9c\xe5\x0e\xbc\x8b\xa5\xf0\xa1\xe3\xf2\x25\x4c\x8a\xb6\x51\xe2\x9b\xef\xf0\x08\xa3\xb2\xb7\x44\xad\x0a\x26\x00\xc0\x19\xc8\x69\x94\x5d\xb2\xd9\xc0\xc4\xdc\x8e\x14\x39\xf5\xc5\x0e\x04\x45\x62\x8e\xbf\xa4\x7f\xba\xe6\x33\x07\x1f\x0e\xe7\x07\x58\x2a\x2c\x42\xff\x49\x9c\x58\xc4\x02\xb4\x10\x46\xb5\x62\xe3\xdc\x2b\x13\x14\x13\x14\xcd\x37\x0e\xc9\xe5\x08\x93\xd6\xc6\x46\x76\xca\x3d\x2b\x0b\xc1\x62\xe8\x14\x66\x15\xe2\xa8\xa0\xe7\xde\x50\xf1\x77\xfa\x24\x88\x45\x4a\x9e\x93\x94\x31\xd9\x1a\x55\x51\xcc\x20\xf9\x82\x36\xc1\x16\x05\x64\xd5\x11\xc0\x1e\x93\x08\x57\xac\x3a\xa8\x0d\xd3\xf7\x1c\x9c\x47\x5b\xe5\x18\xfe\x94\xb1\x7e\xfd\xb2\xdf\x1f\xc5\xbc\xab\x00\xde\x3c\xae\xed\x3f\x07\xa0\x3b\xd2\xb8\x2f\xb2\xba\x28\xe1\x04\x7f\x43\x4a\xf0\x37\x2c\x12\xfc\xad\x08\x1c\xbf\x3b\xc2\x57\x5c\x6b\xc6\xc4\xa8\xfc\xe4\xe1\x7f\xac\x44\x06\x27\x51\x13\x9c\xb6\x57\x5b\x41\x5a\xa9\xd3\xae\x0e\x79\xc4\x0c\x55\x1d\xa9\xe9\x11\x3e\xc2\x8e\x9e\x54\x3e\xd2\xb8\x2b\xab\x00\x3a\x8f\xd9\x23\xdc\xcb\x0b\xb1\xf2\x02\xa1\x1f\xb8\xd5\xa1\x6d\xa2\x1d\x31\x13\x68\x36\xb4\x9d\xd4\x92\xa4\x0e\x9e\x5c\x74\x7b\x45\x82\x08\xd7\x7b\x23\x32\x58\x32\x39\xc5\xbf\x1d\xd6\xca\x29\xd7\x89\x0b\x08\x90\x14\x5a\x5a\xfb\x18\x5b\x81\x3b\xd1\x5a\x19\xa5\xca\xb4\xf4\x9e\x90\x93\xae\x49\xe0\xe1\x7f\x94\x21\xef\xee\xc6\x12\xd3\x42\x64\x77\x7e\xa4\x7f\x29\x57\xc5\xfe\x3b\x04\x57\x36\x38\x7d\x64\xa1\xa8\x3a\x36\x6b\x8f\xe8\xae\xe1\x16\xe3\x26\xef\x35\x05\x4b\xd6\x3c\xac\xed\x38\x0a\x9f\x6b\xaf\x2c\x27\x07\x0f\x4d\x89\xa5\xcf\xe4\xe7\xda\x09\x0e\x2d\x8b\x2a\x5e\x39\x46\xf8\xaf\x8d\xa2\xb4\x44\xd9\xb2\x25\x76\xd8\x0f\x8d\x1d\xd0\x73\xf9\xef\x7f\x87\xee\x61\x4f\x1a\x88\xea\x7b\x02\x3a\x12\xb7\xe5\x19\x88\xd9\xd1\x29\x37\x7d\x71\xde\xcc\xf8\x89\xc3\xb0\x69\x27\x8e\x02\x53\xa5\xac\x0d\x94\x95\x9a\x32\x33\x2e\x15\xed\xaf\x54\x64\xe3\xe2\xfd\x97\x54\x8c\xee\xad\xbf\x74\x2a\xb9\xfb\x96\xd2\xe7\xd6\x2e\x14\x7d\x41\x9b\x28\xa6\xe2\x9f\x11\x6d\x3f\x38\x7f\x38\x0e\x79\x40\x4f\x04\xd7\xaf\xb9\x95\x05\x39\x38\xff\xb1\xac\x96\x41\x21\xd7\x46\x65\x13\x9c\x82\x20\xff\x62\x81\x07\x0f\x38\xb3\xa0\x6b\xb2\x16\x90\x2c\xb8\x04\x48\x42\x15\xac\xb1\x98\x47\x21\x63\x06\x42\xd6\xe1\x2c\xd3\x07\x98\xf5\x4b\x06\xd2\x53\xb1\x44\x39\x1b\x5f\xcc\x81\xb3\x2e\x58\x85\x28\xfb\x84\x35\x21\x81\x47\x70\x71\x01\x5a\xd3\xe9\x96\xbd\x90\x88\xe0\x5b\xfa\x62\x95\xe3\x97\x94\xb5\x04\x3b\x58\x5c\x16\x12\x59\x60\x95\x64\xd3\x85\x9f\x92\xce\xac\xbd\x47\xa7\xf0\xd6\x9b\x20\x03\x23\x0a\xda\x89\x7a\xf8\x7f\x97\xb0\x4a\x7d\xfe\xce\x52\xce\xe0\x34\x8c\xf2\x8f\x2f\xcf\xfc\xb9\x71\x3f\xaa\xf7\x86\xe6\x68\xa5\x58\x2e\x8b\x7c\xf7\x65\xc1\x55\x9e\x7b\x23\x58\xac\x19\x51\x66\x2a\xe5\x64\xf6\x65\x46\xdf\x40\xc8\xe2\xaa\x46\xb2\x15\xde\x8d\x1f\x2e\x69\xfd\xc9\x5b\xc1\x9c\x43\x93\x4c\xb5\x0e\xea\x88\xcb\x98\x3d\x51\xaa\x99\x42\xbc\x98\x62\x40\x51\x68\x88\x8d\x36\xa2\xa7\x31\x90\x71\xa4\x70\x30\x69\x49\x54\x69\x67\x72\x9b\x20\xd0\x5f\x85\xc6\x1a\x36\x75\x5a\xcb\x3c\xab\x1a\x81\x38\x6a\x95\xa4\xab\x95\x42\x31\x70\x43\x03\x59\xb1\x3d\x21\xac\x16\x56\xde\xd1\xcb\x32\x9b\xbf\x23\xa5\x5a\x03\x3b\x64\x4c\xba\xdb\x09\x93\x33\x9e\xd0\xa7\x76\x68\x32\xb5\xa6\x5c\x86\x73\xce\x53\x20\xd3\x3e\xc8\xb8\x6e\xf5\x50\x4f\x25\xe6\x48\x00\xe7\xd9\xd4\x16\x29\x55\x79\xa7\xd0\xba\x7a\xe6\x04\x7a\xd3\x41\x6c\x2d\x4f\xa5\xe3\xc8\xb6\xa5\xa7\xec\x44\x54\xb5\x89\x6c\xb7\x4f\x79\x0c\x4a\x71\xb1\x9a\x08\x6b\x9b\xad\x5b\xe6\x93\xf1\x29\x9d\x85\xe3\x08\x14\xe9\x62\x04\x17\xfd\xad\x8c\x7c\x17\x4a\x4e\x83\xf2\xc2\x97\xd6\x98\x90\xe4\xce\x84\xab\x82\x73\xe8\xa1\x97\xde\xe3\x7d\x7f\x20\x53\x3e\x90\xb6\x05\xc8\x63\x76\x8b\x99\x54\xe4\x6b\x90\xc6\x33\x0c\x74\xf4\x92\x9c\xea\x9a\x18\x53\x01\xd4\x87\x50\x66\x47\x79\x81\xb4\x73\x72\x98\x87\x3f\xe2\x99\x96\x92\x9e\xc1\xd7\x54\xf7\xf0\x6d\xf2\xf0\xc7\x21\x56\x31\xcf\x12\xda\xa8\x92\xaa\x50\xaa\x55\x54\x13\xa2\x8e\x8e\x98\xe5\x80\xe4\xf6\x75\x8c\xa9\x7e\xb8\x52\x5b\x22\xa9\xb3\x8f\x0c\x95\x95\x27\xc6\x24\xf9\xe8\x16\xfc\xa9\xca\x5d\x34\x86\xea\xcc\x68\x8a\xf8\x7e\x29\x45\x94\xab\x24\xbe\xdd\x7d\xeb\x92\xf4\xd0\x5c\x47\x8d\xc2\x9a\x2e\xbb\xb7\xc8\xc3\x42\xb1\xc8\xce\x8b\xd7\x9c\x6d\xc5\x86\xaf\x38\x64\xe2\xdb\x5b\x41\xe5\x89\x15\x66\x2d\x3b\x99\x9d\x82\x18\x1a\x52\x0a\xa8\xda\xd1\xd1\x92\x65\xcc\x89\x12\x66\xaa\xaa\xf2\xa1\x4c\x4c\x65\x27\xa1\xc8\x41\x25\xc5\x39\x3d\x1d\x95\xeb\x91\x5b\xe0\xcf\x51\x2b\xde\x0f\x6d\x9e\x3a\xe3\xd1\x2a\xd2\x68\x8c\xb2\x73\x9a\x2d\xa5\x67\x9c\xb8\x62\x91\x5e\xdf\x6f\x30\xed\x8e\x3e\x6a\xf9\xf2\x91\xaf\xb4\x67\xcc\xb7\x60\xae\x24\x1d\xb7\xe3\x6a\x2b\xb0\x6a\x81\x5c\x4f\xc7\x2c\x87\x54\x16\x5d\xaf\xbf\xa5\x12\x9d\x79\x14\xc9\x12\x4a\x45\x91\x78\x57\x92\xb4\x9c\xcd\x94\x29\xa7\x2c\xb7\xde\xfa\x0d\x6b\xbe\xb5\x5a\xf2\x70\xa6\x10\xdb\xec\xda\x92\xa6\x5e\xc9\x02\x90\xd8\x3b\x59\x06\x66\x5f\x5d\x00\x46\xbf\x8e\x13\x2d\x65\x8c\x46\xb6\x95\xd0\x4a\x6a\xd1\x94\xd3\x48\x75\x6e\x99\xd2\x66\x20\xb3\xd9\x35\x13\x89\xba\x20\x2d\x53\x82\x76\xf1\xc7\xee\xd4\x9f\x0e\xf8\x64\x8a\x4e\x3b\xae\x96\x3c\x9e\x66\xd0\x38\x99\xd2\xb2\x0c\x47\x23\x1b\x84\x53\xb3\x25\x99\x50\x54\x4a\x22\xc8\xf2\x81\x01\xd5\x5f\x30\xe0\xc1\x82\x90\x6c\xa5\x83\x35\xf3\xc1\x4f\x02\xaf\x10\xe1\x11\xf0\x81\x37\xbb\x03\x66\x8d\x96\x23\x12\x38\x6e\x90\x95\xdc\x86\x11\x10\xb4\x8a\xa9\x54\x25\x0a\x28\xc0\x23\x6c\xe5\xdf\x19\x5c\x31\xa8\x70\x4b\x25\xb3\x8d\xcf\xc9\x22\xd0\x08\x44\x16\x3d\x2a\x4e\x89\xfa\xb1\xb4\x6e\x0f\x22\x91\x82\xb3\xe1\x00\x6e\x34\x1b\x01\x8b\x64\xbe\x0a\x0c\x67\x23\x7e\x30\xf7\xee\x3d\xed\x8d\xe2\x4e\x40\x95\x6e\x13\xaa\xdb\xe4\xe5\xeb\xc0\xcf\x8c\x02\xc6\x57\xcb\x18\xa4\x19\x72\x01\x28\x5b\x73\xae\x9e\x0d\x95\x9f\xa4\x93\xba\x48\xf3\x60\x22\x80\xb3\xa6\x79\x46\x4f\x83\xf1\xad\x00\x38\x70\x03\x8f\xc9\xac\x54\xe6\x44\xeb\x00\x18\x1b\xf3\x8f\x68\x10\x51\x4f\xe4\x02\x72\x01\xd3\x29\x50\x07\x93\x9a\x5c\x60\x50\x43\x83\x42\xd6\x02\x16\x59\x82\x2b\xca\xe0\x06\x83\xc0\x28\xa5\x48\x9e\x99\x57\x2a\x53\x88\x4b\xf5\x94\x68\xb4\xac\xce\xc5\x22\x41\x33\x3f\x66\xd4\x8a\x82\x75\x1c\xa2\xbd\x43\x66\x2d\x21\x03\x1d\x73\x0b\x5b\x02\x9f\x19\x2b\x6b\x96\x9e\x0e\x4c\xa5\x26\x89\xe2\x32\x39\x99\xa8\xb0\x1e\x23\x07\x8e\xe3\xf7\x94\x0b\x6f\x4d\xda\x2d\x44\xcc\x4e\x1a\xcf\x9b\xa5\x4b\xaa\x56\x3e\x93\xe2\x0c\x84\x2a\xdc\x1e\x38\x1c\x75\x88\xf5\xeb\x75\x1d\x62\x2b\x85\x67\xa3\xf3\x93\x57\xe3\xcb\xd9\x35\x06\xbf\x99\x14\xd3\x95\x6f\xda\xc1\xd8\xb2\x2c\xc1\xcb\x87\xff\x3a\x3d\x19\x19\x9a\x62\x25\x5b\x2c\x5c\xb0\xbe\x57\x85\x39\xa5\xa8\x36\xc7\x8d\x4c\xe3\x84\xf5\x22\xb5\x13\x8a\x4c\xcd\x51\x0c\x7b\x35\x39\xf0\xbc\xab\x88\x8c\x0e\xf1\x06\x16\x65\x08\x17\x83\x68\xc0\xf7\x67\x00\x38\x2c\x20\x71\x16\x98\x0f\x21\x15\xac\xe1\x2a\xa0\x74\x91\x28\x81\x9a\xd6\xdf\x2b\x9f\xed\xca\x40\xe2\xc3\x9f\xd7\x21\x99\x17\xe1\x57\x10\x2e\xe2\xe1\x2d\x5a\x8e\x4b\xe7\x02\x2e\xfc\xa8\x0e\x3b\x99\xdf\x37\xcf\x92\x18\xa8\x1c\x91\xb1\x22\xa5\x4b\x4f\x2a\xbe\x03\xa6\x95\xdf\x00\xd7\xce\xe4\x6d\x29\x56\xfa\x9d\x0a\xdd\xaa\xe8\x28\x9c\xa6\x54\x2c\x4d\x81\x36\xec\x00\x39\x94\xb8\xe5\x87\x85\x39\xbf\xe9\xcd\x58\x88\xa6\x30\x8c\x47\xaf\xe8\xd2\x65\x32\x80\x90\x10\x1a\xde\x84\x5c\xcd\xda\x2c\xb0\xe9\x36\x7a\xb1\x2c\x99\x08\x1c\xc3\x52\x65\x76\xf4\xca\x42\x33\x71\x5d\x3a\xed\x9e\xa7\x15\x3f\x49\x98\xd6\x68\x79\xef\x6d\xc2\x34\x44\x82\x31\xd9\x5a\x45\xd2\xc5\xfe\x59\x94\x02\x33\xa0\xca\x4f\x58\x23\x45\x7a\x4c\x9d\xe4\x22\x53\x36\x82\x97\xf7\x8c\x34\xa6\x0c\x43\x1e\xa6\x33\x4b\xe8\x93\x52\x59\x40\x3e\x66\x81\x61\xa7\x9f\xe9\x49\x81\x64\xe5\x74\xa0\x2d\x27\x61\xe6\x36\x5f\x42\x27\xe0\x16\x6e\x72\x65\xaa\x25\xe9\xa1\x12\xe9\x32\x43\x15\x80\x20\x79\x06\xe4\x3d\x17\xcc\x61\xaa\x55\x8b\xae\xa9\x97\x82\x10\x5d\x0e\x81\xd9\x0c\x60\x38\x2a\x6e\x1d\x22\xc4\xbd\x24\xeb\x9e\xb2\xe7\x67\x5c\x96\x68\x37\x50\x3d\x69\x24\x17\x62\x3f\x84\xdb\x38\xd4\xab\x48\x63\xd2\x6b\x40\x2c\x99\x12\x9d\x83\x03\x5e\x2e\xd2\x5f\xa3\x48\xfc\x08\xa8\xc9\x4f\xc3\x9e\x35\xed\xcc\x5f\xc3\x1a\x9f\x1d\xd9\x13\xd5\xc1\x57\x42\xae\x58\xca\x46\x07\xdf\x5b\xc0\x45\xdd\x99\xef\xea\x00\xcd\xe9\xed\x10\x22\xab\x07\x62\x75\x3f\xc3\x9d\x96\xa1\x68\x64\x2e\x2b\x2b\xe1\x97\x55\x41\x87\x89\x1f\xfe\xa0\xf2\xfd\xa5\xc2\x5c\x51\xf6\xcc\xff\xe8\x7d\xf0\xc3\x8c\x2b\xea\xaa\x9a\x8e\xc5\x76\x27\x66\x97\xaf\x51\x21\x03\xa7\x61\x94\x9b\x85\x98\x19\x0a\xee\xde\xea\xe1\xe7\x8f\xe1\x4a\xdd\x79\x45\x22\xef\x1e\x8d\xea\xc7\x55\x56\x40\x2c\x70\x80\xab\x94\x70\x98\x24\xfd\x26\xad\xa5\xb8\x24\xaf\x24\xbb\x12\x0a\x02\x1b\xfe\x5b\x94\xc1\x2e\x10\x38\x51\x17\xae\x90\x87\xaf\xc8\x57\x02\x4e\x23\x69\x2b\xe4\x8d\x51\x1c\x3f\xa5\xe3\x05\xbc\xa0\x7a\x77\x9c\xfd\xf3\x8b\xcf\xbf\xfc\xed\xd9\xc0\xfb\xe2\x35\xfc\xef\xf3\xd7\x26\x35\xdb\xef\x40\x9a\xc9\x60\xcc\x98\x7e\xbf\x62\x41\xc4\xd3\xa1\xc9\x65\xf5\x33\x05\xcf\x44\xbc\x00\x57\x13\x87\x22\x66\x0f\x51\x7b\x84\xdb\x7b\x6d\xd0\xa2\xed\xb9\x87\x07\xde\xf0\x0b\x14\x3a\xe0\x48\x45\x6f\x6d\x84\x92\x47\x6c\x1e\x0a\x24\x0e\xd3\xb1\xfa\x34\xa3\x50\x25\x90\x8f\xf1\xef\x25\xe6\x90\x08\xf5\x03\xdf\x78\x9a\x3e\xf9\x58\x79\x2f\x8e\xc5\xad\x9f\x2f\xb3\xc3\xf2\xdd\xa7\x5d\x46\x6e\x03\xe8\xbd\xb8\xf0\x83\x04\x36\xdc\x61\xf1\xd0\x54\x63\x5f\x8d\x2a\x3b\x77\xe2\xa8\x4a\x35\x2a\xa9\xa9\x57\xfe\x3d\xde\x1a\xd5\xf9\x49\xc9\x55\x11\x75\xb2\x41\x7d\x2f\xfa\x6f\x1b\x46\xe3\x71\x90\x69\xf3\xf1\xb9\x69\x1e\xec\x98\x89\xcf\xbd\xa0\x2a\xfc\x70\x61\x08\xd2\xcf\x88\xe9\xa1\x4b\x39\x1c\x09\xc4\x09\x6b\xda\x17\xe6\xd7\x20\x10\xd2\x89\xcc\xbe\xa6\x70\xc1\x0d\x84\xb2\xe5\xa7\x44\x37\xb6\x30\xf9\x60\x57\xd9\xe3\x0b\xb1\x22\x4d\x0d\xda\x0e\x3f\x53\x1e\x94\x48\x80\xbf\x80\x8b\x5f\x40\x67\x4e\x18\x3d\xfc\x32\x0f\x63\x66\xe3\x6a\x91\x0c\x58\x76\x4d\x59\xa1\x93\x4a\xb3\x2f\x7e\xb3\x24\x3d\x6c\xe9\xca\x4a\xcb\x89\x1c\x63\x65\x73\xa3\xfe\xfc\x4c\xf3\xbd\x90\xdb\xe4\xcb\xbf\xfd\xbb\xb3\x41\xb9\x59\xcc\xc6\x89\x86\xbb\x45\x75\xed\x02\x1c\xef\xac\xb2\x84\x4d\x2b\x90\x1d\x95\xa5\x8f\x86\xdd\x07\xfa\x4c\x44\xf8\x7e\x55\xfb\xb8\x1d\x6e\xb8\x48\x60\x21\xb5\x58\xb1\x8a\x3b\x4c\xa5\xd6\x48\x79\x89\x31\x21\x47\x80\x89\xd1\x92\xc5\xf7\x0d\x53\x59\x11\x9c\xba\x76\x3a\x2d\x79\xc6\xcf\x27\xa6\x1c\xe3\xd8\xc8\x74\xdd\xc7\x56\x86\x1b\x3e\x46\x54\xdb\xf0\xa9\xd7\xed\x8d\xaf\xce\x8a\xb4\x07\xa6\xdc\xc0\xd5\x6f\xda\xc1\x80\x38\x6b\x6a\x0d\xa2\xa7\xb9\x11\x5d\x47\xa5\x1a\x43\x24\x15\x23\xb9\x05\x9e\x9c\x97\xca\x55\xbc\x54\x85\x6c\x85\x0d\x93\x92\x26\x7c\x4b\x2a\x2d\xf6\xd2\xfa\x05\x42\x25\x0a\xdb\xc0\xc0\xb6\xa6\x09\xe5\x22\x3c\x31\x4a\x7f\xe2\x8a\x65\x9e\x33\xb1\x96\x12\xbd\xa1\x0b\xe2\x83\x77\x21\xd3\x36\x1a\x29\xd9\xa0\xb9\x20\xba\x33\xd8\x81\x11\x44\x64\x9b\xac\x4d\x4c\x97\x05\x43\xeb\xd8\xfb\xeb\x94\x2f\x3e\x26\x00\x80\x1a\x46\xe1\xaf\xd3\xee\xce\xc4\xde\xe8\xe2\xa4\xd4\x22\xa5\x02\xce\xe6\xab\x94\x7d\xb1\x4f\x51\xf9\x36\x0b\xd7\xa8\x73\x91\x1e\x51\xf0\xb1\x7c\x80\x82\x3e\xdb\x60\x60\x87\xab\xf6\x26\x19\x48\x12\x94\x29\xa5\x13\xcc\x12\xa2\x2d\x34\x4b\xe8\x00\xd8\x8a\x35\xaf\x61\xe5\xcc\xec\x7c\x43\x25\x37\x4f\x05\xd2\x20\xda\x9c\x63\xbd\x2d\xd6\xa4\xc0\xf5\x3b\x3a\xf0\xbc\x6f\x00\x26\xf9\x70\x06\x61\x4a\xba\x01\xa9\x86\x47\x26\xb5\x5c\xaa\xbb\xf8\x6d\xb3\xe8\x92\x62\x69\xca\x0a\xca\xc5\x89\x23\x2a\x22\x10\x79\xc0\xc0\x60\xf8\xb4\x6a\x61\xc5\x27\x32\x09\x2f\xae\xe9\x4a\xe9\x1c\x78\x69\x1f\x2e\x38\xbe\x58\xb6\x97\x56\x63\x14\x3f\xbc\x63\xb1\x11\xe8\x24\x09\x63\x20\x3d\xb1\xca\x8a\x62\xba\x5b\x0a\x2b\x01\x6c\x45\xa4\xb8\x2a\x71\xe1\xc8\xa1\xd7\x4b\x16\x74\x83\xe0\xb2\x05\xfe\x00\xa7\x69\x2e\x02\x3c\xf3\x18\x91\x32\xda\xb6\xb5\x1d\x78\x32\x85\xaf\xad\x6c\xd0\x3e\x26\x4b\x8e\xe7\x05\xf4\x54\x76\x88\xce\x9a\x7f\x9f\x33\xa7\x8a\x66\x55\x3b\xf4\xef\x70\xfa\xd6\xa1\x81\x97\xa8\x98\x0e\xac\x1c\x50\xe5\x19\x7b\x60\x19\x0a\x38\xf5\x4c\xf3\xdf\xd3\xda\x5b\x48\x5e\x93\x42\x29\x2d\x55\x49\xe4\x9f\xc9\xba\x66\x3b\x71\x9a\x92\x1c\xc1\x68\xba\x20\xb1\xaa\x40\xb1\x20\x77\xe2\xe4\x55\xe8\x66\x70\x2a\x8b\xb9\x2a\x8f\xd1\x45\xbe\xca\x4c\xae\x15\xbf\x30\x02\x2f\x1d\xc8\x5c\x28\x2e\xb5\x1d\x0e\x74\xb3\xb3\x67\xea\x7d\x10\x54\x7e\x20\x30\x1e\x8c\x6a\x77\x2d\x33\xe5\x42\x49\x4a\xb8\x5b\x01\x17\x31\x23\x74\xe5\x39\xe0\x40\xb5\x52\x49\xa1\x31\x2e\x8e\x6c\x72\x0c\x7c\xb2\xa1\xdb\xad\x52\x43\x71\x38\xde\xb9\xad\x9e\xb1\x44\x42\x0d\x8b\xa2\x78\x8d\xb6\x26\x7c\x9c\xd3\xbd\x10\x8b\x0e\xbc\xb6\x81\xeb\xe2\x4b\x55\x03\xa2\x26\xfd\xf8\x32\x75\x7b\x31\x9c\xb0\x26\xb8\x09\xba\xc7\xa2\xe9\xdb\xbc\xeb\x31\xab\x02\x79\xe8\x92\x03\x8a\xd2\x57\x73\x25\x02\xdc\x05\x32\x35\x7d\x43\x6a\xa8\xb4\xeb\x20\xbc\xca\x8d\x44\x53\x5b\x9d\xb6\xe2\xab\xcb\x0b\x4d\x40\x38\x21\x0c\xcb\xda\x3f\x2c\x33\x63\xea\xde\x2b\x2e\xc9\x54\xa2\xed\xd5\x17\xf4\x07\xad\x77\xc6\x0a\xdc\x46\xe6\xde\xa9\x53\x24\xf9\xfb\x24\xc9\xbc\x1e\xba\xd6\x6f\x37\x71\xce\x73\x6f\x23\xda\x85\x59\xd4\x89\x29\xf8\x9c\x99\x13\x55\x5c\x7a\x5c\xf8\x51\x51\x84\xbd\xf4\xeb\x71\xe1\xa7\x85\xbf\x5e\x77\x1f\x48\xc5\xef\x42\xba\xf4\x00\x12\xd1\xc6\x03\xd9\x25\x44\x69\x2c\x65\x25\xe0\x8d\xc0\xa8\x02\x61\x3f\xc8\x7d\x6a\xf5\xf0\x33\x56\x84\xc0\xe3\x72\x75\x13\x92\xfd\xa9\xe2\xdd\x43\xdc\xa7\x3c\xe1\xbb\xa9\xa9\xfb\xfc\x74\x51\xd1\x56\xd5\xbe\x46\x82\x26\x60\x18\xd1\xbb\xf9\x09\x9b\x51\x5a\x00\x57\x8b\xe2\xba\x1c\xb4\x6c\xd9\xd3\xf5\x22\x0e\x2b\x44\x21\x7a\x2f\xee\x2b\xe5\x5f\x0b\x15\x6f\x29\x6f\xaa\x68\x33\x87\xa3\xcd\x67\xaf\xb7\xa6\x92\xc6\x68\x4d\x35\xa2\x71\x21\xbc\x6c\xfc\xb5\x90\x81\x34\x52\x88\x7b\xdc\x2e\xb5\xe1\x2d\xb7\xd0\x63\xf5\xb8\x74\x34\x75\xe2\x4d\xe4\x5c\xaa\x63\x4e\x5d\xb6\x79\x59\x68\xb7\x7b\xe5\x15\x5d\x72\x10\x96\xf6\x74\x76\xee\xe9\xa4\xec\x27\xa8\x38\xc8\x27\x56\xba\xcc\x27\x52\xa7\xe4\x21\x3d\xad\xfd\x34\x0d\x17\x51\x97\x38\xaf\xd1\x00\x5f\x77\xce\x86\xd3\x1c\x2b\x98\x2e\x2c\x45\x3a\x5a\xee\xfb\x84\x28\xbd\x2c\x7d\xe7\xf3\xa1\x74\xfa\xd4\x19\xf5\x76\xc7\x83\xee\xe5\xe9\x74\x38\x50\x34\x42\xe9\x96\xb2\xef\xf1\xa8\x39\xa0\xa8\x80\x03\xd7\xa1\x21\x9f\x19\xe5\xac\xb8\x6f\xda\x0a\x47\xc4\xaa\x6f\x8c\x23\x6d\x19\x3a\xe7\x2d\xa8\xf2\x60\x79\xb7\x3f\x7a\x45\x0a\xc1\xea\xd6\x84\xef\xf0\x23\x93\x05\x85\x9c\x06\x39\x55\x04\xf9\xd4\xe9\xba\x82\x26\x3c\xf6\x3c\xd0\x1d\x0e\x8d\x57\x9d\x4c\x1c\xb2\x7b\x03\x5a\xa6\x50\x49\x45\x7e\x34\x64\xb0\x32\xea\x72\x31\xb9\x43\x48\x7a\x97\x98\x3c\xce\x57\xb1\x54\x4d\xac\xe3\x7c\x6e\x5a\x46\x85\x19\xaf\xb0\xad\x98\xe0\xcb\x30\xf7\x4a\x40\xbf\xc1\x26\x35\xf9\xda\xe4\xe0\xf2\xb5\xa1\xc1\xc5\xec\x64\x72\x6e\xb2\x48\x4c\x2e\x1e\xfe\xf9\xe1\xbf\x99\x8c\x11\x98\x9d\x7d\x74\x7c\x76\x72\x6e\x72\x05\xc2\x77\x27\x97\xb3\xe9\xe8\x78\x32\xf5\x8e\x47\x98\xa3\x74\x74\x7e\xf2\x9f\x47\x00\xf4\xbf\x4c\x2c\x30\xaf\x8e\x4f\x66\x93\xa9\x09\x2a\xbf\xed\x01\xef\x6c\x74\x3e\x7a\x3d\x36\xc1\x83\x37\xe3\xf3\xd9\xd8\x1d\x9e\x71\xb0\xca\xd6\xe6\x21\x33\x06\x33\x4c\xba\x2f\x2e\x13\xbc\x6a\x51\x00\x14\xe7\xa4\x49\xf5\x30\x09\xcd\xec\xea\x82\x81\x8c\x24\x08\xe7\xe1\x8f\xab\x8a\x3b\x5e\x67\xcc\xc4\xa4\x5e\x94\xde\x5f\x62\xa1\xdd\x7b\xce\xd9\x62\x5a\xc4\x23\x5b\x89\xf9\xef\x1e\x7e\x96\x19\x5f\x1c\x51\x56\xf3\xcf\x50\x94\x27\xff\xcd\x3a\x5e\xf4\xaf\xdb\x86\x0e\x2d\xf5\x4c\xad\x76\x1f\xe9\x55\xa9\xd8\xdd\x56\x14\x9a\xd8\x98\x2b\x35\x06\x6e\x05\xdf\x9a\xec\x98\xf4\xca\xd4\xa8\x2b\x90\xcb\x65\x2d\xb2\x87\xaa\x28\xd2\x25\x05\xec\x5c\xa0\xfc\x92\x0b\xff\x3c\x03\x8a\x4b\xe9\x31\x4a\xe5\x22\xb5\x54\x46\x15\x07\xbb\x86\x67\x32\x7c\x43\xae\x19\x3d\x69\x2a\x82\x94\x1f\x93\x34\x2d\xf2\xce\x8d\x4a\xe5\xbb\x0b\x47\x40\xcd\x7d\x97\x9c\x1d\x79\x5b\x63\x7d\xc4\x24\x8e\x48\xe5\xeb\xdf\xa2\x6a\xa1\xe6\x0b\xbc\x5e\x0a\xb3\x73\x99\xd6\x15\xbf\x70\xc0\xd5\xfc\xde\x2a\x1b\x1f\x5d\xc2\xcb\x53\x5e\x31\x01\xf8\xe2\xe1\xcf\x29\x39\x35\x63\x3c\x61\x2a\xbb\xaa\x51\xd1\xde\x4d\x8b\x0f\xb6\xd9\xf5\xfa\x62\x32\x35\xd5\x1b\xa7\x57\xed\x8d\xfc\x30\xa8\x3a\xda\x9a\x40\x34\xfc\x66\x31\x78\x6b\x61\xf2\xef\x40\x0b\x30\xe7\xac\xc0\xbc\x07\x64\x49\xa1\x54\x5a\xb0\xb0\xd8\xcd\x06\xc7\xb4\xd4\x99\x14\xd3\xa4\xa4\x2d\x96\x48\x8d\x79\x2d\xd2\x14\x53\x12\x14\xe9\x2d\x52\x4e\xde\x49\x18\xd8\xc8\x91\x84\x2c\x44\x14\x12\xab\x12\xc8\x38\x00\xa4\x5d\xbf\xb2\x7d\x57\x34\xe1\xfe\x93\x75\x45\xbb\x08\x58\x26\xc5\x62\x96\xbf\x34\x5b\xe4\x55\x4b\x6f\x23\xe3\x0e\x68\xa7\x15\x7c\x7a\xe5\x67\xf3\x3b\x23\x9b\x56\x6d\x0a\x7f\x51\x32\xfd\x33\x8b\xa6\x24\xa1\xe8\x5b\x6e\xca\xa1\x83\x26\xa2\x96\x12\xe7\xa6\xc4\x16\x3a\xcf\xe9\x74\xd0\xad\xc0\xee\x09\xd6\x02\x31\x93\x61\x00\x8a\x55\x52\x20\x3f\x9a\x0c\x7f\x08\xd9\x96\xa6\xb8\x16\xe7\x9b\xcb\x52\x8d\x8b\x75\x32\xd8\x23\x23\x57\x95\x6e\xd3\xf5\xa4\x76\x88\x34\xa0\x65\x05\xc8\x1e\xfe\x22\x13\xc6\x55\xdb\xd9\x3b\x53\xe9\x88\xea\x43\x6f\xf2\x80\x34\x8d\x24\x3b\xc6\x0e\x87\xf3\x1a\x12\xbb\x9b\x38\xc1\xdc\xae\xc8\xb9\xc2\xb3\x6d\x7d\xf3\x0b\x91\x60\x46\x5f\x4a\x54\x88\x67\x8d\x47\x09\xdf\xf8\x70\x65\xc3\xab\x40\x8f\x1e\x76\xb9\x97\x55\xe2\xa5\x8f\xfe\x52\x89\x84\xb2\xcc\xb2\x29\x26\x4a\x05\xcc\x73\x44\x9b\xbe\xcf\x64\xa5\x6e\xa5\x54\x91\x86\x5e\xd4\xfb\x95\xbe\xeb\x52\x5c\x23\x5f\xfc\x95\x5e\x75\xd9\xd0\x1f\xf4\x20\xa8\x89\x8f\x6a\xfb\x98\xbc\x0a\x8c\x31\x03\x6c\xd1\xd7\xa5\x46\x39\x9d\x46\x9b\xbe\x85\xa8\xf2\x53\xcd\x3f\xa0\xac\xe9\x6c\xd5\xe4\x34\x2a\x32\x2b\x65\x0e\xe7\xf1\x95\x7e\x07\x0d\xf0\x7d\xa9\xb9\xe3\x4c\x1c\x4d\xa7\x40\x5c\xef\xec\x31\xd8\x31\x56\xad\x60\x23\x8e\x74\x4c\xd3\x3c\x34\x3a\x08\x52\x6c\x36\xf9\xbc\x2f\x50\xbf\x60\x3a\x1d\x00\xe8\x61\x7b\x57\x2d\x22\x81\xa1\x85\x11\x43\xaa\x5d\x33\xbc\x9b\x7b\x95\x44\x6d\x9e\x53\xde\xe4\x6e\xf1\x5a\xca\x21\xc5\x9d\x02\x0e\x41\xf4\xfe\x6c\x31\x5d\xa2\xf1\xf6\xe1\x17\xdc\x10\x26\x6a\x28\xf4\x65\x7e\x17\xc7\x69\x19\xf9\xb2\x5c\xc6\x98\x07\x9f\x3c\x6a\xf0\xf7\x81\xf7\x55\x8c\xa7\x04\x59\x97\xfd\x44\xd0\xd2\x5f\xe3\x66\xca\x32\xe6\x29\x37\x5c\xa6\x58\x14\x61\x36\xa9\x4c\x98\x8e\x0a\x14\x73\x80\xeb\x3c\xc6\x44\x1a\x0c\x29\xc4\xc8\x4c\xf2\x7c\x41\xb5\x98\x9f\x68\x75\xc2\xf9\x3d\xb1\x1f\x92\x14\xe0\xb8\x67\xc7\x94\x5a\xbd\x70\x4a\x8c\x90\xae\x8a\xf0\x31\xc3\xad\x47\x76\x9a\x15\x44\x9e\xbf\xf0\xed\x21\xa6\x42\x46\x98\x46\x40\x15\x97\x5c\xb7\x82\x55\x61\x44\xec\xa0\x88\x4a\x64\x2d\x50\x4b\x9f\x5c\x3d\x33\x6c\xaf\x7b\x78\x91\xdf\x55\x0f\xc8\xe2\x10\xad\xfa\x02\xd8\xfa\x92\xce\x31\xd3\x5e\x87\xbb\x28\x9e\xa2\xfc\xa5\x15\x0a\x47\x53\x2f\x65\xaf\x71\xc7\x63\x5c\xb6\x01\xae\x4c\xeb\x5d\x5c\x30\xd4\x9d\x88\xdb\x19\x55\x83\x12\x15\x85\x6b\x15\x49\xc0\x5b\xef\xd2\x46\x0e\x13\xc9\x1e\x35\x72\x89\x37\xef\xd3\xfd\x69\xc0\x78\x27\xa9\xe7\x20\xcf\xb5\xad\xa9\x40\x5d\x07\x2a\x4b\xe9\x40\xb6\xd2\x81\x1e\xae\x44\x4c\xe0\xbd\x7b\x56\x89\x7f\x7d\xf7\xac\xa6\x74\x29\x82\xe0\xd0\x22\x21\x1d\xb1\xa9\xa9\x69\xef\x4e\xaa\xfe\xb3\x7a\x1a\x2e\x01\x3d\xe0\x1c\x6f\x4d\xac\xa5\xa2\x86\x8d\x1f\xe4\x99\x4d\x5d\x36\x6e\x2a\xd9\x15\x58\xc9\x29\x32\x1b\x79\x84\xdc\xe0\x39\x7e\xaf\x85\x6f\xe2\x19\x7c\x0f\xd7\x49\x6f\x72\x79\x68\x0a\x2d\x9c\x14\x44\xa6\x31\xec\x04\x8a\xcc\xa8\x1c\x1e\x00\x55\xe6\x79\xa9\x24\x5c\xa1\x43\x39\x15\xb9\x77\x39\x39\x34\x04\x1e\x5e\xd4\x92\xd7\x2b\x01\x40\x8f\x79\xcc\xa3\x50\xe5\x24\x30\x0f\xab\x69\xda\x71\xca\xd1\x6a\xa3\x12\x13\xe8\xf1\x90\xf6\xb1\xab\x43\xda\xc0\x83\xb7\x70\x89\x0b\x31\xf1\x62\x95\xc2\x4e\xfa\x2e\x0c\xd4\x55\x61\x86\x65\x66\x7e\x07\x2a\x65\x06\x05\xe2\x81\x5d\x91\x8c\x9c\xe8\x5c\xbf\xd9\x18\x63\x19\x09\x6e\xab\xcc\xeb\x86\x04\xf7\x97\x6f\x14\x78\xcd\x68\x13\xf4\x6b\x44\x37\x44\xb9\x66\x61\x29\xf9\x0b\x38\xae\xe1\x7c\x27\x39\x27\xcd\x02\x73\x06\x82\x93\xd5\x3a\x09\x57\x98\x4e\x15\x1b\x3d\xfc\x19\x5b\x71\xae\x23\xb5\x62\x0b\x5d\x11\xa2\x88\xe0\xb9\xff\xf0\x0b\xd1\x69\xd1\x18\x31\x4d\x98\xd2\xc0\xf7\x96\xa4\xef\xbc\x95\xfe\x8c\x78\xfe\xd5\x2e\x69\xb5\x3b\x99\x5f\x64\xb5\x28\xae\x6d\x32\x32\x56\xa9\x2e\x62\x3e\xda\x8e\xc7\x23\xef\xc6\x9f\x03\x6b\x33\x72\x76\xd5\x39\x14\x54\x90\x8e\x6a\xd6\x2c\x4a\x0c\x56\xbb\x2d\xc5\xe5\x95\x4d\x85\x94\xcb\xfb\x53\x29\xda\x14\x6f\x80\xa6\xaa\x9f\x06\xf2\x09\xa6\x08\xa9\xb3\x8d\x0d\x76\x60\xc3\xeb\xb7\x8b\x78\xba\x63\xa4\x96\xb1\x8e\x81\x1d\x61\x78\xc1\x0a\xe4\x00\x18\x9e\x20\xfe\x10\x2d\x63\x1f\xcd\x7c\x92\x69\xa1\x2c\x20\x56\xda\x35\xd7\xc8\xb0\x24\x30\x1f\xbd\x7f\x09\xa0\xa0\xa4\x1a\x92\x4b\x79\xf4\x35\x5a\xfc\xf1\xb8\x40\x79\x4d\xa2\xaa\x85\x19\x23\x32\x23\xdf\x4a\x62\xf6\x96\xe6\xab\x11\x72\x58\x10\x48\xc9\x38\xbc\x3c\xf4\xfe\x3a\xc5\x74\xbd\xa1\x0a\x08\x33\x53\xc9\x5e\xc3\xb7\x52\x1c\x43\x72\xd8\xee\x58\x42\x81\xc3\x3b\x49\x24\xdf\x32\x92\x42\xe9\x4e\xdb\x72\x9f\x96\x8e\xb7\x65\x1e\x61\x4e\xaf\xc2\xe9\x4b\x59\x7d\x0f\x82\x5a\xb4\xc0\x08\xb1\x7c\x8d\x11\x6b\xe8\x00\x29\x85\x32\x1e\x3c\x2f\xe4\xc4\xa1\x19\x9e\x1c\x28\xf6\x19\xd9\x1c\x60\x4f\x42\x11\xf8\x32\xe3\x7c\x9d\x1a\xcd\x93\x23\x8a\xf5\xd4\xc6\x69\x5a\xe6\xc9\x8a\xa4\xf8\x4a\x09\x57\x80\x24\xe4\x2a\x01\x15\xe7\x01\x5a\xfc\x21\xdc\x3c\xbd\x4c\xa6\xd2\xe8\x10\x2c\x59\xa2\x34\x45\x46\x91\x38\x38\x17\xc6\x2a\x0a\x17\x79\x22\x0d\xdd\x7c\xeb\xd2\xb2\x43\x4b\x5f\x6d\x4b\x62\x9c\xd5\x5a\x16\x58\xd1\x6f\xa4\xcd\xe6\xae\x88\x2b\x77\xd9\xde\x78\x1b\xad\x0d\x68\xd3\x3b\x2c\x98\x21\x2b\x90\xa1\x9b\x0f\xd6\xad\x50\x7e\xb0\x14\x69\xc6\x42\x88\x4c\x57\x65\x12\xfe\xa3\x8d\xd4\x3a\x46\x18\x6c\x23\x6b\x75\x78\x6b\x04\x0f\xac\x09\x16\x37\x16\xb4\xa0\x3b\xb2\xf2\x7f\x25\xc5\x65\xc1\x8b\x48\xce\x89\x8c\xc2\x22\x93\x89\x09\x59\x96\xac\xf6\x7a\x41\x41\x97\x80\x02\xff\x65\x6e\xad\x96\x96\x29\x10\x50\xd2\x58\xd0\x05\xa8\x1f\xfe\x12\x21\x4f\x24\x80\x48\x0d\x92\xca\xac\xb5\x04\x66\x26\x68\x95\x2f\xb3\x70\xcd\x04\xa5\x1c\x05\xea\x77\xa9\xa2\xea\x44\x04\x21\x72\x48\x95\xeb\x42\x8e\x88\x5d\x41\x45\xc5\x51\x4d\xb1\xbd\xf4\xae\xbd\x19\x26\x92\xf3\x8e\xc9\xa3\x80\x2e\x17\xb0\x48\xe8\x59\x3f\xcb\x22\xbb\x24\x14\x27\x2b\xa6\x9e\xab\x43\xea\xb2\x30\x32\x25\xb8\xb6\xc8\x0f\x47\x45\x9f\xc0\x22\x04\xb1\x4a\x05\xd5\xa2\xab\xeb\x0b\xf1\x51\x25\xa8\x24\x2f\x81\x98\x32\x60\xa3\x2d\x07\x46\x9e\x0f\x64\x82\x40\xea\x73\x38\x6c\x95\x09\x8a\x72\xe6\x99\x96\x01\x55\x7a\xf0\x65\x9e\x27\xf6\xec\xf1\xbd\x87\xff\x5e\xbb\x0c\x02\x63\x82\x7b\xe0\x90\xf2\x69\xf8\x98\x4d\x93\x48\x91\x06\x19\x4c\x1d\x15\xaf\xd5\x87\x48\x8c\x8f\xe2\x85\x04\x57\x1d\x1b\x29\x6c\x18\xd6\x91\xd3\x50\xd8\xfc\xa5\x5a\x7b\xe3\x97\x97\x5d\xbd\x1f\x86\x53\x98\x69\xa8\xcd\xa1\xd3\x35\x70\xd4\x3a\xfd\x9d\x57\xbf\xe9\xf8\x77\x57\xe3\xcb\x99\xc9\x9a\x7a\x39\x39\x3d\x39\x3a\x99\xb1\x63\x80\xc1\xae\x3a\x1d\x63\x35\xb6\xf1\xf1\xf5\x74\x72\x35\x1b\x5f\xa3\xbd\xca\xe4\x29\x60\x04\x70\x31\x39\xbf\x34\x86\xa6\xd2\xfb\xcb\xd9\xc8\x84\x7f\x72\x3a\xbe\x3c\x34\xe6\xcb\x7e\x75\x75\xce\x8e\x09\x87\xa6\x0c\xd7\x44\xb7\x89\xe4\x29\x6c\x62\x83\x4f\x83\xec\xaf\xd9\xde\xa7\x7d\xd0\x0e\x00\x36\xf9\x90\x72\xe3\x94\xb1\x5f\xb8\xd7\xc2\xe8\x36\xa6\x03\x1f\xef\xa0\x89\x25\x17\xf8\x88\xe5\x17\x95\xf0\x66\x29\x42\x10\x2a\xd8\x41\x93\xca\xd1\xa9\xa0\x29\x00\x04\x8d\x54\xa6\xd4\x9a\xb2\xc5\x38\x2c\xc2\xc7\xbb\x55\x20\xd0\xd0\x0a\x4d\xd6\x70\x10\x61\x44\x2b\x39\x60\xff\x3d\x4b\x17\xab\xb5\xb9\x24\x04\xb6\x67\xba\x68\xbf\xa2\x08\xaa\x52\xa3\x02\x25\xb7\x0f\xff\x52\x05\xe2\x40\x83\xd4\x55\x9f\xc5\xf0\x37\xd7\x56\x29\xfe\x54\x8c\x13\x13\xc4\x03\x17\xbf\x47\xcd\xd5\x02\x77\x72\x3c\x0f\xcb\xc4\x00\x61\xf6\xf7\xce\xc4\xc6\x1d\xa8\x80\x9c\x3c\x60\x4d\x15\x2a\xa4\x50\xc4\x95\xe8\xd0\xba\xec\x01\xc5\x7f\xbf\x97\x3e\xed\x8d\x62\x3b\x39\x52\x8d\xdd\xe2\xc3\x5b\x29\x78\xc0\x61\xf0\x6b\xa9\x29\x9f\x2c\x83\xa6\x56\x3b\x23\x3a\xce\xc5\x87\xc6\xab\xbf\x7f\x97\x7f\xfe\xf9\x6f\x4c\xec\xb3\xec\xd0\x8a\x63\xe6\xbb\x48\x09\x34\x15\x7f\x2b\x25\xaa\xc4\x99\x8d\x16\xdb\x98\xac\x41\x10\x6c\xa6\x02\x68\x4a\x92\x3c\x28\x47\xcb\x38\x0f\xbc\x57\x28\xf0\x27\xf7\xdd\xb3\xb6\x44\x59\x31\xb1\x3a\x53\xd7\xb0\x40\x7f\x6b\x38\xdc\x89\x57\x1e\xd6\x4d\x5b\xcf\x4e\xb4\xb7\xb9\x62\x37\xc3\x39\x5d\xe9\x9e\x8b\x70\x43\xaa\xf8\xb2\xf0\xdd\x5c\xd5\xaf\xcb\x64\x16\x39\xd3\xd9\x6b\xac\x73\x07\xa7\xae\xb8\x09\xf9\x1e\x6e\x44\x0c\x17\x1f\x40\x0d\xa3\x26\x2f\x5c\x65\x46\x5c\x2e\xd8\x10\x62\xb9\x5d\x2a\x7c\x96\xb6\x0c\x18\xd5\xa0\xb9\xc1\xfb\x9a\x92\x80\x57\x3e\xa5\x0c\x94\xaa\x14\x16\xde\x6b\x11\x10\xc6\x41\xe6\xeb\x72\x22\x89\xe2\x1b\x96\x57\xf1\x49\xc7\x30\x68\xae\x71\x96\x0e\x6f\xc3\xe5\x1d\x9b\x85\x6f\x60\xa9\xb0\x82\x5c\x55\x16\xab\x12\x89\xd2\xf4\xad\xff\x03\xde\x33\x4b\x9d\x0c\x1e\x0f\x64\x72\x6e\xc6\x5a\x6c\x31\x58\x65\x7a\xba\x5f\xcb\xa8\x19\xb7\xd7\x27\x1e\x44\x39\x70\xf5\xec\xe7\x26\xcf\x01\xd5\xbf\x7a\xfe\x87\x52\x7f\xdd\x81\x48\x26\xd0\xc6\x4a\x95\x34\x13\x9c\x60\xb0\x13\x9b\xef\xdd\xaa\xba\x95\x7a\xfa\x6c\x5a\x8f\xf6\x1c\xa3\x05\xe6\x3c\x91\x95\x12\x24\xe2\xc8\x72\x75\xd5\x11\x93\xba\x12\x30\x5d\x4d\x4f\x4b\x45\x99\x1d\x17\x15\x06\xd1\xa2\xb4\xd9\x32\x05\x4b\xaa\x03\x5d\x91\x5b\x40\x9a\x96\xc8\x02\x5b\x8b\xce\xb6\x63\x8e\x2a\xee\xe6\x0e\xbd\x6b\xf5\x31\xef\xc2\x81\xb2\xe1\x8e\x53\xd8\x48\x13\xee\x36\x91\xf5\xe0\x07\x64\xf2\x6f\xfd\x44\x3f\x42\xea\xc1\xbe\x78\x25\x8c\xeb\xde\xa1\x2f\xe5\x42\xc4\x33\x02\x7f\x28\xb1\x8d\x4e\x8d\x23\x76\x9f\xb8\x82\x5e\xd9\x94\x2c\xdc\xb5\x88\xa4\xac\x76\x57\xfd\x0a\x71\x41\x33\x0e\xb9\x99\x2f\xbd\x46\xa4\x5a\xe8\x35\x32\xc9\xbb\xab\x8d\x50\xfb\xc0\x25\x95\xfa\xb0\x3c\x5a\x94\xd1\x17\xab\x38\xd1\x12\x65\x48\xda\x88\xf1\x63\x20\xa9\x3a\x66\xfc\x98\x48\xda\x65\xd4\x8a\x05\x51\x12\xa5\xe5\x0c\x6e\x90\xd5\x36\x5a\x55\x02\xb5\xf1\xaa\x92\xf8\x69\x46\xec\xd7\x32\x30\x5b\xf7\x3e\xe7\x45\x4c\xa5\x79\xf7\xb5\xbb\x10\x7b\xd4\xa1\xbf\xd4\xc7\x22\x91\xea\x04\x26\xe2\x11\x76\x51\x95\xa0\x3e\x43\xb2\x45\x07\x2c\x28\xb8\xd4\x7e\x99\xd5\xc1\x08\x1a\xcd\xbd\xac\x58\x2d\xbf\xb5\xc3\x74\x94\x5d\x34\xc0\xce\x02\x44\x0d\x43\x47\xe1\x06\x0d\x47\xbf\x72\x0d\x25\x22\x8b\xe2\x4b\xef\x81\x35\xec\x4f\x41\xb3\xcb\x00\x25\x30\xcb\x89\xaf\x00\x99\xab\x64\x54\xfa\xec\x10\x1e\x4f\x30\xa5\x6a\xbd\xba\xd0\x8b\x1b\xed\xe3\xee\x3d\x22\x97\xad\x07\x0d\x12\xb4\xab\xec\x13\xee\x3e\x39\x20\x65\xc2\x13\xbe\x69\x7f\xa5\xfe\xae\x8f\x4f\xed\x85\x63\x67\xbb\xc0\x6b\x7d\x6f\x41\x60\x27\xbd\x31\x4f\xf5\xb9\xdc\x6a\x82\xac\x43\xdf\x9c\xaa\x6d\xc6\xbc\xca\x3a\xe4\xc8\x38\xf6\xc1\x69\xd0\x9b\xb1\xf5\x15\x1c\x2e\xbd\x70\xec\x42\x43\x21\x50\xd7\x10\x3d\xba\xc0\xa8\xf5\xdb\x9c\x75\xaa\xa9\x2d\x7a\x5a\x69\x51\x8d\x9a\xea\x2f\xaa\xb4\x34\x70\xe5\xa0\x69\x0f\xdb\x86\x6c\xfb\xb1\xd1\x3a\x52\x43\xae\x8f\x8d\xf6\xd8\x3e\x32\x7d\x07\x60\x1d\xbb\xf8\xed\xe9\xf7\x5f\x33\x24\xcc\xfb\xaa\xdc\xb3\x2f\x2f\xdf\xb0\x1b\xdb\x32\xfe\xc0\x9e\x9e\x5d\xc7\xd9\x12\x6b\x0a\xa7\x82\x5a\x56\x1c\x39\xd9\x20\xd9\x71\xc6\xb5\x62\xe7\xb2\xa5\x01\x7a\x9d\xd4\x52\x0f\x4b\x77\x4a\x91\x74\x1f\xe2\x3a\x5d\x32\x3e\x0f\xd3\xad\x29\xc2\xea\x47\x3b\x79\x50\xfe\x89\x40\x57\x32\x07\x9b\x09\x67\x25\x84\xd1\xaf\x63\xaa\x8d\xbd\xc9\x33\x63\x2a\xdd\x87\xd6\xa9\xc8\x83\x78\x98\x65\xf7\x34\xf2\x56\xcf\xd0\x4b\xa9\x4b\x41\x1f\xde\x58\xab\x1b\x53\xc2\x30\xe1\x92\x89\x7e\xa7\x24\x1f\x5e\xf4\xce\x2d\x3c\xc5\x50\xb4\x45\xa7\x44\xb2\xc2\x29\xea\x92\x48\x54\x1c\xd1\x93\x5e\x84\xa3\xcc\x24\x31\x3c\x11\xd7\xe2\x50\xbe\x8e\xf1\x93\x05\x30\xba\x07\x30\x21\xdf\x86\x36\x4d\x3b\xe6\x26\xbc\xad\xec\x9b\x4a\x6f\x9d\x8f\x40\x26\x85\x0f\x71\x6d\xb7\x54\x31\x55\xe3\x03\x2b\x88\xdc\x4f\xc1\x2c\x09\x05\xeb\x6d\xc2\x28\x08\x37\x61\x80\xe5\x3b\x95\xdf\x0f\x95\x57\x22\x9b\x14\x20\xcd\x72\xd3\xaa\x45\x6d\x2b\x66\xc5\x67\x21\xb6\x9a\xe1\x4c\x2b\x6d\xa7\x21\x20\xc7\x45\x06\xd9\x45\x57\x40\xde\xa2\x4b\x9f\xbd\x0b\x27\xa3\xa2\x7c\x56\xe1\xd6\x58\xd4\x34\x45\xa7\x7f\xe3\xee\x2d\x89\x44\x5b\x54\x78\x43\xa6\x28\x06\xc4\x40\x29\x6c\x2c\x4d\x3b\x8a\x1d\x1a\x29\xe3\xda\xce\x30\xf5\xcf\x53\x0f\xf3\x3e\x62\x21\x16\xcc\x63\x49\xec\xf5\x4e\xf8\x4b\x74\xf6\xc0\x5c\x6b\xd4\x6d\xf4\x17\x5c\xe7\xa5\x6b\x26\xd5\x51\x20\x47\x26\xcc\x7f\x9e\x9a\x7d\x44\x5b\xbb\xf1\xfa\xea\xe4\x58\x5d\x7e\xf5\x84\xba\x40\xc3\xac\x48\x33\x99\x03\xa4\x54\x7a\x34\x92\xee\xf0\x36\x8f\xa8\x3e\x26\x67\x20\x14\x8a\x32\x09\x07\x28\xf3\xd1\xbb\x94\x1c\xf3\xa0\x85\x71\x6f\x59\xc7\x03\x36\x77\xdb\x78\xd4\x7a\x4f\xe6\xe4\x1d\x7b\xdf\x1a\x9d\x51\xa4\xd6\x33\x8f\x43\xbd\xdd\x7e\xfa\x2d\xa5\x4a\x87\xbe\x17\x77\xe3\x9d\x67\xbf\xb4\x1a\x38\x2e\x81\xb8\x52\x54\x67\x7f\xbd\x1e\xbe\x17\xf7\x4f\xd8\xf3\xb6\x0c\x51\xae\xb3\xbf\xff\x21\xc0\x53\xca\xa5\xf3\x74\xb0\xee\x3e\xe9\xea\x80\x74\x9f\x73\xd5\x62\x4f\xfd\xc5\x9a\xc1\x45\x7f\xcd\xdd\x55\xa5\x85\x77\x9c\x69\x2e\x0e\x5c\x9d\x5d\xcb\xd6\xe6\xcf\xfb\xf6\xb4\xf0\xe2\xd6\x8e\xc1\x54\x3f\x07\xf1\xa5\xf0\xe7\x1c\xb4\x35\xd4\x2b\xfd\x77\xf6\x49\xf3\xcd\xae\xc5\x57\xb1\x15\x98\x4e\x4a\xf2\x2c\x2c\xf8\x31\x96\xfb\x08\xfc\xe2\x65\x51\xcb\x38\xa5\x72\x0d\x91\x35\x2d\x54\xd1\xa7\xb6\x68\xe0\xad\xc3\xe3\xcb\xee\x34\xc2\x7e\xf7\x10\x0e\x6f\xa5\x79\xeb\x38\xf8\x1d\x68\xee\x8e\x7b\xaf\x90\x9c\xe4\x4b\xad\x56\x33\x73\xba\x6a\x96\xc4\xba\xc7\x4f\xc1\x10\xba\x97\x0f\x15\x3b\x4c\xf8\x00\xb7\x16\x40\x2f\xfd\x7c\x52\xcd\xbd\xcf\x4a\x3e\x5d\xec\x8b\x05\x8e\xc4\xe3\xfa\xc6\x7c\x50\x72\x75\xa7\xbd\x14\x51\x4c\x33\x09\xfe\xa9\xb6\x98\xb5\xd2\xd8\xb4\xa0\x53\x6d\x11\xa7\xfd\xb4\x50\x2d\x54\x43\xd3\x57\x4c\xec\x2b\xa0\xbd\xa7\xea\x4c\xa3\x58\x23\xb8\x01\x72\x3b\x1a\xb7\xdb\x81\xdb\x8f\xf8\x0e\xfb\x72\x8f\x3d\xec\xde\xaf\x4f\xd5\x43\x7d\x17\xf7\xea\xa0\xb2\xea\xbc\x89\xd3\x4c\x6a\x74\xe1\xaf\x63\x4a\x6a\x2d\xef\x5b\xf0\xf7\x98\x1d\xd2\xe7\x96\x6b\x9d\x34\xf5\xb8\xc3\xd9\x96\x9e\x97\x3f\xaa\xcc\xe7\xfb\xa2\xcc\x0c\xd1\x4e\x23\xfd\x80\x46\x1f\x7c\x76\x0e\xbe\xa1\x48\x93\xac\x19\xa5\xde\xe2\x47\x87\x79\xee\x0d\x1e\xa5\x85\xd9\x4c\xc1\x57\xc9\xa0\xfc\x0d\x1e\xb0\x0b\xe9\xa1\xed\x9c\x01\xd4\x98\x52\x7f\x5a\xb5\x72\x3a\xba\xbc\x57\xad\x92\x5d\xde\xed\x35\x1c\x5a\x2c\x6b\x9f\xd1\x92\xf3\xd6\x87\x26\xae\xb6\xd2\x7f\xb4\x14\x2a\x73\x6f\x64\x8a\xe5\x62\x86\x92\xd7\xf8\x27\xce\x93\xaa\x18\x69\xa0\xf3\x75\x4b\xbe\xe5\x26\x90\x4a\xb6\x67\xd3\x99\x16\x5b\xca\xfa\x4d\xa9\x44\xbe\xa5\x9d\x14\x5c\x91\x85\x70\x59\x45\xaa\xe7\x7a\x53\xa6\x95\x22\x25\xe9\xf2\x5e\xc5\xe7\x95\xc5\x72\xf4\x14\xd3\xa6\xc9\x50\x1e\xc6\xb2\xe4\x22\x95\xba\x92\x79\xef\x61\xd8\xab\x49\x90\xfd\xb2\x54\x68\x14\xb7\xe6\xa3\xd6\x45\x7f\x43\x9f\x50\x22\x31\xf2\x54\x14\x27\x4c\xed\xf8\x78\x1a\x6b\xcc\xfb\xad\x62\xde\x34\x1b\xc6\xc2\xcc\xaf\x0b\x91\xc4\xe5\xc0\x31\x38\xcd\x5f\x8e\x8f\xae\xa6\x27\xb3\x6f\xbc\xd7\xd3\xc9\xd5\x85\x09\xd3\xf4\xea\x62\xe2\x1d\x8f\xbd\xcb\xf1\xeb\xab\xe9\xe8\xfc\xe1\x9f\x0d\xf1\x2c\x18\x00\x70\x72\x34\xee\x93\x14\x11\x81\x42\xa3\x87\x7f\x36\xe4\x1b\x94\x20\x4d\x6e\xf9\xc5\x6b\x5b\xe3\xce\xc2\x53\xcd\xef\xda\xc1\x5d\x8c\x8e\x4c\xd5\xaf\xf8\x9d\xb9\x59\x9f\x31\x99\x78\x63\x68\x63\x1e\x12\x86\xe7\x96\x24\xd2\x09\xd6\xf1\xf8\xed\xf8\x74\x72\x61\x4c\x11\x79\x3c\xbe\x1c\x9f\xbf\x9d\x9c\xbe\x1d\xbb\xd3\xe7\x90\x74\xf2\xe8\x44\xad\x81\x6e\x78\xa6\xa9\x93\x2d\x4d\x33\x76\xf9\x46\x06\xcc\x6d\x65\x69\xc1\xe6\x32\x17\x53\xbd\x42\x6a\x3f\x9b\x0a\x2c\xab\x23\x53\x66\xd2\x8b\x93\xd3\x37\xa6\xfd\x84\x0c\xf8\x29\x4d\x09\xa3\xef\xf2\x34\x93\x5a\x71\x91\x02\x76\xff\xd3\xf9\xcd\x5d\xaa\x2b\x9d\x2b\x1b\xbc\x2c\x6e\x66\x26\x66\x57\x4d\x95\x0c\x94\xa8\x6b\xe3\xf5\x42\x1e\x7c\x8e\xa9\x36\xda\x92\x28\xb7\x81\xeb\x8c\xbb\x72\x20\x09\x9e\x51\x85\xfe\xeb\x55\x47\x7d\xc3\xd7\x8e\x44\xb5\x00\x34\xd0\xb6\x14\xf3\x22\x39\xb8\xf7\x02\xe3\x23\x51\xb1\xe4\xe1\xe9\x42\xe9\xd0\xd2\xf7\xe1\xfa\x33\x63\xcc\x18\x36\x0f\xb1\x52\xa2\x96\x64\xfb\x05\x66\x37\x4b\xd8\x8c\x20\xe0\xd4\x43\x40\x9c\xa3\x60\x11\x61\xd2\xe0\xcf\x8c\x53\xc7\xb4\xf0\xba\xdf\x85\x94\xfa\xd2\xdd\x9e\x22\xaa\xe6\x49\x23\x39\xe0\x7f\xa8\xc8\xfd\xa1\xf7\xc5\xe7\x9f\x7f\x39\xf0\x56\xaa\x32\xa5\x4c\x61\x85\x25\xa1\x34\xef\xeb\x1b\x31\xf7\x73\x4e\x58\x52\x24\x6f\x5d\x6b\xd9\x30\xcd\xfe\x4c\xe3\x24\xa9\x14\xec\x1c\xa8\x0a\xf6\xe4\x9a\x0d\x2f\x4b\x0a\x54\xbd\xcb\xa8\x91\x1f\x4b\xab\x20\xd5\xee\xdb\x0d\x17\x39\x2e\x23\x58\x78\x3d\x72\x3d\x70\x9f\xca\x58\xa3\x3c\xe5\xe4\x4c\x55\x1d\x25\x79\xe3\xe7\x61\xfa\xed\xe7\xbf\x69\x8c\x1b\x3e\x2a\x06\xee\x1b\x4a\x37\xc7\xd9\x9a\xfc\x3c\xbb\x8b\x93\xf0\x07\x4e\x87\xb1\x96\x49\xd9\xe8\x82\x5f\xa4\x56\xe1\xc2\x6a\xdb\x8c\x1a\xd3\x25\x49\x6a\x1b\x4d\xa6\x4b\x0d\xe7\x26\x9e\x3f\xfc\xa9\x92\x1d\x37\xcf\x90\x38\x19\xf1\xa5\xf2\xb9\x15\x25\xd2\x8a\x6c\x2d\x86\xdc\x3f\xf6\x41\x3a\xf4\x46\x1c\x15\x48\xe2\x5d\x44\x75\x91\x68\x6c\xa8\x1e\x7b\xc6\x29\xcd\xd7\x49\xb8\x09\x97\x42\x06\x88\x33\x09\x82\xc5\xeb\xae\x2c\x56\x8e\x03\x73\x58\xd6\x72\xc3\x5c\x2e\x91\x58\xb0\x1e\xfc\x6d\x39\x18\x70\xff\x97\x84\x3c\xfc\x71\x11\xc6\x4a\xfa\x56\xe3\x41\x95\xcf\xed\xa9\xad\x2c\x23\x81\x97\xe2\x24\xb9\xa4\x47\x47\xf0\xe4\xa7\x9f\xaa\xab\x87\xdf\x8f\x2e\x4e\xb0\x43\x89\xfa\x62\xa5\xd5\x87\x85\x17\x95\xc0\xb1\x5d\x06\xa4\x8d\x9a\xc6\xc2\x31\x91\xa4\x95\xa1\x6d\xd0\x64\x1c\x16\xbc\x9c\x92\x15\x75\x46\x16\x55\x68\x7b\xea\xdf\x88\x25\xf3\x73\x95\x62\xa1\x71\x82\x99\x13\xf5\xb0\x61\x16\x65\x97\x1c\xd5\x49\xa1\xe6\x6e\xa1\x5f\x4c\xdb\x91\x74\xa7\x66\x56\x24\x7f\x55\xf8\xad\xb5\x46\x31\x9b\xe9\x6b\x77\x4c\x6b\xc6\x33\x77\xe0\x57\x37\x6a\xc5\x63\x89\xdf\xaa\xc2\x05\xc6\xab\xbc\xe1\xa2\x1e\x15\xe5\xc3\xaa\x05\x0a\xec\x91\x13\x97\xdd\x81\x83\x5d\x97\xf6\x13\xd7\xd8\xc0\xc8\xa5\x4c\x53\x1b\x41\xad\x0a\x08\xe7\x2c\xde\x3d\x15\x1b\x3d\xe6\x4f\xd1\x78\xd8\x70\xd4\xeb\x35\x54\x2d\xcd\xad\x68\x4d\xb5\x77\x5a\x32\x67\xee\x41\x73\xe4\x56\x7f\xa7\x91\x67\xb3\x77\x01\x9e\x8e\xb1\x2e\x82\x43\xab\xbd\x7c\x17\xcd\x4e\x2e\x0e\xbd\x93\x5b\x4c\x50\x46\x27\x72\x96\xdc\x93\x36\x3a\x96\xd1\xa5\xbe\xb7\xf9\xa2\x11\x62\x3a\xa0\xcf\xa9\xb4\x29\xca\x3e\x78\x56\x0f\xd7\x64\xef\xb0\x64\x83\x6f\x89\x23\xd5\xba\xfd\x2e\x3a\x3e\x39\x1a\x1d\x82\xa4\x2f\xcf\x60\x15\x71\x8d\x1c\x8c\xae\x2d\x32\x22\xd5\x54\x1e\x68\xf3\xc5\x00\x1e\x40\x0b\x38\xb4\x2b\x22\x50\xd5\xa5\x66\xb8\x76\x1d\xa9\xae\x8d\x3b\x31\x75\xc8\x75\x8f\x36\xdc\x53\x5d\xf9\xa7\xd9\xc1\xd5\x79\xf3\xe9\x9b\xc6\xe5\xe4\xbc\x6c\xd9\x6c\xee\xa7\x9b\x31\x87\xbb\x1a\x38\x7b\x6b\xb3\xec\x2f\x9b\x1b\xe5\xf8\xac\x1e\xb7\xc7\x96\x45\x9b\x2b\xdb\x91\x5e\x80\xd5\x14\x7e\x56\x64\x71\x36\xb9\xba\x21\x6a\x95\x1f\x85\xd6\x83\x38\xc0\x5d\x76\x3a\x39\x1a\x9d\x8e\xf1\xc0\x7a\x7e\x74\x3a\x1e\x4d\x9f\x0f\xf0\x82\xb2\x09\xe3\x5c\xd6\xb7\x12\x2c\x0a\x62\xde\x00\xa3\x58\xa7\x51\x18\x17\x92\x89\x4c\x7c\x42\x95\x54\x82\x10\x24\xb1\x03\xdc\x4a\x12\x1f\x76\xba\x40\x18\xeb\xd2\x0c\x7f\x0b\x23\x02\x77\xa3\x90\x39\x1e\x29\xdc\xe7\xcb\xfc\xe1\x17\x8b\x2c\x97\x49\xaf\xac\x6b\xca\x99\x7c\x9d\xdd\xaf\xa5\xc3\x1b\x8a\xa8\x9c\xab\xf5\x39\x3a\xc9\x72\xe9\xed\x08\xee\x5f\xa6\xd2\x58\x47\xe6\xbd\xda\x44\x41\x6a\x06\x05\x38\x57\x80\x8d\x34\x02\xee\x4d\x28\x3e\x94\xf9\x4b\x43\x8c\x55\x75\x18\xd6\x1c\xda\xa5\xb9\x4c\x33\x4c\xe1\xa9\x3e\x65\xb5\xeb\xca\x4d\x5a\x41\x7a\x57\x16\xe9\xaa\x14\xe1\xec\x8b\xbf\xa5\xe4\x66\xdc\x2c\xd9\x65\x24\x48\xe6\x92\xd2\x83\x66\x89\x73\x8c\xe5\x9f\x36\xa5\x51\x41\x13\x9b\x75\x9b\xe5\x8c\x57\x2d\xa0\xac\x84\x54\x36\x23\x26\x30\x2b\xc2\x38\xa9\x34\x92\x7c\xf2\xd6\x5f\xe6\x82\x93\xab\x35\xeb\xd3\x3e\x9a\x8a\xac\xd2\x5b\xd3\xd6\xaf\xd1\xcc\x2b\xb2\x46\xb5\xa1\x38\xee\x53\x29\xd7\x78\xa4\xbf\x6f\x4b\x34\x24\xd3\xcf\xb4\x44\x13\xb8\x98\x90\x6b\x03\xd4\x96\x8e\x48\x4a\x2f\x0e\x31\x03\x0e\xd6\x63\xd5\x95\xbd\x78\x28\xd4\xd6\xf2\x7e\x5c\x14\x14\x85\x8f\xee\x9f\x50\xa5\xfe\xc9\x1c\x14\x6c\xfd\xdb\xab\x77\xc2\x6e\xfd\xdb\xd6\x3d\xe1\xf2\x0e\x65\x5e\x9f\x54\x1b\x3e\x5b\x12\xd9\x5e\x49\xfe\xc6\x16\x4d\xdd\x51\xbc\xa2\xc4\xe8\xcb\x3b\xf6\x79\x2f\x4c\x90\x04\x49\x66\x97\x75\x8c\x4a\x44\x22\x58\x34\x27\xe4\x75\xb7\x06\x99\x7a\x6f\x87\x4d\x5b\x90\xca\x2b\xbf\xa0\xb5\x8e\x69\x4e\x29\x07\xf6\xb4\x75\xef\xe2\x0f\x65\x0e\xc1\xaa\x0f\x97\x81\xd0\xb3\x38\xcd\x64\x71\x39\x99\x29\xd0\xb9\xf8\x2c\x63\x5b\x2e\x6b\x25\x01\x3b\x85\x3d\x85\x32\x53\x5e\x90\x86\xf5\xd5\x91\x9d\x82\xd0\xdf\x89\x65\x17\x1a\xff\xbb\xdc\x78\x29\x40\x10\x32\xa7\x17\x59\xb2\x88\x76\xe9\xfa\xf9\xc2\x2f\x7d\x40\x71\xb1\x8a\x21\x06\x54\x66\x9c\xf6\x96\x2b\x36\x0e\xa0\xb1\xca\xde\x87\x2b\x17\x3d\x7d\x98\x77\xca\xd7\x5c\x5d\x0d\x5e\x01\x5b\xa2\xf4\x87\xa6\x8c\x7d\x8a\xd8\x6a\x82\xb1\x80\x15\xec\xec\x13\xfa\xa2\xfc\xf9\xf0\x47\x4a\x5c\x23\xcb\x38\xea\x49\x73\xd7\xc9\xc3\x1f\x87\xb0\x8d\x01\x1a\xc9\x92\x92\xc2\x10\x17\xa1\xd6\x84\x28\x25\x57\xfa\xe5\xa0\x74\xcf\x2c\x35\xad\x44\xa9\x79\xc8\x54\x32\xb5\x7e\x9d\x71\xdc\x97\x12\x3e\x2a\x96\x52\x4c\x3e\x8b\xea\xfd\xae\xc5\x2b\xf5\x45\x2d\xce\xf1\x98\x85\x52\xe9\xe3\x2d\x18\x29\xf3\x56\x20\x32\x3f\x5c\xca\x15\xac\xd7\x60\xa8\x5f\xc5\x3b\xc8\x41\x38\xcb\x3b\x9e\x3f\x04\x2c\xbe\x93\x11\x0b\x72\x3e\xdb\x6e\xd2\x9d\xa5\x19\x88\x4c\x16\x2f\xfa\x0f\x3d\x27\x6a\xb4\x00\xc6\x6c\x4e\x51\xc6\xe1\x18\x1b\x3c\x6f\x3a\xe0\xd3\x47\xec\x11\x89\x7b\x55\xc5\x60\x58\x30\x34\xd4\x3a\xdb\x2c\xa0\x3e\x21\xf6\x15\xac\xa8\x7f\xda\x06\x61\x43\x93\x64\xc3\xc5\x0e\xf2\xbd\xb1\x74\xb8\xba\x6a\xb0\xb7\x9d\x7e\x29\x35\x96\xe6\xa8\x4e\x4c\x5b\xee\xbe\x58\xb7\x77\x39\xec\x3b\xe4\x95\x45\x30\x14\xdd\xc4\x39\x18\xed\x69\xae\x1e\xdc\x81\x88\xa8\x26\xdb\x3c\x45\x51\x7d\x42\x0b\xbd\x1c\x91\x66\xec\xd5\x7e\x6e\x64\x2e\x82\x4b\x39\x26\xf6\x60\xab\x7d\x8e\x8e\x8b\x64\xf3\x3e\x5c\xcb\x04\xb2\x2a\xfd\x00\x99\x7d\xb3\xd8\x96\xad\xe9\x84\x4d\xce\x5e\x33\x6f\xad\x39\x77\x93\xbc\x46\x76\x98\x20\x90\x9c\x3b\x18\x2a\x62\x2c\x94\x56\xcf\x16\x87\x5b\xd2\xc1\x9f\x16\x55\xdf\x24\x7b\x89\x09\x96\x05\x55\xa5\xc4\x9c\xbc\x09\xa0\x2e\x40\x69\x17\x0e\x3c\x2c\x85\x0c\xcc\x38\x5e\xc1\x74\x05\x22\xf8\xab\x6e\x4a\xaa\x15\xe8\x1a\x7a\x06\x59\x6f\x87\x60\x02\x48\x10\xaf\xff\xca\x40\xa0\x45\xbd\x32\xb6\xb2\x1b\x5a\xa9\x8f\x98\xb3\x59\x33\xbf\xff\xd8\x2f\x7d\xb3\x46\x9a\x49\x0f\x7a\x54\xc5\x60\xd2\x86\x72\xd9\xf8\xed\x8b\xec\xca\x11\xdc\xbe\x72\xcf\x65\x2b\x3f\x70\x19\xd4\x89\x69\xdf\x3a\x8d\x9e\x69\xdc\xc6\x1d\xe3\x85\x8e\xa1\x5c\x02\x4b\x16\x22\x24\x79\x9b\xf2\x44\x03\x04\x52\xe8\xd2\x2b\xf2\x01\x51\x3e\xac\x83\x22\x9f\x38\x7f\x8e\x66\x7a\x99\x59\x1a\x4b\x05\xc9\x13\xe6\x43\x9c\x50\x22\xc4\xa2\xd0\x82\xb9\x12\x15\x03\xc6\x41\x07\xa9\x79\x5e\x2d\x75\x88\x89\xa6\xcb\x7a\xa7\x2c\x79\x93\xe2\x37\x2e\xbe\x94\x86\xcd\xa4\xe2\xe9\x8a\x5a\x60\x55\xae\xa2\x20\x97\x75\xbf\x9c\xbb\xba\x56\xa7\x41\x2b\x41\x87\xd9\x11\x75\x76\x6c\xe2\x92\x74\x5f\x61\x9e\xf8\xb4\xf7\x97\x0b\xba\x97\x70\x92\x6e\xae\x94\xf2\x2b\xb9\xae\x48\x75\xc9\x63\xf8\x03\xeb\xfa\x0f\xd3\x72\xee\x8e\xe2\x3f\x71\x88\xe1\x97\x60\xe0\xd8\xc5\xb2\xf1\x71\x9e\xbd\x8b\xa4\x11\x71\xa4\xb9\x61\x92\x69\xf0\x86\x83\x01\x85\x5e\x8a\x25\x09\x17\x77\x19\x4a\x64\x70\x4e\xa0\x01\x13\xb6\x3e\x1e\x22\x77\x7e\x12\xa0\xb3\x87\x52\x35\xe1\x07\x5c\x86\x09\xff\xfa\xdf\x31\xe1\x78\xab\x9a\xc9\xb4\x6b\x66\x38\x1e\x68\x31\x0c\xf9\xf2\x1e\x46\x0f\xbf\xcc\x43\x59\x15\x78\x8d\x24\xb3\xb5\x71\x52\x65\x5f\x1b\x4a\xf4\x8c\xd3\x98\xe1\xd1\x85\x53\x0f\xf2\x04\x95\xc7\xe0\x52\xa8\x99\x7f\xe0\x8d\x57\x70\x60\xfd\xc0\x9c\x3d\x90\xa5\x77\x30\x7d\x08\x5c\xae\x60\x2a\x78\x93\xc8\x46\xdc\x05\x93\x26\x99\xba\x65\xde\x3e\x58\x23\x28\x2a\x6b\x20\x15\xe3\x8c\x20\x51\xe1\x7c\xc4\xce\x3f\x4a\x4b\xbe\x8a\x13\xa1\x2b\x10\x8c\x73\xcc\x23\xb1\xf2\x97\x58\xfc\x28\x08\x83\xb8\x1c\x8e\x16\xd0\x2c\x83\xdc\xa0\xeb\x1c\x55\x0b\xa9\x88\xf3\x16\xda\x45\xc0\xa6\x42\xfe\x6d\x31\xe9\x87\x14\x66\x57\xfb\xd8\x0c\xf7\x49\x7d\x66\x4f\x8a\x4c\x12\x9f\x4c\x0e\xc7\x3e\xe7\x6b\xe5\xe9\x35\x60\x7b\x3b\x2c\xcb\x1c\xa3\x23\xa9\x1e\x02\x3f\x50\xc6\x46\x4e\xd6\x21\x3f\x37\x6b\x04\xa9\x53\xb4\x31\x2a\x65\xb3\x07\xba\xe9\x9c\x28\x05\x44\xf2\xb4\x41\xf1\xab\x78\x27\x45\x53\xe9\xf2\xa5\xc0\xd8\x6b\x3d\xa1\x4b\x95\xd1\x1d\xdb\x92\xcf\xe2\xb2\x74\xcc\x22\x10\x66\x23\x75\xf3\x43\x03\xc0\x78\x6d\xe7\x84\x17\x7e\xd2\xc9\x07\xe3\xf5\xfa\x49\x17\x23\xd2\xf4\x49\x97\x22\x1d\xc4\x43\xe9\x2a\x16\x98\xce\xaa\x57\xd2\x7f\xaa\x28\xb4\x44\xe7\xa6\xe1\x50\x9a\x9d\x9c\x8d\x27\x57\xa6\xba\xe8\xb3\xf1\x19\x07\xa7\x8c\x2f\x2f\xc6\x53\x83\x23\x3d\xf2\x44\x63\xf5\x04\x62\x6b\xa6\xea\x07\xdc\x12\xfe\xbe\x42\xb6\x77\xf4\xea\xfa\x7c\x74\x36\x96\xc2\xda\x10\xaf\x72\x43\xe5\x4c\x36\x54\x19\x29\xb8\xfa\xf1\x7b\x56\x4a\x14\xaf\x95\x6a\x27\xd5\x8a\xfe\xc1\x87\x47\xaf\x48\x1c\xb0\x93\xd6\x0f\x3d\x57\x0b\xa6\x02\x80\xe1\x4d\xc8\xe6\xe1\x52\x71\xa7\x5c\xd7\x50\x9a\xd1\x7d\xd7\xa4\xb4\x88\x25\x6f\x8e\x5e\x99\xc7\xc2\x3b\x92\x75\x88\x28\x5c\x8b\x5c\x73\xe1\x48\xbf\x67\xaf\x53\x59\x93\x48\xd9\xb4\xb4\xdb\x42\x0a\xc7\x54\x16\x52\xac\xf6\x3d\xb9\x10\xc9\xe2\xff\x66\x07\x06\x3e\x6c\x46\xa9\x56\x9c\x88\xa4\x54\x19\xbe\xc5\x47\x32\x29\xe4\xb5\xe3\x39\xad\x19\xb1\x8a\x1a\x46\xf0\x19\x5c\x45\x48\x16\x4b\x51\xbd\x09\xf8\x43\x79\xaa\x98\x92\x15\xd4\x9d\x9e\x6e\xc4\x1d\xc8\x79\xe8\x2e\x0d\x22\xef\x07\x4a\x32\x4d\xa5\x39\x40\x34\x4c\x28\xbd\x0f\xd5\xa2\x86\xe9\xf8\x78\x3f\xe0\xdb\x2a\x67\x71\xb8\xcb\xb2\x75\x7a\x4d\xcf\xdb\xad\x60\xe4\xa3\x9b\xa0\x88\xbf\xc4\xc4\xe2\x58\x87\x6b\x99\x8a\x81\xac\x34\x4d\x45\x21\x23\x91\xe1\x65\x00\x19\x2f\x4c\x1e\x5d\x2c\xac\xc3\x96\xd6\x1d\xa4\xd6\x18\xcd\xb6\x50\x85\xd6\x80\x67\x15\x9d\x40\xdf\x61\x58\x0f\x29\xe9\x81\xf1\x0d\x53\x8a\x9d\x91\xdd\x08\x79\xd4\x8c\x22\x4a\xa5\x83\xe4\x0f\xad\xc5\xd6\x29\x91\x88\x0b\x84\x79\x47\x7e\xca\xb1\x33\x24\x87\xc6\x15\x0c\x39\x7e\x1c\x89\x8f\x45\x52\xa3\xc0\xe4\x9f\x44\x53\x73\x1e\x4b\x7e\xa9\xfc\x27\x06\xa5\x68\x72\xcb\xe9\x77\x35\x11\x05\xab\xf8\xc8\x3b\xac\xd5\xc1\x82\xc7\xef\x5c\x44\x77\x5a\xd4\x42\xe1\x3f\x61\x45\x21\xab\x74\xd3\xa7\xdd\x39\x50\xa9\x0f\x57\x12\xda\xe8\xe2\xa4\x4a\x2b\x0e\x51\x18\xe5\xa2\xb0\x32\xc2\x45\x1c\xcd\x63\x55\x35\x8a\xb5\x0f\xed\xb0\x89\x48\x09\x9d\x8f\x6f\xa4\xb4\xee\xb3\x81\xd8\x60\xfe\x5c\x48\x3f\x7a\x55\x40\xaf\x9c\x37\xd4\x0d\x01\xb2\x29\xd0\x4c\x6b\xb8\xe2\xd4\x51\x54\x33\x43\x3e\x29\x6e\x6f\x61\x51\x3b\x75\xc6\x8c\x8d\xd9\x57\xca\x46\xc0\x04\xb8\x21\xf6\x05\xd7\x95\xaf\xb3\x90\x80\xd7\x59\xfb\x42\xc6\x22\xc4\xc8\x3f\x40\x76\x0f\x17\xa6\x72\x74\xb5\xce\xcb\xcc\x71\x35\x39\xdb\x8f\x54\x68\x31\x31\xd4\xc7\x19\x89\x26\x6a\x1a\x83\xef\x73\x10\xc1\xa1\xe3\x7c\xcf\xe4\xe8\x63\xe5\x8b\xff\xe4\xe3\x53\x59\xd4\xfb\x1f\x83\x5a\xd7\x9f\xaa\x7b\x25\x13\xb8\x5a\x07\x70\x12\x17\xe9\x68\xab\xfd\xcd\xe9\x25\x47\x61\x74\xa5\x95\xae\xdd\xad\x2c\x80\xb9\xa7\x99\x72\xfc\xa2\xa8\x8a\x8e\x44\xd4\xb3\xc9\x6c\x74\x7a\x7d\x36\x3e\x9b\x4c\xbf\x31\x89\x51\xfa\x27\xed\x40\xfc\x05\x8b\xcd\xf8\xc3\x28\x5e\xd7\xbf\x32\x80\x02\x51\x00\x3d\xdd\x34\x53\xde\x32\x5e\x38\xd8\xe2\xb9\x65\x0e\x17\x59\xb6\xe5\x50\xab\xd2\xa8\x67\xb7\xc0\xcf\x74\x47\x3b\x5d\xfa\x35\x8a\x86\x93\x5a\x99\x04\x3e\x06\xfc\x7a\x63\x3b\xb6\x36\xa9\xde\x88\x71\x5c\x3f\x72\x9a\x0d\xdb\xb1\xa9\x02\xa8\x15\xaf\x22\x3d\xea\xb5\x88\x84\xf0\x33\x2d\xbb\x14\x88\x34\xe2\x23\x49\x32\x6c\xe8\xcc\x30\x69\x8e\x2c\x3f\x59\x98\x3e\xa5\x06\x5f\x87\x56\x66\xd5\xf9\xff\xd8\xfb\x96\xde\x38\x92\xe4\xfe\xfb\xff\x53\x14\xfe\xc0\x42\x02\x4c\x72\x1e\xd8\x93\x74\x58\x70\x29\x89\x4b\x43\x22\xb9\x7c\x68\xb1\xb3\x1a\x68\x8b\x5d\x45\x76\xcd\x74\x57\xf5\x54\x76\x91\xe2\x08\x73\x30\x7c\xf0\xe7\x18\xdf\x6c\xc0\xa7\xf1\x69\xaf\xfc\x62\x8e\x57\x66\x65\x56\x55\x64\x55\x37\xa5\x19\x18\x30\x0c\xdb\x23\x76\x65\x44\xe4\x3b\x32\x1e\xbf\x00\xb1\x98\x8a\xa6\xeb\x4b\xb8\x66\xb7\xc6\x51\x60\x15\xee\x15\xbe\x7d\xf8\xaf\x32\x43\x47\xa8\x6f\x90\x4c\x9c\x37\xb6\x90\xc0\x5b\x2c\x3d\xaa\x13\x65\x90\x27\x2e\xa9\x2f\xf4\x94\xc1\x83\x7e\x90\x99\xf1\xa3\xad\x0b\xfd\x92\x6d\x75\x70\x38\x0d\x5a\xa0\x41\x9b\xcd\x72\xc6\xdd\x92\xd2\x2d\xad\x8d\x56\x5f\x4c\xce\x9a\xaa\xb3\x69\x4d\xd5\x1d\xe3\x6a\x5b\xe1\x65\x4f\x5d\x02\x94\x36\x98\x51\x5a\x73\x72\x37\x2f\x66\x3c\x41\xee\x6c\x30\xa4\xc6\x92\x56\x09\xab\x32\x6b\xea\x10\xd3\x1b\x93\xd8\x76\x33\x58\xb1\xb1\x34\xba\x7d\xe2\x40\x87\x24\xa5\x07\x1a\x9f\x3c\x21\x3b\x5a\x3f\x0d\x05\x65\x61\x3c\x0e\x2d\x27\xa2\xcb\x93\x8b\x7c\x96\x0f\x3f\x63\xc6\x11\x55\xda\x19\x39\xba\xe6\x1c\x93\xe0\x83\x76\x70\x95\xbc\xc2\x45\x6a\x23\x24\x5a\x7d\xa3\xbb\x05\xb8\x3a\x58\x0b\xc8\x41\x69\x6c\x9c\x07\x49\x87\xa9\x0b\xec\xf1\xde\xc7\xaa\xe1\x6a\x82\x40\x5c\x18\x53\x0d\x0b\x1b\x17\x08\x2f\xf6\x29\xc1\x27\x43\xb2\xc0\x6e\x7b\xe4\xf0\x20\x85\x4f\x3c\x40\x3d\xa1\x36\x1e\xa2\xbe\x50\x9b\x0c\x52\xad\x02\xc0\xc0\x56\x81\x4b\x77\x4f\xcc\xa6\xfc\xb8\xe5\x67\x1b\xdc\x30\xe8\xbd\xe0\x93\x6e\x17\x9e\x77\x27\xe7\x17\xf4\xfa\xc6\x07\x14\xdc\xb9\xbb\xbb\x64\x6a\x59\xee\x32\x71\xb8\xef\x6f\xf2\x32\xaf\xdb\xe3\x93\xff\x4e\x05\x9b\xe7\x70\xd2\x52\x6d\xd9\x68\xd9\x66\x1d\x42\x06\x61\x9d\x4d\xb5\x67\x4d\xb0\x6f\x1a\x74\x03\x27\xa5\x40\x61\x93\x63\x17\x0f\xbb\x40\xca\x66\x48\x4a\x1a\xb9\x1b\x87\x24\x4b\xe7\x27\x31\x85\xf7\x66\xbe\xa4\x10\xba\x22\x4b\x77\xe8\xa1\x9a\xb7\x25\x71\xc7\x4a\x3c\x5f\xf8\x61\xec\xfe\x0b\x05\xc4\x6a\x16\x19\x03\x13\xe1\x93\x2e\x85\xe3\x47\x7d\xf2\x9f\xf4\xde\x21\xed\x2d\x48\x6f\xff\xd5\xc3\x7f\x0b\x2a\x1f\xb9\x7d\x0a\x35\xf7\x00\xe4\xc1\x37\x39\x25\x0f\xbb\xcb\xd0\x5e\x67\x12\x9b\x5a\x50\x81\x5f\x4d\x16\x72\x26\xcf\x69\xe1\xd9\xdb\xa5\x6b\x5c\xc8\x48\xf5\x22\x1a\x23\x42\xac\x2b\xf2\xa0\xdd\x4b\xb5\x5c\x7a\x10\x08\xd0\xe3\x0e\xac\x74\x2a\xf1\x4d\xa9\x0b\x05\x3b\x40\x70\xdd\x69\x82\xfd\x09\x64\x5a\x36\x05\x82\xdb\x50\xbd\x5b\x2e\x3a\x06\x63\x42\xc2\x15\x57\x08\xbf\xb8\x03\xd4\x6f\xd0\xab\xc1\x6b\x24\x2a\x1f\x0e\x43\x29\x99\xb4\x92\x57\xed\x15\x5f\x43\x97\x0c\x2a\xa4\x88\xf8\x4d\x8b\xf2\xc9\x33\x0d\x14\x1c\x05\xc3\x47\x2f\xa6\xcf\xa6\x95\x9f\x06\x1d\xd6\xfe\x07\x39\x7b\x14\x3f\xa9\x7c\x9c\x56\x5b\xd5\xa8\x2c\xa1\x22\x5a\xac\x54\x6d\xf5\x11\x32\x0f\x72\x51\xfa\xd1\x66\x61\xab\x5a\xdf\xda\xa5\x46\x8f\x13\xb1\x46\x27\x76\xcd\x23\x9c\x12\x8e\x08\xc5\x40\xfc\x15\xdf\x56\x6e\x27\xba\x5d\x28\x05\x64\xb1\x80\xbc\xe4\xc1\x0a\x0e\xbd\xee\x51\x6e\x05\xe2\xb1\xc6\x41\x91\xec\x96\x33\x44\x46\x62\xbf\x6e\x72\x9e\x37\xc1\xae\x15\xdf\x3e\x57\x9a\x4d\xb9\x2c\xea\x22\x0d\x92\xe5\x09\xaa\x3e\x55\x17\x65\x8b\x08\x85\x60\xa6\x18\x7b\x8d\xa9\xfd\x75\x65\x8c\xbb\xca\xf0\x20\xc4\xf4\x27\xda\xd5\x6b\x36\x45\xd6\x5e\xf1\xb7\x16\xfc\x91\xab\xd4\xee\xd0\x29\x4c\x9f\x91\x61\x16\xb7\x22\xda\xc7\x45\x89\x6d\x39\x36\x25\x1d\x51\xe4\x35\x7c\x57\xee\xf3\x63\x35\xb1\xaf\xd6\xe4\x2e\x2d\xc5\x8f\xe2\x6a\xb6\x0e\xc7\x63\xff\x41\xdb\x24\x54\x61\xdf\xc5\x56\x5b\x6b\x99\x8b\xbd\x46\x1d\x17\x5f\xa1\xda\x8d\x0b\x42\xbd\xe4\xb4\xab\xdd\x45\x25\x5d\x46\x7f\xbc\xfb\x9c\x51\xaf\x2c\x30\x25\x1e\x59\xf0\x5b\x5d\xa6\xf8\xd1\x0f\xf0\x64\xb4\x76\x01\xba\x2e\xf2\x40\x18\xff\x86\xc5\xfb\x10\xd6\x3c\x56\xdd\xcc\x7f\x4c\xed\x53\x1a\xe6\x36\xff\x2e\xf5\xea\xcc\x6a\x41\xe2\x7f\x50\x77\x34\x4e\xa9\x84\x38\x62\x22\x63\xf9\x64\x4d\x78\xb5\x15\xba\xa3\x24\x64\x02\x4f\xe7\xef\xf3\x7b\x13\x5d\x9a\x61\x4a\x36\x90\x20\xf7\x6b\x10\xeb\x90\x73\xb4\x92\x6a\xde\x25\x59\xe8\x69\x66\x75\x81\x79\x4a\x67\x0d\x87\x6d\xb9\x87\x1b\x05\x31\x46\x85\xb1\x66\x42\xbc\xaf\x11\x62\xa3\x29\xe8\x72\xed\xc6\xf4\xb8\x62\xe0\x31\x89\x68\x91\x32\x34\x88\x45\x2d\x67\x0f\x1e\x5a\xcb\xf7\x12\x75\x49\x72\x34\xa2\x6f\x12\xd3\xca\xb7\x1e\x11\x84\x43\xca\x29\xb0\xa2\xc6\x13\x1f\x9a\xdc\xd6\x2e\xbe\x97\x44\x96\x00\xc5\x1f\xd6\x1d\x7e\xc3\xbd\xe2\x08\x00\x56\x45\xcd\x7d\x39\x63\x3b\xb9\x2d\xee\x39\xc5\x37\x4f\x4a\x4b\xa7\xce\x26\xc8\x43\x74\x52\x5c\xb1\x25\x1c\x0f\xa5\x06\xb1\x06\x27\xb3\x18\x56\xd2\x2c\xdb\xe5\xe7\xda\x2e\x1e\x88\x4f\x78\x64\x6f\xf0\xb5\x55\x0b\x96\xc8\x4a\x8b\x54\x7d\x01\xcf\x15\x8d\x8c\x78\x3e\x91\x10\xe7\x5b\x8e\xd7\x26\xb9\x80\xb5\xb1\x48\xde\xc0\x06\x56\x6b\x7d\xf2\x27\xd0\xcf\x65\xbe\x44\x4a\x4a\x38\x34\x7f\x96\x2e\xab\x86\x0b\xee\x2f\x89\x66\xf2\x34\xdf\xbb\xd9\x4b\xbe\xfa\xf2\xeb\xdf\xbf\xd9\x49\xbe\x3a\x84\xff\xfd\xf2\x50\x0b\x86\xf9\x73\x43\xef\x7e\x18\x8e\x0e\xc7\xe4\x29\x6a\x80\x70\x2b\x2e\x57\x8b\x6a\x87\xa8\x25\x48\x2e\x21\x7a\xc9\xa1\x12\xc4\xa2\x88\x64\x81\x84\x30\x3e\x87\xe2\x08\x3f\x8d\x8c\x12\xf4\xd4\x06\xf2\x72\xd1\xce\x47\xc9\x5e\x36\xcb\x2b\x84\xd8\x0e\x2b\x4d\x38\x05\x72\x2f\xd9\xfd\x0a\x27\x19\x1d\xeb\x98\xeb\x94\xe2\xcd\xc1\x8b\x35\x93\x7e\x6b\x07\xc6\x67\xe6\x9a\x3c\x7d\xc1\x3e\xfe\x67\xed\x6f\xda\x90\x1e\x3f\xfc\x63\x99\xd7\x55\x3b\xa4\xbe\xaa\x1b\x58\x52\x42\xce\x0c\x87\xf6\x83\x4c\x48\x41\x5c\x08\x26\xfc\xe9\x29\x7b\xf6\x9f\xb9\x3f\x56\x13\x47\xb9\x8e\x41\x49\xf6\xe4\xac\x75\x6c\xc9\x2e\xe1\x6e\x14\xff\x64\x1e\xc1\x58\x8c\x85\xd3\x5f\xd4\xb8\xae\xa7\x9c\x6b\x67\x29\x9c\x11\x58\x8c\x6e\xf8\x38\x1b\x26\x7f\xb9\xbf\xdf\xaa\x72\xcb\xc2\x60\xbe\x14\x97\x83\x64\x47\x1b\xd9\xae\xd4\x83\x54\x74\x33\x24\x82\xd7\x8a\xc0\x5c\x5a\x53\x54\xd6\x02\x6e\xc6\x1e\xd1\xa0\xf5\x2a\x0c\xf0\x17\xad\x09\x1e\xb0\x6c\x88\x72\xd6\x5d\xe7\x15\x69\x3d\xc3\x16\xf8\x93\x46\x66\xa9\xa2\xb2\x20\x3d\x89\x68\x44\x4d\x86\x49\x06\xd8\x7b\xf4\x4f\xb9\x33\xc4\x4d\x8c\x75\x23\x33\x0d\x3a\x20\x90\xd0\x55\x9b\x6e\xa5\xe4\x55\xe9\xe4\x83\x1f\xee\xd2\x3a\x43\xfc\xa5\x73\x78\xc6\x2e\x3d\x4b\x06\x52\xb2\xe1\x6c\xe4\x0e\x9d\xd8\x87\xfe\x2a\x60\x05\xae\xd7\x8f\xbc\xe4\x50\x4d\xd4\xe9\xf6\x12\x8c\x74\x05\x69\x97\xa9\x67\x09\xe1\xfa\xc8\xb7\xfc\x3c\x66\x19\x86\x3b\x7d\xbe\x7f\xa8\x81\x58\x5e\x9e\x2b\x10\x8c\xd4\x48\x0b\xe6\xb8\xbc\x38\x7a\x7d\xf4\xcd\xfe\xc3\xbf\x3d\xfc\xeb\x89\x12\xc2\x71\x79\xfe\xf2\x2c\x8a\x80\x79\x79\x7e\xf9\xf0\x2f\x67\x47\x27\x49\x00\x85\xa9\x13\xd3\xe0\x20\x2d\x1d\x05\x0f\xf2\xb2\xb4\x71\x17\x6c\x8f\x1a\xb4\xcd\xef\xd1\x83\x8e\x61\x9b\xd4\x97\xe3\x71\x0f\x52\x8d\xb4\x67\xba\xfe\x87\x23\x69\x3a\x64\x47\xe5\xe3\xb8\x02\x04\xa5\xc3\x20\x4a\x42\xb9\x92\x1a\xb0\x82\x85\xc6\xd7\x03\x9c\xc9\x2b\xd8\x45\x6a\xb9\xb4\xbe\x9c\x19\x52\x2e\xc8\x43\xdd\x82\x3c\x80\x42\x57\xaf\xc5\x27\x96\x32\x51\x29\xa2\x60\xc1\xcd\x62\xa7\x43\x2b\x76\x83\xb6\xae\x35\x15\xea\x8f\x9a\x56\x42\x91\x2c\x04\x55\xad\xa8\xc6\x2d\x03\x7e\x7a\xed\x88\x71\xed\x89\xb5\x95\x3d\x99\x88\x8b\xd2\xe7\x2d\xaf\x99\x1d\x5b\x29\xd6\x23\x39\x0e\x94\xe2\xcb\xc5\xaf\xe0\x3c\x39\x38\xa0\x77\xf2\xdb\xbc\x36\x14\x00\x7e\xca\xf6\x1d\x38\xae\xa8\xe4\x5c\xcc\x00\xd8\x97\xce\x92\x25\x9b\x04\x92\x94\x44\x0c\xe4\x70\x70\xb0\x97\xbc\xbc\xce\xd7\x0d\x11\x07\xda\x63\x56\xba\x56\xda\xea\x0a\x43\xfb\xad\xef\x82\xcc\x9c\xd7\xac\x2d\x89\x3b\x82\xcc\x1b\xee\x5f\x1b\xec\x02\x8e\x02\x6d\x6d\x93\xe2\xb4\xb0\xb1\x80\xcc\x81\xd7\x59\x97\xc5\x88\xcc\x40\xc1\x74\x47\xd7\x06\x38\xc8\x3f\x61\xd2\xa6\xaf\x39\xf4\x4a\x99\xe1\x71\x1d\x20\xab\x09\x47\x6f\x45\x3a\xce\x71\xf1\x48\x41\xf6\x78\xa5\x09\xae\xc8\xde\xcd\xf0\xf1\x5f\x8c\x63\xb1\x23\x96\x6f\x5b\x27\x72\x10\xc7\x81\xa4\xf9\x64\xa5\xa0\x43\x81\xfb\xcf\xdb\x0e\xf3\x4c\x3b\x07\x37\x49\xa3\xba\x2c\xaf\x38\xe6\x2a\xcc\x0d\x9f\x32\xce\x2f\x72\x73\x5b\x94\x9c\x0f\x0b\xe3\x39\x84\xd8\x3a\x69\xa4\x23\x02\x70\xe1\x91\x35\xeb\x99\x61\xfd\x11\xdc\x4d\x43\x61\x70\x8f\x10\x96\x82\x82\xbe\x6b\x24\x2f\x77\xb0\x20\x89\x84\xf0\x29\xd1\x70\x9f\xbe\x87\x5e\xa9\xc3\xdf\xaa\x87\x6d\x52\x83\xaa\xe5\xb5\x1d\xec\x64\xf4\xf2\x2a\x92\xc0\x3d\xba\x50\x26\x09\xaf\xc2\xae\xc9\x2e\xa6\x6b\x24\xa2\xcd\x8f\xca\xa3\x87\x3f\x6c\x22\x88\x1e\x07\x21\x12\xcc\x90\xe9\x62\xa1\x2a\xdc\x2d\x33\x41\x04\xa1\xef\x55\xc4\x32\xa6\x3a\x18\xed\xcc\x07\x91\x86\x68\xf6\xb9\x62\xa1\x5b\xf9\x95\x88\xe8\x2c\x56\x06\xf8\x57\x09\x97\x6e\xc7\x6c\x99\xde\x27\xa0\x28\xdc\xe6\x1c\xb5\xb5\x84\xff\xcb\x58\xb7\x1d\xd7\xe5\x6d\xb3\x40\x27\x23\xdc\x89\xcf\x13\x32\x9f\x14\xfd\x47\xae\x8e\xbb\x28\xc1\xc2\xc6\xd7\xd3\x48\x49\x79\x51\x05\xd6\x44\xf8\x6e\x96\xe7\x99\x66\x42\xc4\xf4\xc5\x70\x6d\x90\xd5\x25\xcb\x8b\x0f\x5c\xfd\xc9\xf6\x21\xf7\x42\xcf\x3a\xce\x4d\xee\x08\xa7\x29\x3d\x4f\x02\x5b\x0d\xc5\x9a\x6e\x0a\x29\xc9\x71\xcd\x68\xdd\x0e\xf0\x4c\xa1\x6b\x6c\xb2\x74\x31\x8f\x8a\x9d\xb2\x9d\x8a\xce\x88\x07\x8b\x77\x7c\x88\x7f\x9d\xd5\xdc\x1d\x4d\x15\x6b\x40\x17\x34\xba\xc0\xbf\xf8\xc4\xcb\xdb\x8c\xe3\x9c\xd3\x38\x4b\x86\x4a\xe7\x02\xa5\x71\x6a\xcc\x48\x51\xd7\xee\x7e\x9f\x0a\xd2\xce\x4b\x34\xab\xe9\x09\xde\x42\x16\x87\x30\x48\x1e\xf7\xcf\xd1\x55\x77\x93\xfe\xda\x5d\x5d\xd5\x39\xfe\xff\xcf\xdd\x59\xf8\xc1\x2e\xb6\x35\x69\xd4\x58\xee\x88\x36\x85\xdb\x07\x9f\xaf\xd3\x79\x9c\xfd\xf4\x5e\xe7\x1f\x56\xf9\x8c\x1c\xab\xe4\x8e\x46\x7f\x51\x35\xa3\x6c\xdd\xec\x19\xbd\xee\xc5\x23\xac\xc5\x37\x50\x2c\x7c\xe3\x3c\xce\xf0\x5a\x34\x98\x29\x9a\x55\x61\x6b\x85\x3b\x9d\x3d\x52\xef\xce\x46\x9d\x61\x16\xb9\x24\x0d\x8b\x6f\x38\xad\x6f\x1a\x7c\x04\xea\x83\xc8\x74\xc8\x52\x61\x5f\x67\x9c\x8d\xce\x19\xbd\x96\x80\xd8\x06\x23\x3e\x69\x27\x12\xae\x04\x91\xc8\x85\xb6\x1d\x8f\x3c\x2c\x5a\x41\x78\x36\xad\x28\x03\x04\x14\xe6\x8b\x0a\x93\x87\xfd\x08\x37\x0e\x32\xa6\x07\x23\xc7\xde\x46\xb4\xd1\xab\x45\xf5\x43\x93\xd3\x28\xb4\xed\x79\x4b\x70\x99\xf7\xda\x05\xd9\xc6\xa2\x9d\x2e\x4b\xb8\xe6\xe0\x38\xbe\x38\x88\xab\x90\xf6\xd9\x47\x97\x62\x80\xae\x43\x07\x39\x34\x8f\xd2\x9f\xa0\xa4\x8e\x70\x88\x29\xa4\x66\x00\x00\x32\x3a\x73\xb3\x28\xe4\x63\x64\xce\xcc\xb6\x58\x6a\xc4\xf4\xd3\xc1\xa9\xb1\x24\x11\x40\x35\x3a\xb5\x1e\x01\xa8\x16\xca\x3b\x82\xa9\xd6\x43\x81\xfa\xb8\x25\xa0\x1a\x47\x8d\xc3\xf8\x8e\x85\x9b\xef\xbb\xf8\x71\x18\xc8\x91\x10\x4c\x47\x74\x12\x40\x5b\x40\x79\x32\x36\x9b\xc7\x83\x15\xad\xd4\x55\x21\x9f\xc2\x67\x02\x98\xfd\x44\xbe\x0c\x3b\x3f\x69\xd4\x7a\x00\xf5\x13\x59\x8c\x14\x1d\xf2\x99\x6c\x86\x20\x65\x39\x95\x5e\x2a\x5e\x6e\xaa\xa6\xb6\x06\xa2\x49\x1c\xad\x5d\xc7\x56\xc3\x75\x39\x74\x93\x99\x7a\x26\xa9\x8d\x38\xba\x4a\xcb\x93\x38\x0e\x66\x57\x4e\x1f\x5c\x55\x61\xde\x08\xdb\x9f\x65\xe1\x34\x76\xf9\x6f\xf5\xfa\xb7\xbc\x25\x91\xbd\xfd\x5c\xa7\x8c\xa3\xf9\x3b\x33\x80\x71\x8c\x28\xb8\xbf\x33\x9a\xb5\xd3\x72\xc2\x63\x67\xb0\x39\xdd\x73\x44\x20\xce\xfb\xd7\xc1\x70\xf2\xc5\xfd\x4d\xd0\x9a\x5c\x7f\x5b\x4d\x00\x1a\xba\xe4\x9b\x31\x55\x26\x94\x7f\x8c\x46\x5c\x82\x41\x43\xee\x76\x43\x39\x8c\xbd\xbb\xcd\xb0\x4c\xd0\xf2\x27\xea\xf0\xe1\x50\x4d\xd5\xe0\x27\x6b\xe8\xad\xc0\xdd\x5b\x64\xc3\x3a\x68\x81\x98\x53\x4a\xa5\x6c\xf8\x30\xee\x0a\x7a\xd5\x2d\x93\xb2\xed\xee\x89\x96\x4d\xd9\x6e\xee\x55\xcb\x47\x4f\xd4\x4d\x36\xca\x04\x83\xc5\x80\xd4\x53\xb7\xd1\x90\x57\xe4\xb1\x1b\x69\xc0\xd7\xb1\xe5\x98\x06\x45\x68\x7e\x7d\xc3\x68\xb8\x62\x7a\x17\x5f\xd5\x01\x06\xf8\x8d\x4c\xa3\xab\x45\x95\x3a\x73\x32\x46\xb8\x18\x52\xca\xe9\xee\xe4\x42\xc9\x5a\xc2\x59\xfa\x23\x39\xac\x1a\xa2\x10\xe0\x37\x65\x1c\x51\x29\xf5\xa2\x84\xca\x08\xfb\xed\xee\x84\xae\x10\x5b\xdf\x0b\x56\x0c\xff\x4a\x9c\xce\x36\xef\xb5\x1b\x67\xf3\x4d\xb1\x7a\x05\xc3\xfd\xc7\x7b\x78\x3f\x63\xc1\x2a\xf8\x13\xfe\xfb\x00\x03\xcc\xf0\x65\x54\xe8\xa5\x6e\x23\x43\x3f\x4a\x58\x91\xec\x51\x40\x46\x5a\xa2\xf0\x66\x58\x45\x96\x8a\x97\xd8\x4e\xc5\x1b\xa8\x14\xc6\x9a\xf3\x99\x05\x5c\x00\xf7\x2b\xe1\x60\x46\x3c\x93\x5d\x72\x24\x91\x57\xca\xa1\x6a\x7c\x80\x1d\xcc\x57\x0e\x77\x9b\x1f\x51\x1c\xc7\xd2\xbb\x24\x4b\x7a\x55\xe6\xbb\x14\x42\xb2\x4a\x8d\xb9\xab\x6a\x72\x2b\x50\xc4\x40\x44\x40\xd4\xcb\x4d\x5e\xce\xd3\x30\x36\x84\xcd\xa3\x18\x74\xc0\xc9\xb7\x85\x92\x8b\x78\x19\x9c\x70\xeb\x54\x4d\x3f\xc3\x34\xe1\x56\xe5\x36\x93\x74\x6e\xc3\x37\x25\x27\xd8\xf2\x31\x32\xb9\x2c\x8e\x7f\xaa\x05\x04\x26\x04\x7b\xe0\x83\x63\x43\x64\x1b\xcb\x4e\x8b\x8b\x02\x92\x6a\x58\xd5\x78\x53\xbc\x6f\xb4\x80\x07\x8a\xbf\xc8\x93\xcb\x91\xa1\x64\xdf\x93\x8f\x45\xe8\x0e\x46\x35\x91\xf5\xd2\x58\x55\xbd\x8b\x0e\xe8\xb7\x8d\x30\xac\x83\xe2\xf5\xe4\xc1\x88\xb3\x4a\xc3\x72\xf4\xdc\x22\xc2\x80\x81\x04\x3f\x12\xc4\xd3\xf8\x59\xed\x98\x30\xfc\x5f\xbf\xd9\x20\xa7\xb7\x2f\xcf\xce\x8f\x4e\x8e\xb5\xe9\xc3\x9f\xf5\x80\xb8\xb7\x88\xab\x9a\xfc\xf3\xf9\xc9\x31\x9c\x45\xdf\x61\x69\x53\x81\xdb\xf4\x54\xae\x5d\x9b\xfa\xdc\x1e\x07\x14\xf1\x85\x7b\x70\x89\x71\x41\x66\xa7\xdd\x62\x52\x4f\xa7\x28\x77\x17\x18\x84\x54\x51\x12\x70\x4a\x33\xba\x97\xbc\x22\x80\x70\xc4\xd9\x23\x4f\x3e\x27\x5c\xe4\x59\x84\xae\xc9\xd1\x36\x37\x23\x43\x30\xff\xca\xb1\x8e\x79\x0c\x66\x5c\xdd\x75\xd0\x43\x38\x72\xa8\xb7\xb7\x0f\x3f\x2f\x0a\xa9\x9f\x4c\x57\x05\xd0\x7b\xf8\x77\x60\x5b\x57\xa6\x1f\x8c\xea\xc1\x8c\x33\x5c\xb3\x55\x56\x76\x7c\x1c\x23\x83\xa1\x9b\xa8\x47\x0a\xfa\x24\x1c\xa0\x39\xc1\x9a\x38\xb0\xcb\xd3\xf6\xd0\xc7\x83\x0d\x47\x82\xf4\xb9\x38\x73\x49\x2b\x01\x16\x04\x79\x66\x9a\x05\xe7\x32\xdb\x71\x71\xa1\x30\x23\x00\xe9\xda\x02\xfa\xd4\x6b\xa0\x28\xff\x6f\xee\xff\xf7\xcc\x7d\xc3\x31\x77\x54\x10\xeb\x09\x68\xa5\xbb\xf6\x85\xb5\x4b\x68\x0a\x4f\x6c\xe1\xe0\xab\x9c\x8a\xad\x22\x8e\x93\x7a\xab\xdd\xa6\x8b\xaa\xb6\x7e\xf6\xb0\x3e\xd6\x10\xe5\xd2\xb9\xec\xf1\x2a\x15\xea\xca\x15\xe1\xd0\x47\x8f\xc7\x2e\x1b\x0f\x57\x45\x21\xc5\xa0\x58\xa7\xa2\x86\x68\x07\xa7\x00\x08\xd4\xc9\x39\xea\x1f\x2a\x29\xa3\xab\x7d\x12\xd0\xa7\x34\x45\xd5\x0d\x83\xc7\x77\x6c\x5a\x24\xa7\x07\x8a\x13\xc4\x30\x0a\xa9\x4d\x0e\x53\x2f\xc1\xb7\xad\xc2\x66\x89\xc1\x8f\x94\xf2\x83\x59\x77\xfe\x72\x42\x67\x6b\x99\x7b\x99\x62\xda\xed\xf8\x97\xfd\xb3\xe3\xa3\xe3\x43\x46\x7c\x63\x4d\x03\xcf\x02\x52\x30\x9d\xf2\x46\x90\x67\xd6\xdb\xc7\x1b\x7e\xc5\x89\x22\x26\x99\x17\x37\xf3\xc5\x3d\xe6\x16\xcf\xa0\x4d\x7a\x93\x67\x44\xea\xaf\x01\x01\x0c\x35\x81\x45\x05\x1a\x67\x61\xc3\x41\xf1\xee\x30\x34\x0a\xf2\x23\xe2\x38\xd6\x7c\xa6\x30\x7b\x33\xcf\x17\x0b\xa0\x6f\xd6\x7a\xc6\xd2\xfe\xdb\xa3\xf3\x13\x16\xfe\x95\x8d\xc6\x40\xf5\x95\xf5\x48\x7a\xfe\x91\x7b\x66\xe5\xcc\x27\x8b\x82\x35\x4c\xeb\x67\x34\x18\xa3\x99\x2e\x04\x2e\x0c\x55\xcf\x14\x37\x5f\xbe\x98\xd3\xb2\x22\xd2\xe7\x8e\x22\xad\x60\x5e\x2a\xd0\x19\x0f\x1a\x00\xe8\x80\x9a\x50\xd3\x44\xb8\x65\x6e\x13\xb4\x32\x4c\x7b\xa7\x9e\xe0\x64\xcd\xb8\xd6\x2f\xf6\x2e\x3e\x27\x09\xa5\xe7\x09\xe4\x70\x45\x59\x82\x70\x12\x18\x86\x1c\xe6\x38\xb9\xc0\x94\x23\x71\xd9\x21\xe2\x41\xbf\xa8\x04\x2a\xad\xb0\x80\xca\x1b\x8c\x5c\x71\xc0\x80\x95\xab\x09\xce\x64\x68\x19\xb0\x93\x2c\xf9\xfa\xcb\x2f\xf1\xf7\xdf\x7f\xf5\xe5\x8e\x05\x17\xe8\xd3\x45\xd7\xf4\x55\x4e\x56\xab\x05\x63\xa3\x61\x70\x11\x43\xd1\xaf\xe6\x08\x90\x4c\x13\x8c\xcf\x9f\xe4\x60\x51\x35\x19\xcc\x58\x53\x66\xf5\xfd\x13\x2c\xbf\xb0\x4e\xaf\x52\x03\x77\xc7\x3e\x4c\xf9\xf7\x65\x75\xb7\xc8\xb3\x1b\x87\x02\xd3\xe3\x65\xf3\x23\x38\x1d\x35\x63\xd7\x59\x40\xd4\xc7\x6d\x76\xc3\xc4\x11\x04\x46\xf6\x9e\x2b\x7b\xa1\xe6\x7d\xf2\xea\x4a\x5e\x12\xec\x03\x4e\x83\x3b\xa8\x61\x83\x49\x1a\xe3\x80\xf5\x4b\xe6\x41\x9e\x2f\x04\x71\xbd\x56\x6d\x4f\x5e\x9a\x32\x3d\x0e\x19\x45\x51\x22\x9b\x1b\xff\x67\x99\x17\xba\xc6\x04\x44\x8d\x26\xa6\xe1\x89\x11\xec\x29\xdd\xc7\x50\xb8\xfa\x89\xe9\x0e\x07\x4e\x71\xa6\x35\xad\x51\xdc\x07\xbf\xd4\xd7\xc0\x8d\x96\xc7\x15\x0c\x33\x3f\xf6\x52\x29\x75\x15\x8c\xee\x5e\x72\x51\x91\x3a\x0e\x5b\x65\x0e\xd7\xa2\xf8\x7e\x55\xe6\x0c\xe1\x4d\xb3\x85\xb7\x71\x97\x9c\x8f\x69\x8d\xe0\x61\x6d\x6e\x8a\x77\xc1\x49\x6e\xad\xff\x57\xe5\xa6\xfb\x2c\xfb\xc7\xd5\x5f\x1d\xde\x3f\xbc\x31\x30\x56\xa2\x97\xff\xc5\x99\x87\x9f\x79\x6b\x6c\xb7\x23\x5a\x19\xfd\x2d\x61\xf7\x09\x96\x4c\x48\xd2\x35\xc6\xbb\xae\x1d\x83\x65\x9a\xe5\x16\x2e\x30\x9d\x0d\x8d\xe3\x73\x17\x45\xe5\x17\x83\xa7\xb3\x04\xb3\x72\xd1\x7c\x50\x57\xf7\x16\x52\xbb\x33\x07\x5e\x32\xb2\x8c\x4d\x4f\x56\x18\x89\x6b\x54\xad\x06\xb9\x50\x01\x60\xb8\x50\x6c\x58\x21\xa2\xb2\xcb\x43\x85\x07\xdf\x82\x96\xee\xa2\xa1\x7e\x97\xed\xec\x55\xef\x47\x91\x86\xfa\xb9\x5c\xb9\xd4\xfb\x19\xcc\x5b\xd9\xa8\x08\x1e\x9f\xf4\xbc\xd0\x0b\x13\x0f\x1f\x16\xcc\xc0\xa5\xe5\x2b\xd9\x84\xb8\xb0\xd3\x65\x7b\x12\x98\xcf\x74\x14\x54\x5b\x6d\x7e\x4d\xe8\x5c\x3b\x16\xf6\x04\x37\x33\xe5\x7a\xcc\x88\xf3\x20\xfc\xae\x61\xd6\x6d\xb2\x5a\x49\x49\xd2\xf9\x92\x17\xed\xda\xc2\x74\xf5\xa7\xe2\x79\x8b\xc7\x41\x48\x05\x16\x8e\xc2\xe4\x4b\x5e\xb7\x0c\x42\x30\x30\x87\xb8\x64\x29\xc1\x5d\xeb\x02\x0f\x29\x2e\xde\xd5\xc3\x2f\xa8\x4f\xf5\x60\x5d\x84\xd9\x4e\x98\x34\x82\x93\xca\xc0\xaa\xf0\x5f\x85\x8d\x14\x5c\xa7\xd1\xf5\xdc\x28\xeb\xd9\x42\x71\x32\x9a\x42\x4a\xb5\xab\xf3\x1f\xb5\x17\x83\x76\x8e\x92\x09\x73\x8d\xb6\x20\xc2\xfa\x0e\x66\xf3\x79\x67\x43\x7b\xa8\xbd\x57\xb9\x3d\x34\x30\x79\x98\x30\x45\x38\x52\xc0\x0c\x16\x35\x0f\x5b\x82\x86\x96\xd7\x98\x07\x49\x58\x4f\x75\xb1\x4c\xeb\x7b\xca\x8d\x9f\x61\xa6\x53\x8b\xef\xe4\x0b\x49\xb9\xf6\xab\x05\xe1\x2d\xf4\xce\x19\xca\xc0\x2c\x70\x6f\x2f\x29\xb5\x19\xb7\xf7\xed\x57\x89\xb8\x1d\x92\x3f\xf2\x67\x98\x9c\x23\x4a\x50\xb4\xe1\xd7\xf4\x25\x16\x83\xca\x31\x8e\x7a\xf8\x8c\xa5\x33\x19\x78\x20\xd0\x14\x49\x07\xcd\xe8\xbf\xf7\x92\xe4\x2f\x79\x5b\x9b\x06\x11\x43\xec\xf1\x28\x9f\xbb\xe8\x25\x82\x30\x6c\x38\x76\x2a\xab\xee\x4a\xfb\x51\x7b\x60\x61\xe1\x66\x2a\x54\x96\x65\x54\x2d\x06\x26\xa9\x23\xc2\x55\x4e\x45\xa5\xb8\xfa\xc7\x5e\x72\x82\x1a\x55\xec\xd6\x5a\x16\x37\x88\x31\x95\xed\x58\x66\xc6\xe1\x4a\x83\xb0\xdc\x1b\xcc\xb0\x8f\x5e\x3f\x1b\x9e\x99\xb0\x07\x64\x8d\xd9\x3c\xae\xce\x32\x43\x1c\x38\x59\x61\x3d\x75\xea\x56\x50\x9b\x65\xbf\xd3\xb9\x45\xc8\x71\x12\x60\x22\x81\xa8\xda\x56\x0d\x40\x9f\x71\xdd\x11\x64\x73\x72\x82\x6b\x8d\x23\xdc\x0c\x45\x80\x2d\xd9\xac\x8b\xbb\xb7\x2b\xbb\x69\xae\xcc\xba\x58\x37\x85\x12\xb7\x43\xdb\xda\x2d\xa2\xd4\x02\xdd\x54\x76\xdd\xf9\x9f\xe2\x12\xa8\x7c\x3a\x83\x6d\x6f\xbf\xde\xe1\xc5\x97\xa7\xb1\x93\x34\x63\xa4\x34\x2a\x4c\x2f\xb1\x87\xf2\xcf\xaf\x61\x15\x9e\xd9\x52\x46\x4b\xcc\x73\x21\x14\x17\x8a\x93\x44\x60\x34\xfc\x5e\xa2\xde\xd0\xe2\x01\x6b\xa4\x66\xe8\x09\x91\xca\xd2\xcb\x6f\x0b\xc6\x33\x0a\x80\x51\x7c\x79\xd2\xac\xa0\x4a\x25\x85\xc1\x50\xf9\x55\x05\x5b\x55\x60\x53\x35\xa9\x09\x51\x1a\xc1\xc2\xf0\x02\xa1\xe5\x48\x37\x57\x65\x02\x05\x11\xe7\xb5\xed\x1b\x3c\xc2\x6a\xbb\x0e\xec\xe5\x33\x70\x7d\x29\x47\x5f\x5a\xa3\x6e\xf1\x0c\x21\x2c\x19\x04\x19\xf3\x9b\x43\x9c\x31\x06\x2e\xc4\x48\x1c\xef\x13\x13\x7c\x63\x04\x78\xdc\x15\x9d\x52\xdf\xf6\xfb\xf0\x9c\xac\xe0\xa4\xed\xa0\x91\x11\x57\x0b\x8d\x2c\x1c\x29\x9a\xc7\x15\x9d\x42\xdc\x59\x09\x86\xe4\xe2\x2b\xb6\x99\xe1\x10\x87\xca\xa8\x4f\x7f\xdb\x47\x01\xca\xc3\x0c\x7f\xae\x37\x2c\x16\x22\x93\xaf\xdf\x63\x09\x31\xf3\xfe\xea\xfe\xbd\x0d\x84\x50\x03\x80\xb8\x03\x9c\x92\xcc\xb6\xed\xd0\x2a\xe4\xc5\x77\x69\x94\xe3\x62\x72\x04\x34\xd6\x9f\x44\x51\xd1\x02\x12\x17\xc5\x42\x6c\x05\x2d\x86\x59\xa0\xf2\x71\x67\x12\xf1\xd9\x25\xaf\x8b\x52\xb3\x3b\xbd\xee\x99\x0f\xa0\xab\xd2\x3e\x4e\xfc\xb4\xba\xcb\xeb\x73\x7a\xf5\x0f\x93\x1e\xf8\x70\x98\x60\x8d\x59\xfa\x30\x92\xa0\x8f\x57\x19\xe1\xe0\xbf\x3a\xc2\xea\xfd\x6d\xdd\x1a\xb3\xce\x40\xd5\x56\xf8\x1c\xd6\xf0\x6a\xc1\xb3\xb1\xe6\x48\x18\xa2\x04\x1b\x7c\xff\xec\xcf\x97\x47\x6f\x4f\x08\x8d\x98\x0b\xc9\xc0\xe1\x6b\x52\xd4\x12\xe3\x05\x34\x58\x20\x5b\xe9\xe3\x16\xed\x8c\x74\xbd\x49\x71\xe6\xeb\x42\x8b\xb0\x15\x49\xc8\x94\x98\x1b\xcb\xc4\x15\x91\x9a\x00\x12\xf1\x0d\xd6\xbc\xab\x67\xf3\xe2\x36\x6f\xfd\x71\x62\xd3\x9e\x10\x93\x7a\xe2\x1a\x7f\x73\x74\xca\xe7\xbe\xad\x20\x36\x1e\xa4\xfa\xb7\x37\x97\xaf\x2f\x8e\x4e\xf7\xcf\x2e\xbe\x78\x75\x72\xf6\x66\xf7\xc5\xfe\xc5\x7e\x72\x70\x72\x7c\xf1\xf2\xf8\x22\xf9\xd3\xd1\x8b\x17\x2f\x8f\xbf\x55\xf8\x4e\x6a\x3a\xcc\xf4\xf4\xec\xe8\xed\xfe\xc5\xcb\x84\x9a\x8c\x70\x19\xfc\x76\x98\xec\xcd\xa2\xba\x82\x63\x47\xd0\x02\xbf\x75\xef\xa9\xbf\xd9\xd8\x7c\xb3\xb7\xb7\xf7\x6d\xf2\x37\xfb\x77\xfb\xa1\xc6\x7a\x6b\x7a\x83\xe2\xf1\x09\xa5\xf0\x12\x14\x04\xad\x25\x5c\x63\x5a\xc3\x1b\x3d\xe2\x33\x55\xb7\xe9\xba\xd1\x92\x13\xa0\x0d\x6c\x5d\xcd\xc8\x2c\x31\xfe\x7a\xe3\x09\xf5\xe6\xc6\xca\xca\xe9\x69\x9c\x6a\x66\x26\x21\xb3\xd5\xa9\x99\xab\x82\x13\x20\x18\xee\x54\x55\xf4\xd5\xaa\x35\xcd\x11\x88\x88\x42\xc9\x2f\x7c\x15\x02\x28\x47\x84\x1b\xc3\xd1\x51\x5b\xaa\xeb\x65\xa5\x01\x95\x50\xec\x9e\x85\x79\xbc\x86\x6b\x43\x1d\x93\xeb\x14\xdd\xb6\x65\x17\xb4\xb1\x17\xb0\x37\xcc\xa7\xc5\xe9\x8f\x88\x68\x61\xf4\x15\x12\xa4\x74\x3d\x6b\x23\xed\x14\x4a\xfd\xef\x86\xc9\xd9\xa3\x4e\xf3\x2d\x7b\x1f\x0c\x13\xb8\xe7\x12\xc7\x77\x25\x86\xe1\xa8\xe3\xc6\x9f\xd1\x1f\xd1\x9c\x46\xc9\x61\x68\x7d\x91\x76\xc3\xb4\x67\xab\x46\x21\x77\x00\xbf\x0c\x37\x89\xae\xe8\xe8\x6a\xa6\xa6\x7a\x05\x6b\x6a\xab\xe6\x27\x61\xe4\x4a\x5d\xac\x22\xf1\x41\xfe\x17\x0a\x09\x2a\xb1\xad\x36\xe7\xc2\xd9\x4a\xdb\xc2\xc4\x0f\x21\x74\x6f\x08\xb8\x8a\xda\x85\xc2\x68\xd7\x25\x1a\x81\xd0\xcf\xa3\x73\x57\xd7\x0f\xb5\x53\xd6\xce\xb4\x40\x9a\xf1\x68\x19\xce\xab\xd1\x04\x90\x4c\x98\x58\xd3\x5e\x96\x0c\xd5\x85\x14\x40\x50\xfe\x64\x87\x0b\x10\x95\x09\xac\x58\xf7\x47\x3d\xf6\x47\xcd\xbf\xe1\x82\x8f\xee\xe7\x00\x90\x73\x87\x35\x91\x30\xdf\xe8\xe1\x17\x78\x7d\x21\x1e\xb3\x20\x32\xbf\x2b\x31\x66\xea\xef\xb3\x6b\x67\xea\x21\x31\x77\x59\xa2\xbf\xdb\xac\x52\xb6\xf4\x58\x3a\x26\x64\xa4\x01\x55\x46\x46\x23\xec\xb8\x8c\x46\x38\x44\x8f\x1f\x0d\xdb\xdb\x81\x81\x08\xe4\x8f\x8c\xc6\xc8\x30\x58\x0e\xf1\x11\x50\x0b\x5f\x3a\x42\xea\x8a\xbe\xd3\xd6\x21\x09\x74\x95\x16\x1f\x94\x95\x28\x28\xb9\x4a\x6b\xfb\xab\xd2\x94\x0a\x9c\x50\xa4\xdf\x69\x8d\x06\x89\xf5\xbd\x8d\xf8\x33\x73\x1f\x15\x1b\xcb\xf4\x69\x57\x8f\x52\xaa\x64\x88\x68\xc9\x77\x9e\x20\x80\x01\x51\xc5\x75\x4e\x06\x29\xad\x47\x54\x26\x7f\xb8\x1d\x5f\xc1\x09\x3c\x49\xb9\x56\xe7\xf5\x35\x05\x46\x60\x55\xeb\x7c\x36\xe7\xf2\xb1\xce\xc7\x8c\x56\xde\x7b\x2f\xab\xf5\x45\x7b\xd0\xaa\xb7\x23\x5f\xe3\x29\xd9\x70\xc8\x78\x5c\x03\xe1\x4a\x60\x41\x88\x4f\x6b\x40\xce\xc4\x16\x0f\xef\x3f\x95\xcb\x70\x2f\xa0\x13\x91\xb0\x39\xf7\xf3\x70\xe3\x3a\x27\xa3\xdf\x2a\x2d\xb4\x35\x71\x53\x63\x69\x03\xf4\x3f\xc3\x57\x37\xca\x50\xf6\x13\x72\xa0\x85\x42\xb0\xff\x2d\xec\xcf\x0d\xc8\x5a\x55\x16\x5e\xf9\x93\x39\xb4\xc0\xf3\x6d\x25\xaf\x4d\xba\x42\xb5\x8e\xb9\xe4\xe4\x64\x9e\x9e\x37\x25\x2c\x1f\xb6\xac\xb4\xee\x62\x0d\x72\x85\xbc\x5a\x9e\xdc\xa9\xc6\xcb\x18\xf6\xea\xa4\xb6\x13\xb5\x6b\x07\x54\x1a\x78\x64\xe3\x1c\x48\x45\xb4\x78\x0d\x47\x18\xb4\x83\xf1\xd2\x30\x91\xa6\x2a\x19\x7a\xfc\x43\xb1\x0e\x56\xfb\x0e\xde\xc6\xeb\xf7\xa6\xad\x6e\x89\x9f\x70\xb1\x4b\x75\xc7\xb5\xe2\x0c\x33\x5c\x56\x18\x17\xb4\x15\xc3\x68\xf7\x34\x7d\xca\xb3\x38\x8e\x10\xd0\xee\x02\x8f\x82\x72\x1b\x14\x25\xd5\xb4\x87\xa9\x98\x83\xce\xbb\xe6\xe2\xdc\x70\xbf\xda\x18\x56\x85\xb0\xad\x94\x0d\x13\x0a\xed\x38\x55\x09\x48\x49\x44\x5b\xd9\xc6\xc0\xc6\xb9\xde\xba\xb8\x2f\x7b\x3f\x1c\xbc\x7a\x7f\x7e\xb1\x7f\x78\x74\x7c\xf8\x5e\x0a\x5d\xda\xf3\x4c\x9d\x36\x8e\xf6\x6a\xb9\x8b\x89\x66\xf8\xaa\x88\xd2\xdf\x4a\xd6\xb3\x8b\xcb\xd3\xcf\x29\xab\x42\x7f\x50\xd6\x45\x7a\x95\x6b\x97\x27\xff\xa6\x34\xc3\x70\x48\xeb\x9e\x52\xda\x3f\xfc\x63\xb1\x2e\x96\xbe\x33\x21\x42\x8c\x33\x1e\xf4\xb8\x70\x4b\xcc\xbe\xb6\x1e\xfe\x93\xde\xdb\xe4\x4b\xa0\xa6\xca\x72\x15\x0c\xdf\xd8\x29\xa3\x9e\xcd\x08\x90\xa0\x37\xe5\x1f\x07\x1b\x46\xcf\xc6\x38\x1c\x35\x37\xd5\x46\xc1\xb6\x55\x3a\x1b\xb9\x98\x11\x4f\x50\x69\x54\x95\xa0\xc2\x99\x62\xe6\x3c\x61\x0a\x89\x8e\xe7\xfe\xea\xe1\x67\x53\xa8\xcf\x27\xa0\xaa\x8b\x52\xaa\xa2\x90\xc5\x15\xf6\x8e\x8d\x98\x15\xfb\x05\xe8\x4d\x91\xdb\xaa\x14\x3f\x55\xb0\x47\xa4\xac\x8b\x35\x69\x68\x73\xac\x23\x26\xe0\x2f\x5a\x13\x6d\x88\xa6\xd4\xf7\xa1\x27\x87\xfe\x26\x5d\x81\x5a\x5a\x17\x79\x96\x52\x72\xca\x30\x09\xd4\x9f\xd8\x55\xb9\xd1\xfd\x4b\xcd\x9c\xbb\x13\x8d\x28\x55\xf9\x47\x9c\x79\xf1\x13\x9b\x7d\x7e\x6e\xab\x87\x51\xbb\x02\x50\x37\x1b\x21\xa1\x88\xb0\x9e\xc7\x6f\x08\x65\xd4\xb0\xb7\xda\x23\x04\xdd\x64\x7a\x2b\x6d\x8c\xd8\xbb\xa6\xb4\xab\x6a\x6d\xb1\x51\xc4\xab\xd6\xca\x14\x91\xf3\x10\x7f\x8e\x1c\x83\x12\x86\xae\xd9\x77\xab\x59\xb3\x12\xc3\x1c\xd5\x7d\xd4\x60\xe4\x28\x67\x53\x3b\x3f\x66\xf4\xdb\x60\x3b\x8c\xe5\x15\x58\x7e\x6d\xc4\x82\x4f\x14\x22\x76\xbb\x9a\x48\x1d\x72\x8c\x08\xc2\x38\x94\x91\xad\xd9\x21\xa6\xf5\xa9\x47\x4d\xed\x20\x21\x02\x67\x18\x04\x56\x17\x57\x04\x7f\x8b\x46\x9e\xf7\x34\x62\x4f\x2c\x30\xb8\xf6\x92\xe4\x36\xa0\xaa\xe4\x54\xe5\x83\x9c\xe5\x41\x7b\x01\x07\x9f\xce\xdc\x29\x63\xdb\xf1\xf6\x9a\x6f\xcc\x9a\x6f\x99\xed\xf8\xda\xb6\x1b\x33\xa5\xa4\xa2\xed\x78\x4a\xd3\x38\x4b\x2e\xd0\x45\xdb\x73\x93\x53\x31\x8a\x9d\x1f\x81\xca\x97\x88\x3d\x6d\x55\x8e\xc0\x86\x4e\xc2\x82\x99\x0c\xff\x22\x87\xfa\xd8\xb1\x1d\x6d\x3c\x0e\x19\xb3\x35\x4a\xcc\x44\x70\x91\x4d\xb0\x5a\x7a\x21\x3e\xe3\x0f\x9a\xe9\x44\xbf\xcf\x35\xe5\x8d\xc2\x76\xa7\x13\x1a\xbb\xb5\x82\xf0\xbf\x28\xa9\xdd\x28\xb0\xce\x54\x2c\x9d\x11\x0d\xef\xe5\x87\x35\x05\x76\xd8\xc0\x31\x4d\x24\x32\x90\xaa\x57\x4c\x6b\xd3\xd4\x56\x6b\xa1\xaf\x81\x2c\x37\x9a\xd6\x13\xcb\x09\x8e\x82\x10\x7b\x60\x06\xea\xc3\x77\x66\xeb\x06\x08\x25\xe5\x12\x21\x52\x2a\x11\x69\xab\x3d\x9d\x8d\x99\xbb\x6a\x4d\x9e\x65\x09\xfd\x1c\x11\x2b\xa9\xcd\xa5\x82\xb9\x85\xf6\xad\x69\xc9\x5a\xf9\xb4\xeb\x73\x84\x1b\xbe\xd9\x79\x60\xb6\xe6\x8b\xcf\x76\x9b\x4a\xbd\x91\x0c\x71\xb3\xb0\xc6\x78\x9b\xde\x0a\xa7\xad\x3b\xbb\x6d\x4f\xdd\x28\x5f\xab\x0e\xfb\x90\x65\x6f\x6c\xf1\x11\xb3\x19\xab\xcd\xfa\xf8\xe8\xc9\xb4\x43\xbb\x59\x0f\x37\xee\xde\x76\x33\xf8\xb8\xd9\xc3\x77\xa8\x3f\x83\xd3\x78\x7a\x16\xd8\xce\x3c\x4e\xe7\xea\x0d\xea\xc6\x4c\xa7\x70\x5c\x47\xbc\xe2\x94\xbd\xad\x1d\x5d\x58\x3e\x4d\xd7\x76\xb8\xe6\x99\xea\x48\x1e\x7f\x0c\xe8\xed\x1a\xd5\x1c\xc1\x3f\x2a\x0d\x2b\xc4\x7f\x8e\x78\xad\xb2\xea\x69\xaa\x14\x57\x92\xc6\x49\x4a\x89\x19\x58\xb8\x89\x8b\x53\x47\xa9\x25\x29\x45\xc2\xbb\xaf\xe1\x47\x06\x91\x1c\xe6\x81\x78\x12\xaa\xed\x5d\xdb\x19\x5c\x5c\x69\x0b\xc3\xbb\xdf\x70\x8a\xd5\xbd\x57\x24\x4c\x21\x7b\xbf\xd2\x3a\x41\x3f\x0d\x36\x6a\x4a\x4c\xfb\x29\x6d\x15\x96\xb5\xd6\x13\xf6\xec\x8b\x19\xc4\x48\x3e\x86\xa6\x51\xb8\x5a\x5d\xaa\x06\xbc\x94\x82\x40\x4a\xfb\x5a\x33\x82\xe2\x2f\x5a\x13\x6d\x65\xd2\x4f\x6a\x23\x15\xaf\xe2\xec\xb5\xa6\x38\x34\x26\xbd\x51\xdf\xbf\x0d\xe8\x5a\x36\x2e\x55\x6d\xaf\x6a\x8e\xe7\x14\x12\x69\xc6\xa1\x2e\x02\xb8\x40\xcd\xfb\xb7\x09\xf4\xdf\x6d\x34\x05\xf9\x36\x96\x82\x7c\xaf\x6a\xb0\xe7\xc5\x72\xb8\xc9\x47\x2e\x1d\x24\xa1\xcc\x3f\xfd\x94\x3c\xa5\x38\x73\x96\x81\xdc\x2f\x6d\xbd\x92\xf3\x35\xe6\xc6\xfd\xf4\x93\x56\xf8\xad\x4f\xeb\x36\xa8\x80\xa2\x92\x53\x25\x5b\xad\xac\xef\xe8\x35\xae\x52\x04\xa4\x9a\x1a\x86\x36\xdc\x7c\xe3\xe0\x34\x04\xf9\x79\x65\xc1\xb0\x56\x85\xc2\x0c\xc7\xcc\xfb\x72\x9c\x54\x0c\x26\x87\x8b\xee\x30\xc4\xd2\x74\x8a\x77\x29\xd7\xcc\x5f\x73\x2a\xcb\x61\x15\x4c\xe2\x61\xe5\x6a\xce\xe8\xe3\xe5\x68\x61\x1a\x29\xfa\xc6\xd7\x35\xa6\x8f\x71\x26\x55\x9a\xd8\xc9\x3c\xac\x7a\x24\x55\xe9\x10\x82\xe9\xe4\xda\x3e\x9b\x80\xb4\x4d\x33\xd1\xe2\x47\xf4\x46\x6a\x51\x6e\x6c\xc2\x91\x60\x16\x4a\x2a\x1e\x18\xd6\xff\x3e\x1a\x2a\x86\x61\x2c\x85\xf9\xfe\x12\xcf\x1a\xf8\xb6\xba\x4e\xe4\x2f\x82\xd4\xa6\x73\xf1\x9b\xf1\x74\xfa\xcd\x54\x66\x70\x0b\x58\xc1\x22\x21\x26\x9d\x2f\x8b\x32\xd5\xb1\x16\x06\xe3\x18\xa4\x34\xbd\x83\xb2\x7a\x65\x07\xdc\x03\xb5\xb2\x88\x54\x5e\xca\xab\xe1\x62\xe2\x5c\x66\xbf\xc5\xa4\x8a\xcc\xe7\x10\x6b\xae\x37\x1f\xe5\xdd\x85\xaf\x5a\x57\x18\x48\x18\x64\x83\x94\xfd\x5a\xfd\x2d\x8a\x95\xbe\x5a\xc8\xef\xf7\xae\x7c\xb7\xa6\xff\xe1\x61\x70\xc0\x69\x9c\xcd\x61\xd3\x3e\x92\x3b\x2c\xb1\x8f\x1e\x97\x77\xd8\xf2\xb4\x31\x73\x27\xe2\xbb\xff\x4f\x7a\x38\x65\xea\xd9\x6c\x28\xdc\x7b\x52\x6c\x9d\x95\x23\xd4\x2c\x28\x15\x59\xe2\xd5\x8d\x2b\xbf\x2b\x00\xba\x58\x7f\x8d\x42\x9c\xec\x60\x38\x49\xc2\x79\x40\xf4\x94\x21\xbc\x15\x17\xb3\x69\x02\x2a\xc3\xb8\x66\xd0\xaf\xd5\x7a\x2e\x35\xc3\x1c\xc8\x59\x7c\xee\xfc\xa1\xe2\x69\xf3\xc6\x8a\x4f\x77\x9b\xb1\x62\xa8\x7a\x27\x25\x8a\x0e\x0e\xd7\xc3\x7f\xd8\xc4\x46\x86\x45\x42\xdd\x19\x03\xb6\x68\xac\x18\xe3\x82\x92\x84\x6c\x78\x7e\x65\x0b\xc9\xed\x5e\x57\x84\xdb\x40\x07\xf5\xe8\x68\xf1\xca\xe9\xe2\xb2\x5c\x79\x52\x3b\x10\x16\x6d\xcc\x3c\x34\xb7\x00\xc8\x8d\xc0\x25\xaa\x1b\x49\xcc\xa5\x30\x4d\x2a\x9d\x38\xba\xd6\x78\x95\x35\x8f\x42\x9d\xf3\xc9\xf1\x4c\x0c\xd0\xdb\x02\x87\x0e\xf1\xf2\x38\x27\x08\xcf\xb7\x72\x71\x9f\xdc\x55\x35\x0c\x53\x43\x35\xa2\x0f\x5e\x25\x9e\x4a\x80\xa7\xd8\x9b\xf4\x43\xb1\x6c\x96\xee\xf8\x0f\xca\xc3\xe3\x9e\xf8\x18\x56\x39\x8b\xac\xaf\x96\xef\x75\x53\xd2\xe3\x00\xf6\x05\x83\x74\xa4\x6b\xc4\xec\xe0\xca\x69\xaf\xdc\xe5\x33\xc8\x1e\x8b\xc5\xdb\x02\xf1\xd0\xa8\xc7\x7e\xbc\xd7\xae\xf2\x7d\xbf\xb7\x67\x62\xb2\x77\xf4\xfe\xe9\x93\xf4\x37\x28\x7e\x1f\x76\x70\x88\xe3\xd6\x5d\x5c\x70\xa6\xaa\x43\x59\xe4\x3c\xa9\x88\x84\xbd\x06\x8c\x33\xaf\x72\xb0\x2a\x16\x17\x9d\xb6\x8a\xd6\x26\x31\x4d\x2a\x91\xed\x82\x9d\x70\x89\xe4\xcb\xf0\xbe\x86\x3f\x8c\x5e\xd7\x5e\x23\xbe\xad\xbd\x46\x11\x46\xad\xbc\x6f\x26\x76\x76\xac\x93\x3a\x37\xb8\x2b\x16\x17\xf0\x84\x84\x66\xf6\x9f\x56\x37\x9d\x92\x59\x12\x27\x31\x96\x77\x82\x68\xac\x36\xb4\x45\x28\x44\xd3\x27\x06\xbe\x47\x45\x92\x16\xd4\x64\x0e\x58\xe2\xb1\xae\x6e\x6a\x3d\x33\x68\xa0\x51\x8e\xe5\xce\xb2\x98\x9d\x61\xa0\x91\x69\x66\x58\x9b\x6a\x93\xee\x5c\xe5\xcb\x5d\x68\x96\x67\x6a\xc2\x4f\x2f\x9e\xd6\x95\xf3\x4d\xb1\x2e\x31\xa3\x83\x50\xa4\x2e\x87\x45\xe9\xbc\x3b\x64\x5c\x40\x2e\x03\x6a\xfe\xd0\x48\xe0\x4f\x45\x65\x60\x38\x3a\x0a\xc8\x6e\x2f\xd6\xd6\xe2\x08\x73\xf2\xb9\x58\xb1\xa6\x4a\x31\x39\x80\xb9\xdf\xb4\x17\xa6\xac\x77\x9d\xb0\x1e\x8d\xdd\x7f\x51\x3f\xe7\xc0\xd7\xaa\xe3\x13\xbf\x65\xdf\xa7\x3d\x3b\xf9\xec\xa1\xda\xe1\xad\x9e\x6e\x53\xef\xe3\x7e\xd2\x3e\x31\x3e\x93\x7a\xc4\xac\x13\x6f\x42\x49\xc6\x8f\x0e\x70\xd9\x75\x67\xc4\xf1\xa5\xb5\xd0\xdd\x72\x0c\x72\x49\x36\x51\x2b\xe5\x88\x8d\x74\xa0\xc5\x88\xd9\x34\xc2\x23\x79\x8a\xef\x22\x4e\xae\x89\x1a\x2a\x54\x96\x5d\x0a\x11\x09\xd6\x9d\x03\x6a\xcf\x3d\x68\x06\x9e\x33\x55\xed\xff\x12\xea\xf6\x14\xae\xec\xc1\x5a\xb0\x09\x37\xa2\x46\x58\xe6\xfe\x41\x87\xdc\xd3\x5a\x65\xdf\x28\xec\xad\xb2\x2c\xd8\x78\x95\x30\x27\x08\x42\x17\xa0\xa8\xeb\x17\x5c\x26\x4e\xac\xf4\xa9\x44\xa9\x35\xf5\x62\x27\x59\x71\x7d\x62\x31\x8d\xc1\x6f\xf4\x57\xaa\x2d\x48\x99\xeb\xcf\xbe\xf8\x02\x11\xe0\xde\x63\xf4\xcc\x1e\x5c\x0c\x7a\x6f\x99\x87\x8d\x66\xc3\x03\x0f\x8b\x92\x73\x54\x5b\xfa\x9c\x51\x1b\x31\x6e\x56\x7e\xd9\x09\xab\xfe\x0d\x33\x53\xfb\x23\x1a\x00\x6a\x42\xa4\x8e\xc3\x1b\x8b\xef\x6b\xf8\xe3\x07\x3f\x9a\xb9\xb7\xa3\x23\x1d\xd8\x8a\xa8\x1f\xb1\xfc\xff\xbe\xfd\x9f\x00\x00\x00\xff\xff\xae\xe6\x0f\x58\x56\x14\x03\x00") + +func cfI18nResourcesPtBrAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesPtBrAllJson, + "cf/i18n/resources/pt-br.all.json", + ) +} + +func cfI18nResourcesPtBrAllJson() (*asset, error) { + bytes, err := cfI18nResourcesPtBrAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/pt-br.all.json", size: 201814, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesZhHansAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xfd\x7b\x73\x14\x47\x96\x30\x8c\xff\xff\xfb\x14\xf5\xe3\x89\x0d\x3c\x13\x92\xb0\x3d\xb3\x1b\x4f\x10\xf1\xc6\x3e\xb2\x90\xb1\xde\x11\x48\x2b\x09\x76\x1d\x66\x82\x29\xd4\x25\xa9\x87\x56\x57\x4f\x57\xb7\xb0\x66\xd6\x11\x02\x23\x90\x40\x37\x6c\xee\x08\x03\xb6\xb8\x8c\x6d\x24\xf9\x32\xa0\x2b\x7c\x97\x99\xae\xee\xd6\x5f\xfe\x0a\xef\xb9\x64\xdd\xba\x2b\xb3\xb2\xa5\x16\xf6\xec\xfb\xee\xc6\x98\x56\x77\xd5\x39\x27\x4f\x66\x9e\x3c\x79\xae\x1f\xfd\xff\x0c\xe3\x2f\xf0\x3f\xc3\x38\x90\x4e\x1d\x38\x6c\x1c\x38\x95\x3d\x95\x1d\xe8\xea\x3d\x7c\x2a\x7b\xa0\x85\xbf\x2f\xe4\xcd\xac\x93\x31\x0b\x69\x3b\xeb\x3d\x50\x9e\x5f\xa8\x2c\x6d\xfc\xb4\x75\x17\x9e\x82\x87\x3e\x69\x89\x83\xf2\xa1\x5d\xcc\x1b\xff\x77\x7f\xcf\x71\xc3\x29\xe4\xd3\xd9\x61\xc3\x19\xcf\x16\xcc\x8f\x8d\xb4\x63\xa4\xb3\x63\x66\x26\x9d\x6a\x33\x8c\xde\xbc\x9d\xb3\xf2\xa1\x9f\x0a\x23\x69\xe7\xb0\x61\x0c\x0e\x19\x8e\x55\x68\xcd\x17\xb3\x59\x78\xb5\xd5\xca\x8e\xa5\xf3\x76\x76\xd4\xca\x16\x5a\xc7\xcc\x7c\xda\x3c\x93\xb1\x5a\x87\xf3\x76\x31\x67\x1c\xfc\xcb\xa9\x03\x59\x73\xd4\x3a\x75\xe0\xf0\xa9\x03\x00\xb6\x08\x9f\x5a\xea\xbf\xfa\xe4\xa0\x6a\x3c\x17\x9e\x55\xee\x5e\x64\x62\xdd\xe7\xb7\x2a\xdf\x3e\x29\xad\x7d\x5f\x5d\x79\x5e\xfe\xe1\x46\xf9\xd6\xc3\xf2\x8d\xa9\x7f\x4c\x5c\x28\x3f\xff\xaa\xf2\x68\x19\x1e\xe3\xef\x4b\x6b\x38\xfe\xfd\x20\x73\x5f\x19\xea\x14\xcc\xe1\x7f\x02\x86\x36\x95\x4c\x09\x43\x7f\x6d\x0c\x8c\x58\x8e\x05\xf8\xf2\x63\xe9\x41\xcb\xc8\x65\x60\x18\xc6\x88\x39\x66\x19\x66\xd6\x30\x1d\xc7\x1e\x4c\x9b\x05\x2b\x65\x0c\xda\x4e\xa1\xcd\xe8\xc8\x5b\x30\x44\xe0\xba\xe9\xbf\x91\xce\x02\x9d\x59\xf8\x70\x2e\x9d\xc9\xc0\x5f\x83\x30\x3f\xc8\x6e\x7e\x43\xca\x9e\x5f\x1b\xd5\xd7\x77\x4a\x1b\xf7\xca\x8b\xb3\xee\x95\x47\xee\xe3\x5b\x3b\x4b\x0b\xee\xe4\xcb\xf2\xe2\xb4\x3b\xf9\x43\xf5\xfc\x75\x60\x49\x79\x6a\xa1\xbc\xf8\x2d\x30\xc9\x9d\xba\xe7\x6e\x6e\x88\x27\x97\xbf\x28\xbd\xba\xea\xae\x5e\x2a\x6d\x3c\xad\x5c\x7f\x50\x7e\xbe\xe4\x3f\x26\x1b\x63\x7b\x2e\x07\x8b\xc5\xcc\xc3\x30\x14\x1b\xda\xdd\xb8\x5e\xb9\xfe\xac\xf2\xec\xaa\xbb\x31\xef\xbe\xfc\xde\x5d\x58\x71\xaf\x3c\x93\x6f\x6d\x04\xfa\x97\xbf\xb4\xc1\x3f\xc7\x81\xd9\x9f\x7c\x62\x9c\x33\x1d\x0f\x8b\x51\x74\x90\x47\x82\x0b\xa3\xa3\x66\x36\x65\xfc\x01\x1e\xee\xe0\xcf\x9f\x7c\xf2\x07\x4d\x3a\xa2\x18\x80\xaa\xd2\xf6\x6b\xf8\xb1\xb4\xf9\xb8\xb4\x76\xd5\xbd\xb6\x5d\xda\x5c\x62\x3a\x61\xd1\xd4\xc2\x97\xd0\x7d\xdc\x36\xcc\x5c\xda\xb0\xb2\xa9\x9c\x9d\xce\x16\x70\xa1\xc9\x27\xa9\xbc\xf8\x75\x75\xf9\x55\x65\x7b\xb9\xb4\xb9\x59\xda\xbe\x61\xb4\xf7\x76\x19\x95\x6f\x56\x2a\x17\xd6\x15\xec\xee\xb3\x8b\x05\xcb\x28\xd8\xc6\x19\xcb\x28\x66\x47\xcd\x5c\x0e\x38\x02\x9c\xc8\xda\x05\x03\x16\x47\x1e\x96\x71\x66\xdc\x10\xdf\xc3\x63\x85\x11\x58\x6b\xb9\x5c\x26\x3d\x48\x98\xe5\xd4\x54\x9f\x9c\x77\xe7\x6f\x96\x5f\x4c\x95\x6f\x3f\x74\x57\x2f\xe2\xa6\x79\xb9\xe2\xbe\xba\xe8\x6e\x7f\xee\x4e\xcf\x02\xad\xfc\xbd\x3b\xb5\x1a\xe6\xa1\x82\x52\x14\xf1\x86\x71\x02\x96\xff\x41\xd8\x72\xa3\x66\xfe\xac\x55\x80\x0d\x00\x6b\xb9\xd5\x31\xfa\x3b\xfb\x4e\x76\x75\x74\x1e\x44\x12\xc7\xd2\xd6\x39\x23\x65\x39\x83\xf9\x74\x0e\xe9\x71\x0c\x7b\x08\x96\x7a\x2a\x3d\x96\x4e\x15\xcd\x8c\xd8\x35\xf0\x9d\x69\x0c\xa7\xc7\xac\xac\xb7\x39\x14\x9c\xf5\x0e\x0f\x9e\xd1\xbf\x4f\x2c\x4a\x29\xf8\xfb\xc4\x7d\x77\x7e\xa5\xfc\xe0\x71\x65\xf1\x6a\x65\xf3\x8e\xbb\x7c\x97\x77\x02\x8c\xdf\x5d\xb8\x58\x5a\xfb\x9a\x37\x0f\x6e\x98\xf9\xf9\xea\xeb\xd5\xa4\x01\xb7\x3b\x4e\x7a\x38\x6b\xe4\xed\x8c\xe5\xc0\xa6\x2d\x8c\x80\x14\x81\xb5\xc3\x33\x03\xcc\xc8\xc3\x52\x43\xf1\x63\xe7\x87\x5b\xf1\xa1\x83\x06\xae\xdf\xf8\x67\x9c\x1c\xd0\xca\x4f\x25\x0f\x75\x67\xe2\x6e\xf5\xf5\x65\x18\xaa\x12\x1d\x0e\xf7\xb3\x19\xd9\x53\x01\x42\x7c\x6e\xea\xd2\xce\xe4\x6c\xf5\xe9\x67\xd5\xe9\xef\x95\x43\xa6\x29\x46\x78\xef\x0f\x98\xf9\x61\xab\xe0\x6f\x14\x9a\xdd\x02\x7d\x67\x64\x61\x8e\x09\x7c\x03\x93\x16\x07\x93\xe7\x0b\xa4\x3a\xce\xd4\xcd\x55\x98\x97\xca\xbd\xe5\xf2\xc3\xcb\x95\xbf\x6e\xec\xdc\xfa\x51\x8f\x4e\x19\x7d\xc0\xa4\x06\xa9\x4b\xa4\x6a\xf3\x62\x65\xf3\xb2\x92\xaa\xa2\xd8\x20\x19\x1b\x8e\x23\xa3\xd5\x24\x31\xd0\xda\xea\x9c\x4d\xe7\x5a\x1d\x27\xd3\x4a\xa7\x2e\x11\x72\x10\x08\xa4\x47\x51\xc4\x28\x9e\x82\x41\x39\xc5\x5c\x2e\x6f\x39\x7c\x34\x1b\x56\x3e\x6f\xe7\x1b\xdb\x2c\xc9\xd4\xc0\x90\xcb\x53\x37\xf9\x69\x25\x41\x82\x37\x4f\xce\x97\x9f\x7f\x59\xbe\xfd\x0a\x70\xc1\xb1\xb2\x73\xfd\x4e\x75\x65\x25\x9e\x31\xf0\xa9\xe3\xfd\xd3\xc7\xdb\x8f\x75\x82\x7c\xcf\x8d\xb7\x3a\xa0\x94\xc0\x9e\xed\xef\x39\xd1\xd7\xd1\xd9\xda\xde\xdb\x6b\x0c\xb4\xf7\x1d\xed\x1c\xa0\x8f\x1f\xc1\x56\x16\x7f\xf6\xf7\xb6\x77\x74\xc2\x17\xb6\xf7\x45\x4f\xdf\xd1\xdf\xff\x1e\xbe\x68\xcd\xda\xad\xc0\x0d\x3c\x3e\x7e\x2f\x3d\x1b\xf6\x1b\xab\x6c\xa8\x3d\x24\xf3\xcc\x0c\x48\xed\x5c\xde\x06\x91\x07\xf2\xda\xc8\xa4\x9d\x02\x4a\x3c\x3a\xdf\x5a\x53\x56\x26\x3d\x9a\xc6\xa3\x0f\x74\x16\x9c\x53\xb3\xc0\xfa\x00\x9c\x01\xe7\xf2\xe9\x42\x01\x64\xa2\x10\xf5\x27\x3b\xda\x7b\x4f\x0b\xd1\xd6\x6f\x84\x74\x1b\xc3\xd3\x6d\x8c\x21\x58\x45\x66\x76\xdc\x38\x63\x17\x41\xf2\x84\xce\x06\x47\x26\x50\xe1\xab\x9f\xb6\xa6\x60\x12\x77\x26\xa6\x7f\xda\x9a\x86\x05\x53\x7a\x75\x6f\x67\xe2\x96\x3b\xff\x12\x85\xc4\x5d\x52\x27\x1e\x5e\xae\x2e\xaf\xba\x53\xb7\xaa\x8f\xe0\xbc\x9c\x81\x29\xe6\xcf\xa0\x4b\xb8\x97\xee\xb8\x93\x8f\xf9\x90\xab\x6c\x5e\x83\x2d\x12\x3e\x41\x50\x89\x8b\x52\x5d\x99\x5b\x71\xbf\xfc\xd4\x9d\xbf\xbd\x73\x59\x7e\xbe\xc4\x73\x4e\x9c\x0c\x20\xc8\xac\xc1\xf4\x50\x7a\x10\x18\x98\x1d\x4a\x0f\x17\xf3\x34\x16\x23\x67\xe6\xe1\xb0\x2f\x58\x79\x54\x67\x81\xcd\xb4\x48\x59\x85\xb4\xcf\xfc\xd1\x1a\x2c\xc0\xd7\xad\x99\x74\xd6\x6a\x3b\x95\x0d\xad\x87\x62\x0e\x56\x32\x00\x15\x3a\x59\xeb\xa0\xbe\x66\x88\x9a\xaa\x6c\x92\x87\xd2\x30\x1b\x40\x60\xc1\x4c\x67\x49\xd7\xde\x23\xf1\x6d\x06\xe1\x02\x95\x13\x9e\x85\x83\x47\x2c\x89\xd0\x7b\x8c\x11\x54\xcf\x33\xac\x80\x9e\x71\xec\x0c\xaa\x13\xb0\x22\xf2\x16\xce\xf7\x58\xf0\x2a\xd3\x97\xc4\x88\xde\xf6\x81\x0f\x4e\x0f\xf4\x9c\x7e\xbf\xab\xbb\x53\x8c\xb5\xf3\x63\x73\x34\x07\x78\x60\xf9\xd6\x91\x78\x98\x9e\xf8\x0b\xfd\x17\xfe\xef\xd4\x81\xc1\x4c\xd1\x01\xd2\x4e\x67\x6d\x50\x00\x80\x75\xc1\x6f\xfc\x33\xac\xd1\x02\x7e\xfd\xaf\x2d\x91\xef\x47\xad\x51\x3b\x3f\x7e\x7a\xf4\x0c\xfe\xf6\xce\xdb\xef\xfe\xd6\xfb\xf5\x13\xfa\xf0\x89\xde\x42\x76\x17\x9f\x81\x46\x0c\x57\x85\xe0\x22\xb1\xb2\x5e\xfd\xee\x51\x69\xed\x39\x28\x81\x95\x7b\x3f\x96\xe7\x1e\x97\xe7\x3f\x83\xc5\x5b\xbe\xb9\xee\x6e\xcd\xf3\xc2\xaf\x4c\xaf\xc3\x12\x2e\x6d\xcc\xf9\x8a\x02\x1c\x93\xa0\xc5\xb9\xf3\x17\xca\x37\x50\x3f\x68\xf2\xda\xa9\xdf\x7a\xee\xcc\xa4\xbb\xf0\x0d\x93\x5e\x43\xb7\x9a\x38\xdc\xa7\x37\x2f\x97\x36\x5f\x78\x54\xf2\xd7\xfc\x5d\xa0\xf1\xcd\xaf\x90\x0e\xbc\xe1\x7f\x5f\xd9\xbc\x8f\x18\xe8\x57\x10\xfa\x95\x7b\x6b\xfe\x9f\xc9\xe3\x8d\x59\x22\xf5\xa4\x23\x92\xa5\x0d\xb8\x7b\xd0\x8d\xff\xcd\xac\x91\x9f\x41\xae\x1c\x16\x0c\xf0\xb8\x75\x06\xd4\x5c\x9f\x57\x70\xb0\xf0\xb7\x42\x12\x9e\xee\x3a\xde\x3f\xd0\x7e\x1c\x4e\x97\xff\xf7\x4a\x1c\x7d\x06\xed\x55\x12\xe5\xac\xfc\x68\x1a\x94\x77\x38\x07\x71\xc1\x9c\x3a\x00\x97\xf1\x54\xab\x9d\xcd\x8c\x9f\x3a\xf0\x73\x0b\x15\xda\x14\x6f\x68\xe1\xfc\x73\x89\x9b\x3d\xad\x8f\xc6\xc4\x90\xc6\x02\xf9\x05\x48\x94\x41\xb4\x21\x05\xf2\x57\x70\xc2\xe8\xed\x6e\x3f\xfe\x4f\x24\x57\x9a\x2f\x56\xf6\xca\xa7\xff\x4f\xd1\x49\x94\x49\xfb\xbd\xf4\x7e\xd9\x92\x69\xef\xfc\xf8\xa7\x53\x94\x7a\x71\x87\x39\x23\x76\x31\x93\xa2\x8d\x68\xfc\x39\x9d\xa3\xcd\xd6\x02\x9f\x8b\xf9\x0c\xef\xbe\xe0\x4b\xbc\x78\x1a\x19\x7b\xd0\xcc\x18\xa9\x74\x1e\x76\x09\xa0\x6d\x33\x7a\x6d\x27\x4d\x62\x21\xed\xc0\xcf\x39\xfa\x6b\x0c\x2d\xdf\x05\x6b\xd8\xca\xb7\xa0\x61\xca\x01\x59\x93\xb6\xe1\xa6\x3b\xde\x42\xe6\x32\x78\xd2\xb1\xc9\x16\x3c\x94\xb7\x47\x01\xe4\x39\xb8\x67\x23\xb6\x91\xf4\xf0\x88\x25\x37\x8c\x7b\x34\xc3\xfd\xb3\xba\x82\x13\x4b\xc4\x79\x2b\xe1\x7c\xf0\x07\xee\x93\x13\x7d\xdd\x06\xcc\x71\x79\xf1\x5b\x77\x71\xb5\x72\x6f\xd9\xdd\xbe\x01\xab\xc5\xa7\xd6\x87\x51\x7e\xfe\x55\xf9\xc6\x8f\xb4\x23\x66\xd0\x7c\xbc\x31\x27\xac\xba\x5b\xb7\xdd\xc9\xa9\xca\xc6\x53\xf8\xde\x5d\x7f\x51\x9e\x99\x2e\x6d\xce\x95\xb6\xe7\xdc\xa9\xd5\x9d\x6f\x6e\xe3\x82\x7c\xb4\x01\xf7\xdf\xf2\xdc\x67\x2a\x3b\xaa\x27\x07\x59\xd6\xa6\x58\xaa\xed\x42\xa1\xea\x2a\x78\x33\xc5\xee\x07\x03\x8d\xe8\x20\xbc\xcc\x7c\xde\x1c\x67\x43\x65\x48\x7c\xa1\x60\x76\x50\xb6\xb3\x59\xf6\x0c\x1b\xdc\x2d\x23\x5f\xcc\x58\x2a\x33\x81\x10\x1c\x7b\x3a\xda\xdd\xe5\x4f\x99\xb7\xec\xb0\x28\xad\x4d\x94\xd6\xbe\xc6\x3d\xbb\x79\x11\x39\x39\xf9\x02\x76\x37\x6f\x7c\xe6\x36\xdb\x65\xab\x4f\x2f\xba\x53\x77\x6a\xe4\xdb\x7e\x72\x95\x21\xd0\x41\x14\x62\x2c\x8d\x60\x4f\xcc\x65\xb8\xf4\xf8\x7b\xa6\x63\x19\x3d\xe2\xb8\x77\x58\xd7\xb6\x47\xd1\xde\x93\xa2\x6d\x80\xba\x07\xbd\xe9\xfc\xa9\x68\xe6\x2d\xe3\x4c\xde\x1c\x3c\x8b\xbb\x05\x7f\x0c\x7b\x97\x46\xd2\x40\x9e\xd0\x1b\xf0\xc1\xbc\xf5\xa7\x22\x6c\xc0\x14\x1e\xbf\x05\x31\x0a\x40\x2c\x84\xce\x49\x3a\xcc\xfe\xe8\xc0\x22\xa7\xe1\x59\x7c\xce\xf1\x91\xf6\x91\x10\x0e\x81\x68\x01\xcd\x28\x6f\x17\xec\x41\x3b\xc3\x6a\x51\x61\x30\x87\x72\x3c\xf8\x19\x86\x59\x48\x67\x69\x99\xf0\x13\xef\xbc\xdd\xf6\xee\x6f\x7f\xdb\xf6\x4e\xdb\x3b\xff\x3b\xfa\x64\x0e\x36\xb5\x50\xae\x7e\xf3\x9b\xb7\xff\x4d\xe8\x55\x9e\x20\xfa\xfd\xbe\xad\x3b\x58\x6c\xfc\x24\x2f\x3c\x5e\x86\xcd\x58\x7d\x70\xf0\xfa\xb0\xf1\xc5\xd5\x4b\x04\xbb\xb2\x78\xbe\x72\xe3\xb1\x78\xf6\xc1\x06\x8a\x18\x7a\x83\x25\x45\x69\xed\xba\x3b\xff\x35\x8a\xfe\x9b\xeb\xe5\xab\xdf\xa2\x95\xed\xb3\x19\xdf\x6f\xe7\x3e\x5f\xe0\x87\xcb\xb7\x57\xdc\xd7\x93\x3b\x8b\x13\xf0\x25\xed\x9d\xd0\x89\xe1\x53\x22\x18\x10\x39\x31\x7e\xd6\x29\x94\x6d\xc7\x93\xe8\x04\x02\xb5\xd2\x3e\x47\x46\xca\x3f\x15\xed\x82\xe9\x39\x50\xbc\x03\x95\xbf\x94\xf9\x42\xe0\x2b\xdf\x07\x12\x7d\x03\x4d\xd5\xe4\xe0\x71\x27\xcf\x57\x97\xd7\x58\x17\xd8\xf9\xf2\xbe\x84\x18\x33\x85\x22\x01\xb0\x4b\x31\xb9\x2f\xbf\x2f\xbf\xdc\x74\xaf\x3c\x84\x25\x26\x01\x92\xb2\x2d\x76\xca\x59\x1f\xa3\x2d\xd7\xc4\xb3\x2d\x6f\xe5\x6c\x19\xc8\xd2\xda\x6c\x69\x7b\x11\xe0\xb9\xcf\x6f\xbb\x17\x9e\xb9\x1b\x9f\xe3\x87\xc5\x67\x12\xf0\x68\xc4\x95\x81\xe2\x85\x29\x79\x11\x0f\xd9\x0c\xde\x5c\xc6\x3d\x7f\xaa\x62\x90\xec\xfe\xd4\x81\x64\xa3\xbf\x51\x05\xe9\xfc\x62\xf9\xf9\x97\x72\x48\xd6\x68\xae\x30\x2e\xe7\xcd\x46\xe5\xaf\x32\x46\x0b\xdf\xa7\x39\x66\xa6\x33\xb4\x74\x40\xa6\x21\xa3\x15\xb3\xb7\xf8\xcc\x67\x32\x6a\xc0\x6b\xb3\xe8\x9f\xb8\xae\x18\x27\x22\xc8\x5b\x4e\xce\xce\xa6\x40\x58\x83\xca\x92\xb1\x50\x34\x8f\x9a\x67\x41\xf6\x16\x41\xa0\xa6\x0b\xac\xbd\xf0\x3d\x20\x97\x29\x0e\x0b\x2a\xa4\x67\x65\x79\xf1\x6b\xf7\xf3\x59\x90\x37\x24\x7e\x5e\x56\x1e\x2d\x97\x5e\xdf\x87\xa3\x0f\x76\xb5\xbf\x85\x41\x25\x47\x99\xe4\xd1\x2a\x3f\xcd\x90\xbe\x21\x34\xe7\x4b\xb1\x4d\xbf\xc2\x61\x4e\xad\x4a\x00\xe4\x41\x05\x1c\xf3\xd5\x29\xe1\x7c\x40\xfa\x41\xd9\x01\xbd\xcb\x72\x14\x53\x0b\x5a\x4d\xb0\x66\xc9\xe6\x0f\x4c\xdd\xb9\xb3\xe4\xce\x6d\x4a\x1c\x5f\x07\x7a\x89\x41\x20\x26\xbc\x43\xc9\x1f\x80\x77\x22\x09\x6e\x03\x49\x29\xb3\x60\xca\xb8\x88\x33\x49\x4c\x44\x66\x81\xfa\x3e\xbb\x0c\xa8\xfd\xb1\x82\x1c\x10\x88\xd0\x05\xa5\x56\x08\x0e\xfa\xeb\x08\x50\x0f\xa7\x51\x8d\xa6\xb0\x0c\xf2\xef\xb5\x19\xfd\x16\x3b\xe9\x46\xac\x4c\x4e\xb6\xae\x0e\xe2\x1e\xc6\xe9\xfb\xe1\x99\x7b\x69\x06\x25\x35\x85\x10\xf0\xfc\xc2\xfd\x62\xe7\xf6\x24\x7b\xcb\x10\x08\x50\x24\x21\xe4\x2f\x7f\x69\x3b\x09\x57\x5c\x00\xda\x3f\x02\xb2\x14\xbd\x94\x9e\x87\x58\x7c\xdf\x6d\x67\x87\xe9\x6b\x58\x78\x66\xc6\x01\x8d\x64\x70\xd0\xca\xc1\x4e\x96\xb1\xa9\xfa\xfa\x36\x5c\xf0\xdc\xf9\x5b\xec\xb5\x8c\x82\x0f\x7b\x84\x23\x08\xe0\x07\x29\xbb\x7e\xe5\x6f\x7d\x12\x6f\x52\x95\xf0\x57\xb4\xf7\x49\x90\x49\x61\xfd\xfa\xd7\xed\xe8\xc1\xc2\x57\x0e\x1b\x62\xc2\x68\x6c\xa0\x18\x99\xb8\xf6\x7c\x1f\xd7\x99\x71\xb8\x1e\xd0\xa3\x64\x7f\x80\xdb\x4c\x1e\x2f\x3c\x20\xab\x8b\x05\x18\x0c\xe8\x4e\x5d\x18\x2e\x93\xc9\x10\xc7\xd0\xb1\x9a\xf3\xc0\x15\x8c\x71\x0c\x6d\xb2\xcf\xc1\xb6\x4c\x3b\x67\xdb\x7e\xfd\x6b\x3c\x2f\x8f\xd8\xf8\xb5\x71\xce\xcc\xd2\xed\x21\x2d\xde\x26\x63\x03\xef\x61\x60\x0a\x93\xf4\xc9\x27\xff\x6e\xbc\x35\x8e\x0a\x61\xf6\x57\x92\xc1\xfe\xfa\xd7\x30\xf5\xe5\x8b\xf3\x70\xce\xf2\xce\x85\xc5\x50\xb9\xfe\x1d\x08\x97\xea\xa7\xdb\x2c\x65\x4a\xaf\xf1\x02\x07\x82\xbe\x3a\x31\x59\xd9\xba\xe9\x5e\x42\x9d\xa1\xb4\x31\x53\x7d\x7d\xcf\x9d\x7a\xe1\x5f\x49\xdd\xe5\xe9\xea\x57\x93\xa8\x0a\x90\x4b\x56\x40\x9b\x9e\xe0\xa8\x1c\x3c\xbf\xbe\x9a\xdb\xb9\xf3\x57\xba\x70\x7c\x57\xbe\xf0\xac\x7a\xf9\xeb\xea\xa3\x99\xf2\xf4\xeb\xf2\xd5\x49\xa1\x0a\x60\x38\x07\x41\xe1\x97\xc3\x03\x31\xdc\x85\x5b\x3f\x6d\x3d\x80\xeb\xf4\x38\x5e\x70\x8c\x2c\xdc\xa7\xe3\xa7\xa6\xdd\x0f\xb0\x41\x53\x13\xb0\xc8\xce\x30\x9f\x60\x7b\x98\x83\x05\x3e\x9e\x3b\x32\x76\x31\x65\xbc\x8f\xbb\x37\x2f\x13\xe1\x7c\x24\x95\xd6\xe6\xa2\x4f\x1b\x30\x6e\x20\xbc\xb4\xb1\x54\xda\xf8\xcc\xdf\x31\xf0\x8d\xfb\x12\xb5\x7f\x09\x51\x47\x8e\x1c\xea\xeb\x3c\xd6\x73\x12\xaf\xd2\x27\x8e\x76\x1d\x97\xe0\xe4\x13\xfa\x10\x4b\x22\xe6\x82\x26\x40\xa3\xaf\xb3\xb7\xa7\xbf\x6b\xa0\xa7\xef\x43\x7d\xd8\xbe\x0c\x94\x21\x39\x89\xf7\xfc\x23\x12\x80\x78\x23\xdc\x78\x2a\x79\xb5\xbb\xab\xbd\x5f\x26\x01\xa7\xbe\x71\x17\x66\x25\xef\xf5\x76\xf9\x91\x48\x92\xd7\x83\x90\xa3\x64\x10\xc6\x5b\x56\x1b\x9c\x7d\x23\x85\x42\xce\x39\x7c\xe8\x90\x99\x4b\xb7\x89\x9b\x41\x1b\xac\x12\xd9\xa6\x08\x30\xc0\x7a\xc3\xd8\xb2\x27\x17\x60\xd9\x4a\x80\xc8\x17\x62\x88\x8e\xc3\x1a\x98\xee\x6a\x80\xa1\xf0\xaf\xde\xae\x4e\xf1\xf7\x27\x32\x5b\x5a\x04\x6e\xdd\x3b\xbb\xc0\x63\xbc\x85\xbf\x8f\xb1\xac\xf5\x7e\x16\xa2\xf7\x93\x4f\x74\x18\x59\x47\x06\xf0\x96\x7e\x9f\x9e\x82\xbb\x84\xff\xbb\x0f\x53\x8f\xaf\x48\x49\xc3\xdc\x48\x66\x45\xaf\x74\xed\x86\xa2\x00\xa4\x2f\xfb\x16\x32\x19\x94\xe8\x33\x52\x30\x78\x1d\x50\x40\xa0\x9f\xe3\x5f\x86\xc3\xd5\x71\x48\xe1\x0e\x05\xa2\xe5\x40\x75\x4e\x0f\x16\x33\x66\x1e\x6e\xdd\xf6\x59\x4b\x16\x5e\x03\x6a\x87\xb0\x44\x6e\x7e\x55\x59\xb8\xe4\x87\x3c\xf8\x51\x65\xd5\xe5\xd7\x3b\xb7\x96\xcb\xf7\x3f\x4d\xc4\xee\xd9\x11\xd1\x3e\x5a\x47\x84\xf7\xa3\x3d\x34\x64\x61\xe0\x6e\x12\x39\x6c\x15\x85\xf3\xc4\xfd\xfc\x3c\x2a\x4f\x1c\xfd\xb9\x30\x5b\x79\xba\xaa\x43\x14\x9a\x0f\xd0\x6c\x21\xa2\x92\x01\xfd\x60\x11\xcd\x73\x06\x05\xce\x3a\x74\x79\x82\xc5\x01\x47\x70\x3e\x4b\xe1\x95\x32\xa5\xa9\xfc\xfc\x2b\xd0\x0d\xe0\xb2\xce\x0a\x48\xf0\x02\x68\x1f\xd5\x8d\x6f\x4a\x9b\xdb\xd5\x39\x50\x9e\x6e\x56\x5f\x2f\xe0\xb1\xb0\x3c\xed\x4e\x3e\x83\xab\x78\x12\x5d\x22\xb8\xb7\x86\x2e\x24\x2b\x82\x24\x89\xa8\xe8\xd3\x46\x98\x20\x38\xbd\xab\x2b\xd7\xca\xd3\x9f\xa3\x31\x20\x81\xac\x14\x68\x28\x14\x60\x16\xba\x18\x90\x62\x2d\x3b\x2e\xf9\x78\xe1\x40\x32\xbd\xd3\x85\x50\xa0\xc9\x35\xef\xc5\x87\xa2\x19\x2b\x97\x93\xad\x83\x85\x6b\xe1\xdd\xc7\xf8\xc8\xe2\xc9\x36\x11\x29\x16\x9a\x74\x42\x01\xac\x81\xe7\x81\x2b\x88\xab\x36\x5c\x17\x06\x69\xe7\x87\xf1\xbb\x9e\xfc\xb0\xf8\xee\x10\xc7\xff\xe1\x97\xfd\xf8\x41\x7c\xcd\x73\x72\xc2\xe7\x72\x5b\x9b\x4c\x99\x8c\x4c\xcb\x89\xda\x69\x81\x21\x71\xb4\x5d\x04\xeb\x21\x8e\x0b\xac\x45\x8a\x0e\x02\xd8\x84\xd2\x60\x60\x66\x08\xf3\xc2\x1f\x29\x52\x16\xcf\x97\x4c\x1a\x46\x11\x8d\x41\xf6\x2e\x32\x62\xca\xcf\x58\xc8\x39\xa1\x60\x72\xc4\x2e\x2c\x09\x36\x2c\x76\xbc\xef\xa9\x59\x87\x4c\x84\xd4\x66\x18\x7d\x16\xed\x72\x04\x50\x03\xd6\x53\xc8\x12\xc0\x23\xff\x53\x56\x1e\x27\x07\x40\xd1\xb5\x98\xed\x8e\xf8\x00\x7b\xe1\x84\x8e\x2c\xbd\x34\x78\x0a\xa4\xbf\x06\x05\xd3\x48\xe3\xa8\x8f\x7f\xa4\x8b\xeb\xb7\xe5\xc5\x0d\x1c\x0f\x2b\x72\x87\xf8\x59\x54\x68\xe1\xf6\x25\x81\x17\x13\x49\x49\x2f\xef\x5c\x9e\x85\x0f\xf0\x3a\xa8\x0b\x68\xcc\x7b\xf5\x1a\xb4\x68\x77\xe9\x41\x8d\x6e\x8c\xe6\x35\x82\x26\xbd\x5f\xc4\xcf\x0e\xf2\x3f\xc2\x75\xe4\x99\xe0\xe6\x41\x5f\x59\xe6\xe5\x70\x10\x66\xe4\x43\xb8\x27\x0c\x92\x99\xb7\x90\xc7\xab\x87\x60\x25\xb2\x5d\xf6\x16\x71\x18\x26\x29\x1b\xba\x58\x00\x5e\xf1\x78\x78\x8a\xd2\xd9\x31\x38\x43\x14\xd3\x0d\x04\x7c\x60\x9f\xb3\xc6\xd0\x1f\x82\x37\x16\x61\x71\x1e\x4a\xe7\xe1\xaa\x3e\x54\xe4\xdb\x10\x00\xc3\x64\x01\xc2\x69\xa4\x47\x73\xa8\xa1\xc3\x39\x11\xa1\x15\x7f\xa2\x2b\x1b\xfe\x51\x4f\x31\xd3\x26\xbd\x6e\x2b\xa6\x9e\xe6\x80\x7f\x0a\x83\x84\x5f\xc5\xb2\xa9\x59\x11\x70\x6b\x81\xfb\x90\xbb\x7a\xbf\xba\x72\xc3\x9d\x5d\xab\x6e\x6f\x2b\x40\xe0\x45\xe7\xe2\x0b\x77\x61\x4e\x5c\x69\x9e\x2f\xf1\xc3\xc1\xd2\x58\xfd\x34\x3e\x28\xd7\xbb\x82\x97\xb6\x2f\x01\x95\x68\x5f\x25\x0b\xef\xce\x93\x9b\xee\xe4\x94\xbb\x3c\x03\x72\xbb\xb4\x71\xa9\xfa\xf4\x2b\xa6\xa1\x32\xb7\x5a\x5e\x9c\x8e\xa5\x41\xac\xd9\xad\xbb\xfe\x25\xcc\xdd\xfe\xce\xfd\x7c\x56\xb1\xee\x42\xa1\xeb\x64\xa5\x17\x67\x34\xdf\xdb\xf9\xfa\x6c\xd2\xf9\x9e\xf6\xe3\x32\xe1\x1d\x10\x9c\x32\x73\x8b\xef\xcb\x84\xbb\x20\xe6\x72\x90\x12\xb1\x03\xdb\xe2\xe5\xf7\x95\xcd\x79\xbc\x5f\xbe\xba\xc7\x3f\xb1\x28\xe4\xeb\x15\x9f\xe6\xcd\x23\x92\x56\xb1\x3c\x56\x5a\x8b\xc8\xe7\x4b\x4d\xa5\x30\x9d\x6d\x02\x23\x41\x48\xa1\x41\x3f\xc4\x3f\x26\x99\xaf\xee\xcd\xa7\x71\x37\x7c\x14\x34\x7a\xec\x6b\x80\x40\xfb\x9c\xd1\xdf\xff\x81\x98\x4b\x81\xdf\x52\x86\xe4\xb3\xb5\x1c\x55\x46\x3a\x43\x79\xaa\x08\x88\x1a\x95\x63\x1b\x29\x2b\x63\x15\x2c\x0a\x33\x16\xa9\x28\xa4\x34\xc8\xa6\xc3\x5d\x98\x29\xdf\x7a\xe1\x4e\x3d\x84\x0b\x35\x8f\xb6\x26\x09\x45\x82\x8a\xb5\x8c\xd1\x22\x08\xc1\x33\x96\x88\xe4\xb7\xd0\x17\x0d\xc3\xf3\xfe\x16\xf9\x54\xaa\x71\xbe\x9e\xdc\x79\xb4\x89\xbe\x5a\x8a\xdf\x0f\x47\xee\x83\xc8\xc1\x60\xe6\xe9\x59\x38\x7b\x22\xbf\x2a\xb2\x0d\x30\x77\x69\xf7\x37\x1e\x78\xd9\xcf\xf9\xa2\xa8\x6f\x0d\x50\x9c\xb5\xb5\x73\x67\xc1\x9d\x92\x99\x38\x00\x2c\x69\x14\x69\xf6\x43\x08\xf7\xdf\x50\xda\xca\xc8\x6c\xc6\x11\x04\x74\x31\x60\x87\x93\xfb\xe8\x1b\xf7\xf9\xad\xf2\xf2\xdf\xe4\x98\x22\xaa\x54\xd4\x11\x22\x3d\x5a\xa4\xaa\x18\x2e\x6e\xb5\x01\xb1\x0e\x25\x0d\xf2\x9c\x9d\x3f\x4b\xe1\x03\x67\xd3\xb9\x5c\xa0\xb6\x52\x50\x06\x22\x6d\x94\x0e\x18\x3d\x3b\x03\xdd\x97\x8f\x4b\xdb\x8b\xfc\x08\x1e\x28\xab\x97\xaa\x2f\x7f\xa8\xbe\xbe\x2c\x5c\x8f\x94\x4d\xd7\x00\xa1\x42\x3a\x70\x34\x3e\xe8\x02\xa8\xa9\xb2\xf4\xe0\x87\x1a\xe7\x18\x09\x05\x0a\xb3\x9f\x5a\xad\x03\xa7\xe2\xa2\x05\x14\xe0\xfd\x1e\xd7\x07\x06\x54\xa4\xd2\xe6\x70\xd6\x06\x5d\x61\xd0\x61\xc7\x77\xc6\x1e\x26\x97\xb0\x8c\xa4\xd5\x4b\xf4\x7e\x75\xe5\x65\xf9\xbb\x0b\xd5\x95\x2b\xe5\x9b\xcf\x77\xee\x5c\x04\x4d\x1a\x28\x29\xdf\x7a\xec\xbe\xbe\xc5\x26\x4e\x29\x05\x5e\x2a\x82\x31\x62\x99\x19\x74\xc9\x8f\x58\x83\x67\x8d\xc2\x78\xce\x12\xd6\xa7\x83\xe8\x5f\xe4\x44\x98\xac\x9d\xb5\x0e\xca\xac\x25\x61\xee\xf0\xdd\xb1\x72\xe5\x85\x7b\xe9\x6f\xe5\xaf\x26\xd0\x15\xf8\xdd\xa6\xfb\xc5\xd5\xb0\x41\x0a\x8e\x7c\x84\xec\x27\xb5\x20\x70\x52\x3c\x64\x86\x93\x10\xad\xfe\x7e\x4d\x83\x0a\xf6\xb1\xf6\x7e\xad\xfc\xf8\xa5\xbb\x75\x43\x0a\xde\x91\xd9\xb9\xc2\x90\xe4\x96\x2e\x4e\x43\x33\xd9\x03\x2a\xee\x83\xf2\xb3\x06\x3d\x6c\x2c\xf0\x28\xe9\x4b\xe5\x1e\xf5\x21\xf3\x6d\x8e\xe1\xa7\xac\xa1\x74\x96\xe3\x62\x68\xa1\xa8\xc4\x2d\x7b\xf3\x40\x7c\x32\x2e\xfe\xcc\x18\xd1\x4e\xb2\x2e\xe3\x78\x14\x2f\x26\xa9\x31\x2e\xbc\xa0\x2b\x50\x5d\x7f\x56\x9e\x7a\x19\x46\xa5\xca\x68\xf3\x90\xf0\xc1\xb2\x2b\x1c\xac\xd6\x24\xe2\x00\xe9\x7b\x12\xe3\xdb\xa4\xaa\x36\x01\x03\x25\x73\x62\x4b\x05\x86\x05\x5b\x86\x6e\xd5\x7d\xf0\x2f\xdf\xc7\x91\x5c\xa3\x2e\xc3\x2f\xb8\x94\x73\x4e\x1d\x5c\x92\xe1\xdb\xc4\xfb\xb6\xb7\x34\x6a\x5f\x64\xbd\x9e\xc7\x5e\x8f\x2c\x9c\x3d\x18\x10\x27\xbf\x42\x6b\x8c\x86\x91\x2b\x07\x13\xb2\x31\xf0\xd7\x74\xe9\xf7\xad\x0c\x11\x12\x35\x0d\x0d\xd1\x61\xb1\xad\x41\xc6\x93\x90\xb5\x21\x8a\xbe\x96\x57\x91\xa1\xfc\x3c\xac\x7a\x33\x1c\xd9\xa7\x91\xd7\xd8\xf5\xe0\x55\xef\x9b\xd3\xf4\x0d\x73\xc3\x5f\x0b\x8e\x98\x86\x80\x13\xf0\x8f\x99\x4d\xff\x99\x06\xe8\x33\xa3\xd8\xa8\x11\xaa\xce\x36\x18\x61\x43\x0d\x0e\xc1\x09\x7f\x85\x78\x44\x31\x13\x7c\x1b\x62\xdc\x60\x74\x38\x12\x92\xc6\x00\xe1\x3f\xf0\x83\xd0\x07\xc2\x9c\xd8\x0f\xcb\x9b\x2f\xd0\x6b\x11\xd4\x0b\xf8\x1a\xd2\xe4\xe3\x2a\x14\x30\x22\x84\x2c\x16\x70\x9b\xb0\xcf\x65\x33\xb6\x99\x62\x8f\xf0\x38\x47\xa5\x51\xa8\x02\x79\x22\xb3\x56\x01\x63\x76\x30\xdf\x35\x69\x08\x6c\x6f\xc0\x88\x85\x7b\x0f\x2b\xd3\xeb\x95\xed\x6b\xee\xe2\xaa\x7b\x1f\xd4\xba\xab\x70\xfb\xaf\x71\xc4\x6a\x52\x37\x9a\x1e\xce\x9b\x6c\x10\x15\x9a\x56\x97\x50\x08\x8e\x04\x39\xed\xc9\xdc\x65\xd2\xaa\xaf\xcf\x57\x9e\x6e\xea\xc0\x92\x52\x26\x3c\xe9\x14\xdf\x08\x77\x52\xb2\x28\xf5\xc2\x07\x66\xf9\x1f\xf0\x8a\xea\x5d\x4f\xff\x50\xab\x1d\xfe\xc1\x0b\x83\x18\xca\x5b\x5e\x88\xa3\xaf\xde\xfc\xa1\x9e\x2a\xef\xad\x50\x75\x0a\x53\x14\xb3\x30\x3a\x30\x1f\x60\x50\x38\xde\xcd\xd4\x28\x28\x08\x0e\x8c\xbc\x00\xba\x5b\x7a\x88\xac\x58\x70\x01\xce\x9e\xe5\x6b\x30\x15\x18\xe1\x44\x65\x29\x9b\x7c\xe7\x3a\x5d\x8c\xd9\x48\x13\xa1\x1e\x14\x36\xdf\xb5\xe2\xd9\x70\xcc\xb0\x21\x0a\xc3\x33\x5c\x10\x38\x3f\xae\x73\xcc\x1c\x2b\x62\x11\x48\xd1\x91\xa1\x09\xc9\x2f\x86\xe1\x17\xcc\x78\x72\xa1\xfc\xc5\x22\xba\xdd\x97\x97\x60\xed\x57\x5f\xdf\x01\xb0\x9c\xd0\x0c\x9a\x24\x28\xbf\x18\xa8\xf7\xc3\x66\x65\xf9\x51\x65\xe1\x92\x7b\xed\xb6\x5c\xe5\x2e\xa2\x75\xb0\x80\x7a\xa4\xc5\xa2\x1b\xd4\xce\x56\xcf\xbb\x9e\x1e\xb3\x32\x32\x07\x01\x6c\xc5\x9d\xfb\x5f\xb0\xdf\x9c\x43\xf6\x81\x96\xea\xca\x79\x96\xb3\x89\xd8\x30\x88\x29\x61\x39\x32\x3c\xf9\x42\x0b\x01\x43\x75\x1d\x64\x89\xf5\x71\x0e\x2f\x95\x58\x20\x86\xc3\xa3\xf0\xb6\x70\xc6\x04\xfd\x3d\x4d\x5a\x61\xde\x6a\x35\x43\x03\x6e\xf3\xca\x00\x51\x5e\xfe\x1f\xc2\x39\xe7\xa7\x8a\x6f\xbf\xfd\x9b\x41\xcf\x2f\x49\x7f\x59\x46\x6b\x51\x7c\x8f\x8c\xf2\xbe\xb3\xc5\x77\x20\x6a\xbd\xaf\x1c\xf1\x15\x89\x3c\xfe\xf2\x0f\x88\x3e\x4c\x0d\x1a\x49\x6b\xc9\x91\x99\xc1\x89\x0f\x18\xc5\x02\x57\x98\xc5\x07\x1c\xcd\xb3\x73\x79\x16\x9d\x33\x77\x36\xdd\xed\x1b\x38\x15\xf4\x27\x3f\x29\xc2\x2f\xd4\x49\xf5\xcd\x1e\x20\xa7\xd8\x87\xa9\x72\xd7\x5f\xd4\x50\x25\x9f\x47\x3b\x2f\x0e\x29\x92\x0b\xb0\x0a\x53\xe9\x94\x08\x79\xe3\x30\x7d\x8e\xf3\xb0\x31\x02\x24\x3d\x8a\x89\x3e\x29\x99\xda\x5a\x9e\x9b\x2a\xdf\xff\x54\x78\x13\xef\x3c\x2b\x2f\x7e\x2d\x6a\xaa\xac\x4d\x94\xbf\x7d\x54\x9e\x78\x8a\x6e\xd0\x87\xe7\xd9\x94\x84\x16\x7e\xb8\xa4\x2e\x5c\x8b\x27\xed\xbd\xae\xee\xee\xae\xe3\x47\x8d\x63\xed\xc7\xdb\x8f\x76\xf6\x49\xe7\x67\xd5\x5d\x5b\xf0\xf7\x9a\x04\xd4\x89\xae\xee\x23\xbd\xed\x1d\xbf\x93\x39\x91\xfd\x07\x12\xde\x57\xb9\x91\x6b\x1e\x8a\x07\x94\xc6\xc8\xec\x5a\xf5\x25\xf1\xca\x84\x49\xf4\x9e\x7e\xe0\x5f\xed\x55\x36\x28\x29\x1e\xb4\xf9\x79\xf1\x7d\xb5\x4e\x5b\x51\x54\xc6\x41\xc3\x10\x06\xbe\x0b\xdf\x6e\xb8\x42\x40\x23\xf4\x55\x9f\x9c\x17\xe9\x10\xec\xbb\x8d\xe6\xfc\x07\xcf\xa3\x4b\x09\xa3\x06\xf7\x6f\x24\x9e\x37\x78\xcf\x23\x89\x38\x7d\xf7\x38\x9e\x9a\xfa\x4e\x7c\x43\xff\x60\x60\xa0\x97\x0d\x55\x72\xfa\xc2\x95\x9a\x02\x3b\x0f\xbd\xa9\x32\x96\xaa\x11\x2b\x5c\xc5\x12\x8c\xc9\xb6\x4c\xc4\x88\x6c\x3f\x63\x15\xce\x59\x16\xc5\xd2\x45\x4f\x57\x92\xc3\x51\x63\xa1\x90\x3c\x64\x2b\x94\x10\x54\x0f\x06\xe3\xca\xa2\x36\xc3\xf5\xab\xb0\x35\x28\xec\x1f\xa9\xf5\x4d\x88\x6a\x3a\xeb\xfd\xda\x75\xcc\x92\xe9\x09\x8d\x3b\xbc\x9b\x75\xf1\x82\x5f\x1b\x72\x7b\x93\xb9\x32\xe2\xd6\x36\xfc\x29\x0d\xcf\xb3\x74\xa8\x52\x95\xc0\x63\xa3\xde\xdd\x2c\x65\x0d\x99\xc5\x4c\xc1\x89\x8a\x9a\x66\xc4\x67\x84\xb7\x70\x2c\xf6\x40\x82\x86\xc4\x13\x2e\x96\xad\x8d\xca\xe2\xf9\x9d\x47\x92\x58\xb8\xc6\xc6\xe7\xcb\x9c\x37\x3c\xa4\x90\x84\x4a\x1a\x06\xaf\x6d\xe9\x92\x6e\x4a\x5c\x47\xd3\x96\xb9\x27\x85\xe4\xf4\x06\x3c\x68\x56\x18\x88\xc6\x52\xaf\xe5\x61\x33\x79\xd7\x84\x98\x98\x18\xae\xfd\x7c\xdc\x0a\x4b\xd6\xda\x17\xd5\x37\xe3\x4b\x31\xc2\x4a\x13\x77\x31\x9d\x49\xe5\x50\xed\x87\xc7\xfd\x3f\x3c\x36\x47\x62\xd8\x65\x6a\x9d\x0a\x82\x1f\xdd\xbe\x0b\xec\x7a\x8e\x31\x25\x88\x64\xdf\xd8\x7b\xe3\x05\xb4\x0a\x99\x70\xcb\x01\x89\xe5\x79\x4a\xcd\xac\x97\x5e\xcb\xaa\xbd\x89\x41\x22\xa4\x49\x8d\xc2\xcd\xad\x98\xb7\xa8\x62\x54\x26\x7d\xd6\x32\x8e\xb5\x18\xc7\xde\x6b\x31\x8e\x52\xf6\xee\xd1\xf7\x64\x4a\xc2\xf3\x5b\xd5\x2b\x98\x41\xbd\x73\x79\x9e\xdd\xa9\x78\xd3\x5e\x7b\x52\x5d\x7e\x84\xdf\xcc\xde\x28\x6d\xcf\x86\xdd\x2d\xc7\xfe\x31\x71\xfe\xd8\x7b\xf0\x9f\xa3\x14\x81\x7e\xf4\xbd\x9f\xb6\xa6\x29\x87\x03\xf3\x68\xe3\x47\xe2\xa5\x74\x99\xa9\x54\x2b\x87\xa9\xb4\x52\x9a\x0f\xc6\x6a\xf3\x2f\xb0\x40\x24\xe4\xe9\xbd\xab\x46\x8b\x1e\x74\x51\x20\xcf\x71\x46\x0c\x2a\xfb\xa5\xba\x0e\x68\xbc\xa8\x46\x98\x4b\x1b\x1f\x01\x59\xb2\xac\xc7\xfa\xe7\x12\xc0\xe5\x8c\x84\x38\xd8\xd8\x47\xd5\x40\xe1\xf6\x68\x9c\xe8\xef\xec\xa3\xbf\x7a\xdb\xfb\xfb\xff\xb3\xa7\xef\x08\xde\x7f\x93\x50\xc8\x5f\x4c\x46\x88\x22\xee\xff\x84\xa2\xc6\x8d\x53\x07\x4e\x9d\x3a\x75\x20\x67\x3a\xce\x39\x3b\x9f\xc2\xcf\xa7\x0e\x18\x6f\x59\xce\xa0\x99\x63\x93\x28\x6c\xb4\xf4\x10\xdf\x07\x30\xca\x4b\x3c\x28\xf3\x1d\x36\x8e\x0c\x2b\x13\x90\x51\xc8\x5d\xb9\x04\xd7\x5b\x4c\x2a\xe3\x6b\xef\xc6\x25\x77\xeb\x86\x3b\xff\x92\xed\x42\xee\xca\x3a\xff\x59\xdd\xfe\xb6\xb4\x3e\x2d\x75\x2e\x26\x11\x30\x3a\xee\x8f\x01\x07\x8a\x89\x2e\x62\x94\x14\xa5\x2c\x7e\x72\xbc\xbd\x4d\x6b\x6f\xb7\x83\x8d\xe0\xc2\x71\x72\xee\xeb\x5f\x37\xca\x0f\xb7\xf0\x34\xa0\x01\xc3\x99\xc0\x03\xe6\xe1\x95\xaf\x7e\x5b\xfd\xdb\xcb\xc4\xe1\x51\xed\x16\x52\xba\xfd\x1a\x09\x47\x7a\x8e\xb5\x77\xc5\x54\x47\xf8\xa8\xb5\x75\xc4\x76\x0a\x14\xc2\xf0\x41\x4f\xff\x00\xbe\x8f\x35\xf6\xb0\x68\x42\x1f\x7c\x1e\xe8\xec\xeb\x3f\xdd\xde\x7f\x1a\x73\x5e\x65\x1b\x46\x87\x18\x51\x64\xd9\xd3\xaf\x44\x1d\xe0\xfe\xce\x8e\x13\x7d\x5d\x03\x1f\x9e\x3e\xda\xd7\x73\xa2\x37\x81\x91\x0d\x00\x4a\x26\x48\xf9\xbe\xd1\xd3\x77\x94\xc5\x89\x0e\x49\xba\xa0\x74\x88\x4a\x2a\xb7\xd3\xd8\xc4\x34\x09\xb8\x06\xe1\xa2\xe4\xf3\x9e\xa7\x57\x0f\x90\x9a\x20\xef\x28\x97\xe9\x1d\x31\x0f\x2a\x01\x52\xa8\x04\x6f\x27\xda\x22\xde\x5e\x82\xad\x43\x95\x0b\xb0\xba\x48\xd2\x0c\xe8\xc1\x50\x93\x41\x95\x7e\xf0\x0d\xd3\x19\xcf\x0e\xb6\xa2\xc5\x10\xe0\x19\x03\x5d\xc7\x3a\x7b\x4e\x0c\xc0\x34\x9e\x3e\xd6\x75\xfc\xc4\x40\x67\x3f\xd5\xc8\x04\x42\x60\xb2\xdf\x2a\xe4\x8b\x96\xf1\xdf\xc6\x90\x99\x71\xf0\x5f\x44\x76\xa8\x60\x1f\x42\x47\xcf\xaf\xe8\xb9\x41\x3b\x03\xa2\x2d\xf2\x1c\xff\x40\xe5\x44\x00\x42\x77\x4f\x47\x7b\x77\x27\xfc\xd6\xd1\xdd\xd9\xde\xf7\xab\xc4\x91\xfe\x52\xc8\x54\x33\x93\x2b\xc8\xc0\x81\xdc\x3a\x6a\x66\xd3\x43\x18\x94\xe3\x6f\x8c\x8f\x5a\x73\xc6\x21\x8f\x04\x36\x09\xe3\x83\x54\x3e\x87\xac\xc2\xfe\x3b\x6d\xe3\xa3\x19\x69\xf5\x84\xfd\xc1\xa5\x33\x2c\x7f\x65\x1b\xbe\xe9\x94\x56\x98\x41\xc9\x77\x5d\x3d\xb4\xee\x38\x7a\xfd\xbf\x5b\x5b\x53\x69\x07\x3f\x69\x0e\x63\x97\xb0\x75\xc8\x4e\xd9\xa3\x26\x68\x11\x28\x31\x79\x7b\xe8\x51\x54\xff\x9a\x0e\x32\xbc\x31\xc2\x2b\x7a\x28\xbc\x87\x75\x00\xab\x8f\x03\xaf\x14\x11\x4a\xd6\xd3\x7d\x27\xba\x3b\xfb\xa9\x2a\x91\x1e\x19\xbb\x03\xad\x47\xb4\x4e\x29\x25\xc9\x01\x01\xdf\xc3\xfe\x6e\x3f\xda\xaf\xb9\x84\x9a\x85\xac\x81\x81\x91\x47\xaa\xb5\x60\x9f\xb5\xb2\x46\x77\xfb\x7b\x9d\xdd\x46\x6f\x5f\xcf\xc9\xae\x23\x9d\x7d\xc6\x40\xcf\xef\x3a\x35\x57\x9a\x2e\xb0\x46\x08\xe3\x24\x37\x7f\xf8\xef\xf5\x01\x84\xbe\x7a\x0d\x9e\x52\x88\x60\x67\x89\xeb\xce\xa0\x9d\xb3\x52\x8d\xb1\x7b\x6f\x98\x1a\x19\xd2\x59\x6b\xbc\x7e\x3a\xbd\x2f\x7e\xd7\xf9\xa1\x6c\x6a\xe5\x85\xf0\xf6\xa7\xfa\x70\xa3\x64\xff\x62\x8b\xfa\xed\x67\x9d\xd0\x5d\x30\x69\x4f\x15\xfd\xf6\x50\x2f\x74\x5f\x96\xe3\x9b\x2e\x6b\xfc\x06\x16\xe5\x3e\x95\xfb\x6b\x7e\x0d\xd2\xe6\xac\xbd\x06\x4a\xfd\xed\xbe\x16\x69\x2d\xc9\x23\x66\xde\x4a\x79\xaa\x49\xa0\xec\xd3\x0d\x20\x2f\xce\x6f\x38\xb5\x61\xc1\xf1\xe9\xad\x2b\xcb\x1b\x87\xab\x45\x2e\xd9\xca\x83\x82\xfb\x58\x69\x1f\x3e\xfc\x89\xbf\x6a\xfd\x8f\x13\x3d\x03\xed\xba\x14\x6a\x81\xd2\x21\x8a\xe2\x76\xea\x8e\x27\x3d\x2a\x24\xef\xea\xa2\x6d\xf5\xea\xd7\xd5\xea\x2a\x61\xf5\x24\x67\x74\xf4\x75\x1e\xe9\x3c\x3e\xd0\xd5\xde\x4d\x97\x99\x8c\xd1\xff\x61\x7f\x77\xcf\xd1\xd3\x47\xfa\x60\x5a\x4e\xa3\xe9\x10\xbe\xcd\xf3\x7c\x78\x55\xf8\xe9\x6b\xb1\x32\x7b\x4d\x47\x74\xda\x81\x33\x00\x65\x36\xd5\x94\x83\x09\xe6\x4a\x2c\x81\x18\x27\xfb\x91\x13\xce\x39\x0d\x42\x99\x8c\x51\x3b\x25\x4a\xc8\xed\x6e\x24\x30\x10\x2c\x61\x09\x54\xb4\x04\x64\xb4\x04\xc8\x5b\x18\xfb\xa9\x03\x11\xaa\x63\xa8\xa4\xec\x74\xda\x66\x40\x28\xd3\x10\xf2\x8b\xd7\x45\x60\xed\x91\x66\x94\x7a\x20\x11\xde\x09\x44\xdc\x3b\x24\xf6\xe0\xbb\x77\x83\xef\xde\x0d\xc9\xbd\x7e\x3a\x5f\xc7\x29\xbf\x3f\x7c\xe0\x85\xcf\x62\x24\x7f\x8f\x84\x85\x45\x90\xfe\x6a\x7d\x43\x4b\xae\xb4\xf5\x70\x67\xe2\xb3\x9a\x16\x13\xee\xe5\xe7\x18\x8a\x45\xf2\x9b\x33\x92\x40\x66\xbb\x0b\x2b\x64\x68\x0d\x22\xe1\x3c\x69\xf9\x66\x96\x19\xba\x66\x43\x74\x71\x0d\x37\x5e\x5e\x3c\x08\xca\x51\x9d\xab\x4e\xcc\xd4\xc7\xec\x85\x3b\x6f\xed\x99\xea\x86\x17\x5a\x79\xe6\x32\x7a\xd2\xe8\x4c\x65\x82\xfd\x63\xd2\x3f\x17\xf7\x4c\x55\x64\x95\xa9\xe5\x1a\x56\x2f\xa0\x2b\xfa\x47\xad\xe9\x31\x5c\x1f\xff\x65\x80\xaa\xf3\x41\xcf\x11\xfc\xfc\x81\xf1\x41\x67\x3b\x5c\x5d\xf0\x73\xca\x38\xd2\x0e\xd2\x19\x0f\x14\x38\x4f\x72\xc5\x82\x81\xd0\xbd\xa5\xf3\xde\xb8\x17\x5b\x10\x14\x0e\x44\xd8\x07\x39\x48\x15\x4e\xce\x21\x3b\x3f\x0a\x7b\xea\x68\xe7\x80\xa7\x88\x0a\x95\x16\xc4\x1a\x12\xd0\x66\x74\x0d\x51\xd9\x31\x82\x87\x19\xdb\x5e\x99\xd0\xb1\xb4\x69\xb4\xa6\xb0\xba\x6d\x2f\x5a\xc7\xbc\x1e\x2c\x02\x26\x79\x17\x9c\x02\x9c\xc4\x2d\x5e\xea\x37\x05\xc1\x62\x67\xb9\x81\xf1\x1c\xd7\x06\xf5\xde\x71\xac\x82\xf0\x12\x7b\x21\x49\x87\xb0\xe2\x66\x1b\x25\x9a\x8f\x9a\xe3\x86\x3d\x66\xe5\xf3\xa8\x89\x8f\x00\x40\x94\x5a\x64\xcd\x07\x46\x08\xd0\x04\xcd\xcb\xd4\x82\xa5\x39\x62\xa7\xc4\x23\xff\xd5\x26\x58\xf1\x3e\x68\xcf\x98\x8f\x95\xb2\x07\x8b\xe8\xd1\x23\x34\xb0\x96\x39\x3c\x73\x2c\xed\xa4\x0b\x54\xce\x87\x0b\xf1\xc0\x53\x4e\xdb\x20\x96\x67\x1a\xe2\xea\x4c\x18\xc0\x2e\x73\x4b\x36\x7b\xd6\x38\xf6\xa2\xfc\xe9\xa4\x7b\xe9\x6f\xa5\xb5\xab\x9c\x91\x15\x46\xc2\x91\xb8\xa0\x18\xf1\xb2\x45\xd5\x96\xd0\x96\xa7\x9f\x62\x56\x2a\x4c\xa6\x1f\x99\xcb\x55\x20\x61\xa2\x44\x59\x50\xae\x0c\x07\x20\x09\xd3\xce\x85\xaf\x4a\xeb\x53\xa5\xad\xbb\xe5\xeb\xeb\xa8\xf0\xf1\xfb\x38\x9f\x7e\xf5\xcd\xfa\x59\xc3\xa8\x19\x2e\xea\x0b\x9b\xbb\x76\xce\xfc\x6c\x76\x54\x21\xc9\x0d\x82\xd3\x54\x7d\x72\xa9\x72\xef\xa6\xbb\xf4\xa3\x00\x2b\x7e\xf8\x2f\x2e\xe3\xca\xbf\x72\xa2\x1c\x96\xf9\xfc\xe1\x46\xa4\x84\xa7\x3b\xf9\x03\xcd\x1c\x6c\xc7\xf2\xa3\xaf\x44\x54\x31\x25\xdd\x26\x4d\x98\xd4\x13\xec\x31\x53\xa4\xe6\x86\x4c\x7b\x43\x46\x6b\x3e\x49\x6d\x92\xbd\xa5\x81\x2a\xd6\x16\x07\xef\xeb\xa1\x94\xbf\xad\x83\xba\x56\x03\xd5\x45\x1a\xf3\x9e\x0e\x3a\x61\x80\x6b\x00\x51\xe4\x0d\x3d\x14\xb9\x11\x33\x6b\x09\xc7\x99\xd3\x10\xaa\x98\x37\x75\x50\x72\x52\x09\xa9\xc4\x0d\xa0\xab\x7b\x4b\x07\x95\xda\x74\xa8\x8f\x5c\x03\x8e\x1e\x39\x52\x1d\x47\x9f\x12\x15\x88\x06\x88\x50\x98\xf3\x1a\xa6\x26\x09\x56\x23\x64\xc5\xdb\xeb\x1a\x27\x49\x01\xa7\x11\x72\x34\xcc\x28\x8d\x52\xa6\x07\x52\x8b\xc8\xf8\x7b\xb1\x36\x41\xd2\xd7\xb5\x90\x47\xae\xbc\xda\x38\x6b\xdf\xd2\x46\x25\x24\x40\xe8\x42\xdd\xea\x1d\x1d\x8d\xe0\x56\x82\xd1\x21\x26\x7a\xc9\xd6\xc7\x1e\xf3\x9e\x1a\x1d\x3b\x91\x5a\x87\x40\x45\x2e\xe6\xe1\xdf\x8c\x39\x6c\xbc\xdf\xd9\x3e\x70\xa2\x4f\x2b\x50\x28\xf9\x7d\x2d\xf4\x18\x63\xa4\x19\xe8\x13\xfb\x4a\x22\x92\xdd\x06\x42\xa9\xdf\x55\xa2\x65\x73\xc2\xae\x39\x9b\xf8\xba\x0e\xf2\x06\xf8\x1a\xf7\x46\x02\x8a\x31\x7d\xd8\x63\xba\x40\xc7\x40\x85\x75\xb4\xe1\xd6\x3c\xad\x04\xbd\xdb\x89\xd8\xe5\x0c\x84\x5f\x4b\x0a\x97\x88\x3e\xab\x06\x9b\xc6\x1e\xbd\x81\x4a\x4b\xd1\x0d\x78\x8f\x31\x3c\x29\x8f\xb7\x93\x02\xfd\xbf\x68\x58\x6f\x18\x03\x36\x67\x9d\x70\x0d\x36\xbc\x38\x16\x04\x20\x2c\xc9\x48\x89\x14\x7e\x38\xbb\xcd\x35\xda\x8e\xa4\xad\x61\x9b\x72\xcf\xac\x2c\x5c\x0d\xa9\xe1\xab\x47\x03\xac\x11\x59\x69\xc4\x5d\x91\x19\x6a\x9b\x8f\x05\xd7\xa6\x6e\xb9\x97\x37\xb0\xf9\x08\x95\xbd\x10\x94\xb8\x0b\x73\x95\x6f\x56\x4a\x6b\x57\xfc\xc8\xf7\x9a\x5c\x16\x36\x02\xf0\xad\xc3\xcf\x5f\x0b\x51\x2c\x2d\x5e\xed\x3d\x33\x6c\x15\x5a\xb9\x82\x47\x2b\x57\xf0\xd0\x5c\x84\xf2\xf7\x94\xe8\xb0\xa0\xb6\xf1\x51\x47\xcf\xb1\x63\xed\xc7\x8f\x24\x49\xf7\x9a\x87\x95\x80\x45\xe1\x34\x11\x33\x2a\xa2\x37\x5a\x71\x02\x0e\x0d\xf4\x1c\x12\xc5\x82\xff\x9b\x5c\x91\xff\x6d\xa0\x3d\xcb\x8f\x27\xe5\xdf\xe8\xf3\xaf\xe8\xec\xf0\xac\x92\x79\x7b\x34\x27\xb2\x1e\xc8\x7f\x96\x1f\x65\xf7\x59\x31\x9b\xc1\xba\x4c\x07\x5b\x87\x0e\x86\x4d\x0e\x49\xf7\xef\xa6\x53\xb8\x73\x67\x69\xe7\xfe\x17\x7c\x71\x86\x59\x6f\x1d\xe2\xf2\x6b\xee\xc2\x13\x77\xea\x0e\xc6\x93\xd3\x02\xe3\x04\xbe\xca\xa3\xe5\xea\xf2\x52\xe2\x8d\x13\xf7\x4b\x38\xec\x36\x69\x0b\xd7\x3f\xaf\x06\x4f\x59\x95\x6f\x61\x63\x14\xc3\xcb\x9c\xa0\xed\xe9\xc5\x2d\x8a\xec\xcf\x74\xd6\x88\x18\x76\x8d\xd6\x56\xdf\xae\xc5\xa6\x21\x9a\x1b\x9a\x9a\x33\x76\x61\x24\x29\x62\x92\x40\xfe\xb4\x35\xc5\xcd\x3c\x44\x0d\x90\x85\x59\xec\xd5\xc1\x51\xa0\x9b\x8f\xd9\x12\x11\x36\xf9\x71\x76\xa6\x11\x60\x0e\x58\xfa\xea\x73\x77\x32\x06\x4c\x62\x18\xa5\xc8\x2a\x85\xe3\xc6\x36\xde\xaa\x1d\x90\xf0\xe5\x8a\x66\x4c\xf6\x19\x34\x20\xc3\xdf\x76\xd6\xa2\x90\xa7\x7a\x1e\x69\x8d\x9a\xb1\xc1\xd8\xa3\xa3\x80\x25\x43\x2b\x4d\xe4\xd5\x50\x9d\x54\x3f\xf3\x53\xe4\xa5\x36\x34\xa6\x62\x7d\x44\x2a\xd9\x67\xf7\x25\xdc\xb7\x61\x9c\xfb\x14\xf5\x9b\x40\xc7\x7e\x04\xff\x36\x82\xb2\xb9\x31\xc0\x4a\xcc\x39\xf3\x5f\xff\xf5\x9c\xdd\x77\xc4\x78\xcb\x11\x3e\x91\xf8\xfd\x8d\xcd\x55\xf2\xc3\x64\xe2\x74\xf6\x34\x54\x0f\x21\x8c\x51\x98\x19\xeb\x77\x35\x19\xf8\xab\x97\xbf\xe6\xfe\xd4\x9a\x03\xfc\x88\x3b\xa9\x7b\x9e\x8f\xa2\x7f\xaf\xf8\x3d\xb9\x4b\x3c\xcf\xdf\xef\xc3\xbe\x48\x87\xd5\xe3\xdf\x6b\x84\xd3\x37\x09\x49\xd2\x40\xec\xa2\x2c\x27\xb3\xe6\xa1\x24\x40\xda\x5a\x69\xf4\x59\x25\x58\x51\x86\xc3\xbf\xb5\x7b\x39\x9b\x8e\x31\xf6\x8e\xe7\x62\xc2\x8f\xbe\xa5\x03\x3f\x63\x48\xd7\xd8\xbb\xc1\xcf\xef\xd2\x57\x1a\x1c\x6f\x36\x36\xe5\xd0\xec\xc0\x5c\x93\x40\x56\xf8\x49\x35\x48\xad\xb8\x42\xad\x80\x42\x78\x88\xee\xca\x8e\x1e\xc0\xd0\xb3\x4a\xb0\xb4\xbb\x65\xc5\x09\x6b\x1e\x52\x03\xe2\x1e\x20\x49\x90\xc4\x53\x6a\x50\xc5\xfc\x70\xfd\x9c\xd7\x19\x87\x92\x50\x69\x42\x69\x80\x14\xaf\xec\xbb\x1f\xac\x48\x1b\x5e\xac\xbd\x24\x8d\xb8\x21\x50\x4a\xa2\x42\x36\xdf\x04\x9c\xe1\x27\x93\x41\x26\x4d\x9e\x78\x48\x09\x88\x5b\x1c\xc5\xa7\x7f\x25\x80\x57\xbe\x9a\x80\x94\x4e\x2b\xff\xf2\x76\xbc\xf3\x3f\x4f\x6b\x8a\x3e\xe5\xab\x1a\x48\xe3\x1c\x27\x01\x24\xad\x8a\x16\x7b\x00\xa8\x43\xa0\xe7\xfb\xc0\xd7\x93\x45\x87\xe4\x25\x1d\x44\x52\x1b\x3c\x02\x69\x70\xf3\xee\x0a\x64\x03\x44\x4a\xec\xe0\x61\xb0\xfc\x55\x43\x74\xea\x43\xd5\x22\x35\x64\x13\x26\x10\x1a\x39\x48\xca\x57\x13\x90\xe6\xec\x56\xaf\x91\xd3\x47\xe1\x3b\x6c\x92\x60\x53\xbd\x99\x80\x12\x33\x7c\x2c\x5d\x2d\xa5\xee\xf1\x64\xe0\xf9\x42\x43\xc0\xc3\x8f\xeb\x00\xa7\x34\x0e\xff\x64\xf1\x65\x48\xd7\xf1\x23\x9d\xff\xa5\x87\x4f\x09\x41\x4d\x82\xc8\x7d\xb3\xb2\x63\xe9\xbc\x9d\x45\xad\xbc\x75\xcc\xcc\xa7\xc9\x26\x4a\xfe\xb8\x24\x0a\x92\x01\x28\x09\x70\x28\xd5\x26\xe4\xaa\x0e\x2c\x65\x14\x8d\x74\xd6\x38\xd2\xd5\xff\x3b\xfc\x34\x6a\x1c\xeb\x3c\xd6\xd3\xf7\xe1\xef\x75\xdc\x02\xbb\x06\xab\x26\x76\x0f\xb9\x68\x7b\x48\x3f\x93\xc9\xaf\x44\x8c\x92\xd7\x74\x90\x85\xbc\x8e\x49\x07\x7a\xdc\x1b\x5a\x28\x92\x7c\x75\x9a\x78\x13\xc1\xe8\x12\xe3\xec\x92\xc3\x92\x77\x13\xd0\x16\x5a\xc3\xee\x01\xa3\xf3\xf8\xc9\xd3\x27\xdb\xfb\xa2\x7f\x9c\x6c\xef\x3e\x91\x4c\x84\x3e\xa4\x44\x92\x62\x0d\xba\xa2\x90\xf3\x7f\x73\x15\x67\x0d\x72\x74\xa0\x24\x92\x82\xd7\x0f\x2a\x9a\xea\xbb\xf5\x50\x95\xe8\xeb\xe1\x20\x6c\x0d\x2a\x12\x00\x24\x12\xc0\x6a\x2f\xbe\x43\xaa\xaf\x26\xd6\xb8\xb7\x12\x51\x25\x4b\x51\xfd\x88\x7c\x0d\x1a\x9b\x8a\x2e\x71\x70\xf5\x9e\x61\xfa\xa9\xd6\x49\xac\x41\xb7\x2e\x24\x4d\x92\xea\x17\x07\xeb\x3a\x0d\xac\x31\x4d\x40\xc9\x04\x89\x24\xe5\x37\xb4\x00\x9a\x8a\x4e\x3d\x38\x0c\x83\x68\xcd\xe5\xd3\x63\xbb\x49\xc7\x4c\x7a\x5b\x8d\x3a\x50\x5f\x93\xd0\x84\x9e\x4c\x06\x19\x5e\x80\xa7\x69\xd5\xe9\xa8\x86\xca\x57\x75\x91\x26\x1e\xc5\xe1\x47\x35\x80\x3a\xce\x48\x2b\xf9\xf9\xad\x94\x7e\x6c\x80\xf2\x55\x0d\xa4\xbe\x4d\x49\x7f\x6e\xea\xde\x49\x46\xa3\xc5\xaa\x24\x26\x85\x82\x02\x48\x87\x0c\xeb\xd9\xad\xd4\x41\x80\x0b\x5b\x88\xce\x4f\xf8\x47\xb7\xf1\x11\x96\x1d\x38\x2d\x8a\x1c\x1f\xfe\x3d\x9e\x7a\x87\xb1\x20\x06\xfd\x07\xff\xa2\xb8\x5a\x6c\x75\x41\x75\x32\x5a\x29\x7b\x8d\xe8\x0b\x7e\x40\x2b\x06\xac\x78\xeb\x63\xd0\x1a\xfd\x5f\x44\x00\x71\x6b\xce\xb1\x8a\x29\xbb\xb5\x50\x18\xa7\xaf\x87\xec\x3c\x50\x53\xf3\xa5\x17\x2e\x12\xfa\x3a\x89\x21\xff\xb3\x06\x9b\x34\xb1\xad\x8a\xca\xa8\x75\x8f\x25\x02\xe3\x28\x92\x94\xee\x3d\x31\xf6\x15\x35\x92\x02\xda\x72\x40\xb3\xd4\xb3\x02\xd5\x3d\x9e\x0c\x3c\x71\xc3\x14\x92\xeb\x5a\x24\x9f\x2b\xc9\x48\x92\x00\x24\x11\xa0\x7f\x5b\x6f\xe4\xae\x8e\x5d\xf3\xf5\xe1\xda\xba\x45\x99\xb8\xed\x51\x9c\x93\x27\x01\x87\xe2\x45\x25\xc2\x62\xb6\x09\x95\x7c\x12\xaf\xdf\xcd\xc2\xa2\x35\x94\x26\xd4\x01\x6a\x08\x94\x0e\x51\xcd\xa9\x05\xd4\x20\x30\x3d\xc2\x12\x4a\xf6\xe8\x92\x94\x04\x46\x8b\x98\x26\xd4\xf8\x69\x08\x54\x02\x51\x35\x01\x3a\x1c\x75\xa3\x73\x39\x51\xbe\x9a\x80\x54\x79\x7f\x4f\xc4\xab\x7e\x5b\x03\xf5\x9e\xae\xd9\x5a\x20\x34\x88\xa8\x53\x8e\xb5\xaf\xdc\xc9\xef\x6b\xa3\xdf\xe3\x75\xb0\x21\x50\x49\x44\xed\xe9\xd6\x94\xfc\xbe\x1a\x7d\x2e\x25\xab\xca\xf3\x91\xc8\x12\xe4\x90\x46\xaf\x3c\xcf\xef\x63\xeb\xf3\x88\x4a\x4a\x67\xe1\xab\x62\x16\x3f\x24\x1e\x1a\xfb\x86\x57\x67\xb8\xfb\x51\x63\x67\x4f\xa0\xf5\x88\x56\xe4\xf5\xa2\xcb\x06\x63\x16\xa4\xb5\xf7\xb4\x8b\xec\x34\x1b\x5b\x03\x43\xdb\x63\x95\x9d\x06\x81\x35\x42\x58\x03\xb5\x6f\x1a\x23\xb2\x11\xc0\x3a\x04\xff\x0f\xa8\x3e\xd0\xd8\x48\x7e\x19\xd5\x07\x1a\xa6\xf9\x4d\x55\x1f\x68\x98\xb0\x06\xaa\x0f\xbc\xf9\x25\xd7\xcc\xea\x03\xfb\xbb\xcc\xf6\xab\xfa\xc0\x1b\x58\x68\xbb\x29\x3f\xb0\xb7\x65\x26\x13\x6c\x03\x7d\xa8\x47\x75\xf6\xf5\xf5\xf4\xe1\xd2\x69\x1f\xc0\xae\x33\xb0\x5e\x28\x41\x1d\xcb\x6e\xf7\xc2\x4e\xf8\xe4\x13\x58\xf1\xf0\xb9\x33\x9f\x97\x16\xf1\xdf\x1d\xac\x78\xb2\x38\x3f\x41\x86\x48\xfc\x1a\xff\xaa\x99\xa5\xb2\xe2\xc4\x20\x2c\x11\x64\x04\xc1\x89\xf6\x10\xac\xa5\x74\xca\x97\x37\xd4\xb4\x5a\x82\xa4\x7c\xeb\x61\xf9\x87\x1b\x58\x76\x69\xe3\xba\xfb\xf2\xfb\xd2\xe6\xed\xea\x8f\xeb\xa2\x45\x04\xb5\xd8\xa2\xae\x27\xd8\x2b\x42\x4e\xc7\x5e\x69\x10\x49\xf5\x6f\x86\x06\xe3\xad\x23\x5c\x38\xe2\xb0\x9f\xab\x66\x49\xa3\xc6\xf5\x29\xc3\x14\x01\xaa\x6e\xe0\x4e\x6c\xc1\x82\x0e\x40\xcb\x63\x87\xcd\x2c\x4e\xa0\xc8\xb9\xaf\x6d\x42\xd2\xe2\x7f\x43\x3e\x62\x8c\x84\x3e\xc3\x15\xf6\x1d\x2e\xf0\x3e\x94\xce\x73\x99\x77\x06\x20\x8b\xa1\xe4\xf9\x15\x4d\xb7\x43\x9d\x3f\x30\xdb\xc3\xeb\x88\x1d\xf9\x75\xe5\xd2\xce\x67\x8f\xdd\xcf\x66\xb8\x04\xbf\x92\x74\x4a\x91\x1a\x35\xf3\x67\xad\x02\xb0\x76\xd0\x1f\x04\x87\xa5\x63\xa1\x55\x33\x68\xd7\xad\xea\x7c\xe4\x11\x89\x79\x4c\xe5\xef\x1f\x61\x67\xf6\x50\x03\x6e\xe4\xf1\xda\x05\x77\x51\x48\xb1\x64\x92\xa8\x21\x5e\x3a\x8b\xd5\x3a\x38\xed\x06\x63\xe6\xeb\x7a\x23\x34\x9b\xc6\x98\xee\x0b\x5e\x9b\xba\xd2\xeb\x47\xe5\xf3\x2b\x4a\xc2\x7f\x01\xfb\x18\xc9\xf0\x42\xf0\x31\x35\xc6\xc0\x3b\x10\xad\x3c\xbe\x0e\x19\x36\x15\x10\x74\x64\xd9\x4a\xa5\x35\x6c\xa0\xce\x5d\xde\x59\xee\x33\x04\x58\x4c\x1e\x84\x9d\x89\xe9\x9d\x47\xeb\xf2\x5c\xa2\x18\x22\x50\x82\xb2\xc1\x3b\x68\x25\x74\x84\x6f\x6c\x29\x79\xdf\xec\x18\x5a\x22\x80\x90\xa6\x08\x20\x6d\x9a\xfc\x4b\xe6\x99\x74\x81\xf7\x25\x8e\xec\x10\x0f\x50\xda\xe2\x82\x66\x47\x10\x12\x80\x28\x6d\x63\xca\x41\x18\x80\x2e\x19\xe8\x20\x01\xb5\x0d\x96\xed\x88\xd7\xde\xc1\x37\x85\x02\x4d\x87\x28\x49\xa4\x30\xa2\x66\x4f\x69\x6d\xae\xb4\xb6\x59\x5e\xdc\xe0\xd4\x87\x43\xe5\xa9\x9b\x7c\x22\x97\xd6\x26\xaa\x7f\x7b\x29\x92\x23\xbe\x59\x71\xe7\xbf\xd2\xa5\x0b\xd0\xa4\xec\xd1\xd6\x18\xf2\xf0\xab\x96\xdd\x11\xe9\x91\x70\x3e\x99\xda\x9d\xbb\xf3\xf0\x44\x12\xcd\x23\x66\x76\x98\xaa\x4e\x8e\xa5\xad\x73\x94\xbd\xe9\xc7\xc0\x0d\xda\xc5\x2c\xd0\x09\xf2\xfb\xac\xf0\xee\x52\x7f\x7e\xae\xf5\x33\x6a\x8d\xda\xf9\x71\xfe\x86\x84\x8a\xb2\xa7\x56\xf9\xde\x8f\xe5\xeb\xeb\x40\x26\xf6\x22\x5f\xbc\x5a\xd7\x4a\x0c\x37\x63\x75\xf9\x11\xd5\x5d\x3c\x5f\xf9\xea\x7c\xe5\xde\x6d\xd1\x45\x95\x7a\xfc\x63\x32\xca\xa5\x49\xf7\xf9\x6d\x55\xcb\x7f\x31\x94\xb0\x84\x60\xc2\xea\x0e\x14\x35\x91\xe1\xde\x5f\xa0\xa0\x85\xe4\x86\x12\x2f\x65\xcf\x7b\x19\x3a\x4a\x0c\x22\xc7\x86\xb2\x6b\x14\x20\xf1\xe2\xe1\xc1\x4b\xea\x18\xc3\x80\x19\xa4\xb4\x35\x4c\x07\x86\x12\x21\x54\xea\x40\x85\x6e\x85\x44\xb0\x94\x45\xcb\x4b\x4b\x0e\x16\x0b\xf2\x18\xef\x73\x45\x1e\x2a\xe2\x33\x06\xb7\x3e\x14\xdf\xd8\xb0\xa6\xb7\xeb\x24\x75\x35\x42\x57\x64\x3a\x0f\x92\xbc\xa3\x3b\xf2\x00\xfc\x79\x2c\x8d\x1d\x5e\x0d\x2a\x04\x65\xe6\x2d\xac\x7e\x84\xed\x90\x32\xe3\x98\x4f\x1c\x7d\x94\x60\xb5\x61\x4e\x72\x31\x37\x9c\x37\x53\x16\x37\x5b\x85\x5f\xa2\x55\x9e\x0e\x53\xd5\x20\xe7\xf0\xa1\x43\xc3\xb0\xe1\x8a\x67\x30\xdf\xe9\x50\xb8\x72\x10\xfc\x91\xfe\x5f\x5e\x9b\x5d\xa9\xd7\xae\x6e\x64\x27\xc3\x43\xda\x59\x9c\xa8\x3e\x39\x4f\x03\x3a\x19\x1a\x09\x57\x47\x82\x13\xd1\x9d\xc6\x7e\xe6\x95\xe9\xa9\xf2\xe2\xb7\xe5\xdb\x2b\xe1\x21\x60\x57\xcd\x27\xe7\xdd\xd9\xcb\x95\x8d\xa7\x08\x20\x5c\xf0\x08\x54\xa6\xc6\x88\x8f\x9f\x15\x32\x20\x80\x42\x84\x1b\x14\xce\x73\xaf\x73\x20\xca\x1e\x87\xf6\x79\xa8\xaa\x13\xd5\xdf\xc2\x27\xac\x2c\xf0\x5c\xa6\x00\x86\x1b\xfa\xcf\xaf\x80\x3c\xe2\xb4\xc7\xd2\xab\x27\xee\xc2\xb7\x38\x52\x12\x35\x58\x89\x34\x74\x91\x54\xb5\x06\xec\x60\x27\xb8\xf1\x81\x95\x91\x36\xe3\xbb\xb6\x5d\xda\x5c\x72\xd7\x96\xdd\x2b\x7f\x55\x03\x41\x45\x43\x0d\x64\x61\x56\x0d\x01\xdb\xfd\x8a\xcf\xd4\x18\x98\x93\xd9\x85\x33\xe2\x8c\x85\x3b\x47\x78\x28\x30\xcf\x12\x0e\x3c\xb8\x9b\x92\xad\xa5\xe3\x7d\xcf\x9f\x7f\xc8\xcc\xa4\x4d\x07\xd6\x72\x1f\x27\x33\x20\x80\x1a\xb0\xe2\xc9\x24\xf0\xd8\x3b\x2b\x05\x12\x25\x64\xdd\x29\x38\xde\x03\x3c\x69\xa4\x8e\x38\xf2\x46\xae\xb0\xc0\x96\xa7\xab\x5f\x4d\xa2\x14\x9b\xff\x0c\xae\x99\xa2\x9f\x15\x71\x83\x7b\x00\xfb\x74\xfd\x7d\xe2\x3e\x2c\x51\x5c\xa8\x8b\x1b\x38\x1e\x7e\xe8\x90\x3b\xf5\x0d\xb0\x0d\x0b\x8d\xad\xac\xcb\xe0\xd5\x43\xe2\x97\xb1\xdb\xe9\x35\xd0\x3b\x66\xe9\x4a\x0e\x37\x87\xd7\xa8\x86\x2c\x3d\x60\x20\x7e\x85\xb0\xea\xca\x63\x86\x26\x3f\xa3\x24\xf3\xe3\x50\xeb\xe5\x10\xdf\x29\xf9\x95\xf9\x79\x90\x7a\x21\xe3\x47\x56\x40\x0f\x0a\xf9\x02\x67\x5a\x26\x65\x14\x60\x3b\xfb\xee\x26\x92\xb3\x92\xb7\xbc\xda\x73\x59\x8f\xf3\xdc\xbc\x59\x3c\x1e\x9e\xa4\x74\x76\xcc\x3e\xab\x9a\x70\x20\xe0\x03\xb8\x04\x8d\xa1\x4d\x03\x7b\x41\x3b\x23\x44\x0a\xdf\x5d\x86\x8a\x58\x8a\x1a\x36\x37\x48\xbb\x82\x57\x4a\x2f\x3d\x9a\xc3\x76\xd2\xb0\x69\x23\xb4\xe2\x4f\xd4\x41\x0b\xff\xa8\xa7\x98\x69\x93\x2d\x0a\xd5\xe4\xd3\x2c\x78\x6d\xa4\x03\x90\xd4\x48\x3a\x58\x38\xc1\x9a\xe0\x1a\x70\xdc\xc6\xdb\x9d\x5d\xab\x6e\x6f\x2b\x40\xc0\x22\xa8\x5c\x7c\xe1\x2e\xcc\xf1\xf4\x97\x9f\x2f\xf1\xc3\xc1\xe2\x58\xfd\x94\xeb\x2e\xc4\x2e\x26\x40\x57\xda\xbe\x04\x54\xe2\x65\x6d\xe3\x3a\x2c\x9a\x9d\x27\x37\xf1\xbe\xb6\x3c\xe3\x4e\x62\x02\x72\xf5\xe9\x57\x4c\x43\x65\x6e\x15\x2e\x24\xb1\x34\x88\x55\xbb\x75\x97\xfb\x5b\xe3\x90\xb6\xbf\x73\x3f\x9f\x4d\x5c\x79\xd8\xcc\xb9\x98\xc5\x7a\xde\x30\xf9\x54\xcb\x43\x54\xee\x4e\x59\x43\xe9\x2c\x6c\x57\xd0\x85\x70\xee\x4d\x14\x9f\x83\xaa\x1d\x19\x54\xa0\xf0\x86\x85\x9c\x78\x78\xd9\x7d\x7d\x8b\x2f\xd8\x58\xd4\x79\x7d\xda\x5d\xba\x5b\xfe\xf6\x91\x8a\xae\x1c\x16\x0b\x47\xda\x60\x1d\xb1\xde\xe6\x8c\x98\xef\x18\x64\x75\xc2\x25\x13\x96\x2d\x41\x13\x79\x19\x61\xcb\x8f\x2a\xcb\xb7\xb0\x6c\xc6\xed\x57\x95\xa5\x0d\xc1\xa7\x68\x73\x78\xbc\xd6\x11\x0a\xb8\xd5\xab\xa8\xa2\xca\xe9\xf8\x1c\x6a\x19\x81\x40\x13\x59\x29\x2d\xbc\x81\xf0\xbc\x29\x98\x67\xd1\x12\x7c\x6e\x04\x8d\xad\xc9\xdd\xb9\x91\xc2\xf2\xf4\x84\x58\x3e\x44\xa1\x47\x12\x9e\x9e\xaf\xef\xf0\x99\xc4\x87\x32\xe8\xc1\x95\x0b\xeb\x70\xe1\x01\x15\x52\xae\xb8\xd8\xd9\xac\x35\x48\xf6\xc6\x54\x71\x34\x47\x1d\x51\xad\x41\x6a\x04\x87\x59\xb8\xa4\x3b\x36\xb7\xa7\xa1\xd4\xff\x09\xd7\xd4\xea\xeb\x2f\xca\x73\x8f\x61\x28\xea\x0e\x87\xd5\xed\x6f\xdd\x0b\x0d\x76\x40\x95\x35\x30\x34\xca\xc0\xac\xd7\xd7\x50\x9e\xdf\x7a\x0c\x2b\x90\x29\x4c\xe2\x55\xc1\x4c\x93\x1c\xfa\x25\x33\xe9\xe5\x83\xea\xda\xd7\x4d\x62\x92\x1e\x7b\x72\xe3\xb4\xf0\x41\x1b\x85\x41\x0e\xe5\xed\x51\x8f\x2d\xfd\xf4\x15\x80\xe3\x3e\x90\x22\xe6\x48\xfc\x38\x40\x7f\xf1\x8f\x3f\x53\xbb\xcc\x8d\x85\xd2\xe6\x5c\xed\xe8\xc3\x44\xbb\x4b\xb3\x78\x05\x6b\xbc\x71\x26\x1b\x85\x6a\x41\x87\x86\xac\xd8\x99\x78\x34\xe2\x65\x1a\x0d\x7d\xe1\xc6\xc4\xb5\x86\xa5\x53\xd9\xce\x7c\xde\xce\x1f\x36\x12\x2c\xd5\x6c\x75\xa8\x69\xfc\x1b\x03\x6d\xe7\xfa\x9d\xea\x0a\x1c\x32\x77\x13\xac\xd5\x3e\x81\x83\x30\xf3\x51\x41\x7b\xd8\xf0\x6c\xdd\x76\x12\x3d\xcc\xda\x58\x71\x4b\x9e\x80\x10\x98\x04\x32\x52\xe8\x2c\x19\x4d\x67\x59\x03\x11\x37\x28\x03\xae\x8e\x74\xe1\xe3\xae\xf6\x70\x5f\xff\xff\xab\xd9\xf3\x68\x19\xd9\xb3\xfd\x39\xdc\x5c\xdc\x97\x8f\x4b\xdb\x8b\x78\x8b\xd9\xbe\xf1\xd3\x96\xec\x9e\xea\xe3\x1f\xe2\x66\xdb\x5e\x21\x62\x8e\x96\x90\x21\x9b\x7e\x85\x7d\x3c\xb1\x77\x2f\x59\x89\x1f\x3c\xd0\x83\x0e\x5b\x06\x57\x6f\x8a\x94\x1e\x7f\x7f\x1e\xc4\x8d\xe3\x35\x63\x92\x49\x0e\xb8\xca\xae\x4d\x62\x57\xce\xb5\xe7\x3e\x76\x50\x62\x4a\x6b\x1b\xac\x28\xf8\xd0\x40\x4b\xa8\x29\x0f\xa5\x45\x9b\xe8\x76\x85\x84\x9d\xc8\x3a\xc5\x1c\xde\xb2\xac\x54\x37\x7d\x4b\xca\x27\x76\x02\x39\x9b\x85\x2b\x9b\x78\x14\x0b\x78\xa0\x7f\x36\x89\x45\xd5\x95\xe7\xd5\x67\x13\x95\xb9\x15\xf7\xcb\x4f\x99\xd4\x18\xf8\x40\x34\xaa\xe8\x2f\xbf\xaf\xc0\x65\x3d\xf4\x82\xfb\xe4\x42\x69\xed\x2a\x1c\x9a\x5e\x85\x2c\xad\xb1\x90\xe1\x84\xec\x54\x74\x85\x09\xf6\x48\x2f\xfc\x70\x5c\xd9\xd3\x39\xca\xda\xd8\x57\x03\x4b\xb0\x16\x31\xaa\x86\xc3\x9e\x6c\x08\xcf\x5f\x22\x3f\x9f\x9c\x8f\x6f\xa8\x6b\xf8\xb6\x9e\x3a\x5c\x7a\x84\x46\xe4\xb4\x2f\xce\x61\x5d\xfe\x99\x6f\x6b\x2c\x36\xa5\x14\xd6\xb6\x35\x67\x29\x1a\x6c\x95\xa8\x9c\x4d\x26\x0a\x18\x97\x86\x4b\xd1\x9f\xad\xb0\xf5\x5f\x2d\x8c\xe0\x5a\x3f\x75\xcb\x9d\xb9\xa9\x34\xd1\xc7\x20\x60\x27\xa5\xd4\x16\x5e\x03\x1d\x4d\x55\x37\x57\x15\xaa\xad\x87\x40\x9c\x94\x58\x93\x9b\x24\x61\x7b\x6f\x97\x86\x84\x27\x11\x26\xdc\x11\xc4\x4f\x2a\x33\x1d\x7e\x5d\x8e\x36\x7b\xb0\xe0\x45\x28\x14\xac\xd1\x1c\x87\x01\xa0\x86\x53\xcc\xa1\xa5\x25\xc1\x1b\x82\xce\x65\x52\x3d\xaf\x94\xb6\x1e\xc2\x6a\x2a\xad\xfd\x88\x16\x77\x92\xe6\x09\x48\xed\x1c\xdc\x30\x03\x5b\xb8\x42\x53\x17\xd6\xf3\xe9\xcf\xdd\xad\x89\xd0\x1b\x5a\x58\xce\xe5\xd3\x30\xb2\x3f\xa7\x73\xc9\x08\xdc\x4b\x77\xdc\xc9\xc7\xf4\xac\x12\xb4\x17\xce\x31\xd0\xd1\xcb\x16\x45\xd9\xea\x26\xee\xd0\x63\x6c\x4d\x4c\x80\xe7\x8f\x4c\x0d\x2f\x78\x4c\x0d\x4e\x04\xef\x61\x25\x30\x56\xb2\x70\x52\x01\x1a\x5c\xdd\x8b\x8e\x94\x66\x6f\x47\xa2\x76\x48\xf8\xe0\xa4\x62\x17\x28\xea\x83\x0b\x73\x6c\xbf\xd0\x43\x0d\x77\xc3\x82\x77\x69\xa4\x3a\x5d\x67\xc6\xb1\x51\x32\x12\xe3\x18\x6f\x99\x29\x38\xba\xa9\x9b\x8d\xd4\xfb\xca\x04\xd0\x15\xb1\x72\xfd\x3b\x90\xe9\xe8\x75\x63\xf2\x88\x0c\x14\xab\x0f\x1e\x60\xcb\xe9\xcd\xc9\x9d\x3b\x0b\x15\xb8\x2f\x2d\x5c\x72\xaf\xdd\x96\xfb\x5c\x3d\x0a\xb3\xd6\x39\x32\x5e\xcb\x16\xc4\xcd\x55\xc0\xcc\x36\xeb\x04\x48\xec\xf1\x60\x87\x0c\x72\x18\x55\x91\xa4\x95\x81\xe7\x44\xb0\x2c\x78\x98\x61\xcf\x85\x1e\x4a\xee\xe0\xc9\x38\xd1\x2e\x24\x75\x44\x60\x01\xfc\xe7\x4b\x11\x53\x66\x08\xa5\xd6\xda\xf4\x22\x11\x0d\x55\x2e\x86\x98\xaf\xe5\x69\x77\x12\x57\x51\x22\x48\x3e\xe5\xa8\x27\xb1\xaa\xec\x51\x38\x84\xa5\xba\xbc\x54\x5d\x39\x5f\xda\x5c\xaa\x4c\xcf\x68\xc2\xe7\xa8\x38\x0d\xd8\xa5\xcd\xaf\x60\xf9\x28\x15\xa0\x5a\xd8\x09\xce\x95\x30\x74\xa5\xf3\xd5\x87\xab\x70\x40\x33\x30\x3e\x13\x13\xc0\x60\x21\x40\x5e\x1d\x54\x07\x90\x8f\x69\xdd\xed\x4f\x08\xfc\xed\x4f\xa5\xfe\x84\x9f\xad\x41\x31\x90\x35\x3e\x18\x18\xd0\x12\x91\xf4\x9c\xce\x3a\xe4\xca\xab\x7e\xe7\xd2\xc0\x05\xc7\xb2\x66\x04\xee\x88\x67\x2c\x38\x56\x72\x45\x67\x04\xfd\xf9\xc5\xc1\x41\xcb\x71\xc8\xd0\x28\xdf\x1b\xa0\x43\x96\xa7\x16\xdc\x2b\x0f\xca\x73\xcf\x76\x26\xce\xd7\xa8\xc2\x62\x51\x87\xbe\x61\xad\x3a\x89\x50\x10\x72\xea\x89\x24\x39\x96\x00\x25\x85\x63\xc5\xa2\x23\x30\x44\x76\x36\x7b\x21\x16\x2d\xe2\x2f\x8b\x4d\x12\xf8\x07\x16\x42\xc9\x17\x1c\xb9\x29\x81\x47\xb2\xfe\x42\xc8\xc9\xf0\x20\x3f\x9b\xf1\x42\xc4\xd0\x32\xe9\xce\x5f\x61\x9f\x25\xdb\x00\xf0\xd7\x2b\x8f\xdd\x6b\x57\xa4\xca\x74\x1d\xbd\x28\x05\xcf\xa4\xd9\x76\x6b\x0e\x92\x53\x55\x54\xf3\x1b\xc7\xd4\x2c\xd2\xcf\x74\x09\xad\x6c\xfd\x58\xfd\x71\xdd\x5d\x5b\x40\x07\xe2\x67\x40\xdf\xed\xf2\xb7\xaf\x58\x5f\x4b\x20\x08\x0b\x3c\x34\xe4\x0d\x45\x49\x19\xda\xad\x82\x10\x0a\x89\x51\x20\xa2\x41\xd6\x2e\x4d\xb4\x86\x78\x57\x52\xc7\x2a\x14\x28\x72\x07\xab\x07\xc3\x53\x6a\xff\xe3\xc3\xf5\xf2\xec\x72\xad\xb7\x98\xee\xa7\xdc\x9d\x64\x17\x2b\x92\x28\x6c\xae\xc5\x6a\x77\xb6\x97\xc5\x06\xad\x78\x75\x43\x8d\x0c\x41\x6e\x4b\xf1\x06\x1d\x68\x8b\xf0\xde\x7b\xde\x1f\xc7\xb5\x06\x51\xab\x6f\x49\x40\xa8\x09\x10\xaa\x10\xc6\x9a\xd0\x27\x31\x36\x5c\x95\x75\xcc\x6f\x16\x97\x61\x15\xc7\x70\xd9\xf0\xf5\xb9\x5a\x6a\x92\x47\xb1\x6f\xa4\x86\x65\x61\x04\x43\x32\x4d\x9c\xb4\x03\xef\xfc\x07\x7e\xd8\x17\xba\x76\x26\x67\x77\xbe\xbc\x5f\x83\x23\x99\xb2\x3a\xfd\xcc\xe7\xb7\xfc\x22\xc7\xd4\xb0\xfd\xc0\x7b\xd6\x68\x48\x4d\x23\xcc\x84\x12\x40\x7c\x20\xe2\x6c\x74\x57\x39\x43\xaf\x7f\x53\x13\x1d\x28\x09\xb2\x45\xbd\xcf\x12\x25\x7e\xad\x4b\x24\x4a\xed\x58\x89\xec\xe4\x61\x46\x95\x5f\x7c\xd1\xfb\xe6\x34\x7d\xe3\x0f\xa7\xe8\x53\xa7\x33\x96\x62\xfc\xa2\xf3\xf5\xe7\x38\x44\x89\x94\xd6\xea\xd4\x82\xb2\x0e\x3e\x89\x90\x7d\xda\xbc\x8e\xbc\x13\x21\xb1\x5e\x17\xd7\x61\x62\x58\x1d\x47\xf8\xfb\xb2\x65\xeb\x55\xf9\x00\xd5\x1e\x88\x8c\x9c\x95\x31\xab\x7a\x1f\xcf\xc8\xfa\xd5\x1c\x3e\x1b\x9b\x33\x5e\x3f\xfc\xad\xce\xe4\xd8\xb0\x92\xd0\xb4\x95\xb6\x2b\x55\x21\xac\xbd\xd5\x0d\x46\x9f\x1f\xa8\x38\x06\x6f\xff\xce\x1a\x0f\x1d\xdb\x0a\x9e\x75\x89\xaf\xf6\x85\x21\x35\xba\xa9\x1c\x6d\x84\x13\xa4\xbb\xc6\x8d\x45\x83\x19\xd4\x88\x48\xa6\xc1\x34\x77\xdb\xba\x93\xdf\x95\x36\xbe\xd9\x95\x6e\xc2\x6b\x31\x56\x1b\xf8\xf9\xb4\x2c\x11\xc8\xb9\x3b\xfd\x21\x76\x77\xc5\x6d\xc4\x37\xb1\xe3\x82\xbd\x15\xbb\xf5\x92\x47\xc3\x31\xa2\x5e\x73\x4d\xa9\x6f\xe3\x9f\x4c\xd0\xb0\x6d\x50\x34\x55\x97\x7a\x51\x34\xb9\xe3\x7b\x88\xf5\x06\x13\xa6\x20\xee\x5d\x19\x46\x91\xa6\xe8\x18\xe7\xac\xbc\x65\xe4\xad\x3f\x8a\xe0\x06\x11\x44\x8a\x01\x62\xe6\xb0\xa9\x88\xa3\xe2\x24\xb4\x97\xdf\x57\xbf\xfc\xa6\x7c\xf5\xb3\xca\xe6\x7d\x0e\xe1\xdc\xb9\x3c\x5b\x5d\xb9\x21\xf7\x6e\x04\x98\x5b\x82\x85\x90\xce\x66\xd0\x73\x4b\xf1\x32\x22\xfb\xb0\x85\x1c\x5c\x18\xe8\x95\xb3\x45\x5b\x07\xb4\x23\x9c\xec\x68\xef\xf5\x12\xf8\xfa\x8d\x50\x81\x17\xc3\x2b\xf0\x22\xba\x79\x14\xd9\x61\xea\x05\x78\xca\x22\x5c\x15\xed\xf1\xcb\x53\x37\xf1\x06\x4e\xd6\x7f\xf4\x44\x79\xd3\xcb\x23\xc7\x30\xac\xd5\x4b\xf0\x40\x0d\x49\xc2\xf1\x48\xad\x02\xb0\x3f\x04\x0a\x06\x72\xb7\x85\x2d\x2c\x93\xdf\xba\x5b\x13\x12\x06\x09\x33\x41\xaf\x3a\x90\x5a\xf8\xa8\x55\x21\xd4\x02\x90\xdf\x33\x21\x95\x66\xb7\xd2\xa8\x59\x18\x1c\xd1\x00\x8b\x7e\xb7\x99\x75\x10\x5b\x32\xf8\x4e\x01\x2e\x36\xa1\x1c\x88\x71\xf6\x97\xbe\x65\xb5\x0d\xb7\x19\xa3\xe3\x41\x0e\xfe\xaf\x70\x66\x8f\xa6\x0b\x64\x3f\xe4\x9f\x0f\x26\x45\xf8\xfe\xd1\x1c\x33\x03\x08\x6d\xf0\xd8\xc1\x08\x18\xd1\xec\xe2\x0c\xd0\x3f\x38\x82\x3f\x14\xcc\xe1\xdd\xc3\xfe\x5f\x63\xbf\x69\xfb\x4d\xdb\xdb\x07\x69\xf1\x1c\xf4\xfe\x00\x90\xbf\xe2\x58\x6b\xd8\x11\xf8\x7c\xa1\x35\x1d\x72\x53\x39\x06\x3a\x2c\x5a\xfc\x7c\x87\x83\xc2\xf9\x7f\x10\xc9\x39\x98\x2d\x66\x32\xb2\x2a\x7a\xdc\x25\x86\x73\x4a\xd1\x63\xf1\xea\xaa\xfb\xe4\x02\xac\xa8\x30\xd3\x7e\xda\x9a\xfe\xc7\xc4\x79\x31\xdc\xf0\x43\x7f\x9f\x58\x6c\x7c\x80\x14\x80\x38\x8d\x4b\x7a\xed\x89\x3b\x75\xa9\x7c\x7d\x05\x73\x11\x1e\x5e\xae\x2e\xaf\x62\x10\x59\xb3\xd0\x08\x3e\x62\x10\x01\x85\x46\x03\x10\xff\x1b\xc6\x06\x54\x90\xf3\xf9\x45\xc0\x47\x8e\x05\x2f\x6d\x4e\x8a\x6e\x22\x97\x26\x2b\xdb\xcb\x46\x88\x11\x28\x57\x38\xa5\x03\xe0\x09\x26\x23\xc0\xa9\x9b\xf0\x37\xf2\x59\xde\x9e\x8a\x17\xa9\xd7\x50\x99\xc2\x54\x07\x33\xc5\x94\xe5\xc9\x13\x51\x20\xac\x25\x12\xd4\x18\x34\x87\x1e\x05\x4c\x69\x10\x89\x06\xb6\xce\x91\xc9\x10\x8c\x0b\xa6\xa4\x56\x0c\xd3\xa3\xfe\xbe\x22\x5c\x94\xc6\xc9\xfd\x80\xc3\x11\x8e\x22\x0f\x96\x22\x1c\xe3\xc9\xc6\xb2\xc2\x12\x64\xf4\x53\xfc\x4b\x3d\x1d\xbf\xeb\xec\x3b\xdd\x75\xac\xfd\xa8\x2c\xc1\x3a\xf2\x88\x04\x88\xa2\x34\x88\xaa\xee\x07\xff\xd6\x2f\x93\x2b\xb2\x10\x97\x23\xa6\x33\x72\xc6\x36\xf3\xa9\xc3\xfe\x1d\x5c\x2a\xa9\xbf\xae\x3e\x7a\x56\xbe\xff\x9a\x63\x93\xf8\xd1\x78\x98\x14\x93\x2a\x1c\x7b\x79\x4b\x84\xa4\x91\x52\x28\x23\x8f\x62\x4e\xcb\x37\x71\x2f\x54\xff\x76\xb1\xbc\xb1\xc0\xda\x9a\x06\x7c\x56\x4a\x1a\xc6\xc2\x1a\x85\x0e\x2e\xca\x08\xd5\x71\x30\x63\xde\x66\xa2\x83\xd9\x87\x97\xec\x60\x26\x78\x09\x0e\x66\x1f\x9c\x32\xde\x89\x61\xc9\xd7\x80\x07\x44\xc9\x3c\x82\xa1\xc5\xaa\x64\x36\x69\x71\xa8\x01\x9f\x64\x90\x32\x9b\xec\x93\xac\x83\x9f\xe0\x93\x0c\x60\x27\xfb\x24\xeb\x60\x27\xfa\x24\x6b\x53\x81\x35\xe1\xc2\x9d\x58\x07\xa4\xc2\x59\x12\x80\x0c\xdf\x2c\xd5\x0b\xc8\xbb\x17\x26\x41\x54\x3a\x4e\x11\x92\xca\x71\x1a\x05\x23\xee\x92\x14\xe6\x9e\x0e\x92\x4e\xb2\xa0\x54\xa5\x87\xf9\x08\x09\x3f\xc7\x71\xaf\x99\x8c\xba\x7a\x68\x98\x08\x5e\xd1\x2c\x1a\xb8\x6f\xbc\x3b\x7f\xb3\xfc\x62\x4a\x04\x38\x78\x09\xc5\x91\x87\xa7\x2e\x49\xb5\x32\x9f\x7a\x45\x40\x83\x40\xaf\x08\x68\xf0\xa0\x50\x7c\x06\xf7\x10\x37\x44\x0f\xf1\xb7\xd2\x6d\x56\x1b\x8c\xdb\x76\x2c\xf6\xb3\x62\xc2\x1a\xab\x95\xb9\x9c\x45\xe1\x68\xec\xfe\x92\x07\x72\xd0\x02\xa1\xe1\xb9\xcf\x97\x2a\xdf\x5c\x0d\x15\x7f\x08\xd4\x8f\xf2\xe2\xd7\xe5\xdb\x0f\xdd\xd5\x8b\x18\x4d\x17\xf5\x7f\x61\x3f\xff\x8d\x7b\xde\x2b\x92\xe8\x0e\x6f\x08\x5a\x8e\x67\x12\x75\x89\x8e\xe7\x00\xa4\x3c\xbc\x42\xac\xd4\xc4\xf0\xc9\x00\x96\xca\x37\x4c\xf3\xa4\xf0\x0d\x0b\x28\x83\xb8\xc5\x31\xc9\x40\xcd\xf2\xcf\x67\x4b\xdb\x8b\x70\x63\xe3\x05\xa6\x82\xe8\xe8\x47\x79\xd0\x70\xd5\x51\x1e\x04\xf3\x17\xe3\x75\x0c\x31\x55\x3f\x92\xbb\x71\xaf\xa3\x3f\xe8\xbd\x79\x1d\xa3\x87\x70\x23\x5e\x47\x9f\x80\x7d\xb7\xd9\x89\xc3\x5d\xdb\x5a\xe7\x53\xf6\x4b\xb4\xac\xd6\x1f\x89\x72\xcc\xdc\x09\xb1\x51\x9b\xaa\x3f\xfc\x7d\x74\xa4\x4a\xd6\x78\x32\x4d\xfb\xec\x48\x0d\x74\x38\x5d\x43\xa8\x4f\x99\xef\x5f\xec\xc3\x0f\xba\x7b\x27\xf0\xef\x85\x5e\xd3\x44\xe4\x7b\x04\x1b\x41\xa3\x76\x23\xfa\x48\xde\x9c\x1b\x31\x22\xa0\xf5\xdd\x88\x21\x4a\x75\xdc\x88\xcd\xd8\x6e\x9a\xba\xf3\x1b\x72\x20\xc6\xeb\xdd\x1a\x0e\xb5\x3a\x22\x7f\x41\xe6\xed\x5d\x1d\x7e\x8d\xda\xb3\x03\x06\xc8\xbd\x31\x4d\x16\x75\xbb\xf0\xb0\xd4\x50\xe9\x9b\xce\xa3\xe9\x0b\xc1\xf7\xec\xeb\xdd\xdf\xf9\x08\x63\x12\x29\x64\xfe\xbc\x44\xa8\x4b\x1e\x55\x9c\x2f\x61\x7f\xa8\x6f\xcc\xf5\x70\xc4\x72\x06\xf3\x69\x2a\x1e\x74\x38\xb4\xa4\x42\x5f\xcb\x85\xc9\xfc\x7c\xf5\xf5\x2a\x9b\x7f\x62\x5f\x8b\x47\xc8\x65\x7d\x30\xf2\x10\xdb\xad\x8b\x10\x40\xdf\xc2\x17\x4e\x51\x91\xe0\xad\x3c\x39\x8f\x66\xc9\x95\x75\x51\x04\x87\xa6\x0b\x2f\x2d\x54\xad\x42\x0b\x2b\x15\x55\xf4\xe4\x41\x48\xbb\xf1\x6b\xb4\xd8\xec\xfe\xf0\x22\xe2\x93\x28\x29\xad\x4d\x94\xd6\xbe\x46\x73\xee\xe4\xb3\x9d\x4f\x9f\xf9\x24\x05\xdf\x2f\xdd\xc5\x0f\xd1\x9a\x4f\x0d\x13\xec\x73\x29\x4c\xaf\x1e\x97\x76\x81\x3a\x68\xbc\x80\x7c\xb0\x07\x93\xe7\xa4\xb4\xf5\xb5\x81\x8f\x2b\x6f\xc4\x02\x3a\x76\xa6\xf0\x62\xf2\x43\x8e\x21\xf5\x68\xa2\x17\x4f\xa3\xbf\xff\x03\x35\x12\x0a\x75\x0d\xd2\x58\xd0\x1a\xc0\x85\x2d\x28\xe5\x81\xf4\x5a\x2e\x31\x2e\x47\x5b\x7e\xfe\x65\x08\x04\x9b\xd1\x2b\x5b\x37\xab\x2b\xd7\x30\xe9\x65\x66\x32\x99\x00\xf4\x56\x60\x70\xa9\x31\x64\x99\x85\x22\x5c\xcf\x1d\x9b\xaf\xea\xdc\xff\x64\xc4\x1c\x8b\x4c\x73\x36\x45\x76\xef\xa2\xc3\x6f\x8b\x97\x94\x04\xb2\xa1\xbe\xfc\x60\x01\xd6\x98\x7b\xe5\x41\xf5\xd3\x6d\x8c\x15\xe6\x2f\xa7\x5e\x62\x06\xcd\xfd\x4f\x79\xc6\x31\x5c\x98\xab\x91\x79\xb5\x2e\xf8\x79\xd5\x28\x44\x9c\x30\xd2\x87\xf5\x5a\x70\x8b\xfc\x05\x4b\x19\x98\xd9\x98\xfb\x41\xdd\xe1\xda\xac\x93\x25\x58\xcf\xf1\xc7\x5f\x90\xc7\x57\x43\x9d\xbf\xda\xe5\x32\xb0\x76\x98\x38\x0d\xd8\xbd\x9f\x6a\x12\xc2\x98\xa5\x83\x1b\x0a\xc9\x88\xd0\x48\xf5\x6e\x93\xa1\x91\x1e\x8f\x1f\x69\x28\xa9\x46\x7e\xee\x53\xa2\x20\x9b\x6f\xa2\xbb\x7b\x9f\xc6\x8b\x8b\x72\xdf\xae\x4a\xfe\xd8\xe3\xa2\x1d\xf6\x9b\x07\x31\x4b\x3b\x89\x19\xbf\x44\x46\xec\x79\x17\xa0\x68\x16\x39\xbd\xec\x80\xfd\x17\xe7\x60\xd2\x38\x7c\x7a\xff\x3e\xb1\xf8\x2f\x0e\x67\x2d\xa3\x7c\x36\xd0\xb5\x39\x23\xaf\x01\x26\xc7\xca\x7a\x60\x43\xb8\x59\x3b\xdb\x05\x05\x58\x0e\x94\x9e\x0d\x69\x25\xbe\x2d\x59\x9a\x8f\x30\xeb\x4e\x9e\xaf\x2e\xaf\xf9\x88\xab\xaf\xef\x55\x1f\xcd\x10\x9c\x84\xf3\xf5\xac\xa8\x53\xc7\x0e\xf2\x77\xff\xf5\xdf\x8e\xb5\x18\xef\xbc\xfd\xee\x6f\xf1\x9f\xa3\x32\x4b\x2d\x97\xa1\xe3\x8a\x73\x61\xd3\x2c\xbe\xfe\x8f\x89\xf3\xf4\x3e\xfe\x7b\x54\x6e\x84\x4d\x3b\xb0\xc6\xc7\x0d\x6e\xe5\xc8\x59\x2a\x05\x38\x5e\xfc\xb2\x19\x32\x36\x53\x15\x96\x9a\xd3\x57\x54\x8e\xb9\xf2\xc2\xbd\xf4\x37\xac\x49\x7a\xe5\x45\x79\x42\x12\xfb\x70\xc4\x16\xa5\x09\x32\x76\x1e\x13\x74\xe1\x46\x9f\x2b\xca\x72\xe3\x91\xaf\x2b\xeb\xd5\x57\x9f\xbb\x97\x37\x38\xa9\x62\xe7\xcb\xc5\xea\xf4\xf7\x4a\xd0\xdc\x66\x8a\xbc\x4d\xd4\x77\xca\x2b\x72\x24\xc7\x51\x9e\x7e\x0a\xe4\x57\x5f\x2f\xe2\x80\xa8\xf6\x8d\x12\xc1\xa8\x99\xf3\x5c\x59\x54\x35\x43\x64\xf5\x89\xe4\x1e\xec\x4e\xee\x59\xe4\x49\xcb\xc8\xe5\xad\xb1\xb4\x0d\x8c\xa5\x6c\x27\x87\x0b\xe0\x24\x24\x02\xce\xba\xab\x97\xd8\x70\xe1\x5b\xda\x6b\x52\x03\xd9\x21\x51\xda\x9c\xab\xf9\x1e\x37\xfd\xe4\x94\x3b\x3d\xcb\x59\x52\x70\x55\x41\x23\xc3\xdc\xa6\xd2\x7a\xce\xe3\xe2\x76\x49\x22\x43\xc6\x1c\xc2\x14\x34\x24\x59\xae\x12\x31\x0a\x4c\x33\x03\x82\x17\x56\xdc\x2b\xcf\x34\xac\xeb\xf6\xe0\x59\x2b\xdf\x9a\x1e\xa5\xf4\x23\xdb\xcf\x39\xe5\xe5\x8f\x6a\xd0\xa1\x54\xe8\x91\x56\x94\x84\xb2\x5d\x80\xa1\x09\x5e\x82\xa9\x11\x06\x1c\xde\x12\xf1\x20\xe5\xfb\xc2\x1e\x2c\x62\xd0\x12\x21\xc1\x0c\xbd\x44\xef\x77\xf9\xe6\xe5\xf2\xa3\xaf\x38\x46\x23\xc9\xfd\xcd\xf6\x5e\x1e\xab\xf5\xb1\x39\x9a\xcb\x58\x18\xbb\x21\x75\xc8\x70\xd6\xac\x37\x94\xd0\x1b\x0a\xfa\x11\x85\x73\x58\x05\x51\x52\x2e\xf8\x88\xa8\xda\x67\x98\x05\x4c\x31\x07\xd1\x6b\xa6\x33\x56\xca\xab\x5f\x82\xa5\x3e\xb0\x5c\xf8\x09\x2e\xf9\x46\x01\x1b\x54\x41\xa9\xc5\xaf\x39\xe6\xd0\x3a\x32\xc7\xe0\x3d\x8e\xf7\xc2\xf5\x8f\xc2\x73\x38\x3d\x66\x11\x37\xe5\x45\x44\xaf\x56\xb7\xb7\x45\xbd\xae\xa5\xef\xaa\x3f\x3e\xf6\xeb\x9c\x78\x78\x45\xf6\x37\xd5\x58\x42\x2f\x14\x55\x26\x11\x1a\xec\xe6\x5c\x65\xf3\x0e\x16\x6d\xa5\x34\xc8\xb9\x97\xee\xfc\x4d\x69\x9c\x9b\x37\x4c\xbf\xf0\x93\xa8\x8d\x72\xd0\x31\xa8\xa1\xad\x53\x1c\x35\x52\xb6\xe5\x04\x11\x59\x94\xb2\x67\x8c\x5a\x05\x33\x65\x4a\xbd\xe0\x3c\x82\xa0\xfe\x5c\x5d\x85\xaa\xf2\xc3\x47\x3b\x5f\xcf\x60\x66\xdc\xda\x9c\xfb\xfc\xb6\x7b\x01\x76\xcb\xe7\xee\xe4\xa7\xe5\x1b\xab\xe5\xd9\xe5\x84\x90\xae\x23\xc5\xd1\x5c\xa4\x02\x14\xf2\xde\x82\xb9\x42\x69\xc2\x45\x8f\x64\x9b\x84\x8a\x32\xd5\x54\x53\xc2\xc0\x9d\x89\x19\xac\xdc\x4a\xd5\x88\xe2\x71\x76\x1e\x3f\xd9\xd5\xd7\x73\xfc\x58\xe7\xf1\x01\xe3\x64\x7b\x5f\x57\xfb\x7b\xdd\x9d\x06\xf5\x34\x91\xc5\x92\x84\x23\xec\xa4\x3e\xa7\x38\xb0\xfd\xb2\xf5\x1a\x86\x28\x5d\xb8\x9d\xff\xd5\x7e\xac\x17\x80\xc8\x60\x2c\x6d\x48\xdd\xe7\x5c\x6a\x98\x1d\x8c\xb9\xbc\xfd\xf1\xb8\x57\x83\x14\x2b\x6a\x8a\x08\x24\xa9\xaf\x78\x65\x9d\x1e\xe3\xc0\x22\xee\x3e\xc0\x90\xd8\x2c\xa9\xc4\xb8\x7b\x9b\x07\x23\x6a\xcc\xe6\x11\x45\xda\x24\x93\x87\x4f\x48\xf3\x4d\x1e\x71\xf4\x36\x62\xf1\xa8\xe1\x51\xe3\x98\x61\xf4\xa2\xdf\x10\xab\x2a\x4a\x3c\x30\x42\xd6\x3b\x55\xda\x89\x00\xdc\x98\xad\x43\x8c\x43\xd7\xd6\x21\x70\x44\x4d\x1d\xa1\x43\x36\xd9\xca\xc1\x0a\xf2\x2e\xac\x1c\x21\xd4\xfb\x69\xe4\x60\xfa\xe2\x8d\x1c\x54\xaa\x51\xd8\x39\x16\xa7\x03\x3b\x07\xc6\x6d\x50\x7f\x00\x1d\x3b\x07\x8d\xe3\x97\x61\xe6\x08\x16\x71\xd3\x2f\x78\xb5\xa3\xdc\xab\x95\xa3\x59\x03\xdd\x27\x2b\xc7\x9e\x86\xbb\xaf\x46\x0e\x7f\xe8\xfb\x6d\xe4\x88\x61\xc1\x2f\xc9\xc6\xb1\x07\x3e\xec\x75\x0b\xec\xc6\xc4\xe1\x93\xdb\xa0\x81\x41\x8a\x54\xdf\xc2\x11\x70\x6a\x37\x16\x8e\xce\xec\x58\x90\x8e\x01\x2c\x3b\x69\x7a\x06\xc7\x73\xa6\x23\x6a\x67\x15\x64\x04\x84\x95\xb1\xe8\xcb\xe5\xc5\xaf\xf9\x7e\x2e\xd5\xba\x49\x91\x17\x8b\x2f\x36\xc2\x02\xb9\x70\xf4\x44\xd7\x91\x83\x87\x65\x75\x17\x78\x42\x51\x90\xaf\x5d\xa5\x47\x71\x96\xe3\xd6\x4b\xf9\xd6\x0b\xf7\xf2\xc6\xce\xf5\x3b\x72\x8d\x91\xa8\xa1\x53\x8e\x4b\xab\x92\xa2\x27\xe3\xfb\x17\x17\x31\x1d\x99\xb4\x3c\x1f\xb4\x0a\xee\xa0\x97\x35\x14\x94\x99\x80\x8b\x94\x74\x5c\x22\x11\x90\x8a\x43\xf0\x6d\x41\x77\x00\x3e\x22\x31\x80\xe4\xae\x48\x22\xb5\x3a\x3a\x96\x50\x3d\x47\xd9\xcd\xb5\x06\x5f\x41\x54\x20\x4b\xac\x6d\xc9\xf8\xc2\xe5\xc6\xc2\x58\x1b\xc2\xa9\x2c\x74\xe6\xe1\xc1\xfa\x66\x8d\xcd\x51\x6c\x66\x97\x46\x95\x4c\x55\x76\x57\xb0\x02\xbd\x0a\x6f\xca\x52\x99\x4c\x51\x2a\x36\x2c\x8d\x97\xb4\x16\x3d\xf5\x01\x69\xb5\xfb\xa1\x61\x52\xe2\x03\xd4\x74\x4a\xde\x49\x63\xcf\x6a\xa8\x51\x97\xbe\x13\xe4\x48\x0d\xc3\x89\xce\x58\x12\x16\x3b\x8f\xd6\xa3\xe2\x51\x77\x7f\xc9\x11\xb3\xbc\x4e\x42\x1f\x34\x1d\x8a\xc1\xad\x44\xec\xd7\x7c\xa6\x7d\x1d\xec\x4e\x69\x31\x1e\xbe\xe6\xd7\x6c\xec\xc8\x7b\x5a\xe8\x9c\x9c\x9d\x75\x2c\x6d\x7c\xee\xe7\xb3\x70\x39\x69\x18\x9f\x25\x3b\x06\x13\x6f\x9a\x7b\x9b\x4f\x29\x5e\xe5\x74\xd6\x9c\xb8\xbb\x98\xce\x21\x6e\x09\x16\xb2\x8c\xa1\xfe\xac\x55\x39\xf2\xc1\xe3\xf2\xf4\x2b\xb8\xbf\xe0\x05\x90\x8e\xba\xc6\xb7\x4f\x3d\x76\x0e\x81\x4f\x3c\x2c\x22\xc8\x69\xec\x31\x33\xad\x83\x79\xf7\x62\x44\x90\xa0\x12\x23\x0d\x72\x21\xa1\x1c\x2f\x23\x14\x87\x71\x23\x73\x5b\xab\xd0\x04\xb2\x56\x2b\x80\x86\xd0\x2a\x95\x19\x19\xc0\x3d\xd0\xd6\x0c\x72\xf4\x28\x88\x8b\xa0\xd3\xa5\x22\x36\xfe\xad\x51\x3a\xec\xfc\x39\x33\x4f\xa4\xe0\xa6\x97\xeb\x98\x20\xd6\xe6\xaf\xb1\x98\xe1\x22\x8f\xba\xb2\x65\x98\x8b\x87\x91\x68\x18\xc4\x06\xb7\x52\x14\x64\x9e\xa6\xe7\xd0\x4e\xf8\x50\x5b\x7a\x85\x31\x60\x61\x36\x99\xcd\x34\x8c\x80\xca\xaf\x35\x8a\x20\xdc\x7d\xc7\x29\x8e\x8e\x52\xe1\x70\x25\xb2\x48\x95\xb3\x6b\xb7\xab\x4f\x1a\x1e\x94\xd7\x7a\x86\x7a\x01\xb1\xdf\x8c\x8d\xf3\x30\xbb\xef\x83\xa6\xc9\xad\x3a\xa5\x09\x88\x73\x6c\x75\x8f\x3e\x2d\x3c\x01\xa2\xc5\x0e\x35\xfb\xd1\xda\xd2\x1e\x4d\x54\x63\x17\x39\xad\x1c\xbb\x48\x43\x8f\x72\x5a\x07\x3c\x5a\x59\x31\x79\x95\xe3\x77\x35\xd6\x4c\x69\x6d\xa2\xfc\xed\xa3\xf2\xc4\x53\x6e\x1e\x51\x9e\x9b\x2a\xdf\xff\x74\x77\x6b\x48\x30\xd7\xf3\x69\x30\xc7\xd1\xcd\x21\x25\x01\x2b\xf1\x7b\x5e\x0b\x31\x70\x62\xb9\xef\xc1\x68\x94\x04\xce\xf1\xe5\xf2\xef\x16\x97\x29\xf7\x43\x0f\xd5\xaa\x2e\xa3\xc7\x1e\x3e\xcb\x77\xdd\x05\xf4\x6a\x94\xb6\x67\xe1\xf2\x59\x7f\xb5\x48\x52\x74\x29\x73\x0c\x2b\x45\x23\x41\x7d\xbd\x1d\x9e\xf5\x43\x71\x57\xbb\xef\x3e\xbd\xea\xce\xdc\xa4\xa7\xd9\x2a\xa1\x3b\x70\xd8\x47\xce\x88\x99\xf1\x9a\x36\x2b\xbc\x0a\xdc\x81\x77\xeb\x26\x08\x60\xad\x15\x85\x35\x9a\x03\xd9\x43\xdd\x30\x88\x93\x32\xb9\xca\x25\x9a\x29\x38\x81\x9a\x56\xe8\x8e\xc0\xc3\xa3\x57\x0e\x3a\xbe\x10\xb4\xd6\x80\x72\xc0\xaa\x04\x3e\x55\x9f\x7e\x55\xfe\x62\x81\x59\xd5\x10\x4c\x91\x71\xae\x04\xeb\x2e\xfd\xa8\x07\xd3\xca\x63\x01\x73\x0d\x1b\x02\x87\x18\xe8\xdb\x10\x72\x79\xdb\x33\x95\xa0\x3b\x1e\xf9\x4c\x3d\xa4\xa8\xa9\x12\x49\xb7\x83\x1a\x3b\xc5\x5d\xba\x58\x59\xb8\x24\x1a\x0e\xd1\x5b\x41\xc7\xa4\xb0\xc8\x96\xdc\xcc\x93\xb6\x4f\x1c\x91\xda\x54\x35\x99\x80\x40\x8c\xe1\x1e\xb6\xf2\xf2\x2d\x4c\xd8\xcb\xf7\x1f\x57\x2f\x7b\x2e\xa9\x3b\x18\x41\xd0\x98\x14\xcb\xc3\x2a\xaa\x37\xf1\x24\xaa\x34\xd5\x95\x4d\x94\x9c\x12\x5b\x8f\x9e\x2e\xe3\xa1\xf6\x6e\x6b\x4a\x54\x35\x37\xb4\x46\xe0\x12\x37\xd5\xe3\x20\x26\xb2\xb6\xc4\x22\x18\x17\xd6\x1e\x31\x26\xcd\x5f\x18\x75\x78\xfe\x6a\xf0\x26\xce\xdf\x10\x60\x1d\xa1\x73\x38\xc8\x9f\x51\xc8\xfd\x97\xe5\x9b\xab\x46\x4f\x3b\x3e\xca\x79\x30\xfa\x98\xb2\xe6\xe8\xee\xed\x3a\x7e\xab\xba\xe6\x98\x76\x84\x98\x22\xf5\x46\x3e\xbd\x70\xd8\x87\x67\x95\xa3\xd9\x1a\x90\x5e\x21\x2c\xbe\x96\x83\x0a\x4e\x74\x82\x13\xc7\x8e\x7a\x9d\x37\xc3\x5e\xf9\x0e\xa1\x02\xd5\xab\x3d\xba\xe3\x77\xec\xcc\x98\x9f\x4c\xa6\xb1\x63\xe9\x40\x10\xc1\x58\xbb\xd8\xab\x14\x55\x55\xa3\x55\x6b\x0c\x5d\x0d\xb4\x90\x4f\x5b\x34\x08\x80\x3e\x78\x56\x7e\xd0\x7f\x35\x51\xf9\xf1\x4b\xf7\xe1\xa5\xf2\xc3\x29\xfd\xe5\x1a\x05\xae\x23\xd0\x65\x78\xf4\xa6\xc4\x31\xc7\xc2\x92\x54\x67\x5d\xbc\xbe\x0f\xba\x68\xcd\x25\x5d\x1b\x1f\xf5\x04\xd9\xfd\x86\xe4\x26\x21\xcd\xd9\x8d\x3e\x29\x1c\x86\x79\x9a\x02\x90\x4e\x17\xc6\x73\x96\xca\x1c\xc6\x14\x44\x6c\x61\xf5\xef\xeb\xce\x37\x9b\xd5\x6b\x16\xa8\x56\x57\x13\xb6\xb6\x47\x8e\xf1\x5a\xb3\xb7\x8e\x61\x26\x20\x60\x77\xf3\xc1\x64\x34\x67\x3e\xb0\x0d\x09\xdd\x4d\xec\x06\x5c\x1c\xd4\x8f\x64\x2f\x2e\x8e\x3f\xa7\x73\xb9\x9a\x09\x90\xe1\x9a\xbb\x5a\xd9\xfa\x6b\x2c\xcb\x55\x08\x62\x0d\x47\x18\xae\xc7\x19\x30\x58\x87\x8c\xeb\xb8\x99\xa2\xfd\x6e\x7e\x98\x82\x20\xd9\x1f\xda\x6b\x3b\x54\x5f\xe3\x20\xf0\xb8\x10\xfe\xd3\xef\x9b\x4c\x7d\xfc\x0b\xd6\xb0\x95\x6f\x33\x8c\xf7\xf1\xaa\x83\x3d\x27\x9d\xf1\x6c\xc1\xfc\x18\x96\x66\x26\xd7\x42\x25\xf0\xff\x30\x38\x24\x7a\xd8\x04\xa5\xa9\x8c\xd6\x91\x3f\x48\x83\x02\x61\x75\x01\x67\x37\x2e\x71\xe7\x33\xc9\x30\x4a\xdb\x8b\xdc\x2b\xcb\x23\x8c\xbd\xa1\xa0\x1d\x78\x61\x63\x33\xa5\xed\x4b\xd1\xdf\xb9\x13\x63\xf9\xc6\x8f\xd4\xd5\xfb\x02\xfa\xd1\x27\x7f\x80\x6d\xe5\x2e\xdd\xad\xae\x3c\xc7\x30\x43\xea\xea\xcb\xf5\xad\xdc\xf9\x0b\x3b\xb7\x27\x01\x40\x3c\xf9\xdc\xe1\x4a\xc1\x7e\xa9\x78\xf6\x1b\xba\x29\x5f\x3e\x6e\x73\xf1\x36\x2a\xed\x95\x10\x9d\xed\x43\x0c\xda\x5d\xd5\xc4\x06\x53\x61\x33\x25\x3e\x3c\xac\x53\x18\x97\x6d\x9c\x33\x79\x37\x10\x4e\x98\xcd\x41\xe3\x8f\xf6\x19\xba\x81\xc0\xa3\x14\xe6\x7a\x10\x77\x0a\xd6\x5f\x71\x64\x65\xeb\x7c\x8a\x2a\xcf\xa7\xdd\x57\x93\xee\xd6\x85\xf2\xf3\xc7\x34\x65\x77\xf9\x5a\xe2\x81\xc2\x76\xaa\xcb\x33\xe5\xa9\x05\x5c\xd1\x2f\xbf\xaf\xbe\x98\x84\x0f\x4a\x42\x13\xf6\xa5\x66\xbb\xbc\x4e\x0e\x17\x77\x28\x5e\x9c\xb4\x16\x0e\xea\xb6\x44\x93\x27\xe0\x05\x06\xf9\x59\xd9\x54\xce\x86\x45\x2e\xbf\xb5\x73\x63\x27\x7a\xb8\xf2\xcd\x0a\xb6\xf8\x0c\xdd\xf9\x64\xb8\x73\x6c\xfc\x08\x5b\xdc\x38\x5e\xcb\xf4\xbb\x62\x9f\xb5\xc6\x0f\x71\xeb\xd4\x9c\x99\xce\x3b\xa2\xab\xa0\x61\x0f\x52\xdb\x82\x54\xb8\xc5\x9c\x91\xb5\xcc\x3c\xa8\x34\x38\x45\x1f\x8e\x66\xfa\xb3\x20\x58\xac\x02\x4c\x93\x8c\xea\x70\xe5\x43\xea\x5c\x0b\x3b\x69\xe7\xfa\xf2\x21\x77\x62\x0b\x47\x04\xeb\x85\xac\x66\xa7\xb2\x7e\x8b\x3a\x3e\x75\xb0\xe3\xfd\xf2\xfa\xce\x9d\x8b\xd5\xd7\xd7\xdc\xf9\x6b\x95\xeb\x0f\x7c\x6e\x9f\xca\xf2\xbc\x86\xf1\x4b\x8b\xc0\xc5\x31\xc0\x89\x70\xa0\x11\xca\x55\xfd\xbc\x7d\x4c\xc1\xe9\xe0\xa1\x71\x2c\x8f\xcf\xc6\xff\x75\xaa\xf8\xf6\xdb\xbf\xb1\xb8\x55\x6d\x0b\xc9\xbb\x74\x81\x42\x23\x28\x4d\x7a\x00\x0e\xd6\x4f\x3e\x91\x89\xab\x00\xb2\x4f\x11\xf6\x7a\xdd\xbc\x08\x1c\x15\x80\x81\xaf\x2c\x8e\xdc\xe5\x2f\x76\xee\x4c\x8a\x42\xf2\x0c\x56\x2e\x44\x42\xa4\xf7\xe6\xed\x9c\x95\x2f\x8c\xd7\x0c\xe1\x8c\x6d\x67\x2c\x53\x5a\x11\xb4\xfe\xc5\x80\x67\x6b\x9f\xba\xab\xd7\x81\xae\xbd\xa0\xf7\x96\xaa\x38\x04\xe4\xed\xd6\x16\x1f\x94\x17\xb1\x50\x67\x0c\x2c\x9f\x22\x96\xca\x3c\x97\xcd\x20\xca\x01\x7d\x36\x3b\x2c\xa5\x49\xc5\x9b\xe7\xb7\x2a\xdf\x3e\x29\xad\x7d\xbf\x77\x62\xb2\xc5\xd1\x33\xd8\x5d\xbb\x76\x45\x79\x8f\x27\xae\x2c\x39\xb7\x56\x81\xcc\x98\x45\x15\x85\x2c\xa5\xfd\xfd\xf6\xae\xee\xce\x23\x52\x53\x09\x46\xe2\x4b\x5e\xec\x6c\x1f\x38\xd1\xd7\x69\xbc\xdf\xdd\x7e\x54\x5a\x5b\x90\x02\x2d\xb9\xc0\xa2\x04\x0a\xa5\x18\x18\x5c\xb3\xcb\x73\x55\xe5\x6d\xce\x2f\xc0\xd0\x0c\xb9\x3d\x7a\x4d\x04\x5f\x70\x86\x31\xfb\xaa\xaa\x4f\x3f\xab\x4e\x7f\xef\x27\x10\x28\x71\x0e\x59\x85\xc1\x91\x88\xda\xe9\xe8\xc4\x7d\x54\x97\x5f\xc3\xdd\x23\xa4\x6e\x32\x36\xad\x40\x8f\x5a\xcc\xec\x17\x75\xbc\xd0\xba\xa0\x21\xe3\xbf\x04\xa4\x34\x78\x43\x94\xa0\xd0\x1f\x99\xfb\xe0\xc1\x1e\x46\x64\x8d\x81\xda\xe8\x68\x5d\x1f\x18\x5d\x69\xe3\x2a\x3a\x11\x22\x18\xd5\xb7\x86\x5a\x94\xc0\xb8\x56\x8e\x2c\x46\x36\xd2\xda\x61\x8f\x65\x1f\x7c\x1c\xb0\x45\xa2\x9b\xc8\xc3\xd5\x66\x03\xaf\x24\x39\xa4\x20\xf6\x4c\xac\xc2\xdd\xf3\x0c\x63\x01\x1a\xe0\x18\x63\xdd\x0b\xc7\xc8\xf2\x91\xe7\xfa\x36\x1a\x0b\x4d\x30\xe4\xe5\x4a\xe5\xfa\x77\x68\x6a\xdb\xbc\x58\x37\xd8\x86\x30\x37\x82\x12\xfb\xee\xed\x16\x19\xf9\x9c\x63\x96\x06\xb9\x91\x9b\xb4\x38\x64\xb0\x0c\xbf\x40\xc8\x9e\x97\x07\x07\x6b\xb4\x35\x16\x4f\x20\x96\x0a\x51\x10\x83\x5b\x23\x82\x40\x90\x01\x62\x58\xb4\x1d\xfd\xa3\x63\x73\x76\x88\x57\x51\xf5\xb4\x97\x1c\xa5\x72\x7c\xe0\x69\x54\xf3\x82\xc8\x97\xe1\xb6\x4d\xe4\xbf\x51\x9e\x33\xb5\x74\x78\xca\x6e\x0b\xd6\x7a\x14\x99\x68\xe8\xdb\xb1\x62\x6b\x8e\x2b\x2c\xba\x41\xd4\xa5\x77\x60\x88\x82\x08\x6c\xf2\xd3\x4a\x3d\x0a\xa8\x1b\x35\xcf\x5a\x9e\x5b\x95\x53\x50\x19\xfd\x2e\x2d\x7d\x61\xc0\xe4\x36\x6c\xc0\x67\xa8\xc7\x4e\x4e\xf7\x64\xe3\xb7\x7a\x0e\x39\xb7\x53\x18\xbf\xc5\xec\x69\xa1\x38\x47\xf3\x2d\x32\x4e\xbc\xae\x6a\x7f\xd9\x53\x99\x41\xcd\x0a\x39\x12\xca\x44\x42\x0a\x46\x09\xf0\xc7\xf7\x33\x26\x56\xf4\x11\x35\x3a\x52\xd2\x92\xfa\xa4\xc8\xd4\xbf\x87\x7d\xad\x29\xd8\x4f\xae\x5f\xc9\x50\x72\xc2\xcc\x6e\x30\x72\x3c\x5a\x12\x46\x69\xd6\x96\x22\xf9\x05\x43\x27\xb8\x6d\x34\xd9\x1a\xa8\x1d\x38\x96\x51\xa7\xb5\xed\xe0\x30\x28\x43\x07\x9f\xb2\x3e\x06\xf5\x1a\x94\xd8\x82\xc8\xed\xcc\x99\xb0\x36\x80\x5a\xfc\x31\xa7\x8a\xd5\xc0\xc2\xfd\x8b\xdf\xba\x8b\xab\xbe\x89\xc2\x6b\x2a\x8f\x57\xe5\xca\xa3\xe5\xd2\xeb\xfb\xa0\xda\xf2\x97\xd4\xf4\x01\x13\x3b\x83\x2a\x6e\x01\x02\xea\xf2\x00\x0a\xcb\xa2\xe4\xca\xf7\xbe\x8d\x65\x9f\x53\x5c\x88\xf3\xad\x14\x27\x39\xe7\xf2\x36\xa5\xb6\x62\x08\xb0\x9d\x1d\x4a\x8b\xee\xd3\xd2\x0c\xdc\xad\x0d\x2c\x14\x4e\xc1\xac\x98\x8a\xbb\x36\x5b\x9e\x5f\xa8\x2c\x6d\x00\x9d\xd5\xe5\x25\x69\x16\x6e\x08\x35\xaa\x73\x58\x11\x1f\x0d\x2a\x61\x8c\x1a\x08\x39\x45\x93\x51\xa9\xf0\x88\x3c\x5c\xce\x55\x22\x01\xd4\x38\x42\x4a\xab\xe5\x88\x0e\x5d\xb4\xa3\xe9\xe1\xbc\xb9\xbb\xf1\x55\x5f\x9f\xaf\x3c\xdd\xd4\x45\xd4\x48\xf5\x21\x86\xaf\x53\x7d\x88\x61\x0b\x07\x8d\x27\x9c\xbc\x91\xf0\x32\x51\xe2\xd8\xb9\x3c\x8b\xfd\x87\xeb\xf2\xde\x79\x54\xbc\x4c\x54\x98\x8b\xd9\x33\x22\x38\xae\xf1\xd9\xa2\x32\xb1\xdc\xbd\x22\x99\x89\x47\x3b\x07\x06\xba\x8e\x1f\x35\xfa\x07\xda\xfb\x06\xe4\x77\xbd\xc9\xc7\x3b\xb7\x24\x3b\xe9\x68\x77\xcf\x7b\xed\xdd\x46\x4f\xef\x40\x57\xcf\x71\x69\xae\xae\x3b\xf9\xcc\xfd\x6e\x62\x67\x62\x7a\xe7\xd1\xba\xf4\xc0\x3c\x6a\x15\xe0\xe6\xeb\x3b\x05\xfd\x16\x18\x14\x85\xeb\x8c\x18\x83\x99\x34\xde\x20\x14\xda\x04\x86\xad\xb8\xcb\x5f\x52\x96\xdf\x46\x4d\x60\x94\xaa\xeb\x06\x62\x46\xf1\x55\xef\x2a\x61\xeb\x1a\xae\x00\x55\xfd\xe0\xfa\x48\xb7\x78\xc7\x8b\x3b\xb1\x25\x25\x80\x1d\x81\x58\x84\x5a\xf4\x87\x65\x87\x28\x1c\xf1\x67\xad\x02\x68\x8f\x83\x56\x72\x02\xd5\x9c\xbb\x76\xc1\x5d\xdc\x00\xe1\x27\xc2\xb0\x28\x0f\x8c\xfd\xa4\xd2\xbc\x9f\xa3\x41\x68\x9f\xf3\x73\xd4\xf6\x65\x52\xf7\x52\xdb\x37\x71\x68\xa1\x6b\x7c\x5b\x9b\x34\x6e\x9d\xc9\x14\x21\x92\x41\x83\x0c\x7a\x43\x09\xde\xbb\xab\xcb\x1b\x3c\xed\x23\x97\x3c\x7e\x3c\x78\x90\xc8\x06\x2b\x94\xe1\xe5\x17\x73\xd9\xa3\xd2\xf5\xb3\xcc\xbf\xb4\xb0\x33\xdd\xad\x42\xca\x79\x32\x4b\xc8\x28\xb1\x1f\xbc\x48\x58\x66\x6f\x8a\x1b\x6c\x44\xd1\x58\xc4\x1c\x46\xf6\x3f\x75\x51\xb0\xce\x98\xb8\x1c\x64\x07\x80\xca\xe3\x1e\x92\x1a\x09\x7e\x77\x32\xf1\xcb\x0f\x3f\xa2\x00\x63\x8a\xf7\x37\x9f\x56\x2e\x49\x70\xb9\x50\xac\x72\x22\x9f\x7c\x2a\xdf\x54\x45\x64\x71\xc2\xaa\x2a\x22\x07\xe4\xeb\xd2\x9e\x54\x42\x76\xbf\xda\xf4\xa9\x65\x79\x7c\xed\xd8\x06\x26\xe7\x97\x58\xa0\x5d\xe8\x23\xfb\x58\xa0\x3d\x34\x7a\xe7\x9f\x6f\xa8\x89\xc3\x92\x55\x55\x68\xc2\x31\xa3\x71\x38\xf0\xdd\xd1\x09\x3a\xa5\x60\x3e\x80\x93\x2e\xd8\xf9\x34\x1c\x1a\x00\x40\x2d\x1d\x31\x58\x4f\xb4\x0e\x89\x49\x13\x48\x1c\x7b\x04\xbb\x8f\x79\xdc\x90\xf9\xae\x03\x75\x38\x0e\x9d\x1a\x57\x6c\xdd\x6b\x12\x19\xcd\x95\xbf\xb1\x65\xaf\x0d\xcd\x1d\x4e\x44\x36\xaf\xc8\x46\x98\xa2\x44\xdc\x11\x0f\x41\x1d\x09\xc6\x5e\x97\x64\xd8\x97\xa0\xb1\x30\x45\x35\xbd\xfd\x20\xc3\x7d\xd5\x00\x01\x7b\x69\x9c\xbe\x67\x62\xf5\xd5\x24\xbf\x69\xcf\x1e\x47\xf6\x26\x86\xd0\x18\xb1\x45\x4f\x7b\xa5\x82\x9c\x51\xad\xc4\x10\x35\xcb\xf9\xcb\xa3\xf8\xdd\x71\xad\x0d\x13\xa3\x75\xc4\x40\x21\x42\x9f\x5e\x74\xa7\xee\x24\x6e\x9e\x28\x61\xce\xbe\xe8\x46\x49\x14\x88\xc6\x10\x5c\xeb\xa5\xb9\x22\xc4\xeb\x08\x81\xc5\x38\xca\xf7\x3f\xd5\x60\x47\x84\x18\xea\x01\xeb\xf7\x86\x78\x8f\x3e\xe1\x62\xcb\x46\x8b\x9f\x89\x55\xe2\xff\xdd\x74\xdd\xb8\xb6\x75\x84\x4f\x09\x16\x30\x0d\x2f\xd4\x30\x09\x7e\x25\x9a\xfd\x18\x7e\x7d\xe5\x9d\x5f\x12\x5f\xfe\x31\x71\xbe\xae\x08\xcf\x2f\x8f\x5b\x6f\x6c\x89\xc4\xf1\x62\xff\xc6\xfb\x66\x86\xd5\x1c\xfa\xdf\xe8\x6a\xdd\xe7\xb5\xf7\xcb\xd8\x92\x3f\xcf\xbe\x7b\x03\x1b\xac\xd9\x9b\xc8\xcf\xe3\x72\xf6\xf1\xba\x17\xee\x85\xa4\x4d\x1a\x6f\xea\xe6\x5f\xee\xea\xdb\x20\x69\xe8\x51\x91\x7a\x9f\x78\xed\x11\x3e\x27\x9d\xb2\x86\xfb\xc1\xd1\x7a\x5c\xfe\x22\xe0\xe2\x6e\x9a\x37\xa6\x5d\x8d\x4b\x4f\x3d\xdc\x17\x42\xeb\xbd\x3f\x3f\x5f\xff\x29\x2a\xa1\xdc\xa0\x77\x86\xfc\x50\x61\xfe\xe8\x0f\xfc\x67\x1b\xe7\xee\x1c\x51\xba\xc3\x8b\xe9\xaa\xb5\x3f\x96\x85\xd8\xb6\x5a\xfa\xb6\x85\x10\xa1\xcd\xbe\x1e\x84\x29\xd3\xa3\xc3\x89\x6b\xe8\xa5\x9c\x7c\x3d\x91\xa9\x33\xfd\xb5\xf8\xc2\xad\xbd\x74\x24\x29\x66\x48\x52\x46\x4c\x3f\x7e\xc2\x84\x98\xc8\xca\xf6\x4f\xe5\x9f\xcd\xa1\x52\x43\x81\x7a\x43\x53\x02\x27\xa7\x6f\x88\xf1\xfc\x7d\x42\x63\x12\x29\x4d\xf4\x9f\x7f\xe0\x89\x03\xe5\x50\xd2\xf8\xee\x73\x87\x64\x9e\x86\x26\x76\x64\x94\x2e\xde\xc8\xf0\xa2\xe8\xc5\x82\x56\x74\x94\xd6\x19\xdd\xfe\xca\xe0\x98\xde\x7a\x44\xaf\x74\x42\x3e\xe8\x6c\xef\x1e\xf8\xe0\x74\xc7\x07\x9d\x1d\xbf\x3b\x3d\xf0\x61\x6f\xa7\x84\x92\xfa\xe7\xe2\xc1\xf5\xf4\x0f\xc8\x20\xe0\x4f\xd2\x97\x8e\xb7\x1f\x93\xa2\xf6\x7e\x8e\x7f\x19\xab\xc4\x53\xc5\x0a\x6a\xa3\x30\x98\x29\xa6\xe8\xec\xe7\x9a\x38\x9c\x85\x76\xc6\x4e\x8d\xb7\x60\x21\xf2\x83\xff\xe7\x20\x68\x30\xd8\x97\xc6\x4a\x19\x67\xc6\xb1\xb0\x36\xc5\xe9\xc1\x0a\xc6\xd7\xb1\x88\x02\xbd\xe8\x57\xc0\x90\x05\xb0\x3c\x39\xef\xce\x4c\xba\x0b\xdf\xa0\x56\x23\xb2\xe9\x37\x4b\xdb\x9f\x33\xcb\xb9\x72\x3d\x17\xc1\xc0\x48\xd8\xa9\x9b\xd5\x09\x4c\x7a\xfc\x3f\x98\x98\xb7\x30\x87\x8d\x02\x9e\x9c\x17\xb5\x17\xe8\x21\x3c\x16\xef\x3f\x2e\x6f\x2c\x88\x50\xbd\x05\x49\x9c\x15\xc1\x1d\xb5\x0a\x23\x76\xca\x78\xeb\x68\xe7\x40\x4b\x2f\xb0\xa6\xa5\xf7\xc4\x40\xcb\x91\xce\xee\xce\x81\xce\x16\xab\x30\x28\x0b\xbf\x63\x9a\x6e\xae\x97\x7f\xb8\xf1\xd3\xd6\x14\xbc\xfc\x8f\x89\xf3\xf8\x3a\xfe\x73\x02\xff\xcb\x20\x8c\xca\xf3\x69\x69\x2c\xde\x07\xb6\x53\x20\x5e\x71\xdb\x8d\xd1\xf1\x56\xa7\x78\x86\xa3\x39\x64\x68\x81\x2f\xe5\xc5\x0d\x18\x51\xb8\xfb\x46\xf8\xc5\x64\x64\x9e\x95\x32\x68\x71\x6e\xbc\x25\xf2\x65\x45\xb0\x53\xb8\xb9\xbe\xa3\x64\x00\x1b\x48\xa9\xa0\x7e\x40\x97\xdf\x72\x9f\x73\x59\x93\x29\x2a\x8a\x1c\xdf\x41\x7b\x14\x1b\x5e\xf8\x81\x7b\xc6\x91\x9e\x63\xed\x5d\xc7\x29\x24\x98\x6a\xec\x8f\xf3\x32\xf4\xfa\xdb\x60\x94\x5a\x12\x9f\x4a\x6b\x73\x1e\x98\xca\xe6\xe7\xee\xc2\x14\xd7\x5a\xe7\xaa\xec\x5c\x83\x1f\x68\xe4\x80\x35\xdf\xe2\xbb\x4f\xf4\x72\x5c\x5d\x73\x28\x0e\x07\xda\x35\x44\x37\x6e\xeb\x14\xc8\x3d\x8f\xba\xc4\x4e\xf7\x5c\x67\xbf\xba\x72\xc9\x9d\xfa\xc6\x90\xcc\x7a\x3c\xe2\xae\xe3\xfd\x03\xed\xdd\xdd\x9d\x47\x8c\xde\xee\x13\x47\x61\x3c\x1d\x3d\xc7\x8e\xb5\x1f\x3f\x22\x4d\xca\x7a\xf9\x7d\x38\xda\x53\xd5\xf0\x88\x40\x1f\xef\xe8\x3c\x7d\xac\xf3\x58\x4f\xdf\x87\x12\x80\xb5\x4f\xc5\x83\x1a\xce\x62\x4e\x78\xa4\x5c\x8e\x8c\xc0\xd7\xdb\x95\x1b\x8f\xc3\x35\x72\x24\x20\xb3\xc6\x7f\xc2\x4c\xdb\xe7\x1c\xa3\x43\x54\x8f\xeb\x4e\x67\xb9\xff\x00\x96\x04\xca\x58\xad\xa8\xe1\x5a\xa9\x16\xc3\x72\x06\xcd\x1c\x4c\x0b\x06\xc9\x1f\x06\x7d\xed\xd4\xa9\x53\x07\xc6\xcc\x4c\x3a\x85\x1f\x0e\xe3\x7f\x30\xbb\x01\xff\x95\xe7\xca\x2e\x3e\xf3\xd1\x31\xcf\xaa\x8f\x66\x40\x74\xfa\xed\x15\x31\x8f\x60\xeb\x86\x3b\xff\xb2\x7c\xf5\xdb\xea\xdf\x5e\x82\x6c\xc4\x15\xb3\xfd\x6d\x69\x7d\x9a\xf0\xfe\xb4\x75\x37\x01\x71\xd2\x28\x7b\xe1\x04\xc8\xf7\x8f\x58\x99\x0c\x8d\x31\x65\x17\xcf\x48\xc7\x78\xea\x80\x0a\xd7\xa9\x03\x1a\xa3\x0c\xa1\x8b\x8c\x73\x7e\x26\x69\x9c\x89\xc8\x25\x23\xe5\x73\xd0\xaf\x06\x24\x2a\x75\x79\x07\xa3\xb2\x55\x18\x9e\x69\xd4\x27\x0c\x83\x84\xf8\x94\xa3\x7a\x40\xee\xd2\x8f\x52\x6c\x76\x1e\x6b\xcf\x19\x27\x1c\x73\x58\xb1\x2d\xb1\xbf\xd0\xda\x2c\x28\x35\x95\x47\x92\x9e\x21\x35\xa0\xda\x8c\xf6\x6c\x50\x42\x21\xed\x18\xa3\x69\xaf\xe6\xb9\xe8\x7d\x46\x0f\x67\xc6\x0d\x0b\x46\x6c\x83\xb8\x68\xc3\xfe\x46\x7a\x14\xfc\x63\xe2\x42\x65\x6b\xc3\x5d\xbd\xe6\xd7\x37\xc0\x93\xda\xff\xbc\xf8\x35\x3f\xc6\x73\x43\x39\x3f\xb2\x3b\x4c\x1d\xd5\x1d\x7e\x09\x46\xd8\x44\x43\x19\x73\xd8\x81\x23\xf3\xe3\x41\x2b\x57\x30\x5a\x87\x7e\x85\x4d\x3a\x90\xfa\x33\xa2\x6f\x09\xac\xb4\x73\x23\x18\xf8\xcf\x2d\xc2\x8c\xd1\x62\xa6\x90\xce\x65\x2c\x0e\x31\xe5\x18\x82\xe8\x76\x97\x96\x95\xaf\x1b\x21\x86\x12\x84\x4b\x64\x71\x9f\x31\x6a\x22\x53\x53\xfb\xc2\xcf\xd9\xe1\xef\xfd\x8d\xc9\x39\xa7\x70\x4c\xb6\x0e\x19\x58\x87\x7a\xe9\x26\x1c\x90\xd2\x94\x89\x3a\x56\xd4\x29\x8e\x30\x3c\x87\xc6\x7e\xea\x00\xd6\x0f\x3d\x75\x00\x27\xf3\xd4\x81\xac\x9d\xb5\x4e\x1d\x38\x05\x4c\x6e\x60\xfe\xea\x81\xbb\xaf\x27\x77\x1e\x6d\x72\x15\x0b\x04\x0f\x2a\x17\xcc\x2a\xfc\x81\xf0\xe1\x0f\x81\x40\x8f\xf6\x3e\xaf\x2a\xc7\x41\x98\x09\x6a\x76\x86\x31\xa1\xc1\x07\x0a\x76\x3b\x88\x2a\xbd\xb7\x46\x9d\x86\x96\x1f\xeb\x1b\x40\x9c\x02\x3c\x56\x99\xa3\xb2\x1c\xfe\xca\x6c\x60\x1d\x2a\x06\xb0\x2f\x64\x37\x89\x58\xcf\x65\xeb\xc7\xb4\x37\x83\xd8\x3a\xa0\xcd\x21\xb6\xbd\xb7\xd7\xe8\xef\xec\x3b\xd9\x05\xa7\xb6\x77\x7c\xef\x95\xda\x78\xa0\xcd\x21\xf6\x34\x5e\xa5\xc8\xf1\x22\x74\xb6\x26\xd0\xca\x30\xdd\xcf\x66\x3c\x98\xcd\x26\xb5\x7e\x9f\x37\x95\xea\x7a\xf0\xcd\x1e\xc0\x7e\xac\x90\x80\xfe\xfd\x5d\x2a\x01\xa5\xbb\x26\xb2\x86\x9e\x66\xd0\xb2\x27\xa6\x35\x81\x3f\xef\x9d\xe8\xea\x3e\xd2\xdb\x0e\x0b\x06\x21\xb6\x18\xc7\x3b\xff\xf3\x74\xf4\xbb\x3d\xcf\x71\x0d\x38\x9c\xe9\x18\x2c\x4d\x18\x8b\x27\x09\xf6\x63\xa1\x0a\xd8\xfb\xb5\x4c\x43\x42\x2c\xbb\xa7\xb5\xd1\x3c\xc9\xd5\xdd\xfe\x5e\x67\x77\x8b\xd1\xdb\xd7\x73\xb2\xeb\x48\x67\x1f\xb1\x75\xa0\xe7\x77\x9d\x7b\x17\xb5\x04\x19\x0d\x36\x1e\x68\xe4\x2a\x83\xde\x0f\xba\x9b\x41\x2d\x91\xe8\x83\x6c\x02\x95\x3d\x7d\x47\x23\xa7\xd7\x5e\x28\x44\x58\xa1\x53\xab\xa9\x74\xed\x91\x79\x35\xa4\x35\x87\x71\x42\x54\xfd\xc7\x89\x9e\x81\xf6\x66\x50\x18\xc8\x25\x06\xd9\x04\x2a\xfb\x3a\x7b\x7b\x82\x63\x13\x7b\xd0\xee\x95\xce\x00\x22\x12\x8a\x10\x9b\x40\x66\x7f\x67\xc7\x89\xbe\xae\x81\x0f\x4f\x53\x13\x57\xa2\xb5\xb7\x1d\x54\x88\x81\x9e\xd3\x78\x71\x3f\xdd\x77\xa2\xbb\xb3\xff\xf4\xfb\x5d\xdd\x7b\x17\xa0\x35\xa8\x68\x3f\x49\x50\x35\x7d\x60\x2d\xfe\xb2\xee\x87\x03\xa7\xd9\x63\x01\x49\xe6\x2d\x73\x06\xdf\x14\xfa\xf9\x8c\x79\xaf\x0f\xc4\x62\x1f\x1f\xcb\xd1\xef\x9a\x30\x88\x08\x38\xef\x58\xae\xf9\x7a\x1f\xc6\x72\x02\xbe\xe0\x1d\xdc\xdb\xde\xdf\xff\x9f\x3d\x7d\x47\x5a\x9a\xb2\x43\xa2\x78\x60\x56\x3c\x44\x78\xd4\x08\x4c\xcd\xdd\x3c\x35\x7a\x80\xf7\xc5\xef\x3a\x3f\x6c\xda\x60\x62\x81\xef\x07\xf1\xb8\x3b\xc2\xf3\xdf\x34\xcd\xa9\x0e\x60\xed\x4a\x6b\xa6\x1e\x15\x3b\xac\x7d\x9d\x97\xb0\x46\xd8\xac\xb9\xe9\x39\xd1\xd7\xd1\xd9\x8a\xb7\xe7\x81\xf6\xbe\xa3\x9d\x03\xf4\x71\xcf\x94\xc7\x42\x6d\x06\xb9\x2c\x53\x9b\xa7\x34\x30\xc0\xe6\xaa\x0d\x01\x91\xcd\x51\x1b\x02\x1a\x9b\xa6\x33\x10\xc8\xd6\xe0\xae\x4d\x7f\x12\xf4\xd6\xa6\xdc\xc3\x42\xf0\xfd\xb3\x2a\x0c\xbf\x59\x43\x60\x2d\x85\x76\x78\xf0\x67\x53\x88\x8f\x85\xdc\x5c\xb2\xf7\x78\x35\x6f\x2e\x5d\xc1\x49\x09\x0a\x46\x8b\xd1\xd7\xd3\x04\x3d\x2c\x74\x28\x7a\x5a\x0b\xc1\x6d\x3e\xb9\xc4\x8b\x7d\xa1\x1a\xfe\x1b\xec\xbf\x66\x51\xbf\xb7\x8b\xf7\xde\x50\xe7\x72\x1c\xbc\xb1\xc7\xd5\xe7\xc3\x69\x06\x3b\x72\xb9\xd3\x08\xab\x45\x04\x24\x9c\xae\x25\x70\x57\xf3\xe8\x41\xa5\x99\x0b\x03\x6e\x06\xc5\x7b\x20\x6c\x4f\x88\xfd\xa2\x21\x82\x61\x54\xf9\x0a\x45\x78\x4e\xd4\x17\xdf\x33\xdb\xa2\x18\x60\xf9\x13\x0a\xe4\xa1\x8f\xa2\x09\x0c\x1c\xb1\x9d\x02\xd1\x2d\xba\x33\xee\x95\x6a\x82\x17\x4c\x74\x33\x48\xb4\x33\xa9\xd0\x6e\x01\x52\xb3\xd6\xb9\xd8\xed\xb3\x1b\x82\xdd\xb9\x07\x98\xac\x1c\x2e\x24\x4d\xc5\xd1\x31\xb9\xe7\xe6\x6a\xfd\xf7\x4d\x1a\x0f\x46\xd7\xf1\xc2\xc1\xc1\x78\x7f\x35\x67\x30\xa2\x34\x68\x68\x18\xe1\x6f\x9a\x31\x80\xfc\xf0\x3e\x88\x09\x0f\xea\x7e\x88\x09\x11\x71\xde\x12\x49\x0e\x68\xa9\xaf\x1b\xb0\xd7\x31\x08\x80\xb0\x59\x23\x59\x08\x38\xa2\x3a\x5c\xcd\x18\x16\x05\x1e\x37\xe3\x14\x09\x41\x6a\x02\x5d\x63\xef\x78\x17\x3d\xfc\xe8\x9b\x50\xf1\x73\x77\xfb\x71\x63\xec\xdd\xe0\xe7\x77\xf9\xab\xbd\x32\xbe\x71\x8c\xbb\x1d\xa6\xac\xee\x59\x0d\x69\xd2\xea\x2f\x01\x38\xaf\x94\xea\xa8\x59\x38\x1c\x34\x19\x41\xc3\x18\x56\x60\xc4\xae\x27\xa7\x0a\xf0\xff\xd9\x93\x18\x40\x23\x9e\xe6\xa2\x8b\xe6\x68\x8e\xda\x8c\x7d\x74\x2a\x0b\xd0\xf1\x3f\x06\x86\x24\xe4\xed\x82\x3d\x68\x67\x4e\x1d\xc0\xc0\x9f\xc2\x60\xee\xd4\x81\x16\xef\xb7\x14\xf5\x61\x22\x62\xf9\xe7\x77\xde\x6e\x7b\xf7\xb7\xbf\x6d\x7b\xa7\xed\x9d\xff\x1d\x7a\x0c\xc3\x0e\x1c\x7e\xe0\x37\xbf\x79\xfb\xdf\x4e\x1d\xc0\x1f\x80\x90\xdf\x4b\x06\xcd\x7d\xf7\x1e\x6e\xb9\x5b\xf3\xe1\x91\x7b\xb5\x1c\xef\xc6\x8e\x07\xeb\x94\xdd\x98\xc2\x60\x53\x7e\x9d\x1e\xae\x2c\x6d\x94\x5e\x5d\xa5\xce\x01\x4d\x1d\x95\x6a\x4c\x92\xf9\xe1\x32\x8a\x1d\xdd\x5d\xa2\x1a\x85\x2c\xd6\x88\xc2\xe7\xe8\x39\x55\xb5\x09\x01\x2f\xd4\x6e\x13\x98\xd2\x4b\x9f\xb8\x17\x5f\x52\x08\x75\x38\x4c\x2f\xee\x5d\x39\x56\x90\x32\x52\xda\xb1\x58\x89\xfa\x55\xe3\x98\x35\x6a\xe7\xc7\x95\x10\xb0\x03\xc4\xf3\xdb\x09\x70\xbc\xa0\x19\xd3\xc8\xda\xd9\xd6\xac\x35\x0c\x40\xc6\x2c\xaf\x4d\x80\x1a\xbe\x17\x12\xb3\x73\xff\x8b\xea\x8f\x0f\xb8\x29\x80\x0c\x1d\x05\x9a\xf1\x9a\x8a\x6b\x25\x27\x63\x72\x5d\x0b\x39\x51\x8d\x58\x34\x92\x7b\x08\x6b\x55\x8d\xb1\x4f\x54\x94\xc6\x7f\x15\x0d\xc4\xbc\x62\xd1\xfc\x98\xa1\x03\xb9\xbf\xbf\xdb\xe8\xb0\x44\x77\x72\xcc\x78\xc0\x16\x29\x54\xbf\x79\x20\x9d\x3b\x66\x39\x28\x8f\xa4\x18\xbd\xe7\x0d\x6e\x55\xde\x6d\x60\xbe\xe2\xfa\x13\xc6\x5b\x0f\x44\x49\x08\x6a\x5b\xdc\x31\xf9\x2f\x54\x6d\xab\x17\x3e\x23\x25\xed\xe2\xfb\xf0\x1c\x53\x8f\x03\xd9\xac\x86\xeb\x26\x8a\xc6\xca\x48\x0e\x8b\x8a\x10\xe0\xfa\x07\x79\x29\x94\x6f\xaf\x70\xaf\x83\x04\x7a\xa9\x4f\xcd\x9e\x56\x01\xf7\xa8\xd1\x5f\x05\x1a\xed\x03\xc3\x39\xa3\xfe\xb8\xd5\x50\xa9\x18\xe8\x70\x51\x54\x58\x05\x59\x38\x96\x4e\x89\xd0\xf1\xd6\x41\x0a\xcf\x6b\x33\x7a\x33\x96\x09\x83\x14\x3f\xc2\x14\x84\x36\x82\x7d\xe6\x8f\x78\xd4\x50\xe3\x53\xa2\xcf\xcb\x1b\x00\xc0\x05\xd0\xb0\xa8\x1a\x64\xfd\x0b\xd2\x5e\x4c\x6b\x1b\x88\x97\xe3\xea\xca\xf3\x0b\xa5\x57\xd8\xc7\x03\x1b\x2f\x60\xdf\x5d\x1c\x11\x1c\xc9\x98\x55\x40\x3f\xd5\x08\x7a\x77\x65\xbd\xfa\xdd\xa3\xf2\xd4\x4d\x8e\xcc\xe4\x5f\xc3\x3f\xf9\xc5\xdb\xfc\x20\x6b\x45\xac\x1e\xd3\x1c\xf4\xfb\xc4\xf4\x2b\x2c\x18\xc4\x29\x3d\x07\x8d\x56\x4f\xdc\xd2\x23\x29\x1b\xd4\x12\x0c\x5c\xa4\x8a\xc5\x92\xd1\x71\xce\x53\x00\xc4\xef\x92\xea\x35\x05\xc5\x01\x02\x60\x96\xc5\xfc\x25\x16\x2f\x56\x54\x1f\xf6\xe9\x4c\x3b\x67\x39\xd3\x8e\xb6\xd0\x11\xf8\x53\x24\xeb\x35\x56\xd1\xbd\xf2\xd5\xf9\xca\xbd\xdb\x41\xc6\x5f\x08\x90\x11\xda\xd9\xba\xe5\xdd\xf5\xc9\x6b\x02\x45\x49\x44\x70\x15\xbd\x56\xaa\xa2\xd7\x4a\x55\xf4\x72\x66\xde\x1c\x25\x8a\xf8\xb7\x0e\xfc\x89\x5b\x99\x48\xa8\xa9\x87\xe1\xce\x5f\x80\x99\x8a\x85\xa1\x25\x83\x7d\x7d\x7d\xd0\x2e\x66\x59\x00\x7a\x27\x9b\xd3\x81\x5f\x21\x8f\xba\x22\x0f\x85\xa4\x21\x5f\xd5\x35\x4f\xbb\xea\xf2\x23\x41\x6a\x2d\x06\x9f\x93\xe1\x07\xfd\xc3\x11\xf4\x04\x9d\x93\xd1\x1f\xc9\x28\x1d\xec\x46\x26\x3d\x9a\xe6\x01\xf1\x49\xdf\x8d\x7f\x6b\xcc\x78\xf8\xe8\xdf\xb9\xb3\xe0\x4e\xbd\xa8\x83\xd1\xe0\xcc\x7b\x94\x45\xb8\x1b\xe1\xeb\x2e\x39\x1a\x85\x57\xc3\xc5\xdd\xf2\x2f\x99\xca\x0c\x56\x4f\x28\x8c\x98\xd9\xf0\x93\x62\x2a\xf7\x4a\xaf\xbb\x3a\x5f\xda\x98\x8b\x03\xac\x24\x9e\xae\x0f\x49\xb9\x61\xe1\x4e\xbe\xe5\x8d\x85\x40\x45\x0f\xc9\x3f\x35\x1a\x2f\xd4\xbb\xcd\x08\x9a\x7a\xc1\x97\xb2\x6a\xca\x5e\xf3\x4e\x71\x72\x04\x3d\x97\x16\x57\xdd\x7b\xaf\x12\x50\xc5\xac\x62\xed\x25\x5c\xbf\x78\x77\xb7\x72\xf7\xba\x95\x9a\xb8\x89\x24\xa4\x34\x7a\xc2\xc4\x93\xb4\xb7\xe3\x05\x8b\x7c\x53\x3d\x75\x5f\x9e\x0f\xf0\x37\x1a\x2c\xf2\xde\x0d\xe4\xb8\xff\x6e\x83\x0c\x0a\xea\xbb\x52\xfb\xf4\x48\x2b\x2d\x6e\xa3\xde\x4f\x4d\xc2\xe0\xbe\xad\xd5\x72\x54\x34\x54\x8f\xc0\xe1\xae\x93\xee\xc4\x56\x58\xaf\x95\x81\x95\x51\x9b\x2e\xb0\x9d\x13\x36\x13\xe8\xe6\x9c\x92\xdb\x42\xdf\x58\xdc\xeb\x64\x48\x34\x77\xe0\x1a\xbe\xa2\xf7\x02\x65\x1e\x4b\x2d\x27\x3b\x17\x26\xb0\x89\xe5\x67\x33\x95\xe5\x47\x58\x25\x84\x52\x6b\x39\xcf\xcd\x9d\xbf\xc2\xcd\x24\xb8\xc9\x82\x68\x58\x03\xa3\xa0\x1e\x11\x72\xb3\x88\x84\x4e\xc7\xca\xa0\xca\x89\x3f\x0c\x82\x08\x1c\x66\x1b\x98\x18\x00\x76\xd9\x73\x72\x16\x57\xbc\xa7\xa5\xea\x34\x4c\xf2\xce\xc4\x74\xf9\xea\x5f\xd1\xb2\x79\xef\xc7\xf2\xf5\x75\xae\xb9\xe1\x0f\xa5\xba\xfc\x0a\x95\xd1\xeb\x2b\xd8\x10\x95\x56\xb1\x6c\x04\xdd\x26\x48\xeb\x1e\x98\x3c\xc6\x28\xd3\x78\xaf\x60\x51\xf9\xcf\x67\x4b\xdb\x8b\x12\x30\xe9\x6c\xf1\xe3\x43\xc7\xcc\x41\x09\x84\xe0\x77\xc9\xeb\x68\x80\xcf\x64\xfc\xa2\xec\x41\xd3\x49\x9e\x52\xd9\x3e\x9d\xba\x05\x23\xe4\x76\x93\x3c\x65\x42\x57\xe5\xea\x9b\xa1\xfb\x53\x12\xde\x31\x33\x9d\xa1\x65\x25\x14\xe6\x41\xce\x00\x92\xb6\x0e\x21\xc4\x02\xcd\x3c\xad\x1b\xc0\x9a\x98\x45\x28\xc5\x47\x83\xe6\x1c\x4e\x4c\x27\x0a\x15\xfd\x84\xc5\x8d\x1e\x09\x7c\x27\x95\x0a\xff\x94\x96\xf7\x35\x61\xe2\x28\x73\xd3\x2f\x09\x0a\x8c\x81\x5b\x87\xa0\xf8\xe5\xf7\xe5\x97\x9b\xee\x95\x87\xe1\x5f\x03\xb6\xd1\x78\x54\xe6\x1c\x7f\x18\x41\xa1\x79\x0d\x3e\x05\x4f\x27\x40\xc5\xda\xaf\x1a\xf0\xd8\xa0\x9f\x00\x4b\x54\x75\x14\x4b\x6a\x90\x53\xf0\x45\x81\x02\x91\x97\xec\x7d\x19\x2e\x64\xa5\x44\xef\x6e\x7f\xee\x4e\xcf\xf2\x7a\xc3\x9b\x1c\xff\x49\xd4\x84\xf9\xa8\x4a\x91\xf5\xe9\xab\xa9\x90\xa8\xb3\xdc\xd4\x85\x0f\x43\x90\xa3\xb6\xf6\xe6\xed\xab\x70\xad\xdf\x24\x22\xfc\xaa\x26\x26\x55\x53\x50\xe3\xab\x63\x21\xe3\x4e\xc2\xc1\x45\x37\xde\x32\x85\x01\x3f\x8d\x0d\x25\x73\x79\x6e\x4d\xcc\xf9\x76\x86\x33\xee\x14\xac\xd1\x16\x51\x60\x80\x2e\xfc\x40\x0f\x8b\x3d\xac\xdb\x21\x7e\x06\x75\xb5\x80\xd9\x7d\x46\xbe\x48\xfd\x2f\xa4\xc9\xe8\x91\x09\xa1\x92\x19\x98\x87\xce\x5d\xdf\x6f\xaf\x60\xaf\xd3\xa7\xb3\xb0\x8f\x40\x1a\x57\x5f\x2f\x54\x1f\xcd\xd4\xf4\xca\xd8\xf9\xf2\x62\xf9\x8b\x8b\xd8\x74\x8b\xaf\xfa\x3f\x6c\x56\x36\x1f\x80\xf4\x76\x67\x26\xcb\x57\xbf\x65\x41\xeb\x7d\x29\x49\x66\xf7\x87\x4f\x5d\xaa\x49\x34\x08\xd1\xa5\x2f\x21\xa2\xc2\x20\x90\x60\x9e\x54\xd0\xc0\x1c\xaa\x9a\x1a\x9a\x6f\x7b\x68\xd7\xbb\xca\x5b\x03\xe1\x05\xd0\xd8\x96\xf2\xab\x77\x50\xa6\x6c\xe3\x6b\x4e\x51\x20\x84\x71\xf8\xb2\xdb\x1e\x1a\xb2\xa8\xa3\xaa\x87\x2d\x54\xbf\x4a\x3d\x56\xaf\x6f\x09\x6a\x18\x24\x6e\x4b\x1b\x4f\xdd\xcf\x25\xed\x5a\x6a\xb0\xb2\xf0\xf2\x3a\xc9\x89\xd2\x45\x6a\x74\x7c\x42\x11\x2f\xab\x7f\xbb\x08\xb7\x1a\x36\x55\x68\xa1\x2b\xa2\x6d\xb4\x01\x2c\xd7\x9f\xed\x5c\x9e\x4f\x84\x1f\xea\x21\x12\x92\x49\x89\xb3\xc5\x12\x29\x34\x67\xee\x83\x07\x0a\x2c\x7e\x71\x74\xb3\x4e\x1c\xaa\x77\x46\x48\xc2\xf9\x35\xcb\x15\x78\x22\x45\xa2\x95\x90\xc3\xf5\x9e\x15\x00\x6b\x0b\xe7\x0a\x36\x89\xfe\xcc\xb5\xbf\x52\x2b\xc2\x62\x36\x5b\xd3\x39\x5f\x4d\x89\x28\xb3\x10\x27\x9e\xfc\x23\x66\xe7\xde\x25\xb8\x0a\x85\xbf\xd9\x05\xcd\xa2\xe7\x1d\xd2\x2e\xda\x6d\xe8\x11\x18\x21\x6a\xeb\x66\x75\xe5\x5a\x79\xfa\x73\x90\x90\x0d\x12\x15\xa9\xe6\xe8\x70\x85\x9f\x04\xb9\x18\x2d\xba\xc8\xca\xb4\x0e\x8e\xa0\xe8\xa2\x16\xfc\xc0\x10\xae\x01\x5c\x94\x4d\xd4\x00\x1c\x2e\x81\x28\x07\x8c\x53\x22\xdc\x72\x70\x74\xb0\x3f\xcd\x49\x74\xc3\xf1\xc4\x78\x65\x33\xfc\x13\x43\xea\x82\xeb\xc6\xbe\x79\xec\x1d\x81\xb9\x3f\x67\xe6\x53\x9e\x96\xcb\x2b\xa0\xcd\x18\x18\x81\xf3\x1a\x6d\xf8\x74\xee\x9e\xc1\x56\x71\x43\xe9\x2c\x90\x34\x6a\x53\x93\x3d\x3c\xa7\x61\xbb\xca\xfb\x68\x63\x03\x3d\xf6\x8e\x54\xb7\xbf\x75\xe7\xaf\x55\x9f\x5e\xac\xce\x7c\xfa\x8f\x89\x0b\xe5\xe7\x4b\x6c\xa3\xe7\x83\x18\x94\xe1\xd2\xfa\xb4\xbb\x74\x17\xae\x32\x52\x93\x3a\xd0\x7b\x96\x56\x6d\xd0\xd4\x18\x7b\x6a\xe6\xa9\x6f\x8e\x51\xcc\xa5\xcc\x82\xf4\x50\xdd\xb9\x7e\x1e\x70\x84\xde\x04\xa4\x3b\xb7\x37\xcb\xcf\xbf\xc4\x3b\xda\x4d\x89\x61\xad\xdb\xe6\x7a\x53\x86\xd4\xc7\xca\xb5\x26\xe0\x4c\xaa\xdc\xd9\x74\xb7\x6f\x24\x80\xb1\xa5\x75\x21\x7c\x38\xe5\x1f\x9e\xed\x5c\x9f\x90\xc2\x19\x06\xe6\x5b\x78\x3b\x77\x64\x6e\xfe\xea\xf2\x2a\x10\x82\x7a\x8c\xd7\xea\x5e\x0e\x8c\xaa\x3d\x14\x0b\x49\x2b\x8b\x69\x52\xac\xa3\xe1\xe1\x3c\x3a\x4d\x41\x80\xc0\xc5\x39\x67\xa7\xd1\xc2\x2c\x8a\x49\x90\xeb\x83\x9d\x44\xaa\x62\x2a\xc2\x43\x43\x1a\x17\x1e\x1e\x54\x3b\xc2\x08\x43\x86\x65\x54\xb9\xb0\x2e\xa3\xc0\x3e\x4b\xb5\xc1\x72\x64\x39\x41\x3c\xec\x7e\x3e\x58\xdf\xa7\x21\xea\x85\x51\xef\x28\x4f\xd7\x8a\xf7\xbb\x94\x1f\x3c\x2e\x4f\xbf\xe2\xdf\x02\x94\xf0\x5b\x3c\x91\xc7\xda\x8f\x77\xbd\xdf\xd9\x3f\x70\x1a\x33\x8c\x24\x78\xa3\xcf\xc4\x83\x51\xd5\xb8\x51\x95\xb6\x39\x86\xdd\x31\x4d\x98\x8b\xdc\xb8\xd7\x46\x50\x68\x29\x83\x76\x4a\xb8\x20\xb1\xe1\x5d\xe8\x0c\x20\x77\x5c\xd6\x86\x3d\x97\x6f\x33\x8c\x13\x59\x32\x1b\xdb\x63\xb0\x00\xd3\xa0\xd4\x66\x5b\xf8\x8a\x06\x00\x5b\x7d\x48\x5c\x9b\xe3\x5c\x9a\xfa\x72\x70\xcf\x42\x52\x82\x03\xa0\xd2\x56\xa2\xab\x97\x22\x55\x33\x36\x16\x50\x58\x3e\x04\x29\x3c\x07\x3a\x7b\x4d\x4d\x0d\x77\x69\x96\xfa\x4f\xae\xba\xf3\x4f\xea\x7f\xc5\xb0\x9b\x3b\x4b\x3b\xf7\xbf\x00\x69\x58\x7d\x72\xa9\x72\xef\x26\xea\xef\x0b\x4f\xdc\xa9\x3b\x11\x72\xd9\x1c\x00\x88\x65\x4d\x12\xa5\xb2\x48\x30\x13\x77\x75\xab\xef\xf4\xac\x8f\xd6\xf2\x15\x35\x60\x64\xc7\xfb\x74\x6b\x49\x14\x00\x9e\xd3\x32\xac\xe7\xa0\x94\x7c\x75\x0f\x41\x84\xa9\xe3\x77\x14\x04\x92\xb0\xa4\xb3\xe9\xa0\x13\x89\x2c\x83\x59\xcc\x66\xc6\x8d\xb1\xb4\x93\x46\xea\xb0\x5e\x55\x44\xd9\xc3\xc1\x28\xae\xa0\x80\x38\x7c\x90\xd5\x56\x97\xdd\x9c\xc4\x86\xa8\xd1\x0b\x2a\x8c\xa0\xfa\x54\xa2\x43\x1f\x0b\x97\x5f\x11\xfd\x93\x81\x80\x22\xa9\x05\x43\xc5\x0c\x50\x0a\x57\x3f\xb5\x85\x9e\x8b\xbb\xc1\x75\x69\x6a\xc1\xbd\xf2\x80\xbb\x26\xe3\xa4\x73\xfb\xe4\x5b\x2f\x80\x0a\xa9\x28\x8c\xe2\x4f\x3b\xa1\xde\xb2\x35\xb6\x89\x54\x1a\x03\xa3\x40\x8e\xb4\x00\x1b\x23\x4e\x6d\x2b\x8d\xbb\x44\xb4\x66\xe4\x38\x35\x10\x5a\x9e\xb7\x41\x5e\x0d\x48\xdc\xac\xee\x2d\x83\xd0\xa6\x9b\x95\xd7\x6d\x36\x34\x2c\xee\x39\xcb\x0b\xa3\x3e\xe0\x13\x2d\x47\xf4\xb0\x6c\x70\x39\x58\xa8\x03\x1d\xea\xba\x5e\xe5\xdb\x0f\xdd\xd5\x8b\xf4\x98\xea\x1e\x47\xc0\xb2\xc9\x65\xc2\x04\xb8\x50\x81\x30\x39\x3c\xbe\xa9\xda\xde\xb5\x03\xb7\x4a\x01\xf5\x0e\x79\x8b\x4b\xd8\xb0\xe5\x87\xeb\x70\xbb\x60\x34\xc8\xad\xe7\x4b\xc9\x06\xc5\x63\xe6\xc7\xc6\x39\x33\x5d\xe0\x96\x9e\x5e\x77\x39\x7f\xb3\x92\xb0\x2a\xe6\xd0\x0e\x01\xa7\x57\xb6\x28\x57\x26\x22\x73\xc0\xfb\x93\x24\x07\xed\x83\x89\x9d\x1b\xaf\x2b\xcf\xa7\xdd\x57\x93\xde\xaa\x9b\xc2\xf6\xae\x9f\xc9\xad\x05\xf5\x74\x05\x6a\x8a\x50\xd0\x35\x88\x0a\xde\x09\xeb\xe3\xbb\x27\x29\x3d\x5a\x1c\x35\xcc\x51\x72\x17\xc3\x71\x21\x9c\x37\xbc\xbe\xfd\xf3\x21\xf0\x3d\xc3\x0f\x23\xe6\x98\x57\xbd\xf0\x9d\xb7\xdf\xfd\xed\xb1\x16\xe3\x9d\xa3\xf0\xbf\xb7\x8f\x4a\x0d\x35\xf5\x7c\x64\x6d\x70\xf2\x25\xde\xf5\x89\x74\x77\xe9\xa9\x70\xf8\x60\x7b\xf3\xa0\xcc\x21\x61\xf8\xc7\xc4\xf9\x77\x30\xef\x02\x70\xbc\xa9\xa1\xb4\x19\xad\xef\xa0\x3e\x01\x87\x1b\x75\x6b\x84\x87\x8b\x59\xf2\x13\xa0\x27\x91\x70\x48\x0f\xb8\xe6\x0e\x17\xce\x26\x20\xa5\xfa\xe8\x59\x65\x69\xa3\x7c\x63\x15\xcb\x6a\xdd\x7a\xc8\x0e\x05\xc5\xb1\xf5\xc6\x99\x61\xbc\x75\xc4\x1a\x32\x8b\x99\xc2\xe1\xe0\xb7\x37\xb4\x20\xd4\x1c\x82\x97\x41\xcd\xac\x2c\x9e\xe7\x56\x88\xfe\x4f\x89\x2b\x89\x03\xc8\x90\x79\xc2\xc0\x46\x96\xc9\x51\x73\x1c\x6f\x48\xde\xe9\x45\x25\x20\x91\x2f\xf9\x31\xb4\xfe\x61\x88\xa7\x64\xd0\xfb\x83\x2c\xc4\xf6\xb7\x65\xec\x56\x63\x26\x69\xf4\x16\xba\x3e\x2c\xd0\xdf\x53\xce\xaf\x48\x34\x61\x34\x29\xb5\xcc\x4f\xd7\x59\x0c\x58\x82\xb6\x18\xa4\x2f\x8a\x68\x36\xc3\xc1\xc3\x51\xb8\x48\x1d\xa2\x1b\xdf\x90\x05\x6d\x22\x74\x96\x54\xd1\x73\x2e\x22\x5d\x7d\x21\x56\x79\xfa\x19\x4c\x16\x9e\xf2\x93\x2f\x4a\x9b\x37\x83\xe0\xb8\x6f\x56\xaa\x2f\x50\xd6\xa1\xd2\xf1\xe9\xf6\xce\xc4\x05\xb9\x9a\x14\xf2\x49\x8b\x35\xfe\xee\xbf\xfe\x1b\x2e\x71\x6f\xa5\x4b\xd7\x6a\xc8\x0d\x1d\x5e\x87\xf8\x3a\xad\x40\x6f\x39\xca\xd7\x13\x87\x36\x0a\x57\xb8\x3a\x56\xb2\xfc\x62\xaa\x7c\x7e\x85\xbd\xb5\x09\x21\x91\xc7\xa8\xdf\xb9\x15\xe3\x63\xf0\x55\xfc\x48\xec\x7f\xa0\xe3\x2b\x8e\xdb\x90\x2e\xea\xeb\xe3\x61\x9d\x8f\x3b\xa5\x87\xf5\xf1\xf0\xaf\xf1\x84\x2a\xca\x12\xb3\x66\x23\x7f\x4d\xda\xdb\x9b\xde\x93\x2a\x7a\x98\xa4\xa9\xc0\xea\xff\x1c\xff\xf2\x89\x63\x7e\x82\xb5\xac\x68\x69\xf4\x99\x78\x30\xa0\x1a\xee\x66\xd4\xa4\x51\xc2\xb5\x0d\xf6\xf9\x70\xda\x29\x58\xf9\x88\x2b\x52\xb6\x6c\x7e\x78\xe6\x5e\x9a\x41\x73\x9c\x77\x95\xc5\xcf\xbb\x47\x83\xb5\x14\xf3\x7c\xaf\x08\x1c\xa2\xc2\xb5\x01\x2a\x1b\x35\xbd\xb7\x64\x45\x6d\x15\xc4\x60\x7d\x44\x72\x89\xfa\x56\xab\xd2\xf6\x6c\x69\x63\x0e\x37\xf6\xda\x73\x09\xa9\xd6\x39\xa3\x57\x94\x9b\x93\x61\x84\x3b\x9d\xa2\xd5\x3a\x42\xc8\xca\xa7\x83\x6e\x84\x48\x9d\x21\x79\xdd\x36\xfe\xc5\xe1\x7b\x82\x0c\x82\xa7\xcd\xc3\x83\x52\x18\xed\xbd\x5d\x81\xd9\xc4\xb1\xe0\xc4\x3c\x01\xf7\x0a\xb4\x53\x74\xdb\xc0\xd7\x81\x74\x0e\xed\x18\x22\x28\x04\x1e\x16\x5f\xa0\x9a\xcc\x86\x79\xd8\xc3\xde\xfb\x72\x4b\xdc\xd7\x6c\x29\x2d\x6d\x6e\x96\xb6\x6f\x10\x4e\x36\xa8\x60\x19\x4b\xba\x46\xb2\x1d\x23\x40\xe9\x17\x77\x0c\x61\xc5\xef\xee\x3f\xae\x3c\x5a\xc6\x99\xe2\xfb\x9d\x07\x44\x3a\x3c\x73\x90\x2d\x09\x70\x1f\xcd\xb6\x19\xc6\x87\x76\x91\xa3\xd0\x52\x69\x87\x6e\xc6\xc2\xf8\x8b\x52\x28\x93\xf1\x2e\xa7\x43\xf5\x2d\x4c\x3c\x99\xe5\x79\xb3\xb8\x09\x69\x96\x6a\x8a\x67\x0d\x10\x79\xc0\xbd\x50\x5b\x20\xff\x11\x51\x1a\x14\x97\x6c\xa4\x8d\x07\xfc\xa8\xe0\x56\x79\xfa\x29\xd6\xcd\x25\x6e\xb1\xcb\x0f\x8d\x96\xb0\x68\x29\xc4\xad\xf2\xe4\x3c\x56\xf1\x5c\x59\x0f\x3b\xbb\x31\x18\xad\x8e\x6a\x96\x82\x81\xfb\x9e\xc4\x21\x46\x0f\x93\x01\x1b\x96\x7d\xe5\xe2\x0b\x77\x61\xae\x3c\x37\x55\xda\x98\x02\x80\x3b\x77\x96\x4a\x1b\x97\xa2\x94\x0a\x97\xca\xfa\x55\x77\xe9\x66\xe0\x09\xf3\x70\xfa\xa6\xf0\xe6\x4c\x82\xe0\x53\x2f\xcc\x83\x40\x4f\x87\xc4\xff\xc0\x19\xa9\x19\xe6\xcf\x36\x35\xb9\xb4\x64\xfb\x7b\x81\xe2\x58\x41\x3c\xba\xcd\x77\xb3\xcb\xab\x2b\x2f\xc3\x1b\xdd\x37\x64\x62\x48\x25\xbd\xa4\x32\xb0\x12\x9d\x39\xbf\x2f\xbb\xb0\x8c\x50\x94\x1a\xdb\x59\xe5\x06\x0e\x11\x84\xe6\xd9\x46\xd1\xc6\x81\x93\xf9\x0a\xa4\x22\x93\x19\x31\xfa\x29\xea\x68\x33\x0d\x9a\x02\x37\xd9\x1a\x80\xe0\xbc\xe2\xc7\x5e\xc5\x7b\x69\x88\xd5\x6c\x4d\x42\xb6\x14\x64\x10\x74\xa3\x79\x30\x24\xc4\xdd\x00\x48\x8e\x51\x73\x8c\x73\x16\x15\x26\x4f\x49\x8f\x2b\x98\xfd\xd7\xf7\x82\x3d\x42\xb1\x67\x52\xa8\x9e\x8f\x57\x8f\x9b\x32\x47\x2e\x00\x22\xef\x4b\x7c\xb3\x7e\x19\xd8\xef\x1f\xd5\x04\x80\x45\xde\xa2\xee\xe2\x34\x84\xd2\xc6\x55\xd5\x6a\xe0\xda\xcf\xbe\x1e\xd2\x66\xc4\x31\x4b\x25\x51\x48\xe3\x10\xdc\x22\x67\x14\x4a\x94\x38\x2e\xaa\xf6\x2f\xa6\x46\x53\xe0\x20\x79\xfe\x3d\xf3\x69\x0b\x95\x3e\xc7\x0d\x22\xca\x55\xd7\x1d\xd9\x91\xf7\x64\x44\xde\x7a\x18\xf6\xaa\x63\xa4\x21\xd9\x53\xd9\x20\x18\xde\xce\x3e\x96\x98\x23\x3a\xfa\xae\x72\x20\x7e\x27\xfa\x98\x71\xbc\xcf\xfd\x4f\x82\xf1\xe8\x11\x0d\x4a\x84\x94\xe8\x5a\x90\x52\xdf\x89\x20\xaf\x79\x54\xed\x0f\x31\xf2\xa9\x96\x2e\xc3\x44\xb2\x92\x26\x36\x61\x6d\x6a\xee\x70\x55\xbc\x1e\x00\x8a\x36\xda\xd6\x82\x98\x1c\x4c\xe1\xc1\xd5\x07\x28\xb5\x23\x23\x28\x11\x63\x61\x65\xc7\x8c\x31\x33\x9f\x46\xbd\xc6\x61\xdb\xd5\x19\x0b\xa3\x8f\x2d\xa9\x15\x7e\xf5\x6e\xcd\xc9\xc9\x81\x17\x95\xb9\x15\xf7\xcb\x4f\x13\x04\xbe\x87\xb6\x36\xc0\x42\x8e\x2e\x16\x57\x42\xb8\xc4\x71\x5b\x33\x18\x11\xd6\x93\x0e\xa8\x68\xb7\x47\x2d\xf6\xeb\xc6\x2f\x84\xe0\x9f\xb5\xc6\x23\x3d\x0d\x7d\xab\x62\xa0\x94\x79\x29\x22\xea\x03\xe3\xd6\xc3\xb0\x01\x42\xfa\x7a\xa8\xcd\xa1\x22\x28\xa8\x86\xc0\x00\xd8\xef\x2c\x11\x23\x2f\x34\x9c\xa6\x90\x1e\x65\x5f\x83\x03\x88\x23\x2e\x71\x50\x41\xe0\x5b\x23\xf3\xaa\x08\x71\x0b\x60\x37\x04\x52\x0e\xac\x79\x27\x4c\x33\x0e\x96\xc6\x0e\x6e\xcd\xf3\x7a\x17\xc7\xb4\xfa\x74\x16\xc1\x9b\xa6\xe3\xa4\x87\xb3\x72\x13\xcb\xe2\xd7\xe8\xd9\x99\x9c\x65\xd9\xa2\x07\x53\xef\x80\x48\x00\x25\x02\xc9\x9a\x21\x7d\x23\xfe\x2b\x1d\x19\x1c\x44\xb1\x45\x5a\xed\x6b\x8b\xe0\x30\x42\x0d\xe9\x49\xf1\xc8\x81\xd7\xbf\x29\x43\xa6\x78\x62\xdf\xf5\xaf\x35\x6a\x8a\x3d\xf0\x02\xb2\x9a\x42\x04\xc5\x1f\x70\x28\x96\x26\x11\x05\x23\xc3\x31\x49\xe9\x6c\x70\x6f\xed\x78\x9f\xac\x48\xd1\xfd\x03\xcf\xe1\x43\xf2\x09\xe1\x00\xaa\xfa\x8b\x6a\x2d\x34\x4c\x60\xf2\x1e\x95\x92\x65\x1d\x66\x1f\x32\xfa\x1b\xd0\xe8\x61\x38\xf6\x28\xbb\x21\xe4\xb6\xc9\x9f\xb6\xee\x56\x5f\xdf\x11\x2e\x03\xba\xee\xa1\x21\x7b\xe3\x1e\xbb\x1b\x24\xa8\x7c\xef\x8c\x6f\x65\x57\xa6\x4f\x4a\x53\x38\x7b\x7e\x27\xcb\x5e\x26\x11\x21\x79\xa9\x77\xa0\xab\xe7\xb8\xcc\x16\xbd\x33\x31\xbd\xf3\x48\x72\x01\xc4\x22\x7b\xed\x47\x8e\x75\x1d\x97\x61\x65\x13\x06\xa5\x35\xb9\xd7\x24\xf5\x33\x08\xc8\x89\x23\x5d\x03\x3d\x7d\x4a\x30\xee\xf2\xa3\xea\xf2\x23\x25\x98\x63\xed\xc7\xdb\x8f\x76\xaa\xc1\x24\x53\x23\xe3\x84\x4a\xb9\xed\x91\x46\x35\x27\xbc\x25\xf2\x11\xb8\x4a\x81\x13\x0e\x94\x0e\xb9\xc4\x64\x8b\x81\xea\x0b\xb0\xdc\xaf\x09\xef\x4d\xc2\x1a\x31\x3f\x99\x19\xec\xaa\x38\xce\x35\x03\x64\x2b\x2f\xa6\x89\xb0\x81\x51\xa2\x8a\xa2\x00\x75\x88\xa2\xd5\x09\x28\xef\x89\xff\x66\xfb\x1e\x06\x11\x35\x80\xdd\x2f\x49\x00\x77\x43\xfc\x0c\x5b\x8e\x2c\x65\xbb\x22\x46\xda\xae\x49\x85\x58\x2a\x3b\xe0\x59\x69\xfd\x24\x71\x43\x93\x6d\xc6\xe4\x5c\x0a\xe5\xdc\x72\x54\x9d\xe5\x97\xc1\x48\xb1\xfb\xd6\x8b\x9d\xf4\x23\x8f\x64\x61\x9f\x14\xe6\xc6\x0e\x6d\x0e\xa6\xe4\x98\xa2\x84\x76\x80\x52\xb4\x7e\xaa\x5d\xc3\xd8\xd9\x7f\xb3\x1b\x1a\xbc\x80\x41\x10\xa7\x35\x31\x83\x14\x87\xc5\xbb\x0b\x4e\xba\x74\xde\xce\x92\xdd\xce\x1c\xc2\x5b\x69\x4d\x00\x62\x2e\x63\xc9\xa3\x64\x98\x50\x6c\x1f\x17\x89\x03\x5c\x9e\xc1\xb8\xb1\x85\xb9\x70\x1c\xa0\x50\xcb\xe8\x14\xc4\x00\xb6\xe8\x3e\x55\x25\x5c\x2a\x02\x3c\xe5\x71\x9d\xbd\x3d\x7d\xb2\xee\xae\xf4\x53\xfc\x4b\x66\x3a\x15\x0d\xec\x93\x49\x9c\x97\xdf\x97\x36\x6f\x57\x7f\x5c\x4f\x76\xcb\xa2\x4f\x8d\x13\xa1\x81\x8f\x79\xea\xbb\x4d\x39\xf6\xb0\x38\x38\xde\x00\x9d\x83\xc1\x65\xdb\x9f\x0c\x4f\xfd\x60\xed\x4b\x11\xe4\x49\x79\xd2\x5c\xdd\x8c\x21\x97\xb6\x1e\xee\x4c\x7c\x26\x12\x64\x29\x60\xaf\xfe\x02\x2e\xd5\xc8\x74\xc8\x0d\x69\xa7\xfb\x42\xae\x4c\x63\x55\x12\xad\xf0\x5b\xaa\x9c\x96\xde\xab\x06\xec\x1a\x3f\x54\x3f\x90\x89\xa3\x66\x61\x70\x44\x09\x76\xe7\xeb\x19\xcc\x6d\x00\x51\x38\xb3\x0e\xbb\x54\x86\x05\xc4\x41\x7d\x73\x58\x09\xe0\xc4\x38\xbf\x08\x38\x15\xa4\x44\x20\x05\xf6\x44\xf8\x02\x89\x12\x45\xb1\x68\xd0\x9f\xd3\xec\x9f\xf0\xa4\x07\x9e\xcc\x64\x99\x0e\xa4\x49\xa2\x18\x8b\xec\xf1\xa8\xe8\xc2\x5c\xd2\xba\x5f\x31\x06\x64\x79\x1d\x7d\x49\x88\xbd\xa6\x34\x90\x7a\x10\x91\x01\x78\xb4\xcb\xce\x0d\x42\x06\x14\x34\x8e\x26\x21\x00\x95\x03\x47\x13\x01\x35\xbd\x57\xac\x12\xa3\x95\xc7\x9a\x83\xb8\x6d\xd3\x28\xcc\x0d\xaa\x95\xc3\x67\x13\xec\xf0\x51\x6c\xfb\x78\x6e\xc4\xe2\x70\x5b\xd1\x4f\x57\xc4\xe7\x66\x3c\x55\x48\xf4\xb0\x94\x5e\x6a\xd1\x95\x58\x59\x9e\xc0\x08\xdb\xaf\x26\xca\x0f\x1e\xf3\x66\x66\x5d\x9b\x69\xe3\xb8\xdc\xf2\xed\x15\x0c\x1b\x57\xa8\x4a\xe8\x41\xac\x55\x8f\xbc\x85\x2e\xf3\x98\xca\xdd\x4c\x8c\x49\xe1\xb4\x54\x0a\xee\x0c\xd7\x73\x11\xaf\x86\x7c\x9b\x41\x4f\x4c\x3d\x77\x0f\x21\x89\x05\xd5\x28\xe6\x11\x13\x19\x13\x13\x8b\x84\x6b\x93\x03\x95\x64\x7b\x51\x4e\x84\xc1\x1e\x24\x74\xc8\x51\xd8\x51\x4d\xb0\xbc\x9c\xc6\xc3\xf1\x63\x52\x11\x20\x0a\x64\xe8\xf3\xc1\x09\xe9\xc4\xdc\x06\x1d\x0e\xa7\x42\x7a\xb0\x98\x31\xf3\x5a\x09\xb7\x98\xa9\xf9\x5d\x65\x7a\x1d\x2d\x43\xa4\x30\xb2\x72\x9c\x38\xf9\x14\x8e\x3e\x38\x62\xdb\x4e\x10\x8d\x8e\xdd\xd8\x71\x2f\xa0\x9f\x1f\x3f\xb7\x19\xef\xd9\x28\x89\xc9\x73\x66\xe6\x2d\x5a\xb4\x39\xdc\x54\x85\x02\x6f\xf1\x33\xdc\xc3\xd1\xf2\x43\xdf\x1d\x8c\x08\x12\x79\x1d\x32\x5d\x1b\xae\xec\x5c\xf3\x42\x60\x44\x51\xe5\xa1\xc4\x00\x13\x58\x55\x93\xe7\xab\xcb\x6b\x18\xef\xbe\x30\x03\xd7\x6a\x4e\xbc\x40\xad\x6a\x61\x06\xee\xd7\x7c\xa2\xc2\xed\xbb\xb4\xb6\x84\xa1\x63\x9e\x33\x4e\x39\x54\xb6\x28\x18\xe6\xb0\x29\xcd\xce\x42\xba\x48\xa3\x4b\xb0\x18\xd4\x14\xa8\xe3\xf0\x26\xb4\x0a\x86\x12\x23\xc2\x53\x17\x2e\x4e\xd7\xd0\xc5\xcf\x0f\xe3\xf7\xd3\x64\x55\x57\x41\x85\xc9\x8d\x73\x02\x0d\x45\x30\x99\x48\x17\x57\xc4\x7a\x09\x18\x69\x4e\x34\x14\x03\xc3\xdd\x89\x59\x87\x6a\xa8\x94\x61\x88\x97\x48\x6a\x3c\xae\x04\x4f\xa9\x10\x7e\x55\xd0\xd8\x2b\x9c\xc6\x08\xea\x20\x24\x94\xb5\x53\x21\xc7\xdc\x02\x71\x71\xa6\x80\x98\xdd\xa0\x87\xb1\xef\x5c\xbe\x2c\x0d\x2b\xed\x0d\xb2\xfd\x89\x86\x14\x36\xba\x0e\x67\x90\x9d\x3a\x50\x73\x79\xf7\x13\x4a\xd0\xfc\x2c\xe2\x31\xe9\x55\x69\x34\x39\x36\x87\xdf\x88\xc9\x4c\xab\x2f\x15\xe0\xdf\xf6\xc3\x06\x69\x8e\x99\xe5\xe1\x29\x36\x86\x18\xc7\x9f\x8a\xa0\x44\xc0\x30\x84\x3c\xc7\x4e\xf7\x18\x35\xee\xe7\x37\xe1\x91\x37\x0e\x97\x29\xa3\xa7\xff\xb0\xb4\xba\x24\x2c\xfe\xef\x2e\xf8\xe4\x89\x30\x00\x91\x61\x3f\x57\xbe\xf0\x2c\x5c\x5b\x01\x83\x00\x36\x66\xaa\xaf\xef\xb9\x53\x2f\xfc\x6a\xbd\x4a\x22\x6b\xa7\x28\x92\x3f\x54\xcc\xa6\xbd\x7c\x5a\xa9\x0d\xb2\xa6\x80\x6d\x30\xd3\x22\xa7\x68\x76\xad\xba\xbd\x9d\xc4\xaa\xda\xd7\xc7\xe0\x8b\x93\x70\x2f\x49\x63\x11\xaa\x28\x4d\xbb\xa5\xe8\x64\x04\x64\x40\x1f\x6d\x4a\x39\x7d\x22\xcf\x97\x04\x56\x52\x3a\x50\x90\x07\x84\x72\x88\x12\x78\x15\x50\x63\xd5\xc3\x24\x14\x11\xed\x50\x1f\x5f\x1e\xc3\xa4\x30\xb0\x49\xac\x49\x38\x67\xcc\xe1\xac\xed\xc0\x09\x4b\x4a\x85\x53\x48\xc9\xb3\x6c\xe1\x3a\x47\xef\xf2\x4a\xac\xae\x5c\x29\xdf\x7c\x8e\xb7\xb6\xd9\x55\x0c\xc5\x11\xaf\x2a\xf0\x62\x99\x2f\xd3\xc8\x90\x09\x6c\x48\x44\x43\xe1\x11\x54\x73\x1d\xa9\xb9\x7d\x98\x7e\x5a\xb5\x7f\x41\x11\x69\x62\xde\x35\xda\xe6\x23\xe6\x48\x67\xbb\x71\xc6\x1c\x04\x91\x24\x57\xd1\x90\x58\x3f\x5b\xcc\xaf\x47\xea\x4e\xdd\xaa\x3e\x42\x73\x1a\xc1\x70\x17\xe6\x80\x87\xa5\xb5\x2b\xe2\x1a\x0d\x9a\x43\xcd\xc9\x42\xda\x85\x78\x95\xee\x30\xaa\x51\x23\x69\x63\xbc\xde\xd4\x64\x4d\x4f\x95\x17\xbf\x95\x41\xb2\x41\x4c\x60\x26\xee\x28\x9c\xb1\x30\xe4\x94\x7d\x2e\x9b\xb1\x4d\x74\xa0\x08\x61\x82\xe7\xac\x35\x1a\xba\xa4\x49\x05\x09\x76\x4a\x9f\xdb\x2c\xad\xfd\x08\xaa\x83\xcf\x8b\xd2\xda\x55\xd8\x9e\xf5\x62\x83\xd2\x00\xae\x55\xae\x3f\x00\x1d\x6a\xe7\xcb\xdb\x72\x29\x92\xb7\x39\x06\x92\xae\x18\x94\x56\x01\xda\x1b\x7a\xdb\xcc\xcc\x61\xe3\x5f\x1c\x2c\x18\x98\xf6\x92\x2d\x64\x12\xee\xf5\x3d\xe0\x71\xf5\xcb\x6f\xb8\x42\x61\xe9\xf5\x23\x77\xfe\x65\x65\x73\xaa\xfc\xfc\x4b\xc0\xfb\x2f\x0e\x56\x10\x84\x83\x63\x62\xc2\xbd\x4c\xc9\x89\xeb\x2f\xdc\xb5\x27\x20\x04\xa5\x14\x51\xe1\xb6\xb8\x6a\x70\x41\x10\x5e\x50\xd0\x90\xb3\xf5\xb9\xf2\x1a\xdb\x67\x41\x47\xca\x0e\x63\x12\x46\x31\x87\x49\x21\x18\x23\x25\x54\x1d\x9a\x07\x78\x8a\xcb\xa0\x15\x50\x96\xa3\x1e\x25\x3d\x6c\x16\x9f\xf1\x55\x91\x53\x14\x31\x76\x6f\xe3\x92\xfb\xdd\x17\xe5\x89\xa7\x92\x22\x73\x9c\xe3\xcf\x15\xda\xf0\xac\xbe\x34\xeb\xce\xdf\x2a\x5f\x5f\x29\xcf\x9c\x67\x1f\x0f\x9a\x56\x26\x5f\xf0\x54\xfa\xc1\x96\xa0\xad\x55\x57\x14\x7a\x1a\x2b\x68\xd2\x1a\xc9\xa4\x5a\x55\x27\x26\x25\x6f\x17\xf3\xc2\x4d\xc8\x97\x91\x50\x85\x4a\x26\x3b\x31\x0f\x7e\x6d\x12\xe8\xe5\xab\x46\xfc\xdb\xba\x78\x23\xb7\xbb\x46\xd1\xd6\xbd\x2c\xc1\xea\x8c\x60\xb5\x6b\xd1\x8a\x04\x63\x19\xb0\xe4\xb4\x17\x20\x47\x59\x1f\xac\x7b\x88\xca\x24\x32\x1a\xe6\x9e\xed\x4c\x9c\xaf\x69\x35\x82\xf1\xfa\x53\x37\x31\x31\x84\x2b\xdc\x81\x16\xff\xfc\x31\x7a\x89\xe7\x56\xb5\x6a\xbb\x09\xe2\xb0\x42\x40\x86\x4d\x33\x6f\x51\x0e\x13\x50\x89\xff\xb2\x9c\xf5\x56\xb6\x2c\x03\x87\x29\xa3\x45\xf9\x75\x94\xb8\x29\x2f\x9b\x1a\xdd\x0b\xe2\x33\x2d\x5f\x69\x2e\x0e\x11\x34\x5a\xcc\x14\xd2\x39\x26\xc8\xe1\xa4\x2a\x33\xc9\x82\xb2\x33\x71\xb7\xfa\xfa\xb2\xc8\xd6\x65\x82\x96\xee\xd6\x10\x14\x8f\x92\x9a\x9c\x49\xa0\xf2\x6f\xf1\xaf\x61\xb1\x1f\xe3\x08\xfa\x7d\xb9\xc7\x0e\xac\x08\xfa\xae\x11\x9f\x10\x97\x00\x62\x57\x6f\x2d\x80\x04\xdf\x10\xe3\xc7\xe5\x43\xa1\x08\x5e\xcc\x38\xac\x33\x50\x69\xbc\x84\x34\x8c\x8f\x7b\xcb\xfa\xd8\xab\xe7\x45\xbe\x58\x9b\x2a\x71\xa2\x91\x1f\xd8\xcc\xe7\x26\x41\x20\x6b\x2c\x9c\x89\x9e\xe7\x81\xaa\x19\xc9\xe6\x1c\x7b\xc8\x50\x80\x43\x65\xf3\x0e\xae\x49\x36\xbf\x7a\x6e\x33\x2e\xf5\x0d\x23\xc3\x0c\xd7\x27\x17\xca\x5f\x2c\x92\x99\x93\x8a\x79\x3f\x5f\x62\x87\x28\xca\x5d\x10\x3d\x0c\xc4\x73\x97\xd0\x2b\x92\xa5\xa1\x35\x60\x55\x54\x88\x94\x66\xaf\x7e\x96\xaa\x20\x13\x63\xaf\x99\x22\xad\xeb\x53\x50\xf1\x3a\xfc\x6a\xc2\xbd\xa9\xaf\xf3\x3f\x4e\x74\xf6\x0f\x48\x8b\x8b\x90\xe2\x24\x3d\x43\xfb\x3a\xb1\x89\x49\xe7\x91\xd3\x7d\x3d\x27\x06\x3a\x4f\xa3\xdf\x42\xe6\x93\x95\x02\xe8\xed\x39\xde\x2f\xcf\xef\xa2\x6a\xf7\x72\xfc\x3d\xdd\x9d\xfd\x87\xa5\xf5\x3a\xb9\xc5\x01\xb5\xf0\x90\xbd\x0f\x64\xcb\x28\x56\xd9\x2c\xc5\x78\xe5\x7e\x9f\xd0\x03\xf1\x00\x60\xcf\xb6\x52\x4d\x86\x20\x15\x03\x37\x51\x3a\x3b\x64\xd3\x11\x8d\x57\xbc\xbc\xa2\x16\xa9\xbb\xb2\x2e\x6c\x0a\xaf\x1f\x95\xcf\xaf\x60\xf1\xd1\x2b\x8f\xdd\x6b\x57\x38\x75\xd6\x9d\xff\xba\xba\xb2\xe9\xe7\x23\x48\xc7\x6f\x99\x78\x31\x49\x59\xe8\x42\x03\xfc\x39\x38\x2c\x30\xff\x8b\xa2\x34\xff\x9d\x8f\xf9\xd1\x9c\xbc\x46\x74\x65\x11\xef\x6d\xb4\xde\x1f\xe2\xc9\xfe\x7c\xa9\xf2\xcd\x55\xdf\xdc\xeb\x2e\xdc\xfa\x69\xeb\x41\x18\x8a\x06\x11\xc2\x8e\x7a\xcc\x86\xbf\x45\x51\x74\xef\x4f\x4f\xe0\x61\xd9\x59\xd0\x4f\xc7\xd1\x54\x33\x8c\xbb\xd4\x1e\x4c\x07\x69\xb1\xe9\xc2\xbf\xeb\x51\xab\xc6\xc2\xb5\x5b\x4b\x6b\x98\x92\xe6\x4e\xfe\x50\x3d\x7f\x1d\x55\xcd\xb5\x09\x77\xea\x32\x6b\xd0\x3c\xba\xa6\x0c\xa9\x29\x04\x6b\xd0\x23\x0c\xb0\x31\xe1\x88\x91\xd2\xc9\x9c\x37\x9a\x13\x36\xde\x9e\x4c\xaa\xde\x20\x0b\xab\x15\x73\x4a\xac\x73\x75\x3f\xfd\xfb\xa9\xe2\xdb\x6f\xff\x46\x7a\x09\xf4\x47\xb4\x7a\x29\x91\x8c\xd2\xe6\x5c\x60\x14\x8e\x25\xc3\xcf\x42\x95\x51\xa3\xc3\x95\x1c\xa8\x6b\xf5\xd9\xb3\xf5\xfa\x1e\xb3\xa5\x23\x63\x17\x53\xc6\xfb\xa8\x8d\xe7\xc7\x13\x27\x0e\x86\x10\x7d\xc3\x40\x85\x3a\xa4\xdf\xd5\x57\x59\xdf\x2d\xe1\x5e\x18\x68\xbd\x33\x61\x3f\xe8\xe6\xf8\xd1\x7a\x5c\x6a\xb2\x07\xad\xf4\x18\x59\x9a\x83\x6e\x32\x83\x70\x8b\x60\xb7\xa6\x28\x49\x24\x73\x96\x6c\xce\xf9\x65\xe0\xcb\xd7\xb1\x12\x50\x5c\x17\x19\x29\xe2\x22\x5c\x67\xc7\x2c\x60\x9a\xb8\x08\x05\x35\x08\xb9\x2c\x74\x1a\x5b\xe0\x51\xa7\x11\x27\x86\x5f\x54\xa7\xfe\x0c\xde\xa3\x3c\x6d\x75\xd4\xa4\x02\x54\xc2\x28\xc1\xea\x75\x4d\x9c\xb5\x74\x20\x8f\x77\x26\x3e\x73\xb7\x3f\x2b\xdf\x5c\xc7\x2e\x55\x75\x9c\xe6\xda\xf6\x5c\x07\x98\xaf\x4b\xe5\x07\x0b\x41\x82\xf5\x67\x33\xee\xf3\x05\x6e\x4f\x82\xe6\xbd\x89\x19\x3c\xe1\x57\xd6\xeb\xc3\xb5\xb1\xfc\xda\xdf\x5e\xf2\x09\xbe\x0b\xbe\x04\x45\x8d\xfe\xc9\x18\xc4\x75\x24\x9a\xca\x26\xc1\x9a\xda\x9a\xae\x32\xb7\xb2\x20\x4a\xa7\x7e\xab\x0f\x5b\x14\x12\xc5\xce\x4d\xc4\x5e\xae\x35\xa5\x44\x20\x0a\xd1\x79\x8a\x25\x6b\x3b\x09\x68\x8a\x79\x51\x86\x59\x60\xc9\x2a\x6e\x82\x28\x7f\xc3\xd5\xa7\x3c\x6e\x53\xeb\x7a\xa5\x76\x24\xb0\x51\x0d\xf1\x50\xb6\x23\xbb\x4d\x60\x59\xa8\xf9\xc6\x05\xaa\x83\x64\x46\xe1\x2c\xa1\xb9\x54\x23\xcc\x46\xe2\x62\xd5\xcc\x4b\x8c\x76\x0d\x80\xa2\x62\xb6\xcb\x99\x61\x87\x5e\xd2\xcc\xd4\x46\x52\xa3\x5c\x3d\x69\xe6\xc3\xf2\xbb\x36\xd7\x0e\xef\x53\x76\x6d\xa4\xdc\x21\xb1\x8c\x50\x2c\xe3\x07\x4f\x63\x72\xf0\x9b\x0e\xf6\x99\x9f\x00\xe2\x93\x6d\x10\xb0\x09\xeb\xde\x31\xaa\x1b\xdf\x94\x36\xb7\x61\x59\xc4\xc4\xda\x1d\xe2\x45\x58\x8b\xba\xc6\x16\x19\x1d\x82\xbf\xa2\xc2\x93\x11\x19\xbb\xd4\xda\xe1\xb3\x2d\x1f\xe9\x75\xc6\xbc\xa2\xda\x8b\xd8\x97\x81\xd6\x9b\x20\x3e\xe0\x17\x7f\x0d\x94\x47\x39\xc6\x5f\x13\xf1\x4d\xe7\x19\x68\x29\x30\xd2\x80\x6d\x21\x12\x42\x8c\x8b\x52\x80\xf6\x5e\x5a\x47\x75\x43\xc1\x33\xba\xa6\x7b\xdb\xbe\x33\xea\x8d\xf1\xa3\xf9\xe3\x2e\xb2\xca\xcb\xbd\xe7\x9a\xb4\x99\x90\xa2\xac\x96\x35\x4f\x70\x21\x78\x61\xff\xb6\x11\xcb\x64\x7f\xac\x8d\xf2\x26\x69\x24\x8d\x22\xe1\x36\xb0\xa1\x8c\x67\x89\xc8\xbc\x3c\xeb\x5e\xdb\x76\x17\x66\x93\x72\xa3\x7d\x88\x5a\x6a\x84\x0f\x56\x37\x91\xad\x0e\x7c\x42\x75\xea\x1a\x04\xaa\x58\x94\x00\xb4\xc2\x6c\xe4\xc3\x53\xc5\x01\x78\x90\x54\xe7\xb6\x0f\x28\xd9\x26\x19\x80\x93\x57\xfb\x0e\xe8\x52\x84\x33\x13\x20\x61\x58\x8e\xae\x4e\xff\xaa\xf8\xf3\x6d\x35\xb8\x6c\xea\x6f\x35\x51\xca\x5c\xba\xdb\x7c\x76\x60\x7c\x68\x78\x64\xea\x9d\x80\xbc\x09\x4a\xf6\xf1\x85\xf6\x3d\xef\xef\x5a\x56\xd5\xfc\x90\x58\x09\x1a\x2e\xd3\x49\xb0\x63\xc8\x8e\xc1\xa2\xa6\xbf\x6e\xde\x6a\xe7\x76\x7f\x27\x6c\x2f\xac\x8f\x8a\x0c\xc1\x23\xcd\x51\xec\x76\x08\xf5\x82\x27\x8a\x57\x3a\x1c\xcd\xb1\xd4\x5d\xbe\x6b\xad\x32\x3f\xb7\xa6\xb8\x8b\x7d\x27\xf1\x7a\xc5\xf1\x4a\xcf\x2d\x16\x70\xcd\x1b\x2f\x5a\x92\x42\x78\x03\xa6\x85\xbe\x8c\x63\xd9\x9b\xe0\x8d\xe0\x42\xc0\xa1\x1a\x62\xe3\xd8\x10\xfc\xac\x60\x42\xce\x56\xc5\x8e\x05\x91\x43\x8a\xf0\xb1\x3e\xb6\x48\xfb\xb1\xb8\xfd\xfd\x1f\x70\x68\x55\xc6\x3e\xc7\xe1\x83\x09\xc9\xb2\x64\x9f\x16\x11\xb6\x5e\x78\xa0\x5f\x2f\x98\xbd\x76\x08\xb4\x21\xec\xdc\x7f\x2c\x85\x11\x15\x35\x25\x2d\x45\xc8\x1e\x15\x73\x57\x9e\xe3\x11\xba\x16\x9f\x45\x6b\x52\xae\xbb\x77\x9e\x89\x32\x78\x6b\xa2\x29\x19\x16\x05\x52\x92\xc9\xb6\x01\x69\x34\x83\xcf\x6c\xb9\x5b\x43\x84\xba\xe4\x1c\xab\x98\xb2\x5b\x0b\x85\x71\xe2\x72\x62\xa4\xe1\x77\x17\x4a\x5b\x5f\x1b\xf8\x38\xfb\x9f\x64\xd0\x45\xdd\xc8\x3e\xd2\xfe\x7a\x1b\x2e\x55\xd9\x87\x69\x3b\xc3\xc9\x4a\x08\xc6\x61\x86\x33\x6d\x35\xb4\x11\x2f\x71\xe3\x97\x73\xdb\xc5\x35\xda\x88\x0c\x53\x8f\x3b\x32\x28\xc5\x76\xe5\xbc\x28\x0d\x06\xd7\x97\x30\x57\x82\x44\xde\xc6\x59\xb8\xb1\x1a\xd7\x50\x64\xfb\x44\xb8\xdf\x94\x13\x51\x46\x70\x14\x15\xb5\x12\xa9\xef\x3c\x2a\x1b\x55\x21\x9f\xb6\xd8\x48\x93\xce\xa6\xd2\x63\xe9\x54\xd1\xcc\xf8\x31\x31\xd4\xc9\x82\x9c\x42\x00\xa6\x50\x94\xd6\xd0\xf8\x6a\xa2\xf2\xe3\x97\xec\x38\x63\x1b\x73\xe5\xca\x8b\xf2\xc4\x79\xaa\x56\x78\x11\x7d\xfb\x14\xd5\xc2\x51\xca\x89\x84\x50\xef\xe2\x5c\xc6\xe4\xa8\xb8\x9e\x76\xbf\x0f\x89\x1f\x8c\xe7\x37\x3e\xc3\xa8\x71\x79\x8c\x15\x53\xb5\xfe\xa2\x7c\xfb\x55\x65\x49\x74\x64\x2a\x6d\xdd\xad\xae\x60\xc4\xa7\x00\xac\xea\x58\x22\xa5\x89\xbb\x33\xc2\x64\x1f\x74\x8c\xe1\x62\x3a\xd5\x66\x18\xed\x58\xab\x8d\xe4\x2a\xf7\x24\xe6\x4a\x45\xc4\x34\x0c\x82\xcb\x15\x83\x50\x42\xaa\xa1\xed\x50\x88\x51\xde\xc2\xc0\x71\xe9\xd6\x8a\x0e\x80\x7b\x39\xd6\x04\xa6\x19\x47\x4f\x74\x1d\xa1\xf8\xa0\xc7\xb5\x6d\x6f\xb8\xc4\x2b\x77\x9a\xe2\xb0\xb6\x2b\x2f\xdc\x4b\x7f\xc3\xba\x46\x34\x3b\xd5\x57\x9f\x63\x43\xc5\x4f\xe9\x24\x7d\x72\x1e\x3b\x7b\x10\x1e\x69\x30\x51\x02\x3f\x40\xbc\xc4\xf1\xa3\x66\xf4\xe4\xa3\xdd\xf5\xe8\x83\x32\x75\xc1\xb8\xfd\xef\x22\x23\x6e\xf2\xe0\x84\xca\xa8\x31\x40\xff\xf2\xbb\xeb\x41\x06\x05\xf7\x82\x41\x06\xf9\x2c\xfb\x3f\xc8\xd6\xb3\xd6\xf8\x1b\x1c\x28\x57\x6e\xf9\x39\x86\x8b\x07\x8f\xce\x40\xe9\x90\xdc\xc3\xa2\xf5\xc2\x56\xc2\x8b\xd6\x6f\xc9\xba\x9f\x03\xc4\x0e\x82\xfe\x00\xe5\xe3\xf3\x1a\x0d\xee\x56\x24\x51\xa7\xc0\x1a\x61\xe4\x7d\xd7\x9c\xf1\xf9\x11\xc4\xa1\x83\xc9\x09\x9f\x4c\xf8\xa3\x65\x0e\x72\xa6\x4e\x6b\xb8\xa5\xae\x3a\x0c\x6d\x65\x1e\x8f\xa7\xf9\x15\x38\x9b\xb0\x0f\x10\x9d\x53\x78\x7f\x20\x09\x29\x46\x1b\x3a\xbc\x70\x40\x14\x39\x9c\x40\x6f\x5c\x3e\xe5\xae\x53\x80\x99\x8c\xd8\x0c\x5f\xa4\x47\x11\x8e\xac\xa4\x67\xd7\x39\xbe\x4c\x8f\x22\x85\xb7\x11\xaa\xf2\xc5\x4c\xa8\xe3\x22\xcb\x95\x68\x61\xb0\xda\xf8\x14\x7f\x4b\x2a\xc9\x2b\xad\xcd\xf1\x1e\xf3\x63\x4f\x6a\x1a\x8e\x92\x2d\x1c\x66\xf3\x8e\x92\x48\xba\xf8\xfa\x2b\x0c\x49\xc4\x05\x86\x05\x5c\xfc\x8e\xcd\xcd\xb2\xd9\x30\xdd\x41\x1b\xcb\xb8\x15\xa9\xd0\x78\x63\xc8\x05\x2c\xef\x33\x95\xef\x03\xd1\x4d\x34\x2f\x31\xa9\xf5\xf0\x1b\xa2\x73\x77\x7b\xa4\xc9\x63\x50\xef\xaa\xdd\x0e\x23\x79\x6b\x35\x79\x18\x3a\x9b\x51\x3e\x18\xcf\x89\xf1\x81\xed\x14\xc4\xcd\x0a\xfe\x3a\x42\x05\x4f\xc5\xad\x02\xfe\xee\xc4\xd0\x49\x8b\x2f\x13\xaa\x80\xbf\xc6\x20\xed\x96\xa2\x43\x7f\xf1\x6a\xe4\x36\x8f\x36\x39\x4c\x35\x95\xf4\x01\x5e\x3a\x67\x72\x90\xe9\x19\x4a\x35\x28\xd4\x67\xf1\xc6\x44\x6c\x01\x15\x89\x14\x7b\xf0\xb1\xe8\xd3\xe6\x35\x3c\x71\x13\xcb\xe3\x7d\xf2\x89\xfc\x50\x8d\xfa\xf3\xb4\xc2\x9f\x6b\x7c\x56\x49\x21\xcf\x35\x28\x42\xf9\x83\x8d\xb0\x46\x4c\x92\x3e\x49\xba\xcc\x61\xc0\x6a\x06\x89\xda\x9d\x3e\xfb\xf3\x47\xf1\x4f\xc0\xe3\xb7\xba\x4a\x4a\x0a\x0f\xd7\xf3\xac\x03\xa3\xc0\xac\x9e\x03\xd5\x8b\x42\xa3\x03\x76\x8b\xce\x50\xd4\x55\xee\x8c\x25\x8a\xd2\x14\xf3\x64\xe7\xcb\x8c\x7b\xe9\x53\xa1\x16\xed\xa1\x21\x4b\x83\x59\xb0\x49\x99\xdf\x74\x20\x3c\xba\xd2\xda\x15\xd1\x8e\xf0\xf9\x92\xfb\xe0\x41\x42\xb9\x82\x3e\x3c\xf1\xa5\x01\xc7\x8a\x13\x59\x9c\x0d\x9d\x21\xa1\x7a\xd2\x13\xaa\xc4\x56\x79\x8b\xc7\x38\x29\x2f\xb5\x1e\xf6\x77\x76\x9c\xe8\xeb\x1a\xf8\xd0\x38\xda\xd7\x73\xa2\x57\x66\x84\x54\x97\xbd\xc3\xb0\xee\xae\x8e\x4e\x65\xcd\x30\x71\xc9\x51\x57\xe9\x12\x80\x64\x31\xd6\xaa\xca\x91\xe2\xd5\xc4\x1e\x1c\xf5\xcf\xc5\x83\xeb\x6d\xef\x90\x35\x02\xe1\xdf\xe4\xaf\xa9\x6b\xa7\xf1\x5d\x28\x81\x0f\x0c\x46\x5d\x3d\x8d\x15\x3e\x75\xf5\x34\x06\x74\xa4\xf3\x64\x67\x77\x4f\xaf\xbc\x82\x1a\x83\xda\x9a\xc0\xe8\x36\x59\x7e\x14\x83\x4a\x28\xc5\xa6\x3d\x38\x69\x31\x36\x85\x37\x1b\x8d\xf8\x9c\x98\xb4\x2b\xcb\x3d\x5f\x82\xc8\x15\x50\x7d\xfd\x45\x79\xee\x71\x4d\x21\xf8\xb0\xf9\x5e\x42\xc0\x40\x7b\x87\xac\x12\x1f\xff\x16\xff\xda\xa0\x99\xf9\x65\x99\xa9\xcb\xd3\x7f\x75\xbf\xbb\xd1\x34\x2f\xb7\x54\xd9\xea\xf7\x6e\x37\x6a\x89\xe5\x8b\x17\xb9\x94\x8a\xd6\xee\x04\xe4\xde\xc5\xe9\xf4\xb0\x38\xaa\xb4\xb2\x5e\x7c\x4c\xb1\x20\x12\xb2\x5f\x34\x88\x80\xef\xa8\xff\xee\xe9\xd1\x84\x8e\x4d\x6a\x42\x62\xc0\x48\x28\xca\x58\x83\x7e\xd9\x59\xe3\x2d\x38\x11\xc9\xa6\x01\xba\x38\x9e\x70\xa8\x79\x9c\x4d\xe7\x7e\x25\xe3\x3b\x57\xe5\xf0\xaa\xd1\x4e\x61\xab\xc8\x99\x69\x38\x72\xf0\xdd\x9d\xeb\xcb\xd5\x97\x3f\xc0\x86\xa1\x1e\x5a\xd2\x69\x61\xfc\xbc\x8e\x77\x89\x5e\x14\xce\xdb\x15\x7a\x6a\x22\x46\xac\x6a\xe1\x7f\xa8\x5b\xed\x61\xe3\x9d\xb7\xdf\x7e\xb7\xc5\x18\xf5\x5a\x68\x89\x0a\x37\xd8\x27\x23\x14\x39\x7b\xc6\x1a\x34\x8b\x5c\x53\xc1\xaf\x58\x98\x0b\x55\x98\x93\x07\xb9\xf8\xbd\xc4\xbc\x2e\xca\x33\xfc\x81\x5b\xd2\x02\xbd\x88\x1f\xb3\x20\xbd\xbe\x5c\x18\x6f\xfe\xc3\x0d\xd1\x49\x23\x14\x7f\x8b\xe9\x66\xf7\x1e\x96\xd6\x36\x38\x86\x0d\x17\xe0\x77\x5f\x50\xe2\xfb\x63\x55\xfc\x4c\x74\xe0\xe2\x0e\xcc\x23\xff\xed\xdb\xbf\xa9\x63\x05\x7e\xe5\xf3\x02\xbb\xbb\x78\xb5\x5d\xb0\xed\xb9\x9d\x4f\xff\x99\x13\xf4\x73\xa2\xb4\x12\xdd\x4d\xfd\x9a\x0e\xdc\x1c\x46\x9b\x11\xc2\x19\x42\x5c\x00\x5a\x62\x59\x43\x5f\x07\xbc\xb9\xf0\x0c\xd9\x73\xff\x53\x2e\xbc\x14\xd4\x81\x50\xd4\xd0\x53\x33\xe0\xb0\xd1\xce\x69\x52\xa8\x1c\x5a\x59\xea\xfe\x40\xe3\x4e\xd9\x34\x6c\x2a\x80\x9b\xcb\xa7\xc7\xd2\x19\x4b\x64\xbb\x5a\x1f\xc3\x1e\xa4\xec\x9b\xb4\x93\x54\xcf\x46\x63\xd0\x77\x39\x99\x0a\x2d\x1b\x57\x3f\xab\x6c\xde\xe7\x66\x34\xe1\x61\xa2\xf6\x48\x65\x6e\xa4\x9a\xb9\x62\x8c\x78\x61\xcb\xe7\xfb\xe9\xab\x0e\xf8\xe6\x93\x4f\xa2\x73\xce\xbf\xb7\xf7\x76\x75\xe2\x97\xde\x13\xa3\xa1\x8e\x72\xf0\x43\x24\x7d\x66\x57\x43\xad\x27\xa3\x7e\xba\xe3\x48\x09\xcf\x7e\x1c\x2d\x52\x76\xe0\x1d\x8a\x3c\x59\x03\xe4\x22\x83\x77\xbb\xcd\x33\x56\x86\x25\xa6\x97\xfe\x5d\x77\x16\xa8\xe7\x31\xdc\xcc\x5f\x0e\x31\xb9\x36\xa8\x47\xdf\x7b\x7e\xcc\x50\x6c\x3a\xa6\x9a\x98\xda\xf0\x9f\xda\xb4\xcc\x44\xec\xde\xad\xcf\x93\x67\x24\xdb\xbc\x62\xd4\xea\x49\x16\x71\x0b\x58\xd5\xac\xa6\xd7\xb4\x1a\xa5\x22\x07\x4a\xfb\xfa\xa8\x4e\x6f\xd2\xc7\x1f\x5f\x37\xbf\x91\x19\x48\xaa\xc1\xaf\x3f\x15\x1e\x5d\x87\xeb\xe2\x93\x34\x08\x88\x14\x16\xd3\xe1\x82\xac\x59\x41\x4c\xf1\xb9\x3d\x5b\x23\x44\x49\x9e\x66\xf5\x2c\x68\x80\xa7\x7e\xda\x5a\x74\x58\xa7\xb2\x03\x5d\xbd\x87\x8d\xae\x21\xac\x32\x44\xa7\x5b\x21\x3f\x4e\xf6\x4a\x5b\xe4\xbd\x99\xc6\xd8\x3b\x75\xc9\x6f\x2d\xf4\x38\xb5\x3a\x43\xd5\x00\xcf\xbd\xd6\x1c\xd9\xbc\x13\x76\x29\xa5\xb3\xf9\x54\x9f\xca\xc2\x4e\xa9\x2c\x6d\xc0\x9c\x71\x5a\x39\x65\x2c\xde\xaf\xae\xdc\xe0\x1c\x38\xe3\xe4\x3b\x46\xf8\x45\x3c\xf4\xa9\x2d\x19\xeb\x03\x88\x33\xa1\xa6\x59\xdd\xf0\x1b\xdc\x58\xaa\xfe\x0d\xfd\xb2\xf8\xc0\x46\x76\x4d\xfd\xdb\xda\x73\x1a\xde\x1e\xfa\x47\x52\x64\x7f\xe8\x9f\x1e\xd2\xa0\x0e\x95\x65\x41\xbc\x2a\x53\x63\x7d\x82\x64\xaf\x17\x6a\x53\x8d\xd8\x03\xa4\x4c\xa6\x5a\xdb\x08\xdf\xb6\x84\xe2\x98\x98\x84\x84\xb8\xbc\x42\x09\x18\x01\x96\xb1\xda\x70\x53\x74\xf7\x74\xb4\x77\x77\xe2\x91\x70\xb0\xa3\xbb\xb3\xbd\xef\x60\x0b\xea\xe9\x63\x69\xbb\xe8\x88\xc7\x58\x53\xc2\xfc\x63\x79\x15\x3f\xa6\x81\x6a\x22\x54\x57\x9e\x57\x9f\x4d\x30\x3d\x58\xb5\x86\x56\xbd\x87\x86\xeb\x8e\x11\xa2\xbf\x4f\xdc\xf7\x0a\x2a\x50\xc6\xf7\xe4\x14\x76\xb3\xbf\x7b\xb1\xe6\x7d\xf9\x60\x38\xbe\xe4\x34\xd5\xf8\x3c\x5d\x18\xcf\x89\x28\x1d\x54\xd8\xb8\x86\xe1\x41\x8c\xf3\xe3\xfe\x97\x59\x3b\x6b\x49\x3b\xcd\xad\x5e\x8a\x81\xc5\xbb\x4e\x34\x39\x20\xaa\x11\x9a\xdf\xda\x12\x01\x4a\x5b\x83\x20\x75\x80\x75\x2c\x6d\x9d\x0b\x0a\xfc\xa5\x31\x63\x4e\xc9\x3f\xbc\xe4\x3c\x78\x5c\x59\xbc\xca\x69\x6a\x94\xb7\x76\xa2\xaf\x5b\x03\xc7\x48\xd0\x85\x24\xd2\x8c\xab\x11\x74\x35\x3d\xb7\xa4\x58\x45\xd1\x97\x70\x32\x1e\xc5\xbd\x76\x8a\x3f\xf5\x82\xcc\x83\x9c\x3c\x9f\xc5\xf5\x40\x94\x24\x44\x36\x0d\xd6\x39\xf2\x53\xbd\xa8\x6b\x84\xf8\xe6\xa4\x99\x29\x5a\x5c\xf5\xa8\xbe\xcb\xdc\xcf\x98\xf9\x06\xb7\xba\xa6\xe5\x11\x60\x10\x41\x68\xfb\x73\x59\x25\x9f\x1b\xb0\x4a\xc3\xab\x38\xc2\x16\xf8\x2d\x91\xcf\x7f\x8a\x2b\x23\x22\x6a\x4c\xc4\x44\x35\x37\x21\x9d\x29\x96\x37\x06\x0f\x22\xb6\x34\x49\xe2\x18\xde\x80\x27\x58\x9c\xd7\xbb\xf0\x04\x7b\x44\xfe\xcc\x6e\x60\x1e\xc0\x2e\xdd\xc0\xaa\x31\xbc\x41\x1f\xb0\x77\x0e\xed\xc1\x07\xdc\x3f\x82\x2a\xa2\x49\x26\x00\xac\x24\xe0\x3b\x90\x28\x94\x51\x61\xf7\xc1\x38\x0b\x6e\x5a\x32\xf9\x5d\x09\xa8\x59\xfb\x1c\x4b\x65\xca\xda\x5f\x22\x1a\xd6\x55\x09\x7c\xad\x6f\x58\x94\xb4\xda\xb7\x1d\x16\x97\x30\x68\x30\xe1\x40\x72\x2d\x39\x0a\x66\xd9\xe7\x82\x62\x5c\xd1\x78\x15\x19\x65\x1c\x83\xca\xa5\xb7\x12\x5c\x47\x04\x3d\x93\xa9\x69\x51\x94\xa8\x20\x09\x14\x35\x5d\x17\xb8\xc1\x6e\xb2\x9a\x84\x48\x47\xac\x4c\x02\xf0\xb5\x65\xf7\xca\x5f\x15\x10\xb0\xfa\x4e\x7e\x94\xbd\x10\x44\xb0\x08\x2e\x7b\xcb\x0c\xa2\xcc\x70\x91\x59\xad\x98\x6e\x55\xe0\xf2\x8e\xdc\x1f\xaa\x05\x5e\xf6\xca\x5f\xe1\x8a\xcb\x59\x79\x93\xa5\x98\xf8\x99\xdb\xc7\xc0\x4f\x20\x1d\xa8\xe0\x98\xb4\xcc\x19\xd3\xea\x45\xa0\x71\x7d\x1f\x2c\x70\x45\xdf\xc0\x5d\xbe\xb4\x36\x51\x79\x8a\x5d\x54\x60\xa5\x88\x6e\x82\x51\xae\xed\x7c\x79\xb1\xfc\xc5\x45\x77\x73\x43\x94\x8e\xa7\x02\xab\xa8\xb6\xcd\x4c\x96\xaf\x7e\x1b\xae\xba\x2a\x2d\x82\x45\xec\xf0\x0a\x12\x29\x09\x0d\x57\x21\x4a\x80\x85\xa6\x0b\x07\xab\x2c\xa2\xb1\x56\x03\x28\x1b\x2d\xd0\x90\xfc\xff\xb0\xf7\xa5\xbd\x71\x1c\x67\xfe\xef\xff\x9f\xa2\xff\x8b\x0d\x64\x60\x49\xc6\x32\xf2\xca\x79\xb1\x60\x74\x45\x0b\xeb\x80\x44\x29\x48\x22\x43\x18\x72\x5a\xe4\xac\xc9\xe9\xc9\xf4\x8c\x68\xc2\x30\x40\xdd\xb2\x2d\x51\xb4\x23\x89\x3a\xa8\xcb\xd6\xb5\x8a\x4e\x47\xd1\xc1\xc3\xfa\x30\xe1\x34\x87\xaf\xfc\x15\xf6\x39\xaa\xaa\xab\x7b\xfa\xa9\xee\x19\x51\x5a\x2f\xb0\x58\x6c\x60\x0d\xbb\xee\xaa\xa7\x9e\x7a\x8e\xdf\xef\xcc\x57\xda\xba\xea\xea\x2f\x41\xd6\x94\xfd\x46\xa9\x32\xae\x36\x9c\x8d\xc5\x9d\x7e\x2b\xba\x3b\xc0\x88\x99\xd6\x5b\xcb\xe0\x71\xb7\x9f\xdc\x5d\x5d\x3c\x99\x3b\x60\xbe\x81\x73\xa7\x8f\xaf\xc6\xdc\xda\xea\xfe\x08\x11\xa0\x80\x2e\xc4\x04\xbc\xce\x4a\xa3\xf9\xe9\xf6\x9b\x6f\x53\xea\x87\x8b\x5d\x97\xda\xe8\xb0\x22\xe4\x76\x3e\x61\x67\xca\x1b\x42\x68\xd9\x35\x8a\xd6\x4c\x16\x86\xfc\x9a\x39\xc2\x35\x77\xa7\x72\xae\x51\xb1\xda\x0a\x2e\x1f\xd7\x59\x70\x11\xb9\xe6\x2e\x4e\x01\x3b\x5f\xbb\x3b\x05\x28\x73\x4c\x86\x01\xbd\x04\x39\xb3\xe3\x17\xa2\x43\xdb\xe7\xbb\xa0\x1a\xed\x4e\x16\x61\xde\x06\x72\x7f\x3a\x6f\x3c\x9c\x97\xce\xe4\x86\xf5\x79\x60\xac\x43\x1c\xdc\x3a\x4f\x4b\x66\xca\x84\x3c\x3f\x9f\x55\x6a\x0a\xee\x50\xe7\xf9\x92\x3f\xad\x11\xb8\xb0\x4e\xd8\x9d\x67\x5c\x5d\x1a\xf3\x30\x0f\xf1\x84\x1a\x1b\x0b\xc2\x06\x49\x02\x42\x82\x72\x26\xb6\xa9\x56\x16\xa3\xf9\x05\x96\x07\x4c\x68\xe3\xa8\x3c\xc1\x94\xa3\xf4\x59\x7c\xba\xea\xb7\x2f\x32\x87\x23\x09\x3c\x7a\x85\xe0\x37\xbf\xfc\xff\x9d\x6d\xdb\x50\x34\x70\xb9\x52\xeb\xd1\x23\xe8\xc6\x6d\xc5\x75\xb0\xb8\xd0\x7e\xfc\x98\x13\x18\x7f\x5e\x92\x3a\xe6\x78\xd9\x3b\xdf\xee\xb4\xeb\xd6\x05\x04\xd4\x96\x55\x3d\x41\x81\x5a\x7d\x11\x49\xd3\xac\x36\x64\x03\x1a\x33\xb0\xbe\x1b\x3e\xbd\xdc\xb9\x4c\x9f\xe0\xe2\x53\x97\x2e\x5a\x64\xba\xdc\x13\xe5\x98\x22\x8c\x6d\x63\x36\x11\x45\xa5\x44\xca\x26\xe1\x8f\x42\x15\x64\x05\xa4\x3f\x91\x1b\x5c\x47\xc2\xf5\x19\xf8\x5a\xfe\x1c\x5d\x9f\x0a\xb1\x14\xc9\xdd\xd4\xb5\x30\x19\xd4\x09\x9c\xcb\x20\x6f\x8b\x32\x8b\xc3\xe5\xc8\x39\xc0\x30\xa6\x29\x32\x22\x63\x2a\x34\xf4\xfa\xfc\xbb\xb2\x11\xce\xdf\x67\xf1\xdc\x7a\x79\x07\x55\x4e\x0d\xdd\xad\xaa\x62\x0c\x5d\xaa\x50\x36\x19\x92\xda\xcd\x72\xe8\xfd\xaa\xe1\x88\x82\x47\x47\x1a\x2f\x19\x52\xbd\xdf\xbb\x0e\xae\x9e\xe0\x3d\x44\x0c\x3a\x1e\xd3\xf2\x96\xcb\xcf\x39\x2d\x9a\x6d\xaa\xaa\x82\x7b\x15\x29\x58\x83\x66\xe3\x40\x55\x39\x74\x06\xad\x38\x2f\x72\xd3\x0c\x73\x76\x8c\x6f\xe3\xe2\xd7\x2b\xa3\x63\x0d\x0f\x2d\xb7\x03\xe4\xfe\x84\xf3\x89\x62\x1c\x1e\xdf\x65\x74\x87\x6b\x93\x05\x7e\xc0\xf4\xcd\xf8\xaf\x7f\x45\xf4\xd9\x4c\x73\x85\xcc\xa8\x91\x1e\x4d\xfb\xc5\x89\x68\xee\x05\x76\x36\xf6\xff\xd8\xf1\x64\xe4\xe3\xc1\x5b\xfc\xa7\xbb\xad\xd9\x87\x70\xa3\xaf\xde\x7a\x6c\x08\x0c\xf8\x32\x40\x4f\xd1\x93\xd7\xfc\xcb\xea\xad\x87\xb0\x10\xe4\x35\x47\x04\x3a\xdc\x36\x9c\xe5\xce\x7d\xb5\x17\xc6\x75\x00\x90\x71\xa1\x1a\x33\x49\x98\xb9\xcc\x20\xae\x46\x39\x31\x11\xd4\x7d\xfb\x25\xeb\x1c\x3d\x53\x49\x24\x46\x2c\xf1\x57\x23\x6d\xe7\xcc\x4b\x64\x80\xb9\xfa\x1c\x31\xaf\x5d\xda\x2e\x76\xda\x2f\xb3\x23\x88\xff\x5b\x8e\x9b\x02\x21\x4a\x5d\x51\x0e\x20\xf3\xb9\x5c\xf3\x2f\x2b\xf4\x4e\xb1\x47\xbe\xfb\xd0\x3b\x1c\x7a\xb3\xa6\x63\x59\xfa\xd8\xc3\x19\x78\xd5\x26\x66\x1e\x05\x08\xb4\xcd\x3f\x68\x7f\x11\x27\x91\xab\xcf\xa5\x20\x47\x55\x29\x47\xae\xe0\x3e\x35\x86\x7d\xaa\x17\x16\x7d\xed\xd4\x59\xfe\x85\x3d\x45\xaa\x5a\x2e\x20\xf6\x54\xa6\x01\x21\x4d\x54\x2e\xd7\x0c\xf5\xae\x69\xc8\x7e\x75\xae\xc4\x6c\x98\x86\xec\x4b\x6f\x04\xb5\x1c\x91\x76\x64\x3e\x7a\xf4\x7d\x11\x91\x16\xd4\x6a\xbf\xb0\x8d\x47\x5d\x7f\x0f\x1b\x8f\x09\xd0\x55\xec\x4c\x59\xbc\x73\x92\x9c\xe6\x04\xbd\x2e\x5c\x35\x43\xdb\x77\x6c\xd9\xb5\x4f\xa2\x3f\xd5\x7f\x15\x8a\xee\x96\x01\xbf\x8d\x0c\x93\x00\xaf\xb9\x34\xfc\x9b\xb8\xcb\x37\x6d\x3d\xb8\x73\x70\xc7\x16\xa5\x22\xf5\x13\xc1\xba\x8e\xac\xe9\xd7\x29\xd3\xcc\xaa\xf8\x19\xbf\xdb\x63\x16\x78\xf5\xe7\xd0\xe2\x44\x82\x0f\x37\x6d\x25\x9d\x22\xbf\x7b\xf0\x57\x23\x67\x8b\x74\x83\xe5\xaf\xa6\x39\x88\x03\x79\x94\x9d\x04\xfe\xf4\xd3\x55\x6c\x3d\x61\xf0\xa1\xaf\xe5\x89\xf0\x36\x29\x6e\x08\xca\xb3\xa0\xe8\x41\xb8\x9d\xa7\x38\x78\x4e\xf1\x44\x68\x57\x86\xa5\x93\x87\x70\x1b\x35\x2a\x94\xec\x38\x45\x91\x19\x8a\xc6\xd7\xc5\x6b\xa4\xc6\xcd\x74\x11\xac\x2f\xa5\x5e\xb0\x9c\x9f\x61\x63\x44\xac\xbc\xfe\xa6\x35\x3b\x13\x11\xe8\x01\x7f\xc9\xe4\x13\xe2\x55\x99\x8e\x18\x19\xf6\xc7\x2a\xf0\xd2\x2f\x81\x7e\x58\xf7\x27\x09\x8d\x94\x80\xd5\xff\xd2\xac\xd4\x09\x32\x82\x38\x2a\x61\xa6\x3f\x9f\xea\xe3\x37\x23\x67\x1f\x8f\x35\x1a\xb5\xf0\x20\xfd\x9e\xed\xfe\xa0\x80\xc2\x3a\xea\xce\x30\x5b\x20\x74\x07\xbc\x2d\xe3\xa1\xdf\xa7\x88\x2b\x89\x16\xab\xea\x37\x50\xcb\xc6\xf7\x4d\xd5\xa7\x78\xcb\xdc\xc9\x51\x8a\xf4\xd1\xfb\x38\x0f\x97\x7e\x5c\x3d\xf2\xb7\xd6\xf7\x97\x91\x23\xe5\xda\xf7\xcc\x1d\xb3\xf2\xea\x3c\xf3\xd4\x73\xc7\x39\xb2\x8c\x29\xbe\xf8\x51\x9a\xe8\xb9\xad\x5d\x30\xb8\x0d\xeb\x2b\x2c\xe0\x31\x7c\xf1\xf4\xc5\xf6\xf4\x09\x8c\xdc\x23\x4a\xcc\xd5\xe5\x6f\x57\x17\xe7\x39\x8e\xde\x3d\xc5\x3b\x03\x25\xdd\xb4\xf7\xba\x2f\x56\x45\x0e\x31\x60\xa3\xa5\x92\x20\x7d\x82\x7a\xd7\xb9\xf3\x5e\xf5\x3c\x44\x73\x37\x95\x6f\x5b\x3d\x91\x62\x0e\x33\xa5\x94\xa4\x1b\x41\xff\xfe\x35\xc5\xe6\x69\x17\x75\x8c\x61\x9f\xea\x30\x3c\xed\x93\x7d\xc5\x07\x69\xa5\xda\xf4\x8d\xef\x08\x1e\xa7\xe8\x21\x49\x5a\x10\xf2\xc6\x60\x77\xd7\x6e\x82\x8f\xf1\xea\xe2\xbd\xd5\x45\x85\x78\x84\xf6\x03\x76\xa8\x5c\x39\x6e\x19\x1a\x0a\x74\x7d\xd3\x56\x53\x6d\x42\x8e\xd3\x30\x7c\x50\x18\xa1\xcf\xb4\x17\x13\x3e\x77\xc3\x07\x83\x22\xcd\x3f\x74\x08\x36\x67\x37\x83\x91\x1a\x55\x03\xbb\xf5\x78\xe5\xcd\xb5\xc4\xce\xa3\x23\xbb\x7a\xfe\x86\x08\xce\x9d\x1a\x93\x02\x17\x4a\xe9\xb4\xa5\xaa\xce\xbd\x23\xaa\x96\x75\x1e\x20\x28\xec\x2b\x8b\x8b\x2b\xcb\x17\x38\x03\x2f\x6d\x37\x4f\x0c\x3f\xdd\xbf\xf5\x1a\x78\x62\x13\xbe\xb3\xd5\x5b\xa7\x5e\xc7\xc7\x7d\x5f\xad\x0c\x77\x96\x41\x12\x4c\x0e\xa3\x49\x7f\xe4\x08\xec\x3c\x14\xd0\xec\xfe\x8a\xf5\xf3\x00\xb0\xbb\x17\x9f\x46\x8f\x6e\xe7\x41\x87\x0e\xed\x1a\x1a\xfc\xe4\xe0\x8e\x2d\x3b\x76\xed\xf9\xa3\xa4\x75\xd8\x9f\x64\x57\x52\x1a\x65\xe5\x14\xff\x43\x8e\x66\xa3\xc4\x77\xd6\x4d\xd5\x87\x42\x6d\x70\x87\x62\xc8\x8f\xe5\xde\x19\x0f\x46\x0b\x78\x4a\xdb\x2f\x6f\xb4\x5f\x3d\xc0\x40\xa0\x0e\x97\xa9\x71\xfc\x44\x73\x77\x44\xb0\xa2\x21\x3b\xe8\xc8\xd6\x1b\x45\xbd\xca\x8e\x35\x4a\x97\x70\x37\x91\xa5\x06\xe7\x35\x93\xa5\xbc\x8a\x0d\x69\xf6\xb6\x44\xe0\x85\x9d\x4d\x66\xe2\xa7\x4b\x0d\x0b\x5b\x04\x14\x03\xff\x73\xd2\x07\xd8\xdb\xd5\xa8\x30\x73\x3c\xd2\x67\x19\xff\x57\xcc\x24\x6e\x6a\x8b\x21\x1c\xa0\x5b\x5c\x8b\xf4\xb0\x40\xe0\x30\xc2\x4f\x79\xfe\x7d\x6b\xe9\x42\xeb\xf6\x71\x26\x86\xcb\xd4\x7e\x74\x88\x30\x5d\xf3\x6c\x75\xba\xfa\xaa\x35\x7b\x46\x95\x7d\xf2\x3a\xed\x17\x07\x25\x89\x8a\xb4\xdf\x5c\x45\xdb\x13\x63\xde\x9f\xb9\x28\x4c\x12\xf4\x97\x6c\x64\x5f\x68\x66\xc9\x2d\x94\x1c\x81\x22\x25\xd3\x0a\x0a\x1a\x5e\xd9\x67\x74\x15\x85\x79\x1f\x9b\x0a\x65\xe5\x9b\x0c\x5d\x8e\x36\x30\xff\x96\x30\xf1\xb5\x21\xf0\x1b\x63\x40\x05\x85\x43\x5c\x61\xca\xdb\x29\x53\x36\xa0\x37\x39\x56\x19\xe1\xf9\x37\x07\x9e\x79\x8d\x49\xf5\x82\xfd\x56\x6e\xd6\x93\x48\xab\xa5\x66\x23\xe8\x47\x22\x71\x57\xd2\x4b\xfc\x79\xfb\xd4\x03\xb4\x8a\x80\x46\xf4\x8f\x6f\xa2\xf9\x1b\xb0\x11\x59\x3b\xb2\x6a\xa4\xb7\xcd\x82\xf8\x50\x1c\xa2\x49\x43\xc5\x21\x4e\x1b\xb7\x18\xa2\x35\x54\x08\x9c\x3d\x31\x8b\xf8\xc9\x1d\xf6\x34\x53\x4e\xf8\x39\x56\xee\x55\x24\x04\x7b\x57\x68\xd1\x39\x21\xa5\xe7\x4e\x30\x47\x97\x18\x18\x93\xdd\x89\x47\xb7\xdf\xa6\x07\x70\x50\x7b\x9c\x08\xb8\xa0\x17\x66\xec\x29\xe0\x5e\xa1\xf2\x74\xee\xc9\x5b\x77\xa3\xf0\x54\x70\x37\xf4\x24\x74\xd3\x87\xba\x08\x29\x00\xbb\x1a\xae\xd3\x01\x65\xd3\xe3\x27\x19\x3f\x43\x82\xb0\x81\x3e\x42\x96\x39\xfd\xf0\x5c\xd9\xb5\x77\x88\x1e\x8a\xd0\x65\xbc\x81\xfb\xfb\xa1\x9f\xe5\x60\xa2\x9f\x2b\x87\x0b\x77\xd4\xaf\xfa\xf5\x58\x90\xf1\xef\x44\xf8\x38\x06\x32\xaf\x46\x24\x7c\x2e\xda\xc7\x0c\x50\x02\x24\xb7\x24\x81\x44\x47\xd4\xdc\xd2\x2a\xf5\xd6\xee\x15\xeb\x0e\xca\x51\x37\x7b\x96\x29\x03\x95\xc1\x33\xd5\x55\x54\x30\x4e\xcf\x82\x10\x33\xde\x02\x43\x07\x89\xf7\x39\xd1\xea\xc9\x6f\x10\x3b\x6e\xd6\x56\xca\x41\x77\x6f\x8e\x97\x3d\xc5\x7c\x5f\x47\x3c\x25\xc7\x9b\x54\xe5\xef\x11\xd5\x7a\x1c\xb9\xcb\xda\xb7\xab\x6d\x7c\x3a\x52\xb2\x9d\xb9\x6d\x62\x92\x7b\xba\x30\x70\x6d\x6b\x35\xb1\x5d\x62\x41\xc6\x5c\xb1\xa4\x44\x57\x4e\x04\x12\xe4\x05\x9a\x6f\x04\x68\x95\x00\xad\x98\x59\xf6\x48\x25\x56\x08\x5a\x86\x59\x9a\x22\xa2\x15\x9b\x39\x6e\x24\x71\xd5\xef\x1e\x51\xee\x67\x90\x6c\xc4\x99\x07\x4b\xdb\xba\x7d\x85\x5f\x5e\x88\x7a\x75\xe2\x4e\x0e\x6f\x34\x77\x0c\x47\x5e\x55\x69\x6b\x2a\xf5\xd0\xe2\x80\x41\xeb\x3e\x2a\x8d\x08\x91\x4a\xdb\x6b\xc3\xc7\x22\x44\xea\x93\xd7\xac\x00\x9a\x6f\xf1\x89\x67\x25\x13\xc6\x24\xaf\x2a\x8b\x4d\x32\x34\xf5\xd8\x2f\xce\x61\x0b\xea\xa8\x78\xa0\x1e\x57\xa9\xc9\xf6\xeb\xee\xfb\x9a\x59\xbb\xd0\xff\x38\x79\x51\x34\x13\xde\x76\xd9\x62\xed\x1a\xb4\xed\x83\xbd\xad\x08\xba\x81\xd3\x00\xdb\x7e\x00\x73\x29\xeb\xf1\xa9\x32\x27\x4a\xb1\xd0\x21\x6f\xac\x4a\x3f\x53\x80\xbb\xb2\xd1\x52\xf5\x86\x2d\x15\x0c\xb3\x81\x4d\xa0\x77\x64\xf9\x64\x74\x14\xdf\xb9\x4a\xcf\xa3\xa3\xc6\xe8\xbb\xb0\xb7\x10\x95\x6d\xfe\x01\x43\xec\x26\x8a\x39\xc6\xa5\xe2\x30\x11\xfb\x0d\x03\x40\x31\xb5\xb5\x1e\x84\xa1\xb9\x57\x40\xaa\x6e\xc6\x1c\x08\x3a\xa5\x0d\xb6\x73\xd5\x2d\x72\x9a\x18\x9a\x8b\x29\xef\xfa\x48\x58\xd2\x67\x64\xf2\xc3\x03\x86\xf6\x5e\xa5\xf5\xc5\x2d\x36\xab\x24\x5e\xc8\xbb\x74\xa0\x3a\xc8\x6f\x35\x4f\x3f\xda\xbc\xc9\x52\x55\x59\xe2\x0d\x01\x5c\x76\xc8\xe8\xbf\x4b\x27\x80\xa1\x48\x50\x63\xb2\x2e\xbd\x95\xd7\xdf\x10\x22\x18\x06\x7c\x92\x38\x66\x4e\x5d\x4e\xc5\x58\x01\xa1\x6c\xf1\xe7\x18\xdc\xb0\xd8\x21\xfb\xfa\x05\x7e\xff\x64\xa9\x7d\xea\xb9\x32\x24\x6a\xbc\x13\x7e\xfd\xda\x12\x69\x8d\x59\x7c\xf5\xc5\x46\xad\xb1\x81\x25\x66\xfb\xeb\x0c\x39\x75\xd2\x7f\xd1\x8a\xe9\x20\x30\x4c\x45\xaa\x6e\x68\x68\xa6\x62\xe3\xd7\x46\x11\xfa\x99\x3f\x15\x3a\xf6\x97\x0a\xca\x7b\x75\x96\xd9\x85\xd9\x99\xcc\x91\x21\xee\xdd\xc2\x6f\x11\x7d\xef\x22\xb3\x7d\x49\x73\x92\x9a\x97\x0a\x85\x7d\x39\x1a\x57\xc0\x1a\xa0\xb7\x52\xb4\x0b\x2e\x8d\x15\xf1\xe0\x6e\x9f\xf6\x15\x27\xa8\x6b\x20\x55\x76\xdb\xa0\xf5\x74\xc0\x13\x77\x11\x47\x71\xd9\xd6\x16\x89\xbf\xad\xfd\xe6\xb2\x59\xe2\xc4\x6a\x5a\x66\x55\xe8\xa3\x59\x48\x0e\x9b\x4a\xe5\x25\xb8\x96\x90\xbd\xb9\xac\xbb\x11\xbd\x30\x59\x22\x35\xc9\x97\x24\x21\x97\x8e\x46\x8f\xee\xf0\xa7\x8a\x89\x9d\xfc\xac\x52\x1b\x35\x65\x60\x28\x95\xcb\xfd\xfc\xfc\xe8\x47\x39\xb4\x81\x67\x6b\x14\xbd\xc5\x75\x95\xd2\x5e\x13\xa3\xf3\x3a\xcc\x09\xa9\xda\x94\x01\xe1\xef\xf7\x5b\x27\xcf\xe4\x70\x74\x0d\xc1\x96\x18\xf7\x76\x80\xdc\x10\x19\xbf\x30\x3c\xfd\xd1\xa5\x68\x7a\x51\x8c\x50\xe6\x4a\x4a\x13\x41\x93\xd9\x6f\x27\xa8\x3a\xef\x03\x7f\x60\x74\xc0\xdb\xf8\xe1\x47\xbf\xd9\xd1\xe7\x6d\xdc\x06\xff\xff\xe1\x36\x29\x22\xc1\x6e\x04\x39\x8f\xe1\xc5\x77\xf7\x28\x1c\x6c\x2a\xfd\xcf\xe9\x23\x1b\xb7\xe1\xff\x7c\xb8\x4d\x0c\x28\x10\xfa\xa0\xc1\x26\x30\x2a\x82\x12\xe9\xbb\xe9\x94\x3a\x10\x14\x08\xc1\x10\xca\x2a\x5a\x7f\x1d\x7a\x5a\x6d\x4e\x0c\x23\xde\x67\x12\x99\xda\xa8\x5b\x03\x5e\xff\x46\xdc\x03\xe8\xf8\xc4\xcc\x85\x12\xca\xe5\xf1\xca\x04\xb1\xb6\xf3\x28\xa5\x93\xfc\x8e\x5b\xf5\x3e\xd8\xcc\x3e\xd8\x8f\xe3\xbf\x89\xab\xda\x61\x06\x80\x79\x8b\x2e\xa0\xae\x05\x0d\xb5\x6f\xdd\xc7\x68\xd8\x0b\x4f\xd1\x38\x37\x07\x62\x77\xb6\x75\x1a\xa3\x65\x60\x56\xd9\x1d\xdb\x9a\x5e\x62\x9b\x39\xff\xa9\xf0\x8c\xd6\xf3\xb1\xba\xb8\x1f\xc5\xaa\x4b\xc7\x0e\xbb\xd3\x32\xed\x71\x0a\xf5\xd7\x71\x47\x16\x91\x2e\x6c\x0d\xb3\xa5\x4b\x76\x8d\xfb\x06\x07\x63\xbd\x66\xa2\x12\x62\xfa\x03\xb3\x41\x31\xbc\x18\x59\x48\x24\x5c\x13\x86\x07\x23\x03\x07\x7a\x51\x97\x16\x5a\x4f\xbf\xf5\xb0\x46\x97\xb5\x1e\xb3\x00\xb3\xeb\x13\xf3\x03\x91\x59\x0f\xa4\x1c\x9b\x39\x8c\x35\xd0\x58\xbe\x63\x17\x9c\x86\x46\x0b\x1b\x70\x9b\x4d\x88\x40\x00\x0a\x52\x2e\x65\x3c\x22\xdb\x60\xf4\xec\xd4\xda\xd5\x93\xcc\xa3\xa9\x1e\x40\xc5\xba\x65\x28\x1d\xe3\xae\xf1\x66\x32\x9d\x82\x3f\x4c\x96\xea\x65\x04\xe9\xd8\x0b\x6f\xb0\x09\xeb\x95\x8d\x35\xe9\xb8\x1f\xf2\x56\xc9\xe9\x9d\xdc\x77\xde\x8a\x94\x61\x4a\x37\xc7\xf2\x43\x50\xa6\xd3\xbd\x46\x6f\xd6\xa3\xdb\x54\x39\x19\xc7\x5e\x47\xb7\x4e\x73\xb0\x4e\x74\xe9\x89\x6a\x27\x7b\x60\x7b\x07\xb7\x49\xa0\x60\xa8\x20\xfd\xfd\x82\xa3\x9c\xe8\x08\xa7\x82\xe2\x9b\x64\xdf\xde\x2d\x7b\xdc\x80\x62\xcc\x1e\xe8\xc6\xdc\xc2\x5a\x44\xc8\x2d\xaa\x40\x28\x57\xd5\xbe\x6a\x45\x3c\x9d\x65\xa1\x1d\xa0\x77\x09\x43\x7c\xc8\x86\x6e\xfb\x05\x9d\x65\xb3\x25\xa5\xd1\xae\x27\xb7\x43\xec\x99\x0d\xaa\x3e\xc5\x8d\x11\xf4\x89\x22\x6c\x53\xb0\x36\x2c\x8b\x41\xf4\xd6\xe0\x10\x88\x9e\x44\xea\xd8\xca\xe2\x4c\x34\x73\x3a\xba\x76\x8c\x39\xc4\x39\x74\x69\xe5\xd5\x74\xf4\xf0\x56\x34\x7d\x8f\xd1\x4c\x72\x7b\xd4\x44\xc3\x49\x83\xd8\x69\xf3\x0c\x09\x88\x39\x22\xea\x7f\x71\x95\xfc\x24\xe8\x53\xb6\x99\x0d\xda\xd4\xb2\xa1\x68\x72\x3e\xb5\xc6\x0a\x38\xbe\xcf\xe9\x74\xf0\xfb\x53\xbf\x3d\xf3\xf3\xf4\xed\xde\x34\xc8\x80\xee\x7b\x9b\x36\x91\xfd\x63\xbf\x5f\x0f\x29\xbc\x74\x37\xdb\x10\x40\x06\x11\xb3\x8b\xcb\x6a\xc4\x7d\x62\xa5\x52\xd7\xb3\xfa\xd5\xe9\x68\xfe\x21\x81\x69\xbf\x54\x94\x18\x97\x17\x5b\xcb\x17\x0a\xf4\x29\x18\xc6\x88\x60\x6d\x78\x26\x0b\x18\x8a\x0f\xdf\x98\x93\xe9\x75\x6e\xfe\x95\xb7\x3f\x69\xdd\x51\xd5\x63\x90\x1e\x63\xa4\xb6\x6b\x20\xa9\xc1\x74\xad\x0e\x02\x9c\xb8\x8b\xb5\x52\x3d\x4c\x4f\x99\x76\x27\xab\x7f\xc2\x92\xba\xfb\x75\xef\x87\xe8\xfa\x6c\x72\xba\x8c\xbf\xd8\xd4\x21\x26\xab\x43\x5f\xe8\xe1\x02\xca\x1b\x67\xaa\x28\x6a\x52\x97\x87\x1d\x43\xf7\x5e\x9c\xc6\x40\x2e\xd6\xd9\x38\x5e\xff\xca\x71\x7e\xbb\xb8\xdb\x89\x19\x94\x32\x33\x8b\xa9\xf5\x77\xcb\xe1\x96\xec\x7c\x47\x28\xb6\x1e\x8c\xfd\x1c\x2b\x9a\x70\xbc\xaf\x3a\xcc\x81\x22\xc9\x5c\xc8\xe2\x73\x6a\x52\x22\x0d\x6c\x37\x71\xbf\xe2\xfd\xd5\x43\x8b\x8c\x22\xde\x60\xb5\x2a\x09\x26\x8e\x07\x21\x2b\x24\xa7\x78\xef\x28\x96\x3b\x33\x62\xd9\x7c\x06\x6a\xc1\x3b\xec\xbe\x45\xf1\xd3\x6b\xf7\x25\x76\x9d\x9e\x07\x91\xca\x7b\xd3\xd4\xc8\xac\x7e\xa2\xa0\x76\x76\x30\x89\xb6\x34\xa3\x54\x51\xad\xb7\xbc\x5d\x17\x1c\x81\x8b\x59\x6d\xa7\x93\x21\xf2\xdb\x1e\xc1\xe6\xc6\xc7\x45\x0d\x92\x9b\x51\x7a\xe4\xcb\x1f\xf9\x9f\xae\x1a\x33\x63\x24\x59\x3e\x48\xb8\x34\xff\x73\x11\x94\xbc\xc1\x1c\xcc\xaa\x5d\x70\xb4\x22\x43\xbe\x00\x9d\x63\x96\x22\x47\x04\xe1\xdc\x4d\x94\xa6\x3c\xb8\x7b\x0f\xfb\x1c\xea\x32\x01\xff\xcb\x60\x7e\x29\x17\xd2\xe1\xe6\x38\x3a\x7b\xe0\x46\xfa\xad\x47\xef\xf5\x4a\xe7\x2b\x4c\x06\x71\x52\xf1\x85\xa1\xad\xe2\xd0\xbd\xbf\x39\x48\xd8\x9e\xe0\xbb\x11\xdf\x2f\x4b\x06\xa7\xc4\xee\x38\xf7\xa4\x7d\x6c\x79\x65\xf9\x4d\x74\xe9\x66\xeb\xe9\x71\x86\x90\x4e\xb8\x93\x52\x81\x35\xd1\xa5\xbf\xb6\xce\xcd\x45\xe7\x17\x5b\xa7\x16\x7f\x5e\xba\x6a\xac\x04\xc5\x60\xa8\x38\x04\x92\xf5\xae\x68\x0e\xdf\xc4\x1c\xe5\xd6\xbe\x7b\x84\xe3\xab\x44\x2b\x56\x3c\xd7\x59\xdc\xc0\xc5\xe7\xf0\x7f\x0d\x27\x19\xaf\x52\x7a\x35\x60\x73\x17\x06\xfc\x2a\xbc\x7b\xc3\x7c\x44\x55\x9a\x65\x15\xa3\x9e\xba\xd1\x68\x96\x9a\x5d\xd1\x8c\x35\xb3\x15\x85\x3c\x58\xd8\xc4\x45\x88\x03\x24\x63\xca\xda\xad\xd7\x85\xa4\x66\xcf\x23\x35\x97\xdf\x7b\x1f\x69\x22\x23\xe8\x5d\x8e\x17\xfe\x00\xa7\xa2\x54\x55\x8f\x35\xa6\x25\x08\x13\xac\xea\xef\x67\xdc\xee\x9e\xe4\x8e\xdb\xff\xbc\xe6\x8f\x90\x33\x8c\xfc\x86\xe8\x2e\x08\x46\x28\x83\xae\xfc\x31\x3d\x6b\x95\x0b\x4f\x94\x8c\xe8\xf2\x8b\x8e\x9f\x6b\xdd\xbe\x68\x1c\x7f\x89\x72\x42\xbb\x24\x77\x14\x97\x8c\x0e\xbe\xc1\xbc\x4f\x95\xc2\xa7\x3c\x79\xa5\xfa\x68\x13\x83\x92\xa5\xd6\xcf\xbe\x6a\x2f\x2f\xb3\x27\x0e\x43\x5a\x28\xb8\x0f\x25\x01\xa5\x7d\x9a\xd7\x4e\x4e\x1f\x70\xd9\x55\x17\x4c\x54\xcf\xce\x42\x5a\x3c\xb7\xcf\x8d\x64\x95\x15\xda\x1d\x0f\x30\xd9\xcf\x8e\xee\xe1\x68\x48\x7a\x77\x71\x34\xa1\x0c\xbd\xff\xc3\xda\xf9\x23\x56\x41\xb4\x47\x93\x33\x91\x83\x04\xa5\x26\xe1\x7e\x05\xfd\x6b\x68\x53\x21\x45\x8f\x2e\x36\xfa\xd8\xc5\x10\xa0\x2a\x2d\xae\x3f\x72\xb5\x96\xda\x28\xd5\x1b\x66\x00\x79\xe5\x2e\x05\x0b\x7f\x06\x3a\x8a\x43\x1c\x1c\xab\x10\xf6\x0a\xa6\xa3\xdf\x68\xdd\x40\xea\x70\x73\x0e\x50\x1d\x12\x2a\xef\x0c\x54\x27\xd5\xe5\xb7\x85\xd6\xe1\x70\xd5\x02\xa4\xf7\xbc\x29\xf3\xc2\x56\x4d\x75\xc5\x40\x7a\xa8\xce\x1c\x78\x1e\xab\x4a\xd6\x73\x4a\x86\xa0\xd2\x59\x6d\x27\xb4\x6e\xc1\xfa\x9d\x24\xfd\x76\xdd\xf9\x0c\xfd\x1d\x75\xe7\x31\xfb\x5a\xb5\xbb\x58\x00\x74\xbd\x55\x2b\xef\xc5\x0f\x83\x66\x5d\x9b\x3b\x9c\xf5\xab\xa4\x96\x7f\x1c\x8f\x16\x66\x9d\xa6\x94\xce\x56\x2c\x8b\x4a\x81\x26\x6c\xd3\x86\xb3\x89\xcc\x4c\xa5\x62\x93\x95\x9d\x5e\x94\x3b\x77\x9c\xea\xa9\xfe\xdb\x95\xea\xc9\xad\x70\x0c\x4c\xfc\xb9\x5c\x33\xce\xd2\xaf\xc2\x0c\xa4\x47\x04\x0b\xfc\x55\x28\xda\xd8\x0c\x64\x61\x66\x61\xee\x05\x43\xeb\xfd\x2a\x94\x8d\x6c\xba\x07\xbf\x08\x84\x10\x5e\x9f\x77\x9e\xed\x67\x06\x1d\x5f\xa5\x50\xce\x44\xe0\x17\xbb\xff\xd3\xe2\x4d\xa8\xc2\xdd\x81\x4c\x4b\xe3\xfa\x4e\x67\x97\x76\x42\xdd\xb3\x02\xba\xf0\xba\x68\xba\x29\x89\x9e\xd5\x50\x6e\x4f\xd3\x52\x7e\xbd\xf1\x7c\x84\xdb\xa1\xc8\x24\xda\x17\x04\xd6\xff\x4e\x96\xd8\x05\xc3\x5e\xbc\x93\x19\xd6\x80\x8e\xde\x16\x3b\x1a\x56\x6f\x77\x4a\xbd\xed\x78\x91\x17\xee\x6e\x86\x89\x7e\xfd\x65\x50\x96\x89\xbd\x48\xef\x12\xd0\xf5\xbf\x40\x73\x60\x2f\x22\x36\xeb\xbe\xec\x66\xe1\xc6\x83\x92\x31\x99\x62\x04\x42\x48\x0a\x2f\x5d\xa7\xcc\xe5\x97\x33\x98\x19\x66\x2c\x5f\x59\xe6\x24\xfd\xaf\x57\x96\x6e\x26\x6c\x6c\xe4\xef\xe2\xfb\x56\xd5\x97\xd3\x91\xb7\x11\xfb\xdc\x7e\xaf\x62\x5f\xf7\x20\x7d\x4d\x15\x68\xb1\xe0\xcd\x66\xb5\xf0\xa7\x4a\x6d\x2b\x4c\xf7\xef\xa6\xe0\x49\x89\x54\x1a\xf0\x13\xfe\x7b\x13\xc6\xef\xe0\xab\xa3\x22\xb3\xbc\xa5\x5b\x4e\x56\xf5\xf3\xd2\x99\x54\x5d\x2b\xaf\x1e\xf0\x32\x08\xdd\x7a\x2b\x18\x8f\xae\xd0\x3a\x64\xef\xab\xea\x83\x95\x41\x4a\x18\xd5\xc4\x2d\xd0\xe0\x44\x44\x95\xc5\x8b\x47\x93\x00\xd4\x1c\x5e\x31\xbb\x53\x76\x7e\x28\x23\x57\x63\xe2\x31\x43\xbe\x5a\x69\x65\x08\x52\xe6\x48\xda\xc5\x0e\x96\x30\x32\xa0\x9f\x22\x03\x6a\xa5\x30\x9c\x0c\xea\x64\x17\x1f\x0f\x46\x2b\xee\xd9\x31\x5e\xff\xd6\x93\x93\xab\x37\x8f\xb0\x27\x5a\x6c\xc7\x12\x51\x8d\x92\x98\x9b\x92\x3e\xf8\x94\xf5\xe7\xa8\x13\xe3\xbc\x69\x02\x95\xc4\x29\xe6\xee\xe7\x56\x3a\x0a\x17\x70\xf1\xe3\x13\x20\x17\xb1\x21\x39\x06\x17\x62\x03\xd6\xe7\xae\xc6\x59\x14\x6f\x11\x67\xe9\xd6\xec\x59\xa9\x34\x3b\x45\x6c\x54\x2b\x23\xcb\xe4\x5c\x34\x3e\xa2\x1c\xe5\x6c\xe1\x4c\x25\x8a\x3a\xda\xab\x27\xb8\x51\xc9\x5e\x5e\xa0\xa5\x14\xe5\x29\x17\x73\xb4\xc2\x60\x56\x5f\x10\x86\x49\x61\x11\x4b\x2d\x31\x0e\x55\x46\xd1\xcc\xd6\xf6\x6f\xd9\xb3\x77\xfb\xae\x9d\xe2\xfa\x51\xf0\x81\xb8\x7e\xfb\x11\xa1\xcf\xfb\x8f\xbd\xbb\x76\x7a\xc1\xf0\x7f\x22\x3b\x98\x02\x6d\xb3\xf4\xa3\x7e\x85\x40\x36\x62\xb8\x3a\x39\x52\xa7\x56\xaa\x43\xd7\x1a\x7e\x3d\xec\x8b\x4f\x95\x02\xfa\xaf\x54\xfb\xc7\x31\xf2\x24\xa0\xcc\xbe\x12\x2d\xed\x80\xb7\x95\x60\x5b\x35\x61\xba\x0a\x0f\xf7\xcb\x8e\x7a\x43\x1f\x4d\x54\x23\x64\x0e\xe5\xbf\x6a\x66\x78\x07\xf8\xab\x88\x09\xc5\xc8\x72\x84\xfe\x6a\x18\x51\x38\x46\x02\x04\x56\xeb\xdc\xd1\xe8\xc2\x53\xba\xe7\xbf\x8a\x2e\x9c\xe6\x49\x69\x3d\x79\xdd\x7e\x76\x0b\xc4\x3e\xdc\xc4\xab\xa0\x41\xcc\xdc\x89\xce\x7d\xd7\x3a\x71\x27\xba\xf8\xba\xb5\x74\x8e\x4f\x17\x88\x3c\x7c\x15\xe9\x00\x42\xfe\x11\x5d\x56\x14\xa8\x4f\x5e\x30\x8c\x65\x4f\xb5\xc2\x5c\xed\x9c\x86\x03\x3f\xae\x5d\x3a\x91\x09\x4b\x0b\xd5\x46\xb7\x7e\x10\x45\xc1\xba\xaf\x5f\xa5\xfa\x7f\xeb\xf6\x7e\xd6\xad\xc9\xa1\x4f\xc4\x90\xb1\x01\x34\xc4\x7e\xfd\x0c\xe9\xa7\xcc\xe3\x0d\x9a\x06\x6f\xd8\xf7\xaa\xfe\x28\x4c\xc6\x61\xd1\xba\x43\xc4\x18\x18\x06\xdf\x51\x0b\x5c\xcd\xd8\xe7\xe9\x25\x44\x2f\xc3\xb4\x8f\x85\xf6\xf3\x1b\x62\x60\xae\x01\xa0\xdb\x29\x8b\x74\x76\x37\xb8\x42\xa9\xf6\x33\xda\xca\x6e\x75\x8d\x4b\x61\xb7\x84\x6a\xc2\x97\xb6\x58\x4f\x28\xeb\x46\x2c\xd8\x84\x92\xa8\xde\x60\x84\x6d\x9f\x4e\x72\xe2\xe4\x1f\x65\x62\x0f\x19\x8b\x4e\x67\x8d\xc8\x17\x0d\x6b\x34\x3a\x31\x04\x94\x42\x13\x60\xfb\xcf\xe9\x23\x9c\xdc\x04\xaa\x0d\xeb\x3b\xd2\x9d\xf3\x87\xc1\x3d\x3b\xb7\xef\xdc\xc6\xc8\x44\x7c\x69\xe3\xd9\x24\xad\xcb\x68\x3a\x98\xae\x62\xdc\x3f\x7c\x00\x6b\x1c\x99\x1e\x7a\x63\x95\xd1\xb1\xf1\x29\x4c\x00\x1c\x81\x32\xa5\x51\xbf\x4c\x55\xfd\x31\x51\x01\x06\x16\xc0\x46\x39\x5c\xe1\xc4\x57\x8c\xb4\x43\x39\x1c\xd2\xb0\xd5\x1f\x11\x13\xb5\xce\x67\x9c\x9b\x0f\xc7\xfc\xf1\x71\xa8\x3f\x6c\xc8\xc9\x0f\xed\x47\x77\x61\x94\x1a\xd6\xa8\xb5\xb4\xb0\x7a\xec\xb4\xc2\x44\x65\x3c\x3c\x4c\x49\xc1\x35\x5c\x59\x9e\x47\x1a\x1c\xf6\x4a\xdd\x3a\xc3\xb9\x86\x7c\xa6\xb8\x28\x7d\xa5\xe2\x08\x96\xae\xb4\xbf\xff\x5b\xeb\xc4\x8b\x95\xc5\x8b\x2b\x0b\x0b\x30\xc9\xad\xd3\x4f\x55\x16\x93\xf9\xe0\xf1\x53\x50\xe4\xe0\x80\xaa\x6e\xb6\x66\x4e\xb6\xce\xfd\xc8\xbf\xc2\x69\x75\x4f\xb6\x47\x39\x39\x0a\x20\x32\xa0\x44\x20\x10\x45\x21\x03\x44\x72\x0c\x53\xc2\x3e\xa1\x82\x4e\x93\x49\xc3\x9d\x90\xd9\xa8\xd4\xc1\xbe\xaa\x8e\x42\x91\x18\x1a\x2a\x30\x74\x94\x5c\x0d\xad\x2f\x3b\x54\xbc\x8f\x3e\xfc\x10\xff\xfe\x9b\x8d\x1f\xf6\xe9\x5c\xdd\xce\x7a\xd1\xfd\x38\xec\xfb\x55\xcd\xe9\xd3\x47\x31\x22\x0c\xd6\x5b\x1b\x43\x38\x4b\x5a\xb9\x10\x17\x6e\xd3\x78\xd0\x2c\x83\x40\x6e\x56\xcb\xf5\xa9\x0d\xa1\x07\xaf\xef\xd2\x70\x29\x04\x21\x3d\x08\x93\xf4\x59\x35\x98\x1c\xf7\xcb\xa3\x06\xde\xa0\xa3\x2d\x1d\xc6\xcd\x99\x72\x65\xf6\xc0\x24\x2a\xb5\x51\x36\xcd\x34\xb1\x9f\x38\x54\xa7\xc8\x60\x7d\x8b\xa9\x5c\x66\xdb\x60\x4e\x17\xe1\x61\xb6\x8e\x10\x82\xe8\xf3\x1b\xed\xe7\x3f\x98\x44\x2f\xb6\x85\x98\xb7\xb5\x6d\xc8\x41\x35\xf8\x24\x26\xa9\x91\x0e\x89\x68\x46\xd1\xfc\x03\x95\x71\x8c\xb3\x0a\xbf\xe1\xb4\x7a\x0a\x24\x81\xe2\x80\x0d\x94\x92\xca\x9a\x5b\x38\x99\x6a\x89\x2e\x84\x99\xf6\xf4\x19\xdc\x57\x89\x51\x53\x94\xe8\x85\xa7\xd1\xd9\xc7\xad\x85\xbf\xe2\xdb\xff\xc2\x65\xc4\x30\x80\xb3\xff\x37\xec\x1f\xef\x3b\x73\x39\x64\x0c\x80\x12\xf3\xf8\x25\xb6\x76\x6c\x19\x8e\x05\x34\x94\x6a\x02\xaa\xe5\x2c\xbe\x18\x2a\x94\xaf\x32\x0e\xb1\xf9\xee\x8c\x0d\x8c\x2e\x5e\x1d\xef\x64\x8f\x1b\xaa\xb2\xec\x3d\xce\x9b\x17\x3d\xd7\x1d\xb9\x20\x9c\x55\xf4\x8e\xb7\x6f\x6f\xbb\x36\xee\xa3\xbd\x6d\xf5\x5e\x46\xa0\x68\xaf\xd4\x68\xf8\x13\xb5\x86\x69\x60\xa2\x54\xf6\x35\x52\x54\x69\x24\x6b\x1e\x7f\x6b\x22\x5a\x6c\xf2\x51\x3a\xef\x98\x3d\x57\x86\x87\x4c\x3d\x98\xd2\x30\xa6\xa9\x35\xb0\xb2\x04\xd5\xdc\x74\xf4\x15\x66\xe2\x10\xe6\xc0\x65\xb6\x42\x04\x78\x20\xcd\x75\x04\x17\xe2\xdc\x2a\x8d\x9b\x27\x5f\x43\xca\xf5\xa3\x4d\xb8\x9f\x6d\xc2\x41\xc7\x1f\x55\x6f\x68\x9c\x13\x35\x93\xc6\x3a\x02\xeb\x56\x6d\x8a\xd9\xed\x05\xcf\x74\xac\x02\x39\xcf\x74\xc6\x59\xa5\x23\xf4\x4e\x8f\xeb\x5b\x1e\x54\x05\xc5\xa2\x0f\x2a\x9f\x5b\x86\x86\x45\x1c\x3b\x22\x11\xc4\xc4\xdc\xbf\x2f\x76\x8e\xfd\xe7\xa5\xab\x64\x58\x3a\xbb\x7a\xf3\x79\xeb\xda\xb9\xce\x0f\xb0\x6f\xc7\x4e\xb4\x4e\xfe\x03\x06\xc2\xa1\x4b\x26\xdf\x1a\x3b\xb9\x70\x6f\xf5\xfc\x0d\x33\x40\xbb\x3f\x18\x88\x9f\xfa\x7e\x76\x06\x43\xed\x8e\xde\xe7\xdb\x14\x73\xb5\xe9\x03\xc7\x26\x41\x71\x9a\xbd\x4b\xa2\x6b\x77\x5a\x8f\xcf\x20\xa4\x03\xd1\x23\x76\x2d\x97\x2a\x78\xf0\x1b\x68\x26\x20\x24\xd3\xc4\x4c\xff\x36\x75\x40\x2c\xb8\xc2\x61\x5f\x1f\x42\x4c\xbd\xa3\xfc\x76\xf6\xda\x86\x99\xac\x98\xc9\x92\xa5\x71\x68\x10\x53\x94\x08\x22\xa4\x5e\x99\x28\xc1\xaa\xe2\xa9\x1b\xc1\xbc\x87\x18\x16\xc4\xee\x24\x25\xa0\xd6\xc6\x29\x8d\xb8\xe3\xdc\x52\x72\x54\x05\xcf\xca\x04\x25\x06\xe2\x71\x39\xbc\xd1\xdb\x9b\x64\x91\xc5\x08\x0c\x75\xf1\x3b\x0b\x7e\x44\x5f\x22\x4b\x84\x8f\x21\xa0\xd9\x32\x8b\x64\x1c\xb4\x81\x08\x27\xd4\x3b\x28\x46\xff\x3d\xe0\x79\x7f\xf0\x63\x84\x7b\xcc\x66\xd7\xe2\x46\x7d\x6e\xa2\x3b\x08\x82\xaa\xc9\x71\x25\xe5\x60\xb2\xaa\x3f\x8a\x05\x00\x32\x0b\x12\xf9\x48\xb9\x4c\xe0\xf3\xb0\x48\xa9\x2e\x0c\xfb\xc4\x3a\xc1\x48\xe3\x03\xde\x2e\xd4\x22\x5c\xb7\xc0\x44\x65\x14\x61\x4a\xca\x7d\xba\xb1\x18\x4d\x13\x3a\xcb\xa3\xc1\x6c\x54\xa7\x38\xcf\x95\x41\xed\x37\x97\x31\xfd\xab\x43\x28\xb4\x4e\x9e\x58\x3b\x76\x9f\xc5\x13\xc6\x9d\xd2\xc9\x94\xcf\xa4\x92\x41\xfc\x19\x83\x9c\xa4\x2e\x76\xf6\xfd\x73\x12\x9a\x42\xf6\xbe\x72\x7c\xe5\xd5\x22\x86\xa2\x9e\xbf\x8f\x99\x8e\x97\x9e\x30\x60\x0a\x9c\xd2\x44\xc4\x36\x88\x95\xfd\x1b\x3d\x46\x97\x51\xe0\x27\x3a\x78\xd6\xdb\xff\x91\xfa\x83\x02\x53\x7f\x7c\x7d\x75\xe6\xa9\xc5\x3c\x6a\x7b\xb4\x28\xae\x27\x4b\x9c\x46\x57\xdf\x44\x67\xbf\x47\xad\x5b\x15\xff\x48\x7f\x6b\x7f\x45\x68\x90\xdf\xae\x2c\x3e\x64\xb5\x1d\xfd\xe6\xa6\x5b\x06\x10\x58\x05\xf2\xd0\x8f\xac\x6d\x81\xd8\x5c\x9b\x7b\x84\x9f\xa6\x66\x0c\x5e\xd4\x6b\x97\x16\x11\x57\x97\x91\xde\xc9\x04\x6d\x24\x11\x9a\x63\xe7\xee\xb6\xdf\x1c\x59\xbd\xb7\x88\x32\x3d\x29\xcd\x5b\x4f\x9f\x71\x36\xb1\x43\xe6\xc6\xb3\x00\x82\x96\x7b\x24\xcb\x9c\x52\x1d\x2f\xc9\x8f\x11\x08\x8c\x81\x1c\x31\x1f\x30\x09\x1c\xc3\xf8\x50\x18\xc5\x60\x7d\x12\x26\xbe\x09\x15\xd4\xa9\xe1\x8c\x10\x9f\x84\xf1\x1d\x48\x28\x52\xb0\x94\x09\x8c\x47\x0a\xf3\x8a\xe3\xb0\x10\x7e\xd0\xe2\x8f\x48\x7e\xb7\xd7\xfa\x50\x7c\x3c\xea\xf1\x29\x50\x23\xcc\x6a\x65\x2e\x3b\x65\x37\x80\x17\xed\x41\x64\xf3\x08\x0f\x0e\x4f\x1d\xd4\x2e\x66\x29\x70\xc2\xba\xc0\xd1\xda\xa8\x48\xcf\xbf\xbe\x01\x57\x84\x31\x21\x64\x56\x28\x06\x51\x98\xfe\x71\x1c\x25\x92\x33\x61\x1f\xf1\xe9\x9d\x7b\x80\x19\xe8\x8e\xd3\x55\xe7\x5e\xb4\x4e\x2d\xac\x9d\xbf\x2c\xb4\x02\x1a\x5b\x30\x19\x7a\xca\x05\xe2\x7d\x02\x0f\x64\xa1\x7a\xfd\xa9\x79\x87\xba\x6b\xdc\x1d\x4c\xfa\xf5\xbd\xf8\xbe\xcc\xa9\xcf\xfa\x30\xbb\xc2\x7a\x05\xc4\x2d\x6c\x2f\xd0\x22\x83\x32\xc1\xec\x6e\xdd\x8e\x24\xae\x31\xc2\x7d\xd8\x28\x83\x82\x28\xa7\xc4\x72\x69\x90\x2c\x2b\xcb\x7f\x6d\x9d\xbc\x4c\xc6\x2a\xf6\xef\x21\xbe\x3c\xa9\x4e\xf8\xa3\xae\xc7\xd1\x0d\x8d\x11\x7e\x18\x8d\x4c\x74\x75\x28\x12\xc0\x43\x15\x31\xba\xef\xe9\x49\x93\x72\xce\xed\xb0\xd9\x2b\xbb\x99\x3f\x21\xa3\x4c\x7d\x64\xac\x72\xd8\x8f\x7d\x1d\xca\xf0\x58\x20\x3e\x0e\x8b\xb7\x96\xbf\x8b\x6e\xfd\x80\xa0\x30\x64\xdc\xcb\x0b\x96\xfb\xf3\x8e\x7d\x9f\x0c\x6d\xdf\x3d\xb8\x67\xe8\xd7\x5b\x77\xed\xd9\xd1\xbf\x79\x70\x68\xd0\xdb\xb4\x6b\xe7\xd0\x96\x9d\x43\xde\xef\xb7\x6f\xde\xbc\x65\xe7\xa7\x42\x6b\x85\x8a\x66\x37\xba\x7b\xcf\xf6\xfd\x83\x43\x5b\x3c\x2a\x92\xd3\x4a\xe6\xb7\xd9\xd5\x8e\x8e\x07\xc3\x70\xcf\x2a\x74\xa7\x4f\x8d\x76\xff\x67\x1d\xf8\x1b\x0e\x0c\x0c\x7c\xea\xfd\x59\xff\xae\x3f\x94\x9a\xee\xb9\xbe\xcc\xee\xb1\xa8\x91\x8e\x2f\xc9\x8c\xe8\xda\x31\xa9\x6c\x23\x90\xc2\x01\x5b\xe7\xe0\x72\x00\x65\xfe\x84\x50\x54\x3c\x83\xac\xb1\x8b\xa5\xe0\x64\x8a\xf9\x4d\x27\x8e\xb4\x1f\xbf\x92\x4a\x16\xa0\x86\xc9\x21\x81\x71\x24\x70\xe5\x62\xce\x63\x4c\xc0\x48\xbd\x14\x8e\xc9\xbd\xb7\xc1\x23\x9e\xff\x57\xb4\x20\x4d\x3a\xd4\x64\xec\x3b\x04\x48\x51\x18\x8d\x82\x71\x25\xf2\xab\x95\xe6\x47\x2c\x29\x4e\x68\xfe\xbc\x60\x30\x93\x46\xef\x3a\x04\x17\x8a\x38\x3f\x1c\x91\xc4\xd0\x01\xad\xdb\xcf\xda\xcf\xef\x64\xd7\x18\x63\x0b\x3b\x81\x14\x52\x01\x75\x42\x5d\xa4\x38\x7f\x1c\x47\x19\x49\xbe\xe9\x84\xce\x74\x25\xfe\x3c\xbb\x56\x2d\xfc\x24\x2f\x9e\xf9\x40\x74\xe4\x0d\x63\x80\x02\xe9\xf8\x18\x07\x21\xef\xa9\x47\x73\xed\xaf\x8f\xc2\xb6\xc6\x47\xe6\xf2\x72\x76\x5d\x23\xb5\xa6\x50\x7c\xd3\xee\x7d\x42\x11\xf7\x4e\x86\x63\xe4\xd8\xc0\x54\x58\x26\x6d\x74\x15\x2d\xc7\x5c\xf2\x22\x58\xd0\xb9\xf6\x1b\xc1\x53\xa1\xe8\x24\xa5\xfd\x95\xcb\x05\x59\xae\x84\x6e\x01\x84\xb7\xb6\x43\x06\x41\x79\xe9\x8e\x5c\xfd\xe1\xc8\xea\x55\x01\x1e\x02\x8b\x89\xfe\x5e\x2a\x27\x6e\x93\x62\x91\x09\xf9\x21\x08\x1c\xcf\x2f\x2d\x98\x94\x0f\x20\x64\x01\x10\xe3\x93\x02\x79\xe3\x4f\xfa\x98\xb1\xa0\xea\xc1\x7e\x36\x3f\x8a\xee\xc1\x0c\xac\x32\x4c\x17\xd4\x01\xfe\x46\x81\x82\x1f\xdb\xa7\x1e\xa0\x49\xe8\xc6\x0d\xc2\xaf\xb0\x30\x2f\x0f\x54\x4d\x5c\xcb\xc8\x21\x63\x09\xa1\x3e\xf5\x73\xf3\x1c\xe5\xa2\xa9\xf1\x55\xdd\x39\x13\x94\x39\xd4\xe4\xa8\xd4\x50\x93\xe3\xef\x72\xa8\x66\x54\xf6\x50\xed\x3e\xe6\x0f\xb5\x73\x8c\xf6\x54\xb9\xc6\x28\xf2\x54\x51\x7f\xc4\x7d\x38\x29\xee\x1e\x62\x3e\x61\x83\x55\x76\x61\x05\x53\xe8\x10\x36\x94\x1b\x24\x15\x26\xc8\x75\x8a\x88\xda\x5d\x47\x0b\x50\x63\x4a\x47\x46\x85\x63\x36\xc8\x28\x72\xe4\x48\xa7\xac\x83\xdc\x3d\x59\x95\x42\xea\x58\x38\xcf\x98\x06\x42\x4f\x0e\xcb\x39\x5e\x2e\x3e\x57\xbe\x14\x3d\x78\x05\x32\xaf\xd6\xa1\x43\xa8\x7b\x87\xc8\xe9\xe8\x8f\x8c\x05\x64\xde\x32\x8e\x41\x68\xa2\x3e\x65\xe5\xb4\x6d\x8e\x05\xa6\x1c\xca\x4f\x4f\x7f\x76\xd8\x31\x42\x28\x9a\x1f\x66\xee\x81\xaa\xd0\x3a\xf7\xb4\x75\xf5\x3a\xc6\x21\xd2\x85\x9b\x48\x7b\x4b\x56\x9d\xdd\x75\xe8\xb9\x23\x5c\x88\x1f\x3c\x62\xb8\xd0\xa1\xba\x4f\x26\xad\x5a\xa9\x22\x6b\x7c\x67\xdb\xcf\x5f\x23\x36\xed\xe2\x25\xf8\x8f\xec\x7a\x3a\x73\x06\xe0\x58\x0a\x15\x76\x7e\x0b\x4b\xda\x45\xb5\x5a\xcd\x84\x77\x75\xe1\x16\x10\x99\x97\x0c\x33\x5d\xb4\x43\x4c\x81\x4c\x11\x55\xb8\x1d\x78\x7d\x19\x03\x90\xd0\x54\x10\x8a\x3b\x94\xb0\x80\xb3\x8b\x19\x6d\x74\xc2\x85\xab\x57\xa8\xac\x5b\xa1\x65\x7b\x3c\x01\xd2\xb9\x54\x59\x5d\x27\xe9\x6d\x3a\x01\x7a\x3b\xc6\x47\x60\x74\x28\x2c\x50\x18\x54\x19\x17\xf6\xf3\x4a\x23\xb1\x8d\xfb\xf0\xa2\x6c\x1c\x0c\x63\xf2\x2a\xfc\x84\xb9\xac\xe4\xf3\xa3\xcc\x5d\x57\x3a\x5b\x43\x1b\xd8\xcc\x8d\xd6\xd5\x9b\x0a\x29\x36\xdd\x1e\xfc\x7d\x6d\x7a\xba\x75\x6a\xc1\x66\xc1\x4a\x34\xe9\x1c\xa0\xa8\x76\x3b\x92\x7c\x4c\x59\x51\x8e\xeb\xe1\x48\xe5\x89\xe6\x15\xde\x0a\x63\x7e\xbd\xd2\x60\xe2\x4a\xb8\xfa\x74\x58\x9f\x74\xd6\x29\x72\x8f\x13\x59\x56\x17\xef\x45\x5f\xbd\x51\xc0\x74\x73\x37\x45\x7e\x0a\xdd\xd4\x61\x13\x3d\xa3\xa5\xf9\xa6\xad\x07\xf7\x0e\x0d\x6e\xdb\xbe\x73\xdb\x41\xc5\x30\xa5\xe5\x92\xcc\x33\x66\xc9\xf0\x8c\xf2\x1e\xc7\xcd\x70\x77\xac\xca\x7a\xea\xd8\x9e\xa1\x7d\xbb\xdf\xa6\x63\x76\xf9\xae\x3a\x36\x5e\x1a\xf6\xc5\x77\xf5\xcd\x53\xab\x8f\x7e\x92\xca\x61\xac\x97\x76\x8f\x88\x22\xe0\x6b\x0c\xbd\x25\xa3\xb8\xa3\x9a\x66\x8d\x9f\x24\xd2\xfe\xe2\x6a\x38\xe4\x3a\x9a\x7b\xe1\x62\x4e\x55\x70\x8b\xa2\x85\x61\x0e\xa4\x80\x50\x32\x40\x0a\x01\x59\x65\x58\x3b\x7f\x44\xcc\x17\x77\x4a\x31\x96\x3e\xae\x82\xe2\xb9\xa2\x92\xe2\x58\x1d\xf7\xa4\x2b\xfa\xaa\x1a\x54\xbd\xe1\x52\x58\x19\x31\x7e\x17\x29\x00\xeb\xda\xf5\xd6\x8d\x85\x68\x5e\xf9\x36\xc5\xda\x1c\x48\x6c\x52\x99\x06\x33\x3f\x9b\x98\x3f\xf5\x9c\x07\xa5\xc5\x71\xa1\x30\x00\x3f\x3f\xe7\xd9\xc5\x02\xf7\x8b\x4b\x1a\xc8\xb9\xca\x1c\x75\x2e\x96\x92\xed\x00\x8e\x62\xa8\xb2\x4b\x0f\x45\xd2\x94\xb3\xcb\xa1\xae\xc2\x4e\xaf\xae\x6e\x41\x2a\x66\x1c\x67\x68\x3e\x08\xaa\xbf\xc3\x55\x55\x1e\xc7\x70\x90\xdf\x9d\x0e\x03\x04\xea\x3f\x71\xca\x8a\x5c\x5e\x68\xbf\x31\x26\x8d\xd6\x91\xc5\x8e\x03\x95\x96\x97\x3c\x39\x72\x31\xf1\xea\x72\x95\x0b\xea\xd2\x6e\x62\x92\x56\xa9\x58\x58\x71\x66\x5d\xc8\x96\x6f\x15\x27\x2b\xa6\x3c\x33\x6e\x8d\x64\xe3\xfc\x8b\x8b\x5d\x3b\x87\x57\x1b\x03\x19\x15\xc6\xb1\x34\x55\x89\x4f\x84\x4a\xf4\x41\x0c\x1d\x34\x9e\xe6\x0c\xba\xf8\x3c\x53\x55\x49\xa3\x4a\xd5\xe5\x18\x1e\xe1\x43\x96\x31\x22\xa7\x5e\x19\x26\xfc\x44\xb4\x73\x1c\xa4\x39\xdb\xa0\x41\x5d\xa5\xd5\x26\xd0\x56\x44\x05\x9d\x9f\x6e\x3d\xbb\x1e\x4d\xdf\x83\x57\x59\x5c\x5c\xf4\x5f\x65\xb5\x6a\xf4\xa1\x9e\x1a\x35\xa5\xbb\x6a\x93\x2f\x8a\x9e\x1a\xe4\xa2\x5d\xb5\x46\xa9\x09\x3d\x35\x46\x25\xe5\xb6\x28\xb1\x82\xe2\x6d\xbb\x12\x76\x05\xe0\x8a\x85\x82\x1c\x23\xe5\xcc\xa9\x70\x19\x12\x0a\x21\x2f\xe4\x60\x2e\x28\x21\x2d\xf5\xc1\x71\xb7\x16\x07\x69\x28\x08\xcf\x50\x14\x0c\x20\x37\xef\xbf\x17\xc0\x67\x77\x4d\x9f\xf9\x92\xfe\x64\xc7\x3c\xba\xeb\x70\x5c\x2e\xaa\x12\xc7\x55\x91\x0c\x6a\x12\xaa\x49\x7d\xe4\xaa\xc8\x3d\x25\x42\x51\x32\xf1\x89\x96\x0b\x34\xd7\x09\x05\x2b\xf2\x6a\x82\xf2\x21\x14\x72\xe4\xf0\xb9\xb2\xf1\xac\x34\x63\x99\x82\xde\xca\x12\x16\x45\x3a\x55\x94\x53\x85\x5c\x38\x1c\x33\xfc\x11\x96\x19\x05\x2d\xee\x0e\xdb\xdf\xde\xbd\xbf\xf7\x14\x73\xc4\xcb\x1f\x57\x29\x42\xa7\xa7\xea\xf1\xfd\xca\xf3\x90\xdf\xd0\xfc\x7d\x9d\x1e\xf0\xa8\xb7\x46\xdd\xe6\xcc\xc4\x90\x5c\x86\x4d\x77\xed\xbd\x8f\xa8\x8b\x36\xcd\xf4\x1d\x12\xbd\xc0\x6b\xdf\x9d\x26\x46\x4e\xcc\x6b\x66\x84\x32\xaf\xd7\x45\x7b\xaf\x8b\xa5\xa7\xb1\xf7\x91\x75\x31\x8f\xef\x73\xcd\xf0\xb5\x66\xaf\x9b\xd4\x96\x73\x78\xd1\xfc\x83\x2e\xe6\xd2\xa2\x1a\x7a\x9b\x16\x9d\x83\x6c\x38\xbc\xa9\x9c\x60\x29\x8b\x1e\xa4\x6c\xc9\x53\x2b\x98\x6f\x45\xac\xa0\x27\x8a\x7c\xb6\x32\xf6\x54\x30\x40\x20\x51\x87\x43\x84\x7c\x2a\xce\xc2\x5e\x89\xc2\xce\x91\xfe\x82\xf9\x20\xa5\xda\x90\xb6\x08\xd1\xb6\xe1\xd3\xe8\xe1\xad\xb5\x53\x67\x31\x77\x61\xf6\xdb\xd6\xec\x4c\x4e\x43\x98\xdc\x2d\xda\x12\x5e\x88\xf7\x51\x83\xd8\x28\x7a\xb0\x24\xdb\x05\xdd\x66\x64\xcb\x80\xec\xa2\x79\x41\xa3\xb9\xb4\x3a\xcf\x16\x5b\xd7\x05\x1d\xa8\x59\xc5\xbc\x86\xaa\xc6\xb9\x6f\xc8\x9a\xd0\x83\xd5\x1b\x77\xa2\x6b\xc7\x44\x23\x96\xe1\x1b\x91\x4d\x32\x2e\x33\x78\xb3\x2e\x99\x02\x45\x72\x08\x28\x22\x6d\x48\x67\x19\xe9\xe8\x41\x21\xf1\xdc\x35\xc3\xd2\xa8\xf8\x8e\x54\xe9\xde\x14\x20\xef\xa8\x41\x54\xed\x5c\xb4\x09\x09\x48\x2d\x67\x79\x3b\x9d\x3e\xbb\xae\xc3\x3d\x27\x2d\x4e\xc9\x3a\xe5\x25\x21\xfe\xe0\x0b\xe6\x5f\x50\x51\xac\x5f\x7e\xe9\x7d\x80\x21\xa5\xaa\x0b\xe4\xad\x88\xf1\xe6\xf7\x36\x30\xbf\xe7\xcb\x2f\x25\xaa\x9a\x74\x5d\x3f\x2f\x9d\x8e\xc1\xeb\xd9\x0f\xd1\x59\x99\xc8\x48\xc3\x98\x1d\xda\xf9\xf1\x09\xee\x5a\x44\x74\x29\x1a\xa9\x94\x5d\xbc\xbb\xf8\x25\xc4\xcc\xd8\xaa\xa1\x64\x6a\x15\xb9\x25\xf3\x15\x8c\x2f\xbf\x2a\x17\x22\x85\xfd\x9d\x0b\x88\xc2\xfe\x6e\xb2\xc4\xfc\xd9\x0d\xce\x1c\xd8\x16\x24\xd6\x6f\x5b\x60\xe8\x02\x0a\xb4\x09\x1b\x45\x65\xc8\x6d\xdb\xe5\xed\x4f\x16\xf7\xa2\xeb\xc7\x5b\x8b\x48\x03\x29\xf7\x09\x31\x4d\x76\x1d\xd2\x26\x42\x28\xa3\x63\xf9\xa5\x78\x84\xcc\x42\x2b\xaf\x1e\xa0\x07\x93\x42\xc0\xc5\xd8\x01\x2c\xc9\x31\x43\x1a\x49\x25\x27\x84\x88\x82\x80\x56\x16\x4e\x7a\x9d\x25\xe1\x1a\x12\x1b\xd9\x5c\x09\x3f\xdb\x87\x82\x05\xbe\x0b\x0e\x79\xea\x17\x85\x6a\x24\x8f\xca\x2a\x06\x07\x01\xde\x66\xa9\x92\xae\x8d\xbf\x19\x84\xbd\xee\x9a\x23\xce\x21\xf5\x25\x0c\x22\x3f\xf2\x21\xd3\xd5\xae\xd8\x65\x63\x9a\x7d\xbd\x16\x49\xc2\x76\xc2\x7c\xb1\x52\xf8\x42\xa6\x0f\x65\x76\xdc\x18\xf5\xc5\xb1\xd4\x59\x4d\x67\x53\xbb\x77\x76\x21\x81\x11\x63\x48\x76\x35\x2e\x0c\xbb\x01\xed\x04\x30\xd7\xc6\x21\x7f\xd7\x81\xea\x81\x06\xfd\x1f\x8f\xfe\x77\x49\xca\x68\x1d\xf4\xef\x4d\x22\x39\x2e\xfa\x20\x0e\x60\xc9\xdd\xcd\x70\xcc\x74\xe9\xc0\xbf\x90\xae\x4d\x54\x21\x3a\x09\x05\xcf\xa0\x62\x55\x35\xac\xd8\x9c\x51\xa9\xc2\x9b\x43\x43\xef\xa7\x30\x24\x91\xc7\x66\x00\xe3\x6b\xf4\xfc\x0b\x7c\xf9\x88\x88\x90\x85\xa1\x10\x73\x5d\x27\x6a\xc9\x06\x0c\x82\x71\xd5\x1a\x63\x8a\xb8\xc5\xa0\x07\xb9\x97\xcc\x9e\xaa\x78\xb5\x16\x67\x38\xf0\x3a\x81\x27\xb5\x30\xcb\xd4\x39\xcc\xbf\xc4\x89\xd6\xac\xec\xa9\x20\x17\x7b\xfa\x90\x09\x75\x0e\xa3\xd3\x4d\x2a\x44\x3c\x16\x15\x72\x64\xef\x09\x91\xe6\x9f\xb6\x84\x41\x5b\x40\x2d\x3f\x41\xc7\xcd\x78\x0b\x19\x15\x4a\x80\x48\xd1\xcb\x67\x2a\x62\x85\x72\x0b\x72\xc0\x91\xac\x39\xe2\x8d\xd4\x7c\x2b\xc4\x26\xbb\xba\xec\xa3\x91\x07\xe3\x24\x76\x73\x2b\x27\x7e\xa0\x1c\xab\x8e\x4f\x79\x93\x41\x1d\xf6\x7a\x93\x68\x26\x37\x6d\xf5\xac\x8b\x1f\x45\xd5\x8e\xd2\xe7\x95\x89\xe6\x84\x91\xfe\x09\x12\x58\xdc\xf6\x5f\x24\xb9\x68\x1c\x5b\x28\x6e\x77\x65\xf1\xc4\xda\xf4\x51\x86\x1c\xd7\x6d\xee\xcf\x68\xcc\x43\x50\x84\x9f\x8e\xad\x2c\xcf\x18\xa6\x20\x9b\x1b\x16\xf3\xb6\x52\xcd\xbb\x96\x27\x6e\xdf\x30\xdc\x76\x8e\x77\x8f\x32\x73\x9b\x1a\xff\x6d\x5d\x46\xcc\x44\xb7\xf6\x58\x3b\x1b\x7a\xcb\xd1\x8d\x73\x02\xa0\xc1\x26\xe3\x14\x1a\x47\xe7\x52\x05\xf0\xde\x70\x04\x3f\x5b\x21\x28\x4c\x72\xa9\x95\xa9\x6e\xe2\x6c\xc4\x4a\x8a\x06\xe0\xe0\x26\xf1\x27\x92\xf7\x30\xfc\x90\x7b\x0d\xc7\x85\xe2\x5b\x38\x2e\xe7\xba\x84\x13\xfd\xdc\x51\x70\x90\xa9\x42\xc5\xc6\x05\xf2\x7f\x7c\x08\x5e\x86\x30\x30\xfd\x4f\xad\x75\x16\x49\x31\x70\x57\x91\x93\x80\x80\x38\x86\x3a\x48\x43\x55\xe0\x0c\x99\xcf\xf8\x3e\x67\xf3\xa4\x3f\x47\xf2\xae\x7a\x30\x5a\x97\x53\x44\x32\x0a\x69\x4f\x0c\x22\x35\x88\xd8\x1d\x19\xe5\xc2\xe6\x08\x12\x94\x74\x35\x9c\x97\x3f\x46\xa7\x67\x5b\x5f\x0b\x11\xc8\x1d\x91\x9a\x86\xb0\xb0\x84\x74\x8b\x0c\x5a\x40\x91\x9f\x1c\xcb\x23\x37\x9c\xaa\x86\x19\x09\x31\x17\xf3\xd1\xdc\xea\xc3\xbb\x2b\xaf\xa0\x1b\x17\x41\xb9\x69\x4d\x2f\xf5\xdc\x93\xb7\xed\x41\x17\x6d\x17\x8e\x7c\xed\x2c\x9a\x1f\xe8\xaa\x31\xd3\x42\x2d\x36\x9c\x0e\xbf\x8e\xaf\xa3\x6b\xb7\x5c\x4e\x40\xfc\x9e\xfd\x80\x5a\x24\xb2\x7c\x21\x16\x53\xfd\x53\x9c\xa8\x5c\xdc\x67\xe8\x75\xd6\x8c\x4f\x1b\x15\x0d\xa7\xc5\x51\xa2\x19\xf8\xbb\x4b\x28\x69\xad\x58\x8f\x2c\xc7\x97\x94\x51\x02\xe1\x26\x1d\x1e\x26\xc6\x8c\x23\xeb\xa5\xee\x52\x8e\x35\x33\xa3\x84\x19\x64\xbe\xa5\xd3\xd1\x9e\xf7\x01\x3e\x70\x38\xc1\xc2\x69\x75\x28\xd4\x7c\xba\x36\x47\x6f\x1a\x29\x31\x35\x60\x5e\x46\x19\xef\xa2\xa0\x6e\xff\x25\xa9\xb1\x53\xa4\xac\x85\x11\xc0\xe6\x59\x87\xde\xa0\x1b\x4f\x89\x3b\x62\xc7\x8f\x35\xc0\xac\xa7\x11\xc8\x8a\xc4\x1f\xd3\x3a\x32\x68\xd8\x37\xee\xa8\xec\x73\xb2\x03\xbb\x54\x0a\x66\x00\x52\x76\xf6\x92\x0a\xc5\x6a\xd6\xc7\xfb\xbc\x1a\xf3\x3e\x2a\x53\x17\xfc\x8d\x7e\x25\x82\x29\x4a\x8a\xfe\xf8\xd7\xbf\x46\x60\xa8\x83\x18\x48\x32\x30\x12\x4c\xc8\x43\xd5\x2c\x43\x98\x68\xc0\xb8\x6b\xa8\xb8\x93\x75\x0f\x81\xd1\xd8\x4e\xb6\xf2\x6a\x1a\x16\x53\xfd\xca\x0c\x50\x42\x3b\xe2\x50\x94\xc6\x80\x7a\x0f\x69\xde\xf0\x62\xe2\x4b\x1a\x7e\xfc\xdc\x8e\xe6\xed\x38\xe8\x8e\xbe\x77\x5d\xa9\xd9\x92\xd4\xd1\xff\xf7\xe9\x7f\x07\x00\x00\xff\xff\xa4\x93\xbc\xe4\xd2\xec\x02\x00") + +func cfI18nResourcesZhHansAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesZhHansAllJson, + "cf/i18n/resources/zh-hans.all.json", + ) +} + +func cfI18nResourcesZhHansAllJson() (*asset, error) { + bytes, err := cfI18nResourcesZhHansAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/zh-hans.all.json", size: 191698, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _cfI18nResourcesZhHantAllJson = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xe4\xfd\x7b\x53\x1c\x47\x96\x30\x8c\xff\xff\xfb\x14\xf5\xd3\x13\x1b\x78\x26\x00\xd9\x9e\xd9\x8d\x27\x14\xf1\xc6\x3e\x18\x61\x99\x77\x90\x60\x01\x69\xd7\x61\x4d\x68\x4a\x74\x01\x3d\x6a\xba\x7a\xba\xba\x91\x99\x59\x47\x80\x6c\x0c\x58\x20\x24\x59\x42\x37\xac\x9b\x75\xc1\xba\x5b\xb2\x24\x8c\x24\xfc\x61\x4c\xf5\xe5\x2f\x7f\x85\xf7\x5c\xb2\xaa\xb2\xba\x2b\xb3\xaa\x9b\x46\xf6\xec\xb3\x1b\x63\x35\xdd\x55\xe7\x9c\x3c\x99\x79\xf2\xe4\xb9\x7e\xf2\xff\x33\x8c\x7f\xc0\xff\x0c\x63\x57\x3a\xb5\x6b\x8f\xb1\xeb\x70\xf6\x70\x76\xb8\x77\x60\xcf\xe1\xec\xae\x76\xfe\xbe\x90\x37\xb3\x4e\xc6\x2c\xa4\xed\xac\xf7\x40\x69\xf9\x74\xf9\xd6\xc6\x2f\xaf\x2f\xc3\x53\xf0\xd0\x67\xed\x51\x50\x3e\xb6\x8b\x79\xe3\xff\x1d\xea\x3f\x60\x38\x85\x7c\x3a\x3b\x66\x38\x53\xd9\x82\xf9\xa9\x91\x76\x8c\x74\x76\xd2\xcc\xa4\x53\x9d\x86\x31\x90\xb7\x73\x56\x5e\xfa\xa9\x30\x9e\x76\xf6\x18\xc6\xc8\xa8\xe1\x58\x85\x8e\x7c\x31\x9b\x85\x57\x3b\xac\xec\x64\x3a\x6f\x67\x27\xac\x6c\xa1\x63\xd2\xcc\xa7\xcd\xa3\x19\xab\x63\x2c\x6f\x17\x73\x46\xdb\x3f\x0e\xef\xca\x9a\x13\xd6\xe1\x5d\x7b\x0e\xef\x02\xb0\x45\xf8\xd4\x5e\xff\xd5\x67\x6d\xba\xf1\x9c\x58\x2b\x5f\xfe\x82\x89\x75\x1f\x5e\xd8\x5a\x7f\x5a\xb9\x77\xb5\xf4\xec\x7c\xf9\x8b\x1b\xa5\xf3\xf3\x3f\x4f\x9f\xa8\xce\x7c\x57\x3e\xff\x02\x9e\x11\xdf\x9f\xc0\xc1\xef\x04\x8d\x3b\xca\x4d\xa7\x60\x8e\xfd\xd6\xb9\xd9\x52\x1a\x15\xdc\xfc\xbd\x31\x3c\x6e\x39\x16\xe0\xcb\x4f\xa6\x47\x2c\x23\x97\x81\x31\x18\xe3\xe6\xa4\x65\x98\x59\xc3\x74\x1c\x7b\x24\x6d\x16\xac\x94\x31\x62\x3b\x85\x4e\xa3\x3b\x6f\xc1\xf8\x80\xe5\xa6\xff\x46\x3a\x0b\x74\x66\xe1\xc3\xf1\x74\x26\x03\x7f\x8d\xc0\xe4\x20\xaf\xf9\x0d\x25\x6f\x7e\x6f\x54\xa7\x2f\x6d\x6d\x5c\x29\xad\x2e\xb9\x27\x2f\x95\x56\x7e\x2c\xdd\x98\x2f\xad\x2e\x54\x2f\xac\x56\x66\x1e\x03\x3f\x4a\xf3\xa7\x4b\xab\x0f\x80\x43\xee\xab\x8d\xf2\xfd\x93\xfc\x98\xfb\xf8\xce\xd6\x26\x7c\xfe\xbc\x7c\xee\x66\xf9\xdc\xb5\xd2\xc3\x5b\xfe\x63\xaa\x01\x76\xe5\x72\xb0\x4c\xcc\x3c\x8c\x41\xb3\x8f\xdd\x97\x4f\xdd\xf3\xd7\xdc\x93\xe7\x4b\x73\x0b\xe5\x73\x6b\xe5\xb5\x93\xee\xeb\x65\xf5\x8e\x46\xa0\xff\xf8\x47\x27\xfc\x73\x00\x38\xfd\xd9\x67\xc6\x71\xd3\xf1\xb0\x18\x45\x07\x19\x24\x58\x30\x31\x61\x66\x53\xc6\x5f\xe0\xe1\x6e\xfe\xfc\xd9\x67\x7f\xd1\xd3\xb1\xf5\xe6\x27\xa0\x00\x98\xe3\x4e\x9f\x2c\x2d\xce\x6d\xbd\xba\x05\xb3\x2c\xbd\xde\x66\xd4\x53\x1a\x22\x46\x4d\xf6\x01\xdb\x30\x73\x69\xc3\xca\xa6\x72\x76\x3a\x5b\xc0\x45\xa6\x9e\xa0\xd2\xea\xbd\xca\xda\x43\xf7\xd1\x65\xa3\x6b\xa0\xd7\x28\xdf\x7f\x5c\x7d\x75\x55\xc3\xe7\x41\xbb\x58\xb0\x8c\x82\x6d\x1c\xb5\x8c\x62\x76\xc2\xcc\xe5\x80\x15\xc0\x82\xac\x5d\x30\x60\x49\xe4\x61\xf1\x66\xa6\x0c\xf1\x3d\x3c\x56\x18\x87\x15\x96\xcb\x65\xd2\x23\x84\x53\x4d\x47\xe5\xce\x8c\xbb\xbc\x52\x7a\x31\xef\x3e\x59\x2a\x5d\xbc\x8e\x5b\xe5\xe5\x63\x77\xf3\x4c\xf9\xca\x23\x77\x61\x09\xa8\xe4\xef\x2b\x73\xcf\x64\x8e\x68\x28\x45\x91\x6e\x18\x07\x61\xd1\xb7\xc1\x46\x9b\x30\xf3\xc7\xac\x02\x2c\x7b\x58\xc1\x1d\x8e\x31\xd4\x33\x78\xa8\xb7\xbb\xa7\x0d\x49\x9c\x4c\x5b\xc7\x8d\x94\xe5\x8c\xe4\xd3\x39\xa4\xc7\x31\xec\x51\x58\xe0\xa9\xf4\x64\x3a\x55\x34\x33\x62\xaf\xc0\x77\xa6\x31\x96\x9e\xb4\xb2\xde\x96\xd0\xf0\xd4\x3b\x2c\x78\x92\x75\x04\xfc\xf2\x7a\x71\xeb\xd5\xed\xd2\xbd\x9b\x95\x3b\x2b\xe5\xe7\x77\x60\x1e\x78\x0b\xc0\xf8\x61\x61\xb8\xf3\xb7\x79\xcb\x54\xee\xdd\x2b\x5d\x3c\x15\x37\xda\x2e\xc7\x49\x8f\x65\x8d\xbc\x9d\xb1\x1c\xd8\xa7\x85\x71\x5e\x52\x3c\x2d\xc0\x89\x3c\x2c\x61\x94\x38\x76\x7e\xac\x03\x1f\x6a\x33\x70\xd5\x46\x3f\xe3\xe4\x80\x52\x7e\x2a\xf9\x38\x63\xb0\xb9\x67\x17\xe3\xb1\x19\x5b\x9b\x5f\xc2\x86\x28\xfd\xb0\x59\xb9\x7b\xb6\xb2\xf0\x54\x3b\x62\x9a\x5e\x84\xf8\xe1\xb0\x99\x1f\xb3\x0a\xd2\xf6\xc1\xc5\x47\xdf\x19\x59\x98\x5f\x42\xd0\xd8\x40\xea\x41\xc2\x4c\xb9\x4f\xe6\x60\x45\x96\xd6\x2e\xc1\xa6\x01\x29\x5e\x5a\x79\x02\x33\x55\xfe\x6e\xa3\xba\xf2\x75\x32\x42\x55\x04\x02\x97\x1a\x23\x2f\x01\x59\xcf\xbf\x28\xff\x78\x4e\x4b\x56\x51\x6c\x8f\x8c\x0d\x47\x90\xd1\x61\x92\x10\xe8\xe8\x70\x8e\xa5\x73\x1d\x8e\x93\xe9\xa0\x63\x96\x28\x69\x03\x0a\xe9\x51\x14\x2d\x9a\xa7\x60\x54\x4e\x31\x97\xcb\x5b\x0e\x9f\xc5\x86\x95\xcf\xdb\xf9\x86\xb6\x4a\x12\x62\x4a\xf3\x2b\x09\xa8\x11\xbb\xeb\xab\x33\xee\xfc\x0b\x38\x45\xaa\x8b\x8f\x2b\xf7\x6e\x45\x33\x04\x3e\x75\x7f\x78\xe4\x40\xd7\xfe\x1e\x10\xe7\xb9\xa9\x0e\x07\xb4\x0f\xd8\xaa\x43\xfd\x07\x07\xbb\x7b\x3a\xba\x06\x06\x8c\xe1\xae\xc1\x7d\x3d\xc3\xf4\xf1\x13\xd8\xc1\xe2\xcf\xa1\x81\xae\xee\x1e\xf8\xc2\xf6\xbe\xe8\x1f\xdc\xf7\xe7\x3f\xc3\x17\x1d\x59\xbb\x03\xb8\x80\xa7\xc5\x9f\x95\x47\xc1\x4e\x63\x55\x0d\xb5\x9f\x24\x9d\x99\x01\x59\x9d\xcb\xdb\x20\xe8\x40\x4a\x1b\x99\xb4\x53\x40\x39\x47\xc7\x59\x47\xca\xca\xa4\x27\xd2\x78\xd2\x81\x7e\x82\x73\x69\x16\xf8\xec\x07\xc9\x7f\x3c\x9f\x2e\x14\x40\x12\x0a\x01\x7f\xa8\xbb\x6b\xe0\x88\x90\x68\x43\x86\xa4\xc7\x18\x9e\x1e\x63\x8c\xc2\xea\x31\xb3\x53\xc6\x51\xbb\x08\x22\x47\x3a\x11\x1c\x95\x18\x85\xaf\xaa\x33\xeb\xa5\xaf\xe7\x4a\xd3\x77\xdd\xd5\x27\xb0\x50\xb6\x36\xaf\x54\xa7\x2f\xc0\xf9\x04\x52\xb2\x7c\x7e\x11\x56\x7b\xf9\xfb\x5b\xa5\xf5\x59\x77\xe5\x11\x4f\x74\x75\xee\x1b\x38\x25\xb6\x5e\xbd\xda\x7a\x73\xbe\x3a\xfd\x6d\xf9\xf9\x69\xd4\x30\xa4\xe3\xc2\x7d\x7c\xdf\x9d\xbd\x5d\x43\x6f\xf9\xec\x13\xf7\xe6\xe7\x95\x47\x5f\x95\xce\xaf\x2b\x25\x6c\x34\xcf\xc4\x49\x00\xe2\xcb\x1a\x49\x8f\xa6\x47\x80\x75\xd9\xd1\xf4\x58\x31\x4f\xa3\x30\x72\x66\x1e\x8e\xea\x82\x95\x47\x8d\x15\x18\x4c\x2b\x93\xb5\x44\xfb\xe8\x5f\xad\x91\x02\x7c\xdd\x91\x49\x67\xad\xce\xc3\x59\x69\x25\x14\x73\xb0\x7c\x01\xa8\xd0\xbc\x3a\x46\x92\xeb\x7f\xa8\x8c\xaa\xa6\x77\x34\x0d\xf3\x00\x04\x16\xcc\x74\x96\xd4\xe9\x6d\x12\xdf\x69\x10\x2e\x50\x2c\xe1\x59\x38\x6b\xc4\x62\x90\xde\x63\x8c\xa0\x60\x1e\x65\x35\xf3\xa8\x63\x67\x50\x7d\x80\xb5\x90\xb7\x70\xa6\x27\x83\x57\x99\xbe\x38\x46\x0c\x74\x0d\x7f\x74\x64\xb8\xff\xc8\x87\xbd\x7d\x3d\x62\xac\x3d\x9f\x9a\x13\x39\xc0\x03\x0b\xb7\x8e\xc4\x3d\xf4\xc4\x3f\xe8\xbf\xf0\x7f\x87\x77\x8d\x64\x8a\x0e\x90\x76\x24\x6b\xc3\x81\x0f\xac\x0b\x7e\xe3\x9f\x61\x75\x16\xf0\xeb\x7f\x6d\x0f\x7d\x3f\x61\x4d\xd8\xf9\xa9\x23\x13\x47\xf1\xb7\xf7\xde\x7d\xff\x8f\xde\xaf\x9f\xd1\x87\xcf\x92\x2d\x61\x77\x75\x0d\x54\x5f\xb8\x10\xa0\x72\x73\x63\xd1\x9d\xbd\xcb\xb4\x96\x17\xbe\xdb\x7a\xf5\x62\x6b\xfd\x21\xaf\x71\xa1\x00\x2c\xfc\x08\xcb\xbc\x3a\xbb\x54\x7e\xf3\xc8\x5d\xfe\x9c\xd7\x66\x8b\x97\x89\x8a\xb8\x48\xb2\xdc\xc5\x59\xf7\xf4\x7d\x15\x71\xb8\xd1\xee\x9d\x03\x4d\xc5\xa3\x92\xbf\xe6\xef\x7c\x65\xce\x5d\x7e\x8c\xf2\xf8\xe2\xe3\xd2\xb5\xd3\xa8\xf7\x7a\xbf\x96\x9f\x9f\x47\xf5\x6e\x7e\xa5\x7c\x65\x1d\x3e\xf0\xc3\xf1\xe3\x8d\x58\x0d\x91\x63\x28\x3f\xfe\x02\xee\x13\x74\x79\x7f\x3b\xcb\xe1\x57\x10\x21\x7b\x04\x03\x3c\x6e\x1d\x05\x0d\xd6\xe7\x15\x9c\x1e\xfc\xad\x10\x7a\x47\x7a\x0f\x0c\x0d\x77\x1d\x80\x23\xe4\xff\x5e\xe1\x92\x9c\x41\xdb\x15\x3a\x39\x2b\x3f\x91\x06\xd5\x1c\x0e\x3b\x5c\x30\x87\x77\xc1\xed\x3a\xd5\x61\x67\x33\x53\x87\x77\xbd\x45\xf9\x41\xeb\xff\x2d\xad\x91\x7f\x2e\xc9\xb2\xad\xa5\xd0\x98\xc4\x49\xb0\x16\x7e\x03\xc2\x63\x04\xed\x3f\x81\xa8\x15\x9c\x30\x06\xfa\xba\x0e\xfc\x13\x89\x90\xd6\x4b\x90\xed\xf2\xe9\xff\x66\xf5\xa5\x5e\xfc\xec\xf4\x2a\xfb\x6d\x0b\xa1\xed\xf3\xe3\x9f\x4e\xfd\x19\xc0\xcd\xe4\x8c\xdb\xc5\x4c\x8a\xf6\x9c\xf1\xf7\x74\x8e\xf6\x55\x3b\x7c\x2e\xe6\x33\xbc\xd1\x82\x2f\xf1\xce\x68\x64\xec\x11\x33\x63\xa4\xd2\x79\xd8\x10\x80\xb6\xd3\x18\xb0\x9d\x34\x49\x80\xb4\x03\x3f\xe7\xe8\xaf\x49\x34\x50\x17\xac\x31\x2b\xdf\x8e\xf6\x24\x07\xc4\x4a\xda\x86\x4b\xea\x54\x3b\x99\xb8\xe0\x49\xc7\x26\xab\xed\x68\xde\x9e\x00\x90\xc7\xe1\x8a\x8c\xd8\xc6\xd3\x63\xe3\x96\xda\x7e\xed\xd1\x0c\x77\xc8\xca\x77\x4f\x61\x62\x89\x38\x6f\x25\xcc\x04\x7f\x20\xc7\x0f\x0e\xf6\xc1\x35\x14\x66\xb9\xb4\xfa\xa0\x7c\xff\x71\xf9\xca\xa3\xea\xe2\x17\xb0\x5e\x7c\x7a\x71\x61\x3c\xfc\xb6\x74\xfe\x07\x52\xe6\x67\xd8\xec\xea\x7e\x71\xcf\x9d\x9d\xaf\x5e\xff\xd2\xdd\x58\xc6\x5b\xec\xfa\x9d\xad\xf5\x73\xee\xe6\xd5\xd2\xea\xf4\xd6\x9b\x53\xee\xfc\x13\xf8\x50\xbd\x7f\xb1\x3a\xfd\x14\xf6\x5c\xe9\xd4\x59\x78\x4c\x77\x49\x25\x71\xc7\x22\x35\xc5\xc2\xab\x09\x15\xa9\xb7\xe0\xcd\x12\x7b\x08\x0c\x34\x75\x83\x8c\x32\xf3\x79\x73\x8a\x0d\x8b\x92\x94\x42\xf9\xeb\xa0\x08\x67\x1b\xea\x51\x36\x8b\x5b\x46\xbe\x98\xb1\x74\xb7\x7b\xde\x77\xdb\x3b\xc1\xdd\x47\x9f\x8b\xb9\x59\x5d\x70\x57\x1e\x6d\xad\x4f\x57\x2f\x7d\xeb\xce\x5f\x00\x4e\x56\xa6\x41\x44\xbd\x00\x29\x05\xdb\xba\x66\x43\xb0\x35\xb5\x72\x67\xd9\x5d\x98\xdb\x49\x66\x32\x04\x3a\x66\x24\x7e\x12\xe1\xdb\xe2\x29\xc3\xa5\xc7\x3f\x30\x1d\xcb\xe8\x17\x87\xb9\xc3\x4a\xb3\x3d\x81\xd6\x99\x14\xad\x7c\xd4\x2c\xe8\x4d\xe7\x6f\x45\x33\x6f\x19\x47\xf3\xe6\xc8\x31\xdc\x20\xf8\xa3\xec\xf7\x19\x4f\x03\x79\x42\x2b\xc0\x07\xf3\xd6\xdf\x8a\xb0\xe7\x52\x78\xb8\x16\xc4\x28\x00\xb1\x90\x33\x87\xe8\xa8\xfa\xab\x03\xab\x9a\x86\x67\xf1\x29\xc6\x07\xd6\x27\x42\x1e\x04\xd2\x04\xf4\x9e\xbc\x5d\xb0\x47\xec\x0c\x2b\x3d\x85\x91\x1c\x8a\xee\xe0\x67\x18\x66\x21\x9d\xa5\xd5\xc1\x4f\xbc\xf7\x6e\xe7\xfb\x7f\xfc\x63\xe7\x7b\x9d\xef\xfd\xef\xf0\x93\x39\xd8\xc7\x42\x75\xfa\xc3\x1f\xde\xfd\x37\xa1\x35\x79\xb2\xe7\xcf\x3b\xb6\xdc\xd0\x09\x45\xcf\xf8\xeb\x8d\x17\x60\xb3\x8b\x8e\x81\xe1\xf1\xb3\xfa\x79\x79\x75\xa6\x7c\xfe\xf6\xcf\xd3\x8b\xec\x40\xbc\xb6\x81\x12\x84\x5e\xfa\x79\x7a\x09\xa0\x8a\x13\xe7\x5e\x75\x75\xba\x72\x67\x06\x3d\x02\x27\x1f\xb8\xaf\xef\xba\x67\x17\x7d\x3f\x9a\xfb\xf0\xb4\xf7\xc6\x89\xe8\xb3\x40\x8c\x30\x74\x16\xfc\xaa\x33\xa5\xda\x75\x87\xd0\x1f\x03\xba\xa1\x7d\x9c\x2c\x87\x7f\x2b\xda\x05\xd3\x73\x67\x78\x47\x25\x7f\xa9\xf2\x4c\xc0\x57\x9e\x39\xb9\xe6\x05\x83\x3d\x2d\xee\xa3\x1f\x2b\x6b\xdf\x03\x6b\xe0\x8c\xaf\xde\x58\x52\x90\x62\xa6\x70\xdf\x03\x6e\x25\x9e\xd2\xca\x13\xf7\xe6\xd5\xf2\x89\x0d\x43\xe1\x79\x35\x52\xb6\xc5\xce\x31\xeb\x53\xb4\xae\x9a\x78\x64\xe5\xad\x9c\xad\x82\xb8\xb5\xbe\x04\x6b\x12\x2d\xfa\x5f\x3c\x75\x1f\x5e\x74\x37\xee\xbb\x6f\x6e\xa2\xe5\x12\x3e\xaf\xae\x29\x90\xa0\x71\x55\x05\x10\x3d\xcf\xe7\xd6\x4a\x2b\xaf\x0d\xc5\xcb\x78\x8a\x66\xf0\x16\x32\xe5\xb9\x36\x55\xa0\x7c\xef\x69\x12\x48\x36\x7a\x00\x75\x90\x66\x56\x4b\x0f\x6f\xaa\x21\x59\x13\xb9\xc2\x94\x92\xef\x17\x1f\x97\xbf\xdb\x80\xf9\x53\xbf\x8f\x3c\x37\x27\xcd\x74\x86\x16\x11\x08\x31\xe4\xba\x7a\x26\x81\xb9\x5b\xeb\x27\x61\x13\xfb\x7c\xa7\xad\x79\x8f\xa5\x06\xec\x17\xd5\x04\x0b\x54\x79\xcb\xc9\xd9\xd9\x14\xc8\x69\x50\x50\x32\x16\x4a\xe5\x09\xf3\x18\x88\xdd\x22\xc8\xd2\x74\x81\x75\x15\x56\xf0\x73\x99\xe2\x98\xa0\x47\x79\x3a\xa2\xbf\xf3\xca\x55\x10\x35\xb0\x9d\x2b\xf7\x4f\x96\x6f\x6e\xa0\xaa\x00\x87\x1d\xc8\x2b\x6f\x5b\xbb\xb7\x56\x4a\xa7\xae\x08\xc3\xb6\x47\xb5\xfa\x38\x43\x2a\x47\xd1\xfa\xae\xc4\xb9\xb0\x09\xab\x0f\x34\x0e\x05\x80\x3c\xa8\x7d\x93\xbe\x0a\x25\x7c\x05\x38\x0a\x50\x6f\x40\xd7\xb2\x1c\xdd\x6c\x6f\x5e\xf5\x49\x64\x8b\x3d\xb0\xb7\x7c\xf7\x55\xf5\x92\xc2\x1d\x73\x78\xd7\x00\xb1\x09\x04\x88\x77\x2a\xf9\x03\xf0\x8e\x24\xc1\x73\x20\x29\x65\x16\x4c\x15\x2f\x61\x66\x99\x95\x28\xfa\x9f\xcd\x95\x56\x2e\xe1\xcc\x7a\x63\x35\x64\x44\xbe\x04\x8d\xa6\xa9\xcd\x5f\x57\x80\x7a\x2c\x8d\xaa\x33\x45\x4c\x90\x23\xae\xd3\x18\xb2\xd8\x97\x36\x6e\x65\x72\xaa\x75\xd6\x26\x36\x38\xb0\xa4\x7c\xe9\x15\xe8\x87\x78\xb1\x20\xef\x3f\x4f\x34\x5c\x2b\xaa\x2b\xdf\x4b\x60\xa2\x09\xf9\xc7\x3f\x3a\x0f\xc1\x0d\x16\x80\x0e\x8d\x83\x94\x45\x27\xa0\xe7\xc9\x15\xdf\xf7\xd9\xd9\x31\xfa\x1a\x96\x9f\x99\x71\x40\x25\x19\x19\xb1\x72\xb0\xb9\x55\x6c\xda\xfa\xf1\x5a\xe9\xd4\x6d\x77\xf9\x82\x11\x05\xdd\xf3\xdc\x86\xa1\x2b\x39\xf5\x3b\x5f\x10\x90\xd8\x53\x6a\x81\xbf\xbc\x5e\xc0\xc5\x41\xb2\x4d\x09\xec\xf7\xbf\xef\x42\x67\x13\xbe\xb3\xc7\x10\x93\x45\xe3\x02\xad\xc8\xc4\x75\xe7\xbb\xa3\x8e\x4e\xc1\x75\x80\x1e\x25\xd3\x02\xdc\x5e\xf2\x78\xc1\x01\x19\x5e\x2c\xc0\x48\x40\x71\xea\xc5\x28\x96\x4c\x86\xb8\x85\xbe\xcf\x9c\x07\xae\x60\x4c\x61\xb8\x91\x7d\x1c\x36\x66\xda\x39\xd6\xf9\xfb\xdf\xe3\x29\xba\xd7\xc6\xaf\x8d\xe3\x66\x96\x6e\x0b\x69\xf1\x36\xd9\x11\x78\x17\x03\x4f\x98\xa4\xcf\x3e\xfb\x77\xe3\x9d\x29\xd4\x06\xb3\xbf\x53\x8c\xf6\xf7\xbf\x2f\x3d\x5b\x2b\x7d\x01\x6a\xfe\x65\x79\xef\xa2\x30\x3b\xf7\x7d\xe9\xcd\x15\xba\xa3\xde\x2b\x9d\x9a\xdf\xfa\xe9\xc6\xd6\x9b\xd5\xca\xf4\x6c\x69\x61\xba\xfc\x72\xcd\x7d\x8c\xba\xc4\xd6\xc6\x22\x5c\x02\xb6\xde\x2c\xc1\x41\x8e\xfa\xc3\x89\x35\xf7\xa7\xd9\xea\xf5\xf9\xca\xdc\x3d\xbc\x19\x2c\xfc\x54\xfa\xfa\x9c\xfb\x68\xa1\xf2\xed\x37\x30\x59\x7c\xfc\xc9\x58\xf0\xb0\xbb\xb9\x56\xbd\x7c\x0f\xde\xe5\xc1\x01\x04\x0c\xba\xe0\x57\xa4\x27\xe5\x31\x19\xee\x85\x53\xbf\xbc\xbe\xf6\xcb\xeb\xf9\x29\x72\xb9\x66\x61\xc6\xa2\x67\xa9\xcb\x8f\x82\x41\x83\x12\x70\xcb\xce\x30\xcb\x60\x97\x98\x23\x05\x3e\xbf\xbb\x33\x76\x31\x65\x7c\x88\x9b\x38\xaf\x12\xee\x40\x53\x65\x7e\x2e\xfc\xa8\xb1\xb5\x71\x16\xce\x1d\x7f\xb3\xa0\xf9\xe1\xe5\x6d\x77\xf6\xa5\x82\x96\xbd\x7b\x77\x0f\xf6\xec\xef\x3f\x84\x97\xe7\x83\xfb\x7a\x0f\x28\x50\xf1\xf1\xbd\x9b\xe5\x90\xcc\x82\x84\x60\x8d\xc1\x9e\x81\xfe\xa1\xde\xe1\xfe\xc1\x8f\x1b\xc5\xe0\x4b\x43\x15\xaa\x43\x78\xcb\xdf\xab\x00\x0b\x0b\xa1\x7a\xf9\x94\xe2\xd5\xbe\xde\xae\x21\x95\x2c\x9c\xbf\xed\x9e\x56\xa8\x3b\xe8\x45\xf7\x42\x86\x14\xaf\x07\x11\x42\xf1\x20\x8c\x77\xac\x4e\x38\x0b\xc7\x0b\x85\x9c\xb3\x67\xf7\x6e\x33\x97\xee\x14\x97\x84\x4e\x58\x28\xaa\x2d\x12\x60\x80\x25\x07\x8a\xaa\x7b\xe7\x84\x0a\x84\x7a\x25\x4a\x54\xec\x49\x80\xe7\x72\x02\x30\x14\x79\x35\xd0\xdb\x23\xfe\xfe\x4c\x65\x32\x0b\xc1\xad\x7b\xa7\x09\x3c\xc6\x3b\xf8\xfb\x24\x8b\x5d\xef\x67\x21\x85\x3f\xfb\x2c\x09\x1b\xeb\xc8\x00\xce\xd2\xef\x0b\xf3\x70\xcd\xf0\x7f\xf7\x61\x26\xe3\x2b\x52\xd2\x30\x37\xe2\x59\x31\xa0\x5a\xb9\xb2\x17\x5f\xf9\xb2\x6f\x1d\x53\x41\x09\x3f\xa3\x04\x83\x37\x06\x0d\x04\xfa\x39\xfa\x65\x38\x64\x1d\x87\xf4\x71\x29\x6a\x2c\x07\x5a\x75\x7a\xa4\x98\x31\xf3\x70\xfd\xb6\x8f\x59\xaa\x68\x18\x36\x3b\xba\xf3\x5f\xa2\xe5\xf1\xd1\x8d\xf2\xe9\x2f\xcb\xcf\x5e\x95\x9f\x7f\xbf\xf5\xe3\x49\x8e\x02\xa3\x7b\xde\x45\x0c\x93\x7b\xf0\x55\x2c\x01\x9e\x19\x11\xcd\xa3\x75\x74\x78\x3f\xda\xa3\xa3\x16\xc6\xd6\x6a\x29\x62\xa3\x28\x9a\x76\xe7\x16\xaa\xd7\x67\xcb\x57\x1e\x21\x45\x1c\xa9\x79\x7a\xa9\x4c\x17\xa9\x58\xba\xd0\x9a\x80\x56\x0c\x11\x3b\x0c\x14\x8c\x14\xd1\x40\x67\x50\x84\xab\x43\xd7\x2c\x58\x22\x70\x28\xe7\xb3\x14\xdf\xa8\x52\xa1\x4a\x0f\xbf\x45\x65\xfd\xd5\xed\xda\xe7\x8d\x0a\x5c\x96\xe6\xbf\x2c\x2f\x81\xb6\x79\xc1\xbd\xf6\x12\x0f\x89\x47\x0b\xee\xec\x5a\x79\xf3\x56\xf9\xf9\x17\x8a\xfb\x4f\x40\x99\x88\xc3\xad\xa1\x0c\x09\x0b\xe1\x89\x25\x2b\xf4\x74\x88\x28\x38\xcb\x2b\x0f\x1f\x97\x16\xbe\x46\x63\xb3\x44\x9a\x82\xb2\x14\x28\x2e\x14\x1b\x26\xdd\x18\x48\xd7\x56\x1d\x9d\x7c\xda\x34\x72\xcc\x10\x0a\xb4\xbc\xe6\xbd\xb8\x4e\x34\x6d\xe5\x72\x5a\x04\xf2\x5e\x14\x86\x4f\x83\xed\x24\x4a\x2c\x34\xf3\x84\x02\xb8\x03\xcf\x03\x63\x10\x57\x6d\x7c\x2d\x0c\xd2\xce\x8f\xe1\x77\xfd\xf9\x31\xf1\xdd\x6e\x8e\xdd\xc3\x2f\x87\xf0\x83\xf8\x9a\xa7\xe5\xa0\xcf\xe8\xce\x4e\x95\x92\x19\x9a\x99\x83\xb5\x33\x23\xae\xf0\x14\x2a\x17\x42\xbc\x9b\xa3\xfa\x6a\xf1\xe2\xe5\x41\x15\x92\x6b\xf8\xd6\x25\x7f\x98\x48\x56\x34\x53\x32\x69\x18\x42\x38\x62\xd8\xbb\xd8\x88\xf9\x3e\x6a\x21\xdb\x84\xd2\xc9\x61\xb6\xb0\x1e\xd8\xd2\xd8\xfd\xa1\xa7\x6f\xed\x36\x11\x52\xa7\x61\x0c\x5a\xb4\xd5\x11\x40\x0d\x58\x4f\x33\x8b\x01\x8f\xcc\x4f\x59\x79\x9c\x19\x00\x45\xd7\x66\x36\x44\xe2\x03\xec\x74\x13\x7a\xb3\x92\xd5\x0b\xd3\xac\x4f\xd6\x5c\x4f\xf1\xb2\x07\xdf\x90\xf6\x51\x1b\xbd\x88\xb7\xa1\x53\xd7\xca\xe7\xae\xe1\x98\x58\xbd\xdb\xcd\x4f\x62\xdc\xfc\xdc\x12\x4e\xd0\x99\x37\xf0\xa7\x1e\x78\x1d\x58\x82\x84\x06\xf9\x85\xa5\xca\xe7\x6f\xdc\xf3\xd7\x50\x21\x9e\x7d\x51\xa3\x22\x2b\x6f\x1d\xd1\xf3\x83\x33\x10\xe2\x3b\x72\x4d\xf0\xb3\xcd\xd7\x9b\x79\x35\xb4\xc1\x9c\x7c\x0c\xb7\x87\x11\xb2\xfc\x16\xf2\x78\x21\x11\xcc\x44\xc6\xab\xde\x22\x1e\xc3\x34\x65\xa5\xeb\x06\xe0\x15\x8f\xcb\x93\x94\xce\x4e\xc2\x69\xa2\x99\x70\x20\xe0\x23\xfb\xb8\x35\x89\x5e\x11\xbc\xc7\x08\x23\xf4\x68\x3a\x0f\x97\xf7\xd1\x22\xdf\x91\x00\x18\x46\xf6\x13\x4e\x23\x3d\x91\x43\x65\x1d\x8e\x8b\x10\xad\xf8\x13\xdd\xe4\xf0\x8f\x7a\x8a\x99\x36\xe5\x05\x5c\x39\xed\xf2\xa5\xa3\x1e\x2a\xcf\x6b\xed\x8a\xc0\x7b\x0f\x99\x6e\xdd\x8b\x17\x2a\xdf\xdd\xa9\xdc\xfd\x16\x35\xeb\xfa\x4b\x4c\x1d\x3c\x58\x0a\xe5\x2f\x5e\xb8\x9b\x8b\xfc\x70\xe9\x61\x48\x1f\x0f\x16\xca\x99\xd7\xee\xf2\xfd\xe8\xd5\x04\xe8\xe1\xfa\x5e\x9d\x39\x85\x4f\x9f\x58\x63\x4b\xb0\x3b\x3b\xef\xce\xce\xa2\x8c\xbf\xfa\x10\xa8\x91\x09\x2a\x2f\x6f\x96\x56\x17\x22\x86\x56\x73\x31\x73\xdf\x7c\x5f\xbd\xf6\x93\x66\x29\x4a\x41\xe8\x64\xcb\x17\xa7\x37\x5f\xee\xf9\xa2\x6d\xd2\xc9\x9f\xf6\x63\x2d\xe1\x1d\x10\xa5\x2a\x9b\x0c\xde\xba\x97\x1f\x73\xbc\x24\xec\x2b\xa0\x92\x25\xa0\x38\xc6\xbd\x10\x74\xfe\x89\x95\x8f\xd6\xd1\x46\xeb\x59\x1d\xef\x2c\xd3\xc6\xf9\x11\x3b\x49\x5b\x3a\xdb\x30\xe7\x30\xab\xe7\xd9\xf9\xb7\xc5\xbc\x3a\x02\xe3\xd9\x27\x13\xb8\x5d\x0e\xda\xc7\x8d\xa1\xa1\x8f\xc4\x14\x0a\xfc\x96\x36\x9c\x5e\x18\xd7\xe9\xf4\x44\xc1\x8c\xaf\xc7\xa9\x87\x68\xa1\x4a\x59\x19\xab\x60\x51\x94\xb0\xc8\x1f\x21\x8d\x41\x35\x11\x68\xb0\x5a\xfd\x7c\x6b\x7d\x7a\xeb\xcd\x73\x77\xfe\x1e\x6c\x3a\x0e\xfc\xad\xc9\x1f\x51\x20\x64\x45\x63\xa2\x08\x82\xf0\xa8\x25\xe2\xf0\x2d\xf4\x4a\xc3\x08\xbd\xbf\x45\x02\x94\x6e\xa8\x64\x81\x41\x09\x10\x8e\xbf\x67\x76\x83\x94\x70\xbf\x5c\xaa\xfd\x49\x93\x2b\x80\xf9\x46\x09\xee\x3f\x2a\x4d\x16\xde\xf6\xb3\xb4\x28\x76\x3b\x01\x2c\x4e\xb5\xaa\x5e\x3a\xed\xce\xbf\x50\x83\x25\xc5\x22\xcd\xbe\x0b\xe1\x16\x1c\x4d\x5b\x19\x95\x29\x39\x84\x80\x6e\x08\x28\xed\x7f\x9a\x45\xe7\xd5\x83\x2f\xb6\xde\xa8\x2c\x10\xb5\xea\x60\xd8\x79\xa2\x54\x3a\x94\xea\x18\x9a\x78\xf5\xb6\xc5\x3a\x94\x34\xc8\xe3\x76\xfe\x18\x45\x12\x1c\x4b\xe7\x72\x81\xea\x4a\xf1\x19\x88\xb4\x51\x3a\xd0\xa3\xb3\x3e\x8d\xf9\x3c\x2f\x6f\x6f\xbd\x59\xf5\x4f\x9c\xca\xcb\x67\x70\x98\x70\xe6\x9b\x76\xb5\x46\x51\x29\xc4\x03\x07\xd4\x83\x36\x80\x7a\x2a\x8b\x0f\x7e\xa8\x71\x76\x81\xe4\xe0\xa8\xf9\xca\xdc\xb3\x3a\x70\x3a\x16\x5a\x40\x01\xde\xf5\x71\x71\x60\x60\x45\x2a\x6d\x8e\x65\x6d\xd0\x16\x46\x1c\xf6\x86\x67\xec\x31\xf2\x13\xab\xb6\xd1\x93\x39\x7a\x1f\xd7\xc7\xf7\x27\x2a\x6b\x1b\xa5\x95\x97\xd5\x4b\x5f\xb8\x5f\x51\xba\xd7\x85\xdb\x95\x7b\x8b\xa5\x7b\x8a\x44\x96\xae\x20\x95\xc0\x18\xb7\xcc\x0c\x3a\xe9\xc7\xad\x91\x63\x46\x61\x2a\x67\x09\x23\x54\x1b\xba\x22\x39\x81\x25\x6b\x67\xad\x36\x95\xd9\x44\x66\x4d\x69\xfa\x2e\x68\x03\xa5\x7b\x37\x4b\xd7\x6e\x57\x6f\x5c\x75\xaf\x9e\x0c\x2c\x52\x02\x1e\xe5\xa0\x10\x40\xb5\xcd\x44\xa2\xce\xdf\x9b\x69\xd0\xb9\x3e\x4d\xbc\x37\xcb\x3f\xdc\x74\x5f\x2b\x5c\x6e\x00\xde\x51\x99\xb8\x64\x48\x6a\x23\x17\x67\x8c\x99\xec\x1f\x15\xf7\x3f\xcd\xd9\xf2\x64\x8e\x3d\xa6\x9c\xa0\x55\x7e\x7e\x47\x97\x63\xe4\x03\xe7\x0b\x1c\xa3\x48\x59\xa3\xe9\x2c\xc7\xc3\xd0\xd2\xd0\x8a\x57\x10\x9d\x24\x2e\x19\x29\xa6\x7d\x6c\x7e\x17\xa0\xd6\x49\xd2\x30\x6a\x4c\x2c\x63\x74\x78\x33\x8f\xc3\xc6\x79\x67\x3e\x1e\xbe\x28\x54\xa6\x67\xf5\xa8\xf8\x44\x49\x8c\x89\xf8\xd6\x0c\x26\x90\xbd\x87\x30\xd0\x4d\x35\xed\x0c\x0c\xd3\x07\x5f\xeb\xc0\xb0\x58\xcb\xd0\xbd\x7a\x10\xfe\xe5\x1b\x39\x12\x6d\xd4\x65\xe8\x05\xd7\x72\x4e\x89\x83\x3b\x32\x7c\x1b\x77\xe3\x86\x51\xf2\xf8\x24\x14\x35\xeb\xa6\x16\x24\xab\xfc\x3e\x1b\xea\x28\x51\xdf\xa6\x13\x8c\x89\x11\x69\x87\x24\xd9\x1a\xf8\x6b\xba\xf9\xfb\xd6\x86\x3a\x5a\x12\x18\x1c\xc2\x9c\x64\x9b\x03\x5e\x1f\xa4\x0c\x47\x89\x5c\x25\x67\x76\x1b\x81\x39\x22\x4c\x5a\x04\xcf\xe4\x91\xee\x34\xcb\x7e\x75\xce\x6c\x7f\xfc\x35\x06\x3f\x00\xe0\x7d\x73\x84\xbe\x61\x9e\xf8\x2b\xc3\x11\x8c\x0f\xf8\x01\xff\x98\xd9\xf4\xdf\x69\x98\x3e\x4b\x8a\x8d\x9a\xa6\xea\x8c\x86\xb0\x81\x42\x06\xcc\x28\xc2\x22\x36\x54\x0d\x35\xcc\x9f\x60\xf5\x08\xf2\x93\xf0\x45\x12\xdb\xf0\xe2\x7f\xe0\x07\xa1\x2a\xc8\xfc\xd8\x09\xab\x5c\x8d\xe4\xaf\x45\x5f\x73\x06\xd4\x50\xa1\x1e\x5a\xa1\x80\x61\x25\x64\xd1\x80\xfb\x86\x7d\x3c\x9b\xb1\xcd\x14\xfb\x91\xa7\x38\x90\x8d\x82\x1b\xc8\x69\x99\xb5\x0a\x18\x01\x84\x89\xac\xb1\x92\x8e\x4c\x11\xee\xe6\xd5\xf2\x8b\xa7\xd5\xcb\x57\xe0\xbf\xa0\xcd\x81\x9a\xeb\x7e\x33\xbd\xb5\x7e\xb2\xf2\x7a\x41\xf6\xdd\x26\xa4\x6e\x22\x3d\x96\x37\xd9\x5e\x2a\xf4\xb0\x5e\xa1\x3f\xec\x0d\x52\xd5\xe3\x19\xcc\xa4\x95\xef\xbe\xaa\xbc\x59\x48\x02\x4b\x49\x99\xf0\xbf\x53\x48\x24\x5c\x59\xc9\xe2\x34\x00\x1f\x98\xe5\x7f\xc1\x1b\xac\x77\x7b\xfd\x4b\xad\xee\xf8\x17\x2f\x70\x62\x34\x6f\x79\x51\x91\xbe\x36\xf4\x97\x7a\xaa\xbc\xb7\xa4\x52\x13\xa6\xa8\x4c\x61\x74\x63\x82\xc0\x88\x70\xd7\x9b\xa9\x09\x50\x26\x1c\x18\x79\x01\x94\xbb\xf4\x28\x59\xb9\xe0\x7e\x9c\x3d\xc6\xb7\x64\x2a\x15\xc2\x19\xc8\x4a\x36\x79\x2e\x79\xbe\x16\x93\xb1\x26\x44\x7c\x1b\x5a\x75\xf9\x92\x2c\x2c\x39\xa6\x64\xa2\xa2\x60\x8e\xd9\xa5\xca\xd3\x57\xf0\x14\x96\xb1\x20\x9d\x4d\x86\x12\x1e\x14\x68\x8d\xab\x9f\xbb\x4f\x4e\x55\xe6\x7e\x08\x4a\x5f\xdc\x39\x51\xba\xba\x8a\xee\xf8\x7b\x4b\x70\x43\x84\x1b\x3b\x00\xe5\x5c\x65\xbc\x24\xc0\xdd\x60\xe6\x71\xf9\xf9\x0d\x2e\x32\xc2\x8e\x21\x10\x74\x6a\x85\xbc\x88\xd6\xc3\x02\xaa\x9d\x16\x4b\x72\xd0\x51\x3b\x3c\x47\x7c\x7a\xd2\xca\xa8\xfc\x07\x98\x42\xfb\xcd\x55\xf6\xb5\xc3\x88\x41\x71\xac\x9e\x39\xe3\xce\xdf\x8e\xd3\x4b\x02\x84\x18\xff\x14\xb3\x22\x19\xa4\x7a\xad\x49\xc0\x50\xa5\x07\x89\x62\x7d\x9a\xc3\x2b\x27\x56\x7b\xe1\xc8\x2a\xbc\x4e\x1c\x35\x41\xc7\x4f\x93\x12\x99\xb7\x3a\x4c\x69\xcc\x9d\x5e\x41\x1f\x4a\xba\xff\x8b\x9c\x50\x7e\xb8\xf8\xee\xbb\x7f\x18\xf1\x9c\x98\xf4\x97\x65\x74\x14\xc5\xf7\xc8\x2b\xef\x3b\x5b\x7c\x07\xc2\xd4\xfb\xca\x11\x5f\x91\xe0\xe3\x2f\xff\x82\xe8\x65\x6a\xd0\x8e\x5a\x4b\x8e\xca\x87\x4f\x7c\xc0\x3b\xd7\xcc\xa9\xd2\xea\x35\x8e\xff\x61\x7b\x77\xf9\xd2\x2b\x77\xf6\x36\x25\x34\xe3\x9f\xfc\xa4\x08\xec\xd4\x26\xcc\xb7\x7a\x7c\x6d\x86\x4c\x10\x87\xa7\xd7\xd0\xa4\x9e\x45\x3b\x2f\x0e\x21\x12\x0c\xb0\x0c\x53\xe9\x94\x88\x95\xe3\x68\x7e\x8e\x09\xb1\x31\x5a\x24\x3d\x81\xa9\x3f\x29\x95\x52\xcb\x63\x85\x3b\x74\xe9\xc1\x0d\xb8\x98\x6d\xbd\xfa\xb6\x7c\xf3\x35\x19\x74\xd9\xd0\x45\x4e\x82\x27\xa7\xdc\xd3\x67\x4a\xa7\xe6\x4b\x0f\xbe\xda\x7a\xbd\x81\xdb\xf9\x92\x22\x60\xf2\x83\xde\xbe\xbe\xde\x03\xfb\x8c\xfd\x5d\x07\xba\xf6\xf5\x0c\xaa\xb4\xf4\xf5\x67\xee\xca\x23\xde\x6f\xee\xd7\x37\x14\xa0\x0e\xf6\xf6\xed\x1d\xe8\xea\xfe\x93\x32\xe4\x02\x6e\xf7\x6f\x1e\xb9\xb7\x2f\x6c\xbd\x52\x18\x58\x7c\x10\x3a\xbf\x73\xcd\x43\xd1\x80\xd2\x18\xd3\x5d\xab\xce\x24\xb9\x65\xc9\x6a\x86\x6f\x02\xd0\xdd\xaf\x94\xa8\xd0\x38\xe8\xc5\x06\xd6\xba\x78\x45\xd5\x18\x07\xad\x47\x18\x35\x2f\x3c\xc1\x72\x31\x80\x06\x49\xac\xdc\x99\xe1\xe0\x56\x76\xf7\xd6\x38\x26\xe5\x57\x38\xe8\x70\xe7\x06\xe3\x39\x8f\x5b\x31\x18\xd9\x4d\xbc\xdd\x21\xd5\x14\x6f\xe2\x0b\xfe\x47\xc3\xc3\x03\x6c\xd3\x52\x93\x28\x57\x62\x0a\xac\x42\xf4\xa6\xce\x54\xa5\x47\xac\xf6\x2c\xab\x30\xc6\xc7\x7d\x20\x46\xe4\xfc\x51\xab\x70\xdc\xb2\x28\x22\x2f\x7c\xe4\x92\x50\x0e\xdb\x15\x85\x20\x22\xb3\xa2\x82\xa0\x7a\x30\x18\x95\x16\x36\x2f\xfe\x78\x92\x4d\xdc\x4c\xad\x6f\x6d\xd4\xd3\x59\xef\x06\xaf\x63\x96\x4a\x79\x68\xdc\x3f\xde\xaa\x7b\x19\xde\xe5\xc3\x8e\x6d\x11\xfb\x8e\x72\xa2\x11\xdf\x39\xea\x52\xd2\x3c\x2b\x87\xaa\xd4\x0f\x3c\x36\x26\xbb\xb4\xa5\xac\x51\xb3\x98\x29\x38\x61\x81\xd3\x48\x44\x47\x92\x4b\x98\xbf\x5a\x95\x37\x39\x12\x4f\xb8\x52\xae\x9f\xc6\xb4\x2f\x95\x69\xa6\xb1\xc1\xf9\x32\xa7\x15\x11\x2a\x0d\x8d\x53\x96\x50\x71\x23\xe1\xb5\xad\x5c\xd2\x2d\x09\x03\x69\xe1\x32\x17\xd7\x00\x25\xbd\x01\x0f\x1a\x5d\xf6\x2a\xbb\x7b\x82\xa5\x5e\xcb\xc3\x56\xf2\xae\x25\x97\xf5\x3a\xae\xfd\x7a\xdc\x92\x25\x6b\xed\x8b\x31\x1b\x3d\x78\x37\xe4\x07\x49\x80\xbb\x98\xce\xa4\x72\x78\x07\x80\xc7\xfd\x3f\x3c\x36\x87\x42\xe1\x13\xa8\x89\x51\x40\xfc\x30\xf9\x26\x08\x48\xe6\x46\x8b\xa3\x20\xde\x99\xf6\xc1\x54\x01\xcd\x45\x26\x5c\x7c\x40\x74\x79\xbe\x55\x33\xeb\xa5\xe6\xb2\xbe\x6f\x62\x68\x09\xa9\x54\x13\x70\x99\x2b\xe6\x2d\x2a\x14\x95\x49\x1f\xb3\x8c\xfd\xed\xc6\xfe\x0f\xda\x8d\x7d\x94\xf9\xbb\xef\x03\xe5\x65\x60\xc9\x9d\xfd\x1c\x15\xa0\xf3\xeb\xd5\xb9\x65\xf6\xc1\xd2\x35\xfc\x25\x66\x81\x6e\xdc\xc1\x2f\x57\x1e\xc1\x63\xbf\xbc\x9e\x47\x77\xcd\xfe\x9f\xa7\x67\xf6\x7f\x00\xff\xd9\x47\x2e\x9b\x7d\x1f\xfc\xf2\x1a\x93\x41\x38\x11\x37\x7a\x28\x5e\xda\x98\x99\x4a\x75\x70\x74\x4b\x07\xe5\x0f\x61\xc0\x37\xff\x02\xeb\x44\x41\x5f\xb2\x77\xf5\x68\xd1\xef\x2e\x8a\xe2\x39\xce\xb8\x41\xe5\xbe\x74\xd7\x83\x04\x2f\xea\x11\xe6\xd2\xc6\x27\x40\x96\x2a\x7f\xb2\xfe\xb9\x18\x70\x39\x23\x26\x90\x36\xf2\x51\x3d\x50\xb8\x53\x1a\x07\x87\x7a\x06\xe9\xaf\x81\xae\xa1\xa1\xff\xec\x1f\xdc\x8b\x77\xe2\x38\x14\xea\x17\xe3\x11\xa2\xa4\xfb\x3f\x52\xd8\xb9\x71\x78\xd7\xe1\xc3\x87\x77\xe5\x4c\xc7\x39\x6e\xe7\x53\xf8\xf9\xf0\x2e\xe3\x1d\xcb\x19\x31\x73\x6c\x2c\x85\xcd\x96\x1e\xe5\x9b\x01\x06\x87\x89\x07\x55\x3e\xc7\xc6\x91\xf1\xaa\x2e\x5d\x5d\x45\xa1\xf5\xf8\x4b\xb8\x09\x83\xc8\x14\x09\x1f\xaf\xcf\x57\x2e\x5d\x13\x46\xa3\x97\xcf\xdc\xb9\x0d\xef\x1b\x85\x7f\x32\x0e\xfb\xc4\x94\x3f\x00\x1c\x25\xa6\xcc\x88\x21\x52\x8c\xb3\xf8\xc9\xf1\x76\x36\x2d\xbc\x66\x47\x1a\xc2\x15\x0c\x92\x46\x48\xa5\x19\x16\xe0\xc0\x28\x5d\x7f\xcd\xc3\x0b\x0f\x38\x66\x78\x54\xe0\x85\x14\x6f\xbf\xba\xc2\xde\xfe\xfd\x5d\xbd\x11\x75\x15\x3e\xe9\xe8\x18\xb7\x9d\x02\x45\x3c\x7c\xd4\x3f\x34\x8c\xef\x63\x61\x3d\x2c\xb7\x30\x08\x9f\x87\x7b\x06\x87\x8e\x74\x0d\x1d\xc1\x9c\x5a\xd5\x6e\x49\x42\x8c\x28\xa1\xec\xe9\x58\xa2\xd0\xef\x50\x4f\xf7\xc1\xc1\xde\xe1\x8f\x8f\xec\x1b\xec\x3f\x38\x10\xc3\xc8\x06\x00\xc5\x13\xa4\x7d\xdf\xe8\x1f\xdc\xc7\xb2\x24\x09\x49\x49\x41\x25\x21\x2a\xae\x26\x4f\x63\x13\xd3\x22\xe0\x09\x08\x17\x35\x9d\xb7\x3d\xbd\xc9\x00\xe9\x09\xf2\x0e\x72\x95\xee\x11\xf1\xa0\x16\x20\xc5\x57\xf0\x76\xa2\x2d\xe2\xed\x25\xd8\x3a\x54\x00\x01\xeb\x92\xc4\xcd\x40\x32\x18\x7a\x32\xa8\x1c\x10\xbe\x61\x3a\x53\xd9\x91\x0e\x34\x22\x02\x3c\x63\xb8\x77\x7f\x4f\xff\xc1\x61\x98\xc6\x23\xfb\x7b\x0f\x1c\x1c\xee\x19\xa2\xc2\x98\x40\x08\x4c\xf6\x3b\x85\x7c\xd1\x32\xfe\xdb\x18\x35\x33\x0e\xfe\x8b\xc8\x76\x17\xec\xdd\xe8\xfc\xf9\x1d\x3d\x37\x62\x67\x40\xb4\x85\x9e\xe3\x1f\xa8\x10\x09\x40\xe8\xeb\xef\xee\xea\xeb\x81\xdf\xba\xfb\x7a\xba\x06\x7f\x17\x3b\xd2\xdf\x0a\x99\x7a\x66\x72\xed\x19\x38\x8d\x3b\x26\xcc\x6c\x7a\x14\xc3\x78\xfc\x8d\xf1\x49\x47\xce\xd8\xed\x91\xc0\x46\x62\x7c\x90\x0a\xef\x90\x9d\xd8\x7f\xa7\x73\x6a\x22\xa3\x2c\xc2\xb0\x33\xb8\x92\x0c\xcb\x5f\xd9\x86\x6f\x47\xa5\x15\x66\x50\xfa\x5e\x6f\x3f\xad\x3b\x8e\x79\xff\xef\x8e\x8e\x54\xda\xc1\x4f\x09\x87\xd1\x24\xec\x24\x64\xa7\xec\x09\x13\x54\x08\x94\x98\xbc\x3d\x92\x51\x54\xff\x5a\x12\x64\x78\x6b\x84\x57\x92\xa1\xf0\x1e\x4e\x02\x58\x7f\x1c\x78\x45\x8c\x50\xb2\x1e\x19\x3c\xd8\xd7\x33\x44\xf5\x8c\x92\x91\xd1\x1c\xe8\x64\x44\x27\x29\xc2\xa4\x38\x20\xe0\x7b\xd8\xdf\x5d\xfb\x86\x12\x2e\xa1\x56\x21\x6b\x60\x60\xe4\xa2\xea\x28\xd8\xc7\xac\xac\xd1\xd7\xf5\x41\x4f\x9f\x31\x30\xd8\x7f\xa8\x77\x6f\xcf\xa0\x31\xdc\xff\xa7\x9e\x84\x2b\x2d\x29\xb0\x46\x08\xe3\x14\x39\x7f\xf8\x1f\x0c\x02\x84\xc1\x7a\xf5\x9d\xb2\x8e\x60\x67\x89\xbb\xce\x88\x9d\xb3\x52\x8d\xb1\x7b\x7b\x98\x1a\x19\xd2\x31\x6b\xaa\x7e\x3a\xbd\x2f\xfe\xd4\xf3\xb1\x6a\x6a\xd5\xd5\xf2\x76\xa6\xf0\x70\xa3\x64\xff\x66\x2b\xff\xed\x64\xdd\xd0\x26\x98\xb4\xad\xb2\x7f\xdb\xa8\x1f\xba\x23\xcb\xb1\xf5\x15\x8d\xdf\xde\xf2\xdb\xa1\x8a\x80\xad\xaf\x48\xda\x9a\x45\xd6\x40\x35\xc0\xe6\x2b\x93\xd6\x92\x3c\x6e\xe6\xad\x94\xa7\x83\x04\x5a\x3d\xa9\xfa\x79\x71\x50\xc3\xf1\x0c\x2b\x8b\x8f\xe9\xa4\x42\xbb\x71\xb8\x89\xc8\x25\xc3\x78\x50\x4e\x1f\xeb\xe8\xc3\x87\xbf\xf1\x57\x1d\xff\x71\xb0\x7f\xb8\x2b\x29\x85\x89\x40\x25\x21\x8a\x82\x76\xea\xce\xa1\x64\x54\x28\xde\x4d\x8a\xb6\xc3\xab\x77\x57\xab\x94\xc8\x7a\x48\xce\xe8\x1e\xec\xd9\xdb\x73\x60\xb8\xb7\xab\x8f\x6e\x2d\x19\x63\xe8\xe3\xa1\xbe\xfe\x7d\x47\xf6\x0e\xc2\xb4\x1c\x41\x03\x21\x7c\x9b\xe7\xf9\xf0\x2a\xed\xd3\xd7\x62\x65\x0e\x98\x8e\x68\x9b\x03\xc2\x1e\x85\x33\xd5\xa0\x83\x09\xe6\xe2\x2d\x81\xbc\x26\x43\x91\x23\xa7\xa4\x06\x71\x4c\xc6\x84\x9d\x12\x25\xe7\x9a\x1b\x09\x0c\x04\xab\x5c\x02\x15\xed\x01\x19\xed\x01\xf2\x76\xc6\x7e\x78\x57\x88\xea\x08\x2a\x29\x7d\x9d\xf6\x18\x10\xca\x34\x48\x4e\xf0\xba\xf0\xab\x6d\xd2\x8c\x42\x0f\x24\xc2\x7b\x81\x84\x7b\x8f\xa4\x1e\x7c\xf7\x7e\xf0\xdd\xfb\xd2\xa9\x3b\x44\x07\xe9\x14\xd5\x00\x90\x4f\x36\xf9\xd0\x45\xf2\xb7\x49\x98\x2c\x82\x92\xaf\xd6\xb7\xb4\xe4\xdc\x13\xcf\xaa\x33\x57\x1b\x59\x74\x5b\x9b\x5f\x72\xda\xb0\x88\x88\x5b\xbb\xc1\xa9\x14\x6f\x71\xc5\xa1\xdf\xfd\xde\x52\xe5\xe1\x02\x1f\x31\x3c\x06\xac\x37\x87\xb3\x25\x9a\x5e\x84\x23\xf6\xe4\x3e\x5a\xdb\xa6\xb5\xf1\x95\x56\x5a\x9c\xc3\x1a\x16\x74\x74\x8a\x53\xc7\x3b\x28\xfd\x93\x71\xdb\x64\x85\xd6\x99\x5e\xb2\x61\x6d\x03\xba\x8d\x7f\xd2\x91\x9e\xc4\x15\xf2\x5f\x06\x68\x35\x1f\xf5\xef\xc5\xcf\x1f\x19\x1f\xf5\x74\xc1\x2d\x05\x3f\xa7\x8c\xbd\x5d\x20\x9f\xf1\x48\x81\x13\x25\x57\x2c\x18\x08\xdd\x5b\x3c\x1f\x4c\x79\xa1\x04\x41\x49\x41\x84\xdd\xc6\x31\xaa\x70\x76\x8e\xda\xf9\x09\xd8\x55\xfb\x7a\x86\x3d\x9d\x53\x68\xaf\xb0\xc6\x90\x80\x4e\xa3\x77\x94\xea\x94\x11\x3c\x4c\xe8\xf6\x0a\x8b\x4e\xa6\x4d\xa3\x23\x85\x25\x70\x07\xd0\x10\xe6\xf5\x58\x11\x30\xc9\x8b\xe0\x14\xe0\x2c\x6e\xf7\x32\xc3\x29\x06\x16\xbb\xc4\x0d\x4f\xe5\xb8\x9a\xa8\xf7\x8e\x63\x15\x84\x53\xd8\x0b\x42\xda\x8d\x35\x3a\x3b\x29\x0f\x7d\xc2\x9c\x32\xec\x49\x2b\x9f\x47\xa5\x7b\x1c\x00\xa2\xdc\x22\xc3\x3d\x30\x42\x80\x26\x68\x5e\x1a\x17\xac\xc8\x71\x3b\x25\x1e\xf9\xaf\x4e\xc1\x8a\x0f\x41\x51\xc6\x64\xad\x94\x3d\x52\x44\xd7\x1d\xa1\x81\x25\xcc\xa1\x99\x93\x69\x27\x5d\xa0\x92\x3d\x5c\xb1\x07\x9e\x72\x3a\x47\xb0\x96\xd3\x28\x97\x72\xc2\xf0\x74\x95\x0b\xb2\xd5\xb3\xb6\xb5\xf9\x0d\x07\x5c\xc0\x4e\xa9\x99\x36\xf2\x59\x7f\x8e\x8a\x18\x2d\x58\xd4\x91\x08\x21\x47\x6a\xe0\x34\xfa\x81\xb9\xd5\xe9\xe5\xea\xcc\x29\x98\x22\x51\x42\x94\x8b\xc8\xf9\x65\x39\x09\x50\xe9\xdc\x8f\xb0\x2b\xc5\xcb\x38\x8d\x5c\x0b\x74\x6b\xfd\x5c\xfd\x64\xf1\x1b\x9c\x0d\x5a\x37\x55\x7e\x86\x3b\x26\x9f\x21\x81\x73\xa5\xb5\x4b\xd5\xeb\x0f\x41\xef\x2c\x2d\x5f\xc1\x37\x3a\x3e\xe2\x38\x4c\xf8\x89\xc0\x71\xd2\x1c\x06\x28\x3f\x3b\x2f\x3d\xf5\x5f\x41\x21\x50\x18\x46\x75\x75\x9a\x26\xad\xb4\x32\x07\x2a\x20\x7b\x50\xaa\xd3\xd7\x2b\x6b\xf7\xe2\xe6\x4a\xe9\xed\xf5\xf8\x29\xd2\x76\x25\x03\xde\xa8\xd1\x91\x8f\xd3\x99\x54\x6f\x25\x40\x15\x69\x71\x83\xf7\x93\xa1\x54\xbf\x9d\x04\x75\xad\xfa\x99\x14\x69\xc4\x7b\x49\xd0\x09\x33\x5b\x03\x88\x42\x6f\x24\x43\x91\x1b\x37\xb3\x96\x70\x8f\x39\x0d\xa1\x8a\x78\x33\x09\x4a\xce\x28\x21\x7d\xb8\x01\x74\x75\x6f\x25\x41\xa5\x37\x10\x26\x47\x9e\x00\x4e\x32\x72\x94\x0a\x4e\x72\x4a\x74\x20\x1a\x20\x42\x63\xb4\x6b\x98\x9a\x38\x58\x8d\x90\x15\x6d\x95\x6b\x9c\x24\x0d\x9c\x46\xc8\x49\x60\x2c\x69\x94\xb2\x64\x20\x13\x11\x19\x7d\x29\x4e\x4c\x90\xf2\xf5\x44\xc8\x43\xf7\xdd\xc4\x38\x6b\xdf\x4a\x8c\x4a\x48\x00\xe9\x36\xdd\xe1\x1d\x1d\x8d\xe0\xd6\x82\x49\x42\x4c\xf8\x86\x9d\x1c\x7b\xc4\x7b\x7a\x74\xec\x2a\xea\x18\x05\xed\xb8\x98\x87\x7f\x33\xe6\x98\xf1\x61\x4f\xd7\xf0\xc1\xc1\x44\xb1\x40\xf1\xef\x27\x42\x8f\x61\x44\x09\x63\x79\x22\x5f\x89\x45\xd2\x6c\xac\x93\xfe\x5d\x2d\x5a\xb6\x25\x34\xcd\xd9\xd8\xd7\x93\x20\x6f\x80\xaf\x51\x6f\xc4\xa0\x98\x4c\x0e\x7b\x32\x29\xd0\x49\x50\x63\x9d\xc4\x70\x6b\x9e\xd6\x82\x6e\x76\x22\x9a\x9c\x01\xf9\xb5\xb8\xa0\x88\xf0\xb3\x7a\xb0\x69\xec\xbb\x1b\xa8\xb4\x14\xc3\x80\x57\x18\xc3\x93\xf2\x78\x31\x29\xd0\xff\x8b\x8e\xf3\x86\x31\x6c\x73\x8a\x09\xd7\x67\xc3\x3b\x63\x41\x00\xc2\x9a\x8d\x94\x32\xe1\x07\xae\xdb\x5c\xbf\x6d\x6f\xda\x1a\xb3\x29\xe5\xcc\xca\xc2\xad\x90\x7a\xb8\x7a\x34\xc0\x1a\x51\x15\x4e\x6c\x8a\x4c\xa9\xef\x3d\x5c\x35\x4e\xde\xc6\x8a\xc1\xf3\x17\x30\xb0\xec\xec\x22\x17\xc7\x70\x57\xd7\x04\x45\xee\xe6\x62\xf9\xfe\xe3\xad\xf5\xaf\xfc\x70\xf7\x9a\xec\x15\xb6\x03\xc8\xf1\x5b\x35\x84\x6b\xd9\x3b\x66\x15\x3a\xb8\xc2\x47\x07\x57\xf8\x48\xb8\x12\xd5\xef\x69\xd1\x61\xfd\x6d\xe3\x93\xee\xfe\xfd\xfb\xbb\x0e\xec\x8d\x13\xf1\x35\x0f\x6b\x01\x8b\xba\x6a\x22\x36\x54\x04\x6a\x74\xe0\x2c\xec\x1e\xee\xdf\x2d\x2a\x0b\xff\x37\x79\x1d\xff\xdb\x40\x8b\x96\x1f\x37\xca\xbf\xd1\xe7\xdf\xd1\x01\xe2\xd9\x25\xf3\xf6\x44\x4e\x24\x39\x90\xab\x2c\x3f\xc1\x9e\xb2\x62\x36\x83\x55\x9b\xda\x3a\x46\xdb\x64\x93\x43\xdc\xfd\xbb\xf5\x14\x56\x2f\xdd\xaa\x7e\x73\x95\xef\xcf\x44\x0e\xd6\x46\x3a\x7d\xc7\x5d\xa0\xcb\x33\xad\x31\xee\x70\x53\xbe\xb9\x51\xb9\xb7\x14\x7b\xe9\xc4\x2d\x23\x07\xd7\xc6\xed\xe2\xfa\xe7\xf5\xe0\x29\xa1\xf2\x1d\x6c\xa4\x62\x78\x99\x12\xb4\x43\xbd\x00\x45\x91\xf7\x99\xce\x1a\x21\xc3\xae\xd1\xd1\xe1\x5b\xb5\xd8\x30\x44\x33\x43\x13\x73\xd4\x2e\x8c\xc7\x85\x46\x12\xc8\x5f\x5e\xcf\x73\x43\x10\x3f\xed\x96\x6b\x28\xc1\x8e\xe3\x60\x48\xb6\xfb\xc9\x46\x3f\xce\xcf\x94\xb1\xa3\xe1\x80\xd8\x5a\x79\xbd\x0e\x3f\xb9\xb3\xdf\x01\x9c\xd8\x38\x49\x91\x48\x0a\x27\x8d\x6d\xbc\x53\x3b\x10\xe1\xac\x15\x7d\x9a\xec\xa3\x68\x38\x86\xbf\xed\xac\x45\x31\x4d\xf5\xbc\x49\x34\x5a\xc6\x06\x63\x0e\x53\x8e\xeb\x84\x1b\x2a\xa1\x15\x76\x79\xc5\xdd\xbc\xe0\xa7\x7f\x8a\xa0\xd7\x57\xb7\xc5\x92\x11\xc9\xa9\xc9\xc6\x56\xac\x0f\x3d\x25\xa3\xec\x8e\x04\xf5\x36\x8c\x73\x27\x62\x7b\x63\x88\xd8\x89\x10\xdf\x46\x50\xb6\x36\xd2\x57\x8b\x39\x67\xfe\xeb\xbf\x1e\xb7\x07\xf7\x1a\xef\x38\xc2\x21\x12\xbd\xb9\xb1\x4b\x4b\x7e\x8c\xac\x9b\xce\xb6\x86\xea\x21\x84\x31\xb2\x9d\x51\xb5\xa5\xb1\x2a\xd8\x09\x9c\x50\x6a\x94\x97\x68\x8c\x9f\x70\x83\x74\xcf\xf3\x51\xf4\xaf\x16\x7f\x26\x77\x89\xe7\xf9\xfb\xb3\xec\x8b\x74\x58\x43\xfe\x73\x82\xa0\xf9\x16\x21\x89\x1b\x88\x5d\x54\x25\x60\xd6\x3c\x14\x07\x28\xb1\x62\x1a\x7e\x56\x0b\x56\xd4\xe0\xf0\x2f\xee\x5e\x82\xa6\x63\x4c\xbe\xe7\xb9\x98\xf0\xa3\x6f\xec\xc0\xcf\x18\xbb\x35\xf9\x7e\xf0\xf3\xfb\xf4\x55\x02\x8e\xb7\x1a\x9b\x76\x68\x76\x60\xb1\x89\x21\x4b\x7e\x52\x0f\x32\x51\x00\x61\xa2\xc8\x41\x78\x88\xae\xcb\x4e\x32\x80\xd2\xb3\x5a\xb0\xb4\xc1\x55\x45\x0b\x6b\x1e\xd2\x03\xe2\xb6\x21\x71\x90\xc4\x53\x7a\x50\xc5\xfc\x58\xfd\x9c\xd7\xd9\x87\xe2\x50\x25\x84\xd2\x00\x29\x5e\x69\x78\x3f\x2a\x91\x36\xbc\x58\x7b\x71\xfa\x70\x43\xa0\xb4\x44\x49\x66\xdf\x18\x9c\xf2\x93\xf1\x20\xe3\x26\x4f\x3c\xa4\x05\xc4\x1d\x91\xa2\x93\xbc\x62\xc0\x6b\x5f\x8d\x41\x4a\x07\x96\x7f\x7f\x3b\xd0\xf3\x9f\x47\x12\x8a\x3e\xed\xab\x09\x90\x46\xf9\x4e\x02\x48\x89\xea\x58\x6c\x03\x60\x12\x02\x3d\xf7\x07\xbe\x1e\x2f\x3a\x14\x2f\x25\x41\xa4\x34\xc3\x23\x90\x06\x37\x6f\x53\x20\x1b\x20\x52\x61\x0a\x97\xc1\xf2\x57\x0d\xd1\x99\x1c\x6a\x22\x52\x25\xb3\x30\x81\x48\x90\x6c\xa4\x7d\x35\x06\x69\xce\xee\xf0\x7a\x3f\x7d\x22\xdf\x60\xe3\x04\x9b\xee\xcd\x18\x94\x98\xca\x63\x25\xd5\x52\xea\x1e\x8f\x07\x9e\x2f\x34\x04\x5c\x7e\x3c\x09\x70\xca\xd7\xf0\x4f\x16\x5f\x86\xf4\x1e\xd8\xdb\xf3\x5f\xc9\xf0\x69\x21\xe8\x49\x10\x49\x6e\x56\x76\x32\x9d\xb7\xb3\xa8\x98\x77\x4c\x9a\xf9\x34\x99\x45\xc9\x25\x17\x47\x41\x3c\x00\x2d\x01\x0e\xe5\xd4\x48\xde\xea\xc0\x58\x46\xd1\x48\xc7\x8c\xbd\xbd\x43\x7f\xc2\x4f\x13\xc6\xfe\x9e\xfd\xfd\x83\x1f\xff\x39\x89\x67\xa0\x69\xb0\x7a\x62\xb7\x91\x74\xb6\x8d\x3c\x33\x95\xfc\x8a\xc5\xa8\x78\x2d\x09\x32\xc9\xf1\x18\x77\xa0\x47\xbd\x91\x08\x45\x9c\xbb\x2e\x21\xde\x58\x30\x49\x89\x71\x9a\xe4\xb0\xe2\xdd\x18\xb4\x85\x0e\xd9\x43\x60\xf4\x1c\x38\x74\xe4\x50\xd7\x60\xf8\x8f\x43\x5d\x7d\x07\xe3\x89\x48\x0e\x29\x96\xa4\x48\x73\xae\x28\xcb\xfc\xdf\x5c\x92\x39\x01\x39\x49\xa0\xc4\x92\x82\xd7\x0f\x2a\xa0\xea\x7b\xf6\x50\x95\x18\xec\xe7\x20\xec\x04\x54\xc4\x00\x88\x25\x80\xd5\x5e\x7c\x87\x54\xdf\x84\x58\xa3\xde\x8a\x45\x15\x2f\x45\x93\x07\xe4\x27\xa0\xb1\xa5\xe8\x62\x07\x57\xef\x1c\xa6\x9f\x6a\xfd\xc4\x09\xe8\x4e\x0a\x29\x21\x49\xf5\x8b\x83\x75\x9d\x06\xd6\x58\x42\x40\xf1\x04\x89\x6c\xe4\xb7\xb4\x00\x5a\x8a\x4e\x3f\x38\x8c\x84\xe8\xc8\xe5\xd3\x93\xcd\xe4\x5d\xc6\xbd\xad\x47\x1d\xa8\xaf\x71\x68\xa4\x27\xe3\x41\xca\x0b\xf0\x08\xad\xba\x24\xaa\xa1\xf6\xd5\xa4\x48\x63\x8f\x62\xf9\xd1\x04\x40\x1d\x67\xbc\x83\x5c\xfd\x56\x2a\x79\x78\x80\xf6\xd5\x04\x48\x7d\x9b\x52\xf2\xb9\xa9\x7b\x27\x1e\x4d\x22\x56\xc5\x31\x49\x8a\x0b\x20\x1d\x52\xd6\xb3\x3b\xa8\xdb\x00\x57\xb0\x10\x6d\xa1\xf0\x8f\x3e\xe3\x13\xac\x2f\x70\x44\x54\x38\xde\xf3\x67\x3c\xf5\xf6\x60\xe5\x0b\xfa\x0f\xfe\x45\x51\xb5\xd8\x02\x83\x0a\x62\x74\x50\x9a\x1a\xd1\x17\xfc\x80\x56\x0c\x58\xf1\xd6\xa7\xa0\x35\xfa\xbf\x88\xf0\xe1\x8e\x9c\x63\x15\x53\x76\x47\xa1\x30\x45\x5f\x8f\xda\x79\xa0\xa6\xe6\x4b\x2f\x62\x44\xfa\x3a\x8e\x21\xff\xb3\x06\x1b\x37\xb1\x1d\x9a\xaa\xa8\x75\x8f\xc5\x02\xe3\x40\x92\x54\xd2\x7b\x62\xe4\x2b\x7a\x24\x05\xb4\xe5\x80\x66\x99\xcc\x0a\x54\xf7\x78\x3c\xf0\xd8\x0d\x53\x88\x2f\x60\x11\x7f\xae\xc4\x23\x89\x03\x10\x47\x40\xf2\xdb\x7a\x23\x77\x75\xec\xbb\x9f\x1c\xae\x9d\xb4\xf4\x12\xf7\x43\x8a\x72\xf2\xc4\xe0\xd0\xbc\xa8\x45\x58\xcc\xb6\xa0\x64\x4f\xec\xf5\xbb\x55\x58\x12\x0d\xa5\x05\x05\x7f\x1a\x02\x95\x84\xa8\xd6\x14\xfd\x69\x10\x58\x32\xc2\x62\x6a\xf3\x24\x25\x29\x0e\x4c\x22\x62\x5a\x50\xcc\xa7\x21\x50\x31\x44\xd5\x84\xe7\x70\xcc\x4d\x92\xcb\x89\xf6\xd5\x18\xa4\xda\xfb\x7b\x2c\x5e\xfd\xdb\x09\x50\x6f\xeb\x9a\x9d\x08\x44\x02\x22\xea\x94\xe3\xc4\x57\xee\xf8\xf7\x13\xa3\xdf\xe6\x75\xb0\x21\x50\x71\x44\x6d\xeb\xd6\x14\xff\xbe\x1e\x7d\x2e\xa5\x2a\xbf\xf3\x89\xc8\x11\xe4\xa8\x46\xaf\x0e\xcf\x9f\x23\x0b\xf1\x88\x92\x49\xc7\xe0\xab\x62\x16\x3f\xc4\x1e\x1a\x3b\x86\x37\xc9\x70\x77\xa2\x98\xce\xb6\x40\x27\x23\x5a\x93\xd7\x8b\x2e\x1b\x8c\x59\x50\x16\xd9\x4b\x5c\x4d\xa7\xd5\xd8\x1a\x18\xda\x36\xcb\xe9\x34\x08\xac\x11\xc2\x1a\x28\x72\xd3\x18\x91\x8d\x00\x4e\x42\xf0\xff\x80\xea\x03\x8d\x8d\xe4\xb7\x51\x7d\xa0\x61\x9a\xdf\x56\xf5\x81\x86\x09\x6b\xa0\xfa\xc0\xdb\x5f\x72\x3b\x54\x7d\x60\x67\x57\x5c\x6b\xab\x0f\xbc\x85\x95\xd6\x4c\xf5\x81\xed\xad\x33\x95\x64\x1b\x1e\x44\x45\xaa\x67\x70\xb0\x7f\x10\xd7\x4e\xd7\x30\xf6\x9b\x81\x05\x43\xf9\xe9\x58\x5e\x7b\x00\xb6\xc2\x67\x9f\xc1\x92\x87\xcf\x3d\xf9\xbc\xb2\x6a\x7f\x73\xb0\xa2\xc9\xe2\xf4\x04\x15\x22\xf1\x6b\xf4\xab\x66\x96\x2a\x88\x13\x83\xb0\x46\x90\x11\x44\x27\xda\xa3\xb0\x82\xd2\x29\x5f\xe0\x50\x47\x6b\x05\x12\x6e\xd8\xb3\xf5\x66\x1e\x16\xca\xd6\xab\x8b\x95\xa7\xaf\x78\xad\x70\x7f\x2d\x6c\x70\x42\x6d\x21\xd4\x44\x6c\x97\x00\xae\xca\xf4\x36\x08\x30\xde\xd9\xcb\x15\x23\xf6\xf8\x99\x6a\x96\x32\x60\x3c\x21\x59\xbf\xbc\x9e\xf7\x3b\x48\xc0\x3a\x2e\xdf\x99\x29\x3d\xbc\xa9\x8e\x17\x36\xb3\x38\x67\x22\xd5\xbe\xb6\xcb\x48\xbb\xff\x0d\xf9\x85\x31\x00\xfa\x28\x97\xd0\x77\xb8\x76\xfb\x68\x3a\xcf\x15\xdc\x19\x80\x2a\x6e\x92\xa7\x94\x3b\x70\xcb\xad\x3d\x30\xc3\xc3\x6f\x8f\x2d\xfd\x5a\x9d\x3b\x53\x3d\xf3\xc4\x3d\xbb\xc8\x35\xf6\xb5\xa4\x53\x66\xd4\x84\x99\x3f\x66\x15\x80\xa7\x23\xfe\x20\x38\x1a\x1d\xab\xa8\x9a\x41\xef\x6e\x5d\x8f\x23\x8f\x48\xcc\x5c\x2a\xad\xde\x43\x0e\x3e\xba\xcc\x6d\xb9\xfd\x46\xe5\xee\xfa\x09\xf7\xfa\x0f\x4c\x64\x3c\x55\xd4\x04\x2f\x9d\xc5\x12\x1d\x9c\x6b\x83\xd1\xf2\x75\xfd\x0f\x5a\x4d\xe6\xd6\x8f\x27\xeb\x91\xf8\xfd\xe9\x2a\xcf\xe6\x2a\x6b\x8a\x16\xeb\x82\xf6\x5f\x7b\x03\x23\x0d\x5e\xf0\x3d\x66\xc4\x18\x78\xf5\xa1\xc5\xc7\xb7\x20\xc3\xa6\x02\x81\x8e\x2a\x45\x69\x6b\x7d\xa9\xf2\xf9\x1b\xf7\xf4\x62\xe9\xd2\x09\x96\xf6\xd5\x53\x2b\xf0\xdf\xca\xfc\x5c\xe5\xee\xb7\x98\x66\x44\x7f\x56\x67\xd6\xab\xd7\xd5\x2d\xf2\xa2\x08\x41\xd9\xc9\xb6\xee\xa0\x65\xd0\x5e\xbe\xac\xa5\xd4\xdd\xb4\xeb\xe9\x09\x03\x12\x4d\x83\x02\x40\x89\x69\xf2\xef\x97\x47\xd3\x05\xde\x9e\xc8\x9f\xdd\xcc\x26\x3d\x39\xe2\x18\x94\x1a\x3a\x70\xcf\x04\x20\x86\xd9\xb3\x5b\xe6\x55\x52\x8a\xd0\x4d\x02\xca\x1b\xac\xe2\x71\xaf\x97\x83\x6f\x10\x05\xf2\x76\x53\xb6\x48\x61\x3c\x39\xa7\xdc\x6b\xd7\x81\xa2\xad\xf5\x57\xa5\xef\xae\xf9\xf9\x10\x98\x2a\x31\xbf\x02\x32\xcd\x2f\x8c\x97\x88\x38\xc0\x95\xb2\x27\x3a\x22\x68\xc4\xaf\xda\xb7\x49\x69\xf5\xf2\x1a\xd2\x48\xf4\xc2\x7f\x7f\x9e\x9e\x69\x96\xea\x71\x33\x3b\x46\xb5\x26\x27\xd3\xd6\x71\xca\xe6\xf4\x03\xe2\x46\xec\x62\x16\x28\x85\xc3\xe2\x98\x70\xf5\x52\x13\x7f\x2e\xfb\x33\x61\x4d\xd8\xf9\x29\xfe\x86\x44\x8d\xb6\x9b\x56\xe5\xd1\x57\xa5\x2b\x3f\x00\x45\xa5\x7b\x37\x2b\x77\x56\x6a\x9b\x88\xd1\x16\xad\xac\xcd\x53\x09\xc6\x99\xf2\xb7\x33\xe5\x9b\xd7\x44\xbb\xd5\x4b\xa7\xdd\xf9\x17\x30\xa0\xca\xda\xc5\xd2\x97\x2f\xaa\xf7\xcf\xf1\x37\xda\xd1\xc8\x72\x83\x69\xab\x3b\x6c\xf4\x74\x4a\xa7\x86\xdf\x1f\x8a\x05\x8a\x16\x2f\x25\xd4\x7b\x49\x3b\x5a\x0c\x41\xda\x0d\x65\xdb\x68\xa0\xe2\x5d\xc4\x03\x19\xd7\x31\x86\x61\x33\x48\x65\x6b\x98\x6e\x8c\x2e\x42\xa8\xd4\x81\x0a\x3d\x0d\x71\x60\x39\xad\x96\x17\x92\x1a\x2c\x96\xe9\x31\x3e\xe4\x3a\x3d\x54\xda\x67\x12\x2e\x82\x28\xd7\xb1\x61\xcd\x40\xef\x21\xea\x6a\x84\xde\xc9\x74\x1e\x44\x7c\x77\x5f\xe8\x01\xf8\x73\x7f\x1a\x3b\xbe\x1a\x54\x19\xca\xcc\x5b\x58\x16\x09\xdb\x21\x65\xa6\x30\xcb\x38\xfc\x28\xc1\xea\xc4\x4c\xe5\x62\x6e\x2c\x6f\xa6\x2c\x6e\xbe\x0a\xbf\x84\xcb\x3e\xed\xa1\x5a\x42\xce\x9e\xdd\xbb\xc7\x60\xe3\x15\x8f\x62\x16\xd4\x6e\xb9\x9e\x10\xfc\x91\xfe\x5f\x5e\xdb\x5d\xa5\x23\xaf\x6e\x64\xf2\x88\xca\x0b\xf3\xd5\xd5\xe9\xca\x9d\x19\x1a\x92\x34\x14\xfc\x85\x8b\x27\xc1\x79\xe9\x2e\x2c\x61\xa5\xcd\x85\xf9\xd2\xea\x03\xbc\xaf\x48\xe3\xc0\x3e\x9b\x9c\xc6\xbc\x34\x57\xfe\xe1\x32\x37\x55\x45\x60\x72\x51\x24\xd0\xad\x1a\x1b\x4a\xf4\x1c\xd1\x65\x0f\xb4\x27\xdc\xb4\x70\xf2\x7b\xad\x04\x51\x22\x39\xb4\xf7\xa5\xea\x4f\x54\x9e\x0b\x9f\xb0\xb2\x30\x03\xaa\x05\x22\x6d\xe4\xa0\x46\xd4\xea\x9a\x3b\xfb\x62\x6b\xfd\xab\xd2\xa9\xdb\x95\x99\x37\xb8\xc1\xaf\x5d\xe7\xe6\x80\x20\x96\x28\x4d\xf2\x42\xf5\xd5\x55\x77\x69\xba\x7a\xf9\x9c\x5a\x59\x64\x77\xb9\xf1\x91\x95\x51\x49\x15\x90\x85\x5b\xaf\x6e\x55\xee\xdd\x2b\x5d\x3c\xa5\x07\x82\x8a\x89\x16\x08\x0b\x4e\x3d\x10\x6c\x0c\x2c\x3e\x53\x0b\x61\x4e\x7e\x17\x9e\x8b\xa3\x16\xee\x29\xe1\xce\xc0\xa4\x4c\x38\x22\xe1\xf6\x4a\x86\x99\xee\x0f\x3d\xe7\xff\x6e\x33\x93\x36\x1d\x58\xe5\x83\x9c\xf9\x80\x00\x6a\xc0\x8a\x27\xe3\xc0\x63\x57\xad\x14\x88\x1b\xc9\x14\x54\x70\xbc\x07\x78\x02\x49\x89\x71\x94\xfd\x5e\x4b\x0b\xd3\xee\xa3\x85\xca\xb7\xdf\xe0\x04\xdd\x5a\x29\x9d\xba\xc2\xf3\x28\xfa\x5d\x11\x5b\xa8\x6f\xb0\x4f\x5c\x9b\x81\x5d\x8d\x4e\x5d\x2b\x9f\xbb\x86\x63\xe2\x47\x76\x63\xd3\xd8\xd3\x98\x21\x2d\xda\x9e\x9e\x81\x93\x6a\x49\x0f\xbc\x0e\x2c\x41\xc2\x5e\xeb\x0b\x74\xd2\x91\x99\x01\xd6\x10\x83\x00\xe9\xcf\xf2\x52\x7d\x8a\x29\x66\xc8\xa1\x36\xcd\x12\xe7\x29\x57\x96\x39\xca\xad\x93\xf1\xa3\x68\x84\x2c\x64\x0f\x9c\x7a\x99\x94\x51\x80\xad\xee\x7b\xa7\x48\x06\x2b\xde\xf2\x0a\xd5\x65\x3d\xde\x73\xa3\x67\xf1\xb8\x3c\x4d\xe9\xec\xa4\x7d\x4c\x37\xe5\x40\xc0\x47\x70\x27\x9b\x44\xbb\x07\xf6\x8d\x76\xc6\x89\x14\xbe\xf6\x8c\x16\xb1\x44\x35\x6c\x75\x90\x84\x05\xaf\xee\x5e\x7a\x22\x87\xad\xa7\x61\x0b\x87\x68\xc5\x9f\xa8\xb5\x16\xfe\x51\x4f\x31\xd3\xa6\x5c\x16\xca\x89\x97\xa6\x31\x02\xaa\xbc\x6c\x82\x35\xc1\xb5\xe3\x60\xcf\x73\xdf\x6f\x56\xf3\xc4\xb4\x6a\xe1\x51\x33\xdd\x17\xee\xe6\x22\x3f\x5c\x7a\x78\x4b\x7e\x3e\x58\x2a\x67\x5e\xbb\xcb\xf7\xa3\xd7\x13\xa0\x07\xcd\xa9\x3a\x73\x0a\x9f\x3e\xb1\x06\xb2\xaa\xf2\xdd\x53\xbc\xfc\xcd\xce\xba\xf3\x5f\x96\xaf\x3e\x04\x6a\x64\x82\xca\xcb\x9b\xa5\xd5\x85\x88\xa1\xc9\x98\x71\x3d\xbf\xf9\xbe\x7a\xed\xa7\xd8\xc5\x88\x8d\xa0\x8b\x59\x2c\xfd\x0d\xeb\x81\x0a\x82\x88\x22\xdf\x29\x6b\x34\x9d\x85\x3d\x0c\x0a\x14\x2e\x07\x13\xe5\xeb\x88\x72\x9b\xe2\xc9\xe0\x97\xaf\xf0\xc6\x05\xec\x28\x5d\xb8\x00\xb7\x30\xc1\x5c\xb8\x94\x6d\x7e\xe7\xde\xba\x5c\x7a\x70\x43\x47\x57\x0e\xeb\x8a\x23\x6d\xb0\xb4\x58\xd9\x73\xc6\xcd\xf7\x0c\x32\x5b\xe1\x2a\x92\x05\x4e\xd0\x83\x5e\x45\xd8\xda\x7c\xf9\xd1\x05\x6c\xc0\x7c\xe3\x71\xf9\xd6\x46\x68\x97\x4b\xed\xe5\x71\xbb\x13\x16\x65\x93\x49\x26\x8c\xea\xac\xe3\x73\xa8\x97\x04\x82\x4e\xa4\xb6\xb4\xf3\xb6\xc2\x33\xa9\x60\x1e\x43\x73\xf2\xf1\x71\xb4\xd8\xc6\xaa\x44\x44\xa4\x2f\x8d\x6a\x66\x92\x10\xc2\xea\xa8\x4e\x5f\xe2\xd3\x8b\x8f\xf2\xad\xf5\xe9\xad\x8d\x2b\xa0\x6c\x83\x02\x0a\x08\x0c\x15\xd9\xd9\xac\x35\x42\x06\xcb\x54\x71\x22\x47\xad\x54\xad\x11\xea\x1d\x87\x19\xbd\xa4\x77\xb6\xb6\x19\xa2\xd2\x97\x8a\x4d\xbb\xa7\xbf\x85\xe3\x16\x57\xba\xbe\x35\xe2\x89\x4d\xb8\xca\x37\xd4\xfc\x50\xd9\xf9\x90\xee\xf9\xc0\xb0\x9f\xce\x94\x2e\xdc\xae\xdc\x5b\x64\x0a\xe3\x78\x55\x30\xd3\x24\xa4\x7e\xc3\x4c\xaa\xfc\xf4\xa6\xf2\xe3\xad\x16\x32\x29\x9e\x3d\xb9\x29\x5a\xff\xa0\xc6\xc2\x20\x47\xf3\xf6\x84\xc7\x96\x21\xfa\x0a\xc0\x71\x03\x49\x11\xbf\x24\x7e\x1c\xa6\xbf\xf8\xc7\x5f\xa7\xcf\xe6\xd6\xe6\x97\xa5\x8d\xd3\xee\xe6\xd5\x5a\x06\xc8\x74\x57\x6e\xcd\x55\xbe\x7d\xe3\xce\x3f\x69\xb4\xe9\x26\x5b\x9a\x6a\x41\x4b\xa3\x56\x5f\x47\xe8\xe8\xc4\x0b\x39\xda\x10\xe5\xa6\xc6\xb5\xd6\xaa\xc3\xd9\x9e\x7c\xde\xce\xef\x31\x62\xec\xde\xa2\xb5\xbb\xdf\x07\x3a\xba\xc1\xe8\xe1\x6c\x75\xf1\x71\xe5\x1e\xe8\x32\x97\x63\x6c\xdf\x3e\x81\x23\x30\xf9\x61\xa9\xbb\xc7\xf0\x2c\xe7\x76\x1c\x3d\x82\xb5\x0a\xd9\x4b\xae\x05\x09\x52\x0c\x25\x29\xf4\xb9\x4c\xa4\xb3\xac\xa4\x88\x0b\x98\x01\x37\x4f\xba\x2f\x72\x8f\x7c\xb8\xf4\xff\xff\x63\x8c\x85\xb7\xf0\x38\x5a\xde\xc4\xfe\x0b\x2f\x6f\x63\x21\x89\x2b\x8f\xaa\x8b\x5f\xfc\xf2\x7a\x26\x0e\xff\x28\xf7\xea\xf6\x0a\x1b\x73\xfc\x85\x52\x7b\xdd\xc4\x06\xa0\xf3\x4f\xd8\xfe\x5c\x7e\xf1\xd4\xbd\x76\x2d\x19\x02\xd8\x3b\xb8\x8c\x53\x74\xd2\xfb\x1b\xb5\x0d\x77\x90\xd7\xca\x49\x25\x42\xe0\x40\x21\x93\x26\xdf\x66\x70\xdf\x7b\x64\xf0\x05\x02\xef\x76\x35\x50\x6b\xaa\x4e\x25\x22\x51\xb4\xcc\x42\x48\x07\xb3\x4e\x31\x87\x17\x34\x2b\xd5\x47\xdf\x92\xa6\x8a\xed\x44\x8e\x65\xe1\xb6\x27\x1e\xc5\xfa\x20\xe8\xfb\x8d\x63\x56\xe5\xde\xd5\xca\xda\x74\xf9\xec\x13\xf7\xe6\xe7\x4a\xf0\x58\x68\xf8\xe5\xd3\xf2\xb5\xdb\xe8\xa2\x92\x5e\x70\xef\x80\x3e\xc5\x8d\x1a\x12\x8d\x82\xcc\x2f\x64\xf2\xa2\xbb\x4e\xb0\x55\x06\xe0\x87\x03\xda\xce\xd0\xf5\x5c\x8d\x7a\x3b\x30\x34\x27\xa2\x47\xd7\xb6\xd8\x93\x12\xf2\xdc\xc5\x32\xf3\xce\x4c\x74\x5b\x5e\xc3\x37\x1a\xd5\xe1\x4a\x46\x68\x48\x68\xfb\xb2\x1d\xd6\xe6\xdf\xf9\x66\xc7\x02\x54\x49\x21\x2c\xd3\x90\xa4\x15\x47\x94\x47\x77\x8d\xc4\x8d\x27\x0a\x18\x97\x86\xeb\xd3\xdf\x2d\xd9\xbf\xa0\x17\x02\x1b\xcb\xe8\x34\x58\x5c\xd1\x7a\x00\x22\x10\xb0\xf3\x53\x69\x6d\xaf\x81\x8e\xb6\xba\x15\x90\x00\xb3\x20\x62\x34\x7a\xaf\x87\x46\x1c\x9e\x58\xf0\x9b\xc4\x62\xd7\x40\x6f\xbc\xc4\x87\x43\x8e\x99\xc9\x05\xb2\xf9\x48\xa2\x5a\xd6\x32\x04\x35\xe6\x6c\x5b\xc1\x8b\x81\x28\x58\x13\x39\x0e\x34\x40\xbd\xa7\x98\x43\x53\x8d\x1e\x37\x7b\xaf\x2f\xdf\x77\x1f\x5e\x64\xaf\x31\x3a\xe5\x36\xaf\x60\x49\xbb\x13\xcf\x62\x90\xda\x39\xb8\x94\x06\x56\x7b\x8d\x26\x2f\x8e\xb6\x95\x93\x70\xf1\x96\x8d\xf4\x8c\x32\x06\xcd\xf1\x7c\x1a\x86\xf6\xf7\x74\x2e\x1e\x83\xfb\xf8\x3e\x56\x05\xc3\x67\xb5\xa0\xbd\x88\x91\xe1\xee\x01\xb6\x50\xaa\xd6\x39\xb1\x87\x1e\x63\xeb\x64\x0c\x3c\x9f\x19\x5a\x78\x32\x07\x62\x00\x8a\x08\x41\x2c\x3b\xc6\xda\x17\xce\x2b\xc0\x83\x0b\x7f\xd1\x51\x52\xed\xed\x4e\xd8\x93\x8c\x91\x0f\x2f\x9e\xda\xf2\xda\x12\x5c\x7a\xd9\xde\x91\x0c\x3b\xdc\x20\x0b\xde\xd5\x92\xea\x81\x1d\x9d\xc2\xb6\xcb\x48\x8f\x63\xbc\x63\xa6\xe0\x40\xa7\xae\x39\x4a\x57\x2f\x8f\x1a\x2e\x92\x9b\x57\xe0\xa2\x84\xc5\xae\x98\x3c\xa2\x01\xb5\x30\x22\x0f\xcb\x62\x7d\x3e\x5b\xbd\x74\xba\xfc\xe8\x46\xf9\xf4\x97\x6a\xbb\x9d\x47\x5e\xd6\x3a\x4e\x16\x71\x2d\x5a\xd8\xbe\xbe\x2d\x3c\x06\x1e\x7b\x54\xd8\xeb\x83\x7c\x46\x1d\xa5\xe1\x15\x02\xc3\xf1\x7d\x27\xc9\xf0\x71\x4b\x50\x46\x88\x06\x25\xa5\x8f\x43\x0c\x08\x6e\xe6\x61\xef\x06\xe3\x4b\xb4\x40\xbd\x88\x47\x43\x97\xf3\x21\xe6\xeb\xd1\x82\x3b\xbb\x56\xde\xc4\x6b\x4a\x2c\x54\x3e\xf7\xa8\xcf\xb1\xae\xc2\x92\x1c\x2c\x53\x3d\x73\xc6\x9d\xbf\x5d\x59\xbb\x58\xb9\xa4\x52\xab\x6a\xe1\x73\x00\x5e\x02\xd8\x70\x75\xc0\xce\x55\xb4\x8e\xca\xcf\x5e\x95\x9f\xab\x0c\xaf\xb5\x18\x62\xbc\x37\x21\x1c\x3a\xb7\xaf\x0f\x57\xe3\xfa\x16\x5b\x93\xce\xca\x18\x30\x58\x81\x90\x97\x09\x15\x20\xe4\xe3\x3b\xa9\x28\x60\x37\xba\x27\x0a\xa8\x86\xa5\x17\x17\xb4\xd8\xa8\x48\xc8\x1a\x1f\x0d\x0f\x27\xda\x11\xf4\x5c\x92\x35\xc9\x05\x5f\xfd\xb6\xa8\x81\xa7\x8f\xe5\xce\x38\xdc\x25\x8f\x5a\x70\xd0\xe4\x8a\xce\x38\x06\x13\x14\x47\x46\x2c\xc7\x21\x6b\xa5\x7e\xfd\xc2\x6d\xfc\xfa\x97\xee\xfc\x77\xa5\x53\x6b\xd5\xe9\x99\xad\x1f\x4f\xd6\xd6\x66\x95\xfe\x94\x95\xee\x38\x72\x41\xec\xe9\x67\x94\x84\x5b\x0c\x94\x14\x8e\x18\xcb\x9d\xc0\x40\xd9\xd7\xed\x05\x7a\xb4\x8b\xbf\x2c\x36\x60\xe0\x1f\x58\x82\x25\x5f\x70\xd4\x86\x07\xc2\x5b\x99\x9f\xe3\x15\x1f\xf2\x99\x9c\x5d\xf4\x62\xd3\x70\xb2\xdd\xe5\xaf\x4a\xa0\x76\xaf\x9e\x64\x8b\x01\x56\xe3\xbb\xfe\xbd\x7b\xe6\x2b\xa5\xc2\x5d\x47\x2f\x0a\xc5\xa3\x69\x36\x03\x9b\x23\xe4\xc1\x15\xa5\x04\xa7\x30\x29\x8c\x14\xb8\xa4\x84\x56\xd6\xe6\x2b\x4f\x5f\xb9\xeb\xcf\x4a\xe4\x81\xdd\x7a\x75\xb1\xf4\x60\x93\xa7\x22\x86\x20\x2c\x2d\xd1\x90\xdf\xb5\x7e\xe7\xa2\xe0\xa4\xc0\x1c\x0d\x22\x1a\x64\xed\x02\x45\xdb\x89\x77\x75\x75\xac\x42\x81\xe2\x87\xb0\x74\x31\x3c\xa5\x77\x73\x5e\xff\xb1\xf4\xb5\xb8\xb8\xd6\xac\x45\x8e\x7b\x11\x44\x36\xbe\x2e\x89\xce\xd6\x5a\xb9\x9a\xb2\xd7\x94\x56\x5e\x37\x64\x81\xa9\x1f\x70\x68\x08\x6a\xe3\x8b\x37\xe8\x40\xfb\x84\xf7\x3e\xf0\xfe\x38\x90\x68\x10\xf5\xca\x98\x02\x88\x9e\x04\xa1\x24\x61\xc8\x0b\x7d\x12\xa3\xc3\xd5\x59\xc7\xfe\x96\xd9\xc5\x24\x41\x13\xc6\xe0\x6b\x53\xb5\x04\xc5\x0f\xe4\xed\x53\x1b\x4f\x13\x67\x0e\xc1\x3b\xff\x81\x1f\x76\x84\x2e\x50\x14\xaa\x37\x96\x6a\x70\xc4\x53\x56\xa7\xbc\xf9\xfc\x56\xdf\xeb\xa5\x65\x27\x3f\x6e\x24\xd7\xe1\x08\x33\xa1\x84\xf7\x3f\x12\x11\x3e\x49\x97\x3a\x43\xaf\x7f\x33\x21\x3a\x50\x1c\x54\xeb\x7a\xa7\xcd\xc0\xaa\x05\xa4\x90\x2c\x7e\xe4\xb3\x4f\x76\xfc\x30\xc3\x9a\x31\xbe\xe8\x7d\x73\x84\xbe\xf1\x87\x53\xf4\xa9\x4b\x32\x96\x62\xf4\x58\x64\xe5\x3a\x0a\x57\x2c\xb1\xb5\x0a\xb7\x20\xae\x9b\xcf\x25\xe4\x60\x62\x76\x87\xde\x09\x51\x59\xaf\xa8\x27\xe1\xa3\xac\xab\x23\xfc\x1d\x59\x0c\x2a\x3d\x3f\x40\xb8\x0d\x52\x43\x27\x67\xc4\xf2\xde\xc1\x13\xb3\x7e\x4d\x87\x4e\xca\x16\x8e\xda\x8f\xc2\xab\xb3\x56\x36\xac\x38\xb4\x6a\xd5\x35\xa9\x3e\x48\x4a\x5d\xdd\x60\x92\xf3\x03\x55\xca\xe0\xed\x3f\x59\x53\xd2\x41\xae\xe1\x59\xaf\xf8\x6a\x47\x18\xa2\x1d\x60\x0d\x66\xdf\x24\xcc\x5a\x6d\xd4\x58\x12\x30\x83\xfa\x23\xa9\x74\x9a\xd6\x6e\x61\x77\xf6\x7b\x54\xfb\x9a\xd4\x56\x78\x39\x46\xea\x07\xbf\xa2\xea\xc5\x21\xa5\xcd\x69\x14\x91\x1b\x2c\x6a\x2f\xbe\x8d\x4d\x17\x6c\xaf\xc8\xdd\x17\x3f\x1a\x0e\x55\xf5\x3a\x7e\x2a\x3d\x23\xff\x64\xb2\xc6\x37\x25\x72\xc3\x06\xb5\x1b\x26\x21\x83\x7c\x67\x73\xb2\xf1\xd4\x10\x11\xf5\xba\x0a\xa9\x48\xba\x73\x8c\xe3\x56\xde\x32\xf2\xd6\x5f\x45\xb4\x84\x08\x67\xc5\x70\x34\x73\xcc\x54\x47\x6d\xb9\x2f\x9f\x96\x4e\x9e\x2d\x3f\x3f\xcf\xf9\x71\x22\x76\x74\x6e\xa9\xf2\xdd\x1d\xb5\x63\x24\x40\xdb\x1e\xac\x85\x74\x36\x83\x1e\x60\x0a\xc2\x11\x79\x91\xed\xe4\x21\xc3\x98\xb2\x9c\x2d\x1a\x4e\xa0\x9d\xe1\x50\x77\xd7\x80\x97\x5a\x38\x64\x48\xa5\x67\x0c\xaf\xf4\x8c\xe8\x33\x52\x64\xaf\xab\x17\x59\xaa\x0a\xb4\xad\xce\x7d\xe3\x3e\x59\xe2\x30\x8d\xf2\xf3\xd3\x35\x36\x20\x1c\xd2\x9d\x19\x77\xf6\x01\xfa\x29\x56\xd7\x6a\xb0\xb3\x87\x12\x03\xa0\xcf\xaf\x73\xec\x80\xc7\x88\x79\x6e\x97\x8a\xde\xe8\xd9\xbb\x14\x81\x8e\x9e\x07\x5e\x20\x6a\x23\xb6\x30\x20\x0c\xe8\x83\xb9\x85\x97\x5b\x17\xc3\x2d\x00\xf9\xad\x1c\x52\x69\xf6\x45\x4d\x98\x85\x91\xf1\x04\x60\xb7\xd6\x97\xca\x0f\xee\xa8\x80\x3b\x05\xb8\xe4\x48\x99\x19\x53\xec\x6a\x7d\xc7\xea\x1c\xeb\x34\x26\xa6\x82\xa2\x00\xbf\xc3\x09\xdd\x97\x2e\x90\x7d\x91\x7f\x6e\x8b\x8b\x28\xfe\xab\x39\x69\x06\x10\x3a\xe1\xb1\xb6\x10\x18\xd1\x80\xe3\x28\x10\x3f\x32\x8e\x3f\x14\xcc\xb1\xe6\x61\xff\xaf\xc9\x3f\x74\xfe\xa1\xf3\xdd\x36\x5a\x33\x6d\xde\x1f\x00\xf2\x77\x1c\xe9\x0d\xbb\x00\x9f\x2f\x74\xa4\x25\xaf\x96\x63\xa0\x67\xa3\xdd\xcf\xba\x68\x13\xb1\x03\x6d\x48\x4e\x5b\xb6\x98\xc9\xa8\xca\xfa\x6d\x6d\x7e\x23\x9c\xcb\xb0\x54\xe6\xee\x55\xd6\x4e\xc8\xa6\x06\x8c\x53\xde\x3c\xe9\xde\x39\x11\x62\x22\x2c\x97\x9f\xa7\x67\xc4\xf0\x83\x47\x9a\x61\x24\x80\xc2\x30\xa4\xf9\x15\xf7\x34\x89\xbb\x73\x8f\x71\x69\xae\x5d\x2a\x7f\x7f\x0b\xe3\xd2\x5a\x81\xc3\x67\x68\xe5\xc6\x5a\xf9\xd6\x46\xc0\x53\x46\x43\x83\xc1\xd0\x73\x77\xf9\x1e\xc6\xbc\x71\x53\x93\xd9\xbb\xc0\x86\x30\x27\x50\x92\x88\x4c\xa2\x80\xbd\x40\xad\xc7\x5f\xdd\xd2\xf4\xba\x3a\x53\xf8\xeb\x48\xa6\x98\xb2\x3c\xe1\x21\xea\x94\xb5\x87\x22\x23\x83\x0e\xd5\x13\x80\x25\x0d\xc2\xcf\xc0\x4e\x3e\x2a\x81\x41\x64\x3f\x77\x67\x6f\x73\xcb\x61\xb1\xef\x69\x32\xb9\x49\x31\xb2\x58\x0a\x93\x14\x59\x3e\x14\x26\x19\x4d\x36\x56\x37\x56\x20\xa3\x9f\xa2\x5f\xea\xef\xfe\x53\xcf\xe0\x91\xde\xfd\x5d\xfb\x54\x79\xde\xa1\x47\x14\x40\x34\x15\x4a\x74\xe5\x47\xf8\xb7\x21\x95\x28\xd1\xc4\xc5\xec\x35\x9d\xf1\xa3\xb6\x99\x4f\xed\xf1\x2f\xe2\xaa\xd3\xe5\x8b\x69\x58\x44\xa5\x6f\x7e\xe2\xb0\x26\x7e\x34\x1a\x26\xc5\xb6\x0a\xef\x5f\xde\x12\x01\x6d\xa4\x07\xaa\x60\x53\xec\x6a\x69\xe5\x09\xb6\xb1\xde\x38\xcd\xda\x59\x02\xe0\xac\x84\x34\x86\x82\xd5\x87\x24\x88\x28\x43\x35\x81\x07\x9a\xf2\x48\x63\x3d\xd0\x3e\xbc\x58\x0f\x34\xc1\x8b\xf7\x40\xfb\x00\xb5\x31\x52\x0c\x4d\xbb\x04\x3c\x38\x5a\xf6\x11\x98\x44\xfc\x8a\xe7\x55\x22\x36\x25\xf7\x58\xca\x79\xbc\xb1\x1e\xcb\x3a\xf8\x7a\x8f\xa5\x9c\x41\x9c\xd0\x63\x59\x87\x21\xce\xef\x51\x97\xa5\x9c\x10\x2e\x5c\x87\x93\xb0\x44\xe3\x41\x09\x40\xca\x97\x4a\xfd\xba\x94\xae\x84\x71\x40\x75\x9e\x55\x5e\x96\x1a\xcf\x6a\x18\x8c\xb8\x46\x52\xd8\x7c\x3a\xc8\x6c\xc9\x82\x4a\x95\x1e\xe3\xd3\x44\x7e\x8e\xa3\x67\x33\x19\x7d\x3d\x53\x99\x08\x5e\xda\x2c\x25\x44\x2f\xfb\xe5\x95\xd2\x0b\x6c\x91\x55\xfa\x61\x53\xc4\x44\x78\x59\xd9\xf2\x2b\x31\xd4\xeb\xa2\x1f\x08\x7d\x4c\xe8\x83\x07\x88\x82\x39\xb8\xb7\xb9\x21\x7a\x9b\xbf\x93\xee\xb4\x3a\x61\xe8\xb6\x63\xb1\x23\x16\x53\xe6\x58\xaf\xcc\xe5\x2c\x0a\x65\x63\xcf\x98\x32\xea\x83\x97\x09\x8d\xad\x3a\xb3\x51\x3e\x7f\x49\x2a\x48\x31\xbf\xb5\x71\xc7\x5d\x7a\x86\xc7\xe7\xea\x3d\xd0\xc9\x4b\x17\xaf\x63\xc8\x6b\x8d\x53\x4c\x3c\xac\x50\xa1\x3d\xe2\x93\xf8\xa4\x59\x8a\xc6\xfa\xa4\x03\x90\x9a\x28\x0c\x1e\x57\x6c\xc4\x65\x00\x4b\xe3\x30\xe6\x35\xa2\x71\x18\x0b\x28\x23\xb8\xc5\x31\x5d\x41\x7d\x3b\xe3\x15\xc5\x10\x75\xb0\x9c\xc4\x61\x20\xbc\x25\x63\xc3\x40\x08\xec\x6f\xc5\x03\x29\x73\x34\x79\x18\x78\xe3\x1e\x48\x7f\xd0\xdb\xf2\x40\xd6\x1d\xc6\x8d\x78\x20\x7d\x12\x76\xda\x5a\x27\x1d\xf2\x89\xed\x74\x3e\x71\xbf\x49\xb3\x6a\xdd\xa1\xa8\x35\xab\x36\x61\x50\xf5\x87\xbf\x73\x76\x48\xd5\x42\x8f\xa7\x69\x67\x9d\xaa\x92\x2e\x97\xd4\x04\xea\x53\xe6\xfb\x1a\x07\xf1\x43\xd2\x0d\x14\xf8\xfa\xa4\xd7\x12\x22\xf2\xbd\x83\x8d\xa0\xd1\xbb\x14\x7d\x24\x6f\xcd\xa5\x58\x27\xa8\x93\xbb\x14\x25\x62\x93\xb8\x14\x5b\xb1\xe3\x12\xaa\xd1\x6f\xc7\x99\xa8\x55\xc1\x13\xb8\xd5\xea\x48\xfd\x27\xb6\x70\x4b\xbc\x48\x6e\xcf\x0e\x18\xa0\x76\xc8\xb4\x58\xe6\x35\xe1\x64\xa9\xa1\xd2\xb7\x9b\x87\xf3\x1f\x82\xef\xd9\xef\xbb\x13\xa7\x4e\x30\x25\x32\x26\x91\x8d\xe6\x4f\x4d\x88\xba\xf8\x51\x45\xf9\x12\x76\x84\xfa\xc6\x5d\x0f\x7b\x2d\x67\x24\x9f\xa6\x12\x47\x7b\xa4\x55\x25\x7d\xad\x94\x2a\x5c\x77\x81\x2d\x42\x91\xaf\x45\x23\xe4\xc2\x43\x18\x9c\x88\x9d\xe0\x45\x94\xa0\x6f\xf7\x93\xd3\x5c\x54\x8a\xef\xcc\x2a\x0c\x12\x6f\x2e\x64\xce\xe3\x19\xc3\xb4\xec\x87\x17\x51\xc9\x7e\xa0\xc8\x36\xa9\x41\x4c\x45\x1f\x3d\xa9\x20\x29\x3b\x7e\xcd\x18\x9b\x9d\x20\x5e\x24\xbd\x96\x98\xad\xf5\x69\x77\xfa\x24\x5a\x70\xe5\xf8\xf9\x1f\x85\x6b\x18\xbf\xaf\xa9\x49\xd5\x04\xa9\x3e\x8b\x64\x4a\x93\xb1\xa8\x39\xec\x41\x57\x08\x64\x82\x3d\x12\x3f\x27\xf2\x2b\x28\xab\xdf\x28\x82\x22\x3d\x0c\xd8\x3a\xc3\x8b\xe4\x97\xfc\x43\xfa\x41\x85\x2f\xa1\x08\x43\x8f\x84\x22\x62\x83\x2c\x18\x34\x0e\x70\x31\x0d\xca\x95\x20\x3d\x97\x6b\xa0\xab\xd1\x96\x1e\xde\x14\xe6\x71\xe9\x2e\x20\x7a\xbd\xbf\x5c\xab\x3c\x7c\x5c\x5a\xf8\xda\x5d\x54\x5d\xe2\x25\x3a\xd0\x89\x81\xa1\xa8\xc6\xa8\x65\x16\x8a\x70\x63\x77\x6c\xbe\xbd\x73\x9f\x96\x71\x73\x32\x34\xe9\xd9\x14\x19\xc6\x8b\x0e\xbf\x2d\x5e\x52\x59\x7a\xa9\xf6\x9e\x48\xda\x58\xf8\xb1\x34\x7d\x17\x4d\xf7\x8f\xbe\x0e\x4a\x0d\x71\xa9\x00\x9a\x7c\xbf\xa4\x06\x3f\xa9\xa3\x5c\x44\x12\x23\x4d\x58\x2a\x06\xb7\xc7\x3f\xb0\x40\x82\x99\x8d\xb8\x2a\xd4\x1d\xaf\x2d\x3b\x5b\x78\xf2\xa3\x4f\xbf\x20\x0f\xb0\x86\x34\x79\xb1\xab\x45\x60\xed\x30\x91\xf5\xb0\xeb\xb9\x68\x22\x8c\x59\x39\xb8\x51\x49\x3e\x48\x23\x4d\x76\xbb\x94\x46\x7a\x20\x62\xa4\xb2\x20\x59\x7f\xa8\x1a\x38\xca\x18\x7a\xb2\x7e\x73\xef\xd0\x78\x71\x21\xee\xdc\xad\x89\xc6\xae\x88\x77\xd8\x69\x1e\x44\x2c\xed\x38\x66\xfc\xf6\x18\xd1\x82\x5d\x80\x52\x59\x24\x05\xb3\x2f\xf6\x5f\x9c\xb6\xd8\x2b\x18\xcb\x7f\x7c\xd4\x10\x52\xd9\x40\x9f\xe6\xf2\x0f\x4d\x20\x64\x25\x30\x39\x5a\xa1\x97\x35\x8a\x1c\x0b\xa0\x1a\x43\x43\x1f\xc9\xaa\x88\x6f\x4b\xd6\x0a\x59\xdf\x16\x4c\xaf\xc7\x1f\xa7\xc7\x44\x99\x3c\xf6\x8d\xbf\xff\xaf\xff\xb6\xbf\xdd\x78\xef\xdd\xf7\xff\x88\xff\xec\x53\x19\x68\xb9\x0a\x1e\x57\xbb\x0b\xfc\xc0\xf8\xf2\xcf\xd3\x33\xf4\x36\xfe\xbb\x4f\x6d\x7f\x4d\x3b\xb0\xa2\xa7\x0c\x6e\x2a\xc9\x59\x2b\x05\x38\x40\xfc\xa2\x1b\xaa\x28\x0c\xaa\xe6\x52\x9b\x8c\x33\x7d\x17\x8b\xed\x9c\x5d\x2c\x9f\x9c\x2e\xcd\xaa\x9c\x14\xb6\xa8\x67\x90\xb1\xf3\x98\xcb\x0b\x97\xf8\x5c\x51\x95\x4a\x8f\xa9\xc8\x4f\xe6\x2a\xaf\xd7\xdd\xb9\x8d\xca\x99\x0b\x95\x85\xa7\x5a\xa0\xdc\xe4\x8a\x5c\x4c\xd4\xf5\xca\xab\x99\xa4\x81\x4e\x45\x73\xaa\x33\xd7\xcb\xf7\x1f\x73\xdd\x1c\x2d\x82\x09\x33\xe7\xf9\xaf\xa8\xce\x86\xc8\xf5\x13\x09\x3e\xd8\x1b\xdd\x33\xbd\x93\x0a\x91\xcb\x5b\x93\x69\x1b\x98\x49\x79\x4f\x0e\x17\xcf\xd1\xa6\x07\x62\x11\xc7\x3b\x33\x38\x66\x32\x54\x04\x56\xf5\x70\xc2\xa0\xf0\x3f\x6c\x5e\xad\x4f\x24\xc4\xd2\x45\x0b\x4b\x22\x5f\x0a\x6e\x24\x77\x5f\xc5\xf9\xd3\x78\x68\xdc\xaf\x49\x24\xca\x98\xa3\x98\x92\x86\x54\x6b\x54\x9e\xd5\x35\x3f\x2b\xcb\xdd\x5c\x24\x92\x88\xf8\xf3\xd7\xb0\xb0\x76\xbc\x6d\xdd\x1e\x39\x66\xe5\x3b\xd2\x13\x94\x91\x64\xfb\x89\xa9\xbc\xfe\x51\xd7\xd9\x9d\x92\x1e\xe9\x40\xd1\xa7\xda\x06\x7e\x68\x02\x6e\x37\xf9\xad\x60\x4f\x44\x03\x54\x6f\x0c\x7b\xa4\x88\x51\x4a\x84\x02\x73\xf7\x62\xdd\xdf\xa5\x95\x39\x34\xfe\x52\x40\x46\x9c\xff\x9b\x8d\xbd\x3c\x52\xeb\x53\x73\x22\x97\xb1\x30\x58\x43\xb9\xcb\xbd\xdc\x5a\x31\x16\xe9\x15\xcd\x00\x10\x87\xb3\x27\x06\xe4\x65\xd5\xdb\x5c\x23\xd0\x30\x0b\x98\x8f\x0e\x22\xd7\x4c\x67\xac\x94\x57\xff\x04\xeb\x84\x60\xf1\xf2\x83\x5c\x54\x8e\x02\x37\xa8\x16\x53\xbb\x5f\xd3\xcc\xa1\x55\x65\x4e\xc2\x7b\x1c\xe4\x85\x1b\x02\x25\xe7\x58\x7a\xd2\x22\x8e\xaa\x0b\x99\x9e\xac\xbc\x5e\xe0\x52\x60\xee\xad\xef\x4b\xe7\x2f\xf8\x75\x52\x3c\xbc\x22\x53\x9c\xaa\x35\x51\x0d\x30\xfa\x73\xf3\x6a\xf9\xf9\x1d\xbc\xec\xc1\x22\xc0\xd0\x23\x54\x61\x37\x2f\xc8\x65\x4f\x94\x51\x6e\xde\x78\xfd\x5a\x52\xa2\xc8\x4a\x9b\x63\x50\xa3\x5d\xa7\x38\x01\xeb\xca\x72\x82\xa8\x2c\x4a\xe8\x33\x26\xac\x82\x99\x32\x95\x4e\x71\x50\x39\xc4\x68\xd4\x75\xaf\xca\xeb\x28\x32\xb9\x7c\x26\xc7\x71\xb9\xa7\xe7\xdd\x2f\x9e\xe2\x89\xb1\x71\x9f\x30\x18\x18\x8c\xb0\xa2\x28\xef\xbc\xb7\x38\x91\x0b\xd5\x94\xc2\xa9\xb0\x60\xea\x50\xda\x70\x19\x25\xd5\x0e\xa6\x32\x4f\x72\x71\x26\xbc\x0c\x4c\x2f\x56\xbf\xb9\xea\x3e\xd9\x44\x89\x48\x5f\x46\xa3\xed\x39\x70\xa8\x77\xb0\xff\xc0\xfe\x9e\x03\xc3\xc6\xa1\xae\xc1\xde\xae\x0f\xfa\x7a\x0c\x6a\xba\xa2\x8c\x32\x91\xa2\xef\x74\xbe\xa8\x28\xc8\x43\xca\x75\x2c\x01\x55\xae\xe6\x9e\xff\xea\xda\x3f\x00\x40\x54\x30\x1e\x7f\xa1\xf4\xa9\x73\x4d\x64\xf6\x3a\xe6\xf2\xf6\xa7\x53\x5e\x51\x54\x2c\xf1\x29\xc2\x93\x94\xd7\x7e\xaa\x50\x48\x4f\x72\xec\x11\x2e\x4c\x82\x34\x80\x90\x8c\xca\xa5\xf3\xe5\xd3\x5f\x6a\xf1\x6e\xc3\x00\x42\xc8\x1b\x36\x80\x84\xf1\xb6\xca\xfe\xc1\x1d\x21\x5a\x6b\xff\x88\xa2\xb4\x21\xf3\x47\x98\x41\x4d\x21\x87\xa1\x8b\xce\x48\xac\xd0\xe8\x51\xcd\xaf\xb0\x2a\x5a\xbd\xb1\xac\xd4\x64\x04\xe0\x06\x8d\x1e\x0c\x3f\xa9\xd1\x43\xe0\x08\xdb\x3c\xa4\x13\x38\x81\xb9\x83\x10\xc2\xa2\x46\xb4\x2b\xaf\x65\xfb\x06\xf2\x2e\x36\x32\x49\xa2\x60\x27\xad\x1d\x4c\x66\x6b\xec\x1c\x44\xf2\x6f\xc4\xcc\xc1\xd3\xbd\x13\x66\x8e\xda\x51\x6e\xd7\xca\xd1\x92\x81\xee\x9c\x95\x63\x5b\xc3\xdd\x59\x23\x07\x2f\xdd\x9d\x37\x72\x44\xb0\xe0\x37\x65\xe3\x68\x96\x0f\xdb\xdf\x02\x4d\x99\x38\xf8\xc8\x6f\xc4\xca\xa0\xc4\xd7\x80\x85\x83\x99\xd4\xb8\x85\xa3\x27\x3b\x19\xa4\x61\x00\xaf\x0e\x99\x9e\x99\xf1\xb8\xe9\x88\xa2\x5b\x05\x25\x6e\xbf\xd5\x87\xa4\x83\x85\xa0\x28\xd5\x6d\x52\xe5\xc5\x8a\x8b\x8c\xb0\xc0\xf1\xef\x3b\xd8\xbb\xb7\x6d\x8f\xaa\x1c\x03\x4f\x24\x3d\x44\x59\x5b\x11\x2b\xa4\x74\xe9\x44\xf9\xd2\xeb\xf2\xb9\x6b\x7e\xb5\x45\x1d\x35\x74\x14\x72\x7d\x56\xd2\xea\x34\x45\x28\xde\x3c\x62\x7d\xae\x06\x81\x0e\xfa\x88\x97\x32\x14\xd4\xa0\x80\x0b\x95\x7a\x74\x9c\xec\x2d\x55\x8e\xc0\x8c\x94\x86\xc6\xe3\x63\x14\xe3\x89\x6f\xda\x24\x90\x46\x0d\x4d\xaa\x11\xa9\xba\xd4\xd6\x60\x2d\x88\x2a\x66\xb1\x25\x33\x6b\xcb\x97\xd5\x21\x6e\x08\xad\xb6\x5e\x9a\x48\xbd\xa2\xba\x68\xcd\xcc\x5d\x64\xba\x57\x82\x2a\x9c\x31\x29\x5f\xb5\x0b\xd5\xab\x1b\xa7\x2d\xc8\xc9\xa4\xa5\x22\x43\xd8\x78\xfd\x27\x21\x2c\x32\x78\x2d\x7a\xfb\x34\x4c\x52\x74\x48\x5b\x92\x9a\x7a\xba\x68\xb5\x48\xb2\xf4\x15\xf6\x04\x5d\x4a\x53\x72\x8c\xd7\xf6\x24\x4c\x59\x58\x9e\x36\xb6\x11\xd5\x88\x59\xc2\x6b\xd1\x07\x56\x64\x25\x7a\x2d\x6e\xbf\xe6\x34\xc9\x80\x60\x0f\xab\xcb\xfb\x90\x51\x20\x52\x08\x84\xde\x4e\x84\xd4\xc9\xd9\x59\xc7\x4a\x8c\xd5\xbd\x82\x15\x82\x9b\xc4\x6a\xa9\xce\xd1\x98\x4b\xe9\x76\xa7\x57\x89\x57\x3f\xbb\xd2\x91\xdd\xf4\xec\x8e\x72\xe7\x33\xc9\xca\x86\xea\x77\xa2\x1d\xf6\x04\x34\xc5\x4d\xb8\x04\xf9\xca\x55\xb3\xdb\xaa\x9e\x06\x8e\xa8\x8f\x3f\x6d\x64\x12\x88\x0f\xca\x89\x4f\x82\x7f\x1b\xd2\x86\x08\x69\xb1\xb4\xf1\xc8\x8a\xab\x15\x4c\xb8\x43\xe7\x7c\xe3\xd3\x5f\xab\x3d\x05\x92\x3a\x49\x84\x8e\x18\x7e\xbc\xfe\xa4\x02\xbb\x0d\x0a\x5b\x47\x54\x32\x3a\xa2\x22\xf6\x92\xd2\x12\x19\x72\xd7\x1c\x35\x76\xfe\xb8\x99\x27\x82\x50\x58\x28\x95\xc0\xca\x9b\x85\xea\xcc\x55\x6c\x8b\xd3\x90\x40\x1a\xe3\x7a\x66\xe4\x76\x1c\xc1\x6e\xbf\x4a\x19\x44\xf6\x71\x7a\x4e\x58\x8d\x6e\xbe\x6e\x1e\x15\x16\x8d\x53\x59\x69\x25\x4c\x62\xad\x37\x85\x46\x6e\x3c\xe4\x14\x27\x26\xa8\x0a\xba\x16\xa5\x6c\x13\x2b\x9d\xb9\x88\xc7\x5a\x53\x98\xbd\x7e\x3b\xd4\x0c\x89\x7d\x7b\xec\x26\x80\xf9\xfe\x10\xb4\x5c\xee\x65\xaa\x22\x65\xf3\x6a\xa8\x8d\x49\xe8\x1d\xe1\xa5\x60\xe7\x63\xc3\x22\xc0\xa3\x8f\xea\x05\xe3\x0c\xe8\xb9\x41\x59\xed\x91\x33\x90\x04\x09\x1a\x7b\x31\xd3\x96\xe3\x8b\x13\x2c\xad\xad\xf5\xe9\xd2\x83\x1b\xa5\xe9\xbb\x1c\x2e\xdc\xf4\xf2\x12\xbc\xf6\x9c\x2d\x3c\x01\xe8\x7f\x51\xe3\x07\x96\x7b\x2e\x94\x7a\x37\x90\xec\x54\x69\x8e\x22\x4e\x4e\xe6\x62\xf7\x16\x97\x62\xf7\xa3\x23\x63\x54\x6e\xa2\x46\x74\x41\x7a\x72\xca\x3d\x8d\xd5\x66\xb7\xde\x60\x1c\x9c\xea\xea\x13\xa7\x71\x53\xc2\x1b\x56\xc6\x46\xca\x06\x07\xba\x3d\x53\x8d\x5a\xb0\x3c\x7f\xe9\xde\x3d\xc9\x97\x77\x7a\x41\x18\xbf\x1b\x62\x05\xec\x3e\x67\xdc\xcc\x78\x6d\xb0\x55\x81\x02\x14\xe1\xc7\x5d\x8d\x1b\x58\x72\x58\x96\x3a\x90\x61\xd4\x16\x84\xd8\xab\xc2\x42\x55\xa9\xe9\x69\x2c\x0b\xf1\xf2\x72\x63\x43\xf1\xb0\x25\xaa\x83\xad\xaa\x80\xdd\xc0\xe8\x72\xc0\xba\x18\xbe\xb9\x0b\x2b\xa5\xab\xa7\x1b\xe6\x9b\x07\x59\xa4\xd4\x6b\x81\x73\xf6\x7b\x23\xc0\xad\x3c\x16\x76\x4f\x60\x23\xa1\xa8\x8a\x86\x6d\x24\xb9\xbc\xed\x19\x84\x30\x08\x01\xe7\x80\x7a\x71\x51\xaf\x25\x12\x96\x6d\x09\x36\x18\x7b\xd5\xe4\x97\x22\x12\xc4\x22\xa7\x2c\xf1\x86\x8b\x22\x34\x31\x65\x3b\x42\x46\x20\x16\x71\xef\x5b\x79\xf5\xd6\x27\x1a\xb6\x36\xbf\xac\xcc\xdd\xdb\x7a\xbd\x81\x1b\xff\x12\x46\x4d\x34\x23\x0c\xf3\xb0\xc8\xea\x4d\x5a\xb1\xfa\x54\xe5\xd1\x34\x08\xc1\x58\xdb\x56\x32\x5d\xca\xa3\xc1\xbb\x6b\x6a\x71\x46\xde\x2f\x1b\x81\x4e\x2c\xd6\xa2\xf0\xef\x93\x91\xb8\x12\x32\x34\x84\x2e\x76\x46\x19\xaf\x34\x97\xcd\xa1\x1e\x05\xac\xe3\x74\xcc\x07\xe9\x43\x6a\x81\x4b\xe7\x57\xe9\xfc\x0f\xb8\xd5\xfa\xbb\xf0\x05\x4e\x06\x6a\x14\x6b\xd6\x9c\x68\xde\x7c\x25\xf7\x12\x6c\xad\x11\x4b\xc8\x37\x52\xad\xd4\x53\x0e\x5a\x06\xcf\xb7\xca\x66\x9a\x10\x85\xaf\x58\xa1\x4e\x15\x9e\xf4\x78\x7d\x02\x68\xf0\xe6\xde\xab\x70\x22\xb4\x2e\x8d\x52\x9f\x94\x0b\x8e\x9d\x99\xf4\x73\xed\x12\x6c\xed\xbb\xdf\xc2\xc1\xc2\xd1\x66\xcd\xef\x68\x0a\x45\xab\xd1\xf7\x13\x70\x42\x0f\xb4\x90\x4f\x5b\x34\x14\x80\x3e\x72\x4c\xb9\xb0\x4b\x5f\xbf\x44\x41\x71\xfd\xcb\xf2\x4a\x83\x97\x94\x5a\x14\x49\x4e\x04\x3d\xb6\x64\x93\xe4\x98\x93\xb2\x10\x4e\xb2\x64\x48\x33\xd6\x18\x1d\x12\xe3\xa6\x46\x2c\xcd\xef\x5f\xee\xcc\xd2\xda\x9d\xeb\x93\xc4\x21\xad\x47\x28\x7c\xeb\x48\x61\x2a\x67\xe9\x8c\x81\x4c\x49\x60\x0c\xac\x7f\xb9\xb1\xc5\xc0\x6e\x88\x9a\x35\x9c\xa8\x9f\x8c\xf0\x4e\xc8\x4a\x42\xb4\x77\x20\x89\x15\x2a\x20\xa3\xb9\x09\x62\x62\x5a\x3b\x41\xd8\x0a\x86\xae\x50\x76\x03\x3e\x22\xea\x09\xb3\x4d\x1f\xd1\xdf\xd3\xb9\x5c\xcd\x8c\xa8\xd0\x7d\xfb\x75\x79\xfd\x91\x66\x0e\x74\x68\x22\x8d\x64\x18\x0f\xc9\x09\x45\x58\xe3\x8d\xab\xe3\x99\xa2\x9b\x72\x7e\x8c\x22\x4d\xd9\xc7\x3c\x60\x3b\x54\xbd\xa4\x0d\x66\xac\x20\xff\xe9\x37\xc5\x36\xb1\x95\x4c\xc1\x1a\xb3\xf2\x9d\x86\xf1\x21\x5e\xc4\xb0\x43\xa8\x33\x95\x2d\x98\x9f\xc2\xba\xcd\xe4\xda\xa9\xf1\xc0\x5f\x46\x46\x45\x47\xa1\xa0\xe0\x97\xd1\x31\xfe\x97\x18\x4f\x32\xcc\xf6\xec\x6d\x1e\xa4\x62\x24\xd8\xab\x0d\x1b\x98\x05\xa4\xa1\xca\xf1\xfa\x3c\x05\xe0\x2d\x6e\xbd\xf9\xb2\x74\xf1\xb1\xfc\x2b\x77\xcb\x04\x55\x81\xfa\xb6\x9f\x70\xef\x9c\x80\x6f\xb0\xf5\xf3\xab\x95\xca\xbd\xab\xd8\x9d\x4e\xa4\x08\x62\x09\x31\x77\xf9\xf3\xea\xca\xf7\x46\x5b\x34\xf1\x6d\x7a\x87\xb2\x5a\x5b\x49\xb0\x65\xf7\x18\x07\x6c\xae\x8b\x47\xc5\xd2\xe2\xe2\xdf\x3d\x88\x7e\xbf\xac\xda\x30\x6c\x4d\xab\x68\x81\x0f\x4f\xfc\x14\xc6\xbf\x1b\xc7\x4d\xde\x12\x84\x13\x66\x72\xc4\xf8\xab\x7d\x94\x6e\x30\xf0\x28\xc5\x11\xb7\xe1\x76\xc1\xca\x36\x8e\xaa\x1c\xa0\x4f\x51\xf9\xe1\x82\xbb\x39\x8b\x31\x9c\xa7\x17\x4b\x0f\x6f\x73\x77\xbd\x1a\x60\xee\xa3\xc5\xd2\xfc\x69\xec\x5d\x3a\xbd\x09\xff\xd5\x92\x19\xb3\x35\x93\x6e\x41\x0e\xcd\x77\x28\x36\x9f\x14\x1f\x0e\xa0\xb7\x44\xbf\x2d\xe0\x04\xc6\x49\x5a\xd9\x54\xce\x86\xe5\xad\xda\x98\xa7\xcf\xb8\x2f\x9f\x8a\xa8\x03\xea\xb1\x85\xc2\x1a\x5f\x2c\xdf\x7f\x8c\xdd\xc2\xa5\x8b\xa7\x8a\x8e\x1c\x9b\x6c\x64\x5b\x22\xc7\xbe\x99\x7e\xab\xf3\x63\xd6\xd4\x6e\x6e\x77\x9b\x33\xd3\x79\x47\x34\x7f\x34\xec\x11\x6a\x19\x91\x92\x7b\x00\x1a\x59\xcb\xcc\x83\x62\x84\xfc\xfd\x78\x22\x33\x94\x05\x21\x63\x15\x80\xc7\x2a\x76\x5d\x3f\x5d\x5a\xbd\x16\x5a\x2c\x27\x36\xaa\x4b\xcf\xdd\x69\x4c\xf4\xe6\xd3\xf8\x70\x96\x62\xeb\x6f\x57\x7e\x3a\x03\x27\x92\x3b\x7f\x81\xcd\x43\x7c\x4b\x93\xfb\x0a\xd6\xe9\x57\xf5\x54\x24\x66\x82\x13\xe2\x42\x23\xd4\xeb\x3a\x5b\xf8\x98\x82\x63\xc3\x43\xe3\x58\x1e\xaf\x8d\xff\xe7\x70\xf1\xdd\x77\xff\x60\x71\x8b\xe1\x76\x92\x7c\xe9\x02\x85\xa0\x50\x1a\xfa\x30\x9c\xbf\x9f\x7d\xa6\x12\x5c\x4c\x93\x84\x00\x48\x02\x15\x18\x7d\x07\x3f\xdc\x04\xb9\x04\xcc\xf5\x11\x00\x97\x59\x46\xb9\x4b\xaf\x50\x4c\xf9\xc0\xd5\x82\x45\x1a\xc0\x40\xde\xce\x59\xf9\xc2\x54\xcd\x40\x8e\xda\x76\xc6\x32\x95\x45\x57\x03\xfa\x6a\xde\x07\x3a\xdd\xf5\xcf\x4b\x57\x2f\x6c\x07\xb9\xb7\x64\xc5\x91\xa0\xec\x89\xa7\xa3\x82\x65\x33\x4f\x63\x2b\x68\x71\x40\x11\xce\x8e\x35\x45\x8a\xfb\xf0\xc2\xd6\xfa\xd3\xed\x93\x92\x2d\x4e\x1c\xc5\x0e\xe9\xb5\x4b\xc9\x7b\x3c\xe9\x92\x8a\x62\xd6\x3a\x10\x59\xbb\x8a\xc2\x70\x95\x94\x7f\xd8\xd5\xdb\xd7\xb3\x57\x25\xdc\x28\xd7\x41\xf1\x62\x4f\xd7\xf0\xc1\xc1\x1e\xe3\xc3\xbe\xae\x7d\xca\x30\x76\x8a\x5e\xe5\x52\x96\x0a\x28\x94\xc4\x61\x70\x49\x34\xcf\x2f\x97\xb7\x39\x83\x03\x83\x5b\xd4\xf6\x74\xbf\xbf\xe1\xdd\xb3\x95\x85\xa7\x5c\xf3\xac\xfc\xfc\x4e\x50\x4b\xf9\xd2\x09\x3f\x57\x43\x8b\x7c\xd4\x2a\x8c\x8c\x87\x34\x52\x27\x49\x08\x4d\x69\xf9\x34\xde\x94\x64\xab\xab\x87\x31\x51\xb8\x4c\x2d\x76\x76\x17\x3b\x5e\xf0\x62\xd0\x35\xf3\x5f\x02\x72\x1a\xbc\x69\x2a\x50\x24\x1f\x1d\xbb\xa0\xb7\x37\x2e\x6b\x12\x54\x49\x27\xd1\x4d\x83\x91\x6e\x6d\x9c\x8c\x62\xa6\xfe\x76\x51\x8b\x15\x38\xd8\xc1\xf1\xda\xc8\x4f\x5a\x51\xec\xb4\x1d\x84\x8f\xc3\xb6\xc8\x32\x14\x29\xcf\x89\xf9\xc1\x6b\x4d\x0d\x89\xa2\x1c\x03\xd4\xdb\x63\x1c\x46\x4e\x34\xc0\x36\x3f\x68\x62\x3b\x6c\x23\xab\x4a\x9e\x4b\x0b\x25\x58\x76\x82\x2b\x2f\x1f\x97\xcf\x7d\x8f\x96\x3e\xca\xa1\x89\x1a\x75\x43\xf8\x1b\x41\xcc\x66\x9d\xa6\xf1\x91\xfb\x3d\x62\xa1\x90\x47\xbd\x45\x4b\x45\x05\x8b\x43\x62\x25\x02\xb6\xb7\x5c\x38\xc8\xa5\xb3\xb1\x50\x0b\xb1\x74\xbc\x60\x97\x08\xf4\x09\x22\x2b\x04\x25\x20\xb1\x45\xc3\xd8\xbf\x3a\x36\x27\xe3\x78\x65\x6e\x8f\x78\x09\x6a\x3a\x1f\x8d\xdc\x3b\xb6\xf6\xcd\x20\x5b\x09\x61\x27\x24\xc3\xd3\x88\xdb\xb1\xe8\xa6\xc8\x0a\x44\x77\x94\x15\x59\xf4\x5d\x79\xd2\xc8\x74\xc9\xea\x6e\x90\xe6\x47\xce\xab\x44\x79\x5f\x01\x8d\x13\xe6\x31\xcb\x73\x23\x73\x96\x30\x13\xd1\xa4\x51\x51\x06\x4c\x5e\x50\x9d\x2b\x4f\x34\xce\x0d\x1c\xa1\x71\x30\x39\x15\x97\xcd\xf0\x89\x26\x91\x32\x6e\x3d\x33\xbc\xe6\xf2\x13\xa0\x38\x4e\xf3\x2c\x92\x7c\xbc\xc6\x77\xff\xd8\x56\xdd\xc7\x84\x45\x8a\x14\x94\x89\xe4\x1f\x0c\x8d\xe0\x8f\x1f\x66\x4c\x2c\xaa\x24\x0a\xa3\xa4\x34\x2d\x0d\x44\xa0\x24\x69\x3f\x75\x00\xd4\xaa\x98\x0a\x23\xe7\x26\x69\x11\x4a\x69\x45\x0d\x23\x54\xf9\x64\x75\xb9\x47\x18\x2d\xc2\x8d\xbf\xc9\x34\x41\xdd\xdc\xb1\xa0\x3d\xad\x6a\x07\x47\x41\xb9\x50\xf8\x94\xf5\x29\x28\xe1\xa0\xec\x16\x44\x9e\x6d\xce\x84\x35\x01\x34\xe2\x8f\x39\x6d\x90\x0a\x5c\x39\x57\x1f\x60\xd2\xa7\x6f\xd1\x20\xe7\x24\xdb\x65\xca\x37\x37\x30\x47\x8e\xbe\xc1\xa8\x8a\x55\x4a\xfb\xf2\xb2\x6d\x83\xaa\x7a\x12\x9a\xe8\x91\xd8\x58\x86\x3b\xc5\x05\x51\xdf\x49\x71\xea\x79\x2e\x6f\x53\x8a\x31\x86\x5a\xdb\xd9\xd1\xb4\xe8\x1d\xae\x2c\x4a\xfb\xfa\xa5\x3b\xff\x82\x63\x84\x31\x27\x7a\x7d\x09\xe4\x6a\xf9\xd6\x86\xa8\xb5\x73\x73\xa3\x72\x6f\x49\x99\x16\x2d\x11\x80\xda\x1e\x76\x27\x40\x0b\x8c\x8c\x37\x11\x5a\xcc\x93\x05\xcc\x32\x4e\x1d\x42\x91\x1e\xcd\x59\x63\x24\x85\x1a\xc7\x4c\xd9\xce\x72\x18\x4b\xc3\x54\x4c\xa4\xc7\xf2\x66\x73\xe3\x2e\xdf\x7d\x55\x79\xb3\xd0\x30\xc6\x86\xca\x43\x11\xa2\xa4\xe5\xa1\x18\xbe\x70\x16\x79\x12\xcc\x1b\x16\xaf\x28\x2d\x1e\xe1\x3b\xac\x2b\x56\xe0\x0f\x91\x17\x95\x0e\x79\x31\x7b\x54\xc4\x15\x36\x3e\x99\x54\xe8\x97\x5b\x98\x34\xc0\xd4\x7d\x3d\xc3\xc3\xbd\x07\xf6\x19\x43\xc3\x5d\x83\xc3\xca\x8b\x24\x46\xa8\xdc\x3d\xa9\x6b\x05\xbc\xaf\xaf\xff\x83\xae\x3e\xa3\x7f\x60\xb8\xb7\xff\x80\x32\xb7\xda\x7d\xf5\x2d\xdc\x47\xaa\x33\xeb\xd5\xeb\xb3\xca\x33\x76\x9f\x55\x80\xab\xb5\xef\xc1\xf4\x5b\x98\x50\x04\xb4\x33\x6e\x8c\x64\xd2\x78\x23\xd1\x07\x06\xe2\x83\x94\x21\xfb\x02\x04\x10\xc6\x43\x79\x2e\x4c\x5d\xd7\x14\xc4\x8c\x72\xaf\xde\x57\xc3\xb6\x3b\x5c\x13\xda\x22\xd0\x75\x11\x82\xd1\x9e\x1f\x77\x5a\x4d\x00\xbb\x29\xb1\x8c\xb8\xe8\xfc\xcb\xde\x5b\xd0\x0a\x8e\x59\x05\x50\x3e\x47\xac\xd8\xdc\xad\xcd\xab\xee\xfa\x09\xf7\xfa\x0f\x82\x1c\xce\xdf\xa3\x78\x2c\x65\xda\xd6\xbe\x20\x1e\xd2\xf9\x55\x0a\x34\x13\xa9\xdb\x29\xd0\x1c\x3b\x34\xc9\x3a\xd0\xd9\xa9\x4c\x1b\x10\x2c\xe4\x00\x3f\xc9\x36\xc0\xef\x68\x11\x78\x06\x00\x75\x73\xae\x1d\xe4\x93\x57\x2b\x92\x2e\xfc\xb1\xbc\xb0\xa4\x2c\x3d\xbf\x30\xcf\x36\xb5\xb5\x5f\x65\x11\x28\x4b\x74\x53\x06\x9f\xa4\xd1\xc7\xb3\x84\xcc\x1c\x3b\xc1\x8b\x98\xb5\xf6\xb6\xb8\xc1\x66\x99\x04\xeb\x98\xa3\xe4\xfe\xa7\x2e\x0a\xd6\x38\x63\x97\x83\xea\x08\xd0\x79\xfc\x25\xd1\xa1\xf3\xfb\x93\xcb\x40\x7d\xf6\x11\x7a\x0c\xbc\xde\xe1\x34\x68\xa5\x24\xf1\xbd\x42\xb1\x4c\xf2\xa9\x7c\x6b\x35\xad\x59\x2e\xc7\xd4\xb4\x0e\x46\x90\x94\xfc\xb8\xf2\xbf\x3b\xd5\x65\x51\x2f\xce\xa3\xeb\xfe\x36\x30\x3f\xbf\xc9\x2a\xfb\xac\x94\xec\x60\x95\x7d\x69\xf4\xce\x3f\xdf\x50\x63\x87\xa5\xaa\x87\xd1\x82\x63\x26\xc1\xe1\xc0\x77\x4d\x27\xe8\x76\x83\x49\x13\x4e\xba\x60\xe7\xd3\x70\x68\x00\x80\x18\xe9\xb8\x79\x95\xf5\x51\x4d\x2e\x05\x01\x49\x4e\x84\x4f\xc0\x94\xa1\x72\x91\xfb\xb8\xd9\xf9\xad\xc1\x0d\x82\x59\xe1\xe1\xf6\x70\x47\x96\x32\x27\x49\xd2\x5a\xc9\x1c\x59\xc9\xdc\x48\xb8\xf1\x89\xc8\x16\x56\x4d\x91\x28\x8a\xc5\x1d\x72\x41\xd4\x91\x60\x6c\x77\xa5\xd6\x38\x2b\x12\x2c\x59\x51\x3f\x71\x27\x28\x71\x37\xcf\x24\x27\x60\x3b\x3d\xf2\xb7\x4d\x6c\x13\x6d\xf2\xb7\x39\xb2\xb7\x31\x84\xc6\x88\x2d\x7a\x7a\x2d\x95\x5b\x0d\xab\x2c\x86\x28\x43\xcf\x5f\xee\xc3\xef\x0e\x24\xda\x33\xd1\x2a\x49\x04\x20\xa2\xf5\xce\xb2\xbb\x30\x17\xbb\x85\xc2\xb4\x39\x3b\xa5\x3b\xc5\x11\x21\x5a\x7f\x70\x15\x9f\xd6\xca\x12\x71\x28\xc6\x96\xce\x51\x10\x43\xfd\x7d\xfd\xee\x1f\x1f\xd0\x27\x5c\x72\xd9\x70\x21\x3b\xb1\x56\xfc\xbf\x5b\xae\x3e\x47\x37\x07\xf1\xe9\xc1\xc2\xb5\xf2\xa2\x95\x09\xf1\x9b\x44\xef\x04\x13\xea\x2b\x2b\xfd\xf6\xb8\xf3\xf3\xf4\x4c\x5d\xb5\xa5\xdf\x1e\xcf\xde\xf2\x72\x89\xe2\xc8\xce\x8d\xfa\x6d\x0e\xae\x35\xa3\x78\xab\xeb\x77\x87\xd7\xe1\x6f\x63\x93\xfe\x3a\x7b\xf0\x2d\x6c\xb6\x56\x6f\x25\x3f\x85\xcd\xd9\xc1\x6b\xa2\xdc\x05\x2b\x31\x69\xbc\xb5\x5b\x7f\x29\x54\x35\xc0\x4a\xa0\x6b\x85\xca\xba\xe2\xed\x48\xb8\xb0\x92\x94\xb3\xdc\x09\xbe\xd6\xe3\xf2\x97\x02\xd7\xf5\x4b\x78\xb1\x6a\x6a\x5c\xc9\x54\xc8\x1d\x21\xb4\xde\x7b\xf4\xeb\x75\x1e\xab\xf1\x4b\x35\xec\xec\x49\xe6\xc1\xf2\x07\xfe\xeb\x8d\x73\x47\x87\x17\xd1\x4f\x6d\x67\x0c\x10\x91\x0d\xd5\x92\x9b\x20\x24\x42\x5b\x7d\x79\x90\x29\x4b\x46\x87\x13\xd5\xca\x4d\x3b\xf9\xc9\x04\x67\x92\xe9\xaf\xc5\x27\x37\x75\x4b\x22\x49\x31\xf3\x93\x92\x6d\x86\xf0\x13\xe6\xda\x84\x56\xb6\x7f\x36\xff\x6a\xee\x98\x1a\x0a\xb4\xab\x9c\x13\x53\x43\xc3\x89\x9f\x41\xca\x7d\xfd\xe7\x1f\x75\xec\x40\x39\x8a\x34\xba\xe9\xe0\x6e\x95\x93\xa2\x95\xed\x38\x55\x2b\x37\x34\xbc\x30\x7a\x1e\x60\x4c\x43\xf1\x24\x03\xdc\x59\x19\x5c\xdf\x55\xd1\x27\x59\x39\x2d\x1f\xf5\x74\xf5\x0d\x7f\x74\xa4\xfb\xa3\x9e\xee\x3f\x1d\x19\xfe\x78\xa0\x47\x41\x4c\xfd\x73\xd1\xe0\xfa\x87\x86\x55\x10\xf0\x27\xe5\x4b\x07\xba\xf6\x2b\x51\x7b\x3f\x47\xbf\x8c\x8d\x01\xa8\x8e\x07\xb5\xd3\x18\xc9\x14\x53\x74\xfc\x73\xa9\x21\x4e\x99\x3b\x6a\xa7\xa6\xda\xb1\xea\x7c\xdb\xff\x69\x03\x25\x06\x9b\x13\x59\x29\xe3\xe8\x14\x96\x4f\xa7\x18\x41\x58\xc7\xf8\x3a\x16\x92\xa0\x17\xfd\xba\x20\xaa\x84\x7d\x6c\x9c\xf2\xdc\x9d\xbd\xcd\x61\xa3\xee\xec\x5d\x6c\x63\x42\x2c\x17\x9d\xd6\xa9\x2e\x08\xf6\x78\x9f\x5f\xa1\xc4\xce\xff\xd3\x06\x7f\xb8\xb3\x2f\xdc\xcd\xc5\xea\x37\x37\x31\x4b\xed\xcc\x05\xec\xfa\x82\xe6\xfa\x87\x7e\x69\x0f\x78\x87\xbd\xb7\xee\x69\x45\x28\x13\x41\x9f\xb0\x0a\xe3\x76\xca\x78\x67\x5f\xcf\x70\xfb\x00\x70\xa7\x7d\xe0\xe0\x70\xfb\xde\x9e\xbe\x9e\xe1\x9e\x76\xab\x30\xa2\x8a\x00\xa4\x77\x51\xc1\x7a\x76\xfe\x97\xd7\xf3\xf0\xf2\xcf\xd3\x33\xf8\x3a\xfe\x73\x10\xff\xcb\x20\x8c\xf2\xc3\x05\x65\x20\xe0\x47\xb6\x53\x20\x76\x71\x17\x96\x89\xa9\x0e\xa7\x78\x94\x83\x42\x54\x68\xb7\xd6\x5f\x95\xbe\xbb\xc6\x99\x9d\x41\x33\x16\xf9\xcd\x78\x6c\x9e\x41\x33\x68\x77\x6f\xbc\x23\x52\x7b\x45\xcc\xd4\xb8\x89\x1f\x45\x78\x8a\x96\x03\x6c\x4b\xa5\x70\xa9\x10\x61\xee\xec\xf7\xe8\x51\xa7\xe0\x12\x94\x67\x3f\x61\x7d\x8a\xea\xf5\xd9\xf2\x95\x47\xf1\x04\x16\x45\x76\xf2\x88\x3d\x81\x2d\x50\xfc\x68\x41\x63\x6f\xff\xfe\xae\xde\x03\x14\x9f\x4c\x6d\x16\xa6\x78\x65\x7a\xbd\x90\x30\x14\x4e\xb5\xc8\xe6\xe7\xbc\xb7\xb7\xd6\xa7\x2b\xcf\x5f\xfa\xbd\x7a\xc2\x84\x2f\x82\x88\xe0\x66\x0c\x48\x2f\xc5\xc6\xf9\x16\xe3\x1d\xa2\x9a\x43\xf8\x5a\x49\xb7\x1c\xd9\xd7\x10\xf5\xb8\xeb\x53\x20\x19\x3d\x1a\x83\x15\xa2\x8a\x18\x3e\xb7\x86\x75\x7c\xe0\x6e\x3c\x7f\xdb\x90\x16\x04\x2c\x28\x7c\xeb\x77\x46\x0d\xa1\xd1\x44\xf4\x1e\x18\x1a\xee\xea\xeb\xeb\xd9\x6b\x0c\xf4\x1d\xdc\x07\x43\xed\xee\xdf\xbf\xbf\xeb\xc0\x5e\x55\x96\x19\xc6\x3f\x53\x24\x2a\xae\x2c\xc9\x17\xa7\xeb\x9e\x45\x38\x0e\x74\xf7\x1c\xd9\xdf\xb3\xbf\x7f\xf0\x63\x05\xe4\xda\xa7\xa2\x41\x8d\x65\x31\xdd\x3d\x54\x72\x48\x45\xe9\x4f\x6f\xca\xe7\x6f\xd7\xd4\x19\x52\x40\xcd\x1a\xff\x09\xeb\xc0\x3e\xee\x18\xdd\xa2\xd2\x5f\x5f\x3a\xcb\xcd\x29\xb0\xbe\x52\xc6\xea\x40\xdd\xd8\x4a\xb5\x1b\x96\x33\x62\xe6\x60\xba\x30\x90\x7f\x0f\xa8\x46\x87\x0f\x1f\xde\x35\x69\x66\xd2\x29\xfc\xb0\x07\xff\x83\x39\x13\xf8\xaf\x32\x07\x18\x0e\xc3\x9f\xa7\x17\x3d\x84\xcc\xb8\xca\x8d\xc5\x9f\xa7\x97\x40\x84\x52\x66\x21\xb5\x11\x5d\x79\xe4\xbe\x3e\x5f\xb9\x74\xad\xf2\xf2\x99\x3b\xb7\x81\x12\x19\x71\xa2\xcf\x53\x8f\x34\x6e\x84\x03\x70\x68\xe4\x87\xc6\xad\x4c\x86\xc6\x97\xb2\x8b\x47\x95\xe3\x3b\xbc\x4b\x87\xeb\xf0\x2e\xf5\x08\xa3\xd0\xc9\xc3\xab\x5e\xb9\xa4\x18\x5e\x2c\x4e\xc5\x00\xf9\xc4\xf4\x6b\x27\x89\x12\x68\xde\x11\xaa\xed\x33\x07\xf4\x72\x93\x39\x6c\xa1\xbd\x38\x5b\x3a\xf9\x40\xd4\x50\xa2\x12\x69\x4a\x84\x76\x1e\xeb\xff\x19\x07\x1d\x73\x4c\xb3\x49\xe1\x94\xc2\x70\xe2\x87\xdf\x96\x6f\x2a\xc2\x89\x6b\x40\x75\x1a\x5d\xd9\xa0\x2c\x44\xda\x31\x26\xd2\x5e\x99\x7c\xd1\x3b\x8f\x1e\xce\x4c\x19\x16\x0c\xda\x06\xe1\xd1\x89\x4d\xb1\x92\x51\x80\x25\x18\xa8\x58\x43\x75\x66\xa3\x44\xe1\xce\xd4\x79\xe7\x1e\xff\xea\xae\x3e\x81\xc1\x6f\xbd\x59\xa6\xac\x24\xd5\x6d\xa7\x8e\xde\x6e\xbf\x3c\x26\x6c\x9a\xd1\x8c\x39\xe6\xc0\xb1\xfa\xe9\x88\x95\x2b\x18\x1d\xa3\xbf\xc3\x8e\x2d\x48\xf7\x51\xd1\xcb\x06\x56\xd7\xf1\x71\xcc\x4d\xe0\xfe\x72\xc6\x44\x31\x53\x48\xe7\x32\x16\xc7\xb3\x72\xac\x42\x78\x87\xab\x34\xcb\x88\xb1\x6d\x5e\xad\xad\x2c\x46\x4d\xea\xdc\x5b\x97\xb1\xf9\x50\xb8\xa4\x47\x90\x53\x74\xfb\x02\x82\xf2\x76\x22\xe7\xd0\xc2\x49\xda\x31\x6a\x60\x7d\xf4\x5b\x2b\x70\x6e\x2a\x13\x3b\xea\xb8\x51\xa7\x62\xc2\x08\x1d\x1a\xfe\xe1\x5d\x58\xf0\xf5\xf0\x2e\x9c\xc9\xc3\xbb\xb2\x76\xd6\x3a\xbc\xeb\x30\xf0\xb9\x81\xc9\xab\x07\x0e\xe7\x7b\xf5\xfa\x3c\x2a\x67\x3e\x78\x98\xd2\x5a\xf8\xc9\x48\x1f\xf4\xaa\x8c\xb4\xc1\x5c\x50\x87\x3c\x8c\x3e\x0d\x3e\x50\x58\x5d\x1b\xaa\xff\xde\xfa\x74\x1a\x5a\x7a\x5c\x0c\x24\x06\x3a\x57\x18\xe1\x55\xda\xc0\x22\xd4\xd0\xbe\x13\x14\xb7\x80\x4e\xcf\xeb\xeb\x47\xcd\xb7\x80\xce\x08\x98\xdb\xa5\xb3\x6b\x60\xc0\x18\xea\x19\x3c\xd4\x0b\x67\xb3\x77\x48\x6f\x9b\xd0\x48\xa0\x2d\xa0\xf4\x08\xde\xb0\xc8\x31\x23\x54\xb7\x16\x10\xca\x30\xdd\xb3\x8b\xbe\x3a\xd8\x4a\x3a\xeb\x77\x74\x4b\x49\xae\x07\xdf\x52\xea\x77\x62\x61\x04\xc4\xef\xe0\x0a\x09\xc8\x6c\x9a\x42\x99\x98\x56\x10\xb2\x2d\x76\x6d\x97\x33\x1f\x1c\xec\xed\xdb\x3b\xd0\x05\x8b\x04\xc1\xb5\x1b\x07\x7a\xfe\xf3\x48\xf8\xbb\x6d\x4f\x6d\x18\x1c\xdc\xd3\x23\x70\x6c\x77\x18\xde\xae\xdf\x89\xa5\x29\x60\xef\xc8\xc2\x94\xa4\x55\x76\x5b\x0b\xa2\x45\x22\xaa\xaf\xeb\x83\x9e\xbe\x76\x63\x60\xb0\xff\x50\xef\xde\x9e\x41\x62\xe8\x70\xff\x9f\x7a\xb6\x2f\x50\x09\x32\x9a\x6a\x3c\xd0\xc8\x4f\x06\xdd\x72\xa2\x5b\x4d\xea\x76\x09\xec\x1f\xdc\x17\x3a\x9b\xb6\x43\x1c\xc2\x6a\xe1\x99\x54\x4b\xda\x36\x59\xd7\x7a\xea\x84\x5c\xfa\x8f\x83\xfd\xc3\x5d\xad\x20\xcf\x13\x42\x0c\x70\xbb\x04\x0e\xf6\x0c\xf4\x07\xa7\x22\xb6\x1f\xde\x2e\x89\x01\x44\xe4\x23\x42\xdc\x2e\x8d\x43\x3d\xdd\x07\x07\x7b\x87\x3f\x3e\x42\x7d\x7a\x89\xd0\x81\x2e\xd0\x0d\x86\xfb\x8f\xe0\xdd\xfb\xc8\xe0\xc1\xbe\x9e\xa1\x23\x1f\xf6\xf6\x6d\x5f\x54\xd6\xa0\xc2\x11\xa8\x50\xb5\x76\x54\xed\xfe\x42\x1e\x82\x43\xa5\xd5\x03\x81\xe5\xe2\x2d\x6c\x06\xbf\x7d\xe2\xf9\x1c\xf9\x60\x10\x04\xe0\x20\x9f\xba\xe1\xef\x5a\x30\x02\x19\x9c\x38\x75\x6b\x70\xb4\x7a\x18\x07\xe1\x0b\xde\xae\x03\x5d\x43\x43\xff\xd9\x3f\xb8\xb7\xbd\x25\x7b\xa2\x6e\x2c\x1e\x22\x14\xd2\x02\x13\x7e\xdb\x92\xcd\x52\x73\xc2\x7b\x5f\xfc\xa9\xe7\xe3\x96\x8d\x23\x12\x78\xcb\x29\xc7\xdd\x20\x4f\x7a\xcb\x14\xa2\x3a\x80\xb8\x31\x22\x31\xed\xc8\x98\x76\x74\x46\x64\x2d\xaf\x25\xb3\xd2\x7f\x70\xb0\xbb\xa7\x03\xef\xbd\xc3\x5d\x83\xfb\x7a\x86\xe9\xe3\xb6\xc9\x8e\x84\xba\x6d\x5a\x59\x74\xb6\x4e\x1b\x60\x80\x2d\xd4\x07\x02\x0a\x5b\xa3\x0f\x04\x04\xb6\x46\x1d\x20\x78\x1d\xc1\x2d\x99\xfe\x24\xd0\x1d\x2d\xb9\x4a\x49\xf0\xfd\xc3\x48\x86\xdf\x12\xfa\x59\xfb\xa0\xfd\x1c\xfc\xd9\x12\xca\x23\x21\xb7\x90\xe6\x6d\x5e\xaa\x5b\x48\x54\x70\x12\x82\xe2\xd0\x6e\x0c\xf6\xb7\x40\xb9\x92\x0e\x3d\x00\x0a\xff\x25\xa8\x2d\xa6\x94\x78\xb0\x53\x04\x13\xf0\x56\x11\xbe\xbd\x0b\xf3\x36\xf0\xe6\x72\x1c\x71\xb1\xbd\xd5\x26\x3b\x25\xd8\x53\xbb\x6d\x86\xe4\x72\x47\x90\xb0\x76\x11\x46\x70\xa4\x96\xca\xa6\x26\xd1\x83\x0a\xd3\x26\x83\xdd\x36\xb1\xdb\xa0\xa9\x79\xac\x7e\x7d\x11\xc1\x28\xaa\x93\x85\x92\x3a\x27\x0a\x97\x6f\x9b\x5d\x61\x0c\xc0\x34\x42\x81\xc2\xda\x47\xb1\x5d\xd6\x8d\xdb\x4e\x81\x88\x16\xcd\x2f\xb7\x4b\x32\xc1\x43\x0a\x05\xbc\xed\xd2\x67\x67\x52\xd2\x26\x01\x3a\xb3\xd6\xf1\xc8\x5d\xd3\x0c\xb5\x95\xf9\xaf\xea\x77\x0e\x26\xe5\xac\x3c\x69\xfd\x8e\xc2\x91\x60\x18\x1c\x2f\x16\x1c\x86\xf7\x57\x0b\x86\xc1\x81\x6f\x4c\x28\xe6\x59\xad\x3c\x91\xbf\xd9\x36\xe9\xf9\xb1\x1d\x10\x06\x1e\xd4\x16\x0b\x03\x11\x0f\xde\x1e\x0a\xdd\x6f\xaf\xaf\x09\xb0\x4d\xf2\x39\x7c\xdb\xcf\x69\xe3\x58\x7d\xff\x4f\xce\xfe\xdf\xf6\x50\x28\x14\xb8\x05\xe7\x03\xc7\xa3\xb6\x66\x31\x4c\xbe\xe7\x5d\xcd\xf0\xa3\x6f\xd6\xc4\xcf\x7d\x5d\x07\x8c\xc9\xf7\x83\x9f\xdf\xe7\xaf\xb6\xbb\x50\x1a\xc7\xd8\xd4\x18\x55\x35\xcc\x7c\x8a\x98\x40\x65\x29\x97\x00\x9c\x57\x4e\x75\xc2\x2c\xec\x09\xba\x93\xa0\xd1\x0a\xcb\x30\x62\xdb\x94\xc3\x05\xf8\xff\xec\x21\x8c\x4f\x11\x4f\x73\xe5\x45\x73\x22\x47\xfd\xcf\x3e\x39\x9c\x05\xe8\xf8\x1f\x03\x5d\xf2\x79\xbb\x60\x8f\xd8\x99\xc3\xbb\x30\x9c\xa6\x30\x92\x3b\xbc\xab\xdd\xfb\x2d\x45\x0d\xa0\x88\x58\xfe\xf9\xbd\x77\x3b\xdf\xff\xe3\x1f\x3b\xdf\xeb\x7c\xef\x7f\x4b\x8f\xa1\x57\xdf\xe1\x07\xfe\xf0\x87\x77\xff\xed\xf0\x2e\xfc\x01\x08\xf9\xb3\x62\xd0\x44\x54\xe9\xfa\x6b\x10\x7f\xfe\xf8\xb1\x57\x85\x28\xe8\x78\x39\x72\x3c\x58\x76\xec\xfc\xbc\x17\x87\x63\xf0\xc3\xe5\xc7\x5f\xc0\x56\xa0\xde\x02\x6f\x71\x54\x8a\x19\xe2\x12\x8a\xdd\x7d\xbd\xa2\xa4\x84\x2a\x98\x87\xc2\xd3\xe8\x39\x39\x40\x4d\x0b\x55\xea\x32\x0a\xcc\x19\xa0\x4f\xdc\x3d\x30\x36\x1d\xa8\xae\x2c\x63\x14\x04\x35\x6e\x90\x66\xaa\x71\x90\x18\xd2\xbf\x6a\xec\xb7\x26\xec\xfc\x94\x16\x42\x65\xed\x62\xe9\xcb\x17\xd5\xfb\xca\xd8\x37\x01\xca\x0b\x52\x31\x8d\xac\x9d\xed\xc8\x5a\x63\x00\x67\xd2\xf2\x3a\x0b\x68\x51\xf8\x21\x28\xd5\x6f\xae\x56\x9e\x5e\xc7\x6e\x02\xd4\x53\x40\x85\x91\x62\xbb\x78\x9d\x45\xf5\xba\x53\xed\xe5\xba\xae\x85\x0c\x82\x63\xb5\x30\x92\xe7\xfc\xbc\x1e\xe3\xa0\x28\x38\x8d\xff\x6a\x9a\x98\x79\xb5\xa4\xf9\x31\x23\x09\xe4\xa1\xa1\x3e\xa3\xdb\x12\x9d\xdf\x31\x29\x01\x1b\xad\x50\x5d\xe7\xe1\x74\x6e\xbf\xe5\xa0\x8c\x52\x62\xf4\x9e\xa7\x1a\xd5\x08\xa9\xf4\xe5\x99\xca\x43\x31\xa2\x7a\x20\x5a\x42\x50\xbd\xe2\xae\xd2\xff\xa0\x5a\x5a\x03\xf0\x19\x29\xe9\x12\xdf\xcb\xd3\x4c\x4d\x12\x54\x02\x9d\x90\xd7\x94\xed\x73\xaf\x5d\x67\xf1\x21\x01\xae\xf9\xdd\x5f\x0a\xdc\x28\x21\x86\x58\x6a\x76\xb3\xad\x25\x10\x34\xba\x49\xbc\x0a\x12\xf4\x37\xf4\x47\x2f\xa7\x78\x6a\x0e\x0f\x06\x4c\xe5\x3f\xc7\x8a\xa2\xc6\x2a\x88\xc8\xc9\x74\x4a\x84\x75\x77\x8c\x50\x5c\x5c\xa7\x31\x90\xb1\x4c\x18\xaa\xf8\x11\x66\x41\xda\x0b\xf6\xd1\xbf\xe2\x09\x44\x7d\x5c\x89\x44\x2f\xae\x1f\x00\x17\x40\xc7\xa2\x9a\x8f\xf5\x2f\x28\x05\xd4\xf2\xe9\xad\xcd\x2b\xe5\xe7\x77\x10\x3b\xc7\xb4\xe1\x88\xa8\xa8\x2a\x0f\x10\x8e\xe9\xca\xfd\x93\xfc\x5c\x8d\xfc\x2f\x2f\x7c\xb7\xf5\xea\x05\x87\x07\xba\x8b\xb3\xee\xe9\xfb\xfc\x80\xfc\xeb\xd6\x8f\x27\xc5\x31\xe1\x05\x3a\x6b\x82\xe4\x98\xec\xa0\x51\x29\x66\x15\x61\x35\x20\xce\xbd\x69\x33\x3a\x3c\x01\x4c\x8f\xa4\x6c\xd0\x56\x30\x68\x90\x0a\x1a\x6b\x57\x43\x1d\x24\xbf\x9d\x29\x0f\x12\x20\xcb\xe2\x99\x7f\xc2\x12\xc7\x54\xc7\x38\x86\xdc\xb4\x73\x8c\xd3\xe2\x68\x3f\xed\x85\x3f\x45\x66\x5d\x63\x95\xdf\xfd\xf5\x54\xfe\x76\xa6\x7c\xf3\x5a\xf5\xd2\xe9\xea\x8d\x25\xde\x4a\x09\x60\x6e\x93\xc4\x16\x51\x15\x47\x08\xd7\xce\xeb\xa0\xda\x79\x1d\x54\x3b\x2f\x67\xe6\xcd\x09\xa2\x8a\x7f\xeb\xc6\x9f\xb8\x45\x4a\x1c\x45\x11\xd0\xdc\xe5\xcf\xb9\xd8\x7b\x24\x3c\x2d\x69\xfe\xbd\x61\xc4\x2e\x66\x59\x34\x7a\xc7\x9e\xd3\x8d\x5f\xe1\x28\x7b\x43\x0f\x49\x72\x92\xef\xeb\xb1\x47\xa1\x4f\xbb\x77\xec\xce\xfb\xe4\xd6\x23\x93\x9f\x09\x44\xe6\xc3\x6f\x93\x9c\x9b\xfe\x68\x26\xe8\xf0\x37\x32\xe9\x89\x34\x0f\x8a\xb5\x81\x3e\xfc\xbb\x91\xe9\xaf\xd1\x13\x60\x1d\xb8\xf3\x2f\x98\x72\x15\xc4\x44\x04\x86\x18\x1d\x62\xf1\x76\x99\x1b\x66\x6b\xc0\xd0\x66\x59\x19\x4f\x69\x06\x8b\x21\x14\xc6\xcd\xac\xfc\xa4\x98\xce\x56\xd0\xec\x3e\x59\x2e\xad\xbc\x8e\x02\xae\x1d\x00\xa9\xfa\x71\x59\x5e\xe2\xd4\xf4\xab\x5c\x92\x08\x97\x45\x64\xec\xc9\xe6\x45\x63\x77\x1a\x41\xef\x30\xf8\x52\x55\x5a\x59\x0e\xc1\xf6\x4f\x1a\xd1\x3c\x6c\xf5\x73\x2c\x28\xf7\x64\xa9\x74\xf1\x7a\x0c\xce\x88\xd5\xdd\xf0\xd2\x56\x2d\xea\x06\x57\x74\xab\x76\x5a\xeb\xf6\x98\x82\xa2\xa6\x0f\x26\x0d\x65\x4d\x1e\x4c\x58\x0f\x9c\x8a\xb1\xfb\xa7\xc0\x30\x7f\xd3\x08\xc3\xb8\x41\xa1\x2c\xfa\xa3\x80\x68\xe9\x08\x4a\xc1\x52\x4f\xf8\x50\x47\x2f\x6e\x28\x3f\x44\x0d\xcb\xe0\x42\x9f\xa8\x29\x6a\x70\x46\x45\xc0\x13\xf5\x62\x35\x40\x55\xb4\xa6\x0b\x6c\x23\x85\xad\x06\x6a\x3e\x67\xdf\xb6\xd3\x37\x16\xf7\x53\x19\x15\x0d\x24\xb8\xd8\xaf\xe8\xef\x40\x79\xc6\x4a\xab\x4c\xf5\xc4\x34\x36\xd5\x3c\xbb\xc8\x05\x41\xfc\x2c\x5a\xce\x59\x73\x97\xbf\x12\xad\x2c\xb8\x91\x03\x25\x0d\xa3\x36\x40\xad\x28\xd4\x86\x17\x05\xa9\x8e\x95\x41\xed\x15\x7f\x18\x01\x39\x39\xc6\xc6\x3b\x31\x06\xec\xf6\xe7\xe4\x2c\x2e\x97\x4f\x8b\xd6\x69\x98\xea\x9f\xa7\x67\xaa\x33\xeb\x98\x2c\x7c\x76\x11\xeb\x44\x63\xcf\xde\x1f\xb9\x45\x05\x8f\x86\x1b\x43\x96\x5e\xcc\x57\x9e\xbe\xe2\x65\xac\x1a\x44\x9f\x09\x52\xbd\x1f\x26\x8e\x91\x2a\xee\xb6\x0b\x4b\xa5\x07\x37\xb6\xde\xac\x96\x6e\x2b\x72\x80\xfa\xd2\xd9\xe2\xa7\xbb\xf7\x9b\x23\x0a\x08\xc1\xef\x8a\xd7\xd1\x7e\x9f\xc9\xf8\x85\xdc\x83\x7e\x98\x3c\xb1\x2a\xc2\xe6\x2f\x60\xca\x14\x37\xc0\xa4\x59\x13\x55\x29\xb8\x78\xbc\x74\x21\x8b\xc3\x3b\x69\xa6\x33\xb4\xb8\x84\xee\x3d\xc2\x89\x3c\xca\x72\xfd\x84\x58\xd4\x04\x5d\x7e\xcc\xc9\x90\x49\xb3\x00\x95\x58\x69\xe8\x9c\x9e\x89\xb9\x41\x52\x89\x50\x58\xe8\xe8\xd6\xc0\x77\x52\x29\xf9\xa7\xb4\xb2\x8f\x4a\x40\x22\x65\x64\xfa\xd5\x43\x31\xcb\x89\xe9\x7e\xf9\x14\x1b\x3f\xdc\xbc\xea\xff\x24\x33\x8f\x47\x15\x6f\x37\xf2\x07\x13\x14\xaa\x4f\xc2\x33\xa9\x46\x7d\x0c\x5c\x2c\x1c\x9b\x00\x22\x7b\x0a\x62\x60\x89\xc2\x8f\x62\x81\x8d\x70\x06\xbe\x28\x51\x20\xf2\x91\xbd\x2f\xe5\x6a\x56\xfa\xd5\xb7\xbc\x89\xcd\x2a\xb8\x97\xd5\xfc\x8a\xf8\x93\xa8\x91\xf9\xa9\xcb\x7f\xf5\xe9\xab\xa9\xa0\x98\x84\x91\xb1\x85\x11\x25\xe0\x61\xdf\x41\x0b\x37\x9a\xe4\x2d\x88\x23\xc2\xaf\x6b\x62\x52\x3d\x05\x3d\xbe\x3a\x2e\x32\xee\x38\x1c\x5c\x79\xe3\x1d\x53\xb8\x1e\xd2\xd8\xf3\x32\x97\xe7\x16\xca\x9c\x47\x67\x38\x53\x4e\xc1\x9a\x68\x17\xf5\x05\xc8\x9e\x00\xf4\xb0\x1c\xc4\xe2\x1d\xe2\x67\xd0\x73\x0b\x98\xb5\x67\xe4\x8b\xd4\x41\x43\x99\x87\x1e\x9a\x13\xf2\x53\x60\xfe\x39\xf7\xb3\xbf\xf8\x18\x36\x13\x77\xe4\xad\x69\xb2\x01\x9a\xa0\x3b\x3b\xcf\x9b\x41\x18\x10\xa8\x54\x15\xbe\x4b\xd9\x97\x2c\x73\xbd\x2f\xd5\x49\xfc\xfe\xd8\xa9\x91\x36\x89\x08\x21\xc8\x1a\x92\x14\x92\x50\xa8\x91\x67\xbe\x8c\x48\x80\x5f\x2a\xaf\x2a\x4d\xb9\x3d\xda\xf4\xde\xe2\x65\xf0\xe3\x49\x79\x0d\x34\xb6\xb1\xfc\x12\x1e\x94\x01\xdb\xf0\xb2\x8b\x29\x14\xc2\x68\x7c\x61\x6e\x8f\x8e\x5a\xd4\xf8\xd5\x43\x28\xd5\xb1\xd2\x22\xe6\x3a\x53\xa2\xf8\x0a\xc9\x5f\x34\x47\xcd\x2d\x70\xc9\x82\x44\xb8\x59\x96\x79\x6d\xec\x44\x21\x23\x3d\x52\xef\xf8\x62\xbe\xe2\x6d\x68\xe3\x34\x57\x29\x4a\x84\xb1\x88\xc6\xd8\x86\x10\x89\xbc\xe7\x38\x14\x52\x63\x12\x49\x4a\xc5\x4e\x1e\xcb\x28\x69\x0a\xb9\xfe\x83\x06\x91\x5f\x71\xdd\xac\x93\x91\xfa\x1d\x23\x89\x3d\xbf\x10\xba\x06\x4f\xa8\xc4\xb4\x16\x72\x4d\xb5\x68\x0d\xcc\xda\x9a\xbb\x82\x59\xa2\xa7\x74\xed\xaf\xd4\x1c\xb1\x98\xcd\xd6\x74\xff\x8f\x99\x37\xe9\x88\xa9\x5e\xf9\x12\x99\x7a\x0e\xbb\x9e\x45\x4a\xb4\x84\xe7\x91\x8a\x6c\xd1\x87\x0f\xc9\x17\x9d\x3c\x92\xd1\x58\x7e\xb9\x56\x79\xf8\xb8\xb4\xf0\x35\x88\x4d\x99\xc6\x66\xa9\x0b\x55\x7e\x74\xb8\x0e\x50\x8c\xf8\x94\x0a\x34\xb2\xfa\x9d\x04\x41\x50\x9d\x31\x01\x70\xd9\x04\x9f\x00\xb8\xa8\xaf\x98\x84\xea\xba\x5a\x89\x6a\xf0\x38\x3d\xc2\x57\x08\x87\x0c\xbb\xf7\x9c\x58\xdf\x20\x2f\x24\x45\xc5\x0c\xa5\x5f\xb0\x0f\xfb\xfb\xb1\xb3\x06\x56\xc3\x71\x33\x9f\xf2\xb4\x63\x5e\x13\x9d\xc6\xf0\x38\x1c\xee\xe8\x4f\xa0\x43\xfa\x28\x36\xb4\x1b\x4d\x67\x81\xb0\x09\x9b\x9a\x01\xe2\xa1\x0e\xdb\x58\x49\x1d\x35\xfa\x73\xaf\x5d\xaf\xbc\x59\xa8\xce\x5c\xad\xdc\x59\x2e\x5d\x7f\xfd\xf3\xf4\x89\xd2\xc3\x5b\xec\x26\x00\x99\x85\x37\x2a\xb8\x13\x6e\x7e\xe7\xde\xba\x0c\xb7\x20\xa5\x61\x1f\x88\x3d\x46\x8b\xd8\x57\x84\xa9\xf1\x67\x9e\x3a\xf4\x18\xc5\x5c\xca\x2c\x28\x4f\xe0\xea\xa9\x15\x54\xd1\x25\xa5\x98\xaf\x72\xd5\x8b\x4f\x4b\x0f\x6f\xd2\xfd\x4e\x25\x58\x6c\xae\x4f\x65\xa8\xbd\xc0\x4f\xe6\xfc\xe3\xab\x7c\xe9\x95\x3b\x7b\x3b\x06\x92\xad\xae\x0e\x51\x03\x6a\x4e\x51\xc6\x01\x40\x8d\xc1\x1c\x58\x78\xd1\x77\x54\x01\x09\xb8\x8e\x5f\x2f\xa0\xdc\xf4\xda\xf6\xab\x81\x51\xcd\x87\x62\x21\x6e\x99\x31\x4d\x9a\xe5\x34\x36\x96\x47\x6f\x2e\x48\x16\xb8\x80\xe7\xec\x34\x5a\xb7\x45\x49\x09\x72\xc5\xb0\xdf\x4a\x57\x4b\x85\x9d\x46\xa0\xab\x81\x88\xe1\xc2\x11\x86\x0c\x16\x56\x53\xf5\xd5\x55\x15\x7a\xfb\x18\x95\x13\xcb\x91\xbd\x04\x91\xb0\x5f\xbc\xad\xbe\x23\x44\xd8\x91\xa3\xdf\x5b\x9b\xc1\x05\xae\xce\x03\x84\x65\x3c\x9e\x80\xde\xb4\x59\x8b\x32\x9a\xc4\xfd\x5d\x07\x7a\x3f\xec\x19\x1a\x3e\x82\x29\x4a\x0a\xac\xe1\x67\xa2\xc1\xe8\xaa\xdb\xe8\x8a\xda\xec\xc7\x3e\x9e\x26\x4c\x43\x6e\xca\xeb\x64\x28\x14\x99\x11\x3b\x25\xdc\xa2\xd8\x61\x4f\x3a\x17\xc8\x39\x98\xb5\x61\xe3\xe5\x3b\x0d\xe3\x60\x96\xcc\xd3\xf6\x24\xac\xbd\x34\xa8\xc1\xd9\x76\xbe\xd4\x01\xc0\x0e\x1f\x12\x97\xe8\x38\x9e\xa6\x36\x20\xdc\x36\x91\xd4\xe6\x00\xa8\xb2\xe7\xe9\x93\xb9\x90\x97\xf7\xd4\x35\xf7\xee\xc9\xf2\xcd\xd7\xd8\x1f\xe4\xda\xe9\x9a\xba\x1a\x95\x5b\x73\x95\x6f\xdf\xb8\xf3\x4f\xdc\xe5\x3b\x5b\xeb\xd3\x35\xbf\xa2\x1d\xf8\xd2\xad\xea\x37\x57\xb7\x36\xe6\x61\xa7\xe3\xa2\x5a\xbe\x82\x15\xc5\x4e\xdf\x71\x17\xe6\x42\x14\xb3\x2d\x01\x70\xab\x5a\x35\x2a\x65\x92\xe0\x27\x6e\xeb\x0e\xdf\x0b\x5b\x1f\x43\xe6\xeb\x72\xc0\xcb\xee\x0f\xe9\x9e\xa3\xda\xb4\x8f\xbe\x0e\x3a\xdd\xb3\x57\xd5\xaf\x4d\xcc\x36\x7c\x10\x98\x9b\x57\x10\x8a\x4c\xa0\xae\x05\x23\xd1\x48\x72\x93\xce\xab\x36\x27\x14\xf2\x06\x73\x99\xcd\x4c\x19\x93\x69\x27\x8d\x04\x62\x29\xab\x90\x3e\x88\xe3\xd1\xdc\x5b\xe1\x24\xc6\x10\xaa\xe5\x7b\x95\xcf\xdf\xe0\x5e\x79\xf9\x94\xcf\x66\xa1\x25\x7a\x4a\xaf\x3b\x7b\xb7\xbc\x7a\x12\xa7\xaa\xee\x24\xac\xa9\x63\xab\x1a\x83\x54\xa3\x45\xf4\x81\x06\xc2\x8a\xa4\x3f\x8c\x16\x33\x30\x02\xb8\x47\xaa\x0b\x49\x55\xaf\x7f\xe9\xce\x7f\x87\xb5\x01\xa9\xd3\xcb\xd6\x1b\x14\x32\xf5\xad\x9f\x41\xec\x28\xc5\x64\x98\x84\xb4\x23\xb5\xc9\xad\x31\x77\xa4\xd2\x18\xde\x05\x62\xa6\x1d\x38\x1c\xf2\xc1\x5b\x69\xdc\x46\xa2\x59\x24\x47\xec\x81\x4c\xf3\x5c\x1e\xea\x92\x41\xe2\x9a\x76\xe5\x51\x75\xf1\x0b\x6c\x64\xe6\x35\xce\xad\xa3\x7d\x31\x70\xb2\xd7\x45\xa6\x96\xe6\x57\xe4\xe7\x55\xa3\xcc\xc1\x7a\x1e\xee\xd6\x17\x04\x63\xa7\x0a\x3d\xa6\xbb\x1d\x12\xb0\x6c\x7c\x7d\x31\x01\x4e\xaa\x2c\xa6\x86\xc7\xf7\x5f\xdb\xbb\xbd\xe0\x8e\x2a\xa0\x8e\xa2\xe9\xbe\x09\x32\xe5\xfa\x8f\x7c\x49\x61\x4c\x95\xb9\x67\xa8\x80\xc4\x5a\x2f\xf7\x9b\x9f\x1a\xc7\xcd\x74\x81\x1b\x8e\x7a\x9d\xef\xfc\x6d\x4d\x92\xad\x98\x43\x1b\x07\x9c\x72\xd9\xa2\x5a\xfd\x08\x4d\x06\x6f\x63\x92\x31\xb4\xf6\xa7\xab\xe7\x5f\x96\x1f\x2e\xb8\x9b\xb3\xa5\x4b\x27\x60\xaf\xa0\x6d\x02\x76\xc9\xe9\x8b\x4a\x63\x44\x3d\x5d\x81\x4a\x24\x34\xfc\x04\x44\xc9\xda\x90\xac\xde\x37\x4f\x54\x7a\xa2\x38\x61\x98\x13\xe4\xd4\x86\xd3\x45\x38\x8e\x78\xb5\xfb\xc7\x49\xe0\x21\x87\x1f\xc6\xcd\x49\xaf\x2e\xe2\x7b\xef\xbe\xff\xc7\xfd\xed\xc6\x7b\xfb\xe0\x7f\xef\xee\x53\x99\x81\x22\x38\xc9\x1a\xe4\xec\x4b\xb4\x5c\x48\xde\x25\x2c\x3c\x35\xb7\xbc\xb5\xfe\x55\xf5\xd2\xe9\xa0\x86\x22\x61\xf9\x79\x7a\xe6\x3d\xcc\x0d\x01\x3c\x6f\x6b\x38\x9d\x46\xc7\x7b\xa8\x80\xc0\x79\x48\xfd\x24\xe1\xe1\x62\x96\xbc\x13\xe8\xe0\x24\x1c\x4a\xd5\xab\xf5\x43\x86\xf3\x0c\xc8\xd9\x7a\xf5\x6d\xe5\xc6\x5a\xf9\x8b\x1b\xec\xc1\xe0\xb7\x35\x47\xdd\x5b\x67\x88\xf1\xce\x5e\x6b\xd4\x2c\x66\x0a\x7b\x82\xdf\xde\xe2\xc2\xd0\x73\x09\x5e\xad\x5e\x3f\x8d\xa7\x1d\xf9\xe1\xfc\x07\x62\x57\x14\x07\xc3\x21\x03\x85\x1d\x8f\x6c\xa0\x13\xe6\x14\x5e\xaf\xbc\xa3\x8d\x4a\x4a\x22\x6f\xf2\x93\x68\x6a\xc4\x00\x56\xc5\xc0\x77\x06\x99\xc4\xfa\x77\x55\x2c\xd7\x63\x26\xd9\xf4\x0e\xfa\x5b\x2c\xd0\xfa\x53\xce\xef\x48\x50\x61\xac\x2c\x88\x6c\x92\x5e\x35\x06\x08\x96\xa7\xed\x06\xa9\x9a\x22\x38\xcf\x70\xf0\xd8\x14\xfe\x5d\x87\xe8\xc6\x37\x54\x61\xa8\x08\x5d\x48\x2d\x79\x39\xf8\xb2\x96\x44\x59\x30\xf3\xa0\x15\xde\x3d\x8b\xea\xcb\xca\x23\xd0\x08\xc8\xfc\xbb\x08\xab\x06\x54\x99\xd2\xea\xe7\x5c\xa9\xcd\x9d\x7d\xb1\xf5\x6a\x25\x08\x03\x84\xeb\x07\xf9\x89\x15\x63\x97\x5c\xe5\x62\xd9\xbf\xff\xaf\xff\x86\xab\xde\x5b\xfc\x2a\x5e\xd6\x39\xc5\xbd\x75\x89\xef\xd3\x8a\xf4\x96\xa7\x7a\x7d\x71\xd8\xa6\x70\xd1\xeb\xe3\x40\x51\x0b\x98\x79\xec\xb9\xde\xb5\xe1\x9e\xfb\xa9\x95\xbb\x15\xe1\xdd\xf0\x6f\x0b\xa1\xee\x07\xc1\x75\x41\x73\x1e\xcb\x0a\xad\xaf\xda\x4b\x5a\x20\x37\x81\x87\x73\x3a\x50\xed\x63\x75\x44\x4d\x3d\x64\x5d\x59\x52\x7c\x4d\xd9\x97\x5c\xd4\x5d\x55\xa8\x84\x98\x55\xaa\xc1\xea\xff\x1c\xfd\xf2\xc1\xfd\x7e\x0a\xb8\xaa\x04\x6a\xf8\x99\x68\x30\xa0\x44\x36\x33\x6a\xd2\x3d\xe1\x06\x08\xfb\x7e\x2c\xed\x14\xac\x7c\xc8\x1f\xaa\xd6\xa4\xcb\x97\x5e\x81\x12\xea\x5f\x88\xd1\xd2\xd4\x3c\x1a\xac\xce\x98\xe7\xcb\x49\xe0\x95\x15\x7e\x15\xd0\xe9\xa8\x8d\xbf\xa5\x2a\x9a\x1b\x78\x5e\x65\xb7\xf0\xc2\x34\xea\xcb\x40\x55\x1d\xa9\x5a\x3a\xad\xe3\xc6\x80\x28\x63\xa7\x42\x07\x17\x43\x4d\x8f\x78\x84\x90\x55\xcf\x05\xbe\xad\xc3\x6f\x1b\xff\xe2\xf0\x6d\x42\x39\x5a\xa1\xf3\xc3\x83\x4a\x18\x5d\x03\xbd\x81\xe1\xc5\xb1\xe0\x04\x3d\x08\xb7\x0f\xb4\x4c\xf4\xd9\xc0\xd3\xe1\x74\x0e\x6d\x16\x22\x3e\x05\x1e\x16\x5f\xa0\x0e\xcd\xc6\x7f\xd8\xbf\xde\xfb\x6a\x93\xde\x3d\xbe\xe2\x11\x36\xb6\xc7\xc0\x71\xc8\x37\xd0\x3a\x5c\x58\x1f\x32\x84\x0c\x45\xec\x93\x39\xbe\x1e\xf2\xe5\xd1\x07\xa1\x1c\x96\x39\xc2\x86\x08\xb8\xc8\x66\x3b\x0d\xe3\x63\xbb\xc8\xc1\x72\xa9\xb4\x43\xb7\x6a\x61\x46\x46\xc9\x93\xc9\x78\xb7\xda\xd1\xfa\x96\x29\x9e\x9c\xf2\x1c\x67\xdc\x32\x35\x4b\x05\xcc\xb3\x06\x88\x39\xe0\x9a\xd4\x8c\xc8\x7f\x44\x14\x18\xc5\x65\x1a\x6a\x1b\x02\x3f\x6a\xb8\x54\x3a\x75\xc3\x5d\x5e\xd9\x7a\xf5\x6a\xeb\xcd\x79\x38\x7f\xb6\xde\xac\xa2\xe1\xf3\xc4\x9a\x88\xc2\x9b\x59\x45\x0b\xba\xe4\x5a\x87\x8b\x5d\x3d\xc9\x2c\xf6\x7c\xd7\x9c\x90\x8e\xb0\xbc\xbd\x46\x45\x54\x59\x14\x6b\xa4\x97\x4e\xcd\x57\xe6\xe7\x64\x80\xe1\xc7\xe6\x43\xa4\xf3\x13\xf1\x25\x47\x1b\xe2\xbe\x60\xd0\x00\x4c\x80\x40\x43\x27\xc2\xff\xb4\xa9\xa8\x19\xe3\xaf\x32\x27\xb9\xb4\x62\xa3\x7b\x86\x49\xac\x43\x1e\xde\xd0\x4d\xef\x67\xdf\xd6\xf9\xea\xb6\x30\xee\x68\x8c\xb0\x44\x5c\xce\x6f\x16\x2f\xcc\x23\x14\xbf\x26\x0c\xa3\x4a\x2b\x87\xfc\x94\x21\x9b\x39\x42\xc5\x74\xc9\x8b\xaf\xc3\x9d\x50\x8e\xf2\x6a\x88\x37\x02\x20\x50\xaf\x42\xb2\x57\x3f\x5f\x9d\x02\xc8\xb9\x88\x62\xa5\x69\xca\x35\x02\xd4\x20\x9e\xa7\x11\x82\xe3\x03\x7b\x00\x34\x47\xc5\x39\xc6\x71\x8b\x2a\x98\xa7\x94\xa7\xd2\xea\xbd\xea\xf4\xd3\xca\x8d\x45\x86\xcd\xa1\x6e\x4a\xa8\x9e\xbf\xb8\x01\x6a\x75\xae\x61\x80\x48\xae\x1b\xc7\xb7\xac\xfc\x43\xea\xc9\xaf\x82\xff\xf4\x6c\x4d\xe0\x59\xe8\x2d\xaa\x44\xbf\x71\x52\xc7\x1b\x2e\x1a\xed\xab\x1b\x9d\x46\x14\xbf\x74\xb2\x84\x74\x0e\xb1\x7a\xc8\x87\x85\xb2\x24\x8a\x91\xba\x0d\x8c\x49\xdd\x14\xad\x48\xe1\x04\x9e\xa9\xb5\x9d\xea\xa4\xe3\x36\x10\x75\xae\xeb\x4e\xe7\xd0\x7b\x6a\x22\x6b\x8f\x58\xce\xf2\x3e\x2b\xa2\xa8\xfc\xd2\xe8\xb5\xa8\xf0\xbe\xac\x7d\x53\x3b\x1e\xbf\x63\x7e\xc4\x70\x3e\xe4\x4e\x2b\x01\xae\x06\x69\xc7\xc0\xaf\x28\xda\xeb\xe1\xea\x28\xdc\x01\xc2\x5a\x4d\x8f\x7a\xde\x35\x6b\x32\x09\x65\xf1\xb3\x1c\xb3\x5e\x1b\xdb\xf8\x9a\x68\x41\x00\x17\x6e\x06\xde\x00\xdc\x44\x81\x1b\x1e\x82\x46\x21\x2b\x0d\xcf\x08\x50\x44\x75\x58\xd9\x49\x63\xd2\xcc\xa7\x51\xf5\x71\xd8\xbe\x75\xd4\xc2\xf0\x68\x4b\xed\xd4\xbd\xec\x9f\xb1\x42\x86\x53\x60\x47\xf9\xec\x13\xf7\xe6\xe7\x28\x2a\x34\x87\x84\x87\xb6\x36\x9e\x43\x8d\x2e\x12\x57\x7c\x5c\xc6\x01\x3b\x61\x70\x24\x4b\xe0\x84\x00\xc3\x8d\x28\x1b\x39\x97\x1b\x8a\x9b\x90\x70\x1d\xb3\xa6\x42\x4d\x17\x7d\x73\x64\xa0\xcf\x79\x69\x2f\x49\x0e\x1a\xc9\x50\xa1\x84\x10\xb4\x62\xd4\x45\x28\xd5\xd0\x18\x00\xfb\x93\x25\x42\xfa\x85\xba\xd4\x12\xea\x7d\xd5\xa9\x99\x01\x44\x11\x17\x3b\xa8\x20\x28\xaf\xe1\x69\x8e\x0f\xc2\x0b\xf0\x34\x01\x5e\x0d\x72\x07\x4e\xab\xed\x1d\x52\x8d\xa9\x03\x8d\x6a\x01\x0d\x1f\xfe\xfa\x33\x5f\xc4\x9d\x9a\x8e\x93\x1e\xcb\xaa\xcd\x34\xa4\x32\x95\x7e\xd8\x14\x07\x43\x22\x98\x8d\x9c\x34\x31\x00\x45\xc4\x5b\x2b\xe4\x76\xc8\x4b\x96\x44\x7a\x07\xe1\x76\xb2\x64\x4d\x22\xbc\x65\x54\xc9\x64\x2d\x05\x54\x07\x41\x08\x2d\x19\x2f\x89\x5c\x3f\x0c\x21\xd1\x90\x29\x14\xc2\x0b\x12\x6b\x05\x11\x7e\x38\x04\x07\x89\x25\xa4\xa3\x60\x64\x38\x46\x2a\x9d\x0d\xee\xc6\xdd\x1f\x92\x69\x2a\xbc\x99\xe0\x39\x7c\x48\x3d\x21\x1c\xd3\x15\xbe\x12\xd7\x43\x42\x67\x82\xf7\xa0\x92\x28\x6b\x0f\x3b\xab\xd1\x8f\x81\xf6\x14\xc3\xb1\x27\xd8\xbd\xa1\x8a\x86\xba\xf4\x45\x65\xed\xd5\x2f\xaf\x2f\x57\xa7\x2f\xb1\x67\x42\x5c\x30\xd7\xa7\xb7\x36\xae\xb0\x3f\x43\x81\xcd\x77\xfc\xf8\x06\x7b\x6d\x61\x0d\x25\x2f\xfb\xff\xa4\xca\x4e\xbb\xb9\xa1\x0c\xc2\xec\x1f\x18\xee\xed\x3f\xa0\x32\x6b\x57\x67\xd6\x41\xd8\x2b\xde\x1c\xdc\x67\x74\xed\xdd\xdf\x7b\x40\x85\x95\xcd\x28\xa4\x12\x28\xe3\xc5\x09\xc8\xc1\xbd\xbd\xc3\xfd\x83\x5a\x30\xee\xe3\xef\x4a\xd7\xd7\xdd\xaf\x6f\xa8\xc1\xec\xef\x3a\xd0\xb5\xaf\x47\x0f\x86\xa9\xd1\x81\x51\x71\x42\xa7\x26\xf7\x2b\x03\xb1\x63\xde\x12\x49\x15\x5c\xc9\xc1\x91\x63\xbb\x25\x6f\x9b\x6a\x31\x50\x01\x06\x3e\x04\x6a\x62\x7b\xe3\xb0\x86\x6c\x59\x66\x06\x3b\x43\x4e\x71\x51\x05\xd5\xca\x8b\xe8\x85\x6c\x60\x0c\xab\xa6\x5c\x42\x1d\xa2\x70\xf9\x06\xca\xe3\xe2\xbf\xd9\x7a\x88\x41\x4d\x0d\x60\xf7\x8b\x35\xe0\x7d\x93\x1b\x36\x91\xb5\xae\x29\x62\x94\xbd\xa4\x74\x88\x95\xe2\x03\x9e\x55\xb9\xa9\xbc\xfb\x9e\x6a\x33\xc6\x67\x83\x68\xe7\x96\x63\xfd\x2c\xbf\x54\x48\x8a\x3d\xc3\x5e\x30\xa7\x1f\xee\xa4\x82\x4d\x91\x77\xec\x2b\x17\x25\x41\x28\x90\x29\xa6\x67\xa1\x12\xad\x9f\x40\xd8\x30\x76\xd9\x51\xd4\x0c\x25\x5e\x30\x23\x08\xd5\x9a\x78\x46\x0a\x01\xe3\x3d\x06\x67\x5e\x3a\x6f\x67\xc9\x5e\x68\x8e\xe2\x2d\xb7\x26\x38\x32\x97\xb1\x34\x41\x39\xab\x6b\xa1\xe7\xdd\x47\x8b\xa5\xf9\xd3\x5b\x3f\x9e\x74\x37\x17\xd1\xac\x4c\xa3\x11\xc1\x75\x74\x0c\xa2\x9d\xb4\x26\xe7\x49\x0a\x62\x8c\x1e\x90\x26\xf8\x54\x1d\x73\x3a\xd0\x3f\xa8\xea\x53\x4b\x3f\x45\xbf\x64\xa6\x53\xe1\x70\x43\x95\xe9\xf4\xd5\xc5\xca\xd3\x57\xf1\x4e\x5e\x74\xd2\x71\x9e\x37\x30\x31\x4f\x1d\xc4\xa9\xc6\x00\xac\x0f\x8e\x66\x40\x57\x63\x70\x55\xf7\x67\xc2\xd3\x42\x58\x03\x53\x31\xff\xc4\xb3\xea\xcc\x55\x4e\x01\xe7\xda\x70\xa2\x53\x20\x65\xfd\x52\xb4\x60\xfd\xd5\x5d\xa7\x97\x25\xa1\x56\x52\x50\x5b\x4e\xad\x4a\x61\x8d\xa3\x59\xe3\x06\xd5\xf9\x40\xbd\x57\x0d\xd8\x30\x7e\x0e\x41\x20\x14\x27\xcc\xc2\xc8\xb8\x16\x6c\xf5\xbb\x0b\x95\x87\x0b\x20\x0b\xcb\x0f\xee\xa8\x50\x80\x30\xa8\x6f\x6d\xab\x80\xaa\xe8\x55\xea\x7d\x83\x92\xe5\x77\x09\xf0\xe8\x50\x34\x0f\xbd\xc0\x9e\x12\x5f\x80\x51\x82\x2c\x16\x62\xfa\x7b\x9a\xfd\x27\x9e\x9c\xc1\x93\x9c\xec\xe4\x81\xdc\x89\x15\x7b\x21\x99\x10\x16\x72\xa2\x11\x63\xdd\x03\xee\xec\x5d\xf7\xd1\x8f\xe8\xdf\x42\x02\x6a\xca\x2d\xe9\xc7\x11\x1a\x83\x47\xbe\x4a\x20\x13\x32\xf4\x0b\x37\x8c\x26\x26\x50\x36\x54\x0b\x24\x01\xc4\x9d\x6b\x86\x9b\x64\x09\x58\x79\x2c\xfd\x88\x02\x20\x8d\x47\x82\x41\xf5\x87\xf8\x9c\x03\x59\x31\x81\xfd\x2d\x8f\x8f\x5b\x1c\x2f\x2c\xda\x08\x8b\x00\xe3\x8c\xa7\x56\x89\x36\x9d\xaa\x2d\xc5\xa2\xea\xc9\x0d\x66\x47\xe9\xde\xcd\xd2\xb5\xdb\x42\x3a\xcc\xdf\x2a\xad\xbc\x14\x5d\x9d\xaf\x3c\xc2\xf2\x03\x17\x1f\x63\x60\xbc\x46\xf3\x42\x8f\x67\xad\xb6\xe5\x6d\x10\x95\x7b\x57\x41\x99\xc2\xb5\x8a\x44\x92\xe8\x8f\x29\x99\x45\x94\x04\x30\x24\x57\x6c\xd0\xfe\x33\x91\x01\x81\xb1\x45\x82\x6a\x14\xf3\xb8\x89\x7c\x89\x08\x92\xc2\x65\xcb\x11\x54\xca\xc8\x10\x25\x11\x06\x1b\x21\xe1\xbe\xc7\xf1\x50\x35\xa9\x00\x6a\x1a\xf7\x44\x8f\x49\x47\x80\x28\x25\x92\x9c\x0f\x8e\xa4\x61\x73\x63\x78\x38\xe8\x0a\xe9\x91\x62\xc6\xcc\x27\x49\x40\x2e\x2f\xfc\x88\x37\x7a\xbe\x87\x2d\x3f\x66\x3d\xdb\x5f\x02\x2a\xbc\x14\x4e\x3f\x32\x6e\xdb\x4e\x10\x4d\x8f\xcd\xe9\x71\x2b\x60\x40\x02\x7e\xee\x34\x3e\xb0\x51\x7a\x93\xa3\xcf\xcc\x5b\xb4\x60\x73\xb8\xa7\x0a\x05\xde\xf1\x47\xb9\x69\xa5\xe5\x87\xee\x3b\x18\xa7\x24\x12\x57\x54\x6a\x7b\xe5\xfe\x49\xb8\xb8\x96\xbe\x9e\x03\x29\x59\xa1\x70\xfa\xf2\x9d\x99\xd2\xc3\x9b\x68\x19\x80\xe5\x34\x3b\x03\x5f\x62\xec\xd1\x95\x75\x2c\x13\x48\x29\x25\x98\x1d\x44\xa7\x34\x5e\xdf\x67\xbf\xc3\x30\x36\xcf\x63\xa8\x1d\x20\xdb\x24\x0c\x73\xcc\x54\x66\x9d\x21\x35\xa4\xe8\xe9\x52\xce\x6a\x4a\x00\x72\x9c\x15\x5a\x18\xa5\x34\x0f\x79\xaa\xe4\xf2\x7f\x0d\x5d\x1b\xfd\xb4\x03\x31\x9f\x70\x94\x68\x2e\x92\x1a\x8b\x1d\xe7\x3b\x1a\xba\xa8\x36\x39\x69\x5e\x13\x52\x25\x20\xa5\x39\x95\x52\x0c\x0f\xf7\x24\xe6\x55\xaa\xe3\xdb\xb8\xab\x7a\x08\x09\xa5\x54\x6a\x91\x50\x26\x87\x5f\x8c\x35\xf2\x32\x98\x78\x34\x75\x70\x62\xa5\xa1\x9a\x04\xcc\x8b\x10\x17\x71\x0a\xdf\x69\x9e\x08\x4c\xec\xb9\x79\x1f\x77\xa8\x2a\xcd\x68\x20\x28\x87\x40\xc4\xa4\xb0\xa5\xb7\x9c\x2c\x77\x78\x57\x8d\x55\xc0\x4f\x8f\x41\x2b\xb7\x88\x19\xa5\x57\x95\xd9\x61\x44\x1b\x2a\xba\xf5\xa0\x55\xe5\x14\x7c\x7b\x02\x27\xc7\x88\x8e\xe7\x5e\x54\xa9\x57\x0a\x5d\xb9\x1d\xc5\x98\xfe\x56\x04\xb5\x03\x86\x24\xc4\x3c\x76\xfe\xc7\xc8\x77\x3f\xaf\x0b\x0f\xc2\x29\xb8\xb1\x19\xfd\x43\x7b\x54\x69\x48\xa5\x05\x2a\x08\xfe\xfd\x89\xda\x4a\x36\xec\x50\xa3\xbc\xae\xd2\x89\x35\x00\x61\x04\xed\xff\x37\x16\xab\xd3\x4f\xb7\xde\x2c\xe9\x32\x93\x06\x6a\xca\x09\x7b\x67\xb0\x9c\x1d\x55\xcc\xa6\xbd\x9c\x62\x25\x77\xbd\x34\xa9\xca\xdd\x6f\x31\x08\x49\x53\x6e\x98\x31\xc4\xb1\xad\x96\xa0\x49\xf8\xe2\x10\x5c\x83\xd2\x58\xd1\x2b\x4c\x5e\x72\xe2\xe2\xc9\x32\x42\x68\xca\x0b\xf3\x6a\x3a\x45\xe2\x33\xc9\xba\xb8\x9c\xa7\x20\xd9\x09\xe7\xef\x9a\xa2\xa4\x1c\x81\x8c\x54\x2c\xe3\xe0\x87\xf4\xca\x00\x99\xac\x56\xaa\xb1\xe6\x31\x0e\x0c\xe3\xb7\xc4\x52\x85\xb3\xd0\x1c\xcb\xda\x0e\x9c\xc7\xa4\x82\x38\x85\x94\x36\xeb\x98\xde\xe5\xd5\x59\x59\xdb\x00\xdd\x10\x13\xca\x97\x9e\x54\xe6\x9e\x79\xaf\x6a\xf0\x62\xe9\x35\xd3\xc8\x90\xf9\x6d\x54\x44\x7e\xe1\xe9\x55\x73\xb5\xa9\xb9\xc9\x98\x7e\xaa\xb9\x7f\xd9\x11\x79\x71\xde\xfd\xdd\xe6\x03\x6a\x6f\x4f\x97\x71\xd4\x1c\x01\xf1\xa5\x14\xdb\x4b\x4f\xb8\x30\x05\xa7\xc7\x91\xb2\x8b\xd7\x0a\xbe\x0a\xf0\x7d\x87\xc0\xb8\x9b\x8b\xe5\xfb\x8f\xb7\xd6\xbf\x12\xba\x71\xb8\xe6\x30\x17\x24\xc3\xba\x5e\xf4\x36\xdf\x87\x74\x03\x47\xea\x26\x79\xa5\xa9\x28\x23\x36\xc2\x1a\x2c\xad\x3e\x50\x41\xb2\x41\x80\x60\x72\xf2\x04\x1c\xd2\x30\xea\x94\x7d\x3c\x9b\xb1\x4d\xf4\xe1\x08\x31\x83\x07\xb5\x35\x21\xdd\xf9\x94\x22\x06\xd4\x44\xd8\xb9\xa5\xcb\xf7\x41\xe4\xc9\xec\x80\xdd\x83\x35\x19\x5f\x2f\xc8\xf2\xa4\x74\xe9\x44\xf9\xd2\xeb\xf2\xb9\x6b\xee\xf9\xe5\xea\x8d\x45\xb5\x78\xc9\xdb\x1c\xe0\x49\xb7\x12\x4a\x18\x01\x75\x0f\x7d\x7e\x66\x66\x8f\xf1\x2f\x0e\x56\x6a\x4c\x7b\x69\x24\x2a\x3e\x5c\xb9\xbe\xf5\xd3\x8d\xca\xa5\x6b\x18\xe6\x5c\x99\x5e\x2c\x3f\x3f\x01\x9a\x53\xe5\xd2\x79\x74\xec\x03\xf3\x37\x30\xa3\xa6\xfc\xfc\x74\xe9\x9b\x6b\x98\xf3\x7b\xe5\xba\x8e\x1a\xaa\x82\x17\x59\x12\xcf\x8f\x37\x0c\xaa\x48\x72\x01\x03\x2e\x68\xc7\xa6\x61\xd0\xae\xb2\x63\x98\x5a\x52\xcc\x61\xaa\x0b\x86\x80\x09\x3d\x89\xe6\x00\x9e\xe2\xd2\x72\x05\x94\xf0\xa8\x81\x29\x65\xd2\xea\x9a\x7c\xe5\xe4\x88\x45\xcc\x71\xa5\x85\x13\x45\xa0\x50\x15\xbf\x5c\x2a\x9d\x7b\x5c\x5a\xfe\xa1\xf4\xf0\x16\x57\xc0\xe3\xea\xc8\xb0\x0f\xdd\xd9\x17\x3c\x87\x7e\x08\x29\x3c\x5c\xf9\x0e\x4f\x2b\x5d\x69\x84\x01\x56\xf0\x54\x19\x17\xac\x9a\x29\xbd\x25\x03\xc5\xbc\xf0\x52\xf2\xe5\x45\xaa\x0c\xca\x74\xc7\x95\x05\x80\xf1\xe3\xb2\xa3\xab\x49\xf4\xdb\x49\xf1\x86\xae\x85\x8d\xa2\xad\x7b\x59\x81\xd5\x19\xc7\x92\xe4\xa2\x41\x0c\x06\x5b\x60\x69\x70\x2f\x04\x90\xd2\x57\x58\x41\x11\x45\x5c\x34\x69\x2c\xa0\x7d\x87\x45\x48\xe9\xd4\x5a\x75\x7a\x06\x0b\x59\x3f\x99\xe3\x20\x40\x51\x32\x7c\xfe\x49\x79\x79\x93\x13\xd1\xe2\x43\x4e\x05\x89\x58\x36\x21\xc3\xe6\x9e\x77\x28\x45\x0b\x68\xc5\x7f\x59\xde\x7a\x4b\x5c\x99\x10\x47\xa4\xd0\xba\x9c\x96\x51\x62\x6a\xd1\xfa\x12\xaa\x3f\x8f\x2e\x0b\xdf\xaa\xb4\x88\x95\xd9\x45\x44\xd3\x44\x31\x53\x48\xe7\x98\x26\x87\xd3\xc6\xcc\x38\xab\x4c\x3d\x0e\x41\xd9\xad\xcb\x35\x19\xfb\xd1\x88\xa9\xd5\x9c\x02\x36\xff\x16\xfd\x1a\xd6\x4b\x32\xf6\xa2\x23\x9a\x5b\x20\xc1\x02\xa1\xef\x1a\x71\x50\x71\x09\x25\x76\x3c\xd7\x02\x88\x71\x54\x31\x7e\x5c\x4d\x14\x1e\xe1\x85\xc7\xc3\xb2\x03\x75\xc7\x4b\xbc\xc3\x18\xc0\x77\xac\x4f\xbd\x0a\x69\xe4\x1b\xb6\xa9\xe4\x29\xfa\x1a\x80\xd9\x7c\x90\x12\x04\x32\x0c\xc3\x21\xe9\xb9\x41\xa8\x20\x94\x32\x9d\x0c\x8e\x72\x0a\xba\x28\x3f\xbf\x83\xce\x00\xb6\x06\x7b\x11\xe8\x3c\x2c\x58\x08\xa5\x53\x67\xb1\x46\x02\x5c\x4e\xa7\x4f\xb2\x53\x16\x13\xdf\x9e\x9c\xaa\xcc\xfd\xc0\xaf\xfb\x5e\x1b\x7a\x5e\xb1\x34\x12\x0d\x55\x5b\x44\x20\x92\x5a\xaf\x0a\x99\xae\x8e\x15\xa3\xae\x99\x99\x44\x17\x2f\x86\x5a\xfb\x6a\xcc\x5d\x6b\xb0\xe7\x3f\x0e\xf6\x0c\x0d\x2b\x2b\xae\x90\x02\xa5\x3c\xba\x06\x7b\xb0\x01\x4d\xcf\xde\x23\x83\xfd\x07\x87\x7b\x8e\xa0\xd7\x44\xe5\x17\x56\x02\x18\xe8\x3f\x30\xa4\x4e\x57\xa3\xc6\x04\x6a\xfc\xfd\x7d\x3d\x43\x7b\x94\xc5\x50\xb9\x1b\x05\x75\x60\x51\xbd\x0f\x64\xab\x28\xd6\x59\x5b\xc5\x78\xd5\x5e\x27\xe9\x81\x68\x00\xb0\x55\x3b\xa8\x4e\x45\x90\x6c\x82\x7b\x27\x9d\x1d\xb5\xe9\xac\xc6\xab\x60\x5e\x53\xe8\xd5\x3d\xf7\xb8\xf2\x68\x5a\xd8\x98\x68\x1b\xb0\x40\xc2\xc2\xb4\xd7\xbf\x77\xcf\x7c\xa5\x1c\xb3\x65\xe2\xfd\x24\x65\xa1\xd3\x0e\x70\xe6\xe0\x98\xc0\x14\x36\x0a\x2f\xfd\x77\x3e\xe1\x27\x72\x9a\xca\xdc\xab\xd7\xd0\x1e\x7c\x67\xc6\x9d\xbf\x87\x5b\x6d\x66\xa3\x7c\xfe\x92\x6f\x21\x76\x2f\x9c\xfa\xe5\xf5\x35\x19\x4a\x02\x22\x84\xc1\x75\xbf\x0d\x7f\x73\x49\x7a\xff\x4f\x4f\xb6\x61\x29\x5f\x50\x4c\xa7\xd0\xc8\x33\x86\xdb\xd2\x1e\x49\x07\x99\xbe\xe9\xc2\xbf\x27\xa3\x56\x8f\x45\x54\xc2\x9d\x27\xa5\xe5\xca\x7a\xf5\xc2\x6a\x65\xe6\xb1\x5f\xd1\x8f\xa3\xf9\x78\x80\x2d\x19\x55\x4b\x68\x4e\x40\x8f\xb0\xd6\x46\x04\x4b\x86\x2a\x52\x73\xf6\x6b\x4e\x18\x84\xfb\x33\xa9\x7a\xeb\x2d\x2c\x52\xcc\x9e\xb1\x8e\xd7\xfd\xf4\xef\x87\x8b\xef\xbe\xfb\x07\xe5\x4d\xd0\x1f\x11\x5c\xcc\xe2\xc8\xc0\xf4\x59\xdf\x82\x1c\x49\x86\x9f\x4b\xab\xa2\x46\x70\x45\xd0\xa4\xe3\x4d\x0e\x34\xb6\xfa\x4c\xe0\x7a\x95\x8f\x99\xd3\x9d\xb1\x8b\x29\xe3\x43\xd4\xc9\xf3\x53\xf1\xd3\xb7\x79\x35\xfc\x06\xa5\x00\x49\x2a\x5e\x10\xc4\x5a\x83\x2c\xc1\xa4\x86\x09\xf7\x42\x55\xeb\xfd\x16\x3b\x41\xb7\x1c\xdd\x5a\x8f\x51\x4f\xfc\x88\x95\x9e\x24\x2b\x75\xd0\xfb\x67\x04\xee\x13\xec\x5c\x15\xf5\x9a\x54\xfa\xdf\xb9\x17\x18\x23\x19\x2e\xc8\x2f\xfa\x94\x04\x9d\x7f\xd4\x87\x05\x86\x2c\x3a\x80\x1d\xb8\x27\xee\x45\x41\xf5\x46\xae\xbc\x9d\xc6\x56\x85\xd4\x17\xc6\x89\x60\x1c\xf5\x0a\x38\x8a\xd7\x2a\x4f\x67\x9d\x30\xa9\x3c\x97\x30\x51\xb0\xaa\x5d\x13\x23\xae\x0c\x18\xbb\x5a\xf9\xe9\x07\x77\xf5\x49\x3d\xb3\xb9\xb9\x80\xa8\xad\xcc\xd7\x5f\x5e\x2d\x67\x17\xdd\x87\xa7\xfd\xde\x32\x70\xe7\xc4\xb3\xfd\xc9\x92\x2a\xb0\x1c\xee\x48\x58\x17\x92\x4e\xf0\x26\x38\x12\xd4\x7a\xfa\x27\x60\x0d\xe7\xdd\xef\x00\x83\x04\x53\x6a\x2b\xe3\x2a\x63\x73\x88\xa8\x06\xaa\xe0\xfa\x18\x44\x15\x56\x6c\xb2\x45\xec\xe5\x12\x5c\xaa\xc3\x7f\xf3\xaa\x1f\x44\xea\xb3\x42\x14\x63\x25\x9d\x27\x06\x59\x31\x2f\x0a\x5b\x0b\x5c\x59\xdd\xad\x70\xf3\x6a\xa8\x2e\x97\x87\xce\x38\x38\xd8\xa7\xad\x6d\xe4\x61\xa3\x1a\xed\x52\x72\x27\xbb\x60\x60\x71\xe8\x4d\x3e\x74\xe6\x4a\x19\x9c\xec\x78\xd1\xa3\xca\x86\xe2\x73\xb5\xf0\xe3\x43\x6e\x03\xa0\xa8\x98\x6d\x6b\x66\x58\x3f\x8b\x9b\x99\xda\xa0\x6e\x32\xfb\x9a\x79\x59\x90\xd7\xe6\x14\xe2\x65\xca\xae\x8d\xd9\xdb\x2d\x16\x13\x4a\x66\xfc\xe0\xe9\x50\x0e\x7e\xd3\xcd\x1e\xf7\x83\x30\x84\x78\x7b\x04\x28\x44\x75\xef\x18\x95\x8d\xfb\xb0\x97\x60\xa0\x11\x51\x7f\xbb\x79\x11\xd6\xa2\x16\x26\x4c\x75\x8e\x63\xdd\x94\x84\xc6\xae\xb4\x7c\xf8\x6c\xcb\x87\x9a\xd3\x31\xaf\xa8\x32\x25\x36\xbd\xa0\xf5\x26\x88\x0f\xf8\xc5\x5f\x03\xe5\x61\x8e\xf1\xd7\x44\xfc\xce\xf2\x4c\xc2\x2f\x71\x2d\x8c\x9e\xf9\xe6\x2f\xa8\xba\xd1\x30\xdf\x6a\x9b\xee\xed\x38\xbb\xde\x0e\x57\x76\x70\xf4\x45\xd6\x86\xb9\x71\x60\x8b\x36\x16\x12\x95\x4d\x64\xe5\x13\xbc\x08\x5e\xd8\xb9\x2d\x25\x3c\x2e\xde\x58\x1b\xe5\x4d\x6c\xf5\xd4\x06\x91\x70\x47\xdf\x20\x4f\x5c\xa5\x01\x70\xbc\xe7\x99\x37\xee\xe9\xa5\xf8\xec\x70\x1f\x6c\x32\xed\x42\x82\xdd\x58\x4a\x5e\x1d\x9e\x98\x8a\xdf\x11\x98\x34\x41\x2e\x01\x74\x8d\x59\x49\x06\xa9\x8b\x39\xf0\x80\xe9\xce\xf5\x10\x79\xb1\x36\xcb\x00\xa2\xba\x9a\x7a\x88\x3a\x4d\xf8\x35\xc1\x12\xa6\xe8\xf0\xa2\xf5\xef\x97\xbf\xe2\x26\x7c\x32\xd7\xba\x4d\x18\xe2\xc8\x89\x8d\xd0\xe0\xf4\xdb\x04\xd9\x13\x94\x40\xe4\x8b\xf0\x07\xde\xdf\xb5\xdc\xaa\xf9\x21\xb6\xb4\xf6\x93\x39\x79\x57\x29\xa0\x47\xd3\x1e\x81\x4a\x3f\x88\xba\xf9\xab\x9d\xe3\x9d\x9d\xb8\x6d\x4e\x41\x58\xa4\x08\x4e\x25\x1c\x48\xb3\xa3\x50\x49\xa5\x30\x76\xdd\xb8\x12\x0e\xaa\xee\xe6\x5e\x6b\xde\xf9\xd5\x75\xcc\x26\xf6\x62\xb4\xef\x4c\xc1\xae\x64\xfe\xb5\x80\x71\xde\x90\xd1\x2a\x25\xa1\x0e\xf8\x26\x7d\x19\xc5\xb5\xb7\xc1\x1e\xc1\x88\x80\x49\x35\xc4\x2a\x38\x11\x3c\xa1\xe1\x43\xce\xd6\xc6\xb1\x25\xa9\x4b\x36\xc8\x76\x6d\x3f\x12\x78\x68\xe8\x23\x0e\xea\xca\xd8\xc7\x39\x7a\x51\x7f\x04\xfa\xad\x84\x44\x7c\x2f\x45\x2e\x12\x14\x8c\x0a\x20\xcb\x77\x43\x88\xb9\x41\x5c\x0a\x43\x33\x6a\xca\x7e\x8a\xc8\x41\x2a\x94\xaf\x6f\xed\xb1\xba\x16\x2a\xce\xc8\x6c\xb8\xb4\xc6\xc7\xfd\xd6\xfa\x57\x82\x54\xea\x17\x97\x94\x54\x36\x33\x28\xe3\x22\x7c\x5e\x6b\xcc\x5d\x1c\x37\x93\x73\xac\x62\xca\xee\x28\x14\xa6\x88\xc9\xfa\xa0\x47\xb2\x85\xc8\xaf\x70\x52\x91\x0a\x83\xa8\xaf\x39\x48\x4a\xe3\x40\xc3\x25\x3d\x07\x31\xfb\x68\x2c\x91\x9e\x22\xe7\x7d\x24\xd1\x56\xbc\x1c\x94\xdf\xce\x85\xb9\x7e\x1c\x2d\xd3\x33\x34\x3b\x96\xd3\xbb\x92\x28\x82\x75\x25\xe2\xb5\x20\x91\xb7\x51\xd6\x72\x2c\x5c\x36\x1a\xda\x46\x21\xee\xb7\xe4\x8c\x54\x11\x5c\x73\x01\xf2\x7a\xc7\x86\xc9\x53\x8d\xaa\x90\x4f\x5b\x6c\xed\x49\x67\x53\xe9\xc9\x74\xaa\x68\x66\xfc\x28\x1b\x6a\x17\x42\x9e\x26\x00\x53\x28\x2a\x0b\x89\x7c\xfd\x12\x3b\x2c\x72\x7d\xde\x93\xd3\xa5\x59\xec\xf1\x83\x31\x99\xf3\xb7\x39\x2a\x86\x63\xa5\x63\x49\xa0\xc6\xd4\xb9\x8c\xc9\x61\x76\xfd\x5d\x7e\xcb\x17\x3f\xb4\xcf\xef\x43\x87\xe1\xea\xca\xed\xcc\xf4\x6c\xad\xdf\xa9\xde\x78\x5c\xbe\x25\x5a\x63\x55\x2f\x9f\x2a\x3d\x7a\x2e\xba\x84\x5d\xfe\x42\x80\xd7\xb5\x88\x51\x52\xc6\x6d\x34\x61\xb2\xdb\x1c\x63\xac\x98\x4e\x75\x1a\x46\x17\x96\xb5\x23\xf9\xca\x6d\xa6\xb9\xb4\x13\x31\x0d\xa3\xea\x72\xc5\x20\x3c\x91\x2a\x8f\x3b\x14\xb4\x94\xb7\x30\x74\x5d\xb9\xb5\x6a\x86\x41\x1d\x37\x6b\xc2\xdc\x8c\x7d\x07\x7b\xf7\x52\xd9\xaa\xcf\x4b\x5f\x9d\xc1\xaa\xc6\xe1\xdf\x45\xab\x32\xaa\x7d\x0b\x13\x81\xb5\xfd\xcf\x2e\xf2\x1c\x55\x5e\xaf\xbb\x73\x1b\xca\x48\xa4\x98\xd1\x83\x30\x89\x1a\x7d\xcd\x58\xc9\xb5\xdb\xf4\x58\xfd\x30\x87\xba\x51\xfa\xbf\xc8\xe3\xdb\xde\x80\x84\x76\x98\x60\x50\xfe\x3d\xb8\xf9\x49\xf4\xb2\x64\xea\xa7\xcf\xcf\x9f\x69\xf5\xc0\x3a\x8e\x59\x53\x6f\x65\x70\x32\x42\xe3\x6d\x8d\x11\x0f\x8d\x24\xa3\xa3\xf3\x6e\x1b\x2b\xd2\x0b\x65\xa9\x5f\x91\xe1\x56\x7b\x2d\x19\x14\xb6\x64\xf4\x07\xa5\x1e\x93\xd7\xb9\xb1\xc9\x31\x71\xeb\xc5\xa8\x31\xf9\xbf\x34\x33\x26\x3f\x8a\x58\x3a\x4b\x1c\xf9\x30\xc1\x1f\x2d\x73\x84\xd3\x7b\x3a\xe4\x76\xc5\x09\x8e\x99\xd2\xe3\x65\x11\xf7\xbf\xfc\x18\x33\xa8\x61\x30\x74\xd2\xf8\xc7\x8f\x7c\xf0\xe8\xda\x64\xf8\xf4\x46\xe5\x67\x36\x9d\x7f\x2c\x48\x55\xa4\x18\xe3\xe9\xa8\x09\x49\xd6\x92\xd4\x74\x92\x31\x93\xa4\xcf\x23\x6e\x84\xb0\x7c\x31\x23\x75\xae\x64\xd1\x11\xae\x6c\x56\x1b\xad\xe2\x6f\x40\x2d\x85\xa2\x55\xe5\xfc\x9c\xd8\x51\x52\x3c\x8a\x5c\x3e\x87\x5c\xf6\xcb\xee\xc2\x9c\x96\x54\xba\xbd\xfa\xab\x0d\x09\xc5\xc5\x86\xd5\x64\xfc\xce\xd8\xad\xb2\xc3\xc8\xd4\x63\x6b\x50\x79\x51\xc2\x72\xa4\x75\xa9\x51\x58\x23\xc8\x05\x2c\x1f\x32\x95\x1f\x02\xd1\x2d\x34\x19\x31\xa9\xf5\xf0\x1b\xa2\xb3\xb9\xfd\xd2\xe2\x31\xc4\xee\xb0\x66\x47\x12\xbf\xcd\x5a\x3c\x92\x84\x1b\x53\x3d\x1e\xcf\x81\xf1\x91\xed\x14\xc4\xf5\x08\xfe\xda\x4b\x95\x5e\x83\x74\x9a\x1e\x0c\xa4\xb4\xf8\x46\xa0\x0b\xff\x6b\x0c\x52\xb3\x14\xed\xfe\x87\x57\x26\xb8\x75\xb4\xa9\x61\xea\xa9\xa4\x0f\xf0\xd2\x71\x93\x43\x4e\x8f\x52\x06\x42\xa1\x3e\x13\x38\x22\x90\x0b\xa8\x88\xa5\xd8\x83\x4f\x05\x66\xbf\x2d\x3f\x3f\x8d\xbd\x8b\xf4\x35\xfd\x34\x89\x59\x83\x61\x5f\x5e\xa2\x18\xe8\x1a\x7f\x55\x5c\xdc\x73\x0d\x0a\x29\x03\xb1\x11\xd6\x88\x49\x4a\x4e\x52\x52\xe6\xc4\x64\xae\x0d\x4a\x75\x49\x7d\xf6\xe7\xf7\xe1\x9f\x80\xc7\xef\xf8\x15\x97\x58\x5e\x53\xa5\xb4\x0e\x92\x06\xb9\x7e\x1a\x74\x2f\x0a\xd5\x0e\x38\x2e\x5a\x63\x51\x03\xbe\xa3\x96\xa8\x94\x53\xcc\x93\xdd\x2e\x33\xe5\xe5\x55\x49\x7d\xf0\xa5\x51\x2b\x85\xd1\x2d\xae\xe5\x1c\xc4\xae\x2e\xdf\x03\x95\x8f\x2d\x5e\x68\xd3\xa3\xb2\xc8\xfc\xab\x3c\xf6\xad\x75\x95\xd9\x0e\x35\x01\xa5\x65\x4d\x73\x46\x8b\xd3\xa2\x47\x92\xb1\x87\x3c\x19\x4b\xfc\x55\x76\xc4\x54\xc9\x7d\xa5\x55\x70\xa8\xa7\xfb\xe0\x60\xef\xf0\xc7\xc6\xbe\xc1\xfe\x83\x03\x2a\xa8\xb1\xe5\xf9\x30\xec\xbb\xb7\xbb\x47\x5b\xd7\x4c\x5c\x6f\xc8\x83\xa1\x85\xa2\x0a\xc0\xd6\xd5\xba\x14\xaf\xc6\xf6\x1b\xa9\x7f\x2e\x1a\xdc\x40\x57\xb7\xaa\xe9\x09\xff\xa6\x7e\x4d\x5f\xdc\x8d\x95\x37\x1d\x13\x18\x86\xbe\xb6\x1b\xb7\x1c\xd4\xd7\x76\x63\x40\x7b\x7b\x0e\xf5\xf4\xf5\x0f\xa8\xeb\xbb\x11\xa8\xea\xca\xc9\xf2\xa5\xd7\x5b\x1b\x1b\x31\xd0\x62\x6a\xc5\x49\x83\xd3\x03\x52\x56\x8b\xd3\x38\xb1\xd1\x50\xce\xb9\x4b\x4d\x59\xe5\x35\x26\x79\xbc\xe3\x01\x74\x05\xda\xe1\xae\x6e\x55\x81\x40\xfe\x2d\xfa\xb5\x11\x33\xf3\xdb\x32\x38\x97\xbe\xfe\xc1\x9d\x7d\x0b\x46\xe6\x21\xef\xba\x13\x23\xaa\x24\xa1\xa2\x16\x4f\xe1\xb2\xa2\x80\xdf\xbb\x4c\x1d\x19\x13\x47\x56\xb2\x22\x04\x12\xb2\x48\x28\x31\x69\x31\x09\xe8\x80\xef\xa8\x5b\xf1\x91\x89\x98\xce\x54\xb1\xb4\x44\x40\x52\x10\x95\xb1\x46\xfc\x22\xb9\xc6\x3b\x70\x38\x92\x9d\x03\x94\x73\x3c\xec\x50\x0f\x39\x96\xce\xfd\x4e\x35\x01\xd5\x99\x75\xd4\xaf\x45\xc9\xdc\x79\xac\x98\xb4\xb8\x00\x87\x0e\xbe\x5b\x5d\x7a\x8e\xbd\x30\x5e\x3e\xab\xce\x9c\xa2\xae\x61\xca\xf9\x61\x12\x78\x4d\x37\x49\x81\xa8\xed\xd7\x2c\x05\xd4\x45\x8d\x18\xd6\xce\xff\x50\xa7\xdf\x3d\xc6\x7b\xef\xbe\xfb\x7e\xbb\x31\xe1\xf5\x0c\x13\x95\x73\xb0\x65\x88\x14\x5b\x7b\xd4\x1a\x31\x8b\x5c\xa0\xc1\xaf\xab\x98\x93\x2a\xe0\xa9\xa3\x5b\xfc\x8e\x69\x5e\xf3\xe9\x45\xfe\x50\xbe\x89\xcd\xf2\x10\x39\xc6\x1c\x7b\x5d\xc8\xb8\xd4\xa2\xa8\x7c\x2b\x05\xe6\x62\xb3\xa0\x2b\xd7\xcb\x27\x36\xa4\x28\xd1\x25\xf7\xfb\x07\xa5\x95\xd7\xba\x90\x99\xf0\xa8\xc5\xd5\x98\x87\xfd\xc7\x77\xff\x50\xc7\x07\xfc\xca\x67\x04\xb6\xb7\xf1\x6a\xc6\x60\xf7\x78\x3b\x9f\xfe\x3b\x67\xf3\xe7\x44\xc5\x26\xba\xb2\xfa\x15\x21\xb8\x3b\x4e\x62\x2e\x08\x4b\x13\x71\x01\x68\xa9\xe7\x0b\x7d\xe7\x33\xa6\x74\x62\x0d\x2b\xd0\x2e\x3d\x2d\x9d\x9a\xf7\x1a\xcb\x50\x55\x4a\xd2\x64\x42\x15\x25\xa8\xad\x4d\x33\xfc\xd8\x63\x74\x71\x52\x15\x6a\x8e\x56\x96\x7a\x62\x10\x1b\x52\x36\x71\x81\xca\xf6\xe6\xf2\xe9\xc9\x74\xc6\x12\x19\xb2\xd6\xa7\xb0\x2b\x29\x69\x27\xed\xc4\x95\xcd\x49\xc0\x83\xcb\xa5\x93\x67\xcb\xcf\x45\xa9\x4d\xee\xcc\x23\x8a\x62\x3c\x99\xc7\xce\x3c\x0f\xbe\xc2\x02\x41\x3c\xe4\x87\xb7\xb8\xb4\x8e\x52\x85\xd7\x0c\x16\x6f\x76\xf9\xfc\x10\x7d\xd5\x0d\xdf\x7c\xf6\x59\x78\x2d\xf0\xef\x5d\x03\xbd\x3d\xf8\xa5\xf7\xc4\x84\xd4\x57\x0f\x7e\x08\xa5\xdf\x34\x35\xe6\x7a\x32\x6a\x96\x41\x14\x1d\xf2\xaa\x88\x22\x44\xc9\x0b\xbc\x69\x91\xd3\x6a\x98\x7c\x62\xf0\x6e\x9f\x79\xd4\xca\xb0\x24\xf5\x12\xc7\xeb\x4e\x0a\x75\x3d\x64\x2a\x13\x7f\xe6\x8c\x3b\x7f\x9b\xbd\x60\x6a\x88\xf1\x35\x4d\x3d\xfa\x3e\xf0\x03\x86\x22\x53\x38\xf5\xc4\x44\xc7\xfe\xd4\x26\x74\xc6\xd2\xe0\xdd\x10\x3d\x39\x47\x32\xcf\x2b\xa7\xad\x20\xe0\xe7\xe9\x45\xf9\xbe\xf9\xf3\xf4\x12\xe0\x2b\x5d\xc4\x0b\x50\xd0\xc5\x7b\x61\x9a\xf3\xef\xf5\xe8\x35\xc9\x54\x89\xaf\x9d\xfa\x3c\xa9\xe4\xf8\xa3\x9b\x04\x34\x34\x27\x31\x0d\x07\x92\x4f\x8b\x47\xd7\x9e\xba\x28\xa5\x04\x04\x84\x8a\x9a\x25\xe1\x82\xaa\x33\x43\x44\xdd\xbb\x6d\x5b\x31\x92\x71\x4a\xee\x43\xa1\xee\xce\x10\xcb\x46\x3f\xe5\x2d\x3c\x92\xc3\xd9\xe1\xde\x81\x3d\x46\xef\x28\x56\x2f\xa2\x73\xaf\x90\x9f\x22\xeb\xa6\x2d\x72\xe6\x4c\x63\xf2\xbd\xba\xc4\xb9\x76\x7a\x9c\xba\xc0\xa1\xc6\x80\x27\x62\x47\x8e\x8c\xe4\xfa\xc1\xca\xa9\x70\xfe\x12\x38\x9c\x85\xfd\x51\xbe\xb5\x01\x93\xe5\xde\x39\x51\xba\xba\x8a\x8d\xd9\x2e\x5e\xa8\x7c\x77\x87\xb3\xe8\xca\x0f\x1e\x18\xef\x19\x54\x43\xa5\x16\x06\xea\x07\x0b\x73\xdc\xc5\x4d\x34\x31\x03\x3a\x62\x6a\xac\xd5\xb1\xa4\xc1\xfd\x15\xdf\xad\x62\x48\x15\x32\xd8\xc8\x16\xaa\x7f\x3b\xf1\xa6\x91\xf7\x4a\x92\xe3\x8a\x11\x86\x36\x4b\xf2\xc3\x45\x19\xde\xa1\xb3\x47\x88\x57\x55\xaa\xaf\x4f\x90\xea\xf5\x42\x6d\xf6\x12\xbb\x94\x74\x81\x3b\xbc\x3e\x6a\xeb\xfd\xc4\xe6\x35\x21\x2e\xaf\xe4\x02\xc6\x83\x65\xac\x4e\xdc\x2e\x7d\xfd\xdd\x5d\x7d\x3d\x78\x56\xb4\x75\xf7\xf5\x74\x0d\xb6\xb5\xa3\x6e\x3f\x99\xb6\x8b\x8e\x78\x8c\xd5\x29\xcc\x6d\x56\x57\x14\x24\x92\xb8\xc6\x42\xe5\xde\xd5\xca\xda\x34\xd3\x03\xf3\xcb\x3b\xc1\x43\x03\x47\x8a\x87\x87\x97\x3c\x96\x69\xa0\x74\x67\x77\x76\xde\x5d\x58\x42\xb3\x5b\xf8\x7d\xf5\x60\x38\xd2\xe4\x08\x95\x1b\x3d\x52\x98\xca\x89\x78\x1d\xd4\xea\xb8\x9e\x62\x1b\x46\xfe\x71\x97\xd0\xac\x9d\xb5\x94\x0d\xfb\x9e\xcc\x45\xc0\xe2\xbd\x27\x34\xf9\x13\x1b\x1e\x30\x6a\x03\xca\xd0\x94\x84\x01\xc2\xc9\xb4\x75\x3c\x28\x3a\x98\xc6\xcc\x3b\xfd\x6c\xc2\x9d\xe8\xde\xcd\xca\x9d\x15\x4e\x77\xa3\xfc\xb7\x83\x83\x7d\x09\x70\x8c\x07\x5d\x56\x42\xbd\xcb\x1a\x41\x57\xd3\x99\x4c\x89\x55\x14\x92\x91\x93\xfa\x28\x04\xb6\x47\xfc\x99\x28\x06\x5d\xca\xed\x0b\xb8\x5b\x07\x44\x4b\x42\x68\xbf\x60\x75\x22\x3f\x65\x8c\x1a\x61\x88\x6f\x0e\x99\x99\xa2\xc5\xc5\x94\xea\xbb\xf2\xfd\x7a\xf6\x19\x54\x91\xe7\xbe\x71\x9f\x2c\xb5\x2e\xdf\x00\x23\x82\xe5\x24\xba\x1a\x96\x48\x8b\x38\xcc\x99\x58\x46\xff\x2d\xaa\x2a\x89\x28\x59\x11\x11\xe1\xdc\x92\x68\xfe\xe8\x7a\x26\xfe\x18\x22\xb8\x16\x3b\x8c\xb7\xe0\x53\x16\x87\x76\x13\x3e\x65\x8f\xc8\x5f\xd9\xa1\xcc\x03\x68\xde\xa1\xac\x1b\xc6\x5b\xf4\x26\xd7\x37\x1d\x6a\x6a\x30\xe3\xa8\x41\x9a\x64\x2c\xc0\xf2\x04\xbe\x1f\x8a\x22\x1b\x35\xd6\x22\x8c\xdb\x10\x85\x63\xbf\xc7\xf2\x9c\x74\xed\xd7\xf5\x0e\x45\x4c\xac\xcd\x12\x86\x5a\x47\xb3\xa8\x96\xb5\x43\xbb\xcd\xa7\x36\x0c\x9e\x69\x67\xaa\x6b\x29\xd2\xb0\xcc\x3e\x1e\x94\xfa\x0a\xc7\xc2\xa8\xec\x82\x14\x85\xc5\x85\xbd\x12\xf8\x9e\x08\x41\x26\x53\xd3\x8b\x29\x56\x5d\x62\x2c\x91\x71\xa1\x09\x94\x26\x44\x3a\x6e\x65\xf4\xc0\x2b\xf7\xee\x95\x2e\x9e\xd2\x40\xc0\xf2\x3e\xf9\x09\xf6\x64\x10\xc1\x22\x6a\xed\x1d\x33\x08\x5f\xc3\xd5\x66\x75\x60\xf2\x57\x81\xeb\x48\x72\x23\xac\x76\x78\xd9\x2b\xab\x85\x4b\x2f\x67\xe5\x4d\x16\x6a\xe2\x67\xee\x91\x03\x3f\x81\xb0\xa0\x72\x66\xaa\x52\x5a\x82\xdd\x14\xd4\xc6\x45\x83\x7e\x79\x3d\xcf\x7f\x62\xa6\x82\x6f\x98\xaa\x69\xc2\x71\xfd\x34\xaa\x66\x94\x38\x26\x6a\xdc\x93\x69\x02\xdf\x5d\x9c\x2d\x9d\x7c\x20\x42\x8a\xc5\x97\x0b\xca\xe2\x5a\xc4\x08\xaf\xd6\x91\x96\x44\xb9\xae\x51\x0c\x2c\xb4\x6d\x38\x58\xc5\x11\xad\xbc\x2a\x1b\xd6\xe6\x37\x6c\x84\x95\xa1\xfb\x56\x0d\x0d\x02\xaa\x89\x93\xb2\x0a\x66\x3a\x23\xd6\x99\x5c\x19\xbc\xf6\x2a\xa9\x1f\x12\x97\xe3\xac\xbb\x76\xf9\x65\xc2\x2b\xdf\x3d\x2b\xff\xf0\x84\x0b\x5d\x68\x48\xe2\x03\x39\x96\x83\x7c\x86\xc6\x72\x30\x6f\x8d\x50\x73\x17\xd0\x8d\xfe\x3f\xf6\xae\xad\x39\x8a\x23\x4b\xbf\xef\xaf\xa8\xdd\xd8\x09\x1c\xb1\x92\x7c\x89\x79\xf2\x3c\x6c\x68\xb8\x2d\x1b\xe6\x12\x20\x3c\x31\x63\x1c\x44\x4b\x5d\x48\xbd\x6e\x75\xf5\x74\x75\x23\x6b\x1d\x8e\x90\xc0\x58\x92\x41\x80\x27\x40\x06\x2c\x8b\x3b\xc8\x18\x19\x23\x5f\x10\x42\xc0\x8f\xb1\xba\xd5\x7a\xf2\x5f\xd8\x73\xc9\xcc\xca\xaa\xae\x93\x55\xba\xc0\xf8\x61\x63\x63\x27\x8c\xba\xf2\xe4\xa5\xb2\x4e\x9e\x3c\x97\xef\x63\x02\x63\xf7\x27\x34\x3b\xd6\x7e\xf9\x65\xc2\x10\x71\x71\x14\x53\x1f\x1d\xde\x85\xcc\xc1\xdb\xee\x84\xcc\x29\x84\x96\xbf\x23\xa7\x64\x76\x3e\x64\x4b\xe6\x5c\xd9\xcc\xcd\xca\x5e\xfe\x7c\xd2\x72\xbe\x3e\x15\xac\xcd\xf7\x12\x59\xf2\x66\x3e\x04\x2e\xa9\xca\xfe\x10\x50\xdb\x98\xca\x03\xba\x11\x72\xad\xc7\xef\xc4\xa0\xb6\x3f\xeb\x9c\xd6\xb4\xb3\x7c\x84\xeb\x25\xda\x0f\x5e\xb6\x2e\xff\xe4\x3c\xee\x70\x5d\x3a\xcb\x1d\xb6\xe7\xb6\xb1\xf5\xc3\x7d\xbb\x97\x25\x51\x3e\x21\xaf\xcc\x47\xa5\xaa\x02\x50\xd4\x85\xc0\x14\x82\xab\x07\x2e\x00\x15\x8e\x00\x9a\xd2\x46\xde\xa7\x06\x4b\x31\x6b\x93\x62\x97\x43\x41\x58\x27\x35\x40\x08\x53\xce\x72\x37\xea\x6b\x75\xe9\x59\xeb\xdb\xeb\xac\x0c\x98\xae\xc7\x21\x3c\xc6\x03\xa4\xac\x5a\xbc\xc7\xea\x8b\x30\x92\xaf\x23\xab\x3e\x86\x90\xe0\x6f\x7e\xf1\x5f\x9d\x7d\x73\x7f\xd6\x4d\x58\xe1\xe9\x3e\x5b\x6e\x2f\xfc\xc0\x93\xfd\x6d\x65\x5c\x18\x4f\x66\x95\xa4\xa3\x9d\xb7\x2d\x68\xa2\xb6\x7e\xda\x14\xa6\xa8\x35\x16\x91\x0a\xce\xea\x43\xf6\x9f\x31\xcb\xec\xab\x61\x09\xcc\x5c\xcb\xe4\x87\x9b\x7f\xe9\x92\x4d\xf3\x2c\x97\x7b\xa1\x1c\x4b\x84\xc9\x71\xcc\x6a\xa2\x98\xa0\xc8\xba\x24\x38\x53\x10\x41\x4e\x40\xfa\x89\xc2\xe6\x3a\x95\xae\xcb\xa0\xe1\xf2\xe3\x18\x1e\x55\x00\xa8\x48\x59\xa7\x4e\x83\x91\xa0\x46\x70\x5f\x06\xd0\x5b\x54\x55\x9c\x54\x77\x69\xbe\x35\xb3\xc2\xa8\xa8\x09\xbe\x24\xe3\x29\x64\x96\x5d\x78\xd8\x70\x3c\x29\x2f\xe1\xec\x3c\x2b\xe6\xe6\x93\xbb\x48\x12\xa6\x41\xc1\x59\x5a\x0c\x95\xf7\x81\x4c\x00\x7f\x84\xac\x6d\x56\x45\xaf\xd7\xfa\x46\xae\x53\x4d\x86\xc0\x46\xf7\xeb\xb5\xbe\xd5\x15\x7c\x13\xc9\x86\xee\xcb\xb4\xbc\xf1\xb2\x4b\x50\xf3\x16\x9f\x2a\x51\x70\xa8\x22\xc3\x6c\xd0\xa8\x1f\xab\xa8\x78\x4f\xaf\x95\x22\x46\x51\x9c\x7e\xae\xbc\xf1\x6d\xdc\xfd\x5a\x69\x70\xa8\xee\xa1\xff\xb6\x87\x82\xa3\xf0\x95\xa2\x0e\x87\x9b\x77\x11\xe3\xe5\xda\x6b\x81\x0f\x30\x51\x35\xfe\xeb\xdf\x11\xd5\x36\xd5\x63\x21\xa2\xa8\x77\xcc\x66\x7d\xec\x45\xeb\xea\x29\x1c\x6c\x14\x18\xa2\x10\x0f\xa6\x99\x2e\xdc\x5e\xbb\xb5\xcc\x5c\x08\xad\xf3\x77\xdb\xe3\xcf\xed\x96\x11\x49\x2f\x8f\xc3\x5e\x77\xc6\xb8\x5b\xff\x66\x0e\x01\x3d\xae\xdf\x68\x3e\xfa\x0e\xbf\x0d\x8d\xd2\xe6\xda\xfa\xc8\xe8\x50\x89\xe8\x2a\xcc\x2a\xa6\x90\x73\xa3\x9e\x18\x0e\x6a\xbe\x7d\x75\x75\xce\x1b\xe3\xc5\x93\x17\x9b\x5f\x5c\x8f\x4f\xf7\xde\xa9\xf5\xd9\x31\x55\xc4\xa2\xee\x9c\x11\x7b\x49\xa2\x53\xc7\xb8\xfd\x22\x87\x82\xf8\xbf\xe5\x9c\x2b\xd0\xa3\x34\x1a\x15\x02\x32\x8f\xcb\x92\x7f\x5f\xc9\x7b\x3c\xfa\xd7\x90\xbc\x87\x53\x6f\x54\x75\xca\x4b\x17\x47\x3f\x03\xaf\xd2\xc0\x62\xa6\x00\x41\xbb\xf9\x0f\x3a\x62\xc4\x05\xe5\xea\x71\x29\x4d\x52\x09\xe5\xbc\x16\xca\xf3\xd0\x4e\xdb\x6f\x97\x9b\x63\x2b\x4c\xd9\xb6\x3e\x31\xcd\xa4\xec\x1c\x2e\x52\x92\xb9\x8d\x38\x58\x99\x6c\x84\x8c\x51\xb9\x5d\x23\xd4\x1b\xa7\x2e\x47\xda\x59\x88\xd9\x33\x75\x39\xba\x5e\x0f\xaa\x19\x2a\x6d\x7c\xb6\xb5\x70\x2b\x8f\x4a\x0b\xaa\xd5\xdf\xd9\xde\xa3\xa1\xbf\x86\xbd\xc7\x04\xef\x2a\xbf\xa6\x28\x1e\x3b\x97\x1e\xdb\xb4\xed\xe2\x39\xd3\xb7\x6f\xff\xee\x83\x47\x25\x46\x57\xfd\xab\xd0\xf4\x90\x8c\x22\x6e\x74\x98\x84\xa8\xcd\xad\xe1\xdf\xc4\xca\xbe\x73\xcf\xf1\x03\xbd\xfb\x77\x2b\x2b\xa9\x9b\xd8\xe3\x75\xd2\x4d\xb7\x2e\xae\x66\xee\xc7\x8f\xf8\xba\x1e\x51\xdc\xab\x9f\x43\x8b\x87\x09\x1e\xdc\xb9\x87\x0c\x8a\xec\xe1\xc1\xaf\x5a\x9f\xe6\x1a\x05\x7e\x99\xdf\x47\x17\x7f\x43\x8b\xaf\x1c\x2f\xc4\xdf\x84\xbd\xc7\xfc\x3c\xf4\xb4\xbc\x10\xde\x4e\x45\x3b\x41\xb5\x1a\x94\x73\x08\x47\xf3\x28\xe7\xd8\x29\x0a\x0a\x1d\xcd\xb0\xcc\xf2\x10\x0e\xa4\x7a\x89\xea\x27\x47\x29\x6b\x43\x31\x13\x3b\x6a\x78\xf5\xbc\x11\x84\x1c\xce\xc0\x27\x8b\x36\x2e\x04\x73\x53\xb0\x29\x95\xb8\xd0\xa2\x25\x79\xf1\x1e\x18\x93\x78\x52\x21\x39\x00\x5c\x5d\x4e\x37\xc7\xbe\x6c\xde\xfd\x0a\xd7\x81\x38\x2e\xc4\xc3\x33\x99\x5c\xd2\xef\x0f\x95\xe0\xca\x5f\x00\x5b\xb1\xe6\x8f\x10\xd6\x29\x81\xb7\xff\xbd\x51\xaa\x11\x9a\x04\xf1\x69\xc2\xca\x7f\x3c\xda\xc5\x97\x47\xae\x6c\x1e\xaa\xd7\xab\xe1\x71\xfa\x7b\x7a\x34\x84\xd2\x10\x6b\x68\x4d\xc3\xe2\x81\x0e\xee\xf1\x76\x97\x43\xbf\x4b\x91\x6a\x12\x33\x57\xc5\xaf\xa3\xdd\x8d\x37\x9e\x8a\x4f\x49\x9b\x99\x6b\x65\xd2\x51\x10\xcf\xfc\xca\xe2\xda\xf8\x77\x6b\x53\x9f\xaf\xbe\xfc\xa6\xbd\xf0\x44\x23\xe6\x5e\x62\x3e\x7e\x1e\xf8\x21\x1c\x20\x9f\xd4\x7c\x55\xc5\x8a\x4e\x32\x58\x54\x9c\xcb\x9e\x87\x6d\x9b\xa0\x19\x4f\x8b\xcc\x8d\x99\xaa\x13\xfa\xc5\xfb\xd4\x2f\x8b\x60\xd2\x63\x79\xd3\x93\x6b\xee\x75\x3e\x10\x28\x75\xa7\x03\xdb\x5d\x91\x85\x72\x82\xa1\x20\x2d\x4b\x05\x49\x1a\xd4\x75\xcf\x5d\x5e\xab\x17\x03\x6e\x18\xe8\x67\xa0\x3b\x1f\x9f\x44\xfa\x0a\x75\xce\x36\x4b\x3a\x7b\x42\x9c\xf8\xb4\x86\x8e\xa9\x1c\x55\xe3\x86\x9b\x7e\x7c\xc8\x78\x5d\x2d\x55\x1a\xbe\x89\x29\xc1\xd5\x15\x63\x26\x71\xb7\x42\xd6\x54\xac\xf1\xc6\x7a\xc0\x3c\xcd\xa7\x2b\x6b\xcb\x6a\x42\xe8\x5a\xe0\xf8\xca\xb5\xcf\x2c\xa7\x43\x8e\x71\xef\xdc\x63\x84\xc6\x94\x3b\xcd\xc1\x07\x5b\x12\x06\x4c\x9b\x32\x16\x92\x37\x14\x34\xa8\xea\xfc\x13\x27\x60\x97\x6e\x60\x26\x62\x9f\x38\xab\x5b\xcb\xb0\x6d\xd5\x86\xb2\xf6\x1d\x7f\xbe\x6b\x97\xae\xb7\x2e\x0b\x8c\x9b\x89\x69\x29\x0c\xa2\x84\xc5\x5b\xa8\xe8\xea\x3e\xe2\x85\xd9\xe6\x39\x72\xd8\x7f\xf5\xd9\xb3\xd5\xe7\x97\xb9\xcc\x2f\xe9\x4c\xb7\x17\xa1\x63\x84\xdb\x38\xfd\xd8\x56\x7c\x55\xaf\x71\x1b\x07\x1e\x7d\xfe\x47\xab\x45\x38\xd8\x0c\x1c\x61\x7c\x26\x0d\xfa\x91\x93\xb9\xb3\xc0\x46\x53\x87\x2c\x8b\x47\xee\xb5\xaf\x7f\x82\x73\x86\x39\x66\xb2\xe1\x49\xfb\x0e\xf6\xf5\xbe\x77\x7c\xff\xee\xfd\x07\x0f\xff\x55\xb2\x4d\xec\x47\xd2\x85\x14\x06\xd9\x7e\xc5\xff\x90\xb3\xde\xe6\xaf\xae\x3d\xbe\xc3\xe6\xab\x7a\x50\x90\x06\x27\x2d\xe6\x07\x59\xb1\x9f\x72\x30\x98\x23\x86\xca\xce\xf0\xd6\xe4\x4c\x7a\x30\x95\x02\x43\xad\xaf\xee\xb6\x1f\x9c\x93\x7a\xb6\x32\x94\x6c\xd3\x52\xe6\x39\x81\x9b\x9c\xd6\xb5\xca\x25\x4c\x1a\x37\xd9\xda\xdd\x5d\x9a\xd5\x9c\xaf\x4b\x8e\xea\x98\x2e\xe3\xed\xd3\x3b\xd5\xac\x72\xb1\xcc\x0d\xbb\x86\xcd\x24\x66\x17\xea\x16\xcc\x09\xd8\x11\xfe\xc7\x64\x3e\x70\x88\xac\x5e\x62\x3a\x7d\xe4\xf5\x32\x41\xb3\x88\x30\xdd\x48\x8b\x30\x25\x60\x58\x2c\x45\xb2\xa4\x89\xa3\x4e\x21\xb8\xfc\x74\xab\xb9\x72\x19\xf9\xea\xd0\xf3\x90\x62\x26\xe9\x7c\x63\xf8\xfb\x3d\x85\xaf\x7f\x4e\x63\x5b\x11\x21\x30\x4b\x58\x7d\x7a\x36\xb9\x0b\xc0\x06\x73\x00\xdd\xf6\xc1\x48\xc9\xb1\xf6\x89\x26\xb9\xdc\x4d\xb5\x17\xa8\x69\x52\x1d\xa8\x60\x19\x16\x7d\x86\x78\x51\x30\xfc\x91\x97\x51\x7e\x87\x16\x04\xbf\x76\x11\x9e\x45\xe3\x65\x76\x8a\xdd\x67\x72\xf7\x60\x93\x88\xaf\x96\x2a\x84\x8a\x54\x7c\xe8\x8d\x0c\x95\x06\x78\xe1\x8d\x8a\x61\x72\x66\x32\xd1\x60\xd3\x15\x1b\xb5\x38\x8c\x6b\xa1\x51\x0f\xba\x91\x0c\xdd\x55\x61\x63\x6b\x94\xf6\xc4\x03\xb0\x65\x9b\xe3\x3f\xb7\x96\x1e\xb6\x66\xaf\x33\xb0\x8e\xfd\x00\xdb\x55\xc8\x23\xba\x2c\xdc\x2f\xfb\x68\xd9\xd0\xae\x88\xea\xd6\x2d\x9a\x6b\x8d\x5b\x02\xdf\xa3\x74\xc1\x20\x0a\xe1\x47\x7c\x66\xa9\x74\x09\xce\x6c\xa1\xe2\x16\x17\xb9\x75\x8e\xbe\x99\x20\x4c\x4c\xa3\xb1\xfb\x66\x85\xbb\x95\xbe\xe1\xab\xdc\xe8\xcc\xb9\x38\x69\xbb\x26\xdf\x31\x80\xec\xe9\xdb\x03\xd8\xf8\x0a\xd4\x44\xec\x02\xd8\xc0\x70\x98\xf6\x28\xc7\x1f\x5f\xda\xf8\x66\x12\x84\x75\x8c\x1f\xb2\x5e\xe9\x86\x1b\xcc\xc1\x23\x7d\x74\x97\x84\xf1\xe2\xf9\xdb\xdd\x0d\x83\x2c\x06\xc3\xdd\x2c\x1c\x8e\xdb\x41\xbf\xe2\xd7\x22\x65\xc5\x7f\x27\xc2\xc9\x21\xd0\x6b\x55\xe2\xfe\x73\xd1\x4e\xa6\x01\x32\xcc\xce\x6b\x93\x75\x81\x3e\xc8\xe4\x31\x6d\x0f\x0c\x29\x61\xc8\x7e\xe0\x50\x1e\xc3\x8f\x32\x49\xaa\x7e\x3a\x3e\x66\x68\xb0\x76\xe9\x16\x5a\x1b\xc4\x77\x68\x22\x0c\x4c\x50\xc9\xf7\x48\xe6\xf4\x93\x2f\x28\x76\xbe\xad\x6d\xaa\x83\x45\xdf\x28\x17\x3d\xc5\xda\x5f\x43\x64\x27\xf9\x12\xab\xde\xee\xd8\xed\xd6\xf9\xbb\x48\x48\xcd\x7e\x32\x3e\x79\x62\x26\xba\x6b\x1c\x78\xd1\xa4\xfa\x3e\x73\xd8\x44\x64\xfd\x74\x5e\xe0\x6b\xaf\x56\xc5\xcb\x21\xd5\x63\xf0\xde\x4a\xa8\x72\x3e\x18\x74\x29\x50\xe6\x08\xea\x01\x7a\x35\xc0\x74\x66\xc6\x3f\xb2\x9b\x15\x9c\x97\x61\xc6\xa6\x9c\x6a\x45\xd4\x8e\xdb\x4c\xdc\x13\xf7\xc6\x55\xe0\xfa\xda\x67\x4c\xe4\xd7\xbc\xf3\xa0\x79\xe7\x9a\xba\x8c\x4e\xff\xdc\x3c\x73\x37\x83\xeb\x9a\x07\x86\x93\xaf\xa8\xa2\x38\x55\xf0\x68\x11\xd3\x60\x68\x00\x2d\x3e\x84\x5c\xa5\xcd\xb7\xe3\x5d\x11\x72\x75\x76\x3e\xf1\xa8\x67\x78\x77\xb9\x68\xd1\xf0\xcf\xea\x22\x39\xc9\x53\xb5\xc9\x81\x71\x95\x5c\x50\x43\xdb\x03\x4d\xbc\x52\x55\x76\x80\x6f\x62\xb0\xa9\xe2\x85\x09\x44\x55\x92\x52\x02\x0b\xef\x27\x87\x37\xd7\x16\xa2\x3d\x26\x1c\xb5\x45\xf4\x0f\x5c\x0a\xd8\xfe\x3d\x58\xb7\x59\x8b\xbe\x34\xf3\x95\x29\x7e\x3c\xa4\xb6\x55\xe5\x6d\x0a\xc9\x57\xda\x50\xf6\x80\xd8\xc5\xf1\xeb\xd8\xb9\xf5\xf1\x39\xf8\xc8\xb1\xa3\x5f\xc7\xa6\xb9\x4e\x13\x2f\x26\xfc\x01\xd2\x87\xd7\xfc\x7a\x0e\xa1\x7a\xbf\x3f\xdd\xfc\x81\x1c\x06\x04\xe2\xeb\xd8\x72\x11\x58\x09\x22\xd1\x61\xfa\x28\x56\xd4\xd6\x82\x30\x34\xa7\x0d\x28\xdd\x5d\x58\x46\x41\x5f\x6a\x9d\x1d\x65\x35\x8b\x2c\x27\x82\x0b\x63\x52\xbe\x2e\xd2\xa5\xf4\x18\xf9\x0c\xf1\x0b\x43\x6f\xb1\x32\xfc\xa2\x1e\x1b\x15\x52\x37\x14\x9b\x3a\x56\xe9\xe5\xbb\x9c\xa7\x2f\x75\xde\x48\xa1\xa2\x5c\xf9\x86\x9f\x2e\x3d\xdb\xf4\x3f\x45\x06\x2e\x8d\x99\x82\x91\xca\xd9\x79\xfb\x40\x04\x3b\x10\x21\x2a\x28\x63\x94\x14\xb6\xaa\xe6\xf8\xfe\x74\x6b\xf6\xb4\x4d\xe9\x63\x50\xcc\x8c\xd6\x05\x03\x73\x75\xe9\x12\x71\x05\x13\xa4\x9d\x05\xcc\xc2\x77\x64\x5b\x2b\x29\x7f\x8b\xa5\x37\xf9\x78\x80\x17\x77\x6b\x19\xa3\xc5\x9a\x36\x2f\x3d\x6d\xd5\xc9\x4e\x46\x6f\x4f\x27\x92\x61\x65\x53\x65\x47\x5d\x93\x2a\x9b\x38\x39\xaa\xd4\x8f\xfc\xd1\x50\x76\xaf\x6b\x96\xb4\x25\x45\x8a\xcc\x91\x69\x4e\x30\x71\xef\x1c\xbe\xa6\xe8\x23\x1a\xa9\xf9\x0b\x9a\x2c\xd5\x5c\x62\x28\x75\xcc\xd1\xb9\xc2\x0a\x61\x53\x97\xf3\x66\x74\x0e\x03\x27\x51\xb8\x87\x40\xdb\x8c\x6b\xe4\x35\x48\x2b\x87\x81\xd0\x1b\xdb\xe3\x89\x9b\x8a\xf3\xc1\x6c\x37\x8d\xc4\x33\x07\x1f\xa2\xe1\x64\x95\xa0\x7c\xd5\xa7\xa8\xdf\x28\x5f\x3b\x13\xb5\x0e\xae\x17\xc9\xd1\x61\xb6\xf1\x88\x0c\x99\xbc\x99\x9a\x8c\x4c\x1a\xd8\x37\x73\xcc\x6d\xcc\x4f\x9b\x42\x74\x8e\xde\x4a\x3d\x55\x95\x57\xa2\x50\x2c\x76\xf3\xfd\xa4\x1b\x75\xd3\x0e\x5e\xb6\x41\x8c\x41\xd7\x54\x85\x7d\x55\xca\xf6\xeb\xf0\x41\x24\x85\xa1\x6d\x72\xf5\x19\xdc\x62\x32\xe8\xc4\xfa\x60\x6f\x94\xbd\xfd\xa0\x4c\x64\x8a\xb2\xa5\xe7\xed\xf9\x2b\xad\xcf\x7f\x59\xff\x4e\x00\x1b\x60\x21\x85\xe1\xa0\xc1\xfc\xbc\xc3\x24\xce\x7b\xc3\xef\x19\xec\xf1\xde\x7e\xeb\x9d\x3f\xee\xef\xf2\xde\xde\x0b\xff\xff\xd6\x5e\x29\xc9\xc1\xee\xa4\x75\x79\x69\x7d\x82\x48\x9a\xe1\x0a\x79\xef\x14\x4b\xf8\x75\x6c\xfc\xed\xbd\xf8\x3f\x6f\xed\x15\x53\x15\x84\x71\x68\xfc\x0b\x4c\xb6\xa0\x4a\xfe\x0d\x0d\x8c\xbf\x8e\x0b\x8f\xd0\x87\xcb\x97\x59\xf8\x3a\xb6\x6f\xb4\x95\xc6\x70\x3f\x42\x93\xc6\x31\xb0\x8d\x3d\xd6\xe3\x75\xbf\x8d\x1b\x01\xc3\xaa\x58\x17\x51\x40\xa5\x5d\x2e\x0d\x13\xdb\x3c\xcf\x54\xfa\xb4\x5f\x71\xaf\xde\x1b\xbb\x38\xc2\xfb\x6e\xf4\x9b\x48\xc4\xdd\xe1\x26\x80\x15\x64\xa7\x3f\x74\xb4\xfa\xec\x76\xfb\xe6\x3c\x68\xe8\xf5\xab\x17\x11\xe5\x96\x16\x14\x7e\x82\x35\xe5\x48\x2f\x45\x80\xaf\x99\x07\x72\xaf\x68\x2d\x1b\x4d\x8c\xc7\x91\x4f\x5c\x32\x21\xd9\x5d\xf6\x69\xcf\x53\x90\x5f\xc3\x5d\x99\x47\xd1\xb4\x5f\x3e\x6f\x3f\xbd\x63\x6b\x99\x74\x89\x47\x7b\x7b\x23\x83\x67\xb8\x14\x62\x4d\x05\xd3\x55\x31\x00\x1a\xf9\x51\x24\x65\x46\x30\x66\xad\x07\x97\xe0\x02\xb5\x3e\xbe\xdc\x5a\xb9\xe0\xa1\x38\x97\xc3\x1f\xeb\x0c\xd3\x85\x89\x15\x88\xc8\x01\x08\x7a\x8e\x5d\x21\xc6\x85\x68\x3c\xe7\x51\x74\x4f\x23\xb7\x85\x75\x38\xdb\x86\x45\xf8\x01\x30\x02\x56\x97\x16\x5b\x3f\x8f\x1b\x00\xbc\xa4\x73\x89\x9c\x8b\x78\x37\xca\x37\x26\xc3\x3f\x19\x8d\x8b\xb7\x91\x19\x11\xfc\x30\x52\xa8\x15\x11\x23\xe4\x08\x5c\xd5\x86\xad\x8b\x39\x4a\xd2\xc9\x44\x14\xe8\x92\x47\xdd\x7e\x3e\x05\xb6\x64\x04\xdb\xc7\xbb\x91\xe8\x54\xf9\x10\x41\x61\x78\xaa\x2d\x30\x71\x22\x4e\x65\xee\x97\xd6\xfd\xb3\x9c\x07\x84\xe5\xb0\xdc\x43\xfa\x94\x8e\xf4\xee\x95\xe0\xc9\x30\x97\xee\xc7\xcb\x8e\x76\x72\x5c\x1d\x1b\x8a\x97\x94\xa3\x47\x76\x1f\x76\x42\x9b\x99\xb8\xb1\x0b\xdd\x0c\xa5\x48\xe0\x5f\x19\xc9\xbc\x47\x2b\x3a\x00\xae\x28\xb2\xd3\x9c\xb8\x3d\x74\x55\x61\x60\x11\x39\xad\x83\x11\x66\x98\x2b\x3b\x2d\x85\x81\x4c\x48\x5b\x4e\xe6\x80\x38\xbe\x1b\x54\x7c\xca\x44\x23\xb4\x15\x45\x24\xa7\x10\x76\x58\x05\x83\xc6\xad\xc2\xf6\x17\x93\x56\x78\x60\x2f\xe6\x18\x0c\x87\xd9\xce\x31\x9d\x62\x7a\xb1\xf9\xe2\xab\xd5\xa5\xb1\xd6\xc3\x9b\xad\xb1\xfb\xa0\x51\xd7\x6e\xad\x64\x0e\xaa\x81\xee\x96\x3a\xf1\xe8\x66\xf8\x1b\x08\xec\x44\xb4\x03\x23\x91\x7c\x53\xe8\x52\x1e\x9d\x1d\xda\x41\xb3\x23\x67\xd9\xbf\x9a\x1e\x99\xe3\x78\x6f\x67\x37\x8f\x25\x26\xbb\xfe\xdf\x1e\x4b\x9d\x1c\xeb\xbe\xb7\x73\x27\x39\x46\xde\xf7\x6b\x21\xe5\xad\x1e\x62\xcf\x02\xa8\x1f\xa2\x8f\x71\x79\x9a\xf4\x88\xee\xb4\x66\x9e\x68\x39\x84\xc3\xf0\x10\x46\x80\x7e\x05\x26\xe9\xb8\xfa\xac\x79\x26\xcf\xfa\x04\xfd\x98\x6a\xac\xdd\xd2\xe4\x35\x43\xe5\xe1\x1b\x8f\x32\x5d\xd9\xcd\xbf\xb2\x36\xe8\x85\x19\x78\xeb\x2a\xfd\xf3\xc1\xa5\x64\x5b\x62\xb4\xb0\x99\x65\x1d\x2c\x3b\xd1\x10\xab\x85\x5a\x98\x5c\x32\x1d\x27\x56\xff\xc4\x8c\x3b\xe7\xb8\xa6\x66\x5a\x73\x17\xe3\xcb\x95\x22\x42\x1a\x08\x5d\x5f\xc0\x6a\xe3\x9a\x17\x45\xa1\xea\x0a\xd0\xa3\x5f\xf3\x97\x49\x75\x77\xd1\x70\xf2\x7c\x77\x71\x77\x12\x71\x34\xa5\xd6\x2b\x53\xd7\xaf\x96\x3c\xae\x63\xe4\xc9\x9e\x12\x77\xb1\xc4\x10\xc5\x54\xa9\xa3\x95\x7e\x4e\x33\x89\xd7\x53\xe6\x5f\x4d\xbb\xac\x32\xc2\x14\xc7\xbb\x0d\x1e\x57\x9b\xe8\x94\x81\xce\xeb\x6c\x48\xc5\xf1\xce\xf1\x13\x48\x4b\xf1\xd9\xd0\x00\x39\x43\xbc\x23\x15\x7a\xf5\xe9\x59\xfb\xc9\xf5\xaf\x3f\x7f\x85\x93\xb0\x48\x84\xb6\x30\x09\x89\xba\x68\x2b\x53\x49\x94\xd2\x69\x16\x67\x36\x3e\x51\x59\xbb\x3f\x2d\xbb\xb0\x6e\x72\x42\x19\xa2\xda\x64\xd9\xda\x10\x1c\x19\x91\x69\x7d\x27\xd3\xdc\xb3\xfb\x1e\xc0\xee\xca\x65\xd9\x84\xc4\x90\x11\xbd\x0c\xfa\xdf\x6c\x89\xa9\xc9\x97\xac\x2b\x24\xd4\x9b\x7f\x5e\x6a\x26\xaf\xa1\x58\x9e\x95\x5e\xc8\xed\x28\xf4\x12\x80\x79\xcc\xab\xc8\xd0\x48\xb8\x76\xc3\x85\x51\x0f\x4e\xe0\x93\x3e\xe7\xca\x0c\xc3\xff\x32\xbc\x60\x22\xf8\x74\xb2\x51\xc6\x30\x11\x9c\x4b\x7f\xf2\xe8\xc6\x5e\xea\xbc\x83\xc9\xa8\x51\x2a\x79\x31\xb4\xcd\x1c\x3a\xfd\x77\x05\x31\x3f\x14\x3c\x37\xe0\xfb\x45\xc9\xf9\x64\x6f\x8a\xe6\x85\x47\xed\xd3\xcf\x8d\x2f\x0a\x23\x7c\x57\x6e\xb4\x27\x7e\x4c\x86\xa3\x12\xc9\x39\xcd\x09\x64\x52\x82\x0b\x55\xeb\xa7\xb9\xdf\x56\xbe\x66\x3f\x01\x46\x9b\xf2\xa1\x5f\x51\x92\x25\x5b\x60\xad\xab\xa7\xd8\xd1\x05\xb7\x04\x4e\xd3\x5a\x1f\x5b\xc4\x80\x8b\xc3\xb5\x15\xad\x7b\x1a\x8d\x71\xfe\xf5\xfc\x27\x6f\xe1\xe4\x1a\x6f\x74\xe3\x46\x59\xaa\x19\xeb\xbd\x91\x9d\x1c\x66\xa3\xbe\xd2\x2a\xab\x5c\xf8\xc4\x49\x47\xab\xd4\xc8\x47\x6d\xd6\x79\x5c\xa4\xf6\x06\xab\xa2\x56\xb2\xd1\x61\x6a\x70\xce\xc6\xd3\xb3\xc6\xa7\x92\x4b\x7d\x6e\x7a\x9a\xe6\x2c\x7c\xbd\xd3\xb4\x0f\xcf\x57\x3a\x59\xf8\x01\xbe\x87\x42\x45\xdd\xdc\x98\x3f\x21\x8c\xd1\xc0\xe7\x9c\xb4\xf8\xc6\x72\x2f\x86\x7b\x30\x99\x53\xf7\x3f\xae\xfa\x03\x14\x2c\xa3\xd8\x22\x86\x11\x82\x01\xaa\xd4\x2b\xbe\x4b\xd7\x5c\x15\xe5\x93\x8c\x7e\x8e\x0a\x7e\x33\x07\x8b\xdd\x9a\xc5\x28\x8c\x89\x10\xc6\x5a\x0b\xbd\x93\xea\x51\x4c\x38\x3a\x5f\x07\xab\x4c\x55\xc1\xa0\x8a\xf7\x15\x6a\x83\x0d\x4c\x78\x96\x3c\x64\xf7\x6f\x53\xf0\x68\xaa\x7d\xfb\x1b\x0e\xd9\x35\x57\x2e\xb7\x2e\x2f\xe1\x91\x35\x35\xc6\xa5\xa6\x89\xeb\x50\xc6\x78\x70\x2f\xa8\xe1\x98\xcc\x9f\x03\xb9\x8c\x7d\x7b\x2c\x76\x87\x69\x72\x84\x31\x94\x03\x2c\x36\xb4\x33\x85\x38\xdf\x92\x2e\x69\x9c\xac\x28\xfa\x0a\xa9\xf7\xf5\xf3\x33\x08\xca\x63\x65\xfe\x70\x0d\x0d\x87\x23\x39\x21\x51\xea\x1c\x0e\x64\x30\xd8\xfa\x76\xe6\xb1\x0c\xf9\x0c\xa4\x87\x5d\xf4\x0c\x4a\x68\x6e\x83\x53\x89\xb5\xec\x4c\x49\x6e\x98\x02\x2e\x96\x89\x25\xc6\x27\x0a\x27\xa4\x47\x29\x13\x8e\xf7\x11\x6e\x1a\xd6\x87\xf7\x82\x85\xe6\x63\x0e\x2e\x02\x13\x7a\x2c\xd6\x46\x70\xa7\x0e\x84\x1f\xd2\x42\xaf\x0e\xe1\x87\x06\x2e\xc4\x44\x05\xf8\x1f\x33\x23\x79\x25\x39\xcf\x36\x9b\xd1\x9f\x77\x68\x76\xb2\xac\x11\x98\x0b\x37\x48\x49\xcd\x44\x0c\xb2\xa4\xb2\x79\x54\x30\x8c\x9a\x4e\xc9\x9d\xd0\xc0\x39\xe5\x33\x5d\x78\x0e\xd9\x9d\x48\xbf\x39\x7b\xc8\x22\x3f\xb0\xfb\x70\x24\x63\x6a\xb9\x15\xab\x38\xc7\x0f\x83\x46\x4d\xfb\x50\x9c\xf2\xb9\xc8\x06\xbd\xdc\x3f\x4e\xb4\x96\x2f\x3a\x5d\x34\x9d\x1d\x59\x9e\x9a\x7c\xbd\xd8\x8e\x13\x67\x2f\xa9\x45\x55\xf9\x96\x4c\x2c\x86\xca\x5c\x44\x2e\x4c\x55\xff\xed\x2a\x4c\xe5\x8e\x38\xdf\x26\x7a\x5c\x96\x8c\x6b\xf5\x87\x30\x05\x99\x12\x11\x0e\xff\x10\x4a\xbe\xbb\x08\x67\x31\xb5\xb1\x5a\x5b\xc4\x02\x44\x19\xee\xee\x7f\x0f\x30\x26\x6a\xc0\xaf\xbc\x2a\xd1\x4c\x3a\x3a\xab\xa1\x9d\xa9\x04\xc8\x67\x33\x74\xea\x3b\x41\x88\x7b\x08\xa9\x6e\xcc\xed\x5d\xd0\x0d\xfa\x21\xf5\xc8\x72\x98\xd5\xdb\x62\x34\x77\xaa\xf8\xb4\xbe\x32\x07\x9b\x54\xfb\xdb\x4d\xb5\x22\x1c\x17\x79\xd6\xd1\x3e\x31\x50\xfe\x2b\x79\xcb\xd9\xb8\xf2\xf9\x87\x9a\xe2\x5b\xe8\x18\x73\xbe\xaf\xc4\x1a\xf3\x01\x71\xcc\xc9\xfb\x7d\xee\xe1\xa6\x04\x02\xb6\x5f\x1d\xa5\xf9\xf2\xf3\x8c\x2e\x86\xc5\xff\x3b\x74\x34\x6e\x4e\xdb\x26\x4e\x4f\xc1\xbb\xe8\x58\x9d\x72\x50\x30\xfe\x58\x4c\x6e\x08\xc9\x2c\xa6\x93\x95\xb9\x0c\xdd\x87\xdd\x8b\xb9\xe8\x49\xca\x77\x3d\xf5\xa3\x7d\x00\x70\xe5\x47\x56\xdf\x5b\xd1\xfb\xdc\xe7\xe6\xf5\xbe\x1e\x43\xf2\xa4\xca\xee\x33\xef\xe1\x66\xf5\xf0\xb7\x52\x75\x0f\xac\xf1\x9f\x47\xe1\xf6\x89\xb4\x20\xf0\x27\xfc\xf7\x4e\xcc\x07\xc2\x0b\x49\x49\xa6\xb3\x4b\xf6\x1c\x17\x05\x77\xd3\x84\x2c\xcc\xbc\x75\x2d\xfe\xd6\x70\x47\xb6\x8e\x2d\xa2\x07\x60\x15\xb5\x12\xaa\x36\xb1\x22\xd4\xb9\x24\x52\x15\x17\xe3\xf7\x48\x28\x6f\x8e\x98\x9b\xd5\x73\x54\xb2\x0a\x5f\x1b\x63\x6d\xb7\x26\x67\x14\xfa\xb6\x9d\x6d\xcc\x55\x1d\xff\x38\xe7\x2a\x25\xc6\x61\x16\x30\xeb\xa0\x9b\xb2\x0e\xaa\x85\x30\x1c\x09\x6a\xe4\x6c\x2f\x07\x83\x25\x91\xb4\x47\x55\x52\xa8\x74\x82\xe6\xa3\xcf\xd7\x6e\xad\x60\x0d\x04\xc5\xb9\xc5\xae\x2c\x05\x55\x2f\x88\x45\x32\x29\x16\x33\x95\x21\x3a\xc4\x62\x72\x39\x2d\xa6\x52\x39\xf9\xb2\x09\x4c\x47\x1d\xed\x73\xa4\x11\xe0\x8d\x20\x0b\x68\xa2\x73\x26\x72\x72\x0c\xc8\xcb\x14\xe3\x6c\x8d\x87\x49\x96\x00\x67\x84\x3f\xe4\xd8\x8b\x8d\xcd\x65\x74\x9f\x58\x16\xa7\x44\xc7\x41\xb2\x62\xed\x1c\x9d\xd5\x62\x14\xb1\xe4\xb7\x77\x77\x13\xe7\x7c\xe5\x06\x0e\xf9\x8c\xc1\xf5\x09\x41\xaf\xe4\x56\xb8\xd4\x13\xc3\x67\xa5\x34\x4d\xed\xed\xfd\xdd\x87\x8f\xec\x3b\x78\x40\xcc\x8b\xa2\x04\x07\xf1\xe5\xbd\x8f\xa8\x82\xde\x7f\x1f\x39\x78\xc0\x0b\xfa\xff\x07\xd9\xd0\x14\xe2\x9c\x65\x23\x75\x2b\xf8\xb4\x01\xc3\x54\xca\xe9\x40\xd5\x42\x0d\x86\x56\xf7\x6b\x61\x57\xf4\x6d\x29\x92\x82\x52\xa5\xbb\x8c\xd9\x2d\x01\x15\x17\x16\xe8\x8d\xf6\x78\x7b\x08\x6d\x56\x73\xc8\xab\x5c\x74\xbf\xe8\x90\x1b\xfa\xe8\xcf\x1a\x20\xef\x2a\xff\xaa\x09\xf2\x1d\x98\xb5\x22\x94\x15\xc1\xe2\x29\x26\x4f\x82\xae\x55\xf4\xa8\x17\x4e\x23\xf0\x17\xde\x8e\xa7\x5a\x97\x27\x79\x39\xd6\xa6\xbe\x25\xc7\xe4\xe4\xfa\xd8\x85\xf5\xf1\xf3\x18\xc8\x3a\x73\x9f\x18\x06\x50\xf3\x1b\xd6\xa0\xdf\x56\xa6\x18\xe4\x0d\x94\x36\xfe\x91\x72\xe4\x93\x62\x69\x6f\xb2\x1a\x87\x3f\xae\xcf\x3c\x6e\xcd\x4c\x80\x70\x74\x79\x52\x96\x8c\x84\xa3\x2b\x6a\x80\x6d\x7f\x6d\xa5\xca\xff\xbf\xae\x57\xfa\xba\x1a\x9c\x4c\x45\x5c\x1e\x3b\xc0\x20\xec\xd6\x17\x8f\x6e\xaa\x71\xde\xa1\x19\xfe\xfa\x7d\xaf\xe2\x0f\xc2\x1a\x9c\x14\x5d\x3b\x44\xe1\x91\x2e\x04\x9d\x9c\x63\x2b\x70\x82\x60\x28\xf8\xca\xa3\xf6\xe2\x0d\x31\xc1\xd7\xc0\xe4\x1d\x90\x75\x37\xa3\x19\xb8\x14\xf7\xfb\x0c\x02\x73\x48\x9d\xdd\x52\xfa\x2e\xa3\xad\xd0\x49\x2d\xca\x09\x65\x9b\x88\x95\x98\xd0\x12\x2d\x1b\x4c\xd6\xed\xd2\x55\x54\x5c\x61\xa4\x7c\xef\x21\xc3\xe5\xe9\x72\x14\x19\x17\x89\x8d\x19\x5d\x71\x02\xc6\xa0\xc9\xcf\xfd\x75\x6c\x1c\x8b\xa6\xbe\xfc\x02\xec\x19\x36\x75\xa4\x93\xe5\x2f\xbd\x87\x0f\xec\x3b\xb0\x97\xf1\x93\xf8\x80\xc6\x0f\x92\x0c\x2e\x63\xde\x60\x1d\x8c\x89\x1c\xf1\x57\x57\xe5\x0c\xf7\xd0\x1b\x2a\x0d\x0e\x95\x47\xb1\xcc\x70\x00\xda\x14\x06\xfd\x22\x89\xfa\x6b\x4c\x00\xa6\x28\xc0\x36\x39\x59\xe2\xca\x5b\xcc\xdc\x43\x9d\x1b\xd2\xb4\xd5\x8f\x88\xd9\x5a\xe3\x0f\x9b\xbb\x0f\x87\xfc\x72\x19\xe4\x87\x75\xb9\x98\xa2\xbd\x70\x0f\x66\xa9\xc1\x97\x9a\x2b\x4f\xd6\x4e\x4f\x2a\xf0\x56\xd8\x51\xf7\xc6\xd5\x3d\x88\xec\x3c\x65\x76\x3d\x9f\x5d\x3b\xb5\xcc\x31\x2d\xf8\xe4\xb8\xb4\x91\x5b\x9f\x81\xef\x65\x06\x39\x79\x75\x5e\xc2\xda\xec\x59\xe4\x68\xb2\x5a\x1b\x90\x1e\x2b\x77\x61\x02\x1a\xb6\xe7\xaf\x60\x71\xc8\xec\xbc\x77\x84\x46\xdd\x5a\x78\x02\x57\x1e\xb8\x94\xb9\x57\xdd\xa3\x92\x1f\x05\x66\x19\x50\xa9\x11\x28\xa2\x90\xc1\x2c\x39\x39\x2a\xe6\x9e\x50\xe9\xac\xf1\xf2\xe5\x4e\x60\x6f\x34\xe6\x60\x83\x55\x06\xa1\x49\x84\x64\x15\x18\xc2\x4d\x16\x43\x2f\x9a\x43\x2e\xde\x3b\x6f\xbd\x85\xbf\xff\xf1\xed\xb7\xba\x74\xe1\x70\xa7\x5c\x0c\x64\xf6\xfb\x7e\x45\x93\x10\x75\x51\xda\x09\x63\x0b\x57\x87\x10\x7a\x93\x5e\x61\x88\x6f\x70\x67\x39\x68\x14\x41\x1d\x37\x2a\xc5\xda\xe8\x8e\xd0\x83\x6b\x77\xa1\xbf\x10\x82\x8a\xee\x85\xe5\xf9\xa8\x12\x8c\x94\xfd\xe2\xa0\xc1\x53\xe8\xe8\x4b\x67\x87\x73\x5d\x5e\x91\xa3\x33\x31\xa1\x36\x22\xa8\x59\x26\x0e\x3a\x87\xea\x73\x32\x88\xe4\x62\xb1\x98\xd9\x3f\xf0\x19\x31\x82\x67\x73\x7c\x02\xb9\x93\x16\x6f\xb4\x17\x1f\x9a\x52\x32\x43\x5b\x2c\xf9\x71\x54\xa2\xe6\xe7\xd3\x6c\x0f\xa1\x16\x9f\x7d\xc0\xe9\xc4\xb4\xb6\xc8\x56\x04\x8b\x1b\x15\xdb\x3d\x59\xe4\xb4\xdc\x38\xb7\x1c\x6e\x2e\x64\x5e\x19\x5f\x5e\xbb\x8c\x05\xc8\xbc\xad\xe0\xbf\x71\x67\xc5\x66\xef\x31\x42\x7d\x73\xf9\x3b\x2e\xd0\x86\x56\xa6\xce\x2f\xf1\x24\x62\xb3\xfe\x30\x9d\x9c\x08\x97\x0e\x5e\xbf\xdb\x5e\xb8\x62\x30\x4c\x95\x03\x8d\x93\x73\xfe\x71\xce\x46\x69\xe7\x53\xe8\x35\xee\x66\xc3\xa5\x96\xbe\x9b\x79\x9b\x62\x9c\xbb\xa3\x8c\x84\x8b\x92\x5e\xf1\x46\xdd\xdc\xfe\x8c\xc6\x68\x6f\x50\xbd\x6b\x11\xbb\xda\x2b\xd4\xeb\xfe\x70\xb5\x6e\x3a\x18\x2e\x14\x7d\x8d\x53\x55\x18\x48\x5b\xc7\x3f\x99\x14\x18\x9b\x3c\x95\xbe\x6c\xac\xc1\x2b\xc2\xf5\xa4\x16\x8c\x6a\x70\xd5\xc4\x3b\xb0\xca\x0d\xd5\xda\x74\x8c\x15\x56\xe2\x04\xd6\xd0\xa5\xf6\x42\xac\x7d\xa0\xc0\x75\xfa\x17\xa2\xef\x2a\x83\x9a\x17\x5f\x83\xdd\x75\xa3\xf3\xb7\x9b\x9d\xbf\x41\xc7\x8f\x6a\x34\x34\xcf\xe1\xaa\x29\x8f\x1d\x80\xf7\x56\x69\x88\x95\xf3\x39\xbf\xde\x24\xcf\x43\xbe\x6f\x38\xe5\x5b\xa5\x6f\xe6\x35\x7f\xb1\xee\x6f\x55\x01\xc3\x98\x6f\x95\x3e\x5d\xfe\x56\x15\xba\x1e\xd1\x1e\x62\xc1\xef\xcf\x37\xa5\x89\xff\xb6\xf2\x75\x82\x0a\x97\xce\xb8\xe9\xb5\x1b\x3f\x35\x6f\xcf\xc9\xad\xce\xf1\x14\x54\x25\xa9\x5e\x81\x38\x7d\xe9\xa9\x84\x64\x4c\xba\x7d\x71\x0e\xb3\xf5\x4e\xcd\xf3\x19\x8a\x05\xc3\xf4\x8c\x63\xc3\xa0\xfa\x4c\xdf\x31\xab\x2f\x3e\x6f\x7e\x7f\xae\x35\x79\x91\x99\x1d\x37\xac\xa3\x4a\xa8\x04\xea\xe8\x0e\x20\xb8\xd5\xd8\x7b\xf8\x53\xe2\x63\xb1\x30\x15\xfb\x7d\xfd\x41\x62\x05\x1f\xd5\xcf\x73\xd4\x36\x4c\x65\xf2\x8c\xb7\x2c\x94\xa1\x43\xac\x77\x22\x88\x92\x5a\x69\xb8\x00\xef\x1c\xbf\xc0\x01\x2c\xa3\x88\x60\x49\xec\x41\x52\x31\x6b\xb5\x4c\xe5\xc9\x1d\xdf\x30\x55\x5a\x95\xf0\xbb\x19\xa6\xfa\x42\xfc\x74\x4e\xbe\xed\x1d\x89\x73\xe1\x62\x66\x86\x3a\xee\x9d\x0d\xdf\xa1\x27\x91\xc1\xc2\xc7\x5c\xd2\x74\xfd\x45\xfa\x0e\xfa\x40\x84\x15\x1a\x1d\x34\xa3\xff\xee\xf1\xbc\xbf\xf8\x11\x00\x3f\x56\xcc\x6b\xd5\xa3\x1e\x37\x59\x1f\x84\x80\xd5\xe0\x7c\x93\x62\x30\x52\xd1\x0f\x45\xca\x00\x09\x10\x89\x18\xa5\x58\x24\x90\x7c\x78\x49\x89\x21\xf4\xfb\x44\x8a\xc1\x88\xe8\x3d\xde\x41\xb4\x1d\x5c\x27\xc2\x70\x69\x10\x91\x52\x8a\x5d\xba\xb3\x08\xf2\x13\x06\xcb\xb3\xc1\xc2\x56\xa7\x6a\xcf\xd4\x47\x58\x62\x7d\xe5\x51\xe2\xab\x66\xb6\xab\xf5\xd3\xf3\xac\xaa\x30\x75\x95\x3e\xd1\xac\x8f\x53\x59\x9c\xea\x61\xc2\x59\x49\x1c\xe6\x1c\xfe\xe7\xea\x36\x85\x43\x7e\xed\xb3\xd5\xa5\x67\x98\xd6\x7a\x69\x7e\x7d\xec\x12\x0c\x86\x2f\x99\xf4\xc5\x5a\x8a\xe3\xc5\x5c\xc4\x85\x4a\x50\x36\xaa\x20\x5c\xa7\xe2\xe2\xaf\xef\x44\xbf\xaa\xa4\x27\x30\x79\xa1\x39\x18\xd2\xba\x6d\xc4\x5a\xdc\x19\xe1\x62\x6c\x07\x87\xde\x45\x45\x72\x61\x06\x6b\xac\x4e\x2d\x47\x72\xa9\x57\xce\x26\x82\x75\xeb\x68\x84\x9a\x85\xec\x7c\xd4\x23\x3f\x4c\x24\x66\xc1\x20\x05\x9c\x26\xc4\x38\x34\xeb\x5f\xcd\xae\xcf\x4c\x99\xc7\x52\x47\x81\x98\xc8\x57\x16\x5b\x0b\xb7\x18\x30\x80\xef\x03\x46\x91\x81\xa6\x6e\x3f\x8f\x69\x7f\xa3\xcb\x9a\xd3\x3f\x22\x6e\xfc\x8b\xb9\x4e\x3d\xce\xfa\x3d\x41\x38\x8b\xfa\x9a\xc6\x29\xab\xab\x42\x0d\xcf\xda\x77\x11\xaa\x8c\xd1\x28\xb1\x3a\x31\x8e\x73\xc3\x40\x56\x98\xf7\x60\x3d\x12\xc6\x9e\x09\x15\x94\xab\x61\xc3\x10\x2f\x93\x66\xeb\x32\xd8\x15\x5c\x7b\x62\x58\x95\xa6\x77\x4e\xed\xc2\xe7\x2c\x8a\x8c\xf8\x73\xa1\xf5\xa0\x78\xed\xd4\xf3\x53\x78\x4c\x58\x57\xcb\x74\x7d\xca\xdf\x00\x77\xe1\xe3\xc8\x56\x12\x1e\xef\x1f\x3d\xae\xa3\xd2\x52\xaa\x85\x65\x07\x50\x18\x8a\x0b\x0d\xa7\x9e\xb6\xc6\xee\x6b\xd7\x83\x20\xcf\x3d\x38\xce\xdf\x44\xda\x29\x1c\x20\xde\xd8\xb3\x06\xc0\x95\xc5\x7c\x09\x4f\x00\xbc\x08\x7d\x81\xed\x17\x8c\x84\x9e\x0a\x90\x78\xef\xc1\xed\x5a\xe8\x44\x3f\x6a\xee\xae\x6e\x89\x87\x82\x11\xbf\x46\xb7\xd1\x0c\x79\xd6\x83\xe9\x02\x6b\x25\x50\xd6\xb0\xc3\xc0\x1e\x0d\x8a\x84\x24\xbc\x67\x1f\x32\xd5\x46\x08\xfe\x61\xbd\x08\xa6\xa6\x5c\x9d\xcb\xad\x41\x23\xad\x7f\x77\x09\x61\xf2\xcf\xdc\x65\x27\x97\x41\xd0\x47\xd6\x8f\xe5\x99\xf6\xca\x52\x73\x62\xd9\x35\x0a\x8d\x82\x7e\x12\xdd\x53\x74\xee\x28\x9a\xc3\x13\x25\x11\xc3\x0b\xac\x33\x9d\xb5\xcc\x7d\xb3\xf3\x2c\xbd\x9b\xbf\x21\x67\x4e\x6d\x60\xa8\x74\xd2\x8f\xc2\x22\xca\x53\x99\x23\xcf\xee\x7f\xa1\xf9\xea\xcb\x6f\x60\x07\xe2\x04\xe1\x0a\x48\x0e\xc1\xec\xbc\xbb\x0f\xf6\x1f\x7d\xaf\x6f\xdf\xa1\xde\xc3\x7d\x6f\xee\x39\x78\x78\x7f\xf7\xae\xde\xbe\x5e\x6f\xe7\xc1\x03\x7d\xbb\x0f\xf4\x79\xff\xb5\x6f\xd7\xae\xdd\x07\x3e\x14\xba\xcc\xd5\x34\xbd\xd3\x43\x87\xf7\xbd\xdf\xdb\xb7\xdb\xa3\x26\x19\xbd\xa4\x3e\x9b\x2e\x76\xb0\x1c\xf4\xc3\x49\xad\x40\xa8\x3e\x34\x77\x85\x0f\x74\xd2\x71\xd8\xd3\xd3\xf3\xa1\xf7\x81\xfe\xbb\x7e\x50\xea\x7a\xd3\xf2\x52\x87\xc7\x1a\x47\xda\x2c\x8c\xea\xf6\x50\xe0\xf9\x2a\x20\xea\xa1\xd4\xf4\xec\x65\x38\xba\xc4\x6a\xea\x82\xf8\x1d\x82\xea\x04\xa3\x40\x6c\x05\x5f\xa7\x58\x6a\xf5\xfd\xd3\xb6\xe4\xe6\xcc\x45\x82\x93\x41\x77\x23\xd7\x92\x65\xe3\xea\x63\x06\xc1\x40\xad\x10\x0e\x89\xa3\x8f\x65\x06\x5c\x9c\x6e\x3d\x1a\x93\x25\x19\xbf\x10\x21\x63\xe4\x86\xc5\x60\x80\x8b\x6c\xb1\xd2\xfa\x88\x2d\xc5\xb8\x7c\xf6\xba\x60\x0e\x94\xc6\x18\x3b\x01\x47\x8b\xb8\x3e\x2a\x91\x89\x00\x0c\x9a\x77\x1e\xb7\x2e\x7f\x95\x2e\x31\xc2\x49\x96\xdf\x72\x2a\xca\xb1\x20\x8e\xac\xef\x77\xa3\xcc\x24\x49\x6a\x8a\x09\x75\x2d\x6a\x94\x2e\x5b\xab\x4f\x29\xf6\x17\xcf\xb0\x17\x22\x80\xfd\x98\xe5\x40\x37\x06\x4c\xa6\x10\xd7\x6f\xf5\xf9\x74\xf3\xcc\x69\x62\xc6\x99\x84\x25\x58\x5d\x3a\xdb\x76\xf0\xf2\x0c\x54\x1b\x82\x1c\xfc\x25\xbd\x89\x73\x7b\x63\xa6\xa9\x63\x57\x53\x63\x99\xad\xd2\xd5\xb4\x18\x31\xe9\x4b\xf6\x88\x83\x07\x55\xf1\x68\x4a\x2d\x33\xe9\x2f\x8b\xa5\xd0\xad\x95\xd6\x60\xc7\x2e\xdc\x12\x1b\x4b\x47\xe7\xda\xed\xf1\xb5\x5b\x42\x82\x37\x36\x13\xc3\xc5\xd4\x4e\xdc\x2c\x39\x73\x1b\x32\x33\x18\xb8\x6a\x40\x1a\x83\x83\x58\x58\x28\x37\x20\xaa\x2b\x85\x4f\xc7\x8f\x74\x31\x5b\x43\xc5\x83\x8d\x6d\xfe\x28\x02\x29\xa4\x57\x12\x20\x2e\x9c\x45\x1a\x6c\x31\x14\x4d\x36\x1f\x3f\xe4\x3f\x12\xd8\x86\x05\xe8\x79\xac\xa2\xd3\x65\x06\x4e\x18\x2f\x0b\x0d\xac\x9b\xc7\x80\xc9\x33\x0a\x4d\xce\x92\x9d\xb1\x52\xa9\x13\x8e\xcf\x4d\x4d\x38\xbe\x0a\x9b\x98\xb0\x35\xb7\x68\xc2\xf1\x91\x66\x4e\xb8\x63\xa6\xf1\x05\x73\xcd\x54\xe6\xeb\x52\x43\x12\x77\xe6\x88\xb4\x9f\xf8\xb6\x9a\xde\x4c\xc1\x2c\x3a\x4e\x74\xaa\x49\x92\x1a\x13\xac\x3c\x65\x46\x1d\xaa\xa1\x87\xa9\x3e\xaa\x73\xae\xc2\x21\x1b\x38\x15\x09\x88\xa4\x79\x25\x29\xee\x93\x92\xd0\x55\x31\x31\xd5\xfe\x76\x11\xde\x0e\x33\x0e\x09\xa3\x39\x29\x57\xa0\xb9\xf8\x6c\xf9\xd8\xf4\xe0\xba\xc8\xec\x62\x27\x4e\xa0\x89\x1e\x22\xb9\xa5\x3f\x30\x14\x90\x0b\xcd\xc4\x1e\xa1\x8b\xda\xa8\x55\x77\xb7\x2b\xd2\x9e\xe2\xd9\xc6\xeb\xcf\x21\x3f\xbc\x94\x9c\xb9\xcb\x0e\x95\xd6\xf9\xfb\xcd\x0b\x3f\x70\x5c\x07\xae\x77\x7c\x2a\xc7\xea\xf2\xe2\xd2\xd3\x47\x0f\x83\x77\x64\x1f\xc1\xc5\xa1\x79\x51\xa8\xaf\x38\x51\xf3\xc9\x6d\x56\x2d\x94\xc4\x0d\x70\x66\xba\xbd\xf8\x0c\x91\x77\x9f\x5d\x81\xff\x48\x97\xd3\x59\x8e\x00\x5f\xa7\x20\x30\xa5\x74\xe1\xca\xa3\x0d\x88\xd5\x86\x28\xdc\xc0\xe5\x3d\xab\xd9\x4c\x92\x02\x36\xd0\x0f\xb1\x26\x32\x57\x56\xfe\x99\xcc\x3e\x30\xd4\x58\x9e\xd0\x57\x10\x8a\x5b\x94\xd0\x8e\xd3\x9b\x19\x83\x75\xd8\x85\x05\x98\xab\xad\xd3\xe6\x55\x40\x0e\x1a\x3d\xcf\x65\xf0\x6a\xb1\x64\xda\xe9\x2a\xed\x7d\x98\x85\x81\xc9\xa7\xf0\x92\xc2\xa0\xc2\x18\xb7\x1f\x97\xea\xb1\x7d\xdc\x85\x87\x67\xfd\x78\x18\xd1\x78\xe1\x23\xcc\xea\x25\xdb\x87\x2a\x42\x72\xad\xb3\x37\xd4\xb2\xe7\xaf\x37\xbf\xbe\xa1\x40\x6f\x93\xfd\xc1\xef\x56\x87\xd1\x43\xa6\x47\xe7\xfc\x44\x33\xd8\x51\x42\x64\xda\x8a\x86\xa9\x9e\x8d\xd4\x9e\xc8\x6e\xe1\x42\x31\xe4\xd7\x4a\x75\xe6\xf1\x84\x43\x50\xe7\x07\x4a\xd6\x96\x95\x08\xc8\x19\xdc\x6b\x4f\x57\x5a\x53\x2f\x15\x16\xc8\x67\x37\x45\x36\x0e\xdd\xe1\x49\x93\xa7\xa3\x55\xfb\xce\x3d\xc7\x8f\xf4\xf5\xee\xdd\x77\x60\xef\x71\xc5\xb9\xa5\xb5\x93\x5c\x71\x6c\x2b\xf4\xce\xf6\x2a\x47\x87\x87\x63\x09\xdb\xd4\xc0\x0e\xf7\x1d\x3d\xb4\x95\x81\xd9\xed\x37\x34\xb0\x72\xa1\xdf\x97\x4e\x34\x57\xc6\x6c\xb9\x80\xc9\x64\x3a\x16\x23\x6d\x8f\xa9\xe9\xd6\xc3\x9b\xec\x7b\x77\x88\x69\x54\xf9\xc6\x22\xee\x32\x16\x43\x69\xdd\xe2\x5e\x53\xe0\x90\xd2\x54\x66\xa7\x40\x09\x08\x2d\x03\xe4\x45\x70\xdc\x12\xa9\xca\x39\xbd\xad\x53\x8f\x65\x00\x9a\x72\x5b\x69\xd2\xa6\xb1\x38\x63\xc7\x69\xe9\xca\xf4\xaa\x04\x15\xaf\xbf\x10\x96\x06\x4c\x90\x47\x3a\xee\xc1\x5e\xbc\xbe\xdc\x9a\x55\x41\x55\x51\x9a\x03\x46\x4e\x6a\x53\x67\x16\x6c\x93\x54\xa8\x6e\xfe\x60\xbd\x38\x0f\x96\xe9\xf5\xf1\x6f\x19\xbd\xa8\x35\x35\x66\x30\x0c\x5d\x07\x8e\x5c\x33\xcd\x99\xed\x62\x2b\x91\x20\xd9\xd5\x0c\xad\x78\xd1\xdf\x8a\x96\x73\x7a\x3b\xb4\x5b\x38\xc8\xb6\xa1\x03\x91\x9a\x99\x40\x1d\xfa\x18\x82\xca\x9f\xf1\xc5\xaa\x08\x67\xd8\xcb\x17\x52\x57\xd5\x27\x9b\x43\x51\x45\x8c\x2c\x42\x18\x42\x7d\x48\xda\xbf\x8e\x82\x7a\x9c\xab\xf4\xa1\x3a\xa8\x23\x5c\x4b\xe4\x6c\x17\xd4\x44\x43\xe1\xfa\x0d\xa9\x4d\x58\x72\x68\xb6\xd5\xe7\xb2\xb3\x5c\xe5\xe2\x8a\x85\xd6\x94\x7c\x27\x7a\x44\xff\xee\x62\x1d\xcf\xe0\x1b\xc7\xbc\x49\x05\xd0\x2c\xad\x53\xec\x11\x41\x88\xfe\x16\x43\x07\xb1\xa9\xfd\x01\xba\x48\x4e\x13\xd2\xa4\x89\x75\x8a\x73\x4c\x92\x50\x2e\x8b\x98\x13\x54\x2b\xf5\x13\x04\x24\x7a\x42\x8e\xd3\xca\xed\xd0\x88\xb4\xd2\x0a\x12\xe8\x6c\xf3\xe5\x19\x4c\xb0\x78\xfc\xb0\x35\x76\x3f\xd6\x3a\x7f\x97\xc6\x36\xda\x4c\x8f\x51\xe3\xfc\x1d\xf2\x71\xb1\x99\xde\x54\xcb\xfc\x5d\x51\xc9\xc3\x66\x7a\xe2\x86\x42\x47\x54\xa7\x41\x89\xbd\x1b\x52\x73\x39\xf0\x95\x85\x86\x9c\x99\x25\x7e\xf9\x8a\x5d\x2a\xbd\x71\x2e\xa4\x87\x6c\x8c\x07\xa5\x9e\x45\xab\x44\x3e\x58\xf3\x83\x42\xe4\x84\x83\xc8\x0b\x38\x90\x09\x2c\xb0\x19\x84\x6a\xb7\xa4\x8f\x7c\xc9\x84\xb2\x93\x2d\xdd\x32\x5c\x67\x0a\x09\x71\x9d\x10\xf1\xf4\x29\x41\x4c\xe2\x21\x97\x20\xf7\x92\x08\x4d\xc9\xdf\x27\xfa\x2f\x64\x0c\x17\xf8\x46\xc5\xb7\x89\x54\x5d\x2f\x04\x60\x6d\x57\xa9\xa0\xab\xdc\xcf\x2a\x61\x96\x9d\x7c\x56\x05\xb2\xa8\xc9\x49\x50\x86\x08\xb9\x71\x38\x64\x48\x30\x2c\x7f\x0a\xfa\xe1\x33\x1c\x81\xe3\xb3\xe8\xe5\xc4\xf6\x5c\x35\xb2\x29\xf9\x78\x8d\xe5\x85\x70\xf4\x34\x3b\xaf\x8b\x10\x16\x3a\x7a\x15\x1c\x2b\x42\xb7\x39\xdd\x9b\x9b\x9d\x95\x12\xbf\xe1\x49\x25\x3b\xcd\x37\x29\xb3\x86\x27\xe4\xb0\xb1\x7e\x4f\x18\x9f\x1a\x3b\x83\x49\x34\x51\x2f\x79\xf7\xc4\x6b\x7e\x57\x7a\x11\xdd\xb3\xa2\x25\xdb\xca\xac\x5e\xef\xbb\xc2\xbb\x9a\xfd\xbe\x44\x0e\x9e\xd9\x07\x5b\x7f\x61\x16\x5f\x52\x56\x5f\x9b\x58\xc6\xba\x2b\xc2\x4a\xa5\x9a\xae\xb6\xb5\xba\xc3\x96\x20\xa6\x18\xd9\x96\x70\xd8\xd1\x2e\xdb\x99\x1d\x7d\x9b\x6a\x18\x20\xda\xa9\xf3\xdb\x12\x83\x91\xaa\xb1\x57\xa0\xf4\x76\x64\xe8\x60\x62\x4b\x49\xda\xec\x3c\x3c\xd4\x7a\x78\x53\xe7\x48\x9e\x6f\x5e\xfc\x92\x73\x00\x5d\xbd\x60\xa5\xb8\xf4\x7a\xaf\x9e\x12\xcf\x9e\x3a\xb1\x65\x6c\xc2\x7b\x6c\x37\x74\xba\x8e\x6d\xd6\x15\x97\xdf\x98\xfc\xf0\x82\x65\x7c\x73\xae\x39\x27\xbc\x9a\x46\x05\x8b\x27\x2a\x1a\x90\xbf\x2e\x1a\x3e\x0f\xbf\x80\xde\x31\x64\x24\x45\xac\x0d\x1f\x8a\xec\x7e\x71\x8d\xbf\x51\x93\xdc\x7e\x22\x85\x05\x34\x91\x76\xa3\xb3\x8d\xf4\xd1\x41\x23\xf1\x8b\x6b\x84\x85\x41\xf1\xb6\x98\xc1\x11\x81\x89\x8c\xe2\xbd\xdd\x49\xee\x10\x83\xe8\xca\x12\x61\xea\xf1\xd3\x65\x9d\xdc\x74\x25\xe4\xa8\x6c\x3f\x4a\x31\xa6\x4f\x98\x25\x42\x25\xb8\x7e\xfa\xa9\xf7\x06\x66\x9b\xaa\x21\x50\x6c\x22\x42\xc5\x3f\x52\xc7\x0a\xa2\x4f\x3f\x95\x78\x74\x92\xb2\x7e\x5b\x99\x8c\x10\xf6\x39\xec\xd0\x29\x4c\xcc\x20\x61\x00\x10\x1d\xea\x78\x0f\xb7\x2c\xc2\xc2\xe4\xcd\x5e\x4a\x6f\xbe\xb1\x9c\x26\x44\xda\xd8\xa3\xf1\x68\xaa\x25\xb9\xa7\xd8\x53\x99\xa2\x5c\xd8\x16\x9d\xcf\x65\x8a\x1b\x29\x30\x2b\x78\x9d\xcb\x11\xf6\x06\xb1\xd7\xb7\x37\x30\x9c\x06\x39\xba\x84\x7d\xa2\x82\xf9\x20\x26\xde\x9a\xf2\xbc\x29\x9f\x48\x1e\x12\xc2\xa3\x1c\x3c\xa1\x7d\x80\xd0\x46\xd7\x07\x88\x15\xde\x4f\x16\x39\x11\xdc\x4b\x6b\x2e\x66\x0a\xe0\xc3\x9c\x2d\xa4\x11\x59\xdc\xc9\x43\x9d\xcf\x67\xa4\x13\x61\x5e\x44\x29\xfc\xe8\x28\x2a\x13\x78\x3a\x38\xe1\xa9\xbf\x28\x44\x24\xb9\x1f\xab\xd9\x9b\x89\x36\x62\x4f\xa0\xd7\xf5\xb8\x1c\x59\x0c\x69\x4f\x4a\x22\x3b\x83\xe7\x8a\x19\xd7\x40\xd3\xec\xd1\xcb\x1c\xa7\x9a\x27\x98\x18\xab\x0e\x30\x64\x72\x53\xa6\xf5\x8d\x80\x62\xa4\xf7\x29\x74\x9d\x4a\x4a\x9f\x32\x02\x2c\x2e\xa0\x32\xec\x18\x35\xb0\x06\x91\x51\x10\x78\x56\xd9\x98\x6b\x83\x50\xec\xea\x58\xe5\x58\x9d\xfe\x8f\x67\xff\xe7\x38\xb3\xb5\x4e\xf9\xf7\x46\x90\xd8\x17\xe3\x09\xc7\xb0\xe5\xa1\x46\x38\x64\xc6\x74\xec\xdf\xc8\x76\x26\xe2\x12\x5d\xbd\x82\xdf\x99\xe2\x7c\x35\xdc\xdd\x5c\x96\xa9\x52\x9b\x43\x43\x36\xa8\xc0\x27\x91\x50\xa7\x07\xb3\x66\xf4\xfa\x0b\x4c\xff\x08\x9f\x90\x06\xb8\x10\x51\x72\xc7\xa4\xa4\x03\x0c\xc1\xbc\xaa\xf5\x21\x45\x20\x63\xd0\x86\xdc\xaf\xcc\x5e\x2a\xf3\xb6\x9a\x2f\xe6\x14\x04\x83\xad\x36\xcf\x5f\x6f\xde\x3f\xbb\x76\x6b\x85\xb1\x7e\xb0\x4e\xfb\xcc\x7d\x55\x72\x96\xba\x7c\x60\x96\x61\x84\x5a\x17\x42\xd8\x39\x89\x2a\x95\xc8\xda\x15\x29\xeb\x82\x9b\xe2\xfa\xdd\xb5\xd9\xb3\x06\xae\xc1\x16\x61\xe0\x1a\x94\x2c\x85\xec\xf0\xe4\x31\x66\xc5\x53\xe1\x40\x26\x86\x52\x9e\x5d\xc4\xfb\xa7\xb1\x25\x60\x27\x5b\x5c\xb4\xc6\x5b\x47\x7b\x42\x70\x2a\xae\xf6\x40\x55\x55\x29\x8f\x7a\x23\x41\x0d\xb6\x78\x83\xb8\x2e\x77\xee\xf1\xac\x23\x1d\xf5\xd8\xfe\xc2\xc7\xa5\xe1\xc6\xb0\xd1\xec\x31\x52\x5a\xdc\xed\x9f\xc4\xb9\x70\x1c\x3b\x27\xea\xb7\x35\x3b\xd6\xbc\x73\xad\x79\xfa\x0c\x16\x1c\x5d\x9a\x87\x17\xad\x7b\x56\x0c\x3b\x29\x1d\x27\x18\x6a\xb1\xc6\x2b\xd1\xb5\xeb\xd5\x44\x7d\x1b\xb6\xdd\xce\xb9\x1e\x56\x5e\x6a\x23\xf1\x3f\xb6\x65\xb6\xcc\xb8\xdb\x39\xc3\xce\xee\xb6\x38\xc7\x32\x97\x0c\x1a\x10\x33\x2e\x9e\x71\x0c\x31\xd1\xc0\x95\xe9\x6c\x65\x92\x30\xc5\xa6\xb6\x92\x36\x92\x31\x23\x0a\xd9\x40\x2a\x0d\x6e\x0d\x7f\x38\x7e\xd8\xc2\x1f\x32\xcf\xda\xa8\xd1\x9b\xf1\x16\x8e\x5e\xa2\x11\xee\xcf\x39\xbd\x44\xa3\xdc\x33\x02\x95\x5f\xee\x83\xcb\x1e\x4c\x49\xff\x53\x5b\x89\x79\x8a\x09\xdc\x22\x32\x4a\x0d\x10\xe2\x50\xe7\x58\x28\x01\xce\xe4\xf8\x94\xe7\x33\x76\x4e\xf2\x71\xe4\x0d\xab\x05\x83\x35\xb9\x18\x24\xa5\x11\xf3\x83\x88\xfe\x8f\x94\x16\x61\x63\x00\xf9\x50\x36\x32\x91\xd6\xe4\xc5\xe6\x17\x42\x6c\xa3\x23\xdb\xd2\x10\x24\x16\x90\xdb\x91\x31\x0e\x28\x79\x93\x33\x70\xe4\x5e\x13\x62\x0c\x0f\x62\x73\xe1\x2b\xa4\x80\x9c\x9c\x71\x65\x6e\xe6\x18\xc6\x96\xba\xdf\x40\xc7\xb9\xd3\x56\x3b\x9b\xe6\xcd\x53\xd5\x08\x6a\xa1\x56\x15\xce\x48\x5d\xc7\xd3\xae\xd0\x1d\x3e\xcc\xd1\x3b\xad\x00\x59\x9b\x10\x59\xaa\xfe\x53\x54\xc8\xec\x8e\xf4\x75\x08\x7b\x33\x29\x09\x6c\x54\x55\xf9\xeb\x0e\x0a\x7e\x62\x20\x43\xcd\x2c\x32\x02\x3e\x29\x2d\x5c\x31\x20\x86\x8a\x23\x57\xa3\x1e\x5b\x86\xeb\x31\xa5\x05\xce\xc6\xed\x90\x74\x74\xe3\xbd\x81\xf7\x13\x2e\x86\x70\xba\x08\x5c\xbd\x26\x85\x38\x06\x51\x4f\x28\x9d\x1e\x73\xb5\x49\xb9\xd8\x04\x35\xfb\x97\xb8\xc9\x4d\xf9\xab\x16\x3a\x00\x3b\x4f\x1d\x56\x80\xee\xdc\x28\x2f\x44\x87\x88\xac\xb5\x94\xee\x11\x6f\x21\xb5\x7f\xbe\xef\x80\x75\xab\xca\xcc\xc9\x35\xeb\xb2\x07\x98\x5d\x48\x79\xbc\x0b\x2a\x19\xaa\x51\x2b\x77\x79\x55\x66\x8d\x54\x3e\x28\xf8\x8d\xfe\x4a\xc4\x54\x54\x45\xfc\xee\x9b\x6f\x22\x0c\xd4\x71\xcc\xe3\xe8\x19\x08\x86\xe5\xf9\x71\x1f\xe4\x41\x7c\xc4\x00\x6b\x8a\xef\x95\x0d\x53\xf6\x5e\xad\x2e\x8d\xc1\x8b\x53\x7f\x55\xdc\xd2\xe9\xfd\x88\x53\x51\xc7\x3d\x1a\x2d\x64\x38\xc3\x3d\x87\x8f\x5a\xf8\xe3\xc7\x76\x52\x6d\xc7\x77\xeb\x18\xfb\x86\x85\x9a\x4f\x98\x06\xfa\x2f\x1f\xfe\x5f\x00\x00\x00\xff\xff\x4a\x27\x6b\xda\x5e\xf1\x02\x00") + +func cfI18nResourcesZhHantAllJsonBytes() ([]byte, error) { + return bindataRead( + _cfI18nResourcesZhHantAllJson, + "cf/i18n/resources/zh-hant.all.json", + ) +} + +func cfI18nResourcesZhHantAllJson() (*asset, error) { + bytes, err := cfI18nResourcesZhHantAllJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "cf/i18n/resources/zh-hant.all.json", size: 192862, mode: os.FileMode(493), modTime: time.Unix(1463595321, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +// Asset loads and returns the asset for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func Asset(name string) ([]byte, error) { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) + } + return a.bytes, nil + } + return nil, fmt.Errorf("Asset %s not found", name) +} + +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +func MustAsset(name string) []byte { + a, err := Asset(name) + if err != nil { + panic("asset: Asset(" + name + "): " + err.Error()) + } + + return a +} + +// AssetInfo loads and returns the asset info for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func AssetInfo(name string) (os.FileInfo, error) { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) + } + return a.info, nil + } + return nil, fmt.Errorf("AssetInfo %s not found", name) +} + +// AssetNames returns the names of the assets. +func AssetNames() []string { + names := make([]string, 0, len(_bindata)) + for name := range _bindata { + names = append(names, name) + } + return names +} + +// _bindata is a table, holding each asset generator, mapped to its name. +var _bindata = map[string]func() (*asset, error){ + "cf/i18n/resources/de-de.all.json": cfI18nResourcesDeDeAllJson, + "cf/i18n/resources/en-us.all.json": cfI18nResourcesEnUsAllJson, + "cf/i18n/resources/es-es.all.json": cfI18nResourcesEsEsAllJson, + "cf/i18n/resources/fr-fr.all.json": cfI18nResourcesFrFrAllJson, + "cf/i18n/resources/it-it.all.json": cfI18nResourcesItItAllJson, + "cf/i18n/resources/ja-jp.all.json": cfI18nResourcesJaJpAllJson, + "cf/i18n/resources/ko-kr.all.json": cfI18nResourcesKoKrAllJson, + "cf/i18n/resources/pt-br.all.json": cfI18nResourcesPtBrAllJson, + "cf/i18n/resources/zh-hans.all.json": cfI18nResourcesZhHansAllJson, + "cf/i18n/resources/zh-hant.all.json": cfI18nResourcesZhHantAllJson, +} + +// AssetDir returns the file names below a certain +// directory embedded in the file by go-bindata. +// For example if you run go-bindata on data/... and data contains the +// following hierarchy: +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"} +// AssetDir("data/img") would return []string{"a.png", "b.png"} +// AssetDir("foo.txt") and AssetDir("notexist") would return an error +// AssetDir("") will return []string{"data"}. +func AssetDir(name string) ([]string, error) { + node := _bintree + if len(name) != 0 { + cannonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(cannonicalName, "/") + for _, p := range pathList { + node = node.Children[p] + if node == nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + } + } + if node.Func != nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + rv := make([]string, 0, len(node.Children)) + for childName := range node.Children { + rv = append(rv, childName) + } + return rv, nil +} + +type bintree struct { + Func func() (*asset, error) + Children map[string]*bintree +} + +var _bintree = &bintree{nil, map[string]*bintree{ + "cf": &bintree{nil, map[string]*bintree{ + "i18n": &bintree{nil, map[string]*bintree{ + "resources": &bintree{nil, map[string]*bintree{ + "de-de.all.json": &bintree{cfI18nResourcesDeDeAllJson, map[string]*bintree{}}, + "en-us.all.json": &bintree{cfI18nResourcesEnUsAllJson, map[string]*bintree{}}, + "es-es.all.json": &bintree{cfI18nResourcesEsEsAllJson, map[string]*bintree{}}, + "fr-fr.all.json": &bintree{cfI18nResourcesFrFrAllJson, map[string]*bintree{}}, + "it-it.all.json": &bintree{cfI18nResourcesItItAllJson, map[string]*bintree{}}, + "ja-jp.all.json": &bintree{cfI18nResourcesJaJpAllJson, map[string]*bintree{}}, + "ko-kr.all.json": &bintree{cfI18nResourcesKoKrAllJson, map[string]*bintree{}}, + "pt-br.all.json": &bintree{cfI18nResourcesPtBrAllJson, map[string]*bintree{}}, + "zh-hans.all.json": &bintree{cfI18nResourcesZhHansAllJson, map[string]*bintree{}}, + "zh-hant.all.json": &bintree{cfI18nResourcesZhHantAllJson, map[string]*bintree{}}, + }}, + }}, + }}, +}} + +// RestoreAsset restores an asset under the given directory +func RestoreAsset(dir, name string) error { + data, err := Asset(name) + if err != nil { + return err + } + info, err := AssetInfo(name) + if err != nil { + return err + } + err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) + if err != nil { + return err + } + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + if err != nil { + return err + } + err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + if err != nil { + return err + } + return nil +} + +// RestoreAssets restores an asset under the given directory recursively +func RestoreAssets(dir, name string) error { + children, err := AssetDir(name) + // File + if err != nil { + return RestoreAsset(dir, name) + } + // Dir + for _, child := range children { + err = RestoreAssets(dir, filepath.Join(name, child)) + if err != nil { + return err + } + } + return nil +} + +func _filePath(dir, name string) string { + cannonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/color.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/color.go new file mode 100644 index 0000000..cda679c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/color.go @@ -0,0 +1,144 @@ +package terminal + +import ( + "os" + "regexp" + + "github.com/fatih/color" + "golang.org/x/crypto/ssh/terminal" +) + +const ( + red color.Attribute = color.FgRed + green = color.FgGreen + yellow = color.FgYellow + magenta = color.FgMagenta + cyan = color.FgCyan + grey = color.FgWhite + white = color.FgHiWhite +) + +var ( + colorize func(message string, textColor color.Attribute, bold int) string + TerminalSupportsColors = isTerminal() + UserAskedForColors = "" +) + +func init() { + InitColorSupport() +} + +func InitColorSupport() { + if colorsEnabled() { + colorize = func(message string, textColor color.Attribute, bold int) string { + colorPrinter := color.New(textColor) + if bold == 1 { + colorPrinter = colorPrinter.Add(color.Bold) + } + f := colorPrinter.SprintFunc() + return f(message) + } + } else { + colorize = func(message string, _ color.Attribute, _ int) string { + return message + } + } +} + +func colorsEnabled() bool { + if os.Getenv("CF_COLOR") == "true" { + return true + } + + if os.Getenv("CF_COLOR") == "false" { + return false + } + + if UserAskedForColors == "true" { + return true + } + + return UserAskedForColors != "false" && TerminalSupportsColors +} + +func Colorize(message string, textColor color.Attribute) string { + return colorize(message, textColor, 0) +} + +func ColorizeBold(message string, textColor color.Attribute) string { + return colorize(message, textColor, 1) +} + +var decolorizerRegex = regexp.MustCompile(`\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]`) + +func Decolorize(message string) string { + return string(decolorizerRegex.ReplaceAll([]byte(message), []byte(""))) +} + +func HeaderColor(message string) string { + return ColorizeBold(message, white) +} + +func CommandColor(message string) string { + return ColorizeBold(message, yellow) +} + +func StoppedColor(message string) string { + return ColorizeBold(message, grey) +} + +func AdvisoryColor(message string) string { + return ColorizeBold(message, yellow) +} + +func CrashedColor(message string) string { + return ColorizeBold(message, red) +} + +func FailureColor(message string) string { + return ColorizeBold(message, red) +} + +func SuccessColor(message string) string { + return ColorizeBold(message, green) +} + +func EntityNameColor(message string) string { + return ColorizeBold(message, cyan) +} + +func PromptColor(message string) string { + return ColorizeBold(message, cyan) +} + +func TableContentHeaderColor(message string) string { + return ColorizeBold(message, cyan) +} + +func WarningColor(message string) string { + return ColorizeBold(message, magenta) +} + +func LogStdoutColor(message string) string { + return Colorize(message, white) +} + +func LogStderrColor(message string) string { + return Colorize(message, red) +} + +func LogHealthHeaderColor(message string) string { + return Colorize(message, grey) +} + +func LogAppHeaderColor(message string) string { + return ColorizeBold(message, yellow) +} + +func LogSysHeaderColor(message string) string { + return ColorizeBold(message, cyan) +} + +func isTerminal() bool { + return terminal.IsTerminal(int(os.Stdout.Fd())) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/debug_printer.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/debug_printer.go new file mode 100644 index 0000000..d5c0636 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/debug_printer.go @@ -0,0 +1,16 @@ +package terminal + +import ( + "time" + + . "github.com/cloudfoundry/cli/cf/i18n" + "github.com/cloudfoundry/cli/cf/trace" +) + +type DebugPrinter struct { + Logger trace.Printer +} + +func (p DebugPrinter) Print(title, dump string) { + p.Logger.Printf("\n%s [%s]\n%s\n", HeaderColor(T(title)), time.Now().Format(time.RFC3339), trace.Sanitize(dump)) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/table.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/table.go new file mode 100644 index 0000000..47fbde1 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/table.go @@ -0,0 +1,342 @@ +package terminal + +import ( + "bytes" + "fmt" + "io" + "strings" +) + +// PrintableTable is an implementation of the Table interface. It +// remembers the headers, the added rows, the column widths, and a +// number of other things. +type Table struct { + ui UI + headers []string + headerPrinted bool + columnWidth []int + rowHeight []int + rows [][]string + colSpacing string + transformer []Transformer +} + +// Transformer is the type of functions used to modify the content of +// a table cell for actual display. For multi-line content of a cell +// the transformation is applied to each individual line. +type Transformer func(s string) string + +// NewTable is the constructor function creating a new printable table +// from a list of headers. The table is also connected to a UI, which +// is where it will print itself to on demand. +func NewTable(headers []string) *Table { + pt := &Table{ + headers: headers, + columnWidth: make([]int, len(headers)), + colSpacing: " ", + transformer: make([]Transformer, len(headers)), + } + // Standard colorization, column 0 is auto-highlighted as some + // name. Everything else has no transformation (== identity + // transform) + for i := range pt.transformer { + pt.transformer[i] = nop + } + if 0 < len(headers) { + pt.transformer[0] = TableContentHeaderColor + } + return pt +} + +// NoHeaders disables the printing of the header row for the specified +// table. +func (t *Table) NoHeaders() { + // Fake the Print() code into the belief that the headers have + // been printed already. + t.headerPrinted = true +} + +// SetTransformer specifies a string transformer to apply to the +// content of the given column in the specified table. +func (t *Table) SetTransformer(columnIndex int, tr Transformer) { + t.transformer[columnIndex] = tr +} + +// Add extends the table by another row. +func (t *Table) Add(row ...string) { + t.rows = append(t.rows, row) +} + +// PrintTo is the core functionality for printing the table, placing +// the formatted table into the writer given to it as argument. The +// exported Print() is just a wrapper around this which redirects the +// result into CF datastructures. +func (t *Table) PrintTo(result io.Writer) { + + t.rowHeight = make([]int, len(t.rows)+1) + + rowIndex := 0 + if !t.headerPrinted { + // row transformer header row + t.calculateMaxSize(transHeader, rowIndex, t.headers) + rowIndex++ + } + + for _, row := range t.rows { + // table is row transformer itself, for content rows + t.calculateMaxSize(t, rowIndex, row) + rowIndex++ + } + + rowIndex = 0 + if !t.headerPrinted { + t.printRow(result, transHeader, rowIndex, t.headers) + t.headerPrinted = true + rowIndex++ + } + + for row := range t.rows { + t.printRow(result, t, rowIndex, t.rows[row]) + rowIndex++ + } + + // Note, printing a table clears it. + t.rows = [][]string{} +} + +// calculateMaxSize iterates over the collected rows of the specified +// table, and their strings, determining the height of each row (in +// lines), and the width of each column (in characters). The results +// are stored in the table for use by Print. +func (t *Table) calculateMaxSize(transformer rowTransformer, rowIndex int, row []string) { + + // Iterate columns + for columnIndex := range row { + // Truncate long row, ignore the additional fields. + if columnIndex >= len(t.headers) { + break + } + + // Note that the length of the cell in characters is + // __not__ equivalent to its width. Because it may be + // a multi-line value. We have to split the cell into + // lines and check the width of each such fragment. + // The number of lines founds also goes into the row + // height. + + lines := strings.Split(row[columnIndex], "\n") + height := len(lines) + + if t.rowHeight[rowIndex] < height { + t.rowHeight[rowIndex] = height + } + + for i := range lines { + // (**) See also 'printCellValue' (pCV). Here + // and there we have to apply identical + // transformations to the cell value to get + // matching cell width information. If they do + // not match then pCV may compute a cell width + // larger than the max width found here, a + // negative padding length from that, and + // subsequently panic the Go runtime. What + // was further missing is trimming before + // entering the user-transform. Especially + // with color transforms any trailing space + // going in will not be removable for print. + // + // This happened for + // https://www.pivotaltracker.com/n/projects/892938/stories/117404629 + + value := trim(Decolorize(transformer.Transform(columnIndex, trim(lines[i])))) + width := visibleSize(value) + if t.columnWidth[columnIndex] < width { + t.columnWidth[columnIndex] = width + } + } + } +} + +// printRow is responsible for the layouting, transforming and +// printing of the string in a single row +func (t *Table) printRow(result io.Writer, transformer rowTransformer, rowIndex int, row []string) { + + height := t.rowHeight[rowIndex] + + // Compute the index of the last column as the min number of + // cells in the header and cells in the current row. + // Note: math.Min seems to be for float only :( + last := len(t.headers) - 1 + lastr := len(row) - 1 + if lastr < last { + last = lastr + } + + // Note how we always print into a line buffer before placing + // the assembled line into the result. This allows us to trim + // superfluous trailing whitespace from the line before making + // it final. + + if height <= 1 { + // Easy case, all cells in the row are single-line + line := &bytes.Buffer{} + + for columnIndex := range row { + // Truncate long row, ignore the additional fields. + if columnIndex >= len(t.headers) { + break + } + + t.printCellValue(line, transformer, columnIndex, last, row[columnIndex]) + } + + fmt.Fprintf(result, "%s\n", trim(string(line.Bytes()))) + return + } + + // We have at least one multi-line cell in this row. + // Treat it a bit like a mini-table. + + // Step I. Fill the mini-table. Note how it is stored + // column-major, not row-major. + + // [column][row]string + sub := make([][]string, len(t.headers)) + for columnIndex := range row { + // Truncate long row, ignore the additional fields. + if columnIndex >= len(t.headers) { + break + } + sub[columnIndex] = strings.Split(row[columnIndex], "\n") + // (*) Extend the column to the full height. + for len(sub[columnIndex]) < height { + sub[columnIndex] = append(sub[columnIndex], "") + } + } + + // Step II. Iterate over the rows, then columns to + // collect the output. This assumes that all + // the rows in sub are the same height. See + // (*) above where that is made true. + + for rowIndex := range sub[0] { + line := &bytes.Buffer{} + + for columnIndex := range sub { + t.printCellValue(line, transformer, columnIndex, last, sub[columnIndex][rowIndex]) + } + + fmt.Fprintf(result, "%s\n", trim(string(line.Bytes()))) + } +} + +// printCellValue pads the specified string to the width of the given +// column, adds the spacing bewtween columns, and returns the result. +func (t *Table) printCellValue(result io.Writer, transformer rowTransformer, col, last int, value string) { + value = trim(transformer.Transform(col, trim(value))) + fmt.Fprint(result, value) + + // Pad all columns, but the last in this row (with the size of + // the header row limiting this). This ensures that most of + // the irrelevant spacing is not printed. At the moment + // irrelevant spacing can only occur when printing a row with + // multi-line cells, introducing a physical short line for a + // long logical row. Getting rid of that requires fixing in + // printRow. + // + // Note how the inter-column spacing is also irrelevant for + // that last column. + + if col < last { + // (**) See also 'calculateMaxSize' (cMS). Here and + // there we have to apply identical transformations to + // the cell value to get matching cell width + // information. If they do not match then we may here + // compute a cell width larger than the max width + // found by cMS, derive a negative padding length from + // that, and subsequently panic the Go runtime in + // "strings.Repeat". What was further missing is + // trimming before entering the + // user-transform. Especially with color transforms + // any trailing space going in will not be removable + // for print. + // + // This happened for + // https://www.pivotaltracker.com/n/projects/892938/stories/117404629 + + padlen := t.columnWidth[col] - visibleSize(trim(Decolorize(value))) + padding := strings.Repeat(" ", padlen) + fmt.Fprint(result, padding) + fmt.Fprint(result, t.colSpacing) + } +} + +// rowTransformer is an interface behind which we can specify how to +// transform the strings of an entire row on a column-by-column basis. +type rowTransformer interface { + Transform(column int, s string) string +} + +// transformHeader is an implementation of rowTransformer which +// highlights all columns as a Header. +type transformHeader struct{} + +// transHeader holds a package-global transformHeader to prevent us +// from continuously allocating a literal of the type whenever we +// print a header row. Instead all tables use this value. +var transHeader = &transformHeader{} + +// Transform performs the Header highlighting for transformHeader +func (th *transformHeader) Transform(column int, s string) string { + return HeaderColor(s) +} + +// This Transform makes a PrintableTable an implementation of +// rowTransformer. It performs the per-column transformation for table +// content, as specified during construction and/or overridden by the +// user of the table, see SetTransformer. +func (t *Table) Transform(column int, s string) string { + return t.transformer[column](s) +} + +// nop is the identity transformation which does not transform the +// string at all. +func nop(s string) string { + return s +} + +// trim is a helper to remove trailing whitespace from a string. +func trim(s string) string { + return strings.TrimRight(s, " \t") +} + +// visibleSize returns the number of columns the string will cover +// when displayed in the terminal. This is the number of runes, +// i.e. characters, not the number of bytes it consists of. +func visibleSize(s string) int { + // This code re-implements the basic functionality of + // RuneCountInString to account for special cases. Namely + // UTF-8 characters taking up 3 bytes (**) appear as double-width. + // + // (**) I wonder if that is the set of characters outside of + // the BMP <=> the set of characters requiring surrogates (2 + // slots) when encoded in UCS-2. + + r := strings.NewReader(s) + + var size int + for range s { + _, runeSize, err := r.ReadRune() + if err != nil { + panic(fmt.Sprintf("error when calculating visible size of: %s", s)) + } + + if runeSize == 3 { + size += 2 // Kanji and Katakana characters appear as double-width + } else { + size += 1 + } + } + + return size +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/tee_printer.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/tee_printer.go new file mode 100644 index 0000000..1e19088 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/tee_printer.go @@ -0,0 +1,63 @@ +package terminal + +import ( + "fmt" + "io" + "io/ioutil" +) + +type TeePrinter struct { + disableTerminalOutput bool + outputBucket io.Writer + stdout io.Writer +} + +func NewTeePrinter(w io.Writer) *TeePrinter { + return &TeePrinter{ + outputBucket: ioutil.Discard, + stdout: w, + } +} + +func (t *TeePrinter) SetOutputBucket(bucket io.Writer) { + if bucket == nil { + bucket = ioutil.Discard + } + + t.outputBucket = bucket +} + +func (t *TeePrinter) Print(values ...interface{}) (int, error) { + str := fmt.Sprint(values...) + t.saveOutputToBucket(str) + if !t.disableTerminalOutput { + return fmt.Fprint(t.stdout, str) + } + return 0, nil +} + +func (t *TeePrinter) Printf(format string, a ...interface{}) (int, error) { + str := fmt.Sprintf(format, a...) + t.saveOutputToBucket(str) + if !t.disableTerminalOutput { + return fmt.Fprint(t.stdout, str) + } + return 0, nil +} + +func (t *TeePrinter) Println(values ...interface{}) (int, error) { + str := fmt.Sprint(values...) + t.saveOutputToBucket(str) + if !t.disableTerminalOutput { + return fmt.Fprintln(t.stdout, str) + } + return 0, nil +} + +func (t *TeePrinter) DisableTerminalOutput(disable bool) { + t.disableTerminalOutput = disable +} + +func (t *TeePrinter) saveOutputToBucket(output string) { + t.outputBucket.Write([]byte(Decolorize(output))) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/ui.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui.go new file mode 100644 index 0000000..9187a4c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui.go @@ -0,0 +1,306 @@ +package terminal + +import ( + "fmt" + "io" + "strings" + + . "github.com/cloudfoundry/cli/cf/i18n" + + "bytes" + + "bufio" + + "github.com/cloudfoundry/cli/cf" + "github.com/cloudfoundry/cli/cf/configuration/coreconfig" + "github.com/cloudfoundry/cli/cf/trace" +) + +type ColoringFunction func(value string, row int, col int) string + +func NotLoggedInText() string { + return fmt.Sprintf(T("Not logged in. Use '{{.CFLoginCommand}}' to log in.", map[string]interface{}{"CFLoginCommand": CommandColor(cf.Name + " " + "login")})) +} + +//go:generate counterfeiter . UI +type UI interface { + PrintPaginator(rows []string, err error) + Say(message string, args ...interface{}) + + // ProgressReader + PrintCapturingNoOutput(message string, args ...interface{}) + Warn(message string, args ...interface{}) + Ask(prompt string) (answer string) + AskForPassword(prompt string) (answer string) + Confirm(message string) bool + ConfirmDelete(modelType, modelName string) bool + ConfirmDeleteWithAssociations(modelType, modelName string) bool + Ok() + Failed(message string, args ...interface{}) + PanicQuietly() + ShowConfiguration(coreconfig.Reader) + LoadingIndication() + Table(headers []string) *UITable + NotifyUpdateIfNeeded(coreconfig.Reader) + + Writer() io.Writer +} + +type Printer interface { + Print(a ...interface{}) (n int, err error) + Printf(format string, a ...interface{}) (n int, err error) + Println(a ...interface{}) (n int, err error) +} + +type terminalUI struct { + stdin io.Reader + stdout io.Writer + printer Printer + logger trace.Printer +} + +func NewUI(r io.Reader, w io.Writer, printer Printer, logger trace.Printer) UI { + return &terminalUI{ + stdin: r, + stdout: w, + printer: printer, + logger: logger, + } +} + +func (ui terminalUI) Writer() io.Writer { + return ui.stdout +} + +func (ui *terminalUI) PrintPaginator(rows []string, err error) { + if err != nil { + ui.Failed(err.Error()) + return + } + + for _, row := range rows { + ui.Say(row) + } +} + +func (ui *terminalUI) PrintCapturingNoOutput(message string, args ...interface{}) { + if len(args) == 0 { + fmt.Fprintf(ui.stdout, "%s", message) + } else { + fmt.Fprintf(ui.stdout, message, args...) + } +} + +func (ui *terminalUI) Say(message string, args ...interface{}) { + if len(args) == 0 { + ui.printer.Printf("%s\n", message) + } else { + ui.printer.Printf(message+"\n", args...) + } +} + +func (ui *terminalUI) Warn(message string, args ...interface{}) { + message = fmt.Sprintf(message, args...) + ui.Say(WarningColor(message)) + return +} + +func (ui *terminalUI) Ask(prompt string) string { + fmt.Fprintf(ui.stdout, "\n%s%s ", prompt, PromptColor(">")) + + rd := bufio.NewReader(ui.stdin) + line, err := rd.ReadString('\n') + if err == nil { + return strings.TrimSpace(line) + } + return "" +} + +func (ui *terminalUI) ConfirmDeleteWithAssociations(modelType, modelName string) bool { + return ui.confirmDelete(T("Really delete the {{.ModelType}} {{.ModelName}} and everything associated with it?", + map[string]interface{}{ + "ModelType": modelType, + "ModelName": EntityNameColor(modelName), + })) +} + +func (ui *terminalUI) ConfirmDelete(modelType, modelName string) bool { + return ui.confirmDelete(T("Really delete the {{.ModelType}} {{.ModelName}}?", + map[string]interface{}{ + "ModelType": modelType, + "ModelName": EntityNameColor(modelName), + })) +} + +func (ui *terminalUI) confirmDelete(message string) bool { + result := ui.Confirm(message) + + if !result { + ui.Warn(T("Delete cancelled")) + } + + return result +} + +func (ui *terminalUI) Confirm(message string) bool { + response := ui.Ask(message) + switch strings.ToLower(response) { + case "y", "yes", T("yes"): + return true + } + return false +} + +func (ui *terminalUI) Ok() { + ui.Say(SuccessColor(T("OK"))) +} + +const QuietPanic = "This shouldn't print anything" + +func (ui *terminalUI) Failed(message string, args ...interface{}) { + message = fmt.Sprintf(message, args...) + + failed := "FAILED" + if T != nil { + failed = T("FAILED") + } + + ui.logger.Print(failed) + ui.logger.Print(message) + + if !ui.logger.WritesToConsole() { + ui.Say(FailureColor(failed)) + ui.Say(message) + } + + ui.PanicQuietly() +} + +func (ui *terminalUI) PanicQuietly() { + panic(QuietPanic) +} + +func (ui *terminalUI) ShowConfiguration(config coreconfig.Reader) { + table := ui.Table([]string{"", ""}) + + if config.HasAPIEndpoint() { + table.Add( + T("API endpoint:"), + T("{{.APIEndpoint}} (API version: {{.APIVersionString}})", + map[string]interface{}{ + "APIEndpoint": EntityNameColor(config.APIEndpoint()), + "APIVersionString": EntityNameColor(config.APIVersion()), + }), + ) + } + + if !config.IsLoggedIn() { + table.Print() + ui.Say(NotLoggedInText()) + return + } + + table.Add(T("User:"), EntityNameColor(config.UserEmail())) + + if !config.HasOrganization() && !config.HasSpace() { + table.Print() + command := fmt.Sprintf("%s target -o ORG -s SPACE", cf.Name) + ui.Say(T("No org or space targeted, use '{{.CFTargetCommand}}'", + map[string]interface{}{ + "CFTargetCommand": CommandColor(command), + })) + return + } + + if config.HasOrganization() { + table.Add( + T("Org:"), + EntityNameColor(config.OrganizationFields().Name), + ) + } else { + command := fmt.Sprintf("%s target -o Org", cf.Name) + table.Add( + T("Org:"), + T("No org targeted, use '{{.CFTargetCommand}}'", + map[string]interface{}{ + "CFTargetCommand": CommandColor(command), + }), + ) + } + + if config.HasSpace() { + table.Add( + T("Space:"), + EntityNameColor(config.SpaceFields().Name), + ) + } else { + command := fmt.Sprintf("%s target -s SPACE", cf.Name) + table.Add( + T("Space:"), + T("No space targeted, use '{{.CFTargetCommand}}'", map[string]interface{}{"CFTargetCommand": CommandColor(command)}), + ) + } + + table.Print() +} + +func (ui *terminalUI) LoadingIndication() { + ui.printer.Print(".") +} + +func (ui *terminalUI) Table(headers []string) *UITable { + return &UITable{ + UI: ui, + Table: NewTable(headers), + } +} + +type UITable struct { + UI UI + Table *Table +} + +func (u *UITable) Add(row ...string) { + u.Table.Add(row...) +} + +// Print formats the table and then prints it to the UI specified at +// the time of the construction. Afterwards the table is cleared, +// becoming ready for another round of rows and printing. +func (u *UITable) Print() { + result := &bytes.Buffer{} + t := u.Table + + t.PrintTo(result) + + // DevNote. With the change to printing into a buffer all + // lines now come with a terminating \n. The t.ui.Say() below + // will then add another \n to that. To avoid this additional + // line we chop off the last \n from the output (if there is + // any). Operating on the slice avoids string copying. + // + // WIBNI if the terminal API had a variant of Say not assuming + // that each output is a single line. + + r := result.Bytes() + if len(r) > 0 { + r = r[0 : len(r)-1] + } + + // Only generate output for a non-empty table. + if len(r) > 0 { + u.UI.Say("%s", string(r)) + } +} + +func (ui *terminalUI) NotifyUpdateIfNeeded(config coreconfig.Reader) { + if !config.IsMinCLIVersion(cf.Version) { + ui.Say("") + ui.Say(T("Cloud Foundry API version {{.APIVer}} requires CLI version {{.CLIMin}}. You are currently on version {{.CLIVer}}. To upgrade your CLI, please visit: https://github.com/cloudfoundry/cli#downloads", + map[string]interface{}{ + "APIVer": config.APIVersion(), + "CLIMin": config.MinCLIVersion(), + "CLIVer": cf.Version, + })) + } +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_unix.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_unix.go new file mode 100644 index 0000000..335cac6 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_unix.go @@ -0,0 +1,102 @@ +// Copied from https://code.google.com/p/gopass/ + +// +build !windows + +package terminal + +import ( + "bufio" + "fmt" + "os" + "os/signal" + "strings" + "syscall" + + . "github.com/cloudfoundry/cli/cf/i18n" +) + +const ( + sttyArg0 = "/bin/stty" + exec_cwdir = "" +) + +// Tells the terminal to turn echo off. +var sttyArgvEOff []string = []string{"stty", "-echo"} + +// Tells the terminal to turn echo on. +var sttyArgvEOn []string = []string{"stty", "echo"} + +var ws syscall.WaitStatus + +func (ui terminalUI) AskForPassword(prompt string) (passwd string) { + sig := make(chan os.Signal, 10) + + // Display the prompt. + fmt.Printf("\n%s%s ", prompt, PromptColor(">")) + + // File descriptors for stdin, stdout, and stderr. + fd := []uintptr{os.Stdin.Fd(), os.Stdout.Fd(), os.Stderr.Fd()} + + // Setup notifications of termination signals to channel sig, create a process to + // watch for these signals so we can turn back on echo if need be. + signal.Notify(sig, syscall.SIGHUP, syscall.SIGINT, syscall.SIGKILL, syscall.SIGQUIT, + syscall.SIGTERM) + defer signal.Stop(sig) + + go catchSignal(fd, sig) + + pid, err := echoOff(fd) + defer echoOn(fd) + if err != nil { + return + } + + passwd = readPassword(pid) + + // Carriage return after the user input. + fmt.Println("") + + return +} + +func readPassword(pid int) string { + rd := bufio.NewReader(os.Stdin) + syscall.Wait4(pid, &ws, 0, nil) + + line, err := rd.ReadString('\n') + if err == nil { + return strings.TrimSpace(line) + } + return "" +} + +func echoOff(fd []uintptr) (int, error) { + pid, err := syscall.ForkExec(sttyArg0, sttyArgvEOff, &syscall.ProcAttr{Dir: exec_cwdir, Files: fd}) + + if err != nil { + return 0, fmt.Errorf(T("failed turning off console echo for password entry:\n{{.ErrorDescription}}", map[string]interface{}{"ErrorDescription": err})) + } + + return pid, nil +} + +// echoOn turns back on the terminal echo. +func echoOn(fd []uintptr) { + // Turn on the terminal echo. + pid, e := syscall.ForkExec(sttyArg0, sttyArgvEOn, &syscall.ProcAttr{Dir: exec_cwdir, Files: fd}) + + if e == nil { + syscall.Wait4(pid, &ws, 0, nil) + } +} + +// catchSignal tries to catch SIGKILL, SIGQUIT and SIGINT so that we can turn terminal +// echo back on before the program ends. Otherwise the user is left with echo off on +// their terminal. +func catchSignal(fd []uintptr, sig chan os.Signal) { + select { + case <-sig: + echoOn(fd) + os.Exit(2) + } +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_windows.go b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_windows.go new file mode 100644 index 0000000..d964e5c --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/terminal/ui_windows.go @@ -0,0 +1,45 @@ +// +build windows + +package terminal + +import ( + "os" + "syscall" +) + +// see SetConsoleMode documentation for bit flags +// http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx +const ENABLE_ECHO_INPUT = 0x0004 + +func (ui terminalUI) AskForPassword(prompt string) (passwd string) { + hStdin := syscall.Handle(os.Stdin.Fd()) + var originalMode uint32 + + err := syscall.GetConsoleMode(hStdin, &originalMode) + if err != nil { + return + } + + var newMode uint32 = (originalMode &^ ENABLE_ECHO_INPUT) + + err = setConsoleMode(hStdin, newMode) + defer setConsoleMode(hStdin, originalMode) + defer ui.Say("") + + if err != nil { + return + } + + return ui.Ask(prompt) +} + +func setConsoleMode(console syscall.Handle, mode uint32) (err error) { + dll := syscall.MustLoadDLL("kernel32") + proc := dll.MustFindProc("SetConsoleMode") + r, _, err := proc.Call(uintptr(console), uintptr(mode)) + + if r == 0 { + return err + } + return nil +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/trace/combined_printer.go b/vendor/github.com/cloudfoundry/cli/cf/trace/combined_printer.go new file mode 100644 index 0000000..9af91f8 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/trace/combined_printer.go @@ -0,0 +1,35 @@ +package trace + +type combinedPrinter []Printer + +func CombinePrinters(printers []Printer) Printer { + return combinedPrinter(printers) +} + +func (p combinedPrinter) Print(v ...interface{}) { + for _, printer := range p { + printer.Print(v...) + } +} + +func (p combinedPrinter) Printf(format string, v ...interface{}) { + for _, printer := range p { + printer.Printf(format, v...) + } +} + +func (p combinedPrinter) Println(v ...interface{}) { + for _, printer := range p { + printer.Println(v...) + } +} + +func (p combinedPrinter) WritesToConsole() bool { + for _, printer := range p { + if printer.WritesToConsole() { + return true + } + } + + return false +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/trace/logger_provider.go b/vendor/github.com/cloudfoundry/cli/cf/trace/logger_provider.go new file mode 100644 index 0000000..5c5975b --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/trace/logger_provider.go @@ -0,0 +1,42 @@ +package trace + +import ( + "io" + "strconv" + + . "github.com/cloudfoundry/cli/cf/i18n" + + "github.com/cloudfoundry/gofileutils/fileutils" +) + +func NewLogger(writer io.Writer, verbose bool, cf_trace, config_trace string) Printer { + LoggingToStdout = verbose + + var printers []Printer + + stdoutLogger := NewWriterPrinter(writer, true) + + for _, path := range []string{cf_trace, config_trace} { + b, err := strconv.ParseBool(path) + LoggingToStdout = LoggingToStdout || b + + if path != "" && err != nil { + file, err := fileutils.Open(path) + + if err == nil { + printers = append(printers, NewWriterPrinter(file, false)) + } else { + stdoutLogger.Printf(T("CF_TRACE ERROR CREATING LOG FILE {{.Path}}:\n{{.Err}}", + map[string]interface{}{"Path": path, "Err": err})) + + LoggingToStdout = true + } + } + } + + if LoggingToStdout { + printers = append(printers, stdoutLogger) + } + + return CombinePrinters(printers) +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/trace/printer.go b/vendor/github.com/cloudfoundry/cli/cf/trace/printer.go new file mode 100644 index 0000000..222e4a2 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/trace/printer.go @@ -0,0 +1,10 @@ +package trace + +//go:generate counterfeiter . Printer + +type Printer interface { + Print(v ...interface{}) + Printf(format string, v ...interface{}) + Println(v ...interface{}) + WritesToConsole() bool +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/trace/trace.go b/vendor/github.com/cloudfoundry/cli/cf/trace/trace.go new file mode 100644 index 0000000..d1758f1 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/trace/trace.go @@ -0,0 +1,35 @@ +package trace + +import ( + "fmt" + "regexp" + + . "github.com/cloudfoundry/cli/cf/i18n" +) + +var LoggingToStdout bool + +func Sanitize(input string) string { + re := regexp.MustCompile(`(?m)^Authorization: .*`) + sanitized := re.ReplaceAllString(input, "Authorization: "+PRIVATE_DATA_PLACEHOLDER()) + + re = regexp.MustCompile(`password=[^&]*&`) + sanitized = re.ReplaceAllString(sanitized, "password="+PRIVATE_DATA_PLACEHOLDER()+"&") + + sanitized = sanitizeJSON("access_token", sanitized) + sanitized = sanitizeJSON("refresh_token", sanitized) + sanitized = sanitizeJSON("token", sanitized) + sanitized = sanitizeJSON("password", sanitized) + sanitized = sanitizeJSON("oldPassword", sanitized) + + return sanitized +} + +func sanitizeJSON(propertyName string, json string) string { + regex := regexp.MustCompile(fmt.Sprintf(`"%s":\s*"[^\,]*"`, propertyName)) + return regex.ReplaceAllString(json, fmt.Sprintf(`"%s":"%s"`, propertyName, PRIVATE_DATA_PLACEHOLDER())) +} + +func PRIVATE_DATA_PLACEHOLDER() string { + return T("[PRIVATE DATA HIDDEN]") +} diff --git a/vendor/github.com/cloudfoundry/cli/cf/trace/writer_printer.go b/vendor/github.com/cloudfoundry/cli/cf/trace/writer_printer.go new file mode 100644 index 0000000..9f03349 --- /dev/null +++ b/vendor/github.com/cloudfoundry/cli/cf/trace/writer_printer.go @@ -0,0 +1,34 @@ +package trace + +import ( + "io" + "log" +) + +type LoggerPrinter struct { + logger *log.Logger + writesToConsole bool +} + +func NewWriterPrinter(writer io.Writer, writesToConsole bool) Printer { + return &LoggerPrinter{ + logger: log.New(writer, "", 0), + writesToConsole: writesToConsole, + } +} + +func (p *LoggerPrinter) Print(v ...interface{}) { + p.logger.Print(v...) +} + +func (p *LoggerPrinter) Printf(format string, v ...interface{}) { + p.logger.Printf(format, v...) +} + +func (p *LoggerPrinter) Println(v ...interface{}) { + p.logger.Println(v...) +} + +func (p *LoggerPrinter) WritesToConsole() bool { + return p.writesToConsole +} diff --git a/vendor/github.com/cloudfoundry/gofileutils/fileutils/LICENSE b/vendor/github.com/cloudfoundry/gofileutils/fileutils/LICENSE new file mode 100644 index 0000000..915b208 --- /dev/null +++ b/vendor/github.com/cloudfoundry/gofileutils/fileutils/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2014 Pivotal + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/cloudfoundry/gofileutils/fileutils/dir_utils.go b/vendor/github.com/cloudfoundry/gofileutils/fileutils/dir_utils.go new file mode 100644 index 0000000..a430217 --- /dev/null +++ b/vendor/github.com/cloudfoundry/gofileutils/fileutils/dir_utils.go @@ -0,0 +1,20 @@ +package fileutils + +import ( + "os" +) + +func IsDirEmpty(dir string) (isEmpty bool, err error) { + dirFile, err := os.Open(dir) + if err != nil { + return + } + + _, readErr := dirFile.Readdirnames(1) + if readErr != nil { + isEmpty = true + } else { + isEmpty = false + } + return +} diff --git a/vendor/github.com/cloudfoundry/gofileutils/fileutils/file_utils.go b/vendor/github.com/cloudfoundry/gofileutils/fileutils/file_utils.go new file mode 100644 index 0000000..ac9b6eb --- /dev/null +++ b/vendor/github.com/cloudfoundry/gofileutils/fileutils/file_utils.go @@ -0,0 +1,74 @@ +package fileutils + +import ( + "io" + "io/ioutil" + "os" + "path" + "path/filepath" +) + +func Open(path string) (file *os.File, err error) { + err = os.MkdirAll(filepath.Dir(path), os.ModeDir|os.ModePerm) + if err != nil { + return + } + + return os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) +} + +func Create(path string) (file *os.File, err error) { + err = os.MkdirAll(filepath.Dir(path), os.ModeDir|os.ModePerm) + if err != nil { + return + } + + return os.Create(path) +} + +func CopyPathToPath(fromPath, toPath string) (err error) { + srcFileInfo, err := os.Stat(fromPath) + if err != nil { + return err + } + + if srcFileInfo.IsDir() { + err = os.MkdirAll(toPath, srcFileInfo.Mode()) + if err != nil { + return err + } + + files, err := ioutil.ReadDir(fromPath) + if err != nil { + return err + } + + for _, file := range files { + err = CopyPathToPath(path.Join(fromPath, file.Name()), path.Join(toPath, file.Name())) + if err != nil { + return err + } + } + } else { + var dst *os.File + dst, err = Create(toPath) + if err != nil { + return err + } + defer dst.Close() + + dst.Chmod(srcFileInfo.Mode()) + + src, err := os.Open(fromPath) + if err != nil { + return err + } + defer src.Close() + + _, err = io.Copy(dst, src) + if err != nil { + return err + } + } + return err +} diff --git a/vendor/github.com/cloudfoundry/gofileutils/fileutils/temp_utils.go b/vendor/github.com/cloudfoundry/gofileutils/fileutils/temp_utils.go new file mode 100644 index 0000000..4961a8d --- /dev/null +++ b/vendor/github.com/cloudfoundry/gofileutils/fileutils/temp_utils.go @@ -0,0 +1,27 @@ +package fileutils + +import ( + "io/ioutil" + "os" +) + +func TempDir(namePrefix string, cb func(tmpDir string, err error)) { + tmpDir, err := ioutil.TempDir("", namePrefix) + + defer func() { + os.RemoveAll(tmpDir) + }() + + cb(tmpDir, err) +} + +func TempFile(namePrefix string, cb func(tmpFile *os.File, err error)) { + tmpFile, err := ioutil.TempFile("", namePrefix) + + defer func() { + tmpFile.Close() + os.Remove(tmpFile.Name()) + }() + + cb(tmpFile, err) +} diff --git a/vendor/github.com/fatih/color/LICENSE.md b/vendor/github.com/fatih/color/LICENSE.md new file mode 100644 index 0000000..25fdaf6 --- /dev/null +++ b/vendor/github.com/fatih/color/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 Fatih Arslan + +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/fatih/color/color.go b/vendor/github.com/fatih/color/color.go new file mode 100644 index 0000000..e3e9972 --- /dev/null +++ b/vendor/github.com/fatih/color/color.go @@ -0,0 +1,402 @@ +package color + +import ( + "fmt" + "os" + "strconv" + "strings" + + "github.com/mattn/go-colorable" + "github.com/mattn/go-isatty" +) + +// NoColor defines if the output is colorized or not. It's dynamically set to +// false or true based on the stdout's file descriptor referring to a terminal +// or not. This is a global option and affects all colors. For more control +// over each color block use the methods DisableColor() individually. +var NoColor = !isatty.IsTerminal(os.Stdout.Fd()) + +// Color defines a custom color object which is defined by SGR parameters. +type Color struct { + params []Attribute + noColor *bool +} + +// Attribute defines a single SGR Code +type Attribute int + +const escape = "\x1b" + +// Base attributes +const ( + Reset Attribute = iota + Bold + Faint + Italic + Underline + BlinkSlow + BlinkRapid + ReverseVideo + Concealed + CrossedOut +) + +// Foreground text colors +const ( + FgBlack Attribute = iota + 30 + FgRed + FgGreen + FgYellow + FgBlue + FgMagenta + FgCyan + FgWhite +) + +// Foreground Hi-Intensity text colors +const ( + FgHiBlack Attribute = iota + 90 + FgHiRed + FgHiGreen + FgHiYellow + FgHiBlue + FgHiMagenta + FgHiCyan + FgHiWhite +) + +// Background text colors +const ( + BgBlack Attribute = iota + 40 + BgRed + BgGreen + BgYellow + BgBlue + BgMagenta + BgCyan + BgWhite +) + +// Background Hi-Intensity text colors +const ( + BgHiBlack Attribute = iota + 100 + BgHiRed + BgHiGreen + BgHiYellow + BgHiBlue + BgHiMagenta + BgHiCyan + BgHiWhite +) + +// New returns a newly created color object. +func New(value ...Attribute) *Color { + c := &Color{params: make([]Attribute, 0)} + c.Add(value...) + return c +} + +// Set sets the given parameters immediately. It will change the color of +// output with the given SGR parameters until color.Unset() is called. +func Set(p ...Attribute) *Color { + c := New(p...) + c.Set() + return c +} + +// Unset resets all escape attributes and clears the output. Usually should +// be called after Set(). +func Unset() { + if NoColor { + return + } + + fmt.Fprintf(Output, "%s[%dm", escape, Reset) +} + +// Set sets the SGR sequence. +func (c *Color) Set() *Color { + if c.isNoColorSet() { + return c + } + + fmt.Fprintf(Output, c.format()) + return c +} + +func (c *Color) unset() { + if c.isNoColorSet() { + return + } + + Unset() +} + +// Add is used to chain SGR parameters. Use as many as parameters to combine +// and create custom color objects. Example: Add(color.FgRed, color.Underline). +func (c *Color) Add(value ...Attribute) *Color { + c.params = append(c.params, value...) + return c +} + +func (c *Color) prepend(value Attribute) { + c.params = append(c.params, 0) + copy(c.params[1:], c.params[0:]) + c.params[0] = value +} + +// Output defines the standard output of the print functions. By default +// os.Stdout is used. +var Output = colorable.NewColorableStdout() + +// Print formats using the default formats for its operands and writes to +// standard output. Spaces are added between operands when neither is a +// string. It returns the number of bytes written and any write error +// encountered. This is the standard fmt.Print() method wrapped with the given +// color. +func (c *Color) Print(a ...interface{}) (n int, err error) { + c.Set() + defer c.unset() + + return fmt.Fprint(Output, a...) +} + +// Printf formats according to a format specifier and writes to standard output. +// It returns the number of bytes written and any write error encountered. +// This is the standard fmt.Printf() method wrapped with the given color. +func (c *Color) Printf(format string, a ...interface{}) (n int, err error) { + c.Set() + defer c.unset() + + return fmt.Fprintf(Output, format, a...) +} + +// Println formats using the default formats for its operands and writes to +// standard output. Spaces are always added between operands and a newline is +// appended. It returns the number of bytes written and any write error +// encountered. This is the standard fmt.Print() method wrapped with the given +// color. +func (c *Color) Println(a ...interface{}) (n int, err error) { + c.Set() + defer c.unset() + + return fmt.Fprintln(Output, a...) +} + +// PrintFunc returns a new function that prints the passed arguments as +// colorized with color.Print(). +func (c *Color) PrintFunc() func(a ...interface{}) { + return func(a ...interface{}) { c.Print(a...) } +} + +// PrintfFunc returns a new function that prints the passed arguments as +// colorized with color.Printf(). +func (c *Color) PrintfFunc() func(format string, a ...interface{}) { + return func(format string, a ...interface{}) { c.Printf(format, a...) } +} + +// PrintlnFunc returns a new function that prints the passed arguments as +// colorized with color.Println(). +func (c *Color) PrintlnFunc() func(a ...interface{}) { + return func(a ...interface{}) { c.Println(a...) } +} + +// SprintFunc returns a new function that returns colorized strings for the +// given arguments with fmt.Sprint(). Useful to put into or mix into other +// string. Windows users should use this in conjuction with color.Output, example: +// +// put := New(FgYellow).SprintFunc() +// fmt.Fprintf(color.Output, "This is a %s", put("warning")) +func (c *Color) SprintFunc() func(a ...interface{}) string { + return func(a ...interface{}) string { + return c.wrap(fmt.Sprint(a...)) + } +} + +// SprintfFunc returns a new function that returns colorized strings for the +// given arguments with fmt.Sprintf(). Useful to put into or mix into other +// string. Windows users should use this in conjuction with color.Output. +func (c *Color) SprintfFunc() func(format string, a ...interface{}) string { + return func(format string, a ...interface{}) string { + return c.wrap(fmt.Sprintf(format, a...)) + } +} + +// SprintlnFunc returns a new function that returns colorized strings for the +// given arguments with fmt.Sprintln(). Useful to put into or mix into other +// string. Windows users should use this in conjuction with color.Output. +func (c *Color) SprintlnFunc() func(a ...interface{}) string { + return func(a ...interface{}) string { + return c.wrap(fmt.Sprintln(a...)) + } +} + +// sequence returns a formated SGR sequence to be plugged into a "\x1b[...m" +// an example output might be: "1;36" -> bold cyan +func (c *Color) sequence() string { + format := make([]string, len(c.params)) + for i, v := range c.params { + format[i] = strconv.Itoa(int(v)) + } + + return strings.Join(format, ";") +} + +// wrap wraps the s string with the colors attributes. The string is ready to +// be printed. +func (c *Color) wrap(s string) string { + if c.isNoColorSet() { + return s + } + + return c.format() + s + c.unformat() +} + +func (c *Color) format() string { + return fmt.Sprintf("%s[%sm", escape, c.sequence()) +} + +func (c *Color) unformat() string { + return fmt.Sprintf("%s[%dm", escape, Reset) +} + +// DisableColor disables the color output. Useful to not change any existing +// code and still being able to output. Can be used for flags like +// "--no-color". To enable back use EnableColor() method. +func (c *Color) DisableColor() { + c.noColor = boolPtr(true) +} + +// EnableColor enables the color output. Use it in conjuction with +// DisableColor(). Otherwise this method has no side effects. +func (c *Color) EnableColor() { + c.noColor = boolPtr(false) +} + +func (c *Color) isNoColorSet() bool { + // check first if we have user setted action + if c.noColor != nil { + return *c.noColor + } + + // if not return the global option, which is disabled by default + return NoColor +} + +// Equals returns a boolean value indicating whether two colors are equal. +func (c *Color) Equals(c2 *Color) bool { + if len(c.params) != len(c2.params) { + return false + } + + for _, attr := range c.params { + if !c2.attrExists(attr) { + return false + } + } + + return true +} + +func (c *Color) attrExists(a Attribute) bool { + for _, attr := range c.params { + if attr == a { + return true + } + } + + return false +} + +func boolPtr(v bool) *bool { + return &v +} + +// Black is an convenient helper function to print with black foreground. A +// newline is appended to format by default. +func Black(format string, a ...interface{}) { printColor(format, FgBlack, a...) } + +// Red is an convenient helper function to print with red foreground. A +// newline is appended to format by default. +func Red(format string, a ...interface{}) { printColor(format, FgRed, a...) } + +// Green is an convenient helper function to print with green foreground. A +// newline is appended to format by default. +func Green(format string, a ...interface{}) { printColor(format, FgGreen, a...) } + +// Yellow is an convenient helper function to print with yellow foreground. +// A newline is appended to format by default. +func Yellow(format string, a ...interface{}) { printColor(format, FgYellow, a...) } + +// Blue is an convenient helper function to print with blue foreground. A +// newline is appended to format by default. +func Blue(format string, a ...interface{}) { printColor(format, FgBlue, a...) } + +// Magenta is an convenient helper function to print with magenta foreground. +// A newline is appended to format by default. +func Magenta(format string, a ...interface{}) { printColor(format, FgMagenta, a...) } + +// Cyan is an convenient helper function to print with cyan foreground. A +// newline is appended to format by default. +func Cyan(format string, a ...interface{}) { printColor(format, FgCyan, a...) } + +// White is an convenient helper function to print with white foreground. A +// newline is appended to format by default. +func White(format string, a ...interface{}) { printColor(format, FgWhite, a...) } + +func printColor(format string, p Attribute, a ...interface{}) { + if !strings.HasSuffix(format, "\n") { + format += "\n" + } + + c := &Color{params: []Attribute{p}} + c.Printf(format, a...) +} + +// BlackString is an convenient helper function to return a string with black +// foreground. +func BlackString(format string, a ...interface{}) string { + return New(FgBlack).SprintfFunc()(format, a...) +} + +// RedString is an convenient helper function to return a string with red +// foreground. +func RedString(format string, a ...interface{}) string { + return New(FgRed).SprintfFunc()(format, a...) +} + +// GreenString is an convenient helper function to return a string with green +// foreground. +func GreenString(format string, a ...interface{}) string { + return New(FgGreen).SprintfFunc()(format, a...) +} + +// YellowString is an convenient helper function to return a string with yellow +// foreground. +func YellowString(format string, a ...interface{}) string { + return New(FgYellow).SprintfFunc()(format, a...) +} + +// BlueString is an convenient helper function to return a string with blue +// foreground. +func BlueString(format string, a ...interface{}) string { + return New(FgBlue).SprintfFunc()(format, a...) +} + +// MagentaString is an convenient helper function to return a string with magenta +// foreground. +func MagentaString(format string, a ...interface{}) string { + return New(FgMagenta).SprintfFunc()(format, a...) +} + +// CyanString is an convenient helper function to return a string with cyan +// foreground. +func CyanString(format string, a ...interface{}) string { + return New(FgCyan).SprintfFunc()(format, a...) +} + +// WhiteString is an convenient helper function to return a string with white +// foreground. +func WhiteString(format string, a ...interface{}) string { + return New(FgWhite).SprintfFunc()(format, a...) +} diff --git a/vendor/github.com/fatih/color/doc.go b/vendor/github.com/fatih/color/doc.go new file mode 100644 index 0000000..1790878 --- /dev/null +++ b/vendor/github.com/fatih/color/doc.go @@ -0,0 +1,114 @@ +/* +Package color is an ANSI color package to output colorized or SGR defined +output to the standard output. The API can be used in several way, pick one +that suits you. + +Use simple and default helper functions with predefined foreground colors: + + color.Cyan("Prints text in cyan.") + + // a newline will be appended automatically + color.Blue("Prints %s in blue.", "text") + + // More default foreground colors.. + color.Red("We have red") + color.Yellow("Yellow color too!") + color.Magenta("And many others ..") + +However there are times where custom color mixes are required. Below are some +examples to create custom color objects and use the print functions of each +separate color object. + + // Create a new color object + c := color.New(color.FgCyan).Add(color.Underline) + c.Println("Prints cyan text with an underline.") + + // Or just add them to New() + d := color.New(color.FgCyan, color.Bold) + d.Printf("This prints bold cyan %s\n", "too!.") + + + // Mix up foreground and background colors, create new mixes! + red := color.New(color.FgRed) + + boldRed := red.Add(color.Bold) + boldRed.Println("This will print text in bold red.") + + whiteBackground := red.Add(color.BgWhite) + whiteBackground.Println("Red text with White background.") + + +You can create PrintXxx functions to simplify even more: + + // Create a custom print function for convenient + red := color.New(color.FgRed).PrintfFunc() + red("warning") + red("error: %s", err) + + // Mix up multiple attributes + notice := color.New(color.Bold, color.FgGreen).PrintlnFunc() + notice("don't forget this...") + + +Or create SprintXxx functions to mix strings with other non-colorized strings: + + yellow := New(FgYellow).SprintFunc() + red := New(FgRed).SprintFunc() + + fmt.Printf("this is a %s and this is %s.\n", yellow("warning"), red("error")) + + info := New(FgWhite, BgGreen).SprintFunc() + fmt.Printf("this %s rocks!\n", info("package")) + +Windows support is enabled by default. All Print functions works as intended. +However only for color.SprintXXX functions, user should use fmt.FprintXXX and +set the output to color.Output: + + fmt.Fprintf(color.Output, "Windows support: %s", color.GreenString("PASS")) + + info := New(FgWhite, BgGreen).SprintFunc() + fmt.Fprintf(color.Output, "this %s rocks!\n", info("package")) + +Using with existing code is possible. Just use the Set() method to set the +standard output to the given parameters. That way a rewrite of an existing +code is not required. + + // Use handy standard colors. + color.Set(color.FgYellow) + + fmt.Println("Existing text will be now in Yellow") + fmt.Printf("This one %s\n", "too") + + color.Unset() // don't forget to unset + + // You can mix up parameters + color.Set(color.FgMagenta, color.Bold) + defer color.Unset() // use it in your function + + fmt.Println("All text will be now bold magenta.") + +There might be a case where you want to disable color output (for example to +pipe the standard output of your app to somewhere else). `Color` has support to +disable colors both globally and for single color definition. For example +suppose you have a CLI app and a `--no-color` bool flag. You can easily disable +the color output with: + + var flagNoColor = flag.Bool("no-color", false, "Disable color output") + + if *flagNoColor { + color.NoColor = true // disables colorized output + } + +It also has support for single color definitions (local). You can +disable/enable color output on the fly: + + c := color.New(color.FgCyan) + c.Println("Prints cyan text") + + c.DisableColor() + c.Println("This is printed without any color") + + c.EnableColor() + c.Println("This prints again cyan...") +*/ +package color diff --git a/vendor/github.com/krujos/cfcurl/LICENSE b/vendor/github.com/krujos/cfcurl/LICENSE new file mode 100644 index 0000000..e06d208 --- /dev/null +++ b/vendor/github.com/krujos/cfcurl/LICENSE @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/vendor/github.com/krujos/cfcurl/README.md b/vendor/github.com/krujos/cfcurl/README.md new file mode 100644 index 0000000..ce475f4 --- /dev/null +++ b/vendor/github.com/krujos/cfcurl/README.md @@ -0,0 +1,40 @@ +cfcurl +====== + +A library for calling the cf curl command. This is intended to be used when +writing CF CLI plugins. Sometimes it's easier to interact with the api directly. +During the implementation of the +[scaleover](https://github.com/krujos/scaleover-plugin/) we had a conversation +about accessing the CF api through the CLI framework. The conclusion was that +isn't such a great idea to use the internals of the CLI, so this feels like the +rght way to do it to me. + +#Usage +[Here's an example plugin](https://github.com/krujos/cfcurl-testplugin) that makes use of it, it prints the contents of the marshaled JSON. + +``` +//Run a command +func (cmd *TestCmd) Run(cliConnection plugin.CliConnection, args []string) { + out, _ := cfcurl.Curl(cliConnection, "/v2/apps") + fmt.Println(out) + + out, _ = cfcurl.CurlDepricated(cliConnection, "/v2/domains") + fmt.Println(out) +} + +``` + +#API +The package offers two methods `Curl` and `CurlDepricated`. + +* `Curl` calls "current" (or experimental) API specified by the path argument and returns a `map[string]interface{}`. If you call a deprecated API with this method it will `panic`. +* `CurlDepricated` will let you call a "Endpoint deprecated" API, and returns `map[string]interface{}` representing the JSON. You can call a current API with no issue, but the converse will panic. + +See the [tests](https://github.com/krujos/cfcurl/blob/master/cfcurl_test.go) for more details, but you can handle the `map[string]interface{}` pretty intuitively. + +For instances, to read the total number of results returned from `/v2/apps` you would use the following code: + +``` +appsJSON, _ := Curl(fakeCliConnection, "/v2/apps") +fmt.Println(appsJSON["total_results"])) +``` \ No newline at end of file diff --git a/vendor/github.com/krujos/cfcurl/apps.json b/vendor/github.com/krujos/cfcurl/apps.json new file mode 100644 index 0000000..081fa43 --- /dev/null +++ b/vendor/github.com/krujos/cfcurl/apps.json @@ -0,0 +1,94 @@ +{ + "total_results": 2, + "total_pages": 1, + "prev_url": null, + "next_url": null, + "resources": [ + { + "metadata": { + "guid": "0d658ce1-0cf3-403a-aa89-f88c5c0ce09d", + "url": "/v2/apps/0d658ce1-0cf3-403a-aa89-f88c5c0ce09d", + "created_at": "2015-07-07T16:12:45Z", + "updated_at": "2015-07-07T16:12:52Z" + }, + "entity": { + "name": "investigator", + "production": false, + "space_guid": "81c310ed-d258-48d7-a57a-6522d93a4217", + "stack_guid": "b7035c92-b929-4a97-812d-7ca4d57649de", + "buildpack": null, + "detected_buildpack": null, + "environment_json": {}, + "memory": 256, + "instances": 1, + "disk_quota": 1024, + "state": "STARTED", + "version": "f54f01eb-2c80-4db1-b766-d17f02d11c48", + "command": null, + "console": false, + "debug": null, + "staging_task_id": "b5c5e8e2f9664de2a4e2230e62aa5a17", + "package_state": "FAILED", + "health_check_type": "port", + "health_check_timeout": null, + "staging_failed_reason": "BuildpackCompileFailed", + "diego": false, + "docker_image": null, + "package_updated_at": "2015-07-07T16:12:48Z", + "detected_start_command": "", + "enable_ssh": true, + "docker_credentials_json": { + "redacted_message": "[PRIVATE DATA HIDDEN]" + }, + "space_url": "/v2/spaces/81c310ed-d258-48d7-a57a-6522d93a4217", + "stack_url": "/v2/stacks/b7035c92-b929-4a97-812d-7ca4d57649de", + "events_url": "/v2/apps/0d658ce1-0cf3-403a-aa89-f88c5c0ce09d/events", + "service_bindings_url": "/v2/apps/0d658ce1-0cf3-403a-aa89-f88c5c0ce09d/service_bindings", + "routes_url": "/v2/apps/0d658ce1-0cf3-403a-aa89-f88c5c0ce09d/routes" + } + }, + { + "metadata": { + "guid": "af9ecd72-6f74-4d03-9c9f-2c8895808d11", + "url": "/v2/apps/af9ecd72-6f74-4d03-9c9f-2c8895808d11", + "created_at": "2015-07-09T16:38:20Z", + "updated_at": "2015-07-09T16:38:36Z" + }, + "entity": { + "name": "ph", + "production": false, + "space_guid": "81c310ed-d258-48d7-a57a-6522d93a4217", + "stack_guid": "b7035c92-b929-4a97-812d-7ca4d57649de", + "buildpack": null, + "detected_buildpack": "PHP", + "environment_json": {}, + "memory": 256, + "instances": 1, + "disk_quota": 1024, + "state": "STARTED", + "version": "3ad13db1-b31e-41e1-8584-0ad8dbc5723a", + "command": null, + "console": false, + "debug": null, + "staging_task_id": "e553bc939e3c4b308fc7c8eb8cf464d6", + "package_state": "STAGED", + "health_check_type": "port", + "health_check_timeout": null, + "staging_failed_reason": null, + "diego": false, + "docker_image": null, + "package_updated_at": "2015-07-09T16:38:22Z", + "detected_start_command": "$HOME/.bp/bin/start", + "enable_ssh": true, + "docker_credentials_json": { + "redacted_message": "[PRIVATE DATA HIDDEN]" + }, + "space_url": "/v2/spaces/81c310ed-d258-48d7-a57a-6522d93a4217", + "stack_url": "/v2/stacks/b7035c92-b929-4a97-812d-7ca4d57649de", + "events_url": "/v2/apps/af9ecd72-6f74-4d03-9c9f-2c8895808d11/events", + "service_bindings_url": "/v2/apps/af9ecd72-6f74-4d03-9c9f-2c8895808d11/service_bindings", + "routes_url": "/v2/apps/af9ecd72-6f74-4d03-9c9f-2c8895808d11/routes" + } + } + ] +} diff --git a/vendor/github.com/krujos/cfcurl/cfcurl.go b/vendor/github.com/krujos/cfcurl/cfcurl.go new file mode 100644 index 0000000..338f6f0 --- /dev/null +++ b/vendor/github.com/krujos/cfcurl/cfcurl.go @@ -0,0 +1,65 @@ +package cfcurl + +import ( + "encoding/json" + "errors" + "strings" + + "github.com/cloudfoundry/cli/plugin" +) + +func callAndValidateCLI(cli plugin.CliConnection, path string) ([]string, error) { + output, err := cli.CliCommandWithoutTerminalOutput("curl", path) + + if nil != err { + return nil, err + } + + if nil == output || 0 == len(output) { + return nil, errors.New("CF API returned no output") + } + + return output, nil +} + +func parseOutput(output []string) (map[string]interface{}, error) { + if nil == output || 0 == len(output) { + return nil, errors.New("CF API returned no output") + } + + data := strings.Join(output, "\n") + + if 0 == len(data) || "" == data { + return nil, errors.New("Failed to join output") + } + + var f interface{} + err := json.Unmarshal([]byte(data), &f) + return f.(map[string]interface{}), err +} + +// Curl calls cf curl and return the resulting json. This method will panic if +// the api is depricated +func Curl(cli plugin.CliConnection, path string) (map[string]interface{}, error) { + output, err := cli.CliCommandWithoutTerminalOutput("curl", path) + + if nil != err { + return nil, err + } + + return parseOutput(output) +} + +// CurlDepricated calls cf curl and return the resulting json, even if the api is depricated +func CurlDepricated(cli plugin.CliConnection, path string) (map[string]interface{}, error) { + output, err := callAndValidateCLI(cli, path) + if nil != err { + return nil, err + } + + if strings.Contains(output[len(output)-1], "Endpoint deprecated") { + output = output[:len(output)-1] + } + + return parseOutput(output) +} diff --git a/vendor/github.com/krujos/cfcurl/domains.json b/vendor/github.com/krujos/cfcurl/domains.json new file mode 100644 index 0000000..6110b57 --- /dev/null +++ b/vendor/github.com/krujos/cfcurl/domains.json @@ -0,0 +1,20 @@ +{ + "total_results": 1, + "total_pages": 1, + "prev_url": null, + "next_url": null, + "resources": [ + { + "metadata": { + "guid": "b4375291-58d3-4065-a89d-15097bb50d37", + "url": "/v2/domains/b4375291-58d3-4065-a89d-15097bb50d37", + "created_at": "2015-07-06T22:53:52Z", + "updated_at": "2015-07-06T22:53:52Z" + }, + "entity": { + "name": "10.244.0.34.xip.io" + } + } + ] +} +Endpoint deprecated diff --git a/vendor/github.com/mattn/go-colorable/colorable_others.go b/vendor/github.com/mattn/go-colorable/colorable_others.go new file mode 100644 index 0000000..52d6653 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_others.go @@ -0,0 +1,24 @@ +// +build !windows + +package colorable + +import ( + "io" + "os" +) + +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +func NewColorableStdout() io.Writer { + return os.Stdout +} + +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/mattn/go-colorable/colorable_windows.go b/vendor/github.com/mattn/go-colorable/colorable_windows.go new file mode 100644 index 0000000..c8f4e09 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_windows.go @@ -0,0 +1,783 @@ +package colorable + +import ( + "bytes" + "fmt" + "io" + "math" + "os" + "strconv" + "strings" + "syscall" + "unsafe" + + "github.com/mattn/go-isatty" +) + +const ( + foregroundBlue = 0x1 + foregroundGreen = 0x2 + foregroundRed = 0x4 + foregroundIntensity = 0x8 + foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity) + backgroundBlue = 0x10 + backgroundGreen = 0x20 + backgroundRed = 0x40 + backgroundIntensity = 0x80 + backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) +) + +type wchar uint16 +type short int16 +type dword uint32 +type word uint16 + +type coord struct { + x short + y short +} + +type smallRect struct { + left short + top short + right short + bottom short +} + +type consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord +} + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") + procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute") + procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") + procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") + procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") +) + +type Writer struct { + out io.Writer + handle syscall.Handle + lastbuf bytes.Buffer + oldattr word +} + +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + if isatty.IsTerminal(file.Fd()) { + var csbi consoleScreenBufferInfo + handle := syscall.Handle(file.Fd()) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + return &Writer{out: file, handle: handle, oldattr: csbi.attributes} + } else { + return file + } +} + +func NewColorableStdout() io.Writer { + return NewColorable(os.Stdout) +} + +func NewColorableStderr() io.Writer { + return NewColorable(os.Stderr) +} + +var color256 = map[int]int{ + 0: 0x000000, + 1: 0x800000, + 2: 0x008000, + 3: 0x808000, + 4: 0x000080, + 5: 0x800080, + 6: 0x008080, + 7: 0xc0c0c0, + 8: 0x808080, + 9: 0xff0000, + 10: 0x00ff00, + 11: 0xffff00, + 12: 0x0000ff, + 13: 0xff00ff, + 14: 0x00ffff, + 15: 0xffffff, + 16: 0x000000, + 17: 0x00005f, + 18: 0x000087, + 19: 0x0000af, + 20: 0x0000d7, + 21: 0x0000ff, + 22: 0x005f00, + 23: 0x005f5f, + 24: 0x005f87, + 25: 0x005faf, + 26: 0x005fd7, + 27: 0x005fff, + 28: 0x008700, + 29: 0x00875f, + 30: 0x008787, + 31: 0x0087af, + 32: 0x0087d7, + 33: 0x0087ff, + 34: 0x00af00, + 35: 0x00af5f, + 36: 0x00af87, + 37: 0x00afaf, + 38: 0x00afd7, + 39: 0x00afff, + 40: 0x00d700, + 41: 0x00d75f, + 42: 0x00d787, + 43: 0x00d7af, + 44: 0x00d7d7, + 45: 0x00d7ff, + 46: 0x00ff00, + 47: 0x00ff5f, + 48: 0x00ff87, + 49: 0x00ffaf, + 50: 0x00ffd7, + 51: 0x00ffff, + 52: 0x5f0000, + 53: 0x5f005f, + 54: 0x5f0087, + 55: 0x5f00af, + 56: 0x5f00d7, + 57: 0x5f00ff, + 58: 0x5f5f00, + 59: 0x5f5f5f, + 60: 0x5f5f87, + 61: 0x5f5faf, + 62: 0x5f5fd7, + 63: 0x5f5fff, + 64: 0x5f8700, + 65: 0x5f875f, + 66: 0x5f8787, + 67: 0x5f87af, + 68: 0x5f87d7, + 69: 0x5f87ff, + 70: 0x5faf00, + 71: 0x5faf5f, + 72: 0x5faf87, + 73: 0x5fafaf, + 74: 0x5fafd7, + 75: 0x5fafff, + 76: 0x5fd700, + 77: 0x5fd75f, + 78: 0x5fd787, + 79: 0x5fd7af, + 80: 0x5fd7d7, + 81: 0x5fd7ff, + 82: 0x5fff00, + 83: 0x5fff5f, + 84: 0x5fff87, + 85: 0x5fffaf, + 86: 0x5fffd7, + 87: 0x5fffff, + 88: 0x870000, + 89: 0x87005f, + 90: 0x870087, + 91: 0x8700af, + 92: 0x8700d7, + 93: 0x8700ff, + 94: 0x875f00, + 95: 0x875f5f, + 96: 0x875f87, + 97: 0x875faf, + 98: 0x875fd7, + 99: 0x875fff, + 100: 0x878700, + 101: 0x87875f, + 102: 0x878787, + 103: 0x8787af, + 104: 0x8787d7, + 105: 0x8787ff, + 106: 0x87af00, + 107: 0x87af5f, + 108: 0x87af87, + 109: 0x87afaf, + 110: 0x87afd7, + 111: 0x87afff, + 112: 0x87d700, + 113: 0x87d75f, + 114: 0x87d787, + 115: 0x87d7af, + 116: 0x87d7d7, + 117: 0x87d7ff, + 118: 0x87ff00, + 119: 0x87ff5f, + 120: 0x87ff87, + 121: 0x87ffaf, + 122: 0x87ffd7, + 123: 0x87ffff, + 124: 0xaf0000, + 125: 0xaf005f, + 126: 0xaf0087, + 127: 0xaf00af, + 128: 0xaf00d7, + 129: 0xaf00ff, + 130: 0xaf5f00, + 131: 0xaf5f5f, + 132: 0xaf5f87, + 133: 0xaf5faf, + 134: 0xaf5fd7, + 135: 0xaf5fff, + 136: 0xaf8700, + 137: 0xaf875f, + 138: 0xaf8787, + 139: 0xaf87af, + 140: 0xaf87d7, + 141: 0xaf87ff, + 142: 0xafaf00, + 143: 0xafaf5f, + 144: 0xafaf87, + 145: 0xafafaf, + 146: 0xafafd7, + 147: 0xafafff, + 148: 0xafd700, + 149: 0xafd75f, + 150: 0xafd787, + 151: 0xafd7af, + 152: 0xafd7d7, + 153: 0xafd7ff, + 154: 0xafff00, + 155: 0xafff5f, + 156: 0xafff87, + 157: 0xafffaf, + 158: 0xafffd7, + 159: 0xafffff, + 160: 0xd70000, + 161: 0xd7005f, + 162: 0xd70087, + 163: 0xd700af, + 164: 0xd700d7, + 165: 0xd700ff, + 166: 0xd75f00, + 167: 0xd75f5f, + 168: 0xd75f87, + 169: 0xd75faf, + 170: 0xd75fd7, + 171: 0xd75fff, + 172: 0xd78700, + 173: 0xd7875f, + 174: 0xd78787, + 175: 0xd787af, + 176: 0xd787d7, + 177: 0xd787ff, + 178: 0xd7af00, + 179: 0xd7af5f, + 180: 0xd7af87, + 181: 0xd7afaf, + 182: 0xd7afd7, + 183: 0xd7afff, + 184: 0xd7d700, + 185: 0xd7d75f, + 186: 0xd7d787, + 187: 0xd7d7af, + 188: 0xd7d7d7, + 189: 0xd7d7ff, + 190: 0xd7ff00, + 191: 0xd7ff5f, + 192: 0xd7ff87, + 193: 0xd7ffaf, + 194: 0xd7ffd7, + 195: 0xd7ffff, + 196: 0xff0000, + 197: 0xff005f, + 198: 0xff0087, + 199: 0xff00af, + 200: 0xff00d7, + 201: 0xff00ff, + 202: 0xff5f00, + 203: 0xff5f5f, + 204: 0xff5f87, + 205: 0xff5faf, + 206: 0xff5fd7, + 207: 0xff5fff, + 208: 0xff8700, + 209: 0xff875f, + 210: 0xff8787, + 211: 0xff87af, + 212: 0xff87d7, + 213: 0xff87ff, + 214: 0xffaf00, + 215: 0xffaf5f, + 216: 0xffaf87, + 217: 0xffafaf, + 218: 0xffafd7, + 219: 0xffafff, + 220: 0xffd700, + 221: 0xffd75f, + 222: 0xffd787, + 223: 0xffd7af, + 224: 0xffd7d7, + 225: 0xffd7ff, + 226: 0xffff00, + 227: 0xffff5f, + 228: 0xffff87, + 229: 0xffffaf, + 230: 0xffffd7, + 231: 0xffffff, + 232: 0x080808, + 233: 0x121212, + 234: 0x1c1c1c, + 235: 0x262626, + 236: 0x303030, + 237: 0x3a3a3a, + 238: 0x444444, + 239: 0x4e4e4e, + 240: 0x585858, + 241: 0x626262, + 242: 0x6c6c6c, + 243: 0x767676, + 244: 0x808080, + 245: 0x8a8a8a, + 246: 0x949494, + 247: 0x9e9e9e, + 248: 0xa8a8a8, + 249: 0xb2b2b2, + 250: 0xbcbcbc, + 251: 0xc6c6c6, + 252: 0xd0d0d0, + 253: 0xdadada, + 254: 0xe4e4e4, + 255: 0xeeeeee, +} + +func (w *Writer) Write(data []byte) (n int, err error) { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + + er := bytes.NewBuffer(data) +loop: + for { + r1, _, err := procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + if r1 == 0 { + break loop + } + + c1, _, err := er.ReadRune() + if err != nil { + break loop + } + if c1 != 0x1b { + fmt.Fprint(w.out, string(c1)) + continue + } + c2, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + break loop + } + if c2 != 0x5b { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + continue + } + + var buf bytes.Buffer + var m rune + for { + c, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + w.lastbuf.Write(buf.Bytes()) + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + m = c + break + } + buf.Write([]byte(string(c))) + } + + var csbi consoleScreenBufferInfo + switch m { + case 'A': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'B': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'C': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'D': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + if n, err = strconv.Atoi(buf.String()); err == nil { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + } + case 'E': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'F': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'G': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H': + token := strings.Split(buf.String(), ";") + if len(token) != 2 { + continue + } + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + n2, err := strconv.Atoi(token[1]) + if err != nil { + continue + } + csbi.cursorPosition.x = short(n2) + csbi.cursorPosition.x = short(n1) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'J': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'K': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'm': + attr := csbi.attributes + cs := buf.String() + if cs == "" { + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr)) + continue + } + token := strings.Split(cs, ";") + for i := 0; i < len(token); i += 1 { + ns := token[i] + if n, err = strconv.Atoi(ns); err == nil { + switch { + case n == 0 || n == 100: + attr = w.oldattr + case 1 <= n && n <= 5: + attr |= foregroundIntensity + case n == 7: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 22 == n || n == 25 || n == 25: + attr |= foregroundIntensity + case n == 27: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 30 <= n && n <= 37: + attr = (attr & backgroundMask) + if (n-30)&1 != 0 { + attr |= foregroundRed + } + if (n-30)&2 != 0 { + attr |= foregroundGreen + } + if (n-30)&4 != 0 { + attr |= foregroundBlue + } + case n == 38: // set foreground color. + if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256foreAttr == nil { + n256setup() + } + attr &= backgroundMask + attr |= n256foreAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & backgroundMask) + } + case n == 39: // reset foreground color. + attr &= backgroundMask + attr |= w.oldattr & foregroundMask + case 40 <= n && n <= 47: + attr = (attr & foregroundMask) + if (n-40)&1 != 0 { + attr |= backgroundRed + } + if (n-40)&2 != 0 { + attr |= backgroundGreen + } + if (n-40)&4 != 0 { + attr |= backgroundBlue + } + case n == 48: // set background color. + if i < len(token)-2 && token[i+1] == "5" { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256backAttr == nil { + n256setup() + } + attr &= foregroundMask + attr |= n256backAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & foregroundMask) + } + case n == 49: // reset foreground color. + attr &= foregroundMask + attr |= w.oldattr & backgroundMask + case 90 <= n && n <= 97: + attr = (attr & backgroundMask) + attr |= foregroundIntensity + if (n-90)&1 != 0 { + attr |= foregroundRed + } + if (n-90)&2 != 0 { + attr |= foregroundGreen + } + if (n-90)&4 != 0 { + attr |= foregroundBlue + } + case 100 <= n && n <= 107: + attr = (attr & foregroundMask) + attr |= backgroundIntensity + if (n-100)&1 != 0 { + attr |= backgroundRed + } + if (n-100)&2 != 0 { + attr |= backgroundGreen + } + if (n-100)&4 != 0 { + attr |= backgroundBlue + } + } + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr)) + } + } + } + } + return len(data) - w.lastbuf.Len(), nil +} + +type consoleColor struct { + rgb int + red bool + green bool + blue bool + intensity bool +} + +func (c consoleColor) foregroundAttr() (attr word) { + if c.red { + attr |= foregroundRed + } + if c.green { + attr |= foregroundGreen + } + if c.blue { + attr |= foregroundBlue + } + if c.intensity { + attr |= foregroundIntensity + } + return +} + +func (c consoleColor) backgroundAttr() (attr word) { + if c.red { + attr |= backgroundRed + } + if c.green { + attr |= backgroundGreen + } + if c.blue { + attr |= backgroundBlue + } + if c.intensity { + attr |= backgroundIntensity + } + return +} + +var color16 = []consoleColor{ + consoleColor{0x000000, false, false, false, false}, + consoleColor{0x000080, false, false, true, false}, + consoleColor{0x008000, false, true, false, false}, + consoleColor{0x008080, false, true, true, false}, + consoleColor{0x800000, true, false, false, false}, + consoleColor{0x800080, true, false, true, false}, + consoleColor{0x808000, true, true, false, false}, + consoleColor{0xc0c0c0, true, true, true, false}, + consoleColor{0x808080, false, false, false, true}, + consoleColor{0x0000ff, false, false, true, true}, + consoleColor{0x00ff00, false, true, false, true}, + consoleColor{0x00ffff, false, true, true, true}, + consoleColor{0xff0000, true, false, false, true}, + consoleColor{0xff00ff, true, false, true, true}, + consoleColor{0xffff00, true, true, false, true}, + consoleColor{0xffffff, true, true, true, true}, +} + +type hsv struct { + h, s, v float32 +} + +func (a hsv) dist(b hsv) float32 { + dh := a.h - b.h + switch { + case dh > 0.5: + dh = 1 - dh + case dh < -0.5: + dh = -1 - dh + } + ds := a.s - b.s + dv := a.v - b.v + return float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv))) +} + +func toHSV(rgb int) hsv { + r, g, b := float32((rgb&0xFF0000)>>16)/256.0, + float32((rgb&0x00FF00)>>8)/256.0, + float32(rgb&0x0000FF)/256.0 + min, max := minmax3f(r, g, b) + h := max - min + if h > 0 { + if max == r { + h = (g - b) / h + if h < 0 { + h += 6 + } + } else if max == g { + h = 2 + (b-r)/h + } else { + h = 4 + (r-g)/h + } + } + h /= 6.0 + s := max - min + if max != 0 { + s /= max + } + v := max + return hsv{h: h, s: s, v: v} +} + +type hsvTable []hsv + +func toHSVTable(rgbTable []consoleColor) hsvTable { + t := make(hsvTable, len(rgbTable)) + for i, c := range rgbTable { + t[i] = toHSV(c.rgb) + } + return t +} + +func (t hsvTable) find(rgb int) consoleColor { + hsv := toHSV(rgb) + n := 7 + l := float32(5.0) + for i, p := range t { + d := hsv.dist(p) + if d < l { + l, n = d, i + } + } + return color16[n] +} + +func minmax3f(a, b, c float32) (min, max float32) { + if a < b { + if b < c { + return a, c + } else if a < c { + return a, b + } else { + return c, b + } + } else { + if a < c { + return b, c + } else if b < c { + return b, a + } else { + return c, a + } + } +} + +var n256foreAttr []word +var n256backAttr []word + +func n256setup() { + n256foreAttr = make([]word, 256) + n256backAttr = make([]word, 256) + t := toHSVTable(color16) + for i, rgb := range color256 { + c := t.find(rgb) + n256foreAttr[i] = c.foregroundAttr() + n256backAttr[i] = c.backgroundAttr() + } +} diff --git a/vendor/github.com/mattn/go-isatty/doc.go b/vendor/github.com/mattn/go-isatty/doc.go new file mode 100644 index 0000000..17d4f90 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/doc.go @@ -0,0 +1,2 @@ +// Package isatty implements interface to isatty +package isatty diff --git a/vendor/github.com/mattn/go-isatty/isatty_appengine.go b/vendor/github.com/mattn/go-isatty/isatty_appengine.go new file mode 100644 index 0000000..83c5887 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_appengine.go @@ -0,0 +1,9 @@ +// +build appengine + +package isatty + +// IsTerminal returns true if the file descriptor is terminal which +// is always false on on appengine classic which is a sandboxed PaaS. +func IsTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go new file mode 100644 index 0000000..98ffe86 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go @@ -0,0 +1,18 @@ +// +build darwin freebsd openbsd netbsd +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TIOCGETA + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux.go b/vendor/github.com/mattn/go-isatty/isatty_linux.go new file mode 100644 index 0000000..9d24bac --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_linux.go @@ -0,0 +1,18 @@ +// +build linux +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go new file mode 100644 index 0000000..1f0c6bf --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_solaris.go @@ -0,0 +1,16 @@ +// +build solaris +// +build !appengine + +package isatty + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c +func IsTerminal(fd uintptr) bool { + var termio unix.Termio + err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) + return err == nil +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go new file mode 100644 index 0000000..83c398b --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_windows.go @@ -0,0 +1,19 @@ +// +build windows +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +var kernel32 = syscall.NewLazyDLL("kernel32.dll") +var procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/LICENSE b/vendor/github.com/nicksnyder/go-i18n/i18n/LICENSE new file mode 100644 index 0000000..609cce7 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Nick Snyder https://github.com/nicksnyder + +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/nicksnyder/go-i18n/i18n/bundle/LICENSE b/vendor/github.com/nicksnyder/go-i18n/i18n/bundle/LICENSE new file mode 100644 index 0000000..609cce7 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/bundle/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Nick Snyder https://github.com/nicksnyder + +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/nicksnyder/go-i18n/i18n/bundle/bundle.go b/vendor/github.com/nicksnyder/go-i18n/i18n/bundle/bundle.go new file mode 100644 index 0000000..e93db95 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/bundle/bundle.go @@ -0,0 +1,315 @@ +// Package bundle manages translations for multiple languages. +package bundle + +import ( + "encoding/json" + "fmt" + "gopkg.in/yaml.v2" + "io/ioutil" + "reflect" + + "path/filepath" + + "github.com/nicksnyder/go-i18n/i18n/language" + "github.com/nicksnyder/go-i18n/i18n/translation" +) + +// TranslateFunc is a copy of i18n.TranslateFunc to avoid a circular dependency. +type TranslateFunc func(translationID string, args ...interface{}) string + +// Bundle stores the translations for multiple languages. +type Bundle struct { + // The primary translations for a language tag and translation id. + translations map[string]map[string]translation.Translation + + // Translations that can be used when an exact language match is not possible. + fallbackTranslations map[string]map[string]translation.Translation +} + +// New returns an empty bundle. +func New() *Bundle { + return &Bundle{ + translations: make(map[string]map[string]translation.Translation), + fallbackTranslations: make(map[string]map[string]translation.Translation), + } +} + +// MustLoadTranslationFile is similar to LoadTranslationFile +// except it panics if an error happens. +func (b *Bundle) MustLoadTranslationFile(filename string) { + if err := b.LoadTranslationFile(filename); err != nil { + panic(err) + } +} + +// LoadTranslationFile loads the translations from filename into memory. +// +// The language that the translations are associated with is parsed from the filename (e.g. en-US.json). +// +// Generally you should load translation files once during your program's initialization. +func (b *Bundle) LoadTranslationFile(filename string) error { + buf, err := ioutil.ReadFile(filename) + if err != nil { + return err + } + return b.ParseTranslationFileBytes(filename, buf) +} + +// ParseTranslationFileBytes is similar to LoadTranslationFile except it parses the bytes in buf. +// +// It is useful for parsing translation files embedded with go-bindata. +func (b *Bundle) ParseTranslationFileBytes(filename string, buf []byte) error { + basename := filepath.Base(filename) + langs := language.Parse(basename) + switch l := len(langs); { + case l == 0: + return fmt.Errorf("no language found in %q", basename) + case l > 1: + return fmt.Errorf("multiple languages found in filename %q: %v; expected one", basename, langs) + } + translations, err := parseTranslations(filename, buf) + if err != nil { + return err + } + b.AddTranslation(langs[0], translations...) + return nil +} + +func parseTranslations(filename string, buf []byte) ([]translation.Translation, error) { + var unmarshalFunc func([]byte, interface{}) error + switch format := filepath.Ext(filename); format { + case ".json": + unmarshalFunc = json.Unmarshal + case ".yaml": + unmarshalFunc = yaml.Unmarshal + default: + return nil, fmt.Errorf("unsupported file extension %s", format) + } + + var translationsData []map[string]interface{} + if len(buf) > 0 { + if err := unmarshalFunc(buf, &translationsData); err != nil { + return nil, err + } + } + + translations := make([]translation.Translation, 0, len(translationsData)) + for i, translationData := range translationsData { + t, err := translation.NewTranslation(translationData) + if err != nil { + return nil, fmt.Errorf("unable to parse translation #%d in %s because %s\n%v", i, filename, err, translationData) + } + translations = append(translations, t) + } + return translations, nil +} + +// AddTranslation adds translations for a language. +// +// It is useful if your translations are in a format not supported by LoadTranslationFile. +func (b *Bundle) AddTranslation(lang *language.Language, translations ...translation.Translation) { + if b.translations[lang.Tag] == nil { + b.translations[lang.Tag] = make(map[string]translation.Translation, len(translations)) + } + currentTranslations := b.translations[lang.Tag] + for _, newTranslation := range translations { + if currentTranslation := currentTranslations[newTranslation.ID()]; currentTranslation != nil { + currentTranslations[newTranslation.ID()] = currentTranslation.Merge(newTranslation) + } else { + currentTranslations[newTranslation.ID()] = newTranslation + } + } + + // lang can provide translations for less specific language tags. + for _, tag := range lang.MatchingTags() { + b.fallbackTranslations[tag] = currentTranslations + } +} + +// Translations returns all translations in the bundle. +func (b *Bundle) Translations() map[string]map[string]translation.Translation { + return b.translations +} + +// LanguageTags returns the tags of all languages that that have been added. +func (b *Bundle) LanguageTags() []string { + var tags []string + for k := range b.translations { + tags = append(tags, k) + } + return tags +} + +// LanguageTranslationIDs returns the ids of all translations that have been added for a given language. +func (b *Bundle) LanguageTranslationIDs(languageTag string) []string { + var ids []string + for id := range b.translations[languageTag] { + ids = append(ids, id) + } + return ids +} + +// MustTfunc is similar to Tfunc except it panics if an error happens. +func (b *Bundle) MustTfunc(pref string, prefs ...string) TranslateFunc { + tfunc, err := b.Tfunc(pref, prefs...) + if err != nil { + panic(err) + } + return tfunc +} + +// MustTfuncAndLanguage is similar to TfuncAndLanguage except it panics if an error happens. +func (b *Bundle) MustTfuncAndLanguage(pref string, prefs ...string) (TranslateFunc, *language.Language) { + tfunc, language, err := b.TfuncAndLanguage(pref, prefs...) + if err != nil { + panic(err) + } + return tfunc, language +} + +// Tfunc is similar to TfuncAndLanguage except is doesn't return the Language. +func (b *Bundle) Tfunc(pref string, prefs ...string) (TranslateFunc, error) { + tfunc, _, err := b.TfuncAndLanguage(pref, prefs...) + return tfunc, err +} + +// TfuncAndLanguage returns a TranslateFunc for the first Language that +// has a non-zero number of translations in the bundle. +// +// The returned Language matches the the first language preference that could be satisfied, +// but this may not strictly match the language of the translations used to satisfy that preference. +// +// For example, the user may request "zh". If there are no translations for "zh" but there are translations +// for "zh-cn", then the translations for "zh-cn" will be used but the returned Language will be "zh". +// +// It can parse languages from Accept-Language headers (RFC 2616), +// but it assumes weights are monotonically decreasing. +func (b *Bundle) TfuncAndLanguage(pref string, prefs ...string) (TranslateFunc, *language.Language, error) { + lang := b.supportedLanguage(pref, prefs...) + var err error + if lang == nil { + err = fmt.Errorf("no supported languages found %#v", append(prefs, pref)) + } + return func(translationID string, args ...interface{}) string { + return b.translate(lang, translationID, args...) + }, lang, err +} + +// supportedLanguage returns the first language which +// has a non-zero number of translations in the bundle. +func (b *Bundle) supportedLanguage(pref string, prefs ...string) *language.Language { + lang := b.translatedLanguage(pref) + if lang == nil { + for _, pref := range prefs { + lang = b.translatedLanguage(pref) + if lang != nil { + break + } + } + } + return lang +} + +func (b *Bundle) translatedLanguage(src string) *language.Language { + langs := language.Parse(src) + for _, lang := range langs { + if len(b.translations[lang.Tag]) > 0 || + len(b.fallbackTranslations[lang.Tag]) > 0 { + return lang + } + } + return nil +} + +func (b *Bundle) translate(lang *language.Language, translationID string, args ...interface{}) string { + if lang == nil { + return translationID + } + + translations := b.translations[lang.Tag] + if translations == nil { + translations = b.fallbackTranslations[lang.Tag] + if translations == nil { + return translationID + } + } + + translation := translations[translationID] + if translation == nil { + return translationID + } + + var data interface{} + var count interface{} + if argc := len(args); argc > 0 { + if isNumber(args[0]) { + count = args[0] + if argc > 1 { + data = args[1] + } + } else { + data = args[0] + } + } + + if count != nil { + if data == nil { + data = map[string]interface{}{"Count": count} + } else { + dataMap := toMap(data) + dataMap["Count"] = count + data = dataMap + } + } + + p, _ := lang.Plural(count) + template := translation.Template(p) + if template == nil { + return translationID + } + + s := template.Execute(data) + if s == "" { + return translationID + } + return s +} + +func isNumber(n interface{}) bool { + switch n.(type) { + case int, int8, int16, int32, int64, string: + return true + } + return false +} + +func toMap(input interface{}) map[string]interface{} { + if data, ok := input.(map[string]interface{}); ok { + return data + } + v := reflect.ValueOf(input) + switch v.Kind() { + case reflect.Ptr: + return toMap(v.Elem().Interface()) + case reflect.Struct: + return structToMap(v) + default: + return nil + } +} + +// Converts the top level of a struct to a map[string]interface{}. +// Code inspired by github.com/fatih/structs. +func structToMap(v reflect.Value) map[string]interface{} { + out := make(map[string]interface{}) + t := v.Type() + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + if field.PkgPath != "" { + // unexported field. skip. + continue + } + out[field.Name] = v.FieldByName(field.Name).Interface() + } + return out +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/i18n.go b/vendor/github.com/nicksnyder/go-i18n/i18n/i18n.go new file mode 100644 index 0000000..f968429 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/i18n.go @@ -0,0 +1,152 @@ +// Package i18n supports string translations with variable substitution and CLDR pluralization. +// It is intended to be used in conjunction with the goi18n command, although that is not strictly required. +// +// Initialization +// +// Your Go program should load translations during its initialization. +// i18n.MustLoadTranslationFile("path/to/fr-FR.all.json") +// If your translations are in a file format not supported by (Must)?LoadTranslationFile, +// then you can use the AddTranslation function to manually add translations. +// +// Fetching a translation +// +// Use Tfunc or MustTfunc to fetch a TranslateFunc that will return the translated string for a specific language. +// func handleRequest(w http.ResponseWriter, r *http.Request) { +// cookieLang := r.Cookie("lang") +// acceptLang := r.Header.Get("Accept-Language") +// defaultLang = "en-US" // known valid language +// T, err := i18n.Tfunc(cookieLang, acceptLang, defaultLang) +// fmt.Println(T("Hello world")) +// } +// +// Usually it is a good idea to identify strings by a generic id rather than the English translation, +// but the rest of this documentation will continue to use the English translation for readability. +// T("Hello world") // ok +// T("programGreeting") // better! +// +// Variables +// +// TranslateFunc supports strings that have variables using the text/template syntax. +// T("Hello {{.Person}}", map[string]interface{}{ +// "Person": "Bob", +// }) +// +// Pluralization +// +// TranslateFunc supports the pluralization of strings using the CLDR pluralization rules defined here: +// http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html +// T("You have {{.Count}} unread emails.", 2) +// T("I am {{.Count}} meters tall.", "1.7") +// +// Plural strings may also have variables. +// T("{{.Person}} has {{.Count}} unread emails", 2, map[string]interface{}{ +// "Person": "Bob", +// }) +// +// Sentences with multiple plural components can be supported with nesting. +// T("{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}.", 3, map[string]interface{}{ +// "Person": "Bob", +// "Timeframe": T("{{.Count}} days", 2), +// }) +// +// Templates +// +// You can use the .Funcs() method of a text/template or html/template to register a TranslateFunc +// for usage inside of that template. +package i18n + +import ( + "github.com/nicksnyder/go-i18n/i18n/bundle" + "github.com/nicksnyder/go-i18n/i18n/language" + "github.com/nicksnyder/go-i18n/i18n/translation" +) + +// TranslateFunc returns the translation of the string identified by translationID. +// +// If there is no translation for translationID, then the translationID itself is returned. +// This makes it easy to identify missing translations in your app. +// +// If translationID is a non-plural form, then the first variadic argument may be a map[string]interface{} +// or struct that contains template data. +// +// If translationID is a plural form, then the first variadic argument must be an integer type +// (int, int8, int16, int32, int64) or a float formatted as a string (e.g. "123.45"). +// The second variadic argument may be a map[string]interface{} or struct that contains template data. +type TranslateFunc func(translationID string, args ...interface{}) string + +// IdentityTfunc returns a TranslateFunc that always returns the translationID passed to it. +// +// It is a useful placeholder when parsing a text/template or html/template +// before the actual Tfunc is available. +func IdentityTfunc() TranslateFunc { + return func(translationID string, args ...interface{}) string { + return translationID + } +} + +var defaultBundle = bundle.New() + +// MustLoadTranslationFile is similar to LoadTranslationFile +// except it panics if an error happens. +func MustLoadTranslationFile(filename string) { + defaultBundle.MustLoadTranslationFile(filename) +} + +// LoadTranslationFile loads the translations from filename into memory. +// +// The language that the translations are associated with is parsed from the filename (e.g. en-US.json). +// +// Generally you should load translation files once during your program's initialization. +func LoadTranslationFile(filename string) error { + return defaultBundle.LoadTranslationFile(filename) +} + +// ParseTranslationFileBytes is similar to LoadTranslationFile except it parses the bytes in buf. +// +// It is useful for parsing translation files embedded with go-bindata. +func ParseTranslationFileBytes(filename string, buf []byte) error { + return defaultBundle.ParseTranslationFileBytes(filename, buf) +} + +// AddTranslation adds translations for a language. +// +// It is useful if your translations are in a format not supported by LoadTranslationFile. +func AddTranslation(lang *language.Language, translations ...translation.Translation) { + defaultBundle.AddTranslation(lang, translations...) +} + +// LanguageTags returns the tags of all languages that have been added. +func LanguageTags() []string { + return defaultBundle.LanguageTags() +} + +// LanguageTranslationIDs returns the ids of all translations that have been added for a given language. +func LanguageTranslationIDs(languageTag string) []string { + return defaultBundle.LanguageTranslationIDs(languageTag) +} + +// MustTfunc is similar to Tfunc except it panics if an error happens. +func MustTfunc(languageSource string, languageSources ...string) TranslateFunc { + return TranslateFunc(defaultBundle.MustTfunc(languageSource, languageSources...)) +} + +// Tfunc returns a TranslateFunc that will be bound to the first language which +// has a non-zero number of translations. +// +// It can parse languages from Accept-Language headers (RFC 2616). +func Tfunc(languageSource string, languageSources ...string) (TranslateFunc, error) { + tfunc, err := defaultBundle.Tfunc(languageSource, languageSources...) + return TranslateFunc(tfunc), err +} + +// MustTfuncAndLanguage is similar to TfuncAndLanguage except it panics if an error happens. +func MustTfuncAndLanguage(languageSource string, languageSources ...string) (TranslateFunc, *language.Language) { + tfunc, lang := defaultBundle.MustTfuncAndLanguage(languageSource, languageSources...) + return TranslateFunc(tfunc), lang +} + +// TfuncAndLanguage is similar to Tfunc except it also returns the language which TranslateFunc is bound to. +func TfuncAndLanguage(languageSource string, languageSources ...string) (TranslateFunc, *language.Language, error) { + tfunc, lang, err := defaultBundle.TfuncAndLanguage(languageSource, languageSources...) + return TranslateFunc(tfunc), lang, err +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/LICENSE b/vendor/github.com/nicksnyder/go-i18n/i18n/language/LICENSE new file mode 100644 index 0000000..609cce7 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Nick Snyder https://github.com/nicksnyder + +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/nicksnyder/go-i18n/i18n/language/language.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/language.go new file mode 100644 index 0000000..9a155ef --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/language.go @@ -0,0 +1,99 @@ +// Package language defines languages that implement CLDR pluralization. +package language + +import ( + "fmt" + "strings" +) + +// Language is a written human language. +type Language struct { + // Tag uniquely identifies the language as defined by RFC 5646. + // + // Most language tags are a two character language code (ISO 639-1) + // optionally followed by a dash and a two character country code (ISO 3166-1). + // (e.g. en, pt-br) + Tag string + *PluralSpec +} + +func (l *Language) String() string { + return l.Tag +} + +// MatchingTags returns the set of language tags that map to this Language. +// e.g. "zh-hans-cn" yields {"zh", "zh-hans", "zh-hans-cn"} +// BUG: This should be computed once and stored as a field on Language for efficiency, +// but this would require changing how Languages are constructed. +func (l *Language) MatchingTags() []string { + parts := strings.Split(l.Tag, "-") + var prefix, matches []string + for _, part := range parts { + prefix = append(prefix, part) + match := strings.Join(prefix, "-") + matches = append(matches, match) + } + return matches +} + +// Parse returns a slice of supported languages found in src or nil if none are found. +// It can parse language tags and Accept-Language headers. +func Parse(src string) []*Language { + var langs []*Language + start := 0 + for end, chr := range src { + switch chr { + case ',', ';', '.': + tag := strings.TrimSpace(src[start:end]) + if spec := getPluralSpec(tag); spec != nil { + langs = append(langs, &Language{NormalizeTag(tag), spec}) + } + start = end + 1 + } + } + if start > 0 { + tag := strings.TrimSpace(src[start:]) + if spec := getPluralSpec(tag); spec != nil { + langs = append(langs, &Language{NormalizeTag(tag), spec}) + } + return dedupe(langs) + } + if spec := getPluralSpec(src); spec != nil { + langs = append(langs, &Language{NormalizeTag(src), spec}) + } + return langs +} + +func dedupe(langs []*Language) []*Language { + found := make(map[string]struct{}, len(langs)) + deduped := make([]*Language, 0, len(langs)) + for _, lang := range langs { + if _, ok := found[lang.Tag]; !ok { + found[lang.Tag] = struct{}{} + deduped = append(deduped, lang) + } + } + return deduped +} + +// MustParse is similar to Parse except it panics instead of retuning a nil Language. +func MustParse(src string) []*Language { + langs := Parse(src) + if len(langs) == 0 { + panic(fmt.Errorf("unable to parse language from %q", src)) + } + return langs +} + +// Add adds support for a new language. +func Add(l *Language) { + tag := NormalizeTag(l.Tag) + pluralSpecs[tag] = l.PluralSpec +} + +// NormalizeTag returns a language tag with all lower-case characters +// and dashes "-" instead of underscores "_" +func NormalizeTag(tag string) string { + tag = strings.ToLower(tag) + return strings.Replace(tag, "_", "-", -1) +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go new file mode 100644 index 0000000..877bcc8 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go @@ -0,0 +1,119 @@ +package language + +import ( + "fmt" + "strconv" + "strings" +) + +// http://unicode.org/reports/tr35/tr35-numbers.html#Operands +type operands struct { + N float64 // absolute value of the source number (integer and decimals) + I int64 // integer digits of n + V int64 // number of visible fraction digits in n, with trailing zeros + W int64 // number of visible fraction digits in n, without trailing zeros + F int64 // visible fractional digits in n, with trailing zeros + T int64 // visible fractional digits in n, without trailing zeros +} + +// NmodEqualAny returns true if o represents an integer equal to any of the arguments. +func (o *operands) NequalsAny(any ...int64) bool { + for _, i := range any { + if o.I == i && o.T == 0 { + return true + } + } + return false +} + +// NmodEqualAny returns true if o represents an integer equal to any of the arguments modulo mod. +func (o *operands) NmodEqualsAny(mod int64, any ...int64) bool { + modI := o.I % mod + for _, i := range any { + if modI == i && o.T == 0 { + return true + } + } + return false +} + +// NmodInRange returns true if o represents an integer in the closed interval [from, to]. +func (o *operands) NinRange(from, to int64) bool { + return o.T == 0 && from <= o.I && o.I <= to +} + +// NmodInRange returns true if o represents an integer in the closed interval [from, to] modulo mod. +func (o *operands) NmodInRange(mod, from, to int64) bool { + modI := o.I % mod + return o.T == 0 && from <= modI && modI <= to +} + +func newOperands(v interface{}) (*operands, error) { + switch v := v.(type) { + case int: + return newOperandsInt64(int64(v)), nil + case int8: + return newOperandsInt64(int64(v)), nil + case int16: + return newOperandsInt64(int64(v)), nil + case int32: + return newOperandsInt64(int64(v)), nil + case int64: + return newOperandsInt64(v), nil + case string: + return newOperandsString(v) + case float32, float64: + return nil, fmt.Errorf("floats should be formatted into a string") + default: + return nil, fmt.Errorf("invalid type %T; expected integer or string", v) + } +} + +func newOperandsInt64(i int64) *operands { + if i < 0 { + i = -i + } + return &operands{float64(i), i, 0, 0, 0, 0} +} + +func newOperandsString(s string) (*operands, error) { + if s[0] == '-' { + s = s[1:] + } + n, err := strconv.ParseFloat(s, 64) + if err != nil { + return nil, err + } + ops := &operands{N: n} + parts := strings.SplitN(s, ".", 2) + ops.I, err = strconv.ParseInt(parts[0], 10, 64) + if err != nil { + return nil, err + } + if len(parts) == 1 { + return ops, nil + } + fraction := parts[1] + ops.V = int64(len(fraction)) + for i := ops.V - 1; i >= 0; i-- { + if fraction[i] != '0' { + ops.W = i + 1 + break + } + } + if ops.V > 0 { + f, err := strconv.ParseInt(fraction, 10, 0) + if err != nil { + return nil, err + } + ops.F = f + } + if ops.W > 0 { + t, err := strconv.ParseInt(fraction[:ops.W], 10, 0) + if err != nil { + return nil, err + } + ops.T = t + } + return ops, nil +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/plural.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/plural.go new file mode 100644 index 0000000..1f3ea5c --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/plural.go @@ -0,0 +1,40 @@ +package language + +import ( + "fmt" +) + +// Plural represents a language pluralization form as defined here: +// http://cldr.unicode.org/index/cldr-spec/plural-rules +type Plural string + +// All defined plural categories. +const ( + Invalid Plural = "invalid" + Zero = "zero" + One = "one" + Two = "two" + Few = "few" + Many = "many" + Other = "other" +) + +// NewPlural returns src as a Plural +// or Invalid and a non-nil error if src is not a valid Plural. +func NewPlural(src string) (Plural, error) { + switch src { + case "zero": + return Zero, nil + case "one": + return One, nil + case "two": + return Two, nil + case "few": + return Few, nil + case "many": + return Many, nil + case "other": + return Other, nil + } + return Invalid, fmt.Errorf("invalid plural category %s", src) +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go new file mode 100644 index 0000000..fc35226 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go @@ -0,0 +1,74 @@ +package language + +import "strings" + +// PluralSpec defines the CLDR plural rules for a language. +// http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html +// http://unicode.org/reports/tr35/tr35-numbers.html#Operands +type PluralSpec struct { + Plurals map[Plural]struct{} + PluralFunc func(*operands) Plural +} + +var pluralSpecs = make(map[string]*PluralSpec) + +func normalizePluralSpecID(id string) string { + id = strings.Replace(id, "_", "-", -1) + id = strings.ToLower(id) + return id +} + +func registerPluralSpec(ids []string, ps *PluralSpec) { + for _, id := range ids { + id = normalizePluralSpecID(id) + pluralSpecs[id] = ps + } +} + +// Plural returns the plural category for number as defined by +// the language's CLDR plural rules. +func (ps *PluralSpec) Plural(number interface{}) (Plural, error) { + ops, err := newOperands(number) + if err != nil { + return Invalid, err + } + return ps.PluralFunc(ops), nil +} + +// getPluralSpec returns the PluralSpec that matches the longest prefix of tag. +// It returns nil if no PluralSpec matches tag. +func getPluralSpec(tag string) *PluralSpec { + tag = NormalizeTag(tag) + subtag := tag + for { + if spec := pluralSpecs[subtag]; spec != nil { + return spec + } + end := strings.LastIndex(subtag, "-") + if end == -1 { + return nil + } + subtag = subtag[:end] + } +} + +func newPluralSet(plurals ...Plural) map[Plural]struct{} { + set := make(map[Plural]struct{}, len(plurals)) + for _, plural := range plurals { + set[plural] = struct{}{} + } + return set +} + +func intInRange(i, from, to int64) bool { + return from <= i && i <= to +} + +func intEqualsAny(i int64, any ...int64) bool { + for _, a := range any { + if i == a { + return true + } + } + return false +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go new file mode 100644 index 0000000..c9b4f26 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go @@ -0,0 +1,567 @@ +package language + +// This file is generated by i18n/language/codegen/generate.sh + +func init() { + + registerPluralSpec([]string{"bm", "bo", "dz", "id", "ig", "ii", "in", "ja", "jbo", "jv", "jw", "kde", "kea", "km", "ko", "lkt", "lo", "ms", "my", "nqo", "root", "sah", "ses", "sg", "th", "to", "vi", "wo", "yo", "zh"}, &PluralSpec{ + Plurals: newPluralSet(Other), + PluralFunc: func(ops *operands) Plural { + return Other + }, + }) + registerPluralSpec([]string{"am", "as", "bn", "fa", "gu", "hi", "kn", "mr", "zu"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // i = 0 or n = 1 + if intEqualsAny(ops.I, 0) || + ops.NequalsAny(1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"ff", "fr", "hy", "kab"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // i = 0,1 + if intEqualsAny(ops.I, 0, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"ast", "ca", "de", "en", "et", "fi", "fy", "gl", "it", "ji", "nl", "sv", "sw", "ur", "yi"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // i = 1 and v = 0 + if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"si"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0,1 or i = 0 and f = 1 + if ops.NequalsAny(0, 1) || + intEqualsAny(ops.I, 0) && intEqualsAny(ops.F, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"ak", "bh", "guw", "ln", "mg", "nso", "pa", "ti", "wa"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0..1 + if ops.NinRange(0, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"tzm"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0..1 or n = 11..99 + if ops.NinRange(0, 1) || + ops.NinRange(11, 99) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"pt"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0..2 and n != 2 + if ops.NinRange(0, 2) && !ops.NequalsAny(2) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"af", "asa", "az", "bem", "bez", "bg", "brx", "ce", "cgg", "chr", "ckb", "dv", "ee", "el", "eo", "es", "eu", "fo", "fur", "gsw", "ha", "haw", "hu", "jgo", "jmc", "ka", "kaj", "kcg", "kk", "kkj", "kl", "ks", "ksb", "ku", "ky", "lb", "lg", "mas", "mgo", "ml", "mn", "nah", "nb", "nd", "ne", "nn", "nnh", "no", "nr", "ny", "nyn", "om", "or", "os", "pap", "ps", "rm", "rof", "rwk", "saq", "sdh", "seh", "sn", "so", "sq", "ss", "ssy", "st", "syr", "ta", "te", "teo", "tig", "tk", "tn", "tr", "ts", "ug", "uz", "ve", "vo", "vun", "wae", "xh", "xog"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 + if ops.NequalsAny(1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"pt_PT"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 and v = 0 + if ops.NequalsAny(1) && intEqualsAny(ops.V, 0) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"da"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 or t != 0 and i = 0,1 + if ops.NequalsAny(1) || + !intEqualsAny(ops.T, 0) && intEqualsAny(ops.I, 0, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"is"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0 + if intEqualsAny(ops.T, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) || + !intEqualsAny(ops.T, 0) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"mk"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 10 = 1 or f % 10 = 1 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) || + intEqualsAny(ops.F%10, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"fil", "tl"}, &PluralSpec{ + Plurals: newPluralSet(One, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I, 1, 2, 3) || + intEqualsAny(ops.V, 0) && !intEqualsAny(ops.I%10, 4, 6, 9) || + !intEqualsAny(ops.V, 0) && !intEqualsAny(ops.F%10, 4, 6, 9) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"lv", "prg"}, &PluralSpec{ + Plurals: newPluralSet(Zero, One, Other), + PluralFunc: func(ops *operands) Plural { + // n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19 + if ops.NmodEqualsAny(10, 0) || + ops.NmodInRange(100, 11, 19) || + intEqualsAny(ops.V, 2) && intInRange(ops.F%100, 11, 19) { + return Zero + } + // n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1 + if ops.NmodEqualsAny(10, 1) && !ops.NmodEqualsAny(100, 11) || + intEqualsAny(ops.V, 2) && intEqualsAny(ops.F%10, 1) && !intEqualsAny(ops.F%100, 11) || + !intEqualsAny(ops.V, 2) && intEqualsAny(ops.F%10, 1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"lag"}, &PluralSpec{ + Plurals: newPluralSet(Zero, One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0 + if ops.NequalsAny(0) { + return Zero + } + // i = 0,1 and n != 0 + if intEqualsAny(ops.I, 0, 1) && !ops.NequalsAny(0) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"ksh"}, &PluralSpec{ + Plurals: newPluralSet(Zero, One, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0 + if ops.NequalsAny(0) { + return Zero + } + // n = 1 + if ops.NequalsAny(1) { + return One + } + return Other + }, + }) + registerPluralSpec([]string{"iu", "kw", "naq", "se", "sma", "smi", "smj", "smn", "sms"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 + if ops.NequalsAny(1) { + return One + } + // n = 2 + if ops.NequalsAny(2) { + return Two + } + return Other + }, + }) + registerPluralSpec([]string{"shi"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Other), + PluralFunc: func(ops *operands) Plural { + // i = 0 or n = 1 + if intEqualsAny(ops.I, 0) || + ops.NequalsAny(1) { + return One + } + // n = 2..10 + if ops.NinRange(2, 10) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"mo", "ro"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Other), + PluralFunc: func(ops *operands) Plural { + // i = 1 and v = 0 + if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) { + return One + } + // v != 0 or n = 0 or n != 1 and n % 100 = 1..19 + if !intEqualsAny(ops.V, 0) || + ops.NequalsAny(0) || + !ops.NequalsAny(1) && ops.NmodInRange(100, 1, 19) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"bs", "hr", "sh", "sr"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) || + intEqualsAny(ops.F%10, 1) && !intEqualsAny(ops.F%100, 11) { + return One + } + // v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14 + if intEqualsAny(ops.V, 0) && intInRange(ops.I%10, 2, 4) && !intInRange(ops.I%100, 12, 14) || + intInRange(ops.F%10, 2, 4) && !intInRange(ops.F%100, 12, 14) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"gd"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1,11 + if ops.NequalsAny(1, 11) { + return One + } + // n = 2,12 + if ops.NequalsAny(2, 12) { + return Two + } + // n = 3..10,13..19 + if ops.NinRange(3, 10) || ops.NinRange(13, 19) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"sl"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 100 = 1 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 1) { + return One + } + // v = 0 and i % 100 = 2 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 2) { + return Two + } + // v = 0 and i % 100 = 3..4 or v != 0 + if intEqualsAny(ops.V, 0) && intInRange(ops.I%100, 3, 4) || + !intEqualsAny(ops.V, 0) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"dsb", "hsb"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 100 = 1 or f % 100 = 1 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 1) || + intEqualsAny(ops.F%100, 1) { + return One + } + // v = 0 and i % 100 = 2 or f % 100 = 2 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 2) || + intEqualsAny(ops.F%100, 2) { + return Two + } + // v = 0 and i % 100 = 3..4 or f % 100 = 3..4 + if intEqualsAny(ops.V, 0) && intInRange(ops.I%100, 3, 4) || + intInRange(ops.F%100, 3, 4) { + return Few + } + return Other + }, + }) + registerPluralSpec([]string{"he", "iw"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Many, Other), + PluralFunc: func(ops *operands) Plural { + // i = 1 and v = 0 + if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) { + return One + } + // i = 2 and v = 0 + if intEqualsAny(ops.I, 2) && intEqualsAny(ops.V, 0) { + return Two + } + // v = 0 and n != 0..10 and n % 10 = 0 + if intEqualsAny(ops.V, 0) && !ops.NinRange(0, 10) && ops.NmodEqualsAny(10, 0) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"cs", "sk"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // i = 1 and v = 0 + if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) { + return One + } + // i = 2..4 and v = 0 + if intInRange(ops.I, 2, 4) && intEqualsAny(ops.V, 0) { + return Few + } + // v != 0 + if !intEqualsAny(ops.V, 0) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"pl"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // i = 1 and v = 0 + if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) { + return One + } + // v = 0 and i % 10 = 2..4 and i % 100 != 12..14 + if intEqualsAny(ops.V, 0) && intInRange(ops.I%10, 2, 4) && !intInRange(ops.I%100, 12, 14) { + return Few + } + // v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14 + if intEqualsAny(ops.V, 0) && !intEqualsAny(ops.I, 1) && intInRange(ops.I%10, 0, 1) || + intEqualsAny(ops.V, 0) && intInRange(ops.I%10, 5, 9) || + intEqualsAny(ops.V, 0) && intInRange(ops.I%100, 12, 14) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"be"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n % 10 = 1 and n % 100 != 11 + if ops.NmodEqualsAny(10, 1) && !ops.NmodEqualsAny(100, 11) { + return One + } + // n % 10 = 2..4 and n % 100 != 12..14 + if ops.NmodInRange(10, 2, 4) && !ops.NmodInRange(100, 12, 14) { + return Few + } + // n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14 + if ops.NmodEqualsAny(10, 0) || + ops.NmodInRange(10, 5, 9) || + ops.NmodInRange(100, 11, 14) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"lt"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n % 10 = 1 and n % 100 != 11..19 + if ops.NmodEqualsAny(10, 1) && !ops.NmodInRange(100, 11, 19) { + return One + } + // n % 10 = 2..9 and n % 100 != 11..19 + if ops.NmodInRange(10, 2, 9) && !ops.NmodInRange(100, 11, 19) { + return Few + } + // f != 0 + if !intEqualsAny(ops.F, 0) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"mt"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 + if ops.NequalsAny(1) { + return One + } + // n = 0 or n % 100 = 2..10 + if ops.NequalsAny(0) || + ops.NmodInRange(100, 2, 10) { + return Few + } + // n % 100 = 11..19 + if ops.NmodInRange(100, 11, 19) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"ru", "uk"}, &PluralSpec{ + Plurals: newPluralSet(One, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 10 = 1 and i % 100 != 11 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) { + return One + } + // v = 0 and i % 10 = 2..4 and i % 100 != 12..14 + if intEqualsAny(ops.V, 0) && intInRange(ops.I%10, 2, 4) && !intInRange(ops.I%100, 12, 14) { + return Few + } + // v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 0) || + intEqualsAny(ops.V, 0) && intInRange(ops.I%10, 5, 9) || + intEqualsAny(ops.V, 0) && intInRange(ops.I%100, 11, 14) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"br"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n % 10 = 1 and n % 100 != 11,71,91 + if ops.NmodEqualsAny(10, 1) && !ops.NmodEqualsAny(100, 11, 71, 91) { + return One + } + // n % 10 = 2 and n % 100 != 12,72,92 + if ops.NmodEqualsAny(10, 2) && !ops.NmodEqualsAny(100, 12, 72, 92) { + return Two + } + // n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99 + if (ops.NmodInRange(10, 3, 4) || ops.NmodEqualsAny(10, 9)) && !(ops.NmodInRange(100, 10, 19) || ops.NmodInRange(100, 70, 79) || ops.NmodInRange(100, 90, 99)) { + return Few + } + // n != 0 and n % 1000000 = 0 + if !ops.NequalsAny(0) && ops.NmodEqualsAny(1000000, 0) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"ga"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n = 1 + if ops.NequalsAny(1) { + return One + } + // n = 2 + if ops.NequalsAny(2) { + return Two + } + // n = 3..6 + if ops.NinRange(3, 6) { + return Few + } + // n = 7..10 + if ops.NinRange(7, 10) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"gv"}, &PluralSpec{ + Plurals: newPluralSet(One, Two, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // v = 0 and i % 10 = 1 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) { + return One + } + // v = 0 and i % 10 = 2 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 2) { + return Two + } + // v = 0 and i % 100 = 0,20,40,60,80 + if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 0, 20, 40, 60, 80) { + return Few + } + // v != 0 + if !intEqualsAny(ops.V, 0) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"ar"}, &PluralSpec{ + Plurals: newPluralSet(Zero, One, Two, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0 + if ops.NequalsAny(0) { + return Zero + } + // n = 1 + if ops.NequalsAny(1) { + return One + } + // n = 2 + if ops.NequalsAny(2) { + return Two + } + // n % 100 = 3..10 + if ops.NmodInRange(100, 3, 10) { + return Few + } + // n % 100 = 11..99 + if ops.NmodInRange(100, 11, 99) { + return Many + } + return Other + }, + }) + registerPluralSpec([]string{"cy"}, &PluralSpec{ + Plurals: newPluralSet(Zero, One, Two, Few, Many, Other), + PluralFunc: func(ops *operands) Plural { + // n = 0 + if ops.NequalsAny(0) { + return Zero + } + // n = 1 + if ops.NequalsAny(1) { + return One + } + // n = 2 + if ops.NequalsAny(2) { + return Two + } + // n = 3 + if ops.NequalsAny(3) { + return Few + } + // n = 6 + if ops.NequalsAny(6) { + return Many + } + return Other + }, + }) +} diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/LICENSE b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/LICENSE new file mode 100644 index 0000000..609cce7 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Nick Snyder https://github.com/nicksnyder + +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/nicksnyder/go-i18n/i18n/translation/plural_translation.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go new file mode 100644 index 0000000..4f579d1 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go @@ -0,0 +1,78 @@ +package translation + +import ( + "github.com/nicksnyder/go-i18n/i18n/language" +) + +type pluralTranslation struct { + id string + templates map[language.Plural]*template +} + +func (pt *pluralTranslation) MarshalInterface() interface{} { + return map[string]interface{}{ + "id": pt.id, + "translation": pt.templates, + } +} + +func (pt *pluralTranslation) ID() string { + return pt.id +} + +func (pt *pluralTranslation) Template(pc language.Plural) *template { + return pt.templates[pc] +} + +func (pt *pluralTranslation) UntranslatedCopy() Translation { + return &pluralTranslation{pt.id, make(map[language.Plural]*template)} +} + +func (pt *pluralTranslation) Normalize(l *language.Language) Translation { + // Delete plural categories that don't belong to this language. + for pc := range pt.templates { + if _, ok := l.Plurals[pc]; !ok { + delete(pt.templates, pc) + } + } + // Create map entries for missing valid categories. + for pc := range l.Plurals { + if _, ok := pt.templates[pc]; !ok { + pt.templates[pc] = mustNewTemplate("") + } + } + return pt +} + +func (pt *pluralTranslation) Backfill(src Translation) Translation { + for pc, t := range pt.templates { + if t == nil || t.src == "" { + pt.templates[pc] = src.Template(language.Other) + } + } + return pt +} + +func (pt *pluralTranslation) Merge(t Translation) Translation { + other, ok := t.(*pluralTranslation) + if !ok || pt.ID() != t.ID() { + return t + } + for pluralCategory, template := range other.templates { + if template != nil && template.src != "" { + pt.templates[pluralCategory] = template + } + } + return pt +} + +func (pt *pluralTranslation) Incomplete(l *language.Language) bool { + for pc := range l.Plurals { + if t := pt.templates[pc]; t == nil || t.src == "" { + return true + } + } + return false +} + +var _ = Translation(&pluralTranslation{}) diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go new file mode 100644 index 0000000..1010e59 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go @@ -0,0 +1,57 @@ +package translation + +import ( + "github.com/nicksnyder/go-i18n/i18n/language" +) + +type singleTranslation struct { + id string + template *template +} + +func (st *singleTranslation) MarshalInterface() interface{} { + return map[string]interface{}{ + "id": st.id, + "translation": st.template, + } +} + +func (st *singleTranslation) ID() string { + return st.id +} + +func (st *singleTranslation) Template(pc language.Plural) *template { + return st.template +} + +func (st *singleTranslation) UntranslatedCopy() Translation { + return &singleTranslation{st.id, mustNewTemplate("")} +} + +func (st *singleTranslation) Normalize(language *language.Language) Translation { + return st +} + +func (st *singleTranslation) Backfill(src Translation) Translation { + if st.template == nil || st.template.src == "" { + st.template = src.Template(language.Other) + } + return st +} + +func (st *singleTranslation) Merge(t Translation) Translation { + other, ok := t.(*singleTranslation) + if !ok || st.ID() != t.ID() { + return t + } + if other.template != nil && other.template.src != "" { + st.template = other.template + } + return st +} + +func (st *singleTranslation) Incomplete(l *language.Language) bool { + return st.template == nil || st.template.src == "" +} + +var _ = Translation(&singleTranslation{}) diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/template.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/template.go new file mode 100644 index 0000000..c8756fa --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/template.go @@ -0,0 +1,61 @@ +package translation + +import ( + "bytes" + "encoding" + "strings" + gotemplate "text/template" +) + +type template struct { + tmpl *gotemplate.Template + src string +} + +func newTemplate(src string) (*template, error) { + var tmpl template + err := tmpl.parseTemplate(src) + return &tmpl, err +} + +func mustNewTemplate(src string) *template { + t, err := newTemplate(src) + if err != nil { + panic(err) + } + return t +} + +func (t *template) String() string { + return t.src +} + +func (t *template) Execute(args interface{}) string { + if t.tmpl == nil { + return t.src + } + var buf bytes.Buffer + if err := t.tmpl.Execute(&buf, args); err != nil { + return err.Error() + } + return buf.String() +} + +func (t *template) MarshalText() ([]byte, error) { + return []byte(t.src), nil +} + +func (t *template) UnmarshalText(src []byte) error { + return t.parseTemplate(string(src)) +} + +func (t *template) parseTemplate(src string) (err error) { + t.src = src + if strings.Contains(src, "{{") { + t.tmpl, err = gotemplate.New(src).Parse(src) + } + return +} + +var _ = encoding.TextMarshaler(&template{}) +var _ = encoding.TextUnmarshaler(&template{}) diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/translation.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/translation.go new file mode 100644 index 0000000..fa93180 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/translation.go @@ -0,0 +1,83 @@ +// Package translation defines the interface for a translation. +package translation + +import ( + "fmt" + + "github.com/nicksnyder/go-i18n/i18n/language" +) + +// Translation is the interface that represents a translated string. +type Translation interface { + // MarshalInterface returns the object that should be used + // to serialize the translation. + MarshalInterface() interface{} + ID() string + Template(language.Plural) *template + UntranslatedCopy() Translation + Normalize(language *language.Language) Translation + Backfill(src Translation) Translation + Merge(Translation) Translation + Incomplete(l *language.Language) bool +} + +// SortableByID implements sort.Interface for a slice of translations. +type SortableByID []Translation + +func (a SortableByID) Len() int { return len(a) } +func (a SortableByID) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a SortableByID) Less(i, j int) bool { return a[i].ID() < a[j].ID() } + +// NewTranslation reflects on data to create a new Translation. +// +// data["id"] must be a string and data["translation"] must be either a string +// for a non-plural translation or a map[string]interface{} for a plural translation. +func NewTranslation(data map[string]interface{}) (Translation, error) { + id, ok := data["id"].(string) + if !ok { + return nil, fmt.Errorf(`missing "id" key`) + } + var pluralObject map[string]interface{} + switch translation := data["translation"].(type) { + case string: + tmpl, err := newTemplate(translation) + if err != nil { + return nil, err + } + return &singleTranslation{id, tmpl}, nil + case map[interface{}]interface{}: + // The YAML parser uses interface{} keys so we first convert them to string keys. + pluralObject = make(map[string]interface{}) + for k, v := range translation { + kStr, ok := k.(string) + if !ok { + return nil, fmt.Errorf(`invalid plural category type %T; expected string`, k) + } + pluralObject[kStr] = v + } + case map[string]interface{}: + pluralObject = translation + case nil: + return nil, fmt.Errorf(`missing "translation" key`) + default: + return nil, fmt.Errorf(`unsupported type for "translation" key %T`, translation) + } + + templates := make(map[language.Plural]*template, len(pluralObject)) + for k, v := range pluralObject { + pc, err := language.NewPlural(k) + if err != nil { + return nil, err + } + str, ok := v.(string) + if !ok { + return nil, fmt.Errorf(`plural category "%s" has value of type %T; expected string`, pc, v) + } + tmpl, err := newTemplate(str) + if err != nil { + return nil, err + } + templates[pc] = tmpl + } + return &pluralTranslation{id, templates}, nil +} diff --git a/vendor/github.com/onsi/ginkgo/CHANGELOG.md b/vendor/github.com/onsi/ginkgo/CHANGELOG.md new file mode 100644 index 0000000..6a4ab3f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/CHANGELOG.md @@ -0,0 +1,156 @@ +## HEAD + +- When using custom reporters register the custom reporters *before* the default reporter. This allows users to see the output of any print statements in their customer reporters. [#365] + +## 1.4.0 7/16/2017 + +- `ginkgo` now provides a hint if you accidentally forget to run `ginkgo bootstrap` to generate a `*_suite_test.go` file that actually invokes the Ginkgo test runner. [#345](https://github.com/onsi/ginkgo/pull/345) +- thanks to improvements in `go test -c` `ginkgo` no longer needs to fix Go's compilation output to ensure compilation errors are expressed relative to the CWD. [#357] +- `ginkgo watch -watchRegExp=...` allows you to specify a custom regular expression to watch. Only files matching the regular expression are watched for changes (the default is `\.go$`) [#356] +- `ginkgo` now always emits compilation output. Previously, only failed compilation output was printed out. [#277] +- `ginkgo -requireSuite` now fails the test run if there are `*_test.go` files but `go test` fails to detect any tests. Typically this means you forgot to run `ginkgo bootstrap` to generate a suite file. [#344] +- `ginkgo -timeout=DURATION` allows you to adjust the timeout for the entire test suite (default is 24 hours) [#248] + +## 1.3.0 3/28/2017 + +Improvements: + +- Significantly improved parallel test distribution. Now instead of pre-sharding test cases across workers (which can result in idle workers and poor test performance) Ginkgo uses a shared queue to keep all workers busy until all tests are complete. This improves test-time performance and consistency. +- `Skip(message)` can be used to skip the current test. +- Added `extensions/table` - a Ginkgo DSL for [Table Driven Tests](http://onsi.github.io/ginkgo/#table-driven-tests) +- Add `GinkgoRandomSeed()` - shorthand for `config.GinkgoConfig.RandomSeed` +- Support for retrying flaky tests with `--flakeAttempts` +- `ginkgo ./...` now recurses as you'd expect +- Added `Specify` a synonym for `It` +- Support colorise on Windows +- Broader support for various go compilation flags in the `ginkgo` CLI + +Bug Fixes: + +- Ginkgo tests now fail when you `panic(nil)` (#167) + +## 1.2.0 5/31/2015 + +Improvements + +- `ginkgo -coverpkg` calls down to `go test -coverpkg` (#160) +- `ginkgo -afterSuiteHook COMMAND` invokes the passed-in `COMMAND` after a test suite completes (#152) +- Relaxed requirement for Go 1.4+. `ginkgo` now works with Go v1.3+ (#166) + +## 1.2.0-beta + +Ginkgo now requires Go 1.4+ + +Improvements: + +- Call reporters in reverse order when announcing spec completion -- allows custom reporters to emit output before the default reporter does. +- Improved focus behavior. Now, this: + + ```golang + FDescribe("Some describe", func() { + It("A", func() {}) + + FIt("B", func() {}) + }) + ``` + + will run `B` but *not* `A`. This tends to be a common usage pattern when in the thick of writing and debugging tests. +- When `SIGINT` is received, Ginkgo will emit the contents of the `GinkgoWriter` before running the `AfterSuite`. Useful for debugging stuck tests. +- When `--progress` is set, Ginkgo will write test progress (in particular, Ginkgo will say when it is about to run a BeforeEach, AfterEach, It, etc...) to the `GinkgoWriter`. This is useful for debugging stuck tests and tests that generate many logs. +- Improved output when an error occurs in a setup or teardown block. +- When `--dryRun` is set, Ginkgo will walk the spec tree and emit to its reporter *without* actually running anything. Best paired with `-v` to understand which specs will run in which order. +- Add `By` to help document long `It`s. `By` simply writes to the `GinkgoWriter`. +- Add support for precompiled tests: + - `ginkgo build ` will now compile the package, producing a file named `package.test` + - The compiled `package.test` file can be run directly. This runs the tests in series. + - To run precompiled tests in parallel, you can run: `ginkgo -p package.test` +- Support `bootstrap`ping and `generate`ing [Agouti](http://agouti.org) specs. +- `ginkgo generate` and `ginkgo bootstrap` now honor the package name already defined in a given directory +- The `ginkgo` CLI ignores `SIGQUIT`. Prevents its stack dump from interlacing with the underlying test suite's stack dump. +- The `ginkgo` CLI now compiles tests into a temporary directory instead of the package directory. This necessitates upgrading to Go v1.4+. +- `ginkgo -notify` now works on Linux + +Bug Fixes: + +- If --skipPackages is used and all packages are skipped, Ginkgo should exit 0. +- Fix tempfile leak when running in parallel +- Fix incorrect failure message when a panic occurs during a parallel test run +- Fixed an issue where a pending test within a focused context (or a focused test within a pending context) would skip all other tests. +- Be more consistent about handling SIGTERM as well as SIGINT +- When interupted while concurrently compiling test suites in the background, Ginkgo now cleans up the compiled artifacts. +- Fixed a long standing bug where `ginkgo -p` would hang if a process spawned by one of the Ginkgo parallel nodes does not exit. (Hooray!) + +## 1.1.0 (8/2/2014) + +No changes, just dropping the beta. + +## 1.1.0-beta (7/22/2014) +New Features: + +- `ginkgo watch` now monitors packages *and their dependencies* for changes. The depth of the dependency tree can be modified with the `-depth` flag. +- Test suites with a programmatic focus (`FIt`, `FDescribe`, etc...) exit with non-zero status code, even when they pass. This allows CI systems to detect accidental commits of focused test suites. +- `ginkgo -p` runs the testsuite in parallel with an auto-detected number of nodes. +- `ginkgo -tags=TAG_LIST` passes a list of tags down to the `go build` command. +- `ginkgo --failFast` aborts the test suite after the first failure. +- `ginkgo generate file_1 file_2` can take multiple file arguments. +- Ginkgo now summarizes any spec failures that occured at the end of the test run. +- `ginkgo --randomizeSuites` will run tests *suites* in random order using the generated/passed-in seed. + +Improvements: + +- `ginkgo -skipPackage` now takes a comma-separated list of strings. If the *relative path* to a package matches one of the entries in the comma-separated list, that package is skipped. +- `ginkgo --untilItFails` no longer recompiles between attempts. +- Ginkgo now panics when a runnable node (`It`, `BeforeEach`, `JustBeforeEach`, `AfterEach`, `Measure`) is nested within another runnable node. This is always a mistake. Any test suites that panic because of this change should be fixed. + +Bug Fixes: + +- `ginkgo boostrap` and `ginkgo generate` no longer fail when dealing with `hyphen-separated-packages`. +- parallel specs are now better distributed across nodes - fixed a crashing bug where (for example) distributing 11 tests across 7 nodes would panic + +## 1.0.0 (5/24/2014) +New Features: + +- Add `GinkgoParallelNode()` - shorthand for `config.GinkgoConfig.ParallelNode` + +Improvements: + +- When compilation fails, the compilation output is rewritten to present a correct *relative* path. Allows ⌘-clicking in iTerm open the file in your text editor. +- `--untilItFails` and `ginkgo watch` now generate new random seeds between test runs, unless a particular random seed is specified. + +Bug Fixes: + +- `-cover` now generates a correctly combined coverprofile when running with in parallel with multiple `-node`s. +- Print out the contents of the `GinkgoWriter` when `BeforeSuite` or `AfterSuite` fail. +- Fix all remaining race conditions in Ginkgo's test suite. + +## 1.0.0-beta (4/14/2014) +Breaking changes: + +- `thirdparty/gomocktestreporter` is gone. Use `GinkgoT()` instead +- Modified the Reporter interface +- `watch` is now a subcommand, not a flag. + +DSL changes: + +- `BeforeSuite` and `AfterSuite` for setting up and tearing down test suites. +- `AfterSuite` is triggered on interrupt (`^C`) as well as exit. +- `SynchronizedBeforeSuite` and `SynchronizedAfterSuite` for setting up and tearing down singleton resources across parallel nodes. + +CLI changes: + +- `watch` is now a subcommand, not a flag +- `--nodot` flag can be passed to `ginkgo generate` and `ginkgo bootstrap` to avoid dot imports. This explicitly imports all exported identifiers in Ginkgo and Gomega. Refreshing this list can be done by running `ginkgo nodot` +- Additional arguments can be passed to specs. Pass them after the `--` separator +- `--skipPackage` flag takes a regexp and ignores any packages with package names passing said regexp. +- `--trace` flag prints out full stack traces when errors occur, not just the line at which the error occurs. + +Misc: + +- Start using semantic versioning +- Start maintaining changelog + +Major refactor: + +- Pull out Ginkgo's internal to `internal` +- Rename `example` everywhere to `spec` +- Much more! diff --git a/vendor/github.com/onsi/ginkgo/CONTRIBUTING.md b/vendor/github.com/onsi/ginkgo/CONTRIBUTING.md new file mode 100644 index 0000000..8559e01 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/CONTRIBUTING.md @@ -0,0 +1,13 @@ +# Contributing to Ginkgo + +Your contributions to Ginkgo are essential for its long-term maintenance and improvement. To make a contribution: + +- Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! +- Ensure adequate test coverage: + - If you're adding functionality to the Ginkgo library, make sure to add appropriate unit and/or integration tests (under the `integration` folder). + - If you're adding functionality to the Ginkgo CLI note that there are very few unit tests. Please add an integration test. + - Please run all tests locally (`ginkgo -r -p`) and make sure they go green before submitting the PR + - Please run following linter locally `go vet ./...` and make sure output does not contain any warnings +- Update the documentation. In addition to standard `godoc` comments Ginkgo has extensive documentation on the `gh-pages` branch. If relevant, please submit a docs PR to that branch alongside your code PR. + +Thanks for supporting Ginkgo! diff --git a/vendor/github.com/onsi/ginkgo/LICENSE b/vendor/github.com/onsi/ginkgo/LICENSE new file mode 100644 index 0000000..9415ee7 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2013-2014 Onsi Fakhouri + +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/onsi/ginkgo/README.md b/vendor/github.com/onsi/ginkgo/README.md new file mode 100644 index 0000000..7165b7e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/README.md @@ -0,0 +1,123 @@ +![Ginkgo: A Go BDD Testing Framework](http://onsi.github.io/ginkgo/images/ginkgo.png) + +[![Build Status](https://travis-ci.org/onsi/ginkgo.svg)](https://travis-ci.org/onsi/ginkgo) + +Jump to the [docs](http://onsi.github.io/ginkgo/) to learn more. To start rolling your Ginkgo tests *now* [keep reading](#set-me-up)! + +If you have a question, comment, bug report, feature request, etc. please open a GitHub issue. + +## Feature List + +- Ginkgo uses Go's `testing` package and can live alongside your existing `testing` tests. It's easy to [bootstrap](http://onsi.github.io/ginkgo/#bootstrapping-a-suite) and start writing your [first tests](http://onsi.github.io/ginkgo/#adding-specs-to-a-suite) + +- Structure your BDD-style tests expressively: + - Nestable [`Describe`, `Context` and `When` container blocks](http://onsi.github.io/ginkgo/#organizing-specs-with-containers-describe-and-context) + - [`BeforeEach` and `AfterEach` blocks](http://onsi.github.io/ginkgo/#extracting-common-setup-beforeeach) for setup and teardown + - [`It` and `Specify` blocks](http://onsi.github.io/ginkgo/#individual-specs-) that hold your assertions + - [`JustBeforeEach` blocks](http://onsi.github.io/ginkgo/#separating-creation-and-configuration-justbeforeeach) that separate creation from configuration (also known as the subject action pattern). + - [`BeforeSuite` and `AfterSuite` blocks](http://onsi.github.io/ginkgo/#global-setup-and-teardown-beforesuite-and-aftersuite) to prep for and cleanup after a suite. + +- A comprehensive test runner that lets you: + - Mark specs as [pending](http://onsi.github.io/ginkgo/#pending-specs) + - [Focus](http://onsi.github.io/ginkgo/#focused-specs) individual specs, and groups of specs, either programmatically or on the command line + - Run your tests in [random order](http://onsi.github.io/ginkgo/#spec-permutation), and then reuse random seeds to replicate the same order. + - Break up your test suite into parallel processes for straightforward [test parallelization](http://onsi.github.io/ginkgo/#parallel-specs) + +- `ginkgo`: a command line interface with plenty of handy command line arguments for [running your tests](http://onsi.github.io/ginkgo/#running-tests) and [generating](http://onsi.github.io/ginkgo/#generators) test files. Here are a few choice examples: + - `ginkgo -nodes=N` runs your tests in `N` parallel processes and print out coherent output in realtime + - `ginkgo -cover` runs your tests using Go's code coverage tool + - `ginkgo convert` converts an XUnit-style `testing` package to a Ginkgo-style package + - `ginkgo -focus="REGEXP"` and `ginkgo -skip="REGEXP"` allow you to specify a subset of tests to run via regular expression + - `ginkgo -r` runs all tests suites under the current directory + - `ginkgo -v` prints out identifying information for each tests just before it runs + + And much more: run `ginkgo help` for details! + + The `ginkgo` CLI is convenient, but purely optional -- Ginkgo works just fine with `go test` + +- `ginkgo watch` [watches](https://onsi.github.io/ginkgo/#watching-for-changes) packages *and their dependencies* for changes, then reruns tests. Run tests immediately as you develop! + +- Built-in support for testing [asynchronicity](http://onsi.github.io/ginkgo/#asynchronous-tests) + +- Built-in support for [benchmarking](http://onsi.github.io/ginkgo/#benchmark-tests) your code. Control the number of benchmark samples as you gather runtimes and other, arbitrary, bits of numerical information about your code. + +- [Completions for Sublime Text](https://github.com/onsi/ginkgo-sublime-completions): just use [Package Control](https://sublime.wbond.net/) to install `Ginkgo Completions`. + +- [Completions for VSCode](https://github.com/onsi/vscode-ginkgo): just use VSCode's extension installer to install `vscode-ginkgo`. + +- Straightforward support for third-party testing libraries such as [Gomock](https://code.google.com/p/gomock/) and [Testify](https://github.com/stretchr/testify). Check out the [docs](http://onsi.github.io/ginkgo/#third-party-integrations) for details. + +- A modular architecture that lets you easily: + - Write [custom reporters](http://onsi.github.io/ginkgo/#writing-custom-reporters) (for example, Ginkgo comes with a [JUnit XML reporter](http://onsi.github.io/ginkgo/#generating-junit-xml-output) and a TeamCity reporter). + - [Adapt an existing matcher library (or write your own!)](http://onsi.github.io/ginkgo/#using-other-matcher-libraries) to work with Ginkgo + +## [Gomega](http://github.com/onsi/gomega): Ginkgo's Preferred Matcher Library + +Ginkgo is best paired with Gomega. Learn more about Gomega [here](http://onsi.github.io/gomega/) + +## [Agouti](http://github.com/sclevine/agouti): A Go Acceptance Testing Framework + +Agouti allows you run WebDriver integration tests. Learn more about Agouti [here](http://agouti.org) + +## Set Me Up! + +You'll need the Go command-line tools. Ginkgo is tested with Go 1.6+, but preferably you should get the latest. Follow the [installation instructions](https://golang.org/doc/install) if you don't have it installed. + +```bash + +go get -u github.com/onsi/ginkgo/ginkgo # installs the ginkgo CLI +go get -u github.com/onsi/gomega/... # fetches the matcher library + +cd path/to/package/you/want/to/test + +ginkgo bootstrap # set up a new ginkgo suite +ginkgo generate # will create a sample test file. edit this file and add your tests then... + +go test # to run your tests + +ginkgo # also runs your tests + +``` + +## I'm new to Go: What are my testing options? + +Of course, I heartily recommend [Ginkgo](https://github.com/onsi/ginkgo) and [Gomega](https://github.com/onsi/gomega). Both packages are seeing heavy, daily, production use on a number of projects and boast a mature and comprehensive feature-set. + +With that said, it's great to know what your options are :) + +### What Go gives you out of the box + +Testing is a first class citizen in Go, however Go's built-in testing primitives are somewhat limited: The [testing](http://golang.org/pkg/testing) package provides basic XUnit style tests and no assertion library. + +### Matcher libraries for Go's XUnit style tests + +A number of matcher libraries have been written to augment Go's built-in XUnit style tests. Here are two that have gained traction: + +- [testify](https://github.com/stretchr/testify) +- [gocheck](http://labix.org/gocheck) + +You can also use Ginkgo's matcher library [Gomega](https://github.com/onsi/gomega) in [XUnit style tests](http://onsi.github.io/gomega/#using-gomega-with-golangs-xunitstyle-tests) + +### BDD style testing frameworks + +There are a handful of BDD-style testing frameworks written for Go. Here are a few: + +- [Ginkgo](https://github.com/onsi/ginkgo) ;) +- [GoConvey](https://github.com/smartystreets/goconvey) +- [Goblin](https://github.com/franela/goblin) +- [Mao](https://github.com/azer/mao) +- [Zen](https://github.com/pranavraja/zen) + +Finally, @shageman has [put together](https://github.com/shageman/gotestit) a comprehensive comparison of Go testing libraries. + +Go explore! + +## License + +Ginkgo is MIT-Licensed + +## Contributing + +Since Ginkgo tests also internal packages, when you fork, you'll have to replace imports with your repository.
+Use `before_pr.sh` for that
+After you finished your changes and before you push your pull request, use `after_pr.sh` to revert those changes diff --git a/vendor/github.com/onsi/ginkgo/before_pr.sh b/vendor/github.com/onsi/ginkgo/before_pr.sh new file mode 100644 index 0000000..3cf262f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/before_pr.sh @@ -0,0 +1,13 @@ +# Take current path +path=$(pwd) + +# Split it +IFS='\/'; arrIN=($path); unset IFS; + +# Find directory before ginkgo +len=${#arrIN[@]} + +userDir=${arrIN[$len-2]} + +# Replace onsi with userdir +find . -type f -name '*.go' -exec sed -i '' s/github.com\\/onsi\\/ginkgo\\/internal/github.com\\/$userDir\\/ginkgo\\/internal/ {} + \ No newline at end of file diff --git a/vendor/github.com/onsi/ginkgo/config/config.go b/vendor/github.com/onsi/ginkgo/config/config.go new file mode 100644 index 0000000..9e54fa3 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/config/config.go @@ -0,0 +1,193 @@ +/* +Ginkgo accepts a number of configuration options. + +These are documented [here](http://onsi.github.io/ginkgo/#the_ginkgo_cli) + +You can also learn more via + + ginkgo help + +or (I kid you not): + + go test -asdf +*/ +package config + +import ( + "flag" + "time" + + "fmt" +) + +const VERSION = "1.4.0" + +type GinkgoConfigType struct { + RandomSeed int64 + RandomizeAllSpecs bool + RegexScansFilePath bool + FocusString string + SkipString string + SkipMeasurements bool + FailOnPending bool + FailFast bool + FlakeAttempts int + EmitSpecProgress bool + DryRun bool + + ParallelNode int + ParallelTotal int + SyncHost string + StreamHost string +} + +var GinkgoConfig = GinkgoConfigType{} + +type DefaultReporterConfigType struct { + NoColor bool + SlowSpecThreshold float64 + NoisyPendings bool + NoisySkippings bool + Succinct bool + Verbose bool + FullTrace bool +} + +var DefaultReporterConfig = DefaultReporterConfigType{} + +func processPrefix(prefix string) string { + if prefix != "" { + prefix = prefix + "." + } + return prefix +} + +func Flags(flagSet *flag.FlagSet, prefix string, includeParallelFlags bool) { + prefix = processPrefix(prefix) + flagSet.Int64Var(&(GinkgoConfig.RandomSeed), prefix+"seed", time.Now().Unix(), "The seed used to randomize the spec suite.") + flagSet.BoolVar(&(GinkgoConfig.RandomizeAllSpecs), prefix+"randomizeAllSpecs", false, "If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe, Context and When groups.") + flagSet.BoolVar(&(GinkgoConfig.SkipMeasurements), prefix+"skipMeasurements", false, "If set, ginkgo will skip any measurement specs.") + flagSet.BoolVar(&(GinkgoConfig.FailOnPending), prefix+"failOnPending", false, "If set, ginkgo will mark the test suite as failed if any specs are pending.") + flagSet.BoolVar(&(GinkgoConfig.FailFast), prefix+"failFast", false, "If set, ginkgo will stop running a test suite after a failure occurs.") + + flagSet.BoolVar(&(GinkgoConfig.DryRun), prefix+"dryRun", false, "If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v.") + + flagSet.StringVar(&(GinkgoConfig.FocusString), prefix+"focus", "", "If set, ginkgo will only run specs that match this regular expression.") + flagSet.StringVar(&(GinkgoConfig.SkipString), prefix+"skip", "", "If set, ginkgo will only run specs that do not match this regular expression.") + + flagSet.BoolVar(&(GinkgoConfig.RegexScansFilePath), prefix+"regexScansFilePath", false, "If set, ginkgo regex matching also will look at the file path (code location).") + + flagSet.IntVar(&(GinkgoConfig.FlakeAttempts), prefix+"flakeAttempts", 1, "Make up to this many attempts to run each spec. Please note that if any of the attempts succeed, the suite will not be failed. But any failures will still be recorded.") + + flagSet.BoolVar(&(GinkgoConfig.EmitSpecProgress), prefix+"progress", false, "If set, ginkgo will emit progress information as each spec runs to the GinkgoWriter.") + + if includeParallelFlags { + flagSet.IntVar(&(GinkgoConfig.ParallelNode), prefix+"parallel.node", 1, "This worker node's (one-indexed) node number. For running specs in parallel.") + flagSet.IntVar(&(GinkgoConfig.ParallelTotal), prefix+"parallel.total", 1, "The total number of worker nodes. For running specs in parallel.") + flagSet.StringVar(&(GinkgoConfig.SyncHost), prefix+"parallel.synchost", "", "The address for the server that will synchronize the running nodes.") + flagSet.StringVar(&(GinkgoConfig.StreamHost), prefix+"parallel.streamhost", "", "The address for the server that the running nodes should stream data to.") + } + + flagSet.BoolVar(&(DefaultReporterConfig.NoColor), prefix+"noColor", false, "If set, suppress color output in default reporter.") + flagSet.Float64Var(&(DefaultReporterConfig.SlowSpecThreshold), prefix+"slowSpecThreshold", 5.0, "(in seconds) Specs that take longer to run than this threshold are flagged as slow by the default reporter.") + flagSet.BoolVar(&(DefaultReporterConfig.NoisyPendings), prefix+"noisyPendings", true, "If set, default reporter will shout about pending tests.") + flagSet.BoolVar(&(DefaultReporterConfig.NoisySkippings), prefix+"noisySkippings", true, "If set, default reporter will shout about skipping tests.") + flagSet.BoolVar(&(DefaultReporterConfig.Verbose), prefix+"v", false, "If set, default reporter print out all specs as they begin.") + flagSet.BoolVar(&(DefaultReporterConfig.Succinct), prefix+"succinct", false, "If set, default reporter prints out a very succinct report") + flagSet.BoolVar(&(DefaultReporterConfig.FullTrace), prefix+"trace", false, "If set, default reporter prints out the full stack trace when a failure occurs") +} + +func BuildFlagArgs(prefix string, ginkgo GinkgoConfigType, reporter DefaultReporterConfigType) []string { + prefix = processPrefix(prefix) + result := make([]string, 0) + + if ginkgo.RandomSeed > 0 { + result = append(result, fmt.Sprintf("--%sseed=%d", prefix, ginkgo.RandomSeed)) + } + + if ginkgo.RandomizeAllSpecs { + result = append(result, fmt.Sprintf("--%srandomizeAllSpecs", prefix)) + } + + if ginkgo.SkipMeasurements { + result = append(result, fmt.Sprintf("--%sskipMeasurements", prefix)) + } + + if ginkgo.FailOnPending { + result = append(result, fmt.Sprintf("--%sfailOnPending", prefix)) + } + + if ginkgo.FailFast { + result = append(result, fmt.Sprintf("--%sfailFast", prefix)) + } + + if ginkgo.DryRun { + result = append(result, fmt.Sprintf("--%sdryRun", prefix)) + } + + if ginkgo.FocusString != "" { + result = append(result, fmt.Sprintf("--%sfocus=%s", prefix, ginkgo.FocusString)) + } + + if ginkgo.SkipString != "" { + result = append(result, fmt.Sprintf("--%sskip=%s", prefix, ginkgo.SkipString)) + } + + if ginkgo.FlakeAttempts > 1 { + result = append(result, fmt.Sprintf("--%sflakeAttempts=%d", prefix, ginkgo.FlakeAttempts)) + } + + if ginkgo.EmitSpecProgress { + result = append(result, fmt.Sprintf("--%sprogress", prefix)) + } + + if ginkgo.ParallelNode != 0 { + result = append(result, fmt.Sprintf("--%sparallel.node=%d", prefix, ginkgo.ParallelNode)) + } + + if ginkgo.ParallelTotal != 0 { + result = append(result, fmt.Sprintf("--%sparallel.total=%d", prefix, ginkgo.ParallelTotal)) + } + + if ginkgo.StreamHost != "" { + result = append(result, fmt.Sprintf("--%sparallel.streamhost=%s", prefix, ginkgo.StreamHost)) + } + + if ginkgo.SyncHost != "" { + result = append(result, fmt.Sprintf("--%sparallel.synchost=%s", prefix, ginkgo.SyncHost)) + } + + if ginkgo.RegexScansFilePath { + result = append(result, fmt.Sprintf("--%sregexScansFilePath", prefix)) + } + + if reporter.NoColor { + result = append(result, fmt.Sprintf("--%snoColor", prefix)) + } + + if reporter.SlowSpecThreshold > 0 { + result = append(result, fmt.Sprintf("--%sslowSpecThreshold=%.5f", prefix, reporter.SlowSpecThreshold)) + } + + if !reporter.NoisyPendings { + result = append(result, fmt.Sprintf("--%snoisyPendings=false", prefix)) + } + + if !reporter.NoisySkippings { + result = append(result, fmt.Sprintf("--%snoisySkippings=false", prefix)) + } + + if reporter.Verbose { + result = append(result, fmt.Sprintf("--%sv", prefix)) + } + + if reporter.Succinct { + result = append(result, fmt.Sprintf("--%ssuccinct", prefix)) + } + + if reporter.FullTrace { + result = append(result, fmt.Sprintf("--%strace", prefix)) + } + + return result +} diff --git a/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go b/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go new file mode 100644 index 0000000..ea5b7cc --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go @@ -0,0 +1,604 @@ +/* +Ginkgo is a BDD-style testing framework for Golang + +The godoc documentation describes Ginkgo's API. More comprehensive documentation (with examples!) is available at http://onsi.github.io/ginkgo/ + +Ginkgo's preferred matcher library is [Gomega](http://github.com/onsi/gomega) + +Ginkgo on Github: http://github.com/onsi/ginkgo + +Ginkgo is MIT-Licensed +*/ +package ginkgo + +import ( + "flag" + "fmt" + "io" + "net/http" + "os" + "strings" + "time" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/internal/codelocation" + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/internal/remote" + "github.com/onsi/ginkgo/internal/suite" + "github.com/onsi/ginkgo/internal/testingtproxy" + "github.com/onsi/ginkgo/internal/writer" + "github.com/onsi/ginkgo/reporters" + "github.com/onsi/ginkgo/reporters/stenographer" + "github.com/onsi/ginkgo/types" +) + +const GINKGO_VERSION = config.VERSION +const GINKGO_PANIC = ` +Your test failed. +Ginkgo panics to prevent subsequent assertions from running. +Normally Ginkgo rescues this panic so you shouldn't see it. + +But, if you make an assertion in a goroutine, Ginkgo can't capture the panic. +To circumvent this, you should call + + defer GinkgoRecover() + +at the top of the goroutine that caused this panic. +` +const defaultTimeout = 1 + +var globalSuite *suite.Suite +var globalFailer *failer.Failer + +func init() { + config.Flags(flag.CommandLine, "ginkgo", true) + GinkgoWriter = writer.New(os.Stdout) + globalFailer = failer.New() + globalSuite = suite.New(globalFailer) +} + +//GinkgoWriter implements an io.Writer +//When running in verbose mode any writes to GinkgoWriter will be immediately printed +//to stdout. Otherwise, GinkgoWriter will buffer any writes produced during the current test and flush them to screen +//only if the current test fails. +var GinkgoWriter io.Writer + +//The interface by which Ginkgo receives *testing.T +type GinkgoTestingT interface { + Fail() +} + +//GinkgoRandomSeed returns the seed used to randomize spec execution order. It is +//useful for seeding your own pseudorandom number generators (PRNGs) to ensure +//consistent executions from run to run, where your tests contain variability (for +//example, when selecting random test data). +func GinkgoRandomSeed() int64 { + return config.GinkgoConfig.RandomSeed +} + +//GinkgoParallelNode returns the parallel node number for the current ginkgo process +//The node number is 1-indexed +func GinkgoParallelNode() int { + return config.GinkgoConfig.ParallelNode +} + +//Some matcher libraries or legacy codebases require a *testing.T +//GinkgoT implements an interface analogous to *testing.T and can be used if +//the library in question accepts *testing.T through an interface +// +// For example, with testify: +// assert.Equal(GinkgoT(), 123, 123, "they should be equal") +// +// Or with gomock: +// gomock.NewController(GinkgoT()) +// +// GinkgoT() takes an optional offset argument that can be used to get the +// correct line number associated with the failure. +func GinkgoT(optionalOffset ...int) GinkgoTInterface { + offset := 3 + if len(optionalOffset) > 0 { + offset = optionalOffset[0] + } + return testingtproxy.New(GinkgoWriter, Fail, offset) +} + +//The interface returned by GinkgoT(). This covers most of the methods +//in the testing package's T. +type GinkgoTInterface interface { + Fail() + Error(args ...interface{}) + Errorf(format string, args ...interface{}) + FailNow() + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) + Log(args ...interface{}) + Logf(format string, args ...interface{}) + Failed() bool + Parallel() + Skip(args ...interface{}) + Skipf(format string, args ...interface{}) + SkipNow() + Skipped() bool +} + +//Custom Ginkgo test reporters must implement the Reporter interface. +// +//The custom reporter is passed in a SuiteSummary when the suite begins and ends, +//and a SpecSummary just before a spec begins and just after a spec ends +type Reporter reporters.Reporter + +//Asynchronous specs are given a channel of the Done type. You must close or write to the channel +//to tell Ginkgo that your async test is done. +type Done chan<- interface{} + +//GinkgoTestDescription represents the information about the current running test returned by CurrentGinkgoTestDescription +// FullTestText: a concatenation of ComponentTexts and the TestText +// ComponentTexts: a list of all texts for the Describes & Contexts leading up to the current test +// TestText: the text in the actual It or Measure node +// IsMeasurement: true if the current test is a measurement +// FileName: the name of the file containing the current test +// LineNumber: the line number for the current test +// Failed: if the current test has failed, this will be true (useful in an AfterEach) +type GinkgoTestDescription struct { + FullTestText string + ComponentTexts []string + TestText string + + IsMeasurement bool + + FileName string + LineNumber int + + Failed bool + Duration time.Duration +} + +//CurrentGinkgoTestDescripton returns information about the current running test. +func CurrentGinkgoTestDescription() GinkgoTestDescription { + summary, ok := globalSuite.CurrentRunningSpecSummary() + if !ok { + return GinkgoTestDescription{} + } + + subjectCodeLocation := summary.ComponentCodeLocations[len(summary.ComponentCodeLocations)-1] + + return GinkgoTestDescription{ + ComponentTexts: summary.ComponentTexts[1:], + FullTestText: strings.Join(summary.ComponentTexts[1:], " "), + TestText: summary.ComponentTexts[len(summary.ComponentTexts)-1], + IsMeasurement: summary.IsMeasurement, + FileName: subjectCodeLocation.FileName, + LineNumber: subjectCodeLocation.LineNumber, + Failed: summary.HasFailureState(), + Duration: summary.RunTime, + } +} + +//Measurement tests receive a Benchmarker. +// +//You use the Time() function to time how long the passed in body function takes to run +//You use the RecordValue() function to track arbitrary numerical measurements. +//The RecordValueWithPrecision() function can be used alternatively to provide the unit +//and resolution of the numeric measurement. +//The optional info argument is passed to the test reporter and can be used to +// provide the measurement data to a custom reporter with context. +// +//See http://onsi.github.io/ginkgo/#benchmark_tests for more details +type Benchmarker interface { + Time(name string, body func(), info ...interface{}) (elapsedTime time.Duration) + RecordValue(name string, value float64, info ...interface{}) + RecordValueWithPrecision(name string, value float64, units string, precision int, info ...interface{}) +} + +//RunSpecs is the entry point for the Ginkgo test runner. +//You must call this within a Golang testing TestX(t *testing.T) function. +// +//To bootstrap a test suite you can use the Ginkgo CLI: +// +// ginkgo bootstrap +func RunSpecs(t GinkgoTestingT, description string) bool { + specReporters := []Reporter{buildDefaultReporter()} + return RunSpecsWithCustomReporters(t, description, specReporters) +} + +//To run your tests with Ginkgo's default reporter and your custom reporter(s), replace +//RunSpecs() with this method. +func RunSpecsWithDefaultAndCustomReporters(t GinkgoTestingT, description string, specReporters []Reporter) bool { + specReporters = append(specReporters, buildDefaultReporter()) + return RunSpecsWithCustomReporters(t, description, specReporters) +} + +//To run your tests with your custom reporter(s) (and *not* Ginkgo's default reporter), replace +//RunSpecs() with this method. Note that parallel tests will not work correctly without the default reporter +func RunSpecsWithCustomReporters(t GinkgoTestingT, description string, specReporters []Reporter) bool { + writer := GinkgoWriter.(*writer.Writer) + writer.SetStream(config.DefaultReporterConfig.Verbose) + reporters := make([]reporters.Reporter, len(specReporters)) + for i, reporter := range specReporters { + reporters[i] = reporter + } + passed, hasFocusedTests := globalSuite.Run(t, description, reporters, writer, config.GinkgoConfig) + if passed && hasFocusedTests && strings.TrimSpace(os.Getenv("GINKGO_EDITOR_INTEGRATION")) == "" { + fmt.Println("PASS | FOCUSED") + os.Exit(types.GINKGO_FOCUS_EXIT_CODE) + } + return passed +} + +func buildDefaultReporter() Reporter { + remoteReportingServer := config.GinkgoConfig.StreamHost + if remoteReportingServer == "" { + stenographer := stenographer.New(!config.DefaultReporterConfig.NoColor, config.GinkgoConfig.FlakeAttempts > 1) + return reporters.NewDefaultReporter(config.DefaultReporterConfig, stenographer) + } else { + return remote.NewForwardingReporter(remoteReportingServer, &http.Client{}, remote.NewOutputInterceptor()) + } +} + +//Skip notifies Ginkgo that the current spec was skipped. +func Skip(message string, callerSkip ...int) { + skip := 0 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + + globalFailer.Skip(message, codelocation.New(skip+1)) + panic(GINKGO_PANIC) +} + +//Fail notifies Ginkgo that the current spec has failed. (Gomega will call Fail for you automatically when an assertion fails.) +func Fail(message string, callerSkip ...int) { + skip := 0 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + + globalFailer.Fail(message, codelocation.New(skip+1)) + panic(GINKGO_PANIC) +} + +//GinkgoRecover should be deferred at the top of any spawned goroutine that (may) call `Fail` +//Since Gomega assertions call fail, you should throw a `defer GinkgoRecover()` at the top of any goroutine that +//calls out to Gomega +// +//Here's why: Ginkgo's `Fail` method records the failure and then panics to prevent +//further assertions from running. This panic must be recovered. Ginkgo does this for you +//if the panic originates in a Ginkgo node (an It, BeforeEach, etc...) +// +//Unfortunately, if a panic originates on a goroutine *launched* from one of these nodes there's no +//way for Ginkgo to rescue the panic. To do this, you must remember to `defer GinkgoRecover()` at the top of such a goroutine. +func GinkgoRecover() { + e := recover() + if e != nil { + globalFailer.Panic(codelocation.New(1), e) + } +} + +//Describe blocks allow you to organize your specs. A Describe block can contain any number of +//BeforeEach, AfterEach, JustBeforeEach, It, and Measurement blocks. +// +//In addition you can nest Describe, Context and When blocks. Describe, Context and When blocks are functionally +//equivalent. The difference is purely semantic -- you typical Describe the behavior of an object +//or method and, within that Describe, outline a number of Contexts and Whens. +func Describe(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypeNone, codelocation.New(1)) + return true +} + +//You can focus the tests within a describe block using FDescribe +func FDescribe(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypeFocused, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using PDescribe +func PDescribe(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using XDescribe +func XDescribe(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//Context blocks allow you to organize your specs. A Context block can contain any number of +//BeforeEach, AfterEach, JustBeforeEach, It, and Measurement blocks. +// +//In addition you can nest Describe, Context and When blocks. Describe, Context and When blocks are functionally +//equivalent. The difference is purely semantic -- you typical Describe the behavior of an object +//or method and, within that Describe, outline a number of Contexts and Whens. +func Context(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypeNone, codelocation.New(1)) + return true +} + +//You can focus the tests within a describe block using FContext +func FContext(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypeFocused, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using PContext +func PContext(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using XContext +func XContext(text string, body func()) bool { + globalSuite.PushContainerNode(text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//When blocks allow you to organize your specs. A When block can contain any number of +//BeforeEach, AfterEach, JustBeforeEach, It, and Measurement blocks. +// +//In addition you can nest Describe, Context and When blocks. Describe, Context and When blocks are functionally +//equivalent. The difference is purely semantic -- you typical Describe the behavior of an object +//or method and, within that Describe, outline a number of Contexts and Whens. +func When(text string, body func()) bool { + globalSuite.PushContainerNode("when "+text, body, types.FlagTypeNone, codelocation.New(1)) + return true +} + +//You can focus the tests within a describe block using FWhen +func FWhen(text string, body func()) bool { + globalSuite.PushContainerNode("when "+text, body, types.FlagTypeFocused, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using PWhen +func PWhen(text string, body func()) bool { + globalSuite.PushContainerNode("when "+text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//You can mark the tests within a describe block as pending using XWhen +func XWhen(text string, body func()) bool { + globalSuite.PushContainerNode("when "+text, body, types.FlagTypePending, codelocation.New(1)) + return true +} + +//It blocks contain your test code and assertions. You cannot nest any other Ginkgo blocks +//within an It block. +// +//Ginkgo will normally run It blocks synchronously. To perform asynchronous tests, pass a +//function that accepts a Done channel. When you do this, you can also provide an optional timeout. +func It(text string, body interface{}, timeout ...float64) bool { + globalSuite.PushItNode(text, body, types.FlagTypeNone, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//You can focus individual Its using FIt +func FIt(text string, body interface{}, timeout ...float64) bool { + globalSuite.PushItNode(text, body, types.FlagTypeFocused, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//You can mark Its as pending using PIt +func PIt(text string, _ ...interface{}) bool { + globalSuite.PushItNode(text, func() {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//You can mark Its as pending using XIt +func XIt(text string, _ ...interface{}) bool { + globalSuite.PushItNode(text, func() {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//Specify blocks are aliases for It blocks and allow for more natural wording in situations +//which "It" does not fit into a natural sentence flow. All the same protocols apply for Specify blocks +//which apply to It blocks. +func Specify(text string, body interface{}, timeout ...float64) bool { + globalSuite.PushItNode(text, body, types.FlagTypeNone, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//You can focus individual Specifys using FSpecify +func FSpecify(text string, body interface{}, timeout ...float64) bool { + globalSuite.PushItNode(text, body, types.FlagTypeFocused, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//You can mark Specifys as pending using PSpecify +func PSpecify(text string, is ...interface{}) bool { + globalSuite.PushItNode(text, func() {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//You can mark Specifys as pending using XSpecify +func XSpecify(text string, is ...interface{}) bool { + globalSuite.PushItNode(text, func() {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//By allows you to better document large Its. +// +//Generally you should try to keep your Its short and to the point. This is not always possible, however, +//especially in the context of integration tests that capture a particular workflow. +// +//By allows you to document such flows. By must be called within a runnable node (It, BeforeEach, Measure, etc...) +//By will simply log the passed in text to the GinkgoWriter. If By is handed a function it will immediately run the function. +func By(text string, callbacks ...func()) { + preamble := "\x1b[1mSTEP\x1b[0m" + if config.DefaultReporterConfig.NoColor { + preamble = "STEP" + } + fmt.Fprintln(GinkgoWriter, preamble+": "+text) + if len(callbacks) == 1 { + callbacks[0]() + } + if len(callbacks) > 1 { + panic("just one callback per By, please") + } +} + +//Measure blocks run the passed in body function repeatedly (determined by the samples argument) +//and accumulate metrics provided to the Benchmarker by the body function. +// +//The body function must have the signature: +// func(b Benchmarker) +func Measure(text string, body interface{}, samples int) bool { + globalSuite.PushMeasureNode(text, body, types.FlagTypeNone, codelocation.New(1), samples) + return true +} + +//You can focus individual Measures using FMeasure +func FMeasure(text string, body interface{}, samples int) bool { + globalSuite.PushMeasureNode(text, body, types.FlagTypeFocused, codelocation.New(1), samples) + return true +} + +//You can mark Maeasurements as pending using PMeasure +func PMeasure(text string, _ ...interface{}) bool { + globalSuite.PushMeasureNode(text, func(b Benchmarker) {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//You can mark Maeasurements as pending using XMeasure +func XMeasure(text string, _ ...interface{}) bool { + globalSuite.PushMeasureNode(text, func(b Benchmarker) {}, types.FlagTypePending, codelocation.New(1), 0) + return true +} + +//BeforeSuite blocks are run just once before any specs are run. When running in parallel, each +//parallel node process will call BeforeSuite. +// +//BeforeSuite blocks can be made asynchronous by providing a body function that accepts a Done channel +// +//You may only register *one* BeforeSuite handler per test suite. You typically do so in your bootstrap file at the top level. +func BeforeSuite(body interface{}, timeout ...float64) bool { + globalSuite.SetBeforeSuiteNode(body, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//AfterSuite blocks are *always* run after all the specs regardless of whether specs have passed or failed. +//Moreover, if Ginkgo receives an interrupt signal (^C) it will attempt to run the AfterSuite before exiting. +// +//When running in parallel, each parallel node process will call AfterSuite. +// +//AfterSuite blocks can be made asynchronous by providing a body function that accepts a Done channel +// +//You may only register *one* AfterSuite handler per test suite. You typically do so in your bootstrap file at the top level. +func AfterSuite(body interface{}, timeout ...float64) bool { + globalSuite.SetAfterSuiteNode(body, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//SynchronizedBeforeSuite blocks are primarily meant to solve the problem of setting up singleton external resources shared across +//nodes when running tests in parallel. For example, say you have a shared database that you can only start one instance of that +//must be used in your tests. When running in parallel, only one node should set up the database and all other nodes should wait +//until that node is done before running. +// +//SynchronizedBeforeSuite accomplishes this by taking *two* function arguments. The first is only run on parallel node #1. The second is +//run on all nodes, but *only* after the first function completes succesfully. Ginkgo also makes it possible to send data from the first function (on Node 1) +//to the second function (on all the other nodes). +// +//The functions have the following signatures. The first function (which only runs on node 1) has the signature: +// +// func() []byte +// +//or, to run asynchronously: +// +// func(done Done) []byte +// +//The byte array returned by the first function is then passed to the second function, which has the signature: +// +// func(data []byte) +// +//or, to run asynchronously: +// +// func(data []byte, done Done) +// +//Here's a simple pseudo-code example that starts a shared database on Node 1 and shares the database's address with the other nodes: +// +// var dbClient db.Client +// var dbRunner db.Runner +// +// var _ = SynchronizedBeforeSuite(func() []byte { +// dbRunner = db.NewRunner() +// err := dbRunner.Start() +// Ω(err).ShouldNot(HaveOccurred()) +// return []byte(dbRunner.URL) +// }, func(data []byte) { +// dbClient = db.NewClient() +// err := dbClient.Connect(string(data)) +// Ω(err).ShouldNot(HaveOccurred()) +// }) +func SynchronizedBeforeSuite(node1Body interface{}, allNodesBody interface{}, timeout ...float64) bool { + globalSuite.SetSynchronizedBeforeSuiteNode( + node1Body, + allNodesBody, + codelocation.New(1), + parseTimeout(timeout...), + ) + return true +} + +//SynchronizedAfterSuite blocks complement the SynchronizedBeforeSuite blocks in solving the problem of setting up +//external singleton resources shared across nodes when running tests in parallel. +// +//SynchronizedAfterSuite accomplishes this by taking *two* function arguments. The first runs on all nodes. The second runs only on parallel node #1 +//and *only* after all other nodes have finished and exited. This ensures that node 1, and any resources it is running, remain alive until +//all other nodes are finished. +// +//Both functions have the same signature: either func() or func(done Done) to run asynchronously. +// +//Here's a pseudo-code example that complements that given in SynchronizedBeforeSuite. Here, SynchronizedAfterSuite is used to tear down the shared database +//only after all nodes have finished: +// +// var _ = SynchronizedAfterSuite(func() { +// dbClient.Cleanup() +// }, func() { +// dbRunner.Stop() +// }) +func SynchronizedAfterSuite(allNodesBody interface{}, node1Body interface{}, timeout ...float64) bool { + globalSuite.SetSynchronizedAfterSuiteNode( + allNodesBody, + node1Body, + codelocation.New(1), + parseTimeout(timeout...), + ) + return true +} + +//BeforeEach blocks are run before It blocks. When multiple BeforeEach blocks are defined in nested +//Describe and Context blocks the outermost BeforeEach blocks are run first. +// +//Like It blocks, BeforeEach blocks can be made asynchronous by providing a body function that accepts +//a Done channel +func BeforeEach(body interface{}, timeout ...float64) bool { + globalSuite.PushBeforeEachNode(body, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//JustBeforeEach blocks are run before It blocks but *after* all BeforeEach blocks. For more details, +//read the [documentation](http://onsi.github.io/ginkgo/#separating_creation_and_configuration_) +// +//Like It blocks, BeforeEach blocks can be made asynchronous by providing a body function that accepts +//a Done channel +func JustBeforeEach(body interface{}, timeout ...float64) bool { + globalSuite.PushJustBeforeEachNode(body, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +//AfterEach blocks are run after It blocks. When multiple AfterEach blocks are defined in nested +//Describe and Context blocks the innermost AfterEach blocks are run first. +// +//Like It blocks, AfterEach blocks can be made asynchronous by providing a body function that accepts +//a Done channel +func AfterEach(body interface{}, timeout ...float64) bool { + globalSuite.PushAfterEachNode(body, codelocation.New(1), parseTimeout(timeout...)) + return true +} + +func parseTimeout(timeout ...float64) time.Duration { + if len(timeout) == 0 { + return time.Duration(defaultTimeout * int64(time.Second)) + } else { + return time.Duration(timeout[0] * float64(time.Second)) + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go b/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go new file mode 100644 index 0000000..fa2f0bf --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go @@ -0,0 +1,32 @@ +package codelocation + +import ( + "regexp" + "runtime" + "runtime/debug" + "strings" + + "github.com/onsi/ginkgo/types" +) + +func New(skip int) types.CodeLocation { + _, file, line, _ := runtime.Caller(skip + 1) + stackTrace := PruneStack(string(debug.Stack()), skip) + return types.CodeLocation{FileName: file, LineNumber: line, FullStackTrace: stackTrace} +} + +func PruneStack(fullStackTrace string, skip int) string { + stack := strings.Split(fullStackTrace, "\n") + if len(stack) > 2*(skip+1) { + stack = stack[2*(skip+1):] + } + prunedStack := []string{} + re := regexp.MustCompile(`\/ginkgo\/|\/pkg\/testing\/|\/pkg\/runtime\/`) + for i := 0; i < len(stack)/2; i++ { + if !re.Match([]byte(stack[i*2])) { + prunedStack = append(prunedStack, stack[i*2]) + prunedStack = append(prunedStack, stack[i*2+1]) + } + } + return strings.Join(prunedStack, "\n") +} diff --git a/vendor/github.com/onsi/ginkgo/internal/containernode/container_node.go b/vendor/github.com/onsi/ginkgo/internal/containernode/container_node.go new file mode 100644 index 0000000..0737746 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/containernode/container_node.go @@ -0,0 +1,151 @@ +package containernode + +import ( + "math/rand" + "sort" + + "github.com/onsi/ginkgo/internal/leafnodes" + "github.com/onsi/ginkgo/types" +) + +type subjectOrContainerNode struct { + containerNode *ContainerNode + subjectNode leafnodes.SubjectNode +} + +func (n subjectOrContainerNode) text() string { + if n.containerNode != nil { + return n.containerNode.Text() + } else { + return n.subjectNode.Text() + } +} + +type CollatedNodes struct { + Containers []*ContainerNode + Subject leafnodes.SubjectNode +} + +type ContainerNode struct { + text string + flag types.FlagType + codeLocation types.CodeLocation + + setupNodes []leafnodes.BasicNode + subjectAndContainerNodes []subjectOrContainerNode +} + +func New(text string, flag types.FlagType, codeLocation types.CodeLocation) *ContainerNode { + return &ContainerNode{ + text: text, + flag: flag, + codeLocation: codeLocation, + } +} + +func (container *ContainerNode) Shuffle(r *rand.Rand) { + sort.Sort(container) + permutation := r.Perm(len(container.subjectAndContainerNodes)) + shuffledNodes := make([]subjectOrContainerNode, len(container.subjectAndContainerNodes)) + for i, j := range permutation { + shuffledNodes[i] = container.subjectAndContainerNodes[j] + } + container.subjectAndContainerNodes = shuffledNodes +} + +func (node *ContainerNode) BackPropagateProgrammaticFocus() bool { + if node.flag == types.FlagTypePending { + return false + } + + shouldUnfocus := false + for _, subjectOrContainerNode := range node.subjectAndContainerNodes { + if subjectOrContainerNode.containerNode != nil { + shouldUnfocus = subjectOrContainerNode.containerNode.BackPropagateProgrammaticFocus() || shouldUnfocus + } else { + shouldUnfocus = (subjectOrContainerNode.subjectNode.Flag() == types.FlagTypeFocused) || shouldUnfocus + } + } + + if shouldUnfocus { + if node.flag == types.FlagTypeFocused { + node.flag = types.FlagTypeNone + } + return true + } + + return node.flag == types.FlagTypeFocused +} + +func (node *ContainerNode) Collate() []CollatedNodes { + return node.collate([]*ContainerNode{}) +} + +func (node *ContainerNode) collate(enclosingContainers []*ContainerNode) []CollatedNodes { + collated := make([]CollatedNodes, 0) + + containers := make([]*ContainerNode, len(enclosingContainers)) + copy(containers, enclosingContainers) + containers = append(containers, node) + + for _, subjectOrContainer := range node.subjectAndContainerNodes { + if subjectOrContainer.containerNode != nil { + collated = append(collated, subjectOrContainer.containerNode.collate(containers)...) + } else { + collated = append(collated, CollatedNodes{ + Containers: containers, + Subject: subjectOrContainer.subjectNode, + }) + } + } + + return collated +} + +func (node *ContainerNode) PushContainerNode(container *ContainerNode) { + node.subjectAndContainerNodes = append(node.subjectAndContainerNodes, subjectOrContainerNode{containerNode: container}) +} + +func (node *ContainerNode) PushSubjectNode(subject leafnodes.SubjectNode) { + node.subjectAndContainerNodes = append(node.subjectAndContainerNodes, subjectOrContainerNode{subjectNode: subject}) +} + +func (node *ContainerNode) PushSetupNode(setupNode leafnodes.BasicNode) { + node.setupNodes = append(node.setupNodes, setupNode) +} + +func (node *ContainerNode) SetupNodesOfType(nodeType types.SpecComponentType) []leafnodes.BasicNode { + nodes := []leafnodes.BasicNode{} + for _, setupNode := range node.setupNodes { + if setupNode.Type() == nodeType { + nodes = append(nodes, setupNode) + } + } + return nodes +} + +func (node *ContainerNode) Text() string { + return node.text +} + +func (node *ContainerNode) CodeLocation() types.CodeLocation { + return node.codeLocation +} + +func (node *ContainerNode) Flag() types.FlagType { + return node.flag +} + +//sort.Interface + +func (node *ContainerNode) Len() int { + return len(node.subjectAndContainerNodes) +} + +func (node *ContainerNode) Less(i, j int) bool { + return node.subjectAndContainerNodes[i].text() < node.subjectAndContainerNodes[j].text() +} + +func (node *ContainerNode) Swap(i, j int) { + node.subjectAndContainerNodes[i], node.subjectAndContainerNodes[j] = node.subjectAndContainerNodes[j], node.subjectAndContainerNodes[i] +} diff --git a/vendor/github.com/onsi/ginkgo/internal/failer/failer.go b/vendor/github.com/onsi/ginkgo/internal/failer/failer.go new file mode 100644 index 0000000..678ea25 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/failer/failer.go @@ -0,0 +1,92 @@ +package failer + +import ( + "fmt" + "sync" + + "github.com/onsi/ginkgo/types" +) + +type Failer struct { + lock *sync.Mutex + failure types.SpecFailure + state types.SpecState +} + +func New() *Failer { + return &Failer{ + lock: &sync.Mutex{}, + state: types.SpecStatePassed, + } +} + +func (f *Failer) Panic(location types.CodeLocation, forwardedPanic interface{}) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStatePanicked + f.failure = types.SpecFailure{ + Message: "Test Panicked", + Location: location, + ForwardedPanic: fmt.Sprintf("%v", forwardedPanic), + } + } +} + +func (f *Failer) Timeout(location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateTimedOut + f.failure = types.SpecFailure{ + Message: "Timed out", + Location: location, + } + } +} + +func (f *Failer) Fail(message string, location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateFailed + f.failure = types.SpecFailure{ + Message: message, + Location: location, + } + } +} + +func (f *Failer) Drain(componentType types.SpecComponentType, componentIndex int, componentCodeLocation types.CodeLocation) (types.SpecFailure, types.SpecState) { + f.lock.Lock() + defer f.lock.Unlock() + + failure := f.failure + outcome := f.state + if outcome != types.SpecStatePassed { + failure.ComponentType = componentType + failure.ComponentIndex = componentIndex + failure.ComponentCodeLocation = componentCodeLocation + } + + f.state = types.SpecStatePassed + f.failure = types.SpecFailure{} + + return failure, outcome +} + +func (f *Failer) Skip(message string, location types.CodeLocation) { + f.lock.Lock() + defer f.lock.Unlock() + + if f.state == types.SpecStatePassed { + f.state = types.SpecStateSkipped + f.failure = types.SpecFailure{ + Message: message, + Location: location, + } + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/benchmarker.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/benchmarker.go new file mode 100644 index 0000000..d6d5423 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/benchmarker.go @@ -0,0 +1,103 @@ +package leafnodes + +import ( + "math" + "time" + + "sync" + + "github.com/onsi/ginkgo/types" +) + +type benchmarker struct { + mu sync.Mutex + measurements map[string]*types.SpecMeasurement + orderCounter int +} + +func newBenchmarker() *benchmarker { + return &benchmarker{ + measurements: make(map[string]*types.SpecMeasurement, 0), + } +} + +func (b *benchmarker) Time(name string, body func(), info ...interface{}) (elapsedTime time.Duration) { + t := time.Now() + body() + elapsedTime = time.Since(t) + + b.mu.Lock() + defer b.mu.Unlock() + measurement := b.getMeasurement(name, "Fastest Time", "Slowest Time", "Average Time", "s", 3, info...) + measurement.Results = append(measurement.Results, elapsedTime.Seconds()) + + return +} + +func (b *benchmarker) RecordValue(name string, value float64, info ...interface{}) { + b.mu.Lock() + measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", "", 3, info...) + defer b.mu.Unlock() + measurement.Results = append(measurement.Results, value) +} + +func (b *benchmarker) RecordValueWithPrecision(name string, value float64, units string, precision int, info ...interface{}) { + b.mu.Lock() + measurement := b.getMeasurement(name, "Smallest", " Largest", " Average", units, precision, info...) + defer b.mu.Unlock() + measurement.Results = append(measurement.Results, value) +} + +func (b *benchmarker) getMeasurement(name string, smallestLabel string, largestLabel string, averageLabel string, units string, precision int, info ...interface{}) *types.SpecMeasurement { + measurement, ok := b.measurements[name] + if !ok { + var computedInfo interface{} + computedInfo = nil + if len(info) > 0 { + computedInfo = info[0] + } + measurement = &types.SpecMeasurement{ + Name: name, + Info: computedInfo, + Order: b.orderCounter, + SmallestLabel: smallestLabel, + LargestLabel: largestLabel, + AverageLabel: averageLabel, + Units: units, + Precision: precision, + Results: make([]float64, 0), + } + b.measurements[name] = measurement + b.orderCounter++ + } + + return measurement +} + +func (b *benchmarker) measurementsReport() map[string]*types.SpecMeasurement { + b.mu.Lock() + defer b.mu.Unlock() + for _, measurement := range b.measurements { + measurement.Smallest = math.MaxFloat64 + measurement.Largest = -math.MaxFloat64 + sum := float64(0) + sumOfSquares := float64(0) + + for _, result := range measurement.Results { + if result > measurement.Largest { + measurement.Largest = result + } + if result < measurement.Smallest { + measurement.Smallest = result + } + sum += result + sumOfSquares += result * result + } + + n := float64(len(measurement.Results)) + measurement.Average = sum / n + measurement.StdDeviation = math.Sqrt(sumOfSquares/n - (sum/n)*(sum/n)) + } + + return b.measurements +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/interfaces.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/interfaces.go new file mode 100644 index 0000000..8c3902d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/interfaces.go @@ -0,0 +1,19 @@ +package leafnodes + +import ( + "github.com/onsi/ginkgo/types" +) + +type BasicNode interface { + Type() types.SpecComponentType + Run() (types.SpecState, types.SpecFailure) + CodeLocation() types.CodeLocation +} + +type SubjectNode interface { + BasicNode + + Text() string + Flag() types.FlagType + Samples() int +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go new file mode 100644 index 0000000..6eded7b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go @@ -0,0 +1,47 @@ +package leafnodes + +import ( + "time" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type ItNode struct { + runner *runner + + flag types.FlagType + text string +} + +func NewItNode(text string, body interface{}, flag types.FlagType, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *ItNode { + return &ItNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeIt, componentIndex), + flag: flag, + text: text, + } +} + +func (node *ItNode) Run() (outcome types.SpecState, failure types.SpecFailure) { + return node.runner.run() +} + +func (node *ItNode) Type() types.SpecComponentType { + return types.SpecComponentTypeIt +} + +func (node *ItNode) Text() string { + return node.text +} + +func (node *ItNode) Flag() types.FlagType { + return node.flag +} + +func (node *ItNode) CodeLocation() types.CodeLocation { + return node.runner.codeLocation +} + +func (node *ItNode) Samples() int { + return 1 +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/measure_node.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/measure_node.go new file mode 100644 index 0000000..3ab9a6d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/measure_node.go @@ -0,0 +1,62 @@ +package leafnodes + +import ( + "reflect" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type MeasureNode struct { + runner *runner + + text string + flag types.FlagType + samples int + benchmarker *benchmarker +} + +func NewMeasureNode(text string, body interface{}, flag types.FlagType, codeLocation types.CodeLocation, samples int, failer *failer.Failer, componentIndex int) *MeasureNode { + benchmarker := newBenchmarker() + + wrappedBody := func() { + reflect.ValueOf(body).Call([]reflect.Value{reflect.ValueOf(benchmarker)}) + } + + return &MeasureNode{ + runner: newRunner(wrappedBody, codeLocation, 0, failer, types.SpecComponentTypeMeasure, componentIndex), + + text: text, + flag: flag, + samples: samples, + benchmarker: benchmarker, + } +} + +func (node *MeasureNode) Run() (outcome types.SpecState, failure types.SpecFailure) { + return node.runner.run() +} + +func (node *MeasureNode) MeasurementsReport() map[string]*types.SpecMeasurement { + return node.benchmarker.measurementsReport() +} + +func (node *MeasureNode) Type() types.SpecComponentType { + return types.SpecComponentTypeMeasure +} + +func (node *MeasureNode) Text() string { + return node.text +} + +func (node *MeasureNode) Flag() types.FlagType { + return node.flag +} + +func (node *MeasureNode) CodeLocation() types.CodeLocation { + return node.runner.codeLocation +} + +func (node *MeasureNode) Samples() int { + return node.samples +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go new file mode 100644 index 0000000..8b6518b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go @@ -0,0 +1,114 @@ +package leafnodes + +import ( + "fmt" + "reflect" + "time" + + "github.com/onsi/ginkgo/internal/codelocation" + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type runner struct { + isAsync bool + asyncFunc func(chan<- interface{}) + syncFunc func() + codeLocation types.CodeLocation + timeoutThreshold time.Duration + nodeType types.SpecComponentType + componentIndex int + failer *failer.Failer +} + +func newRunner(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, nodeType types.SpecComponentType, componentIndex int) *runner { + bodyType := reflect.TypeOf(body) + if bodyType.Kind() != reflect.Func { + panic(fmt.Sprintf("Expected a function but got something else at %v", codeLocation)) + } + + runner := &runner{ + codeLocation: codeLocation, + timeoutThreshold: timeout, + failer: failer, + nodeType: nodeType, + componentIndex: componentIndex, + } + + switch bodyType.NumIn() { + case 0: + runner.syncFunc = body.(func()) + return runner + case 1: + if !(bodyType.In(0).Kind() == reflect.Chan && bodyType.In(0).Elem().Kind() == reflect.Interface) { + panic(fmt.Sprintf("Must pass a Done channel to function at %v", codeLocation)) + } + + wrappedBody := func(done chan<- interface{}) { + bodyValue := reflect.ValueOf(body) + bodyValue.Call([]reflect.Value{reflect.ValueOf(done)}) + } + + runner.isAsync = true + runner.asyncFunc = wrappedBody + return runner + } + + panic(fmt.Sprintf("Too many arguments to function at %v", codeLocation)) +} + +func (r *runner) run() (outcome types.SpecState, failure types.SpecFailure) { + if r.isAsync { + return r.runAsync() + } else { + return r.runSync() + } +} + +func (r *runner) runAsync() (outcome types.SpecState, failure types.SpecFailure) { + done := make(chan interface{}, 1) + + go func() { + finished := false + + defer func() { + if e := recover(); e != nil || !finished { + r.failer.Panic(codelocation.New(2), e) + select { + case <-done: + break + default: + close(done) + } + } + }() + + r.asyncFunc(done) + finished = true + }() + + select { + case <-done: + case <-time.After(r.timeoutThreshold): + r.failer.Timeout(r.codeLocation) + } + + failure, outcome = r.failer.Drain(r.nodeType, r.componentIndex, r.codeLocation) + return +} +func (r *runner) runSync() (outcome types.SpecState, failure types.SpecFailure) { + finished := false + + defer func() { + if e := recover(); e != nil || !finished { + r.failer.Panic(codelocation.New(2), e) + } + + failure, outcome = r.failer.Drain(r.nodeType, r.componentIndex, r.codeLocation) + }() + + r.syncFunc() + finished = true + + return +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/setup_nodes.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/setup_nodes.go new file mode 100644 index 0000000..b4654cd --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/setup_nodes.go @@ -0,0 +1,42 @@ +package leafnodes + +import ( + "time" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type SetupNode struct { + runner *runner +} + +func (node *SetupNode) Run() (outcome types.SpecState, failure types.SpecFailure) { + return node.runner.run() +} + +func (node *SetupNode) Type() types.SpecComponentType { + return node.runner.nodeType +} + +func (node *SetupNode) CodeLocation() types.CodeLocation { + return node.runner.codeLocation +} + +func NewBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode { + return &SetupNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeBeforeEach, componentIndex), + } +} + +func NewAfterEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode { + return &SetupNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeAfterEach, componentIndex), + } +} + +func NewJustBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode { + return &SetupNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeJustBeforeEach, componentIndex), + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go new file mode 100644 index 0000000..80f16ed --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go @@ -0,0 +1,55 @@ +package leafnodes + +import ( + "time" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type SuiteNode interface { + Run(parallelNode int, parallelTotal int, syncHost string) bool + Passed() bool + Summary() *types.SetupSummary +} + +type simpleSuiteNode struct { + runner *runner + outcome types.SpecState + failure types.SpecFailure + runTime time.Duration +} + +func (node *simpleSuiteNode) Run(parallelNode int, parallelTotal int, syncHost string) bool { + t := time.Now() + node.outcome, node.failure = node.runner.run() + node.runTime = time.Since(t) + + return node.outcome == types.SpecStatePassed +} + +func (node *simpleSuiteNode) Passed() bool { + return node.outcome == types.SpecStatePassed +} + +func (node *simpleSuiteNode) Summary() *types.SetupSummary { + return &types.SetupSummary{ + ComponentType: node.runner.nodeType, + CodeLocation: node.runner.codeLocation, + State: node.outcome, + RunTime: node.runTime, + Failure: node.failure, + } +} + +func NewBeforeSuiteNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer) SuiteNode { + return &simpleSuiteNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeBeforeSuite, 0), + } +} + +func NewAfterSuiteNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer) SuiteNode { + return &simpleSuiteNode{ + runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeAfterSuite, 0), + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_after_suite_node.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_after_suite_node.go new file mode 100644 index 0000000..a721d0c --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_after_suite_node.go @@ -0,0 +1,90 @@ +package leafnodes + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "time" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type synchronizedAfterSuiteNode struct { + runnerA *runner + runnerB *runner + + outcome types.SpecState + failure types.SpecFailure + runTime time.Duration +} + +func NewSynchronizedAfterSuiteNode(bodyA interface{}, bodyB interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer) SuiteNode { + return &synchronizedAfterSuiteNode{ + runnerA: newRunner(bodyA, codeLocation, timeout, failer, types.SpecComponentTypeAfterSuite, 0), + runnerB: newRunner(bodyB, codeLocation, timeout, failer, types.SpecComponentTypeAfterSuite, 0), + } +} + +func (node *synchronizedAfterSuiteNode) Run(parallelNode int, parallelTotal int, syncHost string) bool { + node.outcome, node.failure = node.runnerA.run() + + if parallelNode == 1 { + if parallelTotal > 1 { + node.waitUntilOtherNodesAreDone(syncHost) + } + + outcome, failure := node.runnerB.run() + + if node.outcome == types.SpecStatePassed { + node.outcome, node.failure = outcome, failure + } + } + + return node.outcome == types.SpecStatePassed +} + +func (node *synchronizedAfterSuiteNode) Passed() bool { + return node.outcome == types.SpecStatePassed +} + +func (node *synchronizedAfterSuiteNode) Summary() *types.SetupSummary { + return &types.SetupSummary{ + ComponentType: node.runnerA.nodeType, + CodeLocation: node.runnerA.codeLocation, + State: node.outcome, + RunTime: node.runTime, + Failure: node.failure, + } +} + +func (node *synchronizedAfterSuiteNode) waitUntilOtherNodesAreDone(syncHost string) { + for { + if node.canRun(syncHost) { + return + } + + time.Sleep(50 * time.Millisecond) + } +} + +func (node *synchronizedAfterSuiteNode) canRun(syncHost string) bool { + resp, err := http.Get(syncHost + "/RemoteAfterSuiteData") + if err != nil || resp.StatusCode != http.StatusOK { + return false + } + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return false + } + resp.Body.Close() + + afterSuiteData := types.RemoteAfterSuiteData{} + err = json.Unmarshal(body, &afterSuiteData) + if err != nil { + return false + } + + return afterSuiteData.CanRun +} diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_before_suite_node.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_before_suite_node.go new file mode 100644 index 0000000..d5c8893 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/synchronized_before_suite_node.go @@ -0,0 +1,181 @@ +package leafnodes + +import ( + "bytes" + "encoding/json" + "io/ioutil" + "net/http" + "reflect" + "time" + + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/types" +) + +type synchronizedBeforeSuiteNode struct { + runnerA *runner + runnerB *runner + + data []byte + + outcome types.SpecState + failure types.SpecFailure + runTime time.Duration +} + +func NewSynchronizedBeforeSuiteNode(bodyA interface{}, bodyB interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer) SuiteNode { + node := &synchronizedBeforeSuiteNode{} + + node.runnerA = newRunner(node.wrapA(bodyA), codeLocation, timeout, failer, types.SpecComponentTypeBeforeSuite, 0) + node.runnerB = newRunner(node.wrapB(bodyB), codeLocation, timeout, failer, types.SpecComponentTypeBeforeSuite, 0) + + return node +} + +func (node *synchronizedBeforeSuiteNode) Run(parallelNode int, parallelTotal int, syncHost string) bool { + t := time.Now() + defer func() { + node.runTime = time.Since(t) + }() + + if parallelNode == 1 { + node.outcome, node.failure = node.runA(parallelTotal, syncHost) + } else { + node.outcome, node.failure = node.waitForA(syncHost) + } + + if node.outcome != types.SpecStatePassed { + return false + } + node.outcome, node.failure = node.runnerB.run() + + return node.outcome == types.SpecStatePassed +} + +func (node *synchronizedBeforeSuiteNode) runA(parallelTotal int, syncHost string) (types.SpecState, types.SpecFailure) { + outcome, failure := node.runnerA.run() + + if parallelTotal > 1 { + state := types.RemoteBeforeSuiteStatePassed + if outcome != types.SpecStatePassed { + state = types.RemoteBeforeSuiteStateFailed + } + json := (types.RemoteBeforeSuiteData{ + Data: node.data, + State: state, + }).ToJSON() + http.Post(syncHost+"/BeforeSuiteState", "application/json", bytes.NewBuffer(json)) + } + + return outcome, failure +} + +func (node *synchronizedBeforeSuiteNode) waitForA(syncHost string) (types.SpecState, types.SpecFailure) { + failure := func(message string) types.SpecFailure { + return types.SpecFailure{ + Message: message, + Location: node.runnerA.codeLocation, + ComponentType: node.runnerA.nodeType, + ComponentIndex: node.runnerA.componentIndex, + ComponentCodeLocation: node.runnerA.codeLocation, + } + } + for { + resp, err := http.Get(syncHost + "/BeforeSuiteState") + if err != nil || resp.StatusCode != http.StatusOK { + return types.SpecStateFailed, failure("Failed to fetch BeforeSuite state") + } + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return types.SpecStateFailed, failure("Failed to read BeforeSuite state") + } + resp.Body.Close() + + beforeSuiteData := types.RemoteBeforeSuiteData{} + err = json.Unmarshal(body, &beforeSuiteData) + if err != nil { + return types.SpecStateFailed, failure("Failed to decode BeforeSuite state") + } + + switch beforeSuiteData.State { + case types.RemoteBeforeSuiteStatePassed: + node.data = beforeSuiteData.Data + return types.SpecStatePassed, types.SpecFailure{} + case types.RemoteBeforeSuiteStateFailed: + return types.SpecStateFailed, failure("BeforeSuite on Node 1 failed") + case types.RemoteBeforeSuiteStateDisappeared: + return types.SpecStateFailed, failure("Node 1 disappeared before completing BeforeSuite") + } + + time.Sleep(50 * time.Millisecond) + } +} + +func (node *synchronizedBeforeSuiteNode) Passed() bool { + return node.outcome == types.SpecStatePassed +} + +func (node *synchronizedBeforeSuiteNode) Summary() *types.SetupSummary { + return &types.SetupSummary{ + ComponentType: node.runnerA.nodeType, + CodeLocation: node.runnerA.codeLocation, + State: node.outcome, + RunTime: node.runTime, + Failure: node.failure, + } +} + +func (node *synchronizedBeforeSuiteNode) wrapA(bodyA interface{}) interface{} { + typeA := reflect.TypeOf(bodyA) + if typeA.Kind() != reflect.Func { + panic("SynchronizedBeforeSuite expects a function as its first argument") + } + + takesNothing := typeA.NumIn() == 0 + takesADoneChannel := typeA.NumIn() == 1 && typeA.In(0).Kind() == reflect.Chan && typeA.In(0).Elem().Kind() == reflect.Interface + returnsBytes := typeA.NumOut() == 1 && typeA.Out(0).Kind() == reflect.Slice && typeA.Out(0).Elem().Kind() == reflect.Uint8 + + if !((takesNothing || takesADoneChannel) && returnsBytes) { + panic("SynchronizedBeforeSuite's first argument should be a function that returns []byte and either takes no arguments or takes a Done channel.") + } + + if takesADoneChannel { + return func(done chan<- interface{}) { + out := reflect.ValueOf(bodyA).Call([]reflect.Value{reflect.ValueOf(done)}) + node.data = out[0].Interface().([]byte) + } + } + + return func() { + out := reflect.ValueOf(bodyA).Call([]reflect.Value{}) + node.data = out[0].Interface().([]byte) + } +} + +func (node *synchronizedBeforeSuiteNode) wrapB(bodyB interface{}) interface{} { + typeB := reflect.TypeOf(bodyB) + if typeB.Kind() != reflect.Func { + panic("SynchronizedBeforeSuite expects a function as its second argument") + } + + returnsNothing := typeB.NumOut() == 0 + takesBytesOnly := typeB.NumIn() == 1 && typeB.In(0).Kind() == reflect.Slice && typeB.In(0).Elem().Kind() == reflect.Uint8 + takesBytesAndDone := typeB.NumIn() == 2 && + typeB.In(0).Kind() == reflect.Slice && typeB.In(0).Elem().Kind() == reflect.Uint8 && + typeB.In(1).Kind() == reflect.Chan && typeB.In(1).Elem().Kind() == reflect.Interface + + if !((takesBytesOnly || takesBytesAndDone) && returnsNothing) { + panic("SynchronizedBeforeSuite's second argument should be a function that returns nothing and either takes []byte or ([]byte, Done)") + } + + if takesBytesAndDone { + return func(done chan<- interface{}) { + reflect.ValueOf(bodyB).Call([]reflect.Value{reflect.ValueOf(node.data), reflect.ValueOf(done)}) + } + } + + return func() { + reflect.ValueOf(bodyB).Call([]reflect.Value{reflect.ValueOf(node.data)}) + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/aggregator.go b/vendor/github.com/onsi/ginkgo/internal/remote/aggregator.go new file mode 100644 index 0000000..6b54afe --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/aggregator.go @@ -0,0 +1,249 @@ +/* + +Aggregator is a reporter used by the Ginkgo CLI to aggregate and present parallel test output +coherently as tests complete. You shouldn't need to use this in your code. To run tests in parallel: + + ginkgo -nodes=N + +where N is the number of nodes you desire. +*/ +package remote + +import ( + "time" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/reporters/stenographer" + "github.com/onsi/ginkgo/types" +) + +type configAndSuite struct { + config config.GinkgoConfigType + summary *types.SuiteSummary +} + +type Aggregator struct { + nodeCount int + config config.DefaultReporterConfigType + stenographer stenographer.Stenographer + result chan bool + + suiteBeginnings chan configAndSuite + aggregatedSuiteBeginnings []configAndSuite + + beforeSuites chan *types.SetupSummary + aggregatedBeforeSuites []*types.SetupSummary + + afterSuites chan *types.SetupSummary + aggregatedAfterSuites []*types.SetupSummary + + specCompletions chan *types.SpecSummary + completedSpecs []*types.SpecSummary + + suiteEndings chan *types.SuiteSummary + aggregatedSuiteEndings []*types.SuiteSummary + specs []*types.SpecSummary + + startTime time.Time +} + +func NewAggregator(nodeCount int, result chan bool, config config.DefaultReporterConfigType, stenographer stenographer.Stenographer) *Aggregator { + aggregator := &Aggregator{ + nodeCount: nodeCount, + result: result, + config: config, + stenographer: stenographer, + + suiteBeginnings: make(chan configAndSuite, 0), + beforeSuites: make(chan *types.SetupSummary, 0), + afterSuites: make(chan *types.SetupSummary, 0), + specCompletions: make(chan *types.SpecSummary, 0), + suiteEndings: make(chan *types.SuiteSummary, 0), + } + + go aggregator.mux() + + return aggregator +} + +func (aggregator *Aggregator) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) { + aggregator.suiteBeginnings <- configAndSuite{config, summary} +} + +func (aggregator *Aggregator) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + aggregator.beforeSuites <- setupSummary +} + +func (aggregator *Aggregator) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + aggregator.afterSuites <- setupSummary +} + +func (aggregator *Aggregator) SpecWillRun(specSummary *types.SpecSummary) { + //noop +} + +func (aggregator *Aggregator) SpecDidComplete(specSummary *types.SpecSummary) { + aggregator.specCompletions <- specSummary +} + +func (aggregator *Aggregator) SpecSuiteDidEnd(summary *types.SuiteSummary) { + aggregator.suiteEndings <- summary +} + +func (aggregator *Aggregator) mux() { +loop: + for { + select { + case configAndSuite := <-aggregator.suiteBeginnings: + aggregator.registerSuiteBeginning(configAndSuite) + case setupSummary := <-aggregator.beforeSuites: + aggregator.registerBeforeSuite(setupSummary) + case setupSummary := <-aggregator.afterSuites: + aggregator.registerAfterSuite(setupSummary) + case specSummary := <-aggregator.specCompletions: + aggregator.registerSpecCompletion(specSummary) + case suite := <-aggregator.suiteEndings: + finished, passed := aggregator.registerSuiteEnding(suite) + if finished { + aggregator.result <- passed + break loop + } + } + } +} + +func (aggregator *Aggregator) registerSuiteBeginning(configAndSuite configAndSuite) { + aggregator.aggregatedSuiteBeginnings = append(aggregator.aggregatedSuiteBeginnings, configAndSuite) + + if len(aggregator.aggregatedSuiteBeginnings) == 1 { + aggregator.startTime = time.Now() + } + + if len(aggregator.aggregatedSuiteBeginnings) != aggregator.nodeCount { + return + } + + aggregator.stenographer.AnnounceSuite(configAndSuite.summary.SuiteDescription, configAndSuite.config.RandomSeed, configAndSuite.config.RandomizeAllSpecs, aggregator.config.Succinct) + + totalNumberOfSpecs := 0 + if len(aggregator.aggregatedSuiteBeginnings) > 0 { + totalNumberOfSpecs = configAndSuite.summary.NumberOfSpecsBeforeParallelization + } + + aggregator.stenographer.AnnounceTotalNumberOfSpecs(totalNumberOfSpecs, aggregator.config.Succinct) + aggregator.stenographer.AnnounceAggregatedParallelRun(aggregator.nodeCount, aggregator.config.Succinct) + aggregator.flushCompletedSpecs() +} + +func (aggregator *Aggregator) registerBeforeSuite(setupSummary *types.SetupSummary) { + aggregator.aggregatedBeforeSuites = append(aggregator.aggregatedBeforeSuites, setupSummary) + aggregator.flushCompletedSpecs() +} + +func (aggregator *Aggregator) registerAfterSuite(setupSummary *types.SetupSummary) { + aggregator.aggregatedAfterSuites = append(aggregator.aggregatedAfterSuites, setupSummary) + aggregator.flushCompletedSpecs() +} + +func (aggregator *Aggregator) registerSpecCompletion(specSummary *types.SpecSummary) { + aggregator.completedSpecs = append(aggregator.completedSpecs, specSummary) + aggregator.specs = append(aggregator.specs, specSummary) + aggregator.flushCompletedSpecs() +} + +func (aggregator *Aggregator) flushCompletedSpecs() { + if len(aggregator.aggregatedSuiteBeginnings) != aggregator.nodeCount { + return + } + + for _, setupSummary := range aggregator.aggregatedBeforeSuites { + aggregator.announceBeforeSuite(setupSummary) + } + + for _, specSummary := range aggregator.completedSpecs { + aggregator.announceSpec(specSummary) + } + + for _, setupSummary := range aggregator.aggregatedAfterSuites { + aggregator.announceAfterSuite(setupSummary) + } + + aggregator.aggregatedBeforeSuites = []*types.SetupSummary{} + aggregator.completedSpecs = []*types.SpecSummary{} + aggregator.aggregatedAfterSuites = []*types.SetupSummary{} +} + +func (aggregator *Aggregator) announceBeforeSuite(setupSummary *types.SetupSummary) { + aggregator.stenographer.AnnounceCapturedOutput(setupSummary.CapturedOutput) + if setupSummary.State != types.SpecStatePassed { + aggregator.stenographer.AnnounceBeforeSuiteFailure(setupSummary, aggregator.config.Succinct, aggregator.config.FullTrace) + } +} + +func (aggregator *Aggregator) announceAfterSuite(setupSummary *types.SetupSummary) { + aggregator.stenographer.AnnounceCapturedOutput(setupSummary.CapturedOutput) + if setupSummary.State != types.SpecStatePassed { + aggregator.stenographer.AnnounceAfterSuiteFailure(setupSummary, aggregator.config.Succinct, aggregator.config.FullTrace) + } +} + +func (aggregator *Aggregator) announceSpec(specSummary *types.SpecSummary) { + if aggregator.config.Verbose && specSummary.State != types.SpecStatePending && specSummary.State != types.SpecStateSkipped { + aggregator.stenographer.AnnounceSpecWillRun(specSummary) + } + + aggregator.stenographer.AnnounceCapturedOutput(specSummary.CapturedOutput) + + switch specSummary.State { + case types.SpecStatePassed: + if specSummary.IsMeasurement { + aggregator.stenographer.AnnounceSuccesfulMeasurement(specSummary, aggregator.config.Succinct) + } else if specSummary.RunTime.Seconds() >= aggregator.config.SlowSpecThreshold { + aggregator.stenographer.AnnounceSuccesfulSlowSpec(specSummary, aggregator.config.Succinct) + } else { + aggregator.stenographer.AnnounceSuccesfulSpec(specSummary) + } + + case types.SpecStatePending: + aggregator.stenographer.AnnouncePendingSpec(specSummary, aggregator.config.NoisyPendings && !aggregator.config.Succinct) + case types.SpecStateSkipped: + aggregator.stenographer.AnnounceSkippedSpec(specSummary, aggregator.config.Succinct || !aggregator.config.NoisySkippings, aggregator.config.FullTrace) + case types.SpecStateTimedOut: + aggregator.stenographer.AnnounceSpecTimedOut(specSummary, aggregator.config.Succinct, aggregator.config.FullTrace) + case types.SpecStatePanicked: + aggregator.stenographer.AnnounceSpecPanicked(specSummary, aggregator.config.Succinct, aggregator.config.FullTrace) + case types.SpecStateFailed: + aggregator.stenographer.AnnounceSpecFailed(specSummary, aggregator.config.Succinct, aggregator.config.FullTrace) + } +} + +func (aggregator *Aggregator) registerSuiteEnding(suite *types.SuiteSummary) (finished bool, passed bool) { + aggregator.aggregatedSuiteEndings = append(aggregator.aggregatedSuiteEndings, suite) + if len(aggregator.aggregatedSuiteEndings) < aggregator.nodeCount { + return false, false + } + + aggregatedSuiteSummary := &types.SuiteSummary{} + aggregatedSuiteSummary.SuiteSucceeded = true + + for _, suiteSummary := range aggregator.aggregatedSuiteEndings { + if suiteSummary.SuiteSucceeded == false { + aggregatedSuiteSummary.SuiteSucceeded = false + } + + aggregatedSuiteSummary.NumberOfSpecsThatWillBeRun += suiteSummary.NumberOfSpecsThatWillBeRun + aggregatedSuiteSummary.NumberOfTotalSpecs += suiteSummary.NumberOfTotalSpecs + aggregatedSuiteSummary.NumberOfPassedSpecs += suiteSummary.NumberOfPassedSpecs + aggregatedSuiteSummary.NumberOfFailedSpecs += suiteSummary.NumberOfFailedSpecs + aggregatedSuiteSummary.NumberOfPendingSpecs += suiteSummary.NumberOfPendingSpecs + aggregatedSuiteSummary.NumberOfSkippedSpecs += suiteSummary.NumberOfSkippedSpecs + aggregatedSuiteSummary.NumberOfFlakedSpecs += suiteSummary.NumberOfFlakedSpecs + } + + aggregatedSuiteSummary.RunTime = time.Since(aggregator.startTime) + + aggregator.stenographer.SummarizeFailures(aggregator.specs) + aggregator.stenographer.AnnounceSpecRunCompletion(aggregatedSuiteSummary, aggregator.config.Succinct) + + return true, aggregatedSuiteSummary.SuiteSucceeded +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/forwarding_reporter.go b/vendor/github.com/onsi/ginkgo/internal/remote/forwarding_reporter.go new file mode 100644 index 0000000..025eb50 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/forwarding_reporter.go @@ -0,0 +1,90 @@ +package remote + +import ( + "bytes" + "encoding/json" + "io" + "net/http" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/types" +) + +//An interface to net/http's client to allow the injection of fakes under test +type Poster interface { + Post(url string, bodyType string, body io.Reader) (resp *http.Response, err error) +} + +/* +The ForwardingReporter is a Ginkgo reporter that forwards information to +a Ginkgo remote server. + +When streaming parallel test output, this repoter is automatically installed by Ginkgo. + +This is accomplished by passing in the GINKGO_REMOTE_REPORTING_SERVER environment variable to `go test`, the Ginkgo test runner +detects this environment variable (which should contain the host of the server) and automatically installs a ForwardingReporter +in place of Ginkgo's DefaultReporter. +*/ + +type ForwardingReporter struct { + serverHost string + poster Poster + outputInterceptor OutputInterceptor +} + +func NewForwardingReporter(serverHost string, poster Poster, outputInterceptor OutputInterceptor) *ForwardingReporter { + return &ForwardingReporter{ + serverHost: serverHost, + poster: poster, + outputInterceptor: outputInterceptor, + } +} + +func (reporter *ForwardingReporter) post(path string, data interface{}) { + encoded, _ := json.Marshal(data) + buffer := bytes.NewBuffer(encoded) + reporter.poster.Post(reporter.serverHost+path, "application/json", buffer) +} + +func (reporter *ForwardingReporter) SpecSuiteWillBegin(conf config.GinkgoConfigType, summary *types.SuiteSummary) { + data := struct { + Config config.GinkgoConfigType `json:"config"` + Summary *types.SuiteSummary `json:"suite-summary"` + }{ + conf, + summary, + } + + reporter.outputInterceptor.StartInterceptingOutput() + reporter.post("/SpecSuiteWillBegin", data) +} + +func (reporter *ForwardingReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + output, _ := reporter.outputInterceptor.StopInterceptingAndReturnOutput() + reporter.outputInterceptor.StartInterceptingOutput() + setupSummary.CapturedOutput = output + reporter.post("/BeforeSuiteDidRun", setupSummary) +} + +func (reporter *ForwardingReporter) SpecWillRun(specSummary *types.SpecSummary) { + reporter.post("/SpecWillRun", specSummary) +} + +func (reporter *ForwardingReporter) SpecDidComplete(specSummary *types.SpecSummary) { + output, _ := reporter.outputInterceptor.StopInterceptingAndReturnOutput() + reporter.outputInterceptor.StartInterceptingOutput() + specSummary.CapturedOutput = output + reporter.post("/SpecDidComplete", specSummary) +} + +func (reporter *ForwardingReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + output, _ := reporter.outputInterceptor.StopInterceptingAndReturnOutput() + reporter.outputInterceptor.StartInterceptingOutput() + setupSummary.CapturedOutput = output + reporter.post("/AfterSuiteDidRun", setupSummary) +} + +func (reporter *ForwardingReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { + reporter.outputInterceptor.StopInterceptingAndReturnOutput() + reporter.post("/SpecSuiteDidEnd", summary) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor.go b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor.go new file mode 100644 index 0000000..093f451 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor.go @@ -0,0 +1,10 @@ +package remote + +/* +The OutputInterceptor is used by the ForwardingReporter to +intercept and capture all stdin and stderr output during a test run. +*/ +type OutputInterceptor interface { + StartInterceptingOutput() error + StopInterceptingAndReturnOutput() (string, error) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_unix.go b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_unix.go new file mode 100644 index 0000000..980065d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_unix.go @@ -0,0 +1,55 @@ +// +build freebsd openbsd netbsd dragonfly darwin linux solaris + +package remote + +import ( + "errors" + "io/ioutil" + "os" +) + +func NewOutputInterceptor() OutputInterceptor { + return &outputInterceptor{} +} + +type outputInterceptor struct { + redirectFile *os.File + intercepting bool +} + +func (interceptor *outputInterceptor) StartInterceptingOutput() error { + if interceptor.intercepting { + return errors.New("Already intercepting output!") + } + interceptor.intercepting = true + + var err error + + interceptor.redirectFile, err = ioutil.TempFile("", "ginkgo-output") + if err != nil { + return err + } + + // Call a function in ./syscall_dup_*.go + // If building for everything other than linux_arm64, + // use a "normal" syscall.Dup2(oldfd, newfd) call. If building for linux_arm64 (which doesn't have syscall.Dup2) + // call syscall.Dup3(oldfd, newfd, 0). They are nearly identical, see: http://linux.die.net/man/2/dup3 + syscallDup(int(interceptor.redirectFile.Fd()), 1) + syscallDup(int(interceptor.redirectFile.Fd()), 2) + + return nil +} + +func (interceptor *outputInterceptor) StopInterceptingAndReturnOutput() (string, error) { + if !interceptor.intercepting { + return "", errors.New("Not intercepting output!") + } + + interceptor.redirectFile.Close() + output, err := ioutil.ReadFile(interceptor.redirectFile.Name()) + os.Remove(interceptor.redirectFile.Name()) + + interceptor.intercepting = false + + return string(output), err +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_win.go b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_win.go new file mode 100644 index 0000000..c8f97d9 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_win.go @@ -0,0 +1,33 @@ +// +build windows + +package remote + +import ( + "errors" +) + +func NewOutputInterceptor() OutputInterceptor { + return &outputInterceptor{} +} + +type outputInterceptor struct { + intercepting bool +} + +func (interceptor *outputInterceptor) StartInterceptingOutput() error { + if interceptor.intercepting { + return errors.New("Already intercepting output!") + } + interceptor.intercepting = true + + // not working on windows... + + return nil +} + +func (interceptor *outputInterceptor) StopInterceptingAndReturnOutput() (string, error) { + // not working on windows... + interceptor.intercepting = false + + return "", nil +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/server.go b/vendor/github.com/onsi/ginkgo/internal/remote/server.go new file mode 100644 index 0000000..367c54d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/server.go @@ -0,0 +1,224 @@ +/* + +The remote package provides the pieces to allow Ginkgo test suites to report to remote listeners. +This is used, primarily, to enable streaming parallel test output but has, in principal, broader applications (e.g. streaming test output to a browser). + +*/ + +package remote + +import ( + "encoding/json" + "io/ioutil" + "net" + "net/http" + "sync" + + "github.com/onsi/ginkgo/internal/spec_iterator" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/reporters" + "github.com/onsi/ginkgo/types" +) + +/* +Server spins up on an automatically selected port and listens for communication from the forwarding reporter. +It then forwards that communication to attached reporters. +*/ +type Server struct { + listener net.Listener + reporters []reporters.Reporter + alives []func() bool + lock *sync.Mutex + beforeSuiteData types.RemoteBeforeSuiteData + parallelTotal int + counter int +} + +//Create a new server, automatically selecting a port +func NewServer(parallelTotal int) (*Server, error) { + listener, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + return nil, err + } + return &Server{ + listener: listener, + lock: &sync.Mutex{}, + alives: make([]func() bool, parallelTotal), + beforeSuiteData: types.RemoteBeforeSuiteData{Data: nil, State: types.RemoteBeforeSuiteStatePending}, + parallelTotal: parallelTotal, + }, nil +} + +//Start the server. You don't need to `go s.Start()`, just `s.Start()` +func (server *Server) Start() { + httpServer := &http.Server{} + mux := http.NewServeMux() + httpServer.Handler = mux + + //streaming endpoints + mux.HandleFunc("/SpecSuiteWillBegin", server.specSuiteWillBegin) + mux.HandleFunc("/BeforeSuiteDidRun", server.beforeSuiteDidRun) + mux.HandleFunc("/AfterSuiteDidRun", server.afterSuiteDidRun) + mux.HandleFunc("/SpecWillRun", server.specWillRun) + mux.HandleFunc("/SpecDidComplete", server.specDidComplete) + mux.HandleFunc("/SpecSuiteDidEnd", server.specSuiteDidEnd) + + //synchronization endpoints + mux.HandleFunc("/BeforeSuiteState", server.handleBeforeSuiteState) + mux.HandleFunc("/RemoteAfterSuiteData", server.handleRemoteAfterSuiteData) + mux.HandleFunc("/counter", server.handleCounter) + mux.HandleFunc("/has-counter", server.handleHasCounter) //for backward compatibility + + go httpServer.Serve(server.listener) +} + +//Stop the server +func (server *Server) Close() { + server.listener.Close() +} + +//The address the server can be reached it. Pass this into the `ForwardingReporter`. +func (server *Server) Address() string { + return "http://" + server.listener.Addr().String() +} + +// +// Streaming Endpoints +// + +//The server will forward all received messages to Ginkgo reporters registered with `RegisterReporters` +func (server *Server) readAll(request *http.Request) []byte { + defer request.Body.Close() + body, _ := ioutil.ReadAll(request.Body) + return body +} + +func (server *Server) RegisterReporters(reporters ...reporters.Reporter) { + server.reporters = reporters +} + +func (server *Server) specSuiteWillBegin(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + + var data struct { + Config config.GinkgoConfigType `json:"config"` + Summary *types.SuiteSummary `json:"suite-summary"` + } + + json.Unmarshal(body, &data) + + for _, reporter := range server.reporters { + reporter.SpecSuiteWillBegin(data.Config, data.Summary) + } +} + +func (server *Server) beforeSuiteDidRun(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + var setupSummary *types.SetupSummary + json.Unmarshal(body, &setupSummary) + + for _, reporter := range server.reporters { + reporter.BeforeSuiteDidRun(setupSummary) + } +} + +func (server *Server) afterSuiteDidRun(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + var setupSummary *types.SetupSummary + json.Unmarshal(body, &setupSummary) + + for _, reporter := range server.reporters { + reporter.AfterSuiteDidRun(setupSummary) + } +} + +func (server *Server) specWillRun(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + var specSummary *types.SpecSummary + json.Unmarshal(body, &specSummary) + + for _, reporter := range server.reporters { + reporter.SpecWillRun(specSummary) + } +} + +func (server *Server) specDidComplete(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + var specSummary *types.SpecSummary + json.Unmarshal(body, &specSummary) + + for _, reporter := range server.reporters { + reporter.SpecDidComplete(specSummary) + } +} + +func (server *Server) specSuiteDidEnd(writer http.ResponseWriter, request *http.Request) { + body := server.readAll(request) + var suiteSummary *types.SuiteSummary + json.Unmarshal(body, &suiteSummary) + + for _, reporter := range server.reporters { + reporter.SpecSuiteDidEnd(suiteSummary) + } +} + +// +// Synchronization Endpoints +// + +func (server *Server) RegisterAlive(node int, alive func() bool) { + server.lock.Lock() + defer server.lock.Unlock() + server.alives[node-1] = alive +} + +func (server *Server) nodeIsAlive(node int) bool { + server.lock.Lock() + defer server.lock.Unlock() + alive := server.alives[node-1] + if alive == nil { + return true + } + return alive() +} + +func (server *Server) handleBeforeSuiteState(writer http.ResponseWriter, request *http.Request) { + if request.Method == "POST" { + dec := json.NewDecoder(request.Body) + dec.Decode(&(server.beforeSuiteData)) + } else { + beforeSuiteData := server.beforeSuiteData + if beforeSuiteData.State == types.RemoteBeforeSuiteStatePending && !server.nodeIsAlive(1) { + beforeSuiteData.State = types.RemoteBeforeSuiteStateDisappeared + } + enc := json.NewEncoder(writer) + enc.Encode(beforeSuiteData) + } +} + +func (server *Server) handleRemoteAfterSuiteData(writer http.ResponseWriter, request *http.Request) { + afterSuiteData := types.RemoteAfterSuiteData{ + CanRun: true, + } + for i := 2; i <= server.parallelTotal; i++ { + afterSuiteData.CanRun = afterSuiteData.CanRun && !server.nodeIsAlive(i) + } + + enc := json.NewEncoder(writer) + enc.Encode(afterSuiteData) +} + +func (server *Server) handleCounter(writer http.ResponseWriter, request *http.Request) { + c := spec_iterator.Counter{} + server.lock.Lock() + c.Index = server.counter + server.counter = server.counter + 1 + server.lock.Unlock() + + json.NewEncoder(writer).Encode(c) +} + +func (server *Server) handleHasCounter(writer http.ResponseWriter, request *http.Request) { + writer.Write([]byte("")) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_arm64.go b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_arm64.go new file mode 100644 index 0000000..9550d37 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_arm64.go @@ -0,0 +1,11 @@ +// +build linux,arm64 + +package remote + +import "syscall" + +// linux_arm64 doesn't have syscall.Dup2 which ginkgo uses, so +// use the nearly identical syscall.Dup3 instead +func syscallDup(oldfd int, newfd int) (err error) { + return syscall.Dup3(oldfd, newfd, 0) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_solaris.go b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_solaris.go new file mode 100644 index 0000000..75ef7fb --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_solaris.go @@ -0,0 +1,9 @@ +// +build solaris + +package remote + +import "golang.org/x/sys/unix" + +func syscallDup(oldfd int, newfd int) (err error) { + return unix.Dup2(oldfd, newfd) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go new file mode 100644 index 0000000..ef62559 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go @@ -0,0 +1,11 @@ +// +build !linux !arm64 +// +build !windows +// +build !solaris + +package remote + +import "syscall" + +func syscallDup(oldfd int, newfd int) (err error) { + return syscall.Dup2(oldfd, newfd) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec/spec.go b/vendor/github.com/onsi/ginkgo/internal/spec/spec.go new file mode 100644 index 0000000..530f32b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec/spec.go @@ -0,0 +1,212 @@ +package spec + +import ( + "fmt" + "io" + "time" + + "github.com/onsi/ginkgo/internal/containernode" + "github.com/onsi/ginkgo/internal/leafnodes" + "github.com/onsi/ginkgo/types" +) + +type Spec struct { + subject leafnodes.SubjectNode + focused bool + announceProgress bool + + containers []*containernode.ContainerNode + + state types.SpecState + runTime time.Duration + startTime time.Time + failure types.SpecFailure + previousFailures bool +} + +func New(subject leafnodes.SubjectNode, containers []*containernode.ContainerNode, announceProgress bool) *Spec { + spec := &Spec{ + subject: subject, + containers: containers, + focused: subject.Flag() == types.FlagTypeFocused, + announceProgress: announceProgress, + } + + spec.processFlag(subject.Flag()) + for i := len(containers) - 1; i >= 0; i-- { + spec.processFlag(containers[i].Flag()) + } + + return spec +} + +func (spec *Spec) processFlag(flag types.FlagType) { + if flag == types.FlagTypeFocused { + spec.focused = true + } else if flag == types.FlagTypePending { + spec.state = types.SpecStatePending + } +} + +func (spec *Spec) Skip() { + spec.state = types.SpecStateSkipped +} + +func (spec *Spec) Failed() bool { + return spec.state == types.SpecStateFailed || spec.state == types.SpecStatePanicked || spec.state == types.SpecStateTimedOut +} + +func (spec *Spec) Passed() bool { + return spec.state == types.SpecStatePassed +} + +func (spec *Spec) Flaked() bool { + return spec.state == types.SpecStatePassed && spec.previousFailures +} + +func (spec *Spec) Pending() bool { + return spec.state == types.SpecStatePending +} + +func (spec *Spec) Skipped() bool { + return spec.state == types.SpecStateSkipped +} + +func (spec *Spec) Focused() bool { + return spec.focused +} + +func (spec *Spec) IsMeasurement() bool { + return spec.subject.Type() == types.SpecComponentTypeMeasure +} + +func (spec *Spec) Summary(suiteID string) *types.SpecSummary { + componentTexts := make([]string, len(spec.containers)+1) + componentCodeLocations := make([]types.CodeLocation, len(spec.containers)+1) + + for i, container := range spec.containers { + componentTexts[i] = container.Text() + componentCodeLocations[i] = container.CodeLocation() + } + + componentTexts[len(spec.containers)] = spec.subject.Text() + componentCodeLocations[len(spec.containers)] = spec.subject.CodeLocation() + + runTime := spec.runTime + if runTime == 0 { + runTime = time.Since(spec.startTime) + } + + return &types.SpecSummary{ + IsMeasurement: spec.IsMeasurement(), + NumberOfSamples: spec.subject.Samples(), + ComponentTexts: componentTexts, + ComponentCodeLocations: componentCodeLocations, + State: spec.state, + RunTime: runTime, + Failure: spec.failure, + Measurements: spec.measurementsReport(), + SuiteID: suiteID, + } +} + +func (spec *Spec) ConcatenatedString() string { + s := "" + for _, container := range spec.containers { + s += container.Text() + " " + } + + return s + spec.subject.Text() +} + +func (spec *Spec) Run(writer io.Writer) { + if spec.state == types.SpecStateFailed { + spec.previousFailures = true + } + + spec.startTime = time.Now() + defer func() { + spec.runTime = time.Since(spec.startTime) + }() + + for sample := 0; sample < spec.subject.Samples(); sample++ { + spec.runSample(sample, writer) + + if spec.state != types.SpecStatePassed { + return + } + } +} + +func (spec *Spec) runSample(sample int, writer io.Writer) { + spec.state = types.SpecStatePassed + spec.failure = types.SpecFailure{} + innerMostContainerIndexToUnwind := -1 + + defer func() { + for i := innerMostContainerIndexToUnwind; i >= 0; i-- { + container := spec.containers[i] + for _, afterEach := range container.SetupNodesOfType(types.SpecComponentTypeAfterEach) { + spec.announceSetupNode(writer, "AfterEach", container, afterEach) + afterEachState, afterEachFailure := afterEach.Run() + if afterEachState != types.SpecStatePassed && spec.state == types.SpecStatePassed { + spec.state = afterEachState + spec.failure = afterEachFailure + } + } + } + }() + + for i, container := range spec.containers { + innerMostContainerIndexToUnwind = i + for _, beforeEach := range container.SetupNodesOfType(types.SpecComponentTypeBeforeEach) { + spec.announceSetupNode(writer, "BeforeEach", container, beforeEach) + spec.state, spec.failure = beforeEach.Run() + if spec.state != types.SpecStatePassed { + return + } + } + } + + for _, container := range spec.containers { + for _, justBeforeEach := range container.SetupNodesOfType(types.SpecComponentTypeJustBeforeEach) { + spec.announceSetupNode(writer, "JustBeforeEach", container, justBeforeEach) + spec.state, spec.failure = justBeforeEach.Run() + if spec.state != types.SpecStatePassed { + return + } + } + } + + spec.announceSubject(writer, spec.subject) + spec.state, spec.failure = spec.subject.Run() +} + +func (spec *Spec) announceSetupNode(writer io.Writer, nodeType string, container *containernode.ContainerNode, setupNode leafnodes.BasicNode) { + if spec.announceProgress { + s := fmt.Sprintf("[%s] %s\n %s\n", nodeType, container.Text(), setupNode.CodeLocation().String()) + writer.Write([]byte(s)) + } +} + +func (spec *Spec) announceSubject(writer io.Writer, subject leafnodes.SubjectNode) { + if spec.announceProgress { + nodeType := "" + switch subject.Type() { + case types.SpecComponentTypeIt: + nodeType = "It" + case types.SpecComponentTypeMeasure: + nodeType = "Measure" + } + s := fmt.Sprintf("[%s] %s\n %s\n", nodeType, subject.Text(), subject.CodeLocation().String()) + writer.Write([]byte(s)) + } +} + +func (spec *Spec) measurementsReport() map[string]*types.SpecMeasurement { + if !spec.IsMeasurement() || spec.Failed() { + return map[string]*types.SpecMeasurement{} + } + + return spec.subject.(*leafnodes.MeasureNode).MeasurementsReport() +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec/specs.go b/vendor/github.com/onsi/ginkgo/internal/spec/specs.go new file mode 100644 index 0000000..006185a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec/specs.go @@ -0,0 +1,123 @@ +package spec + +import ( + "math/rand" + "regexp" + "sort" +) + +type Specs struct { + specs []*Spec + hasProgrammaticFocus bool + RegexScansFilePath bool +} + +func NewSpecs(specs []*Spec) *Specs { + return &Specs{ + specs: specs, + } +} + +func (e *Specs) Specs() []*Spec { + return e.specs +} + +func (e *Specs) HasProgrammaticFocus() bool { + return e.hasProgrammaticFocus +} + +func (e *Specs) Shuffle(r *rand.Rand) { + sort.Sort(e) + permutation := r.Perm(len(e.specs)) + shuffledSpecs := make([]*Spec, len(e.specs)) + for i, j := range permutation { + shuffledSpecs[i] = e.specs[j] + } + e.specs = shuffledSpecs +} + +func (e *Specs) ApplyFocus(description string, focusString string, skipString string) { + if focusString == "" && skipString == "" { + e.applyProgrammaticFocus() + } else { + e.applyRegExpFocusAndSkip(description, focusString, skipString) + } +} + +func (e *Specs) applyProgrammaticFocus() { + e.hasProgrammaticFocus = false + for _, spec := range e.specs { + if spec.Focused() && !spec.Pending() { + e.hasProgrammaticFocus = true + break + } + } + + if e.hasProgrammaticFocus { + for _, spec := range e.specs { + if !spec.Focused() { + spec.Skip() + } + } + } +} + +// toMatch returns a byte[] to be used by regex matchers. When adding new behaviours to the matching function, +// this is the place which we append to. +func (e *Specs) toMatch(description string, spec *Spec) []byte { + if e.RegexScansFilePath { + return []byte( + description + " " + + spec.ConcatenatedString() + " " + + spec.subject.CodeLocation().FileName) + } else { + return []byte( + description + " " + + spec.ConcatenatedString()) + } +} + +func (e *Specs) applyRegExpFocusAndSkip(description string, focusString string, skipString string) { + for _, spec := range e.specs { + matchesFocus := true + matchesSkip := false + + toMatch := e.toMatch(description, spec) + + if focusString != "" { + focusFilter := regexp.MustCompile(focusString) + matchesFocus = focusFilter.Match([]byte(toMatch)) + } + + if skipString != "" { + skipFilter := regexp.MustCompile(skipString) + matchesSkip = skipFilter.Match([]byte(toMatch)) + } + + if !matchesFocus || matchesSkip { + spec.Skip() + } + } +} + +func (e *Specs) SkipMeasurements() { + for _, spec := range e.specs { + if spec.IsMeasurement() { + spec.Skip() + } + } +} + +//sort.Interface + +func (e *Specs) Len() int { + return len(e.specs) +} + +func (e *Specs) Less(i, j int) bool { + return e.specs[i].ConcatenatedString() < e.specs[j].ConcatenatedString() +} + +func (e *Specs) Swap(i, j int) { + e.specs[i], e.specs[j] = e.specs[j], e.specs[i] +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer.go new file mode 100644 index 0000000..8227255 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/index_computer.go @@ -0,0 +1,55 @@ +package spec_iterator + +func ParallelizedIndexRange(length int, parallelTotal int, parallelNode int) (startIndex int, count int) { + if length == 0 { + return 0, 0 + } + + // We have more nodes than tests. Trivial case. + if parallelTotal >= length { + if parallelNode > length { + return 0, 0 + } else { + return parallelNode - 1, 1 + } + } + + // This is the minimum amount of tests that a node will be required to run + minTestsPerNode := length / parallelTotal + + // This is the maximum amount of tests that a node will be required to run + // The algorithm guarantees that this would be equal to at least the minimum amount + // and at most one more + maxTestsPerNode := minTestsPerNode + if length%parallelTotal != 0 { + maxTestsPerNode++ + } + + // Number of nodes that will have to run the maximum amount of tests per node + numMaxLoadNodes := length % parallelTotal + + // Number of nodes that precede the current node and will have to run the maximum amount of tests per node + var numPrecedingMaxLoadNodes int + if parallelNode > numMaxLoadNodes { + numPrecedingMaxLoadNodes = numMaxLoadNodes + } else { + numPrecedingMaxLoadNodes = parallelNode - 1 + } + + // Number of nodes that precede the current node and will have to run the minimum amount of tests per node + var numPrecedingMinLoadNodes int + if parallelNode <= numMaxLoadNodes { + numPrecedingMinLoadNodes = 0 + } else { + numPrecedingMinLoadNodes = parallelNode - numMaxLoadNodes - 1 + } + + // Evaluate the test start index and number of tests to run + startIndex = numPrecedingMaxLoadNodes*maxTestsPerNode + numPrecedingMinLoadNodes*minTestsPerNode + if parallelNode > numMaxLoadNodes { + count = minTestsPerNode + } else { + count = maxTestsPerNode + } + return +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/parallel_spec_iterator.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/parallel_spec_iterator.go new file mode 100644 index 0000000..99f548b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/parallel_spec_iterator.go @@ -0,0 +1,59 @@ +package spec_iterator + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/onsi/ginkgo/internal/spec" +) + +type ParallelIterator struct { + specs []*spec.Spec + host string + client *http.Client +} + +func NewParallelIterator(specs []*spec.Spec, host string) *ParallelIterator { + return &ParallelIterator{ + specs: specs, + host: host, + client: &http.Client{}, + } +} + +func (s *ParallelIterator) Next() (*spec.Spec, error) { + resp, err := s.client.Get(s.host + "/counter") + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("unexpected status code %d", resp.StatusCode) + } + + var counter Counter + err = json.NewDecoder(resp.Body).Decode(&counter) + if err != nil { + return nil, err + } + + if counter.Index >= len(s.specs) { + return nil, ErrClosed + } + + return s.specs[counter.Index], nil +} + +func (s *ParallelIterator) NumberOfSpecsPriorToIteration() int { + return len(s.specs) +} + +func (s *ParallelIterator) NumberOfSpecsToProcessIfKnown() (int, bool) { + return -1, false +} + +func (s *ParallelIterator) NumberOfSpecsThatWillBeRunIfKnown() (int, bool) { + return -1, false +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/serial_spec_iterator.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/serial_spec_iterator.go new file mode 100644 index 0000000..a51c93b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/serial_spec_iterator.go @@ -0,0 +1,45 @@ +package spec_iterator + +import ( + "github.com/onsi/ginkgo/internal/spec" +) + +type SerialIterator struct { + specs []*spec.Spec + index int +} + +func NewSerialIterator(specs []*spec.Spec) *SerialIterator { + return &SerialIterator{ + specs: specs, + index: 0, + } +} + +func (s *SerialIterator) Next() (*spec.Spec, error) { + if s.index >= len(s.specs) { + return nil, ErrClosed + } + + spec := s.specs[s.index] + s.index += 1 + return spec, nil +} + +func (s *SerialIterator) NumberOfSpecsPriorToIteration() int { + return len(s.specs) +} + +func (s *SerialIterator) NumberOfSpecsToProcessIfKnown() (int, bool) { + return len(s.specs), true +} + +func (s *SerialIterator) NumberOfSpecsThatWillBeRunIfKnown() (int, bool) { + count := 0 + for _, s := range s.specs { + if !s.Skipped() && !s.Pending() { + count += 1 + } + } + return count, true +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator.go new file mode 100644 index 0000000..ad4a3ea --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/sharded_parallel_spec_iterator.go @@ -0,0 +1,47 @@ +package spec_iterator + +import "github.com/onsi/ginkgo/internal/spec" + +type ShardedParallelIterator struct { + specs []*spec.Spec + index int + maxIndex int +} + +func NewShardedParallelIterator(specs []*spec.Spec, total int, node int) *ShardedParallelIterator { + startIndex, count := ParallelizedIndexRange(len(specs), total, node) + + return &ShardedParallelIterator{ + specs: specs, + index: startIndex, + maxIndex: startIndex + count, + } +} + +func (s *ShardedParallelIterator) Next() (*spec.Spec, error) { + if s.index >= s.maxIndex { + return nil, ErrClosed + } + + spec := s.specs[s.index] + s.index += 1 + return spec, nil +} + +func (s *ShardedParallelIterator) NumberOfSpecsPriorToIteration() int { + return len(s.specs) +} + +func (s *ShardedParallelIterator) NumberOfSpecsToProcessIfKnown() (int, bool) { + return s.maxIndex - s.index, true +} + +func (s *ShardedParallelIterator) NumberOfSpecsThatWillBeRunIfKnown() (int, bool) { + count := 0 + for i := s.index; i < s.maxIndex; i += 1 { + if !s.specs[i].Skipped() && !s.specs[i].Pending() { + count += 1 + } + } + return count, true +} diff --git a/vendor/github.com/onsi/ginkgo/internal/spec_iterator/spec_iterator.go b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/spec_iterator.go new file mode 100644 index 0000000..74bffad --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/spec_iterator/spec_iterator.go @@ -0,0 +1,20 @@ +package spec_iterator + +import ( + "errors" + + "github.com/onsi/ginkgo/internal/spec" +) + +var ErrClosed = errors.New("no more specs to run") + +type SpecIterator interface { + Next() (*spec.Spec, error) + NumberOfSpecsPriorToIteration() int + NumberOfSpecsToProcessIfKnown() (int, bool) + NumberOfSpecsThatWillBeRunIfKnown() (int, bool) +} + +type Counter struct { + Index int `json:"index"` +} diff --git a/vendor/github.com/onsi/ginkgo/internal/specrunner/random_id.go b/vendor/github.com/onsi/ginkgo/internal/specrunner/random_id.go new file mode 100644 index 0000000..a0b8b62 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/specrunner/random_id.go @@ -0,0 +1,15 @@ +package specrunner + +import ( + "crypto/rand" + "fmt" +) + +func randomID() string { + b := make([]byte, 8) + _, err := rand.Read(b) + if err != nil { + return "" + } + return fmt.Sprintf("%x-%x-%x-%x", b[0:2], b[2:4], b[4:6], b[6:8]) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go b/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go new file mode 100644 index 0000000..d4dd909 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go @@ -0,0 +1,408 @@ +package specrunner + +import ( + "fmt" + "os" + "os/signal" + "sync" + "syscall" + + "github.com/onsi/ginkgo/internal/spec_iterator" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/internal/leafnodes" + "github.com/onsi/ginkgo/internal/spec" + Writer "github.com/onsi/ginkgo/internal/writer" + "github.com/onsi/ginkgo/reporters" + "github.com/onsi/ginkgo/types" + + "time" +) + +type SpecRunner struct { + description string + beforeSuiteNode leafnodes.SuiteNode + iterator spec_iterator.SpecIterator + afterSuiteNode leafnodes.SuiteNode + reporters []reporters.Reporter + startTime time.Time + suiteID string + runningSpec *spec.Spec + writer Writer.WriterInterface + config config.GinkgoConfigType + interrupted bool + processedSpecs []*spec.Spec + lock *sync.Mutex +} + +func New(description string, beforeSuiteNode leafnodes.SuiteNode, iterator spec_iterator.SpecIterator, afterSuiteNode leafnodes.SuiteNode, reporters []reporters.Reporter, writer Writer.WriterInterface, config config.GinkgoConfigType) *SpecRunner { + return &SpecRunner{ + description: description, + beforeSuiteNode: beforeSuiteNode, + iterator: iterator, + afterSuiteNode: afterSuiteNode, + reporters: reporters, + writer: writer, + config: config, + suiteID: randomID(), + lock: &sync.Mutex{}, + } +} + +func (runner *SpecRunner) Run() bool { + if runner.config.DryRun { + runner.performDryRun() + return true + } + + runner.reportSuiteWillBegin() + go runner.registerForInterrupts() + + suitePassed := runner.runBeforeSuite() + + if suitePassed { + suitePassed = runner.runSpecs() + } + + runner.blockForeverIfInterrupted() + + suitePassed = runner.runAfterSuite() && suitePassed + + runner.reportSuiteDidEnd(suitePassed) + + return suitePassed +} + +func (runner *SpecRunner) performDryRun() { + runner.reportSuiteWillBegin() + + if runner.beforeSuiteNode != nil { + summary := runner.beforeSuiteNode.Summary() + summary.State = types.SpecStatePassed + runner.reportBeforeSuite(summary) + } + + for { + spec, err := runner.iterator.Next() + if err == spec_iterator.ErrClosed { + break + } + if err != nil { + fmt.Println("failed to iterate over tests:\n" + err.Error()) + break + } + + runner.processedSpecs = append(runner.processedSpecs, spec) + + summary := spec.Summary(runner.suiteID) + runner.reportSpecWillRun(summary) + if summary.State == types.SpecStateInvalid { + summary.State = types.SpecStatePassed + } + runner.reportSpecDidComplete(summary, false) + } + + if runner.afterSuiteNode != nil { + summary := runner.afterSuiteNode.Summary() + summary.State = types.SpecStatePassed + runner.reportAfterSuite(summary) + } + + runner.reportSuiteDidEnd(true) +} + +func (runner *SpecRunner) runBeforeSuite() bool { + if runner.beforeSuiteNode == nil || runner.wasInterrupted() { + return true + } + + runner.writer.Truncate() + conf := runner.config + passed := runner.beforeSuiteNode.Run(conf.ParallelNode, conf.ParallelTotal, conf.SyncHost) + if !passed { + runner.writer.DumpOut() + } + runner.reportBeforeSuite(runner.beforeSuiteNode.Summary()) + return passed +} + +func (runner *SpecRunner) runAfterSuite() bool { + if runner.afterSuiteNode == nil { + return true + } + + runner.writer.Truncate() + conf := runner.config + passed := runner.afterSuiteNode.Run(conf.ParallelNode, conf.ParallelTotal, conf.SyncHost) + if !passed { + runner.writer.DumpOut() + } + runner.reportAfterSuite(runner.afterSuiteNode.Summary()) + return passed +} + +func (runner *SpecRunner) runSpecs() bool { + suiteFailed := false + skipRemainingSpecs := false + for { + spec, err := runner.iterator.Next() + if err == spec_iterator.ErrClosed { + break + } + if err != nil { + fmt.Println("failed to iterate over tests:\n" + err.Error()) + suiteFailed = true + break + } + + runner.processedSpecs = append(runner.processedSpecs, spec) + + if runner.wasInterrupted() { + break + } + if skipRemainingSpecs { + spec.Skip() + } + + if !spec.Skipped() && !spec.Pending() { + if passed := runner.runSpec(spec); !passed { + suiteFailed = true + } + } else if spec.Pending() && runner.config.FailOnPending { + runner.reportSpecWillRun(spec.Summary(runner.suiteID)) + suiteFailed = true + runner.reportSpecDidComplete(spec.Summary(runner.suiteID), spec.Failed()) + } else { + runner.reportSpecWillRun(spec.Summary(runner.suiteID)) + runner.reportSpecDidComplete(spec.Summary(runner.suiteID), spec.Failed()) + } + + if spec.Failed() && runner.config.FailFast { + skipRemainingSpecs = true + } + } + + return !suiteFailed +} + +func (runner *SpecRunner) runSpec(spec *spec.Spec) (passed bool) { + maxAttempts := 1 + if runner.config.FlakeAttempts > 0 { + // uninitialized configs count as 1 + maxAttempts = runner.config.FlakeAttempts + } + + for i := 0; i < maxAttempts; i++ { + runner.reportSpecWillRun(spec.Summary(runner.suiteID)) + runner.runningSpec = spec + spec.Run(runner.writer) + runner.runningSpec = nil + runner.reportSpecDidComplete(spec.Summary(runner.suiteID), spec.Failed()) + if !spec.Failed() { + return true + } + } + return false +} + +func (runner *SpecRunner) CurrentSpecSummary() (*types.SpecSummary, bool) { + if runner.runningSpec == nil { + return nil, false + } + + return runner.runningSpec.Summary(runner.suiteID), true +} + +func (runner *SpecRunner) registerForInterrupts() { + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt, syscall.SIGTERM) + + <-c + signal.Stop(c) + runner.markInterrupted() + go runner.registerForHardInterrupts() + runner.writer.DumpOutWithHeader(` +Received interrupt. Emitting contents of GinkgoWriter... +--------------------------------------------------------- +`) + if runner.afterSuiteNode != nil { + fmt.Fprint(os.Stderr, ` +--------------------------------------------------------- +Received interrupt. Running AfterSuite... +^C again to terminate immediately +`) + runner.runAfterSuite() + } + runner.reportSuiteDidEnd(false) + os.Exit(1) +} + +func (runner *SpecRunner) registerForHardInterrupts() { + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt, syscall.SIGTERM) + + <-c + fmt.Fprintln(os.Stderr, "\nReceived second interrupt. Shutting down.") + os.Exit(1) +} + +func (runner *SpecRunner) blockForeverIfInterrupted() { + runner.lock.Lock() + interrupted := runner.interrupted + runner.lock.Unlock() + + if interrupted { + select {} + } +} + +func (runner *SpecRunner) markInterrupted() { + runner.lock.Lock() + defer runner.lock.Unlock() + runner.interrupted = true +} + +func (runner *SpecRunner) wasInterrupted() bool { + runner.lock.Lock() + defer runner.lock.Unlock() + return runner.interrupted +} + +func (runner *SpecRunner) reportSuiteWillBegin() { + runner.startTime = time.Now() + summary := runner.suiteWillBeginSummary() + for _, reporter := range runner.reporters { + reporter.SpecSuiteWillBegin(runner.config, summary) + } +} + +func (runner *SpecRunner) reportBeforeSuite(summary *types.SetupSummary) { + for _, reporter := range runner.reporters { + reporter.BeforeSuiteDidRun(summary) + } +} + +func (runner *SpecRunner) reportAfterSuite(summary *types.SetupSummary) { + for _, reporter := range runner.reporters { + reporter.AfterSuiteDidRun(summary) + } +} + +func (runner *SpecRunner) reportSpecWillRun(summary *types.SpecSummary) { + runner.writer.Truncate() + + for _, reporter := range runner.reporters { + reporter.SpecWillRun(summary) + } +} + +func (runner *SpecRunner) reportSpecDidComplete(summary *types.SpecSummary, failed bool) { + if failed && len(summary.CapturedOutput) == 0 { + summary.CapturedOutput = string(runner.writer.Bytes()) + } + for i := len(runner.reporters) - 1; i >= 1; i-- { + runner.reporters[i].SpecDidComplete(summary) + } + + if failed { + runner.writer.DumpOut() + } + + runner.reporters[0].SpecDidComplete(summary) +} + +func (runner *SpecRunner) reportSuiteDidEnd(success bool) { + summary := runner.suiteDidEndSummary(success) + summary.RunTime = time.Since(runner.startTime) + for _, reporter := range runner.reporters { + reporter.SpecSuiteDidEnd(summary) + } +} + +func (runner *SpecRunner) countSpecsThatRanSatisfying(filter func(ex *spec.Spec) bool) (count int) { + count = 0 + + for _, spec := range runner.processedSpecs { + if filter(spec) { + count++ + } + } + + return count +} + +func (runner *SpecRunner) suiteDidEndSummary(success bool) *types.SuiteSummary { + numberOfSpecsThatWillBeRun := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return !ex.Skipped() && !ex.Pending() + }) + + numberOfPendingSpecs := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return ex.Pending() + }) + + numberOfSkippedSpecs := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return ex.Skipped() + }) + + numberOfPassedSpecs := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return ex.Passed() + }) + + numberOfFlakedSpecs := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return ex.Flaked() + }) + + numberOfFailedSpecs := runner.countSpecsThatRanSatisfying(func(ex *spec.Spec) bool { + return ex.Failed() + }) + + if runner.beforeSuiteNode != nil && !runner.beforeSuiteNode.Passed() && !runner.config.DryRun { + var known bool + numberOfSpecsThatWillBeRun, known = runner.iterator.NumberOfSpecsThatWillBeRunIfKnown() + if !known { + numberOfSpecsThatWillBeRun = runner.iterator.NumberOfSpecsPriorToIteration() + } + numberOfFailedSpecs = numberOfSpecsThatWillBeRun + } + + return &types.SuiteSummary{ + SuiteDescription: runner.description, + SuiteSucceeded: success, + SuiteID: runner.suiteID, + + NumberOfSpecsBeforeParallelization: runner.iterator.NumberOfSpecsPriorToIteration(), + NumberOfTotalSpecs: len(runner.processedSpecs), + NumberOfSpecsThatWillBeRun: numberOfSpecsThatWillBeRun, + NumberOfPendingSpecs: numberOfPendingSpecs, + NumberOfSkippedSpecs: numberOfSkippedSpecs, + NumberOfPassedSpecs: numberOfPassedSpecs, + NumberOfFailedSpecs: numberOfFailedSpecs, + NumberOfFlakedSpecs: numberOfFlakedSpecs, + } +} + +func (runner *SpecRunner) suiteWillBeginSummary() *types.SuiteSummary { + numTotal, known := runner.iterator.NumberOfSpecsToProcessIfKnown() + if !known { + numTotal = -1 + } + + numToRun, known := runner.iterator.NumberOfSpecsThatWillBeRunIfKnown() + if !known { + numToRun = -1 + } + + return &types.SuiteSummary{ + SuiteDescription: runner.description, + SuiteID: runner.suiteID, + + NumberOfSpecsBeforeParallelization: runner.iterator.NumberOfSpecsPriorToIteration(), + NumberOfTotalSpecs: numTotal, + NumberOfSpecsThatWillBeRun: numToRun, + NumberOfPendingSpecs: -1, + NumberOfSkippedSpecs: -1, + NumberOfPassedSpecs: -1, + NumberOfFailedSpecs: -1, + NumberOfFlakedSpecs: -1, + } +} diff --git a/vendor/github.com/onsi/ginkgo/internal/suite/suite.go b/vendor/github.com/onsi/ginkgo/internal/suite/suite.go new file mode 100644 index 0000000..f311e9a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/suite/suite.go @@ -0,0 +1,183 @@ +package suite + +import ( + "math/rand" + "net/http" + "time" + + "github.com/onsi/ginkgo/internal/spec_iterator" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/internal/containernode" + "github.com/onsi/ginkgo/internal/failer" + "github.com/onsi/ginkgo/internal/leafnodes" + "github.com/onsi/ginkgo/internal/spec" + "github.com/onsi/ginkgo/internal/specrunner" + "github.com/onsi/ginkgo/internal/writer" + "github.com/onsi/ginkgo/reporters" + "github.com/onsi/ginkgo/types" +) + +type ginkgoTestingT interface { + Fail() +} + +type Suite struct { + topLevelContainer *containernode.ContainerNode + currentContainer *containernode.ContainerNode + containerIndex int + beforeSuiteNode leafnodes.SuiteNode + afterSuiteNode leafnodes.SuiteNode + runner *specrunner.SpecRunner + failer *failer.Failer + running bool +} + +func New(failer *failer.Failer) *Suite { + topLevelContainer := containernode.New("[Top Level]", types.FlagTypeNone, types.CodeLocation{}) + + return &Suite{ + topLevelContainer: topLevelContainer, + currentContainer: topLevelContainer, + failer: failer, + containerIndex: 1, + } +} + +func (suite *Suite) Run(t ginkgoTestingT, description string, reporters []reporters.Reporter, writer writer.WriterInterface, config config.GinkgoConfigType) (bool, bool) { + if config.ParallelTotal < 1 { + panic("ginkgo.parallel.total must be >= 1") + } + + if config.ParallelNode > config.ParallelTotal || config.ParallelNode < 1 { + panic("ginkgo.parallel.node is one-indexed and must be <= ginkgo.parallel.total") + } + + r := rand.New(rand.NewSource(config.RandomSeed)) + suite.topLevelContainer.Shuffle(r) + iterator, hasProgrammaticFocus := suite.generateSpecsIterator(description, config) + suite.runner = specrunner.New(description, suite.beforeSuiteNode, iterator, suite.afterSuiteNode, reporters, writer, config) + + suite.running = true + success := suite.runner.Run() + if !success { + t.Fail() + } + return success, hasProgrammaticFocus +} + +func (suite *Suite) generateSpecsIterator(description string, config config.GinkgoConfigType) (spec_iterator.SpecIterator, bool) { + specsSlice := []*spec.Spec{} + suite.topLevelContainer.BackPropagateProgrammaticFocus() + for _, collatedNodes := range suite.topLevelContainer.Collate() { + specsSlice = append(specsSlice, spec.New(collatedNodes.Subject, collatedNodes.Containers, config.EmitSpecProgress)) + } + + specs := spec.NewSpecs(specsSlice) + specs.RegexScansFilePath = config.RegexScansFilePath + + if config.RandomizeAllSpecs { + specs.Shuffle(rand.New(rand.NewSource(config.RandomSeed))) + } + + specs.ApplyFocus(description, config.FocusString, config.SkipString) + + if config.SkipMeasurements { + specs.SkipMeasurements() + } + + var iterator spec_iterator.SpecIterator + + if config.ParallelTotal > 1 { + iterator = spec_iterator.NewParallelIterator(specs.Specs(), config.SyncHost) + resp, err := http.Get(config.SyncHost + "/has-counter") + if err != nil || resp.StatusCode != http.StatusOK { + iterator = spec_iterator.NewShardedParallelIterator(specs.Specs(), config.ParallelTotal, config.ParallelNode) + } + } else { + iterator = spec_iterator.NewSerialIterator(specs.Specs()) + } + + return iterator, specs.HasProgrammaticFocus() +} + +func (suite *Suite) CurrentRunningSpecSummary() (*types.SpecSummary, bool) { + return suite.runner.CurrentSpecSummary() +} + +func (suite *Suite) SetBeforeSuiteNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.beforeSuiteNode != nil { + panic("You may only call BeforeSuite once!") + } + suite.beforeSuiteNode = leafnodes.NewBeforeSuiteNode(body, codeLocation, timeout, suite.failer) +} + +func (suite *Suite) SetAfterSuiteNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.afterSuiteNode != nil { + panic("You may only call AfterSuite once!") + } + suite.afterSuiteNode = leafnodes.NewAfterSuiteNode(body, codeLocation, timeout, suite.failer) +} + +func (suite *Suite) SetSynchronizedBeforeSuiteNode(bodyA interface{}, bodyB interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.beforeSuiteNode != nil { + panic("You may only call BeforeSuite once!") + } + suite.beforeSuiteNode = leafnodes.NewSynchronizedBeforeSuiteNode(bodyA, bodyB, codeLocation, timeout, suite.failer) +} + +func (suite *Suite) SetSynchronizedAfterSuiteNode(bodyA interface{}, bodyB interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.afterSuiteNode != nil { + panic("You may only call AfterSuite once!") + } + suite.afterSuiteNode = leafnodes.NewSynchronizedAfterSuiteNode(bodyA, bodyB, codeLocation, timeout, suite.failer) +} + +func (suite *Suite) PushContainerNode(text string, body func(), flag types.FlagType, codeLocation types.CodeLocation) { + container := containernode.New(text, flag, codeLocation) + suite.currentContainer.PushContainerNode(container) + + previousContainer := suite.currentContainer + suite.currentContainer = container + suite.containerIndex++ + + body() + + suite.containerIndex-- + suite.currentContainer = previousContainer +} + +func (suite *Suite) PushItNode(text string, body interface{}, flag types.FlagType, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.running { + suite.failer.Fail("You may only call It from within a Describe, Context or When", codeLocation) + } + suite.currentContainer.PushSubjectNode(leafnodes.NewItNode(text, body, flag, codeLocation, timeout, suite.failer, suite.containerIndex)) +} + +func (suite *Suite) PushMeasureNode(text string, body interface{}, flag types.FlagType, codeLocation types.CodeLocation, samples int) { + if suite.running { + suite.failer.Fail("You may only call Measure from within a Describe, Context or When", codeLocation) + } + suite.currentContainer.PushSubjectNode(leafnodes.NewMeasureNode(text, body, flag, codeLocation, samples, suite.failer, suite.containerIndex)) +} + +func (suite *Suite) PushBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.running { + suite.failer.Fail("You may only call BeforeEach from within a Describe, Context or When", codeLocation) + } + suite.currentContainer.PushSetupNode(leafnodes.NewBeforeEachNode(body, codeLocation, timeout, suite.failer, suite.containerIndex)) +} + +func (suite *Suite) PushJustBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.running { + suite.failer.Fail("You may only call JustBeforeEach from within a Describe, Context or When", codeLocation) + } + suite.currentContainer.PushSetupNode(leafnodes.NewJustBeforeEachNode(body, codeLocation, timeout, suite.failer, suite.containerIndex)) +} + +func (suite *Suite) PushAfterEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration) { + if suite.running { + suite.failer.Fail("You may only call AfterEach from within a Describe, Context or When", codeLocation) + } + suite.currentContainer.PushSetupNode(leafnodes.NewAfterEachNode(body, codeLocation, timeout, suite.failer, suite.containerIndex)) +} diff --git a/vendor/github.com/onsi/ginkgo/internal/testingtproxy/testing_t_proxy.go b/vendor/github.com/onsi/ginkgo/internal/testingtproxy/testing_t_proxy.go new file mode 100644 index 0000000..090445d --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/testingtproxy/testing_t_proxy.go @@ -0,0 +1,76 @@ +package testingtproxy + +import ( + "fmt" + "io" +) + +type failFunc func(message string, callerSkip ...int) + +func New(writer io.Writer, fail failFunc, offset int) *ginkgoTestingTProxy { + return &ginkgoTestingTProxy{ + fail: fail, + offset: offset, + writer: writer, + } +} + +type ginkgoTestingTProxy struct { + fail failFunc + offset int + writer io.Writer +} + +func (t *ginkgoTestingTProxy) Error(args ...interface{}) { + t.fail(fmt.Sprintln(args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Errorf(format string, args ...interface{}) { + t.fail(fmt.Sprintf(format, args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Fail() { + t.fail("failed", t.offset) +} + +func (t *ginkgoTestingTProxy) FailNow() { + t.fail("failed", t.offset) +} + +func (t *ginkgoTestingTProxy) Fatal(args ...interface{}) { + t.fail(fmt.Sprintln(args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Fatalf(format string, args ...interface{}) { + t.fail(fmt.Sprintf(format, args...), t.offset) +} + +func (t *ginkgoTestingTProxy) Log(args ...interface{}) { + fmt.Fprintln(t.writer, args...) +} + +func (t *ginkgoTestingTProxy) Logf(format string, args ...interface{}) { + t.Log(fmt.Sprintf(format, args...)) +} + +func (t *ginkgoTestingTProxy) Failed() bool { + return false +} + +func (t *ginkgoTestingTProxy) Parallel() { +} + +func (t *ginkgoTestingTProxy) Skip(args ...interface{}) { + fmt.Println(args...) +} + +func (t *ginkgoTestingTProxy) Skipf(format string, args ...interface{}) { + t.Skip(fmt.Sprintf(format, args...)) +} + +func (t *ginkgoTestingTProxy) SkipNow() { +} + +func (t *ginkgoTestingTProxy) Skipped() bool { + return false +} diff --git a/vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go b/vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go new file mode 100644 index 0000000..6739c3f --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go @@ -0,0 +1,36 @@ +package writer + +type FakeGinkgoWriter struct { + EventStream []string +} + +func NewFake() *FakeGinkgoWriter { + return &FakeGinkgoWriter{ + EventStream: []string{}, + } +} + +func (writer *FakeGinkgoWriter) AddEvent(event string) { + writer.EventStream = append(writer.EventStream, event) +} + +func (writer *FakeGinkgoWriter) Truncate() { + writer.EventStream = append(writer.EventStream, "TRUNCATE") +} + +func (writer *FakeGinkgoWriter) DumpOut() { + writer.EventStream = append(writer.EventStream, "DUMP") +} + +func (writer *FakeGinkgoWriter) DumpOutWithHeader(header string) { + writer.EventStream = append(writer.EventStream, "DUMP_WITH_HEADER: "+header) +} + +func (writer *FakeGinkgoWriter) Bytes() []byte { + writer.EventStream = append(writer.EventStream, "BYTES") + return nil +} + +func (writer *FakeGinkgoWriter) Write(data []byte) (n int, err error) { + return 0, nil +} diff --git a/vendor/github.com/onsi/ginkgo/internal/writer/writer.go b/vendor/github.com/onsi/ginkgo/internal/writer/writer.go new file mode 100644 index 0000000..6b23b1a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/internal/writer/writer.go @@ -0,0 +1,81 @@ +package writer + +import ( + "bytes" + "io" + "sync" +) + +type WriterInterface interface { + io.Writer + + Truncate() + DumpOut() + DumpOutWithHeader(header string) + Bytes() []byte +} + +type Writer struct { + buffer *bytes.Buffer + outWriter io.Writer + lock *sync.Mutex + stream bool +} + +func New(outWriter io.Writer) *Writer { + return &Writer{ + buffer: &bytes.Buffer{}, + lock: &sync.Mutex{}, + outWriter: outWriter, + stream: true, + } +} + +func (w *Writer) SetStream(stream bool) { + w.lock.Lock() + defer w.lock.Unlock() + w.stream = stream +} + +func (w *Writer) Write(b []byte) (n int, err error) { + w.lock.Lock() + defer w.lock.Unlock() + + n, err = w.buffer.Write(b) + if w.stream { + return w.outWriter.Write(b) + } + return n, err +} + +func (w *Writer) Truncate() { + w.lock.Lock() + defer w.lock.Unlock() + w.buffer.Reset() +} + +func (w *Writer) DumpOut() { + w.lock.Lock() + defer w.lock.Unlock() + if !w.stream { + w.buffer.WriteTo(w.outWriter) + } +} + +func (w *Writer) Bytes() []byte { + w.lock.Lock() + defer w.lock.Unlock() + b := w.buffer.Bytes() + copied := make([]byte, len(b)) + copy(copied, b) + return copied +} + +func (w *Writer) DumpOutWithHeader(header string) { + w.lock.Lock() + defer w.lock.Unlock() + if !w.stream && w.buffer.Len() > 0 { + w.outWriter.Write([]byte(header)) + w.buffer.WriteTo(w.outWriter) + } +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/default_reporter.go b/vendor/github.com/onsi/ginkgo/reporters/default_reporter.go new file mode 100644 index 0000000..ac58dd5 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/default_reporter.go @@ -0,0 +1,84 @@ +/* +Ginkgo's Default Reporter + +A number of command line flags are available to tweak Ginkgo's default output. + +These are documented [here](http://onsi.github.io/ginkgo/#running_tests) +*/ +package reporters + +import ( + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/reporters/stenographer" + "github.com/onsi/ginkgo/types" +) + +type DefaultReporter struct { + config config.DefaultReporterConfigType + stenographer stenographer.Stenographer + specSummaries []*types.SpecSummary +} + +func NewDefaultReporter(config config.DefaultReporterConfigType, stenographer stenographer.Stenographer) *DefaultReporter { + return &DefaultReporter{ + config: config, + stenographer: stenographer, + } +} + +func (reporter *DefaultReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) { + reporter.stenographer.AnnounceSuite(summary.SuiteDescription, config.RandomSeed, config.RandomizeAllSpecs, reporter.config.Succinct) + if config.ParallelTotal > 1 { + reporter.stenographer.AnnounceParallelRun(config.ParallelNode, config.ParallelTotal, reporter.config.Succinct) + } else { + reporter.stenographer.AnnounceNumberOfSpecs(summary.NumberOfSpecsThatWillBeRun, summary.NumberOfTotalSpecs, reporter.config.Succinct) + } +} + +func (reporter *DefaultReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + if setupSummary.State != types.SpecStatePassed { + reporter.stenographer.AnnounceBeforeSuiteFailure(setupSummary, reporter.config.Succinct, reporter.config.FullTrace) + } +} + +func (reporter *DefaultReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + if setupSummary.State != types.SpecStatePassed { + reporter.stenographer.AnnounceAfterSuiteFailure(setupSummary, reporter.config.Succinct, reporter.config.FullTrace) + } +} + +func (reporter *DefaultReporter) SpecWillRun(specSummary *types.SpecSummary) { + if reporter.config.Verbose && !reporter.config.Succinct && specSummary.State != types.SpecStatePending && specSummary.State != types.SpecStateSkipped { + reporter.stenographer.AnnounceSpecWillRun(specSummary) + } +} + +func (reporter *DefaultReporter) SpecDidComplete(specSummary *types.SpecSummary) { + switch specSummary.State { + case types.SpecStatePassed: + if specSummary.IsMeasurement { + reporter.stenographer.AnnounceSuccesfulMeasurement(specSummary, reporter.config.Succinct) + } else if specSummary.RunTime.Seconds() >= reporter.config.SlowSpecThreshold { + reporter.stenographer.AnnounceSuccesfulSlowSpec(specSummary, reporter.config.Succinct) + } else { + reporter.stenographer.AnnounceSuccesfulSpec(specSummary) + } + case types.SpecStatePending: + reporter.stenographer.AnnouncePendingSpec(specSummary, reporter.config.NoisyPendings && !reporter.config.Succinct) + case types.SpecStateSkipped: + reporter.stenographer.AnnounceSkippedSpec(specSummary, reporter.config.Succinct || !reporter.config.NoisySkippings, reporter.config.FullTrace) + case types.SpecStateTimedOut: + reporter.stenographer.AnnounceSpecTimedOut(specSummary, reporter.config.Succinct, reporter.config.FullTrace) + case types.SpecStatePanicked: + reporter.stenographer.AnnounceSpecPanicked(specSummary, reporter.config.Succinct, reporter.config.FullTrace) + case types.SpecStateFailed: + reporter.stenographer.AnnounceSpecFailed(specSummary, reporter.config.Succinct, reporter.config.FullTrace) + } + + reporter.specSummaries = append(reporter.specSummaries, specSummary) +} + +func (reporter *DefaultReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { + reporter.stenographer.SummarizeFailures(reporter.specSummaries) + reporter.stenographer.AnnounceSpecRunCompletion(summary, reporter.config.Succinct) +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/fake_reporter.go b/vendor/github.com/onsi/ginkgo/reporters/fake_reporter.go new file mode 100644 index 0000000..27db479 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/fake_reporter.go @@ -0,0 +1,59 @@ +package reporters + +import ( + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/types" +) + +//FakeReporter is useful for testing purposes +type FakeReporter struct { + Config config.GinkgoConfigType + + BeginSummary *types.SuiteSummary + BeforeSuiteSummary *types.SetupSummary + SpecWillRunSummaries []*types.SpecSummary + SpecSummaries []*types.SpecSummary + AfterSuiteSummary *types.SetupSummary + EndSummary *types.SuiteSummary + + SpecWillRunStub func(specSummary *types.SpecSummary) + SpecDidCompleteStub func(specSummary *types.SpecSummary) +} + +func NewFakeReporter() *FakeReporter { + return &FakeReporter{ + SpecWillRunSummaries: make([]*types.SpecSummary, 0), + SpecSummaries: make([]*types.SpecSummary, 0), + } +} + +func (fakeR *FakeReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) { + fakeR.Config = config + fakeR.BeginSummary = summary +} + +func (fakeR *FakeReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + fakeR.BeforeSuiteSummary = setupSummary +} + +func (fakeR *FakeReporter) SpecWillRun(specSummary *types.SpecSummary) { + if fakeR.SpecWillRunStub != nil { + fakeR.SpecWillRunStub(specSummary) + } + fakeR.SpecWillRunSummaries = append(fakeR.SpecWillRunSummaries, specSummary) +} + +func (fakeR *FakeReporter) SpecDidComplete(specSummary *types.SpecSummary) { + if fakeR.SpecDidCompleteStub != nil { + fakeR.SpecDidCompleteStub(specSummary) + } + fakeR.SpecSummaries = append(fakeR.SpecSummaries, specSummary) +} + +func (fakeR *FakeReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + fakeR.AfterSuiteSummary = setupSummary +} + +func (fakeR *FakeReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { + fakeR.EndSummary = summary +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go b/vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go new file mode 100644 index 0000000..89b0351 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/junit_reporter.go @@ -0,0 +1,147 @@ +/* + +JUnit XML Reporter for Ginkgo + +For usage instructions: http://onsi.github.io/ginkgo/#generating_junit_xml_output + +*/ + +package reporters + +import ( + "encoding/xml" + "fmt" + "os" + "strings" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/types" +) + +type JUnitTestSuite struct { + XMLName xml.Name `xml:"testsuite"` + TestCases []JUnitTestCase `xml:"testcase"` + Tests int `xml:"tests,attr"` + Failures int `xml:"failures,attr"` + Time float64 `xml:"time,attr"` +} + +type JUnitTestCase struct { + Name string `xml:"name,attr"` + ClassName string `xml:"classname,attr"` + FailureMessage *JUnitFailureMessage `xml:"failure,omitempty"` + Skipped *JUnitSkipped `xml:"skipped,omitempty"` + Time float64 `xml:"time,attr"` + SystemOut string `xml:"system-out,omitempty"` +} + +type JUnitFailureMessage struct { + Type string `xml:"type,attr"` + Message string `xml:",chardata"` +} + +type JUnitSkipped struct { + XMLName xml.Name `xml:"skipped"` +} + +type JUnitReporter struct { + suite JUnitTestSuite + filename string + testSuiteName string +} + +//NewJUnitReporter creates a new JUnit XML reporter. The XML will be stored in the passed in filename. +func NewJUnitReporter(filename string) *JUnitReporter { + return &JUnitReporter{ + filename: filename, + } +} + +func (reporter *JUnitReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) { + reporter.suite = JUnitTestSuite{ + TestCases: []JUnitTestCase{}, + } + reporter.testSuiteName = summary.SuiteDescription +} + +func (reporter *JUnitReporter) SpecWillRun(specSummary *types.SpecSummary) { +} + +func (reporter *JUnitReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + reporter.handleSetupSummary("BeforeSuite", setupSummary) +} + +func (reporter *JUnitReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + reporter.handleSetupSummary("AfterSuite", setupSummary) +} + +func failureMessage(failure types.SpecFailure) string { + return fmt.Sprintf("%s\n%s\n%s", failure.ComponentCodeLocation.String(), failure.Message, failure.Location.String()) +} + +func (reporter *JUnitReporter) handleSetupSummary(name string, setupSummary *types.SetupSummary) { + if setupSummary.State != types.SpecStatePassed { + testCase := JUnitTestCase{ + Name: name, + ClassName: reporter.testSuiteName, + } + + testCase.FailureMessage = &JUnitFailureMessage{ + Type: reporter.failureTypeForState(setupSummary.State), + Message: failureMessage(setupSummary.Failure), + } + testCase.SystemOut = setupSummary.CapturedOutput + testCase.Time = setupSummary.RunTime.Seconds() + reporter.suite.TestCases = append(reporter.suite.TestCases, testCase) + } +} + +func (reporter *JUnitReporter) SpecDidComplete(specSummary *types.SpecSummary) { + testCase := JUnitTestCase{ + Name: strings.Join(specSummary.ComponentTexts[1:], " "), + ClassName: reporter.testSuiteName, + } + if specSummary.State == types.SpecStateFailed || specSummary.State == types.SpecStateTimedOut || specSummary.State == types.SpecStatePanicked { + testCase.FailureMessage = &JUnitFailureMessage{ + Type: reporter.failureTypeForState(specSummary.State), + Message: failureMessage(specSummary.Failure), + } + testCase.SystemOut = specSummary.CapturedOutput + } + if specSummary.State == types.SpecStateSkipped || specSummary.State == types.SpecStatePending { + testCase.Skipped = &JUnitSkipped{} + } + testCase.Time = specSummary.RunTime.Seconds() + reporter.suite.TestCases = append(reporter.suite.TestCases, testCase) +} + +func (reporter *JUnitReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { + reporter.suite.Tests = summary.NumberOfSpecsThatWillBeRun + reporter.suite.Time = summary.RunTime.Seconds() + reporter.suite.Failures = summary.NumberOfFailedSpecs + file, err := os.Create(reporter.filename) + if err != nil { + fmt.Printf("Failed to create JUnit report file: %s\n\t%s", reporter.filename, err.Error()) + } + defer file.Close() + file.WriteString(xml.Header) + encoder := xml.NewEncoder(file) + encoder.Indent(" ", " ") + err = encoder.Encode(reporter.suite) + if err != nil { + fmt.Printf("Failed to generate JUnit report\n\t%s", err.Error()) + } +} + +func (reporter *JUnitReporter) failureTypeForState(state types.SpecState) string { + switch state { + case types.SpecStateFailed: + return "Failure" + case types.SpecStateTimedOut: + return "Timeout" + case types.SpecStatePanicked: + return "Panic" + default: + return "" + } +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/reporter.go b/vendor/github.com/onsi/ginkgo/reporters/reporter.go new file mode 100644 index 0000000..348b9df --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/reporter.go @@ -0,0 +1,15 @@ +package reporters + +import ( + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/types" +) + +type Reporter interface { + SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) + BeforeSuiteDidRun(setupSummary *types.SetupSummary) + SpecWillRun(specSummary *types.SpecSummary) + SpecDidComplete(specSummary *types.SpecSummary) + AfterSuiteDidRun(setupSummary *types.SetupSummary) + SpecSuiteDidEnd(summary *types.SuiteSummary) +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/console_logging.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/console_logging.go new file mode 100644 index 0000000..45b8f88 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/console_logging.go @@ -0,0 +1,64 @@ +package stenographer + +import ( + "fmt" + "strings" +) + +func (s *consoleStenographer) colorize(colorCode string, format string, args ...interface{}) string { + var out string + + if len(args) > 0 { + out = fmt.Sprintf(format, args...) + } else { + out = format + } + + if s.color { + return fmt.Sprintf("%s%s%s", colorCode, out, defaultStyle) + } else { + return out + } +} + +func (s *consoleStenographer) printBanner(text string, bannerCharacter string) { + fmt.Fprintln(s.w, text) + fmt.Fprintln(s.w, strings.Repeat(bannerCharacter, len(text))) +} + +func (s *consoleStenographer) printNewLine() { + fmt.Fprintln(s.w, "") +} + +func (s *consoleStenographer) printDelimiter() { + fmt.Fprintln(s.w, s.colorize(grayColor, "%s", strings.Repeat("-", 30))) +} + +func (s *consoleStenographer) print(indentation int, format string, args ...interface{}) { + fmt.Fprint(s.w, s.indent(indentation, format, args...)) +} + +func (s *consoleStenographer) println(indentation int, format string, args ...interface{}) { + fmt.Fprintln(s.w, s.indent(indentation, format, args...)) +} + +func (s *consoleStenographer) indent(indentation int, format string, args ...interface{}) string { + var text string + + if len(args) > 0 { + text = fmt.Sprintf(format, args...) + } else { + text = format + } + + stringArray := strings.Split(text, "\n") + padding := "" + if indentation >= 0 { + padding = strings.Repeat(" ", indentation) + } + for i, s := range stringArray { + stringArray[i] = fmt.Sprintf("%s%s", padding, s) + } + + return strings.Join(stringArray, "\n") +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/fake_stenographer.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/fake_stenographer.go new file mode 100644 index 0000000..98854e7 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/fake_stenographer.go @@ -0,0 +1,142 @@ +package stenographer + +import ( + "sync" + + "github.com/onsi/ginkgo/types" +) + +func NewFakeStenographerCall(method string, args ...interface{}) FakeStenographerCall { + return FakeStenographerCall{ + Method: method, + Args: args, + } +} + +type FakeStenographer struct { + calls []FakeStenographerCall + lock *sync.Mutex +} + +type FakeStenographerCall struct { + Method string + Args []interface{} +} + +func NewFakeStenographer() *FakeStenographer { + stenographer := &FakeStenographer{ + lock: &sync.Mutex{}, + } + stenographer.Reset() + return stenographer +} + +func (stenographer *FakeStenographer) Calls() []FakeStenographerCall { + stenographer.lock.Lock() + defer stenographer.lock.Unlock() + + return stenographer.calls +} + +func (stenographer *FakeStenographer) Reset() { + stenographer.lock.Lock() + defer stenographer.lock.Unlock() + + stenographer.calls = make([]FakeStenographerCall, 0) +} + +func (stenographer *FakeStenographer) CallsTo(method string) []FakeStenographerCall { + stenographer.lock.Lock() + defer stenographer.lock.Unlock() + + results := make([]FakeStenographerCall, 0) + for _, call := range stenographer.calls { + if call.Method == method { + results = append(results, call) + } + } + + return results +} + +func (stenographer *FakeStenographer) registerCall(method string, args ...interface{}) { + stenographer.lock.Lock() + defer stenographer.lock.Unlock() + + stenographer.calls = append(stenographer.calls, NewFakeStenographerCall(method, args...)) +} + +func (stenographer *FakeStenographer) AnnounceSuite(description string, randomSeed int64, randomizingAll bool, succinct bool) { + stenographer.registerCall("AnnounceSuite", description, randomSeed, randomizingAll, succinct) +} + +func (stenographer *FakeStenographer) AnnounceAggregatedParallelRun(nodes int, succinct bool) { + stenographer.registerCall("AnnounceAggregatedParallelRun", nodes, succinct) +} + +func (stenographer *FakeStenographer) AnnounceParallelRun(node int, nodes int, succinct bool) { + stenographer.registerCall("AnnounceParallelRun", node, nodes, succinct) +} + +func (stenographer *FakeStenographer) AnnounceNumberOfSpecs(specsToRun int, total int, succinct bool) { + stenographer.registerCall("AnnounceNumberOfSpecs", specsToRun, total, succinct) +} + +func (stenographer *FakeStenographer) AnnounceTotalNumberOfSpecs(total int, succinct bool) { + stenographer.registerCall("AnnounceTotalNumberOfSpecs", total, succinct) +} + +func (stenographer *FakeStenographer) AnnounceSpecRunCompletion(summary *types.SuiteSummary, succinct bool) { + stenographer.registerCall("AnnounceSpecRunCompletion", summary, succinct) +} + +func (stenographer *FakeStenographer) AnnounceSpecWillRun(spec *types.SpecSummary) { + stenographer.registerCall("AnnounceSpecWillRun", spec) +} + +func (stenographer *FakeStenographer) AnnounceBeforeSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceBeforeSuiteFailure", summary, succinct, fullTrace) +} + +func (stenographer *FakeStenographer) AnnounceAfterSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceAfterSuiteFailure", summary, succinct, fullTrace) +} +func (stenographer *FakeStenographer) AnnounceCapturedOutput(output string) { + stenographer.registerCall("AnnounceCapturedOutput", output) +} + +func (stenographer *FakeStenographer) AnnounceSuccesfulSpec(spec *types.SpecSummary) { + stenographer.registerCall("AnnounceSuccesfulSpec", spec) +} + +func (stenographer *FakeStenographer) AnnounceSuccesfulSlowSpec(spec *types.SpecSummary, succinct bool) { + stenographer.registerCall("AnnounceSuccesfulSlowSpec", spec, succinct) +} + +func (stenographer *FakeStenographer) AnnounceSuccesfulMeasurement(spec *types.SpecSummary, succinct bool) { + stenographer.registerCall("AnnounceSuccesfulMeasurement", spec, succinct) +} + +func (stenographer *FakeStenographer) AnnouncePendingSpec(spec *types.SpecSummary, noisy bool) { + stenographer.registerCall("AnnouncePendingSpec", spec, noisy) +} + +func (stenographer *FakeStenographer) AnnounceSkippedSpec(spec *types.SpecSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceSkippedSpec", spec, succinct, fullTrace) +} + +func (stenographer *FakeStenographer) AnnounceSpecTimedOut(spec *types.SpecSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceSpecTimedOut", spec, succinct, fullTrace) +} + +func (stenographer *FakeStenographer) AnnounceSpecPanicked(spec *types.SpecSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceSpecPanicked", spec, succinct, fullTrace) +} + +func (stenographer *FakeStenographer) AnnounceSpecFailed(spec *types.SpecSummary, succinct bool, fullTrace bool) { + stenographer.registerCall("AnnounceSpecFailed", spec, succinct, fullTrace) +} + +func (stenographer *FakeStenographer) SummarizeFailures(summaries []*types.SpecSummary) { + stenographer.registerCall("SummarizeFailures", summaries) +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/stenographer.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/stenographer.go new file mode 100644 index 0000000..fefd3e1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/stenographer.go @@ -0,0 +1,573 @@ +/* +The stenographer is used by Ginkgo's reporters to generate output. + +Move along, nothing to see here. +*/ + +package stenographer + +import ( + "fmt" + "io" + "runtime" + "strings" + + "github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable" + "github.com/onsi/ginkgo/types" +) + +const defaultStyle = "\x1b[0m" +const boldStyle = "\x1b[1m" +const redColor = "\x1b[91m" +const greenColor = "\x1b[32m" +const yellowColor = "\x1b[33m" +const cyanColor = "\x1b[36m" +const grayColor = "\x1b[90m" +const lightGrayColor = "\x1b[37m" + +type cursorStateType int + +const ( + cursorStateTop cursorStateType = iota + cursorStateStreaming + cursorStateMidBlock + cursorStateEndBlock +) + +type Stenographer interface { + AnnounceSuite(description string, randomSeed int64, randomizingAll bool, succinct bool) + AnnounceAggregatedParallelRun(nodes int, succinct bool) + AnnounceParallelRun(node int, nodes int, succinct bool) + AnnounceTotalNumberOfSpecs(total int, succinct bool) + AnnounceNumberOfSpecs(specsToRun int, total int, succinct bool) + AnnounceSpecRunCompletion(summary *types.SuiteSummary, succinct bool) + + AnnounceSpecWillRun(spec *types.SpecSummary) + AnnounceBeforeSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) + AnnounceAfterSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) + + AnnounceCapturedOutput(output string) + + AnnounceSuccesfulSpec(spec *types.SpecSummary) + AnnounceSuccesfulSlowSpec(spec *types.SpecSummary, succinct bool) + AnnounceSuccesfulMeasurement(spec *types.SpecSummary, succinct bool) + + AnnouncePendingSpec(spec *types.SpecSummary, noisy bool) + AnnounceSkippedSpec(spec *types.SpecSummary, succinct bool, fullTrace bool) + + AnnounceSpecTimedOut(spec *types.SpecSummary, succinct bool, fullTrace bool) + AnnounceSpecPanicked(spec *types.SpecSummary, succinct bool, fullTrace bool) + AnnounceSpecFailed(spec *types.SpecSummary, succinct bool, fullTrace bool) + + SummarizeFailures(summaries []*types.SpecSummary) +} + +func New(color bool, enableFlakes bool) Stenographer { + denoter := "•" + if runtime.GOOS == "windows" { + denoter = "+" + } + return &consoleStenographer{ + color: color, + denoter: denoter, + cursorState: cursorStateTop, + enableFlakes: enableFlakes, + w: colorable.NewColorableStdout(), + } +} + +type consoleStenographer struct { + color bool + denoter string + cursorState cursorStateType + enableFlakes bool + w io.Writer +} + +var alternatingColors = []string{defaultStyle, grayColor} + +func (s *consoleStenographer) AnnounceSuite(description string, randomSeed int64, randomizingAll bool, succinct bool) { + if succinct { + s.print(0, "[%d] %s ", randomSeed, s.colorize(boldStyle, description)) + return + } + s.printBanner(fmt.Sprintf("Running Suite: %s", description), "=") + s.print(0, "Random Seed: %s", s.colorize(boldStyle, "%d", randomSeed)) + if randomizingAll { + s.print(0, " - Will randomize all specs") + } + s.printNewLine() +} + +func (s *consoleStenographer) AnnounceParallelRun(node int, nodes int, succinct bool) { + if succinct { + s.print(0, "- node #%d ", node) + return + } + s.println(0, + "Parallel test node %s/%s.", + s.colorize(boldStyle, "%d", node), + s.colorize(boldStyle, "%d", nodes), + ) + s.printNewLine() +} + +func (s *consoleStenographer) AnnounceAggregatedParallelRun(nodes int, succinct bool) { + if succinct { + s.print(0, "- %d nodes ", nodes) + return + } + s.println(0, + "Running in parallel across %s nodes", + s.colorize(boldStyle, "%d", nodes), + ) + s.printNewLine() +} + +func (s *consoleStenographer) AnnounceNumberOfSpecs(specsToRun int, total int, succinct bool) { + if succinct { + s.print(0, "- %d/%d specs ", specsToRun, total) + s.stream() + return + } + s.println(0, + "Will run %s of %s specs", + s.colorize(boldStyle, "%d", specsToRun), + s.colorize(boldStyle, "%d", total), + ) + + s.printNewLine() +} + +func (s *consoleStenographer) AnnounceTotalNumberOfSpecs(total int, succinct bool) { + if succinct { + s.print(0, "- %d specs ", total) + s.stream() + return + } + s.println(0, + "Will run %s specs", + s.colorize(boldStyle, "%d", total), + ) + + s.printNewLine() +} + +func (s *consoleStenographer) AnnounceSpecRunCompletion(summary *types.SuiteSummary, succinct bool) { + if succinct && summary.SuiteSucceeded { + s.print(0, " %s %s ", s.colorize(greenColor, "SUCCESS!"), summary.RunTime) + return + } + s.printNewLine() + color := greenColor + if !summary.SuiteSucceeded { + color = redColor + } + s.println(0, s.colorize(boldStyle+color, "Ran %d of %d Specs in %.3f seconds", summary.NumberOfSpecsThatWillBeRun, summary.NumberOfTotalSpecs, summary.RunTime.Seconds())) + + status := "" + if summary.SuiteSucceeded { + status = s.colorize(boldStyle+greenColor, "SUCCESS!") + } else { + status = s.colorize(boldStyle+redColor, "FAIL!") + } + + flakes := "" + if s.enableFlakes { + flakes = " | " + s.colorize(yellowColor+boldStyle, "%d Flaked", summary.NumberOfFlakedSpecs) + } + + s.print(0, + "%s -- %s | %s | %s | %s ", + status, + s.colorize(greenColor+boldStyle, "%d Passed", summary.NumberOfPassedSpecs), + s.colorize(redColor+boldStyle, "%d Failed", summary.NumberOfFailedSpecs)+flakes, + s.colorize(yellowColor+boldStyle, "%d Pending", summary.NumberOfPendingSpecs), + s.colorize(cyanColor+boldStyle, "%d Skipped", summary.NumberOfSkippedSpecs), + ) +} + +func (s *consoleStenographer) AnnounceSpecWillRun(spec *types.SpecSummary) { + s.startBlock() + for i, text := range spec.ComponentTexts[1 : len(spec.ComponentTexts)-1] { + s.print(0, s.colorize(alternatingColors[i%2], text)+" ") + } + + indentation := 0 + if len(spec.ComponentTexts) > 2 { + indentation = 1 + s.printNewLine() + } + index := len(spec.ComponentTexts) - 1 + s.print(indentation, s.colorize(boldStyle, spec.ComponentTexts[index])) + s.printNewLine() + s.print(indentation, s.colorize(lightGrayColor, spec.ComponentCodeLocations[index].String())) + s.printNewLine() + s.midBlock() +} + +func (s *consoleStenographer) AnnounceBeforeSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) { + s.announceSetupFailure("BeforeSuite", summary, succinct, fullTrace) +} + +func (s *consoleStenographer) AnnounceAfterSuiteFailure(summary *types.SetupSummary, succinct bool, fullTrace bool) { + s.announceSetupFailure("AfterSuite", summary, succinct, fullTrace) +} + +func (s *consoleStenographer) announceSetupFailure(name string, summary *types.SetupSummary, succinct bool, fullTrace bool) { + s.startBlock() + var message string + switch summary.State { + case types.SpecStateFailed: + message = "Failure" + case types.SpecStatePanicked: + message = "Panic" + case types.SpecStateTimedOut: + message = "Timeout" + } + + s.println(0, s.colorize(redColor+boldStyle, "%s [%.3f seconds]", message, summary.RunTime.Seconds())) + + indentation := s.printCodeLocationBlock([]string{name}, []types.CodeLocation{summary.CodeLocation}, summary.ComponentType, 0, summary.State, true) + + s.printNewLine() + s.printFailure(indentation, summary.State, summary.Failure, fullTrace) + + s.endBlock() +} + +func (s *consoleStenographer) AnnounceCapturedOutput(output string) { + if output == "" { + return + } + + s.startBlock() + s.println(0, output) + s.midBlock() +} + +func (s *consoleStenographer) AnnounceSuccesfulSpec(spec *types.SpecSummary) { + s.print(0, s.colorize(greenColor, s.denoter)) + s.stream() +} + +func (s *consoleStenographer) AnnounceSuccesfulSlowSpec(spec *types.SpecSummary, succinct bool) { + s.printBlockWithMessage( + s.colorize(greenColor, "%s [SLOW TEST:%.3f seconds]", s.denoter, spec.RunTime.Seconds()), + "", + spec, + succinct, + ) +} + +func (s *consoleStenographer) AnnounceSuccesfulMeasurement(spec *types.SpecSummary, succinct bool) { + s.printBlockWithMessage( + s.colorize(greenColor, "%s [MEASUREMENT]", s.denoter), + s.measurementReport(spec, succinct), + spec, + succinct, + ) +} + +func (s *consoleStenographer) AnnouncePendingSpec(spec *types.SpecSummary, noisy bool) { + if noisy { + s.printBlockWithMessage( + s.colorize(yellowColor, "P [PENDING]"), + "", + spec, + false, + ) + } else { + s.print(0, s.colorize(yellowColor, "P")) + s.stream() + } +} + +func (s *consoleStenographer) AnnounceSkippedSpec(spec *types.SpecSummary, succinct bool, fullTrace bool) { + // Skips at runtime will have a non-empty spec.Failure. All others should be succinct. + if succinct || spec.Failure == (types.SpecFailure{}) { + s.print(0, s.colorize(cyanColor, "S")) + s.stream() + } else { + s.startBlock() + s.println(0, s.colorize(cyanColor+boldStyle, "S [SKIPPING]%s [%.3f seconds]", s.failureContext(spec.Failure.ComponentType), spec.RunTime.Seconds())) + + indentation := s.printCodeLocationBlock(spec.ComponentTexts, spec.ComponentCodeLocations, spec.Failure.ComponentType, spec.Failure.ComponentIndex, spec.State, succinct) + + s.printNewLine() + s.printSkip(indentation, spec.Failure) + s.endBlock() + } +} + +func (s *consoleStenographer) AnnounceSpecTimedOut(spec *types.SpecSummary, succinct bool, fullTrace bool) { + s.printSpecFailure(fmt.Sprintf("%s... Timeout", s.denoter), spec, succinct, fullTrace) +} + +func (s *consoleStenographer) AnnounceSpecPanicked(spec *types.SpecSummary, succinct bool, fullTrace bool) { + s.printSpecFailure(fmt.Sprintf("%s! Panic", s.denoter), spec, succinct, fullTrace) +} + +func (s *consoleStenographer) AnnounceSpecFailed(spec *types.SpecSummary, succinct bool, fullTrace bool) { + s.printSpecFailure(fmt.Sprintf("%s Failure", s.denoter), spec, succinct, fullTrace) +} + +func (s *consoleStenographer) SummarizeFailures(summaries []*types.SpecSummary) { + failingSpecs := []*types.SpecSummary{} + + for _, summary := range summaries { + if summary.HasFailureState() { + failingSpecs = append(failingSpecs, summary) + } + } + + if len(failingSpecs) == 0 { + return + } + + s.printNewLine() + s.printNewLine() + plural := "s" + if len(failingSpecs) == 1 { + plural = "" + } + s.println(0, s.colorize(redColor+boldStyle, "Summarizing %d Failure%s:", len(failingSpecs), plural)) + for _, summary := range failingSpecs { + s.printNewLine() + if summary.HasFailureState() { + if summary.TimedOut() { + s.print(0, s.colorize(redColor+boldStyle, "[Timeout...] ")) + } else if summary.Panicked() { + s.print(0, s.colorize(redColor+boldStyle, "[Panic!] ")) + } else if summary.Failed() { + s.print(0, s.colorize(redColor+boldStyle, "[Fail] ")) + } + s.printSpecContext(summary.ComponentTexts, summary.ComponentCodeLocations, summary.Failure.ComponentType, summary.Failure.ComponentIndex, summary.State, true) + s.printNewLine() + s.println(0, s.colorize(lightGrayColor, summary.Failure.Location.String())) + } + } +} + +func (s *consoleStenographer) startBlock() { + if s.cursorState == cursorStateStreaming { + s.printNewLine() + s.printDelimiter() + } else if s.cursorState == cursorStateMidBlock { + s.printNewLine() + } +} + +func (s *consoleStenographer) midBlock() { + s.cursorState = cursorStateMidBlock +} + +func (s *consoleStenographer) endBlock() { + s.printDelimiter() + s.cursorState = cursorStateEndBlock +} + +func (s *consoleStenographer) stream() { + s.cursorState = cursorStateStreaming +} + +func (s *consoleStenographer) printBlockWithMessage(header string, message string, spec *types.SpecSummary, succinct bool) { + s.startBlock() + s.println(0, header) + + indentation := s.printCodeLocationBlock(spec.ComponentTexts, spec.ComponentCodeLocations, types.SpecComponentTypeInvalid, 0, spec.State, succinct) + + if message != "" { + s.printNewLine() + s.println(indentation, message) + } + + s.endBlock() +} + +func (s *consoleStenographer) printSpecFailure(message string, spec *types.SpecSummary, succinct bool, fullTrace bool) { + s.startBlock() + s.println(0, s.colorize(redColor+boldStyle, "%s%s [%.3f seconds]", message, s.failureContext(spec.Failure.ComponentType), spec.RunTime.Seconds())) + + indentation := s.printCodeLocationBlock(spec.ComponentTexts, spec.ComponentCodeLocations, spec.Failure.ComponentType, spec.Failure.ComponentIndex, spec.State, succinct) + + s.printNewLine() + s.printFailure(indentation, spec.State, spec.Failure, fullTrace) + s.endBlock() +} + +func (s *consoleStenographer) failureContext(failedComponentType types.SpecComponentType) string { + switch failedComponentType { + case types.SpecComponentTypeBeforeSuite: + return " in Suite Setup (BeforeSuite)" + case types.SpecComponentTypeAfterSuite: + return " in Suite Teardown (AfterSuite)" + case types.SpecComponentTypeBeforeEach: + return " in Spec Setup (BeforeEach)" + case types.SpecComponentTypeJustBeforeEach: + return " in Spec Setup (JustBeforeEach)" + case types.SpecComponentTypeAfterEach: + return " in Spec Teardown (AfterEach)" + } + + return "" +} + +func (s *consoleStenographer) printSkip(indentation int, spec types.SpecFailure) { + s.println(indentation, s.colorize(cyanColor, spec.Message)) + s.printNewLine() + s.println(indentation, spec.Location.String()) +} + +func (s *consoleStenographer) printFailure(indentation int, state types.SpecState, failure types.SpecFailure, fullTrace bool) { + if state == types.SpecStatePanicked { + s.println(indentation, s.colorize(redColor+boldStyle, failure.Message)) + s.println(indentation, s.colorize(redColor, failure.ForwardedPanic)) + s.println(indentation, failure.Location.String()) + s.printNewLine() + s.println(indentation, s.colorize(redColor, "Full Stack Trace")) + s.println(indentation, failure.Location.FullStackTrace) + } else { + s.println(indentation, s.colorize(redColor, failure.Message)) + s.printNewLine() + s.println(indentation, failure.Location.String()) + if fullTrace { + s.printNewLine() + s.println(indentation, s.colorize(redColor, "Full Stack Trace")) + s.println(indentation, failure.Location.FullStackTrace) + } + } +} + +func (s *consoleStenographer) printSpecContext(componentTexts []string, componentCodeLocations []types.CodeLocation, failedComponentType types.SpecComponentType, failedComponentIndex int, state types.SpecState, succinct bool) int { + startIndex := 1 + indentation := 0 + + if len(componentTexts) == 1 { + startIndex = 0 + } + + for i := startIndex; i < len(componentTexts); i++ { + if (state.IsFailure() || state == types.SpecStateSkipped) && i == failedComponentIndex { + color := redColor + if state == types.SpecStateSkipped { + color = cyanColor + } + blockType := "" + switch failedComponentType { + case types.SpecComponentTypeBeforeSuite: + blockType = "BeforeSuite" + case types.SpecComponentTypeAfterSuite: + blockType = "AfterSuite" + case types.SpecComponentTypeBeforeEach: + blockType = "BeforeEach" + case types.SpecComponentTypeJustBeforeEach: + blockType = "JustBeforeEach" + case types.SpecComponentTypeAfterEach: + blockType = "AfterEach" + case types.SpecComponentTypeIt: + blockType = "It" + case types.SpecComponentTypeMeasure: + blockType = "Measurement" + } + if succinct { + s.print(0, s.colorize(color+boldStyle, "[%s] %s ", blockType, componentTexts[i])) + } else { + s.println(indentation, s.colorize(color+boldStyle, "%s [%s]", componentTexts[i], blockType)) + s.println(indentation, s.colorize(grayColor, "%s", componentCodeLocations[i])) + } + } else { + if succinct { + s.print(0, s.colorize(alternatingColors[i%2], "%s ", componentTexts[i])) + } else { + s.println(indentation, componentTexts[i]) + s.println(indentation, s.colorize(grayColor, "%s", componentCodeLocations[i])) + } + } + indentation++ + } + + return indentation +} + +func (s *consoleStenographer) printCodeLocationBlock(componentTexts []string, componentCodeLocations []types.CodeLocation, failedComponentType types.SpecComponentType, failedComponentIndex int, state types.SpecState, succinct bool) int { + indentation := s.printSpecContext(componentTexts, componentCodeLocations, failedComponentType, failedComponentIndex, state, succinct) + + if succinct { + if len(componentTexts) > 0 { + s.printNewLine() + s.print(0, s.colorize(lightGrayColor, "%s", componentCodeLocations[len(componentCodeLocations)-1])) + } + s.printNewLine() + indentation = 1 + } else { + indentation-- + } + + return indentation +} + +func (s *consoleStenographer) orderedMeasurementKeys(measurements map[string]*types.SpecMeasurement) []string { + orderedKeys := make([]string, len(measurements)) + for key, measurement := range measurements { + orderedKeys[measurement.Order] = key + } + return orderedKeys +} + +func (s *consoleStenographer) measurementReport(spec *types.SpecSummary, succinct bool) string { + if len(spec.Measurements) == 0 { + return "Found no measurements" + } + + message := []string{} + orderedKeys := s.orderedMeasurementKeys(spec.Measurements) + + if succinct { + message = append(message, fmt.Sprintf("%s samples:", s.colorize(boldStyle, "%d", spec.NumberOfSamples))) + for _, key := range orderedKeys { + measurement := spec.Measurements[key] + message = append(message, fmt.Sprintf(" %s - %s: %s%s, %s: %s%s ± %s%s, %s: %s%s", + s.colorize(boldStyle, "%s", measurement.Name), + measurement.SmallestLabel, + s.colorize(greenColor, measurement.PrecisionFmt(), measurement.Smallest), + measurement.Units, + measurement.AverageLabel, + s.colorize(cyanColor, measurement.PrecisionFmt(), measurement.Average), + measurement.Units, + s.colorize(cyanColor, measurement.PrecisionFmt(), measurement.StdDeviation), + measurement.Units, + measurement.LargestLabel, + s.colorize(redColor, measurement.PrecisionFmt(), measurement.Largest), + measurement.Units, + )) + } + } else { + message = append(message, fmt.Sprintf("Ran %s samples:", s.colorize(boldStyle, "%d", spec.NumberOfSamples))) + for _, key := range orderedKeys { + measurement := spec.Measurements[key] + info := "" + if measurement.Info != nil { + message = append(message, fmt.Sprintf("%v", measurement.Info)) + } + + message = append(message, fmt.Sprintf("%s:\n%s %s: %s%s\n %s: %s%s\n %s: %s%s ± %s%s", + s.colorize(boldStyle, "%s", measurement.Name), + info, + measurement.SmallestLabel, + s.colorize(greenColor, measurement.PrecisionFmt(), measurement.Smallest), + measurement.Units, + measurement.LargestLabel, + s.colorize(redColor, measurement.PrecisionFmt(), measurement.Largest), + measurement.Units, + measurement.AverageLabel, + s.colorize(cyanColor, measurement.PrecisionFmt(), measurement.Average), + measurement.Units, + s.colorize(cyanColor, measurement.PrecisionFmt(), measurement.StdDeviation), + measurement.Units, + )) + } + } + + return strings.Join(message, "\n") +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/LICENSE b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/LICENSE new file mode 100644 index 0000000..91b5cef --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +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/onsi/ginkgo/reporters/stenographer/support/go-colorable/README.md b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/README.md new file mode 100644 index 0000000..e84226a --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/README.md @@ -0,0 +1,43 @@ +# go-colorable + +Colorable writer for windows. + +For example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.) +This package is possible to handle escape sequence for ansi color on windows. + +## Too Bad! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png) + + +## So Good! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png) + +## Usage + +```go +logrus.SetFormatter(&logrus.TextFormatter{ForceColors: true}) +logrus.SetOutput(colorable.NewColorableStdout()) + +logrus.Info("succeeded") +logrus.Warn("not correct") +logrus.Error("something error") +logrus.Fatal("panic") +``` + +You can compile above code on non-windows OSs. + +## Installation + +``` +$ go get github.com/mattn/go-colorable +``` + +# License + +MIT + +# Author + +Yasuhiro Matsumoto (a.k.a mattn) diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_others.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_others.go new file mode 100644 index 0000000..52d6653 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_others.go @@ -0,0 +1,24 @@ +// +build !windows + +package colorable + +import ( + "io" + "os" +) + +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +func NewColorableStdout() io.Writer { + return os.Stdout +} + +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_windows.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_windows.go new file mode 100644 index 0000000..1088009 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_windows.go @@ -0,0 +1,783 @@ +package colorable + +import ( + "bytes" + "fmt" + "io" + "math" + "os" + "strconv" + "strings" + "syscall" + "unsafe" + + "github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty" +) + +const ( + foregroundBlue = 0x1 + foregroundGreen = 0x2 + foregroundRed = 0x4 + foregroundIntensity = 0x8 + foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity) + backgroundBlue = 0x10 + backgroundGreen = 0x20 + backgroundRed = 0x40 + backgroundIntensity = 0x80 + backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) +) + +type wchar uint16 +type short int16 +type dword uint32 +type word uint16 + +type coord struct { + x short + y short +} + +type smallRect struct { + left short + top short + right short + bottom short +} + +type consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord +} + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") + procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute") + procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") + procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") + procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") +) + +type Writer struct { + out io.Writer + handle syscall.Handle + lastbuf bytes.Buffer + oldattr word +} + +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + if isatty.IsTerminal(file.Fd()) { + var csbi consoleScreenBufferInfo + handle := syscall.Handle(file.Fd()) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + return &Writer{out: file, handle: handle, oldattr: csbi.attributes} + } else { + return file + } +} + +func NewColorableStdout() io.Writer { + return NewColorable(os.Stdout) +} + +func NewColorableStderr() io.Writer { + return NewColorable(os.Stderr) +} + +var color256 = map[int]int{ + 0: 0x000000, + 1: 0x800000, + 2: 0x008000, + 3: 0x808000, + 4: 0x000080, + 5: 0x800080, + 6: 0x008080, + 7: 0xc0c0c0, + 8: 0x808080, + 9: 0xff0000, + 10: 0x00ff00, + 11: 0xffff00, + 12: 0x0000ff, + 13: 0xff00ff, + 14: 0x00ffff, + 15: 0xffffff, + 16: 0x000000, + 17: 0x00005f, + 18: 0x000087, + 19: 0x0000af, + 20: 0x0000d7, + 21: 0x0000ff, + 22: 0x005f00, + 23: 0x005f5f, + 24: 0x005f87, + 25: 0x005faf, + 26: 0x005fd7, + 27: 0x005fff, + 28: 0x008700, + 29: 0x00875f, + 30: 0x008787, + 31: 0x0087af, + 32: 0x0087d7, + 33: 0x0087ff, + 34: 0x00af00, + 35: 0x00af5f, + 36: 0x00af87, + 37: 0x00afaf, + 38: 0x00afd7, + 39: 0x00afff, + 40: 0x00d700, + 41: 0x00d75f, + 42: 0x00d787, + 43: 0x00d7af, + 44: 0x00d7d7, + 45: 0x00d7ff, + 46: 0x00ff00, + 47: 0x00ff5f, + 48: 0x00ff87, + 49: 0x00ffaf, + 50: 0x00ffd7, + 51: 0x00ffff, + 52: 0x5f0000, + 53: 0x5f005f, + 54: 0x5f0087, + 55: 0x5f00af, + 56: 0x5f00d7, + 57: 0x5f00ff, + 58: 0x5f5f00, + 59: 0x5f5f5f, + 60: 0x5f5f87, + 61: 0x5f5faf, + 62: 0x5f5fd7, + 63: 0x5f5fff, + 64: 0x5f8700, + 65: 0x5f875f, + 66: 0x5f8787, + 67: 0x5f87af, + 68: 0x5f87d7, + 69: 0x5f87ff, + 70: 0x5faf00, + 71: 0x5faf5f, + 72: 0x5faf87, + 73: 0x5fafaf, + 74: 0x5fafd7, + 75: 0x5fafff, + 76: 0x5fd700, + 77: 0x5fd75f, + 78: 0x5fd787, + 79: 0x5fd7af, + 80: 0x5fd7d7, + 81: 0x5fd7ff, + 82: 0x5fff00, + 83: 0x5fff5f, + 84: 0x5fff87, + 85: 0x5fffaf, + 86: 0x5fffd7, + 87: 0x5fffff, + 88: 0x870000, + 89: 0x87005f, + 90: 0x870087, + 91: 0x8700af, + 92: 0x8700d7, + 93: 0x8700ff, + 94: 0x875f00, + 95: 0x875f5f, + 96: 0x875f87, + 97: 0x875faf, + 98: 0x875fd7, + 99: 0x875fff, + 100: 0x878700, + 101: 0x87875f, + 102: 0x878787, + 103: 0x8787af, + 104: 0x8787d7, + 105: 0x8787ff, + 106: 0x87af00, + 107: 0x87af5f, + 108: 0x87af87, + 109: 0x87afaf, + 110: 0x87afd7, + 111: 0x87afff, + 112: 0x87d700, + 113: 0x87d75f, + 114: 0x87d787, + 115: 0x87d7af, + 116: 0x87d7d7, + 117: 0x87d7ff, + 118: 0x87ff00, + 119: 0x87ff5f, + 120: 0x87ff87, + 121: 0x87ffaf, + 122: 0x87ffd7, + 123: 0x87ffff, + 124: 0xaf0000, + 125: 0xaf005f, + 126: 0xaf0087, + 127: 0xaf00af, + 128: 0xaf00d7, + 129: 0xaf00ff, + 130: 0xaf5f00, + 131: 0xaf5f5f, + 132: 0xaf5f87, + 133: 0xaf5faf, + 134: 0xaf5fd7, + 135: 0xaf5fff, + 136: 0xaf8700, + 137: 0xaf875f, + 138: 0xaf8787, + 139: 0xaf87af, + 140: 0xaf87d7, + 141: 0xaf87ff, + 142: 0xafaf00, + 143: 0xafaf5f, + 144: 0xafaf87, + 145: 0xafafaf, + 146: 0xafafd7, + 147: 0xafafff, + 148: 0xafd700, + 149: 0xafd75f, + 150: 0xafd787, + 151: 0xafd7af, + 152: 0xafd7d7, + 153: 0xafd7ff, + 154: 0xafff00, + 155: 0xafff5f, + 156: 0xafff87, + 157: 0xafffaf, + 158: 0xafffd7, + 159: 0xafffff, + 160: 0xd70000, + 161: 0xd7005f, + 162: 0xd70087, + 163: 0xd700af, + 164: 0xd700d7, + 165: 0xd700ff, + 166: 0xd75f00, + 167: 0xd75f5f, + 168: 0xd75f87, + 169: 0xd75faf, + 170: 0xd75fd7, + 171: 0xd75fff, + 172: 0xd78700, + 173: 0xd7875f, + 174: 0xd78787, + 175: 0xd787af, + 176: 0xd787d7, + 177: 0xd787ff, + 178: 0xd7af00, + 179: 0xd7af5f, + 180: 0xd7af87, + 181: 0xd7afaf, + 182: 0xd7afd7, + 183: 0xd7afff, + 184: 0xd7d700, + 185: 0xd7d75f, + 186: 0xd7d787, + 187: 0xd7d7af, + 188: 0xd7d7d7, + 189: 0xd7d7ff, + 190: 0xd7ff00, + 191: 0xd7ff5f, + 192: 0xd7ff87, + 193: 0xd7ffaf, + 194: 0xd7ffd7, + 195: 0xd7ffff, + 196: 0xff0000, + 197: 0xff005f, + 198: 0xff0087, + 199: 0xff00af, + 200: 0xff00d7, + 201: 0xff00ff, + 202: 0xff5f00, + 203: 0xff5f5f, + 204: 0xff5f87, + 205: 0xff5faf, + 206: 0xff5fd7, + 207: 0xff5fff, + 208: 0xff8700, + 209: 0xff875f, + 210: 0xff8787, + 211: 0xff87af, + 212: 0xff87d7, + 213: 0xff87ff, + 214: 0xffaf00, + 215: 0xffaf5f, + 216: 0xffaf87, + 217: 0xffafaf, + 218: 0xffafd7, + 219: 0xffafff, + 220: 0xffd700, + 221: 0xffd75f, + 222: 0xffd787, + 223: 0xffd7af, + 224: 0xffd7d7, + 225: 0xffd7ff, + 226: 0xffff00, + 227: 0xffff5f, + 228: 0xffff87, + 229: 0xffffaf, + 230: 0xffffd7, + 231: 0xffffff, + 232: 0x080808, + 233: 0x121212, + 234: 0x1c1c1c, + 235: 0x262626, + 236: 0x303030, + 237: 0x3a3a3a, + 238: 0x444444, + 239: 0x4e4e4e, + 240: 0x585858, + 241: 0x626262, + 242: 0x6c6c6c, + 243: 0x767676, + 244: 0x808080, + 245: 0x8a8a8a, + 246: 0x949494, + 247: 0x9e9e9e, + 248: 0xa8a8a8, + 249: 0xb2b2b2, + 250: 0xbcbcbc, + 251: 0xc6c6c6, + 252: 0xd0d0d0, + 253: 0xdadada, + 254: 0xe4e4e4, + 255: 0xeeeeee, +} + +func (w *Writer) Write(data []byte) (n int, err error) { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + + er := bytes.NewBuffer(data) +loop: + for { + r1, _, err := procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + if r1 == 0 { + break loop + } + + c1, _, err := er.ReadRune() + if err != nil { + break loop + } + if c1 != 0x1b { + fmt.Fprint(w.out, string(c1)) + continue + } + c2, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + break loop + } + if c2 != 0x5b { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + continue + } + + var buf bytes.Buffer + var m rune + for { + c, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + w.lastbuf.Write(buf.Bytes()) + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + m = c + break + } + buf.Write([]byte(string(c))) + } + + var csbi consoleScreenBufferInfo + switch m { + case 'A': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'B': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'C': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'D': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + if n, err = strconv.Atoi(buf.String()); err == nil { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + } + case 'E': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'F': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'G': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = short(n) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H': + token := strings.Split(buf.String(), ";") + if len(token) != 2 { + continue + } + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + n2, err := strconv.Atoi(token[1]) + if err != nil { + continue + } + csbi.cursorPosition.x = short(n2) + csbi.cursorPosition.x = short(n1) + procSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'J': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'K': + n, err := strconv.Atoi(buf.String()) + if err != nil { + continue + } + var cursor coord + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y} + } + var count, written dword + count = dword(csbi.size.x - csbi.cursorPosition.x) + procFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'm': + attr := csbi.attributes + cs := buf.String() + if cs == "" { + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr)) + continue + } + token := strings.Split(cs, ";") + for i := 0; i < len(token); i += 1 { + ns := token[i] + if n, err = strconv.Atoi(ns); err == nil { + switch { + case n == 0 || n == 100: + attr = w.oldattr + case 1 <= n && n <= 5: + attr |= foregroundIntensity + case n == 7: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 22 == n || n == 25 || n == 25: + attr |= foregroundIntensity + case n == 27: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 30 <= n && n <= 37: + attr = (attr & backgroundMask) + if (n-30)&1 != 0 { + attr |= foregroundRed + } + if (n-30)&2 != 0 { + attr |= foregroundGreen + } + if (n-30)&4 != 0 { + attr |= foregroundBlue + } + case n == 38: // set foreground color. + if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256foreAttr == nil { + n256setup() + } + attr &= backgroundMask + attr |= n256foreAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & backgroundMask) + } + case n == 39: // reset foreground color. + attr &= backgroundMask + attr |= w.oldattr & foregroundMask + case 40 <= n && n <= 47: + attr = (attr & foregroundMask) + if (n-40)&1 != 0 { + attr |= backgroundRed + } + if (n-40)&2 != 0 { + attr |= backgroundGreen + } + if (n-40)&4 != 0 { + attr |= backgroundBlue + } + case n == 48: // set background color. + if i < len(token)-2 && token[i+1] == "5" { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256backAttr == nil { + n256setup() + } + attr &= foregroundMask + attr |= n256backAttr[n256] + i += 2 + } + } else { + attr = attr & (w.oldattr & foregroundMask) + } + case n == 49: // reset foreground color. + attr &= foregroundMask + attr |= w.oldattr & backgroundMask + case 90 <= n && n <= 97: + attr = (attr & backgroundMask) + attr |= foregroundIntensity + if (n-90)&1 != 0 { + attr |= foregroundRed + } + if (n-90)&2 != 0 { + attr |= foregroundGreen + } + if (n-90)&4 != 0 { + attr |= foregroundBlue + } + case 100 <= n && n <= 107: + attr = (attr & foregroundMask) + attr |= backgroundIntensity + if (n-100)&1 != 0 { + attr |= backgroundRed + } + if (n-100)&2 != 0 { + attr |= backgroundGreen + } + if (n-100)&4 != 0 { + attr |= backgroundBlue + } + } + procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr)) + } + } + } + } + return len(data) - w.lastbuf.Len(), nil +} + +type consoleColor struct { + rgb int + red bool + green bool + blue bool + intensity bool +} + +func (c consoleColor) foregroundAttr() (attr word) { + if c.red { + attr |= foregroundRed + } + if c.green { + attr |= foregroundGreen + } + if c.blue { + attr |= foregroundBlue + } + if c.intensity { + attr |= foregroundIntensity + } + return +} + +func (c consoleColor) backgroundAttr() (attr word) { + if c.red { + attr |= backgroundRed + } + if c.green { + attr |= backgroundGreen + } + if c.blue { + attr |= backgroundBlue + } + if c.intensity { + attr |= backgroundIntensity + } + return +} + +var color16 = []consoleColor{ + consoleColor{0x000000, false, false, false, false}, + consoleColor{0x000080, false, false, true, false}, + consoleColor{0x008000, false, true, false, false}, + consoleColor{0x008080, false, true, true, false}, + consoleColor{0x800000, true, false, false, false}, + consoleColor{0x800080, true, false, true, false}, + consoleColor{0x808000, true, true, false, false}, + consoleColor{0xc0c0c0, true, true, true, false}, + consoleColor{0x808080, false, false, false, true}, + consoleColor{0x0000ff, false, false, true, true}, + consoleColor{0x00ff00, false, true, false, true}, + consoleColor{0x00ffff, false, true, true, true}, + consoleColor{0xff0000, true, false, false, true}, + consoleColor{0xff00ff, true, false, true, true}, + consoleColor{0xffff00, true, true, false, true}, + consoleColor{0xffffff, true, true, true, true}, +} + +type hsv struct { + h, s, v float32 +} + +func (a hsv) dist(b hsv) float32 { + dh := a.h - b.h + switch { + case dh > 0.5: + dh = 1 - dh + case dh < -0.5: + dh = -1 - dh + } + ds := a.s - b.s + dv := a.v - b.v + return float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv))) +} + +func toHSV(rgb int) hsv { + r, g, b := float32((rgb&0xFF0000)>>16)/256.0, + float32((rgb&0x00FF00)>>8)/256.0, + float32(rgb&0x0000FF)/256.0 + min, max := minmax3f(r, g, b) + h := max - min + if h > 0 { + if max == r { + h = (g - b) / h + if h < 0 { + h += 6 + } + } else if max == g { + h = 2 + (b-r)/h + } else { + h = 4 + (r-g)/h + } + } + h /= 6.0 + s := max - min + if max != 0 { + s /= max + } + v := max + return hsv{h: h, s: s, v: v} +} + +type hsvTable []hsv + +func toHSVTable(rgbTable []consoleColor) hsvTable { + t := make(hsvTable, len(rgbTable)) + for i, c := range rgbTable { + t[i] = toHSV(c.rgb) + } + return t +} + +func (t hsvTable) find(rgb int) consoleColor { + hsv := toHSV(rgb) + n := 7 + l := float32(5.0) + for i, p := range t { + d := hsv.dist(p) + if d < l { + l, n = d, i + } + } + return color16[n] +} + +func minmax3f(a, b, c float32) (min, max float32) { + if a < b { + if b < c { + return a, c + } else if a < c { + return a, b + } else { + return c, b + } + } else { + if a < c { + return b, c + } else if b < c { + return b, a + } else { + return c, a + } + } +} + +var n256foreAttr []word +var n256backAttr []word + +func n256setup() { + n256foreAttr = make([]word, 256) + n256backAttr = make([]word, 256) + t := toHSVTable(color16) + for i, rgb := range color256 { + c := t.find(rgb) + n256foreAttr[i] = c.foregroundAttr() + n256backAttr[i] = c.backgroundAttr() + } +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/noncolorable.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/noncolorable.go new file mode 100644 index 0000000..fb976db --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/noncolorable.go @@ -0,0 +1,57 @@ +package colorable + +import ( + "bytes" + "fmt" + "io" +) + +type NonColorable struct { + out io.Writer + lastbuf bytes.Buffer +} + +func NewNonColorable(w io.Writer) io.Writer { + return &NonColorable{out: w} +} + +func (w *NonColorable) Write(data []byte) (n int, err error) { + er := bytes.NewBuffer(data) +loop: + for { + c1, _, err := er.ReadRune() + if err != nil { + break loop + } + if c1 != 0x1b { + fmt.Fprint(w.out, string(c1)) + continue + } + c2, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + break loop + } + if c2 != 0x5b { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + continue + } + + var buf bytes.Buffer + for { + c, _, err := er.ReadRune() + if err != nil { + w.lastbuf.WriteRune(c1) + w.lastbuf.WriteRune(c2) + w.lastbuf.Write(buf.Bytes()) + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + break + } + buf.Write([]byte(string(c))) + } + } + return len(data) - w.lastbuf.Len(), nil +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE new file mode 100644 index 0000000..65dc692 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE @@ -0,0 +1,9 @@ +Copyright (c) Yasuhiro MATSUMOTO + +MIT License (Expat) + +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/onsi/ginkgo/reporters/stenographer/support/go-isatty/README.md b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/README.md new file mode 100644 index 0000000..74845de --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/README.md @@ -0,0 +1,37 @@ +# go-isatty + +isatty for golang + +## Usage + +```go +package main + +import ( + "fmt" + "github.com/mattn/go-isatty" + "os" +) + +func main() { + if isatty.IsTerminal(os.Stdout.Fd()) { + fmt.Println("Is Terminal") + } else { + fmt.Println("Is Not Terminal") + } +} +``` + +## Installation + +``` +$ go get github.com/mattn/go-isatty +``` + +# License + +MIT + +# Author + +Yasuhiro Matsumoto (a.k.a mattn) diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/doc.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/doc.go new file mode 100644 index 0000000..17d4f90 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/doc.go @@ -0,0 +1,2 @@ +// Package isatty implements interface to isatty +package isatty diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_appengine.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_appengine.go new file mode 100644 index 0000000..83c5887 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_appengine.go @@ -0,0 +1,9 @@ +// +build appengine + +package isatty + +// IsTerminal returns true if the file descriptor is terminal which +// is always false on on appengine classic which is a sandboxed PaaS. +func IsTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_bsd.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_bsd.go new file mode 100644 index 0000000..98ffe86 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_bsd.go @@ -0,0 +1,18 @@ +// +build darwin freebsd openbsd netbsd +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TIOCGETA + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_linux.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_linux.go new file mode 100644 index 0000000..9d24bac --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_linux.go @@ -0,0 +1,18 @@ +// +build linux +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_solaris.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_solaris.go new file mode 100644 index 0000000..1f0c6bf --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_solaris.go @@ -0,0 +1,16 @@ +// +build solaris +// +build !appengine + +package isatty + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c +func IsTerminal(fd uintptr) bool { + var termio unix.Termio + err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) + return err == nil +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_windows.go b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_windows.go new file mode 100644 index 0000000..83c398b --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_windows.go @@ -0,0 +1,19 @@ +// +build windows +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +var kernel32 = syscall.NewLazyDLL("kernel32.dll") +var procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} diff --git a/vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go b/vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go new file mode 100644 index 0000000..36ee2a6 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/reporters/teamcity_reporter.go @@ -0,0 +1,93 @@ +/* + +TeamCity Reporter for Ginkgo + +Makes use of TeamCity's support for Service Messages +http://confluence.jetbrains.com/display/TCD7/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ReportingTests +*/ + +package reporters + +import ( + "fmt" + "io" + "strings" + + "github.com/onsi/ginkgo/config" + "github.com/onsi/ginkgo/types" +) + +const ( + messageId = "##teamcity" +) + +type TeamCityReporter struct { + writer io.Writer + testSuiteName string +} + +func NewTeamCityReporter(writer io.Writer) *TeamCityReporter { + return &TeamCityReporter{ + writer: writer, + } +} + +func (reporter *TeamCityReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) { + reporter.testSuiteName = escape(summary.SuiteDescription) + fmt.Fprintf(reporter.writer, "%s[testSuiteStarted name='%s']", messageId, reporter.testSuiteName) +} + +func (reporter *TeamCityReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary) { + reporter.handleSetupSummary("BeforeSuite", setupSummary) +} + +func (reporter *TeamCityReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary) { + reporter.handleSetupSummary("AfterSuite", setupSummary) +} + +func (reporter *TeamCityReporter) handleSetupSummary(name string, setupSummary *types.SetupSummary) { + if setupSummary.State != types.SpecStatePassed { + testName := escape(name) + fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']", messageId, testName) + message := escape(setupSummary.Failure.ComponentCodeLocation.String()) + details := escape(setupSummary.Failure.Message) + fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']", messageId, testName, message, details) + durationInMilliseconds := setupSummary.RunTime.Seconds() * 1000 + fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']", messageId, testName, durationInMilliseconds) + } +} + +func (reporter *TeamCityReporter) SpecWillRun(specSummary *types.SpecSummary) { + testName := escape(strings.Join(specSummary.ComponentTexts[1:], " ")) + fmt.Fprintf(reporter.writer, "%s[testStarted name='%s']", messageId, testName) +} + +func (reporter *TeamCityReporter) SpecDidComplete(specSummary *types.SpecSummary) { + testName := escape(strings.Join(specSummary.ComponentTexts[1:], " ")) + + if specSummary.State == types.SpecStateFailed || specSummary.State == types.SpecStateTimedOut || specSummary.State == types.SpecStatePanicked { + message := escape(specSummary.Failure.ComponentCodeLocation.String()) + details := escape(specSummary.Failure.Message) + fmt.Fprintf(reporter.writer, "%s[testFailed name='%s' message='%s' details='%s']", messageId, testName, message, details) + } + if specSummary.State == types.SpecStateSkipped || specSummary.State == types.SpecStatePending { + fmt.Fprintf(reporter.writer, "%s[testIgnored name='%s']", messageId, testName) + } + + durationInMilliseconds := specSummary.RunTime.Seconds() * 1000 + fmt.Fprintf(reporter.writer, "%s[testFinished name='%s' duration='%v']", messageId, testName, durationInMilliseconds) +} + +func (reporter *TeamCityReporter) SpecSuiteDidEnd(summary *types.SuiteSummary) { + fmt.Fprintf(reporter.writer, "%s[testSuiteFinished name='%s']", messageId, reporter.testSuiteName) +} + +func escape(output string) string { + output = strings.Replace(output, "|", "||", -1) + output = strings.Replace(output, "'", "|'", -1) + output = strings.Replace(output, "\n", "|n", -1) + output = strings.Replace(output, "\r", "|r", -1) + output = strings.Replace(output, "[", "|[", -1) + output = strings.Replace(output, "]", "|]", -1) + return output +} diff --git a/vendor/github.com/onsi/ginkgo/types/code_location.go b/vendor/github.com/onsi/ginkgo/types/code_location.go new file mode 100644 index 0000000..935a89e --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/types/code_location.go @@ -0,0 +1,15 @@ +package types + +import ( + "fmt" +) + +type CodeLocation struct { + FileName string + LineNumber int + FullStackTrace string +} + +func (codeLocation CodeLocation) String() string { + return fmt.Sprintf("%s:%d", codeLocation.FileName, codeLocation.LineNumber) +} diff --git a/vendor/github.com/onsi/ginkgo/types/synchronization.go b/vendor/github.com/onsi/ginkgo/types/synchronization.go new file mode 100644 index 0000000..fdd6ed5 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/types/synchronization.go @@ -0,0 +1,30 @@ +package types + +import ( + "encoding/json" +) + +type RemoteBeforeSuiteState int + +const ( + RemoteBeforeSuiteStateInvalid RemoteBeforeSuiteState = iota + + RemoteBeforeSuiteStatePending + RemoteBeforeSuiteStatePassed + RemoteBeforeSuiteStateFailed + RemoteBeforeSuiteStateDisappeared +) + +type RemoteBeforeSuiteData struct { + Data []byte + State RemoteBeforeSuiteState +} + +func (r RemoteBeforeSuiteData) ToJSON() []byte { + data, _ := json.Marshal(r) + return data +} + +type RemoteAfterSuiteData struct { + CanRun bool +} diff --git a/vendor/github.com/onsi/ginkgo/types/types.go b/vendor/github.com/onsi/ginkgo/types/types.go new file mode 100644 index 0000000..baf1bd1 --- /dev/null +++ b/vendor/github.com/onsi/ginkgo/types/types.go @@ -0,0 +1,173 @@ +package types + +import ( + "strconv" + "time" +) + +const GINKGO_FOCUS_EXIT_CODE = 197 + +/* +SuiteSummary represents the a summary of the test suite and is passed to both +Reporter.SpecSuiteWillBegin +Reporter.SpecSuiteDidEnd + +this is unfortunate as these two methods should receive different objects. When running in parallel +each node does not deterministically know how many specs it will end up running. + +Unfortunately making such a change would break backward compatibility. + +Until Ginkgo 2.0 comes out we will continue to reuse this struct but populate unkown fields +with -1. +*/ +type SuiteSummary struct { + SuiteDescription string + SuiteSucceeded bool + SuiteID string + + NumberOfSpecsBeforeParallelization int + NumberOfTotalSpecs int + NumberOfSpecsThatWillBeRun int + NumberOfPendingSpecs int + NumberOfSkippedSpecs int + NumberOfPassedSpecs int + NumberOfFailedSpecs int + // Flaked specs are those that failed initially, but then passed on a + // subsequent try. + NumberOfFlakedSpecs int + RunTime time.Duration +} + +type SpecSummary struct { + ComponentTexts []string + ComponentCodeLocations []CodeLocation + + State SpecState + RunTime time.Duration + Failure SpecFailure + IsMeasurement bool + NumberOfSamples int + Measurements map[string]*SpecMeasurement + + CapturedOutput string + SuiteID string +} + +func (s SpecSummary) HasFailureState() bool { + return s.State.IsFailure() +} + +func (s SpecSummary) TimedOut() bool { + return s.State == SpecStateTimedOut +} + +func (s SpecSummary) Panicked() bool { + return s.State == SpecStatePanicked +} + +func (s SpecSummary) Failed() bool { + return s.State == SpecStateFailed +} + +func (s SpecSummary) Passed() bool { + return s.State == SpecStatePassed +} + +func (s SpecSummary) Skipped() bool { + return s.State == SpecStateSkipped +} + +func (s SpecSummary) Pending() bool { + return s.State == SpecStatePending +} + +type SetupSummary struct { + ComponentType SpecComponentType + CodeLocation CodeLocation + + State SpecState + RunTime time.Duration + Failure SpecFailure + + CapturedOutput string + SuiteID string +} + +type SpecFailure struct { + Message string + Location CodeLocation + ForwardedPanic string + + ComponentIndex int + ComponentType SpecComponentType + ComponentCodeLocation CodeLocation +} + +type SpecMeasurement struct { + Name string + Info interface{} + Order int + + Results []float64 + + Smallest float64 + Largest float64 + Average float64 + StdDeviation float64 + + SmallestLabel string + LargestLabel string + AverageLabel string + Units string + Precision int +} + +func (s SpecMeasurement) PrecisionFmt() string { + if s.Precision == 0 { + return "%f" + } + + str := strconv.Itoa(s.Precision) + + return "%." + str + "f" +} + +type SpecState uint + +const ( + SpecStateInvalid SpecState = iota + + SpecStatePending + SpecStateSkipped + SpecStatePassed + SpecStateFailed + SpecStatePanicked + SpecStateTimedOut +) + +func (state SpecState) IsFailure() bool { + return state == SpecStateTimedOut || state == SpecStatePanicked || state == SpecStateFailed +} + +type SpecComponentType uint + +const ( + SpecComponentTypeInvalid SpecComponentType = iota + + SpecComponentTypeContainer + SpecComponentTypeBeforeSuite + SpecComponentTypeAfterSuite + SpecComponentTypeBeforeEach + SpecComponentTypeJustBeforeEach + SpecComponentTypeAfterEach + SpecComponentTypeIt + SpecComponentTypeMeasure +) + +type FlagType uint + +const ( + FlagTypeNone FlagType = iota + FlagTypeFocused + FlagTypePending +) diff --git a/vendor/github.com/onsi/gomega/CHANGELOG.md b/vendor/github.com/onsi/gomega/CHANGELOG.md new file mode 100644 index 0000000..06fe7ad --- /dev/null +++ b/vendor/github.com/onsi/gomega/CHANGELOG.md @@ -0,0 +1,88 @@ +## HEAD + +## 1.3.0 + +Improvements: + +- The `Equal` matcher matches byte slices more performantly. +- Improved how `MatchError` matches error strings. +- `MatchXML` ignores the order of xml node attributes. +- Improve support for XUnit style golang tests. ([#254](https://github.com/onsi/gomega/issues/254)) + +Bug Fixes: + +- Diff generation now handles multi-byte sequences correctly. +- Multiple goroutines can now call `gexec.Build` concurrently. + +## 1.2.0 + +Improvements: + +- Added `BeSent` which attempts to send a value down a channel and fails if the attempt blocks. Can be paired with `Eventually` to safely send a value down a channel with a timeout. +- `Ω`, `Expect`, `Eventually`, and `Consistently` now immediately `panic` if there is no registered fail handler. This is always a mistake that can hide failing tests. +- `Receive()` no longer errors when passed a closed channel, it's perfectly fine to attempt to read from a closed channel so Ω(c).Should(Receive()) always fails and Ω(c).ShoudlNot(Receive()) always passes with a closed channel. +- Added `HavePrefix` and `HaveSuffix` matchers. +- `ghttp` can now handle concurrent requests. +- Added `Succeed` which allows one to write `Ω(MyFunction()).Should(Succeed())`. +- Improved `ghttp`'s behavior around failing assertions and panics: + - If a registered handler makes a failing assertion `ghttp` will return `500`. + - If a registered handler panics, `ghttp` will return `500` *and* fail the test. This is new behavior that may cause existing code to break. This code is almost certainly incorrect and creating a false positive. +- `ghttp` servers can take an `io.Writer`. `ghttp` will write a line to the writer when each request arrives. +- Added `WithTransform` matcher to allow munging input data before feeding into the relevant matcher +- Added boolean `And`, `Or`, and `Not` matchers to allow creating composite matchers +- Added `gbytes.TimeoutCloser`, `gbytes.TimeoutReader`, and `gbytes.TimeoutWriter` - these are convenience wrappers that timeout if the underlying Closer/Reader/Writer does not return within the alloted time. +- Added `gbytes.BufferReader` - this constructs a `gbytes.Buffer` that asynchronously reads the passed-in `io.Reader` into its buffer. + +Bug Fixes: +- gexec: `session.Wait` now uses `EventuallyWithOffset` to get the right line number in the failure. +- `ContainElement` no longer bails if a passed-in matcher errors. + +## 1.0 (8/2/2014) + +No changes. Dropping "beta" from the version number. + +## 1.0.0-beta (7/8/2014) +Breaking Changes: + +- Changed OmegaMatcher interface. Instead of having `Match` return failure messages, two new methods `FailureMessage` and `NegatedFailureMessage` are called instead. +- Moved and renamed OmegaFailHandler to types.GomegaFailHandler and OmegaMatcher to types.GomegaMatcher. Any references to OmegaMatcher in any custom matchers will need to be changed to point to types.GomegaMatcher + +New Test-Support Features: + +- `ghttp`: supports testing http clients + - Provides a flexible fake http server + - Provides a collection of chainable http handlers that perform assertions. +- `gbytes`: supports making ordered assertions against streams of data + - Provides a `gbytes.Buffer` + - Provides a `Say` matcher to perform ordered assertions against output data +- `gexec`: supports testing external processes + - Provides support for building Go binaries + - Wraps and starts `exec.Cmd` commands + - Makes it easy to assert against stdout and stderr + - Makes it easy to send signals and wait for processes to exit + - Provides an `Exit` matcher to assert against exit code. + +DSL Changes: + +- `Eventually` and `Consistently` can accept `time.Duration` interval and polling inputs. +- The default timeouts for `Eventually` and `Consistently` are now configurable. + +New Matchers: + +- `ConsistOf`: order-independent assertion against the elements of an array/slice or keys of a map. +- `BeTemporally`: like `BeNumerically` but for `time.Time` +- `HaveKeyWithValue`: asserts a map has a given key with the given value. + +Updated Matchers: + +- `Receive` matcher can take a matcher as an argument and passes only if the channel under test receives an objet that satisfies the passed-in matcher. +- Matchers that implement `MatchMayChangeInTheFuture(actual interface{}) bool` can inform `Eventually` and/or `Consistently` when a match has no chance of changing status in the future. For example, `Receive` returns `false` when a channel is closed. + +Misc: + +- Start using semantic versioning +- Start maintaining changelog + +Major refactor: + +- Pull out Gomega's internal to `internal` diff --git a/vendor/github.com/onsi/gomega/CONTRIBUTING.md b/vendor/github.com/onsi/gomega/CONTRIBUTING.md new file mode 100644 index 0000000..0d7a099 --- /dev/null +++ b/vendor/github.com/onsi/gomega/CONTRIBUTING.md @@ -0,0 +1,14 @@ +# Contributing to Gomega + +Your contributions to Gomega are essential for its long-term maintenance and improvement. To make a contribution: + +- Please **open an issue first** - describe what problem you are trying to solve and give the community a forum for input and feedback ahead of investing time in writing code! +- Ensure adequate test coverage: + - Make sure to add appropriate unit tests + - Please run all tests locally (`ginkgo -r -p`) and make sure they go green before submitting the PR + - Please run following linter locally `go vet ./...` and make sure output does not contain any warnings +- Update the documentation. In addition to standard `godoc` comments Gomega has extensive documentation on the `gh-pages` branch. If relevant, please submit a docs PR to that branch alongside your code PR. + +If you're a committer, check out RELEASING.md to learn how to cut a release. + +Thanks for supporting Gomega! diff --git a/vendor/github.com/onsi/gomega/LICENSE b/vendor/github.com/onsi/gomega/LICENSE new file mode 100644 index 0000000..9415ee7 --- /dev/null +++ b/vendor/github.com/onsi/gomega/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2013-2014 Onsi Fakhouri + +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/onsi/gomega/README.md b/vendor/github.com/onsi/gomega/README.md new file mode 100644 index 0000000..159be35 --- /dev/null +++ b/vendor/github.com/onsi/gomega/README.md @@ -0,0 +1,21 @@ +![Gomega: Ginkgo's Preferred Matcher Library](http://onsi.github.io/gomega/images/gomega.png) + +[![Build Status](https://travis-ci.org/onsi/gomega.svg)](https://travis-ci.org/onsi/gomega) + +Jump straight to the [docs](http://onsi.github.io/gomega/) to learn about Gomega, including a list of [all available matchers](http://onsi.github.io/gomega/#provided-matchers). + +If you have a question, comment, bug report, feature request, etc. please open a GitHub issue. + +## [Ginkgo](http://github.com/onsi/ginkgo): a BDD Testing Framework for Golang + +Learn more about Ginkgo [here](http://onsi.github.io/ginkgo/) + +## Community Matchers + +A collection of community matchers is available on the [wiki](https://github.com/onsi/gomega/wiki). + +## License + +Gomega is MIT-Licensed + +The `ConsistOf` matcher uses [goraph](https://github.com/amitkgupta/goraph) which is embedded in the source to simplify distribution. goraph has an MIT license. diff --git a/vendor/github.com/onsi/gomega/RELEASING.md b/vendor/github.com/onsi/gomega/RELEASING.md new file mode 100644 index 0000000..537050a --- /dev/null +++ b/vendor/github.com/onsi/gomega/RELEASING.md @@ -0,0 +1,6 @@ +A Gomega release is a tagged sha and a GitHub release. To cut a release: + +1. Ensure CHANGELOG.md is uptodate. +2. Update GOMEGA_VERSION in `gomega_dsl.go` +3. Push a commit with the version number as the commit message (e.g. `v1.3.0`) +4. Create a new [GitHub release](https://help.github.com/articles/creating-releases/) with the version number as the tag (e.g. `v1.3.0`). List the key changes in the release notes. \ No newline at end of file diff --git a/vendor/github.com/onsi/gomega/format/format.go b/vendor/github.com/onsi/gomega/format/format.go new file mode 100644 index 0000000..22c8751 --- /dev/null +++ b/vendor/github.com/onsi/gomega/format/format.go @@ -0,0 +1,379 @@ +/* +Gomega's format package pretty-prints objects. It explores input objects recursively and generates formatted, indented output with type information. +*/ +package format + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "time" +) + +// Use MaxDepth to set the maximum recursion depth when printing deeply nested objects +var MaxDepth = uint(10) + +/* +By default, all objects (even those that implement fmt.Stringer and fmt.GoStringer) are recursively inspected to generate output. + +Set UseStringerRepresentation = true to use GoString (for fmt.GoStringers) or String (for fmt.Stringer) instead. + +Note that GoString and String don't always have all the information you need to understand why a test failed! +*/ +var UseStringerRepresentation = false + +/* +Print the content of context objects. By default it will be suppressed. + +Set PrintContextObjects = true to enable printing of the context internals. +*/ +var PrintContextObjects = false + +// Ctx interface defined here to keep backwards compatability with go < 1.7 +// It matches the context.Context interface +type Ctx interface { + Deadline() (deadline time.Time, ok bool) + Done() <-chan struct{} + Err() error + Value(key interface{}) interface{} +} + +var contextType = reflect.TypeOf((*Ctx)(nil)).Elem() +var timeType = reflect.TypeOf(time.Time{}) + +//The default indentation string emitted by the format package +var Indent = " " + +var longFormThreshold = 20 + +/* +Generates a formatted matcher success/failure message of the form: + + Expected + + + + +If expected is omited, then the message looks like: + + Expected + + +*/ +func Message(actual interface{}, message string, expected ...interface{}) string { + if len(expected) == 0 { + return fmt.Sprintf("Expected\n%s\n%s", Object(actual, 1), message) + } + return fmt.Sprintf("Expected\n%s\n%s\n%s", Object(actual, 1), message, Object(expected[0], 1)) +} + +/* + +Generates a nicely formatted matcher success / failure message + +Much like Message(...), but it attempts to pretty print diffs in strings + +Expected + : "...aaaaabaaaaa..." +to equal | + : "...aaaaazaaaaa..." + +*/ + +func MessageWithDiff(actual, message, expected string) string { + if len(actual) >= truncateThreshold && len(expected) >= truncateThreshold { + diffPoint := findFirstMismatch(actual, expected) + formattedActual := truncateAndFormat(actual, diffPoint) + formattedExpected := truncateAndFormat(expected, diffPoint) + + spacesBeforeFormattedMismatch := findFirstMismatch(formattedActual, formattedExpected) + + tabLength := 4 + spaceFromMessageToActual := tabLength + len(": ") - len(message) + padding := strings.Repeat(" ", spaceFromMessageToActual+spacesBeforeFormattedMismatch) + "|" + return Message(formattedActual, message+padding, formattedExpected) + } + return Message(actual, message, expected) +} + +func truncateAndFormat(str string, index int) string { + leftPadding := `...` + rightPadding := `...` + + start := index - charactersAroundMismatchToInclude + if start < 0 { + start = 0 + leftPadding = "" + } + + // slice index must include the mis-matched character + lengthOfMismatchedCharacter := 1 + end := index + charactersAroundMismatchToInclude + lengthOfMismatchedCharacter + if end > len(str) { + end = len(str) + rightPadding = "" + + } + return fmt.Sprintf("\"%s\"", leftPadding+str[start:end]+rightPadding) +} + +func findFirstMismatch(a, b string) int { + aSlice := strings.Split(a, "") + bSlice := strings.Split(b, "") + + for index, str := range aSlice { + if index > len(bSlice)-1 { + return index + } + if str != bSlice[index] { + return index + } + } + + if len(b) > len(a) { + return len(a) + 1 + } + + return 0 +} + +const ( + truncateThreshold = 50 + charactersAroundMismatchToInclude = 5 +) + +/* +Pretty prints the passed in object at the passed in indentation level. + +Object recurses into deeply nested objects emitting pretty-printed representations of their components. + +Modify format.MaxDepth to control how deep the recursion is allowed to go +Set format.UseStringerRepresentation to true to return object.GoString() or object.String() when available instead of +recursing into the object. + +Set PrintContextObjects to true to print the content of objects implementing context.Context +*/ +func Object(object interface{}, indentation uint) string { + indent := strings.Repeat(Indent, int(indentation)) + value := reflect.ValueOf(object) + return fmt.Sprintf("%s<%s>: %s", indent, formatType(object), formatValue(value, indentation)) +} + +/* +IndentString takes a string and indents each line by the specified amount. +*/ +func IndentString(s string, indentation uint) string { + components := strings.Split(s, "\n") + result := "" + indent := strings.Repeat(Indent, int(indentation)) + for i, component := range components { + result += indent + component + if i < len(components)-1 { + result += "\n" + } + } + + return result +} + +func formatType(object interface{}) string { + t := reflect.TypeOf(object) + if t == nil { + return "nil" + } + switch t.Kind() { + case reflect.Chan: + v := reflect.ValueOf(object) + return fmt.Sprintf("%T | len:%d, cap:%d", object, v.Len(), v.Cap()) + case reflect.Ptr: + return fmt.Sprintf("%T | %p", object, object) + case reflect.Slice: + v := reflect.ValueOf(object) + return fmt.Sprintf("%T | len:%d, cap:%d", object, v.Len(), v.Cap()) + case reflect.Map: + v := reflect.ValueOf(object) + return fmt.Sprintf("%T | len:%d", object, v.Len()) + default: + return fmt.Sprintf("%T", object) + } +} + +func formatValue(value reflect.Value, indentation uint) string { + if indentation > MaxDepth { + return "..." + } + + if isNilValue(value) { + return "nil" + } + + if UseStringerRepresentation { + if value.CanInterface() { + obj := value.Interface() + switch x := obj.(type) { + case fmt.GoStringer: + return x.GoString() + case fmt.Stringer: + return x.String() + } + } + } + + if !PrintContextObjects { + if value.Type().Implements(contextType) && indentation > 1 { + return "" + } + } + + switch value.Kind() { + case reflect.Bool: + return fmt.Sprintf("%v", value.Bool()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return fmt.Sprintf("%v", value.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return fmt.Sprintf("%v", value.Uint()) + case reflect.Uintptr: + return fmt.Sprintf("0x%x", value.Uint()) + case reflect.Float32, reflect.Float64: + return fmt.Sprintf("%v", value.Float()) + case reflect.Complex64, reflect.Complex128: + return fmt.Sprintf("%v", value.Complex()) + case reflect.Chan: + return fmt.Sprintf("0x%x", value.Pointer()) + case reflect.Func: + return fmt.Sprintf("0x%x", value.Pointer()) + case reflect.Ptr: + return formatValue(value.Elem(), indentation) + case reflect.Slice: + return formatSlice(value, indentation) + case reflect.String: + return formatString(value.String(), indentation) + case reflect.Array: + return formatSlice(value, indentation) + case reflect.Map: + return formatMap(value, indentation) + case reflect.Struct: + if value.Type() == timeType && value.CanInterface() { + t, _ := value.Interface().(time.Time) + return t.Format(time.RFC3339Nano) + } + return formatStruct(value, indentation) + case reflect.Interface: + return formatValue(value.Elem(), indentation) + default: + if value.CanInterface() { + return fmt.Sprintf("%#v", value.Interface()) + } + return fmt.Sprintf("%#v", value) + } +} + +func formatString(object interface{}, indentation uint) string { + if indentation == 1 { + s := fmt.Sprintf("%s", object) + components := strings.Split(s, "\n") + result := "" + for i, component := range components { + if i == 0 { + result += component + } else { + result += Indent + component + } + if i < len(components)-1 { + result += "\n" + } + } + + return fmt.Sprintf("%s", result) + } else { + return fmt.Sprintf("%q", object) + } +} + +func formatSlice(v reflect.Value, indentation uint) string { + if v.Kind() == reflect.Slice && v.Type().Elem().Kind() == reflect.Uint8 && isPrintableString(string(v.Bytes())) { + return formatString(v.Bytes(), indentation) + } + + l := v.Len() + result := make([]string, l) + longest := 0 + for i := 0; i < l; i++ { + result[i] = formatValue(v.Index(i), indentation+1) + if len(result[i]) > longest { + longest = len(result[i]) + } + } + + if longest > longFormThreshold { + indenter := strings.Repeat(Indent, int(indentation)) + return fmt.Sprintf("[\n%s%s,\n%s]", indenter+Indent, strings.Join(result, ",\n"+indenter+Indent), indenter) + } + return fmt.Sprintf("[%s]", strings.Join(result, ", ")) +} + +func formatMap(v reflect.Value, indentation uint) string { + l := v.Len() + result := make([]string, l) + + longest := 0 + for i, key := range v.MapKeys() { + value := v.MapIndex(key) + result[i] = fmt.Sprintf("%s: %s", formatValue(key, indentation+1), formatValue(value, indentation+1)) + if len(result[i]) > longest { + longest = len(result[i]) + } + } + + if longest > longFormThreshold { + indenter := strings.Repeat(Indent, int(indentation)) + return fmt.Sprintf("{\n%s%s,\n%s}", indenter+Indent, strings.Join(result, ",\n"+indenter+Indent), indenter) + } + return fmt.Sprintf("{%s}", strings.Join(result, ", ")) +} + +func formatStruct(v reflect.Value, indentation uint) string { + t := v.Type() + + l := v.NumField() + result := []string{} + longest := 0 + for i := 0; i < l; i++ { + structField := t.Field(i) + fieldEntry := v.Field(i) + representation := fmt.Sprintf("%s: %s", structField.Name, formatValue(fieldEntry, indentation+1)) + result = append(result, representation) + if len(representation) > longest { + longest = len(representation) + } + } + if longest > longFormThreshold { + indenter := strings.Repeat(Indent, int(indentation)) + return fmt.Sprintf("{\n%s%s,\n%s}", indenter+Indent, strings.Join(result, ",\n"+indenter+Indent), indenter) + } + return fmt.Sprintf("{%s}", strings.Join(result, ", ")) +} + +func isNilValue(a reflect.Value) bool { + switch a.Kind() { + case reflect.Invalid: + return true + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return a.IsNil() + } + + return false +} + +/* +Returns true when the string is entirely made of printable runes, false otherwise. +*/ +func isPrintableString(str string) bool { + for _, runeValue := range str { + if !strconv.IsPrint(runeValue) { + return false + } + } + return true +} diff --git a/vendor/github.com/onsi/gomega/gomega_dsl.go b/vendor/github.com/onsi/gomega/gomega_dsl.go new file mode 100644 index 0000000..175bef5 --- /dev/null +++ b/vendor/github.com/onsi/gomega/gomega_dsl.go @@ -0,0 +1,396 @@ +/* +Gomega is the Ginkgo BDD-style testing framework's preferred matcher library. + +The godoc documentation describes Gomega's API. More comprehensive documentation (with examples!) is available at http://onsi.github.io/gomega/ + +Gomega on Github: http://github.com/onsi/gomega + +Learn more about Ginkgo online: http://onsi.github.io/ginkgo + +Ginkgo on Github: http://github.com/onsi/ginkgo + +Gomega is MIT-Licensed +*/ +package gomega + +import ( + "fmt" + "reflect" + "time" + + "github.com/onsi/gomega/internal/assertion" + "github.com/onsi/gomega/internal/asyncassertion" + "github.com/onsi/gomega/internal/testingtsupport" + "github.com/onsi/gomega/types" +) + +const GOMEGA_VERSION = "1.3.0" + +const nilFailHandlerPanic = `You are trying to make an assertion, but Gomega's fail handler is nil. +If you're using Ginkgo then you probably forgot to put your assertion in an It(). +Alternatively, you may have forgotten to register a fail handler with RegisterFailHandler() or RegisterTestingT(). +Depending on your vendoring solution you may be inadvertently importing gomega and subpackages (e.g. ghhtp, gexec,...) from different locations. +` + +var globalFailHandler types.GomegaFailHandler + +var defaultEventuallyTimeout = time.Second +var defaultEventuallyPollingInterval = 10 * time.Millisecond +var defaultConsistentlyDuration = 100 * time.Millisecond +var defaultConsistentlyPollingInterval = 10 * time.Millisecond + +//RegisterFailHandler connects Ginkgo to Gomega. When a matcher fails +//the fail handler passed into RegisterFailHandler is called. +func RegisterFailHandler(handler types.GomegaFailHandler) { + globalFailHandler = handler +} + +//RegisterTestingT connects Gomega to Golang's XUnit style +//Testing.T tests. It is now deprecated and you should use NewGomegaWithT() instead. +// +//Legacy Documentation: +// +//You'll need to call this at the top of each XUnit style test: +// +// func TestFarmHasCow(t *testing.T) { +// RegisterTestingT(t) +// +// f := farm.New([]string{"Cow", "Horse"}) +// Expect(f.HasCow()).To(BeTrue(), "Farm should have cow") +// } +// +// Note that this *testing.T is registered *globally* by Gomega (this is why you don't have to +// pass `t` down to the matcher itself). This means that you cannot run the XUnit style tests +// in parallel as the global fail handler cannot point to more than one testing.T at a time. +// +// NewGomegaWithT() does not have this limitation +// +// (As an aside: Ginkgo gets around this limitation by running parallel tests in different *processes*). +func RegisterTestingT(t types.GomegaTestingT) { + RegisterFailHandler(testingtsupport.BuildTestingTGomegaFailHandler(t)) +} + +//InterceptGomegaHandlers runs a given callback and returns an array of +//failure messages generated by any Gomega assertions within the callback. +// +//This is accomplished by temporarily replacing the *global* fail handler +//with a fail handler that simply annotates failures. The original fail handler +//is reset when InterceptGomegaFailures returns. +// +//This is most useful when testing custom matchers, but can also be used to check +//on a value using a Gomega assertion without causing a test failure. +func InterceptGomegaFailures(f func()) []string { + originalHandler := globalFailHandler + failures := []string{} + RegisterFailHandler(func(message string, callerSkip ...int) { + failures = append(failures, message) + }) + f() + RegisterFailHandler(originalHandler) + return failures +} + +//Ω wraps an actual value allowing assertions to be made on it: +// Ω("foo").Should(Equal("foo")) +// +//If Ω is passed more than one argument it will pass the *first* argument to the matcher. +//All subsequent arguments will be required to be nil/zero. +// +//This is convenient if you want to make an assertion on a method/function that returns +//a value and an error - a common patter in Go. +// +//For example, given a function with signature: +// func MyAmazingThing() (int, error) +// +//Then: +// Ω(MyAmazingThing()).Should(Equal(3)) +//Will succeed only if `MyAmazingThing()` returns `(3, nil)` +// +//Ω and Expect are identical +func Ω(actual interface{}, extra ...interface{}) GomegaAssertion { + return ExpectWithOffset(0, actual, extra...) +} + +//Expect wraps an actual value allowing assertions to be made on it: +// Expect("foo").To(Equal("foo")) +// +//If Expect is passed more than one argument it will pass the *first* argument to the matcher. +//All subsequent arguments will be required to be nil/zero. +// +//This is convenient if you want to make an assertion on a method/function that returns +//a value and an error - a common patter in Go. +// +//For example, given a function with signature: +// func MyAmazingThing() (int, error) +// +//Then: +// Expect(MyAmazingThing()).Should(Equal(3)) +//Will succeed only if `MyAmazingThing()` returns `(3, nil)` +// +//Expect and Ω are identical +func Expect(actual interface{}, extra ...interface{}) GomegaAssertion { + return ExpectWithOffset(0, actual, extra...) +} + +//ExpectWithOffset wraps an actual value allowing assertions to be made on it: +// ExpectWithOffset(1, "foo").To(Equal("foo")) +// +//Unlike `Expect` and `Ω`, `ExpectWithOffset` takes an additional integer argument +//this is used to modify the call-stack offset when computing line numbers. +// +//This is most useful in helper functions that make assertions. If you want Gomega's +//error message to refer to the calling line in the test (as opposed to the line in the helper function) +//set the first argument of `ExpectWithOffset` appropriately. +func ExpectWithOffset(offset int, actual interface{}, extra ...interface{}) GomegaAssertion { + if globalFailHandler == nil { + panic(nilFailHandlerPanic) + } + return assertion.New(actual, globalFailHandler, offset, extra...) +} + +//Eventually wraps an actual value allowing assertions to be made on it. +//The assertion is tried periodically until it passes or a timeout occurs. +// +//Both the timeout and polling interval are configurable as optional arguments: +//The first optional argument is the timeout +//The second optional argument is the polling interval +// +//Both intervals can either be specified as time.Duration, parsable duration strings or as floats/integers. In the +//last case they are interpreted as seconds. +// +//If Eventually is passed an actual that is a function taking no arguments and returning at least one value, +//then Eventually will call the function periodically and try the matcher against the function's first return value. +// +//Example: +// +// Eventually(func() int { +// return thingImPolling.Count() +// }).Should(BeNumerically(">=", 17)) +// +//Note that this example could be rewritten: +// +// Eventually(thingImPolling.Count).Should(BeNumerically(">=", 17)) +// +//If the function returns more than one value, then Eventually will pass the first value to the matcher and +//assert that all other values are nil/zero. +//This allows you to pass Eventually a function that returns a value and an error - a common pattern in Go. +// +//For example, consider a method that returns a value and an error: +// func FetchFromDB() (string, error) +// +//Then +// Eventually(FetchFromDB).Should(Equal("hasselhoff")) +// +//Will pass only if the the returned error is nil and the returned string passes the matcher. +// +//Eventually's default timeout is 1 second, and its default polling interval is 10ms +func Eventually(actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + return EventuallyWithOffset(0, actual, intervals...) +} + +//EventuallyWithOffset operates like Eventually but takes an additional +//initial argument to indicate an offset in the call stack. This is useful when building helper +//functions that contain matchers. To learn more, read about `ExpectWithOffset`. +func EventuallyWithOffset(offset int, actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + if globalFailHandler == nil { + panic(nilFailHandlerPanic) + } + timeoutInterval := defaultEventuallyTimeout + pollingInterval := defaultEventuallyPollingInterval + if len(intervals) > 0 { + timeoutInterval = toDuration(intervals[0]) + } + if len(intervals) > 1 { + pollingInterval = toDuration(intervals[1]) + } + return asyncassertion.New(asyncassertion.AsyncAssertionTypeEventually, actual, globalFailHandler, timeoutInterval, pollingInterval, offset) +} + +//Consistently wraps an actual value allowing assertions to be made on it. +//The assertion is tried periodically and is required to pass for a period of time. +// +//Both the total time and polling interval are configurable as optional arguments: +//The first optional argument is the duration that Consistently will run for +//The second optional argument is the polling interval +// +//Both intervals can either be specified as time.Duration, parsable duration strings or as floats/integers. In the +//last case they are interpreted as seconds. +// +//If Consistently is passed an actual that is a function taking no arguments and returning at least one value, +//then Consistently will call the function periodically and try the matcher against the function's first return value. +// +//If the function returns more than one value, then Consistently will pass the first value to the matcher and +//assert that all other values are nil/zero. +//This allows you to pass Consistently a function that returns a value and an error - a common pattern in Go. +// +//Consistently is useful in cases where you want to assert that something *does not happen* over a period of tiem. +//For example, you want to assert that a goroutine does *not* send data down a channel. In this case, you could: +// +// Consistently(channel).ShouldNot(Receive()) +// +//Consistently's default duration is 100ms, and its default polling interval is 10ms +func Consistently(actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + return ConsistentlyWithOffset(0, actual, intervals...) +} + +//ConsistentlyWithOffset operates like Consistnetly but takes an additional +//initial argument to indicate an offset in the call stack. This is useful when building helper +//functions that contain matchers. To learn more, read about `ExpectWithOffset`. +func ConsistentlyWithOffset(offset int, actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + if globalFailHandler == nil { + panic(nilFailHandlerPanic) + } + timeoutInterval := defaultConsistentlyDuration + pollingInterval := defaultConsistentlyPollingInterval + if len(intervals) > 0 { + timeoutInterval = toDuration(intervals[0]) + } + if len(intervals) > 1 { + pollingInterval = toDuration(intervals[1]) + } + return asyncassertion.New(asyncassertion.AsyncAssertionTypeConsistently, actual, globalFailHandler, timeoutInterval, pollingInterval, offset) +} + +//Set the default timeout duration for Eventually. Eventually will repeatedly poll your condition until it succeeds, or until this timeout elapses. +func SetDefaultEventuallyTimeout(t time.Duration) { + defaultEventuallyTimeout = t +} + +//Set the default polling interval for Eventually. +func SetDefaultEventuallyPollingInterval(t time.Duration) { + defaultEventuallyPollingInterval = t +} + +//Set the default duration for Consistently. Consistently will verify that your condition is satsified for this long. +func SetDefaultConsistentlyDuration(t time.Duration) { + defaultConsistentlyDuration = t +} + +//Set the default polling interval for Consistently. +func SetDefaultConsistentlyPollingInterval(t time.Duration) { + defaultConsistentlyPollingInterval = t +} + +//GomegaAsyncAssertion is returned by Eventually and Consistently and polls the actual value passed into Eventually against +//the matcher passed to the Should and ShouldNot methods. +// +//Both Should and ShouldNot take a variadic optionalDescription argument. This is passed on to +//fmt.Sprintf() and is used to annotate failure messages. This allows you to make your failure messages more +//descriptive +// +//Both Should and ShouldNot return a boolean that is true if the assertion passed and false if it failed. +// +//Example: +// +// Eventually(myChannel).Should(Receive(), "Something should have come down the pipe.") +// Consistently(myChannel).ShouldNot(Receive(), "Nothing should have come down the pipe.") +type GomegaAsyncAssertion interface { + Should(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool + ShouldNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool +} + +//GomegaAssertion is returned by Ω and Expect and compares the actual value to the matcher +//passed to the Should/ShouldNot and To/ToNot/NotTo methods. +// +//Typically Should/ShouldNot are used with Ω and To/ToNot/NotTo are used with Expect +//though this is not enforced. +// +//All methods take a variadic optionalDescription argument. This is passed on to fmt.Sprintf() +//and is used to annotate failure messages. +// +//All methods return a bool that is true if hte assertion passed and false if it failed. +// +//Example: +// +// Ω(farm.HasCow()).Should(BeTrue(), "Farm %v should have a cow", farm) +type GomegaAssertion interface { + Should(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool + ShouldNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool + + To(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool + ToNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool + NotTo(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool +} + +//OmegaMatcher is deprecated in favor of the better-named and better-organized types.GomegaMatcher but sticks around to support existing code that uses it +type OmegaMatcher types.GomegaMatcher + +//GomegaWithT wraps a *testing.T and provides `Expect`, `Eventually`, and `Consistently` methods. This allows you to leverage +//Gomega's rich ecosystem of matchers in standard `testing` test suites. +// +//Use `NewGomegaWithT` to instantiate a `GomegaWithT` +type GomegaWithT struct { + t types.GomegaTestingT +} + +//NewGomegaWithT takes a *testing.T and returngs a `GomegaWithT` allowing you to use `Expect`, `Eventually`, and `Consistently` along with +//Gomega's rich ecosystem of matchers in standard `testing` test suits. +// +// func TestFarmHasCow(t *testing.T) { +// g := GomegaWithT(t) +// +// f := farm.New([]string{"Cow", "Horse"}) +// g.Expect(f.HasCow()).To(BeTrue(), "Farm should have cow") +// } +func NewGomegaWithT(t types.GomegaTestingT) *GomegaWithT { + return &GomegaWithT{ + t: t, + } +} + +//See documentation for Expect +func (g *GomegaWithT) Expect(actual interface{}, extra ...interface{}) GomegaAssertion { + return assertion.New(actual, testingtsupport.BuildTestingTGomegaFailHandler(g.t), 0, extra...) +} + +//See documentation for Eventually +func (g *GomegaWithT) Eventually(actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + timeoutInterval := defaultEventuallyTimeout + pollingInterval := defaultEventuallyPollingInterval + if len(intervals) > 0 { + timeoutInterval = toDuration(intervals[0]) + } + if len(intervals) > 1 { + pollingInterval = toDuration(intervals[1]) + } + return asyncassertion.New(asyncassertion.AsyncAssertionTypeEventually, actual, testingtsupport.BuildTestingTGomegaFailHandler(g.t), timeoutInterval, pollingInterval, 0) +} + +//See documentation for Consistently +func (g *GomegaWithT) Consistently(actual interface{}, intervals ...interface{}) GomegaAsyncAssertion { + timeoutInterval := defaultConsistentlyDuration + pollingInterval := defaultConsistentlyPollingInterval + if len(intervals) > 0 { + timeoutInterval = toDuration(intervals[0]) + } + if len(intervals) > 1 { + pollingInterval = toDuration(intervals[1]) + } + return asyncassertion.New(asyncassertion.AsyncAssertionTypeConsistently, actual, testingtsupport.BuildTestingTGomegaFailHandler(g.t), timeoutInterval, pollingInterval, 0) +} + +func toDuration(input interface{}) time.Duration { + duration, ok := input.(time.Duration) + if ok { + return duration + } + + value := reflect.ValueOf(input) + kind := reflect.TypeOf(input).Kind() + + if reflect.Int <= kind && kind <= reflect.Int64 { + return time.Duration(value.Int()) * time.Second + } else if reflect.Uint <= kind && kind <= reflect.Uint64 { + return time.Duration(value.Uint()) * time.Second + } else if reflect.Float32 <= kind && kind <= reflect.Float64 { + return time.Duration(value.Float() * float64(time.Second)) + } else if reflect.String == kind { + duration, err := time.ParseDuration(value.String()) + if err != nil { + panic(fmt.Sprintf("%#v is not a valid parsable duration string.", input)) + } + return duration + } + + panic(fmt.Sprintf("%v is not a valid interval. Must be time.Duration, parsable duration string or a number.", input)) +} diff --git a/vendor/github.com/onsi/gomega/internal/assertion/assertion.go b/vendor/github.com/onsi/gomega/internal/assertion/assertion.go new file mode 100644 index 0000000..b73673f --- /dev/null +++ b/vendor/github.com/onsi/gomega/internal/assertion/assertion.go @@ -0,0 +1,98 @@ +package assertion + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/types" +) + +type Assertion struct { + actualInput interface{} + fail types.GomegaFailHandler + offset int + extra []interface{} +} + +func New(actualInput interface{}, fail types.GomegaFailHandler, offset int, extra ...interface{}) *Assertion { + return &Assertion{ + actualInput: actualInput, + fail: fail, + offset: offset, + extra: extra, + } +} + +func (assertion *Assertion) Should(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.vetExtras(optionalDescription...) && assertion.match(matcher, true, optionalDescription...) +} + +func (assertion *Assertion) ShouldNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.vetExtras(optionalDescription...) && assertion.match(matcher, false, optionalDescription...) +} + +func (assertion *Assertion) To(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.vetExtras(optionalDescription...) && assertion.match(matcher, true, optionalDescription...) +} + +func (assertion *Assertion) ToNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.vetExtras(optionalDescription...) && assertion.match(matcher, false, optionalDescription...) +} + +func (assertion *Assertion) NotTo(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.vetExtras(optionalDescription...) && assertion.match(matcher, false, optionalDescription...) +} + +func (assertion *Assertion) buildDescription(optionalDescription ...interface{}) string { + switch len(optionalDescription) { + case 0: + return "" + default: + return fmt.Sprintf(optionalDescription[0].(string), optionalDescription[1:]...) + "\n" + } +} + +func (assertion *Assertion) match(matcher types.GomegaMatcher, desiredMatch bool, optionalDescription ...interface{}) bool { + matches, err := matcher.Match(assertion.actualInput) + description := assertion.buildDescription(optionalDescription...) + if err != nil { + assertion.fail(description+err.Error(), 2+assertion.offset) + return false + } + if matches != desiredMatch { + var message string + if desiredMatch { + message = matcher.FailureMessage(assertion.actualInput) + } else { + message = matcher.NegatedFailureMessage(assertion.actualInput) + } + assertion.fail(description+message, 2+assertion.offset) + return false + } + + return true +} + +func (assertion *Assertion) vetExtras(optionalDescription ...interface{}) bool { + success, message := vetExtras(assertion.extra) + if success { + return true + } + + description := assertion.buildDescription(optionalDescription...) + assertion.fail(description+message, 2+assertion.offset) + return false +} + +func vetExtras(extras []interface{}) (bool, string) { + for i, extra := range extras { + if extra != nil { + zeroValue := reflect.Zero(reflect.TypeOf(extra)).Interface() + if !reflect.DeepEqual(zeroValue, extra) { + message := fmt.Sprintf("Unexpected non-nil/non-zero extra argument at index %d:\n\t<%T>: %#v", i+1, extra, extra) + return false, message + } + } + } + return true, "" +} diff --git a/vendor/github.com/onsi/gomega/internal/asyncassertion/async_assertion.go b/vendor/github.com/onsi/gomega/internal/asyncassertion/async_assertion.go new file mode 100644 index 0000000..bce0853 --- /dev/null +++ b/vendor/github.com/onsi/gomega/internal/asyncassertion/async_assertion.go @@ -0,0 +1,189 @@ +package asyncassertion + +import ( + "errors" + "fmt" + "reflect" + "time" + + "github.com/onsi/gomega/internal/oraclematcher" + "github.com/onsi/gomega/types" +) + +type AsyncAssertionType uint + +const ( + AsyncAssertionTypeEventually AsyncAssertionType = iota + AsyncAssertionTypeConsistently +) + +type AsyncAssertion struct { + asyncType AsyncAssertionType + actualInput interface{} + timeoutInterval time.Duration + pollingInterval time.Duration + fail types.GomegaFailHandler + offset int +} + +func New(asyncType AsyncAssertionType, actualInput interface{}, fail types.GomegaFailHandler, timeoutInterval time.Duration, pollingInterval time.Duration, offset int) *AsyncAssertion { + actualType := reflect.TypeOf(actualInput) + if actualType.Kind() == reflect.Func { + if actualType.NumIn() != 0 || actualType.NumOut() == 0 { + panic("Expected a function with no arguments and one or more return values.") + } + } + + return &AsyncAssertion{ + asyncType: asyncType, + actualInput: actualInput, + fail: fail, + timeoutInterval: timeoutInterval, + pollingInterval: pollingInterval, + offset: offset, + } +} + +func (assertion *AsyncAssertion) Should(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.match(matcher, true, optionalDescription...) +} + +func (assertion *AsyncAssertion) ShouldNot(matcher types.GomegaMatcher, optionalDescription ...interface{}) bool { + return assertion.match(matcher, false, optionalDescription...) +} + +func (assertion *AsyncAssertion) buildDescription(optionalDescription ...interface{}) string { + switch len(optionalDescription) { + case 0: + return "" + default: + return fmt.Sprintf(optionalDescription[0].(string), optionalDescription[1:]...) + "\n" + } +} + +func (assertion *AsyncAssertion) actualInputIsAFunction() bool { + actualType := reflect.TypeOf(assertion.actualInput) + return actualType.Kind() == reflect.Func && actualType.NumIn() == 0 && actualType.NumOut() > 0 +} + +func (assertion *AsyncAssertion) pollActual() (interface{}, error) { + if assertion.actualInputIsAFunction() { + values := reflect.ValueOf(assertion.actualInput).Call([]reflect.Value{}) + + extras := []interface{}{} + for _, value := range values[1:] { + extras = append(extras, value.Interface()) + } + + success, message := vetExtras(extras) + + if !success { + return nil, errors.New(message) + } + + return values[0].Interface(), nil + } + + return assertion.actualInput, nil +} + +func (assertion *AsyncAssertion) matcherMayChange(matcher types.GomegaMatcher, value interface{}) bool { + if assertion.actualInputIsAFunction() { + return true + } + + return oraclematcher.MatchMayChangeInTheFuture(matcher, value) +} + +func (assertion *AsyncAssertion) match(matcher types.GomegaMatcher, desiredMatch bool, optionalDescription ...interface{}) bool { + timer := time.Now() + timeout := time.After(assertion.timeoutInterval) + + description := assertion.buildDescription(optionalDescription...) + + var matches bool + var err error + mayChange := true + value, err := assertion.pollActual() + if err == nil { + mayChange = assertion.matcherMayChange(matcher, value) + matches, err = matcher.Match(value) + } + + fail := func(preamble string) { + errMsg := "" + message := "" + if err != nil { + errMsg = "Error: " + err.Error() + } else { + if desiredMatch { + message = matcher.FailureMessage(value) + } else { + message = matcher.NegatedFailureMessage(value) + } + } + assertion.fail(fmt.Sprintf("%s after %.3fs.\n%s%s%s", preamble, time.Since(timer).Seconds(), description, message, errMsg), 3+assertion.offset) + } + + if assertion.asyncType == AsyncAssertionTypeEventually { + for { + if err == nil && matches == desiredMatch { + return true + } + + if !mayChange { + fail("No future change is possible. Bailing out early") + return false + } + + select { + case <-time.After(assertion.pollingInterval): + value, err = assertion.pollActual() + if err == nil { + mayChange = assertion.matcherMayChange(matcher, value) + matches, err = matcher.Match(value) + } + case <-timeout: + fail("Timed out") + return false + } + } + } else if assertion.asyncType == AsyncAssertionTypeConsistently { + for { + if !(err == nil && matches == desiredMatch) { + fail("Failed") + return false + } + + if !mayChange { + return true + } + + select { + case <-time.After(assertion.pollingInterval): + value, err = assertion.pollActual() + if err == nil { + mayChange = assertion.matcherMayChange(matcher, value) + matches, err = matcher.Match(value) + } + case <-timeout: + return true + } + } + } + + return false +} + +func vetExtras(extras []interface{}) (bool, string) { + for i, extra := range extras { + if extra != nil { + zeroValue := reflect.Zero(reflect.TypeOf(extra)).Interface() + if !reflect.DeepEqual(zeroValue, extra) { + message := fmt.Sprintf("Unexpected non-nil/non-zero extra argument at index %d:\n\t<%T>: %#v", i+1, extra, extra) + return false, message + } + } + } + return true, "" +} diff --git a/vendor/github.com/onsi/gomega/internal/oraclematcher/oracle_matcher.go b/vendor/github.com/onsi/gomega/internal/oraclematcher/oracle_matcher.go new file mode 100644 index 0000000..66cad88 --- /dev/null +++ b/vendor/github.com/onsi/gomega/internal/oraclematcher/oracle_matcher.go @@ -0,0 +1,25 @@ +package oraclematcher + +import "github.com/onsi/gomega/types" + +/* +GomegaMatchers that also match the OracleMatcher interface can convey information about +whether or not their result will change upon future attempts. + +This allows `Eventually` and `Consistently` to short circuit if success becomes impossible. + +For example, a process' exit code can never change. So, gexec's Exit matcher returns `true` +for `MatchMayChangeInTheFuture` until the process exits, at which point it returns `false` forevermore. +*/ +type OracleMatcher interface { + MatchMayChangeInTheFuture(actual interface{}) bool +} + +func MatchMayChangeInTheFuture(matcher types.GomegaMatcher, value interface{}) bool { + oracleMatcher, ok := matcher.(OracleMatcher) + if !ok { + return true + } + + return oracleMatcher.MatchMayChangeInTheFuture(value) +} diff --git a/vendor/github.com/onsi/gomega/internal/testingtsupport/testing_t_support.go b/vendor/github.com/onsi/gomega/internal/testingtsupport/testing_t_support.go new file mode 100644 index 0000000..ac89125 --- /dev/null +++ b/vendor/github.com/onsi/gomega/internal/testingtsupport/testing_t_support.go @@ -0,0 +1,40 @@ +package testingtsupport + +import ( + "regexp" + "runtime/debug" + "strings" + + "github.com/onsi/gomega/types" +) + +type gomegaTestingT interface { + Fatalf(format string, args ...interface{}) +} + +func BuildTestingTGomegaFailHandler(t gomegaTestingT) types.GomegaFailHandler { + return func(message string, callerSkip ...int) { + skip := 1 + if len(callerSkip) > 0 { + skip = callerSkip[0] + } + stackTrace := pruneStack(string(debug.Stack()), skip) + t.Fatalf("\n%s\n%s", stackTrace, message) + } +} + +func pruneStack(fullStackTrace string, skip int) string { + stack := strings.Split(fullStackTrace, "\n") + if len(stack) > 2*(skip+1) { + stack = stack[2*(skip+1):] + } + prunedStack := []string{} + re := regexp.MustCompile(`\/ginkgo\/|\/pkg\/testing\/|\/pkg\/runtime\/`) + for i := 0; i < len(stack)/2; i++ { + if !re.Match([]byte(stack[i*2])) { + prunedStack = append(prunedStack, stack[i*2]) + prunedStack = append(prunedStack, stack[i*2+1]) + } + } + return strings.Join(prunedStack, "\n") +} diff --git a/vendor/github.com/onsi/gomega/matchers.go b/vendor/github.com/onsi/gomega/matchers.go new file mode 100644 index 0000000..b064925 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers.go @@ -0,0 +1,427 @@ +package gomega + +import ( + "time" + + "github.com/onsi/gomega/matchers" + "github.com/onsi/gomega/types" +) + +//Equal uses reflect.DeepEqual to compare actual with expected. Equal is strict about +//types when performing comparisons. +//It is an error for both actual and expected to be nil. Use BeNil() instead. +func Equal(expected interface{}) types.GomegaMatcher { + return &matchers.EqualMatcher{ + Expected: expected, + } +} + +//BeEquivalentTo is more lax than Equal, allowing equality between different types. +//This is done by converting actual to have the type of expected before +//attempting equality with reflect.DeepEqual. +//It is an error for actual and expected to be nil. Use BeNil() instead. +func BeEquivalentTo(expected interface{}) types.GomegaMatcher { + return &matchers.BeEquivalentToMatcher{ + Expected: expected, + } +} + +//BeIdenticalTo uses the == operator to compare actual with expected. +//BeIdenticalTo is strict about types when performing comparisons. +//It is an error for both actual and expected to be nil. Use BeNil() instead. +func BeIdenticalTo(expected interface{}) types.GomegaMatcher { + return &matchers.BeIdenticalToMatcher{ + Expected: expected, + } +} + +//BeNil succeeds if actual is nil +func BeNil() types.GomegaMatcher { + return &matchers.BeNilMatcher{} +} + +//BeTrue succeeds if actual is true +func BeTrue() types.GomegaMatcher { + return &matchers.BeTrueMatcher{} +} + +//BeFalse succeeds if actual is false +func BeFalse() types.GomegaMatcher { + return &matchers.BeFalseMatcher{} +} + +//HaveOccurred succeeds if actual is a non-nil error +//The typical Go error checking pattern looks like: +// err := SomethingThatMightFail() +// Ω(err).ShouldNot(HaveOccurred()) +func HaveOccurred() types.GomegaMatcher { + return &matchers.HaveOccurredMatcher{} +} + +//Succeed passes if actual is a nil error +//Succeed is intended to be used with functions that return a single error value. Instead of +// err := SomethingThatMightFail() +// Ω(err).ShouldNot(HaveOccurred()) +// +//You can write: +// Ω(SomethingThatMightFail()).Should(Succeed()) +// +//It is a mistake to use Succeed with a function that has multiple return values. Gomega's Ω and Expect +//functions automatically trigger failure if any return values after the first return value are non-zero/non-nil. +//This means that Ω(MultiReturnFunc()).ShouldNot(Succeed()) can never pass. +func Succeed() types.GomegaMatcher { + return &matchers.SucceedMatcher{} +} + +//MatchError succeeds if actual is a non-nil error that matches the passed in string/error. +// +//These are valid use-cases: +// Ω(err).Should(MatchError("an error")) //asserts that err.Error() == "an error" +// Ω(err).Should(MatchError(SomeError)) //asserts that err == SomeError (via reflect.DeepEqual) +// +//It is an error for err to be nil or an object that does not implement the Error interface +func MatchError(expected interface{}) types.GomegaMatcher { + return &matchers.MatchErrorMatcher{ + Expected: expected, + } +} + +//BeClosed succeeds if actual is a closed channel. +//It is an error to pass a non-channel to BeClosed, it is also an error to pass nil +// +//In order to check whether or not the channel is closed, Gomega must try to read from the channel +//(even in the `ShouldNot(BeClosed())` case). You should keep this in mind if you wish to make subsequent assertions about +//values coming down the channel. +// +//Also, if you are testing that a *buffered* channel is closed you must first read all values out of the channel before +//asserting that it is closed (it is not possible to detect that a buffered-channel has been closed until all its buffered values are read). +// +//Finally, as a corollary: it is an error to check whether or not a send-only channel is closed. +func BeClosed() types.GomegaMatcher { + return &matchers.BeClosedMatcher{} +} + +//Receive succeeds if there is a value to be received on actual. +//Actual must be a channel (and cannot be a send-only channel) -- anything else is an error. +// +//Receive returns immediately and never blocks: +// +//- If there is nothing on the channel `c` then Ω(c).Should(Receive()) will fail and Ω(c).ShouldNot(Receive()) will pass. +// +//- If the channel `c` is closed then Ω(c).Should(Receive()) will fail and Ω(c).ShouldNot(Receive()) will pass. +// +//- If there is something on the channel `c` ready to be read, then Ω(c).Should(Receive()) will pass and Ω(c).ShouldNot(Receive()) will fail. +// +//If you have a go-routine running in the background that will write to channel `c` you can: +// Eventually(c).Should(Receive()) +// +//This will timeout if nothing gets sent to `c` (you can modify the timeout interval as you normally do with `Eventually`) +// +//A similar use-case is to assert that no go-routine writes to a channel (for a period of time). You can do this with `Consistently`: +// Consistently(c).ShouldNot(Receive()) +// +//You can pass `Receive` a matcher. If you do so, it will match the received object against the matcher. For example: +// Ω(c).Should(Receive(Equal("foo"))) +// +//When given a matcher, `Receive` will always fail if there is nothing to be received on the channel. +// +//Passing Receive a matcher is especially useful when paired with Eventually: +// +// Eventually(c).Should(Receive(ContainSubstring("bar"))) +// +//will repeatedly attempt to pull values out of `c` until a value matching "bar" is received. +// +//Finally, if you want to have a reference to the value *sent* to the channel you can pass the `Receive` matcher a pointer to a variable of the appropriate type: +// var myThing thing +// Eventually(thingChan).Should(Receive(&myThing)) +// Ω(myThing.Sprocket).Should(Equal("foo")) +// Ω(myThing.IsValid()).Should(BeTrue()) +func Receive(args ...interface{}) types.GomegaMatcher { + var arg interface{} + if len(args) > 0 { + arg = args[0] + } + + return &matchers.ReceiveMatcher{ + Arg: arg, + } +} + +//BeSent succeeds if a value can be sent to actual. +//Actual must be a channel (and cannot be a receive-only channel) that can sent the type of the value passed into BeSent -- anything else is an error. +//In addition, actual must not be closed. +// +//BeSent never blocks: +// +//- If the channel `c` is not ready to receive then Ω(c).Should(BeSent("foo")) will fail immediately +//- If the channel `c` is eventually ready to receive then Eventually(c).Should(BeSent("foo")) will succeed.. presuming the channel becomes ready to receive before Eventually's timeout +//- If the channel `c` is closed then Ω(c).Should(BeSent("foo")) and Ω(c).ShouldNot(BeSent("foo")) will both fail immediately +// +//Of course, the value is actually sent to the channel. The point of `BeSent` is less to make an assertion about the availability of the channel (which is typically an implementation detail that your test should not be concerned with). +//Rather, the point of `BeSent` is to make it possible to easily and expressively write tests that can timeout on blocked channel sends. +func BeSent(arg interface{}) types.GomegaMatcher { + return &matchers.BeSentMatcher{ + Arg: arg, + } +} + +//MatchRegexp succeeds if actual is a string or stringer that matches the +//passed-in regexp. Optional arguments can be provided to construct a regexp +//via fmt.Sprintf(). +func MatchRegexp(regexp string, args ...interface{}) types.GomegaMatcher { + return &matchers.MatchRegexpMatcher{ + Regexp: regexp, + Args: args, + } +} + +//ContainSubstring succeeds if actual is a string or stringer that contains the +//passed-in substring. Optional arguments can be provided to construct the substring +//via fmt.Sprintf(). +func ContainSubstring(substr string, args ...interface{}) types.GomegaMatcher { + return &matchers.ContainSubstringMatcher{ + Substr: substr, + Args: args, + } +} + +//HavePrefix succeeds if actual is a string or stringer that contains the +//passed-in string as a prefix. Optional arguments can be provided to construct +//via fmt.Sprintf(). +func HavePrefix(prefix string, args ...interface{}) types.GomegaMatcher { + return &matchers.HavePrefixMatcher{ + Prefix: prefix, + Args: args, + } +} + +//HaveSuffix succeeds if actual is a string or stringer that contains the +//passed-in string as a suffix. Optional arguments can be provided to construct +//via fmt.Sprintf(). +func HaveSuffix(suffix string, args ...interface{}) types.GomegaMatcher { + return &matchers.HaveSuffixMatcher{ + Suffix: suffix, + Args: args, + } +} + +//MatchJSON succeeds if actual is a string or stringer of JSON that matches +//the expected JSON. The JSONs are decoded and the resulting objects are compared via +//reflect.DeepEqual so things like key-ordering and whitespace shouldn't matter. +func MatchJSON(json interface{}) types.GomegaMatcher { + return &matchers.MatchJSONMatcher{ + JSONToMatch: json, + } +} + +//MatchXML succeeds if actual is a string or stringer of XML that matches +//the expected XML. The XMLs are decoded and the resulting objects are compared via +//reflect.DeepEqual so things like whitespaces shouldn't matter. +func MatchXML(xml interface{}) types.GomegaMatcher { + return &matchers.MatchXMLMatcher{ + XMLToMatch: xml, + } +} + +//MatchYAML succeeds if actual is a string or stringer of YAML that matches +//the expected YAML. The YAML's are decoded and the resulting objects are compared via +//reflect.DeepEqual so things like key-ordering and whitespace shouldn't matter. +func MatchYAML(yaml interface{}) types.GomegaMatcher { + return &matchers.MatchYAMLMatcher{ + YAMLToMatch: yaml, + } +} + +//BeEmpty succeeds if actual is empty. Actual must be of type string, array, map, chan, or slice. +func BeEmpty() types.GomegaMatcher { + return &matchers.BeEmptyMatcher{} +} + +//HaveLen succeeds if actual has the passed-in length. Actual must be of type string, array, map, chan, or slice. +func HaveLen(count int) types.GomegaMatcher { + return &matchers.HaveLenMatcher{ + Count: count, + } +} + +//HaveCap succeeds if actual has the passed-in capacity. Actual must be of type array, chan, or slice. +func HaveCap(count int) types.GomegaMatcher { + return &matchers.HaveCapMatcher{ + Count: count, + } +} + +//BeZero succeeds if actual is the zero value for its type or if actual is nil. +func BeZero() types.GomegaMatcher { + return &matchers.BeZeroMatcher{} +} + +//ContainElement succeeds if actual contains the passed in element. +//By default ContainElement() uses Equal() to perform the match, however a +//matcher can be passed in instead: +// Ω([]string{"Foo", "FooBar"}).Should(ContainElement(ContainSubstring("Bar"))) +// +//Actual must be an array, slice or map. +//For maps, ContainElement searches through the map's values. +func ContainElement(element interface{}) types.GomegaMatcher { + return &matchers.ContainElementMatcher{ + Element: element, + } +} + +//ConsistOf succeeds if actual contains precisely the elements passed into the matcher. The ordering of the elements does not matter. +//By default ConsistOf() uses Equal() to match the elements, however custom matchers can be passed in instead. Here are some examples: +// +// Ω([]string{"Foo", "FooBar"}).Should(ConsistOf("FooBar", "Foo")) +// Ω([]string{"Foo", "FooBar"}).Should(ConsistOf(ContainSubstring("Bar"), "Foo")) +// Ω([]string{"Foo", "FooBar"}).Should(ConsistOf(ContainSubstring("Foo"), ContainSubstring("Foo"))) +// +//Actual must be an array, slice or map. For maps, ConsistOf matches against the map's values. +// +//You typically pass variadic arguments to ConsistOf (as in the examples above). However, if you need to pass in a slice you can provided that it +//is the only element passed in to ConsistOf: +// +// Ω([]string{"Foo", "FooBar"}).Should(ConsistOf([]string{"FooBar", "Foo"})) +// +//Note that Go's type system does not allow you to write this as ConsistOf([]string{"FooBar", "Foo"}...) as []string and []interface{} are different types - hence the need for this special rule. +func ConsistOf(elements ...interface{}) types.GomegaMatcher { + return &matchers.ConsistOfMatcher{ + Elements: elements, + } +} + +//HaveKey succeeds if actual is a map with the passed in key. +//By default HaveKey uses Equal() to perform the match, however a +//matcher can be passed in instead: +// Ω(map[string]string{"Foo": "Bar", "BazFoo": "Duck"}).Should(HaveKey(MatchRegexp(`.+Foo$`))) +func HaveKey(key interface{}) types.GomegaMatcher { + return &matchers.HaveKeyMatcher{ + Key: key, + } +} + +//HaveKeyWithValue succeeds if actual is a map with the passed in key and value. +//By default HaveKeyWithValue uses Equal() to perform the match, however a +//matcher can be passed in instead: +// Ω(map[string]string{"Foo": "Bar", "BazFoo": "Duck"}).Should(HaveKeyWithValue("Foo", "Bar")) +// Ω(map[string]string{"Foo": "Bar", "BazFoo": "Duck"}).Should(HaveKeyWithValue(MatchRegexp(`.+Foo$`), "Bar")) +func HaveKeyWithValue(key interface{}, value interface{}) types.GomegaMatcher { + return &matchers.HaveKeyWithValueMatcher{ + Key: key, + Value: value, + } +} + +//BeNumerically performs numerical assertions in a type-agnostic way. +//Actual and expected should be numbers, though the specific type of +//number is irrelevant (floa32, float64, uint8, etc...). +// +//There are six, self-explanatory, supported comparators: +// Ω(1.0).Should(BeNumerically("==", 1)) +// Ω(1.0).Should(BeNumerically("~", 0.999, 0.01)) +// Ω(1.0).Should(BeNumerically(">", 0.9)) +// Ω(1.0).Should(BeNumerically(">=", 1.0)) +// Ω(1.0).Should(BeNumerically("<", 3)) +// Ω(1.0).Should(BeNumerically("<=", 1.0)) +func BeNumerically(comparator string, compareTo ...interface{}) types.GomegaMatcher { + return &matchers.BeNumericallyMatcher{ + Comparator: comparator, + CompareTo: compareTo, + } +} + +//BeTemporally compares time.Time's like BeNumerically +//Actual and expected must be time.Time. The comparators are the same as for BeNumerically +// Ω(time.Now()).Should(BeTemporally(">", time.Time{})) +// Ω(time.Now()).Should(BeTemporally("~", time.Now(), time.Second)) +func BeTemporally(comparator string, compareTo time.Time, threshold ...time.Duration) types.GomegaMatcher { + return &matchers.BeTemporallyMatcher{ + Comparator: comparator, + CompareTo: compareTo, + Threshold: threshold, + } +} + +//BeAssignableToTypeOf succeeds if actual is assignable to the type of expected. +//It will return an error when one of the values is nil. +// Ω(0).Should(BeAssignableToTypeOf(0)) // Same values +// Ω(5).Should(BeAssignableToTypeOf(-1)) // different values same type +// Ω("foo").Should(BeAssignableToTypeOf("bar")) // different values same type +// Ω(struct{ Foo string }{}).Should(BeAssignableToTypeOf(struct{ Foo string }{})) +func BeAssignableToTypeOf(expected interface{}) types.GomegaMatcher { + return &matchers.AssignableToTypeOfMatcher{ + Expected: expected, + } +} + +//Panic succeeds if actual is a function that, when invoked, panics. +//Actual must be a function that takes no arguments and returns no results. +func Panic() types.GomegaMatcher { + return &matchers.PanicMatcher{} +} + +//BeAnExistingFile succeeds if a file exists. +//Actual must be a string representing the abs path to the file being checked. +func BeAnExistingFile() types.GomegaMatcher { + return &matchers.BeAnExistingFileMatcher{} +} + +//BeARegularFile succeeds if a file exists and is a regular file. +//Actual must be a string representing the abs path to the file being checked. +func BeARegularFile() types.GomegaMatcher { + return &matchers.BeARegularFileMatcher{} +} + +//BeADirectory succeeds if a file exists and is a directory. +//Actual must be a string representing the abs path to the file being checked. +func BeADirectory() types.GomegaMatcher { + return &matchers.BeADirectoryMatcher{} +} + +//And succeeds only if all of the given matchers succeed. +//The matchers are tried in order, and will fail-fast if one doesn't succeed. +// Expect("hi").To(And(HaveLen(2), Equal("hi")) +// +//And(), Or(), Not() and WithTransform() allow matchers to be composed into complex expressions. +func And(ms ...types.GomegaMatcher) types.GomegaMatcher { + return &matchers.AndMatcher{Matchers: ms} +} + +//SatisfyAll is an alias for And(). +// Ω("hi").Should(SatisfyAll(HaveLen(2), Equal("hi"))) +func SatisfyAll(matchers ...types.GomegaMatcher) types.GomegaMatcher { + return And(matchers...) +} + +//Or succeeds if any of the given matchers succeed. +//The matchers are tried in order and will return immediately upon the first successful match. +// Expect("hi").To(Or(HaveLen(3), HaveLen(2)) +// +//And(), Or(), Not() and WithTransform() allow matchers to be composed into complex expressions. +func Or(ms ...types.GomegaMatcher) types.GomegaMatcher { + return &matchers.OrMatcher{Matchers: ms} +} + +//SatisfyAny is an alias for Or(). +// Expect("hi").SatisfyAny(Or(HaveLen(3), HaveLen(2)) +func SatisfyAny(matchers ...types.GomegaMatcher) types.GomegaMatcher { + return Or(matchers...) +} + +//Not negates the given matcher; it succeeds if the given matcher fails. +// Expect(1).To(Not(Equal(2)) +// +//And(), Or(), Not() and WithTransform() allow matchers to be composed into complex expressions. +func Not(matcher types.GomegaMatcher) types.GomegaMatcher { + return &matchers.NotMatcher{Matcher: matcher} +} + +//WithTransform applies the `transform` to the actual value and matches it against `matcher`. +//The given transform must be a function of one parameter that returns one value. +// var plus1 = func(i int) int { return i + 1 } +// Expect(1).To(WithTransform(plus1, Equal(2)) +// +//And(), Or(), Not() and WithTransform() allow matchers to be composed into complex expressions. +func WithTransform(transform interface{}, matcher types.GomegaMatcher) types.GomegaMatcher { + return matchers.NewWithTransformMatcher(transform, matcher) +} diff --git a/vendor/github.com/onsi/gomega/matchers/and.go b/vendor/github.com/onsi/gomega/matchers/and.go new file mode 100644 index 0000000..d83a291 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/and.go @@ -0,0 +1,63 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" + "github.com/onsi/gomega/internal/oraclematcher" + "github.com/onsi/gomega/types" +) + +type AndMatcher struct { + Matchers []types.GomegaMatcher + + // state + firstFailedMatcher types.GomegaMatcher +} + +func (m *AndMatcher) Match(actual interface{}) (success bool, err error) { + m.firstFailedMatcher = nil + for _, matcher := range m.Matchers { + success, err := matcher.Match(actual) + if !success || err != nil { + m.firstFailedMatcher = matcher + return false, err + } + } + return true, nil +} + +func (m *AndMatcher) FailureMessage(actual interface{}) (message string) { + return m.firstFailedMatcher.FailureMessage(actual) +} + +func (m *AndMatcher) NegatedFailureMessage(actual interface{}) (message string) { + // not the most beautiful list of matchers, but not bad either... + return format.Message(actual, fmt.Sprintf("To not satisfy all of these matchers: %s", m.Matchers)) +} + +func (m *AndMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { + /* + Example with 3 matchers: A, B, C + + Match evaluates them: T, F, => F + So match is currently F, what should MatchMayChangeInTheFuture() return? + Seems like it only depends on B, since currently B MUST change to allow the result to become T + + Match eval: T, T, T => T + So match is currently T, what should MatchMayChangeInTheFuture() return? + Seems to depend on ANY of them being able to change to F. + */ + + if m.firstFailedMatcher == nil { + // so all matchers succeeded.. Any one of them changing would change the result. + for _, matcher := range m.Matchers { + if oraclematcher.MatchMayChangeInTheFuture(matcher, actual) { + return true + } + } + return false // none of were going to change + } + // one of the matchers failed.. it must be able to change in order to affect the result + return oraclematcher.MatchMayChangeInTheFuture(m.firstFailedMatcher, actual) +} diff --git a/vendor/github.com/onsi/gomega/matchers/assignable_to_type_of_matcher.go b/vendor/github.com/onsi/gomega/matchers/assignable_to_type_of_matcher.go new file mode 100644 index 0000000..89a1fc2 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/assignable_to_type_of_matcher.go @@ -0,0 +1,31 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type AssignableToTypeOfMatcher struct { + Expected interface{} +} + +func (matcher *AssignableToTypeOfMatcher) Match(actual interface{}) (success bool, err error) { + if actual == nil || matcher.Expected == nil { + return false, fmt.Errorf("Refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized.") + } + + actualType := reflect.TypeOf(actual) + expectedType := reflect.TypeOf(matcher.Expected) + + return actualType.AssignableTo(expectedType), nil +} + +func (matcher *AssignableToTypeOfMatcher) FailureMessage(actual interface{}) string { + return format.Message(actual, fmt.Sprintf("to be assignable to the type: %T", matcher.Expected)) +} + +func (matcher *AssignableToTypeOfMatcher) NegatedFailureMessage(actual interface{}) string { + return format.Message(actual, fmt.Sprintf("not to be assignable to the type: %T", matcher.Expected)) +} diff --git a/vendor/github.com/onsi/gomega/matchers/attributes_slice.go b/vendor/github.com/onsi/gomega/matchers/attributes_slice.go new file mode 100644 index 0000000..355b362 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/attributes_slice.go @@ -0,0 +1,14 @@ +package matchers + +import ( + "encoding/xml" + "strings" +) + +type attributesSlice []xml.Attr + +func (attrs attributesSlice) Len() int { return len(attrs) } +func (attrs attributesSlice) Less(i, j int) bool { + return strings.Compare(attrs[i].Name.Local, attrs[j].Name.Local) == -1 +} +func (attrs attributesSlice) Swap(i, j int) { attrs[i], attrs[j] = attrs[j], attrs[i] } diff --git a/vendor/github.com/onsi/gomega/matchers/be_a_directory.go b/vendor/github.com/onsi/gomega/matchers/be_a_directory.go new file mode 100644 index 0000000..7b6975e --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_a_directory.go @@ -0,0 +1,54 @@ +package matchers + +import ( + "fmt" + "os" + + "github.com/onsi/gomega/format" +) + +type notADirectoryError struct { + os.FileInfo +} + +func (t notADirectoryError) Error() string { + fileInfo := os.FileInfo(t) + switch { + case fileInfo.Mode().IsRegular(): + return "file is a regular file" + default: + return fmt.Sprintf("file mode is: %s", fileInfo.Mode().String()) + } +} + +type BeADirectoryMatcher struct { + expected interface{} + err error +} + +func (matcher *BeADirectoryMatcher) Match(actual interface{}) (success bool, err error) { + actualFilename, ok := actual.(string) + if !ok { + return false, fmt.Errorf("BeADirectoryMatcher matcher expects a file path") + } + + fileInfo, err := os.Stat(actualFilename) + if err != nil { + matcher.err = err + return false, nil + } + + if !fileInfo.Mode().IsDir() { + matcher.err = notADirectoryError{fileInfo} + return false, nil + } + return true, nil +} + +func (matcher *BeADirectoryMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("to be a directory: %s", matcher.err)) +} + +func (matcher *BeADirectoryMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not be a directory")) +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_a_regular_file.go b/vendor/github.com/onsi/gomega/matchers/be_a_regular_file.go new file mode 100644 index 0000000..e239131 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_a_regular_file.go @@ -0,0 +1,54 @@ +package matchers + +import ( + "fmt" + "os" + + "github.com/onsi/gomega/format" +) + +type notARegularFileError struct { + os.FileInfo +} + +func (t notARegularFileError) Error() string { + fileInfo := os.FileInfo(t) + switch { + case fileInfo.IsDir(): + return "file is a directory" + default: + return fmt.Sprintf("file mode is: %s", fileInfo.Mode().String()) + } +} + +type BeARegularFileMatcher struct { + expected interface{} + err error +} + +func (matcher *BeARegularFileMatcher) Match(actual interface{}) (success bool, err error) { + actualFilename, ok := actual.(string) + if !ok { + return false, fmt.Errorf("BeARegularFileMatcher matcher expects a file path") + } + + fileInfo, err := os.Stat(actualFilename) + if err != nil { + matcher.err = err + return false, nil + } + + if !fileInfo.Mode().IsRegular() { + matcher.err = notARegularFileError{fileInfo} + return false, nil + } + return true, nil +} + +func (matcher *BeARegularFileMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("to be a regular file: %s", matcher.err)) +} + +func (matcher *BeARegularFileMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not be a regular file")) +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go b/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go new file mode 100644 index 0000000..d42eba2 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go @@ -0,0 +1,38 @@ +package matchers + +import ( + "fmt" + "os" + + "github.com/onsi/gomega/format" +) + +type BeAnExistingFileMatcher struct { + expected interface{} +} + +func (matcher *BeAnExistingFileMatcher) Match(actual interface{}) (success bool, err error) { + actualFilename, ok := actual.(string) + if !ok { + return false, fmt.Errorf("BeAnExistingFileMatcher matcher expects a file path") + } + + if _, err = os.Stat(actualFilename); err != nil { + switch { + case os.IsNotExist(err): + return false, nil + default: + return false, err + } + } + + return true, nil +} + +func (matcher *BeAnExistingFileMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("to exist")) +} + +func (matcher *BeAnExistingFileMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not to exist")) +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_closed_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_closed_matcher.go new file mode 100644 index 0000000..ed6f692 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_closed_matcher.go @@ -0,0 +1,46 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type BeClosedMatcher struct { +} + +func (matcher *BeClosedMatcher) Match(actual interface{}) (success bool, err error) { + if !isChan(actual) { + return false, fmt.Errorf("BeClosed matcher expects a channel. Got:\n%s", format.Object(actual, 1)) + } + + channelType := reflect.TypeOf(actual) + channelValue := reflect.ValueOf(actual) + + if channelType.ChanDir() == reflect.SendDir { + return false, fmt.Errorf("BeClosed matcher cannot determine if a send-only channel is closed or open. Got:\n%s", format.Object(actual, 1)) + } + + winnerIndex, _, open := reflect.Select([]reflect.SelectCase{ + reflect.SelectCase{Dir: reflect.SelectRecv, Chan: channelValue}, + reflect.SelectCase{Dir: reflect.SelectDefault}, + }) + + var closed bool + if winnerIndex == 0 { + closed = !open + } else if winnerIndex == 1 { + closed = false + } + + return closed, nil +} + +func (matcher *BeClosedMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be closed") +} + +func (matcher *BeClosedMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be open") +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go new file mode 100644 index 0000000..8b00311 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go @@ -0,0 +1,27 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type BeEmptyMatcher struct { +} + +func (matcher *BeEmptyMatcher) Match(actual interface{}) (success bool, err error) { + length, ok := lengthOf(actual) + if !ok { + return false, fmt.Errorf("BeEmpty matcher expects a string/array/map/channel/slice. Got:\n%s", format.Object(actual, 1)) + } + + return length == 0, nil +} + +func (matcher *BeEmptyMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be empty") +} + +func (matcher *BeEmptyMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be empty") +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_equivalent_to_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_equivalent_to_matcher.go new file mode 100644 index 0000000..97ab20a --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_equivalent_to_matcher.go @@ -0,0 +1,34 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type BeEquivalentToMatcher struct { + Expected interface{} +} + +func (matcher *BeEquivalentToMatcher) Match(actual interface{}) (success bool, err error) { + if actual == nil && matcher.Expected == nil { + return false, fmt.Errorf("Both actual and expected must not be nil.") + } + + convertedActual := actual + + if actual != nil && matcher.Expected != nil && reflect.TypeOf(actual).ConvertibleTo(reflect.TypeOf(matcher.Expected)) { + convertedActual = reflect.ValueOf(actual).Convert(reflect.TypeOf(matcher.Expected)).Interface() + } + + return reflect.DeepEqual(convertedActual, matcher.Expected), nil +} + +func (matcher *BeEquivalentToMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be equivalent to", matcher.Expected) +} + +func (matcher *BeEquivalentToMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be equivalent to", matcher.Expected) +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go new file mode 100644 index 0000000..91d3b77 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go @@ -0,0 +1,26 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type BeFalseMatcher struct { +} + +func (matcher *BeFalseMatcher) Match(actual interface{}) (success bool, err error) { + if !isBool(actual) { + return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) + } + + return actual == false, nil +} + +func (matcher *BeFalseMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be false") +} + +func (matcher *BeFalseMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be false") +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_identical_to.go b/vendor/github.com/onsi/gomega/matchers/be_identical_to.go new file mode 100644 index 0000000..fdcda4d --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_identical_to.go @@ -0,0 +1,37 @@ +package matchers + +import ( + "fmt" + "runtime" + + "github.com/onsi/gomega/format" +) + +type BeIdenticalToMatcher struct { + Expected interface{} +} + +func (matcher *BeIdenticalToMatcher) Match(actual interface{}) (success bool, matchErr error) { + if actual == nil && matcher.Expected == nil { + return false, fmt.Errorf("Refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized.") + } + + defer func() { + if r := recover(); r != nil { + if _, ok := r.(runtime.Error); ok { + success = false + matchErr = nil + } + } + }() + + return actual == matcher.Expected, nil +} + +func (matcher *BeIdenticalToMatcher) FailureMessage(actual interface{}) string { + return format.Message(actual, "to be identical to", matcher.Expected) +} + +func (matcher *BeIdenticalToMatcher) NegatedFailureMessage(actual interface{}) string { + return format.Message(actual, "not to be identical to", matcher.Expected) +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go new file mode 100644 index 0000000..7ee84fe --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go @@ -0,0 +1,18 @@ +package matchers + +import "github.com/onsi/gomega/format" + +type BeNilMatcher struct { +} + +func (matcher *BeNilMatcher) Match(actual interface{}) (success bool, err error) { + return isNil(actual), nil +} + +func (matcher *BeNilMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be nil") +} + +func (matcher *BeNilMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be nil") +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_numerically_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_numerically_matcher.go new file mode 100644 index 0000000..0c157f6 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_numerically_matcher.go @@ -0,0 +1,120 @@ +package matchers + +import ( + "fmt" + "math" + + "github.com/onsi/gomega/format" +) + +type BeNumericallyMatcher struct { + Comparator string + CompareTo []interface{} +} + +func (matcher *BeNumericallyMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("to be %s", matcher.Comparator), matcher.CompareTo[0]) +} + +func (matcher *BeNumericallyMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not to be %s", matcher.Comparator), matcher.CompareTo[0]) +} + +func (matcher *BeNumericallyMatcher) Match(actual interface{}) (success bool, err error) { + if len(matcher.CompareTo) == 0 || len(matcher.CompareTo) > 2 { + return false, fmt.Errorf("BeNumerically requires 1 or 2 CompareTo arguments. Got:\n%s", format.Object(matcher.CompareTo, 1)) + } + if !isNumber(actual) { + return false, fmt.Errorf("Expected a number. Got:\n%s", format.Object(actual, 1)) + } + if !isNumber(matcher.CompareTo[0]) { + return false, fmt.Errorf("Expected a number. Got:\n%s", format.Object(matcher.CompareTo[0], 1)) + } + if len(matcher.CompareTo) == 2 && !isNumber(matcher.CompareTo[1]) { + return false, fmt.Errorf("Expected a number. Got:\n%s", format.Object(matcher.CompareTo[0], 1)) + } + + switch matcher.Comparator { + case "==", "~", ">", ">=", "<", "<=": + default: + return false, fmt.Errorf("Unknown comparator: %s", matcher.Comparator) + } + + if isFloat(actual) || isFloat(matcher.CompareTo[0]) { + var secondOperand float64 = 1e-8 + if len(matcher.CompareTo) == 2 { + secondOperand = toFloat(matcher.CompareTo[1]) + } + success = matcher.matchFloats(toFloat(actual), toFloat(matcher.CompareTo[0]), secondOperand) + } else if isInteger(actual) { + var secondOperand int64 = 0 + if len(matcher.CompareTo) == 2 { + secondOperand = toInteger(matcher.CompareTo[1]) + } + success = matcher.matchIntegers(toInteger(actual), toInteger(matcher.CompareTo[0]), secondOperand) + } else if isUnsignedInteger(actual) { + var secondOperand uint64 = 0 + if len(matcher.CompareTo) == 2 { + secondOperand = toUnsignedInteger(matcher.CompareTo[1]) + } + success = matcher.matchUnsignedIntegers(toUnsignedInteger(actual), toUnsignedInteger(matcher.CompareTo[0]), secondOperand) + } else { + return false, fmt.Errorf("Failed to compare:\n%s\n%s:\n%s", format.Object(actual, 1), matcher.Comparator, format.Object(matcher.CompareTo[0], 1)) + } + + return success, nil +} + +func (matcher *BeNumericallyMatcher) matchIntegers(actual, compareTo, threshold int64) (success bool) { + switch matcher.Comparator { + case "==", "~": + diff := actual - compareTo + return -threshold <= diff && diff <= threshold + case ">": + return (actual > compareTo) + case ">=": + return (actual >= compareTo) + case "<": + return (actual < compareTo) + case "<=": + return (actual <= compareTo) + } + return false +} + +func (matcher *BeNumericallyMatcher) matchUnsignedIntegers(actual, compareTo, threshold uint64) (success bool) { + switch matcher.Comparator { + case "==", "~": + if actual < compareTo { + actual, compareTo = compareTo, actual + } + return actual-compareTo <= threshold + case ">": + return (actual > compareTo) + case ">=": + return (actual >= compareTo) + case "<": + return (actual < compareTo) + case "<=": + return (actual <= compareTo) + } + return false +} + +func (matcher *BeNumericallyMatcher) matchFloats(actual, compareTo, threshold float64) (success bool) { + switch matcher.Comparator { + case "~": + return math.Abs(actual-compareTo) <= threshold + case "==": + return (actual == compareTo) + case ">": + return (actual > compareTo) + case ">=": + return (actual >= compareTo) + case "<": + return (actual < compareTo) + case "<=": + return (actual <= compareTo) + } + return false +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_sent_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_sent_matcher.go new file mode 100644 index 0000000..d7c3223 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_sent_matcher.go @@ -0,0 +1,71 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type BeSentMatcher struct { + Arg interface{} + channelClosed bool +} + +func (matcher *BeSentMatcher) Match(actual interface{}) (success bool, err error) { + if !isChan(actual) { + return false, fmt.Errorf("BeSent expects a channel. Got:\n%s", format.Object(actual, 1)) + } + + channelType := reflect.TypeOf(actual) + channelValue := reflect.ValueOf(actual) + + if channelType.ChanDir() == reflect.RecvDir { + return false, fmt.Errorf("BeSent matcher cannot be passed a receive-only channel. Got:\n%s", format.Object(actual, 1)) + } + + argType := reflect.TypeOf(matcher.Arg) + assignable := argType.AssignableTo(channelType.Elem()) + + if !assignable { + return false, fmt.Errorf("Cannot pass:\n%s to the channel:\n%s\nThe types don't match.", format.Object(matcher.Arg, 1), format.Object(actual, 1)) + } + + argValue := reflect.ValueOf(matcher.Arg) + + defer func() { + if e := recover(); e != nil { + success = false + err = fmt.Errorf("Cannot send to a closed channel") + matcher.channelClosed = true + } + }() + + winnerIndex, _, _ := reflect.Select([]reflect.SelectCase{ + reflect.SelectCase{Dir: reflect.SelectSend, Chan: channelValue, Send: argValue}, + reflect.SelectCase{Dir: reflect.SelectDefault}, + }) + + var didSend bool + if winnerIndex == 0 { + didSend = true + } + + return didSend, nil +} + +func (matcher *BeSentMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to send:", matcher.Arg) +} + +func (matcher *BeSentMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to send:", matcher.Arg) +} + +func (matcher *BeSentMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { + if !isChan(actual) { + return false + } + + return !matcher.channelClosed +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_temporally_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_temporally_matcher.go new file mode 100644 index 0000000..cb7c038 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_temporally_matcher.go @@ -0,0 +1,66 @@ +package matchers + +import ( + "fmt" + "time" + + "github.com/onsi/gomega/format" +) + +type BeTemporallyMatcher struct { + Comparator string + CompareTo time.Time + Threshold []time.Duration +} + +func (matcher *BeTemporallyMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("to be %s", matcher.Comparator), matcher.CompareTo) +} + +func (matcher *BeTemporallyMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not to be %s", matcher.Comparator), matcher.CompareTo) +} + +func (matcher *BeTemporallyMatcher) Match(actual interface{}) (bool, error) { + // predicate to test for time.Time type + isTime := func(t interface{}) bool { + _, ok := t.(time.Time) + return ok + } + + if !isTime(actual) { + return false, fmt.Errorf("Expected a time.Time. Got:\n%s", format.Object(actual, 1)) + } + + switch matcher.Comparator { + case "==", "~", ">", ">=", "<", "<=": + default: + return false, fmt.Errorf("Unknown comparator: %s", matcher.Comparator) + } + + var threshold = time.Millisecond + if len(matcher.Threshold) == 1 { + threshold = matcher.Threshold[0] + } + + return matcher.matchTimes(actual.(time.Time), matcher.CompareTo, threshold), nil +} + +func (matcher *BeTemporallyMatcher) matchTimes(actual, compareTo time.Time, threshold time.Duration) (success bool) { + switch matcher.Comparator { + case "==": + return actual.Equal(compareTo) + case "~": + diff := actual.Sub(compareTo) + return -threshold <= diff && diff <= threshold + case ">": + return actual.After(compareTo) + case ">=": + return !actual.Before(compareTo) + case "<": + return actual.Before(compareTo) + case "<=": + return !actual.After(compareTo) + } + return false +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go new file mode 100644 index 0000000..ec57c5d --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go @@ -0,0 +1,26 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type BeTrueMatcher struct { +} + +func (matcher *BeTrueMatcher) Match(actual interface{}) (success bool, err error) { + if !isBool(actual) { + return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) + } + + return actual.(bool), nil +} + +func (matcher *BeTrueMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be true") +} + +func (matcher *BeTrueMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be true") +} diff --git a/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go b/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go new file mode 100644 index 0000000..26196f1 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go @@ -0,0 +1,28 @@ +package matchers + +import ( + "reflect" + + "github.com/onsi/gomega/format" +) + +type BeZeroMatcher struct { +} + +func (matcher *BeZeroMatcher) Match(actual interface{}) (success bool, err error) { + if actual == nil { + return true, nil + } + zeroValue := reflect.Zero(reflect.TypeOf(actual)).Interface() + + return reflect.DeepEqual(zeroValue, actual), nil + +} + +func (matcher *BeZeroMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to be zero-valued") +} + +func (matcher *BeZeroMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to be zero-valued") +} diff --git a/vendor/github.com/onsi/gomega/matchers/consist_of.go b/vendor/github.com/onsi/gomega/matchers/consist_of.go new file mode 100644 index 0000000..7b0e088 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/consist_of.go @@ -0,0 +1,80 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" + "github.com/onsi/gomega/matchers/support/goraph/bipartitegraph" +) + +type ConsistOfMatcher struct { + Elements []interface{} +} + +func (matcher *ConsistOfMatcher) Match(actual interface{}) (success bool, err error) { + if !isArrayOrSlice(actual) && !isMap(actual) { + return false, fmt.Errorf("ConsistOf matcher expects an array/slice/map. Got:\n%s", format.Object(actual, 1)) + } + + elements := matcher.Elements + if len(matcher.Elements) == 1 && isArrayOrSlice(matcher.Elements[0]) { + elements = []interface{}{} + value := reflect.ValueOf(matcher.Elements[0]) + for i := 0; i < value.Len(); i++ { + elements = append(elements, value.Index(i).Interface()) + } + } + + matchers := []interface{}{} + for _, element := range elements { + matcher, isMatcher := element.(omegaMatcher) + if !isMatcher { + matcher = &EqualMatcher{Expected: element} + } + matchers = append(matchers, matcher) + } + + values := matcher.valuesOf(actual) + + if len(values) != len(matchers) { + return false, nil + } + + neighbours := func(v, m interface{}) (bool, error) { + match, err := m.(omegaMatcher).Match(v) + return match && err == nil, nil + } + + bipartiteGraph, err := bipartitegraph.NewBipartiteGraph(values, matchers, neighbours) + if err != nil { + return false, err + } + + return len(bipartiteGraph.LargestMatching()) == len(values), nil +} + +func (matcher *ConsistOfMatcher) valuesOf(actual interface{}) []interface{} { + value := reflect.ValueOf(actual) + values := []interface{}{} + if isMap(actual) { + keys := value.MapKeys() + for i := 0; i < value.Len(); i++ { + values = append(values, value.MapIndex(keys[i]).Interface()) + } + } else { + for i := 0; i < value.Len(); i++ { + values = append(values, value.Index(i).Interface()) + } + } + + return values +} + +func (matcher *ConsistOfMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to consist of", matcher.Elements) +} + +func (matcher *ConsistOfMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to consist of", matcher.Elements) +} diff --git a/vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go b/vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go new file mode 100644 index 0000000..4159335 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go @@ -0,0 +1,56 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type ContainElementMatcher struct { + Element interface{} +} + +func (matcher *ContainElementMatcher) Match(actual interface{}) (success bool, err error) { + if !isArrayOrSlice(actual) && !isMap(actual) { + return false, fmt.Errorf("ContainElement matcher expects an array/slice/map. Got:\n%s", format.Object(actual, 1)) + } + + elemMatcher, elementIsMatcher := matcher.Element.(omegaMatcher) + if !elementIsMatcher { + elemMatcher = &EqualMatcher{Expected: matcher.Element} + } + + value := reflect.ValueOf(actual) + var keys []reflect.Value + if isMap(actual) { + keys = value.MapKeys() + } + var lastError error + for i := 0; i < value.Len(); i++ { + var success bool + var err error + if isMap(actual) { + success, err = elemMatcher.Match(value.MapIndex(keys[i]).Interface()) + } else { + success, err = elemMatcher.Match(value.Index(i).Interface()) + } + if err != nil { + lastError = err + continue + } + if success { + return true, nil + } + } + + return false, lastError +} + +func (matcher *ContainElementMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to contain element matching", matcher.Element) +} + +func (matcher *ContainElementMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to contain element matching", matcher.Element) +} diff --git a/vendor/github.com/onsi/gomega/matchers/contain_substring_matcher.go b/vendor/github.com/onsi/gomega/matchers/contain_substring_matcher.go new file mode 100644 index 0000000..f8dc41e --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/contain_substring_matcher.go @@ -0,0 +1,38 @@ +package matchers + +import ( + "fmt" + "strings" + + "github.com/onsi/gomega/format" +) + +type ContainSubstringMatcher struct { + Substr string + Args []interface{} +} + +func (matcher *ContainSubstringMatcher) Match(actual interface{}) (success bool, err error) { + actualString, ok := toString(actual) + if !ok { + return false, fmt.Errorf("ContainSubstring matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) + } + + return strings.Contains(actualString, matcher.stringToMatch()), nil +} + +func (matcher *ContainSubstringMatcher) stringToMatch() string { + stringToMatch := matcher.Substr + if len(matcher.Args) > 0 { + stringToMatch = fmt.Sprintf(matcher.Substr, matcher.Args...) + } + return stringToMatch +} + +func (matcher *ContainSubstringMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to contain substring", matcher.stringToMatch()) +} + +func (matcher *ContainSubstringMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to contain substring", matcher.stringToMatch()) +} diff --git a/vendor/github.com/onsi/gomega/matchers/equal_matcher.go b/vendor/github.com/onsi/gomega/matchers/equal_matcher.go new file mode 100644 index 0000000..befb7bd --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/equal_matcher.go @@ -0,0 +1,42 @@ +package matchers + +import ( + "bytes" + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type EqualMatcher struct { + Expected interface{} +} + +func (matcher *EqualMatcher) Match(actual interface{}) (success bool, err error) { + if actual == nil && matcher.Expected == nil { + return false, fmt.Errorf("Refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized.") + } + // Shortcut for byte slices. + // Comparing long byte slices with reflect.DeepEqual is very slow, + // so use bytes.Equal if actual and expected are both byte slices. + if actualByteSlice, ok := actual.([]byte); ok { + if expectedByteSlice, ok := matcher.Expected.([]byte); ok { + return bytes.Equal(actualByteSlice, expectedByteSlice), nil + } + } + return reflect.DeepEqual(actual, matcher.Expected), nil +} + +func (matcher *EqualMatcher) FailureMessage(actual interface{}) (message string) { + actualString, actualOK := actual.(string) + expectedString, expectedOK := matcher.Expected.(string) + if actualOK && expectedOK { + return format.MessageWithDiff(actualString, "to equal", expectedString) + } + + return format.Message(actual, "to equal", matcher.Expected) +} + +func (matcher *EqualMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to equal", matcher.Expected) +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go new file mode 100644 index 0000000..7ace93d --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go @@ -0,0 +1,28 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type HaveCapMatcher struct { + Count int +} + +func (matcher *HaveCapMatcher) Match(actual interface{}) (success bool, err error) { + length, ok := capOf(actual) + if !ok { + return false, fmt.Errorf("HaveCap matcher expects a array/channel/slice. Got:\n%s", format.Object(actual, 1)) + } + + return length == matcher.Count, nil +} + +func (matcher *HaveCapMatcher) FailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected\n%s\nto have capacity %d", format.Object(actual, 1), matcher.Count) +} + +func (matcher *HaveCapMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected\n%s\nnot to have capacity %d", format.Object(actual, 1), matcher.Count) +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_key_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_key_matcher.go new file mode 100644 index 0000000..ea5b923 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_key_matcher.go @@ -0,0 +1,54 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type HaveKeyMatcher struct { + Key interface{} +} + +func (matcher *HaveKeyMatcher) Match(actual interface{}) (success bool, err error) { + if !isMap(actual) { + return false, fmt.Errorf("HaveKey matcher expects a map. Got:%s", format.Object(actual, 1)) + } + + keyMatcher, keyIsMatcher := matcher.Key.(omegaMatcher) + if !keyIsMatcher { + keyMatcher = &EqualMatcher{Expected: matcher.Key} + } + + keys := reflect.ValueOf(actual).MapKeys() + for i := 0; i < len(keys); i++ { + success, err := keyMatcher.Match(keys[i].Interface()) + if err != nil { + return false, fmt.Errorf("HaveKey's key matcher failed with:\n%s%s", format.Indent, err.Error()) + } + if success { + return true, nil + } + } + + return false, nil +} + +func (matcher *HaveKeyMatcher) FailureMessage(actual interface{}) (message string) { + switch matcher.Key.(type) { + case omegaMatcher: + return format.Message(actual, "to have key matching", matcher.Key) + default: + return format.Message(actual, "to have key", matcher.Key) + } +} + +func (matcher *HaveKeyMatcher) NegatedFailureMessage(actual interface{}) (message string) { + switch matcher.Key.(type) { + case omegaMatcher: + return format.Message(actual, "not to have key matching", matcher.Key) + default: + return format.Message(actual, "not to have key", matcher.Key) + } +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go new file mode 100644 index 0000000..06355b1 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go @@ -0,0 +1,74 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type HaveKeyWithValueMatcher struct { + Key interface{} + Value interface{} +} + +func (matcher *HaveKeyWithValueMatcher) Match(actual interface{}) (success bool, err error) { + if !isMap(actual) { + return false, fmt.Errorf("HaveKeyWithValue matcher expects a map. Got:%s", format.Object(actual, 1)) + } + + keyMatcher, keyIsMatcher := matcher.Key.(omegaMatcher) + if !keyIsMatcher { + keyMatcher = &EqualMatcher{Expected: matcher.Key} + } + + valueMatcher, valueIsMatcher := matcher.Value.(omegaMatcher) + if !valueIsMatcher { + valueMatcher = &EqualMatcher{Expected: matcher.Value} + } + + keys := reflect.ValueOf(actual).MapKeys() + for i := 0; i < len(keys); i++ { + success, err := keyMatcher.Match(keys[i].Interface()) + if err != nil { + return false, fmt.Errorf("HaveKeyWithValue's key matcher failed with:\n%s%s", format.Indent, err.Error()) + } + if success { + actualValue := reflect.ValueOf(actual).MapIndex(keys[i]) + success, err := valueMatcher.Match(actualValue.Interface()) + if err != nil { + return false, fmt.Errorf("HaveKeyWithValue's value matcher failed with:\n%s%s", format.Indent, err.Error()) + } + return success, nil + } + } + + return false, nil +} + +func (matcher *HaveKeyWithValueMatcher) FailureMessage(actual interface{}) (message string) { + str := "to have {key: value}" + if _, ok := matcher.Key.(omegaMatcher); ok { + str += " matching" + } else if _, ok := matcher.Value.(omegaMatcher); ok { + str += " matching" + } + + expect := make(map[interface{}]interface{}, 1) + expect[matcher.Key] = matcher.Value + return format.Message(actual, str, expect) +} + +func (matcher *HaveKeyWithValueMatcher) NegatedFailureMessage(actual interface{}) (message string) { + kStr := "not to have key" + if _, ok := matcher.Key.(omegaMatcher); ok { + kStr = "not to have key matching" + } + + vStr := "or that key's value not be" + if _, ok := matcher.Value.(omegaMatcher); ok { + vStr = "or to have that key's value not matching" + } + + return format.Message(actual, kStr, matcher.Key, vStr, matcher.Value) +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go new file mode 100644 index 0000000..ee42761 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go @@ -0,0 +1,28 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type HaveLenMatcher struct { + Count int +} + +func (matcher *HaveLenMatcher) Match(actual interface{}) (success bool, err error) { + length, ok := lengthOf(actual) + if !ok { + return false, fmt.Errorf("HaveLen matcher expects a string/array/map/channel/slice. Got:\n%s", format.Object(actual, 1)) + } + + return length == matcher.Count, nil +} + +func (matcher *HaveLenMatcher) FailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected\n%s\nto have length %d", format.Object(actual, 1), matcher.Count) +} + +func (matcher *HaveLenMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected\n%s\nnot to have length %d", format.Object(actual, 1), matcher.Count) +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go new file mode 100644 index 0000000..ebdd717 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go @@ -0,0 +1,33 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type HaveOccurredMatcher struct { +} + +func (matcher *HaveOccurredMatcher) Match(actual interface{}) (success bool, err error) { + // is purely nil? + if actual == nil { + return false, nil + } + + // must be an 'error' type + if !isError(actual) { + return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) + } + + // must be non-nil (or a pointer to a non-nil) + return !isNil(actual), nil +} + +func (matcher *HaveOccurredMatcher) FailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected an error to have occurred. Got:\n%s", format.Object(actual, 1)) +} + +func (matcher *HaveOccurredMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected error:\n%s\n%s\n%s", format.Object(actual, 1), format.IndentString(actual.(error).Error(), 1), "not to have occurred") +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_prefix_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_prefix_matcher.go new file mode 100644 index 0000000..1d8e802 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_prefix_matcher.go @@ -0,0 +1,36 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type HavePrefixMatcher struct { + Prefix string + Args []interface{} +} + +func (matcher *HavePrefixMatcher) Match(actual interface{}) (success bool, err error) { + actualString, ok := toString(actual) + if !ok { + return false, fmt.Errorf("HavePrefix matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) + } + prefix := matcher.prefix() + return len(actualString) >= len(prefix) && actualString[0:len(prefix)] == prefix, nil +} + +func (matcher *HavePrefixMatcher) prefix() string { + if len(matcher.Args) > 0 { + return fmt.Sprintf(matcher.Prefix, matcher.Args...) + } + return matcher.Prefix +} + +func (matcher *HavePrefixMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to have prefix", matcher.prefix()) +} + +func (matcher *HavePrefixMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to have prefix", matcher.prefix()) +} diff --git a/vendor/github.com/onsi/gomega/matchers/have_suffix_matcher.go b/vendor/github.com/onsi/gomega/matchers/have_suffix_matcher.go new file mode 100644 index 0000000..40a3526 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/have_suffix_matcher.go @@ -0,0 +1,36 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type HaveSuffixMatcher struct { + Suffix string + Args []interface{} +} + +func (matcher *HaveSuffixMatcher) Match(actual interface{}) (success bool, err error) { + actualString, ok := toString(actual) + if !ok { + return false, fmt.Errorf("HaveSuffix matcher requires a string or stringer. Got:\n%s", format.Object(actual, 1)) + } + suffix := matcher.suffix() + return len(actualString) >= len(suffix) && actualString[len(actualString)-len(suffix):] == suffix, nil +} + +func (matcher *HaveSuffixMatcher) suffix() string { + if len(matcher.Args) > 0 { + return fmt.Sprintf(matcher.Suffix, matcher.Args...) + } + return matcher.Suffix +} + +func (matcher *HaveSuffixMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to have suffix", matcher.suffix()) +} + +func (matcher *HaveSuffixMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to have suffix", matcher.suffix()) +} diff --git a/vendor/github.com/onsi/gomega/matchers/match_error_matcher.go b/vendor/github.com/onsi/gomega/matchers/match_error_matcher.go new file mode 100644 index 0000000..07499ac --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/match_error_matcher.go @@ -0,0 +1,51 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type MatchErrorMatcher struct { + Expected interface{} +} + +func (matcher *MatchErrorMatcher) Match(actual interface{}) (success bool, err error) { + if isNil(actual) { + return false, fmt.Errorf("Expected an error, got nil") + } + + if !isError(actual) { + return false, fmt.Errorf("Expected an error. Got:\n%s", format.Object(actual, 1)) + } + + actualErr := actual.(error) + + if isError(matcher.Expected) { + return reflect.DeepEqual(actualErr, matcher.Expected), nil + } + + if isString(matcher.Expected) { + return actualErr.Error() == matcher.Expected, nil + } + + var subMatcher omegaMatcher + var hasSubMatcher bool + if matcher.Expected != nil { + subMatcher, hasSubMatcher = (matcher.Expected).(omegaMatcher) + if hasSubMatcher { + return subMatcher.Match(actualErr.Error()) + } + } + + return false, fmt.Errorf("MatchError must be passed an error, string, or Matcher that can match on strings. Got:\n%s", format.Object(matcher.Expected, 1)) +} + +func (matcher *MatchErrorMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to match error", matcher.Expected) +} + +func (matcher *MatchErrorMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to match error", matcher.Expected) +} diff --git a/vendor/github.com/onsi/gomega/matchers/match_json_matcher.go b/vendor/github.com/onsi/gomega/matchers/match_json_matcher.go new file mode 100644 index 0000000..499bb58 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/match_json_matcher.go @@ -0,0 +1,135 @@ +package matchers + +import ( + "bytes" + "encoding/json" + "fmt" + "reflect" + "strings" + + "github.com/onsi/gomega/format" +) + +type MatchJSONMatcher struct { + JSONToMatch interface{} + firstFailurePath []interface{} +} + +func (matcher *MatchJSONMatcher) Match(actual interface{}) (success bool, err error) { + actualString, expectedString, err := matcher.prettyPrint(actual) + if err != nil { + return false, err + } + + var aval interface{} + var eval interface{} + + // this is guarded by prettyPrint + json.Unmarshal([]byte(actualString), &aval) + json.Unmarshal([]byte(expectedString), &eval) + var equal bool + equal, matcher.firstFailurePath = deepEqual(aval, eval) + return equal, nil +} + +func (matcher *MatchJSONMatcher) FailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.prettyPrint(actual) + return formattedMessage(format.Message(actualString, "to match JSON of", expectedString), matcher.firstFailurePath) +} + +func (matcher *MatchJSONMatcher) NegatedFailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.prettyPrint(actual) + return formattedMessage(format.Message(actualString, "not to match JSON of", expectedString), matcher.firstFailurePath) +} + +func formattedMessage(comparisonMessage string, failurePath []interface{}) string { + var diffMessage string + if len(failurePath) == 0 { + diffMessage = "" + } else { + diffMessage = fmt.Sprintf("\n\nfirst mismatched key: %s", formattedFailurePath(failurePath)) + } + return fmt.Sprintf("%s%s", comparisonMessage, diffMessage) +} + +func formattedFailurePath(failurePath []interface{}) string { + formattedPaths := []string{} + for i := len(failurePath) - 1; i >= 0; i-- { + switch p := failurePath[i].(type) { + case int: + formattedPaths = append(formattedPaths, fmt.Sprintf(`[%d]`, p)) + default: + if i != len(failurePath)-1 { + formattedPaths = append(formattedPaths, ".") + } + formattedPaths = append(formattedPaths, fmt.Sprintf(`"%s"`, p)) + } + } + return strings.Join(formattedPaths, "") +} + +func (matcher *MatchJSONMatcher) prettyPrint(actual interface{}) (actualFormatted, expectedFormatted string, err error) { + actualString, ok := toString(actual) + if !ok { + return "", "", fmt.Errorf("MatchJSONMatcher matcher requires a string, stringer, or []byte. Got actual:\n%s", format.Object(actual, 1)) + } + expectedString, ok := toString(matcher.JSONToMatch) + if !ok { + return "", "", fmt.Errorf("MatchJSONMatcher matcher requires a string, stringer, or []byte. Got expected:\n%s", format.Object(matcher.JSONToMatch, 1)) + } + + abuf := new(bytes.Buffer) + ebuf := new(bytes.Buffer) + + if err := json.Indent(abuf, []byte(actualString), "", " "); err != nil { + return "", "", fmt.Errorf("Actual '%s' should be valid JSON, but it is not.\nUnderlying error:%s", actualString, err) + } + + if err := json.Indent(ebuf, []byte(expectedString), "", " "); err != nil { + return "", "", fmt.Errorf("Expected '%s' should be valid JSON, but it is not.\nUnderlying error:%s", expectedString, err) + } + + return abuf.String(), ebuf.String(), nil +} + +func deepEqual(a interface{}, b interface{}) (bool, []interface{}) { + var errorPath []interface{} + if reflect.TypeOf(a) != reflect.TypeOf(b) { + return false, errorPath + } + + switch a.(type) { + case []interface{}: + if len(a.([]interface{})) != len(b.([]interface{})) { + return false, errorPath + } + + for i, v := range a.([]interface{}) { + elementEqual, keyPath := deepEqual(v, b.([]interface{})[i]) + if !elementEqual { + return false, append(keyPath, i) + } + } + return true, errorPath + + case map[string]interface{}: + if len(a.(map[string]interface{})) != len(b.(map[string]interface{})) { + return false, errorPath + } + + for k, v1 := range a.(map[string]interface{}) { + v2, ok := b.(map[string]interface{})[k] + if !ok { + return false, errorPath + } + elementEqual, keyPath := deepEqual(v1, v2) + if !elementEqual { + return false, append(keyPath, k) + } + } + return true, errorPath + + default: + return a == b, errorPath + } +} diff --git a/vendor/github.com/onsi/gomega/matchers/match_regexp_matcher.go b/vendor/github.com/onsi/gomega/matchers/match_regexp_matcher.go new file mode 100644 index 0000000..adac5db --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/match_regexp_matcher.go @@ -0,0 +1,43 @@ +package matchers + +import ( + "fmt" + "regexp" + + "github.com/onsi/gomega/format" +) + +type MatchRegexpMatcher struct { + Regexp string + Args []interface{} +} + +func (matcher *MatchRegexpMatcher) Match(actual interface{}) (success bool, err error) { + actualString, ok := toString(actual) + if !ok { + return false, fmt.Errorf("RegExp matcher requires a string or stringer.\nGot:%s", format.Object(actual, 1)) + } + + match, err := regexp.Match(matcher.regexp(), []byte(actualString)) + if err != nil { + return false, fmt.Errorf("RegExp match failed to compile with error:\n\t%s", err.Error()) + } + + return match, nil +} + +func (matcher *MatchRegexpMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to match regular expression", matcher.regexp()) +} + +func (matcher *MatchRegexpMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, "not to match regular expression", matcher.regexp()) +} + +func (matcher *MatchRegexpMatcher) regexp() string { + re := matcher.Regexp + if len(matcher.Args) > 0 { + re = fmt.Sprintf(matcher.Regexp, matcher.Args...) + } + return re +} diff --git a/vendor/github.com/onsi/gomega/matchers/match_xml_matcher.go b/vendor/github.com/onsi/gomega/matchers/match_xml_matcher.go new file mode 100644 index 0000000..3b412ce --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/match_xml_matcher.go @@ -0,0 +1,134 @@ +package matchers + +import ( + "bytes" + "encoding/xml" + "errors" + "fmt" + "io" + "reflect" + "sort" + "strings" + + "github.com/onsi/gomega/format" + "golang.org/x/net/html/charset" +) + +type MatchXMLMatcher struct { + XMLToMatch interface{} +} + +func (matcher *MatchXMLMatcher) Match(actual interface{}) (success bool, err error) { + actualString, expectedString, err := matcher.formattedPrint(actual) + if err != nil { + return false, err + } + + aval, err := parseXmlContent(actualString) + if err != nil { + return false, fmt.Errorf("Actual '%s' should be valid XML, but it is not.\nUnderlying error:%s", actualString, err) + } + + eval, err := parseXmlContent(expectedString) + if err != nil { + return false, fmt.Errorf("Expected '%s' should be valid XML, but it is not.\nUnderlying error:%s", expectedString, err) + } + + return reflect.DeepEqual(aval, eval), nil +} + +func (matcher *MatchXMLMatcher) FailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.formattedPrint(actual) + return fmt.Sprintf("Expected\n%s\nto match XML of\n%s", actualString, expectedString) +} + +func (matcher *MatchXMLMatcher) NegatedFailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.formattedPrint(actual) + return fmt.Sprintf("Expected\n%s\nnot to match XML of\n%s", actualString, expectedString) +} + +func (matcher *MatchXMLMatcher) formattedPrint(actual interface{}) (actualString, expectedString string, err error) { + var ok bool + actualString, ok = toString(actual) + if !ok { + return "", "", fmt.Errorf("MatchXMLMatcher matcher requires a string, stringer, or []byte. Got actual:\n%s", format.Object(actual, 1)) + } + expectedString, ok = toString(matcher.XMLToMatch) + if !ok { + return "", "", fmt.Errorf("MatchXMLMatcher matcher requires a string, stringer, or []byte. Got expected:\n%s", format.Object(matcher.XMLToMatch, 1)) + } + return actualString, expectedString, nil +} + +func parseXmlContent(content string) (*xmlNode, error) { + allNodes := []*xmlNode{} + + dec := newXmlDecoder(strings.NewReader(content)) + for { + tok, err := dec.Token() + if err != nil { + if err == io.EOF { + break + } + return nil, fmt.Errorf("failed to decode next token: %v", err) + } + + lastNodeIndex := len(allNodes) - 1 + var lastNode *xmlNode + if len(allNodes) > 0 { + lastNode = allNodes[lastNodeIndex] + } else { + lastNode = &xmlNode{} + } + + switch tok := tok.(type) { + case xml.StartElement: + attrs := attributesSlice(tok.Attr) + sort.Sort(attrs) + allNodes = append(allNodes, &xmlNode{XMLName: tok.Name, XMLAttr: tok.Attr}) + case xml.EndElement: + if len(allNodes) > 1 { + allNodes[lastNodeIndex-1].Nodes = append(allNodes[lastNodeIndex-1].Nodes, lastNode) + allNodes = allNodes[:lastNodeIndex] + } + case xml.CharData: + lastNode.Content = append(lastNode.Content, tok.Copy()...) + case xml.Comment: + lastNode.Comments = append(lastNode.Comments, tok.Copy()) + case xml.ProcInst: + lastNode.ProcInsts = append(lastNode.ProcInsts, tok.Copy()) + } + } + + if len(allNodes) == 0 { + return nil, errors.New("found no nodes") + } + firstNode := allNodes[0] + trimParentNodesContentSpaces(firstNode) + + return firstNode, nil +} + +func newXmlDecoder(reader io.Reader) *xml.Decoder { + dec := xml.NewDecoder(reader) + dec.CharsetReader = charset.NewReaderLabel + return dec +} + +func trimParentNodesContentSpaces(node *xmlNode) { + if len(node.Nodes) > 0 { + node.Content = bytes.TrimSpace(node.Content) + for _, childNode := range node.Nodes { + trimParentNodesContentSpaces(childNode) + } + } +} + +type xmlNode struct { + XMLName xml.Name + Comments []xml.Comment + ProcInsts []xml.ProcInst + XMLAttr []xml.Attr + Content []byte + Nodes []*xmlNode +} diff --git a/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go b/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go new file mode 100644 index 0000000..69fb51a --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go @@ -0,0 +1,74 @@ +package matchers + +import ( + "fmt" + "reflect" + "strings" + + "github.com/onsi/gomega/format" + "gopkg.in/yaml.v2" +) + +type MatchYAMLMatcher struct { + YAMLToMatch interface{} +} + +func (matcher *MatchYAMLMatcher) Match(actual interface{}) (success bool, err error) { + actualString, expectedString, err := matcher.toStrings(actual) + if err != nil { + return false, err + } + + var aval interface{} + var eval interface{} + + if err := yaml.Unmarshal([]byte(actualString), &aval); err != nil { + return false, fmt.Errorf("Actual '%s' should be valid YAML, but it is not.\nUnderlying error:%s", actualString, err) + } + if err := yaml.Unmarshal([]byte(expectedString), &eval); err != nil { + return false, fmt.Errorf("Expected '%s' should be valid YAML, but it is not.\nUnderlying error:%s", expectedString, err) + } + + return reflect.DeepEqual(aval, eval), nil +} + +func (matcher *MatchYAMLMatcher) FailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.toNormalisedStrings(actual) + return format.Message(actualString, "to match YAML of", expectedString) +} + +func (matcher *MatchYAMLMatcher) NegatedFailureMessage(actual interface{}) (message string) { + actualString, expectedString, _ := matcher.toNormalisedStrings(actual) + return format.Message(actualString, "not to match YAML of", expectedString) +} + +func (matcher *MatchYAMLMatcher) toNormalisedStrings(actual interface{}) (actualFormatted, expectedFormatted string, err error) { + actualString, expectedString, err := matcher.toStrings(actual) + return normalise(actualString), normalise(expectedString), err +} + +func normalise(input string) string { + var val interface{} + err := yaml.Unmarshal([]byte(input), &val) + if err != nil { + panic(err) // guarded by Match + } + output, err := yaml.Marshal(val) + if err != nil { + panic(err) // guarded by Unmarshal + } + return strings.TrimSpace(string(output)) +} + +func (matcher *MatchYAMLMatcher) toStrings(actual interface{}) (actualFormatted, expectedFormatted string, err error) { + actualString, ok := toString(actual) + if !ok { + return "", "", fmt.Errorf("MatchYAMLMatcher matcher requires a string, stringer, or []byte. Got actual:\n%s", format.Object(actual, 1)) + } + expectedString, ok := toString(matcher.YAMLToMatch) + if !ok { + return "", "", fmt.Errorf("MatchYAMLMatcher matcher requires a string, stringer, or []byte. Got expected:\n%s", format.Object(matcher.YAMLToMatch, 1)) + } + + return actualString, expectedString, nil +} diff --git a/vendor/github.com/onsi/gomega/matchers/not.go b/vendor/github.com/onsi/gomega/matchers/not.go new file mode 100644 index 0000000..2c91670 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/not.go @@ -0,0 +1,30 @@ +package matchers + +import ( + "github.com/onsi/gomega/internal/oraclematcher" + "github.com/onsi/gomega/types" +) + +type NotMatcher struct { + Matcher types.GomegaMatcher +} + +func (m *NotMatcher) Match(actual interface{}) (bool, error) { + success, err := m.Matcher.Match(actual) + if err != nil { + return false, err + } + return !success, nil +} + +func (m *NotMatcher) FailureMessage(actual interface{}) (message string) { + return m.Matcher.NegatedFailureMessage(actual) // works beautifully +} + +func (m *NotMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return m.Matcher.FailureMessage(actual) // works beautifully +} + +func (m *NotMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { + return oraclematcher.MatchMayChangeInTheFuture(m.Matcher, actual) // just return m.Matcher's value +} diff --git a/vendor/github.com/onsi/gomega/matchers/or.go b/vendor/github.com/onsi/gomega/matchers/or.go new file mode 100644 index 0000000..3bf7998 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/or.go @@ -0,0 +1,67 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" + "github.com/onsi/gomega/internal/oraclematcher" + "github.com/onsi/gomega/types" +) + +type OrMatcher struct { + Matchers []types.GomegaMatcher + + // state + firstSuccessfulMatcher types.GomegaMatcher +} + +func (m *OrMatcher) Match(actual interface{}) (success bool, err error) { + m.firstSuccessfulMatcher = nil + for _, matcher := range m.Matchers { + success, err := matcher.Match(actual) + if err != nil { + return false, err + } + if success { + m.firstSuccessfulMatcher = matcher + return true, nil + } + } + return false, nil +} + +func (m *OrMatcher) FailureMessage(actual interface{}) (message string) { + // not the most beautiful list of matchers, but not bad either... + return format.Message(actual, fmt.Sprintf("To satisfy at least one of these matchers: %s", m.Matchers)) +} + +func (m *OrMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return m.firstSuccessfulMatcher.NegatedFailureMessage(actual) +} + +func (m *OrMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { + /* + Example with 3 matchers: A, B, C + + Match evaluates them: F, T, => T + So match is currently T, what should MatchMayChangeInTheFuture() return? + Seems like it only depends on B, since currently B MUST change to allow the result to become F + + Match eval: F, F, F => F + So match is currently F, what should MatchMayChangeInTheFuture() return? + Seems to depend on ANY of them being able to change to T. + */ + + if m.firstSuccessfulMatcher != nil { + // one of the matchers succeeded.. it must be able to change in order to affect the result + return oraclematcher.MatchMayChangeInTheFuture(m.firstSuccessfulMatcher, actual) + } else { + // so all matchers failed.. Any one of them changing would change the result. + for _, matcher := range m.Matchers { + if oraclematcher.MatchMayChangeInTheFuture(matcher, actual) { + return true + } + } + return false // none of were going to change + } +} diff --git a/vendor/github.com/onsi/gomega/matchers/panic_matcher.go b/vendor/github.com/onsi/gomega/matchers/panic_matcher.go new file mode 100644 index 0000000..640f4db --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/panic_matcher.go @@ -0,0 +1,46 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type PanicMatcher struct { + object interface{} +} + +func (matcher *PanicMatcher) Match(actual interface{}) (success bool, err error) { + if actual == nil { + return false, fmt.Errorf("PanicMatcher expects a non-nil actual.") + } + + actualType := reflect.TypeOf(actual) + if actualType.Kind() != reflect.Func { + return false, fmt.Errorf("PanicMatcher expects a function. Got:\n%s", format.Object(actual, 1)) + } + if !(actualType.NumIn() == 0 && actualType.NumOut() == 0) { + return false, fmt.Errorf("PanicMatcher expects a function with no arguments and no return value. Got:\n%s", format.Object(actual, 1)) + } + + success = false + defer func() { + if e := recover(); e != nil { + matcher.object = e + success = true + } + }() + + reflect.ValueOf(actual).Call([]reflect.Value{}) + + return +} + +func (matcher *PanicMatcher) FailureMessage(actual interface{}) (message string) { + return format.Message(actual, "to panic") +} + +func (matcher *PanicMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return format.Message(actual, fmt.Sprintf("not to panic, but panicked with\n%s", format.Object(matcher.object, 1))) +} diff --git a/vendor/github.com/onsi/gomega/matchers/receive_matcher.go b/vendor/github.com/onsi/gomega/matchers/receive_matcher.go new file mode 100644 index 0000000..74e9e7e --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/receive_matcher.go @@ -0,0 +1,122 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/format" +) + +type ReceiveMatcher struct { + Arg interface{} + receivedValue reflect.Value + channelClosed bool +} + +func (matcher *ReceiveMatcher) Match(actual interface{}) (success bool, err error) { + if !isChan(actual) { + return false, fmt.Errorf("ReceiveMatcher expects a channel. Got:\n%s", format.Object(actual, 1)) + } + + channelType := reflect.TypeOf(actual) + channelValue := reflect.ValueOf(actual) + + if channelType.ChanDir() == reflect.SendDir { + return false, fmt.Errorf("ReceiveMatcher matcher cannot be passed a send-only channel. Got:\n%s", format.Object(actual, 1)) + } + + var subMatcher omegaMatcher + var hasSubMatcher bool + + if matcher.Arg != nil { + subMatcher, hasSubMatcher = (matcher.Arg).(omegaMatcher) + if !hasSubMatcher { + argType := reflect.TypeOf(matcher.Arg) + if argType.Kind() != reflect.Ptr { + return false, fmt.Errorf("Cannot assign a value from the channel:\n%s\nTo:\n%s\nYou need to pass a pointer!", format.Object(actual, 1), format.Object(matcher.Arg, 1)) + } + + assignable := channelType.Elem().AssignableTo(argType.Elem()) + if !assignable { + return false, fmt.Errorf("Cannot assign a value from the channel:\n%s\nTo:\n%s", format.Object(actual, 1), format.Object(matcher.Arg, 1)) + } + } + } + + winnerIndex, value, open := reflect.Select([]reflect.SelectCase{ + reflect.SelectCase{Dir: reflect.SelectRecv, Chan: channelValue}, + reflect.SelectCase{Dir: reflect.SelectDefault}, + }) + + var closed bool + var didReceive bool + if winnerIndex == 0 { + closed = !open + didReceive = open + } + matcher.channelClosed = closed + + if closed { + return false, nil + } + + if hasSubMatcher { + if didReceive { + matcher.receivedValue = value + return subMatcher.Match(matcher.receivedValue.Interface()) + } + return false, nil + } + + if didReceive { + if matcher.Arg != nil { + outValue := reflect.ValueOf(matcher.Arg) + reflect.Indirect(outValue).Set(value) + } + + return true, nil + } + return false, nil +} + +func (matcher *ReceiveMatcher) FailureMessage(actual interface{}) (message string) { + subMatcher, hasSubMatcher := (matcher.Arg).(omegaMatcher) + + closedAddendum := "" + if matcher.channelClosed { + closedAddendum = " The channel is closed." + } + + if hasSubMatcher { + if matcher.receivedValue.IsValid() { + return subMatcher.FailureMessage(matcher.receivedValue.Interface()) + } + return "When passed a matcher, ReceiveMatcher's channel *must* receive something." + } + return format.Message(actual, "to receive something."+closedAddendum) +} + +func (matcher *ReceiveMatcher) NegatedFailureMessage(actual interface{}) (message string) { + subMatcher, hasSubMatcher := (matcher.Arg).(omegaMatcher) + + closedAddendum := "" + if matcher.channelClosed { + closedAddendum = " The channel is closed." + } + + if hasSubMatcher { + if matcher.receivedValue.IsValid() { + return subMatcher.NegatedFailureMessage(matcher.receivedValue.Interface()) + } + return "When passed a matcher, ReceiveMatcher's channel *must* receive something." + } + return format.Message(actual, "not to receive anything."+closedAddendum) +} + +func (matcher *ReceiveMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { + if !isChan(actual) { + return false + } + + return !matcher.channelClosed +} diff --git a/vendor/github.com/onsi/gomega/matchers/succeed_matcher.go b/vendor/github.com/onsi/gomega/matchers/succeed_matcher.go new file mode 100644 index 0000000..721ed55 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/succeed_matcher.go @@ -0,0 +1,33 @@ +package matchers + +import ( + "fmt" + + "github.com/onsi/gomega/format" +) + +type SucceedMatcher struct { +} + +func (matcher *SucceedMatcher) Match(actual interface{}) (success bool, err error) { + // is purely nil? + if actual == nil { + return true, nil + } + + // must be an 'error' type + if !isError(actual) { + return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) + } + + // must be nil (or a pointer to a nil) + return isNil(actual), nil +} + +func (matcher *SucceedMatcher) FailureMessage(actual interface{}) (message string) { + return fmt.Sprintf("Expected success, but got an error:\n%s\n%s", format.Object(actual, 1), format.IndentString(actual.(error).Error(), 1)) +} + +func (matcher *SucceedMatcher) NegatedFailureMessage(actual interface{}) (message string) { + return "Expected failure, but got no error." +} diff --git a/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraph.go b/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraph.go new file mode 100644 index 0000000..81b3771 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraph.go @@ -0,0 +1,41 @@ +package bipartitegraph + +import "errors" +import "fmt" + +import . "github.com/onsi/gomega/matchers/support/goraph/node" +import . "github.com/onsi/gomega/matchers/support/goraph/edge" + +type BipartiteGraph struct { + Left NodeOrderedSet + Right NodeOrderedSet + Edges EdgeSet +} + +func NewBipartiteGraph(leftValues, rightValues []interface{}, neighbours func(interface{}, interface{}) (bool, error)) (*BipartiteGraph, error) { + left := NodeOrderedSet{} + for i, _ := range leftValues { + left = append(left, Node{Id: i}) + } + + right := NodeOrderedSet{} + for j, _ := range rightValues { + right = append(right, Node{Id: j + len(left)}) + } + + edges := EdgeSet{} + for i, leftValue := range leftValues { + for j, rightValue := range rightValues { + neighbours, err := neighbours(leftValue, rightValue) + if err != nil { + return nil, errors.New(fmt.Sprintf("error determining adjacency for %v and %v: %s", leftValue, rightValue, err.Error())) + } + + if neighbours { + edges = append(edges, Edge{Node1: left[i], Node2: right[j]}) + } + } + } + + return &BipartiteGraph{left, right, edges}, nil +} diff --git a/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraphmatching.go b/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraphmatching.go new file mode 100644 index 0000000..8181f43 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/support/goraph/bipartitegraph/bipartitegraphmatching.go @@ -0,0 +1,159 @@ +package bipartitegraph + +import . "github.com/onsi/gomega/matchers/support/goraph/node" +import . "github.com/onsi/gomega/matchers/support/goraph/edge" +import "github.com/onsi/gomega/matchers/support/goraph/util" + +func (bg *BipartiteGraph) LargestMatching() (matching EdgeSet) { + paths := bg.maximalDisjointSLAPCollection(matching) + + for len(paths) > 0 { + for _, path := range paths { + matching = matching.SymmetricDifference(path) + } + paths = bg.maximalDisjointSLAPCollection(matching) + } + + return +} + +func (bg *BipartiteGraph) maximalDisjointSLAPCollection(matching EdgeSet) (result []EdgeSet) { + guideLayers := bg.createSLAPGuideLayers(matching) + if len(guideLayers) == 0 { + return + } + + used := make(map[Node]bool) + + for _, u := range guideLayers[len(guideLayers)-1] { + slap, found := bg.findDisjointSLAP(u, matching, guideLayers, used) + if found { + for _, edge := range slap { + used[edge.Node1] = true + used[edge.Node2] = true + } + result = append(result, slap) + } + } + + return +} + +func (bg *BipartiteGraph) findDisjointSLAP( + start Node, + matching EdgeSet, + guideLayers []NodeOrderedSet, + used map[Node]bool, +) ([]Edge, bool) { + return bg.findDisjointSLAPHelper(start, EdgeSet{}, len(guideLayers)-1, matching, guideLayers, used) +} + +func (bg *BipartiteGraph) findDisjointSLAPHelper( + currentNode Node, + currentSLAP EdgeSet, + currentLevel int, + matching EdgeSet, + guideLayers []NodeOrderedSet, + used map[Node]bool, +) (EdgeSet, bool) { + used[currentNode] = true + + if currentLevel == 0 { + return currentSLAP, true + } + + for _, nextNode := range guideLayers[currentLevel-1] { + if used[nextNode] { + continue + } + + edge, found := bg.Edges.FindByNodes(currentNode, nextNode) + if !found { + continue + } + + if matching.Contains(edge) == util.Odd(currentLevel) { + continue + } + + currentSLAP = append(currentSLAP, edge) + slap, found := bg.findDisjointSLAPHelper(nextNode, currentSLAP, currentLevel-1, matching, guideLayers, used) + if found { + return slap, true + } + currentSLAP = currentSLAP[:len(currentSLAP)-1] + } + + used[currentNode] = false + return nil, false +} + +func (bg *BipartiteGraph) createSLAPGuideLayers(matching EdgeSet) (guideLayers []NodeOrderedSet) { + used := make(map[Node]bool) + currentLayer := NodeOrderedSet{} + + for _, node := range bg.Left { + if matching.Free(node) { + used[node] = true + currentLayer = append(currentLayer, node) + } + } + + if len(currentLayer) == 0 { + return []NodeOrderedSet{} + } + guideLayers = append(guideLayers, currentLayer) + + done := false + + for !done { + lastLayer := currentLayer + currentLayer = NodeOrderedSet{} + + if util.Odd(len(guideLayers)) { + for _, leftNode := range lastLayer { + for _, rightNode := range bg.Right { + if used[rightNode] { + continue + } + + edge, found := bg.Edges.FindByNodes(leftNode, rightNode) + if !found || matching.Contains(edge) { + continue + } + + currentLayer = append(currentLayer, rightNode) + used[rightNode] = true + + if matching.Free(rightNode) { + done = true + } + } + } + } else { + for _, rightNode := range lastLayer { + for _, leftNode := range bg.Left { + if used[leftNode] { + continue + } + + edge, found := bg.Edges.FindByNodes(leftNode, rightNode) + if !found || !matching.Contains(edge) { + continue + } + + currentLayer = append(currentLayer, leftNode) + used[leftNode] = true + } + } + + } + + if len(currentLayer) == 0 { + return []NodeOrderedSet{} + } + guideLayers = append(guideLayers, currentLayer) + } + + return +} diff --git a/vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go b/vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go new file mode 100644 index 0000000..4fd15cc --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go @@ -0,0 +1,61 @@ +package edge + +import . "github.com/onsi/gomega/matchers/support/goraph/node" + +type Edge struct { + Node1 Node + Node2 Node +} + +type EdgeSet []Edge + +func (ec EdgeSet) Free(node Node) bool { + for _, e := range ec { + if e.Node1 == node || e.Node2 == node { + return false + } + } + + return true +} + +func (ec EdgeSet) Contains(edge Edge) bool { + for _, e := range ec { + if e == edge { + return true + } + } + + return false +} + +func (ec EdgeSet) FindByNodes(node1, node2 Node) (Edge, bool) { + for _, e := range ec { + if (e.Node1 == node1 && e.Node2 == node2) || (e.Node1 == node2 && e.Node2 == node1) { + return e, true + } + } + + return Edge{}, false +} + +func (ec EdgeSet) SymmetricDifference(ec2 EdgeSet) EdgeSet { + edgesToInclude := make(map[Edge]bool) + + for _, e := range ec { + edgesToInclude[e] = true + } + + for _, e := range ec2 { + edgesToInclude[e] = !edgesToInclude[e] + } + + result := EdgeSet{} + for e, include := range edgesToInclude { + if include { + result = append(result, e) + } + } + + return result +} diff --git a/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go b/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go new file mode 100644 index 0000000..800c2ea --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go @@ -0,0 +1,7 @@ +package node + +type Node struct { + Id int +} + +type NodeOrderedSet []Node diff --git a/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go b/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go new file mode 100644 index 0000000..d76a1ee --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go @@ -0,0 +1,7 @@ +package util + +import "math" + +func Odd(n int) bool { + return math.Mod(float64(n), 2.0) == 1.0 +} diff --git a/vendor/github.com/onsi/gomega/matchers/type_support.go b/vendor/github.com/onsi/gomega/matchers/type_support.go new file mode 100644 index 0000000..b05a5e7 --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/type_support.go @@ -0,0 +1,173 @@ +/* +Gomega matchers + +This package implements the Gomega matchers and does not typically need to be imported. +See the docs for Gomega for documentation on the matchers + +http://onsi.github.io/gomega/ +*/ +package matchers + +import ( + "fmt" + "reflect" +) + +type omegaMatcher interface { + Match(actual interface{}) (success bool, err error) + FailureMessage(actual interface{}) (message string) + NegatedFailureMessage(actual interface{}) (message string) +} + +func isBool(a interface{}) bool { + return reflect.TypeOf(a).Kind() == reflect.Bool +} + +func isNumber(a interface{}) bool { + if a == nil { + return false + } + kind := reflect.TypeOf(a).Kind() + return reflect.Int <= kind && kind <= reflect.Float64 +} + +func isInteger(a interface{}) bool { + kind := reflect.TypeOf(a).Kind() + return reflect.Int <= kind && kind <= reflect.Int64 +} + +func isUnsignedInteger(a interface{}) bool { + kind := reflect.TypeOf(a).Kind() + return reflect.Uint <= kind && kind <= reflect.Uint64 +} + +func isFloat(a interface{}) bool { + kind := reflect.TypeOf(a).Kind() + return reflect.Float32 <= kind && kind <= reflect.Float64 +} + +func toInteger(a interface{}) int64 { + if isInteger(a) { + return reflect.ValueOf(a).Int() + } else if isUnsignedInteger(a) { + return int64(reflect.ValueOf(a).Uint()) + } else if isFloat(a) { + return int64(reflect.ValueOf(a).Float()) + } + panic(fmt.Sprintf("Expected a number! Got <%T> %#v", a, a)) +} + +func toUnsignedInteger(a interface{}) uint64 { + if isInteger(a) { + return uint64(reflect.ValueOf(a).Int()) + } else if isUnsignedInteger(a) { + return reflect.ValueOf(a).Uint() + } else if isFloat(a) { + return uint64(reflect.ValueOf(a).Float()) + } + panic(fmt.Sprintf("Expected a number! Got <%T> %#v", a, a)) +} + +func toFloat(a interface{}) float64 { + if isInteger(a) { + return float64(reflect.ValueOf(a).Int()) + } else if isUnsignedInteger(a) { + return float64(reflect.ValueOf(a).Uint()) + } else if isFloat(a) { + return reflect.ValueOf(a).Float() + } + panic(fmt.Sprintf("Expected a number! Got <%T> %#v", a, a)) +} + +func isError(a interface{}) bool { + _, ok := a.(error) + return ok +} + +func isChan(a interface{}) bool { + if isNil(a) { + return false + } + return reflect.TypeOf(a).Kind() == reflect.Chan +} + +func isMap(a interface{}) bool { + if a == nil { + return false + } + return reflect.TypeOf(a).Kind() == reflect.Map +} + +func isArrayOrSlice(a interface{}) bool { + if a == nil { + return false + } + switch reflect.TypeOf(a).Kind() { + case reflect.Array, reflect.Slice: + return true + default: + return false + } +} + +func isString(a interface{}) bool { + if a == nil { + return false + } + return reflect.TypeOf(a).Kind() == reflect.String +} + +func toString(a interface{}) (string, bool) { + aString, isString := a.(string) + if isString { + return aString, true + } + + aBytes, isBytes := a.([]byte) + if isBytes { + return string(aBytes), true + } + + aStringer, isStringer := a.(fmt.Stringer) + if isStringer { + return aStringer.String(), true + } + + return "", false +} + +func lengthOf(a interface{}) (int, bool) { + if a == nil { + return 0, false + } + switch reflect.TypeOf(a).Kind() { + case reflect.Map, reflect.Array, reflect.String, reflect.Chan, reflect.Slice: + return reflect.ValueOf(a).Len(), true + default: + return 0, false + } +} +func capOf(a interface{}) (int, bool) { + if a == nil { + return 0, false + } + switch reflect.TypeOf(a).Kind() { + case reflect.Array, reflect.Chan, reflect.Slice: + return reflect.ValueOf(a).Cap(), true + default: + return 0, false + } +} + +func isNil(a interface{}) bool { + if a == nil { + return true + } + + switch reflect.TypeOf(a).Kind() { + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return reflect.ValueOf(a).IsNil() + } + + return false +} diff --git a/vendor/github.com/onsi/gomega/matchers/with_transform.go b/vendor/github.com/onsi/gomega/matchers/with_transform.go new file mode 100644 index 0000000..8e58d8a --- /dev/null +++ b/vendor/github.com/onsi/gomega/matchers/with_transform.go @@ -0,0 +1,72 @@ +package matchers + +import ( + "fmt" + "reflect" + + "github.com/onsi/gomega/internal/oraclematcher" + "github.com/onsi/gomega/types" +) + +type WithTransformMatcher struct { + // input + Transform interface{} // must be a function of one parameter that returns one value + Matcher types.GomegaMatcher + + // cached value + transformArgType reflect.Type + + // state + transformedValue interface{} +} + +func NewWithTransformMatcher(transform interface{}, matcher types.GomegaMatcher) *WithTransformMatcher { + if transform == nil { + panic("transform function cannot be nil") + } + txType := reflect.TypeOf(transform) + if txType.NumIn() != 1 { + panic("transform function must have 1 argument") + } + if txType.NumOut() != 1 { + panic("transform function must have 1 return value") + } + + return &WithTransformMatcher{ + Transform: transform, + Matcher: matcher, + transformArgType: reflect.TypeOf(transform).In(0), + } +} + +func (m *WithTransformMatcher) Match(actual interface{}) (bool, error) { + // return error if actual's type is incompatible with Transform function's argument type + actualType := reflect.TypeOf(actual) + if !actualType.AssignableTo(m.transformArgType) { + return false, fmt.Errorf("Transform function expects '%s' but we have '%s'", m.transformArgType, actualType) + } + + // call the Transform function with `actual` + fn := reflect.ValueOf(m.Transform) + result := fn.Call([]reflect.Value{reflect.ValueOf(actual)}) + m.transformedValue = result[0].Interface() // expect exactly one value + + return m.Matcher.Match(m.transformedValue) +} + +func (m *WithTransformMatcher) FailureMessage(_ interface{}) (message string) { + return m.Matcher.FailureMessage(m.transformedValue) +} + +func (m *WithTransformMatcher) NegatedFailureMessage(_ interface{}) (message string) { + return m.Matcher.NegatedFailureMessage(m.transformedValue) +} + +func (m *WithTransformMatcher) MatchMayChangeInTheFuture(_ interface{}) bool { + // TODO: Maybe this should always just return true? (Only an issue for non-deterministic transformers.) + // + // Querying the next matcher is fine if the transformer always will return the same value. + // But if the transformer is non-deterministic and returns a different value each time, then there + // is no point in querying the next matcher, since it can only comment on the last transformed value. + return oraclematcher.MatchMayChangeInTheFuture(m.Matcher, m.transformedValue) +} diff --git a/vendor/github.com/onsi/gomega/types/types.go b/vendor/github.com/onsi/gomega/types/types.go new file mode 100644 index 0000000..a83b401 --- /dev/null +++ b/vendor/github.com/onsi/gomega/types/types.go @@ -0,0 +1,17 @@ +package types + +type GomegaFailHandler func(message string, callerSkip ...int) + +//A simple *testing.T interface wrapper +type GomegaTestingT interface { + Fatalf(format string, args ...interface{}) +} + +//All Gomega matchers must implement the GomegaMatcher interface +// +//For details on writing custom matchers, check out: http://onsi.github.io/gomega/#adding_your_own_matchers +type GomegaMatcher interface { + Match(actual interface{}) (success bool, err error) + FailureMessage(actual interface{}) (message string) + NegatedFailureMessage(actual interface{}) (message string) +} diff --git a/vendor/golang.org/x/crypto/ssh/LICENSE b/vendor/golang.org/x/crypto/ssh/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/crypto/ssh/terminal/LICENSE b/vendor/golang.org/x/crypto/ssh/terminal/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/crypto/ssh/terminal/terminal.go b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go new file mode 100644 index 0000000..741eeb1 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go @@ -0,0 +1,892 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +import ( + "bytes" + "io" + "sync" + "unicode/utf8" +) + +// EscapeCodes contains escape sequences that can be written to the terminal in +// order to achieve different styles of text. +type EscapeCodes struct { + // Foreground colors + Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte + + // Reset all attributes + Reset []byte +} + +var vt100EscapeCodes = EscapeCodes{ + Black: []byte{keyEscape, '[', '3', '0', 'm'}, + Red: []byte{keyEscape, '[', '3', '1', 'm'}, + Green: []byte{keyEscape, '[', '3', '2', 'm'}, + Yellow: []byte{keyEscape, '[', '3', '3', 'm'}, + Blue: []byte{keyEscape, '[', '3', '4', 'm'}, + Magenta: []byte{keyEscape, '[', '3', '5', 'm'}, + Cyan: []byte{keyEscape, '[', '3', '6', 'm'}, + White: []byte{keyEscape, '[', '3', '7', 'm'}, + + Reset: []byte{keyEscape, '[', '0', 'm'}, +} + +// Terminal contains the state for running a VT100 terminal that is capable of +// reading lines of input. +type Terminal struct { + // AutoCompleteCallback, if non-null, is called for each keypress with + // the full input line and the current position of the cursor (in + // bytes, as an index into |line|). If it returns ok=false, the key + // press is processed normally. Otherwise it returns a replacement line + // and the new cursor position. + AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool) + + // Escape contains a pointer to the escape codes for this terminal. + // It's always a valid pointer, although the escape codes themselves + // may be empty if the terminal doesn't support them. + Escape *EscapeCodes + + // lock protects the terminal and the state in this object from + // concurrent processing of a key press and a Write() call. + lock sync.Mutex + + c io.ReadWriter + prompt []rune + + // line is the current line being entered. + line []rune + // pos is the logical position of the cursor in line + pos int + // echo is true if local echo is enabled + echo bool + // pasteActive is true iff there is a bracketed paste operation in + // progress. + pasteActive bool + + // cursorX contains the current X value of the cursor where the left + // edge is 0. cursorY contains the row number where the first row of + // the current line is 0. + cursorX, cursorY int + // maxLine is the greatest value of cursorY so far. + maxLine int + + termWidth, termHeight int + + // outBuf contains the terminal data to be sent. + outBuf []byte + // remainder contains the remainder of any partial key sequences after + // a read. It aliases into inBuf. + remainder []byte + inBuf [256]byte + + // history contains previously entered commands so that they can be + // accessed with the up and down keys. + history stRingBuffer + // historyIndex stores the currently accessed history entry, where zero + // means the immediately previous entry. + historyIndex int + // When navigating up and down the history it's possible to return to + // the incomplete, initial line. That value is stored in + // historyPending. + historyPending string +} + +// NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is +// a local terminal, that terminal must first have been put into raw mode. +// prompt is a string that is written at the start of each input line (i.e. +// "> "). +func NewTerminal(c io.ReadWriter, prompt string) *Terminal { + return &Terminal{ + Escape: &vt100EscapeCodes, + c: c, + prompt: []rune(prompt), + termWidth: 80, + termHeight: 24, + echo: true, + historyIndex: -1, + } +} + +const ( + keyCtrlD = 4 + keyCtrlU = 21 + keyEnter = '\r' + keyEscape = 27 + keyBackspace = 127 + keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota + keyUp + keyDown + keyLeft + keyRight + keyAltLeft + keyAltRight + keyHome + keyEnd + keyDeleteWord + keyDeleteLine + keyClearScreen + keyPasteStart + keyPasteEnd +) + +var pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'} +var pasteEnd = []byte{keyEscape, '[', '2', '0', '1', '~'} + +// bytesToKey tries to parse a key sequence from b. If successful, it returns +// the key and the remainder of the input. Otherwise it returns utf8.RuneError. +func bytesToKey(b []byte, pasteActive bool) (rune, []byte) { + if len(b) == 0 { + return utf8.RuneError, nil + } + + if !pasteActive { + switch b[0] { + case 1: // ^A + return keyHome, b[1:] + case 5: // ^E + return keyEnd, b[1:] + case 8: // ^H + return keyBackspace, b[1:] + case 11: // ^K + return keyDeleteLine, b[1:] + case 12: // ^L + return keyClearScreen, b[1:] + case 23: // ^W + return keyDeleteWord, b[1:] + } + } + + if b[0] != keyEscape { + if !utf8.FullRune(b) { + return utf8.RuneError, b + } + r, l := utf8.DecodeRune(b) + return r, b[l:] + } + + if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' { + switch b[2] { + case 'A': + return keyUp, b[3:] + case 'B': + return keyDown, b[3:] + case 'C': + return keyRight, b[3:] + case 'D': + return keyLeft, b[3:] + case 'H': + return keyHome, b[3:] + case 'F': + return keyEnd, b[3:] + } + } + + if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' { + switch b[5] { + case 'C': + return keyAltRight, b[6:] + case 'D': + return keyAltLeft, b[6:] + } + } + + if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) { + return keyPasteStart, b[6:] + } + + if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) { + return keyPasteEnd, b[6:] + } + + // If we get here then we have a key that we don't recognise, or a + // partial sequence. It's not clear how one should find the end of a + // sequence without knowing them all, but it seems that [a-zA-Z~] only + // appears at the end of a sequence. + for i, c := range b[0:] { + if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' { + return keyUnknown, b[i+1:] + } + } + + return utf8.RuneError, b +} + +// queue appends data to the end of t.outBuf +func (t *Terminal) queue(data []rune) { + t.outBuf = append(t.outBuf, []byte(string(data))...) +} + +var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'} +var space = []rune{' '} + +func isPrintable(key rune) bool { + isInSurrogateArea := key >= 0xd800 && key <= 0xdbff + return key >= 32 && !isInSurrogateArea +} + +// moveCursorToPos appends data to t.outBuf which will move the cursor to the +// given, logical position in the text. +func (t *Terminal) moveCursorToPos(pos int) { + if !t.echo { + return + } + + x := visualLength(t.prompt) + pos + y := x / t.termWidth + x = x % t.termWidth + + up := 0 + if y < t.cursorY { + up = t.cursorY - y + } + + down := 0 + if y > t.cursorY { + down = y - t.cursorY + } + + left := 0 + if x < t.cursorX { + left = t.cursorX - x + } + + right := 0 + if x > t.cursorX { + right = x - t.cursorX + } + + t.cursorX = x + t.cursorY = y + t.move(up, down, left, right) +} + +func (t *Terminal) move(up, down, left, right int) { + movement := make([]rune, 3*(up+down+left+right)) + m := movement + for i := 0; i < up; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'A' + m = m[3:] + } + for i := 0; i < down; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'B' + m = m[3:] + } + for i := 0; i < left; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'D' + m = m[3:] + } + for i := 0; i < right; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'C' + m = m[3:] + } + + t.queue(movement) +} + +func (t *Terminal) clearLineToRight() { + op := []rune{keyEscape, '[', 'K'} + t.queue(op) +} + +const maxLineLength = 4096 + +func (t *Terminal) setLine(newLine []rune, newPos int) { + if t.echo { + t.moveCursorToPos(0) + t.writeLine(newLine) + for i := len(newLine); i < len(t.line); i++ { + t.writeLine(space) + } + t.moveCursorToPos(newPos) + } + t.line = newLine + t.pos = newPos +} + +func (t *Terminal) advanceCursor(places int) { + t.cursorX += places + t.cursorY += t.cursorX / t.termWidth + if t.cursorY > t.maxLine { + t.maxLine = t.cursorY + } + t.cursorX = t.cursorX % t.termWidth + + if places > 0 && t.cursorX == 0 { + // Normally terminals will advance the current position + // when writing a character. But that doesn't happen + // for the last character in a line. However, when + // writing a character (except a new line) that causes + // a line wrap, the position will be advanced two + // places. + // + // So, if we are stopping at the end of a line, we + // need to write a newline so that our cursor can be + // advanced to the next line. + t.outBuf = append(t.outBuf, '\n') + } +} + +func (t *Terminal) eraseNPreviousChars(n int) { + if n == 0 { + return + } + + if t.pos < n { + n = t.pos + } + t.pos -= n + t.moveCursorToPos(t.pos) + + copy(t.line[t.pos:], t.line[n+t.pos:]) + t.line = t.line[:len(t.line)-n] + if t.echo { + t.writeLine(t.line[t.pos:]) + for i := 0; i < n; i++ { + t.queue(space) + } + t.advanceCursor(n) + t.moveCursorToPos(t.pos) + } +} + +// countToLeftWord returns then number of characters from the cursor to the +// start of the previous word. +func (t *Terminal) countToLeftWord() int { + if t.pos == 0 { + return 0 + } + + pos := t.pos - 1 + for pos > 0 { + if t.line[pos] != ' ' { + break + } + pos-- + } + for pos > 0 { + if t.line[pos] == ' ' { + pos++ + break + } + pos-- + } + + return t.pos - pos +} + +// countToRightWord returns then number of characters from the cursor to the +// start of the next word. +func (t *Terminal) countToRightWord() int { + pos := t.pos + for pos < len(t.line) { + if t.line[pos] == ' ' { + break + } + pos++ + } + for pos < len(t.line) { + if t.line[pos] != ' ' { + break + } + pos++ + } + return pos - t.pos +} + +// visualLength returns the number of visible glyphs in s. +func visualLength(runes []rune) int { + inEscapeSeq := false + length := 0 + + for _, r := range runes { + switch { + case inEscapeSeq: + if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') { + inEscapeSeq = false + } + case r == '\x1b': + inEscapeSeq = true + default: + length++ + } + } + + return length +} + +// handleKey processes the given key and, optionally, returns a line of text +// that the user has entered. +func (t *Terminal) handleKey(key rune) (line string, ok bool) { + if t.pasteActive && key != keyEnter { + t.addKeyToLine(key) + return + } + + switch key { + case keyBackspace: + if t.pos == 0 { + return + } + t.eraseNPreviousChars(1) + case keyAltLeft: + // move left by a word. + t.pos -= t.countToLeftWord() + t.moveCursorToPos(t.pos) + case keyAltRight: + // move right by a word. + t.pos += t.countToRightWord() + t.moveCursorToPos(t.pos) + case keyLeft: + if t.pos == 0 { + return + } + t.pos-- + t.moveCursorToPos(t.pos) + case keyRight: + if t.pos == len(t.line) { + return + } + t.pos++ + t.moveCursorToPos(t.pos) + case keyHome: + if t.pos == 0 { + return + } + t.pos = 0 + t.moveCursorToPos(t.pos) + case keyEnd: + if t.pos == len(t.line) { + return + } + t.pos = len(t.line) + t.moveCursorToPos(t.pos) + case keyUp: + entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1) + if !ok { + return "", false + } + if t.historyIndex == -1 { + t.historyPending = string(t.line) + } + t.historyIndex++ + runes := []rune(entry) + t.setLine(runes, len(runes)) + case keyDown: + switch t.historyIndex { + case -1: + return + case 0: + runes := []rune(t.historyPending) + t.setLine(runes, len(runes)) + t.historyIndex-- + default: + entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1) + if ok { + t.historyIndex-- + runes := []rune(entry) + t.setLine(runes, len(runes)) + } + } + case keyEnter: + t.moveCursorToPos(len(t.line)) + t.queue([]rune("\r\n")) + line = string(t.line) + ok = true + t.line = t.line[:0] + t.pos = 0 + t.cursorX = 0 + t.cursorY = 0 + t.maxLine = 0 + case keyDeleteWord: + // Delete zero or more spaces and then one or more characters. + t.eraseNPreviousChars(t.countToLeftWord()) + case keyDeleteLine: + // Delete everything from the current cursor position to the + // end of line. + for i := t.pos; i < len(t.line); i++ { + t.queue(space) + t.advanceCursor(1) + } + t.line = t.line[:t.pos] + t.moveCursorToPos(t.pos) + case keyCtrlD: + // Erase the character under the current position. + // The EOF case when the line is empty is handled in + // readLine(). + if t.pos < len(t.line) { + t.pos++ + t.eraseNPreviousChars(1) + } + case keyCtrlU: + t.eraseNPreviousChars(t.pos) + case keyClearScreen: + // Erases the screen and moves the cursor to the home position. + t.queue([]rune("\x1b[2J\x1b[H")) + t.queue(t.prompt) + t.cursorX, t.cursorY = 0, 0 + t.advanceCursor(visualLength(t.prompt)) + t.setLine(t.line, t.pos) + default: + if t.AutoCompleteCallback != nil { + prefix := string(t.line[:t.pos]) + suffix := string(t.line[t.pos:]) + + t.lock.Unlock() + newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key) + t.lock.Lock() + + if completeOk { + t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos])) + return + } + } + if !isPrintable(key) { + return + } + if len(t.line) == maxLineLength { + return + } + t.addKeyToLine(key) + } + return +} + +// addKeyToLine inserts the given key at the current position in the current +// line. +func (t *Terminal) addKeyToLine(key rune) { + if len(t.line) == cap(t.line) { + newLine := make([]rune, len(t.line), 2*(1+len(t.line))) + copy(newLine, t.line) + t.line = newLine + } + t.line = t.line[:len(t.line)+1] + copy(t.line[t.pos+1:], t.line[t.pos:]) + t.line[t.pos] = key + if t.echo { + t.writeLine(t.line[t.pos:]) + } + t.pos++ + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) writeLine(line []rune) { + for len(line) != 0 { + remainingOnLine := t.termWidth - t.cursorX + todo := len(line) + if todo > remainingOnLine { + todo = remainingOnLine + } + t.queue(line[:todo]) + t.advanceCursor(visualLength(line[:todo])) + line = line[todo:] + } +} + +func (t *Terminal) Write(buf []byte) (n int, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + if t.cursorX == 0 && t.cursorY == 0 { + // This is the easy case: there's nothing on the screen that we + // have to move out of the way. + return t.c.Write(buf) + } + + // We have a prompt and possibly user input on the screen. We + // have to clear it first. + t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */) + t.cursorX = 0 + t.clearLineToRight() + + for t.cursorY > 0 { + t.move(1 /* up */, 0, 0, 0) + t.cursorY-- + t.clearLineToRight() + } + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + + if n, err = t.c.Write(buf); err != nil { + return + } + + t.writeLine(t.prompt) + if t.echo { + t.writeLine(t.line) + } + + t.moveCursorToPos(t.pos) + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + return +} + +// ReadPassword temporarily changes the prompt and reads a password, without +// echo, from the terminal. +func (t *Terminal) ReadPassword(prompt string) (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + oldPrompt := t.prompt + t.prompt = []rune(prompt) + t.echo = false + + line, err = t.readLine() + + t.prompt = oldPrompt + t.echo = true + + return +} + +// ReadLine returns a line of input from the terminal. +func (t *Terminal) ReadLine() (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + return t.readLine() +} + +func (t *Terminal) readLine() (line string, err error) { + // t.lock must be held at this point + + if t.cursorX == 0 && t.cursorY == 0 { + t.writeLine(t.prompt) + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + } + + lineIsPasted := t.pasteActive + + for { + rest := t.remainder + lineOk := false + for !lineOk { + var key rune + key, rest = bytesToKey(rest, t.pasteActive) + if key == utf8.RuneError { + break + } + if !t.pasteActive { + if key == keyCtrlD { + if len(t.line) == 0 { + return "", io.EOF + } + } + if key == keyPasteStart { + t.pasteActive = true + if len(t.line) == 0 { + lineIsPasted = true + } + continue + } + } else if key == keyPasteEnd { + t.pasteActive = false + continue + } + if !t.pasteActive { + lineIsPasted = false + } + line, lineOk = t.handleKey(key) + } + if len(rest) > 0 { + n := copy(t.inBuf[:], rest) + t.remainder = t.inBuf[:n] + } else { + t.remainder = nil + } + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + if lineOk { + if t.echo { + t.historyIndex = -1 + t.history.Add(line) + } + if lineIsPasted { + err = ErrPasteIndicator + } + return + } + + // t.remainder is a slice at the beginning of t.inBuf + // containing a partial key sequence + readBuf := t.inBuf[len(t.remainder):] + var n int + + t.lock.Unlock() + n, err = t.c.Read(readBuf) + t.lock.Lock() + + if err != nil { + return + } + + t.remainder = t.inBuf[:n+len(t.remainder)] + } + + panic("unreachable") // for Go 1.0. +} + +// SetPrompt sets the prompt to be used when reading subsequent lines. +func (t *Terminal) SetPrompt(prompt string) { + t.lock.Lock() + defer t.lock.Unlock() + + t.prompt = []rune(prompt) +} + +func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) { + // Move cursor to column zero at the start of the line. + t.move(t.cursorY, 0, t.cursorX, 0) + t.cursorX, t.cursorY = 0, 0 + t.clearLineToRight() + for t.cursorY < numPrevLines { + // Move down a line + t.move(0, 1, 0, 0) + t.cursorY++ + t.clearLineToRight() + } + // Move back to beginning. + t.move(t.cursorY, 0, 0, 0) + t.cursorX, t.cursorY = 0, 0 + + t.queue(t.prompt) + t.advanceCursor(visualLength(t.prompt)) + t.writeLine(t.line) + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) SetSize(width, height int) error { + t.lock.Lock() + defer t.lock.Unlock() + + if width == 0 { + width = 1 + } + + oldWidth := t.termWidth + t.termWidth, t.termHeight = width, height + + switch { + case width == oldWidth: + // If the width didn't change then nothing else needs to be + // done. + return nil + case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0: + // If there is nothing on current line and no prompt printed, + // just do nothing + return nil + case width < oldWidth: + // Some terminals (e.g. xterm) will truncate lines that were + // too long when shinking. Others, (e.g. gnome-terminal) will + // attempt to wrap them. For the former, repainting t.maxLine + // works great, but that behaviour goes badly wrong in the case + // of the latter because they have doubled every full line. + + // We assume that we are working on a terminal that wraps lines + // and adjust the cursor position based on every previous line + // wrapping and turning into two. This causes the prompt on + // xterms to move upwards, which isn't great, but it avoids a + // huge mess with gnome-terminal. + if t.cursorX >= t.termWidth { + t.cursorX = t.termWidth - 1 + } + t.cursorY *= 2 + t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2) + case width > oldWidth: + // If the terminal expands then our position calculations will + // be wrong in the future because we think the cursor is + // |t.pos| chars into the string, but there will be a gap at + // the end of any wrapped line. + // + // But the position will actually be correct until we move, so + // we can move back to the beginning and repaint everything. + t.clearAndRepaintLinePlusNPrevious(t.maxLine) + } + + _, err := t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + return err +} + +type pasteIndicatorError struct{} + +func (pasteIndicatorError) Error() string { + return "terminal: ErrPasteIndicator not correctly handled" +} + +// ErrPasteIndicator may be returned from ReadLine as the error, in addition +// to valid line data. It indicates that bracketed paste mode is enabled and +// that the returned line consists only of pasted data. Programs may wish to +// interpret pasted data more literally than typed data. +var ErrPasteIndicator = pasteIndicatorError{} + +// SetBracketedPasteMode requests that the terminal bracket paste operations +// with markers. Not all terminals support this but, if it is supported, then +// enabling this mode will stop any autocomplete callback from running due to +// pastes. Additionally, any lines that are completely pasted will be returned +// from ReadLine with the error set to ErrPasteIndicator. +func (t *Terminal) SetBracketedPasteMode(on bool) { + if on { + io.WriteString(t.c, "\x1b[?2004h") + } else { + io.WriteString(t.c, "\x1b[?2004l") + } +} + +// stRingBuffer is a ring buffer of strings. +type stRingBuffer struct { + // entries contains max elements. + entries []string + max int + // head contains the index of the element most recently added to the ring. + head int + // size contains the number of elements in the ring. + size int +} + +func (s *stRingBuffer) Add(a string) { + if s.entries == nil { + const defaultNumEntries = 100 + s.entries = make([]string, defaultNumEntries) + s.max = defaultNumEntries + } + + s.head = (s.head + 1) % s.max + s.entries[s.head] = a + if s.size < s.max { + s.size++ + } +} + +// NthPreviousEntry returns the value passed to the nth previous call to Add. +// If n is zero then the immediately prior value is returned, if one, then the +// next most recent, and so on. If such an element doesn't exist then ok is +// false. +func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) { + if n >= s.size { + return "", false + } + index := s.head - n + if index < 0 { + index += s.max + } + return s.entries[index], true +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go new file mode 100644 index 0000000..598e3df --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -0,0 +1,128 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux,!appengine netbsd openbsd + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal // import "golang.org/x/crypto/ssh/terminal" + +import ( + "io" + "syscall" + "unsafe" +) + +// State contains the state of a terminal. +type State struct { + termios syscall.Termios +} + +// IsTerminal returns true if the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + var oldState State + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { + return nil, err + } + + newState := oldState.termios + newState.Iflag &^= syscall.ISTRIP | syscall.INLCR | syscall.ICRNL | syscall.IGNCR | syscall.IXON | syscall.IXOFF + newState.Lflag &^= syscall.ECHO | syscall.ICANON | syscall.ISIG + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { + return nil, err + } + + return &oldState, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + var oldState State + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { + return nil, err + } + + return &oldState, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&state.termios)), 0, 0, 0) + return err +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + var dimensions [4]uint16 + + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(syscall.TIOCGWINSZ), uintptr(unsafe.Pointer(&dimensions)), 0, 0, 0); err != 0 { + return -1, -1, err + } + return int(dimensions[1]), int(dimensions[0]), nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + var oldState syscall.Termios + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0); err != 0 { + return nil, err + } + + newState := oldState + newState.Lflag &^= syscall.ECHO + newState.Lflag |= syscall.ICANON | syscall.ISIG + newState.Iflag |= syscall.ICRNL + if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { + return nil, err + } + + defer func() { + syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0) + }() + + var buf [16]byte + var ret []byte + for { + n, err := syscall.Read(fd, buf[:]) + if err != nil { + return nil, err + } + if n == 0 { + if len(ret) == 0 { + return nil, io.EOF + } + break + } + if buf[n-1] == '\n' { + n-- + } + ret = append(ret, buf[:n]...) + if n < len(buf) { + break + } + } + + return ret, nil +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go new file mode 100644 index 0000000..9c1ffd1 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go @@ -0,0 +1,12 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +package terminal + +import "syscall" + +const ioctlReadTermios = syscall.TIOCGETA +const ioctlWriteTermios = syscall.TIOCSETA diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go new file mode 100644 index 0000000..5883b22 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go @@ -0,0 +1,11 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +// These constants are declared here, rather than importing +// them from the syscall package as some syscall packages, even +// on linux, for example gccgo, do not declare them. +const ioctlReadTermios = 0x5401 // syscall.TCGETS +const ioctlWriteTermios = 0x5402 // syscall.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go new file mode 100644 index 0000000..2dd6c3d --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go @@ -0,0 +1,174 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal + +import ( + "io" + "syscall" + "unsafe" +) + +const ( + enableLineInput = 2 + enableEchoInput = 4 + enableProcessedInput = 1 + enableWindowInput = 8 + enableMouseInput = 16 + enableInsertMode = 32 + enableQuickEditMode = 64 + enableExtendedFlags = 128 + enableAutoPosition = 256 + enableProcessedOutput = 1 + enableWrapAtEolOutput = 2 +) + +var kernel32 = syscall.NewLazyDLL("kernel32.dll") + +var ( + procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + procSetConsoleMode = kernel32.NewProc("SetConsoleMode") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") +) + +type ( + short int16 + word uint16 + + coord struct { + x short + y short + } + smallRect struct { + left short + top short + right short + bottom short + } + consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord + } +) + +type State struct { + mode uint32 +} + +// IsTerminal returns true if the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + var st uint32 + _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) + if e != 0 { + return nil, error(e) + } + st &^= (enableEchoInput | enableProcessedInput | enableLineInput | enableProcessedOutput) + _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(st), 0) + if e != 0 { + return nil, error(e) + } + return &State{st}, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + var st uint32 + _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) + if e != 0 { + return nil, error(e) + } + return &State{st}, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + _, _, err := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(state.mode), 0) + return err +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + var info consoleScreenBufferInfo + _, _, e := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&info)), 0) + if e != 0 { + return 0, 0, error(e) + } + return int(info.size.x), int(info.size.y), nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + var st uint32 + _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) + if e != 0 { + return nil, error(e) + } + old := st + + st &^= (enableEchoInput) + st |= (enableProcessedInput | enableLineInput | enableProcessedOutput) + _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(st), 0) + if e != 0 { + return nil, error(e) + } + + defer func() { + syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(old), 0) + }() + + var buf [16]byte + var ret []byte + for { + n, err := syscall.Read(syscall.Handle(fd), buf[:]) + if err != nil { + return nil, err + } + if n == 0 { + if len(ret) == 0 { + return nil, io.EOF + } + break + } + if buf[n-1] == '\n' { + n-- + } + if n > 0 && buf[n-1] == '\r' { + n-- + } + ret = append(ret, buf[:n]...) + if n < len(buf) { + break + } + } + + return ret, nil +} diff --git a/vendor/golang.org/x/net/LICENSE b/vendor/golang.org/x/net/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/vendor/golang.org/x/net/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/net/PATENTS b/vendor/golang.org/x/net/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/vendor/golang.org/x/net/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/net/html/atom/atom.go b/vendor/golang.org/x/net/html/atom/atom.go new file mode 100644 index 0000000..cd0a8ac --- /dev/null +++ b/vendor/golang.org/x/net/html/atom/atom.go @@ -0,0 +1,78 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package atom provides integer codes (also known as atoms) for a fixed set of +// frequently occurring HTML strings: tag names and attribute keys such as "p" +// and "id". +// +// Sharing an atom's name between all elements with the same tag can result in +// fewer string allocations when tokenizing and parsing HTML. Integer +// comparisons are also generally faster than string comparisons. +// +// The value of an atom's particular code is not guaranteed to stay the same +// between versions of this package. Neither is any ordering guaranteed: +// whether atom.H1 < atom.H2 may also change. The codes are not guaranteed to +// be dense. The only guarantees are that e.g. looking up "div" will yield +// atom.Div, calling atom.Div.String will return "div", and atom.Div != 0. +package atom // import "golang.org/x/net/html/atom" + +// Atom is an integer code for a string. The zero value maps to "". +type Atom uint32 + +// String returns the atom's name. +func (a Atom) String() string { + start := uint32(a >> 8) + n := uint32(a & 0xff) + if start+n > uint32(len(atomText)) { + return "" + } + return atomText[start : start+n] +} + +func (a Atom) string() string { + return atomText[a>>8 : a>>8+a&0xff] +} + +// fnv computes the FNV hash with an arbitrary starting value h. +func fnv(h uint32, s []byte) uint32 { + for i := range s { + h ^= uint32(s[i]) + h *= 16777619 + } + return h +} + +func match(s string, t []byte) bool { + for i, c := range t { + if s[i] != c { + return false + } + } + return true +} + +// Lookup returns the atom whose name is s. It returns zero if there is no +// such atom. The lookup is case sensitive. +func Lookup(s []byte) Atom { + if len(s) == 0 || len(s) > maxAtomLen { + return 0 + } + h := fnv(hash0, s) + if a := table[h&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) { + return a + } + if a := table[(h>>16)&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) { + return a + } + return 0 +} + +// String returns a string whose contents are equal to s. In that sense, it is +// equivalent to string(s) but may be more efficient. +func String(s []byte) string { + if a := Lookup(s); a != 0 { + return a.String() + } + return string(s) +} diff --git a/vendor/golang.org/x/net/html/atom/table.go b/vendor/golang.org/x/net/html/atom/table.go new file mode 100644 index 0000000..a91bd64 --- /dev/null +++ b/vendor/golang.org/x/net/html/atom/table.go @@ -0,0 +1,779 @@ +// Code generated by go generate gen.go; DO NOT EDIT. + +//go:generate go run gen.go + +package atom + +const ( + A Atom = 0x1 + Abbr Atom = 0x4 + Accept Atom = 0x1a06 + AcceptCharset Atom = 0x1a0e + Accesskey Atom = 0x2c09 + Acronym Atom = 0x6907 + Action Atom = 0x26a06 + Address Atom = 0x6f307 + Align Atom = 0x7005 + Allowfullscreen Atom = 0x2000f + Allowpaymentrequest Atom = 0x8013 + Allowusermedia Atom = 0x9c0e + Alt Atom = 0xc703 + Annotation Atom = 0x1c90a + AnnotationXml Atom = 0x1c90e + Applet Atom = 0x31106 + Area Atom = 0x34e04 + Article Atom = 0x3f407 + As Atom = 0xd002 + Aside Atom = 0xd805 + Async Atom = 0xd005 + Audio Atom = 0xe605 + Autocomplete Atom = 0x2700c + Autofocus Atom = 0x10209 + Autoplay Atom = 0x11d08 + B Atom = 0x101 + Base Atom = 0x12c04 + Basefont Atom = 0x12c08 + Bdi Atom = 0x7903 + Bdo Atom = 0x14b03 + Bgsound Atom = 0x15e07 + Big Atom = 0x17003 + Blink Atom = 0x17305 + Blockquote Atom = 0x1870a + Body Atom = 0x2804 + Br Atom = 0x202 + Button Atom = 0x19106 + Canvas Atom = 0xd406 + Caption Atom = 0x22907 + Center Atom = 0x21806 + Challenge Atom = 0x29309 + Charset Atom = 0x2107 + Checked Atom = 0x47107 + Cite Atom = 0x55c04 + Class Atom = 0x5bd05 + Code Atom = 0x1a004 + Col Atom = 0x1a703 + Colgroup Atom = 0x1a708 + Color Atom = 0x1bf05 + Cols Atom = 0x1c404 + Colspan Atom = 0x1c407 + Command Atom = 0x1d707 + Content Atom = 0x58307 + Contenteditable Atom = 0x5830f + Contextmenu Atom = 0x3780b + Controls Atom = 0x1de08 + Coords Atom = 0x1ea06 + Crossorigin Atom = 0x1f30b + Data Atom = 0x49d04 + Datalist Atom = 0x49d08 + Datetime Atom = 0x2b008 + Dd Atom = 0x2cf02 + Default Atom = 0xdb07 + Defer Atom = 0x1a205 + Del Atom = 0x44a03 + Desc Atom = 0x55904 + Details Atom = 0x4607 + Dfn Atom = 0x5f03 + Dialog Atom = 0x7a06 + Dir Atom = 0xba03 + Dirname Atom = 0xba07 + Disabled Atom = 0x16408 + Div Atom = 0x16b03 + Dl Atom = 0x5e602 + Download Atom = 0x45b08 + Draggable Atom = 0x17a09 + Dropzone Atom = 0x3fd08 + Dt Atom = 0x64b02 + Em Atom = 0x4202 + Embed Atom = 0x4205 + Enctype Atom = 0x28507 + Face Atom = 0x21604 + Fieldset Atom = 0x21e08 + Figcaption Atom = 0x2260a + Figure Atom = 0x24006 + Font Atom = 0x13004 + Footer Atom = 0xca06 + For Atom = 0x24c03 + ForeignObject Atom = 0x24c0d + Foreignobject Atom = 0x2590d + Form Atom = 0x26604 + Formaction Atom = 0x2660a + Formenctype Atom = 0x2810b + Formmethod Atom = 0x29c0a + Formnovalidate Atom = 0x2a60e + Formtarget Atom = 0x2b80a + Frame Atom = 0x5705 + Frameset Atom = 0x5708 + H1 Atom = 0x15c02 + H2 Atom = 0x2d602 + H3 Atom = 0x30502 + H4 Atom = 0x33d02 + H5 Atom = 0x34702 + H6 Atom = 0x64d02 + Head Atom = 0x32904 + Header Atom = 0x32906 + Headers Atom = 0x32907 + Height Atom = 0x14306 + Hgroup Atom = 0x2c206 + Hidden Atom = 0x2cd06 + High Atom = 0x2d304 + Hr Atom = 0x15702 + Href Atom = 0x2d804 + Hreflang Atom = 0x2d808 + Html Atom = 0x14704 + HttpEquiv Atom = 0x2e00a + I Atom = 0x601 + Icon Atom = 0x58204 + Id Atom = 0xda02 + Iframe Atom = 0x2f406 + Image Atom = 0x2fa05 + Img Atom = 0x2ff03 + Input Atom = 0x44305 + Inputmode Atom = 0x44309 + Ins Atom = 0x1fc03 + Integrity Atom = 0x23709 + Is Atom = 0x16502 + Isindex Atom = 0x30707 + Ismap Atom = 0x30e05 + Itemid Atom = 0x38306 + Itemprop Atom = 0x55d08 + Itemref Atom = 0x3c507 + Itemscope Atom = 0x67109 + Itemtype Atom = 0x31708 + Kbd Atom = 0x7803 + Keygen Atom = 0x3206 + Keytype Atom = 0x9507 + Kind Atom = 0x17704 + Label Atom = 0xf105 + Lang Atom = 0x2dc04 + Legend Atom = 0x18106 + Li Atom = 0x7102 + Link Atom = 0x17404 + List Atom = 0x4a104 + Listing Atom = 0x4a107 + Loop Atom = 0xf504 + Low Atom = 0x8203 + Main Atom = 0x1004 + Malignmark Atom = 0x6f0a + Manifest Atom = 0x6d708 + Map Atom = 0x31003 + Mark Atom = 0x7504 + Marquee Atom = 0x31f07 + Math Atom = 0x32604 + Max Atom = 0x33503 + Maxlength Atom = 0x33509 + Media Atom = 0xa505 + Mediagroup Atom = 0xa50a + Menu Atom = 0x37f04 + Menuitem Atom = 0x37f08 + Meta Atom = 0x4b004 + Meter Atom = 0xbf05 + Method Atom = 0x2a006 + Mglyph Atom = 0x30006 + Mi Atom = 0x33f02 + Min Atom = 0x33f03 + Minlength Atom = 0x33f09 + Mn Atom = 0x2a902 + Mo Atom = 0x6302 + Ms Atom = 0x67402 + Mtext Atom = 0x34905 + Multiple Atom = 0x35708 + Muted Atom = 0x35f05 + Name Atom = 0xbd04 + Nav Atom = 0x1303 + Nobr Atom = 0x3704 + Noembed Atom = 0x4007 + Noframes Atom = 0x5508 + Nomodule Atom = 0x6108 + Nonce Atom = 0x56605 + Noscript Atom = 0x20e08 + Novalidate Atom = 0x2aa0a + Object Atom = 0x26006 + Ol Atom = 0x11802 + Onabort Atom = 0x19507 + Onafterprint Atom = 0x22e0c + Onautocomplete Atom = 0x26e0e + Onautocompleteerror Atom = 0x26e13 + Onauxclick Atom = 0x61f0a + Onbeforeprint Atom = 0x69e0d + Onbeforeunload Atom = 0x6e70e + Onblur Atom = 0x5c606 + Oncancel Atom = 0xea08 + Oncanplay Atom = 0x14d09 + Oncanplaythrough Atom = 0x14d10 + Onchange Atom = 0x41308 + Onclick Atom = 0x2ed07 + Onclose Atom = 0x36407 + Oncontextmenu Atom = 0x3760d + Oncopy Atom = 0x38906 + Oncuechange Atom = 0x38f0b + Oncut Atom = 0x39a05 + Ondblclick Atom = 0x39f0a + Ondrag Atom = 0x3a906 + Ondragend Atom = 0x3a909 + Ondragenter Atom = 0x3b20b + Ondragexit Atom = 0x3bd0a + Ondragleave Atom = 0x3d70b + Ondragover Atom = 0x3e20a + Ondragstart Atom = 0x3ec0b + Ondrop Atom = 0x3fb06 + Ondurationchange Atom = 0x40b10 + Onemptied Atom = 0x40209 + Onended Atom = 0x41b07 + Onerror Atom = 0x42207 + Onfocus Atom = 0x42907 + Onhashchange Atom = 0x4350c + Oninput Atom = 0x44107 + Oninvalid Atom = 0x44d09 + Onkeydown Atom = 0x45609 + Onkeypress Atom = 0x4630a + Onkeyup Atom = 0x47807 + Onlanguagechange Atom = 0x48510 + Onload Atom = 0x49506 + Onloadeddata Atom = 0x4950c + Onloadedmetadata Atom = 0x4a810 + Onloadend Atom = 0x4be09 + Onloadstart Atom = 0x4c70b + Onmessage Atom = 0x4d209 + Onmessageerror Atom = 0x4d20e + Onmousedown Atom = 0x4e00b + Onmouseenter Atom = 0x4eb0c + Onmouseleave Atom = 0x4f70c + Onmousemove Atom = 0x5030b + Onmouseout Atom = 0x50e0a + Onmouseover Atom = 0x51b0b + Onmouseup Atom = 0x52609 + Onmousewheel Atom = 0x5340c + Onoffline Atom = 0x54009 + Ononline Atom = 0x54908 + Onpagehide Atom = 0x5510a + Onpageshow Atom = 0x56b0a + Onpaste Atom = 0x57707 + Onpause Atom = 0x59207 + Onplay Atom = 0x59c06 + Onplaying Atom = 0x59c09 + Onpopstate Atom = 0x5a50a + Onprogress Atom = 0x5af0a + Onratechange Atom = 0x5cc0c + Onrejectionhandled Atom = 0x5d812 + Onreset Atom = 0x5ea07 + Onresize Atom = 0x5f108 + Onscroll Atom = 0x60008 + Onsecuritypolicyviolation Atom = 0x60819 + Onseeked Atom = 0x62908 + Onseeking Atom = 0x63109 + Onselect Atom = 0x63a08 + Onshow Atom = 0x64406 + Onsort Atom = 0x64f06 + Onstalled Atom = 0x65909 + Onstorage Atom = 0x66209 + Onsubmit Atom = 0x66b08 + Onsuspend Atom = 0x67b09 + Ontimeupdate Atom = 0x1310c + Ontoggle Atom = 0x68408 + Onunhandledrejection Atom = 0x68c14 + Onunload Atom = 0x6ab08 + Onvolumechange Atom = 0x6b30e + Onwaiting Atom = 0x6c109 + Onwheel Atom = 0x6ca07 + Open Atom = 0x56304 + Optgroup Atom = 0xf708 + Optimum Atom = 0x6d107 + Option Atom = 0x6e306 + Output Atom = 0x51506 + P Atom = 0xc01 + Param Atom = 0xc05 + Pattern Atom = 0x4f07 + Picture Atom = 0xae07 + Ping Atom = 0xfe04 + Placeholder Atom = 0x1120b + Plaintext Atom = 0x1ae09 + Playsinline Atom = 0x1210b + Poster Atom = 0x2c706 + Pre Atom = 0x46803 + Preload Atom = 0x47e07 + Progress Atom = 0x5b108 + Prompt Atom = 0x52e06 + Public Atom = 0x57e06 + Q Atom = 0x8e01 + Radiogroup Atom = 0x30a + Readonly Atom = 0x34f08 + Referrerpolicy Atom = 0x3c90e + Rel Atom = 0x47f03 + Required Atom = 0x24408 + Reversed Atom = 0xb308 + Rows Atom = 0x3a04 + Rowspan Atom = 0x3a07 + Rp Atom = 0x23402 + Rt Atom = 0x19a02 + Ruby Atom = 0xc304 + S Atom = 0x2501 + Samp Atom = 0x4c04 + Sandbox Atom = 0x10a07 + Scope Atom = 0x67505 + Scoped Atom = 0x67506 + Script Atom = 0x21006 + Seamless Atom = 0x36908 + Section Atom = 0x5c107 + Select Atom = 0x63c06 + Selected Atom = 0x63c08 + Shape Atom = 0x1e505 + Size Atom = 0x5f504 + Sizes Atom = 0x5f505 + Slot Atom = 0x1ef04 + Small Atom = 0x1fe05 + Sortable Atom = 0x65108 + Sorted Atom = 0x32f06 + Source Atom = 0x37006 + Spacer Atom = 0x42f06 + Span Atom = 0x3d04 + Spellcheck Atom = 0x46c0a + Src Atom = 0x5b803 + Srcdoc Atom = 0x5b806 + Srclang Atom = 0x5f907 + Srcset Atom = 0x6f906 + Start Atom = 0x3f205 + Step Atom = 0x57b04 + Strike Atom = 0x9106 + Strong Atom = 0x6dd06 + Style Atom = 0x6ff05 + Sub Atom = 0x66d03 + Summary Atom = 0x70407 + Sup Atom = 0x70b03 + Svg Atom = 0x70e03 + System Atom = 0x71106 + Tabindex Atom = 0x4b608 + Table Atom = 0x58d05 + Target Atom = 0x2bc06 + Tbody Atom = 0x2705 + Td Atom = 0x5e02 + Template Atom = 0x71408 + Textarea Atom = 0x34a08 + Tfoot Atom = 0xc905 + Th Atom = 0x15602 + Thead Atom = 0x32805 + Time Atom = 0x13304 + Title Atom = 0xe105 + Tr Atom = 0x8b02 + Track Atom = 0x19b05 + Translate Atom = 0x1b609 + Tt Atom = 0x5102 + Type Atom = 0x9804 + Typemustmatch Atom = 0x2880d + U Atom = 0xb01 + Ul Atom = 0x6602 + Updateviacache Atom = 0x1370e + Usemap Atom = 0x59606 + Value Atom = 0x1505 + Var Atom = 0x16d03 + Video Atom = 0x2e905 + Wbr Atom = 0x57403 + Width Atom = 0x64905 + Workertype Atom = 0x71c0a + Wrap Atom = 0x72604 + Xmp Atom = 0x11003 +) + +const hash0 = 0x81cdf10e + +const maxAtomLen = 25 + +var table = [1 << 9]Atom{ + 0x1: 0xa50a, // mediagroup + 0x2: 0x2dc04, // lang + 0x4: 0x2c09, // accesskey + 0x5: 0x5708, // frameset + 0x7: 0x63a08, // onselect + 0x8: 0x71106, // system + 0xa: 0x64905, // width + 0xc: 0x2810b, // formenctype + 0xd: 0x11802, // ol + 0xe: 0x38f0b, // oncuechange + 0x10: 0x14b03, // bdo + 0x11: 0xe605, // audio + 0x12: 0x17a09, // draggable + 0x14: 0x2e905, // video + 0x15: 0x2a902, // mn + 0x16: 0x37f04, // menu + 0x17: 0x2c706, // poster + 0x19: 0xca06, // footer + 0x1a: 0x2a006, // method + 0x1b: 0x2b008, // datetime + 0x1c: 0x19507, // onabort + 0x1d: 0x1370e, // updateviacache + 0x1e: 0xd005, // async + 0x1f: 0x49506, // onload + 0x21: 0xea08, // oncancel + 0x22: 0x62908, // onseeked + 0x23: 0x2fa05, // image + 0x24: 0x5d812, // onrejectionhandled + 0x26: 0x17404, // link + 0x27: 0x51506, // output + 0x28: 0x32904, // head + 0x29: 0x4f70c, // onmouseleave + 0x2a: 0x57707, // onpaste + 0x2b: 0x59c09, // onplaying + 0x2c: 0x1c407, // colspan + 0x2f: 0x1bf05, // color + 0x30: 0x5f504, // size + 0x31: 0x2e00a, // http-equiv + 0x33: 0x601, // i + 0x34: 0x5510a, // onpagehide + 0x35: 0x68c14, // onunhandledrejection + 0x37: 0x42207, // onerror + 0x3a: 0x12c08, // basefont + 0x3f: 0x1303, // nav + 0x40: 0x17704, // kind + 0x41: 0x34f08, // readonly + 0x42: 0x30006, // mglyph + 0x44: 0x7102, // li + 0x46: 0x2cd06, // hidden + 0x47: 0x70e03, // svg + 0x48: 0x57b04, // step + 0x49: 0x23709, // integrity + 0x4a: 0x57e06, // public + 0x4c: 0x1a703, // col + 0x4d: 0x1870a, // blockquote + 0x4e: 0x34702, // h5 + 0x50: 0x5b108, // progress + 0x51: 0x5f505, // sizes + 0x52: 0x33d02, // h4 + 0x56: 0x32805, // thead + 0x57: 0x9507, // keytype + 0x58: 0x5af0a, // onprogress + 0x59: 0x44309, // inputmode + 0x5a: 0x3a909, // ondragend + 0x5d: 0x39a05, // oncut + 0x5e: 0x42f06, // spacer + 0x5f: 0x1a708, // colgroup + 0x62: 0x16502, // is + 0x65: 0xd002, // as + 0x66: 0x54009, // onoffline + 0x67: 0x32f06, // sorted + 0x69: 0x48510, // onlanguagechange + 0x6c: 0x4350c, // onhashchange + 0x6d: 0xbd04, // name + 0x6e: 0xc905, // tfoot + 0x6f: 0x55904, // desc + 0x70: 0x33503, // max + 0x72: 0x1ea06, // coords + 0x73: 0x30502, // h3 + 0x74: 0x6e70e, // onbeforeunload + 0x75: 0x3a04, // rows + 0x76: 0x63c06, // select + 0x77: 0xbf05, // meter + 0x78: 0x38306, // itemid + 0x79: 0x5340c, // onmousewheel + 0x7a: 0x5b806, // srcdoc + 0x7d: 0x19b05, // track + 0x7f: 0x31708, // itemtype + 0x82: 0x6302, // mo + 0x83: 0x41308, // onchange + 0x84: 0x32907, // headers + 0x85: 0x5cc0c, // onratechange + 0x86: 0x60819, // onsecuritypolicyviolation + 0x88: 0x49d08, // datalist + 0x89: 0x4e00b, // onmousedown + 0x8a: 0x1ef04, // slot + 0x8b: 0x4a810, // onloadedmetadata + 0x8c: 0x1a06, // accept + 0x8d: 0x26006, // object + 0x91: 0x6b30e, // onvolumechange + 0x92: 0x2107, // charset + 0x93: 0x26e13, // onautocompleteerror + 0x94: 0x8013, // allowpaymentrequest + 0x95: 0x2804, // body + 0x96: 0xdb07, // default + 0x97: 0x63c08, // selected + 0x98: 0x21604, // face + 0x99: 0x1e505, // shape + 0x9b: 0x68408, // ontoggle + 0x9e: 0x64b02, // dt + 0x9f: 0x7504, // mark + 0xa1: 0xb01, // u + 0xa4: 0x6ab08, // onunload + 0xa5: 0xf504, // loop + 0xa6: 0x16408, // disabled + 0xaa: 0x41b07, // onended + 0xab: 0x6f0a, // malignmark + 0xad: 0x67b09, // onsuspend + 0xae: 0x34905, // mtext + 0xaf: 0x64f06, // onsort + 0xb0: 0x55d08, // itemprop + 0xb3: 0x67109, // itemscope + 0xb4: 0x17305, // blink + 0xb6: 0x3a906, // ondrag + 0xb7: 0x6602, // ul + 0xb8: 0x26604, // form + 0xb9: 0x10a07, // sandbox + 0xba: 0x5705, // frame + 0xbb: 0x1505, // value + 0xbc: 0x66209, // onstorage + 0xbf: 0x6907, // acronym + 0xc0: 0x19a02, // rt + 0xc2: 0x202, // br + 0xc3: 0x21e08, // fieldset + 0xc4: 0x2880d, // typemustmatch + 0xc5: 0x6108, // nomodule + 0xc6: 0x4007, // noembed + 0xc7: 0x69e0d, // onbeforeprint + 0xc8: 0x19106, // button + 0xc9: 0x2ed07, // onclick + 0xca: 0x70407, // summary + 0xcd: 0xc304, // ruby + 0xce: 0x5bd05, // class + 0xcf: 0x3ec0b, // ondragstart + 0xd0: 0x22907, // caption + 0xd4: 0x9c0e, // allowusermedia + 0xd5: 0x4c70b, // onloadstart + 0xd9: 0x16b03, // div + 0xda: 0x4a104, // list + 0xdb: 0x32604, // math + 0xdc: 0x44305, // input + 0xdf: 0x3e20a, // ondragover + 0xe0: 0x2d602, // h2 + 0xe2: 0x1ae09, // plaintext + 0xe4: 0x4eb0c, // onmouseenter + 0xe7: 0x47107, // checked + 0xe8: 0x46803, // pre + 0xea: 0x35708, // multiple + 0xeb: 0x7903, // bdi + 0xec: 0x33509, // maxlength + 0xed: 0x8e01, // q + 0xee: 0x61f0a, // onauxclick + 0xf0: 0x57403, // wbr + 0xf2: 0x12c04, // base + 0xf3: 0x6e306, // option + 0xf5: 0x40b10, // ondurationchange + 0xf7: 0x5508, // noframes + 0xf9: 0x3fd08, // dropzone + 0xfb: 0x67505, // scope + 0xfc: 0xb308, // reversed + 0xfd: 0x3b20b, // ondragenter + 0xfe: 0x3f205, // start + 0xff: 0x11003, // xmp + 0x100: 0x5f907, // srclang + 0x101: 0x2ff03, // img + 0x104: 0x101, // b + 0x105: 0x24c03, // for + 0x106: 0xd805, // aside + 0x107: 0x44107, // oninput + 0x108: 0x34e04, // area + 0x109: 0x29c0a, // formmethod + 0x10a: 0x72604, // wrap + 0x10c: 0x23402, // rp + 0x10d: 0x4630a, // onkeypress + 0x10e: 0x5102, // tt + 0x110: 0x33f02, // mi + 0x111: 0x35f05, // muted + 0x112: 0xc703, // alt + 0x113: 0x1a004, // code + 0x114: 0x4202, // em + 0x115: 0x3bd0a, // ondragexit + 0x117: 0x3d04, // span + 0x119: 0x6d708, // manifest + 0x11a: 0x37f08, // menuitem + 0x11b: 0x58307, // content + 0x11d: 0x6c109, // onwaiting + 0x11f: 0x4be09, // onloadend + 0x121: 0x3760d, // oncontextmenu + 0x123: 0x5c606, // onblur + 0x124: 0x3f407, // article + 0x125: 0xba03, // dir + 0x126: 0xfe04, // ping + 0x127: 0x24408, // required + 0x128: 0x44d09, // oninvalid + 0x129: 0x7005, // align + 0x12b: 0x58204, // icon + 0x12c: 0x64d02, // h6 + 0x12d: 0x1c404, // cols + 0x12e: 0x2260a, // figcaption + 0x12f: 0x45609, // onkeydown + 0x130: 0x66b08, // onsubmit + 0x131: 0x14d09, // oncanplay + 0x132: 0x70b03, // sup + 0x133: 0xc01, // p + 0x135: 0x40209, // onemptied + 0x136: 0x38906, // oncopy + 0x137: 0x55c04, // cite + 0x138: 0x39f0a, // ondblclick + 0x13a: 0x5030b, // onmousemove + 0x13c: 0x66d03, // sub + 0x13d: 0x47f03, // rel + 0x13e: 0xf708, // optgroup + 0x142: 0x3a07, // rowspan + 0x143: 0x37006, // source + 0x144: 0x20e08, // noscript + 0x145: 0x56304, // open + 0x146: 0x1fc03, // ins + 0x147: 0x24c0d, // foreignObject + 0x148: 0x5a50a, // onpopstate + 0x14a: 0x28507, // enctype + 0x14b: 0x26e0e, // onautocomplete + 0x14c: 0x34a08, // textarea + 0x14e: 0x2700c, // autocomplete + 0x14f: 0x15702, // hr + 0x150: 0x1de08, // controls + 0x151: 0xda02, // id + 0x153: 0x22e0c, // onafterprint + 0x155: 0x2590d, // foreignobject + 0x156: 0x31f07, // marquee + 0x157: 0x59207, // onpause + 0x158: 0x5e602, // dl + 0x159: 0x14306, // height + 0x15a: 0x33f03, // min + 0x15b: 0xba07, // dirname + 0x15c: 0x1b609, // translate + 0x15d: 0x14704, // html + 0x15e: 0x33f09, // minlength + 0x15f: 0x47e07, // preload + 0x160: 0x71408, // template + 0x161: 0x3d70b, // ondragleave + 0x164: 0x5b803, // src + 0x165: 0x6dd06, // strong + 0x167: 0x4c04, // samp + 0x168: 0x6f307, // address + 0x169: 0x54908, // ononline + 0x16b: 0x1120b, // placeholder + 0x16c: 0x2bc06, // target + 0x16d: 0x1fe05, // small + 0x16e: 0x6ca07, // onwheel + 0x16f: 0x1c90a, // annotation + 0x170: 0x46c0a, // spellcheck + 0x171: 0x4607, // details + 0x172: 0xd406, // canvas + 0x173: 0x10209, // autofocus + 0x174: 0xc05, // param + 0x176: 0x45b08, // download + 0x177: 0x44a03, // del + 0x178: 0x36407, // onclose + 0x179: 0x7803, // kbd + 0x17a: 0x31106, // applet + 0x17b: 0x2d804, // href + 0x17c: 0x5f108, // onresize + 0x17e: 0x4950c, // onloadeddata + 0x180: 0x8b02, // tr + 0x181: 0x2b80a, // formtarget + 0x182: 0xe105, // title + 0x183: 0x6ff05, // style + 0x184: 0x9106, // strike + 0x185: 0x59606, // usemap + 0x186: 0x2f406, // iframe + 0x187: 0x1004, // main + 0x189: 0xae07, // picture + 0x18c: 0x30e05, // ismap + 0x18e: 0x49d04, // data + 0x18f: 0xf105, // label + 0x191: 0x3c90e, // referrerpolicy + 0x192: 0x15602, // th + 0x194: 0x52e06, // prompt + 0x195: 0x5c107, // section + 0x197: 0x6d107, // optimum + 0x198: 0x2d304, // high + 0x199: 0x15c02, // h1 + 0x19a: 0x65909, // onstalled + 0x19b: 0x16d03, // var + 0x19c: 0x13304, // time + 0x19e: 0x67402, // ms + 0x19f: 0x32906, // header + 0x1a0: 0x4d209, // onmessage + 0x1a1: 0x56605, // nonce + 0x1a2: 0x2660a, // formaction + 0x1a3: 0x21806, // center + 0x1a4: 0x3704, // nobr + 0x1a5: 0x58d05, // table + 0x1a6: 0x4a107, // listing + 0x1a7: 0x18106, // legend + 0x1a9: 0x29309, // challenge + 0x1aa: 0x24006, // figure + 0x1ab: 0xa505, // media + 0x1ae: 0x9804, // type + 0x1af: 0x13004, // font + 0x1b0: 0x4d20e, // onmessageerror + 0x1b1: 0x36908, // seamless + 0x1b2: 0x5f03, // dfn + 0x1b3: 0x1a205, // defer + 0x1b4: 0x8203, // low + 0x1b5: 0x63109, // onseeking + 0x1b6: 0x51b0b, // onmouseover + 0x1b7: 0x2aa0a, // novalidate + 0x1b8: 0x71c0a, // workertype + 0x1ba: 0x3c507, // itemref + 0x1bd: 0x1, // a + 0x1be: 0x31003, // map + 0x1bf: 0x1310c, // ontimeupdate + 0x1c0: 0x15e07, // bgsound + 0x1c1: 0x3206, // keygen + 0x1c2: 0x2705, // tbody + 0x1c5: 0x64406, // onshow + 0x1c7: 0x2501, // s + 0x1c8: 0x4f07, // pattern + 0x1cc: 0x14d10, // oncanplaythrough + 0x1ce: 0x2cf02, // dd + 0x1cf: 0x6f906, // srcset + 0x1d0: 0x17003, // big + 0x1d2: 0x65108, // sortable + 0x1d3: 0x47807, // onkeyup + 0x1d5: 0x59c06, // onplay + 0x1d7: 0x4b004, // meta + 0x1d8: 0x3fb06, // ondrop + 0x1da: 0x60008, // onscroll + 0x1db: 0x1f30b, // crossorigin + 0x1dc: 0x56b0a, // onpageshow + 0x1dd: 0x4, // abbr + 0x1de: 0x5e02, // td + 0x1df: 0x5830f, // contenteditable + 0x1e0: 0x26a06, // action + 0x1e1: 0x1210b, // playsinline + 0x1e2: 0x42907, // onfocus + 0x1e3: 0x2d808, // hreflang + 0x1e5: 0x50e0a, // onmouseout + 0x1e6: 0x5ea07, // onreset + 0x1e7: 0x11d08, // autoplay + 0x1ea: 0x67506, // scoped + 0x1ec: 0x30a, // radiogroup + 0x1ee: 0x3780b, // contextmenu + 0x1ef: 0x52609, // onmouseup + 0x1f1: 0x2c206, // hgroup + 0x1f2: 0x2000f, // allowfullscreen + 0x1f3: 0x4b608, // tabindex + 0x1f6: 0x30707, // isindex + 0x1f7: 0x1a0e, // accept-charset + 0x1f8: 0x2a60e, // formnovalidate + 0x1fb: 0x1c90e, // annotation-xml + 0x1fc: 0x4205, // embed + 0x1fd: 0x21006, // script + 0x1fe: 0x7a06, // dialog + 0x1ff: 0x1d707, // command +} + +const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobro" + + "wspanoembedetailsampatternoframesetdfnomoduleacronymalignmar" + + "kbdialogallowpaymentrequestrikeytypeallowusermediagroupictur" + + "eversedirnameterubyaltfooterasyncanvasidefaultitleaudioncanc" + + "elabelooptgroupingautofocusandboxmplaceholderautoplaysinline" + + "basefontimeupdateviacacheightmlbdoncanplaythrough1bgsoundisa" + + "bledivarbigblinkindraggablegendblockquotebuttonabortrackcode" + + "fercolgrouplaintextranslatecolorcolspannotation-xmlcommandco" + + "ntrolshapecoordslotcrossoriginsmallowfullscreenoscriptfacent" + + "erfieldsetfigcaptionafterprintegrityfigurequiredforeignObjec" + + "tforeignobjectformactionautocompleteerrorformenctypemustmatc" + + "hallengeformmethodformnovalidatetimeformtargethgrouposterhid" + + "denhigh2hreflanghttp-equivideonclickiframeimageimglyph3isind" + + "exismappletitemtypemarqueematheadersortedmaxlength4minlength" + + "5mtextareadonlymultiplemutedoncloseamlessourceoncontextmenui" + + "temidoncopyoncuechangeoncutondblclickondragendondragenterond" + + "ragexitemreferrerpolicyondragleaveondragoverondragstarticleo" + + "ndropzonemptiedondurationchangeonendedonerroronfocuspaceronh" + + "ashchangeoninputmodeloninvalidonkeydownloadonkeypresspellche" + + "ckedonkeyupreloadonlanguagechangeonloadeddatalistingonloaded" + + "metadatabindexonloadendonloadstartonmessageerroronmousedowno" + + "nmouseenteronmouseleaveonmousemoveonmouseoutputonmouseoveron" + + "mouseupromptonmousewheelonofflineononlineonpagehidescitempro" + + "penonceonpageshowbronpastepublicontenteditableonpausemaponpl" + + "ayingonpopstateonprogressrcdoclassectionbluronratechangeonre" + + "jectionhandledonresetonresizesrclangonscrollonsecuritypolicy" + + "violationauxclickonseekedonseekingonselectedonshowidth6onsor" + + "tableonstalledonstorageonsubmitemscopedonsuspendontoggleonun" + + "handledrejectionbeforeprintonunloadonvolumechangeonwaitingon" + + "wheeloptimumanifestrongoptionbeforeunloaddressrcsetstylesumm" + + "arysupsvgsystemplateworkertypewrap" diff --git a/vendor/golang.org/x/net/html/charset/charset.go b/vendor/golang.org/x/net/html/charset/charset.go new file mode 100644 index 0000000..13bed15 --- /dev/null +++ b/vendor/golang.org/x/net/html/charset/charset.go @@ -0,0 +1,257 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package charset provides common text encodings for HTML documents. +// +// The mapping from encoding labels to encodings is defined at +// https://encoding.spec.whatwg.org/. +package charset // import "golang.org/x/net/html/charset" + +import ( + "bytes" + "fmt" + "io" + "mime" + "strings" + "unicode/utf8" + + "golang.org/x/net/html" + "golang.org/x/text/encoding" + "golang.org/x/text/encoding/charmap" + "golang.org/x/text/encoding/htmlindex" + "golang.org/x/text/transform" +) + +// Lookup returns the encoding with the specified label, and its canonical +// name. It returns nil and the empty string if label is not one of the +// standard encodings for HTML. Matching is case-insensitive and ignores +// leading and trailing whitespace. Encoders will use HTML escape sequences for +// runes that are not supported by the character set. +func Lookup(label string) (e encoding.Encoding, name string) { + e, err := htmlindex.Get(label) + if err != nil { + return nil, "" + } + name, _ = htmlindex.Name(e) + return &htmlEncoding{e}, name +} + +type htmlEncoding struct{ encoding.Encoding } + +func (h *htmlEncoding) NewEncoder() *encoding.Encoder { + // HTML requires a non-terminating legacy encoder. We use HTML escapes to + // substitute unsupported code points. + return encoding.HTMLEscapeUnsupported(h.Encoding.NewEncoder()) +} + +// DetermineEncoding determines the encoding of an HTML document by examining +// up to the first 1024 bytes of content and the declared Content-Type. +// +// See http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#determining-the-character-encoding +func DetermineEncoding(content []byte, contentType string) (e encoding.Encoding, name string, certain bool) { + if len(content) > 1024 { + content = content[:1024] + } + + for _, b := range boms { + if bytes.HasPrefix(content, b.bom) { + e, name = Lookup(b.enc) + return e, name, true + } + } + + if _, params, err := mime.ParseMediaType(contentType); err == nil { + if cs, ok := params["charset"]; ok { + if e, name = Lookup(cs); e != nil { + return e, name, true + } + } + } + + if len(content) > 0 { + e, name = prescan(content) + if e != nil { + return e, name, false + } + } + + // Try to detect UTF-8. + // First eliminate any partial rune at the end. + for i := len(content) - 1; i >= 0 && i > len(content)-4; i-- { + b := content[i] + if b < 0x80 { + break + } + if utf8.RuneStart(b) { + content = content[:i] + break + } + } + hasHighBit := false + for _, c := range content { + if c >= 0x80 { + hasHighBit = true + break + } + } + if hasHighBit && utf8.Valid(content) { + return encoding.Nop, "utf-8", false + } + + // TODO: change default depending on user's locale? + return charmap.Windows1252, "windows-1252", false +} + +// NewReader returns an io.Reader that converts the content of r to UTF-8. +// It calls DetermineEncoding to find out what r's encoding is. +func NewReader(r io.Reader, contentType string) (io.Reader, error) { + preview := make([]byte, 1024) + n, err := io.ReadFull(r, preview) + switch { + case err == io.ErrUnexpectedEOF: + preview = preview[:n] + r = bytes.NewReader(preview) + case err != nil: + return nil, err + default: + r = io.MultiReader(bytes.NewReader(preview), r) + } + + if e, _, _ := DetermineEncoding(preview, contentType); e != encoding.Nop { + r = transform.NewReader(r, e.NewDecoder()) + } + return r, nil +} + +// NewReaderLabel returns a reader that converts from the specified charset to +// UTF-8. It uses Lookup to find the encoding that corresponds to label, and +// returns an error if Lookup returns nil. It is suitable for use as +// encoding/xml.Decoder's CharsetReader function. +func NewReaderLabel(label string, input io.Reader) (io.Reader, error) { + e, _ := Lookup(label) + if e == nil { + return nil, fmt.Errorf("unsupported charset: %q", label) + } + return transform.NewReader(input, e.NewDecoder()), nil +} + +func prescan(content []byte) (e encoding.Encoding, name string) { + z := html.NewTokenizer(bytes.NewReader(content)) + for { + switch z.Next() { + case html.ErrorToken: + return nil, "" + + case html.StartTagToken, html.SelfClosingTagToken: + tagName, hasAttr := z.TagName() + if !bytes.Equal(tagName, []byte("meta")) { + continue + } + attrList := make(map[string]bool) + gotPragma := false + + const ( + dontKnow = iota + doNeedPragma + doNotNeedPragma + ) + needPragma := dontKnow + + name = "" + e = nil + for hasAttr { + var key, val []byte + key, val, hasAttr = z.TagAttr() + ks := string(key) + if attrList[ks] { + continue + } + attrList[ks] = true + for i, c := range val { + if 'A' <= c && c <= 'Z' { + val[i] = c + 0x20 + } + } + + switch ks { + case "http-equiv": + if bytes.Equal(val, []byte("content-type")) { + gotPragma = true + } + + case "content": + if e == nil { + name = fromMetaElement(string(val)) + if name != "" { + e, name = Lookup(name) + if e != nil { + needPragma = doNeedPragma + } + } + } + + case "charset": + e, name = Lookup(string(val)) + needPragma = doNotNeedPragma + } + } + + if needPragma == dontKnow || needPragma == doNeedPragma && !gotPragma { + continue + } + + if strings.HasPrefix(name, "utf-16") { + name = "utf-8" + e = encoding.Nop + } + + if e != nil { + return e, name + } + } + } +} + +func fromMetaElement(s string) string { + for s != "" { + csLoc := strings.Index(s, "charset") + if csLoc == -1 { + return "" + } + s = s[csLoc+len("charset"):] + s = strings.TrimLeft(s, " \t\n\f\r") + if !strings.HasPrefix(s, "=") { + continue + } + s = s[1:] + s = strings.TrimLeft(s, " \t\n\f\r") + if s == "" { + return "" + } + if q := s[0]; q == '"' || q == '\'' { + s = s[1:] + closeQuote := strings.IndexRune(s, rune(q)) + if closeQuote == -1 { + return "" + } + return s[:closeQuote] + } + + end := strings.IndexAny(s, "; \t\n\f\r") + if end == -1 { + end = len(s) + } + return s[:end] + } + return "" +} + +var boms = []struct { + bom []byte + enc string +}{ + {[]byte{0xfe, 0xff}, "utf-16be"}, + {[]byte{0xff, 0xfe}, "utf-16le"}, + {[]byte{0xef, 0xbb, 0xbf}, "utf-8"}, +} diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go new file mode 100644 index 0000000..b37e621 --- /dev/null +++ b/vendor/golang.org/x/net/html/const.go @@ -0,0 +1,104 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +// Section 12.2.3.2 of the HTML5 specification says "The following elements +// have varying levels of special parsing rules". +// https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements +var isSpecialElementMap = map[string]bool{ + "address": true, + "applet": true, + "area": true, + "article": true, + "aside": true, + "base": true, + "basefont": true, + "bgsound": true, + "blockquote": true, + "body": true, + "br": true, + "button": true, + "caption": true, + "center": true, + "col": true, + "colgroup": true, + "dd": true, + "details": true, + "dir": true, + "div": true, + "dl": true, + "dt": true, + "embed": true, + "fieldset": true, + "figcaption": true, + "figure": true, + "footer": true, + "form": true, + "frame": true, + "frameset": true, + "h1": true, + "h2": true, + "h3": true, + "h4": true, + "h5": true, + "h6": true, + "head": true, + "header": true, + "hgroup": true, + "hr": true, + "html": true, + "iframe": true, + "img": true, + "input": true, + "isindex": true, // The 'isindex' element has been removed, but keep it for backwards compatibility. + "keygen": true, + "li": true, + "link": true, + "listing": true, + "main": true, + "marquee": true, + "menu": true, + "meta": true, + "nav": true, + "noembed": true, + "noframes": true, + "noscript": true, + "object": true, + "ol": true, + "p": true, + "param": true, + "plaintext": true, + "pre": true, + "script": true, + "section": true, + "select": true, + "source": true, + "style": true, + "summary": true, + "table": true, + "tbody": true, + "td": true, + "template": true, + "textarea": true, + "tfoot": true, + "th": true, + "thead": true, + "title": true, + "tr": true, + "track": true, + "ul": true, + "wbr": true, + "xmp": true, +} + +func isSpecialElement(element *Node) bool { + switch element.Namespace { + case "", "html": + return isSpecialElementMap[element.Data] + case "svg": + return element.Data == "foreignObject" + } + return false +} diff --git a/vendor/golang.org/x/net/html/doc.go b/vendor/golang.org/x/net/html/doc.go new file mode 100644 index 0000000..822ed42 --- /dev/null +++ b/vendor/golang.org/x/net/html/doc.go @@ -0,0 +1,106 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package html implements an HTML5-compliant tokenizer and parser. + +Tokenization is done by creating a Tokenizer for an io.Reader r. It is the +caller's responsibility to ensure that r provides UTF-8 encoded HTML. + + z := html.NewTokenizer(r) + +Given a Tokenizer z, the HTML is tokenized by repeatedly calling z.Next(), +which parses the next token and returns its type, or an error: + + for { + tt := z.Next() + if tt == html.ErrorToken { + // ... + return ... + } + // Process the current token. + } + +There are two APIs for retrieving the current token. The high-level API is to +call Token; the low-level API is to call Text or TagName / TagAttr. Both APIs +allow optionally calling Raw after Next but before Token, Text, TagName, or +TagAttr. In EBNF notation, the valid call sequence per token is: + + Next {Raw} [ Token | Text | TagName {TagAttr} ] + +Token returns an independent data structure that completely describes a token. +Entities (such as "<") are unescaped, tag names and attribute keys are +lower-cased, and attributes are collected into a []Attribute. For example: + + for { + if z.Next() == html.ErrorToken { + // Returning io.EOF indicates success. + return z.Err() + } + emitToken(z.Token()) + } + +The low-level API performs fewer allocations and copies, but the contents of +the []byte values returned by Text, TagName and TagAttr may change on the next +call to Next. For example, to extract an HTML page's anchor text: + + depth := 0 + for { + tt := z.Next() + switch tt { + case html.ErrorToken: + return z.Err() + case html.TextToken: + if depth > 0 { + // emitBytes should copy the []byte it receives, + // if it doesn't process it immediately. + emitBytes(z.Text()) + } + case html.StartTagToken, html.EndTagToken: + tn, _ := z.TagName() + if len(tn) == 1 && tn[0] == 'a' { + if tt == html.StartTagToken { + depth++ + } else { + depth-- + } + } + } + } + +Parsing is done by calling Parse with an io.Reader, which returns the root of +the parse tree (the document element) as a *Node. It is the caller's +responsibility to ensure that the Reader provides UTF-8 encoded HTML. For +example, to process each anchor node in depth-first order: + + doc, err := html.Parse(r) + if err != nil { + // ... + } + var f func(*html.Node) + f = func(n *html.Node) { + if n.Type == html.ElementNode && n.Data == "a" { + // Do something with n... + } + for c := n.FirstChild; c != nil; c = c.NextSibling { + f(c) + } + } + f(doc) + +The relevant specifications include: +https://html.spec.whatwg.org/multipage/syntax.html and +https://html.spec.whatwg.org/multipage/syntax.html#tokenization +*/ +package html // import "golang.org/x/net/html" + +// The tokenization algorithm implemented by this package is not a line-by-line +// transliteration of the relatively verbose state-machine in the WHATWG +// specification. A more direct approach is used instead, where the program +// counter implies the state, such as whether it is tokenizing a tag or a text +// node. Specification compliance is verified by checking expected and actual +// outputs over a test suite rather than aiming for algorithmic fidelity. + +// TODO(nigeltao): Does a DOM API belong in this package or a separate one? +// TODO(nigeltao): How does parsing interact with a JavaScript engine? diff --git a/vendor/golang.org/x/net/html/doctype.go b/vendor/golang.org/x/net/html/doctype.go new file mode 100644 index 0000000..c484e5a --- /dev/null +++ b/vendor/golang.org/x/net/html/doctype.go @@ -0,0 +1,156 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import ( + "strings" +) + +// parseDoctype parses the data from a DoctypeToken into a name, +// public identifier, and system identifier. It returns a Node whose Type +// is DoctypeNode, whose Data is the name, and which has attributes +// named "system" and "public" for the two identifiers if they were present. +// quirks is whether the document should be parsed in "quirks mode". +func parseDoctype(s string) (n *Node, quirks bool) { + n = &Node{Type: DoctypeNode} + + // Find the name. + space := strings.IndexAny(s, whitespace) + if space == -1 { + space = len(s) + } + n.Data = s[:space] + // The comparison to "html" is case-sensitive. + if n.Data != "html" { + quirks = true + } + n.Data = strings.ToLower(n.Data) + s = strings.TrimLeft(s[space:], whitespace) + + if len(s) < 6 { + // It can't start with "PUBLIC" or "SYSTEM". + // Ignore the rest of the string. + return n, quirks || s != "" + } + + key := strings.ToLower(s[:6]) + s = s[6:] + for key == "public" || key == "system" { + s = strings.TrimLeft(s, whitespace) + if s == "" { + break + } + quote := s[0] + if quote != '"' && quote != '\'' { + break + } + s = s[1:] + q := strings.IndexRune(s, rune(quote)) + var id string + if q == -1 { + id = s + s = "" + } else { + id = s[:q] + s = s[q+1:] + } + n.Attr = append(n.Attr, Attribute{Key: key, Val: id}) + if key == "public" { + key = "system" + } else { + key = "" + } + } + + if key != "" || s != "" { + quirks = true + } else if len(n.Attr) > 0 { + if n.Attr[0].Key == "public" { + public := strings.ToLower(n.Attr[0].Val) + switch public { + case "-//w3o//dtd w3 html strict 3.0//en//", "-/w3d/dtd html 4.0 transitional/en", "html": + quirks = true + default: + for _, q := range quirkyIDs { + if strings.HasPrefix(public, q) { + quirks = true + break + } + } + } + // The following two public IDs only cause quirks mode if there is no system ID. + if len(n.Attr) == 1 && (strings.HasPrefix(public, "-//w3c//dtd html 4.01 frameset//") || + strings.HasPrefix(public, "-//w3c//dtd html 4.01 transitional//")) { + quirks = true + } + } + if lastAttr := n.Attr[len(n.Attr)-1]; lastAttr.Key == "system" && + strings.ToLower(lastAttr.Val) == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd" { + quirks = true + } + } + + return n, quirks +} + +// quirkyIDs is a list of public doctype identifiers that cause a document +// to be interpreted in quirks mode. The identifiers should be in lower case. +var quirkyIDs = []string{ + "+//silmaril//dtd html pro v0r11 19970101//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//", +} diff --git a/vendor/golang.org/x/net/html/entity.go b/vendor/golang.org/x/net/html/entity.go new file mode 100644 index 0000000..a50c04c --- /dev/null +++ b/vendor/golang.org/x/net/html/entity.go @@ -0,0 +1,2253 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +// All entities that do not end with ';' are 6 or fewer bytes long. +const longestEntityWithoutSemicolon = 6 + +// entity is a map from HTML entity names to their values. The semicolon matters: +// https://html.spec.whatwg.org/multipage/syntax.html#named-character-references +// lists both "amp" and "amp;" as two separate entries. +// +// Note that the HTML5 list is larger than the HTML4 list at +// http://www.w3.org/TR/html4/sgml/entities.html +var entity = map[string]rune{ + "AElig;": '\U000000C6', + "AMP;": '\U00000026', + "Aacute;": '\U000000C1', + "Abreve;": '\U00000102', + "Acirc;": '\U000000C2', + "Acy;": '\U00000410', + "Afr;": '\U0001D504', + "Agrave;": '\U000000C0', + "Alpha;": '\U00000391', + "Amacr;": '\U00000100', + "And;": '\U00002A53', + "Aogon;": '\U00000104', + "Aopf;": '\U0001D538', + "ApplyFunction;": '\U00002061', + "Aring;": '\U000000C5', + "Ascr;": '\U0001D49C', + "Assign;": '\U00002254', + "Atilde;": '\U000000C3', + "Auml;": '\U000000C4', + "Backslash;": '\U00002216', + "Barv;": '\U00002AE7', + "Barwed;": '\U00002306', + "Bcy;": '\U00000411', + "Because;": '\U00002235', + "Bernoullis;": '\U0000212C', + "Beta;": '\U00000392', + "Bfr;": '\U0001D505', + "Bopf;": '\U0001D539', + "Breve;": '\U000002D8', + "Bscr;": '\U0000212C', + "Bumpeq;": '\U0000224E', + "CHcy;": '\U00000427', + "COPY;": '\U000000A9', + "Cacute;": '\U00000106', + "Cap;": '\U000022D2', + "CapitalDifferentialD;": '\U00002145', + "Cayleys;": '\U0000212D', + "Ccaron;": '\U0000010C', + "Ccedil;": '\U000000C7', + "Ccirc;": '\U00000108', + "Cconint;": '\U00002230', + "Cdot;": '\U0000010A', + "Cedilla;": '\U000000B8', + "CenterDot;": '\U000000B7', + "Cfr;": '\U0000212D', + "Chi;": '\U000003A7', + "CircleDot;": '\U00002299', + "CircleMinus;": '\U00002296', + "CirclePlus;": '\U00002295', + "CircleTimes;": '\U00002297', + "ClockwiseContourIntegral;": '\U00002232', + "CloseCurlyDoubleQuote;": '\U0000201D', + "CloseCurlyQuote;": '\U00002019', + "Colon;": '\U00002237', + "Colone;": '\U00002A74', + "Congruent;": '\U00002261', + "Conint;": '\U0000222F', + "ContourIntegral;": '\U0000222E', + "Copf;": '\U00002102', + "Coproduct;": '\U00002210', + "CounterClockwiseContourIntegral;": '\U00002233', + "Cross;": '\U00002A2F', + "Cscr;": '\U0001D49E', + "Cup;": '\U000022D3', + "CupCap;": '\U0000224D', + "DD;": '\U00002145', + "DDotrahd;": '\U00002911', + "DJcy;": '\U00000402', + "DScy;": '\U00000405', + "DZcy;": '\U0000040F', + "Dagger;": '\U00002021', + "Darr;": '\U000021A1', + "Dashv;": '\U00002AE4', + "Dcaron;": '\U0000010E', + "Dcy;": '\U00000414', + "Del;": '\U00002207', + "Delta;": '\U00000394', + "Dfr;": '\U0001D507', + "DiacriticalAcute;": '\U000000B4', + "DiacriticalDot;": '\U000002D9', + "DiacriticalDoubleAcute;": '\U000002DD', + "DiacriticalGrave;": '\U00000060', + "DiacriticalTilde;": '\U000002DC', + "Diamond;": '\U000022C4', + "DifferentialD;": '\U00002146', + "Dopf;": '\U0001D53B', + "Dot;": '\U000000A8', + "DotDot;": '\U000020DC', + "DotEqual;": '\U00002250', + "DoubleContourIntegral;": '\U0000222F', + "DoubleDot;": '\U000000A8', + "DoubleDownArrow;": '\U000021D3', + "DoubleLeftArrow;": '\U000021D0', + "DoubleLeftRightArrow;": '\U000021D4', + "DoubleLeftTee;": '\U00002AE4', + "DoubleLongLeftArrow;": '\U000027F8', + "DoubleLongLeftRightArrow;": '\U000027FA', + "DoubleLongRightArrow;": '\U000027F9', + "DoubleRightArrow;": '\U000021D2', + "DoubleRightTee;": '\U000022A8', + "DoubleUpArrow;": '\U000021D1', + "DoubleUpDownArrow;": '\U000021D5', + "DoubleVerticalBar;": '\U00002225', + "DownArrow;": '\U00002193', + "DownArrowBar;": '\U00002913', + "DownArrowUpArrow;": '\U000021F5', + "DownBreve;": '\U00000311', + "DownLeftRightVector;": '\U00002950', + "DownLeftTeeVector;": '\U0000295E', + "DownLeftVector;": '\U000021BD', + "DownLeftVectorBar;": '\U00002956', + "DownRightTeeVector;": '\U0000295F', + "DownRightVector;": '\U000021C1', + "DownRightVectorBar;": '\U00002957', + "DownTee;": '\U000022A4', + "DownTeeArrow;": '\U000021A7', + "Downarrow;": '\U000021D3', + "Dscr;": '\U0001D49F', + "Dstrok;": '\U00000110', + "ENG;": '\U0000014A', + "ETH;": '\U000000D0', + "Eacute;": '\U000000C9', + "Ecaron;": '\U0000011A', + "Ecirc;": '\U000000CA', + "Ecy;": '\U0000042D', + "Edot;": '\U00000116', + "Efr;": '\U0001D508', + "Egrave;": '\U000000C8', + "Element;": '\U00002208', + "Emacr;": '\U00000112', + "EmptySmallSquare;": '\U000025FB', + "EmptyVerySmallSquare;": '\U000025AB', + "Eogon;": '\U00000118', + "Eopf;": '\U0001D53C', + "Epsilon;": '\U00000395', + "Equal;": '\U00002A75', + "EqualTilde;": '\U00002242', + "Equilibrium;": '\U000021CC', + "Escr;": '\U00002130', + "Esim;": '\U00002A73', + "Eta;": '\U00000397', + "Euml;": '\U000000CB', + "Exists;": '\U00002203', + "ExponentialE;": '\U00002147', + "Fcy;": '\U00000424', + "Ffr;": '\U0001D509', + "FilledSmallSquare;": '\U000025FC', + "FilledVerySmallSquare;": '\U000025AA', + "Fopf;": '\U0001D53D', + "ForAll;": '\U00002200', + "Fouriertrf;": '\U00002131', + "Fscr;": '\U00002131', + "GJcy;": '\U00000403', + "GT;": '\U0000003E', + "Gamma;": '\U00000393', + "Gammad;": '\U000003DC', + "Gbreve;": '\U0000011E', + "Gcedil;": '\U00000122', + "Gcirc;": '\U0000011C', + "Gcy;": '\U00000413', + "Gdot;": '\U00000120', + "Gfr;": '\U0001D50A', + "Gg;": '\U000022D9', + "Gopf;": '\U0001D53E', + "GreaterEqual;": '\U00002265', + "GreaterEqualLess;": '\U000022DB', + "GreaterFullEqual;": '\U00002267', + "GreaterGreater;": '\U00002AA2', + "GreaterLess;": '\U00002277', + "GreaterSlantEqual;": '\U00002A7E', + "GreaterTilde;": '\U00002273', + "Gscr;": '\U0001D4A2', + "Gt;": '\U0000226B', + "HARDcy;": '\U0000042A', + "Hacek;": '\U000002C7', + "Hat;": '\U0000005E', + "Hcirc;": '\U00000124', + "Hfr;": '\U0000210C', + "HilbertSpace;": '\U0000210B', + "Hopf;": '\U0000210D', + "HorizontalLine;": '\U00002500', + "Hscr;": '\U0000210B', + "Hstrok;": '\U00000126', + "HumpDownHump;": '\U0000224E', + "HumpEqual;": '\U0000224F', + "IEcy;": '\U00000415', + "IJlig;": '\U00000132', + "IOcy;": '\U00000401', + "Iacute;": '\U000000CD', + "Icirc;": '\U000000CE', + "Icy;": '\U00000418', + "Idot;": '\U00000130', + "Ifr;": '\U00002111', + "Igrave;": '\U000000CC', + "Im;": '\U00002111', + "Imacr;": '\U0000012A', + "ImaginaryI;": '\U00002148', + "Implies;": '\U000021D2', + "Int;": '\U0000222C', + "Integral;": '\U0000222B', + "Intersection;": '\U000022C2', + "InvisibleComma;": '\U00002063', + "InvisibleTimes;": '\U00002062', + "Iogon;": '\U0000012E', + "Iopf;": '\U0001D540', + "Iota;": '\U00000399', + "Iscr;": '\U00002110', + "Itilde;": '\U00000128', + "Iukcy;": '\U00000406', + "Iuml;": '\U000000CF', + "Jcirc;": '\U00000134', + "Jcy;": '\U00000419', + "Jfr;": '\U0001D50D', + "Jopf;": '\U0001D541', + "Jscr;": '\U0001D4A5', + "Jsercy;": '\U00000408', + "Jukcy;": '\U00000404', + "KHcy;": '\U00000425', + "KJcy;": '\U0000040C', + "Kappa;": '\U0000039A', + "Kcedil;": '\U00000136', + "Kcy;": '\U0000041A', + "Kfr;": '\U0001D50E', + "Kopf;": '\U0001D542', + "Kscr;": '\U0001D4A6', + "LJcy;": '\U00000409', + "LT;": '\U0000003C', + "Lacute;": '\U00000139', + "Lambda;": '\U0000039B', + "Lang;": '\U000027EA', + "Laplacetrf;": '\U00002112', + "Larr;": '\U0000219E', + "Lcaron;": '\U0000013D', + "Lcedil;": '\U0000013B', + "Lcy;": '\U0000041B', + "LeftAngleBracket;": '\U000027E8', + "LeftArrow;": '\U00002190', + "LeftArrowBar;": '\U000021E4', + "LeftArrowRightArrow;": '\U000021C6', + "LeftCeiling;": '\U00002308', + "LeftDoubleBracket;": '\U000027E6', + "LeftDownTeeVector;": '\U00002961', + "LeftDownVector;": '\U000021C3', + "LeftDownVectorBar;": '\U00002959', + "LeftFloor;": '\U0000230A', + "LeftRightArrow;": '\U00002194', + "LeftRightVector;": '\U0000294E', + "LeftTee;": '\U000022A3', + "LeftTeeArrow;": '\U000021A4', + "LeftTeeVector;": '\U0000295A', + "LeftTriangle;": '\U000022B2', + "LeftTriangleBar;": '\U000029CF', + "LeftTriangleEqual;": '\U000022B4', + "LeftUpDownVector;": '\U00002951', + "LeftUpTeeVector;": '\U00002960', + "LeftUpVector;": '\U000021BF', + "LeftUpVectorBar;": '\U00002958', + "LeftVector;": '\U000021BC', + "LeftVectorBar;": '\U00002952', + "Leftarrow;": '\U000021D0', + "Leftrightarrow;": '\U000021D4', + "LessEqualGreater;": '\U000022DA', + "LessFullEqual;": '\U00002266', + "LessGreater;": '\U00002276', + "LessLess;": '\U00002AA1', + "LessSlantEqual;": '\U00002A7D', + "LessTilde;": '\U00002272', + "Lfr;": '\U0001D50F', + "Ll;": '\U000022D8', + "Lleftarrow;": '\U000021DA', + "Lmidot;": '\U0000013F', + "LongLeftArrow;": '\U000027F5', + "LongLeftRightArrow;": '\U000027F7', + "LongRightArrow;": '\U000027F6', + "Longleftarrow;": '\U000027F8', + "Longleftrightarrow;": '\U000027FA', + "Longrightarrow;": '\U000027F9', + "Lopf;": '\U0001D543', + "LowerLeftArrow;": '\U00002199', + "LowerRightArrow;": '\U00002198', + "Lscr;": '\U00002112', + "Lsh;": '\U000021B0', + "Lstrok;": '\U00000141', + "Lt;": '\U0000226A', + "Map;": '\U00002905', + "Mcy;": '\U0000041C', + "MediumSpace;": '\U0000205F', + "Mellintrf;": '\U00002133', + "Mfr;": '\U0001D510', + "MinusPlus;": '\U00002213', + "Mopf;": '\U0001D544', + "Mscr;": '\U00002133', + "Mu;": '\U0000039C', + "NJcy;": '\U0000040A', + "Nacute;": '\U00000143', + "Ncaron;": '\U00000147', + "Ncedil;": '\U00000145', + "Ncy;": '\U0000041D', + "NegativeMediumSpace;": '\U0000200B', + "NegativeThickSpace;": '\U0000200B', + "NegativeThinSpace;": '\U0000200B', + "NegativeVeryThinSpace;": '\U0000200B', + "NestedGreaterGreater;": '\U0000226B', + "NestedLessLess;": '\U0000226A', + "NewLine;": '\U0000000A', + "Nfr;": '\U0001D511', + "NoBreak;": '\U00002060', + "NonBreakingSpace;": '\U000000A0', + "Nopf;": '\U00002115', + "Not;": '\U00002AEC', + "NotCongruent;": '\U00002262', + "NotCupCap;": '\U0000226D', + "NotDoubleVerticalBar;": '\U00002226', + "NotElement;": '\U00002209', + "NotEqual;": '\U00002260', + "NotExists;": '\U00002204', + "NotGreater;": '\U0000226F', + "NotGreaterEqual;": '\U00002271', + "NotGreaterLess;": '\U00002279', + "NotGreaterTilde;": '\U00002275', + "NotLeftTriangle;": '\U000022EA', + "NotLeftTriangleEqual;": '\U000022EC', + "NotLess;": '\U0000226E', + "NotLessEqual;": '\U00002270', + "NotLessGreater;": '\U00002278', + "NotLessTilde;": '\U00002274', + "NotPrecedes;": '\U00002280', + "NotPrecedesSlantEqual;": '\U000022E0', + "NotReverseElement;": '\U0000220C', + "NotRightTriangle;": '\U000022EB', + "NotRightTriangleEqual;": '\U000022ED', + "NotSquareSubsetEqual;": '\U000022E2', + "NotSquareSupersetEqual;": '\U000022E3', + "NotSubsetEqual;": '\U00002288', + "NotSucceeds;": '\U00002281', + "NotSucceedsSlantEqual;": '\U000022E1', + "NotSupersetEqual;": '\U00002289', + "NotTilde;": '\U00002241', + "NotTildeEqual;": '\U00002244', + "NotTildeFullEqual;": '\U00002247', + "NotTildeTilde;": '\U00002249', + "NotVerticalBar;": '\U00002224', + "Nscr;": '\U0001D4A9', + "Ntilde;": '\U000000D1', + "Nu;": '\U0000039D', + "OElig;": '\U00000152', + "Oacute;": '\U000000D3', + "Ocirc;": '\U000000D4', + "Ocy;": '\U0000041E', + "Odblac;": '\U00000150', + "Ofr;": '\U0001D512', + "Ograve;": '\U000000D2', + "Omacr;": '\U0000014C', + "Omega;": '\U000003A9', + "Omicron;": '\U0000039F', + "Oopf;": '\U0001D546', + "OpenCurlyDoubleQuote;": '\U0000201C', + "OpenCurlyQuote;": '\U00002018', + "Or;": '\U00002A54', + "Oscr;": '\U0001D4AA', + "Oslash;": '\U000000D8', + "Otilde;": '\U000000D5', + "Otimes;": '\U00002A37', + "Ouml;": '\U000000D6', + "OverBar;": '\U0000203E', + "OverBrace;": '\U000023DE', + "OverBracket;": '\U000023B4', + "OverParenthesis;": '\U000023DC', + "PartialD;": '\U00002202', + "Pcy;": '\U0000041F', + "Pfr;": '\U0001D513', + "Phi;": '\U000003A6', + "Pi;": '\U000003A0', + "PlusMinus;": '\U000000B1', + "Poincareplane;": '\U0000210C', + "Popf;": '\U00002119', + "Pr;": '\U00002ABB', + "Precedes;": '\U0000227A', + "PrecedesEqual;": '\U00002AAF', + "PrecedesSlantEqual;": '\U0000227C', + "PrecedesTilde;": '\U0000227E', + "Prime;": '\U00002033', + "Product;": '\U0000220F', + "Proportion;": '\U00002237', + "Proportional;": '\U0000221D', + "Pscr;": '\U0001D4AB', + "Psi;": '\U000003A8', + "QUOT;": '\U00000022', + "Qfr;": '\U0001D514', + "Qopf;": '\U0000211A', + "Qscr;": '\U0001D4AC', + "RBarr;": '\U00002910', + "REG;": '\U000000AE', + "Racute;": '\U00000154', + "Rang;": '\U000027EB', + "Rarr;": '\U000021A0', + "Rarrtl;": '\U00002916', + "Rcaron;": '\U00000158', + "Rcedil;": '\U00000156', + "Rcy;": '\U00000420', + "Re;": '\U0000211C', + "ReverseElement;": '\U0000220B', + "ReverseEquilibrium;": '\U000021CB', + "ReverseUpEquilibrium;": '\U0000296F', + "Rfr;": '\U0000211C', + "Rho;": '\U000003A1', + "RightAngleBracket;": '\U000027E9', + "RightArrow;": '\U00002192', + "RightArrowBar;": '\U000021E5', + "RightArrowLeftArrow;": '\U000021C4', + "RightCeiling;": '\U00002309', + "RightDoubleBracket;": '\U000027E7', + "RightDownTeeVector;": '\U0000295D', + "RightDownVector;": '\U000021C2', + "RightDownVectorBar;": '\U00002955', + "RightFloor;": '\U0000230B', + "RightTee;": '\U000022A2', + "RightTeeArrow;": '\U000021A6', + "RightTeeVector;": '\U0000295B', + "RightTriangle;": '\U000022B3', + "RightTriangleBar;": '\U000029D0', + "RightTriangleEqual;": '\U000022B5', + "RightUpDownVector;": '\U0000294F', + "RightUpTeeVector;": '\U0000295C', + "RightUpVector;": '\U000021BE', + "RightUpVectorBar;": '\U00002954', + "RightVector;": '\U000021C0', + "RightVectorBar;": '\U00002953', + "Rightarrow;": '\U000021D2', + "Ropf;": '\U0000211D', + "RoundImplies;": '\U00002970', + "Rrightarrow;": '\U000021DB', + "Rscr;": '\U0000211B', + "Rsh;": '\U000021B1', + "RuleDelayed;": '\U000029F4', + "SHCHcy;": '\U00000429', + "SHcy;": '\U00000428', + "SOFTcy;": '\U0000042C', + "Sacute;": '\U0000015A', + "Sc;": '\U00002ABC', + "Scaron;": '\U00000160', + "Scedil;": '\U0000015E', + "Scirc;": '\U0000015C', + "Scy;": '\U00000421', + "Sfr;": '\U0001D516', + "ShortDownArrow;": '\U00002193', + "ShortLeftArrow;": '\U00002190', + "ShortRightArrow;": '\U00002192', + "ShortUpArrow;": '\U00002191', + "Sigma;": '\U000003A3', + "SmallCircle;": '\U00002218', + "Sopf;": '\U0001D54A', + "Sqrt;": '\U0000221A', + "Square;": '\U000025A1', + "SquareIntersection;": '\U00002293', + "SquareSubset;": '\U0000228F', + "SquareSubsetEqual;": '\U00002291', + "SquareSuperset;": '\U00002290', + "SquareSupersetEqual;": '\U00002292', + "SquareUnion;": '\U00002294', + "Sscr;": '\U0001D4AE', + "Star;": '\U000022C6', + "Sub;": '\U000022D0', + "Subset;": '\U000022D0', + "SubsetEqual;": '\U00002286', + "Succeeds;": '\U0000227B', + "SucceedsEqual;": '\U00002AB0', + "SucceedsSlantEqual;": '\U0000227D', + "SucceedsTilde;": '\U0000227F', + "SuchThat;": '\U0000220B', + "Sum;": '\U00002211', + "Sup;": '\U000022D1', + "Superset;": '\U00002283', + "SupersetEqual;": '\U00002287', + "Supset;": '\U000022D1', + "THORN;": '\U000000DE', + "TRADE;": '\U00002122', + "TSHcy;": '\U0000040B', + "TScy;": '\U00000426', + "Tab;": '\U00000009', + "Tau;": '\U000003A4', + "Tcaron;": '\U00000164', + "Tcedil;": '\U00000162', + "Tcy;": '\U00000422', + "Tfr;": '\U0001D517', + "Therefore;": '\U00002234', + "Theta;": '\U00000398', + "ThinSpace;": '\U00002009', + "Tilde;": '\U0000223C', + "TildeEqual;": '\U00002243', + "TildeFullEqual;": '\U00002245', + "TildeTilde;": '\U00002248', + "Topf;": '\U0001D54B', + "TripleDot;": '\U000020DB', + "Tscr;": '\U0001D4AF', + "Tstrok;": '\U00000166', + "Uacute;": '\U000000DA', + "Uarr;": '\U0000219F', + "Uarrocir;": '\U00002949', + "Ubrcy;": '\U0000040E', + "Ubreve;": '\U0000016C', + "Ucirc;": '\U000000DB', + "Ucy;": '\U00000423', + "Udblac;": '\U00000170', + "Ufr;": '\U0001D518', + "Ugrave;": '\U000000D9', + "Umacr;": '\U0000016A', + "UnderBar;": '\U0000005F', + "UnderBrace;": '\U000023DF', + "UnderBracket;": '\U000023B5', + "UnderParenthesis;": '\U000023DD', + "Union;": '\U000022C3', + "UnionPlus;": '\U0000228E', + "Uogon;": '\U00000172', + "Uopf;": '\U0001D54C', + "UpArrow;": '\U00002191', + "UpArrowBar;": '\U00002912', + "UpArrowDownArrow;": '\U000021C5', + "UpDownArrow;": '\U00002195', + "UpEquilibrium;": '\U0000296E', + "UpTee;": '\U000022A5', + "UpTeeArrow;": '\U000021A5', + "Uparrow;": '\U000021D1', + "Updownarrow;": '\U000021D5', + "UpperLeftArrow;": '\U00002196', + "UpperRightArrow;": '\U00002197', + "Upsi;": '\U000003D2', + "Upsilon;": '\U000003A5', + "Uring;": '\U0000016E', + "Uscr;": '\U0001D4B0', + "Utilde;": '\U00000168', + "Uuml;": '\U000000DC', + "VDash;": '\U000022AB', + "Vbar;": '\U00002AEB', + "Vcy;": '\U00000412', + "Vdash;": '\U000022A9', + "Vdashl;": '\U00002AE6', + "Vee;": '\U000022C1', + "Verbar;": '\U00002016', + "Vert;": '\U00002016', + "VerticalBar;": '\U00002223', + "VerticalLine;": '\U0000007C', + "VerticalSeparator;": '\U00002758', + "VerticalTilde;": '\U00002240', + "VeryThinSpace;": '\U0000200A', + "Vfr;": '\U0001D519', + "Vopf;": '\U0001D54D', + "Vscr;": '\U0001D4B1', + "Vvdash;": '\U000022AA', + "Wcirc;": '\U00000174', + "Wedge;": '\U000022C0', + "Wfr;": '\U0001D51A', + "Wopf;": '\U0001D54E', + "Wscr;": '\U0001D4B2', + "Xfr;": '\U0001D51B', + "Xi;": '\U0000039E', + "Xopf;": '\U0001D54F', + "Xscr;": '\U0001D4B3', + "YAcy;": '\U0000042F', + "YIcy;": '\U00000407', + "YUcy;": '\U0000042E', + "Yacute;": '\U000000DD', + "Ycirc;": '\U00000176', + "Ycy;": '\U0000042B', + "Yfr;": '\U0001D51C', + "Yopf;": '\U0001D550', + "Yscr;": '\U0001D4B4', + "Yuml;": '\U00000178', + "ZHcy;": '\U00000416', + "Zacute;": '\U00000179', + "Zcaron;": '\U0000017D', + "Zcy;": '\U00000417', + "Zdot;": '\U0000017B', + "ZeroWidthSpace;": '\U0000200B', + "Zeta;": '\U00000396', + "Zfr;": '\U00002128', + "Zopf;": '\U00002124', + "Zscr;": '\U0001D4B5', + "aacute;": '\U000000E1', + "abreve;": '\U00000103', + "ac;": '\U0000223E', + "acd;": '\U0000223F', + "acirc;": '\U000000E2', + "acute;": '\U000000B4', + "acy;": '\U00000430', + "aelig;": '\U000000E6', + "af;": '\U00002061', + "afr;": '\U0001D51E', + "agrave;": '\U000000E0', + "alefsym;": '\U00002135', + "aleph;": '\U00002135', + "alpha;": '\U000003B1', + "amacr;": '\U00000101', + "amalg;": '\U00002A3F', + "amp;": '\U00000026', + "and;": '\U00002227', + "andand;": '\U00002A55', + "andd;": '\U00002A5C', + "andslope;": '\U00002A58', + "andv;": '\U00002A5A', + "ang;": '\U00002220', + "ange;": '\U000029A4', + "angle;": '\U00002220', + "angmsd;": '\U00002221', + "angmsdaa;": '\U000029A8', + "angmsdab;": '\U000029A9', + "angmsdac;": '\U000029AA', + "angmsdad;": '\U000029AB', + "angmsdae;": '\U000029AC', + "angmsdaf;": '\U000029AD', + "angmsdag;": '\U000029AE', + "angmsdah;": '\U000029AF', + "angrt;": '\U0000221F', + "angrtvb;": '\U000022BE', + "angrtvbd;": '\U0000299D', + "angsph;": '\U00002222', + "angst;": '\U000000C5', + "angzarr;": '\U0000237C', + "aogon;": '\U00000105', + "aopf;": '\U0001D552', + "ap;": '\U00002248', + "apE;": '\U00002A70', + "apacir;": '\U00002A6F', + "ape;": '\U0000224A', + "apid;": '\U0000224B', + "apos;": '\U00000027', + "approx;": '\U00002248', + "approxeq;": '\U0000224A', + "aring;": '\U000000E5', + "ascr;": '\U0001D4B6', + "ast;": '\U0000002A', + "asymp;": '\U00002248', + "asympeq;": '\U0000224D', + "atilde;": '\U000000E3', + "auml;": '\U000000E4', + "awconint;": '\U00002233', + "awint;": '\U00002A11', + "bNot;": '\U00002AED', + "backcong;": '\U0000224C', + "backepsilon;": '\U000003F6', + "backprime;": '\U00002035', + "backsim;": '\U0000223D', + "backsimeq;": '\U000022CD', + "barvee;": '\U000022BD', + "barwed;": '\U00002305', + "barwedge;": '\U00002305', + "bbrk;": '\U000023B5', + "bbrktbrk;": '\U000023B6', + "bcong;": '\U0000224C', + "bcy;": '\U00000431', + "bdquo;": '\U0000201E', + "becaus;": '\U00002235', + "because;": '\U00002235', + "bemptyv;": '\U000029B0', + "bepsi;": '\U000003F6', + "bernou;": '\U0000212C', + "beta;": '\U000003B2', + "beth;": '\U00002136', + "between;": '\U0000226C', + "bfr;": '\U0001D51F', + "bigcap;": '\U000022C2', + "bigcirc;": '\U000025EF', + "bigcup;": '\U000022C3', + "bigodot;": '\U00002A00', + "bigoplus;": '\U00002A01', + "bigotimes;": '\U00002A02', + "bigsqcup;": '\U00002A06', + "bigstar;": '\U00002605', + "bigtriangledown;": '\U000025BD', + "bigtriangleup;": '\U000025B3', + "biguplus;": '\U00002A04', + "bigvee;": '\U000022C1', + "bigwedge;": '\U000022C0', + "bkarow;": '\U0000290D', + "blacklozenge;": '\U000029EB', + "blacksquare;": '\U000025AA', + "blacktriangle;": '\U000025B4', + "blacktriangledown;": '\U000025BE', + "blacktriangleleft;": '\U000025C2', + "blacktriangleright;": '\U000025B8', + "blank;": '\U00002423', + "blk12;": '\U00002592', + "blk14;": '\U00002591', + "blk34;": '\U00002593', + "block;": '\U00002588', + "bnot;": '\U00002310', + "bopf;": '\U0001D553', + "bot;": '\U000022A5', + "bottom;": '\U000022A5', + "bowtie;": '\U000022C8', + "boxDL;": '\U00002557', + "boxDR;": '\U00002554', + "boxDl;": '\U00002556', + "boxDr;": '\U00002553', + "boxH;": '\U00002550', + "boxHD;": '\U00002566', + "boxHU;": '\U00002569', + "boxHd;": '\U00002564', + "boxHu;": '\U00002567', + "boxUL;": '\U0000255D', + "boxUR;": '\U0000255A', + "boxUl;": '\U0000255C', + "boxUr;": '\U00002559', + "boxV;": '\U00002551', + "boxVH;": '\U0000256C', + "boxVL;": '\U00002563', + "boxVR;": '\U00002560', + "boxVh;": '\U0000256B', + "boxVl;": '\U00002562', + "boxVr;": '\U0000255F', + "boxbox;": '\U000029C9', + "boxdL;": '\U00002555', + "boxdR;": '\U00002552', + "boxdl;": '\U00002510', + "boxdr;": '\U0000250C', + "boxh;": '\U00002500', + "boxhD;": '\U00002565', + "boxhU;": '\U00002568', + "boxhd;": '\U0000252C', + "boxhu;": '\U00002534', + "boxminus;": '\U0000229F', + "boxplus;": '\U0000229E', + "boxtimes;": '\U000022A0', + "boxuL;": '\U0000255B', + "boxuR;": '\U00002558', + "boxul;": '\U00002518', + "boxur;": '\U00002514', + "boxv;": '\U00002502', + "boxvH;": '\U0000256A', + "boxvL;": '\U00002561', + "boxvR;": '\U0000255E', + "boxvh;": '\U0000253C', + "boxvl;": '\U00002524', + "boxvr;": '\U0000251C', + "bprime;": '\U00002035', + "breve;": '\U000002D8', + "brvbar;": '\U000000A6', + "bscr;": '\U0001D4B7', + "bsemi;": '\U0000204F', + "bsim;": '\U0000223D', + "bsime;": '\U000022CD', + "bsol;": '\U0000005C', + "bsolb;": '\U000029C5', + "bsolhsub;": '\U000027C8', + "bull;": '\U00002022', + "bullet;": '\U00002022', + "bump;": '\U0000224E', + "bumpE;": '\U00002AAE', + "bumpe;": '\U0000224F', + "bumpeq;": '\U0000224F', + "cacute;": '\U00000107', + "cap;": '\U00002229', + "capand;": '\U00002A44', + "capbrcup;": '\U00002A49', + "capcap;": '\U00002A4B', + "capcup;": '\U00002A47', + "capdot;": '\U00002A40', + "caret;": '\U00002041', + "caron;": '\U000002C7', + "ccaps;": '\U00002A4D', + "ccaron;": '\U0000010D', + "ccedil;": '\U000000E7', + "ccirc;": '\U00000109', + "ccups;": '\U00002A4C', + "ccupssm;": '\U00002A50', + "cdot;": '\U0000010B', + "cedil;": '\U000000B8', + "cemptyv;": '\U000029B2', + "cent;": '\U000000A2', + "centerdot;": '\U000000B7', + "cfr;": '\U0001D520', + "chcy;": '\U00000447', + "check;": '\U00002713', + "checkmark;": '\U00002713', + "chi;": '\U000003C7', + "cir;": '\U000025CB', + "cirE;": '\U000029C3', + "circ;": '\U000002C6', + "circeq;": '\U00002257', + "circlearrowleft;": '\U000021BA', + "circlearrowright;": '\U000021BB', + "circledR;": '\U000000AE', + "circledS;": '\U000024C8', + "circledast;": '\U0000229B', + "circledcirc;": '\U0000229A', + "circleddash;": '\U0000229D', + "cire;": '\U00002257', + "cirfnint;": '\U00002A10', + "cirmid;": '\U00002AEF', + "cirscir;": '\U000029C2', + "clubs;": '\U00002663', + "clubsuit;": '\U00002663', + "colon;": '\U0000003A', + "colone;": '\U00002254', + "coloneq;": '\U00002254', + "comma;": '\U0000002C', + "commat;": '\U00000040', + "comp;": '\U00002201', + "compfn;": '\U00002218', + "complement;": '\U00002201', + "complexes;": '\U00002102', + "cong;": '\U00002245', + "congdot;": '\U00002A6D', + "conint;": '\U0000222E', + "copf;": '\U0001D554', + "coprod;": '\U00002210', + "copy;": '\U000000A9', + "copysr;": '\U00002117', + "crarr;": '\U000021B5', + "cross;": '\U00002717', + "cscr;": '\U0001D4B8', + "csub;": '\U00002ACF', + "csube;": '\U00002AD1', + "csup;": '\U00002AD0', + "csupe;": '\U00002AD2', + "ctdot;": '\U000022EF', + "cudarrl;": '\U00002938', + "cudarrr;": '\U00002935', + "cuepr;": '\U000022DE', + "cuesc;": '\U000022DF', + "cularr;": '\U000021B6', + "cularrp;": '\U0000293D', + "cup;": '\U0000222A', + "cupbrcap;": '\U00002A48', + "cupcap;": '\U00002A46', + "cupcup;": '\U00002A4A', + "cupdot;": '\U0000228D', + "cupor;": '\U00002A45', + "curarr;": '\U000021B7', + "curarrm;": '\U0000293C', + "curlyeqprec;": '\U000022DE', + "curlyeqsucc;": '\U000022DF', + "curlyvee;": '\U000022CE', + "curlywedge;": '\U000022CF', + "curren;": '\U000000A4', + "curvearrowleft;": '\U000021B6', + "curvearrowright;": '\U000021B7', + "cuvee;": '\U000022CE', + "cuwed;": '\U000022CF', + "cwconint;": '\U00002232', + "cwint;": '\U00002231', + "cylcty;": '\U0000232D', + "dArr;": '\U000021D3', + "dHar;": '\U00002965', + "dagger;": '\U00002020', + "daleth;": '\U00002138', + "darr;": '\U00002193', + "dash;": '\U00002010', + "dashv;": '\U000022A3', + "dbkarow;": '\U0000290F', + "dblac;": '\U000002DD', + "dcaron;": '\U0000010F', + "dcy;": '\U00000434', + "dd;": '\U00002146', + "ddagger;": '\U00002021', + "ddarr;": '\U000021CA', + "ddotseq;": '\U00002A77', + "deg;": '\U000000B0', + "delta;": '\U000003B4', + "demptyv;": '\U000029B1', + "dfisht;": '\U0000297F', + "dfr;": '\U0001D521', + "dharl;": '\U000021C3', + "dharr;": '\U000021C2', + "diam;": '\U000022C4', + "diamond;": '\U000022C4', + "diamondsuit;": '\U00002666', + "diams;": '\U00002666', + "die;": '\U000000A8', + "digamma;": '\U000003DD', + "disin;": '\U000022F2', + "div;": '\U000000F7', + "divide;": '\U000000F7', + "divideontimes;": '\U000022C7', + "divonx;": '\U000022C7', + "djcy;": '\U00000452', + "dlcorn;": '\U0000231E', + "dlcrop;": '\U0000230D', + "dollar;": '\U00000024', + "dopf;": '\U0001D555', + "dot;": '\U000002D9', + "doteq;": '\U00002250', + "doteqdot;": '\U00002251', + "dotminus;": '\U00002238', + "dotplus;": '\U00002214', + "dotsquare;": '\U000022A1', + "doublebarwedge;": '\U00002306', + "downarrow;": '\U00002193', + "downdownarrows;": '\U000021CA', + "downharpoonleft;": '\U000021C3', + "downharpoonright;": '\U000021C2', + "drbkarow;": '\U00002910', + "drcorn;": '\U0000231F', + "drcrop;": '\U0000230C', + "dscr;": '\U0001D4B9', + "dscy;": '\U00000455', + "dsol;": '\U000029F6', + "dstrok;": '\U00000111', + "dtdot;": '\U000022F1', + "dtri;": '\U000025BF', + "dtrif;": '\U000025BE', + "duarr;": '\U000021F5', + "duhar;": '\U0000296F', + "dwangle;": '\U000029A6', + "dzcy;": '\U0000045F', + "dzigrarr;": '\U000027FF', + "eDDot;": '\U00002A77', + "eDot;": '\U00002251', + "eacute;": '\U000000E9', + "easter;": '\U00002A6E', + "ecaron;": '\U0000011B', + "ecir;": '\U00002256', + "ecirc;": '\U000000EA', + "ecolon;": '\U00002255', + "ecy;": '\U0000044D', + "edot;": '\U00000117', + "ee;": '\U00002147', + "efDot;": '\U00002252', + "efr;": '\U0001D522', + "eg;": '\U00002A9A', + "egrave;": '\U000000E8', + "egs;": '\U00002A96', + "egsdot;": '\U00002A98', + "el;": '\U00002A99', + "elinters;": '\U000023E7', + "ell;": '\U00002113', + "els;": '\U00002A95', + "elsdot;": '\U00002A97', + "emacr;": '\U00000113', + "empty;": '\U00002205', + "emptyset;": '\U00002205', + "emptyv;": '\U00002205', + "emsp;": '\U00002003', + "emsp13;": '\U00002004', + "emsp14;": '\U00002005', + "eng;": '\U0000014B', + "ensp;": '\U00002002', + "eogon;": '\U00000119', + "eopf;": '\U0001D556', + "epar;": '\U000022D5', + "eparsl;": '\U000029E3', + "eplus;": '\U00002A71', + "epsi;": '\U000003B5', + "epsilon;": '\U000003B5', + "epsiv;": '\U000003F5', + "eqcirc;": '\U00002256', + "eqcolon;": '\U00002255', + "eqsim;": '\U00002242', + "eqslantgtr;": '\U00002A96', + "eqslantless;": '\U00002A95', + "equals;": '\U0000003D', + "equest;": '\U0000225F', + "equiv;": '\U00002261', + "equivDD;": '\U00002A78', + "eqvparsl;": '\U000029E5', + "erDot;": '\U00002253', + "erarr;": '\U00002971', + "escr;": '\U0000212F', + "esdot;": '\U00002250', + "esim;": '\U00002242', + "eta;": '\U000003B7', + "eth;": '\U000000F0', + "euml;": '\U000000EB', + "euro;": '\U000020AC', + "excl;": '\U00000021', + "exist;": '\U00002203', + "expectation;": '\U00002130', + "exponentiale;": '\U00002147', + "fallingdotseq;": '\U00002252', + "fcy;": '\U00000444', + "female;": '\U00002640', + "ffilig;": '\U0000FB03', + "fflig;": '\U0000FB00', + "ffllig;": '\U0000FB04', + "ffr;": '\U0001D523', + "filig;": '\U0000FB01', + "flat;": '\U0000266D', + "fllig;": '\U0000FB02', + "fltns;": '\U000025B1', + "fnof;": '\U00000192', + "fopf;": '\U0001D557', + "forall;": '\U00002200', + "fork;": '\U000022D4', + "forkv;": '\U00002AD9', + "fpartint;": '\U00002A0D', + "frac12;": '\U000000BD', + "frac13;": '\U00002153', + "frac14;": '\U000000BC', + "frac15;": '\U00002155', + "frac16;": '\U00002159', + "frac18;": '\U0000215B', + "frac23;": '\U00002154', + "frac25;": '\U00002156', + "frac34;": '\U000000BE', + "frac35;": '\U00002157', + "frac38;": '\U0000215C', + "frac45;": '\U00002158', + "frac56;": '\U0000215A', + "frac58;": '\U0000215D', + "frac78;": '\U0000215E', + "frasl;": '\U00002044', + "frown;": '\U00002322', + "fscr;": '\U0001D4BB', + "gE;": '\U00002267', + "gEl;": '\U00002A8C', + "gacute;": '\U000001F5', + "gamma;": '\U000003B3', + "gammad;": '\U000003DD', + "gap;": '\U00002A86', + "gbreve;": '\U0000011F', + "gcirc;": '\U0000011D', + "gcy;": '\U00000433', + "gdot;": '\U00000121', + "ge;": '\U00002265', + "gel;": '\U000022DB', + "geq;": '\U00002265', + "geqq;": '\U00002267', + "geqslant;": '\U00002A7E', + "ges;": '\U00002A7E', + "gescc;": '\U00002AA9', + "gesdot;": '\U00002A80', + "gesdoto;": '\U00002A82', + "gesdotol;": '\U00002A84', + "gesles;": '\U00002A94', + "gfr;": '\U0001D524', + "gg;": '\U0000226B', + "ggg;": '\U000022D9', + "gimel;": '\U00002137', + "gjcy;": '\U00000453', + "gl;": '\U00002277', + "glE;": '\U00002A92', + "gla;": '\U00002AA5', + "glj;": '\U00002AA4', + "gnE;": '\U00002269', + "gnap;": '\U00002A8A', + "gnapprox;": '\U00002A8A', + "gne;": '\U00002A88', + "gneq;": '\U00002A88', + "gneqq;": '\U00002269', + "gnsim;": '\U000022E7', + "gopf;": '\U0001D558', + "grave;": '\U00000060', + "gscr;": '\U0000210A', + "gsim;": '\U00002273', + "gsime;": '\U00002A8E', + "gsiml;": '\U00002A90', + "gt;": '\U0000003E', + "gtcc;": '\U00002AA7', + "gtcir;": '\U00002A7A', + "gtdot;": '\U000022D7', + "gtlPar;": '\U00002995', + "gtquest;": '\U00002A7C', + "gtrapprox;": '\U00002A86', + "gtrarr;": '\U00002978', + "gtrdot;": '\U000022D7', + "gtreqless;": '\U000022DB', + "gtreqqless;": '\U00002A8C', + "gtrless;": '\U00002277', + "gtrsim;": '\U00002273', + "hArr;": '\U000021D4', + "hairsp;": '\U0000200A', + "half;": '\U000000BD', + "hamilt;": '\U0000210B', + "hardcy;": '\U0000044A', + "harr;": '\U00002194', + "harrcir;": '\U00002948', + "harrw;": '\U000021AD', + "hbar;": '\U0000210F', + "hcirc;": '\U00000125', + "hearts;": '\U00002665', + "heartsuit;": '\U00002665', + "hellip;": '\U00002026', + "hercon;": '\U000022B9', + "hfr;": '\U0001D525', + "hksearow;": '\U00002925', + "hkswarow;": '\U00002926', + "hoarr;": '\U000021FF', + "homtht;": '\U0000223B', + "hookleftarrow;": '\U000021A9', + "hookrightarrow;": '\U000021AA', + "hopf;": '\U0001D559', + "horbar;": '\U00002015', + "hscr;": '\U0001D4BD', + "hslash;": '\U0000210F', + "hstrok;": '\U00000127', + "hybull;": '\U00002043', + "hyphen;": '\U00002010', + "iacute;": '\U000000ED', + "ic;": '\U00002063', + "icirc;": '\U000000EE', + "icy;": '\U00000438', + "iecy;": '\U00000435', + "iexcl;": '\U000000A1', + "iff;": '\U000021D4', + "ifr;": '\U0001D526', + "igrave;": '\U000000EC', + "ii;": '\U00002148', + "iiiint;": '\U00002A0C', + "iiint;": '\U0000222D', + "iinfin;": '\U000029DC', + "iiota;": '\U00002129', + "ijlig;": '\U00000133', + "imacr;": '\U0000012B', + "image;": '\U00002111', + "imagline;": '\U00002110', + "imagpart;": '\U00002111', + "imath;": '\U00000131', + "imof;": '\U000022B7', + "imped;": '\U000001B5', + "in;": '\U00002208', + "incare;": '\U00002105', + "infin;": '\U0000221E', + "infintie;": '\U000029DD', + "inodot;": '\U00000131', + "int;": '\U0000222B', + "intcal;": '\U000022BA', + "integers;": '\U00002124', + "intercal;": '\U000022BA', + "intlarhk;": '\U00002A17', + "intprod;": '\U00002A3C', + "iocy;": '\U00000451', + "iogon;": '\U0000012F', + "iopf;": '\U0001D55A', + "iota;": '\U000003B9', + "iprod;": '\U00002A3C', + "iquest;": '\U000000BF', + "iscr;": '\U0001D4BE', + "isin;": '\U00002208', + "isinE;": '\U000022F9', + "isindot;": '\U000022F5', + "isins;": '\U000022F4', + "isinsv;": '\U000022F3', + "isinv;": '\U00002208', + "it;": '\U00002062', + "itilde;": '\U00000129', + "iukcy;": '\U00000456', + "iuml;": '\U000000EF', + "jcirc;": '\U00000135', + "jcy;": '\U00000439', + "jfr;": '\U0001D527', + "jmath;": '\U00000237', + "jopf;": '\U0001D55B', + "jscr;": '\U0001D4BF', + "jsercy;": '\U00000458', + "jukcy;": '\U00000454', + "kappa;": '\U000003BA', + "kappav;": '\U000003F0', + "kcedil;": '\U00000137', + "kcy;": '\U0000043A', + "kfr;": '\U0001D528', + "kgreen;": '\U00000138', + "khcy;": '\U00000445', + "kjcy;": '\U0000045C', + "kopf;": '\U0001D55C', + "kscr;": '\U0001D4C0', + "lAarr;": '\U000021DA', + "lArr;": '\U000021D0', + "lAtail;": '\U0000291B', + "lBarr;": '\U0000290E', + "lE;": '\U00002266', + "lEg;": '\U00002A8B', + "lHar;": '\U00002962', + "lacute;": '\U0000013A', + "laemptyv;": '\U000029B4', + "lagran;": '\U00002112', + "lambda;": '\U000003BB', + "lang;": '\U000027E8', + "langd;": '\U00002991', + "langle;": '\U000027E8', + "lap;": '\U00002A85', + "laquo;": '\U000000AB', + "larr;": '\U00002190', + "larrb;": '\U000021E4', + "larrbfs;": '\U0000291F', + "larrfs;": '\U0000291D', + "larrhk;": '\U000021A9', + "larrlp;": '\U000021AB', + "larrpl;": '\U00002939', + "larrsim;": '\U00002973', + "larrtl;": '\U000021A2', + "lat;": '\U00002AAB', + "latail;": '\U00002919', + "late;": '\U00002AAD', + "lbarr;": '\U0000290C', + "lbbrk;": '\U00002772', + "lbrace;": '\U0000007B', + "lbrack;": '\U0000005B', + "lbrke;": '\U0000298B', + "lbrksld;": '\U0000298F', + "lbrkslu;": '\U0000298D', + "lcaron;": '\U0000013E', + "lcedil;": '\U0000013C', + "lceil;": '\U00002308', + "lcub;": '\U0000007B', + "lcy;": '\U0000043B', + "ldca;": '\U00002936', + "ldquo;": '\U0000201C', + "ldquor;": '\U0000201E', + "ldrdhar;": '\U00002967', + "ldrushar;": '\U0000294B', + "ldsh;": '\U000021B2', + "le;": '\U00002264', + "leftarrow;": '\U00002190', + "leftarrowtail;": '\U000021A2', + "leftharpoondown;": '\U000021BD', + "leftharpoonup;": '\U000021BC', + "leftleftarrows;": '\U000021C7', + "leftrightarrow;": '\U00002194', + "leftrightarrows;": '\U000021C6', + "leftrightharpoons;": '\U000021CB', + "leftrightsquigarrow;": '\U000021AD', + "leftthreetimes;": '\U000022CB', + "leg;": '\U000022DA', + "leq;": '\U00002264', + "leqq;": '\U00002266', + "leqslant;": '\U00002A7D', + "les;": '\U00002A7D', + "lescc;": '\U00002AA8', + "lesdot;": '\U00002A7F', + "lesdoto;": '\U00002A81', + "lesdotor;": '\U00002A83', + "lesges;": '\U00002A93', + "lessapprox;": '\U00002A85', + "lessdot;": '\U000022D6', + "lesseqgtr;": '\U000022DA', + "lesseqqgtr;": '\U00002A8B', + "lessgtr;": '\U00002276', + "lesssim;": '\U00002272', + "lfisht;": '\U0000297C', + "lfloor;": '\U0000230A', + "lfr;": '\U0001D529', + "lg;": '\U00002276', + "lgE;": '\U00002A91', + "lhard;": '\U000021BD', + "lharu;": '\U000021BC', + "lharul;": '\U0000296A', + "lhblk;": '\U00002584', + "ljcy;": '\U00000459', + "ll;": '\U0000226A', + "llarr;": '\U000021C7', + "llcorner;": '\U0000231E', + "llhard;": '\U0000296B', + "lltri;": '\U000025FA', + "lmidot;": '\U00000140', + "lmoust;": '\U000023B0', + "lmoustache;": '\U000023B0', + "lnE;": '\U00002268', + "lnap;": '\U00002A89', + "lnapprox;": '\U00002A89', + "lne;": '\U00002A87', + "lneq;": '\U00002A87', + "lneqq;": '\U00002268', + "lnsim;": '\U000022E6', + "loang;": '\U000027EC', + "loarr;": '\U000021FD', + "lobrk;": '\U000027E6', + "longleftarrow;": '\U000027F5', + "longleftrightarrow;": '\U000027F7', + "longmapsto;": '\U000027FC', + "longrightarrow;": '\U000027F6', + "looparrowleft;": '\U000021AB', + "looparrowright;": '\U000021AC', + "lopar;": '\U00002985', + "lopf;": '\U0001D55D', + "loplus;": '\U00002A2D', + "lotimes;": '\U00002A34', + "lowast;": '\U00002217', + "lowbar;": '\U0000005F', + "loz;": '\U000025CA', + "lozenge;": '\U000025CA', + "lozf;": '\U000029EB', + "lpar;": '\U00000028', + "lparlt;": '\U00002993', + "lrarr;": '\U000021C6', + "lrcorner;": '\U0000231F', + "lrhar;": '\U000021CB', + "lrhard;": '\U0000296D', + "lrm;": '\U0000200E', + "lrtri;": '\U000022BF', + "lsaquo;": '\U00002039', + "lscr;": '\U0001D4C1', + "lsh;": '\U000021B0', + "lsim;": '\U00002272', + "lsime;": '\U00002A8D', + "lsimg;": '\U00002A8F', + "lsqb;": '\U0000005B', + "lsquo;": '\U00002018', + "lsquor;": '\U0000201A', + "lstrok;": '\U00000142', + "lt;": '\U0000003C', + "ltcc;": '\U00002AA6', + "ltcir;": '\U00002A79', + "ltdot;": '\U000022D6', + "lthree;": '\U000022CB', + "ltimes;": '\U000022C9', + "ltlarr;": '\U00002976', + "ltquest;": '\U00002A7B', + "ltrPar;": '\U00002996', + "ltri;": '\U000025C3', + "ltrie;": '\U000022B4', + "ltrif;": '\U000025C2', + "lurdshar;": '\U0000294A', + "luruhar;": '\U00002966', + "mDDot;": '\U0000223A', + "macr;": '\U000000AF', + "male;": '\U00002642', + "malt;": '\U00002720', + "maltese;": '\U00002720', + "map;": '\U000021A6', + "mapsto;": '\U000021A6', + "mapstodown;": '\U000021A7', + "mapstoleft;": '\U000021A4', + "mapstoup;": '\U000021A5', + "marker;": '\U000025AE', + "mcomma;": '\U00002A29', + "mcy;": '\U0000043C', + "mdash;": '\U00002014', + "measuredangle;": '\U00002221', + "mfr;": '\U0001D52A', + "mho;": '\U00002127', + "micro;": '\U000000B5', + "mid;": '\U00002223', + "midast;": '\U0000002A', + "midcir;": '\U00002AF0', + "middot;": '\U000000B7', + "minus;": '\U00002212', + "minusb;": '\U0000229F', + "minusd;": '\U00002238', + "minusdu;": '\U00002A2A', + "mlcp;": '\U00002ADB', + "mldr;": '\U00002026', + "mnplus;": '\U00002213', + "models;": '\U000022A7', + "mopf;": '\U0001D55E', + "mp;": '\U00002213', + "mscr;": '\U0001D4C2', + "mstpos;": '\U0000223E', + "mu;": '\U000003BC', + "multimap;": '\U000022B8', + "mumap;": '\U000022B8', + "nLeftarrow;": '\U000021CD', + "nLeftrightarrow;": '\U000021CE', + "nRightarrow;": '\U000021CF', + "nVDash;": '\U000022AF', + "nVdash;": '\U000022AE', + "nabla;": '\U00002207', + "nacute;": '\U00000144', + "nap;": '\U00002249', + "napos;": '\U00000149', + "napprox;": '\U00002249', + "natur;": '\U0000266E', + "natural;": '\U0000266E', + "naturals;": '\U00002115', + "nbsp;": '\U000000A0', + "ncap;": '\U00002A43', + "ncaron;": '\U00000148', + "ncedil;": '\U00000146', + "ncong;": '\U00002247', + "ncup;": '\U00002A42', + "ncy;": '\U0000043D', + "ndash;": '\U00002013', + "ne;": '\U00002260', + "neArr;": '\U000021D7', + "nearhk;": '\U00002924', + "nearr;": '\U00002197', + "nearrow;": '\U00002197', + "nequiv;": '\U00002262', + "nesear;": '\U00002928', + "nexist;": '\U00002204', + "nexists;": '\U00002204', + "nfr;": '\U0001D52B', + "nge;": '\U00002271', + "ngeq;": '\U00002271', + "ngsim;": '\U00002275', + "ngt;": '\U0000226F', + "ngtr;": '\U0000226F', + "nhArr;": '\U000021CE', + "nharr;": '\U000021AE', + "nhpar;": '\U00002AF2', + "ni;": '\U0000220B', + "nis;": '\U000022FC', + "nisd;": '\U000022FA', + "niv;": '\U0000220B', + "njcy;": '\U0000045A', + "nlArr;": '\U000021CD', + "nlarr;": '\U0000219A', + "nldr;": '\U00002025', + "nle;": '\U00002270', + "nleftarrow;": '\U0000219A', + "nleftrightarrow;": '\U000021AE', + "nleq;": '\U00002270', + "nless;": '\U0000226E', + "nlsim;": '\U00002274', + "nlt;": '\U0000226E', + "nltri;": '\U000022EA', + "nltrie;": '\U000022EC', + "nmid;": '\U00002224', + "nopf;": '\U0001D55F', + "not;": '\U000000AC', + "notin;": '\U00002209', + "notinva;": '\U00002209', + "notinvb;": '\U000022F7', + "notinvc;": '\U000022F6', + "notni;": '\U0000220C', + "notniva;": '\U0000220C', + "notnivb;": '\U000022FE', + "notnivc;": '\U000022FD', + "npar;": '\U00002226', + "nparallel;": '\U00002226', + "npolint;": '\U00002A14', + "npr;": '\U00002280', + "nprcue;": '\U000022E0', + "nprec;": '\U00002280', + "nrArr;": '\U000021CF', + "nrarr;": '\U0000219B', + "nrightarrow;": '\U0000219B', + "nrtri;": '\U000022EB', + "nrtrie;": '\U000022ED', + "nsc;": '\U00002281', + "nsccue;": '\U000022E1', + "nscr;": '\U0001D4C3', + "nshortmid;": '\U00002224', + "nshortparallel;": '\U00002226', + "nsim;": '\U00002241', + "nsime;": '\U00002244', + "nsimeq;": '\U00002244', + "nsmid;": '\U00002224', + "nspar;": '\U00002226', + "nsqsube;": '\U000022E2', + "nsqsupe;": '\U000022E3', + "nsub;": '\U00002284', + "nsube;": '\U00002288', + "nsubseteq;": '\U00002288', + "nsucc;": '\U00002281', + "nsup;": '\U00002285', + "nsupe;": '\U00002289', + "nsupseteq;": '\U00002289', + "ntgl;": '\U00002279', + "ntilde;": '\U000000F1', + "ntlg;": '\U00002278', + "ntriangleleft;": '\U000022EA', + "ntrianglelefteq;": '\U000022EC', + "ntriangleright;": '\U000022EB', + "ntrianglerighteq;": '\U000022ED', + "nu;": '\U000003BD', + "num;": '\U00000023', + "numero;": '\U00002116', + "numsp;": '\U00002007', + "nvDash;": '\U000022AD', + "nvHarr;": '\U00002904', + "nvdash;": '\U000022AC', + "nvinfin;": '\U000029DE', + "nvlArr;": '\U00002902', + "nvrArr;": '\U00002903', + "nwArr;": '\U000021D6', + "nwarhk;": '\U00002923', + "nwarr;": '\U00002196', + "nwarrow;": '\U00002196', + "nwnear;": '\U00002927', + "oS;": '\U000024C8', + "oacute;": '\U000000F3', + "oast;": '\U0000229B', + "ocir;": '\U0000229A', + "ocirc;": '\U000000F4', + "ocy;": '\U0000043E', + "odash;": '\U0000229D', + "odblac;": '\U00000151', + "odiv;": '\U00002A38', + "odot;": '\U00002299', + "odsold;": '\U000029BC', + "oelig;": '\U00000153', + "ofcir;": '\U000029BF', + "ofr;": '\U0001D52C', + "ogon;": '\U000002DB', + "ograve;": '\U000000F2', + "ogt;": '\U000029C1', + "ohbar;": '\U000029B5', + "ohm;": '\U000003A9', + "oint;": '\U0000222E', + "olarr;": '\U000021BA', + "olcir;": '\U000029BE', + "olcross;": '\U000029BB', + "oline;": '\U0000203E', + "olt;": '\U000029C0', + "omacr;": '\U0000014D', + "omega;": '\U000003C9', + "omicron;": '\U000003BF', + "omid;": '\U000029B6', + "ominus;": '\U00002296', + "oopf;": '\U0001D560', + "opar;": '\U000029B7', + "operp;": '\U000029B9', + "oplus;": '\U00002295', + "or;": '\U00002228', + "orarr;": '\U000021BB', + "ord;": '\U00002A5D', + "order;": '\U00002134', + "orderof;": '\U00002134', + "ordf;": '\U000000AA', + "ordm;": '\U000000BA', + "origof;": '\U000022B6', + "oror;": '\U00002A56', + "orslope;": '\U00002A57', + "orv;": '\U00002A5B', + "oscr;": '\U00002134', + "oslash;": '\U000000F8', + "osol;": '\U00002298', + "otilde;": '\U000000F5', + "otimes;": '\U00002297', + "otimesas;": '\U00002A36', + "ouml;": '\U000000F6', + "ovbar;": '\U0000233D', + "par;": '\U00002225', + "para;": '\U000000B6', + "parallel;": '\U00002225', + "parsim;": '\U00002AF3', + "parsl;": '\U00002AFD', + "part;": '\U00002202', + "pcy;": '\U0000043F', + "percnt;": '\U00000025', + "period;": '\U0000002E', + "permil;": '\U00002030', + "perp;": '\U000022A5', + "pertenk;": '\U00002031', + "pfr;": '\U0001D52D', + "phi;": '\U000003C6', + "phiv;": '\U000003D5', + "phmmat;": '\U00002133', + "phone;": '\U0000260E', + "pi;": '\U000003C0', + "pitchfork;": '\U000022D4', + "piv;": '\U000003D6', + "planck;": '\U0000210F', + "planckh;": '\U0000210E', + "plankv;": '\U0000210F', + "plus;": '\U0000002B', + "plusacir;": '\U00002A23', + "plusb;": '\U0000229E', + "pluscir;": '\U00002A22', + "plusdo;": '\U00002214', + "plusdu;": '\U00002A25', + "pluse;": '\U00002A72', + "plusmn;": '\U000000B1', + "plussim;": '\U00002A26', + "plustwo;": '\U00002A27', + "pm;": '\U000000B1', + "pointint;": '\U00002A15', + "popf;": '\U0001D561', + "pound;": '\U000000A3', + "pr;": '\U0000227A', + "prE;": '\U00002AB3', + "prap;": '\U00002AB7', + "prcue;": '\U0000227C', + "pre;": '\U00002AAF', + "prec;": '\U0000227A', + "precapprox;": '\U00002AB7', + "preccurlyeq;": '\U0000227C', + "preceq;": '\U00002AAF', + "precnapprox;": '\U00002AB9', + "precneqq;": '\U00002AB5', + "precnsim;": '\U000022E8', + "precsim;": '\U0000227E', + "prime;": '\U00002032', + "primes;": '\U00002119', + "prnE;": '\U00002AB5', + "prnap;": '\U00002AB9', + "prnsim;": '\U000022E8', + "prod;": '\U0000220F', + "profalar;": '\U0000232E', + "profline;": '\U00002312', + "profsurf;": '\U00002313', + "prop;": '\U0000221D', + "propto;": '\U0000221D', + "prsim;": '\U0000227E', + "prurel;": '\U000022B0', + "pscr;": '\U0001D4C5', + "psi;": '\U000003C8', + "puncsp;": '\U00002008', + "qfr;": '\U0001D52E', + "qint;": '\U00002A0C', + "qopf;": '\U0001D562', + "qprime;": '\U00002057', + "qscr;": '\U0001D4C6', + "quaternions;": '\U0000210D', + "quatint;": '\U00002A16', + "quest;": '\U0000003F', + "questeq;": '\U0000225F', + "quot;": '\U00000022', + "rAarr;": '\U000021DB', + "rArr;": '\U000021D2', + "rAtail;": '\U0000291C', + "rBarr;": '\U0000290F', + "rHar;": '\U00002964', + "racute;": '\U00000155', + "radic;": '\U0000221A', + "raemptyv;": '\U000029B3', + "rang;": '\U000027E9', + "rangd;": '\U00002992', + "range;": '\U000029A5', + "rangle;": '\U000027E9', + "raquo;": '\U000000BB', + "rarr;": '\U00002192', + "rarrap;": '\U00002975', + "rarrb;": '\U000021E5', + "rarrbfs;": '\U00002920', + "rarrc;": '\U00002933', + "rarrfs;": '\U0000291E', + "rarrhk;": '\U000021AA', + "rarrlp;": '\U000021AC', + "rarrpl;": '\U00002945', + "rarrsim;": '\U00002974', + "rarrtl;": '\U000021A3', + "rarrw;": '\U0000219D', + "ratail;": '\U0000291A', + "ratio;": '\U00002236', + "rationals;": '\U0000211A', + "rbarr;": '\U0000290D', + "rbbrk;": '\U00002773', + "rbrace;": '\U0000007D', + "rbrack;": '\U0000005D', + "rbrke;": '\U0000298C', + "rbrksld;": '\U0000298E', + "rbrkslu;": '\U00002990', + "rcaron;": '\U00000159', + "rcedil;": '\U00000157', + "rceil;": '\U00002309', + "rcub;": '\U0000007D', + "rcy;": '\U00000440', + "rdca;": '\U00002937', + "rdldhar;": '\U00002969', + "rdquo;": '\U0000201D', + "rdquor;": '\U0000201D', + "rdsh;": '\U000021B3', + "real;": '\U0000211C', + "realine;": '\U0000211B', + "realpart;": '\U0000211C', + "reals;": '\U0000211D', + "rect;": '\U000025AD', + "reg;": '\U000000AE', + "rfisht;": '\U0000297D', + "rfloor;": '\U0000230B', + "rfr;": '\U0001D52F', + "rhard;": '\U000021C1', + "rharu;": '\U000021C0', + "rharul;": '\U0000296C', + "rho;": '\U000003C1', + "rhov;": '\U000003F1', + "rightarrow;": '\U00002192', + "rightarrowtail;": '\U000021A3', + "rightharpoondown;": '\U000021C1', + "rightharpoonup;": '\U000021C0', + "rightleftarrows;": '\U000021C4', + "rightleftharpoons;": '\U000021CC', + "rightrightarrows;": '\U000021C9', + "rightsquigarrow;": '\U0000219D', + "rightthreetimes;": '\U000022CC', + "ring;": '\U000002DA', + "risingdotseq;": '\U00002253', + "rlarr;": '\U000021C4', + "rlhar;": '\U000021CC', + "rlm;": '\U0000200F', + "rmoust;": '\U000023B1', + "rmoustache;": '\U000023B1', + "rnmid;": '\U00002AEE', + "roang;": '\U000027ED', + "roarr;": '\U000021FE', + "robrk;": '\U000027E7', + "ropar;": '\U00002986', + "ropf;": '\U0001D563', + "roplus;": '\U00002A2E', + "rotimes;": '\U00002A35', + "rpar;": '\U00000029', + "rpargt;": '\U00002994', + "rppolint;": '\U00002A12', + "rrarr;": '\U000021C9', + "rsaquo;": '\U0000203A', + "rscr;": '\U0001D4C7', + "rsh;": '\U000021B1', + "rsqb;": '\U0000005D', + "rsquo;": '\U00002019', + "rsquor;": '\U00002019', + "rthree;": '\U000022CC', + "rtimes;": '\U000022CA', + "rtri;": '\U000025B9', + "rtrie;": '\U000022B5', + "rtrif;": '\U000025B8', + "rtriltri;": '\U000029CE', + "ruluhar;": '\U00002968', + "rx;": '\U0000211E', + "sacute;": '\U0000015B', + "sbquo;": '\U0000201A', + "sc;": '\U0000227B', + "scE;": '\U00002AB4', + "scap;": '\U00002AB8', + "scaron;": '\U00000161', + "sccue;": '\U0000227D', + "sce;": '\U00002AB0', + "scedil;": '\U0000015F', + "scirc;": '\U0000015D', + "scnE;": '\U00002AB6', + "scnap;": '\U00002ABA', + "scnsim;": '\U000022E9', + "scpolint;": '\U00002A13', + "scsim;": '\U0000227F', + "scy;": '\U00000441', + "sdot;": '\U000022C5', + "sdotb;": '\U000022A1', + "sdote;": '\U00002A66', + "seArr;": '\U000021D8', + "searhk;": '\U00002925', + "searr;": '\U00002198', + "searrow;": '\U00002198', + "sect;": '\U000000A7', + "semi;": '\U0000003B', + "seswar;": '\U00002929', + "setminus;": '\U00002216', + "setmn;": '\U00002216', + "sext;": '\U00002736', + "sfr;": '\U0001D530', + "sfrown;": '\U00002322', + "sharp;": '\U0000266F', + "shchcy;": '\U00000449', + "shcy;": '\U00000448', + "shortmid;": '\U00002223', + "shortparallel;": '\U00002225', + "shy;": '\U000000AD', + "sigma;": '\U000003C3', + "sigmaf;": '\U000003C2', + "sigmav;": '\U000003C2', + "sim;": '\U0000223C', + "simdot;": '\U00002A6A', + "sime;": '\U00002243', + "simeq;": '\U00002243', + "simg;": '\U00002A9E', + "simgE;": '\U00002AA0', + "siml;": '\U00002A9D', + "simlE;": '\U00002A9F', + "simne;": '\U00002246', + "simplus;": '\U00002A24', + "simrarr;": '\U00002972', + "slarr;": '\U00002190', + "smallsetminus;": '\U00002216', + "smashp;": '\U00002A33', + "smeparsl;": '\U000029E4', + "smid;": '\U00002223', + "smile;": '\U00002323', + "smt;": '\U00002AAA', + "smte;": '\U00002AAC', + "softcy;": '\U0000044C', + "sol;": '\U0000002F', + "solb;": '\U000029C4', + "solbar;": '\U0000233F', + "sopf;": '\U0001D564', + "spades;": '\U00002660', + "spadesuit;": '\U00002660', + "spar;": '\U00002225', + "sqcap;": '\U00002293', + "sqcup;": '\U00002294', + "sqsub;": '\U0000228F', + "sqsube;": '\U00002291', + "sqsubset;": '\U0000228F', + "sqsubseteq;": '\U00002291', + "sqsup;": '\U00002290', + "sqsupe;": '\U00002292', + "sqsupset;": '\U00002290', + "sqsupseteq;": '\U00002292', + "squ;": '\U000025A1', + "square;": '\U000025A1', + "squarf;": '\U000025AA', + "squf;": '\U000025AA', + "srarr;": '\U00002192', + "sscr;": '\U0001D4C8', + "ssetmn;": '\U00002216', + "ssmile;": '\U00002323', + "sstarf;": '\U000022C6', + "star;": '\U00002606', + "starf;": '\U00002605', + "straightepsilon;": '\U000003F5', + "straightphi;": '\U000003D5', + "strns;": '\U000000AF', + "sub;": '\U00002282', + "subE;": '\U00002AC5', + "subdot;": '\U00002ABD', + "sube;": '\U00002286', + "subedot;": '\U00002AC3', + "submult;": '\U00002AC1', + "subnE;": '\U00002ACB', + "subne;": '\U0000228A', + "subplus;": '\U00002ABF', + "subrarr;": '\U00002979', + "subset;": '\U00002282', + "subseteq;": '\U00002286', + "subseteqq;": '\U00002AC5', + "subsetneq;": '\U0000228A', + "subsetneqq;": '\U00002ACB', + "subsim;": '\U00002AC7', + "subsub;": '\U00002AD5', + "subsup;": '\U00002AD3', + "succ;": '\U0000227B', + "succapprox;": '\U00002AB8', + "succcurlyeq;": '\U0000227D', + "succeq;": '\U00002AB0', + "succnapprox;": '\U00002ABA', + "succneqq;": '\U00002AB6', + "succnsim;": '\U000022E9', + "succsim;": '\U0000227F', + "sum;": '\U00002211', + "sung;": '\U0000266A', + "sup;": '\U00002283', + "sup1;": '\U000000B9', + "sup2;": '\U000000B2', + "sup3;": '\U000000B3', + "supE;": '\U00002AC6', + "supdot;": '\U00002ABE', + "supdsub;": '\U00002AD8', + "supe;": '\U00002287', + "supedot;": '\U00002AC4', + "suphsol;": '\U000027C9', + "suphsub;": '\U00002AD7', + "suplarr;": '\U0000297B', + "supmult;": '\U00002AC2', + "supnE;": '\U00002ACC', + "supne;": '\U0000228B', + "supplus;": '\U00002AC0', + "supset;": '\U00002283', + "supseteq;": '\U00002287', + "supseteqq;": '\U00002AC6', + "supsetneq;": '\U0000228B', + "supsetneqq;": '\U00002ACC', + "supsim;": '\U00002AC8', + "supsub;": '\U00002AD4', + "supsup;": '\U00002AD6', + "swArr;": '\U000021D9', + "swarhk;": '\U00002926', + "swarr;": '\U00002199', + "swarrow;": '\U00002199', + "swnwar;": '\U0000292A', + "szlig;": '\U000000DF', + "target;": '\U00002316', + "tau;": '\U000003C4', + "tbrk;": '\U000023B4', + "tcaron;": '\U00000165', + "tcedil;": '\U00000163', + "tcy;": '\U00000442', + "tdot;": '\U000020DB', + "telrec;": '\U00002315', + "tfr;": '\U0001D531', + "there4;": '\U00002234', + "therefore;": '\U00002234', + "theta;": '\U000003B8', + "thetasym;": '\U000003D1', + "thetav;": '\U000003D1', + "thickapprox;": '\U00002248', + "thicksim;": '\U0000223C', + "thinsp;": '\U00002009', + "thkap;": '\U00002248', + "thksim;": '\U0000223C', + "thorn;": '\U000000FE', + "tilde;": '\U000002DC', + "times;": '\U000000D7', + "timesb;": '\U000022A0', + "timesbar;": '\U00002A31', + "timesd;": '\U00002A30', + "tint;": '\U0000222D', + "toea;": '\U00002928', + "top;": '\U000022A4', + "topbot;": '\U00002336', + "topcir;": '\U00002AF1', + "topf;": '\U0001D565', + "topfork;": '\U00002ADA', + "tosa;": '\U00002929', + "tprime;": '\U00002034', + "trade;": '\U00002122', + "triangle;": '\U000025B5', + "triangledown;": '\U000025BF', + "triangleleft;": '\U000025C3', + "trianglelefteq;": '\U000022B4', + "triangleq;": '\U0000225C', + "triangleright;": '\U000025B9', + "trianglerighteq;": '\U000022B5', + "tridot;": '\U000025EC', + "trie;": '\U0000225C', + "triminus;": '\U00002A3A', + "triplus;": '\U00002A39', + "trisb;": '\U000029CD', + "tritime;": '\U00002A3B', + "trpezium;": '\U000023E2', + "tscr;": '\U0001D4C9', + "tscy;": '\U00000446', + "tshcy;": '\U0000045B', + "tstrok;": '\U00000167', + "twixt;": '\U0000226C', + "twoheadleftarrow;": '\U0000219E', + "twoheadrightarrow;": '\U000021A0', + "uArr;": '\U000021D1', + "uHar;": '\U00002963', + "uacute;": '\U000000FA', + "uarr;": '\U00002191', + "ubrcy;": '\U0000045E', + "ubreve;": '\U0000016D', + "ucirc;": '\U000000FB', + "ucy;": '\U00000443', + "udarr;": '\U000021C5', + "udblac;": '\U00000171', + "udhar;": '\U0000296E', + "ufisht;": '\U0000297E', + "ufr;": '\U0001D532', + "ugrave;": '\U000000F9', + "uharl;": '\U000021BF', + "uharr;": '\U000021BE', + "uhblk;": '\U00002580', + "ulcorn;": '\U0000231C', + "ulcorner;": '\U0000231C', + "ulcrop;": '\U0000230F', + "ultri;": '\U000025F8', + "umacr;": '\U0000016B', + "uml;": '\U000000A8', + "uogon;": '\U00000173', + "uopf;": '\U0001D566', + "uparrow;": '\U00002191', + "updownarrow;": '\U00002195', + "upharpoonleft;": '\U000021BF', + "upharpoonright;": '\U000021BE', + "uplus;": '\U0000228E', + "upsi;": '\U000003C5', + "upsih;": '\U000003D2', + "upsilon;": '\U000003C5', + "upuparrows;": '\U000021C8', + "urcorn;": '\U0000231D', + "urcorner;": '\U0000231D', + "urcrop;": '\U0000230E', + "uring;": '\U0000016F', + "urtri;": '\U000025F9', + "uscr;": '\U0001D4CA', + "utdot;": '\U000022F0', + "utilde;": '\U00000169', + "utri;": '\U000025B5', + "utrif;": '\U000025B4', + "uuarr;": '\U000021C8', + "uuml;": '\U000000FC', + "uwangle;": '\U000029A7', + "vArr;": '\U000021D5', + "vBar;": '\U00002AE8', + "vBarv;": '\U00002AE9', + "vDash;": '\U000022A8', + "vangrt;": '\U0000299C', + "varepsilon;": '\U000003F5', + "varkappa;": '\U000003F0', + "varnothing;": '\U00002205', + "varphi;": '\U000003D5', + "varpi;": '\U000003D6', + "varpropto;": '\U0000221D', + "varr;": '\U00002195', + "varrho;": '\U000003F1', + "varsigma;": '\U000003C2', + "vartheta;": '\U000003D1', + "vartriangleleft;": '\U000022B2', + "vartriangleright;": '\U000022B3', + "vcy;": '\U00000432', + "vdash;": '\U000022A2', + "vee;": '\U00002228', + "veebar;": '\U000022BB', + "veeeq;": '\U0000225A', + "vellip;": '\U000022EE', + "verbar;": '\U0000007C', + "vert;": '\U0000007C', + "vfr;": '\U0001D533', + "vltri;": '\U000022B2', + "vopf;": '\U0001D567', + "vprop;": '\U0000221D', + "vrtri;": '\U000022B3', + "vscr;": '\U0001D4CB', + "vzigzag;": '\U0000299A', + "wcirc;": '\U00000175', + "wedbar;": '\U00002A5F', + "wedge;": '\U00002227', + "wedgeq;": '\U00002259', + "weierp;": '\U00002118', + "wfr;": '\U0001D534', + "wopf;": '\U0001D568', + "wp;": '\U00002118', + "wr;": '\U00002240', + "wreath;": '\U00002240', + "wscr;": '\U0001D4CC', + "xcap;": '\U000022C2', + "xcirc;": '\U000025EF', + "xcup;": '\U000022C3', + "xdtri;": '\U000025BD', + "xfr;": '\U0001D535', + "xhArr;": '\U000027FA', + "xharr;": '\U000027F7', + "xi;": '\U000003BE', + "xlArr;": '\U000027F8', + "xlarr;": '\U000027F5', + "xmap;": '\U000027FC', + "xnis;": '\U000022FB', + "xodot;": '\U00002A00', + "xopf;": '\U0001D569', + "xoplus;": '\U00002A01', + "xotime;": '\U00002A02', + "xrArr;": '\U000027F9', + "xrarr;": '\U000027F6', + "xscr;": '\U0001D4CD', + "xsqcup;": '\U00002A06', + "xuplus;": '\U00002A04', + "xutri;": '\U000025B3', + "xvee;": '\U000022C1', + "xwedge;": '\U000022C0', + "yacute;": '\U000000FD', + "yacy;": '\U0000044F', + "ycirc;": '\U00000177', + "ycy;": '\U0000044B', + "yen;": '\U000000A5', + "yfr;": '\U0001D536', + "yicy;": '\U00000457', + "yopf;": '\U0001D56A', + "yscr;": '\U0001D4CE', + "yucy;": '\U0000044E', + "yuml;": '\U000000FF', + "zacute;": '\U0000017A', + "zcaron;": '\U0000017E', + "zcy;": '\U00000437', + "zdot;": '\U0000017C', + "zeetrf;": '\U00002128', + "zeta;": '\U000003B6', + "zfr;": '\U0001D537', + "zhcy;": '\U00000436', + "zigrarr;": '\U000021DD', + "zopf;": '\U0001D56B', + "zscr;": '\U0001D4CF', + "zwj;": '\U0000200D', + "zwnj;": '\U0000200C', + "AElig": '\U000000C6', + "AMP": '\U00000026', + "Aacute": '\U000000C1', + "Acirc": '\U000000C2', + "Agrave": '\U000000C0', + "Aring": '\U000000C5', + "Atilde": '\U000000C3', + "Auml": '\U000000C4', + "COPY": '\U000000A9', + "Ccedil": '\U000000C7', + "ETH": '\U000000D0', + "Eacute": '\U000000C9', + "Ecirc": '\U000000CA', + "Egrave": '\U000000C8', + "Euml": '\U000000CB', + "GT": '\U0000003E', + "Iacute": '\U000000CD', + "Icirc": '\U000000CE', + "Igrave": '\U000000CC', + "Iuml": '\U000000CF', + "LT": '\U0000003C', + "Ntilde": '\U000000D1', + "Oacute": '\U000000D3', + "Ocirc": '\U000000D4', + "Ograve": '\U000000D2', + "Oslash": '\U000000D8', + "Otilde": '\U000000D5', + "Ouml": '\U000000D6', + "QUOT": '\U00000022', + "REG": '\U000000AE', + "THORN": '\U000000DE', + "Uacute": '\U000000DA', + "Ucirc": '\U000000DB', + "Ugrave": '\U000000D9', + "Uuml": '\U000000DC', + "Yacute": '\U000000DD', + "aacute": '\U000000E1', + "acirc": '\U000000E2', + "acute": '\U000000B4', + "aelig": '\U000000E6', + "agrave": '\U000000E0', + "amp": '\U00000026', + "aring": '\U000000E5', + "atilde": '\U000000E3', + "auml": '\U000000E4', + "brvbar": '\U000000A6', + "ccedil": '\U000000E7', + "cedil": '\U000000B8', + "cent": '\U000000A2', + "copy": '\U000000A9', + "curren": '\U000000A4', + "deg": '\U000000B0', + "divide": '\U000000F7', + "eacute": '\U000000E9', + "ecirc": '\U000000EA', + "egrave": '\U000000E8', + "eth": '\U000000F0', + "euml": '\U000000EB', + "frac12": '\U000000BD', + "frac14": '\U000000BC', + "frac34": '\U000000BE', + "gt": '\U0000003E', + "iacute": '\U000000ED', + "icirc": '\U000000EE', + "iexcl": '\U000000A1', + "igrave": '\U000000EC', + "iquest": '\U000000BF', + "iuml": '\U000000EF', + "laquo": '\U000000AB', + "lt": '\U0000003C', + "macr": '\U000000AF', + "micro": '\U000000B5', + "middot": '\U000000B7', + "nbsp": '\U000000A0', + "not": '\U000000AC', + "ntilde": '\U000000F1', + "oacute": '\U000000F3', + "ocirc": '\U000000F4', + "ograve": '\U000000F2', + "ordf": '\U000000AA', + "ordm": '\U000000BA', + "oslash": '\U000000F8', + "otilde": '\U000000F5', + "ouml": '\U000000F6', + "para": '\U000000B6', + "plusmn": '\U000000B1', + "pound": '\U000000A3', + "quot": '\U00000022', + "raquo": '\U000000BB', + "reg": '\U000000AE', + "sect": '\U000000A7', + "shy": '\U000000AD', + "sup1": '\U000000B9', + "sup2": '\U000000B2', + "sup3": '\U000000B3', + "szlig": '\U000000DF', + "thorn": '\U000000FE', + "times": '\U000000D7', + "uacute": '\U000000FA', + "ucirc": '\U000000FB', + "ugrave": '\U000000F9', + "uml": '\U000000A8', + "uuml": '\U000000FC', + "yacute": '\U000000FD', + "yen": '\U000000A5', + "yuml": '\U000000FF', +} + +// HTML entities that are two unicode codepoints. +var entity2 = map[string][2]rune{ + // TODO(nigeltao): Handle replacements that are wider than their names. + // "nLt;": {'\u226A', '\u20D2'}, + // "nGt;": {'\u226B', '\u20D2'}, + "NotEqualTilde;": {'\u2242', '\u0338'}, + "NotGreaterFullEqual;": {'\u2267', '\u0338'}, + "NotGreaterGreater;": {'\u226B', '\u0338'}, + "NotGreaterSlantEqual;": {'\u2A7E', '\u0338'}, + "NotHumpDownHump;": {'\u224E', '\u0338'}, + "NotHumpEqual;": {'\u224F', '\u0338'}, + "NotLeftTriangleBar;": {'\u29CF', '\u0338'}, + "NotLessLess;": {'\u226A', '\u0338'}, + "NotLessSlantEqual;": {'\u2A7D', '\u0338'}, + "NotNestedGreaterGreater;": {'\u2AA2', '\u0338'}, + "NotNestedLessLess;": {'\u2AA1', '\u0338'}, + "NotPrecedesEqual;": {'\u2AAF', '\u0338'}, + "NotRightTriangleBar;": {'\u29D0', '\u0338'}, + "NotSquareSubset;": {'\u228F', '\u0338'}, + "NotSquareSuperset;": {'\u2290', '\u0338'}, + "NotSubset;": {'\u2282', '\u20D2'}, + "NotSucceedsEqual;": {'\u2AB0', '\u0338'}, + "NotSucceedsTilde;": {'\u227F', '\u0338'}, + "NotSuperset;": {'\u2283', '\u20D2'}, + "ThickSpace;": {'\u205F', '\u200A'}, + "acE;": {'\u223E', '\u0333'}, + "bne;": {'\u003D', '\u20E5'}, + "bnequiv;": {'\u2261', '\u20E5'}, + "caps;": {'\u2229', '\uFE00'}, + "cups;": {'\u222A', '\uFE00'}, + "fjlig;": {'\u0066', '\u006A'}, + "gesl;": {'\u22DB', '\uFE00'}, + "gvertneqq;": {'\u2269', '\uFE00'}, + "gvnE;": {'\u2269', '\uFE00'}, + "lates;": {'\u2AAD', '\uFE00'}, + "lesg;": {'\u22DA', '\uFE00'}, + "lvertneqq;": {'\u2268', '\uFE00'}, + "lvnE;": {'\u2268', '\uFE00'}, + "nGg;": {'\u22D9', '\u0338'}, + "nGtv;": {'\u226B', '\u0338'}, + "nLl;": {'\u22D8', '\u0338'}, + "nLtv;": {'\u226A', '\u0338'}, + "nang;": {'\u2220', '\u20D2'}, + "napE;": {'\u2A70', '\u0338'}, + "napid;": {'\u224B', '\u0338'}, + "nbump;": {'\u224E', '\u0338'}, + "nbumpe;": {'\u224F', '\u0338'}, + "ncongdot;": {'\u2A6D', '\u0338'}, + "nedot;": {'\u2250', '\u0338'}, + "nesim;": {'\u2242', '\u0338'}, + "ngE;": {'\u2267', '\u0338'}, + "ngeqq;": {'\u2267', '\u0338'}, + "ngeqslant;": {'\u2A7E', '\u0338'}, + "nges;": {'\u2A7E', '\u0338'}, + "nlE;": {'\u2266', '\u0338'}, + "nleqq;": {'\u2266', '\u0338'}, + "nleqslant;": {'\u2A7D', '\u0338'}, + "nles;": {'\u2A7D', '\u0338'}, + "notinE;": {'\u22F9', '\u0338'}, + "notindot;": {'\u22F5', '\u0338'}, + "nparsl;": {'\u2AFD', '\u20E5'}, + "npart;": {'\u2202', '\u0338'}, + "npre;": {'\u2AAF', '\u0338'}, + "npreceq;": {'\u2AAF', '\u0338'}, + "nrarrc;": {'\u2933', '\u0338'}, + "nrarrw;": {'\u219D', '\u0338'}, + "nsce;": {'\u2AB0', '\u0338'}, + "nsubE;": {'\u2AC5', '\u0338'}, + "nsubset;": {'\u2282', '\u20D2'}, + "nsubseteqq;": {'\u2AC5', '\u0338'}, + "nsucceq;": {'\u2AB0', '\u0338'}, + "nsupE;": {'\u2AC6', '\u0338'}, + "nsupset;": {'\u2283', '\u20D2'}, + "nsupseteqq;": {'\u2AC6', '\u0338'}, + "nvap;": {'\u224D', '\u20D2'}, + "nvge;": {'\u2265', '\u20D2'}, + "nvgt;": {'\u003E', '\u20D2'}, + "nvle;": {'\u2264', '\u20D2'}, + "nvlt;": {'\u003C', '\u20D2'}, + "nvltrie;": {'\u22B4', '\u20D2'}, + "nvrtrie;": {'\u22B5', '\u20D2'}, + "nvsim;": {'\u223C', '\u20D2'}, + "race;": {'\u223D', '\u0331'}, + "smtes;": {'\u2AAC', '\uFE00'}, + "sqcaps;": {'\u2293', '\uFE00'}, + "sqcups;": {'\u2294', '\uFE00'}, + "varsubsetneq;": {'\u228A', '\uFE00'}, + "varsubsetneqq;": {'\u2ACB', '\uFE00'}, + "varsupsetneq;": {'\u228B', '\uFE00'}, + "varsupsetneqq;": {'\u2ACC', '\uFE00'}, + "vnsub;": {'\u2282', '\u20D2'}, + "vnsup;": {'\u2283', '\u20D2'}, + "vsubnE;": {'\u2ACB', '\uFE00'}, + "vsubne;": {'\u228A', '\uFE00'}, + "vsupnE;": {'\u2ACC', '\uFE00'}, + "vsupne;": {'\u228B', '\uFE00'}, +} diff --git a/vendor/golang.org/x/net/html/escape.go b/vendor/golang.org/x/net/html/escape.go new file mode 100644 index 0000000..d856139 --- /dev/null +++ b/vendor/golang.org/x/net/html/escape.go @@ -0,0 +1,258 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import ( + "bytes" + "strings" + "unicode/utf8" +) + +// These replacements permit compatibility with old numeric entities that +// assumed Windows-1252 encoding. +// https://html.spec.whatwg.org/multipage/syntax.html#consume-a-character-reference +var replacementTable = [...]rune{ + '\u20AC', // First entry is what 0x80 should be replaced with. + '\u0081', + '\u201A', + '\u0192', + '\u201E', + '\u2026', + '\u2020', + '\u2021', + '\u02C6', + '\u2030', + '\u0160', + '\u2039', + '\u0152', + '\u008D', + '\u017D', + '\u008F', + '\u0090', + '\u2018', + '\u2019', + '\u201C', + '\u201D', + '\u2022', + '\u2013', + '\u2014', + '\u02DC', + '\u2122', + '\u0161', + '\u203A', + '\u0153', + '\u009D', + '\u017E', + '\u0178', // Last entry is 0x9F. + // 0x00->'\uFFFD' is handled programmatically. + // 0x0D->'\u000D' is a no-op. +} + +// unescapeEntity reads an entity like "<" from b[src:] and writes the +// corresponding "<" to b[dst:], returning the incremented dst and src cursors. +// Precondition: b[src] == '&' && dst <= src. +// attribute should be true if parsing an attribute value. +func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) { + // https://html.spec.whatwg.org/multipage/syntax.html#consume-a-character-reference + + // i starts at 1 because we already know that s[0] == '&'. + i, s := 1, b[src:] + + if len(s) <= 1 { + b[dst] = b[src] + return dst + 1, src + 1 + } + + if s[i] == '#' { + if len(s) <= 3 { // We need to have at least "&#.". + b[dst] = b[src] + return dst + 1, src + 1 + } + i++ + c := s[i] + hex := false + if c == 'x' || c == 'X' { + hex = true + i++ + } + + x := '\x00' + for i < len(s) { + c = s[i] + i++ + if hex { + if '0' <= c && c <= '9' { + x = 16*x + rune(c) - '0' + continue + } else if 'a' <= c && c <= 'f' { + x = 16*x + rune(c) - 'a' + 10 + continue + } else if 'A' <= c && c <= 'F' { + x = 16*x + rune(c) - 'A' + 10 + continue + } + } else if '0' <= c && c <= '9' { + x = 10*x + rune(c) - '0' + continue + } + if c != ';' { + i-- + } + break + } + + if i <= 3 { // No characters matched. + b[dst] = b[src] + return dst + 1, src + 1 + } + + if 0x80 <= x && x <= 0x9F { + // Replace characters from Windows-1252 with UTF-8 equivalents. + x = replacementTable[x-0x80] + } else if x == 0 || (0xD800 <= x && x <= 0xDFFF) || x > 0x10FFFF { + // Replace invalid characters with the replacement character. + x = '\uFFFD' + } + + return dst + utf8.EncodeRune(b[dst:], x), src + i + } + + // Consume the maximum number of characters possible, with the + // consumed characters matching one of the named references. + + for i < len(s) { + c := s[i] + i++ + // Lower-cased characters are more common in entities, so we check for them first. + if 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' { + continue + } + if c != ';' { + i-- + } + break + } + + entityName := string(s[1:i]) + if entityName == "" { + // No-op. + } else if attribute && entityName[len(entityName)-1] != ';' && len(s) > i && s[i] == '=' { + // No-op. + } else if x := entity[entityName]; x != 0 { + return dst + utf8.EncodeRune(b[dst:], x), src + i + } else if x := entity2[entityName]; x[0] != 0 { + dst1 := dst + utf8.EncodeRune(b[dst:], x[0]) + return dst1 + utf8.EncodeRune(b[dst1:], x[1]), src + i + } else if !attribute { + maxLen := len(entityName) - 1 + if maxLen > longestEntityWithoutSemicolon { + maxLen = longestEntityWithoutSemicolon + } + for j := maxLen; j > 1; j-- { + if x := entity[entityName[:j]]; x != 0 { + return dst + utf8.EncodeRune(b[dst:], x), src + j + 1 + } + } + } + + dst1, src1 = dst+i, src+i + copy(b[dst:dst1], b[src:src1]) + return dst1, src1 +} + +// unescape unescapes b's entities in-place, so that "a<b" becomes "a': + esc = ">" + case '"': + // """ is shorter than """. + esc = """ + case '\r': + esc = " " + default: + panic("unrecognized escape character") + } + s = s[i+1:] + if _, err := w.WriteString(esc); err != nil { + return err + } + i = strings.IndexAny(s, escapedChars) + } + _, err := w.WriteString(s) + return err +} + +// EscapeString escapes special characters like "<" to become "<". It +// escapes only five such characters: <, >, &, ' and ". +// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't +// always true. +func EscapeString(s string) string { + if strings.IndexAny(s, escapedChars) == -1 { + return s + } + var buf bytes.Buffer + escape(&buf, s) + return buf.String() +} + +// UnescapeString unescapes entities like "<" to become "<". It unescapes a +// larger range of entities than EscapeString escapes. For example, "á" +// unescapes to "á", as does "á" and "&xE1;". +// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't +// always true. +func UnescapeString(s string) string { + for _, c := range s { + if c == '&' { + return string(unescape([]byte(s), false)) + } + } + return s +} diff --git a/vendor/golang.org/x/net/html/foreign.go b/vendor/golang.org/x/net/html/foreign.go new file mode 100644 index 0000000..d3b3844 --- /dev/null +++ b/vendor/golang.org/x/net/html/foreign.go @@ -0,0 +1,226 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import ( + "strings" +) + +func adjustAttributeNames(aa []Attribute, nameMap map[string]string) { + for i := range aa { + if newName, ok := nameMap[aa[i].Key]; ok { + aa[i].Key = newName + } + } +} + +func adjustForeignAttributes(aa []Attribute) { + for i, a := range aa { + if a.Key == "" || a.Key[0] != 'x' { + continue + } + switch a.Key { + case "xlink:actuate", "xlink:arcrole", "xlink:href", "xlink:role", "xlink:show", + "xlink:title", "xlink:type", "xml:base", "xml:lang", "xml:space", "xmlns:xlink": + j := strings.Index(a.Key, ":") + aa[i].Namespace = a.Key[:j] + aa[i].Key = a.Key[j+1:] + } + } +} + +func htmlIntegrationPoint(n *Node) bool { + if n.Type != ElementNode { + return false + } + switch n.Namespace { + case "math": + if n.Data == "annotation-xml" { + for _, a := range n.Attr { + if a.Key == "encoding" { + val := strings.ToLower(a.Val) + if val == "text/html" || val == "application/xhtml+xml" { + return true + } + } + } + } + case "svg": + switch n.Data { + case "desc", "foreignObject", "title": + return true + } + } + return false +} + +func mathMLTextIntegrationPoint(n *Node) bool { + if n.Namespace != "math" { + return false + } + switch n.Data { + case "mi", "mo", "mn", "ms", "mtext": + return true + } + return false +} + +// Section 12.2.5.5. +var breakout = map[string]bool{ + "b": true, + "big": true, + "blockquote": true, + "body": true, + "br": true, + "center": true, + "code": true, + "dd": true, + "div": true, + "dl": true, + "dt": true, + "em": true, + "embed": true, + "h1": true, + "h2": true, + "h3": true, + "h4": true, + "h5": true, + "h6": true, + "head": true, + "hr": true, + "i": true, + "img": true, + "li": true, + "listing": true, + "menu": true, + "meta": true, + "nobr": true, + "ol": true, + "p": true, + "pre": true, + "ruby": true, + "s": true, + "small": true, + "span": true, + "strong": true, + "strike": true, + "sub": true, + "sup": true, + "table": true, + "tt": true, + "u": true, + "ul": true, + "var": true, +} + +// Section 12.2.5.5. +var svgTagNameAdjustments = map[string]string{ + "altglyph": "altGlyph", + "altglyphdef": "altGlyphDef", + "altglyphitem": "altGlyphItem", + "animatecolor": "animateColor", + "animatemotion": "animateMotion", + "animatetransform": "animateTransform", + "clippath": "clipPath", + "feblend": "feBlend", + "fecolormatrix": "feColorMatrix", + "fecomponenttransfer": "feComponentTransfer", + "fecomposite": "feComposite", + "feconvolvematrix": "feConvolveMatrix", + "fediffuselighting": "feDiffuseLighting", + "fedisplacementmap": "feDisplacementMap", + "fedistantlight": "feDistantLight", + "feflood": "feFlood", + "fefunca": "feFuncA", + "fefuncb": "feFuncB", + "fefuncg": "feFuncG", + "fefuncr": "feFuncR", + "fegaussianblur": "feGaussianBlur", + "feimage": "feImage", + "femerge": "feMerge", + "femergenode": "feMergeNode", + "femorphology": "feMorphology", + "feoffset": "feOffset", + "fepointlight": "fePointLight", + "fespecularlighting": "feSpecularLighting", + "fespotlight": "feSpotLight", + "fetile": "feTile", + "feturbulence": "feTurbulence", + "foreignobject": "foreignObject", + "glyphref": "glyphRef", + "lineargradient": "linearGradient", + "radialgradient": "radialGradient", + "textpath": "textPath", +} + +// Section 12.2.5.1 +var mathMLAttributeAdjustments = map[string]string{ + "definitionurl": "definitionURL", +} + +var svgAttributeAdjustments = map[string]string{ + "attributename": "attributeName", + "attributetype": "attributeType", + "basefrequency": "baseFrequency", + "baseprofile": "baseProfile", + "calcmode": "calcMode", + "clippathunits": "clipPathUnits", + "contentscripttype": "contentScriptType", + "contentstyletype": "contentStyleType", + "diffuseconstant": "diffuseConstant", + "edgemode": "edgeMode", + "externalresourcesrequired": "externalResourcesRequired", + "filterres": "filterRes", + "filterunits": "filterUnits", + "glyphref": "glyphRef", + "gradienttransform": "gradientTransform", + "gradientunits": "gradientUnits", + "kernelmatrix": "kernelMatrix", + "kernelunitlength": "kernelUnitLength", + "keypoints": "keyPoints", + "keysplines": "keySplines", + "keytimes": "keyTimes", + "lengthadjust": "lengthAdjust", + "limitingconeangle": "limitingConeAngle", + "markerheight": "markerHeight", + "markerunits": "markerUnits", + "markerwidth": "markerWidth", + "maskcontentunits": "maskContentUnits", + "maskunits": "maskUnits", + "numoctaves": "numOctaves", + "pathlength": "pathLength", + "patterncontentunits": "patternContentUnits", + "patterntransform": "patternTransform", + "patternunits": "patternUnits", + "pointsatx": "pointsAtX", + "pointsaty": "pointsAtY", + "pointsatz": "pointsAtZ", + "preservealpha": "preserveAlpha", + "preserveaspectratio": "preserveAspectRatio", + "primitiveunits": "primitiveUnits", + "refx": "refX", + "refy": "refY", + "repeatcount": "repeatCount", + "repeatdur": "repeatDur", + "requiredextensions": "requiredExtensions", + "requiredfeatures": "requiredFeatures", + "specularconstant": "specularConstant", + "specularexponent": "specularExponent", + "spreadmethod": "spreadMethod", + "startoffset": "startOffset", + "stddeviation": "stdDeviation", + "stitchtiles": "stitchTiles", + "surfacescale": "surfaceScale", + "systemlanguage": "systemLanguage", + "tablevalues": "tableValues", + "targetx": "targetX", + "targety": "targetY", + "textlength": "textLength", + "viewbox": "viewBox", + "viewtarget": "viewTarget", + "xchannelselector": "xChannelSelector", + "ychannelselector": "yChannelSelector", + "zoomandpan": "zoomAndPan", +} diff --git a/vendor/golang.org/x/net/html/node.go b/vendor/golang.org/x/net/html/node.go new file mode 100644 index 0000000..26b657a --- /dev/null +++ b/vendor/golang.org/x/net/html/node.go @@ -0,0 +1,193 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import ( + "golang.org/x/net/html/atom" +) + +// A NodeType is the type of a Node. +type NodeType uint32 + +const ( + ErrorNode NodeType = iota + TextNode + DocumentNode + ElementNode + CommentNode + DoctypeNode + scopeMarkerNode +) + +// Section 12.2.3.3 says "scope markers are inserted when entering applet +// elements, buttons, object elements, marquees, table cells, and table +// captions, and are used to prevent formatting from 'leaking'". +var scopeMarker = Node{Type: scopeMarkerNode} + +// A Node consists of a NodeType and some Data (tag name for element nodes, +// content for text) and are part of a tree of Nodes. Element nodes may also +// have a Namespace and contain a slice of Attributes. Data is unescaped, so +// that it looks like "a 0 { + return (*s)[i-1] + } + return nil +} + +// index returns the index of the top-most occurrence of n in the stack, or -1 +// if n is not present. +func (s *nodeStack) index(n *Node) int { + for i := len(*s) - 1; i >= 0; i-- { + if (*s)[i] == n { + return i + } + } + return -1 +} + +// insert inserts a node at the given index. +func (s *nodeStack) insert(i int, n *Node) { + (*s) = append(*s, nil) + copy((*s)[i+1:], (*s)[i:]) + (*s)[i] = n +} + +// remove removes a node from the stack. It is a no-op if n is not present. +func (s *nodeStack) remove(n *Node) { + i := s.index(n) + if i == -1 { + return + } + copy((*s)[i:], (*s)[i+1:]) + j := len(*s) - 1 + (*s)[j] = nil + *s = (*s)[:j] +} diff --git a/vendor/golang.org/x/net/html/parse.go b/vendor/golang.org/x/net/html/parse.go new file mode 100644 index 0000000..be4b2bf --- /dev/null +++ b/vendor/golang.org/x/net/html/parse.go @@ -0,0 +1,2094 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package html + +import ( + "errors" + "fmt" + "io" + "strings" + + a "golang.org/x/net/html/atom" +) + +// A parser implements the HTML5 parsing algorithm: +// https://html.spec.whatwg.org/multipage/syntax.html#tree-construction +type parser struct { + // tokenizer provides the tokens for the parser. + tokenizer *Tokenizer + // tok is the most recently read token. + tok Token + // Self-closing tags like
are treated as start tags, except that + // hasSelfClosingToken is set while they are being processed. + hasSelfClosingToken bool + // doc is the document root element. + doc *Node + // The stack of open elements (section 12.2.3.2) and active formatting + // elements (section 12.2.3.3). + oe, afe nodeStack + // Element pointers (section 12.2.3.4). + head, form *Node + // Other parsing state flags (section 12.2.3.5). + scripting, framesetOK bool + // im is the current insertion mode. + im insertionMode + // originalIM is the insertion mode to go back to after completing a text + // or inTableText insertion mode. + originalIM insertionMode + // fosterParenting is whether new elements should be inserted according to + // the foster parenting rules (section 12.2.5.3). + fosterParenting bool + // quirks is whether the parser is operating in "quirks mode." + quirks bool + // fragment is whether the parser is parsing an HTML fragment. + fragment bool + // context is the context element when parsing an HTML fragment + // (section 12.4). + context *Node +} + +func (p *parser) top() *Node { + if n := p.oe.top(); n != nil { + return n + } + return p.doc +} + +// Stop tags for use in popUntil. These come from section 12.2.3.2. +var ( + defaultScopeStopTags = map[string][]a.Atom{ + "": {a.Applet, a.Caption, a.Html, a.Table, a.Td, a.Th, a.Marquee, a.Object, a.Template}, + "math": {a.AnnotationXml, a.Mi, a.Mn, a.Mo, a.Ms, a.Mtext}, + "svg": {a.Desc, a.ForeignObject, a.Title}, + } +) + +type scope int + +const ( + defaultScope scope = iota + listItemScope + buttonScope + tableScope + tableRowScope + tableBodyScope + selectScope +) + +// popUntil pops the stack of open elements at the highest element whose tag +// is in matchTags, provided there is no higher element in the scope's stop +// tags (as defined in section 12.2.3.2). It returns whether or not there was +// such an element. If there was not, popUntil leaves the stack unchanged. +// +// For example, the set of stop tags for table scope is: "html", "table". If +// the stack was: +// ["html", "body", "font", "table", "b", "i", "u"] +// then popUntil(tableScope, "font") would return false, but +// popUntil(tableScope, "i") would return true and the stack would become: +// ["html", "body", "font", "table", "b"] +// +// If an element's tag is in both the stop tags and matchTags, then the stack +// will be popped and the function returns true (provided, of course, there was +// no higher element in the stack that was also in the stop tags). For example, +// popUntil(tableScope, "table") returns true and leaves: +// ["html", "body", "font"] +func (p *parser) popUntil(s scope, matchTags ...a.Atom) bool { + if i := p.indexOfElementInScope(s, matchTags...); i != -1 { + p.oe = p.oe[:i] + return true + } + return false +} + +// indexOfElementInScope returns the index in p.oe of the highest element whose +// tag is in matchTags that is in scope. If no matching element is in scope, it +// returns -1. +func (p *parser) indexOfElementInScope(s scope, matchTags ...a.Atom) int { + for i := len(p.oe) - 1; i >= 0; i-- { + tagAtom := p.oe[i].DataAtom + if p.oe[i].Namespace == "" { + for _, t := range matchTags { + if t == tagAtom { + return i + } + } + switch s { + case defaultScope: + // No-op. + case listItemScope: + if tagAtom == a.Ol || tagAtom == a.Ul { + return -1 + } + case buttonScope: + if tagAtom == a.Button { + return -1 + } + case tableScope: + if tagAtom == a.Html || tagAtom == a.Table { + return -1 + } + case selectScope: + if tagAtom != a.Optgroup && tagAtom != a.Option { + return -1 + } + default: + panic("unreachable") + } + } + switch s { + case defaultScope, listItemScope, buttonScope: + for _, t := range defaultScopeStopTags[p.oe[i].Namespace] { + if t == tagAtom { + return -1 + } + } + } + } + return -1 +} + +// elementInScope is like popUntil, except that it doesn't modify the stack of +// open elements. +func (p *parser) elementInScope(s scope, matchTags ...a.Atom) bool { + return p.indexOfElementInScope(s, matchTags...) != -1 +} + +// clearStackToContext pops elements off the stack of open elements until a +// scope-defined element is found. +func (p *parser) clearStackToContext(s scope) { + for i := len(p.oe) - 1; i >= 0; i-- { + tagAtom := p.oe[i].DataAtom + switch s { + case tableScope: + if tagAtom == a.Html || tagAtom == a.Table { + p.oe = p.oe[:i+1] + return + } + case tableRowScope: + if tagAtom == a.Html || tagAtom == a.Tr { + p.oe = p.oe[:i+1] + return + } + case tableBodyScope: + if tagAtom == a.Html || tagAtom == a.Tbody || tagAtom == a.Tfoot || tagAtom == a.Thead { + p.oe = p.oe[:i+1] + return + } + default: + panic("unreachable") + } + } +} + +// generateImpliedEndTags pops nodes off the stack of open elements as long as +// the top node has a tag name of dd, dt, li, option, optgroup, p, rp, or rt. +// If exceptions are specified, nodes with that name will not be popped off. +func (p *parser) generateImpliedEndTags(exceptions ...string) { + var i int +loop: + for i = len(p.oe) - 1; i >= 0; i-- { + n := p.oe[i] + if n.Type == ElementNode { + switch n.DataAtom { + case a.Dd, a.Dt, a.Li, a.Option, a.Optgroup, a.P, a.Rp, a.Rt: + for _, except := range exceptions { + if n.Data == except { + break loop + } + } + continue + } + } + break + } + + p.oe = p.oe[:i+1] +} + +// addChild adds a child node n to the top element, and pushes n onto the stack +// of open elements if it is an element node. +func (p *parser) addChild(n *Node) { + if p.shouldFosterParent() { + p.fosterParent(n) + } else { + p.top().AppendChild(n) + } + + if n.Type == ElementNode { + p.oe = append(p.oe, n) + } +} + +// shouldFosterParent returns whether the next node to be added should be +// foster parented. +func (p *parser) shouldFosterParent() bool { + if p.fosterParenting { + switch p.top().DataAtom { + case a.Table, a.Tbody, a.Tfoot, a.Thead, a.Tr: + return true + } + } + return false +} + +// fosterParent adds a child node according to the foster parenting rules. +// Section 12.2.5.3, "foster parenting". +func (p *parser) fosterParent(n *Node) { + var table, parent, prev *Node + var i int + for i = len(p.oe) - 1; i >= 0; i-- { + if p.oe[i].DataAtom == a.Table { + table = p.oe[i] + break + } + } + + if table == nil { + // The foster parent is the html element. + parent = p.oe[0] + } else { + parent = table.Parent + } + if parent == nil { + parent = p.oe[i-1] + } + + if table != nil { + prev = table.PrevSibling + } else { + prev = parent.LastChild + } + if prev != nil && prev.Type == TextNode && n.Type == TextNode { + prev.Data += n.Data + return + } + + parent.InsertBefore(n, table) +} + +// addText adds text to the preceding node if it is a text node, or else it +// calls addChild with a new text node. +func (p *parser) addText(text string) { + if text == "" { + return + } + + if p.shouldFosterParent() { + p.fosterParent(&Node{ + Type: TextNode, + Data: text, + }) + return + } + + t := p.top() + if n := t.LastChild; n != nil && n.Type == TextNode { + n.Data += text + return + } + p.addChild(&Node{ + Type: TextNode, + Data: text, + }) +} + +// addElement adds a child element based on the current token. +func (p *parser) addElement() { + p.addChild(&Node{ + Type: ElementNode, + DataAtom: p.tok.DataAtom, + Data: p.tok.Data, + Attr: p.tok.Attr, + }) +} + +// Section 12.2.3.3. +func (p *parser) addFormattingElement() { + tagAtom, attr := p.tok.DataAtom, p.tok.Attr + p.addElement() + + // Implement the Noah's Ark clause, but with three per family instead of two. + identicalElements := 0 +findIdenticalElements: + for i := len(p.afe) - 1; i >= 0; i-- { + n := p.afe[i] + if n.Type == scopeMarkerNode { + break + } + if n.Type != ElementNode { + continue + } + if n.Namespace != "" { + continue + } + if n.DataAtom != tagAtom { + continue + } + if len(n.Attr) != len(attr) { + continue + } + compareAttributes: + for _, t0 := range n.Attr { + for _, t1 := range attr { + if t0.Key == t1.Key && t0.Namespace == t1.Namespace && t0.Val == t1.Val { + // Found a match for this attribute, continue with the next attribute. + continue compareAttributes + } + } + // If we get here, there is no attribute that matches a. + // Therefore the element is not identical to the new one. + continue findIdenticalElements + } + + identicalElements++ + if identicalElements >= 3 { + p.afe.remove(n) + } + } + + p.afe = append(p.afe, p.top()) +} + +// Section 12.2.3.3. +func (p *parser) clearActiveFormattingElements() { + for { + n := p.afe.pop() + if len(p.afe) == 0 || n.Type == scopeMarkerNode { + return + } + } +} + +// Section 12.2.3.3. +func (p *parser) reconstructActiveFormattingElements() { + n := p.afe.top() + if n == nil { + return + } + if n.Type == scopeMarkerNode || p.oe.index(n) != -1 { + return + } + i := len(p.afe) - 1 + for n.Type != scopeMarkerNode && p.oe.index(n) == -1 { + if i == 0 { + i = -1 + break + } + i-- + n = p.afe[i] + } + for { + i++ + clone := p.afe[i].clone() + p.addChild(clone) + p.afe[i] = clone + if i == len(p.afe)-1 { + break + } + } +} + +// Section 12.2.4. +func (p *parser) acknowledgeSelfClosingTag() { + p.hasSelfClosingToken = false +} + +// An insertion mode (section 12.2.3.1) is the state transition function from +// a particular state in the HTML5 parser's state machine. It updates the +// parser's fields depending on parser.tok (where ErrorToken means EOF). +// It returns whether the token was consumed. +type insertionMode func(*parser) bool + +// setOriginalIM sets the insertion mode to return to after completing a text or +// inTableText insertion mode. +// Section 12.2.3.1, "using the rules for". +func (p *parser) setOriginalIM() { + if p.originalIM != nil { + panic("html: bad parser state: originalIM was set twice") + } + p.originalIM = p.im +} + +// Section 12.2.3.1, "reset the insertion mode". +func (p *parser) resetInsertionMode() { + for i := len(p.oe) - 1; i >= 0; i-- { + n := p.oe[i] + if i == 0 && p.context != nil { + n = p.context + } + + switch n.DataAtom { + case a.Select: + p.im = inSelectIM + case a.Td, a.Th: + p.im = inCellIM + case a.Tr: + p.im = inRowIM + case a.Tbody, a.Thead, a.Tfoot: + p.im = inTableBodyIM + case a.Caption: + p.im = inCaptionIM + case a.Colgroup: + p.im = inColumnGroupIM + case a.Table: + p.im = inTableIM + case a.Head: + p.im = inBodyIM + case a.Body: + p.im = inBodyIM + case a.Frameset: + p.im = inFramesetIM + case a.Html: + p.im = beforeHeadIM + default: + continue + } + return + } + p.im = inBodyIM +} + +const whitespace = " \t\r\n\f" + +// Section 12.2.5.4.1. +func initialIM(p *parser) bool { + switch p.tok.Type { + case TextToken: + p.tok.Data = strings.TrimLeft(p.tok.Data, whitespace) + if len(p.tok.Data) == 0 { + // It was all whitespace, so ignore it. + return true + } + case CommentToken: + p.doc.AppendChild(&Node{ + Type: CommentNode, + Data: p.tok.Data, + }) + return true + case DoctypeToken: + n, quirks := parseDoctype(p.tok.Data) + p.doc.AppendChild(n) + p.quirks = quirks + p.im = beforeHTMLIM + return true + } + p.quirks = true + p.im = beforeHTMLIM + return false +} + +// Section 12.2.5.4.2. +func beforeHTMLIM(p *parser) bool { + switch p.tok.Type { + case DoctypeToken: + // Ignore the token. + return true + case TextToken: + p.tok.Data = strings.TrimLeft(p.tok.Data, whitespace) + if len(p.tok.Data) == 0 { + // It was all whitespace, so ignore it. + return true + } + case StartTagToken: + if p.tok.DataAtom == a.Html { + p.addElement() + p.im = beforeHeadIM + return true + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Head, a.Body, a.Html, a.Br: + p.parseImpliedToken(StartTagToken, a.Html, a.Html.String()) + return false + default: + // Ignore the token. + return true + } + case CommentToken: + p.doc.AppendChild(&Node{ + Type: CommentNode, + Data: p.tok.Data, + }) + return true + } + p.parseImpliedToken(StartTagToken, a.Html, a.Html.String()) + return false +} + +// Section 12.2.5.4.3. +func beforeHeadIM(p *parser) bool { + switch p.tok.Type { + case TextToken: + p.tok.Data = strings.TrimLeft(p.tok.Data, whitespace) + if len(p.tok.Data) == 0 { + // It was all whitespace, so ignore it. + return true + } + case StartTagToken: + switch p.tok.DataAtom { + case a.Head: + p.addElement() + p.head = p.top() + p.im = inHeadIM + return true + case a.Html: + return inBodyIM(p) + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Head, a.Body, a.Html, a.Br: + p.parseImpliedToken(StartTagToken, a.Head, a.Head.String()) + return false + default: + // Ignore the token. + return true + } + case CommentToken: + p.addChild(&Node{ + Type: CommentNode, + Data: p.tok.Data, + }) + return true + case DoctypeToken: + // Ignore the token. + return true + } + + p.parseImpliedToken(StartTagToken, a.Head, a.Head.String()) + return false +} + +// Section 12.2.5.4.4. +func inHeadIM(p *parser) bool { + switch p.tok.Type { + case TextToken: + s := strings.TrimLeft(p.tok.Data, whitespace) + if len(s) < len(p.tok.Data) { + // Add the initial whitespace to the current node. + p.addText(p.tok.Data[:len(p.tok.Data)-len(s)]) + if s == "" { + return true + } + p.tok.Data = s + } + case StartTagToken: + switch p.tok.DataAtom { + case a.Html: + return inBodyIM(p) + case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta: + p.addElement() + p.oe.pop() + p.acknowledgeSelfClosingTag() + return true + case a.Script, a.Title, a.Noscript, a.Noframes, a.Style: + p.addElement() + p.setOriginalIM() + p.im = textIM + return true + case a.Head: + // Ignore the token. + return true + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Head: + n := p.oe.pop() + if n.DataAtom != a.Head { + panic("html: bad parser state: element not found, in the in-head insertion mode") + } + p.im = afterHeadIM + return true + case a.Body, a.Html, a.Br: + p.parseImpliedToken(EndTagToken, a.Head, a.Head.String()) + return false + default: + // Ignore the token. + return true + } + case CommentToken: + p.addChild(&Node{ + Type: CommentNode, + Data: p.tok.Data, + }) + return true + case DoctypeToken: + // Ignore the token. + return true + } + + p.parseImpliedToken(EndTagToken, a.Head, a.Head.String()) + return false +} + +// Section 12.2.5.4.6. +func afterHeadIM(p *parser) bool { + switch p.tok.Type { + case TextToken: + s := strings.TrimLeft(p.tok.Data, whitespace) + if len(s) < len(p.tok.Data) { + // Add the initial whitespace to the current node. + p.addText(p.tok.Data[:len(p.tok.Data)-len(s)]) + if s == "" { + return true + } + p.tok.Data = s + } + case StartTagToken: + switch p.tok.DataAtom { + case a.Html: + return inBodyIM(p) + case a.Body: + p.addElement() + p.framesetOK = false + p.im = inBodyIM + return true + case a.Frameset: + p.addElement() + p.im = inFramesetIM + return true + case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Title: + p.oe = append(p.oe, p.head) + defer p.oe.remove(p.head) + return inHeadIM(p) + case a.Head: + // Ignore the token. + return true + } + case EndTagToken: + switch p.tok.DataAtom { + case a.Body, a.Html, a.Br: + // Drop down to creating an implied tag. + default: + // Ignore the token. + return true + } + case CommentToken: + p.addChild(&Node{ + Type: CommentNode, + Data: p.tok.Data, + }) + return true + case DoctypeToken: + // Ignore the token. + return true + } + + p.parseImpliedToken(StartTagToken, a.Body, a.Body.String()) + p.framesetOK = true + return false +} + +// copyAttributes copies attributes of src not found on dst to dst. +func copyAttributes(dst *Node, src Token) { + if len(src.Attr) == 0 { + return + } + attr := map[string]string{} + for _, t := range dst.Attr { + attr[t.Key] = t.Val + } + for _, t := range src.Attr { + if _, ok := attr[t.Key]; !ok { + dst.Attr = append(dst.Attr, t) + attr[t.Key] = t.Val + } + } +} + +// Section 12.2.5.4.7. +func inBodyIM(p *parser) bool { + switch p.tok.Type { + case TextToken: + d := p.tok.Data + switch n := p.oe.top(); n.DataAtom { + case a.Pre, a.Listing: + if n.FirstChild == nil { + // Ignore a newline at the start of a
 block.
+				if d != "" && d[0] == '\r' {
+					d = d[1:]
+				}
+				if d != "" && d[0] == '\n' {
+					d = d[1:]
+				}
+			}
+		}
+		d = strings.Replace(d, "\x00", "", -1)
+		if d == "" {
+			return true
+		}
+		p.reconstructActiveFormattingElements()
+		p.addText(d)
+		if p.framesetOK && strings.TrimLeft(d, whitespace) != "" {
+			// There were non-whitespace characters inserted.
+			p.framesetOK = false
+		}
+	case StartTagToken:
+		switch p.tok.DataAtom {
+		case a.Html:
+			copyAttributes(p.oe[0], p.tok)
+		case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Title:
+			return inHeadIM(p)
+		case a.Body:
+			if len(p.oe) >= 2 {
+				body := p.oe[1]
+				if body.Type == ElementNode && body.DataAtom == a.Body {
+					p.framesetOK = false
+					copyAttributes(body, p.tok)
+				}
+			}
+		case a.Frameset:
+			if !p.framesetOK || len(p.oe) < 2 || p.oe[1].DataAtom != a.Body {
+				// Ignore the token.
+				return true
+			}
+			body := p.oe[1]
+			if body.Parent != nil {
+				body.Parent.RemoveChild(body)
+			}
+			p.oe = p.oe[:1]
+			p.addElement()
+			p.im = inFramesetIM
+			return true
+		case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul:
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+		case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
+			p.popUntil(buttonScope, a.P)
+			switch n := p.top(); n.DataAtom {
+			case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
+				p.oe.pop()
+			}
+			p.addElement()
+		case a.Pre, a.Listing:
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+			// The newline, if any, will be dealt with by the TextToken case.
+			p.framesetOK = false
+		case a.Form:
+			if p.form == nil {
+				p.popUntil(buttonScope, a.P)
+				p.addElement()
+				p.form = p.top()
+			}
+		case a.Li:
+			p.framesetOK = false
+			for i := len(p.oe) - 1; i >= 0; i-- {
+				node := p.oe[i]
+				switch node.DataAtom {
+				case a.Li:
+					p.oe = p.oe[:i]
+				case a.Address, a.Div, a.P:
+					continue
+				default:
+					if !isSpecialElement(node) {
+						continue
+					}
+				}
+				break
+			}
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+		case a.Dd, a.Dt:
+			p.framesetOK = false
+			for i := len(p.oe) - 1; i >= 0; i-- {
+				node := p.oe[i]
+				switch node.DataAtom {
+				case a.Dd, a.Dt:
+					p.oe = p.oe[:i]
+				case a.Address, a.Div, a.P:
+					continue
+				default:
+					if !isSpecialElement(node) {
+						continue
+					}
+				}
+				break
+			}
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+		case a.Plaintext:
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+		case a.Button:
+			p.popUntil(defaultScope, a.Button)
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+			p.framesetOK = false
+		case a.A:
+			for i := len(p.afe) - 1; i >= 0 && p.afe[i].Type != scopeMarkerNode; i-- {
+				if n := p.afe[i]; n.Type == ElementNode && n.DataAtom == a.A {
+					p.inBodyEndTagFormatting(a.A)
+					p.oe.remove(n)
+					p.afe.remove(n)
+					break
+				}
+			}
+			p.reconstructActiveFormattingElements()
+			p.addFormattingElement()
+		case a.B, a.Big, a.Code, a.Em, a.Font, a.I, a.S, a.Small, a.Strike, a.Strong, a.Tt, a.U:
+			p.reconstructActiveFormattingElements()
+			p.addFormattingElement()
+		case a.Nobr:
+			p.reconstructActiveFormattingElements()
+			if p.elementInScope(defaultScope, a.Nobr) {
+				p.inBodyEndTagFormatting(a.Nobr)
+				p.reconstructActiveFormattingElements()
+			}
+			p.addFormattingElement()
+		case a.Applet, a.Marquee, a.Object:
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+			p.afe = append(p.afe, &scopeMarker)
+			p.framesetOK = false
+		case a.Table:
+			if !p.quirks {
+				p.popUntil(buttonScope, a.P)
+			}
+			p.addElement()
+			p.framesetOK = false
+			p.im = inTableIM
+			return true
+		case a.Area, a.Br, a.Embed, a.Img, a.Input, a.Keygen, a.Wbr:
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+			p.oe.pop()
+			p.acknowledgeSelfClosingTag()
+			if p.tok.DataAtom == a.Input {
+				for _, t := range p.tok.Attr {
+					if t.Key == "type" {
+						if strings.ToLower(t.Val) == "hidden" {
+							// Skip setting framesetOK = false
+							return true
+						}
+					}
+				}
+			}
+			p.framesetOK = false
+		case a.Param, a.Source, a.Track:
+			p.addElement()
+			p.oe.pop()
+			p.acknowledgeSelfClosingTag()
+		case a.Hr:
+			p.popUntil(buttonScope, a.P)
+			p.addElement()
+			p.oe.pop()
+			p.acknowledgeSelfClosingTag()
+			p.framesetOK = false
+		case a.Image:
+			p.tok.DataAtom = a.Img
+			p.tok.Data = a.Img.String()
+			return false
+		case a.Isindex:
+			if p.form != nil {
+				// Ignore the token.
+				return true
+			}
+			action := ""
+			prompt := "This is a searchable index. Enter search keywords: "
+			attr := []Attribute{{Key: "name", Val: "isindex"}}
+			for _, t := range p.tok.Attr {
+				switch t.Key {
+				case "action":
+					action = t.Val
+				case "name":
+					// Ignore the attribute.
+				case "prompt":
+					prompt = t.Val
+				default:
+					attr = append(attr, t)
+				}
+			}
+			p.acknowledgeSelfClosingTag()
+			p.popUntil(buttonScope, a.P)
+			p.parseImpliedToken(StartTagToken, a.Form, a.Form.String())
+			if action != "" {
+				p.form.Attr = []Attribute{{Key: "action", Val: action}}
+			}
+			p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String())
+			p.parseImpliedToken(StartTagToken, a.Label, a.Label.String())
+			p.addText(prompt)
+			p.addChild(&Node{
+				Type:     ElementNode,
+				DataAtom: a.Input,
+				Data:     a.Input.String(),
+				Attr:     attr,
+			})
+			p.oe.pop()
+			p.parseImpliedToken(EndTagToken, a.Label, a.Label.String())
+			p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String())
+			p.parseImpliedToken(EndTagToken, a.Form, a.Form.String())
+		case a.Textarea:
+			p.addElement()
+			p.setOriginalIM()
+			p.framesetOK = false
+			p.im = textIM
+		case a.Xmp:
+			p.popUntil(buttonScope, a.P)
+			p.reconstructActiveFormattingElements()
+			p.framesetOK = false
+			p.addElement()
+			p.setOriginalIM()
+			p.im = textIM
+		case a.Iframe:
+			p.framesetOK = false
+			p.addElement()
+			p.setOriginalIM()
+			p.im = textIM
+		case a.Noembed, a.Noscript:
+			p.addElement()
+			p.setOriginalIM()
+			p.im = textIM
+		case a.Select:
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+			p.framesetOK = false
+			p.im = inSelectIM
+			return true
+		case a.Optgroup, a.Option:
+			if p.top().DataAtom == a.Option {
+				p.oe.pop()
+			}
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+		case a.Rp, a.Rt:
+			if p.elementInScope(defaultScope, a.Ruby) {
+				p.generateImpliedEndTags()
+			}
+			p.addElement()
+		case a.Math, a.Svg:
+			p.reconstructActiveFormattingElements()
+			if p.tok.DataAtom == a.Math {
+				adjustAttributeNames(p.tok.Attr, mathMLAttributeAdjustments)
+			} else {
+				adjustAttributeNames(p.tok.Attr, svgAttributeAdjustments)
+			}
+			adjustForeignAttributes(p.tok.Attr)
+			p.addElement()
+			p.top().Namespace = p.tok.Data
+			if p.hasSelfClosingToken {
+				p.oe.pop()
+				p.acknowledgeSelfClosingTag()
+			}
+			return true
+		case a.Caption, a.Col, a.Colgroup, a.Frame, a.Head, a.Tbody, a.Td, a.Tfoot, a.Th, a.Thead, a.Tr:
+			// Ignore the token.
+		default:
+			p.reconstructActiveFormattingElements()
+			p.addElement()
+		}
+	case EndTagToken:
+		switch p.tok.DataAtom {
+		case a.Body:
+			if p.elementInScope(defaultScope, a.Body) {
+				p.im = afterBodyIM
+			}
+		case a.Html:
+			if p.elementInScope(defaultScope, a.Body) {
+				p.parseImpliedToken(EndTagToken, a.Body, a.Body.String())
+				return false
+			}
+			return true
+		case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul:
+			p.popUntil(defaultScope, p.tok.DataAtom)
+		case a.Form:
+			node := p.form
+			p.form = nil
+			i := p.indexOfElementInScope(defaultScope, a.Form)
+			if node == nil || i == -1 || p.oe[i] != node {
+				// Ignore the token.
+				return true
+			}
+			p.generateImpliedEndTags()
+			p.oe.remove(node)
+		case a.P:
+			if !p.elementInScope(buttonScope, a.P) {
+				p.parseImpliedToken(StartTagToken, a.P, a.P.String())
+			}
+			p.popUntil(buttonScope, a.P)
+		case a.Li:
+			p.popUntil(listItemScope, a.Li)
+		case a.Dd, a.Dt:
+			p.popUntil(defaultScope, p.tok.DataAtom)
+		case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
+			p.popUntil(defaultScope, a.H1, a.H2, a.H3, a.H4, a.H5, a.H6)
+		case a.A, a.B, a.Big, a.Code, a.Em, a.Font, a.I, a.Nobr, a.S, a.Small, a.Strike, a.Strong, a.Tt, a.U:
+			p.inBodyEndTagFormatting(p.tok.DataAtom)
+		case a.Applet, a.Marquee, a.Object:
+			if p.popUntil(defaultScope, p.tok.DataAtom) {
+				p.clearActiveFormattingElements()
+			}
+		case a.Br:
+			p.tok.Type = StartTagToken
+			return false
+		default:
+			p.inBodyEndTagOther(p.tok.DataAtom)
+		}
+	case CommentToken:
+		p.addChild(&Node{
+			Type: CommentNode,
+			Data: p.tok.Data,
+		})
+	}
+
+	return true
+}
+
+func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom) {
+	// This is the "adoption agency" algorithm, described at
+	// https://html.spec.whatwg.org/multipage/syntax.html#adoptionAgency
+
+	// TODO: this is a fairly literal line-by-line translation of that algorithm.
+	// Once the code successfully parses the comprehensive test suite, we should
+	// refactor this code to be more idiomatic.
+
+	// Steps 1-4. The outer loop.
+	for i := 0; i < 8; i++ {
+		// Step 5. Find the formatting element.
+		var formattingElement *Node
+		for j := len(p.afe) - 1; j >= 0; j-- {
+			if p.afe[j].Type == scopeMarkerNode {
+				break
+			}
+			if p.afe[j].DataAtom == tagAtom {
+				formattingElement = p.afe[j]
+				break
+			}
+		}
+		if formattingElement == nil {
+			p.inBodyEndTagOther(tagAtom)
+			return
+		}
+		feIndex := p.oe.index(formattingElement)
+		if feIndex == -1 {
+			p.afe.remove(formattingElement)
+			return
+		}
+		if !p.elementInScope(defaultScope, tagAtom) {
+			// Ignore the tag.
+			return
+		}
+
+		// Steps 9-10. Find the furthest block.
+		var furthestBlock *Node
+		for _, e := range p.oe[feIndex:] {
+			if isSpecialElement(e) {
+				furthestBlock = e
+				break
+			}
+		}
+		if furthestBlock == nil {
+			e := p.oe.pop()
+			for e != formattingElement {
+				e = p.oe.pop()
+			}
+			p.afe.remove(e)
+			return
+		}
+
+		// Steps 11-12. Find the common ancestor and bookmark node.
+		commonAncestor := p.oe[feIndex-1]
+		bookmark := p.afe.index(formattingElement)
+
+		// Step 13. The inner loop. Find the lastNode to reparent.
+		lastNode := furthestBlock
+		node := furthestBlock
+		x := p.oe.index(node)
+		// Steps 13.1-13.2
+		for j := 0; j < 3; j++ {
+			// Step 13.3.
+			x--
+			node = p.oe[x]
+			// Step 13.4 - 13.5.
+			if p.afe.index(node) == -1 {
+				p.oe.remove(node)
+				continue
+			}
+			// Step 13.6.
+			if node == formattingElement {
+				break
+			}
+			// Step 13.7.
+			clone := node.clone()
+			p.afe[p.afe.index(node)] = clone
+			p.oe[p.oe.index(node)] = clone
+			node = clone
+			// Step 13.8.
+			if lastNode == furthestBlock {
+				bookmark = p.afe.index(node) + 1
+			}
+			// Step 13.9.
+			if lastNode.Parent != nil {
+				lastNode.Parent.RemoveChild(lastNode)
+			}
+			node.AppendChild(lastNode)
+			// Step 13.10.
+			lastNode = node
+		}
+
+		// Step 14. Reparent lastNode to the common ancestor,
+		// or for misnested table nodes, to the foster parent.
+		if lastNode.Parent != nil {
+			lastNode.Parent.RemoveChild(lastNode)
+		}
+		switch commonAncestor.DataAtom {
+		case a.Table, a.Tbody, a.Tfoot, a.Thead, a.Tr:
+			p.fosterParent(lastNode)
+		default:
+			commonAncestor.AppendChild(lastNode)
+		}
+
+		// Steps 15-17. Reparent nodes from the furthest block's children
+		// to a clone of the formatting element.
+		clone := formattingElement.clone()
+		reparentChildren(clone, furthestBlock)
+		furthestBlock.AppendChild(clone)
+
+		// Step 18. Fix up the list of active formatting elements.
+		if oldLoc := p.afe.index(formattingElement); oldLoc != -1 && oldLoc < bookmark {
+			// Move the bookmark with the rest of the list.
+			bookmark--
+		}
+		p.afe.remove(formattingElement)
+		p.afe.insert(bookmark, clone)
+
+		// Step 19. Fix up the stack of open elements.
+		p.oe.remove(formattingElement)
+		p.oe.insert(p.oe.index(furthestBlock)+1, clone)
+	}
+}
+
+// inBodyEndTagOther performs the "any other end tag" algorithm for inBodyIM.
+// "Any other end tag" handling from 12.2.5.5 The rules for parsing tokens in foreign content
+// https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inforeign
+func (p *parser) inBodyEndTagOther(tagAtom a.Atom) {
+	for i := len(p.oe) - 1; i >= 0; i-- {
+		if p.oe[i].DataAtom == tagAtom {
+			p.oe = p.oe[:i]
+			break
+		}
+		if isSpecialElement(p.oe[i]) {
+			break
+		}
+	}
+}
+
+// Section 12.2.5.4.8.
+func textIM(p *parser) bool {
+	switch p.tok.Type {
+	case ErrorToken:
+		p.oe.pop()
+	case TextToken:
+		d := p.tok.Data
+		if n := p.oe.top(); n.DataAtom == a.Textarea && n.FirstChild == nil {
+			// Ignore a newline at the start of a