From 589bed09450de60cc982a87b59d3dd25d559479f Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sun, 21 Sep 2025 23:19:55 +0300 Subject: [PATCH 1/6] hw 1 done --- hw1/app.py | 125 +++++++++++++++++++++++++++++++++++++++++++++- hw1/operations.py | 53 ++++++++++++++++++++ 2 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 hw1/operations.py diff --git a/hw1/app.py b/hw1/app.py index 6107b870..20433a3b 100644 --- a/hw1/app.py +++ b/hw1/app.py @@ -1,4 +1,109 @@ from typing import Any, Awaitable, Callable +from operations import mean_number, fibonacci, factorial + +import asyncio +import ast +import json + + +async def handle_query( + send: Callable[[dict[str, Any]], Awaitable[None]], + body: bytes | None, + query_path: str | None, + query_params: bytes | None +): + + if not query_path: + op_type = '' + else: + op_type = query_path.split('/')[1] + + try: + if op_type not in {'mean', 'fibonacci', 'factorial'}: + raise ValueError("Unknown or wrong operation type") + + elif op_type == 'mean': + if query_params: + raise ValueError("No query params supported for this operation") + if not body: + raise ValueError("Parameters should be in the body") + numbers = body.decode() + if numbers == 'null': + raise ValueError("Body should consist of the list only") + numbers = ast.literal_eval(numbers) + if not isinstance(numbers, list): + raise ValueError("Body should consist of the list only") + result = str(await asyncio.to_thread(mean_number, numbers)) + + elif op_type == 'fibonacci': + if query_params: + raise ValueError("No query params supported for this operation") + if body: + raise ValueError("Body should be empty for this operation") + + n = query_path.split('/')[2] + if not n.lstrip('-').isnumeric(): + raise ValueError("Parameter is not a number") + n = int(n) + result = str(await asyncio.to_thread(fibonacci, n)) + + elif op_type == 'factorial': + if not query_params: + raise ValueError("Arguments should be in query params") + if body: + raise ValueError("Body should be empty for this operation") + + params = query_params.decode().split('=') + if len(params) != 2: + raise ValueError("Specify only one parameter") + if params[0] != 'n': + raise ValueError("Parameter name should be `n`") + if params[1] == '': + raise ValueError("Empty parameter value") + if not params[1].lstrip('-').isnumeric(): + raise ValueError("Parameter is not a number") + n = int(params[1]) + result = str(await asyncio.to_thread(factorial, n)) + + status_code = 200 + body = json.dumps({"result": result}) + + except ValueError as e: + body = str(e) + if body == "Unknown or wrong operation type": + status_code = 404 + elif body in {"No query params supported for this operation", + "Arguments should be in query params", + "Parameters should be in body", + "Body should be empty for this operations", + "Body should consist of the list only", + "Specify only one parameter", + "Parameter name should be `n`", + "Empty parameter value", "Parameter is not a number"}: + status_code = 422 + else: + status_code = 400 + except ZeroDivisionError: + body = "Empty list for mean calculation" + status_code = 400 + except IndexError: + body = "No number for Fibonacci calculation" + status_code = 422 + except TypeError: + body = "Operation can be performed only with numbers" + status_code = 400 + + finally: + await send( + { + "type": "http.response.start", + "status": status_code, + "headers": [ + [b"content-type", b"text/plain"], + ], + } + ) + await send({"type": "http.response.body", "body": body.encode('utf-8')}) async def application( @@ -12,7 +117,25 @@ async def application( receive: Корутина для получения сообщений от клиента send: Корутина для отправки сообщений клиенту """ - # TODO: Ваша реализация здесь + + if scope['type'] == 'lifespan': + while True: + body_dict = await receive() + if body_dict['type'] == 'lifespan.startup': + await send({'type': 'lifespan.startup.complete'}) + elif body_dict['type'] == 'lifespan.shutdown': + await send({'type': 'lifespan.shutdown.complete'}) + return + + if scope['type'] == 'http': + body_dict = await receive() + body = body_dict['body'] + + query_path = scope['path'] + query_params = scope['query_string'] + + await handle_query(send, body, query_path, query_params) + if __name__ == "__main__": import uvicorn diff --git a/hw1/operations.py b/hw1/operations.py new file mode 100644 index 00000000..e8624b4c --- /dev/null +++ b/hw1/operations.py @@ -0,0 +1,53 @@ +import math + + +def factorial(n: int) -> int: + try: + return math.factorial(n) + except ValueError: + raise + + +def mean_number(numbers: list[int]) -> int | float: + try: + return sum(numbers) / len(numbers) + except Exception: + raise + + +def pow(x, n, I, mult): + """ + Возвращает x в степени n. Предполагает, что I – это единичная матрица, которая + перемножается с mult, а n – положительное целое + """ + if n == 0: + return I + elif n == 1: + return x + else: + y = pow(x, n // 2, I, mult) + y = mult(y, y) + if n % 2: + y = mult(x, y) + return y + + +def identity_matrix(n): + """Возвращает единичную матрицу n на n""" + r = list(range(n)) + return [[1 if i == j else 0 for i in r] for j in r] + + +def matrix_multiply(A, B): + BT = list(zip(*B)) + return [[sum(a * b + for a, b in zip(row_a, col_b)) + for col_b in BT] + for row_a in A] + + +def fibonacci(n): + if n < 0: + raise ValueError('Number for Fibonacci should be >= 0') + F = pow([[1, 1], [1, 0]], n, identity_matrix(2), matrix_multiply) + return F[0][1] From 1fac0888d1665345c25687b97c1621e1444457f1 Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sun, 21 Sep 2025 23:31:54 +0300 Subject: [PATCH 2/6] Implement ASGI application with fibonacci, factorial, and mean endpoints --- hw1/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw1/app.py b/hw1/app.py index 20433a3b..2385100b 100644 --- a/hw1/app.py +++ b/hw1/app.py @@ -118,7 +118,7 @@ async def application( send: Корутина для отправки сообщений клиенту """ - if scope['type'] == 'lifespan': + if scope["type"] == 'lifespan': while True: body_dict = await receive() if body_dict['type'] == 'lifespan.startup': From e4d231b98eee6e2a938fa521877289754c65f04d Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sun, 21 Sep 2025 23:31:54 +0300 Subject: [PATCH 3/6] Implement ASGI application with fibonacci, factorial, and mean endpoints --- hw1/app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw1/app.py b/hw1/app.py index 20433a3b..f891c4fd 100644 --- a/hw1/app.py +++ b/hw1/app.py @@ -118,7 +118,7 @@ async def application( send: Корутина для отправки сообщений клиенту """ - if scope['type'] == 'lifespan': + if scope["type"] == 'lifespan': while True: body_dict = await receive() if body_dict['type'] == 'lifespan.startup': @@ -127,7 +127,7 @@ async def application( await send({'type': 'lifespan.shutdown.complete'}) return - if scope['type'] == 'http': + if scope["type"] == 'http': body_dict = await receive() body = body_dict['body'] From 6a159a5dfac5c8147b257b2bfc8cd8f993b9a160 Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sat, 4 Oct 2025 17:06:02 +0300 Subject: [PATCH 4/6] hw2 done (Georgiy Kiselev) --- hw2/hw/requirements.txt | 1 + hw2/hw/shop_api/main.py | 417 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 416 insertions(+), 2 deletions(-) diff --git a/hw2/hw/requirements.txt b/hw2/hw/requirements.txt index 207dcf5c..88365b22 100644 --- a/hw2/hw/requirements.txt +++ b/hw2/hw/requirements.txt @@ -7,3 +7,4 @@ pytest>=7.4.0 pytest-asyncio>=0.21.0 httpx>=0.27.2 Faker>=37.8.0 +aiosqlite==0.21.0 \ No newline at end of file diff --git a/hw2/hw/shop_api/main.py b/hw2/hw/shop_api/main.py index f60a8c60..787adcf3 100644 --- a/hw2/hw/shop_api/main.py +++ b/hw2/hw/shop_api/main.py @@ -1,3 +1,416 @@ -from fastapi import FastAPI +from fastapi import ( + FastAPI, APIRouter, Query, Path, Depends, HTTPException, status, Response +) +from typing import Optional +from contextlib import asynccontextmanager +import aiosqlite -app = FastAPI(title="Shop API") +conn: aiosqlite.Connection | None = None + +SCHEMA_SQL = """ +CREATE TABLE IF NOT EXISTS item ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + price REAL NOT NULL, + deleted INTEGER NOT NULL DEFAULT 0 +); + +CREATE TABLE IF NOT EXISTS cart ( + id INTEGER PRIMARY KEY AUTOINCREMENT +); + +CREATE TABLE IF NOT EXISTS cart_item ( + cart_id INTEGER NOT NULL, + item_id INTEGER NOT NULL, + quantity INTEGER NOT NULL DEFAULT 1, + PRIMARY KEY (cart_id, item_id) +); +""" + + +@asynccontextmanager +async def lifespan(app: FastAPI): + global conn + conn = await aiosqlite.connect(":memory:") + conn.row_factory = aiosqlite.Row + await conn.executescript(SCHEMA_SQL) + yield + await conn.close() + +app = FastAPI(title="Shop API", lifespan=lifespan) +api_router_cart = APIRouter(prefix='/cart') +api_router_item = APIRouter(prefix='/item') + + +async def get_conn() -> aiosqlite.Connection: + global conn + if conn is None: + conn = await aiosqlite.connect(":memory:") + conn.row_factory = aiosqlite.Row + await conn.executescript(SCHEMA_SQL) + return conn + + +@api_router_cart.post('/', status_code=status.HTTP_201_CREATED) +async def create_cart(response: Response, db: aiosqlite.Connection = Depends(get_conn)): + cursor = await db.execute("INSERT INTO cart DEFAULT VALUES") + await db.commit() + cart_id = cursor.lastrowid + response.headers["location"] = f"/cart/{cart_id}" + return {"id": cart_id} + + +@api_router_cart.get('/{id}', status_code=status.HTTP_200_OK) +async def get_cart_by_id( + id: int = Path(ge=0, description="ID корзины"), + db: aiosqlite.Connection = Depends(get_conn) +): + cart_exists = await db.execute("SELECT id FROM cart WHERE id = ?", (id,)) + if not await cart_exists.fetchone(): + + raise HTTPException(status_code=404, detail="Cart not found") + + query = """ + SELECT + ci.item_id, + ci.quantity, + i.name, + i.price, + i.deleted + FROM cart_item ci + LEFT JOIN item i ON ci.item_id = i.id + WHERE ci.cart_id = ? + """ + cursor = await db.execute(query, (id,)) + rows = await cursor.fetchall() + + items = [] + total_price = 0.0 + + for row in rows: + item = { + "id": row["item_id"], + "name": row["name"], + "quantity": row["quantity"], + "available": not bool(row["deleted"]) + } + items.append(item) + if not row["deleted"]: + total_price += row["price"] * row["quantity"] + + return { + "id": id, + "items": items, + "price": total_price + } + + +@api_router_cart.get('/', status_code=status.HTTP_200_OK) +async def get_carts_params( + offset: int = Query(0, ge=0, description="Смещение по списку"), + limit: int = Query(10, ge=1, le=100, description="Ограничение на количество"), + min_price: Optional[float] = Query(None, ge=0, description="Минимальная цена включительно"), + max_price: Optional[float] = Query(None, ge=0, description="Максимальная цена включительно"), + min_quantity: Optional[int] = Query(None, ge=0, description="Минимальное число товаров включительно"), + max_quantity: Optional[int] = Query(None, ge=0, description="Максимальное число товаров включительно"), + db: aiosqlite.Connection = Depends(get_conn) +): + query = """ + SELECT + c.id, + COALESCE(SUM(CASE WHEN i.deleted = 0 THEN ci.quantity * i.price ELSE 0 END), 0) as total_price, + SUM(ci.quantity) as total_quantity + FROM cart c + LEFT JOIN cart_item ci ON c.id = ci.cart_id + LEFT JOIN item i ON ci.item_id = i.id + GROUP BY c.id + """ + + conditions = [] + params = [] + + if min_price is not None: + conditions.append("total_price >= ?") + params.append(min_price) + + if max_price is not None: + conditions.append("total_price <= ?") + params.append(max_price) + + if min_quantity is not None: + conditions.append("total_quantity >= ?") + params.append(min_quantity) + + if max_quantity is not None: + conditions.append("total_quantity <= ?") + params.append(max_quantity) + + if conditions: + query += " HAVING " + " AND ".join(conditions) + + query += " ORDER BY c.id LIMIT ? OFFSET ?" + params.extend([limit, offset]) + + cursor = await db.execute(query, params) + rows = await cursor.fetchall() + + result = [] + for row in rows: + cart_id = row["id"] + + items_query = """ + SELECT + ci.item_id, + ci.quantity, + i.name, + i.price, + i.deleted + FROM cart_item ci + LEFT JOIN item i ON ci.item_id = i.id + WHERE ci.cart_id = ? + """ + items_cursor = await db.execute(items_query, (cart_id,)) + items_rows = await items_cursor.fetchall() + + items = [] + for item_row in items_rows: + items.append({ + "id": item_row["item_id"], + "name": item_row["name"], + "quantity": item_row["quantity"], + "available": not bool(item_row["deleted"]) + }) + + result.append({ + "id": cart_id, + "items": items, + "price": row["total_price"] + }) + + return result + + +@api_router_cart.post('/{cart_id}/add/{item_id}', status_code=status.HTTP_200_OK) +async def add_item_to_cart( + cart_id: int = Path(ge=1, description="ID корзины"), + item_id: int = Path(ge=1, description="ID товара"), + db: aiosqlite.Connection = Depends(get_conn) +): + cart_exists = await db.execute("SELECT id FROM cart WHERE id = ?", (cart_id,)) + if not await cart_exists.fetchone(): + + raise HTTPException(status_code=404, detail="Cart not found") + + item_exists = await db.execute("SELECT id FROM item WHERE id = ?", (item_id,)) + if not await item_exists.fetchone(): + + raise HTTPException(status_code=404, detail="Item not found") + + existing = await db.execute( + "SELECT quantity FROM cart_item WHERE cart_id = ? AND item_id = ?", + (cart_id, item_id) + ) + existing_row = await existing.fetchone() + + if existing_row: + await db.execute( + "UPDATE cart_item SET quantity = quantity + 1 WHERE cart_id = ? AND item_id = ?", + (cart_id, item_id) + ) + else: + await db.execute( + "INSERT INTO cart_item (cart_id, item_id, quantity) VALUES (?, ?, 1)", + (cart_id, item_id) + ) + + await db.commit() + return {"message": f"Item {item_id} added to cart {cart_id}"} + + +@api_router_item.post('/', status_code=status.HTTP_201_CREATED) +async def add_new_item( + item_data: dict, + db: aiosqlite.Connection = Depends(get_conn) +): + cursor = await db.execute( + "INSERT INTO item (name, price) VALUES (?, ?)", + (item_data["name"], item_data["price"]) + ) + await db.commit() + item_id = cursor.lastrowid + + row = await db.execute( + "SELECT id, name, price, deleted FROM item WHERE id = ?", + (item_id,) + ) + result = await row.fetchone() + return dict(result) + + +@api_router_item.get('/{id}', status_code=status.HTTP_200_OK) +async def get_item_by_id( + id: int = Path(ge=0, description="ID товара"), + db: aiosqlite.Connection = Depends(get_conn) +): + cursor = await db.execute( + "SELECT id, name, price, deleted FROM item WHERE id = ?", + (id,) + ) + result = await cursor.fetchone() + + if not result: + raise HTTPException(status_code=404, detail="Item not found") + + if result["deleted"]: + raise HTTPException(status_code=404, detail="Item not found") + + return dict(result) + + +@api_router_item.get('/', status_code=status.HTTP_200_OK) +async def get_items_params( + offset: int = Query(0, ge=0, description="Смещение по списку"), + limit: int = Query(10, ge=1, le=100, description="Ограничение на количество"), + show_deleted: Optional[bool] = Query(False, description="Показывать удаленные товары"), + min_price: Optional[float] = Query(None, ge=0, description="Минимальная цена включительно"), + max_price: Optional[float] = Query(None, ge=0, description="Максимальная цена включительно"), + db: aiosqlite.Connection = Depends(get_conn) +): + query = "SELECT id, name, price, deleted FROM item WHERE 1=1" + params = [] + + if not show_deleted: + query += " AND deleted = 0" + + if min_price is not None: + query += " AND price >= ?" + params.append(min_price) + + if max_price is not None: + query += " AND price <= ?" + params.append(max_price) + + query += " ORDER BY id LIMIT ? OFFSET ?" + params.extend([limit, offset]) + + cursor = await db.execute(query, params) + rows = await cursor.fetchall() + + return [dict(row) for row in rows] + + +@api_router_item.put('/{id}', status_code=status.HTTP_200_OK) +async def replace_item_by_id( + id: int = Path(ge=0, description='ID товара на замену'), + item_data: dict = None, + db: aiosqlite.Connection = Depends(get_conn) +): + if not item_data or "name" not in item_data or "price" not in item_data: + + raise HTTPException(status_code=422, detail="Missing required fields") + + cursor = await db.execute( + "SELECT id FROM item WHERE id = ?", + (id,) + ) + if not await cursor.fetchone(): + raise HTTPException(status_code=404, detail="Item not found") + + await db.execute( + "UPDATE item SET name = ?, price = ? WHERE id = ?", + (item_data["name"], item_data["price"], id) + ) + await db.commit() + + row = await db.execute( + "SELECT id, name, price, deleted FROM item WHERE id = ?", + (id,) + ) + result = await row.fetchone() + return dict(result) + + +@api_router_item.patch('/{id}', status_code=status.HTTP_200_OK) +async def edit_item_by_id( + id: int = Path(ge=0, description='ID товара для редактирования'), + item_data: dict = None, + db: aiosqlite.Connection = Depends(get_conn) +): + cursor = await db.execute( + "SELECT id, name, price, deleted FROM item WHERE id = ?", + (id,) + ) + result = await cursor.fetchone() + + if not result: + raise HTTPException(status_code=404, detail="Item not found") + + if result["deleted"]: + raise HTTPException(status_code=304, detail="Item is deleted") + + if not item_data: + return dict(result) + + if "deleted" in item_data: + raise HTTPException(status_code=422, detail="Cannot modify deleted field") + + possible_fields = {'name', 'price'} + for k in item_data.keys(): + if k not in possible_fields: + raise HTTPException(status_code=422, detail="Invalid field") + + update_fields = [] + params = [] + + if "name" in item_data: + update_fields.append("name = ?") + params.append(item_data["name"]) + + if "price" in item_data: + update_fields.append("price = ?") + params.append(item_data["price"]) + + if update_fields: + params.append(id) + await db.execute( + f"UPDATE item SET {', '.join(update_fields)} WHERE id = ?", + params + ) + await db.commit() + + row = await db.execute( + "SELECT id, name, price, deleted FROM item WHERE id = ?", + (id,) + ) + result = await row.fetchone() + + return dict(result) + + +@api_router_item.delete('/{id}', status_code=status.HTTP_200_OK) +async def delete_item_by_id( + id: int = Path(ge=0, description='ID товара для редактирования'), + db: aiosqlite.Connection = Depends(get_conn) +): + cursor = await db.execute( + "SELECT id, deleted FROM item WHERE id = ?", + (id,) + ) + + item = await cursor.fetchone() + if not item: + raise HTTPException(status_code=404, detail="Item not found") + + if item["deleted"] == 1: + return {"message": f"Item {id} already deleted"} + + await db.execute( + "UPDATE item SET deleted = 1 WHERE id = ?", + (id,) + ) + await db.commit() + + return {"message": f"Item {id} deleted"} + +app.include_router(api_router_cart) +app.include_router(api_router_item) From f2c51ec04eb1999667984ab90c0e910c82839303 Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sat, 11 Oct 2025 15:09:48 +0300 Subject: [PATCH 5/6] hw3 first commit --- hw2/hw/Dockerfile | 9 + hw2/hw/docker-compose.yml | 55 +++ .../dashboards/shop-api-dashboard.json | 440 ++++++++++++++++++ .../provisioning/dashboards/dashboard.yml | 12 + .../provisioning/datasources/prometheus.yml | 9 + hw2/hw/load_test.py | 305 ++++++++++++ hw2/hw/prometheus.yml | 18 + hw2/hw/requirements.txt | 3 +- hw2/hw/shop_api/main.py | 5 + 9 files changed, 855 insertions(+), 1 deletion(-) create mode 100644 hw2/hw/Dockerfile create mode 100644 hw2/hw/docker-compose.yml create mode 100644 hw2/hw/grafana/dashboards/shop-api-dashboard.json create mode 100644 hw2/hw/grafana/provisioning/dashboards/dashboard.yml create mode 100644 hw2/hw/grafana/provisioning/datasources/prometheus.yml create mode 100644 hw2/hw/load_test.py create mode 100644 hw2/hw/prometheus.yml diff --git a/hw2/hw/Dockerfile b/hw2/hw/Dockerfile new file mode 100644 index 00000000..d01e1598 --- /dev/null +++ b/hw2/hw/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.11-slim + +WORKDIR /app +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt +COPY shop_api/ ./shop_api/ +EXPOSE 8088 + +CMD ["uvicorn", "shop_api.main:app", "--host", "0.0.0.0", "--port", "8088"] diff --git a/hw2/hw/docker-compose.yml b/hw2/hw/docker-compose.yml new file mode 100644 index 00000000..f0a4119b --- /dev/null +++ b/hw2/hw/docker-compose.yml @@ -0,0 +1,55 @@ +version: '3.8' + +services: + shop-api: + build: . + ports: + - "8088:8088" + environment: + - PYTHONPATH=/app + networks: + - monitoring + restart: unless-stopped + + prometheus: + image: prom/prometheus:latest + ports: + - "9090:9090" + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus_data:/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.console.libraries=/etc/prometheus/console_libraries' + - '--web.console.templates=/etc/prometheus/consoles' + - '--storage.tsdb.retention.time=200h' + - '--web.enable-lifecycle' + networks: + - monitoring + restart: unless-stopped + + grafana: + image: grafana/grafana:latest + ports: + - "3000:3000" + volumes: + - grafana_data:/var/lib/grafana + - ./grafana/provisioning:/etc/grafana/provisioning + - ./grafana/dashboards:/var/lib/grafana/dashboards + environment: + - GF_SECURITY_ADMIN_PASSWORD=admin + - GF_USERS_ALLOW_SIGN_UP=false + networks: + - monitoring + restart: unless-stopped + depends_on: + - prometheus + +volumes: + prometheus_data: + grafana_data: + +networks: + monitoring: + driver: bridge diff --git a/hw2/hw/grafana/dashboards/shop-api-dashboard.json b/hw2/hw/grafana/dashboards/shop-api-dashboard.json new file mode 100644 index 00000000..cd688115 --- /dev/null +++ b/hw2/hw/grafana/dashboards/shop-api-dashboard.json @@ -0,0 +1,440 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "vis": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "sum(rate(http_requests_total{status=~\"2..\"}[5m]))", + "interval": "", + "legendFormat": "Successful Requests", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "sum(rate(http_requests_total{status=~\"[45]..\"}[5m]))", + "hide": false, + "interval": "", + "legendFormat": "Unsuccessful Requests", + "refId": "B" + } + ], + "title": "Request Rate - Success vs Error", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "8.5.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "sum(http_requests_total{method=\"PUT\",handler=\"/item/{id}\"})", + "interval": "", + "legendFormat": "Total PUT Requests", + "refId": "A" + } + ], + "title": "Number of PUT Requests (Replacements)", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "8.5.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "sum(http_requests_total{method=\"PATCH\",handler=\"/item/{id}\"})", + "interval": "", + "legendFormat": "Total PATCH Requests", + "refId": "A" + } + ], + "title": "Number of PATCH Requests", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 8 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "8.5.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "sum(http_requests_total{method=\"POST\",handler=\"/item\"}) - sum(http_requests_total{method=\"DELETE\",handler=\"/item/{id}\"})", + "interval": "", + "legendFormat": "Active Items (Created - Deleted)", + "refId": "A" + } + ], + "title": "Number of Active Items (Excluding Deleted)", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "vis": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 5, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "rate(http_requests_total{method=\"PUT\",handler=\"/item/{id}\"}[5m])", + "interval": "", + "legendFormat": "PUT Rate (Replacements per second)", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "expr": "rate(http_requests_total{method=\"PATCH\",handler=\"/item/{id}\"}[5m])", + "hide": false, + "interval": "", + "legendFormat": "PATCH Rate (Patches per second)", + "refId": "B" + } + ], + "title": "Average Operations Rate", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 27, + "style": "dark", + "tags": [ + "shop-api" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Shop API Metrics Dashboard", + "uid": "shop-api-dashboard", + "version": 1, + "weekStart": "" +} diff --git a/hw2/hw/grafana/provisioning/dashboards/dashboard.yml b/hw2/hw/grafana/provisioning/dashboards/dashboard.yml new file mode 100644 index 00000000..7435f09d --- /dev/null +++ b/hw2/hw/grafana/provisioning/dashboards/dashboard.yml @@ -0,0 +1,12 @@ +apiVersion: 1 + +providers: + - name: 'default' + orgId: 1 + folder: '' + type: file + disableDeletion: false + updateIntervalSeconds: 10 + allowUiUpdates: true + options: + path: /var/lib/grafana/dashboards diff --git a/hw2/hw/grafana/provisioning/datasources/prometheus.yml b/hw2/hw/grafana/provisioning/datasources/prometheus.yml new file mode 100644 index 00000000..a221c3c3 --- /dev/null +++ b/hw2/hw/grafana/provisioning/datasources/prometheus.yml @@ -0,0 +1,9 @@ +apiVersion: 1 + +datasources: + - name: prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + isDefault: true + editable: true diff --git a/hw2/hw/load_test.py b/hw2/hw/load_test.py new file mode 100644 index 00000000..74698972 --- /dev/null +++ b/hw2/hw/load_test.py @@ -0,0 +1,305 @@ +#!/usr/bin/env python3 +""" +Load testing script for Shop API +Generates random queries similar to test_homework2.py but without assertions +""" + +import asyncio +import random +import time +from typing import Any, List +from uuid import uuid4 +import httpx +from faker import Faker + +# Configuration +API_BASE_URL = "http://localhost:8088" +NUM_REQUESTS = 1000 +CONCURRENT_REQUESTS = 10 +REQUEST_DELAY = 0.1 + +faker = Faker() + + +class ShopAPILoadTester: + def __init__(self, base_url: str = API_BASE_URL): + self.base_url = base_url + self.client = httpx.AsyncClient(timeout=30.0, follow_redirects=True) + self.created_items: List[int] = [] + self.deleted_items: List[int] = [] + self.created_carts: List[int] = [] + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc_val, exc_tb): + await self.client.aclose() + + @property + def available_items(self) -> List[int]: + """Get list of items that haven't been deleted""" + return [item_id for item_id in self.created_items if item_id not in self.deleted_items] + + async def create_item(self) -> dict[str, Any]: + """Create a new item""" + item_data = { + "name": f"Load Test Item {uuid4().hex[:8]}", + "price": faker.pyfloat(positive=True, min_value=10.0, max_value=500.0) + } + + try: + response = await self.client.post(f"{self.base_url}/item", json=item_data) + if response.status_code == 201: + item = response.json() + self.created_items.append(item["id"]) + return item + except Exception as e: + print(f"Error creating item: {e}") + return {} + + async def get_item(self, item_id: int) -> dict[str, Any]: + """Get item by ID""" + try: + response = await self.client.get(f"{self.base_url}/item/{item_id}") + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error getting item {item_id}: {e}") + return {} + + async def get_items_list(self, **params) -> List[dict[str, Any]]: + """Get list of items with optional filters""" + try: + response = await self.client.get(f"{self.base_url}/item", params=params) + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error getting items list: {e}") + return [] + + async def update_item_put(self, item_id: int, item_data: dict[str, Any]) -> dict[str, Any]: + """Update item using PUT (full replacement)""" + try: + response = await self.client.put(f"{self.base_url}/item/{item_id}", json=item_data) + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error updating item {item_id} with PUT: {e}") + return {} + + async def update_item_patch(self, item_id: int, item_data: dict[str, Any]) -> dict[str, Any]: + """Update item using PATCH (partial update)""" + try: + response = await self.client.patch(f"{self.base_url}/item/{item_id}", json=item_data) + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error updating item {item_id} with PATCH: {e}") + return {} + + async def delete_item(self, item_id: int) -> dict[str, Any]: + """Delete item (soft delete)""" + try: + response = await self.client.delete(f"{self.base_url}/item/{item_id}") + if response.status_code == 200: + # Track that this item was deleted + if item_id not in self.deleted_items: + self.deleted_items.append(item_id) + return response.json() + except Exception as e: + print(f"Error deleting item {item_id}: {e}") + return {} + + async def create_cart(self) -> dict[str, Any]: + """Create a new cart""" + try: + response = await self.client.post(f"{self.base_url}/cart") + if response.status_code == 201: + cart = response.json() + self.created_carts.append(cart["id"]) + return cart + except Exception as e: + print(f"Error creating cart: {e}") + return {} + + async def get_cart(self, cart_id: int) -> dict[str, Any]: + """Get cart by ID""" + try: + response = await self.client.get(f"{self.base_url}/cart/{cart_id}") + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error getting cart {cart_id}: {e}") + return {} + + async def get_carts_list(self, **params) -> List[dict[str, Any]]: + """Get list of carts with optional filters""" + try: + response = await self.client.get(f"{self.base_url}/cart", params=params) + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error getting carts list: {e}") + return [] + + async def add_item_to_cart(self, cart_id: int, item_id: int) -> dict[str, Any]: + """Add item to cart""" + try: + response = await self.client.post(f"{self.base_url}/cart/{cart_id}/add/{item_id}") + if response.status_code == 200: + return response.json() + except Exception as e: + print(f"Error adding item {item_id} to cart {cart_id}: {e}") + return {} + + async def random_item_operation(self): + """Perform a random item operation""" + operations = [ + self.create_item, + self.get_item, + self.get_items_list, + self.update_item_put, + self.update_item_patch, + self.delete_item, + ] + + operation = random.choice(operations) + + if operation == self.create_item: + await operation() + + elif operation == self.get_item: + if self.available_items: + item_id = random.choice(self.available_items) + await operation(item_id) + + elif operation == self.get_items_list: + params = {} + if random.random() < 0.3: # 30% chance to add filters + if random.random() < 0.5: + params["min_price"] = faker.pyfloat(positive=True, min_value=10.0, max_value=100.0) + if random.random() < 0.5: + params["max_price"] = faker.pyfloat(positive=True, min_value=200.0, max_value=500.0) + if random.random() < 0.3: + params["show_deleted"] = random.choice([True, False]) + if random.random() < 0.5: + params["offset"] = random.randint(0, 10) + if random.random() < 0.5: + params["limit"] = random.randint(1, 20) + await operation(**params) + + elif operation == self.update_item_put: + if self.available_items: + item_id = random.choice(self.available_items) + item_data = { + "name": f"Updated Item {uuid4().hex[:8]}", + "price": faker.pyfloat(positive=True, min_value=10.0, max_value=500.0) + } + await operation(item_id, item_data) + + elif operation == self.update_item_patch: + if self.available_items: + item_id = random.choice(self.available_items) + item_data = {} + if random.random() < 0.7: # 70% chance to update name + item_data["name"] = f"Patched Item {uuid4().hex[:8]}" + if random.random() < 0.7: # 70% chance to update price + item_data["price"] = faker.pyfloat(positive=True, min_value=10.0, max_value=500.0) + if item_data: # Only patch if we have something to update + await operation(item_id, item_data) + + elif operation == self.delete_item: + if self.available_items: + item_id = random.choice(self.available_items) + await operation(item_id) + + async def random_cart_operation(self): + """Perform a random cart operation""" + operations = [ + self.create_cart, + self.get_cart, + self.get_carts_list, + self.add_item_to_cart, + ] + + operation = random.choice(operations) + + if operation == self.create_cart: + await operation() + + elif operation == self.get_cart: + if self.created_carts: + cart_id = random.choice(self.created_carts) + await operation(cart_id) + + elif operation == self.get_carts_list: + params = {} + if random.random() < 0.3: # 30% chance to add filters + if random.random() < 0.5: + params["min_price"] = faker.pyfloat(positive=True, min_value=10.0, max_value=100.0) + if random.random() < 0.5: + params["max_price"] = faker.pyfloat(positive=True, min_value=200.0, max_value=500.0) + if random.random() < 0.5: + params["min_quantity"] = random.randint(0, 5) + if random.random() < 0.5: + params["max_quantity"] = random.randint(5, 20) + if random.random() < 0.5: + params["offset"] = random.randint(0, 10) + if random.random() < 0.5: + params["limit"] = random.randint(1, 20) + await operation(**params) + + elif operation == self.add_item_to_cart: + if self.created_carts and self.available_items: + cart_id = random.choice(self.created_carts) + item_id = random.choice(self.available_items) + await operation(cart_id, item_id) + + async def run_load_test(self, num_requests: int = NUM_REQUESTS, delay: float = REQUEST_DELAY): + """Run the load test""" + print(f"Starting load test with {num_requests} requests...") + print(f"API Base URL: {self.base_url}") + print(f"Request delay: {delay}s") + print("-" * 50) + + start_time = time.time() + + for i in range(num_requests): + # Randomly choose between item and cart operations (70% items, 30% carts) + if random.random() < 0.7: + await self.random_item_operation() + else: + await self.random_cart_operation() + + # Print progress every 100 requests + if (i + 1) % 100 == 0: + elapsed = time.time() - start_time + rate = (i + 1) / elapsed + print(f"Completed {i + 1}/{num_requests} requests (Rate: {rate:.2f} req/s)") + + # Add delay between requests + if delay > 0: + await asyncio.sleep(delay) + + total_time = time.time() - start_time + avg_rate = num_requests / total_time + + print("-" * 50) + print(f"Load test completed!") + print(f"Total requests: {num_requests}") + print(f"Total time: {total_time:.2f}s") + print(f"Average rate: {avg_rate:.2f} req/s") + print(f"Created items: {len(self.created_items)}") + print(f"Available items: {len(self.available_items)}") + print(f"Deleted items: {len(self.deleted_items)}") + print(f"Created carts: {len(self.created_carts)}") + + +async def main(): + """Main function""" + async with ShopAPILoadTester() as tester: + await tester.run_load_test() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/hw2/hw/prometheus.yml b/hw2/hw/prometheus.yml new file mode 100644 index 00000000..d42cacf9 --- /dev/null +++ b/hw2/hw/prometheus.yml @@ -0,0 +1,18 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +rule_files: + # - "first_rules.yml" + # - "second_rules.yml" + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'shop-api' + static_configs: + - targets: ['shop-api:8088'] + metrics_path: '/metrics' + scrape_interval: 5s diff --git a/hw2/hw/requirements.txt b/hw2/hw/requirements.txt index 88365b22..4c786a81 100644 --- a/hw2/hw/requirements.txt +++ b/hw2/hw/requirements.txt @@ -7,4 +7,5 @@ pytest>=7.4.0 pytest-asyncio>=0.21.0 httpx>=0.27.2 Faker>=37.8.0 -aiosqlite==0.21.0 \ No newline at end of file +aiosqlite==0.21.0 +prometheus-fastapi-instrumentator==7.1.0 diff --git a/hw2/hw/shop_api/main.py b/hw2/hw/shop_api/main.py index 787adcf3..631503a6 100644 --- a/hw2/hw/shop_api/main.py +++ b/hw2/hw/shop_api/main.py @@ -4,6 +4,7 @@ from typing import Optional from contextlib import asynccontextmanager import aiosqlite +from prometheus_fastapi_instrumentator import Instrumentator conn: aiosqlite.Connection | None = None @@ -42,6 +43,10 @@ async def lifespan(app: FastAPI): api_router_item = APIRouter(prefix='/item') +instrumentator = Instrumentator() +instrumentator.instrument(app).expose(app) + + async def get_conn() -> aiosqlite.Connection: global conn if conn is None: From 5e492f5c0d136fbbdd1903792b5dad7e99704b07 Mon Sep 17 00:00:00 2001 From: Georgiy Kiselev Date: Sat, 11 Oct 2025 17:09:26 +0300 Subject: [PATCH 6/6] hw3 new readme --- hw2/hw/README_hw3.md | 10 ++++++++++ hw2/hw/res/hw_3.png | Bin 0 -> 184519 bytes 2 files changed, 10 insertions(+) create mode 100644 hw2/hw/README_hw3.md create mode 100644 hw2/hw/res/hw_3.png diff --git a/hw2/hw/README_hw3.md b/hw2/hw/README_hw3.md new file mode 100644 index 00000000..be3cd561 --- /dev/null +++ b/hw2/hw/README_hw3.md @@ -0,0 +1,10 @@ +# Домашнее задание №3 + +Сделано на основе ДЗ2 (API магазина). Создан общий docker-compose.yaml и Dockerfile отдельно для приложения. + +Реализован мониторинг следующих метрик с помощью Prometheus и Grafana: количество успешных запросов, количество неуспешных запросов, количество запросов на замену товара (PUT, PATCH), количество имеющихся в базе товаров (с учетом удаленных). + +На основе файла с тестами написан скрипт **load_test.py**, который отправляет указанное количество случайных запросов к API на различные эндпоинты. + +Пример дашборда: +![пример дашборда](./res/hw_3.png) \ No newline at end of file diff --git a/hw2/hw/res/hw_3.png b/hw2/hw/res/hw_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a8483be494130ef17242d457bf7d67113dfde238 GIT binary patch literal 184519 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

5Vvr`-Lg1q=Eq#$nGj>53M4r4G9g#Lcy@aIf z-bkUXc$!bAg5h#Ib2G?Txu7<2^4oBpU^|v(L*QlWcYf3H@%43T3!{siB003393O5{ z2f=Zwkp}kEk!W^urkrV=BFKcJK}KAcheh6Wd)tSE?GK*Zl5PQ7!pYHbxVl)$VS4g7 zpCF&O8?s|FI{Xjd!0cJfn#mHWwL zV})Gd3}_b?xs%F_L5~%K)Wf9n=k{eW+NrV# zLQiIpftD5^@H;_X>x5t%XDD`>NBDqeR*`jZPjv&Abi&lycjUIS z-)UcJD0f-DfDkb`8pVDlJRCFn><2zzO`Y`X#_>A6)lDwo&=fs=&>#|+U{Vp>AIF2W z1py?i7Dfq=v09m=Bco6cxvSLT&ctD~QD)3@rX_wq>cho~Wpu}p8vL~@-1|AK{iaiU zl-HqzqzU^j6xO(xGBAhgXb9I^F2z}N*}Ic|B~Kw5hML?ON{CPIHHI>DHs_a&2&0q! zvI*K;`0NVzPS^nCTn>0-ze? z8uApc5FF%t*S2aAO+QUC0(Oo=_cGc@(_dype2L+#9igwm~y|OVn z3IUrJD6cF8nf0@X7HXCoNsdZ`M#^dlCaHou0?u^+xltU~T~S>~9!+Y&0vOpQCy(>$ zxPD_(;lkn~c48*bXpOV3newe}8|~J52+|>S+^2hSBX z{S@&%$mcZg{ursTJf;dg*Ddtj+%H%iB<-M^bS;N4qBCd1y(a|xoPf1_xP0TX+91X} z=zm9%(HK3a;w|q3Y9xjpJrK;+fjx07LhgOgaTkgFYp+_Vm& z#JE>v-E{+pJ%1H;{?x_(sC+XiVl(FXH3*)*?cazbd=6Eu zal-JlTY`g*-2U+oeindVslPe$zNn}D#NkhWe>*4pKSe(tp5T8Dp8Vg#|Hrt~{~fyj z9lF1l?~x<_pP`-qSL*&(>i+*Mb$8Dhsc|oivvk$1L%VCoZAGSMZ^zhGtX9fzuF`_v zS0>Yrp#CYL2;uvGp!mTj=Xg8q!tJ;V9eq6kAF^(|yVp0zX}`5W=64RN-w^rJ;;3ZH<-^!En}M5!re3;L-tj!@9IS%*My2hRjlYy~OU@oAWY?J^{9Fc2S<6mW zX&yOpH+^A#z64o0FxqrjGx0dkpisY4QZR*d+s|rfY$*SOgpJD@L%DaMSuw5k)(7$T zdjRrCV5M&B7w;wZ7E}#xc`GYsZo1N@>}7{3aMBMV?J<>xcX+SjcfZ}{1dq=; ztASoHKAyUuysmrR4&u8KS6DlYTd3vsQ9Sh;7z~#$P)j3X^*z>V>#|%R}s{8u;}gj zh6WpnnNV2ns2AqhbPZ^Jj+XUE5kT@a-gA#kDHd9aeBbRNOe;CB7Hd~%gOksV{$3ZF z#6KhckxSRyE?ltZ8~f1SUlk&R#Pp@%;_xVgHeL>!TG~FuV>7G^n*MAvghS1=zw)47Wr(E{I#iLCh%F~w5fboo3g#sw-z>qo&&tgurrckTjPxI#32 zG@AUSD?acoT;p7w^mgHZGLozA_lJ|(5$*Ldq=4Pa8R@BG?y9pZ(HBEiVS*`n-J+q` z@3LnPFY?63$Ha#a8RtFkb7}rDmMNX#k9VnHYNX|@>dfmF3B~g7a?p|F4goJmra;!LJdSl4GM!s#T)9B*!=#^|Q`W@=?(?Z|zWsc=@4l9iS!sKF$TSC#?CT!)6*K9t#CJlEh|-tE zyti(#!|rbZV~2Dv3@Od!`cQImR!X#v^@2!G}$@#wo_CcF(QZNKa%L*-3Wt@Gst+lF%8W}5i z?6Nf4F+HZvoskt&D6|xUbo*;7VKUqm&Q^xdv;FA) z;#^!_g)-YztZv?=SW%m?=#GRu2GcZeKa9y6sKQflzu6B!P1p0Uv0%BDnikv)dK6aS ze2+$N*|LwU#M>w{HQHo)03yez8iklAl>RSYox3-=T_;AJT!09iWIUYYYy=%Y`ik-K z_Qjx0rCgFF*-o~mOuYP8sCHOeiNbMPDcL)!i+5kq%^ImeW-2vc&e)m$%MIe82U=41 z!NXQKXBl|=EJu~pl;Es?Tl*1^(aQ@&d)VVq}zHJfXn zSAYf0Qb4PrE(XAN_FS|{iv_mKX~bfVi^Gu#a6)6*os*Z3#N_QfHuBReL;K;xc`q;3 zmI5{P?OU9)Jpa3u&X?6JSH{!Z7g1sDRwQSySLLI>JO4O-j}t4}Vz`7bEuRr@Yk^T! zVLuah+Rw8?hYIBRRMn_})M7zrYH-^qnfCeD9ASNdvcZ-$n3B4)N%f#pMQB8)Q*7q| zarf0ddr)r(bn+W&QQ@l|?MyLS(^YUi+}qbarWhvFRCEHjRcz*@NiI)n?M){8Wy^@} zGG67*_C<1{Qw1)9uu>0?Z5n9SCytcj>+&66RwOr@)@iqlM+b@A;Z?{rXR{VPys1$- z-#T?hu40jtxitRK>&rBbV{!26-{^%i-hW0;g+_>uT~}hkJU%h#1)}n=jvY?)g*3I) zj95pPX}H6!0(m$1pfvgFk+JLCSRR@LXnqj9!Wm&^7rvNh$CyT(0JokX6&ukTP?H0H zNOUzuJW02V3>upWigl@Q(lDW{UOK#wk1!MQIy{8flG|@FLEL8d>}bISUj@hP zoQ5Hdklo?A)6Oewmv4!CnPJpV;Malrq-8zS@Hc?C43q{5?eZ#9T*gYuvVR|C+Av}N zh0Eys%@=vDN;=-{-MZgc#yPn9oY{tez?Pj-Rbs$IWG}ho`sMHIb;Ip7x74zyif3t) zDh{DsN6y`bnQFO{2^<2u+dN^4q+mhV#|F{#Nc-ruYb>;(IVcv~hz^r454YNfnYtOck?c*^qPWb{~$rFdwCq#IaGn?FaRgqYBfH0BefB3*sc z4(|?p>#`Eya+hz5)4jbThcLMjgt+@t#5A5+>6x`=$VA5G*NW1fkb6mT zSRD0F#y>#dfk8rzPU0zgYj4-@9PSlI_INHvI4sDEFU!vu^Fi>RQ{*MJz%(!2%gHX1 zVn#-Qp8Ry_ENIyu?LeaH`s;k7-WwKCP_ME^mhX!J*9V=TpJ~eY&HpHoyld ztnfz+%$cnnW{r+~MO0O&Qg)~JOg4H<+I|+fK#Llx(%TDU&v?I?U%&g?>kf7E-~hF` zpU&4_UltXoN$zuaq@LYucoZwdu@aQE|31&>pxJP7nU49`2I_>QL1P7Ye()m18Hp8? z#MZUiLw&FnW@Pwfz-x$!LFpJzew!OzMqFzbMe`i-Sh*L{!?tk?<(DFFy zB;_S5up#RYZO9<2SR3K(pc^^zcYEpcjmz2>WzV$dIMIYg_8#LqAIS$j)hc{=+8LQ+O=it zmoAv2-{KyetQBK=Sl?na5tG>${pS}uu|w= z)IOiy+vYLZ#A{xTJlBh3m#%7b6)`3q)I=h7KP`gj<2@_fULlyX+dsrl20EP~lKG+@ zH0t_${3%NN)gj3gn+WE*_%sQ_Bw4Ro#d79STx_IzfIjT`=c|X~cWu}77<4t8Yn)&J zim1PN+TXRU*j{x`dwi2mh&pf|nS=Jks0tyh;Hj1~ISA6n`Ne54W=+r9t3^~fH7%9P znMGe{8t0H8A63HrFlNvNebYX+!aw?GMN!G$@x!N|tSXEi=ut*f_`f*1jOQA0mV6-o zFnDDZX$JXp0D9}9kuvt1!&SEa^?szQ2ZhtZkd)>~{ok6KM8(N-=RcaQsq zs;~sny{Ha(IDYks5EE;mH=(`b_t@N+~I^VU37h13$q28iJREc5Ay zy-NSL)!oG6kM%|XFNad1hDG_h?FQFXxr-)e#eG)|#OMd<@ci4|1y0t6Eg#d=s2eiy zzaq^82s2T3Q`L?M4{!m=wl|Tyg^wX!{Nm#4Xj4`Jq~&1O>lq=SHGKc6eSYZ=bT=(K zBZtnNy-dc+08;biwJ`f(+#rMaRj^B>??vnQ`p*cqIwFX;nv+T2Mk<}#w5!_k_TP>1 zNmpor9m&bDW&xK!^k!ql2+z0VYAnTNDKjtS4GzS@!!(cQ>8t zXw1DH?l`w^jO8iEKHiE@9%x`}kmBO%9<5Poc6g-eTBiQ{!$aWc`D24-gklNMz1qWj z1~PCh80?AShBN#q#V^_lFHuRe>YaZ0*U|;}eMn}`rM2YpSzWJ$_{B;4BadQBHQ+j% zQzglw4+`bQRF}vrHtLNorDl$_b6P+Izpd^;z*s;1PA;plV18*1R;@~{(e|sK=v17B zun=G(!CriuAaQd{q%CQ^Ry0oeerul=~{ zZ&r0+%x=z~zj-50X%)l(sbw#Z+27@Nv?##Tav%(ZKekx;o?vl?>bER(? z3nH{YW?x-CT>9ByjG7G_m75*b`K5NaJDf(`6{AK{93^o9Hr7O70Izilp^pKtrR~Cz zVww{KhljSUhK*N2sTOi&R-~iCeH!nADR|z02r&cWWncL)Dz8~cVa^p7+i5fKTU7N9 zC7^>B_P`*EFZgS>%N^&@JeOX|v`1>7_M0A{-`-F?++2!0aA=+fSJdY!w9J@HEZJIe z@^-qQiD#9tbzGP9Y@#V=XyWoXWQ(D0Lzm4H%&)1kTo2W{Rlq*%KD_uRoz$p0cMvba zXt%aG>EUXaB4NpO`!rkRU#`wxcf#8Hv2mjRRhW`i$E1kyrG92Ec<%a@M>|OvOZ2FJ zzLXCdt16W}I@@)szy+nY${-bv>!I;ZNS*2A<81S-i==do~LqriAam zw1IYE9NFYhoPPXh+USwM?0ddratYE?n?|=(sz!gBY_>Tl9hqN>)ISZuS`|p^%QFib zbS5?<$|jgjV{wuE+r@}4qd<;mW75;j^bHM|()>Ql08JSh9dV&JHK_mGm~0Rv*0xR5 zc^i9{Iih#Zc0VOQ)%*UN3jgnCPPUSM6k|*%b~T6gvy~oIufN{{mU$I4GI+qKOp8VJ z%hd(}`URualBdW!Ja<$v?j;SoqxmQ26}jb{isWgm z3uY`!U_`Y{y?yO<958%mThGu`Nk@Q!o_7e{mMIf!s_g_`%WauM#BhxhXW^h`Fe$=d zXZf5p1Bep6rYhvyuS-{OL;E%CxUfie{6qJ~8z;3GZD7EKLJild+XH)E$YuYL{{1YE z$E_7JoE#H8yv!pt zEMtT03|qyp0MPK^U`tS7^ha{QUb7Uu==Sw}#6i+nJ%JiU>K{0K9nJWt7VFl}oQREn$G~ph;*4hQsYsfHb`X={ZBu5CsGtpJq9%AC=h6h(7dNhzC!DA4wXR;F6}s=<*>Pb?Wt4 zueLKy$ET54dZM5)NvGvgs*U|NVY9E4KGsxkfb580R(85Kz#2olrCjujMuOL2`iCW$ z)x$Rg2UI{a7;?DJ5|0zHmcv%P3!XM`_J7bW>nGI?4m)S^C>3h!v06BLr&;j$qKGD+ z?oym^m&v82*$92Vs%-rlfgcX$Lq(woe%AMiAlQMQY?9Zs=^F}u<>Hl60@sF7xA@l_ zYER_8{qhZlql6-)4p_;h zvo2C>x~>y;lCgQzMH+-cf&M54`c?bWh!D|1k#kbx${r|xzNaN|99pImhJX$wYqjwmysxmaj&3=7(Ts_U0dmC3&FBC-{h=&Y5~u_Nlph zq^wIasj%gz*n=o-(1qAY|U1_ZEjtu)9<~X{tdAnqSbllL;T*Yv+U_9 zi$bzF@uLMho4fhd94Hcm1t&L zKx;} z#GdyHqxg0YIr1%@pK@^_Tq**WJv^k`V2F9qpRqZjV3eAZ@aqsY(v|y&<98pt^mIiQ zAj-#wW?ZSzhs<(IgZC33&lIfvpn~rEXFNBUOYD41*>w4+{b_D~z#rya2@uQPBv@6g zUnm3kAJCz1B!cPC^ZIEM`>)55GCFG`N^7QZJBk~y)c=1}t4WX~U-a^WN~;0a6uRh=cdx9cfAWK%cn z(@{y|Xm8!-_P29bCFb*7Puwp(dsq)(G{?3FnOedGYZJO~;D+mhdU8^+s4Y zsC8VpUEjdnDh)~`6+T%)cTDE0y%Li=XCe$<3_Lq8F1lB<9@5W_C12$hFjv*1X=U>WWnTA9 z_4|~ggaPnU%`fxPY-!`K9vb5M6N))rRAh9;FlX53SS;|HP?Ek%(ePM&&GBCOJajZ zpXKpM4JF4qBAI_&3=eDp#JKp<&yML|h8a(XTLKTCSu;h z!n$2>8FiX1fkR+a(%3g{$n$4XXH>5pqz3&QS}hzc;?Kn>v3|Vk`*RJECoN1pKy2W* zHAGsbuaiZ(%-qnYHAsXR+tTvv+PR+;TUCc`a+*$vmj3WqJwWlE7Y9K7CPkTYY4>Z` z2b1HTmyf)CJ}8SA@F`pY@AD-mS|9G}Z}9%!-O%dZd^)RNPS!$vl-oQ}gd_9BmN2FD zF-*UM?L51hYTU+Fi#7}oa+QNTU1quJ3h(d5B_4PGSA4B{Xb)PWoHg_Pu%L?p)QBK) z0NhMb+xZB0#SoxT{r?Y8WD?M!KA%V2LHQ`R>VP@5xSh+e;uGnR>I?1^I?xmB^BVH*i zUTceHtNMifu`~(RZp?)v62AUz?Z-7{FoPKRCKXW(v=)e`y@_ivk4LQm-MZ>T-Y7%n z66V(RBYO0!AR}g{RSyIZQLX-6Ss5wyB}eKzXHz(D%eDIHgD*}_n4pz0eIznmEfZiv zd+4_Iq9SE$rqYnTK?o4JL_5rS+y`IN?+l56-|dht@eC*0ZcG^jX z`D1J9l7cEGKPdK6``#kJgB(Qnn-71jXT*GrU4pu6374@1D}2A(Ih-HfSYuqhOf;$1;$Pee~tMyZPyNqAWiwx~SvID@016oIiX)i3R)WZVB% zV}T99&%MY>EDg?@oTa)!h`}*_fv0#P3iO)h?Kbg- zwAW2w&si^zT&rv>89lzXqN2Cg8b!`4CmBXt{gR285F8HZVgb2cM^r0Ewmdb%weYz+ z9(;+wdx|T4HYfwM>IZxeJ;^{BuxQX>C~m*fovwM^C-*CNOaQwcVeoT|f_M$MD139B2at0D z@z}Y7su7p{Cld9iBHj&#G`uPkmPE;;Psh3Y-5T7#-)(4I<36cD$|?!XfQ@8#zxO*9 zmr4?!dt3HK^0Z};5DyZ+a(ygWvWT8?S?{CXeEwX)*3j!!`yj zGY_`@ksrJoc@-&1-ZK&XgpoiirVQ}y%Qc&^J(K0m4cK$7HU=*X@$v%21UEwa=_W-b z;>8w%KxtEe7W0WE>{XZdsy;b+TLQ#`2}u+cEnC?z71QxS*BTl+=qWcRAyVK?vb$7mqqOi3J?UOdxf8Io*V-ka9|iQ_$8 zIO@?&9zHrKP<$!U4|?rtP;LH>QuOZe3M98+R`!S*P&LAZMlDPTsFzUFhxU{px1by! zIL91hRfigvqQ(a0B8E#oyOxr8?u%~{aLoQfwival57zP_46>CZ9=-iDu7@!oRa0qw zTJps&AZa8#ZvQkMjrlc*#==z&8A);X8-BdT?o=0{;n_+5@3*(6iCp(}zx}o^5IydLVIJcGb%j_d-$YkACTb6_Q_l|0 zpM79IPoHyTWTr7!^_XqUqXF4=z}gRq>7_>)KmzCFt0r9mWNr1(AzKsG#%J;@*KCfM z+1!~{BcsUY^y?Lkrkk|H>`)^C)3wM))KK5w-ngZsxcVANtV`|J+IE-x72Bt~yF`!| zGP@6JqZ;gUReiovFq;eQ&);Cjd`jg-lz(R%un~Q9eq*;(^DmZVC!2-C+($X-7!TOy z-}Ie=SbF@_zG6USaIPHk9z^B6i7y1WRc!Q4mnteUw^o-x8dCDAI7Em_8uilT@SqI_ zYkAg=dqF?Dcd36f2JYZdQ_OK)>%%)`{186eZJBN2&IOMXAKk$W@~a)>9NETcCEVAe zW{8o0h^i4P$1Q720lBB^2T<9c&doDdt66O}^3PQ}tuf4q3=+GZ3a%5aU0LS1g~ zXygmP=;2(fmq^)b+G z@@x3zPT6F*VyoKx*POD|;Qvq2h7Uy0(tk}Qf}A%7Sto*AdLx0h-c+wr?*Cmx<~iXH zm%|;S%tD}C;{M(68`g$|Gq$|b0gyfF^Q(*+Jf{&F%h7`xCu?@o+gg#o`tdpmba(Ue z-lAh3+-Ffdo@g_Q19j5_lqkhQ&zn&*t*Cx`ThZd)j2$Dl5!%~zJ+ICY1^%ke34>e= z?8pRo4f<4)&AzPv4wJLlNx6Njw91qbpNWprkr%Tm8F5P&!=7N)_g!5wKoW8da)z`| zc&Hbizlt&ojT_16`hvGS;Lh6ouye9Wd!B_3P(Fe4pgqF1J-Kl8vyTNEdHCvPx7c{^ z3V&~Hzt~rNdI|v?tq^zzzhfe^bhvHKm&((Tfv^>|0=39OrcMuVs7iM18t~ko!3ra{ zT*BSv0Ov<>`|r=JCy`7H|l4Y&+JD*%$^+K|UO z|5`{tdhf}c>`8Nhx(&YJg-?e+E(0fMYw=3=b%O0XvdkpFoE=w!!z@0tvvRk5R8TU< zm5&|XC02%Uh zj8Wv<)6(-#<6Qk^GwlaB;_Srm>2b+45cqZvIF-bA}k%T3G3@X(Y_M)HHofN@Cw{4OdDP57@T<-Zw$M@LEAtCZw`&6ja8Z z?#;$3a>#?i1Z+hsD^1kq5#Kq;akxTnR!l*Bt9yP_y;oRMzi9Kxp&b0@n#IxM=O4UG zC$7nBYbWEV*46AUj`Hk&G@$a%m9E^tVp#_YV5Sp+X{!oYByuNI4P;?x#_3igj?DO2 zG>`}m*deKSLCikCJ;yY3(X962Dgli+hd>NeAztAMU}}=knA>_SjEFK zHu{PbXjPMfgoE!bVZd4Y&A6-&6R7)-j@5+_i%dY;+us@#8)=w8-Q4)-cPnd#8H9ZZ zam&O^I$0EV%o8AM&6_Zq(|x>gN~6J{H5bdTp#ZW>n{wabm#3rit<2(s{qJ$@K1;Yf znSE1lU%cNNq-r5ei|(NV%6-G2-D}l|Y;@nb({(Pv;9l)iuBF}@=8bc~7V=aX$gX+J z^L!Y&jd{tH{Ds?sx} zy-O&1F%F~$w-~#uH8gye#h9%zgXm?09hlHmy32@*+wV7r?EgvmIRKbQMNOG$ykb;X zDOv&DQ_tD^)<}uZb?afZ zK&ms(4w8H)%LK%TSKe{+9eJEG*2*QtdSnk0M7yImh8(aHev} z#qqW;j{g>de=1`cxg`VIgC05m#-|7EGz;jNeBRU3Bi~04IP?~%4Oz5bW96Av#WrVL z2a^Urhs#D9KpuXbRAzzI&4Lm_>AK5hw{LH*XQXGMZ5s{rp8GcsO&5bk4lET72YmSl zij|r&Cg9xA@9B1vV9!!w!P=R;gBrlP&sv#2ZZ9gjpgvFH>w;>zi`AJ*yQJ4^?(sA> z1xO0JUFKbwy|5lzje}y>0^%RV2TP@4Atb&7dB%!SQLTOrpk4*m=Lml8_+t-jx0Vo$ zEl?nZ!-9-1u{@7l700WwWmaQAJhhrBNEfdN1HVeHJL z%Vw%IT7b$|m$Ytr+BAADxBJ97Lj+9(jWndUx4K{ogyd5SWC^vH?{rIx8z zuJ*fS9tgu<8G$52Dn~LpIjUqWU6S9{{~cN|+&LV1U@ot+Uk@WGNJIVz-OZakA8j<*5^@G1!WL z?{pO@pY7I0rUSGQCsf$WKY#c=QubD_?E1j2zPKl>OY@VTj#(knCVjuFqwjbx1rj*_ zfv-w2>ULShcSWX7=#gOtLfan36m!Te_3wgu0@C>WneVb+kI%}L_djd_#g^lHjkS|y zc#>NU=wTTecYHHp$qM}IKH7kBLzO1}by>Uy7tcs6(+r-dJE(ituJf&t=-EUXI6WSM zyf+@ZM!fcXpAN}M@z5Pl{t1#C&2qQED&(;Yx3D#vTOA-42+YEa-*-1aKGhSr=Y!-f znmN9_d%pdwz83oS8vdhHWdP37kpd0kgaW*IIy@`^K2K=&4KYv*`{$Eik~ck6<1|9O z5?-$-ajdqj=>4*jIQbFUSM4T+2ATJpTUwzq%vG0pyzO5BN8@YOMu#NM+*J4oE(iF} ztZxIIIy9V(ho5(5l9x%^^ilIz4eSTB9Ofv-7E5tb;#s1q+RwvBVjUzN_%7Mf#mZTu zGHR0cn8L!tN{K!jd#YNxBD*49vfmPa3B7dX`0Hx`sKa$>|vdOZ->H-);Ok4S)L5lFxkI}bJpfMr5~ zLglA7ZX=@|T45vaSN0&eGnfs_a?yh#{?Mu;@dk#C-eNo`+_xK z!3o=h1b&IY|;tvdPvksDK0hRC`DI~nFS`*nzLxss7*Dsx!4O`f_*$Xs z3qwCuu1B?@?30JQa7PL<#cpDd&5ozGPUa<_SJ1=lJgQ(>8~_I{nEC)I2;O`Fep z^b@65?NO(jR5Ku5GMC=%J(i>g@fVNXFXLEyT`N&A9%}6Jp6BAgF=IuFp{>nGdq28* zT+A_x4ro&pRzRNzFu2;Zr$3jZUDCKKw??6sW)>&9>-IHTZ+%bSCJ%`A)sMbvTJqdc zRjFvb`0Oe%j>7~F8()29^|O*a@!J^dWxtL6cx}ATmRydtO*}?Q%?Tqsf zf*1K$lX1m{+uCX|{npsDWH9E(ylV*Jm&m|5M(|dTv+8oFzKK%>C6$5$KICCaq|)x! z#~pIk35*I~q^=R*imvfdyZ#%D-iE{2QFatE~(hf4!H%k zN8lQ+KWamP&8@*z;mbp^sf^1?@Nb~{wt&VyQ!U+EONfTQ7LZ5%n!}o<%m`HD)J8~N z&Ncig2Ihs*S1XYt+sOLLNdlIu*TcKU4A-$?t^S1^eUvwsuDe4fWt>&xaB%l2F9hkO z*~rIPrfzv|G1~JQfV(rA`suYrxT?JB1V9atoF$IV2HgD(q%_dSjB4eXSn~s|2B9B= zvaVeWY(xS^pK!2svjW!7h z=9st7{*($88DeMvF88Y5hpz5)B*uM9nsPRF0abyUfKwkVv6T9nG*7SVkdr{%?+QLp zFkMMRZNJn9g({RvxD9q{Qs&T9?B9Up=~)!O=?{wrP2TQ(0yK@YwJ@={wZ1( zOG{*vw@?I>V9?w)?CcNzp9eIN(-VDA>yP zdRh9j0}%i#seSfZq_^%1Uk-opWo_=r3$&3LMyThkQ;6ddne_Rx#9E|M=*Q`vAPG>I z`tv4|hhNR$rIf3#=-I`Qd!ce<16#}nKqf{!mjLzFIg{uZqeO|U=?+pELA`g^Kt1bE zhyz_B=)GJs@bp5H8(i4B8X2mEGW7{Qy2WUJT+!>#vmM{(>)KK-I=Ver_~eRiPtE7D zjN4$TT5HFH{X9Wkx&S5HMsj`Cv|-AB>BQIu-oEsor%xuAj6fq(wNbOfw-NePD(Uk` zn6``fqY=83kpHP}a*lTs03#dnT-_VuA_GvAHxPm{ou_;@OsnaEG59 z*>*WG?XOQ5@cvU^1@a6N`i|7nmq@6VZUd#3z2~? zZZoUdUt9&z@><|sm?+;`)zbs|mF;sc!7To~^@iRa;5^7sWCab_JlwT^-1DeUG^s!e zUWdZk$~hPUJc6SG)d283Pv|`l@bEg$S-?*mQ+$G$s2(uUdv0}lZgdW?<+v>n6=@k_ zo`Iv?;1g}MQ_2=(La*68n2_zU`InRR%vEbaO#%}ng(5!2Fi+AP6kk3D0xjFMa7zAj z#sJFyR6Kz))CBHXSyuZnUdOGN_Erzh$jVsX$>KG0qRXxXsVhRb=|&hx((5mR91p_8iSEfa;VV+4QDF06 zLAEF6I|HAyQ+1Q=KwUb9(d?pyK5E0>m#1YLoytQWsXl+^53KxuzUr!0Qb@w0*E=+IBs z=>PLVDXEkmGmRQ-8CR&%8FYE`^rq&6GgNP_lzA5eQ7=ScgpI!&nZIgVGUeX0)M{h+ ze`X=4z-^BbzOJE0`{O(8zkA60_db%Om$*CT;2s}GAUn5ir zWHy+$**JtD^g~^C(>}DiyMcFA=pV#@3T4WDzA9O2gX~8|(Fs$w8p|U>SiefxqWC+3 zn=c^$Ss)5Ct`aTK(FEIaM7A%h2alG5!CS;b>8_%LK5M(Rm7`+RVE$Rtc_vPjSFRHM z&+~Okh{I)Rxs~%)lJ1d5BApd7fZM?YD0qoGK~v#B&>)WG30GmHRt3F!z|YW6eauN3 zr*cD{h-2Swh0y|#1buuMX~`gwKnBq0@bT~am9D?&H;46<;KN??NyZvWCw{{som8$Q ziiKPR@47k@`$0iY<32grR6K6Ioh{?oUfU-M#(l1Vk5NpwL?{{iOfr7ebP>pZXelZ# z3EuxD@CU;JbNatjqV^6KLEEYZLx6nZw{hf76}imwAhD3^|9SS1THFV6GQroB%Z}(- ztie>??4lMp$x|8&794CS{@ib(V+=1f^kLU+Vn+dn|9N`PRt0k7on)ktR}lUto}F)_ z>} z&4L!HL~{&Mgj(J0ebJh+hj}!x`F)0VTFAlwtab>2HcD#w?k(irJ4qnt;@ZFAptiS|uGR@1a|UxAiTS>0O`74Dn)8jx&PaegWEYD$sbj=? zk8>fPa7p0b_kg|7(`eAl`*IWgxo&Z-_y=NC4}(B&JzrAI>d{k^KZuNB25>M`4ir=aoWCw5L5zR@7n$2Wejac}K2@!drPj6n9r?AQd!3aSRJBE?% zS}V0ZaA1<0Jl7ToBF8_&dD|JkH1btbuK4SFe2ks-L}4vr%y5PIS1h<0)X46g@EDlp^0<7XQmmD-UORX^J}$7(Y$I7dYXeGf&yoy6O!{Atrl5}dK1b;? zEl;L82y-#_ILxccQ3Cz*1EJ@@1Wc2!$y-{6HZ(MNN8{j=m;rPQDWg@GL8PgV3uBA25gOK5_S1z=^=Iq--_ZY6bs7T|FG5 zy~O@>_8R1>#(#mq(JKE|k=2LUSfDhQ7Vh^0GtFqyYrMH6ee?zwY|b39O(GUi(PPhr z6uGWNPYy$MqGE}Ydo#AS)@X@qdtWPn)-A-v3t+WulyHVCo+!}@?~n+Nq`DBu04T#h zoFFdy5C@GEY?iJ!<-+diR`E4!qRZ?=+v!3D|Fi1^33F$9r^lD*u}7IaprrsjT#-v} z>?SdaYpB^*$?bhPD%+?(CtK2YjW8w~Z0A{)0@@8ezUNe%nDk=qy|1Rdlx8>m%f8eX zREOjPfKvvZy(BNtf2l@?XCyPfg0r^kF0+k(oF1c{!fxlC%J)p^QzglIRQtGgfZ!LG zohu1HKKzfU0McQ0OV^OD0e1D{_cwV<5L(zqw_Oau&7}y6#{f|Nyspr=H6LyZ&ZAnt z9?jcPu#a@}O0aY(X1+f1B~UFL-(dPCAY9j;_%M~Eyi(hR{12Tw*T#f9IGW;B(0gyM z_+YdY1=n~GpcnYvc!T^u(C=f;m6~9OL4ts?qZ-`>E-vj_R!{3hb!|trg=(kc1Ef3I zmCfr?fk0~h#}Q6V!GGfy)ihm6W&@eRbaXoO#J~C1Cg?-W2EC4d;n`b9g=KkalX7#< zY8E_hlmiGf)5cHIpNrbf8!qPY-HZ{F{df-Y>2Emv)7^H~G7NNt18{d~h)VBxomYXg zWh1mPR~`F}|NR1Kf^yezTiJj7EtECACttErX-PkGOD|5&Jc_B435*#WM77RaK!aYF z8rkQUyAGL%A%tPTX0EAS48ono0BpD4_L0qG!q#>uJGLy1Ol5l4Bo99WdMfVw-)G|` zPvw#l7j-qp)rN}V^ye5*io&h?3sJkvht-chYAOj7zjQhW+W2vE`0HIe+XelJ$kUL zkHYuI1b2j`9R?9W2(K{wO?NH{ zsya)&f-X5)wtkj!eZz3Tyri$xHQYcYCmS>jP2b!YDFo<%*D91Z_5++mi2ScF9rQot zMjyWS#kmu>G!WKD3H_lEFX`V-_mvKK_u1<&0~y+$a z4RkZK5~&|6=c&;k<(W_@=6!^Ivq}zRkpu_J|1Wa31%h%RrHKc^HcoEobq{6wXZ2Te z$TsjI()lH($6tlM1q>oxR1F%B{nJ-7^;pEO)4!6wBftGz_MGs$Is)H>moWwxqm}ge zO|)OIzfJszAJzqX-uTh`8BG0=Z33B$?lm%U6-oNV>t94iM}L&9DH*65WQq+STc9i^ zEU9Hju)&oR?|yWHT1LwUsO5;}%4n-mRZbqZG737r*N;#L?PKN`Lw(B9gAC2R6t@*f zz8JIuD*0gjT>ZNym?t*JtI8J8@PeGY-;Rn^(GO6vznAs?4N>K8rYaM&QduF7>*_TFK~=A~Q~;bo+MoqIq(c64Tb4 zX4TPSdEXUt))E`qHB=%Aeosq#FyK$oO4EbMTE@8Fn7)zk>Lpaf&LwCNJFqGqqXAQ) zDNS(8Zz$|Yymy>Z4ujbQfTN?Y@kn11o&6^W6DuiGg0j!zy{*zFxQ0B!n0yW^OtK5d|-&wL2HTfogLQ^CAlF&A&8^J{RS@=dFW8YK2KfzsX?{ zgNB4(C4GP3DS5uKva$rjD+})U2n?4~YaeCqspeFYtLSza6-m1o2S-l07Hf!$OH>O&SFli%ylg zI7Z%e6)ei>4XN6!RjHsaw`vC(6;V!qs~m2fk-ncG@1@8@ z&AUc~MH2-VL?S7NZ${ml*2!vDM7 zkpQ;mhG=H;)^NdUgs`9xtrl)1Kwu+=jq}{lg66CdLiFjS>G{q80Rpb8SH1W0u4DB$ z@_eeXU!>wqC(mKQDXYtJF$cicnd2@AmQkrJ-kZ3Y#9wGXh5}Zd)>L8cr$}u-rsx(7 zY#B=cRweu{@F@p#i~@N=lt$yW)oBr!3RTkk#$hE;OI0y`=Img7pR zDFD%zm;MVfDMMM?Zq{sheWL(m;z!AluS0%`U%{Y=la;{G)}NTGbfcNcsP+%|2_f0+ z*ZvH!t&@E;dF1nzZr7e4s>K0!7X0~#oJ;_^-8>1?LcPQ52G?Ki>_oZ%Lol|a{|g}5 zdHRBsyTCAM2`f(ViwQ@vx z-q8u?nm7P5o;h^pA!l;a1)%lm40cfz0(ndgykO<} zvu#|3ajr*2U~MLT;@P*^QUh%wG_p`Nz{{|xm8%?6e|;eu4`K}YXICpSBTl@j%B#E3 zrUB-R(Pw6|krtYAOOs3TylK0SsI>mzq5k>5G0QmAIX`nTf~D0@*{7UF8}$HL?{FWn zrsTr*T3;&z0~&8q0Jw?ZqD!0Lx&l-6gO}s=`mrD&DFd@nERdDL1tJaBb@_sPMl3JK znB=1cKo|c3%Eo=9Z+68B@oJkA%h=@?WzeK`xcB1I;{q9pMdn4EeS3X(JMGFTfP6jzu_tiu+UXTs0akH zeHLMr2{zp5fmMaF+X$(bT9v+48v(gt+28faeq4V^yScGy`g^Xy^!MlL^_l2VqtuDL zyzlT#L(Qrl4_yev^~PVMtZ5t7FMusy%IWBPj>LHw=~jTcyW3 z4(+35^aUn^6Ma8J_M49+O2^lGne>sYG-V|+Z{@sHfDQGJqb?uWUx5VLNu7Us4!5`m zN4JeklZn>aliIrpP<5Wd?^6DMPp$1oGa0_Md@-JKu1><*P18-S<_`$nY#Ir?6 z`TbnvPu9o_3X$FlMBbT*{z4GuImT@O9U}66c3LJ-{_|E5=1DoGRS)o={=duC#xmi- zTUV}4Se8CC=@JSp=i}LbUsBl0SB^Py{<#Xy()In@nFxi3vJgKbQ-2Lp|LjL%WQ4Q| zkw*%V#|ry(mlCOn`p3~}BvKq>2zW7!*NB9dE+h@Dje(XUXNw)YTFa;t`DlO@Wyt)U zsJlQ}US>tffq!@1L6alYe|iE~1NiQyq@pCO@eF8jd`$k=RkEe16;h=oJ1!Y5`77p0 zXqXyi@6aQi#OhDId)+Xz#WtcPh!%204lTHF83F!YMhkvL>69Z!KI;ODY9RU>ru02i zTk^ZgDThy!H?;ikqdQIeg!YFb$fL+%<-6y=X+-_2|8{TX8M~YyKdIW<#qlD~2*Oer zhXN7dGhsnE3d>^@eJ&bad<2Jm-$#+Rr+rz2k=gL>K*8QT{znq@Dg38Lx2ulbdfaYM zwp1J01XqG>L{B-~M>Slp$s&e8+y#Is?gU*lGdI_@v9Zw`#D{#mljKMZEIsmQ_+3=2 zCvRU_HYSsKNc>I=6UVzpay)MtFN=`d-@>#?zqjlk z%kZ_*x)PdnQ%lDm7)#Ax*bXdPl2^Pd9O>E8wPa0Wx)YYPL+?MQ#I`BK#)n9|BGo@3 z#Zgv{K;n!<^eU`46vcP61;*)0@OM(L#SBMAhnSm%wnr{S>hl%%B8rg@`mGMo;cR4V zXFyoO_=mh{X(fRxo@@4j;RwA;%qvMB(xG;bxG?OUG|m+5B!)B*i}@x1F98PQP-^kY zzkdRi7VeO|&WoMKy#lN4g7o>P9re=m!fN0sz>WH{y!ltJ4_Z8vS&SYQ27UXwm%QSJ z+q_IpWDg10ufQtt|0Y&}n{hZ(X%g6$NAP6MSM-takmvKP5mIjB3#wS>&~{Rn?%ywc zZ(2q!L&v_~KDv=Oc&aWI8EVP=%z_A5N0}EF--Wom64xO- z2dSfA_SHW5=>z<(k@sNM1dDc45#cHtHOkPoZkhEL0v{j!8zn#9`692_cq#JTjmL1O zZXNJlAJhjGbr>(?5)9=Tozxy^6d_5}9w>|uM)c$+M%fekR5@egjUl`JNTO&k? zg~;2Vgzsxjk|IQ-M3dItc#m4yLF2C6Uy@cgd1S4|I7mD6Y~9`FQ1=9`$F@G!`oZde z>HcRrvx28BC zG1MNl{tZGLr0&Vz;G-X*KM4Ds*>uosmh5iCd!M&p)F^XwwfuvPTg?ZOOL&mLD4eeW zHa3KJseAa8zI4UXS;&wB4f2#9=OVkFb=!*})y0NhCPP86h3DneC_|Gz7DOFD|K_^UppFDvwx4&01N3qE9f*X#>1LR3h^{I)u!rcz%pP>XeM+y7`rfsU93xtUbM$qRT zWDI>ZKZhzAb6r!aN;_G5t{AL{i}{dS)PF+nn>?T+WCq>pq<(d8jRFvf<7Z$jA-~3V z#7{1%O$8NsbB75ft>uL6H-zn{g_RcPk%rRlrzN$gX;JdRj>K@691Z*p7l9e=fE#DL zw_XT$xBhg&)LBHks8zUVRc;03CMqf|>)^8?f4PPM^P)g+{VPvJxtq>c->vHq-0~E*v2RFY&pK(;w_?PuL-vq!%SX; z6$i78Q|<&sHC*2J)R1dRD;O%a#>{^#q6MQe#s}z2ekZ2SsKQ9Q`B;!mwUq7s(QaHB zdGrID(0B6|hB@SXQ&H;t5`#*3C)G-~I2?_S^iTs&KXeu6F! zrRwyq6D`PlLV_84*&a3SO`b^r(j;+yT)GtWWjxm*dERF_OQfqC&BEQ z(7$xF>T{~KZYjZqYD$h6FL2NpjE_{9mkuOPFHk{@Llw_oBHH+d#R0~zdMPjku$-?| z#Q=>AKBJKkgJ8g0g&FX5b#=$5r>DoO03D%LSe2HPdS&dl*$dn&o40_G)are7q32ak zoOk(l!zOLtt!sVip#~tIxj4}#29!?+W-hLFJ4__qFv7Fy*oov z?qVP(!f3tRl_!vIi5s=7YCHB*MJ{<18OF7`xYJafdZc*g8yjTu((9lz{^{3Uhs&uX zx<>a*ucUdK8Fp&+h5eKOIA4ZaU7%#zuEbM8IECdjdR0JTf`fpMgp_;2L`?WZ$1NdE z;^%-<8fHs8fValE>SNPYIQaS6BbUJ{*XQY!TeBK=Xjn<#5LVm|NmKnP2UsG6(;iSZ zSEcjLvMQ{JBnfnVNXz>)oeX)m3kXNy864I-I_lw}SKz`mC7nxsY#h6qpCCgVBPXmX zzB4ZmT0N7!yDH(r4JGj;{Z@iaSEb-=t<{@}iNvI`TSS}**s$

9KW7dT5GLv# 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 literal 0 HcmV?d00001