解决CosyVoice Linux安装后缺失预训练音色的技术方案与避坑指南

📅 发布时间:2026/7/10 14:24:23 👁️ 浏览次数:
解决CosyVoice Linux安装后缺失预训练音色的技术方案与避坑指南
解决CosyVoice Linux安装后缺失预训练音色的技术方案与避坑指南关键词cosyvoice linux安装后页面没有预训练音色、模型热加载、依赖解析、AI辅助开发现象速览“页面能跑音色全无”——这是不少开发者在 Linux 服务器上第一次pip install cosyvoice后最常见的吐槽。Web UI 正常弹出下拉框里却空空如也TTS 接口返回voice not found日志里偶尔飘着model checksum mismatch或sox missing。如果直接点“合成”只能听到一段尴尬的空白音频。根因拆解先给结论再逐层展开预训练权重未随 PyPI 包分发官方把 1.2 GB 的.pt文件托管在 Git LFS安装脚本默认跳过下载。路径硬编码在cosyvoice/config/paths.yamlLinux 下若用--user安装会在/home/$USER/.local/与系统级/usr/local/lib/之间来回漂移导致模型热加载失败。sox、libsndfile 等动态库缺失音色解码器初始化直接抛RuntimeError: sndfile library not found。文件权限掩码问题手动wget下来的权重若保留 600worker 进程以www-data运行时无权读取日志却只会淡淡地写一句voice load timeout。分步解决方案下面给出一条从 0 到 1 的可回滚路径全部在 Ubuntu 22.04 Python 3.10 验证通过其他发行版把apt换成对应包管理即可。1. 建立隔离环境# 用 conda 拉起纯净环境避免与系统 numpy 冲突 conda create -n cosy python3.10 sox libsndfile -y conda activate cosy2. 安装 CosyVoice 本体不急于一步到位# 先装不含权重的轻量包 pip install cosyvoice-light # 此时 import 会提示 “pre-trained voices not found, skipped”3. 手动拉取预训练权重官方仓库使用 Git LFS服务器若无git lfs命令需先补装sudo apt update sudo apt install git-lfs git lfs install新建一个专门放权重的目录与代码分离方便后续做只读挂载或 NFS 共享VOICE_ROOT/data/cosyvoice/voices mkdir -p $VOICE_ROOT cd $VOICE_ROOT git clone https://huggingface.co/cosyvoice/pretrained-voices . # 目录结构如下 # . # ├── female-medium.tar # ├── male-low.tar # └── checksums.sha256校验完整性sha256sum -c checksums.sha256 # 全部 OK 再继续否则重拉4. 修正路径配置CosyVoice 在首次import时会按以下优先级读取paths.yaml环境变量COSY_VOICE_PATHS当前工作目录下的./cosyvoice/paths.yaml包内默认cosyvoice/config/paths.yaml我们采用方案 1最利于 CI/CDcat $VOICE_ROOT/paths.yaml EOF voices: root: /data/cosyvoice/voices female-medium: female-medium.tar male-low: male-low.tar EOF export COSY_VOICE_PATHS$VOICE_ROOT/paths.yaml把export写进.bashrc或 systemd service 的Environment字段确保 worker 进程能拿到。5. 权限与依赖二次检查# 1) 动态库 ldconfig -p | grep sndfile || sudo apt install libsndfile1-dev # 2) 权重目录 chmod -R 644 $VOICE_ROOT find $VOICE_ROOT -type d -exec chmod 755 {} \; # 3) 若用 nginx gunicorn确保用户一致 sudo usermod -a -G voice www-data # 把 www-data 加入 voice 组6. 热加载测试脚本#!/usr/bin/env python3 # test_voice.py import os, sys, logging, time logging.basicConfig(levellogging.INFO) # 强制刷新路径 os.environ[COSY_VOICE_PATHS] /data/cosyvoice/voices/paths.yaml from cosyvoice import TTS def warm(): t0 time.time() engine TTS() # 内部会执行 voice_manager.load_all() print(Voices:, engine.list_voices()) print(Load latency: {:.2f}s.format(time.time() - t0)) if __name__ __main__: try: warm() except Exception as e: logging.exception(Load failed) sys.exit(2)运行python test_voice.py # 期望输出 # Voices: [female-medium, male-low] # Load latency: 1.34s若仍为空列表把日志级别调到DEBUG再跑一次90% 能定位到Permission denied或tarfile.ReadError。性能与内存考量模型热加载 vs 预加载生产环境建议预加载——在 gunicornpost_fork钩子内完成TTS()初始化子进程复用同一块只读内存Linux COW实测 4 worker 常驻服务器常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻常驻