From ee55c43e0fd2729b2b2c73cb4756e407a6ab8907 Mon Sep 17 00:00:00 2001 From: yzamir Date: Mon, 11 Sep 2023 11:06:30 +0300 Subject: [PATCH] Make ROSE containers more freindly Signed-off-by: yzamir --- .coveragerc | 2 - .dockerignore | 3 - .github/workflows/ci.yml | 18 +- .gitignore | 4 +- .travis.yml | 12 - Dockerfile | 42 --- Makefile | 37 +-- README.md | 118 +++++---- .../exercises/test_exercises/Pipfile | 0 examples/best_driver.pyc | Bin 1606 -> 0 bytes examples/none.py | 2 +- examples/random-driver.py | 2 +- examples/score.pyc | Bin 2584 -> 0 bytes examples/zigzag.pyc | Bin 1033 -> 0 bytes how_to_check_student_exercises.md | 10 +- pytest.ini | 2 - requirements-dev.txt | 7 - requirements.txt | 3 +- rose-admin | 60 ++++- rose-client | 7 + rose-server | 7 + rose/client/.coveragerc | 2 + rose/client/.flake8 | 3 + rose/client/Dockerfile | 19 ++ rose/client/Makefile | 58 +++++ rose/client/README.rst | 108 ++++++++ rose/client/__init__.py | 2 +- rose/client/car.py | 15 -- rose/client/component.py | 9 - rose/client/game.py | 83 ------ rose/{common => client/game}/__init__.py | 0 rose/client/game/actions.py | 10 + rose/client/game/car.py | 4 + rose/{common => client/game}/obstacles.py | 10 +- rose/client/game/server.py | 131 ++++++++++ rose/client/game/track.py | 39 +++ rose/client/game/world.py | 44 ++++ rose/client/main.py | 175 ++++++------- rose/client/mydriver.py | 14 + rose/client/requirements-dev.txt | 6 + rose/client/requirements.txt | 1 + rose/client/rose-client.yaml | 36 +++ rose/client/tests/__init__.py | 0 rose/client/tests/test_car.py | 25 ++ rose/client/tests/test_track.py | 41 +++ rose/client/tests/test_world.py | 46 ++++ rose/client/track.py | 29 --- rose/client/world.py | 44 ---- rose/common/actions.py | 10 - rose/common/config.py | 49 ---- rose/common/error.py | 41 --- rose/common/message.py | 23 -- rose/res/dashboard/dashboard.png | Bin 63580 -> 0 bytes rose/res/splash/splash_screen.png | Bin 432011 -> 0 bytes rose/server/.coveragerc | 2 + rose/server/.flake8 | 3 + rose/server/Dockerfile | 15 ++ rose/server/Makefile | 56 ++++ rose/server/README.rst | 89 +++++++ rose/server/common/__init__.py | 0 rose/server/common/actions.py | 10 + rose/server/common/config.py | 20 ++ rose/server/common/obstacles.py | 17 ++ rose/server/game.py | 131 ---------- rose/server/game/__init__.py | 0 rose/server/game/logic.py | 152 +++++++++++ rose/server/game/net.py | 113 ++++++++ rose/server/{ => game}/player.py | 59 +++-- rose/server/{ => game}/score.py | 119 ++++++--- rose/server/game/server.py | 147 +++++++++++ rose/server/{ => game}/track.py | 44 ++-- rose/server/main.py | 107 +++++--- rose/server/net.py | 195 -------------- rose/server/player_test.py | 80 ------ rose/server/requirements-dev.txt | 9 + rose/server/requirements.txt | 5 + rose/{ => server}/res/bg/bg_1.png | Bin rose/{ => server}/res/bg/bg_2.png | Bin rose/{ => server}/res/bg/bg_3.png | Bin rose/{ => server}/res/cars/car1.png | Bin rose/{ => server}/res/cars/car2.png | Bin rose/{ => server}/res/cars/car3.png | Bin rose/{ => server}/res/cars/car4.png | Bin rose/server/res/dashboard/dashboard.png | Bin 0 -> 67915 bytes rose/{ => server}/res/end/final_flag.png | Bin rose/{ => server}/res/obstacles/barrier.png | Bin rose/{ => server}/res/obstacles/bike.png | Bin rose/{ => server}/res/obstacles/crack.png | Bin rose/{ => server}/res/obstacles/penguin.png | Bin rose/{ => server}/res/obstacles/trash.png | Bin rose/{ => server}/res/obstacles/water.png | Bin rose/{ => server}/res/soundtrack/Nyan_Cat.ogg | Bin rose/server/rose-engine.yaml | 41 +++ rose/server/tests/__init__.py | 0 rose/server/tests/test_player.py | 51 ++++ .../{score_test.py => tests/test_score.py} | 241 +++++++++++------- rose/server/tests/test_track.py | 95 +++++++ rose/server/web/game.css | 198 ++++++++++++++ rose/{ => server}/web/game.js | 150 ++++++++--- rose/{ => server}/web/index.html | 11 +- rose/server/web/settings.css | 84 ++++++ rose/server/web/settings.html | 76 ++++++ rose/web/game.css | 131 ---------- setup.py | 23 +- 104 files changed, 2507 insertions(+), 1380 deletions(-) delete mode 100644 .coveragerc delete mode 100644 .dockerignore delete mode 100644 .travis.yml delete mode 100644 Dockerfile rename Pipfile => docs/course_materials/exercises/test_exercises/Pipfile (100%) delete mode 100644 examples/best_driver.pyc delete mode 100644 examples/score.pyc delete mode 100644 examples/zigzag.pyc delete mode 100644 pytest.ini delete mode 100644 requirements-dev.txt create mode 100644 rose/client/.coveragerc create mode 100644 rose/client/.flake8 create mode 100644 rose/client/Dockerfile create mode 100644 rose/client/Makefile create mode 100644 rose/client/README.rst delete mode 100644 rose/client/car.py delete mode 100644 rose/client/component.py delete mode 100644 rose/client/game.py rename rose/{common => client/game}/__init__.py (100%) create mode 100644 rose/client/game/actions.py create mode 100644 rose/client/game/car.py rename rose/{common => client/game}/obstacles.py (60%) create mode 100644 rose/client/game/server.py create mode 100644 rose/client/game/track.py create mode 100644 rose/client/game/world.py create mode 100644 rose/client/mydriver.py create mode 100644 rose/client/requirements-dev.txt create mode 100644 rose/client/requirements.txt create mode 100644 rose/client/rose-client.yaml create mode 100644 rose/client/tests/__init__.py create mode 100644 rose/client/tests/test_car.py create mode 100644 rose/client/tests/test_track.py create mode 100644 rose/client/tests/test_world.py delete mode 100644 rose/client/track.py delete mode 100644 rose/client/world.py delete mode 100644 rose/common/actions.py delete mode 100644 rose/common/config.py delete mode 100644 rose/common/error.py delete mode 100644 rose/common/message.py delete mode 100644 rose/res/dashboard/dashboard.png delete mode 100644 rose/res/splash/splash_screen.png create mode 100644 rose/server/.coveragerc create mode 100644 rose/server/.flake8 create mode 100644 rose/server/Dockerfile create mode 100644 rose/server/Makefile create mode 100644 rose/server/README.rst create mode 100644 rose/server/common/__init__.py create mode 100644 rose/server/common/actions.py create mode 100644 rose/server/common/config.py create mode 100644 rose/server/common/obstacles.py delete mode 100644 rose/server/game.py create mode 100644 rose/server/game/__init__.py create mode 100644 rose/server/game/logic.py create mode 100644 rose/server/game/net.py rename rose/server/{ => game}/player.py (56%) rename rose/server/{ => game}/score.py (58%) create mode 100644 rose/server/game/server.py rename rose/server/{ => game}/track.py (59%) delete mode 100644 rose/server/net.py delete mode 100644 rose/server/player_test.py create mode 100644 rose/server/requirements-dev.txt create mode 100644 rose/server/requirements.txt rename rose/{ => server}/res/bg/bg_1.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/bg/bg_2.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/bg/bg_3.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/cars/car1.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/cars/car2.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/cars/car3.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/cars/car4.png (100%) mode change 100644 => 100755 create mode 100644 rose/server/res/dashboard/dashboard.png rename rose/{ => server}/res/end/final_flag.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/barrier.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/bike.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/crack.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/penguin.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/trash.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/obstacles/water.png (100%) mode change 100644 => 100755 rename rose/{ => server}/res/soundtrack/Nyan_Cat.ogg (100%) mode change 100644 => 100755 create mode 100644 rose/server/rose-engine.yaml create mode 100644 rose/server/tests/__init__.py create mode 100644 rose/server/tests/test_player.py rename rose/server/{score_test.py => tests/test_score.py} (61%) create mode 100644 rose/server/tests/test_track.py create mode 100755 rose/server/web/game.css rename rose/{ => server}/web/game.js (71%) mode change 100644 => 100755 rename rose/{ => server}/web/index.html (78%) mode change 100644 => 100755 create mode 100644 rose/server/web/settings.css create mode 100644 rose/server/web/settings.html delete mode 100644 rose/web/game.css diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 9b6154a0..00000000 --- a/.coveragerc +++ /dev/null @@ -1,2 +0,0 @@ -[run] -omit = *_test.py diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index ffabc800..00000000 --- a/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -/classroom -/docs -Makefile \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0778f514..9218517e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,15 +7,19 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: - python-version: "3.7" + python-version: | + 3.7 + 3.9 + - name: Install dependencies - run: | - pip install --upgrade pip - pip install -r requirements-dev.txt + run: make dev-init + - name: Lint - run: flake8 --show-source --statistics + run: make lint + - name: Run tests - run: pytest + run: make test diff --git a/.gitignore b/.gitignore index 6a2f4b36..410e76a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Python +__pycache__ *.pyc # Editors @@ -9,7 +10,8 @@ .coverage htmlcov/ -Pipfile.lock +rose_project.egg-info +dist # Classroom setup classroom/credentials.json diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 777ad19f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: python - -python: - - "3.7" - -install: - - pip install pipenv - - pipenv install --dev --skip-lock - -script: - - flake8 - - pytest --check-links --ignore=docs/course_materials/reveal diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index a9136868..00000000 --- a/Dockerfile +++ /dev/null @@ -1,42 +0,0 @@ -# Generate a container that generates requirements.txt -ARG PY_VERSION=3.7 -FROM python:${PY_VERSION} as source - -ARG DEV - -ENV ENABLE_PIPENV=true - -# Install pipenv -RUN pip install --upgrade pipenv - -COPY Pipfile ./Pipfile - -# Generate requirements.txt file from Pipfile -RUN if [ -z ${DEV} ]; \ - then \ - pipenv lock -r > requirements.txt; \ - else \ - pipenv lock --dev -r > requirements.txt; \ - fi - -# Generate work image -ARG PY_VERSION -FROM python:${PY_VERSION} - -# Project maintainer -LABEL maintainer="frolland@redhat.com" - -# Copy pipfile to default WORKDIR -COPY --from=source requirements.txt ./requirements.txt - -# Install dependencies -RUN pip install -r requirements.txt - -# Copy application to default WORKDIR -COPY . ./ - -# Server port -EXPOSE 8880 - -# Server command -CMD [ "run", "python", "rose-server"] diff --git a/Makefile b/Makefile index b75cbfd7..786e90f9 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,25 @@ -init: Pipfile - python -m pip install pipenv --user - pipenv install +init: + pip install -r rose/client/requirements.txt + pip install -r rose/server/requirements.txt -dev-init: Pipfile - python -m pip install pipenv --user - pipenv install --dev +dev-init: + pip install -r rose/client/requirements-dev.txt + pip install -r rose/server/requirements-dev.txt -test: pytest.ini - pipenv run pytest +lint: + make -C rose/client lint + make -C rose/server lint -admin: rose-admin - pipenv run ./rose-admin +lint-fix: + make -C rose/client lint-fix + make -C rose/server lint-fix -server: rose-server - pipenv run ./rose-server +test: + make -C rose/client test-coverage + make -C rose/server test-coverage -client: rose-client - pipenv run ./rose-client - -container-image: - podman build --build-arg DEV=True -t rose_dev . +clean: + -find . -name '.coverage' -exec rm {} \; + -find . -name 'htmlcov' -exec rmdir {} \; + -find . -name '*.pyc' -exec rm {} \; + -find . -name '__pycache__' -exec rmdir {} \; \ No newline at end of file diff --git a/README.md b/README.md index 3fc613de..3fe95e2b 100644 --- a/README.md +++ b/README.md @@ -58,52 +58,46 @@ The following commands should be performed only once; after creating the environment you will be connecting to the same environment each time you open a new session. -Use venv to create a virtual environment and to install the rest of -the dependencies: +Clone the code to your local machine: - python3 -m venv ~/.venv/rose + # Clone the code into your current working directory: + git clone https://github.com/RedHat-Israel/ROSE.git -After creating the environment, we want to activate and enter our -environment (make sure you're in the ROSE directory): + # Change directory into the code folder: + cd ROSE - source ~/.venv/rose/bin/activate +Install the project dependencies: -After entering the virtual enviornment we need to install the project dependencies: - - pip install -r requirements.txt - -Indication that you are inside the environment, the prompt line will -look like this: - - (rose) [username@hostname ROSE]$ + pip install -r rose/client/requirements.txt + pip install -r rose/server/requirements.txt ## Running the server -If you are not in your virtual environment, please activate it: - - source ~/.venv/rose/bin/activate - -Start the server on some machine: +Start the server and listen to all machines (default is only this host): - ./rose-server + ./rose-server --listen 0.0.0.0 For running the same track for all drivers (instead or random) start the server using: - ./rose-server -t same + ./rose-server --track same --listen 0.0.0.0 Open a browser at http://{server-address}:8880 to view and control the game. ### Running the server in Podman +Change directory into the server code directory: + + cd rose/server + Build the Docker image: podman build -t rose_server . Run the Docker image on port 8880: - podman run -it --rm --name=rose_server -p 8880:8880 rose_server python ./rose-server + podman run -it --rm --name=rose_server --network host rose_server If you don't want to see the log of the run in the current window, replace `-it` with `-d`. @@ -116,26 +110,27 @@ game. You can use SSH tunneling when running the server on your remote VM, so you can view the game in you local browser: - ssh -L 8880:127.0.0.1:8880 {user}@{server-address} + ssh -L 8880:127.0.0.1:8880 -L 8765:127.0.0.1:8765 {user}@{server-address} After starting the server (as mentioned above), open a browser at http://127.0.0.1:8880/ to view and control the game. ### Opening firewall ports -You can also open ports 8880 and 8888 on the remote VM running the -server, and browse from a local machine in case port 8880 or 8888 are +You can also open ports 8880 and 8765 on the remote VM running the +server, and browse from a local machine in case port 8880 or 8765 are blocked by [firewalld](https://firewalld.org/): sudo firewall-cmd --add-port=8880/tcp --permanent - sudo firewall-cmd --add-port=8888/tcp --permanent + sudo firewall-cmd --add-port=8765/tcp --permanent sudo firewall-cmd --reload -## Running a driver +If you are serving none local machines, remember to run the server with --listen 0.0.0.0 +to allow incoming connections from remove machines. -In a new window, open your virtual environment: + ./rose-server -t same --listen 0.0.0.0 - source ~/.venv/rose/bin/activate +## Running a driver Create your driver file: @@ -146,22 +141,28 @@ name. Start up the client, using your driver file: - ./rose-client mydriver.py + ./rose-client --driver mydriver.py + +### Running the driver in Podman -The server address can be specified that way (Replace '10.20.30.44' with -your server address): +Change directory into the server code directory: - ./rose-client -s 10.20.30.44 mydriver.py + cd rose/client -For running the driver on the Docker container use: +Edit mydriver.py driver file - docker exec -it rose_server python ./rose-client examples/random-driver.py +Build the Docker image: + + podman build -t rose_driver . + +Run the Docker image on port 8081: -For driver modules, see the [examples](examples) directory. + podman run -it --rm --name=rose_driver --network host rose_driver -You can run the game with just 1 driver! +If you don't want to see the log of the run in the current window, +replace `-it` with `-d`. -To let 2 drivers compete, repeat these commands in 2 terminals. +The driver will be available at http://{server-address}:8081 . ## Command line interface @@ -176,14 +177,23 @@ To stop a race, use the rose-admin tool on any machine: ./rose-admin {server-address} stop +To reset a race, use the rose-admin tool on any machine: + + ./rose-admin {server-address} reset + To modify the game rate, you can use the "set-rate" command. The following command would change game rate to 10 frames per second: ./rose-admin {server-address} set-rate 10 +To set the game drivers. The following command would update +the game drivers: + + ./rose-admin {server-address} set-drivers http://127.0.0.1:8081 http://127.0.0.1:8082 + ## Using tmux / screen -`./rose-server` and `./rose-client {driver name}` do not return, but +`./rose-server` and `./rose-client --driver {driver name}` do not return, but continue running, in order to run both server and drivers a user need to run them in separate shells, using the same virtual environment. shell. `tmux` may be useful in this case. @@ -208,28 +218,26 @@ Example `tmux` commands: Should you want to contribute to the project, please read the [Code of Conduct](docs/code-of-conduct.md). -To create venv use: - - python3 -m venv ~/.venv/rose - -To enter the venv: +Install make utility: - source ~/.venv/rose/bin/activate + sudo dnf install make -To install development requirements: +Install development python modules: - pip install -r requirements-dev.txt + pip install -r rose/client/requirements-dev.txt + pip install -r rose/server/requirements-dev.txt -For development in docker, use: +Run lint and test before submitting a pull request: - docker build --build-arg DEV=True -t rose_dev . + make lint + make test -Before submitting patches, please run the tests: +When developint the client or server code, change directory into the the server or client direcotry: - flake8 - pytest + cd rose/client # or cd rose/server -Creating coverage report in html format: +Use the make utility to build and run the applicaion - pytest --cov-report html - xdg-open htmlcov/index.html + # for example: + make build-image # will build a docker image + make run-image # will run the image locally diff --git a/Pipfile b/docs/course_materials/exercises/test_exercises/Pipfile similarity index 100% rename from Pipfile rename to docs/course_materials/exercises/test_exercises/Pipfile diff --git a/examples/best_driver.pyc b/examples/best_driver.pyc deleted file mode 100644 index 443a08583e7671ab63f6135bd4c6cf72f0fce4aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1606 zcmZuxy>Ht_6u&!uh?Xr|aZ|+sk^o%{5D0=IQ->m`5WUO3PM~L)x z^B7egN;UaDQn${Y>FX*=AFFsMCn_>P44<4v@$h)0)Fe`rU$P6rM3cK5OSE{4*TH{a z3H32NKMY|9uLLAj2m=6O05mY!E10a5PXTfAC7|I`f;Z;~;QOgFbq5TzHem7V9QNdx zz=rkjGNOUFjA&P;TA%>QSu zM8yO5Lvy*}gFK+wt@z}c&vGA7ytdjx%0{78jR--cTo8Xv(cGGbQR~EQ5NQyh-clZj zw)@}oyJ`)r@2E{uZxLw{xkO}}2(?O1E`!rsCzDtX&t{`>G>jKQ_Isw&!7jGDSr+oV^hraIXAmF7a7AO^GrxyX^(tfZ>KJm z#muh?xv+=HS7ivzG4&8&^-u}^nseR~lg7$vbfT8XCM-L7{=P+mw?%@xwx8DtGopuoP zx`CM;)xvR8BHzw2SzQ!*48wRdkMe{FE_14KtLYBY7~bdeg?v1V?hv2}HCR*F!rSpa`5*hV BMuPwV diff --git a/examples/none.py b/examples/none.py index 3904818a..4869bdbb 100644 --- a/examples/none.py +++ b/examples/none.py @@ -1,7 +1,7 @@ """ This driver does not do any action. """ -from rose.common import obstacles, actions # NOQA +from rose.client.game import obstacles, actions # NOQA driver_name = "No Driver" diff --git a/examples/random-driver.py b/examples/random-driver.py index cba4a678..31108244 100644 --- a/examples/random-driver.py +++ b/examples/random-driver.py @@ -5,7 +5,7 @@ very good driver but the implementation is very elegant. """ import random -from rose.common import obstacles, actions # NOQA +from rose.client.game import obstacles, actions # NOQA driver_name = "Random Driver" diff --git a/examples/score.pyc b/examples/score.pyc deleted file mode 100644 index 537f31ce9d1a0305ee5786fdef218530875a7a55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2584 zcmZuz&2Jk;6rY)${qQZs znwa$|Jt2@Pj#NnLkrOxm0K{Lh;>IawZk%{;c5NrLW4$+?H}B2Id%yQ)*GnavK->83 zYUBDWA%Ejw+!*}10~Bom6T~Hg3f7}8RXuYV^jc5rbC>sZSEod9*ATjE3PYGriE9Z< z6re8%TNI(U#f&IHUleScRAz@C**mRvz$x6a-JS=j0c545P#Qv3*iZG@%RQDS5#@CSTwDijDY4k7pA7n2wCNbTXS5 zFDOXOkpFrN-S7|;~I&zO&&o=z>S64DPC`bc379mTC540 z=n!QV^A7ZRoY{#XG?bt|CC_L;l#K~?7EobN>l*U=i8TjZ`<%6olFT~zGcE#(VRxaI z$sRjq@6UN9;tIohl{+g_1CI+Go>`Snsp>PN1Neq|A*1{`U0#Uy^`5&a$Rh80sJK<+|TW>%aJClEf>A)wQV4<-|m!^A0uerS!&&Om=^a&uyGiYArUQf=RlCFW#m zZdGgd9&Xm;9E`FYFt#=~9z5IvU=9X;AX0s&zP5coHP_eb_04KMmn*-6K;;V5!lMP1DLhfg9~lt!s}ObCwdHCabEwz}2b8F)inZ`D0c>g= z4g^+RQwA{;EP)J47}n}UgKXkhzcH84A~qo(U=P9beE1nGpe`S?T-zLL2W2&5O=b$? z8C8Yt+VI-6j6vOP20;kV6}(;^JYS*HYX&|*>%v*3v4dBJ^Lf#n;7Y-2SUjUWT+XBH zs3<$_AYb#l!;!oKo*P~X;PuRq@Cuz%L|Vm?Z$Kw8av9iAD&I!-CNc-vbznI>R3(%)-xr&|}Zp0>EOP*;MIzxH~q?u1U#k!9c+P zisqr40|B044BLnU5EgSFyq^I<)fiBsfCSfeck7AEO>TyV@;y-oLT) z=abj&?kH!&g{Q7jUQrHt3l1Z%BD)5xqN}9IyfR6ZSNZ~-_yth31Pl{|!4JJ*fCo4v z38$H(XHv7#5TVy-$k#zr&I5CcGK~BiUfAzLVye?%iE(EmU&0gLXbK_yD1t93_3hLM wntfkALMpqIZ`I;w0;EEPK8Dx4ABuyXe;b#K7JzX$o&{my5FqQawQODZ55I##iU0rr diff --git a/examples/zigzag.pyc b/examples/zigzag.pyc deleted file mode 100644 index ac4b30139a7c1778370fc38b9e8bc15d19cd7585..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1033 zcmZ8g&2G~`5Z+y{f8w-J5tUkQRwWRTP)?jssSv0w;m3_gDv*T~nd~NU;@HvdHcg`R z)Jjx51wC@)#uM-md*#$u-~zL5S}JxmpJ!H|zn$@npRca^2-d~-t@bHJ=$8qu7XjxP zn0yGpP=pv}B*h~Vk&zWy7%?lNj7B!InRA9Bhq+Bu_2%#WRzHye6Ul^&AWeomPSlX`FEx@Cna?<32#50+z!`ma8D+oB{PwFc!SaMUwRbk@Wh?S4SeN`InFesuEqw zKS>pLQZBU{cT|#RGAgBcCrtH+i0>lx$IT_JKIjJT%Z zLAa~k#%{QOSP!8K);O1ucioCA*7k8OQuYn~F3pqPJnq%TGwn~}G-2&gKH+7PS}|;x z;0kO9&+ip8Qrj+?CwFT9*z^01gJ!)|KM0=$)2D@UtrLsdG??9rW|yYN5pC38ycUj0 z(|%Xqf7!bH15494yL&B7Umd<}R9Ce60xC2nNMalRp01-JFYr7auO;g@g!c>)69= 5: + driver2 = self.args[4] + if not self.is_valid_url(driver2): + self.usage("Invalid DRIVER2 URL format. Expected format: http://host:port") + drivers = f"{driver1},{driver2}" + else: + drivers = driver1 + + response = requests.post(f"{self.server_url}/admin?drivers={drivers}") + print(response.text) def commands(self): return sorted(getattr(self, name).__doc__ @@ -66,7 +98,7 @@ class Client(object): log.info(msg) basename = os.path.basename(self.args[0]) commands = '|'.join(self.commands()) - log.info('Usage: %s [%s]', basename, commands) + log.info('Usage: %s [%s]', basename, commands) sys.exit(2) if __name__ == '__main__': diff --git a/rose-client b/rose-client index 623d4c8c..bac6406e 100755 --- a/rose-client +++ b/rose-client @@ -1,4 +1,11 @@ #!/usr/bin/env python3 +import sys +import os + +script_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.join(script_dir, "rose", "client")) + + from rose.client import main main.main() diff --git a/rose-server b/rose-server index a361fa45..353d901b 100755 --- a/rose-server +++ b/rose-server @@ -1,4 +1,11 @@ #!/usr/bin/env python3 +import sys +import os + +script_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.join(script_dir, "rose", "server")) + + from rose.server import main main.main() diff --git a/rose/client/.coveragerc b/rose/client/.coveragerc new file mode 100644 index 00000000..c712d259 --- /dev/null +++ b/rose/client/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = tests/* diff --git a/rose/client/.flake8 b/rose/client/.flake8 new file mode 100644 index 00000000..cbe46d8a --- /dev/null +++ b/rose/client/.flake8 @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 256 +extend-ignore = E203 diff --git a/rose/client/Dockerfile b/rose/client/Dockerfile new file mode 100644 index 00000000..a746d6cc --- /dev/null +++ b/rose/client/Dockerfile @@ -0,0 +1,19 @@ +# Use Red Hat Universal Base Image (UBI) with Python +FROM registry.access.redhat.com/ubi8/python-38 + +# Set the working directory in the Docker container +WORKDIR /app/rose/client + +# Copy the local package files to the container's workspace +COPY ./__init__.py /app/rose/__init__.py +COPY . /app/rose/client + +# Install the Python dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Add the rose client package to the python path +ENV PYTHONPATH "${PYTHONPATH}:/app" + +# Set the command to run the main.py file when the container launches +ENTRYPOINT ["python", "main.py", "--listen", "0.0.0.0"] +CMD ["--driver", "./mydriver.py", "--port", "8081"] diff --git a/rose/client/Makefile b/rose/client/Makefile new file mode 100644 index 00000000..524ffe3d --- /dev/null +++ b/rose/client/Makefile @@ -0,0 +1,58 @@ +.PHONY: lint test lint-fix code-quality test-coverage run clean + +IMAGE_NAME ?= quay.io/rose/rose-client +DRIVER_PATH ?= ./mydriver.py +PORT ?= 8081 + +# By default, run both linting and tests +all: lint test + +lint: + @echo "Running flake8 linting..." + flake8 --show-source --statistics . + black --check --diff . + +lint-fix: + @echo "Running lint fixing..." + @black --verbose --color . + +code-quality: + @echo "Running static code quality checks..." + radon cc . + radon mi . + +test: + @echo "Running unittests..." + python -m coverage run -m unittest discover -s tests/ + +test-coverage: test + @echo "Running unittests coverage..." + python -m coverage report + +test-coverage-html: test + @echo "Running unittests coverage..." + python -m coverage html + xdg-open htmlcov/index.html + +run: + @echo "Running driver logic server ..." + python main.py --port $(PORT) --driver $(DRIVER_PATH) + +build-image: + @echo "Building container image ..." + podman build -t $(IMAGE_NAME) . + +run-image: + @echo "Running container image ..." + podman run --rm \ + --network host \ + -v ../../examples:/app/examples:z \ + -it $(IMAGE_NAME) \ + --port $(PORT) \ + --driver $(DRIVER_PATH) + +clean: + -rm -rf .coverage + -rm -rf htmlcov + -find . -name '*.pyc' -exec rm {} \; + -find . -name '__pycache__' -exec rmdir {} \; diff --git a/rose/client/README.rst b/rose/client/README.rst new file mode 100644 index 00000000..751dba89 --- /dev/null +++ b/rose/client/README.rst @@ -0,0 +1,108 @@ +======================= +ROSE Driver Game Server +======================= + +Overview +======== +This server provides a simple HTTP endpoint for a driving game. The game receives JSON payloads containing information about car metadata and a game track filled with obstacles. +The server, using a driver's logic, returns the best action for the car to take next. + +Requirements +============ +* Python 3.8+ +* Podman (optional, for containerization) + +Installation +============ +1. Clone the repository: + + .. code-block:: bash + + git clone + cd + +2. Install the required Python packages: + + .. code-block:: bash + + pip install -r requirements.txt + pip install -r requirements-dev.txt + +Running the Server +================== +Run the server using: + +.. code-block:: bash + + python main.py --port 8081 --driver + +By default, the server will start on port 8081, default driver is ./mydriver.py . + +Driver Logic +============ +This server uses a default driver logic which chooses the next action randomly. For a custom driver logic, modify the `driver.py` file. + +Podman Usage +============ +1. Build the Podman image: + + .. code-block:: bash + + # Edit mydriver.py file. + podman build -t rose-driver . + +2. Run the container: + + .. code-block:: bash + + # Edit mydriver.py file, and create the best driver code, + # once mydriver.py is ready build and run the container. + podman build -t rose-driver . + podman run -it --rm --network host rose-driver --port 8081 + +3. Run the container using local driver python file: + + .. code-block:: bash + + podman run -it --rm --network host -v :/mydriver.py:z rose-driver --driver /mydriver.py --port 8081 + +Kubernetes Deployment +===================== + +You can deploy the application on a Kubernetes cluster using the provided configuration. + +Instructions: +------------- +1. Apply both the Deployment and Service: + +.. code-block:: bash + + # Edit rose-driver.yaml and change the image to use your publically published image, image must be available from the registry, + # you can't use local images when running inside a cluster, image must be pushed to a registry reachable from the cluster. + # + # Note: By modifying the deployment and service names, you can run more then one driver. + kubectl apply -f rose-driver.yaml + +2. Check the status of the deployment: + +.. code-block:: bash + + kubectl get deployments rose-driver + +3. Forward a local port to your pod for accessing the service locally: + +.. code-block:: bash + + kubectl port-forward deployment/rose-driver-deployment 8081:8081 + +Now, the service will be accessible locally at http://localhost:8081. + +Note: For production deployments, consider exposing the service using an Ingress controller or cloud provider specific solutions. + +Contributing +============ +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. + +License +======= +GPL-v2 diff --git a/rose/client/__init__.py b/rose/client/__init__.py index 81e37afa..8e79edb3 100644 --- a/rose/client/__init__.py +++ b/rose/client/__init__.py @@ -1 +1 @@ -__author__ = 'gickowic' +__author__ = "gickowic" diff --git a/rose/client/car.py b/rose/client/car.py deleted file mode 100644 index c4d79ac4..00000000 --- a/rose/client/car.py +++ /dev/null @@ -1,15 +0,0 @@ -from . import component - - -class Car(component.Component): - - def __init__(self, id): - self.id = id - self.x = None - self.y = None - self.name = None - - def update(self, info): - self.x = info['x'] - self.y = info['y'] - self.name = info['name'] diff --git a/rose/client/component.py b/rose/client/component.py deleted file mode 100644 index a815519a..00000000 --- a/rose/client/component.py +++ /dev/null @@ -1,9 +0,0 @@ -class Component(object): - """ Component intarface """ - - def update(self, info): - """ - Called when gate state changes - - info: dictionary with changes received from game server. - """ diff --git a/rose/client/game.py b/rose/client/game.py deleted file mode 100644 index 645d7da3..00000000 --- a/rose/client/game.py +++ /dev/null @@ -1,83 +0,0 @@ -import logging -import time - - -from twisted.internet import reactor - -from rose.common import message -from . import track -from . import car -from . import world -from . import component - -author = 'gickowic' -log = logging.getLogger('game') - - -class Game(component.Component): - - def __init__(self, client, name, drive_func): - self.client = client - self.drive_func = drive_func - self.name = name - self.track = track.Track() - self.players = {} - self.cars = [car.Car(1), - car.Car(2), - car.Car(3), - car.Car(4)] - self.world = world.generate_world(self) - - # Component interface - - def update(self, info): - self.track.update(info) - self.players = {p["name"]: p for p in info['players']} - for player in self.players.values(): - self.cars[player['car']].update(player) - if info['started']: - self.drive() - - # Driving - - def drive(self): - start = time.time() - try: - action = self.drive_func(self.world) - except Exception: - # Make it easy to detect and handle errors by crashing loudly. In - # the past we used to print a traceback and continue, and students - # had trouble detecting and handling errors. - reactor.stop() - raise - response_time = time.time() - start - msg = message.Message('drive', {"action": action, - "response_time": response_time}) - self.client.send_message(msg) - - # Accessing - - @property - def car(self): - return self.cars[self.players[self.name]['car']] - - # Handling client events - - def client_connected(self): - log.info('client connected: joining as %s', self.name) - msg = message.Message('join', {"name": self.name}) - self.client.send_message(msg) - - def client_disconnected(self, reason): - log.info('client disconnected: %s', reason.getErrorMessage()) - - def client_failed(self, reason): - log.info('client failed: %s', reason.getErrorMessage()) - - def client_error(self, error): - log.info('client error: %s', error.get('message')) - reactor.stop() - - def client_update(self, info): - # print 'client_update', info - self.update(info) diff --git a/rose/common/__init__.py b/rose/client/game/__init__.py similarity index 100% rename from rose/common/__init__.py rename to rose/client/game/__init__.py diff --git a/rose/client/game/actions.py b/rose/client/game/actions.py new file mode 100644 index 00000000..85bbffb1 --- /dev/null +++ b/rose/client/game/actions.py @@ -0,0 +1,10 @@ +""" Driving actions """ + +NONE = "none" # NOQA +RIGHT = "right" # NOQA +LEFT = "left" # NOQA +PICKUP = "pickup" # NOQA +JUMP = "jump" # NOQA +BRAKE = "brake" # NOQA + +ALL = (NONE, RIGHT, LEFT, PICKUP, JUMP, BRAKE) diff --git a/rose/client/game/car.py b/rose/client/game/car.py new file mode 100644 index 00000000..64b3bb92 --- /dev/null +++ b/rose/client/game/car.py @@ -0,0 +1,4 @@ +class Car: + def __init__(self, info): + self.x = info["x"] + self.y = info["y"] diff --git a/rose/common/obstacles.py b/rose/client/game/obstacles.py similarity index 60% rename from rose/common/obstacles.py rename to rose/client/game/obstacles.py index a22e93a8..3b84f9ca 100644 --- a/rose/common/obstacles.py +++ b/rose/client/game/obstacles.py @@ -2,12 +2,12 @@ import random -NONE = "" # NOQA -CRACK = "crack" # NOQA -TRASH = "trash" # NOQA +NONE = "" # NOQA +CRACK = "crack" # NOQA +TRASH = "trash" # NOQA PENGUIN = "penguin" # NOQA -BIKE = "bike" # NOQA -WATER = "water" # NOQA +BIKE = "bike" # NOQA +WATER = "water" # NOQA BARRIER = "barrier" # NOQA ALL = (NONE, CRACK, TRASH, PENGUIN, BIKE, WATER, BARRIER) diff --git a/rose/client/game/server.py b/rose/client/game/server.py new file mode 100644 index 00000000..d0d47a0e --- /dev/null +++ b/rose/client/game/server.py @@ -0,0 +1,131 @@ +import http.server +import json +import logging +import socket +import socketserver + +from game import world + +log = logging.getLogger("driver") + + +class MyTCPServer(socketserver.TCPServer): + # This ensures that the server will free-up the address and port when terminated + allow_reuse_address = True + + def shutdown(self): + # Explicitly shutting down the socket + self.socket.shutdown(socket.SHUT_RDWR) + socketserver.TCPServer.shutdown(self) + + +class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): + """ + Custom HTTP request handler to handle logic driver POST requests. + + This handler is designed to process incoming POST requests containing + JSON data related to a car's metadata and game track. Based on this + information, it determines an action for the car using the `driver` + function from the driver logic module. + + Example: + curl -X POST -H "Content-Type: application/json" -d '{ + "info": { + "car": { + "x": 3, + "y": 8 + } + }, + "track": [ + ["", "", "bike", "", "", ""], + ["", "crack", "", "", "trash", ""], + ["", "", "penguin", "", "", "water"], + ["", "water", "", "trash", "", ""], + ["barrier", "", "", "", "bike", ""], + ["", "", "trash", "", "", ""], + ["", "crack", "", "", "", "bike"], + ["", "", "", "penguin", "water", ""], + ["", "", "bike", "", "", ""] + ] + }' http://localhost:8081/ -s | jq + """ + + drive = None # Set a default value for class attribute + driver_name = "Unknown" # Set a default value for class attribute + + def do_GET(self): + """ + Handle a GET request. + + Response data format: + { + "info": { "name": } + } + """ + response_data = { + "info": {"name": MyHTTPRequestHandler.driver_name}, + } + + # Send response back + self.send_response(200) + self.send_header("Content-type", "application/json") + self.end_headers() + self.wfile.write(json.dumps(response_data).encode("utf-8")) + + def do_POST(self): + """ + Handle a POST request. + + Expected POST data format: + { + "info": { "car": { "x": , "y": } }, + "track": <2D array> + } + + Response data format: + { + "info": { "name": , "action": } + } + + :raises json.JSONDecodeError: If the provided JSON data is not in the + expected format. + """ + + content_length = int(self.headers["Content-Length"]) + post_data = self.rfile.read(content_length).decode("utf-8") + + try: + # Decode the JSON payload + game_data = json.loads(post_data) + + # Extract metadata + game_world = world.create(game_data) + + # Determine the next action using the driver's logic + try: + action = MyHTTPRequestHandler.drive(game_world) + except Exception as e: + log.error(f"Error executing drive method: {e}") + + # Construct the response data + response_data = { + "info": {"name": MyHTTPRequestHandler.driver_name, "action": action}, + } + + # Send response back + self.send_response(200) + self.send_header("Content-type", "application/json") + self.end_headers() + self.wfile.write(json.dumps(response_data).encode("utf-8")) + + except json.JSONDecodeError: + self.send_response(400) + self.send_header("Content-type", "text/plain") + self.end_headers() + self.wfile.write(b"Invalid JSON payload") + + except Exception as e: + self.send_response(500) + self.send_header("Content-type", "text/plain") + self.end_headers() + self.wfile.write(str(e).encode("utf-8")) diff --git a/rose/client/game/track.py b/rose/client/game/track.py new file mode 100644 index 00000000..90ee2f91 --- /dev/null +++ b/rose/client/game/track.py @@ -0,0 +1,39 @@ +class Track: + def __init__(self, initial_track=None): + """ + Initialize the track with the provided 2D array. + + :param initial_track: 2D array representing the initial state of the + track. + """ + if initial_track is None: + initial_track = [] + self._track = initial_track + + self.max_x = len(self._track[0]) if self._track else 0 + self.max_y = len(self._track) + + # Track interface + + def get(self, x, y): + """ + Return the action in position x, y. + + :param x: x-coordinate of the position. + :param y: y-coordinate of the position. + :return: The action at the specified position. + """ + self._validate_pos(x, y) + return self._track[y][x] + + # Private + + def _validate_pos(self, x, y): + """ + Validate if the provided x, y coordinates are within the bounds of the + track. + """ + if x < 0 or x >= self.max_x: + raise IndexError(f"x out of range: 0-{self.max_x - 1}") + if y < 0 or y >= self.max_y: + raise IndexError(f"y out of range: 0-{self.max_y - 1}") diff --git a/rose/client/game/world.py b/rose/client/game/world.py new file mode 100644 index 00000000..e2e10a0d --- /dev/null +++ b/rose/client/game/world.py @@ -0,0 +1,44 @@ +from game.car import Car +from game.track import Track + + +def create(game_data): + """ + Creates a world object based on the provided game data. + + World allows read-only access to game data. + + Arguments: + game_data: A dictionary containing information about the car and track. + + Returns: + An instance of the World class. + """ + + # Extract car and track details from game data + car_data = game_data.get("info", {}).get("car", {}) + track_data = game_data.get("track", []) + + # Instantiate Car and Track objects + car = Car(car_data) + track = Track(track_data) + + class World(object): + @property + def car(self): + """Return my car""" + return car + + def get(self, pos): + """ + Return the obsticale at position pos + + Arguments: + pos: 2-tuple (x, y) using game logical units + + Accessing a position out of the world bounds will raise IndexError + exception. + """ + return track.get(pos[0], pos[1]) + + return World() diff --git a/rose/client/main.py b/rose/client/main.py index 556d5f44..15f20c7e 100644 --- a/rose/client/main.py +++ b/rose/client/main.py @@ -1,117 +1,92 @@ import argparse -import importlib +import importlib.util import logging -import sys -from twisted.internet import reactor, protocol -from twisted.protocols import basic +from game import server -from rose.common import config, message -from . import game -log = logging.getLogger('main') - - -class Client(basic.LineReceiver): - - def connectionMade(self): - self.factory.connected(self) - - def connectionLost(self, reason): - self.factory.disconnected(reason) - - def connectionFailed(self, reason): - self.factory.failed(reason) - - def lineReceived(self, line): - msg = message.parse(line) - if msg.action == 'update': - self.factory.update(msg.payload) - elif msg.action == 'error': - self.factory.error(msg.payload) - else: - log.info('Unexpected message: %s %s', msg.action, msg.payload) - - -class ClientFactory(protocol.ReconnectingClientFactory): - - protocol = Client - initialDelay = 2 - maxDelay = 2 - - def __init__(self, name, drive_func): - self.game = game.Game(self, name, drive_func) - self.client = None - - # Client events - - def connected(self, client): - self.resetDelay() - self.client = client - self.game.client_connected() - - def disconnected(self, reason): - self.client = None - self.game.client_disconnected(reason) - - def failed(self, reason): - self.client = None - self.game.client_failed(reason) - - def error(self, error): - self.game.client_error(error) - - def update(self, info): - self.game.client_update(info) - - # Client interface - - def send_message(self, msg): - self.client.sendLine(str(msg).encode('utf-8')) - - -def load_driver_module(file_path): +def load_driver_module(driver_path): """ Load the driver module from the specified path. - Arguments: - file_path (str): The path to the driver module - - Returns: - Driver module (module) - - Raises: - Exception if the module cannot be loaded + :param driver_path: Path to the driver module. + :return: The loaded module. + :raises ImportError: If there's an issue loading the module. """ - spec = importlib.util.spec_from_file_location("driver_module", file_path) - driver_module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(driver_module) - return driver_module + try: + spec = importlib.util.spec_from_file_location("driver_module", driver_path) + driver_module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(driver_module) + return driver_module + except Exception as e: + raise ImportError( + f"Error loading driver module from path {driver_path}: {str(e)}" + ) def main(): - logging.basicConfig(level=logging.INFO, format=config.logger_format) - parser = argparse.ArgumentParser(description="ROSE Client") - parser.add_argument("--server-address", "-s", dest="server_address", - default="localhost", - help="The server address to connect to." - " For example: '10.20.30.44' or 'my-server.com'." - " If not specified, localhost will be used.") - parser.add_argument("driver_file", - help="The path to the driver python module") + """ + Main function to initialize and run the driver HTTP server. + """ + parser = argparse.ArgumentParser(description="Run a ROSE driver HTTP service.") + parser.add_argument( + "-p", + "--port", + type=int, + default=8081, + help="Specify the port number. Default is 8081.", + ) + parser.add_argument( + "--listen", + default="", + help="Specify the listen address. Default is all interfaces.", + ) + parser.add_argument( + "--name", + default="rose-driver", + help="Specify the server name for logging purposes. Default is 'rose-driver'.", + ) + parser.add_argument( + "-d", + "--driver", + default="", + help="Specify the path to the driver module.", + ) + parser.add_argument( + "--log", default="WARNING", help="Set the logging level. E.g. --log DEBUG" + ) args = parser.parse_args() - try: - driver_mod = load_driver_module(args.driver_file) - except Exception as e: - log.error("error loading driver module %r: %s", args.driver_file, e) - sys.exit(2) - - reactor.connectTCP(args.server_address, config.game_port, - ClientFactory(driver_mod.driver_name, driver_mod.drive)) + logging.basicConfig(level=getattr(logging, args.log.upper())) - url = "http://%s:%d" % (args.server_address, config.web_port) - log.info("Please open %s to watch the game." % url) + if args.driver == "": + print("Error: missing driver command line argument") + return - reactor.run() + try: + driver_module = load_driver_module(args.driver) + server.MyHTTPRequestHandler.server_name = args.name + server.MyHTTPRequestHandler.drive = driver_module.drive + server.MyHTTPRequestHandler.driver_name = driver_module.driver_name + + print(f"\nDriver module {args.driver} [driver: {driver_module.driver_name}]") + except ImportError as e: + print(e) + return # Exit the main function if the module loading fails + + with server.MyTCPServer( + (args.listen, args.port), server.MyHTTPRequestHandler + ) as httpd: + try: + print(f"Listen {args.listen}:{args.port}") + print(f"Server URL http://127.0.0.1:{args.port}") + httpd.serve_forever() + except KeyboardInterrupt: + print("\nShutting down the server...") + httpd.shutdown() + httpd.server_close() + + +if __name__ == "__main__": + main() diff --git a/rose/client/mydriver.py b/rose/client/mydriver.py new file mode 100644 index 00000000..b85cedbc --- /dev/null +++ b/rose/client/mydriver.py @@ -0,0 +1,14 @@ +""" +My driver + +This is a rather silly driver choosing the next action randomly. It is not a +very good driver but the implementation is very elegant. +""" +import random +from rose.client.game import actions + +driver_name = "My Driver" + + +def drive(world): + return random.choice(actions.ALL) diff --git a/rose/client/requirements-dev.txt b/rose/client/requirements-dev.txt new file mode 100644 index 00000000..3a35e792 --- /dev/null +++ b/rose/client/requirements-dev.txt @@ -0,0 +1,6 @@ +# requirements.txt + +flake8>=3.9.0 +coverage>=7.3.0 +radon>=6.0.0 +black>=23.7.0 diff --git a/rose/client/requirements.txt b/rose/client/requirements.txt new file mode 100644 index 00000000..ca088be9 --- /dev/null +++ b/rose/client/requirements.txt @@ -0,0 +1 @@ +# requirements.txt diff --git a/rose/client/rose-client.yaml b/rose/client/rose-client.yaml new file mode 100644 index 00000000..17517676 --- /dev/null +++ b/rose/client/rose-client.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rose-client-deployment + labels: + app: rose-client +spec: + replicas: 1 + selector: + matchLabels: + app: rose-client + template: + metadata: + labels: + app: rose-client + spec: + containers: + - name: rose-client-container + image: quay.io/rose/rose-client:latest # Modify with your Docker image name and tag. + ports: + - containerPort: 8081 + +--- + +apiVersion: v1 +kind: Service +metadata: + name: rose-client-service +spec: + selector: + app: rose-client + ports: + - protocol: TCP + port: 8081 + targetPort: 8081 + type: LoadBalancer diff --git a/rose/client/tests/__init__.py b/rose/client/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/rose/client/tests/test_car.py b/rose/client/tests/test_car.py new file mode 100644 index 00000000..fc4faf5f --- /dev/null +++ b/rose/client/tests/test_car.py @@ -0,0 +1,25 @@ +import unittest + +from game.car import Car + + +class TestCar(unittest.TestCase): + def test_car_init(self): + info = {"x": 5, "y": 3} + car = Car(info) + + self.assertEqual(car.x, 5) + self.assertEqual(car.y, 3) + + def test_car_missing_key(self): + # This will test if your Car class behaves correctly when a key is + # missing. Depending on how you want your code to behave, you might + # want to remove this test or adjust it. + info = {"x": 5} + + with self.assertRaises(KeyError): + Car(info) + + +if __name__ == "__main__": + unittest.main() diff --git a/rose/client/tests/test_track.py b/rose/client/tests/test_track.py new file mode 100644 index 00000000..170bf459 --- /dev/null +++ b/rose/client/tests/test_track.py @@ -0,0 +1,41 @@ +import unittest + +from game.track import Track + + +class TestTrack(unittest.TestCase): + def test_track_initialization_empty(self): + track = Track() + self.assertEqual(track.max_x, 0) + self.assertEqual(track.max_y, 0) + + def test_track_initialization_with_data(self): + initial_data = [["none", "left"], ["right", "jump"]] + track = Track(initial_data) + self.assertEqual(track.max_x, 2) + self.assertEqual(track.max_y, 2) + + def test_track_get_position(self): + initial_data = [["none", "left"], ["right", "jump"]] + track = Track(initial_data) + self.assertEqual(track.get(0, 0), "none") + self.assertEqual(track.get(1, 1), "jump") + + def test_track_get_position_out_of_bounds(self): + track = Track([["none"]]) + + with self.assertRaises(IndexError): + track.get(-1, 0) + + with self.assertRaises(IndexError): + track.get(0, -1) + + with self.assertRaises(IndexError): + track.get(1, 0) + + with self.assertRaises(IndexError): + track.get(0, 1) + + +if __name__ == "__main__": + unittest.main() diff --git a/rose/client/tests/test_world.py b/rose/client/tests/test_world.py new file mode 100644 index 00000000..85de1550 --- /dev/null +++ b/rose/client/tests/test_world.py @@ -0,0 +1,46 @@ +import unittest + +from game.world import create + + +class TestWorld(unittest.TestCase): + def setUp(self): + self.game_data = { + "info": {"car": {"x": 1, "y": 2}}, + "track": [ + ["none", "left", "right"], + ["jump", "none", "left"], + ["right", "jump", "none"], + ], + } + + def test_world_generation(self): + world = create(self.game_data) + + # Test car attributes + self.assertEqual(world.car.x, 1) + self.assertEqual(world.car.y, 2) + + # Test track get method + self.assertEqual(world.get((0, 0)), "none") + self.assertEqual(world.get((1, 1)), "none") + self.assertEqual(world.get((2, 2)), "none") + + def test_world_position_out_of_bounds(self): + world = create(self.game_data) + + with self.assertRaises(IndexError): + world.get((-1, 0)) + + with self.assertRaises(IndexError): + world.get((0, -1)) + + with self.assertRaises(IndexError): + world.get((3, 0)) + + with self.assertRaises(IndexError): + world.get((0, 3)) + + +if __name__ == "__main__": + unittest.main() diff --git a/rose/client/track.py b/rose/client/track.py deleted file mode 100644 index 38a9b570..00000000 --- a/rose/client/track.py +++ /dev/null @@ -1,29 +0,0 @@ -from rose.common import config, obstacles -from . import component - - -class Track(component.Component): - - def __init__(self): - self._track = {} - - # Component interface - - def update(self, info): - self._track = {(obs["x"], obs["y"]): obs["name"] - for obs in info["track"]} - - # Track interface - - def get(self, x, y): - """ Return the obstacle in position x, y """ - self._validate_pos(x, y) - return self._track.get((x, y), obstacles.NONE) - - # Private - - def _validate_pos(self, x, y): - if x < 0 or x > config.matrix_width - 1: - raise IndexError('x out of range: 0-%d', config.matrix_width - 1) - if y < 0 or y > config.matrix_height - 1: - raise IndexError('y out of range: 0-%d', config.matrix_height - 1) diff --git a/rose/client/world.py b/rose/client/world.py deleted file mode 100644 index ef5b4494..00000000 --- a/rose/client/world.py +++ /dev/null @@ -1,44 +0,0 @@ -""" The world """ - - -def generate_world(game): - """ - Creates a world object - - World allows read-only access to game data. - """ - - class Car(object): - - @property - def x(self): - """ Returns car x position in game logical units """ - return game.car.x - - @property - def y(self): - """ Returns car y position in game logical units """ - return game.car.y - - car = Car() - - class World(object): - - @property - def car(self): - """ Return my car """ - return car - - def get(self, pos): - """ - Return the obstacle at position pos - - Arguments: - pos: 2 tuple (x, y) using game logical units - - Accessing a position out of the world bounds will raise IndexError - exception. - """ - return game.track.get(pos[0], pos[1]) - - return World() diff --git a/rose/common/actions.py b/rose/common/actions.py deleted file mode 100644 index 5d66539d..00000000 --- a/rose/common/actions.py +++ /dev/null @@ -1,10 +0,0 @@ -""" Driving actions """ - -NONE = "none" # NOQA -RIGHT = "right" # NOQA -LEFT = "left" # NOQA -PICKUP = "pickup" # NOQA -JUMP = "jump" # NOQA -BRAKE = "brake" # NOQA - -ALL = (NONE, RIGHT, LEFT, PICKUP, JUMP, BRAKE) diff --git a/rose/common/config.py b/rose/common/config.py deleted file mode 100644 index d08b2aa7..00000000 --- a/rose/common/config.py +++ /dev/null @@ -1,49 +0,0 @@ -import os - -# Networking - -game_port = 8888 -web_port = 8880 - -# Server - -game_rate = 1.0 -game_duration = 60 -number_of_cars = 4 -is_track_random = True - -# Matrix - -matrix_height = 9 -matrix_width = 6 -row_height = 65 -cell_width = 130 -left_margin = 95 -top_margin = 10 - -# Files - -install_dir = os.path.dirname(__file__) - -# Web interface - -web_root = os.path.join(install_dir, "../web") -res_root = os.path.join(install_dir, "../res") - -# Player - -max_players = 2 -cells_per_player = matrix_width // max_players - -# Score Points - -score_move_forward = 10 -score_move_backward = -10 -score_pickup = 10 -score_jump = 5 -score_brake = 4 - -# Logging - -logger_format = ("%(asctime)s %(levelname)-7s [%(name)s] %(message)s " - "(%(module)s:%(lineno)d)") diff --git a/rose/common/error.py b/rose/common/error.py deleted file mode 100644 index f18af8ef..00000000 --- a/rose/common/error.py +++ /dev/null @@ -1,41 +0,0 @@ -class Error(Exception): - """ Base class for server errors """ - def __str__(self): - return self.message % self.args - - -class PlayerExists(Error): - message = "Player exists: %s" - - def __init__(self, name): - self.args = (name,) - - -class TooManyPlayers(Error): - message = "Too many players" - - -class NoSuchPlayer(Error): - def __init__(self, name): - self.args = (name,) - message = "No such player: %s" - - -class ActionForbidden(Error): - def __init__(self, action): - self.args = (action,) - message = "You are not allowed to %s" - - -class InvalidMessage(Error): - def __init__(self, reason): - self.args = (reason,) - message = "Invalid message: %s" - - -class GameAlreadyStarted(Error): - message = "Game already started" - - -class GameNotStarted(Error): - message = "Game not started yet" diff --git a/rose/common/message.py b/rose/common/message.py deleted file mode 100644 index 0b021d42..00000000 --- a/rose/common/message.py +++ /dev/null @@ -1,23 +0,0 @@ -import json -from . import error - - -def parse(line): - try: - d = json.loads(line) - except ValueError as e: - raise error.InvalidMessage(str(e)) - if 'action' not in d: - raise error.InvalidMessage("action required") - return Message(d['action'], d.get('payload')) - - -class Message(object): - - def __init__(self, action, payload=None): - self.action = action - self.payload = payload - - def __str__(self): - d = {'action': self.action, 'payload': self.payload} - return json.dumps(d) diff --git a/rose/res/dashboard/dashboard.png b/rose/res/dashboard/dashboard.png deleted file mode 100644 index d5721938726a67a739d5e975047e4589966e832c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63580 zcmV)$K#sqOP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z008ZWNkl|gb>EM!6%jdS%~gBe`|LCJaJrjKN}{LIAQ&R{xEXltsYoJJx&8hp$d#owv%ox_X57j(sv!}ymQ{qsc zhmEM*k(rTEQ7gW&GGYb3`ugX&Dg8mn`9j1)>WcHLR;H8GH= z{&eUs&mNUJkV%rt)>zT&C)h5Hree9SjNPqn6| zZP%6V%50QG>$0Bog1Vu>c);2OZZ|i4XH(#xEZq?2to(%`bw_mxu&i>-h z{%6^A%9EZjNf2_dcXSvnm)Z%aR+ppEXf_+}C+)fl-#IJ8#FLW1bx$8(+`2I+X6B-bv7A9Q50ORs!1aHKFf6P z?I#!gUcVPb7xT)Wt_9jU<*lB69 zc=}e{>*cGfrfv84cY`3QJ7bO3O&+JCN;_8j z(3>qUGozQg!?0`tkY|&KglbHynTK#PdswY zRdsuCI4fE&TRszjlgVUVw!1Nnb`Jy5KBFw>APq4{lT`&yTcCykm*?D5%h)hZdW-{$98(uFto zU%qwhUwri|^Q%R(%<5j!@ztYmo?(;TK0S5r>g}fw^KVtNHrzoKx26ewUmz5##>onVm3 z?y%n%0+@|()K9QAnspmcUKg#G4qF$u766Q3HNRS|vdmLK+v<~(z2W4BL$u^|+JLPD zQ4)C!iZPG^l{Ch5N_z8oZpqdSWsM9%Y1(Qy+L3-b7)`Uhbhc^ocj3z%+i=w@JdU5kGU9M}>*3jgUEN>o8 zk~F-!T9UIU#k#Z!*RPxgH3q%O-s0+-oK8Y7^ifJ_bW@gfKjdCS)02CRj+s3`H1ZvX+p&vxEqV9xr#IkB_+chc(oTIMOK=ybisGY0w()SY*J|Y0B zPPafX8;JeWJIkdho2B#uN6s4CHahfVUbn=|CZ8bBbE z@&a~}oYBmNnTg2JM!(H7ZFGYIff0ZMPco{e(E=R+DTUT*M9`YM&LE0hgfV8@=WW@t<%dtI3V-)1s~Y3t*lSF*zn_YF>HBe6 zS8W?7Loc-p5;PX8RYvRXfhts~VnL|WZ)b@K2hfw8MoIWc5yj5JWf<2gpyte((ey?muG8&z}VV$x~>`l zI2t75u+d#J8OL=tAC88^oUc}qN8?e{wt6_8_7Ww~HC1hijFUkS*L9n>Vc8nR&C&kY zleAha{U~%0c8-{}6s!c@I1H#+pPU?e3NEge5}?d8-wXSLB#6@WIyY?_COz~5XPqUT z#9^N0>!LoKB~ge$1aUOJnqLYb28ry&;nSzjM#Ev-*|I2^>FR1xHKddW%&l<*ZZ_*L zmTQJEFESPm91~M(8BjV>d0AJ+tX7RLP&ZxEX-|2^INuYk<%bW>(m1$ryuZ%0>1yBe z*6T&r5i>GSUbkgQ)6g95M;A+GBZb(tZJy_8FY21Y>aMDFDCOxj{{F0Qob3%JMNvheN3A`aumvo#OdxA#J42z8B1*}H zrp*ySN<2C_EE@-H4L0wbV_-+lX@jdgtuy%unON&QY0{g6&{5sCBD5-E|!X z!PWV-M0;|OW;G$u) zL&h`!fPg;QS{ug}5u78*c(@;3uWNzKAeaO&3rAr9N`=~iag6K`kr9D`z_IXcW9xE> z5`~abdLRTjJBT7bRM&YEFx=bsE>;b)+X%DCr0>*7H@QSW6b!hLzknzN@Vn9t5m-s| zqonN|S&agXChM4)5kYv8weyrR)`fv*u`f*R`vO=wV$&III$%U(00F?BpE^qjP72|B z0RW>=04OC(r5bIzrb_}~B$hpASfH_h+7JLDFq5^;A`1dyaKmW`sd0!^r`CDZ?}MloS>ARK z9nONPDt0FR)3={4a#+=Ii*XnSA?jkW1TlzwvnsG|=XZwn#oN!Wxd-NIl7^#!7r4dh z?AoC>4aa{3;`rzy= z$7uiLB%;OR^GjW~9q4RT#s-|Va&US#O}K8=(eZ3DRJzXASC?mbSlZMJaXd|TXP#Po zd48VVyZ`ENmJSDE8tMG}ov(gnzXnvNOIX2XQiAt?E`A$6gSGQPOIse7|ekY;iRj z^p9@cHIBQ^cb1qnkcp!Ks1SthT8bmzIv1w>vH@Tap4T;vvxZa*Y<;K({dkq`+ z-%C-jHr5z-us75q%&*R0x_|flVhOArIUxlxroE9hCR=A+XF27gVpfoByX=}mQ0JC;B^{6*Y z0pq5whU1}aN+}4!LD@RbONa;rwi=DmK5{7aBFn8UTWs?cWlc0d*^_hr>UaB;cLml+E2+UckUjH9&C#B8g^ zAUh_O(o2$*M09z6;d{bUUK~Z}M^;-BPKczgi_pWtAa(wZX)=@u00`jws-zcU39?06Xgt8HF^)PEs%K`^$Cbtd@e(G-7pM=(bXI%a$!$J}s&G`T;DSuKEWzhCRDHUoCTsUWg?8(H=He zPtIL1-a{n@JNqX$`zm`_wze*HH0Xz9OqBZV`Io*fXgKW;2P0KqT;-u%QkGd)=FQonkZJ$bTPfvjWu#}l=2ZNoPy*`WL zNq)6hRb*D@U;XN(-y3yWt9TlQD5W#ng7Qh*t|^tUy}@uW-fha9(I1b7&g#IEL=IKx zdqPQS8=b^G$&EH`k>_DL%8W<0o($u%Mv{J~ZI%_S=E-b?e*gONd@!1x-Z&IMy-)|C zRPo@(K|+{z6p(ciMcuSrT?uB}6kS#I0xwB}gIjlXTZSQ=-n=*JNf5$Vr<89=bPP%0 zN1=z-0kG}}m~~qTRMv?kiG+v4;qZEXH5`w8>DE~#lwx-5IFR)0*;6JCd|0ikAnrR5 z);TG$>VRb;1Q~03aV&-C4adgVw&{wt^<~c$m(JBMzxuL@hGo|p-OR?r;q+*oHN7Nc z8Ls9Rv2wTWoT4|Zilt-AD0@+|UayVeGRr#S!YJIC%|HOCk=7cKbkjK3E%TO}b;lHi z1LdWyb%IU5*RzgVZ7f*;yT8BFY4XrmU9Zd9G4&&La&!0ca=vqPqwSP#3qT2Mm|fBz zm1P+xVOd+U9VpKbvvr?+<5)x7X^YMJ|w|$QzDkW!+k1l#)V9W(lS_ys@7ba-i~bGA+%(l-E*PAg8T8 z+#9jCR~5_FI^!T6jMjMp!m*IcMP}PNO#}$x90)%!&fE9}V-JXIqYWZ3kwTaal|MK! zMJ2tiX*7`=hddew%e=vFi!Db;jzBO2Dxs_;)7iA=bF|l16$=Y23=1F!0)!CEF0VAT z^=v08yO3=y5mBfh2#6#LWEO}73@9Xn*bS}MOR~HL(m@aaqO*iT03aYZXO;At&U9_X zz)UO!P6uILle3*vN}#ahg!0}8<*E%9Mfvzb_@_U8>%;}p#6Fs?dGKgCJ-9JVOQ_ZaJ@9>C zwX+|ja1}|;uFEPs=uP{f)Jpn6x)+ZIU>29lYMPk&QcregzMv>g{V-Z&ZPB2N2mR?z zIvRy>D!|S!+hDpgO`?caOj zbD!CN{ZvJuo4V+w-rn9`I^K~o1PD7ajzbls%%rz08f__O0U)V5qF zX*`+jmQ`6~t6mgXXNnf9yy~=_jYZpO&mZ)>P6~yBg`fIi>U*MTsBJ6H!*x~@!~|hi ztq!MwANoz%9G#v36DcMFzw#EqI-G1fu z;bc0$JU6-?4u-?wFo=D?SX**kar32@mPLz>hhC>R7r=F8*qUitPo~p#R!b%7x-?c& zesOX%D!Zs{wG>98b;O|j);Oz;021I#o!vOuSvSHNO~fEP6(waWtm%;T&h9Yqy{2xG zB$dPiuhqQHOD5{2!_X7;dbKL@`?va<&@g&_Voc|Vky>MzT{oDWG>ykL zL**;!*UM|)CyTz-+Ef0hr>rx8qBSnBS|%4qfpuI|Wmy!499!cHJ>A)9yLPmHSZ8(9 zHnW5Ms_A@B1Yy6abLl76GJpf5&bXd1tmO5o9eZS0-H*fQYi+ zi}JDoAc@eiu*3kiZ7o=HwA)KZv-N5%5IXIo@A<=9U6}zgF}Swg+wEU2D-fPG!djEJ zY^#PCS;b5Q;6{^?q12kv6X*y4!25I+DlZ?OEe6S} zKlxLKPqNFZtlDdRYxnjfq3cE-zWGL?AADs|*do^`{k(F$r041LXO~^n_ft_STh{X@ z-+EZDm+Q*)hvT7iZFX_7$h+OK9IMP4kvDC=Ty^4LH0^s*C<&2tQ2@z!I0|gfbK`_{ zojZ~49_*O%Nt4Z~$y|1Jd7h1L+y>jU6*auW$;M(ho#p6fI z=)Mscq!mxIXk$D_U3q|Pp-A0O{}+0vcaez}-~KkUV-tBX+BNnq>M^>URP$066f z@zHX1-BnfH@o?C$n!=9;!c=X?2fOjr#Z}eR04TwZf>y8{Psi3VIR+JazKG%g{pi`V z^I;O4U1q&OUy*igaj-ub^!uxd%Bnd$IvCH!`Fd`bXO2V#epT0@r)NVoCew*?Fo<20^a#UV8q9XaRkdz)I~X4}Mc%0?5o=u&@pw20 zJ$!a{Wr=D{Q8Jkx-J0#}DyWp_NiS%dO8OxJ42GlKS^UaNyG`A-U2Uuz3`Vo*G>N_S zx+?R`^Kg_#Rlb}KRS*v@&M$_Z?z*b!^!asmy{fCCA-3^g@c8NVAjEh$^poNG`f|9l zU*b-eEyros+c{n?+M>vO-xI*Z`i9V%coa+dm*Y&sKAg1Z0Z(_(NdviCI%q`40={;W)}p0V^v#g z2II(jWHqr=p>e(x8UVCrL;#6s$eOCv*7GER+U<*5hofhgIe;Z1DOD2p@~W8)z!0$9HU_P_TqOTRAby`8ti6SzIH&yp(H6pkoJrLB}hm~jsWDhLm42k^F5DXGZG>| zK%#y>CQ@vS?@Q?gjyzz;jDh4N@jC9aGYk$vFrq*Na>lx@wWAbN(C=CY;I_TXmMvSh zd^%E9$kG1DUVJO}Pj;r=)AL2yPeO;G3KIdHiqf&q%g&D?&Cc!Y%|<;HDOk=|Yk2ec zb1%KzdwllJGH=R7mAv}q!JvBk(X&eRlE_rojb9oelfi6vWSY6{3hQK6Ro9OnK7Lw1 zp2K-DO!jX`B~^d#`1H=sSeSZMYEO8B*4oO-(I8qatI3@&>`ViYLbB`1tZj`hyKH`S zKA+F88qvRP*-Bleir+aGx$7;;$i=(9zDS~k+3wyrKG^j}iAz2IdX-ZQCSi zROWft>CyfTKS~LF5v9d?Q7kT|<9-x}$i_#?mh*2tdJ2fBby?K4)}AD?_V2#(Y}v8| z(Mx<4M4dKHH%B*b?46umUFBArs$5NXdT)R0i5Kn;Mscy8b6aJrtZCYtCp&G|-ne%o z^fa(vRaM~ob>~PXP1AzwZlCTXN~bBA?-`+Y0Nm-7{&FO=^G5z5F*_UdLWtO0s2qoG%Y&@$pWys)}dltGkE8WYk+NvcYuUOOH)g2cf5pK_K6wGB2d*mdk~81i%up z%uDNl8JnghluT9#-rXHq#!jQr?aA@@lRkd7QdDZ)_`d48mQgAdSZg}n?(go5rnlGYISNIN99e5k5cjPSk*_sd z>s+fD9o7wK-AJkOq9jIZbR5FE!8Tj6bECc-30z?=oX5mK_v!>cX+tJT;#)1Vl1*V0?~P1k#_ZfL z5b##2ZrQSB%cmq&2ZyhY#=ZXTB(OZM0X?-|UZ?%xa1<#vWno6M-CpEa*ZI1uEe!(X z=6YF8U-`nxQS;8c9rgz*pRWxDvd(kk3xuZaw6y?Y6dGM!+q#zFaiKfoOd#CZWi2MB zZ~W{pzVgcMVRY#k4IUmO85U2k&-2QOUewjAYlnX5V^`M4cXnUh6B4b-FUqQOEd1V} zbs=~u3GejP8*kn_tc&Hd%lz=(YcJp1pB?QU>?P~VXO7vl8vQg7sPue(xs-!r;tpkc za6Cp^4m^v(DHYhNUKdtt>&vdTgJc*LtGN&6s_Mmq{_^VDFe~)Rrta}7^5A-%kUv%d z=(ZiE%CuEomxniwUVm-x`q9^g3S*_Oa|J<+K(oW+;~Pik&(38K&L;ghQ0tnL-Y|;f z>#rPmXsr{#Y$;gf^|S|v)81r|I+Itc`C`4+P3?>p%;5EwotLlIfWGrbz40zNk!P#U zVt;41%opR?QBjt<%y)M74ESj3lcW9Ku(!_UMOJlXZJd4i&Q8cp-2%o5$uL`8bJqZa z$*<;@i{rz6qjeBRK@cZ{#A#F2RhehL^s*vf7fm2#5~^0)aX;v^D)W`^dzXt`$ap+E z)LpLFjYIR~?Y9Bt&6_u$oEP)u;^kLPMZACh_?@Gjq%{t~2_&QI>CnG>?>Nh>b8Wwu ztX9h?NsY0~tTb(xP7lwXUHYDXeSNjMzO>ffy|H_IoC-Bu&DR8tkgCYrR=28uU^(Tk zU{;-WAXo}P&N6Tih1QtiV0iZQj9oLD?l34MayCt) z(au4or8SkcR!Lz=6xmW+u4<#5)178wB@uv(wZ_sc@%nwr%5FLvwFaX=T9UI-;6+|* zdtHYTI_D?~y`x)qih>YYX7GH^5RZDXcCsi-8HU+9@1?`KVK#LX#!cHfLJy#6+x5J- zdC=>e7UWiW#kQLbgK)f4td^5uqJ*b)*=Z22G0dAq=+4=9BPuyJn$BvC+G>dc0DzgC z8w^Kv2hP+i7*R4g26D_v;7!KEbyhkc?Eu^A{@wAa8<~3U7_4zZqH_c+d?kDjnWb|K zY!C%AGhrOaFbe9rb@0ghXq{xTfQW*LVJ|`16Is>*0}B9_#01Qt?-ve> zT1zBgV3eLfDZn}72mqu2kV*wY#2%H}Y?g2VG6PElK-pQ>8Os2UoRSg+C{J4B5ZPH5 zC?PzrX^kfZ3gL()3O@?9Az*e4ZPNyl!Z_9%P>R;D=o$iM1RzErloFT$5Cm8T;~a12 zs&3h`Wy_~1Rd2uY(l97owH^#muAkIx+cw4Jyp$k1O+v8`T2awut5qF%Y3xyUekRrN z=f?UgPxJoazAP`EEKB93{iNqHAla(zJg;}BKS}G=qPB5GI37p41GH7OtkT)(4Yxku z+36hw)x&q5Em}Vg^yQPQXF07Z^7=yovcxfR4W!#DH`QwW?7{id`Fv5GT`uaX>dNl$ z?n~1oU!GmCu7hq7`KC2a+0`_`QQ{?%^W}9>wZ_8EZr^wL+uwL})$HAS?MAzL(y$Nd0ratz8b}%>+;U_XM58D7exiRRX1L`KN*EZUaVIc2uxE|ReE4PF^#%@jc(6r=%AO=h)VDBZMzK?_yqPt-*EHVQPMVH+KB}gM+iHaxjbr zlY>03fDIrrI3^cGao09^)p|Xc2_oUwd5*U2j0JLSU50TWlvi~~)(U|Pf|;0rfu;0fsf=l16Va4eDiKEM&TN>K zLbod+Fzyc>giaeNKndxr)y^^zAXOS;+mNzZ-U((D2+Sw|1!`@qHfgF<)YmowY6%Dd zgHTniA!5YMT+vP7dPc^bQK;g6*EnX400PCbFkO|YAOuHY6iVMGM?~y-ij4C@sWpc_ zDnHQ15QB4WG)N2~fI~!WZP}PGkWzZqIY7ZgN=XpHk`*ikA`_EyOiV=9IwoQP5&)Gn z+95C#Z5+bLECu*Mq%AQK0tj$n5)esit+q}{;ohAlD`*o|6&1oJ(f}fCmFku)Tef_9 zQuXt1p489Ye*9#4_GEdUdGjvxqA3WAL2tUZPqtWJKe>8RJ}GB%7>{Gm)nygG{Hy=` z7F|BQ?#LINX`S}>cZaskI~LMb%g#T(_xk>^cTu!aZ#L*rad~kGT|Ljj{=sgl)ULU!|OTe1*B z8Jucey?Q6@HBTEzXG7?gmxb|tACg|*Gv&e24dsWd28QfvUaA0RyHnv0CVd%un8u>c z=DN)*+dsa&|M2Yx!@XOH?+5+9>B>P8hJotpqOQ8bgGtkIRdr?ChQ1glu4~Hcb!UW6 z)b)pxCl4O47iHU-#<$>jl zjd8xX3Oo*!m>k{AYU=7z>lOutaSu>BW17yyfnOGjs;rwbfBm)F!%_eG>Pi5Lcv>~i zc9jZzZ7Gcc(-d7cANNG1#e*l;th?K{Pn~VFX-1R1B3~aJ&z{WJ`MR_KgHfFJXN^<6 z>50*ewe4WCzszjcnIs+Pu14T-KfTJUwxipVF7Bn1y}jkt(sI`|Zf`f0p31K;rXyd4 zF^JT3t#b|-(sa6>FQ$DH0@|MtUFv^EshTQi=qTj!b^15D9J>q{A97J zs%#l5dw958+OX*ga_;5(_v%)5b*4PuSz^E>4X3l6BFlGX2@994OV+eIiyxn_bXyB4 z4Ix)+6ir!KVD_T$I@d+9j^iW#_rD2P9{xJq99^s zA|-{dl-CsyU?)aGS4r#z3cN7v3;=6m$vV4vB`%~~m!_$z!5|gEP`5RJkOCQj95Hj- zm|L>|{G=?iIPMckL`T+bW_fPR4FV8=kiwCtNE2A8d}|Q^2-!Jc>i|e0Fp~;=6lj@% z37C=bR7#j0BDdkb#gr$)i!PHAvPVG6M?~Tdlff z%a$#lnpB+*;-^oFYubr+Plh{_gWb_2YEtEz?9ys;I95;2ljzp{SMKy~44^36FjDOJ zAg)>?Omj7VdVQVwv%}b|o|R5bCULc1b>4J8ZO)&Xa55X?)%xn{YHb#U6#dCKH4@9P zonN&{)C){mt+Tvr{QkkQAR8o!5??cA>P{=2~SvU-PI~Qy!UeI@%1W`)U2+{WvQd#K!r(GcKyWPO|>-TLVIOdiT?h{ z@sypnzZXecTwi5p*EQIBe%&oPaMq-097mCH-DHpqlb}CL`u$!!7+gPlx}IO&xp|_A z>#A+7qF#Tvq4&nzCaG#K>csE4M!Z0jzGN0xvn5K+|Ri@p7uz8`0+xm5Dv@#V$5 zESg4uOM8=167_mXG`mH@&lcyC@qnBo5{E~V)OR~O)A4Ljt`=R_E{ZA&BH`R%XX^Z^ zuZ$;ZKk)kf>BZ$!8IDOtEYt=D-`M1hy|2J6)l8E)O&XS=?xEsg2O(zzY&zRX-c1*j&v2@wZ z+c$bi+%;8QmpxzYAJ5X^t}#&8Yk@+jP|3gx@f+WIR^^MGp_dnR+jW4@tn;?%^0u>0 z*9&-WXSgU@Yjoh@&UDfn^{ho>TW6?j8b{Vyib55|p=O+4F59ji4CC===pd;ZC%B%@ zCXF^iMcFcoCH4DBk!6$V*oPJc8H-E|2tg1kfXS#=q`C>YWujW@#Jn0M~7>Pja zA}=P>8bij?Uf&yx!mI0C2>=8_VJyd^iBWwbnR@e3isW+i8g`mFhYJs01Rj2?E~`l66W-i$%q9*nwOx*XhyCS9u-~v+X*o@pSKIKh{M@FpTr_uRVCM9EZEF9Nv5F z#-Z=BXY=#wSu>0JAsbe4-?>f%D)DH4f9MIB45lZiqqsg7BI<`-I5|yK^X$p8f!Nxj zsCn=BK;_>!d-7y-uy;Br>Sc~$AfvtEtT&5oZxDB_?iypGlW1~)R)MO$ z%PdF-(|$m<3?+hDF3-=e7mZfQ!O6*DoegfhJRMM$=ca5;*RU;$JoC`RabVhVcXu~P z$E690+(BP=P1(S(w0@Wl2Z?)j*&H2=>ec1>v+MJPZdx6t(b4`6m<&y`SQk<3z52?{ zi}R;p)C-0;;_05Pi@dDK)RL-fRge1SrI&71Zm_s`YMRXGrXTx(FPnx!&%+=&JHKq| zax(6-GgXxz?!@`^)3e7H&YI(c>GjooJniqyrcJ9_!`c{QI%nLxAQ8r1km#-n;$*pA zDP3o)x^XO}*LK}vxz@&>98JR{IX}CMlE~Igxq8}*MOn2%dN1GE&lXoI9+Cwa_4~sK zup=^Mr9DqM7K8Dus@q!} zoo$(|Gp^t3U(HtmH{)UNYURp&G3v)>j~^e*WWN_YJztCl$#k5c9~M>9cD6OH?PRMh zvXwzkL$9-12((sYRjr$RJlSp94%i{NUL^ayuqw)=KX&MMUFV$Bo$;jbJU=TdXNaAa z&g{;jo#UI=*V?p8XAL`JQLt3`Y6S@3?A0Pe08e5Z$B4vinVn!Nx{e3{8G(~Ha?WUL zg%?;7?5sjSL}Cbii9!-UTh*p(;w0@_Ef7NAugcn3og|TS4wyS*(9&w1k?CH&wO@9k zsSB;m!EV1lJGr{Z5S>(5)SAJmaMm@YKn4IIL|yBy?Se2dPNPs|-4Z)TWQ-d1Wq&#; z$_`xD>!*x8+qFPW`azY~J7XxUpRe=%zU)u?^LZh}CV~?J3T7t|3}ah&2rx|f`0nfT z>jt@!$_qVd5t`QY)2QxT+qTnz0-?xRDUq3DUycuts)7|-V;UfK&W2G)rs<4^&13># zPbxswT9TT7cV8@OLJS7MfFcT24 zlT1Pi5I%wv2&U7(B!rOCV_+$yVn*Sl7ce1{Lj+=Sn>ek=o0VF`49tkA2nIb-TV_ju z&}t`u1tK5-phQ8ujaRj0%a$#ll2qNFq}k<_3`cQjtH!T2ySgY#)^d6<_S?pIK5FOE zh;@E;ewI5GtG<78x3|u#(ZS*2ju*JRSuC&H-JQGld*kWsINfR9esta#Tbw_>UhvB| zfBI+Md}VffPxso#&&~^{qQgBu!7dr^1RlG#3Bn*-6;9_}Q}%ovKwTEKL&_I(KzVd< zD1x+?QoUMh;~njdt)+`ay}qt4)^1ssrp)~$I_kGio?JxGpl!2N9`&O)Z|(FaGbzpW z#hGvG%e5$-Qp)qVzPKuk#iA-ZnI?mzYr0!|sjIKLy6^=G4wC(QBJx*RQ#ZP5+B~;@ zn4+t8`f@l7$rcYETxHA5l798x4p-~O`qSA?me(%WCvP~|zb%AZ&CmJ~oCNcCSmw*7-WS0z+{x36$;y z7^l(s#RXa0Hf<1vWl@xMQ+CpklVsYqX&XD6&Q1>Zq7bZgb<<3C4#xY35@Z;nkBqJW z^zvG&u-|oge>ihaH;rb7Bn)~*>%vYW#XS>H;-Eei?xgb^>93O+H_UvNr}>H+m?a%j_($Y zX{y!H;q2(fjjO9mDOgBliP}~V`lGyP5H(`BTFtXnp~7e~nE}YA$(ex>P@--+V=XFS zELE*8mf7JzAKbq8=<$U>uuMvMS_@+|Gj+x)rNSsKi^B6&)3j};jp5D+GDZLrvqbC< zXKfc&#iE~hv+2a|9hOCgY?0YIOuYqEQ~&!oJ~~7RV@ODsf}@mXfP{d6ph$;wjdUP6 zT96VcC6$!!kQyPaj1Wdhi8x_&57_pKLUJF{no>V5E8PeZ8f1$WLXM&S(uW!0SJM03xSO z{K!1^tkYQz^=8F-?BQrKS$>X5`zXs~h4Nk38gR?{qFwD>QnfwLAO+M-*~7^u_YGYm zlWnSh{+1t9Z#^n#1Pz2vw}!CD-1M^GNN6pu<8dui#eCV4>}35qL^{~y+`;)UebAXQ zYLxw?@^P`hzF9$KBVC2aRKm5w-NJXd-q%uZ^vhVQge6z^@QNI0398wZkX73wOYc#> zHxQ@Quxr3IeF_3wb4E)WsGM1#-S`ttxr@kYm8Zo)Bupfv+T;VF)ZfynK^08@Vq(IW zi&BRV*tk+``Gq1=-^Z}omK>=!k#c&Zdy!~<9qMXN`(M%9S#v64(rhB{G{uP5- zZrSD_>z&Qq?HyHDoeo}jLoQUl{O^>YbUXW?iWSt%e#=Sn*lp2LL00bG=mufsUiB|z z&gK(-g@aM4MH3C7TiR%fKsk+djOA?BTkMpaRmdyLbi?K}^=0pZPZ>KDitiBIsmTnJ&wGXY-IQ%JfSWR(?7o zqul>xRTcWi&irw}SEm6XDhK<=op`4Qt+;-{rmitV_NeB`oYE9By|4GJ==%%2;r{+p z4L4p{XagbEnKQ#dXY?(9d^)%WXrZauv9i<-22bGxUusGFcpL#7x&o{8+2JanqI!IoQ z>+Zzf5SqBX)v>U*{sZ3>f$e+$l()9ovU0!OFvh+hhfKw}wdw8xuFpo2g)X3b7Dw^L zsl)PnbS#zO*UWSMI&()&(4?~H{DM_wmW=}9;-51!xm??1A=oN6k7ILZq{iw2dy6iu zpcytEd-OZMg0d7jeDD%tSAzLS@>i*JZXrf=S*MoTNUeYZ{vxPIj z1~^rxnuIwM!p)j>hbM$H&>;*AF`_J{8~ts5!}-ZhhRduBBNfTTUqomq?OMG8q?vbq zM#CHnIVnM;w!$Qww2qZKrK^*xi5jp*kR6J?AMYvpR#r-|9{bHl)2>@vxKJIf<%OuT za`l|1<@)g9HiMuR73|HQGR`}u27}Qc6|3m=FZbV$GV?9}9oL=RZyjV-6ZD@+iK{r~ zGyW}$3M>VmP^$eHyhic)Ms(<)bp32W9Am9}yq6uFK*vnj1pH=HnebKaD9!gb)2Jes z8@$qInX$Oe2MjcFn^emuukL-2bBGD*ULKw{H=iP<3p+cu(^cnW$eJly)@Hl5DvbVq zE9`1qae_vdK&%+({qVRvq^66nB= zMkf_krrp1jYdifZ#&3Hu{zXz=cx0D(`%&do#Fd4ij-1J`66GuUso1(NIpeFf8bYmz>8fS zBd#A_=LzVzQ8RpZBMQHpb>DM|W>j8=`j6OgqMs(bMHb->qm z*2yMkjI1S}a;{z2kKZy>qtj&L*i1yLDcsp95+k`iz@$1{l@_ka3M;M16is|*GC%e# zWd2XcpTH+g7CT#Xl&fJo${u6L&fGvP_>_xGUh~|R?tq~_Gu2x+wkQv%EZOfP?^#w| zjkY&0|9u>N2$$JVbEeyof6Yyv$F@@xp>NS>`6c@yos-E=SczG}rx(~MPto1pFO?fB zqK6TJi3RG9=2JWORmO#qQX!KoD=rHlztMjyum5Na9pUOZ4-?%N9T@-klj!nDV7*13 z64S-51yKN}HQes^O=4`A+mt}=o!Ce* zx&9L^FwlGpoB5UJ*6=g(+->S{TAD5ciV2wkkR7|sR<`zeMC+C8Qf`iRr+46l2RTo> z=pMg%EiEzQI$Tlyc3yxCyqz|yqU9agFH7z#cw?E+-BMue$H&d{NkGAdpI=>c+Qbp` z;dWscZ!DeW!c^8j-S44~>BJLNY;zvCXLfC`FHFH>Rmk$EePuP}-ddP(?Rqk^-u&2q z_TG@;{dy2zq!M(WolByYhn!rA+@Ys|W6y!&rWmJezVu<#+Z?zcGXn*uTfVgPEov2N zp*{zCL$0UPuT=X@N!X$lR~?+8Wc3Wx)YMP9)UT6qjyW8V5PUz>T+W984Qr35G{x&W z#s&L_w%s!$Uxwml<>+&#(J)cAzH+Li*O>w#)k#Vd57kU8E$`1SZ|7u08-tA;O>X{D z^j{wxk?N=k@eNKxV8?&Y7A5Few)*j!x7EzTr`}J^t_sA3N3Tu>PC9eK$}e6u>%o)L zEXH2Jn_Gi00iLH{QF?n9zuTF&b~xgH3M$j|IzM;@;YXu}j56dO!PR##D*xp#ia zzD>&aXGjouGpRH)06rSpYCG8h5g`$G1IrG*2z5t=_2bERz zK^9To-fWQ)0_SnKe5}@*K+g6|6D}wu`Cc_RI)5H2J*Obg{Nz|!smVAJ-%;igWoa(tw+9A1-U?=)MB+nfE#vht$ zB61L|yYp+Eo{6hqEx=i_cGESysVXl2ampZld((ENI$EcXuJ`3cs*hu97g=5L@PQz; zL*QhcV1_@RD(SzcUDl#z!u6{u1)_U(@LLowO>Q1w4S{_YKMpFGc|SK!#}&Zs-_|Ac zjJ*oTSxbLXQdzH4(l#dz*`S|P&4mAnlhzt8yP9HYa?9RQcA$0pOiV3e-Mg0GyTcNy z8EBX$=lzn|(c}(QUFk?!8AbSxke*UCI8BW*ar$Ewt8JF|!&Gjz`x$XRLbmN*S^5pW z@)7t5OlN@`-L*?E`pQT*WFPg+zT}>e>}WBqxDPqz4`Ei#h?C(a`}%Z38?w-9>Fi27 zQZ_EC^KFIjZ>aCcslB9hoOfSMW$P+Ts`m{l%$p5Q@uVDN1 zOx4!IozwF$`A&GNanoqyxA;MF6;`T+)~3o5Qazz4={v;}C+upQ!k>Ib#Ta@V^n|>x zsfT^t+sKL2_ML)5j@ZwqO;k1MNTm&WT3X%RH0Uf?&#GKxZ*Ws{YcS5fpmqrFM9qEd zcA6Q#gXN>?eiAbnpUB3^O-WAe7R(o4Z)zrF_e)!tV)JlYP^7^VM#IGSvTP2%ASRJ- z-DSy{HQLa6oe93M6>s;WvrzYw=%{$O&*l|M-%&%Q58PN-Lm>@dp1k)Zi14@Ka7L8ykLWJ8K*D zU&q4#*OzJttH9Dajno-Oo3|dFwf@@k)#DZ%a#{UkpS`uIBOvt8uy(jQ&hu4}?4I{$ z)$xGy=3`v}?qb|zGb&Gn6{?xD(Wh_w!f_Vv^RZiobGMIER(NZ{8T5D1IR~mfL6R)-0i&-hd>aQe* zm0wK+a`lSk6f+-U%_Rb@>nn`SjZ$(JS5_9?G8v>7eDRiJdZLgghyczAyH{t!+EP>+ zauID1c8#IUfaH1Kt5qE>_g|RIa}+&VGPf}2@93^@>{nop4C)XrraGUT-Sl3NoJ$N; zEGRRRdV*i*?Jc`MG8fhP(=aV+AAlA!tCwC-zh2hh=o+Oi(@(Z zk^Y?QUr(r3Md?UUtjE?J!zqhSk~y5MWkT|N$*luPxk78_y|Wh^cN3XB|L(0~M{610 zmv*!mA5o?V9`;8xKo^q&#{(4fQdUMsMYoRL&y?5IRncOCFgn6z*fsdV%%b)4TT$C{ zyonQ%_xIr}0>bU1`SnViZwQNi64T{->$p(&0h+!u?1Nd%k~Fjeq7|$W00fRc>vx-YW}`-U!UK^5eh#}}IHmE0ppj8XYb&dtMbIdaWFDXdb$u(#M$Jr=sy<_~X-pBVJAgYl%1 zGhNH(Z*OgR8J#h#AF&xs{i3^o&<#p>Kye7p4l^c)DMY zOC@P2R!xomB+>Iv_tP_#(k`+Xd5W~ADha`xavL+QS)<8mqyx!P*>nw8;3fJqb@0}D z$WH0PWEKXU4oehVO6b`c1dDEz^mB1LJu;O8))4mQda#+gKB5qA!Dgq<$e8}E+=&y_ zO5n0fIehc=PUuKi?M;JZ&W*_Z)=|w(O`upezMCwpFZfk56^FW*X`jAP`UvV595J@!(CBvYSlGOuAdG`(_8n5 zmnIw+@~QLe_!0lyq1ksj!6GKoj}`NgkAlzxpe{P{7$rf5+n`zI7h3P?4XCx-{SO*V zD6kdv!U|TJcCN95;xab1v+t8w3x8YAqLn?at- z@wlATSC^KzOYkl4d$_Kay$H=(pqA{s45=%Of!u(Wn>IW&Ru&cn9WxEgeQqG`!*Kei zg6G#}APrrv03$`MsQUGP*|@aGWg%K4u=dxG&+Wy7>zZ8F zs~P(pI`Km~NNh}M>Jwl9sQ%rAu|O1qfp~qrgOBGyzE6Fsy+jy&loD5VV^-+SA2x|@ zhw@{cbCo|ou==XpzAplEf2LQ8nsQI^b({;sXR+lunxvZ{Jv$n;3j_J#&3UGGlNL4X%-bLcBMFrk@kCHbc! zHPl)mDrM-@duz}_?5p95@1w6$*K%7wB-oUsNS?Me*XP}^T3TQ?SLkoSNR%}_&}~js z0yrT;i7zeclZb?pm%l}L=vYQVTEA%+h)(74BVAJRx2)Dn2bRd$^Q^uEY&BG+C^fa* z^d9d@t!+9r^;t0)a3(I{I4v4jrZD`)^*G z=LCMjBQ#t~2*bt*qhn`;Dav9h8ngEL4|qV{ZkOp6dJcSxZ5A;K;sckxe9E(X`}&~KJE zH)GeILJ?J?2}KSDM!&4_e~Zaj$mU+mQB2(V(T+QX%~PwyU`ief<>fVMdep&W&oDAl zu?bTF%}|@gCp(11?>jo$LV49`zt|9#?|&e39eMJ9^hs$vq~^*6Tc>Q{dfjP>^1Xqs zN?N!JVa%_;tAFEOTh?Y>hwfqn2`BywAsP=9iEpK>)&jHe2Rx{e_3U|b$AeJR0n`J& z(=iBKLUv*(UgsvnJk&dp-&@QI(U8N{I9vkU6KFOXh&||_-*0~@j~qOh%*)$v$G4xb zUYxI<>?|RWMO|C06(VLKhm^%yuvW_=K<$Jue0%wUcki`4^N(wjg1=@zetY@KH-vCJ zPv3bqg*>00Uosa-kJq9OS^G2)k%ByL^U(Yk2|`_0&oXOH%oPd08^{Tw5qx)tb~Ao2 zHI+19P=rOKHITZJ>jN=dr`{+{*tdUIzKE zRJko%nE?0Yv5I6c&;kzb|B_iL-R7#mF^ir7 zzG>Pn%A#cPXZq9mFxDGOi|MId2Sx8f=AZjH?9pn(jc5z8ONe?czhqFG3srh!FfAf8 zdAHGjiYHbR^jMGS(>fbSpmw0;D1_40w+Zs%2HIUf~JtO@FJa&m2LZ36=XCh5Uju2$!B z=+5J`>Y%lOdXwDj?2B)D7vCJA=d-|IG9ExMJ%?ftfM6WXKNmAU>NJwhk&^olKX)j{ zbUNo+9o!%?GZzE!D6iVa087k@XG1gMRe-lAW_zK!<7j#*1UG`fqY-9lH$Rc73n|k` zPKPs)Mv;28bJ+hLo$B=f-J&K9WeZd79wa5vm;L*A*J(!1>Y)tV_$&^$w$^7; z8?@aUsGM@j=pLb?qV*MtM6C8F0EoP8+j-gtAskr|k9yzGBiQEbGK--nKG2g%D1OqT z6ZhAsb3d&bfydI{ksqwvEGYMzzYQ>$Ew=%ZC!rciI1{L+Fe|SGHbzC=!MnrnUgV`z zfjARaCnqNX2);W^5|1(vCm7-hQ5uS9|0pEP{1hY+9*Q4?wgjFckwLLd>Fekl_S+t zVN=&}l;@L$kx_U-Evi{tz#$emWHaKt z89~4x2u6q_BWT&xqr<~PFk%l(9D?EmfYCT@tFs9yB<_bi3R$2CRmRk9B>`U9XKa$? z(-LusPQn?M9V2Bf+c$$pAHWaDNI>Ew+?=FZO|pjykAP7n zkj#568oM?B1a-|E`{z9YmevW+6q_CtG^j>~l16c8=#c#xmfY=%n=5oYPk5c>j%{Sw4k2~_Lq&hgef@~r%SAL2QJxC04Z*9JuEVuoeW_Yt6Xqz{!j zxD1vaPuRW2S^WU$iKQpB{i~vQ}wAyw_ADTv}OOYzy)w_#yHNyz!QwPz6 zCURaYYPQ_TC$NVHzt(i=_%=Z$qL!+R^88@PN9r6%!3CC+@9$q zxM|*2aphV|9(U5uJzH|k(DT1pfFj9)>+V?SpO+f<>@-EE8RX%?K`dcJlZ}3$|I)b}It(@d`N=j=q8k{q=siV@W>YqWcJu4m}-#nw5VWRio;5)p*=Powd^lgkKmg1XR=~9TYTHVs27P_TP;X?5V2sy#AE-HuH_{A>ANLmHBB+CfNsWFEUi# zJs)Pd6-s^$6cvtYC-kF&RvfFqaej;bC9wIO8hGCCd1BI3DaXS*)_+$#PwS!Q^_Q9t zK|m34^n_*lke19}m*j&G*O2k~|Ngta+#P}8x(Tg$0d0NX96XjT0)5XuHt_bRANce3 z)>e05{&^=_vR%p!3v@PxeCa;f3nK>a4D37(T3)IXUJSt~--tvWW08NU?oMP3Ik&I9Ne^uOL2Vpr?LZ0+S1run zW)pK)v5~l%|2SZRNtA?JOoBQ#9L+A>`^4e><5Zv~9&5lU5E1j#*mhub4{~vVTIviw z$1Yv`1^kNK0S5$;2l0vI8+f&M^z7dT{u&<|zHq6;4h{~iaA{Wls|ixM^8R%u{KN>9 z2l3d0xVVE~1S3!TpclQ+?{%AG9K_zcINN(ZKzk;%oqg;)2@x5wY*DcHH_Ia=X%$_` z4zN0vPuE$8`AVMxVn^4SUC%OjElt>rSWUzrM5@5G^n_i{kXqjcYbGy-ckylf;P6n2 zWJW;-3J^#|@MWExV%uO;eaZQ{nov2nhEP1&P~wcvfLGkAw|{h3r|Q$s)7LD(L-s%8K>KRUH^;F38 z>rPR?%KUX>#Ck@^`VrcSs7G9f;)n7shUmRr9`=$!%eEye4wroDqA)z5$9%sK1dmFJH)QT$b| zI6kIFo4onN!a3}t$+z{$@Q2rOKC`_cf_FxHGj1Me5 z<3`T`V{%FFmHoXA_PD)iLBPU=tYX}39`Wnwj7JDQY&`9qN`A#$6U-Eq5yNmQ%91c# z_L7rCuy8Y5UFq~Z_&X!Df~u9*xJ&E}b$wXscIFS+yX9BwUOFsYY4B31Yy4i!8qYK7 zHK{*O^8OYRMSg9jNT3$}CkFBRboZZ`2g3FG;6Xv!@00xvB1H*F`||7Mj@a_@@=Iq0 zN<4rfhy?tl9fEW^PebX5zpXCf5Cbw_w8F)97oj@}J5ui#)j;1u?CbVpF>g$a|8kWs(tXG*F6 z)=EZ`i;-hWm#k6Zk^S9f_$-gO&Kt|27|@XH$FWDvQ4WEcTt!5N;gybvFZn9UHtt#B zhVkboh!t?iN@eq68TO2-Py|1^b1{k{UZ98>#C@xWB+sC}yftYh0J$jc1!Y6wDd~ZM zf%C>(zy*J=?z38#M%a8g7Ax1RtLKr^jvtkob@$1ZGRqJ*w&B-G>3YZMt;uv6^2@1h zh>wAhTtp^jh zDu2akP@Q+RF6>@G?q2cR{)I~-?m^v)7YVj|J48HkX<-4s3MJT99t~`4?i98CClpWo z4i-ep=a!Zb%56351ozo}9?|SzM#mM6bE2hcqT35n3k!<{>977ltIIjf9Ad6Yp zMD--BB>!<^jsw4Uw(1IiD-+v8m&UUiXS!XR>w?f4Qe;MyB1Br?w4k>|KHyL=aTW0N ztq|DCWn zA9VuKp5}%(mN}};kNk*&H|9xJ~_m?IK*9L_Ah*SS^;13d5W<^%x5k1EJuG7lwJ>nMwBsG6WT;#c|IxbWDSXTPV; zt2Nhdsu2`qpF#Vq4f9^hgE(;fc)+@(4E@1`Y-0%ffP&!==kK~SoXEooZN%vt#Ay(H z6yRo<84UtHLE{r@GwSEmNngDrLhLIgAqEpuog zH6p_&W-7sTdtK-EaCrNW-R17B`R1J^B=IteA&Tm(p+mONA;&=Ufh3@bbCN&aJctF; zJgVQax~vMU{4bjcaerKhYVXHd4L z^QYz{m!qV#J`V2to=E-ip;yHR<+~K$W0sjSTkRb{?}zIXizn9;QYNQdG*$DIN(d2} zU%>H@QwuuEY#tMuk46k3_|-5!qYY)|sHtcQL;giU=`1GT0bU7ri{{kq}=#Rp_5Dll`)B zoV+b^e(ub!@nRfeBL`F(C7rJ|7pp0t6%CgemP>*yUHn+OP)s|PLL5j1b}U{-1nsZ2 zXJi#GnMr|Lu_wk&1c1wIc{N|U!%Dxys-`nz&D#reoFl1|BLQ=DLsNT3SJ>V+JvlC* z63khb6!&;x(h+E)r0TX&>^e7g5~)&D_?$M<&W3V3$@dY|DRZOm<}rOt<@q-?eAfp4 z0I>OhCL2LsjN}E#Tt=!^=Z#k9mzRHJ?1x`RGYnDT&@vjyyvQQek5_T~fexX5-WV+6zSPJG|Q7T!@v?!-IQ_2k+X?Cd`8%Jhl z3M~??SY93XU+so}C=N8#eui^A_gESzn@Xx&#N4iE1Oj8k84x}|iHTblohM9$xoZ4e z9$`Ii6myV7*jVAPJ*mDla@6(zHBjO#0n(P0pS&$Qk$Vv#D*x3h;$!L!%VllIySw%V zOrgL#cm&3uk&wPt4vo2WBa9QHUMs*S?cm^hE1OTKFM(BRu4>+GlZKso4cN#I z9dpJnt|kH8d8z3EzqTaLW-kPY;AE)7k@$IJR8p3AE1-)2;`}E?7uKay^jEH&F@FA3 zC)^f%?#njtWK%fFw$<+>wc8e?WM_>L_Tee?X#9Asr@My!30?ku+P}J?)WIJMOB*Fw zl5{5GLfv<_<{CycK7+D1$5%A}ETHSznLGTk0{AH%;+;+0_G`|%< z0Kl94dkfT{|8<(-ZitKw=)U}EdLF_M-R&ZFqJsLsX(kWf>}RLMo|z%ZCz;d3lez2uQu1v5L{-O@xDKmVywJ_U}aqySlqY-b%cAxX ziZBbUpAK0AT&ZgU+XLy2^Rd8+k+qcD9VgsP({`6qlb#+x>`w9|*w3Dg=E!-?&9nA% zKYp7?p1)tTLlqMG$E#YJJnaP!eD>t;((MUYin>gHPNP*0@N;K%$(qsb2r0*1rgqqdNSN&PNAZ3WzTj zWe{=Z*Ivj6j53(*UtbUUAR&8!La0k@+nXE%f$Gk1QR~)!a_Bt!Xm2Q>;1cov%0>H( zDKEfreXiAuw>ff|?=hNCb45`H(@%vCQYiY~nyH2N%Q$GnFh?nJe`07I)l0m_KbdnB zfDap9AFylKWkj7H&wC^dtY%n+;I1z@`T3prMqTEe;`J7yVADEX{l${DZT>OSZ!0YF8xnW@xub++fcEHeK+b71<6!D2}$O4F?nhtYzH!k;oS|l>*2gA zA;VJG?dG`ix6+I?W1~bmh{(mx6*O~ft(OO60u>hK=g-NTuk`M&0mlV0#seYa^C6ck zvjkllcxXIzsr@1SYqkq+SrKZ<6v?tJxVsW!)T*ySM;iGzo-_Ee7f@KU9RIP-7JsMu zig&~9=p(AL$sFC!e7Ztcct-!UBgPng6hTGrzSN1Q8TJH{w{^k*as1ZA7KW!U@z?71 z-$vigq=^kOh0>+HM8Z%?{c49awaOCxhvbj9XJ4g1$xy$$q4TkCE#Fc;@Q)@#DCf8{ z;iHsCB|7c|ysY8Pex~uA=_hVU}P9yBxLLDet>( zHdzn+r>CDAvdI>D;;7ixA}cGMn;59SOc4f2vs2Qr&c4b=NA;P{j*|3cY&H+q^6vD) znid3;k@v|BN;-AUSP*{VXe@loV0h<6W#YhUK|ui)i=}6!a|6p<(uO0t(&$nOhzvGZ zo`*JDt=ldk9f(&3hBwXFDelH|t5Se+ykLePSyiq`n{>KQn^pS96M9;5NRq9 z=>Glto%8Eu8X6iH45t6XRzN9$qKjVoo~1y$d;jV7BcfR1;o)i4u>x=M{gw@x;(&9TGOIZ@w1T3) zfzPJJ*zBGU`ETm@$9L;zc@eu2=#&ble7~IZuKE&_^v3xu*W8l%E%)a6;`>fcPN)1o z857FqfFC-N%!Jzi6iF|i_uB@EQqqN`GztLk*YGYW3mf~{c(?q$mtBvXVteg}9OZhI ziSnm6)R?2u^3sW`b;4Pn9!N?CQNX*k>D>!m9zE)n%71Kn9}Fb)kJ>|-NsRkXXSuE9 zagD2FAgX?vE+?P!*S}`l{CxxFzTK))7$5~b77AWE2__a{{$y+DH(>D|EM!-&UbPAg z9)Em!S`XFah6VSu_fqcJoVKdB!f4g}i;{tj;UEyh*pC9dq{+^$QkRyHhFC$=0VlO( zfaeW0Eul*I_2$caNjEd!H+}y6d8PSBK!>dSuM@TmAJjXz%+)}V8{uMaFBrz{2m7g{ zP$)#Esx=k^RuWp19@VDzv1qQs@|#~C!y{qrf5%`OS#$A_{rhW$jr@^@ zv>IPp>U8)++E8KZ>PbDR5&joeK=TB{@1i#}T$zi+OV|_N+FKd_c_=99nH+d zf$O$(;{B04jkVL<+>a!+%wTLQPxuQYM>0VnB);82>n{@=#{n+5>4~@BWhuR62pz7G zy1mz`s&^dqZ*Yr)>ZZBLMwvZdXm1<^_~%O1o>lxNR-7T49GjI@A;!P4DLXFh8<)?$ zR^hBE1t9K$=|+)8y8Y~yFAdPh!dtWKsUdyGWWdx0B$%yRa^mKD2ENi54LOE0jMr~` ziuDBe2Hhi|=Db=495_fpcKul{2f!KgTMxz4jkHFFy=0OVbDNmKst>)F|0Z}btNkb} zgT(9}gtxECYJNd`S+cUQuymR$oP`_B!V}#unVa@o`LrzEqi&Lqf^k~Z^Xu{VF^w-M zFuy+egveeYLzFaITJPiC&kn_`9Sky?Li~MGXrQwC@vCxp55xU^Ae;Q)xxpv2L4c1kN8}M^qAD-5dd@1y0pLeJ5`c-!eG{!Q~&)Ie9w)|?@3r8Hn z-szy(J`+nnI8|0(XLH@cR8bvkx&C>GOa_33#Hs%$M>2Km{%7kHkB*>6i>v|yCp*EB z)?uID^P_y!Z(_n}qI{fnn?p2yK2Q9q;7k6~d9G~;MmV%Q$1z0vf(d2l$-2^eY z>O;e#jVs}F3AF%j|4*H@q_-w|<14by+#ttx;_F9e915?8nODsP$^1<)YU|Xm*!!8c zk1kdSdx1O9*MJ`f#7KFi9$T0S?7EYLI*(Yk}$Rh%PI~uzi&KCMV z*u8SjY_yMxp5=w?Pc<*T#uo%~9G-pNosajo6R~xwFw`2>;`&%&^BfjAe>RH>2|3wb z01wvbxnJPLUsz2U;C~Jv!h))?XJ;I<%sfRw-HjFl#;~841}Z~^#}H5#ok2xM;oIw& zA7}oUZCB{|y55)j$88mIGZNF{f2gf1A4CRr49fPvTR2WHzg!AB_<>ETI6KcTvTVG) z`_%)H>k+J@4S&<~*nrvQ|;%n%1Dc{!HC!*$Q^KC)Ad zj29av*_^eh9I3>_7$MaR#kQcPbvh=gRF_lJ{kB@wyrw8ga-AhO7$cdIO ztyOs^mBCuKAN|KMk_MM@$6Ef(s?6NVx>Ql_wd_J5J^_u`PswBIH8k+JWt2Dq!fhMc zeSiOyR#z`0{%3Uve%q$@HU0=)o$>@X;hfe<x6z#Cyor{hg;^}2ZA2O=J+X8@9B0f;dB6b0u*`C=`k_VwyM@w#iFaQqIT1!)`DzYY|5bYf7OJu z>X6f34oe^9ajes1wYIJWaqf~RL#tM$C&byd;kuyp_N&#hy@0NI^yq)o<`y~nodDJ= zIU6GDFBne>IqU!u7|26lHk1?;JID-6SePwK z2}rgR_kr9m&;WBAR?!IhCevC)My<*#O{Qd9@j~6?Q91}ja#_y4(14zeAE@qvUzA%V zLZA>nIqGZ$)&_5TrS)EWoaSQbmA|L|#9 zRg^1r`>r|aATTUD0F&cK89~UyXA!U7{#u1;CE@0YqoXi!O=#@z|BR&+W8~x(@0StK zMureOkOZKC0l!4tJ30`uYNg!tFs!k33^RHC*#l3SeAZ4hOkWc)(hQ!ua(`sM-j%Ao z3~0r^JQAqp}2w_e|BmeeScfYtMmYxAsfmPxT^32FTS+3_uLBq9=IbTVe zlDcKN3d@CmO?~St9W!QOR+>C zy3->7pA6y}0&Y3_5n>2&30BI@LL`Nvo!R!QVk_OZns9nWePsLqy+uU=b3S5C-VT zrP?w~%5FzThu)UTH~yfjS9Km8%VNio4JX9DkEuX?>KNH^GOj_KBpyOj^y6t@%B-*i zm|D-(05yHqf^!knl~&b<5McxMZ|o-bR7K}lwEa!+^@wA{#n2L=^5I|qwVC=YJy?)0 z(dY%Gr9czv$|hVLzcb_BoX65bq^JRgIm0=-^mf~4LXP*YL^hX3u&`v({!6I=OOxnm zHv^1WM{_=5b#id)QER7ehc22pKE4MOJP~Krgejyin+El`dvg?ayI7~u4)ow1Ntb+v zTC!86i-_&OolOp7+6H}UCDpk46NmB*KqM4e`p5DxSIGjpcaN8v;&#K=8Wqv_;BLo@ zpQG|9#3Sva*&(QFMNhe1MW?k|?b4t7mpbd*jH+Y8>|2Il;3eHoOk1lZGdC!P*Xx=7 zAPLpPapEbIfa2&RR_);WW#_l1!`H%7ih0rRJebM21s{anj|l}))ari+NrSeF$zs0Z zPM~-kab1tNYqUeStN9*fDZw4mE_;ugG5DB~Fxo%Ah1;Ye8a(L)3y>gP9QrWPhtJ4} zarvip+izQ|4&?pVFe!3*6kA2ggg-Cy&Nd+luxC_2e33Se;ROMHiX`{Vs*Iw59Mvh* z0uHF^<0lbkdc;2DDcC+anU6n`t3h2tDN&m3xX2gSCJ-t{uB1c`vUjSr)Uxo3j#Rp3 zLw{$qe8yfw;|<&XHN_m= ztZCSz-sZ2}fJblTcG}$tL+agBC;rnTHbDOop+pX1c$ca6t%@C)P)ox#>OzvTc7E}A z9@2X2WU;z$%&&8?l*tv9*!NA$uX_%{4SJ{gJ{nAMTy%2;?RLMJo7;b@B_e(Sw_F_ZBR{}bZFx&n`TrYHje~#@|R>l*ql%7Rh z2W6@heqPyGpeHncF0wS#WxsO=e}Et$&N&F@ME8ez=OLdemC4ap-)fmzuxigaE#0j2 z6~4FD`s+Z2n^&CrJEL%XMC(&iA#Q`YS97{oUw*90lMnF@3KC~Y7)7C=%^w14AGao2 z2N&h<6j>0_w~vUwyF#`ng-0eN@gfV()265cX$&L*6*mbAVU+>tqyfOmJ>v`Bkk_dK ze4J;QL4;9=b!n%Pu7cbalnAs1UaDO}9O4A5LQTr4{e8}N1mbER3u0iDdGE;_#u;h} zRP~rD=KRY|OgT-XABUrB}I2K zhz-ryQ`^t^X!KVIbfO=!e{K}lEwGZ*{*nCbEHwrre6 z7F7}T@>7{qHYY&KES*R2a5^1+B>+2o3VEpiT(zaq_rJ9pobf%%UV^nT)w~ptUh{Id;1XS=zwaE?3XWHEvl4M;Ti*%tF<4WhukoAI6#f*h~kV*{p z-iU)rC?J3kbGQ8=yNOgrKnCadH{*bJfND==Y?KYz?IVD;i2A&XLk!>$L7&M&TzlQN zG+ySQmH#E%CxW=li$p+Tq)P9!SnY+EZ94Sfl+?EvKowl7D*X(~F88pl;I@9OLslbp zKW?O)@Cm(r2#&)Y^^JKaKy>`|BZ{f31(Bq*oCuo0Ij%L=eWs=y2Ra_h+qF&=5$C( zEStWCF13AzvaXy=G;NOwDb|k5p)}`=SH}Gxt8QD!j7{}sGP}Bin_!-EL$Oj_` zQU;|ySS0j%E)GvB@XT`rHoy7BD#B?#l~%^-jy1L@vq~#6c*l4r+S1Vc38LpMB@M1K z6G=ck*n|N9cCU&s?KB>sSJ1b=oF4>Tjg)Wk%OOP2hv7K?$n2Iv>kZ8=^1iP#ZfGK?f2ac3)h&SDLa7 zgltmUVAIzrM#oJIfu~GX^b$tY^Qda>9TD(Z^S#w%w<`Q)RNpR0Pm@U zI9f7L(W7392c60Xy`6%DOh>M;5IH2)YS5Z{DksGH)IcZ@B({U>8Zn)_zLLZe1g^K? ze0qUQmw%cO(uBP6pWa~@2srndC5*CVxM_R5nvIrERmLup?kldM{eb0!pIq8j&5gXc zY0Z|hs(_)*))SZtdRyA*T7M570RW3(*H8Dp<(unMm&Or8ATFi+E)f@} zk2M`qa`K*}1_EP>O(; z`;y{nbxF8CNKn3$)zF%TKu5-jN^O}mAHz9kYujiZ(?Fngd7YO9=vp%?^Hs$dkYG0N zkeTw*jiP&i96tdroL|glLEr+>nFHK;-mgvAs1o%3fo{I)qSFq9WwkushDoq?UC-gC zPk!ZcSZ5DOk@xC?Nw^XH=H=4dG|}QdzOCJ}KV6|!9^Y3mMX>{n<<;0{<511=C(Fd^ zk%IJ@0TDJVPq-b)Q|`a&?YU#5_u7$`wnr$oAE>{7&P-nsqD9+YJstFi-)@?uBkQ^n zXAF&i)fV&1MLjLL&^11ubpYqM<>xq^-|g(EMRpjOCZ0Y2B5U9D|3^EUPP*XfT{qym zAtTV%22@UG-cf($4$+OCf=+p1R1_9P)tMR>Y9-(2#_1zjALccg6086G>pO%+GiQ)K zEwX+O`oXA33DGo?CkkJFIR}C66(1p$>Za%=U#WL-j-@;5ccDdn%SM{`9?C6uw$E^y z#=j68qJcNS{+Qg$bQHEEi@a1p+tisLF}t^ncBH(z^R}f3fp_W{4Qt2;2 z6J`D%V6`-Qb6sEcay9wnWx`{h@bKEy^ZhHEjq-eNUn^XEt#}+>!O4i5hBJfIv8U}z zzd#k+7zoMzC996i+6A@X!~5jfq|_ZF!OB`GJ&pK8N-1q`diCc&1G1gkB>PucnJ?{256eS{#P{v%#X%*W zCLpAq0TL5=xF=oy&e+|hR;qu6-t76=0t+(Z3vd;E)7?_jn~v;W{{H#n>O96EqAI7o z%a%0yt8H*=)c)B)md(}Q+#Q;=37|7`{vk!;#5rQzAI+s$NbCn378Or8mtM}>6w(ys zG_NKrm&8m01-ovJjqGuRBc%u-mxMahb49)_zWrHwj#g~*+|N)&FHc>$`BB=BnR5^N z+P>tFxTN?wG$B8w8tLA-m4?rL-P9f!Vd&PF^|ITJee1aF3h2Y!yD_0I6{-au_&w78 z_lxSn1S^Hz?)NkuT7ivT_D_D=5)fh}5e<}sbDQg$KtnadPt6t+j(e`E7S~6WYF6GD zlAnLuSdIxuVz|BxCO)E0`5R76OX62uEg&pt$t8T-w5^U@Sxzv8+G3p~hnPTuBIWjD zE$$31^#sX&tBR403f@`~d5|^nn#P~oS zeqp=u+}1`o7s+Yo`0*m+7^SX8i71m=$6+>vR2)-_nJX0-M!Yk=jxcf4tr~G&3$bP$ zD8|7?>zSvaOHKMJ)8qRcRyq-oYSq0feK7EJDV?v~5G_uXfK1ZXzQby;x8(}@I`+E9 zbf)TN#@p}96FhT#({swUifl&nalb@Ln+D8N9r7R6`0;Ya&utMDArO%-^ef704)q8q zQbf&egTK<;el3G}s-*fp@@xemkY(3ho&grM3zEc8#qT5}$I!H{xq3Rm38jHe5P|CM zhKqXKGm;Q6v3Z#&7_V5H69CSwTMI45hq7OG)JEgUtMK*BzE>|SplF~>|JAc}#6#^) zA2(rOtQ~-QODrt1zpt|NYH~&H*yL&NUbFHQFR)EUt$Z3QdlL-owXX|q?A3mlu~{C2 zGltv#1k9tZZ5x-AgZI}rH>+Y@GYDu1psC5z3xDpsWiHJTzv!Lt&4Ypo9ELx$#M%Z2 z`v$hFn+!71=sE$$mYfz7fO-@0~vsc5)i&-uTSlO zh$(+uGpNb=!8AllM&OVlEaB0zH3vwEF-fdy?u=lk2_lK7Ig*)~)$P^LD&(y%DF{phxC|~_?$?%{caV(Cf4|`KyT@&n_eLy(fTQ(W zYe(3vs^_%*3W)YC82Nj&&8;)_q6Zq}r4sDZ2Y%H9mjS~)z~^bUX=ABFezVmS{iNo+ zUkH?IHvfL*;i9B@)X)8d<{|*z;+Fc%h>l5f0oGVb@Fi(Y94e~AYLad)6xp_%AHQ*`g+f5d36`w@l zBZtbT%Hov7128M>)eh;uEOF3(FDtBW)iSDM6k-9&HXaUGluvt2Q+PP$jv3Scd}d$a z_VTHW^gl6>Md>+!JB33709;|q;FA_?9_J(3Vfh2=l&6>`Jh;#n;_&j310NYllM!8x zrd!VjE8x3E`1RA|;1FaXuaUFWD5lmfg^P!mrclr}9?UCns4KA^!?fo3T#mR}r4g>XWbxMcoGe!Z$yz|?yB7@2|&wvk2tGm>TrQ#;OIDiXYF%&k%pGI9h zrVGn%DtyG3&A$T2dZTWFd1_?VV#s^)z0g5rUd{Tcb!#(bTG4f=FCcn8haAE{h_x|< z2hB;zI?!N?A0~is>qRGi7S$0X6wz*0+rrINCB-EoYJFd{+3D#(n@*HJX5S^b*ctun zPHcYJrOlu~<^Y7zMbl(Fa*WZ2z1xt9ZYE(L_1TykCv!9lJ`R#JlAiF|83C`#S;+_ z*5ca+QsK3- zH)TgJ1uv+m*wBSAlhkRtjQb98SQS}wViGAcxWELpqP3JcEzG zzaB)BlhZJ9(qf!8B#4%$CTVEjPUq8Q7|q%8)g+Z^id}pCQKsBTC_Mn2 z=No`DNvL1^o7LCn(e^M%YP-R`@%h&35Q|)>eaQLIKmV81r+b}|4s&nVtQiXsmScuE zJhy1<6$?M?S>LbKwL|-G|3**7T(Had(3seH`t|e*(-YQo=4;H7Yag-F&Cfmr9ju(~rtZ$JX}gWI7kwFg={ZQx3GKBic|_Z{ zWZ(7Y2GPWi{t#x`O?WO_7WNrJT>2lM$IPIzKAg#}5{FDOoGT>KJ1Dc<2dD z0z^|&%U+-n0!}|4EU2=JGaPO-lM~n1>2gDB@0N`Qst7};y<0d`A|`hXxfvTvjc@U1 zeMOx{?VNGBJ$PObkS*$LR&!i|-P_w?d%%}$AGTMP02hGpZ>}!!q8qPz%cd#~#l#r_ zwN^aN*I@^hzKe!*U(b#33jggiug`hRbku?Bv)^qmCItq+<;$g0cQA`n)bXzP-cpxS z3g(t#5rf0F*hN8Wr^uRF4;0|h%ocI9 znvjNfFGE)=jm8KB-(dv@44ofLodb*<9y)ynS?7J^oD5ri@e6`2tYsnOB?YOhxd zWBe+hUI;~bF_9$qNr?|1xcZ##7HOv&WbNE({XFb0&FV7>FYogWxx~N^lar-&+867P z%~LydjEzci>3NK(n^j`YjzzDS9tz@;+m#|oh}!rvLL%2H{;;fep&-Fnc9-n_QjzFq zEKqpr6Wsnv|0PHG*=Rw~?*eWME7bAm{NAG4vWPhC*VBcb(}b&>4L~q_%GUIpe6>AA z9g<`{Z?q~*V_)XV3yVYt4Nt=}VSmaE&o6;3c5#`C2Wpeny5=*ZE`2E!V#^=;fdv_n~)|W74F_jI?JZ_JQxybdYE$7GAs6{gjW zDPX7qG4}9p=~mM>-NW`7-}p2<7(m3;NhoQ)FeRt4RY<`V7}DFJjI|9Zi^j!%mx zUJj>ifrce;xf72t##b)P{bN)!DvPM2?K2neS=7b$zYZR?V^Wol(Zy^vi)>HEJVR3V zQ+nm(nMUHkWpravhqvG95m*VA)que48Xzcsy37_ip0+JpDAY*c3o(rVhDP5s(m-%ZWBn(oUYOE>6Pd$ZT$ zUi3S}$TWcNwWd*E`yz{+fogEBnu=9$ms#$-2zJNobhQ@A%xij3bUutVk<1+nbjx`1XhmlRa{*5i{oKJoi25t10-3S*i}_s9LK~* zuTM+<@xR($+4pG#6Rk{7Z_J+ejTE%}&Sm^@Kr|L|y1k7lvPeD;N6oetW z>!8?xnre|6sj))=_YubAXP%R4qwx1 zSyoa~k?R*R6Q1{MnO_X-$j0TNHAV5Uu~&!5dY;dVE8QR|7dwGLU-TWVK&VJ@%Kvn; z=7+ZO?3QA=hoEY7tq4NO@JhmmK9oWGKQw;GLk|cYuHk{$Xj?Rd01r2JcZx& z%!YVloQzyc6VgZTzFiAJe4ySd2`f(jBomCQ%&o(1gy@?{-6{-=!9HgClwAcHWO7DM$`%5djrW z69jo$Zel6HeeWBg&%2CocG0CGLXHH_SSJ9iKZ@r*K&UJiNh*D#_4FyRnqskio0Zqg z`O77a>ocShnbk1%fh$UAZDK~Uphi=r?eOAzZoGiL5cXwbrHf)$z@$ag(W+)xXs^Sc zu=h?*H5>71XxqyPvUHgjkh@)%7@AMNzTM_&8O9FzX1`h6Lje}AgeehCGU=n-6~nd6|T4 z_Mr@T2Tf*w+jsGe+O=7NhEXBPic$MCMYfGaY7vTiC7tY3v*Jq~h(X8|s=y)e`fN3J zDtlkqNy6(my&u-Tc+YiZX{RhQL*(vbt8BcdR&?xUs?q>TWY&5l=Ns%wVs5!0m8g-^4TfZlWFP9N#Xdr&OD3H}B&3N~pt^$*PuY?cV z_0hHnutLSRnKaLDY8ZKl%BTHlDytUh{fsgn#nv4Aj6dp^k7R23)j0^QqN1jn+c`Nu z?~~ODy(%`Ig9wv6)ZuPz%^#_5S5{NM>9a)-)~rh%*kt42J5ZF)}&SNz#XH;`DqM`iwW~2?vO1SlyCbse9=nRe(FhAN>d0b2TrM0 z7LP{0lku>ruuzh{6q}$v2t)^V8zM3K{4OJ)uQs2RRavE*#8?ONxt%6WFAkhZ$-l_C z>xFrPOP1ElHnn5*!`2KxNb!9wFP|^a_ZRUa8IHSz2t$D>X#ZcS0J96mRojPiCPb(h z9l8c9qBG(jK5U=A9e4jW*D&Ds`u;=W)XtnaKA7FjGcie*Pv@cKEe&1fgteuwj?II$ zRSIuOM<;y6nsv6woBhNUUtv|`71U7cpIvc5z6>qDs)-zUAuMsl4eB{>V?9l z>LgD;XTw<6zX_ISgD~!zA$Lv9azq?{z*rqb2qgQP5Yh2|@f??mpN|JhY2I>`Hedqc zXr5pu{n*4T`Lb93v{K;~-lu!s<0K+^>Im25B+;Vm$)qW)J&q7t$dQcSgXjSSpp@6` zb*jytBAhYEcyb?H&%K>mekTzkT7*>~0TD#%*)x)1NOXFH(&!i1f3&y>sp#ZadGyst&@qLc`6}CfBbjSmo9c$ zR9?~tAcIdUPd};k{W`F(k<*z~3&9DzS3!*%@iYA3#m{bdfR&1}2vvi9Xafdd(Mh+0 ztkoJCsiR=tw;rFKEY6oP1jPv;vPlec=LahN*yCLP9#^XAEG7qs?gi&$+kzckot1Mo*}}BQ`PXd zju*QH%P82wVy!6-$B4uEtt<^4EIF&Dx0981SxFmDe=VWX z*;T`Tw9fC4obIY@9}i@~#L3t8x(-c2&eR-gPJ>g@xBuB@Im&sb!TTgql$TZ1x-|$i zez%wA0Qj5cE9Cf&|L?;ZK(fKu`?be>t4YaNR}kv(ynepuxmGS?t`m5Pq+1Z1mz+$#Z2^;_d4;_$tqmZmx%!68iQN?iQy!V$L~t z#)3BG)71Zlmr%A9oTl3{Ve=w50??0V?Gdgm6ME zTbgEOmujk(hG;0$$Fk}jS|A02QDvIs=Y!Bvb2)^*no2L6CP~k@B)7+!$?tKWz= zKHmCe57zBkv{nf(WbHmz8564)lf7c`E=if7nEU9B1KMb5r?mOMBU6{BQuDOUV)WZ= ztapmUTBNrUDi*9Qt+M;!)rdvUF@xos{jcGzQIlWK4WlCFcE1nrqpl8G89}pB^+H;v z`;318_I7xJW%OU05Z;GqMn}%mP^0DQSaHn(G!jcIX31zoF=d$BmI3b zYA>m6tBLRm3X3krhdh%d|L4`>DVp{$jCCV4%VV;Z{&g;n5gy1--iZ(stE-#jZCqby zhiO#!qQ(y+zK}S|6=;xK*1yy@$#F8uiJt+s@Jg<0f!I?LsT^E6vblN~qU&Hgj;Giq z=gO1@|6q)y@mE^pq%2mBn8ODq^uFRLY_FS?M*sb58#TFiTH30T_dI1Hd1De*c>SW$0p ztNl4T2`shlr-DPCAk0+kmsd-`?LS&tsidtUrOS`HKUHH z-DaidiL>Fw6@s`Q5Fb_-c~%|4a+3fM@jY5scxrP>gFIC=M2tailrv=xoWsV!R%m6J zA=6PSXDiLF-|W`a(w*xV0)D5oGr!|c@Oj>g>#5+z!2u!BBS^rUQO%-_w`_n_+GT|J z9p?Lvz$mS|*-GD$R^X(=q}8=Yoafb&>WFLz$$&X(^q($>2#4)R?55!w+l-{VNCP~r zyA^(0b9}b0N00OQ$BaBYSV+JB*HMs}%urs=i@kz*FqERO1_EFxZl)%D9|PDh94U1S zdho4-Pq^2fAO^UBnZ(jr7g7 zz&_qMW7B>wl^3CXMJm8Dun5Rf#ic5^0ey|CCB_nJDo$=)8gYE*;ikM zuz%~)lsuE6+3P?_teu4ad_k9u(+=`t+XyMm4(J39BgcdYgCA7%>2K2igck|}=N_=N zetjvViLdl*BgA@?!7T?EKvS3$iq4KS2U*J3Cbs8m(=3q4ff354W?k!ooI?eOFy}gZ%k49%)rH7M!8^J@> z?E$BCKb?_~i(*^|yHvBeNU6k~-j%Jt?$QtXcbYQ+-i%?ey=XbE z{o~$iyK(mb)w6wT>ra>u_%{Xo17?jO#ZGR;6kOHq_r7fg%)u7gTU-B}wkL9r`Hi;W z+G4-DqV#L3zvKW=%l@G>OS-llt7n#oe)Ajv(ZDJ%&km;Ah2DO|wNrwPe#4k}Y%7;X z5TT8WXT?mES_J|3T8IcfHo@4^z6*h+z9USFqd!kS3Rv2?yBv1&O6qt?qL95i@M66I ze@Eks>7^azU>J&~#~IvK@KUF0E9$95Kr=-2HM;Nv^fEwsyX-9>S;9PQo5!D0`iB-l>ojfC71X~$`*;lJpSXa zghUi(kUq@*sp~hINHZAs%A1fG0c5lUK9vm|qoIwK|Buz6BSGG)9$QwvAoD7kfax}u zg1RIENN?D@|0kK!SwcWB;r99(}o z{GOD2i2drP?qLp>tv$*Efx3uB*c}1zH)BlP*-gSjD2PtEXbkheM z;L?PAAqqv$FBV22)&3S zPfJf{Ob+Q@UapmkX*8(Bw|ZHxC-;40V(Xg-mOcsJo9Im-`03SBDxW{X=wuZCSe>No zz}5RETJq%21Rx20XKXB3{?4>oBx%Cu%dD3L+|+yAp|BEc;MlRa8(07-ZO_rP763yX z*v$MPqVYXUfS9;cU=T78K<2X-ODW+^PZEQEtgl3#f%`( zG;+xUW5>k#xEo6!Lu&WF;yke9c6csV7J&WECVe|_b!A$v^CPLoBj)k$6gx8|;&NJ0 zEX7}Lv+9NA`Ht5278a*u5oG~jQ`;TtuG2tKr<&>Zd^l}WEr|7&PENp+y|ezJ!^1q` z6vntsSWgpoJzpruv{Z(V#v}JI*!OfK%LirsTPGj0uGrihJHOW{ z`=O7F+Q3Xl{~Zt!Hy!$D`Ex5HDW_-*=6lh__E7nJ+XVf5r3+)o>hrxW6&R4%7WBAN zX_2MfJuEPT48>LB(nB`&rW*`@rI6Dnmo^|9vfo&O3Tu{m^)&t$=e;#w9_-9gV&vGqRqsbCJx6_PMgv?L7TVas6%VK>Zy)(v!uHD2>%^SvQ73c$irL28u_Mla%@NHg zt}(FkQOVeR(dY-Y*3M34`I)G{>$h?L`bP?M@qOWv52y^&3}xp>d?chWoMq@_v;?L0 z+QGK_Z~1RbJD1ii^EJ>Rk|3*k5wt|or`pOa7#O3)BBqhan{auVFu-545yN$dYf?Jm z;z$}j*av+`SU7LF?%{LY0K9G7j}lR5&5YE9SY9;9O5xkc z;g0|-=n!l{1Wl~w!$d)3=)QA)9a_Z61efO4*kPaQOSO>WP_h0AG8OK7i*)doP_V3@ z5?Q2)!SvIn)gJcT{r3SiyKeVKLX70Ez>)8eX=9tucQ0qw{&7eFj*sY&RW&aSJC7KY zt;2(f0PFCi-q_e0O>R8*o$!IXhn>U8O*x^H)UlXglr@6(b zcL6w1hc>FM3y{@@>3_zJ6Bgc-E{1BE!w)EBYtF;7Pc23-_m;5>jNFRyGf?e1^|HSv zz%Ij{bM^19iP*~WTb``gQzHUmw8r@6iPEd0F&tx~<_!B?G6#((yPPh%8>gzBhMj)6 z(FTXRekucBrRGN&H7l1n?n3Yz%A$@lTmFz&Ras3hp0~nHll?lZye+ZEF`uWr?shcz z#G(!WlQCHfgNjRVzK85>b8gOrsqp66`4Y$^Bao4~5h&N(HnmI8du~q^Hzxpf=S5ess z4ATT>Ysx&J+G?-c%7^WSTrYM6S?ruRH=h3~OHV4DDcRK#Oy>4R+7AREq&4GpGS9lY zEo*7M-UB&pwuwo^Cn9p3GET{?2qHsZgajZkY}LQRYP3zVc{-`RsLrJSZmfvT1&W>4 z1o77jhg1p@u>*tB@C;61z*-F}oc!xqR zGE_a91gyX|EzvE?rO3|Wm{*hw*metobO#+vbHG;#1yUgBf6 zGr5L2sJ!9WD|EmJ-C%E?tMjtsKWSpPf-#cqwNdn@bB3AL-FJ<^Y@<>dslbT!IGydPj{_OsJ+s|Mlal_i&z)s6}HIkrDRXG+j);a zsR1v*YW!skUF9F7Uclw4OtQTv-LuDwybF6tJFVBP*5*DsX`PrY}es9N3si$#@zu*&R z%(T$#^8Ea0$-Dld?HxafLWlN6F*9K`_q$=MVclmTrW4mo-%sNtf9?kGXT7Nv7AtHY zWdKP)1Eeb3#WI_B0)yGn~DAN{gl+6#hD;*Xu%TY?UM z->sR}=7?|<>F_&rZG>_{?EA`MJ}$)_Jvpl?K{Tir^(x2Kc`bxrkHY~1BR)V0fE5Z45h4*|E`{Q` z$?{3_aCz~h_8i@U37-|R$C=I~>+N2}8&}rd0(VAVxb?LPBrD%}x+)LOxh+=R?#pT@ z3~Ve7N{T6{rciFyCg^EjWoFpJB*dS9F!Xf0Nb>UKL{JUHMQ5w6bZRFU7>DcPZ2RA@ zekfts@W1IPZLu0zYekuRSu$#sp`^jxFnnTbP)Nw8{DSL9+q2190g5z+wlYetyb0H{ zBM&csQpXt6=K_vkb7)QVTV1R%P>a9B9-RH!_EltG4^gqHP5e;JMO~#%*N)WSabRFNSs19nReA zhQ&WOXvUKmQHT+|?IB;aa7e`r(!9OR#q`T7oX&wD+V(N=TcZx0RM#ETpkdQ^-|Q)kuQijrc|Wy4u1k!R&z&weH_O*TvoUq_;a|Xdb4rtXSO6d@KM)sdBh)_DlIimY}DmW=N6W)a*qpk|9^S z(iUS1y~n?}voOOR7W-aN<2%h3gxbQw;QCw((gpe-Zz`{zSr=Mk!hL+l85cNGZ@~o$ z*(r0WqpnLL11j=ZnzVxUw#m#rGd+Rr*vQF4)VW8*;fNeHf7j5M+Qpv+5;-cimBq3v zsz!`}O2?cJ*5Ze_+|bt0X0^;*cYrcE>%E1Yg#DGFko;*K#E-00qP^cmN&@wfCukcR zc(sA|PiVq7SW|}X{N@3Ch*LG*kdmIdxi~Px+o*@5v}u4z7$!fE^^}ab>e#o9vlP3x#Py-ww8*+%V<54hB~*Y!#; zQQfj*LUyPKPH#+42TNJkW9k>%SmGx7&O>sX?C1>o*ObSY9S-}52D{Gt0S5$roqJ-z z#q@RP%h<=@oc?l2?5~hI%WibXx|C6|pW`dQD2{DZx+R z1p|AiC>xBz+JdVJ``urGdq>-)!%t1hEPx%v0b->8DWzNI0U!=jaJs`sy z;j6gKN!`dx_@OkX7Z`B%>M<-fUpP~;r1cxW3xxQzj%gG+4T-(-jrw^|wiK=ku+{BS zU|jg>sig7SXk{L~7V6NIX51lPDNsRPXiBOmo7V!$Dh&*+2zq!V)S;I9sU6)tA5JL@ zCB)jh>1IOPke2VBd1<6bXxUYz;V4=Ws~eh@Xi-#}NlCdzMZnFh!D-v?I<`vw;@ur) znrP&AW_P_O`=-Km*)kAGMA{w*ndu}L$4NArM`J0^jn@65@yzwMd?p`M&6+))fG9nK z#i>BFlvLgG&xf^CDsLOB@^t5_{&s%(A2KoK_s| zn@cm_IT?NWoDtqs8A?)|PdDdpcm_a&M8Wh2A#sV7>M? z7o&5VwNP0|&E-V_Sp&!OhuSD}kC*fLOKl0X^;BsJYu(T$Y>+xG>yYFAivijaMk1S|oUPNB())@FSpuV`El!D?Lnf zHO!>ECjZ-7!KGNN!5|h#t=4+_Nw(0B^?9YEE{!DPH@boZ4i%kjVata6F*Y-k4JmzL z_#-FJ8J6b*J2i*GyQkJ2VV1nf8xO0heNp<8`4?BMx>-*ed1t#$@ir=|deo<0*ZX1K zM?`6Z$PC+5BvWwd59efkr-0N2bW1M!6Ok6{Py0OmQ)&~`#JoNCx?nTVNZU9B&Vcr6xvv?ya{0uE4^-@AjDbLx4^t(R zH@GRUB)o7=MHPayOb$Tb;5x1*KSTBflRxDDO@YJk;k;+&!zx)>a-vmv&0?UZUdy`A z6=!_!6_*6q>@iI|taH}mU2Sg-|d(`>Ob5^4odlg^6ewgb}B(h!r@ zme#+WxSUj2kBsDX-5orbG(m8{hiAU~Tqmb)-l$WpD6Kzh!=2*Ot=^&O@R!pdrqHm< zf#<=6eycu?B4|87SZChsEklW*d2Bk*e?zmbIsk@;5A51U4tDQp4)6R%_$?BcuvZJj zxC&vcRTU{God`_gcLo$t=FUTtei8600XzhwF3m=*Sk#P+dsbj61m>b~Npyw&G8`KP zA!*b0EyrT~LS%41$o(Nk{`h`E##d{;>y|>Fhv|Bltd#0(f3#WV08coVdw-E#_adG; z14csL8~v!VPKXFEuj~`TboM+rC0XKVFcU9NIS~LrJu(akX;NXr7xJC+y9DG|S{R*g zeBDagTCH5U%pGO`f9T^KQK2fvG27-0J`g1*5+h*Z9v^*=d`QVk;4I4d)sY5FnJSA4 zoWUQHGtt6G68tEB+?zILF0;~>7!ACC#8WEuAytdB|2_VkgTjHNe|%MhT)97jmsg`I zn~$QS&6An4wE0%xX}Ju>oxnE645>A#KRx*$Q=q)9I?Jx)(O79Rxg$MeZFS+MwTXx+ zSkP}Oj}qY8z;mfbGq0ii6SKXSmC)&(yGliY-Hh;2c9)+!)TI)XWv$bDiktsDUcSnn z_2`lv6dz?5z28eB+$`+-aILG+ympZ@uD;q1vkew#2 z22|&JP)=d1lFHJdX(h+?U$gG(;{-#o9L<_XK5W|2Z4l8ECwS|Wdr*>cZa`5jBi~8n zzt}9Yn@w@{dJSbJgA1b!`hpR~t)tA1+4{(U<;|skOF`Ct9>t6gM@-x6RK`@))S~uc z!(19cHIIrF`tU5kNoDU)Q;Z}=2#VM4^SO7xAVQ_8-7zCU^ zSf|!T&4jJ%gJ5zV7XSC{?<2Y0{f?0wPFsNDv}Tnh=UorT;&_d!Ctxmkg5^8P3`J?7h~t z@QAwbE}xEB2Zp=zcCvZ??Cuq7d(Is<)IUuisU2#Yp4uFpoq2)zLW_%Sh?`>C;l=qh`|3AQR6_ zo`gyPHzB4$Dg_WOj~xw{{tsX)N%;+8+PC!4&G>^V35(8B0HTH};^hC_)gIo}9D6>% zL|M@U)yTLqACO6}Zw^=IrqN`&N^+^l`F1obGAM;m=<6@b6oo>BxED_wkA?56HsGwb zEJL&qcV_4BXUC?o>w*M97%BJkznauBN_~c9atcu>)F8JKa%(3&ouVR8I;EUg=-@5+ zke-T?5i9>-PjSBp$?eI&0#X#DqAbHVR}y^kzR9dA8NFW&d0BoCRA8wHn6N%|Di$2@ z7|(Y4qd8vz)TjsIj7a~M+WUQyV-Qc#H8b1Xj9!Sl4rZ_#!_WeV!&VKh+DD8@Lb`0~ zxOs&5urali`rgK%bi*ZOY!h){0{P>5`#dlH)zrL~n$r!vW$So;re9`RMB;apY{D(B zHK?RhVeM+6kRs*##DV-)Hc9V6uF-M7OwI%$JtqnZ8oKMlUl`2UK!_Rgv3ejT!r4R; z+q%$aDNMdr480bNpeS_5Vns!S1rvX_%YhWdlGD&bTyghkK*og%{RidBtp&k1K5(T{ z=?cbx?x)4oQ{4l8??0F|$-yEMc|$rHpnEDuSe0)GKCuFyb!nf?-D&9v>u`~~-xBEO zSoiAgs5cm_`MSBLlQrf)O)U#GJMC(V*-Dch-0MJN4CCXTP88;#35A1f|Fga2!{ki8nGo!VfE(p%|ESA3eu4~*&yDib*O=UcqnxVXWP_vtv#Dq~XDaN~cA*Wwm`SYD6+-+6#8CYRR8$+8ozbMEtySBb||m5fytOZikP!IA2mU#YWj8q;F+rwb>_0&||&4#dgb&iR&< zbXvSN38{k*OEAzbYbq-m}s zeRNao&IjC*f*{EX)kGy8#{N7DCC10gh)fGZi zLCM9`{)v7ADL&0Xi*$Ho?AW9)=+rsjlvUe1{$IY6O#+}tq~Knmj!}kNp4y#H+~K`3 za$BI^K>~wp#VI7x1A{ruA6DWyHTTC*hl#VXotm?PZzgL1<5-J9R%P-sZC-eBt@H0Y zQQzl$*gWxgj)5@#I#Gn|Fj5jh-v{oOPb*iBzDCnj-}k#lO5GJlHhITPL6e3zDx-;; z@aU#ePX4;5i5Umj;upRmKNZoB zs3V>NZ-Xn}Q{!~^YJN!2Xc z)OW)I{EL%}lFp-O23^|bTn2<5PN67#!goK)A z8T%X-xDa+DE+p$v-2C&h*1K(}fClSY8#P5k&oZv}FSJf1e)I8dKTJdWcTD=8J}lN; ziE7n;ZC05rzaPQrlxaI+A+EMfc4=irn)BF0em<%y2IxVTYnwG_s#=ZIfV46N4o9p8x} z=RU5P^^vYfAbY76)YNe4vVTdVA3I?7*DAR$I$X-G3#^F;$Tf%O0M{lo^tB5&izq35 z=M?aNhH)kKaoKB{H2bsjl;sfbF<*@})xW>_Y3TdhEO zL^0z7*Oh2MZn*N4JIVa#IuQ?4?I&4Yo}!Us(z_AzeAXkYxHZM)oZ3Cjd0rqxX)hfE zq^AEjCRX^%QT$Zm3hbr&%%JxH1Sr3+wv)iv^$D^zN(HQ8oz$ ztt64F-@blx(|kZzvkTB^@dnD#KIY$@@S@cl8gy6m?9=FaA4%Qe4^H5G?3_+B6K!u# zo2F_l7;KGYcXg7ryw9H{&}@N`eWUZaJvZj|nS@+w%7CC=^lXUCdm`wKf+6p9s(Zu( zYbsp%ZUi+5YYtrQI3`esb46|a080!-)^I|DOLjR9G&*ZTx&l1HAnu=wfx*seHskmmSKa_}_0^A}ZGcEwH@i7^KJt8v zlr;MUb+T8|nJ3Yr)OirD4IbiHv)JprVMLysl*&9cQe&)&%u^DrFo=@B+j=@ahn+0@FC@^co-@s9_x#*9T9W^hB6FWGvNHLT z{+Ickea#-;aDk{0rdPp!;H}RNh~*dj+FOSwvu4uMK79m}-)#m6;H~S{g&1)e4gykO zMvKN>85ZY~j*{Tem3UmmZFpTb}8xN!`E~KGmZhCt$Uu&H1%!RS{6|Zpu3oOGoz`u2=gepna(d*eWZBxSH8v&}f z=$e`u5z|ldfi_iBWOv6}QQ=o(uKMg>SP;YN+M1f1L3e1-&fK8N(BcYrc7w*_pZ-7L zm@Zr2n)cP?Vqk3b?M_#zZ0}#88BmutWLx3Q%^gX{CMY8JKB8sGxYaga^qzf_H-5?HQUw&o z$jgwl#;GJ+u%a%^81~m5d^Q;_u-=~4ATmx>jdn`=;xN7*49Bp4w7f?N=Qy6VB3OqZ z+PxBRyq^n3h;F8E>X@VlXyed zI8RR*#7+H}tlTCKyr!vF*PJ3~>L{JU^D$Rqy!8;0h#%(W{NxXQYwsp|4?aorIl6UW z<{sikp^|6t`LaNr0iIXu3s-QwXPN^aHzlXsk~Qxa8WKM_-H=q+^cAF~I?y{_=P~?x z^4b%oPt|#AD$zoefXK*u5VQ@w#!L|tM8^@FTIX@UgXJ*;1x30_vGkdIP0CDEr?M1+ z(vdbMVqVl9xjswT1d0YKK8295kR`pL3DtY5|Ns1}&1-0c{}aJr2;#1(C|malp0o~g zt`=nX_#phy==A18&v$JCufm3{#QU$z)GE;#)o0saA9R=wip`3p62z-4QV+gNXO9q{ z;^az-->PY77VmnL#TLvz!=jG=Tr_+ym-I*gKKyaeVgH;5e&v&G;oYmj%o-~i3g(aQ zp8avaMN$z{PS15naZkF@b&+eQ3OLW#b#TvZ{3nV02dAiZSbmw^NR1B6*TW()DZ{A-Z>5FF$Mw94*iir!pg?F7Egaz_b-w&I*Xqw!O|^UN z99P>Qf)BRq>3tC79~2ao(^^a_;Gb(#$oaDSv5P79osYrauzF#&?nq6*?esCbG4=RK zu82XEHX!r<$+LZPliOyc?WgvS?3LAhuj%#AWDy~HJQPPREGj9b@tp%RMs}OBIz`}- z?#?q?L5LhIJgITERNXHsNGj(BZr;5myh~2cx(;5v6Pm$kh{IdL@Mr)`w*;pLxio(9 z11rNzii*`g={RBGg-&WlCE&Z+~9RQ6C4_T(gvu93(8*;6BTNu@wT^t zNkf&Ar8g0V_=gMd^9zacUq9_$J4WOhIxMtbgf+4x|Ma&YoAO;X2bPJi%DE~3gGj+z zkVTy`=_+55SMPCfD>^=~k)l%KVX9kwo|z!}^y<&HfMDQ)k^3+M=evO)ZG6moBgyvX zc98Jcu3J~<{@p4sf<^lfa_M#x^ zj60E3w<;vb4Y-vzykMOq@{>Tn-9Hls()Ni8vZ8|bv(N*vc&EYZp)g$=SN#EQn#ITX zw#aYPRV}l%F`4FJikrj~B|{>Q<41`tjjzHjGnN>tEA}`Ao=kUdK11{G@Ndhgb$K!s zwgz2@_?Xa~tMHyk31ST?Hu@bsp~Ebkf+SMugK)Q)qy0smAR&50*B>SOb-7n-VwqVc z93(W2+$qai$?a|(y&s>-veXpC3~`^}`nl)T@yQEdN($^%;bC>fJ_?G9?Z^6Q0htx* zf{4Re{Yc!FC-C(`>0%!?5-^sow{LF9g`+$puqSc;^&dJS1zS zE1Zdqtr_|D-TlCbk0IaZIzmtTJ~r98u30oXXXZFuj!)(>?P!M`&AA(Vd@s$>=so^A zu%jr5bbGHbP0gr35`%j+LpYbla{1Yd)_HnobAA8!fIt6Fi2B{A zrO|YU*X)Ei-lZrYiC!}JlWoUl*@P8aaD-M7%o^Ks6M*2A%|oQY+r3hGLxIh$ zkz8I3S|MmW{k$6GUvIpJ#i^_TXgC=BgJs=3lr>cm=$XHVd|xy>Jv;k~dZmh9;bx8j z1}D-cijE%446izD>jpM##ksa-Eeo~owzmZ-3eA^IYo6dx>yGhZG%XR=Ix zSZwi~Yq!o(v}?YzbfRz z10faO4W@&{H2P6ykafS%GLqX{+2|3ZSiEi-j|ZqT{RWIm*v4g0_2 z?hc)N(I1yfMlk|08@ayliqFCYYt6x@tF3c5j#NxJd$0MO%ge?iQJXAYqkNZcdum~3 z&+XUvmj)@q729h0Y61C|+AZ6!bM@;jo!~z8Ld-EYyGJQt)1oym+P{V$-~7Y3T9EK@ z(T74!sV;-ZoUWQ2=U}qgMD8FR321p8%F@bpUz`*a>}75g)Hn|l8vWl4W%ZmKb_`e8 z`S9-%hj1G*0c}d!r-vS;n9AT+?WYI*C0d%BhZP?OJAfPkkII4u8L8ck*`069;}GVg zqn@AA!x^CyK`VqX*}+ZVPaKw8Oeah4bhW7;a22E%DPlUKJxpi)cFzT#wdPNhT#Q{_ z?49;n^n`QzHgT8@>d7Mrc0mG$E`^DKp# zCKO>kFdrgnW0sL5MHeShbS-9T@=I6&wS#iO2xZC2G@KTjeyFLP5qIG6rHxJ0B)_s> zFRGT;@gCiTvMFNHdGbLe+Zbx7^xwf@#v|l%8)v)?=`qR%Hu9u9dFkaHA7(1uAgatq z5cTjd{oSy=09Mcq1pugIq ziUn$Fs62ZC{vKeU8ZA0lbyqdz9Nw!sfDg%~Jt;RUc3uxzZjI^&_-Xa`j!w5C)LX8F zO#p;7g}rIbjO+#(iGY*_d7wQmX!hri z4Xp@|(gc{ys=V%2kr}Pp=kW*v z$gH8!_7vb-I_w919ma}u=>ZLMlvgtbQH)U=c+mfp_)hD(l zZL>Ge168?`_!TPXd~Hj>?P|u%6B}A2+|jYz?eA_HI+M}C7n5Wbl@NcFR!REvpGQL+ zp{wO}-H~^5VL}ruu|-7>$zo@V54Ah4ESz+I=6%}uiJoXuF@_T&n}!fQu$q@Zpt{YppMC2C${>4S?w zfygLf%kJ`g{=zXESP-xHM`FfzQYTMeO#eDdyf;OocTekXZE9t(jrMcLBqilOLE#FL zjG8_A+miV|@@;K_`=O!!>yIXbW)ALx9`t_<>w4=0sBlyZK0^=Di%YXxgl+la!s6oc zFIsCEJ8fUx5NHoYlie-Hy5m4r+P4Dy+dJDk70M=jJB{A6D8p%!e5CHpQBB5&n1c}I z*CQ_IA2_z5Y6%8O(H4On**60J9zJ}51O{>8LUM9uIkArBl&`@2>HX{LgSwt9eM|Cz zJ39hRF~h^d5;P~aXy!RE}&IF%?3s8_!VdTr^`%Ba!Jx8Y5WvoR~MamH1$@8U2&+Ua+ONL(HZd{|-ktc6Ce&@l|`s8P@-5X+F z@ZxCui)bGE2>Gz6*PJ=TBis8Un^ot&uEZLnkiIAFwfJv+Zl0S5?z*3{cVAgyu~)s> z8F|jcht1J|a8DbNg7i}tMei3;y^o8L6pep6)P_MPel+HYp=2HHfLq>Tp#biI49>$Y zeGCh&uzbo)mMd17jxW|$Jj@Y5QI;C$$9_h>=U}#tg>@}ly&dvV`ys3-Bx>i{1K5mM zcBVTC_l{(i;wsob5b2sYK2mcqv?eJdtV6v#ClJOvztLyj^>!TJw5NQfvW$NVm1yp zPWl{-CCbvIM6oKTXCaZHddW{`-*0IQCF6rs@9#y-2g7>dNI8#%V8Ifk+kT8Zi@F%$F8 z@*AZUaz?mSaIN{ycV|LSkv(C^tKDiP05NE0JBV>@>2GxnW;Te^(43&`&j)Pwz!4e+ z(pWX}^;=G=_l*W6ZqwcSV_oMh3Zjv$*u2?Sk!4Df$rJaU0`>u_kd)(yd;vz+DsdqF zmUs`rk<6T^0}Gz{-Mzyy;0Jd7Z)!cHHr+cP4w+U(v0eq_TrJa^Oi7#jfkNzqhoM|y zP@4WFhnLHM9>SkpUwn9QW#qso;LjD`k~KH)No9x$#82@#Vci-s`5mi}tMDYv99lfe zY8n^W>_COXjj9z~iDrzAhNgg!p1R4kWBC|%i3Dae3W`G z_QOFZbJ|rAQ)#Y*4@a+-=qJAL&7A}Cw4}KK)(O^6x-WpD;1c>DhtVhv6kYT{H|f+I zfuh0^HE6B%Ld;?CBffVA%5D@i$Sv>#dOdEPPxxHu(8u+msF{SM0rA8zn7Lr=RSZ_8 z4I`4dod$hMo*FSxEn&&yy z-=7qo^mp^k=zQmW<9clX6rPa1Vqvi-TzBqPORDMLKPYJYA!M%n_R+;k-Ls33yoV3R zI+hNX+B-uIHoO%0Ul>&j78QvLVN)ClXiyMZjLO-jMfbT^Ndhjy!LKlT@QtJY z%>TS;9_B5L_9!oRb*=iokyIr<^$@^|7JTj&s1zS=TZ>ky+(|&^D_nCc(70Sb9~02h zqIH(tkf2GZJ~8ufEQWjDgK`{ejTux?YU>V(6Q*TMXWAd`-wr(=?5F5=+ec<_PyUXv|bEJU(w@QD^hbd5VRt)*krB;-I> z>M9C>Q10-0)~=bp)XG^3WQe$Dn^O`M0mYv7@^QTcsoB)fggL&ju~fo(?0OtC?O|6n z*+aDi3zx>CNXqdq8)VcS%S8MmOB9Hyww{y9>1*nUW(+xB$tAt3y}J?(L+R1{)vS}r zAkG|w6|MD8NL-^gB`A&pNFJKEg^fT~wB}d~$-8-&%aJh1PEi7X2zfVEXIJGu6I?_N zcVOPvr4bq(yM6Y7wAElc(Cl5A{oM@}6g5qE{C8;<{Ja9%SM7vG!)9CX%%6_B_8J?z z$&vGH5WH!ZvO6@~1|~ee^K1NkwIDcj!nH%zQpxV?6!|9dim{{+ zWPM#^b_=tl;F}Ndu;!VXh|mp8W0Qv<39DWKbsKt3%<_){FZV@UM9@^HdlV4e)Qd9k z6z>9WpW--)(Ri^xXEL{)=10Ubb?P)+h%cQ#U;dfDSeZICdwzwrwEXM@GhDiAP@h+- z{krn&bxgx!C_a*Obhm;E6#qN^B^9bLz6j)*v!hW=mgs%X&Its2Tikd>m&t{7&Hk`g zI?{b_{7tP6xvf}bhF^FP#a_jvFF{vBBE>cHxE+CBbo}i_H9&Tnw8t&976$aY zd0x}AqD%{z;H88^oEZce1&|*pF zpI$_C2k0cPWM12w(VR;??cr*GtVaLeQ{43Siwv@9RRCR|$6c!jy@F4sSnm<f|gscDE1X6q@Cv=TT=8M97yVf0$bQJwg-I*ih2)4uASaGknO5t>?;R$d4DF9=Vk{ z`C=W=l9JZ_SDWT9w{64`uvWFg2A52}fm4>87-6*`&qpH%ZXN8hU!CA2039^Ub`G zYth{&{6H;*TJcvk4iZ+Q1!bA(D|eho2Wfk@LG0Wp3CGSIeC{`-yDWo)a6DSeD6R?T znZ%}_Vc6jxeT`(B+)aQ`BHs_(%uf@pcur&mQM_acsMIf<-Sw`@YAU3_{Ol3M_nmyc)Z$R=Qp~DDoJY z5$?=K9C?>FLLBUJxo+d~ZmFdalKZ0`1iF?L2weOz-GF2IZz*=o=9q!+TIpBLTpY;V zQNJ_&GqM_=XC|Jl%r9=vey39U;&3U+u`1RrY;OYspIqLj%3tb!l)9(%6818FdI_lh z$4k8$h!D;u%9})ljEL88Z3RlQrQaVN>{M%kpzoB>) z9Enor4JVDj-9s;%P`%22n-6!Mb)JXV5hE4zAH|mL+*C6bX9G!};M}*EE>Egb8#9dt zmwIRWJE-Y5cQ>+>pgA{yIgSJ0Z1?3b!2=V`HO;%cE^=~^2Y_0xfD3Nl&AYjKmlf#6 zwM_mS2kgoU#b1pmIESR%w$g}1VRDn;_qC<>JezF8+hKNfI` z+v~K~gbX)4f~cDIa_?zghG-g#5|q7Xa+Mg98P{-RVIkd=2AMjX+|KqkXps~=FJfX$ z8yXVQ+1@ReqAPh7Bt9$}%=gI+21n%D*w~5={(i(qsyv9Z*RnH~+!5eUQz%{o8g#(O zzw*R{W_G(7{cR$owrRT^N1pi-p~@p}O2T{Fu_x?=LsQlRYtTPkPstc^^VSSbdU)3< zG;6D|+1sTtw0Vp%>52}kxIZE{W=+iGSL+<1R}Yq(v?O#>bpF|8Bq60;%E+H9agpFr zwAH9=ipA^h1C&JkZ%iqTW{>+F$29nm2Pz=4Yh<@Z)6jfbol(dQz*F|%@->IE%q8NV zfPC$M$Hvx>@Xo23lsj+-Fvsd9gXw5dC%D7Ni;a+>xGLL*NWac&vhtQ&p};JcB}TD)r>c=m#7MQx^dqj5W2 zabVh`P{+qFjK_ZrH-4tC47KGcqk&RAf=ou6!DVcxQzbS9l ztEV#A9KR&A`1jg9a)(8AQsZ%O>3)B3FpX$`uR_X`z5%&m!!j1GMr}Uu8j=i7Vd~eL zLNNya0=uLMeN0NCP72rt6K6!sIQG_0kF;}8;r{*(*jb+zQ-Z$3La3IrSBW#S;LFp+ zHrrX{mY%sje`TKZa(2?zsDIIfTj%`F!-r;uOXj2|6luG0b92AE*2D1ug2RCs(0rG7 z%1C>T2#xhh>}v-1j1m5VO$p89)KV_S=*Wr?tzz-5k=CIGo=&%j8Df;|&>A2tV zxjna|o?Dd=pLiKnv?bTiACjO)u~E#2x~%UrmW(T~D#dFaj(DQnTD*c#dG9)Nb&R5m zjAa>1CNw1(L_9k0&ii+4EvHK(EC>bmLy6x$Ue2~?iw_zb5@M_n&%>ozuXW^eO+Di2?g^io{Xc`aYU<&s7%lWOIaTYVthnl)a?PZ$^T250 z8nqhDvzKSCTM;i$o>eCGABko{HJTEW?Sl3rB7K&%r?PH8)z%igFR9YUP`0mT!?b_< z_!;h0^uFEb;uZ0+v$I=Db{rR3CAWt!S6divp1b56H@v$|7<+n={S&!|9J-xH6 zi=P884F<%6yIij&KGEyx4GH0=9c#0b2|avWzee^Ad*<^;;Pvqx?}eR`)x1xkw!%Gp zj(We2zdXaKF!xXi#WS+?uUYr~kdI{1<#N<}0;&jn!w_Poowr=5)K~0V@?6hm^f+(* z?XP?OeAJ-Cjow$wh0j878eV)LDUo`&K9B^j_i;riJ`^7lr50j%`cLsFROE8${aJd` zr6+7nAi3u?b9d+Y?Z29nT#ik|Uig7q=S}l%Tiy!;^ww?J&^}&P35L%&P z-y|tLUC8lfx<;S|!?4h~rkWO0qr+>iA(Mu#yx7BuEehB!h?`Ij7wvZa{Vy6eK8$0Rch9fEZCEgGdkr zR1gdp$Vf&EfFzZm#II)w>T{lRp7)-6zx(HPU}w6ktE;Q4tE+puYi5?(m-_k681DD; zh9GluXfp&sj1U8Y8$yB*0{lS;A&8C|h9ED5@LJd(v1tW|2H+?{;0&R_F9@MT4fBF< z(lI}X7F+=p=nnWbL(KD05VVnV^{R^@dSOwPzC<#S07I!Hko^({Rl8X22xT` zRMAjS)KJ=vQdH1TR?<*Z24o=QHN;Q;uFo)K&;ENtv-ob2qJyzK1k zyzq&gcR35!|AfHOLx_tJii55p5#kUH7XrzJSn39qWL~O4=m0M15Yz)O3?E1cK|@PN z&%nsU%mNhP_e2ClgIrDIgb=g{Bn>SM9Roch9gF)L95#M)6iJmv{ zdV!vV|`?c^$brWUa zo6*LzX-Ds!t7(2ed8_D2%ZDjD@8Fo^+r_o5AE(uf?R`Ryolh^RYx^|A1<}v|ZfU7J zG0@YgP+8cZ$W044*eA|Ir*tTh7v|uRRl|g`q*s5?;UsNIbnpl^H@Mfnaq{h8*v!BZ6m26r6fRQo(eXsQAAuxd zes@s&OiZs)vHk3h(2k}>j>&|`q3ptD^NfAH{I@He7P1#Va-gF-Bot7m9ylj7p1PJl z?7Hn<`KZk(B6nlR$I_yr&8I&x-a?F#3G&S*qP?VlP@OtZFT z!x7$j9#J`3In+IxbE2NzqP09A(xRp)H#zimD`Wo=O=IZ8#l)$w>;b3YAjMACoOgwI z=c{adozuayRoUTJ(u=$D%w|>G=Ima#y2zfoyu-gBBYaNo0Le*>v$5&**N}Coq{`wR zJf)=^Tn$FU`4yQ3Fh;Sk-|5Y2b6?sROu~2 z-^CgvZXLGL2V)q*vBZnUF&EH1le3G(@*_JjGG|LpVHn6_A~vuj0sZn8pt^`(f{Lq%0Sy~8@q zli_Nei(KqoI@xO6_$T+9plIjdha_BpD*kO@nBc6=wWLeL>gSj<*0D|lZqtW9@~iZm ziFVWJk2GGO=)CPV4)l3T=y~TPoL_(FL0nafy?LbLi`Y1R?gN(sTG@v?#(nOeRUfa- zTWr$#kzlU8Y4&;DY))Ny^Ne}SZT{2maN)#)mp!u;_Mw%rRfeA<&Pi=^jJ_~?5l^nH zbu1@5bP122biE(l)!R6yGy1yA%4g53Fb7Ao)M2fbdu)3?itXv{yS zC-;r}F_0{7w{gC689=X}_@q=9TD+KeWeI9@sA=(>nhn5G`r8FvMguZ(-mz4;=1w^* zj7(kXyi~Wq5^0ij$%jK8CwlZ)qogC7G)qL%hM{l+$Tj|pe0yu+n6%J%KqLttx3KY> zf9IXq=Y!n|q~jYN)!sJQKf9eRxclYvC8*rJQKz4KPN!9yUhYszu+Y(UCtv6^ltsNZ zY$=~nl}y*@I(Sl_twsB~ht$zgxh@9Hkb^es=JGWb-lu%IE4wfFt4o7ar=#7sCCE9m zc*A1d@Den`JpRqfdg)D@sbrE>xnz>53<&J9vP^PHyCr!jm>|U$YUiYdej<1N?Gl7* zmMvL48Qh(;5b*Ft;D}3Y+Y(g5*E~KeBco&@U$x;d{?QAMv3_Tq*qj{p)e>~$oZy9v z94bvDSKp5}CysKejjly^NhX~I(x6Idsqv?9 zSTY4KZXxo+9fkoEkO)V3#2sI zLmI;#Jp18)%>3m&f#iyU$`TWjPn<{zg$NLcZwgecV-<<}-`fpdk!EC$*Bs6g|9q$N z!DZa3^BO5a6Qg-y{&RaYb3N}?6?U~2cSMe9n`voQ8O^$-3bbo`UHEjmcJDf`6X&BQ zXH!}3Dt>u8jB$3AZR&6FUa^HChfbjn;7qFu!7v*_Lk zl5<1BK7B#msVx=bYCB3I%!{fTYdeQ#BN7JjcgGv7XKgh?rMh)gyJQJBlj?W2_M#n3 z!c$5V+CMvc&Z$&gpA2X2oQ?&CLiooM0i}Wd{x^fdk{$vEuk@6N8>(k3MK5zF@UQp|ueY0NRkq5d5-PJ!iRu&e0 zS3`5QoEu12;@A@Oz zbg`q{B){O$KtL39PoyK^L#bNO&6MUWfl>7Y_PcFm#h_aU;L9yODbMpQK@-U~m!5w8 z#4{aCur~#*cid^-@zY3~*`QD4;A?zo)fbA*?UW1!`;_SYOAyoWyY>ScNfB*(NePW1 zS%y{9@5rEYnM%oko@cStw5C(JgQ=q0b)I7**+~)FS)EIeRkMnGylmLr{0wC4oO4`Q zDO*L{^C@>wp!-lNAY9luKY8}W#ydq7dX?vFw^m8dK1tY6bv-xzeA{QN%bt#o-d%OG znvsr+{#A{kZn@*e1Rkf^OziF#B)W@qIdreFS2}uYUnYk}zHFP_I@^7&{ZLELY{;%B zKISMRGgoZ$tOik42}fc+B0VV`bm@hOnx>*E&CiNEmOD0;ZbOib0O z$=Y#9>BZe?$7ziv=+dLYQ8n9yp@`%qsL&>X_IO#-5B%J7O197L+WHqarSlvwjLO|g z4!hi{@<2`UWzW^2$`mcOE7{ zRQ5UCInsidH5}F|*S$xnVDMqENK7wfy!ca#wTqZz&e#H7Ugz15m@qA!hR~|)&c#@3 z!3yI$*!HnBnOFN{tAqu#s=RYr)Q{;f_ufoef*i9KwiIIrDqlB+@?x4(W!M-i#Z@-W zR$et*ubAj%`;e&*Nwm*v9_&1p*f{GvRP#KtLv$#@&3MR#$tQhybV2l^eIaR!i&TaD z{K?p_N@I6tM!PoVPYBBA`1qlZW zIUOQX@uKPJ!*A!uzr|{II1O+0R)4$a-9Ewa+Du&0V>-Szyj!uT_QqSbQwwLBdVR7M zIV2{V@1L@Mp|fWXlhF>>?|Hjbf~wgH==vQ-Oe1;hob*LPoRs#l-J4&UFN6w<6K40LX{7CGy~-s>?yeG zIFCdNyUs<$M9IUuy|BY#4~mUjyBMaNL*4XU2kN1?ziC6kq7*fTjjGH;-pI{IJ#GNpGyb5wh1K!tiCU zrj9|ITZibd93^b@EkR`$>*YIF^d%(RWnwyv7e5?`dWYgv$<)xQaA>h|&JX8GtG$8` z(06*W#V>a_`$j`qmeWVAO1b?V)7kPzTfT-Kb9^4q?O8XcUYsl<@O;6(;nd7xNJmho z`45heS)B$j#@JQnPaW&C>~c{Zaq`Qcx0dx#v+BKad$Cuf zp7B?A>lTx03_ifa$SyEL=1FkF&kVd*Dk%w*iF~_t4xP0xB)z0@K`h68s9>?h{=31!F1wGO z-N$G6SW-&D4)~q^SW(r|aVWNl80KtjS)6@4CfPB-FLo?Dz*#A1{b(<^bvp#6eonLj z-=%5>7ub%?dw%qB`$Ezn5cZh2=V0T?N%+DMVI6}m`_LI7`7G=b^fEMI(Z6WW(P3N_AZd43^qXI+JY^COh|(jYrPtD6?O0%hyn+gj)woboGTR zv|_Y520Mm3(fe?n_ae?T)|D(OB4+GcpAKJmHM~)nIi;j$+?u^SJa~k4Ds}&}XOm)f z(|cp>)4}Bas1tFvsnvzW_hDVyGsHBeVqmc&UF7PIFFqgNQ`~M>yIZ}Kzus%cv##>! z96`+@9Uj>Cbvbl$@T_?e$Kq~ z#3tX~c|Y0!N{ednTAuH(PDxsS(W70O>|tQ`>mDFHD<^Wl{1hShP5-b;+`fSI3sw4& zpY9ZQqzb#W5ju+*m8(M1#lBogP0@KbVmfW_maML9+E(2)suR}fdYsE6F0Xi4NZ5Um z)YLdJJoNoOdtJC};J&AKGr~@6Y`I){;CQ4m039 zEM)%bPR03%gpu*|N$0D>o#RW;y~)|wn;qcJ#+V*;;_&qc+iS03M-d;Q3r%GMo-SIa z6zM6L2ygc`y5xE=yKbAw^?2xWP6%d(e@E%(jb)f?x9)wHX}3u-Hcgc{YqoDZZCj_K zM`VMv%J`34EJ7^3SP4_fMC#xJPt(eKxO_?x>iEoxCCC+5y-}!Gyb5mi9^^?TUG9oc3g>ZC&*{uk z*h z;1S=V(n`d}g>*#PFNO`;4o93kcP(j`?jFsdTW9U2ncLsAPu3@n^k5uI!ho^=QPuCb z7(3aq{bHTmxoxdmCU3KkHc1f2ifm0)^>*yt_>uon-uI`Cb$viI+c%rpz}5$qv@3Gy z?b4{c@6TmnWqAciUC-2<7G6w-Ahq=fCkQDlW&A(Bg2icgeVR%`ib{i1Nvv!UT1Uxz zF~?-(+*#Z}P1AtW5KQ322?yX9#1a?;mZL2wzqAI8x0Bg1*%=tc{_A4FK^#dQcEVgvgLDgasiK zWDXfY`j8y73sQ%aAQi{}vWN4o5VZ^<61}alWJ;igmp>YSSs_a*0V3oLGFt;8WQYO< zQnN4zu3>{Xm1{j5nXtk&s~5!&NA@F7NrH4HDz?74quH{=G+`Pva^Un+D%`(F#UhaG zMWD+~&SAyT|{68qpN^)L=1{0mGE_pf+*K^Plb z0@+By3J16U+M$QTp#BbSMZ%G(aLfI;omOk;%)wYRnHXf?N%n+mKxNX>$C9+FIdB+8 z23MGEXgAh-nap2`wE^2Ce^;zE8n+C$3_|Z*-K+pDh7KYI+WTTb;{q-ABlxU}j~!01 z0zByv$z&oPMb#e#!%H3eqj7dYE0+{(|#_tylL)daxX8a~{gkfT(BoGY6qG^hK<=AH3l0ss%3+(e~$mH5}@jW0$h8rVfVlMpvnU7v2dRSRu-{?3Sp!| zoWU8uXm&3DAP!)0`XDfD!)C}4K%q_7!AZaqoEW}M9Cxsgzs;jqRyF@_*qHZ8BkDWqrlx7;7U=DtcpAdn9gQo)U@WkllNy7dz6`+G` zArf^G01_d3FCvA2A^l}=Lz5Lj8g)Jdj|gjK7XbfawjsSW^NvJ;WXNjGdL!dOl%9n1 zLt{yHxZUvhgZQl+I%*mKbAulPHDYS;OIZv)K}1U6ZyLpi_I^Cb%3hI|bc9XM!4D?isw)FwkIx zKNSzg026X>f<=4{{Ng~c4?-|{0JtM00Ng45xLf>jxA^03@yFfbkGsVmcZ)yn7GSl0 z*|P&I+5d63_~UNz$KB$OyTu=Oi$Crbf7~tpxLf>jxA^03@yFfbkGsVmcMEWHwB~;C z$KB%Z-7S_^WH*2{R|xDqfMr*B36=xWg)qP)!3%6fpn!9MFV#DN2(~8R5ZL|%J`4XD z0|opStRYpHAhiUJYaj^Gy}}a%;jMId?*lFfJ{Z6cJW2KQSlvGb5Ck0lnesEV3a4ES z{JSfh1*Y)l_eTbQbl`ud4*WD55Mnoo{M?IWxA6?}!IFV973?4b?}Acyi_OVo{oi&& znfG{-{erQ3DW34oCDpMAb{JaO52act*s18(IP7@zYuqM?Ky_`R+E*;z3yU$;*9U%A z-hMdjs%H)}95EsW;lUQ^vRfIm(HaC4OlP^rSZNywFawVsY!J>9jm50yWhD^JJ;`J& zb(3!uC`=CWB#;6FE&UQ=L7a>$-elN5;*<>2Gm#g1_k~mHy&(BuWc2= zyLTMd;T-fQ@L;nL1b)hvc4eO%-l^t;w?*|lfu|POH6~zI<^7wCSMgzg8=jxI)cWY* zDA-?w$@`aN;~=n+{7X9bU(&6xm|s%=n%kNT#J!RZx6Utxo8movu$G==-`{p{d2LBp zYKkuDXF;nXXN9Z!A1lZQ%2=n13-LTa(#2qOab#UGImpk8LZ<2g%mLdPL?8GEtgr@a z9jiW$NW$uZ&1O%ZHAgu{LjszJ0s6aw2=E|oSZ}O7g8}qE^1=*o+4YHm2Y#;z%!Hr; zB@pc31KGf|U?&AVtS_KQ4EjY@d?sW(ZZ%z>hz|t2$^`PNO9A}~Ce6xK;2*BAWVor4 zwWfG^6LFZ|{3ID5KL`(bLOx(tLUovfxL~f}QbF(Z^27O&5B#l0!IES9i3;8_u-aJc zKcTjJOdVh_T=ie*+WQeO#E>;v^DKLVnuEQ0zd+Defn?Uw1eWFfZ>7PsDz}v@@5*&m zIy@`!RjK_uX~9zBr#e^s+oD!UKr19yNv~gt{|jlj(yLm%Ci^vUfRx?9OVAKFvl2+K z!{@5}IE{(Bfn8i}f}fU*liG^ro`JiGK!ZS*m4acnHP+QM*hgUn4!{tHDFKb6U|?#% zIFYG^z^%c(0(Zg&0TUMlTuj!I=uHV2fC>{?nE)tY<&sLQf_|E1n+HU{>77_zSk_80F;xZ(_;m;c28(1WJXx3*rDKWvG1 zgUZ9zT5FxvX5%x*l07lN>vXy9|IrS>!yXH;M*0*I@EJ0-S}lM9zziKsjaF&WgSdma zj6}CbMKJ~pl&FAVh|RkBCjlmR!~$#sjA8=Zc|ZJRg^`6H=!tPRRI60 za*EqDR8%#T)KDvjI4CU$$3V6;*eh-rzhR4ODSL_S1Wo*3k_RdM_F?Jx}`B{_g0 zM>+tscE22fB(X}t082s#`BA;OQ7}c|sZ1eji33iTtAGz&Bm1|qT1CX5*YE;?cNMj8 z40G&nA92)LD`-%=GbkCbr~E7Y=QLJJoCI9& zQKp9as*2lHRppfA6{-B1n`@X7NMug}8f$8xB@QYp@8^fnP*76`s;;(8K}|_PRb5e0 zT}erIyS{>g!FELz1w)m!yaq%x1=gO`ycjsI>R<9Is4E*8Dk&MN>+374=qat1yX=1G ziTkf;fZp}9`mlT7ZqEb2)~s|oJx`yN5YF!xF;Q{gX@!=!0;s}I0@MVU3N>NtKjbyU zVLS={Ci`;QKT%Ln`8U}?!awCT#QDjaV@ZAip8tl%F9`oc%gVyq5Ooj*=HR}bWRyi9 zmVjCwFHk_=P=*-F@&w`E6!bsM{ZCwkc$(Un?lJy1rPzD=!8d?ZjwmE-ki5J+RYqH3 zTe#fNTYt9XZ>sPUysBfmK+nM_`nQUr4J$uYfffH%fep6nDJ!e1sT&#UDeRyYjq_Vm zlb<>NLG^#h`S>^L=2YOl$1EwbD^kORC|ChUaox;%L~qVKL$>U@#;5 z*WUdPY_8@F0Z*v>M}xOqGKuI-4gvSEx<0@X{If; zXS;v}3t&LO3I|C`+&hSfM|lP=---g|+Zs&3tW4I{x*m#5MEx>o{oBR|_mkjmWle2= zEoO}e)c=OR)H#yI|HuOTjsAfNlLqF$ z8sC@81-D>eX8vD}@35XwEBnjrcNGMt)NpWZF0Z{h=l*m3BY{5>_#=To68Iy5KN9#~ zB!Qo+fmi~VnTLS2zNL4p4q*Ai-O|d!$aJ?M)p>%|1gt<4X}~@h9=xRhUJr3_bV4z_ z0uO65f#*`evzwl1QlPoDkqx{+3D!zb@S+JEUOB)b>2&L|cSMt%i6siPn(#loa-jo* zz)l>(65uOiz`7m?9|2)p2pRUhKumxzuU7yZrh!+id4m9hAS?ifeU`(rRGj7TPB@Ig z6EFY=<~b09$H3tl5I!DEfuH3>!n>+5!G2h<){1NfVM!bX?+3#0^YXlStS8v6p@pCF zlO$u&z96gs!mL3yR{9{k11!_B`ur01`Xx*T>m>jeg14xsj~Svip=D5DIa3{Ff(^le zeOoz8ute(_gaHevU>}HZ0D_k54CjKl|7Agn3SK__$HZUo{!je$x-n1amP=XE--qUB+M zt{wk~u!i~X1HY6f50|&Ln1?c0ekv6OYc(1?Wl9M`fz4$!7A5yrCH}87{=(KTe8__P z1T4IXjYZi3ErXY8^od}T2VRXp`4N6wa{PtDf0^wU3UF{)uR(w(Z4u&imxnlC^Fqkc zdWe>X1wy)90V#;JcH7Nl2OOp#$X@KzvfhI*NT;5EJJBS7C=JPv`lK_YZ)Jl*Q-Xq* zQE1@{9eAS!2gC~rLZaXi^iAM(FiMabqzUbW48e-Gxe^2hby^7J31_fm)zWs1N!8eTF8WX=o0-Fn|HUhTuU6 zBE%3uggQbSVTjm`utGQ@JP4fw~1|cJmCy~j>8^~N_8L|%9gzQ6(Ab-%( z)AG=wXys@%X-#NtY0YJe@NdzKR`dlz`!8L zu!TX3!Ggh)fy@xYaFHRKp^BlA;RC~WMixdfMkPigMkhuB<6*{R#!SXa#zw|ZjB`w! zOj1l5OcqQSrUOg~OleGIOs|hqnVzy!SXFkMyfjO7?33C_oHx?EaahB~Y zds+NgqF64l1X-D%FVi&RiD*`mBJd&n$G%=^)2f+Ha0eCww-KFY-F~0whXpv zwjQ?c>^$u9?56A(_DJ>=_G0!%_Aw474k->@4mXZaj%1EPj@KL`oJ^e3ocf%eoDrNU zocB4~IH$OHxD>f8xbR%3xH7q(aSd`aa7%L=a$~rUaNp#v<{scd@<{OL^PqX6dD3{E z@O09N3nK%PL0z^ouj&`>ZyFj25Xuv>^$XtU5>p%9@fLQjN7 zgn5NEh0($%h3^V?tfyJOdA-&8u=O|B*RP)v5fw2O2^6^~QY|tf$|t&0)L-}5?n4j2Lu`01))H;+d3WvIYszFU`Siiw!17*YY4X-xLiEk9Q6+bMVC*Cc=ETJyp zEpb-jvBZR=n54PnLCGx14k;!nbtzw|^HOzEGtwKS?WK=Nmq-t86xe9GF?3_r#;#3l zn{+nq+jL`7vkbkAx=esfs?3|sG@Dg6`)*Fz{CW$`7S%0&TT-_)$kNGfmnF#FkZqG= zmD80Amdldsm*|oVO`TWW zQvHBKIzUE#ZG%vjB=%`Ta} z+r4>r(C#vG8uMM|XUx0yNbMo)DY1YoOfAk>bX#t;+-F(7mwvD1-jux`trV>eTGd(e zSi4(iT2I^P*(BI>+HSI?*gm%7uye7?u$!?ruurn@bJ*$-?(o7<$kETS)QQ2#&gr(( zl(V7pIp+^9DlRcDt*#qg_q#rG6LQ13Rk(Awd%72T(0SNU5f5z;@oW%@bwXjLpPu^PIN#27#T0UodhJ1B=lYK}0^!+aReepN(zv@2|U=ffW zu!OV6<>49e9{BqNZbAT|hA2whPizR>5*QQMw@+i=xqTBsWN9AZ8caOmY>g~LgQC!_77%Z`W~i8?ZH)c9yt40}vaOxrQdV^@#U z9``%`>V)!%izgOOVopAfRftWFoj-*>^*l~7?n2yBym$Po1l5Eqr|C}2C(#{Fr8!R(DJNR>p0i+p)J7 z(h2E(cdYKzWT<6iWUkLl$fC)jWDRAzWWUKV$SKX0%e|h*mlvB4wihhIs`ghjvItS1LpWl<- z&wn`bk?mvhC$Uc%gGz%BhKz>Z3_A~h_#F6oZX{-uYxMHirm=hDJICuM940<|3Hq}1 z_0%`PZ|RfUCLd2(PW4RVr{`u)ei!_H=ZE@_x>@_#Pjeyj4D%NjWERR6%@(_s@W7Yl z=jTLrg1Nx*=R|(K--iYS!S^qyXBz5(q(OoMoM_<#Nk=`vn8v^WzCp5btl-lEBnCQK zx?fUOG5+DY^bmYb1c^e%BN5>H8$UlM5(GXc0;aVPJM*llkhL^A$w1|X&0Qgq>f^?ZhH6IdzDA$9 zS%|USRNW+_KJd-h#16Z8yN2m5doWS+CR2_a^$8B~jX8GqT-vRBMKw>FTi$<|oJu}_ zJH5E1wyw49d*1%GV{mBr`;S>J2z>tph>;#i zi=<~@K==WcxggpNbli&cx)Xan8Q_ngfG?mtVpMA2?U(qXx6X=*PuZ(6Nb>OGq%->b zr05%W(Nf#2-xaDz8-Nd?*luJ#a!)`|Xp_ulRWN^l5Z z=V;6^z|q-r$>#xAH`8w2P6wAWMOY(=-#qmF5LQ0<2^I($X%1#i1Y)!ms-WnakJtTO^75Z$FoI~fJSI*$iL86GEuR=C>qkFf5mf1YRe<RPHyl^ph#!AfeI?IE@&dEEg#X!vjf0n4o|>6mi+i5+BUmcAUcjMuY%27!qm#gg zbxdCy>(rI4Zyc;Y@{}dU>ekb;B;p-4iBja1Jp0pk^)~cuh|lmjI?`akXMFChZEW#G z&ljYB^8L<$O&eQ=;|#@_ole@D%-qn-*>MOX`xLQ3H;~1_A%9}pfz&emj7{=Qwvsiz zgWLb9R}2$dQvhTe-WkK6Uom3-8dSg%lYURs#MI3Rb4h*RVw%jln~G=cV%D{h9LDhY zaM`WHQ<^Up1VTTeYIHrsTG z&>!v#{_-iSr3PYgNa1MIRK%a(7|3ra7Z5W2t!4OK&jHP36z%!S2};}JS(e@!0DDFb zLIfP8!5Dh6u;9N>Yxsv(*=Mz!s(rahdh`QlVhT6gAtJf6@(RNMC@n5FEdOqDgPGiM z=lD-PT5h>kA_)R-OYjL^DjMHYz>AXs$j~77XmBs_f{6V?WVp>$?<&w#xpX22Z#;=A zDVK~G??CT+Ti!7n47eP$+`?aSUI^;WrFh}}=u;Q-vVdx<-Bso))^o-k3y?tuXXN4flNuJ?2UL_4a3IP>WN!(sEQ(R% zN?moGd;jnh`fL)}&;ttR`_(FW=9~B4?2+!%B0!uj|$4GN&@O4KUI!L{#-Xo8*WSq%ad8yUJtzU&cX;39#27 zJ#_CDxc0o8F3OhYh&vV$TH*5c)$})XXNkqW`BfIr{x=&x?)Q#O%PF~jk62-pwY5@!U%WIG6x?paSZQ1Urjs;?_9EQgD*q zdjol+?sOP3{U}f!4706UpZv+s*YGc{@j*kK)v$u>>Xh#rwW>Sdk-2jd-K(#~qmli+ z7WP@|MF+N-dpL~Fy!t#-5+omf9#pPtUvm31>^A{Ny~H~O^9i4TsH5B-oy#jV&F|Wr z6v8u>Au;}))H3}1I3JWfCwR`Ko9kgS8!=~m_A@|@hV*3?*6%$Ui0&e&Mdk(SN{T+7 z2era0DWy(Z>2p3g?o7k>P%?hH02I{_G{@?%Qrfl6?ZctsDCeRoU>@w{PS)Vnj5dde z)DaFpA(pZX>sA3h%A;vWF69;x4&}3A6gG^Ggn+sPQv3w-(xdN%ltM!RT-Tv_&`I;Q zoyyF1a5%JRdWeGE;<0t06X>^nqEp>VzN*2NC&@!hcwZ1~*b$}0AS1z=boCnXW~2_1eR^2qY~i2_eTUEOD(Gw-EU zoTGC_oV$fwkDkbvuI>b)J(IP$+a$60j^265WmNh-d*96X6rgO+o#L?TCBD188^@&9 zLLM_dcB~Cx=O=u~RCh$ukh>i9<(}jPhyW4pvwX^2$I1A7nx9|xV3;sh`{&+4P*|OB zBBumjheH|1y<6drg77mUK8S3l*p!8juu#J=8ZTmB?PfN8l+iXcKMx`j|KxEN8 zna2{*d#!1C1Oy4>Y=|?7fC(JXzys!US36{B}I# z1D{Q4q1>J8nK>bH?*8x;ue()5NrmF9#^Vk`1!XfUk63oht`X!0?9(>R+Rqm+)QDxP{o`XUTV-`1v)LGCGRXGG`Atn(U%cdOPlWnDpRx(kymz)eSnhb^bIWlojp>F|f=IRSbt}5! zo|@1KCeLwq2O{?z75ch!~&Uw=NEn+^p+vBq&&;?+4#y)r+~o7bosGG%PbC8C&`AszPim z%lFU%Q~?O+pjxv(o+4?hzpee+mDKSL_^g zS;Fg8B}9hlJMVt(XjKD^7oi~((IbKb>q?ueH$pOfUe*g+ZEPX5o2h3-%G?<)!ReLO~_tXFGi#zk=) zB+!0$0Sfjm^R%4vy{Dgf8NL=)~vI*5Kx0ge7 z2@1ZpNmBU2%oedmPA03JB5~PZ&Kg11#?VJfxtSLpzoJ+cq=q9l@{|X~F>^*%@7wp< zKGRl9z+uPRD0fwrjUUk)c(d+wZm`_bcgmzGU$UzUa1bXwh*4qe9O|UFSk>3ubm~J1 z*FC5vmIW6*lWYg+)hb#Vk_v?#CU0-XtMhhn-+7UhZ%d1(%`7UP<_GPNI-KETNMjR9 zk)3dSSzRSmfyH6l(kRX+_vJSiR2kCHZaY|v3^k~q8s3n(AlHfI5Rgl1FG^e$|8T!^#n#wm(uN_ zQdD;oHVfe6Y~3Zv-kbN{)H8WABR)gx46KzgF6v%lbY@wcTt4T{H-pY^(?K_X+Eq_i zeOlZrFXwe7MQiTh)<`0N;*u(!A;`iVyy(()5tOeLIsnrWV_ zh~|4gCWqG*@18eKC;@jsO=o8kb$#Dk#-aF13oH*3!y$N*kc)k{w@m*dapr77k74EQ z0W+?gL$h<=z$j~*<8A)Y{eVTFKDWtCRrxq5t~wCYE#93_mMmA+-~9Hl^I*kjKYWAn zVb52_`NCU|u^`uH50}SH(st&k4MV z-0DDqQd^lcOWgGz$k6R7Xv(v8-n-n?3&ZctWD_U$)^gL~|z^ZECB=p0=f0~5D`4d*c) zvPZ7<>~z(nF)9nGBBsMr><z1M#@EB(;NtdO73@7#2?d( z$OU>eUrbaefLItHu7J2cK5ZecInbhH*YKJX;A3J|H|B8iW(0l)cvdQVw{q~TPMOIm z1`SU3D$G?MSW${c15oX}7kN+fCWeIwvG?@MgS%7%*Id4bDR%9~r~ zYXw!2NLcf*;tQNcmQf-%{b>E&&BMCFOn{-Z*Lw1vD6c}V?6+Plw7x!o(w|Oa| zgE-=1%0x87C>0BCc?$6gNeUbN+fRfc0vrw+{s4V#X6q-~$_YjeY*Fhh8-7t3e60tt z>mOoTs;Tt!dWceH=G*DiFo(qwSn=A+507mI_j}6vB|R0nH8V}{?DH_KSMZqJ9r;fq z$s!|!gT%=&Jb-TZ6i*F#dor%ZskMMrR#QY5pna|iA;;pl7H8lStq zgZ}eUT-@1%wW=(qon=NN_*Y>gE4`efl{s7c=eB~ebf@RIk;Cw<=k9*a zX965(Oq$_-8;w_`bx0NT;76&9UaL%Z-8wqE;Ff#SfHQ{WUQ&ouaZf$|8V%S%7z0)9 zz|WZO6&B9-eN^#$R1Cuwks$UO*x`_Zt`SpJ8JW_2`sqR%!_k3JfO{q|Fkb5`(VKLg zzp)SBv6BxrqmS)W#UEXE;Z>d4m0zlsUz~amwrdLiclfF?8}F7FeuxWFx!W};(Az-) zUF&|wmT}t!j<;u1%X2CpvV|>n17SrjH56>}N=ta|@J>bBIp*94rOkC)9Jz*W5#WWY6w(I9Paztvc`fhWlV4gRT297DR zP0bz?9!2VU=Wp!xBhi^_S(~y5bcR{j3KL2zGZABS$3Kd9kAIwZ>N?#YxRr2agp1(@ zci_}aTbPpAt?}CrK1u5*pD1#DaQ2vv>OFZYkKxS}X`frD^^BZ`=CxW<Tv8u#ztERNbcb+*#{2KdGv|GOgq@>-Ln%ckRg|-b@i{2cp zPqoc_w%^8!w~bT?d*R!fu!O3@l+lt}vcemeW{x9eW# zTc^sSAC`c9l*Lm~lA^RxKFkmEGB~bhH})15K6v$^-oZQhx%9i9mR;7HJsz?jIVY?7 zj_KSj7Axi*4xEOHvpn;98g+vtZL4>Jgj|>Y#@$Z0x6ej5blKf%jOL6r^viHL_G8x* zi1&(0bLNS4&G?UoZ4v=tm4_%L>25bQ%+6{&YpkznpEiF*KE`#UrU3g@>ee0Q1Gd{* zb_pE06XW`&p1zNHus)5{GR#j@s*|WT2{vWXcq$lT)MR9*vn@(CCB!`>&^#yLD!4PQ z+a-GKfrYhfyifL#abd%kxuZq)_~`gLGk*qP=CBVgUEeEG{Jh8c(Vpzirx+`(kFqt4 zFAo<~G#}Ok^y8C$oISCp;RTz4f6=>QTdA9Nr=C067(p&`Wl=cOH^3%4-aL@3a$=~f zr77ZyDcX0w_ztTyQC3+7C9xQXqyMN~9SQC)w%vPSfx45SJZ`b6S#O9X^9jqYsHi_=s^g+)yXey0-3`(W(j_U~NH<8Q)JjNqhe&sKN_Psv(j^Uxq^u|kezWiQ z@BC(WcJAEg-gC}9&+OJ_)ecYtzM#}s%Jo*wdCCiE5!)z!lna3EUR`)Aj6$0S8 zoHXaCG*!L6SdJ9ZR#zuKdpx1G-dY=GsVM#i7+lnHbs+42q;N=Qsq$;e%Pq@cK*=+h zsi@D{`+g%T3M}SQWxi;kM9Byu!`r}C-cO<;V^0!)YDJ)kjX53T@IFv2tgEl?4E*Vw zy5~@qa8ft={Iq!^7j7-rT!_>T574W05%gZ`alb;Is?S1iw4D7Rm!#a=U*Cy(xFgac z3TSLKvI^L#di@x0(zF|F+^H`ve_F0UBQw1y^yY*SO_8 z{9j)o&hU2g$rER+J9{I*f?CFYP&${?g{lAP%k6?_4cL550FB{{`cz};n_YDR4G6L? zsCtU=AX$YU9Gel4wkc-hyo>w?^!Wv8S7;j;Y*G9gqC2Uv=su`H;EcQ>A+*dAi4*!T zEg-m#fx9K@y{8N`%m%%3M3u-Un#)ItY%b2t41Bq5%twj! zR{|))KSx5E_sZNae=7dm0S%OcpQWA#nvB8?u>9IUxY1+$Qp2P_Hz(n`RP+(e5hK4u zy1WLAyF}b2)Degnq2Q~pyiA-hDlp*KvKT%a|%9 zcyeSHju$*Sl?{^>D7Wr&Bp|`#2+i~fNkV_%-J)>Kb1N5vnB)(;&7Sk1Db>?9fYAy< z@^qAYyrHw*yT?h>%m~(SXki>5sqePMgwqy))3{`e$h8J1e3|Q)mSp`|DgB2v$VCW^ zeE1wc*2?!UoZbwx-qW{jd0`ym zBV1ce%GusNQ^SJVrhVEc@!g_EBt*MR!#n`qR`0^jH57sLf~s)dO7qYKm2I7e7Y;2a zxMS^nJMyxjn|znv@B4#IfmY+euX+6-W|!hq>jpXZc6-JblG*Yws-yc<&fl^rmxhiE zP7MyZxGPrM#-++Jy7uyLFixWsaI5|OBVje|EzDe6p#-%u`CHW7|5~0ntlBtu24@_0{Q%G3O$;4B@MPyw>3(wEfl?PM&}I!~ zOY9K$Gb5O6+d;A%yzK?N>n=BN;hg~|U7++^Yw^0_x1_4qKbMAp5Z)OJMjYq8Cf)I_ zv9_-1xO9^MfFOXnRk0gu`YevdZUHI#;B4z)@gl zb9DJZp2g}j|U>^)N6%_A2|9Q4z(2kJ$ za%B4b;vTr+D-qp?w5}@&|ALa}2Z$MJ=SPCjI)FMDff`y*bf?DOOkR?3m+V~Qe#2e+ zZ&I;YjQ=&wr8q-&&tWs;`(fyi8-nSZIso46-y zxzf5u*#9q$V_jcQ(tQ$%w0g4{rr0i{@l<39bOQ@BIhr9fzvH_j1QmLLB<}USAplF7 z3!2BztYH+Jpq8Hr_XB(y__b5t?Z6|$Vd&4+kUzy4RW8moGFtGICudjMW6O@0ugQE$ zLcd{Bs9F6Ba1`_D9GQY zF&D{}kp>^1BE^AB++y+oO6@dObwx2jiXW@Dxfkr}pb!h<`&nKPHw;R;+`*jp*R z6tZ3KpO?^p>ee_dZ;vVQXK39dwiy}tA4rnx-@0SNVg;@TXteI0z;(bKjucSacpj<GX6v2d`)jMRmi5U*|yL1O4hi~NmAo>r)PLk8c zhfL7T6EXUqioPCZo`qRT8m&ZT-O-57AbYt5f1>{7c*64Sw;P81S1-7TEyr+#e}?cj z0k@PrImf8zDB^F*eeaT=68u>>2DqH*-wsCnXx1I9%&(1AJEFhxGvG^c)+ahkbQ{lC zs$-)&zlc!iC!DJ0ag^9=^P=Bv&dBwE-ke&T!qW=B&@8%ou=!*L zJgaqCeUJApzhhfzhw#xEqKklAYuu6SVDmDrCsXVn!hC=jXH zLO4f?zUEF)XsJxZaEJ0JZ`^cQ@ovF?8}p_K&PKuWOmO9>7c!x8tPEWlaP(C~PK$8` zt)2>kp9uYjEjPg8^Bc$wt_qf&o{V52-QYnxk;=*b?`YqFHQq!eoTii4d1YR;i=f(> z;Nybz?irpl-=>nu2k!3ltF?%9&xVe*=c9yrWZUddd z{cgQog3@Uy`>ON^T!iJ1_|ykvqc6?Mp*?e5@V;?`97;VBm5cQr@aq`dB8eXLu0J$i z4J2$QKTQAyaPZ$!bFQ?`oQLFb^W(Q9Ny1r1#8P_{jU3ZjtY%6&EO?PemePVPBj0Z< zCRh7i3n9f>gL#K*1+ib6)Cx_T#zUg2M%lY$W1MR0)6qr4{IB$EP=I@O;*Yp5g7DUx z9Ttj@TAU}?FY?%%sBp~06aYtqkG^V$L$Br%bP#f*F>^@#ay!R3!;M1XI3Fr;G-9?(`zzok1r<| zb(KDM97#^Dh8RYK(20DtSvRDLKklrpHIsI0dF7aAf&OK0=~6QMkhBL?6=P;?oCxy_!&QB^kjv%d7+4EyaJ6 z7*UvxFrpF{#B8l(gg)H-sXtoBDu9#<7w5x%++Fv3vKXZnIb^Gh4gz1qqdTF#KL7m{ zacF#Yz3R*Kpm_%+xzDR&8X1QE>JsTtN_mJu>@j(_sV2)9xvmQRJwa@RSfP;{`0ZuKi2Q~hhy0R1aW!#uP=un3 z9;7c{XL+~Skvc>7wQ9B(Wj(7H)#q{Ia;1Nu8&!wL-%C3iU-WX1zi(GPdC@2iM}Xg7h2UrOY^cIpKNz_kXt%3PT@dZ>l5YBWyH zmDU3&8OL9VC!z|6wzh00`-fmbrE3)$)LC*QHCdChD=S78vfuNK`F3kNZTv(?ArT%v zP?$;|dC(ktDb=A8NtSk`!QD;*_mB@|vp0qndH%zimQh_kghfiXH}Dd{zPyI8&lN)u zU+FTTo4ti`^-4O$s19ET|9524ZhQL3Tc_=D%s6B#k0?{`0?@MQo+hxcdz4uixxtbx z6sw}~1Lr)=R2&2O z<@ne3g`}{m4lP04%Cs`_fuTyNy)gRBZL}lmcq$@bIl_qkBvGF6H8#6dkVai4$L34= z4En>0sz|ee4Ne2x#L$;ot`A$`(`V7ue?jHKhCwauYdunxJBJXQE=Sgzj$r|Cq?ZRD z?Xp`b!7E%7A4|d6PM^fbY?0GCf)Q-@;msl2TIl>lzdJ$&{|nX&`BqiW?{iWo1FNDO z?#7pkAAst}kX>w~N;OTRphr>_G!sDhvcixjoAVl<{K2hq74EsH4bs&u&mumytyDeC zDmTd$N3;y&K2Dl^n+o0$$v4~Rfx-}_OAvJ*-(P&!eN}ZT5N(&1ZGJmTMU87k;g9~) zY1H#-IBLxaNTLoEJEJ5r_iyDH4P6A4Vdt>WP@t>T$IGTo4E2_NHsLBA3huhBg0}-Y zPxElMaqx<^JN^}CXcY`7?~QpPpVO|UBzn3Jf52e;$^h za1rTple4atFPO8&YV6HXetr^{Fc60+c3q6ku!v$%ah5ja#KF-Y;HlXf&rUK4NJedL zJqRN8&f$4rT{NZa0kqIm%%R97&Q9!NkyKVUVEp-Py}sD^{g0s0v}uwXGjuUAx*z|POZFvhU;3g#Z7zwp3=4^@_Gd<3%sNr%Ig zWgHDU!sz{f{=xwR!9vkBQ)V|Xj#?E#YW9G2{AqFnzQf)~%TL7#n4!>@Ba(U2O2on8 zTQ@4#fKKn0Tka(@r^UYP?c;AK%waPzU&p_6%hPJQCOCjDw(}EUP3nl%He<^yiBMXD z;0%HNAK{K3J9Y*~iFg&%m84vpY*KnNqpQE2jvODWV9Ufn_dl`%s4u>6$AQY;R3|{bU&1RYZB2V$Q55O#f6Tee! zGb4C(?H--^-rN8=U?h}?Vz|@I+r#(*sb$SH0EEy3&(=}8Z1;Ux^AJ%tY*DP;pV#aE ziRl~vK*Ix~xNnZ!de{AL7W17C4}sKL`<#ayWlrw#kaPt;tbRlV9zZ|6)E=Eumr|i%rPV-DKFpyrQG{R|VQS!X+Vv5Eu)DMqvP8UA*_~i2 z|L^cTP7IfyirUC@4-M3el4}+r?S?bNso!b~Tsa`3u32sQhNf-P{^utkT>_ZgOvBwu zl{kdWM>i$teBl~#g)*tlmbw~~y$cmSZh!mD^DGd8lg3p9#L|uf+2J@YEjN$LCtu(@ z52)^I8=1DQ+SU`;+qO|?=Y>Upqp==T;EC-{1%JlPhUe*?#ceaV<-%Smvf2|G%{_ww zA#mBz$o(mD=>fMzi7c8geZv=d;V=EO7{TSuF6|fKAx@EsXfFvDkP2*dxRrIpN)5sv zxYvf-hfWE`*(-nKgsuBTwD3QF;1g0x694sB#;XTR9uFU|tW=|n3?N)II@J?zAnRmX zdJ=5oyUOQ>KS=^>5zTzAnC8Mp&f4#W`OO36e})#4!PlRSAjB^k+SfsNy%OQKU894* z=PN+y{`~e5N)Ol=7ALD{lZS9)(VgXt0NQT6<{IkU>Y9#Eu<5xp@DzG;YdG7ebUpcdSm!do^dy34|+ji+Jk>zFjWU6o85b)39tw|POCz; zVKD=W#E1wtbu4R*q8c7TzN3HHs*5OYPEL zv{C{~$vEm{@@=aka*sI3a=%Mt(*0Ibg*!IWBL9U@OUaNM8ahk?{mW}f?QLMJ6 z%+@5zMqiV$zO*36BOf{2ibtXb#rPeXrfnnC1N>9NXK#xGcLbL~p*Uq*(QmR#dZ^2# zT|NJ|yZ7`P1V~i*xmO1PWxhU5nG=15JTp0giOKS!vXOv+>-wZhn{Qw`I^Y|!t#+j& z1;}oX7ZF`-Dwuk@FQ;p+6o$|@oW5}w-5$amj91{5&~6Fs*xT9eG1!HkAf7W3hqbx? zqDEbeqHX?GbQUl2oX&sMwY=!S^H6j*NNG@7IWIHnsOG4SUpv?l2RMX zdOAi+^O5rAakNquRqrgdhy0DMuGNQjPA!lU8bU0MaAA?0>DNs?!>&Bq-kO`a zcNmx+mwNW!Rx$n@OMy=o37B|mgHZ&D?C zKw^?YJl~8~S|6eMbCOu7iHITBU>8G%uH9RNfok} z9L(vjl!jZI|A;>_ZM#0ztqE?~?d)0fb>(=nbP*aLyl^U?F?GXG)6IH|98rO&uW0aI zD#wdgnYJz{G|@V@%*N~ff_8RCccwc(DMM95Idyy(}zxl((A6+A+15eY5@;$cJV%*3^P%qk%A zrcx;q*9@KV3neGUG{bTw$Q^33$<_BcHmALNd(DHP@XF$dmoMvG>euV<*WHkpf6wCJ zyb#vr+WodUXSc((!u1iA`46&0Y_9Ov>t=i5qYtaa zefYVAXi(0mz|r~N2l0Jh7(^(V*jZ#AN0RwdOP0FGy@XY8|?QE}s z>mAkk^bqHx!fJgN(E&+;(3kYGz;mtM!rHeS#f(M)*x}4^hpJrfTsi6ipD7*K;&J^f zrc|?V(eX6f;W-W>Ttej%9OfjaB!W^HaWWpc&0fV2q|!YOEeRplEFmHB}!M$PNJw>{0$O$L6? zGyy*?=l7CmG#zGN9tCt7&i$^c3D~um6DqajX^iMhAS*1iBXms-Z0Sv>vV-7N$sYx;V8mYcdMsA!!l(pV!tP9Qha?+=1kaXoF-v-iLLI__)3oabM6#bZ zr|OmKAY3OY#{GfQ{DzM2OCOoPPy|=_e(lh-ntw?vk=63u1+`eo*|Dw&aik8)%r}CU z$Ec?v$Qb?LOaIufT*ZEhjU;35+VknoUraI2`@MH*#k`mY-y+@Os;*(vyq*?9CJ>gW ztAnBKi@g;n+xlcpiq6X?dkcnT8TsF3)H7d&GSd!rUd?UTav0h0EvwBjSB-MIFn_{O z^H8}UC6(H8Ylj6zH6{kd&p!Fg<}DBn3q*_NJZ3BhZQM=j1aTI!?~ncvdbA`)V$8V)XFFBJaR)sNwKyh=CpbrhV`(Jx~-FwVwG zn5U*G%YrsjoK|cOe{eP7sVhNx{n)RuTe?|@r)BP&{#ri$sBcBxwvr|Oi)Y+4l^y1= zvV(+Tav>7{yQ(gz70XS?dmKZ1HY|ma(WZW zf6>o?Oz@ zE4#mj)-jH}wLl)JZarZ_ah(bYPg=BE5N7csc|F;7a=6Fk|3~fJtKB98_V?JkQFn9} zG6Zw8i$w-vRvKhg->LW=wl|jM?8meZjDMO>R5ugF7%*ON>1Y@)OTHa?89yH|iwZ0u zTgX39{oe33zeA|rKpfa4NY_1S^87i2sB|Wv%$|!1vwobpWP?~E%W+txro6fahq|5l zd$N;?GrIgV!0r=65uP*djp}7$pDffDz%NIF8kT+w47iOqtJkbj)1gl?uxkm6PR~nm zn+YycMkbB#7%8#20cvzzJ&g0>$Bo2&%bG<+P%sp2zb4vNY`FsPv#op|jy?L4bRS)Y z{n0-{Jb!uGGVKfMfu7UnEPLUpe(nW|LBW&fk4I6Z zrK6ezVKxEVuv{=f>8M@y$D*mqEGB;Wc}kSc$S^=SLB^i(=LetZ??6(E(+y`kH(lNb z^&17RQgWb&f{IiFG6O=C@$(x43qPve64qZ*?i+6yIBLBgbz1rh3#viry4)OHAjl_R zNDC7e-Jojn0aDKX{vvum_aCU5C+b`G6%8tP|1P1Z;#lMzE?>u$bT8;A6n>m~7fdUo{Kb zQa)rim)YHjorPKW%At@ieUf~mr!ysx;s_R0H@ZAney#Id*M{=m=qqP9RcQxn~lMmY@ ziiFmoF1c_J-T80-1(wmiz{+xcJ&(L(Ni6CRT(4$thpcq0_;!OygtBt8?9!HXb(T0K zm*-!g$H#`}HJWN_FB3d=dRe7v( zi~<7dW$OuV0f$me@Wu7Aqw&)#N4!zGD(Qk=jd(xKmqw4WXPw-ZAMBuXd`gX8sW87b z6ysvuA=Hol2CO3w@U~kYsw*8MW%8)-tg>77$dv3mlEcp*gEB|ny1Zg7?1w<9#VG!r z=S{8NORVnEli%Tr@JWuW$gA_`AZVl8&>fokojZGxV5MEgu_tv!M)g}S%Euni56n?5 z_4LnF>^A=SAk}7ol*g0$v-xoeCThnP}~@r{>^AC*=Tprr@Z znz7clmXa@GO)Ze4qn^;S17$QJ$*5vbTYuxabVso6+?@e81V;A3szCm%(X?N*Aos>~ z`jnNz=(V$&YYpGP{J3Tg{I))aj+1?*t5I(`8@zd#7dFQQEGS6wnK5_oOI--rnyo^J?^D z+!DfeA`DO6)0Phf?zfght3ps4ZZ;ds9O8`&pcbvA1Sbm7x+IKBN)H9pRG0V*P#EXi ze;}%X`bGWOup?gOe$ey|L;QV!hYD4d&`P(_bW?AQ9z#vE$#&R)ZBsUR!X-@)6ebOO zUACJ!h<~kNZUNIc`%|I)=nNA+-;5JHt^NmkE%w$SpX*S}guFt@YSx)CT)ll$=>BVz zzGCP6Jk>lDrf;EfR%P%Qo+_TRLYBA~}_T%{Reff#H5R+o$>yIu)m?M$#UmD*u z7L%8uC;7ky)ntE~|8lfYEkR}(ka(NIG!TLIy{4>)%g6YFPMtL<_7;I9|9i;5HP$*>d%gn~GE-+NtASdy&N2ZDZ_#4HZ z#>@*<*L~ApZU7qFHcFt_23~v`tS6b~2?TEoPRSw(}OjIBR9ak1TW38AA6KG`HBn zI!Gam;G77uS6=UeJuLOg*OvNRSd)kRn_uorz`3i%OT1_cGyv|-+mjtbfCti%OhSdl+k_RIipAJC6o@CnMtd6 zT4RM7wWkI5UE5byoUD&)Gy4?Sg{rCvGXqDypi->BGx*m$agWB@XaQIj%B7 zkgQfZ!-2dpxcan=z4yO)e=BE0byzse`4zk;Yw>V-khw4p4}yzbrj-Q_$5Im`s*QclD$BUQnMA zXZ~um7!gQO6sX|Qng31Ni_Q{}X-(2W$RD?#%B35F`4bsRJO-ds>fdw{u^rMl3X*9C z^T*Z!E-ke+5>OEZ3MboGm2d0r#;Yekb+!td3}U`nMk*he=C-PX6-N5$9M)#jhrG}k z#?m7)NCM(;{6<{fGBnxDC@s=6Cl3L;HVhteTYuWmkbmLL_K8L_&lXfd6Ws5fFrV{X z{%WKH8FOP6)Ppcesz*k>7@`9t5Z%4{eiG=QoM4iXX3%81ivVdrc}3~O+t#1_#~A53 z1eI#NfgYN7>^~T-MkZU}YTt0?qwos$>GD85%!SkLvCp*fiTEX>pQX_L34=z&r|DQ} zis;|_J8xD<2!xzFG|NnJ0P>F~#rIbR>;NmiU%#JR{vwml-a8v@BQ{$_lKV!Ng_a?5 zU)W1~)u7|m3I;L3xa2hLV~p&aEEzNKfKa?}qy1tqpjT|?PmezFHei<#e)0Mu(`CsT z)xW2tFDsZ6*(&0xnNAX~X(x7DuD*k#cbjzPCPL9d$Ci2Q)enqp&2f9-)sr~rbe-XUEKBhoBk@Zqnh?sQ z`;;We*S~WPd+szdeq;k5R-jzw)@Lb(V42gmS0DZAs&WU_f1J=!`{*C{?JEnDs8nS? zo4>L#FID+e=aw!owRs6t)QH(K(d@BE$}wU>ZW})c?&+on>WmFgTceh)U*jbHRF` zZPNKX9}486PWqjJmUhd6idd~=j|Ql*HU%pNckC9u#Ne~w{<^(7teO~czL(DTtsBsQ zUL{o0@Gd-AK}pTdmDO7tG<~78?lmDy+{faeIz1CzCIKOrA1q}45awtrG=LF$JTLq=+%^R`wPg_jfGn*nA`G#!j9Q_m!i1kFP}%-FY7qUngWL4`Z*ed za}r#pL@mqs{d_3pn?&i>D00Fa;jFWH-`x;pp4+SPqPq`mkrfd~OScp*??+!hdXoyfr;Xd z80*^njzN#+2w^M)4>;zqGQ>`6sj+m#rp#k26$9#X?ZQ704xQ5b3MroVoYE-**ENli zhcqHFd^Um6k~|@6$}~zOv3({oEE+tMc*DXlB7CHg5F%JnVujFgVk{zj~Su0{904R1f6b0;fSvw@ss6sZ6 zel^4ZM#O5p3%Xam6^oL$ddu$3N1LBM6x29Zw`?YUPC-XLe;qrNmAOQKHC3)k6-^7f zgzpW&gmdU6=v=+Jde?5jS@?}ecGaTLG`mriYT73X7O*%)Z3RcpKhrWm6PC0 zE#VwZ{&5^iCcbokT~Z)E5mfexlce@=HjpPi=sX>L!{9V`te!r~WX-pg#Gt!}8Wxn; zWD$yeZN8i59rC1bVO05PIMbW^CEdJ_0bj{@^$SC#yRR2)!&UWa_73zGHW5d>-T)qF zxLHtmZfHr-HvR{yFq0_h9#^iWZcy)u;k)l-l3$M!rp^WPFt_qMuX0xwHnIzO%fc-+ zbtZpXSmAiHSK%3HK6}%C?3PhuKtnx!Y07`%{d?AR#YDhw;BZTq~q_THLcx|Xr zW!)o{QU_6!A)y_7%z~k<)koz?>HBISok_nR7EnTpw#qYQwZ2s8$fa(O0<+j9!-T!X zXB<7au`ZLiN<4bOh#bWaIgI)k1nGRcH@M}9##5FS z(^KkD(ahi9mgMzxgThD~TYM$z1`2;vXlVv*Eq`*X*f>ZcEmiL?^!(lYyFC2JUM=>G z!4?wTLl&r`8@cZYM=+qdsN+W?F!G{BoKiF| z`^C6jx1yqP`K~cz;4#k_UPqObMX8$pD@2CPpAVUquaSN>SbMku5X(Owe8POGgyN6n zU1mvi2>!1C4h6cBjKzPQ?8s`c@fB$euPlNqF`tpIl25&^h8r~^t|<4$Qa;}S!=gvN z5#jVZEKUrN<*ta!`ubb9?{NE#Pi&wo0gb|j{%`T%D!p#*ArV?qxbu?AEO`D}FnIIN z`-K}y7vMmbMm(wLoiUbl@q-8@mf7}&HGJRD4>`BA?Dj}Exf!dlp*;s|ew|_6a%6~OMM!{X10e%Mi@PVnzsO+tCLlCbu-hXTMp{@cp78O` zkZP@_pLP1fb!8FCn9~FsD_NK=F-*^ZS~nXN>qwHDx{dQyY(sl)J~)_q#wWrIsRvNX z2m}6s5({D$kk(8#?oXerwtjS@yU)9j{r2|6?o%%g9V!@if~rEohZ$?@MEtaU6D0KR z>mUPibMLbrd$>{Q@`|d!??!4p-!`R<(~}S{m$%U?P{*sF{KOy544WCU6}kP%Qn*g2 z9d;+K)3w4zXSZhmhvB)EXYO6a3&rv2*+xx>8M-=5GS4+Rq5-WovQLy?^tRUNg3nc{ zh`cNlEx8V(kRvyj4u4S)SCLHQim!o(xxyS79}Fv?koIuSZKY`s#Ow5D?_hD3u3^@T zNfZ4GZ{-*V?{B4qTz)&sl!7x!VRZFi;d5y!X{JI!a}f&Ww-(r>7=$58#mTcILUuiD zo3c6wvfrxwA4CP`3(z~AszcQnnC4BT*^2d9w$LCvr|v8t8wK-EHtAJd@vE|f@YluT zq*w`GR%4b)m!7H*L*F$*Ix>B6G)xQmsU=vBsR?D4`taw)wUfQh!1Qn-PB|dB=w#n1=BR2$cSuJ>jbPZ zX?OMnNmFTE6BRu$@KQIaMUD1FAV-%LZj|o#mx{Cp>U@X`tY$q=&AOJk`gy#DTcbI# zAd4%9ga^Kv#0v)KDE9FzAC>O5NqE~kh5&KV$okib?Zx7PyhogekJ z#>sKq$N$}|GnQO#3&(li%*R1K9l~#!#s}NR1W z$a@qM;mq}ZPw6ZJS94{@=pN$zd*)8HoO0x;$hj60guLdr~0JUfKm&b8p&+fpSTIFYVoL(=Uv8kcMC#;g+z`H$JjMJvtiGLM3jx#lQnx$t51>2fv?`ThTA;4c?;^6hQT)XTA z|BB*qpWll=cDeKYik)uAr1acLBdID#fO>DVu>UTu-r|!_rPhe&>Zo^>dT#;bs=!{I z7Bf1ac!a$TYycLP`P`urY0&M#4!=Sl}1ws9$D%#jn58ZWl5+i9Up3tdD zgyB}#HXSW)p>x&vlQ-KUlp_sPoKhHBNapJKaXL^K*`7w;Lk+;GIbbMq5ZshOMKAU7 zrNp!(!((bA{86vB@jafOf{98>>#Ot8)149m{aWP_Y-R}j5VrvVSv?IS<5udT?KQ%? zs&mv=1@8c3g`kKv%1;3rH}AUkU(Rp?hq1a>-{-O)k`syJlN3@0iM>*yR8aEY5loUHBaT-uZgUs`dn2$ZZwUGUEmB);9K5S9M^|`Vo0S& z4qIrLpZM?%ZyD|*puI>KNCd;=s=I89ms_D8z#-p%pkL~j?kJIuqOg=Whqt^Z6t*~X z(SvlObIzhga->Ekjw!Pan_FerA{n*-4b!=WS*~3rJyQ>aarPTO(+*^}M*dVp*u7P?Il&`-Oy$2J7?Fj%Z3MM52HGrkl)d#*i@3ITx8P2da8vt ziKh4?KN_T8imu8f=o!xAywz8|exIqHOug3+v@?szzpSIk3nWFc?YW&sm3iI+2x&hk z{djsv{uZUy1R0-~rakTVT)e`KS7Ebe`~&zUieqk(VJ!Ji{Lg~BW#WI%o9Ge{=A~r5 z5RgOZQQwO9uHU>7m$Zp*q(7XGE-hP#FA>E(*)m2PXfl8e^OmOk(s@_)=4_mch5**T zWG4D97jr(&>gx1u=Y`UGC6eSENjSp3Ls$14Hb7xtKZAB&&Og!qH5K$w6Z}c@w@K_C zu>SSMedN2@U&Z{+*jgCvYlQfve0!=+X*2yxjhPu@ z6jBL4pFevv2+M$%qGWIxga0x6{w`USyP!2{;+vc6`;QY(|3FnhOW%3&KPTHSfI6-i z9Uw&7(5CV?HaxDK*(<{i1}ne%k?~mx`qAN4jGo)oRSzo?R|*vtiXfbm(#&6Fav5I& z46X*2a52&b=~O#!k`s6PDoM3WR*4&{VH9U49d$JGaZV$LxSl8DfV_}Bw%ljU5Z?qj zu~ychn;A|Qo*!fHPsHudW0oe%G}E7%`g!hEvpf@XqF}s@VwNHfwS65Q1t;9+APEKr zv1^pfCLbe4-6S;_bcH;3%}jyKI{!dlLp56WWPMPDQy=$#4f!fGy-$5CQLxPDU0cK+ zE_!=WQ}@Ep zkh_0rp>e;Kv^tE+7B!uCs=jQR?fHF{@`Zh-9t-76Bf54vKP@(pd}fEc&0qru_p;Y3 zpL`(i18ShJvgqaxzj&RPSx`9DPiDk(Tc~9Z zbH6aeF51d5qnzK0zpdF7?`B4hR+YQ%#>E}!leRMys z(!O)Y$`0N0&3n(KOg=}RBqc1UD-ej9$4XEv4?1B02_4t0+9mr4%Q6XSq%wAGol2nA6@;gdxg& zbRv&XYzPMWG{qpgbiZMc^*#Hq9=}73S^b_S0Xs~d1RDxLoXKvfHg zOc<%sZ%k;ci&XIhIs`~A1BAGsahPqgAEA5GL1Bf@Fw_)6ZS43aWFbM(lsJEG*xKn- zhx+YU?13zSEP|{#THT5(ZHM=FiypARdm7rd+f5FxDyRg6)UN5iVD|pDwrOrU%V^S9Xi&kl^x&^|6fKJ^nnVwv^(%c_jCuZLnilx@KpFxwU&osY1H|e_(euyOl;cYQT8Dc;x@*~BoT`fww0yodNUK0 z=r$>@l0~Xt#P@Q9TfyyxajUNu^42QEX1QTZRVLX@%%}BvMz~fpzso>*#kHk%RW6f^ zl2)lZSLiKdhRB3?bt@qoKICU;hb}P(Vx~g&b8O2g2Sqq2noQ|I;n_M)tue;OBWJsg z6=Uc9kn(Z6WRWL<2dvLNrLjaSP*fSr#DZvF!=g2h`o!xrtGNQzdx{L*uF4)XF+I%q z5E-e%m*wkHv9WBXWhhJwtqlXZkIB2HPo9r`f2H~vp6T;0aLdYJR8LM5 zPwcS4m)7lGI-gF~4FT^wS^Nr%q&3bfU&sVIwW*I7CL#w%P`|3jWP{tU*b`?3{Mifv z^k!{2fE_llCG`Vg%afvL4ju8iEkWt5coJLZxp0AeoJV=;2TB^H%o~gH$BL!v;XgO^ zXI&aTZtf~0y`MjvQcpwFzIPc&p_u#eAf%M*3uy>Ta3vwB#=d4w%dnY>+)fVam%Dz| z8}$*4^Gy1(tDZJfzn{0(!=&KVST9GvM*)r@f7V?k&TAHXS6{uAICX;#n9gTafrLzk zrU7PPFm8Zr0CR(WU_G6B%*q14I(6lh8Q0EDIGOsv!?U70mvRzXE}4bRK@f{@m?|*n zi0lNmsKdFhOI&;A3Qf?Gg-WSgkIyLmjBnZrX>>yw(LQOll|148{pkXSuzt z-y6J&3g;N(StRDIgM>a=-H!?dwOsJnL0P$fZTKp%9)tOqcFJ85&$iTOwulm{k8o?38p&Ae$=RtFI#C zPV|d@B~FZ$F)6n&DvcHnz7J-g=SWn1V=HNBJAmzL2R0NUjaZ^D)m*?H|3JvNy@2Fd z=TbCwy3$mhoCuq&*buDWi*YxH2^YxB`^%2))%4`QJnUvM)rD9yE4;pI7h0MiWsIKh zJ$VB3#}!Q}r;C`1Yr~f*D&lgBmI`7XOQ>#>g6|2U0Q1bOSR46dWp&w@-Lt`6>uBt< zQXPJF4J%K1*V&~DTxwl<=B2HCOj=6rv6T+%mpS~EqVUA|s9!eH8<-R1lj_33S9EGH zA3Ypvc(7ik6Uc3(rz8BDYHF_PZ$;mvzjTxK^e^-v=tZJMOOWNcOHE)MA#_3Iv51wO z_06!)ihgdJz1i@GZ+_hcB1}=L7E9A=>e{ch1YSYw(+TD1k$_q+9TWBsBrup9psW86 zr2V#kiSptfh*GU=Ps<}5zI#vm%xUw$ZOcUJ;j>F9(TVYsI6!v{zr1gIk~;PK*IbwKuhCqZl3y)5Yas8?ZUP}GHmfsaBiKel*8%Zr;i z%p&|qjFPHov4u}Hj8Mu=4SGQQj(k-3D+gA1w1Zw@F??A}Jh3$aiqna2O-Wik(kFUSpzX#$3UrK}ZDPuAaty+uL6Y4D;h@=P8{UK^& zh+x?h)AY(pHxEWuGo`4L6MM~>lU*|M$Crq44j>7>D`Jimqw1gcb+r_qZ;}2AKH2#G zfk?CS>hz|a>ER4Lo}QmJ1a^10TbGP*w4j!bH;aGV;1z=0DZGAUVCovs?^u1Y0=6je zAb~jp<{ovru!k~rx-#c+69hrdr2^!-pmz)pHw1LH&e#pY%<19Nn;#iFE1zz}a8ABk%+MeqJO0;SQ-TR+&B2`(r! zq{f*X_L#cUVr%{=>FIj^4+P)e!d^B(9Q=Io{UQ5MuXAFJZDI&71vt!jR$DzGwaVP> zB08WkG??Q4-+N7UL232r46%YL3aRMK7nNJT-U0Qp-UtDqyKU!#c?fsIA4@1ueEzL8 zZ~ACq3hR5})S4hXOzhp+56gJnBCSBf;~pLEcc71D==VRMdk8svzNVr! zne71w`?;C9ieM5jw_JL3Ek~^p9(9C5%ROC*0B_RP3bf-n93ZtJGH45$>!j90cSWU= z4F#scdK!_o0c)nDO%iJzLKiJd7(PNP5t&jOE?ioAb&_KUlLmk7eeM>RuK{ATYjbOOLO|kR~==o3;IqdnQR3{Q6Uzc+~{MMCX+v2y{GdDx5lCTSg|CojxXBP zKWjg)n?$`<=Rc^pC5all*wVIl^(J$Tkv`COS~x`QQlc`aveKg5ZXqL6UiO#<@*$vc zHOpHOLpdM;B36EVJAXJjUsys`oIyYTCF#uI>U)G&;B`r2qn$pXwKHZ}S#VWbL$j(2 z<|T?&^X6<{0OMYlrCg9m3@O)bJ!uoK&W{zWFA2p1k0W?Rt-MmS2A=Nu%x%$;vUW&y zr}jG_#$&nWaa|%2nx7rmnePiSPOP^qSVT3t>_9MlY3cYmaFh4g=Dtfi+rQr(*+E6v zA;w&mTsQee)*FTLGSXs+d3T+|KAFMTwP6q!|AR#O7mZuYfh#h!frJJ%VpTU4dU?g! znmnW7D^7J|O;eX)I?7ZfOy$}$?Bm$i!H&a}Nt7*jViCnljg`&K=7^=&>q}6=RSp5SAYV5W4WbQ7f2xsr zfA>W>5P`|w8gFYLmBA_)Ze$}1Ri292FK1#lm0{FUVcQPZLY{G~Gt>mtr&XduJu`|L z?YxHuW&a@IX)=z;^`t!tuXG2wV~q++6H7Q)rcz8p^Uy16gDo!(m?{n`w$*KFGe~Gs zxZYCC9df0!KQeHaXw6VfZV@@m%)5MhlKeH*7rdLBzMEWJGhow*AaNARV7-|>FZc4t zgPL;kh=(SX5GZWpKf4?2QXQp;ekKTUn@&wa{zFb5{@Zpc&+&+LtGtA8h(Cps)KBvl z4?2sPT=}f@AdDk=$lt?jTbdNgxM#Asst7JR)3M3bDl#6fmel-imzrp6qUvTtaTXr_ z))R2;C|D~;m3c%Tf{)+1@E|@Z{Vv(OURivm7516$+N=Cmew&Mk#m|ApbIega`c&=5 zr&tTWmMu>W)c(Zl6gND)CMKiLRj_pBG0{#iCY^DHAo=AlfPSbreYBq2AR?M9P?qW} zs^F}T9J=Yer4@!dz|nKKthALdEib7jC;VPndF-8T|5*p@XV%)1C;h_ugUj+{U!6xq zfp4=y+^n;^;|b{koN4>_Hc@*s7fo7OXu+@NhMYd_mo4$KGS5~g4AH5w5)U(=B+&r9 z#%?6H>uZ;~OE=c6RdT9isZVJ?o$h3&-?5#Go$HgAiZEGHy$Otmn^dUtKQj$Iu|WPfIt9betL~z(CO4;p+`P8bXC}DG&f7nqySr9vRwAyOMwD zy+Gn`ban%6q-wXkwO1+?6JzdKYkqLQRc!oN3qsty9{5_F?vyUjZF?Ov^P}xL3G-mj z?U2mQPW^qalb4UQl@nePGclG4kLz?zqj#z?`ZFo0IDW?HiNGwa^nXX@0_tM?euq16 zNOKaSTptVxrYANRV7!cT2*d4HomQFU!BLr&Wo9(68<3-d_q6fXs4RP8@@gCQM>EhN z{QXgYKC`@iVG_J!!a~v1k(NtEuimJ_5_vFtb?H#K zVSjN*fJPP?@rM76itW#ya$2lY3Xjpyi;f?&#nBe z|J6;WYSGW=kY0)DA0)@T+Bl2!P#Dc+HoPdzx$kYg6h#Md6jSW#wb$3nYl5(=9;9oS z1t0zb7nIycqon~JrK_NN^Qs)v(Q^|wP9wHN^>t5vWl!^qhu79y&@(;grmT!gm0JF6eG$BS z%-nuU`NzmVrl$xn6*Nr>d0>wEy6l%)kE>OL?sm3iIiHBeZsVcoS(TTcM_Ol?i)cE- z$`Bdj>JOY=d&P-<$%EFu7P=+P)s~2qI9Q{t;rkxMedNH+WcZC`lsw7%t3q~ZD?{=d zkMpaA=!QC`K?;pZ0}yaNF?uDG9Gq6i2L2-SP`q!P=cc|dyK0V~m10BAO3~SKs^*** zePvB5J~`S)%SJZ9fp&rPq+jp{<j(Om_z|s-W>KvR$r`L-P^274Fkv1!KfO| zd32prFRQ8Xs9@vt4^n-HPOs7VFW>9nTFKAypnTho&3)_U>yF6C;#d1o5+qEFcjMkI z-Bx(2RA-R;ReBj+Q>5)4(3k7yZmp}jH5w(gequhmNgl*+4r%Fx$x#h6YSXa=#}pEj z92nL=8N1muC+6w@9x?2zM&{mTvSg5Ml1deCF38L z!Q1()`f5+%d(G#|xkJ}S0k7TZ+=Q#1bF$w1v}~%;))viss`PfNnRnV(+z*^@2R=@H|NY$03TtCp)d1m{Qe`!sDN&K}znXkq7dQus}gCDM; zDV7SZs^f`YXWf)))3_u;LN=^hGRJ}FjRoH`JhI;NM=86J)c8k)5-dEYZ(?v-i^Saf zkACWW)5!amg%%g5b54<*_|-CwOhQ^4tnBi*uzvB2UvCbR3cG8)b`R1jebFjPgW0C8 zL}_>5k0m)Kao4B~nGA8RN*BR;WD>h2?3+}@a-GMNE|a-}R10~xz_01Ej##h);a^V94Gvn4&V&h6LU0GPa0B5U~(u+u$^$Q+9LwKt- zN@x8HT5QA{htHT^4E#Kv$JxXodO$0-@B+Lho+klzEiE( zzzqoGfs-eoqP?Vz0WxiFFaS3-&#y;r_MIZ?r>y@(j6`NSGxyvpnqc#CtL0;h-b%Vl zZ7F;bpTV`7pn2eQHx_zSpOd<{z3hI9MErwbqCBdUD_A}Z2`<#)ukfUS zt@tY>U4=BhR7N_crabjykE4m_dpL3Ui}aR6UXtmDw7Ekh$}7A(!(Vg3<%=@g-$ORL zu(U)o6jHdQrG`xo$#`i^d6EsNNEkAUDKF*=U!!n)kCCvq`|20o{<)mzSM(YamGmMy zFksszHI&qwV6dKXy7A@s>nLSA*+ZLG5vFQz&RIR}(_A2<=I9j{ z>xJ{E7OVNkUsd?S)IIrinFzLcTKi>~+e_G*+V5}X8xaem&~@!YyCaIU-;@O5ZorQ# z^s1>emH2CvlN|18K63lgxRO)~3y%281)oE%Kh9ZmrZ|G&G<0(@R{y*3n^G()C&;k4f@2*D6*&e7|l1k{FA3KFpPCsuN^f!vY>jrgGzV zIj@joP$CbEEQ>f1LJ$_YVWk7efk_V!6LVUnVRBn3%qZefDx^?2oxCuipQN7ajM4kLi@@4KI5?V-KCU>)4`3$@C@;2Mq!9qEXt_c zz(GD+lyZVBE{~meZ5TjokbM;O3Oj&%bxk2)TB{?>ulsWvqha^{N49^C5Ot#VxJTJt zh-B5wuSHvi#?Vjc-VfBCkb0#7S7i_dNluCccp*HB+>Zr#jr_<9PgTCA54-|J`oE{T zqg`QBOD^p#hNuFkgIFZ!Q&sz?OwBxf<{1kl`fo&PKayXi+y&0Kdd%MHwP(#g#yvZE zQ5`;$PNY03yH>%mgf=2iq$C>S$cJUT)kcQkrh0#rrCASYRm!md{T~AV^on+FK{!lah%OYG>Lk-EV+D~6$H(J2cA~THEt0Ig?iu;a(i$;Oz zZ}YYT3urGZU$aSE9EPZUc%hJDwO?F?Mq?R-9AAL8xiK&dddbU+#xwfk9beW zjm(hIA-l3DUME308Qy@o?t9bRl$~*Fq0?w(hxU(=p0s&8CGqiJSQ6^sT0d6acPVO7 zoZ}y)srTShyc6~u$BlPIopvZ=-(6!lU{f1}Z}^tdp#CC6T}9<_bSg5yB2g|%em8W* zP2opHD?sphSjhH=A7AtM!)Dd%g!j$)#&n`Bj&rj$hrMa-3NO`Y-Kway3 z3n)7j=Onj@m-QWV&|*`+IgxQX0rqDpYJT{GKc=E?m+Zl<*2cNqXct-KfHS_*!4Px8 zIcZ9Uljml6@7XW-@j2}8@7p_5R~i+daPgJd*9r%DGwfnqq1qE`FxP*Byb34g?m9Jn z-POMnX%LMyrR#B&W|kYn7GYH+XerAkz}9woAVR_MDnNQS=&nqwF^}+(W9BZ@M%Id|hBWJn@34us# z(6c@ebMjg*`AL6e{lc@F)~)nd>#MfIF~kX9tiww)Ob?vGzVpM=^wJ?l?EbHb)5q|v z14wI2YS~N_8s+_lBBA~$-FfEG%#}Hkk18DcC9W@DRK6eSVjEeKA&wIMbrm?CVALQn z-JvX0;L~RQslS{y0ZS10PzExuM{$=0P=knV>#%V9fnz4|5(6*eta@PvttBFUYI@7l zJ~0nv;D9MLBPb;`Hb%XI#_mg3FCRa!ysL+K@BL9v2PybWatoX>t1=D5eKmhJe9vqj zKDez(CsT7b2qUdBVs%qTjy5_*6J_Pu-NoknO&5h5Vn=-6B{egPFZIaj`}zt_z;&hM zNo`Qr(W`!<2^T%=I*VOt`>zJ=jj z#6X2SnJcV7QO~ozr;z*VLkG@~F#UafpW{LOV6VwAJ-7O1`W&w0&%}`5E7V_2A$XEJ z@;IrWz?UUtQn4RYf*@M;-Ggq)JndPL7H$H?!9dm zy0j$HOd}OXl0y$ZpGWcV8qa@-qcX=4e@2

Yuh6TE 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 z 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 z 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

+}Ds$fu?ptg7wPX790bz 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 diff --git a/rose/server/.coveragerc b/rose/server/.coveragerc new file mode 100644 index 00000000..c712d259 --- /dev/null +++ b/rose/server/.coveragerc @@ -0,0 +1,2 @@ +[run] +omit = tests/* diff --git a/rose/server/.flake8 b/rose/server/.flake8 new file mode 100644 index 00000000..cbe46d8a --- /dev/null +++ b/rose/server/.flake8 @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 256 +extend-ignore = E203 diff --git a/rose/server/Dockerfile b/rose/server/Dockerfile new file mode 100644 index 00000000..057807f1 --- /dev/null +++ b/rose/server/Dockerfile @@ -0,0 +1,15 @@ +# Use Red Hat Universal Base Image (UBI) with Python +FROM registry.access.redhat.com/ubi8/python-38 + +# Set the working directory in the Docker container +WORKDIR /app + +# Copy the local package files to the container's workspace +COPY . /app + +# Install the Python dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Set the command to run the main.py file when the container launches +ENTRYPOINT ["python", "main.py", "--listen", "0.0.0.0"] +CMD [ "--track", "same" ] diff --git a/rose/server/Makefile b/rose/server/Makefile new file mode 100644 index 00000000..6e6ccafc --- /dev/null +++ b/rose/server/Makefile @@ -0,0 +1,56 @@ +.PHONY: lint test lint-fix code-quality test-coverage run clean + +IMAGE_NAME ?= quay.io/rose/rose-server +PORT ?= 8880 +WS_PORT ?= 8765 + +# Default driver when running on localhost +DRIVERS ?= http://127.0.0.1:8081 + +# By default, run both linting and tests +all: lint test + +lint: + @echo "Running linting..." + flake8 --show-source --statistics . + black --check --diff . + +lint-fix: + @echo "Running lint fixing..." + black --verbose --color . + +code-quality: + @echo "Running static code quality checks..." + radon cc . + radon mi . + +test: + @echo "Running unittests..." + python -m coverage run -m unittest discover -s tests/ + +test-coverage: test + @echo "Running unittests coverage..." + python -m coverage report + +test-coverage-html: test + @echo "Running unittests coverage..." + python -m coverage html + xdg-open htmlcov/index.html + +run: + @echo "Running driver logic server ..." + python main.py --port $(PORT) --drivers $(DRIVERS) + +build-image: + @echo "Building container image ..." + podman build -t $(IMAGE_NAME) . + +run-image: + @echo "Running container image ..." + podman run --rm --network host -it $(IMAGE_NAME) + +clean: + -rm -rf .coverage + -rm -rf htmlcov + -find . -name '*.pyc' -exec rm {} \; + -find . -name '__pycache__' -exec rmdir {} \; diff --git a/rose/server/README.rst b/rose/server/README.rst new file mode 100644 index 00000000..94100211 --- /dev/null +++ b/rose/server/README.rst @@ -0,0 +1,89 @@ +======================= +ROSE Engine Game Server +======================= + +Overview +======== +This server provides a simple HTTP endpoint for a driving game. + +Requirements +============ +* Python 3.8+ +* Podman (optional, for containerization) + +Installation +============ +1. Clone the repository: + + .. code-block:: bash + + git clone + cd + +2. Install the required Python packages: + + .. code-block:: bash + + pip install -r requirements.txt + pip install -r requirements-dev.txt + +Running the Server +================== +Run the server using: + +.. code-block:: bash + + python main.py --port 8080 + +By default, the server will start on port 8080. + +Podman Usage +============ +1. Build the Podman image: + + .. code-block:: bash + + podman build -t rose-engine . + +2. Run the container: + + .. code-block:: bash + + podman run -it --rm --network host rose-engine + +Kubernetes Deployment +===================== + +You can deploy the application on a Kubernetes cluster using the provided configuration. + +Instructions: +------------- +1. Apply both the Deployment and Service: + +.. code-block:: bash + + kubectl apply -f rose-engine.yaml + +2. Check the status of the deployment: + +.. code-block:: bash + + kubectl get deployments rose-engine + +3. Forward a local port to your pod for accessing the service locally: + +.. code-block:: bash + + kubectl port-forward deployment/rose-engine-deployment 8880:8880 8765:8765 + +Now, the service will be accessible locally at http://localhost:8880. + +Note: For production deployments, consider exposing the service using an Ingress controller or cloud provider specific solutions. + +Contributing +============ +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. + +License +======= +GPL-v2 diff --git a/rose/server/common/__init__.py b/rose/server/common/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/rose/server/common/actions.py b/rose/server/common/actions.py new file mode 100644 index 00000000..85bbffb1 --- /dev/null +++ b/rose/server/common/actions.py @@ -0,0 +1,10 @@ +""" Driving actions """ + +NONE = "none" # NOQA +RIGHT = "right" # NOQA +LEFT = "left" # NOQA +PICKUP = "pickup" # NOQA +JUMP = "jump" # NOQA +BRAKE = "brake" # NOQA + +ALL = (NONE, RIGHT, LEFT, PICKUP, JUMP, BRAKE) diff --git a/rose/server/common/config.py b/rose/server/common/config.py new file mode 100644 index 00000000..38e343da --- /dev/null +++ b/rose/server/common/config.py @@ -0,0 +1,20 @@ +# config.py + +# Default Configuration +drivers = [] +run = "stop" + +game_rate = 1.0 +game_duration = 60 + +matrix_height = 9 +matrix_width = 6 + +max_players = 2 +cells_per_player = 3 + +score_move_forward = 10 +score_move_backward = -10 +score_pickup = 10 +score_jump = 5 +score_brake = 4 diff --git a/rose/server/common/obstacles.py b/rose/server/common/obstacles.py new file mode 100644 index 00000000..3b84f9ca --- /dev/null +++ b/rose/server/common/obstacles.py @@ -0,0 +1,17 @@ +""" Game obstacles """ + +import random + +NONE = "" # NOQA +CRACK = "crack" # NOQA +TRASH = "trash" # NOQA +PENGUIN = "penguin" # NOQA +BIKE = "bike" # NOQA +WATER = "water" # NOQA +BARRIER = "barrier" # NOQA + +ALL = (NONE, CRACK, TRASH, PENGUIN, BIKE, WATER, BARRIER) + + +def get_random_obstacle(): + return random.choice(ALL) diff --git a/rose/server/game.py b/rose/server/game.py deleted file mode 100644 index 4038494f..00000000 --- a/rose/server/game.py +++ /dev/null @@ -1,131 +0,0 @@ -import random -import logging -import os - -from twisted.internet import reactor, task - -from rose.common import actions, config, error, message, obstacles # NOQA -from . import track -from . import player -from . import score - -log = logging.getLogger('game') - - -class Game(object): - """ - Implements the server for the car race - """ - - def __init__(self): - self.hub = None - self.track = track.Track() - self.looper = task.LoopingCall(self.loop) - self.players = {} - self.free_cars = set(range(config.number_of_cars)) - self.free_lanes = set(range(config.max_players)) - self._rate = config.game_rate - self.started = False - self.timeleft = config.game_duration - - @property - def rate(self): - return self._rate - - @rate.setter - def rate(self, value): - if value != self._rate: - log.info('change game rate to %d frames per second', value) - self._rate = value - if self.started: - self.looper.stop() - self.looper.start(1.0 / self._rate) - else: - self.update_clients() - - def start(self): - if self.started: - raise error.GameAlreadyStarted() - if not self.players: - raise error.ActionForbidden("start a game with no players.") - self.track.reset() - for p in self.players.values(): - p.reset() - self.timeleft = config.game_duration - self.started = True - self.looper.start(1.0 / self._rate) - - def stop(self): - if not self.started: - raise error.GameNotStarted() - self.looper.stop() - self.started = False - self.update_clients() - self.print_stats() - - def add_player(self, name): - if name in self.players: - raise error.PlayerExists(name) - if not self.free_cars: - raise error.TooManyPlayers() - car = random.choice(tuple(self.free_cars)) - self.free_cars.remove(car) - lane = random.choice(tuple(self.free_lanes)) - self.free_lanes.remove(lane) - log.info('add player: %r, lane: %r, car: %r', name, lane, car) - self.players[name] = player.Player(name, car, lane) - reactor.callLater(0, self.update_clients) - - def remove_player(self, name): - if name not in self.players: - raise error.NoSuchPlayer(name) - player = self.players.pop(name) - self.free_cars.add(player.car) - self.free_lanes.add(player.lane) - log.info('remove player: %r, lane: %r, car: %r', - name, player.lane, player.car) - if not self.players and self.started: - log.info('Stopping game. No players connected.') - self.stop() - else: - reactor.callLater(0, self.update_clients) - - def drive_player(self, name, info): - log.info('drive_player: %r %r', name, info) - if name not in self.players: - raise error.NoSuchPlayer(name) - if 'action' not in info: - raise error.InvalidMessage("action required") - action = info['action'] - if action not in actions.ALL: - raise error.InvalidMessage("invalid drive action %s" % action) - self.players[name].action = action - self.players[name].response_time = info.get('response_time', 1.0) - - def print_stats(self): - lines = ['Stats:'] - top_scorers = sorted(self.players.values(), reverse=True) - for i, p in enumerate(top_scorers): - line = '%d %10s row:%d score:%d' % (i + 1, p.name, p.y, p.score) - lines.append(line) - log.info("%s", os.linesep.join(lines)) - - def loop(self): - self.track.update() - score.process(self.players, self.track) - if self.timeleft > 0: - self.update_clients() - self.timeleft -= 1 - else: - self.stop() - - def update_clients(self): - msg = message.Message('update', self.state()) - self.hub.broadcast(msg) - - def state(self): - return {'started': self.started, - 'track': self.track.state(), - 'players': [p.state() for p in self.players.values()], - 'timeleft': self.timeleft, - 'rate': self.rate} diff --git a/rose/server/game/__init__.py b/rose/server/game/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/rose/server/game/logic.py b/rose/server/game/logic.py new file mode 100644 index 00000000..d8dbabf3 --- /dev/null +++ b/rose/server/game/logic.py @@ -0,0 +1,152 @@ +import asyncio +import logging +import random +import aiohttp + +from common import config + +from game import score, net +from game.player import Player +from game.track import Track + +log = logging.getLogger("logic") + + +async def initialize_game(state): + """Reset game settings and return re-initialized track and players.""" + state["reset"] = None + state["running"] = 0 + state["timeleft"] = config.game_duration + track = initialize_track(state["track_type"] != "same") + players = await initialize_players(state["drivers"]) + return track, players + + +def initialize_track(is_track_random): + """ + Initialize and return a new track. + + Args: + is_track_random (bool): If False, the track will have the same obstacles for both players. + If True, obstacles will be randomized. + + Returns: + Track: An initialized track object. + """ + track = Track(is_track_random) + track.reset() + return track + + +async def initialize_players(drivers): + """ + Asynchronously initialize players from a list of driver URLs. + + Args: + drivers (list): List of driver URLs to initialize players from. + players (list): List of Player objects. + """ + + # Init players + players = [] + + if not drivers: + return players + + base_color = random.randint(0, 3) + + async with aiohttp.ClientSession() as session: + for index, driver in enumerate(drivers): + try: + async with session.get(driver) as info: + info_data = await info.json() + player_name = info_data.get("info", {}).get("name") + player_car = (base_color + index) % 3 + player_lane = index + player = Player(player_name, player_car, player_lane) + player.reset() + player.URL = driver + players.append(player) + except Exception as e: + log.error(f"error: {e}") + + return players + + +async def game_loop(state, active_websockets): + """ + Asynchronously execute the game loop, using provided state and active websockets. + + Args: + state (dict): Dictionary containing game state data (rate, running status, time left, etc.). + active_websockets (set): A set of active websocket connections for communication. + + Returns: + None + """ + + # Initialize or reset the game, set up track and players + track, players = await initialize_game(state) + + # Begin the main game loop + while True: + # Check if the game needs a reset (based on state) + if state["reset"] == 1: + track, players = await initialize_game(state) + + # Stop game if timeleft is zero + if state["timeleft"] < 1: + state["running"] = 0 + + # Check if the game is currently running and there's time left to play + if state["running"] == 1: + # Start executing a step in the game + task = asyncio.create_task( + game_step(state, players, track, active_websockets) + ) + + # Pause the game loop for a specified duration, based on the rate defined in the state + await asyncio.sleep(1 / state["rate"]) + + # If for some reason the game step hasn't finished executing, cancel it + if not task.done(): + task.cancel() + + # If the game is not running (e.g., paused or finished) + else: + # Update all connected clients (via websockets) with the current game state + await net.update_websockets(False, state, players, track, active_websockets) + + await asyncio.sleep(1) + + +async def game_step(state, players, track, active_websockets): + """ + Execute a game step: Update the track, fetch drivers' actions, process actions, and update websockets. + + Args: + state (dict): Dictionary containing game state data (rate, running status, etc.). + players (list): List of Player objects. + track (Track): the game track. + active_websockets (Any): Active websockets for communication (assuming a suitable data structure). + """ + + try: + # Fetch players actions using an asynchronous HTTP session + await net.fetch_drivers_actions(players, track.matrix()) + + # Update track + track.update() + + # Process the actions of the players + score.process(players, track) + + # Send data to all WebSocket connections + await net.update_websockets(True, state, players, track, active_websockets) + + # Progress the game's timer + state["timeleft"] -= 1 + + except asyncio.CancelledError: + log.info("Game step was canceled!") + raise diff --git a/rose/server/game/net.py b/rose/server/game/net.py new file mode 100644 index 00000000..e6f9df73 --- /dev/null +++ b/rose/server/game/net.py @@ -0,0 +1,113 @@ +import asyncio +import aiohttp +import json +import time +import logging + + +log = logging.getLogger("net") + + +async def fetch_drivers_actions(players, track_matrix): + """ + Asynchronously fetch actions for each player. + + Args: + players (list): List of Player objects. + track_matrix (list of list): The matrix representation a 2D array of the track. + + Returns: + list: List of player actions fetched. + """ + async with aiohttp.ClientSession() as session: + await asyncio.gather( + *(fetch_driver_action(session, player, track_matrix) for player in players), + return_exceptions=True, + ) + + +async def fetch_driver_action(session, player, track_matrix): + """ + Asynchronously fetch content from a URL using a POST request and return the parsed JSON + along with the time it took to get the response. + + Args: + session (aiohttp.ClientSession): An active ClientSession for making the request. + player (Player): The player object containing name, URL, and position. + track_matrix (list of list): The matrix representation a 2D array of the track. + + Returns: + tuple: A tuple containing: + - dict or None: The JSON-decoded response from the server or None if an error occurred. + - float: The time taken (in seconds) to get the response. + - str or None: The error message, if any. None if no error occurred. + """ + start_time = time.time() + + try: + response_data = await send_post_request(session, player, track_matrix) + return process_driver_response(player, response_data, start_time) + + except Exception as e: + elapsed_time = time.time() - start_time + player.response_time = elapsed_time + error_msg = f"Error during POST request {e}" + log.error(error_msg) + + player.action = None + player.httperror = "Error POST to driver" + + return None, elapsed_time + + +async def send_post_request(session, player, track_matrix): + data = {"info": {"car": {"x": player.x, "y": player.y}}, "track": track_matrix} + + async with session.post(player.URL, data=json.dumps(data).encode()) as response: + return await response.json() + + +def process_driver_response(player, response_data, start_time): + elapsed_time = time.time() - start_time + player.response_time = elapsed_time + + try: + player.name = response_data.get("info").get("name") + player.action = response_data.get("info").get("action") + player.httperror = None + return response_data, elapsed_time + + except Exception as e: + error_msg = f"Post to driver error {e}" + log.error(error_msg) + + player.action = None + player.httperror = error_msg + + return None, elapsed_time + + +async def update_websockets(started, state, players, track, active_websockets): + """Generate game state data and send it to all active websockets.""" + data = { + "action": "update", + "payload": { + "started": started, + "rate": state["rate"], + "timeleft": state["timeleft"], + "players": [player.state() for player in players], + "track": track.state(), + }, + } + + await send_to_all_websockets(data, active_websockets) + + +async def send_to_all_websockets(data, active_websockets): + """Send the given data to all active websocket connections.""" + json_encoded_data = json.dumps(data) + for ws in active_websockets: + try: + await ws.send(json_encoded_data) + except Exception as e: + log.error("Fail ws send", e) diff --git a/rose/server/player.py b/rose/server/game/player.py similarity index 56% rename from rose/server/player.py rename to rose/server/game/player.py index f59b2108..9c205452 100644 --- a/rose/server/player.py +++ b/rose/server/game/player.py @@ -1,8 +1,7 @@ -from rose.common import actions, config +from common import config, actions class Player(object): - def __init__(self, name, car, lane): """ Creates a new Driver object. @@ -25,43 +24,55 @@ def __init__(self, name, car, lane): """ self.name = name self.car = car + self.URL = "" self.lane = lane self.x = None self.y = None self.action = None + self.httperror = None self.response_time = None self.score = None + self.pickups = None + self.misses = None + self.hits = None + self.breaks = None + self.jumps = None + self.collisions = None self.reset() - # Game state interface - - def update(self): - """ Go to the next game state """ - def reset(self): self.x = self.lane * config.cells_per_player + 1 # | |0| | |1 | | - self.y = config.matrix_height // 3 * 2 # 1/3 of track + self.y = config.matrix_height // 3 * 2 # 1/3 of track self.action = actions.NONE - self.response_time = None + self.response_time = 0 self.score = 0 + self.pickups = 0 + self.misses = 0 + self.hits = 0 + self.breaks = 0 + self.collisions = 0 + self.jumps = 0 def in_lane(self): current_lane = self.x // config.cells_per_player return current_lane == self.lane - def __cmp__(self, other): - x = self.score - y = other.score - return (x > y) - (x < y) - - def __lt__(self, other): - return self.score < other.score - def state(self): - """ Return read only serialize-able state for sending to client """ - return {'name': self.name, - 'car': self.car, - 'x': self.x, - 'y': self.y, - 'lane': self.lane, - 'score': self.score} + """Return read only serialize-able state for sending to client""" + return { + "name": self.name, + "car": self.car, + "x": self.x, + "y": self.y, + "action": self.action, + "response_time": self.response_time, + "error": self.httperror, + "lane": self.lane, + "score": self.score, + "pickups": self.pickups, + "misses": self.misses, + "hits": self.hits, + "breaks": self.breaks, + "jumps": self.jumps, + "collisions": self.collisions, + } diff --git a/rose/server/score.py b/rose/server/game/score.py similarity index 58% rename from rose/server/score.py rename to rose/server/game/score.py index 590c6cde..58358ca2 100644 --- a/rose/server/score.py +++ b/rose/server/game/score.py @@ -1,9 +1,9 @@ """ Score logic """ import logging -from rose.common import actions, config, obstacles +from common import config, actions, obstacles -log = logging.getLogger('score') +log = logging.getLogger("score") def process(players, track): @@ -17,28 +17,33 @@ def process(players, track): # First handle right and left actions, since they may change in_lane # status, used for resolving collisions. - for player in players.values(): + for player in players: if player.action == actions.LEFT: if player.x > 0: player.x -= 1 + log.debug( - 'player %s moved left to %d,%d', - player.name, player.x, player.y, + "player %s moved left to %d,%d", + player.name, + player.x, + player.y, ) elif player.action == actions.RIGHT: if player.x < config.matrix_width - 1: player.x += 1 + log.debug( - 'player %s moved right to %d,%d', - player.name, player.x, player.y, + "player %s moved right to %d,%d", + player.name, + player.x, + player.y, ) # Proccess the players by order, first the ones in lane and then # the ones out of lane, this ensure the car in lane will have # priority when picking pinguins and in case of collisions. - sorted_players = sorted(players.values(), - key=lambda p: 0 if p.in_lane() else 1) + sorted_players = sorted(players, key=lambda p: 0 if p.in_lane() else 1) positions = set() # Now handle obstacles, preferring players in their own lane. @@ -49,22 +54,27 @@ def process(players, track): if obstacle == obstacles.NONE: # Move forward, leaving the obstacle on the track. player.score += config.score_move_forward + log.debug( - 'player %s hit no obstacle: got %d points', - player.name, config.score_move_forward, + "player %s hit no obstacle: got %d points", + player.name, + config.score_move_forward, ) - elif obstacle in (obstacles.TRASH, - obstacles.BIKE, - obstacles.BARRIER): + elif obstacle in (obstacles.TRASH, obstacles.BIKE, obstacles.BARRIER): # Move back consuming the obstacle. track.clear(player.x, player.y) player.y += 1 player.score += config.score_move_backward + player.hits += 1 + log.debug( - 'player %s hit %s: lost %d points, moved back to %d,%d', - player.name, obstacle, -config.score_move_backward, - player.x, player.y, + "player %s hit %s: lost %d points, moved back to %d,%d", + player.name, + obstacle, + -config.score_move_backward, + player.x, + player.y, ) elif obstacle == obstacles.CRACK: @@ -72,19 +82,28 @@ def process(players, track): # Move forward leaving the obstacle on the track points = config.score_move_forward + config.score_jump player.score += points + player.jumps += 1 + log.debug( - 'player %s avoided %s: got %d points', - player.name, obstacle, points, + "player %s avoided %s: got %d points", + player.name, + obstacle, + points, ) else: # Move back consuming the obstacle. track.clear(player.x, player.y) player.y += 1 player.score += config.score_move_backward + player.hits += 1 + log.debug( - 'player %s hit %s: lost %d points, moved back to %d,%d', - player.name, obstacle, -config.score_move_backward, - player.x, player.y, + "player %s hit %s: lost %d points, moved back to %d,%d", + player.name, + obstacle, + -config.score_move_backward, + player.x, + player.y, ) elif obstacle == obstacles.WATER: @@ -92,19 +111,28 @@ def process(players, track): # Move forward leaving the obstacle on the track points = config.score_move_forward + config.score_brake player.score += points + player.breaks += 1 + log.debug( - 'player %s avoided %s: got %d points', - player.name, obstacle, points, + "player %s avoided %s: got %d points", + player.name, + obstacle, + points, ) else: # Move back consuming the obstacle. track.clear(player.x, player.y) player.y += 1 player.score += config.score_move_backward + player.hits += 1 + log.debug( - 'player %s hit %s: lost %d points, moved back to %d,%d', - player.name, obstacle, -config.score_move_backward, - player.x, player.y, + "player %s hit %s: lost %d points, moved back to %d,%d", + player.name, + obstacle, + -config.score_move_backward, + player.x, + player.y, ) elif obstacle == obstacles.PENGUIN: @@ -113,14 +141,19 @@ def process(players, track): track.clear(player.x, player.y) points = config.score_move_forward + config.score_pickup player.score += points + player.pickups += 1 + log.debug( - 'player %s picked up %s: got %d points', - player.name, obstacle, points, + "player %s picked up %s: got %d points", + player.name, + obstacle, + points, ) else: # Move forward leaving the obstacle on the track player.score += config.score_move_forward - log.debug('player %s missed %s', player.name, obstacle) + + log.debug("player %s missed %s", player.name, obstacle) # Here we can end the game when player gets out of # the track bounds. For now, just keep the player at the same @@ -138,11 +171,15 @@ def process(players, track): player.x -= 1 elif player.x < config.matrix_width - 1: player.x += 1 + log.debug( - 'player %s collision at %d,%d: lost %d points, ' - 'moved to %d,%d', - player.name, loc[0], loc[1], -config.score_move_backward, - player.x, player.y, + "player %s collision at %d,%d: lost %d points, " "moved to %d,%d", + player.name, + loc[0], + loc[1], + -config.score_move_backward, + player.x, + player.y, ) # Finally forget action @@ -150,7 +187,13 @@ def process(players, track): positions.add((player.x, player.y)) - log.info('process_actions: name=%s lane=%d pos=%d,%d score=%d ' - 'response_time=%0.6f', - player.name, player.lane, player.x, player.y, player.score, - player.response_time) + log.info( + "process_actions: name=%s lane=%d pos=%d,%d score=%d " + "response_time=%0.6f", + player.name, + player.lane, + player.x, + player.y, + player.score, + player.response_time, + ) diff --git a/rose/server/game/server.py b/rose/server/game/server.py new file mode 100644 index 00000000..dbdb940f --- /dev/null +++ b/rose/server/game/server.py @@ -0,0 +1,147 @@ +import json +import os + +import aiohttp +import websockets +from aiohttp import web + +from common import config +from game import logic + +# Global active_websockets +# IMPORTANT - shared with game loop in game.py +active_websockets = set() + +# Global state +# IMPORTANT - shared with game loop in game.py +state = {"rate": None, "running": None, "reset": None, "drivers": [], "timeleft": None} + + +async def admin_handler(request): + """ + Handle admin requests to set the game rate. + + Args: + request (aiohttp.web.Request): The request object. + + Returns: + aiohttp.web.Response: A response indicating the new game rate or an error message. + """ + global state + + rate = request.rel_url.query.get("rate") + if rate: + try: + state["rate"] = float(rate) + except ValueError: + return web.Response(text="Invalid rate provided", status=400) + + running = request.rel_url.query.get("running") + if running: + try: + state["running"] = int(running) + except ValueError: + return web.Response(text="Invalid running provided", status=400) + + reset = request.rel_url.query.get("reset") + if reset: + try: + state["reset"] = int(reset) + except ValueError: + return web.Response(text="Invalid reset provided", status=400) + + # This expects the drivers to be passed as a comma-separated list in the query param + # e.g., ?drivers=http://localhost:8081/drv2,http://driver.com:8090/ + drivers = request.rel_url.query.get("drivers") + if drivers: + drivers_list = drivers.split(",") + state["drivers"] = drivers_list + state["running"] = 0 + state["reset"] = 1 + + return web.Response(text=json.dumps(state)) + + +async def websocket_handler(websocket, path): + """ + Handle websocket connections, sending a greeting to the client. + + Args: + websocket (websockets.WebSocketServerProtocol): The websocket protocol instance. + path (str): The path the client connected to. + """ + active_websockets.add(websocket) + try: + async for message in websocket: + # Handle or respond to the message if necessary + await websocket.send(f"Received: {message}") + except Exception as e: + print(f"WebSocket error: {e}") + finally: + active_websockets.remove(websocket) + + +async def run( + http_port, + ws_port, + listen_address, + initial_rate, + initial_running, + initial_drivers, + public, + theme, + track_type, +): + """ + Start the servers (HTTP and Websocket) and the game loop. + + Args: + http_port (int): The port to listen on for the HTTP server. + ws_port (int): The port to listen on for the Websocket server. + listen_address (str): The address for both servers to bind to. + initial_rate (float): The initial game rate in seconds. + running (bollean): The initial starting state of the game. + drivers (list of strings): list of driver URLs to use. + public (str): Path to the static files directory. + theme (str): Path to the static them resources directory. + track_type (str): Type of track can be "random" or "same". + """ + global state + + state["rate"] = initial_rate + state["running"] = 1 if initial_running else 0 + state["drivers"] = initial_drivers + state["timeleft"] = config.game_duration + state["track_type"] = track_type + + app = web.Application() + + # Add static files server using the 'public' arg + async def index_handler(request): + return web.FileResponse(os.path.join(public, "index.html")) + + app.router.add_get("/", index_handler) + app.router.add_post("/admin", admin_handler) + + app.router.add_static("/res/", path=theme, name="theme") + app.router.add_static("/", path=public, name="static") + + runner = aiohttp.web.AppRunner(app) + await runner.setup() + site = aiohttp.web.TCPSite(runner, listen_address, http_port) + + # Start HTTP server + await site.start() + + # Start websocket server + await websockets.serve(websocket_handler, listen_address, ws_port) + + print(f"Theme {theme}") + print(f"Track {track_type}") + print(f"Drivers {initial_drivers}") + print(f"Listen {listen_address}:{http_port}") + print(f"Server URL http://127.0.0.1:{http_port}") + + # Start game loop + # IMPORTANT: state and active_websockets are references, changes in this file will affect the game loop. + await logic.game_loop(state, active_websockets) diff --git a/rose/server/track.py b/rose/server/game/track.py similarity index 59% rename from rose/server/track.py rename to rose/server/game/track.py index b691c817..2e095096 100644 --- a/rose/server/track.py +++ b/rose/server/game/track.py @@ -1,22 +1,23 @@ import random -from rose.common import config, obstacles +from common import config, obstacles -class Track(object): - def __init__(self): +class Track(object): + def __init__(self, is_track_random): self._matrix = None + self.is_track_random = is_track_random self.reset() # Game state interface def update(self): - """ Go to the next game state """ + """Go to the next game state""" self._matrix.pop() self._matrix.insert(0, self._generate_row()) def state(self): - """ Return read only serialize-able state for sending to client """ + """Return read only serialize-able state for sending to client""" items = [] for y, row in enumerate(self._matrix): for x, obs in enumerate(row): @@ -24,23 +25,28 @@ def state(self): items.append({"name": obs, "x": x, "y": y}) return items + def matrix(self): + """Return the track matrix""" + return self._matrix + # Track interface def get(self, x, y): - """ Return the obstacle in position x, y """ + """Return the obstacle in position x, y""" return self._matrix[y][x] def set(self, x, y, obstacle): - """ Set obstacle in position x, y """ + """Set obstacle in position x, y""" self._matrix[y][x] = obstacle def clear(self, x, y): - """ Clear obstacle in position x, y """ + """Clear obstacle in position x, y""" self._matrix[y][x] = obstacles.NONE def reset(self): - self._matrix = [[obstacles.NONE] * config.matrix_width - for x in range(config.matrix_height)] + self._matrix = [ + [obstacles.NONE] * config.matrix_width for x in range(config.matrix_height) + ] # Private @@ -52,16 +58,24 @@ def _generate_row(self): obstacles, but in different cells if 'is_track_random' is True. Otherwise, the tracks will be identical. """ + + # Create initial empty row row = [obstacles.NONE] * config.matrix_width + + # Get a random obstacle obstacle = obstacles.get_random_obstacle() - if config.is_track_random: + + if self.is_track_random: for lane in range(config.max_players): - low = lane * config.cells_per_player - high = low + config.cells_per_player - cell = random.choice(range(low, high)) - row[cell] = obstacle + # Get a random cell for each player + cell = random.choice(range(0, config.cells_per_player)) + + row[cell + lane * config.cells_per_player] = obstacle else: + # Get a random cell, and use it for all players cell = random.choice(range(0, config.cells_per_player)) + for lane in range(config.max_players): row[cell + lane * config.cells_per_player] = obstacle + return row diff --git a/rose/server/main.py b/rose/server/main.py index 9a2e0af9..b3f3ed2b 100644 --- a/rose/server/main.py +++ b/rose/server/main.py @@ -1,48 +1,75 @@ -import socket -import logging import argparse +import asyncio +import os +import logging + +from game import server + -from twisted.internet import reactor -from twisted.web import server, static +def main(): + script_directory = os.path.dirname(os.path.abspath(__file__)) + default_public_path = os.path.join(script_directory, "web") + default_theme_path = os.path.join(script_directory, "res") -from autobahn.twisted.resource import WebSocketResource + parser = argparse.ArgumentParser(description="Start the game engine.") + parser.add_argument( + "-p", "--port", type=int, default=8880, help="Port for HTTP server" + ) + parser.add_argument( + "--ws-port", type=int, default=8765, help="Port for WebSocket server" + ) + parser.add_argument( + "--listen", default="127.0.0.1", help="Listening address for servers" + ) + parser.add_argument( + "--initial-rate", type=float, default=1.0, help="Initial game rate in seconds" + ) + parser.add_argument( + "-d", + "--drivers", + nargs="+", + help="List of driver URLs for the game engine to use", + ) + parser.add_argument( + "--running", + action="store_true", + help="Whether the game engine should start running immediately", + ) + parser.add_argument( + "--public", + default=default_public_path, + help="Path to the directory with static public files. If not provided, defaults to /public.", + ) + parser.add_argument( + "-t", + "--track", + choices=["same", "random"], + default="random", + help="Choose the track type. Can be 'same' or 'random'.", + ) + parser.add_argument( + "--log", default="WARNING", help="Set the logging level. E.g. --log DEBUG" + ) -from rose.common import config -from . import game, net + args = parser.parse_args() -log = logging.getLogger('main') + logging.basicConfig(level=getattr(logging, args.log.upper())) + loop = asyncio.get_event_loop() + loop.run_until_complete( + server.run( + args.port, + args.ws_port, + args.listen, + args.initial_rate, + args.running, + args.drivers, + args.public, + default_theme_path, + args.track, + ) + ) -def main(): - logging.basicConfig(level=logging.INFO, format=config.logger_format) - parser = argparse.ArgumentParser(description="ROSE Server") - parser.add_argument("--track_definition", "-t", dest="track_definition", - default="random", choices=["random", "same"], - help="Definition of driver tracks: random or same." - "If not specified, random will be used.") - args = parser.parse_args() - """ - If the argument is 'same', the track will generate the obstacles in the - same place for both drivers, otherwise, the obstacles will be genrated in - random locations for each driver. - """ - if args.track_definition == "same": - config.is_track_random = False - else: - config.is_track_random = True - - log.info('starting server') - g = game.Game() - h = net.Hub(g) - reactor.listenTCP(config.game_port, net.PlayerFactory(h)) - root = static.File(config.web_root) - wsuri = u"ws://%s:%s" % (socket.gethostname(), config.web_port) - watcher = net.WatcherFactory(wsuri, h) - root.putChild(b"ws", WebSocketResource(watcher)) - root.putChild(b'res', static.File(config.res_root)) - root.putChild(b'admin', net.WebAdmin(g)) - root.putChild(b'rpc2', net.CliAdmin(g)) - site = server.Site(root) - reactor.listenTCP(config.web_port, site) - reactor.run() +if __name__ == "__main__": + main() diff --git a/rose/server/net.py b/rose/server/net.py deleted file mode 100644 index bb7b170d..00000000 --- a/rose/server/net.py +++ /dev/null @@ -1,195 +0,0 @@ -import logging - -from twisted.internet import protocol -from twisted.protocols import basic -from twisted.web import http, resource, xmlrpc - -from autobahn.twisted.websocket import WebSocketServerFactory -from autobahn.twisted.websocket import WebSocketServerProtocol - -from rose.common import error, message - -log = logging.getLogger('net') - - -class Hub(object): - - def __init__(self, game): - game.hub = self - self.game = game - self.clients = set() - - # PlayerProtocol hub interface - - def add_player(self, player): - # First add player, will raise if there are too many players or this - # name is already taken. - self.game.add_player(player.name) - self.clients.add(player) - - def remove_player(self, player): - if player in self.clients: - self.clients.remove(player) - self.game.remove_player(player.name) - - def drive_player(self, player, info): - self.game.drive_player(player.name, info) - - # WatcherProtocol hub interface - - def add_watcher(self, watcher): - self.clients.add(watcher) - msg = message.Message("update", self.game.state()) - watcher.send_message(str(msg)) - - def remove_watcher(self, watcher): - self.clients.discard(watcher) - - # Game hub interface - - def broadcast(self, msg): - data = str(msg) - for client in self.clients: - client.send_message(data) - - -class PlayerProtocol(basic.LineReceiver): - - def __init__(self, hub): - self.hub = hub - self.name = None - - # LineReceiver interface - - def connectionLost(self, reason): - self.hub.remove_player(self) - - def lineReceived(self, line): - try: - msg = message.parse(line) - self.dispatch(msg) - except error.Error as e: - log.warning("Error handling message: %s", e) - msg = message.Message('error', {'message': str(e)}) - self.sendLine(str(msg).encode('utf-8')) - self.transport.loseConnection() - - # Hub client interface - - def send_message(self, data): - self.sendLine(data.encode('utf-8')) - - # Disaptching messages - - def dispatch(self, msg): - if self.name is None: - # New player - if msg.action != 'join': - raise error.ActionForbidden(msg.action) - if 'name' not in msg.payload: - raise error.InvalidMessage("name required") - self.name = msg.payload['name'] - self.hub.add_player(self) - else: - # Registered player - if msg.action == 'drive': - self.hub.drive_player(self, msg.payload) - else: - raise error.ActionForbidden(msg.action) - - -class PlayerFactory(protocol.ServerFactory): - - def __init__(self, hub): - self.hub = hub - - def buildProtocol(self, addr): - p = PlayerProtocol(self.hub) - p.factory = self - return p - - -class WatcherProtocol(WebSocketServerProtocol): - - def __init__(self, hub): - self.hub = hub - WebSocketServerProtocol.__init__(self) - - # WebSocketServerProtocol interface - - def onConnect(self, request): - log.info("watcher connected from %s", request) - - def onOpen(self): - self.hub.add_watcher(self) - - def onClose(self, wasClean, code, reason): - log.info("watcher closed (wasClean=%s, code=%s, reason=%s)", - wasClean, code, reason) - self.hub.remove_watcher(self) - - # Hub client interface - - def send_message(self, data): - self.sendMessage(data.encode('utf-8'), False) - - -class WatcherFactory(WebSocketServerFactory): - - def __init__(self, url, hub): - self.hub = hub - WebSocketServerFactory.__init__(self, url) - - def buildProtocol(self, addr): - p = WatcherProtocol(self.hub) - p.factory = self - return p - - -class CliAdmin(xmlrpc.XMLRPC): - - def __init__(self, game): - self.game = game - xmlrpc.XMLRPC.__init__(self, allowNone=True) - - def xmlrpc_start(self): - try: - self.game.start() - except error.GameAlreadyStarted as e: - raise xmlrpc.Fault(1, str(e)) - - def xmlrpc_stop(self): - try: - self.game.stop() - except error.GameNotStarted as e: - raise xmlrpc.Fault(1, str(e)) - - def xmlrpc_set_rate(self, rate): - self.game.rate = rate - - -class WebAdmin(resource.Resource): - - def __init__(self, game): - self.game = game - resource.Resource.__init__(self) - - def render_POST(self, request): - if b"running" in request.args: - value = request.args[b"running"][0] - if value == b"1": - self.game.start() - elif value == b"0": - if self.game.started: - self.game.stop() - else: - request.setResponseCode(http.BAD_REQUEST) - return b"Invalid running value %r, expected (1, 0)" % value - if b"rate" in request.args: - value = request.args[b"rate"][0] - try: - self.game.rate = float(value) - except ValueError: - request.setResponseCode(http.BAD_REQUEST) - return b"Invalid rate value %r, expected number" % value - return b"" diff --git a/rose/server/player_test.py b/rose/server/player_test.py deleted file mode 100644 index 6f23ac10..00000000 --- a/rose/server/player_test.py +++ /dev/null @@ -1,80 +0,0 @@ -from rose.common import actions, config -from . import player - - -def test_player_initialization(): - player1 = player.Player("John", 1, 1) - - assert player1.name == "John" - assert player1.car == 1 - assert player1.lane == 1 - # player.Player x value should be middle of it's lane - assert player1.x == player1.lane * config.cells_per_player + 1 - assert player1.y == config.matrix_height // 3 * 2 - assert player1.action == actions.NONE - assert player1.response_time is None - assert player1.score == 0 - - -def test_player_reset(): - player1 = player.Player("John", 1, 1) - - player1.score = 50 # Modify player to make sure reset works - player1.reset() - assert player1.x == player1.lane * config.cells_per_player + 1 - assert player1.y == config.matrix_height // 3 * 2 - assert player1.action == actions.NONE - assert player1.response_time is None - assert player1.score == 0 - - -def test_player_in_lane(): - player1 = player.Player("John", 1, 1) - - lane_start = player1.lane * config.cells_per_player - - for offset in range(config.cells_per_player): - player1.x = lane_start + offset - assert player1.in_lane() - - -def test_player_not_in_lane(): - player1 = player.Player("John", 1, 1) - - # Modify player's position to be out of their lane - other_lane = (player1.lane + 1) % config.max_players - other_lane_start = other_lane * config.cells_per_player - - for offset in range(config.cells_per_player): - player1.x = other_lane_start + offset - assert not player1.in_lane() - - -def test_player_comparison(): - player1 = player.Player("John", 1, 1) - player2 = player.Player("Doe", 2, 2) - - # Initial scores are the same - assert not player1 < player2 - assert not player2 < player1 - - # Modify scores - player1.score = 10 - player2.score = 20 - - assert player1 < player2 - - -def test_player_state(): - player1 = player.Player("John", 1, 1) - - expected_state = { - 'name': player1.name, - 'car': player1.car, - 'x': player1.x, - 'y': player1.y, - 'lane': player1.lane, - 'score': player1.score - } - - assert player1.state() == expected_state diff --git a/rose/server/requirements-dev.txt b/rose/server/requirements-dev.txt new file mode 100644 index 00000000..8357cf2f --- /dev/null +++ b/rose/server/requirements-dev.txt @@ -0,0 +1,9 @@ +# requirements.txt + +flake8>=3.9.0 +coverage>=7.3.0 +radon>=6.0.0 +black>=23.7.0 +requests>=2.28.0 +websockets>=11.0.0 +aiohttp>=3.8.0 \ No newline at end of file diff --git a/rose/server/requirements.txt b/rose/server/requirements.txt new file mode 100644 index 00000000..89174199 --- /dev/null +++ b/rose/server/requirements.txt @@ -0,0 +1,5 @@ +# requirements.txt + +requests>=2.28.0 +websockets>=11.0.0 +aiohttp>=3.8.0 diff --git a/rose/res/bg/bg_1.png b/rose/server/res/bg/bg_1.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/bg/bg_1.png rename to rose/server/res/bg/bg_1.png diff --git a/rose/res/bg/bg_2.png b/rose/server/res/bg/bg_2.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/bg/bg_2.png rename to rose/server/res/bg/bg_2.png diff --git a/rose/res/bg/bg_3.png b/rose/server/res/bg/bg_3.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/bg/bg_3.png rename to rose/server/res/bg/bg_3.png diff --git a/rose/res/cars/car1.png b/rose/server/res/cars/car1.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/cars/car1.png rename to rose/server/res/cars/car1.png diff --git a/rose/res/cars/car2.png b/rose/server/res/cars/car2.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/cars/car2.png rename to rose/server/res/cars/car2.png diff --git a/rose/res/cars/car3.png b/rose/server/res/cars/car3.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/cars/car3.png rename to rose/server/res/cars/car3.png diff --git a/rose/res/cars/car4.png b/rose/server/res/cars/car4.png old mode 100644 new mode 100755 similarity index 100% rename from rose/res/cars/car4.png rename to rose/server/res/cars/car4.png diff --git a/rose/server/res/dashboard/dashboard.png b/rose/server/res/dashboard/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..828eea991532b5491f6efc11c461bb394f0a98ca GIT binary patch literal 67915 zcmeFZWpErz(l#oxn3**Ki!5f1SQc6q%VK6`W(JFynOU-!nVFfHEoSM;=j`sg8~2O2 z@kZS5-*&{zbX8?OnfX*!MpySlhsa2YBEaIpf`EV^h>Hoyfq;NVe4HmhgMEAxJ_r9rXA?sZ5a(qJ83EKD0Cel~PhJ6KmIwTq#pJiF z33_VBnD0&^t2Dnr1)p2Bwx+ts1f~m`cJUG9@~l~NY;q#RWJT~NF}IF|kv_Yjq|Rn` z!l@VLyLB}e<4RDFdbsL#kpFD#SPy#vaHHT`r~>|J)^=1ja7kDg-wflY4Dl>%IWS56 z2}%+-1|3VZt8R01LU*pKPelnzNdWl;)W*R^&OREoLjsmow{@p6=)V1a@0^R@STWh~ zmJCF)VeC6K)&5nf?jeQ_JgFcv4f9A+Y#xjIzyc4Ldq?Os&3iMSXoqSQHZpPu+9-p? zHo|tY%4c4R42C1$-bi&NZqFTcTb0dZS?1JaiU`!ud^*MEq)H-ek7UcY3KK zXLuHO&CTtL@b{&WV}M%GQXUk&}~? zo`H#;iHY_@g4WK((q6}z*3ypj55(UXLI!qvwkFp0CRUb!KbShYRu1+&BqSf>fPeaD zVJ#{7FL+D4f3Wbu2fee7H9aF81HFX>{l9D2*$X>03M4n*SA!z8<}Sxq-!psNIKE#{V!WDlRGWFO5GG7@1gD|E2Xo z_J2s)n;8BNS^weNpOL@9`FBS?)c=M1AJYGf{V(AUDM?A7kd>apANRzCcu4-(2kKkt zndk%mI@LAcWYOp3V5VhdW74H%F<@q)<>RYZtW4~*h8#?s1}wTCXod{`1|e;0@{yG~ z=Kt>1A1M7lP;7cEdaTU4w7Lw;474oFhOD$YtQ@SgoXl+Ooa~0ojQVW4e?jT%0Y$8A zEp$Gn)5Jo@$bjD3(&(>&KZFAXWW;$$nCSkt`d5#PxsJWzhXN1DcN0qo=l>B^FtIR@ zx7Yc@CLWa1x8Mg}_OzeoN|3-BYD4`Oxx;0PsiiU&E3g%Sm6yUPnmB-rxh2fr%N&zyV}pRbXTV zGO_>}n7=T5^!%H=mA;9g%m0`3pTz^<{(H*BOzb}FyZqJl_llA?u=%_7chlVDucZV4 z{Iw{6I(mPHV5j3~p#PVjA6S16=^5)-8X0_4kAI}=Kl@Go52?V+$^0=*oGi2k`V0mi z*~G|3%c;ls(bQvNz&|}x*{7-Z{D?@uH9a{qdqYoZGxcW%XzqkTW{xwll|0(Tc zZ186mJ_w^_;Gq2#|I+opV&H!z{NL>Q|BWu# z|JhC%SbkguIel!Fc5yA~J~mn~)?zAlARusPe?FifDQVaroly4TlEP32&^Yjj5Z^$$ z+dx17AmTy-3eL-?E23qVDhU)fbz_$Y*ZZ#5FK%1Rq)en5d8I5rH0p<#(m$b>Bt%gX z3;C&<5<@bWHurghq6&uLLePH4Iz}ZKG5FzELMxpaj+kU-%O8bF{a^l#Up&St79U5h`w+Bn{=>^1G$tc)~lzzCNkF zK9$?1tH+$+t(l`!ob|95eBpTOBEpzPjug4!HrR4`kZ52ds!&Y*GLe6Rq!4ryL?TOvn~ z_i;_DOI(Mw$s2_2j~wCq8&be@gXbR&8IUJPZRds|CX`ZL!Yx}hm&EP>FN%(LzKzEA z)PV`fc@$^#IC!j$9rQXXc3{9+t9@Vxdgd#$IRb-QQQTqp)9T6~ytk#Y-M3i3?k63G zeV1=3r~tAAhHoJAYi5<1J9gH08bulKq&0Ol?^~a*Z(OmrzN?ayzD591UOUTYwz~T4 z31<2))*4aRE=m^1$D;!AYiAIUCa?WSJW%NI42dksPXxoGQaqjVu{D;Ij&{G^_;2x$ ze?bV$CUW&m38O!e*OKeyUh^_x)N(qS#+eaYSlN}o1uNUw9aLSr{1)|<1F8Ow)cLOB zkvz>Svip;_Hl2?9%%DnT;sU~rnvC07z*~UzV^DL$*8C6caRdXOjXRyXnwII2Srm|25Pl6oXF~bKRf4t5cI>zf(0%bLbhB-5fA1vaTsK7($e$GB zs-h&;SC%cF5G%SrWK@x%{D0Y)+Z`Si07eg3rZDqMp;|4QWhPufRZJq$B%2bI5g_sQ z{iWS2W8?a~8!5btNnNX}%I4!}u${UKAVx3) zvZRe_d_*w=9}k`Rzl~?vXozym^c$HCbzY(*4vPCJP~$O|ap*vnlO{AGgFv$qGUMv% z;RHZ}fS{m&dLv&gpgp_`K?AxwR>i%+KzyH5B>*>tc<%+7gn|%)UQcl^H*NmNU=X07 z-XO$r!N8y|N)_slO0X?0E#@I;MB}^M$&Wp(JT%XKHtJ!Eah#-XYHCBT*T*we3rjVo z@s^Im?8y;W>kFIObuFIvLho`Y7Ey+0vrq7zp9VUz)D}jz9MLmR$J^KRD!d*K&0*wQ z@@MuG@7_eWuMJK%{90NnyZCrthu*j&l`zZ(yck_O-l`g%*q)wOp5I^BkBIi}AGPY= z!(9$SIX4!_q&bYV?Hv(y+8}0Q#izPXFK$fA7k=*VME8SO7hzwDK3#yNZS7nPZi#Ix!IY%fBg{ zW?R}Hhpx~ge7!Q`B0I(sv7F*%RG|Z*YfGj5bB25RXOQb?9Hs$xho9Kl(iCK zua{Zib|s+) zD>ZHY30H`8MWUt)OmbFywfW1dM@L=aTsQ@sMQPTx?&l-To2_+hij(Q)Rt#n>KJva; zsn)VmM65^49FwZVgIG;nwePBXm&k^`m{{BUhdPRZl;q{x0+DS_W<{~R<%yrM1Muf1 zt!RikYHzXRFS1V8ditms4UUfnzjzGu)26B-v>K)VRzLSFj>{yQgW|_PHBHafu0)!h zOdWe|SuCR>?bobgDDz#QKBAmJiIo%mW`ImSj+#$fb8G38B7X!s^ir+OBM2X*Tp9?h zk6pjN<5R0}tpkGb*^C2e<9^E-!X42dTZ6rJ{sxzsvvy;J;R}CE^C8b_fRdXRVk%oQ z>XIUrkL%o{uN2crF*KwvEzlDs6Pi`GqC`13A>+ zyDr_5S1(Ah45xh3H4NZeGYj|>!VB$T(VF3wNjk@9P1XwqNI)Lu4{%#QP3se#JJhNX z?$U-N%QEha3^_+$nGF*Iv4>3mR0VCQX*X+@714;y4~36#W(JCG3Nq$wp^lJMZfR!V zBh!x_lho3$C+No81X74AH@K{Z;eW-2W?yl)r^6K z&^yRAnnnEi)23Ls%`%EqJk|rEhfyc-h2WCObHEuc1I!`^GT5>)`cAiUBv3cF8XFZ0 zl>r1binO{P#gNB$URKBm^mk#%Z6(D!U!xc2TP;n_s~3H`fYIuE&F@OlQZLo{qRa@d zny>^Vo{Qo5FYm{~bI$i0Y3#ooZKC4juaDP_tK&OP+;ZjO61U}btlBqPdmgU>Up+O$ zTA;{iH`Hcy2rfDV-;XOZTTAAwI_DxEjDz)6mf^ zC7M5RPiJaHcp+Ja1-e;z0iWq>o?GrKJ;uUaMfePAu0+o_7@a(KM4pN24y2??>)_Reh5fifYstFNUI2VmW>|)Z+E{mIH{o4gU;nLKqYS%|O+yFHCbk0K zW0Slf#6pI{Dv)ZdR|QQ9eVA!oR|_)LRK_y zCtKV;KzeL$k^DJ_o#CW4ri!$rX`gceeTsEl6xRe_fmPo>?t}phD!ioJfZH09yTTOO zkRk`8JG}f(cbPMclsS^61jEcBBYyncl7Y`n%#a(_i<6tbjAEs@&wo6+KGwviVJ$jnwRMN8@COP%Xn3*{qcvSCe+`v%SS+vm3-B+S^~ zOm9zbhI?CJeq@eEi3w~K+;=z9u1EyUcP||!88X* zU9Sh{lNaf}rKR<@#GUL#b3Tud4nHG4&nNxE2DH@L%6l(#7NmpEA`G_a)vfCon?Qy29EKXS6 zT5y;$u_86EEQM22CIfQGuy}X{C{y|3VoAo`>J?_wrQh9&jW@w@RaK&`yGprB3WoMi z@^(sf3ouv|8JzYPYMNSkk|kBi)v8+xPcilfNSeqGU&FoS%=WM6t9mT`}#nLk_@xg=q>$W<&?~(&HORrDco)nLRVk4@?Q64J>N&W?{vh zdPs#YU2J0)(_TY|Z5y`VVaZl7+bJ{1%^q#TvwSkY9-r4G2T?>su-+EKCWDeXp{B3B zB0x}aZAnYNAcRO9BQ)DrWbY}jzS3kop_pZaY$66ki&zv?CDOxb&D)5EsG?9wP?X|) zUa$S`IX0`2mx!J&#GG|qbpm5ckjj1R;A}UVG@8qm|C3;YY#!JjaD-b*Qo6G1XJS&} zRFg4+_q)h8O}JtTJ{iIy-$Wg`Z>qU<@96oh-_y}t(4m8b=ID;qx+D~M$hBvuCJ&?b zWPEI86e?nbf&6xL=)PCyr%guVB*Ti@R1WGhO%@D{u}GK+7=S4B#15c7%pn`D^j?h{ zqseiYMl9VN$>W6F2f+s)X(|QH`wT)JjBev_>S7FT#uSH;Lklx+22hY6#@UJp;92P% z%Kf-W(G04}qz|GU0>*$2E&P)|8u@1+v5<$_Q6;Je(MOfw{055LiF)RZowtgM|M=5s zUuDXvV80eRwra}5w@#QWLe>aOccvBNf?ka#9%GElzVZvtW_QU=J|-5L+>r zAMjDArc>$;iGS@dmW1ZCT6kEA#`fwKppIJh!{|~XVAztv=Upya($jU) z+kAh|h8alt{!!$@FIMY4)HL?;DeG!`kxfU9*I?F=< zx>vQiE6>>`M~@b~uQhue17B%ldQx+ZI6cnck=*q>b_J=+>^5*z`T9(!4i=@#oE{iu zW;l|N8u*&hzvJh2gXtA_=aG1Z#xgMY)bfYLqX2T!n2d2&LP(C?Q|p0CPb9~VdP(~j z0uxZk+A7}_uSewhx1VFV@5O41jZe#RzZ<%$*L)R`F#CZEktWm8W>Ur|c(Ckhog42F zw0$`~)>88jQCBxt>d9sMsx&e!tt)pW+2*=R9GmWU+3l7*CmIMX@lwB0@pBbhy0Wkv zg8Qdy8>3v!ZeVhjH4p`*xAk%}h zs<6(3I=(*kdseCL+Mo2Pp3A!+lI78XBiGiI9`{F9mwY{D+NmRhR7gEIM^8L8piku@ z54kJR{t~59Nu+4DAW3u4ux|Ok+LIuA_U}*T(TOVh$@fCQKZQ#m*IuJntKo-^i?~J+fJ{pHm{JE(h{{9pWc+uIf>Tk3 z^JbKYC$jQ_V;bjonBt<`L2js*NtPU=)SqY#S1%wiIR^Zo!I85ZMwH?HY$8Aj+--ac zhA?6B7VQQ9Pv}VkpVE%V9Vzhvs1eY-T_opvV@0{ah{d(NvasmMnEAe=g}k}pJ%?Kt??ct0z2P!7+enJqA@N%o=;v?>su(<;=PDqz_tFBCUsB8RGib2d&wIWE$yi+P4#-7U!$nBc-`tuQ)N8s-P3ODI9~e-wAZf;WC{X@ zzN2h%UVriYIS{({+xfTC4M2m;DlRqi1cK;7)Si-zWUs zqrB?!+ewN1Yqbh)I&3|>SW-q@Cr$4t~L z8~K};1)KfFC;NWRu=KjO{#qNzn_2fhp-htf(L&U^oV@r|*Pa`;)tBm-8kV#Ca>DQ` zpPuf=Xy@gY%jsH^fIzFx6_5LfAjJhx)-lhAHK~r&M1RJ@KGhXZCO2n2H_tL&7`X@g zt>`A3S?BcSPgyLYTY3T`HD)XJIhKAZetHp(2Hc}J!G|e3zu0$q51M6lPT`C~$j2Eh zLt?R5go;;OK6foqt_LRv&efC^XKr}v0!o4}S{al2f%`4YrKGx8W19$SL{Ix3Cv_Yq zu}3Pn>Sd2f)LkkJV&e#~WSZqFpK&-)0>_)POifh`QCXP{gp8)FC5j7{T6>tN;)Cn! zB|<>uXZdEgyPZi3IYC1dOumY^>X53VcSW??zX>ZoN>M@ifVNF&EZ$w44@HB(s1<)P zC6i&+#hsq!_r{)Kuslxpv}|!YHWv1Bw~SbRlvDzXpqYe@vah)hChd%&Wwybfkdap;Qu@QE#6Tc?M~UU=iYd^YgU62< zAZ`Rp!2{=ge#?MfBZDTfwFZnc_#%4v;(9;uYk14uCzXPdA%hvy2<$^d^6;aHGy#fh z2)#iXf0q2cPxx8F#oi&?_OyC3#^-W0m~5X<@T(<5~UPst0Fwdd=uPprv|U-b(Uiqut{I$#MPlZ5o2a ziWsj@{#JU&&!XyZ(jTz~!N7 zQhm9^Ny^h~?lo+=O?ZBw-kH9xus8AfM!MnjHT<~R?a4Bl-cV&EH1HSa`mGoKZJ^qk z|Gt%q*NN-Jnybs%*SAmVQVU(7ep&FxM{MevL84V}fRS_&uOgzTb)&0osst4aRTD0g zSp|p%;8nJa-)q;NE3owTr#F_4qu9m`quK4sFr>ElUbwr~CzRsXE!SVi0b}+k5ao)Z zm4Y@*_|+U|>Vq~*jhFi(Eau6lCQPpqaBK4Qm3hHbV>PtGzub<9@?5DVNnrooGdMA%?zJ*$GMsBlyfE9S~QCrej zQ6@7BC5d+V%B{_#HxMU=D6AkQB>%MPB3 zBw%?OVxDyZM|_e|RRa7_qP4-xh6*V;9mHWA8>Gn0b>xd-nQ)3rr1q>y3h+inkI_(S z%`(L0nLQh5SC*AUli%%sh&>$$LIQ#+XhMch8UZE)A^`#cDP*#X18%D3F$+WSnE`ej zj0_Rm8!`_PHxdey`=k@aPw2T{h_0Szvv~;^7p4&Tw~#>hByZ6 zSt^SuvFS)V0&`UykT|8ay^s5fN}g=8tZQ$3Zbw>6PTeC1&6(8l&?Enc9QEX<9CwuG>&U)D{i9SM5 z-87#4>uhfGpgKLjog=RW-+Og9pQxmA)O~Km=|*&g{%`Fc<#2Y1L1SQ+7YJhAKjGe- zEKYU^xl0sk*BrQ0%f1xr%Ty=ACL^~^_VXo7m98Wrphp^xr;U(L7* zxVPglILP|M;ZNkB1GaZfAzMsX=yc7AN@&f}l| z1(22OLPcZ9ge+-VS4*3C>E&iM+7EL%PN)fIdbDPsaqIByLz(tg)|FK*XISUQ zpm>w*i?b0)!esVb3oF-@$DFIP9=8+ee|zjbotjHaF`aCNSMw{ejr(r=Jt_QWNeI}~ zIcg-I-IPTxl7|ZuVXCStkkDI9;;ihTdCIh^TE5JDx_Y@biI%F1`Z$S&xuon@UQOw@bPs1p<#FV7wtlS*O13WZfz)ag8c~BS| zIc!Ew7sM0E9zuqMDGxFv*LVuftN|t`ueN?12OcCouxdCw0A_NL>T8rS9&?`fM%id( z_5*bKJS$^u!6vxCNphpF>`l+-n=V{_@ZKjvJ%N>^K<`fg{#Ou-#Uoe@IdyObu<@xR zziB$D?=#{*MQpb53nOGDe0!63{GZ`{C4N`%xh>B^A~l7B{Zl`0tzXz@*NU zpTAcSxs|6|Hhe#&{-QSYJL`bwYFD)^=Ci*Z8{EiH&3@t*T1}#jQ=N*mmb)voK$1G&^Q(J%h* z8+BNGCK;W}M2OuDL)#&SJ(FLED_`;UL)Z8s52r`k)z~uv#TwYLcF&m_ResU6VR>0- zrCc5LQBzxaKCbJKHng`miR8R=QR((IcSJp zAuw)GBj(s(xyCuL)4^{wn@yB9N6#{ql#`R{goch~20ozn^Q#i8!GHbhwty*XoP z)fcu3z027PuU1Q2MX8q8HjFj%p_;aE&)M*k?cz}y+W7AMa{ zI_Rg%r!`Ye^T_^rN?fSXlV=N&c#IsGJu))!^|D|6q0j{x$bomUt#VKW+(v}y2e3zlK(=#GxjGh;`X59T& zRJblr+{a_GnH@D$qlV#m+nYx{2n|Zns#~r5*O$D{&SHH%)W@003J3iP#Qafe&JQqJ zQGeQ!=N3D+{fYI*&UVbqO&r|j^|zDb>-)Zz#LN=#UNXR&CPG<#Ogf1I>gpO+UUh5 zsf8Rh+L`V!G*tS*|D(0Rs_+o9{obelJg)uRjhw)=aFHjh!&3gK-zM9N=w-LtJ(kr9 zZ&M0fr(Y$D?l$?dby?S!4UmK;2m;dx*b2w8TT(W{03o^cp%g8y1%)9oTb_l z`5^`mbz%%45Yr<7Jzyz>z?Q27Jp-3D*62;U4M|9o_v>{Mo_ErLH+UJC~ZT z^q22-Pi%Mxo(RsNk=^s-I%PXuyBb@Nkv*1`r%qwpyn%{AlOD_WUj<9522f{h^K~AP z;>yqL=8PdL?W$=RN)3+l@7!qjH1wecN)e7h1V=(MFh_NubC;4ocxN7~ztrS8*%__m z-jcGp4bVt2tjX(m^>pl-Q|HT_6lywd{64E|ZKrYlTrf*wK_?zZxEf*MxF1+)?v$!y zdy0@T@q&erwYUK#LG?=BIIOlp27O4%kXsXCY+=AmY z!$=H2`=>=#1xy@*Hxn_Wc(rj_-%oq@lrL;7!UU;k29!0+EOl6*SBlwgv#Nsl{J~iv z*HM66*%cJMFAx&Z0D$$uCqK9PN`2u268Gp1M81Elo2+Dp!@pL$}wWd5p z!*N`GqsRx)HJy{De$yf*bh!j(jv;DXC7_f@7Wvp5f}MbTet6`cS)7n~CR1c9l)aQm!%}cgFz((gKZ1sdhf~d ziyit=h|2chY3^y*M)M({Irxn_eH^sQNyh@vxa@GbO|;+p-vF(Ja4#7i zZ$EY)(GJGSn^*^-hgv}g1zHa84s?7GdX5^cDx>s%-w3g^ezm+2!#wYx(i6qq80_(p zhG#GJf$^Q?=pUU$9zBnKAE+XK400$?G&L&@#PN7jdHQnHDcMHPvbI5;J746&8VfT3ahGaGNHZj^#z2-`v{Aw+pu_J&&=4Wx)*y4iaVzl2zA~W)dSZ5BW zuJG-w=b>z1SfI7{C0m~2;0~_sD<4g46Fz_(9g^<*n_DU?QM;BI7!1}%DM zss{2c+4S{nPXfni@VGZAkF!qGCQ4XvhiwsaElgG*e%__wpm_F@I<2j?^UTOzFVI$V z6TD)m>qi72k>y2Ni>fPqqCV^vXvi&<=|iAam{J&nu!Iq;A;l=+SE!N0Pd4%k6{@Q( zvHfS1T9TYG4o@(|B-97kklmlkL9#t@%lYuh51LkZTZE){Tb{XA$HO#S(+?ataV*`W zVX5tCp+jAV^PS*+{kY$#G88{0Ic(z?3ldQia|~8xIB>1@%J#@#CX#O7t5bb@;2&o~ zuv4SxnL=%YHbSajnNX;uI@F+MviAqT#a_Z%asFUXawPTBt|?~je(1?kOf~)0S}!XV zKs?E0K613G_h}Kj^{r&H!g)TYW-R;;KU01mtZb>>t}0={_&UrL6nDGx9xd_CNkQ}0 z4Q@av7LWQ=#LJ;sTWYs6xtmh6g7m$-!~~5Dc_5JlWzPlMp%nmnkXFNu^P@FLS9}T# z@$JBikn0$3HQ^P|H~Cj zffO`r90Or^nvI_(+vNqnELb@WvG-5;-&7~G?3k&;ICH1l}Mw-W(u+U@>f_ z$%@RRfP9Rt;yGH_tYrIs*&UEPq@Uhholt@-0=~W+Bk7L*90=M7pxxNa-5d(5CwOrD z{ufctfVwPi!dwVlQ55qr8Y7UO%4FzWpvZ_mq`f+k-U3Dfpx0oc(7N7293U3a@|%Rl zd*Gy)v<_mO*$)1czU|ql1i8V1s+os*J9%e0vi`;(qS4!PbtQj2gHREkJE*)*80gx0 zaH=_z9tvOA=C^Y8V)aI=bUrLLr001uz8brlue=~y?LcdlXAcuy8m^LdeOF($0eF&R zhSVI-_@&qAzip)<0Mm!d6H5=7>4m)Hc-?GRd0UI$`7=8e>?v;Bk2+dW-T{D%FePa| zf9YQdh(DWYLLKa!+OBm?P2+3jgC}k(k1}i~wKnTbJgBcGdKB$KU$QmQV$a*Ubne&h z+-FwJ6O6OXcur;L-dZhafjz7N5+Mj2Q1T2dqI0csYygS$3N< z4W{V5V?Tne2D`pThw^u>+UevSn|-GFkMbcvk$uu z^y=r=Q8Gd!P48Kj6uN5TSp?^vVRdI!92|%bmt874 zNRU=K?4}OTPO92uAC6~%l1b{xsKBubrm$~)`>fI*&MAP2{mD;3@mhp+=vpvj?yvOqN>jQz z$m2n7=IM&^f_R*&A!mN0@JJEYR$NCe&52TrpKMTPKfd9ZcSbQ#zARcPt4jtv{A8h;DEVWynS|eB z@|bH4s{k^WD%SgQSw!+vL;^2Ta|lNLN$#BrY#46MT^tH#M`HVGA?5Uv#cJ`Qyvz+Z9SpN0WM)Lc@7d~Vr3B@luWSX3*twLgg< zBmQgIS|J);@mMt$ij&fWg;^0Dc60SU+gnUoP7d}n;Km1^3rT=7x)hopP_2Xb30vBD z18LAK1_J|4JXv^BB zQh58}1Ge6?En{IK63yN_Z#(2#?dPYR(sjNdzZ0{eQmVk3EuyBxP2qdr)J#mtY}EKZqB9jlrOlH8auyFkI$#N-gAF%mc5Ui&tfU|BDtm7 z%JXC&+R|rM(u`N!yeCf0MR%+M30};sjMNo+(to2_LT27*UE!I-<*arnyd$tXK#nPY zDt9>-%sZMcT?pi_+iNmDZ5crr1-q84X9y6b#uj&@ z3T^OcR1AT@T$!1<7QQ{COLtVjFMnwoxof_9l;kxwgTm^zTWK4=3hR3tc`dg$YL!6` zX7$o(-d{;9eH;hO>*ymARYW>X6kF>w+`2H^(TG*{QHj+ME`}}vluNu$I=h-me~T}8 z;LMbcpVqqLxvCbP{fx`C*0HJ-Rq2?!=_D6k=UH#sckEzY4({5MU|ug`HOSyB#tW5maR~1~u-yqMdH!EdsbNy*> zNcknImqM1{Ka?rHTe>SAR^s~&_3eFyVi&DBeClL0mMyM-24AbPvOj*q+ws%2t^N^k zId@%pRx>k~(_)swI%R1}P)m_KBeE+bY{M}Fa4G7Ek9HTdBau;F!9Pg2vaIvSqO=_f zuoYjCR>dfd6=GE+=a2-F+SW(4SA7%CRrgcumZWaxVxK$ci|lusDbfN>g-bmkp?s;r zzEg=|68D0DK9oQUa6rfD@h6s#gNIpk@yEUz2MEujI?D%fjSlrQmndFSvvMf3Zysa5~)r3ctn z%r~dsTb1}g`?sOu4Ib{N*ftHZ?)ZRYC9I=gC-`PXKEoo^@K@RKPoi-bV}nHOk9#EK zr0M73`8Sw_O555N1+IwCZ9?=!86wt;=?}u}%VJ7SCfkvf&UMSNTNf7=g_2HmlPyQu zn{~U)cDY$Ka?xr->yIMsP3eS77}tPOhx?tjwi26gG9o9xSkE4(Ca$Gr*-IDt4)rd< zrF^qcE!;W%v|z!~vZ_mcDadP|mR4L%3s$`?%@a+8YfTXbpo4Y;Pcut_pRAEf(x&D^ zADR2`n8z~g2BMaw>)O=5HnZ7$X}LW|+SJD2_Q$(Znvm0ZsyJrsMgkD!*c;4@diuRZ zsU+(&c#~V6W>WjM+*v|mM>NS_RndzjYDzAY+Sb?El+CULKY3<^#c&fW<_fVfeJy_` zFRfLpF{=p|nXHNUl>=Q6A+;Z|Kv@R)ihB_Kio$OspUKdLo9r;f5r%(&L*mA&Rbb;) zw!;t>c1OP-G<_btEJ_-(bSJSqzhB@_hl?#a_NW$sql(6QW7xNVT7bxwCl#=i zt2=A#_|i9^XQO&>BEtuB8Aw5u@&uxSW;!wD5yhr#EYW=VwYT;+m-So@!N|P zeTi;m6b{jEt}Z$R2Z02fpuMnV(1p6-(+FwILd$xY{82%|&c7(XXN0*orHh)G8<3{X zZh}2fpK*T{bwlh4%v4fUNo#;`0n-gklX3Y4+Jvd8ZpLDd$;c(%yoMu9&icdL6er50 z_D2WXg`^0b3{|b62>6vw45UOHX7R|GF~D!}8eP$Yc7G5Xl*+C%q2$NUwx(fc`@E;+ zgs<81R0Pp1%OtP@^S~Y%X5k3U5ugu?jvJvyDtCZ_alXPk;Ob3@=s(82J%Oz_b9V~5cI zQRoB#ambsl{V;P`CYRuOaHB3geaNpgD7sq8a0wtG;KZLwqKdoYKsku{q5FC)3*}Br%ky2cVh)krH(t>$ywH}%Bh2yVj~?^;Q1>N zBcED%$MR~Et%KE`;N|~A(^rPY(KKBzzDRI)4FnH_;IO#6OK^t(!QBb&7TjGEg0rx= zyF0;Mg8R3*pYQ!U*EKy=r%s)!>F()i`Lk?kbL60>XDKD4?lAg0Dy;{)e}cv1O9y~n z$jR%bEoyB3^2EQb73SB+NpGaj$GKs<)p6tpIltdj!LNnY{MD z(MLn0QWlw7JC5he_TD^JF=1B{pZSSC&(Ec)nO`~Pt10}|^TTkzDt}dWKhDL7>?D3?vESpIebR>DQe(f66x{id;#HetOZ-&x z)sv4qWvEo;EHvpfZz=!Jh&Nc$uqqL{c+?l0uBJK!d)h*)cR2nk+IADU)bJwHAPuf^ zk6?`AP0T*IZfv#LOILh3nZ0T)t7x&!mB?zQ6zY)U~~U$iG~iU%c2V2N!sgcYO88A#p_srLc7R~0G%`Vx3! zpN<2iPgbQToXim!CK6Q?Ow>_D_HO=g!_A%8ZrXhk)DYAsqDb6`+`hbyCc@~q1M9YN z-s-l!*q%P9dAiV^`DwLC_XtEmq!hYGx=xElcQpx?PV71u{BV!`SS@T)irCj_eO8;J zgVU)gyc@l}zSWatyF3(RoirHHbAMlynw1txcl31Y9iE8HNaC1jNhu*;?3-JnEvGAF z;s_^&XXP1XXRr|JNg5r%3NvP9ENm_#sEy;f2I3v2@1|Oj$?*mRC5Iy`>rU`C281V8 zUnSeIv7uk8#Xl2@Q?=WaCUR%?#pf1YKD>83=ZW!7wtuF5P5m_!dmrZO8)9qx$ zKcx8tjw;nN_LZN1zz^_NqLQt{%mcR)~=#8C9N?y|EqY_}6V*1^nTOfxZ zcah8nkQh@ApN31Ngb!%>c-tZFG;SW70qX=yv6y7{Zhw@VlM@v`1fp_KWs@*Y#!qd= zgd7cmPbB{V%3u!&D%!zReh@`vqn0%L9ROifm3)MJSM~%jPf?+w0(N^V{=H6|C#%0a z;|NGAa#idto7r>7JW9BJJuB|Hev+E*988+Indh!d3nNLQ@s`RlsC?U0ercOYT01i` z9v~%Ge=&dRxyrm5TY5u8&*Ig6bI)Fu9ZJcoQ7@mZ>6UR#7wQaQjK8Z3%S3|?5!RnSku?o<>IHulb?u}wP9 znVMDvY?ORb+K!~AsD!;;94eklV<=wLGHw*XeyMl^+5FsKWmBS`(g%#`C>ek5rdRn& z!Jq!_V>(ehS@Y{|5DB{VC*+OH0`A%lAa8NWL6)WY)dba6~s zD_Y#t*`0hz?~do*e}5;Nq$!wS0LDfT<5%!xi=RT%k6*|1{r<@5Z8{P5h26S%?z0O0 zMhk6EbL-!0<#8tgd^ct?&pt0Om3v#E4NF$G&buH+CBNt1W&460`IF>YcZ9ti1w8GE zo;cA~#R5n(g#zp6)aP#()>--p`5|UusUTh3srTKLV;7-)!9HKxfvp=g(efU79Dc>R z-d}N%(rGx;4S=kkSAN|TRfjio^N-Db-7N^8e-=cDn#D`)x0<%tNEQ~)*W`FnQv?*) zH^651pVZ|7v*3deoJGcUY`@kZ^j=!a!C_##sj7)DyNbJey_C|`wv()LB8=eHAsQu^0!MkM^m(OFWA9U^(|FGuL(4(A#j zkR;b+Q`Bi)&~M_x_&na+zGuQ?R+Cs}0W4l4#IFb>f5~KIXeGnPm$KRTz6=-Ya!f!d$%fmtNk^{bzg*o-AHd z3W#64hZj}q+;94Jm=41_e01MxUu>&={y@?ni-Wr)QCs~&OCQ|Z*t$yW#8<1QAK7`^ zTb`AS8(!{LZ7qA>)ZZyZ6zBE7T)jx>`u-gSZe3p}=!zsuEF`I6v%^H7u3grD(mNMHruYWqXexY3Z z$W=z)-m=oO-S|^>-Rl*qM@0+I6V<=L93}BFTQnTddSr2U9Yii)KYLIgFU{GQ zlG^SS_>S^t8s{wJl!V~f^RopRuUAch`~ti()zxXym*$JVogh6_^ojH9v= zNY(Vd*?#@Xa~&atPN>XZMyv-vltL(#W5q}X_uT@HA-qa2ah#)Hymv5&j)om8fm>>O zb9U76?qiC+jb35tT!+P+VzFY}+D4Vc+Hf!ct}zmV85|wEdU| z0sznmCFGX7LB^=@8EQXjZ@!znuk*$2j<*QhQSU`|l2wcshvAZ`K}f}=Fy~{4BnB2kn6xM=f0w-aNzu;G@$~)lHl5LeT2abp0L9r#KNSp z7&w84p~0b{PQ$58O-@d3H&tyAa4o$1_1fU`&_d*e^|cDzCEbvj z4adnsg3Fek-;p7NJYtFdC->+6_gk~Z5+PM@>-lGUC-nJx>zan9Ae_?!y#}zHSCnB> zC#Q8(d+zb$j7YQKgdV4BWjy#qRhDvK8$A9dz;z>a%uoNPr}HK7*3hd}C|NXgvV_~C zH0r_A;Yn(F{2e1%ZJR5d5V^-RUlXz4{?NR=>+|p~fmZ*`=Fivj7CS4)uhY7M>2IBn zt30m1=*FvAc0@+RI3p0*3^Lj`u?DM3uXdSY*xaI)+-^*K_lG5O#4qPQV2WbwrGaky zBYG=HioWHXePVQOzP2V&RM$&1DWOY6wax|2rtc9ewArm z?UAc>1_zDeE)SleQciuYRU+ZrlRw2UXx_M7HrWs9jI6AmwfK5!v`Op?6kKfGUe#3$ z%kM?L42Lck4>e=XHPp?d@{G$bB<;*7x);`}`_A&F-qaw7%+x2HmE<}}pyWQNIxJir zBQfQC)uL<4iRVi1BT=dQG>7F^t@Dm6=1O3N>yt1_&V;!s&ywPmu6FK7V!~XK%}!Vf zWv+fDA{UMAhq=Xj#221wi-;7!6$=$pV;a|VHuv&Wvys+2=VQigaV-m*9=NxMx=IZA z4dx??9nrGEsOn%B+;TuW0|wu=S;X%-(0i%RG;|0nG6@m1Og3Yn3Wjf@b8%X>oG&hv zp`0l=^RWUm&WoSQMRIlSB?NvtMeFAq$+T&Qd)btTN`Du()*brFIkVgv0Z)sbs9*Jo z)vElj${uoP_|71{9-r38R}+6evO7ZSz6~ASFDvV&J)c<^sdcpGX2*R54(TfP@P4D! zU<@WA<^u%_ZGpi~5JOtf-VSY+ zO|N}SgDG!@w&SvQ!TbQ+RnIF*>s0_A07DzNFX~vGG5SH=?5m(H-7htxjJc{!6n>I| zM#g$R-07Xs9{8eK4ITwaAaSLnt%)%5^)E|}_l1*$K~!ZG^ROU(QR)dE%fJ+Rh=fq0 z70>7Td}3V91TG+YdSEf7IUO8P(Z`kWDHt5%IWdCS-wp3z`!;Ln#nWK~05AbST6pXy zc?cyDZ6O{reEc=YC?yXBLWGBq)HEdj@8tvSUUKvRfJF++i5a9!i8UD@f{FHIsw0PJ z!4AX@pkqLyh3Lj(Ljpx7(a<39b^g(zq#&rivi35@O1!y0T3UgJIo0K9SJBx*`ltEuu00Jhn!OHSw({t ziK2H}Wh$%+yNIjF_)*3cM=)L=;3djK_nU>IKlLJ+3Ugk1*Qfk(AhuKDlJkgZ4nuT|5OUz%Hi1=e6L22_fzJSlh%w{} zLa0pcf&HWF3Wix5Q4$jyKJXgqdT;{-J`gD&08j?8aYP$#^K-Y}_zMgN0bzm=jNr{S zeS4@eVX+u6Xah_^Fr!990x$;wbU@hnJTe9t$^aq=40ZtQy8lo_08l;vo*4$d4*VLm z82|$hb22e94geki0NMbYI=J#YN+UQ`7+y+Pd?V+06wCmkq9A4@T1r?zJTMxGeQZ8%gauFmkhK9(+_|s- zOl;aIawl`5&YT?|9=h^R{T?Ha5>ZmpB5o)tqvw_uadJh)oOL0+ zQMpJb;cKsT#=AS|yBe3^%Q=c`$uy(|MDi1au@o?v(2hFA4KOWQ?d;*e5!H8xa0JYs zfl+qyt*el)(GTKc*?taYxj#M%>)T`cwZ}aFHBdCpcko4)o*qE>fy((K#ayRTrHC!m1s+B|3#p}?=?CC<^Oe(fL$?cOE$h61_;HDaG3C2;x(wSHadJT)J!b| z4J+k>`GZAj7K0LTA}AH4aWvDQSvqCqMm%Oyc^Dcaiz}H@f&xe7^TD^V#e7~ub4MqE zPKPgozHq2anCRyFi#^9W6H^Y-Hp1LeXv1O4?)a!^C8w5yn@xizp+<07K|2UYYf|Z4 zp6nbOQB@Ba6^|vw!Q!=K0kE_44(yO(0eCEjbO1*0ZCN-!azYQXOK=|lh{F!xoVqC; zYCZlMn@-A($xjW7h${`fjzxvC?A`$A?Hvu5KHGCKmtXK-g8@)u^NO2UIH5z2k8-#t z_`DX17DVdWfCubuAoz_muyfbd%d7iSpzlV!FhpAm^|mR%$N z^RcInx3;GZ$kW%iP$P?W<2OCj+c7oFTBNIRj~PmChjdJAdo~~L$Urlr=k7HB7joF! z`2t;4)xRAenF+r7PD%}impW{CW8B$HWA+;l8s%!m>MafTyT-=(+8V?AuKxbYLnG;e z?>~eL3SU>l<|n?WP2v>95C05o!E5GtC6<4Uq1_cH7e#=#woHbPU0AB0s^*wKB79%oepxOR}p|5S0b}ZrgH* z=hqXtJ_=p3>hM+YBt}7*YUOOkjb!CgPI@#_+sg4;H530zntKylN}p4%m$%#LX8EpI z97_$Ufv#Xi|F)ll_atf+}PnITRGYFq>DA2$2DSwwM)%N zqRxw5!_HiG76e^w3=WKpk%dRX zR`QWqnBSFkmirQ)VT^wuS9YNdU~oL zamG)}B6gz$YL1@#6w5`WfP|`SiH{MchF)nH+-nR2AOI^ESP0TMa;UhW>RAZwHT(_- zN|ZcvHL13)j-I~I4)<~o_>bA7f>aL=(FxOQlbxGIal3B)%+aV@$(|*?=GM@`Q87iW z;q&F=1I4Qk{z!VCn3R&=#h|GrI+?eLlP;5+4!=VzUFP8ovDKhKgEX~Tca00!e2%R@2MsC?z{-sNyndJss= zeJjupmrV*8B;d={EI6-v{}+ZaK{z^CjGdg4mO0cBR{W25Y?=AHKxrVE>Y|RezL2At z_07*gj61KD;PpKZ_V)B1Z}BvbrloWC+IS}$i*Ih1knX=!wqv0S20q(!=kDASZvx3f zb<=#Vd*_0;y;2yt9!Gy4>PgZJIvc-H#Y$m(cF-Y8NpA0yI3oM`k~#58(D|6@FhM|> zY*1LV^JN=h-AgzJ=^ofIb!6ku6<%>Ahom`=-msi~4xR?zXA6^^yoO^TtMCG>(?t^> z1B!=bJa%I=tmk#4d-kDn(g>RW#>yWw$JtUDnKJ9F7UV!s4b}w+eh?o{ zO@^l<2@S*}yqZ3mi}8%u5XlGPs*y7Qs`Qv(-aA(gU{Lt_+#GDLRUWT_q4N*f-d=rS zk3&d@vu&T4;3n9}^mX~&4i1tC4E+yJp)F+4HWo>?!BWNBWzSs&so-ItgZnAACAvhS{+|Nw--3C*5 z|GBB(Xt{sHsQqf-RTes8Q&zOIpO4;}EA3lvxtP{*8%J?MfGJ_Ul$dze?r!9TTl=jk zzLl$|)!(sxUYFO+?qM^G)$c9N?bbl}$xCgomOq8T4gUy`AE4hXL&zv~n$gL$T+gp( zyJ>J8Uqr!s7)XwDk7rnFAE{uN2d5*V;VPlXDu(7$3(!pMsfgryU=s1-66ksn6s0{V zbd(Jy5Zw}WM3nh;AvPFPk@>^A(m5_gMT}Be@uTi_zz6u_`bm0rVMD!!LYN?DRho#F z2AY9b|Gc^MwWW?bkzR-ro4FgVX(@Tuo`AWI8Gh)!I~|LU#)+;TFIx|moZAEa%BPunGe$=E~g#E3_O5GptHU=%~c zq+#f-!46c!O#H@x3==*{%_lWYNY8sJ9}(fLfB01tCK}d9oH|vAUhy&~r3#4>0XSnf zn!|VXJXD%PhS8cf4klGXeDb@}T(~p3y9d~#S9=X`3qabRn4Id|7nX2nMAEGwepbWWUZdsFcPlb5vHv9NN%a@YtB-z;| z`i4i`uHoylu&2k4E?*=R86W8<{H--TNffhYt=IEMn9K!Su zqn{vg=~TIq2aNbx^ARo2amc6+v+@)UT0l4QJ4$MLO)+1hk{I%Pyg@Lh$pvvFvTR=o zwFsXy0N494q0mxM@KWD@cBR8h<@lsTsr?W{aYnddFZl=kYTbH26WMOh2JCxO9!Dnh zI&1jyaPD`^_SSi)8Nu)IJnEeLs*5Qp{P=44)j_{qA#EcCA8<)=vap zXPu*%q-v{jSC(2u%^aSTHl8>7z-nIiRus*(p%g~zE6JomQxAJ7&M)9o&IzBr$;;AK zev(78iyQ{~3IE##p|^$&-nV7Bjn_vC+N3{g*0Y%?H{_CjKR(LI%C7g|O@4{Jv;aFF z-|7)uXuWnhyo6lZKDd<>?O2l5{#6o)q2J(M1Y3T;X}o6S1gH}`BVpu9Z@n(1btas> zt90Tx5fJ0Yfz)qyPhL53VLXsWVmYN)Q-dfU0T5}8*(v6evqregs)if$Hj`}_8Cn#& zVtAcO3AjsUG(SoR{6RGL*LROK=bqyl{C$J6AK&L7GQt2FhG_|iXKZOe z6+PEXRzMhK$>zK1m7*{7bAK8h8&Y3a597X`Q98iekhy{d)W<_9@ca@ykaK_ccJ?Ol z1n%_UPV0xZBe{>=wNfd|7@b#XP>gaDLq{^8;RkEHy99rsUOfgU`JBwA^P97+a#J|w zzSsG;9dgFwrurg2{;tO8ZXTC%l?jXj46usyxLZ!~az47>p1=?O)9n7$+TQfX@5$?s z{fYYsLoCm6)e!8-h*V1P(e&atv;q#|1juZJV=~cpKd^Q8xc}tH>_moC6H6drWfjH? z(x{@u@z%_wsvO{1GO2>;5$MwGte+n0B5zvCm9K83$0hqEbVz%F&*@~=v{cCF>yu4w z8_eBAkr0Gg*jn;W;2yZXev0K-{&&NxBzBz8WmG4zc*Ds4da)W}mdD=~!`C_g#y0Tl zY3E}PbBx0W8i#@Ib5Iv6bVnC~y4c-KWK(E{kCuFtyUg5E)a+k!=!7a8*>GW7oK%7u zfSvf{NI>xNx}NB=0hQ+07v(CR@EA88M!~2cSiFUdZ03f5PAi;n{lvhmUsEw3io<)g?8j@ zVxnr}x|pPZw&Gg8CKjdK`@+|=u0o~3<<*85L6HcF7+Pr{yZp)G&$PHIEe4GS{RRPi zQjW*O2rL)@>X>OBw1H3rS-kJVI=$MSfpj7T?CKK3Jry#W;p}bjy>={KS?o?6{H0P| z*3wM?rqMwojl5W)%e!t_bML1_=QDgfkF*dkY0jA@hd)Rm@a_X}?j#Q-x?}Y_(0&go zHplPzaKBdHr+RS9T}J1zm%#7pI(@(6lEUwNdA?XG5?7nejvnTnmSk8Ip zGFGer?Qhnz2Yum>#pWvJJ)y@0w{i%#{i^fil1QWEfaSPHrw!()f>)s%cD4r`=9#2$ z7gtY!fVu!`cv^%6Ds^;NQ<0y_DYHw;j~a~!JbHi&3_+YbK42OqLLnY)3L2`dxR*v~ zWd0dM{iqsBz+r5}wv{GJrgOUdb*j+EvWy$7QST;QI;Ud-gVRxFzY9|~eektcYP8>8 z=zb{M+wIoTROd_Fo14IqU~jkfp13U3-s23Uv(9=V0AREBxo5-6c0;u_1zL4jpWXJ_ z+WNfp9iBTjPF^f1^4h$0KGtLYg(S>uU*5_IH&aICL$Xvbb&U`&;P<+1Bf72Pn8t%j zUD<1+NTYD4kO8+vGq8an0EA^3Lv5-lC&=eJ>4*=Rn~iBPYBOqI|oHUpUp4ya#C?BX>35o?Ta7*(;ZHySa1y$&Z!1gK)@x&M5f;)DR$wr;&wPL=ub(N}!?6r}K)9!DNj8{!Sjn@=NR_rk&V_XUBpD z`1fwCD9?p)+3kB(aR0X#;2R%_lGmLNoo`d5mq+5cCY;dq)d7CTNPCm+z1vJji>u|a zETN|G^YcIIom!^oy_{(Il`f?}j4!-R@;-(0-Bc5`6hURuU~P2(NeDEso}t#PRJGCwbQI%RU>R{Kdu?C;s$A0O2 z-%ky?c~J$LQJgr5Ot8sl=-LJBv4kKh-Qz(j-2M-2H_sV2qHc^6&d{ktVLMVDuW6o) z-a`JzyY>g!M{?i6_1FpD70b0kwr5{rxK;Dznc5Uzbt$D#37M#5=wNK>#vdE`#@%{7O!pq93jjE= zGqnC)qL}S@w#u|YW9erjvG*|Xx;z|+^RF`VIK`Ezji^h@$dqeReBgI%Q^zZYffi_T zX5zD?XB5f)cX`rjIs8 z4ZE6v;d}TXvN-IJew`yTP`?ON`54{jX7OwnSJeD|5?M!&=R##e&6=aR-g0_EQxv@G z0a`6lJkJ_AQZRTN_x~huna=i-l&dTAu<6|Cax#n53GKT--r43pG7ufB7C{%_1Qu;! z*WYW5Btuv3hhE@&1(W>U%jURUskX>C+ila_-D|4JdDn9E8XD^?V5wb{DPdYj1tb=c zf6|FbbWD)K1|&hGMS#hi%CLZ8Q>xqjw8U_fslWifTQO@w>B0CsY%6Vk0j=x|*_olQ zd>Ci>2>ze3kFd4_R|Idqb^*4&`~mo#XZrJTwO!u{UB&sKAnYt2S_NjFD8_MCz?aeKUp#C{|~IrshR`++AXwds9Vwsp#)Uc8Skzzxhty zRSn_dRv0w6Nlq4NE(jsxXbhGCKFI_s0o{CE$e6VQn_!%JmlwJ+Wxw`|CzZ$ z^1H0;eA#k;EocM#IiU8CjS&vp6hrgvE95`x9)@;i#q>1R8w?Ia1Fe1&w}Dwcn8OWm zfsPrATehfCOn+&5h7A%HlLpe)foMpRKz&w=j2{*wKBtSSb}@$*Krqt9q#E&YXL*`i zojxgsjW0EotNG7gLTD=Hyb<9%Q)w>`dM14T{0-H5Jwt@QA5HVCY-;noT*aVR1~$u= z{0s0Xg3vS%z+CU&p3f$x(zBTg?6Vm(006Nk2W=&4ggzu3QAZ;h$+%bZle1Oy_qp$5 zTErg#0Zzf^0)#` zhmYsgU67aOr@1I$gU(e&-yTU_g4ToA0>k(haA}9xC zT=17Ju&&1X`j?kRbWi{kS=L(8xC++-d4hn4oREmXRTz2Fs&jn{uAPGTaai$DA3^T{ zSd|~MDyazMzotb|;)NoB*_3rE-gJMv3kcT@8NqrQvo!EG_|Y1Wk*myD#1oOFwIf&A^@sxEhx1%m&9CvEdUdHiX0r7sP}117F=<1wrXN#= zNB{ox!RCzeE>+*yUFrxcp9{;l+dKBKJYAxAz6le$ZMhvC=JyKR5~FzPt7m(iv#Rsf za{OD@k5{Y+$_=XUD@01@0o`B?DaW%5H3+p943Cj%Uol$_?VA6WR%zvPZ5c2Epve=|Di;oY zeL-w-F3PU=KW+w?Y*7JNZ~!2p96W%8QcroY+~$ni27&;$hzy9Pt5nvh)uo|l8k^tR z3jCzxko3*5^V`ivAL9{A#$AUj*5$LUur|Ms*Ug*d`B=t|>@PU5^XiNJPjksLX+Xrk zQfYG>vo>S*nKz5dI(bOm;tGydNcs_#11zod2;(&$Ecw|YF{X%0LRKvHyFz1zotryX zoAz2mo^q(~h~RD8gHtRyHo^`z7Ey$#hVkWuGQ-Xo3AcS#xZ~UNz1wSbsgq&M-ZcNl z!;3A&o6XyDP1yTtaH*F-4m}$d1>aE*9^hG9BW~d8lWb}j$yQ8mB|2dK0HhJbKDu1_ zBabD`<+uXNdXNj7D7<+#pRy2Mn}k;{PZ5R=d6JHB2p}5Jkd-h~+wSy}xp{KQURV;c zKV8tjeAIPuX3%V-pk@H>7_jRI2stR_?sLuC!mPy3*)~1RplG0EBLOz}>CP1eL?|AlPE8WbiIJd!AUG}EW8wp*m>df)3f8a*)>ZH%Xud6ik zi@xXS>G?*>>*ZOgH*3;7dEEX(F9zVkL%?uQ6XV(GzLok3`dsZV=#SYCNwxM(l^otm zqQKGq`1jQydSqjEB*l;D$*K$~rp6*TD9FZis*~C zK)3nz=ab;8w2rb0gZAg_%v|5e`V+INU2CCqAmfHTZEX%MZjMT#eENt zqY)yVzK&?SsN`3^f5^Iy)@*MM(~~UOgfDRvCRlPiugB*27hXsF?@WcFoVeQ9wVR+$NWU+_>Ty=Sh%ykI@~Lza0IZa`5sD4Hz23R8fc zn$hl;K@@cQ*qbWbOtPy)qBcJlAAFieg zQ|-|;y81G#L_s)XE#@p2ERPlKS6*j}Z@c=-$I;~IPeEy$VPOPDwl8PXmz-k{I7%0G zBI;jweXUJT&$_rDFXn6np;0a48U*@i{=?b$(CLRJ*|ZGUnO%unLUnpb*k}^|W56V# zJJQD7T3p5}9({oWxcRN>ue9>GvjLAd$^c=| zHK0xG5F+)$(Ro%(4Q?+=EnyUi3T<5(qs=w~`Q=Xk3qE&HTz@27wvT**Ibz%XLs(p*6xo z%!4;RVEC=CNtkgnE!s;c@KFM!A-T-)3p(1kHL1L>z&^K=HqO0DT8u%@-DR7I?s+jc3Ig_F;!8L`pEr^)F<-W z@w9NHjxS`-Pv1LA1$L!+N!pga%7X8YL z4ys=NnYRk6gINq%)K0kl<<2_q)p9eHSwwfi(Cx`rrcQ!mP@0EY}3gFVZW?E_hBaPb|WV?Ct5E6;A!J?2YZXr9}iZuPpjy$t7xuFI!B3OD< zhATllkb)OS*Vd?HPqh;&F3T=6fV8)O8m6K0R?NDW&kgEJBkKvd#B{(u{A zf0S<&ly1L7!%q%ou@_A{*L1<#rl>fzKLOB+LKz!e=5@dos{XCmM&XbI4(ebf*W#bh zXsv(6NB(!kjNibr$zksY%tRfUW0=132)Yjtqf&}+NRGZ$YOscF491_Sf-!wFolhbr zT(U>=R+cZAsQ+%IM6VVW_%~es#!8lnq^|Y3`ZT6N zOz%%l@Q+`>?t{shZiXrIKRvt9yp6TsQp|(0ec(z15A-xRGe7zq$%I7hh{;TXWNx2K z&fq4iO~nk$m6q1jCP*HqWLo`~!VDYee7Ailesae;C7Y zQg|uOpURI>)C0;`jyuFml9`LJ)Z>jlN61&AT3-3RNvGYAe$W&JQt$sWJqPPQjq?#) zcez-kB>7~Sx}<|2sct9D-j*$~Kc)R!Q|3o{w#?P+z`2a5;-?{YG~wrk?Moj#`Sy1? z|KVO0Zy9{Jq=P665lN}F3QXX1z|Fkl|aTgkzsa%igdN&G)p&F zETudO(jHEKKt$3XR9rV{PN0tCyU}a<{*!1Q!JO-Z0jW3kk}7qW5ZQO2C9FW>LB;V# z5k$1sz}rP+ocEgq8e}9UY}8@ii{n*IA{b=cIJ3V=qV+-^tn81 zu(RR!KkM?YuzW~PEpYCXHlcI^0^1V(k!n!c{*KE&n_-v$9M2pz)~0k2C2uu?q4#@f z;HNKH{u3mE#4#1tK6#p*35{7DPRjBeT{5qcCW?bp8Z_{x^5^X)1@9T|5e^14S~aN)Tr;r6!Q?#L?`>sn4&X&3+-vK$$Ln>*c^!Lqi?X@Z1S?ngh0(& z0BqfBvQkHe?R!FrqE)7YG~h5` z`icY!*t-IxgR_!!xBv7FXwRZfiV1o-_8lO01^zfmQFIDZN~hi*Y{|#EjRHX3s}pv*0Rl-VMatPA+PJ}4H(^OdND`+0L z6#J{Rs47@X!KetNu0>T)2n1N#|I@OCVxv*%Ves0_3@5!_X6C3#IlA#;{11Pjo0-G_ zO~awnPKWARO$#L#;1(|d^4foP z6V+?3pQ>(qy-79Cj^kPE<2Nmwp#qV<*3A>A0hqcz0(j8KkO%BtPxqd?Bl0u-75NZ1 zm)t*)w?)6ztiR>c1W=F**Y&{ij@Z$AI@#Wg*1O8aJhNk%xNa;8aSHG6SOE=xLxb-SANgWSpMf*>o1zKnG zKWMC{pbEI&#z2qVsrnks3TkNsL=tH;#-mVnZiG>K=TYZ5UCqxK=JNULAp8-*6Z$15 z$lvI7uw|%}torgysaHtPEobq$mC(z_&~%fR90#hu|6!BXttQnrD-hsM7KuvCuhT6ht>AaF&Pw%imuH$DVC zrF3uL?OF{MU=cBx2a&;LhNA*;B#1#kd8+W6KZHEq=xg;K`^yySzSC>M^hYua)BGe$ zsS&c_G+N-5I)3rLW^Nt5>->gGC^kA^AI2j7tygN1;Y?s4 z{QAdRI3kD#7X}27k9BgS3`dYF4^gFr!3{QbI`O+YGbE7k+w0E6X`TI(-dQVA+V6c7 z=yH>g0h4POxwC#C^ZY@bUd{^JHs8u9j1$-vIDB+*># zg1*oLK1YX1)j-h#X;kD_UJyJLG8bl$r4HG=KV%nZu^6>9om0!e*BLn ze^^~9wfLshq;AE}UCX7k_^*aDV=S(Mb6?&8D}y4@O0mR>B18BRVWc+mG5~b-Xt0>t zj8wFV&7N1mOy@5xAkUBd z8~*15{yF=;#aleEjm4Ndu%~&T)Ups&SpYC8R8`sv1(-mG3aj&WU;1{L?eGQ)O@V7_ zqrbY-u9I9jN@J=rrE`rgMc27_gXki~iM5mxK>!eO^90`n68c}BLWG^Za3>01gd68- zxxG&>Jq&NuwVhYNhA$^ljF{&3Gp{9ifo$91AGR+AhEmz6eZR&Dz0+ZGS zL&;@jHHGeqZA@kY#g|jVw_Oqke{Qs(;Pg(F#>bGuxnL3g>xt$OQtXv)IecAJZ`sbn z0#92MIF^yr6lnD)^grjsLgp4k$m7yxzx@}Y{o;k01le!mO4&un{(hIEdK=K64!w1D zCNttHDO%@PJLHQ>jXDI%=)&d0x+{ z-$!qI>oP?$8STzVeu!97IlJA-xxLcb)jhcO(r7^#fcrq8P%hM3Nfj|i-!MnhgamEI zP<4>VibvJM3}?45+r|3^2NiPO|D6TzeKP5K3)`Jt*?3vYeZA@Qcidj1tM-yWZL{qI+V#o(ti5aKHU`IKmr!C(XonDp@tYU!ChPo3h3mx?wCHHdLI3lD|d^T=(I&5Ezr13ysY9ox6CdxDS&c-nHfOYiYs2K976ViYLf@|BTm5a+t&H( zZSRn?9Q}CgFO7A7HnHzDXWWeB1pg1uKrp|q2^nsvlf`!E%^&pCT^Wdn%BXdzpI%CJ z2WNGj4TdJp58CQP;hp4j=<#@7^2%sORSzjxJs!`?R3aQ0wYfjxw|}wHQJy+B=l9KT z{m|O{@BjV(MvxPM=0XTy3Ykl?Iz?NyD^hnsA&Ssp!Kj!C&;=2S+8oe4D(eu#u*emN zqTSiN`Lne zw5LA0!$xy4g&efJOk{;&QGp$(%cl7Juxnps&QxsrsneWA)~J&-O^VG&klrKq7G z!La}rCZz;4835&(W~+ci0FZz5?oT!z+&g>mZQiw7)^J-rFwyD|Vci{{$xFTw4>>eT z{dpqwa8KPotb&=D^K4LLy)WrwmJj;Y=;5}yca{|#7;Etaje)1|!S;AO&uW!4c_}I{ zUH*m-tH<+F7AHfC7<%Lm`_`Y|C#f*3+xMWS?#uZBzz_fMzxd?6pa1$-f1_kTD1k6^ zWvyBiI&?ejX9NXK1_k3ZGd8R3UQtCF0199>sYB2L1*2jPxiq%yvjYjT)!VxC<_|D$ zcL#mIhjVxyP273(KioCDXXm$%&%s@1eO^pHrD;_o13O7Gf~;V#4EjX^Vh^A~i}TdnZNy8 zza7Q#U;OX?I*C#l%z;qsWQmX$6vd^5Dv%P8F;()?%rvte9haR>ICrAV>&V;S0wFac zh#-_I0%t&41=IEEerZqH{B|o#zxT##oBg!NvxD07NT(kDwbzpl3hO?vI+D5W3h91B z9Vw}k#TE|E)?#L6=WL$#p5kn(p)bo>EmWw2aEz_)4lj-h^20Z0vZ(r6$>VvMs-y{2 z)#LHJ3KfC=l|hP|4js2T0~(`SPGoYSP)PmAs68k zS;tr)ge*BEDx8|O*~;1a+UC5Z2Pj=26;sTVIxYmowLnu`Y07@D_LlAS)9$@F**bao zckbW0$;?BOeEVE!5@8)`SBL%CAJRi56-JEs939);hbbHM%e?pHe{hh9gj7TBu z)B{l+-57u;XbgBfo+t;q(f|M;07*naRF|M`VgQz}zV@~+BRrm$@XJ5crS>OKM@T9h z=$Jm#Q>SMa|HTh}|H>yHU-_qN)@^8A32a|fLrg(c5L^?HRLR#P%02Y4iE3H|BVma{+#QG#(=MwJf4@M zR@y&weWzel!yf7JcwXGnVVKPv$)!dusyfC~lS=LFZ~XJW|M6d6{p2Sqn72?9(8+8J z+wB0L9?xvsDiDOQDJpY?u2~oe7g=cqEMikp%ES` zsYi|NBTxOxN^fS;S+9^P5mHJyF1(-b1pv$kW4kZN2S1#TB-mF>9?#2JH|-!VzW(-+ zu7!TkkjL}{9O(P1g@hQL|!vH27t2)|NM+6pzt^ChJR@dL-sd+Xivp#)U zQ>jM2I%~C%QmGIT@j#FNB(WV8(kIKI`nt*Ec>yY>q2;H%_}W`vyo~U8JkM@dX$FE|MhfrWxTBtA(Il*KLO<{yq#7uyI%m4xrSQmms4_(DM3m^rUqJ&;& zYi{ubBI>e$!<=dFG69EAV}Fv!^MOGZJa!eZgZn=n@YEtti?sLDS5ckp)sZts2q{&t zYx+M<8ru<(91~$*J$XDYN!_&X9C_i=TfP+VcwWvD;R#*pKr$5$44~XOf9n_M636?~e zlhDqIP#6)!E=MU$oRls&L3*GBS0gNO3fVE|05w2u%B{ol zSBY?Rm)f@@z}}hck3CgL^~!5+7kT>rFaFwCnp0LByO3^bVcLapfi#YhHAI+&G3VUm za$AU!1*HxK{kw*97D+_r;t9Sl|10XgCq#i502#2BQHDXr(MdZfNpwTxT7?T+k=E7g zt_)AGE)flB>i1j8)J&iPWAx+uJhV%C$iJSXgPDPcv;+=YU13-|)#VU-syz3F4*@w`0c!Q?JAW)Xlf3BR3#VU(P`@K$Gg7#%?ksOG$xoTwMr-@M8oEM2K}jHMduD; z3ZNWEMCe#AhE&Fxs=c@XuS5=Sa z&#VK%R)D0y*-WtOG9V(OvtiI6lI&8H zG-dVj`7_(yOEtVkm@u&mv?ArW-mwK2pOzRfSV<&AfLIc{NJ3B6x$H@Dgf5Dub%Hr_ zC0l0&^ht;iDXK(;trfj32xJ`9i0uC6`)*<7Lv~6yk~bYPaqU20hyJ}UnQE=h(_WEw zpQ)`xnVqu^1xl%QQK_2_!!F60!h+xe;)Gl%2v{(S3b2g86p>Fu!!BIkSBA zqo1W4x4XuPVk;5_)fa8a%o#8M2moSoRS8%R^E6<#05YkWo;x<^+#)EHQX~hz)-uQW12HOKE z%5}>w79xm*DU84Zz#$0`R)`9aAplB5$V>v=b&xWt?mqbF9>x1SA|V zmn>`K@^f|fKwPS2SHt^dEo1{y0|IaZDGMcO8M!jc z)65Y?0zrszQG2XNd;6e2Ujt!WVt|KixH8mG#{~A#L0uMk+AFdyKO2Kn$G&uORvTl4 zlmZb^z`=P@2O9&U7EK%d>GgO#FMK8SSXIwmc-_ay<9X@YsfW4L$gS!RNGbp{rWO_! zPpmz-d;7EZr=m2SzwEaADEb1yP$kbgC<+7!1UT717Ez=uu?3POB?a>QlB?E~DwAFb;$hPO&8BD%fqTLB3kLjBUkoCbXQH>1~ylUH>YgD;%TigA9RD z2u2w=(!^|uoJ~V87*$OMXxcK04Y3pmhxY7GJcjb9n}O{Q?B3WqXY;IIWCNqK=janh z&RAnmAOH#>M~;OUHKA(agsaEnd0{K5T_`wcvVO*;$MgJu^$++`Snwg%U(yw~q-5V*R6JU*r2f#8@~v&=y@(RPC*MzEn!TKCIRK@@P|fVxU?5Xr6< zs=o;m&{Yu8VM+p|D!?GHWr!mHkTv1@4~j~xKh-cNvNnpGISiplf*I)71t9+y$TswRU~hV!z_G>$7IyXc zmqk_7nks@_KQl$!#%Jg*A_WF13+`6x*Ply02OzrWYXoFzZz$%Qj3#VMG zL{L-$aXwSE{rIxp`b=_40t{0GCfALrWTQHNFk zp|3X^u&H7(2#|;oBtUJ3p?6Zi&p^fGlr0IM6rvzBz%vhTmg-LRoEc zGB!|g5GobL3}TF)9yJ*NW3~hvv5GAb=`t^i%#`VK{b?j}x)?ZXsajV-5CqYq*dE## zIM@vE^_0i+lGIQKk>_4{ZOlbS{qco^$Mbc!NQZqfkM60XUFyI-tB>SBgj4lOWoka{ zbyn}LZ>-;q0IVPc0TATCo&E!|T|ngk8lkN<7y2E+W{X5%C_NuSva-@z&k(jiNTkp@ z3#d!Oc2P}0y0oV+Jct{?K_d|hK;Dy zO`4(J1q z8n+{WbG9t9Y|t&TE;;jpd{D_+Q(Eg#NMI5|OjvzP7;s-hc|0#t4K?&q>M51K9*^hw zC_cW3OU0pzr&erc`u$tk##T1y*Kx42a{j>`E#w{K3S%*F0rfhG1PbPmT#*%Vxe21q z1ONpQdAk~sDZ*t0=Z8p&jf3~c#;unGW92w{}~TdhMn zm~pnxd0S^vg(gZur79{2_r~gp@(2eaelYU7EOc2IT{v63c%M2VM`h}4se(AJ)TLBX zN)%#WNDrp5CrNDk8p`8&;j1m>ztSGhOY5maTxvvbbsVawGFyY}LHllRD>Zsus7g$O zlPisN*Cf6rZHS@_DzV86t>yr808p+p0cgvh44Dvt0Gx}V;2BBVAR-VYl2XDkS4)u! zVwX~YjLLxs!KL*$E;u1)P>Dg8z`hR%&Kl!PfR3Gz7)fPGN&qPYxFS|j*9D4=6dXG& zDlz3nJ#Yp@-9m>Tjs@7-RFPFf+IA4-PROFomdQxF^R=a`KxeAjoPJ$p70(Y-zHMBAC#J1}3cwU$aOP)FZ zs*i}r^OAh`4|S>CrGr2>Gp%~!as(YI`_@(OUAq}oZDu1O1sRHkKDRRS@y0TipP-D1 zm2hRF>U4F5dIj57Ts4}Oly1AqBIN~&LNeDY)YDa|x5Fe7Dz>O?Q74fxXhsRhhNUwa zp;RE2rsX!TP<|hP^E3=`n<~dhM_@@shD}%%DNHrZX31hbh(e$QRpAKO5`#vR3LPs5 ztJOT0j2W@0Kp9Ly!P8C`C`v{}CIl`~FsU#M*{EqQG&#-Ifo-Q&nLHyqu$BN=pm^dv ztC-1JqszR^2ic%kWF4!E7pAX&!e}_FO<5RYh@21#9t}(NO6u`=hSgaLz-LuGo|niJ z#=8`<1ZGfDLMbT<;<($9gRMLBNl{j3A&g9suR4woIW04va5fp5q5T~8Uja1SIMgsr>1cM+dVhICz46?Qm z;2c=cD^u0gwuY7$`$|tWFm@Lh6+Rw36wP; zkdgpUh===zsb^ z$!&(%l?6-@ff{7n0S49~a$r?ua}Wfgun+@5y^^t5SnCyRH3|W)Ug|z^ni{sIFN8&^ z80fHo=~=bDQPJ6E7;7Vv*=pKK-mwqX1g-)qK!FYrMFylhTa}8)^LeICfJ!&dVs%vu z=Ma=5U=^?hS|GRy0t!O`6|4+$5OM+4`XH+dY8OdLSw&*Y2?gu`NjND1q(WmO0E5IJ zARt|&5Jfi%aD)~RBmpqEyok`bI07x13&Dl4LNkF;S`Mfv6l5$z1_A&kAz6DHosgYT z0lFCE11VIb!YB;mD6R;(XKPkwCZdN~7GGz1JTFU}h|9pAz-likZUL#%Gv^v}VX{$fqD!-eooM|R^)#jhx-?}81-#%UZpI7yt z9IyXhH#YzH{5x-)tNbXt@qd4^^*uEcVzC|ZMYDYARO2(#f@1dae6%WnVCx_5>ffGk zeAZrF7O%g(QoO&p-RV&rizpQRuKec0(o`eA-HXpG$)9elA=OU>=!B@Nm`(RyCeK&r zPAmk!Nw>pbcAk45cG9Mv`N6BptG)Z5ZrhWMx-IjTbt;yrEkll`1jKRG_FCK3sbwuGFnhztkob(E;Ut7)S@^a+$>72#torLX=M&JuB{}vy4gyV5JFo5D2&cYRFepF zJ1_#;IaoP+DN@D) z-@ARwXmR@Vd@naeR-~PcFo~z@Gu`%@3Mv+<+wPvd_;zUv(CX&(U#*-t&8{$%RO>Mc zym9U0#l_S0M)S(YKTDEeVfIXa&~AtSA!rrweo6fd!sk#%rC91-TFiZks)2` z!TkKnOmkuF?#)4wR;qEcG528ot{}N|{3Jlo?QCX6cWQd38a7m=zIy*gtv(kemDRf+ z*BXr^io5N0R_d8%-V+Z_(yp5M`++GuG^1*f($v6&JB_NdVB?n4hzHV03AXu7FKxI@bdvwhT-z ziHpVgw{G3~?BeN#^)%-8l@qVN_R&4Iolg;59I7~snp057m3wz?C6sXxKo~~^1CTSq z#m(tLEv-Gc9_V&8iq4!ndGkToZ~c0HCQg!uj!(DO?(Z3pIGx+M zKYs7S+Yx_abo6kUtvfsi4yuwUcsDWYZ}kdP21+Xw|k)7l8Ott6q$R-`FN60?#{5CVWj zBowhE2*RQe^OR>{kUCaO6+p-A1cPIZhzguQh?8bVLo9j*0y0vdb40hRN&00@-MSrkal2`QPF$il3`tb501c6GmWmWD$k4mYJ9yE?rFIhEObGy2x2UAXqa zLUH`Rxj6Oj^3~iBKzemRC#TdeR_~vL-+lXp{vSSpm5S@!30G?7&(_vf==I_336t3NpQjo+zUY1Bw{pd;ri#s7N!>hkJ4r(f%? zx%OXe-AOuiwkw_^l=QvyCfxZ*~y0esz1R zwov)mhWocSKM-!=yPV%O?aez27ymfA(He9B|KT^kd3QT`EiXTuzwnk={g1eO9B%$% zRiBxk77voR;AT+#`9|lAt-L*b0i)0UHg}bF_uW-@=i1tdq?+}5_p9OYv~g;2>C)-i zXRQYx-Me|!&>RQTLG$&g<@sj+uWsF^N+Je>xO(;<>E-V% zFMnXxetrKzOD&wL$ZoIaio7gJ8z)gw=t^UH>G&s`*V^lAAj5#l+gaX-8qL-FcaI-i z(%GjvosBE{-e&j0#lbeM))(K*x(}!jcR&5dj)BGHx0blK(b={|e{*$psyG(ND8%gc zjrZHV*iE-qS9_5&8{0QOy7GR=a(40Lp#NaNqTPD1xv_ri_$z~rI}p?>fxNqZZ}HTr zUTdS@@5?AxGHy)G7I|vQQiXvo2ZbIKc^b#6-5CtpTV;{Pak#mDchK2PDkt)+E5bma z03mc)#7S+?>%>Xbu*psOu|g*?*%c1&UG(+v~^fN4I+`n_0* z`b-7cSXN~%tGy&ROcZ+*OQf|BXk?X^{Kw%2PDCzWbcsn&|@eu8t_=CcdOx3)Gdxgu}n z12@wUabwnIxh?YAbTf*l*YB@_`*m$@X|>KGr&oJ23iI3n zw-GhU8D&~w5~roWw4*SH(e;wN*G&mPHGWC(M$xxubpTnicFx8=>6K0aoAdwuYnSQLTs!Xlx{y$`l5*kHwE6Yc*7D$$ zfA*&MnFW#et5eC%;&%J?%%6Ot`aiDS2yyA18kjihK}wB!e+om1KU)9HX$jZz|NL7Q zK8?x}RUB2pWmol<{1O(- zltr)G-Ztk>FLQqVI)#ga!Kdr1x^?;wSIqx(?fQvQhGp~3H>cn2-2K(9%{s&t?W$qr z^r>d2?6z6-tem~LIB@-I1_M{-oq-{gwD9fAi|ul--EIwpN>pWPVQwxFgR=MQZay=> z#_Y@+*4-3r0@;3W|1%w)n~t+|FjYVK_VRSPey7to`A#CX``z`{=Bg>VaJESAcLx^3 z*{PX@XT}-^ z2|^_`846(u*g8|5KKpt)5UtHsB3lckvw5{S<9KR)Z4IFes_|^Cn!2#x-W0BEHk+1m zz*q?|h3pSnY^9PiEmCXBYBkF9!SuqEwt*?Tb^wH0BsJrJie6~jjbo=CY;6hdr>O(I z391Sl>wc>?FSvHH=$N3ArCCbO1eLlAYql`T4nh&mE?2Et&dQ=F)>V{{EtxD7#L1M- zH7aJO1I5Tl&N-vQuu${IWv2|LqCCUe)Bx0RDU{0xbBpyNIBok696O9-WsLzWG-ZQA zg&M#)3!x~dmm1q0DO^uNX|Wcdt_tiAGN}jv9hFT5_QY%bwM~I-AmN--g5z4v2grDYzJr|v!)30tiKgT)92?m$jypacke(-w$)#1UjC!y z_*%hPiW&epZhKDv{+;|ueFZne33xf!lnt3_BKrGYhZI6WN&_czwk zt_g9j5!D5Q0a*{ad6ubK#6iL~n~LU(?bUW$XQl2Bwm-dgouj#WJuG#nC_p>TOTm;B zHvROYU;fiS{?fQgEo`?pvnW}rRIpl~|K>NpH9MQ!Ut3T6<<{z_)v$`HlGNKA$WWn_ zOioJ6z1{%8Ce^xB0o%eEQ?1kn?JXjw4J|C33c~u#!U|dIob7hDgHWA0djg$EQ@yl! zdU^SHo_1>0IalWFY^72S!lY8E>$HFBQYQHzrL+ag1rRJRzcN36GO5(^ zqK(o>!TrHDnjF|vR1ycufO6Vy-nnjc+c}enaB-$F-JEB_O1086WQ!tVYHCx`kf8JzbBc8ug$y zMY7r|s`qbw6iC=?kxjdZC?OC6G>Pt3KNO`@!FF0%TidS7)!EsK61fbg$r%foE7mvr zTUfL!by!}kJGBH5ln@HB2>{M%=FsMO7;zAWfvoh3*sR?FmmQx9pm8B^aXsREP!j68 zayZb)K`pX6p6;e4l`!B6fyx;$O@Q%853&4gc$?A zj?7?y0j3g&GGvlLsZvt5$|fSxBRsr$?R~dD{q8pd!6zWCCiQ+_;=k;F);{ZX!GVoG z0OdJ?AQ%9IRx5{u0qAM~D*&u%xp(j0y}Xk3^par^lzcXDLEe|cG5)k6~vb8=9k+~ePX z$EWY1@0r8veK%bWKKUU0^Y-)dbN(mh==@CmufjZ`BObZ6)qi`qgU-zQ{?m)gWBTqN zkL+I@mb`xSCm)Xfjz`llcrDl0b=UbI9j~%2a<*)xAPb2x*m2 z5Znrxv!hR*4dEoKV$Sl2TFcXuq20X61|N#{2OU}@;dl_yK_(+lGP*AhzkKoHO5opq zcAipmb-P~md%2}YlLC7C@bSE>-u&RM9%YlG$v8)9*$Ewo-lB+vw%lK12yOLcFgUho zii3c9#X}zFp|?RYdC1|etoyQ8X&4^vZlZJ&ghcAydcW*zVPSfDG6%C_d`yD~TMu40 zb%&{HDx(3E=!EPPq~{OLBWPH56f)}x?K|zkOW8;xjSYs`l%tqX)-?NSw`F0Rr9&16 zcgr_}bT}9eDdAf7eb@E9oy-Plkw?+Am@JG_bRT@oct;!U*#KC|6S2t_`EW7`eH- zoh=@Bs_WZoln;@|(wfccA_}v~(J>~`dVS@+ACD$+nr6w+Q?}i2McZKNoFkM5gW*gY zVYIbEd2AdYXRX%=6Nn-#jH~v0iWQBgeOu3uXRFN?JA)`82psN*!;`A(N3(g|ce?Kh zLY_dH76?ophk%jRYQC5w2)vbP!ouvdst?9g(`<;61mVy-tF^G&hDpj;*mtWi81Wz^ zzDu%%IAJUmqNbiW=mQ?~9SjoV^Y_~A2H7@Dy_U(7MP>QN#NSmVOUcFrM_nm6LkI%` z?4?IUgqY7x$NO#$^4bw%wN%#HrWdktSaE8S;&gX7fZ690K;Z)-N|sL<7-d4Q${i2Jhv?k=(d&`J$zGy1&{uUty-Wh9@ z5ou(3G^=}HxMDGOK2`!ptc!<2!~3#b2dE1G944|;H0&(l$QT3!}*b*R4E~1OW|@Qz5~vM&IG$UDN=Kc4lZ$b0Vqlmp5r(1>f3 zA}0}8M8J9Cya8_!!XEfPuF@g|7(0Z~|Mv#y-o1PG?*0EBRp0s62NPI}wqS!nf77A) z*8}v{6@Rc8wuSl8Zc~Wa)05~6xw%@kIdTJf^v>M;T|Z`#g&t}~e-R|Gs{!IL* z??1REpZ@&k;eYqu*XTQwt9<*z7xjX;*Y)yeZ*M}S-4*)nXD3>zXM?A+$MoWGIPCqy zMeeYx^!8@6)n&ck)?K%{+||d|$+u3=pA7oH`m}mBmp)8TG=v)k#@=}8hJg^KqI z_-S3a-Rftn+h&EI#BgiEcS5pp^=G%AUA&Or9ZY9AS=z>099KFf*(}1lcGqbcvg3D8 z^NZ%@A66HKMoH;=77UsD`D#0yO?|VytjW8@d`8Q^eEDi85w3Q1jlcQvy9Miiyxt}# zO}ufAk7wZ;d3h*5d-aA5=FbDNR~^)y2&1A}AELAgol zaX49=y@QCYw)>;gcaYs_qteMaHq~ZdHhs@nj1YF#ktoiB^iXZuzO2ekTb7iBb-U}k zrWH+^6fq70PF}wJhcrLN0m+hF_exn4hK#acb9cpfL@5p9%qk01=S7ZOuAQUA*Sj6Y zs4RCpESyz+SI1F`DKkh*p^cG7^^}k}%G6Mlg06FcaUw}h@Ma^l_ZoGNfyR~-R5SHr3g~l*O*|= zXrpY8815KW8|qEe|ZZy+20sQ^GRiB;b${N-($9Bi{|OF)~bH=T#j=TsVxhiiuI-SXqk!u(1wN%&2$N zD@~EbVbpd8bWa&E5IBtx(j=z3hQ&lI$*;-HYv!vcGTM)v#}O}4lpcd= ziJ?JOR-Hp7fOiNZu-*r~Ho`R62n3d6=q&G zf_QrN@ki;8`dhwdzd4w_GsF&}-x_9@sc%C>Suq<8fYx^#o#1GM)2GLezjZvqrQ_d z>RV+n$X$oOgP(jjpOMV|boF)#;ZZy|o@Vs)Y%~sQpp%|Vu)SH`Y`)ydx9!YeR;^xd zw-lSrwk!yqSce0@+TL~sjWw!zGk@p7q_6(!qWSKF_rINnoJHY~REO32^~+C}o8tW0 z(;$<>;yel~5)1)IG<$!Tbyqjb;o?2)F^Z;MQ*5?vS@D=<0r50y`4g{_*V6AtxVpG_t_=F{m!_I1iqWBS!@z2En<`LnuQ7hznL zB@UuENu)fim!F4GJei+J(KE)ik_=Pt7)zNaX0y8X;2eeFaLPkeZtnnDKrRe}uIsJT z0SOTbf;gU>Je(ap+;8?5S8w-+a&LfGA5zjH4{aJl6nL3f&794Wu%g zyLG);5*7l{0cBAb^zD9s_r~Zt3?dpbAbh)8Rn;b1KJ0aIo2~IK{;IX^|%p0v?w8(pjNo8DNcrQ0basNFoTvGbwYgiP0S(a6F3x^VnJK)>NJlKa-wUnGEbi@vO$nUfl>enH#K*n@z`Y0ojmwJ>d>2= zVa`-_8dAWt?g2A#ame?FOXCnYXFY(t0)(6vl*QQEuRY~3{n~B^*H@L%D})IKVsXeq z?u-tg52In@r@QSNj5z@;Md;-rPJwu{-wT6#04f9+oPPSt>m0tv@~0U5q%h;fiGe}W z2qascEy`Lrwez~;C{Zx*rV1%{7@{CR4tcB{AP*j6f{;}ZOXa`|!nm`c?R&->pF~ZY zsP*l5wpZ~8LO{TccXHvT zMvg#E5W#2+0GxqG)O&^;IP1N`$T?0m3gV^?LDmR4kEwOk0wE3~jgb?KQH+NOJB&R5 zC>!2K%e{N|?)}PIRbKq}ldtjF^{30bx3@L+B=ml@k&mgpA$}=$x0|DX{;i`QchyFh z?aqz@wz_nGQoMistp4HU>Sozw3|?0Is;;YbJ@sRMu5UDP)^ZUdJFFZTH2B@8$0#}c>8sE0 zUg-xJ-3j**OFF829=Ndn^z-`npMLZ7Jous7{Z+XJntkhd*p+KoKK?I09{la{;%ZZA zG@72DJboB{fA`|`+Mbnu_Vk^n8Ce@XOatDq@4R~?IF%_Ms&23RMjfuob=ROp981k+ zNpU(op2hHGwQ72r_DwmTKH%uCz3u(chZFXb&6_VaDhg;EBo9XOllhGMZiigJcrKa? z#EUSWq~m#pu2z?CQF_9PlfbU5=zA1#Y7xeOL&AutT#)2-bH&Nb*;QvMMzh87hqL3P z+I$J@G;|lW^4VlsZLi`e4FjTD)%7hwlqYEz^1j>yxI=kJl8iH|4Xw+vGlB*IXK1s! znv5SX9$8DH(J2ogV4*SAJL0uU(j<*XN_1V<=J`Y;QcR`3iV&u>?d!Ycm268bJAz3(m?))x~i({ox+tQWiM}ltz8mhCB)o3IZ&h$3ak+5~0o+gRsZxX)JH1=Z|l$wHF&q&@-h(tAd<)oHM3krp zxn$Gt(*9y{^nAZT7}ef-4bI6P;XX*F)>vz5gpk8Tp)Sy3dNke3=hiI2%9sU?hDv$r zH3-X??t9`;7beiS0THDGE=VHXu>$@* zIFx$t-o1POj#^cipPUXyi(_~&dwO(~jbXW~K1N52G5)IZ4~_>*_{C4&9G=*Y8dAgq z5|#&mKYI5xo*y5-|Ls5g^YfoI4{AhYce5#?`_4oHD;PXVQa!bS6h&F$HeGMD+!Eip| zyNe6>_JgzeDA@Jee|Wo`!pXNEqMz2UzW2+Y!dJV;jjvZ%pI*WzzcKpzYV&1Ch38MZ z?dwl}@#%IeuGgS=jBr74n5CnF^|9HH(QD^gZ65OE&Nr*RhfPY-xcJ%8AV}%MB9-;0BpMCbSrQdmUem5N#i{4oFojI)?ID*`CB3&JozIm(OC;?dK0V=h&Tl47Ej?`vzj=CFCymn$jK@hC(= zTvyjuUtJo<_sv#nfH+h}fJ3S~RQn#YVV35MszX&l6p)BxPK0oP0fIJdC0^qYTyUuB+Q185)J0)=mk|0|QPO{muu!KA0Y9rLHgEIA;dw z(DbeI9l*K>WoyfHBBd)s0iJ2)Tjf1B_uYg;~}lOgn%6vQ{Boi1RABplZVfr z>gcT6ZM-#7S3rb9$T_5|3P=kc^T18c&U%Sk4WO1jpC~#K!kWGuMcvUN^E`7ppk5Tk zm{L0)W^q1>3+F#T4_<0|MvL!3a?3s8T}jHgAzC!(d1mP~^r_ zhvP-5FRj~K1c~2`ADo%^83u|;cqnmSegUQx5=_5iM3HoEp-^o}!Q>o(#agitzJhQh zoK_xLStI5!0@+u{S%d-$K%K^p1{O}{5zrw86+~ex`j7zdpzXuHRiHOO5%|z504hC% z7yv^E*63Mbc|z zy#(k1Q}4h!1&B%kzArJ-2rz&l7`zX?V;)ms!FB+QDV@h4qMQmlv|1t8Bjf-810aO8 zpMm9?r*9zH0-wW{9i zeUbOSc(Hk>fAWpz`Y*6Jah!qObo=J^@xS~g`Ja}Xi5t#BRL0?jZGh$Gs?$Gwg#S;`7f#*Yss$Y7kM#fW#g}jy z{FCJD{Cv0)r_<)epRKDxyHv#QA5Xf(T$YE+x-LZ* z2HDg3JSP2(P)Pd5ScFBh9ej7rm)qsbs>R5osx-67La+b2_D}QagAf`_ZC~%Ja);y5 zcpz>*`@bu-m`#TP*Uk`D42#K;lN}_h(juWs*Ht~79WPGL!SpwmFSO4doJ_>w>iXu&YafQJ?n>i`(KRMM zjz(z`uWqk}Xh)OTVYexFdjM$rLy_gq2=9|P8!(OujtFN$C=W^-rKF@h=w*wY#{h%D zm||Mid)fC^n;?s()2R@4v)KVi(e5YnBV)T}zwd+*&0&5t&xdoPjTSae(z@Dv43wu} zF(xR_lf!C-F&457Sc(X#_RA<5q;b@VPHANnMmY4f?(#m`mMZmN=t_cFrp$l(E8Kr#lKVnk>rO-DH&XJ>4G~?~#@k z0ny%t;YPZtGkanrp*{+S(kSY%u^33L3|k}uM(?-VHFCxxH4X$1zJ7aaz^}aurb(AA zj#fM5?Uo=fedweDtgH`4kvw|vjY9>T1=?uj;V83Z@~wJxgZx@!jy!nFo$ELWEYb)9 z4+K%_9e{HVYlp*qTbb^bf<^>sLqQ*q7nElLLMu9kumu2X5oX>958io(!N-BCb?jv4 zeIIfN@{wp5Ar&KuGYVmJ91A)7SeG3}4Z#?IIV3SHy!GBFk2PS1DaU}oJMR&~1_4D5 zOAN>~fHio6!QddYmJ=sEcn2tn9H30=7MwF$I6|yJNH+kU5N8=j4tp#y0!Bdl09)jd zvKpKb2n_Mq19#YaoI8av=p=THO+jt$)8*d1d-r}dqw0s#?d5WPR}VEXC3mHs_@hV9 zqjk4wTr}}{o*%y2-(A@0?;V|FQ+I=+v!MFB>!lV=v%Eu+e|MFC=j+p-+5Kv@ZTsvr zs{a1+PJTtcHk}qzwlYfE{s*_$u;u^kqldjad_}PDwr>wU2-U@x;`yvNO$PChH`MK< zS+_gc<57ZPmws{@{M+(o|2Fu&59X5NaWTr$I4u@&{`${;@ztM) zx)kpiPG;=&)pFf*QP*AAde@SZ>G|_q{l$xyukPw0A3Pbx9y9J-r7ek0zA+!@!^O`? zGVpNrd*K3B+X8a#+8!u`Ej~>`-={pPmWF~?6EUV*#u#_t##XbzSZ^t6ObE5QfEI7(`i^&y2CV-CZ%BwTIn9as+EkHq?kzAI|qGRCvnl$+pgWE$so;U z`*Nkb{qe~u#=(AHdgPQ6eZ5Vh;Oz0cH`iC*H({6<2Ti@5AD#DYt!3T!ts`iV%?_Ju zN~tl*K|P)vtv3zltD~d$w~e;#E{luflf}jBORqOT2^c*Z7A!qluXe6|EqX4M1Y&^{ zS_y4{cLfdhLftQW2AUAuDiPJcTU&i z#mwNxs#}3~)~Tbyq4;sLyG0=iya5tfS!YSm2S>guy~B^kTJU$O-2tI`IzPqDAwPb! zDLqna@D?*GJJ**7?<-^pPhtllcHVh030*jObbGNyc#j=8BB&2kNTPr0v;pc zDaM4Ez5`;t$A(yMsRKv6!`^D|!6P3rQ$|xL4;VTCY&|`vnxB62uyqLUh=Vu^r5{k+ z1JVd*011@Cae>&O57(LyBOFN#PK6PGgT9cupMz%ozrt zh=U-)%4Wz2@CqZuume7I&LgniTW2jm8(`ZbVub)N@6+Ypy?gh5H46YMb4H?R&Q?kj z5-$e+1`e#_C)x2;_u~66*9^kQhopc zAOJ~3K~(IccSKIp(fH{&yjiy=Zt(|alRdxt*=qIr^7^p4dv&pf+Mc3lBbt>nuWx?* z)vY=6Vt+X7p=mu$C`Y*aU%vSMkAAZHO*Vx@+}7#ufBewry1Ub}cw|&}XNK<#<2C2E zzJA%@v+;v8^5Qty!tLL_ebe-AhKZrGQ*f`g?5U@WwV!WZ!WN!G0PS|gIcWLwuBF<3 zDiN6B$#kr$yKNV~|Ng_&HDByosZ@Jtn!P<96dvlk3Wj~NyZq|MSF6*-=-1zWcC?^- zghJzMY^Akf!i{dew`r!x91Iz``p27|J0iK?9LgY{KlJJ)qInvIqS*-5ZI`Q7uq4lp zGK$jDF|Yeu)$ew@YPa1ok2C7p{VmYYsGLWM(bi+#bj!QjFAimc7z2+8)7#aR_u*ui zbH?K^54rBet{7x_9F2!Z!{H=|2qS*Cy`wB2#euL*I+y6;;aUOujiP-4$_!N8K5LnPwcT#DBxV3$|+ogFHMG$gM33AHHuF|@*Mh7f**6qu?AR;uG zcG7oU?SVM!s%kYV^6}9EKsv7n(>W$In=G2T>zl?n6oe7bK=y~E7)(zd5kigWF$CCi zt6CmrG|Ag~?{psqj1X8}zXVVyh>a8sAW4h1+=;#iPXiW=(`|UAC&xx*ZmU zq_I=fIiOLd6e!hy@$;Y9_AU$Z`RFJgpH`*9zKn2tmwyOu8=I zE#EL#P8P$y>%%~tKRI`^-@kr+-L8IsNb9l3K)QC-?QW2RC{2?%HAYKGK-)p4N5aa;$Em_>ImqcD6Mj4AO6x+?7 z;fnb@iQ>~m=JALG7D%8BXt4xP-W*5(fYN0JhvjDgEs%IvxO8yrQ2-u-h*C(bY#kDW zyO_x^2pky#iGmoA1x6`GK)FeinQ?(=_QX{H6fww?AwbRu#BoTG3y33>Rb>LU^F#q6 z+Q*_%5vo}b7!)~hUeT132WpL>8h@12FG^IGE;*!>8Ut5koo{I-uTr3J_po zQRo1)w%#d50a5UP0RRD39*h&nTZDiFv9km`cx*BD90LylaDg3l7?g7kEC5&lj~yUv z;2$q28tbix762Rrr5SB&>DE8mngvmB z4*Oo-kZLFt3UthJYF@~$5dB*$JI>i=b@}Sz z&GMjV^0nivG#b}FAh<{}mX99{hCUFlc4ELD{>Evr-oB|@Vs{rmzS?Rw|L&NtHrw5y zT4Q`%q^_!}K0MEhgot0(Wk^Wk1LFG4`tqhYe#%L^Ti@*u>p^sZd2~c ze3)KeT%uqe<@52;LiUHQtq{^>T@su#-?vgtMuky|k{BT)dz}uCf=J!GT@J^mQfwTA zQOpO~2$0%uwk#dS+~>ujQ&oMa!SKm+p>4O@US;uUG+S_n`@TVl#p#f7Dx_%J5@S3X z9Xr547z5IYL%>K7a*Q3t%xT?LyF4Ex$rxczdDK+fI82?jhy5W*0!FztmPcc4CE;wh zy2wT&#)CnA#3E`P>^7^(Cc1CS{hcueymLm6MzeH0@jk5EN-Ie)IP0~w zJdQYxW!H5TL&9m1z+Q$HS>XV6?#? ze3ELSQxL7WoWg7z{a(sM_8VjKH?zS>bGG z45VQsoF~}Tz;vUqcaG{T2&J@1V0weWTIapT6nTstaaI~{vt-bipxa$>V$(_5c4=2v z-U|XYidm(jzT5$nC&#mwR;=JR|HrDw0!1dwRWxEI8VdM}A z6Q)SA=vn|9;81VEvP7{iFO9*`%_SOpFfZygwf9AyClj8Ni18g0Gv z2sHK>kRcc-O|_;NEO=v)_ZF}ROpJ$|IPg?ChX6Fe9+Max1`U9W_xRtz1@L?K?%n(M zWmNs>IK1Nj&G9!E-#GmuTwmJA><;JS^NinozGv^%$6tRQ{_mZ5Kjv?5)~DllBD#Ic zPv7B(AMM!FY0}VYy@TI9do;@IPY@~w^6&39zstY=TaWPH*SB&#`lAn?GS+_X!`gL5 zs3smgnxu(}P6o4>h__*S#G0R6-n6^yk3V|n%jW0bTjJk5&A#j|KfB#e9BWmdoh^j= z@_Rp9jUYZPic!H|-z`)Ao&W0V?q5lC5{8}FZ&&euc>Xj#WiP6>7UB7V{NnQBu4SRN z5y2JqNa)`5%y+N%^dr6a_DAEd>YJa|W|0@L*{yCim8d1AC&e%yu=>#KT1Tt~o@LZX zci8QPM7k+;akdx-=HKq*JV->>I2XSE{5*7rE}DLl9R=8!!Qj1kl!$UAmoML5Z4k`` zGRm{a*OHD0!??VAiP3(FKXl!J#Zj0flm^a#N670YN(zmr zHZ35NWW!dpMv6(XDBGT5sLQ%21dBqBL^hdi_oeJRK*(sVt)sXf6leR*mVuFCuRG)I zCgL#(3x^P*%p=+~5`iOO+U#zf?3Dpz8wYqa;1CYALQTKH4rKwWZ2-2x-g?4S8;a&8 zjJ&pi)lJM1Hv0i$MkvE(RsUl>WUSqFohJawhx_w?StIa@i*jd4X8#yC=anBJt0O~K*oDwy>u2)M1sU& zk~s|oIf5A=Vvzx3y`=yh_|VzdnFGP#9R@@IJA}D+juPfQ)!2-<+rS+4ueC=3w%%!i z5h0mY6hR9}djO9EZyW)GaNt2X?720B=gxTx5_w0kAczFkMnWvxcZnoBJ z?sh{qk-i+ni$?^SB+^}ZyWEvE{nn%N0F^IS_95-I+B>eA0KGiyn_8QL`_9qxqeZmI z;P{BvxKDJ_Kwia~I9eH9JgpG*g7h-A0x4WCS(!~sa%G8(l~=4m9Q z%LlWViCU;AEIP?l$Dl3R-a z5OVIYyS}}Cg9uNGQC(L-l$D2-_h^1{?3~x4fAjit0*nyktk%jMpFA~MCrM_F1;(3d zZU#t3gWw_V?YbF$v>ke@w%7KE|0-r%Tf z_DK{ur?s`%qacVVNv-Tgqp30&VeXB@#23SPx!n*f$HPh6+qw}=--ciiMjpAz(Q&K@-js&XP2ecC7Wm83#@nM7=^x?;bo#SLOk3FK2`H zV4kY|3+(_IJv|CqQDD^~uX^YEs!zjeG&^5aD!`o)$YW(`+B6MM{thAM z4I_B(VJroJYb;QqR2+p0DA+a#Gi_KgRuD{#uz;O$F-5`w^2TGT9ZQ|o7h}F7lCdn++cVFGvvoT-RZ+Y~! zZzQ|Fwb|FR$f|ByJa|0X{(OD6x*C7yG?-RbzJ)!XgO2D>PdheCe% zJ0JSL#x~oNXOD+#+IPmcO85@VPEX!F4L@7nR4yOV4Z1n{^@sVb?O$pa_~iX!{&+TP z@b+gb`9Xd9$Df=pVSBUMzg^WQn$3gw(ed&8DBcg*r*B?tZn|@W;&FZ&(x!or&!3M& z@q^`!)KEJ&m_PcBuTM*S_?wF#9oG20_2@tNfZS>pcn-J01CquOm9ZsJnRe^VN>U zUwq9S8+O6JbV%dHAeR4^%t6^Q9AUtPm^KUZsT+uq{GqhM9EDnq*W@4Q=tqCg0^mu z1JQ0BV%FLH{wj@U!_kQGXn$BUoUsV=fZbkQrGv?Ecyy>%M%XwGL|+}YnuZFhb3 zdcHVA*bFCUSzKUBwwr5;P!<=)B9?@Q?MCY=3JVrQQdHI|3~oF<6@6bf6~-``p7d>1 z35#U&g-syHR8I#dj-3YMF*|e_x`(1T;(5^4<0_G^0TBXuJ z8v0OodqN~j$AGx)4PkAE$8y(1>=5T^k{=6=t!*jNkKbX-<~=4a9T@EhB^v)f?Y&8} zElF~i=N?1OnP2dPI6eW_m=p<;jSESQjG5 zsTg_)f@!bwB-ljwCe3?`<7V4SAdzGg6oe*9tAJ^69oaq-PN-BW3ZhWh1woA^1W;^I zfv0S+dnu8~GdKnY5CB90h`hu|$(#a%v=RfTf~EA-M3jt$O&0TQKLvLQ5SRf`#3@)? zNU;wgtE5rcsp$kj&8!H#=MdNs4nUFM+b=Ny5D+v2D21L70ZD+sfFOySjzFek-vb06 z5D`4F2&4u0IHG_VI|A~+2*4mT5;G7Y5(Xj(zCmDO3E=N~mpksb-+FQDyS7-Y4<&2M6jiF$kZPYIu2G{j-mYf8A}>Rq=a=>W^M* zzc-$IZniG;&o{5%tZTEs{Hsmq{U1Xm+ot>Sq__|M>SF{JY`HXP1x)8z*Hn zT>t7i{KI>*7u~iOYPY$1-bX*FdL!94vBtFO+N{5=6lnmig!und2-**uwKP`;|FL^Rmi~!cA?zzxeKZ2kK20kH^Iv{j=?5 z*utJ6MDZ~fMN&Tc;Qo-h7X;aQv)&BO`~2wSsesoIPRCUqhKqf3@8rqDIDEdodU3TW zRUFabNAH~o(f#V``F~iM<07fdYI~DB`tS%Z&wu&mX0zG8=^BW}$7LF#^n=OKA&0GL z_4M!%%vaY}BCpi0ZAH*S@LG%I&DTzyo}Apv;-+qD6iKsPlf$g2tZlPwp~RL#is;u@ zFKkd8l|@liRiyx$-AX1=qVg!UMCmXL&grs<(rknbyVbUu%mQ@l%gabc0CAS*UA+ep zbzQ^cvpgmTN{%8OA;NZho#o>!i~4q-q$8owIomY5>GWtaUwFr!{BCn&noX3X#&pK@ zQCv24!#>1Ct^g7Besgv2;Ri~qfd+3)8W&x=vc3<10>KWw_a1~8hCVMQlSnmfPo9PJeh}^cqNu8*ykFNV-)~YSXNM1OuCJpc zjiR*cwn-8zUG1A~!~{Cs)w?WHS*(&I-}kNHD0oA@&hkZX`#??y*GUB&2~Z(8>Luc8 zG@o8=B0by$z(n>Z4?fuMcTz^eah@fOk9@cB)Z__A#nC7Uje6oXUqlhaqxWylx9oOt zIqprm-@hRNT8MGFNfsaP_JPQ4_a;e{?SeD5s){lzRC!-O>wP@fopUrPdP*Ob!`I32 z53k;sQM@!VLF)*0-!#AhDF7p6ZEcRhz5z%Cc2ehNP!Ern+vvw`cTI8t?`LB+?m!67 zor9eG2281PG1Y{;=Qc@6WZ;{C% z4g}HLbyzt72E<4rX)OdO0I&1Na{=LQ34lB9xZ{rBlB+uU?tfpdo}V|;*eaPmnAy)R zy5GO|Y6|Z+Ytz^2p-yFPe|EE;boXKO{QrDipZe*ET>j}x_mAKE_``?uRW810+n2AO zU%Zq*EDE8`xsMMbh(+;xhYwEgEfAZ3wb}HpbM5pe2kw8pe(~yyGr5xQAC_M>H^Nk( zj;b;*o$uQ%d^nw-WcKBfepDPB%@@@{yhrLiWs|8C?bl5|?o5|fPl}vJrQmSZ4x9Gk zi?3dv)xK2vWHz70{(QF`y2U?u|7g8@`FS@OYp*uzoBc40M^DGqpxQ3VpuBpIN1q&y%+=Kwr0@N4;}*U+h&CjZLQAp zYP)?U^n;_*BShIZI~W3M73X8E(mYSRS;^p~8YP9?Z&!hn*}+Mw<J7>`|q5}~TaX>el6t?eGlt>+!u0!x`yVFr(?NFqt)WVW3$CY>H{OpC2YP^^O zW4oe+Y15!SRCAE_BYEnDo$e^5r*D6 zfwFEJ+x04r**Rm)etYey6Nsb9ApkHtprCZTUA=z%_a91%hXHtC)=gKtVaMJ|g<56+jAY%=k7xIs z2~v=QUd1u9^n;6I)wg?3BqSmPmK-TvCHWAT0wr;*;(WcSL#T^{rHUzlOcg`f*K4gp zSuOgu3*3|GQmsexxfpy<>0p~Ej&0xMW!1Kkb8BK!!sjF1_nGN?py6PCbiHe(w}E(8 zILr=LH+^p|#UO-W>j!Tv2~~{H+p!(C07Pz>Oqum}x7W`j?Hxs(sRac|HY@VB8HmjjY|FU1fQ<6s1GA48rVfa%7CUPskQ-zk7KGYVqnAS0pF#2Fh2A`u%BX5R#AK*SOl z0kuq=NZEmBqtJ%HdA8fT_rRY6G5`o-LKc)WGfIyr7zKg{un2)c0V)cfX^0iLXcU}e zws{`+zn;}mH*Rw4?lTyxWZw*H6K)m_h->(oBDT>_ka9!dIoPUZ)g&m>%FWJnd}b# z*$=Xx8Y@zHv3&E#XRpm>4}0+kUPt8P(A&fllY~Atv3Jm)ddY$_8SxY z`D(SglK=3*`@eq>|G96?Hu=vVoyLU_v+~kkt0=F@&pG?>!FN7>Z}i#fSAX=2*N=|h ze{YIs_4fSvt0m^&nO1$h{QB(0JWWi${u+iTu#clME9CCxjZ%43jLXratCw37 zm}2r~=-a;Qo6eP^X%gYkZZ0m)S!uglsdVH`)Aw!P4&&)bmPb-&ah!X<7XT;~Yqh?) zj-w1vN|XXv#?fqcczyMZWvt`m;`LWjMhpb#v#dfCb+f-At%Db*c z#Co$_%#W(^p$mSuy!37WfTAqoIPLnu`N0nzFeX(w^oGJ8v>8$k(L>7eDT%C_5hqL*j zY5L9byeh}#cxudfIXNC2Fn5#1M5}Z$TR5QY^)&~l({gY=j#4Hf?xjQ>jk?{g>o>rZ zrUkK^Oy^2woAtBNIIHF#TramF)KNNdvND@xRh25L+TA9KB|+NmUY3hFkQ{u6fsovI za-0^UuG^q0`ex_B3NMDCHNz0;)I)@hwdSa}-?b)9$k^6fEh2Owc*BDwA54~$_j3-7 zXG|l4II$f&s*ypEXD(V}joGpa!PZj5z(6Ft#J=xP#IAKxbP|$qyPlJ9rmwecaLwLJ zW~T)wAgtC}N?;ENE`TUvPfk163XCHjP9Ey>`c#;+!HHl879a!4&>b9`U3VnH4GRX4 zfLK3aR(%Yu*C$lDEHf?6i!p1h&>@whhVD=Ty&57KD&R#4L!wBgqhWK)C(W9ssmposW8< znK}uGm=JhkMkWA2L=F;x7%)bncoZxkw}2ABNEI_l00$tY^pVa2AR-}_&Chn+ zgAMg&*G%3&szSln=lqk?2RJqtP9_2bgk@O0s_V_B9mms2NtX7W!yJ^fnl&x}0k?djrByzKs~C!aq4Wb`jLpPl{cvNbd(-?ho#DGL4Q zxSS??-d%3?XX`gFn(T4X{Pb5Z=F#Z1D5^=Z?N`W$fB4ap{HR3Dpo(F_(G4@Hupq>J+_Mj55iYWX?@VY<$Ee{eVnA!*x| z(5BfmuNL$9ghCS)$7#mP%Qv3&!O{I9iJkR*+eS*|MP&zbczoZ7p>E7DB(jq~G zrdbwQg^YPo6_Z0H)0?YvRxZ|25>M;hI?c=d_6AjWbo`j49uS+&l0qn}QUa9Ydu_k% zcB{$k$h7s)JJ;2N>ytFC#$z2v&WmolO7of2@n(4u>3F@oEYb=F&hj+M@;oo=?UKn= z)uB$yZg*|kZ5-v@P#bH!@$1!vL^X6>KFY?UX*Y1!Y@Iiw(bN$Q``zjBQ%thD-a5z5 z(q?--&P&V=y6sZyh&`(ajPt(P=2@!ZalKn+WtODb&^vIx7-e0bxAmUfCP_!TwvCjO zTFF>tN>d7(wp z4oxifAhW))O86i-O%_2j+Yp!;h<*R`UUrlIkoFg;GHEp$I@D4V0s}Gw2=ZQo-6qLk zc|xweb&|3KP~Q*3GC-fpM5x?`WujwJV+!PbRK$CXPmQl*VnPp|l(tG$fCHc&ya3xu zof7fk;jkAE+v_V!COAs<5HMyDBolxLK~b-{j4>1#k=Qe^EOOWA2fO7n zREQ)7w63QZ4ar;(9aq5=Kk0WXMfK;_(9poZ-mO2sS#O(W=)`wsW1Z$kuAe*kxYSoj z?Mi+$nJPIvR|57;rcU0UM>|O#T^%J0d-L_WvHkukbicTG9?q(N^6|+VvZKQ%?|+c~ z@7tH>EBU+AgJ{OjuKQ0L`Oef41duK-x)q=QlPW?x59(d^fU zCr?ecRVtYsoRsC%JDZf_p|6=dV;G#vvUyshtDD!`_4U*Dz5_ux1_m*>1_K|To|?gW zq@mqQ#Ocw4eZ4J4lg@S$RTQOB6va_ugKu`LYBWppkyKg;(X~4cUTS^s!6P61;N0fs zB8!vpc+r`9yS-5=D$7x4>Uy<_i`((k)yC%EhB)@q$u;rrt1kQ*4fZU z2xy%n-$o+xxqHDma@^Ffld{N@@oc6ir;nTE z5M@!l+e-4?;5>B-a5TbfazFSmv;z}MNlZ-M9FDp{y>GV9mFNzR7weTnXyc?1N+JM- zfC56`>Cpm08AYk-IAZ$ne!n08^I`Rj5XNygI{9FA%_qf5OdqvdV%he6P;R+6et+91 zf^L|#M5i@qRj9OZ-l-URN`&uEr~Zn5V%E<<)`Igm4LX@(5R8!-gcdf56-2Y(>oLRe zM@Lte4}^aX!U~b(Q8PX~-R|_zZj>Za9tKe*He?5;lLC7VZWMD+qpsUQ*e9F>0fZhP zmSl8n(IlvdWx=5fzGr3z#TWpISeLOI^vKsc1R`_i0a2n*r5L=- zomI$$2*3fr0}}!(EkIbrEa(WxWzvU2gkFOf1QUZ|B65aBhe9b4fQ2X40)$RICtQ24or$kkyYCJ^`WOH8qJeDity$2Quch`A3QuY|MJ-jt1>sd`qR(P4#MocivN7Q`%aW@*Viv& zG<7|?dGwR-@E>hk)!W8SKl$h|xQ!6SL)BisQGfrzLp{Sb$sTF=`KxFD{_3KPj^4|5 zzxi@A8a@2rWP(Li#zT}$zduS>Lw)J(3fX6qG{dFo$%lToUzRFvR~LgERaKtZHzt%_ zb8)$O*{q^rfI#Qo9nTMs6RNM5=a}5T|M+2%kxHJ<7Nbnr{d+kLYc9lQs$ zi*>%-U6hkk7~XU)iOP8-VRiYXr{wU_N5`|w6W(mDC6W&VhkQOM5xE{Z2^zpdkmUW~ z1G&_;ZNOo>+s>yC^Sm(5IkO*(Ny}0&NvYx_Y4@wTZS7#vvPhCrDbcn&8S5-52`Sjn z_jNU$ZdT_Zur&=z(Y1Rmb(xnkO{LV<4Mc7*O%%&|dujSsOD#w&?mZMD?o2OG={Pmb z5&$-iw8Q5_nVdRVHlcmHR51qhfiA%%k#5Qp4mW5eO^>uXQgso0tA{NCxVY5LusLVNsh(RXpXdtIgN{YT$jwMDbJK=9>kx>?o=3}Ylwk{6?@ zTJJ?uUwd;MM=DB63go>wUbxPjG~4G9s^AcH#MBEFb-N`qARz!FDB|Ar4t!TlGS4zl z7sw3OF-e9li?Z#0Alpnw&fr7eJO?W7fqnGphcB;wAnad(5aiwIqxho#erR5^-5rin zAD`HE$Idz5ST_hM5Q6u;vq8ZwEroFJGx*xljc@O(8E`~pBhpy|j*(R^Kd zhE6%@g^g6kY;-amLPU1QGSmZ*ZN}*`Og^@)BkTYKLI@ySFHXnJa`FS()Pfs8jHA+$ zCmsYzmc~0sTqCviK1dmmA{3edL|_>^(4$~OqCHUv0j5zf#lz4J%zI!2BoU)h8HAVu zNGXJ{QYT@^BpY(XtOYP210#VD612_(r4VlC{|8NkQS4=fb}s<~k`K(J0ZD>HBrQ`0 zh2WXp-CNZ=?zrQQ-xgwivW%bq^z7!5iB>nye)`L^`RZWteVRlt%SRw6n&!}hli~H} zfA;h1_v1xEm;e5J`)Pmr!~2Uj)5&oX1B^cTUb%R=T;JD0m^XfN$`R{)5 zSHJlApZ(uopIxo$BtK4Kcl7k*`%j-9Ok_9c+6`%urX)7=Klt!J`^n+>Ch@-MPjor0 z^0C&=w%dqHje9}c{cdPiH{12IAjtdf{EI*P{L2kvQ6!_$!D&LCtRGr?zFziTAK(AM zBuer)oz9DLdYCI4SN99;$k@x(#dLm}ayxh`bB;9(-O}_RFq%$E2m_^ywplBp_U4z3 zk)tYGzj|4Boy_!NeqaZ$^Ly`o^ccd8$HMG(4Bqq&N-ZLVfWy#K;}q;(>5?OC&B}EB z_4Q?v=dq0HZQC|Y)9#J&f;r3c>G-g!is`|L4Sv|~FJ69Wn%$eLm%ZibVmdoGwS#j* z)9jZ*0F!mjMoDUeEfU?VR#BWNh+|!$qy73?{SS=w`>tV-Szal@N`NO3#YNY)RWVVBNt(Kz z>bgabN=Ttu<>T51sggL&+qUkvuPisaW~&hM@liHjJi7P9nALiB4glQOaXRX2)*b>2 z6Few%9`>sn=v$c;B6wm5Vkq;<1;r$FBC9+O?4?(#=<1Cg?%q8RGlk6*sNRPwT%7q-_T ztXU?61Sxdu4Zs&9T|g27Bs9!kl2?$7s(lw9A>z%T?B?~+XoCko43IGZh2A@Oaw4hx zyWaVIXG&PA$s-HOx&XXH%os9{ezS(v@;XWcpaoPYG)Ho96Ia)YH$o(m5`^3g792>o zC-6#oiIpaVB9$_`Y(Z_m5TYXyfEA0bm`KzMLO_ZJQh`jQJJ1D%D2|LybAZC4MF$dz zPzM`8rV3zXrEjl5IYfaF0t>|iS!N;i)Enci^RBNYbPf?DNWmy1vK9bJdMy)Xf$Rt& z07wD{k?V~bE`?x_5uyM9EgeXKl2Rm{qzr;NAmUxua>pHa-0@p;RoCn5dJorcWCN#Z z3R+%@&;OS{`J&jCe{k<1l-8#C7uC!E`LkaiF8hT2%7{`&2EO{)FV!E8%l*b4&L95x zUiN(b^lTgWvt6 z`ZxXhzLJ;gI)@lC^UCkx##Pxg?yql__9#u)A&jRF?me2FVPCJ-VZCS0zI$^2z0}F^ z@qFYu-w*pZcfrWC+h6|X*~Rl;e)a0gUt-V=p@%#Gc!dF>wc!NJ$v>iUw!q<7dM^A zzN>@`)@9Y>>EeVXd*7@#diI@vdis8HGB2?I^{X#`cC)I>gU92=!nMv*6IetrTz>hd z&!2s1#jIUF-}^~9GFR7MIf!f1$D<>eQW!iyd~p2!<0tQ{(5}{lo;}E-!PBtp%xXPE zFixWB(91NIbzMirqMF_x`n@$A$3?7kkxu};ch(tS<)cVdrZr?+!5{(?31T<6UMdYj zrs>!bSvv&p32-!<_d`E9I9M&uA(%&}kCI5u=W{_kJ-qL|bI!38ahwtboh5^D05G53 zON+TjVV#e&vdE@=S6`mLuzfA0GIkh^kLUB#a&$P@)_a%bl}cha7&n+mp^nAi7*PwM z5W{|VIiAk6X5V+y>G9C})plctZj?>EH%)yrnk=rao~<_*5-^T61KutNAOVK`GW6!= z<}A(P_uu<8%@@Q$3C@!E&E@N>tFy^?PQjysgM;Hv`hB;zP4BJII+g$s`l6^pyJ0^h z`7{VJdyB)PCPN+X>A9m;p9@o9MVmDLptz;tHq{MPJVD_brk2gi#PB zN=$Na{*BIJ=auli0rm35I%=Os45#x6+JqDc5eTgckdD>ac5K#fkfK-*JU{)}D<}HT zDCmeBbAELJnl1(a)}|v6?S&E`Arp{{ayU*?#4rafwf7_k5XXf1WU)e$l#001&(vMk6t7|dQP1(;ZrwNQ@9Lcn)kBi9vX0$a_G87?el=1*2m&90ZdLPo!_NF@CG~q07wPH0N{ZFh!ix#V8DjKd*T3bnhJ2% zk?HqJC2!Gug*^z{Sh2AVLm5!83K|!~#(`+oI-|p6VF_ILv%}y#! zA>`?(Zr9fIkxH|?6jHOK)zupzjp2c_H1 zG6Wng=CRIt)7`v2OY<}@#@_e4&05APFJ|>_HJ=}+Rpolq8q@5Si}|AM3^DcXHcis$ zbV4%knx4URyLFtUQ4-bLT~&^XYGR!4>RnY%bQE9ToMG^X_ui}5*Fl01GD*s|?ZCH_ z`C;p9zu#nej--kzOOk4{Z3eR|Qyh&CH;wmpUsThkse#;RR5?<%-In7qL2L)(y@?cz zC$oJ=zS~4m3IK7IfRNq=BF)~6=0)9vh+SHax~^sKqBsR9op%7B00Q7>R2rMOVO10n z#${Xg61|Kn4U55&!`Jk_7Akh#BE2;rNSigI&f{08E_)at8ZDK@$fZzUEqW6u!xw-%FS@_S5|K z&3R`P__pQ>ajO90z4M}+$D}+Emp%kJJLI@$HR63WWltR6;7Hv{Xt6A*2#QDy2|JrL+)2h}&5GPO+9k3L&J{h*E0}0Pjv$ zfS^=_h)UgtZ)*xj1qgrwP=FAiBme>m5ct;IqMZh=2%~fCz$rTc1LJ5FmJFCL$sV zb}-Bwf~Vk#0);>noV7$D1RuO(W(wX1@0|<569uO5?v%jH-Z`RhYqfy_Q@E{16g(3% q+&0T^YsBq5*58DQ=+@Ez;Qs-hsxT7nRjcp-0000 { this.client = new Client(this.onmessage.bind(this), 2000); + + // Finish loading game images. + document.querySelector("#left.player .name").textContent = ""; }); this.context = document.querySelector("#game").getContext("2d"); @@ -23,6 +30,7 @@ class App { this.obstacles = new Obstacles(imageLoader); this.cars = new Cars(imageLoader); this.finish_line = new FinishLine(imageLoader); + this.infoUpdater = new Information(); this.sound = new Sound("res/soundtrack/Nyan_Cat.ogg"); } @@ -37,12 +45,13 @@ class App { // Update this.controller.update(state); - this.rate.update(state.rate); + this.rate.update(state); this.dashboard.update(state); this.track.update(state); this.obstacles.update(state); this.cars.update(state); this.finish_line.update(state); + this.infoUpdater.update(state); // Draw this.dashboard.draw(this.context); @@ -62,7 +71,7 @@ class Client { } connect() { - var wsuri = "ws://" + window.location.hostname + ":8880/ws"; + var wsuri = `ws://${window.location.hostname}:8765/ws`; console.log("Connecting to " + wsuri); this.socket = new WebSocket(wsuri); this.socket.onopen = (e) => { @@ -73,10 +82,9 @@ class Client { } onclose(e) { - console.log("Disconnected wasClean=" + e.wasClean + ", code=" + - e.code + ", reason='" + e.reason + "')"); + console.log(`Disconnected wasClean=${e.wasClean}, code=${e.code}, reason='${e.reason}')`); this.socket = null; - console.log("Reconnecting in " + this.reconnect_msec + " milliseconds"); + console.log(`Reconnecting in ${this.reconnect_msec} milliseconds`); setTimeout(this.connect.bind(this), this.reconnect_msec); } } @@ -87,61 +95,93 @@ class Controller { } initializeEvents() { - document.querySelector("#start").addEventListener("click", event => { + document.querySelector("#run").addEventListener("click", event => { event.preventDefault(); - this.start(); + this.run(); }); document.querySelector("#stop").addEventListener("click", event => { event.preventDefault(); this.stop(); }); + + document.querySelector("#reset").addEventListener("click", event => { + event.preventDefault(); + this.reset(); + }); + + document.getElementById('info-btn').addEventListener('click', function(e) { + e.preventDefault(); // Prevent default behavior of the anchor + + var infoPanel = document.getElementById('info-panel'); + + if (infoPanel.classList.contains('hidden')) { + infoPanel.classList.remove('hidden'); + } else { + infoPanel.classList.add('hidden'); + } + }); } - start() { - var self = this; - self.disable(); + run() { + this.disable(); fetch("admin?running=1", {method: 'POST'}) .then(() => { console.log("starting"); }) .catch((e) => { - console.log("Error starting: " + e.toString()); + console.log(`Error starting: ${e.toString()}`); }) } stop() { - var self = this; - self.disable(); + this.disable(); + fetch("admin?running=0", {method: 'POST'}) .then(() => { console.log("stopping"); }) .catch((e) => { - console.log("Error stopping: " + e.toString()); + console.log(`Error stopping: ${e.toString()}`); + }) + } + + reset() { + this.disable(); + + fetch("admin?reset=1", {method: 'POST'}) + .then(() => { + console.log("reset"); + }) + .catch((e) => { + console.log(`Error reset: ${e.toString()}`); }) } update(state) { - if(state.players.length == 0){ - document.querySelector("#info").textContent = ("No players connected") - document.querySelector("#start").setAttribute("disabled", "disabled"); + if(state.players.length == 0) { + document.querySelector("#run").setAttribute("disabled", "disabled"); document.querySelector("#stop").setAttribute("disabled", "disabled"); - } - else if (state.started) { + } else if (state.started) { document.querySelector("#info").textContent = ("") - document.querySelector("#start").setAttribute("disabled", "disabled"); + document.querySelector("#run").setAttribute("disabled", "disabled"); document.querySelector("#stop").removeAttribute("disabled"); + document.querySelector("#reset").setAttribute("disabled", "disabled"); } else { document.querySelector("#info").textContent = ("") - document.querySelector("#start").removeAttribute("disabled"); + document.querySelector("#run").removeAttribute("disabled"); document.querySelector("#stop").setAttribute("disabled", "disabled"); + document.querySelector("#reset").removeAttribute("disabled"); + } + + if (state.timeleft == 0) { + document.querySelector("#run").setAttribute("disabled", "disabled"); } } disable() { - document.querySelector("#start").setAttribute("disabled", "disabled"); + document.querySelector("#run").setAttribute("disabled", "disabled"); document.querySelector("#stop").setAttribute("disabled", "disabled"); } } @@ -153,7 +193,6 @@ class Rate { this.initializeEvents(); } - initializeEvents() { document.querySelector("#dec_rate").addEventListener("click", event => { event.preventDefault(); @@ -171,9 +210,9 @@ class Rate { }); } - update(rate) { - this.rate = rate; - document.querySelector("#cur_rate").textContent = (rate + " FPS"); + update(state) { + this.rate = state.rate; + document.querySelector("#cur_rate").textContent = (state.rate + " FPS"); this.validate(); } @@ -196,8 +235,7 @@ class Rate { } decrease() { - var i; - for (i = this.values.length - 1; i >= 0; i--) { + for (let i = this.values.length - 1; i >= 0; i--) { if (this.values[i] < this.rate) { this.post(this.values[i]); break; @@ -206,8 +244,7 @@ class Rate { } increase() { - var i; - for (i = 0; i < this.values.length; i++) { + for (let i = 0; i < this.values.length; i++) { if (this.values[i] > this.rate) { this.post(this.values[i]); break; @@ -216,14 +253,14 @@ class Rate { } post(value) { - var self = this; - self.disable(); + this.disable(); + fetch(`admin?rate=${value}`, {method: 'POST'}) .then(() => { - self.update(value); + this.update({rate: value}); }) .catch((e) => { - self.validate(); + this.validate(); console.log("Error changing rate: " + e.toString()); }) } @@ -381,6 +418,51 @@ class Track { } } +class Information { + constructor() { + this.infoElement = document.getElementById('info-text'); + } + + update(state) { + if (!state.players) { + return; + } + + let infoText = ""; + + if(state.players.length == 0) { + infoText += 'No players connected.
'; + } + + state.players.forEach(player => { + const formattedResponseTime = (player.response_time * 1000.0).toFixed(2); + + infoText += `Name: ${player.name}
`; + infoText += `Response time: ${formattedResponseTime}ms
`; + + // Check if error is not empty and conditionally apply the CSS class + if (player.error && player.error.trim() !== "") { + infoText += `Response err: ${player.error}
`; + } else { + infoText += `Response err: ${player.error}
`; + } + + infoText += '
'; + infoText += `Pinguins: ${player.pickups}
`; + infoText += `Breaks: ${player.breaks}
`; + infoText += `Jumps: ${player.jumps}
`; + infoText += '
'; + infoText += `Missed: ${player.misses}
`; + infoText += `Crashes: ${player.hits}
`; + infoText += `Collisions: ${player.collisions}
`; + + infoText += '

'; + }); + + this.infoElement.innerHTML = infoText; + } +} + class ImageLoader { constructor(done) { this.loading = 0; diff --git a/rose/web/index.html b/rose/server/web/index.html old mode 100644 new mode 100755 similarity index 78% rename from rose/web/index.html rename to rose/server/web/index.html index d1e4b775..1060a4c7 --- a/rose/web/index.html +++ b/rose/server/web/index.html @@ -9,11 +9,20 @@

+ Settings + Info + + +
- + +
diff --git a/rose/server/web/settings.css b/rose/server/web/settings.css new file mode 100644 index 00000000..403933d7 --- /dev/null +++ b/rose/server/web/settings.css @@ -0,0 +1,84 @@ +body.dark-theme { + background-color: #2c3e50; + font-family: 'Sans-serif'; + color: #ecf0f1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; +} + +.heading { + font-size: 2em; + margin-bottom: 20px; +} + +.form { + width: 60%; + display: flex; + flex-direction: column; + align-items: center; +} + +.form-group { + width: 100%; + display: flex; + justify-content: space-between; + margin-bottom: 15px; +} + +.label { + font-size: 1.2em; +} + +.input-field { + flex-grow: 1; + margin-left: 10px; + padding: 10px; + font-size: 1em; + border-radius: 5px; + border: 1px solid #34495e; + background-color: #ecf0f1; + color: #2c3e50; +} + +.submit-button { + background-color: #3498db; + color: #ecf0f1; + font-size: 1.2em; + padding: 15px 30px; + border: none; + border-radius: 5px; + cursor: pointer; + transition: background-color 0.2s; +} + +.submit-button:hover { + background-color: #2980b9; +} + +.cancel-button { + background-color: #e74c3c; /* Red color for cancel */ + color: #fff; + font-size: 1.2em; + padding: 15px 30px; + border: none; + border-radius: 5px; + cursor: pointer; + transition: background-color 0.2s; +} + +.cancel-button:hover { + background-color: #c0392b; /* Darker shade on hover */ +} + +.form-group { + display: flex; + justify-content: center; /* Adjust as needed; this will space the two buttons evenly apart */ +} + +/* Assuming you want some spacing between the two buttons */ +.submit-button, .cancel-button { + margin: 0 5px; /* Adds 5px margin on both sides of each button */ +} diff --git a/rose/server/web/settings.html b/rose/server/web/settings.html new file mode 100644 index 00000000..0aac0c75 --- /dev/null +++ b/rose/server/web/settings.html @@ -0,0 +1,76 @@ + + + + + + Set Drivers + + + + +

Set Game Drivers

+ +
+ + +
+
+ + +
+
+ + +
+ + + diff --git a/rose/web/game.css b/rose/web/game.css deleted file mode 100644 index 3d676dd0..00000000 --- a/rose/web/game.css +++ /dev/null @@ -1,131 +0,0 @@ -body { - font-family: sans-serif; - background: #444; - color: #ccc; - margin: 0; -} - -#content { - margin: 0 auto; - width: 910px; -} - -#control { - position: relative; - margin: 10px 0; - font-weight: bold; -} - -#control button { - font-family: helvetica, sans-serif; - font-size: 20px; - line-height: 24px; - font-weight: bold; - border: 1px solid #666; - color: #ccc; - background-color: #333; -} - -#control button:disabled, #control button:disabled:hover { - color: #666; - background-color: #333; -} - -#control button:hover { - background-color: #222; -} - -#start, #stop, #music_ctl { - width: 120px; - padding: 8px 24px; - margin: 0; -} - -#rate_ctl { - position: absolute; - top: 0; - right: 0; -} - -#rate_ctl label { - margin: 0 10px; -} - -#rate_ctl .group { - display: inline-block; - font-size: 0; - border: 1px solid #666; -} - -#rate_ctl button { - height: 40px; - padding: 0; - margin: 0; -} - -#inc_rate, #dec_rate { - width: 50px; - border: 0; -} - -#cur_rate { - width: 120px; - border-top: 0; - border-bottom: 0; -} - -#players { - background-image: url('../res/dashboard/dashboard.png'); - width: 910px; - height: 150px; - font-weight: bold; - font-family: sans-serif; - color: rgb(153, 153, 153); - position: relative; -} - -.player { - width: 350px; - height: 100px; - top: 20px; - position: absolute; -} - -#left.player { - left: 10px; -} - -#right.player { - right: 10px; -} - -.player .name { - font-size: 30px; - width: 100%; - height: 50px; - text-align: center; - position: absolute; - overflow: hidden; - top: 7px; -} - -.score { - width: 100%; - text-align:center; - position: absolute; - font-size: 40px; - top: 50px; -} - -#time_left { - width: 105px; - font-size: 50px; - text-align:center; - position: absolute; - top: 40px; - left: 400px; -} - -#game { - border: 1px #666 solid; -} diff --git a/setup.py b/setup.py index dd78c7c2..35cdfff0 100644 --- a/setup.py +++ b/setup.py @@ -1,30 +1,13 @@ -import subprocess from distutils.core import setup -from distutils.command import sdist - - -class rose_sdist(sdist.sdist): - def run(self): - self.generate_files() - sdist.sdist.run(self) - - def generate_files(self): - with open('requirements.txt', 'w') as f: - f.write("# Generated automatically from Pipfile - do not edit!\n") - f.flush() - subprocess.check_call(['pipenv', 'lock', '--requirements'], - stdout=f) - setup(name='rose-project', version='0.1', license="GNU GPLv2+", description="game", - packages=['rose', 'rose.server', 'rose.client', 'rose.common'], + packages=['rose', 'rose.server', 'rose.client', "rose-admin"], package_data={'rose': ['res/*/*.png']}, author='Yaniv Bronhaim', author_email='ybronhei@redhat.com', url="https://github.com/emesika/RaananaTiraProject", - scripts=["rose-client", "rose-server", "rose-admin"], - data_files=[('requirements.txt', ['requirements.txt'])], - cmdclass={'sdist': rose_sdist}) + scripts=["rose-client", "rose-server"], + data_files=[('requirements.txt', ['requirements.txt'])])