[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"i-ri:search-line":3,"i-ri:moon-line":8,"i-ri:sun-line":10,"i-ri:menu-3-line":12,"i-ri:close-line":14,"notes-module-items-ai":16,"notes-page-ai-02-agent-architecture\u002F03-memory":74,"i-ri:arrow-left-s-line":709,"i-ri:menu-2-line":711,"i-ri:arrow-right-s-line":713,"i-ep:copy-document":715},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"currentColor\" d=\"M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2h.1A6.98 6.98 0 0 0 10 7m-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938A8 8 0 0 0 4 12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"currentColor\" d=\"M12 18a6 6 0 1 1 0-12a6 6 0 0 1 0 12m0-2a4 4 0 1 0 0-8a4 4 0 0 0 0 8M11 1h2v3h-2zm0 19h2v3h-2zM3.515 4.929l1.414-1.414L7.05 5.636L5.636 7.05zM16.95 18.364l1.414-1.414l2.121 2.121l-1.414 1.414zm2.121-14.85l1.414 1.415l-2.121 2.121l-1.414-1.414zM5.636 16.95l1.414 1.414l-2.121 2.121l-1.414-1.414zM23 11v2h-3v-2zM4 11v2H1v-2z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"currentColor\" d=\"M3 4h18v2H3zm6 7h12v2H9zm-6 7h18v2H3z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cpath fill=\"currentColor\" d=\"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z\"\u002F>",[17,22,26,30,34,38,42,46,50,54,58,62,66,70],{"path":18,"title":19,"meta":20},"\u002Fnotes\u002Fai\u002F01-llm-basics\u002F01-hello-llm","LLM 交互基础：透过现象看本质",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},"2026-11-05T09:47:15.000Z",{"path":23,"title":24,"meta":25},"\u002Fnotes\u002Fai\u002F01-llm-basics\u002F02-streaming-and-prompts","进阶交互：流式传输与提示词工程",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":27,"title":28,"meta":29},"\u002Fnotes\u002Fai\u002F01-llm-basics\u002F03-function-calling","结构化输出与 Function Calling",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":31,"title":32,"meta":33},"\u002Fnotes\u002Fai\u002F02-agent-architecture\u002F01-tool-use","Agent 核心能力 ①：Tool Use（工具调用）",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":35,"title":36,"meta":37},"\u002Fnotes\u002Fai\u002F02-agent-architecture\u002F02-mini-cursor-cli","实战项目：Mini Cursor（CLI 版）",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":39,"title":40,"meta":41},"\u002Fnotes\u002Fai\u002F02-agent-architecture\u002F03-memory","Agent 核心能力 ②：Memory（记忆管理）",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":43,"title":44,"meta":45},"\u002Fnotes\u002Fai\u002F02-agent-architecture\u002F04-planning","Agent 核心能力 ③：Planning（规划能力）",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":47,"title":48,"meta":49},"\u002Fnotes\u002Fai\u002F02-agent-architecture\u002F05-review-diff-chunking","代码改了很多，AI 为什么只审了前面？",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":51,"title":52,"meta":53},"\u002Fnotes\u002Fai\u002F02-agent-architecture","Agent 架构笔记",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":55,"title":56,"meta":57},"\u002Fnotes\u002Fai\u002F03-rag\u002F01-vector-db-and-embeddings-node","RAG ①：Embeddings 与向量数据库入门（Node.js 优先）",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":59,"title":60,"meta":61},"\u002Fnotes\u002Fai\u002F04-document-extraction\u002F01-ocr-field-evidence","OCR 读对了字，为什么地址仍然错？",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":63,"title":64,"meta":65},"\u002Fnotes\u002Fai\u002F05-development-workflow\u002F01-task-recovery","AI 任务做一半，中断后怎么继续？",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":67,"title":68,"meta":69},"\u002Fnotes\u002Fai","AI 应用开发",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"path":71,"title":72,"meta":73},"\u002Fnotes\u002Fai\u002Froadmap","AI Agent 全栈开发学习路线图 (Roadmap)",{"date":-1,"tags":-1,"summary":-1,"lastUpdated":21},{"id":75,"type":76,"sourcePath":77,"routePath":39,"path":39,"title":40,"updatedAt":21,"meta":78,"body":80,"toc":690},"bm90ZTpub3Rlcy9haS8wMi1hZ2VudC1hcmNoaXRlY3R1cmUvMDMtbWVtb3J5Lm1k","note","notes\u002Fai\u002F02-agent-architecture\u002F03-memory.md",{"id":75,"type":76,"sourcePath":77,"slug":79,"title":40,"updatedAt":21,"lastUpdated":21},"ai\u002F02-agent-architecture\u002F03-memory",{"type":81,"children":82},"root",[83,91,107,111,118,125,150,156,161,194,197,203,208,213,226,231,234,240,246,251,264,269,282,288,293,298,311,316,344,349,408,413,426,432,437,442,455,459,477,485,488,494,499,543,548,571,574,580,586,599,605,610,623,629,634,652,655,661,666,684],{"type":84,"tag":85,"props":86,"children":88},"element","h1",{"id":87},"agent-核心能力-memory记忆管理",[89],{"type":90,"value":40},"text",{"type":84,"tag":92,"props":93,"children":94},"blockquote",{},[95],{"type":84,"tag":96,"props":97,"children":98},"p",{},[99,105],{"type":84,"tag":100,"props":101,"children":102},"strong",{},[103],{"type":90,"value":104},"摘要",{"type":90,"value":106},"：OpenAI 兼容的对话 API 是无状态的：模型不会替你记住历史。Memory 的任务是：在 context window 有限的情况下，让 Agent 在“看起来连续”的同时，控制成本并保留关键事实。",{"type":84,"tag":108,"props":109,"children":110},"hr",{},[],{"type":84,"tag":112,"props":113,"children":115},"h2",{"id":114},"_1-memory-解决的到底是什么问题",[116],{"type":90,"value":117},"1. Memory 解决的到底是什么问题",{"type":84,"tag":119,"props":120,"children":122},"h3",{"id":121},"_11-两个硬约束",[123],{"type":90,"value":124},"1.1 两个硬约束",{"type":84,"tag":126,"props":127,"children":128},"ul",{},[129,140],{"type":84,"tag":130,"props":131,"children":132},"li",{},[133,138],{"type":84,"tag":100,"props":134,"children":135},{},[136],{"type":90,"value":137},"上下文窗口有限",{"type":90,"value":139},"：对话越长，越容易超长或变贵",{"type":84,"tag":130,"props":141,"children":142},{},[143,148],{"type":84,"tag":100,"props":144,"children":145},{},[146],{"type":90,"value":147},"历史全发很浪费",{"type":90,"value":149},"：很多轮对话对当前任务并不重要",{"type":84,"tag":119,"props":151,"children":153},{"id":152},"_12-一个软目标",[154],{"type":90,"value":155},"1.2 一个软目标",{"type":84,"tag":96,"props":157,"children":158},{},[159],{"type":90,"value":160},"让 Agent 具备：",{"type":84,"tag":126,"props":162,"children":163},{},[164,174,184],{"type":84,"tag":130,"props":165,"children":166},{},[167,172],{"type":84,"tag":100,"props":168,"children":169},{},[170],{"type":90,"value":171},"任务连续性",{"type":90,"value":173},"（记得用户偏好、约束、目标）",{"type":84,"tag":130,"props":175,"children":176},{},[177,182],{"type":84,"tag":100,"props":178,"children":179},{},[180],{"type":90,"value":181},"可恢复性",{"type":90,"value":183},"（中断后还能接着做）",{"type":84,"tag":130,"props":185,"children":186},{},[187,192],{"type":84,"tag":100,"props":188,"children":189},{},[190],{"type":90,"value":191},"可控性",{"type":90,"value":193},"（哪些信息能被记住\u002F忘记）",{"type":84,"tag":108,"props":195,"children":196},{},[],{"type":84,"tag":112,"props":198,"children":200},{"id":199},"_2-short-term-memory消息列表最简单",[201],{"type":90,"value":202},"2. Short-term Memory：消息列表（最简单）",{"type":84,"tag":96,"props":204,"children":205},{},[206],{"type":90,"value":207},"最朴素的做法：把最近 N 轮 messages 全部发给模型。",{"type":84,"tag":96,"props":209,"children":210},{},[211],{"type":90,"value":212},"优点：实现简单、效果直接。\n缺点：",{"type":84,"tag":126,"props":214,"children":215},{},[216,221],{"type":84,"tag":130,"props":217,"children":218},{},[219],{"type":90,"value":220},"token 成本线性增长",{"type":84,"tag":130,"props":222,"children":223},{},[224],{"type":90,"value":225},"对长任务会撞 context window",{"type":84,"tag":96,"props":227,"children":228},{},[229],{"type":90,"value":230},"适合：短对话、PoC。",{"type":84,"tag":108,"props":232,"children":233},{},[],{"type":84,"tag":112,"props":235,"children":237},{"id":236},"_3-long-term-memory-三种策略从简单到强",[238],{"type":90,"value":239},"3. Long-term Memory 三种策略（从简单到强）",{"type":84,"tag":119,"props":241,"children":243},{"id":242},"_31-buffer-window截断",[244],{"type":90,"value":245},"3.1 Buffer Window（截断）",{"type":84,"tag":96,"props":247,"children":248},{},[249],{"type":90,"value":250},"只保留最近 N 轮。",{"type":84,"tag":126,"props":252,"children":253},{},[254,259],{"type":84,"tag":130,"props":255,"children":256},{},[257],{"type":90,"value":258},"✅ 实现极简",{"type":84,"tag":130,"props":260,"children":261},{},[262],{"type":90,"value":263},"❌ 会“硬失忆”（把关键事实截没了）",{"type":84,"tag":96,"props":265,"children":266},{},[267],{"type":90,"value":268},"工程建议：",{"type":84,"tag":126,"props":270,"children":271},{},[272,277],{"type":84,"tag":130,"props":273,"children":274},{},[275],{"type":90,"value":276},"永远保留 system prompt",{"type":84,"tag":130,"props":278,"children":279},{},[280],{"type":90,"value":281},"额外保留一个“事实层”（例如用户偏好、项目路径、约束）",{"type":84,"tag":119,"props":283,"children":285},{"id":284},"_32-summary总结",[286],{"type":90,"value":287},"3.2 Summary（总结）",{"type":84,"tag":96,"props":289,"children":290},{},[291],{"type":90,"value":292},"定期让模型把历史压缩成一段 summary，再把 summary 放回上下文。",{"type":84,"tag":96,"props":294,"children":295},{},[296],{"type":90,"value":297},"常见做法：",{"type":84,"tag":126,"props":299,"children":300},{},[301,306],{"type":84,"tag":130,"props":302,"children":303},{},[304],{"type":90,"value":305},"每对话 M 轮触发一次总结",{"type":84,"tag":130,"props":307,"children":308},{},[309],{"type":90,"value":310},"或 token 超阈值时触发",{"type":84,"tag":96,"props":312,"children":313},{},[314],{"type":90,"value":315},"总结内容应该包含：",{"type":84,"tag":126,"props":317,"children":318},{},[319,324,329,334,339],{"type":84,"tag":130,"props":320,"children":321},{},[322],{"type":90,"value":323},"用户目标（Goal）",{"type":84,"tag":130,"props":325,"children":326},{},[327],{"type":90,"value":328},"已完成的进度（Progress）",{"type":84,"tag":130,"props":330,"children":331},{},[332],{"type":90,"value":333},"关键约束（Constraints）",{"type":84,"tag":130,"props":335,"children":336},{},[337],{"type":90,"value":338},"关键决定（Decisions）",{"type":84,"tag":130,"props":340,"children":341},{},[342],{"type":90,"value":343},"待办事项（Next actions）",{"type":84,"tag":96,"props":345,"children":346},{},[347],{"type":90,"value":348},"一个可用的 summary prompt：",{"type":84,"tag":350,"props":351,"children":356},"pre",{"className":352,"code":353,"language":354,"meta":355,"style":355},"language-txt shiki shiki-themes github-light github-dark","你是对话记录员。请把以下对话总结为可供后续任务继续执行的“工作摘要”。\n要求：\n- 用要点列表\n- 必须包含：目标\u002F约束\u002F已完成\u002F下一步\n- 不要写无关闲聊\n","txt","",[357],{"type":84,"tag":358,"props":359,"children":360},"code",{"__ignoreMap":355},[361,372,381,390,399],{"type":84,"tag":362,"props":363,"children":366},"span",{"class":364,"line":365},"line",1,[367],{"type":84,"tag":362,"props":368,"children":369},{},[370],{"type":90,"value":371},"你是对话记录员。请把以下对话总结为可供后续任务继续执行的“工作摘要”。\n",{"type":84,"tag":362,"props":373,"children":375},{"class":364,"line":374},2,[376],{"type":84,"tag":362,"props":377,"children":378},{},[379],{"type":90,"value":380},"要求：\n",{"type":84,"tag":362,"props":382,"children":384},{"class":364,"line":383},3,[385],{"type":84,"tag":362,"props":386,"children":387},{},[388],{"type":90,"value":389},"- 用要点列表\n",{"type":84,"tag":362,"props":391,"children":393},{"class":364,"line":392},4,[394],{"type":84,"tag":362,"props":395,"children":396},{},[397],{"type":90,"value":398},"- 必须包含：目标\u002F约束\u002F已完成\u002F下一步\n",{"type":84,"tag":362,"props":400,"children":402},{"class":364,"line":401},5,[403],{"type":84,"tag":362,"props":404,"children":405},{},[406],{"type":90,"value":407},"- 不要写无关闲聊\n",{"type":84,"tag":96,"props":409,"children":410},{},[411],{"type":90,"value":412},"优缺点：",{"type":84,"tag":126,"props":414,"children":415},{},[416,421],{"type":84,"tag":130,"props":417,"children":418},{},[419],{"type":90,"value":420},"✅ 成本可控，连续性强",{"type":84,"tag":130,"props":422,"children":423},{},[424],{"type":90,"value":425},"❌ 会丢细节；summary 写坏了会持续污染后续",{"type":84,"tag":119,"props":427,"children":429},{"id":428},"_33-vector-store向量检索记忆",[430],{"type":90,"value":431},"3.3 Vector Store（向量检索记忆）",{"type":84,"tag":96,"props":433,"children":434},{},[435],{"type":90,"value":436},"把历史对话\u002F笔记\u002F用户资料切片后向量化，按需检索相关片段注入 prompt。",{"type":84,"tag":96,"props":438,"children":439},{},[440],{"type":90,"value":441},"检索触发方式：",{"type":84,"tag":126,"props":443,"children":444},{},[445,450],{"type":84,"tag":130,"props":446,"children":447},{},[448],{"type":90,"value":449},"每次用户提问都检索",{"type":84,"tag":130,"props":451,"children":452},{},[453],{"type":90,"value":454},"或当模型判断“需要回忆”时才检索（工具化）",{"type":84,"tag":96,"props":456,"children":457},{},[458],{"type":90,"value":412},{"type":84,"tag":126,"props":460,"children":461},{},[462,467,472],{"type":84,"tag":130,"props":463,"children":464},{},[465],{"type":90,"value":466},"✅ 可扩展到海量记忆",{"type":84,"tag":130,"props":468,"children":469},{},[470],{"type":90,"value":471},"✅ 能找回很久以前的细节",{"type":84,"tag":130,"props":473,"children":474},{},[475],{"type":90,"value":476},"❌ 工程复杂度更高（切分、入库、召回质量、去噪）",{"type":84,"tag":92,"props":478,"children":479},{},[480],{"type":84,"tag":96,"props":481,"children":482},{},[483],{"type":90,"value":484},"注意：向量检索不是“真记忆”，只是“相关片段召回”。召回不准仍然会答错。",{"type":84,"tag":108,"props":486,"children":487},{},[],{"type":84,"tag":112,"props":489,"children":491},{"id":490},"_4-记忆的工程分层推荐架构",[492],{"type":90,"value":493},"4. 记忆的工程分层（推荐架构）",{"type":84,"tag":96,"props":495,"children":496},{},[497],{"type":90,"value":498},"把 memory 拆成 4 层，你会更好实现：",{"type":84,"tag":500,"props":501,"children":502},"ol",{},[503,513,523,533],{"type":84,"tag":130,"props":504,"children":505},{},[506,511],{"type":84,"tag":100,"props":507,"children":508},{},[509],{"type":90,"value":510},"System Layer",{"type":90,"value":512},"：不变规则（角色、工具规则、安全约束）",{"type":84,"tag":130,"props":514,"children":515},{},[516,521],{"type":84,"tag":100,"props":517,"children":518},{},[519],{"type":90,"value":520},"Working Memory",{"type":90,"value":522},"：当前任务最相关的短上下文（最近 N 轮）",{"type":84,"tag":130,"props":524,"children":525},{},[526,531],{"type":84,"tag":100,"props":527,"children":528},{},[529],{"type":90,"value":530},"Summary Layer",{"type":90,"value":532},"：压缩的任务摘要（可持续更新）",{"type":84,"tag":130,"props":534,"children":535},{},[536,541],{"type":84,"tag":100,"props":537,"children":538},{},[539],{"type":90,"value":540},"Retrieval Layer",{"type":90,"value":542},"：向量检索召回的“证据片段”",{"type":84,"tag":96,"props":544,"children":545},{},[546],{"type":90,"value":547},"拼接 prompt 时的顺序一般是：",{"type":84,"tag":126,"props":549,"children":550},{},[551,556,561,566],{"type":84,"tag":130,"props":552,"children":553},{},[554],{"type":90,"value":555},"system",{"type":84,"tag":130,"props":557,"children":558},{},[559],{"type":90,"value":560},"summary",{"type":84,"tag":130,"props":562,"children":563},{},[564],{"type":90,"value":565},"retrieval snippets（带来源）",{"type":84,"tag":130,"props":567,"children":568},{},[569],{"type":90,"value":570},"recent messages",{"type":84,"tag":108,"props":572,"children":573},{},[],{"type":84,"tag":112,"props":575,"children":577},{"id":576},"_5-memory-的常见坑",[578],{"type":90,"value":579},"5. Memory 的常见坑",{"type":84,"tag":119,"props":581,"children":583},{"id":582},"_51-把不该记的也记了",[584],{"type":90,"value":585},"5.1 把不该记的也记了",{"type":84,"tag":126,"props":587,"children":588},{},[589,594],{"type":84,"tag":130,"props":590,"children":591},{},[592],{"type":90,"value":593},"隐私、密钥、敏感信息不应进入长期存储",{"type":84,"tag":130,"props":595,"children":596},{},[597],{"type":90,"value":598},"工具输出（尤其是大段日志）不要直接存长期记忆",{"type":84,"tag":119,"props":600,"children":602},{"id":601},"_52-记忆不可审计",[603],{"type":90,"value":604},"5.2 记忆不可审计",{"type":84,"tag":96,"props":606,"children":607},{},[608],{"type":90,"value":609},"你需要能回答：",{"type":84,"tag":126,"props":611,"children":612},{},[613,618],{"type":84,"tag":130,"props":614,"children":615},{},[616],{"type":90,"value":617},"Agent 为什么“记得”这个？来源是什么？",{"type":84,"tag":130,"props":619,"children":620},{},[621],{"type":90,"value":622},"这个记忆什么时候更新的？",{"type":84,"tag":119,"props":624,"children":626},{"id":625},"_53-检索召回噪声太大",[627],{"type":90,"value":628},"5.3 检索召回噪声太大",{"type":84,"tag":96,"props":630,"children":631},{},[632],{"type":90,"value":633},"常见手段：",{"type":84,"tag":126,"props":635,"children":636},{},[637,642,647],{"type":84,"tag":130,"props":638,"children":639},{},[640],{"type":90,"value":641},"加 rerank",{"type":84,"tag":130,"props":643,"children":644},{},[645],{"type":90,"value":646},"加时间\u002F主题过滤",{"type":84,"tag":130,"props":648,"children":649},{},[650],{"type":90,"value":651},"给每条记忆加 metadata（类型、项目、时间）",{"type":84,"tag":108,"props":653,"children":654},{},[],{"type":84,"tag":112,"props":656,"children":658},{"id":657},"_6-下一步",[659],{"type":90,"value":660},"6. 下一步",{"type":84,"tag":96,"props":662,"children":663},{},[664],{"type":90,"value":665},"Memory 解决“持续性”，Planning 解决“复杂性”。\n下一篇我们会把 Agent 的规划能力拆成三种模式：",{"type":84,"tag":126,"props":667,"children":668},{},[669,674,679],{"type":84,"tag":130,"props":670,"children":671},{},[672],{"type":90,"value":673},"ReAct（思考-行动-观察）",{"type":84,"tag":130,"props":675,"children":676},{},[677],{"type":90,"value":678},"Plan-and-Solve（先计划再执行）",{"type":84,"tag":130,"props":680,"children":681},{},[682],{"type":90,"value":683},"Reflection（出错后的自我修正）",{"type":84,"tag":685,"props":686,"children":687},"style",{},[688],{"type":90,"value":689},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":355,"searchDepth":374,"depth":374,"links":691},[692,696,697,702,703,708],{"id":114,"depth":374,"text":117,"children":693},[694,695],{"id":121,"depth":383,"text":124},{"id":152,"depth":383,"text":155},{"id":199,"depth":374,"text":202},{"id":236,"depth":374,"text":239,"children":698},[699,700,701],{"id":242,"depth":383,"text":245},{"id":284,"depth":383,"text":287},{"id":428,"depth":383,"text":431},{"id":490,"depth":374,"text":493},{"id":576,"depth":374,"text":579,"children":704},[705,706,707],{"id":582,"depth":383,"text":585},{"id":601,"depth":383,"text":604},{"id":625,"depth":383,"text":628},{"id":657,"depth":374,"text":660},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":710},"\u003Cpath fill=\"currentColor\" d=\"m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":712},"\u003Cpath fill=\"currentColor\" d=\"M3 4h18v2H3zm0 7h12v2H3zm0 7h18v2H3z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":714},"\u003Cpath fill=\"currentColor\" d=\"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z\"\u002F>",{"left":4,"top":4,"width":716,"height":716,"rotate":4,"vFlip":6,"hFlip":6,"body":717},1024,"\u003Cpath fill=\"currentColor\" d=\"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z\"\u002F>\u003Cpath fill=\"currentColor\" d=\"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64\"\u002F>"]