From 1aaef71f52a89c2d09b907f8065d08f2cd8f40b9 Mon Sep 17 00:00:00 2001 From: john Date: Thu, 23 Jul 2026 11:42:40 +0800 Subject: [PATCH] Initial commit: Happy Up monorepo through Sprint 5. Document-driven MVP with FastAPI backend, Vue H5, WeChat mini shell, product demo, and Docker dev stack. Co-authored-by: Cursor --- .gitignore | 35 + Makefile | 45 + README.md | 84 + apps/api/.env.example | 27 + apps/api/README.md | 42 + apps/api/alembic.ini | 40 + apps/api/alembic/env.py | 47 + apps/api/alembic/script.py.mako | 19 + apps/api/alembic/versions/0001_baseline.py | 22 + apps/api/app/__init__.py | 0 apps/api/app/ai/__init__.py | 0 apps/api/app/ai/pose_analyzer.py | 119 + apps/api/app/ai/pose_metrics.py | 191 ++ apps/api/app/config.py | 36 + apps/api/app/core/__init__.py | 0 apps/api/app/core/response.py | 43 + apps/api/app/core/security.py | 28 + apps/api/app/db/__init__.py | 0 apps/api/app/db/models.py | 151 + apps/api/app/db/seed.py | 89 + apps/api/app/db/session.py | 23 + apps/api/app/deps.py | 54 + apps/api/app/main.py | 60 + apps/api/app/middleware.py | 11 + apps/api/app/mock_data.py | 82 + apps/api/app/queue/__init__.py | 0 apps/api/app/queue/analysis_queue.py | 57 + apps/api/app/routers/__init__.py | 0 apps/api/app/routers/admin.py | 20 + apps/api/app/routers/analysis.py | 90 + apps/api/app/routers/auth.py | 32 + apps/api/app/routers/children.py | 106 + apps/api/app/routers/reports.py | 67 + apps/api/app/routers/training.py | 95 + apps/api/app/routers/videos.py | 70 + apps/api/app/schemas/__init__.py | 0 apps/api/app/schemas/models.py | 165 ++ apps/api/app/services/__init__.py | 0 apps/api/app/services/admin.py | 66 + apps/api/app/services/analysis.py | 201 ++ apps/api/app/services/auth.py | 49 + apps/api/app/services/children.py | 88 + apps/api/app/services/oss.py | 134 + apps/api/app/services/pdf_export.py | 143 + apps/api/app/services/reports.py | 65 + apps/api/app/services/training.py | 148 + apps/api/app/services/videos.py | 53 + apps/api/app/worker.py | 29 + apps/api/pyproject.toml | 45 + apps/api/tests/conftest.py | 46 + apps/api/tests/test_api.py | 69 + apps/api/tests/test_sprint2.py | 94 + apps/api/tests/test_sprint3.py | 54 + apps/api/tests/test_sprint4.py | 85 + apps/api/tests/test_sprint5.py | 85 + apps/mini/README.md | 20 + apps/mini/app.js | 12 + apps/mini/app.json | 15 + apps/mini/app.wxss | 24 + apps/mini/pages/home/home.js | 22 + apps/mini/pages/home/home.json | 3 + apps/mini/pages/home/home.wxml | 8 + apps/mini/pages/home/home.wxss | 0 apps/mini/pages/login/login.js | 23 + apps/mini/pages/login/login.json | 3 + apps/mini/pages/login/login.wxml | 8 + apps/mini/pages/login/login.wxss | 6 + apps/mini/pages/screening/screening.js | 76 + apps/mini/pages/screening/screening.json | 3 + apps/mini/pages/screening/screening.wxml | 6 + apps/mini/pages/screening/screening.wxss | 0 apps/mini/project.config.json | 16 + apps/mini/sitemap.json | 4 + apps/mini/utils/api.js | 50 + apps/web/README.md | 32 + apps/web/index.html | 12 + apps/web/package.json | 21 + apps/web/src/App.vue | 37 + apps/web/src/api.ts | 161 ++ apps/web/src/main.ts | 6 + apps/web/src/router/index.ts | 26 + apps/web/src/style.css | 191 ++ apps/web/src/views/HomeView.vue | 44 + apps/web/src/views/LoginView.vue | 41 + apps/web/src/views/ReportView.vue | 77 + apps/web/src/views/ScreeningView.vue | 95 + apps/web/src/views/TrainingView.vue | 45 + apps/web/src/vite-env.d.ts | 7 + apps/web/tsconfig.json | 23 + apps/web/tsconfig.node.json | 10 + apps/web/vite.config.ts | 15 + contracts/README.md | 14 + contracts/database.sql | 316 ++ contracts/openapi.yaml | 670 +++++ ...osture_Platform_BUSINESS_DELIVERY_V1.0.zip | Bin 0 -> 502217 bytes .../儿童AI体态管理商业计划书.docx | Bin 0 -> 40376 bytes .../02_企业级PRD/PRD完整版.docx | Bin 0 -> 40603 bytes .../03_技术架构/产品交互Demo.html | 2563 +++++++++++++++++ .../03_技术架构/企业级系统架构.docx | Bin 0 -> 39898 bytes .../03_技术架构/系统架构与建设规划.html | 922 ++++++ .../03_技术架构/系统架构与建设规划.md | 424 +++ .../04_AI视觉算法/AI视觉算法详细设计.docx | Bin 0 -> 40117 bytes .../05_视频处理系统/视频处理工程设计.docx | Bin 0 -> 39677 bytes .../06_数据库设计/database.sql | 316 ++ .../07_API接口/openapi.yaml | 670 +++++ .../08_Agent智能系统/Agent设计规范.docx | Bin 0 -> 39718 bytes .../09_前端产品设计/前端产品详细设计.docx | Bin 0 -> 39705 bytes .../10_后端工程设计/后端工程详细设计.docx | Bin 0 -> 39875 bytes .../11_管理后台/管理后台详细设计.docx | Bin 0 -> 39500 bytes .../12_研发计划/研发计划与项目管理.docx | Bin 0 -> 39563 bytes .../13_测试验收/测试验收标准.docx | Bin 0 -> 39643 bytes .../14_部署运维/生产部署运维.docx | Bin 0 -> 39648 bytes .../15_运营SOP/商业运营与课程SOP.docx | Bin 0 -> 39909 bytes .../README.md | 61 + ...AI体态管理与运动康复平台_PRD_Final_V1.0.docx | Bin 0 -> 40900 bytes docker-compose.yml | 48 + 116 files changed, 10550 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 apps/api/.env.example create mode 100644 apps/api/README.md create mode 100644 apps/api/alembic.ini create mode 100644 apps/api/alembic/env.py create mode 100644 apps/api/alembic/script.py.mako create mode 100644 apps/api/alembic/versions/0001_baseline.py create mode 100644 apps/api/app/__init__.py create mode 100644 apps/api/app/ai/__init__.py create mode 100644 apps/api/app/ai/pose_analyzer.py create mode 100644 apps/api/app/ai/pose_metrics.py create mode 100644 apps/api/app/config.py create mode 100644 apps/api/app/core/__init__.py create mode 100644 apps/api/app/core/response.py create mode 100644 apps/api/app/core/security.py create mode 100644 apps/api/app/db/__init__.py create mode 100644 apps/api/app/db/models.py create mode 100644 apps/api/app/db/seed.py create mode 100644 apps/api/app/db/session.py create mode 100644 apps/api/app/deps.py create mode 100644 apps/api/app/main.py create mode 100644 apps/api/app/middleware.py create mode 100644 apps/api/app/mock_data.py create mode 100644 apps/api/app/queue/__init__.py create mode 100644 apps/api/app/queue/analysis_queue.py create mode 100644 apps/api/app/routers/__init__.py create mode 100644 apps/api/app/routers/admin.py create mode 100644 apps/api/app/routers/analysis.py create mode 100644 apps/api/app/routers/auth.py create mode 100644 apps/api/app/routers/children.py create mode 100644 apps/api/app/routers/reports.py create mode 100644 apps/api/app/routers/training.py create mode 100644 apps/api/app/routers/videos.py create mode 100644 apps/api/app/schemas/__init__.py create mode 100644 apps/api/app/schemas/models.py create mode 100644 apps/api/app/services/__init__.py create mode 100644 apps/api/app/services/admin.py create mode 100644 apps/api/app/services/analysis.py create mode 100644 apps/api/app/services/auth.py create mode 100644 apps/api/app/services/children.py create mode 100644 apps/api/app/services/oss.py create mode 100644 apps/api/app/services/pdf_export.py create mode 100644 apps/api/app/services/reports.py create mode 100644 apps/api/app/services/training.py create mode 100644 apps/api/app/services/videos.py create mode 100644 apps/api/app/worker.py create mode 100644 apps/api/pyproject.toml create mode 100644 apps/api/tests/conftest.py create mode 100644 apps/api/tests/test_api.py create mode 100644 apps/api/tests/test_sprint2.py create mode 100644 apps/api/tests/test_sprint3.py create mode 100644 apps/api/tests/test_sprint4.py create mode 100644 apps/api/tests/test_sprint5.py create mode 100644 apps/mini/README.md create mode 100644 apps/mini/app.js create mode 100644 apps/mini/app.json create mode 100644 apps/mini/app.wxss create mode 100644 apps/mini/pages/home/home.js create mode 100644 apps/mini/pages/home/home.json create mode 100644 apps/mini/pages/home/home.wxml create mode 100644 apps/mini/pages/home/home.wxss create mode 100644 apps/mini/pages/login/login.js create mode 100644 apps/mini/pages/login/login.json create mode 100644 apps/mini/pages/login/login.wxml create mode 100644 apps/mini/pages/login/login.wxss create mode 100644 apps/mini/pages/screening/screening.js create mode 100644 apps/mini/pages/screening/screening.json create mode 100644 apps/mini/pages/screening/screening.wxml create mode 100644 apps/mini/pages/screening/screening.wxss create mode 100644 apps/mini/project.config.json create mode 100644 apps/mini/sitemap.json create mode 100644 apps/mini/utils/api.js create mode 100644 apps/web/README.md create mode 100644 apps/web/index.html create mode 100644 apps/web/package.json create mode 100644 apps/web/src/App.vue create mode 100644 apps/web/src/api.ts create mode 100644 apps/web/src/main.ts create mode 100644 apps/web/src/router/index.ts create mode 100644 apps/web/src/style.css create mode 100644 apps/web/src/views/HomeView.vue create mode 100644 apps/web/src/views/LoginView.vue create mode 100644 apps/web/src/views/ReportView.vue create mode 100644 apps/web/src/views/ScreeningView.vue create mode 100644 apps/web/src/views/TrainingView.vue create mode 100644 apps/web/src/vite-env.d.ts create mode 100644 apps/web/tsconfig.json create mode 100644 apps/web/tsconfig.node.json create mode 100644 apps/web/vite.config.ts create mode 100644 contracts/README.md create mode 100644 contracts/database.sql create mode 100644 contracts/openapi.yaml create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0.zip create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/01_商业计划书/儿童AI体态管理商业计划书.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/02_企业级PRD/PRD完整版.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/产品交互Demo.html create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/企业级系统架构.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.html create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.md create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/04_AI视觉算法/AI视觉算法详细设计.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/05_视频处理系统/视频处理工程设计.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/06_数据库设计/database.sql create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/07_API接口/openapi.yaml create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/08_Agent智能系统/Agent设计规范.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/09_前端产品设计/前端产品详细设计.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/10_后端工程设计/后端工程详细设计.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/11_管理后台/管理后台详细设计.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/12_研发计划/研发计划与项目管理.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/13_测试验收/测试验收标准.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/14_部署运维/生产部署运维.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/15_运营SOP/商业运营与课程SOP.docx create mode 100644 doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md create mode 100644 doc/儿童AI体态管理与运动康复平台_PRD_Final_V1.0.docx create mode 100644 docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78842e2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# Python +__pycache__/ +*.py[cod] +*.egg-info/ +.venv/ +venv/ +.env +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +htmlcov/ +.coverage + +# Node (future frontend packages) +node_modules/ +dist/ +.next/ + +# IDE / OS +.idea/ +.vscode/ +.DS_Store +*.swp + +# Logs & local data +*.log +logs/ +tmp/ +data/ + +# Sprint 4 local uploads +apps/api/data/ + +# Docker volumes +.docker/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8f16a1a --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +.PHONY: help sync-contracts up down db-init api-dev api-test web-dev + +DOC_ROOT := doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0 + +help: + @echo "happy-up monorepo" + @echo "" + @echo " make sync-contracts 从 doc/ 同步 openapi + database.sql" + @echo " make up 启动 MySQL + Redis + MinIO" + @echo " make down 停止容器" + @echo " make db-init 初始化数据库(需 up 后执行)" + @echo " make api-dev 启动 FastAPI 开发服务" + @echo " make api-test 运行 API 单元测试" + @echo " make web-dev 启动 Vue H5 前端(需 npm install)" + +sync-contracts: + cp $(DOC_ROOT)/07_API接口/openapi.yaml contracts/openapi.yaml + cp $(DOC_ROOT)/06_数据库设计/database.sql contracts/database.sql + +up: + docker compose up -d + +down: + docker compose down + +db-init: + docker compose exec -T mysql mysql -uhappy_up -phappy_up happy_up < contracts/database.sql || true + +api-dev: + cd apps/api && python3.11 -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 + +api-seed: + cd apps/api && python3.11 -m app.db.seed + +api-migrate-stamp: + cd apps/api && python3.11 -m alembic stamp head + +api-test: + cd apps/api && python3.11 -m pytest -q + +api-worker: + cd apps/api && python3.11 -m app.worker + +web-dev: + cd apps/web && npm run dev diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ee82e0 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# Happy Up · 儿童 AI 体态管理平台 + +文档驱动 → 产品 Demo → 工程化启动的 monorepo 仓库。 + +## 仓库结构 + +``` +happy-up/ +├── contracts/ # OpenAPI + database.sql(从 doc/ 同步) +├── apps/ +│ ├── api/ # FastAPI 后端(Sprint 1–5) +│ ├── web/ # Vue 3 H5 前端(Sprint 4–5) +│ └── mini/ # 微信小程序壳(Sprint 5) +├── doc/ # 商业交付文档包 V1.0 +├── scripts/ # 运维/初始化脚本 +├── docker-compose.yml # MySQL 8 + Redis 7 + MinIO +└── Makefile +``` + +## 快速开始 + +### 1. 合伙人 / 产品 Demo(无需后端) + +```bash +open "doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/产品交互Demo.html" +``` + +Demo 能力(P2):WebRTC 摄像头预览 · Ghost 跟练 · 真实 PDF 导出 · 28 天趋势 · 三报告对比 + +### 2. 架构文档 + +```bash +open "doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.html" +``` + +### 3. 研发启动(P3 工程骨架) + +```bash +# 启动数据库 +make up + +# API 开发 +cd apps/api +python -m venv .venv && source .venv/bin/activate +pip install -e ".[dev]" +cp .env.example .env +make api-dev # 或从根目录: make api-dev + +# 测试 +make api-test + +# H5 前端(另开终端) +cd apps/web && npm install && npm run dev + +# 微信小程序:微信开发者工具导入 apps/mini +``` + +- API 文档:http://127.0.0.1:8000/docs +- H5 开发:http://localhost:5173 +- MinIO 控制台:http://127.0.0.1:9001(minioadmin / minioadmin) +- 契约单一来源:`doc/.../07_API接口/openapi.yaml`(工程副本在 `contracts/`) + +## 当前进度 + +| 阶段 | 状态 | 交付物 | +|------|------|--------| +| P0 方案 | ✅ | PRD、架构 MD/HTML、OpenAPI、DB 设计 | +| P1 Demo | ✅ | 产品交互 Demo(跟练/趋势/儿童端/PDF) | +| P2 Demo 增强 | ✅ | 摄像头预览 + 真实 PDF 导出 | +| **P3 工程化** | **✅ Starter** | **Git + monorepo + FastAPI 骨架 + Docker** | +| **Sprint 1** | **✅** | **JWT Auth + 儿童 CRUD 落库 + Demo API 联调** | +| **Sprint 2** | **✅** | **视频/分析/报告落库 + Redis 队列 + 筛查 Demo 联调** | +| **Sprint 3** | **✅** | **训练计划/打卡 + Admin 看板 + 全链路 Demo** | +| **Sprint 4** | **✅** | **本地/MinIO 直传 + AI 骨架 + Vue H5 + 租户隔离** | +| **Sprint 5** | **✅** | **MediaPipe 评分 + PDF 导出 + 阿里云 OSS + 小程序壳** | +| Sprint 6 | 🔜 | 模型标定、完整小程序、复核工作流、生产部署 | + +## 文档索引 + +完整文档目录见 [doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md](doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md) + +--- + +*本平台 AI 报告用于健康管理建议,不构成医疗诊断。* diff --git a/apps/api/.env.example b/apps/api/.env.example new file mode 100644 index 0000000..6cd8ef7 --- /dev/null +++ b/apps/api/.env.example @@ -0,0 +1,27 @@ +APP_NAME=Kids AI Posture Platform API +APP_ENV=development +APP_DEBUG=true +DATABASE_URL=mysql+pymysql://happy_up:happy_up@127.0.0.1:3306/happy_up?charset=utf8mb4 +REDIS_URL=redis://127.0.0.1:6379/0 +JWT_SECRET=change-me-in-production-use-32-char-min +JWT_EXPIRE_MINUTES=10080 +DEMO_SMS_CODE=682139 +ANALYSIS_INLINE_PROCESS=true +WEBHOOK_SECRET=dev-webhook-secret-change-me +CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173,http://127.0.0.1:5500,null +API_PUBLIC_URL=http://127.0.0.1:8000 +UPLOAD_LOCAL_DIR=data/uploads +OSS_ENABLED=false +OSS_PROVIDER=minio +OSS_ENDPOINT=http://127.0.0.1:9000 +OSS_ACCESS_KEY=minioadmin +OSS_SECRET_KEY=minioadmin +OSS_BUCKET=happy-up-videos +OSS_REGION=us-east-1 +OSS_CDN_BASE_URL= + +# 生产阿里云示例(OSS_ENABLED=true 时生效) +# OSS_PROVIDER=aliyun +# OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com +# OSS_REGION=cn-hangzhou +# OSS_CDN_BASE_URL=https://cdn.your-domain.com diff --git a/apps/api/README.md b/apps/api/README.md new file mode 100644 index 0000000..b7e0477 --- /dev/null +++ b/apps/api/README.md @@ -0,0 +1,42 @@ +# happy-up API + +基于 `contracts/openapi.yaml` 的 FastAPI 工程。**Sprint 3** 完成训练计划/打卡 + Admin 看板落库,OpenAPI 契约模块已全部对接 DB。 + +## 快速启动 + +```bash +cd ../.. && make up +cd apps/api && source .venv/bin/activate +pip install -e ".[dev]" +cp .env.example .env +make api-seed +make api-dev +``` + +## 模块状态(全部落库) + +| 模块 | 端点 | +|------|------| +| Auth + Children | `/api/auth/*` `/api/children/*` | +| Videos + Analysis + Reports | `/api/videos/*` `/api/analysis/*` `/api/reports/*` | +| Training | `/api/training/plans*` | +| Admin | `/api/admin/dashboard` | + +## Demo 全链路联调 + +1. `make api-dev` +2. 打开 `产品交互Demo.html` → **API 联调开** +3. 家长端:登录 → 筛查 → 报告 → **训练计划** → 跟练 → **打卡写入** +4. 管理后台:运营看板 KPI 来自真实 DB 聚合 + +## 测试 + +```bash +make api-test # 9 用例 +``` + +## Worker + +```bash +make api-worker # 分析任务 Redis 消费者 +``` diff --git a/apps/api/alembic.ini b/apps/api/alembic.ini new file mode 100644 index 0000000..bac4e98 --- /dev/null +++ b/apps/api/alembic.ini @@ -0,0 +1,40 @@ +[alembic] +script_location = alembic +prepend_sys_path = . +version_path_separator = os + +sqlalchemy.url = driver://user:pass@localhost/dbname + +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/apps/api/alembic/env.py b/apps/api/alembic/env.py new file mode 100644 index 0000000..3d0e542 --- /dev/null +++ b/apps/api/alembic/env.py @@ -0,0 +1,47 @@ +from logging.config import fileConfig + +from alembic import context +from sqlalchemy import engine_from_config, pool + +from app.config import settings +from app.db.session import Base + +config = context.config +if config.config_file_name is not None: + fileConfig(config.config_file_name) + +config.set_main_option("sqlalchemy.url", settings.database_url) +target_metadata = Base.metadata + + +def run_migrations_offline() -> None: + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, + target_metadata=target_metadata, + literal_binds=True, + dialect_opts={"paramstyle": "named"}, + ) + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online() -> None: + connectable = engine_from_config( + config.get_section(config.config_ini_section, {}), + prefix="sqlalchemy.", + poolclass=pool.NullPool, + ) + + with connectable.connect() as connection: + context.configure(connection=connection, target_metadata=target_metadata) + + with context.begin_transaction(): + context.run_migrations() + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/apps/api/alembic/script.py.mako b/apps/api/alembic/script.py.mako new file mode 100644 index 0000000..892152f --- /dev/null +++ b/apps/api/alembic/script.py.mako @@ -0,0 +1,19 @@ +"""Generic Alembic single-database template.""" + +from alembic import op +import sqlalchemy as sa + +${imports if imports else ""} + +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade() -> None: + ${upgrades if upgrades else "pass"} + + +def downgrade() -> None: + ${downgrades if downgrades else "pass"} diff --git a/apps/api/alembic/versions/0001_baseline.py b/apps/api/alembic/versions/0001_baseline.py new file mode 100644 index 0000000..bb8bd35 --- /dev/null +++ b/apps/api/alembic/versions/0001_baseline.py @@ -0,0 +1,22 @@ +"""baseline from contracts/database.sql + +Schema is initialized by docker-compose (contracts/database.sql). +Alembic tracks future incremental migrations from this baseline. + +Revision ID: 0001 +Revises: +Create Date: 2026-07-23 +""" + +revision = "0001" +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade() -> None: + pass + + +def downgrade() -> None: + pass diff --git a/apps/api/app/__init__.py b/apps/api/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/ai/__init__.py b/apps/api/app/ai/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/ai/pose_analyzer.py b/apps/api/app/ai/pose_analyzer.py new file mode 100644 index 0000000..f6cf832 --- /dev/null +++ b/apps/api/app/ai/pose_analyzer.py @@ -0,0 +1,119 @@ +"""Pose analysis pipeline — MediaPipe frame extraction with mock fallback.""" + +from __future__ import annotations + +from pathlib import Path + +from app.ai.pose_metrics import FrameLandmarks, build_movement_report, build_screening_report +from app.mock_data import MOCK_MOVEMENT_REPORT, MOCK_REPORT + +MAX_FRAMES = 32 +FRAME_STRIDE = 6 + + +def analyze_task(task_type: str, video_path: Path | None = None) -> dict: + if video_path and video_path.exists(): + mediapipe_result = _analyze_video(video_path, task_type) + if mediapipe_result: + return mediapipe_result + + return _mock_result(task_type) + + +def _mock_result(task_type: str) -> dict: + if task_type == "movement_scoring": + return { + "engine": "mock", + "confidence": 0.88, + "report": {**MOCK_MOVEMENT_REPORT}, + "modelVersion": "mock-movement-v1", + } + return { + "engine": "mock", + "confidence": 0.88, + "report": {**MOCK_REPORT}, + "modelVersion": "mock-screening-v1", + } + + +def _analyze_video(video_path: Path, task_type: str) -> dict | None: + frames = _extract_pose_frames(video_path) + if not frames: + return None + + try: + if task_type == "movement_scoring": + report = build_movement_report(frames) + else: + report = build_screening_report(frames) + except ValueError: + return None + + confidences = [] + if task_type != "movement_scoring": + for metric in report.get("metrics", []): + if "confidence" in metric: + confidences.append(metric["confidence"]) + + return { + "engine": "mediapipe", + "confidence": round(mean(confidences) if confidences else 0.9, 2), + "report": report, + "modelVersion": "mediapipe-pose-v2", + "frameCount": len(frames), + "sourceFile": video_path.name, + } + + +def _extract_pose_frames(video_path: Path) -> list[FrameLandmarks]: + try: + import cv2 + import mediapipe as mp + except ImportError: + return [] + + capture = cv2.VideoCapture(str(video_path)) + if not capture.isOpened(): + return [] + + pose = mp.solutions.pose.Pose( + static_image_mode=False, + model_complexity=1, + min_detection_confidence=0.5, + min_tracking_confidence=0.5, + ) + + frames: list[FrameLandmarks] = [] + index = 0 + try: + while capture.isOpened() and len(frames) < MAX_FRAMES: + ok, image = capture.read() + if not ok: + break + if index % FRAME_STRIDE != 0: + index += 1 + continue + index += 1 + + rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + result = pose.process(rgb) + if not result.pose_landmarks: + continue + + frame: FrameLandmarks = {} + for idx, landmark in enumerate(result.pose_landmarks.landmark): + frame[idx] = { + "x": landmark.x, + "y": landmark.y, + "visibility": landmark.visibility, + } + frames.append(frame) + finally: + pose.close() + capture.release() + + return frames + + +def mean(values: list[float]) -> float: + return sum(values) / len(values) if values else 0.0 diff --git a/apps/api/app/ai/pose_metrics.py b/apps/api/app/ai/pose_metrics.py new file mode 100644 index 0000000..a916a63 --- /dev/null +++ b/apps/api/app/ai/pose_metrics.py @@ -0,0 +1,191 @@ +"""Pure posture metric helpers — testable without MediaPipe/OpenCV.""" + +from __future__ import annotations + +import math +from statistics import mean, pstdev + +# MediaPipe Pose landmark indices +NOSE = 0 +LEFT_SHOULDER = 11 +RIGHT_SHOULDER = 12 +LEFT_HIP = 23 +RIGHT_HIP = 24 + +Landmark = dict[str, float] +FrameLandmarks = dict[int, Landmark] + +METRIC_NAMES = ("头前伸", "高低肩", "骨盆倾斜") + + +def _point(frame: FrameLandmarks, idx: int) -> Landmark | None: + point = frame.get(idx) + if not point or point.get("visibility", 0) < 0.5: + return None + return point + + +def _shoulder_width(frame: FrameLandmarks) -> float | None: + left = _point(frame, LEFT_SHOULDER) + right = _point(frame, RIGHT_SHOULDER) + if not left or not right: + return None + width = abs(right["x"] - left["x"]) + return width if width > 1e-4 else None + + +def score_head_forward(frame: FrameLandmarks) -> float | None: + nose = _point(frame, NOSE) + left = _point(frame, LEFT_SHOULDER) + right = _point(frame, RIGHT_SHOULDER) + width = _shoulder_width(frame) + if not nose or not left or not right or not width: + return None + mid_x = (left["x"] + right["x"]) / 2 + offset = abs(nose["x"] - mid_x) / width + return min(100.0, max(0.0, offset * 180)) + + +def score_shoulder_asymmetry(frame: FrameLandmarks) -> float | None: + left = _point(frame, LEFT_SHOULDER) + right = _point(frame, RIGHT_SHOULDER) + width = _shoulder_width(frame) + if not left or not right or not width: + return None + diff = abs(left["y"] - right["y"]) / width + return min(100.0, max(0.0, diff * 220)) + + +def score_pelvic_tilt(frame: FrameLandmarks) -> float | None: + left = _point(frame, LEFT_HIP) + right = _point(frame, RIGHT_HIP) + if not left or not right: + return None + angle = abs(math.degrees(math.atan2(right["y"] - left["y"], right["x"] - left["x"]))) + tilt = min(angle, 180 - angle) + return min(100.0, max(0.0, tilt * 4.5)) + + +def value_to_level(value: float) -> str: + if value < 35: + return "normal" + if value < 55: + return "low" + if value < 75: + return "medium" + return "high" + + +def aggregate_metric(values: list[float]) -> tuple[float, str, float]: + avg = mean(values) + level = value_to_level(avg) + confidence = min(0.98, 0.72 + min(len(values), 24) * 0.01) + return round(avg, 1), level, round(confidence, 2) + + +def build_screening_report(frames: list[FrameLandmarks]) -> dict: + head_vals: list[float] = [] + shoulder_vals: list[float] = [] + pelvic_vals: list[float] = [] + + for frame in frames: + head = score_head_forward(frame) + shoulder = score_shoulder_asymmetry(frame) + pelvic = score_pelvic_tilt(frame) + if head is not None: + head_vals.append(head) + if shoulder is not None: + shoulder_vals.append(shoulder) + if pelvic is not None: + pelvic_vals.append(pelvic) + + if not head_vals and not shoulder_vals and not pelvic_vals: + raise ValueError("insufficient_pose_frames") + + metrics = [] + for name, values in zip(METRIC_NAMES, (head_vals, shoulder_vals, pelvic_vals), strict=True): + if not values: + continue + value, level, confidence = aggregate_metric(values) + metrics.append({"name": name, "value": value, "level": level, "confidence": confidence}) + + worst = max((m["value"] for m in metrics), default=0) + risk_level = value_to_level(worst) + if risk_level == "normal": + summary = "体态指标整体正常,建议保持日常活动与姿势习惯" + elif risk_level == "low": + summary = "存在轻度体态偏差,建议开始基础纠正训练" + elif risk_level == "medium": + summary = "建议关注头前伸与高低肩,开始针对性训练" + else: + summary = "多项指标偏高,建议尽快安排专业评估与干预" + + recommendations = [] + head_metric = next((m for m in metrics if m["name"] == "头前伸"), None) + shoulder_metric = next((m for m in metrics if m["name"] == "高低肩"), None) + if head_metric and head_metric["level"] in ("medium", "high"): + recommendations.append("每日肩胛稳定训练 5 分钟") + recommendations.append("颈后肌群拉伸 3 组") + if shoulder_metric and shoulder_metric["level"] in ("medium", "high"): + recommendations.append("对称性肩带激活训练 2 组") + if not recommendations: + recommendations.append("保持每日 20 分钟户外活动") + recommendations.append("28 天后建议复测对比") + + return { + "riskLevel": risk_level, + "summary": summary, + "metrics": metrics, + "recommendations": recommendations, + "disclaimer": "本报告用于健康管理建议,不构成医疗诊断。", + } + + +def build_movement_report(frames: list[FrameLandmarks]) -> dict: + if len(frames) < 3: + raise ValueError("insufficient_pose_frames") + + nose_y = [] + shoulder_angles = [] + for frame in frames: + nose = _point(frame, NOSE) + left = _point(frame, LEFT_SHOULDER) + right = _point(frame, RIGHT_SHOULDER) + if nose: + nose_y.append(nose["y"]) + if left and right: + shoulder_angles.append( + math.degrees(math.atan2(right["y"] - left["y"], right["x"] - left["x"])) + ) + + stability = 90.0 + if len(nose_y) >= 3: + stability = max(55.0, 100.0 - pstdev(nose_y) * 900) + + angle_score = 85.0 + if len(shoulder_angles) >= 3: + angle_score = max(50.0, 100.0 - pstdev(shoulder_angles) * 2.5) + + rhythm = min(100.0, 70 + len(frames) * 1.2) + trajectory = min(100.0, stability + 5) + completion = min(100.0, 60 + len(frames) * 2) + score = round((trajectory + angle_score + rhythm + stability + completion) / 5) + + return { + "taskType": "movement_scoring", + "score": score, + "repsCompleted": max(1, len(frames) // 4), + "durationSeconds": len(frames) * 8, + "dimensions": { + "trajectory": round(trajectory), + "angle": round(angle_score), + "rhythm": round(rhythm), + "stability": round(stability), + "completion": round(completion), + }, + "baselineCompare": { + "headNeckAngle": {"screening": 21, "current": max(8, 21 - score // 10), "delta": -(score // 10)}, + "shoulderDiffMm": {"screening": 12, "current": max(3, 12 - score // 12), "delta": -(score // 12)}, + }, + "disclaimer": "本报告用于运动训练反馈,不构成医疗诊断。", + } diff --git a/apps/api/app/config.py b/apps/api/app/config.py new file mode 100644 index 0000000..6bff3ac --- /dev/null +++ b/apps/api/app/config.py @@ -0,0 +1,36 @@ +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class Settings(BaseSettings): + app_name: str = "Kids AI Posture Platform API" + app_env: str = "development" + app_debug: bool = True + database_url: str = "mysql+pymysql://happy_up:happy_up@127.0.0.1:3306/happy_up?charset=utf8mb4" + redis_url: str = "redis://127.0.0.1:6379/0" + jwt_secret: str = "change-me-in-production-use-32-char-min" + jwt_expire_minutes: int = 60 * 24 * 7 + demo_sms_code: str = "682139" + analysis_inline_process: bool = True + analysis_queue_key: str = "happy_up:analysis_tasks" + webhook_secret: str = "dev-webhook-secret-change-me" + cors_origins: str = "http://localhost:5173,http://127.0.0.1:5500,null" + api_public_url: str = "http://127.0.0.1:8000" + upload_local_dir: str = "data/uploads" + upload_token_expire_minutes: int = 15 + oss_enabled: bool = False + oss_provider: str = "minio" # minio | aliyun + oss_endpoint: str = "http://127.0.0.1:9000" + oss_access_key: str = "minioadmin" + oss_secret_key: str = "minioadmin" + oss_bucket: str = "happy-up-videos" + oss_region: str = "us-east-1" + oss_cdn_base_url: str = "" + + model_config = SettingsConfigDict(env_file=".env", extra="ignore") + + @property + def cors_origin_list(self) -> list[str]: + return [o.strip() for o in self.cors_origins.split(",") if o.strip()] + + +settings = Settings() diff --git a/apps/api/app/core/__init__.py b/apps/api/app/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/core/response.py b/apps/api/app/core/response.py new file mode 100644 index 0000000..efb5507 --- /dev/null +++ b/apps/api/app/core/response.py @@ -0,0 +1,43 @@ +from datetime import datetime, timezone +from typing import Any +from uuid import uuid4 + +from pydantic import BaseModel, Field + + +class ApiMeta(BaseModel): + request_id: str = Field(alias="requestId") + timestamp: str + trace_id: str | None = Field(default=None, alias="traceId") + + model_config = {"populate_by_name": True} + + +class StandardResponse(BaseModel): + code: int = 0 + message: str = "ok" + data: Any | None = None + meta: ApiMeta + + model_config = {"populate_by_name": True} + + +def build_meta(request_id: str | None = None) -> ApiMeta: + return ApiMeta( + requestId=request_id or uuid4().hex, + timestamp=datetime.now(timezone.utc).isoformat(), + traceId=uuid4().hex[:16], + ) + + +def ok(data: Any = None, message: str = "ok", request_id: str | None = None) -> dict[str, Any]: + return StandardResponse(code=0, message=message, data=data, meta=build_meta(request_id)).model_dump( + by_alias=True + ) + + +def error(code: int, message: str, request_id: str | None = None, **details: Any) -> dict[str, Any]: + payload = {"errorCode": message, **details} if details else {"errorCode": message} + return StandardResponse(code=code, message=message, data=payload, meta=build_meta(request_id)).model_dump( + by_alias=True + ) diff --git a/apps/api/app/core/security.py b/apps/api/app/core/security.py new file mode 100644 index 0000000..b865176 --- /dev/null +++ b/apps/api/app/core/security.py @@ -0,0 +1,28 @@ +import hashlib +from datetime import datetime, timedelta, timezone + +import jwt + +from app.config import settings + + +def hash_phone(phone: str) -> str: + normalized = "".join(ch for ch in phone if ch.isdigit()) + return hashlib.sha256(normalized.encode("utf-8")).hexdigest() + + +def mask_phone(phone: str) -> str: + digits = "".join(ch for ch in phone if ch.isdigit()) + if len(digits) < 7: + return phone + return f"{digits[:3]}****{digits[-4:]}" + + +def create_access_token(user_id: int, role: str) -> str: + expire = datetime.now(timezone.utc) + timedelta(minutes=settings.jwt_expire_minutes) + payload = {"sub": str(user_id), "role": role, "exp": expire} + return jwt.encode(payload, settings.jwt_secret, algorithm="HS256") + + +def decode_access_token(token: str) -> dict: + return jwt.decode(token, settings.jwt_secret, algorithms=["HS256"]) diff --git a/apps/api/app/db/__init__.py b/apps/api/app/db/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/db/models.py b/apps/api/app/db/models.py new file mode 100644 index 0000000..1727460 --- /dev/null +++ b/apps/api/app/db/models.py @@ -0,0 +1,151 @@ +from datetime import date, datetime + +from sqlalchemy import JSON, Boolean, Date, DateTime, Numeric, String, Text, func +from sqlalchemy.orm import Mapped, mapped_column + +from app.db.session import Base + + +class Tenant(Base): + __tablename__ = "tenants" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + name: Mapped[str] = mapped_column(String(128), nullable=False) + type: Mapped[str] = mapped_column(String(32), nullable=False, default="organization") + status: Mapped[str] = mapped_column(String(32), nullable=False, default="active") + retention_days: Mapped[int] = mapped_column(default=1095) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class User(Base): + __tablename__ = "users" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + tenant_id: Mapped[int | None] = mapped_column(nullable=True) + phone: Mapped[str | None] = mapped_column(String(32), nullable=True) + phone_hash: Mapped[str | None] = mapped_column(String(128), nullable=True, unique=True) + wechat_openid: Mapped[str | None] = mapped_column(String(128), nullable=True, unique=True) + role: Mapped[str] = mapped_column(String(32), nullable=False, default="parent") + status: Mapped[str] = mapped_column(String(32), nullable=False, default="active") + consent_signed: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False) + privacy_version: Mapped[str | None] = mapped_column(String(16), default="v1") + last_login_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class Child(Base): + __tablename__ = "children" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + tenant_id: Mapped[int | None] = mapped_column(nullable=True) + parent_user_id: Mapped[int] = mapped_column(nullable=False, index=True) + coach_user_id: Mapped[int | None] = mapped_column(nullable=True) + name: Mapped[str] = mapped_column(String(64), nullable=False) + gender: Mapped[str] = mapped_column(String(16), nullable=False, default="unknown") + birthday: Mapped[date] = mapped_column(Date, nullable=False) + height: Mapped[float | None] = mapped_column(Numeric(5, 2), nullable=True) + weight: Mapped[float | None] = mapped_column(Numeric(5, 2), nullable=True) + contraindications: Mapped[str | None] = mapped_column(Text, nullable=True) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="active") + deleted_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class Video(Base): + __tablename__ = "videos" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + child_id: Mapped[int] = mapped_column(nullable=False, index=True) + uploaded_by: Mapped[int] = mapped_column(nullable=False) + scene: Mapped[str] = mapped_column(String(64), nullable=False) + object_key: Mapped[str] = mapped_column(String(512), nullable=False, unique=True) + duration_seconds: Mapped[int | None] = mapped_column(nullable=True) + size_bytes: Mapped[int | None] = mapped_column(nullable=True) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="uploaded") + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +class AnalysisTask(Base): + __tablename__ = "analysis_tasks" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + child_id: Mapped[int] = mapped_column(nullable=False, index=True) + video_id: Mapped[int] = mapped_column(nullable=False, index=True) + task_type: Mapped[str] = mapped_column(String(64), nullable=False) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="CREATED") + progress: Mapped[int] = mapped_column(default=0) + model_version: Mapped[str | None] = mapped_column(String(64), nullable=True) + error_code: Mapped[str | None] = mapped_column(String(64), nullable=True) + error_message: Mapped[str | None] = mapped_column(String(512), nullable=True) + result: Mapped[dict | None] = mapped_column(JSON, nullable=True) + idempotency_key: Mapped[str | None] = mapped_column(String(128), nullable=True) + retry_count: Mapped[int] = mapped_column(default=0) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + started_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + finished_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + + +class Report(Base): + __tablename__ = "reports" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + child_id: Mapped[int] = mapped_column(nullable=False, index=True) + task_id: Mapped[int] = mapped_column(nullable=False, unique=True) + report_type: Mapped[str] = mapped_column(String(64), nullable=False, default="posture_screening") + risk_level: Mapped[str] = mapped_column(String(32), nullable=False) + summary: Mapped[str] = mapped_column(Text, nullable=False) + metrics: Mapped[list] = mapped_column(JSON, nullable=False) + recommendations: Mapped[list] = mapped_column(JSON, nullable=False) + disclaimer: Mapped[str] = mapped_column(Text, nullable=False) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="published") + reviewed_by: Mapped[int | None] = mapped_column(nullable=True) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class Exercise(Base): + __tablename__ = "exercises" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + name: Mapped[str] = mapped_column(String(128), nullable=False) + category: Mapped[str] = mapped_column(String(64), nullable=False, default="posture") + target_issue: Mapped[str | None] = mapped_column(String(128), nullable=True) + difficulty: Mapped[str] = mapped_column(String(32), nullable=False, default="basic") + duration_seconds: Mapped[int] = mapped_column(default=300) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="active") + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + + +class TrainingPlan(Base): + __tablename__ = "training_plans" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + child_id: Mapped[int] = mapped_column(nullable=False, index=True) + report_id: Mapped[int | None] = mapped_column(nullable=True) + coach_user_id: Mapped[int | None] = mapped_column(nullable=True) + goal: Mapped[str] = mapped_column(String(256), nullable=False) + cycle_days: Mapped[int] = mapped_column(default=28) + status: Mapped[str] = mapped_column(String(32), nullable=False, default="active") + plan_detail: Mapped[dict] = mapped_column(JSON, nullable=False) + started_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + ended_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) + updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now()) + + +class TrainingRecord(Base): + __tablename__ = "training_records" + + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + plan_id: Mapped[int] = mapped_column(nullable=False, index=True) + child_id: Mapped[int] = mapped_column(nullable=False, index=True) + exercise_id: Mapped[int] = mapped_column(nullable=False) + completed: Mapped[bool] = mapped_column(Boolean, nullable=False, default=True) + score: Mapped[int | None] = mapped_column(nullable=True) + duration_seconds: Mapped[int | None] = mapped_column(nullable=True) + feedback: Mapped[dict | None] = mapped_column(JSON, nullable=True) + note: Mapped[str | None] = mapped_column(String(512), nullable=True) + created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now()) diff --git a/apps/api/app/db/seed.py b/apps/api/app/db/seed.py new file mode 100644 index 0000000..56f5233 --- /dev/null +++ b/apps/api/app/db/seed.py @@ -0,0 +1,89 @@ +"""Seed demo tenant, parent user and child for local development.""" + +from datetime import date, datetime, timezone + +from sqlalchemy import select + +from app.core.security import hash_phone +from app.db.models import Child, Tenant, TrainingPlan, User +from app.db.session import SessionLocal +from app.services.training import build_plan_detail, ensure_default_exercises +from app.schemas.models import TrainingPlanCreateRequest + + +def seed() -> None: + db = SessionLocal() + try: + tenant = db.scalar(select(Tenant).where(Tenant.name == "Demo Organization")) + if not tenant: + tenant = Tenant(name="Demo Organization", type="organization", status="active") + db.add(tenant) + db.flush() + + phone = "18600000000" + phone_hash = hash_phone(phone) + user = db.scalar(select(User).where(User.phone_hash == phone_hash)) + if not user: + user = User( + tenant_id=tenant.id, + phone=phone, + phone_hash=phone_hash, + role="parent", + status="active", + consent_signed=True, + ) + db.add(user) + db.flush() + + child = db.scalar( + select(Child).where(Child.parent_user_id == user.id, Child.name == "小明") + ) + if not child: + child = Child( + parent_user_id=user.id, + tenant_id=tenant.id, + name="小明", + gender="male", + birthday=date(2016, 3, 15), + height=142.5, + weight=36.0, + status="active", + ) + db.add(child) + db.flush() + + ensure_default_exercises(db) + + plan = db.scalar( + select(TrainingPlan).where( + TrainingPlan.child_id == child.id, TrainingPlan.status == "active" + ) + ) + if not plan: + body = TrainingPlanCreateRequest.model_validate( + {"childId": child.id, "goal": "改善头前伸与高低肩", "cycleDays": 28} + ) + detail = build_plan_detail(body) + detail["completedDays"] = 2 + detail["currentDay"] = 3 + plan = TrainingPlan( + child_id=child.id, + goal=body.goal, + cycle_days=28, + status="active", + plan_detail=detail, + started_at=datetime.now(timezone.utc), + ) + db.add(plan) + + db.commit() + child_row = db.scalar( + select(Child).where(Child.parent_user_id == user.id, Child.name == "小明") + ) + print(f"Seed OK · tenant={tenant.id} user={user.id} child={child_row.id if child_row else '-'}") + finally: + db.close() + + +if __name__ == "__main__": + seed() diff --git a/apps/api/app/db/session.py b/apps/api/app/db/session.py new file mode 100644 index 0000000..faf017a --- /dev/null +++ b/apps/api/app/db/session.py @@ -0,0 +1,23 @@ +from sqlalchemy import create_engine +from sqlalchemy.orm import DeclarativeBase, sessionmaker + +from app.config import settings + +engine = create_engine(settings.database_url, pool_pre_ping=True, future=True) +SessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False, future=True) + + +class Base(DeclarativeBase): + pass + + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() + + +# Ensure models are registered on metadata for Alembic/tests. +from app.db import models as _models # noqa: E402,F401 diff --git a/apps/api/app/deps.py b/apps/api/app/deps.py new file mode 100644 index 0000000..f2adbd5 --- /dev/null +++ b/apps/api/app/deps.py @@ -0,0 +1,54 @@ +from fastapi import Depends, HTTPException, Request +from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer +from sqlalchemy.orm import Session + +from app.core.response import error +from app.core.security import decode_access_token +from app.db.models import User +from app.db.session import get_db + +bearer_scheme = HTTPBearer(auto_error=False) + + +def get_current_user( + request: Request, + credentials: HTTPAuthorizationCredentials | None = Depends(bearer_scheme), + db: Session = Depends(get_db), +) -> User: + if credentials is None or credentials.scheme.lower() != "bearer": + raise HTTPException( + status_code=401, + detail=error(10001, "unauthorized", request.state.request_id), + ) + try: + payload = decode_access_token(credentials.credentials) + user_id = int(payload["sub"]) + except Exception as exc: + raise HTTPException( + status_code=401, + detail=error(10001, "invalid_token", request.state.request_id), + ) from exc + + user = db.get(User, user_id) + if not user or user.status != "active": + raise HTTPException( + status_code=401, + detail=error(10001, "user_inactive", request.state.request_id), + ) + return user + + +def require_staff( + request: Request, + user: User = Depends(get_current_user), +) -> User: + if user.role in ("coach", "org_admin", "platform_admin"): + return user + from app.config import settings + + if settings.app_debug: + return user + raise HTTPException( + status_code=403, + detail=error(10009, "forbidden_staff_only", request.state.request_id), + ) diff --git a/apps/api/app/main.py b/apps/api/app/main.py new file mode 100644 index 0000000..901b11c --- /dev/null +++ b/apps/api/app/main.py @@ -0,0 +1,60 @@ +from fastapi import FastAPI, HTTPException, Request +from fastapi.middleware.cors import CORSMiddleware +from fastapi.responses import JSONResponse +from pathlib import Path + +from app.config import settings +from app.middleware import RequestContextMiddleware +from app.routers import admin, analysis, auth, children, reports, training, videos + +CONTRACTS_OPENAPI = Path(__file__).resolve().parents[3] / "contracts" / "openapi.yaml" + +app = FastAPI( + title="Kids AI Posture Platform API", + version="0.6.0", + description=( + "儿童 AI 体态管理平台 API · Sprint 5。" + "MediaPipe 帧级评分 + PDF 导出 + OSS 生产配置 + H5/小程序对接。" + ), +) + +app.add_middleware(RequestContextMiddleware) + +_cors_origins = ["*"] if settings.app_debug else settings.cors_origin_list +app.add_middleware( + CORSMiddleware, + allow_origins=_cors_origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +app.include_router(auth.router) +app.include_router(children.router) +app.include_router(videos.router) +app.include_router(analysis.router) +app.include_router(reports.router) +app.include_router(training.router) +app.include_router(admin.router) + + +@app.exception_handler(HTTPException) +async def http_exception_handler(request: Request, exc: HTTPException): + if isinstance(exc.detail, dict) and "meta" in exc.detail: + return JSONResponse(status_code=exc.status_code, content=exc.detail) + return JSONResponse(status_code=exc.status_code, content={"detail": exc.detail}) + + +@app.get("/health") +def health(): + return {"status": "ok", "env": settings.app_env, "stage": "sprint5"} + + +@app.get("/") +def root(): + return { + "name": settings.app_name, + "docs": "/docs", + "contract": str(CONTRACTS_OPENAPI), + "stage": "sprint5-mediapipe-pdf-oss", + } diff --git a/apps/api/app/middleware.py b/apps/api/app/middleware.py new file mode 100644 index 0000000..53202b6 --- /dev/null +++ b/apps/api/app/middleware.py @@ -0,0 +1,11 @@ +from starlette.middleware.base import BaseHTTPMiddleware +from starlette.requests import Request +from uuid import uuid4 + + +class RequestContextMiddleware(BaseHTTPMiddleware): + async def dispatch(self, request: Request, call_next): + request.state.request_id = request.headers.get("X-Request-Id") or uuid4().hex + response = await call_next(request) + response.headers["X-Request-Id"] = request.state.request_id + return response diff --git a/apps/api/app/mock_data.py b/apps/api/app/mock_data.py new file mode 100644 index 0000000..818fcf8 --- /dev/null +++ b/apps/api/app/mock_data.py @@ -0,0 +1,82 @@ +from datetime import date, datetime, timedelta, timezone + +from app.schemas.models import Child, User, UserRole + +MOCK_USER = User(id=1, phoneMasked="186****0000", role=UserRole.parent) + +MOCK_CHILD = Child( + id=1001, + name="小明", + birthday=date(2016, 3, 15), + age=10, + height=142.5, + weight=36.0, + status="active", +) + +MOCK_REPORT = { + "id": 2001, + "childId": 1001, + "taskId": 3001, + "riskLevel": "medium", + "summary": "建议关注头前伸与高低肩,开始针对性训练", + "metrics": [ + {"name": "头前伸", "value": 78, "level": "medium", "confidence": 0.91}, + {"name": "高低肩", "value": 65, "level": "low", "confidence": 0.88}, + {"name": "骨盆倾斜", "value": 92, "level": "normal", "confidence": 0.94}, + ], + "recommendations": [ + "每日肩胛稳定训练 5 分钟", + "颈后肌群拉伸 3 组", + "28 天后建议复测对比", + ], + "disclaimer": "本报告用于健康管理建议,不构成医疗诊断。", + "reviewedBy": None, +} + +MOCK_MOVEMENT_REPORT = { + "id": 2002, + "childId": 1001, + "taskId": 3002, + "taskType": "movement_scoring", + "score": 81, + "repsCompleted": 8, + "durationSeconds": 272, + "dimensions": { + "trajectory": 85, + "angle": 78, + "rhythm": 82, + "stability": 90, + "completion": 100, + }, + "baselineCompare": { + "headNeckAngle": {"screening": 21, "current": 15, "delta": -6}, + "shoulderDiffMm": {"screening": 12, "current": 6, "delta": -6}, + }, + "disclaimer": "本报告用于运动训练反馈,不构成医疗诊断。", +} + +MOCK_PLAN = { + "id": 4001, + "status": "active", + "detail": { + "goal": "改善头前伸与高低肩", + "cycleDays": 28, + "currentDay": 3, + "exercises": [ + {"id": 1, "name": "肩胛稳定训练", "durationMinutes": 5}, + {"id": 2, "name": "颈后肌群拉伸", "sets": 3}, + ], + }, + "startedAt": (datetime.now(timezone.utc) - timedelta(days=2)).isoformat(), + "endedAt": None, +} + +MOCK_ADMIN_DASHBOARD = { + "newChildren": 12, + "uploadedVideos": 48, + "completedReports": 39, + "activePlans": 27, + "conversionRate": 0.22, + "reassessmentCompletionRate": 0.51, +} diff --git a/apps/api/app/queue/__init__.py b/apps/api/app/queue/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/queue/analysis_queue.py b/apps/api/app/queue/analysis_queue.py new file mode 100644 index 0000000..34238af --- /dev/null +++ b/apps/api/app/queue/analysis_queue.py @@ -0,0 +1,57 @@ +from app.config import settings + + +class AnalysisQueue: + def push(self, task_id: int) -> None: + raise NotImplementedError + + def pop(self, timeout: int = 5) -> int | None: + raise NotImplementedError + + +_memory_queue: list[int] = [] + + +class MemoryAnalysisQueue(AnalysisQueue): + def push(self, task_id: int) -> None: + _memory_queue.append(task_id) + + def pop(self, timeout: int = 5) -> int | None: + return _memory_queue.pop(0) if _memory_queue else None + + +class RedisAnalysisQueue(AnalysisQueue): + def __init__(self) -> None: + import redis + + self._client = redis.from_url(settings.redis_url, decode_responses=True) + + def push(self, task_id: int) -> None: + self._client.lpush(settings.analysis_queue_key, str(task_id)) + + def pop(self, timeout: int = 5) -> int | None: + item = self._client.brpop(settings.analysis_queue_key, timeout=timeout) + if not item: + return None + return int(item[1]) + + +_queue: AnalysisQueue | None = None + + +def get_analysis_queue() -> AnalysisQueue: + global _queue + if _queue is not None: + return _queue + try: + _queue = RedisAnalysisQueue() + _queue._client.ping() + except Exception: + _queue = MemoryAnalysisQueue() + return _queue + + +def reset_analysis_queue_for_tests() -> None: + global _queue + _queue = MemoryAnalysisQueue() + _memory_queue.clear() diff --git a/apps/api/app/routers/__init__.py b/apps/api/app/routers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/routers/admin.py b/apps/api/app/routers/admin.py new file mode 100644 index 0000000..db34c0a --- /dev/null +++ b/apps/api/app/routers/admin.py @@ -0,0 +1,20 @@ +from fastapi import APIRouter, Depends, Request +from sqlalchemy.orm import Session + +from app.core.response import ok +from app.db.models import User +from app.db.session import get_db +from app.deps import require_staff +from app.services import admin as admin_service + +router = APIRouter(prefix="/api/admin", tags=["Admin"]) + + +@router.get("/dashboard") +def admin_dashboard( + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(require_staff), +): + metrics = admin_service.get_dashboard_metrics(db, tenant_id=current_user.tenant_id) + return ok(metrics, request_id=request.state.request_id) diff --git a/apps/api/app/routers/analysis.py b/apps/api/app/routers/analysis.py new file mode 100644 index 0000000..78770b5 --- /dev/null +++ b/apps/api/app/routers/analysis.py @@ -0,0 +1,90 @@ +from fastapi import APIRouter, Depends, Request, Response +from fastapi.responses import JSONResponse +from sqlalchemy.orm import Session + +from app.core.response import error, ok +from app.db.models import User +from app.db.session import get_db +from app.deps import get_current_user +from app.schemas.models import AnalysisTaskCreateRequest, AnalysisTaskWebhook +from app.services import analysis as analysis_service + +router = APIRouter(prefix="/api/analysis", tags=["Analysis"]) + + +@router.post("/tasks", status_code=201) +def create_task( + body: AnalysisTaskCreateRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + idempotency_key = request.headers.get("Idempotency-Key") + task, err, duplicate = analysis_service.create_analysis_task( + db, current_user.id, body, idempotency_key + ) + if err == "child_not_found": + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + if err == "video_not_found": + return JSONResponse( + status_code=404, + content=error(10006, "video_not_found", request.state.request_id), + ) + if err == "duplicate" and duplicate: + return JSONResponse( + status_code=409, + content=ok( + analysis_service.task_to_dict(duplicate), + message="duplicate_task", + request_id=request.state.request_id, + ), + ) + return ok( + analysis_service.task_to_dict(task), + message="created", + request_id=request.state.request_id, + ) + + +@router.get("/tasks/{task_id}") +def get_task( + task_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + task = analysis_service.get_task_for_user(db, current_user.id, task_id) + if not task: + return JSONResponse( + status_code=404, + content=error(10007, "task_not_found", request.state.request_id), + ) + return ok(analysis_service.task_to_dict(task), request_id=request.state.request_id) + + +@router.post("/tasks/{task_id}/cancel") +def cancel_task( + task_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + task = analysis_service.cancel_task(db, current_user.id, task_id) + if not task: + return JSONResponse( + status_code=404, + content=error(10007, "task_not_found", request.state.request_id), + ) + return ok( + {"taskId": task_id, "status": task.status}, + request_id=request.state.request_id, + ) + + +@router.post("/webhook", status_code=204) +def analysis_webhook(body: AnalysisTaskWebhook, db: Session = Depends(get_db)): + analysis_service.handle_webhook(db, body.task_id, body.status.value) + return Response(status_code=204) diff --git a/apps/api/app/routers/auth.py b/apps/api/app/routers/auth.py new file mode 100644 index 0000000..b0e265c --- /dev/null +++ b/apps/api/app/routers/auth.py @@ -0,0 +1,32 @@ +from fastapi import APIRouter, HTTPException, Request +from fastapi.responses import JSONResponse + +from app.core.response import error, ok +from app.db.session import get_db +from app.schemas.models import LoginRequest +from app.services import auth as auth_service +from sqlalchemy.orm import Session +from fastapi import Depends + +router = APIRouter(prefix="/api/auth", tags=["Auth"]) + + +@router.post("/login") +def login(body: LoginRequest, request: Request, db: Session = Depends(get_db)): + try: + user, token = auth_service.authenticate(db, body) + except ValueError as exc: + if str(exc) == "invalid_code": + return JSONResponse( + status_code=401, + content=error(10002, "invalid_verification_code", request.state.request_id), + ) + return JSONResponse( + status_code=400, + content=error(10003, str(exc), request.state.request_id), + ) + + return ok( + {"token": token, "user": auth_service.user_to_dict(user)}, + request_id=request.state.request_id, + ) diff --git a/apps/api/app/routers/children.py b/apps/api/app/routers/children.py new file mode 100644 index 0000000..5faf1f3 --- /dev/null +++ b/apps/api/app/routers/children.py @@ -0,0 +1,106 @@ +from fastapi import APIRouter, Depends, Request, Response +from fastapi.responses import JSONResponse +from sqlalchemy.orm import Session + +from app.core.response import error, ok +from app.db.models import User +from app.db.session import get_db +from app.deps import get_current_user +from app.schemas.models import ChildCreateRequest, ChildUpdateRequest +from app.services import children as child_service + +router = APIRouter(prefix="/api/children", tags=["Children"]) + + +@router.get("") +def list_children( + request: Request, + page: int = 1, + page_size: int = 20, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + items, total = child_service.list_children(db, current_user.id, page, page_size) + has_more = page * page_size < total + return ok( + { + "list": [child_service.child_to_dict(c) for c in items], + "page": { + "page": page, + "pageSize": page_size, + "total": total, + "hasMore": has_more, + }, + }, + request_id=request.state.request_id, + ) + + +@router.post("", status_code=201) +def create_child( + body: ChildCreateRequest, + request: Request, + response: Response, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + idempotency = request.headers.get("Idempotency-Key") + if idempotency: + response.headers["Idempotency-Key"] = idempotency + child = child_service.create_child(db, current_user.id, current_user.tenant_id, body) + return ok( + child_service.child_to_dict(child), + message="created", + request_id=request.state.request_id, + ) + + +@router.get("/{child_id}") +def get_child( + child_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + child = child_service.get_child(db, current_user.id, child_id) + if not child: + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + return ok(child_service.child_to_dict(child), request_id=request.state.request_id) + + +@router.patch("/{child_id}") +def update_child( + child_id: int, + body: ChildUpdateRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + child = child_service.get_child(db, current_user.id, child_id) + if not child: + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + child = child_service.update_child(db, child, body) + return ok( + child_service.child_to_dict(child), + message="updated", + request_id=request.state.request_id, + ) + + +@router.delete("/{child_id}", status_code=204) +def archive_child( + child_id: int, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + child = child_service.get_child(db, current_user.id, child_id) + if not child: + return Response(status_code=404) + child_service.archive_child(db, child) + return Response(status_code=204) diff --git a/apps/api/app/routers/reports.py b/apps/api/app/routers/reports.py new file mode 100644 index 0000000..2d536d0 --- /dev/null +++ b/apps/api/app/routers/reports.py @@ -0,0 +1,67 @@ +from fastapi import APIRouter, Depends, Request +from fastapi.responses import JSONResponse, Response +from sqlalchemy.orm import Session + +from app.core.response import error, ok +from app.db.models import Child, User +from app.db.session import get_db +from app.deps import get_current_user +from app.services import pdf_export, reports as report_service + +router = APIRouter(prefix="/api/reports", tags=["Reports"]) + + +@router.get("") +def list_reports( + childId: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + reports = report_service.list_reports_for_child(db, current_user.id, childId) + if reports is None: + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + items = [report_service.report_to_dict(report) for report in reports] + return ok({"list": items}, request_id=request.state.request_id) + + +@router.get("/{report_id}") +def get_report( + report_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + report = report_service.get_report_for_user(db, current_user.id, report_id) + if not report: + return JSONResponse( + status_code=404, + content=error(10008, "report_not_found", request.state.request_id), + ) + return ok(report_service.report_to_dict(report), request_id=request.state.request_id) + + +@router.get("/{report_id}/pdf") +def export_report_pdf( + report_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + report = report_service.get_report_for_user(db, current_user.id, report_id) + if not report: + return JSONResponse( + status_code=404, + content=error(10008, "report_not_found", request.state.request_id), + ) + child = db.get(Child, report.child_id) + pdf_bytes = pdf_export.build_report_pdf(report, child) + filename = f"happy-up-report-{report_id}.pdf" + return Response( + content=pdf_bytes, + media_type="application/pdf", + headers={"Content-Disposition": f'attachment; filename="{filename}"'}, + ) diff --git a/apps/api/app/routers/training.py b/apps/api/app/routers/training.py new file mode 100644 index 0000000..672b5ce --- /dev/null +++ b/apps/api/app/routers/training.py @@ -0,0 +1,95 @@ +from fastapi import APIRouter, Depends, Request +from fastapi.responses import JSONResponse +from sqlalchemy.orm import Session + +from app.core.response import error, ok +from app.db.models import User +from app.db.session import get_db +from app.deps import get_current_user +from app.schemas.models import TrainingPlanCreateRequest, TrainingRecordCreateRequest +from app.services import training as training_service + +router = APIRouter(prefix="/api/training", tags=["Training"]) + + +@router.get("/plans") +def list_plans( + childId: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + plans = training_service.list_plans_for_child(db, current_user.id, childId) + if plans is None: + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + return ok( + {"list": [training_service.plan_to_dict(plan) for plan in plans]}, + request_id=request.state.request_id, + ) + + +@router.post("/plans", status_code=201) +def create_plan( + body: TrainingPlanCreateRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + plan = training_service.create_plan(db, current_user.id, body) + if not plan: + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + return ok( + training_service.plan_to_dict(plan), + message="created", + request_id=request.state.request_id, + ) + + +@router.get("/plans/{plan_id}") +def get_plan( + plan_id: int, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + plan = training_service.get_plan_for_user(db, current_user.id, plan_id) + if not plan: + return JSONResponse( + status_code=404, + content=error(10010, "plan_not_found", request.state.request_id), + ) + return ok(training_service.plan_to_dict(plan), request_id=request.state.request_id) + + +@router.post("/plans/{plan_id}/records", status_code=201) +def create_record( + plan_id: int, + body: TrainingRecordCreateRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + record = training_service.create_record(db, current_user.id, plan_id, body) + if not record: + return JSONResponse( + status_code=404, + content=error(10010, "plan_not_found", request.state.request_id), + ) + return ok( + { + "id": record.id, + "planId": plan_id, + "exerciseId": record.exercise_id, + "score": record.score, + "completed": record.completed, + "createdAt": record.created_at.isoformat(), + }, + message="created", + request_id=request.state.request_id, + ) diff --git a/apps/api/app/routers/videos.py b/apps/api/app/routers/videos.py new file mode 100644 index 0000000..9a14b37 --- /dev/null +++ b/apps/api/app/routers/videos.py @@ -0,0 +1,70 @@ +from fastapi import APIRouter, Depends, Header, Request +from fastapi.responses import JSONResponse, Response +from sqlalchemy.orm import Session + +from app.core.response import error, ok +from app.db.models import User +from app.db.session import get_db +from app.deps import get_current_user +from app.schemas.models import UploadTokenRequest, VideoCreateRequest +from app.services import videos as video_service + +router = APIRouter(prefix="/api/videos", tags=["Videos"]) + + +@router.post("/upload-token") +def create_upload_token( + body: UploadTokenRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + if not video_service.verify_child_owner(db, current_user.id, body.child_id): + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + data = video_service.create_upload_token(body) + return ok(data, request_id=request.state.request_id) + + +@router.put("/direct-upload") +async def direct_upload( + request: Request, + x_upload_token: str = Header(..., alias="X-Upload-Token"), + x_object_key: str = Header(..., alias="X-Object-Key"), +): + data = await request.body() + try: + video_service.save_direct_upload(x_upload_token, x_object_key, data) + except ValueError: + return JSONResponse( + status_code=403, + content=error(10011, "invalid_upload_token", request.state.request_id), + ) + return Response(status_code=204) + + +@router.post("", status_code=201) +def register_video( + body: VideoCreateRequest, + request: Request, + db: Session = Depends(get_db), + current_user: User = Depends(get_current_user), +): + video, err = video_service.register_video(db, current_user.id, body) + if err == "child_not_found": + return JSONResponse( + status_code=404, + content=error(10004, "child_not_found", request.state.request_id), + ) + if err == "duplicate": + return JSONResponse( + status_code=409, + content=error(10005, "duplicate_video", request.state.request_id), + ) + return ok( + {"id": video.id, "status": video.status}, + message="created", + request_id=request.state.request_id, + ) diff --git a/apps/api/app/schemas/__init__.py b/apps/api/app/schemas/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/schemas/models.py b/apps/api/app/schemas/models.py new file mode 100644 index 0000000..d4c9309 --- /dev/null +++ b/apps/api/app/schemas/models.py @@ -0,0 +1,165 @@ +from datetime import date, datetime +from enum import Enum +from typing import Any + +from pydantic import BaseModel, Field + + +class LoginType(str, Enum): + phone_code = "phone_code" + wechat = "wechat" + + +class UserRole(str, Enum): + parent = "parent" + coach = "coach" + org_admin = "org_admin" + platform_admin = "platform_admin" + + +class Gender(str, Enum): + male = "male" + female = "female" + unknown = "unknown" + + +class VideoScene(str, Enum): + front_posture = "front_posture" + side_posture = "side_posture" + squat = "squat" + balance = "balance" + gait = "gait" + + +class TaskType(str, Enum): + posture_screening = "posture_screening" + movement_scoring = "movement_scoring" + reassessment = "reassessment" + + +class TaskStatus(str, Enum): + CREATED = "CREATED" + QUEUED = "QUEUED" + PROCESSING = "PROCESSING" + SUCCEEDED = "SUCCEEDED" + FAILED = "FAILED" + CANCELLED = "CANCELLED" + + +class RiskLevel(str, Enum): + low = "low" + medium = "medium" + high = "high" + review_required = "review_required" + + +class PlanStatus(str, Enum): + draft = "draft" + active = "active" + completed = "completed" + paused = "paused" + + +class LoginRequest(BaseModel): + login_type: LoginType = Field(alias="loginType") + credential: str + code: str | None = None + + model_config = {"populate_by_name": True} + + +class User(BaseModel): + id: int + phone_masked: str = Field(alias="phoneMasked") + role: UserRole + + model_config = {"populate_by_name": True} + + +class ChildCreateRequest(BaseModel): + name: str + birthday: date + gender: Gender = Gender.unknown + height: float | None = None + weight: float | None = None + contraindications: str | None = None + + +class ChildUpdateRequest(ChildCreateRequest): + pass + + +class Child(BaseModel): + id: int + name: str + birthday: date + age: int + height: float | None = None + weight: float | None = None + status: str = "active" + + +class UploadTokenRequest(BaseModel): + child_id: int = Field(alias="childId") + file_name: str = Field(alias="fileName") + content_type: str = Field(alias="contentType") + size: int + + model_config = {"populate_by_name": True} + + +class VideoCreateRequest(BaseModel): + child_id: int = Field(alias="childId") + object_key: str = Field(alias="objectKey") + scene: VideoScene + capture_hint: str | None = Field(default=None, alias="captureHint") + + model_config = {"populate_by_name": True} + + +class AnalysisTaskCreateRequest(BaseModel): + child_id: int = Field(alias="childId") + video_id: int = Field(alias="videoId") + task_type: TaskType = Field(alias="taskType") + + model_config = {"populate_by_name": True} + + +class AnalysisTaskWebhook(BaseModel): + task_id: int = Field(alias="taskId") + status: TaskStatus + progress: int | None = None + error_code: str | None = Field(default=None, alias="errorCode") + result: dict[str, Any] | None = None + signature: str | None = None + + model_config = {"populate_by_name": True} + + +class TrainingPlanCreateRequest(BaseModel): + child_id: int = Field(alias="childId") + report_id: int | None = Field(default=None, alias="reportId") + goal: str + cycle_days: int = Field(alias="cycleDays", ge=7) + exercise_ids: list[int] | None = Field(default=None, alias="exerciseIds") + constraints: dict[str, Any] | None = None + + model_config = {"populate_by_name": True} + + +class TrainingRecordCreateRequest(BaseModel): + exercise_id: int = Field(alias="exerciseId") + completed: bool + score: int | None = Field(default=None, ge=0, le=100) + duration_seconds: int | None = Field(default=None, alias="durationSeconds") + note: str | None = None + media: list[str] | None = None + + model_config = {"populate_by_name": True} + + +class ReportMetric(BaseModel): + name: str + value: float + level: str + confidence: float diff --git a/apps/api/app/services/__init__.py b/apps/api/app/services/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/app/services/admin.py b/apps/api/app/services/admin.py new file mode 100644 index 0000000..60663a9 --- /dev/null +++ b/apps/api/app/services/admin.py @@ -0,0 +1,66 @@ +from datetime import datetime, timedelta, timezone + +from sqlalchemy import func, select +from sqlalchemy.orm import Session + +from app.db.models import AnalysisTask, Child, Report, TrainingPlan, TrainingRecord, Video + + +def _tenant_child_ids_subquery(tenant_id: int): + return select(Child.id).where(Child.tenant_id == tenant_id).scalar_subquery() + + +def get_dashboard_metrics(db: Session, tenant_id: int | None = None) -> dict: + since = datetime.now(timezone.utc) - timedelta(days=30) + + child_q = select(func.count()).select_from(Child).where(Child.status == "active") + video_q = select(func.count()).select_from(Video) + report_q = select(func.count()).select_from(Report).where(Report.status == "published") + plan_q = select(func.count()).select_from(TrainingPlan).where(TrainingPlan.status == "active") + new_child_q = select(func.count()).select_from(Child).where(Child.created_at >= since) + succeeded_q = select(func.count()).select_from(AnalysisTask).where( + AnalysisTask.status == "SUCCEEDED" + ) + reassessment_q = select(func.count()).select_from(AnalysisTask).where( + AnalysisTask.task_type == "reassessment", AnalysisTask.status == "SUCCEEDED" + ) + pending_review_q = select(func.count()).select_from(Report).where(Report.reviewed_by.is_(None)) + pending_training_q = select(func.count()).select_from(TrainingRecord).where( + TrainingRecord.score.is_not(None) + ) + + if tenant_id: + tenant_children = _tenant_child_ids_subquery(tenant_id) + child_q = child_q.where(Child.tenant_id == tenant_id) + new_child_q = new_child_q.where(Child.tenant_id == tenant_id) + video_q = video_q.where(Video.child_id.in_(tenant_children)) + report_q = report_q.where(Report.child_id.in_(tenant_children)) + plan_q = plan_q.where(TrainingPlan.child_id.in_(tenant_children)) + succeeded_q = succeeded_q.where(AnalysisTask.child_id.in_(tenant_children)) + reassessment_q = reassessment_q.where(AnalysisTask.child_id.in_(tenant_children)) + pending_review_q = pending_review_q.where(Report.child_id.in_(tenant_children)) + pending_training_q = pending_training_q.where(TrainingRecord.child_id.in_(tenant_children)) + + new_children = db.scalar(new_child_q) or 0 + uploaded_videos = db.scalar(video_q) or 0 + completed_reports = db.scalar(report_q) or 0 + active_plans = db.scalar(plan_q) or 0 + succeeded_tasks = db.scalar(succeeded_q) or 0 + reassessment_done = db.scalar(reassessment_q) or 0 + + conversion_rate = round(completed_reports / max(succeeded_tasks, 1), 2) + reassessment_rate = round(reassessment_done / max(active_plans, 1), 2) + + pending_review = db.scalar(pending_review_q) or 0 + pending_training = db.scalar(pending_training_q) or 0 + + return { + "newChildren": new_children, + "uploadedVideos": uploaded_videos, + "completedReports": completed_reports, + "activePlans": active_plans, + "conversionRate": min(conversion_rate, 1.0), + "reassessmentCompletionRate": min(reassessment_rate, 1.0), + "pendingReviewReports": pending_review, + "pendingTrainingReview": pending_training, + } diff --git a/apps/api/app/services/analysis.py b/apps/api/app/services/analysis.py new file mode 100644 index 0000000..2a3912a --- /dev/null +++ b/apps/api/app/services/analysis.py @@ -0,0 +1,201 @@ +from datetime import datetime, timezone + +from sqlalchemy import select +from sqlalchemy.orm import Session + +from app.ai.pose_analyzer import analyze_task +from app.config import settings +from app.db.models import AnalysisTask, Report, Video +from app.mock_data import MOCK_MOVEMENT_REPORT, MOCK_REPORT +from app.queue.analysis_queue import get_analysis_queue +from app.schemas.models import AnalysisTaskCreateRequest, TaskStatus, TaskType +from app.services import oss as oss_service +from app.services.videos import verify_child_owner + +DISCLAIMER_SCREENING = "本报告用于健康管理建议,不构成医疗诊断。" +DISCLAIMER_MOVEMENT = "本报告用于运动训练反馈,不构成医疗诊断。" + + +def task_to_dict(task: AnalysisTask) -> dict: + report_id = None + if task.result and isinstance(task.result, dict): + report_id = task.result.get("reportId") + return { + "id": task.id, + "status": task.status, + "progress": task.progress, + "errorCode": task.error_code, + "reportId": report_id, + "retryCount": task.retry_count, + } + + +def build_screening_report_payload(child_id: int, task_id: int) -> dict: + data = {**MOCK_REPORT, "childId": child_id, "taskId": task_id} + return data + + +def build_movement_report_payload(child_id: int, task_id: int) -> dict: + return {**MOCK_MOVEMENT_REPORT, "childId": child_id, "taskId": task_id} + + +def create_report_for_task(db: Session, task: AnalysisTask, analysis: dict) -> Report: + report_data = analysis.get("report", {}) + if task.task_type == TaskType.movement_scoring.value: + payload = {**MOCK_MOVEMENT_REPORT, **report_data} + report = Report( + child_id=task.child_id, + task_id=task.id, + report_type="movement_scoring", + risk_level="medium", + summary="跟练打卡报告已生成", + metrics=[payload], + recommendations=["继续保持训练节奏", "28 天后安排复测"], + disclaimer=DISCLAIMER_MOVEMENT, + status="published", + ) + else: + payload = {**MOCK_REPORT, **report_data, "childId": task.child_id, "taskId": task.id} + report = Report( + child_id=task.child_id, + task_id=task.id, + report_type="posture_screening", + risk_level=payload.get("riskLevel", "medium"), + summary=payload.get("summary", MOCK_REPORT["summary"]), + metrics=payload.get("metrics", MOCK_REPORT["metrics"]), + recommendations=payload.get("recommendations", MOCK_REPORT["recommendations"]), + disclaimer=payload.get("disclaimer", DISCLAIMER_SCREENING), + status="published", + ) + db.add(report) + db.flush() + return report + + +def process_analysis_task(db: Session, task_id: int) -> AnalysisTask | None: + task = db.get(AnalysisTask, task_id) + if not task or task.status in (TaskStatus.SUCCEEDED.value, TaskStatus.CANCELLED.value): + return task + + task.status = TaskStatus.PROCESSING.value + task.progress = 35 + task.started_at = datetime.now(timezone.utc) + db.commit() + + video = db.get(Video, task.video_id) + video_path = None + if video: + video_path = oss_service.resolve_local_path(video.object_key) + + analysis = analyze_task(task.task_type, video_path) + task.model_version = analysis.get("modelVersion", "mock-v1") + task.progress = 80 + db.commit() + + report = create_report_for_task(db, task, analysis) + task.status = TaskStatus.SUCCEEDED.value + task.progress = 100 + task.finished_at = datetime.now(timezone.utc) + task.result = { + "reportId": report.id, + "engine": analysis.get("engine"), + "confidence": analysis.get("confidence"), + } + db.commit() + db.refresh(task) + return task + + +def enqueue_task(task_id: int, db: Session | None = None) -> None: + queue = get_analysis_queue() + queue.push(task_id) + if not settings.analysis_inline_process: + return + if db is not None: + process_analysis_task(db, task_id) + return + from app.db.session import SessionLocal + + local_db = SessionLocal() + try: + process_analysis_task(local_db, task_id) + finally: + local_db.close() + + +def create_analysis_task( + db: Session, + user_id: int, + body: AnalysisTaskCreateRequest, + idempotency_key: str | None, +) -> tuple[AnalysisTask | None, str | None, AnalysisTask | None]: + child = verify_child_owner(db, user_id, body.child_id) + if not child: + return None, "child_not_found", None + + video = db.get(Video, body.video_id) + if not video or video.child_id != body.child_id: + return None, "video_not_found", None + + if idempotency_key: + existing = db.scalar( + select(AnalysisTask).where( + AnalysisTask.child_id == body.child_id, + AnalysisTask.video_id == body.video_id, + AnalysisTask.task_type == body.task_type.value, + AnalysisTask.idempotency_key == idempotency_key, + ) + ) + if existing: + return existing, "duplicate", existing + + task = AnalysisTask( + child_id=body.child_id, + video_id=body.video_id, + task_type=body.task_type.value, + status=TaskStatus.QUEUED.value, + progress=0, + idempotency_key=idempotency_key, + ) + db.add(task) + db.commit() + db.refresh(task) + enqueue_task(task.id, db=db) + db.refresh(task) + return task, None, None + + +def get_task_for_user(db: Session, user_id: int, task_id: int) -> AnalysisTask | None: + task = db.get(AnalysisTask, task_id) + if not task: + return None + child = verify_child_owner(db, user_id, task.child_id) + if not child: + return None + return task + + +def cancel_task(db: Session, user_id: int, task_id: int) -> AnalysisTask | None: + task = get_task_for_user(db, user_id, task_id) + if not task: + return None + if task.status in (TaskStatus.SUCCEEDED.value, TaskStatus.CANCELLED.value): + return task + task.status = TaskStatus.CANCELLED.value + task.finished_at = datetime.now(timezone.utc) + db.commit() + db.refresh(task) + return task + + +def handle_webhook(db: Session, task_id: int, status: str) -> None: + task = db.get(AnalysisTask, task_id) + if not task: + return + if status == TaskStatus.SUCCEEDED.value: + process_analysis_task(db, task_id) + elif status == TaskStatus.FAILED.value: + task.status = TaskStatus.FAILED.value + task.error_code = "worker_failed" + task.finished_at = datetime.now(timezone.utc) + db.commit() diff --git a/apps/api/app/services/auth.py b/apps/api/app/services/auth.py new file mode 100644 index 0000000..f50f8a5 --- /dev/null +++ b/apps/api/app/services/auth.py @@ -0,0 +1,49 @@ +from datetime import datetime, timezone + +from sqlalchemy import select +from sqlalchemy.orm import Session + +from app.config import settings +from app.core.security import create_access_token, hash_phone, mask_phone +from app.db.models import Tenant, User +from app.schemas.models import LoginRequest, LoginType + + +def authenticate(db: Session, body: LoginRequest) -> tuple[User, str]: + if body.login_type == LoginType.phone_code: + if body.code != settings.demo_sms_code: + raise ValueError("invalid_code") + phone = body.credential + phone_hash = hash_phone(phone) + user = db.scalar(select(User).where(User.phone_hash == phone_hash)) + if not user: + tenant = db.scalar(select(Tenant).where(Tenant.name == "Demo Organization")) + if not tenant: + tenant = Tenant(name="Demo Organization", type="organization", status="active") + db.add(tenant) + db.flush() + user = User( + tenant_id=tenant.id, + phone=phone, + phone_hash=phone_hash, + role="parent", + status="active", + consent_signed=True, + ) + db.add(user) + db.flush() + user.last_login_at = datetime.now(timezone.utc) + db.commit() + db.refresh(user) + token = create_access_token(user.id, user.role) + return user, token + + raise ValueError("unsupported_login_type") + + +def user_to_dict(user: User) -> dict: + return { + "id": user.id, + "phoneMasked": mask_phone(user.phone or ""), + "role": user.role, + } diff --git a/apps/api/app/services/children.py b/apps/api/app/services/children.py new file mode 100644 index 0000000..3aee3e2 --- /dev/null +++ b/apps/api/app/services/children.py @@ -0,0 +1,88 @@ +from datetime import date + +from sqlalchemy import func, select +from sqlalchemy.orm import Session + +from app.db.models import Child +from app.schemas.models import ChildCreateRequest, ChildUpdateRequest + + +def calc_age(birthday: date) -> int: + today = date.today() + age = today.year - birthday.year + if (today.month, today.day) < (birthday.month, birthday.day): + age -= 1 + return age + + +def child_to_dict(child: Child) -> dict: + return { + "id": child.id, + "name": child.name, + "birthday": child.birthday.isoformat(), + "age": calc_age(child.birthday), + "height": float(child.height) if child.height is not None else None, + "weight": float(child.weight) if child.weight is not None else None, + "status": child.status, + } + + +def list_children(db: Session, parent_user_id: int, page: int, page_size: int) -> tuple[list[Child], int]: + filters = (Child.parent_user_id == parent_user_id, Child.status != "archived") + total = db.scalar(select(func.count()).select_from(Child).where(*filters)) or 0 + items = db.scalars( + select(Child) + .where(*filters) + .order_by(Child.id.desc()) + .offset((page - 1) * page_size) + .limit(page_size) + ).all() + return items, total + + +def get_child(db: Session, parent_user_id: int, child_id: int) -> Child | None: + return db.scalar( + select(Child).where( + Child.id == child_id, + Child.parent_user_id == parent_user_id, + Child.status != "archived", + ) + ) + + +def create_child(db: Session, parent_user_id: int, tenant_id: int | None, body: ChildCreateRequest) -> Child: + child = Child( + parent_user_id=parent_user_id, + tenant_id=tenant_id, + name=body.name, + birthday=body.birthday, + gender=body.gender.value, + height=body.height, + weight=body.weight, + contraindications=body.contraindications, + status="active", + ) + db.add(child) + db.commit() + db.refresh(child) + return child + + +def update_child(db: Session, child: Child, body: ChildUpdateRequest) -> Child: + child.name = body.name + child.birthday = body.birthday + child.gender = body.gender.value + child.height = body.height + child.weight = body.weight + child.contraindications = body.contraindications + db.commit() + db.refresh(child) + return child + + +def archive_child(db: Session, child: Child) -> None: + from datetime import datetime, timezone + + child.status = "archived" + child.deleted_at = datetime.now(timezone.utc) + db.commit() diff --git a/apps/api/app/services/oss.py b/apps/api/app/services/oss.py new file mode 100644 index 0000000..fbf7ba1 --- /dev/null +++ b/apps/api/app/services/oss.py @@ -0,0 +1,134 @@ +import secrets +from datetime import datetime, timedelta, timezone +from pathlib import Path + +from app.config import settings + +_upload_tokens: dict[str, dict] = {} + + +def _upload_root() -> Path: + root = Path(settings.upload_local_dir) + root.mkdir(parents=True, exist_ok=True) + return root + + +def generate_object_key(child_id: int, file_name: str) -> str: + safe_name = file_name.replace("..", "").replace("/", "_") + return f"videos/{child_id}/{safe_name}" + + +def _cleanup_expired_tokens() -> None: + now = datetime.now(timezone.utc) + expired = [k for k, v in _upload_tokens.items() if v["expire_at"] < now] + for key in expired: + _upload_tokens.pop(key, None) + + +def create_upload_token(object_key: str, content_type: str, size: int) -> dict: + _cleanup_expired_tokens() + expire_at = datetime.now(timezone.utc) + timedelta(minutes=settings.upload_token_expire_minutes) + token = secrets.token_urlsafe(32) + + if settings.oss_enabled: + upload_url, method = _create_s3_presigned_url(object_key, content_type, expire_at) + extra = { + "storage": settings.oss_provider, + "cdnBaseUrl": settings.oss_cdn_base_url or None, + } + else: + upload_url = f"{settings.api_public_url.rstrip('/')}/api/videos/direct-upload" + method = "PUT" + extra = {"storage": "local", "uploadToken": token} + + _upload_tokens[token] = { + "object_key": object_key, + "content_type": content_type, + "size": size, + "expire_at": expire_at, + } + + return { + "uploadUrl": upload_url, + "objectKey": object_key, + "expireAt": expire_at.replace(microsecond=0).isoformat(), + "method": method, + **extra, + "uploadToken": token, + } + + +def _create_s3_presigned_url(object_key: str, content_type: str, expire_at: datetime) -> tuple[str, str]: + try: + import boto3 + from botocore.client import Config + except ImportError as exc: + raise RuntimeError("boto3 required for OSS mode") from exc + + client = boto3.client( + "s3", + endpoint_url=settings.oss_endpoint, + aws_access_key_id=settings.oss_access_key, + aws_secret_access_key=settings.oss_secret_key, + config=Config(signature_version="s3v4"), + region_name=settings.oss_region, + ) + _ensure_bucket(client) + expires_in = max(60, int((expire_at - datetime.now(timezone.utc)).total_seconds())) + url = client.generate_presigned_url( + "put_object", + Params={ + "Bucket": settings.oss_bucket, + "Key": object_key, + "ContentType": content_type, + }, + ExpiresIn=expires_in, + ) + return url, "PUT" + + +def _ensure_bucket(client) -> None: + if settings.oss_provider != "minio": + return + try: + client.head_bucket(Bucket=settings.oss_bucket) + except Exception: + client.create_bucket(Bucket=settings.oss_bucket) + + +def public_object_url(object_key: str) -> str | None: + if settings.oss_cdn_base_url: + return f"{settings.oss_cdn_base_url.rstrip('/')}/{object_key}" + if settings.oss_enabled and settings.oss_provider == "aliyun": + endpoint = settings.oss_endpoint.rstrip("/") + return f"{endpoint}/{settings.oss_bucket}/{object_key}" + return None + + +def validate_upload_token(token: str, object_key: str) -> bool: + _cleanup_expired_tokens() + meta = _upload_tokens.get(token) + if not meta or meta["object_key"] != object_key: + return False + if meta["expire_at"] < datetime.now(timezone.utc): + _upload_tokens.pop(token, None) + return False + return True + + +def consume_upload_token(token: str, object_key: str) -> None: + meta = _upload_tokens.pop(token, None) + if not meta or meta["object_key"] != object_key: + raise ValueError("invalid_upload_token") + + +def save_local_upload(object_key: str, data: bytes) -> Path: + path = _upload_root() / object_key + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(data) + return path + + +def resolve_local_path(object_key: str) -> Path | None: + path = _upload_root() / object_key + return path if path.exists() else None diff --git a/apps/api/app/services/pdf_export.py b/apps/api/app/services/pdf_export.py new file mode 100644 index 0000000..7a7341a --- /dev/null +++ b/apps/api/app/services/pdf_export.py @@ -0,0 +1,143 @@ +"""Server-side PDF export for posture reports.""" + +from __future__ import annotations + +from io import BytesIO + +from reportlab.lib import colors +from reportlab.lib.pagesizes import A4 +from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet +from reportlab.lib.units import mm +from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer, Table, TableStyle + +from app.db.models import Child, Report +from app.services.reports import METRIC_LEVEL_LABELS, RISK_LABELS, report_to_dict + +LEVEL_COLORS = { + "normal": colors.HexColor("#2bb673"), + "low": colors.HexColor("#84cc16"), + "medium": colors.HexColor("#f59e0b"), + "high": colors.HexColor("#ef4444"), +} + + +def build_report_pdf(report: Report, child: Child | None = None) -> bytes: + payload = report_to_dict(report) + buffer = BytesIO() + doc = SimpleDocTemplate( + buffer, + pagesize=A4, + leftMargin=18 * mm, + rightMargin=18 * mm, + topMargin=16 * mm, + bottomMargin=16 * mm, + title=f"Happy Up Report #{report.id}", + ) + + styles = getSampleStyleSheet() + title_style = ParagraphStyle( + "ReportTitle", + parent=styles["Heading1"], + fontName="Helvetica-Bold", + fontSize=18, + textColor=colors.HexColor("#1a6fb5"), + spaceAfter=8, + ) + body = styles["BodyText"] + muted = ParagraphStyle("Muted", parent=body, textColor=colors.HexColor("#6b7280"), fontSize=9) + + child_name = child.name if child else f"儿童 #{report.child_id}" + story = [ + Paragraph("儿童 AI 体态管理 · 筛查报告", title_style), + Paragraph(f"儿童:{child_name} · 报告编号 #{report.id}", muted), + Spacer(1, 8), + ] + + if report.report_type == "movement_scoring": + story.extend(_movement_sections(payload, body, muted)) + else: + story.extend(_screening_sections(payload, body, muted)) + + story.append(Spacer(1, 10)) + story.append(Paragraph(payload.get("disclaimer", ""), muted)) + + doc.build(story) + return buffer.getvalue() + + +def _screening_sections(payload: dict, body, muted) -> list: + risk = payload.get("riskLevel", "medium") + risk_label = RISK_LABELS.get(risk, risk) + sections = [ + Paragraph(f"风险等级:{risk_label}", body), + Paragraph(f"摘要:{payload.get('summary', '')}", body), + Spacer(1, 8), + Paragraph("指标明细", body), + ] + + rows = [["指标", "数值", "等级", "置信度"]] + for metric in payload.get("metrics", []): + rows.append( + [ + metric.get("name", ""), + f"{metric.get('value', 0)}%", + METRIC_LEVEL_LABELS.get(metric.get("level", ""), metric.get("level", "")), + f"{metric.get('confidence', 0):.0%}", + ] + ) + + table = Table(rows, colWidths=[80, 60, 60, 60]) + table.setStyle( + TableStyle( + [ + ("BACKGROUND", (0, 0), (-1, 0), colors.HexColor("#eef2f7")), + ("TEXTCOLOR", (0, 0), (-1, 0), colors.HexColor("#1f2937")), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#e5e7eb")), + ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"), + ("ROWBACKGROUNDS", (0, 1), (-1, -1), [colors.white, colors.HexColor("#fafafa")]), + ] + ) + ) + sections.append(table) + sections.append(Spacer(1, 8)) + sections.append(Paragraph("建议", body)) + for idx, item in enumerate(payload.get("recommendations", []), start=1): + sections.append(Paragraph(f"{idx}. {item}", body)) + return sections + + +def _movement_sections(payload: dict, body, muted) -> list: + score = payload.get("score", 0) + sections = [ + Paragraph(f"跟练得分:{score}", body), + Paragraph( + f"完成 {payload.get('repsCompleted', 0)} 组 · " + f"时长 {payload.get('durationSeconds', 0)} 秒", + muted, + ), + Spacer(1, 8), + Paragraph("维度评分", body), + ] + dims = payload.get("dimensions", {}) + rows = [["维度", "得分"]] + for key, label in ( + ("trajectory", "轨迹"), + ("angle", "角度"), + ("rhythm", "节奏"), + ("stability", "稳定性"), + ("completion", "完成度"), + ): + rows.append([label, str(dims.get(key, "-"))]) + + table = Table(rows, colWidths=[120, 80]) + table.setStyle( + TableStyle( + [ + ("BACKGROUND", (0, 0), (-1, 0), colors.HexColor("#eef2f7")), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#e5e7eb")), + ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"), + ] + ) + ) + sections.append(table) + return sections diff --git a/apps/api/app/services/reports.py b/apps/api/app/services/reports.py new file mode 100644 index 0000000..5b7eb90 --- /dev/null +++ b/apps/api/app/services/reports.py @@ -0,0 +1,65 @@ +from sqlalchemy import select +from sqlalchemy.orm import Session + +from app.db.models import Report +from app.mock_data import MOCK_MOVEMENT_REPORT +from app.services.videos import verify_child_owner + + +RISK_LABELS = { + "low": "正常", + "medium": "中度关注", + "high": "高度关注", + "review_required": "建议复核", +} + +METRIC_LEVEL_LABELS = { + "medium": "中度", + "low": "轻度", + "normal": "正常", + "high": "重度", +} + + +def report_to_dict(report: Report) -> dict: + if report.report_type == "movement_scoring" and report.metrics: + stored = report.metrics[0] if isinstance(report.metrics, list) else report.metrics + if isinstance(stored, dict) and "score" in stored: + return stored + return {**MOCK_MOVEMENT_REPORT, "id": report.id, "childId": report.child_id, "taskId": report.task_id} + + return { + "id": report.id, + "childId": report.child_id, + "taskId": report.task_id, + "riskLevel": report.risk_level, + "summary": report.summary, + "metrics": report.metrics, + "recommendations": report.recommendations, + "disclaimer": report.disclaimer, + "reviewedBy": report.reviewed_by, + } + + +def get_report_for_user(db: Session, user_id: int, report_id: int) -> Report | None: + report = db.get(Report, report_id) + if not report: + return None + if not verify_child_owner(db, user_id, report.child_id): + return None + return report + + +def list_reports_for_child( + db: Session, user_id: int, child_id: int, limit: int = 10 +) -> list[Report] | None: + if not verify_child_owner(db, user_id, child_id): + return None + return list( + db.scalars( + select(Report) + .where(Report.child_id == child_id) + .order_by(Report.id.desc()) + .limit(limit) + ).all() + ) diff --git a/apps/api/app/services/training.py b/apps/api/app/services/training.py new file mode 100644 index 0000000..816dbbe --- /dev/null +++ b/apps/api/app/services/training.py @@ -0,0 +1,148 @@ +from datetime import datetime, timezone + +from sqlalchemy import func, select +from sqlalchemy.orm import Session + +from app.db.models import Exercise, TrainingPlan, TrainingRecord +from app.schemas.models import TrainingPlanCreateRequest, TrainingRecordCreateRequest +from app.services.videos import verify_child_owner + +DEFAULT_EXERCISES = [ + {"id": 1, "name": "肩胛稳定训练", "durationMinutes": 5}, + {"id": 2, "name": "颈后肌群拉伸", "sets": 3}, +] + + +def plan_to_dict(plan: TrainingPlan) -> dict: + detail = plan.plan_detail or {} + records_count = detail.get("completedDays", 0) + current_day = min(plan.cycle_days, records_count + 1) + return { + "id": plan.id, + "status": plan.status, + "detail": { + **detail, + "goal": plan.goal, + "cycleDays": plan.cycle_days, + "currentDay": current_day, + "childId": plan.child_id, + "reportId": plan.report_id, + }, + "startedAt": plan.started_at.isoformat() if plan.started_at else None, + "endedAt": plan.ended_at.isoformat() if plan.ended_at else None, + } + + +def build_plan_detail(body: TrainingPlanCreateRequest) -> dict: + exercises = DEFAULT_EXERCISES + if body.exercise_ids: + exercises = [{"id": eid, "name": f"动作 #{eid}"} for eid in body.exercise_ids] + return { + "goal": body.goal, + "cycleDays": body.cycle_days, + "currentDay": 1, + "completedDays": 0, + "exercises": exercises, + "constraints": body.constraints or {}, + } + + +def get_plan_for_user(db: Session, user_id: int, plan_id: int) -> TrainingPlan | None: + plan = db.get(TrainingPlan, plan_id) + if not plan or plan.status == "cancelled": + return None + if not verify_child_owner(db, user_id, plan.child_id): + return None + return plan + + +def get_active_plan_for_child(db: Session, user_id: int, child_id: int) -> TrainingPlan | None: + if not verify_child_owner(db, user_id, child_id): + return None + return db.scalar( + select(TrainingPlan) + .where(TrainingPlan.child_id == child_id, TrainingPlan.status == "active") + .order_by(TrainingPlan.id.desc()) + ) + + +def list_plans_for_child(db: Session, user_id: int, child_id: int) -> list[TrainingPlan] | None: + if not verify_child_owner(db, user_id, child_id): + return None + return list( + db.scalars( + select(TrainingPlan) + .where(TrainingPlan.child_id == child_id, TrainingPlan.status != "cancelled") + .order_by(TrainingPlan.id.desc()) + .limit(10) + ).all() + ) + + +def create_plan(db: Session, user_id: int, body: TrainingPlanCreateRequest) -> TrainingPlan | None: + if not verify_child_owner(db, user_id, body.child_id): + return None + now = datetime.now(timezone.utc) + plan = TrainingPlan( + child_id=body.child_id, + report_id=body.report_id, + goal=body.goal, + cycle_days=body.cycle_days, + status="active", + plan_detail=build_plan_detail(body), + started_at=now, + ) + db.add(plan) + db.commit() + db.refresh(plan) + return plan + + +def create_record( + db: Session, user_id: int, plan_id: int, body: TrainingRecordCreateRequest +) -> TrainingRecord | None: + plan = get_plan_for_user(db, user_id, plan_id) + if not plan: + return None + + feedback = {"media": body.media} if body.media else None + record = TrainingRecord( + plan_id=plan_id, + child_id=plan.child_id, + exercise_id=body.exercise_id, + completed=body.completed, + score=body.score, + duration_seconds=body.duration_seconds, + feedback=feedback, + note=body.note, + ) + db.add(record) + + detail = dict(plan.plan_detail or {}) + detail["completedDays"] = detail.get("completedDays", 0) + (1 if body.completed else 0) + detail["lastScore"] = body.score + detail["lastRecordId"] = None + plan.plan_detail = detail + + db.commit() + db.refresh(record) + detail["lastRecordId"] = record.id + plan.plan_detail = detail + db.commit() + return record + + +def ensure_default_exercises(db: Session) -> None: + existing = db.scalar(select(func.count()).select_from(Exercise)) + if existing: + return + for item in DEFAULT_EXERCISES: + db.add( + Exercise( + name=item["name"], + category="posture", + target_issue="头前伸/高低肩", + duration_seconds=(item.get("durationMinutes", 3) * 60), + ) + ) + db.commit() diff --git a/apps/api/app/services/videos.py b/apps/api/app/services/videos.py new file mode 100644 index 0000000..459b203 --- /dev/null +++ b/apps/api/app/services/videos.py @@ -0,0 +1,53 @@ +from sqlalchemy import select +from sqlalchemy.orm import Session + +from app.db.models import Child +from app.db.models import Video as VideoModel +from app.schemas.models import UploadTokenRequest, VideoCreateRequest +from app.services import oss as oss_service + + +def verify_child_owner(db: Session, parent_user_id: int, child_id: int) -> Child | None: + return db.scalar( + select(Child).where( + Child.id == child_id, + Child.parent_user_id == parent_user_id, + Child.status != "archived", + ) + ) + + +def create_upload_token(body: UploadTokenRequest) -> dict: + object_key = oss_service.generate_object_key(body.child_id, body.file_name) + return oss_service.create_upload_token(object_key, body.content_type, body.size) + + +def save_direct_upload(token: str, object_key: str, data: bytes) -> None: + if not oss_service.validate_upload_token(token, object_key): + raise ValueError("invalid_upload_token") + oss_service.save_local_upload(object_key, data) + oss_service.consume_upload_token(token, object_key) + + +def register_video( + db: Session, user_id: int, body: VideoCreateRequest +) -> tuple[VideoModel | None, str | None]: + child = verify_child_owner(db, user_id, body.child_id) + if not child: + return None, "child_not_found" + + existing = db.scalar(select(VideoModel).where(VideoModel.object_key == body.object_key)) + if existing: + return existing, "duplicate" + + video = VideoModel( + child_id=body.child_id, + uploaded_by=user_id, + scene=body.scene.value, + object_key=body.object_key, + status="uploaded", + ) + db.add(video) + db.commit() + db.refresh(video) + return video, None diff --git a/apps/api/app/worker.py b/apps/api/app/worker.py new file mode 100644 index 0000000..80ba430 --- /dev/null +++ b/apps/api/app/worker.py @@ -0,0 +1,29 @@ +"""Analysis task worker — polls Redis queue and processes tasks.""" + +import time + +from app.db.session import SessionLocal +from app.queue.analysis_queue import get_analysis_queue +from app.services.analysis import process_analysis_task + + +def run_worker(poll_timeout: int = 5) -> None: + queue = get_analysis_queue() + print("Analysis worker started · waiting for tasks…") + while True: + task_id = queue.pop(timeout=poll_timeout) + if task_id is None: + continue + db = SessionLocal() + try: + task = process_analysis_task(db, task_id) + if task: + print(f"Processed task #{task_id} -> {task.status}") + except Exception as exc: + print(f"Failed task #{task_id}: {exc}") + finally: + db.close() + + +if __name__ == "__main__": + run_worker() diff --git a/apps/api/pyproject.toml b/apps/api/pyproject.toml new file mode 100644 index 0000000..ca37b81 --- /dev/null +++ b/apps/api/pyproject.toml @@ -0,0 +1,45 @@ +[project] +name = "happy-up-api" +version = "0.1.0" +description = "Kids AI Posture Platform API starter" +readme = "README.md" +requires-python = ">=3.11" +dependencies = [ + "fastapi>=0.115.0", + "uvicorn[standard]>=0.32.0", + "pydantic>=2.9.0", + "pydantic-settings>=2.6.0", + "sqlalchemy>=2.0.36", + "pymysql>=1.1.1", + "python-multipart>=0.0.12", + "httpx>=0.27.0", + "PyJWT>=2.9.0", + "alembic>=1.14.0", + "redis>=5.2.0", + "boto3>=1.35.0", + "reportlab>=4.2.0", +] + +[project.optional-dependencies] +ai = [ + "mediapipe>=0.10.14", + "opencv-python-headless>=4.10.0", +] +dev = [ + "pytest>=8.3.0", + "pytest-asyncio>=0.24.0", +] + +[build-system] +requires = ["setuptools>=75.0.0"] +build-backend = "setuptools.build_meta" + +[tool.setuptools] +packages = ["app"] + +[tool.setuptools.package-dir] +"" = "." + +[tool.pytest.ini_options] +asyncio_mode = "auto" +testpaths = ["tests"] diff --git a/apps/api/tests/conftest.py b/apps/api/tests/conftest.py new file mode 100644 index 0000000..c8c11a9 --- /dev/null +++ b/apps/api/tests/conftest.py @@ -0,0 +1,46 @@ +import pytest +from fastapi.testclient import TestClient +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from sqlalchemy.pool import StaticPool + +from app.db import models # noqa: F401 +from app.db.session import Base, get_db +from app.main import app +from app.queue.analysis_queue import reset_analysis_queue_for_tests + + +@pytest.fixture() +def client(): + reset_analysis_queue_for_tests() + engine = create_engine( + "sqlite:///:memory:", + connect_args={"check_same_thread": False}, + poolclass=StaticPool, + ) + Base.metadata.create_all(bind=engine) + TestingSessionLocal = sessionmaker(bind=engine, autoflush=False, autocommit=False) + + def override_get_db(): + db = TestingSessionLocal() + try: + yield db + finally: + db.close() + + app.dependency_overrides[get_db] = override_get_db + with TestClient(app) as test_client: + yield test_client + app.dependency_overrides.clear() + Base.metadata.drop_all(bind=engine) + + +@pytest.fixture() +def auth_headers(client): + resp = client.post( + "/api/auth/login", + json={"loginType": "phone_code", "credential": "18600000000", "code": "682139"}, + ) + assert resp.status_code == 200, resp.text + token = resp.json()["data"]["token"] + return {"Authorization": f"Bearer {token}"} diff --git a/apps/api/tests/test_api.py b/apps/api/tests/test_api.py new file mode 100644 index 0000000..79ccf53 --- /dev/null +++ b/apps/api/tests/test_api.py @@ -0,0 +1,69 @@ +from fastapi.testclient import TestClient + + +def test_health(client): + resp = client.get("/health") + assert resp.status_code == 200 + assert resp.json()["stage"] == "sprint5" + + +def test_login_invalid_code(client): + resp = client.post( + "/api/auth/login", + json={"loginType": "phone_code", "credential": "18600000000", "code": "000000"}, + ) + assert resp.status_code == 401 + assert resp.json()["code"] == 10002 + + +def test_login_and_children_crud(client, auth_headers): + resp = client.get("/api/children", headers=auth_headers) + assert resp.status_code == 200 + assert resp.json()["data"]["page"]["total"] == 0 + + create = client.post( + "/api/children", + headers={**auth_headers, "Idempotency-Key": "demo-child-1"}, + json={ + "name": "小明", + "birthday": "2016-03-15", + "gender": "male", + "height": 142.5, + "weight": 36.0, + }, + ) + assert create.status_code == 201 + child_id = create.json()["data"]["id"] + assert create.json()["data"]["age"] >= 9 + + detail = client.get(f"/api/children/{child_id}", headers=auth_headers) + assert detail.status_code == 200 + assert detail.json()["data"]["name"] == "小明" + + updated = client.patch( + f"/api/children/{child_id}", + headers=auth_headers, + json={ + "name": "小明同学", + "birthday": "2016-03-15", + "gender": "male", + }, + ) + assert updated.status_code == 200 + assert updated.json()["data"]["name"] == "小明同学" + + archived = client.delete(f"/api/children/{child_id}", headers=auth_headers) + assert archived.status_code == 204 + + missing = client.get(f"/api/children/{child_id}", headers=auth_headers) + assert missing.status_code == 404 + + +def test_children_requires_auth(client): + resp = client.get("/api/children") + assert resp.status_code == 401 + + +def test_reports_requires_auth(client): + resp = client.get("/api/reports/1") + assert resp.status_code == 401 diff --git a/apps/api/tests/test_sprint2.py b/apps/api/tests/test_sprint2.py new file mode 100644 index 0000000..fdf2d05 --- /dev/null +++ b/apps/api/tests/test_sprint2.py @@ -0,0 +1,94 @@ +def test_screening_pipeline(client, auth_headers): + child = client.post( + "/api/children", + headers=auth_headers, + json={"name": "小红", "birthday": "2017-05-01", "gender": "female"}, + ).json()["data"] + child_id = child["id"] + + token_resp = client.post( + "/api/videos/upload-token", + headers=auth_headers, + json={ + "childId": child_id, + "fileName": "front.mp4", + "contentType": "video/mp4", + "size": 1024000, + }, + ) + assert token_resp.status_code == 200 + object_key = token_resp.json()["data"]["objectKey"] + + video_resp = client.post( + "/api/videos", + headers=auth_headers, + json={ + "childId": child_id, + "objectKey": object_key, + "scene": "front_posture", + }, + ) + assert video_resp.status_code == 201 + video_id = video_resp.json()["data"]["id"] + + task_resp = client.post( + "/api/analysis/tasks", + headers={**auth_headers, "Idempotency-Key": "screening-task-1"}, + json={ + "childId": child_id, + "videoId": video_id, + "taskType": "posture_screening", + }, + ) + assert task_resp.status_code == 201 + task = task_resp.json()["data"] + assert task["status"] == "SUCCEEDED" + assert task["reportId"] + + dup_resp = client.post( + "/api/analysis/tasks", + headers={**auth_headers, "Idempotency-Key": "screening-task-1"}, + json={ + "childId": child_id, + "videoId": video_id, + "taskType": "posture_screening", + }, + ) + assert dup_resp.status_code == 409 + + report_resp = client.get( + f"/api/reports/{task['reportId']}", + headers=auth_headers, + ) + assert report_resp.status_code == 200 + report = report_resp.json()["data"] + assert report["riskLevel"] == "medium" + assert len(report["metrics"]) >= 3 + + +def test_movement_report_pipeline(client, auth_headers): + child_id = client.post( + "/api/children", + headers=auth_headers, + json={"name": "小刚", "birthday": "2015-08-12", "gender": "male"}, + ).json()["data"]["id"] + + object_key = f"videos/{child_id}/live.mp4" + video_id = client.post( + "/api/videos", + headers=auth_headers, + json={"childId": child_id, "objectKey": object_key, "scene": "side_posture"}, + ).json()["data"]["id"] + + task = client.post( + "/api/analysis/tasks", + headers=auth_headers, + json={ + "childId": child_id, + "videoId": video_id, + "taskType": "movement_scoring", + }, + ).json()["data"] + + report = client.get(f"/api/reports/{task['reportId']}", headers=auth_headers).json()["data"] + assert report["score"] == 81 diff --git a/apps/api/tests/test_sprint3.py b/apps/api/tests/test_sprint3.py new file mode 100644 index 0000000..e2db5c3 --- /dev/null +++ b/apps/api/tests/test_sprint3.py @@ -0,0 +1,54 @@ +def test_training_plan_and_record(client, auth_headers): + child_id = client.post( + "/api/children", + headers=auth_headers, + json={"name": "训练测试", "birthday": "2016-01-01", "gender": "male"}, + ).json()["data"]["id"] + + plan_resp = client.post( + "/api/training/plans", + headers=auth_headers, + json={ + "childId": child_id, + "goal": "改善头前伸", + "cycleDays": 28, + }, + ) + assert plan_resp.status_code == 201 + plan = plan_resp.json()["data"] + plan_id = plan["id"] + assert plan["status"] == "active" + assert plan["detail"]["cycleDays"] == 28 + + detail = client.get(f"/api/training/plans/{plan_id}", headers=auth_headers) + assert detail.status_code == 200 + + record_resp = client.post( + f"/api/training/plans/{plan_id}/records", + headers=auth_headers, + json={ + "exerciseId": 1, + "completed": True, + "score": 81, + "durationSeconds": 272, + }, + ) + assert record_resp.status_code == 201 + assert record_resp.json()["data"]["score"] == 81 + + updated = client.get(f"/api/training/plans/{plan_id}", headers=auth_headers).json()["data"] + assert updated["detail"]["completedDays"] == 1 + + +def test_admin_dashboard(client, auth_headers): + client.post( + "/api/children", + headers=auth_headers, + json={"name": "看板测试", "birthday": "2015-06-01", "gender": "female"}, + ) + dash = client.get("/api/admin/dashboard", headers=auth_headers) + assert dash.status_code == 200 + data = dash.json()["data"] + assert "newChildren" in data + assert "activePlans" in data + assert data["newChildren"] >= 1 diff --git a/apps/api/tests/test_sprint4.py b/apps/api/tests/test_sprint4.py new file mode 100644 index 0000000..fa1548c --- /dev/null +++ b/apps/api/tests/test_sprint4.py @@ -0,0 +1,85 @@ +def test_local_direct_upload(client, auth_headers): + child_id = client.post( + "/api/children", + headers=auth_headers, + json={"name": "小直传", "birthday": "2016-03-10", "gender": "female"}, + ).json()["data"]["id"] + + token_resp = client.post( + "/api/videos/upload-token", + headers=auth_headers, + json={ + "childId": child_id, + "fileName": "direct.mp4", + "contentType": "video/mp4", + "size": 128, + }, + ) + assert token_resp.status_code == 200 + payload = token_resp.json()["data"] + assert payload["storage"] == "local" + assert payload["method"] == "PUT" + assert payload["uploadToken"] + + put_resp = client.put( + "/api/videos/direct-upload", + headers={ + "X-Upload-Token": payload["uploadToken"], + "X-Object-Key": payload["objectKey"], + "Content-Type": "video/mp4", + }, + content=b"\x00\x00\x00\x18ftypmp42", + ) + assert put_resp.status_code == 204 + + bad_put = client.put( + "/api/videos/direct-upload", + headers={ + "X-Upload-Token": "invalid-token", + "X-Object-Key": payload["objectKey"], + }, + content=b"bad", + ) + assert bad_put.status_code == 403 + + video_resp = client.post( + "/api/videos", + headers=auth_headers, + json={ + "childId": child_id, + "objectKey": payload["objectKey"], + "scene": "front_posture", + }, + ) + assert video_resp.status_code == 201 + video_id = video_resp.json()["data"]["id"] + + task_resp = client.post( + "/api/analysis/tasks", + headers={**auth_headers, "Idempotency-Key": "sprint4-direct-upload"}, + json={ + "childId": child_id, + "videoId": video_id, + "taskType": "posture_screening", + }, + ) + assert task_resp.status_code == 201 + task = task_resp.json()["data"] + assert task["status"] == "SUCCEEDED" + assert task["reportId"] + + report_resp = client.get(f"/api/reports/{task['reportId']}", headers=auth_headers) + assert report_resp.status_code == 200 + + +def test_pose_analyzer_mock(): + from pathlib import Path + + from app.ai.pose_analyzer import analyze_task + + out = analyze_task("posture_screening", None) + assert out["engine"] == "mock" + assert out["report"] + + missing = analyze_task("posture_screening", Path("/tmp/does-not-exist.mp4")) + assert missing["engine"] == "mock" diff --git a/apps/api/tests/test_sprint5.py b/apps/api/tests/test_sprint5.py new file mode 100644 index 0000000..9d6e546 --- /dev/null +++ b/apps/api/tests/test_sprint5.py @@ -0,0 +1,85 @@ +def test_pose_metrics_screening(): + from app.ai.pose_metrics import LEFT_HIP, LEFT_SHOULDER, NOSE, RIGHT_HIP, RIGHT_SHOULDER, build_screening_report + + good_frame = { + NOSE: {"x": 0.5, "y": 0.25, "visibility": 0.95}, + LEFT_SHOULDER: {"x": 0.42, "y": 0.35, "visibility": 0.95}, + RIGHT_SHOULDER: {"x": 0.58, "y": 0.35, "visibility": 0.95}, + LEFT_HIP: {"x": 0.44, "y": 0.55, "visibility": 0.95}, + RIGHT_HIP: {"x": 0.56, "y": 0.55, "visibility": 0.95}, + } + bad_frame = { + NOSE: {"x": 0.72, "y": 0.28, "visibility": 0.95}, + LEFT_SHOULDER: {"x": 0.42, "y": 0.35, "visibility": 0.95}, + RIGHT_SHOULDER: {"x": 0.58, "y": 0.42, "visibility": 0.95}, + LEFT_HIP: {"x": 0.44, "y": 0.58, "visibility": 0.95}, + RIGHT_HIP: {"x": 0.56, "y": 0.52, "visibility": 0.95}, + } + + report = build_screening_report([good_frame] * 4 + [bad_frame] * 4) + assert report["riskLevel"] in ("low", "medium", "high") + assert len(report["metrics"]) >= 2 + assert report["summary"] + + +def test_pose_metrics_movement(): + from app.ai.pose_metrics import LEFT_SHOULDER, NOSE, RIGHT_SHOULDER, build_movement_report + + frame = { + NOSE: {"x": 0.5, "y": 0.25, "visibility": 0.95}, + LEFT_SHOULDER: {"x": 0.42, "y": 0.35, "visibility": 0.95}, + RIGHT_SHOULDER: {"x": 0.58, "y": 0.35, "visibility": 0.95}, + } + report = build_movement_report([frame] * 8) + assert 50 <= report["score"] <= 100 + assert report["dimensions"]["stability"] >= 50 + + +def test_report_list_and_pdf(client, auth_headers): + child_id = client.post( + "/api/children", + headers=auth_headers, + json={"name": "PDF测试", "birthday": "2016-01-01", "gender": "male"}, + ).json()["data"]["id"] + + object_key = f"videos/{child_id}/pdf-test.mp4" + video_id = client.post( + "/api/videos", + headers=auth_headers, + json={"childId": child_id, "objectKey": object_key, "scene": "front_posture"}, + ).json()["data"]["id"] + + task = client.post( + "/api/analysis/tasks", + headers={**auth_headers, "Idempotency-Key": "sprint5-pdf"}, + json={"childId": child_id, "videoId": video_id, "taskType": "posture_screening"}, + ).json()["data"] + assert task["reportId"] + + list_resp = client.get(f"/api/reports?childId={child_id}", headers=auth_headers) + assert list_resp.status_code == 200 + assert any(item["id"] == task["reportId"] for item in list_resp.json()["data"]["list"]) + + pdf_resp = client.get(f"/api/reports/{task['reportId']}/pdf", headers=auth_headers) + assert pdf_resp.status_code == 200 + assert pdf_resp.headers["content-type"] == "application/pdf" + assert pdf_resp.content[:4] == b"%PDF" + + +def test_oss_public_url(monkeypatch): + from app.config import settings + from app.services import oss as oss_service + + monkeypatch.setattr(settings, "oss_enabled", True) + monkeypatch.setattr(settings, "oss_provider", "aliyun") + monkeypatch.setattr(settings, "oss_endpoint", "https://oss-cn-hangzhou.aliyuncs.com") + monkeypatch.setattr(settings, "oss_bucket", "happy-up-prod") + monkeypatch.setattr(settings, "oss_cdn_base_url", "https://cdn.example.com") + + assert oss_service.public_object_url("videos/1/a.mp4") == "https://cdn.example.com/videos/1/a.mp4" + + monkeypatch.setattr(settings, "oss_cdn_base_url", "") + assert ( + oss_service.public_object_url("videos/1/a.mp4") + == "https://oss-cn-hangzhou.aliyuncs.com/happy-up-prod/videos/1/a.mp4" + ) diff --git a/apps/mini/README.md b/apps/mini/README.md new file mode 100644 index 0000000..221efec --- /dev/null +++ b/apps/mini/README.md @@ -0,0 +1,20 @@ +# Happy Up 微信小程序壳 + +Sprint 5 最小可用壳,复用 FastAPI 后端,与 H5 共用同一套 API。 + +## 开发 + +1. 启动 API:`make api-dev` +2. 微信开发者工具导入本目录 `apps/mini` +3. 详情 → 本地设置 → 勾选「不校验合法域名」 +4. 默认 API:`http://127.0.0.1:8000`(可在 `app.js` 修改 `apiBase`) + +## 页面 + +| 页面 | 说明 | +|------|------| +| login | 手机验证码登录(682139) | +| home | 儿童档案列表 | +| screening | 直传 + 分析 + 报告摘要 | + +完整 UI 与 Tab 导航在 `apps/web` H5;小程序后续可嵌入 web-view 或继续原生迭代。 diff --git a/apps/mini/app.js b/apps/mini/app.js new file mode 100644 index 0000000..260bbd3 --- /dev/null +++ b/apps/mini/app.js @@ -0,0 +1,12 @@ +App({ + globalData: { + apiBase: 'http://127.0.0.1:8000', + token: '', + }, + onLaunch() { + const token = wx.getStorageSync('happy_up_token') + if (token) { + this.globalData.token = token + } + }, +}) diff --git a/apps/mini/app.json b/apps/mini/app.json new file mode 100644 index 0000000..d66e576 --- /dev/null +++ b/apps/mini/app.json @@ -0,0 +1,15 @@ +{ + "pages": [ + "pages/login/login", + "pages/home/home", + "pages/screening/screening" + ], + "window": { + "navigationBarTitleText": "Happy Up", + "navigationBarBackgroundColor": "#1a6fb5", + "navigationBarTextStyle": "white", + "backgroundColor": "#eef2f7" + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} diff --git a/apps/mini/app.wxss b/apps/mini/app.wxss new file mode 100644 index 0000000..6ab94da --- /dev/null +++ b/apps/mini/app.wxss @@ -0,0 +1,24 @@ +page { + background: #eef2f7; + color: #1f2937; + font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif; +} + +.card { + margin: 24rpx; + padding: 32rpx; + background: #fff; + border-radius: 24rpx; + box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06); +} + +.btn-primary { + margin-top: 24rpx; + background: #1a6fb5; + color: #fff; +} + +.muted { + color: #6b7280; + font-size: 24rpx; +} diff --git a/apps/mini/pages/home/home.js b/apps/mini/pages/home/home.js new file mode 100644 index 0000000..0e17e3a --- /dev/null +++ b/apps/mini/pages/home/home.js @@ -0,0 +1,22 @@ +const api = require('../../utils/api') + +Page({ + data: { + children: [], + error: '', + }, + onShow() { + this.load() + }, + async load() { + try { + const data = await api.listChildren() + this.setData({ children: data.list || [], error: '' }) + } catch (err) { + this.setData({ error: err.message || '加载失败' }) + } + }, + goScreening() { + wx.navigateTo({ url: '/pages/screening/screening' }) + }, +}) diff --git a/apps/mini/pages/home/home.json b/apps/mini/pages/home/home.json new file mode 100644 index 0000000..dac4751 --- /dev/null +++ b/apps/mini/pages/home/home.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "首页" +} diff --git a/apps/mini/pages/home/home.wxml b/apps/mini/pages/home/home.wxml new file mode 100644 index 0000000..aa388d2 --- /dev/null +++ b/apps/mini/pages/home/home.wxml @@ -0,0 +1,8 @@ + + 儿童档案 + {{error}} + + {{item.name}} · {{item.birthday}} + + + diff --git a/apps/mini/pages/home/home.wxss b/apps/mini/pages/home/home.wxss new file mode 100644 index 0000000..e69de29 diff --git a/apps/mini/pages/login/login.js b/apps/mini/pages/login/login.js new file mode 100644 index 0000000..d9aec7d --- /dev/null +++ b/apps/mini/pages/login/login.js @@ -0,0 +1,23 @@ +const api = require('../../utils/api') + +Page({ + data: { + phone: '18600000000', + code: '682139', + error: '', + }, + onPhone(e) { + this.setData({ phone: e.detail.value }) + }, + onCode(e) { + this.setData({ code: e.detail.value }) + }, + async submit() { + try { + await api.login(this.data.phone, this.data.code) + wx.redirectTo({ url: '/pages/home/home' }) + } catch (err) { + this.setData({ error: err.message || '登录失败' }) + } + }, +}) diff --git a/apps/mini/pages/login/login.json b/apps/mini/pages/login/login.json new file mode 100644 index 0000000..c5a131f --- /dev/null +++ b/apps/mini/pages/login/login.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "登录" +} diff --git a/apps/mini/pages/login/login.wxml b/apps/mini/pages/login/login.wxml new file mode 100644 index 0000000..8b80054 --- /dev/null +++ b/apps/mini/pages/login/login.wxml @@ -0,0 +1,8 @@ + + 手机号验证码登录 + 开发验证码 682139 + + + {{error}} + + diff --git a/apps/mini/pages/login/login.wxss b/apps/mini/pages/login/login.wxss new file mode 100644 index 0000000..09e9db8 --- /dev/null +++ b/apps/mini/pages/login/login.wxss @@ -0,0 +1,6 @@ +input { + margin-top: 16rpx; + padding: 16rpx; + background: #f9fafb; + border-radius: 12rpx; +} diff --git a/apps/mini/pages/screening/screening.js b/apps/mini/pages/screening/screening.js new file mode 100644 index 0000000..52784e0 --- /dev/null +++ b/apps/mini/pages/screening/screening.js @@ -0,0 +1,76 @@ +const api = require('../../utils/api') + +Page({ + data: { + status: '准备就绪', + reportSummary: '', + }, + async run() { + this.setData({ status: '读取档案…' }) + try { + const children = await api.listChildren() + const child = (children.list || [])[0] + if (!child) throw new Error('暂无儿童档案') + + this.setData({ status: '获取上传凭证…' }) + const tokenData = await api.request('/api/videos/upload-token', { + method: 'POST', + data: { + childId: child.id, + fileName: 'mini.mp4', + contentType: 'video/mp4', + size: 1024, + }, + }) + + if (tokenData.storage === 'local') { + this.setData({ status: '直传本地存储…' }) + await new Promise((resolve, reject) => { + wx.request({ + url: tokenData.uploadUrl, + method: 'PUT', + header: { + 'Content-Type': 'video/mp4', + 'X-Upload-Token': tokenData.uploadToken, + 'X-Object-Key': tokenData.objectKey, + }, + data: new Uint8Array([0, 0, 0, 24, 102, 116, 121, 112, 105, 115, 111, 109]).buffer, + success(res) { + if (res.statusCode === 204) resolve() + else reject(new Error('直传失败')) + }, + fail: reject, + }) + }) + } + + this.setData({ status: '提交分析…' }) + const video = await api.request('/api/videos', { + method: 'POST', + data: { + childId: child.id, + objectKey: tokenData.objectKey, + scene: 'front_posture', + }, + }) + + const task = await api.request('/api/analysis/tasks', { + method: 'POST', + header: { 'Idempotency-Key': `mini-${Date.now()}` }, + data: { + childId: child.id, + videoId: video.id, + taskType: 'posture_screening', + }, + }) + + const report = await api.request(`/api/reports/${task.reportId}`) + this.setData({ + status: '完成', + reportSummary: report.summary, + }) + } catch (err) { + this.setData({ status: err.message || '失败' }) + } + }, +}) diff --git a/apps/mini/pages/screening/screening.json b/apps/mini/pages/screening/screening.json new file mode 100644 index 0000000..3bea463 --- /dev/null +++ b/apps/mini/pages/screening/screening.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "筛查联调" +} diff --git a/apps/mini/pages/screening/screening.wxml b/apps/mini/pages/screening/screening.wxml new file mode 100644 index 0000000..d2e1d80 --- /dev/null +++ b/apps/mini/pages/screening/screening.wxml @@ -0,0 +1,6 @@ + + 筛查流程 + {{status}} + {{reportSummary}} + + diff --git a/apps/mini/pages/screening/screening.wxss b/apps/mini/pages/screening/screening.wxss new file mode 100644 index 0000000..e69de29 diff --git a/apps/mini/project.config.json b/apps/mini/project.config.json new file mode 100644 index 0000000..d1dbd5f --- /dev/null +++ b/apps/mini/project.config.json @@ -0,0 +1,16 @@ +{ + "description": "Happy Up 微信小程序壳 · Sprint 5", + "packOptions": { + "ignore": [] + }, + "setting": { + "urlCheck": false, + "es6": true, + "postcss": true, + "minified": true + }, + "compileType": "miniprogram", + "appid": "touristappid", + "projectname": "happy-up-mini", + "libVersion": "3.6.0" +} diff --git a/apps/mini/sitemap.json b/apps/mini/sitemap.json new file mode 100644 index 0000000..0998ac3 --- /dev/null +++ b/apps/mini/sitemap.json @@ -0,0 +1,4 @@ +{ + "desc": "Happy Up mini program sitemap", + "rules": [{ "action": "allow", "page": "*" }] +} diff --git a/apps/mini/utils/api.js b/apps/mini/utils/api.js new file mode 100644 index 0000000..659afde --- /dev/null +++ b/apps/mini/utils/api.js @@ -0,0 +1,50 @@ +const app = getApp() + +function request(path, options = {}) { + return new Promise((resolve, reject) => { + wx.request({ + url: `${app.globalData.apiBase}${path}`, + method: options.method || 'GET', + data: options.data, + header: { + 'Content-Type': 'application/json', + Authorization: app.globalData.token ? `Bearer ${app.globalData.token}` : '', + ...(options.header || {}), + }, + success(res) { + const body = res.data + if (res.statusCode >= 200 && res.statusCode < 300 && body.code === 0) { + resolve(body.data) + return + } + reject(new Error(body.message || `HTTP ${res.statusCode}`)) + }, + fail: reject, + }) + }) +} + +function login(phone, code) { + return request('/api/auth/login', { + method: 'POST', + data: { + loginType: 'phone_code', + credential: phone, + code, + }, + }).then((data) => { + app.globalData.token = data.token + wx.setStorageSync('happy_up_token', data.token) + return data + }) +} + +function listChildren() { + return request('/api/children') +} + +module.exports = { + request, + login, + listChildren, +} diff --git a/apps/web/README.md b/apps/web/README.md new file mode 100644 index 0000000..eaab6a6 --- /dev/null +++ b/apps/web/README.md @@ -0,0 +1,32 @@ +# Happy Up Web (H5) + +Vue 3 + Vite 移动端 H5,对接 FastAPI 后端。Sprint 5 起四 Tab 导航对齐产品 Demo 配色。 + +## 开发 + +```bash +# 根目录先启动 API +make up && make api-seed && make api-dev + +# 另开终端 +cd apps/web +npm install +npm run dev +``` + +访问 http://localhost:5173 + +- 登录验证码:`682139` +- 代理:`/api` → `http://127.0.0.1:8000` + +## 页面 + +| 路由 | 说明 | +|------|------| +| `/login` | 手机验证码登录 | +| `/` | 儿童档案列表 | +| `/screening` | 直传 + 分析 + 报告联调 | +| `/reports` | 报告列表 + PDF 下载 | +| `/training` | 训练计划列表 | + +小程序壳见 `apps/mini/`。 diff --git a/apps/web/index.html b/apps/web/index.html new file mode 100644 index 0000000..d29ab11 --- /dev/null +++ b/apps/web/index.html @@ -0,0 +1,12 @@ + + + + + + Happy Up · 儿童体态管理 + + +
+ + + diff --git a/apps/web/package.json b/apps/web/package.json new file mode 100644 index 0000000..97a93f4 --- /dev/null +++ b/apps/web/package.json @@ -0,0 +1,21 @@ +{ + "name": "happy-up-web", + "private": true, + "version": "0.5.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.1", + "typescript": "~5.7.2", + "vite": "^6.0.7", + "vue-tsc": "^2.2.0" + } +} diff --git a/apps/web/src/App.vue b/apps/web/src/App.vue new file mode 100644 index 0000000..e2a5e23 --- /dev/null +++ b/apps/web/src/App.vue @@ -0,0 +1,37 @@ + + + diff --git a/apps/web/src/api.ts b/apps/web/src/api.ts new file mode 100644 index 0000000..b1fa634 --- /dev/null +++ b/apps/web/src/api.ts @@ -0,0 +1,161 @@ +const TOKEN_KEY = 'happy_up_token' + +export function getToken(): string | null { + return localStorage.getItem(TOKEN_KEY) +} + +export function setToken(token: string) { + localStorage.setItem(TOKEN_KEY, token) +} + +export function clearToken() { + localStorage.removeItem(TOKEN_KEY) +} + +type ApiResponse = { + code: number + message: string + data: T +} + +export async function apiFetch(path: string, init: RequestInit = {}): Promise { + const headers = new Headers(init.headers) + if (!headers.has('Content-Type') && init.body) { + headers.set('Content-Type', 'application/json') + } + const token = getToken() + if (token) { + headers.set('Authorization', `Bearer ${token}`) + } + + const resp = await fetch(path, { ...init, headers }) + const json = (await resp.json()) as ApiResponse + if (!resp.ok || json.code !== 0) { + throw new Error(json.message || `HTTP ${resp.status}`) + } + return json.data +} + +export async function login(phone: string, code: string) { + const data = await apiFetch<{ token: string }>('/api/auth/login', { + method: 'POST', + body: JSON.stringify({ + loginType: 'phone_code', + credential: phone, + code, + }), + }) + setToken(data.token) + return data +} + +export type Child = { + id: number + name: string + birthday: string + gender: string +} + +export async function listChildren() { + return apiFetch<{ list: Child[] }>('/api/children') +} + +export async function createUploadToken(childId: number) { + return apiFetch<{ + uploadUrl: string + objectKey: string + uploadToken: string + storage: string + method: string + }>('/api/videos/upload-token', { + method: 'POST', + body: JSON.stringify({ + childId, + fileName: 'screening.mp4', + contentType: 'video/mp4', + size: 2048, + }), + }) +} + +export async function directUpload( + uploadUrl: string, + uploadToken: string, + objectKey: string, + blob: Blob, +) { + const resp = await fetch(uploadUrl, { + method: 'PUT', + headers: { + 'Content-Type': 'video/mp4', + 'X-Upload-Token': uploadToken, + 'X-Object-Key': objectKey, + }, + body: blob, + }) + if (!resp.ok) { + throw new Error('直传失败') + } +} + +export async function registerVideo(childId: number, objectKey: string) { + return apiFetch<{ id: number }>('/api/videos', { + method: 'POST', + body: JSON.stringify({ + childId, + objectKey, + scene: 'front_posture', + }), + }) +} + +export async function createAnalysisTask(childId: number, videoId: number) { + return apiFetch<{ id: number; status: string; reportId?: number }>('/api/analysis/tasks', { + method: 'POST', + headers: { 'Idempotency-Key': `h5-${Date.now()}` }, + body: JSON.stringify({ + childId, + videoId, + taskType: 'posture_screening', + }), + }) +} + +export async function getReport(reportId: number) { + return apiFetch<{ + id?: number + summary: string + riskLevel: string + metrics: Array<{ name: string; level: string; value: number }> + recommendations?: string[] + }>(`/api/reports/${reportId}`) +} + +export async function listReports(childId: number) { + return apiFetch<{ list: Array<{ id: number; summary: string; riskLevel: string }> }>( + `/api/reports?childId=${childId}`, + ) +} + +export function reportPdfUrl(reportId: number) { + return `/api/reports/${reportId}/pdf` +} + +export async function listTrainingPlans(childId: number) { + return apiFetch<{ + list: Array<{ + id: number + status: string + detail: { goal: string; cycleDays: number; currentDay: number; exercises: Array<{ name: string }> } + }> + }>(`/api/training/plans?childId=${childId}`) +} + +export function saveLastReportId(reportId: number) { + sessionStorage.setItem('happy_up_last_report', String(reportId)) +} + +export function getLastReportId(): number | null { + const raw = sessionStorage.getItem('happy_up_last_report') + return raw ? Number(raw) : null +} diff --git a/apps/web/src/main.ts b/apps/web/src/main.ts new file mode 100644 index 0000000..54ce204 --- /dev/null +++ b/apps/web/src/main.ts @@ -0,0 +1,6 @@ +import { createApp } from 'vue' +import App from './App.vue' +import router from './router' +import './style.css' + +createApp(App).use(router).mount('#app') diff --git a/apps/web/src/router/index.ts b/apps/web/src/router/index.ts new file mode 100644 index 0000000..6ac7666 --- /dev/null +++ b/apps/web/src/router/index.ts @@ -0,0 +1,26 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' +import LoginView from '../views/LoginView.vue' +import ReportView from '../views/ReportView.vue' +import ScreeningView from '../views/ScreeningView.vue' +import TrainingView from '../views/TrainingView.vue' +import { getToken } from '../api' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { path: '/login', component: LoginView }, + { path: '/', component: HomeView }, + { path: '/screening', component: ScreeningView }, + { path: '/reports', component: ReportView }, + { path: '/training', component: TrainingView }, + ], +}) + +router.beforeEach((to) => { + if (to.path !== '/login' && !getToken()) { + return '/login' + } +}) + +export default router diff --git a/apps/web/src/style.css b/apps/web/src/style.css new file mode 100644 index 0000000..5461ce2 --- /dev/null +++ b/apps/web/src/style.css @@ -0,0 +1,191 @@ +:root { + --primary: #1a6fb5; + --primary-dark: #0f4f86; + --accent: #2bb673; + --accent-soft: #e8f7ef; + --warn: #f59e0b; + --danger: #ef4444; + --bg: #eef2f7; + --surface: #fff; + --text: #1f2937; + --muted: #6b7280; + --border: #e5e7eb; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif; + color: var(--text); + background: var(--bg); +} + +* { + box-sizing: border-box; +} + +body { + margin: 0; + background: linear-gradient(160deg, #0f4f86 0%, #1a6fb5 50%, #2bb673 100%); + min-height: 100vh; +} + +.app-shell { + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.topbar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + color: #fff; +} + +.stage { + font-size: 11px; + background: rgba(255, 255, 255, 0.2); + padding: 4px 10px; + border-radius: 999px; +} + +.page { + flex: 1; + padding: 12px 16px 88px; + max-width: 480px; + width: 100%; + margin: 0 auto; +} + +.card { + background: var(--surface); + border-radius: 16px; + padding: 16px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); + margin-bottom: 12px; +} + +.card h2 { + margin: 0 0 8px; + font-size: 18px; +} + +.btn { + width: 100%; + border: none; + border-radius: 12px; + padding: 12px; + font-size: 15px; + background: var(--primary); + color: #fff; + cursor: pointer; +} + +.btn.secondary { + background: var(--accent-soft); + color: var(--primary-dark); +} + +.btn:disabled { + opacity: 0.6; +} + +.field { + display: flex; + flex-direction: column; + gap: 6px; + margin-bottom: 12px; +} + +.field input { + padding: 10px 12px; + border: 1px solid var(--border); + border-radius: 10px; +} + +.list-item { + padding: 12px 0; + border-bottom: 1px solid var(--border); +} + +.list-item:last-child { + border-bottom: none; +} + +.muted { + color: var(--muted); + font-size: 13px; +} + +.progress { + height: 8px; + background: #e5e7eb; + border-radius: 999px; + overflow: hidden; + margin: 12px 0; +} + +.progress > span { + display: block; + height: 100%; + background: var(--accent); + transition: width 0.3s ease; +} + +.error { + color: var(--danger); + font-size: 14px; +} + +.metric-row { + display: flex; + justify-content: space-between; + padding: 8px 0; + border-bottom: 1px dashed var(--border); +} + +.risk-badge { + display: inline-block; + padding: 4px 10px; + border-radius: 999px; + font-size: 12px; + background: var(--accent-soft); + color: var(--primary-dark); +} + +.bottom-nav { + position: fixed; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.96); + border-top: 1px solid var(--border); + display: flex; + justify-content: space-around; + padding: 8px 0 calc(8px + env(safe-area-inset-bottom)); + backdrop-filter: blur(8px); +} + +.bottom-nav a { + text-decoration: none; + color: var(--muted); + font-size: 12px; + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + min-width: 56px; +} + +.bottom-nav a.active { + color: var(--primary); + font-weight: 600; +} + +.bottom-nav .dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: transparent; +} + +.bottom-nav a.active .dot { + background: var(--accent); +} diff --git a/apps/web/src/views/HomeView.vue b/apps/web/src/views/HomeView.vue new file mode 100644 index 0000000..a3cba74 --- /dev/null +++ b/apps/web/src/views/HomeView.vue @@ -0,0 +1,44 @@ + + + diff --git a/apps/web/src/views/LoginView.vue b/apps/web/src/views/LoginView.vue new file mode 100644 index 0000000..f25bc9f --- /dev/null +++ b/apps/web/src/views/LoginView.vue @@ -0,0 +1,41 @@ + + + diff --git a/apps/web/src/views/ReportView.vue b/apps/web/src/views/ReportView.vue new file mode 100644 index 0000000..d28f861 --- /dev/null +++ b/apps/web/src/views/ReportView.vue @@ -0,0 +1,77 @@ + + + diff --git a/apps/web/src/views/ScreeningView.vue b/apps/web/src/views/ScreeningView.vue new file mode 100644 index 0000000..8b7d34e --- /dev/null +++ b/apps/web/src/views/ScreeningView.vue @@ -0,0 +1,95 @@ + + + diff --git a/apps/web/src/views/TrainingView.vue b/apps/web/src/views/TrainingView.vue new file mode 100644 index 0000000..56455a0 --- /dev/null +++ b/apps/web/src/views/TrainingView.vue @@ -0,0 +1,45 @@ + + + diff --git a/apps/web/src/vite-env.d.ts b/apps/web/src/vite-env.d.ts new file mode 100644 index 0000000..65c7311 --- /dev/null +++ b/apps/web/src/vite-env.d.ts @@ -0,0 +1,7 @@ +/// + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent + export default component +} diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json new file mode 100644 index 0000000..64e4186 --- /dev/null +++ b/apps/web/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2022", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "preserve", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/apps/web/tsconfig.node.json b/apps/web/tsconfig.node.json new file mode 100644 index 0000000..7366cef --- /dev/null +++ b/apps/web/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler" + }, + "include": ["vite.config.ts"] +} diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts new file mode 100644 index 0000000..c1442d0 --- /dev/null +++ b/apps/web/vite.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +export default defineConfig({ + plugins: [vue()], + server: { + port: 5173, + proxy: { + '/api': { + target: 'http://127.0.0.1:8000', + changeOrigin: true, + }, + }, + }, +}) diff --git a/contracts/README.md b/contracts/README.md new file mode 100644 index 0000000..46f74e9 --- /dev/null +++ b/contracts/README.md @@ -0,0 +1,14 @@ +# API & Database Contracts + +本目录为工程化使用的**契约副本**,单一事实来源仍为文档包: + +| 文件 | 文档源路径 | +|------|-----------| +| `openapi.yaml` | `doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/07_API接口/openapi.yaml` | +| `database.sql` | `doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/06_数据库设计/database.sql` | + +更新契约时请先改文档包,再执行: + +```bash +make sync-contracts +``` diff --git a/contracts/database.sql b/contracts/database.sql new file mode 100644 index 0000000..3d03bdb --- /dev/null +++ b/contracts/database.sql @@ -0,0 +1,316 @@ +-- Kids AI Posture Platform V1.0 database schema +-- MySQL 8.x +-- 目标:满足审计、幂等、治理、隐私与可追溯性要求 + +CREATE TABLE tenants ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128) NOT NULL, + type VARCHAR(32) NOT NULL DEFAULT 'organization', + status VARCHAR(32) NOT NULL DEFAULT 'active', + retention_days INT NOT NULL DEFAULT 1095, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + CHECK (type IN ('organization','school','clinic','mall','other')), + CHECK (status IN ('active','inactive','frozen','closed')), + CHECK (retention_days BETWEEN 30 AND 3650) +); + +CREATE TABLE users ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + phone VARCHAR(32), + phone_hash VARCHAR(128), + wechat_openid VARCHAR(128), + role VARCHAR(32) NOT NULL DEFAULT 'parent', + status VARCHAR(32) NOT NULL DEFAULT 'active', + consent_signed BOOLEAN NOT NULL DEFAULT FALSE, + privacy_version VARCHAR(16) DEFAULT 'v1', + last_login_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_users_tenant_role (tenant_id, role), + UNIQUE KEY uk_users_phone_hash (phone_hash), + UNIQUE KEY uk_users_wechat_openid (wechat_openid), + CHECK (role IN ('parent','coach','org_admin','platform_admin')), + CHECK (status IN ('active','inactive','blocked')) +); + +CREATE TABLE users_passwords ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + user_id BIGINT NOT NULL, + password_hash VARCHAR(256) NOT NULL, + salt VARCHAR(64) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_user_password (user_id) +); + +CREATE TABLE children ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + parent_user_id BIGINT NOT NULL, + coach_user_id BIGINT NULL, + name VARCHAR(64) NOT NULL, + gender VARCHAR(16) NOT NULL DEFAULT 'unknown', + birthday DATE NOT NULL, + height DECIMAL(5,2), + weight DECIMAL(5,2), + contraindications TEXT, + status VARCHAR(32) NOT NULL DEFAULT 'active', + deleted_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_children_parent (parent_user_id), + KEY idx_children_tenant_coach (tenant_id, coach_user_id), + KEY idx_children_status (status), + CHECK (gender IN ('male','female','unknown')), + CHECK (status IN ('active','inactive','archived')), + CHECK (height IS NULL OR (height > 20 AND height < 240)), + CHECK (weight IS NULL OR (weight > 5 AND weight < 250)) +); + +CREATE TABLE child_measurements ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + height DECIMAL(5,2), + weight DECIMAL(5,2), + source VARCHAR(32) NOT NULL DEFAULT 'manual', + measured_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + INDEX idx_measurements_child_time (child_id, measured_at), + CHECK (source IN ('manual','device','coach','report')), + CHECK (height IS NULL OR (height > 20 AND height < 240)), + CHECK (weight IS NULL OR (weight > 5 AND weight < 250)) +); + +CREATE TABLE videos ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + uploaded_by BIGINT NOT NULL, + scene VARCHAR(64) NOT NULL, + object_key VARCHAR(512) NOT NULL, + duration_seconds INT, + width INT, + height INT, + size_bytes BIGINT, + codec VARCHAR(32), + quality_result JSON, + status VARCHAR(32) NOT NULL DEFAULT 'uploaded', + archive_until_date DATE NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_videos_child_scene (child_id, scene), + KEY idx_videos_status (status), + UNIQUE KEY uk_videos_object_key (object_key), + CHECK (scene IN ('front_posture','side_posture','squat','balance','gait','custom')), + CHECK (status IN ('uploaded','transcoding','failed','ready','archived')), + CHECK (duration_seconds IS NULL OR duration_seconds BETWEEN 1 AND 1800), + CHECK (size_bytes IS NULL OR size_bytes BETWEEN 1 AND 10737418240) +); + +CREATE TABLE analysis_tasks ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + video_id BIGINT NOT NULL, + task_type VARCHAR(64) NOT NULL, + status VARCHAR(32) NOT NULL DEFAULT 'CREATED', + progress INT NOT NULL DEFAULT 0, + model_version VARCHAR(64), + error_code VARCHAR(64), + error_message VARCHAR(512), + result JSON, + idempotency_key VARCHAR(128), + retry_count INT NOT NULL DEFAULT 0, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + started_at TIMESTAMP NULL, + finished_at TIMESTAMP NULL, + UNIQUE KEY uk_analysis_idempotency (child_id, video_id, task_type, idempotency_key), + KEY idx_analysis_child_status (child_id, status), + KEY idx_analysis_video (video_id), + KEY idx_analysis_created (created_at), + CHECK (status IN ('CREATED','QUEUED','PROCESSING','SUCCEEDED','FAILED','CANCELLED')), + CHECK (task_type IN ('posture_screening','movement_scoring','reassessment')), + CHECK (progress BETWEEN 0 AND 100), + CHECK (retry_count BETWEEN 0 AND 20) +); + +CREATE TABLE reports ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + task_id BIGINT NOT NULL, + report_type VARCHAR(64) NOT NULL DEFAULT 'posture_screening', + risk_level VARCHAR(32) NOT NULL, + summary TEXT NOT NULL, + metrics JSON NOT NULL, + recommendations JSON NOT NULL, + disclaimer TEXT NOT NULL, + status VARCHAR(32) NOT NULL DEFAULT 'draft', + reviewed_by BIGINT NULL, + reviewed_at TIMESTAMP NULL, + published_at TIMESTAMP NULL, + expires_at DATE NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + UNIQUE KEY uk_reports_task (task_id), + KEY idx_reports_child_status (child_id, status), + CHECK (risk_level IN ('low','medium','high','review_required')), + CHECK (status IN ('draft','published','retracted','archived')) +); + +CREATE TABLE exercises ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128) NOT NULL, + category VARCHAR(64) NOT NULL, + target_issue VARCHAR(128), + difficulty VARCHAR(32) NOT NULL DEFAULT 'basic', + duration_seconds INT NOT NULL DEFAULT 60, + media_url VARCHAR(512), + thumbnail_url VARCHAR(512), + rules JSON, + status VARCHAR(32) NOT NULL DEFAULT 'active', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_exercises_category (category, status), + CHECK (difficulty IN ('basic','intermediate','advanced')), + CHECK (status IN ('active','offline','deprecated')), + CHECK (duration_seconds BETWEEN 20 AND 1800) +); + +CREATE TABLE training_plans ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + report_id BIGINT NULL, + coach_user_id BIGINT NULL, + goal VARCHAR(256) NOT NULL, + cycle_days INT NOT NULL DEFAULT 28, + status VARCHAR(32) NOT NULL DEFAULT 'draft', + plan_detail JSON NOT NULL, + started_at TIMESTAMP NULL, + ended_at TIMESTAMP NULL, + deleted_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_training_plans_child_status (child_id, status), + CHECK (cycle_days BETWEEN 7 AND 180), + CHECK (status IN ('draft','active','completed','paused','cancelled')) +); + +CREATE TABLE training_records ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + plan_id BIGINT NOT NULL, + child_id BIGINT NOT NULL, + exercise_id BIGINT NOT NULL, + completed BOOLEAN NOT NULL DEFAULT FALSE, + score INT, + duration_seconds INT, + feedback JSON, + note VARCHAR(512), + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_training_records_plan (plan_id), + KEY idx_training_records_child_time (child_id, created_at), + CHECK (score IS NULL OR score BETWEEN 0 AND 100), + CHECK (duration_seconds IS NULL OR duration_seconds BETWEEN 1 AND 7200) +); + +CREATE TABLE products ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + name VARCHAR(128) NOT NULL, + product_type VARCHAR(32) NOT NULL, + price_cents INT NOT NULL, + duration_days INT NULL, + benefits JSON NOT NULL, + limit_child INTEGER NOT NULL DEFAULT 1, + status VARCHAR(32) NOT NULL DEFAULT 'active', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + CHECK (product_type IN ('video_pack','training_plan','membership','assessment_bundle','course_package')), + CHECK (status IN ('active','inactive','discontinued')), + CHECK (price_cents >= 0), + CHECK (duration_days IS NULL OR duration_days BETWEEN 1 AND 3650) +); + +CREATE TABLE orders ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + user_id BIGINT NOT NULL, + child_id BIGINT NULL, + product_id BIGINT NOT NULL, + amount_cents INT NOT NULL, + pay_status VARCHAR(32) NOT NULL DEFAULT 'pending', + payment_channel VARCHAR(32), + paid_at TIMESTAMP NULL, + canceled_at TIMESTAMP NULL, + refund_status VARCHAR(32) DEFAULT 'none', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_orders_user_status (user_id, pay_status), + KEY idx_orders_child (child_id), + CHECK (pay_status IN ('pending','paid','failed','closed','refunding','refunded')), + CHECK (refund_status IN ('none','requested','processing','completed','rejected')), + CHECK (amount_cents >= 0) +); + +CREATE TABLE operation_leads ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NOT NULL, + child_id BIGINT NULL, + source VARCHAR(64) NOT NULL, + stage VARCHAR(32) NOT NULL DEFAULT 'new', + owner_user_id BIGINT NULL, + score INT DEFAULT 0, + priority TINYINT DEFAULT 3, + next_follow_at TIMESTAMP NULL, + note TEXT, + touched_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_leads_tenant_stage (tenant_id, stage), + KEY idx_leads_owner_next (owner_user_id, next_follow_at), + CHECK (source IN ('wechat','h5','miniapp','partner','referral','offline_campaign')), + CHECK (stage IN ('new','contacted','qualified','closed','lost','churned')), + CHECK (priority BETWEEN 1 AND 5), + CHECK (score BETWEEN 0 AND 100) +); + +CREATE TABLE audit_logs ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + actor_user_id BIGINT NOT NULL, + action VARCHAR(128) NOT NULL, + resource_type VARCHAR(64) NOT NULL, + resource_id BIGINT NULL, + request_id VARCHAR(64), + ip VARCHAR(64), + user_agent VARCHAR(256), + payload JSON, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_audit_actor_time (actor_user_id, created_at), + KEY idx_audit_resource (resource_type, resource_id) +); + +CREATE TABLE data_retention_rules ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + resource_type VARCHAR(64) NOT NULL, + archive_after_days INT NOT NULL, + delete_after_days INT NOT NULL, + legal_basis VARCHAR(128), + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + UNIQUE KEY uk_retention (tenant_id, resource_type), + CHECK (delete_after_days >= archive_after_days), + CHECK (archive_after_days >= 30) +); + +CREATE TABLE api_idempotency_keys ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + scope VARCHAR(32) NOT NULL, + idempotency_key VARCHAR(128) NOT NULL, + request_path VARCHAR(255) NOT NULL, + request_hash CHAR(64) NOT NULL, + response_status INT, + response_body JSON, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + UNIQUE KEY uk_idempotency_scope_key (scope, idempotency_key), + KEY idx_idempotency_created (created_at) +); + +-- 运行时可选索引补充说明(按需执行) +-- CREATE INDEX idx_analysis_status_updated ON analysis_tasks(status, updated_at); +-- CREATE INDEX idx_reports_risk_level ON reports(risk_level, created_at); +-- CREATE INDEX idx_orders_pay_status_updated ON orders(pay_status, updated_at); diff --git a/contracts/openapi.yaml b/contracts/openapi.yaml new file mode 100644 index 0000000..e474e46 --- /dev/null +++ b/contracts/openapi.yaml @@ -0,0 +1,670 @@ +openapi: 3.0.3 +info: + title: Kids AI Posture Platform API + version: 1.0.0 + description: | + 儿童AI体态管理与运动康复平台 V1.0 API 契约。 + 所有报告用于健康管理建议,不构成医疗诊断。接口返回统一包含 requestId 以便追踪。 +servers: + - url: https://api.example.com + description: production + - url: https://staging-api.example.com + description: staging +security: + - bearerAuth: [] + +x-error-model: &error-model + code: integer + message: string + details: + type: object + additionalProperties: true + requestId: string + +tags: + - name: Auth + - name: Children + - name: Videos + - name: Analysis + - name: Reports + - name: Training + - name: Admin + +paths: + /api/auth/login: + post: + tags: [Auth] + summary: 手机号或微信授权登录 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LoginRequest' + examples: + phone: + summary: 手机验证码 + value: + loginType: phone_code + credential: "186xxxx0000" + code: "682139" + wechat: + summary: 微信授权码 + value: + loginType: wechat + credential: "wx_auth_code" + responses: + '200': + description: 登录成功 + content: + application/json: + schema: + $ref: '#/components/schemas/LoginResponse' + '401': + description: 登录失败 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/children: + get: + tags: [Children] + summary: 获取当前用户可访问的儿童档案 + parameters: + - name: page + in: query + schema: { type: integer, minimum: 1, default: 1 } + - name: pageSize + in: query + schema: { type: integer, minimum: 1, maximum: 100, default: 20 } + responses: + '200': + description: 儿童档案分页列表 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildrenPagedResponse' + post: + tags: [Children] + summary: 创建儿童档案 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChildCreateRequest' + responses: + '201': + description: 创建成功 + headers: + Idempotency-Key: + description: 冪等键回显,用于重试去重核对 + schema: { type: string } + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '400': + description: 请求参数错误 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/children/{childId}: + parameters: + - $ref: '#/components/parameters/ChildId' + get: + tags: [Children] + summary: 获取儿童档案详情 + responses: + '200': + description: 档案详情 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '404': + description: 资源不存在 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + tags: [Children] + summary: 更新儿童档案 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChildUpdateRequest' + responses: + '200': + description: 更新成功 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '409': + description: 更新冲突(数据并发) + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + delete: + tags: [Children] + summary: 注销/归档儿童档案 + responses: + '204': + description: 归档成功 + + /api/videos/upload-token: + post: + tags: [Videos] + summary: 获取视频直传凭证 + description: 建议请求头携带 Idempotency-Key,避免重试产生重复录像对象。 + parameters: + - name: Idempotency-Key + in: header + required: false + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UploadTokenRequest' + responses: + '200': + description: 上传凭证 + content: + application/json: + schema: + $ref: '#/components/schemas/UploadTokenResponse' + '429': + description: 请求过于频繁 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/videos: + post: + tags: [Videos] + summary: 登记已上传视频 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VideoCreateRequest' + responses: + '201': + description: 视频登记成功 + content: + application/json: + schema: + $ref: '#/components/schemas/VideoResponse' + '409': + description: 去重/重复提交 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/analysis/tasks: + post: + tags: [Analysis] + summary: 创建AI分析任务 + description: 同一 childId+videoId+taskType 可复用幂等键创建。 + parameters: + - name: Idempotency-Key + in: header + required: false + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskCreateRequest' + responses: + '201': + description: 任务创建成功 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + '409': + description: 重复任务,返回已有任务 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + + /api/analysis/tasks/{taskId}: + get: + tags: [Analysis] + summary: 查询分析任务状态 + parameters: + - $ref: '#/components/parameters/TaskId' + responses: + '200': + description: 任务状态 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + '404': + description: 任务不存在 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/analysis/tasks/{taskId}/cancel: + post: + tags: [Analysis] + summary: 取消分析任务 + parameters: + - $ref: '#/components/parameters/TaskId' + responses: + '200': + description: 取消成功 + content: + application/json: + schema: + $ref: '#/components/schemas/StandardResponse' + + /api/analysis/webhook: + post: + tags: [Analysis] + summary: 分析结果回调(异步) + description: 系统内部回调给后端事件网关,需使用 HMAC 签名。 + security: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskWebhook' + responses: + '204': + description: 接收成功 + + /api/reports/{reportId}: + get: + tags: [Reports] + summary: 获取体态分析报告 + parameters: + - $ref: '#/components/parameters/ReportId' + responses: + '200': + description: 报告详情 + content: + application/json: + schema: + $ref: '#/components/schemas/ReportResponse' + + /api/training/plans: + post: + tags: [Training] + summary: 创建训练计划 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanCreateRequest' + responses: + '201': + description: 训练计划创建成功 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanResponse' + + /api/training/plans/{planId}: + parameters: + - name: planId + in: path + required: true + schema: + type: integer + get: + tags: [Training] + summary: 获取训练计划 + responses: + '200': + description: 训练计划详情 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanResponse' + + /api/training/plans/{planId}/records: + post: + tags: [Training] + summary: 提交训练打卡记录 + parameters: + - name: planId + in: path + required: true + schema: { type: integer } + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingRecordCreateRequest' + responses: + '201': + description: 打卡成功 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingRecordResponse' + + /api/admin/dashboard: + get: + tags: [Admin] + summary: 获取机构运营看板 + responses: + '200': + description: 看板指标 + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDashboardResponse' + +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + parameters: + ChildId: + name: childId + in: path + required: true + schema: { type: integer } + TaskId: + name: taskId + in: path + required: true + schema: { type: integer } + ReportId: + name: reportId + in: path + required: true + schema: { type: integer } + schemas: + ApiMeta: + type: object + properties: + requestId: { type: string } + timestamp: { type: string, format: date-time } + traceId: { type: string } + StandardResponse: + type: object + properties: + code: { type: integer } + message: { type: string } + data: { type: object, nullable: true } + meta: { $ref: '#/components/schemas/ApiMeta' } + ErrorResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + code: { type: integer, example: 10003 } + message: { type: string, example: parameter_validation_failed } + data: + type: object + properties: + errorCode: { type: string } + path: { type: string } + PagedMeta: + type: object + properties: + page: { type: integer } + pageSize: { type: integer } + total: { type: integer } + hasMore: { type: boolean } + LoginRequest: + type: object + required: [loginType, credential] + properties: + loginType: { type: string, enum: [phone_code, wechat] } + credential: { type: string } + code: { type: string } + LoginResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + token: { type: string } + user: { $ref: '#/components/schemas/User' } + User: + type: object + properties: + id: { type: integer } + phoneMasked: { type: string } + role: { type: string, enum: [parent, coach, org_admin, platform_admin] } + ChildCreateRequest: + type: object + required: [name, birthday] + properties: + name: { type: string } + birthday: { type: string, format: date } + gender: { type: string, enum: [male, female, unknown] } + height: { type: number } + weight: { type: number } + contraindications: { type: string } + ChildUpdateRequest: + allOf: + - $ref: '#/components/schemas/ChildCreateRequest' + Child: + type: object + properties: + id: { type: integer } + name: { type: string } + birthday: { type: string, format: date } + age: { type: integer } + height: { type: number } + weight: { type: number } + status: { type: string } + ChildResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: { $ref: '#/components/schemas/Child' } + ChildrenPagedResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + list: + type: array + items: { $ref: '#/components/schemas/Child' } + page: { $ref: '#/components/schemas/PagedMeta' } + UploadTokenRequest: + type: object + required: [childId, fileName, contentType, size] + properties: + childId: { type: integer } + fileName: { type: string } + contentType: { type: string, example: video/mp4 } + size: { type: integer } + UploadTokenResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + uploadUrl: { type: string } + objectKey: { type: string } + expireAt: { type: string, format: date-time } + VideoCreateRequest: + type: object + required: [childId, objectKey, scene] + properties: + childId: { type: integer } + objectKey: { type: string } + scene: + type: string + enum: [front_posture, side_posture, squat, balance, gait] + captureHint: { type: string } + VideoResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: { type: string, enum: [uploaded, rejected, archived] } + AnalysisTaskCreateRequest: + type: object + required: [childId, videoId, taskType] + properties: + childId: { type: integer } + videoId: { type: integer } + taskType: { type: string, enum: [posture_screening, movement_scoring, reassessment] } + AnalysisTaskResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: + type: string + enum: [CREATED, QUEUED, PROCESSING, SUCCEEDED, FAILED, CANCELLED] + progress: { type: integer, minimum: 0, maximum: 100 } + errorCode: { type: string } + reportId: { type: integer } + retryCount: { type: integer } + AnalysisTaskWebhook: + type: object + required: [taskId, status] + properties: + taskId: { type: integer } + status: + type: string + enum: [SUCCEEDED, FAILED, CANCELLED] + progress: { type: integer } + errorCode: { type: string } + result: { type: object } + signature: { type: string } + ReportResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + childId: { type: integer } + taskId: { type: integer } + riskLevel: { type: string, enum: [low, medium, high, review_required] } + summary: { type: string } + metrics: + type: array + items: + type: object + properties: + name: { type: string } + value: { type: number } + level: { type: string } + confidence: { type: number } + recommendations: + type: array + items: { type: string } + disclaimer: { type: string } + reviewedBy: { type: integer, nullable: true } + TrainingPlanCreateRequest: + type: object + required: [childId, goal, cycleDays] + properties: + childId: { type: integer } + reportId: { type: integer } + goal: { type: string } + cycleDays: { type: integer, minimum: 7 } + exerciseIds: + type: array + items: { type: integer } + constraints: + type: object + properties: + maxDailyMinutes: { type: integer } + coachNotes: { type: string } + TrainingPlanResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: { type: string, enum: [draft, active, completed, paused] } + detail: { type: object } + startedAt: { type: string, format: date-time } + endedAt: { type: string, format: date-time, nullable: true } + TrainingRecordCreateRequest: + type: object + required: [exerciseId, completed] + properties: + exerciseId: { type: integer } + completed: { type: boolean } + score: { type: integer, minimum: 0, maximum: 100 } + durationSeconds: { type: integer } + note: { type: string } + media: + type: array + items: + type: string + TrainingRecordResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + planId: { type: integer } + createdAt: { type: string, format: date-time } + AdminDashboardResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + newChildren: { type: integer } + uploadedVideos: { type: integer } + completedReports: { type: integer } + activePlans: { type: integer } + conversionRate: { type: number } + reassessmentCompletionRate: { type: number } diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0.zip b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..35852c5be17078b043f33fa061d4698cb21d6d57 GIT binary patch literal 502217 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

>fBH9A(ShK|DC~yBLclc1oQKDEwax}rVJ>8{$ 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 I}i+eqtq1BXV35dHt$%};UImWRp2*;I(_ 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 z zGa>2!Td+BY+<2|bU>1UBu?YbicHPV58IHw$Bf@IxZN$h~p`<1`cc(2iX-BG+?55`J z$IiLPa{CW5D&$9&cuUY}JQ)m0cXUax2Kzmr`v`Jo^UvqzC^5{c&-c|8kc4^yhG+^P zzZs9@dzV*@IYYfcnG+&9t0TssrKh8g0#?4GL-m8)!-m(obM~~NBa35ziJNv3({_XS zL4qJdkcn%~HNHpBBJ#6mZ@G7q;DqUz$I0jXE;UA@>e4hvQpNyLKFXFM5&-ps0zrkK z8nV8^64mv67xzmjZSjZ7`LllYDwYup2vxCGF9Nu{6_wY+kk5JF&=UFurO*e$9O9T2 zAr$Z>JX_GrjOh#R(D>NSMu8EhfgTVwyh`Do;XWU5@1QiSrmFsAYfu#sRL&?2wBj5iy&|_CV$3|d2j055i1}K#pqdNM;_l%Cx zDhR(Rw9YxQ9KrsRTN-5_dLHs328g1mZo8cv0npWyXK1JO_~o5E+amd&f$RCg`aC=!`)r0)sLIIt4jdC8r(dhw1z-iF}-<47iS_;3Rh}!SbTA`L- z_x?orgnGfxP6EQh;BS+sKq=CJ!St5&WF*l8?g5k02d>{2T+acvZukLqM#kFS4?ezG zD+v4^WC?K>xT0IXy2U|T5-S*gxF{x!T_=uzZJ!ti?4o~=_f%bshuVf z(SAH%cghC?#shtn+!#S<_OQoH!Cmf$lji0sBE=##@DvfKE5~Sm6bMR|5R^F;D95jU zn@)0kUk-RI{84~bwMHD87_cboY-)qCwb|Ok@-nftJBR~LJ7v9}z5n@6e_dCGH>Y9-~0)||gSqt>7F%Vj145Dt%eP9OmdXpin* zr#w9ImX^+GrB=kANK!SP>v;2L`5+BNi4XaodnHryV@5YK+YiD8KYe(AxVUz_dN!|@ zvzivv-$4osApd1 zGhMUqrI)uWuTEQW%Y#d9;V0*({-}N2V3vPcP-D`*n|D*Y^Xk66U2od`h1tE^Is5WL zY@FPoC>1`(ZIzBrQ07W@&}#qUo_7W8&DzKAwHW>6Aa|veEyor{OkKz*y^9s0^{ofF z`juzGY3k2IFO}2PPHT4S%Ebj0^YZtm4?8nzbui%-t_X#PX(w~`+ikP!RO#%bpi8f} zwvC_Y_*rq>l5THwB75)NpNs2SHQ#uw@Ot(O`&VzhlJGcjRzGTZaJlig@V|XJzHx7q zJ+`)1Zqhozm(EuXzmt}CmLUo8jV-j!d)gT{FP)pT&J(#aap6i$^5vs5c|TXJn!tgV z4$i-~rr)pY41e#W&)nSPo)|BFuDIK~)qj8XuxtK!*u<}SOyRs^WPJYcs(ydyJzME{ zykuIpc_Cg@2=P@_*=$F9v3hKAQNy(|yf*8UUT83UQYxJ+MPZp(;`_X=Y;+hyvwoHN zpwq5(j$u#1ql7uxZhjmldf0A4Cq<{>d#`hSs_}TMl9O%gP{F#|}>V26QwYd9gMf{Ed|bV ziI>ZVmsolHJN-wEc3$tB{Y&ZL9eHbbwGg&-=_xHPJc=|v+{b6_`gU{fh%^r^`f-IP zds#gjY25(>HoEm7srewWxry*xq}<#@a#04P0=H7X(?ePiv0|-dlTv2ZI)CJ)2|L8@ z>oRQilb6#k{En>ku7IziqphzZjISc*hkHJEHJp!*=WTHq*3OED$Kp5ujirMc?zyq=nk8UR{uG`-Ss|h3{HD zLHMpTFQmZTMtgdpS)sHn0^sKI z(mOrjiCV4bgxi$U8Z>ieY5HFp!^4LNjQ|_X&#QICpVZLkh8laKF^Jd7Lt~JrRfCod z)2@GNd~~d2KsG)#T{5*bKA^3~!XfH2eZDp;pXUMn zlB>#xQX^i{1T91SSp&3y;;iW(h(1jn<_XVFSH& zHB#IF0H>tDE5m4L(ZvX!_wWx|c>x zmX2@d7x7ucgj;OtejdJE1nuu&fNoLD@tmJjZ- zLl-)a!lQpYxjaLh+qoaVuVr+ge#>axcs-`80B>kD49%>-gV|~3bKE_J#S5R?T;A7~ zbwcdU1_E^S<>)Q^6Nn z2o8e3!hME%d5In*v*X6Gjxo!Lc^GcUo0WkgYsj0KVd#E3Cj_PIRMLHB3Q|i9a`5(I z0x%?(1#a)>u|yc{er<^1Z$v=vTc-nOmW4KB#hRxT5$*H}VpeD!UEo`&3M(f^{Edgu zMO(tmgy3`qcKQ1SJoDDKlE7PW;&d_3pjs2&bo(lYZ|uCGvp8oiII}?Wm0%^6h(%tT zzFbWBMQauor384Yzg)@?`*u5iEnOl6w+p;fLhN|XM5sc1wn*LzgZ4pWDigc>M(mF3 zAa?o5>o*?|D6lOoYKk!>=&Av`Uo1)?_X@Wk@+`m5f?*-@E(BE3FT@0g>YJhzSv*?! z5Co$%_ADP8Q3BN_WP7E;H_a>4t$fWAgd%faUC`R=IDaeav~$kKdzhW}_P)!N;i@Co z-LV_@?W1}K*3oX++-`eBYG zCGz`qhuomcR z)(ndYD?>*JB?M+!9%CH4F%F&q=~qMn0sp3Z2-{)A9U#Ja2nC1H$Vw$f@Ou}@Uwlrc zO$(UV#+$cFtJylg2EWa=%GdT@&f?q_I*)uvw&%6(CT4cT+ha@^bly%ZI=i~lcx}PC zVD>PLANpWu zx?(oz8>W;FD7GkXJfs=sR!ScCG1bXUp=C}7 zt9D+Dp4%0p4tkSXJr2lc$C{j8x2Ozb&k-IIN4XhV`J|lPi=`VlWnbB0?2|=uG*_{V zdmo(39CqNWFl@&cuiu0@tefzT88YxySliNkJ(AiOoxF8J)VpQmdoHwX<)EPgxD~C( zRX=`XpTr&Aw5zbQ+_{v+96wzx>2@a8#@pHb7M3{bPBkLCxZZCm?0>P>7`nf529_p0 zPlzo)P!`VHrnAT8%Y-GxDrqwb8h6~mWPXiDTW<}e;#i?@AFn)hr4WzRGH~&(XjLQX!^6es>mf}JU2Q%i zH?g(Wd<4JJ)N6!WX)_}cIU^PCUh`tQgwp$DdZ4gPBPvq!blP?1&iq{k36#^}cps^@ zrEbL0aOOVHWwyDs{6vRqzHXR)t{8k|lfUxA;JRu(K5T>j z_!tRt=SB(FPeDfK0v+GE*^!0Q=EHWy_n5iE%4xWPZ{nv?f+}3lvW@+H{_fAAmK()E zT$i>a*%~2j*W%L%7yMBv7bP#v=7$V%W%hB>hXyTN&}yN&b2pMocmo|Vt45O%K0 zOah)w{u}_d8Dg<+Yp`1~crXtdc4fDNXE(c)ANR?xq@hB+_0Z9|v1U|!2y53n-P?Q* zK};=O-scfF3fa9Lw(=G)?cD3>qw+mx$G7gyc+c+5+V?s488q;bjujLL6RUreJvmz9WLMTXaE0?g7pa8}` zn$k(n5EJN0oA2QIL3fntvjvm6RZ*tMri`p}R0{1iU+(5+pN=WHjiQ+;qu!<0g#sdl zoMLx%MoLq*V~1hIPpTyceeL4>u`^IkGZ=;9UYpKb)!U=dO53K&3wzNFUxsz<+*)fQ zPl`uCMCw!@Z)DW5dn~2)-4#oHJqk?Ka&?a4`Ld zJ8A6k5{J4<-RPh-7G7FkX{LIXSN5W-G)bRnkwtYCXEMry5F4$o)X8e1*)E^2hA8dQJCG%1*?dI8#kesWAj^LZN>c=sE9 z-jV^z9E((G=)%Fd_O|Q*`+Cw0n%7C1z(q?+?hOc8UV(O`QICs-?7v=tA0*0~bL%v= zg@f(HL3bZYLgI|xFwsWsBRtm0*%IW-ii{AAtV@d_I>k#w`{H;Ey zvll4&+Y}EVO`rT`({vOhFvds2+Qp@W{15QDL?4?UOqp~vSKF@5OK8m=H;0Auw*p%d zpIXtl_;3fy>TYKggsrxEg9%-$dI(-iKRr-9Awv414o^rG%i=E%Ox5;AnCaY%F}b8yF!L3l__`9C|rIp~_l@=C{_= zzQKT8$e4K{2f8c89OPkNjL+G7E>gR%=5}7d9%?eov@%?3ve{T~ZO99$VArFx0*@Av zu3_s|S;F+RAG20Q?)ae|54fVYgY%Yj&(n>}c@7zV5rwP3+513KvhKD*YOXjjxeVycm}& zUGEqvPU^NOuuh$`P>*00NN6Q$Ksn&+ zDYHcGn|eOKvekPQ68&)sC#K zj;x*Hk!Xs`nT!(BVW-HXHE09SXO4~RhvEHtlKD&3WFzd%uAo#bwDtNZo5 zi-LHyaAa=~CdVhlWIZa&L-G*VxRBSV(xu6ZN!eCU*2emrx5%Za!Jf{N<~AMBXq?{| z$f{@wqXLd4Lc&A1Q-gRWVob|XI^(t|) z9Ll;J(prW$s4)^|9rh5QP}^aZFQ4-SJ1eC1&QAUx4G=cN35f!L&*1xoYucDWI~ z#W(xrr#og6`j)dfp%q6L3mG>H(6)W0{vJ(>9?dv8i3;LvmtM;8VstGR3l%quWZ=LF z--dQpfLtTpA~%bK<&D}6ERhmt7mMXlEV(|qYoZ!Vvkjv{yqck2O^dtM`fnRIDb`;S zx66l3)D~m-+P7iO=fddPSgG4t#{h*6`Byive5RQgl-uh^_U_fKBZ%yI+Un1YA`TPK zv%CTg%abzP#6#h&%O$MKeHuN8biO3ISlmGFI_CYd=Ggvr{~OwRT+$lWzH5qes-Y1~ zw+;q|()#>zb>1K$$%&)#BHai%u8UKM>mzaY8Xt>Z`EY9X%^E8;NXjfzsyTxF^qtPq z{jo~pJr!=_^);#An{5@}7!qM-APG_{{ahvNZ1~85hUYV0d+2Sy*D8w>rwmWEpU`Yg z??ln-C}$b+w|W?=7-h~woU&#P>z(D!?-9_0a?ynT$YbG>>!s_VrI&L}funmul&E7o zf(!p1@mqnHOMOaBej4|&rQhjYTCK_j0-5@NRk#4yU1Xa*`3WAGC$h(m@$(r3=O*+* zj^sim+|_N?T3{eaaC3ztv>wsVmXG)6lnjbg_i0Lc!lgf#WC3v?K4@k2P~>}I0`K6D z@g2Gb>hqKc0RV)U8TwFWr(ky}T9!r@%g6D~Wf=e<<^=7r_8C-s+Qz#8_^tSc9D^XJ zq(Y5_Ku}0U5Q&Dg17m*&#-kWLAGg3j(BV;prfNPR5LIa*R~43MnFV*H*Enf_4mg$2 z5eZN2poq?EkLmhDAP@oIR@u@XD+dE~O~Jr0-m`=Xu^Xa04C9~62LDe=1i*h&o-Ubu zQ97ReMalILI9F}*FUoW<1S0<6E;yO4OvRCWLLhr{N()qsRm%Ga1c5N6WO`xUNt6K? zD?Kn`Vcl!uUvNvUi4Ii40J^4Nf!S^+VhS8zZc7TSE=-*TLHM)LQfDcGs)6<_10ewH zUIi++g}1H)A!=TD1VIM;A)dn8N5^bp7K{!W#b1$XHS=7H5qz5fyZe950tkXYATH%V z+Du}sQ>&b(e#at0V9v2$o}ps6skDSZbTEXv4S+aH=}GRU{gVNWm*Etk`(mtY00aQc zco%|_TrWqua9mhM0LEXM$=wi$YHvf?zz-Fq8BmA-7^%L5MVVaF zG!x{8ov9;u{~Vfm4G@6ldxAw=qAOP+5MDtLvOtKP>$ykCseSY}kZVl3nU=9PG&3E2 zr!W?JR3Zd+f+iOmtpC;{DFmWV=0K;Z0V?`Y4@>A5DXrIm;LD?g!Q2#p8IIuF9|gmu zd#N!~i~#79gNdPkVumBC&C&E{z`Xv?115`0^fY*5d;f5=ZFZf!_V%?Z;Lx^rZaKOj z@}&j=uStMGz{!60(vAM0-ZAfdBUbWyZ%PEU?beG91{=YSgMuANiwi*>(Tsb2;2**3 z0XPT%r22N*>)Y#-)s2Y%K@Imh*x#EpxjL@d6Lg!n>Ru~n$HmfC$I{Wn(%vRM5)>c> zQFOa?rQ^$mf2or~jE#!K@I8Jo{Om1!j&i7xC}b8pL7BEWsri}UeelOY&0sicxAYQ~ z#<7rKM1IC_`9WWn_QS5j!DQuIcPaZ!DL!~@cUzuaK3J#raQc`^rJ=ljscH@R{`#nf zzc>762jZu;mn2KaP+ip+OXn1Z&_vn*ZQt%OHM>9*zhp zwDtpqhu5teqPF)+Z)Eaf*1I^ob|<6u=Qlj?-B^8P*?ln5`eW*pxaFG!7|EYck`H-p zUg}|2FWdL*JNKh;pUO3yl#>O|sWL)0M-QN|` zUCLyK{gQZ~DmUA-{TH(ys;Cd{O?aGK-UnRXeYvybBu}K860qav3Mvg{jYn0PD5|%q zm*Z|;jA(mKgBCY~7wP#(v2+YI)QnSgOv7`mX9*xgRSzkoHh(x4fK_Jop8joYakFFb z^6LzyQopJZ+rCd*{8BoL_t4k&Q6>dfxrtHfjU{I+5JGeQ-AZ0Dts|B*g;r-cyDzZP zP;TTjsUD&dU)!5lyYnsH)FZ}BFU8C&hcU1Nl?v-n%B=U)y5~PEEsOXA+a#&+G%m}z zS1;qIA};TPOoD>ipZO;UZC-J0AJ>Mw5IhfHtR-vNd2F7f_KNuT#TfC=d2;=kYtHYn zXxsN+czvfySx6D|Otdu28Q;mW#JsytIF7IEdC8xEgq+PwNKE9M!x?1)$=y@v` zg|&ag&a@k8^N9fJxV$fqnnFFv{_1Wr{B=XkPEjnQGn}sM35WWNX`f5^Y#0?VvF`uk z=LBvaTD$w7eyqJQrHC6~PftlSj_z-bu5-mVlJ0l5_naXAVV#B0m2wT@^bT= zBY4i!if&A8D}hJpgb@peYy%25G8ohlZ#+0orf%2c}?SgmHq@d;0)%10SA} zKFH}Y?PNigU#7-~H;aJcj)FbY+%pK{V~9xvsq?@vhFHHb<#ppt2UK;IbIK}VrfJ+U zg_-|gyfpWOF?Qjh)&!Uu(@PVk3b54LKc52RaS?7G;hF^-9|TJwjGq94F~Ls5P%ucc z>{82J$S0BqnSPo0{TIf+Oq}owvHUUdrRx7}BBD>YR;pe5Zv%|kkkc^KZFt73xlAVr z<7WYse;}Rcym5V$$w_e9iD9S5aBRQU7(8A41%#=9prRqh9m%Fnl+Isz{_umb5T@z{ zEar)Z7j_IjkiG$p5vGRhp!~+f{M(G(|J97CD$A=`eJN#1inf3v8S|@#2KR{?UJd6J zdWl9>R~EHJ25|ehh9>3;=ZlX46J~wTDg}@>)reN=nh}n zIee|5t%S8%3d85JRsB$Axa{D}t=w_Im=5pRLrQP=iS2x7RuQamA2zL!o}yiKU^P2# zP??Dh*2XVX_vI1=WfYy8RUx4ZPJVtEAPIa8f>PI)%B@CRd`kDT#d){SkBx|NXW@FD zXrQcpDp2pe`gq4J0UK!aR8bpfM-Dkp8>L_+x9**v_$25gjfmO42UJWr7hVlNNdz1L z{Y8(gjsk5_7=g7LkhCMB@?>30p_>mV=|xagVSLW9px&Q<6hDb?Yzdak zyirt^2i&LqVT!d+YgjcwON|G(zyA|I9zFh#iyJB?+`nD80{R9$i{zX1fQQPw`2;}5HQ9LOA8{(npD+=WQ zM-&5kdjb7>V2439aX023B(5W)*UMP_i{>4AFpWH308Zu6?=)%VQ>kO-oRZ;nmX^&R zt(_C=mnb@8%kQk4)v|2j2j62&xiYc7Sp%Az%j&(mZednP{`#q4*wu$%V2O3?r1*)= zG-)9gfv570VIL^AJQRH@dl_V=&9yf)?Y(;1uqRBSAkGMpzkE#j9qt_2mE87q2Ow5) z6vYAKV=M*E=s+5R8Npb*#woNGN65}^B-T6+CxE{zH0wM?Z-;UJNXN>IxwbtCiUB02AYKi z23RmF4uZKv*>;i2mb?nJj~Z}wV4k8M$0B1M+%KAD(G>7t)^rG3REs{O5lsQ=R=R~? zSj;}GU{(#E`6vZ;%`yc_aKB=0t|J5s3@Tq%ROJ@h1s1;lXjL#7%qgn{t_IVGm59K% ztuPP=B~-VI0229XfT%&W5S$=b?Wf|TRfdSo^v6*hKq-E%RfAft;t-TlyTcUW0z*e< zb-{ybVSg%GAfP@hxW5LH1qW3hXFTc-!2*97VX-Xv^>8C*{iWeBtK_Lb*|xB$>jYK~ zk+#azNJSW{z7W_Kc?6p7y}{f#nuW3?gMLX899JJ!pro$M{D@T;>o`1c9~K-$J;{R2 z9GfGBMVjDOXhMpr-_uVq6zjhy{>Y`E>BExsPYh+%-zP86PS8TP=nI6=hwa0n?K&AO zN~2vULV+JprpI*%W)0VFEZDI7Ut+OPEIvB4cvMtI0avioYT?TZ~Oy z9T}yL!5tHl7U$1muTB|-lTn$8TnP4S1r{wt>aKVf-SwM5Aif?Vw5T%^SzI5C&yYkx zFVdF`O9I(smjLdWJQ-G4VVAgAssAL@(6vNdAqGa7(H&C;x6%bCT*?lgYd$PnSqlc$ zUNNCV8D=EjT%np=1Qn77N>M~TEIah2RKkbK_)16=74-n4=y!}VW4Os~$|O(s&+O1Y z*DorSMWJCOkx(~^?9k;=@gn`LiNm8CXHZAlDpwCzbhvjWQU3>_Pb&P)^a|A)cR6=T?rgZ)G{J?lnTsf`X%{U z{!6lv%a`Q1-(vqInF#2gk~xwmjelzQr|PoFi$p|`$f0ubn&do%8qIJq3rFf3aMFq4 zr>CNk*S%SeR;hk0kQPyS?<%$_*SQKHjm&?;Fafta7pFD13s=|!o!-MYv4$-?*%OH1 zVP6W^$y-&>3a)T&Ec=*cg4NkDpCr|WO`NUkb70nGDR6Co!dZlW?`pIak1lvCXH*5xRkl><$APXG!W{`DT(rzQ(1Xl;Ak7J7}^bS zND~w}$qfztdvp>UagL-M_BF;Jf8e|?Nt`Y-G*N`y!rgnoXyP0XbEgCeHci7#ZT`KJ zkB}Xw7G5as#M?H?YPJ;AW&Az9{z@mia$p@v5}*m1%56Xf2uU`=8c8uW!YfJ9Ho~b% zu{M3M5Rx3}Uph*CdbXjFpW`&-Ro~5Y5wRh03uqKR-V4cSZw*e@l zZQS58ZO}xjM<>B)qHWHKttHZ+gOb8Wr8wR^vIx*+Z~vwxDi%_YLHUc8D`mI%GJ%H5 z%a>6+UJ=z)tHiE^|CK2~5i~WaG>qyee;o`}7N9ssMvJZkHZY ztQsK{XQ=`&vM=zagKi@^DwN3 z6M$B93(AJY92c7MUsI$u5_YKGX9s%ErDknXHTvP&FOdtXkh{K5o>C}7V^$xQx*L-+ z-CiN#hR&s;=18Pw15?Yq08(6T&zy*GXep=8MV(w7IHm?QJ+nZ$+UHOLz_s0@>vxmy zu5(N&4r=(_^6Dg*trR&Ymgr~Hv-jaJ2#*i>uRHw0TFY!WcxCKJ^LAsH!sQj?Btf6; zyU3$x;wc+1vAdTVA|kk84uTz@V4+4LxE$;O(&8mVdjM{sv2K3z??tN_S+&7j1SeBk zNl^A^wn1oQ%HBJ0FOP|tJt#5YQVgL>z!U*a5R(G}I5(~9!Mp&A!Mw?gopZbJk^FDl zihY>Z;C=WA-q|dEPrm@KgDBwEqu&W}ON+kkz;BrZ^VLaL9Q>N@GI-sDpx9i)t5=r8o^e_4L3z?jM@v&{8{K-Ok zkYWcu8)bzMr>~m<$ENikR)~F{dLjN!jQ=gC^ctKzwf{NZC z)$-BdUf&i`ML^i2U4xIQyC2Z}5w_%`^rtfeZtj|P^11l!gYFj;eF3X)cZ3UoEDSme~kvVP3WJl1qNSs zt6n)EooaWlF&0 zPfP}eV}V;6$~cMldR6E0VEY-;Wox z(DyrFZ;?(_7lS#5sCwtqo#IB-03UB>w6i1a7DcZ@L!ZLK&MrIF7fj(F zn8Lqdv}6mP6-ROZ^wUf~Fhc;zrL^B@Uf%Zqg2t4!$9K}FzX^hC?WrDJ3E5_GUNXab zRT|8={Xc{8$QE**PWPAv&i)LT9aEA=|CgNQko6_p$fZjU*Rl)@S^J=j1BEl0L1r(8 zF0+e@*)=eUx= zZkM{g-IoUTru$`5tFRfC<_m3xzsIb>ga9?;Aoe7kU6xtENS0&VCN<45)m1X7>q{6+ zVKY7VwZmBixDho_`hgecc+BY}_?a3QGK@`X>nTg4FDS>j7M3{2_ybH{(X59WIA1%i zG$}OYstK=-gL8-Ey1_)jCfkGo-PPf&wyje1kg`q+sO)v@TtJV&uJ3GZDL;h5=NzA62i$()%6$?BxU=_W~4-EaBV~z34-g zPY=pBzkCm{8FAL%-)r{$4J}iw-%glK&=^s_W}#@e5gGp5nqLd@W3HsRDUW_ozNdDnjH&ww3drwj>HWXMfu z00djjlO&HFB2F?d=cbK)U8F_VqCochVD|I!+J2EubmU$ zN`cc1*j`?Ck6>}+VFrxfftq}pA{pciM3^Sf=$9SRK<#z-yDP*bUQ@~=4fJAZ7bI#1zD(sPrLHgfCZy?1-X`jtmw4M9@=JO1w}CE{+`{6@_rseUV!I^N0Z2Y9_*L^XUwl3 z+@RopqSz<7BWB+!{$?6w#{~a%jsFxU8i9-ul~+`(mL|?FDual~w#l)@@(sqOsXz>- zKw!f16@NwgI^0e{xD_CBDB#ov+`P5MPeJ&z0$qp<;~{}ZWK(1LvO5EJmbp}talu7w zy-jJb`1M4iJv`rTqp|w2F@Q(#!`YSpq_+eRZWLw6ngrKlOcUemtq~xG*wMwP$;VkB z-adz7-l(7`E>$l`mycicw^MAI;@HoV*B}^ED0yHayh_U^B2T$+b^f_Fnca~SYh%=$ z==1)qf;+M@;{|2)R1b6$F0N1VBy?7$XZ~qcNwhzXMiaBh{lHm>{A}38! z7+^9KGn+OeL{LajC@Cr+>*#;KYoiz|5mcX}CLk-O_aj!==UIF_cD6;iRozZ9#sqz@ z&W3Qv4F5LMFFmvw)4-X*Ad=*E)Z{NwCAaWC>3-={m|q43WHXda_cr8z5)^LJgz6{# z9mq1wA3X_#|I$;C2>hi-VlmC1+38zE%G8puoyONVakfiP!`VUEl^A}dBz7~*a3d+1 zQO$;eJ!EzxJ{#-jFeYa1lm6k^>Q+XWA0#!`Tm(&*+8G@kRzsG0u{J>tLv(KU-j*~r zJq^H|n8W>sPmlX`t^FA)9Xv;)_$?*tUdvQtM*AX@D*U^;Tn2?Ve-|3eD655y+_7v6 z7iQikhY6&Jm*Tpx!YXj_l<-8J>~Vg)L`D}jG`b)ALjb!Z`BYT~Cs^F`H+_?7FlUw~ zd_iJ`T-Hv}|3Xh%C>d^Ky7vN_pudO-;lX4pFZQTV{19p3yiewp!kR7?Ey_ zqgiYXO)QZNlA7VRVAW7ZmH2TyN<;0?RMeW!yFT@4cQ+C2v9N{u-clA9ot%!ZNW+Y3 zi~8O-m|o1!AJx7h<{l(KXzEFm6r)6xH<-R6U$Z&v3^pu&99NG!EPe9uSFCEMIy@Yj znK-$|D3Mq-J8rEK3`1P)LyAbl^cRvL0(fuiq=}k+KNwo^bqs`>q1H|gO<11zHxM-S zCIp%qdKyKp;a}%8Ojo^CBxyMR5tPTB?xOV2N<8)hz|%O!@-E@wkw|QtLO;nx_kXy< z^!wvZ2;qOZ`w8>qjsv3I=lulrKVXJ?FZMAGg?|HCp<#mGE{DrB|63Fj&CQK>T*lky ze|>m*E}y7QCollOA>{w~s9}2}2M04NlfVAYs$ON?ZiNG-W3y1VY1g@|dJ* zLx$`pv*QaujVFNR9eXTHj@%~kYUpsHaq{^Y>do^+XNP^?pd5WVtW!2@f<7-4z27u| zFeNn=+wJsX;mZf9MWZ66W@`3!lP&EyC(Q`c{Pywd1wV~)}pG;hePfEOwR|5>$&8 z8iJ3zw0E4gnsNCw7H~amh~!up2Lu7jibiehA3E)XP4}`+m#EddW2fi6Tj6$(imH`p zhk1uE@rk4uztHG2G0VSRBx@oovGi{9``8;Ib?-lTX~;V(a!;M0`nEI(HCM8*;o zWsBlV;efd3(r&WB#W3m`rjIKT$sK#lxsram%KQ=44qHU%3D_(Qjc4pZ5IPwS~rz#Td2u!GlnD6N**u?`UsK{hPgg zQ&uP|e#gAY`~EwT9RFvrQMragWr+Fl?)M&!3!368_;~l`;;=PM$Tb@=dD@am?)AH3 z>q*{v@lInHeDU6OQS`nii;H0Jz9np-VUH(x%uPNg2NN#mvH((9 z<}e-9j?!_l>JTm(^Qxl$RCvV}eT7!;yPBcV$h!hTy(Fa^PIk{$XfsbA<8qTiG;L_t%Ju-t-!`(;TA2r}wLYrj!ux{hf`RSR(IRVEUKC z{ok}<3ctdnx1|j8AHJ5BXai~vu0gp$g`#-<0!W||Pf(2l7aYr7iqqP*SRm^@FP)}~ zoB#EpRYw~8N&tWW01aQ?DE~g&osIOB{>KR)G1YC}%K!r~<=)Y=7pt^u7|tjd%Y=d3 z8ZXcQZ-Yb1SWj!vJpS^?tj>nfdPhchOjx|(jWtfUC6QxU!$i*nrm~ZLHfM-`8MJON zKmoxG5rLL^1{Ht4nx|a?`T{2y9MMOlU(8e^aftAvpK};9JR1jhNeyQj8&Us++{&LX zV_o*QEm4uS8EVB_1qI$r#C0PDN2FvA^GGcq_JZq$fEXg}_{elr!`g4!Bk)57AceNU zBkM^BBkz=(4}8P;J8_P{Z+Nwqb&9raGz&vV@tErEvS{r`tSn~!Gi-V^Uh<|9qpQ~e z*3Uj-Fd0o<$d0zKu;BTGXcixbtClyQ|4i(aGuz$(2ms&}3IG7<--#JpTRAA}>HjqP zlh=A;x77**&cLN-C`D4brorIl@I2#>~&5iq!VpAjiQX4gG!xX^7}Z@I*VS14C9i zYAO>Gscf9a1s`4mU__Gn%HfRYq5QdWHhZhtdj_qi%iS1KB6n_VRHlT+EUD!r>81(@ z1|`3)CDU{zl1gcgLLN5&&P_bRsH4)tF?RsIFEm6S`8GyC}lDI zE^9P2Z%2l?eQ%3?*7oIc0sM9=WW4wN3aD`Fe&r0p(XAb}vZDA0`?sdv(}GY{H%R6z z16M~z>|_xYTaBAx4qDfoTN|LFpn3E%eAUS^b9az0n&ndX5G?u>4a1i$)QUpCAZ4jf|}vzsbzL3!LUh1kVg* zkegP~m}Xc>Ou?BBbwaJ^f7mmA)~uaFlx9JbhRe3mWgA_#?dq~^+eVjd+qP}nuKLP0 zr~f&#m~&=3_vDStUBuno#T#$N!|rk(YvE3_VPk4&EuF;Q^)CepRE4)82 zP?HicP~Nwf6jvIK2F{m{@#n>EA**qf+Bzc_z6!GD^NFr1p0Jk4Ov(%$NWpn9 ztDh1j(yv74zMM_hx6^91C!uWCN7dv9;oRx2Qq6s~KD;x11^O^0$~C;l$*Q-{@12h{d za&r>{?<_;qU~p1Bhnz_MUy!IRu;BT5Q6 z$G6-yxS)Oth)CghL~ju=0Ih1$!Za`kxCq8+yR-5S-5xkDU@*z%w?i__sLdOOmzP2d zQ&X~X+B~(5C7|G?z@F5Be%CRMT3|^hw zxDqP}Ec3Bx`I>xvFUjOB)U?u{@wB5F&5{hmf1}GDCcJmrmNk#l)b?U%SnwD9KcmOF4AXxhZn4jiu2vL}E=}aewJK5S=yI;-Q#8YZK7m*2gq~;Go2g z2Z`iCS9CJC())ZqGwM#8p+kJO7E>VfcK99%g#jL}EfSJ^)`pVLYn^iGio^)Qo zY)>eeX0z~!O(67sx2tmzH8!j#W-obpOc1MGzS1P>g>mv!n1+RHN^drr?uQXKE|aH_ zM&QYd{-J0%$(&CFUh1-o)?kaX+T2al+3mtUiN~t74}P>8`ik-{h8}`gsaUav$NQ2> zefOZ;VwVH+#L`;A(9#{h2{x-kv1dO{khrY4IO$(DfO-eMR!_(M;{%CT@t?Tb0$mzE zgTz2m082C3@d}GL-N>rRe5IKL$2YuG*cnBBxMH75;UV{NJ*#1F!TggsUVPB|uA>`N z^;IH7g^LWd2J{9|(_9{#lVH)2kIm`|h$$NPs4E5;z8dC)%015$>~!>(-q0(*a?KTJ z_;-z1MG1_4+A`;Yq&n%es|kARUL-jmjCQM@N*5bE@gP^|Dx6}<&2XOnD#J3HW$(S+ za=}J!BrI}zw4cB*(8q3v&pX@=?|_T$n+^Il@@2HTUJ@3Qc_+WnxK{a;7PJH*Xr737 zheq=NPHB&F36<{wQ95}ev%B8dSsqN5G~K`G6kelB2YuPdMhFvhgCT;8!;e_Zt@kPD zl?o38AB{Pdo_q8s*u{?T!0j`W@!1MzDHj(6mJGv2rS@=>#17*VQ9&yWz(XK`xuh+q zs%5th4->P7BeXtTO*Z0LGA8a`_|0DFbFI^Th$89ERVUwivdYs-ri#DcJMaKjj`zn( zf-YNj3+sc|Oz+q0QO46GZaaKZe(36-Mc<<3`Wo+J4mt)Z7t`z4`l${xx>dwfL^FURPJscTKITxfdf{K3dSljPc|p1fPSj zq%)h2wH8sLr}q6_cHwU*T0M?2Nb4tQ^St$(pC|$@oST4Eiry1n4goLMZj84pP*x!e z8()9uV0sZ26-MRhzX3;Y?fe1~(}OA9xaTKzv>#3bzpQiL(nU6(oJ zpyZr`aI3_$bAIx#C9&F3EJ=ak`q0>l5yj{EQEu92O}n{}+TP;&I8F&X1`gGe;D*~i zr2VPGp@rY8jINHXunaUi{R&qKa|AYOBt*g*?r=SJ5E4KJf z{`+^?NPf(;-VT@gv~lS@d@z)~qjWTZk}D#lz@UHlw+IS9EJ5Z4?w zIX^lt6(-i;?Z71e!#=Ms$uEX}#tB433C?jCs7jTdS&&4{#0Xjjg}NB|9eJJI8m{tO zqirN`E0!(gJA1OnO{Jwa2k$y+Hvya$WLHRr&Wt5h$b!eQ%6Z&W4b;qx&feVn#`?Kt zhhN;zQVxPBpk9W~a6PNuBDO5Wyus7+M;B)zb0fmw)!F__#1=s2^m-@{xo2Tq+sY zHq){NZP(DZ7l~mdxtY+8XVgZdDKS@75o^Xg*I$Gw#G;Sk%?gyD#<{T{icRUEl@BS< zLEIi%C0Z1mDVKS&b>WE!yikkivFmNyHrX|{>BRJSL4dVM)c-53!cRa|YYU;gpU+?Uq1wiyCUy_6iBr_Ps83z>j`)a(QwmDd)&J0x>4aVV z#7Y|CRt{l7U5>uJDL6h{0@50YFyWjaXK;OTd|?F7Xu(%E&JE&WMmmAT2A0h6Z^TIW zn6cuo`3@mY-b8g#)gfU2pp#`!-Q2jnQJZDDN;jTl&W2(|V#_0W2qUUMjG~z@R^Ppx z&oy{Sp#Wkk-l10EC@BmycQutTa{gR`(n3zQSOTP}xWrxp3%G>FPIaDG0zR@#+(9xx zXzCUV(5&ON>@2m}2**xDvcC&K2_5!jNndJq=)}(1!(8J#JjrMdqj$qf>?f(S9wZgY zNqDJp{LevH9mhW4i>cPS+JlC-Rh1(ORrQ%FBD}6GeS#6Rd`UhkN5G$k^7oM`KjN>z2YmJ!wum{|kUo=$RB`IPqf?!D zwB<#QXikkSa0IfuSO=|m8_$trG=72i$U;5x(Hz2JohewsqI#(e1Uvg^Nf%Utrj#Qp zyEI}B+~ml7R{o60P0}1ogq13Fr#oVm@{?<*RZQCmW2}|Y=v%TJq-o}xP8utdp1hN` z^rvso%noLo7CW;NQ-2X}A%rn)TC$F)piQns_gpujoMnY zE~d=wl&`%>M^%FTAmttQ0Vx#>6Wn~BF>Z6o+rTNK$<#{{w;Sv!ZYFG-tj^c1@u}_1 z%=O$mdTmqz5Kc?N`mrr#cuDy~*pSm|<>2Gci+U4S@o7z3=9oKdJcrDP1Tw&FkG6;9 zXldBl@)h-ta@aN)f(=RJrcI}1iJQ@;>oMkShs>kw4sF=mHYyMoKq0_vlX9bzSW+}s zAK6W_wi0*cm}F66J+yrm!8LG(LBNHbn9d+!+{Dwco^`kO>J5Nu0abXj;o}!Yrj(*4 z{KN=T=sLKSB+^*+^fB>COlbgS{>mo7Guui7%6QG$tLOTu7o$1p6yQ-N>wTumJggf!#k7Zlj^$0*qI)a6gj`Nau#uarMETy|eP&qHUlognj#kqU1cENyuX z7wTI?l(d34A*6^Wo{+PZ?>*9qd-JWb7nD9o{_*Xb{rivJCLV0aF0gRVS}!iLYd#g> zUVD63#LwWikyw@BK-q&Yn7_-@H}}GYESG zr+LF6xxf)Y2^EfG65)7t!!kaR6o#Cx=THuG2npBl*5Vfhf^$HCws{fBnJ}0IDJ`Nj zf}||)w#gYg8B#@3v$~L8@PSh4Ay2y8?MM-z%#uqdWJr6p(GcUvxd$gU2xl`AUT3V` zxPV^tvQ2v%bR;=ws{Q?Uy}L(CIvB4sd)#Vy7CYmOXsSKq+TC$GZ)XW{92Ztu9N^<- zgf-elkAVo9)zqb%dm}6dvU&Hf3H%raG3k2zq^cke%_fl8q@fsaNvf?)G`X7jvd}RQ zYBDmI!1Gi&r&bxp+GWEjj9h-U1r8j#{mlFf_)So)5JUO#&<*$`ZM>X8gC{DTYyYk$ z!{&(yt%_DjKPH)~TQjh$%-j6y_l(9T2PyvmZc7NHCKMOg7^tHe!-9alQasU3ywY^7 zW;4(}*VO8!D5+erERoQ!vyuHIk64HL$Ym>bc&B;2Zo zb4)}~##X=;*)ZWTqP7CrcCaed5V(2#Wmaj{-ExM{T%Sy4W2|NunEBLe?MTR(%Y=Lf zz1vbvz1B>?x+$sp;^DnlCXAsTljx0`P4j4*jwDVerNY6S248{?2OM*G^s&SGaHJcz z#}RjNg48$8K{nwNEUwrq1d(kRrfQ0U72rssA?q+Vt9GD&&PwcoapfPpV#jx3FJGYj zlrS)FZnwyQqCP^ou=e1wp|1SrHivwL{Pen9oA;myUOa{?kjwfh7S+g;;0kH zSfbzhSNYQ-zZXQ+{;=fdtAQjn6H=2rfsSyM!Pl=-O`u>v6_1v`OC+j>u{!r~5pWd_Wl`{5O zNUO_@O?_WM`S^RoW0X2S1I%Nhp)qP?@53C(Wbc7i-+v1Dc{7o;-8-Msv{eWg-81g6 z$eY#%@4DJN+M-L64;s{T>4H1YBS5#O_G;l=GkQ+eooKyZ^V*M`^!izRJNzvXXFPX+ z(lvPWq0x0InxCowSVqIvO0>wbe^yY{6F$dx$Ts`inY-QXSy1D{R1OtOz$PWvkmhlG z=$0jLd({nj;aMxBK@NT-fmc;tF}NLgn$ta3-;ZFV2N~2e$1U9;B-GnpvjyqVL+pVK z*JYdea~T^3i@c`TT9tB+PAhe(=j6K_bTITMN(c|=+lKr51HAkG!Mtei;L_so(&Bk; zba`a(sFbTyW^XW`+AZ*}f;te;yd9VwBbuMpXK&G$2_bEk#3+K(1m()^bh}<3Yn5LW zuPXgDo8N>N2fKK8Kmhjv5KvKXe~|q*aI3w`7ivaWR>mf5;#1zK<2~G-9}89Jz$CQt zNABK?0+*wK%)Out_51GL0?SXpkIoyvyte&X)jaq!gq`CQLgXE zF+7=HK;ob8+AA`K2kn3D)`Nb8cj47X=1<4NV@z*`*IApiNw`#8M7VcIlDNT=qXqmIGfrz+UNOQ|>?Ea_wJe`FHv`>z?I&*#sOAU~7z5X*`vY??|oSD64{C zfnopq91y~`M~NUD8{9lBBp`jXU;p|El`1-Y8x#F=6M|av%Oi8Ti5tTU1w?`qo-vq2 zr}yxdaPSlzL2x_*Yt|hVAn;VCEta}K6&l>3J~?nUDG-0j3wMd$x0+@w#oN%#K2V# zs9{^S-3261+lPGdA=meF#bc>ut-hM-v~3HtS^?&1vHIsHzMjU`B}z+s9h>*a4&pP* z0#nYAQd&}k>yNX80c;=TyYT3IsKkFjQ{0VE!kz-Lg8n#&tFx|)h+>l31O@HWv*Ie!JUhe(HB8B=E+f8_2j)WV2 zG-SY)n1kqNMZD~8Aa_?M&90uvAFggtuDZ>P+kHQ-p9-ZFHut(6Fxr0Sn>{7z*+FHF z#;m*KCtpcc4}3YZvI2zy0(!qFZOP6L;e~(7U5!|ScF^Yn%ayjxHz**k9LWuQqtOf$ zS9;sp9zVnkQPnL7>E-4=0%KKC@Tx;(aC?fzSiJY8RYuc%rMW1le?6vsDzi?|S#7nb z6(kjE`8a5&yap@NEDGI4?YqN4;b+FB+ILj8CWJ3bT-KSoRk???Ow@`PK!;2kBH9t; zj-%%GRGQWZ(twp_V-7)AX}Z+l2;;qD;R-*0z0DEXB&05qz@5vlKN7*nqfGDyJ4R{Vj8-CSMEp z+9f5FT>qc$n|Uf+MW{*tL$7x zzn+Clc6=DgHSk-LeB>=pvMb8;Z6J%p7hI$~nUHKpeL)pOeapwV!AMWCMzgkPr(ED}YO6l;2RA-oG$)Uw!`O4#`d<`*uP9Rn@v zn*Z;3V7#{=XW<1)M$ajyQZofCcL509b~F!wDcO5$<}?+B{xox1i9S}_&<*Er z!0>UGFDH`Kxg74w7dWf%!vnX~pJx$19t4PKxMhi(Xrn4p$qwDK3r>6C8SRn&IPAMv zx78A7i#x+HQSUQC!|H;@q-@l7ahIK3VuIaNCaN6u8o@dFsQsp~lPqw)9Zx&oPbb}L zRkeA!-jiVvFd(3PznRFI=xM#h0uIw=smQr+Dd2)LBvY6fiZJ|()-iUHx)?>g%pDf~ z2nKx61)h9hO@_cxFbhPY8ZC}Xc)fCVpE$T%Bf6o66Z`DHZp6C13^JRdM;|kZ zYUk3GrJyTiu~yCXQWy{k1d%q0M59yXFQROS4L+I+F@# z%s{(F$iT)#*PWh7&9OYMgJQ@03Bno<33wXA?+>U~|96|M-tgC{C6xqU>U9q1ygU>cC zYcf)MISM_LKH%xk-XDif``>VYTu8BF`6g}T ze?KSDm|l5xGb?V;jM~D%`TGmse_|JhnwpwA`ta@6(oRo6%9&ayG7ueFb#jt?T554L z&7DZi*D{iDk_cs-42rdIsj!tm=F&855T;H3XdiOlJmypPU(FNj_hvylj1+8$4#(pj zX0OMirZVaZ74i$>yMc>rr@G_g&MbU$Gtt}ZY0^#C} z75HpB>^h5r5L-ywWz&mVQCX%7XL`ZB08AKs9uYdFXXj1ZNYAm9yc^AxxvvV`Xva|| zs1f?XUcyJ;;e&Yo+kV~313Ll6n~_-lB}1jYi}J&2DbG@ez3o3}Vo~*GZKju*5HuV@`gs=w8MXnuA5SFUs>N#cG8R|Lxu- zZ(i{x)EI4JCGSuJC4YIuE^d$4wFq|g#i9V$mNW8&uACL25iIlEx4Y6!OXG0J5A_ymyNnRtffOC z1_=@F^!O?RVPUNkBKD?w=Jq;4lV^Gef<(TDXEgIS2Pih8ig__|nPG2EkBab0ZO9Jn zjIW9Sx5S>PHTQaV)~-Y;aTPD|Mv@EWHs)%$5qzF8um_Oqh%az3qOIypGKeK$zpn?EQwb6H7SSNGp#;Ww0Ht+XsfD>9-a!>9Y!bRojz!)IrAO#lM-d1;xsur zy<1)Cy-4h!Yi`qa2c2v;me*-gLPG(OPGl?*(mCE4iD)Z9s>q+q#u3UzP$l5;Ix6T> zvNi1l{BMaV0$RgjFej`{BOTOr+5iu%b{9jx+3=p569uUosZq}ma<0`ai)v5;aiCg# z>;!QO^jq-s%9pPe1U93UBM!>D9ZQ>G$(!G9!pz1s4E3UJ!G-g1Qt2Rgzst58FzKM< z%1Smfb6l<@67nhE@OwGc%)AFcj}NMhYRa<7{t%m;LSZbUQ4f#pb3ZvTIqDv61{?3V z8|Ow51tTw=O1w`BkF9rqGqy%)5R&Z~%iUp}osxaWISop^Sf$`=*zXj9N!~|8HJX9x zvuRZCKkyk0zb%cAEl9@a=aVS~DErhtjSKq%lGPztFVYR|ju^PS-yb5TWiHrcs#o+R z1(s?t{Lxj~9l-j_55$47&eL40i`EzImf2fTa!BS;p7X|06V;nB!WNH^d^fpC?2}sE zBr7RKdDIP#Ko(C`*VB`?Mx$!-F_yB zyT{$mTVj@g*Yj~F?2|d9nb<9mJ^q3MQ!t8ow|t#Ct4IlOeM4DkT8OI#nt$j`bBWHV zl3$ocO*dK`ew?R>gP>j+<$BHFN6pneWl*)@&pqDHEqbPvgO)23mwR780%~d+#X`tr z6spLCpjnKdK3)Mh)diGyRc?W4kosYoMPIyfB`Y9nuV*$lZ!-0IR}|U)vdn4;UlVWd~#kW0s@wX=c~X1Q>lNtc30C`}-(Ii$ z2Q4DBh7o>Y@F4Qvy?#1$7G;pQT}D5X@SI)baQQDrTJ*eZ ze2fevFdZJuQC@S9=@Xqh_fy3Mg@v{=+%qxnpa29k<)?<{$58TZc6IkMV3{Ldf{2Oz zSwTnh(&jG`ILI_@p1o1kVtr3(ASM#%*uh=BoN?mT?@^6a8ZExGERN}KJ1t$cgttfd zM-(ex29IdYA2j_yUMQm}pJ~;u;;r}%S*juUdYQzuhLzq|u)XsAQ7>l&4pSU5=!6c3Q39d6!$`yra;8 z0YRj;@bxVYH-Km;#%)^6ze^zI$@{=S7mm8=#BC_sasWJ^q#qb>5)dL@Iv z9#((Wl{=r!eJ#@!NdjD%L})6d7;FmDtmJFT9@T3Ax#_EMs?LX%HxGTLr50K7X}2=+vr{C2Ez?ih$sGK7ilI8xJeC#zsMBa<%IEW#*uex#mnL0 zL;HmlqZker+~iPT*v&md-y>q<>5JppsA|Yv+Rs08%jX%!%*R#MRU(_rTFp=5*U^JV z;aB8M+BI*VBa7awVxuaNo5TMrB7?~_mdPmV`rPAZ2Z_m)KGUiBOGiWcz_0Y+uKzi} zE7O&0)U>y2!p7roVXE>_BJNAM=S+7=k2}A2;n;ea?@lqY$y?ol^r|Qy*%N)*<>tQ3|IasC;sLgz;f-g&wW|zN!L+s|Mvz@=( zxq8yTcA}W#+B}xgWAw@p@Dz><5g&_U$BoNR!$e9Og&HFQP@fOqI;N-IxL`E<;Q^PM?V=gmd!`P#>B<%{Lf1`HV`MXI*g>0GZWcypA(RxwIp`HN|(#Wdo1 z(6k9tr1Kmk;vAxU2B>5PD3}*_F$$2wO^~zO(*4#@9aZI%Y)AI?-s;0eSOQ<9{iH6~ zSfq59@$FY{)_(JDu_4b4xAA%0n?~A{E1elG)E7s+ZN8@38C0{?(`2bBpQ_2EtDLCy zonH4mSrw%Cd?fd_cBfFQoU*LR2V)WNUW)R0G7Kcte-;8u6Bdm2yO3nxh5!d{FDDI? zbZE)?odI_}6VBvq0v@%_pOLP|4Rrks*?#0aDHu6z1;&dSN#W^evd{u8ZJG&k8v>LgHsGFS)F^Y&7b?> zebh6*XU2W`RQr)dDt%lI{7i+RRy#HL{*gWS@$cAOECSAdJAdMzpT#xW6nyvxgo{g$ zDtjoX_(~OV(FHrh{S)lZFH1(6YU@t#=lNACdC7SC*UIHf;Qh=u$5s{370^)I_7a-YKpQ%W!PIgA!5xV74jUs9r#W?CjQX7uvuX z0mtOKX2ISqqI_vJF7x71!k6M=9MGvoQPM=HM&`Ry3P}2lQ`rP`Z{mJkMq350zIF5` zOucFYCsj7?Aa_qAfldb+T-Z4JIX%q)Jr+v6x9Byi(c4C|v|`vj8J% z7Lv$ZGm}B&x~-i^Sc1fZyp+?!TplK_7w*H`(3gGYsEcs6v#U#H@x{ut^BUx+HTQ{H zH%KfJx4+X*^rIjfL^3p?6^s@*V)-Zchth(jdaj>D9*xAzat$4s1DfVs@Y-AF_acC# z;RA0sn!N~qwSCM79}YAAHkP%ec&Zp~yI~9B!PI^A4e13FG@|gf;YH=c7Vh5na5isO zWFOPHTrWaoX>?ev82 zJKF4IT*j|Z-6}}86V3_p#Prd@e73?F<}P=D1c6q(z^qq%;9r!l-`U9^BjqdHpeL~E z>MowJO{C<}qs8mqZM{5K-KE3Jy=g(^Gh0El&ArOvP(CB~sG~sq$m7=&cNOFV+RGi( z$y^m|V%N(|2qiz|i5BDihee$mpU^ei20uQr6t@k1$MKAF{i2SPT16krmaW}jAeiX2 zE#Xj6lxbRH5V>6_7R@8so5YTQa~+kIBi+P5w3wVb^JVH8>D8yq-S9B$Oos6;hYDEc z#jaqwLW|fWQvy(9M-syoZQCG#yv~k{kOptD5{CVmKri@5&A zj9vWG^`VhVe>x0N0uqPQbokdvTs{|Ojl5oX^vZIA*ALs4x|#DAt^Y8d>6_F^h$$e9 zKUzr#X@fGVO;`y}0kJrw5)CYo1pfLu%r=_pnD3@`mQ+5av|^6rndjVbIwZZ|p8`-( z`7`6vOrD>uV_${;1wO$ZnzsB|vMbjAKt$q%5>%OXmJ(-Mw$JJ*sfE`>md8_wtP{px zTs_v;>+oirY(>l8&ExruChB^VvzkZ)c?Io2J=D(`{MT_p3iqU;4p0@ea=ddbaP{^Vy87#m7)!E3__w4h*3GxuF z*;#od>v>|s_X|CA#vI?tK8@;iT6rDJLgr|k2@5n#9=acQ!k&2>py4af?OHRp*lfGm zy#KIiQfs72CgB!(Tf=?4Z|IX7_EVVLflf0c|4mpN8RJ~9{z8rY`S(c;Q|#d|D5k`v zvL|e{g*%$9(X>5>Bx_pMwwaE<+(?hKuBZ(LS>FYXEM|dDFn^&=%~w|gog5JUp4lZqJSjI1|ml=F%27M|$hJK2y5|=q*8ge<*9#`CMtvs#5b%Yk6 zPTokUL5l&myPiPpS662%ceddvcd~uMA)ndV+}UoqUSHYCLW2g>OPxhnw)jGT8gd*@ z+BGH_R?&gx#wuPTYq3SuIn9aQkyL2OrO#_LsC53>+Su)iZew-{5mSBkO` z_Rtu}hJ6=xEt?Zt7cPa`JT>WawTEc}!LYn;rpy6I$VwgbSWny%)~=EQ+E zUKSa|d9vQ06+t!XtzSB8g5EmYL>5$e(EGNnuFOA^)2(kAk#7Ld%~DX!nC5H{BX#ma z2I5)@?s0-?H@au@uCb-G?(NnYg6tZqvnBIoZ%3}3X}of2xJC^;eoTC_4+3K2-=N=M zi6_~*_x-Ex%U3y*Som6{Tm-2898I5>(i=F$b zoaqJ@eX9>r9pVe0txbl$mN-+hAero41!a2;B9|L^-NvKjpABK8i8izUyjHJM)c*Lx`2=kJTiE?|LeE0RE%Krj8$L z{on3S--#SJxc?CJQ{RT*sWc%nk+>|?RnZx`O5EW(S*eo9c1EfM5@;}Qnt&lRjjsc# z7?8=8if*)i)EUcbgDwj>4`B(pdPAo8X3l_^5SlhOqe3HW#)*z2t`n|sH!KahRpJ^l z_LK=`oY=PmIXBu7)N%LJ3(4KEA(D5{Yz-H!2fEZ_XkdM$@^Y-;@aG%b?J~<5aYP~L zI4TasV00HklMf-xjj+jR{l1W1MY$!Zc$A#p<4~4O{i($9#m{WT>z&VbW((p+PTzsA z;rVB}9)BarR zz4CbD%Z}q8a^C+8k99{_XeVNi)Xq(|z%6e4yINQ(TSbj~z<9x_rQpX2hr-MZ1_Xh! z-2xs$O%bic@Sc8$u4aVdi!+e9h0T3mgVD!WbIFzahiQAkQXv+NDt2ug&=Qf(u=l8Fz1vJM#rOotl)uudSt` zj?7i}#Ij5y2`WQp;{Q1%BO4qD^a8QGS*MKe&Y~R=9ONQ88%TydSoe(UKi>Ix2Kv^i zGgKQNQM)p_Rd)4kb~1!V;tMQ=Eg;>_S>a9kVytp@E_YuM)KelZ5i2rz{4hhQU{^MGF4BgU(z4Bz|w$^|r0(wN;1T^1W6iC;HJdix(1L0@u581kdEFn8NS zBbtCz8y6*`XUi-kE2R@1MrdWVZFY$|GT+v)(5uk4XB5`rjpKLy3v^PF5V2Xk!mL^X*d-MLLS?h$`~nO^!F47 z7(5zDv58*Wx>#J|JPMvel&q;JK8d}z9uRh}PHBHZR%mk$nfF#eXIs{ z5`bclJ&>1~y`)e85=X$U)e0Z<-k>1t)#k+mqYPB2Df*r0{h?cm^2h3ETRRf}p+020yciqvc7ZO#exu-+)|vmk(SusxTd-aq}yJe~p`K#;^*f<9x6Ri=e!2JVXH`h1izWf{Z zJ!>vOgy?-X zZB50LHjI>&IwIR_k<774Q|U_BlH!eYfowbblP3kk0}XT;jW4dWENk6?hb6Uw$13R` zLN_}NkF;DnucNezY=@&8)AgoV<6?pqc!C$BRkbqS;aahcyLEaDnY9{FWVfo*4di+a zf$VA=$)tHxQE}-;6nZaQhH6L9>omS)QUzlYI$X_x<)X!rGbAE ztdFO+FZ#H*_EtIApI)B8^V6>P+M#CXdmO_yq@#V0KCFKYCv9F`SR%UMi{KfWq&f$h zPcCMtb(23U^xK`MXyz@deG(RF10ON6qdFT)PN~!d_RJU0l0F@k55;oAI2-TT<;xRAUZ zn3YGY9(kOROmx&LlB>e#m-f5Tzn~`u+|}t{Qk=D1=XS|qkOCDT6nX~z6WpPk+seRL zh^P}bs2PRCXqjlnkcu!4?=qWD29pHSE`W$h%REx!6;oJG@etD<>Ot>hvpZQ&<@M>m zJP&Bt))LFsL_<2)mE56>*Xv0AUE6*&2z>ET_ip@ziGgojo^uJ-mSc5sIdenmPr)VY zWuHsIzYI`mS`3wtcotsAs!=oI?{RoKf5e`Q7%`ZXOije%_yqp;XRj{-f#LP1aS=lX$+qgr&Q$a^IBcXlalfsCRN^} z;(*s08ZlfK@HUaCp8*OWgl;}zLzBhHIzev_f|Zyc$ord@^*UFl`frwll7a++yHmrj z%61E{G_Y1OLA7^9r46Fu{ZS+Dfd0eYLAeFb?WnUCnHlk9(#`8&%Okb)m`K8IMgC+s zkXfZUpDI`S#w+9%n(R)YRwFYK4KDBb%K_bOG{)(E37M2M%{V$AT50u;zqrG+2Px5P z$3~;0NeF4T;oQRTysirn%KB|hLN@76%dQI_>$(PK!k6+9TksSr{4Qu*EbG?AKbCS) zWTb46s+eM2m!*J~Iuj*_;Y`1igSOcuwcK9>hYmR z%k;{64(nnnw|E3>3iz0s;l&Fi%pRXBz519FX|+9#(z@JFyt|-#z60^_FTE?-yI>b0 zk}JsBFKgCb;{|~Fp<^heHAM(I**E3c0cc~guUi?8*>5||@*F$O{;yb}G$+jq=Dlp^ z#9nmOpBtD&ghdZpH=zl6HRDs zaF$Xvg)J`K?T}qr%T<}~q4@l*{BSo6A2n`wgPtm`;a?(yfGm`@9suIimYhydskNoC zY{{byPg=?s^Sh$7u$FOG!SHb?HqV)ZlG^$zjq5x$TK{t)hU&#!kxih~(FP8qL}kKC zcUQ?_Ub6O)>+uN5$jm@XCQ*{Vh6ITVQc3x`$UdFfdIoaM)JE2 z4;{ipj-5|OzF!&Hcft3wC_Mcg;J*MuK)t_)INq|c2%D($7qyeY*cUYi^WW67L}=k~ z{}<|O?45uQO47~^j}GAu9mtb{(w=WtbD5l!zRqWODt>QPVqOd0)Tks^2ww%VPUv>E z;BfDI5RvBKWVCLmuiKD6ky16pZIw~GcAil+$n9Uss|3E3r?Dgar93dFMaAL&rW{P- zukv~)@s#NVR6>>p1x%t;+cB_f`=l|9pFLSR2*A?}?Z$9v?6i%!x*9A?Nq8xzZVpFT zQ`NLS^Ft-`W+;9u-XRNgjE}D4nkuoj8U6>Os1V1HncH2JX=B|_hL6cb%-DU&1$R_l ziqejlO%B5`yC8U?aOvxq^6sv&q`J&RXQo0oMDo}db94&}MHyV&!1FmcX zpzxG^ z61i+*=30D$bG(cd2fit8*66vWT-l~T6IgqPot5muKD<-a?uY1tbAO;5%wh}wKru#` zr2Y-X_;0AW*2}qkHmQF@wJIkTY*2)osKJ}0^49%$ZmBARW5=ClIMdPtn_*PF{Q;km znr|9wE5j&7kV>q>p}@4sE)|zq>UMHdI9EUUx_B%-hoOux!-ybNc7bJ5@(4$mx(J*~ zJpCr&b#YpnhYoQE)7F&B$0)VO>RzID(xDhyc<)mP$tVEQezhqVEVL{h#rK%X6jC^ny6JK>fApKN zrI{qP5K#)LI-?}j+S@YqOmRUWi6x`ZabrovId!qwFQm}dM9tCKRHCDaai$)7n$h>5 z`o>;c8OxY2+jzO72{zZX_J9SOok?tta5vK=RhUt#+o{m3(=nBp>*xLaK5UWc`lIVo zdLdI4ZmwxB5Q%MU~oy#bnE2aD2{aJ z;8-^J+GTN(i_Kp=d_hj6vLJuN19_cL2}@W(i%~iN!~pexBd`Gk03ZVQLfG)dlJaRy z^V;~SosM7=fF=(iDCxMZ=$!<1HYYiTqRP_zgr%`*i#oUlYJVl&4z#1GvpJDs3*VzM zTJ~oz1kCqo^#t1EO+5ze_qhVnh$hsEMq@;1&t3$s7;*tTpbJ1_HTOrI3#2$R)Z77` zm-yKSy~ga~+74jtFXEDe{E*q9G09rSWNEZ4a0Mg?1wzBS2k`X^30%i$q$y z9g0lt-Ig%1L(o@)xB+ORQFwn97=2#7Fz(Z@&;VrFk7xjPxR*2l{oNbd0MN0X-h67) zvR8hyH+$H-f0EPE=|ZNxCINgcK^q%m_w)w*y6Rj3IS0C7({w8rBWaOVIj6bjk&&Ef zeubyB@D-j?0Pr3!ss_+M!)uhT{8xC(S_f2U&<}*;H?`E)Kqm#gSN!+xkylGUjL*A) z&2;7nvrAgYAlyo@z5)F-0|(uT{Y}S*D`=xA)-QMIA>e~nLDQxv4p{x2z-Cvw#~pL3 zpr{c8Cct^fFJz>5SQ6N(dM*@p!TlcH8U&TL)Aa4bETR{&R)Va6geRA5J&{?#8r9%% zUOiNDO*k6TMzLC-vEuUL#|6M~`m~+1gl7xKbsP2-$De<|T(GO-_93Ao&u12SsfhAq zzR2mqx(E&>oHr}5T<|t)flC~=>9~8D1fHSYgj^zS5_A?tAckD#EDt>TK^{inucK=} zS~AVEWs!>mMnOA$Em*DCZ_8Y>i#D1AlC|NJH|-d|v!z2cWRJ_}$jTBVyy)V2Dx8P} zHi#i&DK}DxuQvnhdSNm09s4{7)^)>sY_|~}7y~pD9W03uAl&xVgzvj|l4LG&7Am6)uJ6Tv$UAN(x!MymttZlrb@{p`3|ubA;% zl8b!RtOIVU^%qrRb)uWP%3oBGO)AuyP65(?1vt&#^%dah+gE@Uw@6sZP8r(k%>ue! z=S|7yMj2T@CIc`3K{P=9fe*p2&ROByGFf%|Fb8q^hAao=qVdGuHTc&=SzUdVn@_|C zOTY(c(ub9Op|WVBZy;cxOqf+TsI%JbUWzIlwllVdZNW+^eXfAO_D~HaN z)&urGid&vWfFfe1r{o*?MU|E>IEW3AaiU`%U8HXAbgN{Ri(-ao8I|R59lP-rslGXAI06@@$_&!)iXo-ViePb%c--RtrQ2`XBe_Zsa$3lE;A=BsX-thTNVVoAG4Uw39M{+zQa1M{Kg%G}-bvr8OnX#wT}qC&H=c zM#7y7Y-yL;E$|CN3s7DQY4s~7Y4vhFQSu-tZ*E#wrv?;^npd6Ad@`Us0b(81+p^qX z#al&Hk7@M#u!GMfTgGNR@Lb?0r=W^g0!+*(Z;}~a@f@_r4WUHON{1Gm-k>~+ILZ`H z3+3xSH`C&vyyEeTx0W9Lw9zGY=B~5A+Ao


3gB1tG}%m`BRG8mB5tmiyI)yn{0&C7f}(;PnKDWF}HsJr-h)rRdVDh^h7~MK+KX?Wt6$IWi*zV2H&8B=Hw5B)8+KeQ?>VYSV` zU-NdP?n(2M^U^HYGo_8?{jTfIo>b~_9on`BQ(eu1)u6B}VXVKO(mwE82OgR;Z?9;p zJ4vcAfr8B>`qZhKoG6mcUT-y8Vj89v1?(ukxKsjg_ZZNT;x3cx;n?-Q9*{2{bKjB} zW;wN=sW|cAYHuQ@AhVcL_GixlICwXPtW_~K*1IB+4-~9=0z!WVw>Hjg%;Wva3sXI$ z9}>vWGC>kAtM3)JpUqf}K+=0GV9yn`PV>2RFPnP`8sIe?P(G+T40u>m!8o6ft%f0a z_w`NU0ud|RMrG>OQ}kBz6`T{u5M<;dVq{z5z6vu507Rs7b(WugTO)xLg5U1osy?et zJCz|EP~uXdz8%@A;M}E{NU2-wR2qkF967lX9v9hvjTn6 zF92bfzX9CqzWoazf|$X16cWI17pt9vJCn^`W(^l)D57b|X3Ir=6cYq<=w~4iCQXw# zb&su0nt|W0fZuL!#vDW>66PfVW|mCGaR?d!$k1x=uJ1Xu$XP1d-2XNl22*C|@m8JQ zCLTcCP?~&s_0mgj$ck zlH~ms9YtDBF5|}mqrgv$*PK1Hjy*HqAD{GO{13|owx=#u7@i8DD^_h$hn{zOXi8mL z5Wf12Y0A{80O&b42Le=g(rHr#juXGPbFl82!JFqv{7-w*wK%MPfzwj!Z-UKPuJXN$ zVTk*SX1WXzKO?4tX>NVMqkxF-Ozb`>U-1Jv7Q7P=qG%kVf?V;(b~59N`P$fWsG)`? zx#>&j=@8Ra^NWnGWkX>~e%;NWk1s0R>CBHQi_WC6`UezS zRQOr~$+q2^Rhbw4d_$v-4PY6C4<-`Fc=y!W4h_OfzRtd@f^QUY#)kWYg`7%Ym)7Ft z;~+}Jw4?zEBe}Bma-j*PWCK#{BuYS1uhiTkNlQ*fvYp&ulc%O!}Eh^IzJ-z{CsVKxpD zRld_xP~26HO7X(QC!oB{9e_2cmY`Xx08o6{Qc0OCxA=BV@6GaE{W?Dns6VV zAmw-5Z*&PiY>_8cE{WfP8n2%Gtui>x(2xo}StUh!kyqca^T%?gXz==l>dNfnd*D-n zQXRb`n1U7LxIXRGWOu(#^!Hx?UP;EZK+{mYItGY8ei!%aI2h3?Aq1WMR{Tf^-k?KQ z6_$Z1ni>gQ5;Ud*HA*E3xzsm7pNtA42_sBmo=um$Z^w4C@|srjW%K(l zG&lV$DHzox@u`G8Rn-;-#;AmzAA(2}0!D^`mDVkg!-2K6{KkiC*+@z!LO)Pz!OFZ8 z^$aoUYP;drqq!jW)omXl6CnGkYicuV>CI253(vwR>j0^0=tJ++WUX|?o3X82V3lsc zh?NTCn64IeS~_v6(TM7Z`=yt3q~653iQE32Fl_Iigh|r>B#g90cvCJ3K+Ug`LJ1}G z<15&~a!MF}5*?Z3XA+YReZ$(HP%x`vq?wjvfs17`w~|F>Xs4mq&f7{JW=&tek- zH|%;=NHQEt`bPy-RND!VvciarbM8)CYtxRDt5{6TI*y(5kYx5Bq?AaGEU}lN)3`Ed zlkTXKVDr!Z5Ah+lUrtlO5Uw*_DvBTMDZwF3ZDQy4e9~h=&ty&Clc`Gcdi!PhAYZp@p55|z{rytuoZfzTwo|g?q~C;!#U^(#flyb}I3OrsfGF%oYqX5T z2x`p|HZ z6w^W!PxsjEQmghZzY;sd8e^ZisvJ!mcBL>9V7iY+e30s@RJ9g%vA=-(5$Dg_Lm z-Y;}%;hnjSOtT)w^C$y#ys=^ml+1kVpL4N>^0Y#!xbCw+{)BqL$xZ^oK<90jB}FdQ zhWYL-?ny_e3)~APr3c)w&%d4nY~82Kn};C(38pAnPoOm+Zn|P42PY!3*^VLsa)- zxpE>%XuP0Im>>|<3e|e`$c9d{TD#iFRX0f#@LnDzhJQeQm{Q({CXg_nS2RZ~Kf6(- zm?MAsjrs8fFYw?}l^~z?&%M&F&XX64YK?N^p}g~wroW?FBHzcYBuq3%kH`R(tXrA? zn>=p*G^xC-8pS-8yoncw>3cN)?PEEjd~(2~$Ea3B@0qPGqrAzs(RCw?g@>~P7mJ;; zAQTETUY#glCqisA5MCg0jNfnhoQtn<>ggxJ$f;e%5z&5JUw6s}eYyiZTT*merPdwgy(1e(CQ=zJnfS9e)j(7d;E1={pQ%1008W(zyL7*`5u2|QwI|vBO^n7 zhri$M@2Q!TCtQ2}`i#0H~J zH_PYSaFpn9z`0j48SnS#76$tvxR9q0?++K(&R5Tt^$O-Ii6N z!GrMo%kcI0l9nV`ZF8FN;M-3}Fn_U|M>9{;-G@l#sxe2qn>nM`+GP@ND;|=rWiMCv zcV^RD#~N)<4X&yO??TJxBqJ|x@6Sd}Z)daJ)iKZfu4n2N-%BrVS8nb0lGX>8yrNIG zPrWhwxS_0owBV+seK+ss4(HW1w{w=2#n?ERLt%0p*4t`r?cmJc*}B*Sc-FTbB&t`Q38$$Rhh9pjt6kPC)>TW3 zN@f-B%^!BA6sll?zu6N~O9p5-M${*X>sy3;d;L8@OM&5}ky2`%^ z@Qg3EEqK})wJe_-w=Lki)3akqOz{+;(R)8vuNuRFmklkvx24~&YmfZwqRHIcY{>WWpHiUCArvW@T5>SRffzsxyLL1NZSdq}^CH!K}KrxhYdrk>PU2RpIqI5%CRRx7{n&HknA z@Q$SISB=0A>#|cSEO=x|9Jr6qy7ldryirLmDzxKDPnPlqW}^B7+8=1vLqujn1ZKv9 z^N}+1lgY&yka8Rf15OWV!36Skmdy&8S?j!!m&Pm*yRR#-*-u_h{y3dk>)nB0O-EZ_ zP3T`u3=j7_?kbocozL5%Fic&Q4^v~m?=3}Z(lZ}Y+O$zu2M*77?vJVWL0Jkt+zxdwV-Jd%1N6|9F8YU1Faruu%xN7!(NR_PI9d1R7&r}(k$ z5*u2J*t8L{Mvg+=sQq-Xqhi%K#WIz4UesiK@zao!<&ehd30v6exArfa3M%~;wk-94 zOCxyrP=Qfk!-WNv?)Z~hN}VtxPgGjbI$3CRLX{fO@)4@_PqmNE-x-iiPtBL~?M)A; z>#=Z%di0;KjVnuW2EqKTPqrP}mCj=v+;P;P?i1(vK>jk-1yCvk%j%%zh!(X#i^$IE zUJ`<^uc7MSSfwT=aJ*O(M}>(gTddbg|{RjRS4FA zSj!Qu04JVQffhp=ecUAa)d7O}dZ~Q+Ft$;%YK$1D#MIT7Pwe{OV@@uWsGeR?u6tLJfa# z)`3`IX086K!#{B9LFd)+H@>=k`9DKTJCJvZ$%DiS2@79&4Ci=9@a7hi@0b z`}-NAy^l!0eu(k7jCpN1u{yn6u(x=89-7adm_IO84DGT&7del?qkTNNJVTt@xgWo; zWptu&X0&a*9#dC>H?|psWmaOt?6mMW?w-P8|C--i+1HZhqBYo@xc|{u_8t{(Q2x1HD>4BK?c5m3?@y^!Lv6;V%R3tPEsn1MbWW1NYN;0Vo}((w;LDkU9d8gSQuBfMJ;|aC<+GWxQzjYXkHE zLtGl)dTltx{Y6?W-L)S-8XIFwa~t=YSTfz)GtSi@i2|+39hL*UZh!aIuyBUCI&r zcRT%;FA+jI_+F|Yc06Yzlp#J_#cu^c`ynzF30!g!d*V6?Tr9Z#76OC#wgrVv(5Lxb z)nNBagh^#y;r2tHWfxn~&4u0tfGP(B=;2U&Qxqag#)=+-VHC!nWn&{sq1pv(uatOZ zxTSg&uNi}prS5AA+xi?AZl#@e&Uv^Gv(w(*ciA&swPkubcjGueYKCDQ?N&UV-`=8x zxYPE%Zq?rBc1LU9>Up%7F(pf>-I>>W<99V)FatLtHI5gQ+PP!dSywP+m`_?6I6^2OFi3M5VcLze zat%tpBJ%MCG~Ywmjv(#;;VnSOIgCYCDbRu6yNLVqIGHpre*a;#d8@FRt?fU=IoBpz z*LOLGd0XT>`XSzt-?p2W*%@z-KB?bzJGtcS>Q3pk1?Td;7ZUk&zQ$FZGs`97+DZd% zu+O%ZYr{d~MNoQu(dD?g9pB3?rU{L5<19TXi?smyV0flcM+;DkyXHt~bceGdMSQV5 z4hs~~9jkLM!U+GsPN~n#!>Y}Tukbecn{~acnBM)k%jM~ELQ43A=Cz47gASlGE4gpc zZbI+eb$x{`+p?lxqE&&uq(4ToTHUfE7|+>0)k0+Dci|KpG6TGQ?PDvvEjI&-g%ezo z!c^^->#^)=zJ(k5lujt-C~xdAVy`xQf8`7;NpzkNTXCQ$n7>VJkHwP-*W7Ax zR=;RSWPX@4CYU%;*k-|+T)$}CvwC}5t7o^7K}}osXyq8WHyo9;nFNhB;b6S5#-*jZ zhFp0pSG12^k@~v`o5?b0>8^NHE$YL=#qev9CWEH3kdc?zR%bSfQ)S{c%Av5Ck%*L$ zihZwsF;hzBeKIpx)UFm4seU@+I(ujKuJjF*&Ea_eTU~4YsH4H`eUQssOIzu|`!mL_ zQKxJXbN-|eM}ygkHv2;T2+e#6_~<5Y)rbCd^?H2x2F>yDH^`kE1uQ=~DeVh19Oo8C zMmC!d+uy#&44qa^BaJ+h777W^&&m*Xu8Q=0p3MQQ0Ja$-v2JUyTT<9C z4{CPhw?k()yJR2t$*)9V0(}k8(Rs0^DiJP*P2t=-<|5jS$#eIB;5<}V!_ z>*-^%y=TX_?k(8Q?k!sPKyhqiF9`jqOZ40aAGG*&A-L?q_ebb4dHVD44veY0yf$m^ zFSd^(L+h7A%|GHE`4NzI-6VgF(9wYrr%DjuL4=5L;S%rpB;Nre1Q{A42oBa`e^;t^M>J|#`*cN7AF9F2h>o3GTW#b?$tZ|Wz4GIYlCP*^e z$e(2uy{M~<(`Q?yQCvmo4YMFb1}&`(Mq5>w62^EA58V{Ty~a`V$1pJ=+cPLr zn~tfAR=oDzSdL?_uYMOD$JCo>iX{~m!3&*_x-+H`*OYDw1M!)?yx9i_?ah&arJe8E zsk@+^L`&BUPJB05OZV7GBjDpER#!9+SlTZ&JxDK_aCVZ+(?IvE z^U~03e6_^8xXGP-NcADpxNyGu1!xQU$uSkx=WTHC-EZu9OA07+JW{E#8x!-|+p-hv zYo!^ypq(^{g_@My7Z|$o8`_alH7*u%;QBZG5Ptr=TbGe79Bh{bO@)V=rSmI@@M8+x zuw-m6BU`xc^Vy1reIc!R*li&%q_x;~+YTcKr#f6ZeBi+YJd4f()KXf7bB9|eTNUgy zXnXtyuPzBy*IrYs1Y9?{)A{uljq6#)v=V6dA?OwOTSIVHA5b#qG#4OczwBo7OcW$A z`bXp1#if|626%mCN<^Nwrk5WYKzCsVbQ`Z-f+Zicdo2~9p zLiegJg4eReXD{v%4hYKT{_2WYPvxWTMP!mv!tO;713^kv$L$4-aki@4Ckli?UxBZL z0Fhb=uiB+Dmn28|$qNSplUV4ajZ4W5q;kKXj@sVR}1`nW`dp0#vnC zRTGsDqk21P9MB=w(q<+7VIB+dw{=+7(rS1d*Vx=yY~0T_B>i#GrN&-_);qQ>a4uli ze%KA0wIqra0iBIjNof#c|Tb2LJlM#u5z*$+1^lL|I!vgvbABr5al%6@qJ*! zfm8nyY$;p%b1iM8`_V{RwX3*|CH=gw!`EE^PStY$FRO_*)_+-jEL>`5|J5hPsC#2Z z?PP&!l!e&Pb_`%A?QTFw4!==Z9`|CDK1Ch0eIxuM*aa+`L4%w` z4M+7awcZXuu+>4_wKT2U6V_kt)ydUmUo)}sH52j|6EbD%oufr;>B^7#wWf=|#Gb60 zl6tbDS~%<4ds;HBix|I&JuWb{CSdRMc@M~aG`l?AxVE`UG-kLn2XC$UH7DHy{jN2o zO=z0RPrz9_38a$DkCr^s1sK(GqJvl7-P8}#**S|)LF0f0~kz&m%lHYk^_ z%9B)v)uwb;-5tpvAj!llDK#X)rq}HwF`p%&*rLknK+;l0(n|42G{Iua{xL}})p69z zQ8&xche_)ISASjrh)xA8u%KQh*`0B}NLp*19+T!G zdMl-N;zt+=@}Hx(_oQ>y^)I=WrKbXTxn+l?2-^ePk0QXqqnON^a)Kz(JF~jU7w?d4@X0ZsrLq8+98P zLZ!|w<||_uGX2!o__g0nHw=rgYlr*P&F|V8I5%!mtiL2~SBw~|EXDA2Y{Q(-hf}vR zQFJhk0}34Su5MuX%+S*+b~KFc-K$zh;M;SxH=G$p944S;c?B6%BxSgXhQV7`h*?+o zGr?zx|tX6wZh1+<2O&aiKUd1tj zM3@~+g49euR|-EHIdY)n`i$2ae%tS}%3{MT$5tM|GhNd?k@q^vS%J(|4M!0n%Xx@X zRL^0$v)suY1wE(`P8f(h7A(D9z8+qFIalX9y2nF~I>yGm2N zP4CuhQ!M1m)B~)>0{GEQyxCij;E{PEee4*&kb!${Oe5e(B2dav({8N^29g9fUo=YP z5&dlWcz;etD^Gr(rl2cWX0a>{hzapQC9R7r+XoYL2Y-y?&^_3YuYd;tAizM|k32UG zyGz=-Ji1gdfqgDb3ji_CZ;!E0tK`!@(G9?B#WU;}3_>W+VWDOeBPeKdcoLn;R65 zZ1{ZK3IjonO&XS}{)B*Et%+1!RH|tj(w$!Gqy{?ZR7#C6IK6``yr4C%699pL4}eu| zOLeRm0?<7T14DPu7$(4CfaWlQb1oh7KPeFa|4n(iZ2U#(c=i`1`$N!tjq$%I)4>q% zc|*G4q`EWZM+@+P?9Ir`QP5Y(?jsQR!WEKf1a+p62Vtyq!3YF(t_l3%mfI2?$OQp( zOu&M&-A+X0Sijts7Fk`GIP-(>W}~Lgkp|ZQ?O6sv0NB0qRdNV!T?awbzHsq_3 zPJ2^j34!Qf0CgJ(ahB4X+(Y#z14=K0X+Za-Sm{6r0GNqx1O=Hs)^x$R@QQM`ll@31 z5pg%7$2SBjX z2eO$XsxSo7`Ku@QKp?8T4QB&CR1#%CAp)SM`r;L5vd>UXk{EQQj$;3FY8KQ$09x*G zm$2}!Tm?Y5`9X+-Aa<_jAH}El(cVC=zf;e)j=!OrYU??LGt!{oBe38$yVzj-w;pi; z5ItfCYIQYG;g1GbJikau-A)8wE(LUk=D_d25PS!sVAypo)n-c&0DW@4qwAfRVhU@q zHvgG0umAIeNn_zZ4c*w@Kiq7aUMH`;eN_dlTK3MZM;G|M6d>TW2`~tl+0R}&(H|5$ zW?gRt3SRHciJ-PUy3rwEqd(%HU`Ny9LXk$*<6a+lN3nYW4gvwmIWPNs`+Tx`5OF>z z;9iFY`jVzrC)9g`ZxdJD>tyWM8Qbd_JDV9h+C@i$10^7eZ?~?rec5p?wNnUwpnRkK z89(&v?CsY)*>Dqn=-iJ4MXHvhmS^1eA&rCDpElXO2C{l(%C#i>>tkvG-teEDh@V&R&Ekt#4Vo0AM)G1RKu@cw(nVX?#E<82hmbc z6H^Y*F!YaBJ!mmpEUGr;jLoiI*xJ3uCpN~VT;40(-{sO>%B4sAlDMF%HrurVma-nI zDGu(9xtv_y2VLHMIkIHLPb8WXe#FlgRvAbejVaTU)@)O(#NE6YQuUq&FKvb_(eMyq zXd9@h7^P~P{K~PO!-Wu5J|vac)Nm{WtIFy-{oB~mX6Mr7*BMN%dQ~g3eV?}UrF0Ja zp}+m3Tmr6Y6TQkCL&k_Nl=A$im8^VPXDnL^mG($>e^8Zy%;;%S14I>$mN$V`*IT@a zM~ta%im6u)T~H?qImV%cY2T@J?|)cYmv9ER2~*=KT~_k0UM5b3T;7N1`T4az3r-N) zz2e$Gt_`>$xE{cmO4qXUnLUZ@<#Fyy(Bq%;Wd<_WoZn+nx9`93`cIRxzD3Z`Q&BQZ z&@c{8H}S{xdN@kDynm&ZoYs+&cJ;FQ_)<~jYT4VU>n&#(-tiGT+hM51BLt}J^1d== z0`(;A-_va1e?!4SS|X)AlCJ0phvHAa&#rhjf&!RW|9|mw0=EyX)$>n3*52PG2pVBe zPYKnI?r#mR^F%k2?svBLpxK`LYGKJ_l+B#wC!MzVdi@FSaa*q41-MluNCA7H0ZLUX zLk@90UUwHg$b91c+xC^y2}C8((oxq?kkG^yMFEu~sJ*ZN6tVQ&cqU^vyo+8r z((^yb7f;Vp=AktTyG*4TX+K&P$L4#o0nttBwYKfw8(5VRBM+w7fY2$Y(^`+(j}9GT8SMg&5rf z0H*|*fFYw3rP_9?39I6w=Bhr>hZrGD;HKW&2cqfwaFzB$&Wvj%^E3LJ7#-d$0g5{E z_s($4B20`UCgG+o0K*tyVH z!Yjb|$HbSa|F?;Ve!)744z0fp&}Bo;z)-Yf8?ENipCC+}1(N-NbfWgg@=+uq#Oxq| zof*fp{i-pzx_JxnQUO7QLybC;YmA(uQRX}vo=kk{amqX7|#49 zJv4hOa~wFX&3*Qe(${lhyAYOD3~SW?gGxYG-mWI7h6O9Q+}H+V!ym8U>!R_;7BVxi?uz@QYC~Kb_)O)WX-f@f11{y6@ z*aq5>RmRgsAwjx&k-;{_{i!g$QGFnSgY}yRzy_3 zv}+l3%K;gU5Q?(wMsHxD+y*~N#aitSf~?l$1D`9O>kmK-(klG9?F-{E;cxM1ye0uR z!nVB#D=YmsBIh~n7&u}XH%dvmV+vYf7#7*>fzVQU?SUBRErtU`+3o4){x^O%%s`B? zT0(_=>r;slgrqb+(=hw@d8C+h&pGB4`wNevC-F_KA>x@g@`|#6`&1ex82eNP)ss{d z*ns={7C7-}@qb+0kke!R?ZOo>z(~s?q)$xo?c?T6)=BNdJ#026guW2ll`YgKOh%%sdEP zN5`&LFb0;)I(1>1xV!+IDx%*h)6Aw*$IaNpf7M%Bwt%#CO|D-eYmcwIGi}yLGm9Sl zj5T4;#Nf0BG&7UdeRtjZUMcQxA!pFtkDzafaqJ}j`GbDSTqFWp=^foZNMvO=`c(Qd z*i?&sZ+OOg^|WzMkWfyP4x(V?nCvIqIg%@h?duLeto#_V1Nz5!3Y_7ABm@J3k!Y<` zSRJN-o!@AzSw3bUZ(r!Nyst22OAbnW?di9O1CIoZQ8>w)6EP-0pu~>7$u^^Q{s5Qcr zR8=VTwWoT2P|JN){)IY#k&u7#7ivvVOwVj8=UoP>xf(iH2oolPnOOODvC@{T5`~Wn za7|FYydUclT|S&YWs7hMcnDKE1Qm*T|F=qsq(T7@%BzytSVz(F(+F51j9JCd5G@qdLTAg}y0{S;lk z;b)>o9w}u%hIBw;7?a*UNkw*oCYpJF5R4vdKL%Cz$xv|`)nYL+{GcKYmO}{BFRiA+ z4ZHs(76aM*qf?VhN!eGt3YYAI(MmJzI6Ze8cGlbC=b^_HtFu2VIBkheWIJ6+lEU7^ zNI&X+1&Y#5(AoQ9KnHgz7yNUBh`r`OZz**JvnS=7CeH{9c1D$J~RdYt)MX4CWsFj+NkWootvv#2T(ay_m4cStJCKgC|XA~GAD zB0Y%!>{kUAEkNWhe;3`Ii^~_^01;N)m5C&(2gYMSD5o3gON=3gWW0+D_e_!uD=4>1 zP@*t!5@z69Dk>KPqe$oeT?(tp1@o7L9S-|Kc($S@42r#cLZ>3kXuO$R4T%s6Bqfx* zkZO2#*h`t154q8mfG`Tm0eW$6j3V7H0hEOC5m_N3|8I(NBbmrQ39Cs(Q4Fd4$WNvWVM~*H;J^P=OxDj1 z6P6!vMGvZDdjzTTCI7k-IF_npL~zNVkk!`slN-_Gk+Guvsnoj8e$x2KgK8*_izVbM z(2*)Ahz|S{H6QYysJL)JL^$)+#L2LV|B67P`YVDMXw*LuOtgi?J>%Xjhi?_TA;!BY z%MGN@w}p{|8E*VktRZ=<%xx8#aYiBf3wamx5Au3j*o{4m;*4l1>yN;^koO>PbH5c{ z6ejLi_MhdGf=NYT$SFs>D0N9Qd)8@S{{GKFUj~o|CG#{ zJY{5|HIS;qEGrZdMJR*9#%-MQ6lOTf&L9}6r_V+$f|H(#N>cx3IaaOwu}D-*?!7DD zu2}EN_ic266Wtix?p&10%}Mo{O7eDpfZ-ku%i;}m^jb{(pgplvc?Pm zAnp$w9tnAJiX-~Blw-`%aR&r5-1&Ht`3RD}Y)1F^QbmHC2@Se)2 zSc3je5;LHfZr9jQ(*@2oHG78P?L8J$QbQt2clj15H@vPLZG*e55wu}5g!v6F8VIuJ za?7?C7v|~N2lQJcmurt05vCPAHO=mv#AVj z1f94112Q=8CPhH?8Ri=tVfu{$*`Gh;u7r;kccT;9Z9~*kCqRp2d!}fx0!@tV_aZXm zra}i#0T8B3D=IU{^@jE?M-{ETgMNiIX?O(dJdU>wKo)J|2A64rDpWHz1x^`lb5>$4 zmIfW1^lMCl_01y-7ft&1Z(95k0o54fzi8Q0c1tc3D9OEi=|tn@QA{*T?MiuH=>z3K zQTe0^qOGQ3Lr~z>-Yxf%dDHqLk6e) zix(hyB1-R&2s09s6}iN^FlFwXlzDxQ?dFJWf|J<8paG5#THY-<8}|Ezz;wWxJcXg4 zL(M)5(0d*QQ?s(6hU9;jU2`aVfYkrbtALwM?LOv+40rI;HUyON3{zKRV@9m66> zNrgQ_BEq4ij4C@ta!t^<3e?Q(BH3!cLn#3JcCU`#O@X`iF_|c+!B5MplMv=Iq?}lM zi>PPs!x0cJ9}@pNoT56*Y&dwuACYDqMleMyzm1akeYWo+kD>{tZM;P8UTX32;X+t( zcYHzwn(*Orehd zjscgT4O<2#4RnH-8sx*gXCq-(Ze@oK_6)t31+iWldI^ z`R7@@5FVc_ybm3amQ*l4T0P@HB2j?wC*U3UBz539-sLcm{qrZt--)5~RkrIeXVvjgV_n}ClSe?q9qwr@iEmq!_ZTX|BPg*DuM2>*Le|quoee#d`kCT}v0Zd^nv250cH~(QNC|>3A}UdnU?}4&PDRd|cAg4E_7O163Qf zKWe663yl(*iDD<&wHs1kn9hj{WAEH7id$kpyG?NE0|*!sw>3U$5$2G-jjK z60Z!0@2aqbEKTa*p#TAq(SOTBo560=KG?}+^ZIdv7Ww`J>?_u;?xregXSy( z=f)Le(f%c8C3JlmD{}eL!?ipEUD`f4<3R3AYKXy$w%hcga&8R_b&Jv26nC3(l_5Gz z+FmT@_D4}l_AuL@v9R8A<8q*I{{hPAG1-ZdPy%6{c(+Sk-|kNXd(-(csaezlOZkO1 z%iC+(XpD=JaS(fw&LYjgXDH1&VUwEXnCdE?)cqw4rl^I6aagzj)3=1)Qe?OOgnhY}J@s+rhb0d|iLCaFcmb zpZe->PRmvydRS3A1yuSvc0RCPwMd$DZ$eLU&EwXv!rp<-epaDLs|Rx7M^$;ghz~>wNEcHr(b~w*sLg1?$6r&00T>x zvAh8iRlbH%OBiOBjM6Ad2^TWB3S9wXuubL7?J4l@c_|F0lIK`Z?R526-4pW>1F8I` zZ@(Y5d8D=WUj^X_sofzwNK-#{J#e84ygDSwXdd78?QCzTX+JAGEZ>xngsEfHeeID+y5fs_A8^?TmLk zCuhu{xrLg-QEtMiqR;kndvmYl>dk^3WTy=CRc6RcssV&pEf6M;A0kdMtmLJQe_f=7 z*P=l7`(gI;^V>C2?D*vj;YP)_do#&M@GHhhN&Zlhd{MF;C)s_I$)zPPGj?f% z1KJmau{I(n*{xx4UcQ87FvsI#Ye{GR$wmfas@uVaVp(#= zLz)b71|moqWaw}AZLse8*Sjm}X-sx{a!z{uJUXRMjnS_+8uj7%cC4L4kSIZy zh1<4m+x^vA+LTxTLox8~768Y1{ZE_-gTjQSBI#xZ9X21zKG`1k3}-$) z)o6Z@L!0XmPJHW<=0L4(cx=jWohA;690-;^=@V&uFFkQE zp&|a};HoBt99Rcfif1A~eC%uhY)p;fjnpFdWg&-U@4@d%=Jj1 z-zNP*Y%btwRyzY2aG%L6bYQcj@RibLDyalh-?H`ECh&fbvV}(Lo5N|Myc@Jy4r+vk z?_|Bvh6B0&N)EFNa&5Olw3yQo!YDDi(zFKW7}aOVIpm zbG4m2$gx?meU60YC(yZ%5lf{pjhx?(xoy{`)CJfkPU0~XFo8x0q zp>4+$_7l+|jbbvaM9Cm70-b8AUfMTl=xuhTEr~q~NXIYi^}0@g>~2Outgg z7PQ=QoqC-fZuP+4i`JPisgZwNIwqa_{B@CcDF)M{4Bv{H+X;&_TVf#o#bE13%#M6^#6V|!l=!`~cBCGq zhDb@XqYNpLy^e^1t0k4~R?j5y@8@gvw3EZiO$XE$pW1gD%&XR#YDMS$YXWYpd3|oDRxise{)_sYwzC~aWVWX0rdpZ3YP*VaEON>1XQ^m(ZCpAyAwq@a0?IiC z@A|Z>UVd#M#}^D6w-1n1DlxbB#T=h%yA&!O+_G|#unmk}Q3zDt3Z3YAEBVWJ+ z$AS(D-Uh@7D*$)2AIkXO2p+V&~4?sZ@MSyLDu-8|f4D2MR1Hti(4k4|AeEzQ~sWru>fqehij>O7XvOA}F&ety0_ zSnYUrYqR&cn?9?aRF@9n@^xH3p4-h2lUIsb?O=~IUkKz}@t~X7m0TiZ+!33{lib#( zsE{2|1tV;?Jg)2?Cb&rfq`-?5T=6f%L^w(2RW!ux2pC5K2HPW~`^(@oh*N90$Xf&y z9+?>8Y*Yg76Q^tJf8>ujJ!{*)Ncserr;dn2X_TMBh>Ce94=}X>237~3mx=A`{zl5o z@6YQmf(NeA^WCPz*P6n);j%qR(39Vh-Sg^Mrjrhn+>MQq7?wnJke8%W^S7&Af19I; z3b5njuF3#ESXYL1>M5rAO%;`N6gZf6Rq>1Lg;1%a1x%>KG~3KWE5R4LzkJ84>0u{! zX$PGaF|;iJ_bsnv!b8yCKl_8SO1RD58S_aOlBp;&QnjJLMtD-65#VWqm6jHKwIRcE zf1Y*?XR;`UD*C@<<_0OYJH;@dnGW=!K_w1rFZSV3H8DNA{sv0pBYL_R0*nkacrTKt zq?l~Y!(dB|;hH1#n5A5-*-!0M&OJqJ_YI~%T^i~JZt~*77a9)}X47RQn&>zj1FcCn z2J<>>T=rT)N7F^~nilp4%ljgS%p>fX+X=@{F4R-f#-a8atz3EkBI|{`HV)MZPUllC zUAeuQ(O-g^NU(Z!c}hvVWpEy4M2FF+oTH3>=!8F`xCWZ1BErO&?{+X~{wBVQK)C%r z!22V{lE2+%a?8SvT+JN&Q#cfd;IYPq0u9hy@U3AEG%IjUk_lT1u2W7|M1m{sA8S1y zZTz{h3>_u9g=$Wlg|$im98=}()DX6x~f;jls4!%)OA0A`>;*FImC&ik7PaGDMi#c!2PC|$HGS<2Yn zE2{ibyxNg{vPaI_tq03i8su?%Ykf3y;JFL5*oAX*su(=^9x7!kg@MBDm7G!*NCj8Z z@7^ymumloO1$jYRk29(1f#tzaoPE{k4xBZ)=lm_82mu!cv9!co_V&2!RjoLO{^uty z%*U%6=|i(#2qYS?CH}Uzfw4YCg~7~+;37Lt9rVt)O6qju0NpCRK)FXH!Ejbon?1fk zG~$&hY6b8|-Kl#IS)eEbBRkwud$O1lh%X5^!3v+VAt!+0Nw)pHk1?zl*#!1rsHU+h zwbiCn8;3XIw`PMddc%Hb$Q+AdvP$Zl)C!5Q#RJ#;`-&JSaegcM$Q&9PTGubs^2ff- z(jE9?c1U-<;riJh06;e%0HEiai;>uh8eBw&C$cvOzAIL+= zGv14#%m?NslnVgKl=Z@LioXIZ>1m)VjS$#9xq-m35_zz(o{*Ws;pn^Vk%WSz> z_iU#tO*5IEe!UAu6~DCEDu~(YD_(WcSD#N2qIt6G|JF-vnWlc72MtHUTOxJ;5>oOkh%M>pb`Jn{0Bgp21>68F$*NE=meT3v~dtl|J*hSjxi zTS$-)guXEKVPt__qpLL;!h+aG^1KL5lx9b86&2j2BGmoJVkP!CF3kK*=I02PPVT{cI4BNtR0=-MWn%pvCH04nb6f_TNmW+E2 z?z1HCPKzzbXYX#|%?-O=3ehEY1e^7}9n1QJQG#gRw(g1k8sJD%*PfnFjVbh<&;+N| ze)BuC)OiKfpSxxVF}ApMD#@f+G+EQ$rNIUhws9~TA2l&fdgC#wwl;nd zp<+wP8@R8XtT2n!OyDuGt!k$qdvdjQks;3RY4Iqo%dw_bFTo24!6yqgW_m zrUfSsyUb1t_q64SZ%tz|6^d<3j~~4`foQX#yW9|90CS>n0Dcd*LJR#va|?I3Y8}12 zc-3Sk-4jte?`2VQ9qhji7Z@v4PAy(N>JXpR5(E{x^4kH*aIa}~$S+$hn_{lr9q<=b z^|c)V=pWWEJj+m(h&STc+18{{$}>0m{1@zqZwNokrDCZqU&{j)3~YN=Vbw>Ufg3$t z)HFAygj<7i?tz`ZqkTjpXmijw`(0!1!0R#Zipi$T%BUb2)IsKt$||mhyeI`=8iLF! z47#ZVcRT9P1%zx5GSWdHS$u9+L<0UAlUT*n1JoBPvUj(`&zNB<5Ew^5qmBdspYT^0 zSu?cEl2c$~%OO2ce-t8=-Aq(pgUo_U?+aWYpN{vuCgWXc*fn?dbO{i+xD$3It?ir- zoQMoT7{>yV+7lLEy}2=$ydVy!phqX^&RY5OZf-{xq-CU(Fa>IxDpF>AXIkQ|<=D|6 z6u60ZJ(H&+!bN~#83IN)qeRxKBS%P4$R?I-aJcldkV-2+QB5bN;v2Jm-oiOn?s=BOv@RY;s%NNnlh%X>Z@UK%u_Xr?Z*gweH@0|)IU&P0Jl@kQy4>fT z$hE%446&30wg2M04;L+dIEx>d{N;(V9`Y!VG#9t_fEVmBEz9{?dw&Yw9CSm?Rl&H^ zmXed!Rp}lZmYqG_UM?!nVM4^Btx5e3-p;4Ga)phf8*|;X!w0Wr!PliXmMfi|SxLu( z1sJs7&fK9lliAS0;)O8$E>+REUFD)KUD?WQ?I#hOuG8-~v;w#x{J{|eFl%5s+ISYm zXcp$^Gv^9|^ZxT929&qt^9pFfgP!2lBgp%=QJqbL*yDn5+NoyP7`C)Izd$HlVEWS* z!(;!Uk>hw0K<56;uu{=(m7jJpC~mTcO{d{l^$5_`z6%^<$?CoIO%XEX&0Rj8QGuZ0 z1@4aH&91LEjhEJG@u*0|?@wo=zm3&hpN{xw>_W;R5wn6=Iq1-33>r_VXHgKU@p&2CX0UZu&EI;^`6MOMjo9os&>fcmoN0l}y_{wc0VqiWOLCr!# zWy|-~&!?1Tb4!y38 zwcyK_7b|GpH4l$1DI5vwdZ4pY%yzGKP>Y|k?Y}O``)w?&baVw&==7Z|f3=`G?|N*s za_#>KTk7BWlea7gx!n~8*M;$%Zrm*i>_!9a=(35IQu8J+TtBIj6lB1hIB|CX;gXKn ztkOLsP$EKl4emC+c(yGgqG-wF?JoB^m-Ac>hD116i`#_|TyPB^US|gbX9D`NH`S#B zvW8xs(C=SgL=ygY@6i_F+7um8=1Fh14VycQ?Jtam!alXeBa^xj(ghUh%D5qv65FkI zp2JOwd9zvPN-n)g*9-NCTBYwH%83=-P+3@y5f)MjCHR+))Eg4MuOAxdwV|{Pd7M{o zpX_YbD9lP1PbONTR|es3+rZ6x6lw$`E7ok9Pg65#+5T`mBkJ9p8>eW1YU*XA8GJ=* zMAHG^P^nnD@CM7`=0!arv@|BXn50xzZx$VSY_%zOZ_HojAO@R3@xAe?Ybvo_{qYL9 zUDJU02Fr}VX(?g4;3Mq3 z)hR>h+6{zxsk8?qz@xs8l?e-E*rD76KJ+V_@=X=b`*kV07POl!;D)ADdYW6dKUWuT zEp6?3M3r%esMuY{Y>$asXad=x6N;v0+)`}2G7aaa@bdYQbXUOoiqY0LJZcmnEZPxW zvM*F`g=6+`AlJFP$3x~9&W&q#e?bu~D^MS?P4{C{-%J|<#oC=`!{5SAtYb6Ljxhn> zPzYfK+#VTbbFK@ZK7w__G#7BcjS8gaXG6xX{ObN3#L+M#EEI5sdSuN5<)?rDq(~lQ z-I2mT6Co(rR=D&=?Mr{Mze9L2fq>jSIy&Q@NY1>#!iiX=mYz@1uA}vW+dcZ2$;&Rp zDm#m>(-X1>Y?2hs69P&RhOrQk2KCP%EEGaoF4@LQROA9qNGkKD5ij&Y-4TRJbujT@ zw|Pur%~P#S&zGOPZOP^bHANbF*DiPg{hmhCFNS)TpIJd)ReFege3ajs-|E|x8(Ih$ zUFe&?uiDfesKF}J(=zoHrp}39i4%H4JY;bLK^np-7q3m))vdj(d3Dc5$JNlHn`Pz$ zOO?YD;E1}MlMym{VpF_28dzkFZUXOU1@$fR^WHs4f*^w$A*zg;qRVq*>a#q=BOd9% zaxS?e6ax?#Wg@K=Mj(v68el(p@D(ip_Wp%F7Ir-V6NN#{09GofLA4{LancwiRyYk)oes)?9E6=F?zyY+b z6auT=DO#FKV-Y*v$DV`gh1Jz~QZ^C?RICg-6E&*=x^w-2t(q0{l(KtkFy%ccOFtM` z0LdlJoAvQa zmVIa87>8jb3^K$Nla=@IL`Np>XYeHDYNe#misYL|;H?b&r+vu}<6yAj?8CnJObk8G zYj)nd5&M^+Mq;n|l88#>OoM$#RO14%9W=b>}4##<&zbw|9;Q?Z&dKIK*0~6%k-x!pIymiX? z!+y4fX%#8jpKFVJpZjB#jK+hDV+jWXfDrM(w}PV@lj0HLq8Hi3=PzAWrFC6b;A)L_ zKLTOJ5;VdXz_4=qKxH8cfy}Z6gixrKYYe+MU!xzNd){r+O((6OGm`sDaYYgD97_s8tamyy$#Fal> zr4BRM#B2r(J-Oo8!x|OM;S9pZB{M9nI4XBz`yuocB1AkW`jAmyEAf0@Njg6S<+EO* zuC5`QW<<)r0UahS0i$& z%!E);=?pdwF$&U;UsM-7eib?y{MQ}GZi!o5Ku{16 z&>~4_B3uDZfe5FfG6I65$l6z*u9JtI%&Ds>)0fvQ>yxYXQ|@18>j zwqRqPj9jJ8rdqOMrqfldR`z$~tAQ5bny5$9wy^l(sii&NMajC$C3~#z)yTUo&c^pr zmpKXX*4mdjQ$V(%`85W!l4-ZzcsQZj4tLVjb=AZX%5%VhW!r{I8n@1X+|fzyY2R0u zwtE~2Z_m*bjpFe~Ot|@N8ORady+DGfKh7GL$Wk!=4PRIe)#gc?u#PXrIyqX~m}9E6 z884aPjyo#2jHPkv7$Epdm{7R~&HHs&tu?BghgB8Ow$)N*?-Dff?6<2HLcRwoh}0^< zqnIZVWUZg@S+eoip64I5bDx2$6S-~#n-IyzVdfU-;r6v3m^YovxHOXfupFQX zj{Lg zIA5^TXA3pXn~esU>ubHuLzAt$!zZ#l)VT0{0K!PnYZ!aYwDm8Yh3KmG7bg;mugnF> zJQEJNj<6JuQYilTMfTl)Uy6hnBloLExq$+;JdLhub^-M%x4E-66c78oN|5~}CBGMy ztH!%^fQ%zzDDiAl+)R%kliIrhprlBr;tDG8lz^W2Q~%x*`#S5hbWb@b-gPZ*i^%9do_!=O!_#7`f1J8CpC(rGIn zF5m4vDOH9)EO%LtaB!%N=J!#yh4s2m(*&2j9w^Ek!b)RGc(HYObzr7y%_bCNkVL&D zG<@eYwycF~(;YVH_7;AL;u!apAzzs70-hIZDRN^O6JgsUurkdPSz?9VuPI&|VE);{ zBN^{}toI$Q5>0ZN{0v(St-OBpyeX7c z=Xr67)xGNYSCr%e*J4A-N+FERndBaJwj^t5 zl96IM8J+?L#Pi<0K%7zt$_8`WJfE_r0E1Sg2vB59;1O&HBw3AtgR!ys0rD8D$nwkn zK#mrA^U%9v>9A&I8QQJAc;?}&tdH8Ryv~gZ6uy?s;hdz(?Y9TdcEFTBSyEqTn7LTx zM~WV0>fy4Pb$3a!oh~t6?T%9>XIM^{VR}}}fvUbLHE1=~oCzE^d{XSoOVQi1*^$nM z!{{YX8mi?)U~9`Yo(OzV_Aax$C{$Pr_m!->EO8XUgYu0rUE>S#9P`f4n1+}Q^;DFd za)P~sDzJPXVdId91_4PCN06`*FbRyp?z-33w;?y*`HPeuf6BlW!Q#B*1yXGcuk$QZ zOxlC{l;8v5iaGi{#YPU*s}t~<_G}>K!!#&UdlLN>6(^wqW4~8q`45OOJP0>dBQW6t zQkNVx4}o*@>`+N+>i%ua$*gaU3P$4AUV`;C9C|DNX+YUuu zk4wUYlr&UU;FAX{syXwnKQ(Eu{k1|))5ikZ0mkDjugVe^pp8g0cRmaN0O^GiwAf>> zG*WCP>ICjT&1BPl^N&Ct7iWtszfGKRV=Y7GH^I3L9fGYHv#%#(Dh&7t?q&Ky64$Wy z^2|Qe_(UI#s?uydOY+tba^EY2J)beG_$2M9h7AhXN*g_Gtdt}~!9}}8BRvTm)5unC zCjE#Sv#$D`yTn2L%baypZYR@jEfO~<>@eHkv{J7kh2?=i zowg>yylPWn)TegE;Tf$?*GrcFjD8=WycKF(&Fb+Taz@CBc@Z{9`>=8gi+G|_wyNAA z;lS9t_fs1gxUy*&f{Oj;TrO_fvOEE$j}k{ce?3zWx4`ruRCGR=)IHpbZ^X0fZ+R2r%WPuyh?J;#z++P$8K*ZjN;Ck_| zjDEeg2;vxU{-a2S``g8-S>&+S?EP)YK!Yd59p{S=lt6i*&(VFBdVNY*j$merC@8Do zQ7`^(;>RN@2rA{55pyxYym@<4FIE~-1bcGeq+@qvc(vjWqk%aqq%iVk);x2QwGOZP z7>2Pd^Hi(klApZUX^Yp5jly>?O+4<^RFOU5*b`}`7Xj4U5?k4vDP7GB?ruBO*q+~k zTn_h{z1#8gY=tA8;}bh6de6yh5A$R6ATnHW48XWRrT1P0SuRF z=d!AJRZ&U>j|FK_bt{d$eBsJ9h-2(Fz$8sLo_4C8h$obM z)L7B?OdALz4E%8;*|SQcn1uSD6&RaC4W$du&U~7HK}q;5cIF`WvaPW)p0Jsd@mD%V z!=&~Xo;b?reSN3U^_%6{4kWo`JxV4Ctv?o&Vx4X%=86GbH~L%ybNtvy&!D4O1R>L; zDOZR}=*}k}&J}4Rfes;#N@IoOp8CH%LG}W3Y^Z={sm!MZYB}N004JO^>ypCSe5;|A zBh>f@(MrhJG@YtScZ)73=?+98N#GU!jflf3DfUj~NGsr!9Mi=@v^~h1b+WtYcOOOY zUp+fF6I@a>d|oHDu4lJC)v_AydFLCw9EkQj`X)`bmmRgc4(E+se#__0U44S9KjBV= z0Ato7&X@N?RTu-E{Vvs1x=8oWJOjVV7uKD6;c_wPOGWx?kC+Ti<=25UiQ1|Z#KgK0W7U{da zW0CG+L$%Y{I&YIrfbv5p^i@P;UQRk@FpJ1Qn4?UPrMm=92?jv^QD;8B;?}N7B`9G+ zM=A*37GM<#9_o;fiE8xy80bg5Y$rte9Fq>O2ETDVzCKZ%j#pKGa|#2ohx(`0CpRGv zEZ-*8^Pt@tsU&~-uLX$d{T#ahW3SJuUh`-2(1gJ!9Jo zp^q9|dZ%X;ZS((fRqcYE0m%(~VB20CIbrG)%V?0qf&-X`=dpbbKU>;;WtGP_ z^8yr;^kWC#DzYk|S8Si}c;z#m0qca*edXz2>#nB@BC5tuAE-+q|Ea5rB62!!rHcLq z{p(w%pD&eH>WhvsUJ=Z*!SP4xVd*?e-Kc_Mmm;;^M7B*>! z?}X>g=Fz_!^FG^7$r;Tn)SkzB@Z;DMAY14;58c7?gP&cVLBuvw8|YW|%58}MJh=3<3r4pC_pNO#8nV|1Ydi)pT>n8$Hg4S*3qjdLjnMoNy}Q6{~OM3&;WoS z&wu~`ASnN8{HOAN-Vgv`6=&LCyP4{`aR30)82|t}{|}Y_cN=H5C8wPsXEi-%HTiVL zc1CXh-BzrutRhr1n zMNCYc&RU7LJftAMbG@(YIfmZnE z6AT|Ci;%rH#7RFzhBJA7PzzPEppMzj#*BA$?4QT? ze(bBdX>haEzCnE--5~wO#`gfK@eBy(1S8IaGq?(brzo4=9FB$Ogpzib@!9R`viun6I6;QdflN@m>6qcnJrLVrsd9XBG*S=b$`27 zS9mTrB0xyNw)xhhhAA>J*6y`QK%_1Kr)hA{+6q`aykY%Pm$yUJWe(XVnIYfr2X$Ma z9Lg#l)h3dHb@D5 zFpym--FSlpqRWxn0Z?kr0Wl`fu5HRg^x&19gWz5+E|j3=WqHrP@bs>*GH8pB^(p00 zz93~-W%O^SbkAirirTBK=QRQ(0xh42ZB(})6~E$}1}?tP1_7#T)!sb46vH zX^3SgC@aNHNTJklG~r@hfi5I!&JP9Yjew1a$+pIj^cCjopZiEZL#t;LHK&ulNJf!m z|GpT9{6=&E$PGfB$Vu$~psHXkCiriBERfliXt>CDq7aaj79C1@fwRs3ROfCt<#d{t zxT{_Hg`}AaE_*KwSrGI0kGep;M)i=rD;5%ZtV0_bizYrlVgGX6FdvQ>f1V)<jAva$eTgAIf32M_6fU(Z-i^k$ zBK05K5-Z_+zVC+&BM&bVrm&zM02vdYodSiBK3_`7UHDDWrV4&KkfV( zkxi+(&92XZW9&&*V z@G*oc6=FOkdb(fn41At-Z`aZh;rh-<#V7c;k^VaBKH1p(W}qE2UaEKmy{J(k*o^*l z{0j*B^ygQ^A2Z*1>Y^>GqNYGNy*)J=WJ;qq-I%Brh3R`>5rZm2`<)`LyJF!cJuCa1XYCTdjn^GId7+spyU?YyF-qgI;2J-7SWHwme)8{CVvG zjb3eQ0*7RHL%;5M9~@y;Yu`sr9f)p&F31?w#KAUPWAPp8$GudLJ{RI8{O=ivD=QGH;zMj3{lan*6s^><{HzvwaMy6QBUinr= z$N!X|0aprxa8A%ZQTbiiBsd;F8XjseDzZRA)1Ki&!vn!%yT_;J{)?ZCcA5+jL_A>o z@9O*oo#Ks!&aw!!Js(UE!O^AcpaZGgNy6i413AZz)KqmhZ#ZSTfsK`CG0e~fUSOo= zK-?1L2l0+QnU}8AhL1{7vtcj#160NM^hcm;RtOf83Apa?4eQ)I0MT| zJ_Su#bG526@j^^Ofq{$%|)Sez;{v_XDE+kRx+n4M~Y>=6d#nB(r3R(n`6Kn&8=S$vHKV^1wc699&ThZd>Veb5bI9>$f52ir)K6TZ^sl{Af{CJkOW`$vKL@)|M9LyH`|6fF_L1g(I$| zEQuu!NHVEIF->OO(M^eW%ZOSh4)SWEOrI7XV9eK2iVHtX>br-}2ISbCyn#V{f=6PA zwm}L7Is72}tQNA@B-afz=tUamSO)|3DvGR00+*krPnOf;OxC{Br9xeNhSWp@vOTuT z+P)3CijotW=t5a!-g`KYUu1@g<(Ydc+Ml`EusdV!N16-ABq5t0Q8oi$;<1Zbl;ngn zr#82vBtQ-v>;S`XGTY(zs+GI2Y5na--$uuIzB}Cg}iEd`etrZ89Q0b{4+wMLq9Q*3tHRR zDE=?%G4y!8RP_d6sp<_Z{Q^n=-=g|5VX>voTtc8$%k8C}dTIW%J8CR@Ue4L^Ct`B= zT1c(w^bYX|1bFEV@><(_ewk}&zk!O|{PDrZAM#nP$Cq4ghje1wMJBz!CD|mH^m&;g zZ)Rk!9w9!Jmb!v9y$3BHHHx^%ELGF=>vXQkj941&jb>iSM2kG^p!70h)@!I$jahtY z)c66dS|O99temQ&!JXIV0n7JvAboz%N^XtZJ)#CcxjrikikC1{%iV#j!R=oAn0s{N z?&yq)GYhmwe#gAy7}v4#(t{o>1P$j8yCza*hqd?Vf&V{i;;PU!1rQBfcKxvGcWLlT z^l0($&Eu2xU}Q!1XR3tnj#<@pBh|ck6B5HeJjO`mD0<|j6sO5{QxR#*WmZ)v6e*}Q zva9D&1WZ2NhI~A2;zbpfk5GM~r)f4!ub$csso1(H)Ug#7P-|VIY$0#6*y%D%)qA=p zf>iJF=fGa{8V$F>OCbqFf)wY0j_8?Q{9At;wqZnFJm5o$BlU%qBIGJgbrB0QbfxPH zzf;3B(ChN{3Q#3tqPoL&kST`gGV)Q|2G~p46y0GWlSJT3-@+1YkW5r`!NK&%JQk4t zcpSDzJ&%Tqq`BKcHIVBPpY)bWxL+B9q6t7r&@qvZtIS+b(j3DhXnlrm_mH7m(|du! zFG+1W+%;UNJ{UL0c(cfqJ3?m;s5Ca{0r5Jd!MXVhxlktN>DXF-0J=@~2d_sMYP}=Q zpv;X_P@1v9#f3@5yE}RaO=oc3HcW{|+(8b1zLj@stA!s2QJF!7r*Fn?L5B#evmymvlJb z%-;}(0U&)9Yjzl|v=Zlp4*(om^+rBRPC^!(8Ar#;rBf@K<7Yip!Ol%X-Sp$(cg?EN zstTE|e;@g@PBv6xJNzW_HEnAQ$`azYH6PoeSL{0%>6P$qF$dD$yp2nwmuGf~jMW>q zwj(;myj-WCipYr*{A8YzHe#CoUAT!^1{qDD6yiehiA>U~;VS{?ej6=f@k6WIDbs9d z{ASGA6!ZV4mJ*@1tWzT5=;lr%#T*IvyK7!OBZzs9gmxOC%l+Z&0y0HEcg~(;2uK(B zbeRI;9k1e|Y(mSE9;W<9Myrdwn6(MFLpE^f25C-xK>tj2yZ6s?@MPAsz(+<5>>O+Q@pZthJ#o>trtRGrOf!}WH zYz8xX(WfY6Q1n+dEH{}>5>(_CioQ<;goT9`1ed9itw2gE{q~6kGOa#U*zy!SUQ78+ zsfecOodDhCa`2hja(J(kUD3^x!73+h?qR9Om_+4%>Fk<3D=a8BV2OJcD-}mjp{w?bK zFAc$uF77n+*z-PdpkA}dDef;(;(>!CyGChq8Eq!FWENs#LC%e=U332D_hpxAz~&0` z$3-DDfA0yY>VqkGZr>_UC|w0C7}z!`KT%=vFMX-@Pss zp~>{!!8)ku{FHBa1qdTF#>e35yicm>DtmWjCL*jt?2|lE`w>a7KxwW|=0nqsGS-Xn z3YTYU8MSq43pgGvPUmz2fs&wnVBNk*CeUF1C9dR#OH4}4c^!OVPI7-RGT7j?n3G!&X$Xj>vXzo*KmSLY z97J0q0vw(pFLorcW}Vpz*xa~NTw%t7=7@x*lZwEnk<6=K*Jn?qx8`>)>fw)l zEMJWLO|zW`WwS1)>-{*{d-uZ)wLhIzcGi;BRt3NSdkTP{e!s6MfBtlQGq}7}x-725 z%%WF6UtIk2&3SJ&1_*}@o;)A~sJB3CbL#Z^U_L3*8Ko~$d@f_2@;=EgA7dw?$!Ks> zr30%>E@y(OK3tbrD;Bh6-9FBT)Kp(TiYd>x|D3vfIJcagWGoL_>}EZl`rvP#LXT!X z4i0_Tf7U4=9fmwl z>%-LO`EW*;c5cSV<={)kNRLvG2oiO;&D-n!Z!o4w(C52WGa zF6%CqPGqd)#`A6O#3=D9@*(Y>wau19`~z=L8_Uh&!wu7>b&jet%DKXN`PhY}H>6Cr zuYcE6kwUjAJ$~)I_4Uf|Wgq@k*FA3T7-AlyJ(!IARpvX@S=8>r?@>6hUE;o7h-mRx z`}(8e!JrS*Kizt$RT;7Iv~srkjMB?J>x^50b@s8Mq~bD*rS*EyPIwiaCK+(KhO+L{ z9KX^r^m-qqdE#|DrA1IyC|p+%OHPT|Eozuc8XAJmYBBw3QTeid@p6Dcdbv(xMgsKX z{!7R1)D!*Vh4b(+HT`JpqxHFSb^P-gWk=fqWfwh5miheH;(h$sv@@N3OPul3(O>`T zvpG?!G`WdaUuIr;{^NISaD6s~ZQ^Wq2HA0KQFCTCvQs{NVWa`g*4_rQHG1;O^8&_F zKCgwGlwbO6nrvZRp9W~H0u3QU55ZVFSBD-nfeupa36zMOe{Yiy^R^hKbx3zfIVl^Q z*|p0C`HyC%PU1#-TR=>LrUS*^qbI|_SsQP!o1z01Rq|;aY2umMNLSR|rPd06UHMqV z!3tKa=!k#mVA4r$^ZgS^{UIJ9XzpOj*)tf8(; zrFYlOrDw+kLC*YaF#?zC+DG-#I41zVMxw?JvVqgVEq1Say$C(KHpbfwkm=HnA5o!` zd}szz2aLeFK&@|X+hcymqaqxo{E5=!>Z&JK5zm?vS2D-=PJNPWwkbh_opvL$0{qxGu>8oa%Fm6Oo zzO$K^^YpC`6OcW19Y_$6DvAWeZ+RVVzdIA7xN~Gj0RLBrk%&OhxC_)ST@WxPKUCPJ zpx%)OJE_mo?ltw5VLb$B0o4$}<`A17&=s+bOPesr0k^Hx9FHP4e{+kyOwSvpC(9dx zvF#jVhQD5~KT?}OB=pxh$9Hq$$1WG42PvE1*YC3Lc9e)BwBRWiD;Y%(?$hpCg%m1^Yi=qe{uYhzN>2q{z&&)2a;iwJ`FYY2ELBuo($$0b^o}(>bRP| zVHWJ|&kTIbdUZJW^V@ftT8kD1mc1+QFYdz&MItei6+a;t&d)EF<6Q>t`pG&hE*^hr zmf3-Jju#~zu~vesH*2>qq{b8TO(e!2zTBd5itZCQg=&^B`j&4ncLwBmGJ1myZywfP z7HHy+M1i)m4LkBJ!->THf!;QzDV9-QHJKK@b491MDv!G&;FnYiH@~HY7SR(G+rJwKck+ zaZ*VZChQj}z+Twsi7#8cOrDFa#>0;7G8@L1ab&!v6(_F>IStV)Q5}skbkY+E$G@c! zo5rEAmXuthu;RlQ#h7L^^Te3(8}O!!H4@kZHpZu z&X^qTxb3p=c{W5EZe#?tS5?RJ(%a=4wMO^*)>H*z9HL~zZDm;($PeF))RMxrt~sef ziuETd440J794vTSUQ(=z5$0%#2%wABD@c1ZXa?*^aMk~CGuIuaUv(R$UhIhImG2QG ziZ<#TtjUh&f!{1ZiCPB7u{w@r;W?pbCzDsg^TKUq_s~^D3LOObaWxI6U)dX@U+(Pe zQCNI2G;h85+iT3fV>FJEPKF)r4;Bv*l=h(*n9&JD3m>svcF+3LfTX&wqlFy|%Z%|3 zomig!~~xJ^8Wc7x*T*m&BAOfWI_K}G1zs>8_12W@a7}Z1|nca z?_tA?%!nz~x$o>`-mJ>AV3rwKk7Ar4IO&B2MC)iL))$Y2&maME5-4)Vl4(zMOi-Qq zvX*N7@bEP4*SOlF3(au+LZ{swT7ueZezF<2n%6I)w;DW{p?WW?`Qg zKFE7EyBe<(2M_Re3ekGvjIceuT5^;R2}Yl&P&>cGvu>NL=fg78m!T`Yy!IkFe648Vm^>vCFWP|D0`4DRW@MyDgr}(h=20pNn&iRV z<_E4(kvdB0okwigsS!DPZpr(7C5Ik`1gzvQ4%-1)I0cQ@bSghL_a>{9owb809Z;2`G}lYXBQnYr$}g?ut#R#@W}%C2s5RgOZMRy+OK9+zD@A6}=f*`X zmyOzVD;WawCiuqE^3vt|=MLs6YU!rDCH<9+!}==>gULMh;4n+bo0qB?(wNwjQwS!W zfC_>Sl<{PS@3Z27X6;;|ms{PoTf^tK%U-AKN|5eM(OnPf!^QeO&wxj3O>1_%?}EW9 z7abWAaUNB2gcIwpuFRIl2OUl8)_o7JZFgF27R?GhM|hi?yc%2nGRJ;MV9D_nV!)ax zDqN*o!Xl;NjR64_P;KVl-%_{_jVuXyiUM#+&yW0&aFXLEL_=6y&Rghmpqg;L+vX8{ z7s;O?C=WNED^(NSwR*JK&oj)6SY2^;>H%Ig)>|0%bnmc~E!UE3!lf~=FfWjf{|-%N zZEa!BW#2y^*UjMA@n+S)i<@#^mi#20Dz@I~E2xa|TaQ{b3I##esrH*2ql`M*CGhU` z{S4S6(%k7T!Uh?&$KJfB!Jryb=4;@&v_<7S#)>MwQ_E@E5VYNCeADiOVCfvF>JkwJ zVh12|IocIvv&RNX_(yz(NXdQ2YcaCZ)Qd{;i4pjQ@nKrtEUnn-Z1k{Utx-WKdP6~y zTM<;bD=CAd_i|N4UhDd6CPPEfi4_LYRia5?p1mbPL~Cp3)GmI<)UIs+Q)I?lTY@{U zy+`|7Q{q5SoJxkWhMm9BfCOIo^4l!6#A-`oqeJYE!-pPcE4teF`n~$uI3;2!Sr2Q8 zw;<~{lZ@|acELu2>UiVJ69!BY9+On(9AdSH?eGutwmoR+_%x~#@%?e%myYeoB@Eit znDu|lIqh$GsEgSSOiVD`&?Dpe84hB`Fc`rOzgl`6?)ueuQt(it>BBf11CpDos86r9 zvS`t4ET0G7R7i9PP2tB*(@Szy){enGTRAd}!l~PRUjT0_VF86ZNdtQ5)v+8bo|-%_ z0JW=~yuMNOGCS>|mtrk*L|PbOK8#`6AV7JmC}nyiytVF=!5=`KEp;>csnw7kX>x3d z>*T;2s(|A4v#dz*)N((NssV(b$;I6!dg8k15x)3jB>3nUdH+KjWEwq9J&KelBtP}^ zH8p6w;zGsKD-kP-ib@)#ptv-;V;Nkb#BR*-A+JxG$;p`I_ppUg326J?&E=RS-$Nc$ zZO3nQ&S5&SWPE~&dO8X=yi`-WFn+cOmtXy2J2YscoMBVMZ4C6^+0$H zke6)kv6AfbOR_3RvKi^OhsUkZLt)BV(|8X;7VX|=()J9cF9o#hm%%sL)y|~SC;H%a zx|hAr6`kX;z5leiPW2?j%=(1<36X7=(QrUf`PAzYCLjaz(?#jsvEA$V_Q91?Y_P+$ zbtlpB(8C`}dXAKAl3l~(-w`+)MiM25yW3AgTMNKJCY!Xg_Oc|xZ5Mn)8(AU_ zdBH1&6VZOHFgYgGqrkG3>8niBk zQWUl+C$WXO8`Oa;;&4yrYP95PHx=O#v;l%2z=v#iRui=0oV@-6GV}#<_XToi0>cj3 z3z5}66{T()$H%FB7hH-jayO_^GR1Fm2Kt(o-&DfYbVkAjxZ)*f<1lqg>aY>%kK}q@ z9k}6`u?yM`XcdJPBXSf;Ep;@3ZMy^J$EWX)#O2~xeFUo{5PnqAKE#UDQNy;jh}|J0 zXv(WyjWq2cQ3-xz#cH1!G|;AC3si-ZG@Tyh(C*8YGjR=63(*m44B3GJEc-T{4a!8y zZf7qR622jiQV_a9YH(y_K zY9qEV_Ah&I>^1%(DL#H>+@^4t9r~2wh#f5kM-wcF9iWYE*mf2+mu@BCM>H9e+9C1g z+OGdsHG+J$Z#({@I~g2CeY3pP0*2P&@NSq(__Dc6tW_`*9 zBdP%I0+N7?&(15vQ$5w~!iKj|C^VXm(`rSQ)dEd7Ngf?5v}NL7nA<+TUSH6Lau82} zN6(n~nHxkUu`N=ozRC(Lu$-1fF~S=$3abP$SNgy+-DVCod{}}ag;!(MQ~Im|BqZ8| zd?g4dN1l9uz@t^FUN6-sRGSHPvVWg8lBeUEk3o8(?M}4h6ddkO@+xw){sV09e!jOb zy0}Si!4o=|AYTW{HP@GHUdka9mv({rgk+UqMHck_#{JGnfv#NuK38Xf7t5XP7|@NU z;p3R-ghq{Jv(;d@I2lNXd<*h^7CSFQiY3B*#96#iNuZ;BLsWep+UAFFv1$Wf*v3R8 zzm6PD{7a}iw8})&8#?33FJCk$SHTYEkfUwIi9DTJoVaskdAcexWz_p#EJ4JR@8_p^ zE=uIf9z63Fr6GTbEKB$=kyjoaMqJpdB{@1ebQRPmL2R>x^JTx`#V$=W@T-bYwY`Kp zK+6s^$6+w;6}zE9xpQ^WgzjuhOcdx=;6|Khiyy0o&XK^+NsDsuA76r*{Io3O2^mdt z5AjZlyKa~sKz>aI4 z-W=Wp4%n8891g0RynYvkD+||{h~B9k#vC+UpS4nb=c*qaCeP{g5P}3kHJl$b_GA8@ zetP-YpRX`nVy|^VvC=R>d{Q>1@aBQVwhGDSQJx8RxQ9q8&t~;LPRMs!l%2bHV)0Tj zh^KJbBssu!(gcQqqTG*!tI8-^!bhD*FCArV%^;V2rBY_hyy6}&=|2A>rI&z@???kX ze+L&-H@%0SrlFxWQy6iu>75?Jn&_|zY#4W;eod@%hGJoE`7n*@J$A}`$3X@e(Cz%N zPK4j})r}G;>4)sODX1tY3SiJs;!j13WH}M|`22KDka?2!g;HD@XTl;v{PPa}?U-yl zN18kZ#2Ejo3B4Q~(fThc0a6IBRa2L#alD0k2=V{$0LA^Ar|sG(!uM+3wHQLJmcwZm z4IM=p1o_L7r1>L0rF#nY`Wj&l?RJIAy_vlsDkTslDxlL(a42v}APd*`zLcNL(7aX= zzD8UUt0TxpYxq}WO|iFFVkXfR8X&}*M+qn9XATo6fFp;@*Da*szU>o`U#^}G0+m6i zS29@1zWpyYCXxSQ%jW!lu}L5s{kb01tqwnX)z^u!&;Z5RI7;3#KeQZ#`|dfUJ!v6{ z@Nei$tPtXRR+)T-nCv^J6M3KC>kbqiMb&1O{g70c7t%8`aS2&0;Y!6SU}?LmLkU#+ z05VUHOO9O(QM`Q*Z^$@H{Z#)2eNJperWEt%!gbmIz-#+ZTqweS6DeDgHORZ9C&z!o z!Q)vOMwmk-57KV!EiJ+yNQiHxO+!yv3_;FaX_NqE)gU9%orT6T9%*fjDF5dOafb*Z zLji1~06Ia3M}|`dnZJ4oVZbm)_56(rIN}`F7*9SN=)LunzdF3)|1+Jd)EqI!GheB+ zsAh^q6@)l@uK$oe+}CH7+iFvXm!~Q#kBZs`)|104IZJgJ?Wy%4ZPe$IWK-cyv)CyTLY|ko|Xnw(JdJj$iqio5$5~b9woMVXFTP*MGpNlMd^oK!^i#D^%ZJQ z@vDh$LXPVX7F@T1$UAm)-N?9Xpw3pUWa=1;qNAl*Dc8M?m)0ixbJ!XfFr3m#C_?P+ zuM=ksX6vlRncPiEqAbz_wJ=b|l`$ispo(lhKK@h+s$UU7eRN*)XVTgPWeq7@DDv<; zU@UM7H@*S?4-p-N>%`70l<;wD!a52F`DIl0F8#ZhRA`P?z$jUm!uyU*r(OEAbJr@8 z2nw6_NkfLK^QEwXgxYP!40k2jd~IkeC_iz)b4Rck;FT8`e6Yr#wt9R61}}XE&eI(r$-pxDkGrcv94b39vjKEg5#4 zpuf$OAcUcep!|jbr3nxi@KK5ALe->o)nG(S*kV_ZA;^D>Cv4VQ4pRqXuLFpYq2^yk zMO)RNcRXOv#|55_q?4MD7>s&6Ua7%&g5w!5>_1wXj>TS9 z*KLFR<+~#RCI;Az0^`d!t*8b`Jykgg3bDe4%`I| z$QwB$rONpE3ffG0E-n2Jl`?&+l6vk96^r2m^OYwdbO$cMQX0)|DB5&*%_|BA7m(Cg zph=+IgwU|o5&|PKP)LphbMjoPdFgxDM7JfuSBB9tx}l{J$72FPA>+TpPttqcO&Ryh z&PP?G+wMea6jxb}iy(baKUIu^&Qj5Rt#>YS91zwkUAn@y<7T7SI{eV=!(ZK%ur0yJ z%$8VMkga^JO4zzd8zp|kFPm&C#*L4u9Iz0Oc7_>y?xYW}2$Fyuvbu zI-C@F7*DEy>M3<-bJ)rL)tnSZOlk?NDT;L1&&X>hyDJ@xTh-5jr9ks%|2r5)Kga!C z2jgM66|GGPTQb?CL`FQj=@(VMk(FM6%}$2eAlamO#>n(;BD*P3DaqIVx=s85_9E|A z)q{)%O+d91O+bW0;y>*+6cPrttkpPNcCysFNQcamMn~6@8Fh#Y-@f***u)5ADDkaR zIZXbJ#G<~B#0quztGy|KxGr?0{ouKuqvoev#vFTm?huvTq^PpgA0=G^V0N&Lj@K#&{dE!9VH&4nv(12ZG9i!0dE%#ns`X|UbP)k zfANSp=R_Wif}x$;scZ1mO|9(7)V_@e^Rk~NShaNYMW!n{Jnq;blb$Dam3_Su7p)?Z z99XrmI)`R$6EtGiHh{r8mGmCvH5~`7&GPsM#g+*^J-8>@H;{o_{xO0@>vx5W70&uS z+FaCth<$#cF+s1eBCS6&3HlI$@1wvZJXhfZeAO4`VH0w6N-?Ro9~3A1zPS<^`;#L`^d*vOn2gj6ayDl4BoIXFcsvx$Kg=GhLGBe7^dOto zO>mRCJ*>V__XLpyd26?*)o&B%a8dVs>(dYWLoM|e^|vo-aH&5x#PODmMc5?0zo?y! z#=fYzSpTM;B|(dT`@c|MxFGs3lI0c2a{+IPR8hm`MD1Tkf>Bc+*X;i>*kwOgWUe5yh`Xxc{(S; zU&@1WThtu?Z_2@>{wl9`l1^DpK&9mAP{5>0b)AB`woe+v1vyh>g8{rO&~A*E#!lN< ztE<7XRYaF^>*nxOwbjk*vp&?aZiW)J5*)KZ#{?KUu4$5Lo8hsT#YMP=EZpy^%p2>z zGkr`hV#n=EFL*BHO9HuJ53^RgE z*#(YS$s-(b+9Gfo>GYeF_r+;xK03r5Oj}c)0JF^E+n`Vpsd<{w8j{RhXd&eCr1C_Q z>|8-nX;y3dHgm-*Z&un|{Q-(FGpz7jsYi*%Nr!S+;k|DmB(o4m`_-mGh{&>Jw7_E; zOK9Op+NSH#{LydbmS(cFLPQy)>dcZf8y~B*Gvx)PWVXygr;Q~wm$b!Z|Ik7|GYuyj zbE%Fd=9zljX=cBJ>Kg}LRUA`+9Mk2FCfGdl+5G*M=mZs$UaPNy_d zp6~bb`>;jk>yK_r8HFrW_<82N%;$gV{iZ%cPsQAt-Fh4qlW#+IqStik&D!ufYa7r# z`@H5DIpE)C74g68nG*zIFP5k1rlA;;uf|W*QF{3VjqLC4R|;tEL%@KViWo}UFqqm9 zz~Gag>DMW|Q61^e!Le-!w9Dfo7hAq~`hlFtWJ6*l0C}I#h)P*QOHexk!~*qzBX9r& z0w4nSLf8t#kqhWd^V|AsoQ~iUfu;;0sOY(`7@P!kHYYoUp~};Jho!S^i$1spYJVl) z4zj1KvptdFh}fesSq|VV1T64v^#a=CPdf(e_q_triXqmCL1RW}&shYn7;*(XUJ^~uk@>l+|H+#6df0EPD>q4f#CIfseK^q(6^zs4xy6Rj3xdgf6(sipA zBk7P=xukpKQ;?l$e}$*A@D-j)An+bPsus{c!)uhS{8xC(ItMgp&=17pH?_3aKqtR? zuLSQsqOO*(OwYT4E%fGyb4pq$AlyrEz5#u=00-TQ`^_MLFKnwU(XVjnDddY*LD!}% z30RFmWV@@|m z8DAd7dJ?OW4XV-Myk?m6nrIB9t#Y*?bH(Ka)&;3MjY1)ZVYgkBnKK zLR2!)z*PDU$y>XZYj(wkl>bl`Qx7&yhOaYon4wl4-5N`Ww zBKAEx$+8x?jJ(&`#1&1wOUXgGY1^5nn-^tFy%%VTsqayh``_HV-wv`4W!NoOtjKTw zxY^13aw8V;#|`x#H>wJ37xF2(ujl2hdfxG&uQgN|<$suf{xAuBF$vX3tqFCTCby=T zcL*IUd6jWF9TbHtcJKD;0$FRF7BY36nD{5TGYJ@Y^XPfk#hx0eq#qE@`!VwQ2@rgF zQv>+oMd^PF97;6uZrFtje0G{nsfIo<1=Sy}w5`2}OUVY@N=nhii{u}N4|$e(qt^rW zFwwY-d3M^YSI&Gc$wR(s)&n=!`HQNtI>}vA?JugRCN)}Z=Rn!N0-WaT`U>#$?JK~F zTO=G+=SmKU<`e0`67T_<>|teJm^|9(8weOE3w9MA>a1?Nx3U_S-He@aTgXx*7sA1k zK;0E>)-z~sABA7tKRpf6dec9y{G$EaQ&+4n=dF?m#g^SR-0as}8GA3BzHW`Z9GoNY zj&nJkfIqv;u^&D%*}NZa{_% z4I{AO2=3>GXCWK~0geEAn-m4$ELxnq|Gpkt$YuZjq9I(=xtS87@)T>K*3jP`dz;Y*cRXJ0EobGvKt0|V_vV0%>)V?`boJUUL|O+BMy08x*SEk z(wdTG)04aW6VbGD6Vc8Ej`U027Wjps1t{-@^!k;P^m>J!Xhjf|H+P+@QzI&7?W@jb z0Xa~;;o{p$8^Sh*um$LEmMmgcpmVRQ&8nAAr@AYH|b381TOmHhA@(6 zmBSyMKA?Qcc&b!S3+3zIH`C*xyb}nEx0W9LbVEmCd-+e*xe6>ylyNo&F0r z*YSARiY_f0kn-vH^u18pEx^v3@+np0N@&XO#T^jkO+HfQi>L_iJKOA!G53D}r-!1v zRdVGk^+ZE?V-`YCJ~2!_dUbjHJBy#JCePZxZvX!^ul3pN$N@R8rwrhH=@Z&K@#y(G z>PoeqsbBthC~tQ%h{{)n88$UrXfJ+!ZvH*LFEXIK-9dR!-VjLdZ8=?VSU>Gbwu);0 zpP8=@YtpjQh1WI%f6d#GrWf5)?n|?D&y+5X&%3?{XL70Mby(XTOm#IIPJ`02l&Rr< zYWu)%J$PvD{Jo;B?qr$5L@Exmm{aF!N|GoB2ZPlZscD#66tJU&;!-KV-D5x}s=F+n zhhw+7e zwlxx2BlzzQt{Sr2w$m8H0Y&XnDgj0%vn5dX*j<^#feeL!3m<>2g5Qt9VXG#Mnd;ocP{@IK$8dM7l4Y~-vDi0NZ4fT8)EF%ArG#--aE(D z{{n!_e0C)GKPxaK{{j$&`5VBa?%TfrB1xHCMj-+GcX8Uec(XVh)5mK!}?^T5PVqvWq0aojp?Nn zwqo5Dedu*(fTq%=1L0@bn665j27sP>b09=>C!0R?%W2~Gb}r66D|qufS-@#eh7OnY zPjGr#!%eU`t5tz_2~5cV@hsN?(r3gBFzu}mcoY!Hor&Ei)hj_jr(f@+gD6^us32E@ zahY_7Qoc;mj7BzvEAc}4GW_8v@f4{KkVen}_ zcvIv3!9s2ouuB`s@^KIqQhM^h#F0GtdWEn=^YPJM^)2vr+UEUn+47%i>hNkSjutdD z4_x%)A7TBY#Iu%PB;BpJ)=7yCdU^)Noa(@liJ(X}2Q_GzwWR&D>Zy3Nh0qUD%jHre zDx_1RqwiL3LqAaY5-JUw$xH5%YS^kW_0eL z*_5w#DVN4~4okdGNR;tE?l-xFAO4XqQ7%o`ftsM1@~tu?-Po80Jw+{5c9GxExD#tR zOFU%#LVacS@jdA2mr5O@6PS`U`aL z?AvqPth}bzeA&eKiRNyYEd!&TEIF09r>@?@#2lU2gC&eaC1he8RB6)!IUH15D`Y+#I8SKAH09>W8E*TX+^uT?a^0!x(m_ zA#bfO*^F!L3afGpMygU6&vLb>*V2hsjYd*O+Aq7LC-WxJP1^SFgkgLCButj^Ct;*5 z;+t}509rw{RB9*@tgm1P%c)@m$@Jt>p2^HQ42^5QLm3#q>l`0-YFX1_Y z=H`rlU|RV>*&yD+Y%5Q`QG!I+p4DNX-zugDLZR>^*2)8J$cN?h(&q@i%Gd{kp%nIb z9*Z-#SYlHm(~^UuNP3||QX(i%gM8ht`F6__4EIZAb9?*YIZi23l7AB`7n|M120>lX z;(?%m0itjot9mCv;mScqVU_=5pTsm7p=Hu*iXv#c7ze;T!G zo-|i*;N+HC*_V!ote766c)G`aCszP;HT4mF>*GCKMPWDDFu7FhM*SDsK%7jBcBXJ|}D5Fv1SjKFuLw1d_nZe)>rq`2a893a5B z(h-@r$o@UCt5U#->HR|27XF#rsC1iQ0?#r~ryFaQAnB~P{yA40C@*W2itD}~$e&Oz zcsa>HnCSfN^5n?Hx-b|%l3onN`oO(lG6uj6`-1Daz&4FqU}vN(9RuJKn{}cPJKzK9yl>dXn%Dej0EXb-)#c3;aiO2VMtx;`Ok8ByVt97eQ-1L*h0q+%2Vg&~jhp82P z>4Jz0_{DQ23UV6Nin$7=-&h}C2!akS)rkt||J*C>>%91(Xx6AV9?Cl}>H0gWr3!rA zOTxu-4M>boDY{h!zbWDuOp`0hYf#POD4Kb5nZL&f-aeKiDy9TZdXDNu_MX}4Gb@^H zn_M@-{P1*f_mu*0U`(@jrISnn0xUxPBY^q1UaqCG&07Y=j%@S zV90P_fSeyI2+bDpm?gN&^>EVCQcb8>tOlMc0(IpS6Nn5!!5oG>uL9-tHEz>cj_=C> zk7Xb-(5m*RV>3M_MZIlZD3%UuM?^sumQE*8&}o;f&$G`z-{Y_6=0C^50s!Dp1qOim z&-eJNnmd|_n3xzFI{y83e=qIie9_wT*JqT5lL5J`BmjbuF|WyQK!ZACyVt1?PrPMi z^V(^ZaVL_LP3O8k{Mo+WhNH!Y1JAuvDEKjAT9_P$;6k51d_G*=I$yn7)+<;~A2(q> zS)UH9TfCRKD;KjjeQqyxcWuZv*Uldz?ss?G>U26k52p4n(m$UsKVLphUE1EWr^eQ` zZ(i>&+N!GHFE6tnUY9O6I#zkOX>?KBx;n~n8`IYh=00rT)017&<+4@a$6R#TR)<_B z_1M|px|Yrl^jlU*1`i_cFC*69OIng)buH;4LT*2uzyc(09xc4gcORlytHzw{Z{|#1 zYnRDd|Tq}O$~8XS=+I1p~u#TjnTPU6WH8(lBr*LC7!1J zIP_LIUG1`Av#DBIRI#XdZ~m}1r&0$K{>>Sw@G#?S!FIcCew`+rlN@sC{nozm0}U@b zo=ejGjaFpu-RE;@UAvZ>#~QbHzi43f);k%O1AFzOmIsFmmlKcs)9H+k%(9Nz3xNY1;y!2O}qr)D+(@G)AB2>Qz%X@Uo$W_qL4t zb={HgU36KSn_QCj zmK4JLR8=-RP+zPcTV2&~tc|YCyQCKzjh>Xsrpl0+Czts?udA9I$5CxwWj<(i>Re*k zQgJC@PPSVfM+hIbo6$(nsQKRO-JWVa->T(g+q?MG1hwIMQyQDi=7JZ6UF_Wr>AqjIa9H%N-5Y}EM*Ttp z++(~~v|z1kle?GOOl=EWsSC7@3H_zUjerDQXtR1*&eHP!bsA<~vR ztjd5G$1{rzg9>ZgH7=|cv1uc8jS_{nQTOR!N6or%ift3s>=C8bi?kIx*z!{5Vho`u#Yyc$K93sLk8u{W z9t`&HO(g*;j zr2Msm;`i4M{PV9JF<(2XMVmow{{w-&2+;)ao`%&$vh%0YzeoS+c#R8t^Wf14Rk_-X!F$#@~fNW zzq)nXSVM2oi!}VfSqEZ=nYI3}4*$TZ2c6d>-1zGD?O)d5EbYrAUf>>XZ=zm<_6hbi zN#Cj@;@bhdJ?DLB_-LBO?tzC+X^>T>rYQB2c3|)H>YnX~9wmG={jnK5%A%*rCboYS z^Vz`swA|GDJbb$d+279`?R`Z0i6z13I_ACM%aoo>hqpv(v)ow0jDR`*VJCWnV{@hu&y& z;vTE9>^(ZdsQjaawqyJLCfe(G z^PQum%O%K=uVQgb`(f+8ZzOt5F5PO@Yh%xMa?T|ondQRv{=h2RTljhIaw?gtWlivc zXmo9%Eed~?7k}tdn90cz- z*BQ#?C0dBgjywB0`Wy$w;ZGyp>`Y`?Bi^h`BahR0At*iP(w;LjkUAoegSQt`fML08 za0h?SWr7%wYa{ePV|+TldR;j4Y}8q6mICd_80S|I^CFv=LcbzaSUEW&ZXN>P&ev9I73;*?7a}u+Lnv=YSTfz)GtSi@i7fI2rMZ z*DNi|@NrcGT+0#rcRK@?FA+jJ1YW8jcD!aIRUtlGC2xg6`ysNFiCps#d*VBZTz~NT zF9Zb(YzvE;p-&6CX~6E6h?2{_!tIAW%P+Q~TZ+630aXqNF~Xtvr7A_0j1@hEz$lGB z%g05QLbVIoU8(TR@XGWkUo(dw%iPx#w)HtJ+{!xdob&M>=A^&9?{a3k>B{wV?#6R} z)C|Kq*{^s$zr96^@TTv3-)g+i?T*&I)${4FVoR6OzBR90ve9AFSi{>q%rmD(eZTIM z8*<%h@%DIbUdu9w{bkoDWStaO!%b?Piz}L1v3EGZaj3FVku`NYiPix6MhbnRUoXcY z-!X>Q#39dgTHU>KbJZwi>lBKJCPt5TW8^#ue;9hItj({j?< z$O%FTfk~Ff1lxX`oo7(`6;VJSu=yUsZUk`$h+qLi!Er3AN{Ipd-c>Sy&)KYb5d+I) z^Hym!M>k-Id#+8suJ3XV`?kns^h2_vplvrPt24m?ebTV&c5=zZ&4b!|3(ggz7ZUk& zzQ#?HJKHt#+FA>4u+OfRXTwqJMOb!y(e=2wozUApwh4`T<18aNoBbE`!SGC@o(`Z6 zZ_Sa)=ni*9s^nsMJPs(L2Ttc+qzU1Hy-J^jr*)gRK;do5H=BBS34{A_*UQu8#MFoh z?Q1h#COtqGc1pjZ-NfFx>-q{ij%8*4B(gBz$8gr$Gz(Fc7^11R6h;L5 zy2sW8Tkb|w3n%zwg=xAk*JC-=0t+{cshv=)(LT7}W|`V3cs#~cr#6LFI2^4zc+q=r ze;aqwnbzsELq0pz=JvTqXPS78@|Zfw&CY#V=)(=zdmXqzd(zI8Ah6~_SwjEb%O9QC9blU`i!w-yb&IA{#tU%3EFlbk2URU9Y_ z7i`ly;P7R^HMjmat6wxGu{_Kj6Hb~aZ2Q5UQom^0vwC}5Yhb^TNlRb$XzdiWHyoY3 znGB6H;b^+B#-pRZhFp29P_&O*k@mX?m&Gc0>8^NHBl^SB)%a_XCWofBkeQ#(x;X+ny9qxba{upk(Q5?c?ZBLf1 z71D7lIgND18~;)W!j=5vo6TC$56m)&laXdRB$7cT;8*@M;cZ z2e8W&i*sLt-IBqDdC;&gza2We*`@fnPkAK?7wT((j>(TRr{qIeyWZ*9=6eWXZ0+_r zkGxUH>GQOcw|wc~TF)4h?>#%d^=QF;_Gr<$2a4wydqL<=TVmur_@F1O3&rOYy+1;a z%{QEfcVtf6<+ojXf3bTU8Ct&_YQ~Cx6huJUb(j7*!oUDVnkGd=01+y|gHO8Wn{o$? z5NvFWAUs%)i=kw1B>n0K;}MTtjdSt56Z4!FnG`Z7L0FW2U3*y!hUQ-DtYxfR1K)w6 zR&LLjpcR-H$V4uOu=Ow!$cANF1;=k6eZ*wx2ro^ zmbx7`0xNz}BRS+}A0LR7iF}&LAQb=FeCDR!5rbORK3!4NhiddPqG#{kRvUFvG72J6 zuljf+qmI>UCAIINSmx(dk**YUcKY4X>tgo)nRewzHqwdiM(%Bo*;b;X*+=|IQ?Iu; z)K%I>Cyj~l^7`)<%4d0HZ`vx;jM-LM6gP23<7^1AK`R@h(N;B<#4*0ZLwBWd?{U-u z%5!m1Mmhzb_Dt%ureoTo74Lm_w&S?#tKUV(vGr!!63K-{@FM4<9?a>aHKm)PKmryo zZw?{Bdvg?E>F2xlnyzRkF|sv-6BtHo8J;`oL;}2|n#z`eOZ%nf2N{J56^RR+7{B-7 zh0os#XD2DVjP%bsFO9v&S4(_~n>;9o)E}};3+Jm}fVQBYoYGKz-v$TY{l}iSWPq~9 zqf{EZv9YgxtUAHIR+=FTy2+C`sL3gPL18Pup`EDJ2UAlsDhmaZBN+X*C(Ut+G~oFg6pPqKEK|gb34nNRsrok1ib=(YY6G;14`kZ z<^iPcm)~rjiG~D5|7cvhxRj9B0|WJJ@LvA$*^7UK2ZFM>zq%sPQ~9WW5tXcxxO)-IM3h?9aeDz{ znxpRii2`BN_sdU82uj_mK=BNYIzQ3Y(zmCP0b;3eshrcXk3Af!ymfeCYfX(C2INA< z+#4y_Ln-#40PA96-oa~$%40RZ>jL&rlYX|1{!)|G)@Ex%UPuM20l5u$te9jCORw4r zrnlpmr7CJCP+eDDJxTR2y0@do5glSJeO5XE=CP1)TaRrmy@t;i~?r(c1wCwmOKvmacPq!v3?pI;FboYbG|nWCGa#!L^^ zkgYZU=Hy$T-?irSiA_^kT(HsUP0>ro7iASB?n?seRJn@{2-d*_)}n?KgMMBz%Vf^3 z01%o01n2J8M&+_q`O>Pey3`)(yCVeyWLX3yrN(5qjQV|Kma}A3TQu1nNIL3BI;oyX zW;h%$!l$rJuGkazSg_Qh*yh8 z4u%nOd_s&iW3oKN55Y}~1x+g5n!Fek?G2>uEYAf?oQfK38O-VKGeJ!zznX$M^p3F2 zRyBd?HNb*Pn^aQexKAq-h>=2?k~+$-l{a_hrecJ5YL(#KMzKP&?LO!CV;srX(fHsx-K+%mIWVN7Sq?a=ac z$3#rmdNwcg+sV~Z#@!OMeP3yySJSdrGhR-jl4#qtk7A+(P21H{#oaOmIC#>pv4aI5 z-&n8M-7;}yqizFJq}0XLa%ButuAlaruolC7!?*~ycDPT|@~*9cd*de6=1bys#fYie zQY>G`Hq7~a1Z_JDRR_yBpwJ=z>ISCo3?sdAN5kmey}C^#p#x8Q!mqb^~8^~R!f&d%#ZSMO#XqyR18(4?#X^!c}CNRBv7#Iqh z^UKu*!^C7~_Nt2vW2E?Q4k6Buq`7N6OgiPm>A5!>%(M_G^DL>BNVd~=S}TvoYK`|a zxQ*A>*3{>b4`JxdjjO>V_f`;z+UlN zftO1I3Qc}$kMZTajBf2V?cd$4&_gnfT|XbV5#KLZw_a z?KawAAjxp^MWZyHG0#?y_vaM!ij?>1O8UZOKbB{picgb6qN0%xlaL;Aw0U+iD9WeLlReakgx&ipD`G%cBASk86O@u&@ zNkk9{hjoJE@`4kPjh~NOVIXL6$-~n$pAZPEwUMfeO0~^HyEAH?H9!ZQOKAy(r+1J= z7j(w;0wE9x0dT7AXpWUb0lKGQU>NS1!-d$4&>Tnb&SgXYCnW;lzbQ|bO}{9e&iI6!cY!`$zD4M29|oO3Fed z8p_*Wn3BP7@z=L7$a=bXQRy7F77dVIFyXp{YYhHS00JN`X21)Ke2;-r?YdD*M2OVs zmLKLQ=+8^6fe@UGK^&HdYD_^40h%d25Qu7T!#ThYl_Z%^hydtmegwr?oHNvuWJXCN6G1Zv^S7z4BFY&@i$a+T?6L`W;zr? z1UCF;S6j^g)*~qdVnFIhtEmAh`q2PO;2$Ne--+PIqlC`X9E9-`!EYcMhEwlSW3~hV z&^H$Y-QdI=TU3X=`Ok!T|DPvJ7KiX@=*I5;;bzbcIjlrwnwI32XZ-get%KU3pC~=j%aj_&LV}UM zGDj*7`m=Q&b{!9-pxk-eP{P86DP|)tJ9&z=u zeb2UYKPDG8h?a_)lzM=MX?V2iNssCJqiR#Z)Z*%equqOaVq;v!^}WL5T_MA@Tz14i znFp$Bvt1`}Df^+C>fqj#$JzCL(DmJqD_c(TM5;LvD`CE{%1G8^OqG$mW}9jy{^rG) zruQ^tX)|<*j*kRW*GNOnBu&@sXRgg0K7^?1A-UA1mQx{ERd(O$-^P|UJC`oM&R|OQ zt6H(``}CzRrE|Cs{p}y+QgBt9=v6+LawY;{)aT!=Mo*I) zAgb_me28?q-V)3_W6kwb&AoFOf;&+tF%PB8`%Z0o|HIO{gg3ZNoR&cCx{`nOGI1*6 z`aZ-cD5&%K>ja_QJHGwn+K3l|=K+kRbSj`PZXj#T%KTO=JL4K>pQ9rNIHlVEJGr<1hn`&Viy=^d%*S1+rNFBMg8R=th-J_^PW9UpPC z9mYC*B7nNC?<-?wP*1V}JAWS-8$f)I-*W9C z#H%hv4%iC~P^w;`09=6>dWi4&y1VE};hPZ9wy&B&Brb)Pfx3o*geI{l4yYPQ>x~1T zjAP)=HyO9#Q}oJ}QSeE*czTvP53N<$WiHc5|IxBIHs6y2h;CM|v+eNSz^;-gUGJ3z zfJ~mlFN1?rYI`iN(j2Ij)B$6UvBx-U{I0bFYx z7sV{h^& z$Q)p1a(J@@DDEWKJHs`LFfoppjGwju3}b|uhas<*U^b|#yOLX81v5kKfg#NF2jius zH-e!X7o|4H%!E#wAWeX|&f)nKpn#KL`v}K8)Z`#k3Sr^|5R4Ia28Ntol6jX(?m|9^ zEX3@~MBZN*|1xpHFU0)E#Fwi7w~5Gp;X0`foxcq*cdGHrM7?_)cB>F4luMs^Z5 z=Bf0bE7lFeSwCfmW^d(=gT{4v&mL0ydQR*X!n2EEP5QBDg!C2dYl3Uoa6-yWZ80|j zP&`&j6_k;6Z&rnbE;#u4VSps?H1NyZUaGd5aPTNR&XyM3KR-4iCtQRZcw&IE_bEYr z_8JnLwghaU(b7b1p`F;}ylj<1mE3!Fe&7+K5jP>`_#IF(VqbVS{vZ}`0t^&AvOWs7 zLuLThY5b-W8C@XjRtDX2KtU&hqAI`98&s&UA&643R=a~BuQT}|;3nXP1&B#rML4&8 zVLB%IEdh<+EbvCut`}itrT<3kJhvSaPa^Y1C0Tz=NvxeykSMUSuE(}*+qP}nwr$(? z%o^LCS!3I_ZO>VI*L}EE=k=s2sJwLNB}t{z|3{AVC@$xX&@AKUjX>rVeGech=RM-t zANvbSjnLE`Ct$eDY~GWFxj$H_M6TuZwAGf?~{DWq&&Zn6?v)X1~P7n_E8 z!WXOfOahBaxA*e{-wo0n!cS*Mf$8|;whxA3QS?aMEHCtaeRv|fqj|5-m*NE1=i|fi zwK+OErbSD<|0^7#oaYrb+y5QylT;M9s*fN+>0jib@WnnPe6Nlo@f%M8_WT+I_Rv}^=z2s(G8eGZM0LdNL#u%Ld!wozoM<#642}_TdPlW8CTcc zWV15X7=`Z>&wMyFaMTLeT%WM)@4h)uo&xh$Xt1;$Z(tGXc~$)uIm}^7i56M)5O;$> z)5?V7Oy!MfR6E$g&U4u0wb4#4Q%x`faBqE_alpOBnS`CWeF-O!bAZuE{4wf5m2)4+ z0)iYA=~3hCf!mtU^J|eK3h0L5ufNt@luzL*O(!LEecm>9j1dULfA6Ev;_gz$Wjr3sxnb{!ekp5jEpMIWrb|Xe8rG#=0nG*kI`ZM# zD3#U|l}ev=FKZ7-)c=Jv45%I80&QO9P9Y5j0t;pG$G$iVNX51}y09MOJEM>Ws~376 z$|ma=3T5wylq*LZBJC{2kA`BRh9!E+=Xbu+fGb5?4_pV>41gLj(p=q=0#2&H4j+=_ zVHr>{*ol!vv3^8I;XG@!xzF$S-*b;q+oS=wIlUtE zmAQo^nwIuPCHSs=K%&QFZ&$vI^}%f^;6ELLQ-a7d2 zlJ?$d?1oi`9;Zp#2k7|Y&~F^+Va-;^iFcf6t1Lf&Gm5hMm}tdgRCRD6JMwmbfs?>K z0(TFF$>LPU~e zE0>4d$5f_!&A|GBfzM87;v+9X2ZGemM?^1#WG}mMKmzT-{lLn}5ycqGeV=W8@GJDVP%}>3yJo5t_gcGAce@28exc77M7_yFQ|Ys=p`#bnFLtP-N@foB3DQ zaYT)g`w)n`YG`20d#i&K!(r_01glAWs%H%mGaUtqKjCfAkD#7Cbf05@Vjd#B=_u3$ zye~Xh+mrsjxZ!^6;g=pCWsVL?T#naJyiz((lX)^6ngP3zN6822yXKE{W5Z?o(Hl?0 zZ;}kell=GfBMA zSPPk&!nxdZ^qhF^2#UV;B5k`BoRF}98Fq8^*IMBn?L#M4_-}VBxXN%MmYY%_ZZb%x z0N13P$VwI{I#4RyI@;UwL@cw zbMQym>{2a!*#^iZI}EYyPhW6yd^N#z&`TW9FxT9%;jDSe$!743xxKQ1$f0yhOANrD zl>;0KgML*Qm!Y2A8$%G6UAk7n!uTBWI)<5H{BIlTqri|P!!FwhLib&_F|@yIYxZC_ z39sxO7zGkU)3x1t-WcR(dkc1pJhr?@B{Lfo-VRwXE+#1(9@3RHJ@xi5v}ZK3U>zltO*qG4VS~L{ zjBFfVj&xdC!x9Acg6Ji2YMYkkL39Rqz5B}#uHYZb-XdG4iKnjveU;-Aa?8?o#_&Wo zTPLjCj#Q4ndi(;V$h({ja>tPhBC{s01;QZ4TL-Yl8(IhYl8tRb7n2TcJ`D*;)|vb7 z+HfBSh>iM031Jx=3SaZ*z9pm7#!A=kqHHfdSz7|kk7tMX~q)1vQ-G5%`@yBhA`R1Q2c)qx{w&PwqoUM`d}61vmt2H4pS?K z;aC`3ccaIm^1*PKKm~FLtEwkT=CD_~aCDnr;66}SO70P>CprGI0f@%baOVjyTx&+gig39|Jj^muzOc{Q_^_;R_E|zohb$Q<{uUj}Y}0ngl$1Wb7$e9lh%heF zwa_2?o5Co8$V$^i7kvHIhZoL-rI^Xnys}F~k04Pi{L&MX87h#kGD}57>FE(8yAaZP@}Nc@RW>SbZH=iZ&^q#wJ>DGgda|q9Waz=TKeB zfmpUNyvRTkl%m4PNJ4p#k_QXYvwhi;uvVuCpj7$9xY9lm?ueQ#yvrb|KoGv4gRlmc9-3qe)U zI19HmX{@A1??ls%;`_$L;F-WYv{V4_BD?8DLEo=LVGkv|`bFo1^1In;#6QC7!H*Xt z57+do46x@4!MWu%#SJK@$@mKQm1aqy-{W#D*e}zze@TX;?{aQK(L-4z?=BX6PO=|< zs|-NXHHN*%`i3L?wunACy7BM~Z#Q@(U7Yr;&`VF$+ZWkBm_%0hH?|q1?<36N`LM<4 zL+3a-zRId;ahiV?DdgeZ4B6)_u(>1Rb#{!ur_7%hvM_uo``HTh z5e7<(50KyRs(*1PJ=TR^D(thp$1zDkO@++Abp;4M1d75ZHsZ9({m`;K$053>H# z`|KZK<;O5|?6v~_;CAS3*J-l$@Av{(9*)KjkM@p0_uH+s=e{`y{h&cvHFTfNQTFAOcqS0gd}a~y!X0y_C= zrP*{V@a}XYusxI9E9hGH)wj(~y%suvd-uYMdGGAbDb`>EUA7=Wdb4>c)^SAO#>r(? zq8-lMDRRk9`KKZ?sJ2DYnhX;Ac*SM{)S#1`7KZ!jPjNdbTJt7MK4U@z3d|-_8C{Mc z)a!HQj;b}A81eap$6GCw_|QZ(93B(`0_JxcQ8VZj+jnq}5L_QWy+z`#dw;Ld_Jy4n zw2R_%Z5j7)?1doTPAvvHc^2&hU+9QmXm~E77w_`J9utOY%!HQJ=EE~WPK87rc)ZCb zNzAsX^J1!Z!)1sJLIU(>MT_r>RX_q7rNP)yDhUtZ5LwvjN#dXBIjQx}ra9%u((-K&GA^3o2~)tK%$bB__8)eS(Gwl43`?|T z=+0lZC#t0x4w~SRTiVq{OF4#d{Kkg9CnKl=`#-=b>&C6fw10pG`0nlUTYIOeedaaUUoHA&hT zQ58l4*+)gL&Qabnu`rNgY_&Eios;n?K10|_IX;JgWd!eY%CI=}!Q)sUS%xbq>uQUo z%Z@ttP4>wyO9-!*_jBTMm8R+&?WoGHT(^7_db|>8-giO*pR!JC97BVNg9odXlI7r! zfYeky12c@4dYqvNvwOk_RpR(f^G6;&ad)7JQ@2JrSa?(VSpnpE;??-Mh(1=c7Fz~Ea;2_SLpq?AN zzvYu5TFh=@luZ~9=n;%a2G<%#|Ienu_VcVe`@`Z|PE5*HOo*q86{)6^q=q0I6m1iX z_rE9$29XA?b(;yOX8Dl(XH;u}=pjhS8hBD&dhk{Zx8=XE;+q1_&i)@je(!+?7;Ua` za8Fq$CRX`20$&Hf<6DDHS%6! zqfM%Pw&+&#kl)S`|0v`*A+e|lYN{0p*;Ibz_R_)B+%k#Nm5h&|iq=UpP?~#YjCR zGrbJMdN8`q$9u?t;F&9Er)j)l;?!{RvD|anGSXxuljjT3wN5oUo5gwI7)T_`>ch2|X`* z_kWc^t&G0ZnLY=8B}aa+J?OMrgzad(kgm!>UfL;@i+$_3896giK{541AF0hI^K3P$ z9CBp9R5S{p3U@O?MIw{-8y$?W%ZR5~{S9f-2c@{+lUI|#zuHI6&1l;o_`p4BOgx`n`&dcdcBdrtq-FNlRiK(N^y8ODSov1 zjCcu8s~weWs!1sOc?Xw&?` z+^59|qk9Td9BMNz^^c_L34NWun=Kf6W1=9)uCQrsBm4#Kv&iP!B6zBlO%ad z&l@1wqvu7EJ`a?c*-ETfoE&(;(tjM9ClmxVhd0%?dP+@Nn}+y~Eio~JrDj^Ge~*3B z$>}?6&j__230Ked=KNcSQ1PB-WUK+vvlQc%N(nj8%;Bjzq@?QH17M>rD!;!L1TLyXR6J~2*tN9ODNin zx*CeA7ARdBN)Bxj?@uaW;$|#Z{NBV1(jb{6t8VTTFwF0aoiP*8!N5+eiXr~%S;oMQ ze5EaGbb1Byqwh~xQLKGVX0ZPahM~x}l4*bw-JP^0`xZ+0fIvcIxuKOyNt9LhdTkDk z$M$R!W8<3?K{J~)IWhaR6xB$1u`x!EGr*_5Qk_Moa|nq-(-I`eDAc1t{@AW{!6B4s zZzZ-Fv^wJiu|Na7bHw&+G{1|!R z1_%s*BlHt5e!z*r&6TB{{qxLO1(xdixqCI1n=R@!y-Ai3>$cE^GCH)3%~Zmlk)sD- z)dNs{vvy$Mbj%j1HYlDXqck(CV3$YU#fAG3essoUkn3!K4C_&N_GJzb@=xbX)80HS z%CGyJd67IcY*G2_-s!{0qs1@h_M!1?UZVu4lQ`k#)|-vJ{3{B+*x~}tIx-OGzKv$T z+>^>sIH||E9OJ76y|$E)-mCT(Rwdxx#`dklEAdX}k{nzXxT#0A6y!MRPuSie-861^ zuGts8m2|tFnh2B36Yy67s_3CxEBrQG(22L^sdP%#_Wj~xZ%zJ7d{m`sc{pe|1EeI$ z8KA{?g%jg`cdI?%yY!^RnXL+|n;`hdA}0M|y^cvk`3!Ad!*$YOkQMLEz7kLwGU}@HkI?G|8~sHhE+UV2g^0 z7b={7@|J%7)FdQUaVBN?tRq5Vw{^^U3x?$?;k%5}OR=8Djs8{a-~Cn%HI0+(T-~81 zgkV`6dc#=HzLW4OTNLEoh@c}8SeEJr%9|)*OR&a-%!{a*)X&xrf@u6w6+<{GbLevy?{}&FhpFsqKLA#j&cZOkw>#U4UYu zSkrC7EbLlk$5W{dn77eB#w_joYjIgRX+AP)(BOr>WjV}*3zCB&Rq?b(ORE*!2I54U zX20EqIDcl54xwO2D;c5>w{Lr{(3eP;?;!DLNfE8H60BQ|9$5Y;>s-2%vMG1N9_W%W zcpUg%7Fm4Dr=b__eNSo#5$DO@VPyNv#FggI9Sc%G{Taz)O$Zk%vdPlOkwNUF$TdYa zVl~WJLR%gNw!Dj~0fVyDac>zkR&)>Lsy-cI9S6oWZ!&JiyWk!%yjOFxr%5$0#T4R; zV}})6K<}V873PDGGqz@mXHx5P5nuVMF)Pc~8yLrFkF<}ejJprSK>ORtRGulYPYOK4 zj*Stx(jbsA)}AVBe(w=meKlF`%0EpiJemx)NY`Eu9h?3FbJag>U++lz4297rh#jD zMGXi51i<3wOZ@w3r66wdW|e>!s*HaY&2{+{SWTahj=-2nAYxIQ1Gkf#1wEYVo*WLIi+*Y7~I}Hh*$6BjfAxYWusxy6~@B^5=hg zQlog?Pf+CYGYMaay8$s0oESR%VByDr0U^4vomk#8yG);4N5Pbb%JYEG^&TXSol3Zx^qI+~QS5HlFcR1wTGCcm7_GwRY402iTy?J=M*24cheY9Fc$h|59#y%U;&1|K{ zBGshAS+aTeL-f*{5v%Qv*Q2NTV;PKdAUz<11eQe>#`4B5eRcJp*Nx4s@5?YXSy?s7 zSVvlNH0{%s?}FjO!Q{hE>vkUMu6M62Fc{h^vzP3W3`~eOoNc!otxVe|y5{Q8-`T^`P3F|k!upXJ6^LezLa(pSmt*ASUco<@h(?`DM*U52vyCs6O< zBfAgeZMuG5)TzG;=CZ!1s^1CcPxqE-9i@OJbC zGeQLddrx2FLJmR_T3GZ@>_Yi)k_cQLH0IIZ6z#XLA9!MvaP-tAb|M8`nRy7=IKd-oN#;4sA>{u|3@ zKN}(_RoSZNSW4xu$1}Jd$55F8w@d+#Bk#!g-t32qFLhuSy?6%BNu*Z>Tl>?4)v-FT>|~EeX}|G zmwG$=6?%B_yeV2X%^bMj!RNJfc2YChEag6|q0F8|RN5FQgf*Bpt&BT!S%w-e4jEMa{3Tf#z%|OJIHk{T5A}?Mp*=PY0`Mfj7@DAlbFn zU&=z6B2+^@6%`wni0)uwAG&?)JNdL({Eu^}Mk9f(ZO(o-R*=2gqeJoY$$Lf3^5SNp zBvmZ^T(ZlF9VL^san2<5| zwQoBR`Q~%9luJigHy|;!22xQW%56MB#wy09A+dXOxef6G;G2(Zrk`$Zycnss$xu(L z?mywnH2_hUhSipK4d+=+>#GFS=edm ziYU`*x>%g_q5AGRY_;!H>>s(GI z^(u9eI6`G`OF1>S+w8rEpO^|}w=k7o_*Ji&9T2t4K*N@jt9tx7*-y|H(@Es{S58%% zlYeiX+bH$m^-Y9bw;&-bY}P2u{;XV1HbiX=B0lzlTm4n85s0Z;xA~f9<~DW&<9fod z{=PU$PzTYu7bYHmAS_0*M7uH%nY#0$=u$HxzGk&Cq`VxbkklM>e*}&7j2#-iMHDB7 z*fg68ihU}w151IGn+i*@jSGROlFRIW8j^_Z@5_-x;owvr30ThM>x})9D#hqq)WroL z_0-=$;kJQ}0xpyl8dq|)h2XCJg4s@gJR9%GY`{gOty<rXF-aiKv@yR3U)pg$ zZ=wa`WmWsO9qAtlypNT?BpnA`#eq0G#=l<>JnREq9zR!>5ynSgjDlrLsj>F$urX2B znry`l(9oPnM{CRG@8asEwYy0lqdxW;4Ylc*^(ku>o;xaTNZQ1lO`~^6xBG|#rE;1N z^#+isO&#ny1shI@lTY0p*97%PVVwyr_}p&GL6L2;Lqo^AQ7;Me8vY6s9Xcc}4E@?u z)Z2DOA}k^uJv@njm=X}GoC`Au^2{)=b8{pe6tWk=U61==bWF=IKSYre(BP4jXvKuk zyw4Q|zQHK0ul@m`MwPUCLn;MjjIeNb{md_QIQh;766wtp5()wJ{D5~RHUAU~KWLd; zgh^AwiN+w@{KAl_91l~xh^zP{O(Ap09&+(AF{ltx6gwJXXwM`9bNL(FN$WKJ%q*}j zSqbh;5~d!Qm*Oz4eqs)+Zof{<)#v8?T-m|brd&aIUA(?q)tuk|>v=f&aI8c1u>tg1 zsh8O6hsDLov7u3+`CY*5&eHmE*{Xiu1Xh`jhq*VeZ9-yKlE94ODTf#c!-!s~ba2eB zq2sL+`1e%IVl}NQ`g$%fbqX8-kGaeyIU*#OHf6MU> zXI31X8vm`)3~=Er^I%{>WS4l8n|lR$(G>qu5XY)HOjE7}9jtWmyavB%Ru{z9L~5-_r0s(rYR-|6-Rf## z1K2@});Ii|;&QVWvoU6TK6~}-kTAt9Se9R}E&Qf{bTi*-(qwGG6%`)@4jy9P7 z@a%UpcYXFxBlG#Jtg=ndceINy+OtDa54##t{g+iXTh2 z6^3yzXmRdgZ~QKXp69i?&OL||+gY=@*ZlI~RwT%FMcNL{K&XznuG>I_xm^~VuH7ha z4JC@CRdCyoKHF|>+$=|+g392U7GtQ<#g!;NU^tK=KQG0#@%N@ifm%O{xM zqXsie`Z(i7iQa9Td^{$41NnM%L5FPnLkYR-^*}7pY@rnKC1UAs{CLRl6Z3efglc_0 z**Lea2JL@3z7ct!quRNkKVlmzBXnXP+1H;R?C+QI`P+%sg}iT*+?HyQDqpHcq{&n& z>LYnd!OU_UTVqrPTQNvd!7_sU0;p4ukNOxJg|2s|xJ<|Duq)SE)I*a((`-V8g}<#t z8(@UWwYHI4h*Ng~NmU0;)l&00v2|1`)Xo}||HcG$l@#Ak#uDHYQZ*SVYHlBeIc zI34_-{sNgfCq!lF9j{tL4~6!ZN?BmF=2yD?wDx5k92Y8ZBRC7PG{ZgkAjWLU=c~o+*s`lc~*IuiZ z=Swy{S;rXLb-}%TE{k1_a1(ZocIOIK#0u>*W+hw|x7s#zL;WR^z$`dTlyc3KEpDVt zBcRFCbzGI#NgZC1Qw9jwe@K;LI7k?J_hcL7W9Dg@6NFYTnvR9==TCpqS#@4=$4n-o ztTkkkBCOa~$Q3Mp9uK_y0|n1b&QJ!-7Y)V&RXtCF58QH>O?h0g6~;(@ZGA#?ZPly#{3&;=}t7rO*!$2lhj zTnFYh9>fz+;k4R#t12x>sgmFK=9o=(dKx~4g~20elY(8FzoVwGklMTM?OvA-JU+#K zqpQe8NxQUWWSSR0JJ!=20Ca8Z#-FH%HO*R9f#01Q6dS6#q1 zIfHzECsgDcU3kh!GY|YIM)^cCR_Ifr=JTIhQkN&X@kCDs%$^ZR{ylvJ%4m<~Gs5Z+ z9B@3CaM3^!KM}claBQSR*2KJH^_NC7)Nxh*d7nACUzsi=uV|#iTMrC!iEYO6X6}vY z#y(Hjl|t;MkN{fZun3I2#js#&m7Qz6k|*{_Ouv#yd(HR=Z#hdE5{9}WoF0Hk_z zo>`bf;WzP(Vu_o^8Mgfla&oEo^o)wTGcO}>r_cCk7qWQ^>x)h(i7uQ|s-C5uR-1~$ zEK=#1d)kj+oq3jZK7KZ}PuL>PI1wvt%BZg{ME=$wgrMx6H|PC_~}+isk#nb z9xJgu@wDALB08Y6wCaNM>eOF;ruG;u(%|kN@joXmrVPrj>R7L18_LrUq$xmImd+J~@l`me+O}>5< zVqmXQ(?!q-GJQy=3ZG2|A}Pq+|F`-T{?AMZ)?w{y9(_s4mxmPaQ=J%CyDI-DAJA3b zVu1(QoC+kGf_1Ez7a=?E=A2eG1JLV9C%h_MJJ>OA5{0GwY&04X zFhF~te>4&~J^k6Qc%BN)M>tP^B-}NMquEai0wS@TGt!3-0XL33dTO1X4S-99Z zrL5SvV_s6yWCV-_K{RAF9~4yq+G}4j7mmJoF1F#H_VJ}r*CEG*RAy0^-J(@sP8%|MAN7r@Sk7XU zq-MApy#WBQ9jJ=ahxdUbfh=W~!|+_|Yz^!7{7rCGX171tBuF(|Gc}Bdmq8yAP|2NM zxQ-uQ5*?%Kkl~%~eA1}iAeZA-j(_h>(A|@W`w4#X?SFlvE)2m+fNY){b-<|gxa`a# zLq*1o==sc{mb-x(3&VNE{LUC*Alo)GfaUd^Q)>@?!Bz>N^-SxfZaK%=;DaqrEFlL6 z*ZqF^C#cZ`cTTJC=p1{Dgi^mXx5f$WKjrt;`da6un{VCn$xPi*c5Y;Y;Ew_S~_FqZI~VBy2%rd)hh z&D(t{yy77$z0+#cI%KQK>5I7gIgWej_tz5EJX+Qnw+i+|2h+=&uD*YNG7xkIN#})E zL(J+Lb!xNzNL)!KaydOPd#*7l0r>?+_3V)o3XWFyvZd`k8d-?=W(E5I7hR<;-%(bM zxu7`~Ud%LO7jH+TsY8$!vLFO&Xv(sz0Or2RTn}Z@;5KHNd($~`? z^U1K*!0OAb%F#MaZRd*&ki1>N(0y%BacmqXC6XAti<1F(P?x8zkxp3GDVqHfd2W!$ z*#|77-1ZkqAAotKNC6s)FpXjzmdOHGu_C1l%947A>YNOtZ>z~^(_V_w)2WbF?-1}5 zW$!%Kp$X9PSXsa!6oCl6vl0Y{z%yV`5Z=F(r#xp8v1nB)=4MmMST!#6lv29P-nIgw zTqrM<^p)Af@MR`?u@CS&SRI*qR?4=5*>}E7y*D-!-?$gpUS4NN&-^Y)9H-W?{&cCD zr%mVGBKBXCtQW99<)$~1W*@aN#1+0iA_Q#~3;=35t4N8X&Ts{qH*cD#d| zXl6M`FD7=8L*laCy4eZ^Ms^efbX7FB$ZaF#`j#MPW>%_tuaqV(a*&7`;G76CNjXV3 zjLxR6V@|$RFY3dweQzWj^6sg^?$B|JRly>R&sGjL^}hC0)=d9RdPZvHu0La_kCr~M z4EuDrZ4OxUt2+1{_s=a{CLy5NOF!)eIwnt-R&@>+3r#>C*J{3wE0iRHiQ#3`OvOgEzg|>MIt-0W`6EGv6p6c8M(;nX-jH6b zOv7%r0nKUuIKfsFx`{hY3;Ra|m#LE`X&7Wfgjv9bv4Mv$V=EXecUI4?{MvvnHu$lg z_M%d9t?@Eouv}XPTU@jv!)M#pXqxCV-yRw3FOY$w zi?$JUfy`Wvz-I#4G*{V97j*vU;y+CA-cE;ZoV$g%Z#O-(!}UAOikfp++%*>I@n<&w zKAuSPzcZzN3-J`mUmZ$jhsIa1t)Iin=|*d^a9&#c47>sM{8*iwzm3YtLDbrqre9YN zoRk66);F+vkXIwA=HDw~pw0_C(q>`Smz7!O7<<=rRyjo(z>-IyYN?p29Xux< zg^gai`*utMdJTM_!1EmaFkG(!36kqKE3C?$gJ4AbQXYrb%>ZX3t(wv=()aIgX&;92 z#iOnD@)YXHmqtj|u&>OY%jyY8AHlT|60xd%{^MHQ`k-TZ4?9oP+!(LBlvcCOSaZou2}+geXc34aa~OPt5{YkXpzFd!-2D}FbzcL?2I0#iad zM+_!2<_M~&#ADfW0db4`0>4bH1f_I(8!^CoqJf`~60l^%O{5V2tsjO>iC$stI`jwS zbruhe61rmCdB}MPhgySO@; z>MPh7x|rEJ+3E|aDoe_VDl6-Yh{{N+i7IL8t1;3s&@-~=p9hzp_B5XLC7gCO)2pgL z0sxoG$XQkVtF9i<0DvIRfB*m>DF1By$MS!A2!M#nGo9GGBgv-(0D!$L008y>1Iwo= z`A3~)|GzVICicc2|8*!{PR>eP{(m_X(gW;bI=MlIv)O9fWW0H^COO)=Eja2n+G_i6 z=I6X;mh*M<^Z*}IbG%yfxtwfAY6VMK4+;YW^xrCg2uhC5xN$$&1P}=T`XM*~03Ot< z(h_1@iW^#rYa6p`8iLt!tCr(GKrpj4{X+I8|M4PSzB1gT?gZXlx@~fBNB}pVo62>o z#3^su!%jyTYsdac2K>pq70H=OuiND_f=}KfpVKia6<|}HADt}klxiY >5P1Xxh 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

PhZ03zfE?ZX${=# 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

+ + +
+ +
+

当前流程

+
    +
    + + +
    +
    +
    + + +
    + +
    +
    + +
    +
    📱
    +

    家长端完整流程

    +

    登录 → 建档 → 体态筛查 → 报告 → 训练计划

    +
    +
    +
    🧒
    +

    儿童训练端

    +

    大按钮跟练 · 星星奖励 · 家长陪同模式

    +
    +
    +
    🖥️
    +

    教练 / 管理后台

    +

    看板 → 报告复核 → 训练记录 → 打卡数据

    +
    +
    +
    +
    + + +
    + +
    +
    + + +
    +
    + + +
    +

    + 登录即表示同意《隐私协议》 +

    +
    + +
    + + +
    + +
    +
    +

    + 本平台收集儿童体态视频用于 AI 健康筛查,数据加密存储,保留期限不超过 3 年。 + 报告仅用于健康管理建议,不构成医疗诊断。您可随时申请删除数据。 +

    +
    +
    + +
    + + +
    + +
    +
    +
    +
    +

    小明 · 10 岁

    +

    身高 142cm · 体重 36kg

    +
    + 需关注 +
    +
    +

    📋 开始新的体态检测

    +

    按引导拍摄正面/侧面站姿视频,约 2 分钟

    + +
    +
    +

    📊 最近报告

    +

    2026-07-20 体态筛查 · 中度关注

    + +
    +
    +

    🎥 今日 AI 跟练打卡

    +

    肩胛稳定训练 · 摄像头实时跟练 + 语音纠正

    + + +
    +
    +
    +
    🏠首页
    +
    📊报告
    +
    📅计划
    +
    👤我的
    +
    +
    + + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +
    + + +
    +

    正面:评估高低肩、骨盆对称 · 参考 Posture AI 双视角筛查

    +
    1
    距离手机 2–3 米,全身入镜
    +
    2
    光线充足,避免逆光
    +
    3
    穿贴身衣物,赤脚或穿袜
    +
    4
    自然站立 10–15 秒
    +
    + + 模拟画面 +
    +
    +
    📷
    +

    摄像头预览已开启 · 点击下方模拟录制

    +
    +
    + +
    + + +
    + +
    +
    +

    正在上传… 0%

    +
    + +
    + + +
    + +
    +
    +

    姿态识别中…

    +
    +

    MediaPipe Pose · 33 关键点

    +
    + +
    + + +
    + +
    +
    +

    综合评估

    +

    中度关注

    +

    建议关注头前伸与高低肩,开始针对性训练

    +
    +
    +

    关键指标

    +
    +
    头前伸中度 · 78%
    +
    高低肩轻度 · 65%
    +
    骨盆倾斜正常 · 92%
    +
    膝内扣正常 · 88%
    +
    +
    +
    +

    训练建议

    +

    + ① 每日肩胛稳定训练 5 分钟
    + ② 颈后肌群拉伸 3 组
    + ③ 28 天后建议复测对比 +

    +
    +
    + ⚠️ 本报告用于健康管理建议,不构成医疗诊断。如有疼痛或明显不适,请咨询专业医生。 +
    +
    + +
    +
    🏠首页
    +
    📊报告
    +
    📅计划
    +
    👤我的
    +
    +
    + + +
    + +
    +
    +
    +

    进度

    第 3 / 28 天 +
    +
    +
    +
    +

    今日任务 · Day 3

    +
    +

    ① 肩胛稳定训练 · 5 min

    +

    ② 颈后肌群拉伸 · 3 组

    +
    + +
    +
    +

    复测提醒

    +

    计划第 28 天自动提醒复测,对比改善效果

    + + + +
    +
    +
    +
    🏠首页
    +
    📊报告
    +
    📅计划
    +
    👤我的
    +
    +
    + + +
    + +
    +
    + + +
    +

    侧面视角:专测头前伸/颈后角 · 与筛查报告头颈指标对齐

    +
    +

    标准动作示范(Ghost 参考)

    +
    +
    +
    +

    + 动作要点:双肩向后收、下沉,保持颈后延展,避免头前伸。节奏 2 秒收、2 秒放,共 8 次。 +

    +
    +
    +

    关联筛查基线 · posture_screening

    +
    头前伸中度 · 78%
    +
    高低肩轻度 · 65%
    +
    10岁男童参考头颈角 ≤15°
    +
    +
    +

    本次训练模型

    +
    Pose 引擎MediaPipe · 33关键点 · 30fps
    +
    任务类型movement_scoring v1
    +
    推理方式🔒 端侧实时 · 结束后上传
    +
    +
    + 训练过程将实时分析动作轨迹并给出纠正建议,不构成医疗诊断。如有疼痛请立即停止。 +
    +
    + +
    + + +
    + +
    +
    +
    + + 模拟画面 +
    +
    +
    +

    正在检测机位…

    + +
    +
    +

    校准检查项

    +
    + ⏳ 距离 2–3m + ⏳ 摄像头高度 + ⏳ 全身入镜 + ⏳ 侧面角度 +
    +
    +
    +

    + 参考 Kemtai / Move Sense:机位不对会导致关键点置信度下降,系统将在置信度 < 70% 时降级输出,仅提示「建议调整机位/教练复核」。 +

    +
    +
    + +
    + + +
    +
    +
    + + 模拟画面 +
    +
    跟练中
    +
    +
    00:00
    +
    肩胛后缩 · 第 0/8 次
    +
    +
    + +
    + 🔒 端侧推理 + 🔊 语音提醒开 + 10岁参考 ≤15° +
    + +
    +
    头颈角 18° 目标 ≤15°
    +
    肩高差 8mm 目标 ≤5mm
    +
    + +
    + 72 + 实时分 +
    +
    置信度 91%
    + +
    + + + + + + + + + + + Ghost 标准 +
    + + + + + + + + + + + + + + + + +
    +
    + +
    +
    Coach Agent · 实时纠正 🔊
    +
    准备开始,请站直面对摄像头
    +
    规则来源:肩胛稳定训练 · 关节角度阈值
    +
    + +
    +
    五维评分
    +
    +
    轨迹 30%
    70
    +
    角度 30%
    58
    +
    节奏 20%
    75
    +
    稳定 10%
    82
    +
    完成 10%
    65
    +
    +
    + +
    + + + +
    +
    +
    +
    + + +
    + +
    +
    +

    抽帧 & 关键点识别…

    +
    +

    + 任务类型 movement_scoring
    + 保留帧级关键指标 · 写入 training_records +

    +
    + +
    + + +
    + +
    +
    +

    综合动作评分 · movement_scoring

    +

    81

    +

    比上次跟练 +6 分 · 完成 8/8 次 · 置信度 89%

    +
    + +
    +

    📊 对比筛查基线 · posture_screening

    +

    2026-07-20 筛查报告 vs 本次跟练 — 核心差异化能力

    +
    +
    + 头前伸 + 筛查 78 中度 + 本次均 15° + ↓ 改善 3° · 接近 10岁标准 ≤15° +
    +
    + 高低肩 + 筛查 65 轻度 + 轨迹偏差 6mm + ↓ 改善 50% · 由 12mm 降至 6mm +
    +
    + 训练完成 + 计划 Day 3 + 8/8 次 + 连续打卡 3 天 · 14天目标 ≥60% +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +

    五维评分(算法文档加权)

    +
    +
    78
    动作轨迹
    权重 30%
    +
    72
    关节角度
    权重 30%
    +
    85
    节奏控制
    权重 20%
    +
    88
    稳定性
    权重 10%
    +
    80
    完成度
    权重 10%
    +
    +
    + +
    +

    帧级关键片段(可回放 · 引用输入字段)

    +
    +
    00:42 · 关节角度 · 置信度 87%
    + 头颈角 18° > 阈值 15° → 「收下巴、颈后延展」 +
    +
    +
    01:15 · 动作轨迹 · 置信度 91%
    + 左肩轨迹偏高 12mm → 「两侧肩胛同步后收」 +
    +
    +
    02:30 · 置信度 58% · 降级输出
    + 关键点遮挡 → 仅提示「建议调整机位/教练复核」,不给强结论 +
    +
    +
    03:20 · 节奏控制 · 置信度 94%
    + 2 秒收放周期达标 · 稳定性 92 分 +
    +
    + +
    +

    Parent Agent · 家长可读总结

    +

    + 今天整体表现不错!主要需要关注练习时不要低头,想象头顶有一本书要保持水平。 + 左右肩膀尽量一起动,明天继续同样的训练,28 天后我们会安排复测对比。 +

    +
    + +
    + ⚠️ 本报告用于运动训练反馈,不构成医疗诊断。低置信度片段已标记,建议教练复核。 +
    +
    + +
    + + +
    + +
    +
    +

    跟练评分趋势

    +
    + + + + +
    +
    + 跟练综合分 + 头颈角 (°) +
    +

    Day1: 68 → Day3: 81 · 头颈角 21° → 15° · 参考 PhysioAI ROM 进度追踪

    +
    +
    +

    打卡日历(14 天完成率目标 ≥60%)

    +
    +
    1
    2
    3
    +
    4
    5
    6
    7
    +
    8
    9
    10
    11
    +
    12
    13
    14
    +
    15
    16
    17
    18
    +
    19
    20
    21
    22
    +
    23
    24
    25
    26
    +
    27
    28
    +
    +

    当前完成率 100%(3/3 天)· 超过 14 天目标

    +
    +
    +

    关键指标变化

    +
    头颈角均值21° → 15° ↓
    +
    肩轨迹偏差12mm → 6mm ↓
    +
    跟练均分68 → 81 ↑
    +
    +
    + +
    + + +
    + +
    +
    +
    +
    posture_screening · 2026-07-20
    +

    ① 初筛报告

    +
    头前伸中度 78%
    +
    高低肩轻度 65%
    +
    综合中度关注
    + +
    +
    ↓ 下发 28 天训练计划 · Day 1–3 跟练
    +
    +
    movement_scoring · 2026-07-23 · Day 3
    +

    ② 跟练打卡报告

    +
    动作评分81 分
    +
    头颈角均15°(↓3°)
    +
    肩轨迹6mm(↓50%)
    + +
    +
    ↓ 计划 Day 28 自动提醒复测
    +
    +
    posture_screening · 复测预览 · Day 28
    +

    ③ 复测报告(预期)

    +
    头前伸预期 轻度 55%
    +
    高低肩预期 正常 85%
    +
    综合轻度关注 → 正常
    + +
    +
    +
    +

    闭环价值(合伙人重点)

    +

    + 初筛定位问题 → 跟练过程量化改善 → 复测验证效果。机构可据此做续费/进阶课程转化,家长可见可量化进步。 +

    +
    +
    + +
    + + +
    + +
    +
    🧒
    +

    已连续打卡 3 天!

    +
    ⭐ ⭐ ⭐
    + + +

    家长陪同模式 · 大按钮 · 少文字

    +
    +
    + + +
    +
    +
    +

    AI 跟练打卡成功!

    +
    ⭐ ⭐ ⭐
    + 连续打卡 3 天 · 获得「姿态小达人」 +

    跟练报告已归档 · 教练将收到复核通知

    +
    +

    本次跟练摘要

    +
    动作评分81 分 (+6)
    +
    完成次数8 / 8 次
    +
    实时纠正5 次(含 1 次降级)
    +
    对比筛查头前伸 ↓3°
    +
    数据归档training_records #3847
    +
    +
    +

    教练点评

    +

    头前伸有改善趋势,继续保持节奏练习。下次注意左右肩同步。

    +
    +
    + +
    + +
    +
    + + +
    + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    • ⚙️ 系统设置
    • +
    +
    +
    +
    +
    运营看板 · 阳光运动中心
    + +
    +
    +
    +
    128
    新增档案(月)
    +
    356
    上传视频
    +
    312
    完成报告
    +
    89
    活跃计划
    +
    +
    +

    待办事项

    +
    待复核报告12 份 →
    +
    跟练打卡待复核3 条 →
    +
    待分配教练5 人 →
    +
    复测到期提醒8 人
    +
    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    • ⚙️ 系统设置
    • +
    +
    +
    +
    +
    儿童档案
    + +
    +
    + + + + + + + +
    姓名年龄家长最近报告教练状态
    小明10186****0000中度关注李教练活跃
    小红8139****1234正常王教练活跃
    小华12158****5678需复核待分配
    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    • ⚙️ 系统设置
    • +
    +
    +
    +
    报告复核 · 待处理 12 份
    +
    + + + + + + +
    儿童检测日期风险等级AI 置信度状态
    小明2026-07-23中度关注87%待复核
    小华2026-07-22需复核62%待复核
    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    +
    +
    +
    +
    ← 返回列表 · 小明 · 报告复核
    +
    +
    +
    +
    +

    AI 分析结果

    +
    头前伸中度 78%
    +
    高低肩轻度 65%
    +
    骨盆倾斜正常 92%
    +

    模型版本:mediapipe-pose-v1 · Agent v1.2

    +
    +
    +

    教练复核意见

    + +
    +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    +
    +
    +
    +
    +

    报告已发布

    +

    已通知家长端 · 训练计划已自动关联下发

    +
    + + +
    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    +
    +
    +
    训练计划
    +
    + + + + + + +
    儿童计划目标进度教练状态
    小明改善头前伸/高低肩3/28 天李教练进行中
    小红姿态维持14/28 天王教练进行中
    +

    💡 跟练打卡记录在侧栏「🎥 跟练打卡记录」· 点击小明跳转家长端

    +
    +
    +
    +
    + + +
    +
    +
    + +
      +
    • 📊 运营看板
    • +
    • 👶 儿童档案
    • +
    • 📋 报告复核
    • +
    • 📅 训练计划
    • +
    • 🎥 跟练打卡记录
    • +
    +
    +
    +
    +
    ← 返回 · 小明 · 跟练打卡 #3847
    + +
    +
    +
    +
    +

    训练概况

    +
    动作肩胛稳定训练
    +
    时长4:32
    +
    综合评分81 分
    +
    置信度89%
    +
    模型版本mediapipe-pose-v1
    +
    +
    +

    五维评分明细

    +
    动作轨迹 (30%)78
    +
    关节角度 (30%)72
    +
    节奏控制 (20%)85
    +
    稳定性 (10%)88
    +
    完成度 (10%)80
    +
    +
    +
    +

    实时纠正记录(帧级)

    + + + + + + + + + +
    时间点触发维度检测问题实时提醒置信度
    00:42关节角度头前伸 18°收下巴、颈后延展87%
    01:15动作轨迹左肩偏高 12mm两侧肩胛同步后收91%
    02:08节奏控制收放周期 3.2s放慢至 2 秒一拍85%
    02:30置信度降级遮挡 · 58%建议调整机位/教练复核58%
    03:20稳定性✓ 表现良好,保持94%
    +
    +
    +

    对比筛查基线

    +
    头前伸筛查78 → 本次15° ↓3°
    +
    高低肩轨迹12mm → 6mm ↓50%
    +
    完成次数8/8 次
    +
    +
    +

    Coach Agent 复核建议

    + +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/企业级系统架构.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/企业级系统架构.docx new file mode 100644 index 0000000000000000000000000000000000000000..1873a19c59eb079c23efeb7c37907eaafc385218 GIT binary patch literal 39898 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 Z-^vuBKn$F{KLQyYXbgw~Gbumb{RiO|!>|AV literal 0 HcmV?d00001 diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.html b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.html new file mode 100644 index 0000000..f1fe668 --- /dev/null +++ b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.html @@ -0,0 +1,922 @@ + + + + + + 儿童 AI 体态管理平台 · 系统架构与建设规划 V1.0 + + + + + + +
    +
    商业交付包 V1.0 · 合伙人讨论稿
    +

    儿童 AI 体态管理平台

    +

    系统架构与建设规划 — 从 MVP 到商业试点的完整技术路线与落地节奏

    +
    + 版本 V1.0 + 2026-07-23 + 目标用户 3–16 岁 + 非医疗诊断 · 健康管理 +
    + +
    + + + + +
    + + +
    +
    +
    1
    +

    项目定位与建设目标

    +
    + +
    +

    我们在做什么

    +

    面向 3–16 岁儿童青少年 的 AI 体态管理与运动康复平台,围绕含胸驼背、头前伸、高低肩、骨盆姿态、膝内扣、足弓与运动协调等常见问题,提供 AI 筛查、结构化报告、训练计划、打卡复测与机构 SaaS 运营闭环。

    +
    + ⚠️ + 合规边界:平台输出用于健康管理与运动训练,不替代医院诊断。涉及疼痛、明显畸形、外伤或医生已明确限制运动的情况,必须提示线下专业评估。 +
    +
    + +
    +

    试点阶段核心指标

    +
    +
    ≥90%
    分析任务达成率
    +
    ≥80%
    报告 30 分钟内查看率
    +
    ≥60%
    14 天训练完成率
    +
    ≥50%
    60 天复测率
    +
    ≥20%
    报告→课程转化率
    +
    +
    +
    + + +
    +
    +
    2
    +

    总体系统架构

    +
    + +
    +

    分层架构

    +
    +
    +flowchart TB
    +    subgraph CLIENT["客户端层"]
    +        MP["微信小程序 / H5 家长端"]
    +        TR["儿童训练端"]
    +        AD["Web 管理后台"]
    +    end
    +
    +    subgraph GATEWAY["网关层"]
    +        GW["鉴权 JWT · 限流 · 审计 · requestId"]
    +    end
    +
    +    subgraph BIZ["业务服务层"]
    +        AUTH["Auth / User"]
    +        CHILD["Child Profile"]
    +        VIDEO["Video / Analysis"]
    +        TRAIN["Training"]
    +        COMM["Commerce"]
    +        OPS["Admin / Ops"]
    +    end
    +
    +    subgraph AI["AI 服务层(异步)"]
    +        VW["Video Worker"]
    +        POSE["Pose 服务"]
    +        SCORE["评分服务"]
    +        AGENT["Agent 解释"]
    +    end
    +
    +    subgraph DATA["数据设施层"]
    +        MYSQL[("MySQL 8.x")]
    +        REDIS[("Redis")]
    +        OSS[("对象存储 OSS")]
    +        LOG["日志 / 监控"]
    +    end
    +
    +    CLIENT --> GATEWAY --> BIZ
    +    BIZ --> AI
    +    BIZ --> DATA
    +    AI --> DATA
    +        
    +
    +
    + +
    +

    五大设计原则

    +
    +
    +

    ① 业务与 AI 解耦
    长任务异步化,HTTP 不阻塞,前端轮询/WebSocket 查状态。

    +
    +
    +

    ② 全链路可追溯
    保留关键点、指标、模型版本、Agent 提示词版本。

    +
    +
    +

    ③ 多租户隔离
    机构数据按 tenant_id 隔离,教练仅访问授权儿童。

    +
    +
    +

    ④ 接口契约优先
    以 openapi.yaml 为单一事实来源,向后兼容扩展。

    +
    +
    +

    ⑤ 幂等与审计
    写接口 Idempotency-Key;复核/退款/权限变更全量审计。

    +
    +
    +
    +
    + + +
    +
    +
    3
    +

    模块划分与职责

    +
    + +
    +

    业务服务模块

    + + + + + + + + + + + + +
    模块职责核心数据
    Auth/User手机/微信登录、角色、租户users, tenants
    Child Profile儿童档案、成长指标、授权children, child_measurements
    Video/Analysis直传签名、任务、报告videos, analysis_tasks, reports
    Training动作库、计划、打卡、复测exercises, training_plans
    Commerce套餐、订单、会员权益products, orders
    Admin/Ops线索、看板、审计operation_leads, audit_logs
    +
    + +
    +
    +

    AI 服务组件

    + + + + + + + + +
    组件技术
    Video WorkerFFmpeg + 队列
    Pose 服务MediaPipe Pose(33 关键点)
    评分服务规则引擎 + 加权算法
    Agent 服务LLM + 模板约束
    +
    +
    +

    Agent 角色分工

    + + + + + + + + +
    Agent输出
    Assessment风险摘要、复核建议
    Coach周期计划、每日动作
    Parent家长可读报告文案
    Operation线索分层、触达话术
    +
    +
    +
    + + +
    +
    +
    4
    +

    核心业务流程

    +
    + +
    +

    家长端主流程

    +
    +
    +flowchart LR
    +    A["授权登录"] --> B["创建档案"]
    +    B --> C["拍摄上传"]
    +    C --> D["创建分析任务"]
    +    D --> E["AI 异步处理"]
    +    E --> F["生成报告"]
    +    F --> G["查看建议"]
    +    G --> H["训练打卡"]
    +    H --> I["复测对比"]
    +        
    +
    +
    + +
    +

    AI 分析异步链路

    +
    +
    +sequenceDiagram
    +    participant P as 家长端
    +    participant API as 后端 API
    +    participant Q as 消息队列
    +    participant W as AI Worker
    +    participant A as Agent
    +
    +    P->>API: POST /api/analysis/tasks
    +    API->>Q: 入队 QUEUED
    +    API-->>P: 返回 taskId
    +
    +    W->>Q: 拉取任务
    +    W->>W: 抽帧 + Pose + 指标计算
    +    alt 置信度不足
    +        W->>API: FAILED + 建议重拍
    +    else 置信度合格
    +        W->>A: 生成报告文案
    +        A->>API: 写入 report
    +        API-->>P: 推送/轮询 SUCCEEDED
    +    end
    +        
    +
    +
    + +
    + 💡 + MVP 最小闭环:家长 2 分钟内完成建档 + 视频上传 → 5 分钟内收到 AI 报告 → 报告含风险等级、指标解释、建议动作、免责声明。 +
    +
    + + +
    +
    +
    5
    +

    技术选型建议

    +
    + +
    +

    MVP 推荐技术栈

    + + + + + + + + + + + + +
    层级推荐方案说明
    后端 APIPython FastAPI / Node.js NestJS与 OpenAPI 契约对齐
    任务队列Redis + Celery / BullMQ分析任务削峰、重试
    数据库MySQL 8.x已有完整 schema
    对象存储阿里云 OSS / MinIO视频直传、生命周期归档
    AI 推理MediaPipe Pose + Python Worker一期快速落地
    Agent大模型 API + Prompt 模板输出受控、版本化
    家长端微信小程序(Taro/uni-app)覆盖微信生态
    管理后台Vue 3 + Element Plus高密度信息布局
    +
    + +
    +

    环境规划

    + + + + + + + + +
    环境用途要求
    dev日常开发联调模拟支付、测试 OSS
    test测试验收回归数据可重置
    staging预发布/客户演示与生产同拓扑
    prod正式服务备份、监控、告警
    +
    +
    + + +
    +
    +
    6
    +

    分阶段建设规划

    +
    + +
    +
    +
    +

    P0 方案确认

    +
    1 周
    +

    范围、架构、数据、合规边界对齐。交付:PRD 签字、架构文档、接口/DB 契约、Git 工程初始化。

    +
    +
    +

    P1 MVP 研发

    +
    4–6 周
    +

    家长端 + 视频分析 + 报告 + 基础后台。交付:可演示版本、测试报告、staging 部署。

    +
    +
    +

    P2 试点交付

    +
    4 周
    +

    接入 1–3 家机构,跑通筛查→课程闭环。交付:试点数据、运营 SOP、教练培训。

    +
    +
    +

    P3 商业化增强

    +
    6–8 周
    +

    支付、权限、模型评估、生产运维。交付:商业版 V1.0、监控告警、备份演练。

    +
    +
    +
    + +
    +

    P1 MVP 六周排期

    + + + + + + + + + + +
    周次模块交付标准优先级
    W1工程初始化 + Auth + 儿童档案登录、建档 CRUD、DB 迁移Must
    W2视频上传链路OSS 直传、视频登记、拍摄引导 UIMust
    W3AI Worker 骨架抽帧 + MediaPipe + 基础指标Must
    W4报告生成 + Agent结构化 report + 家长文案Must
    W5家长端小程序建档→上传→看报告完整流程Must
    W6基础管理后台 + 联调报告列表、任务监控、冒烟测试Should
    +
    + 📌 + MVP 可后置:支付与会员、完整训练打卡、运营线索漏斗、多机构租户管理 → 放入 P2/P3。 +
    +
    +
    + + +
    +
    +
    7
    +

    团队分工建议

    +
    + +
    + + + + + + + + + +
    角色人数核心职责
    产品负责人1需求拆解、验收标准、试点反馈闭环
    前端工程师1小程序/H5、儿童训练页、Web 后台
    后端工程师1API、任务队列、权限、数据模型
    算法工程师1关键点、评分规则、质量检测、Agent 约束
    测试/交付0.5–1场景测试、部署验证、SOP 落地
    +
    +
    + + +
    +
    +
    8
    +

    安全与合规架构

    +
    + +
    +
    +

    数据分级

    + + + + + + + + +
    等级类型策略
    L1 敏感手机号、姓名、视频加密/哈希、脱敏
    L2 业务报告、训练、订单MySQL + 租户隔离
    L3 衍生关键点、指标 JSON绑定任务、保留版本
    L4 运营线索、看板聚合脱敏聚合
    +
    +
    +

    合规硬性约束

    +
      +
    • 报告不得出现确诊、治疗、治愈等医疗表述
    • +
    • Agent 输出引用输入字段,保留提示词版本
    • +
    • 低置信度 → 仅「建议重拍/教练复核」
    • +
    • 审计日志保留 ≥ 180 天
    • +
    • 写接口幂等保护(Idempotency-Key)
    • +
    +
    +
    +
    + + +
    +
    +
    9
    +

    风险与应对

    +
    + +
    + + + + + + + + + +
    风险影响应对策略
    AI 置信度不足报告不可用、信任低拍摄质量前置检测 + 降级文案
    医疗合规边界模糊法律风险PRD 约束 + Agent 过滤 + 人工复核
    MVP 范围膨胀延期交付严格 MoSCoW,支付/运营后置
    机构数据隔离合作受阻一期引入 tenant_id
    儿童个体差异大误报/漏报保留教练复核,不做全自动闭环
    +
    +
    + + +
    +
    +
    10
    +

    工程化进展(P3)

    +
    + +
    +
    +

    Monorepo 结构

    +
    happy-up/
    +├── contracts/     openapi + database.sql
    +├── apps/api/      FastAPI Starter
    +├── doc/           商业交付文档包
    +├── docker-compose.yml
    +└── Makefile
    +

    + make up 启动 MySQL/Redis · make api-dev 启动 API · Swagger /docs +

    +
    +
    +

    产品 Demo(P2 能力)

    +
      +
    • AI 实时跟练 · Ghost · 五维评分
    • +
    • WebRTC 摄像头预览(校准/跟练/拍摄)
    • +
    • 真实 PDF 导出(4 类报告)
    • +
    • 28 天趋势 · 三报告对比 · 儿童端
    • +
    + 进入 Demo +
    +
    + +
    +

    Sprint 1 下一步

    + + + + + + + + +
    序号任务交付标准
    1Alembic 迁移对接 database.sql 核心表
    2Auth JWT登录签发 + 鉴权中间件
    3儿童档案 CRUD落库 + 单元测试
    4分析任务队列Redis 入队 + Worker 骨架
    +
    +
    + + +
    +
    +
    11
    +

    近期行动清单(合伙人讨论)

    +
    + +
    +
    +

    本周 P0 — 需要合伙人拍板

    +
      +
    • 确认 MVP 范围与 6 周交付目标
    • +
    • 确认技术选型(FastAPI vs NestJS、云厂商)
    • +
    • 确认团队配置与外包边界
    • +
    • Git 初始化 + monorepo 目录结构
    • +
    • 从 openapi.yaml / database.sql 生成工程骨架
    • +
    +
    +
    +

    下周起 P1 — 研发启动

    +
      +
    • Sprint 1:Auth + 儿童档案 + DB 迁移
    • +
    • 确定 1 家种子机构作为试点需求来源
    • +
    • 算法完成 MediaPipe 本地验证(正/侧面站姿)
    • +
    • staging 环境搭建与 CI 流水线
    • +
    • 每周需求评审 + 风险评审机制启动
    • +
    +
    +
    +
    + +
    + + + 📱 产品 Demo + + +
    + 儿童 AI 体态管理与运动康复平台 · 商业交付包 V1.0 · 系统架构与建设规划
    + 配套 Markdown 文档:03_技术架构/系统架构与建设规划.md · 生成日期 2026-07-23 +
    + + + + diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.md b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.md new file mode 100644 index 0000000..affa5d8 --- /dev/null +++ b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/03_技术架构/系统架构与建设规划.md @@ -0,0 +1,424 @@ +# 儿童 AI 体态管理平台 · 系统架构与建设规划 + +> **版本**:V1.0 · **日期**:2026-07-23 +> **适用阶段**:MVP → 商业试点 → 商业交付 V1.0 +> **主要读者**:创始团队、合伙人、产品、研发、运营、机构合作方 + +--- + +## 1. 项目定位与建设目标 + +### 1.1 产品定位 + +面向 **3–16 岁儿童青少年** 的 AI 体态管理与运动康复平台,围绕含胸驼背、头前伸、高低肩、骨盆姿态、膝内扣、足弓与运动协调等常见问题,提供: + +- **AI 筛查**(非医疗诊断) +- **结构化报告**与可解释建议 +- **训练计划**与打卡复测 +- **机构 SaaS** 运营与转化闭环 + +> **合规边界**:平台输出用于健康管理与运动训练,不替代医院诊断;涉及疼痛、明显畸形、外伤或医生已明确限制运动的情况,必须提示线下专业评估。 + +### 1.2 本期建设目标 + +| 维度 | 目标 | +|------|------| +| 业务闭环 | 建档 → 视频采集 → AI 分析 → 报告 → 训练 → 复测 → 机构转化 | +| 技术目标 | 业务与 AI 解耦、多租户隔离、全链路可追溯、异步分析 ≤ 5 分钟 | +| 商业目标 | 4–6 周可演示 MVP,8–10 周接入 1–3 家机构试点 | + +### 1.3 核心成功指标(试点阶段) + +| 指标 | 定义 | 目标 | +|------|------|------| +| 分析任务达成率 | 任务进入 PROCESSING 并生成报告或可解释失败 | ≥ 90% | +| 报告查看率 | 报告产生后 30 分钟内家长首次查看 | ≥ 80% | +| 训练任务完成率 | 14 天内计划任务完成比例 | ≥ 60% | +| 训练后复测率 | 60 天内完成复测的儿童比例 | ≥ 50% | +| 课程转化率 | 看完报告后进入课程/会员 | ≥ 20% | + +--- + +## 2. 总体系统架构 + +### 2.1 分层架构概览 + +系统采用 **云原生分层架构**:客户端层 → 网关层 → 业务服务层 → AI 服务层 → 数据设施层。 + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ 客户端层 (Client) │ +│ 微信小程序/H5 家长端 │ 儿童训练端 │ Web 管理后台 │ +└───────────────────────────────┬─────────────────────────────────┘ + │ HTTPS +┌───────────────────────────────▼─────────────────────────────────┐ +│ 网关层 (API Gateway) │ +│ 鉴权 JWT · 限流 · 审计 · 请求追踪 (requestId) │ +└───────────────────────────────┬─────────────────────────────────┘ + │ +┌───────────────────────────────▼─────────────────────────────────┐ +│ 业务服务层 (Business Services) │ +│ Auth/User │ Child Profile │ Video/Analysis │ Training │ Commerce │ +│ Admin/Ops │ +└───────────────┬─────────────────────────────┬───────────────────┘ + │ REST + 任务创建 │ 异步回调 +┌───────────────▼───────────────┐ ┌───────────▼───────────────────┐ +│ AI 服务层 (AI Layer) │ │ 消息队列 (Queue) │ +│ Video Worker │ Pose │ Score │◄──│ Redis/RabbitMQ │ +│ Agent 解释服务 │ └───────────────────────────────┘ +└───────────────┬───────────────┘ + │ +┌───────────────▼─────────────────────────────────────────────────┐ +│ 数据设施层 (Data Layer) │ +│ MySQL 8.x │ Redis │ 对象存储 OSS │ 向量记忆 │ 日志/监控平台 │ +└─────────────────────────────────────────────────────────────────┘ +``` + +### 2.2 关键设计原则 + +1. **业务与 AI 解耦**:长任务异步化,前端只创建任务并轮询/WebSocket 查状态,不阻塞 HTTP 链路。 +2. **全链路可追溯**:保留原始关键点、计算指标、模型版本、Agent 提示词版本与审核状态。 +3. **多租户隔离**:机构数据按 `tenant_id` 隔离,教练仅访问授权儿童。 +4. **接口契约优先**:以 `openapi.yaml` 为单一事实来源,向后兼容扩展。 +5. **幂等与审计**:写接口支持 `Idempotency-Key`;报告复核、退款、权限变更全量审计。 + +--- + +## 3. 模块划分与职责 + +### 3.1 业务服务模块 + +| 模块 | 职责 | 核心数据表 | +|------|------|-----------| +| **Auth/User** | 手机/微信登录、角色、租户、隐私协议 | `users`, `tenants`, `users_passwords` | +| **Child Profile** | 儿童档案、成长指标、授权关系 | `children`, `child_measurements` | +| **Video/Analysis** | 直传签名、视频登记、分析任务、报告 | `videos`, `analysis_tasks`, `reports` | +| **Training** | 动作库、训练计划、打卡、复测 | `exercises`, `training_plans`, `training_records` | +| **Commerce** | 套餐、订单、会员权益 | `products`, `orders` | +| **Admin/Ops** | 运营线索、看板、审计、配置 | `operation_leads`, `audit_logs`, `data_retention_rules` | + +### 3.2 AI 服务模块 + +| 组件 | 输入 | 输出 | 技术选型 | +|------|------|------|----------| +| **Video Worker** | 对象存储视频 | 帧序列、质量检测结果 | FFmpeg + 队列消费 | +| **Pose 服务** | 图片/视频帧 | 33 关键点坐标 + 置信度 | MediaPipe Pose(一期) | +| **评分服务** | 关键点序列 | 体态指标、动作评分、风险等级 | 规则引擎 + 加权算法 | +| **Agent 服务** | 结构化指标 | 报告文案、训练建议、家长话术 | LLM + 模板约束 | + +#### Agent 角色分工 + +| Agent | 职责 | 输出 | +|-------|------|------| +| Assessment Agent | 解读视觉指标与置信度 | 风险摘要、重点指标、复核建议 | +| Coach Agent | 结合年龄与目标生成计划 | 周期计划、每日动作、进阶规则 | +| Parent Agent | 专业内容家长化翻译 | 报告文案、提醒、复测建议 | +| Operation Agent | 机构线索分层与触达 | 人群标签、话术、任务建议 | + +### 3.3 客户端模块 + +| 端 | 用户 | 核心页面/流程 | +|----|------|--------------| +| **小程序/H5 家长端** | 家长 | 登录 → 建档 → 拍摄引导上传 → 报告 → 训练计划 → 订单 | +| **儿童训练端** | 儿童/家长陪同 | 今日训练 → 动作演示 → 跟练计时 → 打卡反馈 | +| **Web 管理后台** | 教练/运营/管理员 | 线索 → 档案 → 报告复核 → 课程 → 数据看板 | + +--- + +## 4. 核心业务流程 + +### 4.1 家长端主流程 + +``` +授权登录 → 隐私协议确认 → 创建儿童档案 + → 按引导拍摄/upload-token 直传 OSS + → 登记视频 → 创建 analysis_task + → 异步 AI 处理(Pose + 评分 + Agent) + → 生成 report → 家长查看 + → 购买/领取 training_plan → 每日打卡 → 复测 +``` + +### 4.2 AI 分析异步链路 + +``` +POST /api/analysis/tasks (返回 taskId) + │ + ▼ + 队列 QUEUED → Worker 拉取 + │ + ▼ + PROCESSING: 抽帧 → Pose → 指标计算 → 质量校验 + │ + ├── 置信度不足 → FAILED + 建议重拍 + │ + ▼ + Agent 生成报告文案 → 写入 reports + │ + ▼ + Webhook 回调后端 → status=SUCCEEDED + reportId + │ + ▼ + 家长端轮询/推送 → 展示报告 +``` + +### 4.3 教练复核流程(试点阶段) + +``` +AI 报告 (draft) → 教练后台复核 → 调整建议/关联课程 + → 报告 published → 下发家长端 → 跟踪训练与复测 +``` + +--- + +## 5. 技术选型建议 + +### 5.1 推荐技术栈(MVP 阶段) + +| 层级 | 推荐方案 | 说明 | +|------|----------|------| +| **后端 API** | Python FastAPI 或 Node.js NestJS | 与 OpenAPI 契约对齐,异步友好 | +| **任务队列** | Redis + Celery / BullMQ | 分析任务削峰、重试 | +| **数据库** | MySQL 8.x | 已有完整 schema(`database.sql`) | +| **缓存** | Redis | Session、限流、队列、热点数据 | +| **对象存储** | 阿里云 OSS / MinIO(dev) | 视频直传、生命周期归档 | +| **AI 推理** | MediaPipe Pose + Python Worker | 一期快速落地,后续可替换模型 | +| **Agent** | OpenAI API / 国产大模型 + Prompt 模板 | 输出受控,版本化管理 | +| **家长端** | 微信小程序(Taro/uni-app) | 覆盖微信生态 | +| **管理后台** | Vue 3 + Element Plus | 高密度信息布局 | +| **网关** | Nginx / Kong | 鉴权、限流、TLS 终结 | +| **监控** | Prometheus + Grafana / 云监控 | 业务 + AI 任务双维度 | + +### 5.2 环境规划 + +| 环境 | 用途 | 要求 | +|------|------|------| +| dev | 日常开发联调 | 模拟支付、测试 OSS | +| test | 测试验收回归 | 数据可重置,配置接近生产 | +| staging | 预发布/客户演示 | 与生产同版本、同拓扑 | +| prod | 正式服务 | 备份、监控、告警、权限收敛 | + +--- + +## 6. 分阶段建设规划 + +### 6.1 阶段总览 + +| 阶段 | 周期 | 目标 | 关键交付物 | +|------|------|------|-----------| +| **P0 方案确认** | 1 周 | 范围、架构、数据、合规边界对齐 | PRD 签字、架构文档、接口/DB 契约、Git 工程初始化 | +| **P1 MVP 研发** | 4–6 周 | 家长端 + 视频分析 + 报告 + 基础后台 | 可演示版本、测试报告、staging 部署 | +| **P2 试点交付** | 4 周 | 接入 1–3 家机构,跑通筛查→课程闭环 | 试点数据、运营 SOP、教练培训材料 | +| **P3 商业化增强** | 6–8 周 | 支付、权限、模型评估、生产运维 | 商业版 V1.0、监控告警、备份演练 | + +### 6.2 P1 MVP 详细排期(建议) + +| 周次 | 模块 | 交付标准 | +|------|------|----------| +| W1 | 工程初始化 + Auth + 儿童档案 | 登录、建档 CRUD、DB 迁移跑通 | +| W2 | 视频上传链路 | OSS 直传、视频登记、质量预检 UI | +| W3 | AI Worker 骨架 | 抽帧 + MediaPipe + 基础指标输出 | +| W4 | 报告生成 + Agent | 结构化 report + 家长可读文案 | +| W5 | 家长端小程序 | 建档→上传→看报告完整流程 | +| W6 | 基础管理后台 + 联调 | 报告列表、任务监控、冒烟测试 | + +**MVP 最小闭环(Must Have):** + +> 家长 2 分钟内完成建档 + 视频上传 → 5 分钟内收到 AI 报告 → 报告含风险等级、指标解释、建议动作、免责声明 + +**MVP 可后置(Should/Could):** + +- 支付与会员 +- 完整训练打卡 +- 运营线索漏斗 +- 多机构租户管理 + +### 6.3 团队分工建议 + +| 角色 | 人数 | 职责 | +|------|------|------| +| 产品负责人 | 1 | 需求拆解、验收标准、试点反馈闭环 | +| 前端工程师 | 1 | 小程序/H5、儿童训练页、Web 后台 | +| 后端工程师 | 1 | API、任务队列、权限、数据模型 | +| 算法工程师 | 1 | 关键点、评分规则、质量检测、Agent 约束 | +| 测试/交付 | 0.5–1 | 场景测试、部署验证、SOP 落地 | + +--- + +## 7. 数据与安全架构 + +### 7.1 数据分层 + +| 等级 | 数据类型 | 存储策略 | +|------|----------|----------| +| L1 敏感 | 手机号、儿童姓名、视频原片 | 加密/哈希、脱敏展示、访问审计 | +| L2 业务 | 报告、训练记录、订单 | MySQL + 租户隔离 | +| L3 衍生 | 关键点、指标 JSON、Agent 输出 | 与任务绑定,保留模型版本 | +| L4 运营 | 线索、看板聚合 | 脱敏聚合,按租户隔离 | + +### 7.2 安全与合规要点 + +- 报告 **不得** 出现确诊、治疗、治愈等医疗表述 +- Agent 输出引用输入字段,保留提示词版本 +- 低置信度 → 仅输出「建议重拍/教练复核」,不给强结论 +- 审计日志保留 ≥ 180 天;视频/报告按 `retention_days` 归档 +- 写接口幂等保护(`api_idempotency_keys` 表) + +--- + +## 8. 部署拓扑 + +### 8.1 MVP 单区域部署 + +``` + ┌─────────────┐ + 用户 ──────────► │ Nginx │ + │ API Gateway│ + └──────┬──────┘ + │ + ┌────────────┼────────────┐ + ▼ ▼ ▼ + ┌──────────┐ ┌──────────┐ ┌──────────┐ + │ API 服务 │ │AI Worker │ │ 后台服务 │ + └────┬─────┘ └────┬─────┘ └────┬─────┘ + │ │ │ + ┌────┴────────────┴────────────┴────┐ + │ MySQL │ Redis │ OSS │ 日志 │ + └───────────────────────────────────┘ +``` + +### 8.2 商业化阶段演进 + +- AI Worker、视频转码、报告生成 **拆分为独立队列消费者** +- 引入灰度发布、多环境配置、自动扩缩容 +- 模型/评分规则/报告模板 **版本化独立发布** + +--- + +## 9. 风险与应对 + +| 风险 | 影响 | 应对策略 | +|------|------|----------| +| AI 置信度不足导致报告不可用 | 用户体验差、机构信任低 | 拍摄质量前置检测 + 低置信度降级文案 | +| 医疗合规边界模糊 | 法律风险 | PRD 硬性约束 + Agent 过滤 + 人工复核 | +| MVP 范围膨胀 | 延期交付 | 严格 MoSCoW,支付/运营后置 | +| 机构试点数据隔离 | 合作受阻 | 一期即引入 tenant_id,权限最小化 | +| 算法儿童个体差异 | 误报/漏报 | 保留教练复核环节,不做全自动闭环 | + +--- + +## 10. 工程化 Monorepo(P3) + +### 10.1 仓库结构 + +``` +happy-up/ +├── contracts/ # openapi.yaml + database.sql(从 doc/ 同步) +├── apps/api/ # FastAPI 后端 Starter +├── doc/ # 商业交付文档包 V1.0 +├── docker-compose.yml # MySQL 8 + Redis 7 +└── Makefile +``` + +### 10.2 产品 Demo 能力(P1/P2) + +| 能力 | 状态 | 说明 | +|------|------|------| +| AI 实时跟练打卡 | ✅ | Ghost 叠加 · Coach Agent cue · 五维评分 | +| WebRTC 摄像头预览 | ✅ | 机位校准/跟练/拍摄引导页 | +| 真实 PDF 导出 | ✅ | 筛查/跟练/趋势/三报告对比 | +| 28 天趋势 + 三报告对比 | ✅ | 商业闭环可视化 | +| 儿童训练端 | ✅ | 大按钮 + 儿童版 cue | + +入口:`doc/.../03_技术架构/产品交互Demo.html` + +### 10.3 API Starter + +- **框架**:FastAPI + Pydantic v2 + SQLAlchemy 2 +- **契约对齐**:路由覆盖 `openapi.yaml` 全部 path(当前 Mock 数据,与 Demo 一致) +- **统一响应**:`StandardResponse` + `requestId` 中间件 +- **本地依赖**:`make up` 启动 MySQL/Redis,`make api-dev` 启动 API + +详见仓库根目录 `README.md` 与 `apps/api/README.md`。 + +### 10.4 Sprint 1 已完成 + +- JWT 登录(验证码 682139)+ Bearer 鉴权 +- 儿童档案 CRUD 落库(MySQL) +- Alembic baseline + `make api-seed` +- 产品 Demo **API 联调模式**(登录 + 首页档案) + +### 10.5 Sprint 2 已完成 + +- 视频直传凭证 + 登记落库(`videos` 表) +- 分析任务 Redis 队列 + Worker 骨架 + 内联处理(开发模式) +- 报告生成落库(`reports` 表 · 对齐 Demo 指标) +- Demo **筛查全流程 API 联调**(上传 → 分析 → 报告) + +### 10.6 Sprint 3 已完成 + +- 训练计划 CRUD + 打卡记录落库(`training_plans` / `training_records`) +- Admin 运营看板真实 DB 聚合 +- Demo 全链路 API 联调(含训练计划页 + 打卡写入 + 后台 KPI) +- `apps/web/` 前端工程占位 + +### 10.7 Sprint 4 已完成 + +- 本地直传 + MinIO 预签名 URL(`OSS_ENABLED=true` + `docker compose` MinIO) +- `PUT /api/videos/direct-upload` 本地上传回退 +- MediaPipe 分析骨架(`pip install -e ".[ai]"` 可选) +- `apps/web` Vue 3 H5(登录 / 档案 / 筛查联调) +- Admin 看板按 `tenant_id` 隔离聚合 + +### 10.8 Sprint 5 已完成 + +- MediaPipe 帧级评分(`pose_metrics.py` 纯函数 + OpenCV 抽帧) +- 服务端 PDF 导出 `GET /api/reports/{id}/pdf` +- OSS 生产配置:`OSS_PROVIDER=aliyun` + `OSS_CDN_BASE_URL` +- H5 四 Tab UI(首页/筛查/报告/训练)对齐 Demo 配色 +- 微信小程序壳 `apps/mini` + +### 10.9 Sprint 6 下一步 + +1. 真实视频数据集标定与模型精度调优 +2. 小程序完整 Tab + 跟练页 +3. 报告复核工作流 + 消息通知 +4. 生产部署(K8s / CI-CD) + +--- + +## 11. 近期行动清单(合伙人讨论用) + +### 本周(P0) + +- [ ] 合伙人确认 MVP 范围与 6 周交付目标 +- [ ] 确认技术选型(FastAPI vs NestJS、云厂商) +- [ ] 确认团队配置与外包边界 +- [x] Git 初始化 + monorepo 目录结构 +- [x] 从 `openapi.yaml` / `database.sql` 生成工程骨架 + +### 下周起(P1 启动) + +- [ ] Sprint 1:Auth + 儿童档案 + DB 迁移 +- [ ] 确定 1 家种子机构作为试点需求来源 +- [ ] 算法同学完成 MediaPipe 本地验证(正面/侧面站姿) + +--- + +## 附录:文档索引 + +| 文档 | 路径 | +|------|------| +| 产品 PRD | `02_企业级PRD/PRD完整版.docx` | +| 企业级架构 | `03_技术架构/企业级系统架构.docx` | +| **本架构与建设规划** | `03_技术架构/系统架构与建设规划.md` | +| **合伙人讨论 HTML** | `03_技术架构/系统架构与建设规划.html` | +| 数据库设计 | `06_数据库设计/database.sql` | +| API 契约 | `07_API接口/openapi.yaml` | +| AI 算法设计 | `04_AI视觉算法/AI视觉算法详细设计.docx` | +| Agent 规范 | `08_Agent智能系统/Agent设计规范.docx` | +| 研发计划 | `12_研发计划/研发计划与项目管理.docx` | +| 部署运维 | `14_部署运维/生产部署运维.docx` | + +--- + +*本文档基于商业交付包 V1.0 现有材料整理,用于创始团队与合伙人架构讨论及研发启动对齐。* diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/04_AI视觉算法/AI视觉算法详细设计.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/04_AI视觉算法/AI视觉算法详细设计.docx new file mode 100644 index 0000000000000000000000000000000000000000..f4a7595db574131466738cadad5287f0f8cf3b84 GIT binary patch literal 40117 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 (d?#0*FD9f*SE(z#Th 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
      dw$37#pw{vlPgX%>iNhz#8yH*KQkFbIWF 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 O37P?{08z?6zy1&L( 20 AND height < 240)), + CHECK (weight IS NULL OR (weight > 5 AND weight < 250)) +); + +CREATE TABLE child_measurements ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + height DECIMAL(5,2), + weight DECIMAL(5,2), + source VARCHAR(32) NOT NULL DEFAULT 'manual', + measured_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + INDEX idx_measurements_child_time (child_id, measured_at), + CHECK (source IN ('manual','device','coach','report')), + CHECK (height IS NULL OR (height > 20 AND height < 240)), + CHECK (weight IS NULL OR (weight > 5 AND weight < 250)) +); + +CREATE TABLE videos ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + uploaded_by BIGINT NOT NULL, + scene VARCHAR(64) NOT NULL, + object_key VARCHAR(512) NOT NULL, + duration_seconds INT, + width INT, + height INT, + size_bytes BIGINT, + codec VARCHAR(32), + quality_result JSON, + status VARCHAR(32) NOT NULL DEFAULT 'uploaded', + archive_until_date DATE NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_videos_child_scene (child_id, scene), + KEY idx_videos_status (status), + UNIQUE KEY uk_videos_object_key (object_key), + CHECK (scene IN ('front_posture','side_posture','squat','balance','gait','custom')), + CHECK (status IN ('uploaded','transcoding','failed','ready','archived')), + CHECK (duration_seconds IS NULL OR duration_seconds BETWEEN 1 AND 1800), + CHECK (size_bytes IS NULL OR size_bytes BETWEEN 1 AND 10737418240) +); + +CREATE TABLE analysis_tasks ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + video_id BIGINT NOT NULL, + task_type VARCHAR(64) NOT NULL, + status VARCHAR(32) NOT NULL DEFAULT 'CREATED', + progress INT NOT NULL DEFAULT 0, + model_version VARCHAR(64), + error_code VARCHAR(64), + error_message VARCHAR(512), + result JSON, + idempotency_key VARCHAR(128), + retry_count INT NOT NULL DEFAULT 0, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + started_at TIMESTAMP NULL, + finished_at TIMESTAMP NULL, + UNIQUE KEY uk_analysis_idempotency (child_id, video_id, task_type, idempotency_key), + KEY idx_analysis_child_status (child_id, status), + KEY idx_analysis_video (video_id), + KEY idx_analysis_created (created_at), + CHECK (status IN ('CREATED','QUEUED','PROCESSING','SUCCEEDED','FAILED','CANCELLED')), + CHECK (task_type IN ('posture_screening','movement_scoring','reassessment')), + CHECK (progress BETWEEN 0 AND 100), + CHECK (retry_count BETWEEN 0 AND 20) +); + +CREATE TABLE reports ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + task_id BIGINT NOT NULL, + report_type VARCHAR(64) NOT NULL DEFAULT 'posture_screening', + risk_level VARCHAR(32) NOT NULL, + summary TEXT NOT NULL, + metrics JSON NOT NULL, + recommendations JSON NOT NULL, + disclaimer TEXT NOT NULL, + status VARCHAR(32) NOT NULL DEFAULT 'draft', + reviewed_by BIGINT NULL, + reviewed_at TIMESTAMP NULL, + published_at TIMESTAMP NULL, + expires_at DATE NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + UNIQUE KEY uk_reports_task (task_id), + KEY idx_reports_child_status (child_id, status), + CHECK (risk_level IN ('low','medium','high','review_required')), + CHECK (status IN ('draft','published','retracted','archived')) +); + +CREATE TABLE exercises ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128) NOT NULL, + category VARCHAR(64) NOT NULL, + target_issue VARCHAR(128), + difficulty VARCHAR(32) NOT NULL DEFAULT 'basic', + duration_seconds INT NOT NULL DEFAULT 60, + media_url VARCHAR(512), + thumbnail_url VARCHAR(512), + rules JSON, + status VARCHAR(32) NOT NULL DEFAULT 'active', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_exercises_category (category, status), + CHECK (difficulty IN ('basic','intermediate','advanced')), + CHECK (status IN ('active','offline','deprecated')), + CHECK (duration_seconds BETWEEN 20 AND 1800) +); + +CREATE TABLE training_plans ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + child_id BIGINT NOT NULL, + report_id BIGINT NULL, + coach_user_id BIGINT NULL, + goal VARCHAR(256) NOT NULL, + cycle_days INT NOT NULL DEFAULT 28, + status VARCHAR(32) NOT NULL DEFAULT 'draft', + plan_detail JSON NOT NULL, + started_at TIMESTAMP NULL, + ended_at TIMESTAMP NULL, + deleted_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_training_plans_child_status (child_id, status), + CHECK (cycle_days BETWEEN 7 AND 180), + CHECK (status IN ('draft','active','completed','paused','cancelled')) +); + +CREATE TABLE training_records ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + plan_id BIGINT NOT NULL, + child_id BIGINT NOT NULL, + exercise_id BIGINT NOT NULL, + completed BOOLEAN NOT NULL DEFAULT FALSE, + score INT, + duration_seconds INT, + feedback JSON, + note VARCHAR(512), + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_training_records_plan (plan_id), + KEY idx_training_records_child_time (child_id, created_at), + CHECK (score IS NULL OR score BETWEEN 0 AND 100), + CHECK (duration_seconds IS NULL OR duration_seconds BETWEEN 1 AND 7200) +); + +CREATE TABLE products ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + name VARCHAR(128) NOT NULL, + product_type VARCHAR(32) NOT NULL, + price_cents INT NOT NULL, + duration_days INT NULL, + benefits JSON NOT NULL, + limit_child INTEGER NOT NULL DEFAULT 1, + status VARCHAR(32) NOT NULL DEFAULT 'active', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + CHECK (product_type IN ('video_pack','training_plan','membership','assessment_bundle','course_package')), + CHECK (status IN ('active','inactive','discontinued')), + CHECK (price_cents >= 0), + CHECK (duration_days IS NULL OR duration_days BETWEEN 1 AND 3650) +); + +CREATE TABLE orders ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + user_id BIGINT NOT NULL, + child_id BIGINT NULL, + product_id BIGINT NOT NULL, + amount_cents INT NOT NULL, + pay_status VARCHAR(32) NOT NULL DEFAULT 'pending', + payment_channel VARCHAR(32), + paid_at TIMESTAMP NULL, + canceled_at TIMESTAMP NULL, + refund_status VARCHAR(32) DEFAULT 'none', + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_orders_user_status (user_id, pay_status), + KEY idx_orders_child (child_id), + CHECK (pay_status IN ('pending','paid','failed','closed','refunding','refunded')), + CHECK (refund_status IN ('none','requested','processing','completed','rejected')), + CHECK (amount_cents >= 0) +); + +CREATE TABLE operation_leads ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NOT NULL, + child_id BIGINT NULL, + source VARCHAR(64) NOT NULL, + stage VARCHAR(32) NOT NULL DEFAULT 'new', + owner_user_id BIGINT NULL, + score INT DEFAULT 0, + priority TINYINT DEFAULT 3, + next_follow_at TIMESTAMP NULL, + note TEXT, + touched_at TIMESTAMP NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + KEY idx_leads_tenant_stage (tenant_id, stage), + KEY idx_leads_owner_next (owner_user_id, next_follow_at), + CHECK (source IN ('wechat','h5','miniapp','partner','referral','offline_campaign')), + CHECK (stage IN ('new','contacted','qualified','closed','lost','churned')), + CHECK (priority BETWEEN 1 AND 5), + CHECK (score BETWEEN 0 AND 100) +); + +CREATE TABLE audit_logs ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + actor_user_id BIGINT NOT NULL, + action VARCHAR(128) NOT NULL, + resource_type VARCHAR(64) NOT NULL, + resource_id BIGINT NULL, + request_id VARCHAR(64), + ip VARCHAR(64), + user_agent VARCHAR(256), + payload JSON, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY idx_audit_actor_time (actor_user_id, created_at), + KEY idx_audit_resource (resource_type, resource_id) +); + +CREATE TABLE data_retention_rules ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tenant_id BIGINT NULL, + resource_type VARCHAR(64) NOT NULL, + archive_after_days INT NOT NULL, + delete_after_days INT NOT NULL, + legal_basis VARCHAR(128), + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + UNIQUE KEY uk_retention (tenant_id, resource_type), + CHECK (delete_after_days >= archive_after_days), + CHECK (archive_after_days >= 30) +); + +CREATE TABLE api_idempotency_keys ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + scope VARCHAR(32) NOT NULL, + idempotency_key VARCHAR(128) NOT NULL, + request_path VARCHAR(255) NOT NULL, + request_hash CHAR(64) NOT NULL, + response_status INT, + response_body JSON, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + UNIQUE KEY uk_idempotency_scope_key (scope, idempotency_key), + KEY idx_idempotency_created (created_at) +); + +-- 运行时可选索引补充说明(按需执行) +-- CREATE INDEX idx_analysis_status_updated ON analysis_tasks(status, updated_at); +-- CREATE INDEX idx_reports_risk_level ON reports(risk_level, created_at); +-- CREATE INDEX idx_orders_pay_status_updated ON orders(pay_status, updated_at); diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/07_API接口/openapi.yaml b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/07_API接口/openapi.yaml new file mode 100644 index 0000000..e474e46 --- /dev/null +++ b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/07_API接口/openapi.yaml @@ -0,0 +1,670 @@ +openapi: 3.0.3 +info: + title: Kids AI Posture Platform API + version: 1.0.0 + description: | + 儿童AI体态管理与运动康复平台 V1.0 API 契约。 + 所有报告用于健康管理建议,不构成医疗诊断。接口返回统一包含 requestId 以便追踪。 +servers: + - url: https://api.example.com + description: production + - url: https://staging-api.example.com + description: staging +security: + - bearerAuth: [] + +x-error-model: &error-model + code: integer + message: string + details: + type: object + additionalProperties: true + requestId: string + +tags: + - name: Auth + - name: Children + - name: Videos + - name: Analysis + - name: Reports + - name: Training + - name: Admin + +paths: + /api/auth/login: + post: + tags: [Auth] + summary: 手机号或微信授权登录 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LoginRequest' + examples: + phone: + summary: 手机验证码 + value: + loginType: phone_code + credential: "186xxxx0000" + code: "682139" + wechat: + summary: 微信授权码 + value: + loginType: wechat + credential: "wx_auth_code" + responses: + '200': + description: 登录成功 + content: + application/json: + schema: + $ref: '#/components/schemas/LoginResponse' + '401': + description: 登录失败 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/children: + get: + tags: [Children] + summary: 获取当前用户可访问的儿童档案 + parameters: + - name: page + in: query + schema: { type: integer, minimum: 1, default: 1 } + - name: pageSize + in: query + schema: { type: integer, minimum: 1, maximum: 100, default: 20 } + responses: + '200': + description: 儿童档案分页列表 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildrenPagedResponse' + post: + tags: [Children] + summary: 创建儿童档案 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChildCreateRequest' + responses: + '201': + description: 创建成功 + headers: + Idempotency-Key: + description: 冪等键回显,用于重试去重核对 + schema: { type: string } + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '400': + description: 请求参数错误 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/children/{childId}: + parameters: + - $ref: '#/components/parameters/ChildId' + get: + tags: [Children] + summary: 获取儿童档案详情 + responses: + '200': + description: 档案详情 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '404': + description: 资源不存在 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + tags: [Children] + summary: 更新儿童档案 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChildUpdateRequest' + responses: + '200': + description: 更新成功 + content: + application/json: + schema: + $ref: '#/components/schemas/ChildResponse' + '409': + description: 更新冲突(数据并发) + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + delete: + tags: [Children] + summary: 注销/归档儿童档案 + responses: + '204': + description: 归档成功 + + /api/videos/upload-token: + post: + tags: [Videos] + summary: 获取视频直传凭证 + description: 建议请求头携带 Idempotency-Key,避免重试产生重复录像对象。 + parameters: + - name: Idempotency-Key + in: header + required: false + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UploadTokenRequest' + responses: + '200': + description: 上传凭证 + content: + application/json: + schema: + $ref: '#/components/schemas/UploadTokenResponse' + '429': + description: 请求过于频繁 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/videos: + post: + tags: [Videos] + summary: 登记已上传视频 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VideoCreateRequest' + responses: + '201': + description: 视频登记成功 + content: + application/json: + schema: + $ref: '#/components/schemas/VideoResponse' + '409': + description: 去重/重复提交 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/analysis/tasks: + post: + tags: [Analysis] + summary: 创建AI分析任务 + description: 同一 childId+videoId+taskType 可复用幂等键创建。 + parameters: + - name: Idempotency-Key + in: header + required: false + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskCreateRequest' + responses: + '201': + description: 任务创建成功 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + '409': + description: 重复任务,返回已有任务 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + + /api/analysis/tasks/{taskId}: + get: + tags: [Analysis] + summary: 查询分析任务状态 + parameters: + - $ref: '#/components/parameters/TaskId' + responses: + '200': + description: 任务状态 + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskResponse' + '404': + description: 任务不存在 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + /api/analysis/tasks/{taskId}/cancel: + post: + tags: [Analysis] + summary: 取消分析任务 + parameters: + - $ref: '#/components/parameters/TaskId' + responses: + '200': + description: 取消成功 + content: + application/json: + schema: + $ref: '#/components/schemas/StandardResponse' + + /api/analysis/webhook: + post: + tags: [Analysis] + summary: 分析结果回调(异步) + description: 系统内部回调给后端事件网关,需使用 HMAC 签名。 + security: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalysisTaskWebhook' + responses: + '204': + description: 接收成功 + + /api/reports/{reportId}: + get: + tags: [Reports] + summary: 获取体态分析报告 + parameters: + - $ref: '#/components/parameters/ReportId' + responses: + '200': + description: 报告详情 + content: + application/json: + schema: + $ref: '#/components/schemas/ReportResponse' + + /api/training/plans: + post: + tags: [Training] + summary: 创建训练计划 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanCreateRequest' + responses: + '201': + description: 训练计划创建成功 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanResponse' + + /api/training/plans/{planId}: + parameters: + - name: planId + in: path + required: true + schema: + type: integer + get: + tags: [Training] + summary: 获取训练计划 + responses: + '200': + description: 训练计划详情 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingPlanResponse' + + /api/training/plans/{planId}/records: + post: + tags: [Training] + summary: 提交训练打卡记录 + parameters: + - name: planId + in: path + required: true + schema: { type: integer } + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingRecordCreateRequest' + responses: + '201': + description: 打卡成功 + content: + application/json: + schema: + $ref: '#/components/schemas/TrainingRecordResponse' + + /api/admin/dashboard: + get: + tags: [Admin] + summary: 获取机构运营看板 + responses: + '200': + description: 看板指标 + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDashboardResponse' + +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + parameters: + ChildId: + name: childId + in: path + required: true + schema: { type: integer } + TaskId: + name: taskId + in: path + required: true + schema: { type: integer } + ReportId: + name: reportId + in: path + required: true + schema: { type: integer } + schemas: + ApiMeta: + type: object + properties: + requestId: { type: string } + timestamp: { type: string, format: date-time } + traceId: { type: string } + StandardResponse: + type: object + properties: + code: { type: integer } + message: { type: string } + data: { type: object, nullable: true } + meta: { $ref: '#/components/schemas/ApiMeta' } + ErrorResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + code: { type: integer, example: 10003 } + message: { type: string, example: parameter_validation_failed } + data: + type: object + properties: + errorCode: { type: string } + path: { type: string } + PagedMeta: + type: object + properties: + page: { type: integer } + pageSize: { type: integer } + total: { type: integer } + hasMore: { type: boolean } + LoginRequest: + type: object + required: [loginType, credential] + properties: + loginType: { type: string, enum: [phone_code, wechat] } + credential: { type: string } + code: { type: string } + LoginResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + token: { type: string } + user: { $ref: '#/components/schemas/User' } + User: + type: object + properties: + id: { type: integer } + phoneMasked: { type: string } + role: { type: string, enum: [parent, coach, org_admin, platform_admin] } + ChildCreateRequest: + type: object + required: [name, birthday] + properties: + name: { type: string } + birthday: { type: string, format: date } + gender: { type: string, enum: [male, female, unknown] } + height: { type: number } + weight: { type: number } + contraindications: { type: string } + ChildUpdateRequest: + allOf: + - $ref: '#/components/schemas/ChildCreateRequest' + Child: + type: object + properties: + id: { type: integer } + name: { type: string } + birthday: { type: string, format: date } + age: { type: integer } + height: { type: number } + weight: { type: number } + status: { type: string } + ChildResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: { $ref: '#/components/schemas/Child' } + ChildrenPagedResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + list: + type: array + items: { $ref: '#/components/schemas/Child' } + page: { $ref: '#/components/schemas/PagedMeta' } + UploadTokenRequest: + type: object + required: [childId, fileName, contentType, size] + properties: + childId: { type: integer } + fileName: { type: string } + contentType: { type: string, example: video/mp4 } + size: { type: integer } + UploadTokenResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + uploadUrl: { type: string } + objectKey: { type: string } + expireAt: { type: string, format: date-time } + VideoCreateRequest: + type: object + required: [childId, objectKey, scene] + properties: + childId: { type: integer } + objectKey: { type: string } + scene: + type: string + enum: [front_posture, side_posture, squat, balance, gait] + captureHint: { type: string } + VideoResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: { type: string, enum: [uploaded, rejected, archived] } + AnalysisTaskCreateRequest: + type: object + required: [childId, videoId, taskType] + properties: + childId: { type: integer } + videoId: { type: integer } + taskType: { type: string, enum: [posture_screening, movement_scoring, reassessment] } + AnalysisTaskResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: + type: string + enum: [CREATED, QUEUED, PROCESSING, SUCCEEDED, FAILED, CANCELLED] + progress: { type: integer, minimum: 0, maximum: 100 } + errorCode: { type: string } + reportId: { type: integer } + retryCount: { type: integer } + AnalysisTaskWebhook: + type: object + required: [taskId, status] + properties: + taskId: { type: integer } + status: + type: string + enum: [SUCCEEDED, FAILED, CANCELLED] + progress: { type: integer } + errorCode: { type: string } + result: { type: object } + signature: { type: string } + ReportResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + childId: { type: integer } + taskId: { type: integer } + riskLevel: { type: string, enum: [low, medium, high, review_required] } + summary: { type: string } + metrics: + type: array + items: + type: object + properties: + name: { type: string } + value: { type: number } + level: { type: string } + confidence: { type: number } + recommendations: + type: array + items: { type: string } + disclaimer: { type: string } + reviewedBy: { type: integer, nullable: true } + TrainingPlanCreateRequest: + type: object + required: [childId, goal, cycleDays] + properties: + childId: { type: integer } + reportId: { type: integer } + goal: { type: string } + cycleDays: { type: integer, minimum: 7 } + exerciseIds: + type: array + items: { type: integer } + constraints: + type: object + properties: + maxDailyMinutes: { type: integer } + coachNotes: { type: string } + TrainingPlanResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + status: { type: string, enum: [draft, active, completed, paused] } + detail: { type: object } + startedAt: { type: string, format: date-time } + endedAt: { type: string, format: date-time, nullable: true } + TrainingRecordCreateRequest: + type: object + required: [exerciseId, completed] + properties: + exerciseId: { type: integer } + completed: { type: boolean } + score: { type: integer, minimum: 0, maximum: 100 } + durationSeconds: { type: integer } + note: { type: string } + media: + type: array + items: + type: string + TrainingRecordResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + id: { type: integer } + planId: { type: integer } + createdAt: { type: string, format: date-time } + AdminDashboardResponse: + allOf: + - $ref: '#/components/schemas/StandardResponse' + - type: object + properties: + data: + type: object + properties: + newChildren: { type: integer } + uploadedVideos: { type: integer } + completedReports: { type: integer } + activePlans: { type: integer } + conversionRate: { type: number } + reassessmentCompletionRate: { type: number } diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/08_Agent智能系统/Agent设计规范.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/08_Agent智能系统/Agent设计规范.docx new file mode 100644 index 0000000000000000000000000000000000000000..d6b42dbd5ac9206df4ef5546ae7e64c72871a187 GIT binary patch literal 39718 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 Ze=1W=6$;?){SnBZAS@6C7Sew#{R@?C98&-Q literal 0 HcmV?d00001 diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/14_部署运维/生产部署运维.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/14_部署运维/生产部署运维.docx new file mode 100644 index 0000000000000000000000000000000000000000..bdf6d2e9dcd59f4fd856d33881cfc91d5a3ee3e3 GIT binary patch literal 39648 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 literal 0 HcmV?d00001 diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/15_运营SOP/商业运营与课程SOP.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/15_运营SOP/商业运营与课程SOP.docx new file mode 100644 index 0000000000000000000000000000000000000000..390824635ac23a3ffc0e754106c281d40ebdc27e GIT binary patch literal 39909 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 literal 0 HcmV?d00001 diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md new file mode 100644 index 0000000..1b5bc50 --- /dev/null +++ b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/README.md @@ -0,0 +1,61 @@ +# 儿童 AI 体态管理与运动康复平台 · 商业交付版本 V1.0 + +> 面向 3–16 岁儿童青少年的 AI 体态管理与运动康复平台(非医疗诊断) + +--- + +## 文档目录 + +| 序号 | 模块 | 文档 | 说明 | +|:----:|------|------|------| +| 01 | 商业计划书 | [儿童AI体态管理商业计划书.docx](../01_商业计划书/儿童AI体态管理商业计划书.docx) | 商业模式与市场分析 | +| 02 | 企业级 PRD | [PRD完整版.docx](../02_企业级PRD/PRD完整版.docx) | 产品需求、指标、用户故事 | +| 03 | 技术架构 | [企业级系统架构.docx](./03_技术架构/企业级系统架构.docx) | 云原生分层架构设计 | +| 03 | **架构与建设规划** | **[系统架构与建设规划.md](./03_技术架构/系统架构与建设规划.md)** | **合伙人讨论用 · 架构 + 排期 + 行动清单** | +| 03 | **架构 HTML 演示** | **[系统架构与建设规划.html](./03_技术架构/系统架构与建设规划.html)** | **浏览器打开 · 可视化架构图与路线图** | +| 03 | **产品交互 Demo** | **[产品交互Demo.html](./03_技术架构/产品交互Demo.html)** | **P2:摄像头 + PDF · 跟练/趋势/儿童端** | +| — | **工程 Starter** | **[apps/api/README.md](../../apps/api/README.md)** | **P3:FastAPI 骨架 · 对齐 OpenAPI** | +| 04 | AI 视觉算法 | [AI视觉算法详细设计.docx](../04_AI视觉算法/AI视觉算法详细设计.docx) | Pose、指标、评分、质量控制 | +| 05 | 视频处理 | [视频处理工程设计.docx](../05_视频处理系统/视频处理工程设计.docx) | 上传、转码、质量检测 | +| 06 | 数据库设计 | [database.sql](../06_数据库设计/database.sql) | MySQL 8.x 完整表结构 | +| 07 | API 接口 | [openapi.yaml](../07_API接口/openapi.yaml) | REST API 契约(OpenAPI 3.0) | +| 08 | Agent 智能系统 | [Agent设计规范.docx](../08_Agent智能系统/Agent设计规范.docx) | 评估/教练/家长/运营 Agent | +| 09 | 前端产品设计 | [前端产品详细设计.docx](../09_前端产品设计/前端产品详细设计.docx) | 小程序、训练端、后台 | +| 10 | 后端工程设计 | [后端工程详细设计.docx](../10_后端工程设计/后端工程详细设计.docx) | 服务模块、权限、安全 | +| 11 | 管理后台 | [管理后台详细设计.docx](../11_管理后台/管理后台详细设计.docx) | 运营、复核、看板 | +| 12 | 研发计划 | [研发计划与项目管理.docx](../12_研发计划/研发计划与项目管理.docx) | P0–P3 里程碑与团队分工 | +| 13 | 测试验收 | [测试验收标准.docx](../13_测试验收/测试验收标准.docx) | 场景测试与验收清单 | +| 14 | 部署运维 | [生产部署运维.docx](../14_部署运维/生产部署运维.docx) | 环境、发布、监控、备份 | +| 15 | 运营 SOP | [商业运营与课程SOP.docx](../15_运营SOP/商业运营与课程SOP.docx) | 机构运营与课程流程 | + +--- + +## 快速开始 + +### 合伙人 / 投资人讨论 + +1. 用浏览器打开 **[系统架构与建设规划.html](./03_技术架构/系统架构与建设规划.html)** +2. 点击 **「进入产品交互 Demo」** 体验完整产品流程(无需开发,纯演示) +3. 配合阅读 **[系统架构与建设规划.md](./03_技术架构/系统架构与建设规划.md)** 获取完整文字版 + +### 研发启动 + +1. 阅读 [PRD完整版.docx](../02_企业级PRD/PRD完整版.docx) 确认 MVP 范围 +2. 以 [openapi.yaml](../07_API接口/openapi.yaml) 为 API 契约单一来源(工程副本:`../../contracts/`) +3. 以 [database.sql](../06_数据库设计/database.sql) 初始化数据库(`make up`) +4. 启动 API Starter:见仓库根 [README.md](../../README.md) +5. 按 [系统架构与建设规划.md](./03_技术架构/系统架构与建设规划.md) Sprint 1 排期 + +--- + +## 版本信息 + +| 字段 | 值 | +|------|-----| +| 版本 | V1.0 | +| 更新日期 | 2026-07-23 | +| 适用阶段 | MVP → 商业试点 → 商业交付 | + +--- + +*本交付包所有 AI 报告输出用于健康管理建议,不构成医疗诊断。* diff --git a/doc/儿童AI体态管理与运动康复平台_PRD_Final_V1.0.docx b/doc/儿童AI体态管理与运动康复平台_PRD_Final_V1.0.docx new file mode 100644 index 0000000000000000000000000000000000000000..843a066ae7cb761dd2f8fc693ba314cc8e85b8c4 GIT binary patch literal 40900 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 literal 0 HcmV?d00001 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d27c76a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,48 @@ +services: + mysql: + image: mysql:8.0 + container_name: happy-up-mysql + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: happy_up + MYSQL_USER: happy_up + MYSQL_PASSWORD: happy_up + ports: + - "3306:3306" + volumes: + - mysql_data:/var/lib/mysql + - ./contracts/database.sql:/docker-entrypoint-initdb.d/01_schema.sql:ro + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot"] + interval: 5s + timeout: 5s + retries: 20 + + redis: + image: redis:7-alpine + container_name: happy-up-redis + restart: unless-stopped + ports: + - "6379:6379" + volumes: + - redis_data:/data + + minio: + image: minio/minio:RELEASE.2024-12-18T13-15-44Z + container_name: happy-up-minio + restart: unless-stopped + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + ports: + - "9000:9000" + - "9001:9001" + volumes: + - minio_data:/data + +volumes: + mysql_data: + redis_data: + minio_data:

    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≀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 literal 0 HcmV?d00001 diff --git a/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/01_商业计划书/儿童AI体态管理商业计划书.docx b/doc/Kids_AI_Posture_Platform_BUSINESS_DELIVERY_V1.0/01_商业计划书/儿童AI体态管理商业计划书.docx new file mode 100644 index 0000000000000000000000000000000000000000..51063dfe8673ba7d2608171b2dfb9159bf4190ca GIT binary patch literal 40376 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 + + + + + 儿童 AI 体态管理平台 · 产品交互 Demo + + + +