downcity 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/HeroManager.d.ts +9 -0
- package/dist/cli/HeroManager.d.ts.map +1 -0
- package/dist/cli/HeroManager.js +12 -0
- package/dist/cli/HeroManager.js.map +1 -0
- package/dist/cli/ToolManager.d.ts +2 -0
- package/dist/cli/ToolManager.d.ts.map +1 -0
- package/dist/cli/ToolManager.js +2 -0
- package/dist/cli/ToolManager.js.map +1 -0
- package/dist/{const.d.ts → cli/const.d.ts} +1 -0
- package/dist/cli/const.d.ts.map +1 -0
- package/dist/{const.js → cli/const.js} +1 -0
- package/dist/cli/const.js.map +1 -0
- package/dist/cli/index.js +17 -28
- package/dist/cli/index.js.map +1 -1
- package/dist/codex/Codex.d.ts +73 -111
- package/dist/codex/Codex.d.ts.map +1 -1
- package/dist/codex/Codex.js +217 -363
- package/dist/codex/Codex.js.map +1 -1
- package/dist/codex/Volume.d.ts +80 -0
- package/dist/codex/Volume.d.ts.map +1 -0
- package/dist/codex/Volume.js +273 -0
- package/dist/codex/Volume.js.map +1 -0
- package/dist/codex/error.d.ts +80 -0
- package/dist/codex/error.d.ts.map +1 -0
- package/dist/codex/error.js +110 -0
- package/dist/codex/error.js.map +1 -0
- package/dist/hero/Hero.d.ts +11 -10
- package/dist/hero/Hero.d.ts.map +1 -1
- package/dist/hero/Hero.js +45 -30
- package/dist/hero/Hero.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/model/model.d.ts +4 -0
- package/dist/model/model.d.ts.map +1 -0
- package/dist/model/model.js +10 -0
- package/dist/model/model.js.map +1 -0
- package/dist/{vault/Vault.d.ts → room/Room.d.ts} +16 -16
- package/dist/room/Room.d.ts.map +1 -0
- package/dist/{vault/Vault.js → room/Room.js} +40 -40
- package/dist/room/Room.js.map +1 -0
- package/dist/room/Shot.d.ts +25 -0
- package/dist/room/Shot.d.ts.map +1 -0
- package/dist/{vault/Session.js → room/Shot.js} +12 -7
- package/dist/room/Shot.js.map +1 -0
- package/dist/utils/persistor/SQLitePersistor.d.ts +1 -1
- package/dist/utils/persistor/SQLitePersistor.js +2 -2
- package/dist/utils/persistor/SQLitePersistor.js.map +1 -1
- package/package.json +7 -11
- package/README.md +0 -130
- package/dist/const.d.ts.map +0 -1
- package/dist/const.js.map +0 -1
- package/dist/vault/Session.d.ts +0 -23
- package/dist/vault/Session.d.ts.map +0 -1
- package/dist/vault/Session.js.map +0 -1
- package/dist/vault/Vault.d.ts.map +0 -1
- package/dist/vault/Vault.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroManager.d.ts","sourceRoot":"","sources":["../../src/cli/HeroManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIvC;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAO;gBACR,IAAI,EAAE,IAAI;CAGvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroManager.js","sourceRoot":"","sources":["../../src/cli/HeroManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB;;GAEG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,CAAO;IACpB,YAAY,IAAU;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolManager.d.ts","sourceRoot":"","sources":["../../src/cli/ToolManager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolManager.js","sourceRoot":"","sources":["../../src/cli/ToolManager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAAmC,CAAC;AAE1D,eAAO,MAAM,UAAU,QAA4C,CAAC;AACpE,eAAO,MAAM,eAAe,QAAiD,CAAC;AAE9E,eAAO,MAAM,UAAU,QAA+B,CAAC"}
|
|
@@ -3,4 +3,5 @@ import path from "path";
|
|
|
3
3
|
export const BASE_PATH = path.join(homedir(), "downcity");
|
|
4
4
|
export const CODEX_PATH = path.join(BASE_PATH, "codex", "codex_db");
|
|
5
5
|
export const CODEX_FILE_PATH = path.join(BASE_PATH, "base", "knowledge.json");
|
|
6
|
+
export const HEROS_PATH = path.join(BASE_PATH, "hero");
|
|
6
7
|
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2,19 +2,17 @@
|
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import pkg from "../../package.json" with { type: "json" };
|
|
4
4
|
import chalk from "chalk";
|
|
5
|
-
import { Hero,
|
|
5
|
+
import { Hero, Room } from "../index.js";
|
|
6
6
|
import readline from "readline";
|
|
7
|
-
import { createOpenAI } from "@ai-sdk/openai";
|
|
8
7
|
import { log } from "console";
|
|
9
8
|
import { tool } from "ai";
|
|
10
9
|
import z from "zod";
|
|
11
|
-
import {
|
|
10
|
+
import { SQLiteRoomPersistor } from "../room/Room.js";
|
|
12
11
|
const program = new Command();
|
|
13
12
|
// 设置基本信息
|
|
14
13
|
program
|
|
15
14
|
.name("downcity")
|
|
16
15
|
.description("downcity - An open world productive game in terminal")
|
|
17
|
-
// 支持 -v (小写) 与 --version,便于用户输入
|
|
18
16
|
.version(pkg.version, "-v, --version", "显示版本号");
|
|
19
17
|
// 添加欢迎信息
|
|
20
18
|
program.addHelpText("before", chalk.blue.bold(`
|
|
@@ -24,23 +22,16 @@ program.addHelpText("before", chalk.blue.bold(`
|
|
|
24
22
|
program.addCommand(new Command("enter").description("enter in this game").action(async () => {
|
|
25
23
|
console.log("welcome to downcity!");
|
|
26
24
|
console.log("letus punk!");
|
|
27
|
-
if (!process.env.
|
|
28
|
-
console.log(chalk.red("请设置
|
|
25
|
+
if (!process.env.DOWNCITY_API_KEY) {
|
|
26
|
+
console.log(chalk.red("请设置 DOWNCITY_API_KEY 环境变量"));
|
|
29
27
|
return;
|
|
30
28
|
}
|
|
31
|
-
if (!process.env.
|
|
32
|
-
console.log(chalk.red("请设置
|
|
29
|
+
if (!process.env.DOWNCITY_BASE_URL) {
|
|
30
|
+
console.log(chalk.red("请设置 DOWNCITY_BASE_URL 环境变量"));
|
|
33
31
|
return;
|
|
34
32
|
}
|
|
35
|
-
// 创建一个
|
|
36
|
-
const
|
|
37
|
-
apiKey: process.env.API_KEY,
|
|
38
|
-
baseURL: process.env.BASE_URL,
|
|
39
|
-
});
|
|
40
|
-
// 一个model chat
|
|
41
|
-
const model = provider.chat("qwen-turbo");
|
|
42
|
-
// 创建一个vault: 用来控制session
|
|
43
|
-
const vault = new Vault(new SQLiteVaultPersistor());
|
|
33
|
+
// 创建一个room: 用来控制shot
|
|
34
|
+
const room = new Room(new SQLiteRoomPersistor());
|
|
44
35
|
const tools = {
|
|
45
36
|
get_current_time: tool({
|
|
46
37
|
description: "获取当前时间",
|
|
@@ -51,10 +42,8 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
51
42
|
}),
|
|
52
43
|
};
|
|
53
44
|
const hero = Hero.create()
|
|
54
|
-
.
|
|
55
|
-
.
|
|
56
|
-
.study(tools)
|
|
57
|
-
.avatar("你是一个助手");
|
|
45
|
+
.room(room)
|
|
46
|
+
.study(tools);
|
|
58
47
|
const rl = readline.createInterface({
|
|
59
48
|
input: process.stdin,
|
|
60
49
|
output: process.stdout,
|
|
@@ -62,19 +51,19 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
62
51
|
const chatLoop = async () => {
|
|
63
52
|
rl.question(chalk.green("You: "), async (input) => {
|
|
64
53
|
if (input.trim() === "ls") {
|
|
65
|
-
log(hero.
|
|
54
|
+
log(hero.shots());
|
|
66
55
|
chatLoop();
|
|
67
56
|
return;
|
|
68
57
|
}
|
|
69
58
|
if (input.trim() === "current") {
|
|
70
|
-
console.log(hero.
|
|
71
|
-
console.log(hero.
|
|
59
|
+
console.log(hero.shot.id);
|
|
60
|
+
console.log(hero.shot.messages);
|
|
72
61
|
chatLoop();
|
|
73
62
|
return;
|
|
74
63
|
}
|
|
75
64
|
if (input.trim() === "new") {
|
|
76
|
-
const
|
|
77
|
-
console.log(
|
|
65
|
+
const shot = hero.renew();
|
|
66
|
+
console.log(shot);
|
|
78
67
|
chatLoop();
|
|
79
68
|
return;
|
|
80
69
|
}
|
|
@@ -84,8 +73,8 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
84
73
|
return;
|
|
85
74
|
}
|
|
86
75
|
if (input.startsWith("switch")) {
|
|
87
|
-
const
|
|
88
|
-
hero.switch(
|
|
76
|
+
const shotId = input.split(" ")[1];
|
|
77
|
+
hero.switch(shotId);
|
|
89
78
|
chatLoop();
|
|
90
79
|
return;
|
|
91
80
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/codex/Codex.d.ts
CHANGED
|
@@ -1,139 +1,101 @@
|
|
|
1
|
-
import { EmbeddingModel
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { EmbeddingModel } from "ai";
|
|
2
|
+
import { IndexConfig } from "@lancedb/lancedb";
|
|
3
|
+
import { Volume } from "./Volume.js";
|
|
4
|
+
/**
|
|
5
|
+
* Codex 配置选项
|
|
6
|
+
*/
|
|
7
|
+
export interface CodexConfig {
|
|
8
|
+
model: EmbeddingModel;
|
|
9
|
+
path?: string;
|
|
5
10
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
/**
|
|
12
|
+
* 创建索引参数
|
|
13
|
+
*/
|
|
14
|
+
export interface CreateIndexParams {
|
|
15
|
+
tableName: string;
|
|
16
|
+
indexName: string;
|
|
17
|
+
dimension: number;
|
|
18
|
+
metric?: "cosine" | "euclidean" | "dotproduct";
|
|
19
|
+
indexConfig?: IndexConfig;
|
|
10
20
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
localFile?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface KnowledgeItem {
|
|
21
|
-
id: string;
|
|
22
|
-
title: string;
|
|
23
|
-
content: string;
|
|
24
|
-
category: string;
|
|
25
|
-
tags: string[];
|
|
26
|
-
vector?: number[];
|
|
27
|
-
createdAt: Date;
|
|
28
|
-
updatedAt: Date;
|
|
21
|
+
/**
|
|
22
|
+
* 索引统计信息
|
|
23
|
+
*/
|
|
24
|
+
export interface IndexStats {
|
|
25
|
+
dimension: number;
|
|
26
|
+
metric?: "cosine" | "euclidean" | "dotproduct";
|
|
27
|
+
count: number;
|
|
29
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Codex 类,用于管理和检索向量化信息。
|
|
31
|
+
* 内部使用 LanceDB 进行数据存储。
|
|
32
|
+
* codex.volume().
|
|
33
|
+
*/
|
|
30
34
|
export declare class Codex {
|
|
31
|
-
private
|
|
32
|
-
private
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
private collection?;
|
|
36
|
-
private embeddingModel?;
|
|
37
|
-
private embeddingFunction?;
|
|
38
|
-
constructor(options?: KnowledgeOptions);
|
|
39
|
-
/**
|
|
40
|
-
* 创建Knowledge实例
|
|
41
|
-
*/
|
|
42
|
-
static create(options?: KnowledgeOptions): Codex;
|
|
43
|
-
/**
|
|
44
|
-
* 初始化向量数据库
|
|
45
|
-
*/
|
|
46
|
-
private initializeVectorDB;
|
|
47
|
-
/**
|
|
48
|
-
* 配置向量模型
|
|
49
|
-
*/
|
|
50
|
-
model(model: EmbeddingModel): Codex;
|
|
51
|
-
/**
|
|
52
|
-
* 保存数据到本地文件
|
|
53
|
-
*/
|
|
54
|
-
private saveToFile;
|
|
55
|
-
/**
|
|
56
|
-
* 从本地文件加载数据
|
|
57
|
-
*/
|
|
58
|
-
private loadFromFile;
|
|
59
|
-
/**
|
|
60
|
-
* 获取知识库操作工具
|
|
61
|
-
* 将知识库的操作方法包装成工具供Hero调用
|
|
62
|
-
*/
|
|
63
|
-
tools(): Record<string, Tool>;
|
|
64
|
-
/**
|
|
65
|
-
* 添加知识条目
|
|
66
|
-
*/
|
|
67
|
-
addKnowledge(item: Omit<KnowledgeItem, "id" | "createdAt" | "updatedAt">): Promise<KnowledgeItem>;
|
|
68
|
-
/**
|
|
69
|
-
* 更新知识条目
|
|
70
|
-
*/
|
|
71
|
-
updateKnowledge(id: string, updates: Partial<Omit<KnowledgeItem, "id" | "createdAt">>): KnowledgeItem | undefined;
|
|
72
|
-
/**
|
|
73
|
-
* 获取知识条目
|
|
74
|
-
*/
|
|
75
|
-
getKnowledge(id: string): KnowledgeItem | undefined;
|
|
76
|
-
/**
|
|
77
|
-
* 搜索知识库(支持向量搜索和文本匹配)
|
|
78
|
-
*/
|
|
79
|
-
searchKnowledge(query: string, category?: string, useVector?: boolean): Promise<KnowledgeItem[]>;
|
|
80
|
-
/**
|
|
81
|
-
* 文本搜索知识库
|
|
82
|
-
*/
|
|
83
|
-
private textSearchKnowledge;
|
|
84
|
-
/**
|
|
85
|
-
* 向量相似度搜索
|
|
86
|
-
*/
|
|
87
|
-
searchByVector(queryVector: number[], category?: string, limit?: number): Array<KnowledgeItem & {
|
|
88
|
-
similarity: number;
|
|
89
|
-
}>;
|
|
35
|
+
private volumes;
|
|
36
|
+
private db;
|
|
37
|
+
private model;
|
|
38
|
+
private constructor();
|
|
90
39
|
/**
|
|
91
|
-
*
|
|
40
|
+
* 创建并初始化一个 Codex 实例。
|
|
41
|
+
* @param config - Codex 配置
|
|
42
|
+
* @returns 一个初始化的 Codex 实例
|
|
92
43
|
*/
|
|
93
|
-
|
|
44
|
+
static create(config: CodexConfig): Promise<Codex>;
|
|
94
45
|
/**
|
|
95
|
-
*
|
|
46
|
+
* 关闭数据库连接并清理资源。
|
|
96
47
|
*/
|
|
97
|
-
|
|
48
|
+
close(): void;
|
|
98
49
|
/**
|
|
99
|
-
*
|
|
50
|
+
* 检查连接是否有效。
|
|
51
|
+
* @returns 连接状态
|
|
100
52
|
*/
|
|
101
|
-
|
|
53
|
+
private checkConnection;
|
|
102
54
|
/**
|
|
103
|
-
*
|
|
55
|
+
* 列出所有可用的表(volumes)。
|
|
56
|
+
* @returns 表名列表
|
|
104
57
|
*/
|
|
105
|
-
|
|
58
|
+
list(): Promise<string[]>;
|
|
106
59
|
/**
|
|
107
|
-
*
|
|
60
|
+
* 检查表是否存在。
|
|
61
|
+
* @param name - 表名
|
|
62
|
+
* @returns 表是否存在
|
|
108
63
|
*/
|
|
109
|
-
|
|
64
|
+
hasTable(name: string): Promise<boolean>;
|
|
110
65
|
/**
|
|
111
|
-
*
|
|
66
|
+
* 删除指定的表。
|
|
67
|
+
* @param name - 表名
|
|
112
68
|
*/
|
|
113
|
-
|
|
69
|
+
dropTable(name: string): Promise<void>;
|
|
114
70
|
/**
|
|
115
|
-
*
|
|
71
|
+
* 获取或创建一个 Volume 实例。
|
|
72
|
+
* @param name - Volume 名称
|
|
73
|
+
* @returns Volume 实例
|
|
116
74
|
*/
|
|
117
|
-
|
|
75
|
+
volume(name?: string): Promise<Volume>;
|
|
118
76
|
/**
|
|
119
|
-
*
|
|
77
|
+
* 创建向量索引。
|
|
78
|
+
* @param params - 创建索引参数
|
|
120
79
|
*/
|
|
121
|
-
|
|
122
|
-
totalKnowledge: number;
|
|
123
|
-
totalCategories: number;
|
|
124
|
-
knowledgeByCategory: Record<string, number>;
|
|
125
|
-
};
|
|
80
|
+
createIndex(params: CreateIndexParams): Promise<void>;
|
|
126
81
|
/**
|
|
127
|
-
*
|
|
82
|
+
* 列出表的所有索引。
|
|
83
|
+
* @param tableName - 表名
|
|
84
|
+
* @returns 索引列表
|
|
128
85
|
*/
|
|
129
|
-
|
|
86
|
+
listIndexes(tableName: string): Promise<IndexConfig[]>;
|
|
130
87
|
/**
|
|
131
|
-
*
|
|
88
|
+
* 获取索引统计信息。
|
|
89
|
+
* @param tableName - 表名
|
|
90
|
+
* @param indexName - 索引名
|
|
91
|
+
* @returns 索引统计信息
|
|
132
92
|
*/
|
|
133
|
-
|
|
93
|
+
getIndexStats(tableName: string, indexName: string): Promise<IndexStats>;
|
|
134
94
|
/**
|
|
135
|
-
*
|
|
95
|
+
* 删除索引。
|
|
96
|
+
* @param tableName - 表名
|
|
97
|
+
* @param indexName - 索引名
|
|
136
98
|
*/
|
|
137
|
-
|
|
99
|
+
dropIndex(tableName: string, indexName: string): Promise<void>;
|
|
138
100
|
}
|
|
139
101
|
//# sourceMappingURL=Codex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAuB,WAAW,EAAS,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,KAAK,CAAiB;IAE9B,OAAO;IAMP;;;;OAIG;WACiB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAkC/D;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACH,OAAO,CAAC,eAAe;IAWvB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB/B;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB9C;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C;;;;OAIG;IACG,MAAM,CAAC,IAAI,GAAE,MAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoDvD;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3D;;;;OAIG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAmB5D;;;;;OAKG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC;IAwBtB;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBrE"}
|