From 85e2e0cb7b288b501dd041a3e97cbbca091fe07b Mon Sep 17 00:00:00 2001 From: Carson McManus Date: Wed, 13 Sep 2023 08:49:14 -0400 Subject: [PATCH] Port the latex spec into typst mostly (#3) - convert motivation chapter - add figures, a bunch of text replacements - more text replacement - more text replacement - generate the api endpoint table from the actual API docs --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- api-proxy.typ | 67 +++ api.yaml | 723 +++++++++++++++++++++++++++ constraints-justification.typ | 36 ++ elicitation-validation.typ | 27 + figures/api-balancer.mmd | 10 + figures/api-balancer.png | Bin 0 -> 12432 bytes figures/balancer-internals-class.mmd | 70 +++ figures/balancer-internals-class.png | Bin 0 -> 60132 bytes figures/client-connection-state.mmd | 11 + figures/client-connection-state.png | Bin 0 -> 30197 bytes figures/components-monolith.mmd | 16 + figures/components-monolith.png | Bin 0 -> 43447 bytes figures/create-room-diag.mmd | 27 + figures/create-room-diag.png | Bin 0 -> 63999 bytes figures/deployment-current.mmd | 21 + figures/deployment-current.png | Bin 0 -> 53539 bytes figures/deployment-new.mmd | 23 + figures/deployment-new.png | Bin 0 -> 59998 bytes figures/duplicate-rooms.mmd | 15 + figures/duplicate-rooms.png | Bin 0 -> 40544 bytes figures/enduser-usecase.png | Bin 0 -> 33970 bytes figures/enduser-usecase.puml | 24 + figures/gh-incomplete.png | Bin 0 -> 49174 bytes figures/gh-issue-sample.png | Bin 0 -> 132973 bytes figures/github-project.png | Bin 0 -> 142852 bytes figures/gossip-class-diag.mmd | 27 + figures/gossip-class-diag.png | Bin 0 -> 35177 bytes figures/hosting-use-case.mmd | 9 + figures/hosting-use-case.png | Bin 0 -> 26773 bytes figures/join-room-happy-path.mmd | 16 + figures/join-room-happy-path.png | Bin 0 -> 34418 bytes figures/join-room-stateless.mmd | 19 + figures/join-room-stateless.png | Bin 0 -> 29680 bytes figures/monolith-class-current.mmd | 55 ++ figures/monolith-class-current.png | Bin 0 -> 67826 bytes figures/monolith-class-new.mmd | 76 +++ figures/monolith-class-new.png | Bin 0 -> 84890 bytes figures/monolith-startup.mmd | 13 + figures/monolith-startup.png | Bin 0 -> 45010 bytes figures/room-keepalive-timing.png | Bin 0 -> 11341 bytes figures/room-keepalive-timing.puml | 36 ++ figures/test-plant.png | Bin 0 -> 2471 bytes figures/test-plant.puml | 3 + figures/test.mmd | 6 + figures/test.png | Bin 0 -> 19715 bytes figures/unloaded-room.mmd | 21 + figures/unloaded-room.png | Bin 0 -> 48600 bytes figures/use-case-maint.png | Bin 0 -> 16735 bytes figures/use-case-maint.puml | 14 + figures/use-case-self-host.png | Bin 0 -> 8646 bytes figures/use-case-self-host.puml | 10 + join-process.typ | 86 ++++ main.typ | 12 +- motivation.typ | 27 + protocol.typ | 91 ++++ room-states.typ | 48 ++ solution-overview.typ | 49 ++ use-cases.typ | 38 ++ user-interviews.typ | 237 +++++++++ 59 files changed, 1962 insertions(+), 1 deletion(-) create mode 100644 api-proxy.typ create mode 100644 api.yaml create mode 100644 constraints-justification.typ create mode 100644 elicitation-validation.typ create mode 100644 figures/api-balancer.mmd create mode 100644 figures/api-balancer.png create mode 100644 figures/balancer-internals-class.mmd create mode 100644 figures/balancer-internals-class.png create mode 100644 figures/client-connection-state.mmd create mode 100644 figures/client-connection-state.png create mode 100644 figures/components-monolith.mmd create mode 100644 figures/components-monolith.png create mode 100644 figures/create-room-diag.mmd create mode 100644 figures/create-room-diag.png create mode 100644 figures/deployment-current.mmd create mode 100644 figures/deployment-current.png create mode 100644 figures/deployment-new.mmd create mode 100644 figures/deployment-new.png create mode 100644 figures/duplicate-rooms.mmd create mode 100644 figures/duplicate-rooms.png create mode 100644 figures/enduser-usecase.png create mode 100644 figures/enduser-usecase.puml create mode 100644 figures/gh-incomplete.png create mode 100644 figures/gh-issue-sample.png create mode 100644 figures/github-project.png create mode 100644 figures/gossip-class-diag.mmd create mode 100644 figures/gossip-class-diag.png create mode 100644 figures/hosting-use-case.mmd create mode 100644 figures/hosting-use-case.png create mode 100644 figures/join-room-happy-path.mmd create mode 100644 figures/join-room-happy-path.png create mode 100644 figures/join-room-stateless.mmd create mode 100644 figures/join-room-stateless.png create mode 100644 figures/monolith-class-current.mmd create mode 100644 figures/monolith-class-current.png create mode 100644 figures/monolith-class-new.mmd create mode 100644 figures/monolith-class-new.png create mode 100644 figures/monolith-startup.mmd create mode 100644 figures/monolith-startup.png create mode 100644 figures/room-keepalive-timing.png create mode 100644 figures/room-keepalive-timing.puml create mode 100644 figures/test-plant.png create mode 100644 figures/test-plant.puml create mode 100644 figures/test.mmd create mode 100644 figures/test.png create mode 100644 figures/unloaded-room.mmd create mode 100644 figures/unloaded-room.png create mode 100644 figures/use-case-maint.png create mode 100644 figures/use-case-maint.puml create mode 100644 figures/use-case-self-host.png create mode 100644 figures/use-case-self-host.puml create mode 100644 join-process.typ create mode 100644 motivation.typ create mode 100644 protocol.typ create mode 100644 room-states.typ create mode 100644 solution-overview.typ create mode 100644 use-cases.typ create mode 100644 user-interviews.typ diff --git a/api-proxy.typ b/api-proxy.typ new file mode 100644 index 0000000..ce0b194 --- /dev/null +++ b/api-proxy.typ @@ -0,0 +1,67 @@ += REST API Proxy + +== Forwarding API Requests +When a REST API request is made to OpenTogetherTube, the request is first received by the load balancer +acting as the reverse proxy for API requests. The load balancer then selects one of the OTT monoliths based +on the current load balancing algorithm and forwards the request to the selected monolith. The monolith processes +the request and sends a response back to the load balancer acting as the reverse proxy. The load balancer then returns +the response to the client that made the original request. + +#figure( + image("figures/api-balancer.png"), + caption: "API Balancer Flowchart." +) + +== Forwarding Requests Credentials + +OpenTogetherTube platform uses tokens to authenticate and authorize users. When a user logs in, the +server generates a token that is stored in the browser's local storage and included in all subsequent requests made +by the user. The server verifies the token to ensure that the user is authenticated and has permission to access the +requested video stream. The token is used to look up the session information in Redis, which allows the server to +retrieve the user's permissions and session state. + +== OpenAPI Endpoints Route Specification + +@tbl:endpoints shows each API endpoint and the route it will lead to. Additionally, it describes the function of each endpoint. + +#{ + let api = yaml("api.yaml") + let rows = () + for (path, methods) in api.paths { + for (method, endpoint) in methods { + if method == "parameters" { + continue + } + let category = endpoint.at("tags", default: ("other",)).at(0) + let description = endpoint.at("summary", default: "No summary") + let row = (category, path, method, description) + rows = rows + (row,) + } + } + + figure( + table( + columns: (auto, auto, auto, auto), + inset: 5pt, + align: horizon, + [Category], + [Endpoint], + [Methods], + [Description], + ..rows.flatten() + ), + caption: "API Endpoints" + ) +} + + + +The routing between categories can be determined based on the relationships between the endpoints and the logical flow of the application. For example, endpoints within the "Room" category may have routes connecting to each other within the category, while endpoints in different categories may have separate routes. + +API Specifications: + +- All `/api/room/:roomName` endpoints are routed to a specific monolith based on the `:roomName` parameter. +- `/api/room/generate` and `/api/room/create` are routed to the monolith with the least number of rooms. +- `/api/room/list` is a special case and will list rooms from all monoliths. +- `/api/status` and `/api/status/metrics` should not be forwarded as their responses are specific to each monolith and are only used for monitoring purposes. +- All other endpoints are stateless and can be routed to any available monolith. diff --git a/api.yaml b/api.yaml new file mode 100644 index 0000000..af308ea --- /dev/null +++ b/api.yaml @@ -0,0 +1,723 @@ +openapi: 3.0.3 +x-optic-path-ignore: + - "**/*.+(js|ts|jsx|tsx)" + - "**/*.+(css|vue|jpg|jpeg|png|gif|ico|svg|html)" + - /@(id|fs)/** + - /node_modules/** +info: + title: OpenTogetherTube REST API + description: + This specifies all the endpoints available on OpenTogetherTube. All + endpoints are subject to change spontaneously and without warning as new + features are added or bugs are fixed. + version: 0.2.0 +externalDocs: + description: Other docs + url: https://github.com/dyc3/opentogethertube/tree/master/docs +servers: + - url: http://localhost:8080/ + - url: https://staging.opentogethertube.com/ + - url: https://opentogethertube.com/ +tags: + - name: room + description: Operations on Rooms + - name: data + description: Grabbing metadata + - name: user + description: Operations on Users + - name: dev + description: Endpoints only available when not in production mode +paths: + /api/room/list: + get: + tags: + - room + summary: List open public rooms. + description: + List open public rooms. If a valid api key is provided, it will + list all rooms, including unlisted or private rooms. + responses: + "200": + description: + List of rooms, sorted by number of users in descending order, then + by room name. + content: + application/json: + schema: + type: array + items: + type: object + "/api/room/{RoomName}/queue": + parameters: + - $ref: "#/components/parameters/RoomName" + post: + tags: + - room + summary: Add one or more videos to the queue. + requestBody: + content: + application/json: + schema: + oneOf: + - $ref: "#/components/schemas/VideoId" + - type: object + properties: + url: + type: string + - type: object + properties: + videos: + type: array + items: + $ref: "#/components/schemas/VideoId" + responses: + "200": + $ref: "#/components/responses/Success" + delete: + tags: + - room + summary: Remove a video from the queue. + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VideoId" + responses: + "200": + $ref: "#/components/responses/Success" + "/api/room/{RoomName}": + parameters: + - $ref: "#/components/parameters/RoomName" + get: + summary: Get room metadata + tags: + - room + responses: + "200": + description: "" + content: + application/json: + schema: + oneOf: + - type: object + properties: + grants: + type: array + items: + type: array + items: + type: number + autoSkipSegments: + type: boolean + users: + type: array + items: + type: object + properties: + status: + type: string + role: + type: number + name: + type: string + isLoggedIn: + type: boolean + id: + type: string + required: + - status + - role + - name + - isLoggedIn + - id + visibility: + $ref: "#/components/schemas/visibility" + title: + type: string + queueMode: + $ref: "#/components/schemas/queuemode" + queue: + type: array + items: {} + permissions: + type: array + items: + type: array + items: + type: number + name: + type: string + isTemporary: + type: boolean + hasOwner: + type: boolean + description: + type: string + clients: + type: array + items: + type: object + properties: + username: + type: string + name: + type: string + isLoggedIn: + type: boolean + required: + - isLoggedIn + required: + - grants + - autoSkipSegments + - users + - visibility + - title + - queueMode + - queue + - name + - isTemporary + - hasOwner + - description + - clients + - type: array + items: {} + "304": + description: "" + content: {} + patch: + summary: Change a room's settings or claim ownership of it + tags: + - room + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + properties: + title: + type: string + description: + type: string + visibility: + $ref: "#/components/schemas/visibility" + queueMode: + $ref: "#/components/schemas/queuemode" + autoSkipSegments: + type: boolean + grants: + description: + Map of role numbers to the bitmask of permissions that role has + been granted + type: array + items: + type: array + items: + type: number + example: + title: New title + - type: object + properties: + claim: + type: boolean + example: + claim: true + responses: + "200": + $ref: "#/components/responses/Success" + "400": + $ref: "#/components/responses/Error" + "401": + $ref: "#/components/responses/Error" + "500": + $ref: "#/components/responses/Error" + delete: + description: Unloads the room from memory, if present. Does **not** delete + permanent rooms from the database. + tags: + - room + responses: + "200": + $ref: "#/components/responses/Success" + /api/user: + get: + tags: + - user + summary: Get the current user associated with this token. + description: Get the current user associated with this token. Effectively + represents a session. + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + username: + type: string + loggedIn: + type: boolean + discordLinked: + type: boolean + required: + - username + - loggedIn + /api/room/generate: + post: + tags: + - room + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + example: true + room: + type: string + description: + The name of the room that was created. Should be automatically + joined by the client. + required: + - success + - room + /api/data/permissions: + get: + tags: + - data + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + roles: + type: array + items: + type: object + properties: + name: + type: string + id: + type: number + display: + type: string + required: + - name + - id + - display + permissions: + type: array + items: + type: object + properties: + name: + type: string + minRole: + type: number + mask: + type: number + required: + - name + - minRole + - mask + required: + - roles + - permissions + /api/room/create: + post: + tags: + - room + requestBody: + content: + application/json: + schema: + type: object + properties: + visibility: + $ref: "#/components/schemas/visibility" + title: + type: string + temporary: + type: boolean + queueMode: + $ref: "#/components/schemas/queuemode" + name: + type: string + description: + type: string + required: + - visibility + - title + - temporary + - queueMode + - name + - description + responses: + "200": + $ref: "#/components/responses/Success" + /api/data/previewAdd: + get: + description: + Used to display videos to the end user before they add them to the + queue. Effectively allowing them to "preview" the add-to-queue + operation. + tags: + - data + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + result: + type: array + items: + type: object + properties: + title: + type: string + thumbnail: + type: string + service: + type: string + length: + type: number + id: + type: string + description: + type: string + mime: + type: string + required: + - service + - id + "400": + $ref: "#/components/responses/Error" + /api/user/auth/discord: + get: + tags: + - user + responses: + "302": + description: "" + content: {} + /api/user/auth/discord/callback: + get: + responses: + "302": + description: "" + content: + text/html: + schema: + type: string + /api/dev/reset-rate-limit: + post: + tags: + - dev + description: Only available in development mode. + responses: + "200": + $ref: "#/components/responses/Success" + /api/user/register: + post: + tags: + - user + requestBody: + content: + application/json: + schema: + type: object + properties: + username: + type: string + password: + type: string + email: + type: string + required: + - username + - password + - email + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + user: + type: object + properties: + username: + type: string + email: + type: string + required: + - username + - email + success: + type: boolean + required: + - user + - success + "400": + description: "" + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + error: + type: object + properties: + name: + type: string + message: + type: string + fields: + type: array + items: + type: string + required: + - name + - message + - fields + required: + - success + - error + /api/user/login: + post: + tags: + - user + summary: Log the current user into an account. + requestBody: + content: + application/json: + schema: + type: object + properties: + username: + type: string + password: + type: string + email: + type: string + required: + - password + - email + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + user: + type: object + properties: + username: + type: string + email: + type: string + required: + - username + - email + success: + type: boolean + required: + - user + - success + "401": + $ref: "#/components/responses/Error" + /api/user/logout: + post: + tags: + - user + responses: + "200": + $ref: "#/components/responses/Success" + "400": + $ref: "#/components/responses/Error" + /api/auth/grant: + get: + summary: Get an auth token. Required for most other operations. + description: Get an auth token from the server. + responses: + "200": + description: "" + content: + application/json: + schema: + type: object + properties: + token: + type: string + required: + - token + /api/auth/discord: + get: + responses: + "302": + description: "" + content: {} + /api/auth/discord/callback: + get: + responses: + "302": + description: "" + content: + text/html: + schema: + type: string + /api/status: + get: + responses: + "200": + description: + The status of the server. This is used by monitoring to determine + if the server is online or not. + content: + application/json: + schema: + type: object + properties: + status: + type: string + required: + - status + /api/status/metrics: + get: + responses: + "200": + description: Metrics exported for Prometheus. + content: + text/plain; charset=utf-8; version=0.0.4: {} + /api/room/{RoomName}/vote: + post: + tags: + - room + summary: Add a vote for a video. + parameters: + - $ref: "#/components/parameters/RoomName" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VideoId" + responses: + "200": + $ref: "#/components/responses/Success" + "400": + $ref: "#/components/responses/Error" + delete: + tags: + - room + summary: Remove a vote for a video. + parameters: + - $ref: "#/components/parameters/RoomName" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/VideoId" + responses: + "200": + $ref: "#/components/responses/Success" + "400": + $ref: "#/components/responses/Error" +components: + schemas: + visibility: + type: string + enum: + - public + - unlisted + - private + example: public + queuemode: + type: string + enum: + - manual + - vote + - loop + - dj + example: manual + Error: + type: object + properties: + name: + type: string + example: PermissionDeniedException + message: + type: string + required: + - message + VideoId: + type: object + properties: + service: + type: string + example: youtube + id: + type: string + example: dQw4w9WgXcQ + required: + - service + - id + responses: + Success: + description: The operation was successful. + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + example: true + required: + - success + Error: + description: The operation failed for the given reason. + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + example: false + error: + $ref: "#/components/schemas/Error" + required: + - success + - error + parameters: + RoomName: + name: RoomName + in: path + schema: + type: string + required: true + securitySchemes: + tokenAuth: + type: http + scheme: bearer + apikeyAuth: + type: apiKey + in: header + name: apikey diff --git a/constraints-justification.typ b/constraints-justification.typ new file mode 100644 index 0000000..9df139e --- /dev/null +++ b/constraints-justification.typ @@ -0,0 +1,36 @@ += Constraints & Justification + +== Browser Websocket API Contraints + +The Websocket API allows for one to open a bidirectional communication session between a browser and a server. The connection session stays open until the browser or server terminates it. +This allows for the client and server to send information to the other simultaneously. The browser's API does not allow custom HTTP headers, which means that authorization has to be done after the connection request has been made \cite{MDNWebSocket} \cite{HerokuWebSocket}. + +== Issues with Stateless Balancer + +The load balancer must be able to maintain the list of which rooms each monolith node has loaded. If this does not happen, clients who join the same room will load different instances of the room across different nodes, resulting in state fragmentation. The sequence diagram for multiple clients joining the same room through a normal, stateless load balancer is shown below in @Figure::join-room-stateless} to illustrate this issue. + +#figure( + image("figures/join-room-stateless.png"), + caption: "Sequence Diagram for Room Loading on Stateless Balancer." +) + + +== Balancer Must Use Asynchronous I/O + +The Balancer's workload is I/O bound, and it must be able to handle many concurrent network connections. For I/O bound workloads, it's more performant to use asynchronous I/O\cite{async-vs-threads}. + +== Current Deployments Must Continue to Work + +Once the load balancer is implemented, the current deployments of OTT must continue to function as intended. Likewise, any updates to the Monolith should not affect the functionality of current deployments. + +== Deployment Must Work Without Load Balancer + +Not all self-hosters of OTT might want the added complexity of the load balancer, so it must remain possible to deploy OTT without it. It would also be beneficial to be able to quickly reroute traffic between the balancer and the monolith during the initial deployment stage. + +== Low Budget + +Implementation and deployment of the load balancer must be possible on the smallest budget possible, because OTT is a free service and the maintainer is a student. + +== End Users Must Not Notice a Difference + +The addition of the load balancer must not cause any notable difference to the end users' experience with OTT. \ No newline at end of file diff --git a/elicitation-validation.typ b/elicitation-validation.typ new file mode 100644 index 0000000..0ae75f4 --- /dev/null +++ b/elicitation-validation.typ @@ -0,0 +1,27 @@ += Requirements Elicitation & Validation + +== Elicitation + +The problem domain is very will known, so not a ton of outside information was necessary. The following methods were used to elicit requirements. + +- Brainstorming +- Research +- User interviews to verify requirements, and project motivation + +== Validation Plan + +The success of this project can be measured by the following metrics. + +=== Quality Validation + +- The frontend must work identically when connecting to the balancer as it does when connecting to a monolith. +- All E2E integration tests must pass with and without the balancer. + +=== Performance Validation + +- The Balancer must be able to handle thousands of clients sending/receiving about 2-6 messages/sec, with about 5 clients per room. +- Requires a custom performance testing harness. + +=== Balancing Validation + +- The Balancer should generally evenly distribute load across all Monoliths. diff --git a/figures/api-balancer.mmd b/figures/api-balancer.mmd new file mode 100644 index 0000000..c2afb84 --- /dev/null +++ b/figures/api-balancer.mmd @@ -0,0 +1,10 @@ +flowchart LR + Cloudflare --> Heroku --> Balancer + + A[Monolith] + B[Monolith] + C[Monolith] + + Balancer --> A + Balancer --> B + Balancer --> C \ No newline at end of file diff --git a/figures/api-balancer.png b/figures/api-balancer.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2d51a12c35331fe465866fbe2ea8c7a33c93a5 GIT binary patch literal 12432 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 + ctx: Arc~RwLock~BalancerContext~~ + ...[channels for receiving new nodes, and messages] + + new_link(): BalancerLink + dispatch_loop() + } + + class BalancerLink { + new_client_tx + client_msg_tx + new_monolith_tx + monolith_msg_tx + } + + class BalancerContext { + clients: HashMap~ClientId-BalancerClient~, + monoliths: HashMap~MonolithId-BalancerMonolith~, + rooms_to_monoliths: HashMap~RoomName-MonolithId~, + } + + Balancer --* BalancerContext + + + + Balancer <-- BalancerLink : sends inbound msgs via channels,\nreceives channel Receivers for outbound msgs + + class NewMonolith { + monolith_id: MonolithId + } + + class BalancerMonolith { + monolith_id: MonolithId + rooms: Hashmap~RoomName-Room~ + } + + class Room { + name: RoomName + clients: Vec~ClientId~ + } + + Room --o BalancerMonolith + + class BalancerClient { + client_id: ClientId + room: RoomName + token: String + } + + BalancerContext --o BalancerMonolith + BalancerContext --o BalancerClient + + class UnauthorizedClient { + client_id: ClientId + room: RoomName + } + class NewClient { + client_id: ClientId + room: RoomName + token: String + } + + NewMonolith --> BalancerMonolith : consumed to create + UnauthorizedClient --> NewClient : when auth token received + NewClient --> BalancerClient : consumed to create + + Balancer --> UnauthorizedClient : create upon websocket + Balancer --> NewMonolith : create upon websocket \ No newline at end of file diff --git a/figures/balancer-internals-class.png b/figures/balancer-internals-class.png new file mode 100644 index 0000000000000000000000000000000000000000..81aa6b2831581e722000e9ef7c8d4e42c4a0027a GIT binary patch literal 60132 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 wait: New connection + wait --> proxied: Auth message received + proxied --> disconnected: Websocket connection terminated + proxied --> proxied + wait --> disconnected: Time out after 10s + disconnected --> [*] \ No newline at end of file diff --git a/figures/client-connection-state.png b/figures/client-connection-state.png new file mode 100644 index 0000000000000000000000000000000000000000..f17e191c1105c6af2e13f0fbbe8201f8e6c307ea GIT binary patch literal 30197 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 V-S+-7oa0KOB!6BmTlVsu{{wXXbKU>| literal 0 HcmV?d00001 diff --git a/figures/components-monolith.mmd b/figures/components-monolith.mmd new file mode 100644 index 0000000..0ba5474 --- /dev/null +++ b/figures/components-monolith.mmd @@ -0,0 +1,16 @@ +C4Component + title Internal Components of the Monolith + + Component(api, "REST API", "", "Handles HTTP requests") + Component(roomman, "Room Manager", "", "Manages Rooms") + Component(storage, "Storage", "", "Handles Data Persistance") + Component(infoext, "Info Extractor", "", "Extracts Video Metadata") + Component(clientman, "Client Manager", "", "Manages Websockets") + + BiRel(roomman, clientman, "Send messages") + Rel(api, roomman, "Uses") + Rel(roomman, infoext, "Uses") + Rel(api, storage, "Uses") + Rel(roomman, storage, "Uses") + + UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1") diff --git a/figures/components-monolith.png b/figures/components-monolith.png new file mode 100644 index 0000000000000000000000000000000000000000..58834529254b818144d09d675bfd2979df6c9c3c GIT binary patch literal 43447 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: Hello, I want to generate a room + OTT->>+L: POST /api/room/generate + Note over L: Determines which node has least load + L->>+N: New room generated + N->>-L: Room "uuid" successfully generated + L->>-OTT: Room "uuid" successfully generated + OTT->>-Alice: Room "uuid" successfully generated + Note over Alice,N: The room is now ready for Alice to join + else Room Creation + Alice->>+OTT: Hello, I want to create room "foo" + OTT->>+L: POST /api/room/create + Note over L: Determines which node has least load + L->>+N: "foo" is created + N->>-L: Room successfully created + L->>-OTT: Room successfully created + OTT->>-Alice: Room successfully created + Note over Alice,N: The room is now ready for Alice to join + end \ No newline at end of file diff --git a/figures/create-room-diag.png b/figures/create-room-diag.png new file mode 100644 index 0000000000000000000000000000000000000000..604c518b6d809f07f85df65c276dc8d5bd7e3e7c GIT binary patch literal 63999 zcmb@uWmJ}3)HRBtB8ng)rIa8gNOvkyk`jU-(hbs`q97n8AYCfm0@5iR0!nvxcgI;5 z&+~q7edo^^$1xn<-f_j=d#yFsoO55kFJ#1S-MDuH1qJ2Sb8%sL6cp6kC@7a3u3v+9 z6kMQBcTGo(n%!bckIUb#%DnK22a+9cc18JrapZtC--NedGAwm{l-H~@yqCvLU)9C z7PHq#)l|vQZOA@*p1H<1iOJiREoFE2KCg6@=`~@&sCy!e{CRkNE+6xsmya+hZ<8Z` z?y&uTdtsu2Mn*2*$HK}Q#cR)SpVRCiJ-z?Hz$+5B1Fd_UW-epH>V?L*Z_4c&R_(fr z%{9i{&rjujN^~(v1%6jJZXawmky>&QDP}18YSn%Go2S#{N75EdA$G7@JZ?Bz#?Dx= zahaK!d1tA2`Tg4VbdaEaM=W`Nap&crtKE$gpEmW zQWnc8;S`xT31j0Wk)YZ61b6-J6loL;LYA5L)L7IuYa>ziV~*a)-`TbZokCTWBGW;U z!D650WKoLS@z;mS3bYX0 zkNj#4qbr?{cV77O4RvvG@gX%etIL7K&`+bf#(?{W^MdEkXIsOJ#;f?3`*RKceiuot zkAVYZsTBNB%_jKxtHg5JCn(6^&)27Fw!JS`#wueDx98D@%m?$m-oL+m4U2^6RbPpv zj=;&rvsf8w6qEj($2L-!-XF#)ox2mou)4as#GgOcYV;@UNs~)#-s6Y~5O6)R=zXay zS8n&#tbCP&N;V$jUEA!`FErAbR=Ql>vy(%IN_FGj3=s*58+mzo^$iW1d&A}mnM#iX ziMZd7uN%z$jyiA=fZzQ-J3UTUNW~NjBGH?u@%U-@m)wG0JvYLrJ0;Kk+-<~+lXJ|0 z;`Df5aN607BL=z2akt}D!sDMMv-=~~Sp90&w~qH#b>=(bMqKwtO-IYZV3e7)>#wU8 z8rzZ>B>9M6)%5Z4{DCEKP!q}LXqC5|;5bJ({a1{X9ixs3X3d{>y`tNqRPCb{L1Sia zl`$V27J2Q*SY>$k?p*?Stx8|Eo9g2+XSv=Lm<3jk+5Ls$9#p z2tMZNwc$+FZsPBY zLyb4w5Ak^eiBECXD5-@^z$cMPQ{i4N>26JQO!;&&WW4g^XJb!%u8Mu znYMVM<6K^jVK-4S6vXqJ{W9%*b~vw6YDH;Q9P`?|GAuKvEMq{&iYE?2AN4jdv9yd# z2jOvzapASVOuN+~7^?(`akM(7=GImo9ruS1A8Hn=q8_()bWm|~M}VzcqSr?)rj+o7KYYyGBY(|BxkOfrY(QL&NwFYm^*D;cW5 zDCSn5@wio!77YIW^X(ZSj|~l-QWhB{W%7W|mQ!WwPLuCJN6(qC;HBR&oIx<-aFwK( zL|irS3)V&Jba6&ntH;QI{xd|uM=O2;D(Uw zgNlZUvH_|0huf(W6c67|pUC<6V(YxI3M{8Z`AD!VPRMua?K`?6Y24!2R6_4M@e%tm>jpnc*`nYuD8Ktb`L z%y#+m#^HPd+TL4^7}Rrt7^mH(JlA78l&iPr#@*r6`7T(z--M7Xzctqp*A~ldz3?{?4I3M~C;N2-1m%lli7I-B6L&azQ%>p3R#F+R9@ukOWqv*PXo1KFe9 zW$y-U+O5b>3TmXWIp*V4zvFl#U=>;&uNLFr;x>F2@mm(J z^#dAKirHux3?AN6D7;`c8{tCIlElLCl&9sl&*ce zqjsb!{P1q1zh>ia5#gEl$7|*5unb5nEiGL(exV^nN&k0bK4#``U48w0qi!m*icQf9 zbw>LUOSIgIts4+Fdc@I?1iG(#`iOID5nO|`N=Z(BIi?*ivVb&$oPt87(urL%f}z2b zqdQkakP?fWeD<9v*+00&u*_HW;??_N_&8S|j#@7~BF-h7eSRJG)*uZZ=tFeNoB$4w@74``Zqrz{;Ux!QYj)_Z(Bkz*@5NRUYw zp1W^zhp$p*h1@d0MN26d5t*`c!jvvlhnO6PfLMmpmXqG|HsXQrlwiIM#-rz$;QO?`|(skYrO_z-ZPbS zJd--pK7(XFtNCMYt3Mx_KIHqb=;lTL82qN1MXYeOnd-}vE40+zZ64#>=($T|S^3%Z zxtu4TD+TezO1w%wcHF%E&GY@w(ZfhnB~zJEWre;962UPYvn96cbjvT2uG2neSP8bv zvUAl@=o@h)k#ZAc-X+o_{uJA|&N{F^ez`V-i|KXixyW*I4q5+)x=X#<5^iyhc}AMd z*WE~UlW;X}7Q`xSp=h!^b0}m|D;2PkE!$Lm_)5KVvlK;wq!lf*-G5O3S6puJ*DWf+ zPVWY@ms>An2I}4tLGJ?Rhx@D>K`staXVAt%w!@-tvEG zJg&d*f2&y(E~Bhs+B837{OHrg@(`9Fd#|X9Uhi9m9bNkn`7UlSoFTG(!aAY@_uSWD ze^@c>A|4)*QQm%P;rV*QQDR;$fVxPhAahv+PMI|I_oeA=^2}G8GZ7uvJv&$Hj5)P> zA@q>d_XG}qTV>Z_l0muXxT0u!|6a*9pJE`xIqo&&x5A&kUm?G)RPNjQS4nMft%e_C zeriDrpWyb(ZuL)pFM>mj54l1L28{AFNfVIsG&g*` zLN2a8Bye zY!~jhgzqSJql4?-L#-3Tmi#SyrD$Y6h4&u$}M zm?GWsK}~*dZS6zf9;!-EslBh=@4yOg8P|KhB9Yx zLV||zG0&zWEe*}rH|2CF0~L-G@Wo4C#exD)PPW74hc#&a;O6*Tc}$hUG456#U|v1i z7@=V{v6y=PE0`imk2qZ1tH1I%+oQ7&dWrU*M$>IP4})(q2viA}SMDy+wkc&f#6(68 z;p@5s;J?lPou^Wc#D`S&Z-cMWfZ`oxB=tk7pDrb{?DT**{+{}n>%$7S{K0~#rj zNTt(m6qD8!rAz>*k<2;|?sK>_nOCn)`BLlu&~JZq4WlG%W`<&5)vnC$Z5>^1MO&7N z!ayZ2VexSLElwMqkrG-WUOWH4iQbkAe=d!zU0$npzjD4USZuxBzG~E;gIaEP+WOi& z?r>N&xGN;g*3+AmL`p`6!_59top(@*^Zx6>Vn#1-l6zNb@^ni1&JJvNY?oTATxl@~ zyMmgVCD`5$k*B#5@j1MMvWa@Pd^D8*ctuU%%z;}eGi+dhhwperzAxt#pRw}iXZR(Q z|EGW^{qPx^bXk~~hd?ow-OxIkDW`bRsd zfJ9zpD{+{QHGjNS4(tD`^S+70$>yTXiUU6~nL0rM6A9-o!JOl27&T?KCWgaBs4<-8 zGqUbwpH5ux#e(L3INP%%xa8y2F*!_nAzd9FedN>SzSYw8s!3$_Wa6SNPj@-B3RTnJ zlrt!#cF<0%2fxU-n556CUc8M&Nm{xnsFGv8d}1~PLd{c8ZS;({sGp_|H~ zSL5<~ZB`mEStphUs|JrD_T`LS^}!SckG)x7TUgWIL~g*n)F=&R`??IuBy>tH0d-9I;1nF`^urwWf2h?Zr*e4uQfKR!v0L}AD6BcRaI{__nd`?W^< z4=t?je7)Bw

z9linKJ4fv#+U6MD$p2T|H@nLOl-wLTp)wSNhOvbaIDI`lP>JYyP z*~P$|MqZ}Az6Tnvz)qa@Rvw{hH~ut*R0jQmD8bWoLO>e_r*1{&;}YJOahFQwqGd+h z-8Gi_vc;78u(!6i2Y(u&?vI~y_T_4{K|mmLeCr-t?eZ>*g{C<&0;Bfhe!a%C(Azy= zTqhuP-C;mc$_#*|it^LQ+IG;!(=$sthT}@r-z=qU9%kmk!`0$9$l8XbJ3SkLuT5|* zD$4uP!E8jr;%GT33Nf#GP=owVvFK>ouJ&XtCCbXk;my;d-HFUx4m^mq-W+1F^Rr3| zuG)j${)EM`Qzhd*|8LJj^#@EjP%@NrTOdK5>~vqtsX8jFSsrs*W(Bl(pVO_g#Ig=` zn2(wLuYLioP+>-C;5gPF|;g1Ek_J(tD3r43yLhV`X z*TxTzmLCg4Z?RGL0d@HXHQhDM+I7Lgcfo_Ejrs+fXUCbcjsgA4y#`VYB{0Eql}@+f zp>o{gFqP`fkn^x@a2@-)uzf7G+S#bheHg-ZFi8DPf>SQRqrteA&y$ZBYFI~h>|7$ zPHCyw;iUKa!oa4J+nM7{^QuzMzU<-cdK}g?dCE^aJFY)X`aOaK-LT$`jHosGJ2IvD zF$LfJX1l!SvOmg+qN__ZSL4C9)NkJW>%*d&o8x7awg|?$RXfx_X>vFmW+xslh ze*52vcx*ls^A-hvwh+l1=AWGSg{qjV9tzDBCXu+o>X19Gv9;5QNnchi6GnbP0d!{+ z(9YpK9@-c*phG!0oPW%>{d?uko_}*``E+1;6uXIp=Fc_cS_{lZ?_t!{tnU}NoetG} zN&NmLsdCUXTM6eU!q6J}2IY4CjtX_04p3%_lKN>r9_;B!=dkfh zj&G~^6qrq4AmG+Y=RLkw%iZB7H8MIj9IvvRm>;V=W^p+%Byn?Kay=T6QXga1?{Ep< z*s%DBLHO(ZY(23jhq$T6<5{|T<+byJriUa>h8X+f;}KzWg5OjM!i7ad@Jn+$1<#o_ z23asZ_~ImdSFddI8(l+xJESHJByjQAP}ET2GK<}cu6}2H>p)(p-$*B9vwF^P7m;E! z<>~E12Z**vDJuO=_4-I=tc|U<&WX*EC;?Y>+P$RasNJPrZ=-I696F!>G7I4_JASU- zo^U>LwQj?@?$)SL_Z;-)Dv-%PnVcWalj0c<=S}Y-saU_WZ~AkmSIZw|$7Cu;Nd|Vt zn~7FGw^(Rh)q|coeY$UeD@{wocq6bZUA^to8+MJ>u*(q%{vQO0f{XGoMb0$b>@F29 z4do4eIfFopO@;_16ETP{%w`&!4is_!QU6tXxnQX|kxhB?EXc zGx~l8hc3>(kP!GR3wTtIIR4@k>GGE?15X6RrCaM1Ca8`Ptp3zJFNM$Z6zsHE)w%wc zagi_6>H#jM;T)DUmM78o^K}ZKu(+%6WJ&nWB<%*B?``C8k{|E*+~Kk;u+hb(+r8(V zU~Amv`>+;;68qx*p1-(^orGFFZ*8b?iG7Jn!p8b%ol%Ne-SqSNwbjzQB`5d{;>d}D zZ%U!ps~ouguoojKRZ-Vo_LeJ5$*vz}di~X`&LYc>HT}7x1UUkYlWO61uNjo9ls)_+ zjNE^7@)PuWLTG?GoeFH8$BL6ftG$|BCS7n9H!{>( z`{?{U>4fR*T#(iqqmp&j&*OP@O)GI7(~fs?EOS)a?F8I_Cs&MsJBM{R<~Sc$lYesJ zqOGlsQUW~Ka|ww@nHvwUyfURaajVXG)rM2;(XM{Ut=pR*bJTOPA1%3p34`fGGjFLt zer$k9A0szKF#=y8x4PCvh7HD}!4JPX={b(N>+Z|5t%&Nos^`7R8evZr?-+m27;bK* zsnIU}F7+KFs%CyqEEx$NOgo0R7{so&cc#@ zL?-J2t4LYP!0^Bos=Poi#2N3SHBx%-Zh!u)sYcQpH`Lrl4srK~U)onC__J{qGTh`f z8U41^YRaL7#j2HAld${Z#pn5^Hxr59I}EI5k6Hv)sHm!@WUx7-9{e_HG|nZsn1;zV z#_A-QI3CFAf$Eh`d8UIbq5=0_>JCGeiPdmF4TG`(yl3m@2hU2@%9asr2E+(z;Pq4r z^qK9~)Ka9Ptb&7t8Lo18qsJspx!F|4Pg{Shqf@aERs54lo_?E1#yXu3B{8eS%2hYz znK156rPmD=KSDqK!ZvHfR<{(S`#4ESjrvIBpq9YsBQnH+xYlR1_`c>01E1>T#rj;!(T6ql(Mc@?votvuUFIL`5~+J3sthQ zL2y)53(&5ujMXQ#l8lv}S_H`4w8wB-&xR@E8Jn}5o(JSm=MAqyKk)^j;I+LTUxd|D z!z)wtV-C}|oc2~)VETZ=zX{Z&9$?#sKq1KW@xb{4&84EEVzV+3TwgEjcDk!9ub^08kgSS>HfHEx!o!v1$^7%9JRrLb`e)u!<8NQ zZ*&~0D`wFk3UGpi#1$u_?z~#)XM6o3%90yd9Jgj#^oZ*lrtA)%56+TPxA`qcChUxF zw+PP7H$TAg-ou?>VB-4ODc$z~>uS#Q^10K#rm^swMvpHiHBNQJ9nb1WXT{4Byh$9s zB#Kp>bhe+StEJ!b-Y+*Ao^rZ2;>uWQM)G8ID1a+`mEsY3yoWpS?{k}Szt?4Z4^qr< zLyBiEH{JZWG8iugu})}Y#?n2in4?c&w4J^TGu_;>ajh?vs&u0y;7;y%#0v0e{67RL zLcEgNOXq(IPOEP(kC1&1vag@8WW2YOaiihWhc6P=fujTU*mK zN1FVoUB|qhQM~MR|{4;=I)up&M8DG(|>A90eLb?$X7(xU(1kQ1^)`6^6vj z0{2r+Hvh(f@+Os(lj;6*p(W-VG=&?@ZLB^%R$q*W))GmKd-A5X?+vUpB~WNgY)$&} zxv?C(T*FKyRL)udvWuB|wR$~h_bLNO4C(dD{APk3;z0EEn$?Cmn=N}h$-E1#cx1hr+1;NYs}WaKRk7FWC9u8~cr=g@D;p=OrTJoR{*B{W<_n&6hTYDE z(pdX77s2E6W%4swY|R(nI?5$aSykmO{&CW-Y9VJ={sd%YTNz&ONjfdJAeooK*E zzXwTou0wd&EvgfRweDS^X|`10@5?Y~mK5J|!mu;v6;-21C7FI?buDLP8lNG8T6BRq zhuq*Zl(C61mpjp7;kGmnD3WqCtqUp-_#T8ZBIUE$k%zhR`PprGbYY{G&d${5p#&%( z+}7KV6T9;*2Y*q!5x95-=c4#1i&NeXewp=3!jZtCJ7w1c_}L^j+tr~k$QOB5vl5_j z2&<_P`TF_->1@@2tGuyaeSZ4AAtXLt26Pfc{)0y4D@2RS(PAq8+jDAOn}ru&b2`4z zD!i(2u=Fjq1PKdK58X~So4PP%g&CNkUs4S0`yeTcCtn$C+x(&F7GzCQDcL35()2KeXI)2^)tyX7> zbPSSOKp3m%eyamXU}t5p;0py#u%ukqoZ6_cYxHLcvRd-rC8Lz(XtlGgIt`z4p)VhC zHdpx0w)G!g08&6pB1m7Crpo@w1JxVkyoPs|K5&PGI6tVx!=_D=PnNJ*_~Q}BYi|V! zZnJ}T9T5Z|?$gvOc@U{Q?9t0dR)_oJ?wz29qysTOT=aH&$RxL6dh>@tCkX&m$bMtA z$48*VT9>{LK6#OT-WF1pW^t{X&spa^5o~!W8?u7tp;p^NB8JBG>(t&UtU;0q9@Q z97GHin&1zPO9f?5!?5oO7Cxo;LEKxk{j88rf1l43$c9&-I2v8!7e8 zbXqB;7(xZ~pc1=PuA}{Rk@K_SeA{Iz7FH~c$O&O#2~dntv(zi2i{1`f%`{_^IL=@T zK&M`Hv_!Ymo7n{F`=>Xc8XxZVYpDFtyaYm+=F!d~1~Jc<;&Hbae&@XnP*3CXb61Cp zK~IViVvZFj$(gB9^(_8aG z)xmOmMo^1%L61*LN@8-_F$6uo9r&)=dS4t6x3odF-&r3|`1Jt|O&gIT1y43mp<$U^ z&aKw(&3Ngds||yLsBy>;gTM)QW2ZGvgk75CshqD_;N3&Ht>V>lUDzxfKbQJoucd`I zig$k<*a$q(OdJm;e;K&{RXI4lrm0!DD10|KB#O=G&h}h81<*>du|yy<)xA`H(*Sc< zy46Yt7j*e6w5WXNC);XJJVY4Ghl?J!N3+B1fM_HF7lhjV*|;a|sghD3?Q!8N`U97$ zn$A#a*}3fEvF~5MzH?r$j6f_7=HmiprL%Yw2Op@SIo{rQqO1E*SDm?!#9b+P61iBzF zq}Pp|1%gOr<6{OK(DY}q$mNCLHub>uple{z4O&=D+7r2MODQUaytYXPd5hYX^J`p{ zd@o?)qgV|v|4~e5T0*1v99bAEckZ;bv_O9ccXqEN@9;`)|Ld8e&YrQ!gK37szlmbq zc{*YwE*npwoG*@)TIadqtmNU@x{#9_bp7yJl8j|YV$j*%b~$i0Ft-`%-a<+vUHkaBkaNet36_q~=pm={don=Yz26xeV|R}jP~P_Z@_nHhPRF7E|0 zGONReCPp0@D68OY2o4QJt${x689;ihYBe`s{{MYlwJ9y=H})Ja4vkcnr%h! z3WCgfdK6IrCa^2zsHv>%y?>hkX%}Q-i<6XjoMVP1zZe91>bL*f3)`)#4i&w9J*9(- z&HY9+`o6LmIs@6WC*lE59QYg0WgpxKY}eO0+)_AC8+Dx5K-eG~6xAZrw!Kv&l!h_k zRe`x*i=G+mY&(?X$%z`(ZuIIEk>IF_2a6B0K?jl3&VonxViGX2QqgQkogt3^SI|D? z*!U-0Is$$tHZUqsgDB`-_v`D^4+Pv+5ApoG@YNkWK#Rm7B=m*61RM;V-RqYbis%`q zAVoXu{1x-{^V5MS1Aoc~1Tup-YF4?c1O}YDhQoy>$`Fsz5e#oOj!$jY$KoJ z9lR0|mYHka)v}JX47Vkl^=Y~OEl&;VC~7*%O2^GmPGbIO`7{fI`!;UQ~rMx9(N>xWd@1g`uh5O%-N70I6qihh)U+aS6I#-iA!5q zI%;3(lh4t5Xhqx7vSS5h9KD^rcR?FHJ##2lit%ueBt!U3q+fXAyHWiKjAIIFYtPpf zT(-dv$>;S!l?HBm8fhBzh+8RVL3Y)jZVb>P{^+BKl7TAs3aT%5*yBhkyGP39Ox~_c zS3&c5Nq09`{@Wraen-AuTPx2M>~u0kwC_JYmvt2mwtFh`IP)UF6Z-|R&v#Enb6o=m zxX3VD0t80NKTV=4ZSJ6X`XKN2ZF!2@z1r;Vz!?Y&zfa}4?FD(rldfM(zpOl~?xOX) zA!JK-<7WDm+G&nv-VB@zYuWqh*4;@io7Up;&7rhtmX|KRz>A@KTNP|nEU!(jm( zhH&7&d3+&a&DcDTv2GFXzIzbr)ziP(lrWhYlZGf!54rxm!wl31$i-29L#{#5JPq?g z$ok^B^yDrc9PMSsAlnrXlgY`S`k5^BT(370%HZTPtB#+hyLhvWcd2fAFT$2!R>Ft! z_P+=Fr9kXcD`b2lbm@X85PzPADXjH?{WA3Tz0y6%@9zBUd5F&)HI|Q=sD=*rsLwg+ z-}CQBL&SGV$6wrzLZl+vg~ToK&)8yL|8GZo^dDcRMMv^u{hjOEl-qYx;`yEP-OtYy!fj!V zgT>kVtxfd^Lq@jeGIf^^-$gyFQmCLKh=FD@xbK}qRF$g2OtY1cR;B*bCin|CB6YD{m`cg4UKf0;c$ z+ph*@jnjfBPBB|Gtclb;781%6HL#Dhgi;rPeQc>Gy$+H!A(sW&W7VHD`R)i{gOV?u zty;)sHFMpqIstOOHcQke(`wCMmw`VV%+o=$p8Kr@jvJ&xLInU#2&p6ERjw|3g9acS zL_w-W&_+1Jn@^)=)GRC^;BvY{Na!fx4tKZgb<}EnI-RKc;>D8$0oRhHjLft*7O2bTsO+o{SSy*vv|AZ?3O+f+$p*th^Y@q$I4RnTwVA;wl#E#q z=BnnLH|4K>8e;q5J=X5ed2<406OkfUXd?~(e7)4kzfV+P(5VlVerA3?!q6Q`f(}3m z6kyk75zC+HcvW0Q1>cPuH++135w!_P$PwyJ=-@BG5FuA!rj{X0KkoidYz-Q;vqlIvi}CW8lM6m{Kj!zXj;80-yyfEL3D! zgtjP}o&#qClZIq;Xlf@mChHKK*-%vcik^tu$`i~eao`eyLjEi1c_?ycP}ycdph$+y z%x2Q(k4+)^B3GS19=v*Uoe7;VXhvO0=wNMf`gTU2kt?I0_exw=HWdmCa@K|_?}o>m zG40@2qmqiOfd;yBs=<#CU?+^r9C(N5|2iY1n*LA3Um;&l3;J!t`ImVwA2V5T1SaPd zy}N&!uC6Xh6OIotuN{+a^KFzs5`M6RJ_0;L|1;q2a1pcV024}vQnp0EJ@x}QN9oij zy7z$;930^QvtV!sir(G_0~s|~(SFTZ{RKS@1?ZZF#2^7=odAS}e(2JK4G%CrXkwU0MN=D7@+_`gu__d|0ElXyv z1ej*uO^w%0g`;}xb3S_X2^urayjKu2h&{{ylmQZ+F|_RO-e65}KZmjcY@MQCC0hs@ zmwd)dqQ!wWN4aRuaSMZeClXQ z%2k)+ocX}vh#A~S-+ z>5$b$iinvsQ2-rIee)*K22A8nDj5Ic2NPoQg5FF1yQ>=@E^yjje&^|V1;k>ALL}t= zkr!&gJKYW}9yH#Ygb7kTId6EcVGz`Od*=N~Ej}TklOl+(7LfXHh-hw$2^3iG^R#b~ zxKv}n2W#0JnC+;UnX&yEPzhm;55)9DI#gyViUDp4E2Wm#R_Tr^1YwDc z0a0441|7PQ4ZXFu6)~8lPrmLqH zXPsBNMGmC;QFQnb60e1%1ozMqex8h*Cmwy5Y6 zg+8#2O9IBe7KRB(ymH<6e3g4bOA?%l0GGZfgUAMJN?Y65Ql*j$Ns5puA@9&H|ACwQ zlym{p9?kmyRQq$~yWNT&o4I{8i(+tS#le&xieiph6g0VAuqObtN`hCpGhn!BWtG-= zM4yyn^Ab&HX3Fm$KO{KEnH@GJ@-f9=alY zgR1x->390;hq6%1JwZ@C-*%T)gZ>NU6QgoIB19o+#e3OFDVjG!+H^rbLdaDy-<@J~JT+(6hNkmh97++C+7gc7+_NX%f3eV(b5je@`f z5QhymCVo|b*&YR{_!wZOf{KJ&dQR$g@NK}>U~8qI^V(S@IO224mNM>`PpbhInzkx! z71=`h0VHHj<(?|C%_aFEkfkul!P~gNc7Qi_0O%XoK>#j&5MtwNjvy;pHxb+a_($Oo zQCBDVsCA_e>pn+T{V~vwq>JO#g0Kn0L%4C)YIEWPRu^PQD0yO{qSqiMAkA3maobsujbH;v%&G3WK*xH##5c~9uOYmE!RSpg}LLO>uM2qf}|aqCWg#E-u+ zTpWb(eL#K|*e)x)8b4j74*es$*n1iS(h6&fBcT5L9oY^|BB^+IS!5`L$u`Y~jxz{b-dc(#e9?y}ji%}Xmh6B3RT5rR=M=X~Ic zkp{4%;s5L?0MJM%=*9=Nr^%E9#Q7VAoEWG;oIP7Z%0Gl+Ele6M4DF18oG#kKt9wuE8N8cV0!r#Rc>lBVO!xut{ag zhG+Bm6mrMaqVaq^NdVL@R<>~Nu^V4`0!0B>{7ZpBzlq>hx#F`BDiz36YasP+_@8%~vAVC;l_SQJ0# zVFN|l{!?KgP>G?NhkX&vrCgRlb&CLAU*&0we47O-`{synTv!-FPa=DO;GFZo-RpKG zJ%37l`#y*1S6K8Y|9eLR>Z**4E_85Ip|l&@u*!`_%WNkM%1?vL|H_!z=OajXW?{!2 z6)fv_NJs*~ThHWAUaV6vC@wBO0lX8JUTObwgEsfBBuO39r?=IRRTTnfrB1EMl^|Lm zPL&M>0h3jHmPkdWOaerTY^VX6un7x52nsmwegmHG1lkz32wZbL+L;7`9;-qhdN>&T ztCbg+GE0ROg@uJB?R7B&3OGNxNjgb8DaRofTe!3;02uvBTmxQzzY6qWAkfp~C;%|s z8xRE{Jg@D;CPddC@F1ap4@^>C{tihH8W?#X1l~>i_Jd4_U^J8jmo0QqV;SvYeibq1 zxPzAozE&_O1^vJQxXn-oO0DNboF9exD5_o1Edfsue&tIM;1@)?1%1=EK^t8vG5uvG z9tsE@SKx=Wt9CjpQ9c0yw~j2cARj7%JhSoG8QNrIGayvv8Hi+RXfhxiF1>)}rV+SV zzzDEHAFyl%IadMzP+9?};tDe&ZTA{C%x_;E!Yw{AI*`75uJ&n4(lstn+|LTdUDLw3E5L5BCx>3h;u#gzE(3gE5QY&=-UCEO8Wq=C% zzP-GjqehzkoPj~szs8u(O(IG>t?fS;KgQo)Rj|TS;%|f1qE?s1@?b*?$uh#iS3oYY z0kR^i?hbbF_FV`8z*x=63+C>}uK{Fa!Cs3X_?wGxZrlbJb2KW9S&aOE|?wKAY?x# zXhw(28s{0pLc*<;|0W>eRzQgLK)fQ_3BuS6#^g@6cG7{rS?C|8%KmO9rl~R9||Q^ z0Dm(ATmofA2fbA~Sd4gRX=yzYvX$rnpCrHalSx{WoV94&d^7@mcddT6nrW~fEk(OD zXt*G~s(8zrc`9C>w7fq<3`fSAz)3&{NGTPp4j_7ML&Qhea*>4MKJ@nRAEU-;Ai+rnhKdZzne*S6xn zajpN3HjLjtL~dnp+~foHmY026$T)~!4UV26=dDw?;8??+DEbvHt5gAm(*z^{=w@x@ zn7logM6At3bh~F|fAg^8B&qzFcmCnr_^iefQgR^S^_gEn`&g#4_p zHFdb{=SnLkN~g<$Cx;z`_-r}x#eyxx%Wk(aR_kfanan4tlZ)0FtA?b;J**|)Iyc0z zuJQ&MGEBPSQ4JzHahIo^{*%e9Y+(%Lg5V!T*rOOC&xx zwq)ORT6rKBNJ@gq#$ngXJ1yaWEKzg^OpYG|T;fsD@@Xxc2{vmU+bs5c$-{}5+C1>d zR0wc$<-s$yK2FF@ah>0^DJf&FUK?ooRNQ1GvW-3BI$yXlP#Bab_U7c!eJIaTfu(v) zO0VJd^uS5ND81vU$(YlwT+Skk$7?gQmUU;Wyw!+GDfcOcG8?njoTO8KqU{?WwI;TY zqd2EY?rF$*|H2Xw+j8%=EU&aF&*N60+Pg*6ZGJ92pW{52r`0ZKQF_BCgY|P5sq|D? zpfmyNBzrVvAFAdd+W2;JNyCaPZ*9SOMFOTWC)HUin)vuBi;7Cq!Sd<$V1k|Jh6OJp z|2CP0%a^H+>JBYs`Fjyf{WF!EjhZY`mygv;oo?R5ca<3}St8>55-@K5!)4GAirO?4 zgWl-JxX5-Y9*tw_6sZ-zrs>(-eMZgkGmI(5%;z0{`A`Ch+ZgkMWQ$piNJq`$8sjUy zOAKmu{hfC>HmlZ46*mv zGhXm=L??}RIhZ#%4HX;JZ+si&wxdtbUnS9N+qWigT9?+Ae`dpAGvoEm^F5rr!k3$iWtLLWdA_IP@wJIXezez;<)60S zlldLX;j@m}@Wbh}*amAuXQqTb>ka#-6zO>KBgM-))GoDR-^@cSD5Db5@U_|Q9a^;a zFW5LKW}Fmfv!$(z9ueOf9JJ@&w5IR0F|PePjqjLZeRfWLt+Kf(!A&gekujz_YeJ=l z7|z}%r_Itp^WDy=Kj(iA7aOJG{v@2Q1!*szpFQdCkmj~tyN5693YZr2=Ng+=!F=xY z`uuLcBh8msZuEAHjpK~eML%FGcwJY(pwai&a%{piIr`0ESd)EX#8OeC5gX+eA*Y)*9M|gj{V|hSd zIGPdlCg{=29 z)^WC1KUozuil@`;_P^!8vbX`u=hKFBCf>JCne!f$1J%2e92j$i4 z%#zJvQm@u<#S|T94TaK-m&6+|neU?6K~ zo5d%G1`LjlJR_qSm;O-HV7*IS>Y0#fOz_$}Kh))u#K*Wgp~3ib8vasD9T)sGmP>$Z zK}nld`M_&`V;${JMHGHtUxsssNL}aO&7JFpf$~v;sHN6TjlywKWE8A1sl04gY8sMn zJU(3x8)%e{;d_~uW7f&`EL~APJDP&$&6(n@+_J(*4ih@9<*HwXo?m+CQPkbiDUj9o z&TW-&M_#PV_N_i1?+ep%R0k);)bTdIyn=$s5wGQwO!L>5%h*nbm*u`p4JEy~Pnt7+ z@L^s(HmI`lu}U;i*ZN6I=}k_lw=a7KJz&%L*<0e;e9Ff83B^%W5~1wX zW7Bk=xAi8A>+ixZd~<_%IXE88bz(f6h^pm`K&uusIVvq-`CJ|N^uw_n33Z;IhqP)*COm>ad$6jyvE7#tfXM*yhpn!JE=_GDyXr}w|xbHoHRwJrq z8Y{AO&B|$_hW_3#xxc+0MOlz0(sSrYmW2Ai^LCJ`galQcm^U_y9vKHmpUu)AAI9_h z=jw7wV$4R?#@gM9wJr5X*pua-5BH6&4B}sX@_R7TGv|nr`Mlch`!imRa0VjL z!VJt4H`eSwRs5Hux9eo_nY8OWIzG;|FWo6xyYFOYe)h!H-f+3i-n#?E;=p^`-_`u| zS)8PIQPtrlK>z{9wLp^dFuS)dhF#5}ID$==4$U7wa$xPL`)RqA&FjF~tig70h%Xot zk&3Dbw@wfs`mu5-tn|SLZfsoTnX`t%C*NZOab=+G&%d~TwD#xR` zem>vIwpns6{r-aH;H;TD#C-GtqpWgTc2`$E2z8EM_il$vZas-CNW=E=SA1;L;<)ul z`GKdy6|=F5mh&ra@3RXZ-$)LTqljnc_l>{X6I48=BH2H0V7Z?Y&TP&fB=qeojKLYZ z1NzI1G{46Rczv!+(ah`F2D?Y*Ep6R-#)H@4{(GTsnx|ssF}Cs&(}Qd6+%_}x zqsPC0X)<*kmxkMzj(=8qyi}mG&&;!XJtffK7Eh6h&tF5AG!D#r-QK?4oRcc$Jc;8j zfzj--k(HWg()atnb-vrTw8|Gt?Jh7L^wAEIQ!GC|cAQ+$6nm08*t40{G4lCb>ulYwp@Z{o4v#((>r!c19jn6~>R?sqWG zlz@?u5ww`dPV|CK@F#tYh`_I^suEeDeN-0u_t(KON8Qj+PQ^3q?}}@>RKZ{LMW(6D zBkXCW9_Xbkmbg;jujA=$zvB{1Y#I{vl}KTZde!6L&(TS?zKJVz9TqqiJ+EXCN9T(% zEkzo&71zwy|ND(gttu|J~mh9r7 zd`{6Tysuuj9sd=X4T%dySEO5K5~d_`B>SzRh*n!#R;c?OPsm5Cxzf)5&biN}{5IY% z)IvaG+za@qTBz18P`){Qi;ti0M`7V(@8)>nzLL^nhIKMw%8A9qaBQDrxR~!`Se{uQ z;3CE9>ZVor_~IY0GsP1C8K*n1ma3H~Gnde?n(X#r9@<}8?`F>*YJ)0HE1BUtUaw+`Ws@DinSC?;8(DgzdsfV5L;lrM;lf zKn;#dj(9+G@!iduu8{4AK?APz#y1pf?eD8xr?|Kdl1N#}rY+2GwRvgS*IWLbVu@!L zQH|+2$FQRSD0cyiL)g#C0?%b&@n2|}Tuf{%Ewlaa3kCPXFHNMMnk8<; znFc3YERStQMV$lrb7c4muaWag%BotCFqpAKNW+!V$eLGdUIX*uH-pZ2WD~+41LVm) zU^W;S7?@aCXal35iv0#x0P=2yq1Yc+q+Asi0}xHhe1eX`Zr}?fKSC! zIRksHS4T2X)$q6s{C6PTHwF?*0#$mrQHS++5xS7%V9Gsk{=H`_4@DI_0!(-6~nt6tt|1;`vKNJ+O!k4Fzr&WO!KV=on{|GY-O0brJ zK@-3M#3TUhB{db*N3a7}Zcd4Ok)Y&>3j`$-c)S>)rlS1(DX=>rJbGHMG4QC!^P3F2 zQ*Jc{ks2Is%_4^b1_8J9O}gUL+FA!Z*+#_BkOl-8_1R@OVo%s$AaB*;S#KyyG1Zfw>$vk)#dHHWcbCiTtH$0rv4d>Bd{RtI^}&~ zaWfuF26DtczuAbR(p6Q^kT_99@$m3~O>&;VutgVv6yOVI#<_d<$`jC8#>U2wN2IKb zmPY`C1Vzyh9`*vy`JqddO@RHAd-_d#o10Iwm2{X0fOO{^-6;l-!NkObb}|0O?(S7& zZ%j(+E-=Itbaa_7_?2_i5EX1-aPZRqL))8&bNz1J<4Q#oDno-PO$do(NJxf~AwwyN zh?FvyA)?7pl2np1WKKw?kU29UB+8U2Gnr?;>!#21oO7P%_x=6;`CZpJ*L99~zhA?B z?|bjH*IN540M7Lllu|LL+d4W{-gbAV_4W1L^t;1Yr^|)3Kx-TXZ!6Mohw;va4I6T=#%5eP{k`CK z>?SH2*~-B``%DkrR*U2r?wr}=QNZD;-eA{tT`W49rrCX?M}dARNJ$mW<%YORbnx%u z<9x9N_M?@SkaCKfiFkKuci#T!7r=%?QUji6<4P(?$7Q7&ZNo;?xzp0OI-Lt|qd*xwWg z5f9;2#*~(k2+Z;*NZ?vA%rU1+huR7k#>F2Fzv)m{S0}7~ie`tAwOTRXuLs~4kfi}O zCafz88~`xtV%ocRZ$m=^Amo+5z?2S?&^&Rf@%(qmhKgXhZEDYkkDVxgmU?aRqKQG< za!Sf&=GU)-_;H_0J^X^1nP*H4FGwAf!x4=usHli|>YK4pWMm|O)NV6R$%_SRu!mJ6 zHM+)bhN}eXw2oJqTUmwJ3^t{MrInJFRt?WH4enD9I+4ehur&N(pek-vX~Dw5FU-M;W5^K%w}O{|=UW%fNs#T0DpsVG_D07@f54 zxxbDM$?*An`A9R{-`wJ+*XsS7jSm~{v1-4cqN1fm(9+S~+KRpeFl1UfIt*W#@!a2q zws!|$N7*LELF@w1wAff!d@S7*84E8Th_@NkK^x2&w~b&Cirox0YexFfgpIye#7vuu z^3!C0h;J*e?27xS8vOK%;%>_bR2b6KL-bsXG-_&U8zme>=;-JW!K%;_8m2qpCSZu| z`A8#1QExpSbKZ_IGy{h5-xoF;gCFfI=qzFkC#U$ooVrvMzj5yUbI5YX0vrxeizLyB z1b3)H_l}6|!kW9Xdg%n^I&=1{7rf~3d!ly3JHep2l%3^rA=Z4~;8&i9NJRX!HLC0x zQIB#F`zCa6)#dcJ^LWXHEE@*deb=ryu*`u^OJ_tl{79@3pZXQDO;8j02}kO;Q1Mok zt0jllESp3?(fSqikglt*Z|m-U5E#h*n65nfTynXFDLM?E(aI|9Lf;QEkA0alLr%1K zR!eK>i22iLYHETcCyy7fnwpw_Zvys>rQ4VIe|cIOItW=|U}S=hK)L00;fS$gF{NHP z0Pv?v9~3;i89hA;VbccNYd1>n86jH<+KUQZ-$B{Vb@8UQb3e$NWEH5s-mz8ASzq;U z8nZnwH|{N$;@?k^e(tguXLtPbvH$$Qvkfm|F}>hii!WBzT1s}11(D3f>z#Kp|Kdw> zqk6G1@TlCokBdnS(A@t>N~mQX%c*F^^W0sxc>DCbkvy?_Wd2Qog31J+`tQ=ESb7N; zEDzjFv?~~<3z7c6Tw)mM5Wyei5*qqz*u-DrY{7x!QmAHg=FCQ@P4v(`W0i17`8E@) zn-zdxd}Y%7>Be4k`AD4j;wSnHR3+?fcG)7&d~{#B(2=L2W99rvNJ*)1VIe0a>==2+W~X!onr5) zs2VJai$+GSTIZ)DQa}`#u5UXeB60yg@%L|(Tssoy{#V-phJN}{yLMzagmeYw8t>pq zwoNR;TZ(sBv%B|5ovG)Hi&bk?HT6^hvY*@hEPKIXJ~lJO~N zX=!tFb56@Nbk#^d9I;9}&Dx`{@7nU^%Tvr-mgCSiM0Xkj_(qLd!3yzvAt5`kmkY|u zJfJ`UO*aRb!?KNnm(~#C2E;K4@zq&QPTLk9j1p%}G_A~SY={%&HJCr*DT<4e^gRqm z0Fr@9@Nu-ypGTMPbkK+*EFW>8qo9RHA~;pT#FCQ`yk47SF1r9iL*37x0w6?Y&W)c# zoAZ&kHxp@-<2i9ajerCNxtzs~8;0mS;{=X_vl}|V%l?dv!1u*M_IoWlW~8ZxgH+m)AS_2AtOr^b7;+_jpPZeYRl^jRh-W4R{@o=uHa4=1 z0v|jD5tqlaXT+mn8%SDc0$R*X-}uiQZsUIa75GRFP%*)LLpxX=jb(RUNe~BS=jKvx zj&bkRd~bk^rym^u|w0(r;(WaMG4CDy|lDLuwjFj0TaziJaLVJY*w(!xS28yg!Wtx(zu&0BmyK}wjsNJQds*g+u%u~-r} zcp!x}HQt26@slVgu(%}VCof7&ckO^~Nxg4KP*89+E$v0TGV;<<4?OkrTkJ}Mobn^x zP7qOh2c8+qh4oO)qIG;G*>o!^GCy&<_@ZeL<)rbFu=$APp2(p?ZO9A2&$dN=+FcV> zOPPEGNuknK_K?aVvKN0O7zGIg1qFS1CFG9R;N|D{NIHn(0v;;i?%a2FCVq2pJz9<= zClnN5vYm+-3q+R}XPQb%Xb@S66DeFru~^y&2NF5uwfc`9$kbiv*&lm)(yNCna(#?J z8(abW3$m!;Tf-|V$~4oYxCEChl}(@5Va==_EAFBBG+p z2>WAxByiy?WD*?7l;P`E-p1~4>FvEbeKv&a^$i#7xcvJ1`U6UlNa3B*RB&9t^JqEJ zj1?@yv>-oU6>UORR#u8LkZ#}12tYwojmG{qr^FS*^}}cohj*VsF+iv> zX9G`1$wpM~w;MM2WZkcj za)9_*gLAt;nZ?CYPSvVKM%Ps&kaHT*sr~XO{*#h&d=H859kwtJgcA`<<>dqE(>+lT z5iw?u-k;W?aSpEQf3ml5-FAv$6#*H=W8mXF4yitqns*a$?;yyUjH$RQtIR(;|h||2dD?R%q7$jnK zXVl%iE_VJwrv^U_?p5)s*1#!^nZ4c$8cVrteAz&jqmyRS&!3xb<6y8H`K<&K&Xb&s z&f#iIobO{`WO?CT?d1b6rtL>k!gh5AStm;ObM|hd(dgrA-m!ZT95^E&FE5XpuN3k? z{>>iXHQk0G>q|L0)MK)!T^=^he*iUGQT+kr45@G!^r z?RP-k9ld!NS+vu+TF`ok!Vo$zK|(i2D;cD`9t1VhTV$4AS6X|;>EjDQN!QQnFXDWa&MUbKogz?=EYVcBO^pbx10;)_(IBT z)&Eln$Bd$S1P#$=A+r{MJ1-J{BBE{nehS+LX0`Vb{BRJUgt%yEm=C77;>nW?rlzJy z#%b^6+(u|e$^U4JFrBmX5x{sucnc^5U;q$ulJo89n9a1zJgDx7ycDd#2RMunB@1e5 zm^|bzo(^<%l@HRa{0PSLzJ0OM7OPgRA^|x)BLh(mh$W-F^2d)K4_v9bPXGc@>0uB? z1VBt~Xl#VtsMnPh+eJiP;;Ry_*77B4@uG_1j_YR&b%@o;AhZW8j8H^yQo51~oRHoR z*$fb_B~jcNoP+Y^(XU?@h?)SWiLGzN;kM;TozTGTQ z7UPm`*aI~N4rdesM&sb~7h=r`l!Y*Vewq&+49+#MCJn}aAg8v2!R-=uCL{ag_3Kj5 z11EuEM4n9u|IvxZL>woO?+?S;!t2SCZ16rywpYd5^wsUZcI}$tRgr-t9JJU9GetcQ zC1Y~(mA+Rtl?D%7|C>2-hhVS9Lw*C0M$4dc*>LR!7*sP+QBg(5#FTw^aC4ITHy}&K z@Y`P^jJ_`fKzJLSg^XSui$LT%p+(HmZO?J&M3J5B8|1%l8@z}z2`yhLD8yHTuQ&zG z3O1d9aT3oT#$cYsU#Pi*k3e+dP5`D9hqu6|o2dvOQYy$mAK0SG(nZJsrejGSek?<9 zDt{b{&jJEWU+icBZI)9Y(w9Lc9*Go03)wK(-oNqD#!)$q?}mbcl7L}LYxRhh&Bl+Wt z*O1n|1a?eu;2PduM^fP{c7q%IdLkRj%acJsi9@=DK;E%6fT5#6E9mHJ?-OG^h6$&) z@0Xy8==na(FwMq1#=QIL7UwUz8&DTTj&)bNl9>AB2?JJaS@?m~+u3-NLYTfE{Oy~? z>nnRB?C*n>h1>}7RRzUE-iD=T@_p&K-De0su!sa~zGMF0lsB@-nLN!r%8^mkQtG^0 zJnw`O?N(VH5YW^hDXO&iOIDBnLOG);y#oIhK5kS1Jmp^-@eJ~FGrGf<^1rawqTYov zL=2fruaucpX~}0SRTY}bZEZ)|C|3C|%>Eh+N zEg{>{i)E;-8ez%azD)re^DodrY=ZOw)$z_lhtj_EN?5e6ApZvd;n%NU)dtyNii_x6 z_R$PB;noK+K5LRN>JSggW{Y1C6WzCm}l%FX&>^0XHkMBnycPD9O)N4@kQe z%KlyP&)gN7I`-ym*tu=nZR9QlKe8Td@=yqC9jTDqH*&MaSO~>7QeWVHnmu!np%wyo zEbW`@zyZ(9&dv^nsCHA3xFyhZpi01=rQIwEaxSi4WTu(*4;Nq}?(KI1`1`)|R=&@m zvJEJTE8W(~?ubANLOexE`c{J*buV(W+|tshqJG5rH5>VFBRG)23q>31(_g3xv@>pc z1Cu(Lar1`yc>t`V{q-zJwUF)PqcR|zMUYr29&HkIK@7G+n!}OYoNDEY8a57?2Mq6} zA=|-+Bkfnixs%Y=ychC3qMkdj8N|*O58ziJ#gkHJ(VQTKmT6TnmE=jX|T#o-$d{UG{s$AM!4e>H#_ zIelS%1|&~n4Nqh@2Iso3i-GD`hJ+Mei3c}({PuE4c4p|6a zd8)0E3t@-D{*w*>GK?^mVI#m+n+U`aUdd(QEs=MCUI)VST2d{8vfYCEA!n(mAi_XA z`XN-HP3Z(v)v;|^Nt}ZK8XQ+rGAwz{wOH|dEcx;U;o~*p!xJyBBgoF#`rNnOfBTh0 zP}<(b?ohx^;^9DCt>r?9u@BD2667q8axQEGi61MCk`xwq@7;56q(fKa7*u@ANS1>B zVR&F^&+%a-%0uJh2bI*hyJnwmj^LT+<=w%5nk_rbql;7*q=g?D%U zKNJ@qCatbzMJ` z_M#`WavO%6;8yev4V`l?NCk0DUs1KFkBO%7ROa?}nv3V(d?MLaId=v}Uev(cBz<31FMgslb^mJiH=P9)<sL~0Bi)!-AdsU0t>YqPfp(af$ zdR#kKs}iXZtQL6&qb|Hmu9=vu%|>WVwHw*3r>Dos_)vO>%F2gVqmX0N^`$#AcbR5SU-7`?Q35ScInfD2q{PHzQ=Tel$PSwjIMkzgRm`KC^1 zkYb?gKt=o#k>6;yjxR@;2HcIr&Rr)KRO%kHUNPWBq$7e8hxn1;j+!(yQJvhr@)~t9 zIv)EE9|?qk1y(_BMFm`Nk8NAHGEGznmBA~~sS~;(fqLnfvNB(MCM3M5D_ntjBDF>_ zY%w!#l5mjAtrODOeCv1HoL;>^Hw#Un77*e2XBtXN-Dz3)D5gS`S0b^2OYPt?GTQ`t zoqTHzv=o$H9oQd}3pk&&121&|02%u8M=IzfnX~|X^HK`{;ZZ7XspRlKL?wkwN1c)% zkiZZ;{AX0PO}p{a5)8TGZ|k_V7`SZl?PZi_K3>}d?BWta)O{BhypgZHW2D@8Q`b)) za$&j@=8Q_}nrl`ajjN~q|5RsCGHl#f1k;H>!mfsMK>Q7xx3hH=X}IG8hg%IO~+SRPrX-pO7G0$IPoaJ$y9LqcVV}5^ zqs}9A87ZcEkKu>YB1aje&xo8oboIZWbZ%y0VPRw_YWka0R8$U{HcYkQGC`lo@;(Jcr2PCg!qc2hk`H($e zgWN2`$f(lg%G*oe89AR3B7S?`{V(Z*$rF2;tSj`hNKt}H%nI8T-5})F6g%l`PNg8mL*R3OQ9uLxP+rta0 z>My@NK3(;f=0LBw#A^p>f}q0W0>W z_|d-<29Oi>9X*M!y3f#hhg8!3yXfBx8sba;qjvZo#e^8SKvJf-Uc_&s2_=$x<{Q^i z<>HDgoNthUn-yG}|EQmCvhMq@nuqX9sx~tbdqHYy>I?tf%Yc?r5qWoM`oM-g%H;oG z>#bh9mUnD^sYl;@Z3b@+6~-ErmZJlWnAOCH=H_BI3Otk}ci`=e7b~Ea#5B#Th@6QeLZlk8pD+bt2F%mWw>Ii@ zl!du@c6m7+iXyeaX6O}>hMw>1Jb3UR@Z6;qhu!aW1qB6=yX0amf#@Ruf93FDx+D0G zw|~~RSrr|tL01s;7>HmM?Y1G@18V;TH;CmV<3UA@HXy(>NcYwPW6@9cgyjeEifDFP z@W(*|-`dZp72Mq2ci`AZg7mrvGlha7Qv=;X4bmah0~;Y-Bn@KJb!Yhm&~ zS{0X*v`C7M*Ko(*e=ESiU?3>ax;+Py45>cpx1gYui8;-3wi!)}Nf1lWVTSg}13l>v z|Nj;y5ZJlMg#fQIZ!1_!bbs&<)44W977BPYeCI#q;WQ%+C6qm%OG+MMr|x%}cR*FD zgcki^`Uo8v1jNl<5*-6rm{ecMX3gQ~W+Od!JcbwD@lVF)8@@yE)H$xx)mM|W(32tU zT?*nn0`QW|uR+X6Kv4r%rSpB(VQLT1(I628pnv!kIU+(vdBOGV&c9Y4(b3UPtP^-) z#A*u%1?U4p;r+<}SN`%f3gFV1$3FoYkJrmxg<=**h*ZSh`SYcNSql;X`{8MPi5LbT zodHmJ0+(VtH&!bOv=eQ=3n;bzC&dP{t~lc}@lC@(W-ng62x0dMoSLY3Hn6e5JTHAD zTRjcjk3!@|$CQ-90CK`;+6^aYJc1=gMf|tW+o81=rH*7FGBmtNs z>Nrjru31Hi!#Di(JjfdBSXs6E#+ReMkaDC7x^UnPUOs)z5l*00+aNqebBJ;I@Y#O|!b;YNs96etk|O(a1BfL}~_ z(rRw+hdAdcpw(J_+uz?m^4=*mJCu3V7U$2OC*>x>6SCizVpc1$wlxgSad|5s?_6eX zZ5@toahNGR3E<*(=w_={j!0dH-z4zHt68Bj=u7j6jkSae9Od0X9eZ2_Vzp+0Jmqa><4>`FEJ2MINlD} zbIYg9Y^D$WZ>$&c#V;JL2n9~Y%xqj(8h4>W~FJ^Qh^Zd-mh_FeuESG0m#kZ)slW;Jk`gC zg@sR>Vp!gvW^!g`1SUF^PyGGMun86V-ijZag8Lzw3N9HLhoJ#Pi5F7yd*2FmPR8&` zm*Ai8;D`~vE_8JCdcr|MM&P*v=7XjMd!f&rlIK*PtE-<8CINK&kez=4l106Ct!$WD zP;D>K6iUU_v%BD7AlDN>y_1rfs)}O=duUNd4_C-=F5U@A?*KISh$z3Y(I0Qz$Ch%< zua=e^{Lde-37|l$CL3i?cDB^%=recltoZo&!fzryf?LXd8t1z})8cUQph*CGQ8~peIV{0?Un}$~iuY`{7 zHv*Kctu5ZEMyuTzGKJX8X&U5X2^ElO%N;vL4WK3*#zf)5>T3a(z^iGo9aCeBKF!Go zI~3{FGLh?p#vlm94P^>husB@b;7^D>F?JF7f2R%3{iv@eQ4!ueccP;9;(;vG_i~ZV zb%mtR&XsousIS|}0VDqQ*s%J+vBmNrjpneDf;byFBEdv*{w~4@JW@WS5}ni&rVS}M z7$b((g}kWD)FhaQ>)6q)r|!W^Lb-dyze-}<5FREMj3U?_h0@DGqGFFquv9s~VR zHgRxmSD*L2^2xGT#{bEaKXtvJB$0pGN4V9AtyUUmIgkz7HYf*5lo7c-%76kSekF%k zNf4sm&h`pv7@H=W8!SVefgG84SM7qNTk&|q;y=rDa4fN^!90#tWKq?9C|O$dfmb_o zJ+X~IYc;RdoKz>$ZV!3q6Xlpyn+tK(Q=;2S23lj!9CrT_edy9wSD=*~2`g#!j+2#{ zmEAyXW3{%fj$3thftyECGHZCPGP!jZ_t#2c#XH7RNM!=*`7Q7GL-Qrh=R_Q*DVo`* zUO))``eRyZ>JSb_pY!?B8XRIVUQwM3dDWU8Kab2GVMfy-?uTaFQyI%e@EM6;_qmtv zM8pKI6;Y$ODnhCSsk*6e&923JE71Yuu_^NB66t51TcI~qF!lkdm;KbHnj8Z30Tv}WVItMhQ|DimY1bFrFOf6shH#e$h z|JH!eP-Da4%P1fiD`BwKqv%Vz^n1Rx?VdaGo}GxLQc|XijQm(PdquT^|30U8IxFQX zzqDDe-~xpv;cYT;@d=}sEr(NX&9n>)iHO$ZmcMuTVNG~a;H~h6pE!k&zFIr}#CqnO zpZ~mFmGIGWd(LZg!5=>T;n$-X$`kDI;CxQ=-ssv$E@gWjuckD#%?D z;7hvM)-kp(p<=NF-F#;a=Y^Jn4TNvmQUqn7oUl@Y?X=q0P~3N zU&3sB`Cp!R0MB0n`q|FE6_g6|-{uI`+TtUj9x_;LuNkjswfN_kyk9SU(0`K0xfFMG z{QaC($HhFVl+~<5HbaYgGq49bl$9wPcHvwwb zSFytyxs?ZuH|4$AURv2bsu6QII{m1_w!^x9@(!QNhUwb8R-Yf!W#(&~lQPWRq5o%m zOX0_bxfb@Cu-e|CKaTEkgE9LOGmd6o=gZ$M04D~C`sq1IG3z^B>Z`TW9B1y7E;Nog zFz#QyoqN^d?fxEFtepcN_iwT69(APW=nd{_nU8q zooo)X%PL~;9r@cxlzaCgv0dD5s}F+;!fIaU&#MU}J-8BvCV@4Icky)U0BwYKUi z5~YBurD(=Vmp8FFnMx(WG}k6H+;Bfvmn>v8>ko9Oqf3gE?S9P0;~_2qeur&hiuzS- z=)*NDn6)#kUsoHw7toufW%Yct>vx~f3tm>aT0SM(n%eCb#9m7{x(-j<-J;I|8ea?A7hK4kA7@;cGTXVO_Oakr`{`(t&@dy5o>8XxG%KW#(?a ze_M0#!06Dg?tz?Wt%G-=lA^fWvLnPPYD-Qz7+9zS5BT^M~h zqvw0@@m`zmZ*l8%RBH5d`ZQ^h8ja4;kCb;cISh5|AKxlc{KiL&dD;P2XIm3fT)!jG zXof}p?D*i}GiSNFAu6=GOSOT;>6uN0!^6tUGG_cAjJv5{9keS+T%ecV_ravlllAcU zUcJ5Y`bJmJw+rp-x%uh)yOJV{tHnjL&(dseC^{yyFWe0B=L(-5({|4YkajB}y;m0D z<15X{q89;P3sFY^KNr{8^ty<(?!VXSwT>$F&G)P*du_MQYJ77u`%5aR=4FFckc(aK z{rM#^5Y-meZl3=XH5JvNfC08IGgdlb=V~uG*#9|jYyOArz^qK@`5`9O^y&z>yQa9@RFDW2;_=!0hoq4gE4~I*%Y&#LLv{ke_)eEcm3)PaM)&`g7;5 z>acBA$ZJVR9FDDc_aXMU2#ZThj8Nmvil87*svWKq7l?v3?Vv8+|cJfPi_vX(#^v_J>a9%Ts`7t}SE`csD z!_er zi)Lmg3dh$jvn@$jWg`$TI@@OF_#jmp;<6Q^ugW05O|k5M@guYBbxnRw4&A++Y+tKd zYTMll;aOKZcjHm-v$ns(T-LknWP;0vc}Javg#|4OX>qtP968DQ4GOIpfV&8D-CqOY^bkNcDYAcRND<#&kydOQ*FupChY%jvp^>udS28 zL%649;tnodz2KC^LPfSREA_(4nA3&tW0m>wy!9(GLdO$7p7y=LM)7e_T%ls1%)%n_ zGp@P4@FGjLRFI0v-O^xwWC~)9!fihCNwBMUX%Qcb0p=) zp?g|F{ub9Yo;mFGA9NCt4>&D@GYxcWJYQ(Py^@+D8=IX{^m&fB9YE$#^!?F5#1Q`txJc3z9ADe@X;eTg|FI zCJEb*%Pwn=ojEhs%%QJtF07*2v+)ovA2&;Z-TU;p-{XqI>L~y-10y`OhTR$qgSB=n zN!7*HNsG5YiCsXOajrV7Q&EF^@6SYIsjU^8cMT+1*KjuZPjemo&VBvn;j8n9-{ti$ zJXfK#nOv+}f$#C!~c zYJ82Yq3Dr|GtX_sjXGy#t0{HPx`c#mH9oZEqr>|9&z^0Tr#gg<03GWMEMNK&mcd|q zO-Z?|Db}rND@Qc^Hy^mte&y!VCVb|V?pNz0_AzlP**kvhU#LqPN#X3BTUhYibm5GQ zOhYZdkAg+%VP4+alIl3wkgCUNDeYWk2ZTk4&^rg|6hO>LO# ze`=n;KeFbZ|QRh(4i4bb)KXbX(3|>+44%&1_Y8<{j zNO8;OuRLR{{KCCYQ8O;8OU19wZJ+#G_3B%6rdPHeu5y2sM8BT#dcSt>d6{-kRx#F! zCtjs)Qv)kie1?6l)OQ>|m@b%Fbk|~C>djpNq6%!n44bEIl4sP`_pi_x|15cur8PBM z<2+XfoVm5nTCte^YIBkwiS=$1KVPDIsi7^lt*z};&ll=-sh_y0KKn;PFtomZ*KeuI zi?gBg{2a|zaG09Cu-wL{_ii0E`4rg6oaH3Hs&!NpHh^$OVlKI3ZWK=^bL6k7%@qTq zPv&(>f^AtEibBp@oO$Pbevx*Dms)klLZfd_{pet))EN^qcq9 zt(YGzJmmh;d)X8pWfV((;pD?(%W}6huROhvwkw1~jblf1b`e$7MBu_3gG>Hlm;AT5 zXQ+rW3@F}U3U4mG^Pyg_s9gC|blaZ5w?{9GU7uZ^u&-ByqgKGD`d4j;=(kVh^tw*! zWx1=RH=WBEKDoPq~_~edO%H{?J^RtDkso#2(F}Hs_Pd>ZGdpd)a z`Ze#{I$@==JDI0JZeu_%~&>NibBh|+Ke48 z_;ZO`g%a@5fXu7}$NxcXUlC3zCK?(YO6D^ii_9g(iG%L%TNeG?!+x`OIeRMksAayag$dh) zUxfQ))MQ<>pNfs;Kq6%`#lG}gJboS(Y5K{6YOL*PYXsE%F2w!nHQTkLrufHX`qgo3 z9c78*dn}7fizC#YOb9t`ah%!3@%B}P(5*Cai5)DaogM9M>|GwQSxMTDbzjs6%&(a{ zmAtpa=vZK7RWse&K3TbU&l*Oi4CeC#D<57@3wCfB-4v4&See(Bn&Kzda$s!lt=W-o z<#!qrM;tG{6Jp?cU|sdp|Ngh(oYJT_d%Cy$a;_=0%r~{KkG7pTLu3DrMegwXntC0b zg~5-pHH^v2l2xOxj#=B?l5?O;->>F(rnG<3Fs;A4;;XK8+FkNxyfY?Q6jxh1J6dNB zkNH*_Y2Z4>HziG-wP^3~xw#PEqq!p8ohHkbT_ zp=v@9`;qP8Jw6YfKd9C-7atcNd(HJgt9_!~Al1#YG)VR3)3>sYD!5I-Jyut$!X20o zbsD7pi90*={Xn>MxE5s)>!N2p7j1`BiXc2&|7{h}$s~y#JYT9QBW?^T8GspAuzM_9 z^H#(A9mEOniYn9XtjIJS{CqzCCOSg$fKo5leb^2Jx(!C0xgDQooj5@uFC|bq=~kF! zPF?c#94gx3c@oGS+8VchjJdhZo>i(}WjvR=OR?q-S$Y~P07)9+Lnyw*oby5J32htF zl0}<@6QuZ=6FrmQkP(AOAYs1%f`dOp=Hp;+=2WSKwT6a<9u?8>7}kBzGn6R6u+$Ui zr|_jQuk$L!E!%`^^+(~(BfAFDN0iaVSeXsfnb45H>uB%j7;1l}G7K?FMqWRtm=Lh7 zbkCOtd=BKR!HabFV+@+o2DGVi|8kS{jUrT2ik^) z7%PKKXFff81s$`Oz{TMpC<%;~jFq8)Gx2_m0V0hIb(O=;7!U`Hl=Q2 z`FsTWQ+U~K2OSz5MFCjCQjqIM%PJoOP$;u8kVc_7^VVPYSO*LOnVg(7FXc@})qVm_ zo~3E2vNH2e!uO?Ofg%bi8$UhYyA9I|;qJIdt|LlTJeWUds4oLer3?(sWn`Wb5bX{S z2X~oL(RiK;ky{JS3^>@q7^>3Vo}$v6c!nn{ttqFl&=mw4$`A1I2SbZsvNVH-(B42J zj9~WYR$*w1sAy_lo2vfMH0hL$vMKo6ryMknAgz_)5Va}bVblVKo9MB3=uJY;P{Qz;xc9$`36PTD5V zxJM0n_N?MpmGN@ZFdut8-F8v1CcZ_|U@4?)7=Vqz0Y67{LYEUg^=IcI5CYMUszOh2 zeX>stcDe8Vi*hZe9)mPOrn1mhIK{yec(_uYec8&ZThWAa)!PVP(Mo7m-dvdWZqzZ4 zyaro((44$3ULR=i#SUMU%MTm#PHejnY#GD%=VaPrL&>&784QC>ZUHc7fxYM80bq*4 z@8Ugy23P?gv-$x0|AU>qo`Kv()mWe61!b77MZfd@KB=Jh7Y`@!l@z6I7BWXwig zO&N#&`V^euVJ2i5j3Vd)cMib=Pj9nx?=J9MazPlT^(0dm$!xH#HVrxG{*+^<9)~$B zALi7{l)T1CcXo}(2HpMt9amp%+O4)**)?aVZseQUZ%?OPBT8HiU|y2RLd3B+;zTMp zk$!as*uOXDb@BZt>Ymw^e(UUt>MtcR$7Da?p?p3Os8CEs zU4dXLe%{6Hr5`zIdm=1JnnV0AJ-|p*@v%5%3*+F!=kH>$-L{8%@96GZZX?HcD9`n& z(>CF+K0kkYc@J`=h*ESQ)_FzAG&J#?zu&n&eDh))#rgZ39O02dXQ`|8dxG zDgN6xc`U9JTuKSfB&0%%SApn#5!d;D`^7P<^naevbIKOwm_=Jnj<8Gr^5pRIa*eHS z#y75M&Lufuk|d$Vc$tu)4-l2{4eckv7BeRg5N1brb*GBIFy=gfIW-?y_#z*Q#gfFi zSdDeYoaJCL_=;NX#;|olpj#A@<0O1Bbp{^D9oR|4tr!h9?QS)U!Fex+GmcxnZ#{Ma z7RoWDDvp;AuVI-Q{+!n=E-BH6wvR0)XeZdn8W@X&t{uA7r2C8*=Jc)%q*5?cvMVa+ zot)0!fSvhHp<-p_7p05&o0d%fhb_o_sU!Ql6-p`~Y9=hW7($3)oC_nL>Q26H$t>g zgg^NC{%WGq0oS(A`Vi6JBjy)P>0(p>8myw%yBMIYGlZfs|NAVQU_Y5))&!Xk(t!E1 zej*lkak^oIRSr~4B95~n_}wsc+MPRT)~+RknZnVE{}z4r8RV~C7%M8dFr`8|^?30G zFj$B?!$ZcWVrQ+_T>#%q9a2^jXFNSse4FU86>5X~6j_=M?wvl{&*7rI-@;zdW0X-o zHJ}Y2eGtP#YdPxC`Y}QX-L!xI{sNr%r&4aU<~@*8RD6U*Mt2dp0@!KqD{{(ZIhZmk2sNz%<{4cAgN< zGc$B=zLK9q`}+uDSn`395doMPU8jeo5P~$T08#P!~gvdp2V*%dEBhZ~$e%K%rEP#M}Eq*sNbZ1*!A)6rn4w_C=LLA5M?)q2*Ewu;w zXSm{xbgsFe4aCAN-2~K(BKY?{$DPDMxz&cgu`vD=EGrMfjVdZB;a1B9HQocP$T`!p zT_#yyC0KMisn{L9)}>g4;LnCy-S=&V5AyLilj}L)NO~Yo+JrBGQtN=6C!0x%HeYUs zE)t>cf&WS;UCHJditiI#2x|$kAU533d5=i~gu1X5xGR@Aef{okwcpXv{ za8f8h4JC9{(l^93yr6G4NU{t*50X7lX*-ZHkpm8`Kaw~t&Xd6@g#mda)xr~}Tv=@j zVZt&nNV&!wW^g=I!XX;6L5dVK;HJRZYYaFCiau>c7Sz9=XRumVK5sZ}@-uNecp-Ry zZJnL+*47`-nZR;ox3F-sxzc^~wILEbfG%#4BgXp9Hon3KoNKjOy=F})=ui}7*b?#o zn7287x;sG;33m6_Aj;EMbFSrMo{BmAn)eP*qkwyP1V@UraeX3PD+eMMqk)w6+`f54 z7}_jt=^PGY&Pfh?%-P%z%09;o;@yO4;fFIkVL!*^v5s@Wk)@3&bQmt)LwMUDTaogC zOjZPGoDl9HZg%!eOQBqGVWV7Rx#p`+yv!#a6sGa>MudKx#(g6KKnlLzJ^wSV?nr`%M5*W zVnmxy6FD&94)L$KhsoI>CKKwEg2Nn+l+d@gOLSs5GZIh$QB^KYJOAI0!2k0_#z;#g(3oi{oeXuk1eJvz+z?>#Fj8; zViJ`@i2w=xB@|-Vod^>HJK(K(9dd4LamLsODP`taqbMKmZ^kFHp_d zkMaQu)_SR5R8@nDDu8!9EZ4XMV(W+6N?GO_!F za4GtH*ywYJU7BWVqmOKvi{lDs?Z&xyGK&xls*-BMBB7FQei1hNfa$W?Avh~OrhcgX z-j9a`nb857sQbyD;Ts=5-wD9M_gU(JD^@1+Qrhc$jm70e8Ju`{dHYpd%gFpg?W=#2 z3R+PHwRq@6vGxJ9v~R{>HFG5LOUTLmbDRuxX}kNhzaam3!(i4Ud}@tbk?s|oRN@m2 zR%F5&ocC=%u_8kfh;070@GdaGG0gX!(0gxIYOg3I7|y^xKzybzLEEPB#%S+6ztB;$ zoUEr}qd>yq7BMt2h7NzqIQv2C7mxhTn!>rOdz&meSoR zaXhHS?68)3@d;c-CVaqoal)YjFFs_H(RJ}dgqEXz^9(Lp{D^Nzb8D&dfKzOyv(J3L zG?*~##j}pj~fOghg{y!5FFo(Dc@ys&#c;y3iz~oL{qJ1zs>0HZ{=j!v_RB)T0b9Qvk92rDT(+Djr)SF=0(S$6X4otN-adVSEO754U9KxyJe z=raHh5fNh;S>!N4faPCNaFMZ{IFJchiUQQ>=reJ55r&De1qJdf=SEW_5K{94oNzu8 zGq^7|keYt_lVxRPg~D{|gcv;qvLxrNp?ghm;u1rBrii6V60hr+Qhary$(x81>%6W$ z!hr{6SSNB5oU?zx>>DA&L9(;&W(mU_gJeDWL#_FvJvHt~|41Rt4r!#37@2BsC5O@; z&)iRW4@6D7FzzC)Q5ozlGKU4mE=I^<;nw1hzr!@rJow>}G>dp+VGJV$5s{IT7_-HY zP?9tjQyfakge_#S$m>71nDb-wD-zBla&mHU^*eU#IIf~ns2>M>qZET2$y6?p8$FC< zMm3qMaOlt$*W4rK=KS)HS@mGNf^i=)T1hWKxh3Dkert3cax&t$gU}cU(iF}Y06>_P zNUX4sR@-5qAW{nq&H>4p6}X!mtoESyCu3&%FlP!vL;Zvw#3l}qfQi`~FvYkQ zQ-z%2V&{zo=H2Z_41h56G&DS%*zl3r5SSNBY?P28oQXN@I6q}Xa%u+$2XbIwoH4iM zBjlo$cnLVQjwvYUlVD)h2ZokvPk5c{gX=|1|sXK>pvaEgaNZajteo%r3~|O zivUg(mz5bJcOmX{P;i=$lnGPv16#vxl7?(+i91aLcNG#2f#2PQ;0>lb?U3SzBW-3C zF~3a+cp&gSdHVD--Zbck9hgo-ymG|H>n=uXr#{6cVS3!zOb1a|DCR(*MVRTR9$gW( zO6|R5^Pd0rVW35Y-7O6j>f)ga1P=*Ob%;DYw4D!2PtEQM;bo>pDu9AuQSXD9E5HM6 zq17TFDk>emnp9-sP#K0J7XfYb>C2ZzlS6ILKkk6K5gF#2H`U<#Q)aIfZpcQE&~6tY zj~=#HQaPLo;4dyi{>eN0c`GZcA{lsyaG}uP*fL20xGoGg48tJRNVQ$aQ*Ym0_YC{5 z#WGdIx^E-kU5ZCr4}JVIk1U~eaL^MYd!Ym%)t+;bj;%7;QTVJ?+aMptZ!p^_6PYdm z8B8Q!$9ZNiV8mx?Nl_SoVHvN@K;3lkmQ#AR!B)4stZq+!2E0c#yb|R^CoCwe>YL#C zNEqRem%$KkZvz{WYCtz1v|~`1hy;Tx*QOaHY<=v$a6JFbwLnffE2a zECw=eiGtX)K+1}2404UP2x2&5P#`c$Xky%-$WQaxNed7p*Jk4ne;>SY0(XitZ?WA| zvw2gbvVagwuZ_Z0$GqszvaZbGF+Huf3rN3Y8Ypj;ms z=W7h?0FsZ@vPueiT!Lz2)LbZNtPRKsuyhu?3y36w*sqX%kgOcp5U|NroG%5gBPVCJ zp9L_%k4Fm`uoP6pL@!@a5u4ZV)c*PIAT3G|I26&M{2;{*&`mN*m&20~hv6(jwlGRw z$ZH?rTm@)AWb*K1V7uA1oybLi56B~<+$dl`4KXry&^@R@Al1DMJOhp}e5cYLx@mJG zF?eGv(Icasr@ztVN_?tSyf$!`5)-Dm%3Ei@UF(Vvep$2&l>+3?R(b>3`D89Ej6HF7 zjYt{RejLoY%;|6Y4;Nq|U}3gXk|^7&!-@i*JnJCIi=3YKpYckeE?I@AUOnw!inU)Q zas}><3ETN|_1nHMp+uJbHNxi?q%tN6?xuG0lS352<uWO1es9%qGHRI51sa(9?|3@Nkzhnl32wDiIUoV zJP2qNh(!u4m07Ou9RB9T5J`=1HZba;>T>r5CYU7lDr>jex~<~2ANUQ=Y3IXwvFM{|0b^CTNc@c+6eqiW2D^{+w zs8-^oHmQ3_FZuI!{&Iu}a!kQFz&1r|oz)Qi=;y+4o)_-uY%VsyBHsdPBP|2Sp)MdI zm`1jf!S}A*8}ya*=$d%Iq1aU!FPLK#-nC?geWs{p>mAH84y?+EmNAiIFiN!P@3B|y97 zh$Ht}%)W+~YM5qr9B1a4+UQd{mgafL{-D1}bAe8!R_63g$sGlJS;2)oF{T-pKA0^G zanuhFvo?JF9k-r6!LZkHm3Ycq?cN@z1&5DL3t4LYhpfiMbRN$3J@lW+(jC|}%f3%1 zuFZQipu6GXW>>mG-SHuy!xey%_RWY`_CNG2-M*s+ND()qx(87DB5&fm(4@P-AM@JT z>&1&gNjdq}>z`~d{mfp^zJbXK35Zj8p^2Vm^y7f!;bf93hipddF5{meJ$l4TCxSYdGeoHbP(+L86t*Ejce z)(wtJ6{_<#A^{$~5%D$)7T?oHgnFA_PPB&uz{g{ncbiGfu zWW+3OF28w4=SWqsUW4t?!*Y+$i+hrCUXH<`(2ClS)1AHywBp+7@;E#G#6i zkQZK0Y#-mI*b?=^lafY`i_PIWmwfB`D~wvtJijaD=uh#!?QxGCUza*;wfS3Yxo<*u zd*>F1$$@7$D#OdQOD8H_hFjxRrpzxgHZ`5@sfj80d1^!48FTx?Z0yZhMfR84zv|=% zM1&sPBx<^Hk8;3v;o6)xGp2gOl7n2=qI8vatA(7tAs}!d>8zvfT=;wdU(o0MHObx2 zWe!Ciw=Of>u#SrggUy0W{TW&x?;5Tw;1sjDTrj!c#&X_)FGfsBzqvf@(WWNX#LSO33Crb^v0|9Ck>7pYqSZ%`{Oi|VI`29kX)?3xXZoca5zwl7wX2%vR(hQ&HhaXzmZc{0#3zi@ZMyZc{?kEp`RFarCEr~LJTPRI zJ|4U8t@e+=SjoWLhy|9T?N=Y|K~(zkbN@q>}2(7 zx&b@iU%wO*d&QjR;za)ejDvKh3M|tV`PS*z91% zvR~hu1iR~_)*g?j#tZDI-xsh)Na&dyFO3+tyH3NIYg>R5jnY;Ys~2CJHdxi&{o{bi z;h+zcL+z4-E#(rzR=<87mwROItz(m@|Kp+3ms`92utW7H=;fz`wkPG$$yoHym;FvP z=&YNX9{GW^o8SD;`i~A7fuEA1K4q|Z@10?>t6=QJGi0jYT`LrQr1No^ZLde6x!8Ga zn~N*f?U?ysS1J)7Z}}r}X!X2}xR2x9@8@GNe7iR!3%fu0sU>f}A4fJh7t}KSlv#96 z@2$^t@0gtuKj;v@fr6dgOgTX8oI!JQeZ+}~OU^SZsWdr8KfR)Wk+#O9Y?|EIwyLUf zmToDE#H`f)6hc=uwvTD=R*rD@uaw^?dF51#L}X|Demj0gc=!Go#@;`LA^RsvHrVI1wLw&KL5^x%Bjs0q_XbZ;ZH+;X z;ME7(Q=%@*in)9#)}$xXwguSUn;GcNqnxmA86U`3;pL8OT-H+?RdAS+Ns9&Cw@}Vd|#*itK-xt`+&RI z7MGUsy5I?xM+#VuLp2MB-F-AG_k}i_`Kw%4WDRuKTvoPEQEzapT zIv3o2-niebK5((PG;p|aVj*NEhL>g{b@IeOSjQQjCxL@HZDG2P7P{=T>pEMnD6<5j zHxvE6dB7@l7?kn0<|wLP#ocC=F{Mh6wlsQ9>Z*5DnlV$*ul?lRWRv)NWZ$^Jcwnrc z$n3%0kJIY=hjt~+wCuWP6-# z$(s0c)~%mT2UZng%bR>n6{HMiFYLFy{!!H=RQLCGH$C2t)&Wr=gAIqTvFsfuH=~EY zr#epQ&Id`C2MS>ZeL@m?*AB@!ig7zvK8%pZe`=rpd=7`md$XCl;Z+yE_gAoA33&Xt z1elj>4XeJ+V)yY+7NaFh@<*ommD%Fi8gXjJ*Y~MT%Kh%RJHcz3yC!|Y$t_cKmBERz z0#Gy44EX28F&dh4CNNdeUSn#6sZe}gq*Ql-$2P-1P=~2-?0K@CS<@==Ff_P6_dg0r zeSS8J-8c4Z(wdTz;D(wBBZ^s8Cx=?*+u(`jP?eZb@v(f0n>1IHW&$%lt&YpC+}HkR z7_tUT3e@YzuNG-nJ_s|nFb;cf-DAB>C?zd)jBViArOKXzuXLYsvzUM2^)5ASziTk4 z|Mi_fb%N%-13RWqzjWA;)D<69AiplPFWVl;ato4{o;!NGSYM{vnm6)2{2=T6`=^lC z%CXqt2JcnDN#~b^#kqL8xG=PjJ77;UW*bK;rsY&$IfHjvwu)z0m;1{G2Q1Ug-@IB4 z0+XhiE8ooLvHZ^HmOdJz9szi@^Q&dRCHHR?=}Al+)78l8N@Oe_)|*bhoJo9D_gPWh zfi6u7CVjxsyP!$7%rJ-RA^c&!qW_}Lx|hCjAgJe^8H1azZx~vAd;Q;eOVKH3rAFJ| zj*{~$efU3B63;Z!$>pk}UnVlVz)Ie7tk#%AUW zi)D_|^Pt{tyMHoG|B<@>Cj&K-m!!iTvZMNyu2(enM^1N#HynCGqoqLR%a~1cc678X zmf|tZ^PlcDT85g|WH_X+OTf1zNc-IC-m8Kd2NVfzg z|KnZXFWY7m%Rk``gJ#Vbsz;948Wr7J9g4E@iJ&#!ae4Obi_ZBNMV~yg``~AWzmMWX zOI=XowfGHR@=h9Df*)4#@JyT+&l@T<9os)HPP{efUHeBuTd!{yZwW9 zQSslrk$eAQJTU!vx9XjTh0lJ*DhK`76Z;QB>VG|> zKQ$!Y`7cZ5zdp+%)g%2;0(sKKW+_)eO@n#zDLCO#02~{BxUmGYF``cu{YbmI8!b~q zG)iD-7GCTGBXE6i9@OIo5=Ah97f~RhX#w_xq%pRY^Fid5WdS>Ess5hi>{d33b(hf} zT|t-|bJX#k#A%f97BDwhHPT>eW=0vEHWZq0MCP>8#S#w&se(Q>BMx*pFFu=X;j@cq z$u~)@V%J3?2f-}j$XpXiNeY@52IxZp{#}9YC7eb`a|#W@!ut9xdAy{V0>T=ZA`ahs z8oUCwW#DnG#D8o6VS`LVShPhg0`IWWWqyXa)Z__rf1c0AeOUK^4y=WVRKvGRU|Qc>9iE zbgvTT20!9DdsB~z^rQh(prKm^N|_xDz@l|?#FH=e$;sQ7R#>-QNqXUxHeZNEwzv|t zvcN5+`7=fs*A5*AnOhIYo6zC17v``3rC(}bUJU^zpbF0%`NTmJg8-3OZ4F|@qwem-}HtDym`rO4D90PsQR7`(A)J=$c~ zzD@_G;h|3BXU)=kIA9r6V|CebNvGtdB9-PyWxD=wj=E$TY^;vW55mF}(Y8mQZdnV= z+KnJ>-+I{A8!dm@O`B9w=Kx7_k6F(A?#Tm(t_S7~xYxEb$r7-ghJW|c&uB3dzyYit z*bnZ1Vw4Oo88j2?aOD&{9gt6yP`eUJ3+NR$^qA0Tr5Aqxk0x(DC_~`z?S?N*h*>(- zo*=8SDn*Hah_rC;ws9lcGxd=+8yFA#i!ofw;Z-mal@ee`{P#e|gtD5rbnwHu1guNX zt(+1P&Ha{w_2$h2X!#@NK7)Oo^f+0efKK$#um|w`_<%v-rnF|$>HW7p zbnX*j%t;+B4TxCe?Mi9iU-n$+2KI7tzG*T}2!7|;;S&_%Acy`w2u)o8AVH|5uhZEK zTB=0=v1tY~g#34ySvbE0P{a@nK`W?gj{%Nf?L(u;LYP3%&h_BwWgxC+q$S8Gy#a zS{1ywbq>=#QD+kksc_fPaz#Ktj*n#jzmW2PUb}#Os<~z<{OIw*A%i#^;=@Xh+k=A{ z4C3^TS^{>BA{PGHG^<^J z#f)KpMwTO)s=b1m0d8e0@mpYgt!%lwJCxYBJck*D7R*nW+$=9_R`UEec+TNaE8M@5 z=DPU2YbXC2OKV*Qfi2S)pTGZCmy;jBwQs!>++MaFJopfd68mR-ex98$LqM;a2m7O@ zKO1Dahe)hoA=2jhNorrbx5{o~g|4sR@>8>tPk@~k85Pv4P4}4BiYVVJI`nHQ-3P%M z)WvhQk<{+mm*lyP{;BW)d5$PN^rE2fs09#D`k?9wcz@s&m4uxJPz`N=$+R$KLLK~X zgg6WneaN^Q;voUrG%sml*VT2Gjy*y0fZU{XY^(Yf<+-hc21yU=mzv^K8F>ind6)yr z;K_+;dwLXMZ1J-es}#}jf3je*jUH=&qML@p(Z5RdIF}M6$->vG`~K*4{@)JizrEFerx%W_|B+st+aXr)eDD7a5A{D= zhtcQSkNyGBW&TKeM*lPzX{2l;y&g(s{G0d+R=BW!AaBj4NDw;;Y zah2arba!@siBe>v=zw^LaR+%hiJ9!g!Y*=}EGCB*qg_U-6zl4y^f zluuloHC{}=ftmRvfaN8VnD0f#aRF({t*orf3$U-i;Ye(X!0`x-lAAh4CbeONK`8gj zT(9~NX_+gpUuKcaX|Y?nmksEr7!e)-LV<7ReH>M9;i<{RK#kL52P|P>u1J7)Oksh- z;3{mxQ3`ui_3Q-99avfb*Fmo*m*AMprJKDqq};8l#}FqOu}=mlv^Z*j*Y=kN>-Ap; zAPA_CwyQGCSC5G-Hn?G)XIcph8?{=9RX~E*a@EVr~k=i?E7A)EP|d8G!Re@XbCKtieL8w+bTpn$K;D;+u;8UKbk5$ zl3XXx*a>1)EGG68Oxw5CJ!fDWoQtb_TXz}!13uWbAwvS$^BR$f5Yj*55B0>rla(boe|{|0ZQ_S3Pb%Hi2!D1+%~<{ z+rgm6p-v2Rm+^vVm2Ta06vm%#>w)HCY)v=Zc6Y+m_3%LIEu2Vaa-5wA=N7wvtgn_w zv=(_6Gte`DTOG(I0o=XMPX|u)5m^nPVG_&`Ip|AJILktWd6zB0FIBLUy zS6XDfLgzUDYtc=U5383j)q*eo|?KGJ4auSON z7^mi20oZksSu~4OOK?{$(zK91#SJkofML6I2-acnW7SL*`~Wwk@bGZ`N=#i82(@dY z0y_^0)he86m0@N@;!e{;2`+QgU?U?{YVc7#lSLp)>@W)P8AGu^1_V&RK?YrJuVWL$ z6}d)9mcM^0A#v5|nA{~c4zM0G3BoO8&ym3S`)cOn2#&fXuWzOPdjqFg;k}RJ22O#5 zV24=%)H!b$iuCu+?-OKvulrMlVrNf3_ri$jxL-Z!H7`L>A*2i(;ufG?f|SwEK9i~y zpWCiGJ^8>CM-rgA+l3B)Y>qoab`@&Fa%M3S7=cW*A(9~z-KUF zc10>gRv!RwIaQt;Q9?k^Z8;oA^BwXR9`TxaQY|v37s4(x^f$SMGFm}svI#I1z!@ht2 zI^viMeyEy;9O8?c-hD8y!NCQVOGY{%h)`B|-IbX6#s6PCNhUX?UsHh9<>sN+`tn*+ zh{%#IUyjp!ip2uHG|jW`GdzMg06{h?u&LEPfyBUXCQj|r+cBMAxgH-uRbDcQ0Vdd6 z>;eJ-h}qDdNP@5d))CO+XU`0*hE4J!eAj^of|b$H)zxN|_8oy^ukQ0pUL;2R>saX| zT!6_1YWTlXz=-do_SdhI#2a50 zhqe;ZikXd@yL%F%BnW&*VK_B4HML7T3M?Mv_>=X`^J>553TkFhW-v6d!A=*rco5%( zHQ>3T^UVjj8Dc5?=g))rNn$+m`Xu;SgNq>fKX7@0xF8sxSZZPLqasY9co-b>WhvCI z0k`gv_JZ zfKX(hg9mO{Ur(Y`{Ka#J`zq+_p0fXo3jk;oX)*I&8n7)0Go79N!U&ijS0Nb$kKeaI zfA8AKPsPP8@G>5?uwi$34Sf(w`a;m)sRfxNg|#mV{NW~~f9jI1rXweoD=f|s&_D%{ zxpVrD0FF{zVddxi?a0&P&J@xZ2<0l@1e)aPHN$FyN?_&4f?xwa8Vx2p29S9baEUZ{ ztFd~`8hxz3P;SM11HLm)pHLM?oQxd_HVqHvTvR{<$FjVhL?{Oy#bLzog0H`}?77LyJ=4KMlA=Jo?{hKIYy0DIB112UkTg5Dh&5-nbd;?14op|3_V= z|Bue!KmPC{hu~j%E=po(<%uc`atL2S1%iSSO@k@8jEZSLD(Z*1D{;8Pey5vY7O~#5 zTj5CyG#;&aNKU9@IeRhi4UUNq9Tq^;OGNL&Do#eK;|I}aA>Z@+O4!zfzdwte@4Z#{ z0qXnK?(Xi^Pol<1Itec@V<5e>Dq{9Id46EzB@YQ~qD|Ynxa`fV{s(P4WoEAvcjMh*$SC-KnBsEKXT})0v<5VQ!bs%)Z#Qy ziHQOV@!H=%4`J$JZ9EGZos01qtInhRBoPEo?ejCu3&hn9BQguFq%;;{eGubMB#K46 zYjKSQPlT_MsdC7{u$?Hxey-4$trGbqq1g$BtiuV6W-x{gi6idq5*KF$MH13I2m_aa z4)t+i!F;e{Sxn66g0IA2#fs(Ej-0mqShk;ER=zCx>*KPEksO-NHQpCHr5>yKKe}kt z`9OF7zDt++t~~kln5$HFzd&Ji^}9{_~c!2fvq7P$1eNeho z&S}}!T_A@5a(7ai!TELL>H2kO$l)*|)&VFw(9APJ!zAL-ULKvODkyRH;c^dv+Xl+m z5Xi`chYDU6nTj@r)u>=(#DNrP2gV$dSx-1uhcI)Akbp_54nssckfRCd7QAS3lfe!P ztT)TJhj5#OdxDe?TSl2kdSkX+P-l7Tzg%^xUQ!6vYtzPncLYh4qa4`W6zvEeR|+G@;@kweCsZAfZRPaH1y#1bFgSh!dmT| zVcnAp0U)y7aFl?=iw_-SD}x3cnXq`=&Be9$227}1MyE&_Nrs|Oa5>v3xBz`5oS43` z=?40fAheMg7^LHhgl9dPZy-6lzIef&sl$Wt8;OhsZ@nRQtju{I9yi(VpxdHf1&3k{ zI-b*dnK+Bdwu`E|TiZvD?NgzmX@*(I*(hKv1|bAc&^QJsD)7ew_%cL-2lWvpwb2Y( zr2^EmCI|*4_uqkn#Xs%HPPg^wrL!tB13Qld02y#Nc>AQ3LJ#<)go8^A%^|4u!A??5 zjVm#Xv7R0dU;06RuhXhhUhgvt<`CKwOJR8MwkK7J8=!?pM2^*b;$aDfGrJRXmAJsO zg$&CTsYpO@Epj!I`@y<&kt9omztAO?qY5=CSVvfYx#Ns@=b@&NZ&)oQyKsNUkp zj>*g$Sy|ZYit=j6&XZa! z_!NgItKv!XJai@(Q)&$a8O${!Zsv$Oj^b?4)jB=X_48Q%e6lnzK=jGZR}R~>?8Wg< z@9~~(8~i>He)nvTq6@JUCwy{zl;ID{*0)T|^g!l~xUqcCwP}P&#Y?(a{M}gbMMg=j z!*+I)t?o#W8_?lGXPbC5V{;DA%;5^}V{S3dr31mItf8q!{2(&}u@-KW7`{NqlhBnB zEuduu^&aLr7I4S^3hmuv!7H*Dzz7=jq@y^x?$Su$AZ+I#gyYkqTRFM8<5ix3_q`|u z2R)xSj8D$ZuaWSFdjpP1bdR4ku)2@5&7r81-H%c0OvGIpsLPF_c0Fj6kP4dR%-N#B zK}tU&Gyp}Pu&FV22Y#~o@M0)I^sqeS8Um5)J+2)58P)q6;oM zDYDaP@l9kDbbrxwPy4O~2F!J(t$BJoc{MohjRluGcV7e1+`#-Qso zMvvN>i{Bhu5@_QWD17#LoT^B{Ln3cXc=?-QJzLYNavecn7EKN^CZa5pbaA2V2*vBw zju^7nsGB_sJa&D}#hRX3Z@v_Sn$I?udilvyLr=oAMz3DH|~Qgz=$ zXKme{7WemWOcQf#GL{Iv7$91Kz4oa%_F{SY{HQCtN6CyQ%9>H9U(KpA{({dnUKex| z<&dh|Zn}pmt6q>d5jDGY(*SE;)n+HVl@?$gzzm`gTa<;0g}}N2{lCW%JkFXH>CWF4OQk1otiA$ayZZ0S^M|A%K%W{(LaFH3_>WhKB5J zn{A(HRn)7H0H2xDw(ktk!v7ZU=;~*XiBZKYe=*6DJv~A`-cDZJM77hqHvG+&qmJR1 z*Tj4)F8O`mZy<&|B!H1_#WL6Y{ClE%d1C^e^}2e*87nhBBnkI&F2SZ~Ru3G4m+Tsx zwd}KFXcqaMrXILZ(SgJQg!;CH%Pp!b$CK$)js@YtlDAg?Qx&T~ zY(v^v9Wkl>cy8=VO7RCnI$tmTLD_AWZ8ug}{QZ%urJLrPI{82E(Qf~r@9~=47kpWX z{JrJueRVenjs&5@Mw;Pf8U2Eb|4Zv+K$4+dqorXVOT$5nDC<`Ph1J zkcF0z(hzSZ2N@)4`m6LO)WDqjN~XS{mkolLBc`3-Zz!_?Nd?{WJ2L=)oZ=BPXlS6tiPOw9Lj!`nq1V+J;yzCjyHz2Q> z4Rd2ZzuW>C`M}T5wW$3$0Ja9pA{K%z<8Om5dP+}kJ0hn(=2%mRDhqS%9$w6VnLMcn z#3mY+kx7@BS8Y?`AelCdO9>=H60oTU()+kcFB*;|z(sPJD_<$SG^tD6g%qU|U12x| zv`@^~V^kDz`zCGy$n!+!C)?4yh;6XR0cISj7^Z;9HcCoI9B)A4{KOz$lugh*xMg$R znY3q{b2ll~Zni!ar0@tmC{l4(s;$SDpoR0d6H(lUW! z>!VQ;nT}^scOekdpwF28J6pylTP*WX`p_2!goMbU$Amy;1k{}r+oYY03b86$c{lOv zA=gNdZ4_TH;9f=2IdtVo;}0$5z>FNCH2;$!m!teZO}G=_8}c18AXIl@y7orB8Sd+@ zyXec4u?m+GvffwobrxKDtARNQ7($>!00kU=e$WKsS&*6QBr}%F4#AT>fb1N9xCmN` z)HYAfpWol^K)L{7adxf^aPJC23c$_BxwLMQAM#h3PW|?$F*|G@JTtxb=h%5B$BuRj z8PjN)(MV8#jN>DXJG62yB7H+GPa!%kmxY;TE$6AuPK8xuJ`uAlvSJo85O-t{!0MTq z{;v_#SS&lCpGKpX6w+vomEN;NElRXu=wMNx`B?G+xf~>8OFgfzBx7z-D3bAbScfY- z2d9k<4IgGm_!iwl-ij>;rwD(@^z@TM>-5+lGy+C)Qce!80g#>*J+SlT6e^FGY(OZ__Vx%v>AehybArWm&pD7X;5x7aCIwhlZ!eTGKw-%pNS%<9 z`l20whfKfhMu6Fywnf6>w+R_?0vQ>}8;OAkfl)LdWDV9Dt>e0{e zEy_c`#~VQvU6EaT_ufSlo(x=W9wY)^&}qn!bfl<=nn=-x7v`H6h*WL1lgH(wA>RR1 zWr%&{PRVjKI1dG#nbAAb{uRBEidT%vSv8b2@FEb&vxPTc+#6SS^j?f4q zB49=FDZ{kBrKA}}h6N!uo_lAabdiU^ugg&YNjL5}Jocg=cPd$r@8(b0ygtF9)Vb~} zOjQ-~_6IL-esREx@$LUgKC7AFRzsX+P?)|c%S00w*P%Wlde39i)y^p-B409{nAAet z6g^aS3YC^V7rXPW*V@@^L&k{X_g_YFn+sLgUrihM)VgjE-UvDe$tH>Yi!3Xi<4viL z2iRCsLU}}$PB-pTXIU-01*zyWjMn>;aB4~Z&4y@gUaRtD?&0T8QgIa^Ey!r*oBd-8 zuB&6VpF)qur4ZuGfNvvf^N zZK~10wXj-|4YlKaisN5)T!`G__FU@d%_b68Q1TpDyG+r~wZ<&>GPgJngy4W`t?5tf zIg|BMAfDY-xH-X6zBwpLWCQ9^R*zzb_oL_TPTvh@)EMbs`t_?aj!W~B-&ly^3$vr6 z?{)ni=l31>p1dpU`!|IrdLK2JF-X_c?YmvnKBcgoujoA5ZMId^@B9ZkgE!=Oa4#%F0M^m3XFeeRL0p%3v{h$dp@WhdzB>a?@0@_D=ktzOF#X z->fkJYX6x=JJA)!X{$I{6_-d$&nGqb6c?2C9T=KkW0B#-t69Usb%r*j-n~{`M#*ng zn69}VU9?Aie?cGTi&sB?agSVif4ZzIafj;SBXPKQ>4NRx{OxAvx%;2*ix_9#TRoGM zn#tBaY%c2VcUMbm?OI1xUd@kjwOhPYip`lOv(CSDrFzQAPCq=eZdSaa*QRL2ow|b; zZ8eM|pn8mY7RjS^-vC3Lp%wWMljBJpO- zD)y^6A;0h0lil&et>#jd$yIy0E8L3gaUWR@W*IW!+cw{83I%;*N*TkAsx11F@mUv_ z_8gv2wPETmd&e9$)X=eh*}3u93n3;odWQz*FLg5amv)cRR`oiwZXPy@?$N$Jcd!2< z^C`ReWlf?VmLC*{07?IoiM#o0NnC6Nl2R1j1dVkX$8S|Ao?lv-i zB6c#TWTMsLyKK3OQP~w^miFsx^X?%lcW$VS(~~R>>zxs0JaAWL40RH@L)+OI*)keG z1sTtmcs^9|^b~bWZ!yn57+(~=mu+Osvz%g`(M!j1FXv^ogD!Vtaa^5TahXWrtMCvL z+FFnBqIn=xP;x!c-F!4ePJim+=zvv}Zlm$qxrF}w_(u2dlkMEc#b*y^Yx);PhS~CW zre*Zhz0{7Lv*{lb>dG8er`am{DQI}q@=%{a%ZxT=IlME-RZgjT(Rge2ovlb~tAc~p%%R<;lIDONnaU#W};YMQ}cMH{0wzd5M1gA7zS`-(Oe9vlNCTh)Nn7 zGF9o$KU~ik|It)nV^u2asL^h{~KGi0&ov(aK_gl(mdWz{+= zQHfRs*17tv;W~cQz#GMX1UB6~HxBhTl22ZTYQa!=oDa%na@y82Hf*}F1Gv0b~y{zMG zWnDAtdg5k#&r%j2@kF0gWxj2kPR6bL*!q^WZrxruhsb7X}S~j zYE*n!%Zr{d1eFMa-;CbB}K__sR4f!65yy%uR_=L?o^rP-3wByjISsmqJe3;Too zW`z$6?QXaD{!^@lnH%Lrah6l?L_&a8zy`%1K3Ua1YxkdIr8tb66tS(eiIDGOTG{;V zWrMBG?6Ai8tnKafU5zqFyVWA}F=MzL(I80R>K+>Rd)MaEUYuHL35A{bD7WUf@@-sY zAInqZjVjIEnfYb~bixiiw7n9NXqKnIx_RoFnzO)L74OFQ^xL#~<{dG&C)fDi89DWI zn5w^CP!G%fYKIJWpsrZDN{0GxCtH)|xQ2dgWgN*b%pS@vd9nv-L9cXufT)L-;n8C( z)_qn~6nTTbs|TZQbT*r{y36N$j$Jt9FveEYbG2_vB8}z3+_jx2d>K@j24Ck479QKNP~qR+RA9&# zAZt3$sJ>NDb9nBl+dB4=PZb9J>DJTZy&iR!3oi@$fA2q&t()VYoh339R#PwgV6|_N zdu?C4L~P2J6m@sL`hjl|0u+hM(|59F_|jS*o&4P^;p58?uh%?(nWAsddtm4rW9rm< z#=1Ad#y(q1E@+-xiF<*@@p-|J9w&Lr2AAn$*BD&Jma+N zQyNlk#ND@{D5j=2e0S zU{15*r)%}8`?iPvd?nJ+NuOw1Zkw({uh>>|B}k-wqXWnL*Vflreh85D!hD^7Nzh@J z6>`~4`5%u7AH2NbB<{$vRY_Auokk6;Jb~|g^se?Mq-se|I%YrUmZP{e)cfMk%k-&z zx$Um*c&p30p5LaAb$p;yzsR@b^0`sEkZ+m!?t?yEPhH~oT$}Rg4|!{IeP!K3R-Q{~ z%idoy%|!v~@AO+=3@-5un+X~|Df~8gkJWX>!-eDmq-FO}V9S!YASpP!du=NnZ5q=G z)qV6zwK2bxcCP+CP#4;~F7+mBt@xc9)9uf%%015imSFv~)_85FU(teVqftTM==LmAF7%efE6B|LlDl9?wqZtgvF;V|;#=YE_Qg1xu(%9S?^ z#t&`pg{x!R`Bh)mmHK>KS6#s}XTp>m;Njubtv$%j9+fDz|5k>3W?A~fz351;xN4vB zh0E@mO7yBi>F}-}E+)IBwT@~vlwatIFfXe*R*mYRewg%$t<2;dEtf3J8}45S8au7( zZuL?0V4M79LAehCJ5aMIvv`o)F?X@tJCs+-LEF2Sh*Bv8j7g^cDbs9g%!RpMeT{x{ zYCUsL{J*=#-qwu5!J#oUFV9h-(i(dq;4DvSgQZcM^^uRQmoj^#j(vkKx;J=f+S#T* zFI}7)fD%IC^g2BeRThu3UrtPJIk{6&hQD_m?xxtse^_&j*tN;jl!`dq7!nD5cvx{U zCtm&{QDnnd-|q8#XN6-=7@p#AjMU&=rJCgVgdwN0WvGe0S1{4w>Z^?^;q0O85@%O6 z9`vw0|Ndt`4?DdjJ%(!aMC$q9=WjaxI=vr?7Ui_j#R?+*>+3igDLXr^*4DSi$#YNZ z?5h)+Pu9ds?`s`nvb#ER_pW8zT4ikpKTq5ZrYY{n2dVN*fhnKyLl@26bIrwXzh*^$ z#UTg%>)*TcJn&KiuHfql&0;}N_~SqSeGyShq)CkxS)|NFZwEAF**O&>;%!>M=R7+( ztjdyqr|r|Ie_HdsR`<{67`_U1(ViwVxR>btLuIfDmnw)|4qf2h;Z zpUP9qdBkVlT>M6fRLOKv^Ku)GQQsm5N9W_|)V}qH`log~tNGTydbeLeVBu8#zWY> z-z&P+?p5A3MjShFtGyt1A6a+6ohkln@?zj z2MqoAwy_JiLHVw}kW&%sbE`shw_Yl7^pEaHdQvgFQKB#UN1J1^>bB9!_}2=LUEHpy zHqG*1iRD|ohVJ%?p%9Bs`USuDKgw!aQe(5P(5n?=v?wGS458VBO;Cvb*;^9^Bw+B)SKa<>l zmD>*YVr4D>=fP2N&^&?sh~r-^j&Ngo?oAQOWbL!l@$OpO1plYs&~qK4)=4>XB-A(a zrOvGQvSr00KRJY|j+yMI*7H-NXI-o>y*%kW_**7Ee#tXST%R^P^Fd$8;C+zg@$Uy_ zSL*nNmCc!vmF1@Sit$PjbNtP-&P9MX{qg>VhZvwVe;%b$ack|Gu5&)wPxdX%d^?plKV8H zRZnzZwRsrQvwe5HZ-G&KbgdNQ3jdPZmHjWBAF3X+kBu(7#kyu>HfVojn}pe!U8gvP zHaXli>-sS8YQD0vH;_ltoqx@6`a1R(PokcRQV#9txASt`TCr!RDBsqkd7n?rcrqW) z?v`?CkG;jaML77*ZRvBSWh^hxw@xs37|pDHz41)V^VR2XpDPj3knyJTFfG#VC<^G_ z@$P*^K<|g%H}{=BAA1?;6GPMaFvi7Gd7WM3O0=z>_>C*mXvUn=?oTzNI+zvo@_~k4wf0OulR(Ec9V#ixh*jqIqZQ?iTwaYgYp=A})Os%?VP2|33h#Sbr6o`Qu#mis z<6+hmH!%|PWXfMIXQw#3SXO>avzTRGnfMi^Ib=V3C~yDfzi;>ezb93lte+fGT)9s)wm(%{r(uPTsnENpFN+sHH#gU= z4NGDe`#&iEe91de=J{bNYvok%9lXWu6EVF67VxM(g-Zj#BrB!Od8f#8h+#_Ml6KyD z`x9D0HwyPZ>E125xcjIjsq!zHRC6siP7P?d#l0rcOID}k9CJ!(=@%#a$t-7m*!t8h zN^_&X9DLMuP{52fx7C~7hjqNg)}AW*LXked0rixwQH#yYu>EW*b*7z`&MyUi`8Je2 zi#IZAdE4599yX_=o%>HDId{PZFueR#cHnG9_gk=vZVmG~_>r}pd{x@u=mi%7xVdzQ-b+?yY&Tngm!xw#!ywr#aQNND`*RyZYw3r=dwt)NjD=8{2Ni>AS5Y^A)0J*DEtQ6fioyJ7*nYTfX+j#3 zT=ry&y{_)8D$668dqU?wl<(^PHd6t19ZpW}!uL`>_ zxX`%YO1@M@nVf8&zzFHa?h6thC65J3b$EAlY~96|DER!j9_$bUp*Dff@^I7jfacfq!s;mJjq*LV zgQnhM%Xq+X(q!e@)Znb^F6{{}S&TPkXGIHro=R1Q&VA3A5OSkofe3oPh;^#yGbd0V z?i-b#qo|}dZp<40Va>3AdIL=3tgY83WC{8{d}tmdb~rdFh-0g;)oMVl_2w=fC5D(K z{{_M*J}w4MUokGH|N%^reY#S#SlIb30mDH%dOl7P=lE zOf~laSbGT%Z0MUN+vjNITzhj(Dsgl~niuA6#V60R`ihG@S}z_{^z4WWlwOP!kn5$)x|j@%QI;&v7;X{BLt*C#@E?zC=qU3L6(+Ndh!wtH=xzv83O z&cHCf>$Zt>9?G9D+__xCnaz zPWuIY4*?k2KIVXlMVddGUAA3onlgsm2#mgG&$fjrN@!DV)R^wrVX&T}u2c8gbo0@h z-`v(+k{dAj7OPIe0=U>Tj|J}mq1$cO_u3GStekzTDZuW!9%-&zc0cI*7O#le3Hymb ziTfQL!j$lcD?rhvKvc;s@~{rx>9eOZMbyvLj86W4VCPs zMtl?4MU{^an%4C=JE**1$3TYl$qsk6?C!5}^?}zN)!#X8^Vz-jzybM^5@CmUi7x3A z>Ing>z21Elk4QC^dW+; zyXPjl)!sDfAHEieF)&x5S-cC)Go}ok;Y+xjs88XTo&TzOy4;9gFytNk8K$$+`@m?*Zde(iENjub@q{|qH7mQ!#oSD+LATT?>KognDqsNAAj4h zod!Ji1GT=sueMIAJ2f*Nh?uaCh=@MYt6ML5W?bopw(G}{rr4_Vp9Kp znZ(@hWyz+}8yIVE?o}>?I7xyRe9ZpGGO=obL>gh!lL()>D!<9niU;{1ne52Y$F zYvX#)k7W6h1@p8{TfpJv9<;|&$G-LL-BWCgKLYm2g`b~yhB{9xZ5HzB4888Al;gZi z$I)`D%UquUe1`kE&WR)&aYh7VH)I#)8*!8&9$Z%Sl-4p z<@Cn*`V#vSS=HukA1Ka^p^AQT+O#Btwi;GiYRQ1M0RE$IrSXP(k%t~4YLD~X_1^~- z%kZ40TLcdoS$1tO-osNQcidr#k=I?LE4dc469PU))CcdbFEAD2yt{}>dikKvwD^7B zeJ*Dc9qYx2vmvL;cB?8&gi0OCdo9aO63dPk_&5hyW|QydUH3BC(Edy*>HeBPe$8i= zUK?_Ey#7_EBWd<%V(D=rnqs$de)aqOjahMgjt|NmyQg#R9@*yU?|qbJ{@m(UvdQG~ zsxPNMUMJ~STA8h@Mah3pv){gH`{}=bO8+@$opN#MFu5ynwxcf1Z>){#kq|F;ugd$V zOFcZZwc70b;S^Vb)_Q1BWVh|}3sHR{in2g$I`h~w6a#wiA0L{$v>kn-b^0vb+hqUb z^CzgJc5PMQU#E}Xw;OPv_H^gDgLd(r#h>;{s=p1eI8?r?BoE|yaFrcl&%bMwnwlEU z*h^b5*ld@WnAo%a(+}`U zN^sVA)*0R0JXHE3_B$mD+>Ljjy@2T+)i4D&Ch+*@m!8=5G2fJ5kI6aHtcE_CW^ImZ zN^xw+lA8N@7Yj9i=5^Pkonf)_%A9l(kF$NsStBp=YK5+!dYZOCEBBCoN-%G5jEkBv z-&z*IsJ785lds`aL~Q{fOd~h3Bkrn1g}oQc7*5+Y%({@ z;UkvN4ROB5)f zFF;w~2=j768-bKz$sT9h7x++&9Cm4Y=ohy2#mIE1#L51aTB`rHS1bCQK4Px^AZMm=5DdW!a8{nh_!UB%q!&Nc2n_{!aC%H+U=4(aWQrP+6-a_8WP}Usk~)q$ zFE$+gt{xTJ5XB2Q0-?>B{vb9aIR1hTS?ULOCS(kVU_z8^irHdJW#*6Uc;2IFmUahc z_#f~6tkY~q7PtJ9FPcH*8>yY=|CZnEONiWteEt9ZW@aI_OsHi#_{?((zD`OjNW~vL HfAjwW;xT29 literal 0 HcmV?d00001 diff --git a/figures/deployment-current.mmd b/figures/deployment-current.mmd new file mode 100644 index 0000000..fa6aad5 --- /dev/null +++ b/figures/deployment-current.mmd @@ -0,0 +1,21 @@ +C4Deployment + %% title Current OpenTogetherTube Deployment + + System_Boundary(browser, "Web Browser") { + Person(user, "User") + Component(frontend, "Frontend", "Vue, Typescript") + } + + + System_Boundary(ott, "OpenTogetherTube") { + Container(monolith, "Monolith", "Typescript, Javascipt") + SystemDb(postgres, "Postgres", "Persists Users, Rooms") + SystemDb(redis, "Redis", "Caching, Session Store") + } + + Rel(user, frontend, "Uses") + Rel(frontend, monolith, "Uses", "REST API, websockets") + Rel(monolith, postgres, "Read/Write") + Rel(monolith, redis, "Read/Write") + + UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1") diff --git a/figures/deployment-current.png b/figures/deployment-current.png new file mode 100644 index 0000000000000000000000000000000000000000..8d7f76f6e31a5bb0e484ee2bb38cebbed5a01dec GIT binary patch literal 53539 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

{%M8J+-yau18{P*Y0i>&HN z6}$4S>LcI0VJRHQSzpKO@AOyq{di8<3lTU*<%NhKy3Hlr;qUzAuk8m&Rw)8u~$`BM*=yWZ#+sMzM$ZGZ%+@Wh{(W<7P<6$A_5e} z9E4F#KfkKJ9K-I3{y9L=5fKp>$jV-aUuI|L;^9$Ncy;mgc1iba4*-75*5C1@dTt&b z*m)D1yX=Y_Z;{n-_VqxKmkK!zXOKzmbs!)PsuJYi{8ry4&On+G**uBvns*rbq6%>j z{0{N<7TkgBudf6U^)65Rfg3ie_N#;pkY?RLP3_eQGR7S6nzO~#`?=uP(;>M%VW~`sd<`TD<2!D<26ncZ_K0~-B~ii@0Bky6_1-Gh^`QE2e>toz z@aFCyMfbQwH!Hm&J#_6}`@pHNw%=YoShx@bY{&cH9kxhl%C=v%DB7Vkd z-iIw^RO*su<~d0<0)+<>#&Ue0G5-6Rt21!BP)^WhCP#KW;wAf-3SlSanpKv4>xZ4D z43_n`KkxY0r*FY?1lL$#E`(fLAnL5EfIR~?)s>-{@)D-`k>BC&n0?E8egt`Trr|hw z^m0021N=Nmh+;h^^B$FSp*7})!rFAZaM??0tEJ&muf?MNmwZI12h?87gS1}E;Pd{f zlEa_j^_L0YwE zpAV2KYG)m?Eg{O^C_9UsL<4eX8^}0Bp{~$r4WA@EWtD;#=G2S~PB{eydealEFME#) zx8yO;Na$@ar$eOv$AzVSA|>9t7z$enfUa5qr6bV^{|7YxltKrVJ1WNtLdg$$Xt=hmWaco8_VC|fBVTO18J;N)Q4YNB30XkYs@50-w zA!J)??Ha`8P`~X=Lrp(L1%~LjeA1%y-?_SY%P4t{F1&LRHO<~ph?qA`uQg7uT>#5E>s%djGf+w@+nwQ!Y(Jk7(OW$S30n+B zZe8HHa21YG`VQjvEuuzq6htc>=aAhHMlXz1#^j?{(jb^yCNF>`n9y=?iN0tXJ;UCl zaolO#nQB}ui_vZ;m8L#^VnKT_QTR6CQN4t_*Ed(=VR3;8Yi;YuH`=&&l z8~R*#EZ8vLZB&xgR8#ZKtBWF*$o7C8#;X$9nl-P0@5M*syH}F0??2qQT;_0BShbQ{ zUoTYdvRV{ZxpsljVza(e``K2*0>evubKK><$*HpG2ZbJQ87tS&yhi2vFaY%KH_Exl z*bH4`Qag=h6{`3=o%BfARx_NmBvh$*_b}-@ZmPN#c4^5A)FKRSt-JTKB@7A`e9P13 zXtb~PfAZb-nhhdp;<;tD-b{p3Vz6v!nzhy6r49WuRqlFQ!qx76ZvZB)#pbQhMc3J~ z1ODqVskCv5&15B!L!Erp@VB8i@koKO>fB&kR>vsP63Sw#{?26H@?hQ_YcJ-%=H)uQu zqC^OhT-DRlGginkwlj_SF*$Pp^~9@(L9UB`N4*|xyN#^WZ_~Yw`V@VCB*!|A6y5hI zRL8(5)Bo_dd}WnGoY}r@=(CN*RR4XShy*YDqJy!a?8(o@MdM>+4QT%PN_F>aZ+Y)l zpE=)cB7)qVY4O;N2K&J{{hVf(vf2FdyuQ&2R`HEhtu)-Dxsm$x`K}Ap z6f>5qwpWzPzqP4MW~sb^56v9YDlf5B-QLfZuU3)Drm&96n_t$ki!zUU)t^z)g?;G} z>QwqOvnIX5sBA1v$z4i+9dfnj`o?F5m0V&4xtl-Aq*o034D*H>mbuGTkVbjniW^cK zk2Cs~tK)KP>?Wn7lXFO2)xU66w`511G>u4Q3VWsB&K758V9bX#r;D2GNNVAX&sw#g z{6;6T$T1QzuM>VR&dki1FWj7NWaQ(pN;#Vy{teysUe`;DhoYFK6y9x#MXvRRdl6n7 z0~p6@TB>)u>j!!00bZ>`OgYE2Xb}rmemAsIzG?#XT`B-&^g5z|+wh8wtCFgYWsVG0 zuamA`c`rYgS?1zzWY&kxE|e`lFJ@O{IQL=h^{<}Ke({1C`U;9&F~re&PU5MPab#JK z(2u7iU9#1p%O}>hi-fTy8@D;Q`1y>mSBE$ho0cMTMifHX6ctaaS$|?{m|x4x>0+Os z#^XXm^(^e<)~Y$Bc&0Y9zno-lO7#dftc~(3^(FB1A*fY|nZ)&PP_HX}v6~EZQPg^v zW(z5YOF1pC>)w!72`} zqMy6JFIuu)S_sCxH3+wAX!SE634IGe*AoA_J0 zA88~Fu!|?v=k9CE&j-JKh8X<(Zg_Pb1Q{0WnGPe*J!D(D7^u!AI(65^s4ZSyox$_! zD!mlqxm=T{X=pQWg~PCg!*h?ov`a*(D&U?_9GkzCua@JW`GRKsvFu@qMmDa&jam|) za@xXVae{3LvNHo*LR694_qKif-VU(gmA-H@b5-Yjac34E&FanzSXJ}J?X59KoU_*( z6Y$>W=gOy!zp}|A(sw2La?(TJ6l=j4-2M~e`895E5%bRo__H3I#7%mHz0=(~o@C7o zGAQ5&UZuPU`_k+nl$n%jQtj>coR9veYNw{2_)3la8>1}&yF-6Z@KK`PePb;t{veJ0FSr;skO$q zS%a_>t}nWZV8RODe3JMAY&^??f%G+9R{k9*E8doM#`Bi;7=}h;LE?oU^c@fGv zkJ}*;^Yu5$ONjMM0mM$c?7-E#@iwCIVre#Mk$~MpYLaE@G~r^s3#LkO=T05#;r*7) z6)n)(#is$p90CRlb% zmYMKa#|ssIhlEacl&ysjgFC$`VF2|riC;o>HieCr`9AnSB=VnH2RqRIq{3f@fJ5Bf z{{eAXpbMzo99?K4O!p5ozs-H+ijJAt5!UX21PpOP)nf8_Wv|6y% zP<@j{ag(J`^CBJ`Pulk`;$9DfGmKF15rLk>8kAm(L*g?YjD z3ErX|aHNjX?VXu<-fdLQqkcHzWiY>aQQI}Ff5wFXCG~_=3YGgoQR^^AXWw@9j;XKW z)uQn5H;wnu4^*o2GU>!p(>EA+`aaagtuJr(W#cLa-#><*$zFn=ndr%TSN?5ooa^OM z6te#lcgl#@20t5-oTzpom-MvS{>C=D%Z=32A*c4c9b$hoSnsJtHadK;nrMkZ5 zpPuatuBZk333#R|wdu@ZvAGW4=TJVTp6R}W#uIiOZWTGR&n|AL7uxCQMG7%t-we^% z7R)odK+cX}X5@w=YaP0*+|BSs-)jaKOV`kq)n4IljC>VeqX=%AUvBbYk<46^5QVVd3i{Jr73_P&YCpX(BrOW(&#tJ$%9Urke*Ted zP_9U3LX9=OEG}xgsPFX2)U0}afF-(bvUlS(E>vi~jDTM$tZ3%mQ}tkV{xM?P=LU5} zVY35;>0Mo2kXN)OdDoMc?GFW2cZ&G=?ncpM(4lA^k8s0yNe&EJA`aKu0;S`VaqMHc zy}|bP_?5L!)@Rv!$4Lwt=emE<=i(pC$qcfhqR|y2Yod9b?8t$?^JO;IF-lZ(NmuQe zsjs%<&ay@Hs#^bvu+lj0qLi<>EwZ6bC7kk6PSs{6#(8@;Bvct^bRO5_l##w*R1|{H zSDBxtM104pAcblj53%*3?X(trgThoiL|uIsWjq zz8mS=`VjoUq^tO?D97a)kItAgI#dD9tl;oJynH4+f_2EqIo$nt&e@kt&h3TjY0|es z6QxDl9*$&E6*W2el^5rtZTjch!*9f;rtN0wno)M_+$t`^6>^L8B`;pSm9^6M>G5~s z#H?EcrUU#+9E$egJsF?BV|9Z~;D_CSJ%ui2SIVaiVGkLz#5b32ho5jS;2E%c(?6{( zUm^FD>R^ZQd00JKpsYM)*6bQe^)ZS7rzNxN`mS}gmGDW8ldf900O2ummJJ&3`5LMC zWa7j!T=u@Jnb9KFS^Yr|>Ghj`c9L@!)~f48=t!kFv6&>qu7TgsP9<8#@wUc}yCgIs zR5$IFWXs=Q9kp*VF~6nZE)hDwHa%U*NF`|AqrGHlCYO5V7$G>y>v0!wkFNse)XVZU zdD#*+eC$cHr4Uc&1>Zn!!oR9fdfP!9nu&`GaXV$7Uq8?@$RMM-e>@DEvh-njF-Pkl z=IT4^)hGPl$_BN)TL#A2Sz_b5?iBlMyFkan4m$GST~B>i=j%`^6*oIhIJVGT89?ab zZP-L*`<(Q=x6Tx?t<*Eq{cgu5wfxyGK21O*gJ$HT1z6W_ccscq7n55DA0}_iyIfy* z@#sB9^O>nIDTZ78AlqAv2TdqyxTIasougbX%LQ8@kRgVM04ICwR8o}aYjf7b!?@$8 z!uzp*YR{Sz8nK3(@3cQ7W{{Zdd~eoC*MHgQDV0QJLDg;DgukQoLQL-2T?`!!SAxCR z45Qo!(~FCBxgcn9(bRK;$y7ddV&FXOESLrso|)8=-drYzv5V%+6*m&o|GwHPs!Sko zcgtU0qaL{RSnYqhzPY z`!Um*P9{lWzY5$Sw!c_MaL2XXS8w#!Sg^V${fFreF6=>7a?Uq?F?BE8+P%Nmve4?x z8P6t9ni%ZiL56Il}kWCXq%R0U$N8tVRCh+&AH%SRCDfOT)kQks^cBhK{KJ{j8s2r$T^az zya7XyG%aNq*PV?Vp*{%rmR5{e+MXZc#*#WGv!jw+k*-}QJ2N2#*w2#ip&6^c)J~iA zeiZp`FTK#Bs7c1)J<4!+SP+7Kl zu}-b*00PZhch~SsS@EJ~CZ7tF^kg9jhW)EG1vzq%hmRlCJ3ZT#GGC(#r$i_}K)L1x zvhCcmIo$<-axMCVx{ zF_1$INftLxN~M>(nxhS(yiSXprBx(9-=%=Cbael?(gpC{(L0l#HNV zeMu^b0D%l=nL6aiMs6t)dE0OnndV%XUbyXBli|mG%QRElS~m+*I=QxOo&P?HmOd9p z`f!e%i4xOB7p{NuRbp3H*e<2H6n6+RWW+GA{8uM@lt4zN%dXe6` zD?Ykzwzi0hJGbgu=!JEaFLN&vIwMlII1AAg1if2mZ|bpOqs(ODKQyYJW7E79e#|%O zTJIF7wI9q1IbQvnp%9^4Qzi--!fcFsGyNeUismAi8oN{Zl%=@WbT2X>7wEvb$PV;~ z2x`V_Q`Sg0LqVa+RJ*6r%A2IEt;gN}FiS1+Z!_IZB(d3lq+4n-8UPSbE10%WDXXd^ zu)5$rPUzwz^Ur^o6?b1$4C?FbKJxDWeABliTS-A(K`%VH|LVS#^*}TurPU2PTbkf6 zG#pFHJh@*{5@T6I_gM3L$ulw9YAOAC*Rhg>C6Djc&z(KhpkjPH|XGCu9f(ODOw zZL8b7mfO2sCxhB&F;BA_^Lht+bRyByZSer7(0}Wlig~!Xl{mC#zV_=O)m%yr6%C}` zmuB){(W)iO<>bU_pWlxJ^C@kkiZlr+jLK)u8=c9UZhEt;jHHm9HU$+)+Eeb-&e&$^ z8?TOl_p`f`&gr>NVA#_2d!&~;Yj5tWgZ&0Uf?{Om4@{MYt$%`DkBhy_i&d1Gn z?_}yjm~XPl6d#Ka?`^vCnX|fO==@!i#hRLdGWUg~ z;3_et@X87uKH)Lt@dxo-Jtvubl44`&N=KZa2PCj%RXj9bBRk?Rb3Ck&>CEQM&|1s& z?!!T7_I?7^l^$TMO~QiBo8eY5Clhya4un?Dk@Rnlxl83;Yhv)h7H1@F`1PKv_xN7CJYBgx!4rsZB?>P>9lPPsZb&y7j# z$?oE=?qkgLHNAc=XYk=;izul_fP8rkUN+qE(cc~)kL9;|mInj{j&i+6u#$6IhKcW|6Iaj% z#e+c}$EL{!8_GrbnT|=yuaFixRo>K#0Nj_RJ5J)R z6jnGRJ3vD)wRIseFD#oRhDdDCHMu3->b_4?E6(2ejY7I4ll&xEk6C(9caGX~J>P5v z%)ZDK4leT7r0+a1iqo8`3rs2TmxrNBLH~lU>GS-UJvvw&HpqvtqCghj(d6PUdcBF4 z#YdB^cTMNIM(I`uUF#QaY3}+uURP99DL-RZC{OwD2YpFOlB(VvSr)k8c5#2=vg8|wk+=z0G#^;5BhQ2W!(EsyEh}EANYHh* ze$*Gzxf5~jqRlpumYnLMeJB67tlvtBganzD-N^t$vTnX)QJz)`E$$&Rk6?p@oX%Ma zDmQdpTuO!g{brJvMw8#(XNW#$yt_=wPt9;;Wu~>zX|H`_c+SPu>3(lVo90}+Wp@D) zACx$vO6l5Oyef#D!1?n>HdzQZS_sbTM48u=J*)cC$i^;KogpdMmkfsLlXHC}6Jg!n}{pJu6 z@qxtomFZ|e)-AuV)>nP+_F{L`NB&&oC~Ysh!8pjCRVAD}Jb8Faqr|%Sj=r_R{Jv@L z>dDkdgTfa)`(b&Ok<|A)^V)-zdqw=}(pUB^*9R!{_lIAudu00@3?`6gmwurcuNmoG z-68~|Z?KH;2^^$)|sk$W}~;gynk^0#qVCxV_~bAqZ=Fp;dG_ z>9>-9P(RCJ&eyJ=MPfhR>&|XuI|tp2Tdg>8vBN# z?!kKB(KYD+TVCiZ>>WHyMEB#_OuQG1VkP~n{8mEE8)h+RXs|c6xA!At+Tlm-iV-kv zQ3(lohJ`kEu-AcW)@2=S`Y9V|srJ469)EwmUX*!uRx^D#pBSeuR(;v_bEHA2QkIXj z@MeAcR%DEA=Wcn`md>GUjCzzH!N~hRI#J~thl&<*i><4Wap4yw_@RjQ7NW*Z1sxb{ zMNO*Mv%1-V*3Xw1$FLh1~JU(W{kTx}73=ExTOzt=8K%xUGK}&)E}pR3PmYpt6C@(u54$i|Dp6 zp;b}C2o3#k6bJ_r^4$LBSU-GkeLY48Hu>Yngw{4TNb3gSDq-mR_pDv z)AfttmkIh_>ej!ZhtyXAnw;3ZkFu43eyda^a4e7{@rZNY)Y?jdJ_ITYW6wsY`QC5( z-oHa*2YPVDE&1sX+2uut!Abcu)l*JgXWX77oH8wz&7$~Tx-qV8#voDKkv3J}Iex z==uc{t7Yayj6gfp)*j4BMOr!#I>b;oqG_1=r{|QF;Z#LFzIhUJ?J#o6w?g-LdQ;qD z8C2V@Uptu`W(dUG{}dd*9oN8=X{lG@V^)dVGyL_kEMqNXN}=B7Ti{nMF@TXesC(y4 z5PN4a-HanB8^w3*ZA;?vZ^z%pbi8K)IFFOkM9yUjOX^xW;1-0G-s}QZ=4&0^W1*o8vwQ0ZL7`u^EIo4jSt^Tc{Mj$Rb+ZnjtvD z{%aGcGAbPMTngNAwW)5TiO;Nygv%na0uDc~9aZoD;mib3UmA4kTpw@b&imV-5OB&R z`B%wQ)#_u$z1b@%%HN`|#SqSs+eeSkZL?ej1gxp4`R`Uaj+44jF>^&#ax9(QYr06T zY*wtFD}_PW2Ng>SY20i-HW7OI&}&BpoXLR@iEwjod3=Wcu`&Z z$r+9s3}|5TIr)nRsV3_B?`7DGx)=s+7}rf??EF!{OWw%i&$y0i{Ro89lVprNY0+kA z4418Sg&7tYRsZh0+m2K7nPk{wD}hPYL7Zz;r1WUI?Wm#t>>7b%!>`epox}_MoaqW> zgamf@S1CK4lGIQd=ThtuZ%9w5ATb1l+vgeun4Bz^%G2xdY za_X1!7)Avu{Ansz=a;iGa9Sx#-bPSM?T-sr)sF6w^{nty?9!F-%FMvs-rU3UUP?R> zP}s4HN-9M<&In-!)EwcR)?b;S(hqGUlBM`eNKt*$B|gUaiz!54>bJgKk5k>*ozKSY z|5Dsc6Yx&TEBnh;LuwidQmn#+NcNbfRW`mT44xGSD~`=D92L>`)+@C z6Jbz_i48$dhhW>MNc@;vcA9i~jni8;Pf7nhZ~qTi$uTjt@G;*oh)zmPS?g>5RoKHT z139V3(%EJut4rl1s?9lK*c1&JstqdT7nrFG2Z!`iU}T zxA-Jib%~1p*}1&amv-ia4~=s0<>43h&l7wIDkZZ;=$G=*0jGXkJe5S1k+)*|z1_U0 znaN29s^P5_){#4|%Ds=y^r44arjZiE3?|J+qDaH=0t0Ts-#_W8e?p#8w8GeSufz5} z!M^(t#mL5tNt$~|_jgJ4eq8p|zVd80+s?sCc}a29bOvav5Mq3pjxH_6`u~_Pyj9CG7u)6tT7BmWZ6%PjZA3IP+v*fBnTMa z%6%4Mbv*{7IMzmd>?iIluld*I?x-Md;9eL70>MfHv;k33WCkeOm+l{hrVvq7vD1iv z<&RTH2j@l}(dri-bklYT5BR)R2tZWIAo*Dr2%*Dke^7YpTYN$6g=T9Ab|B)Cab!=y# z-S1Q4;odahksxr0Kxk(M7Lin<-%e&hVc}^q6e}q*)u)i4JSFk<0itgMp8mgyKvGWt z@r9i@OPdrKc^*oS^zI;8prWS!*J{8I*Y?)h?N=un5uOqYvcj<6vr zHR@}0!4Zcn!}N;UMKMe>@S>UCSk#3nl1peYYmd9^Z2kkY~lcypuo50V6))}hpdj~s;mjnp0 zDB63iv4Tn}Dmrd%Uts!JpuCV#P|)?CYutm8mMwl6g88!Tf!e|+;V~b$vm=ryiuNuj z{SdP-Ci@jx#> z8d4LKw9Ydy|pF?t%0t!XA@B=ea##mF#-!&K%{XA$MI1Lk8u*b`s9HjtFmFi7f&9{MX|< zs;WmFRb;o6NWJ4T<&JBud)19H5(EqG1~xa;vyZMU3iR6@;5uV~$xa8C6X4Pg5EN(0 zOisQnCODh-6nbd>oR*$!Sc^?NR#Tw)DMA^i7|RE6qA}ry5RgD%hqbBwHuo zd`Gb~pSCCBK1|~T_x)Vng@=cyCPYUEgIGjyq_>yK$;m0g%gs$lg`?ZbT9Z5K@5Tn7 z3$?JYa7kI2(i}+OuEn*=HL<>6g&G8#l`c0G5R%zkQ#wyonqAGD$B5b%4YJ-}Sy>6Z zt@*bQ71#Oa=CU!`Xj2 zd||cDH@MQ!(h}KYYGOiM=~ZBc4eqq{$+_~F`D=f_{`Ecwp-aHt*6K$Wby-F+O@IKXVu7}HE5T~fM3@PTvlR1t*KNHYgHH+*4Wfxd7;?{E%6oJw~ zClu#^{aOR!5q3Oem&ZZ=@w%saf5X_M+)Y(0{Q2`YdmmdG8@U9O)0CqAf|gEcE|`p| z4iO6CA+Jpax@N==`40OSA@jZzaCJdq++E)IAaFr zGExsfmhihRUMyk<^w#V}3v$sdIED=m;UPnY| zC4JJ$yk=E*w()0bDx1%07Q&{>4T5ESR&B=S%KPdxzH7Bi#rx4VkBj17I$BH;J~waQzRiaBT$@s)d+6`)UjYpHhGs5W(3P{{5haQ3KtWn+ z6%d9$h*)Y~=BNZ9cJsD1Es;xc|7LTq{Ta};P9&NRK_4F!SJ(Lr|q zTwGR3i5Mi0&l$zN8j#;+{`2t<7}PaTAe35>Q;0AKA=Brd55@)AFuAm}w2J}@tBdH- z%`QC}|9;%0)a5wBCK}cZ3Hfl2{uC=~@-AZjx8~2mIPM}Nz_b@wH+O)J(zeJ5nN|_r zqqCy?4)@(Tqm+8E=H|$4sf8g^5as1n$p}8D#@M-%9hs{1`V)^sLX;|Dsw_a^;!@Ad z%1w_pWmSJ!-%W3jpd8AAdFG29~&xy4f83IB=W(=>8WtQIDRY$pXFT!hwye%VJ{U>zIe2~n^|x=|GPKiQ zAvdXX?C5Aq21&n*@URF409}*F(U!>aC78fFr#5sH)J(`fH3K^Wi2tX?ol4YgkTP}W+2T6 zMg7DpX;~faqsv(?!Xq)H;)EQ@&z(D(C9Ocj7O0HH+?QbbPtplFa3VLO6?F8mGTd_w z)D${$jfIa+%*|a&gzV}ZKn*^iP=g8ocr-o+CuCAAgHNhbQZxo1{g@||n)fz1@$o-@ zE*+io`O(MpfN16K-D5-dLIcx#S1{VXa(A&({lGdRbVLy^)R5sr?X$^|JEv$>!C5 z4NXmtYc0Ql68RVt6B9^;QSvDiGQp&BK_^H)gG2`BJjRHh@2`iLM1X=8gmmo-DoyZ* zG5t?MLY9v9B4Z5msm}urM?ir1DIv(mYvG#wpfZ}lh=TI@6ktY({ue=K2g)6H_h4|J zpDk)WKl~$~V_Zy1K|yiq?Aa&f;;)YUMEDf}f%9O}aD1>@dQhuP4FGJ! z>5hZ?Z02YFB`^HkQ|NX4DPOLV@$k3_x}^@#;h{E0K43%{+7czhK^`kje(WWK7&QRH z_mH@>*el4&J{>oF4>Oy;Fj7uq{KX+KE{^`C{3UqU#$$M%#W)D%4GL{Ynj*P~V0Pgd z6e*UqFWw6~GoB|t4jHCqrI#yaagYkMEk8g-bhmKe!E_tL6(iiKgoFeaEFDHK9pH=y=yNHksW;9?h#MmYUg5cx zFk{bn%Yz)WS690X3J1=nbQ;W9MPD_qg8=&%>Qx;QDnTpvb!?0Y1<)%5q@c123Rdk2;#;%niAlX^3!%7i zz$5?!tl)_yckbMgvb1Cspd*1Gb;jJ>9KjyPuTM-&+=Vy*u>30+4+uzxrj-td?j;5+atw6^+%>4?-2@l`sRe(#`xW3U0SbEa(g0dD5qEe4 zfy-d9_0U{lDB{u2W4?9kBDjH*cMqRb-EU8@?aiWUOAw#8y+XVO(C`;bnyib^;nW2wm1cz^MR|LV7pqo6?`uTo4Bdml>uAa(gdC9zTWGk9D z@F>X;%V*%ZMxb)O2B`Zi<1O09%)elmr_P*_fh_AGJdgq{f_AeFi4yCVQR zk*W76A}KAcbC3=Hnw#S`^h2Y$k(>MV>#oCC6$5M>#6yFmI210z%Ei@~fBbuG?Q!jN zHQv{FX`B%+EY4j4ItoU{R|^Xc$WK7iTPL<$5!BJ40aizZdi?nD>o;!*$jHbbLKC6Z zy~GKLh~T*yXCSvb4NtR>hDSklRC>E3UKbvpauUUPo;V~q1ge&oW6|9336q0vvKT-{3POE+{ETz5#zcSotki-~JIwiV@ayXHNiPv=xX| z*y5t35T`}(rWYrqDL)>yi=RXxIj2?V4#_xC~6l^C85Q40@_`3z&*+S)qr z@v75S*2_y2l8()<_|=V#I(>8Brw}gwz{5=b4_j{?S5>z~4Ihw_kWd6E5eY#lm2T;h z6zLA7L1`pZx;v!=0claXkrt5>kZuH|r1PEId++zXf4u(miQ@tGS$nNH#~gFau@Aum z22Q+9Rdsc@hg+?;+9>NfJLT))fQD z0<+zLa&aup*4$(@-vE>dZ_hsn3`8N&Y&Vikzb+8KEqW;r5wtJu1%G}}q&$VTtt)6@ zwgDs}`7ckShyvg&1_}<;eI&_R4u8DG$cV-N?h530^YR;jXdLRkzo7^O4+acOOul4n z6b>O_2UO1yP?zAmrhQI>I?;%MF;r9&{IHCXH7KvA(M@2aJ2ELLXlu(JDs}>3_gY~2 z&`@x~+ID{rLJq(z7!HQd4AmJPZ0J_-0EtRV3y1Q%6_N++On;36KUy3}D*j-HhCp{P z)@dCXA{n}HMQ-5N zP#Pf$=n+H;U_t7YM9}9-5IK)66(DFT3q~lnqW_cSE5J*^WNW5*>);?k02khC_V2xA z_cTjU5F(}ga7q7xfwJL3?TUuNDGsG_ayNm~4 z|3#!$~8V8y-Ay=(#3QW+OF>9ovP!IlB zI?x>fe+1zkChZY~PZv#$T*k39q@*_m1$SXQpZ?#=HzIuR_yKF;7kBq59T(S=9nELY z?np(@u;v3vK@QO{Zb-m+JrL5f{3@^{d;t5{^DmY~E_^F1U3`-v4TA=i!Q?g_-4;Yw z`PIgYa{)LYck&U#hi4O2W!dKdLgof?a8rA0O|JcvrM*KvJ-4IQo#?U^T)9VNy?ZbF7>x z&HLO<7O}~bQBa5-f@%dXM^!5$J~cHIa-3{CaK~5S48#qAAy^RH8@W~Fgab;U--G=< z58EHpQZ9!CqE}pKz1v?#;qyZi*?PE^6)-@{21$!EY;<{5Z=h_IzgRwzMV#7XdQ3Mwb{1qk0lP-KL#+t@PL#4| zYbA~C;P^zp2ercc|Iw51g=wbNP&Q4uEmO;$!Lt2Jwg1Q_xYFojG6PRvU@c`KcV$6-v(eNL9ps2E}bXN}CTi=?1X-aYG5LI{tWMY%;4bmAtjP zdrx_AZO`vK9EvrhfQlPBfG`6~AioOZOl?rm-pOazuOo*b9W`X}EfMYM(-HJ9U{d$! zVj8h~glKjrAJ7mb9F>?Mh$v2ADx##CF5)c=(dOSy0K7w%my?}613X7;DA+CVgYg-A z{?#*5%0N}9!JVFsmfk}6?g-{MIUxV!SAjRidLxGL%F#jWhTek}n)jk>pn$#>{F<^s zLM2uq8YP;eD$97NbU!3Fm+2q%J!akc{X3gud|jO&d6?8c(w!n~sqB+xkp@5~!7ulq zgBu-0=<~>%orXK4|5>cU7OJVYS8*o*9|Z-HQTZ6|5QbQ!0@gWOh;~uDg8fYfc@2&0 z=f@R?rCJXu!c2FzT(qD-Q)d}AL3r^WYkSc(At895wTrTCImiv~C(%2(xE!DpEF>6s z1qBA;fRoj7z8RSK_>EbgcicOoSvoQ1PKioMIZ-GF5aH_TD(D=KU2hIl0iJ12*{rRcevxgLQVCsdu8FezI=Da@YD;vXT1mF&->!5Fe@B(lB z{pp~#N0kEM39+Hq8z!?$GnmSR)gB!dH*LcMv#;n^R2qJ+h6965# zko)I(d>u)x5uj>k;PXBLYLGgDw8CrJ`$7oJLw(`(3^>53b&Kmg-QADC6=U85APh0o zUGQ>qUmqdF6aAep=8wQ>6)AOp zG`#Xi6?7wkBI39s6xpnjfl>)Ehza z1Jv~4tOOBjaA7wQ6P`M77KC1BGi+MG{6 z9WBrHb#~ehAyq)8IJSD8a`X0c#Db>O`@$u7*=9mn! zleD%r1u#jzP~LzTZFbi8zF9X41wbVW4RbdkX0q6#hU(!&P0B+V?5R_1_f^20ULM>}g#z>ci4c$k7{Ss+a z)#wE}<0G<$+Q#ati`UvmWD4Ll_A)iat0$f{JmhR~X=x5F2UGt+BXd_{nxxUl?Zbjo zssjVfd)@=-(b03y>`%|m7<$mw$sDd?paECV0)|mH6aSR#xD<37i~xvlvE~*?F80Npezum-7&kmV zKJIXj7NE$}vDo>0bqN`}QSZ5CZN5yCOgdFpnqH^Mv2xy%}bJRlPR4xrphFF> z)6mddB>sWwL;}b(gx)DMXgt69SMawJsQOsoxCIXlsY4*d%*@P$sx4sH5)-9)?>b8K zWdF}Lgr0d|eZ(|1$r+W>@N-m;)Ef^ZBy!?tgR}0q;J7=3ZU=~LfXPris2iJ_o6mtN z1;MIR7PlQ4|I?@5+SzFVSV>Gy9taC-2*)#AFC#Dz*W@9EQJLn<#s-_qHAlJ$zx-IB z=%NJBiG{@B3t@fUv>E%tJp*~pKl101AFee`;L1&EUV9X1GgiRCa6+Xs=-<&JQFz~P z2rM^zV8~5Ch@wI02mo%WlR6AqD9i}a@2&t46X6&a!d3F%L&HKeG(AZHOhJPU)kYQx z3p4X&U^qLV&P4hY5)3#1q+qsOjOZ9RNMs5&!_10_BAb-N^6}IyySHGT%F9Kp@h(U}UKlK_ef@9-#5|fn)6nPFsXjIuO_p zy7phaQU+Pk5XuzLXM9CCoTIhNDnaq7y99- zCa7nSq8KF#ZBu{z8?S+JL6RuyACJGbw&xy7#YaNQqAm(HhPe0c0y7FUX$M?7oE@lp z5iABl+5~be$_IKlhCedI{LBgP@qrVZxYVd5vAc_O(V!v&wj*8umybBDJua|QwjM0h zkfa3~qdRWaKsZAC4dErzJ3q0g=b_-z=ouNWA6GRtioj9;X|(s~=E(1tc~C5X1cK2` z0oc-OlB3q#C?8rJK$m&%p~boE1Zadx#7lRBe8Ch6)qG`O28Rv2zJLF-mqXX@Y5D-o z_wx6^Vi4;xz*re2C4i0+nGw@)iAX+s}9L)R~*1A!!hWZ zhZbEkv=DLE{hfd(1#(-^(Hz(n!b;KD`yfn|l#sxHwhA<)vQ#&r%!Xs#nC*2TaSp^$F5-JkP%0!F`i8JKoa9*i+?K7JGLL25S5QP_+uv=I0Ux=y5@iho!r!K z)u39t#l{vs0>R#q1ld(9H^9l200^GLi1`Lk1_8uQI9@V>W1tDrz<)h6;R$q=ZiviL ze?iDXjKD!4sSy&3SQd%bQCE`$-R^^QrG3d4Bn;OHv)Ifaa9)D$C=%}tR^VhqyKTNB zVtEWQNoT$TAVIpMNjM1*vN_FrllPj|xQU3nW+A-;40r@+4szw=w+O9g3W1Lkp1{ax%xG6Cv|U$bk+z?EI|3De zV}%Zs93q&IAPmcOU^PSF4uoz{q2vuA2|(X-Taud)NH}W;JPGEQ#6+AhsoO62S*jh+ z9vVZ8aXpxHQEBjWtDYw!CPlo$7sEv#2O?FWT0C^?fT1!1Q7AwV#}23*-R~inla>X3 z=!WoKXm^w$X(%ua2T5B>UC z3uy>QIjYTVZIbXA7=8i~r;_;y6LE?}zTW*F$Uh(w2n!3t|1z}j}ve;3|+sbB3O zsH*^5ML@GW4hPYBfhd~xf9sfris^a_nF%T~8gR@no^U{}k%9)Ps}pUf8^VCzM^w4M z+r$b$3%Xye4YKhHXR7ck3ZNic;WGXqf?b7DNG1?OpnnBz!j&MJ5!mDQr-u%RHR!)p z@58r<%J~Lo33jb79Bfd5wp|JsN z3Tjta|I-)begu5^4;7SiKo7YeY9CH$2E1Gy3W5(v9H)(FCDbusfJ4IC`X11o9ai~> z=A|9^ZZ`qh(1638pk^{aM*vnsmvL}r+*X5VTA&9uGe7?Zq{9EuMJF@Pe}xH-+(@?+ zP$igwgu^aEZhzMtWI4!#NT~g{XKUeF&f1Wo4Mv7MK^yqP@(Z#JqI)5CMMXw7VZFvh zdi5{Up+i9@Bt#8;vq%K3M5)aoN~;6pYqqwwX11>&x*Sy)`0gk~GLXTELL>taHyYuB zFfw58jC=`QE{J-=Kp6xNh=3=HWDS}`$hspsEuf*gsRKYu#0TsmvMoW@ z2F^xq!6kLyD-F7&yKEqD9`w!!JQTIDtf&>URvkjG=IpnK1)Vw7>o~Z&%@mp|TP$zMy!*NYaW~4p)W_ zlCOyR7&g|Ac<069o|vF8#C)`Kd;&s9Xo@XeYgjU$+|3|b?|F*jqncSd%|fb-yZ?>F z50%p*ER|1`p?W7n9Y>j^Nh)CF29lQB9>ZY(sHdC}4_pg!rki}w5WvKIBTgdgS$b&7 zJ?_LJx}9$tiACIrtaJ(*l-AtDZr3Sy-MCl6t}i4P{h(z1v8)wkQPFIAHOi!PGzGKZ zEWOR#TPQ|SB5fEeX3R^Zj}BRmXBF_f*%1Eusj=al$^0ovjN5!{m+9vmXrlb*h^ ztYyuSWW$kMB%{DHXB&U{xBFGqPraSo+EFH-X*-@tK2F2LDi0JaCy)y174B-R@y=1x&y6dK4dgEIs zr*>58a|usXHd_nwsAv1Z6s8aBW(Y8v4(cJ}X zi%-8I%|4^K+M8rmRffbzdgC>X=!H3^QLKEHt9pLT{>k0h0VbdJ|=RGVj;rbK4)%)d0| zo{QP7ib)C>Phy;q;iP5gaNImZKM~1lxwe1eaJMy7=LTj<_^H(G#<9RV^TDEa1n7cX zfp-eT7ipBz=Lzc@3K^HNu- zw>8f6()a1_PE^?nyPr?L^z*um`@EFd^jzh^x2s_+M;UUZ z*y^}6R$^_G5Jy?KH>Qv68zHd>ga>3q_ZeR;Tiez1bm6^hL9$o%as(&j$wINz!ox!D zCS2Mlc4Dh>)>Ku|VVmJoeg)dT?QwNK-Ww5}KdHwb>K=G;4>Jyd33-~ljthaNYvK(} zO`?U+&VhUA+MX|SWz*}$_34|nA?t#+#u;<1#+M-Q9B!-gd-0`&o2yJ6nrqtFhGiJb z617>lc;Q5+cbUF^lzHd6g?d$-?boORtsj&{2pZVhE3AxiT;uP?cp^F$i4%Ld*ynyT zsd7W~-!zqP^0`uHI7){eAi7hf8Lk`1?hRAH#7E`e+NZBaT0J1 z#mxL^=~&=3&SBM5OYW;I<)4F+8@z34kBID#iqVSY(D(##lY{xbpv%Z`@jCrQp`gYT z2ddZoU;{d=j&#%~eZROB#R ziYPQx-sXm&-eYoTjmao)XKCR6_=qZh^7gymAO}m@VT%0Y-;d*EH*h4B-ewTlKRBCZ z^Oy8y-_)O<$+|w1MPhhWQqvm!o(AzcQ|H(n4AGoYo-4S`4R`g6ZArfC0LFb zg^QWdRIelE^N46uh_Q(UT_fd{eBxO5Qk)zc64yX70BHQbSPI(PSB*sUJ}k0hYvG}; z;r4URs^RQoiQmFON!%et|LQ@8bycznOSG<}%jdnh0al-Z=IQ0vX9si_8nx2;LLaQ z;{NkSyJ=F%JG`@>52*J?NdN4eq~H-}WskYejL?bXumzuP3T-WCH~uKWJn7=W2s~)0 zn11xxj*DocKJm`^o(0yZ1X|Xe7Wd7cSQA#{J8FU}2e}JiJrXT|&UXu0aEVeSx+22V zJJ*GcPSnWe8M0^C-;Ki|x;%Q>DM3_GpL{5x$7qEK0cZYlQQ{Bj!Rk5OuAk-fT&PGJNF8 z=^o#K(z)-WP5B0N14^iG;=XTStO{e9yEN&lITvh)30F{u2<-4MSEC-#t#DS9O z#ZISz?S(e`uI!cQuFv)c)CbAv9Shp0J%^{4&(eE3?Vd%7^t;r3z`;2pkn}R4o2o1n zNx_|MSPnkw>os_Mj&VNqfqeW`PlNZI_XYp5LC5}inquAN`TI>qjpGUuA|WdX5^}fV zTD;;T1?8JXN>$Lbhc3V9_$B_`!+|?%VCGzD z!bN@tx=#$xC+aVj%^UWE*HRs?Y2415^VOl1O9C>si`tjwQCvQ8#{SvJLXZb8Zq+53dc& zmv%&fjB%d!GmcnS40@x7_=RqwT#86G*yPB2HPl&_!@Ya?&{2t_oah8B?(>e0#q--( zq_6BZ%&)j};Y);k^y=*V($xASs7++DDNFwe(TVi^Rez7!kr&VHM_9IvCG83)Jg$yk zRO!&Bq)7St)fb4STS(fbk#hBT%s5NYtZHmMD&kO*z+5do9l@v@=can@{-9yf8?U3p zqIK|zU)!sX*Yl$OR)by>m}Zp{eIX+F#}B)Vt;` zms__f-S16%VBe_Ls8epHMx(J*n2JY*$u;SO^|XvD`VqQJV4%QAnaWIPh}V-9TO?IM z`jIxxN9@{L%!8q%9-A|MxHO|q!dHFuE$dE7Xb)=(j6MfqwqFz^^PmhZt?5vPVh8r7 zltnV%xlQ)H|MWNv-udw{n9RIRl}6`6ruFkp65^SBsqtqwcdgW~hd58R|54BnOIlI+ z_DBCRVBW$rq091K4JywRZ=s|=Gz41uWvseB-ymK{wnlEpD@yEH(?{IGzZ?ikhVhzuxO!&7NOQMU3A`Vc ztlxc3D^+p1!&g4(&{&D?V?fP(4#oLafByDn8H_~w+M=9Jy8dC2a) zJre9sDpV>UjE6G(6lgzqXZvrpLdO~os^wId!v!+o&DAyZ7|E}G0$399{aMzqt`a^TaX!@~sAKjFXxsI3LZ{cRzFQu9YXAZOYjX-`Q$* zNw8lszruq3o1<6{Q(?lD7#EW&Lh0!I{!2DF^~*oSic}3Z*7nt$j;pOuDqj;E_76hy zz$7Sw=@Nf~`IuRR}SOeF*DkDl``uXHlK z3{@QEyXzg44?}l-LbPYA41S6eypuvJxI?!*l`YKDL>lzlt;)5-hmikm7CbF0lV^-$ z{i3_s_{;17^`$KF3Ea@W``Tq^ru^ZPKg4rYn)C|3eoYWB-KjKvdsLHg5MmaYX4M?7 z_PZ)MI@CXkCh-^ZwPia>;Y>xK@7<5&o@)=~Axf>fPFg&Q(6_ zA2mHH(r>5NOW3L%*U?{)MBdMj4<~bA&sAK7*3OMQdkcX z;SFLxlaW6+6^5?-{mOG<$JdZnJO7bBy>dJq+t|e;lWJh^`r*p@=B?ML&xNZ2ecp;q zmEx8&ox=*ARex|dOp|_8_=^a;3w;y~3k=4FocQ=2Q=k7PoT&rv?99-BGw+e{By-Or zo%`3&m2XP~jI5o^U$A&Io066tADH4>YhT%8sS;n#`dZVwkb=JnZ%h9$SBPPd{wE|_c*-f;@8MWKU1BTd?K6Bi#=R2yk9pFD>JAAMQq~P zbPC6GrQfadaI_Ql7Y628OkIG2{~YRB3wV)n`R%ZP=q;}R9BY14aS1J+dmCz)wiFB%=~V#aDVWFh^{%v@ z>QUETdvax9c7nB@emuc}XS+9&qAJ>2bePsfx8ADBZ`}Rcn#v6{eG1P80kp<6`PRzD zX|}Dpt302!=euH*js&D7l-|$=M|gcOWATE{{v~#HcHnwDsTb`ON691J@O(Sa%L~kN zC6OeyDOlzBU{eJ^@@-=8w&tnYT>TpUk7>6?ag5>|^3r|ws|V7#Ff+R#qLy8{PA;tQZi0L1XVf-+np;)AgdrSQtNphNnz zt5!59!@i?krhRR7Pekeh$~_>m`EL9JJq(>W0@W)gN6ghG%9m&V{9$#$aC}tv8qvc5 z?R5hY0m3hq`~TjICl=+$KRgv_bmx2|g9+>KQj(+{t;wMVqMPdZ+9!t?d7B5LgeYSgY6DG1KA}*P`ga0UY+8smHiNC-V~U(Qki~H8ON=L*mCp5A zqI}HG3bNGReOlQYlRdrri%_jrFhE&^)j3T;%rgA49XDQc;}VtFqmRVP<~;53@4Mi; zKP;IG*?GU;)TbAgug8+*#N}OOd2RH(Lof7vUl5Wb2HIhU8ohpj!4)&Xp{lsF0QP7{K=sfP`r4rg!B`1$n5Dtn!X{lDQx10Up9rf7-m9^y3@ zm**d@lbz6?w~pRT{QR2^FoGvv20xG%YtwNk)J4NcQ(>sQ#CWxI+5A_%P^+81?xce0 zdzImVG?ySAFgY=_1?t>jd|0$_`JI%nb|(LNZR`_6g_C4qWt^t&S6zpH9Jw1VZWCaa zEM*vLv9iRSyhtD3)xFywl=%AU~XX)0uF)b$~z zcAQWAle%+mgU4wEE-%(&5+LPFe19lFQ~pch+tH??HD8*)L7xRbvJ<6?RB4BlLSVCK zYwSsm94|&%l+7N<-#C2gB=YvyvTWmETyt-n^(#%|$;JAlORD&(%_=IE%@Slb->9KE5moA*+S;A(R*0_Xp&2XEeuef#cKP>>fF{ip!Nz&vQ`CL3dVaghR5+8pUZ-5_}aQ<9epQY>J8%N>E zp*nFz8yb-jq1x~Skpd%`nvnVS4`tT!cqLx?t=Lu+htmm8say=$wZl!e1Y81)Wb{$# zOLJ2$a?Dlc!s+p!*X{L*gY+p{=t(G+smj;_W`=p~8TFJhp?|AoO^=A?pN#B6YFzG1^1OxZ!s$v9 zkE9mAmKksK&n{C>(LNQak1q<-OXVEH6m@&gROfAVFh6mPiQ&sT-HQ?@-M>Yd6CVBK zsNe$rs`aubg?DTwXY22ih3QbdojgpDnpmD$$uS{Fd5ux z9+@(?FfGr*2QOMEcFhjSCZXyoYkY5>n=E?u%@Reukw&9Kh=1%>W%1%h&C&+H7vVC? zr_47BOSYAV=hnV7R&ec#Osq?IxPE`sr<}Q3LRI@fsM+XbR#GUUAi4fT*Ja^@TL`{& z&K`}ednUQhW4p-39M*>w0p~QMzb4;Army1OOiy3JZM-s*j#shMhpE%0^ul2x@!|Q) z?=oH@wSijRdKIl6T+W0M-ST5UJv1X5<|kdzmntsidMF=p-5Ve1COj|uG~)0?QST6) zk>}Kd8u??gL&AH|NmVT9g(Gs@Zn)w4-jrR0fRCJll5*Qs5FSJ-RdX$f4ws0t-MByR z%ekrE6DF=A;T<*VQxlcmE1*jJ6g7B7c5&``(#zx5_;L;$PMR>*#6PM$f2+%E^3RdT z*pQrJLB!RLoYD`UV%WSRH)+zube={Y{9NZ%pDn1VSvH}1k|^UQ{BPEKt0Uv<7-X!Dhf<7i`uN_c8iK`QG_YlC_5Bb$PRBP&WicM04< zschx`(KhzSlu~*H5%M%g(K_GBzehAg^(m!k_O>TK?yh;GSRh?b*l!7f&Dgj&PIwfq zOah&X1ll9|Zq_@tvxTh#TFQ0vbKO$T*yUxs4`^W6GU*sw0K_Q*3 zP&rP*WcLm$>%_U#%f~SRQZ=z?vz6?mFE#}hF&fX6e_wi>;y2`~<0>;h zn4q)}D}JBcdp@9kNvd<|fnp3^ME6`;2$Muj>?HDVJ9k=B>{VYtT~XA$HrIbnI^bUq zX>KEYC0jSx%>#kP(ki9pjZCPTPatP+Z|~?IXOJ_~=>-P{N|eElda-HHTx1bG)78T` zvyJIy_e7|&u1a_yCrIWkv*_1E=$rY$!%pFe*EGLXC5-*2Yv+sDC6C`QP$u*J4$p~V z6Q{c)B9ac1TQUi^RHV=zNi3koKdlSd9v{krZH}yp3Nffm=PrgFYP!1Lpr_&nQt98TtHvYv4WlwN7c$#TH1`}z4*P1*vX z1H+(9w{O46&dz?<&RJDP!>XueL!!Zl)$q7pnD1SQu{wgQN#u2)TYl$4(yO-=e+l|J~6Xkg$j@(@wv-oZnZsrQG6hgH)VNR9CQJ4In85 zfFl#~>`#~%$SW#Z1mie(@^V1slzRyH$$@Ywa*N}h56sl;{7t_|g(okUgU$)WKb`q+9T~QNo0tHcT?zCa^rSm}B$`SlBndCq|f)#1u95 ziK;S}Bu)zV5rf4iH7y7h_j`X&8($A@>j`8D;%nlGEEp*j^x z`!@&%W(m-@YA@ndRLPFww3rCOmm$JcAH@ym(U@==ws+DCYmV%ES?*D+crl)YncX(# zYGrnt@O#NdkK;l2l>YdU+Wo_&QPYNdn@BLD`6~BbT&ZgGM#%`}m8(upPD3Lj?1>ijHlyAJ{`9&m>mX)&}QLyaauB=G#)C zGhkz|1e*9|aA8{pJ=PLD(7>uKX=%wEMe+%E#nDtbiksRa<4tUZQz4}%CrVN$y>0A? zbV9kEyS#*i>GCyN3Fr45gOZXlJQL4e?a%Y0&KT>saKphU*7?I)pS|HIJ$xIxl0RcgtDSP6$}2wprF}B$y}L^b2W01|jpZ}F2`lm7*$-M2^ckCB-~o;Ic;!8EQhAqCU)WdcE-Wt(j*ZE}YQlrs)t@|Z zfXBpgg1@=8j*g2v^<%qB6^2Zh!xxjzHon|7$`EY$B9YH*qF#~06<1H0@i;}y>thT7 zS0>h8o3xp68M)xT5dkV-p~GR(p<0lmB)G@iw7e!O27qI#DRyPO)?=rTh}SQf68dlm ze%lM&tJ~GOg!i*jIq~;G$AcGJhYAB%tvx@N#W9I|WO&fuKHRY!wO%n-s_nY-p5nUA zv&A~*8~DBUa}_$S9%ff96y)X?&Gzn1PJFj|8onfwJ{*%~_?~vM>uQMA^F55JrMH5X z+OJXth5afuxc~GoE5|O*H5`biw|32|@w$1kG-Lz~qkA72VDia2v+=Wp6rAg!i$?c! z-zFnm&h3kjOf#I9?l7OnOQf$Z6x>r`y=iMbxn@=W%DGwJV0?v&r{td1O3bvMrZG7d z2#S%XmruY`Zw0rSE`i)DyrzbKqiX&N3Vb?3LHi6Q6lS2ifZ3I8a63{~Q)`6>=qf=7 z8PRj0_BVnT#9@F;za#-HB6c8nUL_+##u7lGWbbO*0k*&`_1A?oigmkS*rgAKg>O!o z8yg!AEXuT5$(zgX|3>lF@4XyTy)wtdKu3~tjn){Mu7}Z!Oc-Gp$l1kv|6;PRcxAGO zLvT>?NeGXi=W{1BCX2^c6qg?Q+%;d?s&u(a9z%)UboTe-7N!E50C$QS(}$f2Ca2Rm zoi|m#0dhKF$vEh^&7IuVtZMKpC+wM-MZ9m(E?veCvG&QzP^j;olZMdMEst z_`O{0!qS4avSvy@YX1wro3b87UtKhDxO4qi?d#MR68z;?Waq1MoECEVT1u){RuuFv zvZ9hTZo(&t;k)pOHB9(4gHWdn z9v5=!mM;h-IK0n2;YBeI4*|r~!}800kkf-9IHFN<;HA1oMz(2>oewz_c{V!8^@0jY zvRjj+#r}-Pn!b|?srAW>V}E00NTE?-nnseTBrieldCN&;vs z7=B&GP+T29qv8^bBIK!19b3n%cWL@+`@nt-|5FTg?9iVh`)uMdTkauOj@oGx<=~if zZ!4n2%v<_)CDz#uy%A!0%eT60%({PIcx^36QE|V4pZ1t4<+aGO=p@7U)ele}Zbc`K zHn%_NS{D)wvwE0=GIYXi`CWa5p39`uYzHLmsVgOX2NN%lKdpT*aYWDrGNeQ-0j#@ zB=!f40;t=;LxE1uU*ZNPPLv*Os!t?;1U%nN4rXlh|0K-@Kt7|6J@Z<`0V%O_7y2Kn`Mrm9*!*d_bzoZQl}`&rH1L~Gq+)|rAJYF zZPr)+d{te+S?y3*G;|tp-U1_<0G7a(ftp(2J1abV0xLJ&i~ldhj^@c@Hw>0*L5g6b z6U8Q$70EDw87NT@1$S_LfpVQ#i|yygu5Ds*@%qAX4A%BUuG43Cbo!dY1^V$W#VcWp z-<6!;!i~E=XsrJ74E;khg|XH8dkp`v69;{7^XJ*1mq&_AWR+WuPZUEt9aTn_ZZnPf zqG_^n9E^*@p28h|T3*xu+azf(elAaWR1z0W|2n&buzY)I zeAYdUo)qLvQ&k%28i1KF*}@~mP;U4tPufs9_)VOScvx+h_}q<#NsF@T;t;z~ImYis zf1FNNgTw7N+mN?5e0Wh(;$%>4^Db#L_}B1 z!O~IR$}_5gcP(4MrRsM75`C59=Z*$6wEoT9s( zR(C0mjw*MmP9}^n6k|xusAGBDWnXGldrGlP3qK_A{_*uD$I*Cg+)(9-mj2K0m&mT8 zbJ*$OwGGpJ=cB8Cs?^zOO;*BY*Yx}WdF&iSOT`HX4Ychmcy^xsoxwX-sJQXSZpO8_ zTv42FB`BJ3@w$~eS^i<=ash#K%-=n!2s*N;DE$?-P{d zevRsmw2cLrZFRO-%B>3Oay|&SDN@etS$yHC(Wlf9)q3mAJhRox9DHA-kkq-*Y0tlU zaH`$N!)jGh{AbaOAhg@z@7C+iNoS4y$>+K6+L1q?8AM7U2~#Hg!G~NDy#9jQU$0)f ze*OL{_m}JyF9-43Jat!FIYI-6?f>QctVxky+56%uk&fV`#mJub?gvARkK?2 z|7XRxZhkFIrqM8&k&Gs;O^D3O%Xe2~)i;n6;xs+zdk4%QuQ^U+GmWn7q2x4PW&Pe!*W>ekbL30xKK7!EU-MaAX}aUrtG+;%6=1=a2YHSPLfK|6R=C)!Ght-*wuBU0*Tn z@LeWZ;Ounv%VZxDKhfjV$nWzasiLwr&k{4+jAsZjj{Z_IczEj3k!T@xB%R0Xv3JS* zMFW2C&2B}9`cY6+_CSd$wW+X6>#QNOzT(rn`SZi)hewHZ zu2T)O_QI@MkId9ADD|01tgg}0uO@y7>LsbJWe?irIuj<;jZ=h&W7(Og+X@=Qe{oP( z!EF?@A*b<^;c-KOvtnT?J%axn)-wwj5B?5RvvwGS~3?`bS zDU{}a0X16h!8$B3b7)*9niCw1R zz86$GHTCT?asEOMf4i-JR!X) zOVNp3!z#Onc#OT-C;hfRgJcappQw~+2j?x3s5S1Q+d#KwZiX!$jwh%N&M`2JHJ|W2 zHX7)?Irlf^D_>!%{fR0{|9C9ZbJ?y3Hkqu7Gu1p6!!G|ObAai)@u7$k&%?%Vg06X`x+0j zhg>{ZJ?1*IOg}|a75@4qm)hFWnh-ueBp_lT?u7mR#k|{IvN+$u(~#=Zs%GF=8qO-s zP=d#24yX3!!UuI~!6HPa@J7N0gLbZImYLNUf5&f|B3Oo#)Ez*+&Qv-4ezlX-77d0s zMN+H+%0R@hva-4grj>|rv^2cZ$P_WawLkNA}FiQ zSD;QK`K_8wIC(y)G9lO#VI*p0;d3`#yLYMP@fFHs3GLT!yiW~14@a-q`P9Y!@V<@r zlgqzSq`WHH`)q+o-$0|sqhQT#?{BjHW|_U-?U7XVCKC~=K5W>BCX%dsHVyT{<}U6U zzQ43s4P01n+F7@(@f@sZJDbA}#`EIB^!Y}Q4SPD(V;YwN@XvkvC~hSmg5k_3n*5&o7$LOYP;C2(bq-asAAd`bIDY7hnv6j6%%Z-+ilq|6v^{i zKOySrw`+TOoKG~VmWYop58$ZJF1Bd_D5Tw3O7MywLjMoa#%_Q0l*`t^922(Ivbo_q$P}?jg*YKEMM&4ec=2}!X)yq$u-re~}=OQGqh4MMaW%;xv5^K1us>$ia#Bz}z4Ds>0Zx zn++o;dy8MbC8xHrTHr6olkq6)4u_8$8L2;}TKmXPo?8$sj;O6ENbJjkZ(46}l$MPSJ%!WJ8{M7Ggb80foN4m1XlR}3OA&Q9&Mg}hR^@hVSq4_e|Na#f$S^q-y%8DaGP;90gS$}>^^7&F~V z(_H>kVd3e8R^y;a!)kEHQ-`&r+lMP7(#GgtSoL(bn#gAT&%Rs!4zc3<8)$7FDrfdx z+`#LP#lc?);H^3zcD{GJUoW&;IJwa5(jyD~&`L=U!36t4({IFXXRGf1`R=4jo#S4n zCM(t&%eb58?02%=i6p&O#dM!skPO}==r4G-JBUxo9SZ)qk~P&IE zrC%eb8`QtmZ^pj&4eRf-spL3VC)Pb!uaQY0iBlL{XnFssYI*K*6q}@JNj^4RyDk`@ z0i47N1VJ^>jDV{HCGwkpv(f03F4tcodAGW{y0X4*3e*>TNmd{NI%O`hQMc%7)nM;- z@0=OvD$!ZNuoqZNvHwetK15NkviOKdE_1UI+`jbI$Y(s?mv%seSv0Uy7;>jX3qkHR zPPb=*+-KAB$D9S2Ql`~aJ8zAUD@tD}F(e*ix)N}yU|7z=!XjHfihS;~j_Y1>YxT}y zGXPV=%3XajQF`qgSfi|w#CEfv#RuFLf3@C-F81Ti@m8JI3e7Jm>6o>Drse+os!%L4lMA`)7#y-OwGGUeX>3b!e zKfTFJatQ5}p9!30Hl^p6dAZle_*6^`jhUGl*y=2Wi&LBHQF$(rI5k0}}82t`k?uAO?Z}XS>bZ+^NqbHonP0yhd^2PdL}U`!eb^1>{$g)qy@pOo9xTfA>idRXd9{Fu z4_8E}r%*I@87ExLKdjKjYEBvT8c*} zAV>-V79owaBB26`Qj&@^i|$5Bqy$8eMoK`sK|nx3M7q1AyK}*QChz2M#_jpLRCXX%9frG-U4u8NO05b>rJ^X}P>o zor$j+rRQA7lXE#nVO>1(Wbj;(9feC(SMjh@xb9G7f7WnyV`}|VQo^Xt_4j+&HV$46 z7?w06yTD)c|6uw9^x0`H8x8-Z==}->U$-XV$?2GbN z$D|E(t?^eZp0`vDdV*7PNPVo+PPl#E1`k!?jD4^1g^Yzy^}d3C>4crP?>XkX*-4|< zB8dWiemB08_u`&4v8nQ-z4EHV{1M|?eI?WdB(eDFF@P$NXot~^i=Tb=YJmw~mS@YA z1HL1j^LB0X_|YTw$>-Zv=ZLS0w9OBcVrVWD3SFced0I=zzvIk*FfW?v?7SDX?2AX` zYnFeDOB{h6P9xtLDsf0#ehx`>9gp zdcYdU=DA*@5Nw9jpA9fleUOy=5E&_5K}aReLvl~@_4wV%w@d<4f!wFLi4h-J$(;Zv zI1O&jDcl4o66{$Ew7YSj&W%hRn*O>5YP35C2d~U?L1X?hz_CLypXu-c8taDudS~Xx zMTH;JR87Y z2rOSukv62gaOSU8)P`sO!v#>jWmXzfQc?n&9AvBHiS7M%sT44$?R(G#Kk(1ulMa|i z;~`BILYB!;;ok;wHE>`;PULMaPG%OCFv#1?b6xvA$Cq;_t+4Q7Lfd8NBM+pHsG^94 zmhw&)PRLb{!R1OyzVbuP!ry|RfBv*co5ud>4dfJo&C_-IUEP=Gk>`MsG5%ps);jN~rOnv12}{{3Tg60ZsT_YpP_|UiEU?qBi&X~DR2dYsQgQ1)-Ye!GbznjvEv;$Zfl$MHgrv5@*q^DPKbQFZzMgbILHi=db!I;AVJW!&bJ{?2` zk<17aXi(+$HMhC#aHGs>Fm}Uc{D8uMs&@=j!zlt{$rK`72P#5N+gA`7b{fkcq>vCT z1l=T%LzS|$yaVTR*_-gAabC(VDk^%SsVN7UYY@H>JbU(RtWBrvusbY~<`vv0p*+8S z+UlvQs*Jk&5HWALMvm7Z*1NZoNr1b8!r_00-uy+FAaARe+&((uuh}O;fxG!7a&pW0 z)JSX#D4pE=jzjVu3P-uygzG^Kt{!sX0>^t(pFp-3dT}zzj}DQk5Z?U5tzp%~jHKQ{ zlOX~?JS;>Q${OSwxIv8Gta@J`5{LDGoe9E&=P>CHx=}7ju_=x9pF2=-NZD|XHC9|+o*2TY1`O3Q4R(N#EXy^%fld_MMr(NF3*e9l z=!FdulM=SJyif-G;p0c_Jg7?p1s598ll(@yW;neJ+*ZDrAc&w~RcQX?>C;*$`8P5# zffP_&uW2+3d!$J^FH+Fn3UjPXf`tGL5~SMO+f6C~@Teo;_zN-sdSD2xVfmAM*lq|7 zs;^yxgTIwjG=BmX<+zmJ2%%PYu05%!q@)1G7o_Zj>0H)o*RC0L@gRUM5+dtn6Ckq* zCW%iSthS&){u7k;!jm{`w#at#<|OD!GYbhhr}ILL*;!}3#t7jC2no@l?DvS{p`11f z>{OtH1{S-7;vi7L3PMC&AVv~oa|622%EOTMEhRTdk@(;V>L5LtnfcC!ijlEXx_WPt z09s%5AMF3&v6{j1 zaB*c35s8E7_f5+@(UNS?C3!}~l7WKLAD;1id`f&hve~D3`g4AMXm@wFOeE-B9@ehzUL?c?=;CzY z?gSGt2)L`9hyxNtD{_2fUbd-nDl`}02I;N#9!z+ZiQ7ma#Qf=0c3G4fh@o$f`5hc%tAW3&z7M=M~ z{W~SJl_JQIQ{1Tm-~ttAWJeH)?fuIQ|BM{00gn^?#dIb~qR&*E?BVD;xHA}%{Yb1R z511jQ&!!VQ_K@W?Bs()$iCtuKU^KthHBI76eI$Z*LzWPPN1i%+t}#NGB0JnQyi$`r zzxxt%<>x3zPQ2rz^3ZK1n)GXCUtjLkl_14iPTCxd8>tgc^310Oxn zvS{>O7arR^xRj2`^{&DB^z75!hW2;D;@Y70QVft5vo$4vHa0@Ew9??Bpi5oh<>@&v zBEUb;YqRPo-^OQM*@%%;h!HK`;#G|Pol&7H@1Q-smoO1PFR3syFId8QhRXC%nCLs_ zW3pJ~$vEZ7Smj~6TV{Y_h-@`35Dvd zA{sknK@SW&c%6Gg{Flcx!I}9j-1)hUu6d#-9o-LLC%t*OHG-tN9Y8l|Bg13_{lQ%ngMJ23oqA6}= zQ&4fvhUCq7>yF#@X8+E&5o(X#@9bk;b9C=|F5=z(xH3C3q-jU6E`RHs{4F!sG>zcn zg~C1hBZ=pj!S0(dF8y2>>Bs$L^-sR_f zj{T}5va)EQ2sy3jyGKaZZ||LpN-D=nqq@R(Df)h1Wg*EQ++)w)(7W+zUyV|_UCQc3 z6*|{&HsaF;4#$+oZ>iN!k#u%bopBNR*4rskQ~%18fEMUx{_MB>c^c62+oFZQD9c>$fe}HBiO?6bbw$OlrnI{X zyTdpYtmLZ;gy+xV-M?Q;Ri@5Av9wh6R>S#s8NO1HN$twI?vO$7pt4wT_VJpv*NPSq zj;XJNa#$R&-wMK)30vOk{z*K;LL$e))FJWtk$d(#i1GSSGw~!pF8F&#&#;ebJgq+} zCi*%$DCL-ZS^N7@bRt8j{<5*oT4v45a}ISw4~eVDyJmuQlw8|jXOHbKPrzg~Nf}Sx z*ukVIxc~mK;uLKty8i1_&S7H6OOrv81XNd&zkUq_lNJ|DEg5%r zANx}yYcy-&$uU*xwifn7B24ej=GD95Qc@MMUUfXR26dV5_P)ijZyFl^=A|Am?%RMtjypKOoF~C8-ldnejh6UiuyDo-tFg^AK3(io! zsg27yzH#R<*1gYKkz*;%VN8I3#cfi467v>3@>orHxZwcm$PD^@@N^fUR1_0 z*=5u4l32r&`-U~Q_UU{nBbQFUsqxLFJ8py;<+kWXKOo z*DnE=qMi`5G+^d3ZC^`BbbrIVR40jo4d&N#Pd(ma8L4}%W@T5S+nlS7h z%O>a#Y@F*n^Y06M$0uSvkB9B#CsA10_ZTj7&XzE7^pMt2R>g{M-b>06 zgFB^_Da*OF3~vWq7kRzL?HW}B(YZrzt>$0yk9*jX^j+E!3aZElb~K#~uqgv_~J zCs*C7=8`Yv;f>CH7R%&3{VVJ2rRIH=uXa+1ywF64EBX~!Q7kidBRA5Fc8vS|yxtBR zeiP}-UoIQ1x>>cm{Al%ej&mUF(#H?yl0%RcE|goHF08P=e=~S@eFOA=6NXSxmSZ#biw;upXR>Ix<$iDov4^m!HP; z?c~?z=e?%rslG8fd9!yHySxijzdb;0QJew@xFUO2Ht=`QY$(a^vX#F{JVl2N`j%&#ONzKy zIN}!-sD5vBD#!2Vz1e8Uk#Q-4rB$aiEGj?$NNAI65x5zU;ewtpmRrMABtLh|w% z8c%^eQwOalM1eCC&-*5PWiN10nL~GD(s84}A4(j&I%5Gok#c$y_lRDNYE+DcBh;NO z<8S3N>+-)799RyU2la*vYwHixZn-;Ja~sfxwgBvAHJ^NIzxM~Bez5$|Rq>~o|GXVvB`hoJ(vCb-a0G?(k+|+rJ8Ssc+vuWJsvUPClRGM0S`LVW%qmw1G zACcT-#WUZ~E9NA9uoPs(gdq80*m++6ul#WJ=d_=X+@b>{jO2&y2#ynFT`MC2lk!rG z`TS?PJNPXH%a35HPY;b_ zgAUp0aJ(t{sD-Y3p15h@eE%}+a9nwN%fZG>*yQG*Q_n}x+~n@4jeci`8YaF)ohcM0 zAmCXXk%Wes7O*(6_wabR!d15LHPsVLl4i#8$kvaODYSWfo11R62#wujN> z3*OjQ23>)s)UP;3HR|3q?*sFtZ@vCRPANaPJDN$B{Z`Yu9bLH%O@g@*)_D7yYw=nd zq;5yE{Ey%QmP$Gn&S6M?=-(08Tr)+63bDB%vsk@{d9d8<1j%oQnRouT*^FjN`uLuX zOio9elUo={keRzbZ6puL{@j(G8uLK%01-k4GP3_Y*g`-3LC@oeR$~L`otfk3IdN;h z1nHTG&0pWF*oE&#vbynjLgmP7mb-h4Loo<8u#|!wyw@U4BPi@M*1~>%)qNuTrkQZn zd%Uq*Q}3pHEoLSLQhp5VH^(p|U1ze5_2m78{-ZcN54dp?@xF9=M07W=h#(j%q~K+( zhGhIp^K%N~DqHF0Aj9uB8?jy+jT^uJrJ&CwL0$2u_SmS^1yK>$I0{k{b`4t+DN~gl zG+#)&MSl`zAeu9;qx(RW>YL&#L17>)5badwQ9Nt@^ z9$JmBl~l+sUm^`fstaOu_>H~bm(^`-h{x9HdNjqb3S40F*|J{Hf zaqR8V9oUi~e*?Ow89T^cG$IjKR`y(RaWQ-o`Q^cl5uY0kU^d}_q=&e<|4Fe*mILAL z35WtB*+Ybi4K0z^Gcb@wZXZ+*!D9uShsUrB#&jFh2)%pxX=Tm2%X@)>;}IXvdZh|q zL3xgKZkyxi)AC{a4oWx7BrbxZ3$;=;k?7A@A83os)=#EY-_|~D0no(UR!DNupPMiL zFusG7`izO*4zS!m_ZYJrh7sMJ3b+|nTH?v8K6IF<2-ib}50~)=Qcw@!54I(uTQF{* zR%K%Lq94uAw@U(CWXk|5P$ndNUo{BP*=WC3;Ucl(T>7E%#GC+C&ov_KGB40D%bHj4 zEeP;s=eWZ#-3_O0@yB%0KUNJc-w_ofy}0*U_oCQ|{krJ39b7zusFCUd3!HMEEG2~e zb(!JjnLJ9E8p!rD*n#`-#e6fA%wWnVLB5Wj^Al!Q4FB#0($Bq-{A>SA3335Gls(@_t6#bWNzKcI2egCzY8E9>IxpR>Fxl$=3Tiav~53 zU-k6z(H$fbdNf`(n^q}2Z@;g_mnHGJxfYlrw+H(FB$c|rT8plI@giyHFC#QMH7NwUSLi*MD z+c@E!`g2F?l}u`CqYcTM&7SS=Q}ond>`xo{9R1z9D!k?PC9+PR*G|A5%ATkbwA=C? z^XF>YQ*vn8UZ>T>YOOLq8;yIKnKmNU=S=juPsnopFTd|^hY|+ z3gN=g%nSho{!O`^UT!)#&(*&fB*ik=C9OU(ghc)$B<8g>XJ}) zW@9w@@{XMmY3n zL+o*gV4nn8f{+3@h}*0bN*3F)XH%H_fvrY;9q3~QNY9ZnOjpQaK@)93P zH|I9+WG&R19$8w|;%K*bPmCq$$Nc=hI&Ibb`knZ-_hbgiB|Xhe?)!vYgsz3|O zTs3}%K4{W#GIbLWhmahF*_{rg{_x#eg|6;mfK!bhaL!DU{rp6)>q3Cc)o{HY!tr&S zwUH#LXtaL&QC591P1A)Ue~R zVZ3Tt1Vs1xSKsk~byr(~D>cj9{=c#6QdkA{I`}vCcf%gWALU^K19{ir@2*n~u+#iF zXd5%^-CBJYh>-!j!0TuAE0+SQK?2(pbQ;hJI?-!$yN!1i+i$}!cellaa|0XQ1w1*- zV;bsggKle${fN0`oMFDX-d~rk;aGPe$Jvf{F-yo{B0bz;dGkvALXJU`dGPD?1F3Jv z4B@`lEW1}fK2aQMQc$407s>H!sfGh@e8*a914FexyeU5)e|#7E`j@=OdG^l|O>1R<0wU_ySg#k?Fo(YoR8 z>P*lW{E&G7J=NGqg7w{)molEV5w26iS`jM*V}escrallXrsG?)e^Qh}Raj|~q+e+=qy@80*UCX`5|vpnU1;5( z4x^)$KaA{-e;>`{qL*x!fL3<2l);N~aFGy&Rl>{qFtvgt|LmanHO|8MWJM@;ULP}I z#qoCbMdphWB-suyW*9O*aDDF0%trsA46nF<9|ODQUZoOlYnv;qfo(dynh8@R(ZhQu z%OlPf5!-Q%>usCDv+=PSgjcUgnq56}9n^Hv9<1Gc{y@bfqa?M2iGsF*U{PSXguAjU zZpBV$=o4D#=ZIYt#iQa65yc+|3w~xU+J*-7-F$rg{PXf?@mKe(!mJ(RF;m{(Cma>s zwHmAqM{}tJKAF2Y?!{ZgTgSIq?~C-wDRO-r<7{yZ6M4M%Yvx;0ZuZL!*>=k2g1?UG ziyK?Pj8`9#Hun0D2D)v&szm;y>vw#y29d~ z4@C=2YWm4Kqvi?b^471MDPznGUyFH8FOjwMqDh~8r{378Wd*ZBL7S6e3A)L4vt`E0 zM-ETqE=0&mN<5F-Hz_eC z!l+|Db)~az8)%GReo+su-7XBqLaj->y3$9g4_K@*cWOlk88z7X2AU(}`_OutNQv&a-QeNg#eN+|+=F;ug$c%hoF zM@jPeCxNQfi4bXL@{oRGs_62Z{HT*^bVI|e<*Rl2g=8Dzca`?36}Q_9uUD#B6$g)#yiM=*+c zmOmu!KY@S7!ncH}s$#{tZBaeJxVL76=K(9;M*574@%E#^vG~s1c%d}r%?87+IQP`x z_@d)|mE1+V(#Ku8mBEWyyQ>`wZ3;f~y~s^O$ZX-bQuLi(8;anJhm zx9LN^B?ZTK6<$TgLCKDitNHx%?Nm)>#**qHyU0#8uX<)Lv%{vWgWmL*;%(~ehXxvg zC0pI`@~*R`hs?4e%Xf2}%@a~{(Zk8PM}2gzyVh(kTxty?q-inZ6JkbvN#W5Qs#ZRxY*`!sj2u?;ug7Oog7erp~AtzL3dZzvn9SKuWsj#AK@qR94%L<6uBL$ z7w{Zy<1^L%t?-VPV%=K1MH`mFrd{=9%*`+%ey}T}IV~>zY17+d=f)03dw;RUl9UJ) zzJ&y{Sj8n})VQWIwNh7u#REA(!dZzi6ds_}xkdMpuW^TCy*sWV zSAJD*IwW5DdGBLRyi)QI2fYf?QW3R09f^E(@pFvgiPr>6Qt^~qdN>k6=+h_1Ue0{GwKNE1prc0W- z=+GkM*uKva?Oye)l4N_q(EdeEOpT*@tLv;D7Cq0SF!ZBf<~S9)&c7Y!uW>$E{R}HldVe{)cW$Y5V*Ydv}5t4n3Ai+(iGYKaR%6a?c_QG|#lIL^; z8GKYdWzkX53uMu%F;BSY6uBrAh3g*ppgcnTshfg0F&K;$jr4>?S${UoC z7lpDOW6Ezy8KRy$ynW1|QiFb30Y?C%29Uj>_xx#QipAfL1vc+we-I^`V@Z%R^@AxTE8X{2{{@I zMo;62_bcCil_d%wo{_k&oz8aJhc>T5dc|TJhTJ_NPsd>7$ zXbQ+JO?_zYVWFZX<-76gZan@@RVVM3%ssc!H*-h7`Bz1}mBCTd%tlDg;*CWoD-jNN ztg^+Mvqqe%fA7m0Xe+~g%9))GF?IOuo_%zKpQ*72c1mCM`t=9^P9{0$=f^fIlZ z%ofJ+fzifftnS8GPiW z0sjKiV^`NI;5)q=LC(?o^y6%t>(~qUr?}H{abNeqK!)Sy40$E_hYP{t@Ge6;IO+8O zIRc5Z_!r@VpJg&p6Ifo=2S5@^2KHL3O3m@XA}^>MXk$S4;;Fs8y#yPX{~SmN z6qqlCGD+KjIl|!rcrLU@sA$b+i2=*Xv+&gjPz0~=o5kiHPtl*KR#jD^wsS2fJhk{8>rYH4E#wD;ZstL)pG=*5Z`@H=x;G&&oMloql| zi;IoGYOneLc(A-szO9XcEN&+_9JRW(b}pzw45+w+Z|pWe zdIt+&&ejctJeO_ouYCgMK)$)vz^MZ<5b|!tj1N%eKSe#%-~R;^IrbL7-lTxe{m4=q zv(e1a2b$(C+u(e$0Hx^F2T-E#!acCHwPgrym(}@@IO$^*+n3eG_*~X%f2JTZoyGB@ zNCxOZyFL7-{fLX!{sP!TewY$CTMUm4I4-vGmt=S8!f3HZ|Sqfu5MEoU+l= zOEs(7RvuIJP>YgEoJiBHgwhmja}{?xNKb-s-*^76kmUNVrx4B4v@5}W!$SAT@3w<> zaO8L*B=jRT>@f?Db4E@MF^w4L$$S?zF*e3-Y=d|)Z&Q(Ix8t{Z18$0ERcw`|J=n`U z!>-{U-UFV&_3)-k-S?8ldq6?)ZeHZmWT~^k34G{iaEV^dBH49!YGRJu;~QiOl^O4k zj*hnPX@(@HlD770774#sKe>v=dbRVp^Eis4M?thgy($VU;q^OKb{=oRj7}FMZLpoG z%&Nc$L|-S5@I~qE=JOhMphBXt14dKWjUiOrEEY%LK8Ay1-)?P7!)h_$FUe>zKtx33 zIpy`{>oxFsVYQH!Yd&l0?2? z6Vh?~e`XR5oPPu9|A^K9HNPNX^8c72kT?H30{`D1LU;W4RPuj22YLWjCP+X0{~0+a ZBqIsoQqH}-&yZirK9HBpxu^5ye*xJEHtPTY literal 0 HcmV?d00001 diff --git a/figures/deployment-new.mmd b/figures/deployment-new.mmd new file mode 100644 index 0000000..886510a --- /dev/null +++ b/figures/deployment-new.mmd @@ -0,0 +1,23 @@ +C4Deployment + %% title OpenTogetherTube Deployment With Load Balancer + + System_Boundary(browser, "Web Browser") { + Person(user, "User") + Component(frontend, "Frontend", "Vue, Typescript") + } + + + System_Boundary(ott, "OpenTogetherTube") { + Container(balancer, "Balancer", "Rust", "Distributes Load") + Container(monolith, "Monolith", "Typescript, Javascipt", "Manages Rooms") + SystemDb(postgres, "Postgres", "Persists Users, Rooms") + SystemDb(redis, "Redis", "Caching, Session Store") + } + + Rel(user, frontend, "Uses") + Rel(frontend, balancer, "Uses", "REST API, websockets") + Rel(monolith, postgres, "Read/Write") + Rel(monolith, redis, "Read/Write") + Rel(balancer, monolith, "Manages") + + UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1") diff --git a/figures/deployment-new.png b/figures/deployment-new.png new file mode 100644 index 0000000000000000000000000000000000000000..365b29cd80c3ef1b269d01acc73fefc5e53306d6 GIT binary patch literal 59998 zcmeEug;!PG*X}_O5tUF0K}kUbN$Cb@>6Di4kZw>=Kok^2x|>5uNP~)qNOyyXNQZQD z=jQ#zH}3fUf;+B5$B}(Dd#}CLT+e*woX^~$%8JrgaLI5{DAW~M83|Ps3X=f-S>j;B z5#^A}D)52ftST*zD(bwsfI?BBWF^GZJrb8EJbly$j!*yY7Q`)I8o8)DJVYR>%za*h z5G(8DV1*9T>L}w%r3SiU)M3EErt$bh@1?%2er|w{BL;>T);q2Mf}IkqbEbi!--XB4 zBA&{`VqKscm;JNtBj^*G$XC4^bun&yH_^F^-Lu}H7{&lMHqW?({HNQAfC~AXsMizUs!VC|4vmR=ws{R@h zw(7n8{P}Y(OLSgdk2Iz4?;##OKJ6F-uRO!UBK_L(Co@uwJ7R&@d1^U|ek)-ltb;un z(#NBBl#=hEE2fK0%*?X>bR^6T@h~$hGzH`D+DtY0)^a;cE)NNNtUq?0@BUou+mkNI z@3tIkc<4H$f2XW^+WXS%?5s}7g{rjq!sp(#Y z|G`2I|C3)5f!tB8nM=iulf@3&+Ht~%%l8|1c2>r0zQ3XNTS?$?7=#~=M}zSxi^|J6 z8+Vk1_a!tmG_H&mXrk$rl9z{ezrUr`DK!l>^v+RC;LB=H) z8XD@i;{2!mZQp`zH!&e$+Qn=1d)q=jdnK9$kEVwv3w3$S%*^&HiuG$X4|i5JZ7A=X zzq)$$>d~mk-cQWxiB)Vn6&015#eDS90fnH4vZ3#Gw4rxbvd}<|5@qAg09woD^yC;u zXy{k{Yi8znbjo{8$g_SD+pedlhm6NQ(QxY7vvY-d)xE{_?rW2a1LzpT!ynO18p_H) zhx}%vwHWE?v&9lxW_k|S8rOz+SXdNITEe$&y1KfC;<;>&MqyBB3L&q(isDBf#9{V! zY$!$i>S$J z{qTsaTti*m^5kgW&v)#j9Xjnn@IeKp1&wGBL)pmk?gg31spjLm+zEv}Cl&?)DSnCH z4pKag824GOlP`Jyq0CZScJt0S?(+E{e9T)>QSmyNr&}l9%OF0#*}RNPJFIOMH}}2s z@eSAuNt>I${(79tZ#Mpr7&AB9{>DX4UH#pZCpmh?wjwAvm}j&xZ!RlOCp{zMn8GH1 zt$Og6BQM#C{~yZTJ{!KxxuO29vOJy6y3_;Vio|_~%Dk!5Yy;NLiuYy5uR4z^y^D(V z6$Y+SQ1~f!J(QP!Wf)+&SkY!(k=(atsaBlvdcdi{K>D?Zg2SSPOHo%_bzOE!S0k&d zt1AZbO<%&n;Z;Jyp82VmZ=Bn8oZF-46I*`^ZARmRAAIBT^AiSNlA@WpIhj80Gn`#f zIGC#9y|ZlPLPjM{e&$MFZ+O-F^=+Y6pP~ZH%RT-Y3!NTq#tV9ut~Q?f$@U)YZ*KQK zWNkGsLolRt#MX&FDW20RGCe(=6E0Lnv3W;iKXhYrv%<0`J;1u^cxQ}!9A#6X6CE3y z`<7OEu~T5pcEbP@g(7P*d`+;qGv>>%T|jqS-oQBw;D=thzi$VDe4Fv-HDM?aVZ zA8ajT=-0Zn&N>b3I^f|8t_Li;)h;eBmOD<1cf@l�!2y1!CFN9#?IK5Ze2$%5Lj(+UkE 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 literal 0 HcmV?d00001 diff --git a/figures/duplicate-rooms.mmd b/figures/duplicate-rooms.mmd new file mode 100644 index 0000000..6bc89d5 --- /dev/null +++ b/figures/duplicate-rooms.mmd @@ -0,0 +1,15 @@ +--- +title: Duplicate Rooms Correction +--- +sequenceDiagram + participant L as Load Balancer + participant N as Monolith1 + participant M as Monolith2 + L->>+N: Instantiate "foo" + L->>+M: Instantiate "foo" + N->>-L: Room loaded + M->>-L: Room loaded + Note over L,M: Duplicated room puts system in a bad state + Note over L: Determines which node loaded "foo" first + L->>+M: Unload "foo" + M->>-L: Room unloaded \ No newline at end of file diff --git a/figures/duplicate-rooms.png b/figures/duplicate-rooms.png new file mode 100644 index 0000000000000000000000000000000000000000..ece75f3406ed809200778a3a0f8d7de5d347345e GIT binary patch literal 40544 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 literal 0 HcmV?d00001 diff --git a/figures/enduser-usecase.png b/figures/enduser-usecase.png new file mode 100644 index 0000000000000000000000000000000000000000..fff6966b727c9e15af02a0887f485bbeb2e02d97 GIT binary patch literal 33970 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 (Create Room) + User --> (Generate Room) + User --> (Get Link) + (Get Link) --> (Join Room) + (Create Room) --> (Create Permanent Room) : includes + (Create Room) --> (Create Temporary Room): includes + (Generate Room) --> (Generate Temporary Room) : includes + (Generate Temporary Room) --> (Share Link) + (Create Temporary Room) --> (Share Link) + (Create Permanent Room) --> (Share Link) + (Join Room) --> (Share Link) + (Share Link) --> Friend +} + +@enduml diff --git a/figures/gh-incomplete.png b/figures/gh-incomplete.png new file mode 100644 index 0000000000000000000000000000000000000000..69b4160160ca18845fd24e56e9123b308c4bd95d GIT binary patch literal 49174 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 literal 0 HcmV?d00001 diff --git a/figures/gh-issue-sample.png b/figures/gh-issue-sample.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3030b80f35ad270690efba44ed1c266d440fd7 GIT binary patch literal 132973 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 l@DXzv+gdeKn@Fe;dsG#z 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 ^OmY8QG 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

U;rUjk_D_cT-)hBn1cOVyoze>me?&@iAf0 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

NDJw2K8rq1SbK(BG8lB%#@2H~W?Y1+@D_ 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 literal 0 HcmV?d00001 diff --git a/figures/gossip-class-diag.mmd b/figures/gossip-class-diag.mmd new file mode 100644 index 0000000..9523054 --- /dev/null +++ b/figures/gossip-class-diag.mmd @@ -0,0 +1,27 @@ +--- +title: Monolith Lookup Table Gossip +--- + +classDiagram + class Balancer { + <> + HashMap nodes + + handleGossip(Gossip g) + } + + class Monolith { + <> + Vec rooms + + sendGossip() + } + + class Gossip { + Vec~String~ rooms + f64 load + } + + Monolith --> Gossip : sends + Balancer --> Gossip : receives + Monolith --> Balancer : gossips to \ No newline at end of file diff --git a/figures/gossip-class-diag.png b/figures/gossip-class-diag.png new file mode 100644 index 0000000000000000000000000000000000000000..121988dfc8d78f0457d8e05af22882e82d5ba713 GIT binary patch literal 35177 zcmcG$bzGHU)Gc@v13?5)K^g=>Lb_8xLAnG~I;2CoLsCLOxHA@=sQJOXh84}rKzfqDo2 zLPMx=3jf`(k{1<16!a3VArPbpvDbp{?Bh45?cO~en{C@Y7T-oi&1$}hmgO%0_(>5j z`zC%((Q};F17H2*Qpb&7Z??`nk)V^?e8Og{Ll*h|C&#NayXaL+x4Z)P9~K`%&bjsb zv@-vk{=4rS&BMY&9!4Q1gmp_$%s;ytA&6CH_DuJdpe)TpW)IRA5vX{ASmEMcfuyM7 z&xJ&=ZlzzcUx`a@ERt(@tq*IAY|pqa(LyFmd{)uE>d2wHn)RxD4tq zj0dj8Hb(OY#>S%R1)PrP!l+~@IXT~ZD?U;8@$tD&!mq0JUQ?6w39V9^Vy@Dj79}O+ zsoKZH=^8ss4Gj$#!yC^#7zU$xc%c*)$N$uh{!Mq)xtyckzn>=Z4WA}^`*L=|L&T6w zAzl2*(dI;$PW$Fm1tt#5AM+3ynwi;iyhe?t4&+WOto*+LD0v*YdH`g(z>3Ug5z8HQQo?hW9u%g2`>?E7G#K&^&QSnvAkGEb!<==^v)H6uf0xibQfQ4`VI z+ly#!Ztnl7CEOZ_C+zIZt5R+DSLTw$BbXF0RhERbeGcOIbT3UrMa@CK!$tBs5m5);V*XA8joz zcSZf(*ic9n!SK0{=aHWNslar$&LxiDl|=Xp!C+#(zr)!>Zdcv7^s1U2q0j$R+n}?tv2{i<1Xom4 z2-)Ghq71WGAEw5kd*9IHi^;^smagBINRmfJPakx;zxoIpTS!v!eq>~1snLi(EPF~p z;(5~VFDQ5IFHV@?4ShI_h)*T`1;M`nVfvXep=Ms^(9=quao=&YPP;WJuCve-q zJN4nI(VF@a`6R5ZSuqIMyV?6-O`o#p-G`Z_U}OxTR>&X?>)6@dogd9tK^Pbr-TY}d zL`lr&*!<&7z<8p#)^3Pv9#R=pM!%Vmcu-#yu94` zy?S}icXH8ac2j(~ih`8XeRr`fH8r(q?zgAI-qJn9{z{L|RJp13_Dq7q{>tuRuz)3m z0B0AMj;%Xroqwd0gbkgTVd96g6?}g=9S`OzGo0?YoFC24&AnP1On;IQMd1hQJvTSk zaI(9&+@z+eii{-2V+EhqhqE8k9#P^B4GrP38HHa2FV$?1Kq zL#@MpmRb!vqM)Dv83(mn(BQAHU<&z9@ZhxdkBy0{sS!cEnd|w-(y-VTJW-_Mdx0yV zrj{^}D*6Z?U%V%l?Yb*RXCz0lU6)y}FY#MZ5fg&VXn3wSfhSM3Dl~|Q2ln(M4^Pjv zkz8DXiycpAbru$uI}ZrkAt8&zC1e=IA@uycO$ub_bwb^I`gUDzi%)wFa#0viMRMaSsvoI z-*Hb)COu`8k&&sbtsO5nB}hz6oS5WyK4Gjdo7Nuq@n(-tO<7qvG%V~xi5>>F)u?LDzJUSe44OjE1*#@m74zAZboA`vFrKjI8zlw3Nw|}wuK_4oHTOi!z6)#Wvu7PftaRZQJU>gw!7bBDRP z9;UC&p6=)nBWC&GpINvW{e(R4Y z)j2zyGSJtqv2$~AJ;cE|`mpuMaI%!TD~dtcU)>R#RH3W0b3!02e}@85!T z73XzUtGy|Og)*?P@D$(cjYe|3Da2IkUHQhULqkI?d0!9_5OkI3_dQmJWQ}l`Vb{~s zdo3zj;(F-_^LnFyaPWuuY+X2m2C+N#bMent7Y>lO-{|R4?&uL5{F^@a{GFM%b-)!~ zPK9EAg>`s%I8kHAU~6kj$YUEgJp3+})iBg_^6OVrg!dxH2gn*r1oRTS3oTD(^bdVY z*dglO%E-t-yIjgEpOdPXueY~Dxw+@+GP-vi(B9ro*!Qkh#Yri;uD)(~c$krispIHW zDgR>&OwQkllFV9$YpxlMZG?!3$TgQL3p4Wx9KP`ia}t?E-tTriLxY3GHt2M8bj3a9 zMn;`20k~EsJkOpXqaQCXuO(3ufs4x}p}D8){X?E3N>Hw1T&!3Dd z-7!rNIX_!k{(xX#YBv4R72&WsUIc(3K1JA9+rZ!}Ae(Ol92r_oK6}5;;$Il^xI9Sr z35388(Nh~D;(a`3FF5RSkh~-%CBFs)C`7Xx7gA)pW>APFS#QowA6Xi02rr`Fguu7q z*p7dF^)o)hX{^d>^|OVA)?({7dj|(CW8?FQvR@2*e3t@+eehDT#iB^H%|>f~iZBy1 zvk+z20IVSI$WGBR0RaJv)6phjo6BF)s&C&g;Ab*sX8Cy%iCm@pET#O|i_2&xo#LMJ zBGc6D><)-Y%WVPDiM$(EH_Xl^!R9&T zgzy3X%9r1~d9(bn>3nGUAZcF#?&gcnX2fVR&X}W^D{{KGOfC20ba@HMOFjKQ-qYy|c2j2a*Ln z2{UOGa~>-xDNO{qii(O_ZB4SlH3EiJ@L*JYd}^+?q!Mr6eyuI24e8L;NJBrMHX6?Q zU1mIHe|c8cxbuigTJzH<@AUNai|FC=jSYCfw9HKXbLW+nmA`9iOj?b%8XFtmml}L` zj<2iZhl7mf){hJtYeSh6Mov3(H-bq7BI{+|z9nU44Tm|o%Iu2=kdlucd+2-VitzFF z?&zySP*74@E_XhmQ7(wrnfg$Ve)j>P>{Hj>g*P`*Pz3Bne!><85qIuCZGf%!RKS&2Dvtd*HMO73#%Ky0{?9%%3=k$7 zVM9lA+t3UQ4208t2z9$U^@Zz@pcV7qv-+;#;c$o|<)%|2G0dOfK%S*>TO#u;K$dt@ z`-$RDNXQTAbp_J$$?53;WZBZvQcn9FQVz2}nvlB?$WMj$7Xu;+3=9Miy);pxkA$A@ zvSh!sej`||G{MEiMII|341%45gXWQuCzzO+qlFrM5S-U$e(}Ioe@06B%9Zh44REv0 z_)o2attnhJH8pm#KX1jw(M%^xPh~dJAjTpghUZ;OZ7r?eMLKOzf!qKn;pO9F2|FV` zK0buP4^YS6kc_}?6Q%&*J{ehAESOPiNRDmg1Z+mlfQn=IUAX1s{rYw8;&dMgX#smV9{NOV870~4=Mq9+A~S`+*& z2BL^gThMcIauhhF88S)I5OkWbc(}f&w%ZfOp-`a81vs%Ac98wiW=vx(fUGnK#mFV+bw0teva*7C zB(JyMw1QaepRJI|Y&b|!T2^M*pL_$L>SFtM^6q%9Fb%iMh`BjUd3pIP)hcGGSXM1K z_`Hq>sPF+7mzO08V%Ye^I&O;Ue|6Ndc{e&W9z zaR%1zk(pnT2CiZh8ER5mzXp{;xb+4*)F~MM@t4MV*;q^L=f)=~UJXNTwp zlfw_FsEBxZ>2{B|WrT!0oG)4eGNGE|FDPiOtcjc7-j;H9&U3D6D&&U<2^oK`C@6f)1|H+X{P<~DBKF3 zCOgFM-`(Az`6_+P<}>WQNdmop2V9o7j13GdcNfGK7Ii*U?P2xA+O+on90Wt8!26egdsE(`$M%g!%#*(C50}-BdQ183K$Topu~&p@0YkfcW#51 z@8IF#b$&<@`u<#q@@^;vlcg?$bo{tzi~oa*bMqJc{P{1`s_B?x0(tDNez#|FzErVI zm&7yvGrdt{y{2AmcYIs(^6d2K)2A#p>oj@!TNZYOZGQ)>xa>dk%+L2BAZgax?|Nk` zC@-w9e}V0fK~O%wGhadWh=imshQ-%#;Mw`_8HLOTSU9!;YeUL%zpANhHXNDsx_Nb( z@nT|PNb&_$R0xQO_?(?T0;<-bQOtqm$c0Q|aFwT<(vC$I<~dQ)_IYd40f+vNn5ydi znVFYsGcJs#Q%AQNrhnbIchBNreIz7-XY3*Il}GU>)1O7zw;B#NqCVT?djvUhdLgYTDdN=!bMwf4sN;*5L1L2do6nqNwg}Nx&>|`K@kORd4;Uao&IY*x?HW zmJc4wsBGT*BHoey`fJqnQPW=c8~HDkBokT!U`SM74>xd~{YGA(x}(OJ(5syVeCpEs zX)ur!{zB__mfWwRqHM3ES>01sTiYO$@z2;gItrB12kB1+lh$z*u zit19C&%H-DsRaeU57u16Um6Q*YGNs5+<#6_zp}5COj;`%ujVLIWmygnQ=~701sNvY z^%4iUHO`OCbxcjEl6nUQzB%ldhsMTst_}Idu$#Uh7dg=0noNbomMc`Zay?zHFxiTW zj$W-cfujakq3Juh+hBp3xscEivsU8*VI~_B_3m%aN{9UU)^GLq&}+o5ugGtVml>lx zp?N2wqQWs&etTZwD__iUbZn&N+92Pp+b{JtMxR)3|C6Y({k3ysCiw0h1tN+e={pJ5 z=*dP9UnZ}q3gH`{t@C=DeC?<;W*!(DJHf`IR_?`#k;Kr^3B#nH?aC#G8C+fJ zaM9IG8%h@3Ak55t*AbJIh1%G76@kfPYl4};J@V}N^XD>bybgN^lB7|{NkJJ>Q~T%J z3MU(do^)!}qN>5<&P;H8Ws9_*;Lwe?hEoey+V4Il7w!F_{pRkS2PVQ$Otl5wUfei; z*%rLLyt{a=T4fmtTWw)s;l``60u+a{1O7*p_ZNB-HvUvu5xHGoS^rZ7E^v%Q6}f_} zY-KS#c65j9Wv?_e1lrct$IPW+O#+_|1eE9p?~ZBsM)OZ&(&p|N7#g~i`lO{%oE@7B zHu;#YP1$k!KG=deTccAal6k1d93!MCOqI{89rdesSS0Umy^`j6JvIS+1b>A zL>p4?-f^}B#K~n!E4W@c+(C?vmgjx6iFS8?SZcoQQ(jIlEzS16WaWj3NQ*$_pFH{@ zIA*(tL{S^oP}A$I4gQjh=lpsD<>QY`{a2oM@}F{9DkU0^*Bo!LaeX7GSlnB#l+lp$ z*m=k-7D}OryIXaX?V0S`F*I4eAZZH8{XEO>yct4k=i(Z3NW zHw?(dk+>R&>*}6Rl^xa{*GRxQO?Nu3MwrZ8tQewdX;mx@sdYP?Uc-zOP_2O_$kWz;DLd?`f@*Dmk9IPAe`T690PFG)3=BMKHpnzjE zd9QqMh|vKgfRZPv^F4TMs3?69d-OvcVdg~4>J}ZJQcivC7aGr9Mq+Qp+uE7KJ34xVHZ)yn z5#!~>X>D_8(4TyJXQhZrD%KetV!Ruzq(-(pn|KsG`l|>UdMKk>!@|Q4I!s;Yd3dN) z)n+%pJ2*O050j#5_@l<~W~o%*J$%T(>Bt&QCG$_AP<`KI2(s5Lgs|`uK0OMz5)o;osyM9b?xtH7*jTUo)st!85V!N(FQmgWPxeExE{%I5 z^#YxbkGYv49sxl*&CRz?E#e>tJs@(l;^x{ImsWS~C@=P)pr)QDS3vWy{2J1M;^HEFIza(% zLzDT`t*!fx(0p4CadDzUB@%RzNUz2VVT(df59ea1X@{3#TcZ4vnL3*NesZOT+g8(b z4aXjD;eV{^-izF>@S)vkx|x~Oo#Uin?>B}Xo*a8S^F*;6+mf>VhTT0ctrBEnOv_9r zBGyMXfFJ1X2s;;(lDbUezBONuEkld7=WYK{aNzmT|GoH>om=gG{ftF;;V|Iw@No0; z?rk;6*EF&C-bY6F<^^61lZAc1(f5yX=j@F?L=FCDWZd5d*-7e-f9}}O43nj%P^XF$ zJ+fd@CkwG*N|ZhLs`Edqbp02B=TOnNyEEd;yZjspAtBYEMG}EJh&F*QRU%idK6%Jm zJCBeJl^Qw$x5jDz*(qqz)05*zdb(7J9?^akv)~Kvy7drhz)Fg_qq@iczHtR%K6vm$ z&{GN0{AdkSe9Em`fttTPOyl`4v0uJ4)$6^u?S69d9+|-*;*FPYVH=MT3#+Ml3VKe` z=tQ745!MermIiq{{HQ3|6XD+S&D*5GSg#G1rYk{SKO0RsSMjKk@xSzm&S{x zd0h!x^F9z{e;gqqh!dBLDJBG;I2==5*Okdbd9W_l&C6+r! zqWN9e6f)>Cu>@YddqGim7V?EdEhAUCZ|`K+1#xwC&I+_tn&}jWTKdKqgO;|uhj>Iz z=PDCB`|r_FKZz)5P!WGay2_GoQRG*r410+6GZ7X_iR68;q*fvU$5m^0_f6Vd%RR02 z^>ql;%PT#!u!vUMGg3fnW%v7gdJ+H-fw>FCq}7;_zACA!BSU=ZQhN6khlB*hy{wE+ zNog66_e4dhFtG`?3==a=P>Iz`U1ke6UBN2<*X_fFv)JV1AY{yL_H0f(@`85+1(`L( z{d)~4F(_yft+2lz{q<{JDth`mVx6x=SBK2@vvYF;s?Vl);wdSbJ5c7;93AgK68Ikd z6!Yyw#=sB@f|O}@E8AX5D&J&FmxS`typj?g#oJd@K`9S4*`Wv&CZ@z}de>whra;HQATTzTdv~|! zI{Sf(ODbXEgkNy*8x4uttDyhx1(^NoruD3gU24?w@KE5IF53HzSZh#1-+0kJl#1;a zr;9tghCLl&GD~EXsGYJDN4j%TQENwAvbNhZ?YYVifz?*y@9oG2uIc;VH9S~n2Dc}) z8Pa~( I2o*o@3R#~s53B{q@EsscI>qNhMSNYj9^__z?;nSZ$V}OD!x!g$)*iy@Q zqalJ;|H(>?;~^b4clCRfDYsF5x04-WfVC0zcGlLQTr2kDwtZQ3g!a8IjxmQ%embEIK%=MS4A|A4{{kz0u938IIT4!hbnc z{IvW;nvxQQdjBFKB;;3R^=O9`24LW1Njw6Pz`q^!*FM-dM+_iWqu}AKS#OTtbx-7T zgP4k8GEp24B#Xt#j&vk_g7j+d45%{BFw#AW`x>*h5DHhWE_ncHC&1Ha85v2(FhBWk z!yQoT9L!O)!=ZcH*Po*B*vHt&sMu(P3}j7_Bz|>Wy$prATD~t|1c&n`5bo@z)%)v; zoExJ(I=%4&FdHSG=cP?diS}xpU%q^)l*ic~PAve;qA4>A3lN(6J+Y}!N8RWz(jmcq zvTAMds2>s~ z`uk+GcY4qtDdOWBc^?tbHM+@W2~(1*E$sH#HR9UpJC^9%SbPw&LWLprMg#}ZZ z_!B97_EJ4StU#Tt7`s5hzPrD%*Rk*IeHoCO%LD}|NG=LN#289KHjQIxvKoQP(O?T; z{H#fEb+&=EHFf=JwysG|L18h;jlRfY@mUbzX;^Y{{R{O!tQzZUqo!E+`1nbzNS#~Q z*Y<~#oknf#Bnoz_$f4d?fh--JI8CN(O8+A#=2P9nbuKTj&BfzcJ0^<-?O1kGnN$%| zFg{?%u_vr7cVz;bPC2^{NExrpnBy$X0fKW6r0Tz8<`f8Zbt2$K2qhvVPut^#ys zyHiEAPEJaHPfrILjU0fq%1uUgzO<+yFCWc+sgKW5;1228bc&mnchF`eXM)w#s0~VM z!|7@odU~HyleP9LtF|YTPx-1D;P-chW{tzyt{^AS4#PtV0S6&5U9CQ0R9arXIGl|O zV2<(hXLIvwpbc7@nnGz5Sq&$LgQVgjUvyWvUfzslFKg-$yNih_adCMb77~I$S{5Er zoh__=z=w(iM$_Q`=wORo%0>2Nno&l`%~^f#r$z*q*SZ6Pc1BD zAQ`QxAaT1W^7#8VE7<&g%Go@s$=c&7RS*@zeL47R}v?(=ewF?DAGuTZ) zO?V#1k<`-A@YQrmsofYA)9rT{)$y`SYPVlv;=*xZYv3A^8;M~x#B)0OlWeR^(i%+C z{%=|k5zl26o~>}Xb4VomdB+9{5vwa_RESZCpSm6If{4&5Nj1sgEt>5iV%L@F1{>UjieAEZ#H<|wR6~+dytse^LXX(-~dPiZ>!ay zWtUXcH=W8P%oXO>!k%|tW~)}=FLx>H{_PjbQ*}U9Qxkqh-UM1bhUeYjOtCO1!|I+1 zTycJcKZu3Pczj|?bU3+h|r_Tff`Z`0&+tpwUXpFqY)#TZiU)PYN)!P-aRWR58gREUl-0Wo7U@2 znE2b16(9!t(j_vNwns+TUTDlHUCjWSh$t#5 z6cZO;SR1;_$yrHVI=}Qz_^L#b5(TPiMXgwB1y_)AUR~uVwB2+Ev`i`%GjWwnMED2x zQRlUh$txit!e5STx~si5UcU9oCLah)OlUd;j$vn<9**%7^5IJg3Eh0~fS!c+l?oJs z-m#`8G`oKX_z=&?HMC7kLKlB)TkVIw7OCqlQ%f;`N73sHe`4$z+}G%aPoeLxwY7N>lat(NI@UI`#1%hFOK;9W zRfINlu*MRPK_FeM)g*RyNI*uC7=m@zy{;~$@!&sU2)P*ce@XuJS6K<@_02RdwrQQ5 zl{Ymt#ov2$=X+@A`4-Mh{%MaB-@?L=<&E`A$6}~29^vAK8P^C69E~J3j*gCIxLrR4 zXyQR7LkxZ$Axde&*WPG~jEsyo=OEC@<-ChIUg=i3GBVz{se4Wy@akTQi%6BZaf^P(^$`w|xQrzrXzt)a#tl+*4AR)T$3MrHL5K zW*_t%mZ;X+%U?mMe}}_d{rBYL0|W~T`j6Dqw-ORv>>BnbR+3UZB^bE3PCAcuDa5q@ zaGHaDB@snGV_>+3g?s0)9U4{X>uhaa>&$7+Fe|fT;vO03k^dQ|65qxrxwTDA`>JjBL6c8c%-u$S z6@fh_22b^u;{%S0io3yJsH$|k*6?|daL_R&`T`%yV4$eA0o!yZUec;n4~v8{0|}Mb z&_GH^q;>Xb)Y zTV0_b{w0fkL8?~MDB|QSh#bnKBAs7;{%D!@7A)(-hMj!^eF)8ee_l$)Foy%L2}OYn z5UKsCZCDWdLN``-_Tw6Xx`GFVNn^Q*;+gfn2n~UZv8q-6@tj36WV&F#aQE@K^Y33( zQX;NDdrY`ZktkWI`3SoB1i@FQiz`tevex=jxNGcuwT(AIHmt#eLC*O3v1l-VxW?E} ziZBLj3`W~c4@`RU4dQyhdnZ52&~MKwyGV+h6i=3IctZ$Q$~(bu_q`G02Hrh(5P_9#sNZ}9-5wPkeGyEeBuVd2 z)?L`9)4?;#;;^SXTA-G@F7I`1IPl{((xf)b>XztF{a8{%svYU@G@U9>0aqLH3WuXj zJaUmhO)!t;(7%yQDg05x`g!gZrDQbe%?x*Huz!FNS-U&>kNGLJ^Cg-~J5pu_=P5dP z3KXNBEhU2k2r9cGhkZTxHS2B41JJB{v7S761Kty)jClhry36Y$xe$DWN74Z~8w7Wx zrKK@i|CP1KDGhlmBa`WRc^1!Yv%dHUT_ZxMh6+57qV=wq@6>!kM4?s$t@tjOk&!nm z5yE2z18)krCKos*$-rvr6BhP}R$0%jAz|l`#+qz@bAsgo5%+5_C@I3d@xV#k2WFB} zuol8tLS)dUnPT8>OuFq@z$PFsi2=^QV7i)36kzg6vrvk1){!o_0WGYo9^FuAUt3!P zt+TJxa0vN!Of;!>K%6WtXV$g9ej(p|d$>>o>F7Dyo-JILzxAA!bvhk9r`kF?o>5Uz zK+M%8gHgK3YE}B+@DSdROyR99v+{4c27s8zt#0KPU~X+_cm+!A3%L~381Qb-udZgU zGv9g+m6MQ!L;%=5v#K8pilI5TL*z*Wkpm1k|M5Y{MZ3B<1tUZbTyPIApi?QARDGmy zOEQ}Ai^XDVcJ+Puv-N+x4_p}wb92eaA?_a>q=6kKp3_1ImP6zHmj_4-Yk-O&4jH&5 zaK?I_z0pkC!AVC17-jb|?OB@r?gAJ%zQEv+RS-JOPqIgkAHN2VDy+~>Vz=aSUEOsZ zCY8)pORjQZL|q=kAvS;BEA>EJ*aW~}0R}6CnV5Ma(m&dcY)%R1}_x@L*dP(lf{TT2_0x(X76L&L5r9u!&U1h^9eLcN}O_Nt9CZ&Us za^a6F6KY|%fdusi*mqbW*;l}vNoH^PdQU%NVp7lUdLfSXC$Sr>Wd`89&gsIk{2m|Q zU08pFr1|jKBq1U60ILbBsKhU&t^EvH0nBTOMbN||%MVZ}9#2Md4&ci44T4|-Wc+O) zK0<=s4qn^`IU9smvay7C#Dw2%wDNZ!f#NZW_fK5pnsxM78Hm=b?jO*d4lxzw_F5+!{#aoa@EDI;Oe)S%9E>y( z((#paYL%Z=@LBW%b+uB+rYm>f`3Hul9c`(+<#V)-d`A9!ZM+CQG@Cj!Gqc3{>OyL* zC4kj%G>ca0@jg+v2FaBb4EwswaOeRHnVN31 z3^^woqo&^_rM?%aRxu>4z*A-m-DWX_)(xbx^U5ZQUZalAY*p6%lb#-u9*j>g?(j8) zG9_71;`IDKfjF?A3R>!S?{a{N?B=WK>K-7)dFrnweN#m}!Asuo`}b}1fY7~NV2rem zHknkb4{*V005!+?9G^a@_>|WlD8sY>i~x>tv31(62DAn$%FkjNDw2$Xf}me6il_S6 zmdct!lq@V^(Cr}y2FG9-x~$jE&V-~Xnfl3$pv_d=U3-MRfao9Nco!}5A8Ls`h1d_P zRoCvsUw&=DO*@CCzP`R(P>n*}cH5m=L1}J_&p%bvZXjQUXnpi$j}Jxw|NFRtf-9%( zL$G*WZ63`;gkVK&?blvPS~!?xX3;Q`S?w)}K_`YH#DW{^>-Y$Y=hQQyWb8*}7y2kD zc z!30!}Bo?biBcGUU)A#lNJkhT>rU#-xeSo;YQ|QRgrN%X4$$uba^m z`CVR+M1ubRjUXyp^@DT8KOMAg8)iU{Ep2V0NSDq)nwS$%B2rtE-;g>Zcqo#yv)?#6 z;v+ILo*PUQ(|-AqTJ-aU6!37IpXV^a7*J#|APu}Vtf!;!{I1D zU0tv@G*y+LHd*{B3cPY!+V3bAfTur<5K-~9aWk6 zto+#uflIcvAraUl&jyQhaFL%LuXgtJ=I-qdFag2=)dAaM20$ImuR%UbORO+8)arlU z@n2*n)sfTF$EHghFF8s5Z=q;zY+Rfl!&}$)UpOhPuCHAFOi#n^4!H}!{C8JZ5FB9# zAb+PS3RfDw2mp5Q&5?M7mUZ)cJ+uX-Li0xsy>PoHnJ{H&WMpTh#SD;8a@E!jB0=$Q z0&o%()na8|W!KgmK-a;=#Rby2OVfq5N6PkOa7eM@;^4p;|hVZi8OKYS=yO(SD_Dt7HNK`{32|n&W?vIL>(mw!(S2BgKS**HXSX3;tPr-uP zbP+t}6F$bq#$iK5;-FgI!@%eX9`uq)E)H?nUGN?cd&vJ*SlDxJP7}apI-{zT)VJo> zEp5d}8!9wzSiGu4$gfR2hw&)BRDVIS(wiUwo_`E{)(|%)d0}A`9UYxhRzTxzQ&Vx2 zQn9i%wx)^^G)qEIcidzE)CUXwvDDx+cO-PVFb|W1bA2wDL7#zFVJ}Z$yySxY;S)H zXo#Obh4ez^)hh(x2})@50wfudm>5JM28}S#NGH}4TP1KJCHpdBvjaNhG<7Kw$>^M8 z0lfdn%oK%gML$13n06FKoAq~3lqsFRB4-jT@X1IYD&JFKVc`KOnp^L%nZeh*U>~^i z;pWYo&>sSQX7ez}{Eubt)IxV2B9}uSkU#jznE+)VG5iDAI1t2l%-q93@R*=|>^^JR`gUB`MEojzM>C zmwryR4~Ng%#zwKoKoDy$2IiTJ>;@m?FuIReUe1x*WWYUv6%bCr((#Ymg0f$nF=OBq z4=7@LJ$wC}jJ#SL1n(>g-Pg)uvN#|}gF*}dcAn_el_?R*$+fH7X{fHz(30Q7V$w0+$M-Wt@ECy^}LuNfxGZLVf{{ioA`c>T|! z+1g;Z-Df0s^+k8hr!LEn6$RoWIn}HNvd9!fqoerP@RXPt%8-r!FP)d*h*w=7F$S-6 z4ft>#egDn?8dsik?0*C_^o$QBy%Xy-Zr2Yk&pFyAs@MtG<24)H2fE`=(SbF`b_ZF0 zetR}pDZg&9PoQvqmBZT`oeKE5AJ-!%3|1>AkBBZ;zE@6_=WBy|pz}kFMv?P2Jv0{h zWj=Pk4YblyyE?DiRdk(;+x)DX@b0c*3xHMNZ~j#6V}fT33htkpp+o4wMw||AG_6?BnC_ZqA(@N`Pc2 zH=b)_l^XyJQFYED{N2BQOKDX}#o5lae-~KZ#w42jlB$DIcbef`jt{b*b&qYxwH+M@z(zoV!Z%z|)8oi7-en219_7s(RB0FC8F$Qbk<^ewd1 zAo+iYyvd+3tPL!Rf=zbyBukZyC&D_4m9?2q8I6S?j^_Wp%X8^US58!v!y&4przdP@ zXO-1>l&Q^7N>cm<;ak_J#KarSADF<-AEz^x`7YaXFDaPt^bt7e;^Y5_z5TifUWeiA zMQ=&Ut}^NQd}mC&A}WQGm^hVU>owwP>)m9N34f3!x>7}t!SwlirAHq++Q3oBl9g)= zMhYKL+z&T6Ry)ENap)v7B^=#Gr`%g;(V>)4hn@^_fXN_tsPoH6b{h{44gyNQ zGxv8uQ?CcVV{iHH$x7Uwy;DUq;O;QWmzRATMOm_9c4E*qU5`uatOcFBT3{*x`p^p` zK_<&3IvOQw&AA44xS1sou61>@mKP`L!~%7FAV(wZI`s6!2TyO7T(v(WqlOg9%*s{>j6manv|pPHot(K8?5;L7m*Tv^9pq;N^Uf~@y{ z*h+ICp8@)UFF%m=T5@WK9`r65Of-+3!>;2Hh+q+w^72^zA#f1{Z|G0lb1L#6&3aqs z+g+oq@t>E~9|Z>9FQOtxeFL~)z68mVCnQMDD^?ZX0rNQY?+_#XP+^n%`x_qM5_>L@ zL7S~DsJM4&eEXSh9es8688j!|b}ub`3|v?T*ps+y))99xXF6y^Q$d0mW6=*1U^9+vnD~$+7Ul!Eh(3v) zn;Q)huF=?)+tEK>`piwtxs%LanQyW;RnTc3KPlGJKodUtgny2$wb{xZDcH^&T?Af1 z61l)%bmWppeh-U%DL$6X&XV*U1nT=Ujwr+*ZyeUDC)Olv|5~5oTAgu{zDG!S|L zgD+q1Ms&g#I^2XNxgXLA+ML|@OnQh-P>>3QJoVg8&*dGKo8#(WtCw!_$wz&_|2tXGjDn*1lT&=~gs6%Nzi#_v z+5YKbutKTHgx}JVZn>FSYk`_E!eQUJ0ig`tYv26DEMhtAsOUDig?&mFyJN`Rd1DU$ zO@|{B}9g&r_dh2e|TxWzPA>lerr}*2ihAGtHyThbO0|3(#_&r*=*NjgKI! zuI$WDLj+4Ny*_uv;r~QJp6ceaF+4DE$rEXfXnElTZsct~kjpp_bZXq+KrN=uKerQN zVWHifSwx-aI;J2O3pMC+O&J~;0lFcS-$mr%W9twY6Of7})@!WJF3OrZ3Pk4HQZToS zhVpK3^iF4VTzdH@K)>c6mzR_*)dnXw{=k4-R&K72o)RH>>JP}lOH<~)3iYlM>6ake z6&|QbNgYtR(hTg(9wP$VM41J8m#m%pl7&0u8_0qFeDfGCQ9yMA&C?3YG7>rqo`tP}eoK+K-*KB}jqo8`3`1KD zQ9a`O_lLZ0^hqkzRx532PiQQ6wXte!^XIpwUI!6Q2uIL7@bZe+TJ0SHUL$e2GO0wy zHkQp8n!myZQc&q$Ddy(uBN~C@^|gSLLgr z!-wx=!yaBTX+(Ah&2~e}6Cw1lv`jgrE=1X%?8LAd^!xw)`xa<^p(Os)XaTpb*`WsY z`G3=SQpw0igf9Ytc7d-)TYO*r9ed}SYO>!K(ai}!S*HztH^Rz!gQ;2T~o;ZHxcw+UPLaez~QqJb7M~E@D z_F#MaiFsT5F@=ta$wdo$RGKwg@0L@_I^!*}u{273P2Ho}!Ph}f^^OrkI7xb^mKyR3 zR>zf-lbQz6PHpF^>#=j(S@AhdSYE1Or;Iaha>==m!LI;bQg`^{E$|`ti-}-)HOf%H zH|XpQi$0IZSBV?EZ2vh zAuC7g_0U;-W=xYwT7lgrZ?X>_JjY`*fFSfzvC+^0?wI}*il}I=p#UF@E=~PRi2$4@ zA1ZoR>l5oqQ61>oC>{|yhk~FozkEo3<3vs9P^7T#38{4Gxcr~-QD8FPR9J%2%S?Qi|m!xbO9Q5f3bJN?ID~B#}*;;!;1ax*o#|RFbqrdCx zgS8HKr4tYCE|o=hMY-wE3uzb)hhVz1x?SnPH@IYcC8yhz0n?~oi4{2lwor3p<4302 zAEcj5?dZ>Wg;U5rMp1w$zcRPQO# zl@u4t#iFIZ{r;o5rQ@zcFQI$Z$Ff-e!?QCVe`bWLsw(tQF@#YbLbDJwZ(wIB^?b*E z{yOxbmj}!`G(xqNo9Z*NvwvEVWKdP@WQ4@km)PO^J}@|V`R~B5@rgAW{@z~7xAH!N zZ?|Jo+v{nqYV(?#?Gfp(Z|^xove;~}hqMIP?VMO}s;mD46($~!#Rn9c3%tyis6wu% zS)!+#n?`_x&7ez_)9xQ9aMyia_kK;(o>KVuh_D(hwVv$mmu%{5?^&eIuC1@%z{159 z_QU@4xQit-r+sN<^a)1=e050Oe1D1>wD{vI3}FWn=ktE^hUpRwVvC_w_NcNTzlAV0 z1272N)QWtQ4z>fdt|i9XahbK^23uC#s=IGOi# zjgE=9wd5&SsIuBrX+f-7h26c_cFg6#>>hyY`S`!zu(lR_L1nZ<85pf2BR=y@JaS;} z(d!A7F)%ay5Q9MwWOaUI!)=ozR;W%7B0;!RoHR5=9HgQ^o9|s3Y?JiKWv*U9SXOccD%*;{>a$%mFoRp0J+tlp0 z?Y7g?kq(bpL0M>TWHR-MoR0ZVb>B_5ML$@xTA2u=5VY`hVL# z4XbD&N~!G8pfnI=WK%{~qLA#6J&O|Amk}A+Goq}7RLBm6vUk}ddp*bXy~lIk&pn>s zf8U>6uJO4(@AEv)<9MBY6_c`o^c0^`_sgV^;M>i`B4vj_Ux;c>w$$39z(uP8kCyY7 zO6TIUvupBA5B~mE@yO)IL%ad}c<*ltg495UWahxfN3Uh;U^b$lE|u?oU#n0QJ@DR| zjltAZKrv?3zcI#iuuo6=^Ham0Wv-RZO#f_4c9CB#zARQ#K4&d}*6VlR}a~-K?tlT5Y%g#C^ zu$?@>XmMhiu9|w+8i92Ct=#=S|s6+PF!90z2 zE0#~64l0du^3e7>j*bfY4Tlh|RMfY)%~!21f}7P{Mo~9XJG(ib(X}P!>Nj_e;AGBr z7~T%U!g(lrbDfqYzkjwKfOo_dgH7FV1{+@A1sfru-dwW>w=63F?;&E+n zZ5?dabsv};?sc4Jr;-VgR#aqXXFn8FK8N${5!|26x%#>g+O9sKs?DdNrdG(fX{+pV zK_E=@7$Y-tb;;SCbq4%V=Qo~02SJg_alyiCrmx}%iZkRMi~OU2DUIEK$cgd* z;jZtF?RsWrV#BqI#L^yq@cw~;TF~$!&!vktyet`<=<+i8!6eF1IOBGrCJoIl{Y9Y* zjd@*Pze+S4K-~g)haQ&vGv>cetETBaiHah7t*y;d(Bv|#-w@?kAN@xXra^q;?vB)} z`D#5y4!Py@u&B*#!dqUXhwsC^c%W*X;?-Yq#&r&h5{6Zmv^iXX}XYWXm5vz9qawY^>n>%Y9d`HMpXomMLhp zu_~EtjcZn3OAE8*izCZUR34?SCt=bfj)p&w=^Gn+zJJeN=^KVWKJ*AZ6Y5z_H-;x! z8LH`zV1LstJjKR8cZrl#XaG|`+BO_sO zc$2H=#Ev#6J~(f_ifDDlOf_?AB@eITvEG+*Fa({baoMq=6B@>=v&w>JmS{Iwh5J(& zZt6%PNFa&{J%^Hut499i`4=eKedz@fku>u=A~gNB&eqQ2aik_Cz7B47w_*fqrlrBi zc)2j{N)%eFs_yY>4ap_Ts=d8DRgJRAaAC}o_tx@u3yXrU2CGFyMf_F+CnR-SKRpq8 zAzaLi{{7?kcROG(7MGGzpLO!ZwR8A9lm1j!^WW*-C_le*yu4-_@4iMrB_f$q*SOcT z8GBs(7tu?Xt~^XN%)`6$NmOW4`E0MtJT+`u$quuDhshG&NGpYD2nj?t4rW>REbp=( zyhZ`>>r?L*Ss0JHitWWu?m?HPl}jGQxvz=*%R7<)>_yoL?mqxR^p6KmyAnUY1ortS zZ{KFtOm-&pDg+&9Kt^IN^gcwOpwurm#C9SbpEDGey{O>JPOQZKGeOkS(rP>miANGG zLt=b)j%?usMN75VpnDVI^RrA2?yQj(TJ6%_ zTXuAS7~+@L+PH)?KmL=qlQKAss?kx^i`X}kk`rwg7hh$iK~ zSP#%Ia^RTtEe@G`nV)|M@ra#z-Ga=~F%8xoESWPio$@cfkspk(Mo7?~K;Uy-eRu54 zjGl$}OBQnS?fA;O&AAac_Po+9zbTtY8hzP06e+j93A1Zq+*;o=)gN083RCP_J9|OA zvH88N2r5+mQEE{YG|4(8ZHAlcvzIKR<>of-2;=LhtWue{^yJ2a8A{>H#`}n6 z7#Y}A_m)LtW8>vzd4OA*X-}WZIoVY-OAdno+7xDn%T56;i!nlbUa9AhW!;`^$SGeP z*6L!uYpQ)jyK~G@>l#eoMClfp7GR_5gqdF}pNmjE#?Bsvck_Db`=byQ^-vVbjxSAU zDs>jveNT&5LZS2GVs1{0OJhL5HK3tl(^bfU?~%br_W}*3vbWQN8JSx;nP~W)mz1#J zmawHKkFgx2l4Qx}z8#%)#6s=WD{TV57Rw8J&y~R(i`?&xiHmR zo~W^9VPpIwqZp2@U?|MZd4_Bz-@m2m2sw+1HF6hhO&01%NM24=&$;7k*jcdQi`)3q zJ#oRq(Ytr=?kL+>;-$QYQtzFarcZ_%5xjE_<^ko^$VRTI|I#5#OG}gFosY;+YlYZ3 zyqmcvGD_h2z>q;b+F;S;E91C4QER8*_1&$^%Y31%FzNXz$!{w_g3* zzjTzN5GNIeu`6SQ`hiLUax=Ti%0`J*{M&o}$ApD$meM7-qpSK#(tU(0EC(! znH6|9Z%pJQCs*bfwp!t`tB<5;do5H84C%!OS9*HqMikC{ep;+=XbA9Y#7e(68~7}< zo_tWALoYkG@mX}aEKZjz64)mh1m9f-wRC&m+^`J;W2BzGe%$1yprGJ=lT8&qMI8FN z<@E408+?AMj{=p^X1;beQ%96k;3raaHX@jEBTHblI9VbKL6Z@Wh29D}0sq7M&L-^^ zU$!>weHvbFhgx{I;|OMu^udF)K#b`Ms(-Y%tFM;nSDSn&t?ujR!_!dU1j>-hGQtL+fUWo%zA8ZfD>&szU=1`-r1I*>yu*JylCUDnr$3s7Z9V z8l4Tt@#6u;t>MIgkV(7Uov%SP)BYUX+##-O=lNWgAEG>XhVBWz6WH$*CpwPja1n1s z%E`4{lN>VpXJ=<+^@OA! zjP4)nOa*gpOIj~Z+_(~Zee-ght*UC@?96-C&jLmB<+J|9kr6uMwu!?} zcSrg`q$4sb{ni>|M3Hlq?JT&AOw4|x(QAlA{q}U##B?&nxU~SL0@&Wfp;YHAd(K%R zp*sTM1{~PuQ38kcjMR5oPWwYps?B>1*%mgir5TN7sj?8o`BdAkG4ZhEP7yV zW6iz4zuAjjp*~%=oHg@i1KauYT7MYmc(|Lm%nejSJ387)x=Ni11C??r&}%B4P#{nH zkLHwThXe-$`FS!lTuA7`NDG^zjX36db?Ap@Ls{ zZf1c@Y#VM4JX<9UH$B=G7W)Jk>Aw94<8pPkCj4Ex`KeRczW3m}9?WAxF?69W zuU;QnVip2dM11PfW@862Bh=M>B=>ErnhRKLU*VJ`fwzbWpPFihB<)F)T1ZK>%*5`( z7E~ez2HG0sa7+<=eCE6aofiek_G~`Fo$%XRqwP?d-k5jhc&v{atS$E96Qdh%Tj?9Q z`NVE=qWD4ocjqQ?_SU8l4Z~k;nx4*0I=!W-{CD^J8$Ui8amE$gjgUh}AYn;f+e%#zpr;GFOIJ~@Co7tLgQarP0eu6`h>H0)!aoCIdX872JJ@7kiarWaAIkAD!XK{vCMjA-^f~Z7`}%d%*AQtt zUz-fAA2PYOHlJsPC$HD*--}gOwCeo%!{AR#ceLnMNEpusE{|;G)QNIK_1nQGs(xBz zzCJk}y0z3KFJC{-+gVjrcH>KQglfwzr z0r7~a5Lf1fhSK7jB^JgVKveh;p!6*Z$TMt+JadQiAM@rK2jBuK?@J7g)CsxzqrpLY zUz%@iyJBKO1d>QU3 z)z&O<#mM>IJ;x<^#T3-sWMpK%owi~(7Z>v>si^weUYkPb;d61|06Vj;v(N{~nT5bZ z&ykC?BQlHY8Lr*`O$RK-r;!HH#Q5M1{Tuk8a1K>wp zZ9UQW;6M&FGTC+QP?m1_GgL@Bc1-B~dWYrW4tjabQolVrAGh#=-p zY$bX#XE8;)u;Qyh9@8KVRCy4su3q&fiUOz-tD7us!fF24BQRZ)q98iIJiAdoDCAY* zyePozxb^&`T*M~uWpuc7V6@vn&*~Cxep+|)2)XxC#7k{rF^}NGz~JC~Nr%{HoL@?@ zU8z!mPM~G%R%+scf8OWt1u-HEZ*y~c>v;qwJ^L}s$6<2=p-6JPK=wj#5QG50Gv&a_ zj~h5&0B_QG+Y!UXiC`E70{#3R0>bw5-JhfcyLa~*?$Do(l~|fu2uj-hFOB9wAtA>D zhLA*oyyZjhEvBx%N2o+AOVj3J=jcNc1OCfoG|`~-9VMO{c&0ec6P~5tV7ZVY&p2aG zn2d7^v*;#MF18lHEb8N@CkK3R|7=dUrI7BbN6_;w` zGCQynTM38|;uTG^Sh;_1mQ|0`svD#C!__eYgzb_AAu39?ET*;X zYYm{f!7rAL_q?EdeEniNYt1t^MvMjV16Z8qAXurrL?h`kG?=lwIdkLR1T!op{b_}!t0*STLU}wQ((|XKEOCDXJV4^ zo4_TZ8f74%aBUfsxOAXT)Bf#Wa;wR*!uRr}(oj_4_4PCOWw847fjqAY+b5z4_bj$+ zT(ab(rQnw1KelS<)kM4$v6n&Z$kUl%JSJen+$Q{=IGh36=Z}>C=cy*kq+nG@S5feM zSL5TE?6fpaVy5X|e*tjg`pM2hHAeWWfo)OA(%@6`KJLOA#?A;2GhU369T3Q1dA%Mx z;}w|HLex*>@CPBn#dCk&OBKAl?9fx@3Q6V3Gg-p!ucl|+Hx?o=#HI29RbDw>Y$x&I z9&ZaakRZq`YoIFo43s;b7tG}{DUgm~{KoqfA5?_>1&EeH(19P^F(kL3;2MZ_-p6V8 zgKW$JeyhsA{)F$`Ib_qGme@~c2-3!T$SEkW2@5mf$*OsuaM>0n?=xqqsHg}5*~gcz z@`L1)8)m#oDI-!cTFWajSJe^=OzwN+=9<)=s#m>Dc;p^}$8J+=mq?QGQere`O^|%>PvAn#$L|Qh`^k?a7hDLmuC6jhvv{Fk%>lu;vL=vO{C}tG{Spu%a09fuINk z_Dx&PPe!Qx@y*)}WKNc@JItwd2aX=aYKoJ5XL)L-x<@tN|8>9hf#D0P0ot|6-f}w2 z>1IUiqX0?8S{fEeQa4!BF-Sj*Qh;NUh=_Dva+qO9>>SZ$W`H2N9UWK7%#=ydr7EnVqrERB6DH?jhKLz37PqLYE5m&R|tS3WrcX)O>3q;n^eWC*N6B~;3)p?_~wgHEF})|^OaS$*|NPWk?QufMDL895L8 zRrO5xNsyl%#Yzg|bCy4Uei2_?o-*&Jw?EaSKWgE$6EJ;$OlH4&_6`DsbPPYzwHD&+ zgE35mn@P4cWfB0)On@`th}o5F9UXJn=17;v(=VWza}1OJJ}q+Y6Qe zarACy_g=P+jmr}?@4kZvJy{J=wi`Krs4qKgZ!eWRjFwTewsvUjR~YXesW6ZG&kl|nX&T*Cjz$~b{OwzP%f9ugO%kG^<>8;XEv=WXY#(gLPZ1Fz z074zRxV!_peVW#fenP-z$x-`kssI^?U?Z>TcNMar#BHC>k#7_OslXglXD62zt zv?ckh>>BlvU!=OdVTjwm%FezDJ8I=73h{qw6wY_@pM5Exs>D2kLa(UURz0ikj{|T8 z6CEPAKLjsZue)RqU~_F=PkeIIMAaY3@jE#=;X(^Q#1was#; zuNaOyKvKwwAvp9T+rO18Einncdk$hP;+Ski2n#lzJg_$L@bO`snkt=LJo>qYunAJC z2d43@03TtA$xM$mR374xvB+&BAwiVv>#PIOB=p}+?g5pI8*Lwdo;(&iI)Sl>!l8=~ zUg6d(qCC=_tQhl)vpdWO-vN+SWlw5-k3bSDjQ6BM63r1UIito~YQOGnu0IKh(b=?IT3?m8hSSX$q9>C|>{%%4&L<~8pN zp>9 zvf&~iJXjQSl0w&Gn>K+IaGdQhyVI(K&_4iNU&-Q`kK^b0(bH5zA62!qjs)6=R71w2sOp1lyI4*iZKi*AO^xF@F_DCUPJ( z&P^Ft+ELCK88RdeNKvY5;2!U2fWS>rNy+njEeA8MvqpkTkI+X&MFsH}4RIvmR6_ut z_{dUJf4h_IFS~Cdvpw<#jz?TFLm|I^-!I!()JE7mbiPU~UX2s?6(Wco@ffU}xb`ES zqSydFB4Q?+_~){|u`+rf-f9E1KUg*?c=21HfjDB*${j<)Wc;V_&9so+SCD(h=rIAG z{^oXfcX!yX@xFTEM4P)B|A*k%j!O#~Z@gSY7E9}{o!Z3WDn_f*(Xz zo%at{`sxUqo13VbhV)f+bMQth#))k7Ea37Tx6kKdKvowMy-y?H$y}(R!_G7nt#&r%xq@k7Y;;XQ+1X6 z#%&-KAc**uchBzKLohRg@vOA-2IbDH@k;z8*y=M%+zfWXNCIy^ojWT>*366- zK6u%>sjlMBi<6x|1!wyv?5BEs`a}&0WV2ux#(B!5uzdD?%6td(jEG!ni zWz<)&3JhQZI;H!&bQMFITUy`{H+OJy+P0UT{wez3KYcE+5_yM*(_<{+JKkO9>Ws9W zDpTb3y|hJ)tXmj6*PR6?0Vsds#2Dovdi4`0PJns!F5~msUHk&L+(&>qE`l73H#1A8 zgx+;yA~lY#?9>y%8Z^j4og+bD{$Y~|=@k_f71l^$p#GGgR^dJY%+br~vb6wQWth^2 z6`VbDhBIip*DlA*>l~5TXTjxq;mn!q>p~|_QhPu;M`$w*tAfg^76pp&=a8Br`QW-1 z4qiV`Tj`qA6(yx<&!!d%-4wAH12Hi%3QEd;0NQr!+&PO4449+QiFW*>9;WO+crbN9 zy4(yU&-S5qAuO}Nqwl7s2AnSyi>%IBbiKem<+)b9dd9c1lF%3|RzO%3QQc7r8X9(P zZeQ5S5we4wKb80{t>p6km{47A_i!!&~VsDV1NOa zZFH*p`cx0~Fnp=q>Xn@k7XD z^4Efdj*c5;Obl^-j+3C>gd7wW*)=5nsrCe76(Ga)#HS+N?|%#q$qc7!VYbzhs1f-BT1IV?1ARy(|@|xoUiy#cDftFUtVmhxuf4xBCej}SwMIb z50Zjj!OhhR&KP>4UGy(=tv+Lwu!p2BT)_x>-TM0cIikS=r@oB5{42vc#rmlHLnIdp zr%+{M@Q8L{h%azYEGL@LrrIs?)VhcJYv#d9~S@1HS(wCVS^P zFKJ;{%u;cL*j|ySv>KPEP;-)}arIRE(o*F-2kpvvwAo>mNLf1f zXKg}4WVE5F`+5+*iO2idYDt1#Ff?I}3|*aE7`Jz6>Dk4_MhvUYMy^AXmsX0{I&qjW zk~{qH;g{k&{QY%jG%D0w z^Ul+LOh0!XjL0+VjotYEW}5%pxtr_Sx}r8g96nzp_&CCXmLx(}b|4!huB0T=P`$Oe z)TH+l)!DtJsd>czH)D2elk{cSZi1za>+|dK_XbF48?u3*npvA}`dKi!8y(t#;aW}W z1(P%Lqk%hLIn1`0bvgK*HHsY=eCrRKD^Whj#W#o{2(#ZBAlLf`US5c_N&^xhXoKc) z&~xJ7=a1ZNzf?xTt1EIuw7dZy8Oh!Q^HJuVZpYb2^6xr>7tM5JoRm}0ku-oQcqvfz z^_VoI?r2fwXMs%;I6baHm!J6?U0)xWNdi~dRh%X0+uq!*G{fo{g%Z2Vn(yul!4E?! z)2#kiL@IDI5IdhZt*>4sCxyEV?uUmpl#WX4p{@zdiAGS3c3N~Tdt#z{)@I~^0sqh5 z`~#HN;YIaIh%>Bbumu16tRfgH5sG1z(TH2RraXh1b{55011^LqOlQ zeYmg)t75#dO9|*ut-8N3(-9CO|U>_P9q8w{xX5w;Y1c?x*ziCQOsKPEjloomA z)D$Z|KXHiiQwiQ42{JOtj`s`avyKZ?~20?kNI4>P6?k*3C*X*sklqACT(UP z-`jd?7MKYF1%{gpRv8`|7#6@r$0!o4h%p*z?EVOV3Kkj&;B0|Gzao@NZe>yXGznD4 zPr$blX%9jn5Ahd-g`bXgOYZlw9~w8? z`KaV}f@OxMn*WIvwIOx$?`c!0%?V(m^E=E)sCg4IEn=Ph3sSt^X38`k-o=gn{{MRB zC2V9kLnUm|XZ8|BrvH3Mv2dRLeBMs-YWX z)Fz+9cq-ytvT#f0H&I;@ex|&aDjN@i-9+NbE!xRG-+JiwzCl@{1OL;IoG?_Lkxt9Q zv#YkWt*JSB)d6}VO}(Emf`B_Sy2Rd+yWj|Hn}gLGA`Ty7FMBs9*Li%P(cViHx=mnO z8N(&usc1GgJFV=eV+>udc$~(q9aDGCrn?v2MS`$Z6O}7DevZ-CP`mC@V&+;?2iwA! zKq~P4$Zf>mt>h*_PNR0V!~an6h)EWTj)CSo^9Tc#@(x`N|Iil3#^OXfeH7 zT$)MTH*8}{?8S|HH-$(ra{u%-SO?|`S{fQMqTy<0=1j8dsaq64octo%C3?Di0p~E# zzGq^>O-^I>xw|_!UR)?BICyhujuxf0w37N!137i|gQDd;#Aq#wm#o)6o&~toyty;= z&RB(-gq&O)kP`8xSZd>rH@jbT-J+r{CCX0tGQsL>W75Ven|N&)Te>0>qERWaD~y5o zwlClGCE|hx7;{PtR?!jhCh&;p8g~^j;ckDNe{MxeXV7+>zU6&BwVT^ZqNdbt&qh*F z!STE6C!>&%4iu!>xiN?^EXl5gW}4TaVW(-Sy(FV1HgKF!x#-5RE~%r~h8i>sf4D_j zUR~wFm0~^KCLm~USJmA740t^5AKN@VmA)m*9YLW&^dE00e~%1pOrYSw_&%NoGFW3a zg+bsIQb5<>MuzQr%t^lnj+!P6n5BKH8;H0k;}pWDER7MYkNpeow6X}z8>hA zKK4}N9wE3zAh22;P{Z*d?t_hXV1K$zh_A23E5>4 z$7-;*W5XKz*?U<-Fnwc#6-DwqFc37QPL8wH%+0`od0w(91CnK1UBp%(Ag!+w6YKE0 zNr3@0{QYh5dv^D;t&QpZFE5ZMq^DQHd@SNXBX<16a3Vp7C3#o1eo`9eAI~_8Zb4~< zmu)v(h~ih?+stGBOqWp7h5$6aD4mibP3-Q?&@u9)%QHsekJ4~)%Z6aV&&f-d)RYCM zvNT0ykd6sUNMHq>=my3%WXhAj)RMw@+GY0btNB@lm2fmQRVhi3%Tx=pVgXt?nH=Z7 zDe1I)=60@v!?G!uN5<6wuD*shZ>A_C+7K4-BVFZi&F93IMD1?0u{#JDr0~!mNH5C=yof=Bf7f;(x_uSyVDKBo)TNXyU z-P<%tfo)xn|I#l^4e7l?@Eu-~EZ5My%+3+_wgy+Oht~){z|REiY`z zb#bAG3-b?Wws%-q`nd;sx|OR0j?=`qBvak;I`2y%`&a{0?Q6uh3T_n{{Qr2a*R#s) zPivvXjs81lSmo?~O_BLocq6k@Se$6tCnN3$0*pZyBC~abnxN8RlnQZYh=1M-Ujdf)o;}sDh`yZVo zY3V+*0_8h)^4FlHqX##B+qQ!34`yDShOFl6GXeF{Cm`TcqoVpBo53n(EVkV3fv7zM zx9O9E@W%H|m-`o(PcHXvoev5Lnd>pfu4!PPL6YLd9zN5FE=E|5sZgP9^*Or8ljjF0 zwpF}=`v8#AWAQnbY45V{-*~%pbbNK;Is9&nN==pz9-0NQ)s)F8DeZyZVRZxCDq70p z1nfe7|K91}p!AvrHGZf0X5*@9U{=oyjj)aUyJT%%V7V28jWxLzF?%d5)b6)8#=_`U zdciLK0auU=7AYN8Z_g&y2$<_*4S@psAKwKsGC&LIjJ7s2W#h!X#Uh0@dx}l(D*G)j zcPxct{QCT&?HC`lJ>rg%hA2&9)0gZzfDIA>0kwIS{)cSQ3>|>mt)cSm&6Grztz?(A z^EZqg%_dBfr$bl~Eeo3z4tXlnlR;UpVjdPWc@8b-TAsbRidGqElCga#G z8sReEQ0Qw59|4}0m~QW0_=YO65SehdQkIm+NFA;#CjMIwlQeYO<&B;wt) zhOopa)Q0%^WKmHlP%{1`564sqTq=3)*~1l{XFz+1JeW%J)s%vry)raP7*7`tHtE?7 zT($4aO{={qd;5QPcn~<42PR9wVJ=ZRm1CmDkqxuK-^Q#;q(j(Gp2X5DCZbdY`x_vk zw~fn9+Z$O3f9@C?&odfP!kNLs`8&=AcfA@A{jo%pjeX>Y(Ge9+4Jxw`tA|-qPpIf- zXBm|M&w{4%;cm>oo5P<)=-($Hp_rGExT^Z!7{y6{H-9Fy=On)1H#`QP$4A`vP1_t) zUTeMPHAI8eT((h&L`Hvv?jq`F(vM5MO(R1x?oVkZKceTv_>~D2HryCSSSyDq{vgS> z*0Wc{#R>DH+lw8~E}2}wjyG&K@ZUjpbg06!WPN#XZ}L4US=s&2kdJfz=1Y`n0*t0f z$?1P{yOYdx+q29r^%5i5KF=J!%nrK2R;y5G;RzT}oZ1wDqaTv};CM+0*4aNmG7PMk zFW=u?L^?}k&Bg0+;+4yOOO}(rT7Onp8-RE0FK)*pSW`e^c2Z5 zY#-X;fe@eu9E;3xlrC%LEND_1X8O-!EdGtWE=#*GeW2IELI-y~tmUn&j}nMh&pCnX zHVGdoM$t(QMT#magfdqt2z|-{%uD#(?qo-Ab>#MZaH6XLGr8j1H-TXxOFkT3!%767QXrwnubAI@qWItZ*$orsO?yrLFmk)BxTwpB2Sq6*08t>t=DF>~r zEHz43Us18Bl)fCjo%ouof5IdIIw%uu$4CeX6q9&cQ&Ws$`p_RvbeCZN`Ql8&g`=0I zc`0^!r3KRKVZy}<7A~_p6Sf+kGpyA(V>KWK)^5t!w;lb7J|iL5IekWy`;SM-{l9_S z|5(v;Kae4!n^1?}fV=|h@3v!XlABdFrA}-RR$w$xuRODNi(RIrH!+LR4q51Zy&F^oDaG2EOlur?NdEnmp zb!rM$$;@KMd22WClN6tvX^XsPf%za^aTY)3-s%7^npv+KnN+nCiE7##Pb6JKLPL}O z-tB=1fKGM)5kVJXO*JR#fXO@Ob%97M_2IKhaBdc#XUtnZmOoQg21WWhWCPc_g|du59m*IDdI@i(EQ2oyr>1qW^t;U zpzWZ}-bm z%BrXwIQ(+V_xO2#Klz`f&PO;DCq|*T;pTwY;8UlCA%(Z~j$S=Sgm3Bgo@uXg-sklx z<0A(q>Ef`Ts^a6uv=U!jm`Ld%G_5SOYp&1Ll`S=13?fXBH8=7K*~oVz!UG!YM@S(k zcG$JF1m&Z?tLMIUd1apW_kdwr{f>T9wLXIU%G^!xYn6>7S!G}{L#*ucR%gk}pp?Oj z0fTX@%-2|Uy{44(k~B04)~2PG*dthR>ZaHcUyY;5o_UWYDE{UhbGq`FM)ImRjqUG8 z6nkQlp6wvii*vSAn4Ee?D?ZvKs2a{l*Rd4Wx-?$2QP?}#5Vy6s=Blj~B_J%EbmgPy zpACr<*&jZvP?0rp?oC^nJY=!-UHo10X>Ws)?#M%ojLq2dg=M~%RyNi+dYGBk&se=u zy;c>$mn$yLJUq+$@*(w^h=w#H{&MA8w-Tg>UjOQhQ~UsEltlCIw6@osuUcAM(U4ar zrSGiJlV)T*)m=Ql9&t9`{pR&PHP$)B($e0*2ES{GV-sdruPW(VdDpkPI{$w2k`-%? zu6<@=qU}JrVDCNZjf)kpa;B;GxbclPEDJHlS(X%7bSFneiR-#wib}nnc1=>U^PSZo zy^Qj`kpY=F$At`Wj8L@Rru5~sb>t@Af?2nvh9IS?+na<)Iq2fAW@le;^90sR+VNbt zpoG*`SbK>=|AU-EhXYMV8%r@`Rb}1Z2FqDkoGw;Xw9Yw%*9}|$SzmE7H0o41M-o!u zhY|u@S<9O7?rgo8HzuZgxI}wX>msJN-cDnj(;mjtp!G&Cp5`d;P0333C!b5-yKMwp zTZhYqh{ci W4L-*|8CsIye=?Ga64_#UkN*z}Rw}jt literal 0 HcmV?d00001 diff --git a/figures/hosting-use-case.mmd b/figures/hosting-use-case.mmd new file mode 100644 index 0000000..47663ee --- /dev/null +++ b/figures/hosting-use-case.mmd @@ -0,0 +1,9 @@ +graph LR +Maintainer((Maintainer of OTT)) +Website((OpenTogetherTube.com)) + +Maintainer -- Hosts --> Heroku +Maintainer -- Maintain --> Website +Maintainer -- Manage --> Heroku +Heroku -- Hosts --> Website +Heroku -- Manage --> Website \ No newline at end of file diff --git a/figures/hosting-use-case.png b/figures/hosting-use-case.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf40179b8191683c5892effc60a12b8a9bbe7ab GIT binary patch literal 26773 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 OuE;!-m&g~>{q#Se(bDJu literal 0 HcmV?d00001 diff --git a/figures/join-room-happy-path.mmd b/figures/join-room-happy-path.mmd new file mode 100644 index 0000000..193c25e --- /dev/null +++ b/figures/join-room-happy-path.mmd @@ -0,0 +1,16 @@ +--- +title: Joining a room - Happy Path +--- +sequenceDiagram + actor Alice + participant OTT as OTT website + participant L as Load Balancer + participant N as Monolith + Alice->>+OTT: Hello, I want to join "foo". + OTT->>+L: Take this connection + Note over L: Determines which node has "foo" + L->>+N: Alice joins "foo" + N->>-L: Joined + L->>-OTT: Joined + OTT->>-Alice: Joined + Note over Alice,N: Alice's connection to OTT is transparently proxied to Node diff --git a/figures/join-room-happy-path.png b/figures/join-room-happy-path.png new file mode 100644 index 0000000000000000000000000000000000000000..e31fb73ed0985411a9c4aabbcfc8bbc6e4a8fac3 GIT binary patch literal 34418 zcmc$`1yogC+b+Dp01;^rNd-hex{;KS76BEI5+$U&Q&BpkK}w`Vy1S%7KtQ^rMH-~* z+{@?v&iT&y|8I={KjS^)>@lA4Y}tFSwdS1nyyLpAd-^|mD18l!3=4%qU6YlOR6(IG z;Gs}xlbDy`FTr@pb?`qlTNP<>R9+9oG75DQB`bOVu~Wk8q@xqj;91+&zM-S4%*|U@ z-qKU1U!_aAq9PteBNrBk$sF3tIcx8cW!)itu~BbN@zj?m*`(aBzUN|YFK@0Q|@UEx*;*w8f-k2bEEqMPpbXOkkHOIE($@1Z|MuT)FR)) zXr)np{{FY<=-viiXInICr=ck)zKus?Gfc{7LE*Z;o~{tb$vWt{oE}3e4;AI<*$H5GS$#7oxRkj*2IXStct~{;E{x~r|KO(8lQ}B@~pt))TQq1$W-L?k80idnd{R$E!nlP(!;q>QGVAw=0rh9!}j;LQ1Dbf zp`vG`P3*5mi*7IVB&J%=wfsQ7uuioNx?P_p_9#~APRwS z&$FH6lNH_buO_8Bwpu7%_g!LLkHgzIz892~l#-kmZ#*k`b^q~WqRA@zxj{8ugRW?n zldU#tq3w2BCuiqE(_vN`8k%3j`MM$26HJxCt`im3PA)Ft@865Lxd|~cG6s?H1iXKb z_cTYn@%LbMmU8OlnVFg9mX@u}CftF1UD3aH5u1q>W+ct4br-lKFumdjQVd)ww>Aq0~xLT>GJsj94su| zPMeJw!Pm%n;bx@ur+e}E1OzV<1Z)?-RQ2`sJ+QJW;BZ{mYO*L_63CmZb|lYzR?7J> zS;QQ^PQh>0@M@~25}%lO!OZkuLUHb#!2K$+G^`u*7V%Uq(@}mMJMl*JCu678{o;qObTp2+Fu^!f zLhW8?7ue$z)R{?K_Sd@?yW?$hU<0e3oSdLOKg}fz3kwq%x{8JMNw3KV_4xB6wCq7S zutsESx*cv$c%Gl4>^7zny}Z0A#y2-NpTjmUv6v+D`oLp4yRy;+&yX*W)RQPUx40O+ zRKaUDB3A9N_W4l?I_er3_s3_YCaYtmU87IIs?jQzl3cC$DN0NRI}e3!-+q^tmS)-- z7C+Y(N=QNyy>@=EHJ5KX!Sbxcst(tDtmGCwy^m_d{K zPq_e3O(Eoj=LHU@FHc)gNLY9$NI*a!uF`gifRt1Qmek@`?ecgzn_+R>Y)hbOt;?>d zg&+-$;{`=Mg0SkRW@gN&+w#$Nb&E?&(pp+tA-lD;wTYpV6B7mFYtBQ}TEjC|@87@w zIk8onV>Vhe9ApU|0X8)5h#9W}Js~Xo*BL9V;}A9&cSz?nS;P1SglV8p!U|rr6I(INMq;u*4K-^ ze*OC5<;%0{>mCy36`bqf?(b!y;GO{=Ki*uzkAh9)adv2g@;E`5G@wa0)Crj?(}OY$o+_mI{Qp7U%WGG}(w)UUM>G z*S(83As(hk_%6y*5Hmgg*>YW1|Ie>JCs)^jFHi2m^SpUKe?ET@LeUY(R_8Zq(bm-!2-}em>|a6QTQ2p1eY@!d zGLl&^q6P5W71h;T2AxDpKfb``Ei&q*0^3o1_KYl5Iy6HiT~2HW|3jX3HK*m2P?g2S#Yv}dw}FAfKUxOiPg*g&KadZZ8ZFu?bh!(Q%5)NZdjF{<}C{q-YD_0|LX zrC1?n&X&OIz1A*$@Y~+-+wun|JH7dpClH)8iVd&XF7r|Dei^SyQU3Ze*zBatRaFv|~KkSpVYOJKB1wJk= z?v&e(qG3-$2SoU-KY#R34z_v-t#6;ZLG)zStxIU5a$U{n-NnNXn=rrdGdquWE20XmYVZ?|6EA&d?`3eRAvWLP&h&M_OWhcqyYRfBw{)7J-*|#ml$+ zk}1d4r?^)$>J^x6N3c0n%=9xx+ZBr8cPhj}j5GPP1dub(s1!ts5uy81_E0F@5*~a# z*!9Ly7I%V~J|;9q4-_ zJ2NhgpB%?^YIk8>kFSd{lMfazcH2$%Ro)O_{{2W7J`!^= z8JeIecl$tSX46$=Tgn>4fSA~!;uT4>&isqBMP2>@hzZGffTenEACs-$^M8iyup*BfMKw67u8+uXEi>b}OQy0gS2 zixdC4$?#_iEgtgA@ZOR(4KcS9<`GT`(nIz@M%tFeRSD!SbfS!}8E#IUPgW{b$6Cve z^H98ZV7w4meT9vBhs9hI`O17gj2(|!_o|MFp$Z|F)riGpC7$v1;<2j?E7o0OM95Gp zNp9m^V)&RNh>CfkV%hPSUb8CkM>FTWCB zyudp#@zL!`zUK9`zmvcU-zgwCBau7MEJz=(bh@?RlfjjKXS~Ac)+NG6GgB|rC+rWO zB6nmY{jjfs`G(1Pb|y;p&!`;%ZNwJydWey=qk?mqElzx6`Utn#vIFxvedm+i{&Y<# z7)hEK43^F#J=clIcJ6DO9gIds@ms@hgT~*+t!CXxL?iuc`Wa&d2KwF3Of!}#k1r`r z*!A81d%NebmSHiWadJF?VMIoADsO`4CC7Ozd5x_3l)p}ki)r90Y7oFT!^BfB&hlCv z)?oTl_N%UqtX*DGN}Eys7Ob)$Y{eDN{X`a-Q;Vx|H!Wx_42veQdnN}I`FshHpN81oe!6pvd7o?bom3+qKDwg5@?FwXcVRQXVt% zb;j(ciC<#-qPCxD)Vp_bv~oXYj7q=;bFQu4?rsxthoh3nXrM~^1SYPi^^?)_)9E?5 zHorZSknYQhZPyyTrcSew0+RN#$&+qAdE?2d`*p3iMj0W33tgj{@MWu0Z%C8fuw7N> z7IdUa*DTk;z7f8AuVJ<&+uxtV&!2;ofAjp;xZ}s2!y*II9p-xNNH$MgU)tpozh*GIeL)_Z1TMm=dZn?D)9JgJVkC2>ULpiXo6MXM5vS*PaaxT&nHzuDvw zA!LqszpD@BPfK(~o1?k&UFU^TIXs(1lefs@l&tP#8)K|&%`a5Rx-*io?ftD@4vUFu zh1gAktgNi^lHQiUbE!}&^Tgh1cSj*&Ca18ZB%Fp2O3hb4K4YOUa8_qhe5pRlMjT^a z%kAk;Pc|@JX%CZl`|grzv7s@QN5wUx-lWUVr|Yy!ET?0C{`|uI>XCn6sxMrnXS6so zOEr_(*w|R;)J`{qT2$`*Y*M4n4IkAN!}duku!`G4%NtS~7~quVJ%>t<@p8)y3150{ zV;gE*p+~+N#ZxWpMeBuxR32}nsjj5L#Q(_m#7%v0t;MjbN?pp#4EyxRe&Ou+ZhxKo zONWiAMVn+15fLbgLN_-FN7nX)j;mB4QRx-t^YgiOS2bVflFRPzhDuu_ubj1&FzK(c z{9D9Fd+vT2il*CV$Epck7NbRB7}PmRiT4a(UC|(!vWeC<9T#%l<2LA2j}!GI;W3R~ zZ1xw;v%My-Jd`&n!K|^JWh;nruo!YF6UGM7w^dJ<;0+NuZAI%>I1p9U@^dj_PX zN#0z+oFKOhnvXL|`UqynZT^gF9Dj8}q)E+WS|kz{Yw=*xtWe!~qn7UqPM#b*LY%-( z;>okyZwUO{9B1r~uAO4Y$d^rjFOszu(Cv_&e_%FNlGGYZ{n2LOi&~WM-Uy0-V0N_L zbDw3c*nB)>b-aAwu+6wDI`~Kav|p{OBYJ`TiqhM6_VgSauiL0MT0h=z8Yx{Nopvwx z_a|&CaNTz>(li~;n;*C2vpLvwc5^>P<_Fap;vVL4nxsEnN4PrSj2+JsaRFmbKX7g? zGzPukRi7M`hrR2Q<2Ser`Oi<5I2|@bdMd0p`m@zA!XqLqmk(O(x3;YRY)mI!*Kvx{ zt`6B+DAVVGAw>aDabpJ zBB2(|dYY6jUvC80YHpT{c#qfXg%-+gJ!^+UEz+Bv|L{eFm$ZzmY=`}LiFyu{XE1mC zHgw^DTurZ<#L%QY&8>=LUfxK!cTq!h`_Gyn`}o5%uHHYHD(Orx4ME-UxcHQmQRdY; zmD_hS6yh3(b@Ppy{WugpMDA)Q3>)#^@jSJ-%+{wg(~evy$-gX)1ZUKkqc_ zMCbxxQKLyCoF&fDI0u5spYiU76JS=_&(6MJP|eT^F=z>l`RKGo(A?HG)i2T&$tb=m6IHjT|R@8N;4q3&y^{3`| zx8)9A@WwlzY&G`qzIoGGWHHIKw=o?&XksvwkHuuC=yn!#xvBFqQ^F;RGx0^x^7!aC_qib6~0}9%5{!8)ZgE*ErcbAl;d(l$J;@Zg{({; zK~Z0n`Iz0!n>SY|Qa|vlSS@~Iyt&a^kd2Nm*Oxs!hvGIP4S=tn92WD5yy}R``x@E% zWqQL_qU-cfo>Sz^@Xh*G&AP!(RcdMbE+#f}cb>MUEwlW?hl^mJa#2`S3#Vnq17U09 zo{NBQaT{-=y5q}d2i2tCNAF?PpA;pNu#6SC9WKGD_7~_GEZN++v0P$yW6{mS!0hY{ z4S*`N%^BaTv0O{;P@jE0+%a;V538#=TrAOgDW?!*G}mfBdL%C^OHcox-iA2(*DnTm za0A!wX;Cjg;)uOqlW+D(5BLQKH=6MhQk~t2Vltpq3=9lx?CqVd)O!AW&*AKg#pGqP zk@q|-3|w3h=HtA5*=nwJ2QP?IQo3!{R^$MnoB`P3XQ*h1UZFZ%sfX8Rwnbh)+mbil znt$~?xLm)iDExNutfRsBH&Zv7;r?nz&n31aUAIE7I(Lj0oTnQ}kNf(RQKMxqJuMBrb$H8Rp3ja(3)Go=MCON7(ZhNz?2M)wDzX-&ETVYL?{T{Bxl)LFM3V8C z7~VYwzW@^~)#Q^>UNc>0UVNmepz!lG#u(x(9wwc5gTI6+WB_*`c~|YVT-28$_v0|r zGD2$VB{z!e*S+gKhuEHj@o)dmj&Rx?luZz!Y;1TP%IgI{7yb=AmtSFJyA8#g8hTm?A!Te4`NWt~R2QF6N6C2gJ| zKrtR=sSIkBcYppY<7FlYv)2SmheKJl2?*}y?r`AYjPKfLr}vvqbUZ@a*ES1GC;QeV zJG&F}dpDxTV;q#E=+wI7MP*`GLpRIo?e)MOw5sg<0f*UM&fGz~^^}V#{rdVk%vpw_ z=63Qq#r#t8@W3Z2azLN1k^8_LKOQSx!EU&KTSCvu>Qic}hW`G;ht61zrqRNefyIdn zU7~k*c!-+P^6E@1Zy^*)L;l2MhljgmQg@VA0^mHkS~mnXUcY{pKo zO_N-{l(X(U^LtiiChz7(A$qb&i3$r_I)t!jx4g};wN;pwnWI|_R?bKh9RR96!mmUJ4TPK5jV4_q8pPKk$0~ViRsA z0ok)e$RB)LUfiNfV|>3Wog?9EA+#-{NyhUR3=Da z+j@JG0h~Si!Vi`yov*V7ai3CLBAx?+)zSXO!?{+TUxV2fV9bs^D^VvqU2MmgSVj8B z=L<1cw|4G!T-VKcF_hy7WD1F}YuQ}ol1|3Uw!8^jrQ1HZp8gLLKlD}EUl_{OY!TdW zYljSOJJi#y9U@?>MLC%7rF-@!of5da?OUB}F_ia8lD8Lx8Fi;30*Gs!XWlgik?-S# z3T>+=xoaD*jyO6UuN9VF zJHNi0o?TnZHCNr%&VITEAaI&){T*B8WWjw~8k&a?dla9QRwcWxXMKz1uv{Fqut=Vn z&^nxCzSOHfzh}<)Zt>u?Jkfsnqm2ID*q4@d=*>dMcCJu6SOg5*+E6xkFk z%J;b=gSaumGC4PKzB{TZzo&?h8||c07yjcq-_7sL|Bk=_YcB~)g}=LA8n-GZ< zn|RQ#N-0U9NH08i|2fo5wG(~;GPFkuE_%N7Na=_E>*0^`U?{nj@r^4g0hrKnI*esh z?*FG+RJ^aXCB>`KC&{9oz`doj&oiA2(d*vy~-BjayOPwN*nOR}-S9@!?qo zcI1g9u_8jmh-iE%X=wXp9+u23yv)#g!ZvYcql?eS6`B28_OaxcXRoi!K-k|>oRJ&K zH-DCE@$BY7SyQMyCn8^&d$W4+LjL}w*LJJi&W!|e9UHjowpbiwv11vBxL_`jzm~U zMa)FQ(iV}PAERr07d}mtm2~+sMkR z&6V5ue`n);q}Y6Mm*7EG%ql$cqm9LbjTw&D;3j&UXounR%&C~MP z4n;*{z449Fe7$=cxvx}=M;=L~ghmeiDvqMYT`X+h*Db$&I=UZ^q|A4i@w{$gSY=Q1 z;-~Nlahpbe>PU!FEy5@DT8~scxBT4ES?5m{n;2wikMp$R9t4wVKY3c~V*fN>=bG3; zXB0rQ=J$Q?IFdTD@lALI>68E3=+W-d8(V^WakA4& z%tYn#)NN*~rH!k^RRm{G`@=aSB`3PEWt7VFMkp($=cD*7F#yu{B4N`}*k7L<1t7lK zaU%mrMuDO6Vk6wTy1Gjgi4*>vPquFIa(b6YlE*De&AocdGSDy|U7GrgC^nZ~F0$k& z`74&yM_Ny--e6dV-AKEg78a+>?cldsmSg>aMe1dBNkz5tw>E{2kAgTH_>HS-&gAsm2QCf|M>DG@Nj2Im+Lj= zwQB}bHO_Xwe*kWSndEU~>~Xkoy{5MIhOi4axI~QSeV?Rij@PRpTp%=T8?`4;%rf_J zWU=DnM-bY19@%`6Ev|9-)y^Brt#l3@$Hs zypJtw!R0s}Gf)~=bVeMvH8mR0^ZvtL<9}!Yj`hDvDwE~U$9yWfcDhffs^98bUb%Be zZ}Qe+Ph!{mTM{S+K7~*;>v_?oXA*1@2o` z2DA&eUIQB+o{;bj679T7tw)dW#LCic($Ksa8Bu3?{8Ln81(L5XWWoYqFY;gM;Icmjt;WzM@{I5jn5fO(5gpNpzmOl7S+lB=uoRGHo4dOU!F*F6p{7A8B#R`jPgX}HC51rsGv6Kt^v&Y<-$|2H zc%WRV6YDoY970|5HZ=cT(UX8y1FeM~ye&;Edcwy!8aV|L_?5JhKAF}WQxAfDq~bnEzgwn9-ApM$>Q{NrxP0jEJ;vz-4w z-=H@D!y60S^pkug7#7FN)`}kwLaBsDiVUtQD=WW!`}Tc!xQ!}@`E*?(%~N=h=C1PTXI=)Dya&(R_SsM4+?nI#AWX6NQOu)TqB zBOoDZ1p+8faB*S`mH{Z0D{tF*zQyxxe7MpK7G%lr8WRia1&~)xPEPY0`#Zg&ceuI# zRE@Dc%^?Mds;R51>re=6C|9$*NWX&s$Re9bj-{b82%|*82>r3nJneZdoa}MLc;m(m zqPtIn3SYLV04=N)1E_{*v0?WtaI(My!Y>hG2X+M?h4gTqb{w}c0qkBH;Qn~c$2R99 zlsN5vJwo|hBYyy&8c){=Z`ADI05#nL8BeLnlh#mbC9qxOW_Q){(j3;t5amRIuxm6B z(p;c(&~aVk0Y!-OR?BtgqvcHJUn#x`?rhIW{CG@O=RsljQUU$ofR65&Cj9`C5a?+mu94o53M6>edM% zkM=a1NAnm6MIiky6^|-_q@!@u4EqM>MK7ad_vl*^KHopyzmV}TQ4Vel%rtl@4wpZ# z+}zwyc{c`h#~p580YeO{et)YxeR^M)yT><^MBNj}-XbuJplqFFUh@xI+g)trAWJ~h z4^(cO_vb)nfyffdET=61xEcc}gaiIb<#C|*5{TRf`ub^z@PO{l9r7zzt~|(oni~{M z&PN7UfPMG?s>EPw&l8T`SRk7XfthD&E9!{2Lk@o{1ldKQ?b5@!jyuWRJ~)&nppO7& zPL3>?1IkS2}!>{T3dZ6O<0Csr^3})-wD}-?GAn<5pa1&ktC@kSu2_o)em{+cF z%+Agtp8{z)2W+Ik-ua&aC2~Lz`LLTR@;E@6G6cjbZ-0M((0?t!F_Ev6DmPP>z4EME|>*~Tfhy?nB8Gu0JxJJ z{ZWeeCHMsV!7y=GaENu2&$SYuX0eEwP>4N29n%V%-X>=n08tcFSW!$*XgE2yt7b3y zg@!KuZ1lz^Wk&&a(()q3abwDCs^-w=1!89im)e{KMJG0u5dXO8`9Yg#h0_)dN>)~O zb)qr?u6eI(puZn9H`Rvm5N;saaE_Zo9)j#LK4Mc4e#P-y)9}Uz1E&p$oFpK(-TC!r zol~{0##1!{sOzj+&ta@@eSKd71Q8nAOA-pW@aI~ z`9Xtbyte<@=)epTmFKg~ z{@{wDnKiybC2a9!qrR$-18^EQw-d$u_?n})Ig&HmuI>iO@9+^4c|wExovaoKxKPl7 zwL?Vn${~EC>%0(Us*{C@1UE>lc`favJ3flSgzLBJ!$Aiwh8& zY#jUWF|9RDk9Kbe*wCdu2&SQ>y%5+U4zV8O71fKJx8)+AgP!kOf8mg z5Um@EoX=t&Bn@Ect5tJ|)^BI2Hxt|?>T$kKBCG%itlqSQml})iPuPA-5{`d&^}0&o z3n{o*Q+pUKOpe<2MB~PfEJ7sZ0+pE1;e5nsC&;7PjyLLiK?ng6&@c}M`2VJ7SUS!> z1x?k9u@Yk-1PHw#lr0Tr=ka9#L=SlF*V_H5_!S38UT7R~|D{b(6ZH5=&~nNWnKiEg zxqdbXbVQDR(L%V;9Z4bb0||mbbx^ie{Tv3{%$#Y8Syc6L@h!(_ziAcrxQ{OsC#j{H ziNj`$wSvl(Q&S+rq~Q}&jZJ%$DC(Kyae74TKzfN@M1-n%)NSyT97ze*i9m4m?h7QB z?lr-{J-ug|HVK+5QP9}msl|Prm+l2bZ3@7U=fEkoh+8bA%P2fTLJ3gfUT4$! zR%ih^&nW2K6!)F0!Nuh#gl_B=2KY^^Gryzs0;=3(Whl3&4P382L;*YaN5heBrOj;~ zlOG=;6LKCp1>FtQ1&m&wv2?VwD3CA@GC1`0b>t#fkXe}U`t!$b%6W+rd}83FMJ70* zAZpR1j~_o~|9%+9`7Sn=G(#!*p}08uK&H~tNa0J6bt2iLA3kk?dXXpP|C~udU4>p0 z{^8P95~y0FU%g_8xTDl+Qi{a3&7+n40T3NRUf&4ojslR0AMrqRbn{;-dXhzZ0gya6 z-Jjmt-u~oyeg=vj46oDUeJ;}>W>%dVKcE$mC`G}K7ttXJ*)dW@9Pe*{WACeEg?gm{ z(h2w}4F^XU6fmDYeR2XvXx#Vd(tCTmMc8n+0sMT?5&$A5b)z?tszQ)n82xN`O-D!f zJyVH#%5_6H$#q>o$Me)4*rFx0`l zqDWn)QR~73O4@IUg8N@w5a}GG7Yd2@hyz=`##`3;gOK*G5PR`J9kXEnxFDT|TDhMGF?9*aVSgF-y7Yz6C^*W+?wON==9XYD7l_kk;7X zTT;Q*oE%S|8$$8*Eso0<1jX+l@BmEF^6|bmaF~{{e3n$8xqJy)oe0h-w;}S|s7ej~}M3 zwyPr?^a`@&2EgdI-C^{hHIP{~e@W ze40%Rvk872wqEP9Qsdk9OhmbIv#*KoF(3riy(o6rc00h{~+}T7}gNI-*|$^MT+B5^Y3g z8Vv&H51@Wi&estJj07#=j+iJYuX|iT1 z)yvFo!0OC{aq1mx&Oof^)~tnPzG)gTU=Y)L7f79MUJ?|jPCcl(L>3Nkgg}?Oo7=%^aW5&yi;L$+!}U(Tvoaa9tGH2Dud_B!Pm4~!FrBF2 zfONmruo&_)EFF(S173>>zd;lGp~?wQm;r;%NVKA!`CRCgM>}h`qHIK zeOan^bli6bvpZSu;0d(Yvc$}RA=xIm5>Qin4p;~H$*e=pB{_dtQd(Ly_ZbglxKMKd z+|eTtLtW%SjEjvupXfL>1CrG_s3s8^CAb=q<5eyQDeTxtW(Rx7cD2c*G(0lWPTM+H zz3>gAYR2q&at;UeHy|g8cV4tL zHy41|eXPvfHPMu@8uBrZlPzg5`3qv8na;1-#)2BFvh`)@Gg*0gpj>D*UBRrNM%e+4 zC+dAzSYwevm&Lt@ptnjy;?aZ`NTNf)LV=zT2MuvMpaG(W$o_J6E$aaM4SnG@DqFiq`d4-o6pI3%`h8+Zg4>cMo;bj2cJH|AFTU3Jm!kF z;^>cj-DE%vI8A;qK<0oL{K{~zbI8}ySy@HJbgfDo2-UAab82L2+n*+jJQ-AR=y(JK zU%#hFSTg+`X9qiWYJvCrY)Vlp|JgH=&d1x#tB)kH1_85Jo~YzXmy7Bwbc2-O;P`j| znkdji6y`l?Jmeeo-vsak5<4)^IKFM)#DIe~3B3!62`Hb;Sfi*@V>M zkh6e#DLvvd7`9dk7^K7cge(MJC%`WmHOtKOeCZ$&`kMq)wCi*JO;5C2+3pbh)Er6i z_ah?x3*ihe=le@~-&1tXS&DcpsfLKglVOuorW)w$v%hHegDNrLbC-W})#nX z1F@TKLWKy9xDTQj6_8^TE2j`>wJNMqyiy54TJ~4us`aOxHk2K}5UB7Uh>3~m`O?y; zF#I$ASI|s?pGNhp-uIc9ZUP)`aE zf8(!EX0EN<5JqhN`MCGZZTc7J@)eI6`9qA+n=-fe~$)ycNHCeIkK~JL%{HUh`|j0 zb#~`{Iu@3FSIVWK2OcKFyNV(o_M7b4)QV?za@0%jQqy#9?;nbOU+60b>2>S;WW=vu zlGsfjHS--YbNKywub;bhjfDiu*S!l1l(G1mc}YDG8ICHcNY|>`ytJYgoT<)%`$n_o z+iTs26(uJJjPm~e-RBoy^e$$Vm_Om0KCXPSo`u(NNSOR{d07WoFJ+|nM`z+HHMJ5d z;QBrdJ-z>+=;}gD;>M0-{nPRsb85>_O@d;-c|{}&Yq!7Pu$``5h~u(l5U%1e{9~Fd z&_%*>7*~}-o27g%K*sCpUweFx`nb`6%kQ$vJb7Hx_35_g(zE?PailqQ?y9Nw<1?^qPMu{o0?$rowbhysRi)Y~H4PB(x>MG9H@lJU;9n^6=u#KaFZ52Rojq z&pMX;T!#6d+Fq(U7c{AhYlh4;cQBwhxy);LJ@EH=Nbg6D^?uJC7VO~#u#K&5o9)XF z4{^lTTfT5gYC7excaQ#Sd|RHjzx zt;gBN%qt#32h&@vDrLX%mhk;FJarWpo;7`bG-rIzA-Q>(i=$^RZ?IK&f!D&zIXNfw zVY`e8uUpcCZrvB%W9~gg?*jRhbJvT1m>me6^Sz+L@tt7~3<}8XCET#xIPF!=T0G}C zDpe{RT@`3WZ7%sUd?k=fO(tYx9|e$mSOMobeP zmm~-6>G@xUT+Yy>P_{OsSGhrUvyyt56?Yr1 zdvkTf@j%M4et5)y`q3x@>M5&h)S0Jgl&N<1U{JT=9o92~usdh6yCw#O>fhYzEkw^_ zg@eq=r!wpqbuZ&2cE73YEiyPII&rJjh;5356!u%FDCKN6o6d`!`picwby(jHUJ;`< zJS)OIEf3yJiq>~^(As9{mJ@`E@?7aB>gRdLEJA3W1($Z?B zdQW2L%l2a1!;^?50hgZ=M?zx>EaM)wWrDAMNgo`N%$1)O^E+7aV&J~pnF=Bvo)CHJ zQSZA^@9e$f=^_4H?21TiB5_kt=u_K+@`01HE;E{to~E|8h(f~af?YMW!u-zqtoYJP z19|4|b(*zHU&_XPCwt!xAEOH9G94LoCIS^r@1PgBH;td~$m*}0Py+Vb$S7s`9XmciT zCbup(*+%V($5(!S%4odvT-(j92KH4hcCO}7$KJ_foO+cDLPINP%p_bWdz0y=tO1Q( z5$zIxJ&Aju>blnO8GrI%D^sGmRfq0#33VTbEVD*k6!@pH(%jxR&Q19y)i0|r_gs82 z*IVCTZ+Z7j2ww_W90$s|IyRSoa$PW3wl9FSRdljvG{g^{H>E&HZ@8o1YNMMD&uZkF9vxU0FCVRyC zRaYbRLpAU2;c4g&Dw0Jt+#Ta#fx{`9ib}t;vp#MT`Ox79_xZ*6sA^J?62hq|4b?Cm zr?RW{R3cK%S--S~z5R%&C^rc4E4xmeISFua@7|VoAxyUNw-=>KgB{wlJs)YudgA!( zdz4m|CR2fAnE`9BG=`Nem-g<-GgV_bqJ0|?-s(!da=`?Sp!kx=@~Pu7jrA4Hpq;R- z3Eh0oY4<}c&-1ot59;?AdA>v~tnpE2x{sWWj^UVUC*ScsP5h=nPR@JU`88C!KyTod z!}?ibGVi%>4<(tvN;LEGnwweS30nxXFVQQftGwT-gaJD`uGp7?wWqSuSy}GdjQ+lS zaQ)72arBlNp-r~sh}_lfV?63)dm3wSAPEKz)fb8n$Lg;~|EZ?YDIUGi6jxkW!(q+Q z<{|3aGW)2jVZ}%8GWvGz5PTcVeIlj+e3`S=U@uIfTxBC_LlNZh?7z&Kn;GkqhjdxZP#i zS7b0LMX3}(gSfDlXDtOwOFJ7+=JKnPiwxv!X1<=cx@^5*GB&;ew#7NTdz0qf-%g`- zaUVTAD(lxq(r4a^nrBTvI!@7k4W{1E%^jH$(%Ants_wF%yk29MJ!o=^^(uDhDRDW_N11#O)&q zv}*lW^!40W8ribtHno|yZ~3t^li^lw$k%qx@2f|u;N~hot8+9@Fa1F~pQ`)ds5-8u%*A9>QgeF zo4dA3XJZ;a4t8a_xL8FcnYQ^06Y*dAi|56T(=*DC-O1bP<0t>TrxM>#WDK}?@ltvW zhU9x1MKP%~KN@Xny!%vHDi?1tF!bLKz{IMtQ%>_%A-bO~E6?`6EZ+UxFQ@sUI(rBG z{F&DE;iy&6PQ_1-vhOEx2^RCR-?gI!1i{i0myGXo>ubw9Drfn|H|?qN+avc~zgNvU zg@=FR7bL$iQcwKaQ&DlbzmQci=|)%k%$l=lyKTAl-Xf-?1Nq4jm!!1rQr|rZ)aL%q zi_YUov{%y^yn=PY4@a3!tsQu07nWO#E?JJ{F;+Y&ZVlyhnZVLv)sBMiR%|y( zjnJfewOPg5v*6JI-IT7t0d`Vs?k~Dgi;7e&CW^=O8JDPWf9~GeVN~N;b9vv1OKj8= zR2|BHI&i?DeM7_qKO)0Z_MMGX>|tY9i3wj4&SVDrQEo^LuM^dVl8$%Byku7Rr8wcW zsN=EW8SgPXLRW7xd*2tO;&CdC%;#=+m%V55dcFPleHvYM*h1!+GDDkH8>S^w!Yv$i z)#uT80RTdJ&>uZ|l(8o0xDG{q@;&?C^Hv6xZM~wNK`}c|0oSX^yMmdSvo zMLSzN#uvVKjR^e%IaTYbh9|E_YyI6XNa}8Z^$#2Vg74B_)e?STJo-PS+K3{W_}}z? zH3M}E!N6%8RK5P8+^ZS?17*#t(PHvO-vIPan*!YG4sAYOg~psKMg5 zIE}JNXtv*OCAY+b5&{rsAQ#nhpI*kHkO8>i0IJC163eiO_W57vFi^UUX8>|SXFeSe zT*Er9*VNR8vAY1)D2AqHh4J-a=m7zAr)tGU!UwytgK<7LXN)x0(f`O zmft`D>0pq(@)W53NLFpK)IJ#?As~zY^Ly~B7f?c=y=J3w|I;@wUWk!-+7EmVkP~bGeWn5&$S){3P-dwnl z-SSke;AL+#0Qi9xKLA{vOS=wejDw>i^hW^Z!g(L)X~E1Vz-a)m;tMEfmE%SaK=7Wp zy?*YyAlwKBqgTyQ=Rm9%t%0og!L(PT5 zYQ+9}!SzvKw47FQ%U_L`<*pTi5Mm%*{yISMR^z+q=;-~46Tq+89Bvyx+k~Q(6+5(o zL;DuJ!!SN6DP~$?ECvR~1>;l{A9Z<5Bm`W&0z?V3WQ|`?EaBzM>Zh9W%iwblwi~-q62WOa;*y5{d6GT0!vIjen z-fL)FM?n)AJ}?3x9Yga%`oS$GDg=k%00?=|>!=s$UwO}qRb;au2XLa3(lH#|!4HDF zOKHI_(5#N--DsucKBB4wo&{tZ!J5DOUJE8qmPwwIehQK<}_aVCG(3 z6yGND9yBSvSB2T}>ra>y)rn>#9$6^BGdayg9ac$U4w3V41hh2H`k<|Ue7Hhx%67qw##-61Q?35ER)}uD@2@-P zPz6LAn1wR(Jb#%U6(k;p3DNTMMuT2JIZsP~NiA>nmyP81?SCSYvrlJw zReW)&>EY;=v@|+IUk8*91UdkuK~(6VqN0LCU^p-W&cDC~h7*|DQP|Q`Q&XTw!trkW z`D>D-gXbS7vmFE>6*+wfG7ktO*HTha5E}wU&q#gf6?c*6xd;8jg!UTe9fVE-g7?z% zt=SfYxPXO$hF2GaSp@wE8fdVpTVG$mfQlvkzV~I+ z#fule=V)*N;hDI+t@wevQC}|JN*RujK_W;4G#(od=Ovm~slxUg1q}`4CP*ZL7!A(s zsu*;%6uXv7ZWH~Lgu*ri)xW4{yc_GQS$P|!Vb6G*VnpFi7mNlQz^VI59N z;~;y>fF4M0<9<4ccp!|et*y(Z;nwRf*(9m75FDO{rZONq`z|ttI<+6>=k-AhDh;j% zF82}K1n8U#K&pp=Ks5@7bAb!5$u#FS`Qb-=_bD7>gK7Yc4RYWX3d8}>m@`@S5uuv3 zC0T5)1|w;=Oy2DBatCri36Q_Q^=FE|!wRAlBtcnPS^{6+3d;=9lH{`YYY^T-`)#f3 z*n@J5Nl=ERf|y2Z>~j;i-`6E8^avf6IfR=*hZ7mXO!A+_3e&i zgf5*Z5-}|=BK3p`P-h^md;^LDg>lFA34b_`#s2q?j+st6QLuPopk9%aN#e?=1s#GQ zX&80iKo7&11Puu&oYCQYnC=q93qT-86b4IH1~#Jq*q)^1KNUu}H}@tRjdLPWf5_kz zJj;ddO@;x>Qy}2v?eI(CkGw_jN64|j=4|F#uK~|TsU7auUjOMIe`XQFKY@+Iw_$LT zCVcpBiK36_YziTdQc+bcRA;_11{%s0uP>4mOTd6bPHek9-=Q#`uUnr49q9Ebe=pO5 zNP|Gn#lyohum>WjB`YbKkf_K=N$@xVo@YWRzFFopy7XDXUuK#>jW#PUbO`?q1RXCx zuQdm1ky(&9B=B2*b&#Hm=SIJEI2l#!-z*i!s5{x!m)`FFy__8sG5X%HZlmkbTICkn zphBd8fyhMv^?V%i2F7ZyF-S8k~bDRtPwDZ&No+t{H&I_HT9bm8~Ka3H%P1+4*`F$Mbq2XT$y zsbF`Kih2maid^^!8G#-gdIqA|xtWkVGPT@0G|F*+e2`XJi~Bdxs*svXYR!9kL@5G7gSCv$tbh z&(rtw`(ESryRO^qcm4d+E$2Ar{eHb)OP+w{f1fji8+#U2B&&Qs!o zl4wF$5AosXdVy|peSHED6Nq+aW}aY&p7O;cCKBTUWJoPCwR0bq?LaIJTm}#WaHO2E z)H*OAnCk-4gAD{MqtRkaJUlS~2f)~%Bt3%%Xej~*e8AzSmX=o4OnQ1c5#XBHIF7d$ zz<>F0s^||k0Ik4d%k=0>wez_I7ZZf*v(wih6U41U?%U5m;-FVnDP7oW`|*m zBS?Hp$g$9kdcK-A!VHCrHzA`0m(g6M+C^BLVCUU}Cg{Tn%P&$URhn3|g_G>Hn<#7*HbI zgNIoe)F(z&PK7GkR{@rQJQe>}zVD|8*^zZ2igHZ!+`8L3k~$(trqt8N%*1bTdnk|Q*?W*hZAcl#JOq;N?#tRn#Bg1g2N1eVZug&<1Ukiv-$U^)l#DH(`Kcv@%t8hW0< zY$0Y3LyAca3v|$6g~JVah|oz986@WcLU+;vb#yg^9*`T$$;(>|)6vtXHC}<|MGMcr zy%&;JI~s>JXilVK1!FrIj6Hit$4S6R5llBTPLD4h?`8&+KI?Z>uwi5z!tD=j;6|k* z0FO9C7Qi+5x~smgXbazMd+v3)bueUTN!?VYgx5D^o9Yi_>l zDi5NDc4pii)z5>^8bmck1VomWmiOXe9feka{_Qr7BeOwrA_Ch>(7|Hg!Nec^Y#3sY@UnC~&(Y4M07HuQ4KLh5y<_5Of3dHx{QQK0d4hPX z%p(P&J`K=TSbw<>uQS>4LTnhF?6S9J3e=r6w4;1_G=NVy84x^L98Lyyg8~o<&VZ4H zX&;CO2Mhfm34KuVR09IPsN!N?V9^16!94~L_QE@#K+w3izYluycM?bu$Uz#xQ4W%H zQ!XmnS~LVHjCwLRF2oc-IKuVxCj+Qp+hJ_tq+%eMvj+Lbs3TlNUmwn;GXWwEz|dv^ z+nj*_^uHGSt>)r_78iA&*Pb)*`E42rJ)@=It@SsSxi(*CAb2<8U7w34Nqp2W|(zXr1EM9UrivPL4%? zBnc8Su(A>X*oHWbhZhnWdcWM$$%zj}%x($TZa#9~nwN%Yho=OhOo-4evEm>lGIqu3 zx0nWC&&X}OsilPnl4`JCQH7KLBtg4bpo{VTTcID^9vNwbR2v=(n9)ff4{(SGOrv1* zavp~tAt0v50X;zX;4n<+GO)m88`rwSCEJcx0ZVod0w3QJjUWiVPyftNB>&%IzZX?G z>bM@^mhfMW{p5~a{@1bIPM)8v!o=}id4JJ3lH=}*-`@xZn)zS3(!U}Jw@#Qe=ErKQ zVUrk_5qaLH)R?;nTS;cHs|9-*slaO8i-(vR23#=sX&|M}DT?qad-(RTKs`z$_e zAW^^amuFx?i6HstIO)j)l$Pjl_E?ec5z$IlIQ0WHZZKa+bBqQ!49Lqu<-Z*(SV8sI zK*cN|KX1WXB?pIoLTq>yl4qw)d${e34woaOrY{QmHGwkW9nX`{^bXu_p*3z?a8s^y zoPn|E4EqMSdsh4RhWo!~tuwj#ZASyJwe!vQ=!8JC_|rYSyPgu$^54Ba+OdECC~=pL zR52t+NZ7YHOycDA$PHmuh?V|)p3-chn|-6jZej1-{e3r_od5X|8CjH!-e9)5Jf()^ zsbb+%u|3KP{VjTZ>AsuZQm;*}-`0Nm?k*BXzl&9zr$dJ}$IQ?3Y!DCxvrn3HO)O3( zlp;l*Ak%OcO2)|Ir~3RwXp8>80Hy!t>B7Hn78Z!}Yh(VLYiz?Q&NMsO9-iw(M*e-* z&eXqZ7X4)8-Gmxe-4>D6#rD^E_usP>n2Y^UmZl`$7o=hkX>N65YRdgZAKQookag5} zk)K-8cRas>&?#$p%I}@Tb3CwQLMSKHo%ge>Rz9iRcddGkl^k8=-fT`3_YZ0v+x41# zQcfpZd+@`e4V@6!=UcFgz0;$`*IqhyG|c-Ag(Y145ukffxU^$k8r7NwVmPo|DDD0Cp+ zSEE^9+g>+c^iSn$oA$?!>~k3}NCweIr8W09zHKNd&pOGygE*T~o{;c?rchUN-QIPg z)>Wjp$n6~ByY{l$$=Hvf?NLR>^hppgTQq-bc*A;4xxlMC=_P!oIaOTHUyva$^Q>Txrd7;WlgE;WH`nO|m zIVQ!t{kKDV`RJrlLC?ayh|@)F)=$rDu_Pq}z)aDCYU zh?l{_C81K8@1QTP0}SiUhZ7?OL&MVuSwaaV)Yy;JgQ`{0H8#96-7I2^6k#{tQmD{B zZkdj^cXrNt88B9J;P{{py~*3dJ+QvzG_@H;sQ%?CA|#}J%MHmP>Y7$>UAAVQIq7+I zIL+)Xo^FW~Wg6$Gw2$|x$h4aJ5Wn8lJ-Uj~rP1-6+tiUClH|knI}6F@_738>b{2iq zH6P@8ZfIbfx-lfR7UL5u_g~7obanXsdPp(2>ZSH z)tV7kfkFqtTP9^(Gv6t`Z|UwoYSCdgtRgW<^E>ohRI^a_3b8|pw*NfgU=o=Xfxbs6 zBH6qqZNp7Pny|xdW$0?`W^;adxGzhq{T1~v`K1^tiD%qN<#f&M?NU9A$DIf7Dc|0v zXf!M2nqCfoIR)?7%NQE2*9l$OD-jwzWrZ)p6!c@?oVTE6kP42TqVl)*r;E{1G9x86 zt!m19kM3ZOF&>6uM?~7UecdJd+*SH9fCpnZUQKgs@OsRVn?P zIaoEtQfG)tBPYz>Y;6}-J~nZsxPyMXP*znd=BIysreXu@>0(XW(N@?oSiDPFwkp6mc{L^&C}xV0u!(bTh%N?kJXe__Ow%<{R2dMQ%$y)paW;EhTz1Yg4J29 zRWMNVV=RRn*Nglx`j2vtnz||Xwp$aDu{SSsatg{v>Jj@C7e@os)LSWQq)MB7eq>+V zzIp&XI=Wrf`cr9?25v$FU1%d_EH) z9Fy|oZM(F-4hmumo2~8o8XX4f?35oFit$!k(kbLgtgS~+&wyLj(aVFHk?;riEQ?IOy_Hl^005I>LJk}a$mUh@)_NK%uaa4>!Vn+qx50 zWUiz;u7-9$bg)lHiUO-n%p?W-%;#7YCK$? zBb)H60nvw?y#86t@YNl(cTwJnCzgdfAsnIQRUtIT>5m>x6mWl2FSS}y7IbWDP~k)g z;Li9&P$=HdFYD=-?@V^j=G_~DK}Jk~{Z-PFjwrF!i^W7D{j0Id*^d4J&0n$DH0qt% zV%SJXPEpzNE)`xv3BMfBUujD9vLhyo%6#;?e7SNjd$Rd-NN{-dlE6vCw}3+-r)gIK z8{uyeG>W9x1_K8UO1?fHty0ta=#*13F!bX`z$VK7*KC45LTu+L_36_!LPzK)=#6rZ zQ4-3H$47#ML*8qAU0w3C-3w}?EObSA1Ka!ATvvO4d#nt#4pn0DUkiLId^|;EXqe1> zHGu(tNJ@k)u?tOKHY3~%?qUFVjG|8VK;uaDNxBaZFR8lFh8-hQv#xF2*k z7~UfgHU^SinH|xG?gx&6`l~La{lu)@Y@7mFST=f|7hQtv@38uTYA1p=!moPfn@EgO z&%D>|L5N7~;&7EYVEfIG)a=&DPM1mM24~gFXcEgO-h-Yx8 z8fp!2aC8|~yxSqNinVMR9%hfz3UAp;J13@DdU@#~>0El0AopG#!5dD4cMu}okCl(g zFj$#Y%u8FvJaDvC?XGmclSn)hnqeSOk3#4a+(mosa;)ucQ^>Qhpjkp8!zwSKKCul8 zjkMhSo&LuCQ#Yo&J%R~08cMSY2XT06Dq6+7*N(2Ev#53bG>VEU5#9;EQrx_CRZKfzA=bEvpk9=ScuR2? z`|B;H(7d@kBSV*qih+6dOis>21MIT#uG-ud%n$>;xhJ&8HJ7EccbpRrQ7bQBR-7JR znsQL0r<1#DL^wW~cJa`)Q&aWGohY_F;|^;2#xZ+?E4+}&2oPyMNn=eO(buo{+8idXk%KaKVwMTdsgsmhrf zR_!WjY7$3W)haeRySh5}f07YxAy;ai}Mff>BFUld?t+#7bw-i3*){OojhJ~7lNHJNQQoit`6$=&CRVCw*bQ(JEyj1#`{-=HK zuUZrbs7au|zc6CH=wNyZI!3uQOJ3A-Q|_{!$QN^sYa34K_SaEP{0RSmR?UjnX(`=O zv!Pecy;o{=?@S#Nl|?5yd+=IsPIptTyu9RDoci3fuxyScPZi^>Jy*MBFt<(&t-Y}y zld`oqBxHnMC!Z7c+=?Q7u~3`{)6}k#%KVWgxtUo$I2T*u!l#q+<7=Y7kFayVH&3TH zbPS=Mzp~N#hSDXgeg;}w^FN{#+z@2}%&ww$z*u;01Q3OPz9s3EMxU_qSQ8K2$FOh8?e1a_o)m(SDj;`tI`=3X0s1 zd8l)a6|5kn6cWxnAs=5g@i|b_wpi@khPoMDDP-xh4;qE`I|yKXXk2vm5cXKPil}x; z8}D0?v^t2=2>0l(Q@QpKx$kFl!g)+B9c269EX?B$e$V9On~M($>|_osHm@)8dD4X4 zyh2GyE_f*hs&*(2m`K%Qun4P$WmrI0sD9eEHaE*@X&s91F3rqz;ov`^KfJSDCzAQc z{8tN~prgckO~oJze0MMRZQY#v%H7q0*$X0^%WU@{2FTGWyj5OFL1Af09__t6Cuvl5 zDFl^92}`Asr}%bb0W6?Rtt?{>*!FhTzAu8|HzbeGXQW)FVEvP};_u!bItqKbrltCN zu%5vfR6)B zN6Dn_QghK;%=$=i6vpMqK;;@HwxCY9KB~2AnC>|y>->vZo7onVg3%JaB_g*k?9E{W znkeHZ0@h**gC-xI%qB;aq3*d3-@Dj;4UW=cWM@0k$qRQ&$HwTOL*AnIt_rwKM%nE& z`k%6$2=={~hyt<%waU*{1AJOupM+jmWSsD!kV(UT_I8AxMYN*H$abW>r4(9;KhV%(2OXx|W7iJKFIsCAdqB-E0Ul zf%U5!^4%QWy0f^H4${QY7k73SVTyLMSrZ#es{zy15Y3w;JRZYr2^{Fm$3}@_ym8Tu zXv?S1cdc#W@(v>%wM}lo`ewKFJVBs{o8b*(fZfS(b%hWvK&(RX^il{cimzWNz&L8y zrypor^*NGKas)p3;CYeahmwbJYt+JbND$uf9Vy*@!}hI{%s5NCdfjPWAiyO7U%+Dw zdRs5_w%&IV1|=yyuEH*HW?QREC!y8{NIC*&YkAwJc8Ar3*UIZz{ zU%JP?opW$l|50>2y+itY#FOo(=b!(exi-37rLMHwsnSQZcC^Y({BpNbSaJA&ZaL@w zV+{5`Ddm6P5F{+Ppa0s4Q39=zPe%L&yTT)DRn?o<$6ghOkuy{J;pP4{A_IIRnuMvz zAh;?{My4h~t0ONe+i~6LG=iBD&sc)_khtoWGNg3D!Hu`1gw!=;xDF%hSZwljct5+qmnEp=Xs6Qn1cQ$ep`% z%ARc;fOED$<$MM1%B)O$GD)3IMT$#iF}T0IJ|<(YC}=q9OpVJU;ao2TDI(Q0W1gR? z)HFZo?|Pj~?2w0y?8MxWU-SKY(bQA6aIojNzI86hHNb%_4Y@ zE}TR4CFRyvHX-wtWb^AQ`lrvZ+%g(c>P^_l>FX(Bv_V3=&bY5z@faK=~2@_|pAv?5VX^2tmK>O7g?O=u=ErKbMT zkV|jHin0{iA8@3q*0(qNhh_7=FW>NMOC%=ZZr|IZUMK3LDON2oQf3wwwsFr=<)Byo zt)&pI)G&JPbXb*8Rk9c-^EYKDe*#xK%jAuAB4@A1^-{l_d2?7TLf^i4;Us*bKemUN zKXuWCn+T!iUCzG0)z>`gUmZmPpWh^(xV|&ck&wp3k`?oee|*JxGuG-Tdy|2Os$sM> zV6ZJi>>>liC?mne>hIrI1K($D&h;v&fTU2z_Lh{nZ^bQMI*EK@GBP0@PI5uUPWYI~ z$++^Mo=ul+HwBrR0RNXH`Kipx9D2JY)mQ8r9{B`!D8l42eQwsAO+I$)+rDpXk56-Q zC_n#h6i-6zW;Y+*sr2^Oc3C-3vfpHA1q6A11GT|@$CVQUFF_G(+x5bWtcVJ1g@qOB z42%7yOGC1?iYvLu-$(uj4l-mX(|=g)y0!(XQ6-P6l-c0=Pp~-)K``y>H?QwMdp68Z zGSsl8!_}ixg*yvSfQh5+R8Cw;rR^Enoga35iOJSz+=pFkhocwaw&}!Lweo)*)iS|I zoMs3U_PBR8dF$EVKNjd^wLE{H-*WY=Z*D7|{d1g!&c*ir%M6Y_xgNtINEd>$&u?ci z>2HlL{T%?yxL0B?8jhqWsJ5jR=&2~)UmEBT+{I)*#LZ?K0&tm=Q>)?pS7P!lk--X~ zO4W)fLGk}OeNx!b^l7_3cB)HASXxF|Gj8X(YSHVMrwwR~fBW5kRT*OPfJ?l3YBQ&FjpfiJ_nNoi=4er&KCW4!x3+pp@!lDdUglhFc>5y6 zFp8Tz*1V;^m)g>myvvpvrP!WG+)iW>Gx>mvMbF;x)p(5URkyzVytFGSNJ? zxGAb4Sy{%AIK&%yEjPB^CzjjBzAeVA!M)>XuI5Mu|H_L-Mamj`6mVo(_Oa3?H_TDxmhYajAM&gHufwO zmzGvd7RP!7mg$%*LuC_RFvzlaehxA;VC62uLHX%lCpN~#7Q)+0l8JfF3huCIIO=es zMxt*jNj&*8NCrho!fQReClV}&dvkS$rw~f~ouR-D zH5B+p9~TyKgAU`on3$Mj36KEi)eDSerM#1_;h>9^r{LFZJ+#5k_Ru=Rw9(?F+m-j~ z9~ie5x38wlt32A8zYghv`GP<^$5A+-FvDJHToc!z&>aga>vGqU9;j)9A`8*2rQRhO58N)o54MwDCnsBb{F!XtbXp!xY^5)dN)aJj zKUm_tNJE2{5mA4%i^5w#?-GD?LI%F{SHvUCg1Bccv&yp~kKG;R6M-b&0ZAXNudl_iax z5FpI0Yz{zy*>v3lqD&`2Q#`~-fAJ@=0jf&GrvzLZOG+0_Cf<1Xd9Wq3nQBpayuEk_tQo-_ zwfC3;vn-yR;C*a!M#y;)A85TfXgj@{J+?7#ZzfaIfuh6x*L+pMB1tLO{T5__hj`1k z?ROp~7}0t;dmXFZzBv>#9b6uhRL_F+*BftSQM`Oyt3%jg? z0G{akSJQOZgr$h$?sGF^&dUcpN^zapR=sh_BF-^uYtQ@g(DlFR=;&I=B>&7pp&THc>|I=D zGvg0Ub%jM5dK#s24$0DjDLcwf4# z#if*rr>J&{F^Pb}VZy5gkCB6AYH`Isezg`Qm%nn5uhTB#>q{_HzFMt}&No2;`^GLU z-Jn-DdgfeWp=CD*IQYIiTxW5c49TYEHiKi-#{KoyM!3Y+P^t>{jqqW%E6R&cPL`{6 zkFZ8z^pjBDh@PHkgy-Hwc4z9*DX8}|xiKRN6C?R*o#=ife{+*uArd?5gsyg&5}BAd zc+;T)J@nFr3vX7qq38$HY@tFBk{#DWZOxG2v#n409C!ZMy}~um4GCw@({5z3Ivx1;M79H{MumOk;cd#B8d7GPRpl``i=J&MQbb53gVaM-HuVdf4P^*|J0 z0hX2_z1iL$JooP}3_tv`mt0@Z02pY(4BBRp%cdG^?xgolHid-{d@adA z_Z51XRlYsu$zbu^v<()pt&$^JxNVg8Fw3K{F$t(h6L;}O3uwoIC4Jg4QrQdAf({$( zZOsg-K$1BDXYC&k!P^I(EAn^hmJo(Brr6WAOy{kyTX@Z>h4h`XFY(!d(*L~ub%te^9u`% zmqNHacGBy&LlU9p+8g!x+xEyq&n*q!o~Li@g_NH!rCl1c6{7>^#Dc(%KP|(*6(~86 zgNllVV0Ri^50wnig#L|>yVG+%>)%&X6AU_kbj1hkoN4&^Nw`%WJbnm(_myE7K2>)YxPHpyRmu&sFLA7qh*KqCJxQ$;*sLZOWxP@M&HLSO+$`6@1 z_5@i5`(Rj=HW~;CU(Th}T8|yx&a#49>CJt8?BfgBIwKoNCV`$ON0PU0J8Ec6o3)UV z(Fllj?<|YzRTi0c+C-GtpjC}MY-qwLB|CrT(F}p#lasTN8I&JPKPF>V`JP$2%~b$( zF!YMEpyp7Lm91^#)cRBF`@ggSCRlJPwD`ekTUk@M-i_}kS@ftuR!dv_`__U4*xoUu zZLJ^>1c!=p(ps*Mk4OLgOsLm;BI9BNSWevDDiR2Yhv?g~c@AY{_cp!F<|z*uzwhxb zCTN5zu9HKSnl{*By^|r8Rm4RF|3jD8%C>N!sI&Nn?crVlSLJTTP6BZZ9UjteTCH@l z{m07w=i#ZpR2-A(Kig0-T>psI6yN=$xo1*7#fZ1mxz}17|0t+y~vZUvFq74xm2(> zbqaCwVkH@#I9c$WSr>A-M?u<2I%j{CbSG)SHZY?e-diq+CGjaj5$a`>mcE6lqVD+M zIRNu5V2fzCUj-8RKtQQ4m#Y>AdMe$==<92uiMD0o*jDXKa|>*C1#M91x8uZ_B9s_eYu8(pm_ zN3kMd_6p?Gl-wivT*`6a;OsHd7){m~Jpmyv51Ma^Wn_jvHq{&^o1f zH=apWH}A}t=koU$JyJa6jpVj#jvjf5-M93l1HxE;4Gy+}A`>BHYs*nuT3S+45?-Zx z?;ase9^{3hZ{)hg$~pmJJTWMg!6zvAz`#Js%}p55-`{`v%9V>}@ngm)aoszi!pZFx zK~;4%P8?ukV*_3S1c+WfoLg;BN3?BbZZ3%rDDufpZ095Is;QCrN+Hs^1#8$Z6N4Nw zI-CPHJp?1F@S-mfo~L~Tim0va?H)8*$?JAuyE(bYX`FMI3k89ygy zXAMKcPJsP|z<+hE8)9^v1#j#a&Z8VI=Q8wex~Sg1J~>(0MwO0Kw^?f3Q?0g@mOcgM z1g4-6eV3)kMU_!h6hqFUs%~P^4OK3n7;H8|$aRGlCxQYwf)x_?X%{t!!2Ah5y`;SS zfsqliwfd{2lDmoX3V_}5|7;rl*D1%P|FAA0`p3E?+W#MtTH)I< ZNsfkNJq0^`E&_fO@2bk>%RGAZKLCf$C0qai literal 0 HcmV?d00001 diff --git a/figures/join-room-stateless.mmd b/figures/join-room-stateless.mmd new file mode 100644 index 0000000..8ab10cf --- /dev/null +++ b/figures/join-room-stateless.mmd @@ -0,0 +1,19 @@ +--- +title: Joining Room with Normal, Stateless Load Balancer +--- +sequenceDiagram + actor Alice + actor John + participant OTT as OTT website + participant L as Load Balancer + participant N as Monolith1 + participant M as Monolith2 + Alice->>+OTT: Hello, I want to join "foo". + OTT->>+L: Take this connection + Note over L: Instantiates "foo" on a node + L->>+N: Alice joins "foo" + John->>+OTT: Hello, I want to join "foo". + OTT->>+L: Take this connection + Note over L: Instantiates "foo" on a node + L->>+M: John joins "foo" + Note over Alice,M: The room "foo" is loaded on two nodes and the system is now in a bad state. \ No newline at end of file diff --git a/figures/join-room-stateless.png b/figures/join-room-stateless.png new file mode 100644 index 0000000000000000000000000000000000000000..2d49cce7e30c863e0d938414af9278b8b44b6654 GIT binary patch literal 29680 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

U$+*Bt&)Q!ShTOqBX-?Zj^4c{=*lB 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 literal 0 HcmV?d00001 diff --git a/figures/monolith-class-current.mmd b/figures/monolith-class-current.mmd new file mode 100644 index 0000000..6554f0d --- /dev/null +++ b/figures/monolith-class-current.mmd @@ -0,0 +1,55 @@ +--- +title: Monolith's Current Internals +--- +classDiagram + class Monolith { + <> + } + + Monolith --> RoomManager + Monolith --> ClientManager + + class Redis { + <> + } + + class RoomManager { + Room[] room + } + + RoomManager "1" --> "0..*" Room + + class Room { + String name + bool isTemporary + RoomUser[] users + ... + } + + class ClientManager { + Client[] connections + Map roomStates + Map roomJoins + } + + RoomManager .. ClientManager: via Redis Pubsub + RoomManager --> Redis + ClientManager --> Redis + + class Client { + String id + WebSocket socket + SessionInfo session + String room + AuthToken token + } + + ClientManager --> Client + + class RoomUser { + String id + AuthToken token + } + + Room "1" --> "0..*" RoomUser + RoomUser "1" <.. "1" Client: represented by diff --git a/figures/monolith-class-current.png b/figures/monolith-class-current.png new file mode 100644 index 0000000000000000000000000000000000000000..2ddf40b738593150a0e33e882524aeee098d6a85 GIT binary patch literal 67826 zcmcG$byQaG`!4t@N+<{tQUcP_NJ}apjWkGu(%oGuAR-|GQUW5~-O}CNrKE%)-Ei*r z`Ih`TcYs48;;77qKJb2hwBK$BZRd0b5*x*TXU|e_!H+HyT`)>I7NnSxL7<^2C6vE zi{G#nAKQco9pTFUXrGV1)kd!Un(g^5CF-w4mZN5v6|aiEOA#I&qlp}C-eHs>MopS{ znnca%x+BQ>$LDB1E^)}LT#H2%ozg#;__3}ZjwpJB7On~Wtg6r~2fy8rj>Vw#R}{kF zr1Zzhp*N)S#}PfG>4pDhCHcp}$HyYs@kG&6JpRX*Ueq|Pzl)5-+g}^-HBA`FR9ISG z_J^N`hK7h=CDs=ev48va?Nzx&^!$Lx<-v%6J{}oaDEwXaE3>=p0;g$zntHyLxw5I3 zm!Rj-R*LWS)o8vpp{c29Jg;qknsj89$Du{M6?Lh_bQyz?$AMx^2p1s^jvuUGI*_DR zgCFshrdPGSvoq*D8a6H=Va(Rq<@xa&BcrG$HSgGuA2D=moKjx51=koeX%raER@qa` zX@os|%Ff9t>nyLNq=ZS#;h(LNiTmJzM6JtTB6b7BSgyv}WbvDWKSS^5YF#ru1c?8t zgj>qAwYDmzN?^Tv|9-@pRMac4_qc$5KG*AXPp8W6?f37GbaZqM#$QNEF750LtR?&Q z>-%1&D+Y9Na&sF`78!c2ga!i%EVh314+vN<7xFq`*R6GFYikS8Dz_NQRG@hG?%llR@ytkwzSr*U zOoin3i3vh_ditZSsZ>i#GqcXOC}?JLHQd}5qu-5tzTQGb-575mGg<3TeADQ6!_Cd@ z*W#k+OojDSkztEx_|j5G`03$u9oU0!VaRC8FUSJ&Lt_0f8!qS(0SfmVgp$4{T`{+%wTe)QGO5`SYjSeiL~_LtoA47y58%V zoQ(bV&yMcpH>q6p{F9X!{a8MGs)oy>gzZ_vMmR4b0T<@BU;^Z$_QpOzaddPH#3cT* zxQ|cDW7XK*9ZbS)QDna)VKGsVuYC+wTw*>#=W)E<7sa5$&cX2-d_vHD@0OI?(oB^- zH3FML*r@X}B@r?46Zbu%)xLxeU{jw6*FTiG}s^zNhSgGWwGJxg1sP{Tm zE>rj@Cnpya5@PhbIiSpTA*ty-+U8dgw|{=H!B1YdqLc92VA6bBBIdCoa^G7v?Em&u zE`cX>qEMgHpb=4^-*AuS!Uo~8HQ5A?s`=CH37A-_LDRbs3K2b5t9e%)5gL0^*yc>T z-_2IDRrlH0*vN&wI$J;D-7p)=A*k~>yooF7xx3hg5QJ+c33)o~%nP-LQw;oc-_KG^ zxv7%*()j%7uSW-6^&0~#tKP%SiQT=u*ISdtThryTgeJCuhpr3W9f4S+Cwo0?nneaT zkX|z}aa=c&BN_J4uswuWHD623)oXvXuP5j}b(PCst>EzR&RL^)CF3$J7WsIt-yIab ztpfw$uwy7VBqTBr1HgXQ+CC9_6z=ZsQnIp!-M;(aGra;i0?eifqL5~#4H@z>qoeqK zlasHIhFn`KfY{#NR?SupfG=}ej6O!F=e>GcS0@AyKM`t%bp2A3zE`Ct@+H(QmEKpU zYeXa@ug%Rr!bkkJ-$nagU&g?ihBh|${Gy|ySs#;fTlh<)HVqEq_{qkwuJ?N*zfIPWN0>(sn|^&S?8al2j1ZgC;dEIB{dz%> zi+?Dns2Is?4JV6twaUzzHpX(}ggh$>tl^uHbn?T0eUG>2PQgZ=dY^H@mPj8}`Q*Wu zN77{p5qoO`3UKTH_VyNsQY9y+r@x5!`XGYAu;AFx-R>vii%2(T5fy5UBaO7aD}m}>Z+C6*O+G|YuNXSKe^0co^ z9?{ctaNs_Y@2{(qbIqLa2ykqFU z{`|?h%W<-B)!=o?(YN7qew_Tp`qu5+O2w~VFte~YpW{I8g}614B(ww}rKZA`;=Opl z9fIM@0!qU&lQ(Zt&nrz03>v`|h`7u?&u<13Frm^s>{(tONKS?j^?PYa44(2cd-NRS z1EWox4H|0BXp7mZCyuMVzv15SA1nGnK3dw?2o4B%@uh;2l2R3XziY2mVG#c9(X)`0 z!NtKboLDJkWoc=dVC4%b_@~DqW7pHH@Q7Cv2{UM4u)1WT8J}29va1*9d@L+vOP7gm zo|=mL%A)<+)bzODnkH}sV$2tRFD-XZkuTa`-2^rAUNym;ektSS;u@XVsr2Rj*z|Q8 z8^`u6%39FpBKG`vhraqTgOZd~&^A^4a+s{cjQs3T!dkD*Tus~A;pXX5xQN@)7O}m( zea+!cPNC&Q!EBB5C&)!54l6Q@>UlxAxlAltWsfupbarOxQ&=HFj};k;tqvp)Kv2!n zZxDw3boFNkleQkiOXlCtQ`G$<4iuF4MiZGathzOWKiwT~qM$tWx!?n{F(5Z?Ljji%2q~pL zmmWXs>eQUmbKH0_IHOA{Dl$y^;!jRbQ-;inii+IUG8ZpS_csg5JXIF69@&#H(BjU} zO)NlA>58C6TU}j6o==;1Mu1MW!w{slcphsRGqcCuX9tE;CB{3LoREIt%E%A}dn9#) zb<}Wu_2%ENrVuiLuWa=vqOQW5e|Ju3^}Kc&a3!k(0|WW^_`DoMWJ=4+X&D(Ab&n}` ze`JC?uP4TM@866#W>8K;NA7^*TE7m|JK(FOkdxZO$P)BuKVj0W^{VDcN7Cukx`aZW zS1i;Mnj15-g?vW>do8nDjbTk2+-pgH{yZDcvMNqv!$HW{Z^#%{M12=z2My4V- zJYvR`okTuUX-jdJkabks#M)XO9%sQbtfRd>@aXT1K4AX-?Cnhi z9H@bzVH3nC2HhI2_V#wG>9UWpv9aL==kogAhXe~=`&dv9b6ZcBQ9_P^EpLE)pPlS5#iQ7Mevx9Z9w>NL|`CbVM3k#P)IU--7 zUF~3u_{yv)3Pqdy)x}dd`X5j?L!ke)widH>IuI0u4i?_l@&Vi4&hA<6n8R}CeTb?d znVF{XqjXX9h8eF-OiZB7h=F9URBkcmTEPT12ki;6D=~yr0hN~W4{?kPxj0csM8Y1m zSR`DHjg1Hj3JQs^haV#%?%%t2&&}OksX(V1|9GU*R^OyIwyAQ#CszP%uUJq}Fc$nU zfyesw-f~xKM~6z0!E;nhqVKgoFLa^!i4|~VMZ5RV01gmpicf$3nB5^@^oQyY*>6B8 zQ*-p-!2@K7c=74MP>L8@US6KrNCp;^F0Y&YF{CBb8Pqagl0o+nR9VTp;B(HRmH)ug z(-XqcwbBBf?7@+}{3g4ji%W(?C<*cc5Hl9Hw_m1+2E3~C;O>cGGlkMi{KX5UEJaFG zZ1TM0L;q1^=>wlLfvOYpA>U`{n1^qOr7f1FG}gPZ)|Rpw-LB=7Ih!FKcNW7jHZlo^pmwptxxXAz~a z&Y{Xe$C%{l`+-R}5Qi#y`P=`pk^aBAd#bZz+wSkrS)y6R&?8=S#$*Ig@jIX0K|wiX zruCO1gvQyofKJIJD^`B~`1O$wzc#d>Sl|>Clqqpq=PJ|6FX*eVo-eb~ z4Cs#T%hs)Z{E1Kjip`gm^%i3~R`Wl<*vxGxrw8A5Tn$N)2=(%?Mr1%2n22-!^J;Gk*Eq3Hm5rgmiw-_xmI%SJ7{3r;JLpVr-s{BbO( z48LN{)?Z>fu7#}(rJ^CWrb<7ClE$DEIjp#zoLzO#R+COv?yyOOC$&tM-<>LHlbvu` zY!&9RxuEqt)-&8&rnQAA3_v)pSg|Ui@yLu|DGd1hZ zaCmKWOeTxi-uge&D>9&38$i2Zx7z#UD|4KTlamwwLwQPZ6Pl3_&Doxq6ilMQsEx5r z150fPT$P;W%KGE^`)I$~Lzz^wen}l}Y$GP8qSM4NJegVY5&w>o#Qsi)t}pmLL_ig~ z2KArG-{}Bws~b?Ng@lB3#uOq@&|VH&PxNndUR<~+*VT|B2-%WWf49`SdAP_aFBQK* zt9IYN^8tI|huIJ=LN4iN6q$fJ9x-uOhI|h@XHVDhLSfVF>_b2E5%r-0U1yuwD$(`f zm99hqipz6eG~scms7sldd3e4SHrR+Yy>pTKRu#Ly z_MS+fLV(lsOtE;85HXrPf-llA7eYLeNG*AUd;fmZTC&D>gQg!45gqeJZa$ht=HpZABtpSo_I|NVRwYGrjK=xuaN?YDC0uv+~{EI8G99gt=r^U0exmN=j^}%U7>nty|aHFCER+9~Lw|*p9^bM$XzC3)|8>x$iLrxypaIIHI!l>3QZDi!HhlNMa+CI&Xz2GB&qdn8i ztY05#+>^1t)4(fy^$UYi^+g78DZ9pmM4p}yWR{C;jY8UTOWxm|5pxHB1+;iW(Feaj zwx1Z)v{TGe34_U8)_T8T2k3!8{BN z44&Ej!x9t{pqb%u-S&bz+)MP<)YAIBr4#-UkC0Z=)Hqu5_}FrS)#38&1-~mfX5;o8 zX;CSY^wmYc{8S|lmF4FM%?Ik~GV&(<2fq_+YwXsCi8B>K|O^%kY(2e7Wc0b*F3jO*pi-7wcI*YbCCD#El0i)_te_{eY+f}t5*>_5X zB>xYQ!ftjkH&EjL^W@x{o#5V6b)G1>>VK~d5=GGuBiVZv0SxG9d>cu`{+)Or`9l$$ zagxwo!|AfZK{GDc=J5N}{0XV^LI#nX}%e54f`O4fgSv>dDeKC&ruFG5vP>3wy`X zH@&gscQokyJFS-8O{T=RXHVUZnEk&$64@BDywP~L8RK?wB0N6sj*jJ>V;3OZ7hf*1 zvj&mR?c`s9=omUB2PbiyF&+Vv&y8mWzi!Nxyy>`iQ!(Y8%9kT3oO=@mzScO)D%StR zD7PRmYW5d~MnG}GWbpe}xYNmszJ!$?(_f3qelpPx94=N0KYsi;IGZV1k<=>73VHvY zI4o@ZU~{c2UDk9#dp}_$WWk#^As5U%w0_GG7*4 z94{n>3(AP1mw#dJp@Ys=9-io+nVJ0`A}~-wwLphj`rNQ(dUq)t(rIYZNGZzdYV~CO zTmq}E4hA+hO5^A#rr+TvAs&&NpG0Uqjj(W%zVBhvjAvLuVX{wr%W~Hx`n{`!vqNpA z47nF!*P8hpB{q&$PN==DZT&EsDF%xqboITrcMfmn!-a?DbmNr%ozut_ zEjMQYOi6TH^I2P#7J-&Q0#bftSx&>xGg#JvAk@;Q=#U^NTm<^`k z9~)b06TyMkK{d(QrXdQqDh#)pp;O(xJfKgcq5`;P)_K3n-3M0blHtF9`dr5A`|8TN zoiOpcUIjaEUO2C{Dd#98+r|pI6W_i&U2MBxQlMA&tj>dFs$_+RR(3kGDw$56ADA0m zz+OATDQM{EHd@$lMUC!~`i6Q3!9>G98LFGDUs{e30 zI;HY+iT}+;M(~?T+oGN&Mm4o-fI{db5zF3Re9BRv)!KegFID58$RYaxVZBf4+b@`r zJX`jwm$G6TE)022#5rG2(#b*4A9sF^UpV^qwmI#HSn)H8zXcY4bplhIzkObJx+jk!8#^X>07#Y#EUOU>^HO|bC zVq;^U9q$YPHUy@mQNv6ren%=6WA_34-UTW_XdwYFGi(XOl8K@5KS9Kqs20acvBZRR zQyVB#ZRAiv?mf^}h^jz=?bNjT3K?8mNmv;7dk+ytoUkdsm)jX;4s* zB0NqBlH?SA3(y`g2rcvT^BEI#*v=|X9$aP-=7X)M(3iJ%nevw!$)a$N)@$W1F`c=wQ z-{+K;ULk22nu&Dp^CJLbWRQP!Se6}OJUn=gDez#SrNS*N+#^w)G+ZL}x0q{PCu`a6 zzhxiQ;0CTlt)`|X;QuH9fredRa9t&&3YCh@R<&{xJhl<{8MS=*jjt(^Ucn3)M}D>R zmw^%_TiwgOgVw01s3p+h$wWPF`u_YqhtrIx(F=(AtpLywJ$0agty8JN-wgyXpcsHg zAV0(arifydL?1)uuIV!KmLD%ZJyuQ&8cq+Y{ONW2WvbK^kA$QfP%8%YyjXbn6nLhHRS~JIm+v2M3@fnHZ{JDLXrMBn<^*Dkc&8Gw{GpRU@OX zxBGyF1++@~v+)x^XFFzQ5@3UdzduI-qU%4lM*fE`FsBw83A9uD`g+XY4X#=-i?{ZeS>>Qp^S<%qEHIa{YkN)zBP7gHg83<5T2=is0W z2l9e|MJoz!tjO!s0hXa^gB$zP9nBQQtf`E=Z*VDISf;Trffr0K2tR^dB?Zb|h$|^z zvY$wWz4+$m=fUK}gJEF+NioC8g?>myP{B=Tuu)zwf|>`+REA*z&9hqN}IXi^Qp#0Kjm~8 zdjRTPT$6=0MZH4uW!%8;+nDEyj+B*?Qvk~+<`TU<09oV@D zG#-)}N9rLUiik@}s#Mt-CW-joqv^djnxppV12zSR>$XlnE&EXwP!5#Yt26hu> zya)vUBc`LH1Gy5CTq-hniwqXX-9RQ0I6kY*3#=MdHOq-Yo*@8-85$a->yBD5>qjJqR1kaHRo8cO-NQ=xL}>`+$F z$BV*pQ}B*DUF$jQf;dDpWFQ9TAs3QBfImyx{adJU&Qw4fPL&kOQ7ukWPX7i3V`!bH z@3^No#7Dr5({1K(qu6Xk^R;frv8P}|A{;H>-PH^NAYmxAw%BovUq|dbrYO7hm)mM)wQp~Q)6SmZS-Q+qVu1>J;HYa{Ds8V@el=Mme+}Pr+SW;c zMr>kcJV_`aTfYIHfNAx+EFmxGQ_>R7LV|+aQs?NVEAn5CFo(xRS7t6qxdJ5@U`@F&#;FW`sIAC+pZo5|9(NI2WV+~UteUy z)mdZ&wE#$R?&$tMxBmd`m)gux&CZhG-QR`8qdwB$t8#U*?+R^mV^7RL93WgkwH0XS z7r#yi+&Eb;_BJYc5Xf7 z!p{C(r#gq>`gX9K>}tL$73||Ng?iS={+fbjl^qpe>`~ue6%QZ)=fh&x z-e$RZbNdThGD|r596jJI69tJK3)lCcrUNSaqwm$}C%^(#O491Kogs3VuAObo)qW)9 zEl?~ncmj3l+tk#%PaU=XW#G|!G3ZqBv9e+j@!AMeQif-#RvvKDYA0MSZJ`n(WaBv=UGyl)$fW@$QYaD9d{Yh#q5eL$oT+OF(Z z+Sfa%Lx42y?oDTU<}30N$7KU>L#sgk)HH=>ENALZMzh6eXHUI%!jmUYj5kK3K`pd* zc4!HR;mz;Tkw-NXAoP2H1R4M}BRB28brUM^;C$=n2ng>$COtv;ULI!7yU0c}O4fT- zASP!tZhd!HiLX%t!4V1q8qt@^rM0#6pV_Gdyr+`^=$xGuj4a!n^Q1w;)_Vis&wpi^ zfC!~#w1Ur{(LAhm0fi9`iDui$n#j=N*0@Lhvwb|D-W}``JaTgS!MNrA@j?s&v^a6w z@8UD$1vagh+CHt-WY18&koouTw@{L>ck5cR01n}CJov+Ax$Ssf=`GC%R3KUj3Jx9? zV0$!5xogorIcbK(ER2kL3mcMBRkIzQH77Xh%vvJy@~(~zX*CM2Lm!a~)f5U~A0E9R zQdh5bww{k-iYedT`KaQ(y85-on2rvk=gWC80Lj!K4nl&+fX1TyS{)a+-MEiLW9!dt z9zTCBd61z%`MYHzVgBKLT2zb0id5)Mggo)l?pghwD*bG94s`bV_0Gg~5|hcBRA1)i zX1zaG^Od$sH0Os$Pr73i>MP@-p*#`?B@^f9 zhsws1%c7HEeP21<$NA-mfSjAN+0xBexh;S3m-l>d(BH*2@P&n@_F9H=`o=ebV}awH zg$%`%*HNsx!qTy!Bx7+A3rH0gGblNCAa_;d^|aE ztL`caj*E}yuwTSQKzY~;2&td{&=+ta#D{y<6XgpHzD%FlOPG`v9cO28B}o3SXw`_v z+-y7!`PCQg%7Vq!ahfgjRcz7?oE-dSYaymVh=agtc zd&>fbldD^M|8TRCPFOe$1MlqLnR7GgA@9P4-`ls8&`K@m7HV-qLRsx6Lop-bws=4i z8W_(lWanrp>g0q^#y^V0kIT%Lq@+5gG~W%QM7-pRWeEI1IdUm*cg2tLa~tGb16v7Uq%MXJgoNi42C)H6j3NFD5*>H z44eG}mV3?n0Wm&Z&!j+PDW}urYFr0KMl#XAeAv9;iyh6VX4)34%Vjw(eLQ{pZpCnF zhaGH3UtvQ5t>6VgqJVE(jq_E_zM^^h|AgEnSS7@9PAFDb85iiBzE71r-oHGa_uB8n zUhaxa2J+*J&aFMx_h`PdK$ik(M2rl?o8v+d)k)!?K=V?tH=)0lrJBvJl376Id({j< z_-$vW9Z**{pQSz-^d7XF|H&zGQIz!Kg~*$Ug2Rj54h-PQN^BAv1f8iqjhHP6t1xk- zhm!K{fo2D^u0Na@rnCU`u*^UmF)@-(m+evq31~CKSA?BI&TSgGHei#<1!@QW9oEIM z&Wu?YZssLm#%nX`o)MZ$vLci|Lah~NfBQ=#25={NVHA z;^Kc;iEyX{a+naLA?vp5G0m1uzpzG#qZq^o4~phdX@#ZyXu zH?;pzX?ERy#CV^Ag3a)&bZeW%6wf&Y6uHFWq-<-sW6%Dp!q{i$;`u%{xCoJh!%zM0 z%vv`ZA@^r?6$}&=%|5Wp@rrP+6m~#^wv52ai~8|e~s$AJ#71lp_F1rLnZ%lr=C=1tzX~%-!EsAJ}syfeA+|S3oMaJgnJJso6F2|p#iq_IKB!DxJzFG z#oHr8@!LgiyZEcUQ;pdw3Jh8Yob6$Mq2$N~VB8f-%vA`3V2>}=F5BDb^0X^sAx!<- z-Bno;4$70vAXaOJ4E^TK8)TpKJa-IP3CsgERoaLl z9&44|YWXl=Fk7Vu^cV$6D5dAIjmeo4+s3#x>a&h86h2?!ARzh%>&_K1F>!@s04u^0 zsQrTAG8+uUqxX3;_`U0umevi$Ty+#EqCe+ca&T|}KYbHq6VJ=fAC-`U{Xlmy=J^Ic zZXri)q10mR*rNwHKn{yhD}JXx*w0i|@nO%R`xDXD%X1Z*Fb07Qr$v-ayD@4Mq)fCo zHGNDJn7B_skgl!%L!5YSfrZ)O@|weQj>B>abodM^*ROwH%H>3+ZjCLm;(L zgHBw}X^RiX@8pE9{w#;Ud4nt6c44T7=l=ad1Pi2pk3#v2r-FjaT^yIm<<|?6?^?5K zcsmzuYPtlH_QAVYl84c1`4`U>^u&j)modHFwoHG8P#(7vy@6FYYyrA6VG)g z=zjOi?63L6%9>ty5eu!aQeb<)ou(vt4;_AG;j$BK86o? zAuAys9(VKUGU}EO*E@?5*(w@OO#97%QhaXqhcoyAOV@H&4@mXTJuAN2BcIxN#B7C3 znE*tr$bka=1|ON2FZpc}9i=7~?A8)rRcoSDYhBrhu)}e!7JT5^^mBU>q20gMr`{Ge zd_Cv1C@*pzmq+bm0mN$&1=-3ve4>od`|*Ry{cwW-LIlu(-I#ug$N*JTRz?FdP9$J8 znl5XN(5l$#?@zQOD3AzJpf=0^Jq!~5VA7SSI07i(_YR?y*Uym;q`9CmZL9Xt^~LA$ ztOy52IRY?kMnf|*DIJ|}!^TDe*H`CkS65fJZr#Fp@F39B8oQUv;eHWLTqwkS7@v@i zHU12uF+<43C!|XX#K_IC9phAb90Fi)RM1lYzmy*MT5Ag zU@LG<7ziIc$hcbs8cG<4d5Ijw0igXqWhuSC6dLlLU%!4A5phv7ztR;+UnBdcP`@Dz z#ufnMe?9-x-Ml{kgpbAd;T`FHpBJk%yy8k|?yjmBAdv!aU3iwA6lA6a^Rx#r_5)Uy z#P>9PCnlczS%DzkdJPt3YX=~R71t&C!% zb>$!wr9oy!JiJIN0u#_YHVq751L6!~%q*46dobP6(%=7beb^r-?lYVsjc^h*Q!PN^ zK0ZF6a`FcZ52?Bbgk1u3mr<2O?SWKQlk(aqHu!i~2Z5@P z6?t7i{s0eT)NMzDK{m&Kzns7AF7(9Eu`%hk3ncQ{ zzk{g@hs9P57$6egnXd!Yx@t|H(|uC1fe5T)f+-g-uZO@S(ae4j|M>~JPACGl+v1Q6 zloV_O5OR+|O)V31lSZer*mXzmXlFqIRPvBDg<(JtxstJw)w9jQsHd(Vi!-_NfLY4g z)%8V1ArR4hsW3mN3Mz1CvaU5$H8`?})@%vdmMs{w+FEEx2HFH^hrpV^cwrY$xXKXG zv!*X5#PxG<%edse;bCplxMI$oDSQ<>98yXF!;I@Xt+Ua z{56H}El4p-AtwUj8~|fdK;N`XO+9U?V8aEOfYj&o=3h<>Lp==W zeX!9eK`4wPy#cK-AfwPPI3gE-;ffkt4VrQQN|1vs03HLVK30FRCkrN`08?)u^aTng z$O#E?e*O9tYRfd)1zy{Eu1g1fcKY)>bdf%@h?EE7j0MNPv;GHaAnrC-Gdu@C|Z^3x@f!fKLf&=12iZ zy=#AZ7({EQPhGZ%K-_NxLuw9`Di0{(Db&@~0r}mF)V~I5ugG~5IFf47&GGyxAcfS` z_ga^GS7DSRicw9b{$D~ECKeVDFFznQg*<%9(c{x3BJf191`*)^RNh&dc{?brN2(o7 z?~w~i!8p<+9jC4CrX&XBry$&8CyWvg1$z!C<8s-O(X!QdYE#RS)DL9 z^a@aMJv}|?aq!Bpa?1%^7$1WHPqXQ=?3)C4QfxqxkDTL!;{ksBL<%Z+P;yv(`6i3p zQ5e}kj-I8#uH@;~s=t#n2F|<_XjZ7u5ulb|gK4X8LZ0gD%8)7|0E++cVI)tJ6Fjsz zMeM^X81R5hlID554SN5_x=AOufG%sEpHBh@gsZu=?5*@X;o$i3pA1c6j$0v80sRcp{Z zssoXH1J@)j3gRfZ+Y+ci^IjFd1KRg9XocWrJAm+xVpT|MM)HLqdPc(Q8!%c4Q(OiR z#DIC47pph@+69xD4`Ie^YikSSNaQXqE*_iv%Uw_pyoSl5wf0a_r;Sl*47~nsm^-Vnq)=_XgE3U(OL4tjCl()oy0mL2O%0-2eZ2zjQS9mT%IE*sOY|lB=a2WS`DXR5VGnRz-V$A zXfNc?@RMI=5Rb$)G>AYfM9%xLXji21cRssR37wyJw0A0d=}du?=7|`06Db$Yo65zH zCV&1ss=vFwRH|6m4-FlZ%qLx!YT2)M)%#FEmT53u*7VbD_agPo0luxq!mxXEl{=Rq z?`dzB^)16YjFdMFitcvTehL<35TzVu-#?vVzg=A+lAejj$FwDnYL4BcincM+t zI#4SPr?F8aw-6)V01oKjI`JCC%(|L4d|nye(Ki zEe8fmYX>W=Z4scPUfF42TUz0cWYXw|h-Ht7xx8=e0U{Nt7@rts&1M)1o`N`7bHJu7 z(acN+1pak|x%OcYDP*?q=mS6IYcPDF=lcd3YOqXvaZU`gwX&{WRN!HcbP$@H$hSrI8t^YDCGSZ7u!y1{w zVKb29YIyW7RcpRk$qJ)pq#&n!K{A6RieZ{?gtilb6rOyFG)9PcxVXk}h{%GC~yyhZ_#CgPlW(VRzKq)>iS&!}C?HH%?Am5DJ>c%F*xL zGjVf^GFl%t_v)VDVN%aKx;~u0^<6UD1Cye_cl|g=trRGp@0Gx>#dk%b{rY1j4?R5* zX9gOQI66$=$^UM@RHB*}ivrjIwC(*cP*AgEXj}Lj`O1F$n z7vTUXZh?2;^Lpjmz4GsOBH;KSFWICiBo?Y61wnTl0h0?vVB`9W61G$c=T!hJM6v^Y zud46(XIp7}%fhVr#m+SXp86`hZa*Y=W25<>*p7Uw9?o4N4<#k>#z6F=;9%M#Tuc0q zw_k9z&cEsKI{KP5S=6pqgu*DQsHD^s$YsvCfZhD(7QU*}!>R$T0&d6c>a}`TDU*Sx zuF0+gvAcNh(XK_Mq;7p8+@WIJpo4IDnP$1XZ1lu+TinZgt;BiL9bUE2)ESZJwoA1e z+0K9^7ti(4&kv#5^SB(nC#0=$G+U*stLrqQG#zF(?Vu8SE&Z6mMo_S3acv?T$WjA? z&*xTKoe?7Dvy)^(LhrpUQEsZIfde8VZ@)(kO;bo-WU9~3 z%#>WH_tpeWPEnyEDmrH=8&aR&~5_0^pQ zN8NT6<$1fSizk9YcU|NaRaK3qN{HRuM%#vlf>5!#_x4sC=YKK?whVO3kU2UM^!BM0 zRg8aEq4#uhI>5Lm9K6xszI6Y7OmVq24Tcfo!Gn8dW@gYi5f6`yxF7t{t6#o{_JNM# zXF);&VMo~CwuwsYj_@677M4(cXXdO|#T$}`AT^Ygv0dxG_n0Yn?|jEoNkxU}z$g7s z8cl>L_e{|H>~mQe7YUCQ%x%IeENY8AkFTZVyd>I!)t+!)mIW^d2g^)O^F;kDRBj^@ zYjHUJO5flrCud=QWOZwzaAEE0lBPc?^zrz!uac1Ykx(cdUB+a`gA=~y-Yrgu!t{_Z z^YrSp_R>#T;FTozKx=ZgI>B;hdb);BpmOog&>U2QAC@}AV8=krYh7PYOiX-oQuQM@ zcVIMIHd{UafsBld)8FYLzli-(@AKQzJWIflW86!UH26i5qsAF=AT2Myx-sVXN-IY; zF(EGQ`Rhfz;bCQjqQ=B${(|h&-&>V06VFmoQ#)4s8aN${=%b>d%q9wW@#y=n|CpS- zO!R4;5wOixfH@{=z^#s&t|-K`wLKnWWyg``E!4|HD@HN-^OV_gqMwr84xfR+*3QAA zX*9bBN_>-u!jzPhI5uikF|kjTwj;u_j^>RM6EUEY#KFg>v1CZULmBIh3Mh%0r6n@w zbjrPl+z6y%OmBfcXp~{H#Q4$r`uaoR3;Kcrz1tZQ`n4`$CnspkdOuNQduGMaBcxh4 zCtff)zOk`k>oVcuET!Xef;VnpgH}%Li!eXG2baa@x2{OS6#;#P0UYPU*I1Kv`TP{Y=sd;b2j%teisE-pNv#Z$Hhl^iwh$FvH} zwDk1v>FFw+LQ#6qQc1sjxe8^d=!+BEprYOr4A3SIgCG%l=+=|nCF7iQD9FHy@#mE! zs;bLh(BRr1Z5j3_VYT)2)HeFK6Td$@+j-a-{_yluNJwS!H{z@xKbq5|Kk+%zMFB!5 zJ^`41@mX;O_hQ-ZP7RrXYZqE+gETn$$33zc{P?p;0OpK3b zh3_;k;b_OGDx6@P&YOX>rbv@VM2}PV z5k@Aw>Id0|jC05kh_W+L!5alKpmku@uD}FgmS)d$C8dboUOA*Fh9&)3S$Vm=%aK7B zt}i}8H2mvvQF2@y79(R0yyL?k;2}6P{XA`6?7Mf-exy4x{2n&CkUvI z_}p$F^#fc^gg|6wTF>Yqz6rYf!N`XF!5^E&#n+%c0Jh4RkB>`2TKXfSn%v+Rx4}RX z*7EZ5zYF)9z*WBxTbjeomZA|A6N^0E_oWmR44Is)1;CHQ+FEFKcG_##`>PQ&BnWst zQcg&86uG~F`Yn)-NxXVR1aLtrw4o(mshgk?*_?_h)b-TqoQhx=ZmLVZEr(t1H{R}`fUX?gCqQpW zoPHA`oFBX~0!TGcP>ve2ti1oTzK+C+t*qdR=;-M9egITKR~b_tqWt!AygmZvVT~pgyf0@{FV0;CpNUq|rfJZ!so3 zpe3aaWr$*(hcguwl@UvNE4;*k3|x49G&>R=u=75=PolN0E#liZW=jTI63W;c?@_T{ zgYwdWo7yuO8e4~}3wJ2Ic9AdV3Aihw^FZR+FEN<3?{a>w>;8QdtrYok1JJ-$OC6oy zKud-H^-28=z`}{pr&w+#zfDQ`O`o4+WMl*aBN)rGws$UHnJjMR)o0TofF`$?M0R;mlP<~}8rPA@* z;Qy4%&dTcC7}M_R?S=ZRQWcfsaeC7h$Rt2;6ax)Wx0Xz?p`~RHv`NM+sjc>~&D-;J zvVa8{vAlQ|2AbX!fMwv7YI#zZc(_T*^%u2&DOP$kme)t#{Wr$mJD%%4eji0?Dl!rh z5!o3bDx*@_o6NF9Qf9*rWtY8GHX*ZQ7a>w+l8}+TviG?@_xJaEoX0tjbI#-ZbKiG& zd_M2-dOcsy=k>g<>lu_s9LywHJJ#wpHcmG;DAW4obi`S?--0GMuL#yzr~(Tj)!u+B z`e$?$>y|AT>=HOkaa+@ouo30oXa=txEl1J|d4T=ZZ>} z*H4t2<2}XPuw)1=4$t$-&d#Q2_J6UsxY?ONx?2M9zcm_>_1RIQt>q7`OKdinh+11! z(VsfT&3#@?O%44);^&WeRs6kl(9HF7U;Z;OA*Z1cj)l4}lF#4^GEp<$%P)7oN=wrk zj)@8RMnp|beGmGLmuZAPf;-F24ajA@T?6Z+{K(DmpX?kQ*SiEOInimM zG`Aoj5xk_X9)?aw>uVo}*z(v|`k0s)H5LdIpBs^zhT8>o|M(`V)oaSmD52y#`Z*?%Fz)xE1PS{-QQo}bafAo6A
g$H!SG7?f?x9Ct*2x;|h=$O2cLCRMRsg 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 literal 0 HcmV?d00001 diff --git a/figures/monolith-class-new.mmd b/figures/monolith-class-new.mmd new file mode 100644 index 0000000..c7e5085 --- /dev/null +++ b/figures/monolith-class-new.mmd @@ -0,0 +1,76 @@ +--- +title: Monoliths's New Internals +--- +classDiagram + class Monolith { + <> + } + + Monolith --> RoomManager + Monolith --> ClientManager + + class Redis { + <> + } + + class RoomManager { + Room[] room + EventEmitter bus + } + + RoomManager "1" --> "0..*" Room + + class Room { + String name + bool isTemporary + RoomUser[] users + ... + } + + class ClientManager { + Client[] connections + Map roomJoins + Option~WebSocket~ balancer + } + + RoomManager <-- ClientManager: via direct function calls + RoomManager --> ClientManager: via event bus + ClientManager --> Redis + + class Client { + <> + String id + String room + AuthToken token + SessionInfo session + ClientJoinStatus joinStatus + EventEmitter bus + } + + ClientManager --> Client + + class RoomUser { + String id + AuthToken token + } + + Room "1" --> "0..*" RoomUser + RoomUser "1" <.. "1" Client: represented by + + class DirectClient { + WebSocket socket + } + + class BalancerClient { + } + + DirectClient --|> Client + BalancerClient --|> Client + note for DirectClient "client that connected\ndirectly to the Monolith" + note for BalancerClient "client that connected\nvia a Balancer" + + class Balancer { + <> + } + + ClientManager --> Balancer: connects to diff --git a/figures/monolith-class-new.png b/figures/monolith-class-new.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba53a1345e80dd22c55ac8cf999cfa337e075ac GIT binary patch literal 84890 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 wg6`9JS+2WBXi21#SfwSA_R; IsMultiMonolith{Has balancers\nconfigured?} +IsMultiMonolith -->|Yes| Cold{Cold start?} +Cold -->|Yes| Merge[Merge all room sets\ninto load_queue] --> PopSet[Pop room\nfrom load_queue] --> +PopSetEmpty{Is set empty?} -->|Yes| End +PopSetEmpty -->|No| PopSet + +Cold --> |No| End + +IsMultiMonolith -->|No| LoadFromKeys[Load all rooms] --> End + diff --git a/figures/monolith-startup.png b/figures/monolith-startup.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4245b93d10d81a5bbeaf37289b4032a443fa1b GIT binary patch literal 45010 zcmaI8by!u=w>7*0=|d^qB_bUXDxowA0-|&u5u}lju0yAYfTSXdsH92=(r`dgLg@~r zltwzfdHmgb-}`*e`@H`s?6c3>Yp za^PiNm;1E;P20$tQl(gy&=)jUo%sC2&id#qr?YPRJa?B&d|glXl)f<{CFvv zWD+sl#b?xhh(rQ`BTsUgz!ohp?*kpWH&XZM{ZL%iwTJXxqaO(*^3HK_wW<}; z1Suw$(~DzA!e~Y9sF={s$#)DSct2gk-A}yoo{#%99yT*t;}oMKH#dz{QB1T-NcsQ& zqUNjHZ!g(Tj4@14>%6ZEUi|(M_lx78i1hlMD_24|DqSZLgoMI8E|HC8es}1+z8d;) zx6!Ntn$Akx&d$O;cTV0I6w_yClPv{NQkX|Eh;oa&O%=+yO3KT#O$N%aii?Z(6q{N; z7Fvw>`I9$WmL}5pJs;26vrNS%UI?O7ls?IrHjOUf7!VdRPQlQl$}FfKhMPBy|bci)(}J}c~_{l zonx?X{CK@xDmgnlT+r}%plyF;JZsNSSXlY1b{eL{55c=ysFz>qa=F&q8CznWMNLN+iciR@SG8idFz70KOW<}Ild|%l&F0+g zp_;#9YKea^FdYPl_sUo}1W~LO)MyYlZ@`ZYBIOWP?hVsiTVWPUtjvg19nf*o}WpZJt^f48ne^RsQyT&zWCkN zeRplOX7r}MzWc^c>%P)S##IYT->z)x!*zAWNQ$hGU!7GglMRAtA~~4A18@9}=(*1H z@}Wv+c_pQwtM&_eKK=(*b6>5@8G}y(iRndiBcz=#q4zeH8O3KVXJ7I<RNcBX{my(-1*ZT9L;fpS>JQwft83faNM!!e={DPkTCFjFt#a}zM zw}V>S;_SS-Q$F9}ztusPb9qPU<9#}h>;vUH5=^jK>ksd9!hdFFX1(=+RA$v~^raSc zeU2==H{zvir{@P*MJ=&2Gi?nBqMo#({4LYV+RpCjqWjM3WTaYtXp+uLt*UfkQ#>k; ziT>i|;-VtmcQ4Xcg8UESJL+Jczj(nb7j%gH>NM(4C#Q>U?N{5t=t&MldQ2g4&H(=Z2&7YbQwJnuz9 zu$w*HQ>0JKVa{RY{2e= zTSdF#UD+2ylX)7tH)Nd;|17gfjJr5GM!_!RJ!hBwNM9t~E;cR=-pM3~1TjA5EUTy> zKzRB1elE%znU3DsH=axtL>>#9vfFm1si%ur!u}@Gf0fwu$yagehYpMF!7c>C>E?*{ zjF&v+zC1op_3~!S-lpBcMAkrU!wuh;H;3=;8y`g73^+9X*FnR9$HIyYbFzW^vd4#; z{Kzwd;(b`&3Ej1V1L5I5{HfQ5hKBC=cGcdGy?-N^n(_LzYh<~KNnh{#=P8LS46R>> zH5wh=;dkf@AKb{53rl2cxY81-tyg43N-JVUyS~0U8JLpu=lF`|wQFDQkJdIAjA%GM z=zMrVeBg2M{@*Ol^O^|>EQYw}4zs7~)p%YsGB%#ZCIm~22hCy?`ORyxElSbO&J?1e zt4>vUy8Kg%#+O!Ixf$q%c1c?z|9}d-TgK~DN-UCEBgzY$K2}#hzyE8= zXX7Uq?8CHWG#myq@4FS+Go|9zb|&qpnV1rnM`fnE6_dC)pVdy3_LrE;uqp;oHyl+` zbU#&}*;6%7?SsqRwfOk>H9S&MgjcTyx=%H_9KsoN zc(lV*WVR=0P?DWgplzC`%f(Q5tMXyzuj+t3xs{1J!qjVoqN1*>mp(AyTA%y&mV}fE zGg86ADY22UqI@fGZhLz>)T9_2bH*A8F|8`WEl}g!S2u@kCO+MR*Ptn}s0-K5GH4#$ z(I1a`%BvkO^$SiGdRSGM($!ZN74CLCbT2eql|0;?RoPlR6EYb*nFxzh8D{WrP|n=9 z(PzOY$+)xKqHYA*)D3pHDLe~uV( zv@@4L;8J*adfFa`lZ_2GC5Hlvn3#BX@7HSVPn(yw@Z0JX0&WUPSjx$eXj-VKoHD6$ zq0rIM36G2n+9g%F8-4J-_8(%z-RN%nzrXMgOY-`f8RPEY^@SGx z&lmpt*MFc>lil!tKOyC(vGID<#TbrYhLoT8&^eiz0&Bb~zVM`Deq|XF*?2@895plqf@eJGfGj_<)=j$ z9Z!p5GllSzNVv+;MW4B$f8MxnU^812%lYEqU50RN?c(voJlMw9QhO`|!}!SC%NdPMSw8CO>ariNsfc;S{pB(?llQG@ zm5ZC3TgST^IB>92O&G$=SbkUNK@mP7nN`O_t_*`g<^&=_GTNy(nJTy^IF8qN74%o! zeBJtxOZil8EdLJN{fSFCa-p6PZEM?hTPo%>4D(=(mm{sm>r)w8M2d=vdF@E%+1YJN>X|32owIIF8&&JRgkCm#Vdx)U}K_J(x1cGWB7HT zbs^_M(=9<#gkM)9re-K~|9_ zJ@h-ss!Wp=K0*a57vFyN@buqHVne)?@HHhDW!$|+Fo}M?6czLsZ5x=t!e26dCMf9) z7#J17fh)L{KW9U8*UI%i4^@3}%Nr1Y9_+I*IY}tSOT{FL^aWC|I0#3D!FM>|J7=W@ zm<|k>MgKLz0vD7S90*qTJ4i9wbK&KDdSYIM6~`3Y=#+Yq-daXS34f&s6G5J#6_hk- zY&qY1KF`7mMyJ!vXzjb5X8+#hA>4F*j^06-C@Z|#C}r69UP0c#zRZx^wQwz%i}xE6 z0!$4o(^)Z*SgVxRu>7Pw^Q1QzEKqHE&!jNgd@V*P#?+>`Rwd}LnWxST=sJoI-64yY zBE9w}Z{RzjKQl%f+hmkt_2M+{H3kYNUo&E~)!+)}3wUZ&*fpZ8_^@)mloW@5jSyio zwXQAw8t@CkbxwB3q48G+Wj9&?lMvaiqARcYGx=^cV(-DMz~R+kp>>d@Ls` znLzI|a*XyK^h(dzudsqOo5|@5j9YwUURQim!J$>rXMV<|KjK4=4dIKd%11#c>0g9s zZK5{a-|bDtF_Gp>PTx7;_ZHpx#JV#W?S0sXoQzAKtjjbl;rw7x&QU~3FGAWAU|mR| z%<@Ny3nguvR9+w#m!O5M?@vZmgo+JqDZs5U(tT;(B~<7i>}Q*;e!yIOk%}CtW_0>O ziPrwuteZuI(O$JF(sV^t+!G(#g2opk^5`Qm?@tGfGdjTsRH%xwKRLJ`7YP_0HXE(Z zptUdB6n=}79(wyqY$z=n&g?c7vA(&E3C$R_@i^=LpHWIlN_O79EK75Nj1C@HD^qrCrYEC=yLFi`Ia(WGbSSqe6DCG$qbfS?Ve0(I zFv7O+6%pvdms~tUXBnMH(M7_H%EH3liDX2k&5VxZZMxUbV1&)%D+p~0Uuv^B1ugIk z!xyXzg)uq#_zC_JLpPg^OsOMB-iZx;ho49yMNj^iht|D@LsOP!r2>+$gLf`~FT0vMg#(M4xt1s%Rn zVuUT?D^7{`Z7HBCWzUDRhoCxHl^`s~-hN9z)f%JhvnN4BNM7^o-j9KW-h2+g+KAO) z$+w{jM@frM(cw8c@(%rPlJE$^tnBPga+eFNAk%_mnkYdH1Id=n+LSm1MI_{{p{VuW zrHJYWtMnI`DF9U_9UrMb_gs88>>_$;|6-a@MgpY8YD!9Sv2>ePc2G= z$%^;#NI2Z@=IMz&Ic5kEF|QBP;%mvdEJMRMM4(^rwJnTLvAOdts{SO1PsHMo{H=j- zV@uQyXL{%KtUf935qC6815Qo|?ofJ{uF6ro)0Pk^DLUIaly~FC4eV%@>$}60w6x4c zcNUqF#$0(*ar+(_qjz@%i6~hkdU`5wi7GPn{iTP|hXp&&#SJ=op`mE^*@Ef)zk+bv zw!dZY&Wf;`w@5gXBs~th$a>m~N;{k2AsQOd?ct=#dW8?k?{-^+Ui2_%{`{G#sfi~! zGc$8}`|j5#(d|hboU%Uj^de*7Y6&J&Q5@LW-uwduiBJlKbh{iVf$;Fdu%4d$we9Vu zuNh5{tP>!t3Wt~JMY2hQPfDI#^k8!6E5v+GX=oa+t-_^5?2Uhh^`{_BilcW{YY1v7 z_xjE3H2ltFhncD2Zf9@p4)xXwTlDU36$vFfDaX@mPh?!B3Un+j?}1%3W~Wd zb3(&G?y{-}2;#ZaM;;m~zXmY=vA|!wwB-a?F#`hwZeGIp$imo11{m2G9Pc7;@qZFs zHZ~T|G-zaSneNlT?TaHH7EdAkrj>FQ_3>AIcF*|ur?(6gzg=H^6$DMC zuMExr$Mhezs-frGO~}hH*!P@5+)j?!3i}-{IFFdfv;#5XvoV4<*Zv9`6lE^Xzq1uw@{ZxBCHoX~L?&qPwY??kLGnZD z(yYaAS=CNe=TbhGxs0DStMem;%=}re{lkaUN!8VZHSLfj*^d0Ra<#ltr48d)?Y~2x zDdm`QuQp$ekf39T&GY0qM`*{e#Eb%xbZi`h-ifa$o#)BQ^fakVmCch&UZ|1EvMOr}EvLU|Ug*yf%;DAhd*x1VM8J#xUjpCl1S1vAn{FpXd&i9mM z&_!wr7U}+Rc8(LG`+E%y<6j=HH&wg;z|l1@kLcd#PsP2Kj1D(CGg+&09>3_?^02YN z2b5b>T#TcvAYl&J{Kh*TG!-5F>Y~eUY=WTAvE1odthRCl*=^7F4S@%0t2+*^s|Y0K z;o-YZtA?+gV3kFbm>)EDml~%XkTZC9x~nlT7@`=d!yz=gtxh->nb$H-1}oyT$go4u z&Y6&$Bf>aO?BeBXWS|T2IE95NU~Jvo&llASOGvQFxE$u2>RAALDdTEE_;4N1G=aH- zhPsChQntX=%2LaQ>_y0aOK?*!k%2mY{yapo7vxe1j*4w;5F9?arm2aCj2}B7yR%7U zTD2Zq>%Ho>?thosw5lS)j8I#e*1TC~kM)Q`Fe8#Bn1I-h_i5zaPjdmpSux0 zT{T&WBZ6RPRDlzzn{ci59(RMx*=f9nsLFM+5tsS{UFUf)KU%dKsvNa#)1H{%v;BwE zW#Ut;W=fct??xeO6%)-mZOXZ%=B}KqwXH=oj%^yPEXL&L>lY}R#YZ$r>x@xwOU$u4 z6hn610>QfHl@0>bX>UU?wUhI*m~}HXisP8hpkyotsG!6B-$}Tm8#Z2{MIF804*R27 zY5kjzdaG7-$3FSeISvTHai|&n!$?vsli?y_J z%<>%!1zs?c>S;*-TZWmcNhQ74H>Kj4&V+f)->_bvF*YijdZop&|LcWb{v2%2=17Xp zvb*27X+5_Ku$?%u4!asA0x?x{~+cGM+RSQ1J5Jl)5?XKCZ}g^y8A5a6OE$WWTG_| z67%mCeh#m`-Wnh_z-<*P`ic5ic#|~M7=_JTuHtPTrxuUM%v0^=+|4szM!uRKNK*D^ z(jKo7#KeE?(hDW?BA*$%I?Jx0F^n$yW|n_L)os&LC|A+%#8)ypet9F=-l$WmaJcAU zPrecF3K2~VTY~~dCr63@rocg|v}x?mpLeu!F43op97SLgOrIN-pB{ptt#pwW+Oi)W zfgip9425WCQQ~*VT6O^SQsz2I2~qkqP};pOG_RjJ&k9?BFt{XaMQ0#rWP=Vl507eb zO!Ugw#~5Jir+;-a!nWt#@)-u0OMn*UMtNf|sv*y=V)!6C<~OUhPh?;alfkh;jiKX= z7dI|naLsk+s|O%)<>gK5(Mqq~{ogc1@<*?^02a4=3bN}Vu3#}6bK0?f+rMAPL14p?tP##8M-e5wn4X7E-rC$paw z-ZtW2T-k1pP@GOuq(m?DtUpl*!~@LBr^QHCVUhqWa6F3)2{6f4*!T#eGAkaO@UvRa zQnHh3T=QTxic4AId9C{_9*X(GrB0OMp%^ zUHV(E+D-4zcfmQB1_@>UN;6nO5bTSY)Wa zzV#ds5@-u*T3^W_){b9PU}ejBmo0FCdxojRvLQ?%FcR2K2OL(y#*;Q}&L@BL6NU2t z&IhF`mq5KbKjG>c`X?S(D`O!TWxRkbJ*IJIV0qWJMWXz7T&@-y@CXQS|2QCCn~)?eF|R!Z z(XI_}o&DHuuy1B>52TZARE(-!W(uBK8XdAP?Qa-rYidMyZ-4m(V9w`gKXqmP-;+Na z1f2Ny(;*pM#l@m8Z)Pl_9)JSmbFfWeQt>8b(H+DxU4ddR!>01`&jE=`*+KFmmI_H; zztcE*@31=z99|gQWFk;@2D*tS^cVoAcY-lp0!E9ryi}lmgPK=TfChUcWw{ z;gXaTOl~)yO||O3V>UQkUiBa(B}Ec+CqM;GPPb|_8V=Y!YBs(Wn-1#ct2swzZehnc zPjhXF&`?q7@TY#!GSrTV^G|4O%-x-T8ixzTfB_=b)`CURsQ_OGv2V& z2FL67y}8ZN7UvK0+^RcZ8adw$5>Vr=0HmLPS|!gPumPo$k$VUpvcqwR+3{K@N& z_a~Lfj}9}ZfgzUl^HgM)tB#`+oSXNNod7Ye%yV(fX;t!Uq=_7(V+@VN5QaEO?MFc| zfLG6Ww#y_jF{C7<8N`<_Uj{U%m9;Ghds#`1o|*H%y#TtpmMG>vIvN@s@xXnh>RJYw zArzdIAqfd&JnGxn5BFw!O3V#ug-uY`Y_TGzO-)Tt5e6o~3dBX)Ct}tlm%I;8!(xSZ z>2|M$Xrg$yCP>C05*u?S%DOS6OV-VbK`kLO+@xX&52@d^;anOxLV3(-sltO>+Z$95 zw&mZAufTEcKKGRrQ@8rbs<16$o+z3Bx_r6@u+NaVNGubt_P-TomO19|+x{aub!QH! z6^@`re!aQ1ynJeGJX6Tlmggy=#L&7r0!r4Q1P0OPkU%Oe^nS(u;_2mI_@Wy}VK{Kw z?w;Tu_^8ZnTFdO?hRn^IH$hrsz{z6)fxiQGKhs}fS#n4K_QbkKIOHW^*1LAyI2J{# z56B1=TRyw3d{>4LfwFKAFeCOd)v_)*zMrj3IU`M&fkFB1LXC00$LO$VRV0kUIA3IR zxCf0;V}t|K867^ukF>zAq#vJI(g7w$zc;67u;2(!Uu@qt#W>xi;& zV7wF_WH0e~l_+45#D->CbWJI-nG)7zZJ4}DArKLptg;j%M>fPj?;;uv5bsNiDKB6Z zADWBGt2B$3s$;-7D=<2AVvT+fiw`xU3uDUp>cobcKYBjN=G+Q zIyXuRw5#jOM0D-T?@Jk-&h$iP8giWr0S0W1<5ql=v_xd)M4OR*uGkQ^MOWV&XeUXc z(KSYgFQjPgy=E&GN@eZU79;(7@u9tT-5*gv@l&I`C&c?+P+>DskxgB7*Q4^SowK5S z9o4wGxs?{&JK}+K)J0Vue-K z+G;IUcBwz2VkjvocmEDr!ZBqHf;ky1P0W=uk3QNIeJ*7D6Ksz1U!TZV0HGF^gc6P; zzwG^|apPB~wj5W6B(RK$Oa+55LDpKD}ZdnWJua6@uhI_@}2@HDZcOc$k(b!(`~fU znE)Bn85628=Pp217%Y!ec%AcyjGh+2B>LST-!ycr5H>jwL4-(8g`=U~atl3op9$L~ zPvGdr^9?37p~sAMGM`GgoGkbotwZKRv=hsLf6*ZeEj^Ln^ZV_^eZ`!5w6sABqS!z zH~V-WH#T7yOayxr3iOJU(NDgT$TPd{TwlNX^I^gRx&%z>(O+{eGnAB+$oi~t8WfwH z-O{*kxL{dlG0zWv8o_R^)9&2Gi+P49RnC-Eqg&i;NnkGZd*N_mYSf4ML9ozGK$ z9spbR#fPZh6^?_Hz^3huq=|Mxx~e3c+}#jh!eT7aOD$P$q+uU{n zj>Cl8bR83zB#9;_CV-9-DbUK`-jaQ+4&9F5zE!w9S|zhvIZD~#U-pvK0fB7hiM+ow zD=RDHRSK|^loyiusbK5J`0uQM{LkWc|GrY4-{1HRW?$0n2<7jT6=}7#m-%#ZQOFZ< zG?B|>z3`gKV^e5d#oiu#3(ljJ(59MyP9;I?^u**o;X!jAgPS1Nk*=eZeGg8_Q*m$* z2n!1X)tLoG#|(6kg-0nVUW4R+`d+8>T9#^`P!S)@yzUnH!m+br?eNXo_sxu<9K*0O8;)n8b5qh<>tra4-v>s|Ezf@!iPg-;&(| zAb?tdBr`fGNj+8I_SDLX2sBUL)YJs}LhIh@@D2_TT;!3KpOg zK5Z*UN8F33pW)LA$;n~s%DEg>Rwf22Egbn)BX1vmxc5U1o~4+blLG<-C(;N*4Pluu zHyXz1iQ{0&^!jYO8!U*@($bz;T?MZ{Lo~3vq7xIb?`%86+1qE}d152zw*>h3pmCqd zjoi2{lKz`=8suiST!lb^HI=l4ay|?Y(k*cOA$QDb;$Gz0w8h%@zoCO944BMYdF|!) zpaZsA1|LPpxK1>-x3}Lh#Blw9RI_@e1=|uuMJ}J%2BCzLl3k93bGA(M5xt$A9g1C! z@e0I zicYkQfP)H-tjdkw-^JHa!fs7cvCMbnz);agfvTvft=$%L<{Sc(c@_lu@Pq`4M0WYu zEE!ia`9xLgqVtxx@ERU|YIlFXxvfnV@KJ}Exw+S?I`a?q$&EjZ=;67)K<`4T$y*i8U zoAKtmpSHt-j9^#a0EA3;<_tk_a4@*g#77U(MJ*F4*)DNPOAoZBBpdygJ>gVi;9x)rBtl=EJAQyeLd-r)gJSda7u;YVx46}P|X1}rT6Lvn zS1KGH9Ra)P{o>Ut;JD^-fgiTD?wecZAD`DJfhk`cEdNfK-6*fS)U;U`7;#Anwcm_ z&|o2~1AHGE9nFW0TJ~v$NRRpcS}xAhVb(kX72QfBR6s-=MtEm;rJLBFEDtU z*K1$qG%Nv&;P-KF?%?jP&U6rOK`i7`*!y_~^kYz7QH|g|ao^jpy*fcm`U;{1vU@eZ zoF9bauj$ubhNY&`U3#z*Pej3d=VJpXJxGXB1ljcO(gy6HWpKj5&MNw7|L>Cv_fF#m z>e&@M{UmMtdlR271|9F&;c^A&-zVybP%s-^yva|yyO5tm4J(+6ifUXDCM>+JPX3kv z9i%jC(A;9~X0JL&p3YMR7}XgD2cdYSydE}em2D?|=&NK9=O^Bp*Ls6#QVbvnkQi=b zHD2UgTwEliq<9b42{SIW(l9@ z1bhb~2X3(#6dB>EtE=C7Yd}%wze9xFDz#t>4Go3Ef!LtLj1+vZkQ?#H$}$S1UYlC{ z+y`+*uOTS#aJ`)a7eQd_oZHfP)bxJEm|r>DYgHNWY<2et{_=P&0~{x~u=)?!sY}3f zqfu}4^3`Bx;P%V+@884OahF?_&eO)4trh_P)A~8(oVBCl+d)g$)N8gD?L0K^tE$ui zS-1g!JA@pprbX#|FvI~{G@5{gCCf~Hex$+?NX<)2eXlWT!lumkBp!tUR+@zcj~gkp zGv^qElAr(X8dpfXtK8{29WX$GxYTCOMFb#ZqPe97Pi$bz8eD_BKT~w585p7(PL53% z+<8MG-MuGz6L&PO@$wP@s>K7zIlyR2^9Amsw$@f~@SWxBjk@5_M`B=LAnUn6-Q8*j zm~>IQ_TAjedJPT`*4O_2#U1iMF2Vu(9B}2t2SG<{=GNcES5NT~5wmK}HQpJxYyoFa z^23L?)peCGg;bt0CVV?q`S79m38Ulp>v!((A|-FmKL`j2uyS@zAZHL+`*L*;`fu^! z;O*Wt_peA;r*8~P6X6ILs}F?ktH2>w2bm@jGBq^?&)}8re{-7v$yN-un9>AWHD4Wo z96SUhI>OxWRy7vKppGZtnpr%1@gfs)KTv_@IcT-u1qDOz=9p^^6?~-1;#g92z6w0a zAUMV2p7hZ}9i9|tH=gf=%S%T`;k1m0WLwc9lQmsG)X zFb1uuQnuIqMI17;(qo4eoxm;R zq5BQbFJNnWC*}Re2v|Ky^h0^Q|4vC`N;LRxR_PcSNsyX;DZ~E9h7gvC z8ja@Z;PS8EzvJHAeyb#sPS7D+QUm9L*=_w2_orURu+pyPt0#eF^Afm5fN1D_Z>Iwp z63tD4RDR=kynPN*xr)KKmC^#N3-ADxzrLhmDw-*Q6^_Iq9-d^4dk-Skl(A#zB2CeR zPNIDOqqc>C;;f$hhtccN4?oR*yt;rHxZxk(U6UH7eAUq@qv^~=y@_>Y?5Ei;nG=r7 zAJlPPD>B-5ky=Ea%*zRclWU3>zGOW*dmSIimGk9>#^ZTzt^o>k70CTxL8kux9>mw-W(Sj#(dA_tW)fNl;SBJQ1>ZxnF)*Bi(F0pV zwsapQexylU6Q8hi5f~!Q{^#4XjB56rw3vSGTNSBle8G+DOPxGj&hzIr7sORC<@8L~aYHZc3~9=} zd-pyep}CBXG{%?v?<*CbO~K1ya?*TPUXF*9l>BWqifbKtoz(Lz&Njj%sws^Z4i+T7 zq8{$=i5MBi$MyMoqPJ~McD4|_N25{J#mIfIBWO;4x%7b1Q4*_bhiOVfy_A^U@w#>` z7G8<~?OedPv}09v_9}}bJH>Mj>iwv4dJ<)46;vg^n~cVa*Z{s&p>{}Ia%3-larl!R*oNU zZnNP$76!$ae)_v8Uv}q4{T>j;d4^~Oe#SCOEltIV5PuAA6=gbpGloGX2qr$LwnX?peqI z(gnC%@^8PTWR$p5w6g8@S3!9eD=hB0z<{gLQcEC{?)d#{5Tr*Mj*|h-(Hj4qy9G}N zi%rA8l6BXwbYemQh+a9#8H3~Ai{CHeDiZ*W62AP-48d9bVR-k518<#K{jWUaS=nFf$L>=@&q5~G#?n4_D5&myZ`z!31&I< zavS!Ai8_v@L01$4fSeDXz~Ac2ZX18L>M4(hbH! z$Ye{h#&eI1oZhJw+(2$e`*cFa5-hjh^fk&%YT+YAW*^U32Fv3kFoG&L_eWFHdmz2} z04{;JBgPK(fW&L7=OtuZ%n~Q+qMo@<<{5pwe-4>~x&`Z%vD<*u;b5cs^httv>uInE zf@J4xR(0>2kDXPTi!JYps!)?#;sJ#`mbTZmt=g{J0JlV;i#Q99ZKpvaD4QhUx&e>V zUEjmu_raW8T0PylX>ADDOJ+V-QC&DClaNwDk6pfElF-rF9QMu@_gK>JXglZrKJTx{&`T~JXmDR00m{C&@iaU2m&MP z=EnbUSqOyKR`9i~fyoURi~iq({4$JAKc*CZk69OOa!zY!_Ud>DfDd1=o9ZJ};K0g% zcG-mv=Yh$)IXrWGG-}L#vd|kyD`Z5X8e6^S^49F*zQ1L@!);66v#-VPe!YS-3xIat zJYMIMMz>nKYCT?ac44%N;F6aE6dkefz#D@{PEx)E3NZcZbdcTOrTUCgZ$u9dGjU!3 zKSj~14^1}$I#W=|zR)c>p8!ET+kl(|Kh}!3jx=)q+eW4Be0+Qh29+nac6L#%t>I1_ zuILoso!E+siWMRI;q{FTY>}}bl=TsTNN@!lejtHyin$3vIi9U=z|EVd)sj}I&YiQv zscNAn7x#L9cAl1fAVyDtPsVao zA(ZUx-jrGqRQ;|CBXOH;O+bJqsgz}IA?nYq5;Hai(c_51!f2;eMUS~tH=Zg`a`Jc& zt6t>dQW&Kk87h1yrywrAj(PP)NFPfKZnKs&Ve2QC{xSgTXSLKQA!1eXGRQUi5w*>zF#GZe4RdcKIN}t#{m?^M+(`BJ)piQ|P@5SDcD)C{rnL>|h zf?0S-*tC)u5wegI>~x)5TYL3H@|+68ZwcEkvjfGB8SFb#P3Ax)LlNek;YwH{pg*TB z$}Yz-yk8kTE(OwW3L*j`p}<(AmoE+VP_xr5e|DA&Uc5j$c3Hv(ID*4}{T^$({pMEt zNQJ-Nvk)|NDCu8^m=h9Pt~37iioTC2?;=JM)!xw*#RYGueY4qJD_t9P9R=E34~%lB zl%s<17}B|G@rmlU29mXrsp-6IH*6xS?=SRlg>g^{It{N!LO%L-bg8bnyF`&or|CgEU+xinH zusq)X$eJ$tv>j}^65|gbj%YnqXtHYeuv2GPvPMZ|F!;K;mH7s|ReJI1?WL)Wb)y$A z@oz+UB$`{`N~v(s<>;WwZK1~^Th^VVx3|0Zldma?McRTv1D4sXLS4Ejs*^;Vt!t

-Hnq|V*t^_o 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

N@u(?5Y&AXOoT*SMG>aES>u-erq@8-c@xm_ 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 Bm%#u4 literal 0 HcmV?d00001 diff --git a/figures/use-case-maint.puml b/figures/use-case-maint.puml new file mode 100644 index 0000000..72a86bb --- /dev/null +++ b/figures/use-case-maint.puml @@ -0,0 +1,14 @@ +@startuml +left to right direction +actor "Maintainer" as maint +rectangle OTT { + usecase "Deploy to Heroku" as UC1 + usecase "Access Diagnostics" as UC2 + usecase "View Open Connections" as UC2.1 + usecase "View Stack Traces" as UC2.2 +} +maint --> UC1 +maint --> UC2 +UC2 --> UC2.1 #line.dashed : includes +UC2 --> UC2.2 #line.dashed : includes +@enduml \ No newline at end of file diff --git a/figures/use-case-self-host.png b/figures/use-case-self-host.png new file mode 100644 index 0000000000000000000000000000000000000000..ab94795aaea5d3fdff3634199f7179530be6f83b GIT binary patch literal 8646 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 literal 0 HcmV?d00001 diff --git a/figures/use-case-self-host.puml b/figures/use-case-self-host.puml new file mode 100644 index 0000000..ed25607 --- /dev/null +++ b/figures/use-case-self-host.puml @@ -0,0 +1,10 @@ +@startuml +left to right direction +actor "User" as user +rectangle OTT { + usecase "Deploy Self-Hosted Instance" as UC1 + usecase "Utilize Docker" as UC1.1 +} +user --> UC1 +UC1 --> UC1.1 #line.dashed : includes +@enduml \ No newline at end of file diff --git a/join-process.typ b/join-process.typ new file mode 100644 index 0000000..90fce4b --- /dev/null +++ b/join-process.typ @@ -0,0 +1,86 @@ += Join Process + +There are 2 types of nodes in this architecture. The first type is the OTT Monolith \index{monolith}, which refers to the current node.js monolithic server. The second type is the Smart Load Balancer \index{load balancer}, which needs to know which monoliths control which rooms, and how to route requests to the correct monolith. + +For the sake of simplicity, the initial implementation of the Balancer will be a single node. This can be upgraded to a cluster of load balancers in the future. + +== Joining a Loaded Room + +In the Monolith, "loading" a room is literally creating an instance of a room in memory. + +Shown in @Figure::join-room-happy-path, the client is joining a room that is already loaded on a Monolith node. First, the client initiates a websocket connection to the Balancer, in the form of a HTTP request with the GET method, and headers to indicate that a protocol upgrade is required. The client immediately sends an "auth" message to convey their identity to the Balancer. The Balancer looks at the path of the request and extracts the room name, and references it's internal hashmap to find the monolith that is hosting the room. The Balancer then opens a websocket connection using the auth token provided by the client. + +If the client fails to provide an auth token, the Balancer must terminate the connection as "timed out". + +#figure( + image("figures/join-room-happy-path.png"), + caption: "Joining an already loaded room, the most simple scenario." +) + +=== Monolith Gossip Protocol + +Balancers must be able to determine which Monolith nodes are hosting which rooms. + +Monolith nodes must gossip \cite{wikigossip} to Balancer nodes to inform them of the rooms that they have loaded. This also implies that they must notify all Balancers of their existance on startup. The Balancer must maintain a hashmap of room names to Monolith nodes. + +They must also maintain a hashmap of monolith nodes to a list of rooms that they are hosting to verify that only one monolith is hosting a room at a time. When the gossip is received, the Balancer must check to see if In the event that a Balancer finds that more than one Monolith is hosting a room, it must randomly select one of the Monoliths to be the authoritative node for that room, and inform the other Monoliths that they must unload the room. This method will not work as effectively if there is more than one Balancer, but it is a simple solution for the initial implementation. + +Monoliths must gossip: + +- on startup +- when a room is loaded +- when a room is unloaded +- at a maximum interval of 20 seconds (eg. if 20 seconds pass without a room being loaded or unloaded, the Monolith must gossip) + + +The gossip message must contain: (see @Figure::gossip-class-diag) + +- a list of rooms that the Monolith is hosting +- the load of the Monolith + + +The Monoliths will know where to send the gossip messages by reading a configuration file. This file will contain a list of Balancer nodes, and the Monolith will send the gossip messages to each of them. + +#figure( + image("figures/gossip-class-diag.png"), + caption: "Gossip class diagram." +) + +== Creating or Loading Rooms + +The client will have three options: generating a temporary room with a uuid, creating a temporary room with inputs, and creating a permanent room that can be rejoined in the future. + +The options follow similar sequence paths, as shown in @Figure::create-room-diag. The client starts a new Balancer connection through the websocket, then the Balancer is responsible for deciding which node is best fit to handle the additional room. Once the right one is picked, the room is instantiated on that Monolith and the client connects. + +Room generation requires no inputs from the client, instead a new uuid is automatically used as the room name. On the other hand, room creation has the client submit a set of inputs for the name and settings of the room. Generation only provides temporary rooms that are discarded after the room is unloaded. Creation can provide either temporary or permanent rooms, depending on the client inputs during the initial process. The settings for permanent rooms are stored in postgres even after being unloaded so that they persist and can be called upon to be reloaded at any point in the future. + +#figure( + image("figures/create-room-diag.png"), + caption: "Creating or generating a new room." +) + +=== Lifetime of a Room + +Rooms are only kept loaded in memory if there are clients that are connected to them. If a room is loaded and there are no clients connected, it will be unloaded after a certain amount of time. + +#figure( + image("figures/room-keepalive-timing.png"), + caption: "A timing diagram describing the lifetime of a loaded Room in a Monolith's memory." +) + +=== Monolith Node Selection + +The Balancer must be able to select the Monolith that is most appropriate to handle the join. Specifically, + +- If the requested room is already loaded, the Balancer must select the Monolith that is hosting the room. +- Otherwise, the Balancer must select the Monolith with the lowest number of loaded rooms. The Monolith will load the room on demand, if it exists in the database. + +== Joining an Unloaded Room +When a user tries to join a permanent room in OpenTogetherTube, the request is first received by the Balancer\index{balancer}. +The Balancer forwards the request to one of the available Monoliths \index{monolith} based on the current load balancing algorithm (See @Section::MonolithNodeSelection). +This process is shown in @Figure::unloaded-room. + +#figure( + image("figures/unloaded-room.png"), + caption: "Sequence diagram for a client joining an unloaded room." +) diff --git a/main.typ b/main.typ index c27c9fd..b1555c1 100644 --- a/main.typ +++ b/main.typ @@ -8,5 +8,15 @@ #pagebreak() #include "introduction.typ" +#include "motivation.typ" #include "weekly-reports.typ" -#include "harness-requirements.typ" +#include "user-interviews.typ" +#include "use-cases.typ" +#include "constraints-justification.typ" +#include "solution-overview.typ" +#include "join-process.typ" +#include "protocol.typ" +#include "api-proxy.typ" +#include "room-states.typ" +#include "elicitation-validation.typ" +#include "harness-requirements.typ" \ No newline at end of file diff --git a/motivation.typ b/motivation.typ new file mode 100644 index 0000000..0bb5a20 --- /dev/null +++ b/motivation.typ @@ -0,0 +1,27 @@ += Project Introduction & Motivation + +OpenTogetherTube is a website that allows users to watch videos together. It is a free and open source alternative to services like Watch2Gether and Kosmi. It is currently deployed at #link("https://opentogethertube.com")[opentogethertube.com]. The website is built using a monolithic architecture in Node.js. While this was a huge boon initially for developing new features quickly, it's starting to show it's cracks. + +#figure( + image("figures/deployment-current.png", width: 80%), + caption: "High level overview of the current, typical OTT production deployment" +) + +#figure( + image("figures/components-monolith.png", width: 80%), + caption: "High level overview OTT's internal components" +) + +This architecture has a few drawbacks: + +- It is impossible to scale the application horizontally. This means that the application can only be scaled vertically, which is more expensive, and has limits. +- Node.js is asynchronous, but single threaded, which significantly limits the amount of vertical scaling that can be done. +- OTT's userbase is growing (although slowly), and the current architecture will not be able to handle the load in the future. +- OTT is very brittle in some areas. It is very easy to break the application by making a small change, and frequent downtime, even if brief, pushes users away. Being able to minimize the impact of a Monolith crash is extremely valuable. +- Because only one instance of the Monolith is running at a time, it is impossible to do multi-region deployments, which harms responsiveness for users in other regions. + +In order to address these issues, we propose an additional, optional service that can be placed in front of the OTT Monolith and act as a load balancer. This load balancer will be able to distribute load across multiple instances of the OTT Monolith, and will enable future work to be done to make OTT more robust and scalable. + +There currently is no off the shelf load balancer that would be appropriate for OTT's use case, for reasons that will be discussed in the following chapters. This project aims to create a load balancer that is specifically designed for OTT's use case, but ultimately could be generalized to other applications. + +Additionally, this project will enable lots of future work to be done to make OTT more robust and scalable. This includes things like blue-green deployments. diff --git a/protocol.typ b/protocol.typ new file mode 100644 index 0000000..7ebcbd0 --- /dev/null +++ b/protocol.typ @@ -0,0 +1,91 @@ += Protocol + +== Messaging Protocol + +The Balancer must maintain a maximum of one websocket connection to each Monolith node. This implies that the Balancer must be able to convey the user identity of messages sent to the Monolith. + +The client communicates over the websocket with messages in JSON format, so the Balancer should do the same. The Balancer will send messages to the Monolith in the following format: + +```json +{ + "token": string // the client's auth token + "room": string // the room the client is in + "id": string // a unique identifier for the connection + "message": // literal JSON object received from the client +} +``` + +This will allow the server to relay the message without having to do a serialization round trip. The Monolith can send messages to individual clients by sending the message to the Balancer in the following format: + +```json +{ + "room": string // the room the client is in + "id": string // a unique identifier for the connection + "message": // the literal JSON object to send to the client. +} +``` + +For broadcast messages, the Monolith can omit the `id` field. + +```json +{ + "room": string // the room to broadcast to + "message": // literal JSON object to send to all clients +} +``` + + + +=== Messages sent during Join and Leave + +When a client opens a websocket connection, the client must immediately send an "auth" message. This is because the browser's websocket API does not allow for the client to send headers with the initial connection request. + +```json +{ + "action": "auth", + "token": string // the client's auth token +} +``` + +Once the the Balancer, receives this message, it must send a message to the Monolith to update the room's state. + +```json +{ + "token": string // the client's auth token + "room": string // the room the client is joining + "message": { + "action": "req", + "request": { + type: RoomRequestType.JoinRequest; + } + } +} +``` + +#figure( + image("figures/client-connection-state.png"), + caption: "State diagram for Websocket connections from clients to the Balancer." +) + +Similarly, when a client disconnects, the Balancer must send a message to the Monolith to update the room's state. + +```json +{ + "token": string // the client's auth token + "room": string // the room the client is leaving + "message": { + "action": "req", + "request": { + type: RoomRequestType.LeaveRequest; + } + } +} +``` + +These messages conform to the the protocol defined by the types in the #link("https://github.com/dyc3/opentogethertube/blob/master/common/models/messages.ts")[OTT monolith here]. + +== Messages sent during Monolith connection startup + +When a Monolith starts up, and it has balancers configured, it must initiate a websocket connection to each of the balancers. The Monolith must send an "init" message to the Balancer to inform it of the port that it is listening for HTTP requests on, and an auth token to verify authenticity. + +Once the Balancer receives this message, the connection is considered established, and the Monolith and Balancer can begin sending messages to each other. \ No newline at end of file diff --git a/room-states.typ b/room-states.typ new file mode 100644 index 0000000..3afcc53 --- /dev/null +++ b/room-states.typ @@ -0,0 +1,48 @@ += Maintaining Room State + +== Lost Balancer-Monolith Connections + +When a Balancer-Monolith connection is lost, clients connected to that monolith need to be handled appropriately. Otherwise, the accuracy of room state is compromised. +All client connections that are in rooms on the lost monolith are no longer valid, so they need to be disconnected and removed +from their rooms. From there, they can reconnect to a monolith with a new websocket connection to the balancer. + +== Duplicate Rooms Across Monoliths + +Two monolith nodes should never have the same room loaded, as the load balancer should be directing all connections for a given room to the designated monolith using its preserved states. +In the case that this does happen, the system is then in a bad state and it must be resolved. The planned solution to this issue is to have the load balancer unload rooms that were not the +first instance of that particular room. This means that the duplicate instances would be unloaded and the clients could then rejoin the room in a healthy state. In order to accomplish this, +every room must have a timestamp associated with it, designating the time it was loaded. Then, in the case of duplication, the timestamps can be compared and the more recently loaded +instances can be handled appropriately. Following this, clients who were connected to a bad load of a room should be redirected to the home page where they can enter a new flow of room +creation or room joining. + +#figure( + image("figures/duplicate-rooms.png"), + caption: "Correcting system state following duplicate room instances." +) + +== Maintaining Room State Across Service Restarts + +When OTT is deployed, the Monolith is restarted. Also, heroku restarts OTT about every 24 hours. In order to make this not disruptive to end users, room state is constantly being flushed to redis. When OTT starts up, it gets a list of all the rooms that were loaded and tries to restore their state. The problem is that if a monolith restarts, then it will load all the rooms that are in redis. In a deployment with more than one monolith, this results in rooms existing on more than one monolith. + +It's possible to simply allow the system to reach equilibrium using the mechanism described in Section @Section::duplicate-rooms-across-monoliths. However, this would result in a high memory usage on the Monolith upon startup. It would also result in a lot of unnecessary network traffic and load on redis. + +The solution is to use redis sets\cite{redis-sets} to manage the set of rooms currently loaded. This would guarentee that each room gets loaded only once, even if the resulting distribution of rooms is not optimal. + +The system needs a mechanism to detect a cold start. This can be done by having all Monoliths touch a key in redis, `monoliths_present`, every second, refreshing the expire time to 2 seconds in the future. If the key expires, then the system is in a cold start. If the system is in a cold start, monoliths that are starting up must start loading rooms from the `load_queue`. Otherwise, they must not load any rooms. + +However, this scheme implies that `load_queue` needs to be maintained, and invalidated if a monolith crashes. Instead, each monolith should maintain it's own set of rooms that it has loaded, with the key in the format `rooms_loaded:UUID`, with `UUID` replaced with a valid UUID. The UUID may be random, it does not need to be persistent across restarts. If the system is in a cold start, all monoliths that are starting up must merge all these sets into a new set called `load_queue`, if it does not exist. The per-monolith room sets must expire at the same time room states expire. + +#figure( + image("figures/monolith-startup.png"), + caption: "Flowchart for the Monolith's startup sequence" +) + +In order to avoid race conditions, the `WATCH` command inconjuction with redis transations via `MULTI` and `EXEC`\cite{redis-transactions} must be used. `WATCH` must come before `MULTI`, and it invalidates any commands that affects the watched keys when `EXEC` is called. The sequence of redis commands to perform this merge should be as follows: + +``` + WATCH load_queue + MULTI + room_sets = KEYS rooms_loaded:* + SUNIONSTORE load_queue $room_sets + EXEC +``` \ No newline at end of file diff --git a/solution-overview.typ b/solution-overview.typ new file mode 100644 index 0000000..3e44e74 --- /dev/null +++ b/solution-overview.typ @@ -0,0 +1,49 @@ += Solution Overview + +== Current Architecture + +The Monolith's current internals is shown in @Figure::monolith-class-current. + +#figure( + image("figures/monolith-class-current.png"), + caption: "Class diagram for the Monolith's current internals" +) + +It suffers from years of ad-hoc development, and is not designed to scale. It's riddled with technical debt from previous attempts at horizontal scaling \index{horizontal scaling}. In it's current state, it is not possible to add more monoliths without causing room synchronization issues. The solution to this problem is to use a load balancer \index{load balancer}. + +== A Smart Load Balancer + +The solution to scaling OTT is to use a load balancer. The Balancer will be an optional, seperate component that would be deployed alongside the Monoliths. + +=== What is a load balancer? + +A load balancer is a server that distributes load across multiple servers. It is a common solution to the problem of scaling a web application. + +The load balancer must be able to: + +- Distribute load across multiple Monoliths +- Forward HTTP requests to the correct Monolith +- Send WebSocket messages to the correct Monolith + + +These requirements imply that a normal HTTP load balancer (like nginx) will not work, and the need for a specialized implementation. The specifics of how the load balancer will work will be discussed in the following chapters. + +== New Architecture + +With the load balancer, OTT's architecture will look like this: @Figure::deployment-new + +#figure( + image("figures/deployment-new.png"), + caption: "High level overview of OTT's new architecture with a load balancer" +) + +@Figure::monolith-class-new shows what the Monolith's internals will look like after we take into account the load balancer. + +#figure( + image("figures/monolith-class-new.png"), + caption: "The Monolith's new internals" +) + +Note how the connection to the balancer is optional. The main differences between this and @Figure::monolith-class-current are: ++ Monoliths now have 2 types of clients representing how the client is connecting to the Monolith. ++ The RoomManager and ClientManager no longer communicate through Redis. \ No newline at end of file diff --git a/use-cases.typ b/use-cases.typ new file mode 100644 index 0000000..06e1676 --- /dev/null +++ b/use-cases.typ @@ -0,0 +1,38 @@ += Use Cases + +There are a view different stakeholders with varying use cases: + + +- Maintainer of OTT and OpenTogetherTube.com +- Self-hosted OTT instance administrator +- End users of OTT + + +== Use Case: Hosting the official website + +In this use case, the maintainer of OTT is hosting the official website, OpenTogetherTube.com. The website needs to remain deployable to Heroku, and the deployment pipelines need to continue to be functional. + +#figure( + image("figures/use-case-maint.png"), + caption: "Use Case Diagram for Maintaining." +) + + +== Use Case: Self-hosting an instance of OTT + +In this use case, a user is hosting an instance of OTT on their own server. The user may or may not be using docker to deploy their instance. It should remain possible to deploy an instance of OTT without starting multiple services. Current deployments must continue to work when the user updates their instance of OTT. + +#figure( + image("figures/use-case-self-host.png"), + caption: "Use Case Diagram for Self Hosting." +) + + +== Use Case: Using any instance of OTT as an end user + +In this use case, an end user is using the website to watch videos. The end user must not see any difference between the current version of OTT and the new version of OTT with the load balancer. This implies that no changes to the client must be necessary. + +#figure( + image("figures/enduser-usecase.png"), + caption: "Using OTT." +) \ No newline at end of file diff --git a/user-interviews.typ b/user-interviews.typ new file mode 100644 index 0000000..d7f273f --- /dev/null +++ b/user-interviews.typ @@ -0,0 +1,237 @@ += User Interviews + + +== Interview Template + +User: \\ +Interviewer: + +*Do you often share videos with your friends?* + +*Have you ever watched videos with your friends?* + +*Tell me about the last time you had a watch party.* + +*How do you feel about OTT as a platform?* + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +*Do you use permanent rooms?* + +*Would you say that using permanent rooms are more convenient than temporary rooms?* + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +*If OTT kept having problems, would you continue to use it?* + + +== Interview: Jay Creamer + +User: Jay Creamer (Friend)\\ +Interviewer: Carson McManus + +*Do you often share videos with your friends?* + +Yes, frequently, multiple times per week. + +*Have you ever watched videos with your friends?* + +Yes. + +*Tell me about the last time you had a watch party.* + +Last night when we were watching those documentaries on OTT. + +*How do you feel about OTT as a platform?* + +I like it. It's simple and easy to use. Other platforms are too complicated, and filled with ads. + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +I haven't used it frequently enough to encounter many problems like that. + +*Do you use permanent rooms?* + +Yes. + +*Would you say that using permanent rooms is more convenient than temporary rooms?* + +Yes, it's more convenient to have a dedicated space for my friends and me to gather and watch videos together. But it depends on the situation. If I'm just sharing a video with a random friend, I'll use a temporary room. + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +If OTT is down, I would use another service. + +*If OTT kept having problems, would you continue to use it?* + +It's different because I know you, so I would be more likely to continue using it. But if it was a service I didn't know, I would probably stop using it. + +== Interview: Daniel Craig + +User: Daniel Craig (Friend, Student at Stevens Institute of Technology)\\ +Interviewer: Cindy Lee + +*Do you often share videos with your friends?* + +Somewhat often, depends on the type of content. I don't share long videos often, usually just share short videos. + +*Have you ever watched videos with your friends?* + +Yes. + +*Tell me about the last time you had a watch party.* + +Last time we had a watch party was a couple nights ago. Watched an anime, had some popcorn. After each episode, we talked about it and gave our thoughts. The last time I had an online watch party was in a Discord call. We were just watching music videos together through the Discord Youtube activity. + +*How do you feel about OTT as a platform?* + +I think it's a pretty cool idea as a platform. I can see a clear use case for it. Works better than Discord. Very responsive, well thought out. I think it's good at what it's trying to do. + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +I haven't encountered any of those problems, or experienced any issues when I was using it. + +*Do you use permanent rooms?* + +I didn't try to make a permanent room. + +*Would you say that using permanent rooms are more convenient than temporary rooms?* + +Yes, if you use OTT often. If you use it a few times a week or month, having a permanent room with certain settings would be more convenient. But if you don't use it often a temporary room would be quicker. + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +Probably would use Discord voice chat. I'd stream the video on Discord and watch it that way. + +*If OTT kept having problems, would you continue to use it?* + +No, because other platforms or services that are similar enough exist already like the Discord Youtube activity and screensharing. They don't work as well as OTT, but they work well enough that if there were problems with OTT I would use those instead. + +== Interview: Elizabeth Foster + +User: Elizabeth Foster (Friend, Student at Stevens Institute of Technology) \\ +Interviewer: Cindy Lee + +*Do you often share videos with your friends?* + +A lot, probably send my friends a ton of videos. Like a few times a week. + +*Have you ever watched videos with your friends?* + +Yes, less often than sharing them though. + +*Tell me about the last time you had a watch party.* + +Last online party, me and my friends were watching Nintendo Direct on Youtube together. We were all watching separately though and we were messaging each other about it. We didn't have a way to watch all together at the time, Discord was being weird. + +*How do you feel about OTT as a platform?* + +I think it's really cool, I like that it's easy to input videos and it's useful to have playlists. I don't know many other video sharing websites that have that feature. I like that you can sign in with your Discord account. Like that it supports many video platforms like Youtube, Vimeo. It's a good utility tool. + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +I haven't used it that much but I didn't face any problems. + +*Do you use permanent rooms?* + +Yes, seems neat. + +*Would you say that using permanent rooms are more convenient than temporary rooms?* + +Yes. If you're doing it with a consistent group, everyone is aware of the same link so you don't have to keep sending links. And rules are more consistent so you don't have to adjust the settings every time. + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +I would probably use Discord. + +*If OTT kept having problems, would you continue to use it?* + +If there were consistent problems, probably not. There are a lot of video sharing platforms out there. If the problems were fixed, I'd probably go back. + + +== Interview: Jakob Gibson + +User: Jakob Gibson (Friend, Student at Stevens Institute of Technology) \\ +Interviewer: Cindy Lee + +*Do you often share videos with your friends?* + +Yes. Depends, like once a day. + +*Have you ever watched videos with your friends?* + +Yes. + +*Tell me about the last time you had a watch party.* + +If we're talking in-person, those happen all the time. If we're talking online, probably on Discord, somebody was streaming what they were watching. It's usually impromptu. + +*How do you feel about OTT as a platform?* + +I think it's an interesting idea. Having the ability to have synchronized rooms is cool, there are extensions exists for that but they can be kinda janky. + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +I haven't used it enough. N/A + +*Do you use permanent rooms?* + +Yes, if there was the same group of people I'd share it with or just need to share a video with a couple of people. + +*Would you say that using permanent rooms are more convenient than temporary rooms?* + +They're around equally convenient, there's benefits and drawbacks to both. + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +Probably just use Discord, or sent them the video and wait for them to respond. + +*If OTT kept having problems, would you continue to use it?* + +Probably not, if there were constant issues I probably wouldn't use it. + +== Interview: Michael Smith + +User: Michael Smith (Friend)\\ +Interviewer: Cindy Lee + +*Do you often share videos with your friends?* + +Yes, I do. Very much, all the time. + +*Have you ever watched videos with your friends?* + +Yes. + +*Tell me about the last time you had a watch party.* + +I was in Discord voice channel, I streamed a funny ROBLOX video and then they showed me an Overwatch video. + +*How do you feel about OTT as a platform?* + +Honestly, it looks pretty fine. Only thing I would say is that instead of adding videos on the bottom, it would be nice if it was on the side instead so you wouldn't have to stop watching the video to scroll down. + +*How often do you encounter problems with OTT? Specifically, down time, losing room state, or unresponsiveness.* + +None. + +*Do you use permanent rooms?* + +Yeah. + +*Would you say that using permanent rooms are more convenient than temporary rooms?* + +Yeah, long term it would be way more convenient. + +*If you wanted to watch a video with a friend, but OTT was not available, what would you do?* + +I would proceed to stream on Discord. + +*If OTT kept having problems, would you continue to use it?* + +I would bookmark it, and come back eventually to see if it was fixed. I'd come back and check again 3 times and if it wasn't fixed by then I would probably drop it. + +== Conclusions from Interviews + +- Users are likely to permanently switch to a different platform if OTT is down for too long or too frequently. +- Users are more likely to use permanent rooms if they use OTT long term. \ No newline at end of file

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®)P=jtiy9>uoYwm(!4($U=~ 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%0AGK*OO294W!;N(-#4szjhR8}rr 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 literal 0 HcmV?d00001 diff --git a/figures/room-keepalive-timing.png b/figures/room-keepalive-timing.png new file mode 100644 index 0000000000000000000000000000000000000000..456dd5ca1019ce29b0b6e5da6a7bb177180e7bef GIT binary patch literal 11341 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 WC2<<8!CMU$!Vnjh7Rr61<8Cl5S!o zMRvuVte1>jSGLO1jZlbh^xf~f&-Z=jdCob%=Y7t3e$P4QeShysu*R8-?UvpR0)fOV zuz)Rp_Tl$nD40Kz_aATJPv}5Xd?3lsKh)=nXCTP@itm-{?txc4ki<}=S74xjfPto_ zzmL0bU=Y~avgl(GI?c1WY4_I4M^%O}$f~osLZN7M` zmLw!P5&T{$OoNhxN2;CM!~P?sv3v%nVpV z<4-cY)m;W%h}FGA%8#~fZh5Ky0Qc%%*nVrA;RFIfZ7l#J`w-WKg7EYE%w;>Ry!T`2 zguT-xQP3myRIrWx$%`kc>4!2w&hNN~p4J5N7HAq0s(Y)e4g@U0+Q3)@O>ub7s=bo8h z>3y}vFpkCi(ZwS==n*-l17#*kV3)3s|KpSfafM31F>g%Jr}r&!@}2DsM^^)@NNF@- zqQ}(S$cXd3;*RQ+2XD4E&7!cPt-amdNxr-VHzC2eub;QkbOTwpD$L9@RbE%4YhZc& zOMd=_Sg`C+9txp zQhhe_4FxF>rk12tVPh71Q$#L7P_R8Ra!XnH%x}ZvaaLu)3+N(@5F}Ymb>sW`N_a^L z0}KWyB}p(l4-bjLXR<4ugU_aCXLG#zN^4wV@p!xez3%hknDWYsdS_~Z6&9s#aCu%$!lc=%g|UHe`*h4D%R>r!WJ-k6el=S9SZD^Dsn z2%SiU$;fQ)mXHtMSS_?39@?7tEDutjQcVIKGYGSd+(LXoY9Ynt3`}(^9(;<4F;5y} za!l@Pw;5i0Z%p4DU7o#xb&402+WnC%Tvimf7_z{VTdgQEiTI#$l?t24Q+Hm~A7f+I z8sspm=}xiG>coNBiO250H1w-WNTfynSU0*+*6!N|g(Xx}_=zG;#SSU}mR%rbz|4!~ z?S(IezlY7aEbULZut)E?9aGEHwSEv;i_w+_^h(ltv}{`!&TB>ntQpR|r`KAtqN=90Yq2wJ zJMWfOPR-|WH-VVIN$S)qFX6i6v2*M# zjch$dbD`-ex;ldGvt9AV%y^Qx(^Dv?%34gYLED(9 z{{=2LIvV`9z^vGMVrLTC3|DADD_m_#W60*WV|-0s8o^_@uT3DVoE(hoh!Ez?neEq^ zhw1x_{^3DdI9a-vx%lDTvjDoCW+p-;9aSIsVpZs4y7j-xfC${^6>KH9_F9R#u?JJL zR0)7sFrgVRc&w;R8d=6MObLiD>jZ=OK^6?I^s{`xjsqp+QKC(-0?%zB)zI>25ym*R zOo^lRHKvRqnpl<{7yAM5zJz7sAZm$;i3*B}4Gj$>5{W{gSZoZGS`7>g#Kgoz(CN0e zwu|F0tu_MM@0q7LJj74T&0&ab&?AJ*nl&MmiG5z}O;i3FJG;FE%X8=Qb*R$h9xgW} zEzQrz$H&jl3Wsxjc3pX)XMcHldG*yE-;YDT-ab+3ph|XBEs0%(N)`8m!T6fm+Klz) z7-3ge*ZT+z&Bw%KSNSN97abjqRX3J33=4E|kt=scGUDSioGP;<>lG)F24j%C17-*W z;x+rbKh0z{$ED0v+l8yge~)ggM`gBf;y)Z0`)I*On4?alI? zmsSe%vm+3Y^mqoN@KorMApZRaxJ_kOR~Nxk>6;3Ut>@knTUV!NAi08lJB*Z!*7~Y) zArJD>J6pr0i<=Op#7}e+`D;8VT`r9M70cWq%Z9$-9Pmw9L);Lz!y2#bDb4JIuKeQ9 z=M>6hki_d??eOnYRa6r{;5)+q5$)S`OJe{gQB_f)ioxhADykZe`Q}n}%su}xIX_Z; z`4Emz=*p~2MlOr<`r&X;7E8|m2O9pD`waim0}DRUv9=iWERx0i%co|xo*sQPEdNtk zSuoCjNiQYd3%=z?K4`|k_B=wHr42#*TCk0l00waCc1%E?Rm%QFvZxL?Wa znf5H+i>Nb1#372u?vRGYpJ!!l`v3Wd(cePHV4lmSvQuOh$mH8*JkM%Jhou|T_SX-6 o9u~|@p)AQe2F_P5|8BPgG8NM#2Wj+l{*MV{VTuDD855%a2_klLrvLx| literal 0 HcmV?d00001 diff --git a/figures/test-plant.puml b/figures/test-plant.puml new file mode 100644 index 0000000..1da6ac5 --- /dev/null +++ b/figures/test-plant.puml @@ -0,0 +1,3 @@ +@startuml +Bob -> Alice : hello +@enduml \ No newline at end of file diff --git a/figures/test.mmd b/figures/test.mmd new file mode 100644 index 0000000..a5bd75a --- /dev/null +++ b/figures/test.mmd @@ -0,0 +1,6 @@ +flowchart TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + C -->|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] \ No newline at end of file diff --git a/figures/test.png b/figures/test.png new file mode 100644 index 0000000000000000000000000000000000000000..299206f077cb7393f13f7de3662a48d2a205dd4b GIT binary patch literal 19715 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 literal 0 HcmV?d00001 diff --git a/figures/unloaded-room.mmd b/figures/unloaded-room.mmd new file mode 100644 index 0000000..2651825 --- /dev/null +++ b/figures/unloaded-room.mmd @@ -0,0 +1,21 @@ +sequenceDiagram + actor User + participant Balancer + participant Monolith + participant Database + + User->>+Balancer: Join room "foo" + note over Balancer: Balancer sees that the Room is not loaded + note over Balancer: Balancer selects Monolith with the least number of loaded Rooms + Balancer->>Monolith: Send Join message + Monolith->>+Database: Query for Room + Database->>-Monolith: Return Room Settings if it exists + alt Room is in Database + Monolith->>Balancer: Broadcast Room State + Balancer->>User: Send Room Information + note over User,Monolith: Connection is proxied + else Room is not in Database + Monolith->>Balancer: Kick client with not found message + Balancer->>User: Kick client, Close websocket + note over User,Monolith: Connection has ended + end diff --git a/figures/unloaded-room.png b/figures/unloaded-room.png new file mode 100644 index 0000000000000000000000000000000000000000..24cb11a1ca7db8db190126b0ea04fd0559cbe3e7 GIT binary patch literal 48600 zcmce;bySsaw>G)}!JrWdDMh+VIt*GuLPAPfI;G1Z1*97k5k$H>q>&QoZjtV;GZ(-8 z?!C{q-*L`&zCR9QFvRt&^*ndXxUP9$a|JwAkix!k`vwAmz?P8~S4JSv@DK=8*=rc^ zN_E1QVfY8dL0Re%BDb4-34yqSkP&~V>XNuR;hGq{aM8Loq-lEJ#FsOA^*X6i%jj^x zFKVW}lE}gcaVE`8e%FoD!WpyTYskc-r$4ab%mI_)bJB- zl`WuCzt*(&ro0blRzW~o!BKC^x$acWV@LDawNm}k`3J9&@1y2xOS8CB*qUj`m>4Yc zV+}Q-3_Ymp!-zr4vT;k;e8ZaKoMXA&*Ybi<`FGaqt%2SsHgcMBSPtps0^Wkx)dLfJUNC>At+CN5_~$XwD6<&aSh$Qb)*f$bwzhXp zKQz4OZl`G$BBZ9Fi0QktRE@b7SrOW7(9qh0nx2>|o-28xwEp#s!IT6;+uu3$UhR0R z5vq+ICXvPDC?h<*KCC8yhOYb?!)nlg*V@n*`V?pTb5(*L@7D+!4C=1mlGU{r?QUMW ziIc6XR;=|$VV#iv{S#Nil7$?;;|qc{sfv{SFIpW79Q>7H*MnlvY0I?RuH+gK-<7a( zIax@;G`fHNLa;f>DLi(%f$!H!WdoW|OiENFrkVnk;$3ePGPNqF)r&%Idh$aI*OfC7 zVh6f}0HK9D<@u=I)-dXWJ}*a$q~KRC4$2JoehOX9xVUdk#hejBuaa#!=^EllHncMB z^sqCG#&VLV8qJcACmOkcbo^c%j0xW(s@uX=TP(R(KGDZ;Yjvg3ENQKc%bqAremeU* zXir0?Vd=V9zgyR4$*a$mV4FUlboK~kR#02ocGl^&;-?|(P-CvQieBslH?_<6BJeMC z=xnQUtM~HeMXjADUEf~x^m;{_z7(r`rLDmCH}I2ok8Or7ZkRg518u(@(cm-*PpU{pZF-eIDu0EzG=gxWe8%D~LC@D|S-YF|t-%)zNyyK) zb)_ThlHS}H0RyK=lx-;QuF4Zs8K+5p@}qU?jklM)9>L{g6k(QetWS$S;Fe<(7~IS| za=T_)81!yfd{y*Mza4Uj;@b#xf3oQX!}OP$RN9Pe-4tSq%GGn``z3H?aoaGZRwf5g-uW3GR@V==@@*z@Q|dV3;K~hc1!PS{sKi zmynn-Kw(_rEqK&jXBTE+{`{tdB(M**BLY9|s{X^v|W|bln*GebP_;>FPSx)5RdBV5m{H9WwB<$;gPJWl$ zHU1W%yy*~5EwL&W&%-qqLwY;@SZBJ}%rK7EiUrXT?J42mL5@%q?oEthjxj#5mnhu+ z$y}4E!5QiA&#~NJkr2&#Pow(KF!cC*>Vmc0JRvC0y`A(19yO{@vw{9ZWm2{dSr>cV z>g?{4M(EV4#JpZ};4Rbka7Ejyi<;Jhi?b=zz+22-Dluba8(F(+CrpUG3`GS@JZgc3 zqs5ba>j?#3%flqQxk=;gd8N)Ip?e*oIDT&#RV1fUZ!EYm)&{iQBDi@oAT;!g%a$@i zTq4Kxa5H9WfB&wiXvo92lE1$x6*+qT=}KsCcuzGuHy1RvHoI1~s9b1dMyE*G{Q2<- zXF^w^;H{vJ1%t_IS`8MWmQbqhLSsFBt~l4}*U{D6Kd<3XiMCnf)%bKQ%s0H>5kAni zq4X+ey-8o&KGS%0xX6_FEkv3|Q9?=BFxfa~? zlB1m-k?L((_D&P-#UA=!B^G*=p1T1o2Qe_0B7SL8fS! zL@Z5zy25t<_P%b9n7aC+(KjVdz=6pRhhloGb*!)MVp^+QLi`R(_KlnL-JhPsI5{r& z2M3e!868&qF57S*7qI^rLZQX&yuOG3cZ(^=H1iXx)DsVTsw(5w$5 zgj}HMZ*Si>y*ion6m_jqaZbx&M0IsFEb3e{vECPnASv#%&aiB7WVDRNJ4bI8>x7d$ zegt1H$J=P|z+QCoK+BGm8`4c_3%0G$=6U(_mJiz1^Hj|uzi;Y!oCtaaa>M>_nd8oS z*riruk5WW?wDIqBCkb^lyq|jd>A^!74*~4C$?9-ffd+VvkgzGn$9`vRsucCBU}cChToLG@}C`JH+Zm8$x)Bo5w0f6P-w;@Ba2vC{ON=8c%;}2ZD)~vp+8eY zHj1gSDWDI<<#@^OaKQ8GCnkV=B08GX8OUxN)qoD-DhxT1MZGOchS`U3R5Z9uc?VR+A!!(?g}7 zkrmu)HUr-W8g><#*i;!JxlI*{EYx`pru3+??(bRsjZjpc>Kw{F3utP>luJCsKxCtZG*Bg6o3DhZDTf}JLSniuj^j?z{^%+4hRT1JUTM&s0?)ZxnMtIUy-lD zLg|@%1sy#iHdZ=;SAJ`2%XldFZ?TiF{;y&)OvG}3W>2lByDdL?T*yh=y-;qjU|y@y z2VW$+T$eLVeLBS)2=5d^!oWU7%ZbFOw!M0=!l$e{$RNM};jJ5=-=>Fyp~@lnHTx+5il)O=AB))~*Tcv+tF#29zf8vOlb z*O`2V^YQq&Znq9$T}BqcxcA|K7v0?rYHL@bWT(I&G)K98{WkXY319~&je~&_xtQJ6eu3c%HGI%F47{j z(P`Y5j*U3(tWXd{yG#9GIdj3^Kfl;JhCwMX;HJt(bZ^}S9;JIW=ldJC(x1c-Gbp7J z=GE+@qGJ-Fev*wcM>;5Ex@%Zi>CPK5OCv>w(av_?pE1ATwMtHx2s+`!;=>jG6&QG{ zkwolV1iZARY>MqJCuf*x%9>p>Um>;Y!-4NJ?|g}7+UbRKx5{K9Ot@@cD2g7hm(|cQG-1=r`VRm?{5pE;8%?Mhffv#(6R>hINJ7Uc{u! zE#d1E;u%N5t%IIcfBc)Sn?Iz$%GD)5#7aMX$`MTF$L;XvQROT5_*P1bM*#$1NrYW^ z3|p{f&QHi*6pi?YOtwHmv_ITLY5CwP)M2+WU?ErK#JYLVBV}(-U{fnV`XEJMsNLwV z@E`dI+rjpNGnvTDRlnx%+?e44Qh^CK{Zuxu?{+UK(_mW1yuNogF4cHfctLVBbQ@z$ zs%&t|n{GC0iY!92^=^gc?-8RLG5Ln=_qdgK-pgDfF5z^;W!RZh43PJibT=mHv_2MFsUJ-Mtzf$$RC@A zcR765aIdTrj3kkzJAXEePPerfwSSWp(e9L*V7`mq#R%uOS098HpK6uOiLRXpP5I=WYUhplzPkYJ8_1gMr^xlWo69>w$R<8EqgEPPI>aGBca z0W&iQ^mg^u5!eY~!_2!j-L5LWkKS#ePuWRXl9RcCkGxU%3gqgy?;J9( zo~TtFrBpG+S-W)h7ZFeX$7On83}|JT9;bO;1-m7cB-8|RuT1HXGjE?Dyp#LzLH=I) z#Qi0c5LQh=Be)k7yEBwb$ibmuK85iV#yYgA9Pbv;r^EHtx z&~Y^R#@I|AwTN=lMZ8w`C+5woE@8WY$M@sc=f@*}%s+qrEG{W&zx!7S5U^wno6c~# z-Mt?_e!z>r!MUmL-76TejO{W>O-;40bZpmmvf*~xsNSOs7oaya#6EqS9cvTwEL`~E zNtm=7QP%ak(-D`081i}h+lj)K(`z;@Vo&`F1SGUX$>PqB+`bvMh6r!gqZM0E#7j}S zzI$F`UZCHIp^z-xZWt;OJ$T-qsX`*TT!sQhAfQ}y=_n;nfz-h$o0^)^+*fBcF?=`; zTYeRpDn_$vwG{P;KFLr>0@Nr`!d~e7Ma!Lcw3xPc7$p!HXZL zA(SFF9>~dIsbna8eYG;EU2gkYztQ)ryyk6D4}LOU%TJHq-++hYTaED|N-akk{`P)x zu)lv9DRSewf!$WVTG{@SVDr1s_(^zpc>ai`gQNS|I= z0bq%_G+86$<>f^~PtWbTJx{KSWW4xc7KU7G3Jt{g?UGv=N#tU&;v-Dwm4_|n}teY^tLPfQ%QDeC5OR^Ik*pCUlEEepy#tukwI zDJekERJ=Bmi4zOR=s8X>2o)x4cB`?{ukhRdO=<4Cm3p48Cni&+S8Z+W@R}1Md$3=} zc;Ndp%i(;Kpl187xue5FSiPXUJa$;Qk>^=(pSGM-#9h9LL;(klIxo*rl-=ncZ?9jw zc1Kt^u`7X(+kM{>wl=WcXm)j^sC>ejPA=BA`Jo$(+XbMlz^i4#FOtDO9miqMIpMvh zr>B6>ut+$3>=%Caf*q~bo>&7DkaBe7SsN`eJXoI~7xPN2uYcf+OOu$rAGctVWIxxMHWj{*G4^%{XOPXY8+yk&Ttv)ERUNzFH=+7|iCxYHV{H zfA{Xn7numUmIA|8snvpxLwm5~=bI%s$K20|!=uHoVWkVnCzr0lk-J9Cn#`WeM+$Q6fRc=`!pXJ@Bg zY*#fg?!Hl@8FDhD=dG0g;^7Tqw#5Cz^@%Dw!6bxgwg$e>r%!i&Mlwe5-e+WB@ON13 zcCFUcWTh7rj2|trK*J*^mn$%6KHTXM6QR^X<}^MPpO2RKR8)$VmMjQg{TC#XzC+hZ zd|!`vEOe}Im-^}(l_v(hzMEyozG1-?_q(C}Ye#K$NN03h+=u9h-l=hGXWtbTaD;H; zrEijj%`jk6VHXazn4q<>GL>>$eGgC1%;zOc34AsRLTGrmZZ(S>j5{=TbXbma8UM6B z-d!rLqLGl4Bp@Pk(jgWxr7c>}$WdFbSfqsDiQ*p|yl}WRH}1NaG*an-^#8=vpl`HV z#pVNnV7+~nuPi(~JVMs?U#CK2Qin=hYquHZ_U+Vv#<2@Zdq|5V9~6ep9ZcqHV@G@`kOZ0o)s*zH`SXoc0Maw}FpE zI9<5Go>bH@Jn(PBX4WcYVXr-;ezn}+zN8G#n5P3|7)G`~Vw$qxcpaA1KIpICJY0bC zxgkLKviFCFXaYKKwEvu<6Ss#L&CYppu4DyjH(TSvTsSg1@bJTgWl_Nq$1x(z(vO z>sR~?2^=Z`6t*|=6#P@N|F_una=ZRt0{nk&>2`L0J_oqjV+{=w3L#I0nyVN)C%KK9 z`U~eOIjEd!4k# z9&tt0bG>Dr+fC`L-ns{|L*^5{I>qMP$LVZyv-_2a_oufkNyY5vD5>MCz2rUP`E0r& zG8P&iQB!YEeL~!I9Rms+snXh(fE=tblJSVK$;vj(sgX>ua=N{wi>W;Un#2 zTZL_4Fvp-%hzC`m#IJ@iWzu&1GSbqiRx6{`+sZ4Bo`V;K2{C#pp`oEk<>ivXx#o&SqzX5~Kc5i=Txom|M8@IN!^cHlCrSX%~(9rZ|%RH0B zvTptHn6sMW1+PLz&<=6<(!|=s(b8P(dLiyw)1@ILml3P^j>WFdvdRdtI(EdooFays|&Z)zfpW^;QVPWy;! zoU+7XTw>$Ah~Ie~wNaAIplRA^NZ49!B{GVrYkjUDqXjA&A3{TkztDShJBwL1_Y4Jj z9C;j0CsAHOKiXLSJySa{9XI&S>11J|XvBm07Ln>-MYLL8 z6Rk7%G8phyd&Un=(zGU*?+cNN9&@X)yT2XTQR6Z_m-X;irJ)y!+q1^~IrWT1=cGQB zf?@RXF*90WMZ*Roj9QZDOwc{>={9Guyn}Te|XzWBr#_s8EH=FQK zfn8;7Ye-TGXd^~NvQI~F4Ds)N(6(S>`QadN78LLY+@F4FA35(rOO z2=Cla(i?k0Np2;$c8hB&!O)mF8nT_e5+Z?|jEzW^wEB z#*n0|nmik{veDN*A3UMTf6?1hEt+rTJ9f`)j!<`XAP`*r_j^AJQof>BH*mUR7951! zCuP5@vb_i6uoyh+&IlSRGF#(cbs|I4OX-OXctWzhJmCD8wFzH9RC`bN`zVG+gP0`uX!~ z?i|$;jYeAJn-9Pu5%szGEht%v(_x5Prk9Db3 z-GpmJ3!Ls}B#!ZMu{A=t-w8|4yDZLkuffH$>CwKmw;w9{_SVno(BCaTEvxE;3~8g7 zZUL$>2CV-yT`rC#YRB&GNWAuK{O=2?Hw|^cVS?#FG#$Xw@WK$h& zeo5KfFO7(tzq7BZU0G`^>&In3Za|JhjN=FH<9(r<)uIzCM~8sDwm+6b74jC7YoEPq zb~VXx@+EFP8g9*xtq4=iqH||Ncd|&&q*$m@&1h02v(|jzCgRsOFJn4|lR%sv#ktp# z&z43j7@ewuQ@keI-#5({XKGANI_4j@T0}mN?jB`2I@?*6_Lo(Ee1noGN|9pb^Y_rvlhWl7`?;8Qgw*qA8EU~*T$bwK zzpx|=i@S0CHrssS=MN7SsSx!B1y485t47L?6xS<@{yrRq zFgeK^%|b5y;|SA1VjyF15tH!~#`id+ZknzN{s^$rt5r5K4@ymT_T5?|19TO6x znUmc1ZG%1~$8gP8$D_`XLoMt5evf>IErqtV^JpFS*m{d`k~UjRYYD8L4_j*Vm~?-- z2<)*eA$wb|VaD~UDt^Qi+gL+f(IP~|bc>YH^eYHVqMW+|&0!0NQA|XOZM`axBT;?y z?-6rCq@Z3_osYQCiW#(?UfDTvm?~gteZFl>1NQbCY)hrpnaPauIZ*ZAP=2=jJ#s3V1v)JxkT^`q$SN2xas8bar1cjf4O0xRStQphO z(D;z{Rfe&r;O?02%`BN_%r36H?^rV#tP&|CKQZ_4tl>!L>d(GlLP4qJCs#=S;66Ba z&c5gBpUhsX*ykttF>!TzCVIf^_g_k7WpcBzl|`yaY3I);1IKC%dLN`x$fY9G8X2FZ z;(hVE2)%3L^{CNJ|AWh!%rYO9Y@G6E)$ba@Yb=^3V>Qm9bj9B5Xt#M@!Wo@J#l`uF zou2(4sJhIX%e5>l7SWE;{5Lw~Ci?zi?gS(Z6~1Z-5YL3KBn1oon28l(Fp85d~jc;cZ=Nk4joG-}&ofO5u#ZYtol=;{OoOTYq9MyUspntsC7Z z(MGGyW}9AKa1z^__i3JuR<^Wr33L%OxImA`9!`~hv2wOXVJ}I|Nq2X{xv!~vgg$< zaC~$A?)`hE3VUNF)o=BiGmUwpHuL4pSX6sUtlv1?@0;CE9I$ZGRi8pnIbF3IYkuPW zV}8i@nOKJ2;P1Rtj-wKNAS*-99-Babmw=Ry@^Zk$ar7`|aFt>_BrPqH?0NUF%o7qJ zv+D>w&#C|*2>(KHd*9F42X9u`;g;O4cAI!L{$Xe;1iD6 zt3W7wWgzSlfNc{AIj_?|^`os#deU`~0*9PGs?T_V31CO>%@}Q!6nkeP{r%IZCCU?k zC=4osJVH;Z8u(Ih!NZzYz8{(Eu3eDi?R#VSwA*;gYkQ=&dfG^ejF`2nE3FQ@0!eLi zVpf;xtJM+l#df34c(Ns(b9-U9!i-6XPk!Nmwa?|KS<0nwF71-U=SJMm!2Fo7(HX}L zFztA+f{!=fm!ibl4mEo6J^# z!_yo>5BMQJ`|5N2UEnSDDyPc=pz}8%#js3M#*RNu_zx+QU(|e8!A0xqxAY@>ty3S! zj|l+=D`@Snx-!Rcd((=FI)z6hb-I;ZUD#lXUebthGi^CwITO6WUKQ+dR2_Gu=8TGV zb~wAjFiBoT0>Mh+##PRXx1zg$PeiZcHvg)e;1_ktxJpq~Eg#tU@X;dzB;f;Aq;Ao2{eYjLeR?YGMa{SVxpAk@ zGbV(fdcoX^W1SMv;Xc%3sV`Gxq+SGa2FXexrqEw5S z3fx6U+uSPX`_nsWHWzxkF81uIf&p)WzsRl7js=r;diJ8_#VHaY*Xzu+G9re~TVtm) zd15jzdU3GaDzJsTg_`#Nq9OUqiq}Z<{@=Hb$9ia$A_oYB`?;`eLI%C<=2NVNb(V(e z19!u+F)mLl45GCMiy^@RUb9%3VyiLMLPopK1s(QPBYV;sLLnm~19KnzpCL5Vu?vmdkU zUit$E_c-F@F66p2e@?59ZhGV`iQ6PT0{&Ia>xj}3eev_x5Tz-A9;B^Md6XxH)863n ze9i~OZkw6|3PwhpRVS^=(QGx$(Bkjittq*m)yu9P{f$U58`}4R(g~T*;i0(TflG|M zMT=6Z%eASq{P&CQ@}_g~c5&8K5Oad-QuvtbC_*|Gs8ictASoi067pPh*>jFkm1!}z z`kX<$wM$G_v-hkL0Wg@sy6i`L#G-A*1R*m)=jdLh%4e@*S9)C0O`EY~odj;ThD8sa zEOuu?=8u)4*8^Bi?5}ZhE;8uWlD*aS!YVqNx)~F58JC5eD2;lnV;D54-%YZ6*1wSu z>nk(u$P#sqk(HM2EIuokGmRBI*ED|@V+b4Wl0GKHW1$>XmhLUJVU4>DbpQdoS(d5u z{P$8+-(|jFM43&dnOANiUKGTR)GXQzvQY(quenXUwj58~i;PdBxr$%H%#lC!#c@p} z>8qYp!QouYNYMcUu81fd>x0w%6Mfzs3cmsK&t65JS&wya} zi9S)T^$`8w`b7j&OsB)=;SPVfJBC!qg=7-OhTZBgXYJ7+GTCUB_T8mEm4l_SNorbJ z^s0$pf69p>UHT;+ZJ;0GSH3O@u9zsVm9C5A znDyg%Do1b8z3IOHVyp2y)%1-EdOta^;_qkPc#s)>H&Mj>JdhWcC$}MfuP!2S^^atdO&XP!NPuWeq$sFu396H5pf$XRFRB8!fGKpiFzi4v2}< zs&MR*LrgEmy={Pa#n56yH`yMvcfiF*fXrl|#6uIcBGr%;>wIGAqN=>A(*=+%m<(c*^RaM^{6 zZ=O7&Z0wVDQlL7^ih17GY@-3bBCB$%R+Qsi7d&at+ALKzbfa25Qr{mC!NvO(a%yB6 z-MK{2@Jr0tpIPi(o&FW3VLntI^fd?rHUF+TANGphSF56bss=$>xffr1B)(P!85Vu@ zN<_c9xCmy%W8Uu{aFhP`=f_tmU8Yegoz_4iN*yjwc;_5#d$FhIOQ`72vZ?Orwy6vk z{d)3LJ_R}&8nL23xi6Z(?-I*WiV`FklV#mMdw9`|_ONVB`k=h5EQz2Qv(RmXjC3$+ z>f+sarG8`>Wa&m);M878LKvG4n$0R0YXeMV|k6|}}?UxnRi(v$uM zF>HAeVrG;dk3?e@OzCo5TT-~5m0B*s1S@NE%Gu#mYlYWvf2NZKId|y$gr7n zto$uvN)#l}=&e_&!}4c0G@&b9PA`Gj)z!F~-DvN5WqjwcNhvn=Z?Q7A7_v5xIxeia zz#%J>ywLc8j<52V2^@QvyjCMI)}uxyc^BD(7r)m$mg?B|k*6MjFpVZEUwIrY#9)!} zet^?jd_265`rz@i0y^SnRMWQn8nqq*&e7O2hXD?7)QCqAo&pspBKEWQk%Xp|`>l$J zHRcH&6M9vsP<!bA!I3aXvhB(YT;({u)Y*OK_rHXIe z`4zI%^G^*r&AEbV;z@xXRhAZ`I`5E>vi98i=D(>jfOs_^AX9}c+JjW4KfQ)0o2sRM zE2*7o8p_WFaf2gEOBmH$^Y?&UicQQRKi|~uVCETfQJe$|VeFE=@VnAmy8;^#)6u+K zB9y68^vKtWJ!eD(d*ywB-A)RC;*ahPvdVSVwCObmtoIu>HncdS*y!oq+up=6?@f&fBzPu2B%G`mDap@jd- zZ9%a5>eJbKj;q^FqkaMpAfRZMbS)h3SxXFwa(~mjcm^o$dR#BM0BGT4$^vAj?fk^FGaRw$i;J(_5I&yg7ftM42`mM7{@QH#CGNn>CbXrtIQjY)L8Ho33s(xG0k5_!E3BlcC6uyR>5=7|8g!g{Xl)wLA&pvQiO3|f^OxMkTP1Lp0UC2>(J zuB@)VAvPcWd=k2C)Y{JTQZy3qZh4&(`na!9-`R~9a4xYl;Y|cMjdkW=LgvLMDo}B@ zo!*%;DBv)4V~-c+d2{@V8DA-bnj-nT)EA=0&Hcig1O)XT%qFZ~o}n;3`z{WWpYxH7 z31o<_+Nd3yJ4a^u2s_r45PNxoZb5-ku>h{9vwRJalyLhZ%hAKzQ5)I*Wo6#T0 zeX7Zji8_?#K%KMOvDMV)#SwE?BN()rsfzw!`A^&5KE36cO#QWH3%CDZT0p`^>VLoJ z@ZU6f|4|)qM4PzySYN+w8K?^cxXt_Bm=!!hW6i|=T>a^M-RyckDxAgow^>2Ag;?6S zPS4Zz+-&db&uOauUd@N1fwkhX1~F1jgVg!`A5|Rwr(E#=;5H^*OQK5i+)sI z^(IAjGY#m-Q}v7Uvx4U~r&dm&vq8#}l11D>r3r$Zop$;Z+s)~Rpk$J$^*G|9$awe` zBU`uT*mniaE-rYJUgP0cJRB>vnu9Gg>`oLws&qit`3|&BTYZXR6T8M`R%6jUVi)8^ zN6R*gH*jI^C>${!iO*xu($GxXSJ+lfApYq)NZCICl@_Od!xbO^pn(?NYP!i|_WRvP zk*Ncy#N_C10yS=4bK-_~z<)qnGn-d;o@zVO0G|&eVqLZq0nMBK+40`trIe@R|EAV4 zt<(-`4!2Ikz`nh?TGUf$GbOseI`SAaT*IYSWbXT`pWzh082SPH8h?OnLcr@3dD;U4 zu9T$>gey6P|%IZCGZA=q~{~NE4`%MvI68J zij@W75fMn433LM(%(sPQKQ9T~nrn4{T|eGikxJmTIy{^UWds!sthOMc#{Iyg(H9$p z?Qf_h0yjr3@<5=jQT!4g)_|1TByBGsB!rHaH(L3tEGT1oAPro{!ZP~t1|8ZETCvFa zKf=BHzDVJM2BMK~%H#2)N2o9Z5E>hmkHa*LT2+{+sWp+}v5JR8LGSVJNkSh%2RvF< zRh1BAUW;9PQ_%NNX*pRPmzG8&dN_@S?AG9iS~nt!Ssl)yQJ}2?Wp;KJdQ)(peOHx9 zh$f_@T(@Hta#{uD7I{Kf^q})(wX1q@$IA-ROpO9+1gH)P8I@_)rijOEMvDW$b_-su zs3D+XM!@kevMJ1Cw^s^_lnW^v+!{6v)h`-(Iq>~fjoThFkM-y2rGRt??P<0KCk8I% zhc1(QbacM6%|V7F7+_a3wI@(X0kIYsgK))=(R6PDcd-UM9DDl|Xnp3j(xobR+nZ3kRkLU>!SQWVKnVWPcLMssF5{Ss) zm4z5RFa0Kee551@>=Wr&qG!7*Z{EB)oDE|44-Aym>TdqzuvMq7l?$WRuJnHnehVZl z2)5;8Vj@-=<>tmnksr(z?P-bmGZ02%r0KFF1#5{4rs;E0tXk0^WtwwBDy%@)soQI^ z@G}ajCISQmYBEOcat@H=spdS70!30rFx9PFubTVQR#o9%(DdS0d?98v$^#8Zogn#d z0;wFhhH1SI3a~ndzrXI9bjCjX{OJA5iOTx`At829BnrL?1PvEV05tq2&}zj`jsv0M z>ysEdLBZR1CM1^PSTB9upH*NvsYg!5kv$c zDhhUXb{Naw$(j>+tpoZLkMPHSIK9xBfYta3{DY8L4GR{cEev^*PvZL!JRE6`D}y;- zzyzTM1O)C&Q*~ks9Wfa$TeHI8tyivG`Bh*j<%>h{6C#OXo!1$On3pi9_ERN;Z$n+Q z)5IaY;}-Ni_81vCO+L5QXwal@-KSSdhXcH~*JHPk@3i6Y)Soac_xV;FpazXHo6Z00;^Vp(w zo_a+UksjPKHkRD?HNYPMo@O7EmX?+e8w4UK8b#nrug|Vtl+XHIkr1~J2Yu@}0R(`~ zL;-G)O|_RmKE&|RCxMl=T}*QRJ(Ib}KtSkQR_2VOPEWnfj+Cs1X;1&2h8{L`=;lb? zf6@;fn*m6jtTY=~1v)Zn!d5y|65@xkT;}_ER7_&F%QF$-RI2bxG4B5#NWemY7^%jy z?}d;X$7Os2&H`JZpa9YFcz^8)C_Jq-v7wbn_~LYjko7tAc%*APTojr1{7#d(3HmHF zSOt(3Aaf67rJ^eBFfD~k5wQJx;9<$Ge@NZ-SKDJb4dHxjb-3Uy zjZKE{XQ6W&6Y}iEzp7-L2=2&+N;AB{R{AMXuAKG_wV5{*UDn3$)tOva$xS zoaCY&B%!U3Bk1I%<>Zij7fvy*CUi*#5wZRq%A3+0Qv*z~Jebpwt5fw2&RsGyGm-kr zcYc0z_7yIWI3cN;fIe6*jtd<+pS-+8J&$)kLy$ne3lzaI)6*|XZKjauVar7rDGr8$ z@XmGzJJ_1iZM~p2#z-XYl#a_cY{h|IK#!l>E4fu6Ahk_?H3q%aen8q_v__WVHa_q{}@$uOr$NuVY3K)PmsI>v)MCw94zu8QK;0NUQ_G+9W8q zaG7?KH#9WF3OLYFhWdeXM#RU<0^%6~g+KDsN=izLmSd1DhD$7nL90o_&K?R0a%)h_ zMybZ_m9mP8D<~gbce?oEc+3bUs+==Gi)&B9D0ElAybgw zR8TZ@ipia+56Jj!g;0RqxzHC)hl1jLR&0EJdgQUyO#I>YecAT6 zZLZ3=;*83;?_%TP@)85J8ICCe66HkjjNjt?!-thEWiNX&(mI!Vzg$I%ssYOEJ2Pz4 zFP|XkY8Y3>r%yf`br;F3TBWvo1M1u_>Jho-F2Qw;1eX!TUz*ejhyo6!a2qUK`S+P; zjvuNLZpSnq3$duEAdOhrw}!`E_~Kya;2h`ie5%kE*b9- zz41W=m#rs^4%NEskgV^)&O`jbqoVTuDd>K%PAeiZf!iCG@UM4Cejs@WH@u{Z2kU#z z{Pw7{mrX3ne;n7xN2cz!k-ilFddbNN|KmgWjJ*H6h5BEsES@&}&!YKD7hKL57TDl& zkzjt!>6ckbTs%efmIJ`Wp1nCP0fhm&c)P_8_;O zV)58owoX+vpi-`zeeYGDKCK5bHd1Je2?~EgLc(7_!p^rsy%S$mQF$G{hQtUy^U%#r z5YgM)E4z0z^XzQwB4dgAByLdO%@*Zfnl zY-wdvUSz;&p^AW6A9ha)0Nx!owh-W3Np@Ap1eKLr2~hG{?Zvq}FvrJ^j=P$Qh3xNc zcIZ_)GBT@WLu5`WhHozD@WDKoXl`jqF42MIfWW}`ngjoGALt0dD4@XzDfdP|^NK#; z%PSZdvyfnc-DT?52tv9C2n`e|U}%LF8bIzo_C?rUoEdUxENGPtWONn+BCk@aJeY3kqiZ@i~U4$tq zy$qm>0DUmwOa=9rd(bci zRUBl)6tw)_gcTHri%?zxj)jbUkO7b&2bPfu_5iRXnh(hIxva#s&v&T)9h#9*R5XPi z94Kh_=4kOv$*fCJc{XLFc)7`<+VzMWZ~zMiQ-1`Q%nZ;I0Bz{aDujVRJwOOB=6evO zLA35n5liu-bn^#O<@7pr0rt@nDt0anu#!T^$!MnGJ)HIMdY$d51F~Sys})9;K!Vt7 zUrg7(23Eu2`1dIw5e<+d!IxTq1A&<+=IPcz&lb0)re<1tda|8fFr`R55YjCG4~hFb zu;UT6RX3AzbfEkKZPJ~eA(SF(7*J9e%+{P6bNbU6SH06MBrYKl79A~VVnT=9MlwF@ zc}VS0f)hcqG7mt*2oJzQM#jcUu%1O;2li%{aLa(8y}cc#ItxzXw#$Gkyoo?|w?WMa z5F9rw%2cIP2>B0=4+b$hQ0Ray@z@}{Z~m^?0Obx7Q{edcI6?E3k6_aftx&$HW)gs@ z835FWMm=O*5>?%<>0F z>WczHNH0!zVo;1FuJ#y80oH~dJ`)9dhd1ubG6lXgZ*Ol3$RW^KRO?&!Uz@+^UE@=t zpG<(@**97=2eAOz*w}!NJ%BjdtnL-%VH&S;ZpCE4QO@@4sqf>wgntD*S4HFj!bpyt zI8k8!fhy^8H4hk7I*)qO$-!V|ohZKo{q~en!L7S@uOpD=`&83ri!9I5?q?unaL-fG zfsC8h-nNYpe3Sa_3T}$c;I|-*wxLtBSF1UL{S#dqAxg2hIz6d5bvq0FQ9@{GX(=eb z)ad0p@Pu`JcOH%bp@i&~NuhU#zi|G6uOX^f8al3%8^nyte&BQKb>!bh;?V8;_ZiS< zZas2`!VS(4{HZXC9upH2tEAO7%xZ5J6|LDP9sgGUIQq!3t`dRsZ&!n#M$e7Dmz_+6 z;t!#luEoX08vvwDL<9!s<1SzTr3aIpCs)(be(oH-)_nCtH4;K7PE$kWAhN-u!S|ZK zuO%L=2x;8#-QhW1bJ1<4`=NQ^fiS}FJ$N98`B)QRC@ew@77At#h@#t5ad42pEz24H z;Sw?3Dl=Xt#tGRGjJ`hn(5d!fF*z8Je)pYTYhKiF502e~hh>i=1MY^aK>seS# zd;NT-y$N~@5FKjJ**E?(Y)vDe7d0I_nLvPN)cqDO&-NIC`J(U44t}uNej>D(D|F7q z`Zt&Rh$c2)s03ri4m=x?(sYZAnS)A}>`s+koX(?Xy#3EBoAwMv49KQYA3gM)|D>l~ zy4E~eKQ~|Ht`2AqTGr*_^S_%dSTA}#KWF~Av}yHP!Hl3OIoW&i6@MV6B3pezUiqH* z`tT@s?J{g!L{V^wIuoyYNQOaQiu1##inr3HS}bz%Dw%d(pt- z<;T*1!wQKUzn88C2lsCozFcirRCaqE0Zxt)6N z4yTBS_7&X1@x8XX_ctU`-(|OBWHpSbYVX#3A6B)x`B-zeQRb-A+BQ21i$Koc-C)K| zdb@m|-w7PmnDWg1vg68Jvc#pppKdlR4m5sm+lw=k+7!;U+;eZp?aR#@jS(0svJSG8 zcJtHQvJ^rsuzul@Z!&!fom8^s@fa%FRP*CT*__1O+?bw!{ zBLzWMuWkB&d>NPh_lnlAPIHg;6N{>pW1v`@zf7tJ?Yqy(-vo@cKL}SU7)E;+`#yf4yvTX? zQf5h`_Qwq;c#x&V9R58+cGL)TTk(z8d*8fPP2y z^?6V{h-4EI!V2et;yq3o37g(31wTG<@gVGV>zx;9H|$*R+=}j8fWdXPe9R|Ef!{ByFY3crcJ1*CW zYDs3F8oU12AI5-k=EPTt+6Rrm4?-@vhqBKEsSjyK-4~|Pdm@Q7 zuLa%2#6Z)-@No7g@wd2ndA%1G=9nAa^ZPv#FlExsB@$Am z{qO;UbmJ?Xn9%O4OJGLPCjn_ZyLZ24Z3`*(K6PNHs+jO?#oL#^c{9DZFeQ4EZcs^A zmw}CqI&FSz)gs-ouIuRIvL?S?K+4D_50lzhpr20=I&PuuBR2}>7__h~f?CCdfA!qQ8uE|k&&#R4KE>-KECp(Pl@6>oxmb*A91e{k0 z>P;CJE3Ny{1*DBolXkf3$st0QLDNB^NC~v_WeBC>fN&8FiUF;r2xu}8Xz#=xIcMzs z`r?e=+)(B{Ffr;NG=bAf@ViBjL6v4VkUesJtO_?R$HnVBez}W_3(k(SeeD7|kw?0} zoN?%Xoi3oWIJok5!8J!3n%Wa)R+iZyLPM2ZO$xiDx~>>;ZuNAR@x`t0oetPQoMF_x1H=kOzDa z0;Kw9@!w;Uil<+m9Sra0>ameZZt^wv$QVc|?QQ-b1c<{fam{1ZI+bkhYfYDeMXY}+ ze|P9y2gYy5jvd@$V$2?BqaOjFF9S(biTD@iuU01;3X$}44N@fh07EaucI{fjEc@)J zU{{=hA70?__0i%{mbt;d=b54XDK4qNL#Iz~z@3mgbZA+W>+fYMapQrL;AQEK zj>hJTt))7uvMlHYH504Zuf)UiKR!`&83Htu)(09t0|&>6%e_k~JSx(+C!Ml2m*%#; z6x&Vh!q-Fj%51b#qJd@<$dB}bq-8>bm^Jcwjj^^Y_m8fAt^%3%MNFAqZc5<=zjbMP zq@Ao(0LtQEfrX~{Q_tho#wN;G)u zJc>H?z*eD9R3jAztcP#&;Hn=W7I*~(hlJ`QqM|AhxYW710yU-#IAig=*J3{0A&{T| zsli5V*}ByWJ|oqbA{yH zYovMbXW?dxF4WILqtxoRChE_gKS$|V7qs&XadRO2FpBVJsL_O0!j-uvJ+>MRhc4(m z(v*Va624r;4K7<5h4C2r448qsy1Pfw$AE(MuYEKJ|47t(e-KVtc;xXwB4R~FPj3sj zwEgy-@`Cs04LI5DPF6D~D9HPM(hqTXGU(a1Ch6u1{nVg}diUVG6Bq5aberDLd$(vI zaXqf;gev#x7jK+7yE-x;LP2tx;9VZm2OM^%b){DIw&gFS8Y_qp)>{*^29Nic{f-Vk zLR^=1?rjWxbkx68&L{p!bc2p^c8`qrDkQEfi?KfaTgop|tld^ZL`9MNGtbqGnyqex zu*a9|bY{5`cmmS!N>tsf+&l*6Vj#kh;p)?Gz|6)T@O#(z#H##cMDMRNf45}ailS+Y0q1X+?DMTE?youkPggjjvD#Qbj8g6735cF z{ga+9%jQvI!r}_dskoarG-}TZAmjGXwyGq@=GNcWa^~K7hMq^bxK0vDhap;;(f%KG z7cT7JDKP%Ef=8g{=9wuXm)u^t>Rj?Sg(j&ds#mhFuE zjOtSd>+aI=N}LuuiC=IGx<|Y1+4Y2z)bi0clv_zpga7av{8}M*I0T_11AA^9lRy5Y z&h=4sgTnMbpSVUWKt4JeKOA6Nb-Otsln+0bg}RsCgxUAMsH=%hMN1_SpB-6JVOS_u zsapR$LYn|Sc=Ywj|L|V=#p&}bEWVz+>(8LD!LKLkc+_}sb^Z+8MH`}iCfM1;=N=}n z^3p13`I86#{-95{DC2eP{=SY9-BZTBW_$hqzTrpiHM--tidHltw#%RX`G5m*Tg@&X zO!Nu7k#I{mCNZ@$$$6gRCaypm;BtykYde~{E+&0^qT}^mtJjL!(jn1f`$iU%t-_j1 zEWV1Pp@5x!Z}sYB!2j#(dmcLbYHuEz!(!h2x?px+BfT01M9GOH{tv$5^!Zl(bj2;x zpETsp$4+_5pBA3%^Y970e;4<+U<6Ff1DH%;t3d!PNEa#lp)xR4st8?2S{X@Y^YB<> z9rCAo!zYBbf`&U;n{qKR7=wA7?(>#!vVVVDqh@ajx=+-8NQ)A#!Ut*02+6s`T7#NO zK~bno%WgF{1{DY4ODE7lLB6c4jwV0Hh8o)xjlZhU4WIA}c-|cb-!)Jq>;_ovTWvQI zh7i2cl(k{cZ(y%$^=C999vu8wGPqn5v^$BN0_%~nBRO45@W?&Ra8WqADIA1RoNFj(?Y@1pU!eEfiDJqgO;V82LHzG*vf5%+e?LC|W{1XJTbl zgr9}-A4)q>l)(}cwHbUc&6+g^_-28-H0}~B8!4l9d^kFz-&;D0N^^HMuQuN+e!}I#7DN~#y8sg2_1$Y zszLx7Hep=~WL)F9--9-NHQrE3!%yp=f}--{ez&D8qgq8tf+BEWaoPa0qz6HcLn4oR zn~4Gpl2`XbGZFYeXcI~WW+p=HAv_0TVZ>CGG`ut{Un$QNz$B(DFn;i9`_73+=Vywn zvjZfkf=E3{YT*zWP@u#9NA#Mhgz>d2-$QovEk1L0)dZUuukm! z;s9Bf@Qc8lY@p17@Gb$Np(cPOeB@nre`wK%HXQz58yAFc_uN$O($$HfRuVFX*u(du zE!LH6_&M_r&8)(@9-~-=k?;J0{Y1Ye>R8}qrRN4x3*ot1hpaM)8*E_n_75()g3!1F z2Hc>x>S-YY--uyu=77@i<*Xgcf1i$wU=d^>l7P4{f9~&r@oll zuNS^*-)TFwDDuH_Pw5$_4L({2&4U{n7fVGtHSaDOEtJ&BFwkY*@}XU};z@#*LRX8v zzP`(0SNQy(A#H=Kj!qL&QuD}m=62eVIwM`0D5Jv1J$S)f}q1}wls5|!*vfh|s)0$@SRW;qSe zlj8iJ!kR$P3tSwK_|Fr0$QxZ(TnB*@wiUKk-nngjcdh%?peXOLwY&X zJ40s!56U0^Sa)=d|J3?`@eNQP(TWi#fOdw>vXKborBFRq@QzT2LZA$hP6S?BvJ7BR z{S`QweKB$PU4g!2--0FTmOjLuJy*X4Vo{4ajOaeOyyFZQG|g-$aj2VH$Ug+HT)Cj4 zeCNB%_z9w@;F8*^&GQu+y^EBhnjYQDY2R@rtlX}~Deg)l@`~YUAr}e`T5Dnii#r*m z&g3KZZcZM(!dsY{feyxA4L;)O-nnvzBSQdFwKX?;++v;pj}@+Z7~I6wPY!vhAMo?{ zzl58aBeH-*&}Sf8iDHthudws%D@D|RHn+Lmg28LhRpXvjprNHq18=!r0vOGoIsl&$ zE??)ULvdMIm+!7O6kP5(2w_whcLROlQG6t}{dNKbh~1O<%?hC}3uLdB>tsE4d0p03cpZ8esSLprqn7?- zq%}a`;aU!JJ@7(P0eB-#;qRDO!R=)E5PDju8A&TYrdS? z*Le&ukRy&vXrzfZT!nd_8<4kOr7sRmhhGV`h;4x(mq;imu4GsNnc4G`E7KBnKm%wxuo$lPf6KpbK0|#nG*pQ*t?%Ew-tNg6X;`3 zVF>W+0E6Hl{rD|#a+jL%FD1IU8V-Oos{mp*9QdA1w0WXFp|9=g_jdT0AhVBH@G2;AA#0iPu&>Xt#n8||{NefPl0-wz0AA5M~2J^^$J4Cq|J7CYowEY+JoxaTiy{I9-Hg&X*n^B$q+ zMTCNDp9t%y3-|#uI<0;f`wC{f)Lk0<6jVMNRK8;D2)HQgrEHkr0m^HbzYoisqg?