diff --git a/.circleci/config.yml b/.circleci/config.yml index 6778efc3..49d39b9f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.0 defaults: &defaults docker: - - image: nervesproject/nerves_system_br:1.4.2 + - image: nervesproject/nerves_system_br:1.5.2 install_elixir: &install_elixir run: @@ -38,136 +38,182 @@ install_slack_helpers: &install_slack_helpers command: | wget https://gist.githubusercontent.com/ConnorRigby/03e722be4be70f8588f5ed74420e4eaa/raw/28a51d8f52ec7d569e8f7f20b83349816ddf63cf/slack_message.ex +install_ghr: &install_ghr + run: + name: Install ghr (Github Releases) + command: | + wget https://github.com/tcnksm/ghr/releases/download/v0.9.0/ghr_v0.9.0_linux_amd64.tar.gz + tar xf ghr_v0.9.0_linux_amd64.tar.gz + ln -sf ghr_v0.9.0_linux_amd64/ghr . + +install_jq: &install_jq + run: + name: Install jq + command: | + wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 + chmod +x ./jq-linux64 + jobs: test: <<: *defaults environment: MIX_ENV: test MIX_TARGET: host - NERVES_LOG_DISABLE_PROGRESS_BAR: "yes" + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 steps: - checkout - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} - <<: *install_elixir - - restore_cache: - keys: - - v6-arduino-cache-{{ checksum ".circleci/setup-arduino.sh" }} - - <<: *install_arduino - <<: *install_hex_archives - - restore_cache: - keys: - - v6-dep-cache-{{ checksum "mix.lock.host" }} - - <<: *fetch_and_compile_deps + - run: + name: Test Farmbot OS + command: | + mix deps.get + mix compile - save_cache: - key: v6-dep-cache-{{ checksum "mix.lock.host" }} + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} paths: - _build/host - - _build/arduino - deps/host - - save_cache: - key: v6-arduino-cache-{{ checksum ".circleci/setup-arduino.sh" }} - paths: - - ~/arduino-1.8.5 - - run: - name: "Credo code static code analysis" - command: mix credo - - run: - name: "Elixir Code formatter" - command: mix format --check-formatted - - run: - command: mix coveralls.circle --exclude farmbot_firmware - - firmware_dev: + build_rpi3_prod_firmware: <<: *defaults environment: - MIX_TARGET: rpi3 - MIX_ENV: dev - ENV: CI - NERVES_LOG_DISABLE_PROGRESS_BAR: "yes" - steps: - - checkout - - run: git submodule update --init --recursive - - <<: *install_elixir - - restore_cache: - keys: - - v6-arduino-cache-{{ checksum ".circleci/setup-arduino.sh" }} - - <<: *install_arduino - - restore_cache: - keys: - - v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} - - <<: *install_hex_archives - - <<: *fetch_and_compile_deps - - run: mix firmware - - save_cache: - key: v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} - paths: - - _build/rpi3 - - _build/host - - _build/arduino - - deps/rpi3 - - deps/host - - ~/.nerves - - run: mkdir -p artifacts - - run: - name: Decode fwup priv key - command: echo $FWUP_KEY_BASE64 | base64 --decode --ignore-garbage > $NERVES_FW_PRIV_KEY - - run: - name: Sign firmware - command: fwup -S -s $NERVES_FW_PRIV_KEY -i _build/${MIX_TARGET}/${MIX_ENV}/nerves/images/farmbot.fw -o artifacts/farmbot-${MIX_TARGET}-$(cat VERSION)-beta.fw - - save_cache: - key: v6-firmware-{{ .Revision }}-{{ .Environment.CIRCLE_SHA1 }} - paths: - - ./artifacts - - firmware_beta: - <<: *defaults - environment: - MIX_TARGET: rpi3 MIX_ENV: prod - ENV: CI - NERVES_LOG_DISABLE_PROGRESS_BAR: "yes" + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 steps: - checkout - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} - <<: *install_elixir - - restore_cache: - keys: - - v6-arduino-cache-{{ checksum ".circleci/setup-arduino.sh" }} - - <<: *install_arduino - <<: *install_hex_archives - - restore_cache: - keys: - - v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} - - run: MIX_ENV=prod MIX_TARGET=rpi3 mix deps.get - - run: MIX_ENV=prod MIX_TARGET=rpi3 mix compile - - run: MIX_ENV=prod MIX_TARGET=rpi3 mix firmware + - run: + name: Build Farmbot OS Firmware + command: | + mix deps.get + mix compile --force + mix firmware + - run: + name: Create artifact dir + command: mkdir -p /nerves/deploy/system/artifacts + - run: + name: Create artifacts + command: | + cp _build/rpi3/prod/nerves/images/farmbot.fw /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw - save_cache: - key: v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} paths: - - _build/rpi3 - - _build/host - - _build/arduino + - _build/rpi3/ - deps/rpi3 - - deps/host - - ~/.nerves - - run: mkdir -p artifacts - - run: - name: Decode fwup priv key - command: echo $FWUP_KEY_BASE64 | base64 --decode --ignore-garbage > $NERVES_FW_PRIV_KEY - - run: - name: Sign firmware - command: MIX_ENV=prod MIX_TARGET=rpi3 fwup -S -s $NERVES_FW_PRIV_KEY -i _build/${MIX_TARGET}/${MIX_ENV}/nerves/images/farmbot.fw -o artifacts/farmbot-${MIX_TARGET}-$(cat VERSION)-beta.fw + - ~/.nerves/ + - store_artifacts: + path: /nerves/deploy/system/artifacts + destination: images - save_cache: - key: v6-firmware-{{ .Revision }}-{{ .Environment.CIRCLE_SHA1 }} + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} paths: - - ./artifacts - - deploy_beta_firmware: + - "/nerves/deploy/system" + deploy_rpi3_prod_firmware_master: <<: *defaults + environment: + MIX_ENV: prod + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 steps: - checkout + - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} + - restore_cache: + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} - <<: *install_elixir + - <<: *install_hex_archives + - <<: *install_ghr + - run: + name: Sign Image + command: mix nerves_hub.firmware sign --key prod /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + - run: + name: Publish to NervesHub + command: mix nerves_hub.firmware publish --deploy prod-stable /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + deploy_rpi3_prod_firmware_beta: + <<: *defaults + environment: + MIX_ENV: prod + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 + steps: + - checkout + - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} + - restore_cache: + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} + - <<: *install_elixir + - <<: *install_hex_archives + - run: + name: Sign Image + command: mix nerves_hub.firmware sign --key prod /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + - run: + name: Publish to NervesHub + command: mix nerves_hub.firmware publish --deploy prod-beta /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + deploy_rpi3_prod_firmware_staging: + <<: *defaults + environment: + MIX_ENV: prod + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 + steps: + - checkout + - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} + - restore_cache: + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} + - <<: *install_elixir + - <<: *install_hex_archives + - run: + name: Sign Image + command: mix nerves_hub.firmware sign --key staging /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + - run: + name: Publish to NervesHub + command: mix nerves_hub.firmware publish --deploy prod-staging --ttl 3600 /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + publish_rpi3_prod_firmware_beta_release: + <<: *defaults + environment: + MIX_ENV: prod + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 + steps: + - checkout + - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} + - restore_cache: + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} + - <<: *install_elixir + - <<: *install_hex_archives + - <<: *install_ghr - <<: *install_slack_helpers + - <<: *install_jq - run: name: Run setup script command: bash .circleci/setup-heroku.sh @@ -175,18 +221,16 @@ jobs: fingerprints: - "97:92:32:5d:d7:96:e1:fa:f3:6b:f3:bd:d6:aa:84:c6" - run: - name: Install dependencies + name: Sign Firmware command: | - wget https://github.com/tcnksm/ghr/releases/download/v0.5.4/ghr_v0.5.4_linux_amd64.zip - unzip ghr_v0.5.4_linux_amd64.zip - wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 - chmod +x ./jq-linux64 + echo $FWUP_KEY_BASE64 | base64 --decode --ignore-garbage > $NERVES_FW_PRIV_KEY + mv /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw /tmp/farmbot-${MIX_TARGET}-$(cat VERSION).fw + fwup -S -s $NERVES_FW_PRIV_KEY -i /tmp/farmbot-${MIX_TARGET}-$(cat VERSION).fw -o /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION)-beta.fw - run: command: grep -Pazo "(?s)(?<=# $(cat VERSION))[^#]+" CHANGELOG.md > RELEASE_NOTES - - restore_cache: - key: v6-firmware-{{ .Revision }}-{{ .Environment.CIRCLE_SHA1 }} - run: - command: ./ghr -t $GITHUB_TOKEN -u farmbot -r farmbot_os -recreate -prerelease -b "$(cat RELEASE_NOTES)" -c $(git rev-parse --verify HEAD) "v$(cat VERSION)-beta" $PWD/artifacts + name: Publish Github Release + command: ./ghr -t $GITHUB_TOKEN -u farmbot -r farmbot_os -prerelease -recreate -prerelease -b "$(cat RELEASE_NOTES)" -c $(git rev-parse --verify HEAD) "v$(cat VERSION)-beta" /nerves/deploy/system/artifacts/ - run: name: Update heroku env command: | @@ -195,122 +239,171 @@ jobs: heroku config:set BETA_OTA_URL=$OTA_URL --app=farmbot-production heroku config:set BETA_OTA_URL=$OTA_URL --app=farmbot-staging elixir slack_message.ex $SLACK_MESSAGE - - firmware_prod: + publish_rpi3_prod_firmware_master_release: <<: *defaults environment: - MIX_TARGET: rpi3 MIX_ENV: prod - ENV: CI - NERVES_LOG_DISABLE_PROGRESS_BAR: "yes" + MIX_TARGET: rpi3 + ELIXIR_VERSION: 1.7.3 + SKIP_ARDUINO_BUILD: 1 steps: - checkout - run: git submodule update --init --recursive + - restore_cache: + key: v7-fbos-rpi3-prod-dependency-cache-{{ checksum "mix.lock.rpi3" }} + - restore_cache: + key: v7-fbos-host-test-dependency-cache-{{ checksum "mix.lock.host" }} + - restore_cache: + key: nerves/deploy/system-{{ .Revision }}-{{ .Environment.CIRCLE_TAG }} - <<: *install_elixir - - restore_cache: - keys: - - v6-arduino-cache-{{ checksum ".circleci/setup-arduino.sh" }} - - <<: *install_arduino - <<: *install_hex_archives - - restore_cache: - keys: - - v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} - - run: mix deps.get - - run: mix compile - - run: mix firmware - - save_cache: - key: v6-dependency-cache-{{ checksum "mix.lock.rpi3" }} - paths: - - _build/rpi3 - - _build/host - - _build/arduino - - deps/rpi3 - - deps/host - - ~/.nerves - - run: mkdir -p artifacts + - <<: *install_ghr + - <<: *install_slack_helpers - run: - name: Decode fwup priv key - command: echo $FWUP_KEY_BASE64 | base64 --decode --ignore-garbage > $NERVES_FW_PRIV_KEY + name: Run setup script + command: bash .circleci/setup-heroku.sh + - add_ssh_keys: + fingerprints: + - "97:92:32:5d:d7:96:e1:fa:f3:6b:f3:bd:d6:aa:84:c6" - run: - name: Sign firmware - command: fwup -S -s $NERVES_FW_PRIV_KEY -i _build/${MIX_TARGET}/${MIX_ENV}/nerves/images/farmbot.fw -o artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw - - run: - name: Create img - command: mix firmware.image artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).img - - save_cache: - key: v6-firmware-{{ .Revision }}-{{ .Environment.CIRCLE_SHA1 }} - paths: - - ./artifacts - - deploy_prod_firmware: - <<: *defaults - steps: - - checkout - - run: - name: Install dependencies + name: Sign Firmware command: | - wget https://github.com/tcnksm/ghr/releases/download/v0.5.4/ghr_v0.5.4_linux_amd64.zip - unzip ghr_v0.5.4_linux_amd64.zip - wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 - chmod +x ./jq-linux64 + echo $FWUP_KEY_BASE64 | base64 --decode --ignore-garbage > $NERVES_FW_PRIV_KEY + mv /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw /tmp/farmbot-${MIX_TARGET}-$(cat VERSION).fw + fwup -S -s $NERVES_FW_PRIV_KEY -i /tmp/farmbot-${MIX_TARGET}-$(cat VERSION).fw -o /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw + - run: + name: Create Image file + command: fwup -a -t complete -i /nerves/deploy/system/artifacts/farmbot-${MIX_TARGET}-$(cat VERSION).fw -d /nerves/deploy/system/farmbot-${MIX_TARGET}-$(cat VERSION).img - run: command: grep -Pazo "(?s)(?<=# $(cat VERSION))[^#]+" CHANGELOG.md > RELEASE_NOTES - - restore_cache: - key: v6-firmware-{{ .Revision }}-{{ .Environment.CIRCLE_SHA1 }} - run: - command: ./ghr -t $GITHUB_TOKEN -u farmbot -r farmbot_os -recreate -prerelease -draft -delete -b "$(cat RELEASE_NOTES)" -c $(git rev-parse --verify HEAD) "v$(cat VERSION)" $PWD/artifacts - + name: Publish Github Release + command: ./ghr -t $GITHUB_TOKEN -u farmbot -r farmbot_os -recreate -prerelease -draft -delete -b "$(cat RELEASE_NOTES)" -c $(git rev-parse --verify HEAD) "v$(cat VERSION)" /nerves/deploy/system/ + - run: + name: Send Slack Message + command: elixir slack_message.ex "New Farmbot Prod release $(cat VERSION)" workflows: version: 2 - test_firmware_upload: + test: jobs: - test: context: org-global filters: branches: ignore: + # Merging is blocked on these branches until tests pass. - beta - master - - firmware_dev: - context: org-global - requires: - - test - filters: - branches: - ignore: - - beta - - master - - deploy_beta: + - staging + deploy_stable_production: jobs: - - firmware_beta: - context: org-global + - build_rpi3_prod_firmware: + context: farmbot-production filters: branches: only: - - beta - - deploy_beta_firmware: - context: org-global + - master + - deploy_rpi3_prod_firmware_master: + context: farmbot-production filters: branches: only: - - beta + - master requires: - - firmware_beta - - deploy_prod: + - build_rpi3_prod_firmware + - publish_rpi3_prod_firmware_master_release: + context: org-global + filters: + branches: + only: + - master + requires: + - build_rpi3_prod_firmware + deploy_stable_staging: jobs: - - firmware_prod: - context: org-global + - build_rpi3_prod_firmware: + context: farmbot-staging filters: branches: only: - master - - deploy_prod_firmware: - context: org-global + - deploy_rpi3_prod_firmware_master: + context: farmbot-staging filters: branches: only: - master requires: - - firmware_prod + - build_rpi3_prod_firmware + deploy_beta_production: + jobs: + - build_rpi3_prod_firmware: + context: farmbot-production + filters: + branches: + only: + - beta + - deploy_rpi3_prod_firmware_beta: + context: farmbot-production + filters: + branches: + only: + - beta + requires: + - build_rpi3_prod_firmware + - publish_rpi3_prod_firmware_beta_release: + context: org-global + filters: + branches: + only: + - beta + requires: + - build_rpi3_prod_firmware + deploy_beta_staging: + jobs: + - build_rpi3_prod_firmware: + context: farmbot-staging + filters: + branches: + only: + - beta + - deploy_rpi3_prod_firmware_beta: + context: farmbot-staging + filters: + branches: + only: + - beta + requires: + - build_rpi3_prod_firmware + deploy_staging_production: + jobs: + - build_rpi3_prod_firmware: + context: farmbot-production + filters: + branches: + only: + - staging + - deploy_rpi3_prod_firmware_staging: + context: farmbot-production + filters: + branches: + only: + - staging + requires: + - build_rpi3_prod_firmware + deploy_staging_staging: + jobs: + - build_rpi3_prod_firmware: + context: farmbot-staging + filters: + branches: + only: + - staging + - deploy_rpi3_prod_firmware_staging: + context: farmbot-staging + filters: + branches: + only: + - staging + requires: + - build_rpi3_prod_firmware \ No newline at end of file diff --git a/.gitignore b/.gitignore index bfabaf26..8434316d 100644 --- a/.gitignore +++ b/.gitignore @@ -57,4 +57,4 @@ RELEASE_NOTES .elixir_ls nerves-hub -*.pem \ No newline at end of file +*.pem diff --git a/config/config.exs b/config/config.exs index 59ca4f1b..35ca322c 100644 --- a/config/config.exs +++ b/config/config.exs @@ -69,7 +69,11 @@ config :farmbot, global_overlay_dir = "rootfs_overlay" -config :nerves, :firmware, rootfs_overlay: [global_overlay_dir] +config :nerves, :firmware, + rootfs_overlay: [global_overlay_dir], + provisioning: :nerves_hub + +import_config("nerves_hub.exs") case target do "host" -> @@ -82,5 +86,7 @@ case target do do: import_config("target/#{target}.exs") if File.exists?(custom_rootfs_overlay_dir), - do: config :nerves, :firmware, rootfs_overlay: [global_overlay_dir, custom_rootfs_overlay_dir] + do: config :nerves, :firmware, + rootfs_overlay: [global_overlay_dir, custom_rootfs_overlay_dir], + provisioning: :nerves_hub end diff --git a/config/host/dev.exs b/config/host/dev.exs index 28c43df0..11be963e 100644 --- a/config/host/dev.exs +++ b/config/host/dev.exs @@ -45,8 +45,15 @@ config :farmbot, default_server: "https://staging.farm.bot" config :farmbot, :behaviour, [ authorization: Farmbot.Bootstrap.Authorization, system_tasks: Farmbot.Host.SystemTasks, - update_handler: Farmbot.Host.UpdateHandler, + nerves_hub_handler: Farmbot.Host.NervesHubHandler, # firmware_handler: Farmbot.Firmware.UartHandler ] +config :nerves_runtime, + enable_syslog: false, + target: "host", + kernel: [ + autoload_modules: false + ] + config :farmbot, :uart_handler, tty: "/dev/ttyACM0" diff --git a/config/host/test.exs b/config/host/test.exs index edf40780..6d4190cc 100644 --- a/config/host/test.exs +++ b/config/host/test.exs @@ -27,7 +27,8 @@ config :farmbot, :farmware, first_part_farmware_manifest_url: nil config :farmbot, :behaviour, authorization: Farmbot.Bootstrap.Authorization, system_tasks: Farmbot.Test.SystemTasks, - update_handler: FarmbotTestSupport.TestUpdateHandler + update_handler: FarmbotTestSupport.TestUpdateHandler, + nerves_hub_handler: Farmbot.Host.NervesHubHandler config :farmbot, Farmbot.Repo, [ adapter: Sqlite.Ecto2, diff --git a/config/nerves_hub.exs b/config/nerves_hub.exs new file mode 100644 index 00000000..a329bc32 --- /dev/null +++ b/config/nerves_hub.exs @@ -0,0 +1,9 @@ +use Mix.Config + +config :nerves_hub, + client: Farmbot.System.NervesHubClient, + public_keys: [File.read!("priv/staging.pub"), File.read!("priv/prod.pub")] + +config :nerves_hub, NervesHub.Socket, [ + reconnect_interval: 5_000, +] diff --git a/config/target/dev.exs b/config/target/dev.exs index ec3e4861..dbb897bc 100644 --- a/config/target/dev.exs +++ b/config/target/dev.exs @@ -33,6 +33,9 @@ config :farmbot, :init, [ # Allows for first boot configuration. Farmbot.Target.Bootstrap.Configurator, + # Handles OTA updates from NervesHub + Farmbot.System.NervesHubClient, + # Start up Network Farmbot.Target.Network, @@ -76,9 +79,9 @@ config :farmbot, :behaviour, authorization: Farmbot.Bootstrap.Authorization, system_tasks: Farmbot.Target.SystemTasks, firmware_handler: Farmbot.Firmware.StubHandler, - update_handler: Farmbot.Target.UpdateHandler, pin_binding_handler: Farmbot.Target.PinBinding.AleHandler, - leds_handler: Farmbot.Target.Leds.AleHandler + leds_handler: Farmbot.Target.Leds.AleHandler, + nerves_hub_handler: Farmbot.System.NervesHubClient local_file = Path.join(System.user_home!(), ".ssh/id_rsa.pub") local_key = if File.exists?(local_file), do: [File.read!(local_file)], else: [] @@ -86,6 +89,14 @@ local_key = if File.exists?(local_file), do: [File.read!(local_file)], else: [] config :nerves_network, regulatory_domain: "US" config :nerves_firmware_ssh, authorized_keys: local_key +config :nerves_init_gadget, + ifname: "usb0", + address_method: :dhcpd, + mdns_domain: "farmbot.local", + node_name: nil, + node_host: :mdns_domain + config :shoehorn, init: [:nerves_runtime, :nerves_init_gadget, :nerves_firmware_ssh], + handler: Farmbot.ShoehornHandler, app: :farmbot diff --git a/config/target/prod.exs b/config/target/prod.exs index fbd83e25..d99e01cc 100644 --- a/config/target/prod.exs +++ b/config/target/prod.exs @@ -17,7 +17,7 @@ config :farmbot, Farmbot.System.ConfigStorage, database: "/root/config-#{Mix.env()}.sqlite3" config :farmbot, ecto_repos: [Farmbot.Repo, Farmbot.System.ConfigStorage] - + config :logger, LoggerBackendSqlite, [ database: "/root/debug_logs.sqlite3", max_logs: 10000 @@ -33,6 +33,9 @@ config :farmbot, :init, [ # Allows for first boot configuration. Farmbot.Target.Bootstrap.Configurator, + # Handles OTA updates from NervesHub + Farmbot.System.NervesHubClient, + # Start up Network Farmbot.Target.Network, @@ -75,9 +78,9 @@ config :farmbot, :behaviour, authorization: Farmbot.Bootstrap.Authorization, system_tasks: Farmbot.Target.SystemTasks, firmware_handler: Farmbot.Firmware.StubHandler, - update_handler: Farmbot.Target.UpdateHandler, pin_binding_handler: Farmbot.Target.PinBinding.AleHandler, - leds_handler: Farmbot.Target.Leds.AleHandler + leds_handler: Farmbot.Target.Leds.AleHandler, + nerves_hub_handler: Farmbot.System.NervesHubClient config :nerves_network, regulatory_domain: "US" config :shoehorn, diff --git a/docs/RELEASE.md b/docs/RELEASE.md new file mode 100644 index 00000000..1ec440a5 --- /dev/null +++ b/docs/RELEASE.md @@ -0,0 +1,161 @@ +## Provisioning the Release System +Publishing a FarmBotOS release requires coordination of a few different systems. +* FarmBot Web App +* FarmBot OS +* NervesHub +* CircleCI +* GitHub branches and releases + +## Legacy System +The legacy system is somewhat simpiler. It goes as follows: + +### Pull request into `master` branch. +``` +git checkout master +git merge staging +git push origin master +``` +Obviously this will not actually work because of testing and things, but that +is what happens behind the scenes on GitHub. + +### CircleCI builds release +Once merged into master CircleCI will create a `draft` release on GitHub. This +must be QA'd and confirmed manually before publishing. Once published, FarmBot +will check the `OS_AUTO_UPDATE_URL` in the JWT. + +### Beta updates +Users may opt into beta updates by settings `os_beta_updates: true` on their +device's `FbosConfig` endpoint. + +The system works the same as production, except that the release is drafted based +on the `beta` branch. The other change is that CircleCI publishes a _real_ release +overwriting a previous release of this version if it exists. the release is tagged +as `pre_release: true` in GitHub releases. this prevents the production system +from downloading `beta` updates. + +## NervesHub System +The NervesHub system is simpiler to use, but more complex to setup. + +### User registration +Create a admin user. This should be the same `ADMIN_EMAIL` used in +the WebApp configuration. + +``` +mix nerves_hub.user register +Email address: admin@farmbot.io +Name: farmbot +NervesHub password: *super secret* +Local password: *super duper secret* +``` + +``` +mix nerves_hub.product create +name: farmbot +Local password: *super duper secret* +``` + + +### Signing keys +Now a choice will need to be made. + +If fwup signing keys existed beforehand (they did for FarmBot Inc) do: +``` +mix nerves_hub.key import +Local password: *super duper secret* +``` + +If new keys are required (probably named "prod") do: +``` +mix nerves_hub.key create +Local password: *super duper secret* +``` + +### Exporting certs and keys +The API and CI need copies of these keys and certs. + +``` +mix nerves_hub.user cert export +Local password: *super duper secret* +User certs exported to: +tar -xf -C nerves-hub/ +``` + +``` +mix nerves_hub.key export prod +Local password: *super duper secret* +Fwup keys exported to: +tar -xf -C nerves-hub/ +``` + +You will also need the CA cert bundle for the WebApp: +(this may only work for BASH) +```bash +{ curl -s https://raw.githubusercontent.com/nerves-hub/nerves_hub_cli/master/priv/ca_certs/root-ca.pem | head -20 \ +&& curl -s https://raw.githubusercontent.com/nerves-hub/nerves_hub_cli/master/priv/ca_certs/intermediate-server-ca.pem | head -20 \ + && curl -s https://raw.githubusercontent.com/nerves-hub/nerves_hub_cli/master/priv/ca_certs/intermediate-user-ca.pem | head -20; +} > nerves-hub/nerves-hub-ca-certs.pem +``` + +Now the FarmBot API needs the values of in it's environment: + +* `NERVES_HUB_KEY` -> `cat nerves-hub/key.pem` +* `NERVES_HUB_CERT` -> `cat nerves-hub/cert.pem` +* `NERVES_HUB_CA` -> `cat nerves-hub/nerves-hub-ca-certs.pem` + +CircleCI will need: + +* `NERVES_HUB_KEY` -> `cat nerves-hub/key.pem` +* `NERVES_HUB_CERT` -> `cat nerves-hub/cert.pem` +* `NERVES_HUB_FW_PRIVATE_KEY` -> `cat nerves-hub/.priv` +* `NERVES_HUB_FW_PUBLIC_KEY` -> `cat nerves-hub/.pub` + +### Provisioning and Tags + +Tags/Deployments follow this structure: + +```json +[ + "application:", + "channel:" +] +``` + +NOTE: the tags **NOT** json objects, they are simple strings +split by a `:` character. This is done _only_ for readability. + +where `MIX_ENV` will be one of: +* `dev` +* `prod` + +and `CHANNEL` will be one of: +* `beta` +* `stable` + +There should be at least one deployment matching the following +tags: + +* `["application:dev", "channel:stable"]` + * a development FBOS release on the `stable` channel +* `["application:prod", "channel:stable"]` + * a production FBOS release on the `stable` channel +* `["application:dev", "channel:beta"]` + * a development FBOS release on the `beta` channel +* `["application:prod", "channel:beta"]` + * a production FBOS release on the `beta` channel +* `["application:dev", "channel:stable"]` + * a development FBOS release on the `stable` channel +* `["application:prod", "channel:stable"]` + * a production FBOS release on the `stable` channel +* `["application:dev", "channel:beta"]` + * a development FBOS release on the `beta` channel +* `["application:prod", "channel:beta"]` + * a production FBOS release on the `beta` channel + + +### First time setup +``` +heroku config:set NERVES_HUB_CERT="$NERVES_HUB_CERT" --app=$HEROKU_APPNAME +heroku config:set NERVES_HUB_KEY="$NERVES_HUB_KEY" --app=$HEROKU_APPNAME +heroku config:set NERVES_HUB_CA="$NERVES_HUB_CA" --app=$HEROKU_APPNAME +heroku config:set NERVES_HUB_ORG="$NERVES_HUB_ORG" --app=$HEROKU_APPNAME +``` diff --git a/lib/farmbot.ex b/lib/farmbot.ex index de328438..752eee9c 100644 --- a/lib/farmbot.ex +++ b/lib/farmbot.ex @@ -3,7 +3,6 @@ defmodule Farmbot do Supervises the individual modules that make up the Farmbot Application. This is the entry point of the application. """ - require Farmbot.Logger require Logger use Application @@ -20,6 +19,7 @@ defmodule Farmbot do def init([]) do children = [ + {Farmbot.System.Registry, []}, {Farmbot.Logger.Supervisor, []}, {Farmbot.System.Supervisor, []}, {Farmbot.Bootstrap.Supervisor, []} diff --git a/lib/farmbot/bot_state/bot_state.ex b/lib/farmbot/bot_state/bot_state.ex index 42839eff..6801f2d5 100644 --- a/lib/farmbot/bot_state/bot_state.ex +++ b/lib/farmbot/bot_state/bot_state.ex @@ -52,6 +52,10 @@ defmodule Farmbot.BotState do end end + def set_update_available(bool) when is_boolean(bool) do + GenStage.call(__MODULE__, {:set_update_available, bool}) + end + def report_disk_usage(percent) when is_number(percent) do GenStage.call(__MODULE__, {:report_disk_usage, percent}) end @@ -201,6 +205,12 @@ defmodule Farmbot.BotState do {:noreply, [], state} end + def handle_call({:set_update_available, bool}, _from, state) do + new_info_settings = %{state.informational_settings | update_available: bool} + state = %{state | informational_settings: new_info_settings} + {:reply, :ok, [state], state} + end + def handle_call({:report_disk_usage, percent}, _from, state) do new_info_settings = %{state.informational_settings | disk_usage: percent} state = %{state | informational_settings: new_info_settings} @@ -391,6 +401,7 @@ defmodule Farmbot.BotState do defstruct [ informational_settings: %{ + update_available: false, controller_version: @version, firmware_version: "disconnected", firmware_commit: @arduino_commit, @@ -405,7 +416,7 @@ defmodule Farmbot.BotState do locked: false, cache_bust: 0, soc_temp: 0, # degrees celcius - wifi_level: nil, # decibels + wifi_level: nil, # decibels uptime: 0, # seconds memory_usage: 0, # megabytes disk_usage: 0, # percent diff --git a/lib/farmbot/bot_state/transport/amqp/amqp.ex b/lib/farmbot/bot_state/transport/amqp/amqp.ex index 321b2cf2..f24b2464 100644 --- a/lib/farmbot/bot_state/transport/amqp/amqp.ex +++ b/lib/farmbot/bot_state/transport/amqp/amqp.ex @@ -145,7 +145,9 @@ defmodule Farmbot.BotState.Transport.AMQP do {:noreply, [], state} end - def handle_info({:basic_deliver, payload, %{routing_key: key}}, state) do + def handle_info({:basic_deliver, payload, %{routing_key: key} = options}, state) do + # TODO(Connor) - investigate acking + # :ok = Basic.ack(state.chan, options[:delivery_tag]) if GenServer.whereis(Farmbot.Repo) do device = state.bot route = String.split(key, ".") @@ -165,6 +167,8 @@ defmodule Farmbot.BotState.Transport.AMQP do ["bot", ^device, "logs"] -> {:noreply, [], state} ["bot", ^device, "status"] -> {:noreply, [], state} ["bot", ^device, "from_device"] -> {:noreply, [], state} + ["bot", ^device, "nerves_hub"] -> + handle_nerves_hub(payload, options, state) _ -> Logger.warn 3, "got unknown routing key: #{key}" {:noreply, [], state} @@ -268,6 +272,19 @@ defmodule Farmbot.BotState.Transport.AMQP do end end + def handle_nerves_hub(payload, options, state) do + :ok = Basic.ack(state.chan, options[:delivery_tag]) + case Poison.decode(payload) do + {:ok, data} -> + cert = data["cert"] |> Base.decode64!() + key = data["key"] |> Base.decode64!() + :ok = Farmbot.System.NervesHub.configure_certs(cert, key) + :ok = Farmbot.System.NervesHub.connect() + {:noreply, [], state} + _ -> {:noreply, [], state} + end + end + defp push_bot_log(chan, bot, log) do json = Poison.encode!(log) :ok = AMQP.Basic.publish chan, @exchange, "bot.#{bot}.logs", json @@ -306,6 +323,7 @@ defmodule Farmbot.BotState.Transport.AMQP do q_base <- device, :ok <- Basic.qos(chan, [global: true]), + {:ok, _} <- AMQP.Queue.declare(chan, q_base <> "_from_clients", [auto_delete: true]), from_clients <- [routing_key: "bot.#{device}.from_clients"], {:ok, _} <- AMQP.Queue.purge(chan, q_base <> "_from_clients"), @@ -315,8 +333,14 @@ defmodule Farmbot.BotState.Transport.AMQP do sync <- [routing_key: "bot.#{device}.sync.#"], :ok <- AMQP.Queue.bind(chan, q_base <> "_auto_sync", @exchange, sync), + {:ok, _} <- AMQP.Queue.declare(chan, q_base <> "_nerves_hub", [auto_delete: false, durable: true]), + nerves_hub <- [routing_key: "bot.#{device}.nerves_hub"], + :ok <- AMQP.Queue.bind(chan, q_base <> "_nerves_hub", @exchange, nerves_hub), + {:ok, _tag} <- Basic.consume(chan, q_base <> "_from_clients", self(), [no_ack: true]), - {:ok, _tag} <- Basic.consume(chan, q_base <> "_auto_sync", self(), [no_ack: true]) do + {:ok, _tag} <- Basic.consume(chan, q_base <> "_auto_sync", self(), [no_ack: true]), + {:ok, _tag} <- Basic.consume(chan, q_base <> "_nerves_hub", self(), []) + do %State{conn: conn, chan: chan, bot: device} end end diff --git a/lib/farmbot/celery_script/ast/node/change_ownership.ex b/lib/farmbot/celery_script/ast/node/change_ownership.ex index a1bff85b..b7b250ce 100644 --- a/lib/farmbot/celery_script/ast/node/change_ownership.ex +++ b/lib/farmbot/celery_script/ast/node/change_ownership.ex @@ -14,6 +14,8 @@ defmodule Farmbot.CeleryScript.AST.Node.ChangeOwnership do email = pair_map["email"] secret = pair_map["secret"] |> Base.decode64!(padding: false, ignore: :whitespace) server = pair_map["server"] || get_config_value(:string, "authorization", "server") + :ok = Farmbot.System.NervesHub.deconfigure() + case test_credentials(email, secret, server) do {:ok, _token} -> Logger.warn 1, "Farmbot is changing ownership to #{email} - #{server}." diff --git a/lib/farmbot/celery_script/ast/node/check_updates.ex b/lib/farmbot/celery_script/ast/node/check_updates.ex index 68c8ae20..07720d76 100644 --- a/lib/farmbot/celery_script/ast/node/check_updates.ex +++ b/lib/farmbot/celery_script/ast/node/check_updates.ex @@ -5,15 +5,7 @@ defmodule Farmbot.CeleryScript.AST.Node.CheckUpdates do def execute(%{package: :farmbot_os}, _, env) do env = mutate_env(env) - case Farmbot.System.Updates.check_updates() do - {:error, reason} -> {:error, reason, env} - nil -> {:ok, env} - {%Version{} = version, url} -> - case Farmbot.System.Updates.download_and_apply_update({version, url}) do - :ok -> {:ok, env} - {:error, reason} -> {:error, reason, env} - end - end + nerves_hub_updater(env) end def execute(%{package: :arduino_firmware}, _, env) do @@ -25,4 +17,11 @@ defmodule Farmbot.CeleryScript.AST.Node.CheckUpdates do env = mutate_env(env) Farmbot.CeleryScript.AST.Node.UpdateFarmware.execute(args, [], env) end + + defp nerves_hub_updater(env) do + case Farmbot.System.NervesHub.check_update() do + nil -> {:ok, env} + url when is_binary(url) -> {:ok, env} + end + end end diff --git a/lib/farmbot/project.ex b/lib/farmbot/project.ex index f4aa8433..38a81864 100644 --- a/lib/farmbot/project.ex +++ b/lib/farmbot/project.ex @@ -4,6 +4,7 @@ defmodule Farmbot.Project do @version Mix.Project.config[:version] @target Mix.Project.config[:target] @commit Mix.Project.config[:commit] + @branch Mix.Project.config[:branch] @arduino_commit Mix.Project.config[:arduino_commit] @env Mix.env() @@ -15,6 +16,10 @@ defmodule Farmbot.Project do @compile {:inline, commit: 0} def commit, do: @commit + @doc "*#{@branch}*" + @compile {:inline, branch: 0} + def branch, do: @branch + @doc "*#{@arduino_commit}*" @compile {:inline, arduino_commit: 0} def arduino_commit, do: @arduino_commit diff --git a/lib/farmbot/system/init/fs_checkup.ex b/lib/farmbot/system/init/fs_checkup.ex index 33edc681..75651838 100644 --- a/lib/farmbot/system/init/fs_checkup.ex +++ b/lib/farmbot/system/init/fs_checkup.ex @@ -11,6 +11,7 @@ defmodule Farmbot.System.Init.FSCheckup do @version Farmbot.Project.version() @target Farmbot.Project.target() @env Farmbot.Project.env() + System.put_env("NERVES_FW_VCS_IDENTIFIER", @ref) @doc false def start_link(_, opts \\ []) do @@ -68,7 +69,7 @@ defmodule Farmbot.System.Init.FSCheckup do try do Elixir.Logger.add_backend(LoggerBackendSqlite) catch - :exit, r -> + :exit, r -> Logger.error 1, "Could not start disk logging: #{inspect r}" Elixir.Logger.remove_backend(LoggerBackendSqlite) File.rm(Path.join([@data_path, "root", "debug_logs.sqlite3"])) diff --git a/lib/farmbot/system/init/supervisor.ex b/lib/farmbot/system/init/supervisor.ex new file mode 100644 index 00000000..9e95062c --- /dev/null +++ b/lib/farmbot/system/init/supervisor.ex @@ -0,0 +1,29 @@ +defmodule Farmbot.System.Init.Suprevisor do + @moduledoc false + use Supervisor + import Farmbot.System.Init + + def start_link(args \\ []) do + Supervisor.start_link(__MODULE__, args, [name: __MODULE__]) + end + + def init([]) do + init_mods = + Application.get_env(:farmbot, :init) + |> Enum.map(fn child -> fb_init(child, [[], [name: child]]) end) + + children = [ + # Load kernel modules + worker(Farmbot.System.Init.KernelMods, [[], []]), + # Ensure filesystem + worker(Farmbot.System.Init.FSCheckup, [[], []]), + # Ensure ecto + migrations + supervisor(Farmbot.System.Init.Ecto, [[], []]), + # Ensure config_storage + supervisor(Farmbot.System.ConfigStorage, []), + worker(Farmbot.System.ConfigStorage.Dispatcher, []), + ] ++ init_mods + + Supervisor.init(children, [strategy: :one_for_one]) + end +end diff --git a/lib/farmbot/system/nerves_hub/nerves_hub.ex b/lib/farmbot/system/nerves_hub/nerves_hub.ex new file mode 100644 index 00000000..729991ff --- /dev/null +++ b/lib/farmbot/system/nerves_hub/nerves_hub.ex @@ -0,0 +1,142 @@ +defmodule Farmbot.System.NervesHub do + @moduledoc """ + Wrapper for NervesHub that can support both host and target environments. + + Some things can be configured via Mix.Config: + + config :farmbot, Farmbot.System.NervesHub, [ + app_env: "application:some_other_tag", + extra_tags: ["some", "more", "tags"] + ] + + ## On Target Devices + FarmBotOS requires some weird behaviour. `:nerves_hub` should not be started + with the rest of the application. Connecting should input serial, cert and key + into NervesRuntimeKV, restart NervesRuntimeKV, then _finally_ start `:nerves_hub`. + + ## On host. + Just return :ok to everything. + """ + + @handler Application.get_env(:farmbot, :behaviour)[:nerves_hub_handler] + || Mix.raise("missing :nerves_hub_handler module") + + @doc "Function to return a String serial number. " + @callback serial_number() :: String.t() + + @doc "Connect to NervesHub." + @callback connect() :: :ok | :error + + @doc "Burn the serial number into persistent storage." + @callback provision(serial :: String.t) :: :ok | :error + + @doc "Burn the cert and key into persistent storage." + @callback configure_certs(cert :: String.t(), key :: String.t()) :: :ok | :error + + @doc "Return the current confuration including serial, cert and key." + @callback config() :: [String.t() | nil] + + @doc "Remove serial, cert, and key from persistent storage." + @callback deconfigure() :: :ok | :error + + @doc "Should return a url to an update or nil." + @callback check_update() :: String.t() | nil + + use GenServer + use Farmbot.Logger + + def start_link(args \\ []) do + GenServer.start_link(__MODULE__, args, [name: __MODULE__]) + end + + def init([]) do + send self(), :configure + {:ok, :not_configured} + end + + def terminate(reason, state) do + Logger.warn 1, "Nerves Hub crash: #{inspect reason} when in state: #{inspect state}" + end + + def handle_info(:configure, :not_configured) do + channel = case Farmbot.Project.branch() do + "master" -> "channel:stable" + "beta" -> "channel:beta" + "staging" -> "channel:staging" + branch -> "channel:#{branch}" + end + + if Process.whereis(Farmbot.HTTP) do + app_config = Application.get_env(:farmbot, __MODULE__, []) + + "application:" <> _ = app_env = app_config[:app_env] || "application:#{Farmbot.Project.env()}" + extra_tags = app_config[:extra_tags] || [] + + if nil in get_config() do + Logger.info 1, "doing initial nerves hub configuration." + :ok = deconfigure() + :ok = provision() + :ok = configure([app_env, channel] ++ extra_tags) + else + connect() + end + + {:noreply, :configured} + else + Logger.debug 3, "Server not configured yet. Waiting 10_000 ms to try again." + Process.send_after(self(), :configure, 10_000) + {:noreply, :not_configured} + end + end + + def get_config do + @handler.config() + end + + def connect do + Logger.debug 1, "Connecting to NervesHub" + @handler.connect() + end + + # Returns the current serial number. + def serial do + @handler.serial_number() + end + + # Sets Serial number in environment. + def provision do + Logger.debug 1, "Provisioning NervesHub" + :ok = @handler.provision(serial()) + end + + # Creates a device in NervesHub + # or updates it if one exists. + def configure(tags) when is_list(tags) do + Logger.debug 1, "Configuring NervesHub: #{inspect tags}" + payload = %{ + serial_number: serial(), + tags: tags + } |> Farmbot.JSON.encode!() + _ = Farmbot.HTTP.post!("/api/device_cert", payload) + :ok + end + + # Message comes over AMQP. + def configure_certs("-----BEGIN CERTIFICATE-----" <> _ = cert, + "-----BEGIN EC PRIVATE KEY-----" <> _ = key) do + Logger.debug 1, "Configuring certs for NervesHub." + :ok = @handler.configure_certs(cert, key) + :ok + end + + def deconfigure do + Logger.debug 1, "Deconfiguring NervesHub" + :ok = @handler.deconfigure() + :ok + end + + def check_update do + Logger.debug 1, "Check update NervesHub" + @handler.check_update() + end +end diff --git a/lib/farmbot/system/registry.ex b/lib/farmbot/system/registry.ex index 9f4ea026..a0addb0b 100644 --- a/lib/farmbot/system/registry.ex +++ b/lib/farmbot/system/registry.ex @@ -1,10 +1,11 @@ defmodule Farmbot.System.Registry do @moduledoc "Farmbot System Global Registry" @reg FarmbotRegistry + use GenServer @doc false - def start_link do - GenServer.start_link(__MODULE__, [], [name: __MODULE__]) + def start_link(args) do + GenServer.start_link(__MODULE__, args, [name: __MODULE__]) end @doc "Dispatch a global event from a namespace." diff --git a/lib/farmbot/system/supervisor.ex b/lib/farmbot/system/supervisor.ex index c5e30f73..4185653f 100644 --- a/lib/farmbot/system/supervisor.ex +++ b/lib/farmbot/system/supervisor.ex @@ -3,7 +3,6 @@ defmodule Farmbot.System.Supervisor do Supervises Platform specific stuff for Farmbot to operate """ use Supervisor - import Farmbot.System.Init @doc false def start_link(args) do @@ -11,25 +10,11 @@ defmodule Farmbot.System.Supervisor do end def init([]) do - before_init_children = [ - worker(Farmbot.System.Registry, []), - worker(Farmbot.System.Init.KernelMods, [[], []]), - worker(Farmbot.System.Init.FSCheckup, [[], []]), - supervisor(Farmbot.System.Init.Ecto, [[], []]), - supervisor(Farmbot.System.ConfigStorage, []), - worker(Farmbot.System.ConfigStorage.Dispatcher, []), - ] - - init_mods = - Application.get_env(:farmbot, :init) - |> Enum.map(fn child -> fb_init(child, [[], [name: child]]) end) - - after_init_children = [ - supervisor(Farmbot.System.Updates, []), + children = [ + supervisor(Farmbot.System.Init.Suprevisor, []), + worker(Farmbot.System.NervesHub, []), worker(Farmbot.EasterEggs, []), ] - - all_children = before_init_children ++ init_mods ++ after_init_children - Supervisor.init(all_children, strategy: :one_for_all) + Supervisor.init(children, strategy: :one_for_one) end end diff --git a/lib/farmbot/system/system.ex b/lib/farmbot/system/system.ex index afdc6514..6b096cb0 100644 --- a/lib/farmbot/system/system.ex +++ b/lib/farmbot/system/system.ex @@ -68,7 +68,7 @@ defmodule Farmbot.System do _, _ -> Logger.error 1, "Firmware unavailable. Can't emergency_lock" end - + end defp do_reset(reason) do @@ -77,6 +77,7 @@ defmodule Farmbot.System do nil -> reboot("Escape factory reset: #{inspect reason}") {:ignore, reason} -> reboot(reason) _ -> + Farmbot.System.NervesHub.deconfigure() path = Farmbot.Farmware.Installer.install_root_path() File.rm_rf(path) Ecto.drop() diff --git a/lib/farmbot/system/updates/update_handler.ex b/lib/farmbot/system/updates/update_handler.ex deleted file mode 100644 index 21ab6faf..00000000 --- a/lib/farmbot/system/updates/update_handler.ex +++ /dev/null @@ -1,18 +0,0 @@ -defmodule Farmbot.System.UpdateHandler do - @moduledoc "Behaviour for setting up OTA updates." - - @doc "Called before and update." - @callback before_update :: :ok | {:error, term} - - @doc "Called after a reboot." - @callback post_update :: :ok | {:error, term} - - @doc "Apply a fw update." - @callback apply_firmware(Path.t) :: :ok | {:error, term} - - @doc "Setup updates." - @callback setup(atom) :: :ok | {:error, term} - - @doc "If a fw has already been applied." - @callback requires_reboot? :: boolean -end diff --git a/lib/farmbot/system/updates/update_timer.ex b/lib/farmbot/system/updates/update_timer.ex deleted file mode 100644 index 3aa39673..00000000 --- a/lib/farmbot/system/updates/update_timer.ex +++ /dev/null @@ -1,59 +0,0 @@ -defmodule Farmbot.System.UpdateTimer do - @moduledoc false - - @twelve_hours 4.32e+7 |> round() - use GenServer - use Farmbot.Logger - - def wait_for_http(callback) do - case Process.whereis(Farmbot.HTTP) do - nil -> - Process.sleep(1000) - wait_for_http(callback) - pid when is_pid(pid) -> - do_check() - Process.send_after(callback, :checkup, @twelve_hours) - end - end - - def start_link do - GenServer.start_link(__MODULE__, [], [name: __MODULE__]) - end - - def terminate(reason, _) do - Logger.error 1, "Failed to check updates: #{inspect reason}" - end - - def init([]) do - spawn __MODULE__, :wait_for_http, [self()] - Farmbot.System.Registry.subscribe(self()) - {:ok, []} - end - - def handle_info(:checkup, state) do - do_check() - Process.send_after(self(), :checkup, @twelve_hours) - {:noreply, state} - end - - def handle_info({Farmbot.System.Registry, {:config_storage, {"settings", "beta_opt_in", true}}}, state) do - if Process.whereis(Farmbot.Bootstrap.AuthTask) do - Logger.debug 3, "Opted into beta updates. Refreshing token." - Farmbot.Bootstrap.AuthTask.force_refresh() - end - {:noreply, state} - end - - def handle_info({Farmbot.System.Registry, _info}, state) do - {:noreply, state} - end - - defp do_check do - osau = Farmbot.System.ConfigStorage.get_config_value(:bool, "settings", "os_auto_update") - case Farmbot.System.Updates.check_updates() do - {:error, err} -> Logger.error 1, "Error checking for updates: #{inspect err}" - nil -> Logger.debug 3, "No updates available as of #{inspect Timex.now()}" - url -> if osau, do: Farmbot.System.Updates.download_and_apply_update(url) - end - end -end diff --git a/lib/farmbot/system/updates/updates.ex b/lib/farmbot/system/updates/updates.ex deleted file mode 100644 index 667e1679..00000000 --- a/lib/farmbot/system/updates/updates.ex +++ /dev/null @@ -1,326 +0,0 @@ -defmodule Farmbot.System.Updates do - @moduledoc "Handles over the air updates." - - use Supervisor - use Farmbot.Logger - alias Farmbot.System.ConfigStorage - import ConfigStorage, only: [get_config_value: 3, update_config_value: 4] - - @data_path Application.get_env(:farmbot, :data_path) - @target Farmbot.Project.target() - @current_version Farmbot.Project.version() - @env Farmbot.Project.env() - - @update_handler Application.get_env(:farmbot, :behaviour)[:update_handler] - @update_handler || Mix.raise("Please configure update_handler") - - - @doc "Overwrite os update server field" - def override_update_server(url) do - update_config_value(:string, "settings", "os_update_server_overwrite", url) - end - - defmodule Release do - @moduledoc false - defmodule Asset do - @moduledoc false - defstruct [:name, :browser_download_url] - end - - defstruct [ - tag_name: nil, - target_commitish: nil, - name: nil, - draft: false, - prerelease: true, - body: nil, - assets: [] - ] - end - - defmodule CurrentStuff do - @moduledoc false - import Farmbot.Project - defstruct [ - :token, - :beta_opt_in, - :os_update_server_overwrite, - :currently_on_beta, - :env, - :commit, - :target, - :version - ] - - @doc "Get the current stuff. Fields can be replaced for testing." - def get(replace \\ %{}) do - os_update_server_overwrite = get_config_value(:string, "settings", "os_update_server_overwrite") - beta_opt_in? = is_binary(os_update_server_overwrite) || get_config_value(:bool, "settings", "beta_opt_in") - token_bin = get_config_value(:string, "authorization", "token") - currently_on_beta? = get_config_value(:bool, "settings", "currently_on_beta") - token = if token_bin, do: Farmbot.Jwt.decode!(token_bin), else: nil - opts = %{ - token: token, - beta_opt_in: beta_opt_in?, - currently_on_beta: currently_on_beta?, - os_update_server_overwrite: os_update_server_overwrite, - env: env(), - commit: commit(), - target: target(), - version: version() - } |> Map.merge(Map.new(replace)) - struct(__MODULE__, opts) - end - end - - @doc "Downloads and applies an update file." - def download_and_apply_update({%Version{} = version, dl_url}) do - if @update_handler.requires_reboot?() do - Logger.warn 1, "Can't apply update. An update is already staged. Please reboot and try again." - {:error, :reboot_required} - else - fe_constant = "FBOS_OTA" - dl_fun = Farmbot.BotState.download_progress_fun(fe_constant) - # TODO(Connor): I'd like this to have a version number.. - dl_path = Path.join(@data_path, "ota.fw") - results = http_adapter().download_file(dl_url, dl_path, dl_fun, "", []) - Farmbot.BotState.clear_progress_fun(fe_constant) - case results do - {:ok, path} -> apply_firmware("beta" in (version.pre || []), path, true) - {:error, reason} -> {:error, reason} - end - end - end - - @doc """ - Force check for updates. - Does _NOT_ download or apply update. - """ - def check_updates(release \\ nil, current_stuff \\ nil) - - # All the HTTP Requests happen here. - def check_updates(nil, current_stuff) do - # Get current values. - current_stuff_mut = %{ - token: token, - beta_opt_in: beta_opt_in, - os_update_server_overwrite: server_override, - env: env, - } = current_stuff || CurrentStuff.get() - - cond do - # Don't allow non producion envs to check production env updates. - env != :prod -> {:error, :wrong_env} - # Don't check if the token is nil. - is_nil(token) -> {:error, :no_token} - # Allows the server to be overwrote. - is_binary(server_override) -> - Logger.debug 3, "Update server override: #{server_override}" - get_release_from_url(server_override) - # Beta updates should check twice. - beta_opt_in -> - Logger.debug 3, "Checking for beta updates." - token - |> Map.get(:beta_os_update_server) - |> get_release_from_url() - # Conditions exhausted. We _must_ be on a production release. - true -> - Logger.debug 3, "Checking for production updates." - token - |> Map.get(:os_update_server) - |> get_release_from_url() - end - |> case do - # Beta needs to make two requests: - # check for a later beta update, if no later beta update, - # Check for a later production release. - %Release{} = release when beta_opt_in -> - do_check_production_release = fn() -> - token - |> Map.get(:os_update_server) - |> get_release_from_url() - |> case do - %Release{} = prod_release -> check_updates(prod_release, current_stuff_mut) - err -> err - end - end - check_updates(release, current_stuff_mut) || do_check_production_release.() - # Production release; no beta. Check the release for an asset. - %Release{} = release -> check_updates(release, current_stuff_mut) - err -> err - end - end - - # Check against the release struct. Not HTTP requests from here out. - def check_updates(%Release{} = rel, %CurrentStuff{} = current_stuff) do - %{ - beta_opt_in: beta_opt_in, - currently_on_beta: currently_on_beta, - commit: current_commit, - version: current_version, - } = current_stuff - - release_version = String.trim(rel.tag_name, "v") |> Version.parse!() - is_beta_release? = "beta" in (release_version.pre || []) - version_comp = Version.compare(current_version, release_version) - - release_commit = rel.target_commitish - commits_equal? = current_commit == release_commit - - prerelease = rel.prerelease - cond do - # Don't bother if the release is a draft. Not sure how/if this can happen. - rel.draft -> - Logger.warn 1, "Not checking draft release." - nil - - # Only check prerelease if - # current_version is less than or equal to release_version - # AND - # the commits are not equal. - prerelease and is_beta_release? and beta_opt_in and !commits_equal? -> - # beta release get marked as greater than non beta release, so we need - # to manually check the versions by removing the pre part. - case Version.compare(current_version, %{release_version | pre: []}) do - :lt -> - Logger.debug 3, "Current version (#{current_version}) is less than beta release (#{release_version})" - try_find_dl_url_in_asset(rel.assets, release_version, current_stuff) - :eq -> - if currently_on_beta do - Logger.debug 3, "Current version (#{current_version}) (beta updates enabled) is equal to beta release (#{release_version})" - try_find_dl_url_in_asset(rel.assets, release_version, current_stuff) - else - Logger.debug 3, "Current version (#{current_version}) (beta updates disabled) is equal to latest beta (#{release_version})" - nil - end - - :gt -> - Logger.debug 3, "Current version (#{current_version}) is greater than latest beta release (#{release_version})" - nil - end - - # if the current version is less than the release version. - !prerelease and version_comp == :lt -> - Logger.debug 3, "Current version is less than release." - try_find_dl_url_in_asset(rel.assets, release_version, current_stuff) - - # If the version isn't different, but the commits are different, - # This happens for beta releases. - !prerelease and version_comp == :eq and !commits_equal? -> - Logger.debug 3, "Current version is equal to release, but commits are not equal." - try_find_dl_url_in_asset(rel.assets, release_version, current_stuff) - - # Conditions exhausted. No updates available. - true -> - comparison_str = "version check: current version: #{current_version} #{version_comp} latest release version: #{release_version} \n"<> - "commit check: current commit: #{current_commit} latest release commit: #{release_commit}: (equal: #{commits_equal?})" - - Logger.debug 3, "No updates available: \ntarget: #{Farmbot.Project.target()}: \nprerelease: #{prerelease} \n#{comparison_str}" - nil - end - end - - @doc "Finds a asset url if it exists, nil if not." - @spec try_find_dl_url_in_asset([%Release.Asset{}], Version.t, %CurrentStuff{}) :: {Version.t, String.t} - def try_find_dl_url_in_asset(assets, version, current_stuff) - - def try_find_dl_url_in_asset([%Release.Asset{name: name, browser_download_url: bdurl} | rest], %Version{} = release_version_obj, current_stuff) do - release_version = to_string(release_version_obj) - current_target = to_string(current_stuff.target) - expected_name = "farmbot-#{current_target}-#{release_version}.fw" - if match?(^expected_name, name) do - {release_version_obj, bdurl} - else - Logger.debug 3, "Incorrect asset name for target: #{current_target}: #{name}" - try_find_dl_url_in_asset(rest, release_version_obj, current_stuff) - end - end - - def try_find_dl_url_in_asset([], release_version, current_stuff) do - Logger.warn 2, "No update in assets for #{current_stuff.target()} for #{release_version}" - nil - end - - @doc "HTTP request to fetch a Release." - def get_release_from_url(url) when is_binary(url) do - Logger.debug 3, "Checking for updates: #{url}" - case http_adapter().get(url) do - # This can happen on beta updates, if on an old token - # and a new beta release was published. - {:ok, %{status_code: 404}} -> - Logger.warn 1, "Got a 404 checking for updates: #{url}. Fetching a new token. Try that again" - Farmbot.Bootstrap.AuthTask.force_refresh() - {:error, :token_refresh} - - # Decode the HTTP body as a release. - {:ok, %{status_code: 200, body: body}} -> - pattern = struct(Release, [assets: [struct(Release.Asset)]]) - case Poison.decode(body, as: pattern) do - {:ok, %Release{} = rel} -> rel - _err -> {:error, :bad_release_body} - end - - # Error situations - {:ok, %{status_code: _code, body: body}} -> {:error, body} - err -> err - end - end - - @doc "Apply an OS (fwup) firmware." - def apply_firmware(is_beta?, file_path, reboot) when is_boolean(is_beta?) do - Logger.busy 1, "Applying #{@target} OS update (beta=#{is_beta?})" - before_update() - case @update_handler.apply_firmware(file_path) do - :ok -> - update_config_value(:bool, "settings", "currently_on_beta", is_beta?) - Logger.success 1, "OS Firmware updated!" - if reboot do - Logger.warn 1, "Farmbot going down for OS update." - Farmbot.System.reboot("OS Firmware Update.") - end - {:error, reason} -> - Logger.error 1, "Failed to apply update: #{inspect reason}" - {:error, reason} - end - end - - # Private - - defp maybe_post_update do - case File.read(update_file()) do - {:ok, @current_version} -> :ok - {:ok, old_version} -> - Logger.info 1, "Updating from #{old_version} to #{@current_version}" - @update_handler.post_update() - {:error, :enoent} -> - Logger.info 1, "Updating to #{@current_version}" - {:error, err} -> raise err - end - before_update() - end - - defp before_update, do: File.write!(update_file(), @current_version) - - defp update_file, do: Path.join(@data_path, "update") - - defp http_adapter, do: Farmbot.HTTP - - @doc false - def start_link do - Supervisor.start_link(__MODULE__, [], [name: __MODULE__]) - end - - @doc false - def init([]) do - case @update_handler.setup(@env) do - :ok -> - maybe_post_update() - children = [ - worker(Farmbot.System.UpdateTimer, []) - ] - opts = [strategy: :one_for_one] - supervise(children, opts) - {:error, reason} -> {:stop, reason} - end - end -end diff --git a/mix.exs b/mix.exs index 7675a820..e8030c8b 100644 --- a/mix.exs +++ b/mix.exs @@ -2,10 +2,13 @@ defmodule Farmbot.Mixfile do use Mix.Project @target System.get_env("MIX_TARGET") || "host" @version Path.join(__DIR__, "VERSION") |> File.read!() |> String.trim() + @commit System.cmd("git", ~w"rev-parse --verify HEAD") |> elem(0) |> String.trim() + @branch System.cmd("git", ~w"rev-parse --abbrev-ref HEAD") |> elem(0) |> String.trim() + System.put_env("NERVES_FW_VCS_IDENTIFIER", @commit) - defp commit do - System.cmd("git", ~w"rev-parse --verify HEAD") |> elem(0) |> String.trim() - end + defp commit, do: @commit + + defp branch, do: @branch defp arduino_commit do opts = [cd: "c_src/farmbot-arduino-firmware"] @@ -28,6 +31,7 @@ defmodule Farmbot.Mixfile do version: @version, target: @target, commit: commit(), + branch: branch(), arduino_commit: arduino_commit(), archives: [nerves_bootstrap: "~> 1.2"], build_embedded: Mix.env() == :prod, @@ -58,13 +62,23 @@ defmodule Farmbot.Mixfile do ] end - def application do + def application("host") do [ mod: {Farmbot, []}, extra_applications: [:logger, :eex, :ssl, :inets, :runtime_tools] ] end + def application(_target) do + [ + mod: {Farmbot, []}, + extra_applications: [:logger, :eex, :ssl, :inets, :runtime_tools], + included_applications: [:nerves_hub] + ] + end + + def application(), do: application(@target) + defp docs do [ main: "building", @@ -122,7 +136,8 @@ defmodule Farmbot.Mixfile do {:ring_logger, "~> 0.5"}, {:bbmustache, "~> 1.6"}, {:sqlite_ecto2, "~> 2.2"}, - {:logger_backend_sqlite, "~> 2.1"} + {:logger_backend_sqlite, "~> 2.1"}, + {:nerves_hub_cli, "~> 0.4"} ] end @@ -141,6 +156,7 @@ defmodule Farmbot.Mixfile do system(target) ++ [ {:nerves_runtime, "~> 0.8"}, + {:nerves_hub, github: "nerves-hub/nerves_hub", override: true}, {:nerves_firmware, "~> 0.4"}, {:nerves_firmware_ssh, "~> 0.3"}, {:nerves_init_gadget, "~> 0.5", only: :dev}, diff --git a/mix.lock.host b/mix.lock.host index 254e672b..a03efd02 100644 --- a/mix.lock.host +++ b/mix.lock.host @@ -32,8 +32,7 @@ "hackney": {:hex, :hackney, "1.14.3", "b5f6f5dcc4f1fba340762738759209e21914516df6be440d85772542d4a5e412", [:rebar3], [{:certifi, "2.4.2", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.4", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, "httpoison": {:hex, :httpoison, "1.3.1", "7ac607311f5f706b44e8b3fab736d0737f2f62a31910ccd9afe7227b43edb7f0", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, - "inch_ex": {:hex, :inch_ex, "1.0.1", "1f0af1a83cec8e56f6fc91738a09c838e858db3d78ef5f2ec040fe4d5a62dabf", [:mix], [{:poison, "~> 1.5 or ~> 2.0 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"}, - "jason": {:hex, :jason, "1.1.1", "d3ccb840dfb06f2f90a6d335b536dd074db748b3e7f5b11ab61d239506585eb2", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, + "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, "joken": {:hex, :joken, "1.5.0", "42a0953e80bd933fc98a0874e156771f78bf0e92abe6c3a9c22feb6da28efb0b", [:mix], [{:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}, {:poison, "~> 1.5 or ~> 2.0 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"}, "jose": {:hex, :jose, "1.8.4", "7946d1e5c03a76ac9ef42a6e6a20001d35987afd68c2107bcd8f01a84e75aa73", [:mix, :rebar3], [{:base64url, "~> 0.0.1", [hex: :base64url, repo: "hexpm", optional: false]}], "hexpm"}, "jsx": {:hex, :jsx, "2.9.0", "d2f6e5f069c00266cad52fb15d87c428579ea4d7d73a33669e12679e203329dd", [:mix, :rebar3], [], "hexpm"}, @@ -48,12 +47,15 @@ "mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"}, "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"}, "mock": {:hex, :mock, "0.3.2", "e98e998fd76c191c7e1a9557c8617912c53df3d4a6132f561eb762b699ef59fa", [:mix], [{:meck, "~> 0.8.8", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves": {:hex, :nerves, "1.3.1", "4e2002315b38d38c6bfb5d3e33d7f4a32057037c3f2026af64d0867bc1741b21", [:mix], [{:distillery, "~> 2.0", [hex: :distillery, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, + "nerves": {:hex, :nerves, "1.3.4", "9523cc1936f173c99cf15a132c2b24f9c6f1a5cfe3327bbcd518ff7e441327d3", [:mix], [{:distillery, "2.0.10", [hex: :distillery, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, + "nerves_hub_cli": {:hex, :nerves_hub_cli, "0.4.0", "d5efcc49179fff8f3cd4542831820082d6abf2290fb5251c85e54ea51614b35d", [:mix], [{:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:pbcs, "~> 0.1", [hex: :pbcs, repo: "hexpm", optional: false]}, {:tesla, "~> 1.2.1 or ~> 1.3", [hex: :tesla, repo: "hexpm", optional: false]}, {:x509, "~> 0.3", [hex: :x509, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_leds": {:hex, :nerves_leds, "0.8.0", "193692767dca1a201b09113d242648493b9be0087bab83ebee99c3b0a254f5e1", [:mix], [], "hexpm"}, + "nerves_runtime": {:git, "https://github.com/nerves-project/nerves_runtime.git", "ea804f9326c649681e3fcf72e8dd81d26a6508b6", []}, "nerves_uart": {:hex, :nerves_uart, "1.2.0", "195424116b925cd3bf9d666be036c2a80655e6ca0f8d447e277667a60005c50e", [:mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "net_logger": {:hex, :net_logger, "0.1.0", "59be302c09cf70dab164810c923ccb9a976eda7270e5a32b93ba8aeb850de1d6", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, "nimble_parsec": {:hex, :nimble_parsec, "0.4.0", "ee261bb53214943679422be70f1658fff573c5d0b0a1ecd0f18738944f818efe", [:mix], [], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"}, + "pbcs": {:hex, :pbcs, "0.1.0", "6f79ce81d93edf5ac41fcd8b32fb203ad6895ebdb33d115e14a5bd955b90020a", [:mix], [], "hexpm"}, "phoenix_html": {:hex, :phoenix_html, "2.12.0", "1fb3c2e48b4b66d75564d8d63df6d53655469216d6b553e7e14ced2b46f97622", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"}, "plug": {:hex, :plug, "1.6.4", "35618dd2cc009b69b000f785452f6b370f76d099ece199733fea27bc473f809d", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, @@ -70,8 +72,11 @@ "sqlite_ecto2": {:hex, :sqlite_ecto2, "2.2.5", "f111a48188b0640effb7f2952071c4cf285501d3ce090820a7c2fc20af3867e9", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "2.2.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.13", [hex: :postgrex, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: false]}, {:sqlitex, "~> 1.4", [hex: :sqlitex, repo: "hexpm", optional: false]}], "hexpm"}, "sqlitex": {:hex, :sqlitex, "1.4.3", "a50f12d6aeb25f4ebb128453386c09bbba8f5abd3c7713dc5eaa92f359926ac5", [:mix], [{:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:esqlite, "~> 0.2.4", [hex: :esqlite, repo: "hexpm", optional: false]}], "hexpm"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.4", "f0eafff810d2041e93f915ef59899c923f4568f4585904d010387ed74988e77b", [:make, :mix, :rebar3], [], "hexpm"}, + "tesla": {:hex, :tesla, "1.2.1", "864783cc27f71dd8c8969163704752476cec0f3a51eb3b06393b3971dc9733ff", [:mix], [{:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "~> 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"}, "timex": {:hex, :timex, "3.4.1", "e63fc1a37453035e534c3febfe9b6b9e18583ec7b37fd9c390efdef97397d70b", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"}, "tzdata": {:hex, :tzdata, "0.5.19", "7962a3997bf06303b7d1772988ede22260f3dae1bf897408ebdac2b4435f4e6a", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm"}, "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm"}, + "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, + "x509": {:hex, :x509, "0.3.0", "c6f3db66960c6e4f424d1e6cca5c7d730e0a577af8dc115a613f4560ce1df6d3", [:mix], [], "hexpm"}, } diff --git a/mix.lock.rpi0 b/mix.lock.rpi0 index 1e106beb..e573559f 100644 --- a/mix.lock.rpi0 +++ b/mix.lock.rpi0 @@ -23,6 +23,7 @@ "esqlite": {:hex, :esqlite, "0.2.4", "3a8a352c190afe2d6b828b252a6fbff65b5cc1124647f38b15bdab3bf6fd4b3e", [:rebar3], [], "hexpm"}, "farmbot_system_rpi0": {:hex, :farmbot_system_rpi0, "1.5.1-farmbot.0", "61458e70b5e48dfe9774a0389e4ec4c7935a2f4e4488e94a708dc66f3b904e8c", [:mix], [{:nerves, "~> 1.3", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_system_br, "1.5.3", [hex: :nerves_system_br, repo: "hexpm", optional: false]}, {:nerves_system_linter, "~> 0.3.0", [hex: :nerves_system_linter, repo: "hexpm", optional: false]}, {:nerves_toolchain_armv6_rpi_linux_gnueabi, "1.1.0", [hex: :nerves_toolchain_armv6_rpi_linux_gnueabi, repo: "hexpm", optional: false]}], "hexpm"}, "fs": {:hex, :fs, "3.4.0", "6d18575c250b415b3cad559e6f97a4c822516c7bc2c10bfbb2493a8f230f5132", [:rebar3], [], "hexpm"}, + "fwup": {:hex, :fwup, "0.3.0", "2c360815565fcbc945ebbb34b58f156efacb7f8d64766f1cb3426919bb3f41ea", [:mix], [], "hexpm"}, "gen_stage": {:hex, :gen_stage, "0.14.0", "65ae78509f85b59d360690ce3378d5096c3130a0694bab95b0c4ae66f3008fad", [:mix], [], "hexpm"}, "gettext": {:hex, :gettext, "0.16.0", "4a7e90408cef5f1bf57c5a39e2db8c372a906031cc9b1466e963101cb927dafc", [:mix], [], "hexpm"}, "goldrush": {:hex, :goldrush, "0.1.9", "f06e5d5f1277da5c413e84d5a2924174182fb108dabb39d5ec548b27424cd106", [:rebar3], [], "hexpm"}, @@ -45,6 +46,8 @@ "nerves": {:hex, :nerves, "1.3.1", "4e2002315b38d38c6bfb5d3e33d7f4a32057037c3f2026af64d0867bc1741b21", [:mix], [{:distillery, "~> 2.0", [hex: :distillery, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, "nerves_firmware": {:hex, :nerves_firmware, "0.4.0", "ac2fed915a7ca4bb69f567d9b742d77cffc3a6a56420ce65e870c8c34119b935", [:mix], [], "hexpm"}, "nerves_firmware_ssh": {:hex, :nerves_firmware_ssh, "0.3.3", "79c42303ddbfd89ae6f5b4b19a4397a6188df21ca0e7a6573c2399e081fb7d25", [:mix], [{:nerves_runtime, "~> 0.4", [hex: :nerves_runtime, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_hub": {:git, "https://github.com/nerves-hub/nerves_hub.git", "2da9a6fea2b53fa9e0251045b06e265e21847d24", []}, + "nerves_hub_cli": {:hex, :nerves_hub_cli, "0.4.0", "d5efcc49179fff8f3cd4542831820082d6abf2290fb5251c85e54ea51614b35d", [:mix], [{:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:pbcs, "~> 0.1", [hex: :pbcs, repo: "hexpm", optional: false]}, {:tesla, "~> 1.2.1 or ~> 1.3", [hex: :tesla, repo: "hexpm", optional: false]}, {:x509, "~> 0.3", [hex: :x509, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_init_gadget": {:hex, :nerves_init_gadget, "0.5.1", "07f3eeb9acb3f919b3b34b36f552bb38d70f2d29ace63f3f23f33eee6a1ca693", [:mix], [{:mdns, "~> 1.0", [hex: :mdns, repo: "hexpm", optional: false]}, {:nerves_firmware_ssh, "~> 0.2", [hex: :nerves_firmware_ssh, repo: "hexpm", optional: false]}, {:nerves_network, "~> 0.3", [hex: :nerves_network, repo: "hexpm", optional: false]}, {:nerves_runtime, "~> 0.3", [hex: :nerves_runtime, repo: "hexpm", optional: false]}, {:one_dhcpd, "~> 0.1", [hex: :one_dhcpd, repo: "hexpm", optional: false]}, {:ring_logger, "~> 0.4", [hex: :ring_logger, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_leds": {:hex, :nerves_leds, "0.8.0", "193692767dca1a201b09113d242648493b9be0087bab83ebee99c3b0a254f5e1", [:mix], [], "hexpm"}, "nerves_network": {:hex, :nerves_network, "0.3.7", "200767191b1ded5a61cddbacd3efdce92442cc055bdc37c20ca8c7cb1d964098", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:nerves_network_interface, "~> 0.4.4", [hex: :nerves_network_interface, repo: "hexpm", optional: false]}, {:nerves_wpa_supplicant, "~> 0.3", [hex: :nerves_wpa_supplicant, repo: "hexpm", optional: false]}, {:system_registry, "~> 0.7", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, @@ -62,6 +65,8 @@ "net_logger": {:hex, :net_logger, "0.1.0", "59be302c09cf70dab164810c923ccb9a976eda7270e5a32b93ba8aeb850de1d6", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, "one_dhcpd": {:hex, :one_dhcpd, "0.2.0", "18eb8ce7101ad7b79e67f3d7ee7f648f42e02b8fa4c1cb3f24f403bf6860f81d", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"}, + "pbcs": {:hex, :pbcs, "0.1.0", "6f79ce81d93edf5ac41fcd8b32fb203ad6895ebdb33d115e14a5bd955b90020a", [:mix], [], "hexpm"}, + "phoenix_channel_client": {:hex, :phoenix_channel_client, "0.3.2", "188f6e4cad20da03e04f685416a86f682c413efca7c72303f479b94662cb897c", [:mix], [{:websocket_client, "~> 1.3", [hex: :websocket_client, repo: "hexpm", optional: true]}], "hexpm"}, "phoenix_html": {:hex, :phoenix_html, "2.12.0", "1fb3c2e48b4b66d75564d8d63df6d53655469216d6b553e7e14ced2b46f97622", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"}, "plug": {:hex, :plug, "1.6.4", "35618dd2cc009b69b000f785452f6b370f76d099ece199733fea27bc473f809d", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, @@ -79,8 +84,11 @@ "sqlitex": {:hex, :sqlitex, "1.4.3", "a50f12d6aeb25f4ebb128453386c09bbba8f5abd3c7713dc5eaa92f359926ac5", [:mix], [{:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:esqlite, "~> 0.2.4", [hex: :esqlite, repo: "hexpm", optional: false]}], "hexpm"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.4", "f0eafff810d2041e93f915ef59899c923f4568f4585904d010387ed74988e77b", [:make, :mix, :rebar3], [], "hexpm"}, "system_registry": {:hex, :system_registry, "0.8.0", "09240347628b001433d18279a2759ef7237ba7361239890d8c599cca9a2fbbc2", [:mix], [], "hexpm"}, + "tesla": {:hex, :tesla, "1.2.1", "864783cc27f71dd8c8969163704752476cec0f3a51eb3b06393b3971dc9733ff", [:mix], [{:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "~> 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"}, "timex": {:hex, :timex, "3.4.1", "e63fc1a37453035e534c3febfe9b6b9e18583ec7b37fd9c390efdef97397d70b", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"}, "tzdata": {:hex, :tzdata, "0.5.19", "7962a3997bf06303b7d1772988ede22260f3dae1bf897408ebdac2b4435f4e6a", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm"}, "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm"}, + "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, + "x509": {:hex, :x509, "0.3.0", "c6f3db66960c6e4f424d1e6cca5c7d730e0a577af8dc115a613f4560ce1df6d3", [:mix], [], "hexpm"}, } diff --git a/mix.lock.rpi3 b/mix.lock.rpi3 index 9676a711..76ddaf00 100644 --- a/mix.lock.rpi3 +++ b/mix.lock.rpi3 @@ -23,13 +23,14 @@ "esqlite": {:hex, :esqlite, "0.2.4", "3a8a352c190afe2d6b828b252a6fbff65b5cc1124647f38b15bdab3bf6fd4b3e", [:rebar3], [], "hexpm"}, "farmbot_system_rpi3": {:hex, :farmbot_system_rpi3, "1.5.1-farmbot.0", "6bc583c00beb764fa917a9071a709dfc0e2c296376fcad8c35eb281f5186657f", [:mix], [{:nerves, "~> 1.3", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_system_br, "1.5.3", [hex: :nerves_system_br, repo: "hexpm", optional: false]}, {:nerves_system_linter, "~> 0.3.0", [hex: :nerves_system_linter, repo: "hexpm", optional: false]}, {:nerves_toolchain_arm_unknown_linux_gnueabihf, "1.1.0", [hex: :nerves_toolchain_arm_unknown_linux_gnueabihf, repo: "hexpm", optional: false]}], "hexpm"}, "fs": {:hex, :fs, "3.4.0", "6d18575c250b415b3cad559e6f97a4c822516c7bc2c10bfbb2493a8f230f5132", [:rebar3], [], "hexpm"}, + "fwup": {:hex, :fwup, "0.3.0", "2c360815565fcbc945ebbb34b58f156efacb7f8d64766f1cb3426919bb3f41ea", [:mix], [], "hexpm"}, "gen_stage": {:hex, :gen_stage, "0.14.0", "65ae78509f85b59d360690ce3378d5096c3130a0694bab95b0c4ae66f3008fad", [:mix], [], "hexpm"}, "gettext": {:hex, :gettext, "0.16.0", "4a7e90408cef5f1bf57c5a39e2db8c372a906031cc9b1466e963101cb927dafc", [:mix], [], "hexpm"}, "goldrush": {:hex, :goldrush, "0.1.9", "f06e5d5f1277da5c413e84d5a2924174182fb108dabb39d5ec548b27424cd106", [:rebar3], [], "hexpm"}, "hackney": {:hex, :hackney, "1.14.3", "b5f6f5dcc4f1fba340762738759209e21914516df6be440d85772542d4a5e412", [:rebar3], [{:certifi, "2.4.2", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.4", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, "httpoison": {:hex, :httpoison, "1.3.1", "7ac607311f5f706b44e8b3fab736d0737f2f62a31910ccd9afe7227b43edb7f0", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, - "jason": {:hex, :jason, "1.1.1", "d3ccb840dfb06f2f90a6d335b536dd074db748b3e7f5b11ab61d239506585eb2", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, + "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, "joken": {:hex, :joken, "1.5.0", "42a0953e80bd933fc98a0874e156771f78bf0e92abe6c3a9c22feb6da28efb0b", [:mix], [{:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}, {:poison, "~> 1.5 or ~> 2.0 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"}, "jose": {:hex, :jose, "1.8.4", "7946d1e5c03a76ac9ef42a6e6a20001d35987afd68c2107bcd8f01a84e75aa73", [:mix, :rebar3], [{:base64url, "~> 0.0.1", [hex: :base64url, repo: "hexpm", optional: false]}], "hexpm"}, "jsx": {:hex, :jsx, "2.9.0", "d2f6e5f069c00266cad52fb15d87c428579ea4d7d73a33669e12679e203329dd", [:mix, :rebar3], [], "hexpm"}, @@ -42,9 +43,11 @@ "mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"}, "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"}, "muontrap": {:hex, :muontrap, "0.4.0", "f3c48f5e2cbb89b6406d28e488fbd0da1ce0ca00af332860913999befca9688a", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves": {:hex, :nerves, "1.3.1", "4e2002315b38d38c6bfb5d3e33d7f4a32057037c3f2026af64d0867bc1741b21", [:mix], [{:distillery, "~> 2.0", [hex: :distillery, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, + "nerves": {:hex, :nerves, "1.3.4", "9523cc1936f173c99cf15a132c2b24f9c6f1a5cfe3327bbcd518ff7e441327d3", [:mix], [{:distillery, "2.0.10", [hex: :distillery, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"}, "nerves_firmware": {:hex, :nerves_firmware, "0.4.0", "ac2fed915a7ca4bb69f567d9b742d77cffc3a6a56420ce65e870c8c34119b935", [:mix], [], "hexpm"}, "nerves_firmware_ssh": {:hex, :nerves_firmware_ssh, "0.3.3", "79c42303ddbfd89ae6f5b4b19a4397a6188df21ca0e7a6573c2399e081fb7d25", [:mix], [{:nerves_runtime, "~> 0.4", [hex: :nerves_runtime, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_hub": {:git, "https://github.com/nerves-hub/nerves_hub.git", "2da9a6fea2b53fa9e0251045b06e265e21847d24", []}, + "nerves_hub_cli": {:hex, :nerves_hub_cli, "0.4.0", "d5efcc49179fff8f3cd4542831820082d6abf2290fb5251c85e54ea51614b35d", [:mix], [{:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:pbcs, "~> 0.1", [hex: :pbcs, repo: "hexpm", optional: false]}, {:tesla, "~> 1.2.1 or ~> 1.3", [hex: :tesla, repo: "hexpm", optional: false]}, {:x509, "~> 0.3", [hex: :x509, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_init_gadget": {:hex, :nerves_init_gadget, "0.5.1", "07f3eeb9acb3f919b3b34b36f552bb38d70f2d29ace63f3f23f33eee6a1ca693", [:mix], [{:mdns, "~> 1.0", [hex: :mdns, repo: "hexpm", optional: false]}, {:nerves_firmware_ssh, "~> 0.2", [hex: :nerves_firmware_ssh, repo: "hexpm", optional: false]}, {:nerves_network, "~> 0.3", [hex: :nerves_network, repo: "hexpm", optional: false]}, {:nerves_runtime, "~> 0.3", [hex: :nerves_runtime, repo: "hexpm", optional: false]}, {:one_dhcpd, "~> 0.1", [hex: :one_dhcpd, repo: "hexpm", optional: false]}, {:ring_logger, "~> 0.4", [hex: :ring_logger, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_leds": {:hex, :nerves_leds, "0.8.0", "193692767dca1a201b09113d242648493b9be0087bab83ebee99c3b0a254f5e1", [:mix], [], "hexpm"}, "nerves_network": {:hex, :nerves_network, "0.3.7", "200767191b1ded5a61cddbacd3efdce92442cc055bdc37c20ca8c7cb1d964098", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:nerves_network_interface, "~> 0.4.4", [hex: :nerves_network_interface, repo: "hexpm", optional: false]}, {:nerves_wpa_supplicant, "~> 0.3", [hex: :nerves_wpa_supplicant, repo: "hexpm", optional: false]}, {:system_registry, "~> 0.7", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, @@ -61,6 +64,8 @@ "net_logger": {:hex, :net_logger, "0.1.0", "59be302c09cf70dab164810c923ccb9a976eda7270e5a32b93ba8aeb850de1d6", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, "one_dhcpd": {:hex, :one_dhcpd, "0.2.0", "18eb8ce7101ad7b79e67f3d7ee7f648f42e02b8fa4c1cb3f24f403bf6860f81d", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"}, + "pbcs": {:hex, :pbcs, "0.1.0", "6f79ce81d93edf5ac41fcd8b32fb203ad6895ebdb33d115e14a5bd955b90020a", [:mix], [], "hexpm"}, + "phoenix_channel_client": {:hex, :phoenix_channel_client, "0.3.2", "188f6e4cad20da03e04f685416a86f682c413efca7c72303f479b94662cb897c", [:mix], [{:websocket_client, "~> 1.3", [hex: :websocket_client, repo: "hexpm", optional: true]}], "hexpm"}, "phoenix_html": {:hex, :phoenix_html, "2.12.0", "1fb3c2e48b4b66d75564d8d63df6d53655469216d6b553e7e14ced2b46f97622", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"}, "plug": {:hex, :plug, "1.6.4", "35618dd2cc009b69b000f785452f6b370f76d099ece199733fea27bc473f809d", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, @@ -78,8 +83,11 @@ "sqlitex": {:hex, :sqlitex, "1.4.3", "a50f12d6aeb25f4ebb128453386c09bbba8f5abd3c7713dc5eaa92f359926ac5", [:mix], [{:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:esqlite, "~> 0.2.4", [hex: :esqlite, repo: "hexpm", optional: false]}], "hexpm"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.4", "f0eafff810d2041e93f915ef59899c923f4568f4585904d010387ed74988e77b", [:make, :mix, :rebar3], [], "hexpm"}, "system_registry": {:hex, :system_registry, "0.8.0", "09240347628b001433d18279a2759ef7237ba7361239890d8c599cca9a2fbbc2", [:mix], [], "hexpm"}, + "tesla": {:hex, :tesla, "1.2.1", "864783cc27f71dd8c8969163704752476cec0f3a51eb3b06393b3971dc9733ff", [:mix], [{:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "~> 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"}, "timex": {:hex, :timex, "3.4.1", "e63fc1a37453035e534c3febfe9b6b9e18583ec7b37fd9c390efdef97397d70b", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"}, "tzdata": {:hex, :tzdata, "0.5.19", "7962a3997bf06303b7d1772988ede22260f3dae1bf897408ebdac2b4435f4e6a", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm"}, "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm"}, + "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, + "x509": {:hex, :x509, "0.3.0", "c6f3db66960c6e4f424d1e6cca5c7d730e0a577af8dc115a613f4560ce1df6d3", [:mix], [], "hexpm"}, } diff --git a/platform/host/nerves_firmware.ex b/platform/host/nerves_firmware.ex deleted file mode 100644 index d4dd1bf1..00000000 --- a/platform/host/nerves_firmware.ex +++ /dev/null @@ -1,7 +0,0 @@ -defmodule Nerves.Firmware do - @moduledoc false - @doc false - def upgrade_and_finalize(_), do: :ok - - def reboot, do: :ok -end diff --git a/platform/host/nerves_hub_handler.ex b/platform/host/nerves_hub_handler.ex new file mode 100644 index 00000000..e60cb3f5 --- /dev/null +++ b/platform/host/nerves_hub_handler.ex @@ -0,0 +1,27 @@ +defmodule Farmbot.Host.NervesHubHandler do + @behaviour Farmbot.System.NervesHub + + def serial_number do + {:ok, [_ | [{_ifname, info} | _]]} = :inet.getifaddrs() + :io_lib.format('~2.16.0B~2.16.0B~2.16.0B~2.16.0B~2.16.0B~2.16.0B', info[:hwaddr]) + |> to_string() + |> String.trim() + end + + def connect, do: :ok + + def provision(_serial), do: :ok + + def configure_certs(_cert, _key), do: :ok + + def deconfigure, do: :ok + + def config, do: [ + serial_number(), + serial_number(), + "Not a real cert", + "Not a real key" + ] + + def check_update, do: nil +end diff --git a/platform/host/update_handler.ex b/platform/host/update_handler.ex deleted file mode 100644 index e290874d..00000000 --- a/platform/host/update_handler.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule Farmbot.Host.UpdateHandler do - @moduledoc false - - @behaviour Farmbot.System.UpdateHandler - use Farmbot.Logger - - # Update Handler callbacks - - def apply_firmware(_file_path) do - :ok - end - - def before_update do - :ok - end - - def post_update do - :ok - end - - def setup(_env) do - :ok - end - - def requires_reboot?, do: false -end diff --git a/platform/target/nerves_hub_client.ex b/platform/target/nerves_hub_client.ex new file mode 100644 index 00000000..befa96e4 --- /dev/null +++ b/platform/target/nerves_hub_client.ex @@ -0,0 +1,119 @@ +defmodule Farmbot.System.NervesHubClient do + @moduledoc """ + Client that decides when an update should be done. + """ + + use GenServer + require Logger + @behaviour NervesHub.Client + @behaviour Farmbot.System.NervesHub + import Farmbot.System.ConfigStorage, only: [get_config_value: 3] + + def serial_number("rpi0"), do: serial_number("rpi") + def serial_number("rpi3"), do: serial_number("rpi") + + def serial_number(plat) do + :os.cmd('/usr/bin/boardid -b uboot_env -u nerves_serial_number -b uboot_env -u serial_number -b #{plat}') + |> to_string() + |> String.trim() + end + + def serial_number, do: serial_number(Farmbot.Project.target()) + + def connect do + Logger.info "Starting NervesHub app." + # NervesHub replaces it's own env on startup. Reset it. + Application.put_env(:nerves_hub, NervesHub.Socket, [reconnect_interval: 5000]) + # Stop Nerves Hub if it is running. + _ = Application.stop(:nerves_hub) + # Cause NervesRuntime.KV to restart. + _ = GenServer.stop(Nerves.Runtime.KV) + {:ok, _} = Application.ensure_all_started(:nerves_hub) + # Wait for a few seconds for good luck. + Process.sleep(1000) + r = NervesHub.connect() + Logger.info "NervesHub started: #{inspect(r, limit: :infinity)}" + :ok + end + + def provision(serial) do + Nerves.Runtime.KV.UBootEnv.put("nerves_serial_number", serial) + Nerves.Runtime.KV.UBootEnv.put("nerves_fw_serial_number", serial) + end + + def configure_certs(cert, key) do + Nerves.Runtime.KV.UBootEnv.put("nerves_hub_cert", cert) + Nerves.Runtime.KV.UBootEnv.put("nerves_hub_key", key) + :ok + end + + def deconfigure() do + Nerves.Runtime.KV.UBootEnv.put("nerves_hub_cert", "") + Nerves.Runtime.KV.UBootEnv.put("nerves_hub_key", "") + Nerves.Runtime.KV.UBootEnv.put("nerves_serial_number", "") + Nerves.Runtime.KV.UBootEnv.put("nerves_fw_serial_number", "") + :ok + end + + def config() do + [ + Nerves.Runtime.KV.get("nerves_fw_serial_number"), + Nerves.Runtime.KV.get("nerves_hub_cert"), + Nerves.Runtime.KV.get("nerves_hub_key"), + ] + end + + def check_update do + case GenServer.call(__MODULE__, :check_update) do + # If updates were disabled, and an update is queued + {:ignore, _url} -> NervesHub.update() + _ -> nil + end + end + + # Callback for NervesHub.Client + def update_available(args) do + GenServer.call(__MODULE__, {:update_available, args}, :infinity) + end + + def handle_fwup_message({:progress, percent}) do + Logger.info("FWUP Stream Progress: #{percent}%") + alias Farmbot.BotState.JobProgress + prog = %JobProgress.Percent{percent: percent} + if Process.whereis(Farmbot.BotState) do + Farmbot.BotState.set_job_progress("FBOS_OTA", prog) + end + :ok + end + + def handle_fwup_message({:error, _, reason}) do + Logger.error "FWUP Error: #{reason}" + :ok + end + + def handle_fwup_message(_) do + :ok + end + + def start_link(_, _) do + GenServer.start_link(__MODULE__, [], [name: __MODULE__]) + end + + def init([]) do + {:ok, nil} + end + + def handle_call({:update_available, %{"firmware_url" => url}}, _, _state) do + if Process.whereis(Farmbot.BotState) do + Farmbot.BotState.set_update_available(true) + end + case get_config_value(:bool, "settings", "os_auto_update") do + true -> {:reply, :apply, {:apply, url}} + false -> {:reply, :ignore, {:ignore, url}} + end + end + + def handle_call(:check_update, _from, state) do + {:reply, state, state} + end +end diff --git a/platform/target/uevent.ex b/platform/target/uevent.ex index ae13637a..9ee87b01 100644 --- a/platform/target/uevent.ex +++ b/platform/target/uevent.ex @@ -28,7 +28,6 @@ defmodule Farmbot.Target.Uevent do end def handle_info({:system_registry, :global, new_reg}, %{} = old_reg) do - require IEx; IEx.pry new_ttys = get_in(new_reg, [:state, "subsystems", "tty"]) || [] old_ttys = get_in(old_reg, [:state, "subsystems", "tty"]) || [] case new_ttys -- old_ttys do diff --git a/platform/target/update_handler.ex b/platform/target/update_handler.ex deleted file mode 100644 index a8d66056..00000000 --- a/platform/target/update_handler.ex +++ /dev/null @@ -1,66 +0,0 @@ -defmodule Farmbot.Target.UpdateHandler do - @moduledoc "Handles prep and post OTA update." - - @behaviour Farmbot.System.UpdateHandler - use Farmbot.Logger - - # Update Handler callbacks - - def apply_firmware(fw_file_path) do - {meta_bin, 0} = System.cmd("fwup", ~w"-i #{fw_file_path} -m") - meta_bin - |> String.trim() - |> String.split("\n") - |> Enum.map(&String.split(&1, "=")) - |> Map.new(fn([key, val]) -> - {key, val |> String.trim_leading("\"") |> String.trim_trailing("\"")} - end) - |> log_meta() - - Nerves.Firmware.upgrade_and_finalize(fw_file_path) - end - - defp log_meta(meta_map) do - target = "target: #{meta_map["meta-platform"]}" - product = "product: #{meta_map["meta-product"]}" - version = "version: #{meta_map["meta-version"]}" - create_time = "created: #{meta_map["meta-creation-date"]}" - msg = """ - Applying Firmware: - #{create_time} - #{target} - #{product} - #{version} - """ - Logger.debug 1, msg - end - - def before_update, do: :ok - - def post_update do - alias Farmbot.Firmware.UartHandler.Update - hw = Farmbot.System.ConfigStorage.get_config_value(:string, "settings", "firmware_hardware") - is_beta? = Farmbot.System.ConfigStorage.get_config_value(:bool, "settings", "currently_on_beta") - if is_beta? do - Logger.debug 1, "Forcing beta image arduino firmware flash." - Update.force_update_firmware(hw) - else - Update.maybe_update_firmware(hw) - end - :ok - end - - def setup(:prod) do - file = "#{:code.priv_dir(:farmbot)}/fwup-key.pub" - Application.put_env(:nerves_firmware, :pub_key_path, file) - if File.exists?(file), do: :ok, else: {:error, :no_pub_file} - end - - def setup(_) do - :ok - end - - def requires_reboot? do - !Nerves.Firmware.allow_upgrade? - end -end diff --git a/priv/arduino_firmware.hex b/priv/arduino_firmware.hex new file mode 100644 index 00000000..4471e97c --- /dev/null +++ b/priv/arduino_firmware.hex @@ -0,0 +1,2665 @@ +:10000000A2C20000D1C20000CFC20000CDC20000D9 +:10001000CBC20000C9C20000C7C20000C5C20000B8 +:10002000C3C20000C1C20000BFC20000BDC20000C8 +:10003000BBC20000B9C20000B7C20000B5C20000D8 +:10004000B3C200000C94D62AAFC20000ADC20000BB +:100050000C94632DA9C20000A7C200000C94822951 +:10006000A3C200000C94A5270C947C279DC200001D +:100070009BC2000099C2000097C2000095C2000018 +:100080000C94A92A91C200008FC200008DC200000A +:100090008BC2000089C2000087C2000085C2000038 +:1000A00083C2000081C200000C947C2A7DC2000043 +:1000B0007BC2000079C2000077C200000C944F2A76 +:1000C00073C2000071C200006FC200006DC2000068 +:1000D0006BC2000069C2000067C2000065C2000078 +:1000E00063C20000E002ED02F602FF020C031503FA +:1000F000B106B106B106B106B10622032F033C03D7 +:10010000B106490352035B03680371037A03830357 +:100110008C039503B1069E03A703B003B106B10695 +:10012000B106B903C203CB03B106B106D403E103A0 +:10013000B106B106B106EE03FB030804B1061504CF +:100140001E042704B106B106B10630043904420486 +:10015000B1064F045C046904B106B106B106760429 +:1001600083049004B1069D04AA04B704B106B10645 +:10017000B106C404D104DE04B106EB04F404FD04AA +:10018000B106B106B106B106B106B106B106B106B7 +:10019000B106B106B106B106B106B106B106B106A7 +:1001A000B106B106B106B106B106B106B106210528 +:1001B0002A053305B1063C0545054E05B106B106D5 +:1001C000B106570564057105B1067E058B059805D6 +:1001D000B106B106B106A505B205BF05B106CC054D +:1001E000D505DE05B106B106B106E705F005F9054E +:1001F000B106B106B106B106B106B106B106B10647 +:10020000B106B106B10606050F051805B106B1061F +:10021000B106B106B106B106B106B106B106B10626 +:10022000B106B106B106B106B106B106B106B10616 +:10023000B106B106B106B106B106B106B106B10606 +:10024000B106B106B106B106B106B106B106B106F6 +:10025000B106B106B106B106B106B106B106B106E6 +:10026000B106B106B106B106B106B106B106B106D6 +:10027000B106B106B10602060B061806B106250640 +:100280002E063B06B106B106B106480651065E06CB +:10029000B1066B0674068106B106B106B1068E067C +:1002A0009706A406710A760A7B0A850A8F0A080B4C +:1002B000990AA10AA90AB30ABD0AC70AD60AE00A1E +:1002C000080BEA0AF40AFE0AD625D925C825CC254A +:1002D000D2251026DD25E125E725EB25EF25F5259F +:1002E000F925FD251026032607260B264E414E49EB +:1002F0004E495459494E46CDCCCC3D0AD7233C17E4 +:10030000B7D13877CC2B329595E6241FB14F0A0030 +:100310000020410000C84200401C4620BCBE4CCA20 +:100320001B0E5AAEC59D7400407A10F35A00A0729D +:100330004E18090010A5D4E80000E8764817000020 +:10034000E40B54020000CA9A3B000000E1F50500EE +:100350000080969800000040420F000000A0860137 +:10036000000000102700000000E803000000006407 +:1003700000000000000A0000000000010000000072 +:10038000002C76D888DC674F0823DFC1DFAE59E147 +:10039000B1B796E5E3E453C63AE651997696E8E6B6 +:1003A000C28426EB898C9B62ED407C6FFCEFBC9C89 +:1003B0009F40F2BAA56FA5F490055A2AF75C936B9B +:1003C0006CF9676DC11BFCE0E40D47FEF520E6B556 +:1003D00000D0ED902E0300943577050080841E0830 +:1003E0000000204E0A000000C80C333333330F984E +:1003F0006E12831141EF8D2114893BE65516CFFE15 +:10040000E6DB18D1844B381BF77C1D901DA4BBE4A0 +:1004100024203284725E228100C9F124ECA1E53DE2 +:100420002700000A0B02090C0D0E08070304010047 +:1004300000000000000000000000000000000000BC +:100440000000000000000000000000000012111079 +:10045000000000000000000000000000000000009C +:100460000000000000000000002100240027002AF6 +:10047000002D003000330001010000040107010AD3 +:100480000100002200250028002B002E003100343E +:100490000002010000050108010B010000200023FB +:1004A00000260029002C002F00320000010000036C +:1004B00001060109010505050507050808080802E8 +:1004C0000202020A0A0808040404040101010101ED +:1004D0000101010303030303030303040707070CDC +:1004E0000C0C0C0C0C0C0C02020202060606060692 +:1004F0000606060B0B0B0B0B0B0B0B01021020203F +:100500000808102040102040800201020108040267 +:1005100001010204081020408080402010080402DD +:100520000180040201804020100804020108040236 +:10053000010102040810204080010204081020403C +:1005400080009946944611241FBECFEFD1E2DEBF52 +:10055000CDBF00E00CBF17E0A0E0B2E0E0E3F1EABD +:1005600000E00BBF02C007900D92A234B107D9F78B +:100570002CE0A2E4B7E001C01D92AC3EB207E1F767 +:1005800012E0C2EAD2E000E006C021970109802F04 +:10059000FE010E947B4FC13AD10780E00807A9F70E +:1005A0000E944E3C0C9487502BCD603E710508F0A4 +:1005B000D8C3FB018827EE58FF4F8F4F0C947B4F19 +:1005C00081E090E0A0E0B0E0809356079093570759 +:1005D000A0935807B0935907089510925A071092A4 +:1005E0005B0710925C0710925D07089510925E07FA +:1005F00010925F071092600710926107089581E0E2 +:1006000090E0A0E0B0E08093620790936307A0932E +:100610006407B09365070895109266071092670704 +:100620001092680710926907089583E090E0A0E0B7 +:10063000B0E080936A0790936B07A0936C07B09328 +:100640006D07089588E790E0A0E0B0E0809382070E +:1006500090938307A0938407B0938507089588E754 +:1006600090E0A0E0B0E08093860790938707A09386 +:100670008807B0938907089588E790E0A0E0B0E08C +:1006800080938A0790938B07A0938C07B0938D0774 +:100690000895109292071092930710929407109267 +:1006A0009507089510929607109297071092980751 +:1006B00010929907089581E090E0A0E0B0E0809367 +:1006C0009A0790939B07A0939C07B0939D0708956A +:1006D00010929E0710929F071092A0071092A107F8 +:1006E00008951092A2071092A3071092A4071092E7 +:1006F000A50708951092A6071092A7071092A807C1 +:100700001092A90708951092AA071092AB071092B1 +:10071000AC071092AD0708951092AE071092AF0784 +:100720001092B0071092B10708951092B20710927C +:10073000B3071092B4071092B50708951092BA0744 +:100740001092BB071092BC071092BD07089510923B +:10075000BE071092BF071092C0071092C1070895FC +:100760001092C2071092C3071092C4071092C507D7 +:1007700008951092D2071092D3071092D4071092C6 +:10078000D50708951092D6071092D7071092D80770 +:100790001092D90708951092DA071092DB07109291 +:1007A000DC071092DD07089581E090E0A0E0B0E062 +:1007B0008093E6079093E707A093E807B093E907D3 +:1007C000089581E090E0A0E0B0E08093EA07909384 +:1007D000EB07A093EC07B093ED0708958CE291E04E +:1007E000A0E0B0E08093FA079093FB07A093FC078A +:1007F000B093FD0708958CE291E0A0E0B0E0809313 +:10080000FE079093FF07A0930008B0930108089596 +:100810008CE291E0A0E0B0E080930208909303089E +:10082000A0930408B0930508089510920A08109246 +:100830000B0810920C0810920D08089510920E08E3 +:1008400010920F081092100810921108089510923B +:1008500012081092130810921408109215080895A7 +:100860001092220810922308109224081092250852 +:1008700008951092260810922708109228081092C6 +:100880002908089581E090E0A0E0B0E080932A0874 +:1008900090932B08A0932C08B0932D08089585E021 +:1008A00090E0A0E0B0E08093320890933308A093EA +:1008B0003408B0933508089585E090E0A0E0B0E0FA +:1008C0008093360890933708A0933808B09339087E +:1008D000089589E190E0A0E0B0E080933A08909319 +:1008E0003B08A0933C08B0933D08089582E390E054 +:1008F000A0E0B0E080934A0890934B08A0934C0886 +:10090000B0934D08089582E390E0A0E0B0E08093BA +:100910004E0890934F08A0935008B0935108089543 +:1009200082E390E0A0E0B0E08093520890935308F7 +:10093000A0935408B0935508089582E390E0A0E096 +:10094000B0E080935A0890935B08A0935C08B09342 +:100950005D08089582E390E0A0E0B0E080935E0837 +:1009600090935F08A0936008B0936108089582E3B4 +:1009700090E0A0E0B0E08093620890936308A093B9 +:100980006408B0936508089580E991E0A0E0B0E0C4 +:100990008093720890937308A0937408B0937508BD +:1009A000089580E991E0A0E0B0E08093760890930C +:1009B0007708A0937808B0937908089580E991E0CA +:1009C000A0E0B0E080937A0890937B08A0937C0825 +:1009D000B0937D08089510928208109283081092B7 +:1009E000840810928508089510928608109287084E +:1009F0001092880810928908089510928A0810921F +:100A00008B0810928C0810928D08089510929A0904 +:100A100010929B0910929C0910929D0908951092C2 +:100A20009E0910929F091092A0091092A1090895A1 +:100A30001092A2091092A3091092A4091092A5097C +:100A400008951092EA081092EB081092EC081092A8 +:100A5000ED0808951092EE081092EF081092F00839 +:100A60001092F10808951092F2081092F308109273 +:100A7000F4081092F50808951092FA081092FB08F5 +:100A80001092FC081092FD0808951092FE08109232 +:100A9000FF081092000910920109089510920209AE +:100AA000109203091092040910920509089585E037 +:100AB00090E0A0E0B0E08093120990931309A09316 +:100AC0001409B0931509089585E090E0A0E0B0E026 +:100AD0008093160990931709A0931809B0931909E8 +:100AE000089585E090E0A0E0B0E080931A0990932B +:100AF0001B09A0931C09B0931D09089584EB95E18F +:100B0000A0E0B0E08093220990932309A0932409E8 +:100B1000B0932509089584EB95E1A0E0B0E08093BF +:100B2000260990932709A0932809B09329090895CD +:100B300084EB95E1A0E0B0E080932A0990932B0923 +:100B4000A0932C09B0932D09089585E090E0A0E0D2 +:100B5000B0E080933A0990933B09A0933C09B0938D +:100B60003D09089585E090E0A0E0B0E080933E0963 +:100B700090933F09A0934009B0934109089585E0FF +:100B800090E0A0E0B0E08093420990934309A093E5 +:100B90004409B0934509089510924A0910924B09EF +:100BA00010924C0910924D09089510924E0910921E +:100BB0004F0910925009109251090895109252094C +:100BC00010925309109254091092550908951092E9 +:100BD00062091092630910926409109265090895E0 +:100BE00010926609109267091092680910926909BB +:100BF000089510926A0910926B0910926C09109274 +:100C00006D09089510927A0A10927B0A10927C0A5C +:100C100010927D0A08958CE390E0A0E0B0E080930C +:100C20007E0A90937F0AA093800AB093810A089568 +:100C300081E090E0A0E0B0E08093820A9093830A84 +:100C4000A093840AB093850A089510928A0A10929C +:100C50008B0A10928C0A10928D0A08958CE390E012 +:100C6000A0E0B0E080938E0A90938F0AA093900A40 +:100C7000B093910A089581E090E0A0E0B0E0809305 +:100C8000920A9093930AA093940AB093950A0895B8 +:100C90001092A20A1092A30A1092A40A1092A50A16 +:100CA00008958CE390E0A0E0B0E08093A60A9093D2 +:100CB000A70AA093A80AB093A90A089581E090E03A +:100CC000A0E0B0E08093AA0A9093AB0AA093AC0A8C +:100CD000B093AD0A08951092B20A1092B30A10921E +:100CE000B40A1092B50A08958CE390E0A0E0B0E059 +:100CF0008093B60A9093B70AA093B80AB093B90A42 +:100D0000089581E090E0A0E0B0E08093BA0A90936B +:100D1000BB0AA093BC0AB093BD0A08951092CA0AF8 +:100D20001092CB0A1092CC0A1092CD0A08958CE34F +:100D300090E0A0E0B0E08093CE0A9093CF0AA09319 +:100D4000D00AB093D10A089581E090E0A0E0B0E02D +:100D50008093D20A9093D30AA093D40AB093D50A71 +:100D60000895660F771F660F771FFB01EA5AF84F49 +:100D7000108211821282138208950F931F93CF93D2 +:100D8000DF938C01C0E0D0E0BE01C8010E94F132C7 +:100D9000882319F0BE01C80108DC2196C13ED105A7 +:100DA00099F7DF91CF911F910F9108954F925F9224 +:100DB0006F927F928F929F92AF92BF92CF92DF926B +:100DC000EF92FF92CF93DF935B01EB01CC0FDD1F1E +:100DD000CE010E94024E482E512C612C712CCE0166 +:100DE00001960E94024EC82ED12CE12CF12C8DE8E8 +:100DF000A81AB10883E0A816B10488F5CE0144967C +:100E00000E94024E882E912CA12CB12CCE01459629 +:100E10000E94024E482F50E060E070E08FEF88168D +:100E20009104A104B104A9F44F3F51056105710576 +:100E300081F48FEF481651046104710481F48FEF3F +:100E4000C816D104E104F10451F46FEF7FEFCB0138 +:100E50002BC040385105610571056CF0F6CF80E874 +:100E6000C816D104E104F10484F740E050E0BA016F +:100E7000812C912C5401FE2CED2CDC2CCC24C40CA8 +:100E8000D51CE61CF71C540199248824C80CD91CD5 +:100E9000EA1CFB1C742F662755274427CB01BA0197 +:100EA0006C0D7D1D8E1D9F1DDF91CF91FF90EF90EA +:100EB000DF90CF90BF90AF909F908F907F906F907A +:100EC0005F904F9008950C94D4470C94D4470C94A1 +:100ED000D447CF93DF93EB0120E030E040E85FE3BD +:100EE0006A817B818C819D810E94E64C811113C0B7 +:100EF0008DE994E00E94073B0E94DF16FC01E25B53 +:100F0000FF4F1082118212821382E05DFE4F108A21 +:100F1000118A128A138A20E030E040E85FE36E8194 +:100F20007F81888599850E94E64C811113C08DEAE6 +:100F300094E00E94073B0E94DF16FC01E853FF4F3C +:100F40001082118212821382EE52FF4F108A118A90 +:100F5000128A138A20E030E040E85FE36A857B85EF +:100F60008C859D850E94E64C811113C08DEB94E029 +:100F70000E94073B0E94DF16FC01EE5BFE4F1082D1 +:100F8000118212821382EC58FF4F108A118A128A42 +:100F9000138A0E948B180E94951780E090E0DF91E1 +:100FA000CF9108950F93CF93DF938091860B81119A +:100FB00076C081E08093860B0E94DF16EC0106B1BB +:100FC00026B140910001609100010295017026FB5D +:100FD000222720F941706695617082589E4F0E94C9 +:100FE000863506B126B140B160B1017022FB2227DF +:100FF00020F943FB442740F966956170CE0186567F +:101000009E4F0E94863502B322B340B160B1017099 +:1010100022FB222720F9441F4427441F65FB662733 +:1010200060F9CE018A549E4F0E948635FE01E15937 +:10103000FF4F8081882361F0709780819181A28128 +:10104000B3810196A11DB11D80839183A283B383D7 +:10105000FE01E751FF4F8081882361F07097808106 +:101060009181A281B3810196A11DB11D80839183DD +:10107000A283B383FE01ED59FE4F8081882369F07E +:10108000CD5ADE4F88819981AA81BB810196A11D2D +:10109000B11D88839983AA83BB831092860BDF914D +:1010A000CF910F9108958F929F92AF92BF92CF925E +:1010B000DF92EF92FF920F931F930E94DF1621E0C1 +:1010C0002F931F921F921F921F92812C912CA12C63 +:1010D000B12CC12CD12C760197018601B701A60154 +:1010E000A4D20F900F900F900F900F9080E090E09F +:1010F0001F910F91FF90EF90DF90CF90BF90AF9036 +:101100009F908F900895EF92FF920F931F93CF932C +:10111000DF9300D01F92CDB7DEB78B017B01EE0CC1 +:10112000FF1C622FC70129833A834B835C830E9493 +:101130000A4E29813A814B815C81992757FD9A9506 +:10114000852F742F632FC70101960E940A4E0D58F8 +:10115000110929813A814B815C8103301105A8F482 +:10116000BA01992777FD9095892FC70144960E946F +:101170000A4E29813A814B815C81652F7727882728 +:101180009927C70145960E940A4E80E090E00F9093 +:101190000F900F900F90DF91CF911F910F91FF90C3 +:1011A000EF900895CF92DF92EF92FF92CF93DF936B +:1011B000EB010E94F132882359F1FE01EE0FFF1F6F +:1011C000EE0FFF1FEA5AF84FC080D180E280F38013 +:1011D0008DEC94E00E94073B8EE496E00E94073B72 +:1011E00081ED94E00E94073BCE010E947A3B8EE4A1 +:1011F00096E00E94073B83ED94E00E94073BC70105 +:10120000B6010E94533B0E948B180E94951704C0A0 +:1012100085ED94E00E94073B80E090E0DF91CF9164 +:10122000FF90EF90DF90CF900895EF92FF920F9391 +:101230001F93CF93DF938091870B9091880B892B1D +:1012400009F066C084E090E00E943F47EC0160E056 +:1012500070E0ACDD16161706FCF0CE018EDD96E5CB +:10126000E92E97E0F92E00E010E0B801CE010E94CF +:10127000F132882341F0F70120813181428153818D +:10128000B801CE0140DF0F5F1F4FF4E0EF0EF11CFD +:101290000639110551F738C063E070E0CE0186DDF4 +:1012A000613071058105910569F586E5E82E87E0D5 +:1012B000F82E00E010E0B801CE010E94F132882340 +:1012C000C1F0B801CE0172DDF701608371838283C2 +:1012D00093836F3F7F4F8F4F9F4F59F4B801CE01DB +:1012E00064D9F7012081318142815381B801CE0157 +:1012F0000ADF0F5F1F4FF4E0EF0EF11C013E1105F6 +:10130000D1F602C0CE0139DDD093880BC093870B94 +:101310008091870B9091880BDF91CF911F910F9156 +:10132000FF90EF900895089508950895EF92FF9229 +:101330000F931F93CF93DF93162F072F7A01411539 +:10134000510559F4862F0E94DB2731E020E00197F8 +:1013500009F030E0C32FD22F26C04130510509F5E6 +:10136000262F663310F02AEC260F80917B00922FF7 +:101370009870877F892B80937B002770206420934F +:101380007C0080917A00806480937A0080917A005A +:1013900086FDFCCFC091780080917900D0E0D82BF9 +:1013A00002C0C0E0D0E082E0E816F10410F587EF5B +:1013B00094E00E94073B8EE496E00E94073B81ED9B +:1013C00094E00E94073B812F902F0E947A3B8EE48D +:1013D00096E00E94073B83ED94E00E94073BCE011C +:1013E0000E947A3B0E948B180E94951780E090E043 +:1013F00002C081E090E0DF91CF911F910F91FF90AB +:10140000EF9008958BEF94E00E94073B0E948B18A9 +:101410000E94D21A0E948B180E94A7170E94A7341C +:1014200040E050E068E070E081DF0E94A73440E0D7 +:1014300050E069E070E07ADF0E94A73440E050E0BD +:101440006AE070E073DF0E94A73440E050E06DE096 +:1014500070E06CDF80E090E008950F931F93CF93CE +:10146000DF938B01EA01AB0141505109443351052F +:1014700008F0D4C02230310508F0D0C048E3429FC4 +:10148000F001439FF00D1124E60FF71FE80FF91F3D +:1014900081E08083232B11F46C2F07C061E0802F43 +:1014A0000E94F728209739F460E0802F0E940328DB +:1014B00080E090E0B5C0CF3FD10509F4ADC0F801A0 +:1014C000EF5DFB4FE4918E2F90E0FC013197E2310C +:1014D000F10508F09DC08827EE5AFE4F8F4F0C94FF +:1014E0007B4F84B5806884BDC7BDE2CF84B5806280 +:1014F00084BDC8BDDDCF809180008068809380006E +:10150000D0938900C0938800D3CF809180008062FF +:1015100080938000D0938B00C0938A00C9CF8091C4 +:101520008000886080938000D0938D00C0938C00F1 +:10153000BFCF8091B00080688093B000C093B300AB +:10154000B7CF8091B00080628093B000C093B400A8 +:10155000AFCF80919000806880939000D0939900E5 +:10156000C0939800A5CF80919000806280939000F6 +:10157000D0939B00C0939A009BCF8091900088608D +:1015800080939000D0939D00C0939C0091CF809158 +:10159000A00080688093A0008091A0008F7B809342 +:1015A000A000D093A900C093A80082CF8091A00092 +:1015B00080628093A000D093AB00C093AA0078CF44 +:1015C0008091A00088608093A000D093AD00C0936C +:1015D000AC006ECF80912001806880932001D09371 +:1015E0002901C093280164CF8091200180628093FB +:1015F0002001D0932B01C0932A015ACF8091200162 +:10160000886080932001D0932D01C0932C0150CF8E +:10161000C038D1050CF448CF61E047CF81E090E0BD +:10162000DF91CF911F910F9108952F923F924F928A +:101630005F926F927F928F929F92AF92BF92CF9262 +:10164000DF92EF92FF920F931F93CF93DF93CDB76B +:10165000DEB7E6970FB6F894DEBF0FBECDBF1C0114 +:101660002A013B010B871C872D873E872E960EADE6 +:101670001FAD2E97FC01E55AFD4F6081718182817B +:1016800093810E94EC4C9B01AC01C301B2010E940A +:101690004B4D0E94424F6B8B7C8B8D8B9E8BF1014F +:1016A000E15AFD4F60817181828193810E94EC4CEF +:1016B0009B01AC016B857C858D859E850E944B4D81 +:1016C0000E94424F6B8F7C8F8D8F9E8FF101ED5961 +:1016D000FD4F60817181828193810E94EC4C9B015E +:1016E000AC01C701B6010E944B4D0E94424F6F8F63 +:1016F00078A389A39AA30E9476296B877C878D871C +:101700009E87F101E452FE4F1182108232961182BF +:1017100010823E96A114B10461F0C501A0E0B0E0D2 +:10172000408151816281738184179507A607B707AD +:1017300014F0A080B180F101E051FE4F81149104BA +:1017400061F0C401A0E0B0E0408151816281738109 +:1017500084179507A607B70714F080809180F101E0 +:10176000EC50FE4F0115110561F0C801A0E0B0E09A +:10177000408151816281738184179507A607B7075D +:1017800014F000811181310120E1620E711CC5014C +:10179000A0E0B0E0F10180A791A7A2A7B3A7210123 +:1017A000FAE84F0E511CA12CB12CD20158968D9203 +:1017B0009D92AD92BC925B974101BCEF8B1ABEEF3C +:1017C0009B0A20E030E0F401008F118F228F338FCD +:1017D0000E948B180E948B180E948B180E948B18F5 +:1017E00040914A0750914B0760914C0770914D070B +:1017F0004BAB5CAB6DAB7EAB0E948B1880914E0700 +:1018000090914F07A0915007B09151078F87988B07 +:10181000A98BBA8B0E948B18A0905207B0905307E7 +:10182000C0905407D0905507F101E959FD4F10823F +:1018300011821282138234961082118212821382D4 +:101840003496108211821282138234961182108291 +:1018500032961182108232961182108232964BA9F2 +:101860005CA96DA97EA940835183628373833496FA +:101870008F859889A989BA8980839183A283B3834C +:101880003496A082B182C282D3822F96EFAC2F977A +:101890000B891C892D893E89C3010E941C2E882337 +:1018A000F9F085E393E00E94073B8AEA94E00E9406 +:1018B000073BF101EE5AFF4F608171818281938174 +:1018C000E75FFD4F20813181428153810E94184E94 +:1018D000CA01B9010E94533B0E948B180E949517C0 +:1018E0006096EFAC60970B8D1C8D2D8D3E8D4F85D6 +:1018F000588969897A89C2010E941C2E8823F9F0CF +:1019000081E393E00E94073B8AEB94E00E94073B4F +:10191000F101E453FF4F6081718182819381ED5623 +:10192000FE4F20813181428153810E94184ECA01AD +:10193000B9010E94533B0E948B180E949517619633 +:10194000EFAC61970F8D18A129A13AA1B601A501AD +:10195000C4010E941C2E8823F9F08DE293E00E94BE +:10196000073B8AEC94E00E94073BF101EA5BFE4FE3 +:101970006081718182819381E35EFE4F208131819C +:10198000428153810E94184ECA01B9010E94533B03 +:101990000E948B180E949517D10151961C92F1015B +:1019A000E557FF4F1082E658FF4F1082C1010E9499 +:1019B000582CC1010E945C2CC3010E946A32C201F2 +:1019C0000E946A32C4010E946A32F101ED51FE4F59 +:1019D000FCA3EBA381E090E0918380837101FBE1A4 +:1019E000EF1AFEEFFF0AD7018D939C9381010951F5 +:1019F0001E4FF8019183808341E050E0B301C101A3 +:101A00000E94E318D7014D915C91B201C1010E947F +:101A1000E318F80140815181B401C1010E94E3182B +:101A200011E0F101EE53FD4F1083C3010E94092E16 +:101A3000C2010E94092EC4010E94092E64E670E0D2 +:101A400080E090E00E943E29C10180529E4FDC015F +:101A50001C9311961C93A1014E515E4FFA01108305 +:101A60002F96FFAD2F97F1110FC060962FAD6097A5 +:101A7000211105C061963FAD6197332339F1910182 +:101A800021593F4FF90110826096FFAD6097F11127 +:101A900005C0910127513F4FF90110826196FFADBA +:101AA0006197F11105C091012D593E4FF901108246 +:101AB0002F962FAD2F97FC01208360963FAD609746 +:101AC0003C936196EFAD6197DA01EC93C3010E94FC +:101AD000C52FC2010E94C52FC4010E94C52FC3019A +:101AE0000E941B2FC2010E941B2FC4010E941B2FAA +:101AF0000E948B18DC011C968C918F87A12CB12C35 +:101B0000F101E052FE4FFC8BEB8B91012F513E4FC8 +:101B10003C8F2B8FA1014E515E4F58A34F8FC101B7 +:101B20008D519E4F9CA78BA7D101AB51BE4FBEA735 +:101B3000ADA73796F8ABEFA72F5631403AA729A7A4 +:101B40004F535F4F5AAB49AB8B5191409EA38DA32E +:101B5000A35AB109B8A7AFA3EB89FC898081811191 +:101B60000BC0AB8DBC8D8C91811106C0EF8DF8A19F +:101B70008081882309F45DC3FF85F1115AC34BA509 +:101B80005CA5B301C1010E943A194DA55EA5B20141 +:101B9000C1010E943A194FA558A9B401C1010E9480 +:101BA0003A19C3010E94852FC2010E94852FC401EA +:101BB0000E94852FE9A5FAA58081882321F1C30120 +:101BC0000E94C52FA9A9BAA98C918823C9F06101E7 +:101BD000B9E6CB1ABDEFDB0A7101EEE4EE1AEDEFC8 +:101BE000FE0A81010B571D4F910127583D4FA1015E +:101BF00049595D4FB10162587E4FC3010E949C2B31 +:101C0000A9A5BAA51C92F101E451FF4F8081882358 +:101C100031F1C2010E94C52FF101EC55FD4F8081C9 +:101C20008823C9F06101B5E6CB1ABDEFDB0A71016B +:101C3000ECE4EE1AEDEFFE0A810107571D4F91010A +:101C400023583D4FA10145595D4FB10166567E4F66 +:101C5000C2010E949C2BF101E451FF4F1082F1015F +:101C6000EA59FE4F8081882331F1C4010E94C52FBB +:101C7000F101EB55FD4F80818823C9F06101F1E648 +:101C8000CF1AFDEFDF0A71012AE4E21A2DEFF20A02 +:101C9000810103571D4F91012F573D4FA10141591C +:101CA0005D4FB1016A547E4FC4010E949C2BF1012B +:101CB000EA59FE4F1082810101591F4FD8018C91C2 +:101CC000882309F43FC0F101EF56FD4F6081718117 +:101CD000072E000C880B990B0E94EC4C9B01AC0169 +:101CE000F101E959FD4F60817181828193810E94E8 +:101CF000734F18163CF5D8011C9264E274E0810120 +:101D00000E521E4FC8010E942A2760E475E0C801E8 +:101D10000E942A276CE973E0C8010E942A272F96A7 +:101D2000BFAD2F97BB2309F473C3F101E258FE4FF7 +:101D3000108A118A128A138AE053F14010821182AC +:101D400012821382810107511F4FF801808188237D +:101D500009F43FC0E655FE4F60817181072E000CEB +:101D6000880B990B0E94EC4C9B01AC01F101E559E9 +:101D7000FD4F60817181828193810E94734F18169B +:101D800044F5F801108264E274E081010E521E4FA6 +:101D9000C8010E942A2768E675E0C8010E942A2728 +:101DA0006CE973E0C8010E942A276096FFAD609736 +:101DB000FF2309F431C3F101E656FE4F108A118A60 +:101DC000128A138AADA1BEA11D921D921D921C9272 +:101DD000139781010D591E4FF8018081882309F462 +:101DE0003FC0EE5CFE4F60817181072E000C880BB6 +:101DF000990B0E94EC4C9B01AC01F101E159FD4FA4 +:101E000060817181828193810E94734F181644F51D +:101E1000D8011C9264E274E081010E521E4FC80189 +:101E20000E942A2760E975E0C8010E942A276CE910 +:101E300073E0C8010E942A276196BFAD6197BB235A +:101E400009F4EEC2F101EA54FE4F108A118A128A97 +:101E5000138AAFA1B8A51D921D921D921C921397D3 +:101E600060E0C3010E94942E882369F0F101E25BD7 +:101E7000FF4F1082118212821382E05DFE4F108AA2 +:101E8000118A128A138A60E0C2010E94942E88236C +:101E900069F0EDA1FEA11082118212821382F1017C +:101EA000E656FE4F108A118A128A138A60E0C40136 +:101EB0000E94942E882371F0AFA1B8A51D921D92A7 +:101EC0001D921C921397F101EA54FE4F108A118A59 +:101ED000128A138AF101E159FF4F8081EB89FC8955 +:101EE0008083F101E751FF4F8081AB8DBC8D8C93D6 +:101EF000E658FF4F8081EF8DF8A18083F101E25B0E +:101F0000FF4F20813181428153812F833887498758 +:101F10005A87ADA1BEA14D915D916D917C91EFA1CC +:101F2000F8A5C080D180E280F3804BAB5CAB6DAB99 +:101F30007EAB0E948B188F819885A985BA85809386 +:101F40004A0790934B07A0934C07B0934D070E940C +:101F50008B184BA95CA96DA97EA940934E0750939D +:101F60004F0760935007709351070E948B18C092DF +:101F70005207D0925307E0925407F0925507C101DF +:101F80000E94582CAB89BC898C91882309F44AC0E3 +:101F90000E9476292B853C854D855E8562177307E7 +:101FA0008407950760F40E9476292B853C854D8532 +:101FB0005E856217730784079507A0F51EC00E940F +:101FC00076296B017C012B853C854D855E85C21A87 +:101FD000D30AE40AF50AF101E15BFD4F208131816A +:101FE00042815381A8EEB3E00E94344E6C157D050A +:101FF0008E059F0508F418C2D6CF0E9476296B0182 +:102000007C01F101E15BFD4F2081318142815381EF +:10201000A8EEB3E00E94344E6C157D058E059F0539 +:1020200008F402C2AB8DBC8D8C91882309F44AC0A0 +:102030000E9476292B853C854D855E856217730746 +:102040008407950760F40E9476292B853C854D8591 +:102050005E856217730784079507A0F51EC00E946E +:1020600076296B017C012B853C854D855E85C21AE6 +:10207000D30AE40AF50AF101ED5AFD4F20813181BE +:1020800042815381A8EEB3E00E94344E6C157D0569 +:102090008E059F0508F4DEC1D6CF0E9476296B011C +:1020A0007C01F101ED5AFD4F208131814281538144 +:1020B000A8EEB3E00E94344E6C157D058E059F0599 +:1020C00008F4C8C1AF8DB8A18C91882309F44AC027 +:1020D0000E9476292B853C854D855E8562177307A6 +:1020E0008407950760F40E9476292B853C854D85F1 +:1020F0005E856217730784079507A0F51EC00E94CE +:1021000076296B017C012B853C854D855E85C21A45 +:10211000D30AE40AF50AF101E95AFD4F2081318121 +:1021200042815381A8EEB3E00E94344E6C157D05C8 +:102130008E059F0508F4A4C1D6CF0E9476296B01B5 +:102140007C01F101E95AFD4F2081318142815381A7 +:10215000A8EEB3E00E94344E6C157D058E059F05F8 +:1021600008F48EC188EA9BE00E94E624181619063E +:1021700074F588EA9BE00E94C4248F7D8534910524 +:1021800031F562E075E0C1018E529E4F0E942A2710 +:1021900082E693E00E94073BBED7C7D6F101E15922 +:1021A000FF4F1082E658FF4F1082E658FF4F108213 +:1021B000AB89BC891C92EB8DFC8D1082AF8DB8A1D0 +:1021C0001C92B1E0BF87AA24A394B12C03C0A11430 +:1021D000B10481F067E175E0C1018E529E4F0E940B +:1021E0002A27EB89FC891082AB8DBC8D1C92EF8D68 +:1021F000F8A11082C1010E94BD3AF101E252FE4FE6 +:10220000808191810196918380838D3291400CF47D +:10221000A3CCD101AA52BE4F8D919C911197892BCD +:1022200009F09ACC14968D919C91892B09F43EC1AA +:1022300093CC81010A521E4FD8018D919C91892B1C +:1022400021F0C1010E94BD3AF7CF87E295E00E94DC +:10225000073B2F96BFAD2F97BB23E9F0A114B10424 +:10226000D1F4EF85E1113AC08DE193E00E94073B84 +:1022700052D75BD66096FFAD6097FF2351F189E19D +:1022800093E00E94073B47D750D661962FAD6197E8 +:10229000211118C023C060963FAD6097332339F0F9 +:1022A000A114B10421F44F85411118C0E8CF619603 +:1022B0005FAD6197552391F0A114B10479F48F8536 +:1022C00081110CC085E193E00E94073B24D72DD6F5 +:1022D00005C06196EFAD6197E111F4CF85E090E024 +:1022E000ABA1BCA18D939C9391012B513E4F3C8798 +:1022F0002B87D9018D939C93810109511E4FF801C1 +:102300009183808345E050E0B301C1015CD7AB8588 +:10231000BC854D915C91B201C10155D7F801408156 +:102320005181B401C1014FD7C1010E94602CF1015C +:10233000E25BFF4F4081518162817381E658FF4F1C +:1023400080819181A281B3818F8B988FA98FBA8F61 +:10235000E658FF4FC080D180E280F3804BAB5CAB8E +:102360006DAB7EABD8D64BA95CA96DA97EA9409375 +:102370004A0750934B0760934C0770934D07CBD699 +:102380002F89388D498D5A8D20934E0730934F07F2 +:102390004093500750935107BED6C0925207D09237 +:1023A0005307E0925407F0925507C1010E94582C40 +:1023B000C1010E945C2CAFD60BD6C10193D7ABA153 +:1023C000BCA11D921C92EB85FC8511821082D80164 +:1023D0001D921C9240E050E0B301C101F4D6EB85A0 +:1023E000FC8540815181B201C101EDD6D8014D91EA +:1023F0005C91B401C101E7D6C1010E94602CBF8588 +:10240000BB2309F44DC187D621E0FC01248748C1D4 +:10241000AA24A394B12C96CCAA24A394B12CD9CCF1 +:10242000AA24A394B12C1CCD69E273E081010E5261 +:102430001E4FC8010E942A276CE973E0C8010E9460 +:102440002A2768EB75E0C8010E942A2722E0A22E05 +:10245000B12CE8CD65E273E081010E521E4FC80138 +:102460000E942A276CE973E0C8010E942A276DECBC +:1024700075E0C8010E942A2792E0A92EB12C22CE35 +:1024800061E273E081010E521E4FC8010E942A27AB +:102490006CE973E0C8010E942A2762EE75E0C8016A +:1024A0000E942A2782E0A82EB12C5CCE11821082D5 +:1024B000F101E452FE4F80819181009749F46EE56D +:1024C00073E081010E521E4FC8010E942A27C5C029 +:1024D000019709F0D1C01FD68C01FC018081918148 +:1024E000A281B381181619061A061B0644F081E072 +:1024F00090E0A0E0B0E080839183A283B383F801F1 +:1025000084819581A681B781181619061A061B06C3 +:1025100044F081E090E0A0E0B0E084839583A6835E +:10252000B783F80180859185A285B38518161906B1 +:102530001A061B0644F081E090E0A0E0B0E080873E +:102540009187A287B3876EE973E0CE0101960E945E +:10255000682763E275E0CE0101960E942A276AEAA5 +:1025600074E0CE0101960E942A2760914A0770917B +:102570004B0780914C0790914D070E94EC4C6B01EA +:102580007C01D8016D917D918D919C910E94EC4CC4 +:102590009B01AC01C701B6010E94DA4EAB01BC0140 +:1025A000CE0101960E94FA266AEB74E0CE010196F4 +:1025B0000E942A2760914E0770914F078091500723 +:1025C000909151070E94EC4C6B017C01F8016481F1 +:1025D0007581868197810E94EC4C9B01AC01C701FB +:1025E000B6010E94DA4EAB01BC01CE0101960E94F9 +:1025F000FA266AEC74E0CE0101960E942A276091C7 +:1026000052077091530780915407909155070E948B +:10261000EC4C6B017C01D80118966D917D918D91E8 +:102620009C911B970E94EC4C9B01AC01C701B60129 +:102630000E94DA4EAB01BC01CE0101960E94FA263F +:10264000BE016F5F7F4F81010E521E4FC8010E9475 +:10265000382789819A810E94D4475DD5BC01CE017B +:1026600001961DD4BE016F5F7F4FC8010E943827BD +:1026700089819A810E94D447F101E452FE4F808102 +:1026800091810196823091051CF49183808302C070 +:1026900011821082F101E652FE4F118210825CCA53 +:1026A00085E395E00E94073BC5010E947A3B8CE9D7 +:1026B00093E00E94073B2FD5B0924507A0924407B4 +:1026C000C501E6960FB6F894DEBF0FBECDBFDF9111 +:1026D000CF911F910F91FF90EF90DF90CF90BF901F +:1026E000AF909F908F907F906F905F904F903F90B2 +:1026F0002F900895662319F08DEA93E002C086EAD0 +:1027000093E00C94073B0C94D4470C94D447AF92BD +:10271000BF92CF92DF92EF92FF920F931F93CF93CE +:10272000DF93EC0186E390E09E8B8D8B87E390E056 +:10273000988F8F8B86E290E09A8F898F8AE190E064 +:102740009C8F8B8F8CE190E09E8F8D8F88E190E045 +:1027500098A38F8F83E090E09AA389A382E090E012 +:102760009CA38BA3FE01E657FF4F8CE390E096837A +:1027700085838DE390E09087878388E390E092875C +:1027800081871486138616861586108A17868EE032 +:1027900090E0928B818B8FE090E0948B838BE65856 +:1027A000FF4F8EE290E09683858380E390E09087F0 +:1027B00087838EE390E0928781871486138616863E +:1027C0001586108A178682E190E0928B818B83E1D7 +:1027D00090E0948B838BE152FF4F118210823296EE +:1027E00011821082329611821082CE010E94291D20 +:1027F000CE0154D76E0182E8C81A8EEFD80AAA24F7 +:10280000A394B12CF601B38EA28E7E01F6E6EF1AE8 +:10281000FEEFFF0A84E090E0F701938F828F8E0134 +:102820000A541E4F88E090E0F801938F828F80E178 +:1028300090E0F6019183808381E190E09583848329 +:102840008FE190E09383828381E290E09783868397 +:10285000C6010E944F35F601828580878385818776 +:1028600087E190E0F7019183808389E190E095838F +:10287000848383E290E09383828385E290E0978370 +:102880008683C7010E944F35F70182858087838543 +:1028900081878BE190E0F801918380838DE190E066 +:1028A0009583848387E290E09383828389E290E03A +:1028B00097838683C8010E944F35F80182858087FF +:1028C00083858187EE5FFE4F808191813C972081D7 +:1028D0003181369740815181F601578B468B358B7C +:1028E000248B019729F48FEF9FEF918F808F03C086 +:1028F000F601B18EA08EFE01E654FD4F80819181DC +:102900003C9720813181369740815181F701578B67 +:10291000468B358B248B019719F48FEF9FEF03C003 +:1029200081E090E0F701918F808FFE01E454FD4F2C +:10293000808191813C9720813181C655DD4F48814E +:102940005981F801578B468B358B248B019719F4ED +:102950008FEF9FEF03C081E090E0F801918F808FAF +:10296000DF91CF911F910F91FF90EF90DF90CF906B +:10297000BF90AF9008952F923F924F925F926F92C7 +:102980007F928F929F92AF92BF92CF92DF92EF92FF +:10299000FF920F931F93CF93DF93CDB7DEB7CA5744 +:1029A000D1090FB6F894DEBF0FBECDBF8C01FC017C +:1029B000108211821282138214821582168217826B +:1029C000108611861286138614861586168617863B +:1029D0002C01F0E14F0E511CC2010E948C326801A3 +:1029E0008AE8C80ED11CC6010E948C327801ECEF37 +:1029F000EE1AEEEFFE0AC7010E948C323801F2E8AF +:102A00006F1AFEEF7F0AC3010E94D535480186E6A2 +:102A1000881A8EEF980AC4010E94D5355801EAE45D +:102A2000AE1AEEEFBE0AC5010E94D5356EE973E01D +:102A3000C8018E529E4F0E946827F801E852FE4F4F +:102A40001182108232961182108232961182108287 +:102A5000329611821082329610823196108231960F +:102A60001082319611821082329611821082329633 +:102A70001182108232961082319610823196108225 +:102A80003196108211821282138234961082118242 +:102A9000128213823496108211821282138234962B +:102AA0001082118212821382349610821182128255 +:102AB000138234961082118212821382349610820D +:102AC0001182128213823496108211821282138232 +:102AD00034961082118212821382349610821182EF +:102AE00012821382349610821182128213823496DB +:102AF0001082118212821382349610821182128205 +:102B000013823496108211821282138234961082BC +:102B1000118212821382349610823196108231967D +:102B200010823196108211821282138234961082A2 +:102B300011821282138234961082118212821382C1 +:102B4000349610823196108231961082319610821E +:102B50003196108231961082319610823196108211 +:102B60003196108231961082319610823196108201 +:102B700031961082319610823196108231961082F1 +:102B800031961082319610823196108231961082E1 +:102B900031961082319610823196108231961082D1 +:102BA0003196108211821282138234961082118221 +:102BB0001282138234961082118212821382D801FB +:102BC000A55ABD4F8CE0E9E3F3E001900D928A95A0 +:102BD000E1F7F801E959FD4F108211821282138248 +:102BE00034961082118212821382349610821182DE +:102BF00012821382349611821082329611821082D0 +:102C000032961182108232961082118212821382C1 +:102C100034961082118212821382349610821182AD +:102C20001282138234961082118212821382349699 +:102C300010821182128213823496108211821282C3 +:102C4000138234961182108232961182108232964B +:102C5000118210823296108211821282138234966F +:102C60001082118212821382349610821182128293 +:102C700013823496108231961082319610823196EA +:102C80001182108232961182108232961182108245 +:102C900032961182108232961182108232961182FF +:102CA00010823296118210823296118210823296F0 +:102CB0001182108232961182108232961182108215 +:102CC00032961182108232961182108232961182CF +:102CD00010821801FEE32F1AFDEF3F0AF101108266 +:102CE000CE0101960E948C328AE7FE013196D20114 +:102CF00001900D928A95E1F7CE0101960E948C32E7 +:102D00008AE7FE013196D60101900D928A95E1F78E +:102D1000CE0101960E948C328AE7FE013196D701DE +:102D200001900D928A95E1F788E5F801808B89E59D +:102D3000F60180838AE5F7018083CE0101960E9427 +:102D4000D5358CE1FE013196D30101900D928A9523 +:102D5000E1F7CE0101960E94D5358CE1FE01319656 +:102D6000D40101900D928A95E1F7CE0101960E945F +:102D7000D5358CE1FE013196D50101900D928A95F1 +:102D8000E1F7C801C4DCF1011082C658DF4F0FB66D +:102D9000F894DEBF0FBECDBFDF91CF911F910F9191 +:102DA000FF90EF90DF90CF90BF90AF909F908F906B +:102DB0007F906F905F904F903F902F900895CF93AA +:102DC000DF938091930B9091940B892B51F483ECBA +:102DD00092E00E943F47EC01CEDDD093940BC0936C +:102DE000930B8091930B9091940BDF91CF91089569 +:102DF0004F925F926F927F928F929F92AF92BF920B +:102E0000CF92DF92EF92FF920F931F93CF93DF93B6 +:102E100000D01F92CDB7DEB7FB01168907898288E3 +:102E20009388A684B784C284D384E484F5844680DE +:102E300057806084718442815381648175814983A4 +:102E40005A836B837C83BBDF1F921F921F920F9369 +:102E50001F939301820149815A816B817C810E9479 +:102E6000150B0F900F900F900F900F9080E090E057 +:102E70000F900F900F900F90DF91CF911F910F91B6 +:102E8000FF90EF90DF90CF90BF90AF909F908F908A +:102E90007F906F905F904F90089508950895EF92FE +:102EA000FF920F931F93CF93DF93CDB7DEB72E978B +:102EB0000FB6F894DEBF0FBECDBF8C016EE973E094 +:102EC0000E94682767EF75E0C8010E942A27609179 +:102ED00046077091470780914807909149072AE07B +:102EE000AE014F5F5F4F7A010E94A348F701019046 +:102EF0000020E9F73197AF014E195F09B701C8010A +:102F00000E94CD266CE973E0C8010E942A27C801FF +:102F10002E960FB6F894DEBF0FBECDBFDF91CF91D6 +:102F20001F910F91FF90EF90089587EF95E00E9419 +:102F3000073B609146077091470780914807909141 +:102F400049070E94533B8CE993E00C94073B0F9395 +:102F50001F93CF93DF93EC018AEF95E00E94073B2C +:102F60008EEF95E00E94073B0DE81BE0F8016081C1 +:102F7000CE01C0DB82E096E00E94073BF801618150 +:102F8000CE01B8DB86E096E00E94073BF801628143 +:102F9000CE01B0DB8AE096E00E94073BF801638136 +:102FA000CE01A8DB8EE096E00E94073BF801648129 +:102FB000CE01A0DB82E196E00E94073BF80165812B +:102FC000CE0198DBCE01DF91CF911F910F91ADCF54 +:102FD000CF92DF92EF92FF92CF93DF93EC01888143 +:102FE0009981AA81BB81181619061A061B0644F09E +:102FF00081E090E0A0E0B0E088839983AA83BB835E +:103000008C819D81AE81BF81181619061A061B0698 +:1030100044F081E090E0A0E0B0E08C839D83AE833B +:10302000BF8388859985AA85BB85181619061A0657 +:103030001B0644F081E090E0A0E0B0E0888799872B +:10304000AA87BB8783E295E00E94073B8AEA94E067 +:103050000E94073B60914A0770914B0780914C0793 +:1030600090914D070E94EC4C6B017C016881798145 +:103070008A819B810E94EC4C9B01AC01C701B60187 +:103080000E94DA4E42E00E947F3B8AEB94E00E946D +:10309000073B60914E0770914F07809150079091C8 +:1030A00051070E94EC4C6B017C016C817D818E810B +:1030B0009F810E94EC4C9B01AC01C701B6010E94AC +:1030C000DA4E42E00E947F3B8AEC94E00E94073B8C +:1030D0006091520770915307809154079091550762 +:1030E0000E94EC4C6B017C01688579858A859B8503 +:1030F0000E94EC4C9B01AC01C701B6010E94DA4E64 +:1031000042E00E947F3BCE01DF91CF91FF90EF9094 +:10311000DF90CF900ACF80918B0B90918C0B892BF5 +:1031200091F58DE090E00E943F47FC0114861092DB +:103130004A0710924B0710924C0710924D071092BD +:103140004E0710924F07109250071092510710929D +:10315000520710925307109254071092550710927D +:103160008A0B1092890B1092460710924707109213 +:103170004807109249071092450710924407909310 +:103180008C0B80938B0B80918B0B90918C0B089503 +:103190000F931F93CF93DF938B01EA0181E593E0B7 +:1031A0000E94073B8EE496E00E94073BF801808175 +:1031B0000E94483BCE010E947A3BADDFDF91CF9168 +:1031C0001F910F91B2CECF92DF92EF92FF920F93A9 +:1031D0001F93CF93DF93CDB7DEB728970FB6F89440 +:1031E000DEBF0FBECDBF8B016A018E529E4F7C01A8 +:1031F0006DE473E00E942A276EE476E0C7010E9426 +:103200002A27F801808189831A8241E050E08E01EB +:103210000F5F1F4FB801C7010E94CD264AE0B801D9 +:10322000C6010E949948F80101900020E9F7319702 +:10323000AF01401B510BB801C7010E94CD266BDFC7 +:10324000BC01C8012CDEB801C7010E943827898162 +:103250009A810E94D44728960FB6F894DEBF0FBE1D +:10326000CDBFDF91CF911F910F91FF90EF90DF9035 +:10327000CF900895FC01DB01AD59BF4F8C9188239D +:1032800019F022E030E002C020E030E0DB01AB5971 +:10329000BF4F8C91882311F023E030E0DB01AC5963 +:1032A000BF4F8C91882311F024E030E0DB01AA5954 +:1032B000BF4F8C91882311F026E030E0DA018D9128 +:1032C0009C918217930721F091E0121613060CF0DF +:1032D00090E0DA012D933C93992319F0A901CF01D5 +:1032E00072CF08958F929F92AF92BF92CF92DF924A +:1032F000EF92FF920F931F93CF93DF93EC0189E43A +:1033000093E00E94073B8AEA94E00E94073B6E012B +:1033100082E8C81A8EEFD80AC6010E94B5350E940D +:10332000EC4C4B015C01FE01E55AFD4F608171815F +:10333000828193810E94EC4C9B01AC01C501B401D8 +:103340000E94DA4E42E00E947F3B8AEB94E00E94AA +:10335000073B7E01E6E6EE1AEEEFFE0AC7010E9489 +:10336000B5350E94EC4C4B015C01FE01E15AFD4F6A +:1033700060817181828193810E94EC4C9B01AC0140 +:10338000C501B4010E94DA4E42E00E947F3B8AEC04 +:1033900094E00E94073B8E010A541E4FC8010E9410 +:1033A000B5350E94EC4C4B015C01CD59DD4F688175 +:1033B00079818A819B810E94EC4C9B01AC01C50103 +:1033C000B4010E94DA4E42E00E947F3BA4DEADDDF4 +:1033D00085E493E00E94073B8AEA94E00E94073B61 +:1033E000F601A08DB18D20893189428953890E94CF +:1033F0003E4E0E94533B8AEB94E00E94073BF7014C +:10340000A08DB18D20893189428953890E943E4E19 +:103410000E94533B8AEC94E00E94073BF801A08D88 +:10342000B18D20893189428953890E943E4E0E9484 +:10343000533B71DEDF91CF911F910F91FF90EF9081 +:10344000DF90CF90BF90AF909F908F906ECD4F92B6 +:103450005F926F927F928F929F92AF92BF92CF9224 +:10346000DF92EF92FF920F931F93CF93DF9300D0E1 +:103470001F92CDB7DEB70E941509409032085090D8 +:10348000330860903408709035080E9415098090C8 +:10349000360890903708A0903808B09039083BDE85 +:1034A000C0904A07D0904B07E0904C07F0904D0732 +:1034B00032DEC701B6010E94EC4C6B017C01C301F6 +:1034C000B2010E94EC4C9B01AC01C701B6010E9405 +:1034D000DA4E2B013C0160914E0770914F078091AD +:1034E0005007909151070E94EC4C6B017C01C50183 +:1034F000B4010E94EC4C9B01AC01C701B6010E94D3 +:10350000DA4EAB01BC0149835A836B837C8357DC61 +:103510001F921F921F921F921F92812C912CA12CFF +:10352000B12CC12CD12C760149815A816B817C81CF +:103530008A019B01B301A2010E94150B40DC1F927E +:103540001F921F921F921F9297018601B301A20141 +:103550000E94150B34DC1F921F921F921F921F9224 +:1035600097018601B701A6010E94150B0FB6F894CA +:10357000DEBF0FBECDBF80E090E00F900F900F90A8 +:103580000F90DF91CF911F910F91FF90EF90DF90FF +:10359000CF90BF90AF909F908F907F906F905F90F3 +:1035A0004F900895CF93DF9383E00E94DB27EC01D7 +:1035B000B2DD91E0CD2B09F490E090938D0B82E089 +:1035C0000E94DB27EC01A7DD91E0CD2B09F490E010 +:1035D00090938E0B8EE00E94DB27EC019CDD91E046 +:1035E000CD2B09F490E090938F0B8FE00E94DB27A6 +:1035F000EC0191DD91E0CD2B09F490E09093900BDC +:1036000082E10E94DB27EC0186DD91E0CD2B09F4FD +:1036100090E09093910B83E10E94DB27EC017BDD2E +:1036200091E0CD2B09F490E09093920BDF91CF9134 +:103630000895CF93DF93EC012AEC30E04BEC50E09F +:1036400069EC70E00E944D2B2EEC30E04FEC50E026 +:103650006DEC70E0CE010C960E944D2B24ED30E015 +:1036600045ED50E063ED70E0CE0148960E944D2B91 +:1036700028ED30E049ED50E067ED70E0CE01849632 +:103680000E944D2B2EED30E04FED50E06DED70E0DF +:10369000CE01C096DF91CF910C944D2B2F923F928B +:1036A0004F925F926F927F928F929F92AF92BF9252 +:1036B000CF92DF92EF92FF920F931F93CF93DF93FE +:1036C000EC010E941509FE01EF56FD4F8091120991 +:1036D00090911309918380830E941509FE01ED5694 +:1036E000FD4F8091160990911709918380830E9464 +:1036F0001509FE01EB56FD4F80911A0990911B09A7 +:10370000918380830E9415098E0109561D4F609197 +:103710003A0970913B0980913C0990913D090E94C2 +:10372000EC4CF80160837183828393830E941509B6 +:103730001E01F5E62F1AFDEF3F0A60913E097091D8 +:103740003F0980914009909141090E94EC4CF101A0 +:1037500060837183828393830E94150920E030E0A7 +:1037600048EC52E4F80160817181828193810E946A +:10377000DA4E2B013C0120E030E048EC52E4F1014C +:1037800060817181828193810E94DA4E4B015C01DC +:1037900060914209709143098091440990914509D3 +:1037A0000E94EC4C20E030E048EC52E40E94DA4EFB +:1037B0006B017C012AE037ED43E25CE3C301B20117 +:1037C0000E94734F18168CF420E030E046EC52E46F +:1037D000C301B2010E94E64C87FD0FC0412C512C61 +:1037E00046EC642E42E4742E08C05AE0452E57ED94 +:1037F000552E53E2652E5CE3752EF801408251820E +:10380000628273822AE037ED43E25CE3C501B401D2 +:103810000E94734F18168CF420E030E046EC52E41E +:10382000C501B4010E94E64C87FD0FC0812C912C8C +:1038300026ECA22E22E4B22E08C03AE0832E37ED09 +:10384000932E33E2A32E3CE3B32EF10180829182CA +:10385000A282B3822AE037ED43E25CE3C701B601FE +:103860000E94734F18168CF420E030E046EC52E4CE +:10387000C701B6010E94E64C87FD0FC0C12CD12CB8 +:1038800086ECE82E82E4F82E08C09AE0C92E97ED67 +:10389000D92E93E2E92E9CE3F92EFE01E156FD4F6D +:1038A000C082D182E282F3820E9415098091FA08D7 +:1038B0009091FB08FE01EA55FD4F918380830E94A1 +:1038C00015098091FE089091FF08FE01E855FD4F13 +:1038D000918380830E9415098091020990910309C8 +:1038E000FE01E655FD4F918380830E94150980916A +:1038F000220990912309FE01E455FD4F91838083B5 +:103900000E9415098091260990912709FE01E25530 +:10391000FD4F918380830E94150980912A0990911F +:103920002B09FE01E055FD4F918380830E9415090C +:1039300080914A0990914B09FE01EE54FD4F91830D +:1039400080830E94150980914E0990914F09FE01D4 +:10395000EC54FD4F918380830E9415098091520998 +:1039600090915309FE01EA54FD4F918380830E9498 +:1039700015098091620990916309FE01E854FD4F99 +:10398000918380830E94150980916609909167094F +:10399000FE01E654FD4F918380830E9415098091BA +:1039A0006A0990916B09FE01E454FD4F9183808375 +:1039B0000E9415098091EA089091EB08A091EC080B +:1039C000B091ED08FE01ED55FD4F0197A105B10540 +:1039D00019F481E0808301C010820E941509809152 +:1039E000EE089091EF08A091F008B091F108FE0167 +:1039F000EC55FD4F0197A105B10519F481E08083D5 +:103A000001C010820E9415098091F2089091F3087C +:103A1000A091F408B091F508CB55DD4F0197A105B1 +:103A2000B10519F481E0888301C01882DF91CF913C +:103A30001F910F91FF90EF90DF90CF90BF90AF90CC +:103A40009F908F907F906F905F904F903F902F90BE +:103A500008952F923F924F925F926F927F928F9232 +:103A60009F92AF92BF92CF92DF92EF92FF920F930D +:103A70001F93CF93DF93CDB7DEB760970FB6F8945F +:103A8000DEBF0FBECDBF988B8F870E941509EF85D3 +:103A9000F889E751FE4F81E04091220850912308B8 +:103AA0006091240870912508452B462B472B09F47B +:103AB00080E080830E941509EF85F889E651FE4F6A +:103AC00081E0409126085091270860912808709164 +:103AD0002908452B462B472B09F480E080830E9460 +:103AE0001509EF85F889E551FE4F81E040912A08DC +:103AF00050912B0860912C0870912D08452B462B76 +:103B0000472B09F480E080830E9415098091720898 +:103B100090917308A0917408B0917508EF85F889A9 +:103B2000E451FE4F80839183A283B3830E941509E1 +:103B30008091760890917708A0917808B0917908E3 +:103B4000EF85F889E051FE4F80839183A283B38390 +:103B50000E94150980917A0890917B08A0917C08B9 +:103B6000B0917D08EF85F889EC50FE4F80839183FA +:103B7000A283B3830E94150980914A0890914B0853 +:103B8000A0914C08B0914D08EF85F889EC5FFD4F8E +:103B900080839183A283B3830E94150980914E088C +:103BA00090914F08A0915008B0915108EF85F88985 +:103BB000E85FFD4F80839183A283B3830E94150940 +:103BC0008091520890915308A0915408B0915508E3 +:103BD000EF85F889E45FFD4F80839183A283B383EF +:103BE0000E94150980915A0890915B08A0915C0889 +:103BF000B0915D08EF85F889E05FFD4F8083918388 +:103C0000A283B3830E94150980915E0890915F089A +:103C1000A0916008B0916108EF85F889EC5EFD4FD6 +:103C200080839183A283B3830E94150980916208E7 +:103C300090916308A0916408B0916508EF85F889B8 +:103C4000E85EFD4F80839183A283B3830E941509B0 +:103C50008091FA079091FB07A091FC07B091FD07B6 +:103C6000EF85F889E45EFD4F80839183A283B3835F +:103C70000E9415098091FE079091FF07A09100080E +:103C8000B0910108EF85F889E05EFD4F8083918354 +:103C9000A283B3830E9415098091020890910308C2 +:103CA000A0910408B0910508EF85F889EC5DFD4FFF +:103CB00080839183A283B3830E941509EF85F889DD +:103CC000E85DFD4F81E02091D2073091D30721308C +:103CD000310509F080E080830E941509EF85F8899D +:103CE000E75DFD4F81E02091D6073091D707213065 +:103CF000310509F080E080830E941509EF85F8897D +:103D0000E65DFD4F81E02091DA073091DB0721303D +:103D1000310509F080E080830E941509EF85F8895C +:103D2000EA5BFD4F81E04091AA075091AB0760919B +:103D3000AC077091AD07452B462B472B09F480E06B +:103D400080830E941509EF85F889E95BFD4F81E0CA +:103D50004091AE075091AF076091B0077091B107E5 +:103D6000452B462B472B09F480E080830E941509E0 +:103D7000EF85F889E85BFD4F81E04091B2075091F3 +:103D8000B3076091B4077091B507452B462B472BBD +:103D900009F480E080830E941509EF85F889E75BCC +:103DA000FD4F81E040918208509183086091840822 +:103DB00070918508452B462B472B09F480E08083C2 +:103DC0000E941509EF85F889E65BFD4F81E040917F +:103DD0008608509187086091880870918908452B62 +:103DE000462B472B09F480E080830E941509EF855C +:103DF000F889E55BFD4F81E040918A0850918B087E +:103E000060918C0870918D08452B462B472B09F447 +:103E100080E080830E941509EF85F889E45BFD4FFF +:103E200081E02091BA073091BB072130310509F0BC +:103E300080E080830E941509EF85F889E35BFD4FE0 +:103E400081E02091BE073091BF072130310509F094 +:103E500080E080830E941509EF85F889E25BFD4FC1 +:103E600081E02091C2073091C3072130310509F06C +:103E700080E080830E9415098091820790918307DA +:103E8000A0918407B0918507EF85F889E15BFD4F2C +:103E900080839183A283B3830E9415098091860752 +:103EA00090918707A0918807B0918907EF85F889DD +:103EB000ED5AFD4F80839183A283B3830E9415093D +:103EC00080918A0790918B07A0918C07B0918D0704 +:103ED000EF85F889E95AFD4F80839183A283B383EC +:103EE0000E941509EF85F889E65CFD4F81E040915D +:103EF0009207509193076091940770919507452B15 +:103F0000462B472B09F480E080830E941509EF853A +:103F1000F889E55CFD4F81E0409196075091970745 +:103F20006091980770919907452B462B472B09F410 +:103F300080E080830E941509EF85F889E45CFD4FDD +:103F400081E040919A0750919B0760919C07709186 +:103F50009D07452B462B472B09F480E080830E9468 +:103F6000150980918A0990918B09A0918C09B091D3 +:103F70008D09EF85F889E55DFD4F80839183A283EC +:103F8000B3830E94150980918E0990918F09A091A9 +:103F90009009B0919109EF85F889E15DFD4F80832B +:103FA0009183A283B3830E94150980919209909115 +:103FB0009309A0919409B0919509EF85F889ED5C7A +:103FC000FD4F80839183A283B3830E941509EF85FF +:103FD000F889E35CFD4F81E02091EA073091EB071F +:103FE0002130310509F080E08083EF85F889E25CBB +:103FF000FD4F1082EF85F889E15CFD4F10820E9431 +:104000001509EF85F889E05CFD4F81E02091E60716 +:104010003091E7072130310509F080E08083EF859A +:10402000F889EF5BFD4F1082EF85F889EE5BFD4F5D +:1040300010820E941509EF85F889ED5BFD4F81E044 +:1040400020910A0830910B082130310509F080E0F9 +:1040500080830E941509EF85F889EC5BFD4F81E0B4 +:1040600020910E0830910F082130310509F080E0D1 +:1040700080830E941509EF85F889EB5BFD4F81E095 +:1040800020911208309113082130310509F080E0A9 +:1040900080830E941509EF85F889E95CFD4F81E076 +:1040A00020919A0930919B092130310509F080E077 +:1040B00080830E941509EF85F889E85CFD4F81E057 +:1040C00020919E0930919F092130310509F080E04F +:1040D00080830E941509EF85F889E75CFD4F81E038 +:1040E0002091A2093091A3092130310509F080E027 +:1040F00080830E9415090F851889055A1D4F8091EC +:10410000320890913308A0913408B0913508F80135 +:1041100080839183A283B3830E941509EF84F8887A +:10412000F1EAEF1AFDEFFF0A809136089091370807 +:10413000A0913808B0913908F70180839183A28358 +:10414000B3830E94150980913A0890913B08A09191 +:104150003C08B0913D082F8538892D593D4FF90114 +:1041600080839183A283B383F8014081518162816E +:104170007381141615061606170644F041E050E048 +:1041800060E070E04083518362837383F701408174 +:10419000518162817381141615061606170644F0C4 +:1041A00041E050E060E070E04083518362837383BC +:1041B000181619061A061B064CF081E090E0A0E0E4 +:1041C000B0E0F90180839183A283B383D9018D90FC +:1041D0009D90AD90BC90F701C080D180E280F380CB +:1041E000D8014D905D906D907C900E948B18FC01E1 +:1041F0004082518262827382C482D582E682F782D3 +:1042000080869186A286B386EF85F889E95CFD4FAA +:10421000B081B983EF85F889E55DFD4F808191819B +:10422000A281B3814F8558894D5B5D4FFA01F081C2 +:10423000FB834F855889445B5D4FFA01F081FA8317 +:104240004F855889435C5D4FFA01F081FF834F85AC +:104250005889405C5D4FFA01F081F8874F85588995 +:10426000475B5D4FFA01F081F9874F8558894A5BBA +:104270005D4FFA01F081FA87EF85F889E85DFD4F1F +:104280002080EF85F889E751FE4F3080EF85F8896F +:10429000E15BFD4F4081518162817381EF85F88937 +:1042A000E45EFD4F0081118122813381EF85F88921 +:1042B000E05FFD4FC080D180E280F380EF85F88918 +:1042C000EC5FFD4F80809180A280B380EF85F889FC +:1042D000E451FE4F4080518062807380EF85F88901 +:1042E00040A651A662A673A684A695A6A6A6B7A6C2 +:1042F000C0AAD1AAE2AAF3AA04AB15AB26AB37AB8E +:1043000040AF51AF62AF73AF34AE25AE2A8525A35F +:10431000398536A34A8147A340E450E060E070E06D +:10432000E05CFF4F40835183628373832885EF8570 +:10433000F88926AF3F8137AFAF014C5B5F4F2B81D0 +:10434000FA012083EF85F889EB5BFF4F808391832F +:10435000A283B383EF85F889E75BFF4F3981308310 +:10436000AF85B88955968D919C9156978633910566 +:1043700089F483EA9CE2FD01E658FF4F9183808334 +:1043800032961182108281EA9CE236969183808374 +:10439000329630C08C33910589F48BE99CE2EF852D +:1043A000F889E658FF4F91838083EF85F889E458B8 +:1043B000FF4F1182108289E99CE212C08E97E1F4CE +:1043C00083E99CE2EF85F889E658FF4F918380836B +:1043D000EF85F889E458FF4F118210828DE89CE246 +:1043E000EF85F889EE57FF4F91838083EF85F88939 +:1043F000EC57FF4F11821082EF85F889838D948DE1 +:104400004A97D1F48FE99CE2E258FF4F9183808371 +:10441000EF85F889E058FF4F118210828DE99CE208 +:10442000EF85F889EA57FF4F91838083EF85F889FC +:10443000E857FF4F11821082EF85F889E85CFD4F45 +:1044400020812983EF85F889E15DFD4F408051800F +:1044500062807380EF85F889EC5BFD4F30813B8390 +:10446000EF85F889E35BFD4F9081EF85F889E25C89 +:10447000FD4F40814F83EF85F889EF5BFD4F508101 +:104480005887EF85F889E65BFD4F8081EF85F889D5 +:10449000E95BFD4FA081AA87EF85F889E75DFD4FB5 +:1044A0002080EF85F889E651FE4F3080EF85F8894E +:1044B000ED5AFD4F20813181428153812B873C870A +:1044C0004D875E87EF85F889E05EFD4F4081518121 +:1044D00062817381EF85F889EC5EFD4FC080D180E9 +:1044E000E280F380EF85F889E85FFD4F808091805E +:1044F000A280B380EF85F889E657FF4F2F85388972 +:1045000020513E4FD9010D911D912D913C91008F6D +:10451000118F228F338F848E958EA68EB78EC0A278 +:10452000D1A2E2A2F3A244A355A366A377A32B854D +:104530003C854D855E8520A731A742A753A734A6A9 +:1045400025A63A85358B868B978B80E490E0A0E09A +:10455000B0E080AB91ABA2ABB3AB488546A75F811F +:1045600057A78B8184AB45AA56AA67AA70AE9981DA +:1045700091AF858196818633910589F483EA9CE227 +:10458000AF85B889AC50BF4F8D939C93AF85B889E8 +:10459000AA50BF4F1D921C9281EA9CE226C08C3328 +:1045A000910589F48BE99CE2AF85B889AC50BF4F87 +:1045B0008D939C93AF85B889AA50BF4F1D921C92D2 +:1045C00089E99CE212C08E97E1F483E99CE2AF8511 +:1045D000B889AC50BF4F8D939C93AF85B889AA50D2 +:1045E000BF4F1D921C928DE89CE2AF85B889A45004 +:1045F000BF4F8D939C93AF85B889A250BF4F1D923A +:104600001C92838594854A97D9F48FE99CE2EF85C3 +:10461000F889E850FF4F91838083EF85F889E65051 +:10462000FF4F118210828DE99CE2EF85F889F395A6 +:1046300091838083EF85F889EE5FFE4F11821082AF +:10464000EF85F889E75CFD4FA081A9832F85388924 +:104650002D5C3D4FD9018D919D910D90BC91A02D68 +:104660008B839C83AD83BE83EF85F889EB5BFD4F25 +:10467000B081BA83EF85F889E25BFD4F20812F83FB +:10468000EF85F889E15CFD4F30813887EF85F88947 +:10469000EE5BFD4F40814987EF85F889E55BFD4F73 +:1046A0002080EF85F889E85BFD4F3080EF85F88941 +:1046B000E65DFD4F3081EF85F889E551FE4F2081A1 +:1046C000EF85F889E95AFD4F80819181A281B381FC +:1046D000EF85F889EC5DFD4F4081518162817381E6 +:1046E000EF85F889E85EFD4FC080D180E280F380DD +:1046F000EF85F889E45FFD4F80809180A280B380D0 +:104700000F8518890C5F1E4FEF85F889EC50FE4F1E +:104710004080518062807380F801408E518E628E9D +:10472000738E848E958EA68EB78EC0A2D1A2E2A281 +:10473000F3A244A355A366A377A380A791A7A2A73A +:10474000B3A724A735A7358A268A2F81278B80E433 +:1047500090E0A0E0B0E080AB91ABA2ABB3AB298519 +:1047600026A7388537A74A8144AB8B819C81AD81D0 +:10477000BE8185AB96ABA7ABB0AF298121AF858158 +:1047800096818633910589F483EA9CE2EF85F88966 +:10479000E259FE4F91838083EF85F889E059FE4FFF +:1047A0001182108281EA9CE226C08C33910589F443 +:1047B0008BE99CE2EF85F889E259FE4F9183808373 +:1047C000EF85F889E059FE4F1182108289E99CE259 +:1047D00012C08E97E1F483E99CE2EF85F889E259F3 +:1047E000FE4F91838083EF85F889E059FE4F118257 +:1047F00010828DE89CE2EF85F889EA58FE4F91839C +:104800008083EF85F889E858FE4F11821082D80125 +:104810001B968D919C911C974A97E1F48FE99CE23D +:10482000EF85F889EE58FE4F91838083EF85F889F4 +:10483000EC58FE4F118210828DE99CE2EF85F889D9 +:10484000E658FE4F91838083EF85F889E458FE4F48 +:1048500011821082EF85F889E65CFD4F20818F85FB +:1048600098894096222319F00E94092E02C00E94C6 +:10487000F72DEF85F889E55CFD4F20818F859889BC +:1048800086579F4F222319F00E94092E02C00E94D2 +:10489000F72DEF85F889E45CFD4F80818823D9F0FE +:1048A000C80160960FB6F894DEBF0FBECDBFDF9192 +:1048B000CF911F910F91FF90EF90DF90CF90BF901D +:1048C000AF909F908F907F906F905F904F903F90B0 +:1048D0002F900C94092EC80160960FB6F894DEBF95 +:1048E0000FBECDBFDF91CF911F910F91FF90EF9041 +:1048F000DF90CF90BF90AF909F908F907F906F9000 +:104900005F904F903F902F900C94F72DCF92DF92B5 +:10491000EF92FF920F931F93CF93DF936C017A0175 +:104920008B01C0E0D0E0CE15DF0589F0D8016D9194 +:104930008D01D601ED91FC910190F081E02DC60131 +:104940001995892B11F47E0102C02196ECCFC70185 +:10495000DF91CF911F910F91FF90EF90DF90CF905B +:104960000895089580E090E00895FC01538D448DF2 +:10497000252F30E0842F90E0821B930B541710F00A +:10498000CF96089501970895FC01918D828D981717 +:1049900061F0828DDF01A80FB11D5D968C91928D23 +:1049A0009F5F9F73928F90E008958FEF9FEF089520 +:1049B000FC01918D828D981731F0828DE80FF11DE9 +:1049C000858D90E008958FEF9FEF0895FC01918D04 +:1049D000228D892F90E0805C9F4F821B91098F73FD +:1049E0009927089588EA9BE0F1DF21E0892B09F4FB +:1049F00020E0822F0895FC01848DDF01A80FB11DF6 +:104A0000A35ABF4F2C91848D90E001968F73992704 +:104A1000848FA689B7892C93A089B1898C918064F1 +:104A20008C93938D848D981306C00288F389E02DB2 +:104A300080818F7D80830895EF92FF920F931F9363 +:104A4000CF93DF93EC0181E0888F9B8D8C8D981341 +:104A500005C0E889F989808185FD23C0F62E0B8D7C +:104A600010E00F5F1F4F0F731127E02E8C8DE8129F +:104A70000BC00FB607FCFACFE889F989808185FF62 +:104A8000F5CFCE01B8DFF2CF8B8DFE01E80FF11D1F +:104A9000E35AFF4FF0820B8FEA89FB8980818062A5 +:104AA00007C0EE89FF896083E889F9898081806485 +:104AB000808381E090E0DF91CF911F910F91FF9073 +:104AC000EF900895CF93DF93EC01888D8823C1F098 +:104AD000EA89FB89808185FD05C0A889B9898C9107 +:104AE00086FD0EC00FB607FCF5CF808185FFF2CFA3 +:104AF000A889B9898C9185FFEDCFCE017CDFE8CF05 +:104B0000DF91CF91089580E090E0892B19F06ADF62 +:104B1000811125C080E090E0892B41F080E090E099 +:104B2000892B21F00E94000081111CC080E090E0E0 +:104B3000892B41F080E090E0892B21F00E94000059 +:104B4000811113C080E090E0892BA1F080E090E01B +:104B5000892B81F00E94000081110AC008950E94F3 +:104B60000000D8CF0E940000E1CF0E940000EACFF1 +:104B70000C940000089590E0FC013197E231F105BA +:104B800008F04EC08827EC59FE4F8F4F0C947B4F96 +:104B9000809180008F7703C0809180008F7D80930B +:104BA0008000089580918000877FF9CF84B58F774A +:104BB00002C084B58F7D84BD08958091B0008F7749 +:104BC00003C08091B0008F7D8093B00008958091E4 +:104BD00090008F7707C0809190008F7D03C08091F7 +:104BE0009000877F8093900008958091A0008F7738 +:104BF00007C08091A0008F7D03C08091A000877FB7 +:104C00008093A0000895809120018F7707C0809144 +:104C100020018F7D03C080912001877F8093200138 +:104C200008953FB7F89480919E0B90919F0BA091AF +:104C3000A00BB091A10B26B5A89B05C02F3F19F082 +:104C40000196A11DB11D3FBFBA2FA92F982F88270C +:104C5000820F911DA11DB11DBC01CD0142E0660F67 +:104C6000771F881F991F4A95D1F708950E946A50AF +:104C70000C94D4470C94D4470F931F93CF93DF9396 +:104C8000EC0188819981009729F02A813B812617C0 +:104C9000370788F48B016F5F7F4F0E94834F009727 +:104CA00061F0998388831B830A832C813D81232BA8 +:104CB00011F4FC01108281E001C080E0DF91CF910E +:104CC0001F910F9108958F929F92AF92BF92CF92B2 +:104CD000DF92EF92FF920F931F930E94DF1662E024 +:104CE00070E00E94F535892BD1F40E94DF1621E097 +:104CF0002F931F921F921F921F92812C912CA12CF7 +:104D0000B12CC12CD12C760197018601B701A601E7 +:104D10000E94150B0F900F900F900F900F9080E056 +:104D200090E01F910F91FF90EF90DF90CF90BF9098 +:104D3000AF909F908F9008958F929F92AF92BF9265 +:104D4000CF92DF92EF92FF920F931F930E94DF1694 +:104D50001F9221E02F931F921F921F92812C912C62 +:104D6000A12CB12CC12CD12C760197018601B70161 +:104D7000A6010E94150B0F900F900F900F900F90AF +:104D800080E090E01F910F91FF90EF90DF90CF9027 +:104D9000BF90AF909F908F900895EF92FF920F93E6 +:104DA0001F93CF93DF93FC01248135816115710539 +:104DB00011F480E018C041155105A1F07B01EC0110 +:104DC0008A01020F131FB80157DF882391F328814E +:104DD00039818C819D81B701820F931F0E94805081 +:104DE0001D830C8381E0DF91CF911F910F91FF9084 +:104DF000EF900895EF92FF920F931F93CF93DF935D +:104E0000CDB7DEB764970FB6F894DEBF0FBECDBF47 +:104E10007C01CB01BA018E010F5F1F4F22E044E0FD +:104E20000E942047BC01FC0101900020E9F7319766 +:104E3000AF01481B590BC701B0DF64960FB6F89459 +:104E4000DEBF0FBECDBFDF91CF911F910F91FF90BD +:104E5000EF9008956115710549F0FB010190002064 +:104E6000E9F73197AF01461B570B97CF80E00895C4 +:104E7000FB0144815581608171818FCFEF92FF9258 +:104E80000F931F93CF93DF93EC017B018A01BA014B +:104E9000F3DE2881398181110DC02115310519F00A +:104EA000C9010E94D447198218821D821C821B826C +:104EB0001A8206C01D830C83B701C9010E9480506D +:104EC000CE01DF91CF911F910F91FF90EF90089548 +:104ED000FC011182108213821282158214826115E4 +:104EE000710549F0FB0101900020E9F73197AF010E +:104EF000461B570BC3CF08951F920F920FB60F9208 +:104F000011240BB60F922F933F934F935F936F93A0 +:104F10007F938F939F93AF93BF93EF93FF9388EA11 +:104F20009BE069DDFF91EF91BF91AF919F918F91D0 +:104F30007F916F915F914F913F912F910F900BBE99 +:104F40000F900FBE0F901F9018951F920F920FB6E3 +:104F50000F9211240BB60F922F938F939F93EF9381 +:104F6000FF93E091B80BF091B90B8081E091BE0BFB +:104F7000F091BF0B82FD12C090818091C10B8F5FB9 +:104F80008F732091C20B821751F0E091C10BF0E0BA +:104F9000E855F44F958F8093C10B01C08081FF913C +:104FA000EF919F918F912F910F900BBE0F900FBE9D +:104FB0000F901F901895CF93DF93282F30E0F901C1 +:104FC000EF5DFB4F8491F901E550FB4FD491F9015E +:104FD000EB54FB4FC491CC2389F08111CCDDEC2F35 +:104FE000F0E0EE0FFF1FE556FB4FA591B491EC9159 +:104FF000ED2381E090E021F480E002C080E090E0C9 +:10500000DF91CF9108951F93CF93DF93282F30E046 +:10501000F901EF5DFB4F8491F901E550FB4FD4910D +:10502000F901EB54FB4FC491CC23C1F0162F811131 +:10503000A2DDEC2FF0E0EE0FFF1FEF57FB4FA59125 +:10504000B4918FB7F894111105C09C91ED2FE095A4 +:10505000E92302C0EC91ED2BEC938FBFDF91CF9150 +:105060001F910895CF92DF92EF92FF920F931F93BB +:10507000CF93DF936C018B017A01EC01CB56D44FB7 +:10508000888187FF04C0FB011182108224C08CE05C +:105090008C9D90018D9D300D11248881A901480FB0 +:1050A000511D87FD5A958091DD0C90E048175907F6 +:1050B00094F48881A901480F511D87FD5A95CA01B2 +:1050C000FA01EE0FFF1F8E0F9F1FFC01E35BF34FF2 +:1050D000808186FD19C088818F5F88838CE08C9DDC +:1050E00090018D9D300D11248881A901480F511D1B +:1050F00087FD5A958091DD0C90E048175907B4F46C +:1051000088818C303CF112C08881280F311D87FDC9 +:105110003A95F901EE0FFF1F2E0F3F1FF901E35BD8 +:10512000F34F808160E08F736EDFD5CFF80180810F +:105130009181049680349C4918F480E49CE904C071 +:10514000F801808191810496F701918380838FEF2C +:10515000888344C0F801408151818881B901680F7A +:10516000711D87FD7A95CB01FB01EE0FFF1F8E0F9E +:105170009F1FFC01E35BF34F81819281840F951F98 +:10518000F701918380838881A901480F511D87FD14 +:105190005A95CA01FA01EE0FFF1F8E0F9F1FFC01E7 +:1051A000E35BF34F808186FF19C08881280F311D92 +:1051B00087FD3A95F901EE0FFF1F2E0F3F1FF901F2 +:1051C000E35BF34F808161E08F73DF91CF911F919B +:1051D0000F91FF90EF90DF90CF9015CFDF91CF919F +:1051E0001F910F91FF90EF90DF90CF900895CF9394 +:1051F000DF9390E0FC01E550FB4F2491FC01EB5460 +:10520000FB4F8491882361F190E0880F991FFC0186 +:10521000E959FB4FC591D491FC01EF57FB4FA59184 +:10522000B491611109C09FB7F894888120958223B9 +:105230008883EC912E230BC0623061F49FB7F89401 +:105240003881822F809583238883EC912E2B2C9399 +:105250009FBF06C08FB7F894E8812E2B28838FBF9D +:10526000DF91CF9108958230910538F0880F991F12 +:10527000880F991F05970197F1F708958F929F92D4 +:10528000AF92BF92CF92DF92EF92FF926B017C01BF +:10529000C8DC4B015C01C114D104E104F104E9F064 +:1052A000C0DCDC01CB0188199909AA09BB09883E39 +:1052B0009340A105B10578F321E0C21AD108E108B5 +:1052C000F10888EE880E83E0981EA11CB11CC11461 +:1052D000D104E104F10421F7DECFFF90EF90DF90DD +:1052E000CF90BF90AF909F908F9008952FB7F89474 +:1052F00060919A0B70919B0B80919C0B90919D0BF0 +:105300002FBF08951F920F920FB60F9211242F9363 +:105310003F938F939F93AF93BF9380919A0B9091FC +:105320009B0BA0919C0BB0919D0B3091990B23E0AE +:10533000230F2D3720F40196A11DB11D05C026E8CD +:10534000230F0296A11DB11D2093990B80939A0BF8 +:1053500090939B0BA0939C0BB0939D0B80919E0B05 +:1053600090919F0BA091A00BB091A10B0196A11D54 +:10537000B11D80939E0B90939F0BA093A00BB093B5 +:10538000A10BBF91AF919F918F913F912F910F9062 +:105390000FBE0F901F901895CF92DF92EF92FF9261 +:1053A000CF93DF93EC01603282E078070CF03DC0D0 +:1053B00077FD06C0653B71052CF064EB70E002C020 +:1053C00060E070E0898128E830E06901C81AD108FE +:1053D00087FDD394CC0CDD1CCC0CDD1C0D2C000CFB +:1053E000EE08FF088A8128E532E0281B310987FD95 +:1053F0003395220F331F220F331FC901330FAA0B1E +:10540000BB0B9C01AD012C193D094E095F09DB0165 +:105410000E943E4E24EB30E040E050E00E94184EE7 +:10542000C20ED31EE41EF51EB6018881803380F5BE +:10543000998148E850E0491B510997FD5395440F65 +:10544000551F440F551F6417750784F09A8128E58E +:1054500032E0291B310997FD3395220F331F220FAC +:10546000331FAB01261737070CF4A901425051092D +:10547000440F551F2FB7F89490E0FC01EE0FFF1F6B +:105480008E0F9F1FFC01E35BF34F528341832FBFBD +:10549000DF91CF91FF90EF90DF90CF9008951F9212 +:1054A0000F920FB60F9211240BB60F922F933F93CA +:1054B0004F935F936F937F938F939F93AF93BF931C +:1054C000EF93FF9348E251E064E271E080E090E006 +:1054D000C9DDFF91EF91BF91AF919F918F917F9126 +:1054E0006F915F914F913F912F910F900BBE0F9055 +:1054F0000FBE0F901F9018951F920F920FB60F922C +:1055000011240BB60F922F933F934F935F936F939A +:105510007F938F939F93AF93BF93EF93FF9348EA4B +:1055200050E064EA70E083E090E09CDDFF91EF9151 +:10553000BF91AF919F918F917F916F915F914F91AB +:105540003F912F910F900BBE0F900FBE0F901F90A9 +:1055500018951F920F920FB60F9211240BB60F924F +:105560002F933F934F935F936F937F938F939F936B +:10557000AF93BF93EF93FF9348E950E064E970E085 +:1055800082E090E06FDDFF91EF91BF91AF919F912D +:105590008F917F916F915F914F913F912F910F90DC +:1055A0000BBE0F900FBE0F901F9018951F920F9279 +:1055B0000FB60F9211240BB60F922F933F934F9378 +:1055C0005F936F937F938F939F93AF93BF93EF936B +:1055D000FF9348E850E064E870E081E090E042DD4D +:1055E000FF91EF91BF91AF919F918F917F916F91BB +:1055F0005F914F913F912F910F900BBE0F900FBE77 +:105600000F901F90189508950F931F93CF93DF93DA +:10561000FC012081318121153105D1F1EC01822F6E +:10562000CADC21E0892B09F420E02B876A85261744 +:1056300029F01E821F82188619860BC08E819F81D9 +:10564000A885B9850196A11DB11D8E839F83A8876A +:10565000B9870E811F81288539858A819B81AC811C +:10566000BD81081719072A073B0794F081E06827D6 +:105670008881C9DC0990D881C02D0E94A73440E000 +:1056800050E0BE01DF91CF911F910F910C949609CC +:10569000DF91CF911F910F910895CF92DF92EF92FA +:1056A000FF920F931F93CF93DF937C016B018A01CD +:1056B000E9010E941509F601EE0FFF1FEE0FFF1F13 +:1056C000EA5AF84F80819181F701918380830E948B +:1056D0001509000F111F000F111FF801EA5AF84FAA +:1056E00081E04081518162817381413051056105C2 +:1056F000710509F080E0F70182870E941509CC0F3F +:10570000DD1FCC0FDD1FCA5AD84F88819981AA812D +:10571000BB81F70182839383A483B58316821782AA +:1057200010861186DF91CF911F910F91FF90EF901E +:10573000DF90CF90089508952F923F924F925F92FD +:105740006F927F928F929F92AF92BF92CF92DF9291 +:10575000EF92FF920F931F93CF93DF9300D000D06F +:10576000CDB7DEB79E838D834B015A013A832983DF +:105770001801FC82EB82FA014080518062807380C4 +:1057800020E030E0A901C301B2010E94734F181656 +:1057900074F4F6012081318142815381C301B20149 +:1057A0000E94754EF5016083718382839383ED813E +:1057B000FE81E05AFF4F8081F401008D118DC08879 +:1057C000D188E288F388F101408051806280738043 +:1057D000D801A7019601882341F00E943E4E64152E +:1057E00075058605970544F023C00E943E4E461677 +:1057F000570668067906E4F4F5014080518062801E +:10580000738020E030E04AEF56E4C301B2010E9409 +:10581000E64C87FF0DC020E030E040E85FE3C301C5 +:10582000B2010E94764EF501608371838283938377 +:10583000D801A70196010E943E4EF1016083718359 +:10584000828393830D811E81025C1F4FF80180814A +:105850009181A281B381E981FA8180839183A283BE +:10586000B383EB81FC8180819181892B41F0C4015C +:105870000E94B535F80160837183828393832696F5 +:105880000FB6F894DEBF0FBECDBFDF91CF911F9151 +:105890000F91FF90EF90DF90CF90BF90AF909F90CF +:1058A0008F907F906F905F904F903F902F900895D2 +:1058B0000E948B180C94D21A0E948B180C94A71774 +:1058C000CF93DF93EC01FC01EE53FD4F1082E858BB +:1058D000F1098081811103C0CE01409688D1FE017B +:1058E000E55CFD4F8081811104C0CE0186579F4F3A +:1058F0007ED1FE01E45CFD4F8081811104C0CE01A8 +:105900008C5F9E4F74D164E670E080E090E0DF91A0 +:10591000CF91B4CC8FEF9FEF0895EBE0F1E0808161 +:10592000877F80830895EBE0F1E080818860808349 +:1059300008958E9808958E9A089514980895149A4B +:10594000089588980895889A08950C94D4470C94E3 +:10595000D4470C94D4470C94D4470C94D4470F9359 +:105960001F93CF93DF93FB01C2A1D3A1068D178DA7 +:105970008091A20B9091A30B892B41F481E090E0E0 +:105980000E943F479093A30B8093A20B0430110514 +:1059900039F00530110541F4BE0181EE9CE003C0F1 +:1059A000BE018EED9CE0F8DC80E090E0DF91CF91CD +:1059B0001F910F9108958F929F92AF92BF92CF92B5 +:1059C000DF92EF92FF920F931F930E94DF161F92B8 +:1059D0001F9221E02F931F921F92812C912CA12CBA +:1059E000B12CC12CD12C760197018601B701A601FB +:1059F0000E94150B0F900F900F900F900F9080E06A +:105A000090E01F910F91FF90EF90DF90CF90BF90AB +:105A1000AF909F908F9008950E948B180E94E81776 +:105A200080E090E0089560E0FC018385ECCA60E0CE +:105A3000FC018581E8CA61E0FC018385E4CA61E07C +:105A4000FC018581E0CACF93DF93FB01C68DD78D22 +:105A50000E941509BE010E94D20880E090E0DF910B +:105A6000CF910895CF93DF938091A40B9091A50BD4 +:105A7000892BF1F48CE390E00E943F47EC01FC019C +:105A8000CC96118210823C96E817F907D1F719825B +:105A900018821D861C86198E188E1DA21CA219AA9A +:105AA00018AACE010E94191BD093A50BC093A40B7A +:105AB0008091A40B9091A50BDF91CF91089508954B +:105AC0000895089508951F920F920FB60F92112412 +:105AD0000BB60F922F933F934F935F936F937F93E8 +:105AE0008F939F93AF93BF93EF93FF93E091420700 +:105AF000F09143071995FF91EF91BF91AF919F915D +:105B00008F917F916F915F914F913F912F910F9066 +:105B10000BBE0F900FBE0F901F901895CF93DF9381 +:105B2000EC01FC01E759FF4F1082379781E0808339 +:105B300060E08D8168DA8F859889892B29F060E093 +:105B40008B85DF91CF915FCADF91CF910895CF937D +:105B5000DF93EC018B892FDA2E8930E082179307CF +:105B600011F48F8901C080E0DF91CF910895CF9328 +:105B7000DF93EC0189891FDA2E8930E082179307C1 +:105B800011F48F8901C080E0DF91CF910895CF9308 +:105B9000DF93EC018DA5882311F061E001C060E086 +:105BA0008F8131DA8EA5882329F08FA5882311F003 +:105BB00061E001C060E08D85DF91CF9124CACF9371 +:105BC000DF93EC018DA5882311F060E001C061E056 +:105BD0008F8119DA8EA5882329F08FA5882311F0EB +:105BE00060E001C061E08D85DF91CF910CCACF9359 +:105BF000DF93EC0161E0898506DA8EA5882319F030 +:105C000061E08F8500DAC959DF4F1882DF91CF91AB +:105C10000895CF93DF93EC0160E08985F4D98EA5D8 +:105C2000882319F060E08F85EED9C959DF4F81E0F4 +:105C30008883DF91CF910895CF92DF92EF92FF9208 +:105C40000F931F93CF93DF93FC0142AF53AF64AF29 +:105C500075AFDC01DE964D935D936D937C93139746 +:105C600014960D931D932D933C931397EC01CA5BEF +:105C7000DF4FE88284A9882389F084A5811109C0B7 +:105C800037FF0CC01D921D921D921C92139781E04C +:105C900006C01016110612061306A4F380E045A9EB +:105CA00056A967A970AD14161506160617063CF519 +:105CB00091AD992321F10D911D912D913C91139757 +:105CC0006801790137FF07C0CC24DD247601C01AB2 +:105CD000D10AE20AF30A4C155D056E057F057CF4D6 +:105CE00037FF07C070956095509541955F4F6F4F96 +:105CF0007F4F4D935D936D937C93139781E0DF010C +:105D0000A15BBF4F1D921D921D921C921397E15AE9 +:105D1000FF4F91E09083DF91CF911F910F91FF9002 +:105D2000EF90DF90CF9008950F931F93CF93DF9361 +:105D30008C01D62FFC018589811109C0C80117DFAC +:105D4000C82FC80104DFD11108C08C2F06C0C801BC +:105D5000FEDEC82FC8010BDFF6CFDF91CF911F9178 +:105D60000F910895CF93DF93EC01FC01E759FF4FAA +:105D700081E0808339978081B297882341F08081C8 +:105D80009181A281B3810196A11DB11D07C08081BF +:105D90009181A281B3810197A109B1098083918387 +:105DA000A283B383FE01E459FF4F20813181DE01DC +:105DB000A659BF4FC9019595879520FD03C0ED9168 +:105DC000FC910DC0FE01E80FF91F0190F081E02D5C +:105DD0002D913C91E20FF31F0190F081E02D8C0F8B +:105DE0009D1F19958F859889892B11F1FE01E05926 +:105DF000FF4F20813181DE01A259BF4FC901959526 +:105E0000879520FD03C0ED91FC910DC0FE01E80FC8 +:105E1000F91F0190F081E02D2D913C91E20FF31FCD +:105E20000190F081E02D8C0F9D1FDF91CF9119948F +:105E3000DF91CF9108958F929F92AF92BF92CF92B0 +:105E4000DF92EF92FF920F931F93CF93DF93EC01BA +:105E5000FC01E15BFF4F60817181828193810E942F +:105E6000EA4C6B017C0168A979A98AA99BA90E94C7 +:105E7000EC4C9B01AC0160E074E284E799E40E9481 +:105E8000DA4E4B015C01FE01E55AFF4F60817181E2 +:105E9000828193810E94EA4C9B01AC01C501B4014F +:105EA0000E94DA4E4B015C018E010D5A1F4F20E01B +:105EB00030E040E05FE30E944B4D9B01AC01C70125 +:105EC000B6010E94764E0E94474FF80160837183AD +:105ED00082839383C95ADF4FA5019401C701B6019C +:105EE0000E94764E0E94474F688379838A839B8302 +:105EF000DF91CF911F910F91FF90EF90DF90CF90A6 +:105F0000BF90AF909F908F9008950F931F93CF9362 +:105F1000DF93FC01E759FF4F20812223B9F07A97E4 +:105F200000811181228133813896408151816281C3 +:105F30007381041715072607370710F1EC01EEDD12 +:105F4000CE01DF91CF911F910F9175CFFC01E15AE6 +:105F5000FF4F20812223A1F07097008111812281BF +:105F60003381349640815181628173810417150712 +:105F70002607370728F0DF91CF911F910F91F2CEBE +:105F8000DF91CF911F910F9108952F923F924F92E1 +:105F90005F926F927F928F929F92AF92BF92CF92B9 +:105FA000DF92EF92FF920F931F93CF93DF93CDB7C2 +:105FB000DEB762970FB6F894DEBF0FBECDBF8C017F +:105FC0007C0126E4E20EF11CD7018C919801205A45 +:105FD0003F4FF801EF59FF4F6F01A801425C5F4F3F +:105FE0004A0114971D01882341F0F80184A5D901C5 +:105FF0008C9381E0F60180832FC0DA014D915D9191 +:106000006D917C91F10180819181A281B381BB244A +:10601000B394481759076A077B070CF0B12CF901B4 +:10602000B08277FF07C070956095509541955F4F9E +:106030006F4F7F4FB7FF07C0B095A09590958195A2 +:106040009F4FAF4FBF4F21E0481759076A077B07A3 +:106050000CF420E0D6012C93F4014081518162813F +:106060007381411551056105710559F4F801848D5D +:10607000958DA68DB78DE55AFF4F80839183A283BE +:10608000B383F10180819181A281B381F80142AC97 +:1060900053AC64AC75AC9801215A3F4F5901481676 +:1060A00059066A067B0634F4481759076A077B07C6 +:1060B0007CF00AC084159505A605B7052CF4841755 +:1060C0009507A607B70724F0D7018C918823D9F04C +:1060D000F50180818823B9F0D7018C91811105C029 +:1060E000F701808181110FC006C060E0C8011CDE8D +:1060F0008111F6CF17C0D6016C9181E06827C801E5 +:1061000013DE882379F0D5011C9260E0C8010CDE13 +:10611000882309F4C6C1F801FE961082118212820A +:106120001382BFC1D80194962D913D914D915C9100 +:10613000979729833A834B835C8358962D913D91A1 +:106140004D915C915B972D833E834F8358875C967E +:106150002D913D914D915C915F9729873A874B87AF +:106160005C87F10180819181A281B381F801FE9663 +:10617000C080D180E280F380F80142AD53AD64ADC0 +:1061800075ADED59FF4F1082319610823801F5E65A +:106190006F0E711CF301108298012A593F4FF901CB +:1061A0001082329610824C015D01841A950AA60A6B +:1061B000B70AB7FE08C0B094A09490948094811C54 +:1061C000911CA11CB11C481759076A077B072CF4C6 +:1061D000C41AD50AE60AF70A04C0C81AD90AEA0A94 +:1061E000FB0AD501C401B595A795979587958D872D +:1061F0009E87AF87B88BD801A859BF4F1D01F7FC08 +:1062000005C08C149D04AE04BF044CF4F80100A03A +:10621000F1A1E02DFA8BE98B81E0D9011BC02D851E +:106220003E854F8558892C153D054E055F0508F4C0 +:1062300054C089819A81AB81BC818C159D05AE05C6 +:10624000BF0564F42D813E812F5F3F4F3A8B298B30 +:1062500081E0D3018C93F10180839EC0C701B60118 +:106260000E94EC4C2B013C0169817A818B819C81DD +:106270000E94EC4C9B01AC01C301B2010E94DA4EBA +:106280002B013C016D817E818F81988529853A851E +:106290004B855C85621B730B840B950B0E94EC4C49 +:1062A0009B01AC01C301B2010E944B4D2B013C018B +:1062B00069857A858B859C850E94EC4C9B01AC019D +:1062C000C301B2010E94764E0E94424F7A8B698BC5 +:1062D00081E0F801ED59FF4F5CC0D501C40129816F +:1062E0003A814B815C81821B930BA40BB50BC816C2 +:1062F000D906EA06FB065CF42D813E812E5F3F4FF6 +:106300003A8B298B81E0F801EB59FF4F42C0C50160 +:10631000B4016C197D098E099F090E94EC4C2B0178 +:106320003C0169817A818B819C810E94EC4C9B01AC +:10633000AC01C301B2010E94DA4E2B013C016D8118 +:106340007E818F81988529853A854B855C85621B86 +:10635000730B840B950B0E94EC4C9B01AC01C301A9 +:10636000B2010E944B4D2B013C0169857A858B85DA +:106370009C850E94EC4C9B01AC01C301B2010E94C0 +:10638000764E0E94424F7A8B698B81E0F801EC597E +:10639000FF4F8083D1018C93F80184818823B1F071 +:1063A0000E947629D80112964D905C901397052C87 +:1063B000000C66087708DC01CB0184199509A60951 +:1063C000B709893E9340A105B10568F4F801E55A83 +:1063D000FF4F29893A89C901A0E0B0E08083918309 +:1063E000A283B38392CE0E947629D80113967C9320 +:1063F0006E93129784E294E00E94073B86E196E058 +:106400000E94073B60E070E0CB010E94533B8CE1AF +:1064100096E00E94073BC701B6010E94533B82E20F +:1064200096E00E94073BC501B4010E94533B88E2FD +:1064300096E00E94073B4AE06D857E858F859889AE +:106440000E94083B8FE296E00E94073B69817A81B7 +:106450008B819C810E94533B85E396E00E94073B21 +:1064600069857A858B859C850E94533B8BE396E0FA +:106470000E94073B6D817E818F8198850E94533BEE +:1064800081E496E00E94073B8EE496E00E94073B81 +:1064900089899A890E947A3B8CE993E00E94073BA4 +:1064A00095CF62960FB6F894DEBF0FBECDBFDF91D9 +:1064B000CF911F910F91FF90EF90DF90CF90BF9001 +:1064C000AF909F908F907F906F905F904F903F9094 +:1064D0002F9008950F931F93FC01EA5BFF4F2081DB +:1064E000211110C0389700811181228133813496A7 +:1064F0004081518162817381041715072607370790 +:1065000044F404C0FC0124A5222319F01F910F912B +:1065100056CB1F910F913BCBFC0113821282148248 +:1065200016821582108617821286118614861386AB +:1065300016861586108A1786128A118A148A138A7B +:10654000DC01A15ABF4F1C9212AE13AE14AE15AEB1 +:1065500091971D921D921D921C92139714961D9255 +:106560001D921D921C92139714961C925A961C927F +:1065700011961C9212961C9211961C9211961C92C6 +:1065800011961C9211961C9211961C9211961C92B7 +:1065900011968FE19DE211969C938E93129611961F +:1065A0001C921E9212968BE19DE211969C938E9303 +:1065B000129611961C921E92129687E19DE21196F8 +:1065C0009C938E93129611961C921E92129683E1C2 +:1065D0009DE28D939C93E858FF4F1182108208959D +:1065E00008956E3471050CF050C06B3471050CF0D9 +:1065F0008FC06C32710554F5693271050CF088C09A +:106600006831710594F46F3071050CF081C066300B +:10661000710544F4623071050CF07AC0672B09F003 +:1066200075C076C06B5071096EC0623271053CF462 +:106630006F3171050CF06CC06951710964C064520E +:1066400071096230710508F061C062C06A3371057A +:106650007CF4673371050CF05BC06D3271050CF48E +:1066600055C0603371050CF453C0635371094BC0BE +:10667000643471053CF4613471050CF049C06D530C +:10668000710941C0675471093EC066387105F4F460 +:1066900063387105ECF56237710564F46F36710586 +:1066A000BCF56536710594F1683671058CF1695653 +:1066B000710929C06C37710534F46937710544F5E7 +:1066C0006357710920C06D5771091DC0603D710588 +:1066D0007CF46D3C7105E4F46439710534F461397E +:1066E0007105B4F46D5871090EC0695C71090BC075 +:1066F0006A3D710534F4673D710554F4635D7109B9 +:1067000002C06D5D71096330710510F080E008957D +:1067100081E008950C94D4470C94D4470C94D4474A +:106720000C94D4470C94D4470C94D4470C94D4477D +:106730000C94D4470C94D4470C94D4470C94D4476D +:106740008F929F92AF92BF92CF92DF92EF92FF9281 +:106750000F931F930E94DF1660E070E046D2892BF2 +:10676000D1F40E94DF161F921F9221E02F931F92F7 +:106770001F92812C912CA12CB12CC12CD12C7601F3 +:1067800097018601B701A6010E94150B0F900F908B +:106790000F900F900F9080E090E01F910F91FF906D +:1067A000EF90DF90CF90BF90AF909F908F90089523 +:1067B0008F929F92AF92BF92CF92DF92EF92FF9211 +:1067C0000F931F930E94DF1661E070E00ED2892BB9 +:1067D000D1F40E94DF161F9221E02F931F921F9287 +:1067E0001F92812C912CA12CB12CC12CD12C760183 +:1067F00097018601B701A6010E94150B0F900F901B +:106800000F900F900F9080E090E01F910F91FF90FC +:10681000EF90DF90CF90BF90AF909F908F900895B2 +:10682000EF92FF920F931F93CF93DF9300D01F92AD +:10683000CDB7DEB7FB0122A133A144A155A1068D3E +:10684000178D29833A834B835C830E9415097C0151 +:10685000FC018281938129813A814B815C818F3057 +:10686000F7E29F072CF40196F7019383828303C01C +:10687000F70113821282B801C70129833A834B833F +:106880005C83AFDE29813A814B815C818823A1F052 +:10689000F801EE0FFF1FEE0FFF1FEA5AF84F20839B +:1068A000318342835383B801C7010E948308B80132 +:1068B000C7010E94D20803C085ED94E0A8D6D2D8C3 +:1068C0000E94191B80E090E00F900F900F900F90A6 +:1068D000DF91CF911F910F91FF90EF9008950F934B +:1068E0001F93CF93DF930E9415098C01C0E0D0E085 +:1068F000BE01C80176DE882321F0BE01C8010E94D6 +:10690000D2082196C13ED10599F787E496E07FD65B +:106910000E948B180E94951780E090E0DF91CF9144 +:106920001F910F9108958BE496E071D685E593E071 +:106930006ED60E948B180E94951780E090E0089513 +:106940000E948B18FC01148680E090E008958091ED +:10695000A60B9091A70B892BA1F480E790E00E94F1 +:106960003F47FC01F9969C0123593F4FDF01D8971F +:106970001C921192E217F307C9F79093A70B80932B +:10698000A60B8091A60B9091A70B08956F927F9212 +:106990008F929F92AF92BF92CF92DF92EF92FF922F +:1069A0000F931F93CF93DF93FB01E2A8F3A886A474 +:1069B00097A4A0A8B1A8C6A0D7A062A073A0068D76 +:1069C000178DC5DFEC019701A301B8010E942D0AC4 +:1069D000C501B4010E943E299701A601B801CE016C +:1069E0000E942D0A80E090E0DF91CF911F910F91DE +:1069F000FF90EF90DF90CF90BF90AF909F908F90DF +:106A00007F906F9008950F931F93CF93DF93FB01B7 +:106A100002A913A9C68DD78D9ADFA801BE010E94D5 +:106A2000960980E090E0DF91CF911F910F9108953A +:106A30001F93CF93DF931F92CDB7DEB7FB0162A9FF +:106A4000168D698384DF6981812F0E94F72880E099 +:106A500090E00F90DF91CF911F910895EF92FF92F8 +:106A60000F931F93CF93DF93FB01E2A8F3A802A13A +:106A700013A1C68DD78D6BDF9701A801BE010E94BF +:106A80002D0A80E090E0DF91CF911F910F91FF9050 +:106A9000EF90089508950895089508950895CF9367 +:106AA000DF93EC0188810E94DB2721E0892B09F428 +:106AB00020E02C878C810E94DB2721E0892B09F4C0 +:106AC00020E02E878E899F890197D1F48A810E94C8 +:106AD000DB2721E0892B09F420E02D878E810E949D +:106AE000DB2721E0892B09F420E02F879C858D8509 +:106AF000981749F08E85821731F09A878B8703C0EB +:106B00008C858A872B87DF91CF9108950F93FC01A5 +:106B10009285908783858187A689B789119721F40B +:106B2000621721F0401711F062874387838588231D +:106B3000D1F0828591110AC08823A9F080899189BA +:106B4000A289B3890197A109B10909C081110BC0BC +:106B500080899189A289B3890196A11DB11D808B7D +:106B6000918BA28BB38B0F910895CF93DF93FC0190 +:106B7000A489B589C08DD18D2089318942895389F5 +:106B8000A03187E2B80759F01A161B0644F40E9498 +:106B90003E4E20E137E240E050E00E94184EDE0118 +:106BA0000E943E4EDF91CF910895FC0181E090E07C +:106BB000938F828F1182108215821482108A118A1B +:106BC000128A138A178A168A80E197E2958B848B42 +:106BD00012861086148615861686178608950895DF +:106BE000089508950895089508952F923F924F9221 +:106BF0005F926F927F928F929F92AF92BF92CF924D +:106C0000DF92EF92FF920F931F93CF93DF93CDB755 +:106C1000DEB7A3970FB6F894DEBF0FBECDBF9BA320 +:106C20008AA31B010E94291D8AA19BA10E944E1BC1 +:106C30008AA19BA10E94582C8AA19BA10E945C2C36 +:106C400021E022163104C9F132E02316310409F49F +:106C500066C02114310409F095C0AAA0BBA040E190 +:106C6000A40EB11C8AA19BA182589E4F9E838D8346 +:106C7000EAA1FBA1EA5BFD4F90819D87AAA1BBA180 +:106C8000A959BD4FB887AF83EAA1FBA1EF56FD4FCD +:106C9000F98BE88B2AA13BA12D553D4F3D8B2C8BC9 +:106CA0004AA15BA14D515E4F5C874B878DE890E018 +:106CB0009B8B8A8BA5E1B0E062C0AAA0BBA0BAE81A +:106CC000AB0EB11CEAA1FBA1E656FE4FFE83ED839D +:106CD000EAA1FBA1E95BFD4F20812D874AA15BA1C1 +:106CE00045595D4F58874F838AA19BA18D569D4F73 +:106CF000998B888BAAA1BBA1AC55BD4FBD8BAC8B2A +:106D0000EAA1FBA1EB51FE4FFC87EB872EE830E0B8 +:106D10003B8B2A8B46E150E05C834B8336C0AAA0B4 +:106D2000BBA05CEFA51A5EEFB50A8AA19BA18A54AD +:106D30009E4F9E838D83EAA1FBA1E85BFD4F90816E +:106D40009D87AAA1BBA1A159BD4FB887AF83EAA176 +:106D5000FBA1EB56FD4FF98BE88B2AA13BA12B55EC +:106D60003D4F3D8B2C8B4AA15BA149515E4F5C8707 +:106D70004B878FE890E09B8B8A8BA7E1B0E0BC83C8 +:106D8000AB8303C080E596E00CC0C5010E94B72D1F +:106D9000811105C0C5010E94A72D882369F081EEED +:106DA00096E035D40E948B1881E090E090934507DF +:106DB0008093440790E0C8C384E294E028D48FE72E +:106DC00096E025D4D5018C9163D487E197E01FD458 +:106DD0008CE993E01CD481E090E0EB85FC85918305 +:106DE000808341E050E0B5018AA19BA10E94E31895 +:106DF000C5010E94092ED5019C968C918501005AEF +:106E00001F4F882339F0C5010E94DF2D81E0F80172 +:106E1000808305C0C5010E94C72DD8011C928D81B9 +:106E20009E81A3DEF501FE96608371838283938346 +:106E3000EF81F8851082118212821382EAA1FBA1F0 +:106E4000E959FD4F1082118212821382EAA1FBA13F +:106E5000E559FD4F1082118212821382EAA1FBA133 +:106E6000E159FD4F108211821282138286E090E078 +:106E7000AB85BC858D939C9346E050E0B5018AA11B +:106E80009BA10E94E31841E050E0B5018AA19BA1BB +:106E90000E94C818412C512C320143948AA19BA115 +:106EA000820D931DFC01ED55FD4FFF87EE874101DB +:106EB000880C991C880C991CC40189569D4F2AA1E5 +:106EC0003BA1280F391F3F8B2E8BC101875A9E4F44 +:106ED000880F991F4AA15BA1480F591F5B8F4A8FEA +:106EE000C4018B579D4FAAA1BBA1A80FB91FBD8F8D +:106EF000AC8FF401E758FD4FFF8FEE8F8AA19BA165 +:106F0000880D991D9C01205F3D4F3A872987AE85EA +:106F1000BF858C918823B1F0A40149595D4FEAA146 +:106F2000FBA14E0F5F1FCE88DF88EA8CFB8C0C8D97 +:106F30001D8D2E8D3F8D2E0F3F1F6D817E81C501D2 +:106F40000E949C2B88EA9BE00E94E62418161906F2 +:106F500024F01A82198210E01DC088EA9BE00E948A +:106F6000C4248F7D85349105A1F782E095E04FD34D +:106F70000E948B1821E0DC011C962C9382E693E0A2 +:106F800046D30E948B180E949517E1E0F0E0FA8347 +:106F9000E98311E0C5010E94B72D8111C4C2C5016A +:106FA0000E94A72D8111BFC21111BDC2A889B98944 +:106FB0006D917C91072E000C880B990B0E94EC4C74 +:106FC0009B01AC01EF81F8856081718182819381A1 +:106FD0000E94E64C87FFA7C2C5010E94B22EE98538 +:106FE000FA85208131814281538160E573EC80E034 +:106FF00090E00E94184EC9010E943329A985BA85E4 +:107000002D913D914D915C91A3E0B0E00E94344EF2 +:107010009B01AC01C301B2010E94184E672B682B83 +:10702000692B39F48EE593E0F2D20E948B180E940E +:107030009517C5010E948E2DA985BA852D913D9188 +:107040004D915C9160E573EC80E090E00E94184EF9 +:10705000C9010E943329BFEF4B1A5B0A6B0A7B0AF6 +:10706000E981FA81EF2B09F452CF21E030E03A8335 +:10707000298342E050E0B5018AA19BA10E94C81873 +:1070800084E294E0C4D28FE796E0C1D2D5018C911E +:10709000FFD286E896E0BBD28CE993E0B8D2E981D2 +:1070A000FA81EF2BD1F489E996E0B1D28EE496E033 +:1070B000AED281ED94E0ABD28B819C811BD38EE468 +:1070C00096E0A5D283ED94E0A2D2FD858F2F90E0CB +:1070D00011D30E948B180E9495178AA19BA10E9430 +:1070E000582C8AA19BA10E945C2C84E294E08FD250 +:1070F0008FE796E08CD2D5018C91CAD28DE996E0CB +:1071000086D28CE993E083D2EF81F88510821182D8 +:1071100012821382D5019C968C918501005A1F4FD3 +:10712000882331F0C5010E94C72DF801108206C0E6 +:10713000C5010E94DF2D81E0D8018C938D819E8155 +:1071400014DDF501FE966083718382839383EAA147 +:10715000FBA1E959FD4F1082118212821382EAA12C +:10716000FBA1E559FD4F1082118212821382EAA120 +:10717000FBA1E159FD4F10821182128213828D8191 +:107180009E81F3DC6E8B7F8B888F998F412C512CE5 +:10719000320143948AA19BA1820D931DFC01ED5500 +:1071A000FD4FFB8FEA8F9101220F331F220F331FF8 +:1071B0003C832B83C90189569D4F4AA15BA1480F8F +:1071C000591F5D8F4C8FC101875A9E4F880F991FA1 +:1071D000AAA1BBA1A80FB91FBF8FAE8FC9018B5742 +:1071E0009D4FEAA1FBA1E80FF91FF9A3E8A3C9018C +:1071F0002AA13BA1820F931FAC01405F5D4F5F87C7 +:107200004E879201215031093A87298749014981E6 +:107210005A81452B09F0C7C0AA8DBB8D8C9188235C +:10722000C9F02B813C8127583D4FEAA1FBA12E0FCD +:107230003F1F4B815C8149595D4F4E0F5F1FCC8CC6 +:10724000DD8CEE8CFF8C08A119A16D817E81C501BA +:107250000E949C2B88EA9BE00E94E62418161906DF +:1072600014F010E01DC088EA9BE00E94C4248F7DCA +:1072700085349105B1F782E095E0C9D10E948B1861 +:1072800021E0DC011C962C9382E693E0C0D10E94A1 +:107290008B180E949517E1E0F0E0FA83E98311E092 +:1072A00029853A852A30310538F4AF81B8851D9299 +:1072B0001D921D921C921397BD85C501B1113FC14E +:1072C0000E94A72D81116BC0112319F089849A8423 +:1072D00066C0E889F98960817181072E000C880BEE +:1072E000990B0E94EC4C9B01AC01AF81B8856D916C +:1072F0007D918D919C910E94E64C87FFE7CFC5015F +:107300000E94B22EEE85FF8520813181428153811A +:1073100060E573EC80E090E00E94184EC9010E9485 +:107320003329AE85BF852D913D914D915C91A3E0B0 +:10733000B0E00E94344E9B01AC01C301B2010E9437 +:10734000184E672B682B692B91F48EE593E05FD183 +:107350000E948B180E94951784E294E058D181EB2B +:1073600096E055D1C201C6D18CE993E050D1C50158 +:107370000E948E2DEE85FF852081318142815381CF +:1073800060E573EC80E090E00E94184EC9010E9415 +:107390003329FFEF4F1A5F0A6F0A7F0A32CF8FEB54 +:1073A00096E035D104C081E090E09A83898384E23D +:1073B00094E02DD18FE796E02AD1D5018C9168D148 +:1073C00083ED96E024D18CE993E021D18D819E81DB +:1073D000CCDBEC89FD89EF2BA1F0DC01CB012E8900 +:1073E0003F89488D598D821B930BA40BB50BB7FFBA +:1073F00007C0B095A095909581959F4FAF4FBF4F17 +:107400004C0149815A81452BF9F489E996E0FFD076 +:107410008EE496E0FCD081ED94E0F9D08A899B89D6 +:1074200069D18EE496E0F3D083ED94E0F0D0B4011E +:10743000092C000C880B990B0E94EC4C42E05FD1A8 +:107440000E948B180E94951785E090E0AB85BC8563 +:107450008D939C9345E050E0B5018AA19BA10E94C9 +:10746000E318C5010E94F72D8AA19BA10E94582C08 +:107470008AA19BA10E945C2CB1E02B163104A9F0DB +:10748000E2E02E16310401F1232861F50E948B18E9 +:10749000C401990CAA0BBB0B80934A0790934B072E +:1074A000A0934C07B0934D071DC00E948B18C401D8 +:1074B000990CAA0BBB0B80934E0790934F07A09398 +:1074C0005007B09351070EC00E948B18C401990C4D +:1074D000AA0BBB0B8093520790935307A0935407BA +:1074E000B09355070E948B180E94E817AB85BC85A6 +:1074F0001D921C9240E050E0B5018AA19BA10E9420 +:10750000E31840E050E0B5018AA19BA10E94C81891 +:107510000E948B18E981FA81F0934507E0934407B4 +:1075200089819A8111C08FEB96E071D0C5010E94CC +:10753000A72D882309F49DCDB1E0BD879ACD0E9487 +:10754000B72D8111C3CEC0CEA3960FB6F894DEBF7F +:107550000FBECDBFDF91CF911F910F91FF90EF90A4 +:10756000DF90CF90BF90AF909F908F907F906F9063 +:107570005F904F903F902F900895CF93DF93FC0141 +:10758000EA52FE4F408151814115510559F1EC01FC +:10759000C652DE4F288139818E529E4F24173507FF +:1075A000C8F4FC0180819181009761F0FC01E20F39 +:1075B000F31F80818A3041F08D3029F48CE993E00B +:1075C00026D002C080E064D0888199810196998399 +:1075D000888308C040E050E06EE973E00E943E27D7 +:1075E00019821882DF91CF910895009769F0FC010C +:1075F00001900020E9F73197AF01481B590BBC01FE +:1076000088EA9BE00C94862480E090E00895EDCF1A +:107610008F929F92AF92BF920F931F93CF93DF935E +:10762000CDB7DEB7A1970FB6F894DEBF0FBECDBFC2 +:1076300019A2423008F44AE08E010F5D1F4F842EDC +:10764000912CA12CB12CA50194010E94444EE62F4F +:10765000B901CA0101501109EA3014F4E05D01C01A +:10766000E95CD801EC93232B242B252B61F7C8016F +:10767000BCDFA1960FB6F894DEBF0FBECDBFDF9181 +:10768000CF911F910F91BF90AF909F908F900895D1 +:10769000E091A80BF091A90B0190F081E02D682FEB +:1076A00088EA9BE01994CF92DF92EF92FF92CF93FA +:1076B000DF9397FF17C06B017C018DE2E9DFEC01DE +:1076C00066277727CB016C197D098E099F094AE04F +:1076D0009FDF8C0F9D1FDF91CF91FF90EF90DF9088 +:1076E000CF9008954AE0DF91CF91FF90EF90DF9027 +:1076F000CF908ECFBC01990F880B990BD4CF4F92AE +:107700005F926F927F928F929F92AF92BF92CF9231 +:10771000DF92EF92FF926B017C01B42E9B01AC01D2 +:107720000E94774F882319F086E397E027C026014F +:107730003701E89477F82FEF3FEF4FE75FE7C3019A +:10774000B2010E94774F81110DC02FEF3FEF4FE73D +:107750005FE7C301B2010E94E64C18161CF48AE3ED +:1077600097E00CC02FEF3FEF4FE75FE4C701B60192 +:107770000E94734F18167CF48EE397E0FF90EF9011 +:10778000DF90CF90BF90AF909F908F907F906F9041 +:107790005F904F902ACF2FEF3FEF4FE75FECC7018D +:1077A000B6010E94E64C87FDE7CF20E030E0A9015A +:1077B000C701B6010E94E64C87FF08C08DE268DF72 +:1077C0004C01F7FAF094F7F8F09402C0812C912C58 +:1077D000A12C60E070E080E09FE3AB1441F020E07A +:1077E00030E040E251E40E94DA4EA394F6CF9B01D0 +:1077F000AC01C701B6010E94764E2B013C010E94EC +:10780000474F6B017C010E94EA4C9B01AC01C30114 +:10781000B2010E94754E2B013C014AE0C701B6013E +:10782000F7DE7C01E80CF91CBB2021F08EE230DF92 +:10783000E80EF91EDB2CDD2019F120E030E040E2FB +:1078400051E4C301B2010E944B4D2B013C010E9447 +:10785000474F4B01A12CB12C4AE0C501B401D8DE41 +:10786000E80EF91EC501B4010E94EA4C9B01AC016F +:10787000C301B2010E94754E2B013C01DA94DBCFAB +:10788000C701FF90EF90DF90CF90BF90AF909F9097 +:107890008F907F906F905F904F900895789484B50B +:1078A000826084BD84B5816084BD85B5826085BDFC +:1078B00085B5816085BD80916E00816080936E008A +:1078C000109281008091810082608093810080917C +:1078D000810081608093810080918000816080932D +:1078E00080008091B10084608093B1008091B000ED +:1078F00081608093B00080919100826080939100BC +:1079000080919100816080939100809190008160CE +:10791000809390008091A10082608093A10080916B +:10792000A10081608093A1008091A000816080937C +:10793000A00080912101826080932101809121012A +:1079400081608093210180912001816080932001DA +:1079500080917A00846080937A0080917A008260BE +:1079600080937A0080917A00816080937A00809180 +:107970007A00806880937A001092C10061E086E30B +:107980000E94F72861E087E30E94F72861E086E221 +:107990000E94F72861E08AE10E94F72861E08CE10B +:1079A0000E94F72861E088E10E94F72862E083E006 +:1079B0000E94F72862E082E00E94F72862E080E1FE +:1079C0000E94F72862E081E10E94F72862E08FE1DF +:1079D0000E94F72862E081E20E94F72861E08CE3D0 +:1079E0000E94F72861E08DE30E94F72861E088E3B8 +:1079F0000E94F72862E08EE00E94F72862E08FE0A4 +:107A00000E94F72862E087E10E94F72862E089E19E +:107A10000E94F72862E083E20E94F72862E085E294 +:107A20000E94F72861E08EE20E94F72861E080E37F +:107A30000E94F72861E08EE30E94F72862E082E16D +:107A40000E94F72862E083E10E94F72862E08BE160 +:107A50000E94F72862E08DE10E94F72862E087E249 +:107A60000E94F72862E089E20E94F72861E08AE03C +:107A70000E94F72861E088E00E94F72861E089E031 +:107A80000E94F72861E08DE00E94F72862E08FE312 +:107A90000E94F72862E08BE30E94F72862E088E208 +:107AA0000E94F72862E080E40E94F72862E08AE200 +:107AB0000E94F72862E08CE20E94F72862E081E4ED +:107AC0000E94F72862E082E40E94F72862E084E3E3 +:107AD0000E94F72862E085E30E94F72862E080E0D8 +:107AE0000E94F72862E081E00E94F72862E089E3C3 +:107AF0000E94F72862E08AE30E94F72862E081E3AF +:107B00000E94F72862E082E30E94F72862E083E3A4 +:107B10000E94F72862E08BE20E94F72862E08DE283 +:107B20000E94F72862E08FE20E94F72862E080E27C +:107B30000E94F72861E086E20E94032861E088E164 +:107B40000E94032861E088E30E94032861E08EE33D +:107B50000E940328E091B80BF091B90B82E080837A +:107B6000E091B40BF091B50B1082E091B60BF0915F +:107B7000B70BD0E1D0831092C00BE091BC0BF09119 +:107B8000BD0B86E08083E091BA0BF091BB0B808146 +:107B900080618083E091BA0BF091BB0B808188609B +:107BA0008083E091BA0BF091BB0B80818068808369 +:107BB000E091BA0BF091BB0B80818F7D808364E6EE +:107BC00070E080E090E00E943E290E94DF160E9453 +:107BD00087130E94322D0E94191B0E947629609300 +:107BE0007E0B70937F0B8093800B9093810B82EDC3 +:107BF00097E09093430780934207C1E0C0936F00E2 +:107C0000D093810010928000C093DC0A80E092E063 +:107C10009093DB0A8093DA0A909387008093860022 +:107C200081E1809381001092810010928500109272 +:107C300084008091DC0A8061809381000E94762913 +:107C400060937A0B70937B0B80937C0B90937D0BEE +:107C50000E9476296093820B7093830B8093840B30 +:107C60009093850B0E94762960937E0B70937F0B17 +:107C70008093800B9093810B0E94150980915E0781 +:107C800090915F07A0916007B09161070197A105EE +:107C9000B10579F40E9415098091A6079091A70774 +:107CA000A091A807B091A9070197A105B10509F412 +:107CB000C9C70E94150980915E0790915F07A09146 +:107CC0006007B09161070197A105B10579F40E94A1 +:107CD00015098091A2079091A307A091A407B091E4 +:107CE000A5070197A105B10509F4CAC70E941509A6 +:107CF00080915E0790915F07A0916007B091610746 +:107D00000197A105B10579F40E94150980919E079C +:107D100090919F07A091A007B091A1070197A1059D +:107D2000B10509F4CCC780E893E071DC8FE7282E19 +:107D300082E0382E95E7A92E92E0B92E0E9476298E +:107D40006093820B7093830B8093840B9093850BCD +:107D500000917E0B10917F0B2091800B3091810B55 +:107D6000601771078207930748F460937E0B709346 +:107D70007F0B8093800B9093810B2CC0DC01CB0197 +:107D8000801B910BA20BB30B883E9340A105B1055C +:107D900008F108511C4F2F4F3F4F00937E0B10935B +:107DA0007F0B2093800B3093810B0E94322DEC01CE +:107DB0000E94042BCE010C960E94042BCE01489603 +:107DC0000E94042BCE0184960E94042BCE01C09603 +:107DD0000E94042B88EA9BE00E94E624892B09F488 +:107DE000BCC50E94762960937A0B70937B0B8093BD +:107DF0007C0B90937D0B88EA9BE00E94C4248093C7 +:107E0000790B982F9F7D953479F02091770B3091E5 +:107E1000780BF901EB5BF44F80832F5F3F4F30937A +:107E2000780B2093770B06C00E948B1821E0DC01B1 +:107E30001C962C938091770B9091780B8133910550 +:107E400064F02AE02093790BFC01EB5BF44F208374 +:107E500001969093780B8093770B8091790B20910A +:107E6000770B3091780B8A3039F4C9010197A2E180 +:107E7000BBE0E5E4FBE004C022333105B4F76DC597 +:107E8000AF0145545B40481759071CF441914D938D +:107E9000F7CFFC01EE5EF44F1082223031050CF476 +:107EA00058C581E193E0B3DB8EE496E0B0DB8FE967 +:107EB00093E0ADDB82E19BE0AADB8FE993E0A7DBF7 +:107EC0008CE993E0A4DB8AE390E0D9D7EC011A8235 +:107ED0001B821C821D821E821F82188619861A86AA +:107EE0001B861C861D861E861F86188A198A1A8A7A +:107EF0001B8A1C8A1D8A1E8A1F8A188E198E1A8E4A +:107F00001B8E1C8E1D8E1E8E1F8E18A219A21AA2E9 +:107F10001BA21CA21DA21EA21FA218A619A61AA669 +:107F20001BA61CA61DA61EA61FA618AA19AA1AAA39 +:107F30001BAA1CAA1DAA1EAA1FAA18AE19AE68E089 +:107F400072E082E19BE00E946F488C01FC0180811D +:107F50008654823008F027C161EA73E0C8010E94AC +:107F60007750892B09F4D3C064EA73E0C8010E94FA +:107F70007750892B09F4CBC068EA73E0C8010E94EE +:107F80007750892B09F4C6C06BEA73E0C8010E94E0 +:107F90007750892B09F4BEC06FEA73E0C8010E94D4 +:107FA0007750892B09F4B9C063EB73E0C8010E94D4 +:107FB0007750892B09F4B4C067EB73E0C8010E94C5 +:107FC0007750892B09F4ACC06AEB73E0C8010E94BA +:107FD0007750892B09F4A7C06EEB73E0C8010E94AB +:107FE0007750892B09F4A2C062EC73E0C8010E94AB +:107FF0007750892B09F49DC066EC73E0C8010E949C +:108000007750892B09F498C06AEC73E0C8010E948C +:108010007750892B09F493C06EEC73E0C8010E947D +:108020007750892B09F48EC062ED73E0C8010E947D +:108030007750892B09F489C066ED73E0C8010E946E +:108040007750892B09F484C06AED73E0C8010E945F +:108050007750892B09F47FC06EED73E0C8010E9450 +:108060007750892B09F47AC062EE73E0C8010E9450 +:108070007750892B09F475C066EE73E0C8010E9441 +:108080007750892B09F470C06AEE73E0C8010E9432 +:108090007750892B09F46BC06EEE73E0C8010E9423 +:1080A0007750892B09F466C062EF73E0C8010E9423 +:1080B0007750892B09F461C066EF73E0C8010E9414 +:1080C0007750892B09F45CC06AEF73E0C8010E9405 +:1080D0007750892B09F457C06EEF73E0C8010E94F6 +:1080E0007750892B09F452C062E074E0C8010E9405 +:1080F0007750892B09F44DC066E074E0C8010E94F6 +:108100007750892B09F448C08FEF9FEF47C080E07C +:1081100090E044C081E090E041C08CE190E03EC03E +:108120008DE690E03BC08FE690E038C080E790E0BD +:1081300035C081E790E032C082E790E02FC083E74E +:1081400090E02CC084E790E029C088E790E026C04A +:1081500089E790E023C08AE790E020C083E890E0C0 +:108160001DC084E890E01AC08DE890E017C08EE84A +:1081700090E014C08FE890E011C080E990E00EC05C +:1081800081EA90E00BC085EB90E008C086EB90E0C0 +:1081900005C087EB90E002C088EB90E0909301026D +:1081A00080930002BBC08FEF9FEF909301028093FA +:1081B0000002B8C0D8018C91883539F4C801019605 +:1081C0008BD76A837B838C839D83F801808189357B +:1081D00039F4C801019680D76E837F838887998799 +:1081E000D8018C918A3539F4C801019675D76A8710 +:1081F0007B878C879D87F8018081813449F4C80191 +:1082000001966AD70E94424F6E877F87888B998B31 +:10821000D8018C91823449F4C80101965DD70E943F +:10822000424F6A8B7B8B8C8B9D8BF80180818334D2 +:1082300049F4C801019650D70E94424F6E8B7F8B44 +:10824000888F998FD8018C91833539F4C8010196B4 +:1082500043D76A8F7B8F8C8F9D8FF801808180350B +:1082600049F4C801019638D70E94424F6E8F7F8F24 +:1082700088A399A3D8018C91863549F4C801019649 +:108280002BD70E94424F6AA37BA38CA39DA3F80126 +:108290008081873549F4C80101961ED70E94424F5C +:1082A0006EA37FA388A799A7D8018C91853449F440 +:1082B000C801019611D70E94424F6AA77BA78CA7DD +:1082C0009DA7F8018081843549F4C801019604D73F +:1082D0000E94424F6EA77FA788AB99ABD8018C91C3 +:1082E0008D3449F4C8010196F7D60E94424F6AAB1B +:1082F0007BAB8CAB9DABF8018081813549F4C80123 +:108300000196EAD60E94424F6EAB7FAB88AF99AF21 +:108310006AE074E080E090E0E2D68C01011511057E +:1083200009F048CF0E948B18DC011C961C910E941A +:10833000150940906A0750906B0760906C07709029 +:108340006D07CEA8DFA8E8ACF9AC0E948B18C092EC +:108350004607D0924707E0924807F092490780917C +:10836000000290910102992493948230910538F093 +:108370009C012F5631092630310508F0912C11232C +:1083800071F08D36910559F09C0128573109233041 +:10839000310528F0855B9109039708F0D0C20E944F +:1083A000150980915E0790915F07A0916007B091D9 +:1083B00061070197A105B10529F0992019F08DEF0A +:1083C00092E0BFC2209719F489EF92E0BAC2E09020 +:1083D0000002F0900102BFEFEB16FB06A9F3E114D7 +:1083E000F104B9F48091DD0A9091DE0A892B61F4E1 +:1083F00082E090E044D521E132E0FC01318320832A +:108400009093DE0A8093DD0A0091DD0A1091DE0A66 +:108410006EC0FCE1EF16F104B9F48091DF0A90918F +:10842000E00A892B61F482E090E029D52BE132E06B +:10843000DC012D933C939093E00A8093DF0A009136 +:10844000DF0A1091E00A53C0BDE6EB16F104B9F45F +:108450008091E10A9091E20A892B61F482E090E038 +:108460000ED525E232E0FC01318320839093E20AAD +:108470008093E10A0091E10A1091E20A53C0FFE6FD +:10848000EF16F104B9F48091E30A9091E40A892B84 +:1084900061F482E090E0F3D42FE232E0DC012D932E +:1084A0003C939093E40A8093E30A0091E30A1091CD +:1084B000E40A53C000E010E0B0E7EB16F104B9F4B1 +:1084C0008091E50A9091E60A892B61F482E090E0C0 +:1084D000D6D429E332E0FC01318320839093E60A6D +:1084E0008093E50A0091E50A1091E60A6CC0F1E775 +:1084F000EF16F104B9F48091E70A9091E80A892B0C +:1085000061F482E090E0BBD423E432E0DC012D93FF +:108510003C939093E80A8093E70A0091E70A109150 +:10852000E80A6CC0B2E7EB16F104B9F48091E90AED +:108530009091EA0A892B61F482E090E0A0D42DE4C6 +:1085400032E0FC01318320839093EA0A8093E90AA8 +:108550000091E90A1091EA0A6AC0F3E7EF16F10404 +:10856000B9F48091EB0A9091EC0A892B61F482E0D6 +:1085700090E085D427E532E0DC012D933C93909385 +:10858000EC0A8093EB0A0091EB0A1091EC0A68C0A8 +:10859000B4E7EB16F104B9F48091ED0A9091EE0A7C +:1085A000892B61F482E090E06AD421E632E0FC019C +:1085B000318320839093EE0A8093ED0A0091ED0AB7 +:1085C0001091EE0A68C0F8E7EF16F104B9F4809153 +:1085D000EF0A9091F00A892B61F482E090E04FD489 +:1085E0002BE632E0DC012D933C939093F00A8093CC +:1085F000EF0A0091EF0A1091F00A68C0B9E7EB1694 +:10860000F104A9F48091F10A9091F20A892B51F4B6 +:1086100082E090E034D4FC01B182A0829093F20A0F +:108620008093F10A0091F10A1091F20A6AC0FAE708 +:10863000EF16F104A9F48091F30A9091F40A892BC2 +:1086400051F482E090E01BD4DC012D923C92909397 +:10865000F40A8093F30A0091F30A1091F40A6CC0B3 +:10866000BDE8EB16F104B9F48091F50A9091F60A91 +:10867000892B61F482E090E002D429E832E0FC0129 +:10868000318320839093F60A8093F50A0091F50ACE +:108690001091F60A6CC03EE8E316F104B9F480913B +:1086A000F70A9091F80A892B61F482E090E0E7D311 +:1086B000E3E9F2E0DC01ED93FC939093F80A8093F8 +:1086C000F70A0091F70A1091F80A6CC0FFE8EF165C +:1086D000F104B9F48091F90A9091FA0A892B61F4B6 +:1086E00082E090E0CCD3EDE9F2E0DC01ED93FC9385 +:1086F0009093FA0A8093F90A0091F90A1091FA0A04 +:108700006CC0F0E9EF16F104B9F48091FB0A909186 +:10871000FC0A892B61F482E090E0B1D3E7EAF2E051 +:10872000DC01ED93FC939093FC0A8093FB0A00918B +:10873000FB0A1091FC0A6CC0F1EAEF16F104B9F4DF +:108740008091FD0A9091FE0A892B61F482E090E00D +:1087500096D3E1EBF2E0DC01ED93FC939093FE0AFB +:108760008093FD0A0091FD0A1091FE0A6BC0F5EBA3 +:10877000EF16F104B9F48091FF0A9091000B892B58 +:1087800061F482E090E07BD3EBEBF2E0DC01ED936F +:10879000FC939093000B8093FF0A0091FF0A1091C5 +:1087A000000B50C0F6EBEF16F104B9F48091010B09 +:1087B0009091020B892B61F482E090E060D3E5ECAC +:1087C000F2E0DC01ED93FC939093020B8093010B9C +:1087D0000091010B1091020B35C0F7EBEF16F1047D +:1087E000B9F48091030B9091040B892B61F482E022 +:1087F00090E045D3EFECF2E0DC01ED93FC93909335 +:10880000040B8093030B0091030B1091040B1AC00F +:10881000F8EBEF16F104B1F48091050B9091060B83 +:10882000892B61F482E090E02AD3E3EEF2E0DC01F0 +:10883000ED93FC939093060B8093050B0091050B31 +:108840001091060B0115110589F489EF92E00E9441 +:10885000073B0E948B180E9495178EE094E00E94BF +:10886000F53A8CE993E00E94F53A71C085EF92E009 +:108870000E94073B0E948B180E9495170E948B183C +:108880001092450710924407E12CF12CFFEFEF1AEC +:10889000FF0A21E0E216F10441F081EF92E00E942C +:1088A000073B0E948B180E949517D801ED91FC910F +:1088B0000480F581E02DBE01C80119950E948B1836 +:1088C000C0904407D09045070E948B18FC01848516 +:1088D000E114F104D9F281110AC0E414F5043CF466 +:1088E000C114D10421F0F2E0CF16D10479F688EA60 +:1088F0009BE00E94E624181619062CF488EA9BE0F7 +:108900000E94C424F4CFCD2809F4FBC1992009F4B6 +:10891000F5C10E9415098091660790916707A091A3 +:108920006807B09169070197A105B10509F0E6C193 +:108930000E948B1821E0DC011C962C93DFC181E0A2 +:1089400093E00E94073B0E948B180E949517CE016E +:108950002BD31092780B1092770B8091110B811111 +:1089600070C00E948B18FC018485882309F469C0BB +:108970000E94DF16EC01FC01EE53FD4F1082409681 +:108980000E94F72DCE0186579F4F0E94F72DCE01F2 +:108990008C5F9E4F0E94F72D0E94A7347C018C01B2 +:1089A000075C1F4FC1E0D0E06801F8E3CF1AD1089F +:1089B000D6018C918823D9F084E294E00E94073B91 +:1089C00088E294E00E94073BCE010E947A3B8CE94A +:1089D00093E00E94073B60E08C2F0E94032840E058 +:1089E00050E0BE01C7010E949609F6011082D8012D +:1089F0008C918823F9F084E294E00E94073B8FE396 +:108A000094E00E94073BCE010E947A3B8CE993E000 +:108A10000E94073B61E08C2F0E94F72860E08C2FBA +:108A20000E94032841E050E0BE01C7010E94960960 +:108A3000F801108221960F5F1F4FC533D10509F051 +:108A4000B3CF0E948B18DC011C968C918093110B84 +:108A5000C0910F0BD091100B0E941509FC0182816F +:108A60009381C817D90799F00E941509DC01129665 +:108A70008D919C9113979093100B80930F0B0E94F4 +:108A8000DF160E9487130E94322D0E94191B0E943C +:108A9000762960930B0B70930C0B80930D0B9093C6 +:108AA0000E0B00917A0B10917B0B20917C0B309177 +:108AB0007D0B601771078207930708F4B6C0DC01CD +:108AC000CB01801B910BA20BB30B89389341A105FD +:108AD000B10508F4B4C00E948B18DC011C968C917F +:108AE000882319F08DE093E002C089E093E00E94B2 +:108AF000073B0E948B180E9495170E94DF16EC011D +:108B0000FC01ED55FD4F8081882341F0CE01825854 +:108B10009E4F0E94B5356B017C0107C0FE01E25BF0 +:108B2000FF4FC080D180E280F3800E948B18C092FA +:108B30004A07D0924B07E0924C07F0924D07FE0196 +:108B4000EC55FD4F8081882341F0CE0186569E4F23 +:108B50000E94B5356B017C0107C0FE01E853FF4F51 +:108B6000C080D180E280F3800E948B18C0924E07B3 +:108B7000D0924F07E0925007F0925107FE01EB555B +:108B8000FD4F8081882341F0CE018A549E4F0E9480 +:108B9000B5356B017C0106C0CE5BDE4FC880D98045 +:108BA000EA80FB800E948B18C0925207D092530734 +:108BB000E0925407F09255070E948B180E94E81724 +:108BC0000E94DF160E9472190E948B180E94D21A0E +:108BD0000E948B180E94A7170E94150980915E07BA +:108BE00090915F07A0916007B09161070197A1057F +:108BF000B10541F085E093E00E94073B0E948B188D +:108C00000E9495178091070B9091080BA091090B7A +:108C1000B0910A0B0196A11DB11D8093070B909393 +:108C2000080BA093090BB0930A0B0E94762960935E +:108C30007A0B70937B0B80937C0B90937D0B0E943F +:108C400083257CC885E594E00E94073B0E94DF16DF +:108C5000CF931F921F921F921F92812C912CA12CB7 +:108C6000B12CC12CD12C760197018601B701A60148 +:108C70000E94150B0F900F900F900F900F9019C836 +:108C80008DE694E00E94073B0E94DF161F9221E0D0 +:108C90002F931F921F921F92812C912CA12CB12CEB +:108CA000C12CD12C760197018601B701A6010E9443 +:108CB000150B0F900F900F900F900F9017C885E82D +:108CC00094E00E94073B0E94DF161F921F9221E052 +:108CD0002F931F921F92812C912CA12CB12CC12C6F +:108CE000D12C760197018601B701A6010E94150BD0 +:108CF0000F900F900F900F900F9015C889EE92E093 +:108D000002C08DEE92E00E94073B0E948B180E94E9 +:108D100095170E948B1810924607109247071092E1 +:108D200048071092490713CE8091450C9091460C4C +:108D30003BC11092AB0B1092AA0B88EE93E0A0E01F +:108D4000B0E08093AC0B9093AD0BA093AE0BB093BF +:108D5000AF0B8AE693E09093A90B8093A80B85EC68 +:108D600090E09093B50B8093B40B84EC90E09093DB +:108D7000B70B8093B60B80EC90E09093B90B809387 +:108D8000B80B81EC90E09093BB0B8093BA0B82EC14 +:108D900090E09093BD0B8093BC0B86EC90E0909399 +:108DA000BF0B8093BE0B1092C10B1092C20B10929E +:108DB000C30B1092C40B82E090E061D02CE733E04B +:108DC000FC013183208390934C0C80934B0C6EE913 +:108DD00073E085E49CE00E9468278091DD0C80337D +:108DE00020F09FEF9093DE0C11C08093DE0C282FB3 +:108DF00030E0F901EE0FFF1F2E0F3F1FF901E35B7B +:108E0000F34F28EB3BE0328321838F5F803390F474 +:108E10008093E10C282F30E0F901EE0FFF1F2E0F99 +:108E20003F1FF901E35BF34F28EB3BE032832183E3 +:108E30008F5F03C09FEF9093E10C8093DD0C08954A +:108E4000EF920F931F93CF93DF93E80147FD02C08A +:108E500034E001C034E1E42F440FFF0BF7FF03C0FF +:108E6000F195E195F109E32E022F2E2FAE01B3D13A +:108E7000CE01DF91CF911F910F91EF900895CF9385 +:108E8000DF938230910510F482E090E0E091E80CED +:108E9000F091E90C20E030E0C0E0D0E0309711F133 +:108EA0004081518148175907C0F04817590761F4AC +:108EB00082819381209719F09B838A832BC09093A2 +:108EC000E90C8093E80C26C02115310519F04217F2 +:108ED000530718F49A01BE01DF01EF010280F3810C +:108EE000E02DDCCF2115310509F1281B390B243089 +:108EF000310590F412968D919C911397611571052F +:108F000021F0FB019383828304C09093E90C80934A +:108F1000E80CFD01329644C0FD01E20FF31F81937E +:108F20009193225031092D933C933AC02091E60C45 +:108F30003091E70C232B41F420910402309105027B +:108F40003093E70C2093E60C20910202309103024B +:108F50002115310541F42DB73EB7409106025091DD +:108F60000702241B350BE091E60CF091E70CE217A9 +:108F7000F307A0F42E1B3F0B2817390778F0AC013C +:108F80004E5F5F4F2417350748F04E0F5F1F509319 +:108F9000E70C4093E60C8193919302C0E0E0F0E08F +:108FA000CF01DF91CF9108950F931F93CF93DF935C +:108FB000009709F48CC0FC01329713821282009151 +:108FC000E80C1091E90C0115110581F42081318123 +:108FD000820F931F2091E60C3091E70C2817390778 +:108FE00079F5F093E70CE093E60C71C0D80140E00E +:108FF00050E0AE17BF0750F412962D913C91139795 +:10900000AD012115310509F1D901F3CF9D01DA0137 +:109010003383228360817181860F971F82179307A4 +:1090200069F4EC0128813981260F371F2E5F3F4FED +:10903000318320838A819B8193838283452B29F40A +:10904000F093E90CE093E80C42C01396FC93EE9386 +:109050001297ED01499159919E01240F351FE21796 +:10906000F30771F480819181840F951F0296119608 +:109070009C938E938281938113969C938E931297E7 +:10908000E0E0F0E0D80112968D919C911397009743 +:1090900019F0F8018C01F6CF8D919C9198012E5F0B +:1090A0003F4F820F931F2091E60C3091E70C281759 +:1090B000390769F4309729F41092E90C1092E80C02 +:1090C00002C0138212821093E70C0093E60CDF912A +:1090D000CF911F910F9108956627772709C244EE1B +:1090E0005CE000C0FA01A191B081009719F41097DB +:1090F000E1F0CD01DC01CD010D90002011F4C001A3 +:1091000013C0FB012191222319F02015D9F7F3CFC9 +:10911000FB012191201519F41E92119606C02223FD +:10912000C1F70D900020A1F7D001FA01A193B083FF +:109130000895BB274A3031F4992322F4BDE290957B +:1091400081959F4F30C0BB272A3051F4992342F4B8 +:10915000BDE290958095709561957F4F8F4F9F4FA1 +:1091600001C0BB27FA01A62F621771058105910581 +:10917000330B30FB66F0AA27660F771F881F991FF5 +:10918000AA1FA21710F0A21B63953850A9F7A05D83 +:10919000AA3308F0A95DA19336F7B111B1931082FB +:1091A000CA0104C4BB27FB015527AA27880F991FB2 +:1091B000AA1FA41710F0A41B83955051B9F7A05D06 +:1091C000AA3308F0A95DA193009779F7B111B19383 +:1091D0001192CB01EBC34F925F926F927F929F925D +:1091E000AF92BF92CF92DF92EF92FF920F931F93B5 +:1091F000CF93DF93CDB7DEB729970FB6F894DEBFD4 +:109200000FBECDBF6A01122FB02E2BE3201720F026 +:10921000FF24F394F00E02C0BCE3FB2E0F2D27E0D9 +:10922000AE014F5F5F4FCAD2AC018981982F997010 +:10923000913031F0E1FC06C0E0FE06C090E205C0CE +:109240009DE203C09BE201C090E0EE2DE07183FF40 +:109250003CC0911102C083E001C084E0811718F482 +:10926000212F281B01C020E0E1110BC0F601822F45 +:1092700030E2882319F031938150FBCFC20ED11C0C +:1092800020E0992329F0D6019C93F60131966F01D5 +:10929000C6010396E2FE0AC03EE4D6013C9341E4D7 +:1092A00011964C93119712963C9306C03EE6F60138 +:1092B000308341E641833283FC01322F40E2332385 +:1092C00009F442C041933150FACF82FF44C091115A +:1092D00002C083E001C084E0811718F4212F281B0D +:1092E00001C020E0E1110BC0F601822F30E288239B +:1092F00019F031938150FBCFC20ED11C20E099238D +:1093000029F0D6019C93F60131966F01C6010396B0 +:10931000E2FE0BC039E4D6013C933EE411963C9347 +:10932000119736E412963C9307C039E6F601308374 +:109330003EE6318336E63283FC01322F40E23323AE +:1093400019F041933150FBCFFC01E20FF11D108267 +:109350008EEF9FEFB7C0F1E0911101C0F0E06F2FE9 +:1093600070E01416150624F49A012F5F3F4F02C0D7 +:1093700021E030E0260F371FBB2029F06B2D70E075 +:109380006F5F7F4F02C060E070E0260F371F612FD4 +:1093900070E0261737071CF4121B212F01C020E0B4 +:1093A0003E2D387159F4D601322F60E2332319F083 +:1093B0006D933150FBCFC20ED11C20E0FF2331F062 +:1093C000D6019C93B6016F5F7F4F6B01E1110BC01B +:1093D000F601922F30E3992319F031939150FBCF8E +:1093E000C20ED11C20E09F2D940F3A81782F70710E +:1093F000A72E84FF03C0313309F49150191624F4C9 +:10940000993018F098E001C091E0E42F852F57FFC4 +:1094100002C0E0E080E06E2F782FE0E0F0E0AEE206 +:109420009A2E3A01691A71082A01461A570A0B2D19 +:1094300010E01195019511096F3F8FEF780729F41E +:10944000D6019C92C60101966C014617570784F01D +:10945000661677066CF47F01E40CF51CA1E0B0E021 +:10946000AC0FBD1FEA0EFB1ED7011196BC9002C0C7 +:1094700090E3B92E615071093196C60101967C01C5 +:109480006017710724F0D601BC926C01D5CF641728 +:10949000750741F4363320F4353321F4A11002C0AE +:1094A00081E3B82EF601B082F701822F90E2882383 +:1094B00019F091938150FBCFF701E20FF11D10825B +:1094C00080E090E029960FB6F894DEBF0FBECDBFC6 +:1094D000DF91CF911F910F91FF90EF90DF90CF9090 +:1094E000BF90AF909F907F906F905F904F90089546 +:1094F0006F927F928F929F92AF92BF92CF92DF92A4 +:10950000EF92FF920F931F93CF93DF93EC017B01B8 +:109510006115710519F0DB018D939C938E010F5F2E +:109520001F4F7880872D90E021D2892B11F0E80120 +:10953000F5CFBDE27B1205C00F5F1F4F7980C1E000 +:1095400008C0EBE27E1204C08E010E5F1F4F7980CF +:10955000C0E06801F1E0CF1AD10843E050E064EFC9 +:1095600072E0C6010BD2892BE9F4680122E0C20E39 +:10957000D11C45E050E06FEE72E0C601FFD1892BAF +:1095800021F4680187E0C80ED11CE114F10419F040 +:10959000D701CD92DC92C111F9C060E070E080E8A3 +:1095A0009FE7FDC043E050E06CEE72E0C601E6D1FB +:1095B000892B51F4E114F10409F4EDC00E5F1F4F43 +:1095C000F70111830083E7C0680160E070E0CB0120 +:1095D00000E010E0F601D0EDD70DDA3050F52C2F79 +:1095E0002260622E2C2F2870C2FF05C0211127C0D7 +:1095F0000F5F1F4F24C0222311F001501109A5E075 +:10960000B0E09B01AC0130D34B015C01880C991C8C +:10961000AA1CBB1CC501B4016D0F711D811D911DDC +:109620006839A9E97A078A07A9E19A0740F0C66074 +:1096300005C0DE3F51F4C3FD44C0C8606C2EBFEFCF +:10964000CB1ADB0A7080C62DC5CF2D2F2F7D25317B +:10965000C1F540814D3211F4C06106C04B3221F09A +:10966000319621E030E006C03296D60111964C9139 +:1096700022E030E0A0EDA40FAA3018F0E21BF30BBB +:1096800020C040E050E04038BCE05B075CF49A0149 +:10969000220F331F220F331F420F531F440F551F3A +:1096A0004A0F511D3196DF0111972C91A0EDA20FA9 +:1096B000AA3048F3C4FF03C0519541955109040FE6 +:1096C000151FC1FF07C0E114F10421F03197D70144 +:1096D000ED93FC937FD1C370C33019F06B017C0113 +:1096E00006C06B017C01F7FAF094F7F8F09420E0E3 +:1096F00030E0A901C701B60169D1882309F443C04C +:1097000017FF06C0119501951109CBE0D3E002C007 +:10971000C3E2D3E05E01B8E1AB1AB1084601BE2D49 +:10972000AF2D90E2E92EF12C0E151F057CF0FE0105 +:109730002591359145915491B4018B2F9A2FABD13E +:109740004B01B82FA92F0E191F09EECF2497F594BE +:10975000E794CA15DB0541F76401EB2EFA2E8E2D36 +:10976000880F8F2D881F8F3F41F020E030E0A90146 +:10977000C701B6012BD1811106C082E290E090931F +:10978000EB0C8093EA0CC701B60109C060E070E001 +:1097900080E89FEF04C060E070E080EC9FE7DF911D +:1097A000CF911F910F91FF90EF90DF90CF90BF90DE +:1097B000AF909F908F907F906F900895283008F021 +:1097C00027E03327DA01990F311D87FD916000965C +:1097D0006105710539F432602E5F3D9330E32A95BF +:1097E000E1F708959F3F30F080387105610509F079 +:1097F0003C5F3C5F3D93913008F08068911DDF93A2 +:10980000CF931F930F93FF92EF92192F987F969506 +:10981000E92F96959695E90FFF27EF57FC4F99276B +:109820003327EE24FF24A701E7010590089407944D +:1098300028F4360FE71EF81E491F511D660F771FCB +:10984000881F991F0694A1F70590079428F4E70E46 +:10985000F81E491F561FC11D770F881F991F661FCD +:109860000694A1F70590079428F4F80E491F561F97 +:10987000C71FD11D880F991F661F771F0694A1F778 +:109880000590079420F4490F561FC71FD81F990F42 +:10989000661F771F881F0694A9F78491109517708B +:1098A00041F0D695C79557954795F794E7941A9543 +:1098B000C1F7E7E2F3E06894159015913591659151 +:1098C000959105907FE27395E118F10A430B560BD1 +:1098D000C90BD009C0F7E10CF11E431F561FC91F69 +:1098E000D01D7EF4703311F48A95E6CFE8940150D0 +:1098F00030F0080F0AF40027021708F4202F2395F0 +:10990000022F7A3328F079E37D932A95E9F710C086 +:109910007D932A9589F606949795679537951795BF +:109920001794E118F10A430B560BC90BD00998F0B4 +:1099300023957E9173957A3308F070E37C9320131E +:10994000B8F77E9170617D9330F0839571E37D93DC +:1099500070E32A95E1F71124EF90FF900F911F918A +:10996000CF91DF91992787FD909508959111F6C0C9 +:10997000803219F089508550D0F70895FB01DC0141 +:109980004150504088F08D9181341CF08B350CF49F +:10999000805E659161341CF06B350CF4605E861B53 +:1099A000611171F3990B0895881BFCCFDC01FC0158 +:1099B000672F71917723E1F7329704C07C916D9303 +:1099C00070836291AE17BF07C8F3089540D008F4C2 +:1099D00081E00895E89409C097FB3EF49095809546 +:1099E000709561957F4F8F4F9F4F9923A9F0F92F65 +:1099F00096E9BB279395F695879577956795B795E3 +:109A0000F111F8CFFAF4BB0F11F460FF1BC06F5FC8 +:109A10007F4F8F4F9F4F16C0882311F096E911C0DA +:109A2000772321F09EE8872F762F05C0662371F0FB +:109A300096E8862F70E060E02AF09A95660F771F0F +:109A4000881FDAF7880F9695879597F90895990FEB +:109A50000008550FAA0BE0E8FEEF16161706E807F8 +:109A6000F907C0F012161306E407F50798F0621B19 +:109A7000730B840B950B39F40A2661F0232B242BEE +:109A8000252B21F408950A2609F4A140A6958FEF0D +:109A9000811D811D08950BD07BC06CD028F071D042 +:109AA00018F0952309F05DC062C01124A5C081D0D3 +:109AB000A0F3959FD1F3950F50E0551F629FF001E1 +:109AC000729FBB27F00DB11D639FAA27F00DB11D3A +:109AD000AA1F649F6627B00DA11D661F829F2227C3 +:109AE000B00DA11D621F739FB00DA11D621F839F4A +:109AF000A00D611D221F749F3327A00D611D231F20 +:109B0000849F600D211D822F762F6A2F11249F576D +:109B100050408AF0E1F088234AF0EE0FFF1FBB1F90 +:109B2000661F771F881F91505040A9F79E3F51052F +:109B300070F017C061C05F3FECF3983EDCF3869590 +:109B400077956795B795F795E7959F5FC1F7FE2BDA +:109B5000880F911D9695879597F9089599278827DD +:109B6000089597F99F6780E870E060E008959FEF9F +:109B700080EC089500240A941616170618060906A4 +:109B8000089500240A941216130614060506089573 +:109B9000092E0394000C11F4882352F0BB0F40F4FB +:109BA000BF2B11F460FF04C06F5F7F4F8F4F9F4F3B +:109BB000089557FD9058440F551F59F05F3F71F0BD +:109BC0004795880F97FB991F61F09F3F79F0879524 +:109BD0000895121613061406551FF2CF4695F1DFAD +:109BE00008C0161617061806991FF1CF869571053D +:109BF000610508940895E894BB2766277727CB0171 +:109C000097F90895F999FECF92BD81BDF89A9927E9 +:109C100080B50895262FF999FECF1FBA92BD81BD58 +:109C200020BD0FB6F894FA9AF99A0FBE01960895DE +:109C3000052E97FB16F400940FD057FD05D024D0C5 +:109C400007FC02D046F408C0509540953095219508 +:109C50003F4F4F4F5F4F0895909580957095619558 +:109C60007F4F8F4F9F4F089531D0A59F900DB49F88 +:109C7000900DA49F800D911D11240895B7FFF4CF7E +:109C8000F3DF821B930B0895A1E21A2EAA1BBB1BC4 +:109C9000FD010DC0AA1FBB1FEE1FFF1FA217B307B8 +:109CA000E407F50720F0A21BB30BE40BF50B661FCE +:109CB000771F881F991F1A9469F760957095809592 +:109CC00090959B01AC01BD01CF010895A29FB00109 +:109CD000B39FC001A39F700D811D1124911DB29FE0 +:109CE000700D811D1124911D08955058BB27AA277E +:109CF0000ED04ECF3FDF30F044DF20F031F49F3FF5 +:109D000011F41EF434CF0EF4E095E7FB2ACFE92FCF +:109D100050DF80F3BA17620773078407950718F0BE +:109D200071F49EF568CF0EF4E0950B2EBA2FA02D9E +:109D30000B01B90190010C01CA01A0011124FF27F8 +:109D4000591B99F0593F50F4503E68F11A16F040F3 +:109D5000A22F232F342F4427585FF3CF46953795F2 +:109D60002795A795F0405395C9F77EF41F16BA0BB7 +:109D7000620B730B840BBAF09150A1F0FF0FBB1F65 +:109D8000661F771F881FC2F70EC0BA0F621F731FAE +:109D9000841F48F4879577956795B795F7959E3F0B +:109DA00008F0B3CF9395880F08F09927EE0F979599 +:109DB000879508950CD0ECCEE4DE40F0DBDE30F089 +:109DC00021F45F3F19F0CDCE511116CFD0CEF1DE88 +:109DD00098F39923C9F35523B1F3951B550BBB2772 +:109DE000AA2762177307840738F09F5F5F4F220F1F +:109DF000331F441FAA1FA9F333D00E2E3AF0E0E818 +:109E000030D091505040E695001CCAF729D0FE2F63 +:109E100027D0660F771F881FBB1F261737074807F5 +:109E2000AB07B0E809F0BB0B802DBF01FF279358AB +:109E30005F4F2AF09E3F510568F093CEDDCE5F3F25 +:109E4000ECF3983EDCF3869577956795B795F79593 +:109E50009F5FC9F7880F911D9695879597F908958B +:109E6000E1E0660F771F881FBB1F62177307840727 +:109E7000BA0720F0621B730B840BBA0BEE1F88F736 +:109E8000E095089504D06894B111B6CE089599DE96 +:109E900088F09F5790F0B92F9927B751A0F0D1F0D3 +:109EA000660F771F881F991F1AF0BA95C9F712C05D +:109EB000B13081F0A0DEB1E008959DCE672F782FFC +:109EC0008827B85F39F0B93FCCF3869577956795C9 +:109ED000B395D9F73EF490958095709561957F4F35 +:109EE0008F4F9F4F0895B3DD08F48FEF0895AFDDD6 +:109EF000880B990B0895EE0FFF1F881F8BBF0790EB +:109F0000F691E02D19946F927F928F929F92AF926B +:109F1000BF92CF92DF92EF92FF920F931F93CF9356 +:109F2000DF93EC01009789F4CB01DF91CF911F9172 +:109F30000F91FF90EF90DF90CF90BF90AF909F90E8 +:109F40008F907F906F900C943F47FC01E60FF71FB6 +:109F50009C0122503109E217F30708F4AAC0D90185 +:109F60000D911C91119706171707A8F005301105E0 +:109F700008F49DC0C80104978617970708F497C096 +:109F800002501109061B170B019311936D937C93DB +:109F9000CF010AD88CC05B01A01AB10A4C01800E17 +:109FA000911EA091E80CB091E90C40E050E0E12C4A +:109FB000F12C109709F44AC0A815B905D1F56D9098 +:109FC0007C901197630182E0C80ED11CCA14DB0497 +:109FD00080F1A3014A195B096A0182E0C80ED11C15 +:109FE0001296BC9012971396AC91B5E0CB16D104A3 +:109FF00040F0B282A38351834083D9016D937C9357 +:10A000000AC00E5F1F4FC301800F911FF90191839A +:10A010008083EB2DFA2FE114F10431F0D701139670 +:10A02000FC93EE93129743C0F093E90CE093E80C95 +:10A030003EC08D919C9111974817590708F4AC01C7 +:10A040007D0112960D90BC91A02DB3CF8091E60CAE +:10A050009091E70C88159905E1F446175707C8F465 +:10A060008091020290910302009741F48DB79EB750 +:10A070004091060250910702841B950BE817F907DF +:10A08000C0F4F093E70CE093E60CF9017183608370 +:10A090000EC0CB010E943F477C01009751F0A80100 +:10A0A000BE011CD0CE010E94D447C70104C0CE011E +:10A0B00002C080E090E0DF91CF911F910F91FF905F +:10A0C000EF90DF90CF90BF90AF909F908F907F9058 +:10A0D0006F90089581E090E0F89419C0FB01DC01D5 +:10A0E00002C001900D9241505040D8F70895FB01F5 +:10A0F000DC018D91019080190110D9F3990B08951D +:10A10000FB01DC0101900D920020E1F7089512E0BF +:10A11000C2EAD2E000E005C0802FFE01ECDE21960D +:10A12000011DC33AD10780E00807B1F7F894FFCFCB +:10A13000FFFF0000EC0C8000200A0D000000000072 +:10A14000004D178313F816000000004E17851327E3 +:10A150001A00000000F3359C33A0340000000061B9 +:10A160002DA92CDB2C000000009B2B3A269C2600FE +:10A17000000000950967075308000000004C358E69 +:10A1800033A03300000000F2359A33D833000000CA +:10A1900000032B3826632600000000EF3594336F50 +:10A1A0003400000000F032AD2C232D000000004DE3 +:10A1B000359033103400000000F4359E332E350006 +:10A1C0000000004E359233033500000000F1359851 +:10A1D000331835000000004B358C33C634000000C6 +:10A1E000005F2DA52CAF2C0000000093096307022F +:10A1F0000A00000000622DAB2C0C2D00000000F0C6 +:10A20000359633933400000000602DA72C8A2C0073 +:10A21000000000940965076907523033005230325C +:10A220000052303700523031005230390052383845 +:10A230000052383700523838005230300052383728 +:10A240000052303800523133005231320052313135 +:10A250000052373300523732005237310052313713 +:10A26000005231360052313500010000000100007B +:10A2700000010000005238350052383400523035A9 +:10A280000052303600362E342E302E52000052301E +:10A29000340052383700000000001C258624B52405 +:10A2A0006225E624C424D824000000004A358A33FD +:10A2B0005239392041524455494E4F20535441524E +:10A2C00054555020434F4D504C4554450D0A002ADB +:10A2D00000473000473030004731004730310047F9 +:10A2E00032380046303900463900463131004631B7 +:10A2F00032004631330046313400463135004631B4 +:10A3000036004632300046323100463232004633A3 +:10A310003100463332004634310046343200463490 +:10A320003300463434004636310046383100463872 +:10A3300032004638330046383400200A0D005239C6 +:10A34000392068616E646C6572203D3D204E554C2D +:10A350004C0D0A00523939002072657365747469B6 +:10A360006E67206469676974616C2070696E002093 +:10A37000726573657474696E6720616E616C6F6776 +:10A380002070696E0052393920484F4D45205A20BF +:10A390004F4E20535441525455500D0A00523939F2 +:10A3A00020484F4D452059204F4E20535441525480 +:10A3B00055500D0A0052393920484F4D452058203C +:10A3C0004F4E20535441525455500D0A00523939C2 +:10A3D0002057696C6C207A65726F205800523939A9 +:10A3E0002057696C6C207A65726F20590052393998 +:10A3F0002057696C6C207A65726F205A0052323196 +:10A400000050005600523939204572726F723A205E +:10A41000696E76616C696420706172616D657465E6 +:10A42000722069640D0A0052343100686F6D650D49 +:10A430000A0052393920656D657267656E6379204F +:10A4400073746F700D0A00523939206572726F7221 +:10A450000D0A00523832005239392073746F70700F +:10A4600065640D0A00523939206572726F722000DE +:10A470002064656163746976617465206D6F746FC3 +:10A480007220582064756520746F206D6973736540 +:10A490006420737465707300206465616374697609 +:10A4A000617465206D6F746F72205920647565202A +:10A4B000746F206D697373656420737465707300C5 +:10A4C0002064656163746976617465206D6F746F73 +:10A4D00072205A2064756520746F206D69737365EE +:10A4E00064207374657073005239392074696D6526 +:10A4F0006F7574205820617869730D0A00523939DC +:10A500002074696D656F7574205920617869730DC9 +:10A510000A005239392074696D656F7574205A20AC +:10A52000617869730D0A00205100523831002058BB +:10A530004100205842002059410020594200205A31 +:10A540004100205A4200207374612000206375721C +:10A55000200020656E6420002068616C6620002069 +:10A560006C656E2000206D696E2000206D61782082 +:10A5700000207370642000523230005238332000C3 +:10A580005239392043616C6962726174696F6E205F +:10A590006572726F723A20696E76616C69642061CF +:10A5A0007869732073656C65637465640D0A0020B7 +:10A5B000617869732000206174207374617274691A +:10A5C0006E6720706F696E740052323300206361D1 +:10A5D0006C6962726174696E67206C656E6774681D +:10A5E00000207374657020636F756E743A2000529A +:10A5F0003939206D6F76656D656E7420646F6E6598 +:10A600000D0A0020617420656E6420706F696E749D +:10A61000005239392043616C6962726174696F6EEE +:10A62000206572726F723A20656E642073746F7069 +:10A6300020616374697665206265666F7265207358 +:10A64000746172740D0A00206D6F766520746F203E +:10A65000737461727420666F722063616C696272D8 +:10A660006174696F6E006E616E00696E66006F7670 +:02A67000660082 +:00000001FF diff --git a/priv/farmduino.hex b/priv/farmduino.hex new file mode 100644 index 00000000..2e60d70f --- /dev/null +++ b/priv/farmduino.hex @@ -0,0 +1,2658 @@ +:10000000A2C20000D1C20000CFC20000CDC20000D9 +:10001000CBC20000C9C20000C7C20000C5C20000B8 +:10002000C3C20000C1C20000BFC20000BDC20000C8 +:10003000BBC20000B9C20000B7C20000B5C20000D8 +:10004000B3C200000C94D42AAFC20000ADC20000BD +:100050000C94612DA9C20000A7C200000C94802955 +:10006000A3C200000C94A3270C947A279DC2000021 +:100070009BC2000099C2000097C2000095C2000018 +:100080000C94A72A91C200008FC200008DC200000C +:100090008BC2000089C2000087C2000085C2000038 +:1000A00083C2000081C200000C947A2A7DC2000045 +:1000B0007BC2000079C2000077C200000C944D2A78 +:1000C00073C2000071C200006FC200006DC2000068 +:1000D0006BC2000069C2000067C2000065C2000078 +:1000E00063C20000E002ED02F602FF020C031503FA +:1000F000B106B106B106B106B10622032F033C03D7 +:10010000B106490352035B03680371037A03830357 +:100110008C039503B1069E03A703B003B106B10695 +:10012000B106B903C203CB03B106B106D403E103A0 +:10013000B106B106B106EE03FB030804B1061504CF +:100140001E042704B106B106B10630043904420486 +:10015000B1064F045C046904B106B106B106760429 +:1001600083049004B1069D04AA04B704B106B10645 +:10017000B106C404D104DE04B106EB04F404FD04AA +:10018000B106B106B106B106B106B106B106B106B7 +:10019000B106B106B106B106B106B106B106B106A7 +:1001A000B106B106B106B106B106B106B106210528 +:1001B0002A053305B1063C0545054E05B106B106D5 +:1001C000B106570564057105B1067E058B059805D6 +:1001D000B106B106B106A505B205BF05B106CC054D +:1001E000D505DE05B106B106B106E705F005F9054E +:1001F000B106B106B106B106B106B106B106B10647 +:10020000B106B106B10606050F051805B106B1061F +:10021000B106B106B106B106B106B106B106B10626 +:10022000B106B106B106B106B106B106B106B10616 +:10023000B106B106B106B106B106B106B106B10606 +:10024000B106B106B106B106B106B106B106B106F6 +:10025000B106B106B106B106B106B106B106B106E6 +:10026000B106B106B106B106B106B106B106B106D6 +:10027000B106B106B10602060B061806B106250640 +:100280002E063B06B106B106B106480651065E06CB +:10029000B1066B0674068106B106B106B1068E067C +:1002A0009706A406760A7B0A800A8A0A940A0D0B2E +:1002B0009E0AA60AAE0AB80AC20ACC0ADB0AE50AF6 +:1002C0000D0BEF0AF90A030BD425D725C625CA253D +:1002D000D0250E26DB25DF25E525E925ED25F325AF +:1002E000F725FB250E260126052609264E414E49F7 +:1002F0004E495459494E46CDCCCC3D0AD7233C17E4 +:10030000B7D13877CC2B329595E6241FB14F0A0030 +:100310000020410000C84200401C4620BCBE4CCA20 +:100320001B0E5AAEC59D7400407A10F35A00A0729D +:100330004E18090010A5D4E80000E8764817000020 +:10034000E40B54020000CA9A3B000000E1F50500EE +:100350000080969800000040420F000000A0860137 +:10036000000000102700000000E803000000006407 +:1003700000000000000A0000000000010000000072 +:10038000002C76D888DC674F0823DFC1DFAE59E147 +:10039000B1B796E5E3E453C63AE651997696E8E6B6 +:1003A000C28426EB898C9B62ED407C6FFCEFBC9C89 +:1003B0009F40F2BAA56FA5F490055A2AF75C936B9B +:1003C0006CF9676DC11BFCE0E40D47FEF520E6B556 +:1003D00000D0ED902E0300943577050080841E0830 +:1003E0000000204E0A000000C80C333333330F984E +:1003F0006E12831141EF8D2114893BE65516CFFE15 +:10040000E6DB18D1844B381BF77C1D901DA4BBE4A0 +:1004100024203284725E228100C9F124ECA1E53DE2 +:100420002700000A0B02090C0D0E08070304010047 +:1004300000000000000000000000000000000000BC +:100440000000000000000000000000000012111079 +:10045000000000000000000000000000000000009C +:100460000000000000000000002100240027002AF6 +:10047000002D003000330001010000040107010AD3 +:100480000100002200250028002B002E003100343E +:100490000002010000050108010B010000200023FB +:1004A00000260029002C002F00320000010000036C +:1004B00001060109010505050507050808080802E8 +:1004C0000202020A0A0808040404040101010101ED +:1004D0000101010303030303030303040707070CDC +:1004E0000C0C0C0C0C0C0C02020202060606060692 +:1004F0000606060B0B0B0B0B0B0B0B01021020203F +:100500000808102040102040800201020108040267 +:1005100001010204081020408080402010080402DD +:100520000180040201804020100804020108040236 +:10053000010102040810204080010204081020403C +:1005400080005B46564611241FBECFEFD1E2DEBFCE +:10055000CDBF00E00CBF17E0A0E0B2E0E4EBF0EAB2 +:1005600000E00BBF02C007900D92A234B107D9F78B +:100570002CE0A2E4B7E001C01D92AC3EB207E1F767 +:1005800012E0C2EAD2E000E006C021970109802F04 +:10059000FE010E943D4FC13AD10780E00807A9F74C +:1005A0000E944C3C0C9449502BCD603E710508F0E4 +:1005B000D8C3FB018827EE58FF4F8F4F0C943D4F57 +:1005C00081E090E0A0E0B0E0809356079093570759 +:1005D000A0935807B0935907089510925A071092A4 +:1005E0005B0710925C0710925D07089510925E07FA +:1005F00010925F071092600710926107089581E0E2 +:1006000090E0A0E0B0E08093620790936307A0932E +:100610006407B09365070895109266071092670704 +:100620001092680710926907089583E090E0A0E0B7 +:10063000B0E080936A0790936B07A0936C07B09328 +:100640006D07089588E790E0A0E0B0E0809382070E +:1006500090938307A0938407B0938507089588E754 +:1006600090E0A0E0B0E08093860790938707A09386 +:100670008807B0938907089588E790E0A0E0B0E08C +:1006800080938A0790938B07A0938C07B0938D0774 +:100690000895109292071092930710929407109267 +:1006A0009507089510929607109297071092980751 +:1006B00010929907089581E090E0A0E0B0E0809367 +:1006C0009A0790939B07A0939C07B0939D0708956A +:1006D00010929E0710929F071092A0071092A107F8 +:1006E00008951092A2071092A3071092A4071092E7 +:1006F000A50708951092A6071092A7071092A807C1 +:100700001092A90708951092AA071092AB071092B1 +:10071000AC071092AD0708951092AE071092AF0784 +:100720001092B0071092B10708951092B20710927C +:10073000B3071092B4071092B50708951092BA0744 +:100740001092BB071092BC071092BD07089510923B +:10075000BE071092BF071092C0071092C1070895FC +:100760001092C2071092C3071092C4071092C507D7 +:1007700008951092D2071092D3071092D4071092C6 +:10078000D50708951092D6071092D7071092D80770 +:100790001092D90708951092DA071092DB07109291 +:1007A000DC071092DD07089581E090E0A0E0B0E062 +:1007B0008093E6079093E707A093E807B093E907D3 +:1007C000089581E090E0A0E0B0E08093EA07909384 +:1007D000EB07A093EC07B093ED0708958CE291E04E +:1007E000A0E0B0E08093FA079093FB07A093FC078A +:1007F000B093FD0708958CE291E0A0E0B0E0809313 +:10080000FE079093FF07A0930008B0930108089596 +:100810008CE291E0A0E0B0E080930208909303089E +:10082000A0930408B0930508089510920A08109246 +:100830000B0810920C0810920D08089510920E08E3 +:1008400010920F081092100810921108089510923B +:1008500012081092130810921408109215080895A7 +:100860001092220810922308109224081092250852 +:1008700008951092260810922708109228081092C6 +:100880002908089581E090E0A0E0B0E080932A0874 +:1008900090932B08A0932C08B0932D08089585E021 +:1008A00090E0A0E0B0E08093320890933308A093EA +:1008B0003408B0933508089585E090E0A0E0B0E0FA +:1008C0008093360890933708A0933808B09339087E +:1008D000089589E190E0A0E0B0E080933A08909319 +:1008E0003B08A0933C08B0933D08089582E390E054 +:1008F000A0E0B0E080934A0890934B08A0934C0886 +:10090000B0934D08089582E390E0A0E0B0E08093BA +:100910004E0890934F08A0935008B0935108089543 +:1009200082E390E0A0E0B0E08093520890935308F7 +:10093000A0935408B0935508089582E390E0A0E096 +:10094000B0E080935A0890935B08A0935C08B09342 +:100950005D08089582E390E0A0E0B0E080935E0837 +:1009600090935F08A0936008B0936108089582E3B4 +:1009700090E0A0E0B0E08093620890936308A093B9 +:100980006408B0936508089580E991E0A0E0B0E0C4 +:100990008093720890937308A0937408B0937508BD +:1009A000089580E991E0A0E0B0E08093760890930C +:1009B0007708A0937808B0937908089580E991E0CA +:1009C000A0E0B0E080937A0890937B08A0937C0825 +:1009D000B0937D08089510928208109283081092B7 +:1009E000840810928508089510928608109287084E +:1009F0001092880810928908089510928A0810921F +:100A00008B0810928C0810928D08089510929A0904 +:100A100010929B0910929C0910929D0908951092C2 +:100A20009E0910929F091092A0091092A1090895A1 +:100A30001092A2091092A3091092A4091092A5097C +:100A400008951092EA081092EB081092EC081092A8 +:100A5000ED0808951092EE081092EF081092F00839 +:100A60001092F10808951092F2081092F308109273 +:100A7000F4081092F50808951092FA081092FB08F5 +:100A80001092FC081092FD0808951092FE08109232 +:100A9000FF081092000910920109089510920209AE +:100AA000109203091092040910920509089585E037 +:100AB00090E0A0E0B0E08093120990931309A09316 +:100AC0001409B0931509089585E090E0A0E0B0E026 +:100AD0008093160990931709A0931809B0931909E8 +:100AE000089585E090E0A0E0B0E080931A0990932B +:100AF0001B09A0931C09B0931D09089584EB95E18F +:100B0000A0E0B0E08093220990932309A0932409E8 +:100B1000B0932509089584EB95E1A0E0B0E08093BF +:100B2000260990932709A0932809B09329090895CD +:100B300084EB95E1A0E0B0E080932A0990932B0923 +:100B4000A0932C09B0932D09089585E090E0A0E0D2 +:100B5000B0E080933A0990933B09A0933C09B0938D +:100B60003D09089585E090E0A0E0B0E080933E0963 +:100B700090933F09A0934009B0934109089585E0FF +:100B800090E0A0E0B0E08093420990934309A093E5 +:100B90004409B0934509089510924A0910924B09EF +:100BA00010924C0910924D09089510924E0910921E +:100BB0004F0910925009109251090895109252094C +:100BC00010925309109254091092550908951092E9 +:100BD00062091092630910926409109265090895E0 +:100BE00010926609109267091092680910926909BB +:100BF000089510926A0910926B0910926C09109274 +:100C00006D09089510927A0A10927B0A10927C0A5C +:100C100010927D0A08958CE390E0A0E0B0E080930C +:100C20007E0A90937F0AA093800AB093810A089568 +:100C300081E090E0A0E0B0E08093820A9093830A84 +:100C4000A093840AB093850A089510928A0A10929C +:100C50008B0A10928C0A10928D0A08958CE390E012 +:100C6000A0E0B0E080938E0A90938F0AA093900A40 +:100C7000B093910A089581E090E0A0E0B0E0809305 +:100C8000920A9093930AA093940AB093950A0895B8 +:100C90001092A20A1092A30A1092A40A1092A50A16 +:100CA00008958CE390E0A0E0B0E08093A60A9093D2 +:100CB000A70AA093A80AB093A90A089581E090E03A +:100CC000A0E0B0E08093AA0A9093AB0AA093AC0A8C +:100CD000B093AD0A08951092B20A1092B30A10921E +:100CE000B40A1092B50A08958CE390E0A0E0B0E059 +:100CF0008093B60A9093B70AA093B80AB093B90A42 +:100D0000089581E090E0A0E0B0E08093BA0A90936B +:100D1000BB0AA093BC0AB093BD0A08951092CA0AF8 +:100D20001092CB0A1092CC0A1092CD0A08958CE34F +:100D300090E0A0E0B0E08093CE0A9093CF0AA09319 +:100D4000D00AB093D10A089581E090E0A0E0B0E02D +:100D50008093D20A9093D30AA093D40AB093D50A71 +:100D60000895660F771F660F771FFB01EA5AF84F49 +:100D7000108211821282138208950F931F93CF93D2 +:100D8000DF938C01C0E0D0E0BE01C8010E94EF32C9 +:100D9000882319F0BE01C80108DC2196C13ED105A7 +:100DA00099F7DF91CF911F910F9108954F925F9224 +:100DB0006F927F928F929F92AF92BF92CF92DF926B +:100DC000EF92FF92CF93DF935B01EB01CC0FDD1F1E +:100DD000CE010E94C44D482E512C612C712CCE01A5 +:100DE00001960E94C44DC82ED12CE12CF12C8DE827 +:100DF000A81AB10883E0A816B10488F5CE0144967C +:100E00000E94C44D882E912CA12CB12CCE01459668 +:100E10000E94C44D482F50E060E070E08FEF8816CC +:100E20009104A104B104A9F44F3F51056105710576 +:100E300081F48FEF481651046104710481F48FEF3F +:100E4000C816D104E104F10451F46FEF7FEFCB0138 +:100E50002BC040385105610571056CF0F6CF80E874 +:100E6000C816D104E104F10484F740E050E0BA016F +:100E7000812C912C5401FE2CED2CDC2CCC24C40CA8 +:100E8000D51CE61CF71C540199248824C80CD91CD5 +:100E9000EA1CFB1C742F662755274427CB01BA0197 +:100EA0006C0D7D1D8E1D9F1DDF91CF91FF90EF90EA +:100EB000DF90CF90BF90AF909F908F907F906F907A +:100EC0005F904F9008950C9496470C9496470C941D +:100ED0009647CF93DF93EB0120E030E040E85FE3FB +:100EE0006A817B818C819D810E94A84C811113C0F5 +:100EF0008DE994E00E94053B0E94DD16FC01E25B57 +:100F0000FF4F1082118212821382E05DFE4F108A21 +:100F1000118A128A138A20E030E040E85FE36E8194 +:100F20007F81888599850E94A84C811113C08DEA24 +:100F300094E00E94053B0E94DD16FC01E853FF4F40 +:100F40001082118212821382EE52FF4F108A118A90 +:100F5000128A138A20E030E040E85FE36A857B85EF +:100F60008C859D850E94A84C811113C08DEB94E067 +:100F70000E94053B0E94DD16FC01EE5BFE4F1082D5 +:100F8000118212821382EC58FF4F108A118A128A42 +:100F9000138A0E9489180E94931780E090E0DF91E5 +:100FA000CF9108950F93CF93DF938091860B81119A +:100FB0007BC081E08093860B0E94DD16EC0103B1BB +:100FC00023B14091000160910001001F0027001F24 +:100FD000221F2227221F41706695617082589E4F02 +:100FE0000E94843503B123B140B160B1001F0027D6 +:100FF000001F221F2227221F42FB442740F966952B +:101000006170CE0186569E4F0E94843503B123B194 +:1010100040B160B1001F0027001F221F2227221F9E +:1010200046FB442740F9661F6627661FCE018A5497 +:101030009E4F0E948435FE01E159FF4F8081882335 +:1010400061F0709780819181A281B3810196A11D89 +:10105000B11D80839183A283B383FE01E751FF4FCB +:101060008081882361F0709780819181A281B38112 +:101070000196A11DB11D80839183A283B383FE01DC +:10108000ED59FE4F8081882369F0CD5ADE4F88816B +:101090009981AA81BB810196A11DB11D8883998385 +:1010A000AA83BB831092860BDF91CF910F91089595 +:1010B0008F929F92AF92BF92CF92DF92EF92FF9268 +:1010C0000F931F930E94DD1621E02F931F921F9212 +:1010D0001F921F92812C912CA12CB12CC12CD12CB0 +:1010E000760197018601B701A601A4D20F900F9057 +:1010F0000F900F900F9080E090E01F910F91FF9064 +:10110000EF90DF90CF90BF90AF909F908F90089519 +:10111000EF92FF920F931F93CF93DF9300D01F9214 +:10112000CDB7DEB78B017B01EE0CFF1C622FC70130 +:1011300029833A834B835C830E94CC4D29813A8179 +:101140004B815C81992757FD9A95852F742F632FCA +:10115000C70101960E94CC4D0D58110929813A8191 +:101160004B815C8103301105A8F4BA01992777FD02 +:101170009095892FC70144960E94CC4D29813A81D0 +:101180004B815C81652F772788279927C701459672 +:101190000E94CC4D80E090E00F900F900F900F9048 +:1011A000DF91CF911F910F91FF90EF900895CF9213 +:1011B000DF92EF92FF92CF93DF93EB010E94EF3229 +:1011C000882359F1FE01EE0FFF1FEE0FFF1FEA5AB1 +:1011D000F84FC080D180E280F3808DEC94E00E94D3 +:1011E000053B8EE496E00E94053B81ED94E00E9471 +:1011F000053BCE010E94783B8EE496E00E94053BC1 +:1012000083ED94E00E94053BC701B6010E94513B6B +:101210000E9489180E94931704C085ED94E00E94F3 +:10122000053B80E090E0DF91CF91FF90EF90DF9061 +:10123000CF900895EF92FF920F931F93CF93DF9378 +:101240008091870B9091880B892B09F066C084E010 +:1012500090E00E940147EC0160E070E0A7DD161607 +:101260001706FCF0CE0189DD96E5E92E97E0F92E10 +:1012700000E010E0B801CE010E94EF32882341F077 +:10128000F7012081318142815381B801CE0140DFD5 +:101290000F5F1F4FF4E0EF0EF11C0639110551F7F7 +:1012A00038C063E070E0CE0181DD613071058105F9 +:1012B000910569F586E5E82E87E0F82E00E010E05C +:1012C000B801CE010E94EF328823C1F0B801CE01EF +:1012D0006DDDF70160837183828393836F3F7F4F5E +:1012E0008F4F9F4F59F4B801CE015FD9F70120818C +:1012F000318142815381B801CE010ADF0F5F1F4F58 +:10130000F4E0EF0EF11C013E1105D1F602C0CE0152 +:1013100034DDD093880BC093870B8091870B90911D +:10132000880BDF91CF911F910F91FF90EF9008955F +:10133000089508950895EF92FF920F931F93CF930E +:10134000DF93162F072F7A014115510559F4862F87 +:101350000E94D92731E020E0019709F030E0C32F47 +:10136000D22F26C04130510509F5262F663310F0E3 +:101370002AEC260F80917B00922F9870877F892B13 +:1013800080937B002770206420937C0080917A00FA +:10139000806480937A0080917A0086FDFCCFC091B2 +:1013A000780080917900D0E0D82B02C0C0E0D0E076 +:1013B00082E0E816F10410F587EF94E00E94053B07 +:1013C0008EE496E00E94053B81ED94E00E94053B8F +:1013D000812F902F0E94783B8EE496E00E94053B7F +:1013E00083ED94E00E94053BCE010E94783B0E9471 +:1013F00089180E94931780E090E002C081E090E09D +:10140000DF91CF911F910F91FF90EF9008958BEF97 +:1014100094E00E94053B0E9489180E94D01A0E9405 +:1014200089180E94A5170E94A53440E050E068E0AA +:1014300070E081DF0E94A53440E050E069E070E098 +:101440007ADF0E94A53440E050E06AE070E073DF8C +:101450000E94A53440E050E06DE070E06CDF80E079 +:1014600090E008950F931F93CF93DF938B01EA01D0 +:10147000AB01415051094433510508F0D4C022302A +:10148000310508F0D0C048E3429FF001439FF00DC2 +:101490001124E60FF71FE80FF91F81E08083232B4B +:1014A00011F46C2F07C061E0802F0E94F52820976F +:1014B00039F460E0802F0E94012880E090E0B5C000 +:1014C000CF3FD10509F4ADC0F801EF5DFB4FE491CA +:1014D0008E2F90E0FC013197E231F10508F09DC0BC +:1014E0008827EE5AFE4F8F4F0C943D4F84B580688D +:1014F00084BDC7BDE2CF84B5806284BDC8BDDDCFE9 +:1015000080918000806880938000D0938900C09390 +:101510008800D3CF80918000806280938000D09338 +:101520008B00C0938A00C9CF80918000886080932F +:101530008000D0938D00C0938C00BFCF8091B0000D +:1015400080688093B000C093B300B7CF8091B000A3 +:1015500080628093B000C093B400AFCF80919000C0 +:10156000806880939000D0939900C0939800A5CF95 +:1015700080919000806280939000D0939B00C093F4 +:101580009A009BCF80919000886080939000D093C8 +:101590009D00C0939C0091CF8091A00080688093B3 +:1015A000A0008091A0008F7B8093A000D093A90021 +:1015B000C093A80082CF8091A00080628093A00099 +:1015C000D093AB00C093AA0078CF8091A000886030 +:1015D0008093A000D093AD00C093AC006ECF8091FB +:1015E0002001806880932001D0932901C0932801B5 +:1015F00064CF80912001806280932001D0932B01E1 +:10160000C0932A015ACF80912001886080932001E5 +:10161000D0932D01C0932C0150CFC038D1050CF4CC +:1016200048CF61E047CF81E090E0DF91CF911F91FB +:101630000F9108952F923F924F925F926F927F92F7 +:101640008F929F92AF92BF92CF92DF92EF92FF92D2 +:101650000F931F93CF93DF93CDB7DEB7E6970FB607 +:10166000F894DEBF0FBECDBF1C012A013B010B87E2 +:101670001C872D873E872E960EAD1FAD2E97FC0141 +:10168000E55AFD4F60817181828193810E94AE4C49 +:101690009B01AC01C301B2010E940D4D0E94044F99 +:1016A0006B8B7C8B8D8B9E8BF101E15AFD4F6081A2 +:1016B0007181828193810E94AE4C9B01AC016B854C +:1016C0007C858D859E850E940D4D0E94044F6B8FF9 +:1016D0007C8F8D8F9E8FF101ED59FD4F608171815F +:1016E000828193810E94AE4C9B01AC01C701B6017F +:1016F0000E940D4D0E94044F6F8F78A389A39AA377 +:101700000E9474296B877C878D879E87F101E45244 +:10171000FE4F118210823296118210823E96A114E1 +:10172000B10461F0C501A0E0B0E040815181628167 +:10173000738184179507A607B70714F0A080B180BE +:10174000F101E051FE4F8114910461F0C401A0E069 +:10175000B0E0408151816281738184179507A607AB +:10176000B70714F080809180F101EC50FE4F011515 +:10177000110561F0C801A0E0B0E0408151816281B3 +:10178000738184179507A607B70714F000811181AC +:10179000310120E1620E711CC501A0E0B0E0F10151 +:1017A00080A791A7A2A7B3A72101FAE84F0E511C69 +:1017B000A12CB12CD20158968D929D92AD92BC92E3 +:1017C0005B974101BCEF8B1ABEEF9B0A20E030E033 +:1017D000F401008F118F228F338F0E9489180E948D +:1017E00089180E9489180E94891840914A075091CF +:1017F0004B0760914C0770914D074BAB5CAB6DABE9 +:101800007EAB0E94891880914E0790914F07A0915E +:101810005007B09151078F87988BA98BBA8B0E9484 +:101820008918A0905207B0905307C0905407D090E9 +:101830005507F101E959FD4F10821182128213827E +:101840003496108211821282138234961082118291 +:101850001282138234961182108232961182108283 +:1018600032961182108232964BA95CA96DA97EA98D +:10187000408351836283738334968F859889A989C5 +:10188000BA8980839183A283B3833496A082B18284 +:10189000C282D3822F96EFAC2F970B891C892D899A +:1018A0003E89C3010E941A2E8823F9F085E393E054 +:1018B0000E94053B8AEA94E00E94053BF101EE5A42 +:1018C000FF4F6081718182819381E75FFD4F2081AD +:1018D0003181428153810E94DA4DCA01B9010E94CF +:1018E000513B0E9489180E9493176096EFAC609755 +:1018F0000B8D1C8D2D8D3E8D4F85588969897A8978 +:10190000C2010E941A2E8823F9F081E393E00E941D +:10191000053B8AEB94E00E94053BF101E453FF4F45 +:101920006081718182819381ED56FE4F20813181EA +:10193000428153810E94DA4DCA01B9010E94513B94 +:101940000E9489180E9493176196EFAC61970F8DE2 +:1019500018A129A13AA1B601A501C4010E941A2E1D +:101960008823F9F08DE293E00E94053B8AEC94E035 +:101970000E94053BF101EA5BFE4F6081718182812B +:101980009381E35EFE4F20813181428153810E9429 +:10199000DA4DCA01B9010E94513B0E9489180E9488 +:1019A0009317D10151961C92F101E557FF4F108218 +:1019B000E658FF4F1082C1010E94562CC1010E94BF +:1019C0005A2CC3010E946832C2010E946832C401CD +:1019D0000E946832F101ED51FE4FFCA3EBA381E0C0 +:1019E00090E0918380837101FBE1EF1AFEEFFF0A23 +:1019F000D7018D939C93810109511E4FF80191836A +:101A0000808341E050E0B301C1010E94E118D70199 +:101A10004D915C91B201C1010E94E118F801408131 +:101A20005181B401C1010E94E11811E0F101EE53AE +:101A3000FD4F1083C3010E94072EC2010E94072E92 +:101A4000C4010E94072E64E670E080E090E00E94EE +:101A50003C29C10180529E4FDC011C9311961C93BE +:101A6000A1014E515E4FFA0110832F96FFAD2F97C3 +:101A7000F1110FC060962FAD6097211105C06196DE +:101A80003FAD6197332339F1910121593F4FF9015E +:101A900010826096FFAD6097F11105C0910127514A +:101AA0003F4FF90110826196FFAD6197F11105C0BA +:101AB00091012D593E4FF90110822F962FAD2F978E +:101AC000FC01208360963FAD60973C936196EFAD3B +:101AD0006197DA01EC93C3010E94C32FC2010E94F7 +:101AE000C32FC4010E94C32FC3010E94192FC2013A +:101AF0000E94192FC4010E94192F0E948918DC012D +:101B00001C968C918F87A12CB12CF101E052FE4FD5 +:101B1000FC8BEB8B91012F513E4F3C8F2B8FA10102 +:101B20004E515E4F58A34F8FC1018D519E4F9CA7C0 +:101B30008BA7D101AB51BE4FBEA7ADA73796F8AB6F +:101B4000EFA72F5631403AA729A74F535F4F5AAB03 +:101B500049AB8B5191409EA38DA3A35AB109B8A75D +:101B6000AFA3EB89FC89808181110BC0AB8DBC8D4B +:101B70008C91811106C0EF8DF8A18081882309F432 +:101B80005DC3FF85F1115AC34BA55CA5B301C1012B +:101B90000E9438194DA55EA5B201C1010E943819F5 +:101BA0004FA558A9B401C1010E943819C3010E9470 +:101BB000832FC2010E94832FC4010E94832FE9A5B5 +:101BC000FAA58081882321F1C3010E94C32FA9A90E +:101BD000BAA98C918823C9F06101B9E6CB1ABDEF8F +:101BE000DB0A7101EEE4EE1AEDEFFE0A81010B57FC +:101BF0001D4F910127583D4FA10149595D4FB1013A +:101C000062587E4FC3010E949A2BA9A5BAA51C92C7 +:101C1000F101E451FF4F8081882331F1C2010E941C +:101C2000C32FF101EC55FD4F80818823C9F061017C +:101C3000B5E6CB1ABDEFDB0A7101ECE4EE1AEDEF6D +:101C4000FE0A810107571D4F910123583D4FA10105 +:101C500045595D4FB10166567E4FC2010E949A2BD5 +:101C6000F101E451FF4F1082F101EA59FE4F8081EA +:101C7000882331F1C4010E94C32FF101EB55FD4FC0 +:101C800080818823C9F06101F1E6CF1AFDEFDF0AF8 +:101C900071012AE4E21A2DEFF20A810103571D4F68 +:101CA00091012F573D4FA10141595D4FB1016A5438 +:101CB0007E4FC4010E949A2BF101EA59FE4F108217 +:101CC000810101591F4FD8018C91882309F43FC02D +:101CD000F101EF56FD4F60817181072E000C880BDA +:101CE000990B0E94AE4C9B01AC01F101E959FD4FEB +:101CF00060817181828193810E94354F18163CF575 +:101D0000D8011C9264E274E081010E521E4FC8019A +:101D10000E94282760E475E0C8010E9428276CE92A +:101D200073E0C8010E9428272F96BFAD2F97BB23D1 +:101D300009F473C3F101E258FE4F108A118A128A26 +:101D4000138AE053F14010821182128213828101C2 +:101D500007511F4FF8018081882309F43FC0E655E1 +:101D6000FE4F60817181072E000C880B990B0E9439 +:101D7000AE4C9B01AC01F101E559FD4F60817181D1 +:101D8000828193810E94354F181644F5F801108224 +:101D900064E274E081010E521E4FC8010E942827A0 +:101DA00068E675E0C8010E9428276CE973E0C80165 +:101DB0000E9428276096FFAD6097FF2309F431C386 +:101DC000F101E656FE4F108A118A128A138AADA1DC +:101DD000BEA11D921D921D921C92139781010D5957 +:101DE0001E4FF8018081882309F43FC0EE5CFE4F4E +:101DF00060817181072E000C880B990B0E94AE4CFC +:101E00009B01AC01F101E159FD4F6081718182813B +:101E100093810E94354F181644F5D8011C9264E254 +:101E200074E081010E521E4FC8010E94282760E90C +:101E300075E0C8010E9428276CE973E0C8010E9480 +:101E400028276196BFAD6197BB2309F4EEC2F1016B +:101E5000EA54FE4F108A118A128A138AAFA1B8A5DC +:101E60001D921D921D921C92139760E0C3010E9467 +:101E7000922E882369F0F101E25BFF4F10821182FC +:101E800012821382E05DFE4F108A118A128A138A31 +:101E900060E0C2010E94922E882369F0EDA1FEA1AC +:101EA0001082118212821382F101E656FE4F108ACF +:101EB000118A128A138A60E0C4010E94922E88233C +:101EC00071F0AFA1B8A51D921D921D921C9213979F +:101ED000F101EA54FE4F108A118A128A138AF10125 +:101EE000E159FF4F8081EB89FC898083F101E75143 +:101EF000FF4F8081AB8DBC8D8C93E658FF4F808166 +:101F0000EF8DF8A18083F101E25BFF4F20813181E9 +:101F1000428153812F83388749875A87ADA1BEA15B +:101F20004D915D916D917C91EFA1F8A5C080D1801C +:101F3000E280F3804BAB5CAB6DAB7EAB0E9489184B +:101F40008F819885A985BA8580934A0790934B071E +:101F5000A0934C07B0934D070E9489184BA95CA928 +:101F60006DA97EA940934E0750934F076093500789 +:101F7000709351070E948918C0925207D09253075C +:101F8000E0925407F0925507C1010E94562CAB898C +:101F9000BC898C91882309F44AC00E9474292B853E +:101FA0003C854D855E85621773078407950760F44D +:101FB0000E9474292B853C854D855E8562177307C9 +:101FC00084079507A0F51EC00E9474296B017C014F +:101FD0002B853C854D855E85C21AD30AE40AF50A35 +:101FE000F101E15BFD4F2081318142815381A8EEF7 +:101FF000B3E00E94F64D6C157D058E059F0508F433 +:1020000018C2D6CF0E9474296B017C01F101E15BFB +:10201000FD4F2081318142815381A8EEB3E00E94BF +:10202000F64D6C157D058E059F0508F402C2AB8D3B +:10203000BC8D8C91882309F44AC00E9474292B8599 +:102040003C854D855E85621773078407950760F4AC +:102050000E9474292B853C854D855E856217730728 +:1020600084079507A0F51EC00E9474296B017C01AE +:102070002B853C854D855E85C21AD30AE40AF50A94 +:10208000F101ED5AFD4F2081318142815381A8EE4B +:10209000B3E00E94F64D6C157D058E059F0508F492 +:1020A000DEC1D6CF0E9474296B017C01F101ED5A8B +:1020B000FD4F2081318142815381A8EEB3E00E941F +:1020C000F64D6C157D058E059F0508F4C8C1AF8DD2 +:1020D000B8A18C91882309F44AC00E9474292B85E9 +:1020E0003C854D855E85621773078407950760F40C +:1020F0000E9474292B853C854D855E856217730788 +:1021000084079507A0F51EC00E9474296B017C010D +:102110002B853C854D855E85C21AD30AE40AF50AF3 +:10212000F101E95AFD4F2081318142815381A8EEAE +:10213000B3E00E94F64D6C157D058E059F0508F4F1 +:10214000A4C1D6CF0E9474296B017C01F101E95A28 +:10215000FD4F2081318142815381A8EEB3E00E947E +:10216000F64D6C157D058E059F0508F48EC188EA35 +:102170009BE00E94E4241816190674F588EA9BE097 +:102180000E94C2248F7D8534910531F562E075E0AF +:10219000C1018E529E4F0E94282782E693E00E9442 +:1021A000053BB7D7C0D6F101E159FF4F1082E65881 +:1021B000FF4F1082E658FF4F1082AB89BC891C92FA +:1021C000EB8DFC8D1082AF8DB8A11C92B1E0BF8762 +:1021D000AA24A394B12C03C0A114B10481F067E137 +:1021E00075E0C1018E529E4F0E942827EB89FC8921 +:1021F0001082AB8DBC8D1C92EF8DF8A11082C101B5 +:102200000E94BB3AF101E252FE4F8081918101961A +:10221000918380838D3291400CF4A3CCD101AA52DA +:10222000BE4F8D919C911197892B09F09ACC1496F1 +:102230008D919C91892B09F43EC193CC81010A5266 +:102240001E4FD8018D919C91892B21F0C1010E94D4 +:10225000BB3AF7CF87E295E00E94053B2F96BFADD2 +:102260002F97BB23E9F0A114B104D1F4EF85E1115C +:102270003AC08DE193E00E94053B4BD754D660965F +:10228000FFAD6097FF2351F189E193E00E94053B88 +:1022900040D749D661962FAD6197211118C023C050 +:1022A00060963FAD6097332339F0A114B10421F457 +:1022B0004F85411118C0E8CF61965FAD61975523F6 +:1022C00091F0A114B10479F48F8581110CC085E1DE +:1022D00093E00E94053B1DD726D605C06196EFAD61 +:1022E0006197E111F4CF85E090E0ABA1BCA18D93A3 +:1022F0009C9391012B513E4F3C872B87D9018D93A5 +:102300009C93810109511E4FF8019183808345E020 +:1023100050E0B301C10155D7AB85BC854D915C91AF +:10232000B201C1014ED7F80140815181B401C10110 +:1023300048D7C1010E945E2CF101E25BFF4F408152 +:10234000518162817381E658FF4F80819181A28122 +:10235000B3818F8B988FA98FBA8FE658FF4FC080BB +:10236000D180E280F3804BAB5CAB6DAB7EABD1D662 +:102370004BA95CA96DA97EA940934A0750934B07CE +:1023800060934C0770934D07C4D62F89388D498DC3 +:102390005A8D20934E0730934F0740935007509328 +:1023A0005107B7D6C0925207D0925307E092540714 +:1023B000F0925507C1010E94562CC1010E945A2C6F +:1023C000A8D604D6C1018CD7ABA1BCA11D921C928A +:1023D000EB85FC8511821082D8011D921C9240E091 +:1023E00050E0B301C101EDD6EB85FC854081518100 +:1023F000B201C101E6D6D8014D915C91B401C10191 +:10240000E0D6C1010E945E2CBF85BB2309F44DC1FB +:1024100080D621E0FC01248748C1AA24A394B12CD2 +:1024200096CCAA24A394B12CD9CCAA24A394B12CE1 +:102430001CCD69E273E081010E521E4FC8010E945B +:1024400028276CE973E0C8010E94282768EB75E033 +:10245000C8010E94282722E0A22EB12CE8CD65E217 +:1024600073E081010E521E4FC8010E9428276CE9BB +:1024700073E0C8010E9428276DEC75E0C8010E9436 +:10248000282792E0A92EB12C22CE61E273E08101CF +:102490000E521E4FC8010E9428276CE973E0C80144 +:1024A0000E94282762EE75E0C8010E94282782E07A +:1024B000A82EB12C5CCE11821082F101E452FE4FA5 +:1024C00080819181009749F46EE573E081010E529D +:1024D0001E4FC8010E942827C5C0019709F0D1C02E +:1024E00018D68C01FC0180819181A281B3811816DC +:1024F00019061A061B0644F081E090E0A0E0B0E067 +:1025000080839183A283B383F80184819581A6811E +:10251000B781181619061A061B0644F081E090E0F0 +:10252000A0E0B0E084839583A683B783F80180851B +:102530009185A285B385181619061A061B0644F064 +:1025400081E090E0A0E0B0E080879187A287B38728 +:102550006EE973E0CE0101960E94662763E275E0A2 +:10256000CE0101960E9428276AEA74E0CE01019606 +:102570000E94282760914A0770914B0780914C0771 +:1025800090914D070E94AE4C6B017C01D8016D917A +:102590007D918D919C910E94AE4C9B01AC01C70135 +:1025A000B6010E949C4EAB01BC01CE0101960E9477 +:1025B000F8266AEB74E0CE0101960E94282760910C +:1025C0004E0770914F0780915007909151070E94DC +:1025D000AE4C6B017C01F801648175818681978125 +:1025E0000E94AE4C9B01AC01C701B6010E949C4EFB +:1025F000AB01BC01CE0101960E94F8266AEC74E0A2 +:10260000CE0101960E9428276091520770915307CE +:1026100080915407909155070E94AE4C6B017C014C +:10262000D80118966D917D918D919C911B970E9478 +:10263000AE4C9B01AC01C701B6010E949C4EAB01A0 +:10264000BC01CE0101960E94F826BE016F5F7F4F4C +:1026500081010E521E4FC8010E94362789819A813E +:102660000E94964756D5BC01CE01019616D4BE01F4 +:102670006F5F7F4FC8010E94362789819A810E942F +:102680009647F101E452FE4F80819181019682309C +:1026900091051CF49183808302C011821082F101A4 +:1026A000E652FE4F118210825CCA85E395E00E94DB +:1026B000053BC5010E94783B8CE993E00E94053BF5 +:1026C00028D5B0924507A0924407C501E6960FB6FB +:1026D000F894DEBF0FBECDBFDF91CF911F910F9158 +:1026E000FF90EF90DF90CF90BF90AF909F908F9032 +:1026F0007F906F905F904F903F902F90089566234A +:1027000019F08DEA93E002C086EA93E00C94053B51 +:102710000C9496470C9496478F929F92AF92BF92DB +:10272000CF92DF92EF92FF920F931F93CF93DF939D +:10273000EC018AE190E09E8B8D8B8BE190E0988F8D +:102740008F8B89E190E09A8F898F8FE090E09C8F4A +:102750008B8F8EE190E09E8F8D8F8EE090E098A31E +:102760008F8F85E490E09AA389A384E490E09CA3F2 +:102770008BA3FE01E657FF4F80E290E096838583AE +:1027800081E290E0908787838FE190E09287818754 +:102790001486138616861586108A178683E490E0C1 +:1027A000928B818B82E490E0948B838BE658FF4F71 +:1027B00083E290E09683858384E290E0908787832C +:1027C00082E290E0928781871486138616861586AA +:1027D000108A178681E490E0928B818B80E490E0F0 +:1027E000948B838BE152FF4F1182108232961182BB +:1027F0001082329611821082CE010E94271DCE01D6 +:102800004BD76E0182E8C81A8EEFD80A88248394C9 +:10281000912CF601938E828E7E01F6E6EF1AFEEF82 +:10282000FF0A84E090E0F701938F828F8E010A54B3 +:102830001E4F88E090E0F801938F828F80E190E056 +:10284000F6019183808381E190E095838483AA24BB +:10285000AA94BA2CB382A282B782A682C6010E9431 +:102860004D35F601828580878385818787E190E0F9 +:10287000F7019183808388E190E095838483B3821C +:10288000A282B782A682C7010E944D35F7018285D8 +:102890008087838581878DE190E0F8019183808333 +:1028A0008CE190E095838483B382A282B782A68272 +:1028B000C8010E944D35F801828580878385818714 +:1028C000EE5FFE4F808191813C9720813181369768 +:1028D00040815181F601578B468B358B248B0197B4 +:1028E00019F4B18EA08E03C0F601918E808EFE0188 +:1028F000E654FD4F808191813C972081318136974C +:1029000040815181F701578B468B358B248B019782 +:1029100019F48FEF9FEF03C081E090E0F701918FF2 +:10292000808FFE01E454FD4F808191813C9720818E +:102930003181C655DD4F48815981F801578B468B4F +:10294000358B248B019719F48FEF9FEF03C081E043 +:1029500090E0F801918F808FDF91CF911F910F91BF +:10296000FF90EF90DF90CF90BF90AF909F908F90AF +:1029700008952F923F924F925F926F927F928F9223 +:102980009F92AF92BF92CF92DF92EF92FF920F93FE +:102990001F93CF93DF93CDB7DEB7CA57D1090FB6D8 +:1029A000F894DEBF0FBECDBF8C01FC0110821182F6 +:1029B0001282138214821582168217821086118663 +:1029C0001286138614861586168617862C01F0E16A +:1029D0004F0E511CC2010E948A3268018AE8C80E5B +:1029E000D11CC6010E948A327801ECEFEE1AEEEF9C +:1029F000FE0AC7010E948A323801F2E86F1AFEEF20 +:102A00007F0AC3010E94D335480186E6881A8EEFFB +:102A1000980AC4010E94D3355801EAE4AE1AEEEFD9 +:102A2000BE0AC5010E94D3356EE973E0C8018E521B +:102A30009E4F0E946627F801E852FE4F11821082D5 +:102A40003296118210823296118210823296118251 +:102A50001082329610823196108231961082319611 +:102A60001182108232961182108232961182108267 +:102A700032961082319610823196108231961082F1 +:102A80001182128213823496108211821282138272 +:102A9000349610821182128213823496108211822F +:102AA000128213823496108211821282138234961B +:102AB0001082118212821382349610821182128245 +:102AC00013823496108211821282138234961082FD +:102AD0001182128213823496108211821282138222 +:102AE00034961082118212821382349610821182DF +:102AF00012821382349610821182128213823496CB +:102B000010821182128213823496108211821282F4 +:102B1000138234961082319610823196108231964B +:102B200010821182128213823496108211821282D4 +:102B3000138234961082118212821382349610828C +:102B40003196108231961082319610823196108221 +:102B50003196108231961082319610823196108211 +:102B60003196108231961082319610823196108201 +:102B700031961082319610823196108231961082F1 +:102B800031961082319610823196108231961082E1 +:102B900031961082319610823196108231961082D1 +:102BA0001182128213823496108211821282138251 +:102BB00034961082118212821382D801A55ABD4F19 +:102BC0008CE0E9E3F3E001900D928A95E1F7F801DA +:102BD000E959FD4F108211821282138234961082BD +:102BE0001182128213823496108211821282138211 +:102BF000349611821082329611821082329611829E +:102C000010823296108211821282138234961082C0 +:102C100011821282138234961082118212821382E0 +:102C2000349610821182128213823496108211829D +:102C30001282138234961082118212821382349689 +:102C40001182108232961182108232961182108285 +:102C5000329610821182128213823496108211826F +:102C60001282138234961082118212821382349659 +:102C70001082319610823196108231961182108224 +:102C8000329611821082329611821082329611820F +:102C90001082329611821082329611821082329600 +:102CA0001182108232961182108232961182108225 +:102CB00032961182108232961182108232961182DF +:102CC000108232961182108232961182108218017F +:102CD000FEE32F1AFDEF3F0AF1011082CE010196AB +:102CE0000E948A328AE7FE013196D20101900D924C +:102CF0008A95E1F7CE0101960E948A328AE7FE01A9 +:102D00003196D60101900D928A95E1F7CE01019698 +:102D10000E948A328AE7FE013196D70101900D9216 +:102D20008A95E1F788E5F801808B89E5F6018083D3 +:102D30008AE5F7018083CE0101960E94D3358CE1AC +:102D4000FE013196D30101900D928A95E1F7CE01F3 +:102D500001960E94D3358CE1FE013196D401019099 +:102D60000D928A95E1F7CE0101960E94D3358CE150 +:102D7000FE013196D50101900D928A95E1F7C801C7 +:102D8000CBDCF1011082C658DF4F0FB6F894DEBFDE +:102D90000FBECDBFDF91CF911F910F91FF90EF90AC +:102DA000DF90CF90BF90AF909F908F907F906F906B +:102DB0005F904F903F902F900895CF93DF93809135 +:102DC000930B9091940B892B51F483EC92E00E9429 +:102DD0000147EC01CEDDD093940BC093930B80910F +:102DE000930B9091940BDF91CF9108954F925F9246 +:102DF0006F927F928F929F92AF92BF92CF92DF920B +:102E0000EF92FF920F931F93CF93DF9300D01F9207 +:102E1000CDB7DEB7FB011689078982889388A6841F +:102E2000B784C284D384E484F58446805780608468 +:102E30007184428153816481758149835A836B8394 +:102E40007C83BBDF1F921F921F920F931F939301EE +:102E5000820149815A816B817C810E941A0B0F90FB +:102E60000F900F900F900F9080E090E00F900F90D8 +:102E70000F900F90DF91CF911F910F91FF90EF90E6 +:102E8000DF90CF90BF90AF909F908F907F906F908A +:102E90005F904F90089508950895EF92FF920F93D9 +:102EA0001F93CF93DF93CDB7DEB72E970FB6F8946D +:102EB000DEBF0FBECDBF8C016EE973E00E946627B6 +:102EC00067EF75E0C8010E9428276091460770915E +:102ED000470780914807909149072AE0AE014F5F6C +:102EE0005F4F7A010E946548F70101900020E9F7E1 +:102EF0003197AF014E195F09B701C8010E94CB2677 +:102F00006CE973E0C8010E942827C8012E960FB60D +:102F1000F894DEBF0FBECDBFDF91CF911F910F910F +:102F2000FF90EF90089587EF95E00E94053B609138 +:102F300046077091470780914807909149070E9482 +:102F4000513B8CE993E00C94053B0F931F93CF9377 +:102F5000DF93EC018AEF95E00E94053B8EEF95E050 +:102F60000E94053B0DE81BE0F8016081CE01C7DB44 +:102F700082E096E00E94053BF8016181CE01BFDB53 +:102F800086E096E00E94053BF8016281CE01B7DB46 +:102F90008AE096E00E94053BF8016381CE01AFDB39 +:102FA0008EE096E00E94053BF8016481CE01A7DB2C +:102FB00082E196E00E94053BF8016581CE019FDB2E +:102FC000CE01DF91CF911F910F91ADCFCF92DF92C4 +:102FD000EF92FF92CF93DF93EC0188819981AA81D0 +:102FE000BB81181619061A061B0644F081E090E012 +:102FF000A0E0B0E088839983AA83BB838C819D8104 +:10300000AE81BF81181619061A061B0644F081E02E +:1030100090E0A0E0B0E08C839D83AE83BF83888581 +:103020009985AA85BB85181619061A061B0644F051 +:1030300081E090E0A0E0B0E088879987AA87BB870D +:1030400083E295E00E94053B8AEA94E00E94053BFA +:1030500060914A0770914B0780914C0790914D0702 +:103060000E94AE4C6B017C01688179818A819B81D1 +:103070000E94AE4C9B01AC01C701B6010E949C4E60 +:1030800042E00E947D3B8AEB94E00E94053B609108 +:103090004E0770914F0780915007909151070E9401 +:1030A000AE4C6B017C016C817D818E819F810E9481 +:1030B000AE4C9B01AC01C701B6010E949C4E42E0A0 +:1030C0000E947D3B8AEC94E00E94053B6091520790 +:1030D0007091530780915407909155070E94AE4C10 +:1030E0006B017C01688579858A859B850E94AE4C41 +:1030F0009B01AC01C701B6010E949C4E42E00E94B8 +:103100007D3BCE01DF91CF91FF90EF90DF90CF908C +:103110000ACF80918B0B90918C0B892B91F58DE0D0 +:1031200090E00E940147FC01148610924A07109219 +:103130004B0710924C0710924D0710924E071092B9 +:103140004F07109250071092510710925207109299 +:103150005307109254071092550710928A0B109241 +:10316000890B109246071092470710924807109259 +:103170004907109245071092440790938C0B809357 +:103180008B0B80918B0B90918C0B08950F931F9359 +:10319000CF93DF938B01EA0181E593E00E94053B29 +:1031A0008EE496E00E94053BF80180810E94463B38 +:1031B000CE010E94783BADDFDF91CF911F910F913F +:1031C000B2CECF92DF92EF92FF920F931F93CF93E5 +:1031D000DF93CDB7DEB728970FB6F894DEBF0FBEEA +:1031E000CDBF8B016A018E529E4F7C016DE473E06E +:1031F0000E9428276EE476E0C7010E942827F80184 +:10320000808189831A8241E050E08E010F5F1F4F59 +:10321000B801C7010E94CB264AE0B801C6010E944E +:103220005B48F80101900020E9F73197AF01401B9E +:10323000510BB801C7010E94CB266BDFBC01C8014E +:103240002CDEB801C7010E94362789819A810E942D +:10325000964728960FB6F894DEBF0FBECDBFDF911C +:10326000CF911F910F91FF90EF90DF90CF90089535 +:10327000FC01DB01AD59BF4F8C91882319F022E08E +:1032800030E002C020E030E0DB01AB59BF4F8C9151 +:10329000882311F023E030E0DB01AC59BF4F8C9163 +:1032A000882311F024E030E0DB01AA59BF4F8C9154 +:1032B000882311F026E030E0DA018D919C9182178D +:1032C000930721F091E0121613060CF090E0DA015A +:1032D0002D933C93992319F0A901CF0172CF089542 +:1032E0008F929F92AF92BF92CF92DF92EF92FF9216 +:1032F0000F931F93CF93DF93EC0189E493E00E9437 +:10330000053B8AEA94E00E94053B6E0182E8C81AF8 +:103310008EEFD80AC6010E94B3350E94AE4C4B0115 +:103320005C01FE01E55AFD4F6081718182819381CC +:103330000E94AE4C9B01AC01C501B4010E949C4EA1 +:1033400042E00E947D3B8AEB94E00E94053B7E01B7 +:10335000E6E6EE1AEEEFFE0AC7010E94B3350E94C0 +:10336000AE4C4B015C01FE01E15AFD4F6081718161 +:10337000828193810E94AE4C9B01AC01C501B401D6 +:103380000E949C4E42E00E947D3B8AEC94E00E94A9 +:10339000053B8E010A541E4FC8010E94B3350E949E +:1033A000AE4C4B015C01CD59DD4F688179818A813A +:1033B0009B810E94AE4C9B01AC01C501B4010E94EF +:1033C0009C4E42E00E947D3BA4DEADDD85E493E0AF +:1033D0000E94053B8AEA94E00E94053BF601A08D1D +:1033E000B18D20893189428953890E94004E0E9403 +:1033F000513B8AEB94E00E94053BF701A08DB18D13 +:1034000020893189428953890E94004E0E94513B94 +:103410008AEC94E00E94053BF801A08DB18D2089D3 +:103420003189428953890E94004E0E94513B71DECE +:10343000DF91CF911F910F91FF90EF90DF90CF9090 +:10344000BF90AF909F908F906ECD4F925F926F9292 +:103450007F928F929F92AF92BF92CF92DF92EF9224 +:10346000FF920F931F93CF93DF9300D01F92CDB79E +:10347000DEB70E941A0940903208509033086090DD +:103480003408709035080E941A0980903608909090 +:103490003708A0903808B09039083BDEC0904A0742 +:1034A000D0904B07E0904C07F0904D0732DEC701FB +:1034B000B6010E94AE4C6B017C01C301B2010E94B7 +:1034C000AE4C9B01AC01C701B6010E949C4E2B0182 +:1034D0003C0160914E0770914F0780915007909189 +:1034E00051070E94AE4C6B017C01C501B4010E94E2 +:1034F000AE4C9B01AC01C701B6010E949C4EAB01D2 +:10350000BC0149835A836B837C8357DC1F921F92D3 +:103510001F921F921F92812C912CA12CB12CC12C97 +:10352000D12C760149815A816B817C818A019B0172 +:10353000B301A2010E941A0B40DC1F921F921F923E +:103540001F921F9297018601B301A2010E941A0BDC +:1035500034DC1F921F921F921F921F9297018601C7 +:10356000B701A6010E941A0B0FB6F894DEBF0FBE7A +:10357000CDBF80E090E00F900F900F900F90DF9103 +:10358000CF911F910F91FF90EF90DF90CF90BF9060 +:10359000AF909F908F907F906F905F904F90089525 +:1035A000CF93DF9385E40E94D927EC01B2DD91E04F +:1035B000CD2B09F490E090938D0B84E40E94D927E1 +:1035C000EC01A7DD91E0CD2B09F490E090938E0BF8 +:1035D00083E40E94D927EC019CDD91E0CD2B09F416 +:1035E00090E090938F0B82E40E94D927EC0191DD4B +:1035F00091E0CD2B09F490E09093900B81E40E9430 +:10360000D927EC0186DD91E0CD2B09F490E0909371 +:10361000910B80E40E94D927EC017BDD91E0CD2B5A +:1036200009F490E09093920BDF91CF910895CF939E +:10363000DF93EC012AEC30E04BEC50E069EC70E0F9 +:103640000E944B2B2EEC30E04FEC50E06DEC70E024 +:10365000CE010C960E944B2B24ED30E045ED50E05E +:1036600063ED70E0CE0148960E944B2B28ED30E0D0 +:1036700049ED50E067ED70E0CE0184960E944B2B3F +:103680002EED30E04FED50E06DED70E0CE01C096D4 +:10369000DF91CF910C944B2B2F923F924F925F92E0 +:1036A0006F927F928F929F92AF92BF92CF92DF9252 +:1036B000EF92FF920F931F93CF93DF93EC010E9441 +:1036C0001A09FE01EF56FD4F8091120990911309DE +:1036D000918380830E941A09FE01ED56FD4F80916F +:1036E000160990911709918380830E941A09FE019F +:1036F000EB56FD4F80911A0990911B0991838083AD +:103700000E941A098E0109561D4F60913A09709165 +:103710003B0980913C0990913D090E94AE4CF80113 +:1037200060837183828393830E941A091E01F5E6E8 +:103730002F1AFDEF3F0A60913E0970913F09809179 +:103740004009909141090E94AE4CF1016083718360 +:10375000828393830E941A0920E030E048EC52E40F +:10376000F80160817181828193810E949C4E2B01BE +:103770003C0120E030E048EC52E4F10160817181CD +:10378000828193810E949C4E4B015C0160914209B1 +:103790007091430980914409909145090E94AE4C73 +:1037A00020E030E048EC52E40E949C4E6B017C012A +:1037B0002AE037ED43E25CE3C301B2010E94354FDA +:1037C00018168CF420E030E046EC52E4C301B2015C +:1037D0000E94A84C87FD0FC0412C512C46EC642E52 +:1037E00042E4742E08C05AE0452E57ED552E53E2A0 +:1037F000652E5CE3752EF8014082518262827382ED +:103800002AE037ED43E25CE3C501B4010E94354F85 +:1038100018168CF420E030E046EC52E4C501B40107 +:103820000E94A84C87FD0FC0812C912C26ECA22E63 +:1038300022E4B22E08C03AE0832E37ED932E33E215 +:10384000A32E3CE3B32EF10180829182A282B38247 +:103850002AE037ED43E25CE3C701B6010E94354F31 +:1038600018168CF420E030E046EC52E4C701B601B3 +:103870000E94A84C87FD0FC0C12CD12C86ECE82EED +:1038800082E4F82E08C09AE0C92E97EDD92E93E273 +:10389000E92E9CE3F92EFE01E156FD4FC082D18254 +:1038A000E282F3820E941A098091FA089091FB0843 +:1038B000FE01EA55FD4F918380830E941A09809191 +:1038C000FE089091FF08FE01E855FD4F918380832B +:1038D0000E941A098091020990910309FE01E655A0 +:1038E000FD4F918380830E941A0980912209909153 +:1038F0002309FE01E455FD4F918380830E941A093C +:103900008091260990912709FE01E255FD4F918390 +:1039100080830E941A0980912A0990912B09FE0147 +:10392000E055FD4F918380830E941A0980914A09D6 +:1039300090914B09FE01EE54FD4F918380830E94CC +:103940001A0980914E0990914F09FE01EC54FD4FE8 +:10395000918380830E941A098091520990915309A2 +:10396000FE01EA54FD4F918380830E941A098091E1 +:10397000620990916309FE01E854FD4F91838083B1 +:103980000E941A098091660990916709FE01E65428 +:10399000FD4F918380830E941A0980916A0990915A +:1039A0006B09FE01E454FD4F918380830E941A0944 +:1039B0008091EA089091EB08A091EC08B091ED0895 +:1039C000FE01ED55FD4F0197A105B10519F481E008 +:1039D000808301C010820E941A098091EE089091A4 +:1039E000EF08A091F008B091F108FE01EC55FD4FF1 +:1039F0000197A105B10519F481E0808301C010820F +:103A00000E941A098091F2089091F308A091F4089D +:103A1000B091F508CB55DD4F0197A105B10519F41B +:103A200081E0888301C01882DF91CF911F910F91AF +:103A3000FF90EF90DF90CF90BF90AF909F908F90CE +:103A40007F906F905F904F903F902F9008952F92AE +:103A50003F924F925F926F927F928F929F92AF921E +:103A6000BF92CF92DF92EF92FF920F931F93CF936B +:103A7000DF93CDB7DEB760970FB6F894DEBF0FBE09 +:103A8000CDBF988B8F870E941A09EF85F889E7517F +:103A9000FE4F81E040912208509123086091240854 +:103AA00070912508452B462B472B09F480E0808335 +:103AB0000E941A09EF85F889E651FE4F81E0409196 +:103AC0002608509127086091280870912908452BF5 +:103AD000462B472B09F480E080830E941A09EF856A +:103AE000F889E551FE4F81E040912A0850912B085A +:103AF00060912C0870912D08452B462B472B09F41B +:103B000080E080830E941A09809172089091730866 +:103B1000A0917408B0917508EF85F889E451FE4FC3 +:103B200080839183A283B3830E941A0980917608CF +:103B300090917708A0917808B0917908EF85F8897D +:103B4000E051FE4F80839183A283B3830E941A09C0 +:103B500080917A0890917B08A0917C08B0917D08B3 +:103B6000EF85F889EC50FE4F80839183A283B38365 +:103B70000E941A0980914A0890914B08A0914C0824 +:103B8000B0914D08EF85F889EC5FFD4F80839183FC +:103B9000A283B3830E941A0980914E0890914F0826 +:103BA000A0915008B0915108EF85F889E85FFD4F6A +:103BB00080839183A283B3830E941A098091520863 +:103BC00090915308A0915408B0915508EF85F88959 +:103BD000E45FFD4F80839183A283B3830E941A091F +:103BE00080915A0890915B08A0915C08B0915D08A3 +:103BF000EF85F889E05FFD4F80839183A283B383D3 +:103C00000E941A0980915E0890915F08A091600857 +:103C1000B0916108EF85F889EC5EFD4F8083918358 +:103C2000A283B3830E941A0980916208909163086D +:103C3000A0916408B0916508EF85F889E85EFD4FB2 +:103C400080839183A283B3830E941A098091FA072B +:103C50009091FB07A091FC07B091FD07EF85F889D3 +:103C6000E45EFD4F80839183A283B3830E941A098F +:103C70008091FE079091FF07A0910008B091010884 +:103C8000EF85F889E05EFD4F80839183A283B38343 +:103C90000E941A098091020890910308A0910408DB +:103CA000B0910508EF85F889EC5DFD4F8083918325 +:103CB000A283B3830E941A09EF85F889E85DFD4F5E +:103CC00081E02091D2073091D3072130310509F0EE +:103CD00080E080830E941A09EF85F889E75DFD4F37 +:103CE00081E02091D6073091D7072130310509F0C6 +:103CF00080E080830E941A09EF85F889E65DFD4F18 +:103D000081E02091DA073091DB072130310509F09D +:103D100080E080830E941A09EF85F889EA5BFD4FF5 +:103D200081E04091AA075091AB076091AC07709178 +:103D3000AD07452B462B472B09F480E080830E947A +:103D40001A09EF85F889E95BFD4F81E04091AE07E4 +:103D50005091AF076091B0077091B107452B462B8A +:103D6000472B09F480E080830E941A09EF85F889C7 +:103D7000E85BFD4F81E04091B2075091B30760913D +:103D8000B4077091B507452B462B472B09F480E00B +:103D900080830E941A09EF85F889E75BFD4F81E077 +:103DA0004091820850918308609184087091850841 +:103DB000452B462B472B09F480E080830E941A098B +:103DC000EF85F889E65BFD4F81E0409186085091D0 +:103DD00087086091880870918908452B462B472BEE +:103DE00009F480E080830E941A09EF85F889E55B79 +:103DF000FD4F81E040918A0850918B0860918C08BA +:103E000070918D08452B462B472B09F480E0808369 +:103E10000E941A09EF85F889E45BFD4F81E020914B +:103E2000BA073091BB072130310509F080E080836B +:103E30000E941A09EF85F889E35BFD4F81E020912C +:103E4000BE073091BF072130310509F080E0808343 +:103E50000E941A09EF85F889E25BFD4F81E020910D +:103E6000C2073091C3072130310509F080E080831B +:103E70000E941A098091820790918307A09184077C +:103E8000B0918507EF85F889E15BFD4F80839183D1 +:103E9000A283B3830E941A098091860790918707B5 +:103EA000A0918807B0918907EF85F889ED5AFD4FF9 +:103EB00080839183A283B3830E941A0980918A0729 +:103EC00090918B07A0918C07B0918D07EF85F889B1 +:103ED000E95AFD4F80839183A283B3830E941A091C +:103EE000EF85F889E65CFD4F81E0409192075091A3 +:103EF00093076091940770919507452B462B472BAC +:103F000009F480E080830E941A09EF85F889E55C56 +:103F1000FD4F81E040919607509197076091980777 +:103F200070919907452B462B472B09F480E080833D +:103F30000E941A09EF85F889E45CFD4F81E0409109 +:103F40009A0750919B0760919C0770919D07452BA4 +:103F5000462B472B09F480E080830E941A09809148 +:103F60008A0990918B09A0918C09B0918D09EF85F8 +:103F7000F889E55DFD4F80839183A283B3830E941E +:103F80001A0980918E0990918F09A0919009B091A2 +:103F90009109EF85F889E15DFD4F80839183A283CC +:103FA000B3830E941A098091920990919309A0917C +:103FB0009409B0919509EF85F889ED5CFD4F8083F8 +:103FC0009183A283B3830E941A09EF85F889E35C89 +:103FD000FD4F81E02091EA073091EB072130310558 +:103FE00009F080E08083EF85F889E25CFD4F108264 +:103FF000EF85F889E15CFD4F10820E941A09EF8578 +:10400000F889E05CFD4F81E02091E6073091E707F9 +:104010002130310509F080E08083EF85F889EF5B7E +:10402000FD4F1082EF85F889EE5BFD4F10820E94F4 +:104030001A09EF85F889ED5BFD4F81E020910A08B0 +:1040400030910B082130310509F080E080830E9417 +:104050001A09EF85F889EC5BFD4F81E020910E088D +:1040600030910F082130310509F080E080830E94F3 +:104070001A09EF85F889EB5BFD4F81E0209112086A +:10408000309113082130310509F080E080830E94CF +:104090001A09EF85F889E95CFD4F81E020919A09C2 +:1040A00030919B092130310509F080E080830E9426 +:1040B0001A09EF85F889E85CFD4F81E020919E099F +:1040C00030919F092130310509F080E080830E9402 +:1040D0001A09EF85F889E75CFD4F81E02091A2097C +:1040E0003091A3092130310509F080E080830E94DE +:1040F0001A090F851889055A1D4F80913208909131 +:104100003308A0913408B0913508F8018083918379 +:10411000A283B3830E941A09EF84F888F1EAEF1AA8 +:10412000FDEFFF0A8091360890913708A09138087A +:10413000B0913908F70180839183A283B3830E94F1 +:104140001A0980913A0890913B08A0913C08B091DF +:104150003D082F8538892D593D4FF9018083918382 +:10416000A283B383F8014081518162817381141667 +:1041700015061606170644F041E050E060E070E0D6 +:104180004083518362837383F7014081518162814F +:104190007381141615061606170644F041E050E028 +:1041A00060E070E0408351836283738318161906C0 +:1041B0001A061B064CF081E090E0A0E0B0E0F901A7 +:1041C00080839183A283B383D9018D909D90AD901C +:1041D000BC90F701C080D180E280F380D8014D907F +:1041E0005D906D907C900E948918FC014082518204 +:1041F00062827382C482D582E682F782808691864B +:10420000A286B386EF85F889E95CFD4FB081B9835A +:10421000EF85F889E55DFD4F80819181A281B381B1 +:104220004F8558894D5B5D4FFA01F081FB834F85C7 +:104230005889445B5D4FFA01F081FA834F855889B4 +:10424000435C5D4FFA01F081FF834F855889405CE4 +:104250005D4FFA01F081F8874F855889475B5D4FC4 +:10426000FA01F081F9874F8558894A5B5D4FFA0161 +:10427000F081FA87EF85F889E85DFD4F2080EF85B2 +:10428000F889E751FE4F3080EF85F889E15BFD4FFB +:104290004081518162817381EF85F889E45EFD4F31 +:1042A0000081118122813381EF85F889E05FFD4F24 +:1042B000C080D180E280F380EF85F889EC5FFD4F0C +:1042C00080809180A280B380EF85F889E451FE4F11 +:1042D0004080518062807380EF85F88940A651A6A6 +:1042E00062A673A684A695A6A6A6B7A6C0AAD1AABA +:1042F000E2AAF3AA04AB15AB26AB37AB40AF51AF84 +:1043000062AF73AF34AE25AE2A8525A3398536A3B7 +:104310004A8147A340E450E060E070E0E05CFF4F7A +:1043200040835183628373832885EF85F88926AFA4 +:104330003F8137AFAF014C5B5F4F2B81FA01208388 +:10434000EF85F889EB5BFF4F80839183A283B38372 +:10435000EF85F889E75BFF4F39813083AF85B889F6 +:1043600055968D919C9156978633910589F481EAF3 +:104370009CE2FD01E658FF4F9183808332961182C3 +:1043800010828FE99CE2369691838083329630C00A +:104390008C33910589F489E99CE2EF85F889E65828 +:1043A000FF4F91838083EF85F889E458FF4F118296 +:1043B000108287E99CE212C08E97E1F481E99CE2C9 +:1043C000EF85F889E658FF4F91838083EF85F88960 +:1043D000E458FF4F118210828BE89CE2EF85F88948 +:1043E000EE57FF4F91838083EF85F889EC57FF4F9D +:1043F00011821082EF85F889838D948D4A97D1F4CC +:104400008DE99CE2E258FF4F91838083EF85F88924 +:10441000E058FF4F118210828BE99CE2EF85F8890A +:10442000EA57FF4F91838083EF85F889E857FF4F64 +:1044300011821082EF85F889E85CFD4F2081298385 +:10444000EF85F889E15DFD4F408051806280738087 +:10445000EF85F889EC5BFD4F30813B83EF85F88970 +:10446000E35BFD4F9081EF85F889E25CFD4F408171 +:104470004F83EF85F889EF5BFD4F50815887EF85BB +:10448000F889E65BFD4F8081EF85F889E95BFD4F98 +:10449000A081AA87EF85F889E75DFD4F2080EF8531 +:1044A000F889E651FE4F3080EF85F889ED5AFD4FCF +:1044B00020813181428153812B873C874D875E87E4 +:1044C000EF85F889E05EFD4F408151816281738103 +:1044D000EF85F889EC5EFD4FC080D180E280F380EB +:1044E000EF85F889E85FFD4F80809180A280B380DE +:1044F000EF85F889E657FF4F2F85388920513E4FC9 +:10450000D9010D911D912D913C91008F118F228F1A +:10451000338F848E958EA68EB78EC0A2D1A2E2A2D2 +:10452000F3A244A355A366A377A32B853C854D85B1 +:104530005E8520A731A742A753A734A625A63A85B2 +:10454000358B868B978B80E490E0A0E0B0E080AB69 +:1045500091ABA2ABB3AB488546A75F8157A78B81D0 +:1045600084AB45AA56AA67AA70AE998191AF85819E +:1045700096818633910589F481EA9CE2AF85B889FA +:10458000AC50BF4F8D939C93AF85B889AA50BF4F55 +:104590001D921C928FE99CE226C08C33910589F410 +:1045A00089E99CE2AF85B889AC50BF4F8D939C934D +:1045B000AF85B889AA50BF4F1D921C9287E99CE233 +:1045C00012C08E97E1F481E99CE2AF85B889AC50C6 +:1045D000BF4F8D939C93AF85B889AA50BF4F1D9252 +:1045E0001C928BE89CE2AF85B889A450BF4F8D9395 +:1045F0009C93AF85B889A250BF4F1D921C928385B2 +:1046000094854A97D9F48DE99CE2EF85F889E850C2 +:10461000FF4F91838083EF85F889E650FF4F118229 +:1046200010828BE99CE2EF85F889F3959183808372 +:10463000EF85F889EE5FFE4F11821082EF85F889D1 +:10464000E75CFD4FA081A9832F8538892D5C3D4F04 +:10465000D9018D919D910D90BC91A02D8B839C8350 +:10466000AD83BE83EF85F889EB5BFD4FB081BA83E4 +:10467000EF85F889E25BFD4F20812F83EF85F88974 +:10468000E15CFD4F30813887EF85F889EE5BFD4FA7 +:1046900040814987EF85F889E55BFD4F2080EF85F4 +:1046A000F889E85BFD4F3080EF85F889E65DFD4FC6 +:1046B0003081EF85F889E551FE4F2081EF85F8893B +:1046C000E95AFD4F80819181A281B381EF85F889FC +:1046D000EC5DFD4F4081518162817381EF85F889E6 +:1046E000E85EFD4FC080D180E280F380EF85F889DD +:1046F000E45FFD4F80809180A280B3800F85188990 +:104700000C5F1E4FEF85F889EC50FE4F40805180C2 +:1047100062807380F801408E518E628E738E848E1B +:10472000958EA68EB78EC0A2D1A2E2A2F3A244A318 +:1047300055A366A377A380A791A7A2A7B3A724A791 +:1047400035A7358A268A2F81278B80E490E0A0E068 +:10475000B0E080AB91ABA2ABB3AB298526A738857F +:1047600037A74A8144AB8B819C81AD81BE8185ABEB +:1047700096ABA7ABB0AF298121AF858196818633F7 +:10478000910589F481EA9CE2EF85F889E259FE4FB0 +:1047900091838083EF85F889E059FE4F1182108262 +:1047A0008FE99CE226C08C33910589F489E99CE26B +:1047B000EF85F889E259FE4F91838083EF85F88970 +:1047C000E059FE4F1182108287E99CE212C08E9759 +:1047D000E1F481E99CE2EF85F889E259FE4F91838B +:1047E0008083EF85F889E059FE4F118210828BE8B3 +:1047F0009CE2EF85F889EA58FE4F91838083EF852C +:10480000F889E858FE4F11821082D8011B968D91CD +:104810009C911C974A97E1F48DE99CE2EF85F88919 +:10482000EE58FE4F91838083EF85F889EC58FE4F58 +:10483000118210828BE99CE2EF85F889E658FE4FE1 +:1048400091838083EF85F889E458FE4F11821082AE +:10485000EF85F889E65CFD4F20818F859889409629 +:10486000222319F00E94072E02C00E94F52DEF8529 +:10487000F889E55CFD4F20818F85988986579F4F89 +:10488000222319F00E94072E02C00E94F52DEF8509 +:10489000F889E45CFD4F80818823D9F0C8016096D7 +:1048A0000FB6F894DEBF0FBECDBFDF91CF911F9141 +:1048B0000F91FF90EF90DF90CF90BF90AF909F90BF +:1048C0008F907F906F905F904F903F902F900C94BF +:1048D000072EC80160960FB6F894DEBF0FBECDBF9D +:1048E000DF91CF911F910F91FF90EF90DF90CF90CC +:1048F000BF90AF909F908F907F906F905F904F9000 +:104900003F902F900C94F52DCF92DF92EF92FF9273 +:104910000F931F93CF93DF936C017A018B01C0E05B +:10492000D0E0CE15DF0589F0D8016D918D01D6015B +:10493000ED91FC910190F081E02DC6011995892B34 +:1049400011F47E0102C02196ECCFC701DF91CF9117 +:104950001F910F91FF90EF90DF90CF9008950895F1 +:1049600080E090E00895FC01538D448D252F30E0C8 +:10497000842F90E0821B930B541710F0CF9608956C +:1049800001970895FC01918D828D981761F0828DB9 +:10499000DF01A80FB11D5D968C91928D9F5F9F7373 +:1049A000928F90E008958FEF9FEF0895FC01918D15 +:1049B000828D981731F0828DE80FF11D858D90E082 +:1049C00008958FEF9FEF0895FC01918D228D892F1F +:1049D00090E0805C9F4F821B91098F739927089507 +:1049E00088EA9BE0F1DF21E0892B09F420E0822FA7 +:1049F0000895FC01848DDF01A80FB11DA35ABF4F9C +:104A00002C91848D90E001968F739927848FA689CD +:104A1000B7892C93A089B1898C9180648C93938DF4 +:104A2000848D981306C00288F389E02D80818F7DE4 +:104A300080830895EF92FF920F931F93CF93DF939C +:104A4000EC0181E0888F9B8D8C8D981305C0E889DF +:104A5000F989808185FD23C0F62E0B8D10E00F5F54 +:104A60001F4F0F731127E02E8C8DE8120BC00FB66D +:104A700007FCFACFE889F989808185FFF5CFCE015F +:104A8000B8DFF2CF8B8DFE01E80FF11DE35AFF4F27 +:104A9000F0820B8FEA89FB898081806207C0EE89F2 +:104AA000FF896083E889F98980818064808381E05F +:104AB00090E0DF91CF911F910F91FF90EF900895BB +:104AC000CF93DF93EC01888D8823C1F0EA89FB89BD +:104AD000808185FD05C0A889B9898C9186FD0EC0AD +:104AE0000FB607FCF5CF808185FFF2CFA889B98981 +:104AF0008C9185FFEDCFCE017CDFE8CFDF91CF91A8 +:104B0000089580E090E0892B19F06ADF811125C0BB +:104B100080E090E0892B41F080E090E0892B21F04B +:104B20000E94000081111CC080E090E0892B41F0C0 +:104B300080E090E0892B21F00E940000811113C0D9 +:104B400080E090E0892BA1F080E090E0892B81F05B +:104B50000E94000081110AC008950E940000D8CF71 +:104B60000E940000E1CF0E940000EACF0C940000F8 +:104B7000089590E0FC013197E231F10508F04EC054 +:104B80008827EC59FE4F8F4F0C943D4F8091800049 +:104B90008F7703C0809180008F7D8093800008957F +:104BA00080918000877FF9CF84B58F7702C084B56C +:104BB0008F7D84BD08958091B0008F7703C0809170 +:104BC000B0008F7D8093B0000895809190008F7722 +:104BD00007C0809190008F7D03C080919000877FF7 +:104BE0008093900008958091A0008F7707C08091F6 +:104BF000A0008F7D03C08091A000877F8093A000DC +:104C00000895809120018F7707C0809120018F7DCA +:104C100003C080912001877F8093200108953FB7D2 +:104C2000F89480919E0B90919F0BA091A00BB09156 +:104C3000A10B26B5A89B05C02F3F19F00196A11D19 +:104C4000B11D3FBFBA2FA92F982F8827820F911D22 +:104C5000A11DB11DBC01CD0142E0660F771F881F69 +:104C6000991F4A95D1F708950E942C500C949647AD +:104C70000C9496470F931F93CF93DF93EC01888199 +:104C80009981009729F02A813B812617370788F4FC +:104C90008B016F5F7F4F0E94454F009761F09983B2 +:104CA00088831B830A832C813D81232B11F4FC0113 +:104CB000108281E001C080E0DF91CF911F910F91C0 +:104CC00008958F929F92AF92BF92CF92DF92EF9210 +:104CD000FF920F931F930E94DD1662E070E00E9426 +:104CE000F335892BD1F40E94DD1621E02F931F921A +:104CF0001F921F921F92812C912CA12CB12CC12CA0 +:104D0000D12C760197018601B701A6010E941A0BEA +:104D10000F900F900F900F900F9080E090E01F91F8 +:104D20000F91FF90EF90DF90CF90BF90AF909F904A +:104D30008F9008958F929F92AF92BF92CF92DF9201 +:104D4000EF92FF920F931F930E94DD161F9221E0B6 +:104D50002F931F921F921F92812C912CA12CB12C6A +:104D6000C12CD12C760197018601B701A6010E94C2 +:104D70001A0B0F900F900F900F900F9080E090E023 +:104D80001F910F91FF90EF90DF90CF90BF90AF9069 +:104D90009F908F900895EF92FF920F931F93CF9360 +:104DA000DF93FC01248135816115710511F480E0E8 +:104DB00018C041155105A1F07B01EC018A01020FD9 +:104DC000131FB80157DF882391F3288139818C8123 +:104DD0009D81B701820F931F0E9442501D830C8357 +:104DE00081E0DF91CF911F910F91FF90EF90089597 +:104DF000EF92FF920F931F93CF93DF93CDB7DEB760 +:104E000064970FB6F894DEBF0FBECDBF7C01CB0117 +:104E1000BA018E010F5F1F4F22E044E00E94E2467C +:104E2000BC01FC0101900020E9F73197AF01481B5C +:104E3000590BC701B0DF64960FB6F894DEBF0FBE02 +:104E4000CDBFDF91CF911F910F91FF90EF9008950B +:104E50006115710549F0FB0101900020E9F73197D8 +:104E6000AF01461B570B97CF80E00895FB014481AB +:104E70005581608171818FCFEF92FF920F931F93C5 +:104E8000CF93DF93EC017B018A01BA01F3DE288125 +:104E9000398181110DC02115310519F0C9010E9418 +:104EA0009647198218821D821C821B821A8206C0B4 +:104EB0001D830C83B701C9010E944250CE01DF91CE +:104EC000CF911F910F91FF90EF900895FC011182F7 +:104ED000108213821282158214826115710549F0C5 +:104EE000FB0101900020E9F73197AF01461B570BFA +:104EF000C3CF08951F920F920FB60F9211240BB6D5 +:104F00000F922F933F934F935F936F937F938F9362 +:104F10009F93AF93BF93EF93FF9388EA9BE069DD84 +:104F2000FF91EF91BF91AF919F918F917F916F9181 +:104F30005F914F913F912F910F900BBE0F900FBE3D +:104F40000F901F9018951F920F920FB60F92112479 +:104F50000BB60F922F938F939F93EF93FF93E09154 +:104F6000B80BF091B90B8081E091BE0BF091BF0BB3 +:104F700082FD12C090818091C10B8F5F8F73209151 +:104F8000C20B821751F0E091C10BF0E0E855F44FED +:104F9000958F8093C10B01C08081FF91EF919F910C +:104FA0008F912F910F900BBE0F900FBE0F901F90FF +:104FB0001895CF93DF93282F30E0F901EF5DFB4F79 +:104FC0008491F901E550FB4FD491F901EB54FB4F6B +:104FD000C491CC2389F08111CCDDEC2FF0E0EE0FF1 +:104FE000FF1FE556FB4FA591B491EC91ED2381E0B5 +:104FF00090E021F480E002C080E090E0DF91CF916A +:1050000008951F93CF93DF93282F30E0F901EF5DD0 +:10501000FB4F8491F901E550FB4FD491F901EB541A +:10502000FB4FC491CC23C1F0162F8111A2DDEC2FD0 +:10503000F0E0EE0FFF1FEF57FB4FA591B4918FB734 +:10504000F894111105C09C91ED2FE095E92302C061 +:10505000EC91ED2BEC938FBFDF91CF911F910895D1 +:10506000CF92DF92EF92FF920F931F93CF93DF9334 +:105070006C018B017A01EC01CB56D44F888187FFFC +:1050800004C0FB011182108224C08CE08C9D900131 +:105090008D9D300D11248881A901480F511D87FD78 +:1050A0005A958091DD0C90E04817590794F4888157 +:1050B000A901480F511D87FD5A95CA01FA01EE0F4B +:1050C000FF1F8E0F9F1FFC01E35BF34F808186FD66 +:1050D00019C088818F5F88838CE08C9D90018D9DA5 +:1050E000300D11248881A901480F511D87FD5A9563 +:1050F0008091DD0C90E048175907B4F488818C301A +:105100003CF112C08881280F311D87FD3A95F901C5 +:10511000EE0FFF1F2E0F3F1FF901E35BF34F80815E +:1051200060E08F736EDFD5CFF801808191810496A6 +:1051300080349C4918F480E49CE904C0F801808123 +:1051400091810496F701918380838FEF888344C017 +:10515000F801408151818881B901680F711D87FD77 +:105160007A95CB01FB01EE0FFF1F8E0F9F1FFC01F5 +:10517000E35BF34F81819281840F951FF701918347 +:1051800080838881A901480F511D87FD5A95CA0166 +:10519000FA01EE0FFF1F8E0F9F1FFC01E35BF34F21 +:1051A000808186FF19C08881280F311D87FD3A95BF +:1051B000F901EE0FFF1F2E0F3F1FF901E35BF34FC5 +:1051C000808161E08F73DF91CF911F910F91FF90EC +:1051D000EF90DF90CF9015CFDF91CF911F910F917E +:1051E000FF90EF90DF90CF900895CF93DF9390E002 +:1051F000FC01E550FB4F2491FC01EB54FB4F8491E3 +:10520000882361F190E0880F991FFC01E959FB4F59 +:10521000C591D491FC01EF57FB4FA591B491611159 +:1052200009C09FB7F8948881209582238883EC91E8 +:105230002E230BC0623061F49FB7F8943881822F1F +:10524000809583238883EC912E2B2C939FBF06C0DF +:105250008FB7F894E8812E2B28838FBFDF91CF91F1 +:1052600008958230910538F0880F991F880F991F93 +:1052700005970197F1F708958F929F92AF92BF9291 +:10528000CF92DF92EF92FF926B017C01C8DC4B0161 +:105290005C01C114D104E104F104E9F0C0DCDC01DB +:1052A000CB0188199909AA09BB09883E9340A10539 +:1052B000B10578F321E0C21AD108E108F10888EEBF +:1052C000880E83E0981EA11CB11CC114D104E10416 +:1052D000F10421F7DECFFF90EF90DF90CF90BF90E9 +:1052E000AF909F908F9008952FB7F89460919A0B8C +:1052F00070919B0B80919C0B90919D0B2FBF0895FB +:105300001F920F920FB60F9211242F933F938F93FA +:105310009F93AF93BF9380919A0B90919B0BA09119 +:105320009C0BB0919D0B3091990B23E0230F2D37EF +:1053300020F40196A11DB11D05C026E8230F029699 +:10534000A11DB11D2093990B80939A0B90939B0BF9 +:10535000A0939C0BB0939D0B80919E0B90919F0B03 +:10536000A091A00BB091A10B0196A11DB11D80933E +:105370009E0B90939F0BA093A00BB093A10BBF919A +:10538000AF919F918F913F912F910F900FBE0F90F2 +:105390001F901895CF92DF92EF92FF92CF93DF93F9 +:1053A000EC01603282E078070CF03DC077FD06C06A +:1053B000653B71052CF064EB70E002C060E070E0CA +:1053C000898128E830E06901C81AD10887FDD394A3 +:1053D000CC0CDD1CCC0CDD1C0D2C000CEE08FF08E9 +:1053E0008A8128E532E0281B310987FD3395220F99 +:1053F000331F220F331FC901330FAA0BBB0B9C01B4 +:10540000AD012C193D094E095F09DB010E94004ED8 +:1054100024EB30E040E050E00E94DA4DC20ED31E93 +:10542000E41EF51EB6018881803380F5998148E835 +:1054300050E0491B510997FD5395440F551F440FE8 +:10544000551F6417750784F09A8128E532E0291BFF +:10545000310997FD3395220F331F220F331FAB0104 +:10546000261737070CF4A90142505109440F551F64 +:105470002FB7F89490E0FC01EE0FFF1F8E0F9F1FD7 +:10548000FC01E35BF34F528341832FBFDF91CF9148 +:10549000FF90EF90DF90CF9008951F920F920FB67C +:1054A0000F9211240BB60F922F933F934F935F935C +:1054B0006F937F938F939F93AF93BF93EF93FF93DC +:1054C00048E251E064E271E080E090E0C9DDFF91E4 +:1054D000EF91BF91AF919F918F917F916F915F916C +:1054E0004F913F912F910F900BBE0F900FBE0F90D9 +:1054F0001F9018951F920F920FB60F9211240BB6A2 +:105500000F922F933F934F935F936F937F938F935C +:105510009F93AF93BF93EF93FF9348EA50E064EA01 +:1055200070E083E090E09CDDFF91EF91BF91AF913F +:105530009F918F917F916F915F914F913F912F91AB +:105540000F900BBE0F900FBE0F901F9018951F92DB +:105550000F920FB60F9211240BB60F922F933F9319 +:105560004F935F936F937F938F939F93AF93BF936B +:10557000EF93FF9348E950E064E970E082E090E047 +:105580006FDDFF91EF91BF91AF919F918F917F91CF +:105590006F915F914F913F912F910F900BBE0F90A4 +:1055A0000FBE0F901F9018951F920F920FB60F927B +:1055B00011240BB60F922F933F934F935F936F93EA +:1055C0007F938F939F93AF93BF93EF93FF9348E89D +:1055D00050E064E870E081E090E042DDFF91EF91FF +:1055E000BF91AF919F918F917F916F915F914F91FB +:1055F0003F912F910F900BBE0F900FBE0F901F90F9 +:10560000189508950F931F93CF93DF93FC0120818A +:10561000318121153105D1F1EC01822FCADC21E065 +:10562000892B09F420E02B876A85261729F01E8232 +:105630001F82188619860BC08E819F81A885B98527 +:105640000196A11DB11D8E839F83A887B9870E8106 +:105650001F81288539858A819B81AC81BD8108178E +:1056600019072A073B0794F081E068278881C9DC85 +:105670000990D881C02D0E94A53440E050E0BE01C1 +:10568000DF91CF911F910F910C949B09DF91CF91E6 +:105690001F910F910895CF92DF92EF92FF920F9397 +:1056A0001F93CF93DF937C016B018A01E9010E9474 +:1056B0001A09F601EE0FFF1FEE0FFF1FEA5AF84F0F +:1056C00080819181F701918380830E941A09000FE4 +:1056D000111F000F111FF801EA5AF84F81E04081B5 +:1056E000518162817381413051056105710509F075 +:1056F00080E0F70182870E941A09CC0FDD1FCC0FD2 +:10570000DD1FCA5AD84F88819981AA81BB81F701D0 +:1057100082839383A483B5831682178210861186B1 +:10572000DF91CF911F910F91FF90EF90DF90CF907D +:10573000089508952F923F924F925F926F927F92B9 +:105740008F929F92AF92BF92CF92DF92EF92FF9291 +:105750000F931F93CF93DF9300D000D0CDB7DEB768 +:105760009E838D834B015A013A8329831801FC8261 +:10577000EB82FA01408051806280738020E030E04B +:10578000A901C301B2010E94354F181674F4F60145 +:105790002081318142815381C301B2010E94374E81 +:1057A000F5016083718382839383ED81FE81E05AEA +:1057B000FF4F8081F401008D118DC088D188E2886F +:1057C000F388F1014080518062807380D801A70185 +:1057D0009601882341F00E94004E641575058605E8 +:1057E000970544F023C00E94004E461657066806EF +:1057F0007906E4F4F501408051806280738020E0F6 +:1058000030E04AEF56E4C301B2010E94A84C87FF82 +:105810000DC020E030E040E85FE3C301B2010E9428 +:10582000384EF5016083718382839383D801A70189 +:1058300096010E94004EF1016083718382839383FD +:105840000D811E81025C1F4FF80180819181A28130 +:10585000B381E981FA8180839183A283B383EB8151 +:10586000FC8180819181892B41F0C4010E94B33574 +:10587000F801608371838283938326960FB6F89430 +:10588000DEBF0FBECDBFDF91CF911F910F91FF9073 +:10589000EF90DF90CF90BF90AF909F908F907F90D0 +:1058A0006F905F904F903F902F9008950E948918BD +:1058B0000C94D01A0E9489180C94A517CF93DF93EB +:1058C000EC01FC01EE53FD4F1082E858F109808194 +:1058D000811103C0CE01409688D1FE01E55CFD4FE9 +:1058E0008081811104C0CE0186579F4F7ED1FE0179 +:1058F000E45CFD4F8081811104C0CE018C5F9E4F1E +:1059000074D164E670E080E090E0DF91CF91B4CC98 +:105910008FEF9FEF0895EBE0F1E08081877F808338 +:105920000895EBE0F1E080818860808308958E988F +:1059300008958E9A089514980895149A0895889851 +:105940000895889A08950C9496470C9496470C9461 +:1059500096470C9496470C9496470F931F93CF93BA +:10596000DF93FB01C2A1D3A1068D178D8091A20BFD +:105970009091A30B892B41F481E090E00E940147B4 +:105980009093A30B8093A20B0430110539F00530DE +:10599000110541F4BE0181EE9CE003C0BE018EED15 +:1059A0009CE0F8DC80E090E0DF91CF911F910F91B7 +:1059B00008958F929F92AF92BF92CF92DF92EF9213 +:1059C000FF920F931F930E94DD161F921F9221E0FA +:1059D0002F931F921F92812C912CA12CB12CC12CA2 +:1059E000D12C760197018601B701A6010E941A0BFE +:1059F0000F900F900F900F900F9080E090E01F910C +:105A00000F91FF90EF90DF90CF90BF90AF909F905D +:105A10008F9008950E9489180E94E61780E090E018 +:105A2000089560E0FC018385ECCA60E0FC0185819B +:105A3000E8CA61E0FC018385E4CA61E0FC0185817C +:105A4000E0CACF93DF93FB01C68DD78D0E941A0960 +:105A5000BE010E94D70880E090E0DF91CF910895C9 +:105A6000CF93DF938091A40B9091A50B892BF1F438 +:105A70008CE390E00E940147EC01FC01CC9611827E +:105A800010823C96E817F907D1F7198218821D8613 +:105A90001C86198E188E1DA21CA219AA18AACE0146 +:105AA0000E94171BD093A50BC093A40B8091A40B4D +:105AB0009091A50BDF91CF910895089508950895D1 +:105AC00008951F920F920FB60F9211240BB60F92EA +:105AD0002F933F934F935F936F937F938F939F93F6 +:105AE000AF93BF93EF93FF93E0914207F091430789 +:105AF0001995FF91EF91BF91AF919F918F917F91F8 +:105B00006F915F914F913F912F910F900BBE0F902E +:105B10000FBE0F901F901895CF93DF93EC01FC01FF +:105B2000E759FF4F1082379781E0808360E08D81D5 +:105B300068DA8F859889892B29F060E08B85DF9161 +:105B4000CF915FCADF91CF910895CF93DF93EC019E +:105B50008B892FDA2E8930E08217930711F48F8911 +:105B600001C080E0DF91CF910895CF93DF93EC01E6 +:105B700089891FDA2E8930E08217930711F48F8903 +:105B800001C080E0DF91CF910895CF93DF93EC01C6 +:105B90008DA5882311F061E001C060E08F8131DACA +:105BA0008EA5882329F08FA5882311F061E001C01C +:105BB00060E08D85DF91CF9124CACF93DF93EC0114 +:105BC0008DA5882311F060E001C061E08F8119DAB2 +:105BD0008EA5882329F08FA5882311F060E001C0ED +:105BE00061E08D85DF91CF910CCACF93DF93EC01FB +:105BF00061E0898506DA8EA5882319F061E08F853A +:105C000000DAC959DF4F1882DF91CF910895CF9301 +:105C1000DF93EC0160E08985F4D98EA5882319F023 +:105C200060E08F85EED9C959DF4F81E08883DF912D +:105C3000CF910895CF92DF92EF92FF920F931F932F +:105C4000CF93DF93FC0142AF53AF64AF75AFDC017C +:105C5000DE964D935D936D937C93139714960D93FD +:105C60001D932D933C931397EC01CA5BDF4FE882A1 +:105C700084A9882389F084A5811109C037FF0CC04D +:105C80001D921D921D921C92139781E006C0101662 +:105C9000110612061306A4F380E045A956A967A9C8 +:105CA00070AD14161506160617063CF591AD99232E +:105CB00021F10D911D912D913C911397680179016E +:105CC00037FF07C0CC24DD247601C01AD10AE20ACE +:105CD000F30A4C155D056E057F057CF437FF07C0A0 +:105CE00070956095509541955F4F6F4F7F4F4D93E5 +:105CF0005D936D937C93139781E0DF01A15BBF4FB0 +:105D00001D921D921D921C921397E15AFF4F91E034 +:105D10009083DF91CF911F910F91FF90EF90DF90D3 +:105D2000CF9008950F931F93CF93DF938C01D62FBD +:105D3000FC018589811109C0C80117DFC82FC8017E +:105D400004DFD11108C08C2F06C0C801FEDEC82FA9 +:105D5000C8010BDFF6CFDF91CF911F910F9108950E +:105D6000CF93DF93EC01FC01E759FF4F81E0808383 +:105D700039978081B297882341F080819181A281F7 +:105D8000B3810196A11DB11D07C080819181A281BF +:105D9000B3810197A109B10980839183A283B38361 +:105DA000FE01E459FF4F20813181DE01A659BF4F2A +:105DB000C9019595879520FD03C0ED91FC910DC01B +:105DC000FE01E80FF91F0190F081E02D2D913C912B +:105DD000E20FF31F0190F081E02D8C0F9D1F1995AC +:105DE0008F859889892B11F1FE01E059FF4F2081A1 +:105DF0003181DE01A259BF4FC9019595879520FDDC +:105E000003C0ED91FC910DC0FE01E80FF91F019058 +:105E1000F081E02D2D913C91E20FF31F0190F08174 +:105E2000E02D8C0F9D1FDF91CF911994DF91CF91C1 +:105E300008958F929F92AF92BF92CF92DF92EF928E +:105E4000FF920F931F93CF93DF93EC01FC01E15B73 +:105E5000FF4F60817181828193810E94AC4C6B0104 +:105E60007C0168A979A98AA99BA90E94AE4C9B01D3 +:105E7000AC0160E074E284E799E40E949C4E4B011F +:105E80005C01FE01E55AFF4F60817181828193813F +:105E90000E94AC4C9B01AC01C501B4010E949C4E18 +:105EA0004B015C018E010D5A1F4F20E030E040E0B5 +:105EB0005FE30E940D4D9B01AC01C701B6010E943A +:105EC000384E0E94094FF801608371838283938367 +:105ED000C95ADF4FA5019401C701B6010E94384E8F +:105EE0000E94094F688379838A839B83DF91CF91D6 +:105EF0001F910F91FF90EF90DF90CF90BF90AF90E8 +:105F00009F908F9008950F931F93CF93DF93FC0181 +:105F1000E759FF4F20812223B9F07A970081118140 +:105F200022813381389640815181628173810417C7 +:105F300015072607370710F1EC01EEDDCE01DF91E2 +:105F4000CF911F910F9175CFFC01E15AFF4F208136 +:105F50002223A1F070970081118122813381349630 +:105F60004081518162817381041715072607370725 +:105F700028F0DF91CF911F910F91F2CEDF91CF9159 +:105F80001F910F9108952F923F924F925F926F92BF +:105F90007F928F929F92AF92BF92CF92DF92EF92B9 +:105FA000FF920F931F93CF93DF93CDB7DEB7629726 +:105FB0000FB6F894DEBF0FBECDBF8C017C0126E486 +:105FC000E20EF11CD7018C919801205A3F4FF80145 +:105FD000EF59FF4F6F01A801425C5F4F4A011497D0 +:105FE0001D01882341F0F80184A5D9018C9381E03B +:105FF000F60180832FC0DA014D915D916D917C9106 +:10600000F10180819181A281B381BB24B3944817AF +:1060100059076A077B070CF0B12CF901B08277FFB2 +:1060200007C070956095509541955F4F6F4F7F4FBA +:10603000B7FF07C0B095A095909581959F4FAF4F42 +:10604000BF4F21E0481759076A077B070CF420E08F +:10605000D6012C93F40140815181628173814115F5 +:1060600051056105710559F4F801848D958DA68D52 +:10607000B78DE55AFF4F80839183A283B383F101EB +:1060800080819181A281B381F80142AC53AC64ACB0 +:1060900075AC9801215A3F4F5901481659066A06B6 +:1060A0007B0634F4481759076A077B077CF00AC05F +:1060B00084159505A605B7052CF484179507A60742 +:1060C000B70724F0D7018C918823D9F0F50180819E +:1060D0008823B9F0D7018C91811105C0F701808127 +:1060E00081110FC006C060E0C8011CDE8111F6CF2F +:1060F00017C0D6016C9181E06827C80113DE8823A0 +:1061000079F0D5011C9260E0C8010CDE882309F407 +:10611000C6C1F801FE961082118212821382BFC19D +:10612000D80194962D913D914D915C91979729833B +:106130003A834B835C8358962D913D914D915C91B0 +:106140005B972D833E834F8358875C962D913D91BD +:106150004D915C915F9729873A874B875C87F10166 +:1061600080819181A281B381F801FE96C080D180A7 +:10617000E280F380F80142AD53AD64AD75ADED59E9 +:10618000FF4F1082319610823801F5E66F0E711CB8 +:10619000F301108298012A593F4FF901108232967B +:1061A00010824C015D01841A950AA60AB70AB7FE4F +:1061B00008C0B094A09490948094811C911CA11C60 +:1061C000B11C481759076A077B072CF4C41AD50A73 +:1061D000E60AF70A04C0C81AD90AEA0AFB0AD50176 +:1061E000C401B595A795979587958D879E87AF87AD +:1061F000B88BD801A859BF4F1D01F7FC05C08C14FE +:106200009D04AE04BF044CF4F80100A0F1A1E02D00 +:10621000FA8BE98B81E0D9011BC02D853E854F8526 +:1062200058892C153D054E055F0508F454C0898139 +:106230009A81AB81BC818C159D05AE05BF0564F4C8 +:106240002D813E812F5F3F4F3A8B298B81E0D30117 +:106250008C93F10180839EC0C701B6010E94AE4CB1 +:106260002B013C0169817A818B819C810E94AE4C1B +:106270009B01AC01C301B2010E949C4E2B013C0169 +:106280006D817E818F81988529853A854B855C85D6 +:10629000621B730B840B950B0E94AE4C9B01AC01EF +:1062A000C301B2010E940D4D2B013C0169857A8525 +:1062B0008B859C850E94AE4C9B01AC01C301B20151 +:1062C0000E94384E0E94044F7A8B698B81E0F8015E +:1062D000ED59FF4F5CC0D501C40129813A814B8142 +:1062E0005C81821B930BA40BB50BC816D906EA067A +:1062F000FB065CF42D813E812E5F3F4F3A8B298B4C +:1063000081E0F801EB59FF4F42C0C501B4016C199F +:106310007D098E099F090E94AE4C2B013C016981C9 +:106320007A818B819C810E94AE4C9B01AC01C301A0 +:10633000B2010E949C4E2B013C016D817E818F81B8 +:10634000988529853A854B855C85621B730B840B88 +:10635000950B0E94AE4C9B01AC01C301B2010E949F +:106360000D4D2B013C0169857A858B859C850E94AA +:10637000AE4C9B01AC01C301B2010E94384E0E9499 +:10638000044F7A8B698B81E0F801EC59FF4F8083D1 +:10639000D1018C93F80184818823B1F00E94742983 +:1063A000D80112964D905C901397052C000C66084E +:1063B0007708DC01CB0184199509A609B709893E44 +:1063C0009340A105B10568F4F801E55AFF4F29890A +:1063D0003A89C901A0E0B0E080839183A283B383AE +:1063E00092CE0E947429D80113967C936E931297D3 +:1063F00084E294E00E94053B86E196E00E94053B22 +:1064000060E070E0CB010E94513B8CE196E00E947D +:10641000053BC701B6010E94513B82E296E00E9413 +:10642000053BC501B4010E94513B88E296E00E9401 +:10643000053B4AE06D857E858F8598890E94063BE5 +:106440008FE296E00E94053B69817A818B819C8175 +:106450000E94513B85E396E00E94053B69857A8561 +:106460008B859C850E94513B8BE396E00E94053B07 +:106470006D817E818F8198850E94513B81E496E0F9 +:106480000E94053B8EE496E00E94053B89899A892B +:106490000E94783B8CE993E00E94053B95CF629681 +:1064A0000FB6F894DEBF0FBECDBFDF91CF911F9125 +:1064B0000F91FF90EF90DF90CF90BF90AF909F90A3 +:1064C0008F907F906F905F904F903F902F900895A6 +:1064D0000F931F93FC01EA5BFF4F2081211110C035 +:1064E0003897008111812281338134964081518116 +:1064F00062817381041715072607370744F404C027 +:10650000FC0124A5222319F01F910F9156CB1F9156 +:106510000F913BCBFC0113821282148216821582EA +:1065200010861782128611861486138616861586A3 +:10653000108A1786128A118A148A138ADC01A15ADA +:10654000BF4F1C9212AE13AE14AE15AE91971D92B2 +:106550001D921D921C92139714961D921D921D92CE +:106560001C92139714961C925A961C9211961C9288 +:1065700012961C9211961C9211961C9211961C92C6 +:1065800011961C9211961C9211961C9211968DE1F7 +:106590009DE211969C938E93129611961C921E92D8 +:1065A000129689E19DE211969C938E931296119614 +:1065B0001C921E92129685E19DE211969C938E93F9 +:1065C000129611961C921E92129681E19DE28D9375 +:1065D0009C93E858FF4F11821082089508956E34FD +:1065E00071050CF050C06B3471050CF08FC06C322B +:1065F000710554F5693271050CF088C06831710578 +:1066000094F46F3071050CF081C06630710544F46C +:10661000623071050CF07AC0672B09F075C076C046 +:106620006B5071096EC0623271053CF46F317105B7 +:106630000CF06CC06951710964C064527109623018 +:10664000710508F061C062C06A3371057CF467337C +:1066500071050CF05BC06D3271050CF455C06033F0 +:1066600071050CF453C0635371094BC06434710558 +:106670003CF4613471050CF049C06D53710941C09F +:10668000675471093EC066387105F4F463387105CA +:10669000ECF56237710564F46F367105BCF565364B +:1066A000710594F1683671058CF16956710929C03C +:1066B0006C37710534F46937710544F56357710916 +:1066C00020C06D5771091DC0603D71057CF46D3CA3 +:1066D0007105E4F46439710534F461397105B4F479 +:1066E0006D5871090EC0695C71090BC06A3D710576 +:1066F00034F4673D710554F4635D710902C06D5D4A +:1067000071096330710510F080E0089581E008950B +:106710000C9496470C9496470C9496470C94964785 +:106720000C9496470C9496470C9496470C94964775 +:106730000C9496470C9496470C9496478F929F9290 +:10674000AF92BF92CF92DF92EF92FF920F931F937F +:106750000E94DD1660E070E046D2892BD1F40E94E1 +:10676000DD161F921F9221E02F931F921F92812C02 +:10677000912CA12CB12CC12CD12C76019701860132 +:10678000B701A6010E941A0B0F900F900F900F9067 +:106790000F9080E090E01F910F91FF90EF90DF90BD +:1067A000CF90BF90AF909F908F9008958F929F92BF +:1067B000AF92BF92CF92DF92EF92FF920F931F930F +:1067C0000E94DD1661E070E00ED2892BD1F40E94A8 +:1067D000DD161F9221E02F931F921F921F92812C92 +:1067E000912CA12CB12CC12CD12C760197018601C2 +:1067F000B701A6010E941A0B0F900F900F900F90F7 +:106800000F9080E090E01F910F91FF90EF90DF904C +:10681000CF90BF90AF909F908F900895EF92FF928E +:106820000F931F93CF93DF9300D01F92CDB7DEB7A6 +:10683000FB0122A133A144A155A1068D178D298307 +:106840003A834B835C830E941A097C01FC0182819C +:10685000938129813A814B815C818F30F7E29F07D8 +:106860002CF40196F7019383828303C0F70113820E +:106870001282B801C70129833A834B835C83AFDE60 +:1068800029813A814B815C818823A1F0F801EE0FC8 +:10689000FF1FEE0FFF1FEA5AF84F20833183428318 +:1068A0005383B801C7010E948808B801C7010E943C +:1068B000D70803C085ED94E0A8D6D2D80E94171B54 +:1068C00080E090E00F900F900F900F90DF91CF91AC +:1068D0001F910F91FF90EF9008950F931F93CF9307 +:1068E000DF930E941A098C01C0E0D0E0BE01C8010C +:1068F00076DE882321F0BE01C8010E94D7082196C8 +:10690000C13ED10599F787E496E07FD60E948918A9 +:106910000E94931780E090E0DF91CF911F910F913B +:1069200008958BE496E071D685E593E06ED60E94DB +:1069300089180E94931780E090E008950E948918BA +:10694000FC01148680E090E008958091A60B909160 +:10695000A70B892BA1F480E790E00E940147FC017E +:10696000F9969C0123593F4FDF01D8971C92119251 +:10697000E217F307C9F79093A70B8093A60B8091BA +:10698000A60B9091A70B08956F927F928F929F9282 +:10699000AF92BF92CF92DF92EF92FF920F931F932D +:1069A000CF93DF93FB01E2A8F3A886A497A4A0A845 +:1069B000B1A8C6A0D7A062A073A0068D178DC5DFB1 +:1069C000EC019701A301B8010E94320AC501B4018C +:1069D0000E943C299701A601B801CE010E94320A0B +:1069E00080E090E0DF91CF911F910F91FF90EF90A9 +:1069F000DF90CF90BF90AF909F908F907F906F90DF +:106A000008950F931F93CF93DF93FB0102A913A95E +:106A1000C68DD78D9ADFA801BE010E949B0980E038 +:106A200090E0DF91CF911F910F9108951F93CF9325 +:106A3000DF931F92CDB7DEB7FB0162A9168D698384 +:106A400084DF6981812F0E94F52880E090E00F901B +:106A5000DF91CF911F910895EF92FF920F931F93B3 +:106A6000CF93DF93FB01E2A8F3A802A113A1C68D87 +:106A7000D78D6BDF9701A801BE010E94320A80E02A +:106A800090E0DF91CF911F910F91FF90EF900895CB +:106A900008950895089508950895CF93DF93EC0124 +:106AA00088810E94D92721E0892B09F420E02C87D6 +:106AB0008C810E94D92721E0892B09F420E02E87C0 +:106AC0008E899F890197D1F48A810E94D92721E07C +:106AD000892B09F420E02D878E810E94D92721E09F +:106AE000892B09F420E02F879C858D85981749F024 +:106AF0008E85821731F09A878B8703C08C858A87B1 +:106B00002B87DF91CF9108950F93FC019285908799 +:106B100083858187A689B789119721F4621721F0AF +:106B2000401711F06287438783858823D1F08285DF +:106B300091110AC08823A9F080899189A289B3891B +:106B40000197A109B10909C081110BC08089918900 +:106B5000A289B3890196A11DB11D808B918BA28B57 +:106B6000B38B0F910895CF93DF93FC01A489B5896E +:106B7000C08DD18D2089318942895389A03187E226 +:106B8000B80759F01A161B0644F40E94004E20E183 +:106B900037E240E050E00E94DA4DDE010E94004EF4 +:106BA000DF91CF910895FC0181E090E0938F828F77 +:106BB0001182108215821482108A118A128A138A15 +:106BC000178A168A80E197E2958B848B128610864D +:106BD00014861586168617860895089508950895D3 +:106BE0000895089508952F923F924F925F926F9269 +:106BF0007F928F929F92AF92BF92CF92DF92EF924D +:106C0000FF920F931F93CF93DF93CDB7DEB7A39778 +:106C10000FB6F894DEBF0FBECDBF9BA38AA31B01A6 +:106C20000E94271D8AA19BA10E944C1B8AA19BA1A7 +:106C30000E94562C8AA19BA10E945A2C21E0221668 +:106C40003104C9F132E02316310409F466C021147D +:106C5000310409F095C0AAA0BBA040E1A40EB11C6C +:106C60008AA19BA182589E4F9E838D83EAA1FBA19E +:106C7000EA5BFD4F90819D87AAA1BBA1A959BD4F99 +:106C8000B887AF83EAA1FBA1EF56FD4FF98BE88BE4 +:106C90002AA13BA12D553D4F3D8B2C8B4AA15BA1D9 +:106CA0004D515E4F5C874B878DE890E09B8B8A8BC4 +:106CB000A5E1B0E062C0AAA0BBA0BAE8AB0EB11CCF +:106CC000EAA1FBA1E656FE4FFE83ED83EAA1FBA1FC +:106CD000E95BFD4F20812D874AA15BA145595D4F9E +:106CE00058874F838AA19BA18D569D4F998B888B86 +:106CF000AAA1BBA1AC55BD4FBD8BAC8BEAA1FBA13A +:106D0000EB51FE4FFC87EB872EE830E03B8B2A8B64 +:106D100046E150E05C834B8336C0AAA0BBA05CEF89 +:106D2000A51A5EEFB50A8AA19BA18A549E4F9E8345 +:106D30008D83EAA1FBA1E85BFD4F90819D87AAA10D +:106D4000BBA1A159BD4FB887AF83EAA1FBA1EB5608 +:106D5000FD4FF98BE88B2AA13BA12B553D4F3D8B75 +:106D60002C8B4AA15BA149515E4F5C874B878FE812 +:106D700090E09B8B8A8BA7E1B0E0BC83AB8303C020 +:106D800080E596E00CC0C5010E94B52D811105C0BB +:106D9000C5010E94A52D882369F081EE96E035D4C7 +:106DA0000E94891881E090E0909345078093440702 +:106DB00090E0C8C384E294E028D48FE796E025D41D +:106DC000D5018C9163D487E197E01FD48CE993E0DF +:106DD0001CD481E090E0EB85FC859183808341E0C9 +:106DE00050E0B5018AA19BA10E94E118C5010E9453 +:106DF000072ED5019C968C918501005A1F4F882340 +:106E000039F0C5010E94DD2D81E0F801808305C0C5 +:106E1000C5010E94C52DD8011C928D819E81A3DEE3 +:106E2000F501FE966083718382839383EF81F885F9 +:106E30001082118212821382EAA1FBA1E959FD4F4F +:106E40001082118212821382EAA1FBA1E559FD4F43 +:106E50001082118212821382EAA1FBA1E159FD4F37 +:106E6000108211821282138286E090E0AB85BC858D +:106E70008D939C9346E050E0B5018AA19BA10E94AE +:106E8000E11841E050E0B5018AA19BA10E94C6181B +:106E9000412C512C320143948AA19BA1820D931D58 +:106EA000FC01ED55FD4FFF87EE874101880C991CD1 +:106EB000880C991CC40189569D4F2AA13BA1280F1B +:106EC000391F3F8B2E8BC101875A9E4F880F991F08 +:106ED0004AA15BA1480F591F5B8F4A8FC4018B5792 +:106EE0009D4FAAA1BBA1A80FB91FBD8FAC8FF40104 +:106EF000E758FD4FFF8FEE8F8AA19BA1880D991D4A +:106F00009C01205F3D4F3A872987AE85BF858C91D4 +:106F10008823B1F0A40149595D4FEAA1FBA14E0FAE +:106F20005F1FCE88DF88EA8CFB8C0C8D1D8D2E8D2B +:106F30003F8D2E0F3F1F6D817E81C5010E949A2BD0 +:106F400088EA9BE00E94E4241816190624F01A82AD +:106F5000198210E01DC088EA9BE00E94C2248F7D48 +:106F600085349105A1F782E095E04FD30E948918FE +:106F700021E0DC011C962C9382E693E046D30E942C +:106F800089180E949317E1E0F0E0FA83E98311E0A9 +:106F9000C5010E94B52D8111C4C2C5010E94A52D55 +:106FA0008111BFC21111BDC2A889B9896D917C91AF +:106FB000072E000C880B990B0E94AE4C9B01AC0174 +:106FC000EF81F88560817181828193810E94A84C54 +:106FD00087FFA7C2C5010E94B02EE985FA852081EE +:106FE00031814281538160E573EC80E090E00E9442 +:106FF000DA4DC9010E943129A985BA852D913D91AB +:107000004D915C91A3E0B0E00E94F64D9B01AC0174 +:10701000C301B2010E94DA4D672B682B692B39F44A +:107020008EE593E0F2D20E9489180E949317C50161 +:107030000E948C2DA985BA852D913D914D915C9131 +:1070400060E573EC80E090E00E94DA4DC9010E9497 +:107050003129BFEF4B1A5B0A6B0A7B0AE981FA817F +:10706000EF2B09F452CF21E030E03A83298342E04C +:1070700050E0B5018AA19BA10E94C61884E294E069 +:10708000C4D28FE796E0C1D2D5018C91FFD286E8B9 +:1070900096E0BBD28CE993E0B8D2E981FA81EF2B7C +:1070A000D1F489E996E0B1D28EE496E0AED281EDDA +:1070B00094E0ABD28B819C811BD38EE496E0A5D269 +:1070C00083ED94E0A2D2FD858F2F90E011D30E9432 +:1070D00089180E9493178AA19BA10E94562C8AA10D +:1070E0009BA10E945A2C84E294E08FD28FE796E015 +:1070F0008CD2D5018C91CAD28DE996E086D28CE9EA +:1071000093E083D2EF81F88510821182128213827C +:10711000D5019C968C918501005A1F4F882331F030 +:10712000C5010E94C52DF801108206C0C5010E944C +:10713000DD2D81E0D8018C938D819E8114DDF501D8 +:10714000FE966083718382839383EAA1FBA1E95950 +:10715000FD4F1082118212821382EAA1FBA1E55930 +:10716000FD4F1082118212821382EAA1FBA1E15924 +:10717000FD4F10821182128213828D819E81F3DC79 +:107180006E8B7F8B888F998F412C512C32014394C9 +:107190008AA19BA1820D931DFC01ED55FD4FFB8F34 +:1071A000EA8F9101220F331F220F331F3C832B8361 +:1071B000C90189569D4F4AA15BA1480F591F5D8F98 +:1071C0004C8FC101875A9E4F880F991FAAA1BBA15E +:1071D000A80FB91FBF8FAE8FC9018B579D4FEAA172 +:1071E000FBA1E80FF91FF9A3E8A3C9012AA13BA15C +:1071F000820F931FAC01405F5D4F5F874E87920106 +:10720000215031093A872987490149815A81452B03 +:1072100009F0C7C0AA8DBB8D8C918823C9F02B8142 +:107220003C8127583D4FEAA1FBA12E0F3F1F4B8108 +:107230005C8149595D4F4E0F5F1FCC8CDD8CEE8C0D +:10724000FF8C08A119A16D817E81C5010E949A2B36 +:1072500088EA9BE00E94E4241816190614F010E056 +:107260001DC088EA9BE00E94C2248F7D8534910571 +:10727000B1F782E095E0C9D10E94891821E0DC01D4 +:107280001C962C9382E693E0C0D10E9489180E943C +:107290009317E1E0F0E0FA83E98311E029853A856C +:1072A0002A30310538F4AF81B8851D921D921D92A8 +:1072B0001C921397BD85C501B1113FC10E94A52D38 +:1072C00081116BC0112319F089849A8466C0E88902 +:1072D000F98960817181072E000C880B990B0E943F +:1072E000AE4C9B01AC01AF81B8856D917D918D91C4 +:1072F0009C910E94A84C87FFE7CFC5010E94B02E49 +:10730000EE85FF85208131814281538160E573ECF8 +:1073100080E090E00E94DA4DC9010E943129AE85DB +:10732000BF852D913D914D915C91A3E0B0E00E940D +:10733000F64D9B01AC01C301B2010E94DA4D672BEF +:10734000682B692B91F48EE593E05FD10E94891838 +:107350000E94931784E294E058D181EB96E055D1D6 +:10736000C201C6D18CE993E050D1C5010E948C2D99 +:10737000EE85FF85208131814281538160E573EC88 +:1073800080E090E00E94DA4DC9010E943129FFEFB0 +:107390004F1A5F0A6F0A7F0A32CF8FEB96E035D122 +:1073A00004C081E090E09A83898384E294E02DD147 +:1073B0008FE796E02AD1D5018C9168D183ED96E0D4 +:1073C00024D18CE993E021D18D819E81CCDBEC89A5 +:1073D000FD89EF2BA1F0DC01CB012E893F89488D7F +:1073E000598D821B930BA40BB50BB7FF07C0B0954B +:1073F000A095909581959F4FAF4FBF4F4C0149810C +:107400005A81452BF9F489E996E0FFD08EE496E0A5 +:10741000FCD081ED94E0F9D08A899B8969D18EE412 +:1074200096E0F3D083ED94E0F0D0B401092C000C89 +:10743000880B990B0E94AE4C42E05FD10E948918E4 +:107440000E94931785E090E0AB85BC858D939C935B +:1074500045E050E0B5018AA19BA10E94E118C50159 +:107460000E94F52D8AA19BA10E94562C8AA19BA166 +:107470000E945A2CB1E02B163104A9F0E2E02E163E +:10748000310401F1232861F50E948918C401990C87 +:10749000AA0BBB0B80934A0790934B07A0934C0712 +:1074A000B0934D071DC00E948918C401990CAA0B06 +:1074B000BB0B80934E0790934F07A0935007B09358 +:1074C00051070EC00E948918C401990CAA0BBB0B6E +:1074D0008093520790935307A0935407B093550796 +:1074E0000E9489180E94E617AB85BC851D921C92EC +:1074F00040E050E0B5018AA19BA10E94E11840E064 +:1075000050E0B5018AA19BA10E94C6180E9489186B +:10751000E981FA81F0934507E093440789819A81D4 +:1075200011C08FEB96E071D0C5010E94A52D882374 +:1075300009F49DCDB1E0BD879ACD0E94B52D811192 +:10754000C3CEC0CEA3960FB6F894DEBF0FBECDBF9C +:10755000DF91CF911F910F91FF90EF90DF90CF902F +:10756000BF90AF909F908F907F906F905F904F9063 +:107570003F902F900895CF93DF93FC01EA52FE4F86 +:10758000408151814115510559F1EC01C652DE4F40 +:10759000288139818E529E4F24173507C8F4FC018B +:1075A00080819181009761F0FC01E20FF31F8081DF +:1075B0008A3041F08D3029F48CE993E026D002C066 +:1075C00080E064D08881998101969983888308C07E +:1075D00040E050E06EE973E00E943C271982188277 +:1075E000DF91CF910895009769F0FC010190002090 +:1075F000E9F73197AF01481B590BBC0188EA9BE0C2 +:107600000C94842480E090E00895EDCF8F929F92B7 +:10761000AF92BF920F931F93CF93DF93CDB7DEB797 +:10762000A1970FB6F894DEBF0FBECDBF19A24230AE +:1076300008F44AE08E010F5D1F4F842E912CA12C7F +:10764000B12CA50194010E94064EE62FB901CA0192 +:1076500001501109EA3014F4E05D01C0E95CD80181 +:10766000EC93232B242B252B61F7C801BCDFA196BB +:107670000FB6F894DEBF0FBECDBFDF91CF911F9143 +:107680000F91BF90AF909F908F900895E091A80BBD +:10769000F091A90B0190F081E02D682F88EA9BE022 +:1076A0001994CF92DF92EF92FF92CF93DF9397FFDF +:1076B00017C06B017C018DE2E9DFEC0166277727BB +:1076C000CB016C197D098E099F094AE09FDF8C0F61 +:1076D0009D1FDF91CF91FF90EF90DF90CF900895A5 +:1076E0004AE0DF91CF91FF90EF90DF90CF908ECF67 +:1076F000BC01990F880B990BD4CF4F925F926F9278 +:107700007F928F929F92AF92BF92CF92DF92EF9231 +:10771000FF926B017C01B42E9B01AC010E94394F9A +:10772000882319F086E397E027C026013701E89403 +:1077300077F82FEF3FEF4FE75FE7C301B2010E94F9 +:10774000394F81110DC02FEF3FEF4FE75FE7C301C6 +:10775000B2010E94A84C18161CF48AE397E00CC0F2 +:107760002FEF3FEF4FE75FE4C701B6010E94354FAF +:1077700018167CF48EE397E0FF90EF90DF90CF90A7 +:10778000BF90AF909F908F907F906F905F904F9041 +:107790002ACF2FEF3FEF4FE75FECC701B6010E9402 +:1077A000A84C87FDE7CF20E030E0A901C701B60172 +:1077B0000E94A84C87FF08C08DE268DF4C01F7FAF1 +:1077C000F094F7F8F09402C0812C912CA12C60E089 +:1077D00070E080E09FE3AB1441F020E030E040E255 +:1077E00051E40E949C4EA394F6CF9B01AC01C701CB +:1077F000B6010E94384E2B013C010E94094F6B01DB +:107800007C010E94AC4C9B01AC01C301B2010E94FF +:10781000374E2B013C014AE0C701B601F7DE7C017F +:10782000E80CF91CBB2021F08EE230DFE80EF91ED7 +:10783000DB2CDD2019F120E030E040E251E4C3010F +:10784000B2010E940D4D2B013C010E94094F4B01DA +:10785000A12CB12C4AE0C501B401D8DEE80EF91E16 +:10786000C501B4010E94AC4C9B01AC01C301B20143 +:107870000E94374E2B013C01DA94DBCFC701FF9009 +:10788000EF90DF90CF90BF90AF909F908F907F90C0 +:107890006F905F904F900895789484B5826084BD16 +:1078A00084B5816084BD85B5826085BD85B5816004 +:1078B00085BD80916E00816080936E001092810082 +:1078C000809181008260809381008091810081603D +:1078D00080938100809180008160809380008091FE +:1078E000B10084608093B1008091B000816080938A +:1078F000B00080919100826080939100809191000E +:1079000081608093910080919000816080939000CD +:107910008091A10082608093A1008091A10081608C +:107920008093A1008091A00081608093A00080914D +:1079300021018260809321018091210181608093E7 +:1079400021018091200181608093200180917A0043 +:10795000846080937A0080917A00826080937A00BC +:1079600080917A00816080937A0080917A008068AB +:1079700080937A001092C10061E08AE10E94F528AC +:1079800061E08BE10E94F52861E089E10E94F52821 +:1079900061E08FE00E94F52861E08EE10E94F52809 +:1079A00061E08EE00E94F52862E085E40E94F528FF +:1079B00062E084E40E94F52862E080E10E94F528FC +:1079C00062E081E10E94F52861E080E20E94F528F2 +:1079D00061E081E20E94F52861E08FE10E94F528D4 +:1079E00062E083E40E94F52862E082E40E94F528C8 +:1079F00062E087E10E94F52862E088E10E94F528B4 +:107A000061E083E20E94F52861E084E20E94F528AB +:107A100061E082E20E94F52862E081E40E94F5289C +:107A200062E080E40E94F52862E08DE10E94F52882 +:107A300062E08CE10E94F52861E088E20E94F5286E +:107A400061E089E20E94F52861E085E20E94F52864 +:107A500061E085E20E94012861E08DE00E94F52846 +:107A600061E089E00E94F52861E088E00E94F52845 +:107A700061E087E00E94F52861E08AE00E94F52835 +:107A800061E08CE00E94F52862E08FE30E94F52817 +:107A900062E08BE30E94F52861E084E00E94F52813 +:107AA00061E085E00E94F52861E086E00E94F5280B +:107AB00061E087E00E94F52861E089E10E940128E9 +:107AC00061E08EE00E94012861E08FE10E940128C0 +:107AD00061E082E20E940128E091B80BF091B90BBD +:107AE00082E08083E091B40BF091B50B1082E091BD +:107AF000B60BF091B70BD0E1D0831092C00BE091A0 +:107B0000BC0BF091BD0B86E08083E091BA0BF09145 +:107B1000BB0B808180618083E091BA0BF091BB0B3D +:107B2000808188608083E091BA0BF091BB0B8081EB +:107B300080688083E091BA0BF091BB0B80818F7DD0 +:107B4000808364E670E080E090E00E943C290E941F +:107B5000DD160E948C130E94302D0E94171B0E947C +:107B6000742960937E0B70937F0B8093800B9093AE +:107B7000810B82ED97E09093430780934207C1E029 +:107B8000C0936F00D093810010928000C093DC0AF4 +:107B900080E092E09093DB0A8093DA0A909387006A +:107BA0008093860081E18093810010928100109281 +:107BB0008500109284008091DC0A806180938100AE +:107BC0000E94742960937A0B70937B0B80937C0BDB +:107BD00090937D0B0E9474296093820B7093830BAA +:107BE0008093840B9093850B0E94742960937E0B85 +:107BF00070937F0B8093800B9093810B0E941A09E6 +:107C000080915E0790915F07A0916007B091610736 +:107C10000197A105B10579F40E941A098091A60780 +:107C20009091A707A091A807B091A9070197A10576 +:107C3000B10509F4C9C70E941A0980915E079091A5 +:107C40005F07A0916007B09161070197A105B10599 +:107C500079F40E941A098091A2079091A307A0913C +:107C6000A407B091A5070197A105B10509F4CAC7FA +:107C70000E941A0980915E0790915F07A0916007AA +:107C8000B09161070197A105B10579F40E941A0925 +:107C900080919E0790919F07A091A007B091A107A6 +:107CA0000197A105B10509F4CCC780E893E0ADDCEC +:107CB0008FE7282E82E0382E95E7A92E92E0B92E84 +:107CC0000E9474296093820B7093830B8093840BC2 +:107CD0009093850B00917E0B10917F0B2091800B70 +:107CE0003091810B601771078207930748F4609306 +:107CF0007E0B70937F0B8093800B9093810B2CC035 +:107D0000DC01CB01801B910BA20BB30B883E93408F +:107D1000A105B10508F108511C4F2F4F3F4F0093AB +:107D20007E0B10937F0B2093800B3093810B0E946E +:107D3000302DEC010E94022BCE010C960E94022BEA +:107D4000CE0148960E94022BCE0184960E94022BFF +:107D5000CE01C0960E94022B88EA9BE00E94E42498 +:107D6000892B09F4BCC50E94742960937A0B709327 +:107D70007B0B80937C0B90937D0B88EA9BE00E94A9 +:107D8000C2248093790B982F9F7D953479F02091B0 +:107D9000770B3091780BF901EB5BF44F80832F5F09 +:107DA0003F4F3093780B2093770B06C00E948918C1 +:107DB00021E0DC011C962C938091770B9091780B3D +:107DC0008133910564F02AE02093790BFC01EB5B91 +:107DD000F44F208301969093780B8093770B8091DA +:107DE000790B2091770B3091780B8A3039F4C901E7 +:107DF0000197A2E1BBE0E5E4FBE004C022333105DA +:107E0000B4F76DC5AF0145545B40481759071CF4E2 +:107E100041914D93F7CFFC01EE5EF44F108222307A +:107E200031050CF458C581E193E0EFDB8EE496E078 +:107E3000ECDB8FE993E0E9DB82E19BE0E6DB8FE9B5 +:107E400093E0E3DB8CE993E0E0DB8AE390E0D9D7D1 +:107E5000EC011A821B821C821D821E821F821886E0 +:107E600019861A861B861C861D861E861F86188A02 +:107E7000198A1A8A1B8A1C8A1D8A1E8A1F8A188ED2 +:107E8000198E1A8E1B8E1C8E1D8E1E8E1F8E18A292 +:107E900019A21AA21BA21CA21DA21EA21FA218A6F2 +:107EA00019A61AA61BA61CA61DA61EA61FA618AAC2 +:107EB00019AA1AAA1BAA1CAA1DAA1EAA1FAA18AE92 +:107EC00019AE68E072E082E19BE00E9431488C01CB +:107ED000FC0180818654823008F027C161EA73E09A +:107EE000C8010E943950892B09F4D3C064EA73E0B9 +:107EF000C8010E943950892B09F4CBC068EA73E0AD +:107F0000C8010E943950892B09F4C6C06BEA73E09E +:107F1000C8010E943950892B09F4BEC06FEA73E092 +:107F2000C8010E943950892B09F4B9C063EB73E092 +:107F3000C8010E943950892B09F4B4C067EB73E083 +:107F4000C8010E943950892B09F4ACC06AEB73E078 +:107F5000C8010E943950892B09F4A7C06EEB73E069 +:107F6000C8010E943950892B09F4A2C062EC73E069 +:107F7000C8010E943950892B09F49DC066EC73E05A +:107F8000C8010E943950892B09F498C06AEC73E04B +:107F9000C8010E943950892B09F493C06EEC73E03C +:107FA000C8010E943950892B09F48EC062ED73E03C +:107FB000C8010E943950892B09F489C066ED73E02D +:107FC000C8010E943950892B09F484C06AED73E01E +:107FD000C8010E943950892B09F47FC06EED73E00F +:107FE000C8010E943950892B09F47AC062EE73E00F +:107FF000C8010E943950892B09F475C066EE73E000 +:10800000C8010E943950892B09F470C06AEE73E0F0 +:10801000C8010E943950892B09F46BC06EEE73E0E1 +:10802000C8010E943950892B09F466C062EF73E0E1 +:10803000C8010E943950892B09F461C066EF73E0D2 +:10804000C8010E943950892B09F45CC06AEF73E0C3 +:10805000C8010E943950892B09F457C06EEF73E0B4 +:10806000C8010E943950892B09F452C062E074E0C3 +:10807000C8010E943950892B09F44DC066E074E0B4 +:10808000C8010E943950892B09F448C08FEF9FEF37 +:1080900047C080E090E044C081E090E041C08CE1C6 +:1080A00090E03EC08DE690E03BC08FE690E038C0A7 +:1080B00080E790E035C081E790E032C082E790E051 +:1080C0002FC083E790E02CC084E790E029C088E7C8 +:1080D00090E026C089E790E023C08AE790E020C0C6 +:1080E00083E890E01DC084E890E01AC08DE890E03D +:1080F00017C08EE890E014C08FE890E011C080E9CE +:1081000090E00EC081EA90E00BC085EB90E008C0E3 +:1081100086EB90E005C087EB90E002C088EB90E032 +:108120009093010280930002BBC08FEF9FEF90936A +:10813000010280930002B8C0D8018C91883539F4CF +:10814000C80101968BD76A837B838C839D83F8015A +:108150008081893539F4C801019680D76E837F8389 +:1081600088879987D8018C918A3539F4C80101969E +:1081700075D76A877B878C879D87F80180818134DA +:1081800049F4C80101966AD70E94044F6E877F8721 +:10819000888B998BD8018C91823449F4C80101965F +:1081A0005DD70E94044F6A8B7B8B8C8B9D8BF80173 +:1081B0008081833449F4C801019650D70E94044F4E +:1081C0006E8B7F8B888F998FD8018C91833539F492 +:1081D000C801019643D76A8F7B8F8C8F9D8FF801E2 +:1081E0008081803549F4C801019638D70E94044F38 +:1081F0006E8F7F8F88A399A3D8018C91863549F41F +:10820000C80101962BD70E94044F6AA37BA38CA3BD +:108210009DA3F8018081873549F4C80101961ED7D6 +:108220000E94044F6EA37FA388A799A7D8018C91C1 +:10823000853449F4C801019611D70E94044F6AA7FA +:108240007BA78CA79DA7F8018081843549F4C801DC +:10825000019604D70E94044F6EA77FA788AB99AB05 +:10826000D8018C918D3449F4C8010196F7D60E944B +:10827000044F6AAB7BAB8CAB9DABF8018081813541 +:1082800049F4C8010196EAD60E94044F6EAB7FAB59 +:1082900088AF99AF6AE074E080E090E0E2D68C01AC +:1082A0000115110509F048CF0E948918DC011C96C0 +:1082B0001C910E941A0940906A0750906B076090C9 +:1082C0006C0770906D07CEA8DFA8E8ACF9AC0E94EF +:1082D0008918C0924607D0924707E0924807F0926B +:1082E0004907809100029091010299249394823071 +:1082F000910538F09C012F5631092630310508F0E0 +:10830000912C112371F08D36910559F09C0128575D +:1083100031092330310528F0855B9109039708F076 +:10832000D0C20E941A0980915E0790915F07A091C8 +:108330006007B09161070197A105B10529F0992067 +:1083400019F08DEF92E0BFC2209719F489EF92E007 +:10835000BAC2E0900002F0900102BFEFEB16FB06FC +:10836000A9F3E114F104B9F48091DD0A9091DE0AD9 +:10837000892B61F482E090E044D521E132E0FC01F8 +:10838000318320839093DE0A8093DD0A0091DD0A19 +:108390001091DE0A6EC0FCE1EF16F104B9F4809191 +:1083A000DF0A9091E00A892B61F482E090E029D500 +:1083B0002BE132E0DC012D933C939093E00A809313 +:1083C000DF0A0091DF0A1091E00A53C0BDE6EB1608 +:1083D000F104B9F48091E10A9091E20A892B61F4E9 +:1083E00082E090E00ED525E232E0FC01318320836B +:1083F0009093E20A8093E10A0091E10A1091E20A67 +:1084000053C0FFE6EF16F104B9F48091E30A9091AE +:10841000E40A892B61F482E090E0F3D42FE232E0A9 +:10842000DC012D933C939093E40A8093E30A00913E +:10843000E30A1091E40A53C000E010E0B0E7EB1645 +:10844000F104B9F48091E50A9091E60A892B61F470 +:1084500082E090E0D6D429E332E0FC01318320832E +:108460009093E60A8093E50A0091E50A1091E60AE6 +:108470006CC0F1E7EF16F104B9F48091E70A90912E +:10848000E80A892B61F482E090E0BBD423E432E077 +:10849000DC012D933C939093E80A8093E70A0091C6 +:1084A000E70A1091E80A6CC0B2E7EB16F104B9F4E0 +:1084B0008091E90A9091EA0A892B61F482E090E0C8 +:1084C000A0D42DE432E0FC01318320839093EA0AAA +:1084D0008093E90A0091E90A1091EA0A6AC0F3E779 +:1084E000EF16F104B9F48091EB0A9091EC0A892B14 +:1084F00061F482E090E085D427E532E0DC012D9341 +:108500003C939093EC0A8093EB0A0091EB0A109154 +:10851000EC0A68C0B4E7EB16F104B9F48091ED0AF7 +:108520009091EE0A892B61F482E090E06AD421E612 +:1085300032E0FC01318320839093EE0A8093ED0AB0 +:108540000091ED0A1091EE0A68C0F8E7EF16F10409 +:10855000B9F48091EF0A9091F00A892B61F482E0DE +:1085600090E04FD42BE632E0DC012D933C939093C6 +:10857000F00A8093EF0A0091EF0A1091F00A68C0A8 +:10858000B9E7EB16F104A9F48091F10A9091F20A8F +:10859000892B51F482E090E034D4FC01B182A082B6 +:1085A0009093F20A8093F10A0091F10A1091F20A75 +:1085B0006AC0FAE7EF16F104A9F48091F30A9091EA +:1085C000F40A892B51F482E090E01BD4DC012D9257 +:1085D0003C929093F40A8093F30A0091F30A10916D +:1085E000F40A6CC0BDE8EB16F104B9F48091F50A09 +:1085F0009091F60A892B61F482E090E002D429E898 +:1086000032E0FC01318320839093F60A8093F50ACF +:108610000091F50A1091F60A6CC03EE8E316F104E9 +:10862000B9F48091F70A9091F80A892B61F482E0FD +:1086300090E0E7D3E3E9F2E0DC01ED93FC93909363 +:10864000F80A8093F70A0091F70A1091F80A6CC0B3 +:10865000FFE8EF16F104B9F48091F90A9091FA0A53 +:10866000892B61F482E090E0CCD3EDE9F2E0DC010B +:10867000ED93FC939093FA0A8093F90A0091F90A1A +:108680001091FA0A6CC0F0E9EF16F104B9F4809188 +:10869000FB0A9091FC0A892B61F482E090E0B1D34F +:1086A000E7EAF2E0DC01ED93FC939093FC0A8093FF +:1086B000FB0A0091FB0A1091FC0A6CC0F1EAEF166C +:1086C000F104B9F48091FD0A9091FE0A892B61F4BE +:1086D00082E090E096D3E1EBF2E0DC01ED93FC93D5 +:1086E0009093FE0A8093FD0A0091FD0A1091FE0A04 +:1086F0006BC0F5EBEF16F104B9F48091FF0A90918D +:10870000000B892B61F482E090E07BD3EBEBF2E08D +:10871000DC01ED93FC939093000B8093FF0A009192 +:10872000FF0A1091000B50C0F6EBEF16F104B9F4FC +:108730008091010B9091020B892B61F482E090E013 +:1087400060D3E5ECF2E0DC01ED93FC939093020B37 +:108750008093010B0091010B1091020B35C0F7EBD8 +:10876000EF16F104B9F48091030B9091040B892B5F +:1087700061F482E090E045D3EFECF2E0DC01ED93B0 +:10878000FC939093040B8093030B0091030B1091C7 +:10879000040B1AC0F8EBEF16F104B1F48091050B4D +:1087A0009091060B892B61F482E090E02AD3E3EEEE +:1087B000F2E0DC01ED93FC939093060B8093050BA4 +:1087C0000091050B1091060B0115110589F489EF35 +:1087D00092E00E94053B0E9489180E9493178EE048 +:1087E00094E00E94F33A8CE993E00E94F33A71C05E +:1087F00085EF92E00E94053B0E9489180E94931722 +:108800000E9489181092450710924407E12CF12C20 +:10881000FFEFEF1AFF0A21E0E216F10441F081EFC9 +:1088200092E00E94053B0E9489180E949317D8018C +:10883000ED91FC910480F581E02DBE01C8011995F0 +:108840000E948918C0904407D09045070E9489185B +:10885000FC018485E114F104D9F281110AC0E41409 +:10886000F5043CF4C114D10421F0F2E0CF16D10498 +:1088700079F688EA9BE00E94E424181619062CF485 +:1088800088EA9BE00E94C224F4CFCD2809F4FBC102 +:10889000992009F4F5C10E941A0980916607909108 +:1088A0006707A0916807B09169070197A105B10515 +:1088B00009F0E6C10E94891821E0DC011C962C9386 +:1088C000DFC181E093E00E94053B0E9489180E946D +:1088D0009317CE012BD31092780B1092770B8091C7 +:1088E000110B811170C00E948918FC0184858823B6 +:1088F00009F469C00E94DD16EC01FC01EE53FD4F46 +:10890000108240960E94F52DCE0186579F4F0E94FF +:10891000F52DCE018C5F9E4F0E94F52D0E94A5344F +:108920007C018C01075C1F4FC1E0D0E06801F8E3D7 +:10893000CF1AD108D6018C918823D9F084E294E033 +:108940000E94053B88E294E00E94053BCE010E9414 +:10895000783B8CE993E00E94053B60E08C2F0E94FD +:10896000012840E050E0BE01C7010E949B09F601CA +:108970001082D8018C918823F9F084E294E00E945F +:10898000053B8FE394E00E94053BCE010E94783BBB +:108990008CE993E00E94053B61E08C2F0E94F52852 +:1089A00060E08C2F0E94012841E050E0BE01C70129 +:1089B0000E949B09F801108221960F5F1F4FC5335B +:1089C000D10509F0B3CF0E948918DC011C968C9167 +:1089D0008093110BC0910F0BD091100B0E941A09BC +:1089E000FC0182819381C817D90799F00E941A0966 +:1089F000DC0112968D919C9113979093100B8093AC +:108A00000F0B0E94DD160E948C130E94302D0E94D5 +:108A1000171B0E94742960930B0B70930C0B8093AF +:108A20000D0B90930E0B00917A0B10917B0B209104 +:108A30007C0B30917D0B601771078207930708F458 +:108A4000B6C0DC01CB01801B910BA20BB30B8938A4 +:108A50009341A105B10508F4B4C00E948918DC0156 +:108A60001C968C91882319F08DE093E002C089E078 +:108A700093E00E94053B0E9489180E9493170E9470 +:108A8000DD16EC01FC01ED55FD4F8081882341F09E +:108A9000CE0182589E4F0E94B3356B017C0107C006 +:108AA000FE01E25BFF4FC080D180E280F3800E9434 +:108AB0008918C0924A07D0924B07E0924C07F09277 +:108AC0004D07FE01EC55FD4F8081882341F0CE011A +:108AD00086569E4F0E94B3356B017C0107C0FE0194 +:108AE000E853FF4FC080D180E280F3800E94891854 +:108AF000C0924E07D0924F07E0925007F092510774 +:108B0000FE01EB55FD4F8081882341F0CE018A5450 +:108B10009E4F0E94B3356B017C0106C0CE5BDE4FD9 +:108B2000C880D980EA80FB800E948918C0925207D1 +:108B3000D0925307E0925407F09255070E9489188B +:108B40000E94E6170E94DD160E9470190E94891883 +:108B50000E94D01A0E9489180E94A5170E941A0923 +:108B600080915E0790915F07A0916007B0916107C7 +:108B70000197A105B10541F085E093E00E94053B16 +:108B80000E9489180E9493178091070B9091080BFF +:108B9000A091090BB0910A0B0196A11DB11D809304 +:108BA000070B9093080BA093090BB0930A0B0E943C +:108BB000742960937A0B70937B0B80937C0B90935A +:108BC0007D0B0E9481257CC885E594E00E94053BD1 +:108BD0000E94DD16CF931F921F921F921F92812C2D +:108BE000912CA12CB12CC12CD12C7601970186019E +:108BF000B701A6010E941A0B0F900F900F900F90D3 +:108C00000F9019C88DE694E00E94053B0E94DD1686 +:108C10001F9221E02F931F921F921F92812C912C63 +:108C2000A12CB12CC12CD12C760197018601B70162 +:108C3000A6010E941A0B0F900F900F900F900F90AB +:108C400017C885E894E00E94053B0E94DD161F923C +:108C50001F9221E02F931F921F92812C912CA12C07 +:108C6000B12CC12CD12C760197018601B701A60148 +:108C70000E941A0B0F900F900F900F900F9015C835 +:108C800089EE92E002C08DEE92E00E94053B0E94C8 +:108C900089180E9493170E94891810924607109213 +:108CA0004707109248071092490713CE8091450C50 +:108CB0009091460C3BC11092AB0B1092AA0B88EE20 +:108CC00093E0A0E0B0E08093AC0B9093AD0BA09349 +:108CD000AE0BB093AF0B8AE693E09093A90B809311 +:108CE000A80B85EC90E09093B50B8093B40B84ECCB +:108CF00090E09093B70B8093B60B80EC90E090934C +:108D0000B90B8093B80B81EC90E09093BB0B8093F0 +:108D1000BA0B82EC90E09093BD0B8093BC0B86EC79 +:108D200090E09093BF0B8093BE0B1092C10B1092FA +:108D3000C20B1092C30B1092C40B82E090E061D082 +:108D40002CE733E0FC013183208390934C0C80931B +:108D50004B0C6EE973E085E49CE00E9466278091ED +:108D6000DD0C803320F09FEF9093DE0C11C08093D8 +:108D7000DE0C282F30E0F901EE0FFF1F2E0F3F1FF2 +:108D8000F901E35BF34F28EB3BE0328321838F5FF4 +:108D9000803390F48093E10C282F30E0F901EE0F3E +:108DA000FF1F2E0F3F1FF901E35BF34F28EB3BE062 +:108DB000328321838F5F03C09FEF9093E10C8093F8 +:108DC000DD0C0895EF920F931F93CF93DF93E8018B +:108DD00047FD02C034E001C034E1E42F440FFF0B33 +:108DE000F7FF03C0F195E195F109E32E022F2E2F35 +:108DF000AE01B3D1CE01DF91CF911F910F91EF90D2 +:108E00000895CF93DF938230910510F482E090E0D3 +:108E1000E091E80CF091E90C20E030E0C0E0D0E017 +:108E2000309711F14081518148175907C0F0481718 +:108E3000590761F482819381209719F09B838A837B +:108E40002BC09093E90C8093E80C26C021153105C6 +:108E500019F04217530718F49A01BE01DF01EF0120 +:108E60000280F381E02DDCCF2115310509F1281BAB +:108E7000390B2430310590F412968D919C91139703 +:108E80006115710521F0FB019383828304C09093E7 +:108E9000E90C8093E80CFD01329644C0FD01E20F1D +:108EA000F31F81939193225031092D933C933AC043 +:108EB0002091E60C3091E70C232B41F42091040221 +:108EC000309105023093E70C2093E60C20910202CA +:108ED000309103022115310541F42DB73EB7409181 +:108EE000060250910702241B350BE091E60CF0912D +:108EF000E70CE217F307A0F42E1B3F0B28173907E6 +:108F000078F0AC014E5F5F4F2417350748F04E0FE5 +:108F10005F1F5093E70C4093E60C8193919302C03E +:108F2000E0E0F0E0CF01DF91CF9108950F931F9320 +:108F3000CF93DF93009709F48CC0FC013297138222 +:108F400012820091E80C1091E90C0115110581F4D1 +:108F500020813181820F931F2091E60C3091E70C24 +:108F60002817390779F5F093E70CE093E60C71C008 +:108F7000D80140E050E0AE17BF0750F412962D9193 +:108F80003C911397AD012115310509F1D901F3CFBA +:108F90009D01DA013383228360817181860F971FDF +:108FA0008217930769F4EC0128813981260F371F56 +:108FB0002E5F3F4F318320838A819B8193838283FD +:108FC000452B29F4F093E90CE093E80C42C013968A +:108FD000FC93EE931297ED01499159919E01240F54 +:108FE000351FE217F30771F480819181840F951F7B +:108FF000029611969C938E938281938113969C93F3 +:109000008E931297E0E0F0E0D80112968D919C913A +:109010001397009719F0F8018C01F6CF8D919C9170 +:1090200098012E5F3F4F820F931F2091E60C3091E5 +:10903000E70C2817390769F4309729F41092E90CE6 +:109040001092E80C02C0138212821093E70C009376 +:10905000E60CDF91CF911F910F9108956627772736 +:1090600009C244EE5CE000C0FA01A191B081009712 +:1090700019F41097E1F0CD01DC01CD010D90002035 +:1090800011F4C00113C0FB012191222319F0201516 +:10909000D9F7F3CFFB012191201519F41E921196F7 +:1090A00006C02223C1F70D900020A1F7D001FA01DC +:1090B000A193B0830895BB274A3031F4992322F459 +:1090C000BDE2909581959F4F30C0BB272A3051F467 +:1090D000992342F4BDE290958095709561957F4FFC +:1090E0008F4F9F4F01C0BB27FA01A62F6217710552 +:1090F00081059105330B30FB66F0AA27660F771FB9 +:10910000881F991FAA1FA21710F0A21B6395385041 +:10911000A9F7A05DAA3308F0A95DA19336F7B111B4 +:10912000B1931082CA0104C4BB27FB015527AA27AB +:10913000880F991FAA1FA41710F0A41B83955051E4 +:10914000B9F7A05DAA3308F0A95DA193009779F75C +:10915000B111B1931192CB01EBC34F925F926F9219 +:109160007F929F92AF92BF92CF92DF92EF92FF9247 +:109170000F931F93CF93DF93CDB7DEB729970FB629 +:10918000F894DEBF0FBECDBF6A01122FB02E2BE3C5 +:10919000201720F0FF24F394F00E02C0BCE3FB2E56 +:1091A0000F2D27E0AE014F5F5F4FCAD2AC0189811E +:1091B000982F9970913031F0E1FC06C0E0FE06C0B6 +:1091C00090E205C09DE203C09BE201C090E0EE2D5D +:1091D000E07183FF3CC0911102C083E001C084E0D4 +:1091E000811718F4212F281B01C020E0E1110BC0CA +:1091F000F601822F30E2882319F031938150FBCFA2 +:10920000C20ED11C20E0992329F0D6019C93F601CF +:1092100031966F01C6010396E2FE0AC03EE4D60114 +:109220003C9341E411964C93119712963C9306C0DF +:109230003EE6F601308341E641833283FC01322F62 +:1092400040E2332309F442C041933150FACF82FF08 +:1092500044C0911102C083E001C084E0811718F47A +:10926000212F281B01C020E0E1110BC0F601822F45 +:1092700030E2882319F031938150FBCFC20ED11C0C +:1092800020E0992329F0D6019C93F60131966F01D5 +:10929000C6010396E2FE0BC039E4D6013C933EE4DE +:1092A00011963C93119736E412963C9307C039E629 +:1092B000F60130833EE6318336E63283FC01322FFD +:1092C00040E2332319F041933150FBCFFC01E20F10 +:1092D000F11D10828EEF9FEFB7C0F1E0911101C038 +:1092E000F0E06F2F70E01416150624F49A012F5F3A +:1092F0003F4F02C021E030E0260F371FBB2029F08E +:109300006B2D70E06F5F7F4F02C060E070E0260F52 +:10931000371F612F70E0261737071CF4121B212F0F +:1093200001C020E03E2D387159F4D601322F60E2A1 +:10933000332319F06D933150FBCFC20ED11C20E0C6 +:10934000FF2331F0D6019C93B6016F5F7F4F6B0115 +:10935000E1110BC0F601922F30E3992319F03193FC +:109360009150FBCFC20ED11C20E09F2D940F3A816B +:10937000782F7071A72E84FF03C0313309F4915008 +:10938000191624F4993018F098E001C091E0E42F08 +:10939000852F57FF02C0E0E080E06E2F782FE0E0DD +:1093A000F0E0AEE29A2E3A01691A71082A01461AD3 +:1093B000570A0B2D10E01195019511096F3F8FEFA2 +:1093C000780729F4D6019C92C60101966C014617D4 +:1093D000570784F0661677066CF47F01E40CF51CE1 +:1093E000A1E0B0E0AC0FBD1FEA0EFB1ED701119645 +:1093F000BC9002C090E3B92E615071093196C6014C +:1094000001967C016017710724F0D601BC926C01B3 +:10941000D5CF6417750741F4363320F4353321F482 +:10942000A11002C081E3B82EF601B082F701822FAD +:1094300090E2882319F091938150FBCFF701E20F5E +:10944000F11D108280E090E029960FB6F894DEBFFF +:109450000FBECDBFDF91CF911F910F91FF90EF9085 +:10946000DF90CF90BF90AF909F907F906F905F9074 +:109470004F9008956F927F928F929F92AF92BF927A +:10948000CF92DF92EF92FF920F931F93CF93DF93D0 +:10949000EC017B016115710519F0DB018D939C9343 +:1094A0008E010F5F1F4F7880872D90E021D2892B8E +:1094B00011F0E801F5CFBDE27B1205C00F5F1F4F31 +:1094C0007980C1E008C0EBE27E1204C08E010E5F1D +:1094D0001F4F7980C0E06801F1E0CF1AD10843E066 +:1094E00050E064EF72E0C6010BD2892BE9F4680109 +:1094F00022E0C20ED11C45E050E06FEE72E0C601E2 +:10950000FFD1892B21F4680187E0C80ED11CE1143A +:10951000F10419F0D701CD92DC92C111F9C060E0DD +:1095200070E080E89FE7FDC043E050E06CEE72E041 +:10953000C601E6D1892B51F4E114F10409F4EDC020 +:109540000E5F1F4FF70111830083E7C0680160E0E1 +:1095500070E0CB0100E010E0F601D0EDD70DDA307D +:1095600050F52C2F2260622E2C2F2870C2FF05C0D0 +:10957000211127C00F5F1F4F24C0222311F001507B +:109580001109A5E0B0E09B01AC0130D34B015C01B7 +:10959000880C991CAA1CBB1CC501B4016D0F711D60 +:1095A000811D911D6839A9E97A078A07A9E19A07FF +:1095B00040F0C66005C0DE3F51F4C3FD44C0C86042 +:1095C0006C2EBFEFCB1ADB0A7080C62DC5CF2D2FB6 +:1095D0002F7D2531C1F540814D3211F4C06106C0A7 +:1095E0004B3221F0319621E030E006C03296D601B0 +:1095F00011964C9122E030E0A0EDA40FAA3018F0B3 +:10960000E21BF30B20C040E050E04038BCE05B07B9 +:109610005CF49A01220F331F220F331F420F531F96 +:10962000440F551F4A0F511D3196DF0111972C91A0 +:10963000A0EDA20FAA3048F3C4FF03C05195419595 +:109640005109040F151FC1FF07C0E114F10421F0F7 +:109650003197D701ED93FC937FD1C370C33019F0DC +:109660006B017C0106C06B017C01F7FAF094F7F8FE +:10967000F09420E030E0A901C701B60169D1882348 +:1096800009F443C017FF06C0119501951109CBE0FD +:10969000D3E002C0C3E2D3E05E01B8E1AB1AB10887 +:1096A0004601BE2DAF2D90E2E92EF12C0E151F05BF +:1096B0007CF0FE012591359145915491B4018B2F99 +:1096C0009A2FABD14B01B82FA92F0E191F09EECF3E +:1096D0002497F594E794CA15DB0541F76401EB2E56 +:1096E000FA2E8E2D880F8F2D881F8F3F41F020E09E +:1096F00030E0A901C701B6012BD1811106C082E279 +:1097000090E09093EB0C8093EA0CC701B60109C07E +:1097100060E070E080E89FEF04C060E070E080EC03 +:109720009FE7DF91CF911F910F91FF90EF90DF9016 +:10973000CF90BF90AF909F908F907F906F90089543 +:10974000283008F027E03327DA01990F311D87FD13 +:10975000916000966105710539F432602E5F3D938A +:1097600030E32A95E1F708959F3F30F08038710586 +:10977000610509F03C5F3C5F3D93913008F08068E3 +:10978000911DDF93CF931F930F93FF92EF92192FA9 +:10979000987F9695E92F96959695E90FFF27EF57B5 +:1097A000FC4F99273327EE24FF24A701E7010590FA +:1097B0000894079428F4360FE71EF81E491F511D20 +:1097C000660F771F881F991F0694A1F705900794CD +:1097D00028F4E70EF81E491F561FC11D770F881F7A +:1097E000991F661F0694A1F70590079428F4F80EB8 +:1097F000491F561FC71FD11D880F991F661F771F4E +:109800000694A1F70590079420F4490F561FC71F2F +:10981000D81F990F661F771F881F0694A9F7849198 +:109820001095177041F0D695C79557954795F794C1 +:10983000E7941A95C1F7E7E2F3E068941590159163 +:1098400035916591959105907FE27395E118F10A44 +:10985000430B560BC90BD009C0F7E10CF11E431F97 +:10986000561FC91FD01D7EF4703311F48A95E6CFC0 +:10987000E894015030F0080F0AF40027021708F4AA +:10988000202F2395022F7A3328F079E37D932A95B0 +:10989000E9F710C07D932A9589F606949795679508 +:1098A000379517951794E118F10A430B560BC90B1E +:1098B000D00998F023957E9173957A3308F070E380 +:1098C0007C932013B8F77E9170617D9330F083957F +:1098D00071E37D9370E32A95E1F71124EF90FF90F7 +:1098E0000F911F91CF91DF91992787FD9095089552 +:1098F0009111F6C0803219F089508550D0F7089543 +:10990000FB01DC014150504088F08D9181341CF006 +:109910008B350CF4805E659161341CF06B350CF472 +:10992000605E861B611171F3990B0895881BFCCF53 +:10993000DC01FC01672F71917723E1F7329704C0B6 +:109940007C916D9370836291AE17BF07C8F3089541 +:1099500040D008F481E00895E89409C097FB3EF4F4 +:1099600090958095709561957F4F8F4F9F4F99236C +:10997000A9F0F92F96E9BB279395F69587957795EA +:109980006795B795F111F8CFFAF4BB0F11F460FFAA +:109990001BC06F5F7F4F8F4F9F4F16C0882311F002 +:1099A00096E911C0772321F09EE8872F762F05C016 +:1099B000662371F096E8862F70E060E02AF09A95B1 +:1099C000660F771F881FDAF7880F9695879597F9A6 +:1099D0000895990F0008550FAA0BE0E8FEEF161640 +:1099E0001706E807F907C0F012161306E407F50793 +:1099F00098F0621B730B840B950B39F40A2661F007 +:109A0000232B242B252B21F408950A2609F4A140A9 +:109A1000A6958FEF811D811D08950BD07BC06CD062 +:109A200028F071D018F0952309F05DC062C01124B0 +:109A3000A5C081D0A0F3959FD1F3950F50E0551F9D +:109A4000629FF001729FBB27F00DB11D639FAA2793 +:109A5000F00DB11DAA1F649F6627B00DA11D661FE2 +:109A6000829F2227B00DA11D621F739FB00DA11D03 +:109A7000621F839FA00D611D221F749F3327A00DBD +:109A8000611D231F849F600D211D822F762F6A2F59 +:109A900011249F5750408AF0E1F088234AF0EE0FDE +:109AA000FF1FBB1F661F771F881F91505040A9F7EB +:109AB0009E3F510570F017C061C05F3FECF3983EC8 +:109AC000DCF3869577956795B795F795E7959F5F52 +:109AD000C1F7FE2B880F911D9695879597F90895EC +:109AE00099278827089597F99F6780E870E060E0DC +:109AF00008959FEF80EC089500240A941616170627 +:109B000018060906089500240A941216130614066E +:109B100005060895092E0394000C11F4882352F0D1 +:109B2000BB0F40F4BF2B11F460FF04C06F5F7F4F89 +:109B30008F4F9F4F089557FD9058440F551F59F070 +:109B40005F3F71F04795880F97FB991F61F09F3F2A +:109B500079F087950895121613061406551FF2CF53 +:109B60004695F1DF08C0161617061806991FF1CFA3 +:109B700086957105610508940895E894BB276627CA +:109B80007727CB0197F90895F999FECF92BD81BD52 +:109B9000F89A992780B50895262FF999FECF1FBA14 +:109BA00092BD81BD20BD0FB6F894FA9AF99A0FBE06 +:109BB00001960895052E97FB16F400940FD057FDDB +:109BC00005D024D007FC02D046F408C0509540953B +:109BD000309521953F4F4F4F5F4F08959095809559 +:109BE000709561957F4F8F4F9F4F089531D0A59FFE +:109BF000900DB49F900DA49F800D911D1124089588 +:109C0000B7FFF4CFF3DF821B930B0895A1E21A2E66 +:109C1000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F10 +:109C2000A217B307E407F50720F0A21BB30BE40B60 +:109C3000F50B661F771F881F991F1A9469F76095A7 +:109C40007095809590959B01AC01BD01CF01089561 +:109C5000A29FB001B39FC001A39F700D811D11246D +:109C6000911DB29F700D811D1124911D08955058B2 +:109C7000BB27AA270ED04ECF3FDF30F044DF20F0C5 +:109C800031F49F3F11F41EF434CF0EF4E095E7FB5E +:109C90002ACFE92F50DF80F3BA17620773078407D2 +:109CA000950718F071F49EF568CF0EF4E0950B2E31 +:109CB000BA2FA02D0B01B90190010C01CA01A0011E +:109CC0001124FF27591B99F0593F50F4503E68F179 +:109CD0001A16F040A22F232F342F4427585FF3CFBA +:109CE000469537952795A795F0405395C9F77EF48B +:109CF0001F16BA0B620B730B840BBAF09150A1F0D4 +:109D0000FF0FBB1F661F771F881FC2F70EC0BA0F59 +:109D1000621F731F841F48F4879577956795B795E1 +:109D2000F7959E3F08F0B3CF9395880F08F09927D9 +:109D3000EE0F9795879508950CD0ECCEE4DE40F0B9 +:109D4000DBDE30F021F45F3F19F0CDCE511116CF9C +:109D5000D0CEF1DE98F39923C9F35523B1F3951BC7 +:109D6000550BBB27AA2762177307840738F09F5F3C +:109D70005F4F220F331F441FAA1FA9F333D00E2EAB +:109D80003AF0E0E830D091505040E695001CCAF718 +:109D900029D0FE2F27D0660F771F881FBB1F2617DD +:109DA00037074807AB07B0E809F0BB0B802DBF01B0 +:109DB000FF2793585F4F2AF09E3F510568F093CEDE +:109DC000DDCE5F3FECF3983EDCF3869577956795A3 +:109DD000B795F7959F5FC9F7880F911D9695879561 +:109DE00097F90895E1E0660F771F881FBB1F621780 +:109DF00073078407BA0720F0621B730B840BBA0B3E +:109E0000EE1F88F7E095089504D06894B111B6CE9E +:109E1000089599DE88F09F5790F0B92F9927B75190 +:109E2000A0F0D1F0660F771F881F991F1AF0BA951E +:109E3000C9F712C0B13081F0A0DEB1E008959DCE27 +:109E4000672F782F8827B85F39F0B93FCCF3869514 +:109E500077956795B395D9F73EF490958095709571 +:109E600061957F4F8F4F9F4F0895B3DD08F48FEFBB +:109E70000895AFDD880B990B0895EE0FFF1F881F23 +:109E80008BBF0790F691E02D19946F927F928F927D +:109E90009F92AF92BF92CF92DF92EF92FF920F9379 +:109EA0001F93CF93DF93EC01009789F4CB01DF91EF +:109EB000CF911F910F91FF90EF90DF90CF90BF90C7 +:109EC000AF909F908F907F906F900C940147FC0112 +:109ED000E60FF71F9C0122503109E217F30708F43F +:109EE000AAC0D9010D911C91119706171707A8F068 +:109EF0000530110508F49DC0C8010497861797071F +:109F000008F497C002501109061B170B0193119317 +:109F10006D937C93CF010AD88CC05B01A01AB10A63 +:109F20004C01800E911EA091E80CB091E90C40E02C +:109F300050E0E12CF12C109709F44AC0A815B9059E +:109F4000D1F56D907C901197630182E0C80ED11C11 +:109F5000CA14DB0480F1A3014A195B096A0182E09B +:109F6000C80ED11C1296BC9012971396AC91B5E016 +:109F7000CB16D10440F0B282A38351834083D90130 +:109F80006D937C930AC00E5F1F4FC301800F911F1A +:109F9000F90191838083EB2DFA2FE114F10431F064 +:109FA000D7011396FC93EE93129743C0F093E90CFC +:109FB000E093E80C3EC08D919C911197481759078A +:109FC00008F4AC017D0112960D90BC91A02DB3CF89 +:109FD0008091E60C9091E70C88159905E1F44617FD +:109FE0005707C8F48091020290910302009741F450 +:109FF0008DB79EB74091060250910702841B950BC6 +:10A00000E817F907C0F4F093E70CE093E60CF901C8 +:10A01000718360830EC0CB010E9401477C010097D1 +:10A0200051F0A801BE011CD0CE010E949647C70185 +:10A0300004C0CE0102C080E090E0DF91CF911F917B +:10A040000F91FF90EF90DF90CF90BF90AF909F90D7 +:10A050008F907F906F90089581E090E0F89419C000 +:10A06000FB01DC0102C001900D9241505040D8F735 +:10A070000895FB01DC018D91019080190110D9F345 +:10A08000990B0895FB01DC0101900D920020E1F78E +:10A09000089512E0C2EAD2E000E005C0802FFE0180 +:10A0A000ECDE2196011DC33AD10780E00807B1F725 +:04A0B000F894FFCF52 +:10A0B400FFFF0000EC0C8000200A0D0000000000EF +:10A0C400004B178813F616000000004C178A13255E +:10A0D4001A00000000F1359A339E34000000005F3E +:10A0E4002DA72CD92C00000000992B36269A260087 +:10A0F4000000009A0967075808000000004A358CE0 +:10A10400339E3300000000F0359833D6330000004E +:10A1140000012B3826612600000000ED3592336DD6 +:10A124003400000000EE32AB2C212D000000004B67 +:10A13400358E330E3400000000F2359C332C35008C +:10A144000000004C359033013500000000EF3596D7 +:10A154003316350000000049358A33C4340000004A +:10A16400005D2DA32CAD2C000000009809630707A7 +:10A174000A00000000602DA92C0A2D00000000EE4A +:10A184003594339134000000005E2DA52C882C00FA +:10A1940000000099096507690752303300523032D4 +:10A1A40000523037005230310052303900523838C2 +:10A1B40000523837005238380052303000523837A5 +:10A1C40000523038005231330052313200523131B2 +:10A1D4000052373300523732005237310052313790 +:10A1E40000523136005231350001000000010000F8 +:10A1F4000001000000523835005238340052303526 +:10A204000052303600362E342E302E4600005230A6 +:10A21400340052383700000000001A258424B32487 +:10A224006025E424C224D624000000004835883385 +:10A234005239392041524455494E4F2053544152CA +:10A2440054555020434F4D504C4554450D0A002A57 +:10A254000047300047303000473100473031004775 +:10A264003238004630390046390046313100463133 +:10A274003200463133004631340046313500463130 +:10A284003600463230004632310046323200463320 +:10A29400310046333200463431004634320046340D +:10A2A40033004634340046363100463831004638EF +:10A2B40032004638330046383400200A0D00523943 +:10A2C400392068616E646C6572203D3D204E554CAA +:10A2D4004C0D0A0052393900207265736574746933 +:10A2E4006E67206469676974616C2070696E002010 +:10A2F400726573657474696E6720616E616C6F67F3 +:10A304002070696E0052393920484F4D45205A203B +:10A314004F4E20535441525455500D0A005239396E +:10A3240020484F4D452059204F4E205354415254FC +:10A3340055500D0A0052393920484F4D45205820B8 +:10A344004F4E20535441525455500D0A005239393E +:10A354002057696C6C207A65726F20580052393925 +:10A364002057696C6C207A65726F20590052393914 +:10A374002057696C6C207A65726F205A0052323112 +:10A384000050005600523939204572726F723A20DB +:10A39400696E76616C696420706172616D65746563 +:10A3A400722069640D0A0052343100686F6D650DC6 +:10A3B4000A0052393920656D657267656E637920CC +:10A3C40073746F700D0A00523939206572726F729E +:10A3D4000D0A00523832005239392073746F70708C +:10A3E40065640D0A00523939206572726F7220005B +:10A3F4002064656163746976617465206D6F746F40 +:10A404007220582064756520746F206D69737365BC +:10A414006420737465707300206465616374697685 +:10A42400617465206D6F746F7220592064756520A6 +:10A43400746F206D69737365642073746570730041 +:10A444002064656163746976617465206D6F746FEF +:10A4540072205A2064756520746F206D697373656A +:10A4640064207374657073005239392074696D65A2 +:10A474006F7574205820617869730D0A0052393958 +:10A484002074696D656F7574205920617869730D46 +:10A494000A005239392074696D656F7574205A2029 +:10A4A400617869730D0A0020510052383100205838 +:10A4B4004100205842002059410020594200205AAE +:10A4C4004100205A42002073746120002063757299 +:10A4D400200020656E6420002068616C66200020E6 +:10A4E4006C656E2000206D696E2000206D617820FF +:10A4F4000020737064200052323000523833200040 +:10A504005239392043616C6962726174696F6E20DB +:10A514006572726F723A20696E76616C696420614B +:10A524007869732073656C65637465640D0A002033 +:10A534006178697320002061742073746172746996 +:10A544006E6720706F696E7400523233002063614D +:10A554006C6962726174696E67206C656E67746899 +:10A5640000207374657020636F756E743A20005216 +:10A574003939206D6F76656D656E7420646F6E6514 +:10A584000D0A0020617420656E6420706F696E741A +:10A59400005239392043616C6962726174696F6E6B +:10A5A400206572726F723A20656E642073746F70E6 +:10A5B40020616374697665206265666F72652073D5 +:10A5C400746172740D0A00206D6F766520746F20BB +:10A5D400737461727420666F722063616C69627255 +:10A5E4006174696F6E006E616E00696E66006F76ED +:02A5F4006600FF +:00000001FF diff --git a/priv/farmduino_k14.hex b/priv/farmduino_k14.hex new file mode 100644 index 00000000..f1a8e892 --- /dev/null +++ b/priv/farmduino_k14.hex @@ -0,0 +1,2661 @@ +:10000000A2C20000D1C20000CFC20000CDC20000D9 +:10001000CBC20000C9C20000C7C20000C5C20000B8 +:10002000C3C20000C1C20000BFC20000BDC20000C8 +:10003000BBC20000B9C20000B7C20000B5C20000D8 +:10004000B3C200000C94B91BAFC20000ADC20000E7 +:100050000C94782FA9C20000A7C200000C94651A66 +:10006000A3C200000C9488180C945F189DC2000075 +:100070009BC2000099C2000097C2000095C2000018 +:100080000C948C1B91C200008FC200008DC2000036 +:100090008BC2000089C2000087C2000085C2000038 +:1000A00083C2000081C200000C945F1B7DC200006F +:1000B0007BC2000079C2000077C200000C94321BA2 +:1000C00073C2000071C200006FC200006DC2000068 +:1000D0006BC2000069C2000067C2000065C2000078 +:1000E00063C20000E002ED02F602FF020C031503FA +:1000F000B106B106B106B106B10622032F033C03D7 +:10010000B106490352035B03680371037A03830357 +:100110008C039503B1069E03A703B003B106B10695 +:10012000B106B903C203CB03B106B106D403E103A0 +:10013000B106B106B106EE03FB030804B1061504CF +:100140001E042704B106B106B10630043904420486 +:10015000B1064F045C046904B106B106B106760429 +:1001600083049004B1069D04AA04B704B106B10645 +:10017000B106C404D104DE04B106EB04F404FD04AA +:10018000B106B106B106B106B106B106B106B106B7 +:10019000B106B106B106B106B106B106B106B106A7 +:1001A000B106B106B106B106B106B106B106210528 +:1001B0002A053305B1063C0545054E05B106B106D5 +:1001C000B106570564057105B1067E058B059805D6 +:1001D000B106B106B106A505B205BF05B106CC054D +:1001E000D505DE05B106B106B106E705F005F9054E +:1001F000B106B106B106B106B106B106B106B10647 +:10020000B106B106B10606050F051805B106B1061F +:10021000B106B106B106B106B106B106B106B10626 +:10022000B106B106B106B106B106B106B106B10616 +:10023000B106B106B106B106B106B106B106B10606 +:10024000B106B106B106B106B106B106B106B106F6 +:10025000B106B106B106B106B106B106B106B106E6 +:10026000B106B106B106B106B106B106B106B106D6 +:10027000B106B106B10602060B061806B106250640 +:100280002E063B06B106B106B106480651065E06CB +:10029000B1066B0674068106B106B106B1068E067C +:1002A0009706A406FF080409090913091D09960900 +:1002B00027092F09370941094B09550964096E09B6 +:1002C0009609780982098C09B916BC16AB16AF16C7 +:1002D000B516F316C016C416CA16CE16D216D81600 +:1002E000DC16E016F316E616EA16EE164E414E49F7 +:1002F0004E495459494E46CDCCCC3D0AD7233C17E4 +:10030000B7D13877CC2B329595E6241FB14F0A0030 +:100310000020410000C84200401C4620BCBE4CCA20 +:100320001B0E5AAEC59D7400407A10F35A00A0729D +:100330004E18090010A5D4E80000E8764817000020 +:10034000E40B54020000CA9A3B000000E1F50500EE +:100350000080969800000040420F000000A0860137 +:10036000000000102700000000E803000000006407 +:1003700000000000000A0000000000010000000072 +:10038000002C76D888DC674F0823DFC1DFAE59E147 +:10039000B1B796E5E3E453C63AE651997696E8E6B6 +:1003A000C28426EB898C9B62ED407C6FFCEFBC9C89 +:1003B0009F40F2BAA56FA5F490055A2AF75C936B9B +:1003C0006CF9676DC11BFCE0E40D47FEF520E6B556 +:1003D00000D0ED902E0300943577050080841E0830 +:1003E0000000204E0A000000C80C333333330F984E +:1003F0006E12831141EF8D2114893BE65516CFFE15 +:10040000E6DB18D1844B381BF77C1D901DA4BBE4A0 +:1004100024203284725E228100C9F124ECA1E53DE2 +:100420002700002100240027002A002D003000337F +:100430000001010000040107010A0101021020204F +:100440000808102040102040800201020108040228 +:10045000010102040810204080804020100804029E +:1004600001800402018040201008040201080402F7 +:1004700001010204081020408001020408102040FD +:100480008005050505070508080808020202020A9A +:100490000A08080404040401010101010101010327 +:1004A00003030303030303040707070C0C0C0C0CE2 +:1004B0000C0C0C0202020206060606060606060BD5 +:1004C0000B0B0B0B0B0B0B00000A0B02090C0D0E98 +:1004D0000807030401000000000000000000000005 +:1004E000000000000000000000000000000000000C +:1004F00000000012111000000000000000000000C9 +:1005000000000000000000000000000000000022C9 +:1005100000250028002B002E0031003400020100CD +:1005200000050108010B010000200023002600291E +:10053000002C002F00320000010000030106010919 +:10054000010073466E4611241FBECFEFD1E2DEBF1D +:10055000CDBF00E00CBF17E0A0E0B2E0E4EEF0EAAF +:1005600000E00BBF02C007900D92A234B107D9F78B +:100570002CE0A2E4B7E001C01D92AD3EB207E1F766 +:1005800012E0C2EAD2E000E006C021970109802F04 +:10059000FE010E94554FC13AD10780E00807A9F734 +:1005A0000E940B3C0C9461502BCD603E710508F00D +:1005B000D8C3FB018827EE58FF4F8F4F0C94554F3F +:1005C00081E090E0A0E0B0E0809356079093570759 +:1005D000A0935807B0935907089510925A071092A4 +:1005E0005B0710925C0710925D07089510925E07FA +:1005F00010925F071092600710926107089581E0E2 +:1006000090E0A0E0B0E08093620790936307A0932E +:100610006407B09365070895109266071092670704 +:100620001092680710926907089583E090E0A0E0B7 +:10063000B0E080936A0790936B07A0936C07B09328 +:100640006D07089588E790E0A0E0B0E0809382070E +:1006500090938307A0938407B0938507089588E754 +:1006600090E0A0E0B0E08093860790938707A09386 +:100670008807B0938907089588E790E0A0E0B0E08C +:1006800080938A0790938B07A0938C07B0938D0774 +:100690000895109292071092930710929407109267 +:1006A0009507089510929607109297071092980751 +:1006B00010929907089581E090E0A0E0B0E0809367 +:1006C0009A0790939B07A0939C07B0939D0708956A +:1006D00010929E0710929F071092A0071092A107F8 +:1006E00008951092A2071092A3071092A4071092E7 +:1006F000A50708951092A6071092A7071092A807C1 +:100700001092A90708951092AA071092AB071092B1 +:10071000AC071092AD0708951092AE071092AF0784 +:100720001092B0071092B10708951092B20710927C +:10073000B3071092B4071092B50708951092BA0744 +:100740001092BB071092BC071092BD07089510923B +:10075000BE071092BF071092C0071092C1070895FC +:100760001092C2071092C3071092C4071092C507D7 +:1007700008951092D2071092D3071092D4071092C6 +:10078000D50708951092D6071092D7071092D80770 +:100790001092D90708951092DA071092DB07109291 +:1007A000DC071092DD07089581E090E0A0E0B0E062 +:1007B0008093E6079093E707A093E807B093E907D3 +:1007C000089581E090E0A0E0B0E08093EA07909384 +:1007D000EB07A093EC07B093ED0708958CE291E04E +:1007E000A0E0B0E08093FA079093FB07A093FC078A +:1007F000B093FD0708958CE291E0A0E0B0E0809313 +:10080000FE079093FF07A0930008B0930108089596 +:100810008CE291E0A0E0B0E080930208909303089E +:10082000A0930408B0930508089510920A08109246 +:100830000B0810920C0810920D08089510920E08E3 +:1008400010920F081092100810921108089510923B +:1008500012081092130810921408109215080895A7 +:100860001092220810922308109224081092250852 +:1008700008951092260810922708109228081092C6 +:100880002908089581E090E0A0E0B0E080932A0874 +:1008900090932B08A0932C08B0932D08089585E021 +:1008A00090E0A0E0B0E08093320890933308A093EA +:1008B0003408B0933508089585E090E0A0E0B0E0FA +:1008C0008093360890933708A0933808B09339087E +:1008D000089589E190E0A0E0B0E080933A08909319 +:1008E0003B08A0933C08B0933D08089582E390E054 +:1008F000A0E0B0E080934A0890934B08A0934C0886 +:10090000B0934D08089582E390E0A0E0B0E08093BA +:100910004E0890934F08A0935008B0935108089543 +:1009200082E390E0A0E0B0E08093520890935308F7 +:10093000A0935408B0935508089582E390E0A0E096 +:10094000B0E080935A0890935B08A0935C08B09342 +:100950005D08089582E390E0A0E0B0E080935E0837 +:1009600090935F08A0936008B0936108089582E3B4 +:1009700090E0A0E0B0E08093620890936308A093B9 +:100980006408B0936508089580E991E0A0E0B0E0C4 +:100990008093720890937308A0937408B0937508BD +:1009A000089580E991E0A0E0B0E08093760890930C +:1009B0007708A0937808B0937908089580E991E0CA +:1009C000A0E0B0E080937A0890937B08A0937C0825 +:1009D000B0937D08089510928208109283081092B7 +:1009E000840810928508089510928608109287084E +:1009F0001092880810928908089510928A0810921F +:100A00008B0810928C0810928D08089510929A0904 +:100A100010929B0910929C0910929D0908951092C2 +:100A20009E0910929F091092A0091092A1090895A1 +:100A30001092A2091092A3091092A4091092A5097C +:100A400008951092EA081092EB081092EC081092A8 +:100A5000ED0808951092EE081092EF081092F00839 +:100A60001092F10808951092F2081092F308109273 +:100A7000F4081092F50808951092FA081092FB08F5 +:100A80001092FC081092FD0808951092FE08109232 +:100A9000FF081092000910920109089510920209AE +:100AA000109203091092040910920509089585E037 +:100AB00090E0A0E0B0E08093120990931309A09316 +:100AC0001409B0931509089585E090E0A0E0B0E026 +:100AD0008093160990931709A0931809B0931909E8 +:100AE000089585E090E0A0E0B0E080931A0990932B +:100AF0001B09A0931C09B0931D09089584EB95E18F +:100B0000A0E0B0E08093220990932309A0932409E8 +:100B1000B0932509089584EB95E1A0E0B0E08093BF +:100B2000260990932709A0932809B09329090895CD +:100B300084EB95E1A0E0B0E080932A0990932B0923 +:100B4000A0932C09B0932D09089585E090E0A0E0D2 +:100B5000B0E080933A0990933B09A0933C09B0938D +:100B60003D09089585E090E0A0E0B0E080933E0963 +:100B700090933F09A0934009B0934109089585E0FF +:100B800090E0A0E0B0E08093420990934309A093E5 +:100B90004409B0934509089510924A0910924B09EF +:100BA00010924C0910924D09089510924E0910921E +:100BB0004F0910925009109251090895109252094C +:100BC00010925309109254091092550908951092E9 +:100BD00062091092630910926409109265090895E0 +:100BE00010926609109267091092680910926909BB +:100BF000089510926A0910926B0910926C09109274 +:100C00006D09089510927A0A10927B0A10927C0A5C +:100C100010927D0A08958CE390E0A0E0B0E080930C +:100C20007E0A90937F0AA093800AB093810A089568 +:100C300081E090E0A0E0B0E08093820A9093830A84 +:100C4000A093840AB093850A089510928A0A10929C +:100C50008B0A10928C0A10928D0A08958CE390E012 +:100C6000A0E0B0E080938E0A90938F0AA093900A40 +:100C7000B093910A089581E090E0A0E0B0E0809305 +:100C8000920A9093930AA093940AB093950A0895B8 +:100C90001092A20A1092A30A1092A40A1092A50A16 +:100CA00008958CE390E0A0E0B0E08093A60A9093D2 +:100CB000A70AA093A80AB093A90A089581E090E03A +:100CC000A0E0B0E08093AA0A9093AB0AA093AC0A8C +:100CD000B093AD0A08951092B20A1092B30A10921E +:100CE000B40A1092B50A08958CE390E0A0E0B0E059 +:100CF0008093B60A9093B70AA093B80AB093B90A42 +:100D0000089581E090E0A0E0B0E08093BA0A90936B +:100D1000BB0AA093BC0AB093BD0A08951092CA0AF8 +:100D20001092CB0A1092CC0A1092CD0A08958CE34F +:100D300090E0A0E0B0E08093CE0A9093CF0AA09319 +:100D4000D00AB093D10A089581E090E0A0E0B0E02D +:100D50008093D20A9093D30AA093D40AB093D50A71 +:100D60000895660F771F660F771FFB01EA5AF84F49 +:100D7000108211821282138208950F931F93CF93D2 +:100D8000DF938C01C0E0D0E0BE01C8010E94FF34B7 +:100D9000882319F0BE01C80108DC2196C13ED105A7 +:100DA00099F7DF91CF911F910F910895EF92FF92E4 +:100DB0000F931F93CF93DF9300D01F92CDB7DEB771 +:100DC0008B017B01EE0CFF1C622FC70129833A8344 +:100DD0004B835C830E94E44D29813A814B815C8185 +:100DE000992757FD9A95852F742F632FC701019678 +:100DF0000E94E44D0D58110929813A814B815C8193 +:100E000003301105A8F4BA01992777FD9095892F31 +:100E1000C70144960E94E44D29813A814B815C814F +:100E2000652F772788279927C70145960E94E44DAB +:100E300080E090E00F900F900F900F90DF91CF9196 +:100E40001F910F91FF90EF9008954F925F926F92D4 +:100E50007F928F929F92AF92BF92CF92DF92EF924A +:100E6000FF92CF93DF935B01EB01CC0FDD1FCE012F +:100E70000E94DC4D482E512C612C712CCE01019624 +:100E80000E94DC4DC82ED12CE12CF12C8DE8A81A43 +:100E9000B10883E0A816B10488F5CE0144960E94FB +:100EA000DC4D882E912CA12CB12CCE0145960E94B0 +:100EB000DC4D482F50E060E070E08FEF8816910421 +:100EC000A104B104A9F44F3F51056105710581F4F6 +:100ED0008FEF481651046104710481F48FEFC81636 +:100EE000D104E104F10451F46FEF7FEFCB012BC08B +:100EF00040385105610571056CF0F6CF80E8C816E1 +:100F0000D104E104F10484F740E050E0BA01812CFF +:100F1000912C5401FE2CED2CDC2CCC24C40CD51CC3 +:100F2000E61CF71C540199248824C80CD91CEA1C1F +:100F3000FB1C742F662755274427CB01BA016C0D83 +:100F40007D1D8E1D9F1DDF91CF91FF90EF90DF9053 +:100F5000CF90BF90AF909F908F907F906F905F9059 +:100F60004F9008950E94A522FC01148680E090E035 +:100F700008958DE994E00E94AE3A85E193E00E94E5 +:100F8000AE3A0E94A5220E94AF2180E090E0089531 +:100F90000C94AE470C94AE470C94AE470C94AE47FD +:100FA0000C94AE470C94AE470C94AE470C94AE47ED +:100FB0000C94AE470C94AE470C94AE470C94AE47DD +:100FC0000C94AE470C94AE478091890B81113FC0C1 +:100FD00081E08093890B0E94F920FC01E159FF4FC9 +:100FE0002081222369F07097408151816281738151 +:100FF0004F5F5F4F6F4F7F4F408351836283738397 +:10100000FC01E751FF4F2081222369F07097408156 +:101010005181628173814F5F5F4F6F4F7F4F40837C +:10102000518362837383FC01ED59FE4F208122239B +:1010300061F0709780819181A281B3810196A11D99 +:10104000B11D80839183A283B3831092890B08958D +:10105000CF93DF93EB0120E030E040E85FE36A816B +:101060007B818C819D810E94C04C811111C082EADC +:1010700094E00E94AE3A0E94F920FC01E25BFF4F2F +:10108000108211821282138282589E4F0E94F53B79 +:1010900020E030E040E85FE36E817F8188859985BC +:1010A0000E94C04C811111C082EB94E00E94AE3AC4 +:1010B0000E94F920FC01E853FF4F10821182128236 +:1010C000138286569E4F0E94F53B20E030E040E8B8 +:1010D0005FE36A857B858C859D850E94C04C81116C +:1010E00011C082EC94E00E94AE3A0E94F920FC010B +:1010F000EE5BFE4F10821182128213828A549E4F41 +:101100000E94F53B0E94A5220E94AF2180E090E062 +:10111000DF91CF9108958F929F92AF92BF92CF921D +:10112000DF92EF92FF920F931F930E94F92021E02C +:101130002F931F921F921F921F92812C912CA12CF2 +:10114000B12CC12CD12C760197018601B701A601E3 +:1011500069D40F900F900F900F900F9080E090E067 +:101160001F910F91FF90EF90DF90CF90BF90AF90C5 +:101170009F908F9008950F931F93CF93DF938B01D0 +:10118000EA01AB01415051094433510508F0D4C084 +:101190002230310508F0D0C048E3429FF001439F60 +:1011A000F00D1124E60FF71FE80FF91F81E080838F +:1011B000232B11F46C2F07C061E0802F0E94DA19F5 +:1011C000209739F460E0802F0E94E61880E090E0DC +:1011D000B5C0CF3FD10509F4ADC0F801E953FB4FCD +:1011E000E4918E2F90E0FC013197E231F10508F097 +:1011F0009DC08827EE5AFE4F8F4F0C94554F84B5F3 +:10120000806884BDC7BDE2CF84B5806284BDC8BD9F +:10121000DDCF80918000806880938000D09389002A +:10122000C0938800D3CF809180008062809380003B +:10123000D0938B00C0938A00C9CF809180008860D2 +:1012400080938000D0938D00C0938C00BFCF80919D +:10125000B00080688093B000C093B300B7CF809196 +:10126000B00080628093B000C093B400AFCF809193 +:101270009000806880939000D0939900C09398006C +:10128000A5CF80919000806280939000D0939B00C6 +:10129000C0939A009BCF80919000886080939000CB +:1012A000D0939D00C0939C0091CF8091A000806856 +:1012B0008093A0008091A0008F7B8093A000D093AA +:1012C000A900C093A80082CF8091A0008062809383 +:1012D000A000D093AB00C093AA0078CF8091A0006B +:1012E00088608093A000D093AD00C093AC006ECF17 +:1012F00080912001806880932001D0932901C093C0 +:10130000280164CF80912001806280932001D093D6 +:101310002B01C0932A015ACF8091200188608093CD +:101320002001D0932D01C0932C0150CFC038D1059E +:101330000CF448CF61E047CF81E090E0DF91CF919E +:101340001F910F9108958F929F92AF92BF92CF926B +:10135000DF92EF92FF920F931F930E94F92060E0BB +:1013600070E00E949835892BC9F40E94F9201F92E1 +:101370001F9221E02F931F921F92812C912CA12C60 +:10138000B12CC12CD12C760197018601B701A601A1 +:1013900049D30F900F900F900F900F9080E090E046 +:1013A0001F910F91FF90EF90DF90CF90BF90AF9083 +:1013B0009F908F9008958F929F92AF92BF92CF92FD +:1013C000DF92EF92FF920F931F930E94F92061E04A +:1013D00070E00E949835892BC9F40E94F9201F9271 +:1013E00021E02F931F921F921F92812C912CA12CF0 +:1013F000B12CC12CD12C760197018601B701A60131 +:1014000011D30F900F900F900F900F9080E090E00D +:101410001F910F91FF90EF90DF90CF90BF90AF9012 +:101420009F908F900895CF92DF92EF92FF92CF938B +:10143000DF93EB010E94FF34882359F1FE01EE0F88 +:10144000FF1FEE0FFF1FEA5AF84FC080D180E280E5 +:10145000F38082ED94E00E94AE3A80EA94E00E942C +:10146000AE3A86ED94E00E94AE3ACE010E94213B56 +:1014700080EA94E00E94AE3A88ED94E00E94AE3A91 +:10148000C701B6010E94FA3A0E94A5220E94AF212C +:1014900004C08AED94E00E94AE3A80E090E0DF91D3 +:1014A000CF91FF90EF90DF90CF900895EF92FF9251 +:1014B0000F931F93CF93DF9380918A0B90918B0BA7 +:1014C000892B09F066C084E090E00E941947EC0186 +:1014D00060E070E0BADC16161706FCF0CE014DDCB9 +:1014E00096E5E92E97E0F92E00E010E0B801CE0174 +:1014F0000E94FF34882341F0F7012081318142812D +:101500005381B801CE0152DC0F5F1F4FF4E0EF0EA4 +:10151000F11C0639110551F738C063E070E0CE01C7 +:1015200094DC613071058105910569F586E5E82E49 +:1015300087E0F82E00E010E0B801CE010E94FF34F1 +:101540008823C1F0B801CE0180DCF701608371838C +:10155000828393836F3F7F4F8F4F9F4F59F4B80122 +:10156000CE0123D8F7012081318142815381B80116 +:10157000CE011CDC0F5F1F4FF4E0EF0EF11C013EAB +:101580001105D1F602C0CE01F8DBD0938B0BC093CE +:101590008A0B80918A0B90918B0BDF91CF911F91D9 +:1015A0000F91FF90EF900895EF92FF920F931F938A +:1015B000CF93DF9300D01F92CDB7DEB7FB0122A1FE +:1015C00033A144A155A1068D178D29833A834B83FE +:1015D0005C836CDF7C01FC018281938129813A81EB +:1015E0004B815C818F30F7E29F072CF40196F70165 +:1015F0009383828303C0F70113821282B801C7016B +:1016000029833A834B835C830E94FF3429813A818A +:101610004B815C81882391F0F801EE0FFF1FEE0FE4 +:10162000FF1FEA5AF84F2083318342835383B80166 +:10163000C701BCDBB801C701F6DE04C08AED94E047 +:101640000E94AE3A0E94472F0E94332580E090E02E +:101650000F900F900F900F90DF91CF911F910F91EE +:10166000FF90EF9008950F931F93CF93DF931EDFAA +:101670008C01C0E0D0E0BE01C8010E94FF34882385 +:1016800019F0BE01C801CFDE2196C13ED10599F700 +:101690008CEF94E00E94AE3A0E94A5220E94AF21F6 +:1016A00080E090E0DF91CF911F910F910895089510 +:1016B00008950895EF92FF920F931F93CF93DF93B6 +:1016C000162F072F7A014115510559F4862F0E94D4 +:1016D000BE1831E020E0019709F030E0C32FD22F8F +:1016E00026C04130510509F5262F663310F02AEC4B +:1016F000260F80917B00922F9870877F892B809393 +:101700007B002770206420937C0080917A008064A5 +:1017100080937A0080917A0086FDFCCFC09178009A +:1017200080917900D0E0D82B02C0C0E0D0E082E008 +:10173000E816F10410F580E095E00E94AE3A80EAE8 +:1017400094E00E94AE3A86ED94E00E94AE3A812F7A +:10175000902F0E94213B80EA94E00E94AE3A88EDEF +:1017600094E00E94AE3ACE010E94213B0E94A52245 +:101770000E94AF2180E090E002C081E090E0DF9124 +:10178000CF911F910F91FF90EF9008958091870B5B +:101790009091880B892BA1F480E790E00E94194773 +:1017A000FC01F9969C0123593F4FDF01D8971C9209 +:1017B0001192E217F307C9F79093880B8093870B78 +:1017C0008091870B9091880B089584E095E00E94AA +:1017D000AE3A0E94A5220E94EC240E94A5220E94FB +:1017E000C121D4DF40E050E068E070E063DFCEDF8D +:1017F00040E050E069E070E05DDFC8DF40E050E0CD +:101800006AE070E057DFC2DF40E050E06DE070E07A +:1018100051DF80E090E008956F927F928F929F92C7 +:10182000AF92BF92CF92DF92EF92FF920F931F93EE +:10183000CF93DF93FB01E2A8F3A886A497A4A0A806 +:10184000B1A8C6A0D7A062A073A0068D178D9EDF99 +:10185000EC019701A301B8018EDCC501B4010E941F +:10186000211A9701A601B801CE0185DC80E090E045 +:10187000DF91CF911F910F91FF90EF90DF90CF906C +:10188000BF90AF909F908F907F906F9008950F932F +:101890001F93CF93DF93FB0102A913A9C68DD78DA8 +:1018A00075DFA801BE0106DF80E090E0DF91CF91F7 +:1018B0001F910F9108951F93CF93DF931F92CDB780 +:1018C000DEB7FB0162A9168D698360DF6981812F14 +:1018D0000E94DA1980E090E00F90DF91CF911F9184 +:1018E0000895EF92FF920F931F93CF93DF93FB0125 +:1018F000E2A8F3A802A113A1C68DD78D47DF9701F7 +:10190000A801BE0138DC80E090E0DF91CF911F910B +:101910000F91FF90EF900895089508950895089508 +:101920000895CF93DF93FC01A489B589C08DD18D33 +:101930002089318942895389A03187E2B80759F05B +:101940001A161B0644F40E94184E20E43CE940E0BD +:1019500050E00E94F24DDE010E94184EDF91CF91BF +:101960000895FC0181E090E0938F828F11821082B4 +:1019700015821482108A118A128A138A178A168A8B +:1019800080E197E2958B848B1286108614861586EB +:101990001686178608958EBD00000DB407FEFDCF94 +:1019A0008EB50895CF92DF92EF92FF920F931F931F +:1019B000CF93DF93EC0160E086E10E94E6188A8D08 +:1019C0009B8D24E0880F991F2A95E1F78F60E3DF54 +:1019D00083E290E00197F1F704E010E0C12CD12CF4 +:1019E0007601FE2CED2CDC2CCC2481E0D4DFC82A3F +:1019F00001501109B1F761E086E10E94E618C88A3A +:101A0000D98AEA8AFB8ADF91CF911F910F91FF90CB +:101A1000EF90DF90CF900895089508950895089568 +:101A2000089508952F923F924F925F926F927F9206 +:101A30008F929F92AF92BF92CF92DF92EF92FF92DE +:101A40000F931F93CF93DF93CDB7DEB7E6970FB613 +:101A5000F894DEBF0FBECDBF1C012A013B010B87EE +:101A60001C872D873E872E960EAD1FAD2E97FC014D +:101A7000E55AFD4F60817181828193810E94C64C3D +:101A80009B01AC01C301B2010E94254D0E941C4F75 +:101A90006B8B7C8B8D8B9E8BF101E15AFD4F6081AE +:101AA0007181828193810E94C64C9B01AC016B8540 +:101AB0007C858D859E850E94254D0E941C4F6B8FD5 +:101AC0007C8F8D8F9E8FF101ED59FD4F608171816B +:101AD000828193810E94C64C9B01AC01C701B60173 +:101AE0000E94254D0E941C4F6F8F78A389A39AA353 +:101AF0000E94591A6B877C878D879E87F101E4527B +:101B0000FE4F118210823296118210823E96A114ED +:101B1000B10461F0C501A0E0B0E040815181628173 +:101B2000738184179507A607B70714F0A080B180CA +:101B3000F101E051FE4F8114910461F0C401A0E075 +:101B4000B0E0408151816281738184179507A607B7 +:101B5000B70714F080809180F101EC50FE4F011521 +:101B6000110561F0C801A0E0B0E0408151816281BF +:101B7000738184179507A607B70714F000811181B8 +:101B8000310120E1620E711CC501A0E0B0E0F1015D +:101B900080A791A7A2A7B3A72101FAE84F0E511C75 +:101BA000A12CB12CD20158968D929D92AD92BC92EF +:101BB0005B974101BCEF8B1ABEEF9B0A20E030E03F +:101BC000F401008F118F228F338F0E94A5220E9473 +:101BD000A5220E94A5220E94A52240914A07509169 +:101BE0004B0760914C0770914D074BAB5CAB6DABF5 +:101BF0007EAB0E94A52280914E0790914F07A09145 +:101C00005007B09151078F87988BA98BBA8B0E9490 +:101C1000A522A0905207B0905307C0905407D090CF +:101C20005507F101E959FD4F10821182128213828A +:101C3000349610821182128213823496108211829D +:101C4000128213823496118210823296118210828F +:101C500032961182108232964BA95CA96DA97EA999 +:101C6000408351836283738334968F859889A989D1 +:101C7000BA8980839183A283B3833496A082B18290 +:101C8000C282D3822F96EFAC2F970B891C892D89A6 +:101C90003E89C3010E943D308823F9F08EE393E032 +:101CA0000E94AE3A8FEA94E00E94AE3AF101EE5AF9 +:101CB000FF4F6081718182819381E75FFD4F2081B9 +:101CC0003181428153810E94F24DCA01B9010E94C3 +:101CD000FA3A0E94A5220E94AF216096EFAC60976D +:101CE0000B8D1C8D2D8D3E8D4F85588969897A8984 +:101CF000C2010E943D308823F9F08AE393E00E94FC +:101D0000AE3A8FEB94E00E94AE3AF101E453FF4FFC +:101D10006081718182819381ED56FE4F20813181F6 +:101D2000428153810E94F24DCA01B9010E94FA3AE0 +:101D30000E94A5220E94AF216196EFAC61970F8DA2 +:101D400018A129A13AA1B601A501C4010E943D3004 +:101D50008823F9F086E393E00E94AE3A8FEC94E09A +:101D60000E94AE3AF101EA5BFE4F6081718182818F +:101D70009381E35EFE4F20813181428153810E9435 +:101D8000F24DCA01B9010E94FA3A0E94A5220E94AE +:101D9000AF21D10151961C92F101E557FF4F1082FE +:101DA000E658FF4F1082C1010E945D1DC1010E94D3 +:101DB0005F1DC3010E947834C2010E947834C401BF +:101DC0000E947834F101ED51FE4FFCA3EBA381E0BA +:101DD00090E0918380837101FBE1EF1AFEEFFF0A2F +:101DE000D7018D939C93810109511E4FF801918376 +:101DF000808341E050E0B301C1010E94FD22D70180 +:101E00004D915C91B201C1010E94FD22F801408117 +:101E10005181B401C1010E94FD2211E0F101EE5394 +:101E2000FD4F1083C3010E942830C2010E94283058 +:101E3000C4010E94283064E670E080E090E00E94D7 +:101E4000211AC10180529E4FDC011C9311961C93F4 +:101E5000A1014E515E4FFA0110832F96FFAD2F97CF +:101E6000F1110FC060962FAD6097211105C06196EA +:101E70003FAD6197332339F1910121593F4FF9016A +:101E800010826096FFAD6097F11105C09101275156 +:101E90003F4FF90110826196FFAD6197F11105C0C6 +:101EA00091012D593E4FF90110822F962FAD2F979A +:101EB000FC01208360963FAD60973C936196EFAD47 +:101EC0006197DA01EC93C3010E94E631C2010E94DE +:101ED000E631C4010E94E631C3010E943C31C201D7 +:101EE0000E943C31C4010E943C310E94A522DC01C9 +:101EF0001C968C918F87A12CB12CF101E052FE4FE2 +:101F0000FC8BEB8B91012F513E4F3C8F2B8FA1010E +:101F10004E515E4F58A34F8FC1018D519E4F9AA7CE +:101F200089A7D101AB51BE4FBCA7ABA73796FEA77F +:101F3000EDA7275531403EA32DA34E5D510958A76B +:101F40004FA3225C3F4F38AB2FA7425C5F4F5AAB89 +:101F500049ABEB89FC89808181110BC0AB8DBC8DB5 +:101F60008C91811106C0EF8DF8A18081882309F43E +:101F70004CC3FF85F11149C3C1010E943B1D49A516 +:101F80005AA5B301C1010E9454234BA55CA5B2011F +:101F9000C1010E9454234DA55EA5B401C1010E9458 +:101FA0005423C3010E94A631C2010E94A631C4017C +:101FB0000E94A631F101EE58FF4F8081882331F154 +:101FC000C3010E94E631F101ED55FD4F8081882368 +:101FD000C9F0610159E6C51A5DEFD50A71018EE4B9 +:101FE000E81A8DEFF80A81010B571D4F9101275810 +:101FF0003D4FA10149595D4FB10162587E4FC30168 +:102000000E947F1CF101EE58FF4F1082F101E45154 +:10201000FF4F8081882331F1C2010E94E631F10136 +:10202000EC55FD4F80818823C9F0610195E6C91AFE +:102030009DEFD90A7101ACE4EA1AADEFFA0A810109 +:1020400007571D4F910123583D4FA10145595D4F41 +:10205000B10166567E4FC2010E947F1CF101E4511E +:10206000FF4F1082F101EA59FE4F8081882331F140 +:10207000C4010E94E631F101EB55FD4F80818823B8 +:10208000C9F06101B1E6CB1ABDEFDB0A7101EAE4E8 +:10209000EE1AEDEFFE0A810103571D4F91012F57F4 +:1020A0003D4FA10141595D4FB1016A547E4FC401BA +:1020B0000E947F1CF101EA59FE4F108281010159F3 +:1020C0001F4FD8018C91882309F43BC0F101EF56D2 +:1020D000FD4F60817181072E000C880B990B0E94C7 +:1020E000C64C9B01AC01F101E959FD4F6081718142 +:1020F000828193810E944D4F18161CF5D8011C92C5 +:1021000064E274E081010E521E4FC80186D769E473 +:1021100075E0C80182D76CE973E0C8017ED72F96BD +:10212000BFAD2F97BB2309F472C3C10182589E4FE4 +:102130000E94F53BF101E25BFF4F10821182128297 +:102140001382810107511F4FF80180818823D1F14B +:10215000E655FE4F60817181072E000C880B990BAC +:102160000E94C64C9B01AC01F101E559FD4F608115 +:102170007181828193810E944D4F18161CF5F801E0 +:10218000108264E274E081010E521E4FC80145D7EF +:1021900061E775E0C80141D76CE973E0C8013DD73C +:1021A0006096FFAD6097FF2309F435C3C1018656E1 +:1021B0009E4F0E94F53BEDA1FEA1FE96108211827A +:1021C0001282138281010D591E4FD8018C918823F0 +:1021D00009F43BC0F101EB56FD4F60817181072E80 +:1021E000000C880B990B0E94C64C9B01AC01F101BD +:1021F000E159FD4F60817181828193810E944D4F31 +:1022000018161CF5D8011C9264E274E081010E528C +:102210001E4FC80102D769E975E0C801FED66CE916 +:1022200073E0C801FAD66196BFAD6197BB2309F48C +:10223000F6C2C1018A549E4F0E94F53BEFA1F8A55A +:10224000FE96108211821282138260E0C3010E9406 +:10225000B530882361F0F101E25BFF4F10821182FB +:1022600012821382C10182589E4F0E94F53B60E0AA +:10227000C2010E94B530882359F0EFA5F8A9108259 +:10228000118212821382C10186569E4F0E94F53B35 +:1022900060E0C4010E94B530882361F0A9A9BAA901 +:1022A0001D921D921D921C921397C1018A549E4F3C +:1022B0000E94F53BF101E159FF4F8081EB89FC89D8 +:1022C0008083F101E751FF4F8081AB8DBC8D8C93F2 +:1022D000E658FF4F8081EF8DF8A18083F101E25B2A +:1022E000FF4F20813181428153812F833887498775 +:1022F0005A87EDA1FEA1FE964081518162817381D2 +:10230000EFA1F8A5FE96C080D180E280F3804BABB0 +:102310005CAB6DAB7EAB0E94A5228F819885A985B1 +:10232000BA8580934A0790934B07A0934C07B093CC +:102330004D070E94A5224BA95CA96DA97EA94093D7 +:102340004E0750934F0760935007709351070E94B8 +:10235000A522C0925207D0925307E0925407F09200 +:102360005507C1010E945D1DAB89BC898C918823F2 +:1023700009F44AC00E94591A2B853C854D855E851B +:10238000621773078407950760F40E94591A2B851A +:102390003C854D855E856217730784079507A0F518 +:1023A0001EC00E94591A6B017C012B853C854D850E +:1023B0005E85C21AD30AE40AF50AF101E15BFD4F1A +:1023C0002081318142815381A8EEB3E00E940E4EFC +:1023D0006C157D058E059F0508F425C2D6CF0E9499 +:1023E000591A6B017C01F101E15BFD4F20813181C4 +:1023F00042815381A8EEB3E00E940E4E6C157D051C +:102400008E059F0508F40FC2AB8DBC8D8C9188237F +:1024100009F44AC00E94591A2B853C854D855E857A +:10242000621773078407950760F40E94591A2B8579 +:102430003C854D855E856217730784079507A0F577 +:102440001EC00E94591A6B017C012B853C854D856D +:102450005E85C21AD30AE40AF50AF101ED5AFD4F6E +:102460002081318142815381A8EEB3E00E940E4E5B +:102470006C157D058E059F0508F4E8C1D6CF0E9436 +:10248000591A6B017C01F101ED5AFD4F2081318118 +:1024900042815381A8EEB3E00E940E4E6C157D057B +:1024A0008E059F0508F4D2C1AF8DB8A18C91882309 +:1024B00009F446C0FED72B853C854D855E856217A5 +:1024C00073078407950758F4F4D72B853C854D8511 +:1024D0005E85621773078407950790F51DC0E9D7DD +:1024E0006B017C012B853C854D855E85C21AD30A24 +:1024F000E40AF50AF101E95AFD4F20813181428158 +:102500005381A8EEB3E00E940E4E6C157D058E053A +:102510009F0508F4AEC1D8CFCCD76B017C01F10187 +:10252000E95AFD4F2081318142815381A8EEB3E009 +:102530000E940E4E6C157D058E059F0508F499C10D +:1025400089EA9BE026D31816190674F589EA9BE000 +:10255000FED28F7D8534910539F56BE075E0C101C0 +:102560008E529E4F5AD582E693E00E94AE3A0E9468 +:10257000A5220E94AF21F101E159FF4F1082E658D8 +:10258000FF4F1082E658FF4F1082AB89BC891C9226 +:10259000EB8DFC8D1082AF8DB8A11C92B1E0BF878E +:1025A000AA24A394B12C03C0A114B10479F060E271 +:1025B00075E0C1018E529E4F30D5EB89FC891082A7 +:1025C000AB8DBC8D1C92EF8DF8A11082C1010E94D1 +:1025D000643AF101E252FE4F80819181019691832C +:1025E00080838D3291400CF4B4CCD101AA52BE4FFD +:1025F0008D919C911197892B09F0ABCC14968D91FC +:102600009C91892B09F448C1A4CC81010A521E4F28 +:10261000D8018D919C91892B21F0C1010E94643ACF +:10262000F7CF80E395E00E94AE3A2F96BFAD2F978B +:10263000BB2309F1A114B104F1F4EF85E11140C00D +:1026400086E293E00E94AE3A0E94A5220E94AF214A +:102650006096FFAD6097FF2371F182E293E00E94E4 +:10266000AE3A0E94A5220E94AF2161962FAD6197DC +:10267000211118C025C060963FAD6097332339F013 +:10268000A114B10421F44F8541111AC0E6CF61961F +:102690005FAD61975523A1F0A114B10489F48F8532 +:1026A00081110EC08EE193E00E94AE3A0E94A522F5 +:1026B0000E94AF2105C06196EFAD6197E111F2CFA5 +:1026C00085E090E0ABA1BCA18D939C9391012B512F +:1026D0003E4F3C872B87D9018D939C9381010951F3 +:1026E0001E4FF8019183808345E050E0B301C101A2 +:1026F0000E94FD22AB85BC854D915C91B201C10168 +:102700000E94FD22F80140815181B401C1010E9463 +:10271000FD22C1010E94611DF101E25BFF4F40817A +:10272000518162817381E658FF4F80819181A2813E +:10273000B3818F8B988FA98FBA8FE658FF4FC080D7 +:10274000D180E280F3804BAB5CAB6DAB7EAB0E9483 +:10275000A5224BA95CA96DA97EA940934A07509375 +:102760004B0760934C0770934D070E94A5222F8959 +:10277000388D498D5A8D20934E0730934F074093E3 +:102780005007509351070E94A522C0925207D09241 +:102790005307E0925407F0925507C1010E945D1D56 +:1027A000C1010E945F1D0E94A5220E940222C10158 +:1027B0000E948C23ABA1BCA11D921C92EB85FC85D1 +:1027C00011821082D8011D921C9240E050E0B301AA +:1027D000C1010E94FD22EB85FC8540815181B2013F +:1027E000C1010E94FD22D8014D915C91B401C1014B +:1027F0000E94FD22C1010E94611DBF85BB2309F417 +:102800003DC10E94A52221E0FC01248737C1AA24F2 +:10281000A394B12C96CCAA24A394B12CD3CCAA24F3 +:10282000A394B12C12CD62E373E081010E521E4FCE +:10283000C801F3D36CE973E0C801EFD361EC75E034 +:10284000C801EBD322E0A22EB12CDECD6EE273E004 +:1028500081010E521E4FC801E0D36CE973E0C8013C +:10286000DCD366ED75E0C801D8D392E0A92EB12C77 +:102870001BCE6AE273E081010E521E4FC801CDD318 +:102880006CE973E0C801C9D36BEE75E0C801C5D32C +:1028900082E0A82EB12C54CE11821082F101E452B4 +:1028A000FE4F80819181009741F46EE573E08101D4 +:1028B0000E521E4FC801B1D3BDC0019709F0CAC066 +:1028C0000E94A5228C01FC0180819181A281B381AB +:1028D000181619061A061B0644F081E090E0A0E0E5 +:1028E000B0E080839183A283B383F80184819581D2 +:1028F000A681B781181619061A061B0644F081E056 +:1029000090E0A0E0B0E084839583A683B783F801CC +:1029100080859185A285B385181619061A061B06AF +:1029200044F081E090E0A0E0B0E080879187A2874A +:10293000B3876EE973E0CE010196ADD36CE275E02A +:10294000CE0101966AD36FEA74E0CE01019665D399 +:1029500060914A0770914B0780914C0790914D0709 +:102960000E94C64C6B017C01D8016D917D918D91C7 +:102970009C910E94C64C9B01AC01C701B6010E940C +:10298000B44EAB01BC01CE01019617D36FEB74E0DE +:10299000CE01019642D360914E0770914F0780910E +:1029A0005007909151070E94C64C6B017C01F801C1 +:1029B00064817581868197810E94C64C9B01AC0120 +:1029C000C701B6010E94B44EAB01BC01CE01019615 +:1029D000F4D26FEC74E0CE0101961FD360915207E0 +:1029E0007091530780915407909155070E94C64CEF +:1029F0006B017C01D80118966D917D918D919C9110 +:102A00001B970E94C64C9B01AC01C701B6010E94F6 +:102A1000B44EAB01BC01CE010196CFD2BE016F5FB7 +:102A20007F4F81010E521E4FC80105D389819A81C3 +:102A30000E94AE470E94A522BC01CE0101960E94D1 +:102A40006921BE016F5F7F4FC801F5D289819A81EC +:102A50000E94AE47F101E452FE4F808191810196C0 +:102A6000823091051CF49183808302C01182108210 +:102A7000F101E652FE4F118210826BCA8EE395E09F +:102A80000E94AE3AC5010E94213B8CE993E00E946E +:102A9000AE3A0E94A522B0924507A0924407C50114 +:102AA000E6960FB6F894DEBF0FBECDBFDF91CF9193 +:102AB0001F910F91FF90EF90DF90CF90BF90AF905C +:102AC0009F908F907F906F905F904F903F902F904E +:102AD0000895CF92DF92EF92FF920F931F93CF93BF +:102AE000DF936C017A018B01C0E0D0E0CE15DF05E9 +:102AF00089F0D8016D918D01D601ED91FC91019085 +:102B0000F081E02DC6011995892B11F47E0102C0D8 +:102B10002196ECCFC701DF91CF911F910F91FF90CC +:102B2000EF90DF90CF900895089580E090E00895B1 +:102B3000FC01538D448D252F30E0842F90E0821BC3 +:102B4000930B541710F0CF96089501970895FC0148 +:102B5000918D828D981761F0828DDF01A80FB11DD4 +:102B60005D968C91928D9F5F9F73928F90E00895F8 +:102B70008FEF9FEF0895FC01918D828D981731F0B2 +:102B8000828DE80FF11D858D90E008958FEF9FEF06 +:102B90000895FC01918D228D892F90E0805C9F4FDC +:102BA000821B91098F739927089589EA9BE0F1DFD1 +:102BB00021E0892B09F420E0822F0895FC01848D07 +:102BC000DF01A80FB11DA35ABF4F2C91848D90E057 +:102BD00001968F739927848FA689B7892C93A08932 +:102BE000B1898C9180648C93938D848D981306C0E9 +:102BF0000288F389E02D80818F7D80830895EF9294 +:102C0000FF920F931F93CF93DF93EC0181E0888FA6 +:102C10009B8D8C8D981305C0E889F989808185FD8D +:102C200023C0F62E0B8D10E00F5F1F4F0F7311277F +:102C3000E02E8C8DE8120BC00FB607FCFACFE889A6 +:102C4000F989808185FFF5CFCE01B8DFF2CF8B8D7A +:102C5000FE01E80FF11DE35AFF4FF0820B8FEA8966 +:102C6000FB898081806207C0EE89FF896083E889E3 +:102C7000F98980818064808381E090E0DF91CF9149 +:102C80001F910F91FF90EF900895CF93DF93EC0188 +:102C9000888D8823C1F0EA89FB89808185FD05C084 +:102CA000A889B9898C9186FD0EC00FB607FCF5CFB7 +:102CB000808185FFF2CFA889B9898C9185FFEDCFFE +:102CC000CE017CDFE8CFDF91CF91089580E090E0E6 +:102CD000892B19F06ADF811125C080E090E0892BF3 +:102CE00041F080E090E0892B21F00E9400008111EA +:102CF0001CC080E090E0892B41F080E090E0892BBF +:102D000021F00E940000811113C080E090E0892B27 +:102D1000A1F080E090E0892B81F00E9400008111F9 +:102D20000AC008950E940000D8CF0E940000E1CFA1 +:102D30000E940000EACF0C940000089590E0FC018E +:102D40003197E231F10508F04EC08827EC59FE4F6B +:102D50008F4F0C94554F809180008F7703C08091E6 +:102D600080008F7D80938000089580918000877F10 +:102D7000F9CF84B58F7702C084B58F7D84BD089567 +:102D80008091B0008F7703C08091B0008F7D8093D9 +:102D9000B0000895809190008F7707C080919000D7 +:102DA0008F7D03C080919000877F8093900008956D +:102DB0008091A0008F7707C08091A0008F7D03C015 +:102DC0008091A000877F8093A000089580912001CA +:102DD0008F7707C0809120018F7D03C080912001F3 +:102DE000877F8093200108953FB7F8948091950BD9 +:102DF0009091960BA091970BB091980B26B5A89B3C +:102E000005C02F3F19F00196A11DB11D3FBFBA2F7C +:102E1000A92F982F8827820F911DA11DB11DBC01DC +:102E2000CD0142E0660F771F881F991F4A95D1F7A1 +:102E300008950E9444500C94AE470C94AE470F93F3 +:102E40001F93CF93DF93EC0188819981009729F03C +:102E50002A813B812617370788F48B016F5F7F4FEC +:102E60000E945D4F009761F0998388831B830A83DA +:102E70002C813D81232B11F4FC01108281E001C0E3 +:102E800080E0DF91CF911F910F9108958F929F92D3 +:102E9000AF92BF92CF92DF92EF92FF920F931F9368 +:102EA0000E94F92062E070E00E949835892BD1F4ED +:102EB0000E94F92021E02F931F921F921F921F92D0 +:102EC000812C912CA12CB12CC12CD12C76019701F5 +:102ED0008601B701A6010E94120D0F900F900F906E +:102EE0000F900F9080E090E01F910F91FF90EF9076 +:102EF000DF90CF90BF90AF909F908F9008958F926A +:102F00009F92AF92BF92CF92DF92EF92FF920F9378 +:102F10001F930E94F9201F9221E02F931F921F926E +:102F20001F92812C912CA12CB12CC12CD12C76017B +:102F300097018601B701A6010E94120D0F900F9014 +:102F40000F900F900F9080E090E01F910F91FF90F5 +:102F5000EF90DF90CF90BF90AF909F908F900895AB +:102F6000EF92FF920F931F93CF93DF93FC01248185 +:102F700035816115710511F480E018C041155105C6 +:102F8000A1F07B01EC018A01020F131FB80157DF8A +:102F9000882391F3288139818C819D81B701820F2B +:102FA000931F0E945A501D830C8381E0DF91CF91C3 +:102FB0001F910F91FF90EF900895EF92FF920F9362 +:102FC0001F93CF93DF93CDB7DEB764970FB6F89416 +:102FD000DEBF0FBECDBF7C01CB01BA018E010F5FFA +:102FE0001F4F22E044E00E94FA46BC01FC01019020 +:102FF0000020E9F73197AF01481B590BC701B0DF3B +:1030000064960FB6F894DEBF0FBECDBFDF91CF91AF +:103010001F910F91FF90EF9008956115710549F090 +:10302000FB0101900020E9F73197AF01461B570BD8 +:1030300097CF80E00895FB014481558160817181C3 +:103040008FCFEF92FF920F931F93CF93DF93EC01FB +:103050007B018A01BA01F3DE2881398181110DC01B +:103060002115310519F0C9010E94AE471982188255 +:103070001D821C821B821A8206C01D830C83B7012D +:10308000C9010E945A50CE01DF91CF911F910F913B +:10309000FF90EF900895FC0111821082138212823A +:1030A000158214826115710549F0FB010190002021 +:1030B000E9F73197AF01461B570BC3CF08951F9215 +:1030C0000F920FB60F9211240BB60F922F933F93CE +:1030D0004F935F936F937F938F939F93AF93BF9320 +:1030E000EF93FF9389EA9BE069DDFF91EF91BF9138 +:1030F000AF919F918F917F916F915F914F913F9190 +:103100002F910F900BBE0F900FBE0F901F90189530 +:103110001F920F920FB60F9211240BB60F922F939E +:103120008F939F93EF93FF93E091B90BF091BA0BBC +:103130008081E091BF0BF091C00B82FD12C09081A5 +:103140008091C20B8F5F8F732091C30B821751F058 +:10315000E091C20BF0E0E755F44F958F8093C20BDE +:1031600001C08081FF91EF919F918F912F910F90DE +:103170000BBE0F900FBE0F901F901895CF93DF934B +:10318000282F30E0F901E953FB4F8491F901E55C08 +:10319000FB4FD491F901EF57FB4FC491CC2389F039 +:1031A0008111CCDDEC2FF0E0EE0FFF1FE95DFA4F4F +:1031B000A591B491EC91ED2381E090E021F480E0C1 +:1031C00002C080E090E0DF91CF9108951F93CF93EC +:1031D000DF93282F30E0F901E953FB4F8491F90187 +:1031E000E55CFB4FD491F901EF57FB4FC491CC2321 +:1031F000C1F0162F8111A2DDEC2FF0E0EE0FFF1FC2 +:10320000E35FFA4FA591B4918FB7F894111105C0FF +:103210009C91ED2FE095E92302C0EC91ED2BEC930E +:103220008FBFDF91CF911F910895CF92DF92EF92E0 +:10323000FF920F931F93CF93DF936C018B017A0161 +:10324000EC01C457D44F888187FF04C0FB01118271 +:10325000108224C08CE08C9D90018D9D300D112436 +:103260008881A901480F511D87FD5A958091DE0C78 +:1032700090E04817590794F48881A901480F511D1F +:1032800087FD5A95CA01FA01EE0FFF1F8E0F9F1F8F +:10329000FC01E25BF34F808186FD19C088818F5F5E +:1032A00088838CE08C9D90018D9D300D1124888148 +:1032B000A901480F511D87FD5A958091DE0C90E0C1 +:1032C00048175907B4F488818C303CF112C08881CA +:1032D000280F311D87FD3A95F901EE0FFF1F2E0FC4 +:1032E0003F1FF901E25BF34F808160E08F736EDF77 +:1032F000D5CFF80180819181049680349C4918F4DF +:1033000080E49CE904C0F801808191810496F70172 +:10331000918380838FEF888344C0F801408151817D +:103320008881B901680F711D87FD7A95CB01FB017A +:10333000EE0FFF1F8E0F9F1FFC01E25BF34F818199 +:103340009281840F951FF701918380838881A90161 +:10335000480F511D87FD5A95CA01FA01EE0FFF1F54 +:103360008E0F9F1FFC01E25BF34F808186FF19C027 +:103370008881280F311D87FD3A95F901EE0FFF1F57 +:103380002E0F3F1FF901E25BF34F808161E08F73E5 +:10339000DF91CF911F910F91FF90EF90DF90CF9031 +:1033A00015CFDF91CF911F910F91FF90EF90DF909C +:1033B000CF900895CF93DF9390E0FC01E55CFB4F45 +:1033C0002491FC01EF57FB4F8491882361F190E039 +:1033D000880F991FFC01EF5DFB4FC591D491FC0153 +:1033E000E35FFA4FA591B491611109C09FB7F894BA +:1033F0008881209582238883EC912E230BC0623034 +:1034000061F49FB7F8943881822F80958323888355 +:10341000EC912E2B2C939FBF06C08FB7F894E881B8 +:103420002E2B28838FBFDF91CF9108958230910595 +:1034300038F0880F991F880F991F05970197F1F7AA +:1034400008958F929F92AF92BF92CF92DF92EF92A8 +:10345000FF926B017C01C8DC4B015C01C114D104FB +:10346000E104F104E9F0C0DCDC01CB018819990921 +:10347000AA09BB09883E9340A105B10578F321E074 +:10348000C21AD108E108F10888EE880E83E0981E80 +:10349000A11CB11CC114D104E104F10421F7DECF59 +:1034A000FF90EF90DF90CF90BF90AF909F908F9064 +:1034B00008952FB7F8946091910B7091920B8091C1 +:1034C000930B9091940B2FBF08951F920F920FB6FC +:1034D0000F9211242F933F938F939F93AF93BF939A +:1034E0008091910B9091920BA091930BB091940BC2 +:1034F0003091900B23E0230F2D3720F40196A11D6E +:10350000B11D05C026E8230F0296A11DB11D209311 +:10351000900B8093910B9093920BA093930BB0938D +:10352000940B8091950B9091960BA091970BB09175 +:10353000980B0196A11DB11D8093950B9093960B4E +:10354000A093970BB093980BBF91AF919F918F91E0 +:103550003F912F910F900FBE0F901F901895CF9213 +:10356000DF92EF92FF92CF93DF93EC01603282E023 +:1035700078070CF03DC077FD06C0653B71052CF067 +:1035800064EB70E002C060E070E0898128E830E020 +:103590006901C81AD10887FDD394CC0CDD1CCC0C72 +:1035A000DD1C0D2C000CEE08FF088A8128E532E0B6 +:1035B000281B310987FD3395220F331F220F331F3C +:1035C000C901330FAA0BBB0B9C01AD012C193D099E +:1035D0004E095F09DB010E94184E24EB30E040E009 +:1035E00050E00E94F24DC20ED31EE41EF51EB6013D +:1035F0008881803380F5998148E850E0491B510962 +:1036000097FD5395440F551F440F551F64177507B9 +:1036100084F09A8128E532E0291B310997FD339522 +:10362000220F331F220F331FAB01261737070CF46D +:10363000A90142505109440F551F2FB7F89490E04B +:10364000FC01EE0FFF1F8E0F9F1FFC01E25BF34F8B +:10365000528341832FBFDF91CF91FF90EF90DF9096 +:10366000CF9008951F920F920FB60F9211240BB6B0 +:103670000F922F933F934F935F936F937F938F930B +:103680009F93AF93BF93EF93FF9348E251E064E2BF +:1036900071E080E090E0C9DDFF91EF91BF91AF91C3 +:1036A0009F918F917F916F915F914F913F912F915A +:1036B0000F900BBE0F900FBE0F901F9018951F928A +:1036C0000F920FB60F9211240BB60F922F933F93C8 +:1036D0004F935F936F937F938F939F93AF93BF931A +:1036E000EF93FF9348EA50E064EA70E083E090E0F3 +:1036F0009CDDFF91EF91BF91AF919F918F917F9151 +:103700006F915F914F913F912F910F900BBE0F9052 +:103710000FBE0F901F9018951F920F920FB60F9229 +:1037200011240BB60F922F933F934F935F936F9398 +:103730007F938F939F93AF93BF93EF93FF9348E94A +:1037400050E064E970E082E090E06FDDFF91EF917E +:10375000BF91AF919F918F917F916F915F914F91A9 +:103760003F912F910F900BBE0F900FBE0F901F90A7 +:1037700018951F920F920FB60F9211240BB60F924D +:103780002F933F934F935F936F937F938F939F9369 +:10379000AF93BF93EF93FF9348E850E064E870E085 +:1037A00081E090E042DDFF91EF91BF91AF919F9159 +:1037B0008F917F916F915F914F913F912F910F90DA +:1037C0000BBE0F900FBE0F901F90189508950F938A +:1037D0001F93CF93DF93FC012081318121153105A7 +:1037E000D1F1EC01822FCADC21E0892B09F420E021 +:1037F0002B876A85261729F01E821F821886198654 +:103800000BC08E819F81A885B9850196A11DB11D30 +:103810008E839F83A887B9870E811F81288539856C +:103820008A819B81AC81BD81081719072A073B0754 +:1038300094F081E068278881C9DC0990D881C02D87 +:103840000E94C60B40E050E0BE01DF91CF911F9176 +:103850000F910C945A0BDF91CF911F910F91089506 +:10386000CF92DF92EF92FF920F931F93CF93DF934C +:103870007C016B018A01E9010E94560AF601EE0FF4 +:10388000FF1FEE0FFF1FEA5AF84F80819181F70169 +:10389000918380830E94560A000F111F000F111F91 +:1038A000F801EA5AF84F81E04081518162817381C9 +:1038B000413051056105710509F080E0F70182870B +:1038C0000E94560ACC0FDD1FCC0FDD1FCA5AD84FFD +:1038D00088819981AA81BB81F70182839383A48324 +:1038E000B5831682178210861186DF91CF911F91C2 +:1038F0000F91FF90EF90DF90CF90089508952F9251 +:103900003F924F925F926F927F928F929F92AF926F +:10391000BF92CF92DF92EF92FF920F931F93CF93BC +:10392000DF9300D000D0CDB7DEB79E838D834B01EF +:103930005A013A8329831801FC82EB82FA01408004 +:1039400051806280738020E030E0A901C301B201A0 +:103950000E944D4F181674F4F60120813181428186 +:103960005381C301B2010E944F4EF5016083718300 +:1039700082839383ED81FE81E05AFF4F8081F401C1 +:10398000008D118DC088D188E288F388F1014080D4 +:10399000518062807380D801A7019601882341F08D +:1039A0000E94184E641575058605970544F023C0DE +:1039B0000E94184E4616570668067906E4F4F5018B +:1039C000408051806280738020E030E04AEF56E40E +:1039D000C301B2010E94C04C87FF0DC020E030E05F +:1039E00040E85FE3C301B2010E94504EF5016083DD +:1039F000718382839383D801A70196010E94184E98 +:103A0000F10160837183828393830D811E81025C47 +:103A10001F4FF80180819181A281B381E981FA81F0 +:103A200080839183A283B383EB81FC818081918128 +:103A3000892B41F0C4010E94910CF80160837183CD +:103A40008283938326960FB6F894DEBF0FBECDBF58 +:103A5000DF91CF911F910F91FF90EF90DF90CF906A +:103A6000BF90AF909F908F907F906F905F904F909E +:103A70003F902F900895CF93DF93EC0183B183B1F2 +:103A8000E0E0F1E080818081CE0182589E4F0E946B +:103A9000D20C83B183B180B180B1CE0186569E4FE6 +:103AA0000E94D20C83B183B180B180B1CE018A541F +:103AB0009E4FDF91CF910C94D20C47D58DC745D541 +:103AC00060C4CF93DF93EC01FC01EE53FD4F1082F5 +:103AD000E858F1098081811104C0CE0140960E940E +:103AE0001430FE01E55CFD4F8081811105C0CE01DF +:103AF00086579F4F0E941430FE01E45CFD4F808189 +:103B0000811105C0CE018C5F9E4F0E94143064E687 +:103B100070E080E090E0DF91CF9193CC662319F0C4 +:103B20008DEA93E002C086EA93E00C94AE3A0C94DE +:103B3000AE470C94AE47CF92DF92EF92FF920F9375 +:103B40001F93CF93DF93EC018AE190E09E8B8D8BE6 +:103B50008BE190E0988F8F8B89E190E09A8F898F2D +:103B60008FE090E09C8F8B8F8EE190E09E8F8D8F09 +:103B70008EE090E098A38F8F85E490E09AA389A3CC +:103B800084E490E09CA38BA3FE01E657FF4F80E204 +:103B900090E09683858381E290E0908787838FE130 +:103BA00090E0928781871486138616861586108A80 +:103BB000178683E490E0928B818B82E490E0948B73 +:103BC000838BE658FF4F83E290E09683858384E2FF +:103BD00090E09087878382E290E0928781871486C5 +:103BE000138616861586108A178681E490E0928BDC +:103BF000818B80E490E0948B838BE152FF4F1182A4 +:103C00001082329611821082329611821082CE0179 +:103C10000E944327CE015CD7CE0182589E4F41E0DF +:103C200050E0FC01538F428FDE01A656BE4F24E0C8 +:103C300030E05B963C932E935A976E01FAE4CF1ACC +:103C4000FEEFDF0A28E030E0F601338F228F20E11B +:103C500030E0FC013183208321E130E0358324838F +:103C60002FEF3FEF3383228337832683628560877C +:103C70006385618767E170E011967C936E9368E1DC +:103C800070E015967C936E93149713963C932E9345 +:103C9000129717963C932E9316971A966C911A9733 +:103CA00018966C9318971B966C911B9719966C93AA +:103CB00019976DE170E0F601718360836CE170E04B +:103CC0007583648333832283378326836285608789 +:103CD00063856187BE0168547D4FFB0160817181FE +:103CE0008E0104551D4FF801008111817E01FAE516 +:103CF000EF1AFDEFFF0AF701E080F180FC01F78A7F +:103D0000E68A158B048B6130710519F4318F208F91 +:103D100003C0FC01518F408FCE0186549D4FFC01A2 +:103D2000808191819E0122553D4FF9012081318191 +:103D3000AE0148555D4FFA014081518157965C9321 +:103D40004E93569755963C932E935497019719F49A +:103D50008FEF9FEF02C081E090E059969C938E9385 +:103D60005897DE01A454BD4F8D919C9111971C97DB +:103D70002D913C91C655DD4F48815981F601578BF5 +:103D8000468B358B248B019719F48FEF9FEF03C07F +:103D900081E090E0F601918F808FDF91CF911F91AC +:103DA0000F91FF90EF90DF90CF9008952F923F9268 +:103DB0004F925F926F927F928F929F92AF92BF923B +:103DC000CF92DF92EF92FF920F931F93CF93DF93E7 +:103DD000CDB7DEB7CA57D1090FB6F894DEBF0FBE14 +:103DE000CDBF8C01FC0110821182128213821482D9 +:103DF0001582168217821086118612861386148603 +:103E00001586168617862C01F0E14F0E511CC20153 +:103E10000E949A3468018AE8C80ED11CC6010E942B +:103E20009A347801ECEFEE1AEEEFFE0AC7010E9419 +:103E30009A343801F2E86F1AFEEF7F0AC3010E943C +:103E4000B10C480186E6881A8EEF980AC4010E94D8 +:103E5000B10C5801EAE4AE1AEEEFBE0AC5010E94A9 +:103E6000B10C6EE973E0C8018E529E4F14D9F8016F +:103E7000E852FE4F118210823296118210823296E1 +:103E800011821082329611821082329610823196FF +:103E900010823196108231961182108232961182F0 +:103EA00010823296118210823296108231961082E0 +:103EB00031961082319610821182128213823496CA +:103EC0001082118212821382349610821182128221 +:103ED00013823496108211821282138234961082D9 +:103EE00011821282138234961082118212821382FE +:103EF00034961082118212821382349610821182BB +:103F000012821382349610821182128213823496A6 +:103F100010821182128213823496108211821282D0 +:103F20001382349610821182128213823496108288 +:103F300011821282138234961082118212821382AD +:103F40003496108211821282138234961082319636 +:103F50001082319610823196108211821282138261 +:103F6000349610821182128213823496108211824A +:103F7000128213823496108231961082319610820A +:103F800031961082319610823196108231961082CD +:103F900031961082319610823196108231961082BD +:103FA00031961082319610823196108231961082AD +:103FB000319610823196108231961082319610829D +:103FC000319610823196108231961082319610828D +:103FD00031961082319610821182128213823496A9 +:103FE0001082118212821382349610821182128200 +:103FF0001382D801A55ABD4F8CE0E2E4F3E00190B2 +:104000000D928A95E1F7F801E959FD4F108211826E +:104010001282138234961082118212821382349695 +:10402000108211821282138234961182108232968B +:104030001182108232961182108232961082118281 +:104040001282138234961082118212821382349665 +:10405000108211821282138234961082118212828F +:104060001382349610821182128213823496108247 +:10407000118212821382349611821082329611823A +:104080001082329611821082329610821182128230 +:104090001382349610821182128213823496108217 +:1040A00011821282138234961082319610823196D8 +:1040B00010823196118210823296118210823296CD +:1040C00011821082329611821082329611821082F1 +:1040D00032961182108232961182108232961182AB +:1040E000108232961182108232961182108232969C +:1040F00011821082329611821082329611821082C1 +:104100003296118210821801FEE32F1AFDEF3F0A4A +:10411000F1011082CE0101960E949A348AE7FE01D5 +:104120003196D20101900D928A95E1F7CE01019668 +:104130000E949A348AE7FE013196D60101900D92D1 +:104140008A95E1F7CE0101960E949A348AE7FE0132 +:104150003196D70101900D928A95E1F788E5F80133 +:10416000808B89E5F60180838AE5F7018083CE01A3 +:1041700001960E94B10C8CE1FE013196D3010190B1 +:104180000D928A95E1F7CE0101960E94B10C8CE167 +:10419000FE013196D40101900D928A95E1F7CE018E +:1041A00001960E94B10C8CE1FE013196D50101907F +:1041B0000D928A95E1F7C801BEDCF1011082C65864 +:1041C000DF4F0FB6F894DEBF0FBECDBFDF91CF91AA +:1041D0001F910F91FF90EF90DF90CF90BF90AF9025 +:1041E0009F908F907F906F905F904F903F902F9017 +:1041F0000895CF93DF938091A30B9091A40B892B0B +:1042000051F483EC92E00E941947EC01CFDDD0938A +:10421000A40BC093A30B8091A30B9091A40BDF91EF +:10422000CF9108954F925F926F927F928F929F925B +:10423000AF92BF92CF92DF92EF92FF920F931F93B4 +:10424000CF93DF9300D01F92CDB7DEB7FB01168965 +:10425000078982889388A684B784C284D384E4843F +:10426000F5844680578060847184428153816481E3 +:10427000758149835A836B837C83BBDF1F921F92B6 +:104280001F920F931F939301820149815A816B8181 +:104290007C810E94120D0F900F900F900F900F9045 +:1042A00080E090E00F900F900F900F90DF91CF91F2 +:1042B0001F910F91FF90EF90DF90CF90BF90AF9044 +:1042C0009F908F907F906F905F904F90089508958A +:1042D0000895EF92FF920F931F93CF93DF93CDB783 +:1042E000DEB72E970FB6F894DEBF0FBECDBF8C01A0 +:1042F0006EE973E00E944B1860E076E0C8010E940E +:104300000D1860914607709147078091480790917A +:1043100049072AE0AE014F5F5F4F7A010E947D4856 +:10432000F70101900020E9F73197AF014E195F09BD +:10433000B701C8010E94B0176CE973E0C8010E9480 +:104340000D18C8012E960FB6F894DEBF0FBECDBF74 +:10435000DF91CF911F910F91FF90EF90089580E032 +:1043600096E00E94AE3A60914607709147078091AF +:104370004807909149070E94FA3A8CE993E00C941F +:10438000AE3A0F931F93CF93DF93EC0183E096E057 +:104390000E94AE3A87E096E00E94AE3A0DE91BE03B +:1043A000F8016081CE01BADB8BE096E00E94AE3A64 +:1043B000F8016181CE01B2DB8FE096E00E94AE3A57 +:1043C000F8016281CE01AADB83E196E00E94AE3A59 +:1043D000F8016381CE01A2DB87E196E00E94AE3A4C +:1043E000F8016481CE019ADB8BE196E00E94AE3A3F +:1043F000F8016581CE0192DBCE01DF91CF911F9153 +:104400000F91ADCFCF92DF92EF92FF92CF93DF93D8 +:10441000EC0188819981AA81BB81181619061A06B8 +:104420001B0644F081E090E0A0E0B0E0888399832F +:10443000AA83BB838C819D81AE81BF81181619062A +:104440001A061B0644F081E090E0A0E0B0E08C8307 +:104450009D83AE83BF8388859985AA85BB85181601 +:1044600019061A061B0644F081E090E0A0E0B0E0D7 +:1044700088879987AA87BB878CE295E00E94AE3A2D +:104480008FEA94E00E94AE3A60914A0770914B0720 +:1044900080914C0790914D070E94C64C6B017C01A6 +:1044A000688179818A819B810E94C64C9B01AC0105 +:1044B000C701B6010E94B44E42E00E94263B8FEB3A +:1044C00094E00E94AE3A60914E0770914F07809140 +:1044D0005007909151070E94C64C6B017C016C8182 +:1044E0007D818E819F810E94C64C9B01AC01C701DA +:1044F000B6010E94B44E42E00E94263B8FEC94E04D +:104500000E94AE3A60915207709153078091540710 +:10451000909155070E94C64C6B017C016885798596 +:104520008A859B850E94C64C9B01AC01C701B601E0 +:104530000E94B44E42E00E94263BCE01DF91CF9113 +:10454000FF90EF90DF90CF900ACF80919B0B9091DE +:104550009C0B892B91F58DE090E00E941947FC019E +:10456000148610924A0710924B0710924C07109233 +:104570004D0710924E0710924F071092500710925D +:10458000510710925207109253071092540710923D +:10459000550710929A0B1092990B109246071092A1 +:1045A000470710924807109249071092450710924A +:1045B000440790939C0B80939B0B80919B0B909155 +:1045C0009C0B08950F931F93CF93DF938B01EA0108 +:1045D0008AE593E00E94AE3A80EA94E00E94AE3A07 +:1045E000F80180810E94EF3ACE010E94213BADDFAD +:1045F000DF91CF911F910F91B2CECF92DF92EF92C8 +:10460000FF920F931F93CF93DF93CDB7DEB7289719 +:104610000FB6F894DEBF0FBECDBF8B016A018E527C +:104620009E4F7C0166E573E00E940D1860EA74E01D +:10463000C7010E940D18F801808189831A8241E028 +:1046400050E08E010F5F1F4FB801C7010E94B017E5 +:104650004AE0B801C6010E947348F80101900020A9 +:10466000E9F73197AF01401B510BB801C7010E9418 +:10467000B0176BDFBC01C8012CDEB801C7010E9476 +:104680001B1889819A810E94AE4728960FB6F8942C +:10469000DEBF0FBECDBFDF91CF911F910F91FF9075 +:1046A000EF90DF90CF900895FC01DB01AD59BF4F33 +:1046B0008C91882319F022E030E002C020E030E045 +:1046C000DB01AB59BF4F8C91882311F023E030E020 +:1046D000DB01AC59BF4F8C91882311F024E030E00E +:1046E000DB01AA59BF4F8C91882311F026E030E0FE +:1046F000DA018D919C918217930721F091E01216B7 +:1047000013060CF090E0DA012D933C93992319F0F5 +:10471000A901CF0172CF08958F929F92AF92BF925D +:10472000CF92DF92EF92FF920F931F93CF93DF937D +:10473000EC0182E593E00E94AE3A8FEA94E00E9499 +:10474000AE3A6E0182E8C81A8EEFD80AC6010E94FE +:10475000910C0E94C64C4B015C01FE01E55AFD4FD5 +:1047600060817181828193810E94C64C9B01AC0162 +:10477000C501B4010E94B44E42E00E94263B8FEB7B +:1047800094E00E94AE3A7E01E6E6EE1AEEEFFE0AF3 +:10479000C7010E94910C0E94C64C4B015C01FE01B6 +:1047A000E15AFD4F60817181828193810E94C64CE4 +:1047B0009B01AC01C501B4010E94B44E42E00E94CD +:1047C000263B8FEC94E00E94AE3A8E010A541E4FB5 +:1047D000C8010E94910C0E94C64C4B015C01CD594E +:1047E000DD4F688179818A819B810E94C64C9B0143 +:1047F000AC01C501B4010E94B44E42E00E94263BC8 +:10480000A4DEADDD8EE493E00E94AE3A8FEA94E040 +:104810000E94AE3AF601A08DB18D2089318942897E +:1048200053890E94184E0E94FA3A8FEB94E00E943E +:10483000AE3AF701A08DB18D208931894289538923 +:104840000E94184E0E94FA3A8FEC94E00E94AE3A11 +:10485000F801A08DB18D20893189428953890E9448 +:10486000184E0E94FA3A71DEDF91CF911F910F919D +:10487000FF90EF90DF90CF90BF90AF909F908F9080 +:104880006ECD4F925F926F927F928F929F92AF9276 +:10489000BF92CF92DF92EF92FF920F931F93CF932D +:1048A000DF9300D01F92CDB7DEB70E94560A40902A +:1048B00032085090330860903408709035080E9498 +:1048C000560A8090360890903708A0903808B0902B +:1048D00039083BDEC0904A07D0904B07E0904C0768 +:1048E000F0904D0732DEC701B6010E94C64C6B0145 +:1048F0007C01C301B2010E94C64C9B01AC01C701FF +:10490000B6010E94B44E2B013C0160914E0770919C +:104910004F0780915007909151070E94C64C6B0140 +:104920007C01C501B4010E94C64C9B01AC01C701CA +:10493000B6010E94B44EAB01BC0149835A836B831C +:104940007C8357DC1F921F921F921F921F92812C13 +:10495000912CA12CB12CC12CD12C760149815A81EA +:104960006B817C818A019B01B301A2010E94120D1F +:1049700040DC1F921F921F921F921F929701860187 +:10498000B301A2010E94120D34DC1F921F921F92EC +:104990001F921F9297018601B701A6010E94120D76 +:1049A0000FB6F894DEBF0FBECDBF80E090E00F9051 +:1049B0000F900F900F90DF91CF911F910F91FF906B +:1049C000EF90DF90CF90BF90AF909F908F907F90AF +:1049D0006F905F904F900895CF93DF9385E40E948E +:1049E000BE18EC01B2DD91E0CD2B09F490E090937C +:1049F0009D0B84E40E94BE18EC01A7DD91E0CD2B55 +:104A000009F490E090939E0B83E40E94BE18EC01A1 +:104A10009CDD91E0CD2B09F490E090939F0B82E414 +:104A20000E94BE18EC0191DD91E0CD2B09F490E0DD +:104A30009093A00B81E40E94BE18EC0186DD91E00A +:104A4000CD2B09F490E09093A10B80E40E94BE1856 +:104A5000EC017BDD91E0CD2B09F490E09093A20B6B +:104A6000DF91CF910895CF93DF93EC012AEC30E0F2 +:104A70004BEC50E069EC70E00E94301C2EEC30E012 +:104A80004FEC50E06DEC70E0CE010C960E94301CB3 +:104A900024ED30E045ED50E063ED70E0CE01489646 +:104AA0000E94301C28ED30E049ED50E067ED70E0E9 +:104AB000CE0184960E94301C2EED30E04FED50E088 +:104AC0006DED70E0CE01C096DF91CF910C94301C5B +:104AD0002F923F924F925F926F927F928F929F920E +:104AE000AF92BF92CF92DF92EF92FF920F931F93FC +:104AF000CF93DF93EC010E94560AFE01EF56FD4F63 +:104B00008091120990911309918380830E94560A23 +:104B1000FE01ED56FD4F8091160990911709918382 +:104B200080830E94560AFE01EB56FD4F80911A09C0 +:104B300090911B09918380830E94560A8E01095629 +:104B40001D4F60913A0970913B0980913C09909109 +:104B50003D090E94C64CF801608371838283938370 +:104B60000E94560A1E01F5E62F1AFDEF3F0A6091DA +:104B70003E0970913F0980914009909141090E943E +:104B8000C64CF10160837183828393830E94560A2D +:104B900020E030E048EC52E4F801608171818281CC +:104BA00093810E94B44E2B013C0120E030E048ECA0 +:104BB00052E4F10160817181828193810E94B44E3F +:104BC0004B015C0160914209709143098091440955 +:104BD000909145090E94C64C20E030E048EC52E438 +:104BE0000E94B44E6B017C012AE037ED43E25CE3A6 +:104BF000C301B2010E944D4F18168CF420E030E042 +:104C000046EC52E4C301B2010E94C04C87FD0FC0C4 +:104C1000412C512C46EC642E42E4742E08C05AE01C +:104C2000452E57ED552E53E2652E5CE3752EF801A7 +:104C300040825182628273822AE037ED43E25CE374 +:104C4000C501B4010E944D4F18168CF420E030E0ED +:104C500046EC52E4C501B4010E94C04C87FD0FC070 +:104C6000812C912C26ECA22E22E4B22E08C03AE030 +:104C7000832E37ED932E33E2A32E3CE3B32EF101C6 +:104C800080829182A282B3822AE037ED43E25CE324 +:104C9000C701B6010E944D4F18168CF420E030E099 +:104CA00046EC52E4C701B6010E94C04C87FD0FC01C +:104CB000C12CD12C86ECE82E82E4F82E08C09AE0B4 +:104CC000C92E97EDD92E93E2E92E9CE3F92EFE0131 +:104CD000E156FD4FC082D182E282F3820E94560AE1 +:104CE0008091FA089091FB08FE01EA55FD4F9183EF +:104CF00080830E94560A8091FE089091FF08FE0171 +:104D0000E855FD4F918380830E94560A80910209E5 +:104D100090910309FE01E655FD4F918380830E9427 +:104D2000560A8091220990912309FE01E455FD4F16 +:104D3000918380830E94560A8091260990912709C9 +:104D4000FE01E255FD4F918380830E94560A8091B7 +:104D50002A0990912B09FE01E055FD4F9183808334 +:104D60000E94560A80914A0990914B09FE01EE5427 +:104D7000FD4F918380830E94560A80914E09909145 +:104D80004F09FE01EC54FD4F918380830E94560A27 +:104D90008091520990915309FE01EA54FD4F91838D +:104DA00080830E94560A8091620990916309FE01F6 +:104DB000E854FD4F918380830E94560A80916609D2 +:104DC00090916709FE01E654FD4F918380830E9414 +:104DD000560A80916A0990916B09FE01E454FD4FD7 +:104DE000918380830E94560A8091EA089091EB0893 +:104DF000A091EC08B091ED08FE01ED55FD4F019733 +:104E0000A105B10519F481E0808301C010820E94E0 +:104E1000560A8091EE089091EF08A091F008B091A9 +:104E2000F108FE01EC55FD4F0197A105B10519F4FC +:104E300081E0808301C010820E94560A8091F208AE +:104E40009091F308A091F408B091F508CB55DD4F8F +:104E50000197A105B10519F481E0888301C018828A +:104E6000DF91CF911F910F91FF90EF90DF90CF9046 +:104E7000BF90AF909F908F907F906F905F904F907A +:104E80003F902F9008952F923F924F925F926F9292 +:104E90007F928F929F92AF92BF92CF92DF92EF92CA +:104EA000FF920F931F93CF93DF93CDB7DEB7609739 +:104EB0000FB6F894DEBF0FBECDBF988B8F870E94D0 +:104EC000560AEF85F889E751FE4F81E040912208AC +:104ED000509123086091240870912508452B462B9A +:104EE000472B09F480E080830E94560AEF85F889F9 +:104EF000E651FE4F81E040912608509127086091CD +:104F0000280870912908452B462B472B09F480E08F +:104F100080830E94560AEF85F889E551FE4F81E0B3 +:104F200040912A0850912B0860912C0870912D080F +:104F3000452B462B472B09F480E080830E94560ABC +:104F40008091720890917308A0917408B0917508CF +:104F5000EF85F889E451FE4F80839183A283B38368 +:104F60000E94560A8091760890917708A09178085F +:104F7000B0917908EF85F889E051FE4F80839183E5 +:104F8000A283B3830E94560A80917A0890917B088D +:104F9000A0917C08B0917D08EF85F889EC50FE4F18 +:104FA00080839183A283B3830E94560A80914A082A +:104FB00090914B08A0914C08B0914D08EF85F8896D +:104FC000EC5FFD4F80839183A283B3830E94560AD6 +:104FD00080914E0890914F08A0915008B0915108CF +:104FE000EF85F889E85FFD4F80839183A283B383C7 +:104FF0000E94560A8091520890915308A09154083B +:10500000B0915508EF85F889E45FFD4F8083918367 +:10501000A283B3830E94560A80915A0890915B083C +:10502000A0915C08B0915D08EF85F889E05FFD4FC5 +:1050300080839183A283B3830E94560A80915E0885 +:1050400090915F08A0916008B0916108EF85F889A0 +:10505000EC5EFD4F80839183A283B3830E94560A46 +:105060008091620890916308A0916408B0916508EE +:10507000EF85F889E85EFD4F80839183A283B38337 +:105080000E94560A8091FA079091FB07A091FC07B5 +:10509000B091FD07EF85F889E45EFD4F8083918331 +:1050A000A283B3830E94560A8091FE079091FF0766 +:1050B000A0910008B0910108EF85F889E05EFD4FEE +:1050C00080839183A283B3830E94560A8091020851 +:1050D00090910308A0910408B0910508EF85F88924 +:1050E000EC5DFD4F80839183A283B3830E94560AB7 +:1050F000EF85F889E85DFD4F81E02091D20730917E +:10510000D3072130310509F080E080830E94560AE0 +:10511000EF85F889E75DFD4F81E02091D60730915A +:10512000D7072130310509F080E080830E94560ABC +:10513000EF85F889E65DFD4F81E02091DA07309137 +:10514000DB072130310509F080E080830E94560A98 +:10515000EF85F889EA5BFD4F81E04091AA07509105 +:10516000AB076091AC077091AD07452B462B472BE1 +:1051700009F480E080830E94560AEF85F889E95B94 +:10518000FD4F81E04091AE075091AF076091B007AD +:105190007091B107452B462B472B09F480E08083A3 +:1051A0000E94560AEF85F889E85BFD4F81E0409147 +:1051B000B2075091B3076091B4077091B507452BC2 +:1051C000462B472B09F480E080830E94560AEF8526 +:1051D000F889E75BFD4F81E0409182085091830898 +:1051E0006091840870918508452B462B472B09F464 +:1051F00080E080830E94560AEF85F889E65BFD4FC8 +:1052000081E04091860850918708609188087091EC +:105210008908452B462B472B09F480E080830E94A8 +:10522000560AEF85F889E55BFD4F81E040918A08D9 +:1052300050918B0860918C0870918D08452B462BFE +:10524000472B09F480E080830E94560AEF85F88995 +:10525000E45BFD4F81E02091BA073091BB0721301C +:10526000310509F080E080830E94560AEF85F889B5 +:10527000E35BFD4F81E02091BE073091BF072130F5 +:10528000310509F080E080830E94560AEF85F88995 +:10529000E25BFD4F81E02091C2073091C3072130CE +:1052A000310509F080E080830E94560A80918207D0 +:1052B00090918307A0918407B0918507EF85F889C5 +:1052C000E15BFD4F80839183A283B3830E94560AE2 +:1052D0008091860790918707A0918807B0918907F0 +:1052E000EF85F889ED5AFD4F80839183A283B383C4 +:1052F0000E94560A80918A0790918B07A0918C0793 +:10530000B0918D07EF85F889E95AFD4F808391832D +:10531000A283B3830E94560AEF85F889E65CFD4FAD +:1053200081E04091920750919307609194077091AA +:105330009507452B462B472B09F480E080830E947C +:10534000560AEF85F889E55CFD4F81E040919607AC +:10535000509197076091980770919907452B462BBC +:10536000472B09F480E080830E94560AEF85F88974 +:10537000E45CFD4F81E040919A0750919B0760915A +:105380009C0770919D07452B462B472B09F480E025 +:1053900080830E94560A80918A0990918B09A0917E +:1053A0008C09B0918D09EF85F889E55DFD4F80830B +:1053B0009183A283B3830E94560A80918E099091B3 +:1053C0008F09A0919009B0919109EF85F889E15D6D +:1053D000FD4F80839183A283B3830E94560A8091FC +:1053E000920990919309A0919409B0919509EF8544 +:1053F000F889ED5CFD4F80839183A283B3830E9483 +:10540000560AEF85F889E35CFD4F81E02091EA07B9 +:105410003091EB072130310509F080E08083EF8582 +:10542000F889E25CFD4F1082EF85F889E15CFD4F61 +:1054300010820E94560AEF85F889E05CFD4F81E0FA +:105440002091E6073091E7072130310509F080E02F +:105450008083EF85F889EF5BFD4F1082EF85F88937 +:10546000EE5BFD4F10820E94560AEF85F889ED5BD6 +:10547000FD4F81E020910A0830910B082130310561 +:1054800009F080E080830E94560AEF85F889EC5B82 +:10549000FD4F81E020910E0830910F082130310539 +:1054A00009F080E080830E94560AEF85F889EB5B63 +:1054B000FD4F81E020911208309113082130310511 +:1054C00009F080E080830E94560AEF85F889E95C44 +:1054D000FD4F81E020919A0930919B0921303105DF +:1054E00009F080E080830E94560AEF85F889E85C25 +:1054F000FD4F81E020919E0930919F0921303105B7 +:1055000009F080E080830E94560AEF85F889E75C05 +:10551000FD4F81E02091A2093091A309213031058E +:1055200009F080E080830E94560A0F851889055A89 +:105530001D4F8091320890913308A0913408B091AA +:105540003508F80180839183A283B3830E94560AB1 +:10555000EF84F888F1EAEF1AFDEFFF0A8091360830 +:1055600090913708A0913808B0913908F7018083ED +:105570009183A283B3830E94560A80913A08909146 +:105580003B08A0913C08B0913D082F8538892D59E2 +:105590003D4FF90180839183A283B383F801408159 +:1055A000518162817381141615061606170644F0A0 +:1055B00041E050E060E070E0408351836283738398 +:1055C000F701408151816281738114161506160618 +:1055D000170644F041E050E060E070E04083518302 +:1055E00062837383181619061A061B064CF081E0B5 +:1055F00090E0A0E0B0E0F90180839183A283B383BF +:10560000D9018D909D90AD90BC90F701C080D18064 +:10561000E280F380D8014D905D906D907C900E9467 +:10562000A522FC014082518262827382C482D582AB +:10563000E682F78280869186A286B386EF85F88916 +:10564000E95CFD4FB081B983EF85F889E55DFD4FD9 +:1056500080819181A281B3814F8558894D5B5D4FD7 +:10566000FA01F081FB834F855889445B5D4FFA0155 +:10567000F081FA834F855889435C5D4FFA01F081D0 +:10568000FF834F855889405C5D4FFA01F081F887B0 +:105690004F855889475B5D4FFA01F081F9874F8547 +:1056A00058894A5B5D4FFA01F081FA87EF85F889E6 +:1056B000E85DFD4F2080EF85F889E751FE4F30808F +:1056C000EF85F889E15BFD4F4081518162817381F3 +:1056D000EF85F889E45EFD4F0081118122813381DD +:1056E000EF85F889E05FFD4FC080D180E280F380D4 +:1056F000EF85F889EC5FFD4F80809180A280B380B8 +:10570000EF85F889E451FE4F4080518062807380BC +:10571000EF85F88940A651A662A673A684A695A631 +:10572000A6A6B7A6C0AAD1AAE2AAF3AA04AB15AB53 +:1057300026AB37AB40AF51AF62AF73AF34AE25AEDF +:105740002A8525A3398536A34A8147A340E450E042 +:1057500060E070E0E05CFF4F4083518362837383BD +:105760002885EF85F88926AF3F8137AFAF014C5BC5 +:105770005F4F2B81FA012083EF85F889EB5BFF4FA8 +:1057800080839183A283B383EF85F889E75BFF4F22 +:1057900039813083AF85B88955968D919C91569704 +:1057A0008633910589F483EB9EE2FD01E658FF4FB5 +:1057B0009183808332961182108281EB9EE236962D +:1057C00091838083329630C08C33910589F48BEAC3 +:1057D0009EE2EF85F889E658FF4F91838083EF853D +:1057E000F889E458FF4F1182108289EA9EE212C0C4 +:1057F0008E97E1F483EA9EE2EF85F889E658FF4F41 +:1058000091838083EF85F889E458FF4F11821082DD +:105810008DE99EE2EF85F889EE57FF4F91838083F3 +:10582000EF85F889EC57FF4F11821082EF85F889D8 +:10583000838D948D4A97D1F48FEA9EE2E258FF4F10 +:1058400091838083EF85F889E058FF4F11821082A1 +:105850008DEA9EE2EF85F889EA57FF4F91838083B6 +:10586000EF85F889E857FF4F11821082EF85F8899C +:10587000E85CFD4F20812983EF85F889E15DFD4FCC +:105880004080518062807380EF85F889EC5BFD4F2A +:1058900030813B83EF85F889E35BFD4F9081EF8595 +:1058A000F889E25CFD4F40814F83EF85F889EF5B1B +:1058B000FD4F50815887EF85F889E65BFD4F808169 +:1058C000EF85F889E95BFD4FA081AA87EF85F8890C +:1058D000E75DFD4F2080EF85F889E651FE4F30806F +:1058E000EF85F889ED5AFD4F208131814281538146 +:1058F0002B873C874D875E87EF85F889E05EFD4FFB +:105900004081518162817381EF85F889EC5EFD4FA2 +:10591000C080D180E280F380EF85F889E85FFD4F99 +:1059200080809180A280B380EF85F889E657FF4F91 +:105930002F85388920513E4FD9010D911D912D9110 +:105940003C91008F118F228F338F848E958EA68E7F +:10595000B78EC0A2D1A2E2A2F3A244A355A366A32C +:1059600077A32B853C854D855E8520A731A742A76F +:1059700053A734A625A63A85358B868B978B80E472 +:1059800090E0A0E0B0E080AB91ABA2ABB3AB4885B8 +:1059900046A75F8157A78B8184AB45AA56AA67AA01 +:1059A00070AE998191AF858196818633910589F496 +:1059B00083EB9EE2AF85B889AC50BF4F8D939C932B +:1059C000AF85B889AA50BF4F1D921C9281EB9EE211 +:1059D00026C08C33910589F48BEA9EE2AF85B889A5 +:1059E000AC50BF4F8D939C93AF85B889AA50BF4FE1 +:1059F0001D921C9289EA9EE212C08E97E1F483EA1E +:105A00009EE2AF85B889AC50BF4F8D939C93AF8514 +:105A1000B889AA50BF4F1D921C928DE99EE2AF85B6 +:105A2000B889A450BF4F8D939C93AF85B889A2507D +:105A3000BF4F1D921C92838594854A97D9F48FEAB3 +:105A40009EE2EF85F889E850FF4F91838083EF85D0 +:105A5000F889E650FF4F118210828DEA9EE2EF85B1 +:105A6000F889F39591838083EF85F889EE5FFE4F87 +:105A700011821082EF85F889E75CFD4FA081A98330 +:105A80002F8538892D5C3D4FD9018D919D910D90C9 +:105A9000BC91A02D8B839C83AD83BE83EF85F88959 +:105AA000EB5BFD4FB081BA83EF85F889E25BFD4F78 +:105AB00020812F83EF85F889E15CFD4F30813887A5 +:105AC000EF85F889EE5BFD4F40814987EF85F889C6 +:105AD000E55BFD4F2080EF85F889E85BFD4F308066 +:105AE000EF85F889E65DFD4F3081EF85F889E55156 +:105AF000FE4F2081EF85F889E95AFD4F8081918121 +:105B0000A281B381EF85F889EC5DFD4F4081518121 +:105B100062817381EF85F889E85EFD4FC080D18096 +:105B2000E280F380EF85F889E45FFD4F808091800B +:105B3000A280B3800F8518890C5F1E4FEF85F8890E +:105B4000EC50FE4F4080518062807380F801408E9F +:105B5000518E628E738E848E958EA68EB78EC0A265 +:105B6000D1A2E2A2F3A244A355A366A377A380A780 +:105B700091A7A2A7B3A724A735A7358A268A2F8184 +:105B8000278B80E490E0A0E0B0E080AB91ABA2ABCB +:105B9000B3AB298526A7388537A74A8144AB8B81CB +:105BA0009C81AD81BE8185AB96ABA7ABB0AF29819F +:105BB00021AF858196818633910589F483EB9EE23E +:105BC000EF85F889E259FE4F91838083EF85F8894C +:105BD000E059FE4F1182108281EB9EE226C08C3389 +:105BE000910589F48BEA9EE2EF85F889E259FE4F30 +:105BF00091838083EF85F889E059FE4F11821082EE +:105C000089EA9EE212C08E97E1F483EA9EE2EF8574 +:105C1000F889E259FE4F91838083EF85F889E05936 +:105C2000FE4F118210828DE99EE2EF85F889EA58D5 +:105C3000FE4F91838083EF85F889E858FE4F1182EB +:105C40001082D8011B968D919C911C974A97E1F484 +:105C50008FEA9EE2EF85F889EE58FE4F91838083AC +:105C6000EF85F889EC58FE4F118210828DEA9EE292 +:105C7000EF85F889E658FE4F91838083EF85F88998 +:105C8000E458FE4F11821082EF85F889E65CFD4FE3 +:105C900020818F8598894096222311F0D9D101C0A7 +:105CA000C3D1EF85F889E55CFD4F20818F85988908 +:105CB00086579F4F222311F0CBD101C0B5D1EF857C +:105CC000F889E45CFD4F80818823D1F0C80160969B +:105CD0000FB6F894DEBF0FBECDBFDF91CF911F91FD +:105CE0000F91FF90EF90DF90CF90BF90AF909F907B +:105CF0008F907F906F905F904F903F902F90A8C1B2 +:105D0000C80160960FB6F894DEBF0FBECDBFDF911D +:105D1000CF911F910F91FF90EF90DF90CF90BF90A8 +:105D2000AF909F908F907F906F905F904F903F903B +:105D30002F907AC18FEF9FEF0895EBE0F1E0808123 +:105D4000877F80830895EBE0F1E080818860808325 +:105D500008958E9808958E9A089514980895149A27 +:105D6000089588980895889A08950C94AE470C94E5 +:105D7000AE470C94AE470C94AE470C94AE470F93CD +:105D80001F93CF93DF93FB01C2A1D3A1068D178D83 +:105D90008091A50B9091A60B892B41F481E090E0B6 +:105DA0000E9419479093A60B8093A50B0430110510 +:105DB00039F00530110549F4BE0182EE9CE003C0C4 +:105DC000BE018FED9CE00E94AF1A80E090E0DF9171 +:105DD000CF911F910F9108958F929F92AF92BF9292 +:105DE000CF92DF92EF92FF920F931F930E94F920C0 +:105DF0001F921F9221E02F931F921F92812C912CB2 +:105E0000A12CB12CC12CD12C760197018601B701B0 +:105E1000A6010E94120D0F900F900F900F900F90FF +:105E200080E090E01F910F91FF90EF90DF90CF9076 +:105E3000BF90AF909F908F9008950E94A5220E94DE +:105E4000022280E090E0089560E0FC0183850C94DC +:105E5000E61860E0FC0185810C94E61861E0FC0125 +:105E600083850C94E61861E0FC0185810C94E618AA +:105E7000CF93DF93FB01C68DD78D0E94560ABE01DA +:105E80000E94130A80E090E0DF91CF910895CF93B4 +:105E9000DF938091A70B9091A80B892BF1F48CE3F1 +:105EA00090E00E941947EC01FC01CC96118210820F +:105EB0003C96E817F907D1F7198218821D861C86CF +:105EC000198E188E1DA21CA219AA18AACE010E9412 +:105ED0003325D093A80BC093A70B8091A70B90916B +:105EE000A80BDF91CF91089508950895089508951E +:105EF0001F920F920FB60F9211240BB60F922F9391 +:105F00003F934F935F936F937F938F939F93AF9341 +:105F1000BF93EF93FF93E0914207F09143071995E8 +:105F2000FF91EF91BF91AF919F918F917F916F9171 +:105F30005F914F913F912F910F900BBE0F900FBE2D +:105F40000F901F901895CF93DF93EC01FC01E75958 +:105F5000FF4F1082379781E0808360E08D810E943F +:105F6000E6188F859889892B31F060E08B85DF9169 +:105F7000CF910C94E618DF91CF910895CF93DF93E2 +:105F8000EC018B890E94BE182E8930E0821793079E +:105F900011F48F8901C080E0DF91CF910895CF93F4 +:105FA000DF93EC0189890E94BE182E8930E08217A8 +:105FB000930711F48F8901C080E0DF91CF9108959C +:105FC000CF93DF93EC018DA5882311F061E001C030 +:105FD00060E08F810E94E6188EA5882329F08FA5A6 +:105FE000882311F061E001C060E08D85DF91CF91E1 +:105FF0000C94E618CF93DF93EC018DA5882311F064 +:1060000060E001C061E08F810E94E6188EA58823C0 +:1060100029F08FA5882311F060E001C061E08D8533 +:10602000DF91CF910C94E618CF93DF93EC0161E000 +:1060300089850E94E6188EA5882321F061E08F856E +:106040000E94E618C959DF4F1882DF91CF91089559 +:10605000CF93DF93EC0160E089850E94E6188EA55E +:10606000882321F060E08F850E94E618C959DF4F30 +:1060700081E08883DF91CF910895CF92DF92EF92F4 +:10608000FF920F931F93CF93DF93FC0142AF53AF67 +:1060900064AF75AFDC01DE964D935D936D937C9399 +:1060A000139714960D931D932D933C931397EC0126 +:1060B000CA5BDF4FE88284A9882389F084A5811117 +:1060C00009C037FF0CC01D921D921D921C921397A0 +:1060D00081E006C01016110612061306A4F380E034 +:1060E00045A956A967A970AD141615061606170618 +:1060F0003CF591AD992321F10D911D912D913C918C +:1061000013976801790137FF07C0CC24DD2476019D +:10611000C01AD10AE20AF30A4C155D056E057F0527 +:106120007CF437FF07C070956095509541955F4F9F +:106130006F4F7F4F4D935D936D937C93139781E0E9 +:10614000DF01A15BBF4F1D921D921D921C92139700 +:10615000E15AFF4F91E09083DF91CF911F910F9112 +:10616000FF90EF90DF90CF9008950F931F93CF9300 +:10617000DF938C01D62FFC018589811109C0C801EC +:106180000EDFC82FC801FADED11108C08C2F06C05F +:10619000C801F4DEC82FC80102DFF6CFDF91CF912E +:1061A0001F910F910895CF93DF93EC01FC01E75904 +:1061B000FF4F81E0808339978081B297882341F037 +:1061C00080819181A281B3810196A11DB11D07C07B +:1061D00080819181A281B3810197A109B109808356 +:1061E0009183A283B383FE01E459FF4F2081318163 +:1061F000DE01A659BF4FC9019595879520FD03C0C3 +:10620000ED91FC910DC0FE01E80FF91F0190F081A6 +:10621000E02D2D913C91E20FF31F0190F081E02DD4 +:106220008C0F9D1F19958F859889892B11F1FE017F +:10623000E059FF4F20813181DE01A259BF4FC901D2 +:106240009595879520FD03C0ED91FC910DC0FE0151 +:10625000E80FF91F0190F081E02D2D913C91E20FA4 +:10626000F31F0190F081E02D8C0F9D1FDF91CF91E6 +:106270001994DF91CF9108958F929F92AF92BF9220 +:10628000CF92DF92EF92FF920F931F93CF93DF9302 +:10629000EC01FC01E15BFF4F6081718182819381A0 +:1062A0000E94C44C6B017C0168A979A98AA99BA9A9 +:1062B0000E94C64C9B01AC0160E074E284E799E463 +:1062C0000E94B44E4B015C01FE01E55AFF4F608114 +:1062D0007181828193810E94C44C9B01AC01C501F4 +:1062E000B4010E94B44E4B015C018E010D5A1F4F48 +:1062F00020E030E040E05FE30E94254D9B01AC01CF +:10630000C701B6010E94504E0E94214FF8016083E0 +:10631000718382839383C95ADF4FA5019401C7011A +:10632000B6010E94504E0E94214F688379838A8370 +:106330009B83DF91CF911F910F91FF90EF90DF90A2 +:10634000CF90BF90AF909F908F9008950F931F9321 +:10635000CF93DF93FC01E759FF4F20812223B9F04F +:106360007A97008111812281338138964081518151 +:1063700062817381041715072607370710F1EC01B6 +:10638000E2DDCE01DF91CF911F910F9175CFFC011E +:10639000E15AFF4F20812223A1F0709700811181E3 +:1063A0002281338134964081518162817381041747 +:1063B00015072607370728F0DF91CF911F910F911E +:1063C000F2CEDF91CF911F910F9108952F923F92BE +:1063D0004F925F926F927F928F929F92AF92BF92F5 +:1063E000CF92DF92EF92FF920F931F93CF93DF93A1 +:1063F000CDB7DEB762970FB6F894DEBF0FBECDBF44 +:106400008C017C0126E4E20EF11CD7018C919801ED +:10641000205A3F4FF801EF59FF4F6F01A801425C2E +:106420005F4F4A0114971D01882341F0F80184A5AC +:10643000D9018C9381E0F60180832FC0DA014D9160 +:106440005D916D917C91F10180819181A281B381F7 +:10645000BB24B394481759076A077B070CF0B12C8B +:10646000F901B08277FF07C070956095509541950E +:106470005F4F6F4F7F4FB7FF07C0B095A0959095C6 +:1064800081959F4FAF4FBF4F21E0481759076A07CB +:106490007B070CF420E0D6012C93F401408151815C +:1064A00062817381411551056105710559F4F80147 +:1064B000848D958DA68DB78DE55AFF4F808391838E +:1064C000A283B383F10180819181A281B381F8011C +:1064D00042AC53AC64AC75AC9801215A3F4F5901A2 +:1064E000481659066A067B0634F4481759076A07A6 +:1064F0007B077CF00AC084159505A605B7052CF42A +:1065000084179507A607B70724F0D7018C91882335 +:10651000D9F0F50180818823B9F0D7018C918111E0 +:1065200005C0F701808181110FC006C060E0C8017D +:106530001CDE8111F6CF17C0D6016C9181E068276F +:10654000C80113DE882379F0D5011C9260E0C801F0 +:106550000CDE882309F4B3C1F801FE961082118283 +:1065600012821382ACC1D80194962D913D914D9128 +:106570005C91979729833A834B835C8358962D913E +:106580003D914D915C915B972D833E834F8358875E +:106590005C962D913D914D915C915F9729873A874B +:1065A0004B875C87F10180819181A281B381F801E1 +:1065B000FE96C080D180E280F380F80142AD53ADF9 +:1065C00064AD75ADED59FF4F1082319610823801E0 +:1065D000F5E66F0E711CF301108298012A593F4FA6 +:1065E000F9011082329610824C015D01841A950ADD +:1065F000A60AB70AB7FE08C0B094A09490948094FD +:10660000811C911CA11CB11C481759076A077B0704 +:106610002CF4C41AD50AE60AF70A04C0C81AD90A23 +:10662000EA0AFB0AD501C401B595A7959795879508 +:106630008D879E87AF87B88BD801A859BF4F1D01A2 +:10664000F7FC05C08C149D04AE04BF044CF4F801A3 +:1066500000A0F1A1E02DFA8BE98B81E0D9011BC0EC +:106660002D853E854F8558892C153D054E055F05C6 +:1066700008F454C089819A81AB81BC818C159D0539 +:10668000AE05BF0564F42D813E812F5F3F4F3A8BED +:10669000298B81E0D3018C93F10180839EC0C701D7 +:1066A000B6010E94C64C2B013C0169817A818B8125 +:1066B0009C810E94C64C9B01AC01C301B2010E94A7 +:1066C000B44E2B013C016D817E818F819885298597 +:1066D0003A854B855C85621B730B840B950B0E947E +:1066E000C64C9B01AC01C301B2010E94254D2B0198 +:1066F0003C0169857A858B859C850E94C64C9B01EF +:10670000AC01C301B2010E94504E0E941C4F7A8B13 +:10671000698B81E0F801ED59FF4F5CC0D501C401E0 +:1067200029813A814B815C81821B930BA40BB50BB1 +:10673000C816D906EA06FB065CF42D813E812E5F61 +:106740003F4F3A8B298B81E0F801EB59FF4F42C054 +:10675000C501B4016C197D098E099F090E94C64CC0 +:106760002B013C0169817A818B819C810E94C64CFE +:106770009B01AC01C301B2010E94B44E2B013C014C +:106780006D817E818F81988529853A854B855C85D1 +:10679000621B730B840B950B0E94C64C9B01AC01D2 +:1067A000C301B2010E94254D2B013C0169857A8508 +:1067B0008B859C850E94C64C9B01AC01C301B20134 +:1067C0000E94504E0E941C4F7A8B698B81E0F80129 +:1067D000EC59FF4F8083D1018C93F8018481882389 +:1067E000B1F00E94591AD80112964D905C901397FF +:1067F000052C000C66087708DC01CB01841995098B +:10680000A609B709893E9340A105B10568F4F801CE +:10681000E55AFF4F29893A89C901A0E0B0E0808399 +:106820009183A283B38392CE0E94591AD801139602 +:106830007C936E93129784E294E090D68FE196E079 +:106840008DD660E070E0CB01D5D685E296E086D6A5 +:10685000C701B601CFD68BE296E080D6C501B40160 +:10686000C9D681E396E07AD64AE06D857E858F852C +:10687000988975D688E396E071D669817A818B8193 +:106880009C81B8D68EE396E069D669857A858B853A +:106890009C85B0D684E496E061D66D817E818F813F +:1068A0009885A8D68AE496E059D680EA94E056D630 +:1068B00089899A89C6D68CE993E050D6A8CF62968A +:1068C0000FB6F894DEBF0FBECDBFDF91CF911F9101 +:1068D0000F91FF90EF90DF90CF90BF90AF909F907F +:1068E0008F907F906F905F904F903F902F90089582 +:1068F0000F931F93FC01EA5BFF4F2081211110C011 +:1069000038970081118122813381349640815181F1 +:1069100062817381041715072607370744F404C002 +:10692000FC0124A5222319F01F910F9163CB1F9125 +:106930000F9146CBFC0113821282148216821582BB +:10694000108617821286118614861386168615867F +:10695000108A1786128A118A148A138ADC01A15AB6 +:10696000BF4F1C9212AE13AE14AE15AE91971D928E +:106970001D921D921C92139714961D921D921D92AA +:106980001C92139714961C925A961C9211961C9264 +:1069900012961C9211961C9211961C9211961C92A2 +:1069A00011961C9211961C9211961C92119683E3DB +:1069B0009FE211969C938E93129611961C921E92B2 +:1069C00012968EE29FE211969C938E9312961196E8 +:1069D0001C921E92129689E29FE211969C938E93CE +:1069E000129611961C921E92129684E29FE28D934B +:1069F0009C93E858FF4F11821082089508956E34D9 +:106A000071050CF050C06B3471050CF08FC06C3206 +:106A1000710554F5693271050CF088C06831710553 +:106A200094F46F3071050CF081C06630710544F448 +:106A3000623071050CF07AC0672B09F075C076C022 +:106A40006B5071096EC0623271053CF46F31710593 +:106A50000CF06CC06951710964C0645271096230F4 +:106A6000710508F061C062C06A3371057CF4673358 +:106A700071050CF05BC06D3271050CF455C06033CC +:106A800071050CF453C0635371094BC06434710534 +:106A90003CF4613471050CF049C06D53710941C07B +:106AA000675471093EC066387105F4F463387105A6 +:106AB000ECF56237710564F46F367105BCF5653627 +:106AC000710594F1683671058CF16956710929C018 +:106AD0006C37710534F46937710544F563577109F2 +:106AE00020C06D5771091DC0603D71057CF46D3C7F +:106AF0007105E4F46439710534F461397105B4F455 +:106B00006D5871090EC0695C71090BC06A3D710551 +:106B100034F4673D710554F4635D710902C06D5D25 +:106B200071096330710510F080E0089581E00895E7 +:106B30002F923F924F925F926F927F928F929F928D +:106B4000AF92BF92CF92DF92EF92FF920F931F937B +:106B5000CF93DF93CDB7DEB7A3970FB6F894DEBF20 +:106B60000FBECDBF9BA38AA31B010E9443278AA10E +:106B70009BA10E9468258AA19BA10E945D1D8AA1FC +:106B80009BA10E945F1D21E022163104C9F132E071 +:106B90002316310409F466C02114310409F095C0AC +:106BA000AAA0BBA040E1A40EB11C8AA19BA182585F +:106BB0009E4F9E838D83EAA1FBA1EA5BFD4F9081EE +:106BC0009D87AAA1BBA1A959BD4FB887AF83EAA1F0 +:106BD000FBA1EF56FD4FF98BE88B2AA13BA12D5568 +:106BE0003D4F3D8B2C8B4AA15BA14D515E4F5C8785 +:106BF0004B878DE890E09B8B8A8BA5E1B0E062C06B +:106C0000AAA0BBA0BAE8AB0EB11CEAA1FBA1E65654 +:106C1000FE4FFE83ED83EAA1FBA1E95BFD4F2081DE +:106C20002D874AA15BA145595D4F58874F838AA1A3 +:106C30009BA18D569D4F998B888BAAA1BBA1AC556A +:106C4000BD4FBD8BAC8BEAA1FBA1EB51FE4FFC8786 +:106C5000EB872EE830E03B8B2A8B46E150E05C83EB +:106C60004B8336C0AAA0BBA05CEFA51A5EEFB50AA5 +:106C70008AA19BA18A549E4F9E838D83EAA1FBA18A +:106C8000E85BFD4F90819D87AAA1BBA1A159BD4F93 +:106C9000B887AF83EAA1FBA1EB56FD4FF98BE88BD8 +:106CA0002AA13BA12B553D4F3D8B2C8B4AA15BA1CB +:106CB00049515E4F5C874B878FE890E09B8B8A8BB6 +:106CC000A7E1B0E0BC83AB8303C080E596E00AC0D7 +:106CD000C50165D9811104C0C50150D9882369F067 +:106CE00081EE96E03BD40E94A52281E090E0909353 +:106CF00045078093440790E0CEC384E294E02ED40D +:106D00008FE796E02BD4D5018C9169D487E197E089 +:106D100025D48CE993E022D481E090E0EB85FC85DA +:106D20009183808341E050E0B5018AA19BA10E943C +:106D3000FD22C5018DD9D5019C968C918501005A03 +:106D40001F4F882331F0C50155D981E0F8018083B8 +:106D500004C0C50135D9D8011C928D819E810E9445 +:106D6000910CF501FE966083718382839383EF819A +:106D7000F8851082118212821382EAA1FBA1E959DF +:106D8000FD4F1082118212821382EAA1FBA1E55904 +:106D9000FD4F1082118212821382EAA1FBA1E159F8 +:106DA000FD4F108211821282138286E090E0AB8543 +:106DB000BC858D939C9346E050E0B5018AA19BA1D0 +:106DC0000E94FD2241E050E0B5018AA19BA10E94F2 +:106DD000E222412C512C320143948AA19BA1820DC5 +:106DE000931DFC01ED55FD4FFF87EE874101880C97 +:106DF000991C880C991CC40189569D4F2AA13BA15E +:106E0000280F391F3F8B2E8BC101875A9E4F880F49 +:106E1000991F4AA15BA1480F591F5B8F4A8FC4017C +:106E20008B579D4FAAA1BBA1A80FB91FBD8FAC8FD7 +:106E3000F401E758FD4FFF8FEE8F8AA19BA1880DCB +:106E4000991D9C01205F3D4F3A8729878AA19BA10C +:106E50000E943B1DAE85BF858C918823B1F0A401B3 +:106E600049595D4FEAA1FBA14E0F5F1FCE88DF8815 +:106E7000EA8CFB8C0C8D1D8D2E8D3F8D2E0F3F1FB0 +:106E80006D817E81C5010E947F1C89EA9BE00E9482 +:106E9000C9151816190624F01A82198210E01DC0AF +:106EA00089EA9BE00E94A7158F7D85349105A1F7A3 +:106EB0008BE095E053D30E94A52221E0DC011C96D3 +:106EC0002C9382E693E04AD30E94A5220E94AF2130 +:106ED000E1E0F0E0FA83E98311E0C50160D88111B7 +:106EE000C9C2C5014BD88111C5C21111C3C2A8893D +:106EF000B9896D917C91072E000C880B990B0E942B +:106F0000C64C9B01AC01EF81F88560817181828163 +:106F100093810E94C04C87FFADC2C50144D9E98569 +:106F2000FA85208131814281538160E573EC80E0F4 +:106F300090E00E94F24DC9010E94161AA985BA85F7 +:106F40002D913D914D915C91A3E0B0E00E940E4ED9 +:106F50009B01AC01C301B2010E94F24D672B682B6B +:106F6000692B39F48EE593E0F9D20E94A5220E94A4 +:106F7000AF21C5010E94A32FA985BA852D913D910E +:106F80004D915C9160E573EC80E090E00E94F24DE1 +:106F9000C9010E94161ABFEF4B1A5B0A6B0A7B0AE3 +:106FA000E981FA81EF2B09F451CF21E030E03A83F7 +:106FB000298342E050E0B5018AA19BA10E94E22210 +:106FC00084E294E0CBD28FE796E0C8D2D5018C91D1 +:106FD00006D386E896E0C2D28CE993E0BFD2E9817D +:106FE000FA81EF2BD1F489E996E0B8D280EA94E0F7 +:106FF000B5D286ED94E0B2D28B819C8122D380EA17 +:1070000094E0ACD288ED94E0A9D2FD858F2F90E07A +:1070100018D30E94A5220E94AF218AA19BA10E94A1 +:107020005D1D8AA19BA10E945F1D84E294E096D21F +:107030008FE796E093D2D5018C91D1D28DE996E07D +:107040008DD28CE993E08AD2EF81F885108211828B +:1070500012821382D5019C968C918501005A1F4F94 +:10706000882331F0C5010E94E02FF801108206C08C +:10707000C5010E94FA2F81E0D8018C938D819E81F9 +:107080000E94910CF501FE96608371838283938345 +:10709000EAA1FBA1E959FD4F1082118212821382ED +:1070A000EAA1FBA1E559FD4F1082118212821382E1 +:1070B000EAA1FBA1E159FD4F1082118212821382D5 +:1070C0008D819E810E94910C6E8B7F8B888F998F12 +:1070D000412C512C320143948AA19BA1820D931D16 +:1070E000FC01ED55FD4FFB8FEA8F9101220F331FFD +:1070F000220F331F3C832B83C90189569D4F4AA120 +:107100005BA1480F591F5D8F4C8FC101875A9E4F5D +:10711000880F991FAAA1BBA1A80FB91FBF8FAE8F5F +:10712000C9018B579D4FEAA1FBA1E80FF91FF9A3F5 +:10713000E8A3C9012AA13BA1820F931FAC01405FC4 +:107140005D4F5F874E879201215031093A87298729 +:10715000490149815A81452B09F0CBC08AA19BA1E5 +:107160000E943B1DAA8DBB8D8C918823C9F02B8179 +:107170003C8127583D4FEAA1FBA12E0F3F1F4B81B9 +:107180005C8149595D4F4E0F5F1FCC8CDD8CEE8CBE +:10719000FF8C08A119A16D817E81C5010E947F1C11 +:1071A00089EA9BE00E94C9151816190614F010E030 +:1071B0001DC089EA9BE00E94A7158F7D853491054B +:1071C000B1F78BE095E0CAD10E94A52221E0DC0155 +:1071D0001C962C9382E693E0C1D10E94A5220E94C6 +:1071E000AF21E1E0F0E0FA83E98311E029853A85F7 +:1071F0002A30310538F4AF81B8851D921D921D9259 +:107200001C921397BD85C501B11140C10E94BE2FCC +:1072100081116BC0112319F089849A8466C0E889B2 +:10722000F98960817181072E000C880B990B0E94EF +:10723000C64C9B01AC01AF81B8856D917D918D915C +:107240009C910E94C04C87FFE7CFC5010E94D330BC +:10725000EE85FF85208131814281538160E573ECA9 +:1072600080E090E00E94F24DC9010E94161AAE859E +:10727000BF852D913D914D915C91A3E0B0E00E94BE +:107280000E4E9B01AC01C301B2010E94F24D672B6F +:10729000682B692B91F48EE593E060D10E94A522C2 +:1072A0000E94AF2184E294E059D181EB96E056D15F +:1072B000C201C7D18CE993E051D1C5010E94A32F2F +:1072C000EE85FF85208131814281538160E573EC39 +:1072D00080E090E00E94F24DC9010E94161AFFEF73 +:1072E0004F1A5F0A6F0A7F0A2ECF8FEB96E036D1D6 +:1072F00004C081E090E09A83898384E294E02ED1F7 +:107300008FE796E02BD1D5018C9169D183ED96E082 +:1073100025D18CE993E022D18D819E810E94910C30 +:10732000EC89FD89EF2BA1F0DC01CB012E893F898F +:10733000488D598D821B930BA40BB50BB7FF07C06B +:10734000B095A095909581959F4FAF4FBF4F4C0141 +:1073500049815A81452BF9F489E996E0FFD080EA0A +:1073600094E0FCD086ED94E0F9D08A899B8969D1BC +:1073700080EA94E0F3D088ED94E0F0D0B401092CD9 +:10738000000C880B990B0E94C64C42E05FD10E9412 +:10739000A5220E94AF2185E090E0AB85BC858D934E +:1073A0009C9345E050E0B5018AA19BA10E94FD227B +:1073B000C5010E9414308AA19BA10E945D1D8AA173 +:1073C0009BA10E945F1DB1E02B163104A9F0E2E001 +:1073D0002E16310401F1232861F50E94A522C40173 +:1073E000990CAA0BBB0B80934A0790934B07A09371 +:1073F0004C07B0934D071DC00E94A522C401990CF3 +:10740000AA0BBB0B80934E0790934F07A093500796 +:10741000B09351070EC00E94A522C401990CAA0B7B +:10742000BB0B8093520790935307A0935407B093DC +:1074300055070E94A5220E940222AB85BC851D92A1 +:107440001C9240E050E0B5018AA19BA10E94FD2260 +:1074500040E050E0B5018AA19BA10E94E2220E9477 +:10746000A522E981FA81F0934507E09344078981D9 +:107470009A8111C08FEB96E071D0C5010E94BE2F9A +:10748000882309F496CDB1E0BD8793CD0E94CF2F1C +:107490008111C2CEBFCEA3960FB6F894DEBF0FBE49 +:1074A000CDBFDF91CF911F910F91FF90EF90DF90B3 +:1074B000CF90BF90AF909F908F907F906F905F9094 +:1074C0004F903F902F900895CF93DF93FC01EA52A5 +:1074D000FE4F408151814115510559F1EC01C652D1 +:1074E000DE4F288139818E529E4F24173507C8F40C +:1074F000FC0180819181009761F0FC01E20FF31F94 +:1075000080818A3041F08D3029F48CE993E026D0D7 +:1075100002C080E064D08881998101969983888334 +:1075200008C040E050E06EE973E00E942118198223 +:107530001882DF91CF910895009769F0FC010190C6 +:107540000020E9F73197AF01481B590BBC0189EACC +:107550009BE00C94691580E090E00895EDCF8F9248 +:107560009F92AF92BF920F931F93CF93DF93CDB7AC +:10757000DEB7A1970FB6F894DEBF0FBECDBF19A23C +:10758000423008F44AE08E010F5D1F4F842E912C8B +:10759000A12CB12CA50194010E941E4EE62FB90129 +:1075A000CA0101501109EA3014F4E05D01C0E95C40 +:1075B000D801EC93232B242B252B61F7C801BCDFCA +:1075C000A1960FB6F894DEBF0FBECDBFDF91CF916D +:1075D0001F910F91BF90AF909F908F900895E09171 +:1075E000A90BF091AA0B0190F081E02D682F89EA98 +:1075F0009BE01994CF92DF92EF92FF92CF93DF93AB +:1076000097FF17C06B017C018DE2E9DFEC01662773 +:107610007727CB016C197D098E099F094AE09FDF0E +:107620008C0F9D1FDF91CF91FF90EF90DF90CF9057 +:1076300008954AE0DF91CF91FF90EF90DF90CF90D7 +:107640008ECFBC01990F880B990BD4CF4F925F92CC +:107650006F927F928F929F92AF92BF92CF92DF9262 +:10766000EF92FF926B017C01B42E9B01AC010E9452 +:10767000514F882319F086E397E027C02601370190 +:10768000E89477F82FEF3FEF4FE75FE7C301B201D0 +:107690000E94514F81110DC02FEF3FEF4FE75FE781 +:1076A000C301B2010E94C04C18161CF48AE397E093 +:1076B0000CC02FEF3FEF4FE75FE4C701B6010E9418 +:1076C0004D4F18167CF48EE397E0FF90EF90DF901B +:1076D000CF90BF90AF909F908F907F906F905F9072 +:1076E0004F902ACF2FEF3FEF4FE75FECC701B60176 +:1076F0000E94C04C87FDE7CF20E030E0A901C70120 +:10770000B6010E94C04C87FF08C08DE268DF4C01C3 +:10771000F7FAF094F7F8F09402C0812C912CA12C88 +:1077200060E070E080E09FE3AB1441F020E030E0E7 +:1077300040E251E40E94B44EA394F6CF9B01AC0109 +:10774000C701B6010E94504E2B013C010E94214FFF +:107750006B017C010E94C44C9B01AC01C301B201CE +:107760000E944F4E2B013C014AE0C701B601F7DEF3 +:107770007C01E80CF91CBB2021F08EE230DFE80E22 +:10778000F91EDB2CDD2019F120E030E040E251E46D +:10779000C301B2010E94254D2B013C010E94214FE3 +:1077A0004B01A12CB12C4AE0C501B401D8DEE80E92 +:1077B000F91EC501B4010E94C44C9B01AC01C30178 +:1077C000B2010E944F4E2B013C01DA94DBCFC7017E +:1077D000FF90EF90DF90CF90BF90AF909F908F90F1 +:1077E0007F906F905F904F900895CF93DF93EC015F +:1077F000188A198A1A8A1B8A60E086E10E94E618B4 +:107800008A8D8295807F0E94CB0C61E086E1DF91BA +:10781000CF910C94E618789484B5826084BD84B5C9 +:10782000816084BD85B5826085BD85B5816085BD7B +:1078300080916E00816080936E0010928100809133 +:1078400081008260809381008091810081608093BB +:107850008100809180008160809380008091B100E0 +:1078600084608093B1008091B00081608093B0000B +:10787000809191008260809391008091910081605D +:10788000809391008091900081608093900080911E +:10789000A10082608093A1008091A100816080930B +:1078A000A1008091A00081608093A00080912101BF +:1078B0008260809321018091210181608093210168 +:1078C0008091200181608093200180917A00846002 +:1078D00080937A0080917A00826080937A00809110 +:1078E0007A00816080937A0080917A00806880932A +:1078F0007A001092C10061E08AE10E94DA1961E029 +:107900008BE10E94DA1961E089E10E94DA1961E0F5 +:107910008FE00E94DA1961E08EE10E94DA1961E0DD +:107920008EE00E94DA1962E085E40E94DA1962E0D2 +:1079300084E40E94DA1962E080E10E94DA1962E0D0 +:1079400081E10E94DA1961E080E20E94DA1961E0C7 +:1079500081E20E94DA1961E08FE10E94DA1962E0A7 +:1079600083E40E94DA1962E082E40E94DA1962E09C +:1079700087E10E94DA1962E088E10E94DA1961E089 +:1079800083E20E94DA1961E084E20E94DA1961E080 +:1079900082E20E94DA1962E081E40E94DA1962E070 +:1079A00080E40E94DA1962E08DE10E94DA1962E057 +:1079B0008CE10E94DA1961E088E20E94DA1961E044 +:1079C00089E20E94DA1961E085E20E94DA1961E039 +:1079D00085E20E94E61861E08DE00E94DA1961E01C +:1079E00089E00E94DA1961E088E00E94DA1961E01A +:1079F00087E00E94DA1961E08AE00E94DA1961E00A +:107A00008CE00E94DA1962E08FE30E94DA1962E0EA +:107A10008BE30E94DA1961E084E00E94DA1961E0E8 +:107A200085E00E94DA1961E086E00E94DA1961E0DF +:107A300087E00E94DA1961E089E10E94E61861E0BE +:107A40008EE00E94E61861E08FE10E94E61861E096 +:107A500082E20E94E61862E081E30E94DA1961E0A6 +:107A600086E10E94DA1961E086E10E94E6188CB591 +:107A70008F7D8CBD8CB5837F8CBD8CB58C7F8CBD90 +:107A80008DB58E7F8DBDCFB7F8948091DA0A8111C4 +:107A900027C0E6EBF4E08491E0E7F4E09491E82F6E +:107AA000F0E0EE0FFF1FEF5DFB4FA591B491EC915D +:107AB000E92321F461E085E30E94E61861E085E3B3 +:107AC0000E94DA198CB580618CBD8CB580648CBD48 +:107AD00061E084E30E94DA1961E083E30E94DA192D +:107AE0008091DA0A8F5F8093DA0ACFBFE091B90BF9 +:107AF000F091BA0B82E08083E091B50BF091B60B68 +:107B00001082E091B70BF091B80BD0E1D0831092C6 +:107B1000C10BE091BD0BF091BE0B86E08083E0913C +:107B2000BB0BF091BC0B808180618083E091BB0B2B +:107B3000F091BC0B808188608083E091BB0BF09159 +:107B4000BC0B808180688083E091BB0BF091BC0B03 +:107B500080818F7D808364E670E080E090E00E9409 +:107B6000211A0E94F9200E949B1D0E94472F0E940B +:107B700033250E94591A60937F0B7093800B80937A +:107B8000810B9093820B84EE97E090934307809350 +:107B90004207C1E0C0936F00D09381001092800033 +:107BA000C093DD0A80E092E09093DC0A8093DB0AC8 +:107BB000909387008093860081E1809381001092EA +:107BC000810010928500109284008091DD0A80610E +:107BD000809381000E94591A60937B0B70937C0BF9 +:107BE00080937D0B90937E0B0E94591A6093830BB8 +:107BF0007093840B8093850B9093860B0E94591A87 +:107C000060937F0B7093800B8093810B9093820B1A +:107C10000E94560A80915E0790915F07A0916007CD +:107C2000B09161070197A105B10579F40E94560A48 +:107C30008091A6079091A707A091A807B091A907E6 +:107C40000197A105B10509F4D2C70E94560A809197 +:107C50005E0790915F07A0916007B091610701975F +:107C6000A105B10579F40E94560A8091A20790916E +:107C7000A307A091A407B091A5070197A105B1059D +:107C800009F4D3C70E94560A80915E0790915F075E +:107C9000A0916007B09161070197A105B10579F442 +:107CA0000E94560A80919E0790919F07A091A0077D +:107CB000B091A1070197A105B10509F4D5C780E8E6 +:107CC00093E04CDC8FE7282E82E0382E95E7A92E32 +:107CD00092E0B92E0E94F9200E943B1D0E94591A81 +:107CE0006093830B7093840B8093850B9093860B2A +:107CF00000917F0B1091800B2091810B3091820BB2 +:107D0000601771078207930748F460937F0B7093A5 +:107D1000800B8093810B9093820B2CC0DC01CB01F4 +:107D2000801B910BA20BB30B883E9340A105B105BC +:107D300008F108511C4F2F4F3F4F00937F0B1093BA +:107D4000800B2093810B3093820B0E94472FEC0114 +:107D50000E94E71BCE010C960E94E71BCE014896BD +:107D60000E94E71BCE0184960E94E71BCE01C096BD +:107D70000E94E71B89EA9BE00E94C915892B09F440 +:107D8000C1C50E94591A60937B0B70937C0B809342 +:107D90007D0B90937E0B89EA9BE00E94A715809350 +:107DA0007A0B982F9F7D953479F02091780B309144 +:107DB000790BF901EA5BF44F80832F5F3F4F3093DB +:107DC000790B2093780B06C00E94A52221E0DC01EC +:107DD0001C962C938091780B9091790B81339105AF +:107DE00064F02AE020937A0BFC01EA5BF44F2083D5 +:107DF00001969093790B8093780B80917A0B209168 +:107E0000780B3091790B8A3039F4C9010197A3E1DD +:107E1000BBE0E6E4FBE004C022333105B4F772C5F1 +:107E2000AF0146545B40481759071CF441914D93EC +:107E3000F7CFFC01ED5EF44F1082223031050CF4D7 +:107E40005DC581E193E08ADB80EA94E087DB8FE91E +:107E500093E084DB83E19BE081DB8FE993E07EDBD1 +:107E60008CE993E07BDB8AE390E0E3D7EC011A82B4 +:107E70001B821C821D821E821F82188619861A860A +:107E80001B861C861D861E861F86188A198A1A8ADA +:107E90001B8A1C8A1D8A1E8A1F8A188E198E1A8EAA +:107EA0001B8E1C8E1D8E1E8E1F8E18A219A21AA24A +:107EB0001BA21CA21DA21EA21FA218A619A61AA6CA +:107EC0001BA61CA61DA61EA61FA618AA19AA1AAA9A +:107ED0001BAA1CAA1DAA1EAA1FAA18AE19AE68E0EA +:107EE00072E083E19BE00E9449488C01FC018081A3 +:107EF0008654823008F027C161EA73E0C8010E940D +:107F00005150892B09F4D3C064EA73E0C8010E9480 +:107F10005150892B09F4CBC068EA73E0C8010E9474 +:107F20005150892B09F4C6C06BEA73E0C8010E9466 +:107F30005150892B09F4BEC06FEA73E0C8010E945A +:107F40005150892B09F4B9C063EB73E0C8010E945A +:107F50005150892B09F4B4C067EB73E0C8010E944B +:107F60005150892B09F4ACC06AEB73E0C8010E9440 +:107F70005150892B09F4A7C06EEB73E0C8010E9431 +:107F80005150892B09F4A2C062EC73E0C8010E9431 +:107F90005150892B09F49DC066EC73E0C8010E9422 +:107FA0005150892B09F498C06AEC73E0C8010E9413 +:107FB0005150892B09F493C06EEC73E0C8010E9404 +:107FC0005150892B09F48EC062ED73E0C8010E9404 +:107FD0005150892B09F489C066ED73E0C8010E94F5 +:107FE0005150892B09F484C06AED73E0C8010E94E6 +:107FF0005150892B09F47FC06EED73E0C8010E94D7 +:108000005150892B09F47AC062EE73E0C8010E94D6 +:108010005150892B09F475C066EE73E0C8010E94C7 +:108020005150892B09F470C06AEE73E0C8010E94B8 +:108030005150892B09F46BC06EEE73E0C8010E94A9 +:108040005150892B09F466C062EF73E0C8010E94A9 +:108050005150892B09F461C066EF73E0C8010E949A +:108060005150892B09F45CC06AEF73E0C8010E948B +:108070005150892B09F457C06EEF73E0C8010E947C +:108080005150892B09F452C062E074E0C8010E948B +:108090005150892B09F44DC066E074E0C8010E947C +:1080A0005150892B09F448C08FEF9FEF47C080E003 +:1080B00090E044C081E090E041C08CE190E03EC09F +:1080C0008DE690E03BC08FE690E038C080E790E01E +:1080D00035C081E790E032C082E790E02FC083E7AF +:1080E00090E02CC084E790E029C088E790E026C0AB +:1080F00089E790E023C08AE790E020C083E890E021 +:108100001DC084E890E01AC08DE890E017C08EE8AA +:1081100090E014C08FE890E011C080E990E00EC0BC +:1081200081EA90E00BC085EB90E008C086EB90E020 +:1081300005C087EB90E002C088EB90E090930102CD +:1081400080930002BBC08FEF9FEF9093010280935A +:108150000002B8C0D8018C91883539F4C801019665 +:1081600095D76A837B838C839D83F80180818935D1 +:1081700039F4C80101968AD76E837F8388879987EF +:10818000D8018C918A3539F4C80101967FD76A8766 +:108190007B878C879D87F8018081813449F4C801F1 +:1081A000019674D70E941C4F6E877F87888B998BAE +:1081B000D8018C91823449F4C801019667D70E9496 +:1081C0001C4F6A8B7B8B8C8B9D8BF8018081833459 +:1081D00049F4C80101965AD70E941C4F6E8B7F8BC1 +:1081E000888F998FD8018C91833539F4C801019615 +:1081F0004DD76A8F7B8F8C8F9D8FF8018081803562 +:1082000049F4C801019642D70E941C4F6E8F7F8FA0 +:1082100088A399A3D8018C91863549F4C8010196A9 +:1082200035D70E941C4F6AA37BA38CA39DA3F801A2 +:108230008081873549F4C801019628D70E941C4FD8 +:108240006EA37FA388A799A7D8018C91853449F4A0 +:10825000C80101961BD70E941C4F6AA77BA78CA759 +:108260009DA7F8018081843549F4C80101960ED795 +:108270000E941C4F6EA77FA788AB99ABD8018C9149 +:108280008D3449F4C801019601D70E941C4F6AAB96 +:108290007BAB8CAB9DABF8018081813549F4C80183 +:1082A0000196F4D60E941C4F6EAB7FAB88AF99AF9E +:1082B0006AE074E080E090E0ECD68C0101151105D5 +:1082C00009F048CF0E94A522DC011C961C910E9457 +:1082D000560A40906A0750906B0760906C07709048 +:1082E0006D07CEA8DFA8E8ACF9AC0E94A522C09229 +:1082F0004607D0924707E0924807F09249078091DD +:108300000002909101028230910508F4E2C49C01C0 +:108310002F5631092530310508F4DBC49924939494 +:108320008437910509F0912C112371F08D36910558 +:1083300059F09C01285731092330310528F0855B1D +:108340009109039708F0D0C20E94560A80915E07F7 +:1083500090915F07A0916007B09161070197A10517 +:10836000B10529F0992019F08DEF92E0BFC2209756 +:1083700019F489EF92E0BAC2E0900002F090010295 +:10838000BFEFEB16FB06A9F3E114F104B9F48091F9 +:10839000DE0A9091DF0A892B61F482E090E049D5F2 +:1083A00021E132E0FC01318320839093DF0A809346 +:1083B000DE0A0091DE0A1091DF0A6EC0FCE1EF16C2 +:1083C000F104B9F48091E00A9091E10A892B61F4FB +:1083D00082E090E02ED52BE132E0DC012D933C933E +:1083E0009093E10A8093E00A0091E00A1091E10A7B +:1083F00053C0BDE6EB16F104B9F48091E20A909106 +:10840000E30A892B61F482E090E013D525E232E0A3 +:10841000FC01318320839093E30A8093E20A009168 +:10842000E20A1091E30A53C0FFE6EF16F104B9F433 +:108430008091E40A9091E50A892B61F482E090E052 +:10844000F8D42FE232E0DC012D933C939093E50ABF +:108450008093E40A0091E40A1091E50A53C000E019 +:1084600010E0B0E7EB16F104B9F48091E60A9091C0 +:10847000E70A892B61F482E090E0DBD429E332E063 +:10848000FC01318320839093E70A8093E60A0091F0 +:10849000E60A1091E70A6CC0F1E7EF16F104B9F4AF +:1084A0008091E80A9091E90A892B61F482E090E0DA +:1084B000C0D423E432E0DC012D933C939093E90A8D +:1084C0008093E80A0091E80A1091E90A6CC0B2E7CB +:1084D000EB16F104B9F48091EA0A9091EB0A892B2A +:1084E00061F482E090E0A5D42DE432E0FC01318318 +:1084F00020839093EB0A8093EA0A0091EA0A109194 +:10850000EB0A6AC0F3E7EF16F104B9F48091EC0AC4 +:108510009091ED0A892B61F482E090E08AD427E5FE +:1085200032E0DC012D933C939093ED0A8093EC0AAA +:108530000091EC0A1091ED0A68C0B4E7EB16F10463 +:10854000B9F48091EE0A9091EF0A892B61F482E0F0 +:1085500090E06FD421E632E0FC01318320839093D8 +:10856000EF0A8093EE0A0091EE0A1091EF0A68C0BC +:10857000F8E7EF16F104B9F48091F00A9091F10A4E +:10858000892B61F482E090E054D42BE632E0DC01E8 +:108590002D933C939093F10A8093F00A0091F00A96 +:1085A0001091F10A68C0B9E7EB16F104A9F48091C3 +:1085B000F20A9091F30A892B51F482E090E039D4C9 +:1085C000FC01B182A0829093F30A8093F20A009199 +:1085D000F20A1091F30A6AC0FAE7EF16F104A9F45F +:1085E0008091F40A9091F50A892B51F482E090E091 +:1085F00020D4DC012D923C929093F50A8093F40AEA +:108600000091F40A1091F50A6CC0BDE8EB16F10474 +:10861000B9F48091F60A9091F70A892B61F482E00F +:1086200090E007D429E832E0FC0131832083909365 +:10863000F70A8093F60A0091F60A1091F70A6CC0C7 +:108640003EE8E316F104B9F48091F80A9091F90A32 +:10865000892B61F482E090E0ECD3E3E9F2E0DC0105 +:10866000ED93FC939093F90A8093F80A0091F80A2D +:108670001091F90A6CC0FFE8EF16F104B9F480918B +:10868000FA0A9091FB0A892B61F482E090E0D1D341 +:10869000EDE9F2E0DC01ED93FC939093FB0A80930B +:1086A000FA0A0091FA0A1091FB0A6CC0F0E9EF1681 +:1086B000F104B9F48091FC0A9091FD0A892B61F4D0 +:1086C00082E090E0B6D3E7EAF2E0DC01ED93FC93C0 +:1086D0009093FD0A8093FC0A0091FC0A1091FD0A18 +:1086E0006CC0F1EAEF16F104B9F48091FE0A9091A2 +:1086F000FF0A892B61F482E090E09BD3E1EBF2E08A +:10870000DC01ED93FC939093FF0A8093FE0A0091A5 +:10871000FE0A1091FF0A6BC0F5EBEF16F104B9F4F5 +:108720008091000B9091010B892B61F482E090E025 +:1087300080D3EBEBF2E0DC01ED93FC939093010B23 +:108740008093000B0091000B1091010B50C0F6EBD1 +:10875000EF16F104B9F48091020B9091030B892B71 +:1087600061F482E090E065D3E5ECF2E0DC01ED93AA +:10877000FC939093030B8093020B0091020B1091DA +:10878000030B35C0F7EBEF16F104B9F48091040B3D +:108790009091050B892B61F482E090E04AD3EFECD5 +:1087A000F2E0DC01ED93FC939093050B8093040BB6 +:1087B0000091040B1091050B1AC0F8EBEF16F104B1 +:1087C000B1F48091060B9091070B892B61F482E044 +:1087D00090E02FD3E3EEF2E0DC01ED93FC93909375 +:1087E000070B8093060B0091060B1091070B0115E8 +:1087F000110589F489EF92E00E94AE3A0E94A52209 +:108800000E94AF218EE094E00E949C3A8CE993E0B4 +:108810000E949C3A71C085EF92E00E94AE3A0E949D +:10882000A5220E94AF210E94A52210924507109216 +:108830004407E12CF12CFFEFEF1AFF0A21E0E216CA +:10884000F10441F081EF92E00E94AE3A0E94A5222D +:108850000E94AF21D801ED91FC910480F581E02DBB +:10886000BE01C80119950E94A522C0904407D0906E +:1088700045070E94A522FC018485E114F104D9F288 +:1088800081110AC0E414F5043CF4C114D10421F0B0 +:10889000F2E0CF16D10479F689EA9BE00E94C9156F +:1088A000181619062CF489EA9BE00E94A715F4CF4C +:1088B000CD2809F4F8C1992009F4F8C10E94560A9C +:1088C0008091660790916707A0916807B09169074A +:1088D0000197A105B10509F0E9C10E94A52221E097 +:1088E000DC011C962C93E2C181E093E00E94AE3A39 +:1088F0000E94A5220E94AF21CE0130D31092790BA5 +:108900001092780B8091120B811170C00E94A522E9 +:10891000FC018485882309F469C00E94F920EC01D8 +:10892000FC01EE53FD4F108240960E941430CE01A0 +:1089300086579F4F0E941430CE018C5F9E4F0E943D +:1089400014300E94C60B7C018C01075C1F4FC1E0F4 +:10895000D0E06801F8E3CF1AD108D6018C918823C2 +:10896000D9F084E294E00E94AE3A88E294E00E945A +:10897000AE3ACE010E94213B8CE993E00E94AE3AD0 +:1089800060E08C2F0E94E61840E050E0BE01C70175 +:108990000E945A0BF6011082D8018C918823F9F0BD +:1089A00084E294E00E94AE3A8FE394E00E94AE3AF3 +:1089B000CE010E94213B8CE993E00E94AE3A61E037 +:1089C0008C2F0E94DA1960E08C2F0E94E61841E09B +:1089D00050E0BE01C7010E945A0BF8011082219697 +:1089E0000F5F1F4FC533D10509F0B3CF0E94A522F9 +:1089F000DC011C968C918093120BC091100BD091CE +:108A0000110B0E94560AFC0182819381C817D90775 +:108A100099F00E94560ADC0112968D919C91139751 +:108A20009093110B8093100B0E94F9200E949B1DC4 +:108A30000E94472F0E9433250E94591A60930C0B05 +:108A400070930D0B80930E0B90930F0B00917B0B8B +:108A500010917C0B20917D0B30917E0B601771077C +:108A60008207930708F4B6C0DC01CB01801B910B91 +:108A7000A20BB30B89389341A105B10508F4B4C02A +:108A80000E94A522DC011C968C91882319F08DE0B0 +:108A900093E002C089E093E00E94AE3A0E94A522D2 +:108AA0000E94AF210E94F920EC01FC01ED55FD4F21 +:108AB0008081882341F0CE0182589E4F0E94910C04 +:108AC0006B017C0107C0FE01E25BFF4FC080D180DB +:108AD000E280F3800E94A522C0924A07D0924B0701 +:108AE000E0924C07F0924D07FE01EC55FD4F80815E +:108AF000882341F0CE0186569E4F0E94910C6B0157 +:108B00007C0107C0FE01E853FF4FC080D180E280A6 +:108B1000F3800E94A522C0924E07D0924F07E092A8 +:108B20005007F0925107FE01EB55FD4F80818823DD +:108B300041F0CE018A549E4F0E94910C6B017C0142 +:108B400006C0CE5BDE4FC880D980EA80FB800E94E1 +:108B5000A522C0925207D0925307E0925407F09298 +:108B600055070E94A5220E9402220E94F9200E941D +:108B70008C230E94A5220E94EC240E94A5220E9420 +:108B8000C1210E94560A80915E0790915F07A091D3 +:108B90006007B09161070197A105B10541F085E03B +:108BA00093E00E94AE3A0E94A5220E94AF218091DC +:108BB000080B9091090BA0910A0BB0910B0B019639 +:108BC000A11DB11D8093080B9093090BA0930A0B74 +:108BD000B0930B0B0E94591A60937B0B70937C0B24 +:108BE00080937D0B90937E0B0E94661673C885E57B +:108BF00094E00E94AE3A0E94F920CF931F921F92F8 +:108C00001F921F92812C912CA12CB12CC12CD12C04 +:108C1000760197018601B701A6010E94120D0F90FF +:108C20000F900F900F900F9010C88DE694E00E9467 +:108C3000AE3A0E94F9201F9221E02F931F921F92BB +:108C40001F92812C912CA12CB12CC12CD12C7601FE +:108C500097018601B701A6010E94120D0F900F9097 +:108C60000F900F900F900EC885E894E00E94AE3AE6 +:108C70000E94F9201F921F9221E02F931F921F92B2 +:108C8000812C912CA12CB12CC12CD12C76019701D7 +:108C90008601B701A6010E94120D0F900F900F9050 +:108CA0000F900F900CC88DEE92E002C089EE92E01A +:108CB0000E94AE3A0E94A5220E94AF210E94A522E6 +:108CC00010924607109247071092480710924907E2 +:108CD00013CE111109CE9924939436CB8091460C72 +:108CE0009091470C3BC11092AC0B1092AB0B88EEED +:108CF00093E0A0E0B0E08093AD0B9093AE0BA09317 +:108D0000AF0BB093B00B8AE693E09093AA0B8093DD +:108D1000A90B85EC90E09093B60B8093B50B84EC97 +:108D200090E09093B80B8093B70B80EC90E0909319 +:108D3000BA0B8093B90B81EC90E09093BC0B8093BD +:108D4000BB0B82EC90E09093BE0B8093BD0B86EC46 +:108D500090E09093C00B8093BF0B1092C20B1092C7 +:108D6000C30B1092C40B1092C50B82E090E061D04F +:108D70002CE733E0FC013183208390934D0C8093EA +:108D80004C0C6EE973E086E49CE00E944B188091E5 +:108D9000DE0C803320F09FEF9093DF0C11C08093A6 +:108DA000DF0C282F30E0F901EE0FFF1F2E0F3F1FC1 +:108DB000F901E25BF34F28EB3BE0328321838F5FC5 +:108DC000803390F48093E20C282F30E0F901EE0F0D +:108DD000FF1F2E0F3F1FF901E25BF34F28EB3BE033 +:108DE000328321838F5F03C09FEF9093E20C8093C7 +:108DF000DE0C0895EF920F931F93CF93DF93E8015A +:108E000047FD02C034E001C034E1E42F440FFF0B02 +:108E1000F7FF03C0F195E195F109E32E022F2E2F04 +:108E2000AE01B3D1CE01DF91CF911F910F91EF90A1 +:108E30000895CF93DF938230910510F482E090E0A3 +:108E4000E091E90CF091EA0C20E030E0C0E0D0E0E5 +:108E5000309711F14081518148175907C0F04817E8 +:108E6000590761F482819381209719F09B838A834B +:108E70002BC09093EA0C8093E90C26C02115310594 +:108E800019F04217530718F49A01BE01DF01EF01F0 +:108E90000280F381E02DDCCF2115310509F1281B7B +:108EA000390B2430310590F412968D919C911397D3 +:108EB0006115710521F0FB019383828304C09093B7 +:108EC000EA0C8093E90CFD01329644C0FD01E20FEB +:108ED000F31F81939193225031092D933C933AC013 +:108EE0002091E70C3091E80C232B41F420910402EF +:108EF000309105023093E80C2093E70C2091020298 +:108F0000309103022115310541F42DB73EB7409150 +:108F1000060250910702241B350BE091E70CF091FB +:108F2000E80CE217F307A0F42E1B3F0B28173907B4 +:108F300078F0AC014E5F5F4F2417350748F04E0FB5 +:108F40005F1F5093E80C4093E70C8193919302C00C +:108F5000E0E0F0E0CF01DF91CF9108950F931F93F0 +:108F6000CF93DF93009709F48CC0FC0132971382F2 +:108F700012820091E90C1091EA0C0115110581F49F +:108F800020813181820F931F2091E70C3091E80CF2 +:108F90002817390779F5F093E80CE093E70C71C0D6 +:108FA000D80140E050E0AE17BF0750F412962D9163 +:108FB0003C911397AD012115310509F1D901F3CF8A +:108FC0009D01DA013383228360817181860F971FAF +:108FD0008217930769F4EC0128813981260F371F26 +:108FE0002E5F3F4F318320838A819B8193838283CD +:108FF000452B29F4F093EA0CE093E90C42C0139658 +:10900000FC93EE931297ED01499159919E01240F23 +:10901000351FE217F30771F480819181840F951F4A +:10902000029611969C938E938281938113969C93C2 +:109030008E931297E0E0F0E0D80112968D919C910A +:109040001397009719F0F8018C01F6CF8D919C9140 +:1090500098012E5F3F4F820F931F2091E70C3091B4 +:10906000E80C2817390769F4309729F41092EA0CB4 +:109070001092E90C02C0138212821093E80C009344 +:10908000E70CDF91CF911F910F9108956627772705 +:1090900009C245EE5CE000C0FA01A191B0810097E1 +:1090A00019F41097E1F0CD01DC01CD010D90002005 +:1090B00011F4C00113C0FB012191222319F02015E6 +:1090C000D9F7F3CFFB012191201519F41E921196C7 +:1090D00006C02223C1F70D900020A1F7D001FA01AC +:1090E000A193B0830895BB274A3031F4992322F429 +:1090F000BDE2909581959F4F30C0BB272A3051F437 +:10910000992342F4BDE290958095709561957F4FCB +:109110008F4F9F4F01C0BB27FA01A62F6217710521 +:1091200081059105330B30FB66F0AA27660F771F88 +:10913000881F991FAA1FA21710F0A21B6395385011 +:10914000A9F7A05DAA3308F0A95DA19336F7B11184 +:10915000B1931082CA0104C4BB27FB015527AA277B +:10916000880F991FAA1FA41710F0A41B83955051B4 +:10917000B9F7A05DAA3308F0A95DA193009779F72C +:10918000B111B1931192CB01EBC34F925F926F92E9 +:109190007F929F92AF92BF92CF92DF92EF92FF9217 +:1091A0000F931F93CF93DF93CDB7DEB729970FB6F9 +:1091B000F894DEBF0FBECDBF6A01122FB02E2BE395 +:1091C000201720F0FF24F394F00E02C0BCE3FB2E26 +:1091D0000F2D27E0AE014F5F5F4FCAD2AC018981EE +:1091E000982F9970913031F0E1FC06C0E0FE06C086 +:1091F00090E205C09DE203C09BE201C090E0EE2D2D +:10920000E07183FF3CC0911102C083E001C084E0A3 +:10921000811718F4212F281B01C020E0E1110BC099 +:10922000F601822F30E2882319F031938150FBCF71 +:10923000C20ED11C20E0992329F0D6019C93F6019F +:1092400031966F01C6010396E2FE0AC03EE4D601E4 +:109250003C9341E411964C93119712963C9306C0AF +:109260003EE6F601308341E641833283FC01322F32 +:1092700040E2332309F442C041933150FACF82FFD8 +:1092800044C0911102C083E001C084E0811718F44A +:10929000212F281B01C020E0E1110BC0F601822F15 +:1092A00030E2882319F031938150FBCFC20ED11CDC +:1092B00020E0992329F0D6019C93F60131966F01A5 +:1092C000C6010396E2FE0BC039E4D6013C933EE4AE +:1092D00011963C93119736E412963C9307C039E6F9 +:1092E000F60130833EE6318336E63283FC01322FCD +:1092F00040E2332319F041933150FBCFFC01E20FE0 +:10930000F11D10828EEF9FEFB7C0F1E0911101C007 +:10931000F0E06F2F70E01416150624F49A012F5F09 +:109320003F4F02C021E030E0260F371FBB2029F05D +:109330006B2D70E06F5F7F4F02C060E070E0260F22 +:10934000371F612F70E0261737071CF4121B212FDF +:1093500001C020E03E2D387159F4D601322F60E271 +:10936000332319F06D933150FBCFC20ED11C20E096 +:10937000FF2331F0D6019C93B6016F5F7F4F6B01E5 +:10938000E1110BC0F601922F30E3992319F03193CC +:109390009150FBCFC20ED11C20E09F2D940F3A813B +:1093A000782F7071A72E84FF03C0313309F49150D8 +:1093B000191624F4993018F098E001C091E0E42FD8 +:1093C000852F57FF02C0E0E080E06E2F782FE0E0AD +:1093D000F0E0AEE29A2E3A01691A71082A01461AA3 +:1093E000570A0B2D10E01195019511096F3F8FEF72 +:1093F000780729F4D6019C92C60101966C014617A4 +:10940000570784F0661677066CF47F01E40CF51CB0 +:10941000A1E0B0E0AC0FBD1FEA0EFB1ED701119614 +:10942000BC9002C090E3B92E615071093196C6011B +:1094300001967C016017710724F0D601BC926C0183 +:10944000D5CF6417750741F4363320F4353321F452 +:10945000A11002C081E3B82EF601B082F701822F7D +:1094600090E2882319F091938150FBCFF701E20F2E +:10947000F11D108280E090E029960FB6F894DEBFCF +:109480000FBECDBFDF91CF911F910F91FF90EF9055 +:10949000DF90CF90BF90AF909F907F906F905F9044 +:1094A0004F9008956F927F928F929F92AF92BF924A +:1094B000CF92DF92EF92FF920F931F93CF93DF93A0 +:1094C000EC017B016115710519F0DB018D939C9313 +:1094D0008E010F5F1F4F7880872D90E021D2892B5E +:1094E00011F0E801F5CFBDE27B1205C00F5F1F4F01 +:1094F0007980C1E008C0EBE27E1204C08E010E5FED +:109500001F4F7980C0E06801F1E0CF1AD10843E035 +:1095100050E064EF72E0C6010BD2892BE9F46801D8 +:1095200022E0C20ED11C45E050E06FEE72E0C601B1 +:10953000FFD1892B21F4680187E0C80ED11CE1140A +:10954000F10419F0D701CD92DC92C111F9C060E0AD +:1095500070E080E89FE7FDC043E050E06CEE72E011 +:10956000C601E6D1892B51F4E114F10409F4EDC0F0 +:109570000E5F1F4FF70111830083E7C0680160E0B1 +:1095800070E0CB0100E010E0F601D0EDD70DDA304D +:1095900050F52C2F2260622E2C2F2870C2FF05C0A0 +:1095A000211127C00F5F1F4F24C0222311F001504B +:1095B0001109A5E0B0E09B01AC0130D34B015C0187 +:1095C000880C991CAA1CBB1CC501B4016D0F711D30 +:1095D000811D911D6839A9E97A078A07A9E19A07CF +:1095E00040F0C66005C0DE3F51F4C3FD44C0C86012 +:1095F0006C2EBFEFCB1ADB0A7080C62DC5CF2D2F86 +:109600002F7D2531C1F540814D3211F4C06106C076 +:109610004B3221F0319621E030E006C03296D6017F +:1096200011964C9122E030E0A0EDA40FAA3018F082 +:10963000E21BF30B20C040E050E04038BCE05B0789 +:109640005CF49A01220F331F220F331F420F531F66 +:10965000440F551F4A0F511D3196DF0111972C9170 +:10966000A0EDA20FAA3048F3C4FF03C05195419565 +:109670005109040F151FC1FF07C0E114F10421F0C7 +:109680003197D701ED93FC937FD1C370C33019F0AC +:109690006B017C0106C06B017C01F7FAF094F7F8CE +:1096A000F09420E030E0A901C701B60169D1882318 +:1096B00009F443C017FF06C0119501951109CBE0CD +:1096C000D3E002C0C3E2D3E05E01B8E1AB1AB10857 +:1096D0004601BE2DAF2D90E2E92EF12C0E151F058F +:1096E0007CF0FE012591359145915491B4018B2F69 +:1096F0009A2FABD14B01B82FA92F0E191F09EECF0E +:109700002497F594E794CA15DB0541F76401EB2E25 +:10971000FA2E8E2D880F8F2D881F8F3F41F020E06D +:1097200030E0A901C701B6012BD1811106C082E248 +:1097300090E09093EC0C8093EB0CC701B60109C04C +:1097400060E070E080E89FEF04C060E070E080ECD3 +:109750009FE7DF91CF911F910F91FF90EF90DF90E6 +:10976000CF90BF90AF909F908F907F906F90089513 +:10977000283008F027E03327DA01990F311D87FDE3 +:10978000916000966105710539F432602E5F3D935A +:1097900030E32A95E1F708959F3F30F08038710556 +:1097A000610509F03C5F3C5F3D93913008F08068B3 +:1097B000911DDF93CF931F930F93FF92EF92192F79 +:1097C000987F9695E92F96959695E90FFF27EF5785 +:1097D000FC4F99273327EE24FF24A701E7010590CA +:1097E0000894079428F4360FE71EF81E491F511DF0 +:1097F000660F771F881F991F0694A1F7059007949D +:1098000028F4E70EF81E491F561FC11D770F881F49 +:10981000991F661F0694A1F70590079428F4F80E87 +:10982000491F561FC71FD11D880F991F661F771F1D +:109830000694A1F70590079420F4490F561FC71FFF +:10984000D81F990F661F771F881F0694A9F7849168 +:109850001095177041F0D695C79557954795F79491 +:10986000E7941A95C1F7E7E2F3E068941590159133 +:1098700035916591959105907FE27395E118F10A14 +:10988000430B560BC90BD009C0F7E10CF11E431F67 +:10989000561FC91FD01D7EF4703311F48A95E6CF90 +:1098A000E894015030F0080F0AF40027021708F47A +:1098B000202F2395022F7A3328F079E37D932A9580 +:1098C000E9F710C07D932A9589F6069497956795D8 +:1098D000379517951794E118F10A430B560BC90BEE +:1098E000D00998F023957E9173957A3308F070E350 +:1098F0007C932013B8F77E9170617D9330F083954F +:1099000071E37D9370E32A95E1F71124EF90FF90C6 +:109910000F911F91CF91DF91992787FD9095089521 +:109920009111F6C0803219F089508550D0F7089512 +:10993000FB01DC014150504088F08D9181341CF0D6 +:109940008B350CF4805E659161341CF06B350CF442 +:10995000605E861B611171F3990B0895881BFCCF23 +:10996000DC01FC01672F71917723E1F7329704C086 +:109970007C916D9370836291AE17BF07C8F3089511 +:1099800040D008F481E00895E89409C097FB3EF4C4 +:1099900090958095709561957F4F8F4F9F4F99233C +:1099A000A9F0F92F96E9BB279395F69587957795BA +:1099B0006795B795F111F8CFFAF4BB0F11F460FF7A +:1099C0001BC06F5F7F4F8F4F9F4F16C0882311F0D2 +:1099D00096E911C0772321F09EE8872F762F05C0E6 +:1099E000662371F096E8862F70E060E02AF09A9581 +:1099F000660F771F881FDAF7880F9695879597F976 +:109A00000895990F0008550FAA0BE0E8FEEF16160F +:109A10001706E807F907C0F012161306E407F50762 +:109A200098F0621B730B840B950B39F40A2661F0D6 +:109A3000232B242B252B21F408950A2609F4A14079 +:109A4000A6958FEF811D811D08950BD07BC06CD032 +:109A500028F071D018F0952309F05DC062C0112480 +:109A6000A5C081D0A0F3959FD1F3950F50E0551F6D +:109A7000629FF001729FBB27F00DB11D639FAA2763 +:109A8000F00DB11DAA1F649F6627B00DA11D661FB2 +:109A9000829F2227B00DA11D621F739FB00DA11DD3 +:109AA000621F839FA00D611D221F749F3327A00D8D +:109AB000611D231F849F600D211D822F762F6A2F29 +:109AC00011249F5750408AF0E1F088234AF0EE0FAE +:109AD000FF1FBB1F661F771F881F91505040A9F7BB +:109AE0009E3F510570F017C061C05F3FECF3983E98 +:109AF000DCF3869577956795B795F795E7959F5F22 +:109B0000C1F7FE2B880F911D9695879597F90895BB +:109B100099278827089597F99F6780E870E060E0AB +:109B200008959FEF80EC089500240A9416161706F6 +:109B300018060906089500240A941216130614063E +:109B400005060895092E0394000C11F4882352F0A1 +:109B5000BB0F40F4BF2B11F460FF04C06F5F7F4F59 +:109B60008F4F9F4F089557FD9058440F551F59F040 +:109B70005F3F71F04795880F97FB991F61F09F3FFA +:109B800079F087950895121613061406551FF2CF23 +:109B90004695F1DF08C0161617061806991FF1CF73 +:109BA00086957105610508940895E894BB2766279A +:109BB0007727CB0197F90895F999FECF92BD81BD22 +:109BC000F89A992780B50895262FF999FECF1FBAE4 +:109BD00092BD81BD20BD0FB6F894FA9AF99A0FBED6 +:109BE00001960895052E97FB16F400940FD057FDAB +:109BF00005D024D007FC02D046F408C0509540950B +:109C0000309521953F4F4F4F5F4F08959095809528 +:109C1000709561957F4F8F4F9F4F089531D0A59FCD +:109C2000900DB49F900DA49F800D911D1124089557 +:109C3000B7FFF4CFF3DF821B930B0895A1E21A2E36 +:109C4000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1FE0 +:109C5000A217B307E407F50720F0A21BB30BE40B30 +:109C6000F50B661F771F881F991F1A9469F7609577 +:109C70007095809590959B01AC01BD01CF01089531 +:109C8000A29FB001B39FC001A39F700D811D11243D +:109C9000911DB29F700D811D1124911D0895505882 +:109CA000BB27AA270ED04ECF3FDF30F044DF20F095 +:109CB00031F49F3F11F41EF434CF0EF4E095E7FB2E +:109CC0002ACFE92F50DF80F3BA17620773078407A2 +:109CD000950718F071F49EF568CF0EF4E0950B2E01 +:109CE000BA2FA02D0B01B90190010C01CA01A001EE +:109CF0001124FF27591B99F0593F50F4503E68F149 +:109D00001A16F040A22F232F342F4427585FF3CF89 +:109D1000469537952795A795F0405395C9F77EF45A +:109D20001F16BA0B620B730B840BBAF09150A1F0A3 +:109D3000FF0FBB1F661F771F881FC2F70EC0BA0F29 +:109D4000621F731F841F48F4879577956795B795B1 +:109D5000F7959E3F08F0B3CF9395880F08F09927A9 +:109D6000EE0F9795879508950CD0ECCEE4DE40F089 +:109D7000DBDE30F021F45F3F19F0CDCE511116CF6C +:109D8000D0CEF1DE98F39923C9F35523B1F3951B97 +:109D9000550BBB27AA2762177307840738F09F5F0C +:109DA0005F4F220F331F441FAA1FA9F333D00E2E7B +:109DB0003AF0E0E830D091505040E695001CCAF7E8 +:109DC00029D0FE2F27D0660F771F881FBB1F2617AD +:109DD00037074807AB07B0E809F0BB0B802DBF0180 +:109DE000FF2793585F4F2AF09E3F510568F093CEAE +:109DF000DDCE5F3FECF3983EDCF386957795679573 +:109E0000B795F7959F5FC9F7880F911D9695879530 +:109E100097F90895E1E0660F771F881FBB1F62174F +:109E200073078407BA0720F0621B730B840BBA0B0D +:109E3000EE1F88F7E095089504D06894B111B6CE6E +:109E4000089599DE88F09F5790F0B92F9927B75160 +:109E5000A0F0D1F0660F771F881F991F1AF0BA95EE +:109E6000C9F712C0B13081F0A0DEB1E008959DCEF7 +:109E7000672F782F8827B85F39F0B93FCCF38695E4 +:109E800077956795B395D9F73EF490958095709541 +:109E900061957F4F8F4F9F4F0895B3DD08F48FEF8B +:109EA0000895AFDD880B990B0895EE0FFF1F881FF3 +:109EB0008BBF0790F691E02D19946F927F928F924D +:109EC0009F92AF92BF92CF92DF92EF92FF920F9349 +:109ED0001F93CF93DF93EC01009789F4CB01DF91BF +:109EE000CF911F910F91FF90EF90DF90CF90BF9097 +:109EF000AF909F908F907F906F900C941947FC01CA +:109F0000E60FF71F9C0122503109E217F30708F40E +:109F1000AAC0D9010D911C91119706171707A8F037 +:109F20000530110508F49DC0C801049786179707EE +:109F300008F497C002501109061B170B01931193E7 +:109F40006D937C93CF010AD88CC05B01A01AB10A33 +:109F50004C01800E911EA091E90CB091EA0C40E0FA +:109F600050E0E12CF12C109709F44AC0A815B9056E +:109F7000D1F56D907C901197630182E0C80ED11CE1 +:109F8000CA14DB0480F1A3014A195B096A0182E06B +:109F9000C80ED11C1296BC9012971396AC91B5E0E6 +:109FA000CB16D10440F0B282A38351834083D90100 +:109FB0006D937C930AC00E5F1F4FC301800F911FEA +:109FC000F90191838083EB2DFA2FE114F10431F034 +:109FD000D7011396FC93EE93129743C0F093EA0CCB +:109FE000E093E90C3EC08D919C9111974817590759 +:109FF00008F4AC017D0112960D90BC91A02DB3CF59 +:10A000008091E70C9091E80C88159905E1F44617CA +:10A010005707C8F48091020290910302009741F41F +:10A020008DB79EB74091060250910702841B950B95 +:10A03000E817F907C0F4F093E80CE093E70CF90196 +:10A04000718360830EC0CB010E9419477C01009789 +:10A0500051F0A801BE011CD0CE010E94AE47C7013D +:10A0600004C0CE0102C080E090E0DF91CF911F914B +:10A070000F91FF90EF90DF90CF90BF90AF909F90A7 +:10A080008F907F906F90089581E090E0F89419C0D0 +:10A09000FB01DC0102C001900D9241505040D8F705 +:10A0A0000895FB01DC018D91019080190110D9F315 +:10A0B000990B0895FB01DC0101900D920020E1F75E +:10A0C000089512E0C2EAD2E000E005C0802FFE0150 +:10A0D000ECDE2196011DC33AD10780E00807B1F7F5 +:04A0E000F894FFCF22 +:10A0E400FFFF0000ED0C8000200A0D0000000000BE +:10A0F400006721971D1221000000006821991D416D +:10A104002400000000100DE007B2070000000076F4 +:10A114002FB92EEC2E000000007E1C1D177F1700A7 +:10A12400000000590BCE078B08000000008E0CC8FD +:10A1340007A309000000000F0DDE07DB0900000083 +:10A1440000E61B1B174617000000000C0DD8073350 +:10A154000B00000000FE34BD2E382F000000008FDD +:10A164000CD407D40A00000000110DE207710C00A2 +:10A17400000000900CD607470C000000000E0DDC18 +:10A18400075B0C000000008D0CD2070C0C000000D3 +:10A1940000742FB52EBF2E00000000570BCA07E530 +:10A1A4000B00000000772FBB2E1D2F000000000DB8 +:10A1B4000DDA07B90700000000752FB72E9A2E009C +:10A1C400000000580BCC07280852303300523032BC +:10A1D4000052303700523031005230390052383892 +:10A1E4000052383700523838005230300052383775 +:10A1F4000052303800362E342E302E4700005231B3 +:10A204003300523132005231310052373300523769 +:10A214003200523731005231370052313600523158 +:10A224003500010000000100000001000000523868 +:10A234003500523834005230350052303600523036 +:10A2440034005238370000000000FF1569159815D6 +:10A254004516C915A715BB15000000008C0CD007C6 +:10A264005239392041524455494E4F20535441529A +:10A2740054555020434F4D504C4554450D0A002A27 +:10A284000047300047303000473100473031004745 +:10A294003238004630390046390046313100463103 +:10A2A4003200463133004631340046313500463100 +:10A2B40036004632300046323100463232004633F0 +:10A2C40031004633320046343100463432004634DD +:10A2D40033004634340046363100463831004638BF +:10A2E40032004638330046383400200A0D00523913 +:10A2F400392068616E646C6572203D3D204E554C7A +:10A304004C0D0A0052393900207265736574746902 +:10A314006E67206469676974616C2070696E0020DF +:10A32400726573657474696E6720616E616C6F67C2 +:10A334002070696E0052393920484F4D45205A200B +:10A344004F4E20535441525455500D0A005239393E +:10A3540020484F4D452059204F4E205354415254CC +:10A3640055500D0A0052393920484F4D4520582088 +:10A374004F4E20535441525455500D0A0052383315 +:10A3840020005239392057696C6C207A65726F202D +:10A3940058005239392057696C6C207A65726F20E5 +:10A3A40059005239392057696C6C207A65726F20D4 +:10A3B4005A00523231005000560052393920457249 +:10A3C400726F723A20696E76616C69642070617292 +:10A3D400616D657465722069640D0A005232300043 +:10A3E40052343100686F6D650D0A005239392065A9 +:10A3F4006D657267656E63792073746F700D0A0002 +:10A40400523939206572726F720D0A005238320067 +:10A414005239392073746F707065640D0A005239B3 +:10A4240039206572726F72200020646561637469FB +:10A4340076617465206D6F746F7220582064756541 +:10A4440020746F206D697373656420737465707311 +:10A45400002064656163746976617465206D6F744E +:10A464006F7220592064756520746F206D69737351 +:10A474006564207374657073002064656163746936 +:10A4840076617465206D6F746F72205A20647565EF +:10A4940020746F206D6973736564207374657073C1 +:10A4A400005239392074696D656F757420582061C4 +:10A4B4007869730D0A005239392074696D656F75B6 +:10A4C40074205920617869730D0A00523939207457 +:10A4D400696D656F7574205A20617869730D0A007F +:10A4E40020510052383100205841002058420020A9 +:10A4F40059410020594200205A4100205A4200206C +:10A50400737461200020637572200020656E6420DE +:10A51400002068616C662000206C656E2000206D50 +:10A52400696E2000206D6178200020737064200023 +:10A534005239392043616C6962726174696F6E20AB +:10A544006572726F723A20696E76616C696420611B +:10A554007869732073656C65637465640D0A002003 +:10A564006178697320002061742073746172746966 +:10A574006E6720706F696E7400523233002063611D +:10A584006C6962726174696E67206C656E67746869 +:10A5940000207374657020636F756E743A200052E6 +:10A5A4003939206D6F76656D656E7420646F6E65E4 +:10A5B4000D0A0020617420656E6420706F696E74EA +:10A5C400005239392043616C6962726174696F6E3B +:10A5D400206572726F723A20656E642073746F70B6 +:10A5E40020616374697665206265666F72652073A5 +:10A5F400746172740D0A00206D6F766520746F208B +:10A60400737461727420666F722063616C69627224 +:10A614006174696F6E006E616E00696E66006F76BC +:02A624006600CE +:00000001FF diff --git a/priv/prod.pub b/priv/prod.pub new file mode 100644 index 00000000..4a5590c8 --- /dev/null +++ b/priv/prod.pub @@ -0,0 +1 @@ +ZL9J9sLK3GWa7YezB3v41Kxl0TmE15CARjApOGcNa1c= \ No newline at end of file diff --git a/priv/staging.pub b/priv/staging.pub new file mode 100644 index 00000000..c4dd5a46 --- /dev/null +++ b/priv/staging.pub @@ -0,0 +1 @@ +qIbhsGnUVHGEu++RAss2U0caXySSwDBVKkK35sO0vVU= \ No newline at end of file diff --git a/rel/vm.args b/rel/vm.args index 6a4ea2f3..4345ce1c 100644 --- a/rel/vm.args +++ b/rel/vm.args @@ -1,4 +1,6 @@ -setcookie democookie ++Bc +-kernel shell_history enabled -mode embedded -sname farmbot -noshell diff --git a/scripts/update_deps_for_all_platforms.sh b/scripts/update_deps_for_all_platforms.sh index 9be0af25..cee56c5e 100755 --- a/scripts/update_deps_for_all_platforms.sh +++ b/scripts/update_deps_for_all_platforms.sh @@ -1,7 +1,6 @@ #!/bin/bash TARGETS="rpi0 \ rpi3 \ -bbb \ host " for target in $TARGETS; do diff --git a/test/farmbot/system/updates/update_timer_test.exs b/test/farmbot/system/updates/update_timer_test.exs deleted file mode 100644 index 3a9eb3b7..00000000 --- a/test/farmbot/system/updates/update_timer_test.exs +++ /dev/null @@ -1,19 +0,0 @@ -defmodule Farmbot.System.UpdateTimerTest do - use ExUnit.Case, async: false - alias Farmbot.System.ConfigStorage - - test "Opting into beta updates should refresh token" do - Farmbot.System.Registry.subscribe(self()) - - old = ConfigStorage.get_config_value(:string, "authorization", "token") - - ConfigStorage.update_config_value(:bool, "settings", "beta_opt_in", false) - ConfigStorage.update_config_value(:bool, "settings", "beta_opt_in", true) - - assert_receive {Farmbot.System.Registry, {:config_storage, {"settings", "beta_opt_in", true}}} - assert_receive {Farmbot.System.Registry, {:authorization, :new_token}}, 1000 - - new = ConfigStorage.get_config_value(:string, "authorization", "token") - assert old != new - end -end diff --git a/test/farmbot/system/updates/updates_test.exs b/test/farmbot/system/updates/updates_test.exs deleted file mode 100644 index e97607a4..00000000 --- a/test/farmbot/system/updates/updates_test.exs +++ /dev/null @@ -1,108 +0,0 @@ -defmodule Farmbot.System.UpdatesTest do - use ExUnit.Case, async: false - alias Farmbot.System.Updates - alias Farmbot.System.Updates.{Release, CurrentStuff} - @old_version Farmbot.Project.version |> Version.parse! |> Map.update(:major, nil, &Kernel.-(&1, 1)) |> to_string() - @new_version Farmbot.Project.version |> Version.parse! |> Map.update(:major, nil, &Kernel.+(&1, 1)) |> to_string() - @commit Farmbot.Project.commit - @version Farmbot.Project.version() - @os_update_server "http://fake_os_update_server.com" - @beta_os_update_server "http://beta_os_update_server.com" - @fake_asset_url "http://fake_release_asset.com" - - describe "CurrentStuff replacement" do - test "replaces valid things in the current stuff struct" do - r = CurrentStuff.get(env: :almost_prod) - assert r.env == :almost_prod - end - - test "Allows and igrnores arbitry data" do - r = CurrentStuff.get(some_key: :some_val) - refute Map.get(r, :some_key) - end - end - - @tag :external - test "checks for updates for prod rpi3 no beta combo" do - # updating from old to new version should work - current = CurrentStuff.get(os_update_server_overwrite: nil, beta_opt_in: false, env: :prod, target: :rpi3, version: @old_version) - assert Updates.check_updates(nil, current) - end - - @tag :external - test "checks for updates for prod rpi3 with beta combo" do - # old version to later beta - current = CurrentStuff.get(os_update_server_overwrite: nil, env: :prod, target: :rpi3, version: @old_version, beta_opt_in: true) - assert Updates.check_updates(nil, current) - end - - test "no token gives error" do - current = CurrentStuff.get(token: nil) - assert match?({:error, _}, Updates.check_updates(nil, current)) - end - - test "dev env should not update to prod" do - current = CurrentStuff.get(env: :dev) - assert match?({:error, _}, Updates.check_updates(nil, current)) - end - - - test "updates of the same version should not return a url" do - current = CurrentStuff.get(current_stub()) - release = release_stub() - refute Updates.check_updates(release, current) - end - - test "Draft releases" do - current = CurrentStuff.get(current_stub()) - release = %{release_stub() | draft: true} - refute Updates.check_updates(release, current) - end - - test "Opting into beta won't downgrade from a prod release to a previous beta" do - current = CurrentStuff.get(%{current_stub() | beta_opt_in: true, version: @new_version}) - release = release_stub() - refute Updates.check_updates(release, current) - end - - test "Normal upgrade path: current is less than latest" do - current = CurrentStuff.get(%{current_stub() | version: @old_version}) - release = release_stub() - assert match?({%Version{}, @fake_asset_url}, Updates.check_updates(release, current)) - end - - test "versions equal, but commits not equal" do - current = CurrentStuff.get(%{current_stub() | commit: String.reverse(@commit)}) - release = release_stub() - assert match?({%Version{}, @fake_asset_url}, Updates.check_updates(release, current)) - end - - defp current_stub do - %{ - token: %Farmbot.Jwt{ - os_update_server: @os_update_server, - beta_os_update_server: @beta_os_update_server, - }, - beta_opt_in: false, - currently_on_beta: false, - os_update_server_overwrite: nil, - env: :prod, - commit: @commit, - target: :rpi3, - version: @version - } - end - - defp release_stub do - %Release{ - tag_name: "v#{@version}", - target_commitish: @commit, - name: "Stub Release", - draft: false, - prerelease: false, - body: "This is a stub!", - assets: [%Release.Asset{name: "farmbot-rpi3-#{@version}.fw", browser_download_url: @fake_asset_url}] - } - end - -end diff --git a/test/support/test_update_handler.ex b/test/support/test_update_handler.ex deleted file mode 100644 index 217b1042..00000000 --- a/test/support/test_update_handler.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule FarmbotTestSupport.TestUpdateHandler do - @moduledoc "Handles prep and post OTA update." - - @behaviour Farmbot.System.UpdateHandler - use Farmbot.Logger - - # Update Handler callbacks - - def apply_firmware(_file_path) do - :ok - end - - def before_update do - :ok - end - - def post_update do - :ok - end - - def setup(_env) do - :ok - end - - def requires_reboot?, do: false -end