scrapex 1.0.0-alpha.1 → 1.0.0-beta.2
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/README.md +164 -5
- package/dist/embeddings/index.cjs +52 -0
- package/dist/embeddings/index.d.cts +3 -0
- package/dist/embeddings/index.d.mts +3 -0
- package/dist/embeddings/index.mjs +4 -0
- package/dist/embeddings-BjNTQSG9.cjs +1455 -0
- package/dist/embeddings-BjNTQSG9.cjs.map +1 -0
- package/dist/embeddings-Bsymy_jA.mjs +1215 -0
- package/dist/embeddings-Bsymy_jA.mjs.map +1 -0
- package/dist/{enhancer-oM4BhYYS.cjs → enhancer-Cs_WyWtJ.cjs} +2 -51
- package/dist/enhancer-Cs_WyWtJ.cjs.map +1 -0
- package/dist/{enhancer-Q6CSc1gA.mjs → enhancer-INx5NlgO.mjs} +2 -45
- package/dist/enhancer-INx5NlgO.mjs.map +1 -0
- package/dist/http-base-CHLf-Tco.cjs +684 -0
- package/dist/http-base-CHLf-Tco.cjs.map +1 -0
- package/dist/http-base-DM7YNo6X.mjs +618 -0
- package/dist/http-base-DM7YNo6X.mjs.map +1 -0
- package/dist/index-Bvseqli-.d.cts +268 -0
- package/dist/index-Bvseqli-.d.cts.map +1 -0
- package/dist/index-CIFjNySr.d.mts +268 -0
- package/dist/index-CIFjNySr.d.mts.map +1 -0
- package/dist/index-D6qfjmZQ.d.mts +401 -0
- package/dist/index-D6qfjmZQ.d.mts.map +1 -0
- package/dist/index-RFSpP5g8.d.cts +401 -0
- package/dist/index-RFSpP5g8.d.cts.map +1 -0
- package/dist/index.cjs +171 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +61 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +61 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +129 -6
- package/dist/index.mjs.map +1 -1
- package/dist/llm/index.cjs +252 -233
- package/dist/llm/index.cjs.map +1 -1
- package/dist/llm/index.d.cts +132 -85
- package/dist/llm/index.d.cts.map +1 -1
- package/dist/llm/index.d.mts +132 -85
- package/dist/llm/index.d.mts.map +1 -1
- package/dist/llm/index.mjs +244 -236
- package/dist/llm/index.mjs.map +1 -1
- package/dist/parsers/index.cjs +10 -199
- package/dist/parsers/index.d.cts +2 -133
- package/dist/parsers/index.d.mts +2 -133
- package/dist/parsers/index.mjs +2 -191
- package/dist/parsers-Bneuws8x.cjs +569 -0
- package/dist/parsers-Bneuws8x.cjs.map +1 -0
- package/dist/parsers-DsawHeo0.mjs +482 -0
- package/dist/parsers-DsawHeo0.mjs.map +1 -0
- package/dist/types-BOcHQU9s.d.mts +831 -0
- package/dist/types-BOcHQU9s.d.mts.map +1 -0
- package/dist/types-DutdBpqd.d.cts +831 -0
- package/dist/types-DutdBpqd.d.cts.map +1 -0
- package/package.json +15 -16
- package/dist/enhancer-Q6CSc1gA.mjs.map +0 -1
- package/dist/enhancer-oM4BhYYS.cjs.map +0 -1
- package/dist/parsers/index.cjs.map +0 -1
- package/dist/parsers/index.d.cts.map +0 -1
- package/dist/parsers/index.d.mts.map +0 -1
- package/dist/parsers/index.mjs.map +0 -1
- package/dist/types-CNQZVW36.d.mts +0 -150
- package/dist/types-CNQZVW36.d.mts.map +0 -1
- package/dist/types-D0HYR95H.d.cts +0 -150
- package/dist/types-D0HYR95H.d.cts.map +0 -1
package/dist/llm/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { G as EnhancementType, M as BaseHttpConfig, N as BaseHttpProvider, Y as ExtractionSchema, rt as ScrapedData } from "../types-BOcHQU9s.mjs";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
4
|
//#region src/llm/types.d.ts
|
|
@@ -24,23 +24,6 @@ interface LLMProvider {
|
|
|
24
24
|
*/
|
|
25
25
|
completeJSON<T>(prompt: string, schema: z.ZodType<T>, options?: CompletionOptions): Promise<T>;
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Provider configuration for Anthropic
|
|
29
|
-
*/
|
|
30
|
-
interface AnthropicConfig {
|
|
31
|
-
apiKey?: string;
|
|
32
|
-
model?: string;
|
|
33
|
-
baseUrl?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Provider configuration for OpenAI-compatible APIs
|
|
37
|
-
* Works with: OpenAI, Ollama, LM Studio, LocalAI, vLLM, etc.
|
|
38
|
-
*/
|
|
39
|
-
interface OpenAICompatibleConfig {
|
|
40
|
-
apiKey?: string;
|
|
41
|
-
model?: string;
|
|
42
|
-
baseUrl?: string;
|
|
43
|
-
}
|
|
44
27
|
/**
|
|
45
28
|
* Enhancement result types
|
|
46
29
|
*/
|
|
@@ -91,27 +74,6 @@ declare const ClassifySchema: z.ZodObject<{
|
|
|
91
74
|
confidence: z.ZodNumber;
|
|
92
75
|
}, z.core.$strip>;
|
|
93
76
|
//#endregion
|
|
94
|
-
//#region src/llm/anthropic.d.ts
|
|
95
|
-
/**
|
|
96
|
-
* Anthropic Claude provider
|
|
97
|
-
*
|
|
98
|
-
* Requires @anthropic-ai/sdk as a peer dependency.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```ts
|
|
102
|
-
* const provider = new AnthropicProvider({ apiKey: 'sk-...' });
|
|
103
|
-
* const result = await scrape(url, { llm: provider, enhance: ['summarize'] });
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
declare class AnthropicProvider implements LLMProvider {
|
|
107
|
-
readonly name = "anthropic";
|
|
108
|
-
private client;
|
|
109
|
-
private model;
|
|
110
|
-
constructor(config?: AnthropicConfig);
|
|
111
|
-
complete(prompt: string, options?: CompletionOptions): Promise<string>;
|
|
112
|
-
completeJSON<T>(prompt: string, schema: z.ZodType<T>, options?: CompletionOptions): Promise<T>;
|
|
113
|
-
}
|
|
114
|
-
//#endregion
|
|
115
77
|
//#region src/llm/enhancer.d.ts
|
|
116
78
|
/**
|
|
117
79
|
* Enhance scraped data with LLM-powered features
|
|
@@ -136,76 +98,161 @@ declare function ask(data: ScrapedData, provider: LLMProvider, prompt: string, o
|
|
|
136
98
|
*/
|
|
137
99
|
declare function extract<T>(data: ScrapedData, provider: LLMProvider, schema: ExtractionSchema, promptTemplate?: string): Promise<T>;
|
|
138
100
|
//#endregion
|
|
139
|
-
//#region src/llm/
|
|
101
|
+
//#region src/llm/http.d.ts
|
|
140
102
|
/**
|
|
141
|
-
*
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
103
|
+
* HTTP LLM provider configuration.
|
|
104
|
+
*/
|
|
105
|
+
interface HttpLLMConfig<TRequest = unknown, TResponse = unknown, TError = unknown> extends BaseHttpConfig<TError> {
|
|
106
|
+
/**
|
|
107
|
+
* Build request body from prompt and options.
|
|
108
|
+
* @default OpenAI-compatible format with messages array
|
|
109
|
+
*/
|
|
110
|
+
requestBuilder?: (prompt: string, options: CompletionOptions) => TRequest;
|
|
111
|
+
/**
|
|
112
|
+
* Extract completion text from response.
|
|
113
|
+
* @default (res) => res.choices[0].message.content
|
|
114
|
+
*/
|
|
115
|
+
responseMapper?: (response: TResponse) => string;
|
|
116
|
+
/**
|
|
117
|
+
* Enable JSON mode - adds response_format to request.
|
|
118
|
+
* For OpenAI-compatible APIs, this adds { response_format: { type: "json_object" } }
|
|
119
|
+
*/
|
|
120
|
+
jsonMode?: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* HTTP-based LLM provider.
|
|
124
|
+
* Works with any REST API using native fetch.
|
|
125
|
+
*/
|
|
126
|
+
declare class HttpLLMProvider<TRequest = unknown, TResponse = unknown, TError = unknown> extends BaseHttpProvider<TError> implements LLMProvider {
|
|
127
|
+
readonly name: string;
|
|
128
|
+
private readonly requestBuilder;
|
|
129
|
+
private readonly responseMapper;
|
|
130
|
+
private readonly jsonMode;
|
|
131
|
+
constructor(config: HttpLLMConfig<TRequest, TResponse, TError>);
|
|
132
|
+
/**
|
|
133
|
+
* Generate a text completion.
|
|
134
|
+
*/
|
|
135
|
+
complete(prompt: string, options?: CompletionOptions): Promise<string>;
|
|
136
|
+
/**
|
|
137
|
+
* Generate a structured JSON completion with Zod validation.
|
|
138
|
+
*/
|
|
139
|
+
completeJSON<T>(prompt: string, schema: z.ZodType<T>, options?: CompletionOptions): Promise<T>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Convert a Zod schema to a JSON Schema representation.
|
|
143
|
+
* Uses Zod's built-in toJSONSchema method (Zod 4+).
|
|
144
|
+
* Used for prompting LLMs to return structured data.
|
|
145
|
+
*/
|
|
146
|
+
declare function zodToJsonSchema(schema: z.ZodType<unknown>): object;
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/llm/presets.d.ts
|
|
149
|
+
/**
|
|
150
|
+
* Create an OpenAI LLM provider.
|
|
152
151
|
*
|
|
153
152
|
* @example
|
|
154
153
|
* ```ts
|
|
155
|
-
*
|
|
156
|
-
* const
|
|
157
|
-
*
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
154
|
+
* const provider = createOpenAI({ apiKey: 'sk-...' });
|
|
155
|
+
* const result = await scrape(url, { llm: provider, enhance: ['summarize'] });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
declare function createOpenAI(options?: {
|
|
159
|
+
apiKey?: string;
|
|
160
|
+
model?: string;
|
|
161
|
+
baseUrl?: string;
|
|
162
|
+
}): LLMProvider;
|
|
163
|
+
/**
|
|
164
|
+
* Create an Anthropic Claude LLM provider.
|
|
164
165
|
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* apiKey: 'lm-studio'
|
|
170
|
-
* });
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* const provider = createAnthropic({ apiKey: 'sk-...' });
|
|
169
|
+
* const result = await scrape(url, { llm: provider, enhance: ['summarize'] });
|
|
171
170
|
* ```
|
|
172
171
|
*/
|
|
173
|
-
declare
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
constructor(config?: OpenAICompatibleConfig);
|
|
178
|
-
complete(prompt: string, options?: CompletionOptions): Promise<string>;
|
|
179
|
-
completeJSON<T>(prompt: string, schema: z.ZodType<T>, options?: CompletionOptions): Promise<T>;
|
|
180
|
-
}
|
|
172
|
+
declare function createAnthropic(options?: {
|
|
173
|
+
apiKey?: string;
|
|
174
|
+
model?: string;
|
|
175
|
+
}): LLMProvider;
|
|
181
176
|
/**
|
|
182
|
-
* Create
|
|
177
|
+
* Create a Groq LLM provider.
|
|
178
|
+
* Groq provides fast inference for open-source models.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```ts
|
|
182
|
+
* const provider = createGroq({ model: 'llama-3.1-70b-versatile' });
|
|
183
|
+
* ```
|
|
183
184
|
*/
|
|
184
|
-
declare function
|
|
185
|
+
declare function createGroq(options?: {
|
|
186
|
+
apiKey?: string;
|
|
187
|
+
model?: string;
|
|
188
|
+
}): LLMProvider;
|
|
185
189
|
/**
|
|
186
|
-
* Create an Ollama provider
|
|
190
|
+
* Create an Ollama LLM provider for local models.
|
|
187
191
|
*
|
|
188
192
|
* @example
|
|
189
193
|
* ```ts
|
|
190
194
|
* const provider = createOllama({ model: 'llama3.2' });
|
|
191
195
|
* ```
|
|
192
196
|
*/
|
|
193
|
-
declare function createOllama(
|
|
197
|
+
declare function createOllama(options: {
|
|
194
198
|
model: string;
|
|
195
|
-
|
|
196
|
-
}):
|
|
199
|
+
baseUrl?: string;
|
|
200
|
+
}): LLMProvider;
|
|
197
201
|
/**
|
|
198
|
-
* Create an LM Studio provider
|
|
202
|
+
* Create an LM Studio LLM provider for local models.
|
|
199
203
|
*
|
|
200
204
|
* @example
|
|
201
205
|
* ```ts
|
|
202
206
|
* const provider = createLMStudio({ model: 'local-model' });
|
|
203
207
|
* ```
|
|
204
208
|
*/
|
|
205
|
-
declare function createLMStudio(
|
|
209
|
+
declare function createLMStudio(options: {
|
|
206
210
|
model: string;
|
|
207
|
-
|
|
208
|
-
}):
|
|
211
|
+
baseUrl?: string;
|
|
212
|
+
}): LLMProvider;
|
|
213
|
+
/**
|
|
214
|
+
* Create a Together AI LLM provider.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```ts
|
|
218
|
+
* const provider = createTogether({ model: 'meta-llama/Llama-3.2-3B-Instruct-Turbo' });
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
declare function createTogether(options?: {
|
|
222
|
+
apiKey?: string;
|
|
223
|
+
model?: string;
|
|
224
|
+
}): LLMProvider;
|
|
225
|
+
/**
|
|
226
|
+
* Create an OpenRouter LLM provider.
|
|
227
|
+
* OpenRouter provides access to many models through a unified API.
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```ts
|
|
231
|
+
* const provider = createOpenRouter({
|
|
232
|
+
* model: 'anthropic/claude-3.5-sonnet',
|
|
233
|
+
* });
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
declare function createOpenRouter(options: {
|
|
237
|
+
apiKey?: string;
|
|
238
|
+
model: string;
|
|
239
|
+
siteUrl?: string;
|
|
240
|
+
siteName?: string;
|
|
241
|
+
}): LLMProvider;
|
|
242
|
+
/**
|
|
243
|
+
* Create a generic HTTP LLM provider.
|
|
244
|
+
* Use this for any OpenAI-compatible API.
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```ts
|
|
248
|
+
* const provider = createHttpLLM({
|
|
249
|
+
* baseUrl: 'https://my-api.com/v1/chat/completions',
|
|
250
|
+
* model: 'my-model',
|
|
251
|
+
* headers: { Authorization: 'Bearer ...' },
|
|
252
|
+
* });
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
declare function createHttpLLM<TRequest = unknown, TResponse = unknown, TError = unknown>(config: HttpLLMConfig<TRequest, TResponse, TError>): LLMProvider;
|
|
209
256
|
//#endregion
|
|
210
|
-
export { type
|
|
257
|
+
export { type AskOptions, type ClassifyResult, ClassifySchema, type CompletionOptions, type EntitiesResult, EntitiesSchema, type HttpLLMConfig, HttpLLMProvider, type LLMProvider, type SummaryResult, SummarySchema, type TagsResult, TagsSchema, ask, createAnthropic, createGroq, createHttpLLM, createLMStudio, createOllama, createOpenAI, createOpenRouter, createTogether, enhance, extract, zodToJsonSchema };
|
|
211
258
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/llm/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/llm/types.ts","../../src/llm/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/llm/types.ts","../../src/llm/enhancer.ts","../../src/llm/http.ts","../../src/llm/presets.ts"],"sourcesContent":[],"mappings":";;;;;;;AAKiB,UAAA,iBAAA,CAAiB;EASjB,SAAA,CAAA,EAAA,MAAW;EAMS,WAAA,CAAA,EAAA,MAAA;EAAoB,YAAA,CAAA,EAAA,MAAA;;;;;AAK6B,UAXrE,WAAA,CAWqE;EAAO,SAAA,IAAA,EAAA,MAAA;EAM5E;AAIjB;AAIA;EAQiB,QAAA,CAAA,MAAA,EAAc,MAAA,EAAA,OAAA,CAAA,EA3BM,iBA2BN,CAAA,EA3B0B,OA2B1B,CAAA,MAAA,CAAA;EAQlB;;;EAAa,YAAA,CAAA,CAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EA9BgB,CAAA,CAAE,OA8BlB,CA9B0B,CA8B1B,CAAA,EAAA,OAAA,CAAA,EA9BwC,iBA8BxC,CAAA,EA9B4D,OA8B5D,CA9BoE,CA8BpE,CAAA;;AAI1B;;;UA5BiB,aAAA;EA4BM,OAAA,EAAA,MAAA;;AAIV,UA5BI,UAAA,CAkCf;;;UA9Be,cAAA;;;;;;;UAQA,cAAA;;EAgBU,UAAA,EAAA,MAAA;;AAQ3B;;;cAhBa,eAAa,CAAA,CAAA;EAgBC,OAAA,aAAA;CAAA,eAAA,CAAA;cAZd,YAAU,CAAA,CAAA;;;AC9CD,cDkDT,cClDgB,EDkDF,CAAA,CAAA,SClDE,CAAA;EACrB,MAAA,YAAA,YAAA,CAAA;EACI,aAAA,YAAA,YAAA,CAAA;EACH,YAAA,YAAA,YAAA,CAAA;EACU,SAAA,YAAA,YAAA,CAAA;EAAR,QAAA,YAAA,YAAA,CAAA;CAAR,eAAA,CAAA;AAAO,cDsDG,cCtDH,EDsDiB,CAAA,CAAA,SCtDjB,CAAA;EAoDO,WAAA,WAAU,CAAA;IAWL,OAAG,EAAA,SAAA;IACjB,OAAA,EAAA,SAAA;IACI,IAAA,EAAA,MAAA;IAEA,IAAA,EAAA,MAAA;IACO,OAAA,EAAA,SAAA;IAAR,KAAA,EAAA,OAAA;IAAR,IAAA,EAAA,MAAA;IAAO,OAAA,EAAA,SAAA;EA8CY,CAAA,CAAA;EACd,UAAA,aAAA;CACI,eAAA,CAAA;;;;;ADhIZ;AASiB,iBCDK,OAAA,CDCM,IAAA,ECApB,WDAoB,EAAA,QAAA,ECChB,WDDgB,EAAA,KAAA,ECEnB,eDFmB,EAAA,CAAA,ECGzB,ODHyB,CCGjB,ODHiB,CCGT,WDHS,CAAA,CAAA;;;;AAWgB,UC4C3B,UAAA,CD5C2B;EAAsB;EAA4B,GAAA,CAAA,EAAA,MAAA;EAAR;EAAO,MAAA,CAAA,ECgDlF,gBDhDkF;AAM7F;AAIA;AAIA;AAQA;AAQA;iBCyBsB,GAAA,OACd,uBACI,uCAEA,aACT,QAAQ,QAAQ;;;;AD1BN,iBCwES,ODtEpB,CAAA,CAAA,CAAA,CAAA,IAAA,ECuEM,WDvEN,EAAA,QAAA,ECwEU,WDxEV,EAAA,MAAA,ECyEQ,gBDzER,EAAA,cAAA,CAAA,EAAA,MAAA,CAAA,EC2EC,OD3ED,CC2ES,CD3ET,CAAA;;;;;;AApCgE,UERjD,aFQiD,CAAA,WAAA,OAAA,EAAA,YAAA,OAAA,EAAA,SAAA,OAAA,CAAA,SEPxD,cFOwD,CEPzC,MFOyC,CAAA,CAAA;EAA4B;;;AAM9F;EAIiB,cAAU,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EEZkB,iBFYlB,EAAA,GEZwC,QFYxC;EAIV;AAQjB;AAQA;;8BE3B8B;EF2BJ;;AAI1B;;;;;;AAIA;;cEnBa,mFACH,iBAAiB,mBACd;;;;;sBAQS,cAAc,UAAU,WAAW;;;;qCAiEf,oBAAyB;EFxDxC;;AAQ3B;0CE0EY,CAAA,CAAE,QAAQ,cACT,oBACR,QAAQ;;;;;;;iBAkEG,eAAA,SAAwB,CAAA,CAAE;;;;;;;;;;;AFtL1C;AAIiB,iBGdD,YAAA,CHcW,QAAA,EAAA;EAIV,MAAA,CAAA,EAAA,MAAA;EAQA,KAAA,CAAA,EAAA,MAAA;EAQJ,OAAA,CAAA,EAAA,MAEX;IGhCE;;;;AHkCJ;;;;;;AAIa,iBGJG,eAAA,CHUd,QAAA,EAAA;;;IGV8E;;;;;;;;;;AHIrD,iBGqCX,UAAA,CHrCW,QAAA,EAAA;EAQd,MAAA,CAAA,EAAA,MAAA;;IG6B8D;;;;;;;AFvF3E;;AAEY,iBE+GI,YAAA,CF/GJ,OAAA,EAAA;EACH,KAAA,EAAA,MAAA;EACU,OAAA,CAAA,EAAA,MAAA;CAAR,CAAA,EE6GiE,WF7GjE;;;AAoDX;AAWA;;;;;AAKW,iBE8DK,cAAA,CF9DL,OAAA,EAAA;EAAR,KAAA,EAAA,MAAA;EAAO,OAAA,CAAA,EAAA,MAAA;AA8CV,CAAA,CAAA,EEgB8E,WFhBjD;;;;;;;;;iBEqCb,cAAA,QDjJ6B;EAN5B,MAAA,CAAA,EAAA,MAAA;EACQ,KAAA,CAAA,EAAA,MAAA;CAKoB,CAAA,ECiJkC,WDjJlC;;;;;AAqB7C;;;;;;;AA2EmE,iBCgFnD,gBAAA,CDhFmD,OAAA,EAAA;EA0B7C,MAAA,CAAA,EAAA,MAAA;EAAR,KAAA,EAAA,MAAA;EACD,OAAA,CAAA,EAAA,MAAA;EACA,QAAA,CAAA,EAAA,MAAA;CAAR,CAAA,ECyDD,WDzDC;;;;AAkEL;;;;AChMA;AAsCA;AAyCA;AA0BA;AAqBA;AAqBA;AA+BgB,iBAgDA,aA3CZ,CAAA,WAAW,OAAA,EAAA,YAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,MAAA,EA4CL,aA5CK,CA4CS,QA5CT,EA4CmB,SA5CnB,EA4C8B,MA5C9B,CAAA,CAAA,EA6CZ,WA7CY"}
|