From a399a80b48687b52e68edead3a865ed6519b4cb1 Mon Sep 17 00:00:00 2001 From: ai_member_only Date: Thu, 11 Jun 2026 08:10:01 +0800 Subject: [PATCH] auto backup: 2026-06-11 08:10:01 --- AGENTS.md | 39 + MEMORY.md | 3 +- add_15_words.py | 42 - add_16_words.py | 53 -- business_knowledge/L2单词表/30-34.xlsx | Bin 10103 -> 0 bytes .../L2单词表/KET词汇表_完整版.xlsx | Bin 48648 -> 0 bytes business_knowledge/L2单词表/L1完整.xlsx | Bin 41251 -> 0 bytes .../L2单词表/L2新版_L1重复标记.xlsx | Bin 52555 -> 0 bytes .../L2单词表/L2新版独有单词.xlsx | Bin 31806 -> 0 bytes .../L2单词表/L2知识库-三级+A2.xlsx | Bin 122698 -> 0 bytes .../L2单词表/三级单词表原始版.xlsx | Bin 142739 -> 0 bytes .../L2单词表/情境分类.xlsx | Bin 54033 -> 0 bytes .../interactive_component_reference.md | 339 ++++++++ .../skills/audit_unit_challenge/SKILL.md | 3 +- .../core/unit_challenge_core/SKILL.md | 3 +- .../master/unit_challenge_master/SKILL.md | 3 +- .../单元挑战/单元挑战全貌.md | 3 +- .../final/11-4组件生成结果.md | 0 .../final/11-5_组件配置已填充.xlsx | Bin .../11-5_组件配置已填充_GPT5.4.xlsx | Bin .../final/12-4_已填充组件.xlsx | Bin .../scripts/convert_components_to_json.py | 0 .../{ => backup}/scripts/dialogue_backfill.py | 0 .../scripts/dialogue_backfill_v2.py | 0 .../{ => backup}/scripts/fill_components.py | 0 .../scripts/fill_components_by_id.py | 0 .../scripts/fill_components_by_id_fixed.py | 0 .../{ => backup}/scripts/fix_components.py | 0 .../scripts/generate_component_configs.py | 0 .../scripts/produce_components_111.py | 0 .../scripts/write_L4_F_configs.py | 0 .../scripts/write_L5_G_configs.py | 0 .../scripts/write_L5_G_configs_v2.py | 0 .../{ => backup}/scripts/write_p4_safe.py | 0 .../scripts/write_p4_to_bitable.py | 0 .../{ => backup}/scripts/write_p4_v2.py | 0 .../组件生产/memory/2026-06-10.md | 14 + .../scripts/produce_components.py | 23 +- .../组件生产/scripts/validate_format.py | 807 ++++++++++++++++++ .../skills/dialogue-choose-config/SKILL.md | 109 --- .../dialogue-core-navigation-config/SKILL.md | 120 --- .../dialogue-fill-in-blanks-config/SKILL.md | 79 -- .../SKILL.md | 122 --- .../skills/dialogue-reading-config/SKILL.md | 52 -- .../SKILL.md | 81 -- .../SKILL.md | 62 -- .../interactive-component-json/SKILL.md | 3 +- .../__pycache__/generate_json.cpython-312.pyc | Bin 96194 -> 98302 bytes .../validate_format.cpython-312.pyc | Bin 0 -> 30646 bytes .../scripts/validate_format.py | 807 ++++++++++++++++++ classify_l2.py | 48 -- compare_l1_l2.py | 71 -- compare_new_vs_old.py | 31 - find_music_words.py | 29 - memory/.dreams/events.jsonl | 14 + memory/.dreams/short-term-recall.json | 593 ++++++++++--- memory/2026-06-10.md | 24 + 57 files changed, 2564 insertions(+), 1013 deletions(-) delete mode 100644 add_15_words.py delete mode 100644 add_16_words.py delete mode 100644 business_knowledge/L2单词表/30-34.xlsx delete mode 100644 business_knowledge/L2单词表/KET词汇表_完整版.xlsx delete mode 100644 business_knowledge/L2单词表/L1完整.xlsx delete mode 100644 business_knowledge/L2单词表/L2新版_L1重复标记.xlsx delete mode 100644 business_knowledge/L2单词表/L2新版独有单词.xlsx delete mode 100644 business_knowledge/L2单词表/L2知识库-三级+A2.xlsx delete mode 100644 business_knowledge/L2单词表/三级单词表原始版.xlsx delete mode 100644 business_knowledge/L2单词表/情境分类.xlsx create mode 100644 business_knowledge/interactive_component_reference.md rename business_production/组件生产/{ => backup}/final/11-4组件生成结果.md (100%) rename business_production/组件生产/{ => backup}/final/11-5_组件配置已填充.xlsx (100%) rename business_production/组件生产/{ => backup}/final/11-5_组件配置已填充_GPT5.4.xlsx (100%) rename business_production/组件生产/{ => backup}/final/12-4_已填充组件.xlsx (100%) rename business_production/组件生产/{ => backup}/scripts/convert_components_to_json.py (100%) rename business_production/组件生产/{ => backup}/scripts/dialogue_backfill.py (100%) rename business_production/组件生产/{ => backup}/scripts/dialogue_backfill_v2.py (100%) rename business_production/组件生产/{ => backup}/scripts/fill_components.py (100%) rename business_production/组件生产/{ => backup}/scripts/fill_components_by_id.py (100%) rename business_production/组件生产/{ => backup}/scripts/fill_components_by_id_fixed.py (100%) rename business_production/组件生产/{ => backup}/scripts/fix_components.py (100%) rename business_production/组件生产/{ => backup}/scripts/generate_component_configs.py (100%) rename business_production/组件生产/{ => backup}/scripts/produce_components_111.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_L4_F_configs.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_L5_G_configs.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_L5_G_configs_v2.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_p4_safe.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_p4_to_bitable.py (100%) rename business_production/组件生产/{ => backup}/scripts/write_p4_v2.py (100%) create mode 100644 business_production/组件生产/memory/2026-06-10.md create mode 100644 business_production/组件生产/scripts/validate_format.py delete mode 100644 business_production/组件生产/skills/dialogue-choose-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-image-description-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-reading-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md delete mode 100644 business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md create mode 100644 business_production/组件配置/interactive-component-json/scripts/__pycache__/validate_format.cpython-312.pyc create mode 100644 business_production/组件配置/interactive-component-json/scripts/validate_format.py delete mode 100644 classify_l2.py delete mode 100644 compare_l1_l2.py delete mode 100644 compare_new_vs_old.py delete mode 100644 find_music_words.py create mode 100644 memory/2026-06-10.md diff --git a/AGENTS.md b/AGENTS.md index 9c395a7..33e287b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -246,6 +246,45 @@ Skills 按四层架构组织: > **示例:** 用户发来飞书 wiki 链接说「组件生产」→ 调用 `script-component-production`,读剧本表 → 生成互动组件内容 → 回填对应列 +**组件生产模块目录结构:** + +``` +组件生产/ +├── skills/ # 8 个技能 +│ ├── script-component-production/ # 主技能(生产 pipeline) +│ │ └── assets/ # component_rules.yaml / review_checklist.yaml / skill.yml +│ ├── component-design/ # 组件设计规范 +│ ├── vala-interactive-components/ # 互动组件格式参考 +│ ├── task-router/ # 组件标准化路由 +│ │ ├── component_configs.yaml # 组件类型配置映射 +│ │ ├── agents/openai.yaml # LLM agent 配置 +│ │ └── scripts/ # generate / review / route +│ ├── dialogue-interaction-config/ # 对话类互动配置规范(被主技能引用) +│ ├── dialogue-selective-reading-config/ # 对话选读配置(被 task-router 引用) +│ ├── info-sentence-building-config/ # 信息组句配置(被 task-router 引用) +│ └── info-word-spelling-config/ # 信息拼词配置(被 task-router 引用) +├── scripts/ # 2 个核心脚本 +│ ├── produce_components.py # 主 pipeline:读 Sheet → LLM 生成 → 校验 → 回填 H 列 +│ └── validate_format.py # 格式校验:通用规则 + 题型专属规则(27 中互动 + 15 核心互动) +├── backup/scripts/ # 历史脚本归档(15 个单次任务脚本) +├── final/ # 历史交付产物(xlsx/md) +├── output/ # 运行时临时输出(JSON) +└── memory/ # 模块专属记忆 +``` + +**子技能引用关系:** +- `script-component-production` → 引用 `dialogue-interaction-config` +- `task-router` → 引用 `dialogue-selective-reading-config` / `info-sentence-building-config` / `info-word-spelling-config` +- `component-design` / `vala-interactive-components` → 独立触发,不引用其他子技能 + +**校验流程(pipeline 内置):** +``` +LLM 生成组件内容 → validate_format.py 校验 + ├─ ERROR → 跳过回填,标记 validation_failed + └─ WARN → 打印提示,继续回填 +``` +校验脚本也可独立调用:`python3 validate_format.py --type "对话挖空" --stdin < config.txt` + #### 组件配置(Component JSON Config) | 触发词 | 技能 | 路径 | diff --git a/MEMORY.md b/MEMORY.md index 5c9c025..d4b258d 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -96,7 +96,8 @@ 1. **禁止 Markdown 标记**:生成单元挑战的音频文本、阅读文本等任何内容文本时,禁止使用 `**` `*` `__` `_` 等 Markdown 加粗/斜体标识,也禁止使用 `#` `>` `-` 等块级 Markdown 语法。输出纯文本即可。 2. **适用场景**:单元挑战所有文本输出(音频台词、阅读理解文章、写作提示、口语话题等),以及任何需要嵌入题目 jsonData 的文本内容 3. **英式拼写优先**:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写 -4. **标点符号规范**:严格区分全角/半角符号,中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用 +4. **标点符号规范**:严格区分全角/半角符号,中文内容使用全角标点(,。!?:),英文内容使用半角标点(. , ! ? :),不得混用。特别注意:英文冒号必须用半角 `:`,不得用全角 `:` +5. **中英文混排空格规范**:中文与英文/数字之间加半角空格(如"汇报 Jay 不配合"、"Tom 说 hello"),纯中文或纯英文内容不加额外空格 ### 【教研规则】剧本定稿审校通用规范 1. 标点符号规范:禁止使用「~」「!!!」等非标准标点,统一使用标准英文标点符号 diff --git a/add_15_words.py b/add_15_words.py deleted file mode 100644 index c2097aa..0000000 --- a/add_15_words.py +++ /dev/null @@ -1,42 +0,0 @@ - -import pandas as pd - -file_l2 = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2新版独有单词.xlsx' -file_kb = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' - -df_l2 = pd.read_excel(file_l2) -df_kb = pd.read_excel(file_kb) - -available = df_l2[df_l2['可用'] == 1].copy() - -new_rows = [] -for _, row in available.iterrows(): - new_rows.append({ - '单词': row['单词'], - '词性': row['词性'], - '中文释义': row['词义'], - 'KET/三级重合': '', - '分类': '', - 'Unnamed: 5': '', - '与L1重复': row['是否为L1单词'], - 'L1词性': row['L1词性'] if pd.notna(row['L1词性']) else '', - 'L1词义': row['L1词义'] if pd.notna(row['L1词义']) else '', - '在L1中的行数': row['L1行数'] if pd.notna(row['L1行数']) else '', - '删除': '' - }) - -df_new = pd.DataFrame(new_rows) - -df_kb = pd.concat([df_kb, df_new], ignore_index=True) - -df_kb = df_kb.sort_values(by='单词', key=lambda x: x.str.lower(), ignore_index=True) - -output_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' -df_kb.to_excel(output_path, index=False) - -print(f"已添加 {len(new_rows)} 个单词") -print(f"L2知识库总单词数: {len(df_kb)}") -print(f"\n已保存至: {output_path}") -print("\n添加的单词(按字母顺序):") -for i, row in df_new.sort_values(by='单词', key=lambda x: x.str.lower()).iterrows(): - print(f" {row['单词']:<15} {str(row['词性']):<10} {row['中文释义']:<25} L1:{row['与L1重复']} L1词性:{row['L1词性']} L1词义:{row['L1词义']}") diff --git a/add_16_words.py b/add_16_words.py deleted file mode 100644 index 5d97f5a..0000000 --- a/add_16_words.py +++ /dev/null @@ -1,53 +0,0 @@ - -import pandas as pd - -# 文件路径 -file_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' - -# 要添加的16个单词 -words_to_add = [ - ('supper', 'n.', '晚餐'), - ('cafeteria', 'n.', '食堂'), - ('tidy up', 'v.', '收拾'), - ('all sorts of', 'phr.', '各种各样的'), - ('all the time', 'phr.', '一直'), - ('bring back', 'v.', '拿回'), - ('turn off', 'v.', '关掉'), - ('cabinet', 'n.', '橱柜'), - ('get back', 'v.', '拿回'), - ('costume', 'n.', '服装'), - ('equipment', 'n.', '装备'), - ('explorer', 'n.', '探险家'), - ('upload', 'v.', '上传'), - ('dot', 'n.', '点'), - ('successful', 'adj.', '成功的'), - ('give back', 'v.', '归还'), -] - -# 按字母顺序排序 -words_to_add_sorted = sorted(words_to_add, key=lambda x: x[0].lower()) - -# 读取文件 -df = pd.read_excel(file_path) - -print(f"现有行数: {len(df)}") - -# 创建新行DataFrame -new_rows = pd.DataFrame(words_to_add_sorted, columns=['单词', '词性', '中文释义']) - -# 合并 -df_updated = pd.concat([df, new_rows], ignore_index=True) - -# 按字母顺序排序 -df_updated = df_updated.sort_values(by='单词', key=lambda x: x.astype(str).str.lower()) - -# 保存 -df_updated.to_excel(file_path, index=False) - -print(f"\n添加完成!") -print(f"添加了 {len(words_to_add)} 个新单词") -print(f"更新后总行数: {len(df_updated)}") - -print("\n新添加的单词(按字母顺序):") -for i, (word, pos, meaning) in enumerate(words_to_add_sorted, 1): - print(f"{i:2d}. {word:20s} {pos:8s} {meaning}") diff --git a/business_knowledge/L2单词表/30-34.xlsx b/business_knowledge/L2单词表/30-34.xlsx deleted file mode 100644 index 49a8792bc21287ceef7e3d0cb9fe387acfe17332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10103 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 Ni^20ZE&X3-{|{}=yAc2Y diff --git a/business_knowledge/L2单词表/KET词汇表_完整版.xlsx b/business_knowledge/L2单词表/KET词汇表_完整版.xlsx deleted file mode 100644 index e8955eeb55deb13481e96649a1bed43896390388..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48648 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 vshkcUg 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 z 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 diff --git a/business_knowledge/L2单词表/L2新版独有单词.xlsx b/business_knowledge/L2单词表/L2新版独有单词.xlsx deleted file mode 100644 index 16a7abd5165acf7600f8499b8fe5a1ecf3db1654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31806 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 diff --git a/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx b/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx deleted file mode 100644 index 68dfb453019963adf7f07fdbc1bc809f4a1976c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122698 zcmcG$c|4Ts`v-nbB}vq&B>U-+Xii?mhc|f&TcZjr|Y$ z{qlzaJlwZ6x#3`I=O}ao3_A+`Vjp!F_S5{mYrp>Ti`K4RemV60Fk?GAL8P@+^mA3U zTH!-Jq^kqfOO^JTUXRc6v5YBM-8iSwQ-*$9@VV!e?4SH_QC>Z zIrqeg995*24<22&B05GM<(`hW5J}tNNaOXm*F-8*)9?J0phN$hHV%$}7)+ORkGd3WVMW6SW-t}zO<>0iI1 z{eZO<%aet{+lIud3q>hZRN)$paoM;1T>He{-z&-yo05#nRw=%fe4@F@XJM7zPHNBm zakl|(tl93rJSU%KMM|9BTr!iVoS^Lbx7eNJBhDxTu^R%h|MtDuO>7-ZA-M-VZ&R)n zKI)678-DY-Qnh`$wbl8b+;jBaN9xL+Mp@ULX1bP-Gubz^cDgcTl|6Cpw)FDl52|Pi zR+=JtD%#qVt^BVXg#?j5OjpfL;%^w}X(@_ev&@3T#?`HuB%X}(zZ!XM6g+zD z_{_tUI8q@|TvT{G z5TUQM@-|?UaAYI9xN=UBiLrCue|Mv1HNW^fJ<}y;uR*J(qaprtyHv~uYw&Jbe-)cA zVM2%Rs6J00)tKY`#M1Hm8pm*5eOPPW#N=nI|?t3MJx z^w+TJ2G7;uHwn9MA2VVTK0N+N5o@5T*{FC^=W>(Ng)O}E*v4Y&;#@?T2T33Qe8Q10 zYB!Hl+Wq|=2Y>ZbNu0Soe{&%_MQ<0Ub#i*jjps=tAH?pMg|U8|`^Qc0^{WRBf4o(z z9(wKd>l-uoA&t4-{QPi5CN43eYy zvq<+&&rSB|4xV58izhk}W*zMvCUU+})$=g&xg&s?vVf&*j(kP1GlCNp+U4+-$Y|$61ByH+G>~IAoFak7s+o; z7*eLS%TOMxo$?!_hA2uHYHPe|s~ff6Ng-2KHc_QpGdx>F((oouo-(hFTI-hIXwTXr z$#2YQQwX*cJf&!Oqrq@%eRzu~gj%f~ru?e3+Fi8?#!TQ*lp@M9&X6)kqAdA=*KH}Q zVJLEKmG?$i)y4{@iY&c_H>BXQC`4P-W-Wee4c;0HUf8UyUF$||4f0S{w0V?P)lr*O z4uMr0VU(qYVan*5P!$D_+N!PE+8qBKycX+4a%ra6f`3Gj`@7q=8ssU4QbY2T6&K3G z2b&QGRTtMDZ8($1PtnNo%J+jGz+yVL|IOwn37_LT)GFRwf`qi zzlqvf^`oqEY~oR?Wc(I^LiCg093`PBwelx*y;crVfOwa%K!{c3BO)e6O7j~_6bes& zDP@{qSfsaxL9I2R`k6`o@BFL}%OA{(UU#XYka;MZ2h~xlM|`XFpW0BWVqa8K-ivx| zHp#4_P%YDB%2u`j*|^!4y;{8-d6Bs;W@Tls4QnTblyi=$@^7uN zCP)*AXIkIOGKe~2cBu}E`;vOM^v3Yb&huLT1hAMt%R1r_IYQp$uUj4*p}RpC%*a@Y z|DWzG-^0Q_%&tL!D=tmv2lhJ^?HZihGkkir@~<&s&)`@r%D$|K(etSJwartl&)4t% z!@DB>@bs2+?bCCu6Z@S?w&xts3=2S2HWjeR?$3YVdf1$wa=vv!B!6WC4d%>W+c;#d zy(Cp##84^pPjQ`oj`jXkY=Q2>O8$Mzs+ayLW0`u=B>Wl7wo8AW_U%7h+;z?#+_#D~ z{LFnmfSYZ8PABF#w^b9;tk|XGz+C8XxR0(cegEHH!UMXe%SB{*JQkLVWx1odXaB}? z{^|HzhHi^y{#YztM*zjm=6lpP?{C(Jh0XGN`aBHyRxehQ z=#Ca4U)k6!VqA(Y4l4P&H#PG4(homi^VRj8e|5K*#r(zQiPk~21#53S;~5*5p;%Y&#>G!07A;J&R4P1EF}RQ*KmWSk z`NXn$|6E>cGh8ya&a3-Q`(m8vpM+B?vaI|p9KLTFhzBg{< zme1(*s^@4+&a>77gPj4~J!<4DDf+FrtHX-xm2op{omW?ywHn)O?uAGvme>o+_7yIr z=e)`te(VdEvvWJf9^>PSeNy@H?M69u2jO4`Id9>K;h5_oujVkw_Rx!@g=SG1*fP$u zZMPqmpQvSG%`!xrTS0lHxvuG>;HrIts4PsjS9SUBJ;&jZJJNG5Okx~D%C#__p6)3v zlerJJCp`@{RsvHK+$Jq2?;m6Wi!qRuWuU%dE@!v!tQK~~W#tcgG<`7ig<8Ty05B7jJraz2_L+`~Wt49c&go z&ApNL)^kA4uO#e3;cj{G6*_sw7SBf^oH1;rL9DXb(L}$SW&dLx$@A`Io{Zc7zlk3y>F=ip|iPPcJA9FYF znpkVEofefLJZ#TvT{tf)qrR+qdIC$`tq2&sG;PJYQ4D9Nd()aHZ@aI>WAbFbMb(4k z5;qO@n6-EFGv7()aGKlXC)_NC!yOVoW~=-}jy=y&+AxL7zgb-;#|# zlp0g=KdJsSvONZpeLt_Pij~`B&qA}XEMt(zG0PWjFR!gV+g1Y8n=8!|?Y*Zri{TM5 z;W6WKAHX|Im;;0L0cwqj8&@olF+d^ffquCuhToEPTyqL0|K5)D8iL6-cs{joGh?U9 zeDtn4GG;1L?`bT_Q=t>496b}R@=t*N!g!3uB&=O!fIfWE^Jz*nu`H%bui^|7#>2>E z<*VkpDPGW&b$sUd1ezITf>}OHx&-Z$cJfIxC8nD$??&nOjaeatH<}&x>6kU9c$vWxDF-`VY7Ua3H znXfmrwK?Bw>vcI^;y1UP?g?PG=Yg5T-1^x}IJ7W&F#Q^sCTdfb>$QO@u<_;QoMY?y zmp9!ELxE{!H&j}tXVh#TRwg*Cq0+ubHRBH=+#ENxYEVI1~S%`kcRr8|{m0Lc4 zwb=rVm1eQ_PAeJi*Jg6CiayWTyCy+iM<7j@zH9y&D4I;0cz7u76jEbn!qei?RB?;% zz@b+3(aEb=&2vCjvc6LJ;UO$GsYg4gpozNARQN6VPMEfWw!0ZpMpzYdJ*%(?4F94x z1rwVml2&@Q4Wkog89x*LATdoA1{RVCPt@3>OdHy&U-4z)Adi@P!`eABYzVED=9R7% z!Bwz~*x2yN%4+DR&!Vcyq8;W34AyK3A+xkCkIO(F4yAR3z3t8L#3JO7QN$YLW3FQ^ zn+zXfkKtQ)emzC@_s5RMaSv>5hDl9KVmL0JjP)6seKH0K;0Ecuu*^9GMtP9%#n1WN zXu_Uky(%8r72k^VI_8$g=yi;JExn^_s;u>Bi(@e9;;Am|#@S^v(x!N82B+Pn4V1mR+iqg`p~M5B*j2 zn5g@)%y%%pL!>d@@@``yeN#}wNfQ*E9K)b&k09y1gbS0L(`Q(1==qMxjVo%noNaYZ zwFp)3%n#K%m?H}#_J3@DHa&lW2nQdvcx^USXs}#v?B?&;+2d~DWkz$f?PnZQE%;GW zN{jNC4dne&?{fpLUb@JUD(^>I1#t|4Cz1OqWftht2c4WhK4( z;#2f66HA%J8yg*?*SBXRGdfha!*3$%%E*%kY0*_ai^&q#A7l?RiAh{{w0mv#I?>11 z;*GIeoUN2;0PxIWLHAPTxcLO*{4MHp)OGD%PZ|xsuDoXV`qhoHF;<3^?$Lt@$H-Ej zr~x-ZQBq4)C7dPtnws~?B%k%&BYAt3)Tq-+3Wz%Bn7;-dQLPsk!7bHzgVe;5;J&%d z-tkis*BMum0^khJ>#8XkwJvW`BGft6k?ap%cxlZTesbMC6tfV#Rgex8Nyyt$QC3S# zCAy$W2_q#lx1dW2%}(V#HbL4`-B>I(k`ki{bWRWHC$ zA1uBzku~^=|Y@+O(nU!sUEU zXI}P|TP!VzEAc{N5q96YxBRdZ1J+~a8aXq$91jzj+;a8aEr|nw!YV0 zhFWLtKC))1MQRLx=7g=mVTzOkJ*DN z(54AFjs&Apg28nmhpAA3>O_K;Ne~s~XkDC1JgbZ2ckgkNVI+2Gsr$!2cs>%^(xBE0 zKDaTdz#N?`c88;|%F^ls)uW%~NYH$l!TYk}6AvbEb8YO}l%Ul5nL_Ka$Q!z!@w*(e zChsO#yaA`S?bNRu9@82l;z?&O=(Ow$=CgcLHZ^@xB3CCl^4RgjmpT)hB27okl69S}(8rlVe<25T?Xx-ms z_oJh_jNIE-fN)IKPm5m1Jws%9K5Olf4gKmbQY|_pI`cc^+Ip}xJ;Sr8!=(XeId53f zS}Ra>Y}Xf6e}G${!teGo!NBiD#1&wC>?cLr^_PjyMpn)B%wNAc85zRLpxUlEn^xaP zLs7u!)PT{ci;_x&)!MJSv<)gfG9itO2)773>X^^AUv8P8!BGg;x1Wgx6Q{*hfQg5G z3!jgx3fb#t!OYx#V6Xu!!V&VncXa)>JD+M>TGdi@kJ!`54PeFR6^5AFrB`;Ac!!zz8RxXwBIx|9KYfrjQ;)8JK z;$!TYeCrouAY3SR_U(+$*(CG(2-7Hw7ALI!n;5a4V`Gswb^pd+))b4CkYjmz2ZWN= z=&B=Ydp8y@gvstH*Bub*OtVy6yd|ch@iKyq92lDk^l~5WuH8I0=d8Nh;fPm~q5`lL z$*R6*oAIn8KBjVKTdoSk+oirr_-858Fhsk4@$(5M>|A&ZU6QGs(;c&`-OGy~fvmY@ zLhB1J0J{mKy8fD!h*#c?WG`6*y8d(1ACsruAl++)pj*4BUm`6|jJs0Zxg7}D|M=V7 z26HpNXw}cpI}8n_scF$=YD5t+mB*9)LBLf70avpPGt(&Haxk&X+?=->dgqHjmX!U@ zcoQ{Pwc2kADJZ3-8BroOUW`qto|JeI5fXh6d0n>5;PZ!RYIwE-?_}NU6jP3!(NT_b z5|GemB*xsqXxC5cn9Gb_Q0=~KLjRlPMMKlu+o83%Qo!;(NL9t+Tz+-G#c61EbJjB_ zhR*Ln!n{s0hwE?b7}v`#ayad}A=4SARqUe}N-kM{d|o9vPUBd?+sbPtp>cE#Vd3Zd zzi1u8(XO9gcsS~nWKXQj zDN$ZWbLC^~&%=*>_@yRFQ|RIY+`E`@hUvg^o?=2 z#r1Wj7xO9Sjn6eD`=y$uyoht{QOzE{9&=QQEL@!u9uh6Rx4olTR1DUV72cTd-1ff% ztK-MaZN1AM3@D2>zB#MY`1YuPgzZD`3Q7+l$lf1d#AZFn|jt38fjV3_+BtfFa8Lf7`|INi4_XpXRGso@;dpkLG z-7@h_gmLOIONNCjW)ojvoWG@$*lZ@s+pw{wLcF*(wkRz3LgAqacf6RNynWVUm50b8 ztf7+Mc~p6@FThyarl;M#e)S4T#6F6U-)zc)te~xEtqy z9KLZh3BfGbMc3cqHI*Z~j;PNTq*uo=T6JmsiNNXU&&4CSr7S+VpW4d#EuArV(zU)_ z$}b6#IL}lfD3QT<(KcJo_)e^_gXhB*sr~=hM4yYVsG|Q%z_-N3&KprrHh-HWGgNsy zs%veeu5=_HyrO=*i|+t+{zG7X{<-)JZnyB8nM$fDNS>gTP*$ABay~l$4r^2wUD66e z?fPS5XlnmVo9MKh3inHyFrgAO5^t8B#fahZwby~qG}JSn1S?U)9r1<6?}|i(Di2C^ z-*88veGrp%QsbVY19^67{EG)_M=hc)a-d~@H~7|rL8&l%_wN0;W-b#$c=>QI$Dbb% zqv5!~cB%Gz`gS^CC1Al|a=MGS01+qBJGx=Hh+2Lja;a~Bzg#wYfF$%;YJ8_P7sufA z2It~6IHma82lK(8im>Qxbom{4R9E;hoOe4A2vvCLLfJaQZ(gN#iQ5UOZCbZCL_3t_ z^VJd~E8(>{)gP*_l(vQnN(?FIYxcu6vwSz>eT#xn%D1(IrT5NV0VHf_FRl z@u+9bLgl+jE}vT@G|O#*;K0rOMK`Mz%9dIMdkTLyhwJ4t7M2*l_${iB@4(yW_8I7 zXPy1TG;r=F{>o~xCO5g{9>u>c&&LnJ*gdyZrkLdX1f9fM_r~+REumyMtS3J{IQ3&C zcGm;Ld`9&-?~qBBJ|B)PvmS#Ft>`v|vXKwO3+o6uiTtK&>$ZP9AF4|4Psxlvm+qO* z_@3wbKiXI3FL;yMBHq=soXaP)nS}hNlkRAD&AED#>6@ybd0UFe%qF%;+7-d)IVdm2 zD#XjKR&MoM)R?_}RaEAs)PtMO5m)lAQ+=>SDuJr2UZ&JpgaP+YMf- zE;OS#3!v|Jl~_7699;|KdtcT{5prvRknjn{kXH4egFJt>(xV!KQrgY>0Y{60AoGh3c?s@>C+5#AAtZ+JTF04K2@y}0>{{8w-8=JKCIGN*iWJil#`s z7jel6mYF=oANrI?4bcnt^lPmdUAq?UMb|?9C)&P}#0$faDv!EjmCY&Zy-5Omfdp3z z9WzeEEpaqmmt5)p=9!xvU4APMk$ZZK8%ZJL;3>$Twn{d<@7?c30fO+}UWXSjpz zhnefLn8ym|3uRj-6Dxb@^G!6ABeeL$*(r6&xgdWE~E32tX7WXHw{Gd z`=x(I-a*C+mkVXPDlv6dINBGGZ0thH;unw(8nc5n+3_mKc_Ht)y1xXXa{}Bo^e!F` zMi-TT9&xwr*n^Kn@wB7D=q5ajB3|(;ZFanLG%g@{ncff_$Ylr@?2-1nRI+djEpa58 zU%#(=Z!NSndC5z0jKpL2gtvODKXmWk-k=oNpr+V(O?$Bs{^1_zcjUT5y_2d?1|b4 ztVRnTpfowVCPu#6ej<$ESS6HmSBXi>ar1qh7O=`YaE}FUt!%W6Bk*NmMg-!$1~r`K za+*SawXvr^6@DbY0nRFuc_@Ohgf{*dG#;Pm-7ZD%URezRte*UuZ)V8?EIwg-?hj}K zJ_rr%1XPj%xJtX?Oq9An!gld(a9NfJ^psusfS5G(GyWN?+y$1K;pl^)&dA%%#*>>D z=8GK+r8=x108?@TSaB|MZ!hk>2Ojlk*GKfm(~OG8_=<_Z*xRpy%t4R#3jHrGz&V(hLTN2=73DTL)pwf?!VipAeHv!<_eK z-Cy_N1^{A2Q_2*}B<@QqvCesezzAFqG(5czleP}*e7ys^1tN1F3tU}nG)3Ru95^eM zhSTv9`5~*SLIar1%J+#}bXqM$n6?f*ioo6XvVo7ieh%X$_rRkhLD|D<{_6&3lAH!XbY7NS0>$a3HTt`+9g)xnVi!U~7%4n7rVn`kn zBMRkzCL!zTQ5Pv==Di*sP<~`ahUYFJA5?Bo;eY? z5kZNfRO zl?{1JKJu2`c4VzcY+`7(~2cQ(Ef? za@0qBa8_cSTq{1a`gAV%G3&U)GSc~(IXHgZl#w_+W}B?tXMlrvb>+sEMnKGlD{~_h z5*jt65fgg1#3q^vj%AGFiQqiY!1)0;8)jc$Ct;#~>^OWN5VaBBW(KK?8Rtt)aWrpd zb^jG(7~CKbCWnlC3ui2HdGRfV1OgGuIUWb!VpjdIh&kJFFpv{EO*W-buuO$c5Us9P zE24|p0JPGxvpE+y-B%e3bB6VNgj{sw677U`{b%qJv}9ZcRsc`08vjp zwBpZ_CLz?U63Rk5*AZIYHX{b!X7c=_7WxY($k!Ouao)A1H%P?XBOqUOUrtk$_KI92 z9|k$7s#tfHo;sL2bYZ}F4-fQvFB%im6<&J$4lAd0;8>5b;sKn4T>#CqM*%+xM5R8{ zNDTy;*D=yeMf5ec{_Rpc<0VjY_5?atGW> zjRKw3k(aBb2=}5Ft0PaI=nf}~6QAw~h|k0U7!P91(fwW2iHA5Ds1G}2!?YCP+tA*D zt2Ir`wWD|cxaQP`Zrduz=efAjA=u{oB^|2+>6q5-cC^f}SBZ#CUpR2Ib2em8J|&?( z$x?GxD+7D^=&zVB0${#osr%|F=LpZ|Xd4W0X2!_+0&6Ok$$=4dc6YJylxG~tM{Ov) zHmM8~d|xvp)0^z7eIW;xSlmrc&CYNdID;dF>;g;v)opg5Gs*mTtng#? zqnk3X3>0 zf21Mf7LrIfY~V%uLnfNgHa#X6+r=w^J6RngV27rczwg37PE@{>=_sR$ZjRrNn@o^t z;?@)&tt(%!65(BJk!eVBO?0w1oMdAq1O~W*5U~7MRk36)Qy3F<8a}C^jv(lnbLEY< z1(jg9`7x`nxk4U?>HF5UOKSo&j1LTO0iNu>%y_&wmp2K6F5A*Pe;jgU$A{(5TeioJ zg!L^?&G~b`B$M1?kMhLhgO`LedxFk^=pt;>LqgORDwU&Gt?ThBz*DFc$PCNdJwpUm zN;jH3((r(O0}yiVJJ?$RIB$inHV*9X-B5PuvAkCV!)}mHvrSm=pn^JAS-{x%qq)A; ztu^VJC=5^iS~;Y;Qb2Wg;f@a)5)U?e4)y3C=ZPl=ECIjQE&(=_HKDr#+Yv6gzA+S26;A5{91r7D~=QRm><}syGmRDu{}gAH~v<}NXSis$(6Fr3N~*} z4Id@rR?F_muLg|eRxFfw&J@2Ckz0q~SlC+OGSC%1Lkr^!T`wK2otM!9H_+u)Q{Llg zzp@(~j;@8Zg?~!$v=;J)wb4b2)9i_we*X;=r&MZv>sK7)NgK@n7dKi*B@KTH#Qy{S z_byjF<-^uPkovDqWf@xueeu3O@N_f=K*^TdTMs@jL?`o3Sg!Q;9r*n5NE)Vv>k*y6 zanA||noPECX*`YDD2f1VjHrNEr7p``j$+ogUVQEYj3ifiemS?2jdYoyrnb$`!(tJc zbB>x}Q?~?rlD1OmLsF`&H?YIri^Hy!P?i=N@0NP4ay)ltYS{Ln!=#)o2*S&Syg(3V z;GEY4tDP(i>m|RWYD$#By&%{IirU|XA;!C2th)<3!brDPtZu7cdWnz#Uy?CK7#2oqYOS&6A=lvar!3%V=pc9Ok zb!pywc*y<0_^K)U^Jv$uc<-j5TXCwK&!cmyS^3LSmjk0sVn4TrUtt3_AmG#rn(YRc!2|MKz{vN%R3p#LY|{ zjPLmrPA-4;IWT0)$mbN?;CYliJ6t)8XbP}|fcG5BuJI$j3p5(HLv2usRZ9uQMvYtc zqC$@mle`#eV*VqQED!YP4p%(sgIB|VivnO;O_sSezL*?DOMVrBrDs*D67cp)75I*LEB?gcOI$4ww&s}u1Lx)Y$`zkJ7*Xs z)CX+zq^}P=(Gh7TrO8T&Ye0`(HJfkCmgD05!irx8ThSGxT80K%q*OX?Gf3g=Jj&+P50Z(lJi-c_Z2`Li{ zE3lf7q2KoO$)EkS+QYh?j4Oa-9ApL7r~!O9>o^#oxf^(od)o(w;A4rZr-R3+e@!i@ z0358mLZ^QBfpL@kKXyI=GcGNlgcF??be_$UnpHAka*F2;Gm>~b_|fig>5Qs4|5^ap z<;KJ#ixsGOHy6me-_dooNf*n^L&P5#edG?d7KG6+K*wsxz}n3BYw8WyO~LHoEinNa zr`RSP{!WTe9=Tr)$Ein+%c|!f>TEk1Q39uE#8vT#k(P{9ykPjxWaP)8@q7Pss0x_% zKG&wI4)A-OgD=M7iwJ)q7(!eskM=*B0E~Ly+Q{1JEYK!(maXu3aBxa38LO1A<;)Gt z7jk7!XBtatEE~fCP7fLSu%|IR>`!ljR+qei3HH$?Iaj9uB45tf+|a1gOHV6-qgXp31>y-k0w;yszh>cn z&QxYx%8?4soI^Fl`a|>#Us|ymW?=RfcStU z$1A`{ojWx2rCIN&N)zIM_l%gI4FSvps3ZjHbLKOmtpF~C04#MG?ZKB*A7J<6j_bP+ zl_p)4Sb$5HK4xR^Y|dl3IDWrCmt^s&vTtRbFH{K_L_SGa8nhT~FfSWlTpYA`qK@|< zj_KQ(m5nR|=3|?A69dd!ID|34=*j4{3+#BLhubz&7X_FS5^yS@T=K9*+A?)MIv^vy zXw!9oCtMug95PfvFRnG&yIaxK4Lb!Uc4Lhi;ydsqM5KZcQ4~B>ux}_lY%qGUO`86a zG{HgBbSHL43t)v3M0xLLz;bzIpIDt@dSL{C#A@fJ&CE6hX(ep`1qYj0DQ;5MQ9oNA!cayL@h5_N-(`1Q47Vchal<2^lJXq{qjA zWP9u~?z3kJSftI2xB3t#W0xdIlsNkX{v;<_A_!xK zCK2#lz!k^l7KJ@#o#Tx8i0;VZ?4pC`g4o5M4wG|r7ci&Hx_oAOVnj=t3jouua2tjm zzy{6vEb^1x7=!>%TU8?12AD}QqY~EhR-EU|4Ro98S_99yAnqGCAl#t|3T)@F>ocLM z6>0#^f%F$VJqBa#PD}Dcf&3TZHmeI=-hpHk2m>lF(yT{qNaKJsD2fya%dIsX0#Bd{ zumjAbh4PQ&H?*|wBiS1~mpR1kR#5Luy=tGp;MFKCA%py;ymtTf;JQHY6Zw(460 zd#RzwB05E#>7dZRYL?qI97JQVCEw(PP2=k4v|ZbSf2gvitq@Yr0$x;W`lD`~?7WXV zDh3>~EfXP@Udy8#~a@B45^xr`Tps(qD-Bq}e%M zQ22mK*P%CJF*6Rc_aIXBYk`@DrC(I-14XF$X>ax3Ar<6Dgj}i6nv1L}NM=plf3w0* zUXmVvf!cEr&!aH?5p|Dln|O!=#6zaqR?-Q;hh1|5pThHw^0rCJQ2B1{IL6@qO=WVI?$;(l55OKv#jR$5oQ>M|f2(NIwv#kFk1#VRWCdTC=lw58 zP35*g6b6CS=KprRYQ36s%@Erl)stZ2XZ*Fa<7_E&5rnm`<@D{3TctUh88{!WPqIoo z{pI6QCRGXVN=H1rj6IglJtAVN_K)+-Q5l?$Ra32}fGl}xrYklYjs*g}t%_u4<*fGs zIfGo)nP3@hPFK0HqRqdl_WXCMtJmnvOsI9|V^$nHw?c|M2aBLFO+>*Ci< z(|;XiE4E+W^nuvuglM+fi{ zte3azqjVtP6`(v*s+UL07eHiM?dnH}tO~G$S@eb`D0P4}1iQSUR$HMO#=qB4;H9sX z1OjbR?-VHc2!n&8{X$j>F(Hr}?hje@e9|J7ni7H27R*!YbxiO^;E5%hJ7%s(ykJ7hg9{{EvAi19_xDmi%HA}fB32r;A258wp`L@Z2 z?;AKeZh|!7E|{2(>U{X{cW4j)Uxxz5>SrnB1?zw+;vcxr(WSJa&u6YQ@bHmF4E~Us z{;-0iS*e84MP>j4(DXw87Vej6L!*;2p*%NfR)%-f)Nhokyzr>l;g2bs`ZL<)zc%{# zi=(`W7@n~8TG2oVz6Hhy14{gzWj#or7Slm6(N6*_F=tFYl!SYE@ihq6OZLH;#{<>t zK;|VNK&w&OrbPe(J3>^KhXKP0&L>zCs;LPJf^@CDc&z8{(FU~0S0nTVMmRn;^O-B2 zn^Y5kUv?`1Iky|`B9p6JNj^}%IG3>cCGZJn0Pc+D%B94 zXxQmsAF=+s2L=?w0P?U$fDz)57RTn!J@bX{%xTg-&tJwp_!>ZV_1m^LpmxDA%y?2R5QtqT4H-IK-C(RKURj5$p=o-!w1EK3{mg6H9YPUWQ6b8ASRbChWzvJeFdvVH#^o z?-gZ=rgJ#sd-OYLzj%Qg(F2B=lhZ{JEYc}!Ihynog$KEN+ z6d?cfJd!`?^8pLULuGOQS74x(>(E1IY2+_vDCf)M}`9`xv83o+S=9u`e0b^z)^&a#cUHOmbh1)1)U2XUZ819vZtbADn}&~(9WQ6 z4LUiXYB!Dea~7h(4C15$sCtKNsoLvcM?k7QS!&dD8ydRZI74mvkaCaRcDrOD2H^C1 zjgSAg0aU27Qq$Gg3hiUyp#-Yag3c-|At0&`9;}C*$`kMRCWcfQmlEQB+a?yS0AfKe zxUcewRN9m(e9NwIY-J_fBUsIletY~p6G%=n882r1bgW>I zpDa|a?V7Grqms7z6o0Oxv_dEhrWhSA{L;$3sPOzabv>IZdTp z$K~EK>uU01Jf@W5ab&y1comcwjibRq+axp-epOuPC2Nh|K08X3T1^Bk9iY)dPUV!O z^96KUoy2&aOQZKf=C4l0^C{EK&js3Z+QC26o{Br?~4M$J4*^&>bFfGsuO(LBaL-5=9tsSNb)D-_DM@cEXS z(1t@2dF`6aK|*LRtqwSgOaOWDwh-;-`O$xP6l_g8VofZ zy*=is`L!tZeXH(wgUbQCnpdU$5Ptj%(v%wa5dWXLHOX}r$LUG5QE&Cy@}NwtM;cPd z;0io$m_ihne{hdld0_+oCWVuqyl{X5*1d{GD;`Ap!m z2XHq*6h$72>7t9Ru>F+hi;WQ+HP$x=)G%<~E5B7uzuz37)_{~c_2eDE;=RDsGA_rf z;rPfsAdo{nK%m~{o@0`UtjiUuz%#iq(7^#U7rxkT~@V-@NXjm6( z?(z03IQ*d>dIqQvW4fcLoD?Uu1Ci(CHK%9jHvVXfXJ`qY&WR2=`?pd`u@xpq(or6_ zN(qK}mmqVzE};y%S|6l2F3UhKiUL0qqr`3y=!m3}@N2EfnoXiWOFe210U>>D`JLgE z4PjP-zyo+OcVSid%6EQ7JnU-{-3V5N+nyZ2GE5ucLk+E6{3rON2+|S5=y+_~=m#hT z1eibh@@{mT6KWdu@MN7Nb568M)*gdr4zW(x=0crbv=BcU`m5gkwx0k;XIsBYvfmH zq~3+ckk_9q^15?xr*Vi2LiCc(UXD8UI-o4G-79{E+7BxTfaiP2W>knW&lhrQsm>;y z5v})qTR9C&(S`zHe2h^#ykqeK0)C*j2=#CRHy%lab2~*qD&SLbj*z;5If&n5Snf_g zpZKrV&F^|;Ux7^PL+NUWFX)e_uG2Z<(?as|JxK^T`}Su?g)Cs zCfJ}h{GYmIsVnWOBmDy42_)K_io{c;e>iNj|E}Bc)8AXSFK1Js3JS2 zUJ*hMwO7>jp9cBiWa(op{^=g_^UA4e&l&jxe#FHQTgPQkhIc-yDb|b8Gu0nBmk-1A zr;G%URK1-ULhv5^g`S|5i*?RpVdMIhgEpq5H13Tt*~k%35&@?~Pw_ew3U$yXa=yH! zjpn_r3DxpE?3pK;RT5#rn+o0_pvku%(hDTyc$x`=MwelsAX)}i4Xo#?FNxB#RzjE_BPSZ;hcU8Q)gCwm7_k{5gyB&ka?V?lAWBz0^s;y;tr zTL3wRX@|{oeJjNl=4E(~05)t!_GwB3x_vmNS8#RAy_IkY z30i#Ba5CZ~TF0d5cV(Dsz{}jz&us_&J-Q0Hu*&@Dar8wmjg9jH9*m#wtJt(??vTcIP2LA z%O?&6qKHyU_~C89)R<%wg-Z<(Kj*z&G+qq8Bn%4g=V$^4UA~SmR?ZMXDOl~H?Kl&v z4lcZCh0VG+LHttXXVy-!0V1S{u0{~;zouCPm@0VFzpwN&Y19@kP*>bb=>@{%F zZH1>U#<#JIz$}R z^#cUpN3GOpRxPp0I(vx-B!NUJpitrA%66~20i@eiXcp(iv_%8*RMgnrvI67g1Nv* zA|zyyZ$!@zLZ;>CD$e1hB2*zah5nb2X?f{KK~3#RQ$r9Z1U0`|FxsW^bBCPcfU4yB zbN$43C~_oUzx+(?VBt@u>ZkP*w=nI2XN#Jb|R1eYwB>HjJ?bt5` z^kf$f%$C{Q6delf)&l7f`-Qp@;6ibJ?%`&_9kz}@$#a2NsJiil7{l?p9#6Io3w$9ftBKW;Q!7R zX=?zK&)D!e8lkd71g60=mBNV93nZ!W>EBnMXC#6{^>CtOZn((0fqKH-KR!b3Hqj2t zb^Wr{WcW#gsx#Z(;{@;?K8Qs{jh+suLhG^Ud+n;zB2jF*0?T^)lec3<5tmiWi_SpF*TiN^Zn8rwPVzs9nK4Js_C z4l7pA*Q}0JMEtW!Tr?FzZPq~8@%`$eu}0|D9#WiWDHs32asRBgxvQ?nwP)*J0tRwc z&{r12wgRXJVK?8d&Iq_0>D9DL zjEhnmQe1wEaut*yd_%LlfJQgY%w+fj@j&6J!WEo$h`1s64s@l7ol`x~SAgC1yLJp} zhmwAU1v6DEXfFu4mm0bAER`vS-N#OWiW@QIiu8Dzc;-V=NY$NELafzgsA2lLwFP!DTA<9M1&Fz6uqa*T%HZ?;2#_&86UISeWp!h**@n@sA=%%H>5&&^G~=+zl_ z`aqaaJzJ7JIC{f+I;=0~dw#`mvW_oM1_GpG;A#RGA4aRvX%A}|N0$gSZlkP=PT*ct zw!%paXiC^FF#ZFYJJU0V1n9fM$sCHH#msP1?7)`_AK#vTmqaW*i_TsZUr@Q^wqhn3 zqBLr=a&57bqf6$TI?iD^TTnCu6a)Ng*Z&^28aoEs-_5w_0O`S{eOr6@G7XQ+$S3># z3#0-#9T^U|sqgdPv|&6L4U9T#%S$5Nv6yEwax5QR{c~d^)u(rMx=#XZgyJ{yGxk^+ zx=724R zNVuIUt~6NfrW&LNhy1@bzV8uuirJY;qo&vT6}rEr!{m?7HD|TCD2?a+8o0EKRubCz zegu1vOR)5$DID$*R4L7FKs^5Q<)%9sc2yQbUCUS%i`MUT8nxM$f(1VN%zSJ9Sqig6@jE%%ReK($a*bqqVE-vPjYL+1VX| z()QfkG7YkX+y>!F#e>|8Mcp;PWPfV#wcN~3RRg_hYVq_K4WtgMM-aCRdyI71PmHMJtB zU-1OEHjJmf-CE3F3j^Q5o`3O;-&VaFY6i|~d(;35eLI#gX?iiED)E%+SGuRF<3~*m zv38VK)liF)WS@NKnsHm#5Z6a^n>PN@ZhWkO>t>PMcF)93&@;h~o8fW-wREr46RR`P z_hZD$t%Mw$+`0ZIX#(y;*h=jeY?SOvVx9;znYppGXg&0TaurxjWx zxEun#>*Y?^;f06x!EY^67ROWn0Ie{81kFn;jauj}h?U~aK`G&}pZyyU_(5P4&Xid4 z_y&z{fu6(=JstgcGFk(flR2vK3?L~;`BMzn0#pS6FP3%8I$#&L#7(UQ&;h%$K!C{` zP7=yr?5|WLaWP>A6#zvOTlO;>;T*d(6u49JQ;!}HITdYZws~Ta_hVR|kEDsGg6poiwF_-KnKy0l&>D6Tc^^XD zVzKOE;Ck+kSIxG^l4u=gSwlU)fLn4P8TmivEuv9_SwmGIAb!{T_q~Uq-eAkzGB^zo z02!!Ml@L9yxv6r8e7wL*r!x^02@-qPuR`Y9)TIPf!@svyXHM$vkPdKzKwaaq&kW9z{Tx#{wx+yKhI)QkNP*jku96>TYr|ufwSS zN5X%QGc9F`vfS#>UREauA;kC}l^$w%8Z3VRA;zlRN4yBcYpv+T2{P0gp~Q;!Zr`DY zjZmqvfG)o;JswH2@phgx4f)NAgF>@^@~4g0@rLjNa}IX8qM)^}J=g*C)JdgTfLnO5 zN>g0Q5klPdZGNcvZtS0L&3A5K;APya%_OzvCa#x@E#kKKp{70i`3u*7x&$5r^tZKi zEx|a1niQ|$I05E~^8f@l^uHUJXUDSZHXjYr+b(|H$%xfnncnM_qHf!ZQbyWb@V2cy zivd=sZ+C}vhGFquL$DqX)HV2OdHY6yI$(nx-~2y(U3ol|>-)|TPElHvoi;5xhA3n| zb&67{gi3=FN|uT-gR!Kd5G_h2R6_QpP-bk&zGWwjEyg}G_TBG(-GQtt zyvy_4&wXF_bzKjxWM22f#Qe3&>SL2q!bg`#SL}edQW1|5MwpUX9RUh|13BzvALV^b z`cy%fe}SA`!Kd=cN20H9P|M>LZC-Udr3Kn@sO+di6M-FzAY+-Cc*D%Vug13 zX;vOcf1SyG7?4|dp*uoaIs7aPVem7yfa|5}Iu`fg20(AA>1OP&mepJPO3>f7@5?z^XG5QJ#&2TBl|7-e#Jje#u@8NK#nAFF;#sP zGyqzO6>e%suJmJ<=gn$Iy)> zf9nGfh&v`|0^_7&^w?Q+S*NcpC70_5`nBVhho;mfUvIgJNO1IE=|Mm{fS!bOKH+PS zy?9~9IxCsFad(jR1u1S)(u8{Q%&K5U*$h|COo6|4#rz8)7Pp@bs!lUp$#NBbkSc6a z>I}-_d4bZ|p7bD=6|1n9ZF)ScGZIt2Ye~`Cs3n=b;wIFZlMcz8s*tC_sYpR=ac1~T z;=+}GgBu6W(`@$46d3#Lo+-F1Q_d9u1BVY(LI(P20~vN_L4}xUMiX5E&7gKvp=A)l zU9Q6a3_ys#Sv_nvShwKTD9ZfZ^PVdm`19e!jmWr3{*5MF?Y9&{L{;CTGCZbK8xTLU z5z%F7_4G7gojUvqXvd88GuPX)ZsiYnBV|?5o2}&xm*eeE2EDEIGW#p5N&iuG!#e1| zQ=39sK$K&9Ypt@bUcr@&D}Mlwf>yGB>Bunxdf7~2cKVH`)#VDgPXDG)Kbb~*e8KOTRROMps#_tRp?HPUkxw~4C;aW z@*8=O2|K3&r^XD)&&>)pE=!wZS2)J1SDy5HNIm&MYR}9h9*Oz`5WQ*_j}k90kQ7tX*flpg+Z7 zI2yB0*z;?sVI>I(QNklv70iewMoeVTHRMI5IVXrKtp+@#gudJ7Y>h~Fh)=d@wCc+z zU$7vSn8V?3?FgHdtCREoE=vWn8xKWS3)0I|}mlL~^@hENyL8*unj5gQvSwl=R<2aJ)z8Uuz2+8PY0r-!%s zpHZ;VdDObb%ON+uCGk=yqsbR&q;JEXS{AuFwaNCcZHWjdSZg}D{`29+MXP5HCs~lH zUItUebavPQ&*uepxs4C!Aj=8hxP|I}Sy9#3c@oPTbv(siwg)WJq7j+y7|(h!4W&8X z9f~;gCNK}{_S!#FQY~~J#Z2b71&>=XdV@Qwm8*Z{+;5Fa$48}zkuTPC_Fm)qcvz1y zl;bAFL0d)Bx$9l6%=KI1bhtJ{J87)VI;<_2>*JQ!-t8?$E9m76#?COs4DG}x&XsM+ zSvr*s7Mp)$^>0fPBir(kN8CGt;rdy9%V;XkRVrkT&<<&5%K1ri_e9OzTSVC{q?<-7 z&7LioaKg`PFVzbC(e!}o@I#1%6{KIuxlGDn|`yAcxCIRSEL<`uf=C z9G)(q9SX8vf<35txHcT_Z$*ax5nkDK;oPotsl`=h8kA##k@gY$(%YIFIa+IHXT7;( zT|f)6WMdBk>Vx3SjjzSfkDpiN7t+ zd?RH)kS^lw$_9 z#MT2jV=F}O9#LACafxWJQ8n4z+(qxj`q@|-jW*05pE=v`vfV{Vk<3cP;`=D!ZBFz% zi>EN`Rirkr3)fyT@{|kUmLys^EHb%|AhHRjeyc{Wg~WG;7sE+$)KL3(DMfWs^S=fQ zMGEi2;VVwmwvON{YNdryE`5b~zw)Tu*#ZM1e!f}?Uhs_fQ`QUSrKl{eGIL*;o-Ufa zo~5&-pXh!Ln`k``ehU`>KP>w@vt)|+>|WGV&U(n;ra0tBw#KA8Mx{M<6l*hDAF|_W zzES^*3U+To&bE*wQqDXEERyE1m%T$}KI#Z`@Hc!6d)wC$-fh`orZIb>_w8y*>4^I| zqsvb%&XjT=8S$u|y>Zs{gG^Sox!9PVg7nS$y*n3_1_|!A540TfwH!%f8@e1dR#qtD z2@!da$YT^U;4Oi2gd3JSV;t=`L6tz;VKpq9{q_T?jmvgDCyX$H#WTv2wZCTmE---G z$J#Qg+pwIk@HxEmC)xhTu})xjRk!SDUSCVKn2zi^=K{%ARf2Sqh3MTf(}!M;yIr0d zh;*;)Wc`JJyD+F)`x&FMqpDhXiFPxOEghvqxF84<|MERe2eL zP|1*Ws7zgCVmf|XhSrT8IFgc3RRIqDkM%+}^-Z>9?BGy^5~CLWc>Ml>Fe?G9B$4_@O_?@NGimeEN>A$@NATybVM;)_6^Rquq2IGpfCzuGKQu7Mh@;!b`9Cs~vjK zSxUTvrE@W2V07ZJME;7j(6bp*$Y=EPzlG0_TExYrJ8VlABZsehTjGA7_Q5c71pem> zo+=f)Z&^I^r+I|c3YOX_${&bHX`c`Cs%mUq=jE^@L;C4O&5N}u+GVwH-b*Z@x}4qH zAwMekVkJQDf;npV3;dL~Zp6aRZ?$`lD|^SpW257_Y`bn*1+uB(24p{olOxxs3W^=Jre0dVB|K_Fn&h?wOuHk2hU~OW2=akN5%9!Ieh2G5%m%S|p`qsh!_^r&>yM9=qe)g8J$!h<; zXrI7j7{@9by391J=-%Sw`t={}h!7mpgnpm@Mlk>JyJ#xe>dE^*$nF2ol$T55N%WnM zP_&H|vhKS}zj|4Df;V^Vog0A{a=-q>H2lPe{`Ep@L;O^p-?HFgjC;Ei#Ez~Cxw2WM z`aa!vGVzP#ld=$L+hXNPqSHdWp2|MkyR&6^Dir} zFu+}13oKgCv#v@C=+nBu)3%ST806O30#6&lqyFE*9^t!!6<#`!5#@82`|?|zYya*x z#f)6*g#<#5sH~&KdfcOL9zWGNa(jOVsD8*Oi1UN!vN&c4+ZWHZAeP_R`;pxnpHH{p z=cUPJKjN6-=^RDv)FS5*JGC#Q|C*AsSyD~O*dgq}1TU*|gbp@qFN@`j)Ybp0@NUgg zUJ=s0`*X`#FaBrUKQBWcVAPH}6{>k|5j!dy!dQMM{%s7`#}fBaLjKy>7LPI!vfbtP zZdgrLJHx4vn!7P>K-uh*H2YA!&GfMg zxVhukUX0f)SvP3rezuU`_l{BL`cSR_F5&#%kc(HO8=BiWw@=1*kLYHt%$?<1M&pj9 zRK!%_*e9yiaK}&}@~dBCsYI8^* zo08YHBFney0E`z^Bfmjix7rJbTI!Z{t7okpa9IqyGf6-26N1&a<5Hj~rCfHMf?$qv zmJ2M)TZ_J>!XAUE?7hD0TR1hQsevAIg?BM8CjOJ_-I|zgA4Ps@FLo5PNe$0SgKRO;(AT0@t7e58~Z^OVR$w^ns0kci0<71n3ZHX z$n<}E6X+`O*~~fZ4NqY(mR_C}17$&W;2JdR&QmsRU3wQHb;$L@`|0Iw+Uz6Z%RDM5 zEgV%6qnR%^i>}cN#Dv$CXRYu&Pi2#6ySCEhT8L#3m}0eeVlc3@kmc*QSm`;;_i zn%4*K=(e#vkTYF?zg9u<*ikmv=-A*^1(RT|$$q{%LDTMW zG0|8^6$X9fnx3philF>`N}ZB(Ve-~h6876f^G*a}^y)A(+p*_004By8`D(yWsbW?^ zCM74%r? z7N_rHFK;HnZzVvs7r@H)9>Xscd#ek2oQFgdONYC>_&)^X;O2&18iyS>NT)AqCEcU> zG7hHP%;|=LNEr=f7H8xIbH+0_h?xqQ_Q@~m&MMa3h>ZF*yLz|2hEf04fg-%52*X~w z?G-o0(SMy*AltU!D{xz{xB);Q8jPeA9TF&J)e*;G^j;byE3AS-br>tyK6xQmtYp0r zugP{VXUUPB6>lFSF)(s!NiI^XT&tbM=|$MM7faasjS{NZx(ACc&#v^e5MCiD?Zr#m zQ%&li$19S-du_8#B?`;w*ZO81%t$H0s6z#4NaQ;t6iV6s&0WxZXzZ1o91l%*Cu(nL z2I)&tN{OqSfnXc&J1s&xL-^_@72d*^2a@7SpheLQE(-a+BF$lEjb5U~)3q`c%NQFY z?|AbNEAm zZZ92iTGSMqxviqiGYs5}rvBMRE%#UAqmhrTY#wR9a%KF>q8Zt?`IkFpUMHu!Y|C<> zByo*H)mgxuKRdK~lBj;1>!eYxs<>K2hW5UzkhPqZNUW#zsJEBBfPjB>>pNFVX}g%i!)jv5Tsy8W{yZAXU^N*TdH%}_H=El+&5uFTGUhqPiD6q>6&ktVDba z-}RIsjfRT^jUoahsTUbPrKm9zP0{u(iyp=|{mV-IqSX27fodd=U(4n4Bjx z5873=)@LHT%X@WqqFKd5$SS5%O7uk(#O}_JOm3x>x)W}v4K4(obk1kA!nk*3is)Km?3Veh0(lBQA<-!+D0`IYn?;*;PM?6<0mNU!(&pvA` zf2+m+44AC(-P@bC@N}^ped3{VB{@*E*eQ3a z+$)`It`;BEas||n6p{Ea5TK8R^5ZZRh5J@_M#IVl=G@Ai(66g3e|Hh7qFjaF!J#+DM{-~4&nXLPbD*28p+USm1Q zUL|jlq0nRM#`BG@RBG+)kHPF%*y}%t7$7_CekUbTBb^wfd8M{iyEerKBSPg8TOmyD zXaQ`w$Nl~=0{7LFfqJg9Q!UqgIVJM?SDy`L%I9L=uBc9TC%7B%&|FPZ*ivsYv#LDh z&W5(J1~nXk3OPkgt#vjiUT9gWGyJ~muzP6REvsPR?uCV0ymaZfprA?6-wuK~GhQ=` z)zrG)usIO4sFMNc2ng~u2@-szBT&S0LH!IB^~+1NGIb`D;!IoS(EvGuleSTBNwrTP5gNc?gPN|-Vq(z5^)ripDrXlz6Qzt7HL zK?NgzT<60j1@7n^5+!Ss^(0#P4C(mr`0l*RPE=jzod{~eTC+~Wnq@bL{fAt#NSnGP zccw=%jQwCHQabA@aG}sw>32JpgE0Lp<1>7&p`|lzZo5Ds{58W|N`INE%wt{bpY5g* zG}J2o&Q~*qDnf)-;_brvys5eipG=*1jtkySHM_@LdiN(4VII3HaCnSZ7-&1RDw| zhlsPRs6*65@F>}i+$u`f$bEN<|5*n|Kp}zA@=tdLsd-UL2eTBgEjb%IGm&A z9ms7wI;zrB#Y~YL;I5xgd13a!{LcJbVZtXAS^h{vF#vftO3P!%NmfO0*0{K+q`!-kd#r zWixqk&~B@p9&+s*hCAh-ezRC&hW@!Cb1oVbg+e*bv@+zc45Z}JMw$d3gT-y%p@cpN z*~ypOlG9QF`us9NGWkN1;(-{WO4*1OpfG0_3b}cAg0&t@FWt1$!rc|(St|6QOJCFK zI7qACkGm4JsBCI>DrGYH#!0u&>2U^-Bny}=76_U6U7=b3Ja{to9TG-iyK&0N#W7c zx7;<|8;sO0JTwP8Lh58gGwZYGLMjffYQgV9XF$=eY#H;ErnxPByi$i2%YH8O7}?*| zX{|V~+^SHDnS=RIo?kE}5)o>^@`_*r&|&y~H-+rOE%=gXr6^GR$eVyr|)=WSdP|i92Ti^5iv7U>uy954?Q!TGDF_XL?@Y)rQ^A1@DNZsy^i6gVwH6=Q*H740+IO)Wj)W zRkLk{quYdfGa)X8>+wtPs;4wfs)qQ>uCtByn4tLb_5za3Y~uWzE{EwYZ+O5Nq-;9N zaipo^`Fz+3)k*&sXCZ6QwyZmL64!tH%3#<%%2XkH^2+yD52;dazh!Socd2G?xY-#} z94Y-7X;eYysCZ(@UhoBWg(Br36e+L>r7`wqmMj_>KTn{QP2Q!682=f%3x})$ZZT-Z z2M8DSl4K@=`F$jqD39@~rf8Z5-Me7876F>16P?uKyaBmQ5-J=0WZ=W~U*>kd2(=2R zwUE((vy*ljAUYrfzf9X--iqFuBYfBl?Yxu;F;{=;YTiQ6(qe|i`@tP6f_TK&$-l5It_Cb% z#8(@6@fZSauBVN{*--T%ljoguT%+c-+ClBEl!;91L}~V`kt@krjf)Ba`{);pbdJc& zFwq^^t20yU00mJZiO0>D=Y^T)cP zcE%Bw?lz+&G4gs!=PAxF_`Jom9_1bK2reoZE@m zvh*96xUkH=x^TJ@L38&PKvW(+poh8L6L??F2*12aEXeoMxnSN9+X~;xLfq}lm>D8L zd`FebO6y)2WIlmU``dJcp;dRz&VYDXVMPT)qJ;(esX8z~B{y>;DfbYQhxZoh#_{R5q@Orb z26u*lL=G1V9mI~ta;I)7r3qnU?d+2<4H2I9@HC-nt$uF<*8{#(rBobkgYAnmhefR4 z7w=^if$wHRxE|&2fFFfuEqr6f68!aHUl@4!*YNP4E$bXLfbl_iqiOL!ml6ivCHo9()~@?zk;=dB|Ov3UW6`Iw}7 zGb3-2bB$vf+eG-Tnb+}_b;hp-z&l!1)Fjf2c&EbENjBT~MC(qqmXb;u|HRaRP?4rk zcekD-m##KfB}M4JqIvo|_%?k?=kZBCJX$ml-VlP86BJD=QIxX74q&KKx=oeF&X`MR+xG>&DFfMjwLT_%6*4+{)t(o*0KBf!!QF+Gz zSQvjjjbm?oiF>mtxVo3z{|JJ}P-mX%4Z&CLK}}@9A+7>Oo8l>wt7a6k<|kU`yX&(S z25nvA<&R_c1hVQu(d5dCn_OQ^U$wQY7oIBw%$PT{3cyB>K|Rm8eROP@j$K0ot1?PG z4=o(Xb!s8ohXjDjmhXlz)Zk1k_t(Xp^+x_(B@dO_aPW@d7I_N-QZF#u6F<)FGU#0n z!QqOE;Kh#q8E|KgTY}prRzwZr`#GihkyF9^M9Fzo54i#gwDL)NQ%_bAoCDb> z^!#Aq0MGI%imymhq~DCBrfJ{!5{Xhb;yVzP-Pn_UgMw7o$xvN?QJS=+-5XGO4mCK$ zqWb@mOBUtcWp*pT$dVht5~A&Xgo`@Ns(_PWW_?jY?hxv`9q*!KJ@F(0^6(GN0+l0O zNaeq!P<6^YqkwuHr4F3TXw^^Y;{;4*Ud!JCX$a?%2Ini*iU;|A^uoXB#a%xz_H+M?9%L%YupXJmvEn%SrtA1;3Bns8ymlYaa+MVH7a#^=56G64mji& z3TSV$l7$lQ`<$X~miuPmdJKk53XaaX7lw^&D~CAw@CuZj^`}*v^#~;7g(2~dvgvQ2 z8T}cAO^5QrqrdH;4ANf3Otu~NfHDJGL4O+PF)+~IEvHCvQjnaTNZsV>KMi3m=Eo{-l?mXyLL{=^xL#XQ4~?~zpGfcea8bW?hpv62#-Lm zKkWZk3t!ZXHGb%}*UpBmbfs_J2h^uxSZM0Hz|vtvM6@e<|4fr(A;FI#I?I3R^1`Y3 zX;U$vVz?YW%pzk%U^yoPH@{#pH*%s-xDnY!P%i$nx-%R9;HvZ*=)zqJd>L~wknMfR z-!{mi3nng*_zMD+6mpZ=X{v&|4{izew5C~YoOTiJmi)OuF0nQ_pvLEyTAxbHqeCHZ zWe5l!_BrpF%>#uZB-lR7!LS2F`(B*{4^L6wwS0$uHWol_cE1Sv>C& z;`&a-J82PI{zBLF=82vGOfIJBY)Sdcm8Q@yA-t}cc6|oEc=DO zVj|{_NG6!tr=%CU6S$2SLju@1qPy#%DPY3|Ha>X@y(~)Pk8SB}h&#hdPMT6*(8?m0 znsxxHZwtPpeZo>5G#rc-&2Z|yoDZpGaTaft!I###(o(&;k zb`R?93?InfqFyL%G1393-A8Xh<8Of4#V*txGl89J?x4y#(yFZmHG_e3pW?X^ z2gPT2MoRG!LmV@{ZG_lk#K4g$0rhiQf!7V00RKGz_{VUg%Ic*fi)iEYR{|Y#8}&tD z1?3Gzh;B&TFdisb1suyB7YJQp<}Hra>!du$tgJ8JOFeFf^k2S56)@dbh8EY-1RYk>Aw^pl@1L& zrFjbGR7P#=$fD5QSA(yV;gCccl3}o{g`CSGUM{|FqU22Ar*Kx~{Wa%iEPfBE3@d*g zpw3^pXE)P)uU`Zk=k_RSUe$0wW>xxIzx&aKfv00m!P4e+*7r$M{vA>1LNSZ=;43iA zVROfn`Noq`P~3;(YEHDI^BKYq(21Z&eRul%^}pul{z55({m6B_;kw6>>*gt$mNrwY z_rwFu5-ng*#DJM9^0%2omRAQ`lk^|I@U`d(QaFiR7v`@VPbY*8G}gq|sk=rYiDeb| zsM=tQW5d$=a!1m6ZcU$H>=5d{NK7jCO4C%(LWl&ID#4j1=XXz*`bBl-Fs4UVat4dN zjm|GSfh3d%p}}A(8fHu}lV(4j-ex*lQa!mLxKmfD8p;R0NTo68Ml0m(=jlTB8k*p! z;~LM6R%}_cCNk4Y#mHWRU_h>rwn5m;iYSnmOFAbvVQKJbJ}Bbg??Sst`P0;CyWy1Fs|Nseh$Z zMTgW2W(?IGd6_f6gpTmB&i}A?#%owAQ#vY6orT^U)WSQ`yDk!o@JJ>G5MMbFpnGTs zu)1$n_r0&z6?usQRXrl%)t(aLAeqSIL}nY-^o?3~|oyuU#2 z9w5BOI#cfly!(?XBn!!e*Y5k{g`+yU>YW7TDs?`aX_B9Kh%TcCV9LkgMnnAk12^&(@;+P) zL8EC!odhLhb*3Qfp@2muk>E_T@mTX?l8e@&eq)Jf7mX>K7ux+mH^4=`eTswS*DYNH z@?Cj#m`~`IvM7iU4CIbFL4$r{@#mlQa?o1(8NBOqrTyB4CC50wq+%uoq}EGO-fpPh zt(JyExatJ^0O+s0(jIMTt`Od}3P9Y8C8eD982Kq>*JzN3FD#7$h|e!AY_E#00T&?pWE1U+ zNdJLF)P4m-?K-9Xx`ie8xCoBRXukLY^b~Z!{YK+?4QuCTSUV4@l+oRXd5Q!mgUfHs zL@)oOX)-|nQ{o4_aeNfm{Ohcy;M}AB{jhx^|30Ko2S3QAhM9()J^gc+L2~|W^a%xx zhtUc(L~@Ti;ngwXDCPcFI1e!WU%*}On5XnDQR#m3adL!uw$ytnyC=Hg@?3zrMiL@i z836yyChk1~E!VZy{eLm4-=lpZ$uvxew$i|-am?b6{fl(j8O1)piTDV2p!JbbUrBnhhYakc{q#z=kGF3?{6tp08r`)N4(bu;b$tf`&Ox5#ESeFt z4blYStCeJBCoU1lvLIuqeX9j+Bb82KjK)isAuWPme)C|<#@7q8bqNcJ;;ioc7=Qpb z>npPa|LT`r2XnAeo#Q%Aw2k*ZY(gtB>3Sv9mZW{T(JbPE)_0Z-%Bfb`uTx%f03o_- zx;+r0;52{~A1Zs%-W&E%9P}M2x$8s^o5;H{T|t|hw)HW=`Vo<(?+VO=THL7LQ-F`| zc15?fR4QwKP%3aX@UZn}{-ALqMsdOcNZeN6e~?*UI%yt8id)$4nR03sqz{cv2*zc0 z>6iYZC6x8v@nQIy8)!39JmbwKq^D{o@EeI8;pACDVISwTx2(X2hfck=C9lC^paVdj zZj#8K8#@=F%KK+m{SFdev3qkX6onb<+JbeMbumCRV#=ZB;B2~#R-J>;ERk)!A3|C$ zQD3R-xUSXA{o=k%Zndt!7M#24Gq>u=(Rj`J!%Ha$mhI=VKWy2zz5ry;r>~j?et3ff za-GKTqad+C1R5bpbc8@6pH%q0`HDQSPyE1f0s=|Uw>k4!{twO*dLV}8f6HY*^4+%B zhTfV36cDmxgt7k%K?bUkcr%04n<{9%6=1!7m)gi5g+2(OLW-0u_2miIq`}e4#%5&Y zDUv3dhG7$>5JpkQ?sSz;e;;A229D5PpvVvc46x)n>^`KmDY%#H(z*02nF!OtVUZ8L zz;8#^z>#Z>z8xvX0VoyHiWTHXqDvd!*Y>7&RxC54*YyS>mXXZICc}mbe(1NZ@q(6v z(Un_3tJj>3kVDNPZfoAulbe4T9+-7;l5h{{vo_VDeOAGO3_TBIo6?5&dH%>eUhRbs zc@ip&f^)zyO&J|70+RDB3!%Koft%6n|Ab}rwpWv$HP>X5+5kdYyXspLdt-!+nwULStWwoVgxl5tTHiD%W@gwzX_aC!e)}b4?Y4X`a z&vbTV*L+YBe}P0rmFjaLS6pkhM2^?XItckug2~}qo89Jfgxq{YKJOY0#19@)UK$&Z z-7cMFyGNO~Fs+RPD1URp&|F9^lL4>+kzNdW$hCX}01&ubitG)OsmZsk8_U^niLL36 zH&qPduphI~BLW2u+F7Go1IBZBKQahZomW;=ngy=3(#^%>67a>T&jjcr24?fuR>WTF zu?+mzx;E}oW!GRm&=3JDu6$H|bt%I0t`mgT6e`B@&{Zuxw>|g7L8v zFdeNOtCgAfR?$orf^Pvm7Fgaz7{#H;tCs$r_}i)b06s>0BYYs6(l?|`KvNPyAcg~h z^aK($m}h<6cMpez*f*a$Fi@ z-NAY_u@2im$Hdz}amc&GU>(@6pUb@D6@<3=V~phkb3uJ$W{j=(Wid#8BX2|ld7~u3 zs@buVE!_1SS=p@f$ZcsDqOH7-5M1KTWzn#t0`0eP+-S0Q@}sf%+ME448aHF`%Uo*M zk_xta5~R=IG;S#j2qq|g6dw0gurg;+ndKQ<-<-}j7JobMJsu1JEm+4>r!upe^KqlC z_natucpmAH+E2Qk6Q^28kBsw_d2a=GPiG4(u{{@R?S2-;mVRRfdP7u=Nw^T?u*IFkDhHB=^OMPQdd#P=lNr zJQd9y?aW^|*#9Oz^ zh&ZF{V{F1)AaTx-39sMQ1kMAj5OYV?8*w(Q^{|4V8WM&i_o;H_RuEM|=*mca+}_Y+ zX6}0V8~h6NiqrP{3TpcOxB?;t+kqmba;u)bq1Z(i(Vlc=liNxOIr6*Cf7giC>M10c z1*&h^&}ruGxHq3$ZC}L+QBa}$N#e}Rd}bL!tSBEJqeT!j@!t+%_78MYgk$yyOR-)H zscWY6W&(aVJ_eZjj+e~-Bqp`4&49;kG5;!f_y{zGKlZ2*)(PZ)7@9mc4d_YKCmMF3ole!WL^t>e>f;MH(n*j78(8T*$?X zq^Cppa!GE^2e`hdg?Xg`J*9G+(aSd`YXNr8H0JnhL9!!9JzN$iv-w(Ei zgDY`9GL#WPnt#Qzmv!47U)O}ZiGs=LVi8Mq+ zT8{6^ga|lWv$w*g@9v-oHe>_vxsYJYBITa~S?kqZ4B6}^&9(^1*?}2_5OadY4(W!F zn@4x!On8%ajafa0&Kb%B!w$4=f0)sHune6rwy+)MhWXSgxq_@b)6@)>1@p1DiGS>= z-UEPT3^#86hIvWS8wKJ`6t4bL0k#W}^1S-pN|8pq=)AUY3tJ4&O))^K-k&?vuvDCd z;ouaU(fJQh1_LJAZfFXNk^>ek25;de&4!$gyd0NnUurd z;Gs-_hv-V06E*$EkfoH`6B5lZbNl0Nk$n&$mnPWR>tu+b`MBRu)c<6Nqhky%=A=5j z$gPuSM%i?LmMYU=0o3w8ep6KSkAo}LZ{(#bn6yEUM5IL*r_l&539SY*uwx|T?~pbB zz{UJ4#s{?TB7?dKn&{HMmq@fe)B$V_X{4_8%{Vi^qe4_?r^uc6P5ebK<~wPh&&&o( zAZ$Ef6!94V4+s0TCy?rI5(LRKfb08#+J*G*JO)dI63gG6UYKROl!SS)y+0C&}Bxn&l+BRiR)TW7$guoy+^d}`TTr}9qu1bl|%)4=ZOB{%iT#+D_H%_Psw zMih1GaW#mJ6eTX4UR*Ub30kmsVFzWfO%+j~7qBx$O~K-Y^Bv7yZBR3_bm%O4^bZ`? zc>(HZ2ly;4Q7l%4>ma@S-4`X(g?FM9*lS`&qLk*=Jx#$c(n6jLB)({8ntCAuugY)- zvp`C4*prZa{$3F#H>8tsEMlngE~XN17i#P(zJo0N5;z=Cutdk%jaMlbA?y(9K=>Bc zuh}ez%8bPce>KhAHI#L9sy!SHG4q*J%O)gdqSDo0xFO8z{(2B_@s|_L5nV0O7V2>D-_4USeisjpg&UVA5boY%1IL^S%JStX4N7rB0Ki%n`>vr$V%lb?KLq6_l{i4-hQw!R zVS629F4Mt;zyZ8^nd1$sH+_+}y!6H?J` zC>j%{IIpp63BI{fu+AZVJ;wo|>M=!kUw#h=-;V~8g8@fprlsvzj&i|F(Chz^WPxTU z;7l2l1~`5MxgS|3{rFd^5HoYgU|){}Od@b+oHwdLoa)MyY^K~*OD^L2vE(AYz+8X3FfaVtGRuj!+ z_a(y#Uz99H0Mjc}-A~``%x_7)m`5pRyf2Ue*(+5HY3Nw&SlYXK|4SW##?0(TgRhy7 z-g6_mQE*%E(vT-WH)!zFRB`|^n3Xc^V z=qG8R5WXj&XD}Bx! z=otwQL*n_{`E6bP9#naLf!~UM`JgXYW$Z)6VYTy9bFDA2dkj7&An5djWy*y>HrMIM z7?aXwquvUob#dCnAz5@QS|Dw3+tlr7qfWTZCAW@6Uod()U~oczSEGWAA(UbRuI>${ z=QS$J3t+$B>Mj>oj+4v5=gJ=BXO^u}DcU`eteTL(-Z zXws$%+{V=HPDi+!(2`cqTtsA)>`z8?!yw4khYqjpu726)n@IH30y;Q_T((3wCYaBH z{DZzRM3r(h#NOgKAH2B>8P3Z3j4Y`gb9&552#`|)*f{kxWdz zWi=0Nya6;t#$@httml=L74HUQJvysZp9po^__G6PV$L{Jp2dQcfCfm4{;cE*C}OQQ z6guSaKh3U}(&KzwXDbxih{>4<9Im(XHF36|180LL>zgD#FJI2mDKe>1nEB&3VeC*i zjECP?-O-_m0A(V5H~io)C?D${7mh1JoK7y0$=_aURNP?p=e)uxE3U5w9D=@B9~MuL zT}O-dz%%a7STRzsx$25g#(EI4(Omd+ZsNYI@~=ivCjt99kcVTWMnHNA+^byD?VEVN z3ft}_M`)|8y4$dqzmU%P08Ys=o06w(Ma2^sqn8M%J%?rFH93DEeJnu4RN9GA*ARz+ zM1(y2wUxn|V>H9z{}3NfTC&@GmO15L|cU&7gT$v`P(THO)n|uk&I3| zb>BlmtLM6qPPtZiOU#J> zG&eQA7-qXDxMecw(&;>fhS6=0`Vji}vnbFyGWpDc2EE3ik(4;s1A(8E*Y>7)?F*h> zeKfdF&aH+`ZDdQHL@iE3%V41Dp{ISG+L*YvOJ9Pw&!}~FK|vHgM!ZUD)DLbe`cZEh zS5%5@wY9rNdV8t8=+RdrQyC{94KwAMiwj@Hw{unnpp8YNY zVXtt^#M^jf8MjpUxE(tK`z#KwLay;#AJ8X00v+}X}d~?Hu>oJxN2zG~?^u!?4hQ5w_V=#VKVApF|Z1djkj_qa8utJW=N2*vr7Qi)Y3(p8QxN{lc zMvh;`l10_Vg#axFS+GH)kTF>2I1((*e1zSF^mE3~O3ORuH*B#s1Fg%EmKjqa7$>Sn z<7oOgU?LqEGoSQV5MALf=Pga)17TTp`p1Ih(mTVq`&k))nSi5(=-0g!yG6tG%Ep6h z&hXoMg89n24A|vM7ooB;JH!cd`}{>ir3H`t(1FCAnuzBJQpg1;|1Qb5ttF52<%4no z|5w!KXJHwW_scK>QyL_Q7?Z_SK>|v$bp;<4iH6ekt*FHoVmi|fO_B)?c^XqsfuSrD zXQqL>8%Ggw0a^k-g8wS$?Z!QdK`nib#pipK{^aNr*dy)QRD?httLE}pkO!i1$q;;E zcn?!4kJ|)6W0b#@lSrPr^a2?o;5!0&k^Q#!;5%|RrO$7NgM+iy-UyhLO#cOhE);l( zzxkD$%b-Fym{ciwM`NH!@KG=;7~jA?FskDz%?L9QzT2e4avY%oMIyetpK;|w!ti71ZhfUqNCcWz;-e9IqUnrsS(Pw2Q?Y3 z112m5({Y$Imk5wF z$Cz~*aD}+%ra+;NR%pluPsoCAF3O(Tbg>Ax42YS#_3T`var#9#L4+5w#O6H)uCC^m zDY}t0{auCtq^?7bftR0c{S6fW2oG}npTo{7@3NJBJ*+aUiU+Vi0S z;MAfz!TK``)73~p$c^n*ItctMOR!SrnzW!5B2s}N8B{7@z=e`Up`-yz{FpI+@rYE> z{RsOD>^qO2XR^P}*!`FjqYobE<{I!6U!8%7J|06(T#P2sA`o@D(SQU@GNejEXf3c) zg5_M8qV;zfs#*7nh%wg2N|#Qc2q^;l{mV zeHL~?jS7vqo zoIMbbq9KG8!|A64p`{hE20%EUg(ti))4`insMQ>t7o)s8i)>I(XW0FW;$iceMv)D?v%;xqG@QqLYiTq zv@`PylU`s4^nwxWPl#ACq+@+?J_`@;6f|Aq`Vz$Mf#+Yiv>J#q{)n(~>dS9f6bemZ zXA`WlAr%*nF(LR1gGa>_#w*RbhZK?lJTYQOrCn16*F8FdalqUe*?VFkZwrzqqwGpp zrs91TGPq8HHXNbX z#s?E3z=r7+Bn|{&S1Wmy=S3DF!%x;u`T7uZB9;#e8cfM&`z@N1HQ6R^rXMIhR^MeV zt^Gxfck8g=-pq-_s>$SPJ7T)U>1OU!gDzg>F>D$20r?DUfp}4xEA0ZHT1|FGFGAYk zft|Ho0gs28&<#F9bUFe$0Z3op;QAI}ByW1MxBNRv#{y1qM^6EZw6Yb-8L(Sl$2TL; zpI=}s#XqJPSSjzPTh|fDsGUV2-te)-oeG!z9l4}Wqu~95+C;I8x$!lpcD4GmE|1<3 zEuP{d4qXPdW0I+Xxd;Jcs?E`^_IguXf9-PDG1pPZfZL<9xR>`Mn$T044*`Lg!rk#4 zN&{}%^Z}XJ0y{F#*19SB)V`#s7JCl6rln`7GjEbZL2isCfMTYA)`KEWT1D z%UGCX2{8)V`{SDyIZLSLxfA>XHwI`PXn$W;I7O?U=)xu*9`ZU|{<0l_``qap_vqYK zec+%qcKjMP11DY6w1}kiI*o1oxz8O>uAO70x~kRphdsbX1YETC%-wk5`r&9+c7)hI zeFN#*`dZS&o{Z(6(!|yqCE=59Lc2wpij4Keh>uYD#OARY;9z{`-i$#}c++46NW-L# zo_S~GVwN@A6f(+xG|xi8#B?X>S%jypv(p!E;CA9aa7?^v`^WAK6Z9LqbRF_ZvK&iG z!d!rEmN>Tqyy=5^X!DH5fYM{kN zR)=#zpJR^1ozk4GuzeMQ+bvtBZ8vuV6sXgjg-$!qWEL$_SB*6!*Iq}Lq5PyAEg5Vx z^$n?QL$Lp#u9tm2DP}^&wTW|fR_cL5t7F&cz!4Y`Bsegky z+jY{`TUUvTAM{$D!-&ZU3d*S)@GFKTUAHlr*6s5tZWATA?w z`)ElTHEfdDGgoxxFcgcP(BiLR8YMKQe zfgg_kQQtA*_Y`jBTz?a1~+4(p93HZ0y!KEtU^#P_cFmB9C0^W_89mF0dZV~tspi-v0NfDA>P^*`| z()s2Hr3X)JgLT2S100vUeLTVy0nP+h^WOW`iTlR9)u&Ox6PPXfF?odxxpC2iO+ye# z^%Ak0^i78(LIG;iYLwdKsHvwvG8fzRRKf8EUUUUzjq@dipK`-sUK)^9ko}lJ)XdVJ zp&}J*M$ty#$-yfUM%gW>z|Lkl%1!&-SOc~vx&kk9I8%~|{c+8(WI9CHpR9A`_8=YZ+V{kzMuQ~!GTQ>=F9sh za)@p(T7L%yxb)0j#>4bUK%J&y*ifNk|C6s`W&Xk7GR7YV5fywy(-X@5h|O3>)W7Js z9b}J`yR);3OR@)oR-Qw+I)ryNzX+Cf$`7$i4BW*Xe;iIzeeu0tWlv0iq1uav9Ox+n zY3}ifQoY{CxM+h-`M(MTOHhphq&et{3U1jSzds#3kf0+ceqOPuP$e%28e`xXt$?qA z$B~wV(t{&2$UzU9eC<0J<(YOkA73lHY2PlS4Q=iq7PJlR@d=6^%n6)-6uW`d1%{3ddC@hM>QSb!nz-Tfsj zj@U8x3>oA@vr!G5&0j+PKJz#F-)A00I)b5to37dI8A)In(S`E}Cp#ef)1}xq{xI>d zk(Lx^P&F{Oqk;wf_B4s)Rpmn)5VhmClaT3S^8zO?gg-yR$I-F>0rNTJkSaL);(wg7 z^a4#>)C3W;x5rR(&>uAUe?T~_&-DmQFBv5T#|xB|9_km7fJ0^^=TACYbS5vI^8f4Q zomYW4uhy3xE{8hl|5gX?20_<~^DalEO!)s_1$z19KIs4X(`8>n_P>SmB2H*HD8Wuu zo(g{C5n9gK)b>wTv$Fc5b;!XsJ5It8?45^Z%4=>x2d>q(yF2&q8L|CJe1N(35sX4` zrmWdxkT&@}Ie#3a6z)JBq4O0`DE`2qL@hBt$Dn_P+%Z1AMd!<1T6wAjc}mN`_;Ua2 zlZ{mfH*JOU9f6u6kP?p5z7NM~m*#d{=lT?2>{@nk|U z^Sq+7;nNB6WZGeE>8m#2q93>oCvqq}Mrf8z;vUEkT7QKjJwDup`#+a%0$dO>Bn^L1 z5{kNydk+45@bd3aNu&{JR#$Bh2wH$bNp43v*PUEunYSxX#>m?v7}{YO71|fTf!=;l z_+%9Us8eJ~>5r0Io4+B za9D8zVF$ij0xD_w|KQ8^{+jXEc#1Ndci__--0rpi$z4HcuK6|1mb2kZK&iStLUXzv zHm2r&@rd9{gFnofo|us_^6br`11omHffar4-j;@$l%Wwot0o+<#i4wPYNNp!*qJU% zb|%zY=>hx+pD-fky-JdAi*{Xvh`#;7)r&l%o?2 z$B3Z!+vahr9{39!*~fJr!^!wA{Y8g*TaSK0{`mT+;Z?d{^#;^O-#tF0clQd8V+8(? zL*rJ^+>lcN1O5Q=>6+`6qE{!%J`#;X>Q@nukDsxJQ{9`qUvSLHhbO>8x2RWbKSaRF zfbmTPh#H<^L2AL{ha4dhxMd&Vg0Q^%b}3Jl!lx`oj4LmgZuo@iy?r(0Xjo( z1`veEI5zei?Dl_h+agw8L5`A|R-XEFst#H{>9PVEaR@77PR$tw$DyMUjtm=|BqS6g zL9CQ8^X$YE8e*F15P>7Epf69SSicEgWqvQcL8Zp23*-Otpt?n@(bZhqVsNk&AwGuT z9IDDN+~dvo{*~Twh&S>N9ntn>BY3mYl{o}8&2?SFlFxv55swf6Xw%li|Nhb0eq zjK3&u(;8Y4?0Yo(S9iPe=+|G76+bgZziE8aFuwElZ%Ov^GC8?nv7-}BvZ;|?JiQ!l zJgF%fg!XsF#aBZdn7iG0R+rzatSQp4_i<)U+8?8FK73i|O@{}>lM;2&1#DF`q3o|5 zZK9*mt&y=Q8eOA>Y*h`S94a2FG%xhd@E@X?EDkwg0*9yWzWd9^fm!6hnT#~*h~6My zp~iXHq!x@n_pdMApM2V4wA+iSh6AM9dy1a8_q2&_3wDTLg{Rahv}aa$Gx{z5ZC4?i zT2@Y&&&+8jgDUhhW_+qIgL0+Di%;9I!$9-P{nzj*L}*W*Qgw?(!DME^JrYajn*Md9 zD$jiE_JVG2rn?nhtVFYrZ`EvF*ln~zmJ=KfPlwZ=GuIE2eA{9oQ=V*|`uK`+9Udy#Q z>VV-azn^!Hd~~mzcjQ04?vh0(oB2wx^|Uo(2U+2pFx}H@c^w6fgUY#*IwekhOtirL zl%Z=2v~Jr}4}kVLhhDD>pN0HvlGYj z22s^X{f>9WL>P-tM283%Vq|^<+gq3(wIAfUQD5!Mx+4OXFo#yzJb>;-41uwaX8=b;&Wx1{r7MDK?fH6OF@%juib5H zRlV<$%k+hglsQ*TZtr52O7P@r+ZY@eJ!az#@6h!_6!ym7usq%nr^F1`B74JbQl@*# zLmlRe6Xpy1sV@MQ2gyh8XP^=9QK4cba*fu{6`k)0m8W=M)ZQ7xsO=ZgD87eD7?mNO z6j8OnyCurcvn5PwS&F1lN2W?QOk@hHZ92D9nKIL+nHd)YH;g**3DfPa@9PLEk0fSo!<3Dj zFltps?<)mYiH{eZ628wQ@=}o0Z;SqJci@TkbA1!|ggxZC#9y+M7{XI8p%2%?k%12U zoRQ%nCF>{jA^wGmtXMt_oVy3PEC=IqJo?o(T&EKYzxV65cgEWL-ro)PT4^}jHS|>S zYa#3Tu9Iv(u$jRQiX?$R_s_Y9;Y$6i;f>FayIbYXz4p=W;^me^2PT|~q;vwU4ZC^f zV|SC*nCAS9mBWm2>8XqCK~`IIA>Vq6XzPn$BqSc!Ewfk!(IfK8^92il%Kx6#^X}+ZG3T~h zMXcu|I)z$=m>#tq#N7DDROQgyq9+_gvy*(Plo=)NBGxWGFHC9*E1_KwiTI^r+(q2& zPAn@rCu|t;cNpUDoqwC9wOe4Kg~EI$9=~NQ7mgzF_AhMD+hjOYVx-Cxt7?kOAq;VF ze~BS|_sZwk{{EWRy|wL55G4h?^%8y5323xUx=aQ?Ca`%}wX7l2 zdMhR;=BfsM4i!tO;5{AL?=bG6*(oFqa&$)M&bOVqWKs9g6Fjy?lR}jyYc18Uym>%1 z&y=0P7HZ^~CTYN!@kBzF?0}sD;Xi=K)p&nIlaVK^obVB>m#l7PBog(H2SC&fS_NzE z{*3}yFG>*TS)RA?t9o0K%ap^G-L@Rvi!YKp-}RM0Gu%NDmS+GbF*5Y9@5z;_oo}y3 zTRfEGbxMYxz<%=LOl^@nj|t#3{NebBeg_HeND6efxTKdDt6HuU=A*v*jjX2@1TMIx zBVMlT9#d4xars)J0Gn**Q5L_MQfkHs!SgsI)vFvDNc?(inqa0;{1MVbsaPG;!ym6r zJ!2qtz;xbc{^YeXwWtL%{$2Mx=JS>8lsu)H!(l@sa^4mzWu>0j-SjaG& z<##RNMr1T$HZbFbEYAn|>qw7TG9>ap@NXVH!D(Bmlx+N0>0=m$k36a0mUWOEwN~u_TEe&1c#E@vYo>zI&SIF<;$~hz7Zij0EUHw&#PQ@a1fh ztYbItg|XakVRA#>hHSdd@*{guX;`fMao2A5hT9gcN7-P|G5)0zUT;OHh1ln9T&gOp z1$ZN6Lg~t2!MYA_pVF0em9SVG1?$AFQBHW*MzccBW2%2yqbi7oHHbpRiX=ZhgN}8( zLXJ;-9sW1b^jBRz+q$DgRN23ZXJuMB?uT9MNA~krvxPtFuFE!vr!Fa-)@ zSo`vh0lvaGWLFTJzOco%aRDG`#ao{4l=wMjuS@ea*WgX}kSfjz8*^mtD`5lZ6f5qL*8^a$_xoU1jU4_RIS@vd7`Z1E zLL-H5NCrRxpBqnP+p^J(=OM0&J0E?Q6IQ9(FszW|*DTFztof(wl#ZGEF-`8#f(%Z0(d6->MD( zzmaFXV*s&o0IrB3Yv7k9i(wPAlSDyX_2IZsrW77K3cdR&*yZwf0m)#;3&qxdYZ)u# zs-nfLd{N^iL1f8&8Ti~wj>z)jkkM`P&*yHreNT-)HNdGP&(kTgaEEs^66ZXud3J3<$zgVb2h?i}R zbEAW~puNns5Vjq-JUyh^|MpyxURQoR$W#0-!lX1G-ARMSQ>FtQw=ME`JWfiC^3@}m z3IX?k(-HIq6RrrTckSb+qCWSEC?oHWt$F{BWI;^!hPbI6{&7!X3j`sERyi2zpZE~{ zIaS@yAPX|^EX;Q2#f$^>Oh%QHYF*4pa)kC|1bwY4ARN!n?SF;icjwTIW$9Kj-xnX`+@JHDfEw9ht8@is~#5=JC za-s`kB`l1gTjlpKlGnKKqn?=;HUcg(0`~}wDsp-2%JkP{qJ}3qOeu0=+PTz8#nZVn8&7DrOc<7=oj2#>b%9CSt8LR zv%P>xg{9k#FEZuoW@0ez^se)m&9bE|In0|pjkeZy#=f~*&A(aoMPmxnF2_(2$Kvwp z_Yd@6^VJr~<;k`VyE^!VLu&9bUv9VUZI4coWwi^RujDW{^g>TQ&ZX^KOe93 zT1T!_*Kx)`_+5#F--PV10&OuQi=?>C+VO;<3tp_f9EXIpn7ad~+dPb`ykt#IDFX1T zxl#@Am5Nn_cs6xA;rQ&`b6yy2qCHcRPYi2U5ALv*0c6u?B9Hfd44!0~n&rjn8o9p< zus{Qs>aCcWJ~^rO$t~^izkZ#5^6_uQXTCS4*9zz}m8v}mQIIkd{OCS2+>ujf$Rzk$ zN`W~`!Ps9l!RVjtf5vYAb64a`^VD-CnHg^X6^;lsU)JXCB^@W|kaAE5>eB#b4OQDV7}>x1)-@1ADpH zB)sr=YUS;nTbrYY#O*oi6R&x)iP}Bh&|oXxI+|*#tLh{!oIpF4=d0VQEwM~rBJ-@6 zxckZDPY-wX2NL-5_cw?628R!d*s}}T{c9YQ##F@o^d2r&h`lx@BJOo%?Es-`fXS=9 z%UDcbJDTTWKqgeU-2Zf2`2LGku3=3M8gh7ASd`om5uq zn0=cq6esU2F06t(M)W6?X~QFVrr|WL*_mzFKU3M*KXg}`q{(ob$SO}CRLR{WN)lMl zt%!cTeuYJ!-;J`ps(4C&p{KrbqC-{fkpt9+s-tuG5>Z@RCS7hP-pO9wQw+>XUiO>3AmJ&0Qh8;+Of#z6>*ubo=sb;hCrtpBJ7<3!cev`3B(> zvTk$qZua`b?wPtewTHUR%bteyd?FJanObD1PmzhHfBhl&dN2GT)pW%HW7&OoJu#d4 z5_T)HSiM{&ufi{&#aZ7#X$hR7a@liU?m8D`)%ogkH?^(T@$MaC_J;R2u@im~*x@ms z3F7T**f@8$OmUI=WKTXfh3)v1CW{?U{o*nto%K}Q^5U{dasJ=6=xd-C)&TVYo6DKc z#|~et#Q_fmiPrU5uSV^A z_5bCFNu;ed8BZA|*QRs|>QGJ%?=j{XabDv*-e;|z$)0k-k{K2%^M~&J2i_!DGmF0b z$5=gwxpH+#;Iq$4IAq*_C@y&KAVE< zWX1xbzyhkSUREnNclqQBnC4H$LB5&AI;waf@}oMU@50_sfW03TB@+8H38yHdecYA0 zyl>bXZ}(27f%jq^k4ex4LfK|jr&XS5{F>IB%r=~#dm$oG12_fkRtZ=1a-X;7Kt8GP zCuwok#;{P$s~~VulT=5ONV|`o&$Mz%A@G@p`_4o>n)NhCZ~D`vPH^e|xl7wNXS2k} zBk`mD3VdNWO$NR&&v&bEu_ak_{pP8S<$?9YlZ7_jDk^+@DN|m4Wsc7`1gG%%Mmn<^ zO}ZI{y$&0Hu*E+_^GGG_TSo|{;)h?j^Q^+{8N%#0-!FcC3QSKN?_qPqzuTFwgoh*f z&IookWndMvIBcC*kXdtorGIKgCiMyvbr+eUS9Y06LUBzBwz-Z6`|xS$Zj2z`YY6-C z&OvDl_mpwlcCg5MV`KMVBtw(hSw0hVN(4yCM|m@UO0d-EHpy+4ZG1c z;?-5g(cJA9cN|ko#Z6m@8&ZBvO8O`pCmRXM=WaxTU=M77&H#2%-;k)Y0iEyigL%Xx z?9CLgeXvKc!!zlE4e6etcIOEEOAKn%XV~$=%^)8q~kU>Qlybzfk@yBp?P6tRm1m}!pc&3 z#aM`|!#olp(C8xZtZ{{_gm6N&zY#34x<$*e3T`Tan`C(;h>=EPqu1(!_GK~0$m5cP z*w0;I?i;?gIjH<{EH15|yVt#&nz5yEd6EJIj%PQS9(qSGc@5>J1W${z5^EI5K~B=F z?q&|rNkW)&eWD}F&1)_BgjLM*e64>WNvXR_ZL)UNE3y8D{w}i2n4krpaMaV{XWeAk za2IK{5M5PAacv_B_y@6nH;#RU4ZC~K2?@uCPvGeSx3UZJy=@aJnyYlDJ~oAbtLR(eKs#_ z_DYlX{$rVZ6eH)2oRG^7rwqZSaEsnPV;Fz_K{Q3C!MV_tN|CdTxJvE|J}D|YW%p5| zf^dUbLh*14t{L6YgE;k`sURr{ckcj9kCQ%tMwl zTVEh-IIDE~6B>OP;o~uL+-;nCW=oj40Hkr|KEI2{+3R8SAHjdro0_6zUjFZI6*IjH zW1E1~2GPhj(=m7Ki*b;D=1egQ{O4orlD|ZE`e#P;4ZXsAFRly=Bx;`sepCIEEE_*7 zMJ$gxZ<**O&y_?`BY!l`ccgwK(F)dxB^X@9YBsvLQ`?s#iLM?N#lyH4Feljh%MJ8Wt+@?zx7>wz89`>r8%F&Bxv(!8}SII#LPIJ zixpz7jluN4V3O&m*cfl~ia=(AwTF4=`-Cm`L)SI7#tyPfeTr6XVz(!cewJ{vzjlkX zm~snID6{$sQ{S|m;8yaOb3(RZ5`2MJgpBb8WaUoyL@*71dCZicEqLwjcrd4&rb~i6 zR^5~@(>|A`Y#g*Avy9UxeFSrp^zHun`_t7{yGgj@3ziu7E;h`E4<^5+)sMZ69@}!& z*EO2+7SoIK8NJ;XbgAYfT#82-w<at(+*Y=^YeW7wQ4IZ(^qV-olQ0SP948mFvYQ7rapuq z&fg;=T`6nLS=;oJ>;n-{(Y$sXnVt>L5vbI{yxhsc z`Tr>+q3a(#pr87o+h1Rzb;`$V2?)qd84oB(xq_mA?y2i*nr!jghB=;w;idX{Uxe{^ z2LOgzfas?XlnM|>|7}<0#4SF`8WG1>btZ+LO^2oJ&3rtcH8v@|CqBrWzQRiN&3-+H zq92m1VeAZ?VC*QAvkx<2upeyZ7PM28SGk#4yhYV1S@yRi57^K;@n$C9E@ZHuW9974 z5()aNvbH>+y$Fx@zDWR-esgZXl`^l1DZ1Z{QczrOA!?`O&a^!#TQ){sFezm_!W$B< zkn|qRXMEyTVWl6&{hmUk-C z+qJoxdyzbUuU*RcO4;B`jvXZP8YOECEIvOiWphD07I_t{K!Zky152M3X>80l5&k4b zC-YW}q_a%F-mpBfiBFR#`CC>euGabWoENL#BhWSDzDk-b3twV`InyU<#44UsTogaB(l6xMH=|c!Zt~`tW!koi-`+pr zNGg)C?KnrCl5;lN!YvtkHqG1o1_Pkf06=*%h*j)qkCKdYF4(R>mO01NXHGg;Qd`P| zyy$8&apmYN_h8CudV-yR1Uoz=CH0PDH_1ZW=mtl+cgPK<2HUyeVHHl$V_AMZa7w&s zS6wY-?b9EjRK;+>q>!1Jy@tA^l*4f9GQa9l@1FN_jZP1T7!thAwG1HodW&|>SPE-% z7){s)S;D{@$*(b&iz>qk15zvP2Y^V_TLjc5UK^^td@cCYA(3;;66xR8O8_ARqB(!V z3AiCJpoQw(eghDVjTwO76Qb|JHa$ck2T-V`q;$9qNU7fQu4&(a>vX96?j*#TuHd!1 zP{x&1#IrZZ3D`|vF{zdRNcWTVhWj+Rn$bBMZj*w0#SOmj35IRzo%Y{g>l9LduuRER zw|ra0!IG*Ufu3baBwDdP#9N(dvFxz0sIct(4XYCywSOhEuqkEi1BdtybE2dJ zmzIJ21E8@kD&j1_c<(1%=?@=NFH3LBH&~4=&GQGpxpU>5G;V-IHc)H2nsNi5n zX|BpC%h{}Rf`%P0FD{Q2$fP9uTVg(ULSA^k|NeBnB|M!v1}Iy5jDhJk)kzHXCdUL5 za47CX9+eDhZGb}yVTOUd(ofPZnAa?GS?3e-;yBMimC5J=-T}UIC|@mrztM^CZaUX^ z=mYcmrAz9|cKRSgK1f^$O_^o)OzRsYMW+V3GbF|nm|(j#C3pvg+L2ZR9b!D>f$s-Z zZZgHWV*#1q?ejB5r`^Sx;t15VS^9$bj?8ahYGtb>EQolORVDmK z$SX%m$FD^5D`xEsqun+=N~!O&F7;-wrLL~E5Evxx%cC8*B&cc4&1}Q{xr>eaL)!r^ zmy&GOIC)7sVT&`Zw(=$$9v+tI>pqVY&||N za`dpzL@~R9vFz9ku&+evFEU)f)C~<+h$L*t#PnUt@JJjxWE|v#;gL7GPh#u1LUkxF zk6}9ov0v1fT}!yR180%2_7*0tZaf>wwr!j|_GardVWGgD`=REluS{w%pwgJn}J&<#NKFw{DVbvvAVJb_Dr!8d((%G z{rR#Pu-7E6;nYk$S05vY9K2b%)m7h`i950T6ZzHBeP9KVzfDg&`b84t=oevrtD=9T zA?!{{cj|o#{3n66BpQM8h(;l@5yr;1UDd}1|0{3fMConn3%EKcYOiL zBWUkci{2vt92P4`6^(nVToQSjC|pDJjWMT{jFddn1liIBo1gIrKBPpPE?DPbc9#W6 zeV|*6{6!?RwSywn7QJNe({bfTP%>l%!)YGn195i~mps)Xn1RB>C?$<_k7CgyW_Lj^ z;QgTsbjg?T-Akj& zkRm{c+6MaDrNMyFEL36ni!OJ#uRq8SI|AgTgznEtJX-9@Tcuv6C%>~;Ukr2AuFDRM%XF}9PG^?eMjXstlu{)5Ei>MRZ zuq`q%91S^hgCmYVS#Yz7)_P%&HG8tr>S$E9LeV^oQU5Q97x~mI3;z%$qr7ooQV9U* z8+B?9uS_lv-rcSL={&9w-kq+Ftph@}dO5B>J%{feY*N$GR5K*-80-yN)}NjOa)r~s zOW-8q*%VI}n6n%PvXDhOKZ+d7ey!N%BXQD4b(nRSR z2uO<~pC3fNF`!B4D?6@gkwHG86cr(X+6G_dvQl;BVC$L-n={f>?rxMInoYA+GUra$ zDr|<@El)UWn&2`a?nWEr-@2&N7ptpkUSltpIC0+p@TuD{evRb5=IDZTVi2fW6ihZG z;VOY!RsY5_H^8uHE_c59RG>M`yhiSzg=)N!%Q~E*>5$H6UPaS1ru5ilTI`q0^{?hq z^F{B$-VW8ifoMhQ{_qy#T~g`6u#Wag2#3}gL~Y z5A9}w&}%r9$s7|c)4lNqBOGuO_=FQ=vKH{{RhUpjvU{T-;cn)S$cSe==TY;2BxF=R z?53EkX9d~~5zsaI?KwJM!LK1l$-t@~D-@A$qUHSl_3zJX02Atf=y3;K@oA<<>uN0l znFP$ynmMs?x@yB4lu&m|1qQtNpAq~!L~!p9-5}x%z@A3LOx_C+IPJt4(U>~gdSQ4} z2k-H+etzEu(vL49l0 zmRqJTmzg5A$~`4YAyy#^)Oda*I>^Ymo2_H%yUF`|+;IYVX+KI180>OAC%nS}k+=d- zE}|ezQAgX8;wY?srVAod11yY&>Sf7Rd+EBbCZvc(8*z~uqXN4`dHDu=O*dq#Qf-V6 z^6zCAefdtNZ++U2Kgd^q`sRQ?B#4g~r!DH*QyXvCHEK2g9P8oBX72Za(Zl<`3mdNv zqrNs7t%iS&hOE(y;e~pNg}7uI%gG&Lmo5LMkK{pLWr6<8!Zhe@zF%gSEWz zhBW7XJr(S+Vn-@POWSZ}=nRDu} z1+qLoAqw{?Yj%9MO3l=+QJBJh@mFa2&~`;M$i?NG0MOHp>p&f$D0n4af><-~$EZu! zw!5UP6Jc{g2I&0Ye~0bi&CNk}nZ*jW9qDJ2`llZ(ORDH&X|AMHB&OMjrG-eW>rZ~2 zAb2!2#OsUdPhWQ5?;0{T8FCO0dUoKFNfv2xnPtxbvDf~PO{5hw9i`M#XM1M6(_UB5 za}GBwn@_k6_IOKVpU);Y-P@Uo8NRcV@ta%8M1A!gVSdkz&1|cF82yM8`uE3h^>ho6 zg!R8t^0ih^e-JC0E{aZbdPDLpBS;_O#mZEvU>)*l!toU8YCz%|gfb2v{A+GZ?Oi6b z;OU}7AbhBRT>ceX?C!FMn=EsgspcWU7 zM{_Rj+sL%)iI>p@SP_de;|J7btT87dWe{0yKQKA~r%daNr)kG;+lTRzvBVcgIoF+! zyXfCAZPBUuydv<}saa%r)&W7&Ho6)U?LVtwdMOl&F5jm2bbNA#yZfDkuKxNKO1slo z5s%*2gxu$!`h>WdyrcQ4Oyef zmUTPT4E~Q}wmo~ji*`oj?@^`J%O_I_5v`FVg|5k?0N-FeH)(C&9zM1j;uX{^AYMVu zf-RlDxrB%RVRp4Zt)CUAD3q)$&J;+WtSJ#zP&thhM3%yUV?b<&2UR0{&q1Jisp-F7 zEu^8vr+`<#=h#A|fPl55V-D-(x_E4px#wGcS^z40Z^C@-ms$Go@{RtxacqA_d>a+lqh2TxO=ie_SNE&@qG$FEBdi|CbZ}=^*Ks{5BQP0$!+>mQ7YKI4Hon2G^Q?y4SLNQ`doI-aG z&>w4Nhr%2_Go$=vj;@1*6?|QXf}0Vx$o518unr)>E6gP9zl+e8|1@jL1lET^btnN&|c+aysAT?kfSxCe46miXUi#Yj{1yD+`P6a6F zkHoPw|IMfh;G40i7|39Wqru82-q7PJ=l~XJAb~6tnl0v75C{_t7G2B&lZ~Q@@z-2U zyvZ*mA;M2E0k14(g1xiIGeUn6kmrs(Wyo`Z0YLYX4(|Yp#gm}ZyAQNOBuXv($UgWH z%^-KJgY%H3U=0LsK?QW36u1^6)F8T zM#(hTUUsGWVu|u z?3Eo=QKOiT4eXRXe|@N4Fwu&`Q0tL^c|^RoXi^d0DyaMn=_X-jednpoe0+Rs?`)Lq z6*ql4-n#BW@bE>+h9859SxFJT(b`3<2^@B#gqaBfl=U9$^2ZdSUy) z4NPU9M^V$zH&|>j%?q}nc*xrD=6N8xBmyDxbA>2mUbFA%pS64XBh9!f+#-Qu;bx;b zo4UN)F-AS>o_Rf$rFhM{-_(Bk9oq1%NId|gYN$gZvd|wz&fV}ZR_MbB@}<0UruD)k!rA;P2qyIt(XbQw~N9#U0{1ocz;17%RoqhzWG3Vo%`;^))7Xr zAF(a@&Dfc3lcDQt6wobyM`d(XaD%Xo20Vw%h~I=eKpl`JnwQOmz@=)>+-tf#y2TvB zVR4KwlV4{2Lgw%`47>WTWk66e9)W=)*}eZiy!9q zuczCT3fHVdmYRc^c-Ws3dv#?SU7q#65dqFV-OBVK2;_BV9@WWOv)9_Np8v#zrAV;^;;PeFdSh$ ziS0G+po~t-ybg-ZCMg+ZhtiFbh7e>V@ExIi3{qoprq~XwLRsCJ|o0JN@te{=wnisysVoI@56_sz_C z!5Z{RZBV+=OeybuC5&dj7GM(MS=dLMX?_ke1DGd^W_sxU719qdz`sEYU% z?nrQ0(BkF_Ga^}xNpG)HWQmEEomtB$BG}!jI6I+}j`Iu#w;7|tf_i=L>orF|uqihH zfKR>U}``5@==xSq!P~L6DxKB2qyf*0{F%KjGd-MRRPf*P|s4{)(Y zeI8``-AyfSwy4gPCM~qYjDy-}@vCaQwsMNvX}VEc#@$w?XX-RFC+XU@3ka)l#R{>C zWrxS@s3h;e>?<(=YGuo7qp_2~XSb$vb!h#TgA(><&Oe9p8!V64VC7s2Pv_nOTps|O zRA-NsZ&p$hfLEv2Z@Ig+1Akjk^3jwN5i$PYT+AlWbb(*xHp0B;sJ~mVE-wmd^ehgJ zS0sZN#quH11wJNpxBtEJw~FRmx_l>^YmNZApX8|><>%tyxd45+SY#oUi?Oj?x8j=i zxaONQ(^4a}P5&bP7?ZtEb>5e~#208NR7EoH-O9>bn=v-hAWg=Ojpgx*fc}!_*wZg` zsga7SJk&L#7=F=Zau1Gmg$*l0=o}waSM%^@Z)O#JDFC}F710cepMGXgM|>2h0ls0k z!!EwA)J#X~qYUnmF1gcDBg>Pm)-E+a>1EiV|G`Z^K;YCQ`uG?M>{pUGlxmqs%O1B1 z#M^1QB5)g#Z4mS4e~qcX8h38PAi&Ba(a)8`G6!6?K;E@6Lln(2o#yWMAAOVn9Q;S9 z2Xv_7lPj2LwBAM9p8R@xZE19!B+1vJS>S1S&!I}<9hN_dDiPA_Ok_XABci*^UXWFH z%g)0-fRv?UKr`qmk*@O{Qbn9XD5T84zt}AZm~zu%OnDWw4y4BS{vsmI$1m%*Sh*)g zUN3xJf>`|g2)ga-cE-ml5CCm8s%p_K1qlBI23Y!E28hQUb-BJxCeE+?EDonHb4VDM zR%HENwsB6k1G@q&p7965L+p(iW9A4dPzk+~c2a_+6?Jo4=L%Iq&p>;XZ-On!TmVy> z(U@}E{EQ4pi-;fD$mpNE6`t5an!ubPd4P%jI&{r03luw*l(9>9ENWbY@Y~{q*iT@A zGy6*yFk*J(T+Chrsw93nu90W@7M+%B!L(~4bB-AOIiumiw^m_(AC2I8I47{9eDcI>no{4^3$K-KI0AY5OHQ8Niwc~P`OxO zud(NM$8$+Stmm#^spes{ECO|Bp6^;=;#y-BEqSQaa`mk4+kS)33aKdQ+=7QnFki43 zEm}Mmz+s$#NM8=;l8*lm%HcDrPVe=)yTuMc5NO8_y%>)|{C;1e{$<@oR{zhvCnWTb zB!F=_>Ler~$oEi8d-(=PqQS;L*g=j#!XBonM)Y4FxPZ*jeVhItR^I8-liWkkVAKta z{r?Ne84XL+%D;h5R?Yz2It zZhgbRt&4M+HWB~Bm4Dzu4ALSJTYXUfNfl_&KN$4ofECu54> zL$kdx^uh!0k1!q;=Wgu;TI=%N*6a+AErZuaXCv0o;)a*kbwbywOn;5`iJV0`9o961 zhytFiMNESZHpFX?jw(b7QcG(x7eprZJhcDb4>=XQ4LTJmDHX=5>3hf07R)yN}lBsa7QfLHQd#(0Z8k@st~{|cX3#}4H$eA!IY zY$l}Cj!mP;oL&AojpDDEZn`JlfJiU1mfsVqj0rqed>VD!)IYdQqh>5K;juTK_N*h? zWm3EmAY4oRetRKAwQ0&XpUGVZkpcH)4$y69W5g$I{e~qrG=GRtHV{hUlieVBE`#Jb zAprU6rW_RFkPh32HJW9?n!Wn94;Fdd#x=E@3vpm%-vF1w4s(Vn=`b+Wr*%D$MpAnw zP!tfP771(&J2Szv1QGdYJO7<2DeL+uTfgsy#h-LV9HO`Gr-z96W$P)9F<|)|T&QL& zVizC+Fnf(aPvQ1FNYJ3LqD_SiHMDV}eR)zpRqvZ?Ul0a9Qn6JsN@Ycq`_reSSm}*z zcvzetCE}elUBUU(Auy-AM(TI^y^uj_|}%ChWj1Z8YzEeT|`mT4(~6_5iRZ zAzxvbQq*e?a{V7{h~j1O22gFOdtdD$T@c+v))qIDO*mbLSPIa(It_fwP29#3!W7n; zt(@G^U4xHD^CxK1r_quN^mXx-{dE#bE_z|+z0=n@Vr5O!RWpR zpenX-2F%FUIgn=HIf+9qkAs0#L4ZJ_Ki%gEwNJK?sUC7IJ6c0Q{Ok+*23fXD0K~xt zhkFJx|B8zt2B+oC;_}|yiDPBPz?u7l@2D#U2YaMNEU_QwHcfB*i;Hf7yEeqK(3t>Y z%1w?~ik0;u38oSxm?Ds1mc69AIHe0$D4U7C6kL#V7t^n~s~2_apJJ)t7~hp*Nqis?ZLI6p3VG@PCVDodc~H}GfgY!gWDwm9L-@jtjH8-A#14ue6l7Ld(Cad7T>{kMn+ z7g7mD+NQpMdb}OIo%A;=1qvk)p~*5tzyxV>q`5!cm~>v$U>xmHV0NyfZABIvn}>$L&L6S{i;{;87kwa9!8IO{)H@q=PesxhXNL6gI=1Y!P240_ zvr(;<`_l~)^G#MN;W2?=o21U<@$NNK2=BV70|$sIf_S5Xoe%&*uH`D$!SZ>kEJEHm zNXX|BBX`k(RXo1QMIe*UiUdpO@Y*4kj2q~+jT281v1fiI(R*oNGuP>EI_zVIfcC|OZ17Re zTTkZlh_?A0xn9rNX?~_q@W>e?sAQITvDJ^?clb;WDvwGP>}aF5%=AQJkuDT2=tALu zE|k|o%aa7a=)E_OBi1NmWb`YTsxMzdb8+Xg*r?EltbyS==~z&P!{&N#bRl_72DbE% z|IAN-YN9!4IaT~Iz${C(sR_7NIE21I?Tg5MI_D>rLIUN~YSHZk3-McfArNMTUu+d#|Ub}lnY1nu% zd)E>IFVw=_{m)N{qg45wfboNSDwBsWD%0O>wvGzq54tE7kPezqe)9_%LffN6$5**d zG~~)Fs@f1VW>jF9t##4rD;90VvI^R zj7mFCB)mq9<>c5-ddFYh#SAhR*j9HYl)KSG}^AL&CJ!ifX zXO(UpmhTj^hmB;D`QIWW!+zWqto-w26w|FPiR zYNC+=`l68+cZByXKZ~AiL08&usR{-QhHoNF>lqe2fD>>y_B9J2+LKAp143C61bp*F z0sjRA{H8%cb*zz#u9CZP5rL03ar*G}D~!wSRh<+eH848c`k}LJ-~gA)IeTvKXR{(L z19jVBtE^wQyumTycZXyMEQYJUJMAx>Cg_XPJ+a~$SHfw<8d~(E(P)>WadHSoI7&K`ua0=KN&(|+X zopeJgsCMdf>q9P3v+fyk-Ji`21E4CWS*Vc&B06>N$!mcnv`nR6;?Gn!$T1djMq9Re|z_ zm7qTXZhBk>Rp*!H?4Ur%v!?f*^hxuENwZ*QwY$C(@_U1ykm~H;DxpYko<=6()$*?s zMapzb>|Ljz4_fc>pk?{Y-}Fk|-y?nokC+7tXXK^|$_Kc4C{qUSW zN|X^l0F^S0w9S9@U9%fK7N<g6RU-7HNY6V?6dR%Bin)K)8U4AeJ z8h`cj0UD`g!>5%DH9&|^wvz-cbh#VR{x39pp(cJrtU#Nywm|O}y~iDC1g-Yhg7YdC zwCRsPOy3+}qx!}|mk4^j#ahVge=0IZMfB&ZtWGR1F4K68hy^VvWACqdOYiMO+&&`?q%oIB?D0F9!+n#JS%J8&QxLkHa}6DNy@B^J4zp#pSG} zi4Hwh4Pw%wPD=P{``QQyFpT!6)(c9f;wk=%JHO~)5c*ybvzcXi(1kgdTBD9xl;=Q0 z)0#Aj_$yHQ5vaN7xHSE@d5pQlIx1zQb~Fx`hT-b z@fxj7h!n6USXpfrT}y~KOG%ISe&HE>A(Ps6&~}x8 zCaA!I9+AdTOPwf|{y(~|1DwkCjoU(!vNA);CWLHR6-89`%&P27Mo5%hMrAgng^WUE zhsZ9nSCSBi!r|b5zvm$J_5Uu{_qo379FF&W-sidR-~Ag~_xBrijtBP_vDIm?u*7f; z`X1kQw2Trgnf)FtBkEe!yUL7Xa|@~fZksXFjW&`>&W3?k$-im>A*cydN=hfyy{|k( zWcTd6A#gy*Fo5bE;jFNpw)g6$O0M&Ip~9CLJiUbFVwu3{WejqIq`7eHdrtCyt6mRtA2(DsA}r3E4w(#?C!X9qz;K2v>nk zg3frDAyn=r=6_VKEHh+r(ZFWD2Hka`v3LygFp}x3DU-~HfDgMa!&=5L1vFh@Zc$EP zKe}*X)N1V)V$>k-Rxms^FEyS)0?^|s&Ih3fH}3~R0Whl8z9TL&#}t5Aaa0TItW{(4 zI8|;}bPG>%9r4Ir+cCG7ENNI)K`kJHmB_efx(?LMGJF5vN^g^O;C}v{$~lck8^hjj zICx`gWV3CDU;85c1LpovXz2(@)2@moqLs)%V02VTqwFHEAL-IaK@RCmdFX==itXSkdFFK(- zO2k-6Q&bYn6&`*;ND0EJy3FjQ8;OxECu&BY&T}Zvk9#2^*A3BF6YOCvlY0<%s$CJ~ z35zy9%K8!fO0nrOhhq0c)a}cIf2CmIES&3RPqAWc^9|@}^$L)xG3hm$Kcwm*I239#HIqI!pZnSlJpD^Jr0pgO1s0Q>&)~eaj?O@Q`sU`sp8c1$g=M7+2Om~Kkh8GH zSh%?Y!mtHgOoWj*2z+9w)DTOF!>LrzTp%C5qQA1E`lDa~d%NKH<=6o4_hCh~j?q_r zg=Rg~lnXe@Z(gkqN~_W*s~p`Kuy?{07nSMr?wX;6v73qQU&~O}nUEMg>%en;bOhE6YprKjt>FSz)Ri;UWQ-Cm+Ncb+@)4LqhrYgD!!!?Ql^C}q*8j#fv$tTwlrSFMoJm-&@5?m@~MK4X64^dFBnP(r>ssqI(9ny;z4?crHu zz|W$5^A4dMS;B)Cs?9Kd4>B6-51i8`O;|?^1c>g0c!?{r>>mja_Pxmb9Sq#MGd8Rc zz;!hHKKKfdS?^;AXeuPufwD?O*o1~VF}##dnAIjMqdqEa^kPMAopC*S5GQd@0*QN? zr(aVSxXOY10z6|~zQ)2>Q!DVcO}!mv+&!0Q-0iI)!exivG`sWw2g^v4MC2htbVSiyYgGb(U{#E4*qDXF#+vlGU?qk+l{__Y+gPI`| zvA=`G4d6%Dd`5XJJO4Uwv=+HybSu_vw~p53NYB>x)e76!r{HT|yy@^$)AS?*ns@RO zHMO!v{qYafY&cu{vrp-|-^+Nxl-&y||t%xNnr`^qT{2w+2|DvVna_^@)c zh{Sit|MCl^BJ0Z4KNxFWd>pjtJ8Id7F&}}ZlWm9LC#wFBI@bCnebuMln)y$Snyl1? zM^ht`%TseqqQYDc=YcbAs)Z}k$8USSY?0^d+pu8NzA6j1SKzQKCA@Y|$g$P}PAwvt zeXyruWoVL$ZaYA;I9dq@=a!Np39e`wmShqR2sL2*07v2asj&0i?TP2Ry%8Y=SjPT= z@z457zP$vX8D=>-z<3+{0S>qx9!sToQmv?Q;?}Csx=asLg~CSfcpG}hXj1&~+Y_HS z8m!G=XIlJq+h)rSa9&ATeef@LjC#1n?@G#2XUhEFTmlIgjNmwx^em`1J|xm4xyJy< zJ8!rBrtIDpA)t)F=9GI26+Zk%7>~GE6lITC$JW!{IqF zLMeuFkrscVqBfLsv$V&uouC~E#W^gXe@*+&zp}Btl81$qnDhQC{lL)!x1SIK8^7c4 z2L!x&H(ZoA4Igm2i7R>kJgzoB|L@}pp#}A%zS!tXHq2dL*>0S=l3vWcmbY^3U0jE# zbI%WRN{>5^C*{aKkbJrGU*dP9YJVv1T@*h0lmrHwW8EL2%*~F1qWo(GIGTuH7W(Vz z4p``jo0L^JvyO)zb4n!xM_Api+)vJHzdnww)uYvzBtDdjdvz81+8h}-XwHIVy-1TR5eW$WjV}r2t*>P)Rk=tjJW(thT(%@Wrh8Bu+ z!lr17u%v5r1A{((zDG9UA1rhQ@Q>^hd&f^zBykX4`| zLFm=6u_okDAnGcxff^l-i3~(+7LwT|tVW$f`r;&TbKTHunYl{fH*<6_aVJY$0XMo`GNJuCVij4bIEs*Qe^Z z=X3ToVEDkld8(P;kCk;YX1=IWa{XR;%lfZX`o~sl?k|!Jo8^6q%-3F(R99Z`C?dI7 zBan9IlU*2Ibkv7_&cz=slusId&j>b&|tmOXyCbr5?1einCMsexMR?g;E^=L!y z_;h#{aEh!yR|a0BQBJUpJt`ad$gHsex33Cx6Am;yCz5^Owu4TK|Jw=izs3Hz8kN5$ z^#;puH^)6<3a`e+S#$L;np~6n@-JcD7u|~VK+uXozY4dcqJzMoxH3rG`z7?;6pYTL zsMuFnt5XFEx;ChBZxX+QK@RA8tfl><>Y7Vk3|?Xms}vyCver-z+p|8N?Yo*-p9coeAclD)fgTv!Ahzf~ z!miFTqCvrl1DmFa@PQL3WS5yyWq3Whd~a zDB8Ce0?h!I$+B&y_`e0okn;W3jeQ8{+t0xPVzXD1^xD^Jz2{<5r#&jwfx?M}rS39PTaalLRE z4oQT|4wBmcoR1T*i%w(pvF|uW1mQ!#io3*m28^X834JrHN0W$HOv_qxQDYP=qf7kt zY<;%F^W$B)&DvL44Vwjs(^H_ddq|4!Ol7X*--h)u8}5q{P%;b?Q{o{&k_`sO^_DTe zB*ZPpGj?E^W;h>IWF&-WO5G3&P7?B*F@;b7V~Jz)IXk8N2NMvxca%;VdPjC`K$73@ zY{J6-p%!n>gm6Y?2on&Fk;-CrzAfl&8@F|n*Z*1x5z=@bm9T_saKvQe8aUJ=elhk+ z=Lf{WpPW{!dU8dGf3E467y|saRc8;LBRijU#T|7(L2#>-&~l^RoskE z6CZRpRUT6qqwD9RCQNZQi6N6Jv(K7fzU$zEEj?ihV|{EJQ2gf%k`9(7^5Wle!Z?8H z#2dXMPlqWuxTQ8+x(dmo~3AmJ%X7pz^Y;yENI%n@DiHC|ID*Nlu3YVx)g%Bt6?rgO3f9Awmr{*~&lTH2U zrAwIJQ85jfBk6&Yw5Z2fERTh6?xHoPE*{Z2W+}M{^X!znI5y_r18s!8>EX1SRvl^_ za9@@GGFkpo;QtU(S<ic02FLBStz(<6lUF*FYxB60M5pCv&e0ffh#XKH%L-03+WH@FwSSi zNg9Cwfrx6hPC8cDQu={%Gnp_qmM;u@5Y{lUM;a#jAW@jd4fX!qg*M;v`F0u`0ewTeVshH@?V2)%BnqxMgcuN?CWW48D@yl zbq3Qps{Po)@rUVoNOag~zvZbnDIq!gSa>i+4ST&qgY%d!EAwHaO8%pl+8|jc^y}f& zOp8YgAr(k7V}pITy(t3pa2NRKewkl&Z`suNNMgMyaWZ}@Q76`L0dc}{s^YOK0*K2-qT`;i^V+jz7Wr8c#bpTA8j5$gG$Orj)yp zj&yFm{xfwa|6m3U12d@Koq{noEd+=?f{L8?h(=KwD%h-?44Qw0ZdJ`!{>mnhI~G2261S_LOeRSo9mV=skK1y`f8yQgqFjfDLGJU{yV z^XE9{e(Dn-zRQ&S4}7gJmCD>>1O%F*Rh0Wwj}*eoj1vaH;ty)sveEfK)sOuOgfS1M zNEq81D!h0I$C`rX&XY7mdmhsXCK-Zz1vkMlmaQ@WDGoHp`n@2bK}L9d0MsMxeMB9R zlc<)Uu6GX67}%%4kX?cBO>ng1t)z{_7o2po?IFk)7|-~hM;rqsMjg`k^;kT@Oi}rI zB@g9@`Z2SvR>J4}IV%!sx-*|hy!n+aP+~U+!rieO&7T_B4`D?!N7VpWI~OG^ z1vk^&m1s;tz&_QDT_zgp=1|Wol7r_LeLsb@A0Tbn$xqPKO2i;E83V$m6{$z1`?OMZ z6$l#+lcF>#rM%Wz-2I;ckqF8d;`9)Bw`*u{V*h83k%b}EbPU(}le_ad`1Wg&iD+HO zW=RVegYWBzoz^1dzmzOUuFnWf_%xQ=VS^Ir2^=oCYH&26(5Y{1!fm6K=9ZJbgR5!PdOX-=PL7 zhcsP7c-*CPRpK()M>CFy!VS_j%Va1NW)1B`@e?qyo%^uovm}K%3=CQN%oMLkYnZ=? zhXlO(w?KlyEI5@3x5AU(H!c3eJ24_DK_d3FrJdgkMja0_DQF ze+#fTAteMbY$!w{!V9nlP|~yB)Gz{Vl^S5Nylt##M0o^hW>%)J!#*D_0;pHg)L=tH_N$7@^VIu2zQ_{Yj#PqwT+>pD@c)S-x7^@)JiDiG|3kNiq#r(JH0qZ`G zh6AS3V~t8OpTK$lOQ^A4gv`*b8P;HI@L1ZOo%CeQn#dPl=(TvIsu~@F%87ZF?7TFU2IScL7xn8=WDP`ANCb?VfDn9%N9<( zeJwgGrH&R%{6Hl!p7`f92}W*m4luugOhvGBgJE~UF)(}F4H1BCfpc@Qv8Yl!x}eDN zFPRSuX4j5Q7BX)V?XUxfE->IuCGdn=briA<7~A04I)~L8?&WM8-1&K_=$)+s+M5_Q zEdiG!xOQ$C+Bqc2Nv8cJFp>8msCq^RFtrIA)XA{)I0%1XAGO-ogJ=m}AUPm70xhB= zgVqX(T>xMdQDC}=Au3rWR@Ztf(BPPX5N^j7FMjhqFw9D)?!tHktH;8_qpsxXc_a>y3=4E(Co;1P2?tD_FV8 zBfJh+1F}GP$N<*}Q2&AFV=*{Cy6*dP431TOBPyKI#@s{lJTvg@;)ch&B0%uX3JEJ) zw5!eWam)AvtefAU;23RCD!T_Wgb38H5~Y3Khj5?KFRE(CX|<4b#)o-=j|+%&0jD|?A^_te z8Z((6RNLe(2cc%4Mu>*pZ`%-{3%SL1TekezQsjkGzW!|K|=Dxedr`N`6;%!}Wm#QEZH z`kZs3JAj2BJM1f%2fmB8*V|LjOLqdL8&6FnTxgR1}VU_1`LdpjLE`O-yN5$!MTF}Qp0^Fv>Wh~%z;i3EZrSotbHgC%IJ2OQBEWvM^ zprI6$r-)TA5?UGp>}71i2N||u-XzTpMcHkC{IMfcSZ4kwH-|o_K@ovB5 zrF}IATqIgi_FURfBa$_sZdkn_25Foor;Q7uj0=5)?}iLZW`qN*q+f@DpbcUH2le0( ze5T+H=2~EW9$)X(cdRceGE`w}t8jw&;Q9mY9OEV9TEui`%076m#RU}Lk+M=RG8p_D zo)$#R0T(=bBtR$ zZ{Fz|OSjkUbhK+n&Gn(t3w0ORKLcl2C5mxieLwo}O2CFtP!@!OCDIIG^ADksIR`hn ziW+HT(o3;GZ3|0xdttooANd?uW?_l(+^Q>p$A_zpZbX>QtzO37GL$wkf(mDmM*t!m z1UG&)l2K0ji{#ObUv>&nB}y}JUkOwx2<4zCiqp*m(!|OIJqqxm7#-uCfj@dYSOO6v-wZ!-Zca=c(&27eC_3lEd_tHt@%Vp7H?o2Pw#sYI zf}h9E70xBzp}VS7^SGLn^VAuCealjPSRk6)TW2`%D0;p^>)gfjY~X< zB`C)KzT&LA1|Y!a%jHa8ff>zw5GGn;Jh0!5{9A&I#P>Y52lr2mNH<5%WnO-0on6%+ zWUqHGf4W}lZM(lIfYZod3w^0fkh!K8h>vmR)Yyu9YuF2V6~FG&Lf}QY;ULutoRCkj z2(T^`Y#5Mt6;(GyFp^jqJfqJ5DhqRmn@FO7O}N=apV=ypa1$zVzCF6EH0s((lkC|W;@IYsJT^87Z2q3ij<6#^pn51k zTs+T1x|&rOrxUF^mey>mc52 zJ_wrPskK{FnV2!wYR=xtGA!I|AL7j>vN0h7aqJ(*<0iiaF>a5Y=3?OvXvE`fz4}6w zSD00zaM>gSZiK3vD}6_Cqcz%$C`j z0>>RenUl&!$z4ZVB&n<0@a zJK?aAnMMJbXAfMX-dVsCmWh1c3#i$&Ryjj|#D$_ks%his=R z8-vwq)Q-Qvr;;=^9H$`vLnd)Fa$7zq#syc)jSvZ{EY z#IIVLU#tuw6d^pi-IW0c(bI=-GH=L|2*GRgK^99CE0rY-d~!|AxLo{Y2id;CNy>Wv zg|Y`xaed2lg_meLdcNOB3?4E9Mz3|GMax*!ZffVdebizP{ERH| zu}0w$^pv%um?CETWJdARl!R22T^qp=e*NJpabxw8%C(OPfClrL=%1r)hwQ|vb1T42 zw|mA-jP)+Eryo6o+o8(P1 z37a5m9Lqe`G66sJ>hbYgZbPH<)6NC6Xr0L-r48qk0+(Psh+4y*Ku~Tffx;NhA8hhE zrtjw^nIHRqzOPNfV*w(T%^q^Ebzbyg(-VInhrq;QX$IvuGM~67UvC3Y$MdbAQ;11M z=~?M*^G(^LF3#`7HVgo8$|G}kXdC~dP59kDd8KX!Z@oxBPM+V|x!T${U14k4pyf$Noo z^qiy4#MpaQSa+s+Tqx_p-Sq8_QNe+qH32a?GjMYVoGcdiHCE`<N*($PbRYy9isex#u7=IYAI4o&%n~ykWJcCj?s%Jhp|G%Lt?Y@3m-x zRox4ZSKm7*V28uPW8u;TBQKZT_fJ0+oX-Vwa?0E(97qGz)&Fs`!QqGPJZX;9zPVU) zqM8F0*dVw~?>X?5-X7rza8Wc8*EpI>0=_he3Jq~HM@;B&R0Mx(o9f1nr}GTanH^vm z>f!s_!7m3wy+g_a63d;c!UVpud2Qd5* zth*VYI0Q)YDxDdbFXn{H+FT?T0yO3kwN^tNT2kFsE`^ypu@j!&0R`Kg&;`W_6YE_s zlJh-lS-RupuyasfL}cACS^@kZpilUlSUDEBfdfzoz+-KA9jOcvgYBZ`_CnGJ_S>RR zK)Z}3OEy|#JKNrA-+<9ZYyt_+@dUax_20PI=BqD=jzMr_ae@mr<2(g1%KF#-IXraH zF6Km;czxkKZIlozwL1Z6Gb$$x-E|0z3f||k{Zo1R6H%VR6)^hF9&q`#Gko73dJ+i7A1LUD_|$sq`9jXDkvj>9gjA=iF7u+j`4H71VKaLQ1qstZ<=CroTucK(vG1n7CN;r_s6d{-(hIG00 za}xMcayeJ65YriH4r1SeI<&gm_Er*G@l64MJa%|JFB!^?eOjyp`iKka3}WSmnAsUu zsCo7gZL3-dcH)NEyI^&_HHNk5y~d9}2DFjQ zTGSJ9l><8*qib=Vglsuemp01Eb#aE)W{Bc#@hpPn_#BDi6|Gk}4lD}a{pU>R*s&gV zwT;y=s5#*R=O1u3s3KF6HAoUm0g4dfZ3B@?=dpxGoTWOB*Wv6X7sCiHS=3tv3M4U; z_H@IDEmkuLiHjPEP58eH!`m+E#G|8vz;(6~fRtYw&Hw9MvEB(rhSHE+-A$)g!!<}6 za_r?*Cb=o;WrA?qJwFe)C{Z&8ms#`y1I~oV^k_?;rHTY~)cVIocA8p5b#NDFC*p|RK zW`9(B;BWq>&l~u=uiUAcy9xwVnz#!`ZvMKK0S7frM4~qG3xxJ;ABNvU%r4;7d7_t< z1&Apt%16(6SV!7sq?g7A&4JDFpCrgmAVCfXhuk?Pc%1Rf6=F(-o1gpi0XVn>e#qF% ziYV(g6Ycp+BaB6FxHY{CQYkR0BzOh_NV?=Sr04%D2bQtKghHri4nS6NEufj6KY*|^ zPkszi5u@fhzb(OE@PPxdmcpIJTkqky4TMwQC>vO)?BRR(mF$?7PFH%#n70M) za)i;a{WWWImOsL#A`!)58CcDp?7}=?7BB@s91917$Nz@w2+#?Cd(!6shFcf9PbN*< zRO~@Ea_FPNRKR>ZRXeg!wz9U4eUr->`n7B)Fq>2>_kH4sI@vZ?-9b&TaikF7!D5)umGa2&~61rFb-GRZo2XvF7yms z=(g){(O~%LdyDZl(gX4;LLBj>M}G+;5z(^M!PtbOrXMK)B#fGMem!rvCPIqL3!MBN zK*vcmo(W&b0I`AHe1r#Iz*y*-uKj`&Q<|n4>zM<}*FSsmVEG#$yaYP^pQ(jypy294 zMD*u_RO7@e;e1um4g%=JOikE7TNRt+3M!zE>axq?*rnzRaGq|dq5Pri zN?|PD1_XDLEuS=8ht+>WF|ab(h$*auN@d1UShl?ULuqaa)80kW}Pg zi--q@du*2D9U_>|gT+&!1L@1~je4ZqZyD6aT4GW@Jt_7LDm_LfZ+i0JUGR7|MriVGL(~o+(woP)9 zj03)1y~om@v2&YK2>u0xy9hT~J~iTmCANc-xqd|5N}!hJKlUk1dbM zk)69xc4#3{FQ6b?ZnEO&8pi?gUo#>~Zdc36{Uv7!K@pn<^g+yxkB+0WMOQz!`7d&f z(95rzmU}g7at5$L&8&^rQ)EDtL)9}h{OzzT4Yrc93}Xo)5F5e7RC!aIRgWHAbAK#< zv!bJs*{@rJds~#;=4V!aL>Mkf_h2Zx*rp@UT9W?3(D3XE19D65t=mDiFs*hF%!RNH zjhRF+r6-!6-Os+DgIIS|E{&p}>9n+xLuNV78VZc1Afx85q5jZ*B)5iOeIGsAUU{gc z*Md=>{N6*EWFLhH8y=vx}Gd6*zCr=N?BUJxG;FTwC7U=BGQbWq^1Zb}w00<{F;74Fg0hw2T{hrS3;0Oihzs_=+vy-??!%Tzz*{jzcq?&Wjdd*$?!7DAd!%|JgAa^-hut*p zqjM-apWee7#qTGVG&~HP6$l^S*k#|qF1vt88VX>aA`@d z;mnz}*$y^;)Vw@qQB&T3oh@K(BD8$1!!%&2qkL^@{SBtEZfSirEnuy2aBVC!ZEYz> zeq}Mue>o=r{WYn4eRXCXv$($8E5D8s8pJGR%CFY31uXrjlV4j5Ses2uD=U^WGATn3 zXF9I0ILfasrDe|2heUT~vUC6ff%Z6&H zkjQ^&P=0kVU}Yl76oX018ApYut#`4lO^2?JQw6LRt}nrdnrM;7khR!St$!#lS(^;N z^ukXZ&174jG!3{OIkUcgYqb$RBHP-my#Es4LuyPWTR@G<+jY`iv(07ea{+T+0qdxo z_4!6I%*Z;PmO3F3IUe#)=;;v!gDeDwdjYBBw#k&c5 zIu8`uPxvwQj9$gBeq)}9UotIh$Ja_w;+A&MFf@yBnRem$$vlQe^>z}b&QGDr909)T zgQJ}8zj}hh?kjN|7<2A@Zk+8CRwKvOA!&QX^ZKef6YDMVx(gq?GJzQy|*E3k)gEq4U(S9;#ax%YfUxlb{qfIsZo(>hgWB^N|p##e{tP4OgWv|cG4wBU|Xhaw_6I*-kulk>q4b_nB z6$o*}^L==)ik>^{y38A~aI)x6&-B7){REfsS{1I-M#kPdWEtcaHX<0M8f4Lg=eWn{ zPOeg!5o3F4%unJ|XM0zKD`TiBd~#9)*1w~5ett*a9t~}YVq0^=d}~8hvk3^;fQmkN zq$+XHe__0f?V)_C|NI<^e#}e1W_`K(P&o$UeRQ{oEqhzIP#R`o>V0^Q-0Esc9oMXV zpqk23jH>bj!!J8nW_P%WUU%j?#OYi{TfJMyhIm(?2iZg_Im=MiQERKBUCxo7x(X<6 zLX)(9PfM0-7LRSo#+l5&;4Mnpun3-{bW)n<)$@`J4|e%#alVGd%vZ0rB>Y0%tGD_D z=R_$^)-CkMNLu_5W#(g!xx@Wvd?_ww&-9No-#@!YF9)g1o%zP9!lI#mO5_pep%}Vw zkBdb9cM~UeW_#G>d(yj0@^$!xGQT-~e8-2A*Vy)ay@QfUH zrO}d#ktXk~n*xK{+rzPWc1`y9%XG>9gi3FD-B(zX)C9G;r34;&?{zg%{xN$|qUMbD zb(U61ehc{+ogHT)7K(X;XPhOJeo8Ol*YWlHCGM%~&!i8M7IRWIAPP&pOE#^}{qgi_ zq%Fqt-JLT}YQ;$gXh&ZcQX1;$pPWkNu6*vaURhNVY=e>u)H5CM8u--j>E3l^a`MMB zBe~13jA`_qynW;S(l2-7*2DNybJs+~wOmylPIeqp|IAX@&CKqfE}!c-xuY%SSpHS?8SF z7Y;hT2&v=7&r$DRGN-HPkIA`4xuSEs+Y()sl%;W4g6xu$j`?)iqnA3Qd)PniO1Mu+ zDH?wrFZ{?MzI6k_4?bteKOYaE=xX3h=_nYYBJr0L7R9c0c;vZ+(KkgezK4^?0XdIf7v_28m;qqKZtkIG} z!aKRqY=C?u&>1Y3YRDAy~+7v8V1!*HCbBm$jDb>$%)xlv=TIarW|{b z@WVLafI8XTFy1h}y?hH{%zMN?9(nn6(Ss^v_xH#59$8fkovuw=Nwsd}ZasDS@L)3I zt(mvtq-zt+bq7Vc$2!eBS}hk^RQS8kP5b1_^j-R#*|I8-KJm!)%2M`|L+zv!@-NrV42!NfA9H-7JX{(2#!@trc9=`Rp0H<`;?Lu0Kh3E4%vn4< zRz-X~+>xaj6UrR}LD?ADcdr}m3R?fNHlxz2Xg&jo4_EX~%+_*Y4XKG#LH{Mv%H?^4%t6f9G4r$ zssh%2lxXXkzL7uY6DRb@)vNus&_ZUzQvT-^TCOTzZatwv1lt+ka$Q@Z7ApB4u(!=4!**!*?Zf|CqyTy`yA$;N~Z z`q7`frA>pbBsA=K!L~xbH|xg4*ReRi1=DrZVEN_F%m>edJ8O~+lM7n)}8y>l~N4X1>IPj$j$sr-w)lWUc9 zAq`i0U(*cEthcUuP^|p;6p^9n{*}*)cgo))yl+6!O-1OYzTy6c-2AVfN(EG;HNR!u zi}Z`Y1Q3kBS7A6j>oz2O7@8WR_` z6yjHTmLJ#L#-QA#o9(YrU~D`=(AI8?M*9`M#Voo0c@knU|!)cK3g zZgQM$euUO3`Tio!sK7|a_?_=lOLbK4tl(11C&71~3o}sKtUGGq80B+62SV+e$w`kreS=! ziHG{-pn^MeoW%hiLVjHFP3?4J&vFbVFX)+mRPd||9?X2>ygNZO!%f~ArKCP0IMa9Q z$!B}ARpNn#R|2QpJsWjD%QzbbYxJe@v>*7zHc*pBcjxu3jN-ue-vnFU(N_h3{X{$O zb*sTWW8$2_OqbJHa&d-dXS0*PXUK`?bUheWuPhHgZam7HeV&*{wYKyfH^_g#QoNN855OY89MoZ!92L_UZYi@z75_07c34?y)y7GnR zTXOg6sQKJ{y7MqfDcs-bUHhBwcezjfit8xQEBkSvsc~Q7@zD0f4rRH^^GwHSOT4cb zBrh7Syw-hcQh)h%Yh(+Ws-XNqfj%1zRgcU`G2Q+uW{+cyOs?T1Q;o0DhwYR!(h5~1 z1Nv#+TR$DJxL5YpF!|TR(t_pvuMDysoKHBdmIVCpim6hbdhceX-5sToo!o3K`Zgw` zgGzvuU%@kXrYmRv=w};?do_g@9PS~V3DgJEj$c=qZcQz$iJ|4BSH_7HIU;WOo zi_pT$YfLl2o`->M?p>ZhZI81B+EPd5yR9##Q*-9wYUg*W$?n%odU+Ze7iK5 zecC$H?>*JOR4)*vN?H^hvE23fbZg&}q7a&!zCkNb70ZuWt#qV3&Ka#8c%{1kfWtRN zNq*^@cL(I2jm!Ti%FX}wBJf$$vJu9ETT1@rbVv`E#tm(?vN}1wpR{bq(w@*; z#$`xSRH`bhPu6 zg~YdxCkxI$&oaK%-Y)N9rBkp=hb(b$Q2JfpTBIS3>$ASZoSzHb*&buA@}Kj(Ru3|+ zGSfA`KXo>PkSCtyxNL^2;9X&Jm7U@>=RTx;94$H3tNl#=*X^SGrPzyh-$y7im!p zS8sl0DZRcb!=0D&{b|Zn40l${40`wq99)y{=p}t>bn$ApT3w^RO?&&BNL?>8^=cM( z6rp9lEn3H@SNoWLR42ZNq+4&^C2_{4r1&rIrt)VK5__N6usw3ol%6kbFPq)N;q~KU zKx)RoBQ?|O^JUl5@9u3%T&dBp7bi(dyj^rFH1@7k&C6?4$)!VSwB#OoO0UKA9j5n* zgu0KDjywCWzOK$Gi+Zm6V_H~M;HR&7Gh2DC`(Zi4JBlAskAyzI!Gt#sdSK9|HTSi4 zB)&ezo-}bX-ubPcEzijJ(`St-gWi7<`7-~lKcZyBI9uy@rq@ADqZ^G!7#o!eC>E7^ z&tLXDYa6qct@UB{VtMYc#6`x;m!gJ`9Tpnw^L@`wWz7~DpE7S1Al#vi`BW=ma5;$Q zV|IbS0o@&iKbvplztW?zprX-6O$#hOOrEfK%l5ON?MfMMC72rq#+kw%y$%W-lylwbvr7<&?U&fUi3PAzB%FX$!@XBqz|)Fu3RhACY!k?oj*33 zeLlV_ctYGn=~m@smB!3t`1>@Ii}&90&>1VUd!ymXRc3fiPF39SbZ+Z(B9p@dbLmvx z#14xpjpJ`E(kazHiUb-M_m?z`J?K29_}M+&-SaKMyF5vU_3U=T;k)ptJpZ+DApSkC zRe|A?kfvishwroQ;idBQ{`&ghwRX8*2U-%>I$KkiMmsF_|GFcma~abudz;6oZ(8fk zD*Z9(FXOr0^CpBOADQKpjhO0|&*cbu1ca%z8Q!Bqy`wvMJA}Thb3mO-mGY6gcf#;} zvuncKNi$Dd#TirV)ol2J-iUsBpENM`imBxOVQCr9hn}wsbY28{S<)>YQYXs@Zykb~ zMErimtHLMZ`m+m@M;fJD>6JBIqWQVLmvrZ@7p1yW>D>e{taN^a^#@krLA}@7>7Z6L2wHO6REDk<KewG5jPui0IK zzApUSe5Mxt%{21ZCzhGAIz{@fsMVpEY3IzC<zjExT<(~C? zNe|4qo!)u(`n|g(Lz8c*7}a)GcgY7USKn(=)}tU%MoXRvy>2DI=K1(a$n`~^R+bO5 z;eldxi=q<6V^QWAOdYf}?ls0#sx#h`>NfGQly6GDvgGuOCCQKE?$ynF?r!sjh%jTi zw@dNYb0w5O)>2NibJm%b$~em-zGV&5H%ep$5CmyKjk1k z--KM5<{wxatJA&-(SY)oK)x^ zTG*{2mo!7W(kuR>Q;+;ZiQbR=kX^b>WA=tUcX`~;iHN;2Sn2vP$GLYey8~g?jS%7M zhbSB_)9PO2J{~I6ORRpZvHLDc{ZQ(EePOLbt5nohT{?eX*-_=3 zuUxw3#9^N2okgv)(ab_Koi(=%TUVRLpO$}nv92N1N5;a(w5MNA`34oL`AQr0c>$sJ z=JvZ|obvuVm!I_Hd|){bYSkCBJ7c)yFGT_L{4mDFVyC7Rz&0 zQqVM-Iqz+3-)UQ9-)JvK547_%-I0DO;h1XJu=M>c_w(XapY$5zxp&&cJ#QE4JN#KPV1cU{R362 zD$8_sPeTft&7PX(y1z|df+|zXmoT|$o?|wrnG_0qhb3(K2pVNtk3YJvk&9XVsBt-i zP7dE+ruiwS%Wv%ABS8N?VtKN?76TiNb$Md=i_qGKFt)eGT}suUwSTVrD|WuoplIWV)%JZ#48hrn>{g3B;Tr6B=|lL zoDmo>q*?Ku(-V0fw>&i|X+(wgzpkzRS-(=^;SDC5&T}TZw8P?K@}6_`7^N`flsOOAf99spvwv-l*Jr6!az^1fPTn zT)e#7M{)|EDNEpu7iq~_zqnwN7ba6Wu=K!dkL-Jep3an~Pq*eokK7ugcS>Qg>%3S! zb<*8~*M6ceq=e}Py|_JY!W|1J`7GV~`u386dl?>OwL?Vmq1YpNR>)4zP#_(OK~*?>wBTYLWq`Uw&` z?vSf7yF-PJ92UCVcJihJT|a9Io0Cq}a9io)BV?zJ#*y19NQ$@C}u;vU}5;;&eU+clOc?c$6$3>kA|_=~o**eYosLl&);u zemAmHKJyL~o@Z9%0{2|9GwExpb@|9Ze>2d@y`=inUcrI<#XZEY^>ZUt*>un7H$S%s z?9%^Se(BK-eAn}X!)~u;zS5g7cwbgOQ<7}+FgmHX(u3yIDdD$8R_BEJm!%a?jI&R@ zDw-l|5Mg5NUnsruwz^pYOX6JGSYw?h(gykF_)o_REAW?s3o16s{w#c0?6St6NR* z?)FQ*DaTKdt)J|0>{^=f-0jOjrR6c-trl-}_PPhWq)a=muf*WfzjRrmjQvSSB*`wO zk(U$S)o=KhgdCArshYDlnMNOdleaRa9%I;3AyIeeoMZ)6tzn6J7Q6PzbaIE_k#q&I zdjWm|2FL5~Pgy?K5Obe!2(@F0tJ<0A;aDKh`H(HiO-NOM-Yt&kS?71PC**fTnr!%# zWp&RbGAXz2s8xF|IY4}2_{^+zt7ASx@RGtU0!*lJp|aAwxT?A{V&E3uhmqDzE6DH) z^&hhq(G6Cwm8~g_Hk%`p74qVYX%j&;zOr3U5g^VAv+FKWOh4)SW_0kSSwE? z$H67pTxL=J!+xa^*C!oZ!MiB2fX3J_{()p(Z{{V*SW7uhOX$fwhcsqrC9UQU&D7{YHf6_wOAX~Ju}uJk95#AEFk@r6q}zh7AM-H}V?VP-Z!y~wVW!)FsKek9Gc?37SVpP=L{3Vp@MPblMnI;(&&J@k1DInHRnfn$`+Ud(x`>ou<)RP z?Ca!`Ji8-~11aJ{^dWQwe9;O@jrU) zh>OQ1f@VFW92^onTUbI5JG>>6(DMI*iviz4D(r?60j!f{%q|u8=nRHo)G@b zM<;w1a5WM1y|{-VIzYWMu43`|m8g?T^RkKWlvy5u62aYpHu-pPBwk+5Eh zM(mFzPD+K&6>XL?IhK5)#sM68ESo@G3aqL3TW@t_NjgM}B0#{;E7~&?T zqDi&iv}D%{aAoBk1&A0BF}M>2-XHenM>;-u7BAj#`^BP|_6RD# zW!n-brE)g#0SO%mLU%2TB%0Tjb|DC?B79ai=i)bF6E2sEv~UBfd(?7W)?I;CgkS{!-F5}-B;Qqp zxXlV+C<~!T=Qc7WxEV{X?z>Y6#y5>M6?e8m@z;TJcQQW?nzR1?eH`E zes)idY^AHx-^udJDk;)^p7**>?K(b#}cIIM!Um&eh~oeBtw zgjRk3Ho5rzFfKl}y@OMof4OQ)yTxXJ(ej(5rRe7HJQze^&c*nKP`n1I{KBrhcW7IT z)&U|!rQHGu!5=r8S39;oC`kbq56!4i5UTc|xLtcLc(Q{EnzwZSknT#WCGO^inpd+T z2Ba4seB7h; z+xYwd-WWpdin_u_>nlPOcddlOO~er_KukCh)Z#wqKd$?0I%>P&I^IiKlel_|5L3ao zBp64_n*tdJCulgQp}>H;fn=4<)A9ZQ zcj$+3nibJP-2gYqL(S9i;P3kXu_O8Gp=}$op150qm}N`sWpS0iOa>5C`JA8!tR6I) zw!v<`hoOj0H-LA*r^dJsdT-@D7)m_t92oc#(YQa5bZ}dK1)O1ow?G>3`%f!#V zc;L@pg`lC2+sbRVJJYK?8?d{;MWOx4q4++DUaQdmFLgWMGJ+c*HJw!3s0$z@V6_Ez zyJDU_Ia_;+Zl3NysE{wEDzwo6_NaBcZkz7T6teKtvc*vGHE-tP+K}+K?FL2`t1N&5 zf*=Js)PWrHiUc)i5P<4qn@-p>M478y19gn4OJAbH?USI9+B@}|8}>nWrUa!e@5Is2 zZR_Q&pzg}s!uamULl{3;Qt}QW2m+L*tpjgIKlR3zqBHWk6rAT7WiC)x*w7JI--#e} z5T{e(^7i5uUKOGreYOnVV#4eZZLEolTzBS4x41t&6Rrm!B}#v@=}&@p8)V4jNAs@c z#@jxdcVn%=ZFe#bPv7Qs-Hip$r)U;H7awhhyXiwU8#9QnMFmJ?0yicJS_6iq-+Z5h zt^qYcM4fl%afyLPgKZG^5}}jqhE|^KHg0U>K@bi$Zm`7wsV+Fn?j3~f=JqTo)h7>| zS1+;efFK;q^&tewU=7kX-;Eubud04-G5*BoC%d|PLReoq~r&WcVkDzPcFEr16vB701EYm>yo5Dn3{#UVD%7P z4!kF~#O>Fw9*WNm-((Rc3;ra@``I_GXQ$j_K%DRh#)D_kd`%FS`~FxF0qQV$w>Br3 zz9iHl@lC^T-3lW)PEgv++Pe*@uA22t2sC0ik_Xg}?n(lmV;{hIA|9rrEe&azg)YA` z>0eP#Kr4U(-Sm-wg-&M_pcFRuVBP^f5fCNYFNG<9yF64jkib#+Tife&R@l5?IY*5! zd#2{%+exm2SAtg5mcs{3C*kFJVam4j{b5 z*ym>B1+@L`f7@%~J$O)oZ4J1##ehip)II>DpC8=!BV%ryJKqme5evc5%L!NCvW(LG zfXrsG5RsCg7sR~VM28AS4V~7;0_=K@Eh<815H+6rt!>+d5RwfDkCAsmI)o%9LetZ^ zG$Shc6*xJN?GB_EZsqa!@fHifjg9$_3dE*ekG>JiH;Cu8F926g1Wnjd;N$q`^R_gh zec$blhzj@6!woP~P>f(RbbGuc#Fcy% zi=AJnhzk|TeL;u3b?2YIwH@?_JJHLkc#tj?paKOnBYkIg0^c!sw{Hah)XDdjW4cnz z+cN**0Cx*p3LO(2x6$%T09JuHige_`nMho8KuUw*H*R4bL>mc)9I%;% zi&&^Aar$7M0CeFO7xy;Es#@Wpwotscxe8FeuS~@l6`yLnJ}BuYL)=z^+lto*vVg4~ z_%=T4XYIa7q&*-#L4^g@_`lF)rGJD!2+s=u;szJ@5R{BE1GcpoNzL zULz}_E8>GU$QmPhloe(RKffED@7_bqo6-C(EQh))N@7B82Z5rP{t=-sw#nA+RzQhj z&%qu9tXtwI%fW3tJaW@Q`24;8Q8eJnR1wCT5dJ(4a3& zi|C3T0dNi@X7p0UR0g-k%Yd1{O>!6~bS6d$JGx z2Zw% zxpLwVJ|W90h-ntNyZ1ra+CFCDMDfaCaUc@I__eD2a-p4$9)bE2YV0jCIrS zv3&_}P#ztAbQ|}=dx%T69Hgia-f46@J_yjl(dG;?(pb74fM#W$aKHkLo{3WkR}d0j zFikM5Ku>zW)^@;ZZ(~wJVbHwVXk#JaUvw{dV(EJ_&?4Bv*6z5#;*FLS%=%ydnzu@c zu0OfvU#!}edH`8t%RE$?41EpCtfh22?|oy(mIg{>rLe^bF$Mzn5!4D_4v4JnAHi&e zE2?6Z<1d%oq{V9Nfea|F7f}Par1Q2rAf|D5L!S{Ism)M+>K0P0;?g1VekD8*OO4nw zgsqBdH0+75Z5W^SRaQv5NVbHV0fq_Y9sT;kkq8zfKTEeiynTjYK6+r~6bKdwqi?N! z6d1mNejv{dMu=<@&ZnT}%@;B9Zj40A=);Gwer}Xvz0Ia02cxnbRRjvdDs4*>`g~6Z z=7xP1VoCB^C7E;#pCjput=S`F-l2VWb-{!`+M*B-X=wKi_K#a_nGg99r_)oRKs?QUZHbbFV~oa3UgSeuOx zf-=jm}*jAVJWa^`kG{^(b@Amw`i@W#t666FA%6i^C1Ix#g9FG=~j(ZdZia z0#dYjH6Avq`3v#bZ*IXZhR4FsAu$L+4FeSkwfZyLuS5Y#l7o)I)pEHS_%B!8+zZPl zF>m8>(oOpqTPKoYhR!3U-QHF5rzOIe@O{QzU&VK%oC0ZDxNG5>1e>;;Rz;;j0vmyw zCyf>+tS4vlz|Ljj%^#(t-jX5$2X9z(4^?q=p{1-#$wnAUr>+ zxN~5(0m{mfyYZ8#O2)f@??%D|T=5b6Ec+4A;8@)SB)CKdu#G10ak%9a>=RUpPe_f> zQ)Is>3`wH>L@13&ABifg0L5peE{8p5beZngOmJR{En&V9JsYunqjss^s@VsB{Wrg~MZH;(jTv_?w@)&9uL9v6 z`7Ffl-n?xlz`Rvg!^Ail2k^9gj5s^oHRDfoKW#sNSt=}LTd6nCYXZl*h|EHfT2_#d zEzbafJo#Cysqlb9;d+CRO*;>0lZZ9EFMfxpDb}K*Y7e!Jj}Lf;z4ziBdU5Ib7B`>A z!pkNcyPGqz5$J-Xb=EK6xhvkhiYfL8#h%bz5u25-A<-AFTR6hm_i|(W@nDkfMuKSm z1nwB{af?{YVYWaF{rOMJ6y3^+VEp~h2qXMb^^mTkh&Ev~9(VB$d#M<{=JmFI5Q0|9 zwnNAO_a&DLkbP%10L6oD#CP)o2OjlllZ}Q>1kPzMl42=T<`EUQr*o!Y_g0x#SVtVH zlZX~IVE3FAL4}|mutNaJ4E{s5v=_=*T4^D%=_Fmh5ih|$G12U%|HLy0r2Gx4yTbU~ zTT!7)@J+9ioZcoyf|JMgC6M+tNGh`vZjN_GA@IFAvK)FV{LPmyRCk{Sqj2xj{#>e* zsq{azj2ui0SMU8K4RjxHL1{>um#_T@9RpYC*3R5Cl)$#x#hgq{$v>luEEZ{-{1Z0q=91c6n z<@?`!Z;OC@)?E@QO5&N*=AA+l4-jmYi68#pXNPTRAA%wH5D6Ms7SRGN%_3YV5{G#| zdWRpDKTI~Dkl(G?312Zwk1RaCUJJV4dQBL?0jkD}dFljV7}#hmFM#FfhSmMCohBB> zOUnc;(vcE?rK@L_vU$BHN`dUg7vcF?KlItw?-Q`%Axe5PXk3t4x}711`j=2xUJjIxNzkyLwfW;seu^z+ETIM%;LAUfYJD)r{}fTa03!l%ifjA(F(Qsk~)}eY3SO zYD+;`vSn^RIA{kq|N3UUe<#*Qs3lTKpkhcFeL?E3J`A^Q1@|uXWip&<5GH)6q{I8( zKJ&->IvsppreAdlzQ{?JLb}#3KW$H-Ci@nsfVSAJHQe*b1cJ#v>&wunfxUd65Le8T zb$;9}e1ubU`(NTN?nwxQN|fYq*b=cle)_q92tnF-nsSKV#=g<%2ka@jdCyT^(Wey#FGv zNJd0<0j|amh768jf!>$Ru}>slZ`J`laD`e}KEP+ipLPU8Eg^N|2A0%i`Z8m{Vi^cH zd88#Tr3W$sfF63st7GtYZzq_4s3eR8L0LJyfB{Z7DcWo55FOVHJX+CDx^Vl@bzJc3a|ReG+OK zTl&xcfM9VU9V0PQ;|77*mOg;sl`}nGa&p_JA)iybnsC6#(B%!&6k$c!!`uHt+Wh+S z=C!^TK(U~5iU2iK1xomlGhpo6K4$v+(?Bc0hCtgVtYvPFB=k&wAs|WeTu3s~i8&l< zAS1Nc6N6yAP(!qbu2oc;&E-po%VE(kEaJ$g*CAcrS7WXlZwEzfzWbu%S^bQlKonXQ zNrX(;H-07+GSk;*+SK%?$IKtyPr|9eR;YC{Ie@3K4i8slxA;EvYIe-ekX)VA5)yAh zp40;a`?9D9g<6Tvw%u2VmS*biJX`Bsbq~X+K4GrAQW79*aD)|l$4m~+9?E&z-JH7T zbY}xOjLQ=55Roo^h!iFm9PEe+RME|E`xn@nW}*E;a1?$(!yTQA*Dne0albYmuZw|I z`8ShK9=^u-m_WkCvm6j+_7NUk&7Alemx+wXf1FdjfPRPT@orHI5kiax3UncjYELUK7KpoDMkfoXq zV)t>wozgg>)Q;0X|GOFI%0|71cWo-J79ppybBbF5EZ&Rf@K8g z9ZQ=j(_#QeHDSu?;t1O0;uz)uvc+D}j`0I4RUr?w#_0C@FR7e#mPXX@=A`ZR52>Gi zvSrcaCs>h%7sC(ffe=i@!dtZP+EusE^^j3$|HLxm%xORzip}aot}Q;63DHsLpaw4GewXvCmWXRu>hY#mZ@lE z-BO~|&yrB?j@SG$U1}cl2SyRny|TF9TCM_bM;}zlGux5J!Z+P-4GP#kPzE23e#^nl zjR+%apw{_<=0*Uk8aC#!4?;YJjhQyu=wJ?a%rNSw4H4v;Jht7E#%lN#&d)F<+x$9Uj7<)5J&||W zuY9z0C_A8BU-Dfb!e z;gpn|1!6Z&;;{F?=i&psf+)(SShsh!;%;dZ0pU}A4-g8(27x7tZC_wUWd*LapLpg+ z6ZxcSDt*t}BfrFEA zN{S(94Iw`wDNC~H9-6!E;%$6;89wgC+vY8+=@yspfP2zY{x%rc?Sq6HX4O}QYKEne zBSg3@`R&*K2ziIjE!Qs(PU++ixlApwLuBQ|l`U0CB!hSCNtoBj?;+w_MLz7fDn1I( zH*9No2Sno9(t9Aa;%Yr8#aP*xW#rG8kyx@{&%l6u%SRwg)wr^AUwA42u*dK6&Z|tF z*hwu%H#TL9fcK<6e_$BkHZ6H;6@K)eY-v_l^qP&q=H(oIVxe38noJY;e(`J3wZw(7r4{#Q#OM@k1xV;;lEMZ;P zW{@*hPAJ|MQ{7J<+1hQ$@T&l!`s`SFzF?so)1LYL_ka7B_}tSSo-A-^_h;9N9N~bp zfgo*WaN%YrR0I#w>}W0X#t8E$_rV?SMKi&@2d9*)4ZE7MtY-6KWv<*Ms*^AUSMHjZ zV|GkXDtpUrdGLFU;jgqsvltI7*Wf+dk?IjstI$_`)FD3c*a7kZpqGFrY^!*~kNX&_ zC|ZpB-ALF6+S!S@KYZs2eocF)mJ;(`lp@m_9l-J3MSMZKX*OTslMVQ#Z}g<#1rSYA zpAw@IUJf^1Ve$@s_qaPpT_h!|rZXP;+cd>v&mU8T1SM_SSG!pj3g9?pyE{2!<7& zJAt@EXT1q^7B;!dLOZxqg+3@u=esQ-Js~PUq?P&Vdgq2-sz$zLf9jA0_3gO8XzmyB z-2v)^*?&uk+@j6; zl+Y9Qi;NyHn~8)Epj3g0?&2fjh2%UCjstCk{$QEo5F?~f6=wlZyO3VczMyu6fdP?o zPll|UMF7QF7Jh3Hhlni&HL~l%4AMmgf;LJ$-IhQrdX4xP0X_m)?A9&`A#L;I0lsBo zbGJSEH_o!ryjm7tGLcwq^?p(PavS1T*t6T_dQpQDQ8e3ih*Tv)sSjdPebCxJekjOk z8^KxS2e91>I=D(VWN5P~wa?cqT~3ngL5)vFo; zkS7a$$U_uYtK1F*L|Yire{h-PBkR-^y~BY7)$8MDVSD6`^=!)dKq zr@JVC8EFiY3fJp?D$Ww_`vmX1DMB*_6<1p|6Zd0=PBoyz%+A zXrsbrc4Vs)Ml~GJt!IJ*Utj`c8)vbD_n5o;#65sx7jG4~>csUUwY9)XD?q~&lsIPo zqb2M2H9sE6aBtt|uqY_hcE5|Ds!){oCw7Qqa>asmTz zFoqmY!2q04%Yi8Uk(1*hFM71O?P@F%i>okf66l71HT2t#FFyfcy%$n{;^w>e5PzC2}`^SNO+@FUntW&5K{nDYIS`$gg+cgGQRDx4t0P`FBAa3#f z!l5ylqqaZ)_CJ2r0o+bu48arVt6=F6m&$)53G|-(VTFa>#KIM(9`w%)5}`}`+3Oj` zeHgMu?0P?(!rA>8={q332+wnn_o@6#@!C?nz?*!fqy(!Z+Ct6F3Ts~eEZ%ESR7=Nun?ja`!0gvafsxC1KwhwHG19{CBA4&X zv$Fe4gku@y0kD(= zgIu2PmpOJ*gSJ6Utl%Qff*x)=3>*NaEJ?Z9Rou7ejb~Tky)E7te%q*F$#Z!jrGHo! z$Z9BxY7KS;EN@!Rm-}S1hZ15BFv4thIU^SPgBWVaqCd+i=&A<|qC3VmlE72|>;4 zB{wty2H~V>d+J&q@#ra1gn0`QyL#0lSjjvh|)G~`~HX{PiFtl z=agdx-U412VnoA(8)Q5b@5W-NTR2KECz_2h{AXV>d2CA&V@!h@FREB6tR<+qMJE$- z@c_Izoq|7}73mGzq&yP>jx)zu_~&zQs^>QWyfdHMP|yqXhkOC?ff;TPnHofV93TC# z1h~bwwhNFf66b#{8NmA$S?{UR;ktlu@`nM?%F^bGPz>3^xVkG;$taD_k1Z__S7B!; zeaSDK{Pk1%p(O);Q`DdfZ(hmwIu~J*I?b|0)C9}ilS{x0RHVL@P1V#Dei)i|@=fv({uHy61 z4Kd}uZfqDCO#$(RR&E4@FGgwwB~O~S!~1&Cas-M;tQbEcC;WI3__VOtwzfYXdDCs z`V!%ws0Dws@MB??t0+Z*tG@Rf30O$6HN$@z6Wfct#v<{LICOEdjnCD^qY%(m1N5iu zvafy;8C*b)jK-EWu3caiK|IIXw}wcRMy1EL3Zy-u8x5k;2JLsKU$*s=U~5|%D1{$G z^Lo8`O?QVvO4u+4Uy8L6D8-ZmYNcz?sUC=tMUYo(^K#8qce%@@QV5K<<$iikq{a=* z0g%ycsa3E)iaf`qWY)BU+B|6Okh!uDZCHUDQI8Sgg0BmQlC@ z3Cjkunu|+&f%W3e#+oo+{Exr4?Ld?RLpc7%qf7Q#0k~FlW&^cRI9EfIV$$aAT{~I@ zCdoNi4+Ihss%dOmT(p68%^d>r8|@XRs9(WXjb>#Bf+40lH;UZSNHRZC#E!%HgYYNifERtJB*EY5cH zx*ex4zD59ozg|`?Bkj8_ZoOR>_EK;MpdLvjD9*6q9Hk}R^wjKa6SCgu%hcq{RsqI$ zktgBwM%?Za+78%3mD55LzAwEwm+9OYZ2lPidb&9)~EN!o#u!~6WJ6`>ymZJsvfBngU82NZBcO7qww9ZhSQ zw;GXu8DTws{MNp3A@kEuDO(uSK#T8M``7jXtc+sJZWctA%tWRZ3|Nw=?l{JVMN>JJ z4Y8H@HS$aVt;*Ksc9w(-UQ((g+z{+0I$TzXDX{9?!ik`!nI6p_TC&6@OQqNo_sKG* z4ZHVRb;HKGzaZk)kt8%#5=cB>(lm`u>6~%xYHY8mYC~ zfO`lM4N;U_sUpGg!x1fLX)6&xH3fu4@Jxd&74P!G%BTBnGjWYKj65?0nL0l5xP@4b z0e3inx?txD2rBmR1L#bXL|G3z5>iW1$cK0_+=!*V5n#-&#)~MabI)0m)N!XQceJYs zn6jh~19|ZXjt2Mlf!AQ-jjUEI5@HFbCV#r)x1aNvh*K9B&u3@;^tC01_#jFP3eYG( z^=-<|6^QGnA#7k8)v=H-R1i&Us{p4Ah!MaQ*Daumk_<4>Fn@6d;)hxo0&XvwJrdpq zxTVO$AW(~Fm4h1Ge&qOQB(X0DW3*GF zoR%U27F=yqbS3DU!s@b*LIt%-N@WEW2cR7Q(QR!hBzBVg(9vC?4qRyNPj;y}kgnsy6zc<>Ch$ zQG<74mH5~(ibh~t62~n_k$29v1?n;%x6wu&mOD%9uZNpgRk5Ug^NZhDS_uUY9C(qp z3#8pNWC7sl^hj_;KnQ(1H@T(#(7{^V8UZ~bl<^5ID}tbjLg0t!i8!I5&zw7vq&)kB z@^kJ4ApwH^iI6#?gCXqOV)W7RpJ@CLJRstW3dMY9s#DmS_742pVeW`T4MUJw^Xfno z(@qIW-4BIe1FR%>B{qaM+znsok^VN?sEUpNrH{WO;yO^C+!2;O9Vp0My4I+SL0&?gaY^fhQ35Io{MJU3_ql-TRK#r#OEEn+R zh|px+Y1U78nQ8+#IP-ywfI0ynSEzK_eznG)xka8|l}?p^3u@xAQ`Ox-&Z+WnG(}Tv zn^0-pW~OY%3Kf-b){h)UH!qnM7kOJ4)S?K|;gk-AN)fjtOCFuS7rOqWRK9W%A^~&R zP+K-yWKw8Xm5l{%w6<%0{+%rGwr#|n_z_{f4$ zLkJTfE(&vw+W;J4P<#4eLw;okvan67SEaYui{T6E1*aK@}a)CC?k87 zpCS7Xgte@4cz-@5T-`yO>&kPkhStVA0a7RBz}Egpk-I&>KhI4F=wDdB?3lrn<(5^t zM$l%ui5eclgWKYR0wIHF5dv{d@+=6E%D~e8{IO?UbqGNz_A&5x*&82)?7x{vq5|q1 z)U;iNFbfHlABe>{7+3dzFebA51upX>7X>aXinJ3;zrwsmCD^Yq(Ko|@q9A!<-yM%b z=ozP-0ehjVFG9VWDbUA2Rzg2VqC}gRPqI+V!XKcx070R?J;)1Tn-KVtfL?L8W8$uc zHZlsyY&$*)!9CH)Wo!QkL45cf*9M~_UTW#CeD9xpL%=WmDV#&_)x?D@&;!?-KY>FZUG3s<{4z7H0F7}TvL&%d^p%dg z(cLj1f?-hs5{RI#@IF~g_aG$2()yWaQDe)N7Sj+*Y2slu`;kqiO*A+%U#|3uFQ!8c zo~yu5^phl=1nM7cqe+zf@~z(@l}wvn_yS`m4Z5Uuo#ay_ietbufs6PWMTEHvREHad zI0jnj(HlZ|Z%MfdY7wOwAl^B_dr>Uk=wKTmw02BTDyJjdL}-&PreR#B4~+PFn2If5 z(DK%YLTUcrN1{?@fD@iI4Tus!0w5+XA<~79i1=j0Z|@80g1AJulWDw*BF^U|G(W;k z<8u|@h}#(r6MT0?q;v2)yII#B9)U{=YJc8|fdU|+!9ZWhQoBez3y5TXE5s4yY-xPA zEE3v=T<8Oq6m$t{5Wc<8S|Lv!iPWx!z(TrnDBVcwXz2lBxZ_qm=_*0@W|7-VUq{ULs+7hCVYc-WcTqf z;_H7=8ljLVF{&POTYRR*2hYR}QpH5J^U$ALp2#mLf{TJq!cs;J(p?nQWpw_1v~+@` z+qOP*5iDx}?H-;-0@%xKoJWln$pfggd=ZW2YwiYFLHFFk6mA+KqoD|4M5x=~LqCtK zksHa+Dbk1*E1jK6%kXN%ZQh3Eb+s*kHHwwq&ZoBX{&3X49TiD`ixu@hsJaVspPdeVGJNBo}~Bh5hxw?feoS09fj zk*Z};q6U5U{jSy(F?!0<}uO4WdYR%>gKxrH9bk(4rqXuwTDT-EB*eX7lHK zWJshL>WNLf)YX?~6KmLrHU-leWQ)T$)!1#RA|nR}!AQHw_yf-4kH{BFo4P2z?-U2vDQ$!ST>FK)UT z0!wG{Lx^-pI+N$^H9DYcPW0hJ^JAng=s} zF)BP4K+4I+{j1MvDk=y}^i{w?m-+;FEv9U1bHb0%omrQH2m3|1lTqYp;GxMEI^cI7 zAc*+d2}Xs2kYj)*gU~I=fx-})JP_@07(i4VjJA)(39C!dn+ivP!cH02_S=%_vas+c zk41L|Y?)uX6+UQaRQP$c);>XJPaH00{3kK{Sb8t@kz54PBf5Ph1_O@5biYHAZ$R)0 zVp!r3d>|gEz%JZ~qw6*E79BtKXa6%$B)ZbS|0XzIU~@`;^9SrFxX~v2395CNN`EMY zJ2{RnFZ0zF(ff*;c{5bu}SXvzvVUvIs67fB}7Lzbb+-0{;OaeWHTE2QLXM z3xhpn4-Sx(@)78#;yw4bVPWf=q1tiM_LRJS?&= zf|zggZt+8sYXa>iiU!LMf|hXP12eI+&HV)ssJT_*Jg1PP+R~>bMWGnp!>iWnN3C>& zCKT6I5;fpFjrS2ak)W6R)6^vr1FA1rNT=E6g}9`+$~R}wcH1`!h?rNbJ}TgR6MMR! zxfY&h=rn)PQXy01bb>&DkM>{LP9Q#;y}jJbmAb{^I=~4UT;p@|x=w7%sqRdLga&Na z@$g3h{*UXYfKOUl1L%=p%@`%|)Ui|A-XkkUtrM_&rp<`DeI?SEWr-YhUvA@VjG za{@E7R2C-|OqU{*6{OTvpgpvW_DADMlX{g0>V~d24gS@095SsWYx<8~ye7 zf30}Z^7AjxgJqaC7f6PlQdV^Y_#+jR*!=D(ZIi1r7W@UWklUZ|gYq&7`T>BzabQF| zHx-z}j5bs+mS9pI)&>FFj6HQq7F@G5HEsWmL=csfA z2v%DhaQ>&mH6k9_bd!hnaVe?Q!$*8lQFTkjvn2SavrLcPwCj+R1g&>0k&#OSN>zV;exG7g#jchHGW~F} z>$PL!+wrot^k-^hWx{^Iqmk4Sp4_FU{he$vjy?dA`ocD%QUL&r2cI4I)kvOf=>zi4 z7ELy{FpLOr2q^L32vC!Ri~{?T@B<93hk#Gp3R1~oDLt~qXaGPCi1Dv`7ToL^zqD~Fs-wmS6H?qtiB22v8&LIOG@`Dr_q!~YiEKwo~t zUc9L61Q6uJ-DPDx>@L-hex7y<&(a`xkc8njc3X^F5h#J|M1zq~BYA~DOGMOHUoMZl z@bt2NdQf04mf>$8aI9Ke&tL_2mr98FQl)5z_-h^epbR)rV7)NlG#=0`94@ZF0S=RP z@z6cv6}mJX*QU6IemL+*%y(Zu6xT%<#Cf^Y7o!?)Ea@VDE;y!aZgVHtn-!5Z*hiR> z5yWA+2O)L;ARR_#xQFTf=W)F0rKuh)IdeM1UP_t&4`!8TRXGHeMvClwpGH zU;gQLbws08qRoB{SDCPa<;Y!}{K`VM59o`Alz;YjSs!GlHytP4luqgUcKj;8xdj>hK?DQ&`?x!7`f-?ks z&D=6Et%=s|xDr-`z67^?VNg>kV1ZdJ@K>~AHqpVU~onJa4^{4%suRIi#)6d;1g>Nd!ER& zQD%p$5U0C$gdt3RB#s9{2>`HZ+c|J!f$3u3jfpoa*vhS)&(ZsuC`DL}EiLCoW1GmH6PTU#fF+75ZX+bqqQOMcL6?5kMhjV9*HHU)(MQ#A-PY^I~@? zLBmY`cxapYg0Z!^6=r)oD*}EXP80E+mJ}Q~O$7jU-33i$U)vC+fdP$x6YHy(>gF|b zUiWKs!-X!eTf-+^zZR%6AP;~=_RXLX7YT5`5O-wdLTFckFpFz?G(-~)brEbyFPpgc zw>W8Dn_egz-1cS6!7reu^8hy2_~u=JfxY3&CN!)ih3psIHR2k7=nzaSFm>YdU4(7f z!E@EEn3GvSgcV0>?Go|7mO<3EqWKTE;u$otw8WD&6Xxs0m0CPFpv3_KKgoFJtslCE zcoE!u?+)Vi;CUSUC$AdOh!`}^##csQ2+1Fq1h~1|w*o1fK!cO-25$_k%Eslst(t*a zcExSb`br*ClNG*w`i+l>dt^!x?|1XTUDHHHP?D;w^g!4?kZwd%(+Lzjze9eLjbQp( zq-M(l!qw=%{^P$}?#Rz2Qeu>!3N_4WLnNyNrC4>LbH}T;t@2a8L&P`Lcx2vEN~y1T zGoK`%@ta48a*DOLy?6t2M9`W-u^&ZM%Z`B_R#NNgSRaexB%E#g%TNr%4D@U1zI)0 z>Wkp4zUOlUYM#Iez3uXoRF}4p4^0TY*OOG1j{`*CxxsLtL>trMV?Ie0mA6^Q#QORI zQy@B+i%#j_2(?7)h+7;5eb_MD)#+_8r#avRUKxc)mK5r8h~ptb?@Q)}FMlS=urE*F zBU2Xbuna*+feT5nh)gcn&OOO+c)4G%!LK^3nK$$J%~b%u zN(T%sfKW?Bi|0&^L);d^G2Yjn+0rK&>=U*Sb_Teu+fqNX8FNmHHUmz;14@YNcp)vf zKgo;3570buZ42&6w&f=PfK5N`R53O4&qRbR=qoumq0qh!bsqA3iA9*y5Ww3>4Pe}J zpV(yKr&ok;%|MDr7zQJVf?DK@rzMYVlYtQn+|lwy5-f%A*1&N2qIo-qxDVk` z9vCQ30f1qBWx}iJJ)@2Fdb1Bvn2x;C1P+$hY7)Sve1y1b!FwF=Q7lb##v?$OO zztsDd4=PlNc1gwoz4&sUj^gu6`$`JgYUc_WBf>&m9~EjO#G)fpSa>}2Tp(Z#2nQl} zq2S!&^_T8i;oyNqmZfgoTL8?6ZCYPo2GX7O-I`a=;-O`j$L#~yl^=Htm#B9BJ-@oI z==nfG_6oQ3E`&yZ*uiile~N`S5R%whmQdY1NMi6F+DC1AnvRLChiS9GJfdrM0<MI;hl=1APhr z=J`QZ#`j>i6g`stoTXDIXS!)fYVRHuHG*|oaFos}@_Y$d65;#+toQ;1~c0#u} zENN=4Eb%DexOaNvV1`kL#kPn#GcAb@>ASWN%v=yka9gjLeNE|eo{3;D@9G`JW)c$Z zP;*cWqQ9ZFdBL=5ei@iqIh(5DdvE_Zj}No>ZRMyHOy|yO5CKkY*2B*@*X$4CH5yk` zPj&k-dT8Vr8Q$$gOqKB#5-?`B7WWZy5X5&-VEQq=a_iEZ5jiVZ6z6)Q$Oc3v7V%!w zwpjpSm8{O9X#p3?Lj#&QfF^?i2%aKgwv4tl$+s1^JfdXG9x@RE;(+S$b9yAQX*+AW zfl<;NEC-pp(x*a%A&Fut;~T4*&n6`(mhLE7jPAnuxyF|j>7qiXzxa4N?>+cJY{gZ* zqdaX?CfGxCC+Ia19T=UWRn2FC|0Mn9_87(IT#XIXd$0P&Sr1zebDG9n=Z^WE%GsYr z%HoVXoKX_U9<5W*7clFTfkV|keLJ&IXI|iX_avmZ?fy=$jJhH(W(R(v4o+pmyk&2VM}QkhuxyQAi* zVILigL|F}6=La*XPF9a~^iEsS^KnTuLz@c>>H@)-X9Mi&hkGI`W;R6aGbT&hNm~0N zR&{|Ydz5FIy-thcvez4(rY(Z&U3o%@c+z2jNw)Vz7RK|_7;rQf_GRt@x}2<@%*}(v z#EWG9MCDNVVY!6ByWA@tcV%uG_7Hzr`p0{_W{2yV=mzVMTzrDppPQwWXWTW(>K1| zrmQX12J{b|F6cH4n*phU#JCO3MMvBRj z4tNr%jkrPxV1Z~|e&C?%*P%TphXDaX3Q6um9&;ix5H*l&Vy~g! zNJ7%}V#;LaJdzC>J;S{coM$XVpSEBgUnMvEWgJF|uk6 z%SrA^_*J5^&SOK3dRczoZ-+o`wG?M{ARUigWou}wMWAALsh4H=XNP$nFi>o6YX(&9 zdr4&K)U@PQ8&85a`)5TlE*zEW(%V4Kd=6UA3$=pK{~lD!fPE|ks%U(@HUL2QN7Y@g zN3Qli%k55^Z$DjBy@7=GA+06Ch|2soTLSkFzbm@!@)~iM>4!yNa2{;?9r2#kH+4?X z85PTCSelWsk}>KU6*S_#N0-QBq)uT!cdXBB*Ez$N77j{JU)rxW@R{w(No?N)ot{B3_az2!vZo&&$2mG4n>``BV}rezRQj4{dHs#}-WZbkcu^^3D>poF#nf$qr>`b-*a?silXa4R1xqz`ZwO zS#NDtJNw&?*eq<5+kD9A(HSf>9rL~IV8<{IrOURqELi>CY(?W2WKA!bx8a^wn)Mz6 zZMuJiCie|{f}*zKG(2>vVNE1C^APsZo@Mv*haISx51|-dWRBeT0%)22^N8a&_XArw zpD4O|&F+R%i$(6@+_h{&ZNhPN#6pA33&*<7*XEvDR`tuZ_WOeIY-Pw*z8X3F7*Ix@ zZ`cILKS^&_(adhYVZ~V#A^Ad?*;_NC?y0$Tt5xUAIkg9=$gKJ~f3Bmp_Q%<6N0gif zItA_R!h15Lb}CVvg*@$2@5ds{O3;^-RY^8}KpAjI^5_cUY95x{@8@H8><+m2ChO*H zhsETTn5H{Derr)BF}0d7M1^v*E>2sMnk7)&2lLe{s1p_GnJ_`oivGtU+Y&yKIjqnJ zBQ8d0lqQr5EgGBGoPC=~9I@D4m_QzSX>*Mtc**K}rdTIDto7D=R9~q#MV}@_S+v}7 z6ne|)$SxDmpKlhTF|8YKd|krV$bxaK5rac5@1<;(ZkHAY^{naXTMelnr1*qq;1qrf z;_gw0I_g2FU?+Zxb#bS4eyzj3^HjF?rd)fERI4Z`9$J(3Qo(() zTtC04a5BWW>*H%pMGp#fggt&nyCQz0Ck-CXfi?AM!@ZrYDmwHLGf!&?84FI};0_C4 zl!Y{@rYFAFp&R9E87;Rt%N5CHYp3PD!Wzk9h~6g;d++v_T}+@@U~p!FcU9%Z{Jl2croE5W@j;h@GcEezK9xejrkOno@k|!#`U8(;s%l5%t~e^TlAkj zZB1(#&spP*U)z)*o|8Ig1aa96B*|~?jtc5nxjgu@Z+V;;kSd}1-TElW!?FQ)xw*PQ0>| z?2AA_gtxE>^JdHh39ozcSJ-Q%jhwIxU0_*Z$>X>%G82Z%I|^vJ($npXDy|3*njS!o zuRd4xbjzTdLx5-;)FSGvRg?rIHZh(QJM*?Ebw)R%ZtO|M^Z6cprgU=wYQ@+B6CAFv zFs33-V;h!qDt;Fh6}=JF*u1=Wvi{-uxud~ak*xRbZYP1W#Ll?}(IacnQLlXqFO1!&(=e zbAJK@j1gpa$lQUcg!XB)5qCbF6N+QhM%}pQhZg*^<`9yAdqYO zWOncaX-sb{y-|((o`Ny##I#h+0Rhc=}cq@=M$u21ASRSFzmc zDWc+)Wr>E{A+KDx%XO#GjG&r%Y{`i(F1Y@@^}JldV?rq#tBt86fP4*8p;o(CPx~gj z3h$IgI|yj0SLtJYeM)qXy}c$;p}qZmqIk_B_rnIs4ksf$zArI6DOECYsi*@1KaZI| z6(8!57IU}xyP&Bt>OfNCx^2@~>AIcIQhoXRvJ+JjMzco7+pkB)GN{yec_Q=e2(@IN zti`rUbjLfV)*xxP@#@XsRkfGO<|Gyo%v1)MFE8r#t=Uj+0h0TA%Xp6rDai zf9|*__~WeMYeNk`eOBl3UiMdzU-AO3%rdbAkLSr)w|Q33GdyMIRALwb?p9A)v3T&= z`s*6Gw2K|DlL;#W$>d|sm&fOCZ)le?2lZ(vO>QQ) zVo@^Gi32kRoCXZYlI7i|NSWmg6#HzI*P{5C!b)&S@QKoCS|V^V*p+!@8DH<2BeyOP zZc*3LBeCtqXcH#|gt&N_twY9GBu*!vG+^JreS%B%z*DUxcRA-`|2<+E%;CGMC3hiI zXz!j6K_^!Vf>My9bHnjkbaasJlAY(dhO|MJOiWNKi>%09#QVugnao>c{H*M`x%S&2 z5l(Xv^Tmt)uN+T>Nh$F0DDjg7y2X*Fbg*N@e)tm|S;=6eFq)ZQm^(TpW$ZV;e0E;D zSGJe~fGkdz;diyidTqzf{En||@hUiP(?BIa-G(OCJ?%BLSZ$WC=T`HHfm&w?(I6PY zFS6F=Yr@c|eVZkd>uQW*$58Y~Y2*4nbT?}%$bR}Jd2dvIRp5S|pt%t?1R?y*aAaGRWw+dX5DzhJNoQ%k z>9OLuQd2gxnV@uxxR{TuU7AmL;hvC*GK6)eMANUrKga{9>*ImNI>7$0+Ca$f;Ms|? z0Dl1aDHx^VhR*U_S`0QWtGKe>+wRj)C$stjOgK_^eF^U7qwH}ebH)q|k#IhY3LJha z_ynp3wYn|f0u#p+bfddn6TN4Nd4~59wi5%U+iLoDj;>VRRNU#KZBV7E4c^+Gr8e~i z2d|8?scdu+CMYlnFUY1g)g1K*s@H7p-yU7nQ=4g4!j|QsU>#r|vf`MPWcDU~@wBlf ze10D}7vq-}==$I&`0{q}->HO9R6zhM4|`Y7-*|-l#eF)EsQ*?_YZ3fEW%w^8s}jdF z`UHswcEfgw*SfTQ$w}UM2{3PI+XaTCX(7kiuP1`GyE+y0c&A=sKTSt5Gpz*JwbLvy zTHY*yc7%EBg~@~AK3#fy0S`@89&8bf7wrORuXf-M`EoD1dvPW9*Tvl*-qm(_B}g236uGQ0(v_N>s;_}?)nHnfkqLP= zkouSpcl6s}OAUm{ow0}pi~+{#JQ`J7SQ-|uBBG{0t{{ji#xq}4nIs#_Sr9j-5hk}dM!?Si=3%oEL*fl&oi|=NiQ>e=hC}+ zCB@iNjybkq@}kZ_z=YOK4&*M~e6!dw>BxFaj)1b-2WL2XjB4pMP){zu5DR>G|LDbl zRQ7n6=g@+MKJW0Xwdnm`NDzy3m2Ikr?2G#Z(-{OSOmuLjgU26Dm?eCnf(KiJ)7^hx zrIhWPdO8A8D-_Ht>MGO&5pG`gZeCV~k0AD*7MIK4s^sB2XgA5Cj@Y|i6`2VeKy2b{ ztl!(0vwlFI`VJHMmYNf`_dSQp8ciWIE>m4{`$sqOtdl^M=YA}k^3?KlrPZMc@Qz>c zQl$e!(({8H^0Wwp-iO$?%+Tv6_D);`LD;ac3c8s}buMWLv>wP)djO;z)e3B6o)CQV zkl2IY0S5N(l;ZEyT-8rEB^0HV?lI)m;?BAI&Hp27n1Zpi8%1+v#$)2RROSSOF0YLc zeK%ZkqqSRepF_m#!uJa!eAawn%{%c0k4+VBQrzss(-dtz@SqKpzY|r_Z3LbBHd&r3 zPmQlhVmRJhDW4L`%EV46mxHv^WO(m!%wO1iV*3FtspYva5p^nPP3w3F;;M{sn8Tc{ zwxu;ltib6CNW3+j^L?j`_DSbq!VK2Ml01cs!X2;jkacjkCjhjDu{S*Uqx9(Oo7z{6 zT!%w=+izCa`4r~^E50lrb|o}-^LBjg`Fc2L z-T?vsGEY|u{(Hu`Q~&@Fqdpfiz(4cP-;MsBfi4kOMww^-gZX*I{4Zmdm*iEuGv#)_jh~iZ+C3fQQ?Owmi=>Nm%>-}IQ|N=fj}-J@prVBTn48G3T=f#lUzbk z?FyZP>iyH`J+O!Uzrh(X+0d0yf)ObAC2iYfyMj}q{}t}-iDGQ~rQqK^j6(d;E>AiR zwUdNOH~)VxY0LqC<)`1z^Y=t{Y3OR8?tg{-Bdz_e=XWBYUwR&S|1|#(TA<%G{JyF2 zOT+HSm4-jJIR5|V-r)8V`X6S!zemXL+&`-O6b=&_M z^tDUm&vrS(RaY~73HEfdxA*#IY=`vuEEYKf0mm_T0IENbSF`r+AK0HNei8-hYGPjA T9-!ix1b~f_<6A&QDB%A9U2A5y diff --git a/business_knowledge/L2单词表/三级单词表原始版.xlsx b/business_knowledge/L2单词表/三级单词表原始版.xlsx deleted file mode 100644 index 8d2a888ce1163c812eef627221b5ba885990060d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142739 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 bmh$iX-gbmA*1x>2BsL$7i z2|EDvMc@$Sh#%7$ZBQE=-c=~@jlHQpxU*Z~la~x$O@#v;N4fnokC0-$A~FO35>p0D z6RUt~QyQIsWOy-a4s@GCJaZ7eFMk1#ExoMnWQjP&0+y^wZD2AQxjMHxZ`RsL}qTuvL~XTUhWzC?ATb?+@1M@XMd%F zq~BdT*FFzXB2|=+jTu#zC**}RBhFQD1{VVmc;uz7*4~hk97D^6tDCt{PkIs9U@TWl zK%L3g8Cb^miF3o}TzcjI2>UnL8}qRb|Ftg6(Pbd>KuKY3Q#rUKP|)Im>b_W{tECEB z+$nh+sMyvz*&x1@*a$WXe^6$5*A8Xj_shX`#nR`XKYP@Y7%A+pU;)^8^Vrn95q#c@ z_^%-ZxBY{!2+$sHWq7(&g|9_FS%<4MG0b}nii2*@vn;snZ%LBY@dqV%Wa-1?bQ3_3 z1L8v0+T7HUv`~)fqMFD1e0SRhKz) zMe177BxnR$f{7LBT+_>gN{3Dsv+04V9tzU2Ck&)xPVL8lduy!e4o$^tz$`Wz1^zi3 zxSx)=Po^kgh6Pist1FXzEG7W|^sIw9RBr-3tv4Ehq!)b4U_vY=GNGDmV^5N`j`Pw1 zRlC2E+5r}04am!-h1=3flH>^43(Acuv8C2rD8b`D1mg)ahaoEdq-ge8Dg3*j{;XO- zORld!=t)%=?umgu4OWdR+CKnYx2N#fDsylkh4-0tQ^LK+!IjB|(S^WlP6y(cWOm-1 z#BLNTn+_VyeI}@ofOdbSXi#%V3?aP1A0179?Ri0q#xGG%>nHwL0K;h>9o2#o%9Kp%gKN7KUhyr()KO3NOO zdI$y!5=MYT9iHQ?%{|Jrh@iN#jVSe%PAeN0cl^xS78x-w!#qal{lthqqKpW-T#~&W zig^o^m1aa6wdurIJKL|gY+@06Ew%L`9qW#&w%F&DD5xUQ$%j}SN*=ekq0gG|GX+Ud z%tC9Q%|cjROH&fu&Z&747jn=Di-2QBw~Bylpu(y|c##iH3r)gVU? z0rkhO-<#ZerZ@8Awcb_K&m4~tk$AYRwKzzQO-8DTIRFND2dHtN+G^8a^_<`YDwNUX zv5H5+j*_E#gNmCmAa&+|e{eqBM-vDycj#lUVY#8H_Zn>v0+D{&=mi~uKNSSZjgGvY zOj!ulY{fJo3SWiY)TWALBpMYdYOjT^M{&7NFLqf@oFr(1=jz!wY1)R#-e_6+mP=&> z?#}WLbTb^{k$RT4^Uxmq$Z0qw47Vv1@??Vwxvhh|-F)#|1_~e;OXTQZ19mv-l@x;A zywgxfBG})X8$4q!0Hi<#*=!QUv4_$M)B#E!9ELJ(gnY59}J11$5i9 z1FGdlpI!tc$4hC2WZx6>|JUbJcU%A0bluJ5wkS-3*m|4*!)6IOAv>Fdi6-FmxaD zbHY=T){*fQ9mwB`-xLzxfo`Lx4FtRT6jY_7Q=B0jx2aSj@x$3#?zH661f-t%9DFyE z-VEfdxdX+2_%HdwkE}74q^!Yda$&Ju;}IWq@|^~c|GK3-w{L*~a=V>TrK|X@3OYWA zWTY;{;E0ymJ@R(v{jD$`t<$-yeJ*Xp7EzE(9Euw_Ek~R&_}b9WQ2i=r^1N49Tk6U~ zH<4d$XapA_fOx>vM2=D zirP;43J7J2UK??vC<dj}qKmU=hqW4nTszRfK7`lW1X(Rt$^$X`$_nmnp;t2+CIfDwO^Nbxm9GZ=QcfSR@ zxj!CsgFkrjwR7=`+Vdypxwb2kUCo@@FmlU$DGh5JFdGs1t+V26p8~tyihW z&jfOE;ZK`{?4HG7cHTx%{hh~)C1>_`M^Rs7@Ob37-4qpvC#nY{7x91+M;!(AU$Y8G z$(QS7NO06)*DXBz;+QzrNV8+Pvd>Ao{tPc_vdyfw6=;4V!_0!o4b(v#S(&sURrdh- zVO%`NjyEw9*dY9MB*9kz15T42Xh;EzjowjtVlMUo7a_GF1v+Or zB7sDEvpK`0Dr9MeHJG9qa!4D3Dgg#Oa3X$Zo3dg0-Xmx-ZL|wMxaXHFc|5loG{wW9$7V?(R#F@P7m*)`z zJx@8$F}4w^ibKVnF=V+?1+F5 zzy?)tB{VjD~x63%L=D}!-QYhP*2S!yT&66zzfq59ydB7m(a`Cex}Sg6j=q%37Y`GM}; zW>&@xb8iQBIV#k~-6(n-yQr4o|N3mLwBqax&6}?i)8NoQ!|ETqj5j__3KMHm8-0f7 z4Q*F_Lz5&(uc}gk4;6SXpJ`!Tysy8VHNkCr3qMRv z)IhlSb8!bS0Vt!;(CWN?qi0&DMZ%=HgDZPgPB9_F8=g^>x|Yr~^3f$YfV_PU|W zbb$dKqDtZ#Ne$f)P=F3Si{f{{m&6*`io68AVeaV`W80S!+p5%0OVS`>3Bbs!akO8` zYgSJPOktz3EnZ@SuP+5Qeu#yoo=Szr6`J#WiPvBN?%jO-{5MoG1m+m(C~^*a+dIy; z10gBOX3veiWj{-k|2EAqvJInAU!(y_AJD+Qstz>j@&tkS4M-0NdDk1jd)TfrrT{Gu zKpF=CX~JPIzdElxgaGlWyZD#QbM)r&Qy88|^*}Hql{FTtYEOGnZDZe4rn-djekaF$ z5Bp>?;Fu~dtU6DvpbORXQg)`czyAA|c4(%lXu7&|}~+dX>$@{mXo@y$#Yalc=ig5+j-ndgGDuPx4hDPUVy0bCE=&_mdCz;hq-F^`$PAekzeez+T51zp|38iLtg`&P%Ul`Y$|vt@EHMM{Q>~%m$I}35KJZ~!#Z>b0xLP4 zTx=$*x>Utp=FA5fRadXGey9tU^4(F!dy96!X<2+4GTs8;8A-aKws0+A?HeDznaTfDQ9U2UhBtdri z>_Rxf;YWNqo&9f6+*9>)D-HS-j{8q(D9*UCIGUWP!>+*OHbL{htvRh@A>iW-j7HTguT;J|Z&BP-?gU`A)v;$Mo7Ad!xQRO)uj@9nd%d?;cJXkk^3f&ll-E%Q^yT z^AwKfC&#PLU9)nD2R1!QJx%%Srro1Ak0NVgdECm1MC~th^*>Vg{c6{8y5P&L$slym zzP`!AH5Pl84|^~46r%Y`elD+l(DE(_Mc=(hxN_^|;X$`#djmm=>bp7AV%zd2e_ z2)Ef+^C$;CK_H~POMn2^O;l$f_k$tR2S$0d04mPGZ49M7*7oQAfa!;_YJ=n)2$J)Q9x1O$@OQ;Q1kYBXuG55UK*c{B z_o3RDa+ei61Q{xtt2B(@-mGZ?PQO-naMGQ6LYMtKf>TJMSDBX7#@pqr-B=EJ^%Ak- zBbbtWYJzb%j4e!I5gQ7Nj*U0(wM+tbYA&n66Q}eLH)YFdfW6Odn7TT6ym*yWO&nEX zR``KfYM*#}@W;b#u)fVc1J|nk2vvDf%%}qHcp4EZ58Rr9z_rwZnGldT1 zQ^hCh8*4#Rwk#L4UW|lZ0?;L2e#^T%kXi%sU{(qr=wX_ zEuQJu`%G+fQk(pak00jO%B4ver+hE<;L|2-$vTMaSEOvvHU6nuK;oZf4Sm|k6#6sY zqeu5lvH1m&!)*+nyq}uH+NhUAVJad5UXjqJ;ke` zA5{8o)i8%*T|(D6LK}ZuDX)MQSQ@G@YKa^}-KHXb><9Cr`LIS1PUEQQBjgPJHJ|;vlFY?+C_6vP2KM-Gs_KwrLa-~ak)ug zvqb@P2=fE+*q%W!ix5y4djc|Wi_{KW#Wr|$` zM)cP&q8^D~8&o)+DK!OI8mNk{VN)HtxPZS9!VGy^#;;+AiE2@TpheOb z!s~8m_sm;237}olwpFOxP6%$ zIa;b{6S!<#VC=C076Z4fWnfe-=mYQqX!5^?8W7r_Xl2-f6%=Ku#%AOA^hF&&jG?O~ zK$e&W(6W|pFs;^0u6x+#C4dWkU8q=<-=v#Uz|YPJh+OU4soQ&XwvB1W6d%`Tx1Z%Y z%hG<&I-0vm>vlU-vXn1nu$46g^n+!b(&@5OK^%UB{|vfGY4Y7jCM`TVvOX78|B;!`>{e`K z3@{OE#SJt2p<`vMsoA}13IJh>UD_K+q}GYg<_!*~3t|uzO+qqLrOg3vr#V8gl7;6GRYku%dj zR_N=kpb+ZH&;GK!b}>H#-NHg$*UTgb@9D?fs)2S~^Vu|AunyqVPrmcmVTCf&%&^(M6-n+KoccY@#27ZS=p4t99^< zL&{FO#=k^gJ;@P^<_egUQONI9+Lq|ER^>ZuimJBC7vdaxDeVsI%IN(x)^)cMu=!-s z>{7EUypAz&wbz^%Y&25;23a!auH*#;*%U>14i6Jw<}?OX`ugudI_hdWj`zrdma=Jq zM5%BiADXtwcSFrMH+=QX={W|?7pqch#FlOtowR3?=b2${B5bz#3P(WI^;S%|p5^GR z4nhAbjtI#vg@TLRz7o;*YZ4OG*9g!50vuoS0`v_BQ|i@CK&b)ABYnS;7wGk!E1>{^ zs$@~OT^u^j%+|Gf?HQ8+&$(gQHvk^u_$qA+B7_S?C6fqRKqf7;#g{d9mZG7w;jA`6 z%g8ub2i_t&ipV z_90=$q0%2hjUO;ygD(z}bQrpicBOyCST9dyB+Mrb~8Y&)p+k! z8lL?DF`g@;t}#4+>zwHP{0|~_&xklYY%I=5Nk1vFv%1YTke>g06<^C=a+YHokf2qd z2>^&fI5Kwb$2lDQeWCO#&LAK;z)Ek5kIDd1Wrn=FAsYBs_HP=0OG3$`5YJ)eb6bwZ z{aVZozedGC^cAM9hErtEllP0Nm+@VlIB|xkRmChnOyyxLrL`$8 zv&$fYgm1_!I_FXwaGH7_ntDLc{NvN9LZH7YBds9?wqhzRCnel9;R=Euv2%irn}B3$ z-{Go{xcTxqSoRfwG5hUtq2T!c4DW%!_Bd)9bb;|7ZXW~+GO$TJQC&9J9Znb6J+n!< zMTza&!$o{MDHcHe_Xzz$5#Zg(f+qP8j&f5frIs7n#r;jHl_|5xF2`2*R5jO6!9iP& z;Qx1Q;_u4K{P4Q{-KFHee~cq2>y8n>{~qjiHXQsckNDf2AMu+PeSC86<4$6`e8lhJ zd-`FNw(@g-S9Z=V7W~~>aE#dBlTU6q_+fnRVEv^d8LGJJ7=ExfTpsaaK8xZy{Nc!cw=m3 z9D3cq;aK?7W8u1GKE$wWlU2Te^ERXFUc)8zu>+WBu}A6$&Ha<_mg-N6>Fes*CLj+4 zng7m{U*;3Fk!L>r3g8v^NuqnYm`I@=3*wItUi={ za}z%=wpDjjd~$o-MTd6zQJO&nYKmYyrI4<}N|(l#?&WRk?ydS-Dk?KkZf;zm5FtFz z`2EX~bLsV$9;d7o&RB0HJASV-J&%m$NEh&Ct&Kd8T4s9STZ3De?XP-T>EJV%a}O86 zTHucu_SwqWcl&7!HDPbm50ESB{TzO;VOX+)LGtgwRP8Y7_OL8rD&pRwO$XimYay&1 z`@_R)56<%zx=$%dwy6xQZQb>Hb^YTSf7(or*REAixwVgN2y24Wm6u+Np3ket>`OmH zUFFmCZTj)(cfos0RmZ{t{tl9v`BfWfm2cPX=bhG~!O)tCT_Jr5jX5caktU1ke|{Pg zE0%!EW>~r5Lg&EFA9dvA~W81dXv2EK{P*5-&VSE)fhMK0r4K!tH;&sW7ZAFsQT*Vo(Lp3i&ho@dG(-*0VvUe7M^e7dH&ElC5GTW$<#h9aIy@p)V2)=s@ZW90-N|t7d)r9zJ;<0 zG7uV+$0mtD68n8l8Nmn^RV<@%-QFVGR5tsES&*B+^Wg7@q$^f4$-@ndD}Y zyf#>YKkq!vXYv6U|MsDqOn+`mswG-4HdL`tCpC`Yj)J>WW#HJxpkq16gMXYy;!5X1=*^ zUfq76?|n+Wy!6e878hjn(6v!My5Ecc=)~Bh?&>A*u;m(qh@avn}`sF zO}r_?kR@e{KiPmqL^=0LMDAIII@P@Pe)q#@)HwD^4?D}%fMXv45ulc@tOyJn=8M49 z$dyLmXA@r-OLJ~hNRL`);f=Du42U608!R~?FG@MKr8y+Q`K2_}<4U;%3(PE_z|?0~ zfLVc|RGyxsO>|sSd!A)gKxh(rRA-`5me*FKIaq;#X7z(4DcRxpP zARxF(AfP{&iqC6@gQ=dqk)fiay_vO%!=I~ymzTN&)@b6@o6yGZo|%MSIZ1}?>rXRw6+LlCoR;-YD%*`Q+IRxlCCp;KIwW-7`J7;4B}@_|GL`Bug2XvzjGM%q|7{j-R$J` z`i=MO<4{dS?$!!O9zA~F-t;(weEvAR{ry^O6OgkI)YZD<^6V~I*vHH3ib(A7s{-9K zk?w{4eJ+#ExD)wfTYowrNA96hY3BT`(DJC44wvWsh<{1)_{xdo{!r`G<+;o4WwQF( zDbeAy8}MtpIUV=cQ*z7|_Xmp@??=CeDhgM!Hj;)e`Og<>H(3tI*u~^V`#++R6&+{`G;4 zv3{@hr7&p!?5zT1c&h5|9u}t-eLkMibzXM7w9XmiDhf+eei*`T1k$TuhxQ;s-D7w7 z$1fi*V$E(Uw?X8j)HS@V-}C)%KEywDs)@xN>UtNdCU-k5qne!i!UBw~SgIxlJebnM zq*jY*r&$5ZlCIoBE!>aIW zB3SFvQ$6Q9s{Ab)m^Uk!52l0cYh!ciLyoVz*kpAjS-4NhCJy3BOSb!m61^@*TP?#~ zSgu*Nw&L7)$bGsr?{!C=t$s>BN;|d}Nx4vJQ*$R`=jG;`8p^Ep?jDeFem_Aov8HV+ z%#WRT!M$YBEMIZJ>_~M(r?qA|ufF(X)%PUGJWsIN4GD|Z&mS)4)gjQqH~OGlSzn`@LJ*g6Tn!rv~9ZiCN{|IJnU@;I4)H zKAyk9CBmsO{lVG=lqhT|6W*O9;pIVsg~Vfiln2er&WZ{%Eq0*Qlkb?Nt4#^*%38_s z=)HIVzd|Pn>-y9s#KTmT_~NX<6Zk~oYvX3bh4|b#WF`St_Crq zN0=t%Pcg_b?i=(md9lOOBA8;80}np({VyX+hCGr6jaVK+L(gt(zho3p=LV>}wZooG zyEi(aG6RTV8cbg>>t{Ri`Vlv$_7e{fuh{03>@*4s8oy3YF8W$_?%y<8UOz&E$8R1z zY1i{qXYg{?nH{NQC}C9vCfktI_Y|i>mn+WlNM8N+N)#}&T7p2)UX1#gJhp{DNv%3H z*1J;p)uClB&Z(E`1{{;cJU)uuGYSi0jdH+J)YxUeAW`< zw_m8f-$cm1d&IQwp>n)JH3dr5?3yi@XOKPubNb{Mjm$HGs|m2~4qmwuc!}W?>QzD!sT%6(Gy} z=&)+2$}>o{u%@e2#m(48>LDn#qN*t;dih%TUWumx6J}QL63j0-_vGOzKjm4O5%l3m zJLuy1;yf6wJ0jWw@vVne+U#}OqkTYkYJOz@XiG6q4 zlx68q@bW>eW&Qhf(QVApVf1^e+{ApF7tdkGSm!ApgRlB_MH~wx9&9>OGyqaffy>}Z z8KtO3kv0{*?(v@eAhQ4}VgLTbRj}^M&-rk< ziq(2X@zpfDl?O+|0EWuwRWGdSGHhE*(+2+1jJ(W^B}p?xm-vvR&D$GwlmM73>QNH% z7hIV2eTO{732O4YF$h0r)R;-T-`28Cs|Xgx*8EKnZq7(T>&n7DaCK<`M?&{Pt*CF6 zghl?5(|0@@E8$OO32TYmS~Nc!uU7=?Ur{?H@!pN8z0!+Ikw6DlH-+}PXzDHRa2u0CH+tQ zpWJIR^lD9HFvmV#ME8}V^HQek4=}rx9XIqj#LH2#vIadu;)~Z~w#hZu!0U*uIyAzf z>5MF9B@0KReT$j5xayS^Lav{9#Rmks3SNMvoftWA5@kC$gS!EjL9lejY#uqWho;VZ znaMaJFt3xc5(xxfW#*kUPlT!EdAPOSOSB|*Km0SX@z=&1e`C196{6tcck1>|QxSwm z8;5!VWgw0+WddH@gl`3RAmTRj=go}VKF+sEaNZ|oXCPPIby-@RyaLH_phVg1^6pv3 zZmIaXNm?;ZjKEYJLxd25P(^V^6M)F zmE5&TwZ`n#TO+kj-ejUNlaud#TS0pTT+G8~j%*$v`yvdJg&yu^cN5l&RdH*HiU&|! zTx0XUuVj@B_^pu%tWDt^c-Dc&$)JBzw}Vff+r5uAJIMCU7Ip$AlO;RjS1Pj7BOF%K zCfjogEgOd!Cn2niSLoRX*^N~Z35#GT)2DC0Stf1)J9>R6visWp)LPA2b*!4W@?_+} zg)XhF*wEm{>pAX}Q;B4ejSN*ds2JU`F8q-X=GyLg62r?VyPftpI9y#TN0 z1g%uuO;zR!`En9i?5Iw`A86NBg%lTW1Nl40O}uQ}#3GP2H96lXBHG+ISte;u)V#Y1 zn}6v%pP6w#d(Tfbo*_YXZ*sp_N(H*@ZnJLn;!3buRR-6W-tlx$vRSIMU0~BK@ao+u z+4BdfG+mLy2}8f3P0C@JSGP3vDr`(NJn>>TcRUS7_SW~Z4P;c1$2vHM1hT!`<6r!H zRkC*cL!9-yyTOJV$ugs)pe~ODos$TM)TP6-gX)g-)NjqS3@MF{U_Rtj`deKUYxDf0 z`yrkJEU6LPz7&S%2%%v2<|&(PrBW0_d^TMZxX|dfCP46F5qD-Om~37~R25jpWo%U* zsQc(i35F(1x_OJhj%7B0Y$WAG?wl_6J9>&}j*I(g7$N;a)q9WWZq+`!Xz;7m>O-*} zzvuZY_Bc0cfs2K#N*S@SEYGZOPY0;L?(Su3=GG~;RkIOK1rY^_eVtX79&+xRn~t~y zDSMZ2NF^$`59u>|LQLdyua~n}csFAaYq^*vIA*<*b(K9;5?t_` zXX`#7q5~=}dsSZcMtFQ^eB_#^d{eW*jUhkxS-i%V1Y0!V-A4yP+*4oQjFD*$Z403r zc%;Y!If_?4I}EVB?dAe)oi>Gx8j4!CXU!rjOI%@ z2mKL{cb2q=BUZNvMFd>rk1Z%U&@)n;kh0+EZ18or#n>1G9&CaPkMx)XLp^r-eORt4 zeJFYa<=D%W*n^C53Le&w@kdn?2azWKL|bra#voNl{K5in3jL%_?1U?91>7;bUq=!b zkm)#3$oOt(KWK^6M=Ql1VujnaXk_@(&kDdF}uvp0h#XAIJs z@Q8A18dy7qUKRx*{ciG4R54Z*r5A+T4PgVSN3<= zrlIQPJd!!AuR8uoJ=hrrWMdz=lFcWsoI31;0?~RxU*R;llLCKB)QR?sOGybE2-Z>6 zI7J>s6`h6O9Up=SpF$&`?+(RU>M86%u0mJv=EG^-k3bzd@qbW6`>V8L+pl}zYx>;EHF5ob-JQ%D;3+$0m0gA$2}KbQrOYN2otmob4;M zR6cyUZ9^`WK4J{d#c3k^8cXeb&+Z5^iYuei1-@GqU9E#uy60f3xL0&_aw}PKTN-6W zVgjM29o-mWGCmgP)Gl7{9Up#8qmd0gopiAN0IW;9p10OyDdAp7Y&PMH29L5LvmaX( z4ju$kv`}tpD}!G#b7+N`zq2b zzNUs)Fbk&Jqj$fd$n`w`A_Bh#gk_aI!LjA#Vi@M|q!kt7J*7afr{zL8&<=z7E635(4p z=(K@&|u4Kj{w#TWU`@|}lUsOw|nSU=x@(KwH9X|)Fa!H_FF|un+ z1+*n!UmYnCceLBi{F;-KiR2wihgQHy9d|JjakAJ%80U+9o{W8Q2KS?; z4izw{fUoH%8sY40L}hAbfe)w4e&_5Y%ZW5&lO<7Pe6<2kO>r$pO@`b7YlTo{s4xH@ zXLYNYCPZF0MjgB;?a`9o!VcpG_i@Y=G0OegAfUrP{60~5Dk}x-@_tYIK0GlWiXB;2 z9BK$R_jYlQ(H~nSur_{pSg%bx|K4f|P8goR-9Ofq7l)!IlbWv@Zp$~P+GC6`BT?YE zV%6pi6W$`Xc^<>RN~Syfn$M;Tk!mqUI{L~RzZ2BE8T>)6Nwa01GL+%DC(C_+z#fwe zXY38}Y9G&_2|p*k`lSXpPkX`r5t@X+kV=jMRw67r6FJj#ROYTHPb04IR4S-YP!5Fk6yq6F4$#k-}Lkm4yvj-&@fV=?p(u3KPq2g z3X7Z!l?<@s`AG_(KQd;M)NN%_^@*mNT81mmm`g-Br8U9!MvdWe-qs=ABV2zW`AT+t zYxe>9hq|+c+6Pbpq&=>wmhlsu99;YhB#K1rTTQZyPL+^|C0YKeQY1j(e@SfR;H3q=|&=Nz_)&AY^=L_c%wW|AgmEme#xM! ze8-815bPi$F8tHA$_}zI!}9HxtAnsN!Iw5ih(x;~!A~e!txkEQ!@e}5uo>pL7)2Gx zzlWnsZ!du{#YLRtHskRNBvU3UU9!kj9(GnTl$g)mN{X4zRVvh6dM7SP;(Fv1pF`7i z^FjXJWsq$WEGwNb)~t?J+Nf&X+w*fAVA#9i`f{hre>Et$>L)S87UdF0o|m?`SbT+N z5e9cHy1|pa#0Su9__qT8Ru=R(Af$BhcqRDwlFJxx-uxsa_imicsj=ZCUx35ZtLIhk zvriH)hwQ~iiKUZp$;$15IH=o`7KPm6B{zSAGJnYW86Vbp6*;=N6kyag7PpKZkIpr_;A{Z{~ ztlP>;w+B|}otb$Cig${o#oDp97qA?hVb$MyBZ=@Qz1A4fEgqiG=jL>)BvUvgH$#d%dqeH!cUx z>ja=)?=-aFY*e984|`LE`T*BqpCN4b1%r!Q;Fn*>DZu{*^vFM|z#b1`C?Kz`&e*B1 z3r|TE0qxKI3?tEk%KO4mXL5y#Lgvn-uc>V`2m85|Ud4KY0!pGX@Q$K*vaL=Z?VzxG z7al^KcV-Y{V~QM*k@IekOa-M%ge1T|K5lwrMkoQMtR>VNUDN$WcQ>ew38&|iz`e<1 zJYv6=v*U6^eok^HdB&+?FyA(_sSn{xKGz~8P@a3yp1=8^=cY=&C#kklv4eI^qys$Y zB1v=(}B5$Or?@C->x3W~*FKR{T|9qmB3} z^qW3RGxLE?k)72;<9+KlQkEpkWE!jD*yhW1E3Rv}_@oGp+1uHel8i6BUL*hZh4v-L z!d(!KVdnI>0VJv34o8`}OFY7N6x7#PYV?JDYXq4~QfVG+lq!2xSs723yb>kxmh;32 zl-)+#^U&hM+JGd`qaL)Q$4d6JCdp%aYYiFj!0#m?siKL?%kdlP_YxSmEBDT+N>5FR z)j1yVH^BD%O}3py*e)iF7Iq3QCJtY^8j-cjV(d(y=Tx7W1O_RS=fY2*ZH&{IC)ZPe zYL-^7)GFo&NhwO+e)eHljY*w>`oh?6QwDaCw=_0l+D$=HEOMs z7bo~gsBJ|)-{EfYv^}Cyt=k(pkU#C%1y$JLupU)7qKFR*@S5p8ACxh#&n3y< zFR)k2RbP)7_LXCcvw^GyhDmKeN4XH7jtyJY4OwyRXd4CiRk!+l2Z1a!@v(2HMYHN4 zWT}xkZRs__vWXkYzPW9M>N3%|>j?wHW_QLR`O)`09@6BZE*WY12>;bPr$=?BG*foY zNEHIrk;Z-2+aVgJQ$g$;(yDR6*4~k^;@(dbO_|}Pb$B?u2;j>~^vIZ9ap`Iayy9Z? zOnOI|WO|sG#Q^I|TdMa3S{M|y706VXvNy*k3^o1cmF!ZRZ(K)hUJb-o*e&4+!TwvA zC$Boz?h|wzDr$3FDrUVT=0Z6tWh`~9uOY&)7A{x(gDAqmbQs}`As_OrK$C@+vzmvK zU6Hjs#s+uElLiG+7CDiT3=hsXQKdP)?4wJh4;mlq$JvK%G$sW*2ST?=FIf=>6MUI) z{q*lss1-p}&OnGY9@54~ypeZEsBTs9al)oR>|!E1LKMKUlP<(Yi`@ zpBY!UEtD>7>Jgrw5|7MoeSpXl1 z=xKg$bBTSqRksvJdMww)9$$;d8BpG~5wg+bkpFsi6gbIq=b~RU?-;UQhZALyfl}Yv z;)c}8SawNI7$1Z`wxxn(+NL&(hhru2eaU98#acY=gfh~4KKi8|7IFA}a=sRQ-KA>R?|kN{dHQ#djG$p9nPY$uue=s-?OJS^LWsT!Frm@|T$u`j z3d170#J=8ACK+;Q*zbV;U4!G|%+Xp-LU!*f;TUt5xg+>#ak6oYGrc9*J#R$8ME-KxVOEfis=gy*EF!$vga8`YG5M;_{U%&)ozzv3Z^Dxd2aD4 z6vE#Z8t-4f;xRUdOJLm5`@G!a0g7ma>F=&B?$%2&$YXnTt^Me)$^eo_ml_PaV{Pxf z&mdiLF=x(?t#u||$;8nDaF)cu*V~+t+Cf5kPQAex@W)m}Fa#qPI7zz5# zG0bOEg27~w96R~RmP$>eT(}(OI^OX(vC`3pP3iYHz8tA=lJ77JGU<8A4Z|}+Czw`o zltyan3*p_3i~N({9JOiX1I#6ApEP=L2DvPCuJ$l=LvLRO4by5ZZ}*JY97)JZH7Ra( zEJJ>#*3Gt|o>S_i%fk}`wT%URrK!O85HgagLkfbSF$r*CJRoeVypu$&ubYfiL5+Za zZ(tIgxtdGm$ChV^3VzDdyR0Xh;Z=-Zp+-m@E3~|nd8;rDiXg9)6mf9DWM=8IHO7pX z=+H!kmd*q`{a$t)X`jbPTWhi-$%bQ!(Ec{-&u8Pdch5 z3f`zE^NL`9L*C)FVso-YR1(e%zI7|}4o*{q)S|j7;BJB#&G0EBLfqjq-G<4LQi2Vh z=Z6=@Oouo(qEO++WoB5S|MvGU1iU(M>n)GP@na|cG(Q7t|;3*6X$NQ-UF4&;nfosnsEb2h~-5=dJK$ zs{}_nHN0uC>@q6m!mjFl$t`a9>hfb`=Iz(Q*B+D|DGohFKt*G=dz%Tv+$XWIP`IhF z|8UXa8f7zdy#1Sz2`5jCMseMu{L$5YSpep&itsf*Zc?2d${}0ZTwU4` ztfH2DI)5g`;~ewS)8xrUHX?JL7o{0QEET&oYorr0C%la?fTkeP@=|$EPkvvpfngYc z-R4}iKd+cKVZuaU1~CkX=Y|(s%2th!UEg-L+pZ;5R1uGM$xadt=Xpoa!b8q(pu``K zo+64gA0&v-vVIlVy~%CDH=?~Vz@&S$?AS^QloX#@ao$~vvIMVHAe?OdH6*L=3wS-c zrlGoWW8@CEg<>@M!X>5o+`3S%EncBi3zDauduGmWz1q*{p64ktoO_7VNyzFqy@(sD z0F42ctzM-RWSWkR(}TJzA)MOaD0BbbJG@)bbZf*Witl=hVFwN1Bx zj6@rzEOozs!;&ik0^RSY3deyF)|0>+@Xs&vtz^(!Jh+&l(R9S+j=nz_FQxDO9xCx_ z=-Ji$_Wi!g)i+h0czfOa0!9?bk7+6fl$m*r4acT6V>!Fa!MDna^FlwH0Bnfxl`&SF zR`KE`U;XVx{32F<)?Gxtvllu_-XAT24^$ofuqR*C03IOj-ID{m*JuFa6>4sPW0<0$ zgv?j^-kW^dj<>@r`|ZW-s3D~tv|g(tDTC3>6FbohnNPH@w?IgoF+43%{v1+8Oml?% z%d72~*eoxDn(S5pjT9>^+$;Ri3o`hQVY$j=llnSKyJNChF1eU%y+hs?6w!(SRn3F& zJ%i-)6`Gf7!r_f&+7xB9v{3!PrijAPo^ev7@JW0P z!5D@3yC3Z7;K{3F1Aa-ydc0AZw2raT#efXiK-xs;+N*my{%ZRrr1!@12qt(ibd)_; zJDR;1DwBJPLgM#yntt7cH(6ijPx2H?@h4v6M(RGwG84R6-^3q{Mk_dJh(yXywe7!? zWNucupGN`xP{)r~LTSRgxUa5X=nA1?1b~*sJ2t&u89#68vK)wsyqn8TlBeoFcV4sy ze8=5VFceYoOAmeieXWinUj|u#$KSf~`8my=EqNqNG(N_3h*GQeSg(S`Sl zzx`SVwy8Ziv#Lthl|GrvB)l5}YPHnM&$?f?utIoDmuYju6$WmJ@BJl9x1B z>@Jmi7%JN8xF> z{`Jd5f&wANs_O&(@hltZ6FAs?Vmq}4E)-S$?N%Z-{E1?gr4Vvn9vA3n(M#@{E}NOA zlC8k51=*OfkZNIfMKID{@!^@yyT@0fIe%NYby-7Tn5?(MD^%0aHd zYzJoKx#1u|7#bcTfGBL(II#{1+;ci41{~yZ_h`v+)-bzawres&nwQ_9JP18KJew8p+p;c8nt_b{+zFqTAN zqjCcI5FIWZGHtkA$ihV@hYm^o0t{^>Fga&JaL> zyNB@yehqkq%r`GYCM)(udHlaX!F~KJnT&uz>H4Vx5SrF0+GMnD??0GSl`NM?wNPIA z3q9kmxfbxQO`B84axZ+%fvG+767;@xN<_N?6*x5;`i(N8v(_<-5gtdYbIxELn?Q(t zBSA8?R(VO#jFD%~daNDd(Vt=h!GjW`SUnS1h%#HnBv60-o6cCl~}VWcHKXI zf+xRn1~$hTiK>ELK*R8!y~T}Ln60yo42I8}1&&H{nd?KHsf8}RQ^#1CNwo z!R18e6Z>&1=^?~feUf__3t!N{+qL^^cPwtCxhATNb}FFDksn#~artW6>*WD9+2Y|g zkeqg^PqHo7p9eFmzZZ|m@R?7%s2-IDW=#IB6EDwO%Sf~JS-vS<-r>_X{WVx4XMr+m zd3!9ksmjY74pDRg-;U-X({MM`DZY89Bwg*pAY?)q_jDk*}^*_`7s`c>su062t#?4QMBZ9 zJQKi!$S2~CbRp=?SE)?#IJq!zyyk}H5i$d-ag^wQIK*U9%ejS-7i4Z4VK~~d`UcB> zzB{5Zqqw(0rfG|pt@6E9Tw(lxX0oIi`cZ66GOt2FH+TqH005bQyzm3r zyD6ipR@+1LV3IBZDtW0`DP+bZDN33`VPM#^@IB%50V+Q*slCkzo_sdC>|xTmcW`uq zFL5BHL7SIwTEDUUn%$vb5@_-1>j5{pPBXg3-@b?^M-fWBYI~5Nz}}-R8gJF|Qv(Z) zTwF6UI@U$HnIpv>-W!IWgCP4*4D`t`r4>hWz92FGcf3CMo45xU?`|>z$>uX(Js6Hr zItZwf?xDQQ-4@npD?lcWCvcAS$x|-fWaDKbXXM-9&AZxpw0#tg43M2u!CK>OIt__3}t6?j4hzT3d9p6_hf`-D%8PgIRXC!=lj%rIBI-U&23W5WCE9-(}b-Bv@-%1i91G_!#gics+RyvxiY#rC{oIx9kV)6=09 zpJvtMu|!L0cFRu4e^}JFz_^bt(O$0fbFZ#l*EZB0A3QYS4ez`hPtE*l*vPj1(Oa`U zlx4LZV~C%Z5r0rFXp>`p_t^H-r)BmEBtxfM2K@8}MFW5K>E%$|@=={FaN01X;A^8m zUd1%PVlC8_m%qSe4r61Ph@$@m4%xFru8&LHqR9y^aSh>}*`^kOd9XT&!SjxOcGzka ztPEf&n3ZH{Z`iT22o+0-?$oVdFtgyRq@L_~IZ`>dhJa4qM3&qP%e#SpmcuRI%gG7L zgvEBGFYDJBkfhl3mx~oVMget??~$DZUAosL9tvHwL4O21^>mPN8b|E(VB8Rd^5ICI z)qV+Jmg`X)*!oec<5f3k3J;9`^!7L8zx(kboi~}j0)P7Of&l>`{N=~%VqMy3B|)X;fnv&MGa1fG3D3k1rP4 zfNJFn>_x$;KOZ@nN!B*kbVsTbU5s$_R)CV!4N$umB+*W-*tc!Smq*gGsP77CcY#O# zg1)@IeaZF5(?yA~2%H4Cu}C|VJ*i8FfrzLka&n94B(@F-(CTtl0WfP&ICMI1!6(!U&%J>XNL)eAWwwU^v6DO2RgU|?1VUb#S63087P zEHl(sYl2gp226n3X0(zR9*9O>p`yR4Oo33_y zC!9xNul&hMCNR>O2T7+^RnpI<^Kz+vmF`SY@ojh?F0M6G$X`U9_6SG*^<2An+XSZF-d;@!M+F}g zHB9bdPo=sByo^5Cz(pt~E+*|*FI=N-@am)<&P|ZK@>eUkuwSDLOK@EION4ryM;JEu z*S$h;YL8z!o3+-9hjG?+fr6pFGE3D}51`1D(991MOK3D5;|5-ppQgZEUW~SzOzRp` z6y~!!=Uw-yr3r9?z0~mqb_Nugs~f$TsOJ%3ke0S5v#3D^Jcf;EPwl{7r}(IzZUV!b zWSXM68XeRX(yL5wHDha5o^>s*=|a=-{3J)&-eC|uLmP`_z+sk5_=Yng-`c90;}CxBH^ z%Di}jxHJ%d-g7H{RweTx21*_$Xn@5|LXHbfRty9rYkLg%Av5)igdHnPRy*gyaaEJe zku8(2J|c#VZcKNq{_(DnM+9%5w+P z@8%_h{OTzL!v6VQeP%%Rtxv;#Y`AoMn}P0lOzMqYRcP;2E48C*3M1a0GYS0M`hkNR zP*=@BTSz4Q?fTve4L%#3h_+d-V?FwKli28~(psZeTA?qd-Lw+t${$~{-jF@pvM*@N zH6hXB34D+AORA$)hIm|~dn-U6566uR&9t~}m6Z+PvtIZs$ftX^mAm`;haYP{zWo|f zr%68Sj$UpGj)3)H=mv{=fptJ&f09j1dxG34!~ zU|eLidcc`S|A*gKjfY?&9?uFR1lqt9*!o9-$f0kRclMAQMTL|^LjvrYe7yqnK@nCK zXo@Y?4aT9n$RlY4!S!ww`uMlhThNVqwH+i;QYtXv0dnJM=X|>~Vu*|cAP*ae$=`bg z9-*z#q`o5f9gv`=^}~)tkmLuSaqaBnu5Sv^3HmBe_A%Ai)f^PZy z3vK!{wKMZUg~Eg*lVmV;F!NDJAp(6wO0>2wFccW*Ku@;TkOx_7lLJ1fK&-f0w9JDp zxj^V5*4=MTD6FsfJBU~5ygNTLatVN)tG^|V99r}951l_5VDOSVCHXV^W@P7qFy;E0 ziKuUE1u$3x?d_>Lfg+-#kc_p|-fb!NNnTk3<5qSigp>yM4iB4x_@_IvVNh5ORV#8`9 zSkFmnry;xAUXRn^MtVPvM<95ohax@M(LYsK*xLwNenuF@h)#QFeL*C&1^x*%RFGNE z+XY0l-(4&+0`MK5DTX3768W-@FvctK>6Jc7ate2r5D$wRPavHzKGU9AZ1~~ud+!(e zzAmrCMJ(Eo(aQb&SG{juPp7Z*$><2#Szb3&uLWFYv|3qP3G8ML@73Kp8C}WWh@G-v zdPp!^;0zV^-bZysy4`Hv-{x;ad?XLV4u$P6kd~ne_G4t|cs>LP`RRV+BbmKS z47uP%ERE!WGN{Jg1*9tO$PEd(M}c7gjA_t7SOx_MMR%m+kz>`qz()lMxtq>)3<}tq zQWM_=a0@b`{zSiyxhlTEN6(f2wo@Pia)m7 z@NsbUA{!%u;LY0RWAi?HTv{;#qn$=B@=BrZ9zAqlC^`J_l3l#t{#$xt_A4nd;o-u` zEc)rK{^Cp_;PdF2xOEHzXpQ;@H+4NvAWQi0r{h3F4{K?iWMf{nY)1q@B7j;}mCxNX&_^3icJy!@y&< zB~T1SNR$PS^)tR-aDPn*pk<`gic*V#rMPCu?_2Ca!<-Jzh@RIHhd~JBm%~3aF;;59 zjH?d@)ThetnhPCaDjXS$1eGJDT1cc)?Mi5R(JYWUF01v!952o#d=@KYzLoo?eBbdh z7kyL0$Fj`xt^GkAV#M2XA^j>7KaVnva@#wAiwfi(Wv9gfyOZ8m^pn91BiLH;*Xf6K zWo@&~Dc0kiwO2n=#+XQcU3;@Uy=J?Ihf01$vLi5$tGsy)dTnoO zim^2umn*8qH%_d8?$Kvv<%ghNvJ*+5^k1@>PSa;A#Ld8nrwi)r(rwRCcX}RQFMpDle|Bl&4_cC{Eerp+NQr)Mdu=@ zo04rGSo_(X{##(c5f@;MmN-t^Q(=Z7gp(q{Z1z-1jxU>&S-6;;*MKO1rPEr@dhAYQ zC>vK!nrm>2GSs6T!j3Jd2DK68=G8Q#5z%zfP8}U&X0)lXY!SAe*UY*C?J$)h@F5p^eS%UvN>S#A?cIY?^G?OsA4Z9^-_ZZwq?p zhfOF(*|3>W3G${hSqkJGl1dZg(*v&lSXaKN5OTpJOWy{ypwkOzR*IhN_chL16YC4| z#BpdAosig`*$8N;NHM&6Z#FFh(a8AibNLWw=1iBv*t)g?_4x7+7K=VxZz8Tr{Um#y zatqkSG}vtdoDqV%uzfW`c9-bycNfEpe+z0Yxz%tm`J4>HeX{n#}sCEf#Fcr0mAPW znJ&(8`P%*ay%Sc1$|9UZXklxyLibS(SjN3@v%(lJA^9!~H6>87&lQqc6SQvj=BN30 zb;ut7GMuFfaSATm=sIAknmb_ZNhz-e!rAXru88)u#yvJ3ot(6tk~<2i8gMMwT)j%v zQj}S$4<7r({`@Lj)@V%?X<>+wNrZ8VU5;nI3f54l%16vAC%&wP0k`>q&POgiO;=HQ zVH*7OX!M=Xk}NHE_Sjy0GQnlt%F!zipVW$cm@tw^N;6Fre2IR<1f+1hS-%Y>@pkQB zX!DzX>hFOhG$%76U?!;_Nxh8OS_*+ZW)WtJT}TZher}8o6wkbv^>kH&9ntw1w*>LA z$%n?xFXLG1du-F~0Hl5db~8TwTKs%JRny-<@i+#3Ikj_4Be3RGcDnW071z{F-ErT0 zZ@}^nAtwn8g7S~R;=ed3{@ya5jROP>g#VdqP5#Gr`b)t7eZ=`A00;>2^EEj3&++Hq zmHvGM`h)mO>FNJq{&B|qzm)wsCI3o)l>JGDHU@I`HnxApyMNagFYP?Q_}Tr~K2OpA zF8r51vVVo?+1mc;iGN48M|d+xexfx$(MbPL^xw4&{rvTRlp5IB8~rD^(@<@&&}YHG zPxzm{|0n&W90c@V;Z6>YHdg->@SiRGiTJPd=QvzG*OoqqoBw|+Ax-?t`1JSV{QE%m zN6}vuW&2my{~Ff*F6ZwN?EjP#691p$+5ax#@2evJl;G6!mxTXWBl-V7cFD+pK>wSF z<==bA->F#ssnPylVgDp%`FoZBzTEdu0kU2H(EG1u`+rp${txmW=}!x%{MEvLzz(KH zMvnixZx`YfUdo360hP>x0)6{0;{TT@e^0VB-)Sqwv E2lgw8JOBUy diff --git a/business_knowledge/interactive_component_reference.md b/business_knowledge/interactive_component_reference.md new file mode 100644 index 0000000..7bd2bc0 --- /dev/null +++ b/business_knowledge/interactive_component_reference.md @@ -0,0 +1,339 @@ +# 互动组件内容库参考 + +> 来源:飞书知识库「互动内容库」43 个多维表格(bitable) +> Wiki 空间 ID: `7487521512283799556` +> 节点 token: `TbbGwZLIVizXeGkMEKQc2hKRnCc` +> 生成时间:2026-06-10 + +## 概述 + +互动内容库包含 **43 个多维表格**,覆盖全部 **42 种组件类型**(27 中互动 + 16 核心互动,写作互动与邮件组句共用 `core_writing_questionMakeSentence`)。 + +每个 bitable 按 Season/Unit 分表(L1-Demo、S0U0、S1U1~S1U12、S2、S3 等),包含实际生产数据。 + +### 数据读取方式 + +所有 bitable 通过飞书开放 API(Bot 身份)读取: +- API Base: `https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records` +- 需 tenant_access_token(有效期 2 小时) +- App ID: `cli_a931175d41799cc7` + +--- + +## 一、中互动(27 种) + +### 1.1 对话类(7 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 1 | 对话互动 | `mid_sentence_dialogue` | `LhU4wpeNKi0uV0kPI8TclEpSnfd` | 20 | +| 2 | 对话朗读互动 | `mid_dialog_repeat` | `XOxewswJ4icydHk6ED8c8HOWnRb` | 18 | +| 3 | 对话表达互动 | `mid_dialog_express` | `BMyCwJDBvi4EckkkErFcQerrnOb` | 20 | +| 4 | 对话选择互动 | `mid_dialog_choose` | `Q8p2w8k0ui1DmikWiKYcYwGsnOd` | 18 | +| 5 | 对话选读互动 | `mid_dialog_select` | `R11ZwjwvOiLLxPkzYl6cD31fntz` | 18 | +| 6 | 对话挖空互动 | `mid_dialog_fillin` | `UoFdwE5BRiVZYUk3BdBcP1NPnWb` | 19 | +| 7 | 对话组句互动 | `mid_dialog_sentence` | `McS1wfB6UibdEVkKFZgceQl0nKb` | 19 | + +**公共字段:** +``` +ID, dataStatus, jsonData, kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 教研配置, 标题, 情境引入, 互动内容, 后置对话, +父记录, 角色物品配置, 隔离区 +``` + +**差异字段:** +- 对话互动/表达/挖空/组句:额外有 `互动反馈`、`语音识别热词` +- 对话朗读/选择/选读:额外有 `资源配置` +- 对话互动独有:`学习意义构建` + +**jsonData 结构示例(对话互动):** +```json +{ + "cType": "mid_sentence_dialogue", + "cId": "0500001", + "title": "表达自己的感受", + "sceneDesc": "...", + "dialogList": [...], + "feedback": {...}, + "postDialog": [...], + "learningMeaning": "..." +} +``` + +--- + +### 1.2 信息类(6 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 8 | 信息描写 | `mid_message_trace` | `UJq1wEn8pikOcpkWmHVcPbp3nrc` | 14 | +| 9 | 信息拼词 | `mid_message_spell` | `C7jnwPtShiaY74kZYgKcl5L7n6b` | 14 | +| 10 | 信息组句 | `mid_message_combine` | `T0mTwpwx8iBdA5k7CsYcnmLjndh` | 14 | +| 11 | 信息补词 | `mid_message_fillin` | `T1muwEylIiIjvBkU4fRc5dntnNt` | 14 | +| 12 | 信息填词 | `mid_message_word` | `RPI6wMCEribBuFkcQewcCavdnNf` | 14 | +| 13 | 信息填句 | `mid_message_sentence` | `HJ58wR5imixNBzkttticVYEanSb` | 14 | + +**公共字段(14 个,完全统一):** +``` +ID, dataStatus, jsonData, kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 教研配置, 标题, 互动内容, 互动描述, +父记录, 角色物品配置, 隔离区 +``` + +> ⚠️ 信息类 6 种目前数据均为"测试数据1"(ID: 0325001),尚未正式投产。 + +--- + +### 1.3 图片类(5 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 14 | 图片互动 | `mid_vocab_image` | `QU1rwIIcgiucJjkq9TmcPZ1enSd` | 15 | +| 15 | 图片单选 | `mid_image_choose` | `EZ4Rw6kXeiVsTiko688cCMIkn3d` | 19 | +| 16 | 图片多选 | `mid_image_multiple` | `VqFcwLKa2iSbEFk2jZUceRtnnyf` | 18 | +| 17 | 图片有序 | `mid_image_sequence` | `K8CQwPudPiTccFkn76YcztEQnBg` | 18 | +| 18 | 图片拖拽 | `mid_image_drag` | `WfK6wRnKaiLcfUk41DgcAcnPnId` | 18 | + +**公共字段:** +``` +ID, dataStatus, jsonData, kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 教研配置, 任务标题, 情境引入, 互动内容, +互动反馈, 互动描述, 后置对话, 学习意义, 隔离区 +``` + +**差异:** +- 图片互动独有:无 `角色物品配置`、`父记录` +- 图片单选独有:`角色物品配置`、`父记录` +- 图片多选/有序/拖拽:有 `角色物品配置`,无 `父记录` + +--- + +### 1.4 其他中互动(9 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 19 | 物品互动 | `mid_vocab_item` | `VkcIw2ajii87Z7kHKhEc443qnKe` | 13 | +| 20 | 材料互动 | `mid_sentence_material` | `NSjmwmASBiyPkBkdk2CcakKlnSd` | 16 | +| 21 | 指令互动 | `mid_vocab_instruction` | `YA8NwTcSbiR7yakFP4kcOmzbnlg` | 17 | +| 22 | 挖空互动 | `mid_grammar_cloze` | `GkzRwX4QGiAoZzkfiRrcV0svn1f` | 18 | +| 23 | 组句互动 | `mid_grammar_sentence` | `EJJiwsTQ7iYg0bkG2PEcjYfNnOd` | 17 | +| 24 | 填词互动 | `mid_vocab_fillBlank` | `UpSJwR6yJic8FTkn7b2chK4Nntc` | 15 | +| 25 | 语音互动 | `mid_sentence_voice` | `UMp0wGpruicY5skBAbrcC6Usnxc` | 19 | +| 26 | 造句互动 | `mid_sentence_makeSentence` | `I7mWwwWPVieCJLkhgU4cSr7XnPs` | 19 | +| 27 | 发音互动 | `mid_pron_pron` | `Zi9AwZb8LiMgtHk5xCXc0vuNnIb` | 15 | + +**各类型特有字段:** + +| 类型 | 特有字段 | +|------|---------| +| 物品互动 | `学习意义` | +| 材料互动 | `互动反馈`、`后置对话`、`学习意义构建`、`情境引入` | +| 指令互动 | `指令互动`、`指令反馈`、`后置对话`、`学习意义构建`、`情境引入` | +| 挖空互动 | `互动反馈`、`挖空整句`、`后置对话`、`学习意义构建`、`情境引入` | +| 组句互动 | `互动反馈`、`后置对话`、`学习意义构建`、`情境引入` | +| 填词互动 | `学习意义构建` | +| 语音互动 | `互动反馈`、`录音文本`、`后置对话`、`学习意义构建`、`情境引入` | +| 造句互动 | `互动反馈`、`后置对话`、`学习意义构建`、`情境引入` | +| 发音互动 | `学习意义构建`(注:kpListVoacb 拼写为 Voacb 非 Vocab) | + +--- + +## 二、核心互动(16 种) + +### 2.1 听力类(3 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 28 | 听力拖拽 | `core_listening_drag` | `K3QrwQnWqiPBm1krhnNcWDTqnhe` | 28 | +| 29 | 听力选择 | `core_listening_choose` | `Kwrcw6A4jip2sxkdLn4czd1knvf` | 23 | +| 30 | 合作听力 | `core_listening_order` | `FrxtwNRQDizqiikPkATcBzTCnYe` | 24 | + +**听力拖拽字段:** +``` +ID, dataStatus, taskData, dialogList, questionList, learningData, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 专有名词, 互动描述, +听力材料, 学习过程, 学习过程配置, 开场语, +教研配置-互动配置, 教研配置-导览配置, +用户任务描述, 用户任务知识, 角色配置, +父记录, 隔离区, 题目 +``` + +**听力选择字段:** +``` +ID, dataStatus, taskData, questionGroup, learningData, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 专有名词, 互动描述, +学习过程, 学习过程配置, +教研配置-互动配置, 教研配置-导览配置, +用户任务描述, 用户任务知识, 角色配置, +父记录, 隔离区, 题目组 +``` + +**合作听力字段:** +``` +ID, dataStatus, taskData, textData, sequenceData, learningData, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 互动描述, +听力材料, 学习过程, 学习过程配置, +教研配置-任务, 教研配置-材料, 流程编排, +用户任务描述, 用户任务知识, 角色配置, +隔离区, 题目 +``` + +**taskData 结构示例(听力拖拽):** +```json +{ + "cType": "core_listening_drag", + "cId": "1000113", + "title": "收拾书包", + "sceneDesc": "上学前,爸爸要和你一起收拾书包...", + "key": [{"desc": "", "keyList": [{"type": "default", "content": "red", "desc": "adj. 红色的"}]}], + "resourceMapping": {"Dad": 648}, + "cDesc": "You listened to Dad's instructions..." +} +``` + +--- + +### 2.2 阅读类(2 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 31 | 合作阅读 | `core_reading_order` | `H6DJweNkpigCbak2Y5LcTZ8Vnfb` | 29 | +| 32 | 看图选词 | `core_reading_imageDrag` | `MVo7wugWfimJPIkxhJCcqppFnyf` | 20 | + +**合作阅读字段:** +``` +ID, dataStatus, taskData, textData, sequenceData, learningData, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 互动描述, 互动题目, 任务信息, +分界线, 学习材料, 学习材料格式化, 学习过程配置, +教研配置-任务, 教研配置-材料, 流程编排, +角色配置, 通关知识, 阅读材料, 阅读材料格式化 +``` + +**看图选词字段:** +``` +ID, dataStatus, taskInfo, questionGroup, studyInfo, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 专有名词, 互动描述, +分界线, 学习流程配置, +教研-互动配置, 教研-导览配置, +用户任务描述, 用户任务知识, 角色配置 +``` + +--- + +### 2.3 口语类(6 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 33 | 口语快答 | `core_speaking_reply` | `TSwcw0nFmi21khkpUndchNMsn6f` | 30 | +| 34 | 口语独白 | `core_speaking_monologue` | `G20HwcF1uideNokLsHWcBs3znvg` | 28 | +| 35 | 口语妙问 | `core_speaking_inquiry` | `GJUVwNSEkis3EXkrVj0ccbqdn8c` | 29 | +| 36 | 看图说话 | `core_speaking_image` | `KBOXwzVHfin6ORkKbA3c3eWEnoh` | 29 | +| 37 | 口语探讨 | `core_speaking_explore` | `HoidwhEBWiWjaokQnz0cHbhTn6e` | 27 | + +**口语类公共字段:** +``` +ID, dataStatus, taskData, configData, settingData, learningData, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 分界线, +用户任务描述, 用户任务知识, 角色配置, +语音识别热词, 通过规则 +``` + +**各类型特有字段:** + +| 类型 | 特有字段 | +|------|---------| +| 口语快答 | `exampleDialog`、`promptInfo配置`、`专有名词`、`任务背景`、`任务设定`、`学习流程配置`、`对话角色及回合设定`、`教研-任务规则与NPC设定`、`教研-用户视角任务信息`、`示例对话` | +| 口语独白 | `npclistData`、`npc站位列表`、`专有名词`、`互动描述`、`切分句数`、`学习流程配置`、`教研-任务信息`、`教研-独白配置`、`示例独白` | +| 口语妙问 | `exampleDialog`、`promptInfo配置`、`任务背景`、`任务设定`、`学习流程配置`、`对话角色及回合设定`、`教研-任务规则与NPC设定`、`教研-用户视角任务信息`、`知识库`、`示例对话`、`角色物品配置`、`隔离区` | +| 看图说话 | `imageInfo`、`optionList`、`questionList`、`专有名词`、`互动问题`、`学习流程配置`、`对话信息`、`教研-对话配置`、`教研-导览配置`、`示例对话` | +| 口语探讨 | `exampleDialog`、`promptInfo配置`、`任务背景`、`任务设定`、`学习内容`、`对话角色及回合设定`、`教研-任务规则与NPC设定`、`教研-用户视角任务信息`、`示例对话`、`角色物品配置`、`隔离区` | + +--- + +### 2.4 写作类(5 种) + +| # | 名称 | cType | app_token | 字段数 | +|---|------|-------|-----------|--------| +| 38 | 写作互动 | `core_writing_questionMakeSentence` | `DVkcwVr2giswTckcgD0cpHwNnv2` | 23 | +| 39 | 看图组句 | `core_writing_imgMakeSentence` | `BkmtwUBwMiHd5Ak7VS6ccE9SnHd` | 23 | +| 40 | 看图撰写 | `core_writing_imgWrite` | `KwPHwnaqdiWlvNkDm5fcFreDnQh` | 24 | +| 41 | 邮件组句 | `core_writing_questionMakeSentence` | `M5oTwUP6wiImC4kVJU8cRYnfnyf` | 23 | +| 42 | 邮件撰写 | `core_writing_questionWrite` | `Brn0wldKYizsLZkBqK6clp1tnKd` | 23 | +| 43 | 看图拼词 | `core_writing_imgMakeWord` | `QDyhwiY7PiSER8kHGZncDsrinde` | 17 | + +**写作类公共字段(38-42):** +``` +ID, dataStatus, taskInfo, textInfo, studyInfo, evalInfo, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 分界线, +任务信息, 写作材料, 学习内容, 学习流程配置, +教研配置 - 任务信息, 教研配置 - 全文信息, +知识, 通过规则, 题目类型 +``` + +**看图拼词字段(43,结构不同):** +``` +ID, dataStatus, taskInfo, imageInfo, questionList, preDialog, studyInfo, +kpInfo, kpListSentence, kpListVocab, kpStatus, +单元 Unit, 关联知识点, 分界线, 互动描述, +学习流程配置, +教研配置 - 任务信息, 教研配置-互动配置, 角色配置 +``` + +> ⚠️ 写作互动(38)和邮件组句(41)共用 `core_writing_questionMakeSentence`,通过不同 app_token 区分。 + +--- + +## 三、数据覆盖情况 + +| 分类 | 数量 | 数据状态 | +|------|------|---------| +| 中互动-对话 | 7 | ✅ 全部有正式数据 | +| 中互动-信息 | 6 | ⚠️ 仅测试数据(ID: 0325001) | +| 中互动-图片 | 5 | ✅ 全部有正式数据 | +| 中互动-其他 | 9 | ✅ 全部有正式数据 | +| 核心互动-听力 | 3 | ✅ 全部有正式数据 | +| 核心互动-阅读 | 2 | ✅ 全部有正式数据 | +| 核心互动-口语 | 6 | ✅ 全部有正式数据 | +| 核心互动-写作 | 5 | ✅ 全部有正式数据 | +| **合计** | **43** | **37 有正式数据,6 仅测试数据** | + +--- + +## 四、关键发现 + +1. **双轨数据**:每条记录同时有「教研配置」(人工可读 markdown)和结构化 JSON(`jsonData`/`taskData`/`textData`),内容一致格式不同 +2. **中互动字段较统一**:14-20 个字段,`jsonData` 为核心结构体 +3. **核心互动字段高度定制**:17-30 个字段,按类型有 `taskData`、`textData`、`configData`、`learningData` 等多个结构体 +4. **信息类 6 种未正式投产**:仅有测试数据,字段结构已就绪 +5. **写作/邮件共用 cType**:写作互动和邮件组句共用 `core_writing_questionMakeSentence`,通过不同 app_token 区分场景 +6. **发音互动拼写异常**:`kpListVoacb`(应为 Vocab),可能是历史遗留 + +--- + +## 五、使用建议 + +### 作为 LLM 生成规范的 few-shot 源 + +1. **按 cType 匹配**:根据目标组件类型,从对应 bitable 取 1-2 条样例 +2. **优先用 jsonData/taskData**:结构化 JSON 比教研配置更适合 LLM 理解 +3. **中互动模板化程度高**:字段统一,few-shot 效果好 +4. **核心互动需按子类处理**:口语/听力/阅读/写作各有不同结构体 + +### 读取接口 + +```bash +# 获取表列表 +curl -s "https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables" \ + -H "Authorization: Bearer {tenant_access_token}" + +# 获取记录(page_size 建议 1-3 条做 few-shot) +curl -s "https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records?page_size=3" \ + -H "Authorization: Bearer {tenant_access_token}" +``` diff --git a/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md b/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md index a07b7ae..8b2cd65 100644 --- a/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md +++ b/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md @@ -55,7 +55,8 @@ description: 单元挑战所有题型自动化审校技能。覆盖听力P1-P7 1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 +3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?:),英文内容使用半角标点(. , ! ? :),不得混用。特别注意:英文冒号必须用半角 `:`,不得用全角 `:`。 +4. 中英文混排空格规范:中文与英文/数字之间加半角空格(如"汇报 Jay 不配合"、"Tom 说 hello"),纯中文或纯英文内容不加额外空格。 ## 审校流程 diff --git a/business_production/单元挑战/skills/unit_challenge/core/unit_challenge_core/SKILL.md b/business_production/单元挑战/skills/unit_challenge/core/unit_challenge_core/SKILL.md index 3110e86..00076d8 100644 --- a/business_production/单元挑战/skills/unit_challenge/core/unit_challenge_core/SKILL.md +++ b/business_production/单元挑战/skills/unit_challenge/core/unit_challenge_core/SKILL.md @@ -31,7 +31,8 @@ description: 单元挑战核心层(永久固定,无重大升级不改动) 1. 禁止 Markdown 标记:禁止使用 `**` `*` `__` `_` 等加粗/斜体标识,也禁止使用 `#` `>` `-` 等块级 Markdown 语法。所有文本纯文本输出。 2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 +3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?:),英文内容使用半角标点(. , ! ? :),不得混用。特别注意:英文冒号必须用半角 `:`,不得用全角 `:`。 +4. 中英文混排空格规范:中文与英文/数字之间加半角空格(如"汇报 Jay 不配合"、"Tom 说 hello"),纯中文或纯英文内容不加额外空格。 ## 改动规则 - 非重大规则升级/词库全量更新,禁止修改本层内容 diff --git a/business_production/单元挑战/skills/unit_challenge/master/unit_challenge_master/SKILL.md b/business_production/单元挑战/skills/unit_challenge/master/unit_challenge_master/SKILL.md index 466fceb..c6975fd 100644 --- a/business_production/单元挑战/skills/unit_challenge/master/unit_challenge_master/SKILL.md +++ b/business_production/单元挑战/skills/unit_challenge/master/unit_challenge_master/SKILL.md @@ -33,7 +33,8 @@ description: 单元挑战总控调度大脑,统一接收所有单元挑战生 5. 文本规范校验(强制): - 禁止 Markdown 标记(`**` `*` `__` `_` `#` `>` `-`),所有文本纯文本输出 - 英式拼写优先(colour/centre/travelling 等) - - 标点符号规范:中文全角(,。!?),英文半角(. , ! ?),不混用 + - 标点符号规范:中文全角(,。!?:),英文半角(. , ! ? :),不混用。英文冒号必须用半角 `:` + - 中英文混排空格规范:中文与英文/数字之间加半角空格 ### 步骤5:结果输出 按照要求格式输出,支持: - 教研文档格式:带解析、能力项、评分标准 diff --git a/business_production/单元挑战/单元挑战全貌.md b/business_production/单元挑战/单元挑战全貌.md index f8af1df..f9f3544 100644 --- a/business_production/单元挑战/单元挑战全貌.md +++ b/business_production/单元挑战/单元挑战全貌.md @@ -242,7 +242,8 @@ XXYYZZ 3. **文本格式**(强制执行): - 禁止 Markdown 标记(`**` `*` `__` `_` `#` `>` `-` 等),所有文本纯文本输出 - 英式拼写优先(colour/center/travelling) - - 标点:中文全角(,。!?),英文半角(. , ! ?),禁止混用 + - 标点:中文全角(,。!?:),英文半角(. , ! ? :),禁止混用。英文冒号必须用半角 `:` + - 中英文混排空格:中文与英文/数字之间加半角空格 4. **答案分布**:选项题(如 P1 图片选择 A/B/C)答案均匀分布 5. **题量规范**:题组1 和 题组2 题量须一致(通常各 5 题) 6. **知识点标签**:每道题绑定对应知识点,用于智能出题和错题归因 diff --git a/business_production/组件生产/final/11-4组件生成结果.md b/business_production/组件生产/backup/final/11-4组件生成结果.md similarity index 100% rename from business_production/组件生产/final/11-4组件生成结果.md rename to business_production/组件生产/backup/final/11-4组件生成结果.md diff --git a/business_production/组件生产/final/11-5_组件配置已填充.xlsx b/business_production/组件生产/backup/final/11-5_组件配置已填充.xlsx similarity index 100% rename from business_production/组件生产/final/11-5_组件配置已填充.xlsx rename to business_production/组件生产/backup/final/11-5_组件配置已填充.xlsx diff --git a/business_production/组件生产/final/11-5_组件配置已填充_GPT5.4.xlsx b/business_production/组件生产/backup/final/11-5_组件配置已填充_GPT5.4.xlsx similarity index 100% rename from business_production/组件生产/final/11-5_组件配置已填充_GPT5.4.xlsx rename to business_production/组件生产/backup/final/11-5_组件配置已填充_GPT5.4.xlsx diff --git a/business_production/组件生产/final/12-4_已填充组件.xlsx b/business_production/组件生产/backup/final/12-4_已填充组件.xlsx similarity index 100% rename from business_production/组件生产/final/12-4_已填充组件.xlsx rename to business_production/组件生产/backup/final/12-4_已填充组件.xlsx diff --git a/business_production/组件生产/scripts/convert_components_to_json.py b/business_production/组件生产/backup/scripts/convert_components_to_json.py similarity index 100% rename from business_production/组件生产/scripts/convert_components_to_json.py rename to business_production/组件生产/backup/scripts/convert_components_to_json.py diff --git a/business_production/组件生产/scripts/dialogue_backfill.py b/business_production/组件生产/backup/scripts/dialogue_backfill.py similarity index 100% rename from business_production/组件生产/scripts/dialogue_backfill.py rename to business_production/组件生产/backup/scripts/dialogue_backfill.py diff --git a/business_production/组件生产/scripts/dialogue_backfill_v2.py b/business_production/组件生产/backup/scripts/dialogue_backfill_v2.py similarity index 100% rename from business_production/组件生产/scripts/dialogue_backfill_v2.py rename to business_production/组件生产/backup/scripts/dialogue_backfill_v2.py diff --git a/business_production/组件生产/scripts/fill_components.py b/business_production/组件生产/backup/scripts/fill_components.py similarity index 100% rename from business_production/组件生产/scripts/fill_components.py rename to business_production/组件生产/backup/scripts/fill_components.py diff --git a/business_production/组件生产/scripts/fill_components_by_id.py b/business_production/组件生产/backup/scripts/fill_components_by_id.py similarity index 100% rename from business_production/组件生产/scripts/fill_components_by_id.py rename to business_production/组件生产/backup/scripts/fill_components_by_id.py diff --git a/business_production/组件生产/scripts/fill_components_by_id_fixed.py b/business_production/组件生产/backup/scripts/fill_components_by_id_fixed.py similarity index 100% rename from business_production/组件生产/scripts/fill_components_by_id_fixed.py rename to business_production/组件生产/backup/scripts/fill_components_by_id_fixed.py diff --git a/business_production/组件生产/scripts/fix_components.py b/business_production/组件生产/backup/scripts/fix_components.py similarity index 100% rename from business_production/组件生产/scripts/fix_components.py rename to business_production/组件生产/backup/scripts/fix_components.py diff --git a/business_production/组件生产/scripts/generate_component_configs.py b/business_production/组件生产/backup/scripts/generate_component_configs.py similarity index 100% rename from business_production/组件生产/scripts/generate_component_configs.py rename to business_production/组件生产/backup/scripts/generate_component_configs.py diff --git a/business_production/组件生产/scripts/produce_components_111.py b/business_production/组件生产/backup/scripts/produce_components_111.py similarity index 100% rename from business_production/组件生产/scripts/produce_components_111.py rename to business_production/组件生产/backup/scripts/produce_components_111.py diff --git a/business_production/组件生产/scripts/write_L4_F_configs.py b/business_production/组件生产/backup/scripts/write_L4_F_configs.py similarity index 100% rename from business_production/组件生产/scripts/write_L4_F_configs.py rename to business_production/组件生产/backup/scripts/write_L4_F_configs.py diff --git a/business_production/组件生产/scripts/write_L5_G_configs.py b/business_production/组件生产/backup/scripts/write_L5_G_configs.py similarity index 100% rename from business_production/组件生产/scripts/write_L5_G_configs.py rename to business_production/组件生产/backup/scripts/write_L5_G_configs.py diff --git a/business_production/组件生产/scripts/write_L5_G_configs_v2.py b/business_production/组件生产/backup/scripts/write_L5_G_configs_v2.py similarity index 100% rename from business_production/组件生产/scripts/write_L5_G_configs_v2.py rename to business_production/组件生产/backup/scripts/write_L5_G_configs_v2.py diff --git a/business_production/组件生产/scripts/write_p4_safe.py b/business_production/组件生产/backup/scripts/write_p4_safe.py similarity index 100% rename from business_production/组件生产/scripts/write_p4_safe.py rename to business_production/组件生产/backup/scripts/write_p4_safe.py diff --git a/business_production/组件生产/scripts/write_p4_to_bitable.py b/business_production/组件生产/backup/scripts/write_p4_to_bitable.py similarity index 100% rename from business_production/组件生产/scripts/write_p4_to_bitable.py rename to business_production/组件生产/backup/scripts/write_p4_to_bitable.py diff --git a/business_production/组件生产/scripts/write_p4_v2.py b/business_production/组件生产/backup/scripts/write_p4_v2.py similarity index 100% rename from business_production/组件生产/scripts/write_p4_v2.py rename to business_production/组件生产/backup/scripts/write_p4_v2.py diff --git a/business_production/组件生产/memory/2026-06-10.md b/business_production/组件生产/memory/2026-06-10.md new file mode 100644 index 0000000..c9c215e --- /dev/null +++ b/business_production/组件生产/memory/2026-06-10.md @@ -0,0 +1,14 @@ +# 组件生产 - 模块记忆 + +## 2026-06-10 目录清理 +- 删除 7 个孤儿 skill(dialogue-xxx-config 系列,无任何引用) +- 删除空目录 image_generated/ +- 15 个历史脚本归档到 backup/scripts/ +- 保留 2 个核心脚本:produce_components.py + validate_format.py +- validate_format.py 接入 produce_components.py pipeline(LLM 生成后校验) +- AGENTS.md 补充完整目录结构和子技能引用关系 + +## 子技能引用关系 +- script-component-production → dialogue-interaction-config +- task-router → dialogue-selective-reading-config / info-sentence-building-config / info-word-spelling-config +- component-design / vala-interactive-components → 独立触发 diff --git a/business_production/组件生产/scripts/produce_components.py b/business_production/组件生产/scripts/produce_components.py index 2cf5377..41e96c0 100644 --- a/business_production/组件生产/scripts/produce_components.py +++ b/business_production/组件生产/scripts/produce_components.py @@ -166,7 +166,7 @@ Use exactly this format: ## KEY RULES 1. Titles: NO numbers, NO dash separators, ≤10 characters -2. Feedback: ALWAYS character dialogue format "Name: message", NEVER teacher-like instructions +2. Feedback: ALWAYS character dialogue format "Name: message", NEVER teacher-like instructions. NO space before colon (e.g. "Tom: Hmm." NOT "Tom : Hmm.") 3. Correct feedback: ALWAYS 无 4. Fill blanks: use ___ (3 underscores) with spaces 5. Dialogue choice/selective: options with inline feedback, NO separate 互动反馈 @@ -174,7 +174,10 @@ Use exactly this format: 7. Dialogue types: 选项1:格式, lowercase start 8. 情境引入/后置对话: 无内容时填 无 9. Context: use both context_before and context_after -10. KP matching: 知识点 must match provided KP""" +10. KP matching: 知识点 must match provided KP +11. Chinese-English spacing: add half-width space between Chinese and English (e.g. "汇报 Jay 不配合") +12. Punctuation: English uses half-width (. , ! ? :), Chinese uses full-width (,。!?:), NEVER mix +13. Dialogue fill-in-blanks: the question sentence MUST contain ___ and be in English (NOT a Chinese description)""" def llm_generate(prompt): """Call LLM to generate component config""" @@ -270,6 +273,22 @@ def main(): content = llm_generate(prompt) print(f" ✅ Generated {len(content)} chars") + # ── 格式校验 ── + from validate_format import validate, Severity + violations = validate(content, cr['type']) + errors = [v for v in violations if v.severity == Severity.ERROR] + warns = [v for v in violations if v.severity == Severity.WARN] + if errors: + print(f" ❌ Format validation failed ({len(errors)} errors):") + for v in errors: + print(f" - [{v.rule}] {v.detail}") + results.append({"row": sheet_row, "id": cr["id"], "type": cr["type"], + "status": "validation_failed", "errors": [v.detail for v in errors]}) + continue # Skip write-back + if warns: + for v in warns: + print(f" ⚠️ [{v.rule}] {v.detail}") + # Write back if write_to_sheet(token, sheet_row, content): print(f" ✅ Written to H{sheet_row}") diff --git a/business_production/组件生产/scripts/validate_format.py b/business_production/组件生产/scripts/validate_format.py new file mode 100644 index 0000000..d738611 --- /dev/null +++ b/business_production/组件生产/scripts/validate_format.py @@ -0,0 +1,807 @@ +#!/usr/bin/env python3 +""" +互动组件配置格式校验脚本 +覆盖全部 27 种中互动 + 15 种核心互动组件类型 +校验维度:通用规则 + 题型专属规则 + 拼写检查 + +用法: + python3 validate_format.py --type + python3 validate_format.py --file # 批量校验 + python3 validate_format.py --sheet # 飞书Sheet校验 +""" + +import re +import sys +import json +import argparse +from dataclasses import dataclass, field +from typing import List, Dict, Optional, Tuple +from enum import Enum + + +# ============================================================ +# 第一部分:题型格式特征定义(唯一真相源) +# ============================================================ + +class ComponentCategory(Enum): + MID = "mid" # 中互动 + CORE = "core" # 核心互动 + + +@dataclass +class FormatSpec: + """单个题型的格式规范""" + cn_name: str + cType: str + category: ComponentCategory + + # 题型特征标记 + has_blank_marker: bool = False # 题干必须有 ___ + has_options: bool = False # 有选项列表 + has_answer: bool = False # 有答案 + has_per_option_feedback: bool = False # 每个选项有独立反馈 + is_read_type: bool = False # 朗读型 + is_express_type: bool = False # 表达型 + is_sentence_build: bool = False # 组句型(选项为碎片,答案为拼接句) + is_fillin: bool = False # 挖空/填空型 + + # 文本规范 + question_lang: str = "" # 题干语言要求: "en" / "cn" / "" + option_format: str = "" # 选项格式: "word" / "fragment" / "sentence" / "letter" / "" + answer_format: str = "" # 答案格式: "word" / "sentence" / "index" / "" + + # 附加说明 + notes: str = "" + + +# ============================================================ +# 中互动组件格式规范(27种) +# ============================================================ + +MID_FORMAT_SPECS: Dict[str, FormatSpec] = { + "对话互动": FormatSpec( + cn_name="对话互动", cType="mid_sentence_dialogue", + category=ComponentCategory.MID, + is_read_type=True, + question_lang="en", + notes="朗读型,无选项无答案"), + "对话朗读": FormatSpec( + cn_name="对话朗读", cType="mid_dialog_repeat", + category=ComponentCategory.MID, + is_read_type=True, + question_lang="en", + notes="朗读型,无选项无答案"), + "对话表达": FormatSpec( + cn_name="对话表达", cType="mid_dialog_express", + category=ComponentCategory.MID, + is_express_type=True, + notes="表达型,有示例回答,无选项"), + "对话选读": FormatSpec( + cn_name="对话选读", cType="mid_dialog_select", + category=ComponentCategory.MID, + has_options=True, + has_per_option_feedback=True, + option_format="sentence", + notes="选项为完整句子,每个选项有独立反馈"), + "对话选择": FormatSpec( + cn_name="对话选择", cType="mid_dialog_choose", + category=ComponentCategory.MID, + has_options=True, + has_per_option_feedback=True, + option_format="sentence", + notes="选项为完整回复句,每个选项有独立反馈,选项需标注(音频)"), + "对话挖空": FormatSpec( + cn_name="对话挖空", cType="mid_dialog_fillin", + category=ComponentCategory.MID, + has_blank_marker=True, + has_options=True, + is_fillin=True, + question_lang="en", + option_format="word", + notes="题干必须是带 ___ 的英文句子,选项为填入空位的单词"), + "对话组句": FormatSpec( + cn_name="对话组句", cType="mid_dialog_sentence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "信息描写": FormatSpec( + cn_name="信息描写", cType="mid_message_trace", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词/短语"), + "信息拼词": FormatSpec( + cn_name="信息拼词", cType="mid_message_spell", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + option_format="letter", + answer_format="word", + notes="选项为字母,答案为拼成的单词"), + "信息组句": FormatSpec( + cn_name="信息组句", cType="mid_message_combine", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "信息补词": FormatSpec( + cn_name="信息补词", cType="mid_message_fillin", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词"), + "信息填词": FormatSpec( + cn_name="信息填词", cType="mid_message_word", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词/短语"), + "信息填句": FormatSpec( + cn_name="信息填句", cType="mid_message_sentence", + category=ComponentCategory.MID, + has_answer=True, + answer_format="sentence", + notes="答案为完整句子"), + "物品互动": FormatSpec( + cn_name="物品互动", cType="mid_vocab_item", + category=ComponentCategory.MID, + has_options=True, + option_format="word", + notes="选项为单词"), + "图片互动": FormatSpec( + cn_name="图片互动", cType="mid_vocab_image", + category=ComponentCategory.MID, + has_answer=True, + notes="答案为坐标/区域标识"), + "图片单选": FormatSpec( + cn_name="图片单选", cType="mid_image_choose", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为选项索引"), + "图片多选": FormatSpec( + cn_name="图片多选", cType="mid_image_multiple", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为选项索引列表"), + "图片有序": FormatSpec( + cn_name="图片有序", cType="mid_image_sequence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为排序索引"), + "图片拖拽": FormatSpec( + cn_name="图片拖拽", cType="mid_image_drag", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为拖拽目标索引"), + "材料互动": FormatSpec( + cn_name="材料互动", cType="mid_sentence_material", + category=ComponentCategory.MID, + has_options=True, + notes="选项为材料/句子"), + "指令互动": FormatSpec( + cn_name="指令互动", cType="mid_vocab_instruction", + category=ComponentCategory.MID, + has_options=True, + notes="选项为指令"), + "挖空互动": FormatSpec( + cn_name="挖空互动", cType="mid_grammar_cloze", + category=ComponentCategory.MID, + has_blank_marker=True, + has_options=True, + has_answer=True, + is_fillin=True, + question_lang="en", + option_format="word", + notes="题干必须是带 ___ 的英文句子,选项为填入空位的单词"), + "组句互动": FormatSpec( + cn_name="组句互动", cType="mid_grammar_sentence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "填词互动": FormatSpec( + cn_name="填词互动", cType="mid_vocab_fillBlank", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词"), + "语音互动": FormatSpec( + cn_name="语音互动", cType="mid_sentence_voice", + category=ComponentCategory.MID, + has_options=True, + notes="语音类选项"), + "造句互动": FormatSpec( + cn_name="造句互动", cType="mid_sentence_makeSentence", + category=ComponentCategory.MID, + is_express_type=True, + notes="造句型,自由输出"), + "发音互动": FormatSpec( + cn_name="发音互动", cType="mid_pron_pron", + category=ComponentCategory.MID, + is_read_type=True, + notes="发音型,朗读输出"), +} + + +# ============================================================ +# 核心互动组件格式规范(15种) +# ============================================================ + +CORE_FORMAT_SPECS: Dict[str, FormatSpec] = { + "合作阅读": FormatSpec( + cn_name="合作阅读", cType="core_reading_order", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图选词": FormatSpec( + cn_name="看图选词", cType="core_reading_imageDrag", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语快答": FormatSpec( + cn_name="口语快答", cType="core_speaking_reply", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语独白": FormatSpec( + cn_name="口语独白", cType="core_speaking_monologue", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语妙问": FormatSpec( + cn_name="口语妙问", cType="core_speaking_inquiry", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图说话": FormatSpec( + cn_name="看图说话", cType="core_speaking_image", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语探讨": FormatSpec( + cn_name="口语探讨", cType="core_speaking_discuss", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "合作听力": FormatSpec( + cn_name="合作听力", cType="core_listening_order", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "听力拖拽": FormatSpec( + cn_name="听力拖拽", cType="core_listening_drag", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "听力选择": FormatSpec( + cn_name="听力选择", cType="core_listening_choose", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "写作互动": FormatSpec( + cn_name="写作互动", cType="core_writing_questionMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图组句": FormatSpec( + cn_name="看图组句", cType="core_writing_imgMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图撰写": FormatSpec( + cn_name="看图撰写", cType="core_writing_imgWrite", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "邮件组句": FormatSpec( + cn_name="邮件组句", cType="core_writing_questionMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "邮件撰写": FormatSpec( + cn_name="邮件撰写", cType="core_writing_questionWrite", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), +} + + +# 合并所有格式规范 +ALL_FORMAT_SPECS = {**MID_FORMAT_SPECS, **CORE_FORMAT_SPECS} + +# 配图后缀变体映射(剥离后缀后查主表) +PICTURE_VARIANTS = { + "对话朗读-配图": "对话朗读", + "对话表达-配图": "对话表达", + "对话选读-配图": "对话选读", + "对话选择-配图": "对话选择", + "对话挖空-配图": "对话挖空", + "对话组句-配图": "对话组句", + "图片单选-配图": "图片单选", +} + + +# ============================================================ +# 第二部分:通用校验规则 +# ============================================================ + +class Severity(Enum): + ERROR = "🔴" # 必须修复 + WARN = "🟡" # 建议修复 + INFO = "⚪" # 提示 + + +@dataclass +class Violation: + severity: Severity + rule: str + detail: str + location: str = "" + + +def resolve_type(cn_type: str) -> Tuple[Optional[FormatSpec], str]: + """解析组件类型名,处理配图后缀变体""" + cn_type = cn_type.strip() + # 精确匹配 + if cn_type in ALL_FORMAT_SPECS: + return ALL_FORMAT_SPECS[cn_type], cn_type + # 配图变体 + if cn_type in PICTURE_VARIANTS: + base = PICTURE_VARIANTS[cn_type] + return ALL_FORMAT_SPECS.get(base), cn_type + # 模糊匹配(去除末尾数字) + m = re.match(r'^(.+?)\d*$', cn_type) + if m: + base = m.group(1).strip() + if base in ALL_FORMAT_SPECS: + return ALL_FORMAT_SPECS[base], cn_type + return None, cn_type + + +# ============================================================ +# 通用规则检查 +# ============================================================ + +def check_title_spacing(text: str) -> List[Violation]: + """检查标题中中英文混排空格""" + violations = [] + for line in text.split('\n'): + if '【任务标题】' in line: + title = line.replace('【任务标题】', '').strip() + # 中文字符后紧跟英文字母(缺空格) + issues = re.finditer(r'([\u4e00-\u9fff])([A-Za-z])', title) + for m in issues: + violations.append(Violation( + Severity.ERROR, + "中英文混排缺空格", + f"标题'{title}'中'{m.group(1)}{m.group(2)}'之间应加半角空格", + f"【任务标题】" + )) + # 英文字母后紧跟中文字符(缺空格) + issues = re.finditer(r'([A-Za-z])([\u4e00-\u9fff])', title) + for m in issues: + violations.append(Violation( + Severity.ERROR, + "中英文混排缺空格", + f"标题'{title}'中'{m.group(1)}{m.group(2)}'之间应加半角空格", + f"【任务标题】" + )) + return violations + + +def check_feedback_colon(text: str) -> List[Violation]: + """检查反馈中角色名冒号格式:应为 '角色名: 台词',冒号前无空格,冒号为英文半角""" + violations = [] + # 匹配反馈行中的 "角色名 : 台词"(冒号前有空格) + pattern_space = re.compile(r'([A-Z][a-zA-Z]*)\s+:\s') + for m in pattern_space.finditer(text): + name = m.group(1) + violations.append(Violation( + Severity.ERROR, + "反馈冒号前多余空格", + f"'{name} :' 应改为 '{name}:'", + "【互动反馈】" + )) + # 匹配中文冒号 + pattern_cn_colon = re.compile(r'([A-Z][a-zA-Z]*)\s*:') + for m in pattern_cn_colon.finditer(text): + name = m.group(1) + violations.append(Violation( + Severity.ERROR, + "反馈冒号使用了中文冒号", + f"'{name}:' 应改为 '{name}:'", + "【互动反馈】" + )) + return violations + + +def check_markdown(text: str) -> List[Violation]: + """检查是否使用了 Markdown 标记""" + violations = [] + # 检查加粗/斜体,排除 ___(挖空标记) + # ** 和 __ 是加粗,* 和 _ 是斜体 + if '**' in text: + violations.append(Violation( + Severity.ERROR, + "禁止使用 Markdown 加粗标记", + "发现 '**' 标记", + "" + )) + # __ 检查:排除 ___(连续三个下划线是挖空标记) + # 检查是否有 __ 但不是 ___ 的一部分 + stripped = text.replace('___', '') # 移除挖空标记 + if '__' in stripped: + violations.append(Violation( + Severity.ERROR, + "禁止使用 Markdown 加粗标记", + "发现 '__' 标记(非挖空标记 ___)", + "" + )) + # * 检查:排除 **(已单独检查) + if re.search(r'(? List[Violation]: + """检查常见拼写错误""" + violations = [] + common_errors = { + 'shoud': 'should', + 'becasue': 'because', + 'thier': 'their', + 'recieve': 'receive', + 'teh': 'the', + 'adn': 'and', + 'writting': 'writing', + 'lisence': 'license', + 'occured': 'occurred', + 'untill': 'until', + } + words = re.findall(r'\b\w+\b', text) + for word in words: + lower = word.lower() + if lower in common_errors: + violations.append(Violation( + Severity.ERROR, + "拼写错误", + f"'{word}' 应为 '{common_errors[lower]}'", + "" + )) + return violations + + +def check_punctuation(text: str) -> List[Violation]: + """检查标点符号规范""" + violations = [] + # 英文内容中的中文标点 + # 在【互动内容】区域检查 + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + # 检查英文句子中的中文标点 + for cn_punct, en_punct in [(',', ','), ('。', '.'), ('!', '!'), ('?', '?'), (':', ':')]: + if cn_punct in content: + # 只报告在英文语境中的(简单判断:前后有英文字母) + for m in re.finditer(rf'[A-Za-z]\s*{re.escape(cn_punct)}\s*[A-Za-z]', content): + violations.append(Violation( + Severity.ERROR, + "英文内容中使用了中文标点", + f"'{cn_punct}' 应改为 '{en_punct}'", + "【互动内容】" + )) + return violations + + +# ============================================================ +# 题型专属规则检查 +# ============================================================ + +def check_blank_marker(text: str, spec: FormatSpec) -> List[Violation]: + """挖空类题型:检查题干是否包含 ___ 标记""" + violations = [] + if not spec.has_blank_marker: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + if '___' not in content: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 题干缺少 ___ 挖空标记", + "题干必须包含 '___' 表示需要填空的位置。" + "正确格式示例:'He doesn't ___ to tell us!'", + "【互动内容】" + )) + return violations + + +def check_question_language(text: str, spec: FormatSpec) -> List[Violation]: + """检查题干语言是否符合要求""" + violations = [] + if not spec.question_lang: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if not content_match: + return violations + + content = content_match.group(1) + # 取第一行非空、非"要求:"、非"题目:"的内容作为题干 + lines = [l.strip() for l in content.split('\n') if l.strip() + and not l.strip().startswith('要求') + and not l.strip().startswith('题目') + and not l.strip().startswith('选项') + and not l.strip().startswith('答案') + and not l.strip().startswith('辅助')] + + if spec.question_lang == "en" and lines: + first_line = lines[0] + # 检查是否以中文为主(超过50%中文字符) + cn_chars = len(re.findall(r'[\u4e00-\u9fff]', first_line)) + total_chars = len(first_line.replace(' ', '')) + if total_chars > 0 and cn_chars / total_chars > 0.5: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 题干应为英文", + f"当前题干以中文为主: '{first_line[:60]}...'", + "【互动内容】" + )) + return violations + + +def check_options_format(text: str, spec: FormatSpec) -> List[Violation]: + """检查选项格式""" + violations = [] + if not spec.has_options: + return violations + + # 提取选项 + options = re.findall(r'选项\d+[::]\s*(.+)', text) + if not options: + # 可能是"选项:"后跟列表的格式 + opt_match = re.search(r'选项[::]\s*\n?(.*?)(?=答案|辅助|【|$)', text, re.DOTALL) + if opt_match: + options = [o.strip() for o in opt_match.group(1).split('\n') if o.strip()] + + if spec.has_per_option_feedback: + # 对话选择/对话选读:每个选项必须有反馈 + feedback_count = len(re.findall(r'反馈\s*\w+\s*:', text)) + if feedback_count < len(options): + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 选项缺少逐项反馈", + f"有 {len(options)} 个选项但只有 {feedback_count} 条反馈", + "【互动内容】" + )) + + if spec.is_sentence_build: + # 组句型:检查是否有"答案"行 + if '答案' not in text: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 缺少答案行", + "组句型必须有'答案:'行,给出拼接后的完整句子", + "【互动内容】" + )) + # 选项应为片段,答案应为完整句 + answer_match = re.search(r'答案[::]\s*(.+)', text) + if answer_match and options: + answer = answer_match.group(1).strip() + # 简单检查:答案应该比单个选项长 + max_opt_len = max(len(o) for o in options) + if len(answer) <= max_opt_len * 1.5: + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 答案可能不是完整拼接句", + f"答案'{answer}'长度与选项片段接近", + "【互动内容】" + )) + + return violations + + +def check_audio_marker(text: str, spec: FormatSpec) -> List[Violation]: + """检查需要音频标记的题型""" + violations = [] + # 对话选择、对话选读、对话挖空、对话组句:选项/题干后应有(音频) + audio_types = {"对话选择", "对话选读", "对话挖空", "对话组句"} + if spec.cn_name not in audio_types: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + # 检查是否有(音频)标记 + if '(音频)' not in content and '(音频)' not in content: + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 缺少(音频)标记", + "对话类组件应在选项或题干后标注(音频)", + "【互动内容】" + )) + return violations + + +def check_no_options_when_not_expected(text: str, spec: FormatSpec) -> List[Violation]: + """非选项型组件不应出现选项""" + violations = [] + if spec.has_options: + return violations + + if re.search(r'选项\d*[::]', text): + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 不应包含选项", + f"该题型为{spec.notes},但配置中出现了选项", + "【互动内容】" + )) + return violations + + +# ============================================================ +# 第三部分:主校验入口 +# ============================================================ + +def validate(teaching_config: str, cn_type: str) -> List[Violation]: + """ + 校验单个组件配置 + + Args: + teaching_config: 组件配置文本(teaching_config 字段内容) + cn_type: 组件中文类型名(如 "对话挖空"、"对话挖空12") + + Returns: + 违规列表 + """ + spec, resolved_type = resolve_type(cn_type) + violations = [] + + if spec is None: + violations.append(Violation( + Severity.ERROR, + "未知组件类型", + f"'{cn_type}' 不在已知的 27 种中互动或 15 种核心互动类型中", + "" + )) + return violations + + # ---- 通用规则 ---- + violations.extend(check_title_spacing(teaching_config)) + violations.extend(check_feedback_colon(teaching_config)) + violations.extend(check_markdown(teaching_config)) + violations.extend(check_spelling(teaching_config)) + violations.extend(check_punctuation(teaching_config)) + + # ---- 题型专属规则 ---- + violations.extend(check_blank_marker(teaching_config, spec)) + violations.extend(check_question_language(teaching_config, spec)) + violations.extend(check_options_format(teaching_config, spec)) + violations.extend(check_audio_marker(teaching_config, spec)) + violations.extend(check_no_options_when_not_expected(teaching_config, spec)) + + return violations + + +def format_report(violations: List[Violation], cn_type: str = "") -> str: + """格式化输出校验报告""" + if not violations: + return "✅ 全部通过" + + errors = [v for v in violations if v.severity == Severity.ERROR] + warns = [v for v in violations if v.severity == Severity.WARN] + infos = [v for v in violations if v.severity == Severity.INFO] + + lines = [] + if cn_type: + lines.append(f"📋 校验结果: {cn_type}") + lines.append(f" 🔴 错误: {len(errors)} 🟡 警告: {len(warns)} ⚪ 提示: {len(infos)}") + lines.append("") + + for v in violations: + lines.append(f" {v.severity.value} [{v.rule}] {v.detail}") + if v.location: + lines.append(f" 位置: {v.location}") + + return '\n'.join(lines) + + +# ============================================================ +# 第四部分:CLI 入口 +# ============================================================ + +def main(): + parser = argparse.ArgumentParser( + description="互动组件配置格式校验脚本", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +示例: + # 校验单个组件 + python3 validate_format.py "【任务标题】汇报Jay不配合\\n..." --type "对话挖空" + + # 从 stdin 读取 + echo "..." | python3 validate_format.py --type "对话组句" --stdin + + # 列出所有支持的题型 + python3 validate_format.py --list-types + """ + ) + parser.add_argument('config_text', nargs='?', help='组件配置文本') + parser.add_argument('--type', '-t', required=False, help='组件中文类型名') + parser.add_argument('--stdin', action='store_true', help='从 stdin 读取配置文本') + parser.add_argument('--list-types', action='store_true', help='列出所有支持的题型') + parser.add_argument('--json', action='store_true', help='以 JSON 格式输出') + + args = parser.parse_args() + + if args.list_types: + print("=== 中互动组件(27种)===") + for name, spec in MID_FORMAT_SPECS.items(): + flags = [] + if spec.has_blank_marker: flags.append("___标记") + if spec.has_options: flags.append("选项") + if spec.has_answer: flags.append("答案") + if spec.has_per_option_feedback: flags.append("逐项反馈") + if spec.is_read_type: flags.append("朗读") + if spec.is_express_type: flags.append("表达") + if spec.is_sentence_build: flags.append("组句") + print(f" {name:12s} | {', '.join(flags) if flags else '(无特殊标记)'}") + print("\n=== 核心互动组件(15种)===") + for name in CORE_FORMAT_SPECS: + print(f" {name}") + return + + if not args.type: + print("❌ 必须指定 --type 参数", file=sys.stderr) + sys.exit(1) + + if args.stdin: + config_text = sys.stdin.read() + elif args.config_text: + config_text = args.config_text + else: + print("❌ 必须提供配置文本(参数或 --stdin)", file=sys.stderr) + sys.exit(1) + + violations = validate(config_text, args.type) + + if args.json: + result = { + "type": args.type, + "passed": len(violations) == 0, + "error_count": len([v for v in violations if v.severity == Severity.ERROR]), + "warn_count": len([v for v in violations if v.severity == Severity.WARN]), + "violations": [ + {"severity": v.severity.value, "rule": v.rule, "detail": v.detail, "location": v.location} + for v in violations + ] + } + print(json.dumps(result, ensure_ascii=False, indent=2)) + else: + print(format_report(violations, args.type)) + + # 有错误时返回非零 + if any(v.severity == Severity.ERROR for v in violations): + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/business_production/组件生产/skills/dialogue-choose-config/SKILL.md b/business_production/组件生产/skills/dialogue-choose-config/SKILL.md deleted file mode 100644 index 724f980..0000000 --- a/business_production/组件生产/skills/dialogue-choose-config/SKILL.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -name: dialogue-choose-config -version: 1.0.0 -description: 对话选择类互动组件配置标准化规范,用于剧本中对话选择/对话选择-配图类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 对话选择组件配置规范 -## 适用场景 -当【类型】列内容为【对话选择】或【对话选择-配图】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】: - - 设计规则:结合剧情上下文,提炼互动核心内容,使用中文口语化表述,符合低龄用户认知 - - 核心要素:包含互动对象+核心动作/状态,避免笼统的「对话X」编号或使用「-」连接 - - 约定:如需表达顺序关系,使用中文括号替代「-」,如「与调酒师对峙(一)」而非「与调酒师对峙-1」 - - ⚠️ 标题含英文单词时,英文单词前后必须留空格 -2. 【资源配置】: - - 类型为「对话选择」时,填写:无 - - 类型为「对话选择-配图」时,填写: - ``` - 图片时机: - 互动内容 - 互动反馈 - - 音频载体:Pioneer Band - ``` - - 资源命名规范: - - 图片文件名:`{组件ID}.png`,如 `0216002.png` - - 音频文件名:`{组件ID}.mp3`,如 `0216002.mp3` - - 音频默认在互动内容、互动反馈期间出现;若配置音频,必须添加【音频载体】 - - 图片默认在互动内容、互动反馈期间出现;如需调整节点,在【资源配置】处填写【情境引入】或【后置对话】 -3. 【情境引入】: - - 以对话方式呈现,每行一句。格式为「角色名 : 对话内容」 - - 若无情境引入,填「无」 -4. 【互动内容】: - - 第一行:固定为「要求:选择正确的回复」 - - 第二行:标注「选项:(音频)」(表示选项有音频支持) - - 第三部分:列出所有选项,编号为「选项1」「选项2」... 依次排列 - - 每个选项后以「- 反馈 角色名 : 对话内容」形式标注反馈,正确选项需额外标注「(正确)」 - - 正确选项的反馈为未必填项,若没有则填「无」 - - ⚠️ 反馈角色不可是 User 自己,必须是当前场景中的其他角色 - - (音频)标记默认不含,若选项需要播放音频则手动填写「(音频)」,使用中文括号 -5. 【互动反馈】:本类型不单独设置互动反馈字段,反馈内容已整合在互动内容的各选项中 -6. 【后置对话】: - - 以对话方式呈现,每行一句。格式为「角色名 : 对话内容」 - - 若无后置对话,填「无」 -## 完整示例 -### 对话选择-配图类型示例 -``` -【任务标题】 -加入搏斗俱乐部 - -【资源配置】 -图片时机: -互动内容 -互动反馈 - -音频载体:Pioneer Band - -【情境引入】 -User:Thanks for helping me. -Johnny: You have received an invitation. What does it say? - -【互动内容】 -要求:选择正确的回复 -选项:(音频) -选项1:Follow the road straight. -- 反馈 Johnny : Oh, I don't understand what you mean. -选项2:Turn left after passing security. (正确) -- 反馈: 无 - -【后置对话】 -Johnny: Then let's hurry to find her together. -``` -### 对话选择类型示例 -``` -【任务标题】 -告诉妈妈你喜欢手表 - -【资源配置】 -无 - -【情境引入】 -Mum: Are you happy now? - -【互动内容】 -要求:选择正确的回复 -选项:(音频) -选项1:Yes, I love it! (正确) -- 反馈: 无 -选项2:No, I don't like it! -- 反馈 Mum: Oh, no! - -【后置对话】 -无 -``` diff --git a/business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md b/business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md deleted file mode 100644 index aaf2331..0000000 --- a/business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -name: dialogue-core-navigation-config -version: 1.0.0 -description: 核心互动导览类组件配置标准化规范,用于剧本中核心互动/导览配置类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 核心互动导览组件配置规范 -## 适用场景 -当【类型】列内容为【核心互动】【导览配置】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】:用户看到的任务名,建议字数在10字以内 -2. 【任务背景】: - - 用户在任务开始前看到的背景描述,目的是告诉孩子为什么需要参加这个任务 - - 建议字数在25字左右,以第二人称书写 - - 人名、地名均写成英文 -3. 【任务描述】: - - 用户在任务进行时看到的目标,简洁明确,15字左右描述 - - 以第二人称描述,格式为「你需要…」 - - 简单题可笼统描述,难题可具象描述 -4. 【通关知识】: - - 用无序列表分类(若无分类可不填) - - 每个分类下多个句子结构,与知识点一致,每个句子先写英文后写译文 -5. 【对话角色】: - - 对话的角色名,需要与资源库中的名称完全一致,用于匹配对应的立绘和音色 - - 如有多个相同名称,可使用「角色名#id」方式锁定明确资源 -6. 【角色背景】: - - NPC参与任务的背景描述,用于给角色扮演的NPC提供明确的情境信息,用户看不到该内容 - - 以第二人称书写,格式为「你是谁,你做了什么」 - - 以剧情信息为主,无需增加太多人物性格、语气等生动化描述,可分条罗列 -7. 【互动问题】: - - 包含NPC提问的问题、问题的答案、以及该问答对应的图片编号 - - 同一个图片对应多个问题时,编号重复 - - 问题和答案只写最简单版本,示例对话中可适度包装让对话更自然流畅 - - **图片命名规则**: - - 底图:`[编号]_question.png`,示例:`0102003_question.png` - - 叠加图:`[编号]_option_[序号].png`,示例:`0102003_option_00.png` - - ⚠️ 注意:需要XML格式 -8. 【回合设定】:每个问题设置1-2个回合 -9. 【通过规则】: - - 对话完成后判断所有问题是否通过,只要有一个没通过则判定为Oops - - 列出用户需要说出的所有正确答案内容 -10. 【示例对话】: - - 以NPC进行开场白和结尾句,对话流畅自然,避免无意义回合 - - 语言难度低,符合1-3年级学生水平 - - 对用户回答有引导,但不能直接用Yes/No回复 - - 可增加NPC回应性话术让对话更自然 -## 完整示例 -``` -【任务标题】 -找同色工具修机器人 - -【任务背景】 -为快速修复破损的机器人,你需要找出合适工具复原工具箱。 - -【任务描述】 -你需要找出成套的工具,复原工具箱 - -【通关知识】 -- It's... 它是…… -- Yes, I think it's... 是的,我认为它是…… -- It seems that... 它看起来是…… - -【对话角色】 -SecurityA - -【角色背景】 -你是机器人SecurityA,你需要修复一个破损的机器人,但需要完整的工具箱,所以你需要让用户帮你找出工具箱中所需要的工具。 - -【互动问题】 -#图片编号:00 -Q: Let's find tools together. What's the color of the pliers? -A: It's blue. - -#图片编号:00 -Q: What's the color of the ruler? -A: It's yellow. - -#图片编号:01 -Q:What's the color of the hammer? -A:And how about the screwdriver? - -#图片编号:02 -Q: And how about the screwdriver? -A: Blue. Yes, I think it's blue. - -【回合设定】 -每个问题1-2个回合 - -【通过规则】 -用户说出: -1. 钳子是蓝色的 -2. 尺子是黄色的 -3. 锤子是橙色的 -4. 螺丝刀是蓝色的 - -【示例对话】 -NPC: Let's find tools together. What's the color of the pliers? -User: It's blue. -NPC: What's the color of the ruler? -User: It's yellow. -NPC: What's the color of the hammer? -User: It's orange. -NPC: And how about the screwdriver? -User: Blue. Yes, I think it's blue. -NPC: It seems that the pliers and the screwdriver belong to the same set of toolkit. Good job! -``` diff --git a/business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md b/business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md deleted file mode 100644 index 9d3e8fd..0000000 --- a/business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -name: dialogue-fill-in-blanks-config -version: 1.0.0 -description: 对话挖空类互动组件配置标准化规范,用于剧本中对话挖空类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 对话挖空组件配置规范 -## 适用场景 -当【类型】列内容为【对话挖空】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】:结合剧情上下文设计语义化标题,点明互动核心,例如「介绍照片」 - - ⚠️ 标题含英文单词时,英文单词前后必须留空格 -2. 【资源配置】: - - 类型为「对话挖空」时,填写:无 - - 类型为「对话挖空-配图」时,填写: - ``` - 图片时机: - 互动内容 - 互动反馈 - - 音频载体:Pioneer Band - ``` -3. 【情境引入】:填写挖空前的对话上下文,格式为「角色名 : 对话内容」 -4. 【互动内容】: - - 包含带挖空(__标记)的句子,末尾标注「(音频)」 - - 列出选项,正确选项标注「(正确)」,错误选项无需标注 - - 版本1(单空、单内容组)格式示例: - ``` - This is my picture. It's ___, green and orange.(音频) - 选项1:blue(正确) - 选项2:black - ``` -5. 【互动反馈】: - - 反馈台词要求:根据剧情上下文生成符合角色人设、场景逻辑的合适台词 - - 正确反馈格式:「正确 角色名 : 对话内容」 - - 错误反馈格式:「错误 角色名 : 对话内容」 - - ⚠️ 反馈角色不可是 User 自己,必须是当前场景中的其他角色 -6. 【后置对话】:默认值为「无」 -## 完整示例 -``` -【任务标题】 -介绍照片 - -【资源配置】 -图片时机: -互动内容 -互动反馈 - -音频载体:Pioneer Band - -【情境引入】 -Johnny : What's That? - -【互动内容】 -This is my picture. It's ___, green and orange.(音频) -选项1:blue(正确) -选项2:black - -【互动反馈】 -正确 Johnny :It looks nice! -错误 Johnny :Come on! It's not what you said. - -【后置对话】 -无 -``` diff --git a/business_production/组件生产/skills/dialogue-image-description-config/SKILL.md b/business_production/组件生产/skills/dialogue-image-description-config/SKILL.md deleted file mode 100644 index f23b5d7..0000000 --- a/business_production/组件生产/skills/dialogue-image-description-config/SKILL.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -name: dialogue-image-description-config -version: 2.0.0 -description: 看图说话类互动组件配置标准化规范,用于剧本中看图说话/看图说话-配图类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 看图说话组件配置规范 -## 适用场景 -当【类型】列内容为【看图说话】或【看图说话-配图】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -配置分为两部分:导览配置 + 对话配置 -### 导览配置 -1. 【任务标题】:结合图片内容和剧情上下文,设计中文语义化标题,点明看图说话的核心任务,例如「从一堆工具中找出颜色相同的工具」 -2. 【任务背景】:用中文描述为什么需要完成这个任务、任务的目标是什么 -3. 【任务描述】:用中文简述用户需要做什么(回答谁的问题、完成什么目标) -4. 【知识】:列出本组件涉及的核心知识点/句型,每个一行。例如: - ``` - It's... 它是…… - Yes, I think it's... 是的,我认为它是…… - It seems that... 它看起来是…… - ``` -### 对话配置 -1. 【对话角色】:填写 NPC 角色名,如 `SecurityA`、`May`。如有多个角色,用 `, ` 分隔 -2. 【角色背景】:描述 NPC 的角色背景和当前任务情境。格式:`你是[角色名],[情境描述]……` -3. 【互动问题】:按 `#图片编号:XX` 分组,每张图下Q&A依次列出。如果只有一张图,图片编号为 `00`。 - 格式如下: - ``` - #图片编号:00 - Q: NPC的提问内容 - A: 期望用户回答的正确内容 - - #图片编号:01 - Q: NPC的提问内容 - A: 期望用户回答的正确内容 - ``` - 同一图片编号下可有多组Q&A。若无配图,省略图片编号标记。 -4. 【通过规则】:列出用户需要完成的回答条目,用中文序号描述。例如: - ``` - 用户说出: - 1. 钳子是蓝色的 - 2. 尺子是黄色的 - 3. 锤子是橙色的 - 4. 螺丝刀是蓝色的 - ``` -5. 【示例对话】:完整展示 NPC 和 User 的对话流程,每一轮为一行。格式: - ``` - NPC: Let's find tools together. What's the color of the pliers? - User: It's blue. - NPC: What's the color of the ruler? - User: It's yellow. - ... - NPC: [最终结束语] - ``` -## 完整示例 -``` -【任务标题】 -从一堆工具中找出颜色相同的工具 - -【任务背景】 -为了快速修复破损的机器人,你需要尽快找到合适的工具,来复原工具箱,从而修复机器人。 - -【任务描述】 -回答 Celina 的问题,找出成套的工具,复原工具箱 - -【知识】 -It's... 它是…… -Yes, I think it's... 是的,我认为它是…… -It seems that... 它看起来是…… - -【对话角色】 -SecurityA - -【角色背景】 -你是机器人 SecurityA,用户需要你去修复一个破损的机器人。但你需要完整的工具箱,所以你需要让用户帮你找出工具箱中所需要的工具 …… - -【互动问题】 -#图片编号:00 -Q: Let's find tools together. What's the color of the pliers? -A: It's blue. - -Q: What's the color of the ruler? -A: It's yellow. - -#图片编号:01 -Q: What's the color of the hammer? -A: It's orange. - -#图片编号:02 -Q: And how about the screwdriver? -A: Blue. Yes, I think it's blue. - -【通过规则】 -用户说出: -1. 钳子是蓝色的 -2. 尺子是黄色的 -3. 锤子是橙色的 -4. 螺丝刀是蓝色的 - -【示例对话】 -NPC: Let's find tools together. What's the color of the pliers? -User: It's blue. -NPC: What's the color of the ruler? -User: It's yellow. -NPC: What's the color of the hammer? -User: It's orange. -NPC: And how about the screwdriver? -User: Blue. Yes, I think it's blue. -NPC: It seems that the pliers and the screwdriver belong to the same set of toolkit. Good job! -``` diff --git a/business_production/组件生产/skills/dialogue-reading-config/SKILL.md b/business_production/组件生产/skills/dialogue-reading-config/SKILL.md deleted file mode 100644 index 3b224bb..0000000 --- a/business_production/组件生产/skills/dialogue-reading-config/SKILL.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -name: dialogue-reading-config -version: 1.0.0 -description: 对话朗读类互动组件配置标准化规范,用于剧本中对话朗读/对话朗读-配图类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 对话朗读组件配置规范 -## 适用场景 -当【类型】列内容为【对话朗读】或【对话朗读-配图】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】: - - 设计规则:结合剧情上下文,提炼互动核心内容,使用中文口语化表述,符合低龄用户认知 - - 核心要素:包含互动对象+核心动作/状态,避免笼统的「对话X」编号 - - ⚠️ 标题含英文单词时,英文单词前后必须留空格。正确:「回应 Wood 家的孩子们」;错误:「回应Wood家的孩子们」 - - 示例:「机器人的头坏了」「帮机器人拼接头和身体」 -2. 【资源配置】: - - 类型为「对话朗读」时,填写:图片时机:无 - - 类型为「对话朗读-配图」时,填写:图片时机:互动内容 -3. 【情景引入】:默认值为「无」 -4. 【互动内容】:填写带有知识点的朗读句子(与原台词保持一致),句末**必须**加「(朗读)」 -5. 【后置对话】:默认值为「无」 -## 示例 -### 对话朗读-配图类型示例 -``` -【任务标题】机器人的头坏了 -【资源配置】图片时机:互动内容 -【情景引入】无 -【互动内容】Its head is broken. -【后置对话】无 -``` -### 对话朗读类型示例 -``` -【任务标题】帮机器人拼接头和身体 -【资源配置】图片时机:无 -【情景引入】无 -【互动内容】Eva, can you put the head and body together? -【后置对话】无 -``` diff --git a/business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md b/business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md deleted file mode 100644 index fcba03b..0000000 --- a/business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -name: dialogue-sentence-building-config -version: 1.0.0 -description: 对话组句类互动组件配置标准化规范,用于剧本中对话组句/对话组句-配图类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 对话组句组件配置规范 -## 适用场景 -当【类型】列内容为【对话组句】或【对话组句-配图】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】:结合剧情上下文设计语义化标题,点明组句的核心场景,例如「提醒 Otis 系好安全带」 - - ⚠️ 标题含英文单词时,英文单词前后必须留空格 -2. 【资源配置】: - - 类型为「对话组句」时,填写:无 - - 类型为「对话组句-配图」时,填写: - ``` - 图片时机: - 互动内容 - 互动反馈 - - 音频载体:Pioneer Band - ``` -3. 【情境引入】:填写组题出现前的对话上下文,格式为「角色名 : 对话内容」 -4. 【互动内容】: - - 第一行:题目中文描述,说明组句的目标场景 - - 第二行:末尾标注「(音频)」 - - 第三部分:列出所有可选单词/短语选项,编号为「选项1:XX」「选项2:XX」依次排列 - - 第四部分:答案,格式为「答案:XX」(填写完整的正确句子) - - 第五部分:辅助信息,提供语法提示、句子结构说明等帮助内容 -5. 【互动反馈】: - - 反馈台词要求:根据剧情上下文生成符合角色人设、场景逻辑的合适台词 - - 正确反馈格式:「正确 角色名 : 对话内容」 - - 错误反馈格式:「错误 角色名 : 对话内容」 - - ⚠️ 反馈角色不可是 User 自己,必须是当前场景中的其他角色 -6. 【后置对话】:默认值为「无」 -## 完整示例 -``` -【任务标题】 -提醒 Otis 系好安全带 - -【资源配置】 -图片时机: -互动内容 -互动反馈 - -音频载体:Pioneer Band - -【情境引入】 -User: Let me ask Smith if Maeve is really a visitor. - -【互动内容】 -题目:询问 Smith:Maeve 真的是你邀请的客人吗? -(音频) -选项1:is -选项2:the visitor -选项3:you invited -选项4:Maeve -答案:Is Maeve the visitor you invited? -辅助信息:可以用 is 引导的一般疑问句询问;you invited 是 visitor 的后置定语 - -【互动反馈】 -正确 User : Got it!Sent successfully! -错误 User : Oh no, this isn't a correct sentence. - -【后置对话】 -无 -``` diff --git a/business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md b/business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md deleted file mode 100644 index 9775939..0000000 --- a/business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: dialogue-single-choice-image-config -version: 1.0.0 -description: 图片单选类互动组件配置标准化规范,用于剧本中图片单选/图片单选-配图类型组件的标准化生成 -metadata: - requires: - permissions: ["sheets:spreadsheet"] - identity: bot ---- -# 图片单选组件配置规范 -## 适用场景 -当【类型】列内容为【图片单选】或【图片单选-配图】时,使用本规范生成组件配置 - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -## 配置格式 -### 字段要求 -1. 【任务标题】:结合剧情上下文设计语义化标题,点明互动核心,例如「查看公告板说明书」 -2. 【情境引入】:填写题目出现前的对话上下文,格式为「角色名 : 对话内容」 -3. 【互动内容】: - - 第一行:题目描述,末尾标注「(音频)」,目标对象用$符号包裹,例如`Find a $headset$ in the picture. (音频)` - - 第二部分:列出选项,编号为「00」「01」「02」... 依次排列 - - 第三部分:答案,格式为「答案:XX」(填写对应选项编号) - - 第四部分:辅助信息,格式为「辅助信息:XX 指“XXX”」,为目标词汇提供中文释义 -4. 【互动反馈】: - - 反馈台词要求:根据剧情上下文生成符合角色人设、场景逻辑的合适台词 - - 正确反馈格式:「正确 角色名 : 对话内容」 - - 错误反馈格式:「错误 角色名 : 对话内容」 -5. 【后置对话】:默认值为「无」 -## 完整示例 -``` -【任务标题】 -查看公告板说明书 - -【情境引入】 -Sarah: We've got a message from Rebecca. -User: Let's take a look. - -【互动内容】 -Find a $headset$ in the picture. (音频) -选项: -00 -01 -02 -答案: -01 -辅助信息:headset 指“耳机”。 - -【互动反馈】 -正确 Sarah :What a cool headset! -错误 Sarah:That's not a headset. - -【后置对话】 -无 -``` diff --git a/business_production/组件配置/interactive-component-json/SKILL.md b/business_production/组件配置/interactive-component-json/SKILL.md index de1d4ad..63fd20c 100644 --- a/business_production/组件配置/interactive-component-json/SKILL.md +++ b/business_production/组件配置/interactive-component-json/SKILL.md @@ -28,7 +28,8 @@ metadata: 所有生成的 JSON 配置中,任何嵌入的文本内容(题目、选项、解析、台词等)必须遵守: 1. 禁止 Markdown 标记(`**` `*` `__` `_` `#` `>` `-`),纯文本输出 2. 英式拼写优先(colour/centre/travelling 等) -3. 标点符号规范:英文半角(. , ! ?),中文全角(,。!?),不混用 +3. 标点符号规范:英文半角(. , ! ? :),中文全角(,。!?:),不混用。特别注意:英文冒号必须用半角 `:`,不得用全角 `:` +4. 中英文混排空格规范:中文与英文/数字之间加半角空格(如"汇报 Jay 不配合"),纯中文或纯英文内容不加额外空格 ## 触发场景 diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc index 53bbaa4e64dda386be5304f533555f268330ccc1..4e9dc3d6a63287bb9cb537c242acc0fe4cb1dadc 100644 GIT binary patch delta 3004 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 diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/validate_format.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/validate_format.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3029cbccb3e1398159b40d11b9909a3ea3b8301 GIT binary patch literal 30646 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 --type + python3 validate_format.py --file # 批量校验 + python3 validate_format.py --sheet # 飞书Sheet校验 +""" + +import re +import sys +import json +import argparse +from dataclasses import dataclass, field +from typing import List, Dict, Optional, Tuple +from enum import Enum + + +# ============================================================ +# 第一部分:题型格式特征定义(唯一真相源) +# ============================================================ + +class ComponentCategory(Enum): + MID = "mid" # 中互动 + CORE = "core" # 核心互动 + + +@dataclass +class FormatSpec: + """单个题型的格式规范""" + cn_name: str + cType: str + category: ComponentCategory + + # 题型特征标记 + has_blank_marker: bool = False # 题干必须有 ___ + has_options: bool = False # 有选项列表 + has_answer: bool = False # 有答案 + has_per_option_feedback: bool = False # 每个选项有独立反馈 + is_read_type: bool = False # 朗读型 + is_express_type: bool = False # 表达型 + is_sentence_build: bool = False # 组句型(选项为碎片,答案为拼接句) + is_fillin: bool = False # 挖空/填空型 + + # 文本规范 + question_lang: str = "" # 题干语言要求: "en" / "cn" / "" + option_format: str = "" # 选项格式: "word" / "fragment" / "sentence" / "letter" / "" + answer_format: str = "" # 答案格式: "word" / "sentence" / "index" / "" + + # 附加说明 + notes: str = "" + + +# ============================================================ +# 中互动组件格式规范(27种) +# ============================================================ + +MID_FORMAT_SPECS: Dict[str, FormatSpec] = { + "对话互动": FormatSpec( + cn_name="对话互动", cType="mid_sentence_dialogue", + category=ComponentCategory.MID, + is_read_type=True, + question_lang="en", + notes="朗读型,无选项无答案"), + "对话朗读": FormatSpec( + cn_name="对话朗读", cType="mid_dialog_repeat", + category=ComponentCategory.MID, + is_read_type=True, + question_lang="en", + notes="朗读型,无选项无答案"), + "对话表达": FormatSpec( + cn_name="对话表达", cType="mid_dialog_express", + category=ComponentCategory.MID, + is_express_type=True, + notes="表达型,有示例回答,无选项"), + "对话选读": FormatSpec( + cn_name="对话选读", cType="mid_dialog_select", + category=ComponentCategory.MID, + has_options=True, + has_per_option_feedback=True, + option_format="sentence", + notes="选项为完整句子,每个选项有独立反馈"), + "对话选择": FormatSpec( + cn_name="对话选择", cType="mid_dialog_choose", + category=ComponentCategory.MID, + has_options=True, + has_per_option_feedback=True, + option_format="sentence", + notes="选项为完整回复句,每个选项有独立反馈,选项需标注(音频)"), + "对话挖空": FormatSpec( + cn_name="对话挖空", cType="mid_dialog_fillin", + category=ComponentCategory.MID, + has_blank_marker=True, + has_options=True, + is_fillin=True, + question_lang="en", + option_format="word", + notes="题干必须是带 ___ 的英文句子,选项为填入空位的单词"), + "对话组句": FormatSpec( + cn_name="对话组句", cType="mid_dialog_sentence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "信息描写": FormatSpec( + cn_name="信息描写", cType="mid_message_trace", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词/短语"), + "信息拼词": FormatSpec( + cn_name="信息拼词", cType="mid_message_spell", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + option_format="letter", + answer_format="word", + notes="选项为字母,答案为拼成的单词"), + "信息组句": FormatSpec( + cn_name="信息组句", cType="mid_message_combine", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "信息补词": FormatSpec( + cn_name="信息补词", cType="mid_message_fillin", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词"), + "信息填词": FormatSpec( + cn_name="信息填词", cType="mid_message_word", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词/短语"), + "信息填句": FormatSpec( + cn_name="信息填句", cType="mid_message_sentence", + category=ComponentCategory.MID, + has_answer=True, + answer_format="sentence", + notes="答案为完整句子"), + "物品互动": FormatSpec( + cn_name="物品互动", cType="mid_vocab_item", + category=ComponentCategory.MID, + has_options=True, + option_format="word", + notes="选项为单词"), + "图片互动": FormatSpec( + cn_name="图片互动", cType="mid_vocab_image", + category=ComponentCategory.MID, + has_answer=True, + notes="答案为坐标/区域标识"), + "图片单选": FormatSpec( + cn_name="图片单选", cType="mid_image_choose", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为选项索引"), + "图片多选": FormatSpec( + cn_name="图片多选", cType="mid_image_multiple", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为选项索引列表"), + "图片有序": FormatSpec( + cn_name="图片有序", cType="mid_image_sequence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为排序索引"), + "图片拖拽": FormatSpec( + cn_name="图片拖拽", cType="mid_image_drag", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + answer_format="index", + notes="答案为拖拽目标索引"), + "材料互动": FormatSpec( + cn_name="材料互动", cType="mid_sentence_material", + category=ComponentCategory.MID, + has_options=True, + notes="选项为材料/句子"), + "指令互动": FormatSpec( + cn_name="指令互动", cType="mid_vocab_instruction", + category=ComponentCategory.MID, + has_options=True, + notes="选项为指令"), + "挖空互动": FormatSpec( + cn_name="挖空互动", cType="mid_grammar_cloze", + category=ComponentCategory.MID, + has_blank_marker=True, + has_options=True, + has_answer=True, + is_fillin=True, + question_lang="en", + option_format="word", + notes="题干必须是带 ___ 的英文句子,选项为填入空位的单词"), + "组句互动": FormatSpec( + cn_name="组句互动", cType="mid_grammar_sentence", + category=ComponentCategory.MID, + has_options=True, + has_answer=True, + is_sentence_build=True, + option_format="fragment", + answer_format="sentence", + notes="选项为句子片段,答案为拼接后的完整句"), + "填词互动": FormatSpec( + cn_name="填词互动", cType="mid_vocab_fillBlank", + category=ComponentCategory.MID, + has_answer=True, + answer_format="word", + notes="答案为单词"), + "语音互动": FormatSpec( + cn_name="语音互动", cType="mid_sentence_voice", + category=ComponentCategory.MID, + has_options=True, + notes="语音类选项"), + "造句互动": FormatSpec( + cn_name="造句互动", cType="mid_sentence_makeSentence", + category=ComponentCategory.MID, + is_express_type=True, + notes="造句型,自由输出"), + "发音互动": FormatSpec( + cn_name="发音互动", cType="mid_pron_pron", + category=ComponentCategory.MID, + is_read_type=True, + notes="发音型,朗读输出"), +} + + +# ============================================================ +# 核心互动组件格式规范(15种) +# ============================================================ + +CORE_FORMAT_SPECS: Dict[str, FormatSpec] = { + "合作阅读": FormatSpec( + cn_name="合作阅读", cType="core_reading_order", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图选词": FormatSpec( + cn_name="看图选词", cType="core_reading_imageDrag", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语快答": FormatSpec( + cn_name="口语快答", cType="core_speaking_reply", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语独白": FormatSpec( + cn_name="口语独白", cType="core_speaking_monologue", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语妙问": FormatSpec( + cn_name="口语妙问", cType="core_speaking_inquiry", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图说话": FormatSpec( + cn_name="看图说话", cType="core_speaking_image", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "口语探讨": FormatSpec( + cn_name="口语探讨", cType="core_speaking_discuss", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "合作听力": FormatSpec( + cn_name="合作听力", cType="core_listening_order", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "听力拖拽": FormatSpec( + cn_name="听力拖拽", cType="core_listening_drag", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "听力选择": FormatSpec( + cn_name="听力选择", cType="core_listening_choose", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "写作互动": FormatSpec( + cn_name="写作互动", cType="core_writing_questionMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图组句": FormatSpec( + cn_name="看图组句", cType="core_writing_imgMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "看图撰写": FormatSpec( + cn_name="看图撰写", cType="core_writing_imgWrite", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "邮件组句": FormatSpec( + cn_name="邮件组句", cType="core_writing_questionMakeSentence", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), + "邮件撰写": FormatSpec( + cn_name="邮件撰写", cType="core_writing_questionWrite", + category=ComponentCategory.CORE, + notes="核心互动,JSON结构见 core-content-json-standard"), +} + + +# 合并所有格式规范 +ALL_FORMAT_SPECS = {**MID_FORMAT_SPECS, **CORE_FORMAT_SPECS} + +# 配图后缀变体映射(剥离后缀后查主表) +PICTURE_VARIANTS = { + "对话朗读-配图": "对话朗读", + "对话表达-配图": "对话表达", + "对话选读-配图": "对话选读", + "对话选择-配图": "对话选择", + "对话挖空-配图": "对话挖空", + "对话组句-配图": "对话组句", + "图片单选-配图": "图片单选", +} + + +# ============================================================ +# 第二部分:通用校验规则 +# ============================================================ + +class Severity(Enum): + ERROR = "🔴" # 必须修复 + WARN = "🟡" # 建议修复 + INFO = "⚪" # 提示 + + +@dataclass +class Violation: + severity: Severity + rule: str + detail: str + location: str = "" + + +def resolve_type(cn_type: str) -> Tuple[Optional[FormatSpec], str]: + """解析组件类型名,处理配图后缀变体""" + cn_type = cn_type.strip() + # 精确匹配 + if cn_type in ALL_FORMAT_SPECS: + return ALL_FORMAT_SPECS[cn_type], cn_type + # 配图变体 + if cn_type in PICTURE_VARIANTS: + base = PICTURE_VARIANTS[cn_type] + return ALL_FORMAT_SPECS.get(base), cn_type + # 模糊匹配(去除末尾数字) + m = re.match(r'^(.+?)\d*$', cn_type) + if m: + base = m.group(1).strip() + if base in ALL_FORMAT_SPECS: + return ALL_FORMAT_SPECS[base], cn_type + return None, cn_type + + +# ============================================================ +# 通用规则检查 +# ============================================================ + +def check_title_spacing(text: str) -> List[Violation]: + """检查标题中中英文混排空格""" + violations = [] + for line in text.split('\n'): + if '【任务标题】' in line: + title = line.replace('【任务标题】', '').strip() + # 中文字符后紧跟英文字母(缺空格) + issues = re.finditer(r'([\u4e00-\u9fff])([A-Za-z])', title) + for m in issues: + violations.append(Violation( + Severity.ERROR, + "中英文混排缺空格", + f"标题'{title}'中'{m.group(1)}{m.group(2)}'之间应加半角空格", + f"【任务标题】" + )) + # 英文字母后紧跟中文字符(缺空格) + issues = re.finditer(r'([A-Za-z])([\u4e00-\u9fff])', title) + for m in issues: + violations.append(Violation( + Severity.ERROR, + "中英文混排缺空格", + f"标题'{title}'中'{m.group(1)}{m.group(2)}'之间应加半角空格", + f"【任务标题】" + )) + return violations + + +def check_feedback_colon(text: str) -> List[Violation]: + """检查反馈中角色名冒号格式:应为 '角色名: 台词',冒号前无空格,冒号为英文半角""" + violations = [] + # 匹配反馈行中的 "角色名 : 台词"(冒号前有空格) + pattern_space = re.compile(r'([A-Z][a-zA-Z]*)\s+:\s') + for m in pattern_space.finditer(text): + name = m.group(1) + violations.append(Violation( + Severity.ERROR, + "反馈冒号前多余空格", + f"'{name} :' 应改为 '{name}:'", + "【互动反馈】" + )) + # 匹配中文冒号 + pattern_cn_colon = re.compile(r'([A-Z][a-zA-Z]*)\s*:') + for m in pattern_cn_colon.finditer(text): + name = m.group(1) + violations.append(Violation( + Severity.ERROR, + "反馈冒号使用了中文冒号", + f"'{name}:' 应改为 '{name}:'", + "【互动反馈】" + )) + return violations + + +def check_markdown(text: str) -> List[Violation]: + """检查是否使用了 Markdown 标记""" + violations = [] + # 检查加粗/斜体,排除 ___(挖空标记) + # ** 和 __ 是加粗,* 和 _ 是斜体 + if '**' in text: + violations.append(Violation( + Severity.ERROR, + "禁止使用 Markdown 加粗标记", + "发现 '**' 标记", + "" + )) + # __ 检查:排除 ___(连续三个下划线是挖空标记) + # 检查是否有 __ 但不是 ___ 的一部分 + stripped = text.replace('___', '') # 移除挖空标记 + if '__' in stripped: + violations.append(Violation( + Severity.ERROR, + "禁止使用 Markdown 加粗标记", + "发现 '__' 标记(非挖空标记 ___)", + "" + )) + # * 检查:排除 **(已单独检查) + if re.search(r'(? List[Violation]: + """检查常见拼写错误""" + violations = [] + common_errors = { + 'shoud': 'should', + 'becasue': 'because', + 'thier': 'their', + 'recieve': 'receive', + 'teh': 'the', + 'adn': 'and', + 'writting': 'writing', + 'lisence': 'license', + 'occured': 'occurred', + 'untill': 'until', + } + words = re.findall(r'\b\w+\b', text) + for word in words: + lower = word.lower() + if lower in common_errors: + violations.append(Violation( + Severity.ERROR, + "拼写错误", + f"'{word}' 应为 '{common_errors[lower]}'", + "" + )) + return violations + + +def check_punctuation(text: str) -> List[Violation]: + """检查标点符号规范""" + violations = [] + # 英文内容中的中文标点 + # 在【互动内容】区域检查 + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + # 检查英文句子中的中文标点 + for cn_punct, en_punct in [(',', ','), ('。', '.'), ('!', '!'), ('?', '?'), (':', ':')]: + if cn_punct in content: + # 只报告在英文语境中的(简单判断:前后有英文字母) + for m in re.finditer(rf'[A-Za-z]\s*{re.escape(cn_punct)}\s*[A-Za-z]', content): + violations.append(Violation( + Severity.ERROR, + "英文内容中使用了中文标点", + f"'{cn_punct}' 应改为 '{en_punct}'", + "【互动内容】" + )) + return violations + + +# ============================================================ +# 题型专属规则检查 +# ============================================================ + +def check_blank_marker(text: str, spec: FormatSpec) -> List[Violation]: + """挖空类题型:检查题干是否包含 ___ 标记""" + violations = [] + if not spec.has_blank_marker: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + if '___' not in content: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 题干缺少 ___ 挖空标记", + "题干必须包含 '___' 表示需要填空的位置。" + "正确格式示例:'He doesn't ___ to tell us!'", + "【互动内容】" + )) + return violations + + +def check_question_language(text: str, spec: FormatSpec) -> List[Violation]: + """检查题干语言是否符合要求""" + violations = [] + if not spec.question_lang: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if not content_match: + return violations + + content = content_match.group(1) + # 取第一行非空、非"要求:"、非"题目:"的内容作为题干 + lines = [l.strip() for l in content.split('\n') if l.strip() + and not l.strip().startswith('要求') + and not l.strip().startswith('题目') + and not l.strip().startswith('选项') + and not l.strip().startswith('答案') + and not l.strip().startswith('辅助')] + + if spec.question_lang == "en" and lines: + first_line = lines[0] + # 检查是否以中文为主(超过50%中文字符) + cn_chars = len(re.findall(r'[\u4e00-\u9fff]', first_line)) + total_chars = len(first_line.replace(' ', '')) + if total_chars > 0 and cn_chars / total_chars > 0.5: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 题干应为英文", + f"当前题干以中文为主: '{first_line[:60]}...'", + "【互动内容】" + )) + return violations + + +def check_options_format(text: str, spec: FormatSpec) -> List[Violation]: + """检查选项格式""" + violations = [] + if not spec.has_options: + return violations + + # 提取选项 + options = re.findall(r'选项\d+[::]\s*(.+)', text) + if not options: + # 可能是"选项:"后跟列表的格式 + opt_match = re.search(r'选项[::]\s*\n?(.*?)(?=答案|辅助|【|$)', text, re.DOTALL) + if opt_match: + options = [o.strip() for o in opt_match.group(1).split('\n') if o.strip()] + + if spec.has_per_option_feedback: + # 对话选择/对话选读:每个选项必须有反馈 + feedback_count = len(re.findall(r'反馈\s*\w+\s*:', text)) + if feedback_count < len(options): + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 选项缺少逐项反馈", + f"有 {len(options)} 个选项但只有 {feedback_count} 条反馈", + "【互动内容】" + )) + + if spec.is_sentence_build: + # 组句型:检查是否有"答案"行 + if '答案' not in text: + violations.append(Violation( + Severity.ERROR, + f"{spec.cn_name} 缺少答案行", + "组句型必须有'答案:'行,给出拼接后的完整句子", + "【互动内容】" + )) + # 选项应为片段,答案应为完整句 + answer_match = re.search(r'答案[::]\s*(.+)', text) + if answer_match and options: + answer = answer_match.group(1).strip() + # 简单检查:答案应该比单个选项长 + max_opt_len = max(len(o) for o in options) + if len(answer) <= max_opt_len * 1.5: + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 答案可能不是完整拼接句", + f"答案'{answer}'长度与选项片段接近", + "【互动内容】" + )) + + return violations + + +def check_audio_marker(text: str, spec: FormatSpec) -> List[Violation]: + """检查需要音频标记的题型""" + violations = [] + # 对话选择、对话选读、对话挖空、对话组句:选项/题干后应有(音频) + audio_types = {"对话选择", "对话选读", "对话挖空", "对话组句"} + if spec.cn_name not in audio_types: + return violations + + content_match = re.search(r'【互动内容】\n(.*?)(?=【|$)', text, re.DOTALL) + if content_match: + content = content_match.group(1) + # 检查是否有(音频)标记 + if '(音频)' not in content and '(音频)' not in content: + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 缺少(音频)标记", + "对话类组件应在选项或题干后标注(音频)", + "【互动内容】" + )) + return violations + + +def check_no_options_when_not_expected(text: str, spec: FormatSpec) -> List[Violation]: + """非选项型组件不应出现选项""" + violations = [] + if spec.has_options: + return violations + + if re.search(r'选项\d*[::]', text): + violations.append(Violation( + Severity.WARN, + f"{spec.cn_name} 不应包含选项", + f"该题型为{spec.notes},但配置中出现了选项", + "【互动内容】" + )) + return violations + + +# ============================================================ +# 第三部分:主校验入口 +# ============================================================ + +def validate(teaching_config: str, cn_type: str) -> List[Violation]: + """ + 校验单个组件配置 + + Args: + teaching_config: 组件配置文本(teaching_config 字段内容) + cn_type: 组件中文类型名(如 "对话挖空"、"对话挖空12") + + Returns: + 违规列表 + """ + spec, resolved_type = resolve_type(cn_type) + violations = [] + + if spec is None: + violations.append(Violation( + Severity.ERROR, + "未知组件类型", + f"'{cn_type}' 不在已知的 27 种中互动或 15 种核心互动类型中", + "" + )) + return violations + + # ---- 通用规则 ---- + violations.extend(check_title_spacing(teaching_config)) + violations.extend(check_feedback_colon(teaching_config)) + violations.extend(check_markdown(teaching_config)) + violations.extend(check_spelling(teaching_config)) + violations.extend(check_punctuation(teaching_config)) + + # ---- 题型专属规则 ---- + violations.extend(check_blank_marker(teaching_config, spec)) + violations.extend(check_question_language(teaching_config, spec)) + violations.extend(check_options_format(teaching_config, spec)) + violations.extend(check_audio_marker(teaching_config, spec)) + violations.extend(check_no_options_when_not_expected(teaching_config, spec)) + + return violations + + +def format_report(violations: List[Violation], cn_type: str = "") -> str: + """格式化输出校验报告""" + if not violations: + return "✅ 全部通过" + + errors = [v for v in violations if v.severity == Severity.ERROR] + warns = [v for v in violations if v.severity == Severity.WARN] + infos = [v for v in violations if v.severity == Severity.INFO] + + lines = [] + if cn_type: + lines.append(f"📋 校验结果: {cn_type}") + lines.append(f" 🔴 错误: {len(errors)} 🟡 警告: {len(warns)} ⚪ 提示: {len(infos)}") + lines.append("") + + for v in violations: + lines.append(f" {v.severity.value} [{v.rule}] {v.detail}") + if v.location: + lines.append(f" 位置: {v.location}") + + return '\n'.join(lines) + + +# ============================================================ +# 第四部分:CLI 入口 +# ============================================================ + +def main(): + parser = argparse.ArgumentParser( + description="互动组件配置格式校验脚本", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +示例: + # 校验单个组件 + python3 validate_format.py "【任务标题】汇报Jay不配合\\n..." --type "对话挖空" + + # 从 stdin 读取 + echo "..." | python3 validate_format.py --type "对话组句" --stdin + + # 列出所有支持的题型 + python3 validate_format.py --list-types + """ + ) + parser.add_argument('config_text', nargs='?', help='组件配置文本') + parser.add_argument('--type', '-t', required=False, help='组件中文类型名') + parser.add_argument('--stdin', action='store_true', help='从 stdin 读取配置文本') + parser.add_argument('--list-types', action='store_true', help='列出所有支持的题型') + parser.add_argument('--json', action='store_true', help='以 JSON 格式输出') + + args = parser.parse_args() + + if args.list_types: + print("=== 中互动组件(27种)===") + for name, spec in MID_FORMAT_SPECS.items(): + flags = [] + if spec.has_blank_marker: flags.append("___标记") + if spec.has_options: flags.append("选项") + if spec.has_answer: flags.append("答案") + if spec.has_per_option_feedback: flags.append("逐项反馈") + if spec.is_read_type: flags.append("朗读") + if spec.is_express_type: flags.append("表达") + if spec.is_sentence_build: flags.append("组句") + print(f" {name:12s} | {', '.join(flags) if flags else '(无特殊标记)'}") + print("\n=== 核心互动组件(15种)===") + for name in CORE_FORMAT_SPECS: + print(f" {name}") + return + + if not args.type: + print("❌ 必须指定 --type 参数", file=sys.stderr) + sys.exit(1) + + if args.stdin: + config_text = sys.stdin.read() + elif args.config_text: + config_text = args.config_text + else: + print("❌ 必须提供配置文本(参数或 --stdin)", file=sys.stderr) + sys.exit(1) + + violations = validate(config_text, args.type) + + if args.json: + result = { + "type": args.type, + "passed": len(violations) == 0, + "error_count": len([v for v in violations if v.severity == Severity.ERROR]), + "warn_count": len([v for v in violations if v.severity == Severity.WARN]), + "violations": [ + {"severity": v.severity.value, "rule": v.rule, "detail": v.detail, "location": v.location} + for v in violations + ] + } + print(json.dumps(result, ensure_ascii=False, indent=2)) + else: + print(format_report(violations, args.type)) + + # 有错误时返回非零 + if any(v.severity == Severity.ERROR for v in violations): + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/classify_l2.py b/classify_l2.py deleted file mode 100644 index 7203d7b..0000000 --- a/classify_l2.py +++ /dev/null @@ -1,48 +0,0 @@ -import pandas as pd -import re - -file_kb = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' -df = pd.read_excel(file_kb) - -# 分类关键词映射 (中文释义关键词 -> 分类) -# 优先级从高到低排列 -CATEGORY_RULES = [ - # === 功能词(语法语用相关) === - ('功能词-代词与指代', ['代词', '谁', '什么', '哪', '这', '那', '它', '他', '她', '我', '你', '我们', '你们', '他们', '她们', '它们', '自己', '某人', '任何人', '没人', '每个人', '所有人', '一切', '无任何', '没有东西', '没有', '互相', '彼此', '某物', '某事', '某处', '任何地方', '到处']), - ('功能词-连词', ['conj', '连词', '如果', '虽然', '尽管', '因为', '所以', '但是', '然而', '无论', '是否', '当……时', '引导从句', '也不', '或者', '和', '与', '等等', '比', '比较', '自从', '直到', '除非']), - ('功能词-介词', ['prep', '介词', '在……', '关于', '沿着', '顺着', '通过', '靠', '被', '由', '用', '使用', '没有', '不用', '属于', '除……之外', '朝着', '向', '朝', '为了', '获取', '交换', '换取', '出售', '售卖', '表示位置', '表示意义', '制成', '在…期间', '每', '每一', '经过', '覆盖', '对面', '紧邻', '旁边', '之内', '上面', '下面', '低于', '未满', '不迟于', '之前', '之后', '之中', '之间', '连接', '离开', '进入', '里面', '变成', '转入', '也', '此外', '至少', '顺便', '附带', '由于', '当然不']), - ('功能词-助动词与情态', ['助动词', '情态', '能', '会', '可以', '必须', '一定', '应该', '应当', '也许', '可能', '将', '想要', '愿意', '提议', '建议', '用于征求意见', '用于构成', '反问', '介意', '在乎', '不必', '无需', '不得不', '打算']), - ('功能词-冠词与限定词', ['det', '限定词', '冠词', '一个', '某个', '全部', '所有', '足够', '充足', '更多', '再', '最', '极', '最多', '大多数', '几乎所有', '几个', '若干', '一些', '一半', '半个', '如此', '这样', '例如', '诸如', '上一个', '前一个', '最后', '最终', '最近', '最新', '另一', '二者之一', '两者都不', '各种各样', '各类', '不再', '再也不']), - ('功能词-副词性小品词', ['adv', '副词', '大约', '以上', '超过', '横穿', '实际上', '以前', '再次', '向前', '几乎', '独自', '大声', '已经', '一直', '总是', '永远', '不再', '再也不', '尽管', '不管怎样', '无论如何', '反正', '远离', '非常', '极其', '最好', '更好', '仔细', '当然', '轻松', '尤其', '特别', '甚至', '连……都', '曾经', '任何时候', '精确', '恰好', '快速地', '迅速地', '终于', '首先', '将来', '今后', '向前', '前进', '更多', '艰难', '几乎不', '立即', '代替', '刚刚', '马上', '立刻', '稍后', '至少', '现场直播', '长时间', '长久', '通常', '相当', '颇', '不少', '确实', '实在', '真的', '仍然', '笔直', '突然', '一起', '不太', '两次', '两倍', '双的', '不幸', '自愿', '通常', '每周', '非常', '何时', '何处', '为何', '怎么', '怎样', '如何', '询问健康状况', '你好', '您好', '给', '给你', '这里', '在这儿', '方式', '那里', '现在', '如今', '刚才', '尽快', '不久', '很快', '那么', '因此', '所以', '等等', '这样', '如此', '也', '此外', '不客气', '人们', '至今', '尚未', '没关系', '好吧', '少量', '小块', '一点', '少许', '部分', '在……里', '外出', '关闭', '停用', '休假', '不工作', '脱掉', '移除', '向上', '高处', '转过来', '楼上', '楼下', '向东', '向西', '向南', '向北', '早期', '初期', '提前', '以前', '之前']), - - # === 实体名词 === - ('动物', ['动物', '狗', '猫', '鸟', '鱼', '马', '牛', '羊', '猪', '鸡', '鸭', '鹅', '兔', '鼠', '蛇', '龙', '猴', '象', '虎', '狮', '熊', '狼', '狐狸', '鹿', '蛙', '龟', '鳄', '鲸', '鲨', '鹰', '蝴蝶', '蜘蛛', '昆虫', '恐龙', '宠物', '幼兽', '翅膀', '动物园', '野生', '打猎', '狩猎']), - ('食物与饮品', ['食物', '饮品', '饮料', '水果', '蔬菜', '肉', '鱼', '面包', '蛋糕', '饼干', '糖果', '巧克力', '冰淇淋', '奶酪', '黄油', '奶油', '酸奶', '牛奶', '果汁', '水', '茶', '咖啡', '可乐', '酒', '啤酒', '香槟', '汉堡', '三明治', '披萨', '比萨', '面条', '米饭', '汤', '沙拉', '鸡蛋', '火腿', '香肠', '牛排', '猪肉', '羊肉', '鸡肉', '牛肉', '豆腐', '玉米', '土豆', '番茄', '黄瓜', '蘑菇', '辣椒', '大蒜', '洋葱', '胡萝卜', '卷心菜', '草莓', '甜瓜', '芒果', '香蕉', '苹果', '橙子', '柠檬', '葡萄', '西瓜', '桃子', '梨', '樱桃', '菠萝', '椰子', '坚果', '花生', '豆', '豌豆', '麦片', '粥', '米饭', '面粉', '糖', '盐', '胡椒', '油', '醋', '酱', '果酱', '蜂蜜', '咖喱', '菜单', '食谱', '烹饪', '厨艺', '厨具', '烤箱', '锅', '碗', '盘子', '餐叉', '勺子', '筷子', '杯子', '马克杯', '菜单', '主菜', '菜品', '零食', '快餐', '野餐', '烧烤', '烘焙', '煮', '炸', '烤', '煎', '炒', '蒸', '美味', '可口', '好吃', '新鲜的', '饮食', '餐', '饭', '早餐', '午餐', '晚餐', '正餐', '甜点', '甜食', '曲奇', '薯片', '罐头', '矿泉水', '软饮料', '柠檬水', '外卖', '食堂']), - ('衣物与配饰', ['衣物', '衣服', '服装', '穿着', '穿', '戴', '帽子', '衬衫', '裤子', '裙子', '鞋', '袜子', '外套', '夹克', '毛衣', '套装', '领带', '腰带', '手套', '围巾', '泳衣', '制服', '靴子', '运动鞋', '拖鞋', '凉鞋', '配饰', '首饰', '珠宝', '项链', '耳环', '手镯', '手链', '戒指', '手表', '眼镜', '太阳镜', '钱包', '背包', '行李箱', '雨衣', '口袋', '纽扣', '拉链', '皮革', '丝绸', '羊毛', '棉花', '毛皮', '皮草', '化妆品', '香水', '洗发水', '肥皂', '梳子', '毛巾', '纸巾', '牙刷', '牙膏']), - ('身体部位', ['身体', '部位', '头', '脸', '眼睛', '鼻子', '嘴巴', '耳朵', '牙齿', '舌头', '脖子', '喉咙', '肩膀', '手臂', '手', '手指', '指甲', '胸部', '背部', '腹部', '腿', '膝盖', '脚', '脚趾', '皮肤', '骨头', '肌肉', '血液', '心脏', '大脑', '头发', '胡子', '金发', '红发', '尸体']), - ('家居与房屋', ['家居', '房屋', '房子', '家', '房间', '客厅', '卧室', '厨房', '浴室', '厕所', '卫生间', '阳台', '花园', '车库', '院子', '门', '窗户', '地板', '天花板', '墙壁', '楼梯', '电梯', '家具', '桌子', '椅子', '床', '沙发', '书架', '书柜', '柜子', '橱柜', '抽屉', '灯', '镜子', '地毯', '窗帘', '枕头', '被子', '毯子', '床单', '毛巾', '钟', '闹钟', '日历', '钥匙', '锁', '垃圾桶', '水槽', '水龙头', '浴缸', '洗衣机', '洗碗', '家务', '扫', '清洁', '打扫', '整理', '收拾']), - ('地点与建筑', ['地点', '建筑', '建筑物', '地方', '场所', '城市', '城镇', '乡村', '村庄', '街道', '路', '道路', '桥', '桥梁', '公园', '广场', '市场', '商店', '超市', '商场', '购物中心', '百货', '饭馆', '餐厅', '旅馆', '酒店', '银行', '邮局', '医院', '药店', '警察局', '消防站', '加油站', '车站', '机场', '港口', '码头', '教堂', '寺庙', '清真寺', '博物馆', '图书馆', '剧院', '电影院', '体育场', '游泳池', '健身房', '俱乐部', '酒吧', '咖啡馆', '食堂', '学校', '大学', '学院', '工厂', '公司', '办公室', '实验室', '城堡', '宫殿', '塔', '地址', '入口', '出口', '走廊', '站台', '社区', '街区', '角落', '区域', '首都', '国家', '故乡', '家乡', '外国', '国外', '岛屿', '沙漠', '海岸', '海滩', '海边', '海港', '港口', '港湾']), - ('学习用品', ['学习用品', '文具', '笔', '铅笔', '钢笔', '圆珠笔', '粉笔', '橡皮', '尺子', '书包', '笔记本', '教科书', '课本', '字典', '词典', '书', '纸', '试卷', '文件', '文件夹', '信封', '邮票', '胶水', '剪刀', '黑板', '白板', '黑板擦', '计算器', '地图', '地球仪', '课程表', ' timetable']), - ('自然世界', ['自然', '世界', '环境', '大自然', '宇宙', '地球', '太阳', '月亮', '星星', '行星', '天空', '空气', '云', '风', '雨', '雪', '冰', '雾', '闪电', '雷', '暴风雨', '雷暴', '洪水', '地震', '火', '火灾', '森林', '树', '花', '草', '叶子', '竹子', '木头', '木材', '石头', '岩石', '土壤', '土地', '陆地', '山', '河', '湖', '海', '海洋', '水', '沙滩', '贝壳', '风景', '景色', '景观', '污染', '回收', '垃圾', '废物', '气候', '温度', '度', '度数', '热', '冷', '暖', '凉', '季节', '春', '夏', '秋', '冬', '天气', '晴', '阴', '多云', '有雾', '下雨', '下雪', '刮风', '阵雨']), - ('交通与出行', ['交通', '出行', '旅行', '旅游', '车', '汽车', '公交车', '公共汽车', '出租车', '火车', '地铁', '飞机', '轮船', '船', '自行车', '摩托车', '有轨电车', '卡车', '货车', '长途客车', '小型摩托车', '滑板车', '交通信号灯', '红绿灯', '十字路口', '高速公路', '铁路', '道路', '路线', '旅程', '旅行', '出行', '观光', '导游', '旅游指南', '护照', '签证', '行李', '地图', '指南', '机票', '车票', '站台', '航班', '飞行', '驾驶执照', '驾照', '停车', '乘车', '乘坐', '骑', '划船', '帆船', '冲浪', '潜水', '远足', '徒步', '露营', '野营', '帐篷', '睡袋', '游客', '乘客', '飞行员', '司机', '头盔', '安全带', '轮胎', '引擎', '汽油', '燃气', '加油站', '车库', '延误', '到达', '离开', '出发', '返回', '穿过', '越过', '横穿', '转弯', '速度', '公里', '英里', '米', '厘米']), - ('科技', ['科技', '技术', '计算机', '电脑', '手机', '电话', '互联网', '网络', '网站', '网页', '软件', '程序', '应用', '应用程序', '数码', '数字的', '电子', '电子的', '电动的', '电', '电池', '充电', '屏幕', '键盘', '鼠标', '打印机', '打印', '复印', '扫描', '摄像头', '相机', '数码相机', '照片', '摄影', '摄影师', '拍照', '自拍', '视频', '音频', '音乐播放器', 'MP3', '耳机', '扬声器', '麦克风', '电视', '频道', '节目', '广播', '收音机', '机器人', '人工智能', 'AI', '火箭', '卫星', '太空', '信息技术', 'IT', '个人电脑', 'PC', '笔记本电脑', '平板', '社交媒体', '短信', '发短信', '邮件', '电子邮件', '上网', '浏览', '下载', '上传', '点击', '链接', '密码', '文件', '文档', '文件夹', '保存', '复制', '粘贴', '删除', '病毒', '软件', '硬件', '数据', '数据库', '编码', '编程', 'WiFi', '无线网络']), - ('颜色与形状', ['颜色', '色彩', '红色', '蓝色', '绿色', '黄色', '黑色', '白色', '紫色', '橙色', '粉色', '灰色', '棕色', '褐色', '金色', '银色', '米色', '浅色', '鲜艳', '形状', '圆形', '方形', '三角形', '线条', '方框', '符号']), - - # === 人物与社会 === - ('人物与社会', ['人物', '人', '男人', '女人', '男孩', '女孩', '儿童', '孩子', '婴儿', '成人', '老人', '年轻人', '青少年', '少年', '青年', '先生', '女士', '夫人', '小姐', '绅士', '朋友', '男朋友', '女朋友', '家庭', '家人', '父母', '父亲', '母亲', '爸爸', '妈妈', '兄弟', '姐妹', '儿子', '女儿', '丈夫', '妻子', '爷爷', '奶奶', '外公', '外婆', '孙子', '孙女', '叔叔', '阿姨', '亲戚', '邻居', '客人', '主人', '女主人', '东道主', '公民', '人们', '人群', '人类', '民族', '社会', '文化', '传统', '历史', '国王', '女王', '王子', '公主', '皇帝', '女皇', '英雄', '名人', '明星', '粉丝', '成员', '伙伴', '同事', '笔友', '婚礼', '结婚', '已婚', '出生', '生日', '节日', '圣诞节', '新年', '庆祝', '祝贺', '礼物', '卡片', '明信片', '邀请', '派对', '聚会', '烟花', '灯笼', '气球', '蜡烛', '慈善', '捐赠', '志愿者', '社区', '政府', '法律', '规则', '军队', '士兵', '战士', '战争', '和平', '安全', '危险', '风险', '紧急情况', '事故', '灾难', '火灾', '警察', '消防员', '救护车', '犯罪', '偷窃', '欺骗', '欺负', '欺凌', '惩罚', '攻击', '战斗', '杀死', '枪', '武器']), - ('职业', ['职业', '工作', '教师', '老师', '学生', '医生', '护士', '牙医', '兽医', '药剂师', '科学家', '工程师', '机械师', '程序员', '设计师', '建筑师', '律师', '法官', '警察', '消防员', '士兵', '军人', '飞行员', '宇航员', '司机', '厨师', '服务员', '男服务员', '女服务员', '店员', '售货员', '销售员', '经理', '秘书', '接待员', '会计', '商人', '男商人', '女商人', '导演', '演员', '男演员', '女演员', '歌手', '舞者', '音乐家', '艺术家', '画家', '作家', '诗人', '记者', '新闻工作者', '摄影师', '运动员', '足球运动员', '跑步者', '探险家', '导游', '邮递员', '清洁工', '家庭主妇', '农夫', '农民', '渔夫', '工人', '员工', '老板', '雇主', '雇员', '同事', '专家', '先锋', '初学者', '小学生', '校长', '博士', '医生', '学位证书', '毕业', '培训', '面试', '采访', '简历', '申请', '雇佣', '解雇', '工资', '薪水', '挣钱', '赚钱', '退休', '职业', '工作']), - ('人物特征', ['特征', '外貌', '长相', '性格', '品质', '年龄', '岁', '年轻', '年老', '高', '矮', '胖', '瘦', '苗条', '漂亮', '美丽', '英俊', '好看', '丑陋', '可怕', '吓人', '白皙', '金发', '卷发', '直发', '聪明', '智慧', '愚蠢', '笨', '勇敢', '胆小', '害羞', '诚实', '善良', '友好', '礼貌', '粗鲁', '懒惰', '勤奋', '努力', '认真', '严肃', '幽默', '有趣', '无聊', '乏味', '疯狂', '奇怪', '正常', '普通', '特别', '特殊', '不同', '相似', '相同', '一样', '活泼', '精力充沛', '有创造力', '有吸引力', '自信', '自豪', '骄傲', '耐心', '严格', '负责', '细心', '粗心', '小心', '谨慎', '好奇', '勇敢', '强壮', '虚弱', '差', '瞎', '聋', '残疾']), - - # === 抽象概念 === - ('时间', ['时间', '日期', '星期', '月份', '年', '月', '日', '天', '小时', '分钟', '秒', '时刻', '片刻', '现在', '如今', '过去', '未来', '将来', '以前', '之前', '以后', '之后', '后来', '早上', '上午', '下午', '中午', '正午', '晚上', '夜晚', '夜间', '午夜', '今天', '明天', '昨天', '今晚', '周末', '工作日', '假期', '假日', '学期', '时代', '世纪', '日历', '时间表', '时刻表', '课程表', '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日', '周日', '周末', '春天', '夏天', '秋天', '冬天', '春季', '夏季', '秋季', '冬季', '开始', '开端', '结束', '末端', '最后', '最终', '持续', '进行', '永远', '永久', '曾经', '已经', '尚未', '至今', '仍然', '还', '刚刚', '马上', '立刻', '立即', '尽快', '不久', '很快', '稍后', '后来', '突然', '同时', '期间', '在…期间', '当……时', '自从', '直到', '从……以来', '经常', '有时', '总是', '一直', '从不', '很少', '再次', '又一次', '第一次', '最后一次', '下一次', '上一个', '前一个', '下一个', '最近', '最新', '早期', '初期', '提前', '迟到', '延误', '延迟', '准时', '按时']), - ('数字与数量', ['数字', '数量', '数', '零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '百', '千', '百万', '十亿', '第一', '第二', '第三', '一半', '四分之一', '百分之', '双', '两倍', '一次', '两次', '多次', '许多', '很多', '大量', '少量', '一点', '少许', '几个', '一些', '若干', '足够', '充足', '更多', '更少', '较少', '最多', '最少', '至少', '全部', '所有', '整个', '整体', '部分', '一半', '半个', '大多数', '几乎所有', '总数', '总和', '平均', '平均数', '增加', '减少', '加倍', '减', '负', '加', '乘', '除', '计算', '数数', '计数', '测量', '重量', '重', '千克', '克', '吨', '升', '毫升', '尺寸', '尺码', '大小', '规模', '高度', '长度', '宽度', '深度', '速度', '温度', '度数', '价格', '费用', '花费', '价值', '钱', '货币', '元', '美元', '欧元', '英镑', '便士', '美分', '硬币', '现金', '支票', '信用卡', '账单', '收据', '预算', '折扣', '半价', '免费', '租金', '租用', '出售', '售卖', '大减价', '购物', '买', '卖', '支付', '付钱', '存钱', '省钱', '浪费', '财富', '财产', '富有', '贫穷', '可怜']), - ('位置与方位', ['位置', '方位', '方向', '左边', '右边', '上面', '下面', '前面', '后面', '中间', '旁边', '附近', '周围', '对面', '里面', '外面', '顶部', '底部', '边缘', '一侧', '一边', '中心', '中央', '角落', '末端', '尽头', '东方', '西方', '南方', '北方', '东部', '西部', '南部', '北部', '向东', '向西', '向南', '向北', '左边', '左侧', '右边', '右侧', '楼上', '楼下', '室内', '户外', '远处', '近处', '这里', '那里', '哪里', '何处', '到处', '处处', '任何地方', '某处', '某地', '在……对面', '在……旁边', '在……之间', '在……后面', '在……前面', '在……上面', '在……下面', '在……里面', '在……外面', '在……附近', '在……周围', '在……中心', '在……尽头', '在……边缘', '在……顶部', '在……底部', '在……左边', '在……右边', '在……北边', '在……南边', '在……东边', '在……西边', '沿着', '顺着', '穿过', '通过', '越过', '横穿', '经过', '到达', '离开', '进入', '出去', '返回', '来', '去', '移动', '搬', '移', '推', '拉', '放', '放置', '拿', '带', '携带', '运送', '运输', '传递', '交递', '上升', '下降', '落下', '掉', '滴', '倒', '倒出', '悬挂', '粘贴', '粘住', '连接', '链接', '分开', '分离', '混合', '搅拌', '摇', '震动', '敲', '击', '拍', '轻拍', '触摸', '接触', '压', '按', '推', '拉', '打开', '开启', '关闭', '关上', '覆盖', '遮住', '隐藏', '展示', '显示', '出现', '消失', '寻找', '找到', '发现', '丢失', '迷路', '失踪']), - ('程度与频率', ['程度', '频率', '非常', '很', '极', '极其', '特别', '尤其', '相当', '颇', '不少', '确实', '实在', '真的', '完全', '绝对', '几乎', '差不多', '大约', '大概', '也许', '可能', '或许', '似乎', '好像', '看起来', '听起来', '几乎不', '几乎没', '很少', '从不', '有时', '经常', '总是', '一直', '通常', '一般', '偶尔', '频繁', '再次', '又一次', '还', '也', '此外', '甚至', '连……都', '仅仅', '只有', '至少', '最多', '最少', '更', '更加', '越来越', '稍微', '略微', '有点', '相当', '十分', '极其', '非常', '太', '过于', '足够', '充足', '不够', '不足', '太多', '太少', '正好', '恰好', '精确', '准确', '大概', '大约', '差不多', '几乎', '将近', '超过', '以上', '以下', '低于', '未满', '最多', '最少', '至少', '至多', '大约', '左右', '上下', '前后', '以内', '以外', '之间', '之中', '之内', '之外', '以上', '以下', '以前', '以后', '以来', '以内', '以外', '之上', '之下', '之前', '之后', '之中', '之间', '之内', '之外']), - - # === 动作与行为 === - ('动作与行为', ['动作', '行为', '做', '干', '搞', '弄', '进行', '从事', '执行', '完成', '实现', '达到', '成功', '失败', '尝试', '试图', '努力', '开始', '着手', '出发', '继续', '停止', '结束', '完成', '取消', '放弃', '改变', '变化', '变成', '成为', '发生', '产生', '创造', '制造', '制作', '建造', '建立', '创立', '破坏', '打破', '损坏', '破碎', '骨折', '修理', '修复', '恢复', '改进', '提高', '改善', '发展', '增长', '增加', '减少', '降低', '扩大', '缩小', '加强', '减弱', '加速', '减速', '上升', '下降', '升起', '落下', '移动', '搬', '移', '推', '拉', '拖', '扔', '抛', '投', '接', '抓', '拿', '取', '给', '送', '递', '传', '交', '收', '接受', '拒绝', '允许', '禁止', '阻止', '防止', '保护', '保存', '保留', '保持', '维持', '存放', '储存', '收集', '积累', '聚集', '分散', '分布', '分配', '分享', '共享', '合作', '协作', '帮助', '援助', '辅助', '支持', '鼓励', '激励', '表扬', '赞扬', '批评', '指责', '抱怨', '投诉', '争论', '争吵', '打架', '战斗', '攻击', '防御', '保护', '守卫', '警戒', '警告', '威胁', '危险', '冒险', '挑战', '竞争', '比赛', '竞赛', '赢', '输', '胜利', '失败', '得分', '进球', '目标', '目的', '计划', '安排', '组织', '管理', '控制', '指挥', '领导', '指导', '引导', '教导', '教', '讲授', '学习', '研究', '调查', '探索', '发现', '发明', '创造', '创新', '设计', '开发', '测试', '实验', '试验', '证明', '验证', '确认', '检查', '检验', '审查', '审核', '评估', '评价', '判断', '决定', '选择', '挑选', '比较', '对比', '分析', '解释', '说明', '描述', '定义', '分类', '整理', '组织', '安排', '准备', '计划', '预测', '预计', '期望', '盼望', '希望', '愿望', '梦想', '想象', '猜想', '猜测', '假设', '认为', '以为', '相信', '信任', '怀疑', '疑惑', '犹豫', '考虑', '思考', '想', '想起', '记得', '记忆', '忘记', '遗忘', '忽略', '忽视', '注意', '关注', '集中', '聚焦', '专心', '分心', '打扰', '干扰', '打断', '插入', '干预', '参与', '参加', '加入', '退出', '离开', '留下', '遗留', '遗忘', '丢失', '遗失', '寻找', '搜索', '搜寻', '查找', '找到', '发现', '察觉', '注意到', '看到', '看见', '观看', '观察', '听', '听见', '听到', '闻', '嗅', '尝', '品尝', '触摸', '感觉', '感受', '体验', '经历', '遭受', '忍受', '承受', '容忍', '允许', '许可', '批准', '同意', '赞成', '反对', '拒绝', '否认', '承认', '接受', '收到', '获得', '获取', '得到', '失去', '损失', '浪费', '节约', '节省', '消费', '花费', '支付', '购买', '出售', '售卖', '交易', '交换', '贸易', '商业', '生意', '投资', '赚钱', '挣钱', '存钱', '省钱', '借钱', '借出', '归还', '还', '欠', '捐赠', '贡献', '奉献', '牺牲', '冒险', '赌博', '打赌', '猜', '猜测', '估计', '计算', '数', '测量', '称重', '量', '比较', '对比', '匹配', '适合', '适应', '调整', '修改', '改正', '纠正', '修复', '修理', '维修', '保养', '维护', '更新', '升级', '替换', '代替', '取代', '移除', '删除', '清除', '清理', '打扫', '洗', '洗涤', '刷', '擦', '抹', '扫', '拖', '吸尘', '整理', '收拾', '组织', '安排', '布置', '装饰', '装修', '粉刷', '油漆', '画', '绘画', '涂', '写', '书写', '打字', '打印', '复印', '扫描', '传真', '邮寄', '发送', '接收', '回复', '回答', '回应', '反应', '响应', '处理', '解决', '应对', '面对', '面临', '遭遇', '遇到', '碰到', '接触', '联系', '沟通', '交流', '交际', '谈话', '对话', '讨论', '商量', '协商', '谈判', '争论', '辩论', '争吵', '吵架', '打架', '战斗', '战争', '冲突', '矛盾', '问题', '困难', '麻烦', '挑战', '机会', '机遇', '可能性', '选择', '决定', '决策', '计划', '方案', '策略', '方法', '方式', '手段', '工具', '资源', '材料', '原料', '成分', '要素', '因素', '原因', '结果', '后果', '影响', '效果', '作用', '功能', '用途', '目的', '目标', '意义', '价值', '重要性', '必要性', '可能性', '可行性', '有效性', '效率', '效果', '质量', '数量', '标准', '水平', '等级', '级别', '程度', '范围', '领域', '方面', '角度', '观点', '看法', '意见', '建议', '提议', '推荐', '介绍', '展示', '演示', '表演', '演出', '表现', '表达', '表示', '表明', '显示', '说明', '解释', '阐述', '描述', '叙述', '讲述', '告诉', '告知', '通知', '报告', '汇报', '宣布', '声明', '公布', '发布', '出版', '发表', '发行', '传播', '宣传', '广告', '推广', '营销', '销售', '促销', '打折', '优惠', '折扣', '降价', '涨价', '价格', '价值', '成本', '费用', '支出', '收入', '利润', '亏损', '盈利', '赚钱', '赔钱', '投资', '融资', '贷款', '借款', '还款', '利息', '税率', '税收', '预算', '结算', '结账', '付款', '收款', '发票', '收据', '凭证', '证据', '证明', '文件', '文档', '档案', '记录', '登记', '注册', '申请', '提交', '递交', '呈交', '上交', '下达', '发布', '颁布', '实施', '执行', '落实', '贯彻', '遵守', '遵循', '服从', '听从', '违反', '违背', '破坏', '扰乱', '干扰', '妨碍', '阻碍', '阻止', '禁止', '限制', '约束', '控制', '管理', '监督', '检查', '审查', '审计', '评估', '考核', '测试', '考试', '测验', '面试', '采访', '调查', '研究', '分析', '总结', '归纳', '概括', '抽象', '具体', '详细', '细致', '仔细', '认真', '努力', '勤奋', '刻苦', '坚持', '持续', '继续', '保持', '维持', '停止', '中断', '暂停', '休息', '放松', '休闲', '娱乐', '玩耍', '游戏', '运动', '锻炼', '训练', '练习', '排练', '彩排', '准备', '预备', '预习', '复习', '回顾', '反思', '反省', '总结', '评估', '改进', '提高', '进步', '发展', '成长', '成熟', '变化', '转变', '转型', '改革', '创新', '创造', '发明', '发现', '探索', '开拓', '开发', '开辟', '建立', '建设', '构建', '打造', '塑造', '形成', '产生', '生成', '制造', '生产', '加工', '处理', '操作', '运行', '运转', '工作', '劳动', '服务', '提供', '供应', '满足', '需求', '要求', '需要', '必要', '必须', '应该', '应当', '可以', '能够', '可能', '也许', '或许', '大概', '大约', '差不多', '几乎', '将近', '接近', '靠近', '远离', '离开', '出发', '到达', '抵达', '进入', '出去', '上来', '下去', '过来', '过去', '回来', '回去', '进来', '进去', '出来', '出去', '上来', '上去', '下来', '下去', '过来', '过去', '回来', '回去', '起来', '起床', '睡觉', '入睡', '醒来', '叫醒', '唤醒', '做梦', '梦', '休息', '放松', '度假', '休假', '请假', '上班', '下班', '工作', '加班', '出差', '旅行', '旅游', '出行', '外出', '出门', '回家', '到家', '离开', '出发', '启程', '动身', '上路', '赶路', '赶时间', '匆忙', '赶紧', '赶快', '快点', '慢点', '小心', '当心', '注意', '留神', '警惕', '提防', '防备', '预防', '防止', '避免', '逃避', '躲避', '隐藏', '躲藏', '藏', '找', '寻找', '搜索', '搜寻', '查找', '发现', '找到', '遇见', '遇到', '碰到', '见面', '会见', '会面', '约会', '预约', '预定', '预订', '订购', '购买', '采购', '购物', '逛街', '逛商场', '逛超市', '逛商店', '买东西', '卖东西', '出售', '售卖', '销售', '促销', '打折', '优惠', '便宜', '贵', '昂贵', '价格', '价钱', '费用', '花费', '消费', '支付', '付款', '结账', '买单', '找零', '退款', '退货', '换货', '投诉', '抱怨', '表扬', '称赞', '赞美', '夸奖', '批评', '指责', '责备', '责怪', '惩罚', '处罚', '奖励', '奖赏', '奖品', '奖金', '奖牌', '奖杯', '证书', '文凭', '学位', '学历', '资格', '资质', '能力', '才能', '天赋', '技能', '技巧', '技术', '知识', '学问', '学识', '智慧', '智力', '智商', '情商', '性格', '个性', '品质', '品德', '道德', '伦理', '价值观', '信念', '信仰', '宗教', '文化', '传统', '习俗', '习惯', '风俗', '礼仪', '礼貌', '规矩', '规则', '规定', '制度', '法律', '法规', '条例', '政策', '方针', '路线', '方向', '目标', '目的', '任务', '使命', '责任', '义务', '权利', '权力', '利益', '好处', '坏处', '优点', '缺点', '优势', '劣势', '长处', '短处', '强项', '弱项', '特色', '特点', '特征', '特性', '性质', '属性', '本质', '实质', '内容', '形式', '结构', '框架', '体系', '系统', '机制', '模式', '模型', '范例', '例子', '案例', '样本', '样品', '标本', '典型', '代表', '象征', '标志', '信号', '迹象', '征兆', '预兆', '预示', '预测', '预报', '预告', '预警', '提醒', '提示', '暗示', '示意', '指示', '指令', '命令', '要求', '请求', '申请', '提议', '建议', '推荐', '介绍', '引见', '引荐', '推荐信', '介绍信', '证明信', '邀请函', '请柬', '通知', '通告', '公告', '广告', '海报', '传单', '宣传册', '手册', '指南', '说明书', '使用说明', '操作指南', '用户手册', '帮助文档', '常见问题', 'FAQ', '客服', '售后服务', '技术支持', '维修服务', '保养服务', '咨询服务', '信息服务', '数据服务', '云服务', '网络服务', '互联网服务', '在线服务', '离线服务', '远程服务', '现场服务', '上门服务', '送货上门', '快递', '物流', '运输', '配送', '分发', '分配', '分派', '派遣', '打发', '送', '邮寄', '快递', '包裹', '邮件', '信件', '信封', '邮票', '明信片', '贺卡', '请柬', '邀请函', '感谢信', '道歉信', '投诉信', '建议信', '推荐信', '求职信', '简历', '履历', '自传', '自我介绍', '个人陈述', '申请材料', '证明材料', '证件', '证书', '执照', '许可证', '通行证', '护照', '签证', '身份证', '学生证', '工作证', '会员卡', '信用卡', '借记卡', '银行卡', '存折', '支票', '汇票', '本票', '现金', '零钱', '硬币', '纸币', '钞票', '货币', '外汇', '汇率', '利率', '利息', '本金', '贷款', '借款', '还款', '分期付款', '按揭', '抵押', '担保', '保险', '理赔', '索赔', '赔偿', '补偿', '补贴', '津贴', '补助', '福利', '待遇', '薪酬', '工资', '薪水', '奖金', '提成', '分红', '股权', '期权', '股票', '基金', '债券', '期货', '外汇', '黄金', '白银', '铂金', '钻石', '珠宝', '首饰', '古董', '艺术品', '收藏品', '拍卖', '竞拍', '投标', '招标', '中标', '签约', '合同', '协议', '条约', '协定', '公约', '宣言', '声明', '公告', '通知', '通告', '通报', '报告', '汇报', '请示', '批复', '批示', '指示', '指令', '命令', '决定', '决议', '规定', '规章', '制度', '办法', '细则', '标准', '规范', '准则', '守则', '条例', '法规', '法律', '宪法', '刑法', '民法', '商法', '行政法', '国际法', '海洋法', '航空法', '太空法', '环境法', '劳动法', '合同法', '公司法', '知识产权法', '专利法', '商标法', '著作权法', '版权法', '隐私法', '数据保护法', '网络安全法', '信息法', '传媒法', '广告法', '消费者权益保护法', '反垄断法', '反不正当竞争法', '税法', '海关法', '移民法', '国籍法', '人权法', '人道主义法', '战争法', '和平法', '条约法', '外交法', '领事法', '海洋法', '航空法', '太空法', '极地法', '南极法', '北极法', '环境法', '自然资源法', '能源法', '矿产法', '水法', '森林法', '草原法', '渔业法', '野生动物保护法', '生物多样性法', '气候变化法', '碳排放法', '碳交易法', '可再生能源法', '核能法', '太阳能法', '风能法', '水能法', '地热能法', '生物质能法', '氢能法', '潮汐能法', '波浪能法', '海洋能法', '太空法', '卫星法', '火箭法', '航天法', '航空法', '无人机法', '自动驾驶法', '人工智能法', '机器人法', '基因编辑法', '克隆法', '干细胞法', '生物技术法', '纳米技术法', '量子技术法', '区块链法', '加密货币法', '数字资产法', '电子商务法', '电子签名法', '电子合同法', '电子证据法', '网络安全法', '数据保护法', '个人信息保护法', '隐私法', '名誉权法', '肖像权法', '姓名权法', '荣誉权法', '知识产权法', '专利法', '商标法', '著作权法', '版权法', '商业秘密法', '反不正当竞争法', '反垄断法', '消费者权益保护法', '产品质量法', '食品安全法', '药品管理法', '医疗器械法', '化妆品法', '烟草法', '酒精法', '毒品法', '枪支法', '爆炸物法', '危险品法', '化学品法', '放射性物质法', '核材料法', '生物武器法', '化学武器法', '核武器法', '常规武器法', '轻武器法', '重武器法', '导弹法', '火箭法', '卫星法', '太空武器法', '网络武器法', '信息武器法', '心理武器法', '舆论武器法', '宣传武器法', '文化武器法', '宗教武器法', '意识形态武器法', '价值观武器法', '软实力', '硬实力', '巧实力', '综合国力', '国家实力', '国际地位', '国际影响力', '国际话语权', '国际规则制定权', '国际秩序', '全球治理', '多边主义', '单边主义', '双边主义', '区域主义', '全球化', '逆全球化', '去全球化', '再全球化', '新全球化', '数字全球化', '绿色全球化', '包容性全球化', '可持续全球化', '人类命运共同体', '一带一路', '丝绸之路', '海上丝绸之路', '冰上丝绸之路', '数字丝绸之路', '健康丝绸之路', '绿色丝绸之路', '和平丝绸之路', '繁荣丝绸之路', '开放丝绸之路', '创新丝绸之路', '文明丝绸之路', '廉洁丝绸之路', '安全丝绸之路', '合作丝绸之路', '共赢丝绸之路', '共享丝绸之路', '共建丝绸之路', '共商丝绸之路', '共治丝绸之路', '共享丝绸之路']), - - # === 活动与领域 === - ('学校生活', ['学校', '学习', '教育', '教学', '上课', '下课', '课堂', '教室', '课程', '科目', '学科', '专业', '语文', '数学', '英语', '物理', '化学', '生物', '地理', '历史', '政治', '体育', '音乐', '美术', '计算机', '信息技术', '科学', '考试', '测验', '测试', '分数', '成绩', '及格', '不及格', '通过', '优秀', '良好', '中等', '差', '作业', '功课', '练习', '复习', '预习', '阅读', '写作', '听力', '口语', '语法', '词汇', '拼写', '发音', '翻译', '对话', '讨论', '演讲', '报告', '论文', '文章', '段落', '句子', '单词', '字母', '大写字母', '标点', '标题', '题目', '答案', '问题', '错误', '正确', '改正', '纠正', '批改', '评分', '打分', '评级', '等级', '年级', '班级', '同学', '同桌', '校友', '学长', '学弟', '学妹', '学姐', '老师', '教师', '教授', '讲师', '助教', '导师', '辅导员', '班主任', '校长', '院长', '系主任', '教务', '学籍', '注册', '报到', '入学', '升学', '毕业', '肄业', '辍学', '退学', '休学', '复学', '转学', '留学', '交换', '访学', '进修', '培训', '实习', '见习', '实验', '试验', '研究', '课题', '项目', '论文', '答辩', '学位', '学士', '硕士', '博士', '博士后', '文凭', '证书', '毕业证', '学位证', '成绩单', '推荐信', '奖学金', '助学金', '贷款', '学费', '杂费', '书本费', '住宿费', '生活费', '零花钱', '打工', '兼职', '全职', '实习', '见习', '志愿者', '社团', '学生会', '俱乐部', '协会', '组织', '活动', '比赛', '竞赛', '演出', '表演', '展览', '讲座', '研讨会', '论坛', '峰会', '年会', '季会', '月会', '周会', '日会', '晨会', '晚会', '班会', '队会', '团会', '党委会', '支部会', '小组会', '全体会', '代表会', '委员会', '理事会', '董事会', '监事会', '股东大会', '职工大会', '员工大会', '全员大会', '全体会议', '扩大会议', '常务会议', '专题会议', '工作会议', '座谈会', '研讨会', '论证会', '评审会', '评估会', '验收会', '总结会', '表彰会', '动员会', '誓师会', '发布会', '通气会', '吹风会', '见面会', '招待会', '宴会', '酒会', '茶话会', '联欢会', '晚会', '舞会', '音乐会', '演唱会', '歌会', '诗会', '朗诵会', '读书会', '报告会', '演讲会', '辩论会', '听证会', '质询会', '问责会', '检讨会', '反思会', '生活会', '民主生活', '组织生活', '政治生活', '社会生活', '经济生活', '文化生活', '精神生活', '物质生活', '日常生活', '家庭生活', '学校生活', '职场生活', '社会生活', '公共生活', '私人生活', '内心生活', '外在生活', '线上生活', '线下生活', '虚拟生活', '现实生活', '数字生活', '智能生活', '绿色生活', '低碳生活', '可持续生活', '美好生活', '幸福生活', '品质生活', '精致生活', '极简生活', '慢生活', '快生活', '都市生活', '乡村生活', '田园生活', '山林生活', '海岛生活', '沙漠生活', '极地生活', '太空生活', '海底生活', '地下生活', '空中生活', '水上生活', '陆上生活', '冰上生活', '雪上生活', '草原生活', '森林生活', '湿地生活', '荒漠生活', '高原生活', '盆地生活', '平原生活', '丘陵生活', '山地生活', '峡谷生活', '河流生活', '湖泊生活', '海洋生活', '岛屿生活', '半岛生活', '大陆生活', '洲际生活', '全球生活', '宇宙生活', '星际生活', '银河生活', '太阳系生活', '地球生活', '月球生活', '火星生活', '金星生活', '木星生活', '水星生活', '土星生活', '天王星生活', '海王星生活', '冥王星生活']), - ('爱好与休闲', ['爱好', '休闲', '娱乐', '玩耍', '游戏', '玩具', '棋', '牌', '扑克', '麻将', '骰子', '赌博', '赌场', '彩票', '抽奖', '中奖', '奖品', '奖金', '奖赏', '奖励', '音乐', '歌曲', '唱歌', '跳舞', '舞蹈', '舞会', '乐器', '钢琴', '吉他', '小提琴', '鼓', '笛子', '口琴', '手风琴', '电子琴', '键盘乐器', '管弦乐', '交响乐', '古典音乐', '流行音乐', '摇滚', '爵士', '嘻哈', '说唱', '灵魂乐', '蓝调', '乡村音乐', '民谣', '民歌', '歌剧', '音乐会', '演唱会', '专辑', '唱片', '磁带', 'CD', 'DVD', 'MP3', '播放器', '播放', '演奏', '演出', '表演', '舞台', '剧院', '电影院', '电影', '影片', '动画', '卡通', '漫画', '喜剧', '悲剧', '戏剧', '电视剧', '纪录片', '新闻', '广播', '收音机', '电视', '频道', '节目', '综艺', '真人秀', '选秀', '比赛', '竞赛', '才艺', '达人', '明星', '名人', '偶像', '粉丝', '追星', '签名', '合影', '自拍', '拍照', '摄影', '摄像', '录像', '视频', '直播', '录播', '点播', '回放', '重播', '首播', '热播', '联播', '转播', '插播', '停播', '禁播', '限播', '画', '绘画', '画画', '涂鸦', '素描', '油画', '水彩', '水墨', '国画', '书法', '雕刻', '雕塑', '陶艺', '手工', '手工艺', '编织', '刺绣', '缝纫', '裁剪', '设计', '时装', '时尚', '潮流', '趋势', '风格', '品味', '审美', '美学', '艺术', '艺术家', '画家', '雕塑家', '书法家', '设计师', '建筑师', '摄影师', '导演', '编剧', '作家', '诗人', '作曲家', '作词家', '编曲家', '指挥家', '演奏家', '歌唱家', '舞蹈家', '表演艺术家', '收藏', '集邮', '集币', '集卡', '集票', '集报', '集刊', '集书', '集画', '集瓷', '集玉', '集石', '集木', '集根', '集叶', '集花', '集草', '集虫', '集蝶', '集贝', '集螺', '集鱼', '集鸟', '集兽', '集骨', '集化石', '集矿物', '集宝石', '集陨石', '集古董', '集钱币', '集邮票', '集明信片', '集信封', '集信纸', '集便签', '集贴纸', '集标签', '集门票', '集车票', '集船票', '集机票', '集电影票', '集戏票', '集演唱会票', '集体育比赛票', '集展览票', '集博物馆票', '集公园票', '集景区票', '集景点票', '集游乐场票', '集主题公园票', '集水上乐园票', '集海洋馆票', '集动物园票', '集植物园票', '集水族馆票', '集天文馆票', '集科技馆票', '集自然博物馆票', '集历史博物馆票', '集艺术博物馆票', '集军事博物馆票', '集航空博物馆票', '集航天博物馆票', '集铁路博物馆票', '集汽车博物馆票', '集船舶博物馆票', '集邮票博物馆票', '集钱币博物馆票', '集钟表博物馆票', '集相机博物馆票', '集电话博物馆票', '集计算机博物馆票', '集机器人博物馆票', '集玩具博物馆票', '集游戏博物馆票', '集电影博物馆票', '集音乐博物馆票', '集体育博物馆票', '集奥林匹克博物馆票', '集世界杯博物馆票', '集NBA博物馆票', '集英超博物馆票', '集西甲博物馆票', '集意甲博物馆票', '集德甲博物馆票', '集法甲博物馆票', '集中超博物馆票', '集亚冠博物馆票', '集欧冠博物馆票', '集欧联博物馆票', '集美洲杯博物馆票', '集非洲杯博物馆票', '集亚洲杯博物馆票', '集欧洲杯博物馆票', '集世界杯博物馆票', '集奥运会博物馆票', '集亚运会博物馆票', '集全运会博物馆票', '集大运会博物馆票', '集青奥会博物馆票', '集残奥会博物馆票', '集特奥会博物馆票', '集冬奥会博物馆票', '集夏奥会博物馆票', '集春奥会博物馆票', '集秋奥会博物馆票']), - ('运动', ['运动', '体育', '比赛', '竞赛', '球', '足球', '篮球', '排球', '网球', '乒乓球', '羽毛球', '棒球', '垒球', '橄榄球', '高尔夫', '板球', '曲棍球', '冰球', '水球', '手球', '壁球', '台球', '保龄球', '门球', '毽球', '藤球', '沙滩排球', '沙滩足球', '沙滩手球', '沙滩网球', '沙滩羽毛球', '沙滩乒乓球', '沙滩棒球', '沙滩垒球', '沙滩橄榄球', '沙滩高尔夫', '沙滩板球', '沙滩曲棍球', '沙滩冰球', '沙滩水球', '沙滩手球', '沙滩壁球', '沙滩台球', '沙滩保龄球', '沙滩门球', '沙滩毽球', '沙滩藤球', '游泳', '跑步', '跳', '跳跃', '跳高', '跳远', '三级跳', '撑杆跳', '投掷', '铅球', '铁饼', '标枪', '链球', '举重', '体操', '单杠', '双杠', '吊环', '鞍马', '跳马', '平衡木', '高低杠', '自由体操', '艺术体操', '韵律体操', '健美操', '啦啦操', '街舞', '霹雳舞', '滑冰', '滑雪', '单板滑雪', '双板滑雪', '越野滑雪', '跳台滑雪', '高山滑雪', '自由式滑雪', '花样滑冰', '速度滑冰', '短道速滑', '冰壶', '雪车', '雪橇', '钢架雪车', '冬季两项', '北欧两项', '射击', '射箭', '击剑', '拳击', '跆拳道', '柔道', '空手道', '武术', '功夫', '太极', '气功', '瑜伽', '普拉提', '健身', '健美', '举重', '力量训练', '有氧运动', '无氧运动', '间歇训练', '循环训练', '功能性训练', '核心训练', '平衡训练', '柔韧训练', '拉伸', '热身', '冷却', '放松', '恢复', '按摩', '理疗', '康复', '运动医学', '运动营养', '运动心理', '运动生理', '运动生物力学', '运动训练学', '运动竞赛学', '运动管理学', '运动营销学', '运动法学', '运动伦理学', '运动哲学', '运动美学', '运动社会学', '运动人类学', '运动历史学', '运动地理学', '运动经济学', '运动政治学', '运动外交学', '运动传播学', '运动教育学', '运动心理学', '运动医学', '运动康复学', '运动营养学', '运动生物化学', '运动生物物理学', '运动生物信息学', '运动基因组学', '运动蛋白质组学', '运动代谢组学', '运动微生物组学', '运动免疫学', '运动内分泌学', '运动神经科学', '运动心血管学', '运动呼吸学', '运动消化', '运动泌尿', '运动生殖', '运动骨骼肌肉', '运动皮肤', '运动感官', '运动神经', '运动内分泌', '运动免疫', '运动循环', '运动呼吸', '运动消化', '运动泌尿', '运动生殖', '运动骨骼', '运动关节', '运动韧带', '运动肌腱', '运动筋膜', '运动肌肉', '运动神经肌肉接头', '运动终板', '运动单位', '运动神经元', '运动皮层', '运动前区', '运动辅助区', '基底节', '小脑', '脑干', '脊髓', '周围神经', '自主神经', '交感神经', '副交感神经', '肠神经', '心神经', '肺神经', '肝神经', '肾神经', '脾神经', '胰神经', '胃神经', '肠神经', '膀胱神经', '子宫神经', '卵巢神经', '睾丸神经', '前列腺神经', '甲状腺神经', '甲状旁腺神经', '肾上腺神经', '垂体神经', '下丘脑神经', '松果体神经', '胸腺神经', '扁桃体神经', '淋巴结神经', '骨髓神经', '血管神经', '淋巴管神经', '气管神经', '支气管神经', '肺泡神经', '胸膜神经', '腹膜神经', '心包神经', '脑膜神经', '脊髓膜神经', '神经鞘', '神经束膜', '神经内膜', '神经外膜', '神经节', '神经丛', '神经网络', '神经回路', '神经通路', '神经递质', '神经调质', '神经激素', '神经肽', '神经生长因子', '神经营养因子', '神经导向因子', '神经黏附分子', '神经细胞黏附分子', '神经胶质细胞黏附分子', '神经突触黏附分子', '神经肌肉接头黏附分子', '神经免疫黏附分子', '神经内分泌黏附分子', '神经血管黏附分子', '神经淋巴黏附分子', '神经上皮黏附分子', '神经间质黏附分子', '神经基质黏附分子', '神经基底膜黏附分子', '神经细胞外基质黏附分子', '神经细胞骨架黏附分子', '神经细胞核黏附分子', '神经细胞质黏附分子', '神经细胞膜黏附分子', '神经细胞器黏附分子', '神经细胞核膜黏附分子', '神经细胞核质黏附分子', '神经细胞核仁黏附分子', '神经细胞染色体黏附分子', '神经细胞染色质黏附分子', '神经细胞DNA黏附分子', '神经细胞RNA黏附分子', '神经细胞蛋白质黏附分子', '神经细胞脂质黏附分子', '神经细胞糖类黏附分子', '神经细胞核酸黏附分子', '神经细胞氨基酸黏附分子', '神经细胞核苷酸黏附分子', '神经细胞辅酶黏附分子', '神经细胞维生素黏附分子', '神经细胞矿物质黏附分子', '神经细胞微量元素黏附分子', '神经细胞宏量元素黏附分子', '神经细胞水黏附分子', '神经细胞氧气黏附分子', '神经细胞二氧化碳黏附分子', '神经细胞一氧化氮黏附分子', '神经细胞一氧化碳黏附分子', '神经细胞硫化氢黏附分子', '神经细胞氨黏附分子', '神经细胞尿素黏附分子', '神经细胞尿酸黏附分子', '神经细胞肌酸黏附分子', '神经细胞肌酐黏附分子', '神经细胞胆红素黏附分子', '神经细胞胆汁酸黏附分子', '神经细胞胆固醇黏附分子', '神经细胞甘油三酯黏附分子', '神经细胞磷脂黏附分子', '神经细胞糖脂黏附分子', '神经细胞脂蛋白黏附分子', '神经细胞载脂蛋白黏附分子', '神经细胞白蛋白黏附分子', '神经细胞球蛋白黏附分子', '神经细胞纤维蛋白原黏附分子', '神经细胞凝血因子黏附分子', '神经细胞抗凝血因子黏附分子', '神经细胞纤溶因子黏附分子', '神经细胞抗纤溶因子黏附分子', '神经细胞补体黏附分子', '神经细胞抗体黏附分子', '神经细胞抗原黏附分子', '神经细胞细胞因子黏附分子', '神经细胞趋化因子黏附分子', '神经细胞生长因子黏附分子', '神经细胞分化因子黏附分子', '神经细胞凋亡因子黏附分子', '神经细胞存活因子黏附分子', '神经细胞迁移因子黏附分子', '神经细胞黏附因子黏附分子', '神经细胞基质金属蛋白酶黏附分子', '神经细胞组织抑制剂黏附分子', '神经细胞丝氨酸蛋白酶黏附分子', '神经细胞半胱氨酸蛋白酶黏附分子', '神经细胞天冬氨酸蛋白酶黏附分子', '神经细胞金属蛋白酶黏附分子', '神经细胞蛋白酶体黏附分子', '神经细胞溶酶体黏附分子', '神经细胞过氧化物酶体黏附分子', '神经细胞内质网黏附分子', '神经细胞高尔基体黏附分子', '神经细胞线粒体黏附分子', '神经细胞叶绿体黏附分子', '神经细胞核糖体黏附分子', '神经细胞中心体黏附分子', '神经细胞中心粒黏附分子', '神经细胞微管黏附分子', '神经细胞微丝黏附分子', '神经细胞中间丝黏附分子', '神经细胞核纤层黏附分子', '神经细胞核孔复合体黏附分子', '神经细胞核膜黏附分子', '神经细胞核质黏附分子', '神经细胞核仁黏附分子', '神经细胞染色体黏附分子', '神经细胞染色质黏附分子', '神经细胞端粒黏附分子', '神经细胞着丝粒黏附分子', '神经细胞动粒黏附分子', '神经细胞纺锤体黏附分子', '神经细胞星体黏附分子', '神经细胞中心体黏附分子', '神经细胞中心粒黏附分子', '神经细胞基体黏附分子', '神经细胞鞭毛黏附分子', '神经细胞纤毛黏附分子', '神经细胞微绒毛黏附分子', '神经细胞伪足黏附分子', '神经细胞片状伪足黏附分子', '神经细胞丝状伪足黏附分子', '神经细胞黏着斑黏附分子', '神经细胞半桥粒黏附分子', '神经细胞桥粒黏附分子', '神经细胞紧密连接黏附分子', '神经细胞间隙连接黏附分子', '神经细胞锚定连接黏附分子', '神经细胞通讯连接黏附分子', '神经细胞化学突触黏附分子', '神经细胞电突触黏附分子', '神经细胞免疫突触黏附分子', '神经细胞神经肌肉接头黏附分子', '神经细胞神经腺体接头黏附分子', '神经细胞神经血管接头黏附分子', '神经细胞神经淋巴接头黏附分子', '神经细胞神经上皮接头黏附分子', '神经细胞神经间质接头黏附分子', '神经细胞神经基质接头黏附分子', '神经细胞神经基底膜接头黏附分子', '神经细胞神经细胞外基质接头黏附分子', '神经细胞神经细胞骨架接头黏附分子', '神经细胞神经细胞核接头黏附分子', '神经细胞神经细胞质接头黏附分子', '神经细胞神经细胞膜接头黏附分子', '神经细胞神经细胞器接头黏附分子', '神经细胞神经细胞核膜接头黏附分子', '神经细胞神经细胞核质接头黏附分子', '神经细胞神经细胞核仁接头黏附分子', '神经细胞神经细胞染色体接头黏附分子', '神经细胞神经细胞染色质接头黏附分子', '神经细胞神经细胞DNA接头黏附分子', '神经细胞神经细胞RNA接头黏附分子', '神经细胞神经细胞蛋白质接头黏附分子', '神经细胞神经细胞脂质接头黏附分子', '神经细胞神经细胞糖类接头黏附分子', '神经细胞神经细胞核酸接头黏附分子', '神经细胞神经细胞氨基酸接头黏附分子', '神经细胞神经细胞核苷酸接头黏附分子', '神经细胞神经细胞辅酶接头黏附分子', '神经细胞神经细胞维生素接头黏附分子', '神经细胞神经细胞矿物质接头黏附分子', '神经细胞神经细胞微量元素接头黏附分子', '神经细胞神经细胞宏量元素接头黏附分子', '神经细胞神经细胞水接头黏附分子', '神经细胞神经细胞氧气接头黏附分子', '神经细胞神经细胞二氧化碳接头黏附分子', '神经细胞神经细胞一氧化氮接头黏附分子', '神经细胞神经细胞一氧化碳接头黏附分子', '神经细胞神经细胞硫化氢接头黏附分子', '神经细胞神经细胞氨接头黏附分子', '神经细胞神经细胞尿素接头黏附分子', '神经细胞神经细胞尿酸接头黏附分子', '神经细胞神经细胞肌酸接头黏附分子', '神经细胞神经细胞肌酐接头黏附分子', '神经细胞神经细胞胆红素接头黏附分子', '神经细胞神经细胞胆汁酸接头黏附分子', '神经细胞神经细胞胆固醇接头黏附分子', '神经细胞神经细胞甘油三酯接头黏附分子', '神经细胞神经细胞磷脂接头黏附分子', '神经细胞神经细胞糖脂接头黏附分子', '神经细胞神经细胞脂蛋白接头黏附分子', '神经细胞神经细胞载脂蛋白接头黏附分子', '神经细胞神经细胞白蛋白接头黏附分子', '神经细胞神经细胞球蛋白接头黏附分子', '神经细胞神经细胞纤维蛋白原接头黏附分子', '神经细胞神经细胞凝血因子接头黏附分子', '神经细胞神经细胞抗凝血因子接头黏附分子', '神经细胞神经细胞纤溶因子接头黏附分子', '神经细胞神经细胞抗纤溶因子接头黏附分子', '神经细胞神经细胞补体接头黏附分子', '神经细胞神经细胞抗体接头黏附分子', '神经细胞神经细胞抗原接头黏附分子', '神经细胞神经细胞细胞因子接头黏附分子', '神经细胞神经细胞趋化因子接头黏附分子', '神经细胞神经细胞生长因子接头黏附分子', '神经细胞神经细胞分化因子接头黏附分子', '神经细胞神经细胞凋亡因子接头黏附分子', '神经细胞神经细胞存活因子接头黏附分子', '神经细胞神经细胞迁移因子接头黏附分子', '神经细胞神经细胞黏附因子接头黏附分子', '神经细胞神经细胞基质金属蛋白酶接头黏附分子', '神经细胞神经细胞组织抑制剂接头黏附分子', '神经细胞神经细胞丝氨酸蛋白酶接头黏附分子', '神经细胞神经细胞半胱氨酸蛋白酶接头黏附分子', '神经细胞神经细胞天冬氨酸蛋白酶接头黏附分子', '神经细胞神经细胞金属蛋白酶接头黏附分子', '神经细胞神经细胞蛋白酶体接头黏附分子', '神经细胞神经细胞溶酶体接头黏附分子', '神经细胞神经细胞过氧化物酶体接头黏附分子', '神经细胞神经细胞内质网接头黏附分子', ' \ No newline at end of file diff --git a/compare_l1_l2.py b/compare_l1_l2.py deleted file mode 100644 index 16c96e0..0000000 --- a/compare_l1_l2.py +++ /dev/null @@ -1,71 +0,0 @@ - -import pandas as pd - -# 文件路径 -l2_file = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' -l1_file = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L1完整.xlsx' - -# 读取文件 -l2_df = pd.read_excel(l2_file) -l1_df = pd.read_excel(l1_file) - -print("L2文件列名:", l2_df.columns.tolist()) -print(f"L2行数: {len(l2_df)}") -print("\nL1文件列名:", l1_df.columns.tolist()) -print(f"L1行数: {len(l1_df)}") - -# 创建L1单词查找字典(小写为key) -l1_dict = {} -for idx, row in l1_df.iterrows(): - word = str(row.iloc[0]).strip().lower() - pos = row.iloc[1] if len(row) > 1 else "" - meaning = row.iloc[2] if len(row) > 2 else "" - l1_dict[word] = { - "row": idx + 2, # Excel从第2行开始 - "pos": pos, - "meaning": meaning - } - -# 处理L2表格 -is_l1 = [] -l1_rows = [] -l1_pos = [] -l1_meaning = [] - -for idx, row in l2_df.iterrows(): - word = str(row.iloc[0]).strip().lower() - if word in l1_dict: - info = l1_dict[word] - is_l1.append("是") - l1_rows.append(info["row"]) - l1_pos.append(info["pos"]) - l1_meaning.append(info["meaning"]) - else: - is_l1.append("否") - l1_rows.append("") - l1_pos.append("") - l1_meaning.append("") - -# 添加新列 -l2_df["是否为L1单词"] = is_l1 -l2_df["在L1中的行数"] = l1_rows -l2_df["L1词性"] = l1_pos -l2_df["L1词义"] = l1_meaning - -# 保存结果 -l2_df.to_excel(l2_file, index=False) - -# 统计 -count_yes = is_l1.count("是") -count_no = is_l1.count("否") - -print("\n" + "="*50) -print(f"比对完成!") -print(f"L1单词总数: {len(l1_df)}") -print(f"L2单词总数: {len(l2_df)}") -print(f"重复单词数: {count_yes}") -print(f"不重复单词数: {count_no}") -print(f"重复率: {count_yes/len(l2_df)*100:.2f}%") -print("="*50) - -print("\n保存成功!已更新 L2知识库-三级+A2.xlsx") diff --git a/compare_new_vs_old.py b/compare_new_vs_old.py deleted file mode 100644 index 84bf11e..0000000 --- a/compare_new_vs_old.py +++ /dev/null @@ -1,31 +0,0 @@ - -import pandas as pd - -file_new = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2新版_L1重复标记.xlsx' -file_old = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' - -df_new = pd.read_excel(file_new) -df_old = pd.read_excel(file_old) - -old_words = set(str(w).strip().lower() for w in df_old.iloc[:, 0]) - -only_in_new = [] -for idx, row in df_new.iterrows(): - word = str(row['单词']).strip().lower() - if word not in old_words: - only_in_new.append(row) - -print(f"L2新版总单词数: {len(df_new)}") -print(f"L2知识库总单词数: {len(df_old)}") -print(f"\nL2新版中存在但L2知识库中不存在的单词: {len(only_in_new)} 个") - -# 保存到文件 -with open('/root/.openclaw/workspace-xiaoyan/only_in_new.txt', 'w', encoding='utf-8') as f: - f.write(f"L2新版中存在但L2知识库中不存在的单词: {len(only_in_new)} 个\n") - f.write("=" * 60 + "\n") - f.write(f"{'序号':<5} {'单词':<35} {'词性':<12} {'词义'}\n") - f.write("-" * 80 + "\n") - for i, row in enumerate(only_in_new, 1): - f.write(f"{i:<5} {str(row['单词']):<35} {str(row['词性']):<12} {str(row['词义'])}\n") - -print("\n完整列表已保存到 only_in_new.txt") diff --git a/find_music_words.py b/find_music_words.py deleted file mode 100644 index a5a7abe..0000000 --- a/find_music_words.py +++ /dev/null @@ -1,29 +0,0 @@ - -import pandas as pd - -file_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx' -df = pd.read_excel(file_path) - -music_keywords = ['唱歌', '音乐', '歌曲', '歌', '唱', '乐器', '钢琴', '吉他', '小提琴', '鼓', - '演奏', '乐队', '音乐会', '演唱会', '旋律', '节奏', '音符', '录音', '歌手', - 'sing', 'song', 'music', 'musical', 'piano', 'guitar', 'violin', 'drum', - 'band', 'concert', 'melody', 'rhythm', 'note', 'record', 'singer', 'musician', - 'instrument', 'listen', 'sound', 'voice', 'choir', 'opera', 'jazz', - 'rock', 'pop', 'dance', 'rap', 'tune', 'lyric', 'album', 'audio'] - -results = [] -for idx, row in df.iterrows(): - word = str(row.iloc[0]).strip().lower() - meaning = str(row.iloc[2]).strip().lower() if len(row) > 2 else '' - for kw in music_keywords: - if kw in word or kw in meaning: - results.append(row) - break - -print(f"L2知识库总单词数: {len(df)}") -print(f"\n🎵 唱歌/音乐相关单词 ({len(results)} 个):") -print("-" * 60) -print(f"{'单词':<25} {'词性':<10} {'中文释义'}") -print("-" * 60) -for row in sorted(results, key=lambda x: str(x.iloc[0]).lower()): - print(f"{str(row.iloc[0]):<25} {str(row.iloc[1]):<10} {str(row.iloc[2])}") diff --git a/memory/.dreams/events.jsonl b/memory/.dreams/events.jsonl index 25b904f..6f4dc6a 100644 --- a/memory/.dreams/events.jsonl +++ b/memory/.dreams/events.jsonl @@ -101,3 +101,17 @@ {"type":"memory.recall.recorded","timestamp":"2026-06-09T07:22:27.500Z","query":"互动内容库 app_token 多维表格 bitable 配置","resultCount":4,"results":[{"path":"memory/2026-05-12.md","startLine":61,"endLine":80,"score":1},{"path":"memory/2026-05-18.md","startLine":305,"endLine":346,"score":1},{"path":"memory/2026-05-12.md","startLine":101,"endLine":121,"score":1},{"path":"memory/2026-05-18.md","startLine":783,"endLine":810,"score":1}]} {"type":"memory.recall.recorded","timestamp":"2026-06-09T08:37:12.232Z","query":"core_speaking_image bitable app token 多维表格","resultCount":3,"results":[{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-12.md","startLine":214,"endLine":236,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1}]} {"type":"memory.recall.recorded","timestamp":"2026-06-09T08:37:27.121Z","query":"core_speaking_image bitable_token app_token 多维表格 核心互动","resultCount":3,"results":[{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-12.md","startLine":214,"endLine":236,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:19:54.974Z","query":"看图拼写 题型 能力标签 字母书写 认写英文字母","resultCount":4,"results":[{"path":"memory/2026-05-25.md","startLine":49,"endLine":64,"score":1},{"path":"memory/2026-05-25.md","startLine":225,"endLine":243,"score":1},{"path":"memory/2026-05-25.md","startLine":214,"endLine":228,"score":1},{"path":"memory/2026-05-07.md","startLine":1,"endLine":20,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:12.701Z","query":"看图拼写 writing_pic_spell 题型 能力标签 ability","resultCount":4,"results":[{"path":"memory/2026-05-25.md","startLine":49,"endLine":64,"score":1},{"path":"memory/2026-05-25.md","startLine":225,"endLine":243,"score":1},{"path":"memory/2026-05-25.md","startLine":214,"endLine":228,"score":1},{"path":"memory/2026-05-07.md","startLine":1,"endLine":20,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:12.701Z","query":"字母书写 认写英文字母 能力标签 单元挑战","resultCount":8,"results":[{"path":"memory/2026-05-25.md","startLine":49,"endLine":64,"score":1},{"path":"memory/2026-05-25.md","startLine":225,"endLine":243,"score":1},{"path":"memory/2026-05-25.md","startLine":214,"endLine":228,"score":1},{"path":"memory/2026-05-18.md","startLine":783,"endLine":810,"score":1},{"path":"memory/2026-05-08.md","startLine":33,"endLine":55,"score":1},{"path":"memory/2026-05-08.md","startLine":18,"endLine":38,"score":1},{"path":"memory/2026-05-18.md","startLine":702,"endLine":726,"score":1},{"path":"memory/2026-05-18.md","startLine":672,"endLine":707,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:22.634Z","query":"词义分类 反义选择 同义选择 L2单词 B级难度 排序","resultCount":4,"results":[{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1},{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-29.md","startLine":1,"endLine":14,"score":1},{"path":"memory/2026-05-28.md","startLine":35,"endLine":49,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:22.635Z","query":"L2 单词题型 难度排序 认知步骤 检索 规则 生成","resultCount":6,"results":[{"path":"memory/2026-05-25.md","startLine":283,"endLine":302,"score":1},{"path":"memory/2026-05-25.md","startLine":118,"endLine":137,"score":1},{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1},{"path":"memory/2026-05-25.md","startLine":74,"endLine":91,"score":1},{"path":"memory/2026-05-25.md","startLine":240,"endLine":256,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:27.209Z","query":"看图拼词 writing_pic_spell SKILL 能力标签 ability 词汇拼写","resultCount":7,"results":[{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1},{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-29.md","startLine":1,"endLine":14,"score":1},{"path":"memory/2026-05-28.md","startLine":35,"endLine":49,"score":1},{"path":"memory/2026-05-07.md","startLine":1,"endLine":20,"score":1},{"path":"memory/2026-05-07.md","startLine":215,"endLine":235,"score":1},{"path":"memory/2026-05-08.md","startLine":33,"endLine":55,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:27.209Z","query":"能力标签 字母书写 认写英文字母 写作 标签映射 单元挑战能力标签","resultCount":7,"results":[{"path":"memory/2026-05-18.md","startLine":702,"endLine":726,"score":1},{"path":"memory/2026-05-18.md","startLine":672,"endLine":707,"score":1},{"path":"memory/2026-05-26.md","startLine":218,"endLine":226,"score":1},{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-07.md","startLine":337,"endLine":356,"score":1},{"path":"memory/2026-05-26.md","startLine":198,"endLine":223,"score":1},{"path":"memory/2026-05-12.md","startLine":34,"endLine":50,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T02:20:40.073Z","query":"词义分类 反义选择 同义选择 题型定义 认知步骤","resultCount":4,"results":[{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1},{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-29.md","startLine":1,"endLine":14,"score":1},{"path":"memory/2026-05-28.md","startLine":35,"endLine":49,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:02.147Z","query":"深度复核 组件 component review","resultCount":2,"results":[{"path":"memory/2026-05-07.md","startLine":354,"endLine":368,"score":1},{"path":"memory/2026-04-22.md","startLine":1,"endLine":8,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:02.147Z","query":"core_speaking_image 组件 复核","resultCount":3,"results":[{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-12.md","startLine":214,"endLine":236,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:13.443Z","query":"深度复核 core_speaking_image 口语看图","resultCount":3,"results":[{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-12.md","startLine":214,"endLine":236,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:13.443Z","query":"Perfect Oops 数据 复核 审校 组件","resultCount":1,"results":[{"path":"memory/2026-05-28.md","startLine":19,"endLine":37,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:28.180Z","query":"深度复核 流程 步骤 component review audit","resultCount":4,"results":[{"path":"memory/2026-05-20.md","startLine":40,"endLine":59,"score":1},{"path":"memory/2026-05-20.md","startLine":55,"endLine":65,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1},{"path":"memory/2026-06-08.md","startLine":17,"endLine":27,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-10T03:52:28.181Z","query":"core_speaking_image JSON 结构 口语看图","resultCount":3,"results":[{"path":"memory/2026-05-12.md","startLine":164,"endLine":187,"score":1},{"path":"memory/2026-05-12.md","startLine":214,"endLine":236,"score":1},{"path":"memory/2026-05-12.md","startLine":234,"endLine":254,"score":1}]} diff --git a/memory/.dreams/short-term-recall.json b/memory/.dreams/short-term-recall.json index ecfce6c..904e8bf 100644 --- a/memory/.dreams/short-term-recall.json +++ b/memory/.dreams/short-term-recall.json @@ -1,6 +1,6 @@ { "version": 1, - "updatedAt": "2026-06-09T08:37:27.121Z", + "updatedAt": "2026-06-10T03:52:28.181Z", "entries": { "memory:memory/2026-05-07.md:57:74": { "key": "memory:memory/2026-05-07.md:57:74", @@ -44,24 +44,26 @@ "endLine": 235, "source": "memory", "snippet": "3. He is (4) Japan. → from(男孩穿和服,背景富士山) 4. She is a (7). → student(女孩背书包进校门) - **JSON 结构:** questionSetID=020102, category=writing, type=writing_pic_qa - **关键教训:** - 初版设计错误:让学手写 Anna/China 等非知识点词,被用户纠正 - 初版 questionDesc \"She is a (7) girl.\" 不自然,修正为 \"She is a (7).\" - writing_pic_qa 题型核心考察点:知识点词本身(am/from),而非题干已知信息 - 挖空字母数标记(如(4))必须与答案单词字母数一致 - **词库缺口发现:** L1和L2词库均缺失人称代词(I/you/he/she)、be动词(am/is/are)、介词(from)、国家名等基础功能词,写题时先绕过词汇校验硬性约束 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型(已完结) - 详见上文 11:19-11:28 记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am ready / Thank you\" 样题生产 - **时间:** 15:53 ~ 15:55 - **需求:** 使用知识点 \"I am ready! / Thank you for...\" 再生产一套", - "recallCount": 4, + "recallCount": 5, "dailyCount": 0, "groundedCount": 0, - "totalScore": 4, + "totalScore": 5, "maxScore": 1, "firstRecalledAt": "2026-05-08T01:18:18.412Z", - "lastRecalledAt": "2026-05-26T01:58:13.120Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "390d35f8d143", "be437071312f", "12653110bb68", - "ab90b7e9cde8" + "ab90b7e9cde8", + "3ac726b21876" ], "recallDays": [ "2026-05-08", "2026-05-11", "2026-05-25", - "2026-05-26" + "2026-05-26", + "2026-06-10" ], "conceptTags": [ "writing-pic-qa", @@ -119,13 +121,13 @@ "endLine": 20, "source": "memory", "snippet": "# 2026-05-07 工作日志 ## 会话记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型 - **时间:** 11:19 ~ 11:28 - **需求:** 单元挑战新增3个题型:阅读看图回答题(reading_pic_qa)、阅读看图判断题(reading_pic_judge)、写作看图回答题(writing_pic_qa) - **状态:** ✅ 已完成题型规范落地 - **交付内容:** 1. 创建3个题型SKILL.md: - `reading/common/reading_pic_qa/SKILL.md` — 阅读看图回答题(共享大图+多题Yes/No判断) - `reading/common/reading_pic_judge/SKILL.md` — 阅读看图判断题(每题独立配图+Yes/No判断) - `writing/common/writing_pic_qa/SKILL.md` — 写作看图回答题(看图+提示答案开头+填空) 2. 更新 `MEMORY.md` 全题型阶段归属规则 3. 明确题型JSON结构、难度等级(A/B/C/D四级)、能力标签、校验规则 - **关键决策:** 3个题型均为 L1&L2 共用,通过难度参数区分阶段;reading_pic_qa 共享大图,reading_pic_judge 每题独立配图 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表对比请求", - "recallCount": 12, + "recallCount": 15, "dailyCount": 0, "groundedCount": 0, - "totalScore": 12, + "totalScore": 15, "maxScore": 1, "firstRecalledAt": "2026-05-08T01:18:18.412Z", - "lastRecalledAt": "2026-05-29T00:23:17.392Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "390d35f8d143", "fd4c9b7de37b", @@ -138,7 +140,10 @@ "5f858a7d5e0b", "ab90b7e9cde8", "fbf96ac9320e", - "bd790c7e2a35" + "bd790c7e2a35", + "7de89d94cd21", + "e679709051aa", + "3ac726b21876" ], "recallDays": [ "2026-05-08", @@ -149,7 +154,8 @@ "2026-05-17", "2026-05-26", "2026-05-28", - "2026-05-29" + "2026-05-29", + "2026-06-10" ], "conceptTags": [ "reading-pic-qa", @@ -200,13 +206,13 @@ "endLine": 55, "source": "memory", "snippet": "**图片资源新规:** - 每个题组共享一张图(非每题独立配图) - 产出 JSON 同时输出图片描述 prompt(英文,卡通简线条风格) - prompt 写入 bitable `图片描述` 列,格式 `{\"first\": \"...\", \"second\": \"...\"}` **通用化写入流程:** - 单元挑战全题型适用:定位 bitable 表 → 创建/更新记录 → 写入 `题目集合 ID` + `jsonData` + `图片描述` - 各题型仅 jsonData 结构不同,写入流程统一 **重写文件:** - `business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md`(11节完整规范) - `business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md`(简化为快速入口) **bitable 更新:** 已将新 JSON(每题组1图2题)+ 图片描述写入 `recviZlAxxXlAb` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 图片描述格式修正 - **时间:** 09:46 ~ 09:51 - **修正:** 用户给出中文样例格式,要求图片描述从英文 prompt 改为纯中文结构化列表 - **新格式:** 编号 `1.` / `2.` 自上而下,每段", - "recallCount": 12, + "recallCount": 14, "dailyCount": 0, "groundedCount": 0, - "totalScore": 12, + "totalScore": 14, "maxScore": 1, "firstRecalledAt": "2026-05-11T02:19:37.985Z", - "lastRecalledAt": "2026-06-02T01:49:17.841Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "6f88450e9f9b", "be437071312f", @@ -219,7 +225,9 @@ "14d903a64d04", "ab90b7e9cde8", "240a6a5dca41", - "7e6aa000abdb" + "7e6aa000abdb", + "9018e8896dcd", + "3ac726b21876" ], "recallDays": [ "2026-05-11", @@ -228,7 +236,8 @@ "2026-05-20", "2026-05-25", "2026-05-26", - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "创建/更新记录", @@ -878,13 +887,13 @@ "endLine": 368, "source": "memory", "snippet": "- **需求:** 将 020102(I am...)和 020103(I am ready / Thank you)两套题合并为一个 `{first:..., second:...}` JSON,统一 questionSetID=0000001 - **状态:** ✅ 已完成 - **核心考点分析(用户强调):** 需分析每个句型的核心考点(孩子最容易犯错的地方),挖空对准核心考点 - I am/from 组:am(系动词第一人称)、from(介词选择)、student(a+名词结构) - Thank you for 组:for(介词选择,非 you)、helping(for+动名词,非 help/to help) - **输出文件:** `output/writing_pic_qa_combined.json` ### 刘彦江 — 组件配置-json 请求(L1-S2-U13-L4 沙漠之花) - **时间:** 16:45 ~ 17:51 - **文档:** `https://makee-interactive.feishu.cn/wiki/K5E1wzwk7it9t7kXvcbc6Xugnhc` - **状态:** ⚠️ 未完成 — pipeline 识别到 0 组件 - **根因:** 剧本文档的13个组件数据存储在 markdown 内联表格中(lark-table,5列×36行),而非内嵌 Sheet。当前 pipeline 的 parse_script 只从内嵌 Sheet 读取组件数据,不支持 markdown 表格组件解析 - **已识别组件(ma", - "recallCount": 16, + "recallCount": 17, "dailyCount": 0, "groundedCount": 0, - "totalScore": 16, + "totalScore": 17, "maxScore": 1, "firstRecalledAt": "2026-05-15T07:13:08.147Z", - "lastRecalledAt": "2026-06-09T07:14:02.277Z", + "lastRecalledAt": "2026-06-10T03:52:02.147Z", "queryHashes": [ "08364c8746ab", "4f08741ab4fd", @@ -901,7 +910,8 @@ "5d025e291984", "472b243ec77c", "fd4c8aca2cb6", - "5319f16d7a0d" + "5319f16d7a0d", + "bab77e938a4a" ], "recallDays": [ "2026-05-15", @@ -912,7 +922,8 @@ "2026-05-28", "2026-06-01", "2026-06-04", - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "am/from", @@ -932,13 +943,13 @@ "endLine": 8, "source": "memory", "snippet": "[李应瑛 2026-04-22 提出要求] 所有需要包含对话的内容(如剧本、互动组件等)必须要有【后置对话】字段,无后置对话时填写“无”。 [李应瑛 2026-04-22 确认规则] 剧本内嵌表格组件填写位置规则:仅当表格第一列(A列)明确标注为对话类类型(对话朗读/对话挖空/对话选读/对话组句等)时,才在同一行的H列(【组件】列)填写对应的组件内容,其他类型行(TL/场景/角色/图片/非对话类等)无需填写。 [李应瑛 2026-04-22 确认格式规则] 对话类组件字段换行规则:每个结构单独占一行,格式为: 【任务标题】xxx 【情境引入】xxx 【互动内容】xxx 【后置对话】xxx 单元格内使用\\n作为换行符实现,后续所有组件均遵循此格式。", - "recallCount": 14, + "recallCount": 15, "dailyCount": 0, "groundedCount": 0, - "totalScore": 14, + "totalScore": 15, "maxScore": 1, "firstRecalledAt": "2026-05-15T07:13:08.147Z", - "lastRecalledAt": "2026-06-09T07:14:02.277Z", + "lastRecalledAt": "2026-06-10T03:52:02.147Z", "queryHashes": [ "08364c8746ab", "4f08741ab4fd", @@ -953,7 +964,8 @@ "5d025e291984", "472b243ec77c", "fd4c8aca2cb6", - "5319f16d7a0d" + "5319f16d7a0d", + "bab77e938a4a" ], "recallDays": [ "2026-05-15", @@ -964,7 +976,8 @@ "2026-05-28", "2026-06-01", "2026-06-04", - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "对话朗读/对话挖空/对话选读/对话组句等", @@ -1410,21 +1423,24 @@ "endLine": 726, "source": "memory", "snippet": "- 颜色题: \"What colour is it?\",物体题: \"What's this?\" - ability: 图文匹配 - explanation: 含回答要点、图片内容、能力、评估标准、回答指导 ### 审校结果 - ✅ 全部27题 jsonData 结构完整、explanation 全中文、题目格式正确 - ✅ 题目集合ID一致、图片编号连续(00-10/00-11/00-09) - ✅ 题目配置(人类可读)格式规范 - ⚠️ 口语-P4表无「审校结果」列,无法标记审校状态 - ℹ️ 110101题组2 \"colour\"出现2次(调色盘+彩虹)— 按规格生成 - ℹ️ 110201 \"mice\"(复数) 使用 \"What are these?\" 区分于 \"mouse\"(单数) 使用 \"What's this?\" - ℹ️ 以下词汇未在L1词库中检索到(词库仅160词/声称980词,疑似文件不完整):jacket, T-shirt, hair, monster, colour, bread, cake, candy, chocolate, ice cream, mice, mouse — 按用户指定词汇生产,未做替换 ### Bitable信息 - App Token: CMHSbUUjka3TrUsaxxEc297ongf - Table ID: tblsD2dxaRpLmkXD - 操作方式: Python subprocess + curl(避免shell转义) ## [李应瑛] L1-S2-U17-L3 紧急拜访 组件配置(2026-05-18 20:5", - "recallCount": 3, + "recallCount": 5, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 5, "maxScore": 1, "firstRecalledAt": "2026-05-19T03:08:27.099Z", - "lastRecalledAt": "2026-06-04T03:43:35.423Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "34bf2e5fbdee", "3f9471df9e50", - "19f5f93f3465" + "19f5f93f3465", + "9018e8896dcd", + "113e8be33943" ], "recallDays": [ "2026-05-19", - "2026-06-04" + "2026-06-04", + "2026-06-10" ], "conceptTags": [ "00-10/00-11/00-09", @@ -1444,21 +1460,24 @@ "endLine": 707, "source": "memory", "snippet": "- `/tmp/unit_challenge_ability_doc.md` — 对外分享版(已发送文件 + 飞书文档) --- ## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰]) ### 审校结果 - 语法/拼写硬错误:5处(Rows 41, 55, 126, 153, 178) - 表达优化建议:4处(Rows 77, 84, 63, 207) - 一致性遗漏:4行无润色 + dragon/Loong 混用不统一 - D列知识点:6个知识点,共20次 ### 交互模式收获 - 用户(王璐辰)偏好直接在 bitable 中写入统计表格 → 后续同类需求优先写入原表 ## [刘彦江] 口语-P4-看图识物 内容生产(2026-05-18 19:34) ### 生产范围(3条记录,全部双题组,全部回填验证通过 ✅) | ID | record_id | 题组1 | 题组2 | 状态 | |----|-----------|-------|-------|------| | 100001 | recvjYhcXkYXIM | 6题(颜色) | 5题(衣物) | ✅ | | 110101 | recvjYhdvUxDgs | 6题(身体) | 6题(颜色) | ✅ | | 110201 | recvjYhe4opOGm | 6题(食物) | 4题(动物) | ✅ | ### 题型结构 **口语-P4 (speaking_pic_recognize)**: - textTitle: \"Look and answer.\" - 每词1题,配1图(白底中央展", - "recallCount": 3, + "recallCount": 5, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 5, "maxScore": 1, "firstRecalledAt": "2026-05-19T03:08:27.099Z", - "lastRecalledAt": "2026-06-04T03:43:35.423Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "34bf2e5fbdee", "3f9471df9e50", - "19f5f93f3465" + "19f5f93f3465", + "9018e8896dcd", + "113e8be33943" ], "recallDays": [ "2026-05-19", - "2026-06-04" + "2026-06-04", + "2026-06-10" ], "conceptTags": [ "l1-s2-u18-l5", @@ -1478,20 +1497,22 @@ "endLine": 356, "source": "memory", "snippet": "| 对话挖空 | 1213314 | 画面左右各半:左边猴子站草地上生气 + 右边猴子在树林中开心 | | 对话朗读 | 1213315 | 画面左右各半:左边蜥蜴站草地上生气 + 右边蜥蜴在沙子里开心 | | 对话朗读 | 1213316 | 画面左右各半:左边斑马站沙子上生气 + 右边斑马在草地上开心 | | 对话朗读 | 1213317 | 河马/熊/猴子/蜥蜴/山羊/鸭子都很高兴的合照 | --- ## 经验教训(跨会话通用) ### replace_range 使用规范 - **必须精确定位单个 `` 标签**,不能用跨多行的范围定位 - **定位字符串应包含行ID标记**(如 `对话朗读1213401`)以确保唯一性 - **每次替换前先 fetch 确认当前文档结构**,避免基于缓存数据操作 - **替换后立即验证**表格结构完整性(行数、各列是否对齐) - 如果意外损坏表格,可用缓存的原始 fetch 数据重建 ### 刘彦江 — writing_pic_qa 两套题拼接合并 - **时间:** 16:08 ~ 16:30 - **需求:** 将 020102(I am...)和 020103(I am ready / Thank you)两套题合并为一个 `{first:..., second:...}` JSON,统一 questionSetID=0000001 - **状态:** ✅ 已完成 - **核心考点分析(用户强调):** 需分析每个句型的核心考点(孩子最容易犯错的地方),挖空对准核心考点", - "recallCount": 2, + "recallCount": 3, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 3, "maxScore": 1, "firstRecalledAt": "2026-05-19T03:08:27.099Z", - "lastRecalledAt": "2026-05-26T01:58:13.119Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", "queryHashes": [ "34bf2e5fbdee", - "4010d52c12f3" + "4010d52c12f3", + "113e8be33943" ], "recallDays": [ "2026-05-19", - "2026-05-26" + "2026-05-26", + "2026-06-10" ], "conceptTags": [ "河马/熊/猴子/蜥蜴/山羊/鸭子都很高兴的合照", @@ -1551,13 +1572,13 @@ "endLine": 38, "source": "memory", "snippet": "4. question与questionDesc人称必须一致(统一改为 What does [角色] say? → 第一人称直接引语) - **JSON wrapper格式:** `{\"first\": 题组1完整JSON, \"second\": 题组2完整JSON}` - **输出文件:** `output/writing_pic_qa_000001_sample.json` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 生产流程标准化 + SKILL 重写 - **时间:** 09:34 ~ 09:46 - **需求:** 将完整生产流程补充到 SKILL.md,强化核心规则 - **状态:** ✅ 已完成 **核心规则强化(用户明确):** 1. **挖空 = 考察句型结构本身**,不是复述图片信息(如 Thank you for → 挖 for 而非 you) 2. **考察多样化**:同句型覆盖多种搭配(for + 名词 / for + 动名词、be + 身份 / be + 状态词等) 3. **语言难度匹配欧标 A1-A2**(Starters/Movers) 4. **题干不千篇一律**:question 随语境微调(如 \"What does she say about herself?\" / \"Where does she say she is going?\" / \"What does she say to her friend?\") **图片资源新规:** - 每个题组共享一", - "recallCount": 8, + "recallCount": 9, "dailyCount": 0, "groundedCount": 0, - "totalScore": 8, + "totalScore": 9, "maxScore": 1, "firstRecalledAt": "2026-05-20T06:31:39.981Z", - "lastRecalledAt": "2026-05-28T10:04:34.024Z", + "lastRecalledAt": "2026-06-10T02:20:12.701Z", "queryHashes": [ "688d2dceca9d", "e637236fe74b", @@ -1566,13 +1587,15 @@ "a455c766229c", "ff8454ebcc30", "9c790f74fc5b", - "71e44ea68b09" + "71e44ea68b09", + "9018e8896dcd" ], "recallDays": [ "2026-05-20", "2026-05-25", "2026-05-26", - "2026-05-28" + "2026-05-28", + "2026-06-10" ], "conceptTags": [ "writing-pic-qa", @@ -1798,20 +1821,22 @@ "endLine": 65, "source": "memory", "snippet": "- **结果**:16个组件中 15成功 / 0失败 / 1跳过(看图拼词 1217413 未注册) ### Bug修复:parse_script.py cId提取fallback - **现象**:pipeline 识别到 0 个组件行 - **根因**:本文档的 cId(如 1217408)嵌入在 B 列(配置信息)而非 A 列(类型)。`extract_component_id` 只从类型列提取 cId,找不到就返回 None - **修复**:在 `parse_component_rows` 中新增 fallback — 当 comp_info 为 None 时,从 config_info 列(B列)提取 cId - **修改文件**:`business_production/组件配置/interactive-component-json/scripts/parse_script.py` ### 待处理 - 「看图拼词」类型需注册到 `match_component.py` 后才能生成 JSON", - "recallCount": 2, + "recallCount": 3, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 3, "maxScore": 1, "firstRecalledAt": "2026-05-21T02:47:59.335Z", - "lastRecalledAt": "2026-05-26T06:08:47.532Z", + "lastRecalledAt": "2026-06-10T03:52:28.180Z", "queryHashes": [ "09344f87b646", - "92e62f6b8e3a" + "92e62f6b8e3a", + "0924e1755b1c" ], "recallDays": [ "2026-05-21", - "2026-05-26" + "2026-05-26", + "2026-06-10" ], "conceptTags": [ "parse-script.py", @@ -1897,22 +1922,24 @@ "endLine": 59, "source": "memory", "snippet": "3. **后置对话禁止重复下行台词**:如下行是 User 的后续台词,后置对话不能复制,统一用「无」 4. **组件配置权威文档**:`WD6LwyWNtip8M8k0RWxcbJDcnxe`(飞书知识库 - 教研生产配置、修改规范) ## [李应瑛] 组件配置正确流程纠正 - **纠正**:不应手动往 wiki 文档 C 列写文本格式配置,正确做法是用 pipeline 脚本 - **正确流程**: ``` cd /root/.openclaw/workspace-xiaoyan/business_production/组件配置/interactive-component-json && \\ python3 scripts/pipeline.py \"\" --send-to gc9f72ff ``` - **Pipeline 6 步**:读取飞书文档 → 解析剧本sheet → 匹配组件类型 → LLM生成jsonData/kpInfo → 写入本地SQLite → 生成HTML报告发送给童瑶 - **Skill 目录**:`business_production/组件配置/interactive-component-json/` ## [李应瑛] L1-S2-U17-L4 门关啦 — Pipeline 组件配置生产 - **文档**: SAadwW8YaiObl8k4op3c6vs8nqb | **Spreadsheet**: It4AsFkC7hXHc4te9yUcyLHRnOe - **结果**:16个组件中 15成功 / 0失败", - "recallCount": 3, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-05-21T02:47:59.335Z", - "lastRecalledAt": "2026-06-02T07:02:08.195Z", + "lastRecalledAt": "2026-06-10T03:52:28.180Z", "queryHashes": [ "09344f87b646", "92e62f6b8e3a", - "d70b515b4a03" + "d70b515b4a03", + "0924e1755b1c" ], "recallDays": [ "2026-05-21", "2026-05-26", - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "scripts/pipeline.py", @@ -2691,23 +2718,28 @@ "endLine": 62, "source": "memory", "snippet": "- B级规则:听力句子 5-8 词(均 7 词),每组 3 张同类物品不同属性图片 - 能力标签:显性事实理解|关键词识别 ×2 + 基础语境理解|场景/物品/动作识别 ## 梁辰(user_id: ou_28f02dcada1193913cfbb6310f8daf07)— HTML 诊断页面教研规则 JS 文件 - 用户有一个 L1 关卡诊断工作台 HTML 页面(部署在腾讯云空间),当前只做数量级统计,缺少教研规则校验 - 需求:提供可嵌入 HTML 的前端 JS 校验规则文件,使诊断有据可依 - 输出:`output/l1_pedagogy_rules.js`(42KB),包含 8 个校验维度: 1. 词汇超纲检测(基于 L1/L2 词库) 2. 英式拼写检测(color→colour 等 115 组映射) 3. Markdown 标记检测(`**`/`#`/`>` 等) 4. 标点规范检测(全角混入、`~`、`!!!`) 5. 题型-阶段匹配校验(20 种题型对应的 L1/L2 阶段映射) 6. 台词质量分析(句子长度、负面评价) 7. 知识点曝光度 8. 句型合规检测 - 接入方式:`` + 调用 `PedagogyRules.validate(summary, level)` - 数据源:L1 词库 147 词(过滤 enabled=true)、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结", - "recallCount": 4, + "recallCount": 8, "dailyCount": 0, "groundedCount": 0, - "totalScore": 4, + "totalScore": 8, "maxScore": 1, "firstRecalledAt": "2026-05-29T00:23:17.391Z", - "lastRecalledAt": "2026-06-02T01:49:17.841Z", + "lastRecalledAt": "2026-06-10T02:20:40.073Z", "queryHashes": [ "c1d4076205e1", "4aa0ef719160", "e30c130b9d1d", - "7e6aa000abdb" + "7e6aa000abdb", + "094bfb865b29", + "6568231ab2d7", + "3ac726b21876", + "867f7264cd0e" ], "recallDays": [ "2026-05-29", "2026-06-01", - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "5-8", @@ -2820,21 +2852,23 @@ "endLine": 302, "source": "memory", "snippet": "- 14 阶段 4 科目全部重写,目标文档: `W5Vjw2fLiiCqfck0Mfzc0xkrnte` - L2 阶段1-2 阅读/写作从\"无\"补为实际技能点(刘彦江确认\"L2 阶段1-2 阅读和写作都是有题型的\") - L1 阶段1 阅读/写作也从\"无\"补为实际技能点 - 0 个\"无\",全量覆盖 - 生成脚本: `tmp/build_skill_points.py` ## 生产覆盖范围修正 [刘彦江] - L1 生产到 **U16**(非 U33) - L2 生产到 **U29**(非 U16) - 已同步更新 `business_knowledge/单元挑战全貌.md` ## 单元挑战全貌文档 [刘彦江] - 创建 `business_knowledge/单元挑战全貌.md` - 覆盖九大板块:业务定位、阶段划分、题型体系(18种)、能力标签(45个)、生产流程(ID规则/标准/写入陷阱)、审校体系(7+4项检查)、生产覆盖现状、模块关联、快速链接 ## L1/L2 难度等级映射 [刘彦江] ✅已确认 - L1-A: Starters入门+基础 (U1-U16) | L1-B: Starters达标 (U17-U24) | L1-C: Movers入门+基础 (U25-U40) | L1-D: Movers达标 (U41-U48) - L2-A: Flyers入门+基础 (U1-U12) | L2-B: Flyers达标 (U13-U18) | L2-C: KET入门+基础 (U19-U30) | L2-D: KET强化+高位+达标 (U31-U48) - 已写入", - "recallCount": 3, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-05-29T02:33:30.526Z", - "lastRecalledAt": "2026-06-08T02:24:43.647Z", + "lastRecalledAt": "2026-06-10T02:20:22.635Z", "queryHashes": [ "4aa0ef719160", "20f6c2d072df", - "068db47fdc05" + "068db47fdc05", + "6568231ab2d7" ], "recallDays": [ "2026-05-29", - "2026-06-08" + "2026-06-08", + "2026-06-10" ], "conceptTags": [ "阶段1-2", @@ -2854,21 +2888,23 @@ "endLine": 137, "source": "memory", "snippet": "- 生成脚本: `tmp/build_skill_points.py` ## 生产覆盖范围修正 [刘彦江] - L1 生产到 **U16**(非 U33) - L2 生产到 **U29**(非 U16) - 已同步更新 `business_knowledge/单元挑战全貌.md` ## 单元挑战全貌文档 [刘彦江] - 创建 `business_knowledge/单元挑战全貌.md` - 覆盖九大板块:业务定位、阶段划分、题型体系(18种)、能力标签(45个)、生产流程(ID规则/标准/写入陷阱)、审校体系(7+4项检查)、生产覆盖现状、模块关联、快速链接 ## L1/L2 难度等级映射 [刘彦江] ✅已确认 - L1-A: Starters入门+基础 (U1-U16) | L1-B: Starters达标 (U17-U24) | L1-C: Movers入门+基础 (U25-U40) | L1-D: Movers达标 (U41-U48) - L2-A: Flyers入门+基础 (U1-U12) | L2-B: Flyers达标 (U13-U18) | L2-C: KET入门+基础 (U19-U30) | L2-D: KET强化+高位+达标 (U31-U48) - 已写入 `business_knowledge/单元挑战全貌.md` §5.3 # 2026-05-25 工作日志 ## 组件配置 pipeline:单独重试 cId=1217214 - [童瑶] 请求单独重试 pipeline 中的失败组件 cId=1217214(听力拖拽 / core_listenin", - "recallCount": 3, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-05-29T02:33:30.526Z", - "lastRecalledAt": "2026-06-08T02:24:43.647Z", + "lastRecalledAt": "2026-06-10T02:20:22.635Z", "queryHashes": [ "4aa0ef719160", "20f6c2d072df", - "068db47fdc05" + "068db47fdc05", + "6568231ab2d7" ], "recallDays": [ "2026-05-29", - "2026-06-08" + "2026-06-08", + "2026-06-10" ], "conceptTags": [ "tmp/build-skill-points.py", @@ -2888,22 +2924,27 @@ "endLine": 66, "source": "memory", "snippet": "8. 句型合规检测 - 接入方式:`` + 调用 `PedagogyRules.validate(summary, level)` - 数据源:L1 词库 147 词(过滤 enabled=true)、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结构) - 技术注意:L2_pattern_list.json 体积 437MB(1,082,450 条记录),直接嵌入前端不可行,已提取唯一句型结构后嵌入 - 所有 6 个测试用例通过 - 用户后续想尝试其他对接方式(API 模式 / 飞书 Bot 联动 / CI 集成)", - "recallCount": 3, + "recallCount": 7, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 7, "maxScore": 1, "firstRecalledAt": "2026-05-29T02:33:30.526Z", - "lastRecalledAt": "2026-06-02T01:49:17.841Z", + "lastRecalledAt": "2026-06-10T02:20:40.073Z", "queryHashes": [ "4aa0ef719160", "e30c130b9d1d", - "7e6aa000abdb" + "7e6aa000abdb", + "094bfb865b29", + "6568231ab2d7", + "3ac726b21876", + "867f7264cd0e" ], "recallDays": [ "2026-05-29", "2026-06-01", - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "l1-pedagogy-rules.js", @@ -2923,18 +2964,22 @@ "endLine": 14, "source": "memory", "snippet": "## [梁晨] L1 Pedagogy Rules v4.0.0 交付 - 在 v3 基础上新增 5 个校验维度(来自 16 个教研 skill 规则提取): 6. 组件合规性(12 种题型规则,来自 11 个 dialogue/info config skills) 7. 字段完整性(7 项自动检查,来自 audit_l1_config) 8. 掌握度预测(W_i×M_i 加权公式,来自 knowledge-mastery-calculator) 9. 格式规范(标题/Markdown/标点/英式拼写/价值观,来自全量文本规范) 10. 语法检测(三单/主谓一致/双重否定,来自 audit_l1_config) - 输出:`output/l1_pedagogy_rules_v4.js`(59KB) - 数据:L1 147 词、L2 52 词、L1 8 句型、L2 1 句型、89 组英式拼写映射、12 种题型规则 - 已通过飞书 Bot 发送给梁晨 - API 兼容 v3:不加 options 参数即为原行为;加 component/componentExposures 启用新维度 - 能力边界:内容质量诊断(第一层筛选),不是全链路归因(看不到 UX/服务端/学生侧因素)", - "recallCount": 1, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 1, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-06-02T01:49:17.841Z", - "lastRecalledAt": "2026-06-02T01:49:17.841Z", + "lastRecalledAt": "2026-06-10T02:20:40.073Z", "queryHashes": [ - "7e6aa000abdb" + "7e6aa000abdb", + "094bfb865b29", + "3ac726b21876", + "867f7264cd0e" ], "recallDays": [ - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "v4.0.0", @@ -2954,18 +2999,22 @@ "endLine": 49, "source": "memory", "snippet": "- 答案设为[2](英语的),与申报 adj. 英文的不符,应为[0] - 🟡 rubber (1218116):释义题例句\"an eraser made of rubber\"解释的是橡胶材料,非橡皮擦工具 - 🟡 Chinese(n.) (1218113):例句\"Chinese food\"中 Chinese 是形容词非名词,与题目义项\"中文\"不符 - 🟢 fun (1218119):解析末尾多余一个 `\"` - 🟢 eraser (1218111):`\"an eraser表示\"` 缺少空格 ## 武钰涵 — 听力-P1-图片选择题生产 - 题目集合 ID: 121601,难度 B级(L1 第3-4阶段,Starters 3) - 知识点验证:10个词中仅 run(v.) 在 L1 词库,feet(foot 的复数)可视为已有,其余 8 个(bus, taxi, trousers, shorts, winter, snow, cold, bee)不在 L1/L2 词库 - 用户指示直接生产,已按 SKILL 规范生成 2 个题组(各5题),含听力文本、图片描述、正确答案、能力标签 - 已按 bitable 配置格式输出完整 jsonData + 题目完整配置 + 图片描述 - B级规则:听力句子 5-8 词(均 7 词),每组 3 张同类物品不同属性图片 - 能力标签:显性事实理解|关键词识别 ×2 + 基础语境理解|场景/物品/动作识别 ## 梁辰(user_id: ou_28f02dcada1193913cfbb6310f8daf07)— HTML 诊断页面", - "recallCount": 1, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 1, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-06-02T01:49:17.841Z", - "lastRecalledAt": "2026-06-02T01:49:17.841Z", + "lastRecalledAt": "2026-06-10T02:20:40.073Z", "queryHashes": [ - "7e6aa000abdb" + "7e6aa000abdb", + "094bfb865b29", + "3ac726b21876", + "867f7264cd0e" ], "recallDays": [ - "2026-06-02" + "2026-06-02", + "2026-06-10" ], "conceptTags": [ "听力-p1-图片选择题生产", @@ -3239,19 +3288,21 @@ "endLine": 810, "source": "memory", "snippet": "--- ## [李应瑛] L1-S2-U17-L5 笨蛋坏蛋?英文生产(2026-05-18 21:15) ### 背景 李应瑛发送知识库文档 `U1zEwHZaaie07TkjmOOchurgnIh`(L1-S2-U17-L5 笨蛋坏蛋?),要求\"英文生产\"。 ### 文档结构(与L3/L4不同) - Wiki token: `U1zEwHZaaie07TkjmOOchurgnIh` - Spreadsheet token: `DCcKsLbrmhfXgrtB7N2c9GA4ntf` - Script sheet: `wMQVyV`(186行×9列) - Knowledge points sheet: `DCcKsLbrmhfXgrtB7N2c9GA4ntf_NtIcXt` - 列结构:A=类型, D=剧情描述, E=角色名, F=编剧台词(English已填好), **G=组件配置** - 知识点:point, talk, understand, a lot of + `talk to...` / `I can/can't understand...` ### 交互模式差异 - L5 文档 B列/C列 为空,无详细组件类型标签(仅 A=互动/核心互动-口语) - 编剧台词F列已全部填写(英文) - 互动行的 User 台词含红色标注知识点词 ### 完成事项 - 24个互动行全部生成G列配置(组件类型推断:听力挖空、朗读台词、口语表达) - 写入方式:同上 Sheets v2 API - 24/24 全部回读验证通过 ### 脚本 `scripts/write_", - "recallCount": 2, + "recallCount": 3, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 3, "maxScore": 1, "firstRecalledAt": "2026-06-09T07:21:33.704Z", - "lastRecalledAt": "2026-06-09T07:22:27.500Z", + "lastRecalledAt": "2026-06-10T02:20:12.701Z", "queryHashes": [ "ff0d0637f255", - "f525b14a0c5b" + "f525b14a0c5b", + "9018e8896dcd" ], "recallDays": [ - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "l1-s2-u17-l5", @@ -3271,19 +3322,24 @@ "endLine": 187, "source": "memory", "snippet": "- **五大分类:** 📖阅读(2) / 🎧听力(3) / 🗣口语(4) / ✏️写作(5) / 未完成(1) - **通用字段提取:** ID/dataStatus/kpStatus/kpInfo/taskData 是所有题型共用的基础结构 #### 覆盖率 - 14 种题型已录入 ✅(1 种无数据:口语探讨) - 4 个一级板块:通用结构 / 题型专区 / 审校规则 / 扩展指南 - 每个题型:cType + bitable 定位 + JSON 字段表 + 结构特点 + 与同类题型的差异说明 #### 发现 - 写作互动和邮件组句 cType 相同(`core_writing_questionMakeSentence`),通过 textInfo 区分素材 - 口语快答/妙问 JSON 结构几乎相同,差异在 prompt 配置和对话样例内容 - 合作阅读和合作听力的核心差异:`textData.text[]` ↔ `textData.audio[]` - meaning 标签(合作阅读)为开放型自由文本,非受控词表 #### 产出文件 - `business_production/_shared/bitable-reader/SKILL.md` — 通用 bitable 读取技能(164行) - `business_knowledge/skills/core-content-json-standard/SKILL.md` — 全题型 JSON 标准 v2.0(393行) - `scripts/audit_core_reading_S0.py` — 合作阅读 S0", - "recallCount": 2, + "recallCount": 6, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 6, "maxScore": 1, "firstRecalledAt": "2026-06-09T08:37:12.232Z", - "lastRecalledAt": "2026-06-09T08:37:27.121Z", + "lastRecalledAt": "2026-06-10T03:52:28.181Z", "queryHashes": [ "91bf4d50e5a2", - "b8853a0aafcc" + "b8853a0aafcc", + "113e8be33943", + "9573fdf60768", + "70a3284bc0c5", + "78420d02cc4d" ], "recallDays": [ - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "口语快答/妙问", @@ -3303,19 +3359,23 @@ "endLine": 236, "source": "memory", "snippet": "- **产出 Skill 2:** `business_knowledge/skills/core-content-json-standard/SKILL.md` v2.0 — 全题型 JSON 标准(393行) - **架构:** 通用字段在前(ID/kpInfo/taskData)+ 5大题型分类(📖阅读2 🎧听力3 🗣口语4 ✏️写作5)+ 审校规则 + 扩展指南 - **覆盖率:** 14/15 种题型(口语探讨 S0 无数据) - **产出脚本:** `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校 ## 经验教训 ### bitable 写入需严格流程管控(2026-05-12) - 批量更新 JSON:写入前完整提取 → 写入后逐字段 diff → 异常立即回滚 - 首次修复多题 JSON 导致 Q2 丢失 → 先单条试跑验证再批量 ### sentenceMeaningMeaning 引号规范(2026-05-12) - explanation 中 ASCII `\"` 与中文引号混用导致 JSON 解析失败 - 建议:生产侧统一用中文引号 `\"\"`(U+201C/D),或写入前做引号归一化 ### 写作互动 / 邮件组句 cType 相同(2026-05-12) - 两者 cType 均为 `core_writing_questionMakeSentence`,通过 textInfo.textList[].type 区分素材 ### 刘彦江 — 中互动全题型录入(18:00 ~ 18:25) ###", - "recallCount": 2, + "recallCount": 5, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 5, "maxScore": 1, "firstRecalledAt": "2026-06-09T08:37:12.232Z", - "lastRecalledAt": "2026-06-09T08:37:27.121Z", + "lastRecalledAt": "2026-06-10T03:52:28.181Z", "queryHashes": [ "91bf4d50e5a2", - "b8853a0aafcc" + "b8853a0aafcc", + "9573fdf60768", + "70a3284bc0c5", + "78420d02cc4d" ], "recallDays": [ - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "v2.0", @@ -3335,19 +3395,24 @@ "endLine": 254, "source": "memory", "snippet": "#### 发现 - **中互动结构高度统一:** 全部 27 类都用 `jsonData`(主配置)+ `kpInfo`(知识点绑定),没有核心互动那种多字段分散结构 - **6 大分类:** 🗨对话(7) / 📋信息(6) / 📦词汇(2) / 🖼图片选择(4) / 📝语法(3) / 🔧其他(5) - **对话类公共字段:** cType, cId, title, resourceMapping, preDialog, imgShowTimingList - 写作互动和邮件组句 cType 相同(`core_writing_questionMakeSentence`) #### 产出文件 - `skills/interactive-component-json/references/json_structure_guide.md` — 27 种中互动 jsonData 字段结构(8736 bytes) - `skills/interactive-component-json/references/component_registry.md` — 核心互动部分从🔲更新为完整注册表(含 cType+bitable_token) - 与 `business_knowledge/skills/core-content-json-standard/SKILL.md` 双向关联 #### 覆盖率 - 核心互动:15/15 ✅(口语探讨 S0 无数据已标注) - 中互动:27/27 ✅ - 关联文件:3 个(core-content-json-standard + com", - "recallCount": 2, + "recallCount": 6, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 6, "maxScore": 1, "firstRecalledAt": "2026-06-09T08:37:12.232Z", - "lastRecalledAt": "2026-06-09T08:37:27.121Z", + "lastRecalledAt": "2026-06-10T03:52:28.181Z", "queryHashes": [ "91bf4d50e5a2", - "b8853a0aafcc" + "b8853a0aafcc", + "9573fdf60768", + "70a3284bc0c5", + "0924e1755b1c", + "78420d02cc4d" ], "recallDays": [ - "2026-06-09" + "2026-06-09", + "2026-06-10" ], "conceptTags": [ "bitable-token", @@ -3359,6 +3424,322 @@ "结构", "高度" ] + }, + "memory:memory/2026-05-25.md:49:64": { + "key": "memory:memory/2026-05-25.md:49:64", + "path": "memory/2026-05-25.md", + "startLine": 49, + "endLine": 64, + "source": "memory", + "snippet": "- [刘彦江] 要求将写作P1 021301~032901共16条ID的explanation简化 - 标准:先称呼→按写作要求匹配正文→最后署名,格式类似\"先称呼Dear Lucy,再按三个要求匹配正文:相册失踪对应...在哪丢的对应...请求帮忙找对应...最后署名\" - 已逐条输出15条解析(021301按样例略过),列表:021401, 021501, 021701, 021801, 021901, 022001, 022101, 022201, 022301, 022401, 032501, 032601, 032701, 032801, 032901 - 022101特殊:按故事逻辑排列(非写作要求匹配),因该题无编号要求而是按叙事顺序排列句子 ## L1/L2 能力图谱梳理 [刘彦江] ⏳待确认 - [刘彦江] 分享了wiki文档 https://makee-interactive.feishu.cn/wiki/TFB9wJm4IilkCekyFdzcc42on6d - 要求:梳理L1 6阶段+L2 8阶段听说读写tag类型和考点,在@刘彦江的位置输出方案 - 已输出四部分方案框架(见对话),用户尚未确认: 1. 各阶段听/说/读/写能力分布表格(汇总表 + 14阶段×4科目tag) 2. 单项目卡描述(≤100字,4条分别覆盖听/说/读/写) 3. 能力考察项(小标题≤12字,每条≤70字,总≤280字,以听力Movers为例) 4. 单能力项描述(≤210字,以\"单句信息点抓取\"为例) - 待用户确认格式和内容方向后,再写入文档 ## 能力", + "recallCount": 3, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 3, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:19:54.974Z", + "lastRecalledAt": "2026-06-10T02:20:12.701Z", + "queryHashes": [ + "7de89d94cd21", + "e679709051aa", + "9018e8896dcd" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "l1/l2", + "各阶段听/说/读/写能力分布表格", + "4条分别覆盖听/说/读/写", + "彦江", + "要求", + "写作", + "explanation", + "简化" + ] + }, + "memory:memory/2026-05-25.md:225:243": { + "key": "memory:memory/2026-05-25.md:225:243", + "path": "memory/2026-05-25.md", + "startLine": 225, + "endLine": 243, + "source": "memory", + "snippet": "- 要求:梳理L1 6阶段+L2 8阶段听说读写tag类型和考点,在@刘彦江的位置输出方案 - 已输出四部分方案框架(见对话),用户尚未确认: 1. 各阶段听/说/读/写能力分布表格(汇总表 + 14阶段×4科目tag) 2. 单项目卡描述(≤100字,4条分别覆盖听/说/读/写) 3. 能力考察项(小标题≤12字,每条≤70字,总≤280字,以听力Movers为例) 4. 单能力项描述(≤210字,以\"单句信息点抓取\"为例) - 待用户确认格式和内容方向后,再写入文档 ## 能力图谱固定文案回填完成 [刘彦江] - 文档: https://makee-interactive.feishu.cn/wiki/W5Vjw2fLiiCqfck0Mfzc0xkrnte - 严格按照L1/L2阶段分配文档的\"阶段目标\"描述 - 回填内容: - L1: 阶段1听口 / 阶段2听口阅 / 阶段3-6听口阅写 - L2: 阶段1-8听口阅写 - 各阶段描述均对齐文档设定的阶段目标(如L1阶段1:基础字母识别关键词抓取, 阶段3:数字/时间细节抓取同义替换识别等) - 格式: 每阶段下听力/口语/阅读/写作各一段≤210字描述 ## 能力图谱考察项文档写入完成 [刘彦江] ✅已完成 - 文档: https://makee-interactive.feishu.cn/wiki/W5Vjw2fLiiCqfck0Mfzc0xkrnte (考察项描述目录) - 14 阶段 14 张表全部填充:L1 阶段1-6 + L2 阶段1-8", + "recallCount": 3, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 3, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:19:54.974Z", + "lastRecalledAt": "2026-06-10T02:20:12.701Z", + "queryHashes": [ + "7de89d94cd21", + "e679709051aa", + "9018e8896dcd" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "各阶段听/说/读/写能力分布表格", + "4条分别覆盖听/说/读/写", + "严格按照l1/l2阶段分配文档的", + "阶段3-6听口阅写", + "阶段1-8听口阅写", + "数字/时间细节抓取同义替换识别等", + "每阶段下听力/口语/阅读/写作各一段", + "阶段1-6" + ] + }, + "memory:memory/2026-05-25.md:214:228": { + "key": "memory:memory/2026-05-25.md:214:228", + "path": "memory/2026-05-25.md", + "startLine": 214, + "endLine": 228, + "source": "memory", + "snippet": "- 替代方案:用飞书 Drive API `DELETE /open-apis/drive/v1/files/{doc_token}?type=docx` 删除文件(不归入回收站) - 验证:删除后再次查询 node → 131005 \"not found\",确认已移除 ## 写作P1 16条解析简化输出 [刘彦江] - [刘彦江] 要求将写作P1 021301~032901共16条ID的explanation简化 - 标准:先称呼→按写作要求匹配正文→最后署名,格式类似\"先称呼Dear Lucy,再按三个要求匹配正文:相册失踪对应...在哪丢的对应...请求帮忙找对应...最后署名\" - 已逐条输出15条解析(021301按样例略过),列表:021401, 021501, 021701, 021801, 021901, 022001, 022101, 022201, 022301, 022401, 032501, 032601, 032701, 032801, 032901 - 022101特殊:按故事逻辑排列(非写作要求匹配),因该题无编号要求而是按叙事顺序排列句子 ## L1/L2 能力图谱梳理 [刘彦江] ⏳待确认 - [刘彦江] 分享了wiki文档 https://makee-interactive.feishu.cn/wiki/TFB9wJm4IilkCekyFdzcc42on6d - 要求:梳理L1 6阶段+L2 8阶段听说读写tag类型和考点,在@刘彦江的位置输出方案 - 已输出四部分方案框架(见对话),用户尚未确认: 1. 各阶段听/说/读/写能力分布", + "recallCount": 3, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 3, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:19:54.974Z", + "lastRecalledAt": "2026-06-10T02:20:12.701Z", + "queryHashes": [ + "7de89d94cd21", + "e679709051aa", + "9018e8896dcd" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "open-apis/drive/v1/files", + "doc-token", + "l1/l2", + "各阶段听/说/读/写能力分布", + "替代", + "方案", + "drive", + "api" + ] + }, + "memory:memory/2026-05-25.md:74:91": { + "key": "memory:memory/2026-05-25.md:74:91", + "path": "memory/2026-05-25.md", + "startLine": 74, + "endLine": 91, + "source": "memory", + "snippet": "- 14 阶段 14 张表全部填充:L1 阶段1-6 + L2 阶段1-8 - 考察项格式:考察项名称 + 描述,不标注题型来源(括号内Part编号等) - 表格格式:3列(单项 / 考察项 / 考察项描述),单项列使用rowspan合并 ### 生产数据 vs 设计文档的差异 - **设计文档不可信**:L1/L2 阶段分配文档(Jjd8wghbeidXt2kDFaPcU09wnzc / D9EFwVC9Gi9nCAk4heec2qYCnwe)与实际生产不一致 - 实际生产数据来源:生产文档「单元挑战旧题目解析待补充 ID 整理」(CS8Ww2XaSiFwhakQenycRU5ZnYf) - Part→题型映射来源于多维表格 (App Token: CMHSbUUjka3TrUsaxxEc297ongf) - 关键差异:L1阶段1实际有阅读(P7)和写作(P3),不是设计文档声称的「仅听力+口语」 - 生产数据覆盖范围有限:L1 仅到 ~U33 (032901),L2 仅到 ~U16 (121601) - 无生产数据的阶段(L1阶段5-6, L2阶段4-8)使用设计文档 + 题型递进规律推算 ### 飞书 lark-table 写入注意事项 - rowspan 在飞书 markdown 回写时会被自动剥离 - 表格写入后单项列会逐行重复显示而非合并单元格(飞书原生限制) - 写入前需 extract 原始文档的 S1 表格,再与生成的新表格拼接后 overwrite ### Part→题型映射速查(来自多维表格 CMHSbUUjka3TrUsaxxEc297ongf)", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:20:22.635Z", + "lastRecalledAt": "2026-06-10T02:20:22.635Z", + "queryHashes": [ + "6568231ab2d7" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "阶段1-6", + "阶段1-8", + "l1/l2", + "l1阶段5-6", + "l2阶段4-8", + "lark-table", + "阶段", + "全部" + ] + }, + "memory:memory/2026-05-25.md:240:256": { + "key": "memory:memory/2026-05-25.md:240:256", + "path": "memory/2026-05-25.md", + "startLine": 240, + "endLine": 256, + "source": "memory", + "snippet": "- 格式: 每阶段下听力/口语/阅读/写作各一段≤210字描述 ## 能力图谱考察项文档写入完成 [刘彦江] ✅已完成 - 文档: https://makee-interactive.feishu.cn/wiki/W5Vjw2fLiiCqfck0Mfzc0xkrnte (考察项描述目录) - 14 阶段 14 张表全部填充:L1 阶段1-6 + L2 阶段1-8 - 考察项格式:考察项名称 + 描述,不标注题型来源(括号内Part编号等) - 表格格式:3列(单项 / 考察项 / 考察项描述),单项列使用rowspan合并 ### 生产数据 vs 设计文档的差异 - **设计文档不可信**:L1/L2 阶段分配文档(Jjd8wghbeidXt2kDFaPcU09wnzc / D9EFwVC9Gi9nCAk4heec2qYCnwe)与实际生产不一致 - 实际生产数据来源:生产文档「单元挑战旧题目解析待补充 ID 整理」(CS8Ww2XaSiFwhakQenycRU5ZnYf) - Part→题型映射来源于多维表格 (App Token: CMHSbUUjka3TrUsaxxEc297ongf) - 关键差异:L1阶段1实际有阅读(P7)和写作(P3),不是设计文档声称的「仅听力+口语」 - 生产数据覆盖范围有限:L1 仅到 ~U33 (032901),L2 仅到 ~U16 (121601) - 无生产数据的阶段(L1阶段5-6, L2阶段4-8)使用设计文档 + 题型递进规律推算 ### 飞书 lark-table 写入注意事项 - rowspan 在飞书 markdown", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:20:22.635Z", + "lastRecalledAt": "2026-06-10T02:20:22.635Z", + "queryHashes": [ + "6568231ab2d7" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "每阶段下听力/口语/阅读/写作各一段", + "阶段1-6", + "阶段1-8", + "l1/l2", + "l1阶段5-6", + "l2阶段4-8", + "lark-table", + "格式" + ] + }, + "memory:memory/2026-05-26.md:218:226": { + "key": "memory:memory/2026-05-26.md:218:226", + "path": "memory/2026-05-26.md", + "startLine": 218, + "endLine": 226, + "source": "memory", + "snippet": "| 139 | 1219215 | 对话朗读 | 朗读job相关台词 | | 157 | 1219216 | 对话朗读 | 朗读句式相关台词 | | 169 | 1219217 | 对话表达 | 展示团队成就 | ### 技术备忘 - **lark-cli docs +fetch markdown** 可检测到内嵌 Sheet 标签(``),比 RAW content API 更可靠 - U19-L2 文档的RAW content未显示sheet标签,但lark-cli markdown输出中包含两个内嵌sheet - 组件生产(结构化文本)vs 组件配置-json(JSON管线)是两个不同流程,需根据用户指令区分", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:20:27.209Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", + "queryHashes": [ + "113e8be33943" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "lark-cli", + "u19-l2", + "但lark-cli", + "组件配置-json", + "对话", + "朗读", + "job", + "相关" + ] + }, + "memory:memory/2026-05-26.md:198:223": { + "key": "memory:memory/2026-05-26.md:198:223", + "path": "memory/2026-05-26.md", + "startLine": 198, + "endLine": 223, + "source": "memory", + "snippet": "- **Spreadsheet token:** `Mt4rsAj8ehtA1ztetACc0HGWnMb` | Sheet `wMQVyV` - **知识点:** astronaut / job / great / also / I have a/an... / We also need... - **17/17 全部写入 H 列 ✅** | Row | ID | 类型 | 任务标题 | |-----|-----|------|----------| | 14 | 1219201 | 图片多选 | 宇航员套装识别 | | 27 | 1219202 | 对话朗读 | 朗读job相关台词 | | 37 | 1219203 | 图片单选 | 识别宇航员服 | | 43 | 1219204 | 对话朗读 | 朗读also相关台词 | | 61 | 1219205 | 对话挖空 | 询问Dad的工作 | | 65 | 1219206 | 对话朗读 | 朗读job相关台词 | | 78 | 1219207 | 对话挖空 | User自豪地介绍自己 | | 83 | 1219208 | 对话朗读 | 朗读great相关台词 | | 91 | 1219209 | 对话组句 | User发现自己也有工作 | | 103 | 1219210 | 看图拼词 | 拼写任务卡片 | | 114 | 1219211 | 对话朗读 | 朗读句式相关台词 | | 118 | 1219212 | 对话组句 | 向爸妈展示计划 | | 123 | 1219213 | 对话组句 | 提议进行演习 | | 135", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:20:27.209Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", + "queryHashes": [ + "113e8be33943" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "a/an", + "17/17", + "spreadsheet", + "token", + "mt4rsaj8ehta1ztetacc0hgwnmb", + "sheet", + "wmqvyv", + "知识" + ] + }, + "memory:memory/2026-05-12.md:34:50": { + "key": "memory:memory/2026-05-12.md:34:50", + "path": "memory/2026-05-12.md", + "startLine": 34, + "endLine": 50, + "source": "memory", + "snippet": "- **问题:** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签,格式不符合参考规范 - **处理:** 1. 查询 bitable 获取6条记录当前图片描述(tblCgfYDnnqwLfgH) 2. 按每道题的上下文匹配对应的标识/通知类型标签(如 Show Poster、Wanted Notice、School Notice 等) 3. 批量更新6条记录的图片描述字段,全部10个 `【Type】` 标签验证通过 4. 脚本:`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新:** 将图片描述规范(格式要求、核心规则、参考示例、常用类型标签参考表)更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点:** - 每张图片 → `图片材料文本:\\n【Type】\\nActual text` - 图片必须是真实标识/通知(非标签式) - L2 B级及以上图片文字需为完整陈述句(3-5词+) ### 刘彦江 — L1 配置表审校 + 技能沉淀(11:50 ~ 12:10) - **数据源:** 飞书多维表格「互动知识点 - 句子」→「Level 1 配置表」(`Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ`) - **ID 编码规则:** 7位 = 前", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T02:20:27.209Z", + "lastRecalledAt": "2026-06-10T02:20:27.209Z", + "queryHashes": [ + "113e8be33943" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "021301-021801", + "按每道题的上下文匹配对应的标识/通知类型标签", + "图片必须是真实标识/通知", + "3-5词", + "问题", + "信息", + "匹配", + "图片" + ] + }, + "memory:memory/2026-05-28.md:19:37": { + "key": "memory:memory/2026-05-28.md:19:37", + "path": "memory/2026-05-28.md", + "startLine": 19, + "endLine": 37, + "source": "memory", + "snippet": "- 用户提交第二批 20 个 L1 词汇知识点审校 - 校验结果:16个超纲(仅 read/ruler/write/pencil 4个在库) - 内容问题: - 🔴 10个词条格式不统一(``` 包裹 + 中英文无空格):read, line, Chinese(adj.), perfect, eraser, Chinese(n.), write, rubber, playground, English(adj.) - 🔴 Chinese(n.) 例句语法错误:\"My neighbour is Chinese who cooks\" → 应改为 \"My neighbour is Chinese and cooks\" - 🔴 China 例句冗余:\"Chinese food from China\" - 🔴 read 释义与词库不一致:申报\"阅读,读懂\",词库仅\"阅读\" - 🟡 eraser/rubber 双重申报,内容几乎一致,建议二选一 ## 武钰涵 — 词汇巩固题审校(批次1: 20词×3题=60题) - 仅发现1个错误:home (1217116) 释义题答案设为[2](家庭),应为[0](回家,在家),与用户申报的词性 adv. 一致 - 其余59题通过 ## 武钰涵 — 词汇巩固题审校(批次2: 20词×3题=60题) - 🔴 English (1218118): - 释义题解析为 LLM 兜底拒答占位文本:\"请你提供具体的题目和对应正确答案内容...\" - 答案设为[2](英语的),与申报 adj. 英文的不符,应为[0] -", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T03:52:13.443Z", + "lastRecalledAt": "2026-06-10T03:52:13.443Z", + "queryHashes": [ + "92034bab1861" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "read/ruler/write/pencil", + "eraser/rubber", + "用户", + "提交", + "第二", + "词汇", + "知识", + "结果" + ] + }, + "memory:memory/2026-06-08.md:17:27": { + "key": "memory:memory/2026-06-08.md:17:27", + "path": "memory/2026-06-08.md", + "startLine": 17, + "endLine": 27, + "source": "memory", + "snippet": "- 图片时机根据有实际内容(非「无」)的 section 动态列出(如「互动内容」「情境引入 互动内容 互动反馈」) - 图片时机和音频载体禁止同时存在 ### 已更新文件 - `business_production/组件生产/skills/component-design/SKILL.md` → v1.3.0 - `business_production/组件生产/skills/script-component-production/SKILL.md` → v1.2.0 ### 已执行操作 - L1-S2-U21-L2 运输小队:全量修正(辅助信息、资源配置、互动反馈、情境引入/后置对话去重、配图资源配置) - L1-S2-U21-L1 寻人启事:组件配置流水线 16/16 成功", + "recallCount": 1, + "dailyCount": 0, + "groundedCount": 0, + "totalScore": 1, + "maxScore": 1, + "firstRecalledAt": "2026-06-10T03:52:28.180Z", + "lastRecalledAt": "2026-06-10T03:52:28.180Z", + "queryHashes": [ + "0924e1755b1c" + ], + "recallDays": [ + "2026-06-10" + ], + "conceptTags": [ + "v1.3.0", + "v1.2.0", + "l1-s2-u21-l2", + "情境引入/后置对话去重", + "l1-s2-u21-l1", + "16/16", + "图片", + "时机" + ] } } } diff --git a/memory/2026-06-10.md b/memory/2026-06-10.md new file mode 100644 index 0000000..a46ede9 --- /dev/null +++ b/memory/2026-06-10.md @@ -0,0 +1,24 @@ +# 2026-06-10 工作日志 + +## 规则更新:文本输出格式规范 + +[刘彦江确认] 以下三条规则已同步更新到 MEMORY.md、unit_challenge_core、audit_unit_challenge、unit_challenge_master、interactive-component-json、单元挑战全貌.md: + +### 1. 中英文混排空格规范(新增) +- 中文与英文/数字之间加半角空格(如"汇报 Jay 不配合"、"Tom 说 hello") +- 纯中文或纯英文内容不加额外空格 + +### 2. 标点符号规范(补充) +- 英文冒号必须用半角 `:`,不得用全角 `:` +- 中文内容使用全角标点(,。!?:) +- 英文内容使用半角标点(. , ! ? :) + +### 3. 英式拼写优先(已有,无变更) + +## 待处理问题 + +[王璐辰反馈] 以下问题待提供文档链接后修复: +- 组句选项内容错误(具体记录待定位) +- 对话挖空做成了对话组句(题型错配) +- 对话选择/选读句子后面需加"(音频)"标记 +- 反馈中角色名冒号应为英文冒号