From d5d40a02c750595edc4ca62d709ac6dfcf0d57fb Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 30 Oct 2022 18:24:41 +0000 Subject: [PATCH] eliom-distillery -name daegsrv -template os.pgocaml --- daegsrv/.gitignore | 26 + daegsrv/.ocamlformat | 31 + daegsrv/.ocp-indent | 4 + daegsrv/Makefile | 26 + daegsrv/Makefile.daegsrv | 10 + daegsrv/Makefile.db | 152 + daegsrv/Makefile.i18n | 47 + daegsrv/Makefile.local.example | 18 + daegsrv/Makefile.mobile | 466 +++ daegsrv/Makefile.options | 253 ++ daegsrv/Makefile.os | 350 +++ daegsrv/Makefile.style | 119 + daegsrv/README.md | 351 +++ daegsrv/assets/daegsrv_Demo_i18n.tsv | 121 + daegsrv/assets/daegsrv_i18n.tsv | 64 + daegsrv/assets/images/icon.png | Bin 0 -> 118327 bytes daegsrv/daegsrv.conf.in | 82 + daegsrv/daegsrv.eliom | 76 + daegsrv/daegsrv.opam | 10 + daegsrv/daegsrv.sql | 148 + daegsrv/daegsrv_base.eliom | 37 + daegsrv/daegsrv_config.eliom | 74 + daegsrv/daegsrv_config.eliomi | 15 + daegsrv/daegsrv_container.eliom | 90 + daegsrv/daegsrv_container.eliomi | 42 + daegsrv/daegsrv_drawer.eliom | 39 + daegsrv/daegsrv_handlers.eliom | 181 ++ daegsrv/daegsrv_handlers.eliomi | 85 + daegsrv/daegsrv_icons.eliom | 38 + daegsrv/daegsrv_language.eliom | 58 + daegsrv/daegsrv_language.eliomi | 14 + daegsrv/daegsrv_mobile.eliom | 159 + daegsrv/daegsrv_mobile.eliomi | 2 + daegsrv/daegsrv_page.eliom | 66 + daegsrv/daegsrv_page.eliomi | 63 + daegsrv/daegsrv_phone_connect.eliom | 36 + daegsrv/daegsrv_services.eliom | 40 + daegsrv/daegsrv_services.eliomi | 76 + daegsrv/daegsrv_settings.eliom | 158 + daegsrv/demo.eliom | 43 + daegsrv/demo_cache.eliom | 31 + daegsrv/demo_calendar.eliom | 64 + daegsrv/demo_carousel1.eliom | 73 + daegsrv/demo_carousel2.eliom | 95 + daegsrv/demo_carousel3.eliom | 88 + daegsrv/demo_i18n.eliom | 45 + daegsrv/demo_links.eliom | 72 + daegsrv/demo_notif.eliom | 106 + daegsrv/demo_pagetransition.eliom | 93 + daegsrv/demo_pgocaml.eliom | 46 + daegsrv/demo_pgocaml_db.ml | 13 + daegsrv/demo_popup.eliom | 68 + daegsrv/demo_pulltorefresh.eliom | 47 + daegsrv/demo_react.eliom | 72 + daegsrv/demo_ref.eliom | 55 + daegsrv/demo_rpc.eliom | 63 + daegsrv/demo_spinner.eliom | 44 + daegsrv/demo_timepicker.eliom | 60 + daegsrv/demo_tips.eliom | 48 + daegsrv/demo_tongue.eliom | 39 + daegsrv/demo_tools.eliom | 61 + daegsrv/demo_users.eliom | 57 + daegsrv/mobile/.chcpignore | 0 daegsrv/mobile/chcp.json.in | 5 + daegsrv/mobile/config.xml.in | 165 + daegsrv/mobile/eliom.html.in | 38 + daegsrv/mobile/eliom_loader.ml | 200 ++ daegsrv/mobile/index.html.in | 36 + daegsrv/mobile/res/.gitignore | 1 + daegsrv/mobile/www/css/index.css | 96 + daegsrv/mobile/www/img/logo.png | Bin 0 -> 22807 bytes daegsrv/sass/daegsrv.scss | 14 + daegsrv/sass/demo.scss | 178 ++ daegsrv/sass/os.scss | 335 +++ daegsrv/static/css/font-awesome.min.css | 4 + daegsrv/static/defaultcss/demo.css | 122 + daegsrv/static/defaultcss/os.css | 269 ++ daegsrv/static/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes daegsrv/static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes daegsrv/static/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ daegsrv/static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes daegsrv/static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes daegsrv/static/images/ocsigen.png | Bin 0 -> 118328 bytes daegsrv/tools/sort_deps.ml | 73 + 85 files changed, 9217 insertions(+) create mode 100644 daegsrv/.gitignore create mode 100644 daegsrv/.ocamlformat create mode 100644 daegsrv/.ocp-indent create mode 100644 daegsrv/Makefile create mode 100644 daegsrv/Makefile.daegsrv create mode 100644 daegsrv/Makefile.db create mode 100644 daegsrv/Makefile.i18n create mode 100644 daegsrv/Makefile.local.example create mode 100644 daegsrv/Makefile.mobile create mode 100644 daegsrv/Makefile.options create mode 100644 daegsrv/Makefile.os create mode 100644 daegsrv/Makefile.style create mode 100644 daegsrv/README.md create mode 100644 daegsrv/assets/daegsrv_Demo_i18n.tsv create mode 100644 daegsrv/assets/daegsrv_i18n.tsv create mode 100644 daegsrv/assets/images/icon.png create mode 100644 daegsrv/daegsrv.conf.in create mode 100644 daegsrv/daegsrv.eliom create mode 100644 daegsrv/daegsrv.opam create mode 100644 daegsrv/daegsrv.sql create mode 100644 daegsrv/daegsrv_base.eliom create mode 100644 daegsrv/daegsrv_config.eliom create mode 100644 daegsrv/daegsrv_config.eliomi create mode 100644 daegsrv/daegsrv_container.eliom create mode 100644 daegsrv/daegsrv_container.eliomi create mode 100644 daegsrv/daegsrv_drawer.eliom create mode 100644 daegsrv/daegsrv_handlers.eliom create mode 100644 daegsrv/daegsrv_handlers.eliomi create mode 100644 daegsrv/daegsrv_icons.eliom create mode 100644 daegsrv/daegsrv_language.eliom create mode 100644 daegsrv/daegsrv_language.eliomi create mode 100644 daegsrv/daegsrv_mobile.eliom create mode 100644 daegsrv/daegsrv_mobile.eliomi create mode 100644 daegsrv/daegsrv_page.eliom create mode 100644 daegsrv/daegsrv_page.eliomi create mode 100644 daegsrv/daegsrv_phone_connect.eliom create mode 100644 daegsrv/daegsrv_services.eliom create mode 100644 daegsrv/daegsrv_services.eliomi create mode 100644 daegsrv/daegsrv_settings.eliom create mode 100644 daegsrv/demo.eliom create mode 100644 daegsrv/demo_cache.eliom create mode 100644 daegsrv/demo_calendar.eliom create mode 100644 daegsrv/demo_carousel1.eliom create mode 100644 daegsrv/demo_carousel2.eliom create mode 100644 daegsrv/demo_carousel3.eliom create mode 100644 daegsrv/demo_i18n.eliom create mode 100644 daegsrv/demo_links.eliom create mode 100644 daegsrv/demo_notif.eliom create mode 100644 daegsrv/demo_pagetransition.eliom create mode 100644 daegsrv/demo_pgocaml.eliom create mode 100644 daegsrv/demo_pgocaml_db.ml create mode 100644 daegsrv/demo_popup.eliom create mode 100644 daegsrv/demo_pulltorefresh.eliom create mode 100644 daegsrv/demo_react.eliom create mode 100644 daegsrv/demo_ref.eliom create mode 100644 daegsrv/demo_rpc.eliom create mode 100644 daegsrv/demo_spinner.eliom create mode 100644 daegsrv/demo_timepicker.eliom create mode 100644 daegsrv/demo_tips.eliom create mode 100644 daegsrv/demo_tongue.eliom create mode 100644 daegsrv/demo_tools.eliom create mode 100644 daegsrv/demo_users.eliom create mode 100644 daegsrv/mobile/.chcpignore create mode 100644 daegsrv/mobile/chcp.json.in create mode 100644 daegsrv/mobile/config.xml.in create mode 100644 daegsrv/mobile/eliom.html.in create mode 100644 daegsrv/mobile/eliom_loader.ml create mode 100644 daegsrv/mobile/index.html.in create mode 100644 daegsrv/mobile/res/.gitignore create mode 100644 daegsrv/mobile/www/css/index.css create mode 100644 daegsrv/mobile/www/img/logo.png create mode 100644 daegsrv/sass/daegsrv.scss create mode 100644 daegsrv/sass/demo.scss create mode 100644 daegsrv/sass/os.scss create mode 100644 daegsrv/static/css/font-awesome.min.css create mode 100644 daegsrv/static/defaultcss/demo.css create mode 100644 daegsrv/static/defaultcss/os.css create mode 100644 daegsrv/static/fonts/FontAwesome.otf create mode 100644 daegsrv/static/fonts/fontawesome-webfont.eot create mode 100644 daegsrv/static/fonts/fontawesome-webfont.svg create mode 100644 daegsrv/static/fonts/fontawesome-webfont.ttf create mode 100644 daegsrv/static/fonts/fontawesome-webfont.woff create mode 100644 daegsrv/static/fonts/fontawesome-webfont.woff2 create mode 100644 daegsrv/static/images/ocsigen.png create mode 100644 daegsrv/tools/sort_deps.ml diff --git a/daegsrv/.gitignore b/daegsrv/.gitignore new file mode 100644 index 0000000..38566a4 --- /dev/null +++ b/daegsrv/.gitignore @@ -0,0 +1,26 @@ +# Database +local_db + +# Local server configuration +local + +# Eliom +.depend +_client +_deps +_server + +# Mobile application +cordova + +# Style +.sass-cache + +static/css/daegsrv.css.map +static/css/daegsrv.css + +# NPM +node_modules + +# Make +Makefile.local diff --git a/daegsrv/.ocamlformat b/daegsrv/.ocamlformat new file mode 100644 index 0000000..ee092cc --- /dev/null +++ b/daegsrv/.ocamlformat @@ -0,0 +1,31 @@ +break-cases = fit +break-collection-expressions = fit-or-vertical +break-fun-decl = wrap +break-fun-sig = wrap +break-infix = wrap +break-infix-before-func = false +break-sequences = false +break-separators = before +break-string-literals = never +break-struct = force +cases-matching-exp-indent = compact +doc-comments = after-when-possible +dock-collection-brackets = false +indicate-multiline-delimiters = no +infix-precedence = indent +let-and = compact +let-binding-spacing = compact +module-item-spacing = compact +parens-tuple = multi-line-only +parens-tuple-patterns = multi-line-only +sequence-style = terminator +sequence-blank-line = compact +single-case = compact +type-decl = compact +if-then-else = keyword-first +field-space = loose +space-around-arrays = false +space-around-records = false +space-around-lists = false +space-around-variants = false +ocp-indent-compat = true diff --git a/daegsrv/.ocp-indent b/daegsrv/.ocp-indent new file mode 100644 index 0000000..e98972d --- /dev/null +++ b/daegsrv/.ocp-indent @@ -0,0 +1,4 @@ +normal +with=0 +syntax=lwt mll +max_indent=2 diff --git a/daegsrv/Makefile b/daegsrv/Makefile new file mode 100644 index 0000000..d0e500c --- /dev/null +++ b/daegsrv/Makefile @@ -0,0 +1,26 @@ +#---------------------------------------------------------------------- +# GLOBAL MAKEFILE +#---------------------------------------------------------------------- + +# Local settings (optional). See Makefile.local.example for an example. +# WARNING: do not commit to a repository! +-include Makefile.local + +# Eliom settings. Contains all variables. +include Makefile.options + +# I18N rules. +include Makefile.i18n + +# Database rules. +include Makefile.db + +# Styles (CSS, SASS...). +include Makefile.style + +# Ocsigen-start makefile +# Makefile.PROJECT_NAME is also included in this makefile +include Makefile.os + +# Mobile app makefile +include Makefile.mobile diff --git a/daegsrv/Makefile.daegsrv b/daegsrv/Makefile.daegsrv new file mode 100644 index 0000000..36ec9dc --- /dev/null +++ b/daegsrv/Makefile.daegsrv @@ -0,0 +1,10 @@ +#---------------------------------------------------------------------- +# SETTINGS FOR THE ELIOM PROJECT daegsrv +#---------------------------------------------------------------------- + +## Here you can add specific rules for your project. It's recommended to add +## variables in Makefile.options (which is supposed to contain all variables and +## no rules). + +## This file is included in Makefile.os. You can also use any variable defined +## in Makefile.options. diff --git a/daegsrv/Makefile.db b/daegsrv/Makefile.db new file mode 100644 index 0000000..de98009 --- /dev/null +++ b/daegsrv/Makefile.db @@ -0,0 +1,152 @@ +## --------------------------------------------------------------------- +## This Makefile contains the rules about the database management. +## +## Ocsigen Start uses PostgreSQL so you need to install it. +## +## Ocsigen Start uses pg_ctl. If this executable is not found, an error occurs. +## +## Some variables like the PostgreSQL directory for log, the PostgreSQL +## directory or the variables to access the database (like the database name or +## the user) can be found and changed in the file Makefile.options + +## --------------------------------------------------------------------- +## The following part defines some variables by adding the environment variables +## to the used binaries. + +export PGHOST := $(DB_HOST) +export PGDATABASE := $(DB_NAME) +export PGPORT := $(DB_PORT) +export PGUSER := $(DB_USER) +export PGPASSWORD := $(DB_PASSWORD) + +# Ocsigenserver uses the DB settings from daegsrv.conf.in (which +# should be the same as the exported variables above) +OCSIGENSERVER := $(OCSIGENSERVER) +OCSIGENSERVER.OPT := $(OCSIGENSERVER.OPT) + +OPAM_LIB_DIR := $(shell opam config var lib) +OS_UPGRADE_FILE := $(OPAM_LIB_DIR)/eliom/templates/os.pgocaml/upgrade.sql +## --------------------------------------------------------------------- + +##---------------------------------------------------------------------- + +pg_dump = pg_dump + +# Rule to get the pg_ctl binary. +ifeq ($(shell psql --version 2> /dev/null),) +$(error "PostgreSQL is not installed") +else +pg_ctl = $(shell which pg_ctl || \ + ls /usr/lib/postgresql/*/bin/pg_ctl | \ + sort -nr -t / -k 5 | head -n 1) +endif + +##---------------------------------------------------------------------- + +## --------------------------------------------------------------------- +## Here some rules to easily manage the database. +# - db-init: +# Initialise the database. It creates the directory PSQL_DIR and +# start the database. +# +# - db-start: +# Start the database. +# +# - db-stop: +# Stop the database. +# +# - db-status: +# Get the database status. +# +# - db-create: +# Create the database and use UNICODE. +# +# - db-schema: +# Execute the SQL file contained in the PSQL_FILE +# variable to create the schema and the tables. By default, the PSQL_FILE is +# PROJECTNAME.sql. See Makefile.options. +# +# - db-upgrade: +# Upgrade the database schema related to Ocsigen Start to the newer database +# schema. +# It uses $(OS_UPGRADE_FILE) SQL file. You must not change it. +# Please read the upgrade information before calling this rule. +# Use it carefully! +# +# - db-drop: +# Drop the database but doesn't remove the database directory PSQL_DIR. +# +# - db-psql: +# Connect to the database. +# +# - db-delete: +# Stop the database (without error if it's not running) and remove +# the database directory containing all database data and the log file. +# +# Depending on the value of the LOCAL variable (defined in Makefile.options), +# the database is created locally or globally. By default, the database is +# local. + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- + +$(PSQL_DIR): + -mkdir -p $@ + +ifeq ($(LOCAL),yes) + +db-init: $(PSQL_DIR) + $(pg_ctl) initdb -o --encoding=UNICODE -D $(PSQL_DIR) + echo unix_socket_directories = \'/tmp\' >> $(PSQL_DIR)/postgresql.conf + $(pg_ctl) -o "-p $(DB_PORT)" -D $(PSQL_DIR) -l $(PSQL_LOG) start + +db-start: + $(pg_ctl) -o "-p $(DB_PORT)" -D $(PSQL_DIR) -l $(PSQL_LOG) start + +db-stop: + $(pg_ctl) -D $(PSQL_DIR) -l $(PSQL_LOG) stop + +db-status: + $(pg_ctl) -D $(PSQL_DIR) -l $(PSQL_LOG) status + +db-delete: + $(pg_ctl) -D $(PSQL_DIR) -l $(PSQL_LOG) stop || true + rm -f $(PSQL_LOG) + rm -rf $(PSQL_DIR) + +db-snapshot: + @echo "# Creating $(DB_SNAPSHOT)" + $(pg_dump) --clean --create --no-owner --encoding=utf8 \ + $(DB_NAME) | gzip > $(DB_SNAPSHOT) + +else + +db-start: + $(pg_ctl) -o "-p $(DB_PORT)" start + +db-status: + $(pg_ctl) status + +db-stop: + $(pg_ctl) stop + +endif + +db-create: + createdb --encoding UNICODE $(DB_NAME) + +db-schema: + psql -d $(DB_NAME) -f $(PSQL_FILE) + +db-upgrade: + psql -d $(DB_NAME) -f $(OS_UPGRADE_FILE) + +db-drop: + dropdb $(DB_NAME) + dropdb ocsipersist_daegsrv + +db-psql: + psql $(DB_NAME) + +##---------------------------------------------------------------------- diff --git a/daegsrv/Makefile.i18n b/daegsrv/Makefile.i18n new file mode 100644 index 0000000..6fccf7e --- /dev/null +++ b/daegsrv/Makefile.i18n @@ -0,0 +1,47 @@ +##---------------------------------------------------------------------- +## The following part defines rules for i18n. +## See https://github.com/besport/ocsigen-i18n for more information. + +I18N_CHECKER := ocsigen-i18n-checker +I18N_GENERATOR := ocsigen-i18n-generator + +## The i18n generated file. +## IMPROVEME: Due to daegsrv_language, the module +## defining all translations must be static. +I18N_ELIOM_FILE := $(PROJECT_NAME)_i18n.eliom + +## PPX extension to rewrite each file while compiling. +I18N_PPX_REWRITER := "ocsigen-i18n-rewriter --prefix 'Daegsrv_' --suffix '_i18n' --default-module Daegsrv_i18n" + +## This rule will update the primary I18N module +$(I18N_ELIOM_FILE): $(I18N_PRIMARY_FILE) +# use LC_ALL=C so that all $(I18N_ELIOM_FILE) files are generated the same +# way. + LC_ALL=C $(I18N_GENERATOR) \ + --languages $(I18N_LANGUAGES) \ + --default-language $(I18N_DEFAULT_LANGUAGE) \ + < $(I18N_PRIMARY_FILE) \ + > $(I18N_ELIOM_FILE) + +## This rule will update all other I18N modules +$(PROJECT_NAME)_%_i18n.eliom: $(I18N_TSV_DIR)$(PROJECT_NAME)_%_i18n.tsv +# use LC_ALL=C so that all I18N files are generated the same +# way. + LC_ALL=C $(I18N_GENERATOR) \ + --languages $(I18N_LANGUAGES) \ + --default-language $(I18N_DEFAULT_LANGUAGE) \ + --primary $(notdir $(I18N_PRIMARY_FILE)) \ + < $< \ + > $@ + + +i18n-check: + $(I18N_CHECKER) ./*.eliom < $(I18N_TSV_FILE) + +.PHONY: i18n-clean +i18n-clean: + -rm -f $(notdir $(patsubst %.tsv,%.eliom,$(I18N_PRIMARY_FILE) \ + $(I18N_EXTRA_FILES))) + +## end of i18n +##---------------------------------------------------------------------- diff --git a/daegsrv/Makefile.local.example b/daegsrv/Makefile.local.example new file mode 100644 index 0000000..8eaab3a --- /dev/null +++ b/daegsrv/Makefile.local.example @@ -0,0 +1,18 @@ +## This is an example of a Makefile.local file. It contains some example of +## variables you can define. +## +## Makefile.local must be only local: you must not distribute it. It must +## contain the local configuration for your development workflow. + +# The URL address of your Web app (without / at the end). +# See Makefile.mobile for more information about this variable. +APP_SERVER := http://YOUR_IP_ADDRESS:PORT + +# Use to decide if JS and CSS files must be retrieved from the server or not +# while building the mobile application. +# See Makefile.mobile for more information about this variable. +APP_REMOTE := yes + +# Use to declare the app as a dev build that should access cleartext data +# over `http`. A release should be anything else than `dev`. +APP := dev diff --git a/daegsrv/Makefile.mobile b/daegsrv/Makefile.mobile new file mode 100644 index 0000000..7f8bb28 --- /dev/null +++ b/daegsrv/Makefile.mobile @@ -0,0 +1,466 @@ +#---------------------------------------------------------------------- +# This Makefile contains rules about the mobile application. +#---------------------------------------------------------------------- + +WWW_PATH := local/var/www/$(PROJECT_NAME) + +mobile-all: assets android browser # ios + +##---------------------------------------------------------------------- +## Errors definition + +define ERROR_APP_SERVER + +Error: APP_SERVER environment is not set! + +You need to define the environment variable APP_SERVER in order to build the +mobile app. This server is the one your mobile app is connecting to and should +be running when building the app, so the matching Eliom JS and CSS files can be +retrieved. + +Example: +$$ make APP_SERVER=http://eliomapp.example.com APP_REMOTE=yes android + +endef + +define ERROR_APP_REMOTE + +Error: APP_REMOTE environment is not set! + +You need to define the environment variable APP_REMOTE to 'yes' or 'no' in +order to build the mobile app. If set to 'yes', JS and CSS files will be +retrieved from the remote server defined in APP_SERVER; if set to 'no', locally +generated ones will be used instead. + +Example: +$$ make APP_REMOTE=yes APP_SERVER=http://eliomapp.example.com android + +endef + +define ERROR_DOWNLOAD_JS + +Error: Downloading of Eliom JS file from server $(APP_SERVER) has failed. +Please check that $(APP_SERVER) is running properly and try again. + +endef + +define ERROR_DOWNLOAD_CSS + +Error: Downloading of Eliom CSS file from server $(APP_SERVER) has failed. +Please check that $(APP_SERVER) is running properly and try again. + +endef + +##---------------------------------------------------------------------- +## Warnings definition + +define WARNING_NO_CORDOVA + +WARNING: 'cordova' command not found in PATH. Assuming we don't need it for the +current build. It makes sense if you only need Hot Code Push update files on a +server, for example. If you want to build the actual app, you need to install +Cordova. See the documentation at the beginning of 'Makefile.mobile' for +detailed instructions. + +endef + + +##---------------------------------------------------------------------- +## Environment variables definition. + +APPJS := $(CORDOVAPATH)/www/$(PROJECT_NAME).js +APPCSS := $(CORDOVAPATH)/www/css/$(PROJECT_NAME).css + +##---------------------------------------------------------------------- +## Mobile app related ## variables checking + +check-app-env: +ifeq ($(strip $(APP_SERVER)),) + $(error $(ERROR_APP_SERVER)) +endif +ifeq ($(strip $(APP_REMOTE)),) + $(error $(ERROR_APP_REMOTE)) +endif + +# Rules to get the JS and CSS files when building. If APP_REMOTE is set to yes, +# the JS and CSS files are retrieved from APP_SERVER. Else, it copies the local +# JS and CSS files generated during the server compilation. + +$(APPJS): $(JS_PREFIX).js +ifeq ($(APP_REMOTE),yes) + APPJS_FILE=$$(curl -s -f $(APP_SERVER)$(APP_PATH)/ | cat | grep -E -o -m 1 '$(PROJECT_NAME)_[a-f0-9]*?\.js') &&\ + curl -s -o $@ $(APP_SERVER)$(APP_PATH)/$$APPJS_FILE +else + cp -f $(WWW_PATH)/`readlink $(JS_PREFIX).js` $@ +endif + +$(APPCSS): +ifeq ($(APP_REMOTE),yes) + APPCSS_FILE=$$(curl -s -f $(APP_SERVER)$(APP_PATH)/ | cat | grep -E -o -m 1 '$(PROJECT_NAME)_[a-f0-9]*?\.css') &&\ + curl -s -o $@ $(APP_SERVER)$(APP_PATH)/css/$$APPCSS_FILE +else + cp -f $(WWW_PATH)/css/`readlink $(CSS_PREFIX).css` $@ +endif + +##---------------------------------------------------------------------- +## Regenerate config files at each build, in case an environment variable has +## changed. +.PHONY: clean \ + icons spashes $(IOS_SPLASHES) \ + chcp app-config check-app-env \ + $(APPJS) $(APPCSS) \ + $(ADD_PLATFORMS) $(PLATFORMS) $(EMULATE_PLATFORMS) $(RUN_PLATFORMS) \ + $(CORDOVAPATH)/www/chcp.json \ + $(CORDOVAPATH)/www/eliom.html \ + $(CORDOVAPATH)/www/index.html \ + $(CORDOVAPATH)/config.xml + +ifeq ($(USE_NPM), yes) +CORDOVA = PATH=$(PWD)/node_modules/cordova/bin:$$PATH cordova +CORDOVA_HCP = PATH=$(PWD)/node_modules/cordova-hot-code-push-cli/bin:$$PATH cordova-hcp +else +CORDOVA = cordova +CORDOVA_HCP = cordova-hcp +endif + +# Necessary Cordova and static files directories. They are created when +# creating the Cordova project. +CORDOVA_DIRS := www www/css www/fonts www/images www/img www/js + +# If Cordova is installed, use it to create a new project +# If not, we assume we don't need a full fledge project and simply create +# necessary directories (typically on a server where we only want to set up +# Hot Code Push). +# The CSS, JS, logo, index and config.xml created by the Cordova CLI are removed +# to be replaced later. +$(CORDOVAPATH): +ifeq ($(USE_NPM), yes) + npm install cordova git+https://github.com/besport/cordova-hot-code-push-cli.git read-package-json xml2js +endif + $(CORDOVA) create $(CORDOVAPATH) $(MOBILE_APP_ID) "$(MOBILE_APP_NAME)" + rm -f $(CORDOVAPATH)/www/css/index.css + rm -f $(CORDOVAPATH)/www/js/index.js + rm -f $(CORDOVAPATH)/www/img/logo.png + rm -f $(CORDOVAPATH)/www/index.html + rm -f $(CORDOVAPATH)/config.xml + $(foreach dir,$(CORDOVA_DIRS),mkdir -p $@/$(dir);) + +##---------------------------------------------------------------------- +## Rules for static files. + +# Function to list files in a given directory $(1), and change prefix directory +# to the target one $(2) +# Example: $(call static_targets,$(SOURCE_DIR),$(TARGET_DIR)) +static_targets = $(patsubst $(1)%,$(2)%,$(shell find $(1) -type f | grep -v .well-known | grep -v "/fonts/.*\\([.]svg\\|[.]eot\\|webfont[.]ttf\\)$$")) + +# Cordova static files which needs to be copied to the Cordova project +# directory. +CORDOVA_STATIC_FILES := \ + $(CORDOVAPATH)/.chcpignore \ + $(call static_targets,$(MOBILESTATICPATH)/www,$(CORDOVAPATH)/www) + +LOCAL_STATIC_FILES := $(call static_targets,$(LOCAL_STATIC)/css,$(CORDOVAPATH)/www/css) $(call static_targets,$(LOCAL_STATIC)/images,$(CORDOVAPATH)/www/images) $(call static_targets,$(LOCAL_STATIC)/fonts,$(CORDOVAPATH)/www/fonts) + +# Static files dependencies: if a file changes in these directory, a new copy +# of static files will be triggered +# The rules related to static files are essentially copy in the appropriate +# mobile directory. +$(CORDOVA_STATIC_FILES): $(CORDOVAPATH)/%: $(MOBILESTATICPATH)/% + cp -rf $< $@ + +$(LOCAL_STATIC_FILES): $(CORDOVAPATH)/www/%: $(LOCAL_STATIC)/% + cp -rf $< $@ + + +##---------------------------------------------------------------------- +## Rules for cordova config files like index.html, eliom_loader.js, etc. + +# Parse APP_SERVER and extract host, scheme, port. A bit rudimentary, +# but it should work for URLs starting with http:// or https://. + +APP_SCHEME = $(shell echo $(APP_SERVER) | cut -d : -f 1) +APP_HOST = $(shell echo $(APP_SERVER) | cut -d / -f 3 | cut -d : -f 1) +APP_PORT = $(shell echo $(APP_SERVER) | cut -d / -f 3 | cut -d : -f 2) + +ifneq ($(APP_PORT),"") +APP_PORT_ARG="port=\"$(APP_PORT)\"" +else +APP_PORT_ARG= +endif + +ifeq ($(APP),dev) + MOBILE_USE_CLEARTEXT_TRAFFIC?= +else + MOBILE_USE_CLEARTEXT_TRAFFIC?= +endif + +# This rule generates the config.xml file from mobile/config.xml.in. +$(CORDOVAPATH)/config.xml: mobile/config.xml.in $(CORDOVAPATH) + sed -e "s,%%APPSERVER%%,$(APP_SERVER),g" \ + -e "s,%%APPPATH%%,$(APP_PATH),g" \ + -e "s,%%APPHOST%%,$(APP_HOST),g" \ + -e "s,%%APPPORTARG%%,$(APP_PORT_ARG),g" \ + -e "s,%%APPSCHEME%%,$(APP_SCHEME),g" \ + -e "s,%%APPID%%,$(MOBILE_APP_ID),g" \ + -e "s,%%MOBILE_APP_NAME%%,$(MOBILE_APP_NAME),g" \ + -e "s,%%MOBILE_APP_VERSION%%,$(MOBILE_APP_VERSION),g" \ + -e "s,%%MOBILE_DESCRIPTION%%,$(MOBILE_DESCRIPTION),g" \ + -e "s,%%MOBILE_AUTHOR_EMAIL%%,$(MOBILE_AUTHOR_EMAIL),g" \ + -e "s,%%MOBILE_AUTHOR_HREF%%,$(MOBILE_AUTHOR_HREF),g" \ + -e "s,%%MOBILE_AUTHOR_DESCRIPTION%%,$(MOBILE_AUTHOR_DESCRIPTION),g" \ + -e "s,%%MOBILE_ANDROID_SDK_VERSION%%,$(MOBILE_ANDROID_SDK_VERSION),g" \ + -e "s,%%MOBILE_NOTIFICATIONS_SENDER_ID%%,$(MOBILE_NOTIFICATIONS_SENDER_ID),g" \ + -e "s,%%MOBILE_USE_CLEARTEXT_TRAFFIC%%,$(MOBILE_USE_CLEARTEXT_TRAFFIC),g" \ + mobile/config.xml.in > $@ + +# This rule generates index.html. md5sum is used to set the right JavaScript +# filename in the page. +$(CORDOVAPATH)/www/index.html: $(CORDOVAPATH) $(APPJS) mobile/index.html.in + HASH=$$(md5sum $(APPJS) | cut -d ' ' -f 1) && \ + sed -e "s,%%APPNAME%%,$(PROJECT_NAME)_$$HASH,g" \ + -e "s,%%APPSERVER%%,$(APP_SERVER),g" \ + -e "s,%%APPPATH%%,$(APP_PATH),g" \ + -e "s,%%MOBILE_APP_NAME%%,$(MOBILE_APP_NAME),g" \ + mobile/index.html.in > \ + $(CORDOVAPATH)/www/index.html + +# This rule generates eliom.html. md5sum is used to set the right JavaScript and +# CSS filenames in the page. +$(CORDOVAPATH)/www/eliom.html: $(CORDOVAPATH) \ + $(APPJS) $(APPCSS) mobile/eliom.html.in + JS_HASH=$$(md5sum $(APPJS) | cut -d ' ' -f 1) && \ + CSS_HASH=$$(md5sum $(APPCSS) | cut -d ' ' -f 1) && \ + sed -e "s,%%APPNAME%%,$(PROJECT_NAME)_$$JS_HASH,g" \ + -e "s,%%APPPATH%%,$(APP_PATH),g" \ + -e "s,%%PROJECTNAME%%,$(PROJECT_NAME),g" \ + -e "s,%%APPSERVER%%,$(APP_SERVER),g" \ + mobile/eliom.html.in > $@ + +# Eliom loader is used in the index.html to retrieve update from the server. +mobile/eliom_loader.byte: mobile/eliom_loader.ml + ocamlfind ocamlc \ + -package js_of_ocaml,js_of_ocaml-ppx,js_of_ocaml-lwt,lwt_ppx \ + -linkpkg -o mobile/eliom_loader.byte \ + $< + +$(CORDOVAPATH)/www/eliom_loader.js: mobile/eliom_loader.byte + js_of_ocaml $< -o $@ + +# app-config builds all needed files by the mobile application. +app-config: $(CORDOVAPATH)/www/index.html \ + $(CORDOVAPATH)/www/eliom.html \ + $(CORDOVAPATH)/www/eliom_loader.js \ + $(CORDOVAPATH)/config.xml \ + $(CORDOVAPATH)/www/chcp.manifest \ + $(CORDOVAPATH)/www/chcp.json + +##---------------------------------------------------------------------- +## Rules to update the mobile applications. For the moment, Cordova Hot Code +## Push is used. + +# Get the actual timestamp which will be used by chcp.json. +TIMESTAMP := $(shell date +%y%m%d-%H%M%S) + +# Build the chcp.manifest with cordova-hcp build for updates. First, it updates +# and copies all files for the mobile application. +$(CORDOVAPATH)/www/chcp.manifest: $(APPJS) $(APPCSS) \ + $(CORDOVAPATH) $(CORDOVA_STATIC_FILES) \ + $(LOCAL_STATIC_FILES) + cd $(CORDOVAPATH) ; $(CORDOVA_HCP) build + $(RM) $(CORDOVAPATH)/www/chcp.json + +# Build the chcp.json based on mobile/chcp.json.in after creating the +# chcp.manifest. +$(CORDOVAPATH)/www/chcp.json: mobile/chcp.json.in \ + $(CORDOVAPATH)/www/chcp.manifest + sed -e "s,%%APPSERVER%%,$(APP_SERVER),g" \ + -e "s,%%APPPATH%%,$(APP_PATH),g" \ + -e "s,%%DATE%%,$(TIMESTAMP),g" \ + $< > $@ + +# Create the $(TIMESTAMP) directory where updates will be copied. First, it +# needs to generate and copy all files needed by the mobile application. +$(WWW_PATH)/update/$(TIMESTAMP): app-config check-app-env \ + $(CORDOVA_STATIC_FILES) $(LOCAL_STATIC_FILES) + mkdir -p $(WWW_PATH)/update + cp -r $(CORDOVAPATH)/www $@ + +# Build the chcp configuration based on the timestamp. First, it calls the rule +# to create the update/TIMESTAMP directory where updated files will be copied +# and secondly, it copies the chcp.json generated previously in the update/conf +# directory. +$(WWW_PATH)/update/conf/chcp.json: $(WWW_PATH)/update/$(TIMESTAMP) + mkdir -p $(WWW_PATH)/update/conf + cp $ $(INSTALL_PREFIX)$(CMDPIPE) +CMDPIPE := var/run/${PROJECT_NAME}-cmd + +# Ocsigenserver's logging files +LOGDIR := var/log/${PROJECT_NAME} + +# Ocsigenserver's persistent data files +DATADIR := var/data/${PROJECT_NAME} + +# Project's static files +FILESDIR := var/www/${PROJECT_NAME} + +# Project's JavaScript file directory +ELIOMSTATICDIR := var/www/${PROJECT_NAME} + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part contains the settings for CSS. + +# Directory with files to be statically served. All external CSS files will be +# copied in this directory. +LOCAL_STATIC := static +LOCAL_STATIC_CSS := $(LOCAL_STATIC)/css +LOCAL_STATIC_IMAGES := $(LOCAL_STATIC)/images +LOCAL_STATIC_FONTS := $(LOCAL_STATIC)/fonts +# Default CSS if not using SASS: +LOCAL_STATIC_DEFAULTCSS := $(LOCAL_STATIC)/defaultcss + +# Main CSS generated file. +# If you use SASS, this is the compiled file. +# If you don't use SASS, all CSS files in $(CSS_FILES) will be concatenate in +# this file. +LOCAL_CSS := $(LOCAL_STATIC_DEFAULTCSS)/$(PROJECT_NAME).css + +# The OPAM share directory. +SHAREDIR := $(shell $(OPAM) config var share) + +# The ocsigen-toolkit directory containing CSS files. +SHAREDIR_OT_CSS := $(SHAREDIR)/ocsigen-toolkit/css + +# CSS files to copy from other projects into the working directory. +# By default, ocsigen-start needs the CSS files of ocsigen-toolkit. +# If you don't need ocsigen-toolkit CSS files, remote CSS files related to +# ocsigen-toolkit in this variable. +# The order is important because it will be used when concataining all CSS files +# if SASS is deactivated. +# These files are copied with every run of make so they must not be modified. +EXTERNAL_CSS_FILES := $(SHAREDIR_OT_CSS)/ot_buttons.css \ + $(SHAREDIR_OT_CSS)/ot_carousel.css \ + $(SHAREDIR_OT_CSS)/ot_tongue.css \ + $(SHAREDIR_OT_CSS)/ot_sticky.css \ + $(SHAREDIR_OT_CSS)/ot_datetime.css \ + $(SHAREDIR_OT_CSS)/ot_drawer.css \ + $(SHAREDIR_OT_CSS)/ot_icons.css \ + $(SHAREDIR_OT_CSS)/ot_picture_uploader.css \ + $(SHAREDIR_OT_CSS)/ot_popup.css \ + $(SHAREDIR_OT_CSS)/ot_spinner.css \ + $(SHAREDIR_OT_CSS)/ot_page_transition.css + +# All CSS files which must be concatenated. +# This variable is only used if SASS is deactivated. +# The order is important because it will be used when concataining all CSS +# files. +CSS_FILES := $(LOCAL_STATIC_CSS)/font-awesome.min.css \ + $(EXTERNAL_CSS_FILES) \ + $(LOCAL_STATIC_DEFAULTCSS)/os.css +# CSS destination +CSSDIR := $(TEST_PREFIX)$(ELIOMSTATICDIR)/css +CSS_PREFIX := $(CSSDIR)/$(PROJECT_NAME) +CSS_DEST := $(CSS_PREFIX).css +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part contains the settings for SASS. + +# Set to yes if you want to use SASS (http://sass-lang.com). Any other value +# will disable SASS. +# It is recommended to use SASS to write your styles. By default, SASS is +# activated. +USE_SASS := yes + +# The directory where SASS files are. +SASSDIR := sass + +# The filename of the main SASS file. +# You can import other stylesheets from this file +# (with @import "path/filename[.css]"). +SASS_SRC := $(SASSDIR)/$(PROJECT_NAME).scss + +# A separated-colon list of path containing CSS and SCSS files. It allows to +# avoid to write the entire path to a SCSS/CSS file in a @import rule. +SASS_PATH := $(SASSDIR)/lib:$(LOCAL_STATIC_CSS) +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part contains the settings for debugging + +# Debug application (yes/no): Debugging info in compilation, +# JavaScript, ocsigenserver +DEBUG := yes + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part contains the settings for the mobile application. + +# The directory where the Cordova application will be copied. +CORDOVAPATH := cordova + +# The directory containing the files about the mobile application like the +# config.xml.in, index.html.in, eliom_loader.ml, ... +MOBILESTATICPATH := mobile + +MOBILE_APP_ID := com.daegsrv.mobile +MOBILE_APP_NAME := daegsrv +MOBILE_APP_VERSION := 0.1 +MOBILE_DESCRIPTION := daegsrv mobile application +MOBILE_AUTHOR_EMAIL := developer@domain.com +MOBILE_AUTHOR_HREF := http://domain.com +MOBILE_AUTHOR_DESCRIPTION := daegsrv team +MOBILE_ANDROID_SDK_VERSION := 19 +MOBILE_NOTIFICATIONS_SENDER_ID := 424242424242 + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part is only used for PGOcaml (ie for the database). + +## The host database. +DB_HOST := localhost + +## The port of the database server +DB_PORT := 3000 + +## The database name for the project. By default, it's the project name. +DB_NAME := daegsrv + +## The database user. By default, it will use the username of the current user. +DB_USER := $(USER) + +## The password to access the database. By default it's empty. +DB_PASSWORD := "" + +## The main SQL file. This file will be used by the rule 'db-schema' (defined +## in Makefile.db) to initialise the database schema. +PSQL_FILE := $(DB_NAME).sql + +## The filename for the database snapshot. This variable is used +## by 'db-snapshot'. +DB_SNAPSHOT := daegsrv-$$(date '+%Y%m%d%H%M%S').sql.gz + +## Choose if the database will be installed locally or globally +# - yes: will create the database in the $(TEST_PREFIX)/db (which has the value +# 'local' by default). +# - no: will use the default database daemon +LOCAL := yes + +## If the LOCAL variable is set to yes, PSQL_DIR is the database directory. +PSQL_DIR := local_db + +## If the LOCAL variable is set to yes, PSQL_LOG is the log directory. +PSQL_LOG := $(PSQL_DIR)/log + +##---------------------------------------------------------------------- diff --git a/daegsrv/Makefile.os b/daegsrv/Makefile.os new file mode 100644 index 0000000..19e9151 --- /dev/null +++ b/daegsrv/Makefile.os @@ -0,0 +1,350 @@ +#---------------------------------------------------------------------- +# OCSIGEN-START MAKEFILE, NOT TO BE MODIFIED +#---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## DISCLAIMER +## +## This file contains the rules to make an Eliom project. The project is +## configured through the variables in the file Makefile.options. +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Internals + +## Required binaries +ELIOMC := eliomc -w +A-4-7-9-37-38-39-41-42-44-45-48-70 +ELIOMOPT := eliomopt +JS_OF_ELIOM := js_of_eliom -w +A-4-7-9-37-38-39-41-42-44-45-48-70 -jsopt +base/runtime.js +JS_OF_OCAML := js_of_ocaml +ELIOMDEP := eliomdep +OCSIGENSERVER := ocsigenserver +OCSIGENSERVER.OPT := ocsigenserver.opt + +## Where to put intermediate object files. +## - ELIOM_{SERVER,CLIENT}_DIR must be distinct +## - ELIOM_CLIENT_DIR must not be the local dir. +## - ELIOM_SERVER_DIR could be ".", but you need to +## remove it from the "clean" rules... +export ELIOM_SERVER_DIR := _server +export ELIOM_CLIENT_DIR := _client +export ELIOM_TYPE_DIR := _server +DEPSDIR := _deps + +ifeq ($(DEBUG),yes) + GENERATE_DEBUG ?= -g + RUN_DEBUG ?= "-v" + DEBUG_JS ?= --noinline --disable=shortvar --pretty + # --debuginfo +endif + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## General + +.PHONY: all css byte opt + +DIST_DIRS := $(ETCDIR) $(DATADIR) $(LIBDIR) $(LOGDIR) \ + $(FILESDIR)/avatars/tmp $(ELIOMSTATICDIR) \ + $(shell dirname $(CMDPIPE)) +JS_PREFIX := $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME) + +CONF_IN := $(wildcard *.conf.in) +CONFIG_FILES := $(patsubst %.conf.in,$(TEST_PREFIX)$(ETCDIR)/%.conf,$(CONF_IN)) +TEST_CONFIG_FILES := $(patsubst %.conf.in,$(TEST_PREFIX)$(ETCDIR)/%-test.conf,$(CONF_IN)) + + +all: css byte opt + +byte:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cma +opt:: $(TEST_PREFIX)$(LIBDIR)/${PROJECT_NAME}.cmxs + +byte opt:: ${JS_PREFIX}.js +byte opt:: $(CONFIG_FILES) + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## The following part has been generated with os template. +## This will overload the default required binaries. + +## DO NOT MOVE IT ON TOP OF THE `all` RULE! + +include Makefile.$(PROJECT_NAME) + +## end of `include Makefile.$(PROJECT_NAME)` +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Testing + +DIST_FILES = $(ELIOMSTATICDIR)/$(PROJECT_NAME).js $(LIBDIR)/$(PROJECT_NAME).cma + +.PHONY: test.byte test.opt staticfiles +test.byte: $(TEST_CONFIG_FILES) staticfiles $(addprefix $(TEST_PREFIX),$(DIST_DIRS) $(DIST_FILES)) css + @echo "==== The website is available at http://localhost:$(TEST_PORT) ====" + $(OCSIGENSERVER) $(RUN_DEBUG) -c $< +test.opt: $(TEST_CONFIG_FILES) staticfiles $(addprefix $(TEST_PREFIX),$(DIST_DIRS) $(patsubst %.cma,%.cmxs, $(DIST_FILES))) css + @echo "==== The website is available at http://localhost:$(TEST_PORT) ====" + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c $< + +$(addprefix $(TEST_PREFIX), $(DIST_DIRS)): + mkdir -p $@ + +staticfiles: + cp -rf $(LOCAL_STATIC_CSS) $(LOCAL_STATIC_IMAGES) $(LOCAL_STATIC_FONTS) $(TEST_PREFIX)$(ELIOMSTATICDIR) + +##---------------------------------------------------------------------- +## Installing & Running + +.PHONY: install install.byte install.byte install.opt install.static install.etc install.lib install.lib.byte install.lib.opt run.byte run.opt +install: install.byte install.opt +install.byte: install.lib.byte install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.opt: install.lib.opt install.etc install.static | $(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(shell dirname $(CMDPIPE))) +install.lib: install.lib.byte install.lib.opt +install.lib.byte: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.lib.opt: $(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxs | $(PREFIX)$(LIBDIR) + install $< $(PREFIX)$(LIBDIR) +install.static: $(TEST_PREFIX)$(ELIOMSTATICDIR)/$(PROJECT_NAME).js | $(PREFIX)$(STATICDIR) $(PREFIX)$(ELIOMSTATICDIR) + cp -r $(LOCAL_STATIC_CSS) $(PREFIX)$(FILESDIR) + cp -r $(LOCAL_STATIC_IMAGES) $(PREFIX)$(FILESDIR) + cp -r $(LOCAL_STATIC_FONTS) $(PREFIX)$(FILESDIR) + [ -z $(WWWUSER) ] || chown -R $(WWWUSER) $(PREFIX)$(FILESDIR) + install $(addprefix -o ,$(WWWUSER)) $< $(PREFIX)$(ELIOMSTATICDIR) +install.etc: $(TEST_PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf | $(PREFIX)$(ETCDIR) + install $< $(PREFIX)$(ETCDIR)/$(PROJECT_NAME).conf + +.PHONY: +print-install-files: + @echo $(PREFIX)$(LIBDIR) + @echo $(PREFIX)$(ELIOMSTATICDIR) + @echo $(PREFIX)$(ETCDIR) + +$(addprefix $(PREFIX),$(ETCDIR) $(LIBDIR)): + install -d $@ +$(addprefix $(PREFIX),$(DATADIR) $(LOGDIR) $(ELIOMSTATICDIR) $(shell dirname $(CMDPIPE))): + install $(addprefix -o ,$(WWWUSER)) -d $@ + +run.byte: + @echo "==== The website is available at http://localhost:$(PORT) ====" + $(OCSIGENSERVER) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf +run.opt: + @echo "==== The website is available at http://localhost:$(PORT) ====" + $(OCSIGENSERVER.OPT) $(RUN_DEBUG) -c ${PREFIX}${ETCDIR}/${PROJECT_NAME}.conf + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Aux + +# Use `eliomdep -sort' only in OCaml>4 +#ifeq ($(shell ocamlc -version|cut -c1),4) +#eliomdep=$(shell $(ELIOMDEP) $(1) -ppx -sort $(2) $(filter %.eliom %.ml,$(3)))) +#else +#eliomdep=$(3) +#endif +objs=$(patsubst %.ml,$(1)/%.$(2),$(patsubst %.eliom,$(1)/%.$(2),$(filter %.eliom %.ml,$(3)))) +#depsort=$(call objs,$(1),$(2),$(call eliomdep,$(3),$(4),$(5))) +depsort=$(shell ocaml tools/sort_deps.ml .depend $(patsubst %.ml,$(1)/%.$(2),$(patsubst %.eliom,$(1)/%.$(2),$(filter %.eliom %.ml,$(5))))) + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Config files + +ELIOM_MODULES=$(patsubst %,\,$(SERVER_ELIOM_PACKAGES)) +FINDLIB_PACKAGES=$(patsubst %,\,$(SERVER_PACKAGES)) +EDIT_WARNING=DON\'T EDIT THIS FILE! It is generated from $(PROJECT_NAME).conf.in, edit that one, or the variables in Makefile.options +SED_ARGS = -e "/^ *%%%/d" +SED_ARGS += -e "s|%%PROJECT_NAME%%|$(PROJECT_NAME)|g" +SED_ARGS += -e "s|%%DB_NAME%%|$(DB_NAME)|g" +SED_ARGS += -e "s|%%DB_HOST%%|$(DB_HOST)|g" +SED_ARGS += -e "s|%%DB_PORT%%|$(DB_PORT)|g" +SED_ARGS += -e "s|%%DB_USER%%|$(DB_USER)|g" +SED_ARGS += -e "s|%%DB_PASSWORD%%|$(DB_PASSWORD)|g" +SED_ARGS += -e "s|%%CMDPIPE%%|%%PREFIX%%$(CMDPIPE)|g" +SED_ARGS += -e "s|%%LOGDIR%%|%%PREFIX%%$(LOGDIR)|g" +SED_ARGS += -e "s|%%DATADIR%%|%%PREFIX%%$(DATADIR)|g" +SED_ARGS += -e "s|%%LIBDIR%%|%%PREFIX%%$(LIBDIR)|g" +SED_ARGS += -e "s|%%WARNING%%|$(EDIT_WARNING)|g" +SED_ARGS += -e "s|%%PACKAGES%%|$(FINDLIB_PACKAGES)|g" +SED_ARGS += -e "s|%%ELIOM_MODULES%%|$(ELIOM_MODULES)|g" +SED_ARGS += -e "s|%%FILESDIR%%|%%PREFIX%%$(FILESDIR)|g" +SED_ARGS += -e "s|%%ELIOMSTATICDIR%%|%%PREFIX%%$(ELIOMSTATICDIR)|g" +SED_ARGS += -e "s|%%APPNAME%%|$(shell basename `readlink $(JS_PREFIX).js` .js)|g" +SED_ARGS += -e "s|%%CSSNAME%%|$(shell readlink $(CSS_PREFIX).css)|g" +ifeq ($(DEBUG),yes) + SED_ARGS += -e "s|%%DEBUGMODE%%|\|g" +else + SED_ARGS += -e "s|%%DEBUGMODE%%||g" +endif + +LOCAL_SED_ARGS := -e "s|%%PORT%%|$(TEST_PORT)|g" +LOCAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +GLOBAL_SED_ARGS := -e "s|%%PORT%%|$(PORT)|g" +ifeq ($(WWWUSER)$(WWWGROUP),) + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%||g" +else + GLOBAL_SED_ARGS += -e "s|%%USERGROUP%%|$(WWWUSER)$(WWWGROUP)|g" +endif + +ifneq ($(DO_NOT_RECOMPILE),yes) +JS_AND_CSS=$(JS_PREFIX).js $(CSS_PREFIX).css +endif + +$(CONFIG_FILES): $(TEST_PREFIX)$(ETCDIR)/%.conf: %.conf.in Makefile.options $(JS_AND_CSS) | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(GLOBAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(PREFIX)|g" > $@ + +$(TEST_CONFIG_FILES): $(TEST_PREFIX)$(ETCDIR)/%-test.conf: %.conf.in Makefile.options $(JS_AND_CSS) | $(TEST_PREFIX)$(ETCDIR) + sed $(SED_ARGS) $(LOCAL_SED_ARGS) $< | sed -e "s|%%PREFIX%%|$(TEST_PREFIX)|g" > $@ + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Server side compilation + +SERVER_INC_DEP := ${addprefix -package ,${SERVER_PACKAGES} ${SERVER_ELIOM_PACKAGES}} +SERVER_INC := ${addprefix -package ,${SERVER_PACKAGES} ${SERVER_ELIOM_PACKAGES}} +SERVER_DB_INC := ${addprefix -package ,${SERVER_PACKAGES} ${SERVER_DB_PACKAGES} ${SERVER_ELIOM_PACKAGES}} + +${ELIOM_TYPE_DIR}/%.type_mli: %.eliom + ${ELIOMC} -ppx -ppx ${I18N_PPX_REWRITER} -infer ${SERVER_INC} $< + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cma: $(call objs,$(ELIOM_SERVER_DIR),cmo,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMC} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmo,-server,$(SERVER_DB_INC),$(SERVER_FILES)) + +$(TEST_PREFIX)$(LIBDIR)/$(PROJECT_NAME).cmxa: $(call objs,$(ELIOM_SERVER_DIR),cmx,$(SERVER_FILES)) | $(TEST_PREFIX)$(LIBDIR) + ${ELIOMOPT} -a -o $@ $(GENERATE_DEBUG) \ + $(call depsort,$(ELIOM_SERVER_DIR),cmx,-server,$(SERVER_DB_INC),$(SERVER_FILES)) + +%.cmxs: %.cmxa + $(ELIOMOPT) -shared -linkall -o $@ $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%_db.cmi: %_db.mli + ${ELIOMC} -c -ppx ${SERVER_DB_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmi: %.mli + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%.cmi: %.eliomi + ${ELIOMC} -ppx -ppx ${I18N_PPX_REWRITER} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%_db.cmo: %_db.ml + ${ELIOMC} -c -ppx ${SERVER_DB_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmo: %.ml + ${ELIOMC} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmo: %.eliom + ${ELIOMC} -ppx -ppx ${I18N_PPX_REWRITER} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +${ELIOM_SERVER_DIR}/%_db.cmx: %_db.ml + ${ELIOMOPT} -c -ppx ${SERVER_DB_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmx: %.ml + ${ELIOMOPT} -c ${SERVER_INC} $(GENERATE_DEBUG) $< +${ELIOM_SERVER_DIR}/%.cmx: %.eliom + ${ELIOMOPT} -ppx -ppx ${I18N_PPX_REWRITER} -c ${SERVER_INC} $(GENERATE_DEBUG) $< + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Client side compilation + +CLIENT_LIBS := ${addprefix -package ,${CLIENT_PACKAGES}} +CLIENT_INC := ${addprefix -package ,${CLIENT_PACKAGES}} + +CLIENT_OBJS := $(filter %.eliom %.ml, $(CLIENT_FILES)) +CLIENT_OBJS := $(patsubst %.eliom,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) +CLIENT_OBJS := $(patsubst %.ml,${ELIOM_CLIENT_DIR}/%.cmo, ${CLIENT_OBJS}) + +$(ELIOM_CLIENT_DIR)/os_prologue.js: \ + $(shell ocamlfind query -r -predicates byte -a-format $(CLIENT_PACKAGES)) + ${JS_OF_ELIOM} -jsopt --dynlink -o $@ $(GENERATE_DEBUG) $(CLIENT_INC) \ + ${addprefix -jsopt ,$(DEBUG_JS)} + +ifeq ($(DEBUG),yes) +$(JS_PREFIX).js: $(call objs,$(ELIOM_CLIENT_DIR),js,$(CLIENT_FILES)) | $(TEST_PREFIX)$(ELIOMSTATICDIR) $(ELIOM_CLIENT_DIR)/os_prologue.js + cat $(ELIOM_CLIENT_DIR)/os_prologue.js $(call depsort,$(ELIOM_CLIENT_DIR),js,-client,$(CLIENT_INC),$(CLIENT_FILES)) > $(JS_PREFIX)_tmp.js && \ + HASH=`md5sum $(JS_PREFIX)_tmp.js | cut -d ' ' -f 1` && \ + mv $(JS_PREFIX)_tmp.js $(JS_PREFIX)_$$HASH.js && \ + ln -sf $(PROJECT_NAME)_$$HASH.js $@ +else +$(JS_PREFIX).js: $(call objs,$(ELIOM_CLIENT_DIR),cmo,$(CLIENT_FILES)) | $(TEST_PREFIX)$(ELIOMSTATICDIR) + ${JS_OF_ELIOM} -ppx -o $(JS_PREFIX)_tmp.js $(GENERATE_DEBUG) $(CLIENT_INC) ${addprefix -jsopt ,$(DEBUG_JS)} \ + $(call depsort,$(ELIOM_CLIENT_DIR),cmo,-client,$(CLIENT_INC),$(CLIENT_FILES)) + HASH=`md5sum $(JS_PREFIX)_tmp.js | cut -d ' ' -f 1` && \ + mv $(JS_PREFIX)_tmp.js $(JS_PREFIX)_$$HASH.js && \ + ln -sf $(PROJECT_NAME)_$$HASH.js $@ +endif + +${ELIOM_CLIENT_DIR}/%.cmi: %.mli + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.eliom + ${JS_OF_ELIOM} -ppx -ppx ${I18N_PPX_REWRITER} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmo: %.ml + ${JS_OF_ELIOM} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.cmi: %.eliomi + ${JS_OF_ELIOM} -ppx -ppx ${I18N_PPX_REWRITER} -c ${CLIENT_INC} $(GENERATE_DEBUG) $< + +${ELIOM_CLIENT_DIR}/%.js: ${ELIOM_CLIENT_DIR}/%.cmo + ${JS_OF_OCAML} $(DEBUG_JS) +base/runtime.js $< + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Dependencies + +# DO NOT include `.depend' for the following commands: db-*, clean, distclean +is_db_command=$(shell echo $(1) | grep -q "db-" && echo "true" || echo "false") +ifneq ($(call is_db_command,$(MAKECMDGOALS)),true) +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(MAKECMDGOALS),i18n-update) +ifneq ($(MAKECMDGOALS),distclean) +include .depend +endif +endif +endif +endif + +.depend: $(patsubst %,$(DEPSDIR)/%.server,$(SERVER_FILES)) $(patsubst %,$(DEPSDIR)/%.client,$(CLIENT_FILES)) + @cat $^ > $@ + +$(DEPSDIR)/%.ml.server: %.ml | $(DEPSDIR) $(SERVER_FILES) + $(ELIOMDEP) -server -ppx $(SERVER_DB_INC) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.mli.server: %.mli | $(DEPSDIR) $(SERVER_FILES) + $(ELIOMDEP) -server -ppx $(SERVER_DB_INC) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.eliom.server: %.eliom | $(DEPSDIR) $(SERVER_FILES) + $(ELIOMDEP) -server -ppx -ppx ${I18N_PPX_REWRITER} $(SERVER_INC_DEP) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.eliomi.server: %.eliomi | $(DEPSDIR) $(SERVER_FILES) + $(ELIOMDEP) -server -ppx -ppx ${I18N_PPX_REWRITER} $(SERVER_INC_DEP) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.ml.client: %.ml | $(DEPSDIR) + $(ELIOMDEP) -client $(CLIENT_INC) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.eliom.client: %.eliom | $(DEPSDIR) + $(ELIOMDEP) -client -ppx -ppx ${I18N_PPX_REWRITER} $(CLIENT_INC) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR)/%.eliomi.client: %.eliomi | $(DEPSDIR) + $(ELIOMDEP) -client -ppx -ppx ${I18N_PPX_REWRITER} $(CLIENT_INC) $< > $@.tmp && mv $@.tmp $@ + +$(DEPSDIR): + mkdir $@ + +##---------------------------------------------------------------------- + +##---------------------------------------------------------------------- +## Clean up + +clean:: clean-style mobile-clean i18n-clean + -rm -f *.cm[ioax] *.cmxa *.cmxs *.o *.a *.annot + -rm -f *.type_mli + -rm -rf ${ELIOM_CLIENT_DIR} ${ELIOM_SERVER_DIR} + +distclean: clean + -rm -rf $(TEST_PREFIX) $(DEPSDIR) .depend diff --git a/daegsrv/Makefile.style b/daegsrv/Makefile.style new file mode 100644 index 0000000..227124f --- /dev/null +++ b/daegsrv/Makefile.style @@ -0,0 +1,119 @@ +# The following condition is used to determinate if the sed version is BSD or +# GNU. It is useful because `sed -i` has a different implementation (and this +# command is needed by $(CSS_DEST). It uses the fact that `sed --version` +# doesn't exist for the BSD version. + +.PHONY: css check_sass clean-style + +check_sed: +ifneq ($(shell sed --version 2> /dev/null),) +SED = sed -i +else +SED = sed -i .css +endif + +css: $(CSS_DEST) + +define ERROR_SASS + +Error: SASS not found. + +Ocsigen Start gives the choice to use SASS (a CSS preprocessor) to write +stylesheets. We encourage you to use SASS and the template needs it by default. +See https://sass-lang.com for more information. +If you don't really want to use it, you can change the value of the variable +USE_SASS to "no" in Makefile.options to use CSS. + +endef + + +check_sass: +ifeq ($(strip $(USE_SASS)),yes) +ifeq ($(shell which sassc),) +ifeq ($(shell which sass),) +$(error $(ERROR_SASS)) +endif +endif +endif + +ifeq ($(USE_NPM), yes) +PACKAGE_JSON = package.json +NPM_POSTCSS = node_modules/postcss-cli +NPM_AUTOPREFIXER = node_modules/autoprefixer +POSTCSS = node_modules/.bin/postcss + +$(NPM_POSTCSS): $(PACKAGE_JSON) + npm install postcss-cli@7.1.2 + +$(NPM_AUTOPREFIXER): $(PACKAGE_JSON) + npm install autoprefixer@9.8.6 + +$(PACKAGE_JSON): + npm init --yes +else +PACKAGE_JSON = +NPM_POSTCSS = +NPM_AUTOPREFIXER = +POSTCSS = postcss +endif + +##---------------------------------------------------------------------- +## SASS rules + +# If $(USE_SASS) (see Makefile.options) is set to yes, it will compile and +# compress all SASS files and save it in $(LOCAL_CSS). +# If SASS is not activated, it will concatenate all CSS files (listed in +# $(CSS_FILES)) in $(LOCAL_CSS). +# In both cases, external CSS files ($(EXTERNAL_CSS_FILES)) are copied. +$(LOCAL_CSS): $(PACKAGE_JSON) $(NPM_POSTCSS) $(NPM_AUTOPREFIXER) $(LOCAL_STATIC_CSS)/.import-external-css | check_sass +ifeq "$(USE_SASS)" "yes" +ifeq ($(shell which sassc),) + [ -d $(SASSDIR) ] && \ + SASS_PATH=$(SASS_PATH) sass --style compressed $(SASS_SRC) $@ +else + [ -d $(SASSDIR) ] && \ + sassc -t compressed $(addprefix -I ,$(subst :, ,$(SASS_PATH))) $(SASS_SRC) $@ +endif + $(POSTCSS) --use autoprefixer --replace $@ +else + cat $(CSS_FILES) > $@ +endif + +##---------------------------------------------------------------------- +## CSS rules + +$(CSSDIR): + mkdir -p $@ + +# Copy the CSS file $(LOCAL_CSS) in $(CSS_DEST) after adding a hash in the name +# and make a symlink for $(PROJECT_NAME).css which is used in index.html. +# FIXME: md5sum is not by default on Mac OSX: it must be installed with brew. +# Instead of md5sum, md5 is present but the output is different. +$(CSS_DEST): $(LOCAL_CSS) | $(CSSDIR) check_sed + HASH=`cat $< | md5sum | cut -d ' ' -f 1` && \ + cp $< $(CSS_PREFIX)_$$HASH.css && \ + $(SED) '1s/^/@charset "UTF-8";/' $(CSS_PREFIX)_$$HASH.css && \ + ln -sf $(PROJECT_NAME)_$$HASH.css $@ +# Charset is necessary for iOS. +# Including it in scss does not work because sass removes it. + +##---------------------------------------------------------------------- +## External CSS + +# Copy files from other projects into the working directory. +# By default, it imports all CSS files from ocsigen-toolkit because the template +# needs it. +# See EXTERNAL_CSS_FILES definition in Makefile.options for more information. +# It is executed with every run of make to be sure external CSS files are +# up-to-date and it allows to add other external CSS files between two +# compilation processes. + +$(LOCAL_STATIC_CSS)/.import-external-css: $(EXTERNAL_CSS_FILES) +ifneq "$(EXTERNAL_CSS_FILES)" "" + cp $(EXTERNAL_CSS_FILES) $(LOCAL_STATIC_CSS) +endif + touch $(LOCAL_STATIC_CSS)/.import-external-css + +clean-style: + $(RM) $(LOCAL_CSS) $(LOCAL_STATIC_CSS)/$(PROJECT_NAME).css.map + $(RM) -r .sass-cache diff --git a/daegsrv/README.md b/daegsrv/README.md new file mode 100644 index 0000000..0a64e6a --- /dev/null +++ b/daegsrv/README.md @@ -0,0 +1,351 @@ +Instructions +============ + +This project is (initially) generated by `eliom-distillery` as the basic +project `daegsrv`. + +Note that external dependencies are required prior to building the +project. Postgres is mandatory. By default, NPM is used for +automatically installing various NPM packages; you can disable this +via the `USE_NPM` variable in `Makefile.options` if you prefer to use +a system-wide NPM installation. SASS is optional, but not installing +it may negatively impact the rendering of the pages generated. All +needed packages (Postgres, NPM, SASS, ...) and required OPAM packages can be +installed via the command (from the daegsrv directory): + +```shell +opam install . +``` + +If you have issues with the NPM provided by your distribution, you can +use [NVM](https://github.com/creationix/nvm). If NPM is too old (< 2.0), +you can try updating it with `sudo npm install -g npm`. Depending on your +setup, you may have to update your `$PATH` for the new `npm` to become +visible. + +Generally, you can compile it and run ocsigenserver on it by + +```shell +make db-init +make db-create +make db-schema +make test.byte (or test.opt) +``` + +Then connect to `http://localhost:8080` to see the running app skeleton. +Registration will work only if sendmail if configured on your system. +But the default template will print the activation link on the standard +output to make it possible for you to create your first users (remove this!). + +See below for other useful targets for make. + +Generated files +--------------- + +The following files in this directory have been generated by +`eliom-distillery`: + +- `daegsrv*.eliom[i]` + Initial source file of the project. + All Eliom files (*.eliom, *.eliomi) in this directory are + automatically compiled and included in the application. + To add a .ml/.mli file to your project, + append it to the variable `SERVER_FILES` or `CLIENT_FILES` in + Makefile.options. + +- `static/`. + This folder contains the static data for your app. + The content will be copied into the static file directory + of the server and included in the mobile app. + Put your CSS or additional JavaScript files here. + +- `Makefile.options` + Configure your project here. + +- `daegsrv.conf.in`. + This file is a template for the configuration file for + Ocsigen Server. You will rarely have to edit it yourself - it takes its + variables from the Makefile.options. This way, the installation + rules and the configuration files are synchronized with respect to + the different folders. + +- `mobile` + The files needed by Cordova mobile apps + +- `Makefile` + This contains all rules necessary to build, test, and run your + Eliom application. See below for the relevant targets. + +- `README.md` + + +Makefile targets +---------------- + +Here's some help on how to work with this basic distillery project: + +- Initialize, start, create, stop, delete a local db, or show status: +```Shell +make db-init +make db-start +make db-create +make db-stop +make db-delete +make db-status +``` + +- Test your application by compiling it and running ocsigenserver locally +``` +make test.byte (or test.opt) +``` + +- Compile it only +```Shell +make all (or byte or opt) +``` + +- Deploy your project on your system +```Shell +sudo make install (or install.byte or install.opt) +``` + +- Run the server on the deployed project +```Shell +sudo make run.byte (or run.opt) +``` + +If `WWWUSER` in the `Makefile.options` is you, you don't need the +`sudo`. If Eliom isn't installed globally, however, you need to +re-export some environment variables to make this work: +```Shell +sudo PATH=$PATH OCAMLPATH=$OCAMLPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH make run.byte/run.opt +``` + +- If you need a findlib package in your project, add it to the + variables `SERVER_PACKAGES` and/or `CLIENT_PACKAGES`. The configuration + file will be automatically updated. + +Build the mobile applications +----------------------------- + +## Prepare the mobile infrastructure. + +### For all mobile platforms: + +Make sure you have a working NPM installation. The needed NPM packages +(like Cordova) will be installed automatically. + +Warning: NPM packages (and especially Cordova plugins) are very sensitive to +version changes. You may have to change version numbers in +`mobile/config.xml.in` if something goes wrong during app generation. +You may also have problems with old versions of `gradle` or wrong versions +of Android packages ... + +If npm is causing a lot of errors (on Debian) in the following parts of the installation, an advice would be to uninstall nodejs and npm and do a clean installation of them **with aptitude**. + +This installation was tested with those versions: + +``` +npm : 6.14.12 +nodejs : v10.24.1 +``` + +**Be prepared! You're entering an unstable world!** + +### For Android: + +- Install JDK 11 (`openjdk-11-jdk` package in Debian/Ubuntu) + + Run those commands and look carefully if the checked option for java and javac are from the same repository: + ``` + sudo update-alternatives --config java + sudo update-alternatives --config javac + ``` +- Install Gradle (`gradle` package in Debian/Ubuntu) +- Download and untar the [Android SDK](http://developer.android.com) (the smaller version without Android Studio is sufficent), rename it so that you have a `$HOME/android-sdk-linux/tools` folder. +- Using the Android package management interface (or sdkmanager): + * List All System Images Available for Download: `sdkmanager --list | grep system-images`\ + (*As an example we're going to choose "system-images;android-26;default;x86" but you can choose your way.*) + * Download Image: sdkmanager --install "system-images;android-26;default;x86"\ + (*Be aware that version > android-26 may not work.*) + +If you want to emulate an Android device, you need to create an emulator : + +``` +echo "no" | avdmanager --verbose create avd --force --name "generic_10" --package "system-images;android-26 default;x86" --tag "default" --abi "x86" +# Check every available options that offers avdmanager to customize your emulator as you wish. +``` + +There is a couple more steps to follow: + +Unfortunately there are two named emulator binary file, which are located under `$ANDROID_SDK/tools/emulator` and the other is under `$ANDROID_SDK/emulator/`.\ +Make sure you have the right emulator configure (you need to add `$ANDROID_SDK/emulator` to your env PATH). + +In order to do this: + +1. Add in your `~/.bashrc` (or `~/.zshrc`) file: + ```sh + export ANDROID_SDK=$HOME'your_path_to_android_sdk' + export PATH=$ANDROID_SDK/emulator:$PATH + export PATH=$ANDROID_SDK/tools:$PATH + export PATH=$ANDROID_SDK/tools/bin:$PATH + export PATH=$ANDROID_SDK/platform-tools:$PATH + export ANDROID_SDK_ROOT=$ANDROID_SDK + export ANDROID_AVD_HOME=$HOME/.android/and + alias emulator='$ANDROID_SDK/emulator/emulator' + ``` +2. Then execute this command in your shell: `source ~/.bash_profile` +3. And show the installed emulators with: `emulator -list-avds`\ + You should have something displaying like: + ```sh + generic_10 + # Or even something like : + Pixel_2_API_29 + Pixel_3a_API_29 + Pixel_C_API_29 + ``` + +### For iOS: + +- Xcode installs all dependencies you need. + +- Some iOS-specific code exists. You should check it out. For instance, looking carefully at the [`PROJECT_NAME.conf.in`](PROJECT_NAME.conf.in) file is mandatory if you're building an iOS app. + +### For Windows: + +Ocsigen Start uses +[cordova-hot-code-push-plugin](https://github.com/nordnet/cordova-hot-code-push) +to upload local files (like CSS and JavaScript files, images and logo) when the +server code changes. + +Unfortunately, this plugin is not yet available for Windows Phone. However, as +ocsigen Start also builds the website part, an idea is to run the website into a +WebView on Windows Phones. + +Even if Cordova allows you to build Windows app, it doesn't authorize you to +load an external URL without interaction with the user. + +Another solution is to build an [Hosted Web +App](https://developer.microsoft.com/en-us/windows/bridges/hosted-web-apps). It +makes it possible to create easily an application based on your website. You can +also use Windows JavaScript API (no OCaml binding available for the moment) to +get access to native components. You can create the APPX package (package format +for Windows app) by using [Manifold JS](http://manifoldjs.com/), even if you are on MacOS X or Linux. + +If you are on Windows, you can +use [Visual Studio Community](https://www.visualstudio.com/fr/vs/community/). +The Visual Studio Community solution is recommended to test and debug. You can +see all errors in the JavaScript console provided in Visual Studio. + +[Here](https://blogs.windows.com/buildingapps/2016/02/17/building-a-great-hosted-web-app/#3mlzw0giKcuGZDeq.97) a +complete tutorial from the Windows blog for both versions (with Manifold JS and +Visual Studio). + +If you use the Manifold JS solution, you need to sign the APPX before installing it on a device. + +## Launching the mobile app + +The following examples are described for Android but they are also available +for iOS: you only need to replace `android` by `ios`. + +- Launch an Ocsigen server serving your app: +``` +make test.opt +``` + +In the following commands, if `APP_REMOTE` is `yes`, the mobile app will +be created by getting all the necessary files (js, etc) from a server. +This may be used to create a mobile app for an which has not been +compiled locally. With `APP_REMOTE=no`, the local files will be used. + +The remote server address is given in the variable `APP_SERVER`. +Replace `${YOUR_SERVER}` by `${YOUR_IP_ADDRESS}:8080` in the following +commands if you want to test on your local machine. + +- To run the application in the emulator, use: + +``` +make APP_SERVER=http://${YOUR_SERVER} APP_REMOTE=no APP=dev emulate-android +``` + +The above command will attempt to launch your app in the Android emulator that +you have configured previously. Depending on your setup, you may need to start +the emulator before running the command. + +Note: If the emulator does not start on your Linux system because of +a library problem, you can try to set the environment variable +`ANDROID_EMULATOR_USE_SYSTEM_LIBS` to `1` to make it start (see +https://developer.android.com/studio/command-line/variables.html for +details). + +To run the application on a connected device, use: + +``` +make APP_SERVER=http://${YOUR_SERVER} APP_REMOTE=no APP=dev run-android +``` +Notice that the `APP_SERVER` argument needs to point to your LAN or public +address (e.g., `192.168.1.x`), not to `127.0.0.1` (neither to `localhost`). The +reason is that the address will be used by the Android emulator/device, inside +which `127.0.0.1` has different meaning; it points to the Android host itself. + +If you only want to build the mobile application, you can use: +``` +make APP_SERVER=http://${YOUR_SERVER} APP_REMOTE=no APP=dev android +``` + +Before uploading on Google Play Store, check the variables in Makefile.options +(MOBILE_APP_IP, version number, etc). +You'll need to build a release version (default is debug version): +``` +make APP_SERVER=http://${YOUR_SERVER} APP_REMOTE=no android-release +``` +then sign it (see Android documentation). + +If you want the application URL to include a path +(`http://${YOUR_SERVER}${PATH}`), +you need to provide an additional `APP_PATH` argument, e.g., +`APP_PATH=/foo`. You need to include the leading `/`, but no trailing +`/`. You also need to modify the `daegsrv.conf.in` with a +[`` tag](http://ocsigen.org/ocsigenserver/manual/config#h5o-31). + +Note: if any of the mobile-related targets fails due to the inexistent +`node` command, you may need to create a symlink from `node` to +`nodejs`, e.g., as follows: + +``` +ln -s /usr/bin/nodejs /usr/local/bin/node +``` + +## Update the mobile application. + +The mobile app is updated automatically at launch time, every time the +server has been updated. To do that, Ocsigen Start is using Cordova Hot +Code Push. + +In order to make it work, you MUST use the following command every time +you update the server: +``` +make APP_SERVER=http://${YOUR_SERVER} APP_REMOTE={yes|no} chcp +``` + +## Use Makefile.local file. + +You need to define `APP_REMOTE` and `APP_SERVER` each time you want to build +the mobile application or to update it. The `APP` variable is not mandatory per +say but when set to `dev` it enables cleartext traffic, so you might want to +keep it on while working on dev builds. + +If you don't want to pass the variables `App`, `APP_SERVER` and +`APP_REMOTE` every time, you can change the values of these variables in +`Makefile.local.example` and rename this file to `Makefile.local`. This way, +the variables `App`, `APP_REMOTE` and `APP_SERVER` are not mandatory when you build +or update the mobile application. You can use: +``` +make chcp +make run-android +make run-ios +... +``` + +This file is meant for rules and variables that are only relevant for local development +and it must not be deployed or shared (by default, this file is ignored by Git). diff --git a/daegsrv/assets/daegsrv_Demo_i18n.tsv b/daegsrv/assets/daegsrv_Demo_i18n.tsv new file mode 100644 index 0000000..f11d4d8 --- /dev/null +++ b/daegsrv/assets/daegsrv_Demo_i18n.tsv @@ -0,0 +1,121 @@ +allows_get_information_currently_connected_user provides information about the currently connected user (server or client side). vous autorise à obtenir les information de l'utilisateur courant connecté (côté serveur ou côté client). +always_get_current_user_using_module Always get the current user id using module Récupérez toujours l'ID de l'utilisateur courant en utilisant le module +cache Cache Cache +cache_1 Caching the data Mise en cache des données +cache_2 Module {{eliom_cscache}} implements a cache of data that is designed for Eliom's client-server programming model. It permits saving a client-side copy of the data. Have a look at the module {{os_user_proxy}} to see how it works (and use this module for getting information about Ocsigen Start's users). Le module {{eliom_cscache}} implémente un cache de données construit pour le modèle client-serveur d'Eliom. Il permet de sauvegarder une copie des données du client. Jetez un oeil au module {{os_user_proxy}} pour comprendre son fonctionnement (et utilisez ce module pour obtenir des informations sur les utilisateurs d'Ocsigen Start). +cache_3 When you get a piece of data through {{eliom_cscache}} from client-side, the request to the server is done only if the data is not already in the client-side cache. On server-side, {{eliom_cscache}} is using a temporary cache (with \"request\" scope) to avoid fetching the data several times from the database during the same request. This server-side cache is automatically sent to the client to fill the client-side cache. If you want to avoid too many requests from the client, prefill the server-side cache with the data the client program will need. Quand une donnée du client est obtenue via {{eliom_cscache}}, la requête vers le serveur est faite uniquement si la donnée ne se trouve pas déjà dans le cache côté client. Du côté serveur, {{eliom_cscache}} utilise un cache temporaire (avec une portée de type "request") afin d'éviter de récupérer les données de la base de données plusieurs fois sur une même requête. Ce cache côté serveur est automatiquement envoyé au client pour remplir son cache. Pour éviter un trop grand nombre de requêtes côté client, pré-remplissez le cache côté serveur avec les données dont le programme côté client a besoin. +cache_4 In the near future, {{eliom_cscache}} will enable saving persistent data, which is useful for implementing off-line applications. Prochainement, {{eliom_cscache}} permettra de sauvegarder des données de manière persistante, ce qui peut être utile pour implémenter des applications hors ligne. +calendar Calendar Calendrier +carousel_1 Carousel Carousel +carousel_2 Carousel: page with tabs Carousel : page avec onglets +carousel_third_example_1 Example of a vertical circular carousel (wheel). Try with a touch screen. Exemple de carousel vertical circulaire (wheel). Essayez avec un écran tactile. +carousel_wheel Wheel carousel Carousel avec roulette +eliom_ref Eliom references + OS dates Références Eliom + dates OS +eliom_ref_1 We use an Eliom reference to record the last time you visited this page. Eliom references make it possible to save, server-side, data specific to one user, one browser, or one tab. Nous utilisons les références Eliom pour sauvegarder la date de la dernière fois que vous avez visité cette page. Les références Eliom permettent de sauvegarder côté serveur des données propres à un utilisateur, à un navigateur ou à un onglet. +eliom_ref_2 The value is different for each user. La valeur est différente pour chaque utilisateur. +eliom_ref_3 The reference has been updated. Come back later! La référence a été mise à jour. Revenez plus tard ! +eliom_ref_first_visit This is your first visit. Ceci est votre première visite. +eliom_ref_last_visit The last time you visited was: La dernière fois que vous avez visité ce lien était : +example_tip This is an example of tip. Ceci est un exemple de tip. +exchange_msg_between_users Module {{os_notif}} enables sending information to client applications (notifications, new messages ...). Le module {{os_notif}} permet d'envoyer des données aux applications client (notifications, nouveaux messages,...). +external_service external service service externe +fill_input_form_send_message Fill in the input form to send a message to all other tabs. Remplissez le formulaire pour envoyer un message à tous vos autres onglets ouverts. +friday Friday Vendredi +general_principles General principles Principes généraux +internal_link internal link lien interne +internationalization {{{capitalize?I||i}}}nternationalization {{{capitalize?I||i}}}nternationalisation +internationalization_1 Ocsigen Start uses Ocsigen-i18n for internationalizing your app. Ocsigen-i18n defines a PPX syntax extension for automatically selecting language-dependent text for each user. The user can choose his preferred language from the settings page. By default the browser's language is used. Ocsigen Start utilise Ocsigen-i18n for internationaliser les applications. Ocsigen-i18n définit une extension de syntaxe PPX qui sélectionne automatiquement les textes en fonction de la langue de l'utilisateur courant. L'utilisateur peut choisir sa langue préférée dans la page de paramètres. Par défaut, la langue du navigateur est utilisée. +internationalization_2 Write your translations (as tab-separated-values) in file {{f1}}. File {{f2}} is generated automatically from this file. Écrivez vos traductions (au format "tab-separated-values") dans le fichier {{f1}}. Le fichier {{f2}} est généré automatiquement à partir de ce fichier. +internationalization_3 Have a look at the OCaml code of this page to discover some features of the module Ocsigen-i18n. Jetez un coup d'œil au code OCaml de cette page pour découvrir quelques astuces du module Ocsigen-i18n. +internationalization_4 To make your life easier, the entries used for this whole demo sub-site have been split into their own file {{f}}. When you feel ready to make this project your own, you can freely delete all the {{demo_prefix}} files, and {{f}}. Pour rendre votre vie un peu plus facile, les entrées utilisées dans tout ce sous-site démo ont été séparées dans leur propre fichier {{f}}. Quand vous vous sentez prêt à faire de ce projet le votre, vous pourrez librement supprimer tous les fichiers {{demo_prefix}}, ainsi que {{f}}. +intro Demo: introduction Demo : introduction +intro_1 Ocsigen provides a set of largely independent tools for implementing Web and mobile applications (OCaml to JS compiler, Web server, typed HTML, etc.). Ocsigen can be used to implement, depending on your needs, either traditional Web sites (server-side), or client-side apps running in a browser, or full client-server apps, running both in a browser and as mobile apps. Ocsigen Start is a template for quickly writing such a client-server app. Ocsigen fournit un ensemble d'outils largement indépendants pour programmer des applications Web et mobiles (compilateur OCaml vers Javascript, serveur Web, HTML typé, etc.). Cela vous permet d'écrire, selon vos besoins, des sites Web traditionnels (côté serveur), des applications clientes s'exécutant dans une page Web, ou de véritables applications client-serveur, pouvant s'exécuter dans un navigateur ou comme application mobile. Ocsigen Start est un template prêt à utiliser pour ce type d'applications client-serveur. +intro_2 Ocsigen Eliom is a set of libraries for Web programming in OCaml: sessions, services, client-server communication, etc. It also contains an extension of the OCaml language to write a client-server program as a single app. Code annotations permit distinguishing between the code to be included in the server app, the code for the client app, and the code to be included in both of them. Have a look at the code of this app to learn how to generate typed HTML pages, how to call server function from client side, or how to send information to client applications (notifications). Ocsigen Eliom est un ensemble de bibliothèques pour la programmation Web en OCaml : sessions, services, communication client-serveur, etc. Il contient aussi une extension du langage OCaml permettant d'écrire des applications client-serveur. Des annotations du code permettent de distinguer le code devant être inclus dans l'application serveur, du code qui doit être inclus dans l'application cliente. Regardez le code source de cette application pour apprendre comment générer des pages HTML bien typées, comment appeler une fonction serveur depuis un programme client, ou encore comment envoyer des informations aux clients connectés (notifications). +intro_3 Read tutorials on Ocsigen's Web site for a more detailed introduction. Lisez les tutoriels du site d'Ocsigen pour une introduction plus détaillée. +links_and_forms Links and forms Liens et formulaires +links_and_forms_1 Here is an example of an {{t1}}, and an example of link towards an {{t2}}. Voici un exemple de {{t1}}, et un exemple de lien vers un {{t2}}. +links_and_static_files Links, services and static files Liens, services et fichiers statiques +log_in_to_see_demo Log in to see the demo. Connectez-vous pour voir la démonstration. +look_module_tip Look at the code to see how it is defined. Regardez le code pour voir comment c'est défini. +monday Monday Lundi +never_trust_client_pending_user_id Never trust a client sending its own user id! Ne faites jamais confiance à un client envoyant son propre ID d'utilisateur ! +no_user_create_accounts No user. Create some accounts to test. Aucun utilisateur. Créez quelques comptes pour tester. +notification Notifications Notifications +notification_got got Reçu +open_multiple_tabs_browsers Open this page in multiple tabs or browsers. Ouvrez cette page dans plusieurs onglets et fenêtres. +ot_carousel_first_example_1 This is a first example of Ocsigen Toolkit's carousel. Voici le premier exemple du carousel d'Ocsigen Toolkit. +ot_carousel_first_example_2 The carousel displays a number of blocks side-by-side (or vertically stacked). Le carousel sert à afficher des blocs côte-à-côte (ou empilés verticalement). +ot_carousel_first_example_3 To switch to a different block, use the buttons in the carousel. Pour vous rendre sur un autre bloc, utilisez les boutons dans le carousel. +ot_carousel_first_example_4 On touch screens you can also swipe with your fingers. Sur les écrans tactiles, swipez avec les doigts. +ot_carousel_second_example_1 This page demonstrates how to use Ocsigen Toolkit's carousel to display a page with several tabs. Cette page montre comment utiliser le carousel d'Ocsigen Toolkit pour afficher une page avec des onglets. +ot_carousel_second_example_2 Try to swipe on a touch screen. Sur écran tactile, glissez pour changer d'onglet. +ot_carousel_second_example_3 Try on a small screen or browser window to see how the tabs stick on top while scrolling the page. Essayez sur un petit écran pour voir comment la barre d'onglets se fixe en haut de la page quand vous faites défiler la page vers le bas. +ot_tongue_1 This is an example of page with a tongue coming from the bottom of the screen. try to slide it with your finger on a mobile screen. Ceci est un exemple de page avec une languette partant du bas de l'écran. Essayez de la faire glisser vers le haut avec le doigt sur un téléphone mobile. +pagetransition Page transitions Transition de pages +pagetransition_add_button Add Ajouter +pagetransition_back_button Go back Retourner +pagetransition_detail_page Detail Page Page de Détails +pagetransition_intro This demo illustrates smooth page transitions and the retention of a page's scroll position. To see the effects scroll a bit and click on one of the links. When you return to this page by hitting the back button the DOM of the page along with its scroll position will be restored from the cache without being charged from the server or generated on the client. Cette démo présente des changement de page animés et la mémorisation des positions de scroll. Pour voir ces effets faites défiler la page un peu vers le bas et cliquez sur un des liens de la liste. Quand vous retournerez sur cette page en appuyant sur le bouton «retour», le DOM de la page sera servi directement du cache sans être généré une nouvelle fois. La position du défilement aura été sauvegardé. +pagetransition_list_page List Page Page Liste +pgocaml Database request Requête à la base de données. +pgocaml_description_1 This page shows signed-up users fetched from the database. Cette page montre tous les utilisateurs inscrits qui ont été récupérés de la base de données. +pgocaml_description_2 Have a look at the source code to see how to make a DB request with PGOCaml. Regardez dans le code source comment réaliser une requête à la base de données en utilisant PGOcaml. +pgocaml_description_3 We are using Ot_spinner to display the list, which means that, in the case the page is generated client-side, the page will be displayed immediately with a spinner, that will be replaced by the contents when ready. The code contains a 2s sleep to demonstrate the spinner. Nous utilisons Ot_spinner pour afficher la liste : dans le cas où une page est générée côté client, cette page est affichée immédiatement avec une icône de chargement qui sera remplacée par le contenu quand il sera prêt. Pour la démonstration, nous avons ajouté une pause de 2s pour laisser le temps de voir l'icône de chargement. +pgocaml_users Users: Utilisateurs : +popup Popup Button Bouton popup +popup_click Click for a popup! Cliquez pour afficher un popup ! +popup_content Here is a button showing a simple popup window when clicked: Voici un bouton affichant une simple fenêtre popup quand vous cliquez dessus : +popup_message Popup message Message du popup +pull_to_refresh Pull to refresh Tirer pour rafraîchir +pull_to_refresh_1 This is an example of a page with refreshable content. It is a very common feature in mobile applications. You will need to view this page on your phone to see it work. Cette démo présente une page avec du contenu actualisable. C'est une fonctionnalité très présente dans les applications mobiles. Pour voir les effets de cette page, ouvrez-la dans l'application mobile. +pull_to_refresh_2 This page contains a counter that increases every time you "refresh" by pulling down the page. This feature is called "pull to refresh", but you give it your own action to be performed after the motion. Here, it updates a reactive signal after a second, but in your application, you will probably fetch data and update a more complicated signal than a number to rebuild a part of or the whole page, or do anything else you want. Cette page contient un compteur qui s'incrémente chaque fois que vous "rechargez" la page en tirant vers le bas avec votre doigt. Cette fonctionnalité s'appelle "Tirer pour rafraîchir", mais vous fournissez votre propre action à effectuer à la fin du geste. Ici, nous mettons un simple signal réactif à jour, mais dans votre application, vous récupérerez probablement des données depuis le serveur pour mettre à jour un signal plus compliqué qu'un nombre pour reconstruire toute ou une partie de la page, ou faire ce que vous voulez d'autre. +pull_to_refresh_counter You refreshed the page {{n}} times. Vous avez rafraîchi la page {{n}} fois. +reactive_programming Reactive pages Pages réactives +reactive_programming_1 This is an example of a page with reactive content. It is a very convenient solution to update pages when data changes. Ceci est un exemple d'une page avec du contenu réactif. C'est une solution extrêment simple pour mettre à jour une page quand les données changent. +reactive_programming_2 It defines a (client-side) reactive OCaml list. You can add elements in this list via the input form. The page is updated automatically when the value of the reactive list changes. Il définit une liste OCaml réactive (côté client). Vous pouvez ajouter des élements dans cette liste via le formulaire. Cette page sera automatique mise à jour quand la valeur de la liste réactive changera. +reactive_programming_3 The reactive page is generated either server-side (for example when you are using a Web browser and you reload this page) or client-side (in a mobile app or if you were already in the app before coming to this page). La page réactive est générée aussi bien du côté serveur (par exemple quand vous utilisez le navigateur web et que vous rechargez cette page) que du côté client (sur mobile ou si vous étiez déjà sur dans cette application avant de venir sur cette page). +reactive_programming_button add ajouter +rpc_button RPC button Bouton RPC +rpc_button_click_increase Click to increase server-side value Cliquez pour augmenter la valeur côté serveur. +rpc_button_description This button performs an RPC to increase a server-side value. Ce bouton réalise un appel de fonction distante (RPC) pour augmenter une valeur côté serveur. +saturday Saturday Samedi +send_message send message envoyer le message +services Services Services +services_1 Have a look at file {{f1}} to see some examples of service definitions. Most service handlers are defined in file {{f2}}. Service registration is done in {{f3}}. Have a look to see how to define a service returning an application page, an action or a redirection, etc. Read Ocsigen's tutorials and Eliom's manual for more information about services. Vous trouverez des exemples de définition de services dans le fichier {{f1}}. La plupart des handlers de services sont définis dans le fichier {{f2}}. L'enregistrement des services est fait dans le fichier {{f3}}. Jetez-y un œil pour voir comment définir une nouvelle page pour cette application, une action, une redirection, etc. Lisez les tutoriels d'Ocsigen et le manuel d'Eliom pour plus d'informations sur les services. +spinner Spinner Icône de chargement +spinner_content_ready The content is ready. Le contenu est prêt. +spinner_description_1 We use this widget to integrate into the page an HTML block that takes a long time to produce, e.g., because of a slow server call. Nous utilisons ce widget pour intégrer dans notre page HTML un bloc qui prend un long moment à produire, par exemple, à cause d'un appel serveur lent. +spinner_description_2 A spinner is displayed, which is then replaced with the actual content when this content is ready. Une icône de chargement est d'abord affichée, puis remplacée par le vrai contenu quand celui-ci est prêt. +spinner_description_3 For the demo we just sleep for 5 seconds to simulate waiting for the content. Pour la démonstration, nous avons ajouté un délai de 5 secondes pour simuler l'attente du contenu. +spinner_description_ot This is a demo of the Ocsigen Toolkit spinner widget. Ceci est la démonstration de l'icône de chargement d'Ocsigen Toolkit. +spinner_generated_client_side The spinner is generated client-side. L'icône de chargement est générée côté client. +spinner_message_replace_spinner This message has replaced the spinner. Ce message a remplacé l'icône de chargement. +static_files Static files Fichiers statiques +static_files_1 Use service {{static_dir}} (predefined in Eliom) to create links towards static files (images, fonts, etc.). Put static files you want to include in the mobile app in directory {{static}}. They will be stored locally on the mobile device. By default, links are relative on the Web app and absolute on the mobile app. For example, here is an example of an image stored locally in the mobile app: Utilisez le service {{static_dir}} (prédéfini dans Eliom) pour faire des liens vers des fichiers statiques (images, fontes, etc.). Les fichiers statiques que vous voulez inclure dans l'application mobile doivent être placés dans le répertoire {{static}}. Ils seront stockés en local sur l'appareil mobile. Par défaut les liens sont relatifs dans l'application Web et absolus dans l'application mobile. Forcez les liens relatifs pour faire des liens vers des fichiers locaux dans l'application mobile. Par exemple voici une image stockée localement dans l'application mobile : +static_files_2 and a remote image: et une image distante : +sunday Sunday Dimanche +the_module The module Le module +these_functions_called_server_or_client_side These functions can be called from either server- or client-side. Ces fonctions peuvent être appelées aussi bien côté client que côté serveur. +this_page_show_calendar This page shows Ocsigen Toolkit's date picker. Cette page montre le sélecteur de date d'Ocsigen Toolkit. +thursday Thursday Jeudi +timepicker Time picker Sélecteur d'heure +timepicker_back_to_hours Back to hours Revenir aux heures +timepicker_description This page shows the Ocsigen Toolkit's time picker. Cette page montre le sélecteur d'heure d'Ocsigen Toolkit. +tips Tips Astuces +tips1 Tips for new users and new features Astuces pour les nouveaux utilisateurs et nouvelles fonctionnalités +tips2 Module {{os_tips}} implements a way to display tips in the page to the users who haven't already seen them. Le module {{os_tips}} implémente une façon d'afficher des astuces dans la page aux utilisateurs qui ne les ont pas déjà vues. +tips3 This page contains a tip, that you will see only as connected user, until you close it. Cette page contient une astuce, que vous allez voir seulement en tant qu'utilisateur connecté, jusqu'à ce que vous la fermiez. +tips4 It is possible to reset the set of already seen tips from the {{set_page}}. Il est possible de réinitialiser l'ensemble des astuces déjà vues depuis la page {{set_page}}. +tips5 settings page page Paramètres +tongue_1 Tongue Languette +tuesday Tuesday Mardi +users Users Utilisateurs +wednesday Wednesday Mercredi +widget_feel_free Feel free to modify the generated code and use it or redistribute it as you want. Vous êtes libres de modifier le code généré et de l'utiliser ou de le redistribuer comme vous souhaitez. +widget_ot This app also contains demos for some widgets from Ocsigen Toolkit. Cette application contient également des démonstrations de quelques widgets d'Ocsigen Toolkit. +widget_see_drawer The different demos are accessible through the drawer menu. To open it click the top left button on the screen. Les différentes démonstrations sont accessibles à travers le menu. Pour l'ouvrir, cliquez sur le bouton en haut à gauche de l'écran. +you_are You are Vous êtes +you_are_not_connected You are not connected. Vous n'êtes pas connecté. +you_click_on_date You clicked on {{y}}/{{m}}/{{d}} Vous avez cliqué sur {{d}}/{{m}}/{{y}} +you_click_on_time You clicked on {{h}}:{{m}} Vous avez cliqué sur {{h}}:{{m}} +your_user_id Your user id Votre ID utilisateur diff --git a/daegsrv/assets/daegsrv_i18n.tsv b/daegsrv/assets/daegsrv_i18n.tsv new file mode 100644 index 0000000..8d18bb9 --- /dev/null +++ b/daegsrv/assets/daegsrv_i18n.tsv @@ -0,0 +1,64 @@ +welcome_text1 Welcome to Ocsigen Start. This is a template for applications based on Ocsigen (Eliom, Js_of_ocaml, etc.). Bienvenue dans Ocsigen Start ! Ceci est un template d'application écrite avec Ocsigen (Eliom, Js_of_ocaml, etc.). +welcome_text2 Use it: Utilisez-le : +welcome_text3 As a basis for your own applications. Comme point de départ pour vos propres applications ; +welcome_text4 To learn the most important concepts of client-server programming with Ocsigen. Pour apprendre les principaux concepts de la programmation client-serveur avec Ocsigen. +welcome_text5 This application contains: Cette application contient : +welcome_text6 Features for user management (log-in form, user registration, activation links, password recovery, settings page, etc.). Des fonctionnalités de gestion des utilisateurs (connexion, création d'utilisateur, liens d'activation, récupération de mot de passe, paramètres de l'utilisateur,...) ; +welcome_text7 An extensive demo of the most important features you need to implement your own app. Read the source code to learn! And remove the demo part when you're ready to start with your own app. Une démo des plus importantes fonctionnalités dont vous avez besoin pour écrire votre propre application. Lisez le code source pour apprendre ! Ensuite enlevez la partie demo quand vous êtes prêts à commencer votre propre application ; +welcome_text8 A library with useful features (tips, notifications, etc.). Une bibliothèque avec de nombeuses fonctionnalités utiles (tips, notifications, etc.) ; +welcome_text9 All the features you need to create a multilingual app. Tous les outils pour créer une application multilingue ; +welcome_text10 A basic responsive CSS. Une feuille de style "responsive" basique. +welcome_text11 This application is multi-platform: it can run as a client-server Web application (with server-side generated pages) and as a mobile app (with client-side generated pages) for Android, iOS or Windows. Have a look at the README file to learn how to generate the mobile apps, which you will be able to upload on Google Play or Apple App Store. Cette application est multi-plateforme : elle peut tourner comme application Web client-serveur (avec des pages générées côté serveur) ou bien comme application mobile pour iOS, Android ou Windows (avec des pages générées côté client). Regardez le fichier README pour apprendre comment générer les applications mobiles que vous pourrez envoyer sur Google Play ou Apple App Store. +about_handler_template This template provides a skeleton for an Ocsigen application. Ce template fournit une base pour une application Ocsigen. +about_handler_license Feel free to modify the generated code and use it or redistribute it in any way you want. Vous êtes libres de modifier le code généré et de l'utiliser ou le redistribuer comme vous le souhaitez. +footer_generated This application has been generated using the Cette application a été générée en utilisant le template d' +footer_eliom_distillery template for Eliom-distillery and uses the avec Eliom-distillery et utilise les technologies +footer_technology technology. . +home {{{capitalize?H||h}}}ome {{{capitalize?H||h}}}ome +about {{{capitalize?A||a}}}bout {{{capitalize?À||à}}} propos +demo Demo Démo +password {{{capitalize?P||p}}}assword {{{capitalize?M||m}}}ot de passe +retype_password retype your password retapez votre mot de passe +your_email {{{capitalize?Y||y}}}our email {{{capitalize?V||v}}}otre e-mail +your_password {{{capitalize?Y||y}}}our password {{{capitalize?V||v}}}otre mot de passe +keep_logged_in keep me logged in rester connecté +sign_in {{{capitalize?S||s}}}ign in {{{capitalize?S||s}}}e connecter +forgot_your_password_q {{{capitalize?F||f}}}orgot your password? {{{capitalize?M||m}}}ot de passe oublié ? +sign_up {{{capitalize?S||s}}}ign up {{{capitalize?S||s}}}'enregistrer +logout {{{capitalize?L||l}}}ogout {{{capitalize?S||s}}}e déconnecter +set_as_main_email {{{capitalize?S||s}}}et as main email {{{capitalize?D||d}}}éfinir comme e-mail principal +validated {{{capitalize?V||v}}}alidated {{{capitalize?V||v}}}alidé{{{f?e||}}} +waiting_confirmation {{{capitalize?W||w}}}aiting for confirmation {{{capitalize?E||e}}}n attente de confirmation +main_email {{{capitalize?M||m}}}ain email {{{capitalize?E||e}}}-mail principal +change_password {{{capitalize?C||c}}}hange your password: {{{capitalize?C||c}}}hanger votre mot de passe : +link_new_email Link a new email to your account: Ajouter une adresse e-mail à votre compte : +currently_registered_emails Currently registered emails: E-mails actuellement enregistrés : +settings {{{capitalize?S||s}}}ettings {{{capitalize?P||p}}}aramètres +error {{{capitalize?E||e}}}rror {{{capitalize?E||e}}}rreur +passwords_do_not_match Passwords do not match Les mots de passe ne correspondent pas +generate_action_link_key_subject_email creation création +sign_up_email_msg Welcome!\r\nTo confirm your email address, please click on this link: Bienvenue !\r\nPour confirmer votre adresse e-mail, cliquer sur ce lien : +email_already_exists Email already exists Cet e-mail existe déjà +user_does_not_exist user does not exist Cet utilisateur n'existe pas +account_not_activated Account not activated Ce compte n'est pas activé +wrong_password Wrong password Mauvais mot de passe +no_such_user No such user Cet utilisateur n'existe pas +add_email_msg Welcome!\r\nTo confirm your email address, please click on this link: Bienvenue !\r\nPour confirmer votre adresse e-mail, cliquez sur ce lien : +invalid_action_key Invalid action key, please ask for a new one. Clef d'action invalide. Demandez en une nouvelle svp. +forgot_pwd_email_msg Hi,\r\nTo set a new password, please click on this link: Bonjour,\r\nPour mettre à jour votre mot de passe, cliquez sur ce lien : +must_be_connected_to_see_page You must be connected to see this page. Vous devez être connecté pour voir cette page. +email_address Email address Adresse e-mail +your_first_name Your first name Votre prénom +your_last_name Your last name Votre nom +submit {{{capitalize?S||s}}}ubmit {{{capitalize?E||e}}}nvoyer +see_help_again_from_beginning See help again from beginning Revoir l'aide depuis le début +personal_information_not_set Your personal information has not been set yet. Vous n'avez pas encore entré vos données personnelles. +take_time_enter_name_password Please take time to enter your name and to set a password. Veuillez entrer votre nom et choisir un mot de passe svp. +wrong_data_fix Wrong data. Please fix. Données incorrectes. Veuillez corriger. +send {{{capitalize?S||s}}}end {{{capitalize?E||e}}}nvoyer +recover_password {{{capitalize?R||r}}}ecover password {{{capitalize?R||r}}}écupérer le mot de passe. +welcome {{{capitalize?W||w}}}elcome! {{{capitalize?B||b}}}ienvenue ! +log_in_to_see_page {{{capitalize?L||l}}}og in to see this page. {{{capitalize?C||c}}}onnectez-vous pour voir cette page. +change_profile_picture Change profile picture Changer votre photo de profil. +change_language Change language Changer la langue +disconnect_all Logout on all my devices Me déconnecter sur tous mes appareils diff --git a/daegsrv/assets/images/icon.png b/daegsrv/assets/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7fefaa6f3995fb262935a104642be5e66bf121c8 GIT binary patch literal 118327 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 z z#L4`jtz*)wbP4g8H(6fBGPP(~5zX(W{WYk@XSMuDAIOWkBdOTab+ zXmTOGefQ3K%0PCFntL7c<7xIkD*R1b!dkoP3>G3j5a`D`>t6x5YoLn=%|TfJ&64&U zKa0~m05gG68#bERphiN<#;OV}Jzh$qK{3AvmZR0T}v$hWfpie^q0HvU> z=Lf$02rNCmukZq6sULR?SGfF5mu!VM+^{_d{@MHNGY$BjYLRMmL-UF~uzrR>G-w_` zL6TiDjDTv?JPJpliX_#h&#@c;X$QHaY&9<~)33Kn**=uE?H!`-zcBRRV7_u@ zK!x1T!9p&BDFv1_nzU~{*)3E#2QJ3ISU)8C006F%MH=Aagx5O%!bWyd zAPplJZIG2g5~@;e>bO0ABKWa&2tQ2*fPZxETkWHBFnN3)#!s9A|M&vzJ-h(#^<(&x zm*)P%>DbxV?QZ|<_O`#wRpQ?Z-3Y!SjDQPAYr^ACx&t?vAXDmAifX5@WpAP^>?(BooeT+vqZs~Z1j6_(LP zz-Yr8FmI6+4x|gh1v=GBM5MSe*eA({_}x;4Bt)Clty2FUaTv$|f(l-F5rpLH_j#o= z#Rgy(`hh=`+(+Euy_cPanz~n=hJv+zUp4nJ*U9_E0gT=NRj$Wdw$(H62NHkhHV^~s zS4kjP=yEFNeZBo6(2p#T&w2B4=Cwyw>0zw%tw@6+oO@{=012%cz@Lr9$>*72p=G`4 zcum_Uf9+`Z<8xg;vJT^?!2swSIQCl$hmOykJahu)4$s2Uky-fLrw-43cJJZ$MIXN4 zTc=}Z$C}>UTX&Cq5LC85-f%DVBKWPB7GQ$_iwndPfGj{u9oX)X23#=Nbb>y&6sYX@ zJwRUG)YZSe6Lr0Ren79N_snM<6o< zXsczrt+G=fDCSmD*UEDOm=mmH*|a6=O~3};A}jqtHKCy@+j9AJ)LYH@d^{gtC}X$E zgn!&v&j&h=Dsg{Sp=zM2U=SOi{jtxy!cc?F3e-KXv=X7(&6m#~p!@r_?TsuEFfNk& zO|Bqz{ClPs6@q?L@jj-leVyF}X@ejDC;d+~0qBhtk;FiqXBBYDDsX51l}r#+#)3{3 z)S4}KAL{Ih8b}9#|JfawQTC^2dZ)kl^06Pj|IqT@gWYJejP+xAoJwN(Z~ITd zsIY`TuyqVJjWrC=w;#C}vKEzw&qzwt(uN+y8jU%P`}34lh!o%(aV(zq{%s*5+9as7 zr7tSKakB*|UH;y`eE{P5rR?{qY;iWKv>J7(^Y4*C2a^IX+%gH*U%mx4D7C-LLpRTd z_WV-=fU&HFC#cf4bpKga-%G?799@+2lB;U_7+#1gxGlrd-zmctCLsr3icAe+QLr_> z+lvzcc}ba_bL3{#lL`kmP%6^(s{#I1_sL@wIwj_oH)}Jwb${wt?D!WcPggI%EcUSM zmT@HyB2$DN1hFyzKbUAT_>oNw_^(HLrG~>L4IjR;7{F#R?qSE%Xo$Ov#_K&RT;S`m zk|h*9Y9s1)!hx#3@=2Ymts8)K{kj?`1NlS~z^50HFeF*tQ}T(Ffsd2d#9_d5&)}(r z@cMlxqfL7z{iEw}zJ?6I*))wdyxEUkJ@LU2mdITq$?uc0za=q(M~zx4!yAEHTi*sy z+Y+yNS@%JkdQU?EjFHAZw01Si35ZDOAcA}hKjdJ<_{%)~6XF4PRSZ1&z_SoNvme~4 zeR_mSGW_jnr0&C;Z@v(A3!};9Wu;!c27fOx1SIt=_Gej~?@l*_krRkjPtx)Anb2a1g$Hmq$lH24pCKG-Vj1;pH} z>#s7`JeCV(Fc&)rs=<%~H`e!f$&<~wGZbf6jNtUfE%g%a2PEhpK+qQ-k9#l>_-BcC zmR>;N^2uvJyz$IX;Au#Mu2XySJ#HrdnYjQo*%8u;f*vS=H%^)nsn;-d#5g>BsPoQs zC_j%30GzJc-umZHTs;22Hn4T4N=B>6umFdd(FSZAZ|3S(W3WnaxPgr+$mur2K1(zN zG%X*Kc9xMr-@CK_snL+e_BjE4AT2K`o$sLci&_NZ-$#$k!-2cLmGfp?7dKYf|I|#l z?S>0s&-QU>HvF8V8?&?8)p^2%pk6PQa?BylQIfP1V1~OGkh*G6()I7u2uKGxW_tUq zWYAfO08mw~J^>A$RtR|B3bs=L+zk4D$V1E4%b{xFL{*i&a_YbTHU>%hTP^S}(_*Mh zi>gona~J{?&XdrWXMl5J5NL@o4fMP`H-UgYvHj2NJ>#ko%W z!|eZQzyATdK;K32=jeT2kQ_*ifQW<#w2nZ;^Wg!yA6o9X2c+>4H^qV?Qgxt(g?g%= zzJj(}2n_+Nn{iYc7r)n&x9nce=_j6yor*N3JFYr<~ zFhK582TjumQQE|;62c&Rm<8QBo47wQ3H&PvQloK|M?!A`ey^3;;OlG!-xe@Q6`r$ zQh8?Cz2h6sSXH9~*3HXp13W?&OStSrq5g|_05OI0X3;|C?hn`-FUj6Ke zaN|0hpJxUDPCs|+<`3U8(fnppwF$m(Lld@7G>rklD{xIxMK;JhRoVQ*0}1{O4gNf{ zZX;5wN=1WWB6N`@0-7NJ{oq89HM!7nE|>Rjd-`cEf|^k(_@RG#6gnjCpL@17v*8#Q zMruC1>D3p)){P^E{I2OaneA@z6@fpBxG809G(1XjB_yRD@?6rN0nZhX!}EqH2OQdQ z&z1^g!zpf537p=E4Rjp5k9*CAI3L3-!v?%oj8*jLOO~23Lb0vSOLmyaj!IAobkqbad{Aj5kOS>Bu zmj*J*qQ>TOI?Qn2(e5YL;ru)_0C2i;d+VuR`>rjoyLqw&JB9aO*Q#`q6;Sbf6(W#v zef78e&PzbQraXQG{kDhRF;j^ql(NrcISuf)n1RIW&w5^KYdXwP{HCx^kudUskj!mP|+o|U1F-7wigMWTNN*}pRIXRCM~N{_YRHsK}VjTH}$4DvG84mLot z0G^lYgW+O1Y?h$t_^}e8LDT_n+FXOTj`;AMZq%3Ff3g?J=; z9r3;>&Q8P5ppsw05>+S189Pnq0^Ip6RZhb|?Ray?!-l5*t9-{Cz|03w9v&qA?`9a7 z8>q<#4V5u!`!0O;weoing)^9II#pp4kJg|y(z31hZt5PqW4nkEHTA`dT8z4X)C?OK;Dj2EvtIs;Hl^^EmGQw7{ zeV6xJ1pXe&yw55|)k@A4wWBdZXY$<0@S!K}h1f_6OVHp=_zCpPC8|sNiKO){EsN+21lNr5zwcLal$j8NuMgR`x)a#etdrZKen{0q- zBxJ^dPX5zj0B%^c%rF?r68|)|v{X4_w;RCWFF&Zfe%m7NqXB?j0Bb(H_J-Y(1=*r9 z|EqhK$&UG2_O}4gs7R1brqYRluCaylqCd!X2Oh}R9`;b?7w;Dg3wUezBn_fw*RN<| zRbu}G>@Qp4G0|o1lF%wme@qU(&s?w$FP9XX-#3{H;3Xx2W%Pa#3qV-~Uon~@5MZ(<^=E) z(8t$Fu?#Mc&q=5#e+~R0r?Gqz)2Ct-V8*35$r*?UTM%;H{f`;i0nTzl$J|j&!V3>S z58=XcHmD4UjW=Go6B>0t$^0kDORNBcvyO*6O$4f8LY!xp_F3aB(o4di!r8$R=9~{s z6XN7liaowu~`cVZV z+Xh~{F%f;$MnF&frWa?WfGOAm6%NYi{2omdBng8wT!62gG<1;seLUhb_q@>Ax(@5- znE~+BZ20e%BVN~_tm{xQ_TQGE@4-|vnGx_Y#*Yku6#3z_u|8z@M$!Iky{dRc10uzxxa&8SZpBbVx?)UaAQ&*<$dK>3R(PDyRQV6U5EIH&0yE=4j`xaTc<5;7=5<&<&kTU)=cA7zc!v=v z4_+nj5irM_B#5)d5&>CG8w@%FHH=Lr09*csgzk!I9ADpr-x`0Gs_Z#K45J*3idS zOs+)noQBv=(r2BgYKPf6v$D!+V(n)xiajWf;{b*k+?o+6k`Q30;mFpi?!Ss5GRQeK zsP>XIm9ZYIU;~4c1+u>DVZ<14uN4^pub^6#Fe}wLxpEefb^@uE>K4)6%GQT0I24eTfa$;?TNYI zd)8sS`gG1G0e0N5P^9Zi3X2My_efS2~qLjC!J0}Z%T1Zbk&fXgo2BxQTI&5V=}<4V0xpSdJ~ zGHJfS)K12Vo|j5_EZc8ixj$Szs43vPz+YbvTEUQR+w>X+0<6_{_XqxkGz5a={A*E{ zZp2T^UbsM%oh8pJbBXCFLy@n>d09bU2$GGlsl_dQ^(k{3c$7wh) z?eIxnV@?wPNU|X5EtHO1s6&C_0la_k?<=P3aAnhnCv-_5FQ)8qh0lrQt`^Hb-i`W# zeqWEk8k=0+B;NZvl;MHhHIQdXf9b*NW7g~kOZUf934p%qqQ*SE+&V$Z>f0$dHT75!1mOg%s^%Yfb#IE_6cPLw1JW=n|bs-!YEJ{AOcgD1wp@K54@i{~AWsqsI-Goaonvw5krrIS2 zK6iBI(=0&p8Y^`WPq$l>)di*yO-}X9U;u0u#%ha7wy&-KRY9Dyzy-$ZyQ~hVtp;>7 zM2D$zSPQ^jNr<4zx-{rhFc>Czu-|r8>r%Uz6c-DiO9S=tNk0)Z0^*!^@ACHT?d4us z!UE`g8hm{pBdpC*#z z69EI_D5>6 zNFEyT#LY~#q>g{tfSXd49Gr7(Ba;e7}DP<;18{={*Xvi>TXq8@*q#k0z-0>#)Mr+a|%# zF!~^n_oi{doxq=ZE8beU?Ch+&kGm>Ffd5IAK_4mKwLOwyy#K0a*C)-VG-I|FB*)-_ z(X8P32kRiMi*ItNDe2)?y#Ue z)RpV&{kuK({JrX~K}bKP_qm}7=%(-Mo)1wJm8^MC)+m3<) zjkHBL7l#8=x4-N+#`+6xKb^D(R;-_nb3O^{rJ(?8pCb|`pcj@dM@x!rU*VZvyj}_L zN@oC`Jr#XWEAfRok&h(*(PY0|DIl3Ou%~Q5oUs5J)Vne9`bl$&fYh=Ev z7^Ot%ds0fmO_Zb-yRN?nZVp}%Y0Ini{0*@lbt7`3=bw51rq`cRYE%%2o8Epz`iAPy zP`(poJQp6=D=(1kJut^$Yk!9M1Q%|bf<`0Z54Ji=|D>v)7*L`p5BjMmgXe&_N?QM4 z`ak+TBL;;7b_M|k)DZ}xRe}3c0PR}{x8Px} zL;Ney0C?nBaBD~gB#+#zEPbAM?zwXHeqOy5tAH=WBM_@kmL-R_^&1GpQW?}h6qsm!Xu`^FrELZBml0YKfo}*V{34=S9+(pGWqS5 zW0)}`u!gBP=7`i^@*Wb zBfq722sOfL>YsXKT-64Kr;P#e|NiCZQt{El>k!|E$vPKzdhe<57Xu=-8<6b$P-Xjv zisBFHOtbh&m;l#>G=EQP0YDZ82xJHV(!{}lTU7*Ls!`EAfF1`Uxi1MLFa`Wz)VFGe zU`Cj<&xr##_284`gHNAEK)a_mz=pA=eB?%2b!aw9NR{k#4l1AsO1?#Cm4dhOqr`Ds#l)z#GV)C~RJ^4V|2rD%~I=1WNLZ-&$!(n{gI=sIE z4SptuGZeX0N+(4CcjA4Lam2dI3@58A$0qkat!N;c?@FypFl|kR05d61_ z^&ATM>VUrEd(Ud?tjA>pb52sWC_A9X8$41^?T4qGDFXiX`CW+OSFhj8{iky-1aP1m z|76I)neA_9_Xi~Nzf0zx_4|O<_$%FjZfr^k2bLUg5ObpxP-piC>c$O#R0@y>Fjc;? zssv`l!}p9hh$9Ofm_B$s_Yk?-{uZ?YzGC-G`W~tOGWy@10;M>ASd93MX_E-6b!PG~W;eThPri+fB*3i1geC#Twnjft zxnOR5)+1g&O-2cNx_$=QN{`HMO#hAl}b&T`f5n;# zL07)9nGDWhK8S1UBf%@k0C?zRczeLhEq0~=+GANG9@l+oYgXGp9RclQomtbN)xI)| z_3L%g@mT*( zdMFJX#*v$K81k`dis!PUgobbxAKci0-#OG7jKQ#uX;~czHV!(hlMGe?^o{eS7=svS z`F8db%?K2&iGeMAmc=3Ixc=?s@LE_e1$^Zg07rxPlaWJZO2><6jLCC&{RX&^(Zcrh zHA6tVSLx*=%j1v0^!h3AkBA-Gtz2EK#x-ox^=`FAvsB3H7RZbpT?`;sX zLEiv>$OM1D0)5H^An5O?d$O|NiB1IH?nF65M6Vk)xu5K1dv)UR=V7INEcfi%n0f!> ztyR4S8pr`M1vHuEOw`G6Op@nOTS#kE$GtvP@b1ncP^R(`Y)DWq{cR-{VDK~K0!?@6 zf4Q;%8VIytfDf?kBEtabe^i6i;y{;U7(jULN5j~?uLC6W^>{46AK;Q^4W1!70V@Ul z9Psx$zdSPv=>5Y9IbqAc>ut@3@tefUXV*uBSAYSqcOkk)C(UKvJR&n`1zM5>c$O50XqNbVdP^!0BdVsK>NG2!ilr1%dA zAb+CMAN2KvwEte^`RnCt&m3IwIl6SU=>PTUyfH3T1t^C!I#%5PB0I9ub@M9Tsq<{| zLiJH3%EAhsJ^ipBW6+7reS0-l1MFW~5$M|=Bluq=jDY95k#qUg0{#5Gk!c0+g5~sS z*CM5yjJqM{KPg`R_4;UVjvD}Xd~FV|@AtdDqitqshd*7KVq}aG10u3PnwNvVUN64i z;(IV%XYlB<@b;HY;4c*U(IAbUe>d;vcbl!^JTwZ-i2*LPl6^wx4z(2|KcU8>r)By0r>SA-X4#uELE`a{78^zGBd9b8t z|E*&+xLknslP*!83bp!0TYIh>!uGl^69X|R+T-qVZY7{^EXyt6FJPfC@1kDwVN9HZ zDY1VoLJ0@)Isx#CFaT-{E(ti~JZw5Z$rh5#WC%3y`VNoWruOOgv8C3hseT0hDX}vc z*MB*z4*Gh(FK@cR|Iq9L%q&*O-YpqtXWC8S@i)`)Z~ScZ{?Cw6v6i0ZYIwrKPsKL` zTdi|t^@KQEZ-X);pz8VHt_#`+8@a>NFIwJHc>wVs*h^Ue?mlyMkEM-_@b%pr8}J)C z46p*w&y7>P2sVf@5Vv=XkAt}kz!W)rwpGMpP!gwRFOy$qz;pYqh3%o~IlFg66 z|6(v0=;MUl{dO04{y2?4yK?$}_qJ(sonx;&`hRT!mXwK|<>W`zgu1iM&U0NqyQaJB z`u02SoDm>VgjMq1i-5lh_?u`(veg}eS&W1UT*gBc7QhY**q-jC6Lsu{vnrrZ0Uk%M zIg|_+2Ec_4A6{^<475KYUj@(y1^V*ZitSFc8!#_Ge|9;@{l=p#u6muU`4i%0b{*=^ zVFREW^N;D4v~fWXYqRE_XOx@;_%`SVeZc#wmJiPg;C@6={Vw2l{Z3C)*t4BMTI%PT z7G5|6(L##- zfT9W>yZ-xP;jzz&6(H~r3i^85Bi3<5JcP3)ojOh|c3^sOdBx{x`<8LzsTv(Q9hY`J zQQ(zk7&xzJCG2EU#ceh3oU&YifsB9xaIdnD{l2qT>#3-W%lpR{pE44T1V0zhm$Crr zwIu+5nGB9UFx`OPJJMO*T73)5U+9L=#*l#6_PiM9RvYv|dHthxA5Jaz`d&{)PO9Gj zUc9abcupGt;zC|q2Kw5%kJB1{celN$AZf)0a+K%Y*wQuxRsqPuIM?1(r4ZdvUgz+8vb-1_DaJ5gBSq-tB?dZ#P_ah zfb<(o1SBH~1#&0&JL3PGuxWZ3tp%XJyKZ9x;BaTvK|f_H)Mp(5{J51pts1;Q>Jeoq zU`Wu{%QhM{2*L;!l@0+F{ecpuflj@cUn5@bS|6m`(^=mPNZi-&(EXlc;8`Ob)e$P8 z__@&oTYnxnn(oA4_RH1{DsaB6>B;XA{9VffS-xn(EPrGos(?REb1xn)8AQnA>v($f zXM1*7^nZKp>3@Ej7`9=y!%q|a$Jgvw_=>hywjCF^@_ySHq9G4o!7^pF^n)xz!K$ne zPL*Y#1f0tTRXbkq=_k7Y@S&2ni&5&WlX9&8eh5AI}^^N`QrXQa`P4f@Oie>r%k%kmWT?d`jb8@|p@p6dpH z0R7ts0e#wS4_JTD$G=g%@2Zvuk9T93i+SntMbnNtgUvN2WBp4Nb51+G5T*{FfR)~+ z8>dE$zjO8feDy%=jHBopY>@M{*rzjlX8jf1Qf$b>;k?>LIWGp`)ixCRf&HMr>j(Z? z6o`YXQ>MN)o)hHz(f_;;YtX8B#x~zQ(O5Omr@)(I1r$J^2qHMzi{OG*O@=xK1${j= z>pldSTM)%Vfxez4e#Cq|8Q@$s0N(P|lQjYQw+sUMIR>Br^!2<0yYY$9@{vwFFz9RG z-!10-Vq=9Jvvb4pjtwrVm)0n_eh@KaQQ-_9}pW&eB_-3a7I=2jC;yS~vaW z;Vvu{#qUX=&l&6Qqsn(h(}U-GT&zFNE#GfKs=q64xEF)r@37Y4;j2@)k{;c?aYOo0 z={;$jX#?O4*&OT@v5{(%6(IHh^F1ullW}kP9aaOB#r203=<&ox+BF|qEMuCMqO3LhLMMPw{QZ*f z;Oo98LlLt*N68?K>5KI>#In1ZzSJA2u>_iQ!=q)DUl0?}uVPJ#b3L^V^XI4m@TUhm z+mW8fu2h{kX`ky#<{Jd`_2;i@`S55b8VK}};-5ef46(tdd&6l2HQ;b({AFsombHPxckKjEbz#el8 zu<;qn4rACd79RQ{&c^RKxHQ_ZlPFd}O{=72Gz2)935#;uK_nBGpPTEX<7Auza|V7R zQ~N_qh=j3WZPZ7220R|ZIlNl@iU#lAY9T3w_m-EYI*DtoR z{aVGHEd<}QMh$Rnra=y2=$d`r-ym^$_pHzLa;=jOdF_W~2|UtU#5M?gR_^_mCI2O# zbEgsDYAAH;OiLO7RaE&Vnl+gZgN^zcK#-x6={hDku5}Y&`|w+%*8i1N2FHGaQc+7C=wi1UR=C zld*mT=o1m|TjDn@?!Rw$+}=Bu@6CvH;&NTFJl629Cg{_x&Yf6 z`&9s(E+L-ND)_S|`+ue@``ml58v9kL)DFtq@hJX$Yj0zB6BqBdmDSmlvg>lg#G675+Q>&gpTP+Nm>o9)~8UU}k>twqK z$n|GQ{M`ioJ@o{7Cu_|3ye&Q+l^WI@HW7@RRf&6t!X$ftf3UL55w8UF=`v$SW~D^2 zXY-W2`anEd^QHd3$pD;Xd7Z0*q$^)Z^*-@zxb;^2>8jS@r+EMj*nszJzk2-DW>>1j z@CS+W53(z3;RN=h{gJNL3U#goQ2ai$dJWjdLQ(RcGeAEDPXV>h@=TRtowqTTlak!)Guh0Q-0lRR?`2e~6F)SPpwhIibfQ zSf9>413+B09X9Cai~+}IX>6WYgxd38Ny6SBz#o@>pX|fp;S(^{Z>0`{fPOSHK9c*% z*(w2i#$4<(>dI#WxC`Joxt?s54q+vE04qIRHVYt4lZx~`Jx3H^46nH)&d*Nc6@@}u!I0>>6X-zTD^DeRsa6KJ@ekV=jOdPPu{$_z4!iFy8i6WdhdTPU+#IobG~!V zcUIv?Um7UT-;`dy5Q_tSdIG9I-#0}PtoPa>uqc8v-InS#FrIQh=({&BwF-5kC3gw~ z7QoST=NSMJ^zW|=`eliHhYkKg3F!NP-vafu?HLB2tfzPC*vg>+Wm6!yS+Vc>32|j1 zi2Tvz);mik+94j_qR(&9`f6qP*X$73bbrgT{;Sji58Du!OSFi*aYcVzFW#p&Q04v8 zZQv^=>#azy8olcs=@6k*?=?q5e^H&cKDmbym;ICCQxh( z(|@y6tO%zQt>8!s_zqivrv-hV1E#Nc=*fPN%YhrssW7-hDA6MWzy;Q? zfEj`RFu@-msIX*oFY7{Os`Hn3`pvTpGNXxR056+tAZ~^MSX&o>>B^2~>#qu%R5B(N%tlkduM7NMBgB)uCp^@@>(OVu{bKKb zS$gVH2W>eAMrcWXf2I>2B>~={48UVeL7z^j&iCY)FJ@oJjT{#6 zvjHmy{me<6H0PwH@K1QG}u-Dm_I_ngfeP{uhfP!B7cgby+#~0%1pk5j=sHir2dEPe zF=SXcoals0M=*bf833>SAz~VE(7b2mI!t+}ql-Apivb zu<5btfu)0`F3x_gEVt(ei<+QXy4V~$aci{zvcfBD*6lmrHc{@YlLxRUgP@KgUmX?z zNOaF0n9h3o?{x`!7#rW82qNB_ zH5ewG+wdfQ^w4S>U~4ot=z9fv8iGEZuzr6ks+UUx`zg(bEr|Ez&V((YDx!Mr0KRsu z1IOg~L9K<&Q4FtJ4o)1w{2gWhNbsN8YMTfAY%!?BPAzMP&kFx9Rwt~X}ea}g%59Y~1WR@3xc7n#q z1W|~>=es4(aa#_s%V7ZP-IfX~pkCZcm%*zx*o7mQzw-=$#tj@+Ui6g-njiN*|$ZA`ji<0J{+kV%4up8)RGG>@cgsMd@Pp`hzV`zA@5Ig-vCGT zk0u6E@84{5y&b@guBkt@(#qr`RK@h0g1#5{MIjedy)K_1nwCwZ-4sm(7RO-I2{slt z)i1iEr`uH|;p>|I0A+y(q8jwgTm}502l!p^cb5wskKcfQY|C^2magw;{r~wqkxr*I zhhWR$ltqdLBdD06WUbzM7jG}jznp07feO)VFLEBHsE$?FJ+4|{T3a`t6`qSG8l1E( zZ=K(X8gr9#QPviiE*~&I_=k*T;{Kd~KNj+=VYktk!+{mWVIHv{$T0%AKJyE7`rYaR zx4mv5Fu3h?!GE$$8{wQ6U(jwi6QUAn=R&$~Owe&kn?8arXWIWJ3F6oks4oXuEEU|v zW<~OEoKfC*67kUy%-?woK%?nPdI3CMK>f!JdB2&we)_ow^v!3uTzD|_3>4)x+&=H9 z)6Vbd+%mv(iUHj+HUK>v#ttPB@OGOPlbBfTUDq*oSjiXV=@Z3FKpmE$iV;|(+t;Ke za3MjgFY-8Zw#$2np~TBL%^Jg#8SrNtxq7R|*`+*Ml+ZAHn>cX8^pT?t&Qi zcfmiNu^g@z_=_y9ALI;t_@;$pi3(0h(3=&}6`}^F2#KU{wR4CfC|0=;Jdy8c86#d9ww}RfR6*Vz!Em zhC-Gq1!$!E(SF~b#(9kZ@M{9NiGQ^B0M5M@%lsXS+XM71pyL$ra?p1-r)&QMb51yx zU~`Bf0CcU!^6%{lQ{y(ipT@0^AHn>cX8@dU`h$4R8u(K17kLk#N&ve?KuA>l+}};M z_MvB1>!|-#ssZZKp`0#u*|8sT=Kjqs1)QZ>PqRe8nU1wq9zgSQz@mMf$-8$4S2)C5 zhHR|N2*?=}qP&goEXIIqScn;ZKP&Jj;{>y)pA-7g+gfdh(2rtJt?hH*Urqg+=Y>PQ zC9tnW@GS>@x-t|23gigKc_HXq`acXYn^9fRwjQ6y*xLZ**93>Y1bk#cM=TwjH#)&f zM=*cq8347WH*}HupTF6Y7yJu=9|-Wf3_wWk+Q9QW{H&|{YrCF*jtR&;Wgeh!uKqed zvNuGB#a03=2&5V&0v;yqzKG+W#S^bg=Bud>P#O+kWy|O=0MxJJpS6_nuv@}c$^{oF z0V=Pbp^#6UrS%KI-+KQ5x$uB%7`TRp8GnL`<^?we^xa8L1O%)958bI zS}Hiiu``b4*vk?jHKzLr;Akwpr}b_JmK2l1l$`Kp6v6dDG&zF#JIDZd^?%&y)baGs z%A3S?{#)?m^XOe_KPWIFihv)dD?0E5&Jr6XHYahzKQat&5^Sdzdq z@7PTb1Ju_9z%VFH6IrC1U$y+Nf1^!g6%NA?xaq*}f-o`h)%$ z4%GO{ENgIXr8PK$`8$gNSS|v6I-Qaa(A8*u10XB`e?#w=fq&>@0zBZ42{~*Md7iUo zVn9{k)|eEyRi3%8DbP(y1YB4iK-rHDB@Ez<&n4%YFTjSW0%118J=P>7Ku_zU!UKl| z`enfH9v^}~cI?9he+ue#z+XVVaS(^%hC!4CpkvCcpih^p3;N8rOs@?bb^AwCxOn3r z>0zQ90Qp+0tAs!59C4w>S-Z+O*{W&+WV!^(-+cR*ZEPLE{GDY06oS5)UfBuYv*UQ~ zr`V&dDs0iZUt=+yiXMkz}R4`7b-wTP~Kg{(o1%8psDaqVz`^JSg-eP39h4l4kMbiY-HxW)&;Y2D%r_SEKgF&<5B^;U{!kzMeZbGnoMQl*`Rk&>z*>0#H4^XU3$$zKQ?{letjPC*e$%?E#rt29`Pi(-;C1>z5ag zc24EedEsFILCmwBJ~_#0j|F|tkQ;!R&VV8_M*rav#NVL|K+*KZZUCQd(&f){6VsT! zZ}L+74Z+{E4W=Hy=#L0!XTd-7x5qA+ua$j*ATPtR_`>~NOddelIao{>VD8;2DG4k? z=~lPKqjivZ0<)6KB^Mb!G?(d`itqy?AH7Zc<6Isx=jZT>c zS-lJ^Py)28Fs+a!_+yMeoJI=x4fu1iJqkeWgAwpfD-ZmRF_P>XQ~P8X2&y1xeiIxu z0=gp&fG;ic{%^#h5$IFk&mXX`^u9Z2R)K%$VG<|;AK|mk613^o1#dOirK=^ck4Yh{_*$;t1kjMhrmC`>z4|`M7@iqtHQ5FZk=l zDflZE0n*%ofEWm&rn$n*dYF1Yy0%jY^qggx0H487XTm&y`ti;MAl{;|U6S=0br_xm~tdrb_3y6boA?U?~R@b_mB zZtLGUz`rQ&A90as8+;YLag4>2@;zW#FS`!tg9r5Oa?2fPN#I9epGKgs_n|eOLWE%h z2lTPS-%_^)-7xTjK4g^wbsOfZM-X2=-7z@;Huhigu<|+JCSacBHA)*#-y{lB`agiY z(LjNpepkGA*;2rKXFz7#U;2y(It_+XSYPeTKl;~<&(eYQ<|P7F?npilU=ihjHNTr_ zeRH0osxmq6#)zsh6kO+71%o`B$$>h{Y_)=#VEK=m%KFxjkeJ&Z3>YcF^Z>v4Y9a>| zo}=mK1AmtVaEHr_2T2@0lpxJbGM;c^`j7?v-1YPn zVu40kohpGcHNxZ`uDFZEY{tN0Fe61Dy5R3+aSR9wSI>V=&)@UejuuKYngCWI7r`H6 z?MhisGy;9&d}Kggg14`Nn?PK zI4dXXonZ4H-2g}#4{|+93V0H!G5g_@y|=COT5sDN#j0}bmmlAIpR@q}`BcCszwb-e zkE#UWb`Aj$`Uo5TJVP@7ee`}kvd{&8p}|*VJbj!E_-Bm*0{$%fJ_G*vx#kwtI^}wH z`s0k}?kj+*BJWF&N{_yAVUC2DZ*JA$?N5_EBZ zDx&u(5o*RRR4g^Br7F)!9=HPk$<%^=O5GD$UN|j%0d0@~mb)!%*$W4wskBFU=IV#i zP{DOaav4sZU$Z~f7}47qsqTLg{JDT$uMJH8_UbT(L4?dg04G;k?`(&`$A=vFk9}hA z`~LY~?Y%6z;l8{K0CMB4$@}y5y#W5!MhD)y+EVkEECujTCulIV_zp5%KAXJ{8Nja# z{uvfPzmEy1<7Xo+a$!CFs!9O2bBj|6P_%5{5d&(P2zc1#QnPGp<~#u58MGVjgAj*z zj@)FxvU5~77eF-3s&8Tl)LmcQDhW{twz)j@#t1DIG}o~(4EX1@_*q`7UoSI^M8@mq z3j}|BzuF4)=Siqx9En^BARAACNsk#z^@Q`h7=Sf^Z$RIq6&l(T9$%Ov zPe==gIjayF@-k$Lq)r_07x~1-B7@ESytuJXeem}gfC&STo~fs|N4Y&y-y#6xK}aAM zx=~r^jo~}0eDXK31XuL@V~?X{931AfC|>G>%H!{kquezu6UAyv2a2~th}$h_4aRDG z42+?q2g`skE6Z}!1^?6pAIKZ))8kl`1-`Kx!fN0L9rplnwK3$q z_RMcs3gXnOw}9{bE*4quA5{EbDC;T|&hIl136!z`0c&3Gzu%uU9`7ot?wSK*wdc1u zJ%D)(o<*`5v)Eo`C4pt2AsX&e%x7c*YDQ$5WZgGm1cVp8S#Fs|bpK3le}!R`1OGg8 z5%atTK$4&*3Mv1%Civ$LO}IeH?EVd>Y1v+m-q*$|cF_w34X=t!{XU(dPCE%B7$F~e zwT$Oa92eZ5^4a^4FL@5M$B)JY*B!1f&p=3Uk5{|Em)c4ARkN%>LIMx1 zb|8|!!O?J68UX`2NZ%_x|Fg?2XiJ0OBU=$Xu^+>0*4nTa!{6WM@Sbn@)7?8s?(F5s z0Q}sw$(a5<;MGqh8UolH=!7(TU-Wbcq$xs-D&}9 z(YieWYE=Rde`rqv{rXDB^X<$&dSiEcVOsq)8Uy*aRYMlIaWz1_v$MElz}c@)RYKrg z*S%&Zzov{pl^yFd0#dJ^dCd|rhqFH`DG;!{*Is2L(Q}}b0Ewo55#yj|%+*dJ%lxqd!rxQ>o*>k|C;M^ifv z3jMw7zD^HU%mhhz|@4sD_U0C5;&vAN64=U0e?{f{z8;U{1$+}`Fn55Gv7bGJF=>IMKOJ( z^HGV9+wmyLAKf2pIu-&8WuoF-my-8Q7BzKdG_kdy!lJyvnXvQ3k8CqEVEXGvwD z$*>OPA1!1lSdv4KndQ2tdqaqJ2f%g)5bX5f3(~uPVtWdo-ihFg{TQ|+*dNG^JvHR8 z6b7&^XD5za$ZmL9yH8HU+Ak2)F==+fpzTH4*C2 z@36&$0ct4&irFe0M9uF+NtWZ3&kxpK1jI z5W1b1iyY-23qPnE0Irh!rQa>L7>vmnus@0{@CO9+4e)bdDd>+TO3a6XerS$b0w*T? zQAdVDR@jFORcc<7;J-DTX2)QipJN4kv@xJsrU!`t8rJtK(3dkqOF$a}fqZXfwTxW0 z6(mMOQi>&i+it;fH&jLmdiq!bIMnmDJh0D7um5-}P0CU|cSwGMR?5 z!WX57O=&Kt1h7OB_)E`iz}G%>M$K=1REWK@f^1fY;hV#vpicXPh}ZR-Tu5`qbNJShBp_wUWSgLUw=)ZG5n47mNL#hwm<#WyTt&w?Q#H~{l*hJ zk9=@TCG|ZyjLa22m z)dGo;z*v6UsuF;x`l);XQU#zAW;$(n^L-oe{EY+n%+*~rSVTOL_BzpR!P(U=tS`4= zZ!papPV(l4l?5BIGv)!*QOuhsbA8rofI2OLn`|rh-5j|9M9i?TV_(_oedfSC@%yTC zMAuQK^8`(|Rbtf9;+MKuex{Ed-74U3od zrrtz81NvsH3kf*4M-vqeV3R0WFH-+b*pas6jtxE66( zm46>-tKg4!CMt*EAclV=KY8B~18@tY0FSf-dsDU{jW?;ksqjuCcR@GjF(r6H*c;ca z-?H2sm^Ecqq-T)F-jM>D*t#JgO zy|Aso|H0EMxq;Qy0`QHf;*bZ+T48|0+xP9&sf;gu^(d?{l)GmtK3K8 z`XOXPnE<+>578+`FF(K%K^>nrvk759(s(CLbk?QLT%xgXa&Z*+8&KEnP6AEuqxZff zPxP@cfS!E6D&H^5xhLn2{0y}Xj>vz?VA2H;j%B`g7XlVH~i z(ztrk&Q~aEXR7b=*m)umDAD^rBTe>eCJ@T9tbwc7Uu7AE&a$z{hXB$CNMx1`G~Gor z|2eq128sXljgOvzKYMXgb8%qfWq}SUsDVhXe-jg4es|xP2&CeWe%J!eZH)I1|=sWn6lQ0H{VL{_d>eLtQ;yxL2ELTCL8Liu~Io4o$3-4^U=fgfWia9ys)7}zeR z#<5Xh06F*M`>uLToFSz35eGUfTLFUO2adlZk?c<(tqMHkkv!Q`xsG$oZB_dB;mt{s z10YYtm#?^N7ggmt!q zVPrYdy5)ghO56o1C=j)or8CaW3ImjaUH+J75j@KOrg$yY>u<8Qs`dH5ZE~*54FO*h zACWTx%EA|w6nc$)Jj~+lz!&pxKwfbnGRHDC_5THQKLvB)AzXZ!|Fql>jzxIRn9R8HmfX~AH!crz{d@K zVt=ZHf!=<)1HX4|oS}@yabVvI#1uJS7{_mxoA|>c1K<`+_qW*QWeMDCNcG4Y;e>o$ z36s(gyomeKs@>#5Yxa9e{j{ggbk0Doy)Ucj{p?|OCJTi=js@~d7}-#u{lnhM>#(y$IJ)i z#y&UE=K~uMiQujf1-dN_fY5ecKxm9I+@ zwD;xvQ!8x+YG))~pf~@z^%nf)_Ea@@!*cGH{>_?V4YsGE<$R_az*;Mb69wc!hzp+39Nq6w*P(t~xc))x2@OCl zWRP|V3{1levM=0W0PyBrKc3{2aL6YKeZvDMV0RiNoVVNBCyNqzy-4_TtYZQ^EI zJA)h$Uf3MK`O_rY}in3N_j@5q{iF$`73RJe8%KHB1C4r*k{FNnPRwV?A22{C~ z0~XD%ftY#O2K}6iGWQCoX5Xt{AZRhSW{aiZU%38?>_d|zN9ptalxHaW%qk$8$xpZK ze#Skw-r1#WuK)fphRJxER2B)Rzlfee@1L*4RxEWOFy+Q5;H?A-3dx{-N~#ACraw)0I^S{GT65hY1Y<`8Vbg1pMx3 z3vgR900)tnov{;m@5p> zv>fnI!T{yTfa;uj%h)_@#0({Y`OliO08K*yRa@htekH)Htbl6-FqpGJ!aP}gjLmIK z;u<1RPVLt@A5-pBM~Ear&qwV;P0F8+Ij$@)b3}^1a3c*93YKk_Q`FAeit{-46awRP zr3bD4C?EINe`8kuX2i+y=<+;G_Y3X3ENKG(fqt1K;yxzpA9ebdT8SahRSJMfDPYJ* zb%DU^lO+BPus=YItZSecoAqu8e|mKSZ#~nI`@`TjUK%Mj!7|0#!#^txgpNq0=J9W2 z0bZ#YQ)CX#x7g>841ilSt+v>I!dTXbCsfbQRKQF9Slu++(t_^CLWw)Xke2b)ed2xL zfsh2>LRLbHXpoO{VSzMZFmS*m&_iPA(Ep(>oq6lM8}QuT5R8yjgf}}+fj`jt+MJmT zS}oWim%~bc2k$+mmrHAUC-NM{5wAU1u{plKox%VM$VDvJT+J?lbqyXj7odUNRTTc!ylSHvWz6gJYg$0`$F%)eUakA4o$V zL;K?vdpf>v7yzXHd(wcwoPe$|0_5LVzmMzMo@gBuT@`R#0)3?J?NC)ZwB$i<^g{I= zZvR79$8aEV!+?KFBu1SPFB-@(a!KyVb&(|f;e4u#zZ*d;w{xb=hDQd#Et)>KIoVa& z{_^77z?*F%Z>~7W@*K*0U`JlOgE+|nhy~bWKo__p{lvs%Sft(%Wd(9&f7<&uKQ*+z zF#^H@4=Dha$^JJCMob=*(6$0*O3>#;)Unncewdi@7WfmoKWTu$wG}K-8B_kfwL8=x zC~Ox)Q$2WfdkC+3=r~N`8ZKy%Kmlee*ud~hCP(P7_W5Gl0d_3qT?iid!(I?K%{vAh7lEzYW**% z+Wv&{?@8}}86|(U_urF)Jkt4S0N~#j`VnkRIPA$mejoEE`9j$ipBFd}Ni<8(psy<<|$3Q0l@`A?_KgUXfxJ;0yCbwz2|K(96 zNoFy0ze}|;Ydkm%0Hn3J_|OEVIzZ86fqKwXw?WN!;RD^mPFE~V1jGkve>Aa!xzKgl zCXoh=je&OH?XMYa8z?|l&yNOL{RdKLXo!h*&K;GX-$ zeY_YzCV3>|;0&jUP!LOnjBrBleSqGE(GOP~sZiHD17+Ea8;Rs8{)9sFVw0_z@MQLiCUV?B#j&?`#B6LYL@*6(JSTa1*yL3L7L z*)q8deMk}jX~G|OfnManTo9+h1%I;+42@nH#TldGgID{6@=utim}LQ-3iY_>wKbaf z?NgNt(6!^GNhUl;`VUZ<9F5hXyS5A13ktXZIs`L3;id-5D-2D|5=(~UxgQJ3Rw?4HoDIm@MDh)a#H@_^0a!m2+0HH zewIZFR+vmhMTP=e9A$L?1a!MCE$Rc7{ztF>>fXqDu_1}^t6T$;P$)D*psE1kBpiSS z!R6}*aPHKq78KGdT`cM2y>~E%-9ZFh`EZVX^-QxW=-liuz+of<-YOPg0il4hd;s4T zn>6Eb!vl-R9Y~t&2(Je}3uEEa5STZlfCl)qg8FY_$V_>5d1U$`k*E1hDX*K^AA7p| z`HT-W)^!5~g68v`egszs6C2l8;}FmPmO+{fNUs6!wN;B~)#aw_TE&q!?3dZ`C_>Ua;cIC;#Fz+=4e>tNmGSWLq$KX9I zdz2?_T^b6n36n&@P=!mifdQ(VPggl4;6Ktyf5^`K#KnOMEprTQ=*)7I4}Se}>qB>o z0dU(g0P>0?6RNMAst{-=;K0Pd6Vs!j+`3}cTco|0V&yDn@F0R{h{%AK^K zfh4x?DhM*jHV+Ei7Qif(Hr|W5_S%_F1Wc1=OvkI1erSxLfHk$r@(i~3hLiwE88{t- z+uj{PyA@OqWWI7hsP(cJ7 zQUTP>el+l#P{58no-OV9PmukDv{PW96A1&BFao=H{Bl{tiqd#L*R7U83kKoeEiEHF zK_NMwfIk`p3`_syj2`jdJiqd}BLmhV2Enz> zgIq?gsk+5Q_xlq#7{#!<)LOXO+QP#C3)-H$2H`1^7c=imb=zLwXSs7w6$%jL$5quP zII9k~AkZ!_2*e#;GK~~E7qf+%ib5z8p0&CV)C}+o>n3O>vxMrWAp`J$|LJZBdn9oI z-+kb^E-N-n5=-uD1L{D4Uy#OSTz?;nJm}{PkXC5R@)&V)Y|^QKjCfC=WBcH$r%XLK1cdDI1WeJL2}s)o9M_B7GSCy0AUUQ0{>Klzp~b} z5%8tU;V1w0n~o2T41ilciRS=P54{ld9oqgCoj`SUqIWE<6v&T~!b>0;XG86oJ>YCZ%usf)JiWuIBPIhzz-?dhZ^i{7eHp%0250~9x9XsW;XWEQoU`%0PKxx zjp||sLTK0w69p)^?Zb>urN#-OfI(sX(dVxYRGFULZ*q>%(Fi=x zj>(%cpczK7_c^DdWNSRle4iXkN-@~n0>*R+Gt+q%iPW!s4Zu1)fld?@+F&r<{ZJ=B zC1?hkZ3qH2w{$4sEQVK2!XqT5eunmsw9$pnz)0>SHU^sL5WpzTfM9aQ!!WDWRsq0v%h!-yFyXaWI?^BY+5T;XouG=HYN^S%8}o z2AF|ISadSr!dL*|*ow6P@#cjB>Lvw-Y<6mU9-|-yP*w<{MIc`GcbSn<1lYbgWF!Gk z%$^)c&u8Q)`|VA*0)8LhldikD$^d$O+$?{5S#2@6G>kLX`9Dbmz-IdEYi_!c3g)bz z^d(_LK#5HvFX+>j=4fPKu7Jrg2u<0uu1JbCyC4W7YVSe)K}16l#IZq8Ur{o^iIHH` z1G_>d9 zfZJ#KXq|=7>tB|4z*7?BVjcGh-Fh=ouBr2<^({J2&j5!Yrwyv`Us?Pe`bw{WDjoajG({{y2)XHIk$Hc zS%BLy6i{UZh!P{9Zr1#~*LfZfzSNL8gq^}tv&oF{kuoC+tKm42*xi|kjL42F?dxXy zQ?HtWe(YRl?EFW!zuk}E^Lr!moU>d)C(Q#epv!eKpAYnXZGQzBG|l&sPLAb}_EJfD z4loP)CdJkOKW(vYa+gd;!*#iWwJ<3Y>}gNG9i(MbIR34*0%a&{bOWp3fOP*vd;AFU zs2Hd~UnB;=K#Ts2wdb$G198FteA#mACm%Y~y>es#+&>*l^6bD3I0!wW4Ide zV(zZwfH?^f8M zfZiz+0*IHpIc)%dY;J-v9{4o2`#m)RW@LJ5OxL9tE{AID(T{YFvZ@uP^)FiwCUMdZ-qkCoTY zfy)^?sQz~kum2d_WmD^R-ns8Q(fQm9Bd+M41W=P(@TCb?HU6I+#gz!-E8XLy=EX<< zldc)L-^Tj;7+9g6K+(W*!ZZZZ`2mKu!Uv{pm9w;#fMB}RPn!&w`5z}zm{{t<<5V&5 z^40;6$U##3iiu4;IcLLBq~@hwD}Sio<4>vZ%1(I=>cpy~fr|#$D6e3)JcMS5|OHmy5h&R?S(My23nuVa0r(fU>(mfWOaR-O|RgW$Kju&B|y@ zND1Kngj;n^AHxz0q5GSpscW&bJcs=6&-4O#X%OpSj=@+uKp(!*x8n=w`u|iGER6{y z(&DC5U*i3z&I3_Bg{*2|X8&=&r2!DPLuf@YY)6SaaBM>f%=T1hY5DXdp32h_w;G^t{nxPk#4X?|J^n0Jx2&U)`E~$N)KSgc3f`uc#C*S;thQ z6jj*p7);_I+RE51%Qp1UwEngIv3>ZGSXVNDAW*g-sijrlp=W@Un+A2G7>Hl@#}Nz$ zQ&?VZCxeL&Nib4mePeqF=g+MviO{vB7VHnBnNDR{`&Bl>U|Fn}57qqvW-ud~=mOM} z2yUPaP$m;xBohF6eSo5+eCp2TGt{A9ZXKRJVBP9YU!Q=cfNbNvg{<)5E0JLnde#> z4HLBtmIF%g??*h_XT>;JEL8)HNp97$VFE-#)8i|~?Ay{ZX~~0sWUZw_o!v24wfd+6 zIM!8CCMA58W?<^#z2?>~I( ze}cPkx~)S1m;S3$JG=<|Yw&RrZdxX{=1N+t+o$i zpIb9D`=LWdS%M%MTC^4O)+DydbFuy+HZ;Ex$tf7pctMin8R_+oxLG#IXn+6ZgS0(5 zXhAZOE|XW`v?_D2?A5~24WeExrZ+k=04HyQw~J76E*E9ZCBGW|sz zra;vGec&+)d|sHbWZMLAb7QvY4%lu%Jc;Z_o8u{*l7_)1Hr@yl#V(|{A|p#0Br!d~ zH6d;2JylVVND?FMc4e~#lD*kRdjbZ;_0&6Rs3=1%GZ-6;GrczJ2f)hS; z7NBOMphbiNDi7Kh3MdODR4@UD4fa&e-j@(t96YG!+Xrq!+pNb$JoH6R<2a?rgmmd3F)I!;OJ?WJitX4rPY%uxJE=oGzqHO|Q$?a7sN6$`+W5rM{8(liOF&HzqH z(7#Xa6jJwCc!)-0rz98cTLBvQ zLBIdWuRQauaF<9`@7etWt$}f zHY*7f4R&ZI7NB8SV9`#^Ruxdjv@}TyEN22@zQBQlrJ!$~zgQHvtgSaOC~B>2_Mhms zWcQ<{O^6}3DPQF9lvNX)@|5z&_PpFC{v~a2xl;}a9)qcf3Bc)0uchMJW|~N_d;gUr z_8+sn1430oL6F8_o-=L)&N%abFSN5E$UVT3;m}6Ic4SyjX8kNi1doh}+eFWpnLmNF zWN)Br^Cxk_01PpPFUK@A2ymBB>%S8w2Qt)2eOO_!E9X7A;%z-&l`Fg`FY-nCyG>;f zB!C|w%Mc~4(wV0JziFfU3*YfI_dIpC8US|!1Msmziobw{r$dlZ>;qQp>9YdufBg_} zqCc%XeV%mU!-uU?03=M)d!f^*4MPJfm+}(%19Q&^f35}7{5?$uG#;VR9#Q!U#yHUH47B_&82tqN8Rh}VF>HSt!%90; z@poYr1%)k5PLy2bJqRob3CM-^Vqw{dFi4C5wR+V%Ay5WGN9c~JfqqU@*T$qB{Ah~# z2WS9r*p|k~rhL63_XE59ZOK=p{XxEheNEnD&3_1D>)*cp;lBrW@pLB`09T7ZztJN~ zGED;)^eInYP&F_y9RPiUivAgQXv&zZS1D}C8@IdCBe~GYfbqnQKHMWMd!}`?nHg+j zVe9{~UX^Jb%|N8#0rV(Pp8&fBUbwm^4S-`7Obl=*4|S6Ly0bTilgE2?2SHQqI!fk9|OvllA|vRco% z3;Kqg$n^POFmv61ohd0wO0Lo6VQlxw2=bUje;)&cyJf&PAfHi#VZEI;{ZVCg@}K{3 z^*}L;0V9r$&OZtXt7XFgkmdyl&y5~I+HO4XS%+jyw6T8On*^sd>9HI{MqDWWT;aBn z!9d3b+qx^^ANl>V3IQbhrE&^XqM)!P+AWqiE*ug^XryZSk@`=-AL;)qQ;hY;a7nIc zXOf8fDA30nUjx7T4Btxw;NShVd){{M>E7sWHUMt>5WtnceVWV5_1@SA{w3KsJVQ+; z0zU<$wRf88B$XnAg9*rXA~X+>u6Gq4>Q>1CA74)QQ9mG0?hWAFde4diF)a*aDSt?k z0aX=%eosY#jC}A**LE{1fD`~tE8%OK1G|7>0V*lyQi|F`y^9(lgJzj@c@Oj6y;7BbES$ zl(o=}XSR&?zdrY|Q`gU(IdN`;b#h$!-;9>Zx#hA+x;(E)OH^0Q4H$5%1^ zh$~jZ#`SelANEtg_t-5E&&5m9$hs)UuuJ1uX~E$9^jL#Gf;{G08LxjzKa1f1{nFFl z@||CQ-=D)>KDF+U{lxyv@2WMDi87WT9d%!M@r*>m!Hw`Q7^II(Cb;O{%SWiS(_ z)<0FkGQT}@W-V=-Dbg@NCk*T|fo`QKP$!$G9$3p54ca@-v5jtt$xLjHthXj1AbZ%ogv>Y3e0bsh}&uRei zm2nheegB?3hD(|O7%7^cc>56n|2Tbp_gn6H`*(li`MXN;_l{)%^iA}!Dq-%a9<(aK z-xnGXB4e4;p@kJ}(?||;Cp^JRB=m6rz$Bs5$5wP0Al2V~X0vZg|4jLxX$TbRCKy)d zpY#FiLM6J2nsKXh- z$1Hng7?XCtBJBcL*!zIlya#&i%%!?-DUhBu&m8MVF7=^r;^hRSg-9y_l2B*1Sy@b$ z3s_!zKy}yawllVsC^^S!y$G(_Xu$QpFpS_N<^_;-hmiJWiA2HxU>-oyKr7 z0&YZ!_m50KUzPVIUO%=ymf#=#;2T!o{6i1+-g`!f>8A$~+>m3~2<88j1YneCF{7uC z4U2G|B(IOGwm$Wj?|8+d68wMX2>S0N13*4gP(bq)*ZCK(%-o2@ZGp4DHxKhfOHEF7 zXdupYC`=xY*x6QO23Ec7#<7)L7~sP<_TdCp0~mUrWH%>Wv_R_xFtUtp6HL;epS`jJ z(N0TMBRNrbQQM0u)O17X5Yx7N8L1%PImI>H;*P$8Sa`;3gUY zlQ_!|7~tokS{L`B;wn=*#Frsl(%d8Ad1f^dB!oy>-bXoFY~fuHO? zbIV4gp$zjqr@aC6do*13ry{c-I}-H%aC2ynOE||DX2v;YE2Ov{@LQSl!ZQ1*_9hIn z=h}G&sJ9PplPNvO>~pTdnI=3D>jptFY0ay`0eC!^nXw;{`yn*{n;BOV9#7=!M1y|>uUYGS_B~&9 z?!SKK```3sU-`O?XOCe24hsQXf7=;x`ggDWqtw-;S9amy^BaV>V}uS*p60Ec5!`cnS$&NqGROk#45kZ71{5T0Qje0KC1?P(bpdW& zC}7^Cz>;tPS?Mg{0P}g=utz{0BcLvWGz;igt=nhJDRoT`H5iGslU+0i^MR7HX4{ts zyl`JB*wd@Q!LPW7(>=Wap6_RO{x>fqn*TJep9+70O$MZ$AYEIM<`^)e13(5gx4OdJ z@1!aqeJ))2V9bZOzt@5b+R-re5zL4IA!8dP<77*Zf2c~b5+qFNUaXq{$-%CN`AVEA zS@hSR?fq|Nzm~hf^{;;Q`ai_^pAO>_&tDn7<;5GrH}8+)W7BCIz3S}p@0~i zS1uhv{T*xoXsh_$XaJNC4f)!o#8YQ}9dwa>U`&qCR8#wfdjCWk7zo%+P3&J+3;^j$ zXp{jl_ICR8y58GtHNeNO?!$SceHPtopdA5D@w9WQQs6PrY*nFYS)uGuYgV9B@XmSEP-0LWdck@9{nhNjbF8C4*`` zBo5^3VPKLAZChV%f-1g&-}7Y4v;fP0TE*_eGm;{K*}Cm2B>&@nvH z9ngdZuI}_xiy%ybrbyyA)N_4e5szMi7Rv76_ zd@Rw6wLU-Bl>wZD9AW~v^p%DZXlS9$m^Mffh)2!(U%zA>>F#BX4?pT)y;W7`LI+iGC5xG8mz%ZG}fVm*Cex{WH zZ7%@*o@psGYXImn!OuT;gCqc&a01KFddLFsnA?YXuOC6L9n{DF(he|(lnYR{Uo*7r ztyJ!#34sgF2PiyEb&P-pIRSWW@v>6=dv-_`Kw12s!E8x>u4-P@?M3&Yt(E_(auLjI z!UA>A&rrt>cI6q}&e^0W%&yspB_giZL@)1F7UMgJe7vBp2#w#RRnMKG+^D z#;L*~NPeIc0YzdA?CBQ1d-6;C`@dKUuf6$^)t@?o?7No%!0AUaUc1O<{>LRC6+4#x zRA=$WJ_PU#E=KR)XaiWrK!0v5{Frzgm~((R1X$C`NmoOByP63Dq%`iYJ#$T|X)!WL zw^(Wfn8ZJ(<$;4tQefIF==n=K=|v_38Y2%g?$fo+VMa0-^ANn~Bnm+9X0ZTb1{Poe zvcx$fzyq@N8U{7145%~$d zmyr(^{TeZ5~gg6ks#;P+$U%f7E3A$aNUvfa9jaWN5Tr2uo-guzkE$HVj?AV8& zRsk@g8Gdbhpt@oi>whqgVck;}c*|LUD#OD7aV3^l_X!Y96HUuX1Lvp=Xlw+Km8r^+ zfMk?A6#_$DLRNNhn`G{@`G}YdK>0lWDo?*?eN$fEy{~Bds)HTZ?QEUT&33W-oY3C? zwsc>4L6txzyWh){2rHz6^KuBP{EaUE{tNpmx2WX|+NQf61IQ$$CNX_t6p#=B*ky?< zHen0YSTdfbC4-b5wMGF;g@M{FwQr2&k1y6qu(;f_qX<^R08X|8>wrX%j;n!4$4~qp zfgf3`hXd$;)g!C__Yqv*L0yu++Z|4G{eRnm6!;=Wh_t zpBe$oeva1m^{rthUtlzeQ`NLNSpc{REWlzy0b;&TKv_OOqozTNF#;&{?OQJ9BA-MF zvzO@2n^RafZ?sOHfC1`Gn5X|~>99Ndj2-+vEytzPV46_$=>5lJzhY;5nMOY%``*oxU>DZQj|Kf4Y$BjF1cU*9p%{fo3t-^7&z?G# z2?H29O(g>!UrMBbjn}WGSpzNn10+8nWZ9emqYJRxAHnq-{UlF-7y)LR=KZy;fdqs! zF$}?Bwbxn*3m|R+3s4yfsKEj>4h1yG2PjGkoZkrWZv?A3rg3$0U?fB{mwEvp@ALHQ zc>8AeswxC1P%kRY!AJ_zkibASs{z%GZj;FV7D@fmh>J-O1ofIy|7W@ZJbe%o;{afL z6vMy2Hqc{6dXh|=Uz^Y;vf~wF1(#Mh)gm+m0NKufK;Fm97!9NXK$k+rkkupLgwbS{ zfz2|kPhu-_`RA7`w-e*Qn>>Lup(QUxF~nNz=)&UYLbLlhtLroQLx38ItpvZ2O81((**RNIf%U8 zKBplAoynh61*F0|F#*`6F!i8m)xdi%>?`mONJ%myv4s@4g#}zjN{@kziGg!Id?G>_ z%6~Wkf%!-*WhyL-AQD4HP!Q1!BwbM~M7A$Exj1;AK0cVL1z)+;f=7(gVJ$;|pFY3z z|J{3{bKwZ8j|>1c?Yun+15nU!V#$}Q2MRlIn1@sKs}@E_T-dl*%BTr4KqLu*Q{5LF zV_4=h^E(sc!fmW=tSY*U>ug#9X|~=6F73cs-5`i*Ip83mhCrYj0co$F#Q)WPX(QqK zb{__+4wo7MOdA2I@qoDilWA8B{B*lV#h1s;D@-G0-%ftHu0EJ$K>*ViPhQ}icnZUCyzUKw#! z`|pqarzL!XfIb&~qvhUS0GCHRbF81fK7i-svl|GJQtu?Z2+TMrS!YP-Tq8AN5l>uD z-TwlbgfbRNpP=2!0KXL&A{7HX3~YFlyL60gz{CpUH(U;iUmQ;1Su_UZVh{F0c)c_T z?(K%~jyG)l<0F_pG5}nU|3?Z3EYC>cQuVG;03;hXCPu*2Szk;VdB>zY&^$0n)_)56 zZfJs*6r%2RC`YMB&Td%Ua?sS7+03QgVVdD@tb3B}k48YC^*D1O0PW4=`_DXeB^fLr zD+m)1%N*anaA}Wt5lOqzwy6rBAaYY!0I0_TfZu~%WGJ9%K0wpTfO12mo)N$(xRe;T z?jxcasL<^13PZr$dqs(L^s}OJx<+k+YcAs+SBuSHOxE0^opBN_d-fp8(BIkEzp$D0 zoSa{wKaYv`{^)7|PaVV=#^6eS3h%!@uwxb{CpHj?wmyR_<6wG!2;!XBWIaLh16cOj zL^Q9!BnX>vVmwV^{O0~*DHFhR1_XoBhtfy?Lu`5X$<_(+3qjjv(bM32&Rt= z0C)PGGSKHD8x|-u*8`_|JiS==zG1 zOP3o;SLgU@`*2x+Sz_`FN(h`;n5c#kP`H1MH3Eu_0K?!2;mHZ8AsU3FPr&M2qwH#Y zs)iK!h43%CXbz~X`PRI^@5@!d#|SGZp6@5(x2}kfEBHf`1C3EYH3H6bnM(Szh60Wg zDEM>fAY~p!_U1ADMGQ^OY!yIK9;osI^mklKm>bnl1JhG#z>%?sS#Z}?1Zb%A+8OV` z#`rT;Bu-<6vWw1zpH6a!mv4Lh@gF*Z=pzFlH|>4vJs5a+R8qg>Dp*HM*(dRct0@rx}2KXns5BA8Z4ls#<$Icu}dTv8r69D%O+kP@q5@;0x zjQ|jsj(|V}f|za>%q(N@xIG0fAPFOUKe0Wr7YHz(oy?pZvfV%NHWc4m9=jeN&a)P!{8lcr}<; z&EBzRf<5a&dhC&^Q}2c>3-|?sKa?pnjKPx5DjY;v!|eAj^;M?4Io}BCp~;fRzj^Yv zASXEk>f{8v<(Y-=QzB>+0Cl~s0)1j6P&UFf z5LBsBJAjAIW|IM_CcwXc<{GS{fClLfXp{a(I3OUBz(L@46lCzir5zXyr)isDAPqzy zl@i80fXmnWIqi6C8@${N4~+#ll!U-J1%hhj1C%8NLPcf3oJIg<`$w@TIA@}^g@s}^ z0c*h1d)NgU7Vv$(Xz#yD`#%K0C_4HgnvhR9El)(pJf)af=__*3gn-Ej%{&ySvdLKDLS`_W&PfPHP8R!^W@?W%n6N00!t8Fv^#uiz;r`(BU;XO!;SmFH2Tlin=N#TK-|Kq%?t{i5-+;r?hq=1{R3_Mzuu#Dt zW(Fh5g~@<_bY&M#uXPh~9+MPEGypR4z(J50 z1?IaT4Fz1jz6Uq9282b>RRo!aLdkb8T-wi(vDh}i7y7o zWk6YCU{QiyK)W{5?`nn)dbwfHZA>QbA$)#tiP_xp`qz9a~0ZEgSF>wBO0t=IMb8YGfjzLk8dL}c{FI5pJ{9nYf3I{{*xL6nDB?oPMr>gnUX~L_kH)D zN`c==2E^|#>%lKQBu67e(y>suKir%7A5tK+TE)-_PqB0j%k|&g+sqmUO8Z|6f0<_-$ANo$A-p(< z?Q>wBge0lPK~(h8=;L!n82R1wft576@~XeYpw1&X1d zm9Z%^>9$hv7b0(|xrrbdyk~h8BBxCA7hk#df8Dnr?_Yv`OV024#ruOldH<`skA2q( zfG=!K;S<*<@P+*t_T@l334$MZaSG4=gFoM6a2HN@v;lDNj&s=Y=A#t!3xlXmcdjIp zR#~#8LB+hTx0dU#`(>wyhFyMOI=TGO70VxZBx&S9v zdm8we1p{zpfXREK)}?X+AYlQn?+oDLmHn&{;CaR0T)Ey?IRRcHK>l-lr8QfRfI{G# zL#w|=Rluyh0_yL>%`pP9x4Fj%XrL=V$88k1sUMZ8VF-B22b(ehP{0_MO_PG`z%u)! zj0M=259p-`xL(UnI?NaD{=U_yc{uLt*sullwH#HyI7J+syrfa}W{WXC&8%!aa9y6?(og1hCXe zF9gO~eBORQ>W*0^+X$TOBRjWR!NJ?#xbdTlz=l8n!d~lV?+u>)@q2=IEiHH8s=Rhv zF@tOJ&@oqM6- zma9oxsOR^(1dmTh?>}Yiu;p%Y#9SNen80U}0%OaA1(3=dBTdOh7A0 zVjVW_km)uC-b{|78%3_;-#onXBPZ5c{YBt{1o>Z;^Z841SEq8nwk7y)N$|feUoXnn z&yNLsdd%Uk}tPa!szJ-{|TPhxUDaIih9O-HJXA(7s{ zF#&i5<~$8KWSR&$RKH;bCXme=F!S>HGkIk|NJ|3$;Nmu%TI;2tZ!-Oza6rJ)htYcf zN**{V7aYn5_;XKRC(k;w`2ciW$5r%)Q^f=nd0vB2(m3dtr-NXnw++S3at=KdaEBQI z7;25;GIm5%h6L(->9PQ<1hlhlY(&n#%Z&9RZKT!25NK*61gxI@SEucP0&EEq|9NYw zz}9 ze1g#WNjYH35}3Sz5Yifdqr9tFI&cgHIxhOo0b_Y~Czm{`-^lwUT<)d=4l6=;=D!fm z$FEv$UH-d|o&G0_0EA!o)ZQy3@W1P#_Vo88;BU)=-<0!ZiS*CQ&!3Xl>A7jrZurG< z4DUG6f>9K|@yGzU!=~Z4-HW%>KXpN$%Kh>R5SbF-Hzlo^{s2Z~g@F7Nh-4-)5MoO6 z>xMxSQbrgPJ%CIP17rbCt-;z-CzlLpX*xOo*$Z1ro;RZjprwMDCmaAo3xIYQeENk= zT^0!Wq(Dg70{r~)jYLkE4%nFlBY9ALZ1vd-)m)baIE;kA%1}Uqe1Msi0&ikCph-wT zh>C+QU;$_)7nBwT_+izB1=cV`z#6azRhmY%lm&%pB`o0a?FcT6d8(FYS_PB7AT;L) z|GO$5_7&yv3s{pQ?1lt?jQa~~1PRz0MDQyw?PNed&sCT>sO%YBX`If}KzVl$0714bqsz%uLp+1DRi z7zKY}0>AXa7~pB?-G4#Ozj$E``y7+68SKc{$E6|mO=~UHGJPPAVK9xMBadIczWK-i zxHG4Bmumcb?Eb0syhWimWNY^I`w37sfpi?y7Pv_dn2I#(KMfNIn=Htk%7KyA4#4G4 zK77sszb(xn3S6Jt8^BVhm7)C83IJ^Y1f*#YKxznRiXW2%@#g=lCoTXL1)}0W*~$Rv zy z@aS>~y@1(@9@_aX*ZxKi6@2oF@^7UwLsy(dQKOg$8=Hk2(|(nB-#p zeW=Hgz%=?HpwF~nz>QR}5Vq}aM0y5LCp@E};)Zt0=oh4Ch;%< zaG~=65{iyH6n{PkK&Tn?1FkZPPpw0{-SUlRXNX`5V(j?Kpj4~ z6d%PcGXj#~ktv3y2^-)8;Zk)z$D)Yqw$T%H7O2-_m}pcwtU)%sK<~Mrq{=J}XD2|v z)MC&H6N4C^Va(>od0#%@dy{nD)$@z{G5pf=Bly@(1fM;K;q!e76cVuU)ST}I@EU0l zyh7gFCtEBXOKc+^EE(kR*hUK;-;EUL+hk&Cc>mI~TQHeKHbb9jkss^n>yRSXo(B^N z&2K*R`6U=5wk+HcfY4hK&M6f5X-;AEa+21zzj^(0w8by;g=l$ z?-zvypBRhPk4vxrZKpc$=iAs%VGQ4ZK#!jOB=PnY=uac~z}65};~4tmDSY_K0K)O~ zZo~hV4FiDF&$ys(ymLC2jZqY!ryijI!xnH2&Bj2OQ1w8X13;vNRoH-M!vUO=mcsgh z>`Ke}%mZgq;P`*Z34P(N_AQ(z_}pbUlpKK_}DFpYRt2f)Js;_L4I z7_M&(O9yb*5WrpnYs*P!pePhDTS8!UDB$q(0S?~?U~Iu5ftqYUf5Hpn>47f)M#m5F zkIo@0%JDAlRbS>HvW(xF*Xm`?8t@szM8KZhnYO0k5$K1JeD>meyKvw6!}$4!uT3OK za80iZ?V%_4!t>Ij|J*?YPxT{J{&!k#>s8ViIM)f(@@PQ4X}tx1wKatf(}F%|?91ou z=bzbv{%ERV{s!#L`0l8t_46yACqF^Xh!*R)dk14)*6c334w7KnTZV5hc^#FRq$%pPX1AvJ`kj%VQQ}=xre?q?eKwQRLHMEM1x?j;? z80s54)OUMG21&yr(BFo1z52lnbpnk^JdET(vGuXf0iQ-z{u2j~Ko1nA7WjMLa35?P zj5XUJERD#?D@_(s3Sx0W_+c5JsT02E)GGY-FMm*NL)a>bG-e2p4u1Ih$_J0b%5uB0 zW4Mg@0V0tV_PKPf_DIIK@C-)GS(q{3SjD_n3UilX)fNpaQpEG@G%HX%^MzB3_7_1m zcEu~1-}K7G%{|LiEyJAsL=X*aXUQzZPGQ5>5H4WZFh&u$)Q#1P0z*sK=ZOI-RU_EP zyx6X*qv3>g;(vU@G{q9R@Pa!=(Dx^$5%Ac_Hhk>H#3lq@pC%sudtcmv>-(deLTTWr zmzw90X_Zm)yu0V!en*xUT3CnM^Gnnoso0|FW@AR&RvHxA(P z)xDHjwa+`V;6~T|?1f#W4^T$u`WXSP7y%3ms2qW!guod?0hMio=gbGVDNKOdu}_qT zNs96U@_7QHz9g<*a1;sU<>ReFTh6*3zVEylZ#5{O>dg+SDgvKsU?CIW82uqrbHtN! z-Iy2Ha23*jCKc#PKZZY%20$hgpC@yYZJ%7Dn9%)ZUY84;l7Roamqu`7!r}gI0Bh2S zT9rHUTN3=Yc8AJ{=WaYwq@F(0MmE#NdCTMlXwTlZZsvM_0!yO_bmc6)eKoV;7^Z_U^!wwN2K~`9Mzmwr61q!WJNUW6 zK==TC|EkH_Z#+@_?SZuvZx? z&iDRE+!SR9$N>@!fu&BkfKb3}`2ZA9ZyO^(Zv)3q+hnaEIk3tI%99#dtDwptXv=*# zz`hTnILzY*5g<*tlH&-gr2U9NKvz&?1YkTLseYvO$FcA-&XsnKYoJOC;&(0#HCPG) zqB@n1Wag*4oB->p+?P}GgneN@vH$0Dos%F{(TP=AFOqWao)* ze$(+^I1C)vA5VXHG@b&JbK3y^C;|W8U;=>z{8$42U@(HAobh!s7=3H>!*3CAmrcRT z?udl=ZrA-WS^WMU>FH-i=2yM)Ed9!fm2JTtlA3;_M94&%_(u&6${@t9E`cC<09tFqq1XfBe%It!2+h*Dx#p zZN>)qyU{3ui&qY6iMeF!!9|7<7|Rolt%i~H$Xt#_TK!d^TM+N}(*biD0d@8#Zv?oD z@rvX?k^518Ej1O4y%T!=Q=Wh~1wr4%&3W)n5;zO8jkFrwFH~zl?gz%y5%|%Fk3?2` zAecj85TEHkyf{+2{-!cPSg_YIcu2i{VMbV{~IrC!?N^1 z8Q$Xvin`>_06WuzQ$Q2|GrfCFzJUIl*|A1<2DJOfZ0`VTIOuzThB5*H74eyZ@9_L$ zoIe(hg+aid##*MjOb}=1+Wg};Z@lfWAV7lt&-8{<=*oFXdih;BhZ6LofdPH=_(w37 z?<4sN2cw@9|KzJb33uW2vNHgpcipd80PX_6XMm-h12fbo~m*ZTaA4RRWpqAz(@gFJ0e8IiL^4;y-RDSW_{UsT8YuzbNbpljkFfQ>&@6R57z$mgQsQ{a;+2 zzzY(<4X_H4?Z{`s0G!bC`1;6l0DXC~p3&gX348F{68N{a2O2jSgz{MpBp5}~2;lNW zFkSC&gn$@8#=vmn{`3$)r1?NbWGN6rCjtsv=Wo;jO;_B>zw*kJe|`RR_oc(afXR11y0bJKe{U$g{8)nhPys&${UIuxN#IxW zd*%E88Sc{QWt9YIt(x~-c!hlVVr}}5)X18fH*k`F0+#ZdAx+eB68vanJapb0FFvGR z9?LJA{zd|>ylHnn@sw^8tRH$k2t~_12&8pA8BO3Hz2Y=%?vL!?kR%2sa$xu>OgO`2P1qKcKS(TAWsLZSi3EM^RY)^eYHy*37P~*8m?%@b1BFC*=wV`&h)|JhC8qp4*UldwggGSr2p(qs8Nw)*2F z9*>5(5Sr@{q#RP%WIy3#T^c8XMqW5eOC60?fzbDu&^Jjg`OjDO1CW;l#vTBe;1`gd z*S@kL_vRos=l^nV@7lk5>&df+jRC!X^$8Y7@sG!G`~w0F5Y?VhzD}dWAi+6~zfBq_ zzbStH@7#6N|I69{&_=*VZ95>Rhr6-IJ!X&(%1hVX0Gmf+3ztiuQ`ZtbCP(^y0$zj7OA#JSyTLu;i6 z`&V|7PH_5jGy;~oEoB6>rNwR;MJ{X^5j6sgabS!9fEpU?jFoz$m>`IPLXqiEH=_|y zT*Y+z83ATVlljkJ_I=kT0C*39Wp{#((SdVaEMV(ZEw!1`NwS`SEea~k1hEVR0XF)m zU}@ph$?ErI?h9=wOyYu4Q(^?r-(T&=@S86T5*>dKRt{Wfs+yOai*ez6NAFXG70Ctar=}A z_c_ze!MNKLAZGwT8o!~Rhk>6NU{0R^cfG(eRfbQ!^~9II^4_JJMz^#7<3q2IVE@k` zir%Gx|D*CE{i1w*w|MurM{t)hiyi_H#rqJkA`k!51yx%*;}Ey(5p1mv}- z>dd$OKw7WU$Df8kK7`6+?++~tz(m?L?7w-{JusC63D*XI(6zb%&*Q!3WT*_NX} zCJQdKH1IYz0@}L23b2|+KnC>PV_~`VxQ%@1pBd)Cia?QjnPWcz7P>O4?BBf|?FYfLZ zq_|Vug1ftgm*<_?uRF7IcjxTy-gC}9SZS#uY&okJcA{d;U4IP0&A)`SpQJ zM}O&7n#h6p&QjTfK$`;;MJ3RVVG#gg05PzC#lVcrp%c5h%eYnF@ppJE5;_?W;tAdT zNc!pv)D8__!vo6bEXY6Jkhth`^Hl1hdi3gS{bxkzBLi=B@#xW_SMN!Nf%d0Q$uHO0 zv)|&gXkgvuXdPYa=}-iC(t_2VxRl+d|J!xJzWU<6epF~5w^PR=%o7qJ5jEgyYD|qf zwK~y3o}~MH;)S|D&3}fsNP@E2jUr1%7Yn&IDi{EX&ljCv3I`~8&o2Q)?7nM8;LNR&Rj<3b3FYXwgDTE{-@0>77zl63eXr1XDZf9R}PfXJTb?) zvj_tQ@`LYs#NDouMxllQbR4(7pCcr&&I*0Gf|%%fKm7OVA{I2l`w`Rll2X*n@+m|w zAkRm*%paDRFW;Pj15rgZzp*~^+p!}%jzKuss4-~Xs12PAi$C5bW7aaksTUOO2PKIk#4~#1@QuCvycuHl~(&OZh}o-YA||QA?0A-f)4uqFVB17ex~FivI)Df`eWu- z8EM933mjHX$+2dfsm6E~={C$NO9um9ub7>zzmQzCqLb(B;b41V;X`0}D?B&rgpW#i zaFl0MNzYC5^R;(($hAir_D-M8c4jvXOg&Alv#s_Q7I+|XeaCGIa zZ?-?)|AF3OEF(i^9!|GD8e!E6+^M0Io{9m~(n`ACl!#+>>Ex;T?kcgSI*tvvSeBde zcWOQy2diG1OFxgM?0zA@Nti$QNQCcpKbQ)Ce8lMI5MUWS=`DQ=ckar(=TN-OnQ8X; zHQ>7p^jNtWlmPj3@6}I`bk`_PMi~p=6-YY0X#UyO>X`s|k7SSiF&=l7&2Pp9b%6if zKS(&X3}`Y4RmthYx^eLE$Nby<*_jTKB7G*$C5s(oz|W%kK1uP2*0Xf4Y|Vswu$^RQO2#6p)m7umDa~E7e8@hw2Hfk| zkH*lyX2eyWu)jJPM)NVU$E@jV8)gZi*6X!u8u2!4@o!0Oqr!N@g2SG`V7DhCifm{m zWh@-@l?-!Xo51`D?QsHyNB+Dm#i#9gsh$@yIXkMY>bLnp)a|{nBIpzm1M4o9gIgi+ zGJoo=YAq2>VeFToZ)*O5DrY8u7TRh!k$!pLN0g)5h+W9XcY1L|s@lhnSn*?#Z@L$j z`>42KDY+l=>0Gad!QNx27vl$bcArh|cdv2a`+!th=uGOuTbvQTg9J{_!?a*su?OBl z9rHOGJmRL)2eg;UPNTp@)y%KH;60IkTi9fl1C8oRz)_$e=@acbZM{q8A29$wuTDkI zUQ7tI*}=^>O5Tcf24b)A+vd2$(IM8;zp_2O9-)mBz+j=xFXsWm&faDHbJ{=~0uBW^ z)HhKYhyx1*9~_5XDP%Dd$X|M*fNoKw4a;M6o(Uk2l!40ZOH>clOzY21?x-^&;+7@^ z6YFHC@q~>lxR7ew^md{HH)Y60^ILiaAHki_{~~8&VrKdG;;eq~QQ7YMmw*Hb0cP%L&J;nl>{Op7u<>`UFATC26d3hLW^V#OMTQkl{%k);$;cGX(@1-6a zK%Rs)pe@z1lp+(sVM)~@ypZAxy}t$%03zc?*L(kDWa_2>(54eONO6=gi2Xb53Tj9@ z?h>(hBntbw5iV#3dwobJXyoruepxNzxp+^BfS;3kZ{4P_-|)>gpH5x;Y!B>j1yteE z1BM>(f|~>!y*|E%IIghH78e~A%oft+LaiKtH%3>Wr3l~Eg}zNmCKLh=v?n$hK=rKO z^IXyMZS}$Sibj{60)Xa``+lw4;WysND(>#o7iV6V&u;%*6kTQpf<{1R{o^tnIpJ?U znCrz5tt*sX%nHuYsgoObr@B0wk=xbRDYIMgMj!Xr;`>|>aXCo?(GLB$Q9^4)v&IkD z{_-@9$?F5;iP1!80S(^>=z#&s$9%uo`S+^`&*tr}mh%M)iRcvI>)zC$1&i)50Ec{% zS5GtmRy7Dld8yVhQW}KtAe1G5>2b(WfMD?HSsDNdW+9IfcC}9DFbh9LgGZM_225Tu z(a}*6ZvOnFNb{1xRX-@@2z*GT%E~qozgw z=g+dd=G%gT`|RwD6Iog>p8>0Uh@h*f-$TCoc9d!%ddnlK5$xh(vQ{0 zk=h~RNp+6?^z@sjn)6?OHvGO|9x1;3*Fky*z!SxvB$tCjgX#oy7DA+x{p&#biCOLy zG51K+%3bc>6|bY5pU6urN>23(K=>>^5wm}0A^h_x?ziE=yMj)1`+VswjWY-R(FC&o z0aIy-az!57K@{kzoKgpY+$YT>M-C#-^R_{f2RbP%lhyvPB22gfMdlFYmAP9+tgK8t zKT5bAE3{t$rQiwZXwII%q0oET6=6indiO#jucbC**1|20pYp*^L__w|mR{ChL0o!v zLUhizJ!qU2F4+LLknq7E009K^TDM>%=x~$#{;Kac7R|i)shAFW(ng_7=MZNrFOZC& zRG*}&9CrCZk4a95qh`&Uv!(ayCruT?h+cRbCdoQb;O^sc|EXZO);iiZv*7r)XNc02 z(~-967Yiq(?*k>_q`egl!8?>HsaeB;g-Qv16c3h(qZ&q|c zRq5-s;!n?<#N9CVrwtnGy?*<{#%scKVy4+1P8(t@={IhWOL>s0l8#?rvP$88kW|T2 z6luCW-k|{QXSCBT#%*9va}=zK{aCye6cSaoB@f$^Zfu?Kk1Mga*6MLw(?rQ6LbUCaV0*X8uBna649Zf{KU;#kh|j=Vpr z_c5UTu5WVA2Yoz;J0u?D9bi~GwQgLpc%Ns~uv@5k{p4|U!3NXQ$-2=h(*)^|J7YY; z7A+)}np`LI-`@%%UP*P;*S)Kq3`^9Er*t~G05=dR{gCOzJARG*MH&-d%N`$i6PJ@1 zE3xF%eW+wv!2V^x z2nnROir?q+GK~>Ww=XupC>fQp22y@Es`V-@C4e(?Mqy&eBHt7 z33eS-fuDP#9}73HZ9=eXczx_ywo#RSMQc!1*~2!UprB(VGAV$Z(KjkW#N~hF(uBP> z#Z0}9|KZ<=_CDGVSxaMxq=0!;MjQL#CQZ+E!BkcJ*P~Y=X%d28N}$!}?~;<${d2^j zrM@{dp@=B(22X&WS9Gk451!8D*}Kg)$GqD6DEShhypAWOfn3KnX^b{!2#pnZk>O!!R6cwPy03d5lw<%2+3|9a2 zs2C_RkV1b8ArbkP#Tvjlv+?WsW^h2#cQS7(lRNur?JdnaVZb%k^HsJ7iNJccuO+M;V72$DW!II!rq8USS*SLSc`obM2_l9iT2f~GTFNzin}BiDiR?? zFxo!n_E;9x0uY#p)!6zVf)3wAb&m%%4zmGf3Rtx+=%l(RSo{zQQEm8KD}oMEVFHjr zD0>ZpM+`P*aBgT=>xM=V7ymh$gWtTZNtv0aZ+t~Z0@kv25le(GGIQ~pOx-!+w|6k- ze-t-vv*yB@@kJnB&5^%p?0_r%u?H4BxSd?n?1u8F(Aq0^%G16^zZUMap0;e6ag0w= z;iA329P<3zqWhA|WC&1|?_1o;3Thr|gd|spS_;@JC$=h=6fT{zjkc^+;Z=3G-uL~* z;SZL^r=@=@_HO$W^#0nQgn~e%Z0K+?7|#AzH||126os0K^yL2L5J>EeA0x_Pvt26{ zV7xA^SS4rRHpKf+riP2=0QI-}VSLn#aGVa0qU+`7^Y!H@4zs$KWBMM!^K|xVG~P)w zcb24GdBKPtOsAR46uITjQ?986M?pJVe&~YtDM``eL5Aq>(Vm^%agOJ9=V-{nzI9UG z*&Z!Beu$d9A^#62*w7)SU*YG*g6QT_<-##uvU-4|fYxT4kd@o=4I^4pK0d*OEEBW8 z>Jd^){2mxppg8OI3go_9LxcYkQ0D*P z_{oqB{;et4d^)1>{Ir7JA@&tynkrE~}| zf17ge!4pj&voj2lx+;to68Yj~u2SYZ9Vk^4iz&#B4-N~Qdv|oG*itDeM!D9-Vw6I1 ztEQ&Y`@JPI#1Zx$`a>QIPYE}ILC4*DBM2-LqwYHq67GcRP58c4XaAP~%yQ$7g0b;0 zD4S4M!@2J;C2sTmXwAjnu!Z_JYFEhNY;|U(Q5SE6%Soibk6Wv6#wGgN-0zPpYb@aK=p+zGnCk?mYZmn=jrhv~;GM8qwy9ommW0d zIIlj)>fgUSz>#j4a!0%vH?gmry zwjACEECo0Q)`XUf3lsUj*4lgYATYcs2Bz^ID){})mPyG zM>!sySGx)+wFwgW8L$zqhQ$we1|Q#;wphnr|AU6UeL^u&83*a7m{0zG*xg?NmQ3!O z*s>Ps#k6x>^MC$wMH|}#m@VPi{w>UqeLKr|aM}=}lU;Uj{%bOOAW`F&i*xWV`($OK zBk4^Rt?e%dSRqn-9&Bq| zHM;@QA_w_q;gvd%|50^D)ZXrJ>4U4x(Te##(y4p~D1g}O*#8xiASTbBHx||4hB*m3 zpq`kzhxJf?{BwCgWdvOh#oRA9c%xNRnx2vZ0Oj74Q)4cBDc+arxPQrVS#<)$ z;+Xk$dAPe-ZIe|q^8N=nv@%b!SZjP%8zbR9%<(&&&TU>+Cv*qNX=u&jx}{{P`uDAN_;* zwX`bm6=aaxgS}*#-gm>a@#^}7un==LM8OHiE+v+`{)(2>8CKl!VW7ke=sQ8<1S&sE ziDOpk9Onj`vr;k@#iB02+pYJAdPzmA(Q{f^%22axxPk3 zCpo7XAHa=5X0u9KAos7H&0_#}4a{R(!~bnbu>w1JrB=Tm09wcwDb-?@5GZqTlR>S&qgtT*>V=z0q?$c5a!LkmuAWd)|F6tJM4)< z$4EOgIcZ{zqbbF}d1Y`cT@&ZJ%ma^lkYrKtKl}5VI|$9URYJngidw?OiKxD@(yT&} z_>({Nc5s&-{3Ic`g-xfLN9kgj&oe#TCaoK#6!)A|Xc=vkk8O@I{F1HkgBm%p4n>{U z{7&-|qAr?|+OWkXS_rXYAnrcoz14#!X^r$?jz|C_%!KbHzga(2hYkMhMfJfb71XYP za_Y|U3r_PWN%AOcYzErP%wvo<^yy`t2Y|D9=_n5D-KW-J*>w}7+QMNw2MP6NuvvZQ>|&jO zP=XgRiMRoGsw|`qO84?d5?7q&0^+`Ci;n`LR3hhf)?6~v@BUVvuw^24A}elwUqwAg zhpo1Zx@zIVwcf?f`s7A#^~Z^o?x+MVOTYOq#uK<)otZRYyj+ystB_yYFTDfX{~W`u?fU zbMvJCKPDGZN{NX$`6dqt7$?s6aVVg9ZjXj(=mPWVAZk*lE0w_#owb0o`%u!Q(2htS1O_RNkpISwEED+4xv zGoefo-rAnm=$*VoSU!?FRc6$()!m-m*~sZX$qBAyj@4=sWU<*t$AKy49W8;&wjSu#vH0y>Olac)$+V#?Fh%$!ZcV-=^%}mA39iT@6!-E2X$lMf^ z?O9J&&)R;j@=X<%#^e7FLY{;gr@dBM!Rz0ktG_R`UWQr}4?Cdyp2v{E$YL#j?>7$)^Ft451AYYQzgDTqu!?-xOXH#1Qh+h zZ4KLQQ^q`CbUb#JfHxibQZ0x>*Mk(AL&oySdSba9o-jI(#fi zNY|s@nWaGjis)2Np7|E}b_bPw&1KY2FlN#9&*CC4X(&~+*zchKHcMhfaqGqYJtp@^ ze*dMXEt!KMBtHN^W`C*Ryyk+OVYwy{hmG8Q1lD-D!%nP1Q^xheK6i*4?CpH;#7z-}>>vspfKK%G* zRTm{6LanS!#M+Lx>Z0huN6z;SQLaSm{Nxr~j6rzgmqJIrr2xqNwr1cU3Tp7#Y2?zT z2?VoEo01^rUN4&95L-GAX)-h5H z=J;YXUf2r|W}RuLN4J>&@7<9j`9Uv~eK=)W;} zZ(_}Q`qxVUQG=e!o=G>69nxMdVfDvZU?`U6Q$;!e!m}>SJW&<734r*b1f_|5cE(IzSV!*|OAM54c@1R?doZ0|-HO zbU~7e1(c__?lM61ALx(xD9bD_ImXWwO8LGwTY{X(FJTlfkRpTQQQ`Avmhw@>M1PEJ zTuN#c-~R{LPF2QdcVNRjpk4fI&L2k{!_#cta^;5@$QNBCBVPMz^CB`0duFRDJsyn6 zP20sCI?9ZeK~2;yV9gQ`%nSCHpCVI1LtZ9y^RSjNVj;iHaI(!T4=dXdV?eV0gU154 zEuJ^dQ9=^eOxm3Qgk|Ldzrmqm5TW+TAFd^MZq)jL@mG;c3JIZrP5S`Zsc;>)6XUOuM^7cpbXq`LV{Y3=Tb(J^}k?1_5o-D4Aq zt>c5D?!bD!v~zMw-nh|qzAZuNz`^F!%~!aJ({i{1a!MF|7i@BZgTNLji=BOtd2{sL z|B0{BI+wX(*5CK5n69+jzYXwZdK#%L@AI$l*d~#X&`*uQF&SArs5V?(W&m%Ae*JGH z=g`ML2KEcSZ)rs@Q*d8%L)-RaQIEF?9|wbf;UO1(azB<4zM+w7ys^>(aZ=RbQ782@ z$r5}{BgfaPV_((EK{Fs!XLMXdr5vZVG|nUSRr!hsfz??sH{pAlaFRuw3ijHWoGF)a zpe`v0-kp$Tx&qLL*vM!yFa(1aq;op z6^&=YjcHD{tV^zj=sSY9lL5u4v`2Sv~~5-63u3P_e$s5nXkL^K16J+;V$< zrn1}rq|#fo=u7yHdvjHpM9IWFDX!yfz|-Cgpxv`Met&V-QCHV(kP_;-jJTj_kAj4| ztEg&e7cmHIDv|(x1!RxU7K~3jbxj=$n&E$KW4I33@)bq_+X`ATL+0lWiN`3VX32+G zDM!@`%6&O@DDOKzxi@+6Yj#*6+z*TdKDHgf#|-a+2$^39q)?hGNy$^gyHhn%F(!5H zfw1jy*&T^M-(%TpUibtDT_KYtqDHx~rp5HtE7PPchapgn5w^_CSK?HN3XL#MiRBD2 zu#m~ni*xeCdFzl#?BOlec#KZ$^wo~oZ2iA}j6hVtxuIG(+AY!KQctVj)m954rNnhd z0f34G5yHNF`4tv!Gu6x^3T$yxRoGx=X95=DHkL1TN+6g_F$fB^7?{yMve6qlr>y{a zqQJLcKo<026~&t!M_F9>w_TF{9dK{la^c2Fvw1c;!To0;aC6txE3LLfK`jnZHl zzC@p;?zSMtV4CwcYQU$?CIv6LgAV=_gTe$Ww^V=wl#jdr)=WG2KE)@BeYb9(VJG;* z1c*W-Jbin2O0lJpTB`V2JX+_!lrvgpZz?<+n%g2i!+~t4cNTzwdAw*4R=sKmGG*rz?Br zvlQUH5-f8u-DvLNfLnLdEmar`uHDH>*Gv&PJ`r&R+%<*qK-io-yqEy125E^hrmvYn z$T9z86JpA0gnNcOl%4>?-^i4!?>Hi?J>wV)Vk(?7j(!d2-Sz|&Hoz1I9%#_b<0+>l zzou?9+64Uo5UX;F@W1HLDmeXC$^TNpDyZzc6g*CfD13TLuS|Y2#N&r%lm}88HRgz` z8wqg7-t2!k*Kc-fGhf`ib_t|?w6#4wIoLAvf-E$fsn5E%sdJzV2<>}f^Pbzjs{8uy zuL^ockUOAsh{kY>>AOXv7rok0lj+C!ZIYhsbE5(P3#+E?PixE|^FLg#RK`>m*lf_i zKwd;k9Lv>p@!9>XvEy1?rsv3#I5Y2WFk(U)p#EW-27)B3TX-5?NEBTDon}?9UdZxd z<)85lrD8jCK3>^T&emtI)d1gjrG}}HNfQ?I^f1+K$KdyXg@655l$>Z24yFQDO-~SZ zcX@&wgA)%Ifi0FS|8naac~C9K_+4h9pP$|psAzoM^MM(vPP@rAJXn)PgE`_h{q`Kqk)gM&QHtw9HS=`6|kd+8Uf6? zp(IJhsud-Fx}F7uaTpj@8v+d?t%6L<7gK!|*DG#7uS0s!A#sh%+8!PBW05KwKsJ$Y zXqOWra%(i&A+#7MrVJ*9Ihk=$>N03_tJ;o#>c2fGaeHpRBUAISob$fRd!iik>3)lR zf4&#zYgbi|T-#bfKXLDTWL0E(4S{#Nwmz7QiXFM(mioQJ*xvR1P4u3U16aRD5Xxc; zUu=t5dPtyWS>L4r36FCpJqGV&)ZH}8FA|C3ghCqsJaoA25SXUgry@vf)c~qa6)iRm z)sqdI;4hqB<>tAA_p=Cx)F!4P1eThi8f=72-n~3Eiyr%@D8=b-R&g{Img1W*aMIS# zNy4R?@0d0s{IEfot$~l%3JpIYR3e<|OLXX&0Tx~puHNXb`O6+CQoOE}fImFY3;;#} z2>NvXPW|wMK@09!9*XnbM?n5_Vv zxr$nJQd=5_)^+_NZj>VopEC9Y(0DptXad6~`xsN1B`C!n|98yyi>OaFq0jSa$d=xb+b7={{*VE}-Vb?})XsjP4QV)O{T z0F(;CZ0}yEa?!CRB-*8q8cYo|PU-lUS;?_(6sNI*3BXUFr=JvrMaH^jSF@8*^Pmh` z!uy&CCI>|?KCwAKcT-MFeHB6B3!snOP_}R5V`N$GahTn~5V+PG&0nzL6Iezf-{iW3 zE76W&9z4^yWL3BcVj@xZMM)zV_gxRgV^!@{qy_p66Fh6$ByJWHc^p@VIsEVQoOT5~ zBdqwGG>dS1?;08c&^+iUBSbgkZyltl@5n52pn%_7b{%do9UXhf>uCbXd z&c5}UoEPj3MLsj!-J~$w_&O*BV(Q@RHkysLIUI`~!l#cc%O3!L7;pI$*kxMCv;dd# z%|48ig8XFBQ{T68MN>{Oq;+X-%1dZb3Xa9FT@*l{Gp3^*MpQe!+Pwk3(jeYm1Cp3WvFFxn+5>4;@hJC6F=_Qh@XB=1VP71nkWG(>S#Cd&3v6 zc(c{Jx^-f*sxpzF926PLd53A*t4AghgfghIz_ z0v;OGjj8Yx_x%vv7N|M<)6iK5DPSVjT7JoKcoH5E4|=ah*tpf(-n#Iz zrl3AswcCndXwx%U6~E`eUY{_aCf$D&iOzAHBZhhZj+GvieN%7_BEFNaLp@Z8td8q{ zC7kWvQ7A!c-BqF?>%8P7uUIKI!$jgLlAKCo!eH9aoU_3q9W(%7B@LRqDiFjbATnJT z>FWQ>5xN4iwxVmeT4CjEQx15Rj7XtTb8z*=P-uC)L+}yaO17*73Ld4vq6CTTI+oag zxi2Htg9+q3hs?&<@%>9I#@_kKpX}o&W7;5VkdTHFYv0$^iDS8#Yzd9MA^RbKsIRKv zC+_AGMyKZzxiuL!sCgyPgYMM>gS~H;N<7Ta+_oCciv%L{XZ@$umUA5sM)}RGTUyYw zWA|UhI-Y41DUg&1**b^w&(G)Cnyl*yU>?5CeV0$MGvRAH!u05hp&!O%4^pXb6DyWb z$&L(Q2NjEnuAEd-pz-@YLMbM|ws?!ge!tSeMLFZa;Fnf@Nr;jti7VMu@O1&Fk{(t{_o*_F=CGufGxo^I}e8xL9k9w(L244o5lq-m#-AJ zHXjL+^oDSs&#%Zj^J`1-5919vbHg;#5-|21q1Q_z5QKi4vWgtbe{jAhK&nRhYRMqv z=tX*j802u3%A>%;K}XEB@Id->7e~Er9p^Kw8=v}r@ZB9H6?I3>i*Sxke?LB}Tzr1q zLIp&q-eYZ}RsO*b+}XY{x*2}a4wUZn-T8kmD}TBn#Qv7lD@l$CwWU?MJ6#?*&Qfou z$@4f7YC{zq>L}OA=XYwp{Z!lacGQo&TX+-QECo#WN^1bNi>$~WOc%}l+o8K+=}x`T z_EtA4ejJa~x84~-w=lPRd{QKrZ@fY4iqbQigc5BPi`ZSoQu|@RvHr>4TmF@uGP_aQ zv2R!W>8Rd!MF0!a-LX0zjE(*7EMw;b_2feZ!~k!Z5Wk#KJfHQlP9PqI z5A_KayO_TzBQ?XchEcPa(momSl+{RnsyUV#-#@5NAp#+fW8MZM|yp)4J;( z!2GM$XcLlBCQ>ySw4zTW!l9!1D*7cm_dJd^XMx6CI+Gr_-xRjRT22a$wfHF91XNXp zvEYYg2%!=r0F6H9tq)$Y8~ThGH*UVgVpM>m{=^ZgpLAMj>A?qBu1tkl5UOt%*oI>d zD``5e%EKPa1eEg~DN}$=SD%sqdgC|Wfmu*WxDrM#82oc5U)a{qNRo3yDr~Dd@}v)r|uxW6MNA)uN9h3^x^^UETk|{W6r$ zf+C0k^knYbLmO%$;wF5a5y`2%@120kf|?{y*n}tG6=jg_VaolJTI{)H=T=95 z!vSEN?sZaRa>hH;pIR@3I*^Q~?Zqpuq;ZhxfTdJ~$Oe7T5hPLd1Z zUljnJ&BJ&V8(5U@gqThm{L3+|tnr|7alrVr!j6+>`7r6voOY^tj*zU6Lnh#i@3>89 zkOcKp?+*aa8Jj}D!i^_yAmu6{Dw#f)KOO}Bn+foSP5B-RKah4#{3=u8s<#h$FC5sf zh8&68{KXdqhPIxNm~c+~uXj}@JY7B3x(8%k0K2kiD?w+tGw+awEl$Z(J%4*T_~=MI z)8+Ns6BT$w{JB(48p0s}L{J0`8s&o}%LIE(?IT30>C~kW(CJf<#y{3SK>lLTs^w@2bn2hf)7k^0Hej;SpW9`WB+7XZT-{<4_4q@*?2!N>Ksko zoNE(;;S-{6;n$A^eH(1?$XJ;pQ@-~v@wHmP;(q_dB5m$SAu%wiEFTQ@%?q@|znwK} zOVt~qx_lSXQKw1mhn(bBu>hmHzfu z<&qJHJ&k0z+)y6So}e=UQ{_pWce5EaLFqpLp`lSzVN>6qzK>CwhQd6!+w_cXB&!~e zY{egw zulPXzQSu<2W8v~x&@WclUO0;P=-R?bLh0j?L;%h>vWI^{7ePIy}dc2pDp zVRXL214iL{Cc2wQzrv*Id@AYb;NPn&f_&4B3y>j#m7_i5+7}Jc1MY(`gqUD0zufGE zU_0Fy(KjG)%jq2%pUOQ4*!ex6*(`?kh9QvbD8+O3+55uf*-N z!yzc{E(gUv6z!t@~G+KY0eb8zv}OxB_##ywkWJ|O zHY-zRD4F0~V=#Ft7$KaLQrJn7cod|>WvoSK)*GyZBh)sdp$&qLlBq11Cx=ln0p~@y ztl?n(LwsRAZS5e_AN(vYbc+xe{%wbhQ4*_+jQ{l9<@w)81;v*90p$lT&vU#FhRT0l z(U37}b{6B*qCLx(T;!$GBqKRPP*?>?N*)(FwIMyPU&~|rN-KgoIQ&9Brc15l0q+_E zV*$N{&1^oUdIu&Fil9m@xmmx346iJuSBwow0S`)sive##%ly6C0K zC~p=omanBjHxad-DZA&h-?U9YOEAB#{`xC{ai3ed6cWa59VnaHatOEhcwg2n=S#QBF+1Y%Q8*J!GTTSe=Zz5p|y6A{W<%tB?_O_kfb4F_1bBE zM#gGnZ}<_5eKXVN?Z~Hz^$xjqx60)Z8a$Hrt(qzGWlb{Lx7;~|wy#Zx`73m^gjx0P z*g!oWTyb*$W30QbNG|Ve(D&Iws{KBog#ZFod`zxgx&y(Q4A7FT^RLf6%wPyJfSv(< zK?3j<0(1wk04ocpE2>!ZCWJXcxk>&$ZQZu#^`0OvxW$X?4h&w{tTaBL`zp1vss?R* z!<}uoO>P-hd$EC?C#i&GvK(9wF{6Z7UaBSRZ+xEiW@hbqEljX}QJ?m&=_}&>GBQaj z3Q%T~vDFh?{>f&q0L1#K9Prf(aD1TX0BCE8l5)t2XW`!S229Bz z)C+vzij6VB)B23CrW^;%N!Rw&n(=X|97Ha*@92QO7@e80WVuoc){hK4VP&>C#GCmn z9QCrsU+QN!s@i}C3$X%y_471^-RfnT=+?0`FM0C~W{OA#1CnS^+iT`LQ@r2A?os5d zCd-H2$-lVl`pw}dlS)DC&x@=OxP2_ZSz8a*P2i!t8c)|MjHvg(eD4{?i4-o)mQ%X~Qn;yCWh z4cNCIt03sRkh#=Z*}5n%V-VJ(7y!96^5Uk*5({LYeYn};N~brR+-&&~t_a=|$gG>Y zJ>qV=8aUy!Jau}RW46C6YiOq38GG+E+02IGw#?Lr*)E4)v?*rMndy;?B0*4@AkpL@ zjDzD&C!6ORuiAp@x-E)FjpvW|=xQT1TOuL*9*t+4(oFW*s4uH+vUYi#JvV0j!fmXx zuElavr%P2V6XeHUb`On#aomh{C*q|AP?mRKUyrK7CnI~^ncy&Y0tiMBSo#hyJkm8( za=%aB@VaRD)3b1igtu~x+b};84-B{FHI<2!WXSv(fd)|GP>2w7FaSMPZ3(2UDBE6c zu-S`K@5y1a8dmZ^R>i8z<+n#hXwr@grdh=~9-yyzr$j5zv%nqd z&HANfpsW)WwiJ)RC9$A|wW&&{L*)hIBuis}ck9=3Aa|=bWJX`y9^-6{3Feg-h{{Bl z%^dXdn-#vBEuLgQ>dwB>Dek7zO-fAI$n$c8YbPFQhQk;vkD?N(lCU7y^gwzCfRU|q zz^8`33tCIFGuljyaZg`alPM->0#NwE=m9W8gop)R@-jJouEQxvG1?tmRi56kJqZRP z`&sti&b@rmCWj_J0w>Q`x`L#KQRR7y46}nh2pLUq_TClMayU<#gD$9mnHu`(rCYh0d4|!ADBr@O-|Qc^pakM0q?4KX zP#Fylx&(~+gAWaoesHh&OoA-FSP}&kqoJdY7lYO0 z^Z@GVVxjLhQ4ApZzmiH~MW=Yeu5o`)N_T?5lShaXSDQAJ0)ggYFwdk2iH1z4Fp4!3 z@K!wPa}i<_ywu)`N)1W5{RDo_Pz4`N8RG9Jf8MK0fa+gFEntw8-M{$Hn!O{L{id`T zrAJB=3(C}-)H0(p$_?R3&*cN`hYmN>K7okU(Q1miNjfEeNrt=-v@CRBiR2CvZxgV| z>319sEc!2A$l>Wh5tgk94{(gLm2a%@TRZ=2*?NN$^=u>jF)@b;a5FXcyS= zE?Q(AE2$COI5qoLwm&72m>7S%OnkfN=_wl4bn`2frnOQ^nH?k)<}h_Dfu8X0_{^{y z?be*93Ap#RNJdJ*j)yy|ttvi1l1xS%A3>Jch__HEa7z~r8@e9tv~2fbvNtt1y!%#q zIT-(;Kmi8%p5@{(kU{O(S^lbVvx{22Ond3>(t8t?*d3)fm%|ie>Ae|Hpoeko-vyr_ zw%Pgv!5P@J-=b;$V*>Kkn|^b{6UtSc>3LXOmR=S7ow%utv%d& zV@-+y?CyRl)V#?kekzirGo@`xLD`pm2Tij&RRuKxX0Y((!IytwkF!EAdf#XrK&ZEL zmI+c9{Akf{n9t75INB<3zFq z7nK*Ht993AmHeU0C^ssQtDl?k~0wJMPkENx}zt=OPE9VfvI z>|z;wJ14#fYg6K@berYm92GRRC{B2yF~$}kC&Xxc4Dmq0Um~oaFl8e+JtxCN^%I-z zDE8{RZk_CsTs~x*mALjd<@~ur`LcMS_YK0b+;1b_q|+0bp`PGYdh`A7IzLs<^~7e9 zIxF4V3_uJ^h*KG_b-NQ)lgo1*TOE>en#~>zww|K-UY2sO8g0OQb`S%TF?f2|bZGD^ zsVFx;4#gH0>CdRc`BY?5xSbiLff`K&WUztt=X?6h9*y-?B7Hz~twHb~q@d50cfCqv zCZ|Y2@ip76VZ;CFXw;byJ`bz(J3XsszdY97?eJ#6{@}x`%_!o=7F;`InWxWymSaTX zXN%iX8Cwpe+$h)Y5`uvY+xj{`$mbqG)W+&A%bv+8S%UiGt?%`h434NEdWE`ceKaj( zDZ3E*1wau40-rGJjoc|bgJ|9?6KqHa-0fY&wWL=4l@Fu`O6!}%T!VNXj5EN6H?%D`Ec}>=)*ckU(LN%kg6laV+Jmsp=GHP%xr{|v|)CEeA6W%9OMWGh4s2=YPj`_ z?_si8vT8zs2-hXQP2ut*fTkcSp6%z~MRG}cG>&u70(VsjbM=#!^Z8!<`Qs`F1S%6r zKe@u1hZX%_6JYrF$=+%f#j8%*{B_=aP~e>o2i699#xm zmYe@OSpcbMo2`XC7X`<>4ObQ`sQxjJn{E&hc9RV|9F@l%Cg~#OTFO0Y{Qi%ms|<+p z`MSGHcXyW{(jXm6h=i1MgLJp_vV_u>VwMOG(E9N~a*Gv~)L1?e5F(|9*Ks&)nzE zoik_dIrCj)Y=smv^U#R_i%dvj1QOMTGDQ1lk2L<|1u0sf=KeC896aN|Nl#w=+E{-z zP;QHy9%00T`y5$dSb6_puW7yKP=^{4GG=0qi@Q!|EFxRWoMs!Pf9Cz-{ANl%ooir3 zF6!!+=1^KLcVa34ne^|c4QMK(B?`f(-hT2yK#n~6qo)Mn;w5&;xc7p_zxUNxVXqY} z@16W{zGu35{2~tysK#;PTC+1>#!svn`pTU5vzKy?4tSr-xkfjgT1y>4uivZnaos!( z4+F1+6WV7-{dH~E^_kXJ1UWI?OnqrEZ_7p96B)Vn>uzser?k1#Lo52+du8j3a4lT& zZggaiM9hQb>774Z{>@t3Y8VNW6sXw?-xq8|J!KP8kJv?>Tt{^S&r1|yFk?E5_$TWg z`V3|2!WOGxCQqF<{)==UJ8)I{{!FpZmU{uAicjb+}-66M@f`=mJm zkBHSaeF|1s7_(#1L(#I?zE`30=%!9CBxm|gUA-B#-oo*>YL1EO(ZpM?R!NNZGwXIH zfYlz(0mKfP5TCfN=_vZs6BaPj?{9_{92pTyP;@ypHHcxmroZ3KmDYodS?sF+{jJ7O zJ(ioUpax5mSy;>~j}8*y#U5u%UhN!v?ZzN>Q+*SfCB77&d695xTv zCFjQI(%REK+$>LeHb39(q5$GT92y&F^4oi5ip%gO%#fL*jCWMk0o8wu0% zhNgO-opeS#A>V!z{?ms?@vnB&jbmqd<6v}SA2S{par$6D^s$!tVS{Pt>Y>7N^e)8l zuM8p)6qp(X#>&J#FJ;<tbT!7{eS z4W5~K1O%E*e+g^Q&K__Wd^hFqq-NK?@Jgv9`Jh}Sk{8gjb@13BI0imf<=b^KicsnT zT+C8TFYS{r10MwX$+;;~gx6sGK)Ab7HL~{cv9j_(!5B3^=!!VZsfok zA(y%+%;U8BUtY5b_4wKx^yffO!&>Lpy+WUuWwW4XU`umKZ;T3DXPUI zlU%AJWH`aV#)3F1XM*)7Ka4bxj&Fw@|2VDIRu$)~s0hIY5kAzp9L$t-nhI~kQ#n&aK%cHDhMopT zABMiL+EpWk(F9yX_XuE(_^fkcX5i`&#acv!r!PwkA_ZBw0CLl2=w$kq2|^4W(zmwP z120S_b3kGJ%bdNX>QDoe@#Y3fQ4r8ph=HtwR(J?oM%?d5glU^@SpT;N&JCI?1lVs2 zYP%l|X;;qEOJs-hV6J_*^3i#aV?Wk1|E5wC;CjoTL`spU2{u~wk|ig@V-Wg8=nP-| zj!OO}INWd<7YkQV^_M^dxCi<<5d4m`ODnK4XSp6qttZQCS5;I95j!){)Gft zki(nr3Uom1E`ENcZh*)Aw6gP$dj<^ow2-@M<^B)mlC)X3 z1GUWFANAkOc-Rbx@)5&1asz=t&^QKw!B>}}eOLrZM)+zw;B#LQ1(jkZOIlP9@Z(`9 z?euQ2Ra8un=sXvh^Kyv9D{*t(U(Ausovd8Ir_Q4M60g(&tu}&uctT7|B5PBbfDJ7h zb`I%W+V{TzJy;52f+Zyya2--v8ZUsSlWIoBl@T`$ZwV~YWMMmSb5laXwoJq9w0Pve zb=pafni;;p{rMM!J;Bg0mbJu7pm* z7leXE>I~8wL0i$Ou-bfZbMbbfXOjTEDB5E?0p#^V>A7QHReYn%PQ&lQ*d=Il*Jp3UKQ zXN+o+nP%{Djc%_9vx!-7_X&YJaef?i;@6znNWvE$V#7csr+?9JLv62m)3&BuMmf~) zGS|?4#wR`3;b_!dvacim%g0-*CmUBR3YXt?_*%WbumMhGK}inXBSb;dgU|C`?3qTU zaeeraw2$Z`^8D3kr$TS&f`O*K!7@U>RPapO(q)q_C5GrFaV(a`je?qy!Q;A<585P>FjH-oImpARI}IDIzMSVpEqnDO}bA_%iOHqa-Q7cokU-~orc>i*e4I?ff*h(b zGFw?9C)4$XxcJZcY=vHd$d8x+pa-%?4-BxpAnQxet3g@Fygu>gUqB&8wKa<_AjG7E z9oXSD$AR$+^g;z1Jd|mOEhL#-VqL2wn1XkjJ}La2fHe3cg_vMWx+`uImIn4~(wrfS zYQWI^G}xj1n}hZ?qoUdC==N)nEs$Fb+|2_1XhoMwi$|9`4T$A4h~kQ@q+zv3;#iz6 zVK@(+b6+8e$ynt8QS-egKvt+VB^qWNVfxTVfIji1{$D-~ZqO+B+>As7bX*ZB1C)*< zM5orzfn;H}oZBv=d2Lu6A9b^{LwrPL=1sP@hmdn|oxN_$=)5hjH>lB{3uorq!;$qG zP!}v{t>ozvx};Vx)7!DfqK023%)Qc47$hEwkt^Q=8Vh8KBrp7-*}F9 zhbyl~*>>MeACyr-E*cB5F9mXAdgRcT@SsKR)TPtN%v#tiDKzc;*psqBuK-`sHl z&oI@NT43*t@7Ry%V=uPu9C4^mq==Wx%54`MWjKH>DncF-k6tF~gkpX|vlPB$c)FSg zYJd*KZm5qkXlI{@2cN*8TG$^)HkU^-3D+j|p5y1w6ScKi4J=SbRC~R?0JcMy%;)kj zl`4?)8y5cA#9@J|WW3$xj;HmR2zv^XNyrX}lBzj(`s@O;ZX@PZ=e6#T(^H*+wykU&8F_!W!`t*CO zsePOy?c`xM3PgET#H2J|=t^`Lh!saQ16Y~B*mRUQ^YNviA`MoA|3GffFXf%LGHVNj5Z1nK1HAXIT80F)7YT`*@GBt_6#0ccA&N|>jXg>btzmR(k=sf zu}(xwMGbCX*T)f5%f*QYKi>1aHoNt}d(f>;X&Z~>v&VwvwI=cG&g9B7r5m$}NJ(Is zAMjt<+ReBX8`A$hPvJhIVLg2AW@a@jL?=Njoz(_4KVTuB?kknv3BWrg7lan)8r!dv zgp>SSRXvJsyHh@cD3Fv`-RhkcouHkil>aNrsi$WzttD^U0-2U>lwt?!=0N20-==VX zJK_6dUTTG9$6bE^{80II0Twi0@W@2E;Ttp|fkNpzpKWyPA%!a7^?%s4_Y(0@ss&sZ zYW71*3&r1(EyRHEvcV$B+L%RVVBVK6+`2n@@WWB;%j|{7Ld)2~X9q4}))?jLtc)KR zc{piR%su32NYY8a-l3J%022$i0Y?Pyu;7|&0|>{j+_uW(6ieHtE_%g973FviyDNh9 zJzF|`Q?ewjOpIFCAQ=B?bbYUse66+t+un8I6*l_`me9bijyLi8#xr)&<~*G^+In_G zEF%x`+!;AYO1LeURWl-20uGh*#OSkrN|L}zk3EHHRkqFS2Y2ZHp1MC+_rivY)08Rgx;SL1E2pQDl=VAxx{W6;$=w0RnL2T=T& z#HI;tw{0Yt+o-HBxAr|<{f{+^2;4XrUll{q=_>G@_hYXN3xIn=nzO!tUYG=vS&)%06W(Y0q3{ev;z1aINNt_MsOlpm64M7GTLwuJ>48fGU`ZVGU z0SM7R2W&;-&=m^6x&I%Z>SIlKFyR%G==29p zN4{wUP0}b14<{CI+5t%L_l$BgvR(Q)5Lrtc^CzBGi!jX6CIaD(OIHFW!CEC)E&7Q0 z+jVE`h*Z>Ko>watpHFsW z4cF)Byh{8valB`b4IM`)SjKBG6@HwFCnOn9N(hkJ4)ho%$4UO-b&2tMdO<7VQEH57 zd$;x;%l#w}dE4WCg->poQl0_avdeKhC3>!}$8tIbvmk*s)W5O@mhsZ&PeyUt>b|4n zBva!g%LU^tmX#k~Z*MjJ@l37Jxg{V7ntZ-XF@~yXUh8al>T5SWaOlUl+YcN3F)zd< zs;|3;_|P`_*xaVzfCY;M_L899Wq+H(IbV$D!c$AbtQSs|*fE59zp>s8@+}3Dp%|Ie zI;Jxu@FL%+JqO#S0KPqxg~ftb%hG~5QjYTS!?xpBLlyVV1s~z=DA4=H9d=z-EOVXO z>Ys5k(b4ZPFMr_+l2oTp3eXCk$VTl=l?AXk9HYe)STVveHt`y6i0T;-kZr8t%{Ls| zAs}*cGoinSH(dv&9`AKIKN9*sZ$rG;t_rkxNSWIg3TQbD=JTg3DdWxcunqz#>nVeN zIgZWHlfL~)b1UFcFy|RPj1h|)*+ENkxtCiA0+XnIW*CVhb8N!xJ|+8gK^_O1cCt&0 zV%^O^YCV5Vu!ydE7sHy?DMV~L!n8yBdaby~B{+$;ic|%X6WU9KBnlpGTu4pXO-1C( zs6=)noa+8wjIo3r=xZ4EKGGQ_jDH?wd$8W?rlFqGEA8{~nC})?hHp3m*5aRFJV#o6 z7_Kyu!&}S!er%Y>^f`uYo;v6ipXvB?pfZ5&262gblo_d#nIz9e^;gukCECw#!N7D6 z`BBO^#^T|v()Bs;fe~;ng>hGzONtdRYYixGBpRJ5 zbhE|z*d~iA5rP#IdYm{7@*^iayx(zv!1P<_)yG0 zsWeS7#ijnVeF$^Ri2J@iLOWP74ooT{S=su?O@thU`P|xHz4#}$if;G)`s}~ItEUD+ ztvxGWy+Rip^-SPnrFY!<=lQ@y8SW*Z=D++3&p>lfvjY`IT$bmgL-fCiq~he>OmkrN z@rhaze!$Y{!u3}Yzs2A`HbZU8(WI5Ob&We_cNjNtU*vLr@G4D?f0Y*lU%8ZzBjt#pdM=B?X8m=zfR)^8U^i(EJb@o>OxNQXmUMHQrXT zNS_|>czqDHc--xEQ_?pUykt>D3bM1oi9#ZMd`)+X62ZbnP~N8;qEpqJ0@hqrP~83} zgwqQG5R6S>HcY&R>B=2=*FsbA$mj4#Qs4$kXINUiKro57fTSWVwe~&bLWZ|oOTcZu zc64)Onh)~g)yH3?X&PMb5;fNN;FN+c&;nejw=n&}|L-8h$i{h4d?8 zvat{Ar7gj@FUkj+cu|M)hn);d;w56SD{{p0NV?4G0~qqxFC_VJSQCCCNwDj-bViiA z&&wii4xgd6jUk&=uYZ?6Rw$mKn+*(W`HM_1>H1q5rJ)NQMAR!~2NNhqk<#0KWzW{Xhdk+roR7bLFFwj|5tYrV)L<1)&iI zCY=Dm^+}nx9fF!xs*J@PlN$f#Z<5^kX63_=bO;r#RctQSwb$w6!E7mw1ER#T)4f3Mc*z;Btcc@Hu~ zE9uI($H%hi_}RgS2^Gf1!Eh4r-40aYk3r8O{RoCGH}9loi*#mt?+M!)%l?_b_iM0% z{gK`K;O}a$ZW;UW!J*i1Nj6t`CWtxQ4>3Db`rj`p0*gD z_VHG);ten+tiXMk5aNoEf2!tHCxKqSsDnhfT;-Hq0v z_x7Db8$RHq0N^rs5Yjr(sRepeZQI5A?a-Bunu=1>Lwu{^2asp;`#CR?gH>Wr>fnlR z2XFsf&mmbFFNL?4Sdv_{NPsHExRmtErGI6;t8t@#+^s-_DeLD6dnHm{mZhcDN7+#X zR~KW+68T#<&04jwUz+1d_@q5rH+WWw?ZbA_Gl@DMnvDLpv@XPrS~DuG@A@lYs9#3s zL3aJ3+xtiQSUvb`_y*65qDQbuKN8wsp_qz*@}wXec&``H+x4u=%Bc*^1f1=aH;I3s zkVx`;))jzN$v~Z=!q0eU<-g)Zja&*{8s_v0?fH_`ee4W0sLESe9YD#AodOEKqkIOK zmq_d*t)24p3N2x2PE$Sxi2v*U6iyhblUk{2M5QZ+bGz^|{azktmqQg5MF@*kk1RcZ z;m1TvXIso_w6TEd^Ml>pENWE$x7G6uAzy${hua?zD8V5a1&2*2T_tYCJ|iHXqC_!2 z8}kmnTAtmzfk!$|k;Zj`M{^k;x*CL?bXJ!nq|I$9osP}tq!7$&fQ_3*gOO3fa&Yw0 zLi54(K%N7b7pQpJ^*+?l%sw0)J=iIOgyy~8JOmgrrETLHRLDMaxma8fzULL4 z?;f^zs2JT5j6Rh6$T=Lq0=VN*GJt0NpZW#CnuQN`DU@3)^`7kD9#8Fpzt;1|Kxy&Cm&E*P*!oZ&Pa z_R)F0%mksLN@NMPwm6iyuAc4ppR;@EzKs(6DDFDE*h(^Zgqm3!KqmBR;RMUgpG66U zw>#ih^UcHn?SB+s!=LS8t?3+-*~7hrq-L@kg9Wj|ZHZ2Ms7XXt9@Vlx(n5}vjDrC; zeW9BJX0Rx#2V3#TG#LRDXZflXnCD^ZMYaOigh_~#NhSf8Dzc!qF!pTeo;r6j(m9D> zrTw>*l0@k^xtImiM zECOO8K#<&B?#f8cwCnRSVJmTz!=(SO!&1dWz;BB;u-NO zxArdHF2dzttxOlzV_=4C{m`WI|Kkl8TO2uz^)g3~Sxc|n_o*FVt$jCs?4%Z^BY{~!rqOam}u-Jw7=#NbwGnneJTjq^*z^vVns^k@tFCcju> z)i5c-y=+^c_sVORHBkwOYS9~|9TQw+s;NZ2QwZvNeiFLq1{2797=0vpd}W&ljgMCz z-Z@1$9dtj+Mh_YmF#xeo&omjy)876Qooatu>-T9sCk8Wnx)N~U)A41k)x2K`ge zsD_gQbk?{tskaCE6tecb{123qt-yro(O10(Z2${E2ro+E5lJGq)Ii>y?;N5yV0hH<=$iL1~OycaZI`BF?<&u0I9B%OmUf^^siF8f))hqTo9nUe>gRK5OT%HHA9Q7>*Sn_jMV4Hjd!#b0f-(3KNMkfk%5g( z$Z^(bBX|<6D1$K7S``Aw7F(*twyo=l$}1DSo2VwFn|+cwZl5KX|46x54u__Ek{z{u z%?M#B)9huMMj*bxpG_JZeWxvEDVJWeu-n@pr5ncs*E12ev}%Pgd6si}{}w-cs6@?= z=vAl)lAVP9XdTP@^1nJa@W#C*^S1ZS^Mb%jPO6Rh87PU~MrnUtifnM5b8?kC+0Xa! ziP$ZyF{QK3{wLBajqC>&7`~soDJa)!+eifW`>f{HhGeKY0lBwKoV;vOCf;~hOgzsL zw>*RPXWlIxq_)KQ@J)`f=rUu>c5j7tpMe!HlQIn|k7XkvwqxsL2UL!$1Pd2>wO@~~ zKb>$7UVHW+Zsd+)A8rB8a=xz}+uG1@23 z7cg08Jkcpu0?lD{q<=WDR{cN_X0`XvUI7TR0OT;}-ev5N!YSM;j;;IeOH^+i<1h#DC829CLHwsM}5jM9Dn|9FNl%00d*aDVI>aVO_CLae>C zY0=uh^%Wmr0V2g7W%s^z)MswYAdo+R?W8Bi9WofAUI_vxG1jcJByojg%U0brE9X3@ zVu;`z;LXlYo(clx6P{7(X&ktbuS*Unqw^cno;@X7`$T(*v{h5-3{{AdFJOU-FM`=P z3E#yug9brJpW&Qqi;@M~M(huAiRJgbXLHM2HF_y8?|AZoavFm@U;Y|HoGM#RFBkKR zL$>6WS%lUERi4}?`u2`*5663B6tMR(;HG2JmZgUD?TGEF#;Dat)j-I6_ZGtye=oDR z%DfWp^SYtHR7(H0^8z}m@x7(;{^W=u68C*uuaEUj?6C*my}sq{jWa?XwTp`i>MG#G zm7fC_*Tojma>|+{p5UG@8BdoRDSY;T(m2`-{baOqVR`D5*=Nob>$RJ4s^OT3lywHA#+tUm3z)c)btibn2 zVBwPlO+GhKND2I(z&Z9Q8x_{yJEzaz1%>AoxSp_i%s(S%r8itqD5W@fxQ|V& zH?(dW#}KAO|M|`6`G?x{4xiDsi#YNv_OxxJHlnZTG8T{UT}$K&fH1;8bc4xnm;j2T zcq<6MOmP|6U_WoF++5i4=-R@w=5vbw-x)S_*Jp8kKDBq>e1c?UdFvZ%95vV6JBuCV z%-gPb$gp$+Wa2UePvR&HqqwXJI(HtZ)?Y7+4J~COR^TH$fT|DwBT1NdFDqhh71iq8 zOa|VeLfe1#3NPQ^bn~7!6{3PzL$u?=5x`636E-sNNn&jcEr&(q`iCE;xhqYqI)*BW z#qzx+xAWXZJWjFyKcbr%cP>APm6?akg_Z8BjuL>*BaBTu@2~|E*gj+ONrcLC_&~G) zMueG1Oxza{CIie(jG{NlW3TP-%s*cKIILjDur&OUt$XTbpMf&Xl@ShFB_36Wll&gQ z;)yZq52Rj-3b+%FGP3Wf_J6q}}+1n*X)s739%UFBlPb1} z3h4fSr*R!*dTBm|{$MU4|JJUlS5hpqn8YVN(FYep@<7FCdg$A{6dsvm0%Y>~WiYRb zkH{MyN}CY)eQ|!pzGo;FbMhx6_<)Mb10w6vOO)j8q+AElm?>ETinb_D_e}vY5i8xk zmwpzvitnVvZmiY6vybB46^p6g@%d5hPji2FD+42FFP|TlPc2BSUVpyz73Uc$v&}LD zY}Ie*ceOc*b(JQxmrBKm9!Ke1!pjz z^Ri|`@w7yD{`p_ufG5a(Lc*%w@z0ikmHIQ)n#B-6o$qWb@d3T|kSD|Q# zs#7vf$1SRSGa4b0-2|4>AbG^ozwD-zj&?(PB2M%p)>?kC-2FmMAXfg;9}*>iZo#|e zLy`7P)?O%mm{uvD}3(v}|GwORmftiZ0@M}xR|QNweF7CCI-g2EUBlKqq! z)U5tsXU{cM23Lz_&~t~xF5M6E9$yYNeUI&q<%FwH30cF_5@U9hu@E_5Qdi<6HKwo@ z?tk=J%9Qj-5_}8!1?p^gBs@A{^R$=#saUgj9lQ}c37nV}k!K7!Q%nLUC|_AK)jW(x z(!{3x-Oh6V? zU{3cZVbk_++-tie@}4d3i2sBpS!Ilp#Kp&lw~6N2t5+!l=CG+?0FO`ztNY(;5${Dj z0=+al(#EyK{p%l+BN6O`HYlgpenR}u^y|=&21Lne$~jzNa}ptnZfFFPCF=^lgW9}~ zV~k_F!`PO?)W=kJtz3o0hpnjAY{}a*Xq46~Y)W2opyX-z`Y!tkrI>7|cQ$XU5tIEx zskJgCUiM!E^YWm9;j2HU2b94>@zCM}-J?saKZla4cD1@2K8xx+c3!NkewyBB%t4re-3S`H;%y%5^Vcf)*0 zC&A}y)>EEXcU z_$aNq&@JAAPP>Dh8qDDVEZq!Xzt0i=!Z$PeH<~ z`e1T^AFD7fOf@$=Zl)Cf75;Z`aQ}r>1`fp~a^Wh0cWbf9379Lp5>uf>Px4c; z#7jKPrwkh*)~UTaQemQFX!pBa3~Nk|_|eYin~IvJ_~Vlgcx}OcLJQ=lt-cdES%KmI zD;}d{v@8$*;&XcJ(0^H2P6+ErUmUwa|6%s_qktS44>uJ(7^PeCaeJr>H--T@oEKan z*r$aH;~bcqO+0sY`>0Zz2yM0K&as=gCokF3-on3qgyBmTm-I3zt-&N@usQ`zV)EY6 z(K=7FWt8QDL8h3fJ zN0~3ip9xt6PZ7`@3!Gf~%Dz^ud@L6i;#TOTZnXF1#Ddjr`2v5Jy$*j*wJrtp-V!qy znCsIj>*ahDF|0Lt@fVmyc{33ubjvsQLznbIe$F;EJt|@w`G@cAg<0#VN8rx_j3&OH z2hyo`BoeTe4GIEW4g5_!tRP!ZdQ@+5nuI42x_xec#~-KbYI>)~j~H?qywJB%9Q5?i zq(J>ksf$xT*pFL(%*)Ii2d#@6SNC!sJ<&4n#4z1|JW#>I$6_w)As^uPERv-Nrlhcb zuG3ZBHTGX)fNz%F@Xala#Z4YX?@e2^{B3tAtR3?8IzGKN2pw@fiD{P6*s;;tQPsMD zyyL%EaUTbX3URn$M)3(dz6a2gvEh;tl?andh?P7M77(V-DTpij&d9be<*UNZZeszB z`@~L`-ex1h+Bg9iAQbi5u0`HmnHjbts$o?o3hW&y%62jjs~ONG-GR=;wnVe5kKJHhHRw zPkMAjqHO4>!8c2K80^)lP;M)~xyxalDY~GR7uGKR-y{_4lAYca#3n#N&&u z?>G)A>F~Q>ET=AT-C1?)hFZBZF10wx2ZS~M7z**NSHWOm1p&Ud7q+CKBPh|aB5Cpfo6+J(>ZKeBw+bq(9a(o7TeMy8`8E{ z#f80RwzvO%zGWwQZpun3+Uq$O696rTS6emzJ7cg4+zpNJ9=t1+sHw6TmX@5^hz~_h z&St6rWR*E9BkbAuYrF&qn*V04>`n7=i)9|YRsw#VE`I?`xRnIzyh9U_^t#cpX2ucj zEZ@y**+&)+?~MGf|Hp_Xe`zcxQqPTy7imyi9LdKYRxa|COr^ z@(Z&__(RBVH}ly3Wd{1)IsGX<#N4Bk!NY8NnU2fHt2y_JhI}<-*dWw}1K&pAxd)HK ztb$#Jj*yjJ5hS{mo7!UZEC55~bHbFwpWh}nC+IDVmXH-y9DX2x9RQH!KwWE+6y5w7 z+7W=%%!dTPT8rgHf@VG<=3FAOib!|LwE*syIz>&dzyG2P5t%=DO4dX2PWB*e;?2S6 z-_8&0b4YT)FB|58;j^Uf;N>@}22(z2K^qg-vxv(~Cw=p4$0+-kD;mmNjbm8*1_$qv zWZWmol#PdHp<)ZW(_hcXkL*iH$kA#qfO9S@W?}hn50k6AIr0C7F^);azWDpaXiCzl z`2B51o@4ormqkUE^X}=d^jN_Ilo#{ZZ1;u7-D*f|OKbF(7>VTVy;%x^pVO|N{ZNr{ z0DuYraASD88yvfIyDO85oP`y))P?OkpC$7pbUt1G7Lb_N+GgBqA|BRT5Pd3LIi&L> zpZ`;6w_~#pdpjm6J>UnZee}NdA1*ixGdI4q-hAave2k+!_(?nG5h7y3r3lhg=)JgC z`4V^+d{_1%$TDI=gua3hGrH&|Jf;Yemi5xWQBZ#9#5SS(L5e!OeR)5swysINHFdri z%epnAC25w8Nj%1JpWn41$7<4PWW;1m?(tPM4pGeN>Ve1nQT0#3KE?um9W0Fbf*pMQ zU4q*cM(VOr{~<#}s*S8aE2^#zG)$XMi_zHnR0y<`<&t?ppcTM}^M|yeQI9kjHFB;8 zSaDrT#;{or;hkFUMyDLm(caC(&B1c2$F3KfxMx3#+ocReP!RUc;4t zm2NnbzcgqeapCeC8Tjk&#gUBYbKZv2v5%om6#nL72Z-3)j;kLvm+K^rH%L~p`Uwe- zO8YKwg}Jna;K4O-)!J8vSeS{Nl7y^0Mc~_{C@OhFBfir8b23ZfT|L$0^6R~5x3SAL zi+pAW7`i7U-%32IT=1l(YUY)8r zE*Ui;SGcck?zM*xD5%n&@5{}Gvtt{p`(Gh=IOV z_t}Z=`xgt__l_2@a>l9IZUj>0y8~-}sdR6z_HW?56{;7erP65VoO;F@1IeoMS^h z!#PMu-&ZerJ+2(Ir^nPiXHOx33;=*&ES+!2UB~uZobIzsKG#NkJZe29c_>8=-P3Di zhnTItb5X;nJU}cBv_TmQEjf_RkPkfr1t!l3;wzByqi+`Ck2o@$Hio zkXpu@pBEB3+?kk}Baw0!WaLFXro_(7#avX4!3=avpZC@q$wSD(5)r(Vu&G40M@!=6 znb3u+vXIcJxGusZB0W3b6zh*PFR;ez!pfv#Q&^t<^dB=^>4s4N%G99R`0g6)CCAu2 z<>sDgjK2+~`q5q9?r9JqVH(-+`FVXB47+k6d8L(`wDWys4EW5wqWm>YE#2q#ubRfP zVsx^-D)h1^X_KASP;Dpx8vy8au{v)+3#>M_hKPmE?wr9c^YveZHJr7v*RgMpH1t}o zl5&uz36Gw9@{aiQN2l#kp4uC9?rZg3{XL;NX36qi-TFyLp-~_wm>l#)+e#WogA@Gy znHcjcWw;pe_-A$4stDMN6x`sS`_3oVmoKSSBfaq-S7P7^_9qrxh>b7u7QVa0d( z_S%_%DKUWkgo2F4Cus(NOKs3QiCTs)_d6duwgmT16)F)k=g10vZ%r>(Iz?mb=1cMz zQ{uZ%XNn!+Zv-H#RY)ImI*czEIn^7rg!CTY+p4PI`ft4AdP1zj-pE+D&7;={&Z6;b z0DyX!UdTe=OB%DnvOlvji63_V3HWH5-!n54em%R=gc4|?e|DkkaKW!1ni_5rxdn@Q z_mJHA*O#Kwn>{HI*?7>fgU0V=)`Fvs_y=f~NMAEPo-HeE1wDMO=h_e(vA_Rl*o~X9 z{`t6j58K>4v11u8X2nOjk22Mi5NgwH9S`9tu|oJlWp@A!BA%6MSC#E`*m9-Ie!Di2 z^OTHN^D^=;$Nw2wC_DP#5;+DvAdx9yMw8T**4vzi|5r6eW6>rkGKCL_9hC&u zm4Mw}`RY&zi?FuaImHXWWzX0}>%X0fc@T$kFxm=z_pmFK92cDcvX6eEbpHDdxXqCg zeu+vR8{bxYS5u`j+=L@9X7H&!UD3?!X~hoNltq!FrMNOeOj-k%CaMRaVKFe&l8g(b zdXEYagC~-oMOi?-S+tKCo;tczt$boBqO$^zfSjhw<<0 zKo_?~yS|QSl12tA?~n2n7fH#jrxY0 zPS~Y_-xCNYknpj%n@b@YJF}CCHulxNY` zaB*8xDCl?;wPAm5{$x8p@UX~3zuZrO0hl?rUw^O{YT0o72EreD?DP{XoC2u#M%{J@ zSG8E0O}^=MZ3AnLnO3#R{c5k9CmvXlpJdw7-T3;;ir#|a?Zqa8SZ-*?wc`nBH9Mm_wbds_n`pO}3f z+U64YYdCgyKhc}pt9K~-X9#4yIFRxFbBY+DM##fiFGWk9&iK_)x=@M7{c)E4Pn2sf{^; zS^=IlEm=W#bTj_cGlX;-F&Oik9w9X|dsbh)qXQs@=R5DzBl;X7PY=R(kq091Q`85g zlx-FJ51L+k zeIy+J&F$t&$oE#TXWV+&??WqJQE(*~r#`6L)8n0ck4?p{Zub^1td-45=){2z{0Z=n zXiCk*VsNW5TdPBn(?%@6RR2A}WxHGeH6+pgRf=1-xS8VA+F5~e=*Pmkr@>XoI_mJV zy8&FV?mkV-O{WN&qMaBEGOjAB_Pq&Pb93rf(qzKt3~q;Sn=o;KFLdJaoGgm$6m(Rj ztPZ5Z4n0&Pu2~L%c!0qza&)?QCzWz{@TkdO=UZh;Ns1a+?A&pA zyZk(4!X%QHy~g<=v>^bgY0fcY+l+N;p2Ypd?;y7}*s z`ZH-GvFofXQ;9Dn7`Wo;tZ8H_s$OamVUI30I#i^6`{isycmM3*I^&o1tX{(NFMJ+m zQfe%#;+lx_PI?PAYk&vSfZ=g8EC!_}p9o>R~8 z&uY<+n<)-3DdfhL(;w}=?WDuYzVC2J761}<2mYypyeZ0VQ0?i;AW)IxJDQDJrL;X7 zcBrF<7%%Gx5FqOG1Zd{RUeaC0=V1kNQwVa!$q24QI2ZUo6`PrK)#T!GG<{%N*)e(8 zLSbRQ!w%-F7+Hl$C34)gWegX8v|!=Kgq5(@6CkON1B3Ch&`ppV#eQ-2$VZ zyu9iE4}K^6f~3xap1*+aO|AnQ<9c`2H?29#yS_;*`pHENm1QCPlGYZ60+L5}xXsg* zvwv1d_G|NMt&U)w_f&jBORmWQS5OGQu-3j?U~@2l(Gd}NY;$4+==0z11RdL`_7TA!x>IVmyH@#mf+1FWWwqFW}!es8pX zxEXuGgv)JmF&X2-AjTD-8mce#L%ru}?#d{ubWJ>7HvMwIlK1&#x!c)B zzJf8i!?42$J#V^T>KDRj;_&Uy&z-C;e}1zb;>HEgK5`pQx1&1cD-ja|O%cUTrHhts z``Z#duCX%P_Pfnn7?)#vU&+JwFjxl_Ew3<6Kb1igkXo!31FD~Xau!)U7=ZZ-LH6XAb*o`xL%Al3WxhHt=+x{$jOj=CJ zkcb_}R<&1Zh}AvYe(!p0E3$-)LSgD#{(R4!jyRJyk-XIZ)nfhsOy_a@Bgd5Q38^ch zBJ%CT*kzNxIO(x&>SdI}RY@=cmwlOxd z&)lZJq2~|p$NTkozaOvHo`ZLZ^!y2i*Rc`B@tK zj=mOX**T1DPbDTQSF+(0lo5b3{-nvnvoB7VHy=5H@0aM^)O=r%QTJeMLLqr+Afe}Z zbzg}CknjZ zM&<+UvlOQgAwSbd(f0QrYg{*7dR-NmcSgYCq;&}-hyOH7iRTQ>c$=X1togxcN=Jkh%*jRsfn*W&Zeda&hh02E>Q@&m*E^TP7R1-TI`` zstNyf(LWPKRX+@S4;P1L`SgNzxQZ!^Bgb!hcVSJ`>T66rSd>JTXIXo8(Wsz};J+_` z8?CIoO9|lKCs(qh&zVP6Ub~$5ZELTSEGA3;QLWALUA3!ZQxsXjU%bt=#mrZxn;=Li zeZT_%`o%BDIUj_4JdxFbLH?30zoZ!QuGM|&&p*F=TM#SDqzhVf*U;HuC-Wb3)Wchk zt{1)MdKdY&zmSVu*HbyA(}TS(s&Iza8wAxjSH9Vg-s`!Mi^aQW%H#r%Rc1)kJK+O> zaBNS+#*nSf*Q4{Q<;+vT3)g8(@Qoq$=9smF3n;YBuIc#Ie)Xg1SB%N>Anp(#&Zm^kN- zA!Jx$E@ykNVaYuPAcpMY>ZY8@e#Q!U$(zIzIZ&~!tL|SmfRYx2vqPULw_SR(h~i6f z9?_sX$xNqZU8o#17*7XZ(x%|!AA(BZyXMCBUw&9fwh%j+x1*AUDfV^D9cG(_p>ZfT zWn1iuV3T-EH!a;r%J8Z~M*Ns0Iu51RiCP@p=%aK4tqU5x1ViklapBU_I$M5t-1(9P zJ*#MkFgi_05l~9q2b7~zrPZTz*5-s+&qrI*uQi$FV&D?hmaEVqFy}TyK-XK=vLvU1 z-N!SwH@HXroZ@I~T6D*`@04BZy?QaipCh(jX+UR>r#&VKk_K^gY4Kl@C$Odq5x&-l zK x-&|;1HlvN3293+(Hxwej8u;qod9)g(Ip6f@gr)3lb1$_^!F!Q=$^#?Q{s+i(S-$`P literal 0 HcmV?d00001 diff --git a/daegsrv/daegsrv.conf.in b/daegsrv/daegsrv.conf.in new file mode 100644 index 0000000..ad50085 --- /dev/null +++ b/daegsrv/daegsrv.conf.in @@ -0,0 +1,82 @@ +%%% This is the template for your configuration file. The %%VALUES%% below are +%%% taken from the Makefile to generate the actual configuration files. +%%% This comment will disappear. + + + + %%PORT%% + %%% Only set for running, not for testing + %%USERGROUP%% + %%LOGDIR%% + %%DATADIR%% + utf-8 + /tmp + + %%% Only set when debugging + %%DEBUGMODE%% + + + %%CMDPIPE%% + + + + + + + + + + + + + %%% This will include the packages defined as SERVER_PACKAGES in your Makefile: + %%PACKAGES%% + + + %%ELIOM_MODULES%% + + + + + + + + +
+ + + + + + + diff --git a/daegsrv/daegsrv.eliom b/daegsrv/daegsrv.eliom new file mode 100644 index 0000000..bbacde7 --- /dev/null +++ b/daegsrv/daegsrv.eliom @@ -0,0 +1,76 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +let%client add_email_notif () = () + +let%server add_email_notif () = + if Eliom_reference.Volatile.get Os_user.user_already_exists + then Os_msg.msg ~level:`Err ~onload:true [%i18n S.email_already_exists] + +let%shared () = + (* Registering services. Feel free to customize handlers. *) + Eliom_registration.Action.register + ~service:Os_services.set_personal_data_service + Daegsrv_handlers.set_personal_data_handler; + Eliom_registration.Redirection.register + ~service:Os_services.set_password_service + Daegsrv_handlers.set_password_handler; + Eliom_registration.Action.register + ~service:Os_services.forgot_password_service + Daegsrv_handlers.forgot_password_handler; + Eliom_registration.Action.register ~service:Os_services.preregister_service + Daegsrv_handlers.preregister_handler; + Eliom_registration.Action.register ~service:Os_services.sign_up_service + Os_handlers.sign_up_handler; + Eliom_registration.Action.register ~service:Os_services.connect_service + Os_handlers.connect_handler; + Eliom_registration.Unit.register ~service:Os_services.disconnect_service + (Os_handlers.disconnect_handler ~main_page:true); + Eliom_registration.Any.register ~service:Os_services.action_link_service + (Os_session.Opt.connected_fun Daegsrv_handlers.action_link_handler); + Eliom_registration.Action.register ~service:Os_services.add_email_service + (fun () email -> + let%lwt () = Os_handlers.add_email_handler () email in + add_email_notif (); Lwt.return_unit); + Eliom_registration.Action.register + ~service:Os_services.update_language_service + Daegsrv_handlers.update_language_handler; + Daegsrv_base.App.register ~service:Os_services.main_service + (Daegsrv_page.Opt.connected_page + Daegsrv_handlers.main_service_handler); + Daegsrv_base.App.register + ~service:Daegsrv_services.about_service + (Daegsrv_page.Opt.connected_page + Daegsrv_handlers.about_handler); + Daegsrv_base.App.register + ~service:Daegsrv_services.settings_service + (Daegsrv_page.Opt.connected_page + Daegsrv_handlers.settings_handler) + +let%server () = + Eliom_registration.Ocaml.register + ~service:Daegsrv_services.upload_user_avatar_service + (Os_session.connected_fun + Daegsrv_handlers.upload_user_avatar_handler) + +(* Print more debugging information when is in config file + (DEBUG = yes in Makefile.options). + Example of use: + let section = Lwt_log.Section.make "Daegsrv:sectionname" + ... + Lwt_log.ign_info ~section "This is an information"; + (or ign_debug, ign_warning, ign_error etc.) + *) +let%server _ = + if Eliom_config.get_debugmode () + then ( + ignore + [%client + ((* Eliom_config.debug_timings := true; *) + (* Lwt_log_core.add_rule "eliom:client*" Lwt_log_js.Debug; *) + (* Lwt_log_core.add_rule "os*" Lwt_log_js.Debug; *) + Lwt_log_core.add_rule "Daegsrv*" Lwt_log_js.Debug + (* Lwt_log_core.add_rule "*" Lwt_log_js.Debug *) + : unit)]; + (* Lwt_log_core.add_rule "*" Lwt_log.Debug *) + Lwt_log_core.add_rule "Daegsrv*" Lwt_log.Debug) diff --git a/daegsrv/daegsrv.opam b/daegsrv/daegsrv.opam new file mode 100644 index 0000000..399dcae --- /dev/null +++ b/daegsrv/daegsrv.opam @@ -0,0 +1,10 @@ +opam-version: "2.0" +name: "daegsrv" +version: "0.1" +synopsis: "Pseudo package for defining project dependencies" + +depends: [ + "eliom" {>= "10.0.0" & < "11.0.0"} + "ocsipersist-pgsql" {>= "1.0" & < "2.0"} + "ocsigen-start" +] diff --git a/daegsrv/daegsrv.sql b/daegsrv/daegsrv.sql new file mode 100644 index 0000000..4ba26e9 --- /dev/null +++ b/daegsrv/daegsrv.sql @@ -0,0 +1,148 @@ +-- README: +-- Do not remove the field with a `-- DEFAULT` suffix. +-- That's the default tables/fields needed by Ocsigen-start + +CREATE DATABASE ocsipersist_daegsrv; + +CREATE EXTENSION citext; --DEFAULT +-- You may remove the above line if you use the type TEXT for emails instead of CITEXT + +CREATE SCHEMA ocsigen_start + + -- Note that `main_email` is not an `emails` foreign key to prevent a circular + -- dependency. Triggers on table `emails` defined below make sure this column + -- stays in sync + CREATE TABLE users ( -- DEFAULT + userid bigserial primary key, -- DEFAULT + firstname text NOT NULL, + lastname text NOT NULL, + main_email citext, + password text, + avatar text, + language text + ) + + CREATE TABLE emails ( -- DEFAULT + email citext primary key, -- DEFAULT + userid bigint NOT NULL references users(userid), -- DEFAULT + validated boolean NOT NULL DEFAULT(false) + ) + + CREATE TABLE activation ( -- DEFAULT + activationkey text primary key, -- DEFAULT + userid bigint NOT NULL references users(userid), -- DEFAULT + email citext NOT NULL, + autoconnect boolean NOT NULL, + validity bigint NOT NULL default 1, + action text NOT NULL, + data text NOT NULL, + creationdate timestamp NOT NULL default (now() at time zone 'utc'), + expiry timestamp + ) + + CREATE TABLE groups ( -- DEFAULT + groupid bigserial primary key, -- DEFAULT + name text UNIQUE NOT NULL, -- DEFAULT + description text -- DEFAULT + ) + + CREATE TABLE user_groups ( -- DEFAULT + userid bigint NOT NULL references users(userid), -- DEFAULT + groupid bigint NOT NULL references groups(groupid) -- DEFAULT + ) + + CREATE TABLE preregister ( + email citext NOT NULL + ) + + CREATE TABLE phones ( + number citext primary key, + userid bigint NOT NULL references users(userid) + ); + + +CREATE OR REPLACE FUNCTION can_delete_email () + RETURNS TRIGGER AS $$ + BEGIN + IF (EXISTS (SELECT 1 + FROM ocsigen_start.emails, ocsigen_start.users + WHERE emails.userid = old.userid + AND users.userid = old.userid + AND emails.email <> old.email + AND users.main_email = emails.email + AND validated)) + THEN + RETURN old; + ELSE + RETURN NULL; + END IF; + END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION can_delete_phone () + RETURNS TRIGGER AS $$ + BEGIN + IF (EXISTS (SELECT 1 + FROM ocsigen_start.phones + WHERE userid = old.userid AND number <> old.number) OR + EXISTS (SELECT 1 + FROM ocsigen_start.emails + WHERE userid = old.userid + AND validated)) + THEN + RETURN old; + ELSE + RETURN NULL; + END IF; + END; + $$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION set_main_email () + RETURNS TRIGGER AS $$ + BEGIN + IF (EXISTS (SELECT 1 + FROM ocsigen_start.users + WHERE users.userid = NEW.userid + AND (users.main_email IS NULL OR + users.main_email NOT SIMILAR TO '%@%'))) + THEN + UPDATE users + SET main_email = NEW.email WHERE users.userid = NEW.userid; + END IF; + RETURN NEW; + END; + $$ LANGUAGE plpgsql; + + CREATE OR REPLACE + FUNCTION trigger_exists (t_name text) + RETURNS boolean + STABLE AS $$ + SELECT EXISTS + (SELECT 1 FROM pg_trigger + WHERE NOT tgisinternal + AND tgname = t_name) + $$ LANGUAGE SQL; + + +DO $$ + BEGIN + IF NOT trigger_exists('can_delete_phone') THEN + CREATE TRIGGER can_delete_phone + BEFORE DELETE on ocsigen_start.phones + FOR EACH ROW + EXECUTE PROCEDURE can_delete_phone(); + END IF; + IF NOT trigger_exists('can_delete_email') THEN + CREATE TRIGGER can_delete_email + BEFORE DELETE on ocsigen_start.emails + FOR EACH ROW + EXECUTE PROCEDURE can_delete_email(); + END IF; + IF NOT trigger_exists('set_main_email') THEN + CREATE TRIGGER set_main_email + AFTER INSERT on ocsigen_start.emails + FOR EACH ROW + EXECUTE PROCEDURE set_main_email(); + END IF; + END; +$$; diff --git a/daegsrv/daegsrv_base.eliom b/daegsrv/daegsrv_base.eliom new file mode 100644 index 0000000..c09adda --- /dev/null +++ b/daegsrv/daegsrv_base.eliom @@ -0,0 +1,37 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +let%server application_name = !Daegsrv_config.app_name +let%client application_name = Eliom_client.get_application_name () +let%shared displayed_app_name = "daegsrv" + +(* Database initialization *) +let () = + Os_db.init + ?host:!Daegsrv_config.os_db_host + ?port:!Daegsrv_config.os_db_port + ?user:!Daegsrv_config.os_db_user + ?password:!Daegsrv_config.os_db_password + ?database:!Daegsrv_config.os_db_database + ?unix_domain_socket_dir: + !Daegsrv_config.os_db_unix_domain_socket_dir + () + +let () = Os_email.set_mailer "/usr/sbin/sendmail" + +let () = + Os_email.set_from_addr ("daegsrv team", "noreply@DEFAULT.DEFAULT") + +(* Create a module for the application. See + https://ocsigen.org/eliom/manual/clientserver-applications for more + information. *) +[%%shared +module App = Eliom_registration.App (struct + let application_name = application_name + let global_data_path = Some ["__global_data__"] +end)] + +(* As the headers (stylesheets, etc) won't change, we ask Eliom not to + update the of the page when changing page. (This also avoids + blinking when changing page in iOS). *) +let%client _ = Eliom_client.persist_document_head () diff --git a/daegsrv/daegsrv_config.eliom b/daegsrv/daegsrv_config.eliom new file mode 100644 index 0000000..d97e604 --- /dev/null +++ b/daegsrv/daegsrv_config.eliom @@ -0,0 +1,74 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +(* This module contains the configuration of your Eliom application. + You can take some configuration options from Ocsigen server's + configuration file, as shown below. + + See https://ocsigen.org/ocsigenserver/ for more information about + the configuration file and how to get the information of the + config file in an Eliom project. *) + +(* Variable definitions *) + +(* The following variables are changed by the ocsigenserver + configuration file. *) + +(* Configuration of the application itself. *) + +let app_name = ref "" +let css_name = ref "" + +(* The name of the avatar directory. *) +let avatar_dir = ref [] + +(* Database configuration. *) + +let os_db_host = ref None +let os_db_port = ref None +let os_db_user = ref None +let os_db_password = ref None +let os_db_database = ref None +let os_db_unix_domain_socket_dir = ref None + +(* Get variables values from the ocsigenserver configuration file *) + +(* Application configuration *) +let app = + let open Ocsigen_extensions.Configuration in + let attributes = + [ attribute ~name:"name" ~obligatory:true (fun h -> app_name := h) + ; attribute ~name:"css" ~obligatory:true (fun h -> css_name := h) ] + in + element ~name:"app" ~obligatory:true ~attributes () + +(* Avatars configuration *) +let avatars = + let open Ocsigen_extensions.Configuration in + let attributes = + [ attribute ~name:"dir" ~obligatory:true (fun h -> + avatar_dir := Eliom_lib.String.split '/' h) ] + in + element ~name:"avatars" ~obligatory:true ~attributes () + +(* Database configuration *) +let os_db = + let open Ocsigen_extensions.Configuration in + let attributes = + [ attribute ~name:"host" (fun h -> os_db_host := Some h) + ; attribute ~name:"port" (fun h -> + os_db_port := + try Some (int_of_string h) + with Failure _ -> + raise + @@ Ocsigen_extensions.Error_in_config_file + "port is not an integer") + ; attribute ~name:"user" (fun h -> os_db_user := Some h) + ; attribute ~name:"password" (fun h -> os_db_password := Some h) + ; attribute ~name:"database" (fun h -> os_db_database := Some h) + ; attribute ~name:"unix_domain_socket_dir" (fun h -> + os_db_unix_domain_socket_dir := Some h) ] + in + element ~name:"os-db" ~attributes () + +let _ = Eliom_config.parse_config [app; avatars; os_db] diff --git a/daegsrv/daegsrv_config.eliomi b/daegsrv/daegsrv_config.eliomi new file mode 100644 index 0000000..82f31d2 --- /dev/null +++ b/daegsrv/daegsrv_config.eliomi @@ -0,0 +1,15 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +val app_name : string ref +val css_name : string ref +val avatar_dir : string list ref +val os_db_host : string option ref +val os_db_port : int option ref +val os_db_user : string option ref +val os_db_password : string option ref +val os_db_database : string option ref +val os_db_unix_domain_socket_dir : string option ref +val app : Ocsigen_extensions.Configuration.element +val avatars : Ocsigen_extensions.Configuration.element +val os_db : Ocsigen_extensions.Configuration.element diff --git a/daegsrv/daegsrv_container.eliom b/daegsrv/daegsrv_container.eliom new file mode 100644 index 0000000..7d0166d --- /dev/null +++ b/daegsrv/daegsrv_container.eliom @@ -0,0 +1,90 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +let%shared os_header ?user () = + let open Eliom_content.Html.F in + let%lwt user_box = + Os_user_view.user_box ~a_placeholder_email:[%i18n S.your_email] + ~a_placeholder_pwd:[%i18n S.your_password] + ~text_keep_me_logged_in:[%i18n S.keep_logged_in] + ~content_popup_forgotpwd:[%i18n S.recover_password ~capitalize:true] + ~text_button_forgotpwd:[%i18n S.forgot_your_password_q ~capitalize:true] + ~text_sign_in:[%i18n S.sign_in ~capitalize:true] + ~text_sign_up:[%i18n S.sign_up ~capitalize:true] + ~text_send_button:[%i18n S.send ~capitalize:true] ?user () + in + Lwt.return + (header + ~a:[a_class ["os-page-header"]] + [ a + ~a:[a_class ["os-page-header-app-name"]] + ~service:Os_services.main_service + [txt Daegsrv_base.displayed_app_name] + () + ; user_box ]) + +let%shared os_footer () = + let open Eliom_content.Html.F in + footer + ~a:[a_class ["os-page-footer"]] + [ p + [ txt [%i18n S.footer_generated] + ; a ~service:Daegsrv_services.os_github_service + [txt " Ocsigen Start "] () + ; txt [%i18n S.footer_eliom_distillery] + ; a ~service:Daegsrv_services.ocsigen_service + [txt " Ocsigen "] () + ; txt [%i18n S.footer_technology] ] ] + +let%rpc get_wrong_pdata () + : ((string * string) * (string * string)) option Lwt.t + = + Lwt.return @@ Eliom_reference.Volatile.get Os_msg.wrong_pdata + +let%shared connected_welcome_box () = + let open Eliom_content.Html.F in + let%lwt wrong_pdata = get_wrong_pdata () in + let info, ((fn, ln), (p1, p2)) = + match wrong_pdata with + | None -> + ( p + [ txt [%i18n S.personal_information_not_set] + ; br () + ; txt [%i18n S.take_time_enter_name_password] ] + , (("", ""), ("", "")) ) + | Some wpd -> p [txt [%i18n S.wrong_data_fix]], wpd + in + Lwt.return + @@ div + ~a:[a_class ["os-welcome-box"]] + [ div [h2 [%i18n welcome ~capitalize:true]; info] + ; Os_user_view.information_form + ~a_placeholder_password:[%i18n S.password] + ~a_placeholder_retype_password:[%i18n S.retype_password] + ~a_placeholder_firstname:[%i18n S.your_first_name] + ~a_placeholder_lastname:[%i18n S.your_last_name] + ~text_submit:[%i18n S.submit] ~firstname:fn ~lastname:ln + ~password1:p1 ~password2:p2 () ] + +let%shared get_user_data = function + | None -> Lwt.return_none + | Some myid -> + let%lwt u = Os_user_proxy.get_data myid in + Lwt.return_some u + +let%shared page ?html_a ?a ?title ?head myid_o content = + let%lwt me = get_user_data myid_o in + let%lwt content = + match me with + | Some me when not (Os_user.is_complete me) -> + let%lwt cwb = connected_welcome_box () in + Lwt.return @@ (cwb :: content) + | _ -> Lwt.return @@ content + in + let%lwt h = os_header ?user:me () in + Lwt.return + (Os_page.content ?html_a ?a ?title ?head + [ h + ; Eliom_content.Html.F.(div ~a:[a_class ["os-body"]] content) + ; os_footer () + ; Daegsrv_drawer.make ?user:me () ]) diff --git a/daegsrv/daegsrv_container.eliomi b/daegsrv/daegsrv_container.eliomi new file mode 100644 index 0000000..ec8dfd6 --- /dev/null +++ b/daegsrv/daegsrv_container.eliomi @@ -0,0 +1,42 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +(** This module defines the default template for application pages *) + +val os_header + : ?user:Os_types.User.t + -> unit + -> [> `Header] Eliom_content.Html.F.elt Lwt.t +(** [os_header ?user ()] defines the header for all pages. In this + template, it's a userbox and the user name is displayed. *) + +val os_footer : unit -> [> `Footer] Eliom_content.Html.F.elt +(** [os_footer ()] defines a footer for the page. *) + +val connected_welcome_box + : unit + -> [> Html_types.div] Eliom_content.Html.F.elt Lwt.t + +val get_user_data : Os_types.User.id option -> Os_types.User.t option Lwt.t + +val page + : ?html_a:Html_types.html_attrib Eliom_content.Html.attrib list + -> ?a:Html_types.body_attrib Eliom_content.Html.attrib list + -> ?title:string + -> ?head:[< Html_types.head_content_fun] Eliom_content.Html.elt list + -> Os_types.User.id option + -> [< Html_types.div_content_fun > `Div] Eliom_content.Html.F.elt + Eliom_content.Html.F.list_wrap + -> Os_page.content Lwt.t +(** [page userid_o content] returns a page personalized for the user + with id [myid_o] and with the content [content]. It adds a header, + a footer, and a drawer menu. If the user profile is not + completed, a connected welcome box is added. *) + +[%%shared.start] + +val get_wrong_pdata + : unit + -> ((string * string) * (string * string)) option Lwt.t diff --git a/daegsrv/daegsrv_drawer.eliom b/daegsrv/daegsrv_drawer.eliom new file mode 100644 index 0000000..2663ed1 --- /dev/null +++ b/daegsrv/daegsrv_drawer.eliom @@ -0,0 +1,39 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared open Eliom_content.Html.F] + +(** This module defines the drawer menu *) + +let%shared item text service = + li [a ~a:[a_class ["os-drawer-item"]] ~service [txt text] ()] + +let%shared user_menu () = + [ item + [%i18n S.settings ~capitalize:true] + Daegsrv_services.settings_service + ; Eliom_content.Html.F.li + [ Os_user_view.disconnect_link + ~text_logout:[%i18n S.logout ~capitalize:true] + ~a:[a_class ["os-drawer-item"]] + () ] ] + +let%shared make ?user () = + let items = if user = None then [] else user_menu () in + let items = + item [%i18n S.home ~capitalize:true] Os_services.main_service + :: item [%i18n S.about ~capitalize:true] + Daegsrv_services.about_service + :: Demo_tools.drawer_contents () + :: items + in + let menu = ul ~a:[a_class ["os-drawer-menu"]] items in + let contents = + match user with + | None -> [menu] + | Some user -> + let user_box = Os_user_view.connected_user_box ~user in + [user_box; menu] + in + let drawer, _, _ = Ot_drawer.drawer contents in + drawer diff --git a/daegsrv/daegsrv_handlers.eliom b/daegsrv/daegsrv_handlers.eliom new file mode 100644 index 0000000..caed8a4 --- /dev/null +++ b/daegsrv/daegsrv_handlers.eliom @@ -0,0 +1,181 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared open Eliom_content.Html.F] + +(* Upload user avatar *) +let upload_user_avatar_handler myid () ((), (cropping, photo)) = + let avatar_dir = + List.fold_left Filename.concat + (List.hd !Daegsrv_config.avatar_dir) + (List.tl !Daegsrv_config.avatar_dir) + in + let%lwt avatar = + Os_uploader.record_image avatar_dir ~ratio:1. ?cropping photo + in + let%lwt user = Os_user.user_of_userid myid in + let old_avatar = Os_user.avatar_of_user user in + let%lwt () = Os_user.update_avatar ~userid:myid ~avatar in + match old_avatar with + | None -> Lwt.return_unit + | Some old_avatar -> Lwt_unix.unlink (Filename.concat avatar_dir old_avatar) + +(* Set personal data *) + +let%server set_personal_data_handler = + Os_session.connected_fun Os_handlers.set_personal_data_handler + +let%rpc set_personal_data_rpc (data : (string * string) * (string * string)) + : unit Lwt.t + = + set_personal_data_handler () data + +let%client set_personal_data_handler () = set_personal_data_rpc + +(* Forgot password *) + +let%server forgot_password_handler = + Os_handlers.forgot_password_handler + Daegsrv_services.settings_service + +let%rpc forgot_password_rpc (email : string) : unit Lwt.t = + forgot_password_handler () email + +let%client forgot_password_handler () = forgot_password_rpc + +(* Action links are links created to perform an action. They are used + for example to send activation links by email, or links to reset a + password. You can create your own action links and define their + behavior here. *) +let%shared action_link_handler myid_o akey () = + (* We try first the default actions (activation link, reset + password) *) + try%lwt Os_handlers.action_link_handler myid_o akey () with + | Os_handlers.No_such_resource | Os_handlers.Invalid_action_key _ -> + Os_msg.msg ~level:`Err ~onload:true [%i18n S.invalid_action_key]; + Eliom_registration.(appl_self_redirect Action.send) () + | e -> + let%lwt email, phantom_user = + match e with + | Os_handlers.Account_already_activated_unconnected + { Os_types.Action_link_key.userid = _ + ; email + ; validity = _ + ; action = _ + ; data = _ + ; autoconnect = _ } -> + Lwt.return (email, false) + | Os_handlers.Custom_action_link + ( { Os_types.Action_link_key.userid = _ + ; email + ; validity = _ + ; action = _ + ; data = _ + ; autoconnect = _ } + , phantom_user ) -> + Lwt.return (email, phantom_user) + | _ -> Lwt.fail e + in + (* Define here your custom action links. If phantom_user is true, + it means the link has been created for an email that does not + correspond to an existing user. By default, we just display a + sign up form or phantom users, a login form for others. You + don't need to modify this if you are not using custom action + links. + + Perhaps personalise the intended behavior for when you meet + [Account_already_activated_unconnected]. *) + if myid_o = None (* Not currently connected, and no autoconnect *) + then + if phantom_user + then + let page = + [ div + ~a:[a_class ["login-signup-box"]] + [ Os_user_view.sign_up_form + ~a_placeholder_email:[%i18n S.your_email] + ~text:[%i18n S.sign_up] ~email () ] ] + in + Daegsrv_base.App.send + (Daegsrv_page.make_page (Os_page.content page)) + else + let page = + [ div + ~a:[a_class ["login-signup-box"]] + [ Os_user_view.connect_form + ~a_placeholder_email:[%i18n S.your_email] + ~a_placeholder_pwd:[%i18n S.your_password] + ~text_keep_me_logged_in:[%i18n S.keep_logged_in] + ~text_sign_in:[%i18n S.sign_in] ~email () ] ] + in + Daegsrv_base.App.send + (Daegsrv_page.make_page (Os_page.content page)) + else + (*VVV In that case we must do something more complex. Check + whether myid = userid and ask the user what he wants to + do. *) + let open Eliom_registration in + appl_self_redirect Redirection.send + (Redirection Eliom_service.reload_action) + +(* Set password *) + +let%server set_password_handler = + Os_session.connected_fun (fun myid () (pwd, pwd2) -> + let%lwt () = Os_handlers.set_password_handler myid () (pwd, pwd2) in + Lwt.return (Eliom_registration.Redirection Eliom_service.reload_action)) + +let%client set_password_handler () (pwd, pwd2) = + let%lwt () = Os_handlers.set_password_rpc (pwd, pwd2) in + Lwt.return (Eliom_registration.Redirection Eliom_service.reload_action) + +(* Preregister *) + +let%server preregister_handler = Os_handlers.preregister_handler + +let%rpc preregister_rpc (email : string) : unit Lwt.t = + preregister_handler () email + +let%client preregister_handler () = preregister_rpc + +let%shared main_service_handler myid_o () () = + Daegsrv_container.page + ~a:[a_class ["os-page-main"]] + myid_o + [ p [%i18n welcome_text1] + ; p [%i18n welcome_text2] + ; ul [li [%i18n welcome_text3]; li [%i18n welcome_text4]] + ; p [%i18n welcome_text5] + ; ul + [ li [%i18n welcome_text6] + ; li [%i18n welcome_text7] + ; li [%i18n welcome_text8] + ; li [%i18n welcome_text9] + ; li [%i18n welcome_text10] ] + ; p [%i18n welcome_text11] ] + +let%shared about_handler myid_o () () = + let open Eliom_content.Html.F in + Daegsrv_container.page + ~a:[a_class ["os-page-about"]] + myid_o + [ div + [ p [%i18n about_handler_template] + ; br () + ; p [%i18n about_handler_license] ] ] + +let%shared settings_handler myid_o () () = + let%lwt content = + match myid_o with + | Some _ -> Daegsrv_settings.settings_content () + | None -> Lwt.return [p [%i18n log_in_to_see_page ~capitalize:true]] + in + Daegsrv_container.page myid_o content + +let%server update_language_handler () language = + Os_session.connected_wrapper Daegsrv_language.update_language + (Daegsrv_i18n.language_of_string language) + +let%client update_language_handler () language = + Daegsrv_i18n.(set_language (language_of_string language)); + Os_current_user.update_language language diff --git a/daegsrv/daegsrv_handlers.eliomi b/daegsrv/daegsrv_handlers.eliomi new file mode 100644 index 0000000..3071ff8 --- /dev/null +++ b/daegsrv/daegsrv_handlers.eliomi @@ -0,0 +1,85 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +(** This module defines handlers to upload avatar, upload personal + data, set a new password, and also main handlers (main page, about + page, and settings page). In addition to including all default + handlers from OS (see {!Os_handlers}), it overrides some of them + for the purposes of this template. *) + +[%%server.start] + +val upload_user_avatar_handler + : Os_types.User.id + -> unit + -> unit + * ((float * float * float * float) option * Ocsigen_extensions.file_info) + -> unit Lwt.t +(** Update new user avatar with cropping option. The new avatar is saved + and the old one is removed. *) + +[%%shared.start] + +val set_personal_data_handler + : unit + -> (string * string) * (string * string) + -> unit Lwt.t +(** Update personal data. It uses the default OS handler + {!Os_handlers.set_personal_data_handler} and gets the user information + with {!Os_session.connected_fun}. *) + +val forgot_password_handler : unit -> string -> unit Lwt.t +(** Reset forgotten password. It uses the default OS handler + {!Os_handlers.forgot_password_handler} with the main service. *) + +val action_link_handler + : Os_types.User.id option + -> string + -> unit + -> Daegsrv_base.App.result Lwt.t + +val set_password_handler + : unit + -> string * string + -> Eliom_service.non_ocaml Eliom_registration.redirection Lwt.t +(** Set a new password. It uses the default OS handler + {!Os_handlers.set_password_handler} and gets the user information + with {!Os_session.connected_fun}. *) + +val preregister_handler : unit -> string -> unit Lwt.t + +(** The following functions are the handlers for the three main pages. + They are created with {!Daegsrv_container.page} which + means that a header and a footer will be displayed in addition to + the main content. + + For each of them, you can personalize the page for a specific user + by sending the userid as first parameter. *) + +val main_service_handler + : Os_types.User.id option + -> unit + -> unit + -> Os_page.content Lwt.t +(** The first page of the application *) + +val about_handler + : Os_types.User.id option + -> unit + -> unit + -> Os_page.content Lwt.t +(** About page *) + +val settings_handler + : Os_types.User.id option + -> unit + -> unit + -> Os_page.content Lwt.t +(** Settings page. If the user is connected (see + {!Daegsrv_container.get_user_data}), a settings + container will be created. *) + +val update_language_handler + : unit + -> string + -> Eliom_registration.Action.page Lwt.t diff --git a/daegsrv/daegsrv_icons.eliom b/daegsrv/daegsrv_icons.eliom new file mode 100644 index 0000000..4d39086 --- /dev/null +++ b/daegsrv/daegsrv_icons.eliom @@ -0,0 +1,38 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +(** This module defines an interface to create icons HTML element with + predefined style/value. We assume "Font Awesome" icons are used by + default (fa CSS class is added when using [icon classes]). See + http://fontawesome.io/ for more information and for the complete + list of CSS classes values. *) + +module Make (A : module type of Eliom_content.Html.F) = struct + (** [icon classes ~a:other_css_classes ()] create an icon HTML + attribute with "fa" and [classes] as CSS classes. The HTML tag + "i" is used because it is the de facto standard for icons. The + optional parameter ~a is at the end to be able to add other CSS + classes with predefined icons. *) + let icon classes + ?(a = ([] : Html_types.i_attrib Eliom_content.Html.attrib list)) () + = + A.i ~a:(A.a_class ("fa" :: classes) :: a) [] + + (** Icons used by Ocsigen Start's library *) + + let user = icon ["fa-user"; "fa-fw"] + let signout = icon ["fa-sign-out"; "fa-fw"] + let close = icon ["fa-close"; "fa-fw"] + let trash = icon ["fa-trash-o"; "fa-fw"] + + (* Add your own icons here. See http://fontawesome.io/icons/ for the + complete list of CSS classes available by default. *) +end + +module F = Make (Eliom_content.Html.F) +module D = Make (Eliom_content.Html.D) + +(* Register this module for use by Os_icon. *) +module Empty = Os_icons.Register (F) (D) diff --git a/daegsrv/daegsrv_language.eliom b/daegsrv/daegsrv_language.eliom new file mode 100644 index 0000000..18d3985 --- /dev/null +++ b/daegsrv/daegsrv_language.eliom @@ -0,0 +1,58 @@ +(* This file was generated by Ocsigen-start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +let%server best_matched_language () = + (* lang contains a list of (language_as_string, quality_value) *) + let lang = Eliom_request_info.get_accept_language () in + (* If no quality is given, we suppose it's 1 *) + let lang = + List.map (fun (s, q) -> s, match q with Some q -> q | None -> 1.) lang + in + (* Increasingly sort based on the quality *) + let lang = List.sort (fun (_, q1) (_, q2) -> compare q2 q1) lang in + Lwt.return + @@ + (* The first language of the list is returned. If the list is empty, + the default language is returned. *) + let rec aux = function + | (l, _) :: tl -> ( + try Daegsrv_i18n.guess_language_of_string l + with Daegsrv_i18n.Unknown_language _ -> aux tl) + | [] -> Daegsrv_i18n.default_language + in + aux lang + +let%server update_language lang = + let language = Daegsrv_i18n.string_of_language lang in + let myid_o = Os_current_user.Opt.get_current_userid () in + (* Update the server and client values *) + Daegsrv_i18n.set_language lang; + ignore [%client (Daegsrv_i18n.set_language ~%lang : unit)]; + (* Update in the database if a user is connected *) + match myid_o with + | None -> Lwt.return_unit + | Some userid -> Os_user.update_language ~userid ~language + +let%server _ = + Os_session.on_start_process (fun _ -> + (* Guess a default language. *) + let%lwt lang = best_matched_language () in + ignore (update_language lang); + Lwt.return_unit); + Os_session.on_start_connected_process (fun userid -> + (* Set language according to user preferences. *) + let%lwt language = + match%lwt Os_user.get_language userid with + | Some lang -> + Lwt.return (Daegsrv_i18n.guess_language_of_string lang) + | None -> + let%lwt best_language = best_matched_language () in + ignore + (Os_user.update_language ~userid + ~language: + (Daegsrv_i18n.string_of_language best_language)); + Lwt.return best_language + in + Daegsrv_i18n.set_language language; + ignore [%client (Daegsrv_i18n.set_language ~%language : unit)]; + Lwt.return_unit) diff --git a/daegsrv/daegsrv_language.eliomi b/daegsrv/daegsrv_language.eliomi new file mode 100644 index 0000000..a806b2b --- /dev/null +++ b/daegsrv/daegsrv_language.eliomi @@ -0,0 +1,14 @@ +(* This file was generated by Ocsigen-start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%server.start] + +(** This module is used for i18n (internationalization). I18n allows + to have an application in multiple languages. The rule [make + i18n-update] uses this module to create the i18n file for + translations (see [Makefile.options]). *) + +val update_language : Daegsrv_i18n.t -> unit Lwt.t +(** [update_language language] updates the language (client and server + side) for the current user with the value [language]. It also + updates the value in the database if an user is connected. *) diff --git a/daegsrv/daegsrv_mobile.eliom b/daegsrv/daegsrv_mobile.eliom new file mode 100644 index 0000000..6a02c47 --- /dev/null +++ b/daegsrv/daegsrv_mobile.eliom @@ -0,0 +1,159 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%client.start] + +[@@@ocaml.warning "-33"] + +open Daegsrv (* for dependency reasons *) + +[@@@ocaml.warning "+33"] + +[%%client open Js_of_ocaml] +[%%client open Js_of_ocaml_lwt] + +(* This RPC is called when client application is initialized. This + way, the server sends necessary cookies to the client (the mobile + app) early on and subsequent requests from the client will contain + the proper cookies. + + The RPC only initializes Os_date by default, but you can add your + own actions to be performed server side on first client request, if + necessary. *) +let%rpc init_request myid_o (tz : string) : unit Lwt.t = + ignore myid_o; Os_date.initialize tz; Lwt.return_unit + +let to_lwt f = + let wait, wakeup = Lwt.wait () in + f (Lwt.wakeup wakeup); + wait + +let ondeviceready = + to_lwt (fun cont -> + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make "deviceready") + (Js_of_ocaml.Dom_html.handler (fun _ -> + cont (); Js_of_ocaml.Js._true)) + Js_of_ocaml.Js._false) + +let app_started = ref false +let initial_change_page = ref None + +let change_page_gen action = + if !app_started + then Lwt.async action + else if !initial_change_page = None + then initial_change_page := Some action + +let change_page_uri uri = + change_page_gen (fun () -> Eliom_client.change_page_uri uri) + +let handle_initial_url () = + let tz = Os_date.user_tz () in + let%lwt () = init_request tz in + let%lwt () = ondeviceready in + app_started := true; + match !initial_change_page with + | None -> + Eliom_client.change_page ~replace:true ~service:Os_services.main_service + () () + | Some action -> action () + +let () = + Lwt.async @@ fun () -> + if Eliom_client.is_client_app () + then ( + (* Initialize the application server-side; there should be a + single initial request for that. *) + Os_date.disable_auto_init (); + let%lwt _ = Lwt_js_events.onload () in + handle_initial_url ()) + else Lwt.return_unit + +(* Reactivate comet on resume and online events *) + +let () = + Firebug.console##log (Js_of_ocaml.Js.string "adding resume/online listeners"); + let activate ev = + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make ev) + (Js_of_ocaml.Dom_html.handler (fun _ -> + Firebug.console##log (Js_of_ocaml.Js.string ev); + Eliom_comet.activate (); + Js_of_ocaml.Js._true)) + Js_of_ocaml.Js._false + in + activate "online"; activate "resume" + +(* Restart on a given URL *) + +let storage () = + Js_of_ocaml.Js.Optdef.case + Js_of_ocaml.Dom_html.window##.localStorage + (fun () -> failwith "Browser storage not supported") + (fun v -> v) + +let () = + let st = storage () in + let lc = Js_of_ocaml.Js.string "__os_restart_url" in + Js_of_ocaml.Js.Opt.case + (st##getItem lc) + (fun () -> ()) + (fun url -> + st##removeItem lc; + change_page_uri (Js_of_ocaml.Js.to_string url)) + +(* Handle universal links *) + +type event = + < url : Js_of_ocaml.Js.js_string Js_of_ocaml.Js.t Js_of_ocaml.Js.readonly_prop + ; scheme : + Js_of_ocaml.Js.js_string Js_of_ocaml.Js.t Js_of_ocaml.Js.readonly_prop + ; host : + Js_of_ocaml.Js.js_string Js_of_ocaml.Js.t Js_of_ocaml.Js.readonly_prop + ; path : + Js_of_ocaml.Js.js_string Js_of_ocaml.Js.t Js_of_ocaml.Js.readonly_prop + ; params : 'a. 'a Js_of_ocaml.Js.t Js_of_ocaml.Js.readonly_prop > + +let universal_links () = + let%lwt () = ondeviceready in + Lwt.return @@ Js_of_ocaml.Js.Optdef.to_option + @@ (Js_of_ocaml.Js.Unsafe.global##.universalLinks + : < subscribe : + Js_of_ocaml.Js.js_string Js_of_ocaml.Js.opt + -> (event Js_of_ocaml.Js.t -> unit) Js_of_ocaml.Js.callback + -> unit Js_of_ocaml.Js.meth + ; unsubscribe : + Js_of_ocaml.Js.js_string Js_of_ocaml.Js.opt + -> unit Js_of_ocaml.Js.meth > + Js_of_ocaml.Js.t + Js_of_ocaml.Js.Optdef.t) + +let _ = + match%lwt universal_links () with + | Some universal_links -> + Js_of_ocaml.Firebug.console##log + (Js_of_ocaml.Js.string "Universal links: registering"); + universal_links##subscribe Js_of_ocaml.Js.null + (Js_of_ocaml.Js.wrap_callback (fun (ev : event Js_of_ocaml.Js.t) -> + Js_of_ocaml.Firebug.console##log_2 + (Js_of_ocaml.Js.string "Universal links: got link") + ev##.url; + change_page_uri (Js_of_ocaml.Js.to_string ev##.url))); + Js_of_ocaml.Firebug.console##log + (Js_of_ocaml.Js.string "Universal links: registered"); + Lwt.return_unit + | None -> Lwt.return_unit + +(* Debugging *) + +(* Enable debugging messages. + + If you need to display debugging messages in the client side JS + debugger console, you can do so by uncommenting the following + lines. *) +(* let () = Eliom_config.debug_timings := true *) +(* let () = Lwt_log_core.add_rule "eliom:client*" Lwt_log_js.Debug *) +(* let () = Lwt_log_core.add_rule "os*" Lwt_log_js.Debug *) diff --git a/daegsrv/daegsrv_mobile.eliomi b/daegsrv/daegsrv_mobile.eliomi new file mode 100644 index 0000000..1733702 --- /dev/null +++ b/daegsrv/daegsrv_mobile.eliomi @@ -0,0 +1,2 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) diff --git a/daegsrv/daegsrv_page.eliom b/daegsrv/daegsrv_page.eliom new file mode 100644 index 0000000..59e4280 --- /dev/null +++ b/daegsrv/daegsrv_page.eliom @@ -0,0 +1,66 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +open Eliom_content.Html.F] + +[%%client +module Ocsigen_config = struct + let get_debugmode () = false +end] + +let%server css_name = !Daegsrv_config.css_name + +let%client css_name = + try Js_of_ocaml.Js.to_string Js_of_ocaml.Js.Unsafe.global##.___css_name_ + with _ -> "" + +let%server css_name_script = + [script (cdata_script (Printf.sprintf "var __css_name = '%s';" css_name))] + +let%client css_name_script = [] + +(* Warning: either we use exactly the same global node (and make sure + global nodes work properly on client side), or we do not add the + script on client side. We chose the second solution. *) +let%server app_js = + [Daegsrv_base.App.application_script ~defer:true ()] + +let%client app_js = [] +let%server the_local_js = [] +let%client the_local_js = [] (* in index.html *) +let%shared the_local_css = [[css_name]] + +[%%shared +module Page_config = struct + include Os_page.Default_config + + let title = "daegsrv" + let local_js = the_local_js + let local_css = the_local_css + + let other_head = + meta + ~a: + [ a_name "viewport" + ; a_content "width=device-width, initial-scale=1, user-scalable=no" ] + () + :: css_name_script + @ app_js + + let default_predicate _ _ = Lwt.return_true + let default_connected_predicate _ _ _ = Lwt.return_true + + let default_error_page _ _ exn = + Daegsrv_container.page None + (if Ocsigen_config.get_debugmode () + then [p [txt (Printexc.to_string exn)]] + else [p [txt "Error"]]) + + let default_connected_error_page myid_o _ _ exn = + Daegsrv_container.page myid_o + (if Ocsigen_config.get_debugmode () + then [p [txt (Printexc.to_string exn)]] + else [p [txt "Error"]]) +end + +include Os_page.Make (Page_config)] diff --git a/daegsrv/daegsrv_page.eliomi b/daegsrv/daegsrv_page.eliomi new file mode 100644 index 0000000..ca22f67 --- /dev/null +++ b/daegsrv/daegsrv_page.eliomi @@ -0,0 +1,63 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +val css_name : string +val css_name_script : [> Html_types.script] Eliom_content.Html.F.elt list +val app_js : [> `Script] Eliom_content.Html.elt list +val the_local_js : 'a list +val the_local_css : string list list + +module Page_config : sig + val js : string list list + val css : string list list + val title : string + val local_js : 'a list + val local_css : string list list + val other_head : [> Html_types.head_content] Eliom_content.Html.F.elt list + val default_predicate : 'a -> 'b -> bool Lwt.t + val default_connected_predicate : 'a -> 'b -> 'c -> bool Lwt.t + val default_error_page : 'a -> 'b -> exn -> Os_page.content Lwt.t + + val default_connected_error_page + : Os_types.User.id option + -> 'a + -> 'b + -> exn + -> Os_page.content Lwt.t +end + +val make_page : Os_page.content -> [> Html_types.html] Eliom_content.Html.elt + +val page + : ?predicate:('a -> 'b -> bool Lwt.t) + -> ?fallback:('a -> 'b -> exn -> Os_page.content Lwt.t) + -> ('a -> 'b -> Os_page.content Lwt.t) + -> 'a + -> 'b + -> Html_types.html Eliom_content.Html.elt Lwt.t + +module Opt : sig + val connected_page + : ?allow:Os_types.Group.t list + -> ?deny:Os_types.Group.t list + -> ?predicate:(Os_types.User.id option -> 'a -> 'b -> bool Lwt.t) + -> ?fallback: + (Os_types.User.id option -> 'a -> 'b -> exn -> Os_page.content Lwt.t) + -> (Os_types.User.id option -> 'a -> 'b -> Os_page.content Lwt.t) + -> 'a + -> 'b + -> Html_types.html Eliom_content.Html.elt Lwt.t +end + +val connected_page + : ?allow:Os_types.Group.t list + -> ?deny:Os_types.Group.t list + -> ?predicate:(Os_types.User.id option -> 'a -> 'b -> bool Lwt.t) + -> ?fallback: + (Os_types.User.id option -> 'a -> 'b -> exn -> Os_page.content Lwt.t) + -> (Os_types.User.id -> 'a -> 'b -> Os_page.content Lwt.t) + -> 'a + -> 'b + -> Html_types.html Eliom_content.Html.elt Lwt.t diff --git a/daegsrv/daegsrv_phone_connect.eliom b/daegsrv/daegsrv_phone_connect.eliom new file mode 100644 index 0000000..ea5da8c --- /dev/null +++ b/daegsrv/daegsrv_phone_connect.eliom @@ -0,0 +1,36 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +(* Edit this file to enable phone connectivity. + + [enable] has to be set to [true]. + + Use [Os_connect_phone.set_send_sms_handler] to register your + SMS-sending function, e.g., by using Amazon SNS or Twilio. + + You can remove this file if you don't need this functionality. *) + +let enable = false + +let%server () = + if enable + then + Os_connect_phone.set_send_sms_handler (fun ~number message -> + Printf.printf "Send SMS %s to %s\n%!" message number; + Lwt.return (Ok ())) + +let () = + if enable + then ( + Os_user_view.enable_phone (); + Eliom_registration.Action.register + ~service:Os_services.confirm_code_recovery_service + Os_handlers.confirm_code_recovery_handler; + Eliom_registration.Action.register + ~service:Os_services.confirm_code_extra_service + Os_handlers.confirm_code_extra_handler; + Eliom_registration.Action.register + ~service:Os_services.confirm_code_signup_service + Os_handlers.confirm_code_signup_handler) diff --git a/daegsrv/daegsrv_services.eliom b/daegsrv/daegsrv_services.eliom new file mode 100644 index 0000000..ac99401 --- /dev/null +++ b/daegsrv/daegsrv_services.eliom @@ -0,0 +1,40 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +let%server about_service = + Eliom_service.create + ~path:(Eliom_service.Path ["about"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%server upload_user_avatar_service : (unit, unit) Ot_picture_uploader.service + = + Ot_picture_uploader.mk_service "upload_user_avatar_service" [%json: unit] + +let%server demo_service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%server settings_service = + Eliom_service.create + ~path:(Eliom_service.Path ["settings"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%server os_github_service = + Eliom_service.extern ~prefix:"http://github.com" + ~path:["ocsigen"; "ocsigen-start"] + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%server ocsigen_service = + Eliom_service.extern ~prefix:"http://ocsigen.org" ~path:[] + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%client about_service = ~%about_service +let%client upload_user_avatar_service = ~%upload_user_avatar_service +let%client demo_service = ~%demo_service +let%client settings_service = ~%settings_service +let%client ocsigen_service = ~%ocsigen_service +let%client os_github_service = ~%os_github_service +(* The OS lib needs access to the settings service to perform + redirections to it. We need to register it *) +let%server () = Os_services.register_settings_service settings_service diff --git a/daegsrv/daegsrv_services.eliomi b/daegsrv/daegsrv_services.eliomi new file mode 100644 index 0000000..e87487d --- /dev/null +++ b/daegsrv/daegsrv_services.eliomi @@ -0,0 +1,76 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +val about_service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.non_ext + , Eliom_service.reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t + +val upload_user_avatar_service : (unit, unit) Ot_picture_uploader.service + +val demo_service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.non_ext + , Eliom_service.reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t + +val settings_service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.non_ext + , Eliom_service.reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t + +val os_github_service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.ext + , Eliom_service.non_reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t + +val ocsigen_service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.ext + , Eliom_service.non_reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t diff --git a/daegsrv/daegsrv_settings.eliom b/daegsrv/daegsrv_settings.eliom new file mode 100644 index 0000000..556472c --- /dev/null +++ b/daegsrv/daegsrv_settings.eliom @@ -0,0 +1,158 @@ +[%%client +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +open Js_of_ocaml_lwt] + +let%shared update_main_email_button email = + let open Eliom_content.Html in + let button = + D.button + ~a:[D.a_class ["button"]] + [D.txt [%i18n S.set_as_main_email ~capitalize:true]] + in + ignore + [%client + (Lwt.async (fun () -> + Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button) + (fun _ _ -> + let%lwt () = Os_current_user.update_main_email ~%email in + Eliom_client.change_page + ~service:Daegsrv_services.settings_service () ())) + : unit)]; + button + +(* A button to remove the email from the database *) +let%shared delete_email_button email = + let open Eliom_content.Html in + let button = + D.button + ~a:[D.a_class ["button"; "os-remove-email-button"]] + [Daegsrv_icons.D.trash ()] + in + ignore + [%client + (Lwt.async (fun () -> + Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button) + (fun _ _ -> + let%lwt () = Os_current_user.remove_email_from_user ~%email in + Eliom_client.change_page + ~service:Daegsrv_services.settings_service () ())) + : unit)]; + button + +(* A list of buttons to update or to remove the email depending on the + email properties *) +let%shared buttons_of_email is_main_email is_validated email = + if is_main_email + then [] + else if is_validated + then [update_main_email_button email; delete_email_button email] + else [delete_email_button email] + +(* A list of labels describing the email properties. *) +let%shared labels_of_email is_main_email is_validated = + let open Eliom_content.Html.F in + let valid_label = + span + ~a:[a_class ["os-settings-label"; "os-validated-email"]] + [ (txt + @@ + if is_validated + then [%i18n S.validated ~capitalize:true] + else [%i18n S.waiting_confirmation ~capitalize:true]) ] + in + if is_main_email + then + [ span + ~a:[a_class ["os-settings-label"; "os-main-email"]] + [%i18n main_email ~capitalize:true] + ; valid_label ] + else [valid_label] + +let%shared li_of_email main_email (email, is_validated) = + let is_main_email = + match main_email with + | Some main_email -> main_email = email + | None -> false + in + let open Eliom_content.Html.D in + let labels = labels_of_email is_main_email is_validated + and buttons = buttons_of_email is_main_email is_validated email + and email = span ~a:[a_class ["os-settings-email"]] [txt email] in + Lwt.return (li ((email :: labels) @ buttons)) + +let%shared ul_of_emails (main_email, emails) = + let li_of_email = li_of_email main_email in + let%lwt li_list = Lwt_list.map_s li_of_email emails in + Lwt.return Eliom_content.Html.D.(div ~a:[a_class ["os-emails"]] [ul li_list]) + +(* List with information about emails *) +let%rpc get_emails myid () : (string option * (string * bool) list) Lwt.t = + let%lwt main_email = Os_db.User.email_of_userid myid in + let%lwt emails = Os_db.User.emails_of_userid myid in + let%lwt emails = + Lwt_list.map_s + (fun email -> + let%lwt v = Os_current_user.is_email_validated email in + Lwt.return (email, v)) + emails + in + Lwt.return (main_email, emails) + +let%shared select_language_form select_language_name = + let open Eliom_content.Html in + let current_language = Daegsrv_i18n.get_language () in + let all_languages_except_current = + List.filter + (fun l -> l <> current_language) + Daegsrv_i18n.languages + in + let form_option_of_language language is_current_language = + D.Form.Option + ( [] + , (* No attributes *) + Daegsrv_i18n.string_of_language language + , None + , is_current_language ) + in + [ D.p [D.txt [%i18n S.change_language]] + ; D.Form.select ~name:select_language_name D.Form.string + (form_option_of_language current_language true) + (List.map + (fun l -> form_option_of_language l false) + all_languages_except_current) + ; D.Form.input ~input_type:`Submit ~value:[%i18n S.send ~capitalize:true] + D.Form.string ] + +let%shared settings_content () = + let%lwt emails = get_emails () in + let%lwt emails = ul_of_emails emails in + Lwt.return + @@ Eliom_content.Html.D. + [ div + ~a:[a_class ["os-settings"]] + [ p [%i18n change_password ~capitalize:true] + ; Os_user_view.password_form ~a_placeholder_pwd:[%i18n S.password] + ~a_placeholder_confirmation:[%i18n S.retype_password] + ~text_send_button:[%i18n S.send] + ~service:Os_services.set_password_service () + ; br () + ; Os_user_view.upload_pic_link + ~submit:([a_class ["button"]], [txt "Submit"]) + ~content:[%i18n change_profile_picture] + Daegsrv_services.upload_user_avatar_service + ; br () + ; Os_user_view.reset_tips_link + ~text_link:[%i18n S.see_help_again_from_beginning] () + ; br () + ; Os_user_view.disconnect_all_link + ~text_link:[%i18n S.disconnect_all] () + ; br () + ; p [%i18n link_new_email] + ; Os_user_view.generic_email_form + ~a_placeholder_email:[%i18n S.email_address] ~text:[%i18n S.send] + ~service:Os_services.add_email_service () + ; p [%i18n currently_registered_emails] + ; div ~a:[a_class ["os-emails"]] [emails] + ; Form.post_form ~service:Os_services.update_language_service + select_language_form () ] ] diff --git a/daegsrv/demo.eliom b/daegsrv/demo.eliom new file mode 100644 index 0000000..f0b481a --- /dev/null +++ b/daegsrv/demo.eliom @@ -0,0 +1,43 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared open Eliom_content.Html.D] + +(* drawer / demo welcome page ***********************************************) + +let%shared handler myid_o () () = + Daegsrv_container.page + ~a:[a_class ["os-page-demo"]] + myid_o + [ h2 [%i18n Demo.general_principles] + ; p [%i18n Demo.intro_1] + ; p [%i18n Demo.intro_2] + ; p [%i18n Demo.widget_ot] + ; p [%i18n Demo.widget_see_drawer] + ; p [%i18n Demo.widget_feel_free] + ; p [%i18n Demo.intro_3] ] + +let%shared () = + let registerDemo (module D : Demo_tools.Page) = + Daegsrv_base.App.register ~service:D.service + ( Daegsrv_page.Opt.connected_page @@ fun myid_o () () -> + let%lwt p = D.page () in + Daegsrv_container.page ~a:[a_class [D.page_class]] myid_o p ) + in + List.iter registerDemo Demo_tools.demos; + Daegsrv_base.App.register + ~service:Daegsrv_services.demo_service + (Daegsrv_page.Opt.connected_page handler) + +(* [detail_page_handler] is not registered in [Demo_tools] because we + - don't want to show detail pages in the menu. *) +let%shared () = + let detail_page_handler myid_o page () = + Daegsrv_container.page + ~a:[a_class ["os-page-demo-transition"]] + myid_o + (Demo_pagetransition.make_detail_page page ()) + in + Daegsrv_base.App.register + ~service:Demo_pagetransition.detail_page_service + (Daegsrv_page.Opt.connected_page detail_page_handler) diff --git a/daegsrv/demo_cache.eliom b/daegsrv/demo_cache.eliom new file mode 100644 index 0000000..01e1cac --- /dev/null +++ b/daegsrv/demo_cache.eliom @@ -0,0 +1,31 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Eliom_cscache demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-cache"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.cache] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-cache" + +(* Page for this demo *) +let%shared page () = + Lwt.return + [ h1 [%i18n Demo.cache_1] + ; p + [%i18n + Demo.cache_2 + ~eliom_cscache:[code [txt "Eliom_cscache"]] + ~os_user_proxy:[code [txt "Os_user_proxy"]]] + ; p [%i18n Demo.cache_3 ~eliom_cscache:[code [txt "Eliom_cscache"]]] + ; p [%i18n Demo.cache_4 ~eliom_cscache:[code [txt "Eliom_cscache"]]] ] diff --git a/daegsrv/demo_calendar.eliom b/daegsrv/demo_calendar.eliom new file mode 100644 index 0000000..b1471b4 --- /dev/null +++ b/daegsrv/demo_calendar.eliom @@ -0,0 +1,64 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Calendar demo *) + +open Eliom_content.Html.D] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-calendar"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* A reactive value containing the currently selected date *) +(* NOTE: in this example, we define a shared signal on the server side. Its + original value can only be read when the server generates the first page + (declaring it `%client`-only would obviously not work) and injected to be + read-/writable on the (possibly disconnected) client side since any + *shared value* is injectable; subsequent updates won't be sent to the server. + Declaring this signal as `%shared` wouldn't work either, as you'd end up with + two different signals (one for each side): a Reactive `map` in `page` would + use the server's signal when it's first generated on the server, while the + client-side click event would use its own `f`, so nothing would actually + happen. You can observe this duplication by replacing `%server` below with + `%shared`: the compiler will emit an error because the type of one of those + signals can't be inferred (it remains unknown at the end of the typing pass) + since it's never used throughout the program. *) +let%server s, f = Eliom_shared.React.S.create None + +let%client action y m d = + ~%f (Some (y, m, d)); + Lwt.return_unit + +let%shared string_of_date = function + | Some (y, m, d) -> + [%i18n + Demo.S.you_click_on_date ~y:(string_of_int y) ~m:(string_of_int m) + ~d:(string_of_int d)] + | None -> "" + +let%server date_as_string () : string Eliom_shared.React.S.t = + Eliom_shared.React.S.map [%shared string_of_date] s + +let%rpc date_reactive () : string Eliom_shared.React.S.t Lwt.t = + Lwt.return @@ date_as_string () + +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.calendar] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-calendar" + +(* Page for this demo *) +let%shared page () = + let calendar = + Ot_calendar.make ~click_non_highlighted:true ~action:[%client action] () + in + let%lwt dr = date_reactive () in + Lwt.return + [ h1 [%i18n Demo.calendar] + ; p [%i18n Demo.this_page_show_calendar] + ; div ~a:[a_class ["os-calendar"]] [calendar] + ; p [Eliom_content.Html.R.txt dr] ] diff --git a/daegsrv/demo_carousel1.eliom b/daegsrv/demo_carousel1.eliom new file mode 100644 index 0000000..a11bd7d --- /dev/null +++ b/daegsrv/demo_carousel1.eliom @@ -0,0 +1,73 @@ +[%%client +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Carousel demo *) + +open Eliom_content.Html] + +[%%shared open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-carousel1"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.carousel_1] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-carousel1" + +(* Bind arrow keys *) +let%shared bind_keys change carousel = + ignore + [%client + (let arrow_thread = + (* Wait for the carousel to be in the page + (in the case the page is generated client side): *) + let%lwt () = Ot_nodeready.nodeready (To_dom.of_element ~%carousel) in + Ot_carousel.bind_arrow_keys ~change:~%change + Js_of_ocaml.Dom_html.document##.body + in + (* Do not forget to cancel the thread when we remove the carousel + (here, when we go to another page): *) + Eliom_client.onunload (fun () -> Lwt.cancel arrow_thread) + : unit)] + +(* Page for this demo *) +let%shared page () = + let make_page name = + div + ~a:[a_class ["demo-carousel1-page"; "demo-carousel1-page-" ^ name]] + [txt "Page "; txt name] + in + let carousel_change_signal = + [%client + (React.E.create () + : ([`Goto of int | `Next | `Prev] as 'a) React.E.t + * (?step:React.step -> 'a -> unit))] + in + let update = [%client fst ~%carousel_change_signal] in + let change = [%client fun a -> snd ~%carousel_change_signal ?step:None a] in + let carousel_pages = ["1"; "2"; "3"; "4"] in + let length = List.length carousel_pages in + let carousel_content = List.map make_page carousel_pages in + let {Ot_carousel.elt = carousel; pos; vis_elts} = + Ot_carousel.make ~update carousel_content + in + let bullets = Ot_carousel.bullets ~change ~pos ~length ~size:vis_elts () in + let prev = Ot_carousel.previous ~change ~pos [] in + let next = Ot_carousel.next ~change ~pos ~vis_elts ~length [] in + bind_keys change carousel; + Lwt.return + [ h1 [%i18n Demo.carousel_1] + ; p [%i18n Demo.ot_carousel_first_example_1] + ; p [%i18n Demo.ot_carousel_first_example_2] + ; p [%i18n Demo.ot_carousel_first_example_3] + ; p [%i18n Demo.ot_carousel_first_example_4] + ; div + ~a:[a_class ["demo-carousel1"]] + [div ~a:[a_class ["demo-carousel1-box"]] [carousel; prev; next; bullets]] + ] diff --git a/daegsrv/demo_carousel2.eliom b/daegsrv/demo_carousel2.eliom new file mode 100644 index 0000000..2143e22 --- /dev/null +++ b/daegsrv/demo_carousel2.eliom @@ -0,0 +1,95 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Page with several tabs *) + +open Eliom_content.Html] + +[%%shared open Eliom_content.Html.F] + +let%shared lorem_ipsum = + [ p + [ txt + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Hanc ergo intuens debet institutum illud quasi signum absolvere. Animi enim quoque dolores percipiet omnibus partibus maiores quam corporis. Atque haec ita iustitiae propria sunt, ut sint virtutum reliquarum communia. Sed ad bona praeterita redeamus. Duarum enim vitarum nobis erunt instituta capienda. Nunc ita separantur, ut disiuncta sint, quo nihil potest esse perversius. Hoc est non dividere, sed frangere. Duo Reges: constructio interrete. Satis est ad hoc responsum." + ] + ; p + [ txt + "Traditur, inquit, ab Epicuro ratio neglegendi doloris. Quod quidem iam fit etiam in Academia. Quodcumque in mentem incideret, et quodcumque tamquam occurreret. Immo vero, inquit, ad beatissime vivendum parum est, ad beate vero satis. Re mihi non aeque satisfacit, et quidem locis pluribus." + ] + ; p + [ txt + "Amicitiam autem adhibendam esse censent, quia sit ex eo genere, quae prosunt. Hoc loco tenere se Triarius non potuit. Facile est hoc cernere in primis puerorum aetatulis. Sed in rebus apertissimis nimium longi sumus. Utrum igitur tibi litteram videor an totas paginas commovere? Quid de Platone aut de Democrito loquar?" + ] ] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-carousel2"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.carousel_2] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-carousel2" + +(* Page for this demo *) +let%shared page () = + let make_page name = + let c = if name = "1" then lorem_ipsum else [] in + div + ~a:[a_class ["demo-carousel2-page"; "demo-carousel2-page-" ^ name]] + (p [txt "Page "; txt name] :: c) + in + let make_tab name = [txt "Page "; txt name] in + let carousel_change_signal = + [%client + (React.E.create () + : ([`Goto of int | `Next | `Prev] as 'a) React.E.t + * (?step:React.step -> 'a -> unit))] + in + let update = [%client fst ~%carousel_change_signal] in + let change = [%client fun a -> snd ~%carousel_change_signal ?step:None a] in + let carousel_pages = ["1"; "2"; "3"; "4"] in + let carousel_content = List.map make_page carousel_pages in + let tab_content = List.map make_tab carousel_pages in + let tabs_r = ref (div []) in + let get_header_height = + [%client + fun () -> + let t = To_dom.of_element !(~%tabs_r) in + int_of_float (Ot_size.client_top t) + t##.offsetHeight] + in + (* We want a "full-height" carousel. See Ot_carousel documentation. *) + let {Ot_carousel.elt = carousel; pos; swipe_pos} = + Ot_carousel.make ~update ~full_height:(`Header get_header_height) + carousel_content + in + let ribbon = Ot_carousel.ribbon ~change ~pos ~cursor:swipe_pos tab_content in + let tabs = + (* ribbon container is necessary for shadow, + because position:sticky is not interpreted as relative + on browsers that do not support sticky. *) + D.div ~a:[a_class ["demo-carousel2-tabs"]] [ribbon] + in + tabs_r := ribbon; + (* We want the tabs to be always visible on top of the page. + To do that, we use position: sticky; + As this is not available in all browsers, we use a polyfill to + simulate this behaviour when not supported: + *) + ignore + [%client + (Lwt.async (fun () -> + Lwt.map ignore + (Ot_sticky.make_sticky ~ios_html_scroll_hack:true ~dir:`Top ~%tabs)) + : unit)]; + Lwt.return + [ h1 [%i18n Demo.carousel_2] + ; p [%i18n Demo.ot_carousel_second_example_1] + ; p [%i18n Demo.ot_carousel_second_example_2] + ; p [%i18n Demo.ot_carousel_second_example_3] + ; div + ~a:[a_class ["demo-carousel2"]] + [div ~a:[a_class ["demo-carousel2-box"]] [tabs; carousel]] ] diff --git a/daegsrv/demo_carousel3.eliom b/daegsrv/demo_carousel3.eliom new file mode 100644 index 0000000..3e413d7 --- /dev/null +++ b/daegsrv/demo_carousel3.eliom @@ -0,0 +1,88 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Wheel demo *) + +open Eliom_content.Html] + +[%%shared open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-carousel3"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.carousel_wheel] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-carousel3" + +(* Page for this demo *) +let%shared page () = + let carousel_pages = + [ [%i18n Demo.S.monday] ^ " 1" + ; [%i18n Demo.S.tuesday] ^ " 1" + ; [%i18n Demo.S.wednesday] ^ " 1" + ; [%i18n Demo.S.thursday] ^ " 1" + ; [%i18n Demo.S.friday] ^ " 1" + ; [%i18n Demo.S.saturday] ^ " 1" + ; [%i18n Demo.S.sunday] ^ " 1" + ; [%i18n Demo.S.monday] ^ " 2" + ; [%i18n Demo.S.tuesday] ^ " 2" + ; [%i18n Demo.S.wednesday] ^ " 2" + ; [%i18n Demo.S.thursday] ^ " 2" + ; [%i18n Demo.S.friday] ^ " 2" + ; [%i18n Demo.S.saturday] ^ " 2" + ; [%i18n Demo.S.sunday] ^ " 2" + ; [%i18n Demo.S.monday] ^ " 3" + ; [%i18n Demo.S.tuesday] ^ " 3" + ; [%i18n Demo.S.wednesday] ^ " 3" + ; [%i18n Demo.S.thursday] ^ " 3" + ; [%i18n Demo.S.friday] ^ " 3" + ; [%i18n Demo.S.saturday] ^ " 3" + ; [%i18n Demo.S.sunday] ^ " 3" + ; [%i18n Demo.S.monday] ^ " 4" + ; [%i18n Demo.S.tuesday] ^ " 4" + ; [%i18n Demo.S.wednesday] ^ " 4" + ; [%i18n Demo.S.thursday] ^ " 4" + ; [%i18n Demo.S.friday] ^ " 4" + ; [%i18n Demo.S.saturday] ^ " 4" + ; [%i18n Demo.S.sunday] ^ " 4" + ; [%i18n Demo.S.monday] ^ " 5" + ; [%i18n Demo.S.tuesday] ^ " 5" + ; [%i18n Demo.S.wednesday] ^ " 5" + ; [%i18n Demo.S.thursday] ^ " 5" + ; [%i18n Demo.S.friday] ^ " 5" + ; [%i18n Demo.S.saturday] ^ " 5" + ; [%i18n Demo.S.sunday] ^ " 5" ] + in + let length = List.length carousel_pages in + let carousel_content = List.map (fun p -> D.div [txt p]) carousel_pages in + let carousel_change_signal = + [%client + (React.E.create () + : ([`Goto of int | `Next | `Prev] as 'a) React.E.t + * (?step:React.step -> 'a -> unit))] + in + let update = [%client fst ~%carousel_change_signal] in + let change = [%client fun a -> snd ~%carousel_change_signal ?step:None a] in + let carousel, pos, _swipe_pos = + Ot_carousel.wheel + ~a:[a_class ["demo-carousel3"]] + ~update ~vertical:true ~inertia:1. ~position:10 ~transition_duration:3. + ~face_size:25 carousel_content + in + Lwt.return + [ h1 [%i18n Demo.carousel_wheel] + ; p [%i18n Demo.carousel_third_example_1] + ; carousel + ; div + [ Ot_carousel.previous ~a:[a_class ["demo-prev"]] ~change ~pos [] + ; Ot_carousel.next + ~a:[a_class ["demo-next"]] + ~change ~pos + ~vis_elts:(Eliom_shared.React.S.const 1) + ~length [] ] ] diff --git a/daegsrv/demo_i18n.eliom b/daegsrv/demo_i18n.eliom new file mode 100644 index 0000000..308b54a --- /dev/null +++ b/daegsrv/demo_i18n.eliom @@ -0,0 +1,45 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Ocsigen_i18n demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-i18n"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.internationalization ~capitalize:true] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-i18n" + +(* Page for this demo *) +let%shared page () = + (* Syntax [%i18n key] or [%i18n Module.key] inserts + the text corresponding to the key, in the language chosen by the user, + as a list of HTML elements. + Syntax [%i18n S.key] or [%i18n Module.S.key] inserts the text as a string. + It is possible to give parameters (here a boolean ~capitalize, or + a piece of HTML text ~f1 or ~f2). Have a look at file + assets/daegsrv_Demo_i18n.tsv + to see how to write the corresponding translations. + *) + Lwt.return + [ h1 [%i18n Demo.internationalization ~capitalize:true] + ; p [%i18n Demo.internationalization_1] + ; p + [%i18n + Demo.internationalization_2 + ~f1:[code [txt "assets/daegsrv_i18n.tsv"]] + ~f2:[code [txt "daegsrv_i18n.eliom"]]] + ; p [txt [%i18n Demo.S.internationalization_3]] + ; p + [%i18n + Demo.internationalization_4 + ~f:[code [txt "assets/daegsrv_Demo_i18n.tsv"]] + ~demo_prefix:[code [txt "demo_"]]] ] diff --git a/daegsrv/demo_links.eliom b/daegsrv/demo_links.eliom new file mode 100644 index 0000000..a44321b --- /dev/null +++ b/daegsrv/demo_links.eliom @@ -0,0 +1,72 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Static files demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-static-files"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.links_and_static_files] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-links" + +(* An example of external service: *) +let%server ocsigen_service = + Eliom_service.extern ~prefix:"http://ocsigen.org" ~path:[] + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client ocsigen_service = ~%ocsigen_service + +(* Page for this demo *) +let%shared page () = + Lwt.return + [ h1 [%i18n Demo.links_and_static_files] + ; h2 [%i18n Demo.services] + ; p + [%i18n + Demo.services_1 + ~f1:[code [txt "daegsrv_services.eliom"]] + ~f2:[code [txt "daegsrv_handlers.eliom"]] + ~f3:[code [txt "daegsrv.eliom"]]] + ; h2 [%i18n Demo.links_and_forms] + ; p + [%i18n + Demo.links_and_forms_1 + ~t1: + [a ~service:Os_services.main_service [%i18n Demo.internal_link] ()] + ~t2:[a ~service:ocsigen_service [%i18n Demo.external_service] ()]] + ; h2 [%i18n Demo.static_files] + ; p + [%i18n + Demo.static_files_1 + ~static:[code [txt "static"]] + ~static_dir:[code [txt "static_dir"]]] + ; img + ~a:[a_class ["demo-static-img"]] + ~alt:"local_img" + ~src: + (Eliom_content.Html.F.make_uri + ~absolute:false (* We want local file on mobile app *) + ~service:(Eliom_service.static_dir ()) + ["images"; "ocsigen.png"]) + () + ; p [%i18n Demo.static_files_2] + ; img + ~a:[a_class ["demo-static-img"]] + ~alt:"distant_img" + ~src: + (Eliom_content.Html.F.make_uri + (* We want a distant file: + keep the default value of ~absolute *) + ~service:(Eliom_service.static_dir ()) + ["images"; "ocsigen.png"]) + () ] diff --git a/daegsrv/demo_notif.eliom b/daegsrv/demo_notif.eliom new file mode 100644 index 0000000..6d80452 --- /dev/null +++ b/daegsrv/demo_notif.eliom @@ -0,0 +1,106 @@ +[%%client +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Notification demo *) + +open Js_of_ocaml_lwt] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-notif"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.notification] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-notif" + +(* Instantiate function Os_notif.Simple for each kind of notification + you need. + The key is the resource ID. For example, if you are implementing a + messaging application, it can be the chatroom ID + (for example type key = int64). +*) +module Notif = Os_notif.Make_Simple (struct + type key = unit + + (* The resources identifiers. + Here unit because we have only one resource. *) + + type notification = string +end) + +(* Broadcast message [v] *) +let%rpc notify (v : string) : unit Lwt.t = + (* Notify all client processes listening on this resource + (identified by its key, given as first parameter) + by sending them message v. *) + Notif.notify (* ~notfor:`Me *) (() : Notif.key) v; + (* Use ~notfor:`Me to avoid receiving the message in this tab, + or ~notfor:(`User myid) to avoid sending to the current user. + (Where myid is Os_current_user.get_current_userid ()) + *) + Lwt.return_unit + +let%rpc listen () : unit Lwt.t = Notif.listen (); Lwt.return_unit + +(* Display a message every time the React event [e = Notif.client_ev ()] + happens. *) +let%server () = + Os_session.on_start_process (fun _ -> + let e : (unit * string) Eliom_react.Down.t = Notif.client_ev () in + ignore + [%client + (ignore + @@ React.E.map + (fun (_, msg) -> + (* Eliom_lib.alert "%s" msg *) + Os_msg.msg ~level:`Msg (Printf.sprintf "%s" msg)) + ~%e + : unit)]; + Lwt.return_unit) + +(* Make a text input field that calls [f s] for each [s] submitted *) +let%shared make_form msg f = + let inp = Eliom_content.Html.D.Raw.input () + and btn = + Eliom_content.Html.(D.button ~a:[D.a_class ["button"]] [D.txt msg]) + in + ignore + [%client + (Lwt.async @@ fun () -> + let btn = Eliom_content.Html.To_dom.of_element ~%btn + and inp = Eliom_content.Html.To_dom.of_input ~%inp in + Lwt_js_events.clicks btn @@ fun _ _ -> + let v = Js_of_ocaml.Js.to_string inp##.value in + let%lwt () = ~%f v in + inp##.value := Js_of_ocaml.Js.string ""; + Lwt.return_unit + : unit)]; + Eliom_content.Html.D.div [inp; btn] + +let%rpc unlisten () : unit Lwt.t = Notif.unlisten (); Lwt.return_unit + +(* Page for this demo *) +let%shared page () = + (* Subscribe to notifications when entering this page: *) + let%lwt () = listen () in + (* Unsubscribe from notifications when user leaves this page *) + let (_ : unit Eliom_client_value.t) = + [%client Eliom_client.Page_status.ondead (fun () -> Lwt.async unlisten)] + in + Lwt.return + Eliom_content.Html.F. + [ h1 [%i18n Demo.notification] + ; p + ([%i18n + Demo.exchange_msg_between_users ~os_notif:[code [txt "Os_notif"]]] + @ [ br () + ; txt [%i18n Demo.S.open_multiple_tabs_browsers] + ; br () + ; txt [%i18n Demo.S.fill_input_form_send_message] ]) + ; make_form [%i18n Demo.S.send_message] + [%client (notify : string -> unit Lwt.t)] ] diff --git a/daegsrv/demo_pagetransition.eliom b/daegsrv/demo_pagetransition.eliom new file mode 100644 index 0000000..cc4a3a0 --- /dev/null +++ b/daegsrv/demo_pagetransition.eliom @@ -0,0 +1,93 @@ +[%%shared +(* This demo illustrates Eliom's DOM caching feature. + + By running [Eliom_client.onload Eliom_client.push_history_dom] one + can push the DOM of the current page into Eliom's cache. Every page + which is cached in this manner will be immediately served from the + cache instead of being charged from the server or regenerated by + the client. Also the scroll position is restored that the page had + at the end of the last visit. *) +open Eliom_content] + +[%%shared open Html] +[%%shared open Html.D] +[%%client open Js_of_ocaml_lwt] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-page-transition"; ""]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +let%server detail_page_service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-page-transition"; "detail"; ""]) + ~meth:(Eliom_service.Get (Eliom_parameter.int "page")) + () + +(* Make service available on the client *) +let%client service = ~%service +let%client detail_page_service = ~%detail_page_service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.pagetransition] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-transition" + +let%shared create_item index = + let open F in + li + ~a: + [ a_class + ["demo-list-item"; Printf.sprintf "demo-list-item-%d" (index mod 5)] + ] + [a ~service:detail_page_service [txt (Printf.sprintf "list%d" index)] index] + +let%shared page () = + let l = + (fun i -> create_item (i + 1)) + |> Array.init 10 |> Array.to_list + |> ul ~a:[a_class ["demo-list"]] + in + let add_button = + div ~a:[a_class ["demo-button"]] [%i18n Demo.pagetransition_add_button] + in + ignore + [%client + ((* It is the address of the dom that will be stored in cache, so + it doesn't matter when [push_history_dom] is called. However, + it is important that the dom is bound to the right state id. + So it is better to call [push_history_dom] in Eliom_client.onload, + when the state id has already been updated and the dom of + the current page is ready. *) + Eliom_client.onload Eliom_client.push_history_dom; + let counter = + let r = ref 10 in + fun () -> + r := !r + 1; + !r + in + Lwt_js_events.clicks (To_dom.of_element ~%add_button) (fun _ _ -> + Html.Manip.appendChild ~%l (create_item (counter ())); + Lwt.return_unit) + : unit Lwt.t)]; + Lwt.return + [ h1 [%i18n Demo.pagetransition_list_page] + ; p [%i18n Demo.pagetransition_intro] + ; l + ; add_button ] + +let%shared make_detail_page page () = + let back_button = + div ~a:[a_class ["demo-button"]] [%i18n Demo.pagetransition_back_button] + in + ignore + [%client + (Lwt.async (fun () -> + Lwt_js_events.clicks (To_dom.of_element ~%back_button) (fun _ _ -> + Js_of_ocaml.Dom_html.window##.history##back; + Lwt.return_unit)) + : unit)]; + [ h1 + ([%i18n Demo.pagetransition_detail_page] + @ [txt (Printf.sprintf " %d" page)]) + ; back_button ] diff --git a/daegsrv/demo_pgocaml.eliom b/daegsrv/demo_pgocaml.eliom new file mode 100644 index 0000000..b1c6e4a --- /dev/null +++ b/daegsrv/demo_pgocaml.eliom @@ -0,0 +1,46 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* PGOcaml demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-pgocaml"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.pgocaml] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-pgocaml" + +(* Fetch users in database *) +let%rpc get_users () : string list Lwt.t = + (* For this demo, we add a delay to simulate a network or db latency: *) + let%lwt () = Lwt_unix.sleep 2. in + Demo_pgocaml_db.get () + +(* Generate page for this demo *) +let%shared page () = + let%lwt user_block = + Ot_spinner.with_spinner + (let%lwt users = get_users () in + let users = + List.map + (fun u -> if u = "" then li [em [txt "new user"]] else li [txt u]) + users + in + if users = [] + then Lwt.return [p [em [%i18n Demo.no_user_create_accounts]]] + else Lwt.return [p [%i18n Demo.pgocaml_users]; ul users]) + in + Lwt.return + [ h1 [%i18n Demo.pgocaml] + ; p [%i18n Demo.pgocaml_description_1] + ; p [%i18n Demo.pgocaml_description_2] + ; p [%i18n Demo.pgocaml_description_3] + ; user_block ] diff --git a/daegsrv/demo_pgocaml_db.ml b/daegsrv/demo_pgocaml_db.ml new file mode 100644 index 0000000..4d0b396 --- /dev/null +++ b/daegsrv/demo_pgocaml_db.ml @@ -0,0 +1,13 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +open Os_db + +(* We are using PGOCaml to make type safe DB requests to Postgresql. + The Makefile automatically compiles + all files *_db.ml with PGOCaml's ppx syntax extension. +*) + +let get () = + full_transaction_block (fun dbh -> + [%pgsql dbh "SELECT lastname FROM ocsigen_start.users"]) diff --git a/daegsrv/demo_popup.eliom b/daegsrv/demo_popup.eliom new file mode 100644 index 0000000..4cfeb73 --- /dev/null +++ b/daegsrv/demo_popup.eliom @@ -0,0 +1,68 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Popup button demo *) + +open Eliom_content.Html] + +[%%shared open Eliom_content.Html.F] +[%%client open Js_of_ocaml_lwt] + +(* Service for this demo, defined in the server-side app *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-popup"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu. This value is defined both server and client-side. *) +let%shared name () = [%i18n Demo.S.popup] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-popup" + +(* The function generating the page can be called either from the server or + the client (shared section). *) +let%shared page () = + let button = + (* As we are using ~%button (in a client section below) + to refer to this precise occurrence of the button in the page, + button must be a D node + (from module Eliom_content.Html.D, + which will add an unique identifier in its attributes), + and not a functional node (Eliom_content.Html.F). *) + D.Form.input + ~a:[a_class ["button"]] + ~input_type:`Submit ~value:[%i18n Demo.S.popup_click] Form.string + in + (* Every time this page is generated, + we want to execute the following piece of client-side code. + Lwt_js_events.clicks means "For each click on ... do ...". + It creates an Lwt thread that never returns. + We run it asynchronously using Lwt.async. + Lwt_js_events.clicks is expecting a DOM node + (i.e. an actual part of the current page). + To_dom.of_element will return the DOM node corresponding to the + OCaml value ~%button. + ~%button refers to the value button, defined outside [%client ] section + (possibly on server or client). + *) + ignore + [%client + (* This client section will be executed after the page is + displayed by the browser. *) + (Lwt.async (fun () -> + (* Lwt_js_events.clicks returns a Lwt thread, which never terminates. + We run it asynchronously. *) + Lwt_js_events.clicks (To_dom.of_element ~%button) (fun _ _ -> + let%lwt _ = + Ot_popup.popup ~close_button:[Os_icons.F.close ()] (fun _ -> + Lwt.return @@ p [%i18n Demo.popup_message]) + in + Lwt.return_unit)) + : unit)]; + (* Page elements, using module Eliom_content.Html.F + (as we don't want to add a unique identifier). + See internationalization demo for i18n syntax. + *) + Lwt.return [h1 [%i18n Demo.popup]; p [%i18n Demo.popup_content]; p [button]] diff --git a/daegsrv/demo_pulltorefresh.eliom b/daegsrv/demo_pulltorefresh.eliom new file mode 100644 index 0000000..a65e9e0 --- /dev/null +++ b/daegsrv/demo_pulltorefresh.eliom @@ -0,0 +1,47 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +(** Demo for refreshable content *) + +[%%shared open Eliom_content.Html] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-pull-to-refresh"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.pull_to_refresh] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-pull" + +let%shared page () = + let counter_sig, set_counter = Eliom_shared.React.S.create 0 in + let reload = + [%client + fun () -> + let%lwt _ = Js_of_ocaml_lwt.Lwt_js.sleep 1. in + let n = Eliom_shared.React.S.value ~%counter_sig in + ~%set_counter (n + 1); + Lwt.return_true] + in + let counter_node_sig = + Eliom_shared.React.S.map + [%shared + fun n -> + let n = [F.txt @@ string_of_int n] in + F.p [%i18n Demo.pull_to_refresh_counter ~n]] + counter_sig + in + let content = + F.div + ~a:[F.a_class ["demo-pull-to-refresh-content"]] + [ F.h1 [%i18n Demo.pull_to_refresh] + ; F.p [%i18n Demo.pull_to_refresh_1] + ; F.p [%i18n Demo.pull_to_refresh_2] + ; R.node counter_node_sig ] + in + Lwt.return @@ [Ot_pulltorefresh.make ~dragThreshold:15. ~content reload] diff --git a/daegsrv/demo_react.eliom b/daegsrv/demo_react.eliom new file mode 100644 index 0000000..38ed9a5 --- /dev/null +++ b/daegsrv/demo_react.eliom @@ -0,0 +1,72 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +(** Demo for shared reactive content *) + +[%%client open Js_of_ocaml_lwt] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-react"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.reactive_programming] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-react" + +(* Make a text input field that calls [f s] for each [s] submitted *) +let%shared make_form msg f = + let inp = Eliom_content.Html.D.Raw.input () + and btn = + Eliom_content.Html.(D.button ~a:[D.a_class ["button"]] [D.txt msg]) + in + ignore + [%client + (Lwt.async @@ fun () -> + let btn = Eliom_content.Html.To_dom.of_element ~%btn + and inp = Eliom_content.Html.To_dom.of_input ~%inp in + Lwt_js_events.clicks btn @@ fun _ _ -> + let v = Js_of_ocaml.Js.to_string inp##.value in + let%lwt () = ~%f v in + inp##.value := Js_of_ocaml.Js.string ""; + Lwt.return_unit + : unit)]; + Eliom_content.Html.D.div [inp; btn] + +(* Page for this demo *) +let%shared page () = + (* Client reactive list, initially empty. + It can be defined either from client or server side, + (depending on whether this code is executed client or server-side). + Use Eliom_shared.ReactiveData.RList for lists or + Eliom_shared.React.S for other data types. + *) + let l, h = Eliom_shared.ReactiveData.RList.create [] in + let inp = + (* Form that performs a cons (client-side). *) + make_form [%i18n Demo.S.reactive_programming_button] + [%client + (fun v -> Lwt.return (Eliom_shared.ReactiveData.RList.cons v ~%h) + : string -> unit Lwt.t)] + and l = + (* Produce
  • items from l contents. + The shared function will first be called once server or client-side + to compute the initial page. It will then be called client-side + every time the reactive list changes to update the + page automatically. *) + Eliom_shared.ReactiveData.RList.map + [%shared (fun s -> Eliom_content.Html.(D.li [D.txt s]) : _ -> _)] + l + in + Lwt.return + Eliom_content.Html. + [ F.h1 [%i18n Demo.reactive_programming] + ; F.p [F.txt [%i18n Demo.S.reactive_programming_1]] + ; F.p [F.txt [%i18n Demo.S.reactive_programming_2]] + ; F.p [F.txt [%i18n Demo.S.reactive_programming_3]] + ; inp + ; F.div [R.ul l] ] diff --git a/daegsrv/demo_ref.eliom b/daegsrv/demo_ref.eliom new file mode 100644 index 0000000..e075975 --- /dev/null +++ b/daegsrv/demo_ref.eliom @@ -0,0 +1,55 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Demo for Eliom references and Os_date *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-ref"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.eliom_ref] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-ref" + +(* An Eliom reference storing the last time the user visited the current + page. It has scope Eliom_common.default_group_scope, which means that + the value will be different for each user of the Web site, but the same + for all the sessions of a same user. + Ocsigen Start is creating a session group for each user. +*) +let%server last_visit = + Eliom_reference.eref ~persistent:"demo_last_visit" + ~scope:Eliom_common.default_group_scope None + +(* Read & reset last_visit *) +let%rpc get_reset_last_visit () : Os_date.local_calendar option Lwt.t = + let%lwt v = Eliom_reference.get last_visit in + let%lwt () = Eliom_reference.set last_visit (Some (Os_date.now ())) in + Lwt.return v + +(* Call get_reset_last_visit and produce pretty message *) +let%shared get_reset_last_visit_message () = + let%lwt last_visit = get_reset_last_visit () in + match last_visit with + | None -> Lwt.return [%i18n Demo.eliom_ref_first_visit] + | Some last_visit -> + Lwt.return + ([%i18n Demo.eliom_ref_last_visit] + @ [txt " "; txt (Os_date.smart_time last_visit)]) + +(* Generate page for this demo *) +let%shared page () = + let%lwt last_visit_message = get_reset_last_visit_message () in + Lwt.return + [ h1 [%i18n Demo.eliom_ref] + ; p [txt [%i18n Demo.S.eliom_ref_1]] + ; p [txt [%i18n Demo.S.eliom_ref_2]] + ; p last_visit_message + ; p [txt [%i18n Demo.S.eliom_ref_3]] ] diff --git a/daegsrv/demo_rpc.eliom b/daegsrv/demo_rpc.eliom new file mode 100644 index 0000000..1ece9cc --- /dev/null +++ b/daegsrv/demo_rpc.eliom @@ -0,0 +1,63 @@ +[%%client +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* RPC button demo *) + +open Js_of_ocaml_lwt] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-rpc"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.rpc_button] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-rpc" + +(* A server-side reference that stores data for the current browser + (scope = session). + It's also possible to define Eliom references with other scopes, + like client-process (a tab of a browser) or session-group (a user). + *) +let%server my_ref = + Eliom_reference.eref ~scope:Eliom_common.default_session_scope 0 + +(* Server-side function that increments my_ref and returns new val *) +let%rpc incr_my_ref () : int Lwt.t = + let%lwt v = Eliom_reference.get my_ref in + let v = v + 1 in + let%lwt () = Eliom_reference.set my_ref v in + Lwt.return v + +let%shared button msg f = + let btn = + Eliom_content.Html.(D.button ~a:[D.a_class ["button"]] [D.txt msg]) + in + ignore + [%client + (Lwt.async @@ fun () -> + Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%btn) + (fun _ _ -> ~%f ()) + : unit)]; + btn + +(* Page for this demo *) +let%shared page () = + let btn = + button [%i18n Demo.S.rpc_button_click_increase] + [%client + (fun () -> + let%lwt v = incr_my_ref () in + Eliom_lib.alert "Update: %d" v; + Lwt.return_unit + : unit -> unit Lwt.t)] + in + Lwt.return + Eliom_content.Html. + [ F.h1 [%i18n Demo.rpc_button] + ; F.p [F.txt [%i18n Demo.S.rpc_button_description]] + ; F.p [btn] ] diff --git a/daegsrv/demo_spinner.eliom b/daegsrv/demo_spinner.eliom new file mode 100644 index 0000000..2d6071d --- /dev/null +++ b/daegsrv/demo_spinner.eliom @@ -0,0 +1,44 @@ +[%%client +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Spinner demo *) + +open Js_of_ocaml_lwt] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-spinner"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.spinner] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-spinner" + +(* Build the spinner *) +let%client make_spinner () = + (* [Ot_spinner.with_spinner_no_lwt] accepts an Lwt thread "slowly" + producing HTML content *) + Ot_spinner.with_spinner_no_lwt + (* sleep for 5 seconds to simulate a delay, then return content *) + (let%lwt () = Lwt_js.sleep 5. in + Lwt.return + Eliom_content.Html.D. + [ txt [%i18n Demo.S.spinner_content_ready] + ; txt " " + ; txt [%i18n Demo.S.spinner_message_replace_spinner] ]) + +(* Page for this demo *) +let%shared page () = + Lwt.return + Eliom_content.Html. + [ F.h1 [%i18n Demo.spinner] + ; F.p [F.txt [%i18n Demo.S.spinner_description_ot]] + ; F.p [F.txt [%i18n Demo.S.spinner_description_1]] + ; F.p [F.txt [%i18n Demo.S.spinner_description_2]] + ; F.p [F.txt [%i18n Demo.S.spinner_description_3]] + ; F.p [F.txt [%i18n Demo.S.spinner_generated_client_side]] + ; C.node [%client (make_spinner () : [> `Div] Eliom_content.Html.elt)] ] diff --git a/daegsrv/demo_timepicker.eliom b/daegsrv/demo_timepicker.eliom new file mode 100644 index 0000000..397dc5e --- /dev/null +++ b/daegsrv/demo_timepicker.eliom @@ -0,0 +1,60 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +open Eliom_content.Html.D] + +[%%client open Js_of_ocaml_lwt] + +(* Timepicker demo *) + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-timepicker"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +let%server s, f = Eliom_shared.React.S.create None + +let%client action (h, m) = + ~%f (Some (h, m)); + Lwt.return_unit + +let%shared string_of_time = function + | Some (h, m) -> + [%i18n Demo.S.you_click_on_time ~h:(string_of_int h) ~m:(string_of_int m)] + | None -> "" + +let%server time_as_string () : string Eliom_shared.React.S.t = + Eliom_shared.React.S.map [%shared string_of_time] s + +let%rpc time_reactive () : string Eliom_shared.React.S.t Lwt.t = + Lwt.return @@ time_as_string () + +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.timepicker] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-timepicker" + +(* Page for this demo *) +let%shared page () = + let time_picker, _, back_f = + Ot_time_picker.make ~h24:true ~action:[%client action] () + in + let button = + Eliom_content.Html.D.button [%i18n Demo.timepicker_back_to_hours] + in + ignore + [%client + (Lwt.async (fun () -> + Lwt_js_events.clicks (Eliom_content.Html.To_dom.of_element ~%button) + (fun _ _ -> ~%back_f (); Lwt.return_unit)) + : _)]; + let%lwt tr = time_reactive () in + Lwt.return + [ h1 [%i18n Demo.timepicker] + ; p [%i18n Demo.timepicker_description] + ; div [time_picker] + ; p [Eliom_content.Html.R.txt tr] + ; div [button] ] diff --git a/daegsrv/demo_tips.eliom b/daegsrv/demo_tips.eliom new file mode 100644 index 0000000..fa613b1 --- /dev/null +++ b/daegsrv/demo_tips.eliom @@ -0,0 +1,48 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Os_tips demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-tips"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.tips] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-tips" + +(* Here is an example of tip. Call this function while generating the + widget concerned by the explanation it contains. *) +let%shared example_tip () = + (* Have a look at the API documentation of module Os_tips for + more options. *) + Os_tips.bubble () ~top:[%client 40] ~right:[%client 0] ~width:[%client 300] + ~height:[%client 180] ~arrow:[%client `top 250] ~name:"example" + ~content: + [%client + fun _ -> + Lwt.return + Eliom_content.Html.F. + [p [%i18n Demo.example_tip]; p [%i18n Demo.look_module_tip]]] + +(* Page for this demo *) +let%shared page () = + (* Call the function defining the tip from the server or the client: *) + let%lwt () = example_tip () in + Lwt.return + [ h1 [%i18n Demo.tips1] + ; p [%i18n Demo.tips2 ~os_tips:[code [txt "Os_tips"]]] + ; p [%i18n Demo.tips3] + ; p + [%i18n + Demo.tips4 + ~set_page: + [ a ~service:Daegsrv_services.settings_service + [%i18n Demo.tips5] () ]] ] diff --git a/daegsrv/demo_tongue.eliom b/daegsrv/demo_tongue.eliom new file mode 100644 index 0000000..27c407c --- /dev/null +++ b/daegsrv/demo_tongue.eliom @@ -0,0 +1,39 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Tongue demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-tongue"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.tongue_1] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-tongue" + +(* Page for this demo *) +let%shared page () = + let content = + [ div ~a:[a_class ["demo-tongue-1"]] [] + ; div ~a:[a_class ["demo-tongue-2"]] [] + ; div ~a:[a_class ["demo-tongue-3"]] [] + ; div ~a:[a_class ["demo-tongue-4"]] [] + ; div ~a:[a_class ["demo-tongue-5"]] [] + ; div ~a:[a_class ["demo-tongue-6"]] [] ] + in + let tongue = + Ot_tongue.tongue ~side:`Bottom + ~stops:[`Px 70; `Interval (`Percent 100, `Full_content)] + ~init:(`Px 70) content + in + Lwt.return + [ h1 [%i18n Demo.tongue_1] + ; p [%i18n Demo.ot_tongue_1] + ; div ~a:[a_class ["demo-tongue"]] [tongue.Ot_tongue.elt] ] diff --git a/daegsrv/demo_tools.eliom b/daegsrv/demo_tools.eliom new file mode 100644 index 0000000..c55b0e2 --- /dev/null +++ b/daegsrv/demo_tools.eliom @@ -0,0 +1,61 @@ +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +[%%shared.start] + +module type Page = sig + val name : unit -> string + val page_class : string + + val service + : ( unit + , unit + , Eliom_service.get + , Eliom_service.att + , Eliom_service.non_co + , Eliom_service.non_ext + , Eliom_service.reg + , [`WithoutSuffix] + , unit + , unit + , Eliom_service.non_ocaml ) + Eliom_service.t + + val page : unit -> Html_types.div_content Eliom_content.Html.D.elt list Lwt.t +end + +let demos = + [ (module Demo_popup : Page) + ; (module Demo_rpc) + ; (module Demo_ref) + ; (module Demo_spinner) + ; (module Demo_pgocaml) + ; (module Demo_users) + ; (module Demo_links) + ; (module Demo_i18n) + ; (module Demo_tips) + ; (module Demo_carousel1) + ; (module Demo_carousel2) + ; (module Demo_carousel3) + ; (module Demo_tongue) + ; (module Demo_calendar) + ; (module Demo_timepicker) + ; (module Demo_notif) + ; (module Demo_react) + ; (module Demo_pulltorefresh) + ; (module Demo_cache) + ; (module Demo_pagetransition) ] + +let drawer_contents () = + let open Eliom_content.Html.F in + let make_link (module D : Page) = + li [a ~service:D.service [txt @@ D.name ()] ()] + in + let submenu = + ul ~a:[a_class ["os-drawer-submenu"]] (List.map make_link demos) + in + li + [ a + ~a:[a_class ["os-drawer-item"]] + ~service:Daegsrv_services.demo_service [%i18n Demo.intro] () + ; submenu ] diff --git a/daegsrv/demo_users.eliom b/daegsrv/demo_users.eliom new file mode 100644 index 0000000..fd04eba --- /dev/null +++ b/daegsrv/demo_users.eliom @@ -0,0 +1,57 @@ +[%%shared +(* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. *) +(* Os_current_user demo *) + +open Eliom_content.Html.F] + +(* Service for this demo *) +let%server service = + Eliom_service.create + ~path:(Eliom_service.Path ["demo-users"]) + ~meth:(Eliom_service.Get Eliom_parameter.unit) () + +(* Make service available on the client *) +let%client service = ~%service +(* Name for demo menu *) +let%shared name () = [%i18n Demo.S.users] +(* Class for the page containing this demo (for internal use) *) +let%shared page_class = "os-page-demo-users" + +let%shared display_user_name = function + | None -> p [%i18n Demo.you_are_not_connected] + | Some user -> + p + [ txt ([%i18n Demo.S.you_are] ^ " ") + ; em [txt (Os_user.fullname_of_user user)] ] + +let%shared display_user_id = function + | None -> p [%i18n Demo.log_in_to_see_demo] + | Some userid -> + p + [ txt ([%i18n Demo.S.your_user_id] ^ " ") + ; em [txt (Int64.to_string userid)] ] + +(* Page for this demo *) +let%shared page () = + (* We use the convention to use "myid" for the user id of currently + connected user, and "userid" for all other user id. + We recommend to follow this convention, to reduce the risk + of mistaking an user for another. + We use prefix "_o" for optional value. + *) + let myid_o = Os_current_user.Opt.get_current_userid () in + let me_o = Os_current_user.Opt.get_current_user () in + Lwt.return + [ h1 [%i18n Demo.users] + ; p + [ txt [%i18n Demo.S.the_module] + ; code [txt " Os_current_user "] + ; txt [%i18n Demo.S.allows_get_information_currently_connected_user] ] + ; display_user_name me_o + ; display_user_id myid_o + ; p [txt [%i18n Demo.S.these_functions_called_server_or_client_side]] + ; p + [ txt [%i18n Demo.S.always_get_current_user_using_module] + ; code [txt " Os_current_user. "] + ; txt [%i18n Demo.S.never_trust_client_pending_user_id] ] ] diff --git a/daegsrv/mobile/.chcpignore b/daegsrv/mobile/.chcpignore new file mode 100644 index 0000000..e69de29 diff --git a/daegsrv/mobile/chcp.json.in b/daegsrv/mobile/chcp.json.in new file mode 100644 index 0000000..fb502a1 --- /dev/null +++ b/daegsrv/mobile/chcp.json.in @@ -0,0 +1,5 @@ +{ + "release": "%%DATE%%", + "content_url": "%%APPSERVER%%%%APPPATH%%/update/%%DATE%%", + "update": "now" +} diff --git a/daegsrv/mobile/config.xml.in b/daegsrv/mobile/config.xml.in new file mode 100644 index 0000000..0e64ccb --- /dev/null +++ b/daegsrv/mobile/config.xml.in @@ -0,0 +1,165 @@ + + + %%MOBILE_USE_CLEARTEXT_TRAFFIC%% + %%MOBILE_APP_NAME%% + + %%MOBILE_DESCRIPTION%% + + + %%MOBILE_AUTHOR_DESCRIPTION%% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/daegsrv/mobile/eliom.html.in b/daegsrv/mobile/eliom.html.in new file mode 100644 index 0000000..22d26bf --- /dev/null +++ b/daegsrv/mobile/eliom.html.in @@ -0,0 +1,38 @@ + + + + %%PROJECTNAME%% + + + + + + + + + + + + diff --git a/daegsrv/mobile/eliom_loader.ml b/daegsrv/mobile/eliom_loader.ml new file mode 100644 index 0000000..8614004 --- /dev/null +++ b/daegsrv/mobile/eliom_loader.ml @@ -0,0 +1,200 @@ +(* This file was generated by Ocsigen-start. + Feel free to use it, modify it, and redistribute it as you wish. *) + +(* Load Eliom client-side program after storing global data in + localStorage. Compile as follos: + + ocamlfind ocamlc \ + -package js_of_ocaml,js_of_ocaml.ppx,lwt_ppx \ + -linkpkg -o eliom_loader.byte \ + eliom_loader.ml + + js_of_ocaml eliom_loader.byte +*) + +module XmlHttpRequest = Js_of_ocaml_lwt.XmlHttpRequest + +(* Debug mode. Set to true if you want to use the debug mode. Used by "log". + *) +let debug = false + +(* If debug mode is activated, a paragraph is created and a message is printed + * in the console. + *) +let log = + if debug + then (fun s -> + Js_of_ocaml.Firebug.console##log (Js_of_ocaml.Js.string s); + let p = Js_of_ocaml.Dom_html.createP Js_of_ocaml.Dom_html.document in + p##.style##.color := Js_of_ocaml.Js.string "#64b5f6"; + Js_of_ocaml.Dom.appendChild p + (Js_of_ocaml.Dom_html.document##createTextNode (Js_of_ocaml.Js.string s)); + let container = Js_of_ocaml.Dom_html.getElementById "app-container" in + Js_of_ocaml.Dom.appendChild container p) + else fun s -> () + +(* Reference used by the binding to fetchUpdate to know if update has been done + * or if it failed. + *) +let update_failed = ref false +let data_upload_failed = ref false + +(* Get the Eliom server URL where updates must be fetched. *) +let url = + Js_of_ocaml.Js.Optdef.case + Js_of_ocaml.Js.Unsafe.global##.___eliom_server_ + (fun () -> "127.0.0.1:8080/__global_data__") + (fun server -> Js_of_ocaml.Js.to_string server ^ "/__global_data__") + +(* Get the local storage object. Fail if local storage is not supported. *) +let storage () = + Js_of_ocaml.Js.Optdef.case + Js_of_ocaml.Dom_html.window##.localStorage + (fun () -> failwith "Browser storage not supported") + (fun v -> v) + +(* This function is called when updating the files. It changes the class of the + * main container in index.html and add a button with an error message if + * something went wrong. + *) +let rec add_retry_button wake msg = + let container = Js_of_ocaml.Dom_html.getElementById "app-container" in + let p = Js_of_ocaml.Dom_html.createP Js_of_ocaml.Dom_html.document in + let btn = Js_of_ocaml.Dom_html.createButton Js_of_ocaml.Dom_html.document in + (* Set error class *) + container##.className := Js_of_ocaml.Js.string "app-error"; + (* Error message paragraph *) + Js_of_ocaml.Dom.appendChild p + (Js_of_ocaml.Dom_html.document##createTextNode (Js_of_ocaml.Js.string msg)); + p##.id := Js_of_ocaml.Js.string "retry-message"; + (* Retry button *) + Js_of_ocaml.Dom.appendChild btn + (Js_of_ocaml.Dom_html.document##createTextNode + (Js_of_ocaml.Js.string "Retry")); + btn##.onclick := + Js_of_ocaml.Dom_html.handler (fun _ -> + Js_of_ocaml.Dom.removeChild container p; + container##.className := Js_of_ocaml.Js.string "app blink"; + if !update_failed + then ( + update_failed := false; + ignore Js_of_ocaml.Js.Unsafe.global##.chcp##fetchUpdate); + if !data_upload_failed + then ( + data_upload_failed := false; + Lwt.async (fun () -> get_data wake)); + Js_of_ocaml.Js._false); + btn##.id := Js_of_ocaml.Js.string "retry-button"; + Js_of_ocaml.Dom.appendChild p btn; + Js_of_ocaml.Dom.appendChild container p + +and get_data wake = + let%lwt {XmlHttpRequest.content; code} = XmlHttpRequest.get url in + if code = 200 + then ( + log "Got global data"; + (storage ())##setItem + (Js_of_ocaml.Js.string "__global_data") + (Js_of_ocaml.Js.string content); + Lwt.wakeup wake ()) + else ( + log "Could not get global data"; + if not (!update_failed || !data_upload_failed) + then ( + data_upload_failed := true; + add_retry_button wake + "Cannot connect to the server. Please make sure that this app has access to a data connection.")); + Lwt.return_unit + +(* Get the URL saved in the JavaScript variables "___eliom_html_url_" defined in + * index.html and go this location. + *) +let redirect () = + Js_of_ocaml.Js.Optdef.iter Js_of_ocaml.Js.Unsafe.global##.___eliom_html_url_ + (fun url -> Js_of_ocaml.Dom_html.window##.location##replace url) + +let _ = + (* CHCP does not run in the background, so we check for updates on resume *) + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make "resume") + (Js_of_ocaml.Dom.handler (fun _ -> + log "Resume"; + ignore Js_of_ocaml.Js.Unsafe.global##.chcp##fetchUpdate; + Js_of_ocaml.Js._true)) + Js_of_ocaml.Js._false; + (* Create two threads for success callbacks and error callbacks. *) + let wait_success, wake_success = Lwt.wait () in + let wait_error, wake_error = Lwt.wait () in + (* Callback when success. + * [callback ev] will print the event if debug mode is activated. + * Calls by the event chcp_nothingToUpdate. + *) + let callback ev = + Js_of_ocaml.Dom.handler (fun _ -> + log ev; + update_failed := false; + Lwt.wakeup wake_success (); + Js_of_ocaml.Js._true) + in + (* Callback when errors. + * Calls by the event chcp_nothingToUpdate. + *) + let error_callback name = + Js_of_ocaml.Dom.handler (fun ev -> + log + (name ^ ": " + ^ Js_of_ocaml.Js.to_string ev##.detail##.error##.description); + update_failed := true; + if not !data_upload_failed + then + add_retry_button wake_error + (Js_of_ocaml.Js.to_string ev##.detail##.error##.description + ^ ". Please try again later."); + Js_of_ocaml.Js.bool true) + in + (* Callback to print a message *) + let status_callback name = + Js_of_ocaml.Dom.handler (fun ev -> log name; Js_of_ocaml.Js.bool true) + in + (* Binding to chcp_nothingToUpdate. Calls [callback ev]. *) + List.iter + (fun ev -> + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make ev) + (callback ev) Js_of_ocaml.Js._false) + ["chcp_nothingToUpdate"]; + (* Binding to chcp_updateLoadFailed, chcp_updateInstallFailed and + * chcp_assetsInstallationError. It calls [error_callback ev]. + *) + List.iter + (fun ev -> + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make ev) + (error_callback ev) Js_of_ocaml.Js._false) + [ "chcp_updateLoadFailed" + ; "chcp_updateInstallFailed" + ; "chcp_assetsInstallationError" ]; + (* Binding to other chcp events. It calls [status_callback ev] which will only + * print the event. + *) + List.iter + (fun ev -> + ignore + @@ Js_of_ocaml.Dom.addEventListener Js_of_ocaml.Dom_html.document + (Js_of_ocaml.Dom_html.Event.make ev) + (status_callback ev) Js_of_ocaml.Js._false) + [ "chcp_updateIsReadyToInstall" + ; "chcp_beforeInstall" + ; "chcp_nothingToInstall" + ; "chcp_updateInstalled" + ; "chcp_beforeAssetsInstalledOnExternalStorage" + ; "chcp_assetsInstalledOnExternalStorage" ]; + Lwt.async @@ fun () -> + let%lwt _ = Js_of_ocaml_lwt.Lwt_js_events.onload () in + let%lwt _ = get_data wake_error in + let%lwt _ = wait_error in + let%lwt _ = wait_success in + Lwt.return (redirect ()) diff --git a/daegsrv/mobile/index.html.in b/daegsrv/mobile/index.html.in new file mode 100644 index 0000000..5de34e9 --- /dev/null +++ b/daegsrv/mobile/index.html.in @@ -0,0 +1,36 @@ + + + + + + + + + + %%MOBILE_APP_NAME%% + + + + + + + + + diff --git a/daegsrv/mobile/res/.gitignore b/daegsrv/mobile/res/.gitignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/daegsrv/mobile/res/.gitignore @@ -0,0 +1 @@ + diff --git a/daegsrv/mobile/www/css/index.css b/daegsrv/mobile/www/css/index.css new file mode 100644 index 0000000..c340091 --- /dev/null +++ b/daegsrv/mobile/www/css/index.css @@ -0,0 +1,96 @@ +/** + * This file is used in index.html when the mobile application starts. + * - *app* and *blink* classes defines the style for the app loader image. + * - *retry-button* and *app-error* is used when an error occurs while updating + * the application. If an error occurs, *app-error* will replace *app*. + * - the logo (saved in img/logo.png) is set as background of the DOM elements + * which contains *app* or *app-error* class. + * + * See eliom_loader.ml and index.html for more information. + */ + +/* ------------------------------------------------------------- */ +/* Defines rules for the animation. It is used by *blink* class. */ + +@keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +@-webkit-keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +* { + -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */ +} + +body { + -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ + -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ + -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ + background-color:#FFFFFF; + font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif; + height:100%; + margin:0px; + padding:0px; + width:100%; +} + +/* --------------------- */ +/* app and error classes */ + +/* Portrait layout (default) */ +.app, /* text area height */ +.app-error{ + background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */ + position:absolute; /* position in the center of the screen */ + left:50%; + top:50%; + height:50px; /* text area height */ + width:225px; /* text area width */ + text-align:center; + padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */ + margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */ + /* offset horizontal: half of text area width */ + font-size: 16px; +} + +/* Landscape layout (with min-width) */ +@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) { + .app { + padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */ + margin:-90px 0px 0px -198px; /* offset vertical: half of image height */ + } + .app-error { + padding:40px 0px 75px 420px; /* padding-top + padding-bottom + text area = image height */ + margin:-90px 0px 0px -450px; /* offset vertical: half of image height */ + /* offset horizontal: half of image width and text area width */ + } +} + +/* -------------------------------- */ +/* This class is the fade animation */ + +.blink { + animation:fade 3000ms infinite; + -webkit-animation:fade 3000ms infinite; +} + +/* --------------------------------------------------------------- */ +/* Style for the retry button when an error occurs while updating */ + +#retry-button { + width: 100%; + display: block; + margin-top: 1.8rem; + margin-bottom: 1.8rem; + background-color: #64b5f6; + color: white; + height: 35px; + border: none; + font-size: 16px; +} diff --git a/daegsrv/mobile/www/img/logo.png b/daegsrv/mobile/www/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c302a976945d1dca9d13d59f611a9a2873def12 GIT binary patch literal 22807 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 a:visited, + .demo-list-item > a { + color: white; + } + + .demo-list-item.demo-list-item-0 { + background-color: #b1eb00; + } + .demo-list-item.demo-list-item-1 { + background-color: #53baf3; + } + .demo-list-item.demo-list-item-2 { + background-color: #ff85cb; + } + .demo-list-item.demo-list-item-3 { + background-color: #f4402c; + } + .demo-list-item.demo-list-item-4 { + background-color: #ffac00; + } + + .demo-button { + margin: 0 auto; + padding: 20px; + width: 200px; + font-size: 20px; + text-align: center; + background-color: #ffffee; + } +} +.demo-tongue { + display: flex; + flex-direction: column; + .demo-tongue-1 { + background-color: #ffffee; + height: 100px; + } + .demo-tongue-2 { + background-color: #ffddee; + height: 150px; + } + .demo-tongue-3 { + background-color: #ddffee; + height: 80px; + } + .demo-tongue-4 { + background-color: #ddeeff; + height: 200px; + } + .demo-tongue-5 { + background-color: #eeccff; + height: 130px; + } + .demo-tongue-6 { + background-color: #ffeeaa; + height: 300px; + } +} diff --git a/daegsrv/sass/os.scss b/daegsrv/sass/os.scss new file mode 100644 index 0000000..ce25c46 --- /dev/null +++ b/daegsrv/sass/os.scss @@ -0,0 +1,335 @@ +/* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. +*/ + +/* Default CSS for Ocsigen Start */ + +@import url('https://fonts.googleapis.com/css?family=Quicksand'); + +$main-color: #25a; +$dark-color: #445; +$breakpoint1: 720px; + +html { box-sizing: border-box; } +*, *::before, *::after { box-sizing: inherit; } + +body { + margin: 0; + font-size: 14px; + background-color: white; +} + +body, input, textarea, keygen, select, button { + font-family: 'Quicksand', sans-serif; +} + +a, a:visited { + text-decoration: none; + color: #666; + cursor: pointer; +} + +button, input { + border: none; +} + +button, input[type="submit"], input[type="button"] { + cursor: pointer; +} + +.button { + border-radius: 2px; + box-shadow: 0 2px 2px rgba(0,0,0,.28); + background-color: white; + color: #666; + text-transform: uppercase; + font-size: 14px; + padding: 5px 16px; + margin: 5px; +} + +input { + padding: 5px; + border-radius: 2px; +} + +.connected-user-box { + display: flex; + align-items: center; + .fa-user { + height: 50px; + width: 50px; + font-size: 22px; + &::before { + line-height: 50px; + } + } +} + +.os-page-header { + position: fixed; + top: 0; + z-index: 1; + height: 50px; + width: 100%; + background-color: $main-color; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + box-shadow: 0 4px 8px rgba(0,0,0,.28); + padding: 0 20px 0 50px; + .connected-user-box { + color: white; + } +} + +a.os-page-header-app-name { + text-decoration: none; + color: white; + font-size: 30px; +} + +.ot-dr-toggle-button { + color: white; +} + +.os-drawer-menu { + padding: 0; + margin: 0; + overflow-y: auto; + height: 100%; + touch-action: pan-y; + &, ul { + list-style-type: none; + } + .os-drawer-item { + display: block; + padding: 16px; + } + a:hover { + background-color: $dark-color; + color: white; + } + .connected-user-box { + border-bottom: 1px solid #ddd; + } +} + +.os-drawer-submenu { + padding: 0; + > li > a { + display: block; + padding: 5px 5px 5px 50px; + } +} + +.os-body { + padding: 66px 16px; +} + +.os-page-footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background-color: #ddd; + padding: 16px; + font-size: 10px; + text-align: center; +} + +.os-welcome-box, .os-settings, .os-sign-in, .os-sign-up, .os-forgot-pwd { + h2 { + font-size: 14px; + margin: 16px 0 4px 0; + } + form, .form-like { + display: flex; + margin: 0 auto; + flex-direction: column; + background-color: #eee; + padding: 16px; + width: 350px; + } + input[type="checkbox"] { + vertical-align: middle; + } + input[type="submit"], button { + margin: 5px auto; + } + input[type="text"], input[type="password"], + input[type="email"], input[type="tel"] { + width: 150px; + display: block; + margin: 5px auto; + } + label { + font-size: 12px; + } +} +.os-sign-up-btn { + background-color: #fb8282; + color: white; +} +.os-forgot-pwd-link { + font-size: 12px; +} + +#os-msg { + position: fixed; + top: 100px; + left: 0; + right: 0; + z-index: 100; + p { + padding: 50px 0; + text-align: center; + background-color: rgba(200,220,240,0.9); + &.os-err { + background-color: rgba(200,0,0,0.7); + color: white; + } + } +} + +.os-page-main .os-page-header .os-connection-box { + position: absolute; + top: 15px; + right: 15px; +} + +.os-page-main:not(.os-connected) { + .os-page-header { + display: block; + height: 40vh; + .os-page-header-app-name { + display: block; + position: absolute; + top: 30vh; + } + } + .os-body { + margin-top: 40vh; + } +} + +@media (max-width: $breakpoint1) { + .os-page-footer { display: none; } + .os-page-header { + .os-connection-box, .os-page-header-app-name, .connected-user-box { + display: none; + } + } + .os-page-main { + .os-page-header .os-connection-box { + display: flex; + flex-direction: column; + position: absolute; + top: 45vh; + left: 0; + width: 100%; + .button { + width: 150px; + margin: 16px auto; + } + } + &.os-not-connected .os-body { + display: none; + } + } + .os-page-header { display: block; } +} + +.os-settings p { + text-align: center; +} + +.os-emails { + text-align: left; + display: flex; + justify-content: center; + ul { + list-style: none; + li { + padding: 5px 10px; + border-bottom: 1px solid #e5e5e5; + display: flex; + justify-content: space-between; + align-items: center; + .os-settings-label { + font-weight: bold; + padding: 4px 10px; + margin-left: 4px; + border-radius: 3px; + } + .os-settings-email { + flex-grow: 2; + padding-right: 20px; + } + .os-main-email { + color: #fff; + background-color: #6cc664; + } + .os-validated-email { + color: #fff; + background-color: #25a; + } + .os-remove-email-button { + box-shadow: none; + font-size: 18px; + margin: 0px; + color: #bd2c00; + } + } + } +} + +.os-avatar { + margin-right: 15px; + width: 35px; +} + +.ot-drawer { + display: flex; + flex-direction: column; + .connected-user-box { + flex-shrink: 0; + } +} +.ot-dr-left .os-avatar { + margin-left: 16px; +} + +/* Tips */ +div.os-tip { + position: absolute; + margin: 20px; + box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2); + z-index: 1111; + transition: opacity 0.5s; + div.os-tip-bec { + background-color: white; + width: 20px; + height: 20px; + position: absolute; + transform: rotate(45deg); + box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2); + z-index: -1; + } + div.os-tip-content { + padding: 30px 20px 30px 20px; + background-color: white; + height: 100%; + width: 100%; + } + .os-tip-close { + position: absolute; + top: 5px; + right: 5px; + } + li, + p { + padding-bottom: 10px; + } +} diff --git a/daegsrv/static/css/font-awesome.min.css b/daegsrv/static/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/daegsrv/static/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/daegsrv/static/defaultcss/demo.css b/daegsrv/static/defaultcss/demo.css new file mode 100644 index 0000000..111616d --- /dev/null +++ b/daegsrv/static/defaultcss/demo.css @@ -0,0 +1,122 @@ +/* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. +*/ +.demo-carousel1 { + display: flex; + justify-content: center; } + .demo-carousel1 .demo-carousel1-box { + position: relative; + margin: auto; } + .demo-carousel1 .ot-carousel { + width: 300px; + height: 200px; } + .demo-carousel1 .demo-carousel1-page { + width: 100%; + height: 100%; + padding: 16px; + color: white; } + .demo-carousel1 .demo-carousel1-page-1 { + background-color: #49b2cc; } + .demo-carousel1 .demo-carousel1-page-2 { + background-color: #dddd55; } + .demo-carousel1 .demo-carousel1-page-3 { + background-color: #c14768; } + .demo-carousel1 .demo-carousel1-page-4 { + background-color: #45bf7d; } + .demo-carousel1 .ot-bullet-nav { + position: absolute; + bottom: 16px; + right: 16px; + margin: 0; } + .demo-carousel1 .ot-car-prev, .demo-carousel1 .ot-car-next { + position: absolute; + top: 75px; + width: 50px; + height: 50px; + color: white; + outline: none; } + .demo-carousel1 .ot-car-prev { + left: 0; } + .demo-carousel1 .ot-car-next { + right: 0; } + +.os-page-demo-carousel2 .demo-carousel2 { + margin: 0 -16px; } +.os-page-demo-carousel2 .ot-carousel { + width: 100%; + height: auto; } +.os-page-demo-carousel2 .demo-carousel2-page { + padding: 16px; } + .os-page-demo-carousel2 .demo-carousel2-page p { + text-align: justify; } +.os-page-demo-carousel2 .demo-carousel2-page-1 { + background-color: white; } +.os-page-demo-carousel2 .demo-carousel2-page-2 { + background-color: #ffffee; } +.os-page-demo-carousel2 .demo-carousel2-page-3 { + background-color: #ffddee; } +.os-page-demo-carousel2 .demo-carousel2-page-4 { + background-color: #ddffee; } +.os-page-demo-carousel2 .demo-carousel2-tabs { + position: sticky; + background-color: white; + z-index: 1; + top: 50px; } + +.os-page-demo-carousel3 .demo-prev, .os-page-demo-carousel3 .demo-next { + width: 20px; + height: 20px; + background-color: #6ae; + color: white; } + +.os-page-demo-notif input:not([type]), +.os-page-demo-react input:not([type]) { + background-color: #eee; } + +.os-page-demo-links .demo-static-img { + width: 300px; } + +.os-page-demo-transition .demo-list{ + padding-left: 0; + list-style-type: none; +} + +.os-page-demo-transition .demo-list-item { + width: 100%; + height: 150px; + font-size: 20px; + padding-top: 65px; + text-align: center; +} + +.os-page-demo-transition .demo-list-item>a:visited, +.os-page-demo-transition .demo-list-item>a { + color: white; +} + +.os-page-demo-transition .demo-list-item.demo-list-item-0 { + background-color: #B1EB00 +} +.os-page-demo-transition .demo-list-item.demo-list-item-1 { + background-color: #53BAF3 +} +.os-page-demo-transition .demo-list-item.demo-list-item-2 { + background-color: #FF85CB +} +.os-page-demo-transition .demo-list-item.demo-list-item-3 { + background-color: #F4402C +} +.os-page-demo-transition .demo-list-item.demo-list-item-4 { + background-color: #FFAC00 +} + +.os-page-demo-transition .demo-button { + margin: 0 auto; + padding: 20px; + width: 200px; + font-size: 20px; + text-align: center; + background-color: #ffffee; +} + +/*# sourceMappingURL=.os_temporary_filename.css.map */ diff --git a/daegsrv/static/defaultcss/os.css b/daegsrv/static/defaultcss/os.css new file mode 100644 index 0000000..71d5eb3 --- /dev/null +++ b/daegsrv/static/defaultcss/os.css @@ -0,0 +1,269 @@ +/* This file was generated by Ocsigen Start. + Feel free to use it, modify it, and redistribute it as you wish. +*/ +/* Default CSS for Ocsigen Start */ +@import url("https://fonts.googleapis.com/css?family=Quicksand"); +html { + box-sizing: border-box; } + +*, *::before, *::after { + box-sizing: inherit; } + +body { + margin: 0; + font-size: 14px; + background-color: white; } + +body, input, textarea, keygen, select, button { + font-family: 'Quicksand', sans-serif; } + +a, a:visited { + text-decoration: none; + color: #666; + cursor: pointer; } + +button, input { + border: none; } + +button, input[type="submit"], input[type="button"] { + cursor: pointer; } + +.button { + border-radius: 2px; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.28); + background-color: white; + color: #666; + text-transform: uppercase; + font-size: 14px; + padding: 5px 16px; + margin: 5px; } + +input { + padding: 5px; + border-radius: 2px; } + +.connected-user-box { + display: flex; + align-items: center; } + .connected-user-box .fa-user { + height: 50px; + width: 50px; + font-size: 22px; } + .connected-user-box .fa-user::before { + line-height: 50px; } + +.os-page-header { + position: fixed; + top: 0; + z-index: 1; + height: 50px; + width: 100%; + background-color: #25a; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.28); + padding: 0 20px 0 50px; } + .os-page-header .connected-user-box { + color: white; } + +a.os-page-header-app-name { + text-decoration: none; + color: white; + font-size: 30px; } + +.ot-dr-toggle-button { + color: white; } + +.os-drawer-menu { + padding: 0; + margin: 0; + overflow-y: auto; + height: 100%; + touch-action: pan-y; } + .os-drawer-menu, .os-drawer-menu ul { + list-style-type: none; } + .os-drawer-menu .os-drawer-item { + display: block; + padding: 16px; } + .os-drawer-menu a:hover { + background-color: #445; + color: white; } + .os-drawer-menu .connected-user-box { + border-bottom: 1px solid #ddd; } + +.os-drawer-submenu { + padding: 0; } + .os-drawer-submenu > li > a { + display: block; + padding: 5px 5px 5px 50px; } + +.os-body { + padding: 66px 16px; } + +.os-page-footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background-color: #ddd; + padding: 16px; + font-size: 10px; + text-align: center; } + +.os-welcome-box h2, .os-settings h2, .os-sign-in h2, .os-sign-up h2, .os-forgot-pwd h2 { + font-size: 14px; + margin: 16px 0 4px 0; } +.os-welcome-box form, .os-settings form, .os-sign-in form, .os-sign-up form, .os-forgot-pwd form { + display: flex; + margin: 0 auto; + flex-direction: column; + background-color: #eee; + padding: 16px; + width: 350px; } +.os-welcome-box input[type="checkbox"], .os-settings input[type="checkbox"], .os-sign-in input[type="checkbox"], .os-sign-up input[type="checkbox"], .os-forgot-pwd input[type="checkbox"] { + vertical-align: middle; } +.os-welcome-box input[type="submit"], .os-settings input[type="submit"], .os-sign-in input[type="submit"], .os-sign-up input[type="submit"], .os-forgot-pwd input[type="submit"] { + margin: 5px auto; } +.os-welcome-box input[type="text"], .os-welcome-box input[type="password"], .os-welcome-box input[type="email"], .os-settings input[type="text"], .os-settings input[type="password"], .os-settings input[type="email"], .os-sign-in input[type="text"], .os-sign-in input[type="password"], .os-sign-in input[type="email"], .os-sign-up input[type="text"], .os-sign-up input[type="password"], .os-sign-up input[type="email"], .os-forgot-pwd input[type="text"], .os-forgot-pwd input[type="password"], .os-forgot-pwd input[type="email"] { + width: 150px; + display: block; + margin: 5px auto; } +.os-welcome-box label, .os-settings label, .os-sign-in label, .os-sign-up label, .os-forgot-pwd label { + font-size: 12px; } + +.os-sign-up-btn { + background-color: #fb8282; + color: white; } + +.os-forgot-pwd-link { + font-size: 12px; } + +#os-msg { + position: fixed; + top: 100px; + left: 0; + right: 0; + z-index: 100; } + #os-msg p { + padding: 50px 0; + text-align: center; + background-color: rgba(200, 220, 240, 0.9); } + #os-msg p.os-err { + background-color: rgba(200, 0, 0, 0.7); + color: white; } + +.os-page-main .os-page-header .os-connection-box { + position: absolute; + top: 15px; + right: 15px; } + +.os-page-main:not(.os-connected) .os-page-header { + display: block; + height: 40vh; } + .os-page-main:not(.os-connected) .os-page-header .os-page-header-app-name { + display: block; + position: absolute; + top: 30vh; } +.os-page-main:not(.os-connected) .os-body { + margin-top: 40vh; } + +@media (max-width: 720px) { + .os-page-footer { + display: none; } + + .os-page-header .os-connection-box, .os-page-header .os-page-header-app-name, .os-page-header .connected-user-box { + display: none; } + + .os-page-main .os-page-header .os-connection-box { + display: flex; + flex-direction: column; + position: absolute; + top: 45vh; + left: 0; + width: 100%; } + .os-page-main .os-page-header .os-connection-box .button { + width: 150px; + margin: 16px auto; } + .os-page-main.os-not-connected .os-body { + display: none; } + + .os-page-header { + display: block; } } +.os-settings p { + text-align: center; } + +.os-emails { + text-align: left; + display: flex; + justify-content: center; } + .os-emails ul { + list-style: none; } + .os-emails ul li { + padding: 5px 10px; + border-bottom: 1px solid #e5e5e5; + display: flex; + justify-content: space-between; + align-items: center; } + .os-emails ul li .os-settings-label { + font-weight: bold; + padding: 4px 10px; + margin-left: 4px; + border-radius: 3px; } + .os-emails ul li .os-settings-email { + flex-grow: 2; + padding-right: 20px; } + .os-emails ul li .os-main-email { + color: #fff; + background-color: #6cc664; } + .os-emails ul li .os-validated-email { + color: #fff; + background-color: #25a; } + .os-emails ul li .os-remove-email-button { + box-shadow: none; + font-size: 18px; + margin: 0px; + color: #bd2c00; } + +.os-avatar { + margin-right: 15px; + width: 35px; } + +.ot-drawer { + display: flex; + flex-direction: column; } + .ot-drawer .connected-user-box { + flex-shrink: 0; } + +.ot-dr-left .os-avatar { + margin-left: 16px; } + +/* Tips */ +div.os-tip { + position: absolute; + margin: 20px; + box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2); + z-index: 1111; } + div.os-tip div.os-tip-bec { + background-color: white; + width: 20px; + height: 20px; + position: absolute; + transform: rotate(45deg); + box-shadow: 0px 0px 2px 2px rgba(0, 0, 0, 0.2); + z-index: -1; } + div.os-tip div.os-tip-content { + padding: 30px 20px 30px 20px; + background-color: white; + height: 100%; + width: 100%; } + div.os-tip .os-tip-close { + position: absolute; + top: 5px; + right: 5px; } + div.os-tip li, + div.os-tip p { + padding-bottom: 10px; } + +/*# sourceMappingURL=.os_temporary_filename.css.map */ diff --git a/daegsrv/static/fonts/FontAwesome.otf b/daegsrv/static/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/daegsrv/static/fonts/fontawesome-webfont.eot b/daegsrv/static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

    5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/daegsrv/static/fonts/fontawesome-webfont.ttf b/daegsrv/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/daegsrv/static/fonts/fontawesome-webfont.woff2 b/daegsrv/static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 zcmV(81_!itTT%&fM`8Do zgetlXfhX-f>pHa>CezJ5a+CKJB5E?t-D3Q@I zv;Az_{%F*wqQWVk+*x^)@=9sx>ldws&U_`?fwx|)6i0%hGq@6No|Wjj+Lhc2#LbXI zik@&>S#lthOy5xS4viawbfqcF5t#22r#4c;ULsQqOn&iMQrAORQWXh`G=YxhM*4YN zTfgWxZlU6?d>wP(yNq!jqfNVxB}>Ww7cSen4lE1$g!lMN&~*PN_7ITCO&u%|6=U~^ zD`NV@*N5j%{d4(V*d&F9*Lp4o^=-wV4E$&&XJX#);dbqZ^8pUYCyEa?qdKs=!}D|N zZKGn0G1#bWFe1l-8nC}AR*a~P9;0KUBrGsNR8Um3F%kp&^sGD!?K|!B(qItgwkPpO z4nOg8&Z#<)4^Bj%sQjrANfD$Zj098^i(7$$Vl;{o&HR7r?C&hE&b-&}y`y4mHj%mu zNlfW!ecOyC;56fuZ7e6t7R&P^z1O9)e^Pe=qGENxwk%7Q3&sYU;&zJz+X!u6Ex^F$ zTu6(Z`;JIR{;Knn>IcTcKbV%&ZSxB`P>8MADLLm#sD>oQy@;IWvGh3j=*Qa5&VIQ& z#BvplZofSw5gN50lul%1ZW|#duBPzgJG1nxIGMaB*-obI9wC1%7zRoi%C^%k;Mn?+ z?pUuq3@j1^4v?E3B49cgqW>EY2?-#3jqje^;JgycOCcwp0HG~LNR*rji6bO_n_6Fl zxt$OawF6EyR#iAg$gdotjwKXO)cf75+S~gE2n>cpa0mh<1W_5Hw7c36opP+~qRPFS z?z(HcYuX#9GugKj(K=EQB_0sAfiipahu*36k{xIzyD2!y5%vK1@c|DQ3Q0^$kT!Po zBklXM?*0ZWJJ6;!hoDZHGR|mrw+{{o{_lUy{_6}+Pm!l|BNl}Q;&@bv@2Wy(0-c_O zab6Z9oUWgiKYRW)Vv0%P;3X|rT9E6xVx&Q%6AWJDG0oX-H5vJ?>5A8;PEnm%C;H~y z%@URb{E<@x+!!CGA#@@j24G?{>Gvg*2lVeVHM;^7(Pnl#tDV)(Y|gCiIh;CbXJ$WV za+~#V|9GDufDe2U{2(L>iu$ z&FbBmZ9gV+TlVF2nNyNeYL2HloUh~eKdpS)>J9Pm#Xd(4%myqFVno%qUa9n|Ua803 z8#-)?GmgDZL7HHzH4B_FHnRat`EXP62|?edFIDRb!q%9yytA|?Ib5`-)rNGqg%GbH z-}d(Uw;KH$fouQgEh;fvK+gfZPMGsl{cktu>gD1?zL z`z7_05U{qkjReFC1qI#x+jpODe!iG=?eIufIBbyAS`i6yq~pK;J!P{R?B6jf<_85Y z$&N8sKi05v?h+0-IZ#Z-(g8koZ#f{v7%?Dp!%F^s91LTw|BvSLb7Oj@878i9HK*kSp)6{%ZXlv-PQ)RD zE`x4f_xM$H9{@mn{1`uWwLbR;xgELO9FcMuRbkvnQXmT&j}ZE~*Z9?u0F(1c4Md6G z%ZpLJy?$`%3V_^=J3F{;`T31Z7#Ad=bomK731~(`S)uLTR8OErP908ueHZaDB4D$q z{GZri&j-sW%|A#W5to*SAH-ai&E<86{%v3LDwPh%=3Mm7wrS#iOV1$&8oKgshx_jMlowl4ED4$f#L1!t6C1g9p~=ODPt z5-F*yQZ*RmNQ`~4r~k{Ouxs3@+Z>Q5N}1kIzW_;y+Y`2(U+=Sj1(9)2Vkg!}$DaT~ zSw&5w0~|KUc7%a7st`^}4doR9Pl!$j8b%9FcqlQFIssg|->XC5YmQ@}VmJj+^a&GW z;TT&?6ewkE94j()E$+}^)|h0Xjx{@?P9)U!BBDsDj}WU31 zAtcV{=d|bI-bs8=m>_-=CKKcXWW_GX0~^$^=>jcb2lM)283`*Z!V{7?x-M-}_~|s` zV|lNhxg(2J)xt(s?g(|g4crMAX)o}cuastffHd9kY=i3#SX1;l!-O06F-4v5y)!_N z{n~32h};!G7bhd5ytZSkz1eQ+sUW)X74K7DJFF%9?n#Q!!7ID?F7r$p*h2z%vFq+0 z9=`hOhOu`E+Rawmf`Ea#sNtl*!}&#cW`0Ouz3DI?ydh+i=s;0>PiQfT7Zu*A>rw!Z2oWMZdTlLANQLT4}czIhYZic*axDrD;QpTldic#?)QnYZQ#V&@GPdWKu$ce zkR96D(D?F+uOEL7E{&8{@#anN+7VOiE7M#=o-3l-Qlfm(Hnj`lCvjX<;N1eImGc}P zIfq1q23S0QB<*mCfZhipyXl3dlKdo_(zgrVEctLByL0)aRMXBH-Ttp)yZ_WqYe|tF zU*@4;)#eID=!hTcSCgMs|CA-!(RT=~eyOCyMAVSk!pq$%^Rswq@*cQ(TXI^ehX9#d zQzf)Vo7@<4U`9OSg`E*=es@n8G*SbT@I9!qVekl|qYka=BE@A6$s=C?(x-c+DlyNW} z6eaQe@Drh#XmE?Ex(!VKoZcdgD?X0w=CviN3tmmjikMECbJNHMagMY-l@hQIzV7AZ zriQRf5j1k=Eh_KlCFt5{BiAK6a8T){lxWsNJ@?M~+S(158s#PwDXC&%gvLuu_&~q; zp5%18A)_>(Gy@` zHu}fy7?5gdqUqRaZ9G+VYFVjT`f3hBTtJLx%QHo4W^k7Hn4dbj+U@EPSKG&~pSs!K zvyPmU&Tyr~vom3Dulo^!F^FVgi})a%1Gn9)rTvJRN`lw2KOkz(aW}5MO~dBSW@edL zwPwp4)N=wJup1;S7@U)OkZj2gQGo~o4#o=@iYEeNjFZoLvW2r$?(LKzQYnI52$jlzP&K3-Fs?@ z8TYz{a*Ip6o|)y)qHif|*~IjRGj3tOR55>Cr^87ZMJVZQz4x-c--DZz!bJ3J`mBFt zv$MzMB*TT@cUYc?%vG%XC_t5juJ=v#VIpp<4lLvW$%%|VH?JfU3&D=q@FkudiARUh(d2N+ zWLd~2X5t4S?fb`JHk6Khs0b;)4m))>Bf>MuG>~md#IxJ@3UBxJiBI@&t;m6*b~tLF z>Y4m_C`-#PTHIv21B#D$$;E^HZ8uiYUtFhV*G%O%3~-xR^LiE@?1e}-zAdW`mbEM> zF-u5dt!0p?EOIRw9HXESaG^}g@5b$*Gd<>1m;%N!sdSMt*}PbmYdWd4wf_iOfHlC+ za|MYGa1MylQ*%_SxCI*3>pCu7wYNkflt8fcEw)9s%#j8m5R?-^jqs5&y2-XJ@J1PZ zvCEQxGD63Ll8sRsnbjBI1u1mJ!>4@OBQ%73++6qLsDSXuV7F#t5G=NzBh&|HiRm#q z*)7%le!&>OD#^0421Im4)tJOE2i~}o^A-DsEaeX+t0KZ z{sQInfSneVRDtp{f^<>g*rTZi2sAuCI!Z9Zh$ZFSky>G5VCcOA>UPbn{DxunR4-Zq z0{Rr3Vcwm`(344N37c0jkQV&${exerkPtp8!}^!LNFtPq`QzzulIshDd^c?rMzvmA z&&_^jixC$vO7ZGm0Le*_7u+*exgqHorQCbdJY~!;JgCi-!q5HtGLD2^A9dP#_`PVfh~Qf+*{6POoKUi6l2P%*Hl&QKAyfLqkaIKd`D8JY1@={Zhq*1zZjQU5-VVG9EdQhh(N}S^W*!YLJe?QZ~`l?e_yw z5+Rt%0P61dAXbLEnF=K$2o+w?V3$raPx6eS5Bi3KtXuINb~@n7ggV*iUfP^;*T3fx zK(YWg|IErMMW^{br`nI~*hvLG+;Qa(JTE9Xz2mD|`K zWkMsBLSxbz*}wwmYD`=a5~IW|zFKINTi5zYJdLXS5AlQ;aj16QewJ%pn@7XW)l@{k zKU1m8+14)_#x2y>CEb#Vl-cMv42b@BrfGab7RyPY#BuR=W2k^v0h<(f44SbZ&kQd& z1c7+0f=Eva?9UId@{fgyyLhy>XLZ>Hs_gVQ>JLK39^$?US5+# zF8FwgP0>wLKjyriCrA1t{C?ppovgaV>1c~smv@h!4uR$(`2`$DeE7c~B> zpO)wsEU7ZQ#)-uJ6()96NKJ8Y@H7-Z0#aPGy|SvlSYbSo*fbFCmK;D$X{<=pL|?w> z37bU`XR6OqiFvV2n$yv2RQ}kYO5LsvtCo2WW6I7VnMg|XEFd+Y{o1b`B?Ku6B<2+= z&U7;n*3GsPjMqSY02HvKv_gCJS?}VwnX)lP$9Q?8>7cln_TCYaRXg*#;^hb%1uH+IT+qbi5QUIEkAPwUL- zZcK{joDF?6iF-BK80ny(qch>Bj2#sVh;E9olq4i9E2BhC2h@ZuNbOcWnAb?Aj+ol{ zPjg%dw*~)|Ezvu`S2h4n_?1nG-8izHMroCi)H}Y7r8gOC^D?nEB?8ux%nux4T`W2w zjmomxy+te?pWb^_g#G~wZee%3vH68gXQ75Jt@23+IdVE`poA6wl8hR#JV_HpwK4Eu zBw$Qpa>tT{f!Cet&Rr4Zc;X#7JyIEVCMr=i=zs(;dVe1C%lLUbh~NS0gJ4a3_SBi0 zWKV|KrDg~RR0H=-#?#LMUi65trDJ==U20Be7 z%Xwpj z8rGRuVi>6*eIn2 z4sdTqnx|BWhY_zMYaCA7zUpjza))jPvt-vupa&k7+<6n*ist$5`NN|BwO~KBX%LYryjwYCD`L@BOz&Y#&6yLk zrl09#3<5$~a4xgYhziDTTr}+GvxUZ_irgNJWb6?^#5mb!Oz(fO^4&7G%H z5^GS_GXIRAC_Q6#bn~Jjo?A1S$rmQJt!U~*P6dbvJ-70Rj*C#qoAg1nM--Cz!Y317 z=u#u7#!Wgd*X$9WGk^)j?$&fleixkNGkSM;Ai$K^JD4}R=>kur91A#{$yq51$wX5{ z_^yQCFMy;I)XX=RX%FBGjUjh=$~M62v?QPtjW|Ux>QrIgjQe~*2*&>nXZq^b5AiNL zZOI)6wC_3KIl*(?NODXbHzum22a=JFGaEv41mKQ*TW=5nCK7LT+EZuu)vXw=D|?|q zMZe$WYg*z7q#{n@ie%~;HG`r$nwUvewW8XJl|HLR?P9D;g~!gQW+^ITmZnEFJoC&$ zpqK!kl`d!W6#u8;k_s8NrGXb9K``UKExyy)qZX#Ac7FthR3Nwo1`lL3ODL!o z#aVG+vZ|XXb=~EAEWJ7~DkOX|><)vPi!TI8y2~t+U`4!!=-3qTcu*UzvmX| zU;vxoFY7w$fXLF*)+alS*@;#LhY>_6%d`y63v$W)kPx*5f^bYS(x#$=iQiEsSbWTj#TRZs?$7t8|iN~L%c(PyNt zN>cc8olk|i&vOa$9mc_tq1qTUO?Q~7+#U@N=prKaG!!!T;ppICO~e}UM7l3dA&J#? zf-}{*xAKAEE{qjsE0aKYPnTB6aq63DUe`n4s;NtDuJ@l2EaI^^NCY{ITBxi%Cb)05 zg&!!x67sqr4))=f2=^B;|&U9nAtxK%O?JrH(qLN-KLYGA2ys`5Pbca_F5=9yX0 zI@KWOZ;?E|06C&Ni~*hajz+-M`jaFaJ2KXs*J`w}5c=M_?075|63ZIOft^DH#ZttH zbQl)6uo5JL99BwZ9>Hda#W}|*0Iy-0IZ%nKCgAwd#WqiGzSaX5Y^gk*)brv38S)wL zWOF?u0W-yO7LT=1Ezn{_pw#>#jSuWwImbE(F^wt}}lf1z<$?f+@!t&&enhvFSp|oAa+s9!U zHXe30?GjS`pv=ByF^BCWSWJbRy2A=eiD6-y5fj~pEXMQfgpkY{A~P+|N8}+K%cVH8 zxAHg&eBe|%Q{GUMi~=9Hw)OFF98FTLS>9sw=B0b@E4xqqW!sxF_VU+f1*fUgb*|_4 zRz3PvJ}t!oYhpH4pAwRi(5Y}*;!VBKPpDx3vfLzB=tRMJ8;%jV@j>6aqg%i<1&#b+ zk^D-3Kdxp(KRuW4k%?rmuP94I&g0b4>O%zd6?@oyO6liO1^U`$YEO(w~dfSW-)I*JFbc95RKnhH_Ueo)^V z5O<-H?_2BbD+u?V6s?hlkNW{&D{7-4R^P`fkDgL0;{mp{b)#&5Aruay{_1@GD<`i@ zS^hSgHnz=Q2J4n}WYT?K1Ba~KTmN}=+nAMVj->#wyKf}M<5@kRd1_Le5osxl7MTWO zkkpGzVMHjsSp8MXcS#7V+PhkS79{jH0@}OoIU2e8CV!dMG+M*m)+daUL`I+W-4I(& zUB!OpWEez0R`B*0QI%Jr&CRlbeRfkm!A=eXZTHE;D+5#BaqzefNU;B5|N6>RA@|Ob zujYmt7m3)_czpI-ihZS1NN z{mBusZ?O_Oo54A_*Q29z84jB*6Wst#IvTqXn1FOd0WHRQYg4!CYPDfB?VoaEw10XJ zM*G{lAl|>>gn0kjc8K>kTL8Snq(eBCBR95iHQy_>TsDaOw3GMV`td+(amo3Y-6~SVgFExhSbYQt48O)0=vGOBz@93V1J{b z%hnjMkz5Lb^ba^Q<`P+L@G)XOzkbHOO0N0Xg0Ihy$^3ajb3G!GhUm=0X6-0?ONj*> z_f3DrB8?gdNMPm0cL=p(y+ve&>N;XLt~MwFIj|UsJns<6WB+W8-IyLPg}oO15Nn;A zXX*?`q_n+^0gs7HP%P#UtYbBYu|?p@^*>8)y$gH5q(rM|2sDE3?Nr_ z6;wk|U!eBTYxBbDj4oegyx`H4PD;~E0DDx)A+w4$lWIO__?$4^47wxdhTYj)uj=EM znyJ8s%uB-ov3ip%{vp~EGl-_rGMMKEfwnp}WIi3G1!!q)Mb=!*J@7~jy3`z6D|(ulUfoM`T~yvcgH%qlR3L>cQz}3KH_#K=7el_UiNveh$%U8? z_LGuK4xOlJQHD;H94v&y2_rh?&Qj5;yNIP~_>vbFIhO?$;xT|Nf?1iDP{&TfzW|C{ zCb@Y`IIq*W&G(5WFw0|-!FC7~@WzQ;j=+kc@=CQq%FR2Z@=-e+m0g92{YkVJKEF#;crZ%nQcFJ%ER9s%lZuHyt zzJCQXZKOUpq-8^{@!U>*5UtJX?PJ5B=GmY497K(+_9#(mFzjTf_-f`njzVGrbu~ zIo%B~2+9wdNd~?$Ckbz>{gcoZ5?p1VB{W_&eWQl99s=eyg47Eg{UFjXJqPm>4W7YD z$9-*oALJ8xuo5PzsHx8)k^U}Y)`AIEyYYQx=Stt&>pC^1 z<1Ipzi|(09mqxhhS;O1DqBDH|#e6Brh?)T?##hqzUdF1q6jPRD!uP? zbWjmu@AiW4LERk~L~lO?LlBOkXS8(lwDr(C^0>rF%Uwqug_tr@MLb@WZA&whtoIbB zE8!EYJKqhOTZ^g|%QMT``HvY}F|fSBy?KOoxP^}j7bAZUs@!njJZjWwL(^eq=6+n~ z8%LxAL!~qu?!w+=bz*cNLZC~R!u8OxQEj~wJTO)h@b)gBEo@zQDyI4YXo5}-(Ea; zYM(shM=smh)qbs|w%6;$>GU<*xxL%3UDH z0vH0D^OBr9a`sG=$rh?)7@YIo7tGXb<&x^?G`z4x$kihn?Wt54!tl=`j5ks~^J>k@Dr0)P<4=`SHK z9HqZCbCIW(RVN`J;D75Pe20ytLgS&Ts0!l`bX*&cR3jPU^U~6tO^zfhGHzeRUZ*DYv5=CgnUBb27sKfkX_*_QW8g{ZJrxy%`UQ0*MHZ%`jL5C?){`F! z&C1heYOrD0xYm%Mlg`aWz|)=J6XL61(PaYmoZu*Oee#}dZ#fyd`&CdjdPpQ^urvhm z*}68VQ1kadK;l>pC^5~>n9Trx;doyON_o9|l{4Dr69cU$EWU&B<4x-^ZkyN@g+6xh zPwMoB)w72E_{3`d-x8SCuyV~Y<7PBtbGlz8b|q|+<4fOKPHB=WR`~8S-zT@E#MIz^ z=alPCn@!+HKuGW89YXG6E7SeT?x%L$Rz`6^7@OU(bxT^EXsU2P?CnJ`_xORo0LS5ZqJMxCVbRWeo-#hK z{zFi%iIA{N#Sai5nrc7MZU}T|<(}BnT?3{T;ZumX`1pI_wN=xH1(7Hxv$bO9qbFvM z=4UX|gWc*FmBdU?L8VP}WEBU@DdV#;!@A>HA=Y*PjwWDlg|GfH5>Q(U8=Ya^l!UuA z`@jrShkPR|fU*HMN(H2f3L_iHxXfRx)nrwvq&6c~8APszz?(uMOM~~;e4-k-z`+?7 zfGGlRkkAmSbZh-=1DfW@EUpy$Y!T?8>kso)AM7dJxn-C&fjmLF2(TVpFr4e2U+g#7 z+4k*TetXy?4RKO}&ah^a69N0{Pzn%X8X;zvwD}fTRfDp#XjmKaqHNo}UcvD?D4zpu zpg)quKs{n;XPMnk&6ayDlWEX8k|(r56^l4OXTtD$NJe@v5fJxV4@4v5kU@+YF81KM zB`3Ckcdb1#4>KC1$+)+jS|{?MNO*>ms=Mx+CI?BKk~GjUN$;IXX{4>cn`P*Fl-e82 z)6I{U{cqygw40B6gQ97V*DIRULB6*KLPT`CR2Q|GilRB@t|Z3gvZLw#C-?I9 zy!hb|Fjj~seB&a|1(KNJ>wxs3916gZ*He~34@x1F)sNqi(l*9MHd0)QHWXaHyE(K7 z7cKZ-J*L4?vm!Z3S1w#G4ti~Cddo)5wN>F(8-aiB*r&s{6%BN!A zfXYqSk3jA<$0DOjjri6<$##L%7TK|6qVIW0hR0*(fg#o6fLB0H$oz`;1a}}DIS=m zbyp1H(H}*@XgRD90l;D@8c^gVE|w&ON1VYZKqwZG5%G1S)>4fd>}E_8%j0} z>CWmY4@fF`)8Fw6=$}2#(#%l{FRR_s*mX%Ry$HHIkK6B%!5A!-uyP}Uc?5jE0|so# zJYf39QTYezJ;eLe`Rl1hBpc|f(m|4R>6nc&+U%5MHUVSI^MY5$rR0aBG=BCa?{*tv z8T?`Y(3M|9)vn`N-fV}=sLpm8aiki6a}XqLIP~HXQxETrC1SUhA1v?k|2gmVR&_R2s(seFN2Y%r46JqWZi{zMzO@6d9I)pcW^+TATpWS22)!K7 z{@c%I{Tj3rhq(T^vsRbu&Ze%9K%2Jx;;cHVUtnV^eewPNOqD#*TeOfPRjbx2AAHc} zt-4#2+gs(Qnd`dLr*F8*$-Dx&zg#^>Qus?OAzM6)zDVOgj)gmgIpO%m1%Wz|)Je^w zE56KO{+Rh8zqjowkH|kGk|#&d2je}T?ZiXYJha&VyO4V8#=E9bh(Tco8rT zPe-~LXJF3m-dlc?;6F}7;88&8_{fAd=8#U#frP4_L49h#jzVGc!5lN~#ic3g6~oWV zv^sIRNviD2sp=g0o*CI#Z^KCv z#FxvQ-B_rBq7Gjt0mKsW!!`BC6$k3Nbv~=i32Sh;2_&#wx~G` z(eO_m^%*b>b$6$%N#e-yrUExgrg)Xbt1_?iT*?_%W<73Jkye1Kq|hQGIg_l`b~tzn z`?hTr4-{}gX!g?+=y~FiGlIKtQ3(zuiP@z5*mQMqJp{b_?lasFliFvhEL3A?EU$@}>?(xy?0}JwQH8W)@ zgM%@G>PXH-ueM<_`@adULW)`<8U01d5R+zQxRm%!F$xyv|chrOou44}{FQ zu6YqRf~q96u+ODLO0G^H%4Fs2B8k-be>oiK3g$C0AW6*^ms%)ZC=G0PHVrTJK#p08 zLXKYE*x7xsPgH(6W4>d;@{V2knw5LvDa+k`?zu!b?IaU>6Z`Pq6UTXDmMjv=q=0+& zbV0gTGkOq6NxG|T!|+7LG~A?B1pV4nGi0U@Nzx9T^F)#<4HAstN!zTAE&*ige(75b zE&EHBUNV4MV+@np3f(yUgLS?vS?RQ1T-jfytki+QU-&E97h_7L+8iXKTrxUZSLO`W zV$?#Q?RP!b+FLOvP6MA=R(dp(9y_!AD3@k>PN&3w;8lV1W+;Df)|ucTc-JF?m*BR~ zOsPF17R8HHWkv%j8E+8z^ns8d>p9D}&pP2~Dkoz~<@M#QkC?n$ z&e?ks$b<$?W~FX=nO!(W5x+0$ryG2dx-rUj?F|2CK-5Y)v02RT)wWJ`+B%|S>gH%j ztfKJtZwjIKzq@q2O_0W5goIMejlWX#_i4d8d`{b6P$HnB{fI(9u(`CzAZ=h_p7o2O zI!*lxi_iiR31c$L#i%^U6{h{zleCsq2#-&VQv#A)oq+%)VO&84x^U<84CMIggs<|k zy=BH+=Ey;ktf{G+F3hldr`GGNcZSEmemrDYNoc|SQck^RYZ`Xo=5O44Zl=_nqJ53m z?jA^dWvppdl~<{u*c`_{q0Ag3%_vJcw7Cau9bggfCgx23cwR=Xk^w6xrQHLW>mJ6~ zoLc6EiL#W%j~X5^KVItxMGgd}D4^Y)9{5DysmOKYi5BuUui;d}nD6_L6YasFOjC}# zHczo(ZSUG->j%o24td8i_|W>9e3D++Qxe`w@T9$cDvUBrFU6PyDH+cIXb67yo5J#3 zG40794Me%jg^c&;B&HbEF_T9x&XsSefG`7I4C>qZhx=cAaV){D41BBnVE){<2L>v7 z@O+e}#wYA`9CLORgK8)rap0>`tBHC{KGDrK|BkwuzlaI=96JbeGJ_Pwi(vS%g;$GU z{Zx5S_h+a9Wo0lHhxZH-?es7(>U}TAl)Q~QXj^ng`9!-l)?P)w#v|is_sESpWZ=t+AIf!#G5rs&Syz>JIdC**R%{28T7 z3V@q>j&C4r)}lPRp4ColvW%S&W~ir4e=5v=&{fKhhgb93U!Md&2bOjoJ19Yb8HK3L zy4q61UjHC7w>>t}Ha#-tZtH%1W3Rmx2ar!UlUNLfmEdH$tN}_H)_jlNOi-NOoqi9^ zg{k`SIGQU_MC|n7T(8vT(ya@_ty9AnT&F$vRoQmT4Nc^QnjT{!Vf(8~JI_I`92Py) zsKlD7l)2VxfdNW{PJnQm=uIU-Qee^9h&$N%C=>g=hc&|xSDL-sJ+%mnhFKt;XD#Gj z2zE4q&{%)2*@^mvO4vZ|*FE@S$1}z1{Oo{4vd%e)yV|NLF_6$95=Yw_z4vQ4lC3tBMDGfINUylPM{vLdC8$PvGww3M z#7!FCN}^#}-qt^>V~yZ$FrFzti)i5lP8Wc{b)L^3ngy~Q{tIn0A4raVvcVtQ$}w_8 z{3pGv*4Hunp5VvTf00XaophUX0ZP&+jLmekkfXZY#_;M=VNVsAyL*H&%BP~bR*Q}dWg0oT^8Hb z+8?1G&z0BSPn^-$hiXOPI+G&__cnoUIy{k1=Mc@&b;oJ3rj6kk$$N!*-WU(H*D=bT zr0V|Tqw7^x$?|Od3@g!L!cOqQSF7ZW$!NRFDNm;|d2K~(*`%*Q*3~y3q@}A_QE>1T z_6D(LLad5BIEtTzyE_8L9|e!)^p^N1XG>BwZkhJX2IjpB!BjvAu5P?4wikmTJr-d# ze~F%~qM?I`uv&gYSC`RHUPM?eSZ1ec==@HA#jy~*aWwx=5(dFZKo$AuQ_>Rp!25mj zSZFWpKHMx~mgDF1I61Y+^zJP>M|=fW1(A{|-QHr~ANxVa>i9KBlioZk*_GScI>eu& z1|bw(XKH?{PY2&7|BF?JPV1t%IM>@CuK1MYhZAS<3|$8;R~lD;C|B%GHu9HNvEw0;77(X?22w1IM z%aiOB(=+-KA2<0vs~0Nfhj)MhXFr;#l`0{U>G=9ec~qi63stjc&eM9u(Mj>TmCs)n zqy~jI(kAj;bc_&x@JKEnS@BxtC^T6o>twE#!UOw>4wdD*?dko{h9uAd6M2~^-V^XtQB8iDT>SuRV5`lF@KVqR6BpM!C7IOSK==Vpw&g(pxj3)fUkzqW=b~T@qFwtEZ zW+hV>@`(tZVIO~PD)HCr*ovK<9kXxHykgqU{en1fN;#jwg4p7qn!+cTEpyI5hH}vG z>x6~8sZ_AKr9oJMqy|Y0(OfufU3-I1W($>IBOJ=s6IioUUS_%(HTTpfCmY%9#O%-* z7Wh}nGS9alcExi=;#_~8?TAqrbG4o*nahwsLFg1}QWPF4TIl>4u;pQqh|II-98+uo z(Uzi8j9bgxoMgNzDV@owyPUubP~^g*#Jxy#7^83fyfvKkIEl$Fgu-3GXv3c-G_7y!TzN53|0z0QrgQ7caCIUODsHrJxMO^Wb*kGR?`kWpC;A=J&>1(h7!{7l6brcI(kLf%V{TT2<75-6 z8&zYT427ft`=>CKA>vVv&c z>9c-_$@t1_qhpRP6z0#+ww!e6an%ezStolEC*FwaLF8jo@%>hTO&IniscS@-4Xk^{ zrtKJ5&7a4q|Ll#BJS?d+UDhcz~oPM2|KSxUs4*+p8fP(ywu!Bkt8%c6sw78 zWyNMQf4$PiP-wJBw)J zFrI&zxy$w&L>{f?;zPdE1W50pp&X*=#w>q9Fo{|y964+OygHpN!b_)=H+o!D;6hCIj zaWcvUbE@H&Wtj%YJiK-AP$vs@i<*4hd0{uunqN#iOC>hj6>gO$NE&}#blRdD+`i|#RqLfDYEs|E;WZS(Jd4JuKXL$d|7$*@si*w5&^NgZ;jfd9P&&PAfyK0 z@-#u^rMW!<3dHgDRD+nfKzz(tB&HQ<8g4F2+(~@yQiKAa_dwrJf`{u|5QPP|UW&x-B%aYvU?T(iBW85A*9V0nld}B|2ByRyeWvN&^j9@JKZ@!Qbsb8_^ zONlcJ=M0REj)N6&mU~$eu?2^f;T}P5TkRP+t4-So4XIQpAtJu020vP`T?2z@1x3Vd zvJ1qX!amg}mWG+-dq>E0of@wos@EzJey05Ent8dE>tKl|t3mre*_a~%{M0D|w-9f} zC?w+bfEz#g9_ATATsZS!`bnjtFS^eH6s zdY{~Fa>v+oy@j+DD2O^9u(yLph#W_UVr5pQccN(|L%vTj^!N}UkkH#>=UUua>^w(f zJbJADK(RUlt4b}v)x_UlVCbm>IDnyO(zDGhZ+jkL3o0&`h0 z@{No_wWBu{*EDzEFzZK`(=~~~dX2&bK`()oMNe|h|4Dlo1x#xHR(r?t-E^1H#SqLUK8XTlHbx)yx-zJV%;W zKH0>$zqd^jvt0{Zv#3t^*dDNRu~*%VWSum|q z51|7P!|^AB8yP?XE}H1sStdAo3W_XgHx(MPwWI3&GkMs-JB@+sRef+T-$|bg0qg$@ zcvks%*4}As_(r{2#p-68|I7JkSlVNUnAGeZE@BMm>Ov~4d?vr*k9=pVw`DKNYshuG z{&rknNQbtbo??Qa3K@Uo4zmWL7IK@zzE~4tS9XEc*vZt)r;Y|JJv<;-Pq|0 z%OO{|+~4Q~2Y_nK%zLWsoY`7QB;R_zdr#gJaIYRa=XjEGnV2kj4}%4b7WKja_3cjMco6HoZV~yG2pj)qF`7L zVJc{QADVF*X?0cOT;3WMsv=DOy3n*h`BatGSlLolhrUJwXZBrl<;2|=MZwM#05d?$ zzq2)~RxsboSgg_(FUIe6>$S#fx_X73LiM~S2ib$bO1gL%8=}nT-y8|%NqY0{0f5ps z`ihbDjgrz?{)Wz#?J;z;zqWa=h_}v~Uwwh0e6)CN<68v4cmhg&di-qj$o@o|*H)MN zhH~@QV{>G4ak_TpTan|pCJ~N~V4rVQwtu+3Z0kPcpe!WQvt4J6;&li^~|lB(=48NU`r2 z$5ptqRbX95wQEDI>V|^m?Dw++2AZ+`PnhjdQ-wp7;&+p8j}{AOe&HW^M>tULnR|Ok zuD>oM_4^m!6*k2o77=|29Aq>saUVY9U>1M`Y;3hvO+r$Wxlm;ShBD?sjWJS$x#CFt zalGMd2ttrizow=n(pRG;iN|8%w`f9%viT0fnpPY@C_nri9kzc)_XwUrm{EN^M?~~8 z9KsqptPf>CkY>~*A_I*VIO4tc$c;w&m!_F!^Xs=YV7%&ksTIJ23`_L&b#~lbrq5XC zwJVsP@(gweY7>RvwgO%>J>JhSGf$I)DB$V(zS=M?Nr#PQOVRaGpb^N&Z?Kz!PpG`j zY2z{z2Er-Wh6fb0NAky>3RpbR633Wj$86{78f~M+Q_WnU=k|wC%-kU%`fqsdB*QBV z7l{ai1U_VJ?Zx0LjOU$ViklGOPDxDz7Q{@2g^ zTzoYk-lO!p*rq7Q`jeoGlGu3*@oJ@Ulo@R(vh4SO=F>b}N0A8?-ZIw*>G5P#o*45` zoR=`K^ynmrr?zg-4U}@Yt^%@cxh{CkoMm5 zoPXV&&8X3vA}~MBUNYsjSVrfKEPHdn=5k+U5I|P0`W2GF@sfF;XNZy%{u&bu&Q8i- z=V|l^j+gs)0&%@NSlY-OMMQ(3T%oOEF&Z96qmn4Lq!5jYQghe9lB!h2%iZ)m8(i9n zQU3Xn0y1<|34=SAp9^4;)!bVf2iYvJ>OpJ1qf4XeVnl2s<6=0?EM1vtT&$b1{(Ngg ziP`1QcuaAAau(eR)Xs)Je2aR_jJpp)irmA=VV~$?#P>g8-w^PChhYw9GrTaM=nm53 zC<$un+#*J`K`QNg-=oW9v|YuSD_BV8lzPB(|Jl~}3*`%1sRC2!;!GV6;0|>541kSrttz3llsEV32psoEb>y#`{&)#REmCm={YP3 zkS~Izr@rF*wXZJjgaYCHsz`u-g(1b@h09>l*8)ZPyAQk=cp3W?_!Lk1+m;~P8*K!4 z0ZFiI>Zi2PkyUz~diHB7y()Zd<(bL?Dhn<@{q^^L<@~-4$mL_}__@FWXmHolKV{8X zmtDCkNPNtjG0*go`N(BIsa87)*ry2&G7*|kQC5h&l5AHtZ5%aE5u`I4Cj;AF{i3TJ zcoP!fEU41C8?#|4RP34arDaw7u5&RktJ~QYgl2R(7ZZT|fW!VA{8YQHd(t7WicG+# z(LnD{Opce;bjQ6R$qxFtUgJz5bgkxTAoiq|Uby)>LlXGRQts9Xg1wpWOPu`;5H@|AnueaE;&Yr*p!z}53qVrc-7QXPLS&p48sckL6*~l23wsvl+#eZ@qD?{k}E!>@*~j(GCw3uZe+c6>cFUF(NmvF zC7+C~{t{)_o_?MERiAN})$tgb3cTL4+0ux5*#%N=;LyJ;H-rU?%dzP961Dfy#l=2g z7sV9@3e7L;bw(0rhldkSXDLwUl}hx5Tq#%^zXWR_Rz@Q6=mT7I_Se|Ta?%1L^4NDp zU9)or6R3XU9B02{=iu1H`}AmFc}s^F;7ukNi;7i&ih z)Bjxo@;ow7%fz+n`CL9A&@#?$i4;Th0(zq zq4@P%1npcbS*gTbO0&BD8R^ft-;ju`#KWw9ySA545D}A}9Ns}CKAj7;@tFi&)#MX0 zP?>BsaJb-4lf%)F2=;+n%78RaK%c^)5i9`50Me|Ahl4GHEE$u}8Xyn}nlhj}i8BndXM!{V9@ULn(5BO=r$<`sYbb4v3~;t~tLvr= za%ox-M$LVSxQl5z$uH~snh+g~V|q}Z#dTK2Q8`78(k3U&FYF74k#^;r@~!y%rO(}G_EA+zTka?F#8vv(l>5w`m)5p>zc?}JARmg2a;0vX@8X)$ zxrGwVeI2^a3I#e75dbX2(7D|AHX2wrq@S+utY)mi8fBX&1q}yIO&OsTGH`r?G}-iU zHU*Hj0#KEWC4DbARw|3e#iG>jy*FKP&EG4~32 zmoC^Zo2~LJm+tb7QgYY%8DF{mc~wIt63q`c`uX!V5sy>UWxeE81)SF@eNm%^c75VZ*KB>B;`2 z;ddS|3p!af%~7->3c!l$pDPw;A`&Gk9-}fE0qJzh^_pOfN2QS6w51KeW;$q2Gwc>K z#ui=$hJHLy5Ccv6zghsx1S)re`Nq%I(vb2=FrXH2AtGRbP*dgt3ry$(6*dbBHmpzF z)DwFHCb+zC5sVNNXL5^sPFcLNv>-LCj}*in zB%n`#2xa~aM{dQ&bC}^Iii}(a?`ivB<3!fj+0pGkwBNo3JMsYP=y%-A>orw^cxry` zw9KZ~+_i?Pr}WmHpFW3q)2ZL~;3*u^Zz*gl-tLh|@GTvdJNwA=0|P7Be32N^D_f*juK7AWtCz#4>hE>(_0DNNN*N>a1aA&IDhdw9bkWyB#<|~n11hB zccL`+tIBq9mMF%!i3+ z7PVFGOz=o-eeG5ewfKU|_u7UZRra6A9V$XI{cMyD z6jD%T>j}|h1Ft6zzWU8PYR1716h*Dx5hTjS2M1bZcwGy(MXMlwbkF7HBmQnTJ*tKi<85{MeCN8$Q(z-qr#~Oz!UG+tI~i0b9dl{Z0yvB||xj zSfxDrQSI$sY5BX_?~8CORUpWb6c-C0RKtn(ev$1}t}+)WCwF|-FPf`DGZX;A>ao}8 z=Sm1HyL1Zb9^CP)S7%I4B=R6z$X4V04t(CenRdWvFj$>f{tW5tn$OTY+iH$z=lPtr z8Hs8z(9U~uOipdHt>#->Odj?#Q?Vpj2!j##rSZy$6MhZfhoyg#kxQPix~=gT-67Rc zMJU*dnv;ve*-$zrf0y}tug1L7tTc1QlZk~_Ofx}@Hic3R5ovZU6*mP_5IUbsu`{i( zWd@q@?zuf)s*8!Q8KT9eG|RKUGzP*?L*MCAe%z3Zg-%N_D`O-kGnP%U{MPApJUXQ! z6v^u>OgO2=!ar*yf>Yt8mk!+9#p4YSJoDfdZ?`D-Lm?uLxs_J(rRaWjcjl(l~; zK?+iH{>VLBM7RoSIUI4S@8WhIf6qhQZf^tPol8<4GKO~FDaOszF=U)$eMFfuYdkqW zz+DbI#5nz-fBL#YQYm=$%cDC;(`mGQd(AgAp3TY^G|!J)7Q_n--a2QRRtGJ8K)4{? zp&DP;fJ#t$7p1e0`iG5`SUZ;~VMI#JKc$bHToof&lELh9>6+(v@NK@y&Hh32(2g=( zsSVvd5#}~IYKcssUrw z(x6waKfH!3`oiD<_5Zy0<6z!{&xf)jL%o2P%Lo|7Lh768S0_TN!+x`?g3bM7;bIK{ z6Vm?g+BJTCVDQyJ)=e?_>fj3~(wvuFsXmya5;| z*x|VcAa9N&-KDBKX7XU7%%a%*bg{X~pGvPJ-}~dLNFV;?TIB!)5=)iC)QW?#9M5Y5 zz$*|;0d4KA6yD$OQZgQ-<*qUGEUuZslsAo76}LL=}fX=+YRK2vu_!3iu+bq88_~6K6d23g`7+NXELRGw=j@D~xdDR;< zSpN0LOT*?Y4Kwiy?nVFt`{lej7~*hC>vfK=u+_JN3zv-9agadwoS08RcK&%sH1PV6 z%ii8DEN!`?BSa!z%+aHV0XS@=QCjt-G4=C;tI$J~uAk^!t2A#)+^CG`?VgGcm8PJD z9h3cJL^kJWTc*5x8kyHj(HvdXR``B_E{4}Sw&@Ox#uCibFnTHl7##W;6`Dv`*DQd~ zzt1>$l zy`tr!xYPUpkWSf{f5Sj7i_}-tF$F}i2YMV^5W%qGTd++fR^~PAav?M(Rhe?D4Rhk4 zHzj$00OwBGN+>_2Zdq-K9wJl|`a_LPZF2iA1n!vKw0mMxPE?E?>|H7uedv-Kc3`Tc znERrYG3s7Oo#pO}({__iZ|+swhCx#{SD8=QiDe60DB8|K5d-C-&7B^FbZ;?Y&#M($ zNP_3Qd(pu4q<+gzfPGdS%Zu5$0B^FA6+DYRBgg%sZ>sR_zEnm;BJUd|H}5m9tk*8} zC_fdxX19`qisj~A-_rG9A@!WVvHZZlyfGzJ@APp@I_R9IsL!~3k_7ueI4AQLE3Wlc zsJ2%gb=#nVoiKlk3(I{VD^xFu?on>(6QJU35bBa=XfzR!b_H+p_jZ;uafnByQ$ZFzeFCn{3?&FTXjn(nbO86K)<>eWp)YTN2fr4;#I; zuOdnA*$U}^3y!5y|wZ%gt2Spw?1r~Xs#>Bj<$lV% zOegfQxuQPduw&@N;gU{38I`@@s_{4=;TOt_ihJyWm3kCn_5?TuUw8;s;?(fd+}bD} zSR!4{l&r*?O*VJ_ETm@WXJ(YsE6toKRI1fV8&wE&J`FACU3z^38-{PADv@nR2gSA@ zmNAJ_%^i$9yRo{v+qLC~{I@2mg%vs%mzhz6dhtl@;cB|QY#OF&{<%y6?i>x+MlAdP z!SMKxVdz<^A}37CtcJ<7rLtm5aC`Q=mo}}{tLCH*Xp`pAT@$~J5N)ar{YBC}t_#wB zlImumyV?Xsb{vY|>W4+UU`1DHZWeWT;5Z>iR$1piKQ~KW_7y9eTQawn-6dbFZFl6l zbHiG->gi2dKiqcWY@V}|IitB|q=-+-49|NU`Le1kvnM&LFB^Ro01Z@q<;)xF%I7xO z-d5{+!?gc)RT8;d;?ZPO9xPvV>Q>6_qvS=+D?%1Jfq3HKVUJlZOf-#h-B8Oh@*)wf zp>D75YFjB-bJh_xG>!EE+aSp_bLCUYHr>IiqVf!TnJ5J;iECG?hY&ZGs*@ zMqi^@Gv{UkUbjpVm1gT^CmIz%)EFjBH@8MGdxDJTl@dp%im_D4Ld4O|(=V?dX1LXQ zabx&hE=(>-5wdPx9=)X5(pRBtl-4Ni5NH~T-D9L7$ejA?u6*K(CD=bDz|dU%gf`t3 zQO3ZuZYsH%Fu(%jvnLp<87GR3j?-7JXvC@GpFR5k?!}!!NfITQtWVex=oEq$Qbdv_)@$k~&IuRwktnFF{qbwn&9`6Nb>Uc41%a?M zgG${LZ>@pdbjP58^&MamShIiV3+(fVYy{dbgx)RP)TyehuE7}!6jVYZ%RegiAp?{fle zrZ~A&f3U?pW+7v@D4I(fNcW2BgHx@`=twsqOz=~`E=0rvH0O&X{@H$A%i7trVZ2A_ z0-AHLX$VU&kiqv@&@*~q_hy|-?`nyJ1?Y7xt?`{TNyhP**=B8&I%%g8dVJT|pQ!OT)J~x!odB)G@6&^!F&Xx#i;#~kuQXG?@y9`0` z8jmoU@C*%0W|Oo=J$eg_#%Ba)iUY57W}7z`OL!oVThJ2as~-$ZUM^d+rqr!I^IFjX zWBVC5Xt}pViP5L?6Ps)lU5J|-On4|x5|JRH{|v!INPmIG^6cHduk;ZDTpT-w*`2b=}lq&|5&VzP9gpLxa=Pdj-IB)8~jZ0xqAXJQ<(_Q1Ei` z&6%0u5p%gQxx6o&7S&E2IIwkfqP;HDzf-DTa)fHDUASDWrJ7-OUX|n{3@uxM!@ zW_&@H(PqGBU3px^=npz&)a3oneUBfD$JMVB=SHsCO|dRb7o{ys+C!t{MTlnUx~#vf zb?xF@Q79BkjoXBvQfjTMxl;QQ$B)tPFSYPn%>=h~4pdKK4y21jI}=0Lw_^g0MZ1>0 zMaEQ9al_sGXftG#+bw$q{AO5i7R1BwHm9v<4_%_U+g77UVKY3f)!YDfnbb-^Sf=9X zzUTJMO~iU+Qp!wX1*0>fkuR76^az-TxMX^$BA58{Kh%H&A7|P+L|>&H(ZW!uzBj$C z!e7~-%Tr?&eZCc;mcswvsPxK}{4kIt`JFHVrJ!^ByWpEmM2C~*PgS#&h!5i+1eBY&9lSe`3@5A=D2})4dQ=Lbi7ELpiQ@aGf`O>dG~-{rIee z9&s}0(W>Ca(zF2gRl|+DEbGjMZCmj6<=#PJ)7>Vh$6hE6ad&nj>*K!(9`EXsj{E;E(NN#n zqq}mP(>xZHN;%~eYdXK62QEvGuyRNb#S zGVo+VAqX@L`QWZD3X+OWkpnnSEM~p>rxKihGE`|+4RwpLb$8_IQ< zXVLJ&lFU1%8B25DCl6kvrxKufD}x$0RaH-&sQW^h_|UfME3G87B~QCKWo*@@Dv{b_ zK&puaMu`OVV>T3LX9e_4RexXEelcc*rgptnyEP4o5c4fo4V&CB9gi5nAQvfLMDcsQ z^VG9qF&i0{BT;b8BYvnDRc3XEhGa-0g&L$J zwlZr`49qW!tK8Hd13py~UzBx+xJKWsC_4{hGpMNf*5q8{KjbHZJNA z^jbTY%}}r_Ptz%g(^#edwhcZ=ca_8*&Y? zl{cCt)2II&xO<)-uML|M;dle8ZJ`~f2E8$F(2}$CX@l``6R_kU5=z#}+)tXXCsrYe znIg9musw++6$%Z}mo$XJ_)Al|E9#NL$|hRc+nIxrC#2?vrCE*+;Lu*%7Pkduz6Aoz z=6?VG_kH4)EQP{&Cn9sBZ{MzDvB&+fAEV#BeS0nl=WFQ5$W%&MJ7#9;mhXj**J`Ir zR+6|Jyh86Q(e`S^+yNbNO|Dl=uOgcpW%Vze*S5RgyIE$L{fzW@ccMx4@;YnlkxA?5 zaW003$Fc~VWK36SZSMTIvt1ql$(QxQ$NOCkX3yfdDS|@b>U(Um*1NaC9boQ^vC3-J zexu%o-s!J9#DP10tv9j7EqX!0@7UK^!6&TF4s>Fljo2K6S5MV0n9Cm|0Q3e&Q!rA= znpX9Z$)8+E81nn+%5I`6XaO5-DT|>j8V0%P3hEr&E5R&YWX(0Rh&Q}B338(XS`fzLR;O0^i zd>Hn<8c&)sFK*C4k~U4@vH;Ce=+&!2e5nwaToqMrp`;65!)&i}-NFU5JrG-atd}08 zK?AM@KeF)*dP-jqQZ@nvt^QL%gXO>D3BQc`kD#^uZ_*#iOk;S?;n2L=z$7UxKT4FBS~l*jqV5r3fL zc?yV&`?|@ewX^2-Wh-^gXstuOJjO5YEOQBWd8of5@oLxDN$2purs%J=pL_ArjuQT~ z`pGQWzw#ySrGw631ydqhJG9;XUw&X4AwKL~`rM8aD$d$;T{udabsN{W56yK?!3~Mk z4%MMZK8T74XzxsGaW`k;61Y+_7WOR4s*$=FT3yC`ppYc2Lt3S*wviCb!H35qsum>>o?g+x^38-2Cux#N_m_E3sN z0tqF7xNdRLU5MqF$v(gd`g-)XXqjy=ke8ct%L6}x@&+Ke05ej2PWVuP&-WV7*Xz-^YdpaeNVp4 zS347URKFp(y4dzcf?Euw`K@p14Q!Q&zAE|}u&1=ZO9lazgiD9wRd%-AyvB^#t4>)o zn zTIh5Ujl*cs#>u;pQp2VJM{vf&6*oV2Nj_6aiBDkj?Gq;%?$-RYrP1murR10)yKlB$jpRoq* zU7O+1_k{A7X`)3)%S6uynj4a-7SL)p zY{A_GL;yC~rxz{!hK~Zb)WIvKeOgsCpI)x#cu%$6yq%wB#r)V&9!U5b6c7uI!s=B! zB1wDqDUsYUg#?XSz_9olF7?xcD{h2wDDc&ny!|Y+GD2sBK(aaW{CO3T&3Tvuj8CNjN6N2 zc^<8pBeum+YM(Y_a(^QMr^u1Bg5DHL?aMT55*qSP76$I$#wd9XhZgTn_04@GZH^3E znglJ&eDjmkh${UN9h6h?id^^6oQ?kIhlxNE{|n1N3fR(~3Up*`2 zijvce&z>hx^xV344M)^U?$&HBi@N=CsB!yR$aWt@D4j$@85l>8CgVft*s;SQ5ux&v zuRW5-qk1%jf{J!1qa-^6yn6Hp>aAVR%!xZca8VP7<010#C z&pr(kf!0j6UhAS}@7lX}z714Y-k-Mr2U6J$%r9TLNgk@iro>GrLVqrvwAd_Anl0%1 zNXlv{{r)9TfBC(>^h9tn+sIz+UU!XPOV+D_OXveoVLr~j@2jP1&!}hW_$mEMQ~cA} zyb|tYM@Csk%p{W)s+AS^SYU_@HzktNfMc>tk=jufPq`bxkAWgW)u9_gl_#s{wq6h} z>tG`AhC9kff1(D{|A5GBWz>?bPhM<^gF2Z}8KFMxG&N-#7Wf)HTQ?+ny{83(w0{iY zX}{%0@LVcF^bQm!$DPJOmJ9`JZ{7m9kmpTCW4yrK5Wa+krveuUd*Pv0edJrHe_c_J+3K;Y0fGo2K7-^3KpC?_WFK2zB=YrOQX#|1ZRY}N$ zsjg3wbQaq1zOBrX2Esqh)oYCB=NAGx(#X}&Tlw5RR8wig^q~--1elwg97Q}g_Zmel z?@kHWkas)hZA1u-uXWbPdM8_271IRIjYHLUr-uPBp=?(Ras7yfm^#HYOSK& z`wvMb^~2LMmRw~tZiUa+5rruoQg&l_>o4?H(nG{Q-Ana{or#-gdml%+`dImrvbG{( z7p&tb<2KF1iyEl$<3+|T(cr$3H{GD2`gSx^hn7h3?N z-7f#2g>parXHTO6Xp+A#C2Zuc{Zdc36GglYx@H|9PCaBM{&in*V!%HPSi-P^+!JO5 zI@rugFRTlbeLpC5i#EQCqt8&7BKWgRe%EPME#GG`?dVxT9A|p(!G9fnHgQW#ss8N_Q1c&3xd57=V@14Ul( z;Oq|aNiyHKuw+(mm2ptbABVYXT46HV*GPgdjvGBFxMN#vS0!oI8@L~%w_{iUf@6pe z!J}wU#&NgP={AWH8DsoS@;|-{eIIF4Xopg5(CA$r`Op>xj-ym(=xp)QE=7Xv{$V{4qbf+kT65`SQT( z!ZyvE*xJEVow#eKj@8VD4<6E)84uEj`&>;30OfqZbRZDZHBUS=J|IdC=Y78387%)% z9dc1B&9C;GL0lCl^(lD;dekR|9TQ7r*scadjrLb$X}myZdUYo;Torx0UU9+a&q+K6 zK4o6kXer21DjvD?6l{8}e?ow4KMQBv`LY4j_lk?k1Ir+oK{PaH?B{SH*qzj};=~S$xWpk*YrTFKJ~fRkm`kA6J*@ z(N}Xe3Y2Hsg` zd_4%nK)XGK!B0X5uzJQ&ykzsh$u(ATY$O1^q0w5^ggB79gS0qa&ySdKa40%KHcB;6 zSuzO;!>CpsnY9ilN0f=q%y4Dq;hn8qwyJ1qlNKKx4x-X>n%%9B&MK?4XR z6VrUXNWt|*BRA29)zaX!+%fR}Xm1 zh)0bC`jGnm?+!;tk`SQRu6~VKx=N|OR5wj=Uc%_QBZ4r2r{vhfwQ+~O1RC?#%j#l_ zFq%tNZ*=in4T>4nmTeIZUgv8d7i+Y-Eo94Z+TEXj|F2#QO7z`i_A{c#-IYcf6OTsE zROZjR+n1d=Z%+j1JTn zd+6vm8?`#Qp7VM|4Fn(8W8II^OkLUcMnV0%8i zr-c?L`(fwaopm_}=js0UIS}xkC!hfcsZ1Uc`D4(y%EXaKXp!_}&7Sgy>)}~Pk7k*v z0R*+iSy#a$v~R zeX^24%(kxlnZBzNfrHfi>tqOoyp%v43|w(75S}?G)apg?N;OE`O0+b$p?Yc&Fa4;>M((f(+qN5a0fa6{?2lCvuLHUtJ~ zs?$>|(7(8KG&DIi>SSt=D-4F6OKZ8(PI2i%r5OSRluhu66AmjYKYItpG80XMn@&o9 zR`GQZ{5deuBqL;2oG;ZZDUr_&L2EFS#)4iOjE8~wMjVvio6QBl+}v)l0*m+ix|BR6 zq7j@*t-zf3jCOGVB%GV-9-qnRuVe{8>Sv@<-AIjL3V*mP=gMK7dWVl_LqBz>zeAM?E0)b*m z(-tW@b|C-yqZl(%hEkVNw2uUR%ev%$PwfoW32O$$RZzsii+!`7Q&yF){S3^1cz<&M zQOa^}ud$yq9;5$y=a4dqMi8Wo()uUXucO%AZcab&9@l#!UG*^*LMtD{)wQJ!^~{{|qje>0#VA_7t-GV0Vt=7IO_^w2S|1KGCn=&7 zIiMqlKFliD13Y7lJK7x7ntg0O;-~v1`zg0pU=VC&Sr_guH7d{#*$<^ee(Eg@iS`F% zHA>;eTJ<4O1GTx+rl($J0Z@RWFJ@}K3xQP1SdkK<1Xw00W+4cO!<}9e@|b5YYCH+E zFWSfJrGrx^O4gG#;Z|M={+0UQpTC}7#2Ib8d!Ua7GQO-kqNNQmX*UEU0pJe@7AE4U zwf@t!j*X40k61-dQ|KSSc*Zpj9>=l0*@|=`jumLC5r}r@uU|vj7K7zem7BeOK_t37 zhCmC^0leiNW{O-pQ_NwEDVnA>L($P+o!;NhiVSBkC^Ts;Yr+#e1qvfIbcC$AnegCRn?NkwemQ9q{hZ80)DRKKV55>n@+ zrF_6xec$!x3-5M?t7hpcw?AKqOMFRL_1?t$qmqSty(Mj6DiAf?M7yNXV2p=OfuA`f zBa>sjholVH6rcqddf`ip%Fh>sbg|fg9}8rHx@*{h-8b_G>|28~r~`VU8QhR8o~FUQ zVm$X6d{aD^e%QJ#Rz-f)Y+bL?@#<8df815HKiz1(<-p~CrfcD+F|np^Vcxs=+ty|2{Ww#AoH6&% zo#cyzwgikJ)APFGIg@CG*hvi-ht@)l>k0=EIZLZ=Unl@u0cII6x44LJA^Z!4lKC?+ z9iBtCzQH?K4wgx1B&ErK=cc(pgvCHGS8NR*-4R`eCMk0^@ZhL4ck!fIkTYX0{Nqgm zXA54u6v#2s$LYCGvvG4HO>^;rGg?keO=~o~A8voFukYHJ1yE)-pw)>!Y}+;oIY8agmiMNa9*?C0;5E;h zHZt=0bU-%>p5aW6&N2xd_SY96bo}-0C)BUNVo1v5@6@~jh<6gp=2vF&@wdr}H$BYT z{4PCWcnu{5WIqkMf5GmJVYAB1Ad)%YW&d!Hr;EKvkJ70OOUUK-T=0;^+mHL5gr0C3 zEfR5KgQKbmo0CAPN#e)o^I~h<*%Y~*smuj4Wl)?JMmXI8iCS${OeonAC~;6QHNP2d z87I7@!9)1R!d8j3ifO>Ls+-yplcA1kmC*3XzXVu6ap`AXI@6oLTU$`DRye7g8L|tZ zpEjfb+C53hi6{uQV+PGfmYNmYK&cfMz2Hn@A#As71>D9s->gk`+WGpOc2;8bao>Iw z+|m*+q}t6T$4O})h=stm(t^*S)}vJOojv*?LbHPePzF;5I;L%%b*y%a&;$ig1fR%r z&(EdrJEy-Frq5agd~+-oM}-f|I^f1|NcM`aXW8ji6?K547g`8XK4#|3K%L?MWfbCz zu0Te^JT~LavfwTq1(Ui=feqFWFM%nOSdLj|`ofd%rjvvjgu(Vy^JZUHZQ6_h6WNlg9F`pn0bGzs>?3HLw0ZOK&|M5DU zPKimPl{Zeo*d(cX7TUPF^a~>+90YH4G8YBWFps2b{&?jK$gEYWx3(D1 z!<21adU``7ytCf#r&HikiojIc~8C+D%CNYW3!UMh+0Xdsi zJa%p$1_QS`eLF%c*M|;d-cycTNT3ng2n@+=H5Bb2YKy3*W@TT9jMnMqPRxN}#5li# ze0*p1fWUan)K^A~Y4FG;5kt>L0VD19O>3u&F_-A{u@MHIcSe0TnJmI^0V)0=rO?PJ0vAVOUPhak5s4~M34*5kF z25O02RuL8fQ>{_BoGq=8f#?NIsMkGNodk7Ylh7DoD8 zzPfI@YFNx}*sLL!U@enFT-YvoYpfdnBm?&Bf@OHevw%+U zNRBWjHA7s0U^svMzgEe2yb+DSJl{eE#<^>v`hffK8eg-Ib!p$35ZH= z5}7G;Zk%*q^70w$Uk`XiORbbdlm;NByg~_?BxhNeLBCc$A7><$B}~vTOe5~&dmARs zotTzJbPr_fT)?GJloLIi(i>qk;>rz=9}hSpoIKo}ii>mnOkQ42-`w&=W1Po!xvcF- zEnhzAm-46a){EHM_yRk8D~DsL$RUfV1i!Yw-s%fDz8_C7(k|$ygu(YpZpJvgCa5gz z5rLK^>vQvTkX<$?3u_0KNH*~diAHfFDBFo!mU)+qkEVP3!7wP3Uf{|L*1y4G*7)n! zqpZcO4g-UdfaDhx0NmOOot^!(ktSw_&U!;}Nr}%A5Eb1#&YUEYt0*XFT+&5E=|j=< z9|0W|t=$~l^XX$>=y>)o!GlGDE;{5K{rqWO_{J-W&Yzw!e;C)M$@9{JN@+AeU~GqY z5Kiw*B<7HqHp9|Xm#W1QE}fP?(CUxm4>Si|42@W%F=%{!XE;1D$fP_A?m$ZdjhZhO z$MvEw3*)8HHSKT#$bZ+I%5UrFk#v%-aEB0KAZqEQbl_q|krJE>MX7oAwZ0-PRqgo|BCn>&`IF=Y?=7?)5<=Q#D7yDqGNhr5l|ces8J$>Q}~C`goaq;?B(t0HPdZ@otlM-AqfX#@VUglq#y zWsHU;X<;Tgvt)_3&m3ev^ZX7iX$`k*O%m?D+_2dep;STdlq9yCR!B#D=dR@7LJ z85N`5m3X>xbXYH-LD6v6GPDl}URyDKQhVzb^W8M3^|hoU-b4nq-D5+^lon2;PL zp(ocvSOQQmHb;Zou95p}Tj@NO8%~3BV^2n9QToa)l4ofo^B7W2=o7O2Zy7hzS9+Qa zUv#>;B0uVSJW_+F zhC<5xXSd1N+X}5uO%?u&Sz?xr+3NE3!%pTXIOg(K;@F{1e<)9X;eFV@x8p{La*u76dWsCAC0 z;3<~x07XE$zic`7(5?15A?1C^k-R-y@)9btnLDSgvH^s3d$6>z1M4mtq?T|Iz2YM3 zA?o4=EdIQF9Ci+?4{lBwn@bE6?KU%Y0AxOc_BM={1iR09FGv=mecTfslJU`zg93YT zOo1Jo@g$P+4GQO+;4Q?&^kJcoTaNzub94*cZc~hIGLFQb;6R~&lI|MOw~CDqzYY(N zjCe>+aKWO9$K$o$5FXMp@zCQ4CIsQ>3o`==r}2dIkaDmk(QT?&E&SMTv9|S&6XJknCMcy%W2@rdP%wEgdul!cz zeevkyGTT7sO3FwDl~dss9`+PIA%681n@s6mWE&6(nC5c8(lsyV9gs(PP7hc92rczs z1*EYX;^fJiOiBZui#@5-C{m?XGQ-G^>`gnqI*TpO>_G@HJQ>KO2~5KWF-$y0DAG#q zt@IR34uMfZFui753z0sPh|B0G^vM_P~}qobEq zrQ0l5Oo}5#*R0Y-wylJR92l8TH7-l~!I80%rumsuY;$h{jKzA1WRep%|$Mtgz z>Xr+=pZTauYs&7%qXV9JSn}5Q%GN$Inb@Zcg!Jn~;z5y>%z8 z^3vmGU7;TFwL<%I6im0bLCFC%Q-^5POQUw?oOW(4%3o!?IS^&_RtF+&ldlJfLJ~Uf zM+45QzIfJS^;%d8uD;1{8XM`_dH&`30P?~}5KCuNoE&~*P6xuc7wzHzhfi8dI^1I1 zK?i^(IYS9uox^YP70QEYqMHOIy;UmhPlW)g916w1eH_QvJjhlsxs zzRRIMb@u&1a;aLGnikCh(OuI)>sTNZU)6T+O%J?}F;*Owza|+_T<_`~#Wq-@lQQe; zoozSdrLkLV(vK&*9zm(eQ8rS$3sVd2QGM&{l&w>T>}7wI?C(l~^;=Qa)VPBkGn3IpP+HR#54sm{HY` z+mRkD9%1=qq|fB0SeqliDuv(YXIAV~ZgKgK%|}d^D44=pDbsI+P4mHNj^!aETG1E; z%18w+gU}@LiOGOh`t`J+uUxQjskjx;D#*6=jSCkq50sTIXTH*TAUTuoOfr{&8gQp5 z(IZ+dDQS+uxbwB$YU{MpYSgV6Js%ppFk+MQ@*7}oqcGrMU7Tw&lSwJMSnWmIIA)e^ zM6u4dyCpc1LsKr^Z`u`$#G4rQPG{dIe`MWotu39|N|QZdx{AG7JZ#+T$Dj;p*7UX{56pUxSdX5*+lmX{xiD172Y)8r^qOtsfs`JakDoOQx94|Zfum+8Ls zezZtV@&Kz_v2H}f%*thGFWQJGGO015Xk}l@lu>S0J&{A?_VALZ`AGj98-GQO?`Ion zey1g>LZ#y|HU7rnV|vAv3w8~GK4I%wfbk`UB}`S4+3I45lSh*7q z+hO`l8Q2kJcgc&M^(|;weL5bf!FXvPPq_skm5O+LD_)Dkv9d#P0VRZg1LnA0ds|x@ z9@udrnhD%^KuibLb#T>`9o55XyXu1r3*6Q%0o~}MTRq8ti@^1h*ru{v4Dn@&i)wLO z{w41mvtC!Fhm;x_C*nwI(|N*U>hvW_IEolaZFrT!HA2U&7A(LOnqvi2eC;=E(YKM^1`El#k zQ}QEbC`U9$-j_)}w5QbIh2(D4+Jr@t1`hn$ssHzl@?M0Sl7Qxy%a@DVJVYcuZt+M* zTgMhni6_ZJ)FzV0xF>J;a#d{z1%Moi#u59?PRq~TzJGU00Y8ZnP-B1t17 zR+L{Za&t*>4R9ORsqnewx*$Ff1j%AY>`r=>#l14Jah6z<{Y3dmuGV3S_LkZwNdFL4 zgH)oe?3}!rpC6S)$#jo=`r1deGnOa~Z%=e`N^B385_1APJ3fuNIMJ8rg!Roe5xQJDC_U?_s{tY_J-Nuwi)+f zWY`BH3AvFA+bwfZXCvY)F-@=*oP4jXFR69SX!cT+vC}QbE^8!5_)9F^g)w0jJz=Z- zj9E~}LB=d`lqDe%*8d7mP6ZWuc1||eUZutZKJf0wtU>8^+)9T=@YB7`DX_^3FP)i+ z-l}ZOlBq&7M@<==uP0j=kQyv*To%6Pj9eXS-qE8CZ7~IF59R2j!o&fVtm}T)n)zyOF+NOMiR^UwBUR5fNa=fSkCVa9152N(|@>YDi4> zO%JI&l0c6qkRajwR%$ zO>Wq5=AjE(0Ms-6Kt3n-O}y}A4gOiWEJ6fSvzK+T!b$J6YU+fqO93Djd_VvMQB)SN#!#r_D+d_kI&~iIvSZzS(4M_ivYX2bq40%5HH_M* z$^tksg4Srrsj8}+r(w65Ms@aBOk-Q2Zcf*zcyvzRM4MRH#VQd_I0ORy@W$NX!*e$t z0v3rCeE9YlhRre!e~<-Idp>cWJ{Hro9peUl!p4jv$vgDAsPKfCX;7=1yl zVD}F<8`K3jl<0sMOc_Wlt(rF{w;X`k) zw9awDr~6u`W$5Pfn!R+azh&bYS84v0w}D z2dB>*Lf_-4s)9MGaRN8iK=~Q5i-NDXC$tjK?G_&6p5gi(t6M!~9vq3pNGo2^m%7E? z>R~VSM}-qMjC$2P@HQ!V(6)!=L`dX!M$6Ch;}dq}`uZ|%M!hK|!({mL?*qB+E}bdi z2o%QKl~6Wb!?$t?jpGD+s%ZDfJc>-pKeI__E~mGcjsvS!7Y zusJ3)F4{W)=5srbLX5AK{q_nHnrrs;8QkXe^_70lKB#Ib&#-wSRLkR?ylTBoRU3f< z>157=O}yQ)t+ZSJghcUYG!J_kE8*RpAE}H2p%*%;JcBuLsRFkF{z1=w6aoc*p%r%r z2~2&v#X&v7qc#&8uiKzycKF>vbrF;+Rr+85ANEn+GiKgDpXB0|8&bDimk2NgQpNxn ze+{HkULf-<_n7Ne(RYR1SE3so6@q`V?lR(FK?xt_cBx0HJUI&wlgc!1SUaIVy9165W~)bEVdWK?t&E>anro9=REA^l2S{WD}o3I-yMc) zHONyJ~x~)-!6B6-+T3?r`y=Z8V zO!akq*TxVy`3(ue*5q20roz;H@kvO+I>w7{OMSbH3d~_IE!AtI^LSQqFvJ4Fa>~ws zOhb@g;DiViL=ZM;Cg{79Q>AfzaNnr%J(?J}els|}5TWs2c#c!wp<}+N)i_mc5wZ7W zemAhVwjT7ER#jTZI`nqNuM6Z`ZRtLRzY~Bz(+$xG;BXs#^j`+y`4DGI214ERq58vL z3MK1bq-Q<%Noag7-KE5Z^8Qv1UNPj8x-bbMdy|$ohJ$T}bI>`+59*tyv-HtI;PvcI zo|H+!6L5#jX?qG?N~|F25cWDvxT>YndE_OD#dU_~)dm2+`bXvj&Hq-`fuRDm3+B=R zYXWOLZz&qidpsRa@kdJ6rJ;C3PHHnP%c>iy@9_{QpEUqGU2?+IsT<#j` zWPWZHu#qxyaxzb1yEcMbmQ;b((h5=-535UK%USd1ii`NKG-F+nKC~31jRuTxdElq! zfocYDIvNB=U9Vcu=-9|45-b$pGVH3D>%Bu-UOz|o_*Q1(?DprNv9bjF7brsO;7Mik{3{fR zIjt7%It@V#4hzHeobL+%ymqLi)X+54QbM;#AlG{5(X)B%eE)bGzOJ0squW0&_+)V&)k&ZlVcwHls)yDF-7GhRwz{SlA71SeGBHRa#K0Baw`(tc>suBaw4;>+a^8 zyE`uH>D?LzyZSD4ir1++>Pr?$R3{gKHkcZf%5688(jxLY?;7mlzHc#ftUNg=wW9_cFMZljE zbDsz__PRp@cT8%1DH*Z(;yfsZo>_26cjDdiSBqYf{YXrVEem$b+i-;W#F0P&cizO% zpK!&@xt&$|OSqT7p*}I|w}A1)Ov}EhX5s`eaEZ{)j+Yxf)L-k2@t+|J2|508##_3& z!N#qw`E-OWV_Xf@2|(3x@m;c#;6p)5w6Ac@P+@O;9(k#3PTuN~dk;p2^C~m5M$q`n zcuap(cA~Vz<#{E6V7!wZG^fW|(pzO%7JafdOZ-X&%c+Es63hSqUL!oo zoyiE#N#9>D?yfR3EkLnsvow~=`(VoKP~trS=1V3$E-C5F)tp#%Osa^*X0dPC3!RHX zM_t~ojTX`?0`iOI*n&`bxX?+CZmCva=4&l}Q;fxA(Craq{Q}ryRkxQe+Goa>C*2@1 zPKy2YtuRm_^Z*E<&aZ-pNR{oVT}WoI5}prRv|7S=%N^py1zaw|Ad%pJy(^+zUlueI zVwk2+cCQ-$f{KzOyRP=Jh{bjxf^5tLEYx^B>>5N9cu7tIEk+Z9>}4!3iCk@h-qU2X zP+3&RXfPER%PaAAh7A(j2^#CyZFwKZ=7^+l2SZ#n&oRS1XbWI3xcA+g0SYCJwuqw z0lq`Ao}SV699L>VoU*kH+D~c2?VpULl4)!(2N*|mV?75{qY12aHJv=!gz<&?Cryez zBL$AD4emjwM2Hrm!{oMw5TYsQZG$4moADV~ArKBN>X*)(VZKrxm8ycdnP08+k$ovU z%{w*|#qZFcvM7#@Z#veL{Bc8G{rSh0?Wy~%+qLPfK|PLo`5I5}2V%+zg=B<&_{zoG z+xxbS*Y0R~mu@dgewfFq#iV*u=qyTtrb;6+#jV5h5NQkH|5|=uqI+Yzj2>NY2bN+| zI`nor>!afKKV?4&bXr~3xZl;F-)GgTO=}M778E9qdU~I6vmfOp!&O69Tv^`QyJd6r zwuU!pcB145xvW~3WbX(X6cL|PsTNk|tWnHEjvORy1jLMMz-bKKceKX81rj6k=C3;s z&G^iV$q6NS%SRurI6yTzd2uPUsH}YAjI2)G=RN(j#_Yx2Le_!BUR?gEQ~5Yu2LkK$ zs$H5td%U1>SNXN_(p!Hm?71sf4;Z9z*(qK!)%f52$1TXr8%s-|6fkEriA>VG?j}$9 zvQtpJWbNProyDFlZL$@B1;;-3xZU%Bhi>e68_H36S>?2j0Ak@B;)!{tLlRM%2%FBw z`auBC8Ivgpn2$os>qKBYV3LUJnZef>v$3-91?j*3H=fA{k-H^kBBfc07Lyf?`#!dk z+0dv*UEEZC>R@OSr8JmDa98lcwx9A-gh3Sj zPVeG{tq5mo-YMS6?BXV>ie#Ap47xQ7xHPSQA2fbzEiy~0qEPxGWkKaZ_zYE#=I?FR%$ z`X}qka2xh9=8he`O2Zg!>S6}k_RZB{TkkUOvE@H&OK|}lr?Mf8h(Ik~SvfcNDxH>Z zFz|tqX~j*_Y~(%l-@5#^wC$?DrIPl(DCsw6sl2~mtKY|&#{^g9*rTM=E-w3x3XBeL z&D$R6Yov?=pRNn;BM+?e`1rwNT?Rnl`2+5kl8tc#i*K597G11%OOC*4UDHDqD;=6k zHr5L*?Jp-&qRZ%eR;uAfBX9-Argcvy;pJx@^m>V@b@JeJlB#%ROq4E)sCM3S+)ZZh z(Vsvs(E-}a6UbJ? zi)t=*-PZ9{NTKsE!OCsNmDboQGZLu0htOgNbTfdX+Q}&4&m=}8vBXe=XnIucAv-Yc~5wEt#<(A_qRo#V9!r3PQ(T_+p zvDb$fg~Kxb)%*&vb!|;U&7}tCp>S;~S<9`fi_$p`0m5Iqo$}%pN)cPc^YgkcIkeX% z^WiLVfJnG$--9^Gg`n?Y!p+vm-x-%%zfK;QZnOS8jze;IOttTF`ARb4c4HV6{^UM* z%?bRR?$#0HN*;nEb>pN5w>oZFlNOzreHv`^dcxDLwCP@1JD#@Wv3j)Xvlr8etTDh~ zH+qA1FPfNN=bV$U$_{&w&l^1_REHp7O4+=1b4=r+>{F zJz}v137f{^?qY}leL_mwIf;h)#KP2$@ky@pJwsMfjkzVxOw~oop1wSB86Z#E4XT z@RsOP5gsq4QI%Q#rAz&e71cMl|C^R(y%bQy;I z=SraX>8v=nGuK(Qwce=wMqWCe%!=cD?vBcuIAC&p;8EwnXh!KY)$5|VY9g~bYoanc zYopFCEbk`%)_U7iNk+F+dH6k@OPRtu!fW|{B~$mW6rG`^P9mMg|(`OwEA(}UJ(8eEa{%8cMe z%`O7PK5(|??Uy0VT|B4)+wy5mxdFml#Mz~8&TD!I`8A0Vy9 z_LYqv+(tyYkaA?dME-0IVQF zq6on(SOc)SW|R7tuYcQIk^a?H%$GdpFj7aqHr3b^DfUK#a1 z1%xQI+DKBV)IxZTwM^89h-xhu@a^wm+Hf4=b(#WY-J3M zntBML_NYog>eV&+tKxaMLl*~)Q9x2sae`0zr?5OP9ponQ9Z5$f0xfVrUsEr;ZEmLZ zzu3Y9W2TT=H9Pe@c?1a<8hSkmdIs)AmE+0`hl$i@S+5i(+8GNE>~;xS&2k6 z&H+5_A3=)xrPCLtkWR;}m6~bAM3wdqP9%TAHz4izE`}h|E6c!V97&vKp~gD3BR}D| zq)>H7mlts>H9RPj8PD3TEl9gcM4ub4xZqVWCTHxs&b}jAxdIp?eZ+&1i3cr|bE6eJ zNt(*JjbP4uHo}2$*i)qYnsq_zoNa9ui${ZSJP_@f-1>9)PibQ?0?M|6b-x(+1)Y?f zW*)*dZzB(^lAMws+SM-aZ(W6Kt~@AzN$b^?E6^ZY6htkSvC|S{q45O2aUJTNyWuGr z%RE(3ad~f1UNkvN9Gem&2`a(A@g-jV=Jt;wRv&hR94als=IV3Vc`+hRq#?sJ#t86S zRV2}$%8OgA%)m{3f!~o&zJGE8J(=}OEs+NbiN829N#(8n-Yby^$|$iNS!8W!ucpP2 zh@1sXVW7MuRhd+mt_t>)L-!~K4+Os2<%%7S9VZ}2CqF1Ij&~sytX# zm#$Hiq{;({!UaqYDMn3;hhD2bhQhpsaK+vjh3_!~%tE-2YOpH34hR`f@__ApPq7XR z6fA=70*d{S?l8&Uu&>Iw0?@tlh%6j+?umfI=!E>h!V0uVbN&)Fz23yK*~(I-)#@mv zhx7G~E2PjyyG+L)KSpRHeo7bg^1U$+^^}&D0vrpJw4o4iDNiEJElS7|{c#Wtn*zy$ zH^+50mDecSgrdLqtL*>omLX6;f$9i88pDAxlnMZ(CKMSbj&n1u*@uQ$EbBR0gBN_i za~iADLC8Zzc5udg%(^8Mn6m^kxHlhvlwT@%L+j=^&k8)FB8(p!Cn86|wejcDAqU;U zqr?!T=T`OWv#H>7z$QF4L@jNekHMRviw=Qwu5_My=y5gvw<2x#jIX>(>)h;pU;HRu z4!v#dCsv@do11eI-U8dSM)y7v4}B_g)>g?C(}x2VBCw{Q%=c~lx3{eZ@BI9z)fV)r zId5^Oxu?3(`Fp{XZ>*3Z3_K2^e_eM6zd&IQ@FQW2#Ob+N*I9jO!J?GJd?V6w@6ufM z2J(rQNelv%U*DODS1a4gBJGim|J+X8o`Nu!e3$2^Ij1=2*1ZZY#d&6sq__z0ZtVVZ z%b@`1Vwk_qejRWsHAN!<@&$7W%XUuQIX=*1$>iv>QAgDw>wv?W#}9!x{`}C2k$JN= zCaTH|y)81ceo_0D%K(8}^kLz-mYD0%z9}`;ALHZM>0euyk$Uf6X&&!%s^#-yDBrCf z8c(E+J?KL(`pMv&4DAlE8BjDo3=cWxRLd*^?lAzOuhp#56oxs`%_8+?z2M1E?yRO= zQ@i!sAJm+GC?7C(H2ZVUN(XadwV7^Fw|nXA{04o^3?sonr2X>u?#Yj!@t+x(RoTJ& z6TPNhzMN7k7=bS~_a_Pxq?eExi;EG+OK7L}E$!b%_;Z0ZlUV+=-j-PWd00{RGlh;?}k=%CeTjT3gH8S}klO z-cE{TlvhYs2G32%Ul`E}R@0~Cc;<7H^_E#ihG;W_N+Zn02X1Gb;|^{|d`gISN$vPb6iA3F7=ul4nrMeB6Y z*XQm7VkWpe4VXpfU+eMFaM3VIbb24aSPZAFLbS5=tS(aa?fUf!E=9uP#EzhpbuBPY zQ$oYO7;OpS+ttUSoS^aIlk6G?U3Qcf-(;O&w|~pSomd(FQ2*eZ;`*Cg4Ht~+R_;U7 zG*1wbjFGjFzxOaEddCv@3C?)J?>!L=pYD~CkOjz=7SenIVc z)*kS@Lr_avssNX67ObD=zEWqrym-PZ&h#5;d>goL@yeXy@sc>Kw{M&maZ0mb1Dq7= z{6`er;eHH;iOH33AW#bDI1sRT4|Q>Z>!P*U!U)Xz*6@&^wfdQ-jg6m~)r>vHwx1K5 zRNTV1ZZdGK61l%&K^-sQMq3SCD{x-6wMMlUo5U!}^Zmj<$*ePHX94rG_1O*t>`^JS z0mH<^inR_zOl>sxm`6LmKR7YhThXi3RMB&PllwK#Z)ue{h&rb({Q!uxKDj+GFHFA&Z ze4l{Gq>7VX%s=>geYaciqQHSuR|i%1y&m=(u>|Z?eHwv{KTOxa_W2G~&0f2}jLm%* zObOC9Xt+4r4eny%jmM5f+OPs{yf1`J0nyn(g$@MlHp=4b`?ixdO=}c9>CAOGjc+w6 zKXIuEBgQZ>Id!8!F3N3K0v4%h$g1*YXU0)~8k4uWS8wtDXRScS>lk&cJHrXdZxaa*E0_iv+lS{OF)}dP)V5I@OJP>2nDX zo-+~l_juI0*DOc3Ae~K1WW1WNb{8dL?XhpZgMSCsd;;M7t=eohrFscoVM9kddRA<> z4j_DA^}`RQ{cYf{w?(O1QEZ&*yN*Z1H?2wk-`wgXYdgN!d(4dHe{W=Gps5=uM& zs6F0!cNRdrQoq~f{&Bh)TmuqoOE7yfbaw4920bEo4KRPiPTm)k1NFRe4X;G*ZrTQe zN?$c1TWqgUorX6^!WMtQ*YhxV8~87K$A$rMu#mwxJ~l?O zz78iaDhNkh@=@Di*Caawo@j|?6aYm+*ZilMLlU}{gtskV88Cs}0V(j0gL#x&Xv&e1 z_7lIvR_c`sNHU&qLy8%+cu}=b!lm%&IhqnaCVFS#fUS=zl`Ct>yo4vk6u-(>U!;CX z`L&M0P-kEF5JOLUV)5e6%$A9xs$tc)^R`aO$RP00^a`i@enBS=l`jHG+2!qwpKr36 z_39rYrwrQMtQsmXcLJxux%04r>yAqrqfbnDi~EUbF~ChKf6IV++?TO?nIM~O&1Fiu zAuLZP_NZDiPKs>~!Vd=GI;gac+@dN+$6(;}cwKYSwj*XlT$m930rI*Pqr^r@f}Kcr z^X**{tEvE!Nela;kw3UMBNfPkRf#U~HFq`1uFg_FH~ZEXkPoipFdUIOy)&u5ZW94; zCOIbOR&{W&9kirDMstu9n~WP(V>?NGyCGbU7_L=z!W*>ZeW-*1VuHU9nR+_S&CWS_ z9^4@yQrXnl*Ur9^?vvj9smcmYKq-kZ-jI@VOCAy`-Pzor;FIKC~AnIxkg#JEFRE_du zH#B0&q+aZPUhF6-dB+q%QNXQ_XSDMmyplN_Y;5q}yR-|V~XBWrhISFaFAU8k6$!ku*yc^EJSGK*T z=KmJrv-}|W)j{&|Q29k__J?rgrdiT*(u&d(@*R>&7U2?b7&pUyR-wDvz_&Qyw99Xw zKbNE0@4L&_{_7xztJ>$S{4*m;MhQDpY&H;4L4auz-G8eDr11qq-w*6&e^fA8@^>Br z!b$u0v@3qp9<*DRuxmmcu?6CjG|@3k`KVi=D)YuWFKW~JOaVbnFj(b%KK&4}xuml7 zF64CBx^)%E!*m~Njk3gPT8+5sHpJ|qDdP~aq;(PO9%T5M_-^B_`~<+cm8-v=e?OG8 z*~-cl?h1o^ZZvONyYo0m+b^TgXw@OB-2?`GgGoNA*A^e%{NH5$Z)T`L)kW06IxI=<98b%6lU} zd;iB+CHAF5u!l=cJK>D$!T?2$D0_BP5;hA=VVhZf#%kkFlZ?@=RQAxazhDq`AhEds zgq7{P%O6U_+S`NmGG>G^_TNOB>Eo_1pG_M4=u(X_vqNHs79c<)55!(1c}OC*V*}wO z8{dE%PE)z|3zSu&W$!s?u>Xg-9gr~?|U0uB@mjb^C5Ev3=!e?GFI*zjmb|Q4D zyu~u@3=`&LVB1jIu!OhXiT)16P)2N6vDfmM}z$}e0Zi01L{OR))P zfu4}63BO`^8d`|I>r7G-zM8sey-&v|J?^%A((R=D$5wrax+(Cr*S?+LTU!C?AKFm% zThH_E@opW=^W-w@Hdz;)ORAL#zf~Aa6PkSkl2;ipB!Ak2QaYfg45d#1{WD2wx+u<) zA5zwZN{xUE@R2E}ozxcj?YE|}u?71ENSjIfgV}DJQ@1F~XP8Usa0{iV?=qWQpO2;v zZ%*CsfgO2a=)0Qsufd);lqckn+HkfGu_YUS*8xkbMMbG+PZ-5pIx5W9xDWu(4{*Ae z;MPsxlNSsOfn>me1GePI-i?ZjASVHTm#mzJl7?24ui?0DtQoTo zs!1+h#mj{W!Mq+g-|#}8Zy>e5meHZgrj4= z8?!cubAI>-pzZ=nX>G6<7U{7Tqq%Fdj{ zJ6-jjMV`da96|v>(2xaDnTc#7lvUN*e}?e2EZ#%xDgF@TCuW;Nd)!MzhF#ilBPbjN zUh&S~9u>OfdG`);J-nG1Jyp5fYHt>9{t)nNR%I0Sb;+PHh2|qcnGMo#QJl8w2aXxPeRIhTR9(X3!3R|_iCoR%=rf{e*YNuQ9J2MWPNq6ar z4!pI1Hcme~o3T7?Cn}71MA!X4BthWHg7F$S4~b?XA~449yUJQg`8$lGAYb32RT5)I zYp5d03mRD>Vh_R)3Wq#$U)jJeROYo@y{cnAjje|rbW=m_5v zdRhre4peW9JI6TY%}C1-uZa$T%TOO)MRQaN5+_TXK*8h&?#~4G3<`vF_JKn4B}QuG zWJA+`gV)!p1{Mu(u^pqXhCoacn)1(OF^k+Q143^xvVp zbL#KqOr9Ywh(R))QuiPaAe%G_qZz4~f;t^%wO@@YTXY1Mi1bq`U5>vt73?g58&5gA zGXtii)TcZ5eX>j{;)dPC|}Y;umdv*NnW%@a{bJ%bE9HM1yc^v49`?q&f!})o1m8}dVgcOqEpVx4TXOF@ru2`4y|3%+mhgT=W*RK8 z6(O@ep%JM|2AZRqIayLNy6|@Ka`{9v@5Cqi3d8uB4@&O^R@KgztCSwA@*G zejM6|)v@YSADEAE&J1%pcDX={?om(r#j7lDc9prji1zFK94xnCq5@^uO7aSZC05 zUNoyxd;YU#6dH<5$q{+ee{cxV;hLJs1^_YMsC=+b2Myj7GTY!a-XaVP@^r~n;5w-WnAY*kzmT$khfH&2ouL;on2i6_id@}sdR_6ReKn5@%}+F;L77DhvpWU# zR~PA$Lq(#_o)&Wd<$LE~$tH=!EFUNI+jRfk>=llRTR6cNap8$|?)VBVD91|dUAvex z4XE1lnX>E3xizcj@L_rUw+d)z`dP94nYb?R{>wC-2Wlp;wi=T(-|~XCVfGxN_6vh? z%O@zB3xze{mlYEogz~r)a~g_R!$qCdnJxh~9m-+< zUmHO+y#4ztJ!HJx;|xB;xnC|B?y6|d&&cRFbVA{Cxacs%4@gSJABt?8;h}6>RY)}U zb}k9K%06AjC<<$gIWC|eRg^(GEI}<5tiQ&0=7o96u#nP;%kfs=YF1SYoL;_|fqk%i zcYjn!!PA&59|J*g$S^xB^IAkIuG}MgpS-PX%t$xj)nXn}Snn`HfyZRcbwbgi^)=FD zs6EYAuv}CSJnQ6K_r6wz`$U7Gvh4EHB^h>UCRfN0>oF8QmleUAP=ENiR0;ep?5Ol1bMx<)P ztE$4zlNy*+vINO|PA7Ftq~gOIq0xAyhbD?C3aK`Ca&m7+=AbkI7Y(t#-b~w4x4H>u zZj^{xVV|S9z?36&D-|;2K51ql2!9gKrM(;xDaXF~J}@LE+sg!Tq`(lp4;Ai?l>b_^H}p9?N?P7 zRV(TIQAf_v`BC%S#^2;KEadAi;3bMhZ=9n7j^D%HhYl3gyyy<+^p#}IH+p>p4I>>- zw{&}XL?ScctP8us^h=)3WUiI)AbUe~H~o+&(hV9zDQ<)?dmhg;tZSyNkSKf!btpCc zm31j1>wLBpRv`YAS8^1dobY9?6!C7|e{PfB>sVKWPadRukA#v!b(vRHhXx<1k}NVz zA&n@DOMSSa1CaEZr1Qc9y0`qCHF0z6pl^ZoF$ia4Lg4a`fI&`~0(aoLagn+LQRlq|N5^ zAo?@Ty_40YcT(~JErnoFdR*_*r;T>$0D)ulk34{L2mpz=&?+f^;>O=4ZRfvdPTZ#M zx~)lhvVJ4yn>s?eeeZjjL=Y<9{s&aT4?=5{ZP?qoUOTkK1S_$(jNz z*h0Td6Ql>gJg;ZuO-W6E2>{ur0Ok9R5*P^K&cZ-$X5avZT%h=U!L(!^9B-Jyhlz~s zj9V8rTdqPRthzZZx1Lg6)q<1a1_o5keeHD;K_r_i!DZ5-6g0+b0Q$R*b|>%Z>HMFT zUP}nh?9$2{7&Z-IJ2+%5cq_Hl;YtTzhIJKRG7Qe5N3Q_~%5no`Jsq7tz})-WD7O9m z1A&SYcZZZ4FE5lR#{yqqy*2uG&M%%XD>_(xw_5yI*1|4wb;yuWmVlRmS0?QP++|gB zKYxLG@PAH&(tK)a1R7t+O?NXfhvdf*9}gpO7D`)n|5rxvc=^t{UL!E`&pX(Tml8^17>keUn3>qx z_9L=9pXlpN>w0}2baie1xNG~4aEF#*Qx>e4uAb8tATslC7%o9xQ!$=jE_X*CVQ(cj zt}IhkSE-cMl?pfKZDh11MfN=`+faqx>Zx1Ou+!y=nyU5fY>MsY@k@|BGrB%#I&fMy zf7hQMyJvp?-Xrgd)H@t_M6Yz)-%q=y{(RZqbke$g)YT?gIsND76uQQ)aAI{;TV0Te z@t9P)qS(&4Bf{aTRn|ste}4HEdCt|Ps-evg+l9%YLdZI~68eRYJi;uE+=( zy^}oQq7v`}YQUPoHF>1bgKy<2UAm3$u`IoWwkzme$12f8jI200yT!cXn)Vf@plwr% z-BhJX%=S6ry14`6?As!${;kAcOG{^H#qcJ>TwY;4qze*QhNm77#{DRX9CcvsvmK>v zXHOd}i_?jQ0%(1K`;y*ys0JjN1KW}kq$CXAMaKJE)9GT8$L0*PTpikq$arjiTgC9c z0MXNIIk91iyVMQ8uU zLx2A$raTpYXSZbU+t<*ba!q?oSJJLW2WS#E{5i8%_eRN_EOSx@h0EWSdPq0Yde526 zMsj0FOZ@-%8sBdjQ?B9TMqw}+!xpW2vVoOo$3vn|?*Dyxxe6SAQ39 zr}o=50!rC%N7bOy()6@2%<7C^)zpoujsV|rSO3JAl$Z*CT{W0^43YrJ_Mn~?;Q2Aj zd3Dkz=BEy?I7rBkCljCkJEYP;yF5|ucJ(;9gp94ebyloA9_F{nrbSsP7Au+WbZ)t^ ze9qsp)l0SXl?>D$-RZT}Gb)M87O3hX+x)fy_TH-_BOCf2@VMIzlF*J$*=Zt8L!(BR zTETTx2nyZ7gQhq1?GWmDTs`;EhQ85}V+55CSXm@0=3d%KPU~pyaU2D~hiJ(>hp_C2 zqSERdTekq`t%i}cCBccsRay4VLGDNNIGk-8UXIXnAFZ-=7uLeIlanMi33PpWqwGzZGc^&=nRnea|NaiXT#nC$KguRg@; zFjIWnUqNM&XRbUl%s3GJK&>n3u{D$lGy7*ta5~oM@T^4#>P+7MLU#X4uda)UYWq6k zz3wU|dWDqT;HmmB;tp0I3qB5^%}2CY9sWZ~qv}cWPqOz#awYkt zVfMKTxtqb&36J<(y-k6*{Go|<^2nP?XLx;d4Oo1rBJAW;$YLuQ?P3oWpZMX9ftu~R*EY_5 z>qxKAn}=;AoSJlH)-f#}#G4B4{I$Hh2uEFMx!joWsF~ooB)hs%I&KH;M`>RX{u zppQp9s+yUpG8&cB;`Wa`y;aBL<&N%mu$7#ct}8v{IlaZZ5 z=Zq!ATK!0?TvF(_71yry!WnJoSz3fFUExbel3UtEw-Cd>$K)?;JKtu#>kZqP{YrS_#AOR!cJRfQ$C&JWVVDMyly zLYXAKMK@e#{8`quROGJhxW@|h21{q&-^sT-qBk4wAa}2+LTLUe`D=yE%`~!&m;dQp z^Rse1!g_VVt8}YVd}~=Kb&KS0C0xZ>O05*hZ^(wj(LXfpj?Ltv2gj zo8?Ha&UZ5`5o>v?l+mGht-Qj4$}B;K*S85};;G9chJ`QG=>2rtb9JnpBl?`eIEl08 z=F8#vJ7>(744v9t$Nn5!hks;X6vl6}u0eqaY>4|9XCt>DZ~Z{tULNz&c1aGSL$$ev z65-Dm;A_w05pn{E{A-9!a0?dI)PUjhOP!6*ZEg-q_%@``%^}1Idxd&YNmfpta)EM1 z&RUkbaOAbpSEY9-TX`D!9r>%W4Jryw`9t|r#SViZe<6Rv*rQ|A?vR9|{=&j7ajm`3 z9#wZr`#owb!W-}fozU3pz0hm`9__JPUUN*ob?Iu32|rp z;kgF3`_32QV@_zB`;`4u!hd$xDOa20WWvcA?On%R#~mt3*&W9n#uA)vzN8Pqkp@@8H+}ttZw5(A?hRnQ>%D5kf1xQip0-5#VERy0HuB#4XRgf zb-G*_%N++ublNIM#GVdz$~vmkTjRb=*K(NNEugEZdHhGvZ3=6HEjCLRzdeFE0oX)7 zxkqdEzTys>VMG}2Y&qaOYTX-Em=toaod7orjI7}FYP7j3?FLS4rMtiskCPWEIKdHW zkTR6eV&dsj%fKEjVTzk`^Y7?1WFRaVrU76Cf;a{N8y;#fUq(YJxDqy{6sL(Qzgr|< zTp)2LI~YSUY(&;c()klTBjOkFI^I@rEht}`=}2MBxg?|{J$Jt&7HtMYDna2fN{boQ zP`M?VbKqnur#jT(B?*1#y6e$2szFjX?!3eW28EfE_{ z5Z5feEJ4dm=;L*?TbY`i`5n))QA#!1CwiHc51K$u)Sb^-%!#K(M9x5?C{R{pY?G{9 zI8Ny%ES#_@NnN&NtLCIm^Zw7?Sr#}eyUL#GU%Li(pajnQ?EiJ*rHbr0*CYGnEAue| zWbHU}Hi41@^`6J98-3-YuMD5!(ezb$i}Ge;kinU_E6UXSAt{Z>rnBBLo3|CdTj#P) z>#+3d*L^d`u1QC%+jU)z+jxH7UWLk(m^2EVnVWHB>E@UNxLY1Rlq`Gft}!F=UNfri zNks3P>pkmn2PCm2@}SA3!t**oDuLcZX9^2a$-%@x43$EZhDiO6m_Xzq9#n4qn-$u3 zwrt|f%dPMg*kK41v0d)X^U18T!x8iYdNmW93$@Z1@d$f*-xkI3G13H5CV-D@o?KVa zpOpJ&g7BCCl0`|`k#s4C9-;_@IFM4PRB$Q-SxuYTi}&+2B-&RZr>_BEkOW6iu0HSQT6zh@E+HVE_|mVKdIxxk8`>1o!DGj-sSrnCDQ&I zXOi=DGG0uOBRfl;Fg`o7AH&WekdqSmQ&UOR$NU5#A+Oa3NQXY4Q`HpCe7r)w&$Y$1 z9#KxO2rMM47A#8d%Paw{pLz3Pjy^%6@B;TDR0rTw=z~q2&(;o0mcIVc?FS;mN$jhL zoGYn2JEhaS=%ril>EShyttwvSo-rYb-8%qn$t^8EcVb>;nW95!=uZ`UuXQ+NQ_LD#8ldFQlyV_ z8HXb>1RRuE-_{gBurj>nfll`}UR0XDDRo=S6+Sd5ZX@FnDtDj4vPxo}(%t{AB*>(d z)E=s3(*NbiN^unI%{*&L$8QE%m_qn0VNpTH{VTY6%{GUaZg zuKcylw5TpaOh234XZoLP(=yv!^^_y0E?1bU@>yW%9UfOlfx$jY+qzNL&<0zYOH9myL{1h`)?iN&`dd|p}^n! z7iWqFt?}fCgs5W3CA=oLvS`R4-gv;)OrWhPdkYsRW^eYJf9z13NEw#vp2vP{7nYM9 z@z^+`AT4w1v@^RXAqyE^1G zVw`VIzDvSXlD}vkciQLJQ687Z7k>%5uqox8f!!zyy=j=owihOFIgy-@n4H}nMx$i+ zNr1riQ}Ca9vDMU~rRM_Hb#a>)6=&YvwCPqv(OUE-VECHS0RM1( zorRg7`C$_of#;R$EI$ml@aH&?&=3{}=9!!PONO3bm9Moo%xB_11kiGu5mzo%(E(|W*UN~m%89UW)1r-Q6OpSdONsqpjp2Ot(n^TqzQUf6`KywCiL*z>t6&C{%i zl^o^l9z^GW2ADjOt;6+-B{T(sGCl4f9rw~S+mk;$^ z{DUY6{rJd1(1Yq-c<;e!@mgz;u;U~(pzH-z+=z%j16r!JPW}TrHQZXizX1Y6<^?BO z>fEHteIFEep{Lq@NJZn`0j*X}C-YA_sZz!L7^r+oC9Dz@*r6B#%+y0JUf{XM+K%O5 z%i3qnkSH@DwvS;Aj9W0tm<|xay8t7gsAFAfq1ziNn1Nst8}HI`b4nqlDr&X`5))(f z2xedul)Z1uE9MQZ@9iBK85=uoc&NO%c>jSQwHz`$bH)`l)%uP=gGf}ueTlDLjo?s$ z$T}5ud;K1)P$#w5?b-M*wYsf7Jq>*bN=t96o0S<2VG8A`>R3+Zx-H=ZzDv3TI}~_K zKtLVAwuzKs9gFZR1mcOv5vZ!nbzL3Lx~ZL2ELrwDN$p|S%de~@7J19UTnUIAz$3Xb zBA{fs!4ZjJMc%bOP?dhKKW@dKc3pQ`#P7^m*Q^50?~bvs@PM~rDTwCYGo3SZGSKnk z?+^E_RQ~`_rlfhpY%0L9PhA9Y0^}0ZSl-pTiU5kN?3J{ed?992iu_-l6d{b!&^W!t97dh zt7nGy_wxIp0OCNv9gF-c`XYb@lTt1dK~s=an=7sdI8z6JnXxl+3Q#O@-IZ2egk}Z0 z0NvAKnfBV9U1WS~unHP@bWsc3!=yc;6FTAu1aU(z(Z1hH`ZnY_K+X}&rnLV!+k=fM zuj4ibZPja!&x;?05_)@ycKx-r#X}Mc>+MGqt@D(qX?TwE6ZjpAfQr9ybd8y6PZFl%4DfeL*&Dg(7b!f@w@i zj2)gy4>kF`dEl4hKLCM*hk<;r)>UOKhti_VXkzQIEM2{_TZJ zSRGrEJGS)UgfvCVXd%c#L9NT*Y8S5)TFE?oI%csOp`rtcAC`KWJiqwjRGUIa5yKXTRWOv{SP zW~}#b%gqQ$4{p!(NZ1vb%^hjkaaCt$>W$?o(}$)MX&&`08eyybb!p7YG%R6zo*-_% zStPKyoB2rXYf2eo)Xqu>0XRU3bTL7ad5`M*r8uKfQO+qS=MBMea{fHE!s)9gRK)+3 zGEr4UzVlRwsD~847orT*s|ud!(keteAq12X;-#2i@|3Fuxm}VlUf-fCJ;$r{s!4na zUcM4f{b6{cyC;|9iA2y;QxZ}&f_wc(a05#XI2<80k7E^_AxkZi3@j^aVRxL^>^7Ob_S6Y5u&tBC9%x@o1b>UV_z88v6zBou;Epp^(tqoxe1)JWq zLX6^&05_3NIkO?P_-9EVGV6l`X-`5QxvUGiDtpMPA-yKLM%)l{sKHaApYP%5ZFJKr zR>ta)V`zM}lFFitCJ;qEqpd{*mMenOLQ0?}Q6evK!eo)(=gmy#4Aj$-=1%U@W5BBMycfgJo z<+z#TBC6zRsx;upeL|I~S2LO4tnTCPTW>U3X1UBFiyi*b(lapwM1ODEl)b=m!Cgax zs)TUQyg_+vu%c_pH&Y-?uFYz}stxr(**^XGbNVI!@#-+!DRmLGLAoH_IsJ$&UV9oN zc=#`&-lj}j7GUBqFRhj+iQGTJs9DV^hS-~73XFG2d*ZER&16FeF|U=j+1>c<+K}2u z@Qh@I5^9OOJeK2t@fz}^Qm^YU@G50lL$OYCNhp3UmL))Y2Dz9MFs%#?Dv?0Jg6 zV$n;z&Aa&yk);Mi$il9-nupzPd` zE|_1o6$aDR|F39^B74{v`DgM++YxH6-RBhHc@PHS!WFHDJ0Vz%JBr2|gZvgl3P`Au zDrfd`Es*{@GD$nKf$(JG`c#tFSn9+j5?tM87gVhG2bG)0no@J1-);F2$1UzJERG$^ z!aG&4y;ZW?-}$i+#C9!vg{PA}m2OW7If4M4@@s$}5mm11m5`mP?&6aY9t7@-65;LE02$&Il8gBz;kB!3emQ*ocX3=7?L3q^K^<&Wvva# zUN?1o&rq%0|9-~Q#t=VNTzFlgZ$^f1XC|I^HBYD3 zZ|f{GmD{RpOjP}!*2A^j8HP@71^HEAdZ%1e7tT#@_oYT_{jk zoYC=^^mrvQin?FQ<(`=5GG{>kMZlkz$!CV7NNT&wbm>j)`wods5$ZPfMozvB+hbn3 z$_4P*vb^oB@?(+J>#Tn*O5jA)U&jS5EAgRBQEY)vkpl?AWaR*0b(6cNAG|xM;nt>A z{bKECm@DWJeNT{G=H|2U?!oXA4%&&swIR$Ie`08u3B~;4AJYaBj>ma2FZLvTEi?nZ zt&lAOf%g)qqT3vOmf#tDkbYdp&o6E1+KA7wzyu&(gd{Qpp3RivH6z^TzQ9}$flyq6 zYgn_i4vfEaculM+#+4LLYzDw7UielyW-I#?baRbryb;>S%auyJsS~XD3||t4~R3@K@<}WEJcd zjW53+n)c0Z-w?3!@hQ;xFr@qIP$O6}Klwt(hO-f=DT_4=G?taDB ziL0FtwWGmVSeAtY#6csIUoe6elBkN7YK0{o7b8l^^Eh9nyqRV$=kLVG;VsUJUdArq z)+Y*#WOc#*?BavacnB;#a{um}vLlgYv6Hr?f$}OrTFuJcg~bzFQz~l=q4l-I?6iRN z=txez1Q%4YvL*RNorE2g7WsCJL4xMUV~SGWS(G+_;s9jp%)6^u+_C|s02>sC4g&o2 z%I|?6ij7Am2mcvk1Bg81^lzS*kS5}6^LKTOy+2GyT9mVtZk&y)O({e#^HrR2*0MXl z8}__A>JJ4CkL-_(?hL%f_GccAx3dwOxZNoM%F*4Ts-LBd|GBq$4tIQBeq`Tl1Fse) z$-Y42ook7pXevXu7dHH!|z2d*cX8Ip# z{kDk+QwQJGz|@gMRJxTHo|TnN72+7l0D(^>NgMu;YJ1l~a zd+L1`ge=mW+&!(obC2F`jEOzRx=%?v_9TC*?$U7b?ZPK%CTolz+&8Y-`n^Xk?)I?~ z=KYPj58d|7bo2leFzOp}1-0l6CmpT)Vq7_cs&apk+wKi)XKGK}+AVSn-2Rem@dINL z#q5j2H)&&SE7Ktrt3;Pw)%1zZVKF_?q&0DYi);pejt{L4Z139!)uW>&5tWg&8q$&d zYQzag_heKG!Vh)=FQfGN3H690_Uw-zsl86#zSUmA40w~A>_VB_ic2YEP&jVFGdTLc!J;94=7^~+UF+< zNCIV!sC4bz6>ob|mVG2|MHFKDu|Ju^*%g7ytnQ;hp$~Z#vu4}=nz2JK&Yzrn-PW^p zH+tlfj~$O1lh9a4wsxVi)&APsEmuCjxvgJ*nQPCZl*sXqh?JD>zp8fba>$!$f+iua zDk*`p2pw`s_3YAOK;`VJmL*L!(4BLWAx@jU>pj&oXv8I8fgM#d2C|Ni^?6o&433TD zaEK2G(`zg?uGZD9id`#v6ZZ7RMb4L8z!TJ7+0z8d)&qHN+mtRU9Z`CfO;5A))xZDg z5Jc}0?%gNsRF(fzT%s_TS5+r9`;@*qnIqw7&V@l0CCWuwx5}I~Vzttos}wd(F8f|_ z=hf}gw%S2n@nfyOw5crG$6I zp%;9$_}WhPcK~EzdnHly31gpm*wJT^{Zg}@pq#})IePD)ShWX2PM&-<`Pq@P5rmcNLB753es^X2f~1W|_^o1I&Auz<&NSHfmi1H{v*L*{8t1yQ(X;9&T25C| zsAdqu9a^S%sgey+x6K}}eIAnt%=gsI9;-#y+M;z{!1t|v+YOnluowS5*1R+1u|q-Z zY(re*qbEfU&Z#NaE{kF=E&9jzM?(Cx?wr_!^6p4Md|E|^d5p`g(|Peo=iEB~4ErRF zh7%`>ScUd>AIUQ&yLs~hR#8eXxw-$ENnYvG#oGz$Cp22`|5;lZeLnoelWrEDoY?Ec z(XHkg#iMrUtNv7PXIFaLyts14F>4KdP-E~eX8OgQ>Gl%) zOhDwfUV|;&&^PdKYJ_j8vAdjd&7|=9MB=uz3vh5tbn=1119BAlk5zrjBxh|(bdW(% zgS5kTt=-EE9B30N*|O!$n=SXX{aVm=CdFh(t7?2Sw@}6oIiU0VvEDyjU4ME7cN-Yn z?gAhY0DuS@cliIKOq<~k2bjRxdd(nuz=i1^xS-IfA=UUU1uG{kdYoc7`|b#Xrw=OM zt|W`z>W0p0&W0?4wKwWwL*|76731rYZ=NsO_g%q7tY|A9x)Qe|P)@2D$T|%l(#JfX zMB-BrUsE&?I}Xm)Oh+HAu9@BMv+P!1{UJxQsW_L2%A6&z_W~WQXK`JycUZaH!W$S8 zTzU&#h(ecFu=@;$&b!xo{p?gz`F5c6Y}3l{@X8Q{hE}*MBl?Qrp`5C-G8-wq!WLcaLM{2QQ?{dvP@$dI>&A3HC%GgKa ztTc_@6Pv%q*5q>Gt1sfz4Kot5m6GO^s4?rjQ(CK~6i zdwsMs1Mz*Gz4wgQ^`ae?U{VKF1Lt|CtO#jtqE;LlZe@7ico^8PsAKnrVR7J4wd7P6D5A~O2YX{c0+BVIFD-`b~(KTMT)m)-DY;4N7F!3bYEvH=O zw8lx8O++`GPZry{(&MdiRr(Cd6gpAbgPSotJJJa)tC;IL7~y*Bulimk@o|v6LcUr{ zicv)C=*D{m(wCNa$8TjNv?_26*A5mpe6=lfJYL;+*rU*5RQ~NMZVZ*>ea_pNZ_vui zp4TYz-2v~kvV*4t*Vd0agHj&rli=;pMSiD$>gx*yz$ZS@6+m89wm$!o-B&dWfWRd) zBUp(w^adi|w&%FD=xuj@46e86BP{5DEU`oNIO&#!omY;}Pd&uD;)WR9NcS5z>*GDn zw#CdEIxEo);gg;yPUWmT&BAUXT|3#V;Y11w3M+?AeFU{xVAkgs2kg)2)5z)!Pu0FclNz#B-?$EVx zRIcV37GXCe?rjqKeH@89VZ*=wZEG&XG}9j3=QpbHwgb3Jblr=TLi>CC5Z=!p^Pag{ zJ)@C-`z!cKp%?n5;pCV1cl7<~lW$I`F0YVM@gi%kPc>+=ycJ=&y+f5tkT4rhuZsO2 zP^%<_FS~nj%XM4964t<9X6s)fE|7QRc_i#ODI#xJh&waDG+HO*@{^)RCZ4SHZ`tfM z8=&%M$gBxl3p|iOUUic2NB0~0l+0H!Ij%(Fu`Z}fizb5rLM1#qf zAN<)s3GuptNw~=3G(7BVoI@h*V86&V=lrF?-ZvJ|iz@iPDW%5_Z0mX&NDg0$dQFsz0rFIT#po}Z_E^|Zy){2{g*c?4<954(@xJKZV&hT28|^%(^pbnZIM$^O~b&S73B9a06;F7-`6OMF4A)GeU>Yu5D5g*Vf-5?5YJ1dp zePd7h?(6*{Rv@AV`yI@sDV;hD&+cZRo~S6pz4B2W>hK^O^v8hSDyhm_!_~E)lC0r= z#4TWG_`oqKI=_g+1%}d@oEW#lZVx~$$j;q?+9y6^6DYEu@$b(*ET*ZkkyS8`E>WNE zuYc~_FN~yfRVub?qTZ2GF(xKEdz?Kyq#g-T0i_nTkYvM!QWY2_q?H||u~M%Iz@)v! z;-^MHA`*$t_7w<*Gp=CAKV9D zzVQDa3?B2({|te`TO+C0$IRgnyjljg?%FTFgb+DcO-7xl+lPA+;KAHC^8OwI$eEC_ zoZ6}6^v~iOw=0STXoj=H!~b(cW+5Rj*Tvd-#@P#d+_?16J@xKqFg%GB%&8}^@X zR`WtFMQJ$6w>hlP$ud00$Wwk!2}|3l#BkFmhr@!PhX;TvkrmdQ)^}r9M&I^hryi)D zOFzO|K}rzW#=50&H`KSh^I{;;X@~gs%S%ksU|q-SXUUFmBy1^%ar_IpqQSA!jaIQj zAErZ(Dr4_}{7bKCa(aIuku&JphqfHHvwSe)-$t{F4Pf*KTAM-ynNePz_IiCHA=Rl( zkFNM~A`8D;-WgJ|j2iEez)e5x$M6q^xF8d~A2*il3*iZeWK3inNGn*=>GxD{ox8U6 zmmfQwjNiLgwa?GnGmnOAK5F`>S6!f6_XPp^(SnyzRDSpeH#xOMojjXz1(lI$@uwi6p;$ww{h(GIasiWY zPNqh$6O~Kvd^tH$Q0JKT8e(BB{eB806#|h*7H(LOfIm86E^q;6E*~BO3n9X;L*ZtK z0EFL!S`Q@o-0y(;z84DW;nv-rT-b?fwzR8_a(2>Un=$(2z(zC+3ME1y5C|W+LJeyo zy>hZF9VDmpB<#ukT!}YJm8~`2bNBOZU&IW)(JS@!v7;4swY{exitI@gyIAUmMv+dfhbcfG*UTOs)P+I(p#t@!OC)kW`bXDpV+m32 zQe6$9zg=Zq6+<8pcMx9c%DT+}@R6RcS2o_NeM~}p`RLNInW(ciG4q{L3=Oo=aBe-4 zhYTGIVi1%aK0s>*v;G!Dwo=#E#*9J?z&vE@7DUWXOP%N5XL?HOGKFn#1;5>TO>PB6 z=Y2&>N5EH<oBbrabh`Y z3qxPPeo*Rf*7fjVt(nSzz%lTYK4RCYijmXYY1Vdz|C=^58FgO>oXI<8Y90f)FEJ;1 zuo*eGL^zva(I5q_x^62LE?U6y7-n(*xjw;K4$Q;zRFIk$&Y#Y#1od+^r|Rj;8V%R( zAMK!bqgD(btUxLF!RiQs_TYCHF{ly#yR%@@XzvLFrhHm=vXG0ahWAyo|7r8L4<2Ez ze|z{{=d%7Hs+SNo3y4_vAg@jLp+s0_Y{_c^VWW_Ex60Z2C$Kp-5+SFwF}5mTn4YdOpVi8d2WxACwK?(wTJ7cuFiuCig@(&A zgEey5VNpsJ3l760&i#KYjuu+MEUHha>Cb5GPYvig`Wn_)6$d?Fr%%7;Fo?knjuhXE z92|_iS3L4g9n3qx%6nV0z8;+X9Mfem#a_2Z=g7|8tiUaM3_89h9Nd=mR-qOdPaZvV zU54|#wa3x+G{%ohMtw0+tXBb0%6Z}wKu@K9YxnV{Tkk7@xnrLZ3`btN%croh%9}h$fRAg3r~5fEUv2F?ew`DbVpE%N4HtN`|X z@7sX+?i$ArIa94w60cVPfgw-I8luvbr0HO2z`8%1FPJ@_r1J_O@NdWYBKMgZ29G*8 zg7`r;0#-}LBc_p9t{=9DpovLw^l^_%g^umqc`VVmgF0SNL3I#*-`(pn%^z zi(q7tnQSt3*xDWcb`3V2HDc2J3z^5Qt+0Vh)Ax4k{O!>ek8cZzfQqim4V`ZjqnQdx z(U7G$5Q^v!FpB8NO^p2c?FoNVf63Sv5>6lX`~{ZOCQI)--3 zMF?UJO4^h4Fp!i>B9LI@M}JzM(bsOF*+^DaN~^NI7L!8ku06qi~X2%kd{V?eTHWTz%dFj>j}T?yx{aH-F$- z!1EKCceWN;HRa}>-su}K6gHFpzSEe^>d=ybAhaqe1GDJtfb)8{M;7W+JOM67IU?ua zLt)M#dW5c{id(*Z#ZW$)lHIgp1CiKTLjR9q%rtBs5W zfodp9m9*8I8?rixaawOBIU*p86`#rCgU{hKX~5E zfLHS{O)aaXH_{p(*qNT9?nrW0s4@z-krW+C>a^}W```%c;^ru~+~&Cz2JH`=4K;On zcWOd(h0Fit9Et`(k+84Uk8c+bhV@)!8#7tqj{3DsT<*%cYiuKP|8vmGf0Pc(ugn`1 zM-vX{V*f8|=Fr4KS}>OKauv=*xoCw%*cx#;;r>_a^PkdsvqK$>9XKFBtjQAq(?b{P z1vHU_w&I-e6^br5qrz32dtawq(GY--UwtDXe0r29F*3MMhmW1F1iG{Q~9EjEcD;1^ddH6j{7%L#klChR8DOCnXZb_w0aTTWQ>@HiwDn zXiP?u3auGPPhGwKgofVdqYaHs6`kSkBHP?m?b0!yP~g=H4_grO9=VMrfBomA;m43jr2Z+86zdY~WEfX1T?JdSS5b7@3(9@(KUv&Ewa!}^=C z@YNGDZC5VIdon8r*r%-S%XE?#V(@^K#Y&xm1eRmh3j`wSy~_nT3&qaEkycKV6N+Hs-MIds`6X-C(Is)myLbJty^QX0>P7dsg$8M5?956AuVueKNd@&q@_h!q62|?-?G{EKJ8TgR<=lmw&r=_zjry990o;ft^oeJW!XNQp~8D2yN6oL*2$1klFP$Ib8h(%=6y$c^E z9SBn+mem4qOQ6W_fJ7dc+W|!Uqze1UnhX5!>KaXmIYQROG)Lhc^JPHsW{!T|yE_A6 zez#XoYYNvxOabWejv!Qq=aqb*JC@yc=qcimvtdXUlD7<&z`5{xu03pdPWlw0Q(pS( z2H$u`hv}~{7^($k-^O?$Ww-;zxGtJGm8QVrTqp_$|0r&6L1|CjK($AN!?Ap4JMQH@8Aa9@G|DGS zJp4edx_k(Wm^5C1aS43oT;+fJhE^3H;_VxsF>s&{C0oWLQ`GO^BkV@$i~8dC&)6ff zs4b>Lq)GAG% zCM>7Si{DTetjkQUS>fL#IPk!rKK9ZN(LMOWTgTRS+&l&<2}2lu&Ljd{n5CXs$yqo5 zn^z=R;gf%{tX`0uapFcLMTOSc*Fn=1R}->PsT4QLd)4sht&fTkWD3zq%%hh)4} zR8UUkko^dEVzQ6B)SQD|9+UZIf7 zZ%2H-o#7)_Duaqe{pm=d2+@aDcwKEI@7mRmkxNQV&kr<4EvuIpZ&B+*8=b1Q+A`6{ z?Xw2DGjT72RG(eFDe)Z^JT@+BcyGTid_zHArdwk|>N2V0d_f7hdvAZxF|CzLd+`P` zK^0(6t?>*SMmW2|JEzqrAij$^5(E;)fIwnW!(Hx_qsq6@aV%EaZx^3DD)5r}_-wrq zUXg+bjRt zs}9U9vKC{UYi=(3%kOp>mLxwqi|>i1f$!Xx-^IZGV#j;m6U||I1Henb!|L9nWSK{6 zc~;i8yupR1TKTWdr8>9FCt8jbb7z|_0=ofETo*4Z-)Z|UgrzlV%04Kejtf14|32~v z%XS_L+w^xmH(Y}>z8~4(--vnf`hF?c$#EG@O928G0&}Tze)2hgJfheOYYm*>w|is( zhNj=vZ~4QXJD;`3TIh|0umt8o#8Qbgr*?9~txe5=meI2L63T#{my0IyUp}>PJYifW z5ZzK1^IvhFzs+wAKv*JBT~t-xFnPb|zIGYlcC-t3*6RJGbjn@jRn?ak?P=c&hddQS z)8g@Iu6R9TF?KgOiYR9J3hYhlYxCNKI+G{bstUVF>WU1N2KQimdCmwqMD4t$@imfe zj__3uI=VwEFFrX{$3`e4Wl5BLl}jPI+TqZWlWZ`kq%$_L*>1;7N0((PHcn*?FUyP? z?bMFf#j0v*)tcjX`n0X{W%b23a(vN(kl=)r_nW*Tlp6uNXgF)(=TFq0c zLvjk%ltSZ4o3d_nhuYSDwJpsfTH{u`f4kbqcKX&G8%(mSLIE3c`KKZ|#g{dn*uy#C z9)LJj2EOXJc&rC#>R)7D%Q};Mcx_h!D4(}}tKSX!P3n1pE2SwT5+%xlwV5Av{i=nX zf_~nwz83q3(TR&HxAdg9#Y+>Tlvs{~ukSqg&(UYA`!@i5U=V=K+SYm!u*OI*l^nFs zX=_=SJu=4@7UbdY`{iy8U;Ec}|5(5NM^{$TxsHyrfmvNIOFT;MRAg=zow&GJv+d^f zN=-IE;OBDPjhq|vPWxhNzVFjS9XPdoAkD%jgERm(*b+=Y{vkc#Nu?AQb$@#5Z4R2s zkY2spNmV+O5P<2JWdDuB-HZ}p4nJWsXaX;gu*7NZdBr=}*KP(;x{3JbZy?z3kdr8j z{(-f3BUf<-_~!{pVJD6ygusKR@**+z#_9 zUupR8uaaG&#iBsBkip|rei7U`8GFp^9aXe&t^7^>*;pOdkf8-?`ozgo>6@unIy&#s zKvoo!R@uIQMiy^b`(7xJK9Pg5Ifgw}#EUkT$JQsde_T;h7pswSZdX`o zBSt(hd087`3w@5%ml>7RcLn^BBO^zV(9mOrW?HmyHMOy3adL2Lc{&>mzfYG}-gIUR zvQ(uPmV|mCv`7+D_a;#4$`4*Z79Nbok%`0Y9Sy^dOFK>k@$5R(jS-`_ET71?$G^1j z#hG8oLeZ3y!I zIr!2KKxMG`e%y50jm)j5zrxdGk|6RbETSD?hO(x>^k(_Cb8uRYT*DnIqva{A%}LW! z%?zE2exenF<@3*R@AmFSnk+t(IaEI3HZ91nt3`wm?IQ@KIu4F2GPNIFgW1w-^5Tjr zzliSakOP*e2+4~lXJqpP?xT`+QJ^t(OKNuLq7nQ`U_{~f^uX0Vf+JtzdIy!v3*TE2yxCq+3 zmx2?LZ@vO7E!oLXgADFuhj0Py?`ao@9K$>RJRZX#?8>k$SNF?|r3xP5aU*ScE6enB zWo2B_tEVq_xcR+Q;G}N9c<1B3U&`F5BT65Q(LlpRp!gFOz}T3DZOMUSZxE8V`)k*N z1pVct^9@hQl-|Lh@LZ@r5e~>B@eQk=Zv)hL&FJlozmJ^-vaz?bkE?{3W4|B?9Wl#rhXOZA@F^c##c(~_f3A^44sA8$3F=Yvq)2`RJ&I76~~@H!P<-0mJstYKMk^W z-sKgB0TZBoVR*UQdEOeOoXp@X?j7Q1#^VJ=N6~R*JeikR;1#*8w0Kj3_tfuvYGkcg zlALYL&ie#>9tu!z{eYXNOosb&YI;j2*As}Sbr*4<{#7@5yMvCd+RmfXXPZ>?LQ~cW z43IOF(h6MlNq0h_;<>zwepxd2Xo4-M9|&lgk_ExSSZyl2d&6@uXGa3mru04xOC7_2 zeTxNLP5zdtLmE+qnSt>7%*McATI{_ggapmw$ba4 z)47KnvtHpDgRN8Gd6DmD&VU@!V-#;qkolx`T~Nfvh6ST*^iw;4i!0=K2GrR(yB425 zx1z7lCDO16g5L&2!UyWzO^JT`w>I_7nVv$&xDn16db~&w(;2%dxz5GWS!@?W+l%RL z3d>o2*5&Tx_q9OdM5w!~h?hpmOUgYmi z>Vw5{pBc#t(lo#3iIUn=PL(2~eA%106>GSzBJ4=nWSQ33(9U#p+#cGAG;K6Cc${!w zp!zL!oX6YK? zPhI&O*L7gLVKK|yzjQ0m;&LnK;Ar(MF>(?R5;318I+O4Ld6FyC$%e^z+pvXz{l~9jfQxHf$)q$Ogb2+$5*WC2&13Btc zb|lHGdOF1yW+UPX`?*(dB8OU(XM|dJ_Tb4nu{2yl-EaSin=LoZjtvhQzi(aj{?xA2 z*VWyZZK&l1(=@1>ty>FcK=r+|ygG0RWE?!6kGnY(sWxIc3{F3!r2vugB~K?sq}csb z*>s$l@E7}ykdc*@i7ikw)1dHV851~GR7?paz>g7f2uen=i2HLeyl+Me;22Ebi^j89XnvHWgModvFZwFxteCyK_{Pfc`AnRn$l{Z&4W~^yrjq~P04i4Zpid?a^vu2|4`97BKQtU=SAMAT@hYg!+U8x>1a5l(k z(q}(LUBdg{{}lW_cLmPA9Z(({PJO5ffHP+-XyQbV#q3g zT;LT1k;*N|TQC}{og&qHOz}EtP5mBAdbb~5M<8m&Gg_RNN?QpvQB7oRPq!G@8=J>B z8VMwEe~f5`3lqY{!Q7CL**EZwt*40;t%UYAGeSk~8_lQ|*+?I{(Im zM6Iwe%GQCFR)G>y@jLRz)B3 zs#dSsj8h|R7nSjZdgw`zOOz|qmmt4pks!F_i1;7XUbJ0Cz(oD zbOuVKkK|Bnk6Kha)c7r81k~>!B zER=eoTxlpY+10w!Bfp91QnDKHMfQA@lk!iHeX7{aKbI{xi%wg_XiI~7R5UWI*rr`y z^!fLsU!velyQi>BR}f)mg6~7VNUHx5Cl^>S*vrI`Z<0SPWEZ9&R|YV50^yR%glz0C zj^_?F*>#p(F`47~xliY!W(4pzl_dS-b`I^$h8ZYJC?-nae8$odxYcTT=i}WQ7mjw# zgHPv--!4z-8`0NNptNVs+m^UC1z+DSj!*7;(4E`?{$HGn|LQS+j9Ru$Q0Mt>bebJj zeHFCu_jeXCcIaMY8*LR0P}}X-l=Xj{ULfjIKh&6cNM6Gwm|=tRs{v=kVXMiX@6%dx zLr+l#>wYSMIwgGbo6<<=B7&|ga_(B{^Vooo`bkYEnk}vvDj;g377=`jAcR>i8tPZAUT~)gNk>lRbaFvK3 zWD?)4LaDVe;q?lv3x8skl7JoX=$CQQ5$dnY{d+OuLt=6)#YesFT(Z!;@3W#F*j9AdR6S@TTvC6kCu--xuKO z%(~|<I@d0!?Ze^g<`QT~8HQx3YR;=bu2MQm^$aQ*E}bi|yq7K?87K)e zIOR1`-F(r=sugj$^Ap%yeFiYZEoM{$$&hb1?k`=>>__`<5w)(jrLeMxqql7GaA1fgXZW_ zjvEU2!V#?mf)!f|A`)i0DSej9*3%r)yLVD@COY^44&(BZIhx9)@DVSl!MaX4p8KKq z`fH{%V$bXHe%>x*f>;tBe-NyB%F~m+M<(j^NpfhL1uyMtySiU9cTqyg`L1$AnkFsq z6g_0PLKn?PReWp!6$rgew@b@KNcI;?fa7)yDh+sN-vlFNb@|nwtz2Jv3>5G&e8d+0 zMCAq-v8Y+|q9y(P|LB1B`C^m}GWACf5Ja1!6V(gpsp~!%B}ww!q3$(WywZyIjim!W z92<}wiR&_v5hXwOdws{{;_Mwm=RE(ty!y3{ zO7313dtvL9vSs+|`jZOodR1h8n+I1VWOEFnPHv&PBLo z|3{e!zMSRyk!UU&*;xx-4>t=TA8X}|NUNAA>}1A@a7(gcyTggq!|Xi6)&Ako=o5S2 zUXOQo-+_dk%60*Z#ar~Lti@-T#T;J`U16m?8+_%l+iLiq_V+N3ZgWJrYDjU*$!)(2 z<)_E6eG}h?MP0}LQpqIG<`=jx|K^w2m{etqeH&7+1yp3E+52@f>Ge&c|1`!taDLo< z?Ry`q?!;wX3uJcBLmiO8CU-{@6GP)Jkq67jz-m(rI6PuXlqD)Mo#Yn{ChH^3JoTrG zN{>9^GkZ2n9r(P zVNJskC(vRmgm0vq83Mq~zJPen*TUaG+-9HenJyK%_2mtJdY=h$hfPnamJ?W$iA~csmYBI6DmDi%%vn=XSWpGJ$OI5;gcSJwdPv?1Bd?m)mrlW zJ$qNanNc{sn=d;)ub>`RBE8-p5O^f22~?p-NblrO5jkR>OJA>yzx33)aJQXOhx}y% zAT(BNCoiCnwv#i}>79@jCv4(F$c?~cRDW&gndWeF8Ks&EB9o7GLV`kfQjS*W)b-~v zA{NyEK`xZS&V+yB)1>beuI_yWiYqJKXzKy?}t9UZbjUEgSe|1tF`&$~7NYRvxz?25tbyRbAe27dHI>nK= zhFZv@J7UY@v$A8IIK8!;uFzE#&-hkIK)?Oi_omncEP)ih?^`@WT&zmKMw?T?<#o4U z0E8)}taVbxW+J)BL2Gbl_xbFzAvr)iZ3VB&Fx9X_9~Bil+GY$LJS= zu(5Qq>zQjyj)t^d=5&>>cV)U2e>0aOktkZ67U0 zzaM+qMdXXE-m{SRi^~!+B(O4a@kAOIV1Yw%G8S3NUieQ{ z@`=%UqY^ok@;kyO+gKB^0@B;C*l44)wZBY-*1Qa;46fTrGvSyB$(NFN(RSU!j=aC& zs@kBXkRq>@lPtu5@(S57qR9%?Y;QP_pGFKTOPJJ*b$G#`g0o5Lpng(K7L6wc3jJYE zWA0}1YjK`yIlTiswHaa`F{!pLv7c&OHR$c#KB35I#*r8{HOF<>-pm@HUn(9)gb)Xs z#151Dy*9Tqou2zX*1y)bliHDNv75X?7#8Q}CX<=cF^MlxPJYRL z-p&K{r<)xG@b8_zZd9^98(9sDS-EqmV61Mjgy?!Lw?{N4=>gDN{UaJDAK70tZ2{p5 zlnkJmk6~^j0Q_QM{ws;j60EQ7!~I=!pN;eDmxlL9lSupqM)~O5%<^qqBZ}TU5>iqk z^EYF-dmkjr4syM-(x8IJ>>X(~z%px4wL7VW#aO*`n;mmvcfSd%z?`X+%B-wS231>v z(KrLy%EF1C)|2f*5E z35$#~9)VjnVylbnQv7s3OXUi`B}S%VL!(I9^)G_4>bz0 z;Zt4&XL26;b3-Cs&%rH#+VWH+|IFIZt6OJVs}Xt1WQ|SF3I)v=1O12#J3fXC^gMC0 zmpv6?TBJm5Yhi(*-f+Zo2%wfnq>>3@0h^QXZa=F2ow?#!WWk+S@+?L|NjKAE8<$^| zLkfCH^7vpF7x&a36OtmKKNt5TLcQHU-^bSKx7K|$sy1u`od2T$QkJv0L!HFkrb>?h=_O48fmctYHQl!rtQL>13-$W5(BbyiJ}MoRrs*1IF91XV7YsfBa{aVl2s zx57pJzH2CNk3p4**K0Gw{VaQP^R_d?eA^{SWqYY-VH)tjNX6$lns%fag+BmciwTD; z{eVqUm4Mgr3)34~grHgkOhHM1NIlmK)DJ;NPEBY=^bL5fof%EdN2GAc*tSba|5 zd%Da_mCezJ-OR#}B5eCDOYKr|h*?#syewp!p-?V6K2h15S)NpCOho4^p0%JDK5iEh zx5E`Egfd;y$Z2-YWKQw6dL`Uh+8l`BJ0L5q7U=v+RZic}Zm1hu}UNe`mO z=LptzGSdq5EKUf?`+YG^;{mRZ>MEv&WAW2kl}mE-NCVt17>JK7Wgxm{we_u2<8t}k zhE3`2yO=e>c54;}iy6mEDa~O){1F{NO2EspIQ_)1BZPC>#dQK?im_j?!XC+>TvujUx`O zrP>n6kf(ZfC;SY5DVK1NYw{0LRH(j&?q7GP^!vy~O?pd-yJBaRdj5PM2kMk9%57Lq z8{48QQJxx3-?aAE)fi{#%_G-5f|VtP;dT|evh}ysUl}sn2)6>_4#d`5)A05UZPLX1 z02wc&ab>YE*| z00wzTjq#4xcwee33dNraE!<1rf#}rrLC>Ne*Hz+OPOl;ShcE&{W3yKE(nV^p6KB=` zRMYM@Oo1fB_Fum@?w?s^yJuO8^%W-k>^AFHd7i`>XSn}I49ca z=gHReK08-Pi5@6RFtZAuUM|6SAmr9D@_T~cKyi9ccIdqOV(_+7_q`0!Q~}bIJ)p&& zW{@X%7USX^sK)VIDH$%xZw&JAFK)XGZ*H5^hV7)=SIL`3%j>^td5j9#)xL!K>sfi& z?cYH2ZOjQlvHR&piRSs_6lh@}Fy1D3bWyLXRg>DSOkm@f2&XQ#-T~XVg*Xa+Hzzm> z(gA&X*`GJTi-N~5ukS-Mho#wx7!m1QlKQ3LjFDcuw^Q0VZ0*zsb4BrpU(-i{iRjxZ z4wO`zbg%Kr_q%?k8tX1bhjnJ%E;{f`!2~Od6BuwtlWYrt-E_9gK&;Y|FbP3`P{}?M z?*aFreO^3N5_5SLsoPEJFHiDa>%XbLV$8Z*TJ?HoymC7LVZcg7WTsE-x}QtvjkteE z)emmI$xS`a4?+LBe*!!~@gDlt&DDD1dMDe?TRB)09>_d7wn* z>B%%mKS|5ch9vpQtJwXuLJjOM2Z}vQpox06_V}qN{w1Hf;cu>$RMe=8G?PF*FVnZ< zlGv3(nC%)xH(B;wJMqlj{ebX1v|JYhFlX+7n zbOM7NWBYsG`uS@hqD#v^z^BId-Y#pPr(%W@#^g(|t?qMl-|B&F%?8!`c&j(aaz0d{ zGRmQ$2!<3KgmgVe;%z+tR>_L5{q2jsae_f=KcLhRe{PNxD2qyj1QLQAg#pu3`yOas zD@2DAgAQrzZLUC)(Avl_%KNLYno*aAk#w*|2=AMjyPsokxx--ms^V$9V1_pjI3=1Y z#8SZ|$E_JsT`3M5xPrvD%0an8oi56j=9s90h3n8&sNajoTxSRe2822S-r=;hF%2DM ze8e+Kre}(!T_RZ$(U4rL|I%ZzEV~EFNNeM@N8t6~7*%c>!R!d8lVXBl zVJWn=l4EWf;4AzSakR{LSO?S*SHc4=Xh6ACdK~c8lySDg_f`pkFa*>HU#k^?Mk*9{ za)hMXOej0CYjHfP@rr~g=bzpZWd>K)z(RWS24$;J{WoGXRRr;k!7#8hjdn`O-U8}5 zo6@7Qu$vlPAwxkd&&~X!a5-rWMK9dA?DB9=jmEx5D3{D5oiT{fXLI@`D=Ux#grhuG zD^+!nEA~NcC)v7i@}e#|#_(t9O%4YG-k=tCW>)%JiM~ScnO!i>TNad-?#I#}>v((J!f2=gHwtwVc_EHLQC){JFeq7&ps>W$Ag5{AA z5%-n%)m`Uk9s6B0JIB6kaJrH3z;!O?qLioid$n=1i4lrqDOhOBjy_{)&~}-)5yfq~ zDifYQW_zyMSN{T4L=Pc#ME$CI0va)*OlfjUkgHml<^y$ie%U+w2tv?6msX5G3P$2| z#}ZAU`GSWiS?V@OD{M@e!KF@7;%AG)l_V?oK94RRx+$P-W{4>of3`BKkt$%=Cw)rH zdIYbw;3}9c=gIK<(6$4kYGoOTejN0P^d6Erc!4g3XYGDqwO^ERSQsi+-!=}GN!)X>w*ji{P1H>wZ{UH6 zX{an&UKRFSLBQ>AVwy2F&Q`XK_T!efPgBi&dArxpzkCbg)}*sMQ3d!ynYcWix z_|npYGkjM4H_VCfl1lDfoX0C$VNvA=MKO()qiafz$U5Uzd^r!`sw6gjbZ`=$i^_!5*E*mpvGd zg5%DuZ3wIxm4a&5e0xsqmgD* zYGLt_w3+$h0%!yaVq;0um3t$XEA$yK5Pw|pv!C9zSh@wc?lNT5)5EG6KfIzyluy3k zUv3{ba}*4FG$(pmR^nCj0s#eCNQ4~D zqf!&>E;YJNTW#siz8Z?A8ZLGxgC714l~`@O#>4Wd5=#=oawdMM<77yT(2db7k@4Wp zE%_OM$dm`us47x}?QgqM7)?HZM=$E)8)}u-P|8J5me;Vs-QgJLa01hjt`-GZf4WXYs8)21~d#k7r)eGs%T zoTM@mjdY}?b}Wv#jHbE*Kz`zf{tRkAt>Qc*%XqotdNs+gjp4Eba2n*ly|eRwCt$ys zh~nX>+L&#zD&EyQzPT7a-T4FSO1;b<&IKtjfrbAlppEY|+K)W=f(08x4LSchxPcZ; z&=#FTV)*|ywEy4&Mhf@OGx`^f5+SBVpmLE zI=62U*W>|>NHHU*R5SE{tCw-<<`9FC;fkJ1!6_8;hau))x%lmF$sfp7&pD(kD96H)c$SxIVbZT_~A3 zq=}nfv}2Lwr=d1$v7i?b+##9FLkXQFg^h;+o~eoUixID_yyG_rQYZ@APz*{54#pA0 zKa>pR#RSC`{ME;>CYUt;d;KKSEM)0R4s_P8I^L$4pB(rX9NTKK(#8fN{R*CJBK6fj zg$x42U%7H@19J?CBoA$x)b)Wp621#55p_mM7E4!7(moooafA6ECF-Zt^1qol{;FtA zId&y37DAx8Lw|yrU@Kx3nm!Z4dtT`gHi}vb$}j&kSBP&eGZ2SUb=dNsnEsur&WEKT z)j_QnLZ)5KOXZBcM8xs9Gw{W^CwZ=9$>@IzmDQpcEd(2W&^0pw4EE)QCw7R^@bLL; z`;jKBD-xYQQ2yd6a!O3cQ1R6Y?8$v6opn%hlyAYLdyZByBqP$wt`$?@3G?GqjI-WI zFr(&N%W-LTiVx^1Ho9CEPW9Z5AOL?Gi|-iXg08;`9bHFOX<@)jh53F(ufGo7X8;-H z0l)YvMmC@|H(*Hq)5~Lc+wpVu7B-~+C=Jcxyn+Svys26)m~PyI-+W15v=_={`XO5l zHTRU5<6Q%(;GtU{_)M$_Z@txr^r;MoqLKj!*lxsJ-o*}P>e`FX{w*=TWA)e>mkquq zR>aObeoL>tvlW0b{B)@!*Q#MRNDVE1iwYTY0jEF7nOpwz-CzpVB)}t%DHnxnklM&j z{5nE-m_I0{MuyF@X{w^ZXId;$ZzxX3PofMm&=br2L2ZV2EG&HUL-^jmzMYczD$O`Z z?tN3awcrjqUCwXxK5<+SI?>|?PR!D$t||ghxxLKVr-Z6Dw@24}CgX^Pq}kM_7!5qg z%Z*9SS}A#;Gxrf6Yzc??{fJaAfRlxa)hoqd(HC= z7O1`LmWceuZ0Io0(jzpSr>;rS>W?x`vcp>fVVJl1r4thU;2&FV>(dCwX&XK8S-%w< z9R&H4wYnRLSj%_btvh@R$#$Oo0`rfNf}|CtyFYe$!fDRQ{TCn#B2oP}ys`rt2n8pY zPr*hy=n`c2!FY)-Q6avwsaI|ld#8}B@=2^@?xy>AgA!eO(n7ietiyp6B?7 zzEjdImQZsbH{m6+$_l~!C_p?uVA-?$aetr2!i(>2oJ8*9svS$rL?LjaYe}8@!`*TQ zq#ig1wLj@;6j;-piPNt2DLzE!!*!-C3&;{_h7O&)YC#HO4{G<&N_9zob7B%}yt1NC zn%`Mm`%Yl-g?yhDxiV;rXh^>0f5my?!*A)t)TMO`3`(N+D9}1!YxNnLK)>@{8hpI5 zD`Qq^)g>Q(N6@}yx=%cj9sNvX@vp)=nn6ncK;7JEiZgd^P2j%)6VR%zgBZHuTvAw6 z>wG|E*}P>alWtK8B}_gAdu^xWy(?U(@8_IgZ{Dg_YfH_i| zcEU*ZONGosHYDv&Sy(wA_rub(!|ZW;oHgD9RV~OgubHzEy>?~?K2bePVezxt2%>;P z-?ra7<4n?x&FYaE?cEGI)-)$tD$5+muBu}U?sPHFKe+hV5?aCTUXV`J=9AHC=o-*Q zXUuT@-0>M!)m+!o+T(oHaeB!5lJUF^EcXIqSUNsvI7$4;|X#{w!e5pUJ_ zak1J+C*mxrK*L>l)}}XDmB5!T;U_ev;jCB9B2`6t)Wa`7=7pam>YPepUHy>E1}-i| zx=cTq2|P}#Ey5pcy4D8*2oic4dykynV%zxoUkQ#ZS%}$Wd?mL`_nI;G*TmEF^KJp z_vh{DE5H7`9RZOzAku0+?DJ`Ocwh zS7jB5f%YHF1(sTSKSuTtezZh?ey859@nDV}*wx8We3^(^>c;D^k{15Qf0gLJdBw#% zK4AOfnWngIHTLC=dT)#w{3rZBSpE+*HU0+;Htp>`-fzW8*#W`aU5e&a;9&m+kS-Mo literal 0 HcmV?d00001 diff --git a/daegsrv/static/images/ocsigen.png b/daegsrv/static/images/ocsigen.png new file mode 100644 index 0000000000000000000000000000000000000000..631857a18bccfe52658ce06b23b43eb26d8fec63 GIT binary patch literal 118328 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 z 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 s + +let add_edge target dep = + if target <> dep + then ( + Hashtbl.replace edges dep + (target :: (try Hashtbl.find edges dep with Not_found -> [])); + Hashtbl.replace edge_count target + (1 + try Hashtbl.find edge_count target with Not_found -> 0); + if not (Hashtbl.mem edge_count dep) then Hashtbl.add edge_count dep 0) + +let sort l = + let res = ref [] in + List.iter + (fun (target, deps) -> + let target = chop target in + if not (Hashtbl.mem edge_count target) + then Hashtbl.add edge_count target 0; + List.iter (fun dep -> add_edge target (chop dep)) deps) + l; + let q = Queue.create () in + Hashtbl.iter + (fun target count -> if count = 0 then Queue.add target q) + edge_count; + while not (Queue.is_empty q) do + let n = Queue.take q in + res := n :: !res; + let l = try Hashtbl.find edges n with Not_found -> [] in + Hashtbl.remove edges n; + List.iter + (fun target -> + let c = Hashtbl.find edge_count target - 1 in + Hashtbl.replace edge_count target c; + if c = 0 then Queue.add target q) + l + done; + if Hashtbl.length edges <> 0 + then ( + Format.eprintf "Dependency loop!@."; + exit 1); + List.rev !res + +let _ = + let ch = open_in Sys.argv.(1) in + let lst = ref [] in + (try + while true do + let l = input_line ch in + let l = Str.split space_re l in + match l with + | target :: ":" :: deps -> lst := (target, deps) :: !lst + | _ -> assert false + done + with End_of_file -> ()); + let lst = sort !lst in + let files = Hashtbl.create 128 in + for i = 2 to Array.length Sys.argv - 1 do + Hashtbl.add files (chop Sys.argv.(i)) Sys.argv.(i) + done; + List.iter + (fun f -> + try Format.printf "%s@." (Hashtbl.find files f) with Not_found -> ()) + lst