From d0709c7e82e41d8b7c3c3db0b37d04880bc9260d Mon Sep 17 00:00:00 2001 From: moisses89 <7888669+moisses89@users.noreply.github.com> Date: Tue, 3 Oct 2023 11:44:15 +0200 Subject: [PATCH 1/4] Add safe events service docker compose --- container_env_files/evs.env | 9 +++++++++ docker-compose.yml | 31 ++++++++++++++++++++++++++++++- docker/nginx/nginx.conf | 24 ++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 container_env_files/evs.env diff --git a/container_env_files/evs.env b/container_env_files/evs.env new file mode 100644 index 0000000..29e24de --- /dev/null +++ b/container_env_files/evs.env @@ -0,0 +1,9 @@ +DATABASE_URL=psql://postgres:postgres@evs-db:5432/postgres +AMQP_URL=amqp://general-rabbitmq:5672 +AMQP_EXCHANGE=safe-transaction-service-events +AMQP_QUEUE=safe-events-service +ADMIN_EMAIL=admin@safe +ADMIN_PASSWORD=password +WEBHOOKS_CACHE_TTL=300000 +NODE_ENV=production +URL_BASE_PATH=/evs \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index aa0cd4c..dcf66e8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.8" volumes: nginx-shared-txs: nginx-shared-cfg: - + x-healthcheck-db-template: &pghealthcheck healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] @@ -32,6 +32,7 @@ services: - txs-web - cfg-web - cgw-web + - evs-web txs-db: image: postgres:14-alpine @@ -49,6 +50,14 @@ services: - ./data/cfg-db:/var/lib/postgresql/data <<: *pghealthcheck + evs-db: + image: postgres:14-alpine + environment: + POSTGRES_PASSWORD: postgres + volumes: + - ./data/evs-db:/var/lib/postgresql/data + <<: *pghealthcheck + # Safe Transaction Service txs-redis: image: redis:alpine @@ -152,3 +161,23 @@ services: - nginx ports: - "${REVERSE_PROXY_UI_PORT}:8080" + + + general-rabbitmq: + image: rabbitmq:alpine + healthcheck: + test: rabbitmq-diagnostics -q ping + interval: 15s + timeout: 30s + retries: 3 + start_period: 15s + + evs-web: + image: docker.io/library/safe-events-service-web + env_file: + - container_env_files/evs.env + depends_on: + evs-db: + condition: service_healthy + general-rabbitmq: + condition: service_healthy \ No newline at end of file diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 8180228..6fdf48e 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -51,6 +51,15 @@ http { keepalive 32; } + upstream evs_app_server { + ip_hash; # For load-balancing + server evs-web:3000 fail_timeout=0; + # + # fail_timeout=0 means we always retry an upstream even if it failed + # to return a good HTTP response + keepalive 32; + } + server { access_log off; listen 8000 deferred; @@ -120,6 +129,21 @@ http { proxy_redirect off; proxy_pass http://cgw_app_server/; + proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Real-IP $remote_addr; + add_header Front-End-Https on; + } + + ## Events service mounting point + location /evs/ { + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Host $host; + # we don't want nginx trying to do something clever with + # redirects, we set the Host: header above already. + proxy_redirect off; + proxy_pass http://evs_app_server/evs/; + proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; add_header Front-End-Https on; From 41b4c056a73e3cc211bb37cf052d60c82c98f7f0 Mon Sep 17 00:00:00 2001 From: moisses89 <7888669+moisses89@users.noreply.github.com> Date: Wed, 4 Oct 2023 10:52:49 +0200 Subject: [PATCH 2/4] Add rabbitmq configuration --- container_env_files/txs.env | 3 +++ 1 file changed, 3 insertions(+) diff --git a/container_env_files/txs.env b/container_env_files/txs.env index 3830b32..47ce4cc 100644 --- a/container_env_files/txs.env +++ b/container_env_files/txs.env @@ -9,3 +9,6 @@ CELERY_BROKER_URL=amqp://guest:guest@txs-rabbitmq/ DJANGO_ALLOWED_HOSTS="*" FORCE_SCRIPT_NAME=/txs/ CSRF_TRUSTED_ORIGINS="http://localhost:8000" +EVENTS_QUEUE_URL=amqp://general-rabbitmq:5672 +EVENTS_QUEUE_ASYNC_CONNECTION=True +EVENTS_QUEUE_EXCHANGE_NAME="safe-transaction-service-events" From e56fcba3e61fbc4b1fcd09044eae4d81c0ba64c1 Mon Sep 17 00:00:00 2001 From: moisses89 <7888669+moisses89@users.noreply.github.com> Date: Wed, 4 Oct 2023 15:12:29 +0200 Subject: [PATCH 3/4] Add safe-events-service documentation --- .env.sample | 1 + docker-compose.yml | 5 +- docs/README.md | 5 +- .../safe-infrastructure-diagram.excalidraw | 2237 +++++++++++++++++ docs/diagrams/safe-infrastructure-diagram.png | Bin 0 -> 122383 bytes docs/running_locally.md | 17 +- 6 files changed, 2254 insertions(+), 11 deletions(-) create mode 100644 docs/diagrams/safe-infrastructure-diagram.excalidraw create mode 100644 docs/diagrams/safe-infrastructure-diagram.png diff --git a/.env.sample b/.env.sample index 41151c4..45b0f6f 100644 --- a/.env.sample +++ b/.env.sample @@ -5,5 +5,6 @@ CFG_VERSION=latest CGW_VERSION=latest TXS_VERSION=latest UI_VERSION=latest +EVS_VERSION=latest RPC_NODE_URL=http://url.to.node diff --git a/docker-compose.yml b/docker-compose.yml index dcf66e8..1a494c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.8" volumes: nginx-shared-txs: nginx-shared-cfg: - + x-healthcheck-db-template: &pghealthcheck healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] @@ -162,7 +162,6 @@ services: ports: - "${REVERSE_PROXY_UI_PORT}:8080" - general-rabbitmq: image: rabbitmq:alpine healthcheck: @@ -173,7 +172,7 @@ services: start_period: 15s evs-web: - image: docker.io/library/safe-events-service-web + image: safeglobal/safe-events-service:${EVS_VERSION} env_file: - container_env_files/evs.env depends_on: diff --git a/docs/README.md b/docs/README.md index 5e58eb7..b7c4273 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,12 @@ # Safe Infrastructure -![Safe Infrastructure Diagram](https://user-images.githubusercontent.com/6909403/231760296-afaa126c-db04-4f62-b996-c53b1d884247.png) +**Safe infrastructure diagram** +
- **Tx Service** is the core of the Safe. It indexes multisig transactions, module transactions, token transfers, collects signatures... There must be **1 Tx Service per Chain**, with different workers, PostgreSQL, Redis and RabbitMQ. - **Config Service** holds configuration for every Chain (blockexplorer, tx service url, apps enabled, wallets enabled...). **1 instance of the Config Service supports multiple Chains** - **Client Gateway** provides an API optimized for clients (web ui, android, ios...). **1 instance of the Client Gateway supports multiple Chains** +- **Safe Events Service** handle Safe indexing events from Transaction Service and deliver as HTTP webhooks. ## Setup @@ -16,6 +18,7 @@ CFG_VERSION=v2.60.0 CGW_VERSION=v0.4.1 TXS_VERSION=v4.6.1 UI_VERSION=v1.2.0 +EVS_VERSION=v0.5.0 ``` You can change them to the version you are interested available in [docker-hub](https://hub.docker.com/u/safeglobal) but be aware that not all versions of our services are compatible with each other, so do so **at your own risk.** diff --git a/docs/diagrams/safe-infrastructure-diagram.excalidraw b/docs/diagrams/safe-infrastructure-diagram.excalidraw new file mode 100644 index 0000000..c5b4a6d --- /dev/null +++ b/docs/diagrams/safe-infrastructure-diagram.excalidraw @@ -0,0 +1,2237 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "text", + "version": 167, + "versionNonce": 270607626, + "isDeleted": false, + "id": "sD1x0jMsJnTUM_ySEbyaz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 307.3938903808594, + "y": 192.40908813476562, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 362.20867919921875, + "height": 60, + "seed": 505134538, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423601046, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Note: We use a nginx proxy in front of every \nservice as recommended for optimal traffic\nhandling", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Note: We use a nginx proxy in front of every \nservice as recommended for optimal traffic\nhandling", + "lineHeight": 1.25, + "baseline": 53 + }, + { + "type": "rectangle", + "version": 564, + "versionNonce": 1723557846, + "isDeleted": false, + "id": "7v6RFTy4rXrm48mmvZNLr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 823.0910339355469, + "y": 175.54540252685547, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 63.212066650390625, + "seed": 615814486, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "S_sc7bcIyY3oORHx2V7oo" + }, + { + "id": "0Bk2-EZ2FKtFYmGavgPZi", + "type": "arrow" + }, + { + "id": "40gIggfspPB0WWSjYOLfN", + "type": "arrow" + }, + { + "id": "6SvXZkZJp-HjLq8kekBfo", + "type": "arrow" + }, + { + "id": "iJ4YvH_WGU98DeW0FJin7", + "type": "arrow" + } + ], + "updated": 1696423525913, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 411, + "versionNonce": 1890336842, + "isDeleted": false, + "id": "S_sc7bcIyY3oORHx2V7oo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 838.4630355834961, + "y": 187.15143585205078, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 115.68025207519531, + "height": 40, + "seed": 1489173974, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "\nClient gateway", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7v6RFTy4rXrm48mmvZNLr", + "originalText": "\nClient gateway", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 223, + "versionNonce": 915515146, + "isDeleted": false, + "id": "9zm1OE6HjUAEzlGaCASwU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 286.1213684082031, + "y": 357.30306243896484, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 49.45454406738281, + "seed": 1832728394, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "GCMsc4PoVC2s_rgz29D5G" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 86, + "versionNonce": 1913104022, + "isDeleted": false, + "id": "GCMsc4PoVC2s_rgz29D5G", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 313.62939453125, + "y": 372.03033447265625, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 91.408203125, + "height": 20, + "seed": 1352353942, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "PostgreSQL", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9zm1OE6HjUAEzlGaCASwU", + "originalText": "PostgreSQL", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 602, + "versionNonce": 1352414666, + "isDeleted": false, + "id": "08XMKEKCbWyxhj3x9zOwQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1106.6061706542969, + "y": 170.75753784179688, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 63.212066650390625, + "seed": 1579176278, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "JxA7FKVlPaskb7T8JRL-s" + }, + { + "id": "0Bk2-EZ2FKtFYmGavgPZi", + "type": "arrow" + }, + { + "id": "40gIggfspPB0WWSjYOLfN", + "type": "arrow" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 456, + "versionNonce": 1052926934, + "isDeleted": false, + "id": "JxA7FKVlPaskb7T8JRL-s", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1159.3702545166016, + "y": 182.3635711669922, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.896087646484375, + "height": 40, + "seed": 1610069654, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "\nRedis", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "08XMKEKCbWyxhj3x9zOwQ", + "originalText": "\nRedis", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 738, + "versionNonce": 1340533898, + "isDeleted": false, + "id": "TQ9O-ISWmL-1u-e1vyW9N", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 555.9999694824219, + "y": 363.7878723144531, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 54.48483276367187, + "seed": 642449238, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "HKT6vDDIrz-VVRxxnuXWx" + }, + { + "id": "11U1jlQJKjSVQC6Tu_p-K", + "type": "arrow" + }, + { + "id": "6SvXZkZJp-HjLq8kekBfo", + "type": "arrow" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 535, + "versionNonce": 934508822, + "isDeleted": false, + "id": "HKT6vDDIrz-VVRxxnuXWx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 587.276008605957, + "y": 371.03028869628906, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 83.87217712402344, + "height": 40, + "seed": 1788650646, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "\nTx Service", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TQ9O-ISWmL-1u-e1vyW9N", + "originalText": "\nTx Service", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 883, + "versionNonce": 1781320522, + "isDeleted": false, + "id": "knU4ro8ph3J-2OrNTJFP8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1217.3639221191406, + "y": 372.63633728027344, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 54.48483276367187, + "seed": 590069962, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "V8BPB89LE5bDw2qLKYnoA" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 767, + "versionNonce": 877651542, + "isDeleted": false, + "id": "V8BPB89LE5bDw2qLKYnoA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1236.5999374389648, + "y": 389.8787536621094, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 107.95222473144531, + "height": 20, + "seed": 1582110602, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Config Service", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "knU4ro8ph3J-2OrNTJFP8", + "originalText": "Config Service", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 903, + "versionNonce": 1296166346, + "isDeleted": false, + "id": "6iMOuWwT53Rvit3E6x02h", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1230.2428283691406, + "y": 491.45460510253906, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 50.60604858398437, + "seed": 130128982, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ttOeYk2CjrUJFUOWdVOF_" + }, + { + "id": "4a5MeWqUIyB7QeObVLbvd", + "type": "arrow" + } + ], + "updated": 1696423440255, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 725, + "versionNonce": 521512074, + "isDeleted": false, + "id": "ttOeYk2CjrUJFUOWdVOF_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1257.7508544921875, + "y": 506.75762939453125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 91.408203125, + "height": 20, + "seed": 2100797846, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423440255, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "PostgreSQL", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6iMOuWwT53Rvit3E6x02h", + "originalText": "PostgreSQL", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 796, + "versionNonce": 95813834, + "isDeleted": false, + "id": "W43uI9ww70hVBUpr7zwZT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 406.0909118652344, + "y": 515.7272796630859, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 54.48483276367187, + "seed": 1375235926, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "yuNZi4c5-RbieitK4LlRZ" + }, + { + "id": "Ht-e0INEKWC-XXDrSdB89", + "type": "arrow" + }, + { + "id": "3-2zDzy2LvOlbvohvBhrR", + "type": "arrow" + }, + { + "id": "6pZNdKEPPG6OIx4oZxpwr", + "type": "arrow" + }, + { + "id": "zUF3a5BFye6FOZleuXDVy", + "type": "arrow" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 614, + "versionNonce": 1497286870, + "isDeleted": false, + "id": "yuNZi4c5-RbieitK4LlRZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 427.00694274902344, + "y": 522.9696960449219, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 104.59219360351562, + "height": 40, + "seed": 521933974, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Async Celery \nWorkers", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "W43uI9ww70hVBUpr7zwZT", + "originalText": "Async Celery \nWorkers", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 699, + "versionNonce": 823179082, + "isDeleted": false, + "id": "0qkTAhSvhnwIXJIUecPXw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 643.0907287597656, + "y": 514.2727508544922, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 63.212066650390625, + "seed": 1989939478, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "BjRy_TZPqh2hvJvrAQR2d" + }, + { + "id": "JGWNaYJ_6-0pGi7GB5Ysb", + "type": "arrow" + } + ], + "updated": 1696423810393, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 484, + "versionNonce": 21970442, + "isDeleted": false, + "id": "BjRy_TZPqh2hvJvrAQR2d", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 695.8548126220703, + "y": 525.8787841796875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.896087646484375, + "height": 40, + "seed": 979730006, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423810393, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "\nRedis", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0qkTAhSvhnwIXJIUecPXw", + "originalText": "\nRedis", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 751, + "versionNonce": 898618954, + "isDeleted": false, + "id": "AtyFNzoAKa0LLjGZrLeNh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 656.4848327636719, + "y": 664.2728118896484, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 63.212066650390625, + "seed": 481742410, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "K47rtJZT17RfSrv_YAzgN" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 552, + "versionNonce": 213322582, + "isDeleted": false, + "id": "K47rtJZT17RfSrv_YAzgN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 674.2088241577148, + "y": 685.8788452148438, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 110.97627258300781, + "height": 20, + "seed": 1578792202, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Txs-RabbitMQ", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "AtyFNzoAKa0LLjGZrLeNh", + "originalText": "Txs-RabbitMQ", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 837, + "versionNonce": 110263562, + "isDeleted": false, + "id": "tOnCydTTzKGQHIJ2U2m-6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 405.3030090332031, + "y": 664.0908050537109, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 63.212066650390625, + "seed": 1581851466, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "zXXk_aqXLKRnbmzDbTxeY" + }, + { + "id": "Ht-e0INEKWC-XXDrSdB89", + "type": "arrow" + }, + { + "id": "o_03HL0fJgM4UiLYOxvfk", + "type": "arrow" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 648, + "versionNonce": 1067921558, + "isDeleted": false, + "id": "zXXk_aqXLKRnbmzDbTxeY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 415.0910110473633, + "y": 685.6968383789062, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 126.84825134277344, + "height": 20, + "seed": 1150953994, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Celery Scheduler", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tOnCydTTzKGQHIJ2U2m-6", + "originalText": "Celery Scheduler", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "arrow", + "version": 269, + "versionNonce": 1444039626, + "isDeleted": false, + "id": "Ht-e0INEKWC-XXDrSdB89", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 476.12139892578125, + "y": 661.0302734375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 88.242431640625, + "seed": 887133770, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "8VTkjwY8qLJfIl5aeSq2A" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "tOnCydTTzKGQHIJ2U2m-6", + "focus": -0.03269591895006909, + "gap": 3.0605316162109375 + }, + "endBinding": { + "elementId": "W43uI9ww70hVBUpr7zwZT", + "focus": 0.04345783582011784, + "gap": 2.5757293701171875 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -88.242431640625 + ] + ] + }, + { + "type": "text", + "version": 79, + "versionNonce": 65056214, + "isDeleted": false, + "id": "8VTkjwY8qLJfIl5aeSq2A", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 420.0732727050781, + "y": 606.9090576171875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 112.09625244140625, + "height": 20, + "seed": 1251988246, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Periodic tasks", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Ht-e0INEKWC-XXDrSdB89", + "originalText": "Periodic tasks", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "arrow", + "version": 266, + "versionNonce": 376996630, + "isDeleted": false, + "id": "0Bk2-EZ2FKtFYmGavgPZi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 969.6970825195312, + "y": 187.81814575195312, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 134.78790283203125, + "height": 0.969696044921875, + "seed": 1915409354, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "7v6RFTy4rXrm48mmvZNLr", + "focus": -0.5852372890979475, + "gap": 1 + }, + "endBinding": { + "elementId": "08XMKEKCbWyxhj3x9zOwQ", + "focus": 0.499711129047237, + "gap": 2.121185302734375 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 134.78790283203125, + -0.969696044921875 + ] + ] + }, + { + "type": "arrow", + "version": 272, + "versionNonce": 227893578, + "isDeleted": false, + "id": "40gIggfspPB0WWSjYOLfN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1104.4849853515625, + "y": 208.18177795410156, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 134.78790283203125, + "height": 0.969696044921875, + "seed": 1665840394, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "08XMKEKCbWyxhj3x9zOwQ", + "focus": -0.16420141377070172, + "gap": 2.121185302734375 + }, + "endBinding": { + "elementId": "7v6RFTy4rXrm48mmvZNLr", + "focus": 0.07867525371999128, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -134.78790283203125, + 0.969696044921875 + ] + ] + }, + { + "type": "arrow", + "version": 149, + "versionNonce": 1239658582, + "isDeleted": false, + "id": "w5GguzQUKftMWrI5gLjhY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 964.8485717773438, + "y": 235.33328247070312, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 254.06060791015625, + "height": 138.666748046875, + "seed": 847555286, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "OAmhf3QUTFjxxJDzWGA1z" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 254.06060791015625, + 138.666748046875 + ] + ] + }, + { + "type": "text", + "version": 110, + "versionNonce": 2075043850, + "isDeleted": false, + "id": "OAmhf3QUTFjxxJDzWGA1z", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1006.9818572998047, + "y": 283.6969451904297, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.400115966796875, + "height": 40, + "seed": 611410198, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "queries\n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "w5GguzQUKftMWrI5gLjhY", + "originalText": "queries\n", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "arrow", + "version": 214, + "versionNonce": 1388610378, + "isDeleted": false, + "id": "4a5MeWqUIyB7QeObVLbvd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1296.4853515625, + "y": 425.3939208984375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37.97785251555638, + "height": 63.030303955078125, + "seed": 1153088854, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423440255, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "6iMOuWwT53Rvit3E6x02h", + "focus": 0.5435352784610166, + "gap": 3.0303802490234375 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 37.97785251555638, + 63.030303955078125 + ] + ] + }, + { + "type": "arrow", + "version": 177, + "versionNonce": 1282479818, + "isDeleted": false, + "id": "6SvXZkZJp-HjLq8kekBfo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 822.0910339355469, + "y": 206.6818920910676, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 137.28051316012807, + "height": 152.77266723510428, + "seed": 2030649162, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "6nQ9USXgRog1wMZ_c4zu7" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "7v6RFTy4rXrm48mmvZNLr", + "focus": 0.7345053882423703, + "gap": 1 + }, + "endBinding": { + "elementId": "TQ9O-ISWmL-1u-e1vyW9N", + "focus": 0.2786787615822899, + "gap": 4.33331298828125 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -137.28051316012807, + 152.77266723510428 + ] + ] + }, + { + "type": "text", + "version": 9, + "versionNonce": 1072173782, + "isDeleted": false, + "id": "6nQ9USXgRog1wMZ_c4zu7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 703.9515228271484, + "y": 279.15152740478516, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.400115966796875, + "height": 20, + "seed": 594710154, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "queries", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6SvXZkZJp-HjLq8kekBfo", + "originalText": "queries", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "arrow", + "version": 195, + "versionNonce": 544714122, + "isDeleted": false, + "id": "11U1jlQJKjSVQC6Tu_p-K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 553.6970825195312, + "y": 387.5757751464844, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 123.15155029296875, + "height": 5.818206787109375, + "seed": 2126903498, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "TQ9O-ISWmL-1u-e1vyW9N", + "focus": -0.003685164384205496, + "gap": 2.302886962890625 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -123.15155029296875, + -5.818206787109375 + ] + ] + }, + { + "type": "arrow", + "version": 188, + "versionNonce": 105596950, + "isDeleted": false, + "id": "3-2zDzy2LvOlbvohvBhrR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 414.0606994628906, + "y": 514.6060485839844, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 46.54541015625, + "height": 111.51516723632812, + "seed": 1011566358, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "W43uI9ww70hVBUpr7zwZT", + "focus": -0.6313762785692306, + "gap": 1.1212310791015625 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -46.54541015625, + -111.51516723632812 + ] + ] + }, + { + "type": "arrow", + "version": 206, + "versionNonce": 1291676746, + "isDeleted": false, + "id": "o_03HL0fJgM4UiLYOxvfk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 404.36376953125, + "y": 677.51513671875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 78.54550170898438, + "height": 274.42425537109375, + "seed": 1650150346, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "tOnCydTTzKGQHIJ2U2m-6", + "focus": -0.8381810127778695, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -78.54550170898438, + -274.42425537109375 + ] + ] + }, + { + "type": "arrow", + "version": 96, + "versionNonce": 487970134, + "isDeleted": false, + "id": "qJx--rtwewLauZW4wlXBp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 549.8182983398438, + "y": 693.0302734375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 107.6363525390625, + "height": 1.93939208984375, + "seed": 1929484694, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 107.6363525390625, + 1.93939208984375 + ] + ] + }, + { + "type": "arrow", + "version": 141, + "versionNonce": 1205687050, + "isDeleted": false, + "id": "Twrib3ErHABbt4akotL2Z", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550.7879638671875, + "y": 564.0606689453125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.45465087890625, + "height": 103.75750732421875, + "seed": 1703889610, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 113.45465087890625, + 103.75750732421875 + ] + ] + }, + { + "type": "arrow", + "version": 221, + "versionNonce": 765246102, + "isDeleted": false, + "id": "6pZNdKEPPG6OIx4oZxpwr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 552.7273559570312, + "y": 539.8181762695312, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 94.06060791015625, + "height": 0.96966552734375, + "seed": 254885066, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": { + "elementId": "W43uI9ww70hVBUpr7zwZT", + "focus": -0.13960156947451183, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 94.06060791015625, + 0.96966552734375 + ] + ] + }, + { + "type": "arrow", + "version": 194, + "versionNonce": 328360394, + "isDeleted": false, + "id": "zUF3a5BFye6FOZleuXDVy", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 583.7576904296875, + "y": 415.6969909667969, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 106.66668701171875, + "height": 96.96966552734375, + "seed": 287811094, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "UwvswjW3wPxeA1SQb5mUW" + } + ], + "updated": 1696423433143, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "W43uI9ww70hVBUpr7zwZT", + "focus": -0.3445029057597297, + "gap": 3.0606231689453125 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -106.66668701171875, + 96.96966552734375 + ] + ] + }, + { + "type": "text", + "version": 80, + "versionNonce": 1855256534, + "isDeleted": false, + "id": "UwvswjW3wPxeA1SQb5mUW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 462.8241958618164, + "y": 454.18182373046875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 135.20030212402344, + "height": 20, + "seed": 1941557718, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "On demand tasks", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "zUF3a5BFye6FOZleuXDVy", + "originalText": "On demand tasks", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "arrow", + "version": 178, + "versionNonce": 1032776906, + "isDeleted": false, + "id": "JGWNaYJ_6-0pGi7GB5Ysb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 604.1213989257812, + "y": 416.66668701171875, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 68.66974528463584, + "height": 96.60606384277344, + "seed": 1024319178, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423810393, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "0qkTAhSvhnwIXJIUecPXw", + "focus": -0.21253089622469093, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 68.66974528463584, + 96.60606384277344 + ] + ] + }, + { + "type": "rectangle", + "version": 1265, + "versionNonce": 843097226, + "isDeleted": false, + "id": "XfTfaPgaWfCx7Mgex6b-M", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 786.2728576660156, + "y": 438.4545135498047, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 56.4241943359375, + "seed": 738657546, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "tHC-jjr9rIHIph1NrZY__" + }, + { + "id": "ri310Z-QRPktp56G38nZF", + "type": "arrow" + }, + { + "id": "kt8jgthqY5PUYXYDTuJN0", + "type": "arrow" + } + ], + "updated": 1696423485488, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1165, + "versionNonce": 162403082, + "isDeleted": false, + "id": "tHC-jjr9rIHIph1NrZY__", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 822.5568923950195, + "y": 446.66661071777344, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 73.85618591308594, + "height": 40, + "seed": 1807078346, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423803491, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "General-\nRabbitMQ", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "XfTfaPgaWfCx7Mgex6b-M", + "originalText": "General-RabbitMQ", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "arrow", + "version": 422, + "versionNonce": 1460963850, + "isDeleted": false, + "id": "ri310Z-QRPktp56G38nZF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 702.0606079101562, + "y": 388.5455017089844, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 81.454833984375, + "height": 73.99757410035352, + "seed": 1782296342, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "ofvo_fRiK9CyM7b0iOcDE" + } + ], + "updated": 1696423485488, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "XfTfaPgaWfCx7Mgex6b-M", + "focus": -0.6850701142515723, + "gap": 2.757415771484375 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 81.454833984375, + 73.99757410035352 + ] + ] + }, + { + "type": "text", + "version": 8, + "versionNonce": 1983261898, + "isDeleted": false, + "id": "ofvo_fRiK9CyM7b0iOcDE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 714.8276901245117, + "y": 380.48487854003906, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 51.07209777832031, + "height": 20, + "seed": 1359360598, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423433143, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "events", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ri310Z-QRPktp56G38nZF", + "originalText": "events", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 1447, + "versionNonce": 1644988694, + "isDeleted": false, + "id": "a3CeWizAo_BNtQEzY-u7X", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1038.5149230957031, + "y": 439.2424011230469, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 146.42425537109375, + "height": 56.4241943359375, + "seed": 553956554, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "FuYndGorTaLOXtUKhg9kT" + }, + { + "id": "kt8jgthqY5PUYXYDTuJN0", + "type": "arrow" + }, + { + "id": "iJ4YvH_WGU98DeW0FJin7", + "type": "arrow" + } + ], + "updated": 1696423560974, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1355, + "versionNonce": 1359410774, + "isDeleted": false, + "id": "FuYndGorTaLOXtUKhg9kT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1054.6869354248047, + "y": 457.4544982910156, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 114.08023071289062, + "height": 20, + "seed": 484936586, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423560974, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Events service", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a3CeWizAo_BNtQEzY-u7X", + "originalText": "Events service", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "arrow", + "version": 344, + "versionNonce": 1601296598, + "isDeleted": false, + "id": "kt8jgthqY5PUYXYDTuJN0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 933.6971130371094, + "y": 471.0160248464241, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 102.90908813476562, + "height": 3.2146345491082116, + "seed": 1237018262, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1696423560975, + "link": null, + "locked": false, + "startBinding": { + "elementId": "XfTfaPgaWfCx7Mgex6b-M", + "focus": 0.21923448961614644, + "gap": 1 + }, + "endBinding": { + "elementId": "a3CeWizAo_BNtQEzY-u7X", + "focus": 0.06556607334071446, + "gap": 1.908721923828125 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 102.90908813476562, + -3.2146345491082116 + ] + ] + }, + { + "type": "arrow", + "version": 115, + "versionNonce": 1298537302, + "isDeleted": false, + "id": "iJ4YvH_WGU98DeW0FJin7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1085.9305310966981, + "y": 437.0303039550781, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 161.24462013436766, + "height": 197.27283477783203, + "seed": 1157092298, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "l9t6kp9MsC2pE-d-xZDeF" + } + ], + "updated": 1696423560975, + "link": null, + "locked": false, + "startBinding": { + "elementId": "a3CeWizAo_BNtQEzY-u7X", + "focus": -0.009455548841979862, + "gap": 2.21209716796875 + }, + "endBinding": { + "elementId": "7v6RFTy4rXrm48mmvZNLr", + "focus": -0.017482818760708573, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -161.24462013436766, + -197.27283477783203 + ] + ] + }, + { + "type": "text", + "version": 9, + "versionNonce": 1029690902, + "isDeleted": false, + "id": "l9t6kp9MsC2pE-d-xZDeF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 970.2380676269531, + "y": 328.1212158203125, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 68.73614501953125, + "height": 20, + "seed": 1731711690, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423533544, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "webhooks", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "iJ4YvH_WGU98DeW0FJin7", + "originalText": "webhooks", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "rectangle", + "version": 42, + "versionNonce": 1442333258, + "isDeleted": false, + "id": "-YHFQqWI__CqLs2A5xqgK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1032.727294921875, + "y": 592.1818237304688, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 174.54541015625, + "height": 63.0303955078125, + "seed": 1906953622, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "18HVC88zmruCDakIZsVkc" + } + ], + "updated": 1696423543115, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 47, + "versionNonce": 1463326282, + "isDeleted": false, + "id": "18HVC88zmruCDakIZsVkc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1064.1598663330078, + "y": 603.697021484375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 111.68026733398438, + "height": 40, + "seed": 200938006, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423731625, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Third parties \nsubscribers", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-YHFQqWI__CqLs2A5xqgK", + "originalText": "Third parties subscribers", + "lineHeight": 1.25, + "baseline": 33 + }, + { + "type": "arrow", + "version": 114, + "versionNonce": 725531722, + "isDeleted": false, + "id": "NDv9EopeSf1bR_0ARX_q-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1109.3333740234375, + "y": 490.3636474609375, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 2.9090576171875, + "height": 102.7879638671875, + "seed": 551435210, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "a1A12toJpDUYuUWcEseZW" + } + ], + "updated": 1696423587380, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0.9697265625, + 51.39398193359375 + ], + [ + 2.9090576171875, + 102.7879638671875 + ] + ] + }, + { + "type": "text", + "version": 11, + "versionNonce": 793756374, + "isDeleted": false, + "id": "a1A12toJpDUYuUWcEseZW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1075.9350280761719, + "y": 531.7576293945312, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 68.73614501953125, + "height": 20, + "seed": 814365834, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423586569, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "webhooks", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "NDv9EopeSf1bR_0ARX_q-", + "originalText": "webhooks", + "lineHeight": 1.25, + "baseline": 13 + }, + { + "type": "text", + "version": 430, + "versionNonce": 388789270, + "isDeleted": false, + "id": "k7IQetze0tTDsa9h0ZaCO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 731.5321350097656, + "y": 364.3909316416756, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 276.01654052734375, + "height": 40, + "seed": 1311697546, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1696423689129, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Note: There must be 1 Tx Service \nfor every chain", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Note: There must be 1 Tx Service \nfor every chain", + "lineHeight": 1.25, + "baseline": 33 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/safe-infrastructure-diagram.png b/docs/diagrams/safe-infrastructure-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..17f976d8af3c6816c5b6df0a5cdc008ca9a79226 GIT binary patch literal 122383 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%0DhViw z^Y8I)>6RrF(pBnNHffiU(QM5$$C^vGDK_Ea;(GBgJqnM=h$Ib>XH~BgowM7>`(s)R zNV6AG-8k5vZmC6a`na-|M0{qCrX6Qdx*T<0YcWk0hmP*XjBTljp>3d~n57W-VLM%= zJHPbqa}KBO*U7NH*Jy0DWLU z{mWO-Z#3HO=53=e^%ywMr4^*6Ri|~goGgMr$r3eSw!X{YFa7qNtkIG$SC=Z!Me4=X z>!ci+7ch_axWnQeQujiJ%fQi(mvK=VQD@PPpm8O>X)_Z->7TJ~d0=J_{5Lf0Ng+067WB@W|cv4QTc zC=RF5mkC_YMTkN5Sl#XVHMY`i5aDo)+I+}RhCuB zH5%QYEfaL7Ok%EF;ESm}pSk(_Z^vFSJNxJHS*Duaw6TE&oBq}1BRm{Gt^f6LW|y?w#S!> zr54buXuCq|(x@9qv}u?2@|!m;7^I4U_7iv4QmF5Dix86@t;U}S{!csVHI(n?`q~Uu z0ULD6!tBF80!IQgT#^p6Y&FUYz^A|rmCr;-(07k`Y+iV{&zsCxRx4xdmbmq%VG-g2 z#R+qORI9q>_@7Y*upO4mZudY1ci$$_-UEKr+|~Ei_0|VKAIcbN*uN|zHN-oA6>u6# z-|{i^;X!{cE4di($xO0+Mh(gmExI2{d>rg9EhSoS5{xX;Y|z-P6a;LKcu@3Q4w8iN z&%kfs9d0yhS;~rjv;Y;4id9QEN6Me}9CnsWe+yyoHNZ@JJG1w5;5`B24Zp7n#!}T& zz|hUsmYiXeWs}YZP?<;bVe8JVJv+TUo`W?0fDbw08QIqdY)DWcsl$i4rg1|FJP$zz zqb_HZv=wCp>|6XMI@qJ1O z2TJpnEhE+5r<{sh#(t_lS(KFwSFB|yFNj`JXb72>pey}|PtlOO29lOb?yhg{xhr0W3 zHJ`t1?Hacl*9>755x_hWWAp-tUP$~O>#AivS^nZ2vG46bR5`tiioNM z`h-_M^WEt4O+HW)?|m5Rus%livfA*RF+M4oy<8$9Ezk8(#tD__gplZv!v&$*syJ&j zQE|2sdJ-o6^x-cU^bSeKpw;&PST#qHe*PnXR1Yh!8h#6GgVJ~3SFrjIQ1-TE0!@^A z9!v(wacWY6#$Kq^WjX1DCf_96WMF4FuzdDe2K+~{3Uof!$OT21(zvIkd70Usd}Hkn zB@N&!P9IxgjI4-2`Rz)LJpOrNA0zpi;R-jtNBr3OIHoS#i;&RV0aRGyEr3oNfz*dc zGrzsK1EOS1Y_!3GT&diuHNkWIokM_Zu<><(@>uvg*78-m?#laHISJG0KRIv%_eyq=#RKKfr zhhzIFW|6%K>HdjBWYwe{t5NF2RL?aF;kpRc|MHeSb+G?g4Ig^H2B4^ZL7_nJ|0Wwx z17cv3!=xAzPliG|tavMMxmX0(p??PK*BRhliFViH|~1iTqx(yKRb} zCZj9xw=&zm16QESc_M!t6;K*P9feQLQ=S9&yB$(#fM^^K2OXJ*&2@s=2#tizMra2= zmIZl~4=kd*cDr|FAgg_fTwYrGTugY_vQmo1$(@^>_WHQZa5O`1w)XJZ=8~Ep;33qq zbh@V#B*n2deI4)>6+#&T6OgoOgl9DW+xFcBuu<6V8ZZAdLiv0P(m(1i3Om2}gs| z>Iz_uPHYvMZb?kp6i8?rUsa9Ak2$eP?1}Ivds;J5eAZ~;;lFbhA|pRKZI`E6$z!mQ z9%XZIC}-Q#qodz!cNS3!VN1amDTE>dx)Q>5wZb*)HJm{!WsfusYqR_z$}P3ae~$B| zR(GQz@Fy1WyJvB=uj_o;a{SidgFCe!oc$!b3-=C5wsz zuq@qsXDz0;#Dr!yzmjyvy#Hdn<3LRICBf>TbS~~WqL-M1 zX#v)>VB)DpIu);m9{dYr5Ovyy)G>PVW?=OD^9l)XweA6cE5V(z7GJY6b-^A9KJ9%D zsBB$93!6zqdT^gjS6smujK@was-`$i4jnv9oXuaF6)$*C!sE5d$gtH<04b{ABW21Q zH6h#-%oO^;$H_9iN$S*3aI`*IkAzh_`S7_S`)`xf2uMn?ve;U~l(O$z9GGt4F5b-u zI+VK!WkMICG_n) zJ*ik>CN-D+*rqe#T5N55W!>?Di1k?JI_i`shJqAcq@X&QG6UE;yMP?R@ikLc6GPNoJhWmSWET1C-Djv`c6pD**I;yOc->^KeQ0|W`E-!VWC^DT`pCQ z2kl1>dwYTiaL=W!D&E$geN1{>M6N38mxQ-hdj0+Tegq(hveoLK)}Qi$InZj-f`>l? z02bCg^!T$WLb-C558XHL zO$TPl32a@3BCVL;Se1#ZZrl^{_mGXKaDkJ@Z&g}x#E$aqM8z|Z6*}p9>9QHWqAbJs zL#w_u<7a(dvC(w345e%+biK@qOyy^hVJwg_3uY$?odODuD2zUyI z_JqbXL~xg9>#K`(|GO~g&yPb?mN-i(_E&H`fat3L$m)1l{@1bxNng68jRMU$1vcx@tv`{ZWhgjtb%|xs;09vy&;3gYl>h{r)@2ntZB>tct!& zu@fD&@dPXwVsM%>k-69se_vvx7y|TZ*>sr+1p^ASjDS{(%^|H=&d7kwNJF1mC`7Jc zmGV+~DLG9`H7kx9!O8nuH@H$H>a=+DEyJXY8QwTJt(y(J4vw=q7o++ZZdW#6^+jvF zZvD~9&-1y-e-Z)+QV`#-P~{YTrKm`yU|I%`WW@Zt@l7>0ZK`9d2M=F6dYdN#e{gGw zwf0@ti98ko*g^HL-6B((OM752g{!iB>?HADM$YKh?8XAOQj`D#!qc8a+kU$_e1Ea8 zPpwmxC)ojnuPxAOSUoMqE}?BxiM8oR6C+XlX6+Sv_69s zqCHG;Giex}=vS)*2_yu9vKYlBvyF2ViTlC(kbU*P4ld?+HIqlSHG8SW%JY(*>^}4F z^?1R3N%8n(=Gh%Xu5$mU1@MvdlsL$;iqV!g4)f6_e(SJS z(WBGXaAM3#w3HT(HnRy>SA;u3+qYlkgTh`V4|Rj6j@IQ*I6ZWCr8x0ouqO#|~G!FoAE;@}OD2G)sCgOeK+u>RqLgYR&`9!1~RO*E7OahQjBQ_%srsO5*8t{B*Zyc`_;PStE7olRE)fp zAI#vQJncOnEV7QnR5C5dqyz*$7vR72LwFBCr!B@HpDUU&PlB3ko1~X>bA53JgJUx=;@&{l4Kk1 zBvc~tp}=vkrc7<-I9apc6^5Ox^FmB>l4eRF>oU`aJ7mlRH!BQeN$dO9fCKFXiToe; zp52?Py=(Ye&klQx#0_^XXzTda9IqgYCU%k~=;!wJo{4j9{=xW>SSPF16mhuu+vRMn z8qo>|?ka)Q>c?+7`5ODa%6*bS--)@e-KToGmY?W46Gk{1{i);yYed}Ud|k#l+=c|# z@G(9A5h$h9&lN-wgY9x zyEF9|=cNQy^HK3HIa=o}Mp|W3`b6X)0EZUJcVn(;d)Ex&PiK?>$}RyAb4j)uy?|z4 z3$CfQsa1!@A+U4Exy{_VmNO{g*zg^Q~YS3RocX@J5xnV zW`(8rNiUhmDBV_2E6J&da{kGpTghnBLAciZogA5}o*SbJ!YGw1l}VAp)7g_YI`mSv zODu&*J&%`wjlmSen?#n^_92>_0^<{(Hn4)KL6n(X8a}yP@B8KH(eTloh|OsIaYGPE zC1>U94y_pHU%GaUC-VRO+mc8Z#6$YLbVvLiwaBbiUouOYLd$63l}OKd{sj$F~TBTvy{{X3{DVZX%;jXq<$ zO9h7*R8kyAK-})Np&3*C1#n6+2721ovdbnRLYZU@mz-NA!5Qfgg9_Vy=YR=&D6Mb` zP1_!=OjV|WxO~sQXPA+xM`9V{w(7C6#5g5=$Wo0oM(^FKov3ZutqXw-q3f!QpgvRN z`;oGLAO3*hoEOnZu#e7^sPn}X-=0><)m9<-x+zD2Imdyx>x8CKUTFJIV^+lQDHu7I zj1*3$`}pnapQ#_vP5CnohQM>vX*Ax>o`n2pGg-w8#t~(%3*DqK64}{tqX=(l9L?I( zxH};8arJdSro?11MF97q)=1ESSj^{ok*M9UTuhoUr80&X=YUEQ`v50({3?2Aafo$$yJYjoQA&C%0Zf9NV3Y?2Ebj&f0l20=YMqd5F*BbmA ztzDaMvlr<+IdDYE7Um{B2|AN025~4fXozNb5~p7~OB(W^1)>g*P^S>A8c~qgKUN!B ziX5n{X)bQjEw_P>0j=RUmM+qCP_xPrJ7*@;*;8i2{O(I`)YMr9 zT>SOb->vgg+mgmBn*7@+U^XV3eEhDkZQACeVzWw?%q5WS>~Fa4GCk6KPXC69N3a$6Lad2mj!b!Hl1YdB zAv%!^_`9ZT)f{2gD&LiVLgS(b@H;eXtCBj{bYGyuUHHNheHgLwD9Y5EJLE59@+n3> zUX^ykVgObWGl?P7OxAmjzfs-pX8IfrUsTcm8I7G=Y-bfc^?p3&B4$q{Gz!D9KG)+p z0RKZaK&mIjI&J3UMk@if=wqS|LpvmcF(Wre}Xb;ky5^Luu zLw7koPKSXir3(uD-5Nhb4|!CeSVap4zSd!p&znkTIX8z)El=>xEzQ>I;mS;3E~H$n zlVho9C3yCpX-1C(F^|D?mGqi4kaIM$hp#Kk(v^2pP1xoqgY3;I=qyj`bZmB&*kDUU&6B; znJpA1K?mO-)WxGFJ;ja@G^eeuIJVQmj(WeS&KKmz{C~efOY?{SfJ9%&wI{YhUzb#1 zvU{n^5y*MIIe&fhh3?#)X-YQUDlJ4&J;x)VKl)hYq4y^(#|;+D!1^$Xyhi`In14C- zlHCi56xbA)%3u(%p0Mz_g<4yi?7mFiGbruwmS0-MNM>Ra+V^!I`18W)J&^`xX1^68 zd4YP4_eL?y0T!olSAF=Cbj;@Kq~SlH;xX$+w8bTj(UQ|r?IBgIUsU$>5eGq*L*v3Q z?x42yBbSj>S_weqoJ>akwfv1;mv@`zoy9}EQo`);ajd%fkBFxkc7YJy1kh=zv6IsB z*lk=3P@nY;4r(P8;$_kNc<{RC$4ib8w;6YSO&zagS(3#*ggfkG%q_LMvXWN)vT6Cs z_6?j>+Fy-%u)=Y2iTDM8)7l6lWE+XGf~0`t#GScFIRHnj7S7QliD;4#x#Xv^@*HXW z*+(EM{^6J~&?p#_NzL@e6=|LFVkKL!`j)E>cf$5rEbhi0#Y{Qk1M;;`4zjDSy5}&Z zdv*5?;NU6Z7C0o2B448bo5=SE%WLsq*1zfJ0=xI-N__AB?!jkH+^+k)csQ#v;%1|0 zqiOPZIPC)t{I8LHClmFyGit3zoJKxdJ?AYP-(K^Tbn7pAGe|wzTH;kKk_vr?>B|?@ zGJ7CRZSL8{tg7o$|8z)sJ@P=1t?D2NJJi6LJPk+*|La~E$w)B5|j#)>0@vu;Q-hAH2j`ogL z-X+|?O~Tf%z=le1J@Le(aL+&EVJ6UTrqTJ|G*1DQ#>K+3{TAZJVjdD=pVxrf=M@fq zg^i7++%1(Hfk&w-yKb`TWy55qFVBvaiwsq@N5Mp?8q5K~&+Y5(=eDWYmWQEHN9>&R zMmyqX!XdZp)Av~RL2?lwFXa0yMO_#U1A{r-NT=296*3GJ z8KM3g!Nedj;gdEw?1QHxSvWL6bRj~#IoAiE%D=TPRKU$eR=&piPmDkhrzM7Zm=)+O zm7-J^2Z@Lxn4F_p?M0w$%TPU!j0UCMAc^QGavmQv&I+#abIb0#{CTpQHR#%g%~04w zniu1@qCwVb0rq+7e+N@!9C9$Zs>$EV#Lx(3QFv>Z1nD!bqkAJjgBd@^l58>lZ1&{@ z&eL7WkQkDY?I)Tcqhlxkz-GT~zV1o*dEt96@DPeeXQYnwV+g1GXfE(iwDO`riy_CB z;Tr&+zY7G?BvFSgL=L)<^6lcVH8y~8(fKBdOtL`5XDh%vQz~FoGJDG5X}gIN-NgKMD^gk%<`Tv-U!{TBDwbbbkH;bpR2VWfJFrTAWq`0W7)FFYr`hy z$a7Kcy4@l7I_ua%JY$OC7uTK})stX_5huQ5U>>~3Rp^)c4{)I=V_ue~r~LLeOIr}cUe7)gQ9g&Oq7>{40&N3{e60`dW+fF|8a(Vqk}pQ0VrVsl3}!? z9dPSkAy3_F_<%25A0x&7C$7`|4abujR$LNo!6+dY5iOTE@$|HNKfq8yT3P%>O@#ev z0!AY=1FIEd7M)ZM-vh9$Qz%!*l%HU_9hpQe_s2f$ro048l+QtsEj2&~y|P;maC0kz z6up0%>PY`rdPiGGIy_5_BGs+g6$beTwrlmDHbM2nu!c&@)|$!sP-QrG*-sK+rCRgg zhVW<|LMny3;+ZK%i1-#o-ygX%fN?JJP{Ob=>-*JLk7UUqjWe>_&);5BbuaLudl@L; zimyi`LG(~mTAlA?im-9m=(s?1k(T%+iWpIFxdMnRAhVuj&8aQPk?`Y3RXI<+RvS0e z;&!mmpUQmdiCRr{;{2~i@PxvIH=KE&R{iL>eEH-sWmPZajn-8n03ouFS)$ytPR5`F=sYabq_bTwJLu3R@8#qHa#ZNrT&iz)xt1n zv{6A0l2z-#1ymgzb#NT;jGewh(W`n;7W?qQy8jlpTj|&n_PO!DK(&Ts5J!nntoV<> zVM;U-IFqzj-3IW-jJb)Af#OyQZ1P@kU1Odr>|SHRE~8zHFBB8HI|B@VO+wZIyT2qT z2xE@ULXq zhx@1{9-|QnprM-n46;ZjfpE5jBzBc)I4Z{~42URKoIk!A$5`b_Igq366P1RUD2+7$ z`}9Rx`tU`yCb!ZKfCG9?2yD)FHmsiaWfZGnpQI1-6M^*{#%eMdDiiouN>;V7}!9aP=H8s*1&(P^B6MF7` z?m;g7|H%fxn)by*YaOuPlzSATnxFuxCj`OK>$lLgKL68`4#1-L#sq1Iba13L%QX`ftSm{OWZLF-Z;z_&)^f&m_R8z$Eh9@b$LTf9vIf z5^erbxbvt#E0bctXJB&_gEXXKB~Zmimd@%w_mqqfxhOclcL-Z~Zqtrp9A0A+;FweA z&UpiDp$~WLa2J%16eC-<4eV9Ar>uWDK*ZruGg{vt#!~5RaVGWa*tNqVOr3Q?6+Li2 z>-AMhrTe5*VF?IA5Z<9l4-pv>fj&zDkC(oj%Lm#HvhrGi9f{%=bFPX;djYzXzgwb} zUIWC@Kv-WY+Ew56UDZ1iCfz+pfb7jW&ht3pA#x0{QKh0mgMz!L?IKZBLyKSV79k)j zLl170|FkG~pE05~o+e!}DfXSk217g$z%!Ep?v8iv06;!b%C#8x9{x!BI+Xsd(2>Cg zI8nUKQ|M3}#h((Dp4^7Drw|6AB~~K@JM8y;1=hdMgaN!sFHq3WU12J3z`&D526g`; zja4?2#5TtXEq*6e$zAb-JIhQz?CcsT#W!`k0m*rU8U*Sb@lD++eDLw(JMHw z7Uv%tsxzR$Uv`QYcsqH|__;EA6|fB(sRHvO!cR-?`~znCc=`_dl5+czwEE$Xc>+~< zxvqytB(EAvIVTD-K2}~Dmdqs4jV7uF{h>EZ-ngGa`rX`RL}%Q2WfhLypT3ez_$QWr zjZ`5Qdhol>cBra^_1$*e0mjzfPfxrR{!VsLKueKpucwP$5WuR=mRkV9+9jSs~ zY;GrhRCbFxn*R{-wgEdJZwN?L(`o5Y&{rl5`rdD%8eFJ%D;VuWxrz&y$>XWGF)E74 z6FLBAbJy%CaJsNc4=S@2406JD4K(?iwfH}56WqLfVR_M#Sd&`}%LyI{?JxcUU^bak zIOaG!v_Ws#No8MkkXV)jpm`z`hFsSK7~x>g=WG!l)KECX6#39>Q~ddP9yzsPXT}3+ zz;B-L%r89I_fp#nHISg3_c#FDC8mAH*T#| z#$J~8;G9$NHvcJRwCV>PMg#U}$bIb{p6w|2#-4xb$I8|EhqTy?zAB>?&s#uCRIqaF zy7R$>nw&IHnTR=^3$JNR z@gFeuwv31-+G66vn{o{r_6*Z(j|n(E3KlOy`wl>vtHz33sPq#wG3Zq|af+r{9?M^C zn_j(0AP0D?n>>LxDmbyt8s!NMr|({*QatzsoBhL+R$kf@fjOeo0LmaWatnH!A)tLc zT5y2KF)9+>L(nRH+YRRvtC54wiFf%xf8L~yK~~abe5miuVAkx{MLG=)Sq`Nd%*3e= zJk{37*Qc_I8GViyAK8gOhYm$b^OB)!fLlC!n&-(xLpb}}ZGsP@@DHwlE+B95)#3lq z?}Ft%Q3e}y0K^0B%-160IRs7zB^FQRq(-mHB`+&m)Jf8aP?vGg>!h1*AJ30Yz@HKp zLj*~_Z?X^^8{Tza1lHij=^8NlDJ>b8#x|?c1nc$0T0vlAk;~4u15D^SeY;!hFS76`9rVxQz zfHgLgrf({i6f`Ffl5nV~$ejOwG@WHwR9)M!XBfIWq-&(5LqJBPyQQUDq#GPUy1ToS zkS+xVkOpaKM7moL3BNt}^M3z1fZ4P5TGzVbJcUco`;alI87fQTHe8Dn4Sx7_Ez0nLfY)i}n_P6iGsGZMZ6x?mX;9X^nz;{EFVqB71@p;TrN_VJ0w zY3EJX%l&EY!eeh>{V3O$>j+xk0WyPZt1~2pmxI$V>!k^kJe^vMd^-zpRJ+Q;Eo6ss zBbbOkEXf9u{~}vebNiH?;lP(q4K(X)w&jN;9f|a(@|9|>RyK--Rhf9kIbN5hs43ls ziGoJ*i4QnJ?*Z!mZwtTz_#V>opGE{E8XuS?UFu^A^?6+ zghlok%Hw;E^tgIo^46d7Fv8MLZaEk)0En)bLH(cR&w#g@ja!FcEMH^?0QT}Pk<_~swp*Z;LK$n}{bkP2QeF))+sbD^S{eBz z>Y);j<=aOK4!I%>{s8ELcluvQj!#HX01uhcCmzMl?(feJNdXv`Wq~1a1g$VC+csOM zF6u!!o@9NoN4?@6z>@z9&AkT7_|nBH(diRG*NyM~u5Bp%jzR)d^nq@Gjwtsf5v*jz zFLebY1U!k>ul%|U@1^sb{cf^1?R$J!nk1ApS6HYR?DC{O=18#J6U=g5GtyKifXM0tTOfftEK1Q+*Dh1yKf6i_@t2~sKx$Q zm8BzZp*`UZ5~2Q&sIa$0cpcZ|ZS$O#LKltwf9p9H;2qjmmoaTSrQ^N;cv%r3`Sd+9 z_vg22U+iD0S2M`@(6bJF5=0Fju8DH9?p^rG-Es+ZwQ#CLr@0)L8(?0*^>9?(Rwe>= z1lVmfOf!*WH3w}g{R(HIls8mbv*Rs;U69})#zF}JX*42-;Nhxw(oif@DX2C1`bPh1 z%$&6R-w)a}t->h8m$l7545R88SoLJFTzg_^xAviSZhIOqJ}Wxe)Wg_}=BXEn{L+4e z(EO>=6KUT>uK2w1pY(qxBi3Z%nFI9R1pWrb+U4B3oJVvw{jiWHTH!pV#u?QF5-)c3 zb&CdAnTE13Pu=)LTD1_WP4trjaaa$SCaU^bbu4RatQ4#vFUD1zwlSr1-H!|}q z0toA);r-CXe3==E$E|OG>sKB-f$cT;(DNVn2$4kE_KN>%yr`)=CT7VNyDkxaa0ttA zwCwq#N`5}TFc(WY$E|0C&c{sGO})Tf3F?c19$g|KMCLNR@N0k_GmIyjivvzpubSRk zPOdlIOK@9%^QV_0S&7fBTF^TmfX)IhK>(`6uA1ntuu|cSu^&DFgA&+rg=PSthG}*8 z<6m|n3Hfm1j)8@j%tWGdoSY`<|32TV@d(F%17@U;9UfXP+>5lYt-mv$KVur9k^L2M z;lFL0Aob|u2AW$gzYrOsmNl##+D@ptb~c^iOfl?xlI0@J0k**TwXoV!^i(gAY2$ds zc+Lqxx$-=oMM#xeWkBbECwPa1jMW2_CkkYz);zBWUpEkGYS~;l>`1Qx7LOT7i2OZC z!5^9N7Bfd=|3zwU>k?|GV_qaJ28yKgI&kvx{0~MlRJQ(N(kL zW$qcdUl2@EidRC*z)f*l7G|v-!^QFMdv9UZamQQ*K(3s`LzS52_Sn`XDwfYHc6x4| zg>l2MfV}1RK18FM0PHi2BE_k24or=5C!nIozEwfqeqsv+Ulg=mt3>L=lVpr$FJdr- zA0#nNd5%=pu$ig+y%6{*S}2_uO#kxf%1}LEoXiOs98?x1z8EZxG#o8O2-mj$?;`rla@-It?5M9+sn-Ot`-V5MF7uf1} z*K6miR+=({DYbDHmFfn#s`$KqV>gwbg{+0t^ga#6n?=`p@2`RU3iG3=Dm<*!3b#BQ zna-3b3dFAzGwLelRESNdSvjbe(>ZlKN>uA7U}lqqiQlxh=|^~+8Z$6T0!WV2zaHz+ zb9-@jthNqK*7dxCqiB%PeIg@?_WMRtE+!fG|9b&?A-;?eX{F7+C{trEd=$gN(=IJF zO@?zqWPS-*)V}>Cf6=KinJJ;@;>ZtEWqwa+5uUr){4Qi$M2AOO_Ww>%G*qrqQT58& z@h_78mfyv(ZCm~Y4sj62+}pUFZztw7M3*hurYU8(*~NE{8;Q9zIFzl4OIQ53AvHPq zFmihMQ2zC;uedvo1F;pBMXzy4B7+e$Ys3~WsM)0ofQnWZi@tRF6PV@0@$Ylsl4iS! zFZILA4mE*s!FPVQZx?kuN`ows0uQFvzq-?bl~H7_mK*zoL}End&C3Q+tiUh_&9J#+ zmLm75dn@!aI-aXDCV5(*LzZHvY__-SKj2c{#&8B?*UF>8CvRg6&$G$1(K8LXe7ozD z8bd#Yhp;;F5+#PltQcp;yQmk5^!g`SAWaM@siGM&wR53fH|E4zU0&{X34B<-#gbVb zu1;bmY&uAy)7JjEk(-T-`W6%A*dgbC3W;Mzggf_9l5`r0AaP<#gylU4p;^$9ja8&gE&2d0#%XRS8Nbj$zcjsU`!j_;7w$P3?(EQ|j& z@qK4z_(`oLOKfC5V4f#$20ZB~^lkN`144P-(JdiYKE-%er^+|bF4cRgTaoat^rVEG zGaPr~?5$HEkB~}KxW!*DEn%oJBF;E$tH$+wFEAtQ6u?rci=~nqyY#$#ccR~#5HYKa zsrH4VQtimHT3y=XeXSJYyg>g&@JzdnhQM$g#1Qge#va?e!K7T4cOZ ztxm+nCi(-kgPI_PFhc4J%FjAeH$=AWG`v2(fyU2a?MSysMZyc>Q1Y0QpBbQFc0#cI#DWc?Pti?-EivSfJrvR4Me96iZ8LH$ya&(m3-%>ux34^KOAp zi_AYhOJ?ab>GtJEI4PT&dq$_%+op<>R;^!94&dI}+##71;)e8JPY^l~WATEcVgL zGV}*$igZ4R4i0$iye6|Lj{gf>kfT263UjluNE?!{lC+-(0QJOdV`vRvVZ8LdU}pb(NcVa} z^8b)cPs#l{Yfz3(X2y8##*9Hv!onUA3V{6 zfiQr}%IZ0Jj==;==KX+3SCSHMARvM}#q~2;1BNu0YThHq2r?4LzYw7Mg~Fp!07(PT zbePP5jj;s4xRZ}svrvmW?XB%zHAN=^fUwTiyf`u({}zK7%xYuJ@;ZA#QlW=6Jv+ovhoe9O=rijF#%W%w zWDBwrDF7j~9E`3AczdDj&8Y#NFCXW6TQp*pXv`C4?H3K z>+Dlo);|t0pp^_2CGQnHMPQenjI18ek$5=oT7IplXVTkxhh*Do8_Ws;9!fT~JHRxd zryu)CglA0-qrFy*aNc{3akOWo3;|p8D^f zLvdG}Wp$FP92)EXMyyPV+)_uVbxgIy(Kmtsd|Isa}wX~uC?U?6|5Oy>|&2+Q=bB`>@^&SX;$v95hy>5Vi zv-Au&`T-vRV`1h<8IU&_Ai2fYRmRPsM6r~uHU@G7?CH3QfYnQ01-G5<;VuyhehM)Myh zi%yF-pq|6wg@4Da!u!>QzrD)RsB4ptTtM$h2BuWAB+f*75np~Xg9CO2y7Pdv|4i7# zKLE}eFOdZ-r!|b%1`ir=6B6L{czE2+7)k-^Jv># zJ9AH)thZNc3;NySeGQB{P|*KDV64F$(hH;>c}Q|@PgN{-b~V-tY;{iDq5PNb70D80 z2b@o3Z?j$>zU$_G|JvDG0EoRH6Dsj~{%SpCSrg{@cao;By{}rHpa3OzHKt9;Q=&|B zl2>Nckz_}${I$?`eLBRtKWt1nl56DV5};mU-#$ZvzcZT=g^^L91mjVx$@Tww;k2cC z65#09Do>)0LmKljDBbteBw#9?OnhRnHI0OUgzvgbAc6jP?QEx&n6dgTimR>B3_&ruSTmI}j`U5aou@DsiexSRR6w!bRA{P^+9*~`W z0a@_!SmSQv{wi6J*&mP<$@%Q+@MAMa_bBQs-#1y9m9pqoZvFZrVgdlCQ3Z-h2+Nns zDji0RJM6qSxcz7I_`Q34+2*26MIn9JByOnYnyZPv;LB(J7Hf;=|4eSzA_GQ#&UXlp z3=S=Cb?K}0>9Dagc>*aR0$q)YcMXgS1-(4L8RV^%4YV}2YwiSu>^cEYSwE}IV(kNS zrXYT3QY@#ka`rd`xGMsXTM1QU0zJF!(yJ=95lQ#%Ul672rxFV8kD5LM_7*B|${H|k zBAB)-cRxDa{lm~vDDNuMVH+T+Da4~3P^4^m9U;96cP|qeG@AN4mmGYw#0TSl;zCi7 z7`;#5El$i`JE!ER%SPV1s^ae4IyCD7vjYJ@TGh5xR%p7kD(aSk+gpwogOLMWHOGgIV$1O#R*tKP>f2Q*h*KOE`F;4A!tH0~<(0L2Z@ z{dMuNiS#;hW=!q*e(45q(^i|09MOWdjc4AC3bg>~(24-=nrsJ9B&|~F!}aoKePDAj zT9tK@>c!OH*U&Wx@Qtt1s|+z(aAAVOkRuW)8?hmZbBd)@Lan^3b?1ORxBK3jX_?K5 zNTfCfAibBcl5PJf7Fm%L!62e#q}juH^GBNL2QdC;2K3Gl!~)b?!4E7$t^8cj^ID9& zs5nIzATKq9>7$@+h%81a&mXIaAEzooJAwwMaP^^e`BIu8zBHfV1A*lJ36Woss#Pwd zHk#iG%q7^`**XpSrgpwD+08&vgv$FZDc} z4c9v(i38wt+jsl~#^ArFn&tH|a}lyJ7fvF8=aS#s`T>*aCvbf4fb72!ojDcSB)?Md z(WoR@7XM`_U!8cK^dfoh{F{P;2(A|}6wdO|8{ab8XV+ZRadS~FjRQGd$igjGn)x+} zBEh{ukag|DYkl4rb09YQ#0c94{ExO}vIL9by4y7FW16iFTOvl>7?D`wfy4WCa{b2zv8QPmuiqDX^3MDYN6 z?_ZP0q?M4b^b?-#5=nMDv_EpqYnXYxzF|ks9;S08QkZc4s>@WYOU_W{X}78e&Ix?w z#*#eC5YTk8^oRMC2iEgnfU++?`HfuG1e4-kS|iCQhb92t)xZNQKKTf#METZMmH)el zAh42$FKP@aEzk<^z(2GP<9Swk;B)fYp#ezTQlaWZN)sA6v0u^((_m`!X)+AeFq*%u z7;PlLz@8e>BU%9N?%22K#!@s^Kr07)dUUpmv@U6=rPEz9{Tp_|Ix@4K${F$S{%95J zPvGw+sk1=5_wz1EGVE4tim$1nl{7yB*+VT&4)!Oq(}liFWk$7HGSe=~N}-HOkSOCV zrVmQ_=vZW}8yD|Q>0e0QwTfR}t={D}=kH4F-bvaPbl%t=?>DX;cCHiY9o58XFtAEZW-p>Rf4hFk?l?n;xuYK&v{ysq0HQ6-BiVcBSMxmMJiCN9tfdCCqnZrE7{XYbfRt!%2jF3HH820-TGp0%rCBL?WjH zv&)i(!WSl{3aNT=9n7Hy02(Aq; zakcTdfD`8-k)8h)sl%XruT9URUpL_m%*oPwOukgKL?bEFwoh;;I8)@!cvN55l7#I_ z-=LkU3chXcv}))(I0mo2!8C?wm5?^C4StIEuV6`gk&ADR^voW%#nh`aU%|Dkr2kC# z{Q#MtW;Wby8DiH7F^5P1k#)1p=f(@p#ej#Pb0P&xMl z#W*Tv>1}WUv3SbH$oJxFQx7p##-+ygS&Lm2p3vK8`(6((jaX8DflJ zNleF2*)rDmDWoS*fV~5X4EsT4sJu>pCF_8Aw5--VJ`i*9+WV_5xjqoR1x5qIg^a2W z8WlMf4zzp_%v0io7<^_`F}Io40+jY=fc9WNAeHs~?dY5Q4mlaQlDm3x27fc6TRcNA z@Au;u#6X-5Bd*ZJ#vWP$;JeX4;<&0z4yDivDEF$zvi0bQ>%O;^%?~t$M~uf|ARPoA zr%uV=jTW`9o?io>Z3D=z#axfNyJP?UItNH5x)DADqL?@YxEo*HrYpZRrfIvA8#U87}&T4OBKEDc1;K2t^x7|BO0s z23Wvk$OLCSV8)X3Z=oYV{m0&;vGMXUO4J^BMtK-@oSx}g9VKr?{A#h(n`s-f?PA$L zUt_g7>tAl9U6D80Ia^#m$yC-?x7X2LZav&W)z?f94xW|K{?WGPcSt5r>#4)&LQwS? zqprc;3h9RZy*j+mXy^|=K|g+0uf5>p1Gizask-HWA#0d9alr&)BUxyA8r9avDlQ)U z_FCP}tT2all|*E6oKZdakFQUm6al6KFLz{}h04B5BXA)hP4FGF{A)B7`z$Uy?pGu5 zZhhzco#~n}c68P(Hmh5ut?V{>4_wSuQKqDBht;)&?JM%Ulom@HhLt#H5DY2SpK4Qv znzHSW(xJ`z!aD@OJo@F*{d8QR$PXDvDp=d|y&(`pXN!jEC~^0cP|pED`pOXBSg+bY zWPQZ+s+gk8*?fsR;sXZyIh@B$DRVWV&t?!pT;7!REoULhd{vUS5rI7qGdl%NBo-^> z(?WI|i?4vb^J&Ko&|fpP5c^vDp7!omonQrs0sE1~$I?ys@dxa9->KQLb7Oj=;Lo^( zCQs%)7M%Rx8a3&|hJ_qej%7v3lA-J%W5!-J#66(;84VaCtNH$)UG{|sa4(Qld4>B5 zn|G-ci$9L)4mV($bswqowm24?WAUoP1j4(S&=&3Vz?Hk% ztKT@JVC~j5KS%5aEAl>@2?#1It=s}^R{Ry%g1N{Itdd%e(~!xK4P@62;1zhsY7@QN z1B_FTu~5c+u)pv}fH6wl4*~tnX#oD5*igG%N!3aDW@by*f(g=$sKi2PJ9CT#<<|p7 zQ*u?CRZ;Yjtau8N>+E_QKx}Ek=50Kqon03JBw8b|xv0zHpi9`jHb%-yWoThR*ao%!xKIB8#4Ad0Rk6NEbJ%jpiFCS*zx80M)Ks`W;Qif+ z`@G!ljvO`Tr=IZoOOM=_=&wm=31$-@<)0o|iSOGd0(tfqLG2@kg53aPm)H)l5ixPw z1uieIr5ldlIE2ZhfjIWxUNkOSEz9K4_a5wn=fN&yb;RU!lmn2Hv}eA<%32}ZPF@m) zP74C@b}xkAdNdvd9N9k6|Mi5*n}lf_4_cwx@VfIr*M38l6CFmX_nrW=P~~sV4-4&K zntDSW*gQ^)j#RMBL&Dg~31c40wl3Rmz-4l`>t$Ud1}GK-zaydW%1k;T^zzI0ku~V9kyU zyu1IPD;+xETKHj0;Lz{b@lDS2YE1qW2=^&fH5vOj`yFl=a0-3VHpn1`TJ%_d0X9ow z{Y@WnJ>1C|!8{H`^oflw(Y9%VE0;(R0o(12uM(Cyuo5Ta7C15jscM1mQ4}U)Fh*~w2J55?NDLKIrBuYI3sptQ$wq^Y*boTT24Iu9b%6DhGK1{W2 zIJ^Y%Qo`WYCOr^(7sd)VU}WAGd5%uhsT-v8S|BJ((-K_Q#sgvuYaB&i&<6%DX8xpN z<^eUDz*`YYMZmf| zC*d+$ubqvy(&N_SRg^IEDa`(U?KBVvP6jfYS?KCasJm5u9s#5)f3u-EJQn3%68Ut2 za>sRhfsHj@iov8o?lJ?4Gn8<-2RuWjWflej%@h*{L+=#e4#1;YdMw4aR(C=NZvk+D z*Nc<&*7DZkgCD6aigAaAvqnz*jS^TRUz^Jowc}X$@fDA>3pqU-CFsBnR^BGihpAGu zkgiX4Cw`##_TdAD4??WAvz?3REx`>ZC`PXnL~bz+qwJl|hbWoBQBh2}iPLID3+nVz z3qYg?#!o;rJ!gooU>z%1Z`(@D-Y6xf0QtmQE~3?tRFrmguu*X80tf5~x><46h5!P$ z4|fsBZqBsS8NnHo$r17L5*tKVEMWW+gyn=8x){1H^UiTszJTw2?DKyMgD+YVkKLb* z4JUBcwlN)(z-@9Ta$HR%^@WtV>SZj>RZ#SQ&5sd3*=-wWcHVAUuuX9$Ix&Vu(mvtb zeBRL5XbNlIRmxk8Z*&*ju_+zFW@WDvWTnj}7f|nY1m0p7{!gdC6;=l+#`_r5p$NUR zVTv;3I%D;q{ILds&hdXh;Pr4iltghqX~AlYYDRd`q^u&v;Al8kirKRVsUoUlR%27Y z{A+4b7yk^&zew)T8?GeTCf&mnmU|oa#=14f3#fC49<^O=0t!NJpjv4ZyQEv+h3=0K zDs|ch;zZRHqcW)w&unH8c?yl-+j+Wid=N?=;Y-PK3>Xy~NT$-i@Pp>YVma4fpn;i# z(@6=xZNu5Opg?)cF#+RYymaF)cdd7nE^_e1r(yYbP1;sJ;k0=tu5fDb3m4Nbw+-Oh z)DyO6H(!<`HYXate{!BhfP8iCQXQ&Z5cKJnuYanl3ye!Rlj8M!&jG=A)seZ>| z^8gERa|I%6FFKW8cw)Tz>gOB9KTIurxfqc}oaWU6Y*H(joAav@@FE43wZ`$45Ec6E7Lo!QY9f~agi2kWrsSyRv%Q(37F7CD(Fqm-q)g1dCZeU$B6ch;W{TzTJDl5uI zU4y!4RcIiRBAL#PPN-UZU$y+G)16^X`ey_aq87)^C82Q*Kg1p?#H&~25k^ZgI#M>n zDWruR8H<43x^PtNlgvac>;)Moi$jZb=0#J7+idKMrgF{opCTx532})QbPJ zqe0FFr(rfATGB$yby-5}Hhb3Zcq}`wwsp4Elv{wQZ!gg4>T6!Ry^cv0*HhHw4k-?U zUcm+eSZ2BX7wc}6(KO}r2zs`}A4m z2l4;8PW+9Mi*>(jy`VCrnZt)ZLfWblC=*CGtJ0=9rCJ^jG+E#3 z%_#d%zHD9I_vWu^;g0z+%qyL`=m81y0{o^drCH(_!~8gMr~!cE9RYhqSU1EpL;LI1 zA!!@v6F=_;^z_NVHAn$ASD&cDw$FiScSHe7;|X;%xpr?|^`f>b7Qyvt*2I(Vgld zlxD4jfi4>M-~0 zO37F0?GnFS74|}$fXd5PnV9(?GNG<)1GE=DQ>;X0Q*X}1;RGbGJwL{o54CE8^1OxA z;kZsu8{cH%p~_I_ITox=)S-NE()l<;yp~PXZ z;A%-Glro2k&HM99lu^+C?*&Mcz0~6W7TJU1wR-5s-koR+F0=}kb7H_H0e`R^GDc1G zlu!eK%Q8mBC4S18do&;g#U2wowhSG_Er2+(sUD;w-t8j?L3f*mJ11YxyN_o2lSQ5G zcq5q0=j#yB4`si%+92+pT-wA>lgyn<#@J(oy_YLA1Eqj(PV@L(_hFHc^$R_U@bvaN z$F)YAT&}912hvgXH3-t^V_{)Y4smX_Jh96BOT27w>U7~R(aw!tcR}!GM!&U_4V;HJuUEjaQ!yy0?MsS_F%`Oy5 z7xg|rEu~P;ry#d?E;X&hW_i%ljv!vmPljxr@l&3=vS+PJ;L3SVl}on~$za_Od$S>4 zs6B(i_5Ha-GF!u%LHlmIbG<&iP^kb;wu9SYtZ2v9Pdi(u<(b*buYoUGX&`^XvXgz* zZOczckuoRXGmQmTJZQr^Xf+S27{fQ4`}oy0^Y_i2(ct2};%%vz>%x&Aj99n2dUoM~ zx~fro`Xv_&mK)GWuhKaK>}-RKa;+Kra^q>o4%tN^judbCxp6{j2!*>b7|QIb8airJ z#8p#;Jy$Yu5f~&y!C2&&iLVmz7xt|5`6~Y)2pQr%F`ZPBRjw~zX%+sgkz|8MOcsH_ ziA>6%)R*>14|V}uP((1B7esB@*gf`b_T48HlD!6gu%Pd*q^tNwG>nQ1Yu5Y4P^#~h zV>QX$lDe{+8K%a!uARV(&1+hau9VBNGUJ$+E z1|(dHmV<2vwRXbci7y>iyLYq`Y#A6KKEe_``%)RXYvLY48<3>r@rSYL7f56~H?vBnZg**nC^&zoR2O<>d}`$M{(=q>DUy*PK`x+Z*COB)=&I5B$Nr*( z@_`(pe;c8WmVqKn#bJ%n$8c97rP5hL)Q7?md1CVVIC4#nKfi2t0;ksGUY~YRV=E1m zHB>nzpCYda6=qvj%z?z=*%gt>$+e|qxnzeGj$r@E({9=IrYlr(S}_Lst}caU+oAkb zk(pey#V_Ca} zF3?VDI9lPKgj%@eEbc{X0Ah&U9cVHF zah5T24P6xuvbk(JW@GWMBI-FVR9o#WDR&=H$W}mZs)Zc^z43HMD0qXkeZ6A93{S3> z&1O$ODk~Hl9?S(>aCq--WW64CiK%L+C+(%yLJ7A`whCFSk+ehCb8CHC7~;kRid0OG z5aA~I9oORcPx6WfxWBS+$x;vW8SKY2P!qf(2&8(tQMs6^;0xzu)^=tQ2gX^Q_%!YtRx`Ms3IIFSZfCcfe*~DL?b(KW{XS#j1{4bTuryHgCnb>QE*V zGtcfZL=_r9gDf@;?C%Gv!EK5fiaOQ;^o80iR9o(M`1-tqiHP2E?GUFIn+B_DIQW(o z6tt~luyixNpTC$D8DoE%QV9TGEEWAY(JsGS&0&weN7F@?D~jTnm=pEP;Dw+^s*rLn z`zlwX9%^NPC7nb2#bdTe)*GJ$?)(=1Sb%~u;caDX|J|8!~pu=33 z+MEJqP)pSx-kZWS>qjX&UuW&F#!?B|{zczLqvocUGc2reNxk>+D&h)G)DSRO-OA6-(pe4IV)^)4X)(HN&M_du;h>5c@+k_*K|0TpHRM;y!!m^z8|sv{l{_Cj@12 zex-Mz?`LRN4vLTIQzc$#EEb|T2KfC01}v=wKT2W5DNHHcu@tdfci0mA?Wp;pMoO!1&jK8Pzr~3rwKW_b=WJDOq1w_QlB;n0R zGj%#nC2{KMK{Zfknfi-&_$dPzf%sCmcDW{CNY!C2Su)~>os4n~X24+MZ3Pi#c`HAH zFjzcTo=cR7+xKj{dQ7`sI%R~p1udbwe0*~#`x9?L#!-O@!wzo`WsBEx+;x1<{q46 zSmnJV?5-)m$R%lato-xs_Zy)bt_!re9opa2<7fV)2&LhOL=h3Q;KC?dlJQWOSxx$Q zD63Nw-OyXHFEzU9y;fRT(XpWyc}_pT>%o6+rs-x;n=+;a57D4a(xLS)0y4xgJ(u2_ zg&hfZxO$poT`a%7zx5v@hQ*EH7FHRlaP>1G$c&As%{80 z4q45j&X(d`4qe3KJ?R)TBoT~)zk%BC{eWr#k^f7HLSqes;zAZK3EoN!)Zt955PR!V zYlz3pjq6X(?t#eCak#Ll_vkuWxY_Shy#j;s`*tmH*efzrb_i3=V>+;sozMz>OtW73 z*lfRke1nzt(}r8bU24Mq68tPy8#lr{m@HV_iwF#4Rdq#b0*qP9B;M^;fz4SY>zvUZ zh*|S@5nx3EE-mgsKC3vB3;F4a6mnzd-^+@F;Hm2R}GasXQtQk$my$}Nk(M;BMy1PzP{qiX>g@XOD^L|i3YM3xIT z$HSeL=8H*Tl0K z`9N8Kk*W>WMHP_ofr!!;e6H{ur!+-jBKiG1Yg(~d7+g|lyv|%z6XvD?(pk4OY05(t z*FC%r6#q9VK(f+KE=~o933nAdP?)j*B!#7oY9D%3AK~z6Y|gWz55dc@Gzim)u0cr zw|HX*7wx*=U&ww6fi;}B^P9sUGxmf&hbuQmv8lQJ1HJ1{ai{gtJr9=bd(4&UfiGns zp;-K?g;E#kw1#L^QfbZIN!K>OfP4VkBNh!U56NUhucs3iHqOJiL0@u?F!yPoG2?DWEv=B2uG zD0WXmh%57Od6yJ_;<=Q59T(%7n)-w$6l@FQs>$)4o{yT01=uC9C>PM=ywNK#Fb2#eE!GDUY*ce20hGSsq!Uv_fH|H?WM zpJ;cRueQIm0&%7>eWv@Ga@G#-J+o*O8K`0~2| zFQ2I-17RXs#$t8MHe$S#GsbpVB*llJ7>iotgL8yg?Q7-}`>#!OhW64Pccw5FL`pDo zS61A*r*qM#EosE7zM^Wz4^v5KqiN(gGH9vL{GbBy^li_PV%t@$4t1%AeRXX&dFV<# zhxfyt=l!NJzGcs!x@T64p3kSw!J%jiA$aiijkabK>9Km$eQRh$ls{+UE06&?ui=Bq zW9;{+O_S`0CXvyvjo!PHlm4=&jC+ zzgZNA?y@hxT-Nanmg=T)xP~G#<7GgV)(-atp*ue72vllC=Ub0Eq@!kZ5|)5H>u)4r z+si$%$7FISYqsJqTJ4)bdWJNMb9zSHlHca!Yz!@D)Ih-*5h+-5t<{Dz z1LSwqbeWz6lN!mg6iq`O+dQa^CmEFQy$K3`&6p9c&-c$->H*{o+J<|^gJB8zV9iB6xjVS<0B;#=ld=j#>%tByq3(khP%?p{^=e8Y z776Cbp+mfd8sdQ>WqhDiB(>wX_>#I$-j*KV)~fvD-Td_EmD>?mRo$S3q8eJyKf#8(So;+;$23B5;Wbc}o$Vm=Nm915c6d7Dd$IPA2T2<)kUfPFDgTsG;o9gjdmFEuisUmE};=;{CdQI==Civm3 zLRSc~mqDB*6rsLmZZ%e@>nIEY?bq2>h{cJ8gEp>J(j%PR;D&6VqAitn=kev#67H)u zi>E*Q0v(m@#?5(t|DJA(21Mw~9`nSreV*Y?z+v^p{K-blvlsMi5<@}#@3Qy7X@r@n zgS6hp%Hs_Z9Hpo?)T_1RCLU9_O)tPa$xrh;J3ZLn7FVF?+q=%HY^X%5zz-J0isngF z(IG;MVd!aMP92hkbo#0#Toq$%&{qo{{xHdFBuhU;qWKEg2At_CIqO2^818BxICzVk z*zQ0St1`SanbRcFc^=%UC1#$fqn=!l1q3c1)vPC)Lg;jEaH8{1Bl+@QMiJe?SPRTo zqt7)i;1y5o`iesJVZ-(?HOXZrrY@N-m!~+&z0KciL+E4o9EV63I6zAy9;nw6M+)56KoF^F31<)^Azr3veD zLFJ1QuJm{K7RCcs?~&M%khXWL9jMj}xGu9*Q`NkDB6QZ822yCDA6|sv?p9~>)0@0@ z+r`}lmtbwI(8*9k>MR0p19EhK4zxwwz+nrLt)B>l?z1iNR4?HE(P1Ah)W$~L94{sC zC*DoSPk3y#>LYA{q4d|KyP$e6P}jQ>Hk0K-aF z^@{eLfl*4G-t5&rwQp=B2Jex^GwZGWmrVyj#QE3+Rs=reAl!p=PZoy?8n)96GhS~j zeqYE7-fht^2CQ|WI4d~$ItFi+#@mywq+qf|fhSN(awToJP%V`c1w!e|sp=z$UMacG zvH@%j;zV{PjFKD{hTGs zc=pE05}pE!jv$Rik%yxaEi{H1fIO54{pBG-V+%`d#|a;3%5lfc+>jj|6dQTgu`gPY z){SQ=sP{E|A6szjdb4$A6Fgt`8goZ|f{)gNWyF^SkL5S-cJPsI%28h(vFEa0I%M zVxTwY`NZOdTx?4U25N7|!j@KQhffSIw;p!zg3~t!w2TqAv{AcD4ovUQeF2Ca!Z4JS zU?PO9MN)ez8{|p;wgE25s4@ayrRW3b%dYqL3i;d>+&eyc8jZJ^xrar zN&ah8$qcRSe;GV$-a?DK^R9fBq)#iE;pdELT{hY{TTtzC|Gs7G&y$j7oQZq~$2HT? zyqGd8HILqXB9bWSgefQpe{t5?DF5qOd$SxiqpB$P<0soO;kxM(#`oV{gV%$b!PQGV zC8+|pn~Pf2&BJtrb&eAsf3&NW&xVuBpHwH^;8oW5;fu3)VWCG_qvkt&joRF9nOY0x zQDX82NII#ijXbf0FU4R{g)BCh$JlUeVTFp*w8bfHuuJM_5HRguJ==-VZ!qw^%M1)Q zYSL=qVyM)O(Ph9fvjuPj>LhAhaXqe&NAR{9O!?+H1TXv~>1xvbuLEs=|t_4p~`3p8|)=JdaUx z<(u>LC$9WK3-X-II}|hTtM8~7j|EV6zQt8p7s0(_Ckh?_h@)S~b%_;kAb*?%W`}wX zTHW-o$d0H=+LVV+Id;ZUPm9y120{#%)SM~{e)l)HAA(V$p(l11C=h9lhWaUUbLWIn z<98+uPX+d$W3+v=1g@hxlJIO!yE0eJr;xCr^;TkY=nB@?y4c;UD5@SE7#254UWgkk zyL;wh>YM6t{DcRcxe|Bei{0r3=bw(x*b#$r!{MGF4?ax~sexLM4){qOQ7yp1LalB( z#4T>2aVchP^csir98r!@sDuLmE|xUeMfsPp6TCJ}uRo`l8xsD-IEbI&72`bzIp%v( zzOWw8b9MGlJw$glyKO_KbsVIq6Hy}?40`@1&aJw>cK;F-NCs-Va{$^RkH9wqe{GPh z(@HK|ET7xMi5Z455%mp4z~ATeoNc_XD~tD(zy?=)h;oFG9D}F4Rlj9B@cSsqX{hF{ zn2-O4W3}K?2$N}A8)!GjL3ho6fnVlbzG6@^JCc3orzy%R!CQbKF%N3|o&wFmmx}#k zKgTOrkHWuDy@E0$o3m8it@Wtddg^Xlc=2uz*Q~*;Y!b3xAtQUOc1v87(ZJ?hwOO>B z1EN_dZi?hlHW|wdR)ZBPQc2Pl>ZOdk&UQ4V?QK>L_P>GWnpMXxH8!@sFp*<*s`~@9 zhw2h!dRyrEnOclkuaa%Uh^bBUhqJi|IWkB!vBlp48Nmo5-Fv-q+<}JBn2tyP#Tev z9y%nHk`C!^kOnC!r5iz!?r!++@%{P!?&E$eatwR+b?vp+I?vbH)!vaRvHNw|n%{Dp zHdi!J%;e-4QTMm;dEWydt_(gvToDAv6Ze2Fi5P+W{g1-{DF%HpD*XqQUG>k;HwZ&U z>Emih+t_R5!hhNHSdb6(Bi7LPxuB^5wY$SgoG7Jws^Kl#ccT?j9{h=rI*y!FBR|wt z^GIR$m2I&hO}k3$NG?157$+SL4mdrAX?ZselyGdKU^TyTTacujDbxITDTPTwE?gjJ zjjK@j#$p715_cH|OCmEI-v$&bDm241hLnGR-6pO5-UP8JMcQeF<}Kj<=C37H=_-v{ zRY9~G9}Ja@s(vi%QzAGyww@c#!YX(c26y5zBhm49W0^{n3;cp$1Ha3aCUY-yYXE6k z_m@RGsHoV75G3vsLb?Tz3gAr?59X?<{^W0)TPV^IZ~P!k{~BfMa0LM~is2FPBhE*N zaDw|LXx1*Ck3_knT7lJ1Lr!9X4yiB8HrvvY1WJp6BtO>=iWlSglC{I8m3?_HlgT%E zJH{$5J>mJ7D-RSA!&~D_r%$NM@4lN7^zNWME@4Sj#5czVJ4HP6moC|>tHp}__Dq`0 z>ZOM9zg!XlQ7sB>8kce!tcYe|blEhJZ@hAEzLQemyoCp}z(&2tHGu~gWe=>v{! zOsF`IA*>Df2OrfYX)B|=O=1G?<$;l$`Dpq~j)IL)DPwt0snVRbyPLfbLAjxF^IpY# z%r&~r+?3elYp@TvY2el4xA=D-?0#C;>m@|ARcJq6Jh_=h z@Wd1pH3>*WJ+lfm7iGpnCHU`-2Qleti9(9C#0uwVBS{rZ(v)}$ux3zKk^7UGY)3#B z!Y=V(=yS`qMPU#t`W@2DDslZK{R0b>k8+exnfua825W2Mq~mlGi7<2o3^KCDSC$HS z1~XqJ7uwX(m9_@KIz>*-Hqzue zsyhQ5xi8k}YzvTk%R@N1>(=LLZjmXg4*2nELyX4VK2f_)(_18ACJ~Wg7iYl6OHwL` zOM?D-WD=?2|7(BmxJV4@9~oVaehz1rJP4!K&b}oL#f`&CQ6VV!vEiyOV>u@g_(FR}t;f+W^2Z{G7HlzIRVsnX+) zn%Q-GJ#~aRs*7dv2d+j-VP|ZK3J_|YGpe=V2X^g^hjD4`q@omkIIWfgL1J`bh%vqF zt8EY3V$t1&yW71xvhw%c?BUGfzp+?fTk_eoMct-#dw;ou6^sSSxY0$5MAB9mqO8vZo;4!rsmW4N;&&R!;uY6eLFMriBT-hx9= zH%a3M#y!sz)&*!cMxu8<7+sql0L++Bd2=Gme zQ4n}G!7%4v=Sagfae%6OzeaN97|HZ=gCl3d@rEuj^*!KWfh7L%AU`rLPo7fAHc7tQ z)NW$~R`a%;u2o>TyKP(Mg#WJo^1)IN<)XDaDOo8%lek>{dUskrMILg} zShA9cuc3I)s{DOks5{L;sNA6ES^eL4J}6R0TO-jv&Yz4-bs)+JcEBoqs{Z!gcg z)p$_S&tzo-Fq#SZ+hV(H-F{SvMks?BVU|7^;`jXa6KejAXXT%R&JU?bOM-g?IYIPf z__8qOW8M6<84N1hk2)~x_0Dh5H1Va2(=xXfb{F}$R9;Gauu}Gb&%mIM&+(ZN|EdXA z5om>{XsI9?xH^9Q2BW9QX>}~))|u_fbCo|s3h)`KE%d4a#+G;8X5TdCLujSwONb8+J6Mpt!SpT3g?*e(g3Hwz^duO%E*F zpVhCt@?JaI##y9t^NH`EB__S!4H0{QvwXDc%YFBGvDkNQ<*;cn!Kg0&#zge5Ty`JuC_ak4EiO^@4L9M;BbTg&RXS@I(RKpeE@-s_1g76UU4DfCG}UoIX%4X^}Uwc1cBZ%I1&KC zszId%M?}e)1bD*R6+6F~cLz-?Q*}Sv{>B(l63-`rqge}1nXeLba6ZR<;|1V57&C9O zZs76-x;^EyrizUdL>YZLO1f2Gq%zBvW!3YQK5CvhiE5=-uCd&KfjT|ejl4d~A3XP+ z9&b%=@(*ANDz%H<)J?cq{=C*tS986Z`_mpC3y@KKDy5A-Z=OirKE@?5^dKK+lFx}U~H2bKhaT#%vX-0ZG*(Z zF-?P`U7KCA<5dPy56+prvu47tP0=0;AR}+X{nOpgJ<5o_JE(PB*|AwVe|xBpZ~n2u zn{+L>9Obd)nHwbwFTO|2%S?v5XzCYkV@a4F=AN(kT|MOFHCCw)CYY!M$58JGSs>)0 zA;|w?QnVc#!s`yi8kP5@x8)%K?@mru9%(a@8q`HmN&{%eAQDMi@KgXfEYKfLqu^MJ{(K7L7W%2UY zB_H~9Vn5{BZPUaXALb>NySk~_!+-WxxPjaCEL*2`=?CtsDy6I+zH?_v+COV{HqT2n zm;|P>)&S-&suPJ?WtxeCQIqhmUzDTXUUd)Z;^VcU}=-r4l4=rvm(x4Zp%w+zp-cRQ@oEH<)#mAqZ3FMOBz z_qyJn-e*vN9ixi^DqDuaRi+6{%_2FbZ1&o8(Rdq}Zj%C1{~V;So*_IRwGT;P3>S?+ zWn)F0%E2|HJe@5(&|JOiY(Fvh!yytf*vLz6b$${hAI*M8w&v+QaA(uNat zv^A@)c-y`tFuG}Nqj>bclr zDio-i9X3@G9}_g!qYChS-Sn_}eAfrJ)lIF6SF<>Iz`Y1PT>SCMX~Oj^Y}5OZ12cCt zXNf=nWrj`X`^cdSLkxw1Gr~3!+m*cmGyB~9PkYp5E>n)|6(YV`t#Y%`Rrt?l++N;< z^U>+IEGBeJuw_EqdH0-e#8xS7|3s5&>sJbIS9B5=NGh)imjF-GM)NJOHwY@re5j1* zfSQW_><1NR7BbD3WT0HToe#XO@G&>~R8Xh(#Frjwps1u?mP^~(? zk@l{il{$$zfj)|<;8}+Y7hW>uee3+?-rs&-SdJBQ}aL?3zMUvC`A>LGgonTl<%x71#;Rmp*Zlp)NtN%~h04^q!bO zNys|@P~#3I``l!6{tBV)6E9_x8@5z!zcS+V8wZQ)Pc9szq?ANe+>y&QdrPqRlGI{Y zAi&TftUn4)mF!e<3$k;zMeDe;1W2K^@YqgAPUbIff4 ze^0qYIYI@u%#Z^SZ`iD;Bd7HjX&UUmG=^C2 zd}jUCV#k_*O>n%6Vy6~H57gu3dzX)vuqvi+1{Z-_^Y8`PIIJZ)~xN?|6UM^Vd;&oNxl&7v_6FXEgz3fFoUrIa!6j zaWI|>fvaFj2;1UT-qCLYU*UzoTFYb%5*>+U%AfMJAvZ;|s-5RBYUnd}d8QLf+`OW! zqPr!Slzb+35#tc{Lxi&0cbakLgQkWv1ev4dP@^QvZ*`$xea^SS$HOuj#nPz3{r*)% z0<~pGyM3({xC;HZqWkRv?-BCFql6Z-iWWs-K~@yYCDGE9@#aho0an93sVB=Kaq6ylN?P_BVR=JieHX<};=C(6w<1b=GF`v_-x{y?LZ^G2g#_q$-elJk3mVW6 zj>(gmloHba6Mvv6KXCTyc17Ms8*jxC@nu{d=crE&EgZvIRb=KY8fn*+{aFk2(bN`H z!w0oS!i(81*^lT8Bvup6ViNj0V6>^u?qEa39z$yHRJ}Jf3Y8*}NvqT@hg#o%`Se_wn6Z1^fZMBjDBqVNGt1#w@wm2lPFgMg=>@`x1uLV5og zXWIu1PpifwBWO(iTT(qQZk-X{PP}tqfu=IXJGtsZLh2g@^Z~g~0_S+#;a=>_qgl43 z(k~=xNu^JspA41h8E{%}>>pzn?YEUE)EK1?I;Q59vgkeee2#| zY53kl(AH5TAY6A^{3h?XTSvSod3(N$vnHh8)^hf%sohl9Eb?(UpiN3HP<`1sWQmq9 zVgL8E1;SSQp~NQB-Tl8SYZ<9Gr^!6ZuKDri9&5KDfyY)p|Kx7#kfuJS6oymR{3?$v z0%Hp}ciZaYa@KV4DCfVR+eysp5L|E`V>rwST#~vwlFB!ce?$wd>qmN4;kA6Po|S@5 z{mxfsvwuwp@=Vt}C=NBQsb1h1gbj&-iw$LoOd?gh>t|BVg|Jyf-7zFZy#>HNz)fvhhKVnrx3vGr4@Rrka zc`a$A-#lCX1d3T6nzzw!X(X;@e(ruvhG=0N^XWCyQB^O2Db4-2oF|t_FHi=<9K5$) zv93?`G1>YM7-xU~E5o&T5apJ`&HEAwu7oZ1Kn9awt{@cAn`$oaoV%5y`)=Z zP4<<57Q?89)5&PXV=xS@vji$f!$K#0*2ETB%K!*sgHkiXTtz&S zA^kN$Qiuv!dp{yX4&gW9r^r$*hL^WIg2Z?=pVpRhBE6oZ$Yg5)TpM$<@3U-*Zk7eZ zPt?isj-r2_<9HUn452$o%g^xfz*e)kt8MolOZgSYrDjW7o|zf7t=1jxaoi3(YALhI zl0g2TYFh}{Zmc&i$l1Tu>bN_+#9jFBQ1T-#?mu+kuJ6z4yoYq_P8DJp;#fDQ@{Fx3w9XZUT4$ZuvDsR z0k`A$A>J4kWUN%n;SV$1_U)>8CUh7ax4PFm4!+ML*q_wns$p)A>522}r}i>sfS&39 z_Ksy0jDbY`s&=`1Q1b_MyJBqgdgqye?ky51a^EQs*-LK6G2HhbAD70R?(?tY3;Zmi zJ%bV43mUf)UCEnA8pa)SzfSAMCA!28`YRryf1YK&TNP?!wbZ-@Hd~d<@DQG!{?X^$ z2I8CQ(TZi?OdmeQdD{fG3~}fe&gvtyME?!q`)rO{6MfLY1s*LLulz#iqGRoHG9Jq5TGhy2FQCKq){Dj{A3;r_-gs+u>AUv_nZS1{nn^ z%VA#D*qlc2@3C42;JYwJhHG6W>0*3Y_>QVW`6m&Hm{(OC(}4vl<#+S2rJvU1Ga?Y* zEp$Fv3s@Wqfm-8l3W>)m`aeyOZrH@Ud z8TN_Z76T>zk+MO z-Pr>^s?^R*6&e5FPwkjXDx*|oZ*5;%oB_~khM}JzX|~GYcy~98cM>R^rU8zA97QY) zZ>3HORh6v^2D=0VJ~=D%EP71ZJk$wiIy!?=557LQ6R08utKkh*i7T%*?X;`}B` zY&X$M^fQJIJyg0rKNh`$@2|Rlrd9OwY~y4ICg#=$z@8ZQFPrBzmv?)7xJJ{AgmPdh^FURQB#8hq-9akh1Lr?bUQ|II=TWYv_9T(;COPG_LlK%rj^L%bw%N(Ffbs zWqg+ju9-8#>doS?wA9M1u=kK45L~4ZGra`8-9OF3o51I;*sI$2OJ6&P1Mnxp9*^yOMK`nf&fkv($!Y?Zzu5NWnrY;h z?Y{Fe?fRH3uP<)2Oyob#0OB-7#S@Z;$hN^^g>sv^_3i(M2dqqW5 z-PW~Xqj%hu_-A@UINTnm%&x`9M@*!C**viam+D+Mf?Jdjhb1p(9+F07OmzUtKV6$j#_#cIt(D zEso zI&m@)ajOWpGA_5nc-1D5eds)M34_t1vVWjP3i=whFa>^P%|R4U=MkKWMpSaXk#YqR zm=LROO(BZ*{*NJ$%hfJf7ykz;8f2f>V?Urhv9`_Tdze&U{Hw(>4$kUF*3xP@%QD2u z%?%&C`+RqrbhluM=I76p5K#PJQ1gx)b4IG|By9=(PbtSYhax|1cL_DKMbEus)JDv= z#Y-O`ijdT{qx8FZ3BY9>}ee3EiTz`16xVa$8zoh=F%!Y&Nt*D0V(VFCd zssBZ_>)zzD*p-=-L4Mf@pRpc>Cg|x}9IgHGdwSY3;kL4Jxadw>boaS~?zS*0%Y!Wb zW^@PF=>h13O64kjaz!Y<(AKlc1=GBQ_0zF)$$tmgU=1K%xO5$r#8T#?6A4Ptv^O(O z7;_15*~J#s$9-na7L?N#<;3XVGtqTI3zchAd6$kKu}VIJxZnN>mjx11G9U_ipc6GJ zE4)8+*UB$a`A8x3f-Pi!b|T0aAl-r`>{Ofz2F61v4E@qv7+*cmAy3jHLWq@KJ^qktvFgkk`RElNsB?v#IRlLO)5`&=kP`B8*&_<20G z-2}4o!rY}L6lQLTEqLX-MPzGlT8zl-f0r$1&1(?>CsX_hz-rHlzmj5#{MHXdrSl8@ zjI;0@-orQiTLOwoNk`aa(T>WZhK}10e{xH8_}rrL+5m%A4~4LmWcZxxO^TSvsLz)v zqK!C5*|}GsoxN&TemSSIO)m7(tc2^4&OoMW{Nr{9|H^B3LlvtSm@mdhw2u~V3om`y zGy6m@5UTyJP`?tg|MLootuz15>`HoCpM}HSTp_%X6Fcf2po~74iSpF; z!h+jVw?FXxTldU2YB>`kI_S_eoGK0q2AWoy%@vy#QVqt8y&XvC;rG<7UCzyU{^8}T zYq$Ed&8l_=GcJB0__HciZBl6)WW5*)-|FOl_ac+B2i;Ebh~tRM>CF)@ zH&(PbbLLCfd!9CwTL^V(w9cb;A_VqZ84)5ic@jLw*J4n@WGJe3(dsqEN0w*(CHiwh zYp8j{7W9W#x!m4XGy_@}aVIFmac2gFWo8W5*1=G`3$?jAw)$9(EZpO8Su`bRI$) zF?SgoU)3^Ww1-Z`ZD}flSnUtQY4w1?#A?DO+oAVKSn$oU)Ka#!DL*3WX=4vljPldh z-Ppv#f!42*_83>=If;Vn?i3Mmc=5VN2+Bp2%;q`Y1BTPmy-hWY9P#jZni;iE2lc}6!C4y#pC z(0Skf*!o?tA11=7EK$FY@PDVi?kQrImH11HC4w|J-UJBm6ioCOR?8-)P4u(7_S=g- zBMri=aQp@5ehZP9{OR9aFI2@3y4;H)!Yo9GV%ug4H}AguMc#o_BrpCRm%K^8nT(W% zex%QU7c=&43{2HD*QU zS;4txwdvtf%&iI2%?vn!i!Q| z(dP-z8-k9?^!)Yvsskp8v9NL3J@Ag(NENxeK9cz>sPY+HE{$JHzy&n>nyT<-92LSV zHVz@wM8v4ErdIZVUeOIAoTk;E3VKo$KbuFFH&!%;@WVgNJHpoe)N4T~CzH2WW)NB* zGWxK8`dy~#cd{|`xBd+!&B`(QVR)x)lRY}z?YMT`-g4Ye8>0A3wrMiuCQcW9?{Zw8 z2%&$-iASON0h(YrA*k}7oEfc)8$Rfa@*1}j!HHhu8pC7;Z#Q_l$WO803<*p<#R7%% zwpq<~%bMQ=usVrfsN`~B4UhGK@_B^FkH3pEM33)BrPTG%N6x%+}r~pO$0c#wONIHTW_BFE(@v4;E^dM>ipk( z;Rx{~1XYWXP|*)rI_o-hXhv(#gf@IKe`1d_{}*K~Dy!4~>1tFWZz6X~S8*AML3QXP zsu%@fj390UX5=$jle&P?Y?o^9k`F$NcK7MXR`I=4AX>7HHJ&;lxS6rk%JNofvD+X& zhCNDTH8E$h>=3F+IY5$X-A|dz>~{xd+ab|7(00Pm0sYGxYd^5;eEIk~X2E)o0=#c;$+(*=``G}pNfl}`nw8oKF<_w2HGy?8TGb&`g4@pqU$<}i|Geo>HpJH^nH zCafOY^Ww~#aU9KSOxjux&hcfat56Nv*|Ucdr;yC1C=%*zGJrI|pR|JsXNq-Mer}3E z+j8^@vI#bGiiip3_TG4|@CLntI2S(VA~}3JJcMrc%vP`%16SmHDIhi>?7gbZ>qgF% zGMVbl6vLjhS1)~Uwv1FS1yD+k|I`w3nE4|+5_zJvOz4R$+UxpgLC3fmfqlf8M%JbA zuk4jgn_Q+bHq%m4oc^+^x+_w<)&(2*RtH5W1pbBTkLf6b%erv%2kCXeOW*lg?pRkW+JTax@=8mRyTt4T$%xh~3w z++lt9QPS0~vsR&Q&)YLM9XA4Cv;{JPm|*LA3T6SV#;fXb#suBhNrA7EN(7%BwPRHS z<$j*4Q*7hG1CY5;NGmqNgQ}=3V7W(EGonBDeQ^wpji?5dqEH5xsvM^F*~;AV^Oha} zy8_VX*~1djv)}eEodG3MJ|zF%(3{&R7BGZ`1rZ|NUf@nNn(=h!H;q~&J(del3IA;N zbSCQW^W{TxmXXbk1|9_a=Bty@AyK&xN3jf+7)T0W?x{MU z8_PRG&Zh4vG2$un*nL|c{;Ft>5Bc}r8T>7RF0q{ zyr;%Ko`;qgn3mblNU8h{f&+SlFK6Q-tm-{#6}C0%?S#|0*zSwotEi=Rs%D}qvah5a z!?pwc_aspRsNFBj_ChN>u)s>FF3t_Rja#o9?cX;Wrr*}GGkPMYD(NpvXE{{bV5Whf zlh|J338{G4@wJ!6^B(waPfME2ih82Mp341|le!$yjAX~)*CntNtpdO2bbN^sEG;e7 z3jOA!WvD(lVHnTja~_hna^ znfu0(G)#M*416Wv>WN)GLQ3W4Q<5)E8~|Ik8_Y{mW}gBb7RCugui}dC?R))F64*lh zxxv5bPhud9ffa3um<+@ktTG5v&Lw_?)qHpHs*C|cug>@ILxtr~`-NPv8G8ooe2P^x zASKH<{XPqJL8Myp@J{43sB)KWg!Zv_9rR!hd~vZqFy9)3K*#4R8r&WuAHqQ+vOot! zS$qHmfLFQ?791n=0IW?l60ADvb6L9RPKe6K;#*AB6^hdJ0AxZGdWAF;wgTCsN+ve+ zopI*6`Pk5Ukr!z2a+d-4_a6mSkJ09C6neG&spi$kN2RDdU!G!a^@wB+CEbks1t7y3 z6vhxAH3hdO1*dKsEY*)I&AozG9(^!XYX2e!G>BG4p~|Sn!w=>zg2;MvwvpbJ%n<-e zy-~2Ms+&V8iX_pj-397K<6j~#U&(bvP0T{!CRhmLq=`$O?jOi%!0Z?i;~YU6#(&gX zv2lPvD{y}shpPOOH?8;+MC&`X^9L%Z4rM3Nx5o3~5J}B>(Dp*_NNJ>!MNcFAlfBHh zgu35@g~dRG$Tk>tMPVv1=)^rxLkdTUadK_d-oT%U$YfAH>UX-vX#azPg+QWIiG zK2BKZVxre#XD^Dy%Iif&Vz)ysx!|$L*A131gbeZwsWlp(WwR;S25;)Hi{EDv!IAGM za7l3qOMOrT5?LluaLrx z#)T{_$AgoM(r`A#(gi?7fCYHKNrRrc2_b;EORV)z!i>+%CdkQ7wh_EX95-JRc?wd3h;%w-vK(&$`l7W|Ruxd7@Dpa*Vo9TF1 z0x3B(p8TN&kiHCW(HKywrU_O=Au-otkeC3HuaS1l2tEb6hR+ogNsUI3$uM7 z%2qnt?Q)2NF_?q<(IO+Vn>W#gU%|=#Nxk3aAG%B7M}iq!o#&VpU+#SuAp=FnIP?eY zSuYFv{qcZEMNta?8%&zGnbKPSK@Ojr+UFDG8AoaURVjbqj?@c-NI5dK zHc@*&9nJ1L_Bia>1Hs41=VM zB#DfM2~ZB>9Ed08JX-*Y3Z_zg-!L7~S7L*%V>Rq$&lUc<&ynYx2Bh#GfRvcl{}HWD zhkijbt=OlXtb>k-frMEQ-?zyMN)q>4coG>7tZ^Zy`?s!<>k3o+k0+eyvM?sYb&x3n zMx7FRiTsYz9b6PMW-lzpd#lDSEr<3?d5xz6Z^oeZU5ICAP-A++w@CQ*+FfRzGj2tU zu4+ITvyadm%{icSY8n4UnFiulzHuZf+UcQgk8`>ay_$S!>LNDNLOSaL?vGgBSJY6!bWMxwe4SqJH|Rp{)!i! znX=B$Y>pH^1qyT)&Hy}UYDchD_iMs)LTOp6!EY@qH+E~E4SNKNEG!@I3mGf)W&`r# z+jP_kgkS%n5*pUMvjH+_$@d>4G;*pOBi7ZZK0!qDlOSr)EzQ8;5XM zMJj|XhZc$L92dw%n)ZfdWV|vcDV&ANfR>DYQlK@%^lhdvt2V0n_=5Q*3ce0)ibJb= zsT=tg#;a#%35E!wfGo~sbg#lH6Hz?ZvKzo;_hQ@#9WLw88A%u9of08s`HeZu)N# zX;&oc{GGv(O~#xyR$RHyNin*Cs8VvT_$sfJ`<}`25n|Lk_wENPXRX)pbS;N}Et^+mo21tA~C zWj9ZRFrJ67+8q$aGU@>VQ>+>B|7#lqV+n-;&8yjYRK5} z@8W7(%i4+1#eC+FGx9S2xsUli|Hl<(sS5>SrB$fpm$R|Jt-8Km)8sP)3|SsJP`v!p zp2Z#`82tF2uFRC)$Ce)*{;a`OI*`Rcmt}_)43d!YbpZW220tSzy1zhzAOk5~N)rnU zIehS`jOKn@rl^gbypAymKLR#c4q;1Kggh;&{%kS-+-i_jVU+NRd)*=`BI0FI%u_5n z1>LVN&hjO8tjw$)@b)cF$JtqVR3bexYiSLnY2DzFnt-+oP4Sg7oRO}Dd#ZEWl5TFUxv1?<*dtYOig8YQ{JZ3jYg^aTx6`r zro8mIh>Djw5;~$b(b^e0eB<6Az6s_Va<>l#@~;hMo?Bq36}KI|S#k6AL=ocKVyS+6 z=mw{WZNB!skXSIktBl(8*vWT!>8pK%_px81%bX|RdEMuMK?GO3Z0sQTpi(p+@t6$R z&Ga~hw%$lo+WxEL0kEy#RluX2xR41G!gU|M4cd5x4<^MYQsM0~O$73Pep%puKrt2Z z-zO%VfiNS8lu@r=19^&S1nCju9NH=i!551+RO#Kbk8xUe$jP`$#g-xiW$P^%*!(7x z5?;w*_&1(@7+L5vhY{f!VKcFEAe z;g}ft63B**4ZI$kOXSoalhr~1WJ z){;WH;|4fi&4`hxyIv@Q^e5xb00ss$ROAQ)IvssuqtqBW2t^YIvPztN25r*N<}{p)#GrUctDP?XQCmN)G+I4@o#2RkTQ#t(5%- z3%Mnfqn8Is?$baV*FXLMwF#4|{~9|~TiHv*XVs(BP_gT9?ZRPi0_>(=rQCNJB%dyh z-n|=LT&0A*aPd z&kG0KM@PrkNsINKBO{Iv2Cj_TsHv_@($m+r6c3!=qyO-jkvpP0gSEQ0y&W^_XI^rEcBXpInlpqjGkFdZQpou5CgpaAJwH8tEb;sGE6X9vxT1#7(y z#0AeM$xqH*YUx_Uhct|Na3g(x6~;X!z~fx_*D7I6IaYM7f3D+6e_CoP^Qz{mhAu5n z0D%Rhlh07(_XOK?In($%N-wUUGv9pe2IpUk7jEt?bxCLRdjxbHi@Wm&MMjdGQOR1I=PbVRvciJ9ZzxDj~V&!zix9xylHk*fPF5F}i!K z`by@F!uFdX#z}prA+%Qcd91Gta4&ApNTOJ=$F6!9n2(I>?0&vhV0v;yY;;Unp&J&& zPH=clc5MIx6vB3JjNj4PPhdH{=rv2Ie^lV+g?P0SGx(!>(1VLV+38QoWqOA{F3aD$ zVuflI+(f?4Th66Z5gtYS6ZPRm*|i~hVt->KWkHd(;OgOpPqH7bCpB6HUkS|f{04a+P;(NH{iEZ;FXVju z{d%cz?za1Od=bj@lnLLy$KQwK3ovjYWFt`1s&xtqy*QwGkA;3eo=E^po=GEoI&DT$ z@gxMUtNUN&nivPGP_0lBpAsMV*YN2=VM?povvpR7JZL9V=+_F~V0BNLNkQO1FfzNF z(K?^as5Xqt!JB|@Ie$mDZB$<2;cGEsvP2&Dltx;xeif!vf!3AQ2tmREk9 zgjO-y_Ve-e=$)+2DE&bDhPwQ3At1lfd@eUOQnQ~C z{x@J_T0!|Ke8jHDs(Y_>qRzz+O$)*hcbQnt7IFhLhDj7vqT3MOl4$!(g+JN>!bwZhJ{Vzr+J%^y$Gl=nzzw5}{jRg_Ivt^9;&!9}RZ(?9d^vQ3&&GbXque||z zdEDEwc3$etgi>Z9|MkrJLn{kKa>V=pU04dTVGz1R#_0*l_Dq6x-Gcf2u$5k7-}dxI zEAGjI^IpjySn?m_r*zIy!=Cui0+g=GY@IHA&QCEL;n`SBPtrAi`m|V#4o2D{@a!X)v&m|#6^={wwM2_!(0yG5OxyL`z%v>qaK9c zi6{GzfS?4Ag4j)`S4kY(D6j_~@BIxK>cSRBtLPf+u?wtp_EA?HtHB)v zlH!EG^@889iqT7@k=u*&N7xvW^cI@_63^*$YgVems3*DX1&!+NvRN|Bc zM_c-ICZ?l{Y?4GTcIp>fr`;C4$F4Y1h}A6MyYa^;piT1s6t2iYEyfY}oB#eW^xns*ev?5@OB$Z-Siis!h*Aw*%t^>#(T#sECc+06pbvimVz$T zRlkw3OGQ@k2i#QNI4BrzArZZE4#s55?hYoAFbVc z(49DJ_)bkqL@4c1BbHKZ-_y-6tBu3x8>e#)s<~cq3-NM9k8HJRCW>iQK-K@meG!>M z^RIB*$+fq;_%*WSk!R8XiU9_fLE-hxfbgl7U6(PQ915BLC*4P`j>rM>t8*4RP(Uqs zS~ngv*&Rm%yh`}2!X^d3ohz1~ zS4Tgkq|)9fs>EGD4l6k0a!qt2zpRKFKieQg7$@6~DGMo6kArona<^mV^|bu*egOn$ zDO7-n=_%^>(`6!}@L9LU)nA7R^*KKX69cO!H)Ap+qVYxkegsl@$?QKN|9`tB{2?M9 zD;*uxhEmspnCZlYcii(y($2BsW>v<@%`lM#7(F~^RGNNt%{o1vPA1P_tmg47^@SE$ z3hHxAe%LhX^f^#I8v-BdqWrfOQNfmF>OJ{fQU{N*l+irQNz+Kon0PW?r8u{iEdy33 z6@KQqtHrxpv~*184MF36os31SS@QrtW<&yq=4(pa`^I=ou@TJ)UdlU?Xy&M*2ds4+ zCCQ^SOAtKLDYD5}CzrV3gRb5mJ63${e3Ra+|EC3r-TLEuyXO1PpMQimbaDhljjdln zg4dV}f5B45a==TBz*+r01=jw0Sf!RLc!z$!bKf!?h0XFKL@w?nM9K?8Sl4OjF}TK0Kjc-K24;(N z|G5RXMTvN`c)Uyo_*iY2Jm<=VbrM+}c9Hm_{pZ~IwzF$}nRjz-H?P>tGE<~^v=s;t za$&^5k#_Z_=zZUy&In=PG7{_$OwOzPrrM>0Zqp-PysH1s&|Tsv>F0wFR6M_Uw9Y+~ z2TvTqoG8aeD=8{Qa*9kgkxyh08<%IvpjCx;x*`z4s~F1DC+f$wiwA^HE^M#HbW3dO zpw1nQm!Pk0fQ*ydu)!rCthM5|h~E_o^pa_IosF`OUgoUV zpqd-;IQ?zobnCACiuI!t4Mo_^MA37~Q*s`_352|y66|=2y@_5h*%*@Tp^5R-q01rOo^`;f4f2+aAhieoUOS7P+U~2)aIfgA)aa9t ze@X|(_wCIiPQBILsW_g(9RGxkxX7al<6xGs?UOQk$@i|w+?^`8InwSoi>}OzlE{bI zfxm;E=4sxb8=v%U(ff?_*e+s3MguE)J8)^|_G(X6H=MwGU51sNlU?Oet}UF%j|_qF z^`ZPL(4BtqTITaC-q+}i(PVuT@tp}V^z1%;tOT0sP9>5vX#kcOeVI~7DqIs~Mp zLsYt3rBOme-aYDhzQ1>^`Rkk|GxxpszTy+tzDS%JS4FzDXnqcd+(G9R>hUlsE2-#G z3p|NXf-~E__eB|yy5iiJ*X@Gu(o5`vzRi|Rlv-4Z(DWXB-iAsskA62t`bXosSCk z(MgC7|Z1mrPloutAGLQ>O>+no%)QKHVFI5XDR< zNt8n_c`2%+q4Tq6$}KhPw;N=p4Wc;UyIL2{ckB#8dK_*`jIevu*^;aep@yC=aagRlel( zf?-Zz=mSzgZ!xA5kWrT%s2DgU&m1;uf`3}k`pZA^`@8&-GHrXi_ z)_W2CTbr)8?85VIQkKQUy(8Mftt1Pcka-%Drh9LFz%rAw$$j$2YhTsDyyfPplupa{ z88K|9(Qb@mXJ&RJV@z+UB%qnuL@@3OqVPk&G!!}p%(&whUX1C4R<1ljml zd+3c1ogps;_^;|?nCKPiW78*%tjT3?g_VK|%PNf(rsf190-7<*;M?ld#mb-EUan3V zT|ePzco_B!B;?NlHZb(!(xD!qxJiRm2g_7yH2^gI*)N+1x;!2U|}oe6y<5g0cyz3r@Jvz!}S?8nA!Cz z&QG(??Cz2a#-Su=`|vX%W36}MmF1z zx;#9HOC|+%Dd=l>sY8Yp)i21q4PrSq#a@?ZEyrTo+&B@1dytGwa_uD5{Ci#n{a{kc zN1+NzrN8joFeWwiE+Dd0?4vyYH32|xgI& zjmHIc2f>2X$!p=pk}~0PjOF+5I<(ODoGz?h zmHxc|UJ(4_kW`NzdId^f(9_K2PxCiO?V*l;)OPr-#D6>WUy!f!vzzVCrj!r#hEI>MQsr7hPZZH|eCo{Z&-H zlKH)}aa+Hme+pG`KKGVcN3%N0i2XPKsZ4LOaPG$Z_zj%@t(_U-7&81)`+m|)`xifg zf1+Gd@E9TK=}YqYH%-_c8igNTysWsDTlICXX7w!Yyv#IX$M%mYb0TimJem)8B>x`< zQBFVc`4DwS7h9tE`+vf;|1x!#^9~x!9N2Ir?3qq+G*LdxB!L%BDB#@$?t;ocVA~tI zf&^9U#D%)Bw8udEtTs=tM4HevttDUqu^xMMC6Goym;!hC`Q_CsQ@Qdl|NGiQUL9T4 zb)JlZy65D*%{`bsK47P<`rSFCj(G62b=Ug$WcoXgl^-!*!{7Mr*>5+H0&DJJX(Qb? zyDDsGd#>;CpdH%VH!xgdRBnqzUreq3;IpzVeeHdG@cLDrK?R^7UM$O0xU$1#w9&qO z0T5Ph^ExLe4$6I&ysvAAsg zBjY`IDekMN)$aawJ;P3Y3ZxxIDE6@L?skrFxX~X&YVK|0y}NZ z&%Jd3t9JMLCcOq{`j6V@EBd0ipmQn&T*A$uHp=#|KkT3fgWaCQ$GTh?I=BD0uJd9y z)sDTs?$}es(~l}msMO#t9(YHdT3pL9q+6&_Y>C6C5XqYu@v=1Gc4EDX3RIC*g^N{9 z;n$n#?d#Udy!Ru*^TOlq)>~ICKp5j~J?6Ij#(gZuz2jiqoGfVS&65LVX4JSYinS^2 zdD1=G>8f1sO4Rkz`(Ml7+;@~W;MvA;*?*{Gxzy&p_4*i$4Q$Pm^m$9nrg{gi&v_#z zq5Ew8eXKh|K`>z*y+k#Yduvec8O_*j{bR_=Vn;y0bcqIy*Jqu_Y#r#8iPI2rUcHsM zMo0U*Nw(lV?|bML5R7Vw~>?kLB4ilHSXfx7bC;c7U;TLL=qW`=-YAG!mA z2^mMT#k{^vRl08wcGE=nW;~+n()$gDf4Q+b-HYHdY^<;_+<=<3SLa+aboF1CGWu%9-F z=og)LusA>l9^QvS)4oc~FM{Lm(27s(ebJ$PkT|8Dg4UvSScLmr^XjmNa7*V05UAg^ ze#@g%wvp$1tfKagww_HbZN^(}DSo!jCR=8@!Tzxq(6Ttx&=%nl3N|lJmFW!kQmVcq zjtb)#K}`U#bw7FD0*dsHLqNURUE@U7J_Sw9<2Ez(;T( z`+j%XeO=EdC}!M_WYugtKfr%P{z1g}P%6)8ahm%juq4-Mh5#<~Li(HUucLnUYWUUn zkNZfH`_-0X8+LaA1YuOJTe;Ckyp4^H9@E>2pFmX8t!d1w-eLAs%>x4rWh-E-P~>C~ zvWyUj3iKxu*TCe;ldCIlY0JrXB8OSamCy=l)b)H zHi>g5^iub_nlM!{5~T1ySwfPXYT)z&o9A>cm@K{ZneCDv-EDe>2^sz&n*W_GVVn?A zgd$p3&Vo`Z&tuV=lMIVEB3>dGI?;d~2K+K%H+K-5+w~sxIG;K*bJh2+pLxCtsgoz} zWd905Ob`9phDm|QR9FrP(0|Tuslrv|sDd$%12kmNWFwe320(-+$qTcRReS4o;KaoJ zsG^JVFqt(O_6CusUlBeKTrGctsZEbvBg=9P_rjo?TZ(+!jERtV$r&yH!bAO?>>|JL zjLtHha^8yMjSn4Hr`bMhksNXh2Ddd(r+Jb?CSzQUzui*h`_bXcv;%IiCqQ;_qrzzo!0C9{K9fybM&P%Y`LTtGV`+^qlkp+qui;%dU zPp`H2GFCF>%{Ad%mV-o$Ubw|Ze*28@$5;fkJ5Q%7GBv$j+g?IRvIH%{yq~R_3H$x@ z7#OS{WobuM~Jt*c4v;Haa!A5wgOp1dM3Ux(R(m|@{m;#sz?@@C8mxxL5QPFL zR9TM;W8lcM#^cLFFMwH#Ta&1;DrbaMoI_zhkHK)O*%8R9>?6ZWQAdNL+nj1=G20M) z70qw46ZGcEJh~OOb@GujUq6>SHby2;#NA+0VRh6Y%ekIp`ScaE%uP{PkIt9}t9d(c z5Q}?H*d|i(Xvm z3gJ`8-X_e1f;X(d0*)5zb{|m0Io~B7P>~HK)ITDU(KGW*$Gy}0DJeNr^-k>u&Zjp| zmK8{eyS-V`GGPo51$xUQ!ER%i9w!k`^!-4p+eW$R{7;;4g0S%^6EvM@k4ES)Sj|~~ z5d>w>YAt2t@SD+@cjD8F1j-5!5io0cc+H4B^ueI z%Z@YEU2+`W?7ciGUn7K2XE33fc+EY~mmaAh&^jQa4Ss9JD5Li*aA7+EIqcJWRWNID z%Rv&;#++(8>j{?F17(={7%5h8Z8wKZDHFXE>rHlA$SSNRLC^gOJ6!J`Tu(R0J%2&; zx3IxBkIuz2qJG$W<|eXANDEc;Cc(*IW#0hFoQ)Pp+fYB8_&A1eFTDG6Qv*vAjlobO>EHd7Yu{?98k!_09^rZGv z6*Z8qA74MKIjtLr+hJ_9$o3YqHuCG!>-#TUkIQrB-FruRcN&WsFT@M$qK%|=tYJ+p z*@uYnd_P?YDVq`b>y}%t?fjZ>HyaUAn@rbp*+jPUfJ0|~qjPL?e%6|*>+C)EN}nJO z>X~39X@~R^>fF8Rc2jSU-)H$39U;XZuAFbmz2r~azuux-MUJ;etVzGX7iWr&Fx?zV zoj0#e_>NOV_9s{>;kXbochHbnA-`*~jnb@2fsr&J5`YUZ8qbq#f*CorY?4pcTB&&f zZTA)@)iX7)aRg8YA3rLzJ{Cmm87$h3`~pZ_#SV^uOA)mOsG0a4+)x<;QyU&DwMez` z_=aW|IqQ2KBt9GjXWr$Y?d1NaxWm96ujU<5$2pN!iSnuNv_J|y=62choZ}ug)f9mb z?3@J?RQv-9&p#s`L)KM9mJ>qf#FcmuM!N8nCHy_0VESt54k zbsYd-Z(<2YUzHun8U_m~q%p+13@}uJM7AtrFn4JGVmlw`er~L1C(kFRk)xvy0_qdA z1M#gQD=SX4=}Xrw(L*nk0oB=3&bLF5lbAwH;$gOfx?hu)3ZJWHI`t&UZE4z8?KF8_oSBicMW1ruA! zDOuI>&`fx4Km8=&Wni9aK~*OQ-+@t2zj@NJ;q~%1YU}*{Fk+!6Wvr*F|7hD^Y&E36 z!|s1r#`ol1TPSo@Qp#?UmB(=WdT zmwZn~byMwzQn<(ie7=8B%I?Q4l*K=O;=M`MdX$G)i&UJhrkx{Ul47kZrge}Neg556 z;(D-2u1M$4GJ|~qKBVM9iqYhmHbX$pVAYM2x3=*C)VwL7SLa5&>YhovX_l*h7J@SZ z6bK2q4EPI2aWWbY_hy$-t^Tct;VbV_Ooa+S$lg3v+ ze^gqUwXrq;Q%KggiNcU_?N@Q2fHit5@yP)7Y=1v6*+3(nWR3@(EJ|@6;P!}Eo%LQr zavCY$<`=54WJf-O`f3-Kzk3svljsYXf9JVG8ZvDFIPP8xc%^>)eL6#^~tV`4g(-1w7oVbBe1)N;Vb5DJ=8Ct%{1JB6`_ z7Su4qM`Nzp^#vRIi~1#0E%S>=H==bBuNoxD-` zLy_?Th$uL#LGN$4j^*5S0@uoTfa#1b;FlO`bYpIUdc0;L1&rAl;}$l9@^Iw)*5dH6 z@>|?>s!iEy1(RBhrmKwI@f3(o!xGBD5W+6EDOU58E+-HcQpID^^Vt&j?5O_l#DGSf zu%b;US&WqD9Q38e+he(Vbzs(YuLAj>g<+KgDVaGX3XvHv^>g6a*H43$Chc>AhWx|4 z=x{B1?+v2iOIZ^drz#UYCQ{pY$x{Kd8!TOXt8&9>eA)y#A_RE!GAZH;ci@2OC0?2Y z`1m?BJzL7}?L4@-h1lc)UeurMirTa?tU>wyKL=y!B&MQBAC>El9!b-WTwR_u9To(a zQAU-ZwlxF?yqhlTeXc8E z(TUNa3ycvw8~U%ow%VdjTQ`&fkGu$E^$r)>Nj0FhZQdMC&%WFT+d6-w%s}_Qvn&G< zC0S{SQ)mG5%#sZ|{M$G0z<+$wUIg#|%g^s$*1t|w^8DHA2{5p4aLl-WhH|#HS&vfp zuhiL$=P51+!e?1lB@xiX;gZL1OwxvXXoA&1v4-lt8%tGB0P&f<;`W}(W=6cWh-0Em zhbR2boLn+sPwU^Wa0~4O-5B31+!oyo%W|z3Ve3>0E{sEhe_Ko<3}Rj4!bkYS znweXX9C)&~R~iSoQgg-`4wVW!i`a+`j`8Y!bE} zQ7*03ur{cwY_y*q1H7kU8b$cT-Tws;nJx$zmd`WH6YhnTtOh#ddLuWaVmhDU6x{tH zC;dA60AaGWdA%ih?0lUWU~@Ilab?ri?{i}wR%!e$_jhid((gUHLvP;oR?w=qT%2qh zW)HXyyfo+uyUFLucjG4Rb4T!{f*tWcjJdx}gbne_ zD&*?-e(M1*;muPpp>)Q3z2h;N_SJDjpgXay+;ei+y2>5RNMbf#Be^JVYl0NQvssY6 zGzM^~>&O7ymWB#=eal$RV;k?7_R|)47Z6r`@+-j1;(5?<{jL@0#WYM4|7KFKwH#E? z#uvckusOG$L`a^jz*^T_gT01k0W&kEC3_t6C?2tIJR7$V0-bTr=jEMF&x;X5mnZ)D zU1xd$mp{zuu5Fivg9htF$3qZNC(^@5RLpX`vh3&H^;YJ7$36-?khp?UMd{$+ zhnmW362Fz2j{}r&HT)TBAeTCDhW+uIqmq=_u;55@jVS$-HGn7fm3+^>%cM~d<5Rd@c*zipq! zB6|(=^o}G7soXkIEyB`)gwL}{HzK>ej@oo!LNMYsvJI`I9ii6_7K2G_`<N(z-?h}-a!S%Y1A=4BBB@fC~aXo?(qO1ZfJAy?5v12HcXK|;Fs$e z0A37#p8mh{BqtYG zCW|zwl(wl7p z*r)y^uEYLw+2+sFy>A2(yVW9%WjczC3jkL`o}a_kTmUGLZNJtXiYLD?x$BU1raTM2 zLo8jJ;Iua!%n z%JQY+TQO_qK%SrNJCda4L?ft%!SbOp*aZ1fOnnG!z5H%;Q)0b9d1bzz=Ao5VJX6Rz4hB#jLFQ zdr%eF0>$`J&8q>oaw%On*3FL5r?>((m|F-op=eFKjYB4MgBX>_rL%h3iPr+XAcOBM zL*>!(7F)fVqJ#jLRpMQ&KuymB9<#=eRzq*~MEdu6Ps$nf?WfHsiMb2)tIC%eXkJSI z=k5Zha7-gt{Py0S9p=B9CgCRJ5ZVm#?*iBryZ7Q~GjD3>(wxMgEiEB*{0_UY(>V3m zFDt@(mG%%kQk&JUaCUFq+Ru)NSo~*Jj>V3RXI=pfr zcRUZ8s?MZ5qDD46Li9NP{zTS^KUEqE@p*>v=x1T~&BB^u)zqOM`(*+8s)0Bv?Ch6k z2l>U4nstgR9bnBZyYywZJc&z_4nl(7@k(NBJZ9n_;(C>{R@&ApuPkCAb05dLH(4c_ zUC}tqvC^Pn$cbQYt|27ECU=2vjJ*|V)o)>R(kEQ2S1&JAM)1Weqtm@ZPp z%ig^U+M(__^#(P_NcmTQozzW^2oVjCfmBqxqI|qA@8{E|6Oo!)tkj9e2IiX8rK;XC zY;;gJyHSI5$p_d=-vXDJqNLBMNcz3d+?QSsLJgugzW~>VcLoCU+ozw)te%R^RiSb{ z_>j^Bo$k%IK9IWT9nHC0H#1j27cEl+83+|K?L)$UIyTeEO+0!%XHoT09y3L;ve5FERgL=NY-?KG78Xp5TVM%u&+8 zZWXk6{wfCIS9Aftj#eFB8h}3GPYKIK%-9w@gh1VV7G*f`lv&dQ(x&7uJ3ga0O}(cA z5H3)*`h_Xh-jE9{y_RyA5h#bTs>P$3L+SCcXZ7kXT^pgNSO+A%2YzD2I zIGVbb4bvv>nAij!U5Kr<_T_HD`uB-gYI-832qbpAOYvW(;DB^N$F zev(U*`;h-{xIfP71mbnG)v8AlDOd5G+7Bc*Ii=}%b`2|{;yZzceGiJA1%iLMUXA(D zZ3Q3lAUV)87AMG9KNn6hDnZh}U#=Y?k>uS<7^FNNp}iw!GrOzs~o8Zm#6()+M2%=4Q4I$I8KX8OE=(~EgNE`99*CaPAV<`B@4=ruh3>;}S{&nNZ{R9%MW zjJj*&wHj+VheDL)JL6VQ4Lh1lgD+rUp$qT{x2Mv^)q7m#z81AHZ)G*yG6LH7$3ivU zj@po@6!09(eYs0x&?k&tBt>YOgWcwckGtSLBB%1oMqIUITnDB0=RZbne+S`cB=5RRLbn zPE=G67_jUn@RObQU?u}pV4#P@+lR%fvk;}1g0B@*Ur3(L^t1zF5;Z3#dO0G3t*Ybq zbG-b6#nvVrHQZz-UM9{3(E2*{MUm-7CasYI0O5Y?ve{Rgwnk0XU~^*aSNCI^O5afg zO^^WS?Wg?r4y>ewFW~E*b^JPx21JrIr@?)$oiskfw_p<+6ir*i-F>f9_K1trF?tF* zS}aF}GC z+n^x{g9`(JoS)YGFOVqoYA;^IONp~R*aJP}C#+pC!0^qBdS_Rfn8SPe?|fS{Qr2oh z9P36!3Cv=ihC*e&oYIsapiGm<#W=}Ry(WGuw2?;9jI!z_9yxFI!{9G7pgJ)|bs(VNbF}6l z*-ty!8m()i1Ga{umS*cAmrAxAJJ3F{LkA{V0(aiu%$uzP$c;pMtexY(O~5IK0p;0v zt$cQuE0uj+E0{9yO!ne$S1yo70P0xQk^)cbNzL_Ts7h8WF zqV+lgp#S;T6$MwTH$<#QD1El1)*@IOl3*|15?~OAk}vt48P8*fH4zMleny4%Zxa2l zpLF<}IhM?^Vc>vmk|a>(!ixYWBC8)akIBr{zHK#(hIVr|>?V!%g>pvb%DwlzH^hj$ z(;`?j`jwCSPCxP`su9nj+G}J!id|;`jl-vmXN)Bj2e}}|&hirEgG)K?e=$8Df4guV z$s~2uOM>^T_2RAILUQI_4_kV8Q4*Wl77y+Z!@s#R8v3Zx;ImxLI2gw^QJ-a_n|H%P zr_M47#!myU6@(;%!@rP6*FF*W7`sq`^0P$-DX1=c767~Yl*Gxm-yPPCbMfdla>(7T=u%19eOC5H( zb0+6~{E}x2=--;woucSnM7f;BTagBTN>p9fqorJQlk;=ic@2Tu?56EeBEII)OVh^S zu4}-{WlqIQEKxax(0sf)Th52n@KMkSnj>|BSFNL0lB-&am&NO_o3s2uwd`5Pb`T?G zt)sc&y}~4Yzl?meA=&cTLQJz@pD?{sghgL;SoRxU(V*n};)C=R8Hyk$6>0u!)?`X? z5;juNPl1n~GRu?sp@3G`hM@?JpFCD`cM?=?Z9a2u{-kt?qjhhU8~`cZ6p{$3<^fEE-V%= z{L7VGM^T5FiQItS7wi=)j$O6B`?3CqBT-@m!4#+9z-M)aKzoFLf#TWenx#s?pnBO? zY1Vcwj4>pgaL~U!FwCnypm7o0ouY1pE03|Ra9<8VOyGGu$bnJ;u-8VV5d~?YLfY4! zljZk<&08g1H^VkeBby1V-$o-bT;;d7B38><9A<^Ir&}@wGhPwLkGFSgoB$-Y>HOi8 z{OePCzQMQN%(f%>(#zJonp>{ryaN&IiYuI)OKGAmFW56Fok}7RAu#}0X|oe>a)_XW z-bcz8XN^h`P2We7Io%t{5NPe{!LGZ@8ru4`tlU8~d`N7eIh|ME9A`Zu^u4{3t^hi{ z0RkpBz-n#8{;xDLW0M&);9f@dWmDaUvLdGvH~?t3i#)>~XN7XIdi3#Rql+!^Ao34s zLl3)OlC}Ioyq7h_nPZ8EuVE3=JB&-Xbe`wiNcIx4e`uRlt5{dcxY>OpEL_BF9WKW7 z5Y`=njl0@iznW&~RI_Qz(RSpdh=24sb_e^emHChCXJ7ccam`c{!ziK;#Fz>5q}9I* z2)=jclEWK5+zrnNTeVW7zt?7^96a31zIU^ZNlH*9hC*sd8I-D?s8aP1n)m$c>yn%o zal&;bIrmh|&6SAI2d;vLnS^injxGE4#}{9_DnVDRk3efSa|~L97dks#p+r0bqa<$# z4<-jZn}cA}-(s`b#cb9bTMC&H3U*1nqG&kkFrn;-HUX9(9yW51CI$7?dku)Awb6O2 ztswpM;F#a*h4S!Q0q!4dmLp6*@De?qR4|et(jB|IP22kVqnIjH?E`wKOMv1+S47Wd zTbD%`Hg+$AzAr{jIkJIi;7F70AEX&1KwPR@nRWBHN5r)oLYUXa-|@@sktO`n+pGYf zP3(*Ug_xh5dk?73%vH{Rt=Sp%_YUXT(5X;{G+me2er|VHQh_fM&l1gejE4g?L8D9yX#C6!-zOtF2Ut z%MgCFx$)S9Y^a(SM`V21XS_{l`xv$!DG#$C#u!6mzv2!PrmbD;&4mlQ)Bq zf6~m&M6?=?Ma%BU+JV$fgdSTC?rLl%|9_weG7^mmydttQq+tRMjzMNd6j@Y{I}<(G zqgC07!+R01@o?mofOkJy&NeOFgUA9ZOGrKLg@{=Zj1j{ge~$dd`2MgW!UiW<%mZOpW6u};PQ0OF&Bq~Jp+&(ER)H|Y=I@J1=`HqmG=>@7Howyt4h5en4K7p zA&Y#OTB}>JkMUZbJiP5TP%R~9?o>@F_;$eq$4vE8sz~#-ZB;JfMxtZhyM!LBqi`uD zHTCGu?wj5V&93j!T+8mL3Y83r;C~}(jl&ZXR^rB^3}Y!0{o95kFc7nAI$g+zdNDy# z$9B0*iw)R3NP)Fs6$7T!=@v>@bKGP*~Db5eP9)~9E6-wMEbS( zL@^n+P0_|Q2$>@EF;CM=dAP(*f{i4oR)h_^nhdl z6L&6!r^eui}k)( z>)L39Y(fQ|*a)H+IT+oIk5-4lnj9-4)QLLK`Vb=cE#=+5UCf%-h;#v;&YPh$_`xJ% zR7q>h4l4$cOdgD!FpID5?TpHdB?vFIseWPPSE-Tbrif6+ww18Rulc1+ZWE$%>B{P1 z{kX!odPP+)7hG`N_E>Fj_v<1!EZf6*)=2I;%y0~PUogC3{z*vT)C-WmN*qyS6YL>7 z&~daKMS%D4P4mB+qE92Rjb-EagdbM}%WBVuBaf|2?uz#({QPpSaB&@R?Jq<2)~Hf# z9_DqhRao{AY16EuR2cD^${jW<%Yc|yt5@Zu2T%#e%q5E!@7k*Z`RLe5aCjn}_>MmZ+4!xUP037ZBSlQ!_3 z$>)ZDTGlI>b|tfGvE02C*?frTGA#B!*)r_yV_#E^(nCtv$X4a{&SAw%7T!bjoo`qH z9#n)0_kff*xM&}Dp~zVG)bO8wF(%D62x3YGcBrBg z-E@1l$xF^2@tgHEZ?YCZS{U0Rk0%awIW@Pu?Flnc`SK)2xDk7(MNpHSHjLF^*0fpg zC!D>WP77^X2QJ6yPOEN`cJqpBNVMeJTqHECpf}`kX9t9>v$~2<7s6Hi_?2Y1dg~sNO zR>^_`{f40mWnIk^4qrp&xG@lFM~q<VWfyVhXs|`N=w~b4dUITWF+4}(PA!m?PQK2uaHuGRf9Q-p(^yBMQGez-`D&tmb z`Q*>{h&U5a2#~ZaXM_6w&7>D5E?qbDmuPN3fz)QB4PvTnp{N6=Tdui_k`KS3xliLOb&)em(CsZaAjpvkZZT+7zuU9746PJdJ@01#XR5<7zh4V)jppZFdr zih1m4lIX%-STZN~$G)XA(?$^daZ$u|L zb~6BC=ij}$nQr73`E91gBC&}r+jD@GH1y6LPvXMbF9WYDYrwM)2DyhYu$Cnqu74`k zdO^FRb?0rh>-s$}@CV<55@RfuLE8W1rZ8=#Hc$8cz;I+Di_%-*xa|g#BA(q*oy))2 zW^D!<<^|x=^@JvT>j2}J9lrDZ%SU4XhD6t20$4X3#h=atb?^e16u$x>L$SvVPj$S2 zxKl#abl98(0mh$HQcvJ;d8Ex2rVwHoF3In0};^zia^r24|tzH%X&%VF=owyf*d8aGTXZ)3YILa z0O%8kek_Yk_Xt5Vopv173D$#;i-wQ@B`#R{Zb(P=M=Zf9j)720u(t$=t76kfxtWi_ zH}Do-sw6M$&ekmgWMiS@`u8{JD~*z0w@msFVPHQ9%e4Z+=Bvr`FKprIy+91=Aei)u z9?WhutO!;XvUrbwiC=g_CiiTBi)Xu(9_;ECHm7wYXkj;?3K z>}%3c1mU9sm071^%>}?TJ`UYVzhyj^l%`XvS;*;`eR3(I*Yy!3`!)iUQ1rx47h709 z@Q%4#CCa6ve>Ra##XMK`Cw9r05wCcM2K@v`wNXa)=uV@F-wz$U^gc?{e9$sF0mX|O z2tZyaHL;(R%^0ncxk*_+Bow#1o=C=^(ZOzs07{Rd6%3o4a_6hfLU5RYMe&7Wh^F^c zKi<}e@VLl$61bQAvsj*2f?v|FCWc>EP?>-zfds(5-dcA&q-! zQs_uBJ+~0HC--v2pG_{8HYPMd4%uIjvJx7MWc^pO6jVb6c5JF+&y*S|TeP4z%z_gx zEm}SIM5CGB5k87-x!i9ZWs$hk^$Y;mZ&5(K-}!1dIad5kVD%9oL}tr=`GLl_89?8o z-7Vfq6)gZUHcDpK_#LtXyfH#%AqSuN-D4(Y za19^SIDZ0QdBgfpD;gm03?pQ4x~r$$sOD`8Vf`5nMXrQsafLt4SAP$a+dZj=y;Wc! zV%hPM^&3oEe;|Q#*=?vq-#+W{>C==Rh=&^kErRB~Q0>nud5UZ_`agmA)a7JjOPv#2 zOfeJsQXXyEL@szJo!>c+C&%zVfL}QsjhbUn+m1hK4{f{s$+ zfqEb(k`m!$iXi^DjN+SnvG^-Q?59QqKPd0ue_QbjRt}btqa;kWMC36dfvBzTxDX)^ z=XzX~$Q5r}=fIsuTINjvw(rx6~3GV}2lFOKSgx_Gv`h!e|GA<@gK(znq22WYe z1NNS@A!_UasCWs0yV2WPs2z|>&S%h!LhxhX0pjk9^CQCnAB^U!JTL`dOLQcJY=7W? z?;sq_Tk=-3{>XaWFbL2g*Pac6lkXG!~;R@LL;j;oq}; zxFanDOhT@B7g4E{V`H{W|NG zP&^8QCq(pMc8ui7E@KK7A?!GNWiyClxXt@S-9@$_2+!o!yKWX0cN{#q1xDX+w~mE) zKr}d$%XMpUpS|C?>-Q<4r9eN>@`38v5>lKx|)s|tdhsZ9L8-$dN@!?o| zJw3{f|7ihYt-+aUXPYX{->``U>pTl=1$A4bD|cxQUV=eAqV{tYVNo)?0R3{?S=a%j zOA85bE-m|ySbZU4+)Ag^W4KhUs8WaECU>G_m{Qlj+_SxV908gAx8isW>y!w=VLV1! zCKG*?rzbgfpaofVtL6wKz$}>D`ORQ#dM4!2O73W{SvUdRNcoL;m|M2Xb?*u0146e1 zQzYiIy}8dw0(`Ad7bEuDGgxbQWWg{`Xe(0?w+SnhTHT+qs59k{G8-mQ%C4Z8XX^>v z`?J05<14Hm`aWiID^U*G@waRc`-r~6fHB`R;X&-2SHD;hJ!n0U`bJTtRn49Fgx%x` zjHkBm&U?gs2jH4!CoLPaA?B!cm*>F7X>c)9FjM-HUaW*>7CK90E!M2UR6C$hP>qw& z93L*hO`Q;+_}}vm5;NjQEYPz`jhMX&=&qXdEyS5_HMLB#pdged-YH)(@ph z42GDnAxV#XN0upZOb3hm{e8!Tdr7+Epyf&fve2%&P#f8I(YJAeDM`M&FfF7vGOi>@ zu%FZU6(_-pZqkd^hgcmsbR~yPutCyI2{IT%6fToEo7Rj7T=DtYx|{#2)h>zf>lyme zY3yfftwxK-Z1~0tZ;{(QhUsQ>F`A_7lP<`E^pArfl}JbEjJp1V-Luf~uefeQAP5Y@ zoG2Se7-lhy{l&^!!UmBrn4IeVN}(e%>kkAxc=pLE&fDM?SP}Hl-bTtiaYXB3TV%Mp zW(1e*y4jA}WG-Pvpba6tN)0?{a<*}bET{C@C9MA|zDyM^wfrMB*r>LEgTcMROL3kKNmiT6QkHNx&(Z>bxvZ#R-$TUfOjWQ4 zxBfe;3Q$>L@A;9d{+&ryu{b+BZYG% zyqwOdGZgubH`8$5h@*^6AdS_Q{&@Pdk(e=)u9#);i#teSB@3}rm4=4IQhz}ynSB!5 z+1g^sORd>^pqY^iR2ly9ZQ9U^{a-6G>koNRpRc~&Yc0g7U7YxdP=KBXjPc1zMSJN% zw*(O);>5*(n;L;(Ci}qH;|jo6#AIs@U?SNBLACXYZ7caN-?1Tzu5f{liKX|&4E$w0 zbXBv*uOIeFf?=%x&-M=Cz@8oDY6WPH#dM8DKkcsB2Y~#9CLzFN@{-g=ivn(vpdx0O z5kcX*$U=>rJA$tloq(lb4AmgaaTEN@>2BF*#YnCTpK-~v(kL@0hOaqa>Adk@$0^^n z|NlKyl2wW^`+SQW`a|hXC=cRV;4WI{2F8|RC`l!8 zXVpOUa-lpn$z!(a60|4fC}2q@ji|FHjkOdPd#DyOy?>OA1JJW98l)-zy3Rc%0o6;; z-#mU?uFFS)iLyParr*j9X&>=Thv|YYWhYC_dEfN;cCMGT|EswWr~*t6aH%@yMWpK+ zgUQA%Zkxo`3U@vL%5?*%J~5k6vjE!i$VvZHx&u-epyJQhsEDN!e*d}3SmIK=fP9-Q zs4tpALM{lf$Z3zSbZy+zK_^Hn*$58)yGzjF@$xH!3dOBHJ#&w|8<#A|^c;}9Er3qu zs+0IMrO1f&N5gvCaqbi7_r}0{!eR3GoKnEfjt)5k&y>gqo%)==WhOZ>P+5dZfDvJf zsOlXfS{>4@Uhp7a$_dooxcUSqvJdBzP#cxYXtwSU9N-lo4A(&QEYlqU*SmIz2!p8V zhaLWY)5U5OO_qbi<)4^Ig4UQ1`xyfC7T|?}P zl|cUn3`-t>zHUEyPqUB8$TpOjP-H4vayoJzi0u~59E$*hsshlJB+{x~eZ+?%#r-Ir zDwpfumv2x^`>6|5X*aR++?S89T7lqo`?=TW4mcBd z_HaTG?n7`5>LzEG*8o%ahRXxtkGGMj;?KVRDH~CjgyI$t;9EQ1zJcL5SMU0!tCoR7clF!nSN$pCJHXbs2$}|q)lm>q zP*NthP33!Elz{1D5y-^MY8um@_lNbDs@PwwK5lcfzGGkhnrI~`v$tOI z`FDYXdc?hp&Ew5sdn{pkPCsDCV#LtDkLGMuRsj=N)zcL6ZmDhi_SByoMhPg

~Y{ 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, where `` corresponds to the value of `AUTH_TOKEN` in the `container_env_files/cgw.env` file of this repository -- Optionally: Add the Safe Master Copy of your network at `http://localhost:8000/txs/admin/history/safemastercopy`, where `version` corresponds to the version of your deployed Safe Master Copy. Check L2 if it concerns the Safe L2 version. This is required for chains that were not added to [safe-eth-py](https://github.com/safe-global/safe-eth-py/blob/master/gnosis/safe/addresses.py) +- Leave chains field blank +- Enable every webhook option and click `Save` # Safe Web App From f86752a8726ebf5ce9c5e407b33097c48fca0981 Mon Sep 17 00:00:00 2001 From: moisses89 <7888669+moisses89@users.noreply.github.com> Date: Thu, 5 Oct 2023 10:00:16 +0200 Subject: [PATCH 4/4] Change evs to events --- .env.sample | 2 +- container_env_files/{evs.env => events.env} | 4 ++-- docker-compose.yml | 14 +++++++------- docker/nginx/nginx.conf | 8 ++++---- docs/README.md | 2 +- docs/running_locally.md | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) rename container_env_files/{evs.env => events.env} (71%) diff --git a/.env.sample b/.env.sample index 45b0f6f..235e273 100644 --- a/.env.sample +++ b/.env.sample @@ -5,6 +5,6 @@ CFG_VERSION=latest CGW_VERSION=latest TXS_VERSION=latest UI_VERSION=latest -EVS_VERSION=latest +EVENTS_VERSION=latest RPC_NODE_URL=http://url.to.node diff --git a/container_env_files/evs.env b/container_env_files/events.env similarity index 71% rename from container_env_files/evs.env rename to container_env_files/events.env index 29e24de..1fd00c8 100644 --- a/container_env_files/evs.env +++ b/container_env_files/events.env @@ -1,4 +1,4 @@ -DATABASE_URL=psql://postgres:postgres@evs-db:5432/postgres +DATABASE_URL=psql://postgres:postgres@events-db:5432/postgres AMQP_URL=amqp://general-rabbitmq:5672 AMQP_EXCHANGE=safe-transaction-service-events AMQP_QUEUE=safe-events-service @@ -6,4 +6,4 @@ ADMIN_EMAIL=admin@safe ADMIN_PASSWORD=password WEBHOOKS_CACHE_TTL=300000 NODE_ENV=production -URL_BASE_PATH=/evs \ No newline at end of file +URL_BASE_PATH=/events \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1a494c6..5486ef9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,7 +32,7 @@ services: - txs-web - cfg-web - cgw-web - - evs-web + - events-web txs-db: image: postgres:14-alpine @@ -50,12 +50,12 @@ services: - ./data/cfg-db:/var/lib/postgresql/data <<: *pghealthcheck - evs-db: + events-db: image: postgres:14-alpine environment: POSTGRES_PASSWORD: postgres volumes: - - ./data/evs-db:/var/lib/postgresql/data + - ./data/events-db:/var/lib/postgresql/data <<: *pghealthcheck # Safe Transaction Service @@ -171,12 +171,12 @@ services: retries: 3 start_period: 15s - evs-web: - image: safeglobal/safe-events-service:${EVS_VERSION} + events-web: + image: safeglobal/safe-events-service:${EVENTS_VERSION} env_file: - - container_env_files/evs.env + - container_env_files/events.env depends_on: - evs-db: + events-db: condition: service_healthy general-rabbitmq: condition: service_healthy \ No newline at end of file diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 6fdf48e..51c0892 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -51,9 +51,9 @@ http { keepalive 32; } - upstream evs_app_server { + upstream events_app_server { ip_hash; # For load-balancing - server evs-web:3000 fail_timeout=0; + server events-web:3000 fail_timeout=0; # # fail_timeout=0 means we always retry an upstream even if it failed # to return a good HTTP response @@ -135,14 +135,14 @@ http { } ## Events service mounting point - location /evs/ { + location /events/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; # we don't want nginx trying to do something clever with # redirects, we set the Host: header above already. proxy_redirect off; - proxy_pass http://evs_app_server/evs/; + proxy_pass http://events_app_server/events/; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; diff --git a/docs/README.md b/docs/README.md index b7c4273..019a661 100644 --- a/docs/README.md +++ b/docs/README.md @@ -18,7 +18,7 @@ CFG_VERSION=v2.60.0 CGW_VERSION=v0.4.1 TXS_VERSION=v4.6.1 UI_VERSION=v1.2.0 -EVS_VERSION=v0.5.0 +EVENTS_VERSION=v0.5.0 ``` You can change them to the version you are interested available in [docker-hub](https://hub.docker.com/u/safeglobal) but be aware that not all versions of our services are compatible with each other, so do so **at your own risk.** diff --git a/docs/running_locally.md b/docs/running_locally.md index 534bdda..258df0d 100644 --- a/docs/running_locally.md +++ b/docs/running_locally.md @@ -85,8 +85,8 @@ AUTH_TOKEN=some_random_token For the Events service, follow these steps: -- Access the admin panel at `http://localhost:8000/evs/admin` -- Default user and password is defined in `container_env_files/evs.env` +- Access the admin panel at `http://localhost:8000/events/admin` +- Default user and password is defined in `container_env_files/events.env` - Click on `Webhook` at the left column and then click on `Create new` - Set the `Url` field to `http://nginx:8000/cgw/v1/hooks/events` - Set description `CGW`