Compare commits

...

97 Commits

Author SHA1 Message Date
ouyangyouzhang 9200df7842 新增客服重定向接口 2025-11-28 10:12:41 +08:00
ouyangyouzhang eb361fe77f feat: 添加启动意图识别API服务的脚本
添加专用脚本用于启动rag2_0.api.intent_recognition_api服务
脚本功能包括检测并结束现有screen会话,清理占用端口,最后启动新服务
2025-11-26 11:12:39 +08:00
ouyangyouzhang 4627a2268f Merge branch 'master' of https://git.97id.com/ouyangyouzhang/QueryRewrite 2025-11-26 10:52:28 +08:00
ouyangyouzhang 46f756428e 上线前相关环境变量的修改 2025-11-26 10:49:54 +08:00
ouyangyouzhang a22b001680 先跳过 定额信息的提取 2025-11-26 10:28:11 +08:00
ouyangyouzhang c97e96c620 删除欠费的api 2025-10-21 18:02:16 +08:00
ouyangyouzhang 94a8656c7f 微调提示词,基本不影响效果 2025-09-26 15:46:00 +08:00
ouyangyouzhang bc6c907872 删除提示词中多余空格、换行等。减少不必要的token 2025-09-26 11:31:18 +08:00
ouyangyouzhang 2b13fdab99 调整提示词、简化代码 2025-09-25 16:23:13 +08:00
ouyangyouzhang 640e02f89e 1、将清单、定额excel上传到git. 初此启动服务将创建数据库文件。因数据库中包含向量数据体积庞大,采用初此启动服务创建策略
2、优化环境变量的使用和命名
2025-09-24 10:51:41 +08:00
ouyangyouzhang d8d32ced9a refactor: 移除硬编码配置,使用环境变量管理API密钥和路径
重构XinferenceEmbeddings和XinferenceReRankerModel类,移除硬编码的API密钥和路径
统一使用环境变量管理配置,提高安全性和灵活性
修改数据库路径为相对路径,增强可移植性
2025-09-24 10:21:09 +08:00
ouyangyouzhang 0541db1e34 refactor: 移除llm.invoke中冗余的need_retry参数 2025-09-15 16:54:55 +08:00
ouyangyouzhang 0f11b0ba5e 调整分类提示词 2025-09-12 15:16:22 +08:00
ouyangyouzhang 4c35da8d8a 调整软件分类提示词 2025-09-12 14:28:00 +08:00
ouyangyouzhang 0af78ccb67 修正错误的逻辑 2025-09-11 08:31:01 +08:00
ouyangyouzhang 2f5757e3fb 新增二级分调差固定回答 2025-09-08 11:11:29 +08:00
ouyangyouzhang 0726f79e8e 优化多轮问题改写 2025-09-04 21:08:59 +08:00
ouyangyouzhang 3df54cab54 调整提示词,处理提问为政策文件的问题 2025-09-04 20:19:08 +08:00
ouyangyouzhang e0941937da 修改错误的逻辑 2025-09-01 17:34:47 +08:00
ouyangyouzhang c54cdb4284 修改woker数量 2025-09-01 17:34:19 +08:00
ouyangyouzhang fc1c5feb86 修改运行错误问题 2025-09-01 10:36:36 +08:00
ouyangyouzhang d69fe2b8d1 调整PGSQL相关代码逻辑 2025-08-29 11:49:07 +08:00
ouyangyouzhang 78dc1673aa 添加一个统一的脚本管理服务 2025-08-29 09:18:24 +08:00
ouyangyouzhang 5ec18811d9 删除重试策略 2025-08-28 17:36:28 +08:00
ouyangyouzhang 1be1b062b5 上传遗漏文件 2025-08-28 14:30:07 +08:00
ouyangyouzhang abc868225a LLM输出的内容先通过正则清理多余内容 2025-08-28 14:29:19 +08:00
ouyangyouzhang 660b5f6561 Qwen3-32B JSON格式化输出不稳定,微调输出格式 2025-08-28 09:04:29 +08:00
ouyangyouzhang cdaf6870d2 撤回之前使用langchain_openai调用模型的逻辑。因为暂时无法解决调用Qwen3禁用思考模式的问题 2025-08-27 18:14:33 +08:00
ouyangyouzhang c9c7f13060 1、修改api文件位置
2、意图识别继承langfuse
2025-08-27 11:22:54 +08:00
ouyangyouzhang 53ac47f4a5 1、调整规费相关问题的分类
2、意图识别增加清单、定额字段
2025-08-21 17:51:55 +08:00
ouyangyouzhang 1a3fa44522 feat: 添加清单定额查询API并优化意图识别模块
新增清单定额查询API服务,支持通过名称和编码查询定额及清单信息
在意图识别模块中添加定额清单信息提取功能,并记录各步骤耗时
将SiliconFlowEmbeddings替换为XinferenceEmbeddings并添加sqlite-vss依赖
优化shell脚本的screen会话检测逻辑
2025-08-20 19:08:29 +08:00
ouyangyouzhang db84105abf refactor(tool): 移除html_to_md模块并清理相关依赖
- 删除html_to_md模块及其相关文件
- 更新ModelTool.py中的导入语句
- 移除IntentRecognition.py中未使用的导入
2025-08-18 14:06:19 +08:00
ouyangyouzhang 8b9ea73b3b refactor(embedding/reranker): 重构模型工具类使用环境变量配置
更新.gitignore文件,添加新的数据库文件
在.env中添加EMBEDDING_MODEL_NAME和XINFERENCE_URL配置
重构SiliconFlowEmbeddings和XinferenceReRankerModel使用环境变量
优化DifyCompareTest异常处理和输入验证
修改测试文件路径和并发工作数
2025-08-15 10:34:30 +08:00
ouyangyouzhang 1cde82cc86 工单提问相同时合并工单内容 2025-08-05 11:14:25 +08:00
ouyangyouzhang 142ae00844 先改回使用硅基流动api 2025-08-05 09:29:56 +08:00
ouyangyouzhang c02fe2624a 同步合理数据库字段 2025-08-04 08:43:35 +08:00
ouyangyouzhang 948827d553 在heli_db_to_excel.py中添加SEQUENCE_ID字段到数据处理结果,并新增根据会话ID查询SEQUENCE_ID的方法;在DifyCompareTest.py中优化回答判断逻辑,增加对空回答的处理,调整文件处理的最大并发数。 2025-08-01 13:45:58 +08:00
ouyangyouzhang 9b957665b5 更新.env文件中的API地址和模型名称,修改api_key.txt文件以替换API密钥。 2025-08-01 10:21:02 +08:00
ouyangyouzhang 9185d75e10 更新DifyCompareTest类中的字段名称 2025-07-31 10:25:24 +08:00
ouyangyouzhang 11acc809c8 优化DifyCompareTest类中的回答判断逻辑,恢复旧答案的判断并简化代码;更新PromptTemplates以规范同义词处理规则,调整重构流程和优先级,增强语义保真性。 2025-07-31 09:43:58 +08:00
ouyangyouzhang 6a72233a97 新增同义词词典支持,优化IntentRecognition类以加载jieba自定义词典和同义词字典,调整关键词提取流程,简化日志记录,更新PromptTemplates以规范同义词处理规则。 2025-07-31 09:23:27 +08:00
ouyangyouzhang 728262cc65 优化DifyCompareTest类,添加DifyExporter实例以支持词条检索,更新DifyQueryRetrieval_api.py中的topk参数,增强DifyExporter类以从HTTP服务获取查询类型和点踩原因,简化构造函数,移除不必要的查询日志加载逻辑。 2025-07-30 17:30:24 +08:00
ouyangyouzhang 57369059eb 引入工单后,匹配软件词条辅助性不大且该环节上下文较长,Token消耗较大 2025-07-29 09:22:05 +08:00
ouyangyouzhang ba42107999 优化DifyCompareTest和WorkorderToDify模块,调整日志记录格式,修复API密钥获取方式,增强工单处理流程,添加元数据管理功能,改进并发上传逻辑,更新文档处理方式。 2025-07-28 08:34:17 +08:00
ouyangyouzhang 780f423200 新增数据库支持,初始化数据库并创建查询类型和点踩原因表,优化日志记录,添加多个API以支持点踩原因和查询统计功能。 2025-07-26 12:36:01 +08:00
ouyangyouzhang 3f6f5d038c 调整启动脚本的权限,优化screen会话检查逻辑,修复DifyQueryRetrieval_api.py中的top_k参数,删除IntentRecognition.py中的冗余代码,优化异步处理流程,移除不必要的注释和日志记录。 2025-07-25 13:55:06 +08:00
ouyangyouzhang 2cbdc23fc0 更新.gitignore以忽略临时文件,修改api_key文件,重构合并名词的逻辑,删除不再使用的脚本,优化对话到工单的处理流程,添加会话结果保存为JSON的功能,调整API调用参数,修复部分代码中的错误。 2025-07-25 09:53:47 +08:00
ouyangyouzhang 4d7ef54ae7 更新.gitignore文件以忽略新的数据文件和测试文件,修改对话到工单处理逻辑,添加产品信息解析功能,优化API调用,移除不必要的参数,调整并发处理逻辑。 2025-07-24 13:39:04 +08:00
ouyangyouzhang 6707e5904f 更新APIkey 2025-07-24 09:46:43 +08:00
ouyangyouzhang d0788ac32a 调整接口 2025-07-23 10:28:26 +08:00
ouyangyouzhang 0a2d6c2020 微调意图改写接口 2025-07-22 11:35:05 +08:00
ouyangyouzhang 75c7c19f53 删除多余代码 2025-07-22 08:47:17 +08:00
ouyangyouzhang 1bd0dc3f81 新增多个API密钥。 2025-07-21 10:24:25 +08:00
ouyangyouzhang 17ff99bad1 更新对话到工单的处理逻辑,添加API密钥参数,优化响应内容清理,修复多个解析函数中的API调用,调整并发处理的最大线程数。 2025-07-21 10:11:34 +08:00
ouyangyouzhang 0dda581c8e 优化DifyCompareTest和ModelTool中的API调用逻辑,增加重试机制以提高稳定性,更新模型名称获取方式为使用环境变量。 2025-07-21 09:44:42 +08:00
ouyangyouzhang 6243fedc4e 更换api_key 2025-07-21 08:48:56 +08:00
ouyangyouzhang 6ba3141885 优化代码 2025-07-18 16:50:24 +08:00
ouyangyouzhang 5d5c3c0257 新增多个启动脚本以支持不同服务的后台运行,优化对话到工单的处理逻辑,增加人力信息映射,调整日志记录机制以支持异步处理。 2025-07-18 13:39:57 +08:00
ouyangyouzhang 75c0992526 优化数据处理逻辑,更新工单数据文件路径,增加多个工单数据集的创建与上传功能,同时调整查询参数以提高检索效果。 2025-07-17 14:13:41 +08:00
ouyangyouzhang bd0f86ff61 更新DifyQueryRetrieval类的初始化参数,改为使用环境变量获取API密钥和基础URL;优化意图识别示例中的参数传递;调整问题和回答的格式描述;增加请求超时设置。 2025-07-17 09:05:05 +08:00
ouyangyouzhang 8a58fef1a7 优化DifyQueryRetrieval和ModelTool中的请求超时设置,调整DifyExporter类中的分类逻辑,移除无用字段,更新词条处理逻辑, 2025-07-16 16:26:46 +08:00
ouyangyouzhang a934f2c398 更新环境变量配置,调整模型名称获取方式,新增Dify API相关配置,删除无用的脚本文件,优化意图识别逻辑,添加LLM提取词条逻辑 2025-07-16 14:24:50 +08:00
ouyangyouzhang 5e164882a1 更新对话到工单的默认文件路径,修正日期范围为“2025年1月到6月”,并在DifyExporter类中新增“当前软件”字段 2025-07-15 13:50:58 +08:00
ouyangyouzhang 35acf6de71 调整问题改写提示词,同义词替换遵循严格匹配 2025-07-15 11:30:31 +08:00
ouyangyouzhang 82724d206b 更新日志目录创建逻辑,调整对话到工单的日期参数默认值,新增对话记录分析功能,优化API密钥管理器中的购买余额计算,并添加多个API密钥。同时,新增数据处理和分析模块以支持工单问答数据的上传和处理。 2025-07-15 09:27:44 +08:00
ouyangyouzhang 5b5a2f2b16 重构会话处理逻辑,移除批量处理,改为直接并发处理每个会话,优化临时保存机制。同时,更新DifyExporter类,新增获取节点信息和词条列表的方法,调整导出列以包含备注信息 2025-07-14 18:51:03 +08:00
ouyangyouzhang af1e1a9d9b 优化对话到工单的处理逻辑,新增进度条显示,调整日期参数的默认值,并修复日志目录创建的冗余代码。同时,更新DifyExporter类以支持按日期范围过滤消息,重构查询日志加载逻辑,新增备注提取功能,提升代码可读性和可维护性。 2025-07-14 17:21:21 +08:00
ouyangyouzhang b06a84c059 更新.gitignore以忽略查询日志文件,优化意图识别逻辑,新增锁相关咨询处理方法,并调整后退提示的返回结构以支持固定话术类问题。 2025-07-14 09:46:56 +08:00
ouyangyouzhang a78c1b00d8 优化意图识别逻辑,注释掉槽位填充的条件判断,并更新问题列表的处理方式, 2025-07-12 13:14:20 +08:00
ouyangyouzhang a100a9a106 更新pyproject.toml和uv.lock文件,新增ijson和langfuse依赖,同时在对话到工单的分析流程中添加时间范围过滤功能,优化日志记录,支持按时间范围过滤会话数据。新增获取工作流运行信息的方法,并更新意图识别API以支持使用jieba分词。 2025-07-12 13:05:57 +08:00
ouyangyouzhang fbe11486cb 兼容思考模型 2025-07-10 18:32:34 +08:00
ouyangyouzhang af03df99e3 更新API密钥管理器中的购买余额计算,修复riper-5.mdc配置以禁用自动应用,同时在api_key.txt中添加多个API密钥。 2025-07-10 15:48:38 +08:00
ouyangyouzhang 23f522dde5 优化DifyQueryRetrieval类,新增top_k参数以支持检索结果的数量控制,同时重构相关方法以提升性能和可维护性。更新DifyTool类,新增获取应用会话和消息信息的方法。修复DifyExporter类中的代码格式问题,调整日期参数的默认值。 2025-07-10 08:36:12 +08:00
ouyangyouzhang ec3db656a5 优化DifyExporter类,新增按日期范围过滤消息的功能,支持UTC+8时区的时间转换,并更新导出文件名以包含日期范围信息。同时,重构消息处理逻辑 2025-07-09 16:50:35 +08:00
ouyangyouzhang ffd0d52076 新增AnswerType.py文件,创建FastAPI应用以收集用户提问数据类型,添加健康检查和异步检索API,优化日志记录和错误处理。同时,新增DifyExporter类用于导出Dify系统中的对话和消息数据,支持从查询日志加载数据并保存为Excel文件。 2025-07-09 09:12:06 +08:00
ouyangyouzhang 9636ed3ed2 更新重排序模型的API地址, 2025-07-08 08:55:50 +08:00
ouyangyouzhang 5a8d042360 重构DifyQueryRetrieval_api.py为FastAPI应用,新增异步检索API和健康检查端点,优化错误处理和日志记录,同时更新DifyQueryRetrieval类以支持异步检索功能,提升整体性能和可维护性。 2025-07-08 08:38:14 +08:00
ouyangyouzhang 1f3e97d081 优化意图识别API,移除同步意图识别器,改为使用异步意图识别器,更新相关逻辑以支持异步处理,增强错误处理和日志记录,同时更新请求和响应模型以适应新的API结构。 2025-07-07 17:51:10 +08:00
ouyangyouzhang b9bff7f512 新增FastAPI和Uvicorn依赖,更新pyproject.toml和uv.lock文件,同时在merged_nouns.json中添加“人力运输”条目,更新专业名词索引文件。 2025-07-07 17:49:55 +08:00
ouyangyouzhang f13650a623 更新DifyQueryRetrieval类,启用父子级检索 2025-07-03 17:22:32 +08:00
ouyangyouzhang c52627abeb 新增异步意图识别器和相关功能,优化意图识别和槽位填充逻辑,支持异步处理和多线程检索,改进API调用的错误处理和日志记录,增强文档检索和关键词提取功能。 2025-07-03 15:40:36 +08:00
ouyangyouzhang 68e3677c34 更新riper-5.mdc配置以启用自动应用,优化DifyApi类,新增文档子分段管理功能,包括获取、添加、更新和删除子分段的方法,同时改进OpenAiLLM类的初始化逻辑以支持环境变量配置。 2025-07-03 11:34:31 +08:00
ouyangyouzhang b8ccdcf287 新增DifyApi类以支持与Dify API的交互,包含文档上传、索引状态获取、数据集管理等功能。同时优化DifyCompareTest.py中的缺失槽位判断逻辑, 2025-07-02 15:53:51 +08:00
ouyangyouzhang d835439fea 优化get_retrieve_info方法,调整outputs参数类型为list[dict],增加segmentid_to_title字典以提升内容标题获取逻辑的准确性。 2025-07-02 13:34:06 +08:00
ouyangyouzhang d811ae411f 移除DifyComparisonTester类中的析构函数,优化问题处理逻辑,增强错误处理和日志记录,调整返回结果结构以包含更多信息。 2025-07-02 11:02:01 +08:00
ouyangyouzhang f76f44640a 优化Dify工具逻辑,调整知识提取和重排序流程,增强API调用的重试机制,更新意图识别API以支持更好的错误处理和日志记录,改进多线程检索功能 2025-07-01 18:56:10 +08:00
ouyangyouzhang 603c8122d4 删除不再使用的脚本文件,更新数据库连接配置为环境变量,优化Dify对比测试逻辑,增强日志记录. 2025-07-01 11:43:56 +08:00
ouyangyouzhang 500c8c166c 优化意图识别API,增加参数以支持分词和查询扩展功能 2025-07-01 11:42:49 +08:00
ouyangyouzhang 20207fdd1b 更新API密钥,优化意图识别示例,调整文档相关性判断逻辑,增强Excel数据验证功能,改进日志记录, 2025-06-27 18:12:51 +08:00
ouyangyouzhang 66efa57a2a 更新API密钥,修改riper-5.mdc配置以禁用自动应用,优化Excel数据验证逻辑,调整检索内容描述,更新多个二进制索引文件。 2025-06-25 15:41:25 +08:00
ouyangyouzhang ac8cf7693e 更新API密钥 2025-06-25 14:04:25 +08:00
ouyangyouzhang f9174fdbc9 更新意图识别示例,修改文档相关性判断逻辑以支持多个相关文档,增强结果处理和临时保存功能 2025-06-25 10:07:46 +08:00
ouyangyouzhang 33bc91f0fe 优化意图识别示例,更新文档相关性判断逻辑,增强Excel数据验证功能,改进日志记录,调整参数以提升代码可读性和灵活性。 2025-06-25 09:10:28 +08:00
ouyangyouzhang 7142c7c43e 更新API密钥管理,优化意图识别和Excel数据验证功能,增强日志记录,改进错误处理机制,支持文档检索功能,提升代码可读性和灵活性。 2025-06-24 17:12:09 +08:00
ouyangyouzhang 4386cfac41 优化意图识别模块,新增文档相关性判断功能,更新DifyQueryRetrieval类以支持多线程检索,增强数据模型,改进日志记录,调整Excel数据验证逻辑,更新多个提示词模板以提升用户体验。 2025-06-24 15:03:01 +08:00
ouyangyouzhang d957b4374e 更新API密钥管理逻辑,优化意图识别示例,增强Excel数据验证功能,移除冗余名词条目,更新多个二进制索引文件 2025-06-24 09:47:09 +08:00
ouyangyouzhang 4fab8874a5 新增DifyCompareTest.py文件以实现Dify新旧流程对比测试功能,并更新.gitignore以忽略新测试文件。 2025-06-23 18:08:39 +08:00
205 changed files with 11202 additions and 33583 deletions
+11 -3
View File
@@ -1,8 +1,9 @@
---
description:
globs:
alwaysApply: true
alwaysApply: false
---
RIPER-5 模式:严格操作协议
背景入门
您是 Claude 3.7,并且已集成到 Cursor IDE(一个基于 AI 的 VS Code 分支)。由于您拥有强大的功能,您往往过于急躁,经常在没有明确请求的情况下实施更改,并自以为比我更了解代码,从而破坏了现有逻辑。这会导致代码出现不可接受的灾难。在我的代码库上工作时——无论是 Web 应用程序、数据管道、嵌入式系统还是任何其他软件项目——您未经授权的修改都可能引入细微的 bug 并破坏关键功能。为了避免这种情况,您必须遵循以下严格协议:
@@ -64,7 +65,7 @@ n. [Final action]
偏差格式:“:警告:检测到的偏差:[确切偏差描述]”
报告:必须报告实施情况是否与计划一致
结论格式:“:白色勾号:实施与计划完全一致”或“:十字标记:实施与计划有偏差”
输出格式:以[MODE: REVIEW]开,然后进行系统比较和明确判决
输出格式:以[MODE: REVIEW]开,然后进行系统比较和明确判决
关键协议指南
未经我的明确许可,您不能在模式之间转换
您必须在每次响应开始时声明您当前的模式
@@ -73,4 +74,11 @@ n. [Final action]
您无权在声明模式之外做出独立决定
不遵守此协议将给我的代码库带来灾难性的后果
模式转换信号
按照顺序依次执行研究模式->计划模式->执行模式->审核模式
仅当我明确发出信号时才转换模式:
“进入研究模式”
“进入创新模式”
“进入计划模式”
“进入执行模式”
“进入审核模式”
如果没有这些确切的信号,请保持当前模式。
+26 -4
View File
@@ -1,5 +1,27 @@
OPENAI_API_KEY=sk-xxaiabmfhzwwpijuledllkmkzhzwsqeicjxmjwnvriqpwmpk
OPENAI_API_BASE=https://api.siliconflow.cn/v1/
LLM_MODEL_NAME=deepseek-ai/DeepSeek-V3
# LLM_MODEL_NAME=deepseek-ai/DeepSeek-R1
RERANKER_MODEL_NAME=bge-reranker-v2-m3
MODEL_NAME=deepseek-ai/DeepSeek-V3
# RERANKER_BASE_URL=http://10.1.16.39:9995
# RERANKER_MODEL_NAME=bge-reranker-v2-m3
# RERANKER_API_KEY=test
# EMBEDDING_BASE_URL=http://10.1.16.39:9995
# EMBEDDING_MODEL_NAME=bge-m3
# EMBEDDING_API_KEY=test
# DIFY_BSAE_URL=http://10.1.16.39/v1
# DIFY_APP_KEY=app-CPoOMaGDsLRPAe9TW7Xjhszy
# DIFY_DATASET_KEY=dataset-skLjmPVonjHo119OWNf3kAmY
# DIFY_PG_HOST = 10.1.16.39
# DIFY_PG_PORT = 5432
# DIFY_PG_USER = postgres
# DIFY_PG_PASSWORD = difyai123456
# DIFY_PG_DATABASE = dify
# ENABLE_LANGFUSE=true
# LANGFUSE_PUBLIC_KEY=pk-lf-4e9b7cbe-528c-4697-b73c-33257a60072c
# LANGFUSE_SECRET_KEY=sk-lf-cd8a78c5-2538-455e-a85a-87b6e1aa69d0
# LANGFUSE_HOST=http://10.1.6.34:3000
+8 -2
View File
@@ -5,7 +5,13 @@ __pycache__/
# 忽略数据文件
data/excel/*
rag2_0/demo/Test.py
rag2_0/demo/Test*
rag2_0/demo/test*
data/excel/*.xlsx
rag2_0/demo/ProfessionalTermAnalyzer.py
!data/excel/Excel版 清单定额库/
!data/excel/Excel版 清单定额库/**
data/logs/*
data/test*
data/temp*
data/db/answer_logs.db
data/db/qingdan_ding_e_ku.db
+8 -2
View File
@@ -10,7 +10,10 @@
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false
"justMyCode": true,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
},
{
"name": "IntentRecognition",
@@ -18,7 +21,10 @@
"request": "launch",
"program": "${workspaceFolder}/rag2_0/demo/intent_recognition_example.py",
"console": "integratedTerminal",
"justMyCode": true
"justMyCode": true,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
]
}
+2 -1
View File
@@ -1,4 +1,5 @@
{
"python.analysis.typeCheckingMode": "off",
"python.analysis.autoImportCompletions": true
"python.analysis.autoImportCompletions": true,
"cursorpyright.analysis.typeCheckingMode": "off"
}
+247 -118
View File
@@ -1,118 +1,247 @@
sk-kvgfuqeqvpmfsccykyoohheshclcrtvjlnewratvrjpkpbkc
sk-aulumxzhvaladchcwgmsxidtdsvzytbpvzqgfuvcxlwbwcgl
sk-otxxemniwhxkdvroszmmkitswwuykosnqoldrkzdoflqpgvw
sk-zlruqobfdbjebyyvkmehakpcvfgnlfbdlbfrepusazzckbnv
sk-rczjqufgdisqplkrmvhaxmdgcboluvxympvzljlreuqeeviq
sk-xfnvcksdgwufsktvmhpqrwpgovsxxtaeehtxnaqjtxmubqzl
sk-wwonvjnowbcxmoyoluynnkjwerghspzdulyidskunkordaft
sk-qmrkfvvbbfssuoreyvwqawoveyowuvxviqzqknotyweqmuog
sk-nprpuknjmikvoaxnwgyshwwwtnifvixpuqtzkzmcacdnvoib
sk-xanwnicepdxfqrfejzuxjcrhdsglfypkoxlcmmtamrtjkork
sk-lvtdgodiaurqyiwdxtdrgxifguychhccqlqkhqctscvqbfgi
sk-aedlbtlmqcttxwnvlfmxzaysamocamqxjceoyqjfgpcowybw
sk-fahdvndjblyjlizamvwcrxnilsgmbgbvwssxgquhkezgpqne
sk-tzludgttzxvpvwayazdbppbauvathdtccafjrhojpemucgyi
sk-ylgoiqxmtxeojdnonthxtweungyzldaqarvjxlqyztlvyrff
sk-asuqbqwdhjcqnvtjlwufyrkrwkobnrbmukzarvcctsgjipdp
sk-nbksjgcngsayoumnsdbkcpnqivnvxjenwpzuazzrkhnsgeoo
sk-jgybgyayxlwoxeijgrjcneqlyusleohgbliuwpsuhocrjsmk
sk-wzjsmwxcbbpcrqivqfzjwufqqjtlwejtncnvbpeicznkwiuh
sk-izdjicdoyillktsihkiapuvwebisehtlgykozrvzfkgncwsc
sk-fcsfmyivfuojsqsditvobfqprdpeunukycpcfnoxkraqevpx
sk-szyjgyxrcvyxpvzfwgmbxnflxngxvcplitcctsdvvrqjgftk
sk-jzbodthsnvjwbyrnynsxrudtqfnbdbrcxebjwjgajocnzqse
sk-fxepossfzpmccibfwqpkluorzqlbtcaplepeugtfzfsctcbl
sk-flhqvziknntednkcgjaxlyzzsrfzjhrzrmteqonajpbiinni
sk-xfregpbbquqbxpiobjzanydsjivrjrnbokzxcqtnhxhyghhe
sk-jrdzerhmvrtvzawkksowbgkggkubwfquplmrxbdhespqgtis
sk-oqehupcveovkjqqtxypqyifidcdissuyehwrkdwgruoyjkpq
sk-jnnmltwtqwuoyagoogzzeraczmyfxhoairiddgayksqdfnbr
sk-eghuepxnbcollzrjwbzqvbnhiiwagkejaclyhvaodeqgwrog
sk-poszkbjdmamimconjustnrxxqusuzlryxkrzkpronlenrmen
sk-zolvcegarsrwqhwgvwzgtqupodsdmckjiocyvoyldbkusbzc
sk-ywfafulcniaqdgdcsnbtqquaqeuiqlkcnknkaflwxyuemcow
sk-hhedmocgtfpywbbpwamgfkygrahiqsuurntlbqqbmjwfipmm
sk-gzdqfoyvulrqscdpjlwlufdecrsyjpmwpkknuhnjsvtyftox
sk-bkcufidsebujopqqwexwxwpmevrpelmvxzdymncvllcyojce
sk-olabhscekudzkyudypkcjvehwqunagubwdmtppugrjmcptwv
sk-zpdqyocliebhqpkuwvebpgcnfjdkvavdltimllmgkthwnwph
sk-gvhchlfelocjniuydusyhhwacnomxnvucjonzkhtqoplnbcr
sk-lzneagvdxhisodndnxnpkntghpkimjmjsebiqdzaoqzuhbla
sk-xotcfdkigykevngedupitbcatjqppxmcibjtcebyoglykuxz
sk-ufydqsdqnwsegaqwtappzwdyzqnoblyunfvslomnnmykedgk
sk-jwasykftbkyjzdqlwcxuicrwzxsbhttilxfefbrozrznpwlv
sk-xngteojwkxmftyaabjdwwgyoadspsowmcpcqobteutdcfmnr
sk-akzkgniebruqrtuqskvlibkpcxjuazhcatysptkfyqivldfn
sk-vpqkxtmcgkggllexchzysuewyfaoexzasoumxngdplzgwksw
sk-fvcsqdbqmdlwxzjyofrilusqcypbfyczogaqwqrjrwvojmer
sk-htjprscvfgskjtjzpxxxjhyymshagogykpawxekrrfbgftyx
sk-vtlgznzanapdinnlpuuygdidejxvlvlziolumckxwntzvxcn
sk-npwaykpqovytxhihxepeaxuwgnzvqvscirwbiffudyebibwe
sk-kduozskjwsbxytajaedemqemimflzoqdrfbbuopuogbxptos
sk-cmyaaofqksxeccaiswwholizxtdhqoszpilbqhmwwablwtwl
sk-zltwpyvzodfszrvqcmjxycfshshmqmgtpghiaulcrtrilqup
sk-svpublkronxohqmjvtdemtyqopuwyknynmxvurkmmoqsfesk
sk-tindfeurhffenyetmblplxgytcgqnbbruatchpddtstnajvq
sk-ttwgosljnfdqbevvfkjewspoasountxeyiesuuwwpuoseatw
sk-ikzwjzfxxnocfqvkhbolmmnojdqfvdxzmlruynfoneahgraq
sk-zomatpdlatgtzvuoeabofeandiiespmsinosenjlmdigkvjk
sk-xypcnibvqgebhwvsudjuxlycwombofshifpltstezflountf
sk-vhtbtqsdyhwsrsitpppjpulbpnwlhjeeaujccggdjvjtucru
sk-ygqyapfsdpxxzihadttugvofrcgwlnsrqjvrqfrsrlgqidch
sk-cczurtilupwyrnqnjpdjltzamjbpyaxnwgzqoykvfwecezhs
sk-hsalsmvnzmvlknpzldciqligtjrvhcjdbjtcqhorptsgoisr
sk-ierjdccoycmipzflzvzjqdmjazmbczxhwejwrjmuouxpcqev
sk-rlthtjzrxkdlfsemijumxiwwsoxkwnjovobtqwprhnducsqi
sk-doocedvfjsmwysxyzpptojnwwuoucxvrknlrdsnomffljems
sk-tgxnplgtwawfnnetghvlzoinksickbynzsgovbrmlrkzzrsy
sk-aggkwzdteggbcgyzimiivphpzibnpmqfbkmgtwyggsjfdymg
sk-tzynazayiglcpzejedpfdftqvtuqynygluorjbbcvrnmsbfl
sk-mcaqucnscgznmtvtzhooxbdafzhcgjgpusnjfbftroedzujk
sk-mlfnxfmwwhturavnsbyedkgrhxfspbfitfyqkllezgdtzhwn
sk-meaqykzphtqqoiswdtbxfqndddmtgvwrdnzdxprozlumrojs
sk-vrtfrtioocmrylrrqpburhkgwmyxfipnissumgufmjpzjqoo
sk-rhknxievjjjzcmkvfwqosnaiglsoufytfkbhhgconiibwriy
sk-wzsvxjfnvpceeoapbzdimpwecckpmcsqmflocttnqyvqvrsr
sk-lflfajincbdljrfwkhrjunyolzuxtcfdbzmspyfizpbdwvvh
sk-siujvueppvhhokbofqlcdxudpswdfwpetvxyittpbarddhsu
sk-avpyhivanabvdyorypdmlqnfetivlwoovfvgsgklumxeqgzy
sk-fvmpnspfeleqrgumwnvzevbtgmdqvftlbvswoghrtxfengfa
sk-wxaeehghpdettyrsnhjrawddnqzxghfjbkkokbwtnbdocsmi
sk-yighqmadjhvixkhjpcknrkapqsyxmphcqvjhlbfzgigfghft
sk-orepiytzucdtxgnxuxhekaivcpzwnunpiauccujrhbkifodc
sk-qsfrireujzrpomdjcfcgbfqncnferyzfcsralnszvurfvkgz
sk-tjienchcxamgldtzjtigpitklsonwcuhyhltswwcnsfhmois
sk-gdtqulaciovvnzwklpckwyheysaplirhgimzreqzkhfxotjh
sk-rqhynqmafsydevjctxeuqizuiithschhiztmqnpawqjjbhyv
sk-idrdvmcgmjmoxowxswfcorfdjmprfukrumimaljjnlwqkazu
sk-hrrmqrhscocbzhpfkzuoptnubgfiedololapvyfftapaawdb
sk-rtqzxuylhryzqnotvkzelvhomuovmbvpxrytydvqevisciwg
sk-ttgsojzjchifbrpwfmcajfujbxexbyvlovgbgpfdvkzqjzpu
sk-tvclqjccfylijwcujuxpppvnumkvmxbctevfqfxjryyygoep
sk-qyazelyawtgyohimgbswwetajekuvmyteweviovvqsjybtwq
sk-zowapfiiqrpeuahmnkopcyccwiyzweigvekiusiuirtsfmbj
sk-qwanpokfsquwwrpxceavasxwmxjarfaxheraamqhsyegfgum
sk-smqpfdbcnhpifwsrpwutwzpscbkeinkmfeoabesztmnicvez
sk-cnvevlfppneiztcgayxiydukhexujtiqjajpdhbrtnenizxe
sk-jmjgjraheompbftegtdzrwcnlyxsfhtrjootwuqirgmodxdm
sk-tfkyyzbhdowskndsnqkniivwhmmfmhnjdzitgvwhmhfrobeh
sk-spjtulrgqkvepawufkloxktfmkyjjhffnmzcththdmnlqkwp
sk-xafrjoiwnundkubilpoxmzpmbsizljfgrerckqgpcnvguqma
sk-dtjwhkzhljzzmchfvoyywjbsdpvgtgnlpzdkgegwnjjnsesc
sk-lurglxyefchyowvybancbtxdavndwvcengfhcrzcdouqsdmp
sk-nckmscferrehepawtytvvzzcexsgbxszmrerkwvzsbvnwckq
sk-hpgusoznbejkugxugsstyezaihqatwmwiwelwjwudekoxlbq
sk-yyqtojpqfrtkyvmhbjvnzhuujzgvitqpuxkytgxspwqscptz
sk-vcwenoaiegiwqhdvalxrvttwqmcrudttpfqhlvtdocsxvvob
sk-npnyztbrdaqtbnldlvfelkfbfozykuwykkkfsrsisytusymj
sk-rjaadeqsgoskclkuqkkyjxdknngrdsjwlgucqutiskroprzk
sk-uollmeyatyiwfzszvxkpyndmzfrbqjpyixewmrastbmaqbhy
sk-xdlsjytiwilvodadkjxvwdgulhhdytkqvfpyrcnllclgzqkb
sk-ffkltifkylutornjhwmnmfjsqsywrjibvujhjtjctzgnkvlp
sk-vmwocqqjqxnsvzmeyvqskahjaclifpmsbhywvnrvwygkfyuj
sk-gzwkmzxeeunaywrdrgirdatqhdtqdgvzqpesvprwbbjhcchn
sk-duchutcxmygrnkhzmmlykvtzwaylqtdxfbbuhvfvzuapazii
sk-nlddwexmjxqtgdvahwvlotnomrzcgskxeakxkxauicknzfkp
sk-lopwluipwvilwpwztvaxfebueeyilefwgncgpeprqvwazxom
sk-rgwrklpvhhrluokkbgavzukuhhpfhqzmozpjzoezfhkxyorc
sk-cdrpglnfmyeeqyhtvxvkpcpwscsbfouwkagjpphuksfzeipy
sk-ufnnhxfxfvmweezskajizwdcqynqmytbbkyctvkjypdyhjny
sk-dcrokkzfvdkctooxqcbapzlkrtzchygzwwqvbzqcgghsesjq
sk-pzzpojbvjouqdbrvmyyevmxlutcorwcgholvszwjxnkfurss
sk-oguhjkmxeigwvyvgyusrnxhdweveutdhjfwqcugifpawaawy
sk-tqdzsobxvgvtuyopsarilnpyahjlqmonxrmaxmooqrajcbzl
sk-bjovugxsfdphdjgakaanpyvhjiyjddgeuefdqemmrbdvqsin
sk-agruokkvxnxmfwgimfiisgwhlngjdgwjqicjyvglhhpwqkpk
sk-raueukohmmzgoeuzynkaifzpwehoxllqockpnlxcmvqvakik
sk-wceimtxsdjznbtaapsagaizaxlbqjqzfajaojhvvnqvauaty
sk-svupkjooulufzhamhgxfdnatbahkqcywmiezpvrvytjsdtgi
sk-jamxtpscxrjqmtbtwqxfywgaevrhutjrwjwgoltpzyhnmqnw
sk-teulnqtdeunaearqynsogiimposdohxhtdqwgniogiefytpz
sk-huprokkvtjlpkafxbzvsptagbpqbbvwvvfyuyvhsqrglxxhg
sk-xniwvniewxngnqriqhxxotgrnqbpspanbftefkqhsjhvwmww
sk-bochqmaivwkxdxlroarxgmnyubgxsfsqewzzblrvmrsrdkjk
sk-fwvoitmcqvexeebqwyrdkkckpspnymxamuoqeipeuzijxpac
sk-phhsoxsxebqjxzleqjfslbnexrxmzcyehrhdiyrcgknpowdp
sk-niswzgjqxppjzpdpedvolvnklndlofzxnpazhzhghthwngma
sk-labcquobqoskjvxzjucpgrhokfxvykchqxiwvjqqtuohpluh
sk-vpoculzuntegpyaydnntftmqbjpaiatrwbjvskjlovhhnluv
sk-xavtrfyvsdytxdcwepsxrbngxmjkldxjlhplnceaiuoljbrl
sk-xkuvzalwgivrwnqjdwxvfhoedxdujjjdhmrdhiwmtsmggaun
sk-shtresmrzzlmrrjrqkpaeuxrqfzbmhzavdocxhftqqmheytd
sk-xoexzykomhpqnbbvnvbbeazimmzwybweezvclceajyynbkxz
sk-rwbawaioyhrbiioajyjzxivklagjfiivlvmtroafoqspzirt
sk-jqmhsudnmwuwjuxjxzwkxjmcvuhbxgymvxyijvvlumjhzddv
sk-qetphnmeywzyhrxqmfagkpdutgeaorznlwqwyjcmbapaunxc
sk-mhjkwqhlyqpqrtgjtqqathrjtkhejsrwqbxwruqnetvpkovh
sk-zibrpszktbxvpfzxqfpxvxdyqvhhyqbtpfamrlezhlnmrgqo
sk-xwcadksswlkxufsbiwgvsfansscmomfwbzdzniigxkktvmyc
sk-czvivglaekqcelhwfjcjvkhxsmvcwedovqfoehsieuftuxox
sk-jmsermqlboxkshxfcqsbdgovqvtdfwpaupooqwilpopfefpa
sk-pftoozyvuittfnltdbwyfkbugzabpbwbrbgaljqveumkirti
sk-xikyfzlqniropkvqlomfhgblkkpsldojjlhzvxuucyrexcmc
sk-djrkoicnuapixmixgcsgyydupvsxzeoxzxsrcmvqimeybrjg
sk-kdtggplfzeyowjqjiwebpouwtsjzfdeffkevrkekhzotpetz
sk-udgrxvrgdjsvwgtyqddimdygfoyebelwcnxzpijewplawluk
sk-nsxvjfohnkdonarnvvwyxswptgyigaamvvevuzdfqqfihpbe
sk-jlbqiicxvjruocylazjixistdialfnluwyukrzmmosspkvup
sk-obdiubmlgyysrctohyqlvvfrohqmhqtpbhyzgvaflplzzsrt
sk-ojsfduhezyjnngrgsgaugficiethyxcilmrnbsurumjvziuk
sk-vygusrtnyjosmudovawwtshnryeryoghdlrwmwyokgrxqmer
sk-qjjtvysvhzgduifdmqvwixsnyxbomyvrlczaxmpjjmygulxl
sk-hmskqbczmhqxjucashgzjwcnsuzedmgdbpyuznpbagdyxplj
sk-yxrcwhtatoehtewpxkejurgdcdpbaudcayyplndzkanlomtl
sk-azmfpbrcajpdfgzokdasvrfpkewfquciwtrhzrqjlhzudjva
sk-mbcwjtygtgyhdlmgrmcqbjcrcrcufghrvdgkcuxwafjfvbwl
sk-ahviyysklcmozhbqbewkjcfqriuoaytfkpsnrkwjqgpbsxgt
sk-djvyleorvcftntqgiofosnliahwakltswshmmdoneqwjilag
sk-rlofbxciydawjeamwkjhplfojkhfaokvyjfjomrdxfxtjadn
sk-kdnfrsuzxfychhfchqbmppngnnwzytalwcdsbujesrytsosp
sk-ldesrtarfzcbyzzyzhasvjxbunduypfuurpppefztlxnydtx
sk-zvdwuquthitmwfxghvgnmmeujvbzuvzzqsfktxexmxikknck
sk-hrmrukunbuffafpzflzhnzoijpdepsidclkoearfvgnxjguk
sk-qszcmnnauaqamoueidgfuuqihhssfkgdfdhhoimiqfrxbvdj
sk-benuasjbhbxvdmgxishibmtpfyieamlfclmdclfbqloqsmaf
sk-ufmqbuplpjvzzlzohvsxertwgnguhipsbajxnxecvvccozly
sk-rypfoscrczeelowmrsixiuyunyqmqvknaprsnzmdguwzrkzx
sk-lucemnosmcxuwedvzilpefuxjnyvaxldpbgaqwnwalxmntul
sk-cxlvgeuxavxfcajprxietuqyqjngtbrwrmrmrioxmgtbkpci
sk-vjjsuzntqbhcmelfsuquqyoxjivxcfwyxnrhpwzobgxlpmrv
sk-hbgctnpvntsnelveaudpekyncfgstdfazezboxmcgjvudzyg
sk-cgdcrzedpetwuysiebjmioqkuqjsoouglspwtjvadgzosmwt
sk-ymqpbisxufhthdjxerztucgecakvcsgajsdiicauvnaandir
sk-xhmfarttmloxepegtvodtdwvpjveanvjigmkrjumxojkuydb
sk-kdfrkixwoeiuzdsdtystcxbhvwzeschacrnvhfiupnilnpoo
sk-kelmbfsruwmjgrzzbjkqpqasabrnuskongtqxwzrfrpefdgz
sk-mtnlhcosddoztgmdgjmtlniqsrkfiskafmthtmnyzqmdfcib
sk-cnrleygygpuqogpqyvuqnhubkwschrtcpjlldsdhxrkhgttf
sk-xgkzyzptybrnxanvugkynczygyfavddwwzhbgoyxkhgaykci
sk-nfpftnxyiovqlzkqsleadsfnbpfxdxbdpghdwfyucrnzaimh
sk-uiuhaihdvthpmwqeehmwufagpxcjunoqnfgpnaitaaqgrjoi
sk-mjnkfdboddkikmawuawsaxdsvwyuqxlaoroxcefdtrnycfud
sk-xmjbjxxzhfzwpjihhyuhlxidzwmbsrtjdrpgxjgdnywhnovu
sk-comhspmqhvnsaqasydwsrttntklshmbvisdlbpenyhmffngx
sk-vflgmlkwgaxnddlhvcsuaphsfmkvilhpdgencksucoqwkezu
sk-iyjhckfaoavtkwerohssthuygrqnntdaxrkgwgopgpdfdyhw
sk-drjnrjwgxxkvpizznkxvjmgphttgfvrssglnljlxtsnpkqnn
sk-kzvqvcfzmfjrtpzufbatbgpmyrziqoxzjehwyvtcnxpfxmul
sk-movoypamgtzabventkegpyqnzvxunjkvnyvowbxoofxlkyxi
sk-fnjeeylfnusqcyyoknqtqotgnkbyidzehufvtnpyctmhoevq
sk-vdmkbtdqzhuaslwuzumkyyxxhytvvszqpkfrrwsllpbhcffh
sk-tufbncngubzdhcdoydqoflmgigkmbogrxwqjvgmexcbmmhvb
sk-svivotzqknqcgwpfcafebytzvwdxywwaioveyjqaxnrhmlps
sk-zixqbkoxuvxkituttwtvdatcwpjvpsfyklenfqyoyivcsvcm
sk-jebuvmnzsjcorvvcrkgnwvusefssnhcynymwxygsdzmcekpm
sk-rfhnquzrxvcatgletqxjuxwwtjvowkfowmmbuwceysbpowep
sk-txvxjzjhgijqggeexeszmbvflhjyikmcmmfnwzpyypziolla
sk-lcmoiwzzzgmrmtlrdiqrnokroemjshdbfngputxdwbmsiikz
sk-zaeziqwmxhsppqspwpwbmhparnlkjmrlhgazeuitfkljzmvy
sk-drxthkrbfwirgjujaeaaykzxrpzxxthcpbfxmvqrwjyngbta
sk-afffehmmkjbgseltoskctaqfzjtfnpcqmhnclecqjonzvjbc
sk-hzmqvpyolijixllzrswwxzcgkezvhlmojssttzzjphadidie
sk-utyouvzddsvugfgptkhckrtlzfpeqhxbmwvrnfwlulywsnnp
sk-lavdxcqbvvsgpumjlflqnuzwkdsleohkouylerwovzikelux
sk-uwdquxtaliiwrdkakpgoismnfcwftfzohcekmdwifokmyktv
sk-exbjsnmerjsksepbgqtlvpsmbaptvrbasfbpcrdsblljjpmp
sk-ksenojclzsyrhfkjqtmjxfiawopiivujzurnzpsmdasczvzv
sk-fqogdmxyfiwjcjfnptthcylfqwyygbtkmhpchqoisxkcmqez
sk-vtogkcmdkbdhujtsnhcjdoytafzzurpsjjxmzlbvrjfxtzox
sk-twuvbdvmfswczhmuuktztxvfuxvxvdkcmejghjebxtowdbsc
sk-iobumflqericicuvflscrsrbmlozlbbueldxlmltgaqvuyhg
sk-gkdrgcbrlddkgflolrqkpqyygmuszueozeoiwdqpeqghlths
sk-gjqsqttmnydxavthjsjnirqxprogmvidmocfeoixuwutiqmd
sk-pihgxlhhdsyeowjsbhbioxwqjbonwunteaubfisduzyibkzw
sk-rnzjwgqfrwzeeqwrzkismtzgylyjiifbbzvcjsuorxfnvfat
sk-hvgopxbldajpoechgauovdfvecagmowvokyfhhsmedhtrqxp
sk-mvjzsxycexxxkzuuiqirglaijjozaaytekmifmkercetqohn
sk-rxoveifioasodrticohqjeitfgdbairdcbarecbbobwqfbvf
sk-yhzwcscuygtonrjebuvjrhqmydfmtrdnntencnyyunocloec
sk-bradhwfxuunietazqsmxbbyiqtpiypqyfbagouidqjyjnzdi
sk-sscwhvelhcisaesrpuqciospesrcqmbkbqhqvigqrsysfkjd
sk-sfentwjwfirzpcgjdqrminaumeuoypizxlapqslhnuujkjpv
sk-enbzoravsrssvdsmhzxutspmepfyouoqkcyzaiovalgenyrc
sk-rwzxcohniigwrzvfzoikcopawcogbtptmvinmlggtlumatcr
sk-rqihmtrenqeyiiugzronyoohdwaoongyhqolqtlqkownmfyr
sk-tjnwhylidycqdibipuyrfhnbaxrinjllbcnlpkizyzmnnacx
sk-qbklkqockeckzysktedgbyducevlwxjaxmasvvwvsfbvvnri
sk-mtdxvrivtguhurniwlkkpiiqvsldzupdxeikktjjcecokprb
sk-mlsnfruyphvjexbbxmpfzmqrfolmnmvagtartricqtvcfdcm
sk-ofwsljbaccfrlecrwelbzwaervcdhayakfccltttqklfvjbq
sk-hrocudrwzukputieyvwyqmxexladghassxhdpyofitevmlwa
sk-kfdlgrtqkyprcetrnrychpfevpjjgywwivxabzfqtasgyiix
sk-feeqqafnomkhecmdmynthzwzrxtnycmqukruftwqskdkwtnf
sk-npkvsjgcybufvdunwkphuaonyldjbxzjsafqqedahbtzeoiz
sk-uhteqiuwuehutwhlxnmamiaijkkmidjrvdwmidzxrghjhtqg
sk-rvldypjqlgqfmdjpnvynloktzymkdglgrsdazszbdnciqhkc
sk-fypskpotuzdnbnwbabittdesvnnyeajugzeoyyslhbcjevzs
sk-aglzgphsokubceekkeuzoyvgkcbqfycnxaqcgaedgjdvhcxg
sk-hardkitrxfbychdakzysippwpyjmedmgiagqkgeqvmlafmjf
sk-gsnxjocrbnaaxhzfeibrmdcbsnwfqbofhzndazjkrrvltxzv
sk-ithxlhonxaorsmqdvckipubyntltddtgwptzckokngcpncfm
sk-egsiqsepcweqgvcwexpcdrpvwrxmobvwixqccglcpesvmxed
sk-myzjstorsfjlwxmgskzkkyvubhhziukyavdfbkocvgljmlyn
sk-gteiidrbqmgdxzvpjuiyeqyvipmxzqtoiambwldwgjsfmtdd
sk-mtpgzluddgftxbujteqpuviywfqgyncpfqjgjqgjpcicgyck
sk-ftjkknqxfmkkkmpfdsgfqesjeeqmmmbhivdirifbhvfcepwt
sk-ovckcrghcmczguqdrerkxkkkscyouizksvmpsjumgiewapfd
sk-qxklayafdzinlnypxaujfcyxmzunyxykawofofdffbxltzxg
sk-vcftsjgmxhfwlrxotpkqhmnxfkdebhzgiwzuxdpsbonammii
sk-xhoiqbylnbkqoxpelripjmgzbxgnpecrcytiykgdraqjzojj
sk-vhbqrvudkyxacjtngyugblakfvvbkietakeiutlbnutjvsiy
sk-dfcchjmmqegjcvfdxvlrrehqbphlupflxnhtdmosylodffwu
sk-vsdfkqggqcbnvtvcbsfjdskudtlcwgrghjtgguebpjxavtje
sk-zigcksmtvhsamqpcijscaikfnqqpmqxmbnxkugqxiijlwlul
sk-fhwgclgjutkwryyprrhbkpwbgxnsngzxmfzxcbcjiapwrewf
sk-dtxxzmneqycsulewyyazhonrvwykgnljrecxhbvfsmpndgqb
sk-rkcaxubvkieudbgnemtxzjkbcjyifgrrggkrxkfcdhbyaqyp
sk-bgxbfxkbgpgmjlkybufrhoyjzuscftkhoysifovmwfnmhjtv
sk-zaoamrccdkftnjaxkppsaeexkahwtefihodkggfxfcwnpufr
sk-etlljqcxcagevpdtxurmjjlpblmqkeapuayamgsujeqoyzec
sk-fishtdgodhunoildrhibkthxfthmhzmoqyreueusllvgdrfw
sk-yuqjqtauksehdnxicivpanzcjivczcexfalrgnommlrzxrtf
sk-kuyaqlrnlxdlhlceqeylhsqlqpklcjfizmecvoebgqyylnri
sk-jcifmpjwcflqxleysvhsfzyzgqljhvmwruaebpomfdcdvkzv
sk-wumdjnbqrdkeoofgwgrqydjtzhxdtokfxonglnbkyusskjjr
sk-pnxioycopxfybzorymdbtggyhsyzisfbuzbgbaiigzbqzrfi
sk-gdzssuqmqiarmonffqolbexvmrrosciwrbbntwfjrtjdjcyh
sk-vabdjvgmckjvbbygpgnybiqrqfxqpkdtpzrycmisbbyuxrko
sk-fajnasgausglckhtxbiaequdvhfofhtreoxoymzclzsdeitd
sk-yhktpqukefbptimlkwdrpjegnkamxcexxrigjippxxeyuvcu
sk-liadqlqnabmvlnyqpzcgwvlnjxnoqljatncpooyfokkwffjg
sk-eyjkdysnhghkitafxgjaujtbyidwsoqjsquunajenkexruhh
sk-kexwxksjmeqdxiixdnvqolhlaheqnmlxlrfsgfnuzoqagasd
sk-ynuljsyeqeafdidgfzctoobdepmpxiqerhoihlintrogiqga
sk-tlddhlbcbngmfcztpvkcvuldfzbpjtouzjiojrmfpulpyxzq
sk-ygzglahipgdcyqwcstukutdwjwmczhbhzeotdzoivdbxexob
sk-kgyiybcociqorgfupayoyzqpdsecbvgbvjcctkifivpeixox
sk-tuzdsmxfscwqlflwnpuyjpcnincewbtfjqzoyhuqjyigysct
sk-srnhfdpdqkkatpawnurgohqmfzgllgwnpyizechxjutmbegm
sk-egwgtczpzykqbriwluvsppybvgippwwlroxfvnftzyjdncpc
sk-cowrpiharbgkhjmtrdzoizybdcgenugmrayzenodcxyliefa
sk-aacrpxohegbispvrbigbydmocuqzdwjsoxzslrdqcatiefrc
sk-ziiczsgwvjdnykpxaubjixkxnldyghzbphzjwltpgwlccgke
sk-mduduxjlkehpzwirfooekcviwrzkpsgtjrcoodmmlhahvoqh
sk-smtefkpqkwrwgsjwrzklpelnzlkutyjjsqzbugazjjuzcwwb
sk-zmxwxmhrnuzwvtphdymygbghtffeuemxjhzlxgzzmhaclkeg
sk-snugqwiajqchcxhtetdwixbxgmzncaykokghddqgrpvfmikz
sk-lmxjrcmtbvvcpkdifvqdrueravughanozroziaijuwjzawji
sk-nmzjbuoekfhswrwxxpkovhcecxguhxqfzvngfakflldrxhuy
sk-lytitjbksboqrdjtklebdqdvtaqdwkskaikhkmeadirzijgb
sk-ysrgtysjpndofwrlsfbhxejngtrjarpcxsdoiduejwhbwmqa
sk-ybtbecjrmtbvwyqttasnezjucxxidpvevnampqihzmpgotws
sk-bcdczzolspfimlwtrgrgtvnfbylzhlfvzniwjjwwjaxsgwgk
sk-pmexbbggprghktojekgvafflkfdabmdubkuhlsztddzkoepj
sk-jedlnuhcssbmctdsangigvpqmsvcrxpubexxyfvegnmmcrio
sk-nugrtimqrhtzntdtabhnnbhxdxhqhzmoqqnqnctueacypwvc
sk-nmmfgttuaygfwptzopqqmsdfdnntqcgsydrtzrglpynejzrs
sk-rpulipuyqxnbcrnexklavoaqxsribtnkezxwofnnswmrbpoe
sk-xqbqshrnzwkpakbuqnrktkbuizmxpjssobfuqohpzwkskzcd
sk-asmvqmeiyitogwbmtccrphzcnqaotqecibynmvwzunaqhaql
sk-ugpejtgmdwsascvpfjmxtscljakdrmqiyndlpodrqlhedygo
sk-ppexrntsneyjjcpjcrohjhrkqncpoocrijccynxugghtifyw
sk-abjoisdtdfrvgxcbvnbqfoejefwdyriewiwatocebtcovlhs
sk-vjskyvulvtjydcdwzvwbehvlwmnedlasceqrgkcqghbdiyyh
sk-btbqipjautjvczktnlpaibxbrifaiuxnrbmgmwazxzuiyzlw
sk-fstlifbstfcllryfxrpwouckziqmrsenvuekrjvybvungjiz
sk-azobitzsvpfcltofzipffghjpwomgkwmsbcwvaydtrxqtpbs
sk-ujlyohnjlrlxittzerhlpuuzgrstxiodpqhxtmcrbicigonc
sk-ryvmlrmygohqokwctbwfucrsrdhbatdqthaxvvysmxgewetd
sk-ycajqvkkbpafglbkrkponljcsbgglujjgzudutvuprewqpsi
sk-imowbbjicqqryjynefnhifzocofhwmhksvtuuevipmozbnaq
sk-nlbqdgxgzjtejgxxkwarhaqhlzhpwfvzfrkecqvnittnfzen
sk-aveeccfdmjfneqgwbuowkmmdocjidsgagllueopssxmqryjf
sk-dxaakoihgonjwrjzoofnpptlkfmjvygrkdmgudkgvtiqmzug
sk-xvtvxlokonmoarrqqvcvfybaxbfctuyxzmnpeogwcaimfpyx
sk-iktiypeafocucpbrmteewkxzhvbpvduhbzicuyvetkqxprfc
sk-mrdnjyoyumrpnuhtqyetfckfjhggknflsqjpkuijlqijhted
sk-mceyecljdmgkkcoajrpkihjibmebrhgxprdxavvxkjzydlyc
sk-oluffotodkjdgczoqbkiwqvnthwlgrtohfwsglghwumxfize
sk-hsnrfrshhzslcxnzfdmymtxhdlyuuhfnezvvvsdprdoemdzd
sk-osrqajsmgoefiuotocorcmivekvcqrxgmkylskwfaqakhtmd
sk-wyrebfctmxahlaewmpzgthkvodtuouplsruuwsrycggpfoem
sk-dfjdkvavzwyhpemgozkcbitboymorvnutoevumwdonpjuank
sk-kcsmbwqmzjcjfxexgqtqcgofiagtybhrvvpfxldwsjrrbcql
sk-epcicyggrwxsilxryxxmfleslfaosomuovddgsngftwtktdu
sk-bxgudsknbddkifmhkbqlwhcpdkpcxjlnhzbwfejfbazexglp
sk-vcukbuzarwerrvprkmngpwxtyhdmatfffghwklyxcqtowvtu
sk-zfatatcnjpkfxjllqhemoutiwqnglpdghzqholhjwwxntsoh
sk-bowdlqdmnroqraqabptrqtsuxacovezjudmhthaaerfqeqod
sk-ojhavfufztpzcuiukqqisaipqdfmwojotbjiyleyzpqbxcbm
sk-llqobkudgjaoflssmuwtmkvznequsowqslomteafbzvbrrjd
sk-umhyvqlinrraktkumfybpwcjndiqticeqlfcyvuxrnwbqulg
sk-cjjgiicjmkhqylgxtmyxevibikohgrphyvwkywzgcyewfest
sk-ysjyrkucpkorghwusapfdhzwdapvfhmyfteptqgddlpiskhi
sk-wrirpbcidumcataqcjwximfaepwfjkvbmvllnhgbdblklegu
sk-stywgfdgdpcmpwapkvhqxkzemgnfuuqxinwjdzyyaeudsyhb
sk-kxbxfqarrraogkdnssnzynkhyvgunxfhqkhbporcahhhcdyn
sk-dztusbqqileqofheluknmygwwfjgcbetxqxsrylunppstmxb
sk-guhsoomvbauceijoyjtqvqiniqifzfunjdmmbulnaogykaze
sk-qteqvnbneujxrsejzeiaqoduqaasjkeixlencahnqxfhizme
sk-sgdozvbisoycjdnivuzzzhnffzkpmzdvzruefzvldwzfyhju
sk-ovrbssnrmkflqppxaiklvjfrruoaxfabnqfkrinmxxscoqil
sk-adbcnawitqecsvpldzxkkuzjgdneasmfiueptztxtufukjmh
sk-nlpfnccidxqynhlqhhcvirryewqhrvegrfcnphbovhlqkuis
sk-djugkojxzawwzsqeyvjtbfoppstslxqocahpoivtmvptwghv
sk-efftrscakkhpduppjegelcuxjqndlqnyctnuwydchvwaumej
sk-aaluxbwbxttslhghgvqfisoqzrlxxgdbjcllyqafgfjextnf
sk-qgfvwpijyaqgqohlokluqtgtxaedbflnspyrxinuulxfqwec
sk-zpxixvbwfhilwcygecdzadmvhnjdxazcajidvgxiwmpeteqo
sk-svhbhjdwybedzgaisotajanfixngczmkztjxqjmmyelfpovm
sk-vdwrondttjuugrezmccnzwtkurlsmolhipsgmtclelbchlng
sk-hnsuooinmmkptuycbhijyqeqqtdptipriituttztofvsyets
sk-qcufjgduzuxahwuyuxhohdlxlwzspgjervcqavejjjsqnxuk
sk-gcrooquaphfpgkpqzulmknyelauhntgpkahdndfmghwspfzl
sk-ikpyfcknhbygvzzufzyltgproktmjlwrkcpaulzdbwitcnsd
sk-ojglzjacacbqyxlepculoodgwawycatixfjygdghvwoedxqn

Some files were not shown because too many files have changed in this diff Show More