@evomap/evolver-proxy 2.0.0-beta.9 → 2.0.1
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/bin/evolver-proxy.d.ts +26 -2
- package/dist/bin/evolver-proxy.js +284 -51
- package/dist/daemon/atpConsent.js +5 -2
- package/dist/daemon/collaborationFacade.js +23 -13
- package/dist/daemon/proxyDaemon.d.ts +52 -0
- package/dist/daemon/proxyDaemon.js +1067 -24
- package/dist/daemon/publishRecallVerifier.d.ts +114 -0
- package/dist/daemon/publishRecallVerifier.js +495 -0
- package/dist/daemon/selectHub.js +5 -3
- package/dist/daemon/systemdNotifier.d.ts +46 -0
- package/dist/daemon/systemdNotifier.js +153 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/lifecycle/claimNudge.d.ts +20 -0
- package/dist/lifecycle/claimNudge.js +1 -0
- package/dist/lifecycle/deployGuard.js +1 -53
- package/dist/lifecycle/legacyNodeId.js +1 -178
- package/dist/lifecycle/manager.d.ts +4 -0
- package/dist/lifecycle/manager.js +1 -390
- package/dist/llm/bodyCapture.js +1 -293
- package/dist/llm/index.js +1 -3
- package/dist/llm/server.js +1 -359
- package/dist/llm/traceBackfill.js +1 -525
- package/dist/llm/traceConfig.js +1 -44
- package/dist/llm/traceControl.js +1 -85
- package/dist/llm/traceEnvelope.js +1 -286
- package/dist/llm/traceSink.js +1 -278
- package/dist/llm/traceUploadPayload.js +1 -27
- package/dist/llm/upstream.d.ts +5 -1
- package/dist/llm/upstream.js +1 -491
- package/dist/private/accountAssetCompatibility.d.ts +29 -0
- package/dist/private/accountAssetCompatibility.js +196 -0
- package/dist/private/adapterLoader.d.ts +21 -1
- package/dist/private/adapterLoader.js +242 -7
- package/dist/private/nodeCredentialStore.d.ts +23 -0
- package/dist/private/nodeCredentialStore.js +210 -0
- package/dist/router/cachePassthrough.js +1 -13
- package/dist/router/features.js +1 -52
- package/dist/router/index.js +1 -6
- package/dist/router/messagesRoute.js +1 -809
- package/dist/router/modelRouter.js +1 -66
- package/dist/router/providerRoutes.js +1 -1579
- package/dist/router/sseScan.js +1 -543
- package/dist/selfUpdate/bootstrap.d.ts +69 -0
- package/dist/selfUpdate/bootstrap.js +282 -0
- package/dist/selfUpdate/builtinKey.d.ts +4 -0
- package/dist/selfUpdate/builtinKey.js +16 -0
- package/dist/selfUpdate/executor.d.ts +1 -1
- package/dist/selfUpdate/executor.js +1 -1
- package/dist/selfUpdate/failureCodes.d.ts +4 -0
- package/dist/selfUpdate/failureCodes.js +7 -0
- package/dist/selfUpdate/migration.d.ts +93 -0
- package/dist/selfUpdate/migration.js +315 -0
- package/dist/selfUpdate/policy.d.ts +19 -2
- package/dist/selfUpdate/policy.js +82 -2
- package/dist/selfUpdate/releaseBinary.js +4 -1
- package/dist/sync/engine.d.ts +12 -0
- package/dist/sync/engine.js +1 -505
- package/package.json +7 -4
package/dist/llm/upstream.js
CHANGED
|
@@ -1,491 +1 @@
|
|
|
1
|
-
// Real upstream for the LLM proxy handlers. Anthropic /v1/messages keeps the v1 token-mediation behavior;
|
|
2
|
-
// OpenAI-compatible routes use daemon-owned OpenAI credentials so the local proxy bearer token never goes
|
|
3
|
-
// upstream as provider auth.
|
|
4
|
-
//
|
|
5
|
-
// Header policy (token mediation, same as v1): forward ONLY x-api-key, anthropic-version and anthropic-*
|
|
6
|
-
// from the inbound request. Everything else — host, cookie, content-length and crucially `authorization`
|
|
7
|
-
// (consumed by the local server as proxy self-auth) — is dropped so the proxy token never leaks upstream.
|
|
8
|
-
// When the client sent no x-api-key, the proxy substitutes its own env credential per request (hot-swappable
|
|
9
|
-
// without restart): EVOMAP_ANTHROPIC_API_KEY / ANTHROPIC_API_KEY → x-api-key, else an upstream auth token.
|
|
10
|
-
import { ReadableStream } from 'node:stream/web';
|
|
11
|
-
import { canonicalizeForBedrock, resolveBedrockAliases, supportsAdaptiveThinking } from '../router/messagesRoute.js';
|
|
12
|
-
export const DEFAULT_UPSTREAM_URL = 'https://api.anthropic.com';
|
|
13
|
-
export const DEFAULT_OPENAI_UPSTREAM_URL = 'https://api.openai.com/v1';
|
|
14
|
-
export const DEFAULT_GEMINI_UPSTREAM_URL = 'https://generativelanguage.googleapis.com';
|
|
15
|
-
export const DEFAULT_OLLAMA_UPSTREAM_URL = 'http://127.0.0.1:11434';
|
|
16
|
-
/** Time allowed for upstream RESPONSE HEADERS to arrive. Never applied to the body: a healthy SSE stream
|
|
17
|
-
* routinely outlives any fixed deadline, so an AbortSignal.timeout-style cap on the whole fetch would kill
|
|
18
|
-
* long generations mid-stream (a real v1 hazard). Body lifetime is bounded by the client connection instead. */
|
|
19
|
-
export const DEFAULT_HEADERS_TIMEOUT_MS = 120_000;
|
|
20
|
-
let defaultBedrockRuntime = null;
|
|
21
|
-
async function loadDefaultBedrockRuntime() {
|
|
22
|
-
if (!defaultBedrockRuntime) {
|
|
23
|
-
const mod = await import('@aws-sdk/client-bedrock-runtime');
|
|
24
|
-
defaultBedrockRuntime = {
|
|
25
|
-
createClient: (args) => new mod.BedrockRuntimeClient(args),
|
|
26
|
-
createInvokeModelCommand: (input) => new mod.InvokeModelCommand(input),
|
|
27
|
-
createInvokeModelWithResponseStreamCommand: (input) => new mod.InvokeModelWithResponseStreamCommand(input),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return defaultBedrockRuntime;
|
|
31
|
-
}
|
|
32
|
-
function isOpenAiMode(upstreamMode) {
|
|
33
|
-
return upstreamMode === 'openai';
|
|
34
|
-
}
|
|
35
|
-
function isAllowedOpenAIHostname(hostname) {
|
|
36
|
-
const h = hostname.toLowerCase();
|
|
37
|
-
return h === 'api.openai.com' || h.endsWith('.api.openai.com');
|
|
38
|
-
}
|
|
39
|
-
function normalizeOpenAIBaseUrl(raw) {
|
|
40
|
-
const value = raw.replace(/\/+$/, '');
|
|
41
|
-
let parsed;
|
|
42
|
-
try {
|
|
43
|
-
parsed = new URL(value);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
throw new Error('[proxy] OpenAI base URL is not a valid URL');
|
|
47
|
-
}
|
|
48
|
-
if (parsed.protocol !== 'https:'
|
|
49
|
-
|| !isAllowedOpenAIHostname(parsed.hostname)
|
|
50
|
-
|| parsed.pathname !== '/v1'
|
|
51
|
-
|| parsed.username
|
|
52
|
-
|| parsed.password
|
|
53
|
-
|| parsed.search
|
|
54
|
-
|| parsed.hash) {
|
|
55
|
-
throw new Error('[proxy] OpenAI base URL must be an OpenAI https://*.api.openai.com/v1 endpoint');
|
|
56
|
-
}
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
export function resolveOpenAIUpstreamUrl(env = process.env) {
|
|
60
|
-
return normalizeOpenAIBaseUrl(env['EVOLVER_LLM_OPENAI_BASE_URL'] || env['EVOMAP_OPENAI_BASE_URL'] || env['OPENAI_BASE_URL'] || DEFAULT_OPENAI_UPSTREAM_URL);
|
|
61
|
-
}
|
|
62
|
-
function pathForOpenAIBase(path) {
|
|
63
|
-
if (path === '/v1')
|
|
64
|
-
return '';
|
|
65
|
-
if (path.startsWith('/v1/'))
|
|
66
|
-
return path.slice('/v1'.length);
|
|
67
|
-
return path.startsWith('/') ? path : `/${path}`;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Validate an operator-configured upstream URL (#197): must parse as an http(s) URL with no embedded credentials.
|
|
71
|
-
* Scheme-only on purpose — NO host allowlist — so legit localhost (ollama) and internal gateways keep working,
|
|
72
|
-
* while file:/gopher:/data: schemes and userinfo-based SSRF tricks (user:pass@host) are refused. Returns trimmed.
|
|
73
|
-
*/
|
|
74
|
-
function assertHttpUrl(raw, label) {
|
|
75
|
-
let parsed;
|
|
76
|
-
try {
|
|
77
|
-
parsed = new URL(raw);
|
|
78
|
-
}
|
|
79
|
-
catch {
|
|
80
|
-
throw new Error(`[proxy] ${label} is not a valid URL`);
|
|
81
|
-
}
|
|
82
|
-
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
|
|
83
|
-
throw new Error(`[proxy] ${label} must use http(s)`);
|
|
84
|
-
if (parsed.username || parsed.password)
|
|
85
|
-
throw new Error(`[proxy] ${label} must not embed credentials`);
|
|
86
|
-
return raw.replace(/\/+$/, '');
|
|
87
|
-
}
|
|
88
|
-
/** Resolve the upstream base URL. OpenAI-compatible routes never inherit the Anthropic-wide override. */
|
|
89
|
-
export function resolveUpstreamUrl(env = process.env, upstreamMode = 'anthropic') {
|
|
90
|
-
if (isOpenAiMode(upstreamMode))
|
|
91
|
-
return resolveOpenAIUpstreamUrl(env);
|
|
92
|
-
const raw = env['EVOLVER_LLM_UPSTREAM_URL'] || env['ANTHROPIC_BASE_URL'] || DEFAULT_UPSTREAM_URL;
|
|
93
|
-
return assertHttpUrl(raw, 'Anthropic upstream URL');
|
|
94
|
-
}
|
|
95
|
-
export function resolveGeminiUpstreamUrl(env = process.env) {
|
|
96
|
-
const raw = env['EVOMAP_GEMINI_BASE_URL'] || DEFAULT_GEMINI_UPSTREAM_URL;
|
|
97
|
-
return assertHttpUrl(raw, 'Gemini base URL');
|
|
98
|
-
}
|
|
99
|
-
export function resolveOllamaUpstreamUrl(env = process.env) {
|
|
100
|
-
const raw = env['EVOMAP_OLLAMA_BASE_URL'] || DEFAULT_OLLAMA_UPSTREAM_URL;
|
|
101
|
-
return assertHttpUrl(raw, 'Ollama base URL');
|
|
102
|
-
}
|
|
103
|
-
export function buildForwardHeaders(inbound, env, upstreamMode = 'anthropic') {
|
|
104
|
-
const fwd = { 'content-type': 'application/json' };
|
|
105
|
-
if (isOpenAiMode(upstreamMode)) {
|
|
106
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
107
|
-
if (v === undefined || v === null)
|
|
108
|
-
continue;
|
|
109
|
-
const lk = k.toLowerCase();
|
|
110
|
-
if (lk === 'openai-organization' || lk === 'openai-project' || lk === 'openai-beta' || lk.startsWith('x-stainless-') || lk === 'idempotency-key') {
|
|
111
|
-
fwd[lk] = String(v);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
const apiKey = env['EVOLVER_LLM_OPENAI_API_KEY'] || env['EVOMAP_OPENAI_API_KEY'] || env['OPENAI_API_KEY'];
|
|
115
|
-
if (apiKey)
|
|
116
|
-
fwd['authorization'] = `Bearer ${apiKey}`;
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
120
|
-
if (v === undefined || v === null)
|
|
121
|
-
continue;
|
|
122
|
-
const lk = k.toLowerCase();
|
|
123
|
-
if (lk === 'x-api-key' || lk === 'anthropic-version' || lk.startsWith('anthropic-'))
|
|
124
|
-
fwd[lk] = String(v);
|
|
125
|
-
}
|
|
126
|
-
if (!fwd['x-api-key']) {
|
|
127
|
-
if (env['EVOMAP_ANTHROPIC_API_KEY'])
|
|
128
|
-
fwd['x-api-key'] = env['EVOMAP_ANTHROPIC_API_KEY'];
|
|
129
|
-
else if (env['ANTHROPIC_API_KEY'])
|
|
130
|
-
fwd['x-api-key'] = env['ANTHROPIC_API_KEY'];
|
|
131
|
-
else if (env['EVOMAP_ANTHROPIC_AUTH_TOKEN'])
|
|
132
|
-
fwd['authorization'] = `Bearer ${env['EVOMAP_ANTHROPIC_AUTH_TOKEN']}`;
|
|
133
|
-
else if (env['EVOMAP_PROXY_AUTO_INJECTED'] !== '1' && env['ANTHROPIC_AUTH_TOKEN']) {
|
|
134
|
-
fwd['authorization'] = `Bearer ${env['ANTHROPIC_AUTH_TOKEN']}`;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return fwd;
|
|
139
|
-
}
|
|
140
|
-
function safeHeaderValue(value) {
|
|
141
|
-
if (value === undefined || value === null)
|
|
142
|
-
return null;
|
|
143
|
-
const s = String(value);
|
|
144
|
-
if (/[\r\n]/.test(s))
|
|
145
|
-
return null;
|
|
146
|
-
return s;
|
|
147
|
-
}
|
|
148
|
-
export function buildOpenAIHeaders(inbound, env) {
|
|
149
|
-
const fwd = { 'content-type': 'application/json' };
|
|
150
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
151
|
-
const lk = k.toLowerCase();
|
|
152
|
-
if (lk !== 'openai-organization' && lk !== 'openai-project' && lk !== 'openai-beta' && !lk.startsWith('x-stainless-'))
|
|
153
|
-
continue;
|
|
154
|
-
const hv = safeHeaderValue(v);
|
|
155
|
-
if (hv !== null)
|
|
156
|
-
fwd[lk] = hv;
|
|
157
|
-
}
|
|
158
|
-
const upstreamKey = env['EVOLVER_LLM_OPENAI_API_KEY'] || env['EVOMAP_OPENAI_API_KEY'] || env['OPENAI_API_KEY'];
|
|
159
|
-
if (!upstreamKey)
|
|
160
|
-
throw Object.assign(new Error('openai api key required'), { statusCode: 401 });
|
|
161
|
-
fwd.authorization = `Bearer ${upstreamKey}`;
|
|
162
|
-
return fwd;
|
|
163
|
-
}
|
|
164
|
-
export function buildGeminiHeaders(inbound, env) {
|
|
165
|
-
const fwd = { 'content-type': 'application/json' };
|
|
166
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
167
|
-
const lk = k.toLowerCase();
|
|
168
|
-
if (lk !== 'x-goog-user-project' && lk !== 'x-goog-api-client' && !lk.startsWith('x-goog-request-'))
|
|
169
|
-
continue;
|
|
170
|
-
const hv = safeHeaderValue(v);
|
|
171
|
-
if (hv !== null)
|
|
172
|
-
fwd[lk] = hv;
|
|
173
|
-
}
|
|
174
|
-
const upstreamKey = env['EVOMAP_GEMINI_API_KEY'] || env['GEMINI_API_KEY'] || env['GOOGLE_API_KEY'];
|
|
175
|
-
if (!upstreamKey)
|
|
176
|
-
throw Object.assign(new Error('gemini api key required'), { statusCode: 401 });
|
|
177
|
-
fwd['x-goog-api-key'] = upstreamKey;
|
|
178
|
-
return fwd;
|
|
179
|
-
}
|
|
180
|
-
export function buildOllamaHeaders(env) {
|
|
181
|
-
const fwd = { 'content-type': 'application/json' };
|
|
182
|
-
const upstreamKey = env['EVOMAP_OLLAMA_API_KEY'];
|
|
183
|
-
if (upstreamKey)
|
|
184
|
-
fwd.authorization = `Bearer ${upstreamKey}`;
|
|
185
|
-
return fwd;
|
|
186
|
-
}
|
|
187
|
-
export function buildVertexHeaders(env) {
|
|
188
|
-
const token = env['EVOMAP_VERTEX_ACCESS_TOKEN'];
|
|
189
|
-
if (!token)
|
|
190
|
-
throw Object.assign(new Error('vertex access token required'), { statusCode: 401 });
|
|
191
|
-
return { 'content-type': 'application/json', authorization: `Bearer ${token}` };
|
|
192
|
-
}
|
|
193
|
-
function providerGatewayError(provider, err, fallbackStatus = 502) {
|
|
194
|
-
const name = err && typeof err === 'object' && 'name' in err ? String(err.name) : '';
|
|
195
|
-
const isTimeout = name === 'TimeoutError' || name === 'AbortError';
|
|
196
|
-
return Object.assign(new Error(isTimeout ? `${provider} upstream timed out` : `${provider} upstream request failed`), {
|
|
197
|
-
statusCode: isTimeout ? 504 : fallbackStatus,
|
|
198
|
-
cause: err,
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
async function fetchUpstream(endpoint, body, opts, headers, fetchImpl, headersTimeoutMs, provider, streamDetector) {
|
|
202
|
-
const method = (opts.method || 'POST').toUpperCase();
|
|
203
|
-
const controller = new AbortController();
|
|
204
|
-
const timeoutErr = new Error(`${provider} upstream timed out`);
|
|
205
|
-
timeoutErr.name = 'TimeoutError';
|
|
206
|
-
const timer = setTimeout(() => controller.abort(timeoutErr), headersTimeoutMs);
|
|
207
|
-
let res;
|
|
208
|
-
try {
|
|
209
|
-
const init = { method, headers, signal: controller.signal };
|
|
210
|
-
if (method !== 'GET' && method !== 'HEAD')
|
|
211
|
-
init.body = JSON.stringify(body ?? {});
|
|
212
|
-
res = await fetchImpl(endpoint, init);
|
|
213
|
-
}
|
|
214
|
-
catch (err) {
|
|
215
|
-
clearTimeout(timer);
|
|
216
|
-
throw providerGatewayError(provider, err);
|
|
217
|
-
}
|
|
218
|
-
finally {
|
|
219
|
-
clearTimeout(timer);
|
|
220
|
-
}
|
|
221
|
-
const resHeaders = {};
|
|
222
|
-
for (const [k, v] of res.headers.entries())
|
|
223
|
-
resHeaders[k.toLowerCase()] = v;
|
|
224
|
-
const isStream = streamDetector(resHeaders, endpoint, body);
|
|
225
|
-
return {
|
|
226
|
-
status: res.status,
|
|
227
|
-
headers: resHeaders,
|
|
228
|
-
stream: isStream ? res.body : null,
|
|
229
|
-
text: isStream ? undefined : () => res.text().catch((err) => { throw providerGatewayError(provider, err); }),
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
const contentTypeIncludes = (headers, token) => (headers['content-type'] || '').toLowerCase().includes(token);
|
|
233
|
-
function jsonResult(status, body) {
|
|
234
|
-
const text = JSON.stringify(body);
|
|
235
|
-
return {
|
|
236
|
-
status,
|
|
237
|
-
headers: { 'content-type': 'application/json' },
|
|
238
|
-
stream: null,
|
|
239
|
-
text: () => text,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
function bodyRecord(body) {
|
|
243
|
-
if (!body || typeof body !== 'object' || Array.isArray(body))
|
|
244
|
-
return {};
|
|
245
|
-
return body;
|
|
246
|
-
}
|
|
247
|
-
function textFromBytes(value) {
|
|
248
|
-
if (typeof value === 'string')
|
|
249
|
-
return value;
|
|
250
|
-
if (value instanceof Uint8Array)
|
|
251
|
-
return Buffer.from(value).toString('utf8');
|
|
252
|
-
if (value instanceof ArrayBuffer)
|
|
253
|
-
return Buffer.from(value).toString('utf8');
|
|
254
|
-
return '';
|
|
255
|
-
}
|
|
256
|
-
function bedrockErrorResult(err) {
|
|
257
|
-
const e = err && typeof err === 'object' ? err : {};
|
|
258
|
-
const metadata = e['$metadata'] && typeof e['$metadata'] === 'object' ? e['$metadata'] : {};
|
|
259
|
-
const name = typeof e['name'] === 'string' ? e['name'] : 'upstream_error';
|
|
260
|
-
const message = typeof e['message'] === 'string' ? e['message'] : String(err);
|
|
261
|
-
const httpStatus = typeof metadata['httpStatusCode'] === 'number' ? metadata['httpStatusCode'] : undefined;
|
|
262
|
-
const status = name === 'TimeoutError' || name === 'AbortError' ? 504 : httpStatus ?? 500;
|
|
263
|
-
return jsonResult(status, { type: 'error', error: { type: name, message } });
|
|
264
|
-
}
|
|
265
|
-
function normalizeBedrockBody(body, env) {
|
|
266
|
-
const source = bodyRecord(body);
|
|
267
|
-
const rawModel = typeof source['model'] === 'string' ? source['model'] : null;
|
|
268
|
-
const canonicalModel = rawModel ? canonicalizeForBedrock(rawModel, resolveBedrockAliases(env)) : null;
|
|
269
|
-
const modelId = typeof canonicalModel === 'string' && canonicalModel.length > 0 ? canonicalModel : null;
|
|
270
|
-
if (!modelId) {
|
|
271
|
-
return jsonResult(400, {
|
|
272
|
-
type: 'error',
|
|
273
|
-
error: { type: 'invalid_request_error', message: 'body.model required for Bedrock upstream' },
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
const upstreamBody = { ...source };
|
|
277
|
-
delete upstreamBody['model'];
|
|
278
|
-
if (!upstreamBody['anthropic_version'])
|
|
279
|
-
upstreamBody['anthropic_version'] = 'bedrock-2023-05-31';
|
|
280
|
-
const wantsStream = upstreamBody['stream'] === true;
|
|
281
|
-
delete upstreamBody['stream'];
|
|
282
|
-
const modelSupportsAdaptiveThinking = supportsAdaptiveThinking(modelId);
|
|
283
|
-
const thinking = upstreamBody['thinking'];
|
|
284
|
-
if (!modelSupportsAdaptiveThinking && thinking && typeof thinking === 'object' && !Array.isArray(thinking)) {
|
|
285
|
-
const thinkingRecord = thinking;
|
|
286
|
-
if (thinkingRecord['type'] === 'adaptive') {
|
|
287
|
-
const maxTokens = typeof upstreamBody['max_tokens'] === 'number' ? upstreamBody['max_tokens'] : 8192;
|
|
288
|
-
const budget = thinkingRecord['budget_tokens'];
|
|
289
|
-
// Legacy `enabled` thinking requires 1024 <= budget_tokens < max_tokens (Bedrock rejects anything else).
|
|
290
|
-
// If max_tokens leaves no room for a >=1024 budget, thinking cannot be enabled at all → disable, even when an
|
|
291
|
-
// inbound budget_tokens is present. Otherwise CLAMP the requested (or a derived) budget into [1024, maxTokens-1]
|
|
292
|
-
// so a sub-1024 or too-large inbound budget can't reach Bedrock verbatim and fail strict validation (Bugbot).
|
|
293
|
-
if (maxTokens <= 1024) {
|
|
294
|
-
upstreamBody['thinking'] = { type: 'disabled' };
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
const desired = typeof budget === 'number' ? budget : Math.floor(maxTokens / 2);
|
|
298
|
-
const clamped = Math.min(Math.max(1024, desired), maxTokens - 1);
|
|
299
|
-
upstreamBody['thinking'] = { ...thinkingRecord, type: 'enabled', budget_tokens: clamped };
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
delete upstreamBody['context_management'];
|
|
304
|
-
if (!modelSupportsAdaptiveThinking)
|
|
305
|
-
delete upstreamBody['output_config'];
|
|
306
|
-
return { modelId, upstreamBody, wantsStream };
|
|
307
|
-
}
|
|
308
|
-
function bedrockException(event) {
|
|
309
|
-
return event.internalServerException
|
|
310
|
-
?? event.modelStreamErrorException
|
|
311
|
-
?? event.throttlingException
|
|
312
|
-
?? event.validationException
|
|
313
|
-
?? event.modelTimeoutException
|
|
314
|
-
?? event.serviceUnavailableException
|
|
315
|
-
?? null;
|
|
316
|
-
}
|
|
317
|
-
function bedrockChunkFrame(bytes) {
|
|
318
|
-
const data = textFromBytes(bytes);
|
|
319
|
-
if (!data)
|
|
320
|
-
return '';
|
|
321
|
-
try {
|
|
322
|
-
const parsed = JSON.parse(data);
|
|
323
|
-
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
324
|
-
const type = parsed['type'];
|
|
325
|
-
if (typeof type === 'string' && /^[A-Za-z0-9_.:-]+$/.test(type))
|
|
326
|
-
return `event: ${type}\ndata: ${data}\n\n`;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
catch {
|
|
330
|
-
/* non-JSON chunks are still valid data-only SSE frames */
|
|
331
|
-
}
|
|
332
|
-
return `data: ${data}\n\n`;
|
|
333
|
-
}
|
|
334
|
-
function bedrockStreamToSse(body) {
|
|
335
|
-
const events = body && typeof body[Symbol.asyncIterator] === 'function'
|
|
336
|
-
? body
|
|
337
|
-
: null;
|
|
338
|
-
return new ReadableStream({
|
|
339
|
-
async start(controller) {
|
|
340
|
-
if (!events) {
|
|
341
|
-
controller.close();
|
|
342
|
-
return;
|
|
343
|
-
}
|
|
344
|
-
try {
|
|
345
|
-
for await (const event of events) {
|
|
346
|
-
const bytes = event.chunk?.bytes;
|
|
347
|
-
if (bytes) {
|
|
348
|
-
controller.enqueue(Buffer.from(bedrockChunkFrame(bytes)));
|
|
349
|
-
continue;
|
|
350
|
-
}
|
|
351
|
-
const ex = bedrockException(event);
|
|
352
|
-
if (ex) {
|
|
353
|
-
const errFrame = JSON.stringify({
|
|
354
|
-
type: 'error',
|
|
355
|
-
error: {
|
|
356
|
-
type: typeof ex.name === 'string' ? ex.name : 'upstream_error',
|
|
357
|
-
message: typeof ex.message === 'string' ? ex.message : String(ex),
|
|
358
|
-
},
|
|
359
|
-
});
|
|
360
|
-
controller.enqueue(Buffer.from(`event: error\ndata: ${errFrame}\n\n`));
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
controller.close();
|
|
364
|
-
}
|
|
365
|
-
catch (err) {
|
|
366
|
-
controller.error(err);
|
|
367
|
-
}
|
|
368
|
-
},
|
|
369
|
-
cancel() {
|
|
370
|
-
try {
|
|
371
|
-
void events?.return?.();
|
|
372
|
-
}
|
|
373
|
-
catch {
|
|
374
|
-
/* async iterable already closed */
|
|
375
|
-
}
|
|
376
|
-
},
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
async function invokeBedrock(body, env, runtime, client, headersTimeoutMs) {
|
|
380
|
-
const normalized = normalizeBedrockBody(body, env);
|
|
381
|
-
if ('status' in normalized)
|
|
382
|
-
return normalized;
|
|
383
|
-
const input = {
|
|
384
|
-
modelId: normalized.modelId,
|
|
385
|
-
contentType: 'application/json',
|
|
386
|
-
accept: 'application/json',
|
|
387
|
-
body: JSON.stringify(normalized.upstreamBody),
|
|
388
|
-
};
|
|
389
|
-
const timeoutErr = new Error('bedrock upstream timed out');
|
|
390
|
-
timeoutErr.name = 'TimeoutError';
|
|
391
|
-
const abortController = new AbortController();
|
|
392
|
-
const abortTimer = setTimeout(() => abortController.abort(timeoutErr), headersTimeoutMs);
|
|
393
|
-
try {
|
|
394
|
-
if (normalized.wantsStream) {
|
|
395
|
-
const out = await client.send(runtime.createInvokeModelWithResponseStreamCommand(input), { abortSignal: abortController.signal });
|
|
396
|
-
clearTimeout(abortTimer);
|
|
397
|
-
const outRecord = out && typeof out === 'object' ? out : {};
|
|
398
|
-
return {
|
|
399
|
-
status: 200,
|
|
400
|
-
headers: { 'content-type': 'text/event-stream' },
|
|
401
|
-
stream: bedrockStreamToSse(outRecord['body']),
|
|
402
|
-
traceRequestBody: normalized.upstreamBody,
|
|
403
|
-
};
|
|
404
|
-
}
|
|
405
|
-
const out = await client.send(runtime.createInvokeModelCommand(input), { abortSignal: abortController.signal });
|
|
406
|
-
clearTimeout(abortTimer);
|
|
407
|
-
const outRecord = out && typeof out === 'object' ? out : {};
|
|
408
|
-
const text = textFromBytes(outRecord['body']);
|
|
409
|
-
return {
|
|
410
|
-
status: 200,
|
|
411
|
-
headers: { 'content-type': 'application/json' },
|
|
412
|
-
stream: null,
|
|
413
|
-
text: () => text,
|
|
414
|
-
traceRequestBody: normalized.upstreamBody,
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
catch (err) {
|
|
418
|
-
clearTimeout(abortTimer);
|
|
419
|
-
return { ...bedrockErrorResult(err), traceRequestBody: normalized.upstreamBody };
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
/** Build the production AnthropicProxy. Streaming is detected from the upstream content-type
|
|
423
|
-
* (text/event-stream → expose the response body stream; anything else → buffered text()). */
|
|
424
|
-
export function makeAnthropicUpstream(opts = {}) {
|
|
425
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
426
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
427
|
-
let bedrockClient = null;
|
|
428
|
-
let bedrockClientKey = '';
|
|
429
|
-
let bedrockClientRuntime = null;
|
|
430
|
-
const getBedrockClient = (env, runtime) => {
|
|
431
|
-
const args = {
|
|
432
|
-
region: env['AWS_REGION'] || env['AWS_DEFAULT_REGION'] || 'us-east-1',
|
|
433
|
-
...(env['EVOMAP_BEDROCK_ENDPOINT'] ? { endpoint: assertHttpUrl(env['EVOMAP_BEDROCK_ENDPOINT'], 'Bedrock endpoint') } : {}),
|
|
434
|
-
};
|
|
435
|
-
const key = JSON.stringify(args);
|
|
436
|
-
if (!bedrockClient || bedrockClientKey !== key || bedrockClientRuntime !== runtime) {
|
|
437
|
-
bedrockClient = runtime.createClient(args);
|
|
438
|
-
bedrockClientKey = key;
|
|
439
|
-
bedrockClientRuntime = runtime;
|
|
440
|
-
}
|
|
441
|
-
return bedrockClient;
|
|
442
|
-
};
|
|
443
|
-
return async (path, body, callOpts) => {
|
|
444
|
-
const { inboundHeaders, upstreamMode } = callOpts;
|
|
445
|
-
if (upstreamMode === 'bedrock') {
|
|
446
|
-
const runtime = opts.bedrockRuntime ?? await loadDefaultBedrockRuntime();
|
|
447
|
-
const env = opts.env ?? process.env;
|
|
448
|
-
return invokeBedrock(body, env, runtime, getBedrockClient(env, runtime), headersTimeoutMs);
|
|
449
|
-
}
|
|
450
|
-
const env = opts.env ?? process.env;
|
|
451
|
-
return fetchUpstream(`${resolveUpstreamUrl(env, upstreamMode)}${isOpenAiMode(upstreamMode) ? pathForOpenAIBase(path) : path}`, body, callOpts, buildForwardHeaders(inboundHeaders, env, upstreamMode), fetchImpl, headersTimeoutMs, isOpenAiMode(upstreamMode) ? 'openai' : 'anthropic', (headers) => contentTypeIncludes(headers, 'text/event-stream'));
|
|
452
|
-
};
|
|
453
|
-
}
|
|
454
|
-
export function makeOpenAIUpstream(opts = {}) {
|
|
455
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
456
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
457
|
-
return async (path, body, callOpts) => {
|
|
458
|
-
const env = opts.env ?? process.env;
|
|
459
|
-
const baseUrl = callOpts.baseUrl ? normalizeOpenAIBaseUrl(callOpts.baseUrl) : resolveOpenAIUpstreamUrl(env);
|
|
460
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildOpenAIHeaders(callOpts.inboundHeaders, env), fetchImpl, headersTimeoutMs, 'openai', (headers) => contentTypeIncludes(headers, 'text/event-stream'));
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
export function makeGeminiUpstream(opts = {}) {
|
|
464
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
465
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
466
|
-
return async (path, body, callOpts) => {
|
|
467
|
-
const env = opts.env ?? process.env;
|
|
468
|
-
const baseUrl = (callOpts.baseUrl || resolveGeminiUpstreamUrl(env)).replace(/\/+$/, '');
|
|
469
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildGeminiHeaders(callOpts.inboundHeaders, env), fetchImpl, headersTimeoutMs, 'gemini', (headers, endpoint) => contentTypeIncludes(headers, 'text/event-stream') || /:streamGenerateContent(\b|\?|$)/.test(endpoint));
|
|
470
|
-
};
|
|
471
|
-
}
|
|
472
|
-
export function makeOllamaUpstream(opts = {}) {
|
|
473
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
474
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
475
|
-
return async (path, body, callOpts) => {
|
|
476
|
-
const env = opts.env ?? process.env;
|
|
477
|
-
const baseUrl = (callOpts.baseUrl || resolveOllamaUpstreamUrl(env)).replace(/\/+$/, '');
|
|
478
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildOllamaHeaders(env), fetchImpl, headersTimeoutMs, 'ollama', (_headers, _endpoint, outboundBody) => !(outboundBody && typeof outboundBody === 'object' && outboundBody['stream'] === false));
|
|
479
|
-
};
|
|
480
|
-
}
|
|
481
|
-
export function makeVertexUpstream(opts = {}) {
|
|
482
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
483
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
484
|
-
return async (path, body, callOpts) => {
|
|
485
|
-
const baseUrl = (callOpts.baseUrl || '').replace(/\/+$/, '');
|
|
486
|
-
if (!baseUrl)
|
|
487
|
-
throw Object.assign(new Error('vertex base url required'), { statusCode: 500 });
|
|
488
|
-
const env = opts.env ?? process.env;
|
|
489
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildVertexHeaders(env), fetchImpl, headersTimeoutMs, 'vertex', (headers, endpoint) => contentTypeIncludes(headers, 'text/event-stream') || /:streamGenerateContent(\b|\?|$)/.test(endpoint));
|
|
490
|
-
};
|
|
491
|
-
}
|
|
1
|
+
const _0x33e187=_0x33ca;(function(_0x186d17,_0x533a7f){const _0xad5808=_0x33ca,_0x2a16fe=_0x186d17();while(!![]){try{const _0x152411=parseInt(_0xad5808(0x14e,'\x69\x56\x71\x63'))/(-0xca5+0x1*-0x17f5+0x249b)+-parseInt(_0xad5808(0x206,'\x54\x56\x59\x54'))/(-0x2*-0xd3f+-0x1*-0xa5b+-0x1*0x24d7)*(-parseInt(_0xad5808(0x26e,'\x4d\x79\x39\x28'))/(-0x4*-0x404+0x232+-0x207*0x9))+-parseInt(_0xad5808(0x222,'\x74\x6b\x42\x53'))/(0x241d*0x1+0x126f+-0x3688)+-parseInt(_0xad5808(0x3a2,'\x61\x6d\x63\x46'))/(-0x109*-0x22+0x853+-0x2b80)*(-parseInt(_0xad5808(0x167,'\x67\x77\x58\x69'))/(-0x933*-0x3+-0xdc9+-0xdca))+-parseInt(_0xad5808(0x3a9,'\x61\x6d\x63\x46'))/(0x446*-0x9+0x608+-0x4a3*-0x7)*(parseInt(_0xad5808(0x319,'\x38\x44\x53\x42'))/(0x1*0x1de3+-0x3d*0x31+-0x2*0x917))+parseInt(_0xad5808(0x30b,'\x67\x79\x6a\x52'))/(0x13f6+-0x15b1+0x4*0x71)+parseInt(_0xad5808(0x132,'\x74\x6b\x42\x53'))/(-0x1e2e*0x1+-0x239b+0x41d3)*(parseInt(_0xad5808(0x284,'\x4b\x35\x55\x4b'))/(0x212c+0xc8a*0x2+-0x1367*0x3));if(_0x152411===_0x533a7f)break;else _0x2a16fe['push'](_0x2a16fe['shift']());}catch(_0x32f495){_0x2a16fe['push'](_0x2a16fe['shift']());}}}(_0x2522,0x92555*0x2+-0xaf89c+-0x137b*-0x1c));import{ReadableStream}from'\x6e\x6f\x64\x65\x3a\x73\x74\x72\x65\x61\x6d\x2f\x77\x65\x62';import{canonicalizeForBedrock,resolveBedrockAliases,supportsAdaptiveThinking}from'\x2e\x2e\x2f\x72\x6f\x75\x74\x65\x72\x2f\x6d\x65\x73\x73\x61\x67\x65\x73\x52\x6f\x75\x74\x65\x2e\x6a\x73';export const DEFAULT_UPSTREAM_URL=_0x33e187(0x38c,'\x61\x35\x74\x42')+_0x33e187(0x3d8,'\x4d\x79\x39\x28')+_0x33e187(0x263,'\x31\x76\x48\x56')+'\x6d';export const DEFAULT_OPENAI_UPSTREAM_URL=_0x33e187(0x11e,'\x29\x57\x45\x25')+_0x33e187(0x285,'\x25\x5d\x6b\x49')+_0x33e187(0x271,'\x29\x57\x45\x25')+'\x31';export const DEFAULT_GEMINI_UPSTREAM_URL=_0x33e187(0x14d,'\x69\x56\x71\x63')+_0x33e187(0x292,'\x38\x44\x53\x42')+_0x33e187(0x3b3,'\x52\x38\x37\x44')+_0x33e187(0x207,'\x4d\x79\x39\x28')+_0x33e187(0x315,'\x61\x62\x6c\x66')+'\x6d';export const DEFAULT_OLLAMA_UPSTREAM_URL=_0x33e187(0x3c5,'\x31\x76\x48\x56')+'\x32\x37\x2e\x30\x2e\x30\x2e\x31'+_0x33e187(0x29a,'\x40\x51\x62\x24');export const DEFAULT_HEADERS_TIMEOUT_MS=-0x31d4d+-0x1f921+0x6eb2e;let defaultBedrockRuntime=null;async function loadDefaultBedrockRuntime(){const _0x5cec7d=_0x33e187;if(!defaultBedrockRuntime){const _0x23a64e=await import(_0x5cec7d(0x32d,'\x4d\x79\x39\x28')+_0x5cec7d(0x1dc,'\x61\x6d\x63\x46')+'\x62\x65\x64\x72\x6f\x63\x6b\x2d'+_0x5cec7d(0x205,'\x37\x59\x29\x62'));defaultBedrockRuntime={'\x63\x72\x65\x61\x74\x65\x43\x6c\x69\x65\x6e\x74':_0x1ac08f=>new _0x23a64e[(_0x5cec7d(0x21d,'\x26\x55\x24\x66'))+(_0x5cec7d(0x24f,'\x31\x76\x48\x56'))+(_0x5cec7d(0x3d2,'\x4b\x35\x55\x4b'))](_0x1ac08f),'\x63\x72\x65\x61\x74\x65\x49\x6e\x76\x6f\x6b\x65\x4d\x6f\x64\x65\x6c\x43\x6f\x6d\x6d\x61\x6e\x64':_0x473de1=>new _0x23a64e[(_0x5cec7d(0x11b,'\x4c\x55\x56\x6b'))+(_0x5cec7d(0x163,'\x63\x31\x46\x31'))+'\x6e\x64'](_0x473de1),'\x63\x72\x65\x61\x74\x65\x49\x6e\x76\x6f\x6b\x65\x4d\x6f\x64\x65\x6c\x57\x69\x74\x68\x52\x65\x73\x70\x6f\x6e\x73\x65\x53\x74\x72\x65\x61\x6d\x43\x6f\x6d\x6d\x61\x6e\x64':_0xed2d52=>new _0x23a64e[(_0x5cec7d(0x3e0,'\x38\x44\x53\x42'))+(_0x5cec7d(0x1a9,'\x73\x21\x6a\x67'))+(_0x5cec7d(0x174,'\x67\x44\x5a\x51'))+(_0x5cec7d(0x3e2,'\x73\x21\x6a\x67'))+(_0x5cec7d(0x324,'\x6c\x65\x77\x37'))](_0xed2d52)};}return defaultBedrockRuntime;}function isOpenAiMode(_0x4ec8fe){return _0x4ec8fe==='\x6f\x70\x65\x6e\x61\x69';}let warnedDeprecatedOpenAICompatible=![];function warnDeprecatedOpenAICompatible(_0x426158){const _0x3dbc30=_0x33e187,_0x1f2929=_0x426158[_0x3dbc30(0x18d,'\x4d\x72\x29\x58')+_0x3dbc30(0x11d,'\x48\x6b\x38\x5a')+_0x3dbc30(0x26b,'\x66\x75\x4b\x50')+_0x3dbc30(0x115,'\x61\x62\x6c\x66')+'\x4c\x53']||_0x426158[_0x3dbc30(0x2c1,'\x6e\x4a\x41\x51')+_0x3dbc30(0x399,'\x6c\x65\x77\x37')+_0x3dbc30(0x1fb,'\x4c\x55\x56\x6b')+_0x3dbc30(0x143,'\x73\x21\x6a\x67')+_0x3dbc30(0x176,'\x33\x29\x6e\x34')];if(!_0x1f2929||warnedDeprecatedOpenAICompatible)return;warnedDeprecatedOpenAICompatible=!![],console[_0x3dbc30(0x2b0,'\x52\x38\x37\x44')](_0x3dbc30(0x1a5,'\x57\x4e\x69\x45')+_0x3dbc30(0x31f,'\x55\x67\x49\x56')+_0x3dbc30(0x1e2,'\x21\x37\x50\x21')+_0x3dbc30(0x2fb,'\x6e\x4a\x41\x51')+_0x3dbc30(0x1e7,'\x66\x75\x4b\x50')+_0x3dbc30(0x3ba,'\x5e\x61\x4e\x46')+_0x3dbc30(0x277,'\x6a\x70\x5e\x35')+_0x3dbc30(0x2b6,'\x69\x28\x28\x7a')+_0x3dbc30(0x36e,'\x67\x77\x58\x69')+_0x3dbc30(0x38a,'\x56\x56\x76\x26')+_0x3dbc30(0x3e3,'\x69\x56\x71\x63')+_0x3dbc30(0x17c,'\x61\x62\x6c\x66')+_0x3dbc30(0x3ac,'\x4d\x72\x29\x58')+_0x3dbc30(0x29f,'\x66\x75\x4b\x50')+_0x3dbc30(0x157,'\x73\x21\x6a\x67')+(_0x3dbc30(0x201,'\x66\x75\x4b\x50')+_0x3dbc30(0x278,'\x25\x5d\x6b\x49')+_0x3dbc30(0x2b4,'\x67\x77\x58\x69')+'\x2a\x2e\x61\x70\x69\x2e\x6f\x70'+_0x3dbc30(0x391,'\x67\x6a\x41\x69')+_0x3dbc30(0x111,'\x54\x56\x59\x54')+'\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x3dbc30(0x352,'\x74\x6b\x42\x53')+_0x3dbc30(0x328,'\x6e\x4a\x41\x51')+'\x55\x52\x4c\x2c\x20\x45\x56\x4f'+_0x3dbc30(0x3b8,'\x21\x37\x50\x21')+'\x41\x49\x5f\x42\x41\x53\x45\x5f'+_0x3dbc30(0x3e5,'\x40\x76\x7a\x24')+_0x3dbc30(0x18b,'\x61\x62\x6c\x66')+'\x41\x53\x45\x5f\x55\x52\x4c\x2e'+'\x20')+('\x4c\x69\x74\x65\x4c\x4c\x4d\x20'+'\x2f\x20\x4f\x70\x65\x6e\x52\x6f'+'\x75\x74\x65\x72\x20\x2f\x20\x41'+_0x3dbc30(0x223,'\x61\x62\x6c\x66')+_0x3dbc30(0x301,'\x66\x75\x4b\x50')+_0x3dbc30(0x305,'\x6a\x70\x5e\x35')+_0x3dbc30(0x134,'\x61\x62\x6c\x66')+_0x3dbc30(0x375,'\x63\x31\x46\x31')+_0x3dbc30(0x2c8,'\x54\x56\x59\x54')+_0x3dbc30(0x202,'\x4d\x79\x39\x28')+'\x65\x6e\x41\x49\x20\x70\x61\x74'+_0x3dbc30(0x16d,'\x61\x6d\x63\x46')+_0x3dbc30(0x2cb,'\x6e\x4a\x41\x51')+_0x3dbc30(0x218,'\x61\x62\x6c\x66')+_0x3dbc30(0x1c7,'\x67\x6a\x41\x69')+_0x3dbc30(0x1aa,'\x67\x79\x6a\x52')+'\x6f\x70\x65\x6e\x61\x69\x2e\x63'+'\x6f\x6d\x20\x6f\x72\x20\x61\x20'+_0x3dbc30(0x3c8,'\x38\x44\x53\x42')+_0x3dbc30(0x1d0,'\x63\x31\x46\x31')+_0x3dbc30(0x212,'\x61\x35\x74\x42')+'\x2e\x20')+(_0x3dbc30(0x208,'\x6f\x29\x4f\x73')+'\x68\x65\x20\x64\x65\x70\x72\x65'+_0x3dbc30(0x25d,'\x7a\x5d\x5e\x64')+_0x3dbc30(0x35a,'\x69\x56\x71\x63')+_0x3dbc30(0x381,'\x29\x57\x45\x25')+'\x2e'));}function resetDeprecatedOpenAICompatibleWarning(){warnedDeprecatedOpenAICompatible=![];}function isAllowedOpenAIHostname(_0x1ecd9e){const _0x254917=_0x33e187,_0x47a74e=_0x1ecd9e['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x254917(0x364,'\x6a\x70\x5e\x35')]();return _0x47a74e===_0x254917(0x1f3,'\x4c\x55\x56\x6b')+_0x254917(0x3db,'\x31\x76\x48\x56')||_0x47a74e[_0x254917(0x266,'\x29\x23\x52\x6d')]('\x2e\x61\x70\x69\x2e\x6f\x70\x65'+_0x254917(0x34e,'\x29\x57\x45\x25'));}function normalizeOpenAIBaseUrl(_0x1e07f1){const _0x5e33e9=_0x33e187,_0x499af8=_0x1e07f1[_0x5e33e9(0x2fd,'\x40\x48\x61\x74')](/\/+$/,'');let _0x10aa09;try{if(_0x5e33e9(0x135,'\x31\x6a\x49\x72')===_0x5e33e9(0x2be,'\x58\x39\x4d\x78')){const _0x3b77bb={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x5e33e9(0x320,'\x38\x6d\x30\x52')+_0x5e33e9(0x354,'\x67\x6a\x41\x69')},_0x113e4f=_0x441ffc[_0x5e33e9(0x3d0,'\x52\x38\x37\x44')+'\x4c\x4c\x41\x4d\x41\x5f\x41\x50'+'\x49\x5f\x4b\x45\x59'];if(_0x113e4f)_0x3b77bb[_0x5e33e9(0x3b1,'\x73\x21\x6a\x67')+_0x5e33e9(0x2c5,'\x29\x57\x45\x25')]='\x42\x65\x61\x72\x65\x72\x20'+_0x113e4f;return _0x3b77bb;}else _0x10aa09=new URL(_0x499af8);}catch{if(_0x5e33e9(0x2e0,'\x57\x4e\x69\x45')!==_0x5e33e9(0x28e,'\x5e\x61\x4e\x46')){if(_0x28d246['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+'\x4e\x54\x48\x52\x4f\x50\x49\x43'+_0x5e33e9(0x372,'\x35\x4d\x5b\x73')])_0x981b32[_0x5e33e9(0x2f0,'\x31\x6a\x49\x72')+'\x79']=_0x468690['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+_0x5e33e9(0x17e,'\x61\x35\x74\x42')+_0x5e33e9(0x3bb,'\x4d\x72\x29\x58')];else{if(_0x5a8742[_0x5e33e9(0x16e,'\x40\x76\x7a\x24')+_0x5e33e9(0x327,'\x66\x75\x4b\x50')+'\x59'])_0xb2a620[_0x5e33e9(0x37b,'\x4d\x79\x39\x28')+'\x79']=_0x494276[_0x5e33e9(0x1bb,'\x29\x23\x52\x6d')+_0x5e33e9(0x1ce,'\x67\x79\x6a\x52')+'\x59'];else{if(_0x3ae100[_0x5e33e9(0x130,'\x63\x31\x46\x31')+_0x5e33e9(0x27b,'\x4b\x35\x55\x4b')+_0x5e33e9(0x333,'\x48\x6b\x38\x5a')+_0x5e33e9(0x1ad,'\x67\x77\x58\x69')])_0x39b638['\x61\x75\x74\x68\x6f\x72\x69\x7a'+_0x5e33e9(0x33a,'\x55\x67\x49\x56')]=_0x5e33e9(0x3dd,'\x73\x21\x6a\x67')+_0x52613f[_0x5e33e9(0x33d,'\x40\x48\x61\x74')+_0x5e33e9(0x24d,'\x79\x6b\x6e\x56')+_0x5e33e9(0x2ba,'\x4d\x79\x39\x28')+_0x5e33e9(0x178,'\x33\x29\x6e\x34')];else _0x3ae231['\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0x5e33e9(0x126,'\x25\x5d\x6b\x49')+_0x5e33e9(0x112,'\x5e\x61\x4e\x46')+'\x45\x44']!=='\x31'&&_0x1af85f[_0x5e33e9(0x274,'\x6d\x78\x47\x71')+_0x5e33e9(0x182,'\x26\x55\x24\x66')+'\x4f\x4b\x45\x4e']&&(_0x2cd842[_0x5e33e9(0x3a1,'\x63\x31\x46\x31')+_0x5e33e9(0x31c,'\x4c\x55\x56\x6b')]='\x42\x65\x61\x72\x65\x72\x20'+_0x58705b[_0x5e33e9(0x259,'\x6c\x65\x77\x37')+_0x5e33e9(0x220,'\x74\x6b\x42\x53')+_0x5e33e9(0x273,'\x33\x57\x79\x50')]);}}}else throw new Error(_0x5e33e9(0x2a9,'\x6f\x29\x4f\x73')+_0x5e33e9(0x2e1,'\x54\x56\x59\x54')+'\x61\x73\x65\x20\x55\x52\x4c\x20'+_0x5e33e9(0x12b,'\x40\x48\x61\x74')+_0x5e33e9(0x3c2,'\x31\x6a\x49\x72')+'\x52\x4c');}if(_0x10aa09[_0x5e33e9(0x1cc,'\x35\x4d\x5b\x73')]!==_0x5e33e9(0x2c2,'\x35\x4d\x5b\x73')||!isAllowedOpenAIHostname(_0x10aa09[_0x5e33e9(0x294,'\x79\x6b\x6e\x56')])||_0x10aa09[_0x5e33e9(0x210,'\x67\x77\x58\x69')]!==_0x5e33e9(0x369,'\x4d\x72\x29\x58')||_0x10aa09[_0x5e33e9(0x1df,'\x4d\x72\x29\x58')]||_0x10aa09[_0x5e33e9(0x252,'\x74\x6b\x42\x53')]||_0x10aa09[_0x5e33e9(0x293,'\x6b\x45\x69\x54')]||_0x10aa09[_0x5e33e9(0x2fc,'\x40\x48\x61\x74')]){if(_0x5e33e9(0x255,'\x67\x44\x5a\x51')===_0x5e33e9(0x1a3,'\x4d\x72\x29\x58'))throw new Error(_0x5e33e9(0x215,'\x26\x55\x24\x66')+_0x5e33e9(0x21f,'\x66\x75\x4b\x50')+_0x5e33e9(0x15b,'\x61\x6d\x63\x46')+'\x6d\x75\x73\x74\x20\x62\x65\x20'+'\x61\x6e\x20\x4f\x70\x65\x6e\x41'+_0x5e33e9(0x380,'\x40\x76\x7a\x24')+_0x5e33e9(0x3de,'\x61\x62\x6c\x66')+_0x5e33e9(0x1a7,'\x55\x67\x49\x56')+_0x5e33e9(0x359,'\x52\x38\x37\x44')+'\x64\x70\x6f\x69\x6e\x74');else return _0x5b9ac8(0x233*-0x1+-0x19*0x5e+0xcf1,{'\x74\x79\x70\x65':'\x65\x72\x72\x6f\x72','\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x5e33e9(0x276,'\x5e\x61\x4e\x46')+'\x72\x65\x71\x75\x65\x73\x74\x5f'+_0x5e33e9(0x1e0,'\x44\x4b\x43\x55'),'\x6d\x65\x73\x73\x61\x67\x65':_0x5e33e9(0x345,'\x6d\x78\x47\x71')+'\x65\x6c\x20\x72\x65\x71\x75\x69'+'\x72\x65\x64\x20\x66\x6f\x72\x20'+_0x5e33e9(0x213,'\x38\x6d\x30\x52')+_0x5e33e9(0x1bd,'\x48\x6b\x38\x5a')}});}return _0x499af8;}export function resolveOpenAIUpstreamUrl(_0x5e5ca1=process.env){const _0x1becd4=_0x33e187;return warnDeprecatedOpenAICompatible(_0x5e5ca1),normalizeOpenAIBaseUrl(_0x5e5ca1['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x1becd4(0x14b,'\x40\x76\x7a\x24')+_0x1becd4(0x33e,'\x7a\x5d\x5e\x64')+'\x55\x52\x4c']||_0x5e5ca1[_0x1becd4(0x2f7,'\x40\x51\x62\x24')+_0x1becd4(0x22f,'\x57\x4e\x69\x45')+_0x1becd4(0x1e4,'\x6b\x45\x69\x54')]||_0x5e5ca1[_0x1becd4(0x38b,'\x31\x76\x48\x56')+_0x1becd4(0x1ea,'\x37\x59\x29\x62')]||DEFAULT_OPENAI_UPSTREAM_URL);}function pathForOpenAIBase(_0x2d6f79){const _0x8eef42=_0x33e187;if(_0x2d6f79===_0x8eef42(0x1c3,'\x31\x76\x48\x56'))return'';if(_0x2d6f79[_0x8eef42(0x349,'\x67\x79\x6a\x52')+'\x74\x68'](_0x8eef42(0x3ad,'\x56\x56\x76\x26')))return _0x2d6f79[_0x8eef42(0x338,'\x38\x6d\x30\x52')](_0x8eef42(0x214,'\x4c\x55\x56\x6b')['\x6c\x65\x6e\x67\x74\x68']);return _0x2d6f79[_0x8eef42(0x20f,'\x35\x4d\x5b\x73')+'\x74\x68']('\x2f')?_0x2d6f79:'\x2f'+_0x2d6f79;}function assertHttpUrl(_0x136271,_0x53cf64){const _0x339373=_0x33e187;let _0x3de66d;try{_0x339373(0x37c,'\x33\x57\x79\x50')!==_0x339373(0x1dd,'\x21\x37\x50\x21')?_0x3de66d=new URL(_0x136271):_0x531e1a[_0x339373(0x2fe,'\x4d\x79\x39\x28')+'\x61\x74\x69\x6f\x6e']='\x42\x65\x61\x72\x65\x72\x20'+_0x1e45af[_0x339373(0x3a3,'\x6a\x70\x5e\x35')+_0x339373(0x2ce,'\x73\x21\x6a\x67')+_0x339373(0x36c,'\x48\x6b\x38\x5a')];}catch{throw new Error(_0x339373(0x1b0,'\x61\x62\x6c\x66')+_0x53cf64+(_0x339373(0x244,'\x4b\x35\x55\x4b')+_0x339373(0x179,'\x37\x59\x29\x62')+_0x339373(0x2d0,'\x66\x75\x4b\x50')));}if(_0x3de66d[_0x339373(0x337,'\x29\x57\x45\x25')]!==_0x339373(0x14f,'\x57\x4e\x69\x45')&&_0x3de66d[_0x339373(0x15c,'\x6d\x78\x47\x71')]!==_0x339373(0x248,'\x57\x4e\x69\x45'))throw new Error(_0x339373(0x21e,'\x69\x56\x71\x63')+_0x53cf64+(_0x339373(0x232,'\x37\x59\x29\x62')+_0x339373(0x177,'\x44\x4b\x43\x55')+'\x29'));if(_0x3de66d[_0x339373(0x3d5,'\x61\x6d\x63\x46')]||_0x3de66d[_0x339373(0x312,'\x38\x6d\x30\x52')])throw new Error(_0x339373(0x36a,'\x74\x6b\x42\x53')+_0x53cf64+('\x20\x6d\x75\x73\x74\x20\x6e\x6f'+'\x74\x20\x65\x6d\x62\x65\x64\x20'+_0x339373(0x1fd,'\x40\x76\x7a\x24')+_0x339373(0x11c,'\x33\x29\x6e\x34')));return _0x136271[_0x339373(0x1b7,'\x29\x23\x52\x6d')](/\/+$/,'');}export function resolveUpstreamUrl(_0x17a371=process.env,_0x209317=_0x33e187(0x239,'\x6e\x4a\x41\x51')+'\x63'){const _0x59ad65=_0x33e187;if(isOpenAiMode(_0x209317))return resolveOpenAIUpstreamUrl(_0x17a371);const _0x4c09ee=_0x17a371[_0x59ad65(0x317,'\x6f\x29\x4f\x73')+'\x4c\x4c\x4d\x5f\x55\x50\x53\x54'+_0x59ad65(0x3c6,'\x33\x29\x6e\x34')]||_0x17a371[_0x59ad65(0x33f,'\x61\x6d\x63\x46')+_0x59ad65(0x1ec,'\x6b\x45\x69\x54')+'\x52\x4c']||DEFAULT_UPSTREAM_URL;return assertHttpUrl(_0x4c09ee,'\x41\x6e\x74\x68\x72\x6f\x70\x69'+_0x59ad65(0x3b4,'\x31\x6a\x49\x72')+'\x61\x6d\x20\x55\x52\x4c');}export function resolveGeminiUpstreamUrl(_0x3e9c0b=process.env){const _0x4a8513=_0x33e187,_0x269647=_0x3e9c0b[_0x4a8513(0x1cf,'\x35\x4d\x5b\x73')+_0x4a8513(0x2bf,'\x35\x4d\x5b\x73')+'\x53\x45\x5f\x55\x52\x4c']||DEFAULT_GEMINI_UPSTREAM_URL;return assertHttpUrl(_0x269647,_0x4a8513(0x142,'\x6c\x65\x77\x37')+_0x4a8513(0x373,'\x73\x21\x6a\x67'));}export function resolveOllamaUpstreamUrl(_0x4c94ec=process.env){const _0x38a01f=_0x33e187,_0x1fbc28=_0x4c94ec[_0x38a01f(0x1f8,'\x4d\x79\x39\x28')+_0x38a01f(0x3b0,'\x58\x39\x4d\x78')+'\x53\x45\x5f\x55\x52\x4c']||DEFAULT_OLLAMA_UPSTREAM_URL;return assertHttpUrl(_0x1fbc28,_0x38a01f(0x264,'\x29\x57\x45\x25')+_0x38a01f(0x245,'\x35\x4d\x5b\x73'));}export function buildForwardHeaders(_0x1b8e67,_0x3935c0,_0xac3b34='\x61\x6e\x74\x68\x72\x6f\x70\x69'+'\x63'){const _0x38d41f=_0x33e187,_0x11a112={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x38d41f(0x159,'\x56\x56\x76\x26')+_0x38d41f(0x395,'\x55\x67\x49\x56')};if(isOpenAiMode(_0xac3b34)){if(_0x38d41f(0x287,'\x21\x37\x50\x21')==='\x75\x79\x68\x49\x70'){for(const [_0x5410d7,_0x458d3a]of Object['\x65\x6e\x74\x72\x69\x65\x73'](_0x1b8e67)){if(_0x458d3a===undefined||_0x458d3a===null)continue;const _0x45bace=_0x5410d7[_0x38d41f(0x175,'\x6f\x29\x4f\x73')+_0x38d41f(0x1bf,'\x61\x6d\x63\x46')]();if(_0x45bace===_0x38d41f(0x122,'\x31\x76\x48\x56')+_0x38d41f(0x18c,'\x57\x4e\x69\x45')+_0x38d41f(0x281,'\x74\x6b\x42\x53')||_0x45bace===_0x38d41f(0x23c,'\x67\x6a\x41\x69')+_0x38d41f(0x129,'\x66\x75\x4b\x50')||_0x45bace===_0x38d41f(0x394,'\x69\x28\x28\x7a')+_0x38d41f(0x24c,'\x54\x56\x59\x54')||_0x45bace['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x38d41f(0x35b,'\x40\x48\x61\x74')+_0x38d41f(0x18f,'\x66\x75\x4b\x50'))||_0x45bace==='\x69\x64\x65\x6d\x70\x6f\x74\x65'+_0x38d41f(0x20a,'\x61\x35\x74\x42')){if('\x69\x41\x50\x78\x55'!==_0x38d41f(0x1ff,'\x67\x6a\x41\x69'))_0x11a112[_0x45bace]=String(_0x458d3a);else{if(!_0xc926c2||typeof _0xd80e1!==_0x38d41f(0x1c0,'\x67\x6a\x41\x69')||_0x92e668[_0x38d41f(0x2d2,'\x6d\x78\x47\x71')](_0x50143d))return{};return _0x32337c;}}}const _0x484fd1=_0x3935c0['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x38d41f(0x2c9,'\x69\x56\x71\x63')+_0x38d41f(0x267,'\x40\x51\x62\x24')+'\x45\x59']||_0x3935c0['\x45\x56\x4f\x4d\x41\x50\x5f\x4f'+_0x38d41f(0x2a3,'\x4c\x55\x56\x6b')+_0x38d41f(0x193,'\x55\x67\x49\x56')]||_0x3935c0['\x4f\x50\x45\x4e\x41\x49\x5f\x41'+'\x50\x49\x5f\x4b\x45\x59'];if(_0x484fd1)_0x11a112['\x61\x75\x74\x68\x6f\x72\x69\x7a'+_0x38d41f(0x1c1,'\x7a\x5d\x5e\x64')]=_0x38d41f(0x2b7,'\x63\x31\x46\x31')+_0x484fd1;}else{let _0xfda2c1;try{_0xfda2c1=new _0x1019f0(_0x1149ba);}catch{throw new _0x22eeb0(_0x38d41f(0x2a9,'\x6f\x29\x4f\x73')+_0x8f1fd2+('\x20\x69\x73\x20\x6e\x6f\x74\x20'+_0x38d41f(0x16a,'\x7a\x5d\x5e\x64')+_0x38d41f(0x12a,'\x61\x35\x74\x42')));}if(_0xfda2c1['\x70\x72\x6f\x74\x6f\x63\x6f\x6c']!==_0x38d41f(0x121,'\x4d\x79\x39\x28')&&_0xfda2c1[_0x38d41f(0x3bd,'\x26\x55\x24\x66')]!==_0x38d41f(0x2c7,'\x40\x48\x61\x74'))throw new _0x5ad767(_0x38d41f(0x342,'\x48\x6b\x38\x5a')+_0x485ee8+(_0x38d41f(0x238,'\x61\x6d\x63\x46')+'\x65\x20\x68\x74\x74\x70\x28\x73'+'\x29'));if(_0xfda2c1[_0x38d41f(0x197,'\x44\x4b\x43\x55')]||_0xfda2c1[_0x38d41f(0x164,'\x69\x28\x28\x7a')])throw new _0x4bb7a1(_0x38d41f(0x250,'\x25\x5d\x6b\x49')+_0x4a309b+(_0x38d41f(0x2b9,'\x69\x28\x28\x7a')+_0x38d41f(0x1bc,'\x57\x4e\x69\x45')+_0x38d41f(0x219,'\x56\x56\x76\x26')+_0x38d41f(0x3c0,'\x63\x31\x46\x31')));return _0x329842[_0x38d41f(0x25c,'\x38\x6d\x30\x52')](/\/+$/,'');}}else{if(_0x38d41f(0x139,'\x79\x6b\x6e\x56')===_0x38d41f(0x346,'\x61\x35\x74\x42')){for(const [_0x540ff2,_0x8424c6]of Object[_0x38d41f(0x334,'\x6f\x29\x4f\x73')](_0x1b8e67)){if(_0x8424c6===undefined||_0x8424c6===null)continue;const _0x2b55c4=_0x540ff2[_0x38d41f(0x288,'\x6a\x70\x5e\x35')+'\x61\x73\x65']();if(_0x2b55c4===_0x38d41f(0x1e6,'\x21\x37\x50\x21')+'\x79'||_0x2b55c4==='\x61\x6e\x74\x68\x72\x6f\x70\x69'+_0x38d41f(0x3aa,'\x44\x4b\x43\x55')+'\x6e'||_0x2b55c4['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x38d41f(0x34f,'\x7a\x5d\x5e\x64')+'\x63\x2d'))_0x11a112[_0x2b55c4]=String(_0x8424c6);}if(!_0x11a112['\x78\x2d\x61\x70\x69\x2d\x6b\x65'+'\x79']){if(_0x3935c0[_0x38d41f(0x2cf,'\x67\x6a\x41\x69')+_0x38d41f(0x20b,'\x29\x57\x45\x25')+'\x5f\x41\x50\x49\x5f\x4b\x45\x59'])_0x11a112[_0x38d41f(0x2d1,'\x56\x56\x76\x26')+'\x79']=_0x3935c0[_0x38d41f(0x156,'\x52\x38\x37\x44')+_0x38d41f(0x258,'\x33\x29\x6e\x34')+_0x38d41f(0x357,'\x29\x57\x45\x25')];else{if(_0x3935c0[_0x38d41f(0x361,'\x6b\x45\x69\x54')+_0x38d41f(0x228,'\x29\x23\x52\x6d')+'\x59'])_0x11a112[_0x38d41f(0x329,'\x69\x28\x28\x7a')+'\x79']=_0x3935c0[_0x38d41f(0x165,'\x58\x39\x4d\x78')+_0x38d41f(0x19a,'\x79\x6b\x6e\x56')+'\x59'];else{if(_0x3935c0[_0x38d41f(0x366,'\x6d\x78\x47\x71')+_0x38d41f(0x295,'\x31\x76\x48\x56')+_0x38d41f(0x282,'\x37\x59\x29\x62')+_0x38d41f(0x38d,'\x4d\x79\x39\x28')])_0x11a112[_0x38d41f(0x2aa,'\x67\x6a\x41\x69')+'\x61\x74\x69\x6f\x6e']=_0x38d41f(0x3b9,'\x4b\x35\x55\x4b')+_0x3935c0[_0x38d41f(0x332,'\x44\x4b\x43\x55')+_0x38d41f(0x1e9,'\x6e\x4a\x41\x51')+_0x38d41f(0x13d,'\x67\x79\x6a\x52')+_0x38d41f(0x3d1,'\x29\x57\x45\x25')];else _0x3935c0['\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0x38d41f(0x1db,'\x37\x59\x29\x62')+_0x38d41f(0x30c,'\x6f\x29\x4f\x73')+'\x45\x44']!=='\x31'&&_0x3935c0[_0x38d41f(0x19d,'\x69\x56\x71\x63')+_0x38d41f(0x3e4,'\x4d\x72\x29\x58')+_0x38d41f(0x379,'\x57\x4e\x69\x45')]&&(_0x11a112[_0x38d41f(0x231,'\x66\x75\x4b\x50')+_0x38d41f(0x3c3,'\x6f\x29\x4f\x73')]=_0x38d41f(0x2b7,'\x63\x31\x46\x31')+_0x3935c0[_0x38d41f(0x2c4,'\x67\x44\x5a\x51')+_0x38d41f(0x2da,'\x56\x56\x76\x26')+_0x38d41f(0x13f,'\x6d\x78\x47\x71')]);}}}}else throw new _0x5da0bd('\x5b\x70\x72\x6f\x78\x79\x5d\x20'+_0x4823f9+(_0x38d41f(0x123,'\x4d\x79\x39\x28')+_0x38d41f(0x1f9,'\x6f\x29\x4f\x73')+_0x38d41f(0x2d0,'\x66\x75\x4b\x50')));}return _0x11a112;}function safeHeaderValue(_0x5c8970){const _0x4c4eb6=_0x33e187;if(_0x5c8970===undefined||_0x5c8970===null)return null;const _0x52ce1d=String(_0x5c8970);if(/[\r\n]/[_0x4c4eb6(0x2bb,'\x56\x56\x76\x26')](_0x52ce1d))return null;return _0x52ce1d;}function _0x2522(){const _0x4a4761=['\x57\x34\x34\x61\x57\x51\x4a\x64\x47\x43\x6f\x68\x57\x34\x6d\x63\x75\x47','\x63\x38\x6b\x36\x6d\x58\x35\x78\x68\x53\x6f\x53','\x57\x36\x2f\x64\x48\x6d\x6b\x70\x57\x36\x64\x63\x47\x5a\x6c\x64\x54\x61','\x57\x52\x4a\x63\x4a\x32\x34\x37\x57\x52\x7a\x30\x57\x50\x2f\x64\x56\x71','\x78\x43\x6b\x4e\x57\x35\x64\x63\x49\x38\x6f\x38\x57\x50\x37\x63\x49\x4b\x65','\x57\x34\x46\x63\x50\x5a\x35\x75\x57\x35\x7a\x53\x6e\x57','\x57\x4f\x2f\x64\x49\x57\x33\x64\x4d\x4b\x66\x30\x67\x6d\x6b\x4f','\x77\x72\x50\x31\x57\x36\x53\x51\x57\x37\x53','\x77\x38\x6b\x73\x63\x43\x6b\x2f\x6f\x53\x6f\x66','\x57\x34\x68\x64\x55\x4c\x37\x64\x55\x66\x4a\x64\x4f\x71','\x41\x59\x72\x46\x57\x50\x79','\x46\x53\x6b\x59\x57\x34\x5a\x64\x4d\x53\x6f\x32\x64\x48\x5a\x64\x4a\x61','\x75\x57\x58\x2b','\x69\x31\x47\x2b\x57\x37\x4a\x64\x51\x74\x4c\x67\x57\x34\x57','\x57\x50\x78\x64\x4d\x72\x74\x64\x49\x31\x62\x4c','\x57\x37\x6a\x68\x67\x43\x6b\x63\x63\x43\x6f\x48\x57\x52\x6e\x6b','\x57\x51\x42\x64\x4a\x43\x6b\x31\x75\x59\x72\x30\x57\x37\x4e\x64\x51\x47','\x57\x34\x4b\x74\x57\x52\x56\x64\x48\x61','\x66\x53\x6b\x2b\x6d\x58\x35\x62\x66\x53\x6f\x37\x63\x57','\x57\x50\x4f\x62\x71\x53\x6b\x4f\x57\x36\x64\x63\x47\x30\x52\x64\x50\x47','\x57\x34\x2f\x63\x55\x5a\x76\x42\x57\x36\x4c\x6e\x66\x6d\x6f\x78','\x57\x37\x65\x6f\x57\x50\x42\x64\x53\x38\x6f\x77','\x68\x66\x35\x59\x61\x53\x6f\x6b\x43\x32\x64\x64\x55\x47','\x57\x36\x69\x58\x57\x34\x4a\x63\x4d\x43\x6b\x59','\x57\x34\x74\x64\x48\x6d\x6f\x2f\x57\x4f\x68\x64\x51\x38\x6f\x76\x42\x43\x6b\x5a','\x57\x51\x62\x49\x45\x43\x6f\x4f\x65\x65\x54\x6b\x57\x51\x69','\x6d\x6d\x6f\x68\x42\x38\x6f\x4f\x57\x36\x39\x63\x57\x37\x6e\x49','\x57\x36\x31\x67\x41\x30\x74\x63\x4b\x57','\x79\x53\x6b\x57\x57\x37\x4e\x64\x4a\x53\x6f\x30\x63\x61\x4b','\x79\x73\x62\x66\x57\x4f\x46\x64\x4c\x73\x56\x63\x50\x31\x79','\x7a\x59\x6a\x66','\x57\x36\x56\x64\x55\x43\x6f\x46\x57\x52\x37\x64\x51\x71','\x57\x36\x6a\x68\x67\x57','\x57\x36\x43\x54\x57\x52\x44\x64\x77\x64\x33\x63\x4d\x62\x53','\x72\x72\x31\x58\x57\x36\x4f','\x57\x37\x76\x67\x68\x43\x6b\x63\x62\x38\x6b\x51\x57\x50\x6e\x6a','\x42\x38\x6b\x61\x57\x36\x54\x74\x68\x53\x6f\x52\x72\x32\x53','\x76\x65\x69\x72\x41\x6d\x6b\x57\x57\x34\x6a\x4e','\x65\x38\x6b\x76\x6c\x43\x6f\x6f\x57\x50\x42\x63\x48\x31\x70\x64\x4b\x71','\x6b\x6d\x6b\x67\x6e\x6d\x6b\x52\x6b\x66\x78\x63\x4a\x43\x6f\x56','\x57\x36\x78\x63\x54\x75\x46\x64\x53\x38\x6b\x69\x6c\x61','\x57\x4f\x6a\x6c\x41\x59\x4a\x63\x55\x38\x6f\x48\x57\x51\x69\x64','\x57\x50\x62\x65\x77\x38\x6b\x4f\x57\x36\x70\x63\x4a\x57\x37\x63\x50\x57','\x78\x33\x57\x5a\x75\x53\x6f\x4e\x67\x43\x6b\x51\x57\x36\x30','\x79\x4b\x71\x37\x57\x51\x70\x63\x47\x38\x6f\x6f\x69\x4c\x57','\x57\x37\x74\x63\x4f\x65\x42\x64\x56\x38\x6b\x5a\x6f\x43\x6b\x67','\x6c\x78\x52\x63\x4e\x58\x4a\x63\x49\x30\x30\x4f\x73\x31\x66\x69\x57\x50\x38','\x57\x34\x69\x61\x57\x51\x33\x64\x48\x43\x6f\x37\x57\x35\x30\x70','\x6e\x72\x74\x63\x4e\x49\x74\x63\x50\x65\x65','\x71\x43\x6b\x66\x57\x51\x4c\x72\x68\x6d\x6f\x4e\x73\x68\x38','\x62\x43\x6b\x70\x6f\x38\x6f\x75\x57\x51\x2f\x63\x49\x71','\x57\x34\x33\x64\x51\x53\x6b\x35\x57\x35\x30','\x57\x50\x4a\x63\x53\x75\x4f\x46\x57\x4f\x31\x79\x57\x51\x37\x64\x47\x61','\x46\x4b\x69\x72\x46\x53\x6b\x57\x57\x34\x69\x30\x46\x47','\x57\x36\x69\x61\x57\x51\x35\x70\x77\x74\x78\x63\x4b\x49\x61','\x57\x34\x50\x39\x77\x77\x37\x63\x48\x72\x2f\x63\x55\x32\x53','\x57\x4f\x4e\x64\x4a\x53\x6f\x4e\x75\x5a\x6a\x48\x57\x35\x33\x64\x51\x47','\x45\x31\x38\x5a\x44\x6d\x6f\x43\x6f\x53\x6b\x46','\x57\x37\x58\x77\x46\x4c\x78\x63\x50\x59\x56\x64\x53\x49\x69','\x6d\x38\x6b\x41\x57\x36\x56\x64\x55\x43\x6f\x44\x57\x51\x68\x63\x54\x59\x69','\x42\x43\x6b\x31\x57\x34\x6a\x31\x6f\x57','\x68\x53\x6b\x38\x57\x34\x42\x64\x49\x53\x6f\x4d\x57\x50\x74\x63\x54\x57\x38','\x7a\x68\x57\x79\x57\x52\x74\x63\x51\x57','\x62\x67\x6d\x79\x57\x4f\x78\x64\x4a\x62\x50\x47\x57\x36\x65','\x57\x36\x50\x72\x46\x58\x65','\x64\x38\x6b\x57\x6c\x47','\x6a\x4e\x35\x6b\x66\x43\x6f\x54\x71\x76\x4e\x64\x4c\x61','\x57\x35\x33\x64\x52\x66\x78\x64\x51\x75\x37\x64\x50\x47','\x74\x53\x6f\x37\x57\x50\x68\x63\x4d\x6d\x6b\x4e\x57\x34\x68\x64\x48\x59\x46\x64\x4f\x47\x69\x52\x57\x52\x64\x64\x4e\x61','\x57\x50\x5a\x64\x4a\x43\x6b\x55\x65\x4a\x6e\x39\x57\x34\x68\x63\x50\x61','\x57\x4f\x72\x63\x73\x43\x6f\x71\x6c\x77\x31\x30\x57\x50\x38','\x79\x31\x34\x79\x75\x38\x6b\x4c','\x57\x37\x54\x6e\x71\x66\x70\x63\x56\x49\x4e\x64\x51\x71\x43','\x57\x37\x33\x63\x4e\x43\x6b\x4a\x57\x4f\x33\x63\x53\x47','\x43\x71\x6c\x63\x55\x5a\x35\x6b\x57\x4f\x4a\x63\x50\x38\x6f\x31','\x71\x76\x70\x63\x55\x6d\x6f\x30\x71\x38\x6f\x74\x64\x48\x47','\x42\x38\x6f\x48\x79\x47','\x57\x50\x6e\x6a\x77\x43\x6f\x76\x6d\x67\x4f','\x57\x36\x43\x48\x57\x52\x35\x6e\x76\x47','\x57\x34\x4b\x33\x57\x37\x78\x63\x4e\x6d\x6b\x48\x57\x51\x43\x39\x57\x36\x71','\x7a\x76\x35\x47\x57\x52\x68\x63\x4d\x38\x6f\x76\x69\x32\x69','\x57\x4f\x72\x6e\x71\x6d\x6f\x4c\x6d\x68\x7a\x31\x57\x50\x4b','\x57\x50\x4f\x62\x71\x43\x6b\x4b\x57\x37\x5a\x63\x49\x58\x37\x64\x52\x47','\x57\x51\x43\x66\x76\x68\x64\x64\x50\x43\x6b\x6e','\x62\x77\x6d\x66\x57\x35\x37\x64\x49\x61\x48\x49\x57\x36\x4f','\x57\x34\x4c\x39\x6a\x43\x6b\x35\x6b\x38\x6f\x75\x57\x52\x4c\x4c','\x66\x76\x50\x41\x6f\x43\x6f\x67\x45\x33\x33\x64\x52\x57','\x46\x38\x6b\x4c\x57\x36\x5a\x64\x4a\x6d\x6f\x30\x61\x4b\x68\x64\x4d\x47','\x70\x38\x6b\x2b\x64\x6d\x6f\x65\x57\x4f\x2f\x63\x53\x48\x4b','\x57\x36\x48\x63\x63\x6d\x6b\x66\x66\x57','\x75\x38\x6f\x2b\x77\x53\x6f\x45\x73\x59\x47','\x57\x34\x34\x61\x57\x52\x70\x64\x48\x71','\x57\x51\x50\x67\x41\x4e\x78\x63\x50\x43\x6f\x78\x57\x52\x38\x46','\x57\x35\x4a\x63\x49\x53\x6b\x4f\x57\x51\x30\x66','\x41\x4a\x76\x66\x57\x50\x6c\x64\x4f\x4e\x2f\x63\x51\x31\x43','\x44\x65\x6d\x61\x6a\x53\x6f\x43\x6e\x6d\x6b\x74\x57\x35\x57','\x74\x47\x31\x38\x57\x52\x33\x64\x56\x4c\x56\x63\x4a\x32\x30','\x57\x37\x76\x48\x6b\x53\x6b\x36\x57\x35\x6d\x77\x57\x36\x6a\x41','\x6d\x5a\x52\x63\x4c\x38\x6b\x4b\x57\x34\x74\x64\x55\x53\x6f\x57','\x57\x4f\x35\x4e\x45\x4d\x4e\x64\x4a\x48\x42\x64\x52\x43\x6b\x42','\x57\x35\x6c\x63\x53\x73\x47\x61','\x67\x76\x74\x63\x52\x75\x70\x63\x4d\x32\x70\x63\x55\x61','\x57\x37\x4e\x63\x52\x33\x64\x64\x4f\x53\x6b\x66\x6c\x53\x6b\x41\x57\x51\x38','\x41\x53\x6f\x31\x57\x36\x35\x64','\x57\x4f\x37\x64\x49\x43\x6b\x31\x77\x74\x31\x47','\x57\x51\x68\x64\x49\x57\x5a\x64\x47\x75\x54\x4f\x6a\x6d\x6f\x4c','\x57\x35\x4f\x4e\x57\x37\x64\x63\x47\x43\x6b\x4e\x57\x51\x43\x58\x57\x37\x4f','\x6d\x6d\x6b\x48\x57\x36\x64\x64\x4a\x38\x6f\x57\x64\x30\x5a\x64\x4c\x57','\x61\x6d\x6b\x75\x69\x53\x6f\x79\x57\x4f\x5a\x63\x47\x75\x70\x64\x4e\x61','\x73\x6d\x6f\x6c\x57\x35\x43\x6f\x57\x37\x52\x63\x4c\x68\x43','\x42\x75\x38\x35\x57\x51\x68\x63\x48\x38\x6f\x55\x6b\x33\x6d','\x57\x35\x6e\x61\x61\x6d\x6b\x6f\x63\x38\x6f\x58\x57\x4f\x72\x4a','\x44\x43\x6f\x50\x46\x53\x6b\x43','\x57\x4f\x54\x39\x57\x36\x48\x76\x57\x50\x6c\x64\x4c\x61','\x68\x38\x6b\x75\x6a\x57','\x57\x35\x7a\x66\x63\x53\x6b\x41','\x57\x35\x48\x64\x65\x43\x6b\x68\x57\x36\x66\x38\x57\x50\x69\x36','\x62\x53\x6f\x46\x74\x38\x6f\x36\x45\x53\x6f\x6b\x57\x36\x6c\x64\x47\x72\x62\x52\x6b\x43\x6b\x43','\x57\x52\x42\x63\x48\x67\x70\x64\x4c\x43\x6b\x51\x68\x43\x6b\x56\x57\x4f\x4b','\x57\x37\x52\x63\x47\x53\x6b\x73\x57\x51\x4a\x63\x48\x59\x5a\x64\x4e\x61','\x57\x36\x2f\x64\x4a\x53\x6b\x79\x57\x37\x42\x63\x4a\x47\x68\x64\x55\x63\x6d','\x57\x52\x42\x63\x52\x65\x64\x64\x51\x43\x6b\x73\x41\x38\x6b\x65\x57\x52\x71','\x73\x57\x4e\x64\x56\x4e\x74\x64\x53\x4e\x57\x4b\x75\x57','\x57\x4f\x58\x53\x57\x36\x4c\x69','\x76\x33\x61\x4a\x72\x43\x6b\x68\x57\x37\x75\x61\x79\x57','\x61\x5a\x30\x47','\x66\x6d\x6f\x79\x41\x43\x6f\x4b\x57\x36\x61','\x57\x36\x70\x63\x4d\x72\x69\x36\x57\x34\x50\x48\x6f\x43\x6f\x34','\x57\x35\x56\x64\x51\x65\x46\x64\x51\x75\x4e\x64\x53\x6d\x6f\x49\x71\x57','\x6c\x57\x71\x62\x57\x36\x39\x2b\x57\x37\x33\x64\x55\x6d\x6f\x61','\x57\x34\x37\x63\x4f\x63\x38\x65\x57\x37\x61\x65','\x57\x50\x2f\x64\x48\x6d\x6b\x5a\x77\x73\x38','\x57\x36\x65\x56\x57\x4f\x52\x64\x51\x6d\x6f\x38\x57\x36\x61\x5a\x45\x71','\x71\x43\x6b\x79\x57\x36\x35\x44\x68\x71','\x75\x31\x30\x47\x74\x43\x6b\x66','\x43\x62\x4a\x63\x52\x63\x6a\x6d\x57\x35\x79','\x75\x57\x48\x52\x57\x36\x53\x54\x57\x51\x38\x79\x57\x50\x38','\x68\x53\x6b\x78\x6d\x53\x6f\x4f\x57\x51\x68\x63\x48\x74\x4c\x39','\x57\x34\x56\x63\x4b\x38\x6b\x62\x57\x52\x2f\x63\x47\x5a\x6d','\x63\x33\x69\x38\x57\x34\x7a\x45\x57\x35\x33\x64\x4d\x6d\x6f\x53','\x57\x36\x56\x64\x56\x53\x6f\x64\x57\x52\x56\x64\x4c\x53\x6f\x51\x76\x6d\x6b\x7a','\x79\x63\x46\x64\x55\x66\x74\x64\x49\x65\x4f\x45\x45\x57','\x46\x6d\x6f\x44\x44\x38\x6b\x51\x57\x52\x68\x63\x52\x43\x6f\x50\x57\x34\x61','\x57\x37\x34\x65\x57\x34\x56\x63\x50\x6d\x6b\x6a\x57\x4f\x75\x68\x57\x34\x65','\x72\x33\x34\x2b','\x57\x4f\x61\x4b\x57\x37\x54\x6d\x57\x50\x78\x63\x4e\x4c\x33\x64\x47\x61','\x57\x52\x64\x63\x4a\x66\x38\x4c\x57\x51\x31\x32\x57\x4f\x43','\x6d\x4a\x6c\x63\x4b\x38\x6b\x56\x57\x35\x74\x64\x56\x6d\x6f\x6f\x57\x52\x4f','\x6d\x43\x6f\x6d\x76\x43\x6f\x47\x57\x35\x69','\x65\x48\x76\x36\x57\x37\x4f\x4f\x57\x36\x53\x77\x57\x4f\x75','\x44\x30\x69\x74\x7a\x6d\x6f\x63\x70\x53\x6b\x63','\x57\x4f\x34\x71\x78\x43\x6b\x4f\x57\x36\x64\x63\x4a\x71','\x73\x6d\x6f\x63\x57\x34\x47\x6a\x57\x37\x79','\x75\x53\x6b\x73\x66\x6d\x6b\x47\x6a\x57','\x57\x52\x54\x77\x57\x35\x54\x50\x57\x51\x4a\x64\x55\x32\x4e\x64\x53\x71','\x57\x52\x31\x46\x57\x35\x76\x58\x57\x52\x33\x64\x4f\x32\x4e\x64\x50\x57','\x71\x38\x6f\x6c\x57\x34\x79\x45\x57\x37\x42\x63\x49\x77\x52\x64\x4e\x71','\x69\x72\x4c\x61\x6e\x43\x6b\x42\x41\x38\x6f\x46\x57\x36\x37\x64\x47\x38\x6f\x32\x57\x52\x76\x6a\x57\x52\x34','\x43\x73\x4e\x64\x4a\x30\x78\x64\x49\x66\x61','\x64\x53\x6b\x36\x57\x35\x68\x64\x47\x53\x6f\x38\x57\x50\x79','\x78\x38\x6b\x50\x67\x38\x6b\x53\x6b\x47','\x45\x71\x48\x36\x57\x36\x61\x69\x57\x34\x7a\x78\x57\x50\x6d','\x57\x36\x70\x64\x4b\x53\x6b\x32\x46\x6d\x6f\x2f\x57\x50\x79','\x41\x78\x37\x63\x48\x61','\x57\x52\x7a\x7a\x44\x59\x37\x63\x56\x43\x6f\x62\x57\x52\x65\x43','\x44\x53\x6b\x32\x67\x53\x6f\x64\x57\x4f\x2f\x63\x53\x72\x31\x68','\x71\x63\x72\x76\x57\x50\x64\x64\x4e\x4d\x4a\x63\x4f\x71\x6d','\x73\x49\x43\x2b\x57\x35\x62\x43\x57\x34\x52\x64\x4a\x38\x6f\x2b','\x74\x6d\x6f\x6d\x78\x6d\x6b\x39\x46\x38\x6f\x39\x67\x71','\x44\x65\x4b\x67\x7a\x43\x6f\x67\x65\x53\x6b\x6c\x57\x35\x47','\x62\x67\x6d\x79','\x66\x43\x6b\x4b\x70\x38\x6f\x79\x57\x52\x70\x63\x4e\x75\x37\x64\x4c\x47','\x57\x34\x6a\x73\x66\x43\x6b\x42\x57\x37\x6d\x4c\x57\x35\x47','\x6e\x74\x37\x63\x4d\x38\x6b\x4c','\x70\x38\x6f\x37\x64\x43\x6f\x73\x57\x50\x2f\x63\x4f\x62\x4c\x61','\x57\x35\x6c\x63\x56\x64\x69\x41\x57\x36\x48\x78\x66\x43\x6f\x45','\x46\x6d\x6b\x35\x57\x36\x6a\x77\x61\x48\x4f\x55\x43\x61','\x57\x35\x70\x63\x50\x63\x47\x61\x57\x37\x66\x42\x67\x53\x6f\x75','\x44\x5a\x52\x64\x4a\x4b\x68\x64\x4a\x4b\x79\x5a\x43\x61','\x63\x38\x6b\x57\x6a\x61\x48\x41','\x79\x4e\x6c\x63\x4e\x53\x6f\x79\x41\x61','\x42\x4b\x53\x47','\x76\x53\x6b\x6a\x57\x37\x76\x67\x66\x53\x6f\x59\x72\x32\x53','\x6c\x6d\x6b\x7a\x6a\x6d\x6b\x4e\x6f\x75\x5a\x63\x4a\x43\x6f\x52','\x57\x51\x54\x44\x43\x63\x52\x63\x4e\x6d\x6f\x71\x57\x52\x65\x66','\x41\x78\x4a\x63\x4a\x53\x6f\x45\x42\x6d\x6f\x6c\x6a\x73\x38','\x57\x35\x5a\x64\x51\x4c\x56\x64\x52\x57','\x6b\x57\x69\x72\x57\x36\x58\x34\x57\x37\x33\x64\x50\x6d\x6f\x45','\x43\x61\x33\x63\x51\x5a\x4f','\x41\x47\x4e\x63\x51\x64\x35\x45\x57\x4f\x2f\x63\x50\x57','\x44\x74\x33\x64\x4e\x30\x4a\x64\x4c\x76\x65\x7a\x7a\x47','\x57\x34\x64\x64\x52\x62\x4e\x64\x52\x4b\x2f\x64\x50\x38\x6f\x4d\x74\x57','\x68\x4a\x30\x44\x57\x35\x44\x41\x57\x35\x68\x64\x48\x6d\x6f\x34','\x46\x67\x30\x37\x6b\x38\x6f\x6e\x6e\x6d\x6b\x6c\x57\x35\x47','\x57\x4f\x31\x35\x57\x36\x4c\x69\x57\x4f\x37\x64\x4c\x4c\x46\x64\x49\x61','\x7a\x59\x39\x66\x57\x50\x64\x64\x4d\x67\x37\x63\x55\x71','\x57\x50\x4c\x36\x57\x36\x4c\x76\x57\x50\x56\x64\x4e\x71','\x57\x36\x35\x77\x7a\x76\x37\x63\x50\x73\x4e\x63\x55\x59\x57','\x57\x36\x64\x63\x4f\x66\x4e\x64\x53\x38\x6b\x63\x6b\x53\x6b\x45\x57\x52\x69','\x70\x71\x74\x63\x48\x59\x78\x63\x51\x78\x50\x36\x57\x50\x71','\x57\x35\x48\x73\x62\x6d\x6b\x74\x57\x37\x43\x30\x57\x34\x35\x62','\x6f\x49\x2f\x63\x48\x53\x6b\x53\x57\x34\x4a\x64\x51\x38\x6f\x49\x57\x52\x30','\x46\x64\x52\x63\x4d\x43\x6f\x70\x79\x43\x6f\x58\x70\x5a\x65','\x57\x37\x61\x72\x6d\x77\x5a\x64\x56\x38\x6b\x43\x57\x36\x79\x49\x61\x48\x64\x64\x4a\x75\x66\x74','\x57\x52\x78\x64\x50\x64\x46\x64\x4f\x68\x4c\x75\x6f\x53\x6b\x72','\x69\x6d\x6b\x50\x65\x6d\x6f\x66','\x57\x34\x42\x63\x50\x6d\x6b\x4c\x57\x52\x38\x78','\x7a\x75\x30\x43\x43\x53\x6f\x44\x63\x6d\x6b\x73\x57\x35\x4f','\x57\x50\x4a\x64\x4b\x38\x6b\x32\x73\x74\x4c\x34\x57\x34\x65','\x68\x66\x62\x51\x6e\x43\x6f\x47\x7a\x4d\x37\x64\x56\x47','\x79\x6d\x6b\x30\x57\x37\x52\x64\x4b\x43\x6f\x49\x62\x62\x37\x64\x4e\x61','\x57\x52\x5a\x63\x49\x33\x38','\x70\x67\x4c\x71\x64\x6d\x6f\x4b\x74\x4c\x6c\x64\x4d\x71','\x57\x36\x4e\x64\x4b\x43\x6b\x53\x43\x6d\x6f\x56\x57\x34\x57\x6e\x65\x61','\x63\x74\x4f\x37\x57\x34\x31\x64','\x57\x52\x2f\x64\x52\x74\x68\x64\x4f\x4d\x76\x75\x6b\x38\x6b\x41','\x64\x63\x43\x47\x57\x34\x62\x43\x57\x35\x68\x64\x48\x43\x6f\x58','\x57\x34\x75\x38\x73\x38\x6b\x75\x57\x34\x74\x63\x52\x47\x71','\x69\x53\x6f\x6b\x43\x53\x6f\x4c\x57\x36\x58\x49\x57\x37\x62\x31','\x57\x51\x30\x54\x43\x6d\x6b\x6b\x57\x34\x56\x63\x53\x57','\x57\x52\x39\x77\x78\x75\x46\x64\x51\x71','\x71\x43\x6b\x7a\x57\x37\x6e\x41\x68\x6d\x6f\x34\x64\x4e\x6d','\x57\x36\x43\x55\x57\x50\x68\x64\x50\x38\x6f\x49\x57\x36\x4f\x38\x43\x71','\x71\x66\x6c\x63\x55\x53\x6f\x50\x72\x43\x6f\x42\x65\x61\x4b','\x43\x43\x6b\x4c\x57\x37\x4e\x64\x4a\x53\x6f\x38\x63\x61\x33\x64\x4a\x61','\x6e\x64\x33\x63\x4e\x6d\x6b\x4c\x57\x34\x6c\x64\x56\x61','\x57\x36\x7a\x6d\x45\x66\x4e\x63\x55\x59\x6c\x64\x55\x49\x47','\x57\x37\x76\x48\x6b\x53\x6b\x37\x57\x34\x71\x64\x57\x36\x39\x6b','\x57\x4f\x58\x6e\x71\x38\x6f\x65','\x6c\x48\x6c\x63\x53\x63\x4e\x63\x50\x76\x79','\x57\x35\x38\x68\x57\x52\x76\x6c\x77\x49\x4e\x63\x47\x4a\x4f','\x75\x78\x6d\x5a\x76\x53\x6f\x4e\x62\x6d\x6b\x54\x57\x36\x30','\x6b\x58\x53\x72\x57\x36\x66\x50\x57\x36\x56\x64\x52\x38\x6f\x61','\x57\x36\x37\x64\x52\x66\x74\x64\x51\x53\x6b\x70\x7a\x53\x6b\x62\x57\x52\x34','\x71\x6d\x6f\x54\x42\x43\x6b\x61\x75\x38\x6f\x62\x42\x71','\x41\x38\x6f\x32\x57\x36\x4c\x64\x63\x65\x6d','\x57\x37\x72\x44\x68\x38\x6b\x63\x63\x53\x6f\x4a','\x76\x63\x4e\x64\x4e\x66\x70\x63\x4c\x31\x61\x75\x44\x57','\x69\x38\x6b\x6e\x66\x63\x48\x55\x6a\x53\x6f\x69\x6c\x61','\x79\x31\x43\x64\x42\x53\x6b\x4e\x57\x35\x75\x4d\x72\x57','\x42\x4b\x53\x50\x57\x51\x46\x63\x4e\x43\x6f\x75','\x57\x50\x76\x53\x57\x36\x4c\x70\x57\x50\x33\x64\x4c\x66\x6d','\x70\x4d\x70\x63\x4b\x77\x56\x63\x4a\x30\x68\x63\x49\x30\x4f','\x44\x6d\x6f\x56\x57\x37\x69\x55\x57\x35\x56\x63\x50\x65\x33\x64\x48\x47','\x57\x50\x2f\x64\x4c\x71\x52\x64\x4e\x66\x50\x30\x63\x47','\x57\x35\x68\x63\x49\x53\x6b\x77\x57\x52\x78\x63\x4c\x59\x52\x63\x53\x76\x57','\x7a\x38\x6f\x4d\x46\x43\x6b\x68\x75\x38\x6f\x67\x6b\x61','\x75\x6d\x6b\x45\x57\x36\x48\x67\x68\x6d\x6f\x50\x63\x67\x75','\x79\x38\x6b\x35\x57\x36\x64\x64\x47\x43\x6f\x57','\x57\x52\x4b\x62\x74\x71','\x7a\x77\x70\x63\x47\x38\x6f\x75\x42\x47','\x44\x6d\x6f\x39\x57\x51\x35\x6e\x64\x4b\x34','\x67\x43\x6b\x7a\x69\x38\x6f\x79\x57\x51\x6c\x63\x4d\x47','\x78\x74\x52\x63\x4c\x58\x39\x2b\x57\x52\x5a\x63\x4e\x43\x6f\x68','\x71\x57\x48\x55\x57\x51\x64\x64\x53\x66\x4a\x63\x4a\x33\x57','\x57\x36\x2f\x64\x4c\x4d\x64\x64\x4c\x77\x4e\x64\x4d\x53\x6f\x74\x7a\x57','\x61\x53\x6b\x75\x68\x6d\x6f\x6e\x57\x52\x68\x63\x49\x31\x78\x64\x55\x47','\x57\x34\x4e\x63\x50\x64\x34\x41\x57\x36\x6a\x78\x76\x53\x6f\x77','\x43\x6d\x6f\x45\x57\x35\x75\x76\x57\x36\x56\x63\x47\x4b\x74\x63\x51\x71','\x72\x61\x50\x57\x57\x37\x58\x64\x57\x36\x53\x77\x57\x4f\x75','\x57\x52\x7a\x41\x72\x5a\x78\x63\x51\x38\x6f\x62','\x57\x52\x56\x63\x4b\x68\x4f\x55\x57\x37\x66\x36\x57\x50\x68\x64\x52\x71','\x6f\x48\x6c\x63\x4c\x38\x6b\x55\x57\x36\x57','\x57\x36\x68\x64\x4e\x38\x6b\x34\x46\x6d\x6f\x57','\x57\x4f\x66\x6d\x79\x63\x4a\x63\x4f\x6d\x6f\x68\x57\x52\x54\x72','\x57\x52\x62\x44\x7a\x73\x4a\x63\x55\x38\x6f\x78\x57\x4f\x43\x79','\x71\x58\x7a\x52\x57\x36\x43\x4b\x57\x36\x4f','\x57\x50\x53\x4e\x57\x37\x74\x63\x4d\x53\x6b\x38\x57\x51\x43\x39\x57\x36\x65','\x57\x36\x50\x75\x41\x76\x6c\x63\x56\x78\x42\x63\x55\x57','\x65\x71\x4e\x63\x48\x38\x6b\x57\x57\x37\x61','\x74\x53\x6b\x6e\x57\x36\x34\x43\x65\x6d\x6f\x4c\x63\x47','\x79\x59\x39\x66\x57\x4f\x52\x64\x47\x32\x74\x63\x55\x4b\x4f','\x57\x36\x33\x64\x47\x38\x6b\x56\x43\x6d\x6f\x37\x57\x4f\x57','\x57\x37\x2f\x64\x4f\x38\x6b\x41\x57\x52\x42\x64\x48\x43\x6f\x32\x75\x6d\x6f\x44','\x6b\x53\x6b\x74\x64\x74\x6a\x35\x6b\x43\x6f\x6d\x69\x71','\x57\x35\x76\x7a\x65\x57','\x57\x35\x69\x39\x57\x36\x52\x64\x48\x53\x6b\x49\x57\x51\x79\x33\x57\x36\x34','\x57\x34\x33\x64\x56\x75\x74\x64\x51\x76\x6c\x64\x55\x53\x6f\x54','\x57\x4f\x35\x61\x71\x43\x6f\x62\x6c\x32\x75','\x46\x38\x6b\x54\x57\x35\x44\x37\x6c\x6d\x6f\x62\x69\x4c\x61','\x57\x52\x54\x6d\x71\x47','\x42\x43\x6f\x4c\x69\x38\x6b\x65\x62\x38\x6b\x74\x6b\x67\x65','\x70\x53\x6b\x56\x66\x53\x6b\x41\x57\x4f\x5a\x63\x54\x61\x39\x77','\x79\x65\x68\x63\x51\x59\x7a\x45\x57\x4f\x78\x63\x52\x6d\x6f\x51','\x63\x43\x6b\x39\x6b\x47\x48\x76\x64\x71','\x78\x53\x6f\x59\x72\x53\x6b\x74\x57\x4f\x5a\x63\x48\x53\x6f\x78\x57\x36\x61','\x67\x64\x43\x2f\x57\x35\x7a\x6e\x57\x34\x56\x64\x4e\x53\x6f\x61','\x57\x51\x64\x64\x4c\x62\x5a\x64\x49\x66\x71','\x41\x33\x56\x63\x48\x53\x6f\x41\x42\x43\x6f\x35','\x57\x50\x75\x55\x79\x75\x52\x64\x4c\x6d\x6b\x51\x6b\x6d\x6b\x49','\x79\x63\x72\x76\x57\x50\x64\x64\x4e\x4d\x4a\x63\x4f\x71\x6d','\x57\x4f\x72\x63\x77\x57','\x57\x36\x35\x72\x41\x71','\x57\x52\x37\x63\x47\x6d\x6f\x55\x6b\x53\x6b\x58\x57\x35\x6a\x42\x75\x47','\x57\x50\x5a\x63\x51\x76\x65\x41\x57\x50\x35\x68\x57\x51\x68\x64\x49\x61','\x77\x43\x6f\x6c\x57\x35\x43\x77\x57\x37\x6c\x63\x4d\x68\x57','\x57\x35\x33\x63\x49\x43\x6b\x73\x57\x52\x4a\x63\x4a\x4a\x56\x63\x4d\x61','\x6a\x66\x58\x38','\x70\x43\x6b\x56\x6d\x47\x6a\x6f\x61\x6d\x6f\x75\x74\x57','\x57\x50\x2f\x64\x4c\x31\x37\x64\x4e\x66\x7a\x47\x64\x6d\x6b\x53','\x7a\x6d\x6f\x4c\x57\x36\x69\x30','\x57\x52\x44\x6e\x77\x47','\x57\x36\x39\x34\x6e\x43\x6b\x59\x57\x35\x57\x68\x57\x37\x72\x6b','\x57\x50\x70\x64\x4e\x48\x64\x64\x4d\x47','\x57\x37\x6c\x63\x51\x65\x42\x64\x55\x38\x6b\x65\x6a\x38\x6b\x70\x57\x52\x38','\x57\x37\x52\x64\x4b\x43\x6b\x57\x43\x6d\x6f\x34\x57\x4f\x6d\x41\x66\x47','\x57\x37\x4e\x63\x4c\x71\x53\x39\x57\x35\x58\x31\x70\x53\x6f\x47','\x78\x53\x6f\x58\x75\x38\x6f\x46\x57\x52\x64\x63\x54\x38\x6f\x36','\x57\x36\x56\x64\x4e\x67\x42\x64\x4b\x4e\x4a\x64\x4e\x53\x6f\x43\x41\x57','\x57\x50\x4a\x63\x49\x43\x6b\x43\x57\x51\x37\x64\x47\x4a\x2f\x63\x4e\x30\x57','\x64\x32\x6d\x73\x57\x35\x6d','\x57\x37\x5a\x64\x56\x38\x6f\x43\x57\x52\x42\x64\x51\x43\x6f\x51\x71\x6d\x6b\x76','\x63\x75\x46\x63\x53\x76\x71','\x46\x6d\x6b\x54\x6f\x6d\x6b\x62','\x57\x36\x33\x64\x47\x38\x6b\x35','\x42\x67\x78\x64\x49\x4c\x64\x64\x4b\x57\x34\x42\x45\x71','\x57\x37\x74\x64\x4b\x53\x6b\x71\x57\x34\x56\x63\x52\x47','\x57\x37\x76\x6f\x64\x6d\x6b\x66\x64\x43\x6f\x2b\x57\x50\x66\x73','\x45\x57\x64\x63\x54\x59\x66\x41','\x57\x36\x48\x6c\x62\x38\x6b\x6f\x62\x38\x6f\x57','\x57\x34\x42\x64\x4d\x38\x6b\x67\x57\x4f\x34\x36\x61\x38\x6b\x62\x78\x47','\x61\x6d\x6b\x6a\x57\x36\x4c\x65\x75\x38\x6f\x38\x62\x4e\x53','\x79\x53\x6f\x58\x57\x37\x44\x66\x61\x33\x34\x4f\x7a\x71','\x57\x36\x64\x63\x4c\x43\x6b\x52\x57\x4f\x69\x54\x66\x53\x6b\x63\x65\x61','\x57\x50\x62\x6d\x44\x49\x5a\x63\x51\x53\x6f\x77\x57\x50\x75\x6a','\x57\x35\x71\x6c\x57\x51\x50\x43\x77\x49\x34','\x7a\x38\x6f\x36\x46\x53\x6b\x44\x72\x61','\x57\x4f\x4a\x64\x4a\x53\x6f\x51\x77\x74\x31\x2b\x57\x35\x64\x64\x50\x57','\x57\x52\x6e\x64\x74\x61','\x42\x6d\x6b\x47\x57\x34\x7a\x2f\x6d\x53\x6f\x76\x6a\x4c\x4b','\x57\x52\x54\x67\x57\x35\x44\x53\x57\x52\x33\x64\x50\x33\x2f\x64\x50\x57','\x57\x34\x48\x35\x6b\x6d\x6b\x4c\x6a\x43\x6f\x6e\x57\x51\x39\x4b','\x6d\x59\x56\x63\x47\x53\x6b\x57\x57\x35\x6c\x63\x53\x53\x6b\x53\x57\x36\x79','\x78\x57\x33\x64\x50\x71','\x57\x34\x4a\x63\x4f\x74\x79\x77\x57\x36\x7a\x6d','\x67\x76\x64\x63\x55\x4c\x74\x63\x4f\x78\x6c\x63\x56\x31\x4b','\x79\x43\x6f\x36\x57\x37\x75','\x57\x35\x34\x38\x57\x36\x78\x63\x47\x6d\x6f\x4d\x57\x52\x79\x33\x57\x36\x30','\x42\x78\x52\x63\x4a\x38\x6f\x75\x44\x43\x6f\x53\x68\x63\x34','\x57\x52\x79\x70\x75\x78\x56\x63\x51\x6d\x6b\x69\x66\x38\x6b\x70','\x57\x37\x4e\x63\x53\x76\x64\x64\x54\x6d\x6b\x68\x69\x53\x6f\x68\x57\x52\x4b','\x42\x78\x4a\x63\x48\x6d\x6b\x75\x41\x53\x6f\x52\x70\x4a\x6d','\x57\x50\x5a\x64\x4e\x47\x52\x64\x4a\x76\x53','\x57\x34\x57\x52\x57\x4f\x57','\x78\x4a\x4f\x2f\x57\x34\x68\x64\x4c\x64\x39\x47\x57\x35\x53','\x57\x51\x35\x38\x41\x6d\x6f\x55\x61\x30\x31\x66\x57\x51\x47','\x57\x52\x78\x63\x47\x53\x6f\x4f\x69\x43\x6b\x54\x57\x4f\x57\x32\x6b\x62\x76\x4d\x57\x37\x61','\x46\x57\x5a\x63\x4c\x4a\x6c\x63\x4f\x66\x44\x32\x57\x50\x61','\x57\x37\x4e\x64\x47\x38\x6b\x46\x44\x53\x6f\x34\x57\x4f\x43','\x6e\x38\x6b\x31\x63\x71','\x68\x43\x6b\x51\x65\x38\x6b\x45\x76\x33\x4e\x63\x50\x6d\x6f\x62','\x57\x4f\x58\x4d\x57\x35\x7a\x74\x57\x4f\x56\x64\x4c\x4b\x74\x64\x50\x47','\x46\x74\x56\x64\x51\x4c\x6c\x64\x49\x65\x69\x6a','\x57\x35\x4e\x63\x4b\x53\x6b\x68\x57\x52\x6c\x63\x4a\x73\x5a\x63\x4c\x76\x75','\x57\x50\x56\x63\x4f\x71\x42\x63\x51\x61\x4a\x63\x4f\x6d\x6f\x6c\x78\x6d\x6b\x70\x57\x35\x54\x46\x57\x37\x53','\x57\x34\x35\x53\x77\x68\x74\x63\x4d\x57\x70\x64\x49\x57\x30','\x66\x73\x65\x72\x57\x34\x78\x64\x49\x71\x34\x49\x57\x37\x4f','\x65\x6d\x6b\x52\x57\x35\x64\x64\x4d\x6d\x6f\x5a\x57\x50\x42\x63\x4d\x57','\x57\x37\x46\x64\x4b\x43\x6b\x70\x57\x36\x46\x63\x4b\x64\x64\x64\x53\x63\x6d','\x78\x43\x6f\x54\x46\x53\x6b\x61\x77\x43\x6f\x62','\x57\x4f\x52\x64\x4b\x4c\x37\x64\x48\x76\x7a\x4f\x77\x43\x6b\x33','\x57\x50\x4a\x63\x4f\x61\x42\x63\x52\x57\x5a\x63\x50\x53\x6b\x36\x71\x53\x6b\x33\x57\x35\x7a\x7a\x57\x37\x2f\x63\x55\x47','\x67\x62\x4a\x63\x51\x65\x70\x63\x56\x67\x6c\x63\x56\x77\x71','\x57\x4f\x44\x6a\x77\x43\x6f\x64\x6b\x47','\x79\x4b\x30\x4a\x57\x51\x33\x63\x4e\x43\x6f\x63\x69\x49\x6d','\x57\x35\x44\x2f\x57\x51\x53\x74','\x57\x50\x74\x64\x4d\x48\x70\x64\x49\x57','\x64\x38\x6b\x57\x6c\x4b\x6a\x43\x63\x53\x6f\x4d\x61\x71','\x67\x53\x6f\x55\x77\x53\x6f\x67\x57\x34\x7a\x75\x57\x35\x58\x74','\x78\x53\x6f\x33\x71\x53\x6b\x78\x57\x4f\x52\x63\x4c\x38\x6f\x46\x57\x36\x34','\x6b\x66\x64\x63\x52\x66\x64\x63\x51\x32\x70\x63\x4b\x78\x6d','\x44\x6d\x6f\x54\x79\x6d\x6b\x74\x77\x6d\x6f\x75\x6f\x67\x34','\x7a\x38\x6b\x30\x57\x37\x7a\x77\x67\x65\x6d\x33\x43\x61','\x57\x37\x68\x64\x56\x75\x42\x64\x52\x31\x74\x64\x50\x57','\x75\x58\x7a\x52\x57\x37\x57\x47\x57\x36\x4f\x65','\x57\x34\x56\x64\x54\x63\x4b\x72\x57\x37\x6a\x6c\x68\x53\x6f\x6b','\x77\x32\x79\x47\x72\x43\x6b\x41\x57\x36\x61\x63\x7a\x61','\x70\x38\x6b\x52\x57\x34\x6c\x64\x4d\x43\x6f\x33\x57\x4f\x70\x64\x4e\x47','\x57\x34\x69\x53\x57\x50\x72\x52\x41\x48\x37\x63\x54\x59\x57','\x76\x67\x53\x44\x57\x4f\x56\x63\x53\x6d\x6f\x53\x61\x31\x4f','\x67\x6d\x6b\x6f\x6a\x6d\x6f\x46\x57\x51\x74\x63\x4e\x61','\x6b\x58\x70\x63\x4e\x64\x6c\x63\x52\x4c\x62\x34\x57\x4f\x47','\x57\x35\x69\x65\x57\x51\x37\x64\x4a\x6d\x6f\x70\x57\x34\x57\x67','\x41\x53\x6f\x35\x57\x37\x71\x4c\x57\x35\x46\x63\x56\x4c\x2f\x64\x49\x61','\x57\x35\x4e\x63\x49\x38\x6b\x61','\x77\x6d\x6f\x62\x57\x36\x62\x44\x68\x6d\x6f\x54\x73\x4e\x53','\x6a\x6d\x6f\x49\x57\x36\x6a\x6b\x61\x4c\x6e\x4c\x71\x61','\x57\x50\x56\x64\x4a\x58\x46\x64\x47\x76\x30','\x57\x35\x30\x47\x57\x36\x56\x63\x48\x61','\x57\x36\x39\x44\x67\x43\x6b\x42\x78\x53\x6b\x52\x57\x35\x38\x78','\x57\x35\x4a\x64\x4c\x43\x6f\x32\x57\x50\x37\x64\x55\x38\x6f\x71\x44\x53\x6b\x38','\x44\x58\x4e\x63\x52\x63\x6a\x6b\x57\x50\x4a\x63\x4e\x43\x6f\x4c','\x57\x50\x6d\x6c\x71\x43\x6f\x53\x57\x34\x68\x63\x4d\x47\x2f\x64\x51\x71','\x57\x52\x58\x64\x72\x30\x33\x64\x4b\x4a\x56\x64\x47\x61','\x79\x77\x78\x63\x4d\x6d\x6f\x75\x43\x47','\x69\x43\x6b\x56\x64\x43\x6f\x45\x57\x4f\x64\x63\x53\x48\x76\x76','\x57\x35\x42\x63\x48\x53\x6b\x45\x57\x52\x38','\x6a\x66\x6d\x39\x57\x36\x2f\x64\x56\x57','\x67\x38\x6b\x49\x57\x34\x5a\x64\x48\x6d\x6f\x47','\x57\x34\x4f\x6d\x57\x52\x44\x43\x71\x72\x4e\x63\x48\x61\x30','\x72\x38\x6f\x45\x71\x38\x6b\x2f\x44\x38\x6f\x4a\x65\x4b\x61','\x41\x38\x6b\x50\x57\x34\x4b','\x66\x6d\x6b\x52\x57\x34\x33\x64\x4e\x57','\x57\x50\x6a\x79\x74\x6d\x6f\x75\x6e\x33\x43','\x77\x62\x4c\x59\x57\x36\x53','\x57\x35\x56\x64\x51\x31\x68\x64\x52\x31\x78\x64\x54\x6d\x6f\x55\x73\x57','\x79\x76\x47\x61\x42\x38\x6f\x61\x70\x61','\x6d\x49\x2f\x64\x4d\x6d\x6b\x6a\x6e\x38\x6b\x52\x41\x64\x68\x63\x4e\x43\x6b\x34\x57\x36\x48\x46\x63\x47','\x44\x74\x4a\x64\x47\x47\x37\x64\x4d\x30\x30\x65\x44\x61','\x57\x34\x4a\x64\x56\x75\x64\x64\x56\x4c\x6d','\x69\x53\x6f\x39\x46\x6d\x6b\x62\x71\x53\x6f\x62\x6b\x67\x34','\x57\x36\x7a\x61\x71\x38\x6b\x69\x63\x38\x6f\x50','\x70\x6d\x6b\x68\x57\x37\x5a\x64\x51\x53\x6f\x63\x57\x52\x4a\x63\x4f\x73\x4f','\x46\x43\x6f\x4e\x76\x38\x6b\x6e\x57\x4f\x64\x63\x4c\x38\x6b\x77','\x57\x51\x70\x63\x4e\x38\x6f\x32\x6e\x38\x6f\x39\x57\x50\x69\x68\x75\x71','\x63\x74\x30\x47\x57\x35\x44\x6e\x57\x35\x42\x64\x4e\x53\x6b\x59','\x57\x52\x71\x6b\x77\x43\x6b\x55\x57\x36\x78\x63\x4a\x59\x46\x64\x51\x61','\x57\x4f\x56\x64\x4d\x6d\x6b\x31\x73\x64\x4c\x31','\x73\x38\x6f\x57\x75\x38\x6b\x45\x57\x4f\x4a\x63\x50\x53\x6f\x7a\x57\x37\x4b','\x68\x53\x6b\x45\x69\x6d\x6f\x31\x57\x51\x2f\x63\x48\x4a\x4c\x53','\x73\x68\x75\x6d\x57\x50\x46\x63\x55\x38\x6f\x56\x67\x76\x43','\x57\x35\x52\x63\x51\x43\x6b\x49\x57\x35\x7a\x55\x68\x6d\x6b\x61\x72\x61','\x57\x37\x2f\x63\x50\x66\x56\x64\x52\x47','\x6a\x6d\x6b\x36\x6a\x62\x39\x7a\x67\x53\x6f\x49\x74\x57','\x57\x4f\x35\x6f\x72\x38\x6f\x66\x69\x78\x61','\x65\x53\x6b\x4d\x6d\x61\x47','\x67\x71\x34\x55\x57\x51\x34\x2f\x57\x36\x79\x77\x57\x35\x65','\x57\x34\x71\x58\x57\x50\x66\x47\x46\x58\x4e\x63\x54\x73\x53','\x57\x36\x52\x63\x49\x53\x6b\x42\x57\x50\x6d\x38\x66\x53\x6b\x77','\x7a\x6d\x6b\x57\x57\x37\x68\x64\x4c\x47','\x57\x35\x70\x64\x53\x53\x6b\x44\x73\x53\x6f\x7a\x57\x52\x30\x37\x6c\x71','\x57\x36\x4c\x6f\x79\x31\x70\x63\x55\x57','\x66\x38\x6b\x69\x6f\x53\x6f\x75\x57\x51\x42\x63\x47\x61','\x57\x52\x46\x63\x4e\x4e\x6d\x59','\x6e\x63\x2f\x63\x4b\x38\x6b\x55\x57\x34\x64\x64\x4f\x43\x6b\x4a\x57\x51\x47','\x57\x35\x66\x52\x68\x43\x6b\x68\x63\x61','\x57\x50\x44\x6d\x71\x4b\x46\x64\x52\x63\x5a\x64\x4f\x43\x6b\x4b','\x57\x36\x56\x64\x56\x6d\x6f\x65','\x45\x38\x6f\x52\x57\x36\x4b\x37\x57\x35\x52\x63\x50\x66\x52\x64\x48\x47','\x73\x6d\x6b\x79\x57\x37\x6e\x63\x61\x6d\x6b\x57\x73\x63\x79','\x6a\x43\x6f\x6c\x46\x6d\x6f\x4c\x57\x36\x7a\x4e','\x44\x4d\x78\x63\x48\x43\x6f\x6a','\x46\x64\x5a\x64\x4e\x31\x64\x63\x47\x61','\x57\x36\x48\x7a\x63\x6d\x6b\x66\x62\x43\x6f\x54\x57\x35\x31\x6a','\x6e\x63\x68\x64\x4d\x61\x64\x64\x4c\x65\x57\x65\x70\x61','\x57\x37\x2f\x63\x53\x4e\x74\x64\x51\x6d\x6b\x75\x6b\x53\x6b\x74','\x57\x36\x52\x64\x47\x53\x6b\x5a\x44\x61','\x57\x51\x2f\x64\x53\x53\x6b\x46\x7a\x71\x6e\x6d\x57\x37\x68\x63\x4e\x47','\x6e\x38\x6b\x53\x57\x52\x79\x71\x77\x57\x39\x5a\x72\x48\x69\x72\x66\x59\x4f\x4d','\x57\x35\x6d\x76\x57\x51\x5a\x64\x48\x43\x6f\x70\x57\x34\x69','\x79\x65\x6d\x79\x79\x38\x6f\x6e\x6c\x57','\x64\x47\x33\x63\x55\x47','\x43\x72\x2f\x64\x55\x64\x58\x71\x57\x50\x4a\x64\x4f\x53\x6f\x4e','\x57\x50\x50\x4d\x57\x37\x35\x66','\x57\x35\x71\x65\x57\x51\x42\x64\x4c\x6d\x6b\x62\x57\x34\x4f\x76\x76\x71','\x57\x52\x64\x63\x4b\x4e\x53\x34\x57\x51\x50\x4a\x57\x52\x70\x64\x55\x47','\x6b\x74\x52\x63\x47\x53\x6b\x31\x57\x35\x70\x64\x50\x47','\x57\x37\x33\x63\x53\x43\x6b\x38\x57\x50\x46\x63\x4f\x57\x37\x63\x4f\x32\x34','\x57\x36\x33\x64\x47\x38\x6b\x77\x57\x37\x42\x63\x47\x73\x65','\x76\x6d\x6f\x56\x6b\x48\x48\x36\x6c\x38\x6f\x49\x68\x47','\x65\x4c\x56\x63\x51\x4b\x70\x63\x56\x68\x2f\x63\x54\x77\x43','\x57\x36\x70\x64\x47\x38\x6b\x4f\x41\x53\x6b\x38\x57\x4f\x6d\x43\x67\x47','\x74\x6d\x6f\x58\x57\x36\x7a\x68\x61\x47','\x43\x64\x46\x63\x4a\x6d\x6f\x41\x41\x43\x6f\x30\x6e\x64\x4b','\x7a\x76\x6d\x72\x41\x6d\x6b\x48\x57\x34\x6d\x71\x71\x57','\x77\x47\x5a\x64\x55\x32\x2f\x64\x53\x32\x30\x4b','\x64\x65\x65\x78\x57\x34\x74\x64\x51\x57','\x43\x31\x38\x78','\x41\x53\x6f\x6d\x57\x34\x47\x69\x57\x36\x46\x63\x56\x4d\x56\x64\x55\x57','\x44\x43\x6b\x37\x57\x37\x38','\x57\x50\x58\x4f\x75\x71\x37\x63\x48\x38\x6f\x37\x57\x4f\x71\x2b','\x57\x34\x4e\x63\x4f\x73\x38','\x57\x50\x42\x63\x54\x66\x53\x7a','\x57\x35\x75\x5a\x57\x36\x4e\x63\x4a\x61','\x57\x35\x4a\x63\x48\x77\x78\x64\x4c\x43\x6b\x56\x62\x43\x6b\x2b','\x57\x51\x7a\x6a\x71\x6d\x6f\x6a\x6c\x67\x30\x36\x57\x4f\x4b','\x45\x53\x6f\x44\x44\x6d\x6b\x2b\x57\x52\x42\x63\x4f\x6d\x6f\x50\x57\x34\x65','\x57\x34\x47\x65\x57\x52\x2f\x64\x48\x6d\x6f\x6c\x57\x35\x30\x71\x7a\x61','\x57\x35\x75\x5a\x57\x37\x6c\x63\x49\x6d\x6b\x48\x57\x52\x4b\x35\x57\x36\x69','\x57\x52\x44\x6e\x77\x47\x46\x64\x52\x74\x52\x64\x47\x38\x6b\x4c','\x66\x47\x31\x56\x57\x37\x30\x39\x57\x37\x30\x73\x57\x50\x61','\x65\x53\x6b\x33\x6b\x71\x6e\x44\x65\x6d\x6f\x4e\x63\x61','\x57\x4f\x62\x63\x77\x43\x6f\x69\x6d\x67\x54\x51\x57\x4f\x69','\x57\x34\x6e\x45\x61\x53\x6b\x7a\x57\x37\x6d\x51','\x57\x34\x70\x63\x54\x38\x6b\x4a\x57\x51\x75\x62\x69\x38\x6b\x33\x6b\x47','\x57\x51\x52\x64\x54\x63\x33\x64\x55\x47','\x6f\x53\x6b\x56\x63\x38\x6f\x68\x57\x50\x33\x64\x52\x31\x6d\x43','\x79\x43\x6f\x53\x74\x38\x6b\x65\x57\x35\x4e\x64\x50\x5a\x31\x6a\x57\x52\x43\x4b\x44\x43\x6f\x58','\x77\x38\x6b\x73\x63\x43\x6b\x2f\x43\x57','\x78\x76\x6a\x36\x6e\x43\x6f\x65\x45\x4d\x5a\x64\x52\x57','\x57\x35\x30\x78\x65\x43\x6b\x45\x57\x37\x38\x4a\x57\x35\x4b\x31','\x57\x34\x48\x4e\x71\x78\x78\x63\x48\x57\x78\x64\x48\x61\x75','\x57\x4f\x7a\x2f\x73\x58\x46\x63\x4a\x53\x6f\x30\x57\x4f\x38\x5a','\x57\x52\x4f\x75\x67\x68\x68\x64\x53\x53\x6b\x78\x68\x43\x6b\x6b','\x57\x4f\x6e\x64\x73\x43\x6f\x7a','\x72\x38\x6f\x45\x71\x38\x6b\x2f\x44\x38\x6f\x4a\x65\x4b\x34','\x76\x53\x6f\x53\x75\x43\x6f\x72\x57\x34\x75','\x57\x36\x48\x68\x63\x38\x6b\x63\x61\x57','\x57\x50\x4c\x35\x57\x36\x50\x71\x57\x50\x78\x64\x4b\x66\x46\x64\x4b\x71','\x57\x51\x6c\x64\x4c\x6d\x6b\x6d\x57\x36\x64\x63\x4c\x49\x46\x64\x54\x63\x38','\x57\x34\x2f\x64\x51\x31\x68\x63\x56\x77\x37\x64\x48\x38\x6f\x70\x64\x47','\x57\x51\x4e\x63\x4a\x78\x65\x4a\x57\x52\x62\x30\x57\x50\x68\x64\x50\x71','\x44\x32\x64\x63\x47\x6d\x6f\x36\x43\x61','\x61\x4d\x34\x43\x57\x34\x2f\x64\x48\x72\x30','\x43\x43\x6f\x54\x79\x53\x6b\x77','\x57\x34\x4a\x63\x54\x74\x79\x72','\x6f\x49\x5a\x63\x48\x43\x6b\x50\x57\x34\x42\x64\x50\x47','\x67\x6d\x6b\x48\x57\x35\x42\x64\x4e\x38\x6f\x78\x57\x4f\x4e\x63\x4e\x71\x71','\x57\x35\x5a\x63\x47\x53\x6b\x46\x57\x50\x4e\x63\x4a\x74\x70\x63\x4b\x75\x34','\x57\x36\x42\x63\x4f\x65\x42\x64\x51\x43\x6b\x72\x6a\x6d\x6b\x79\x57\x52\x38','\x66\x38\x6f\x53\x74\x38\x6f\x64\x57\x35\x76\x65\x57\x34\x35\x42','\x57\x4f\x50\x6c\x77\x75\x33\x64\x51\x64\x5a\x64\x4d\x6d\x6b\x6f','\x57\x4f\x6d\x62\x6c\x6d\x6b\x43\x57\x36\x61\x71\x57\x35\x6a\x62','\x6f\x6d\x6f\x78\x44\x53\x6f\x50\x57\x36\x6a\x35','\x57\x52\x56\x64\x52\x63\x33\x64\x53\x78\x44\x75\x70\x38\x6b\x65','\x79\x32\x66\x68\x57\x4f\x70\x64\x4e\x77\x6c\x63\x52\x47\x6d','\x64\x53\x6b\x36\x57\x35\x68\x64\x47\x53\x6f\x38\x57\x50\x42\x63\x4c\x57\x43','\x73\x53\x6f\x45\x57\x35\x43\x77\x57\x37\x52\x63\x4d\x68\x4a\x64\x56\x71','\x57\x34\x42\x63\x55\x6f\x6b\x61\x4f\x6d\x6b\x39\x74\x53\x6f\x4d\x57\x36\x79\x6f','\x57\x34\x37\x63\x54\x43\x6b\x36\x57\x52\x69\x43\x70\x6d\x6b\x49\x6c\x71','\x57\x35\x4e\x63\x48\x43\x6b\x43\x57\x51\x4a\x63\x4c\x47','\x57\x52\x43\x2f\x71\x32\x46\x64\x54\x6d\x6b\x77\x65\x43\x6b\x65','\x75\x43\x6b\x68\x64\x53\x6b\x51\x68\x6d\x6b\x6e\x57\x34\x79','\x71\x43\x6b\x43\x57\x37\x44\x45\x67\x53\x6f\x50\x62\x4e\x30','\x44\x33\x6c\x63\x4d\x6d\x6b\x77\x43\x6d\x6f\x51\x70\x4a\x43','\x57\x34\x75\x73\x57\x51\x37\x64\x4a\x38\x6f\x61\x57\x35\x57\x67\x79\x57','\x57\x4f\x37\x64\x4c\x64\x6c\x64\x47\x75\x72\x30\x63\x38\x6b\x67','\x57\x35\x4a\x64\x4e\x6d\x6f\x4b','\x68\x48\x78\x63\x54\x4c\x6c\x63\x55\x4d\x68\x64\x56\x68\x47','\x57\x34\x68\x64\x4c\x43\x6f\x35','\x67\x62\x39\x50\x69\x6d\x6f\x6a\x44\x32\x4e\x63\x55\x57','\x6b\x65\x47\x4b\x57\x36\x78\x64\x50\x73\x6a\x71\x57\x34\x4f','\x66\x6d\x6b\x41\x6f\x53\x6f\x79\x57\x50\x74\x63\x4e\x65\x53','\x57\x35\x4e\x64\x4f\x53\x6b\x71\x73\x53\x6b\x38\x57\x4f\x53\x44\x78\x57','\x57\x37\x53\x70\x57\x51\x50\x44\x75\x61','\x66\x71\x56\x63\x56\x53\x6b\x73\x57\x36\x37\x64\x4d\x6d\x6f\x6b\x57\x4f\x4f','\x43\x49\x33\x64\x4e\x30\x70\x64\x4b\x47','\x57\x37\x5a\x63\x4a\x38\x6b\x70\x57\x4f\x47\x36\x61\x6d\x6b\x4c\x64\x71','\x6c\x58\x38\x68\x57\x36\x31\x48\x57\x36\x46\x64\x51\x38\x6f\x70','\x67\x64\x37\x63\x53\x48\x70\x63\x4c\x78\x54\x69\x57\x52\x61','\x43\x38\x6b\x30\x57\x37\x33\x64\x47\x43\x6f\x39','\x67\x38\x6b\x52\x57\x35\x46\x64\x49\x6d\x6f\x36\x57\x52\x4a\x63\x4b\x58\x65','\x71\x43\x6b\x64\x64\x43\x6b\x4a\x6b\x6d\x6b\x43\x57\x34\x38','\x57\x36\x58\x71\x41\x76\x33\x63\x56\x73\x4e\x64\x4d\x63\x47','\x57\x37\x48\x59\x6a\x6d\x6b\x5a','\x71\x47\x66\x56\x57\x36\x53','\x57\x50\x4e\x64\x4c\x62\x64\x64\x4d\x4c\x7a\x50\x64\x43\x6b\x41','\x57\x34\x52\x64\x55\x75\x64\x64\x56\x61\x68\x63\x54\x71','\x57\x34\x70\x64\x4f\x6d\x6b\x7a\x76\x38\x6f\x44\x57\x51\x53\x58\x70\x71','\x71\x43\x6b\x62\x68\x6d\x6b\x48\x69\x6d\x6b\x66\x57\x34\x56\x64\x48\x57','\x74\x4e\x57\x63\x57\x4f\x2f\x63\x52\x53\x6f\x33\x67\x75\x57','\x57\x34\x4a\x64\x4b\x63\x37\x64\x51\x4e\x72\x42\x64\x71','\x44\x31\x38\x62\x6b\x57','\x57\x37\x46\x63\x53\x4b\x5a\x64\x54\x6d\x6b\x66\x61\x53\x6b\x45\x57\x52\x34','\x70\x4a\x53\x4a\x57\x34\x7a\x68\x57\x34\x33\x64\x4e\x53\x6f\x41','\x57\x34\x34\x76\x57\x37\x70\x64\x4b\x38\x6f\x41\x57\x35\x30\x67\x75\x71','\x74\x75\x4a\x63\x4f\x43\x6f\x2b\x77\x71','\x57\x50\x71\x6a\x73\x53\x6b\x55\x57\x37\x56\x63\x4e\x49\x46\x64\x54\x61','\x45\x4c\x47\x67\x44\x53\x6f\x39\x6c\x38\x6b\x68\x57\x35\x57','\x46\x43\x6b\x36\x57\x36\x33\x64\x48\x38\x6f\x35\x69\x47\x47','\x64\x4b\x42\x63\x55\x31\x74\x63\x4f\x68\x64\x63\x55\x77\x34','\x69\x43\x6b\x56\x64\x43\x6f\x73\x57\x4f\x2f\x63\x55\x61','\x57\x37\x56\x63\x4e\x53\x6b\x44\x57\x4f\x34','\x6c\x4c\x6d\x33\x57\x37\x52\x64\x52\x5a\x7a\x65\x57\x34\x4f','\x44\x5a\x76\x78\x57\x35\x4f','\x7a\x5a\x62\x65\x57\x4f\x46\x64\x47\x4e\x2f\x64\x50\x57','\x65\x38\x6b\x76\x6b\x38\x6f\x2f\x57\x52\x5a\x63\x4d\x49\x58\x36','\x68\x38\x6b\x56\x57\x35\x64\x64\x4a\x53\x6f\x68\x57\x4f\x70\x63\x4b\x47','\x6d\x77\x70\x63\x52\x31\x42\x63\x4e\x57','\x57\x4f\x30\x71\x72\x53\x6b\x55\x57\x36\x61','\x70\x58\x34\x41\x57\x37\x58\x36\x57\x37\x33\x64\x52\x43\x6f\x77','\x57\x50\x31\x4f\x57\x37\x44\x35\x57\x4f\x37\x64\x47\x76\x4e\x64\x4c\x57','\x77\x4b\x75\x66\x57\x50\x68\x63\x4c\x57','\x6d\x38\x6b\x35\x65\x6d\x6f\x66\x57\x50\x4f','\x41\x6d\x6b\x77\x64\x38\x6b\x47\x6d\x43\x6b\x67\x57\x37\x46\x63\x4b\x57','\x57\x51\x56\x63\x4d\x4e\x50\x33\x57\x52\x4c\x34\x57\x4f\x5a\x63\x51\x71','\x41\x32\x46\x63\x4a\x38\x6f\x76\x79\x43\x6f\x58\x46\x5a\x34','\x63\x38\x6b\x2b\x6c\x47\x58\x72\x68\x6d\x6f\x4b\x63\x47','\x77\x38\x6f\x4e\x77\x53\x6b\x4f\x57\x4f\x5a\x63\x4b\x43\x6f\x45\x57\x34\x79','\x57\x36\x6e\x67\x79\x4e\x52\x63\x52\x53\x6f\x75\x57\x52\x4c\x46','\x57\x4f\x62\x46\x78\x53\x6f\x6a\x6a\x77\x4f','\x74\x43\x6b\x64\x57\x36\x6e\x78\x68\x38\x6f\x45\x64\x4d\x71','\x57\x37\x54\x59\x6b\x57','\x6f\x72\x4c\x35\x57\x37\x56\x64\x4e\x38\x6b\x74\x46\x4c\x78\x64\x4e\x66\x6e\x6d\x70\x6d\x6b\x56','\x57\x36\x56\x64\x4a\x53\x6b\x73\x57\x52\x5a\x63\x49\x63\x42\x64\x56\x49\x61','\x57\x35\x46\x64\x47\x6d\x6b\x55\x44\x53\x6f\x4b\x57\x50\x53\x5a\x78\x57','\x57\x50\x46\x64\x4e\x47\x33\x64\x4e\x76\x6a\x32\x68\x61','\x57\x50\x6d\x71\x61\x53\x6b\x59\x57\x37\x52\x63\x4d\x61\x2f\x64\x50\x47','\x57\x52\x4c\x61\x71\x77\x56\x64\x51\x38\x6b\x61\x68\x6d\x6f\x6c','\x57\x37\x2f\x63\x52\x4c\x53','\x57\x51\x72\x6d\x41\x74\x70\x63\x4f\x43\x6f\x6e','\x44\x49\x72\x6a\x57\x50\x42\x63\x4e\x4d\x37\x63\x56\x65\x79','\x62\x6d\x6b\x45\x6f\x43\x6f\x72\x57\x51\x64\x63\x4a\x75\x69','\x57\x35\x66\x68\x66\x43\x6b\x42\x57\x37\x53\x4c\x57\x35\x58\x48','\x6a\x6d\x6b\x57\x6a\x62\x71','\x44\x53\x6b\x45\x68\x53\x6b\x51\x6f\x43\x6b\x6c\x57\x34\x70\x64\x4e\x61','\x6e\x38\x6b\x31\x68\x43\x6f\x31\x57\x50\x70\x63\x4f\x78\x46\x64\x53\x61','\x72\x38\x6f\x67\x67\x6d\x6b\x49\x6b\x38\x6b\x41\x57\x34\x37\x63\x4b\x57','\x78\x53\x6f\x45\x57\x35\x71\x6f\x57\x36\x68\x63\x4e\x4e\x4a\x64\x50\x61','\x57\x51\x65\x74\x44\x4d\x33\x64\x4f\x53\x6b\x61','\x57\x34\x2f\x64\x51\x31\x65','\x57\x35\x71\x57\x57\x36\x37\x63\x4a\x6d\x6b\x52\x57\x51\x65','\x79\x5a\x76\x79\x57\x4f\x33\x64\x4e\x57','\x57\x52\x43\x6a\x79\x4a\x56\x63\x50\x53\x6f\x69\x57\x52\x75\x76','\x57\x51\x48\x46\x78\x61','\x78\x53\x6b\x34\x66\x47','\x57\x52\x7a\x6e\x57\x34\x50\x5a\x57\x52\x78\x64\x56\x77\x69','\x6f\x48\x68\x63\x47\x59\x52\x63\x51\x66\x62\x32\x57\x50\x61','\x57\x35\x69\x38\x57\x51\x74\x63\x4a\x38\x6b\x36\x57\x52\x4f\x32\x57\x37\x71','\x57\x51\x7a\x68\x43\x63\x4a\x63\x50\x53\x6f\x62\x57\x51\x6d','\x67\x77\x71\x46\x57\x34\x74\x64\x4a\x71\x62\x48\x57\x36\x47','\x43\x49\x47\x72\x57\x4f\x4e\x64\x4c\x68\x6c\x64\x51\x4c\x65','\x57\x37\x4e\x63\x4e\x53\x6b\x43\x57\x4f\x34\x52\x63\x38\x6f\x73\x62\x71','\x57\x35\x42\x63\x50\x4a\x71\x61\x57\x36\x58\x44\x66\x6d\x6f\x76','\x43\x63\x72\x62\x57\x4f\x37\x64\x4b\x67\x4a\x63\x52\x57','\x57\x4f\x62\x32\x72\x71\x52\x63\x48\x53\x6f\x37\x57\x50\x53\x30','\x57\x36\x70\x63\x47\x48\x71\x35\x57\x34\x6a\x55\x6a\x6d\x6f\x2b','\x57\x37\x4e\x63\x52\x53\x6f\x74\x57\x51\x52\x63\x4b\x64\x68\x63\x49\x4b\x79','\x6d\x38\x6b\x4f\x64\x6d\x6f\x45\x57\x4f\x4e\x63\x55\x57','\x64\x64\x43\x36\x57\x34\x62\x61','\x57\x52\x4c\x45\x57\x52\x6a\x42\x45\x71\x52\x63\x4e\x71\x34','\x61\x38\x6b\x58\x6e\x47','\x6e\x43\x6f\x71\x46\x53\x6f\x51\x57\x37\x6e\x55\x57\x35\x44\x38','\x57\x37\x4a\x64\x4c\x43\x6b\x4b\x42\x43\x6b\x5a\x57\x4f\x43\x79\x67\x47','\x57\x50\x74\x64\x4b\x6d\x6b\x49\x75\x59\x4c\x35\x57\x36\x4e\x63\x55\x71','\x78\x43\x6f\x4a\x72\x43\x6b\x41\x57\x52\x64\x63\x4c\x38\x6f\x41','\x70\x43\x6b\x55\x63\x57','\x6f\x72\x74\x63\x4c\x59\x68\x63\x50\x65\x44\x69\x57\x50\x61','\x6b\x33\x62\x68\x67\x6d\x6f\x36\x78\x31\x4a\x64\x4a\x57','\x57\x4f\x68\x64\x55\x31\x4a\x64\x54\x66\x37\x64\x55\x38\x6f\x33\x61\x57','\x43\x31\x6d\x2f\x43\x6d\x6b\x39','\x6d\x57\x4e\x63\x4f\x43\x6b\x6a\x57\x37\x69','\x46\x4c\x4b\x4f\x57\x52\x64\x63\x47\x43\x6f\x67\x6b\x32\x79','\x68\x4b\x46\x63\x52\x65\x4e\x63\x56\x61','\x6f\x76\x64\x63\x56\x31\x74\x63\x51\x32\x70\x64\x54\x61','\x75\x32\x6e\x6b\x6f\x53\x6b\x71\x57\x36\x79\x69\x7a\x57','\x75\x53\x6f\x4a\x74\x53\x6b\x47\x57\x50\x68\x63\x49\x53\x6f\x44\x57\x37\x65','\x57\x4f\x43\x4c\x41\x4c\x46\x64\x4c\x6d\x6b\x50','\x73\x43\x6b\x63\x57\x36\x76\x44\x62\x53\x6f\x4b\x61\x30\x65','\x42\x47\x4f\x72\x41\x53\x6b\x38\x57\x50\x30\x53\x74\x57','\x77\x33\x6d\x58\x73\x43\x6f\x4a\x63\x38\x6b\x4e\x57\x37\x57','\x69\x33\x6c\x63\x4b\x43\x6b\x56\x57\x34\x37\x64\x52\x38\x6b\x55\x57\x51\x47','\x6a\x61\x79\x67\x57\x37\x66\x4e\x57\x36\x4a\x64\x4f\x38\x6f\x43','\x6f\x67\x58\x41\x68\x53\x6f\x57\x74\x65\x65','\x57\x35\x47\x58\x57\x36\x68\x63\x4d\x53\x6b\x37\x57\x37\x75\x53\x57\x36\x38','\x57\x50\x43\x2f\x44\x30\x70\x64\x4c\x43\x6b\x47\x6a\x38\x6b\x2b','\x57\x36\x70\x63\x47\x48\x71\x35\x57\x34\x6a\x55\x6a\x6d\x6f\x32','\x72\x75\x64\x63\x55\x43\x6f\x4b\x75\x53\x6f\x44\x66\x48\x71','\x57\x37\x4c\x4f\x6c\x53\x6b\x59\x57\x34\x53','\x57\x4f\x33\x63\x4c\x4e\x6d\x59\x57\x52\x62\x49\x57\x4f\x52\x64\x4a\x61','\x41\x61\x46\x63\x49\x63\x76\x35','\x71\x6d\x6b\x73\x64\x38\x6b\x4d\x6a\x38\x6b\x79\x57\x34\x70\x64\x4c\x71','\x57\x52\x39\x73\x78\x71\x42\x64\x51\x64\x4e\x64\x49\x43\x6b\x4c','\x72\x38\x6b\x6a\x6d\x43\x6b\x47\x70\x53\x6b\x41\x57\x35\x4a\x64\x53\x61','\x57\x52\x42\x63\x4b\x33\x69\x32\x57\x52\x6a\x32','\x57\x52\x4e\x63\x50\x38\x6b\x68\x57\x36\x64\x63\x4b\x38\x6b\x33\x7a\x43\x6b\x6b\x7a\x4b\x56\x64\x52\x43\x6f\x52','\x6f\x38\x6b\x31\x68\x43\x6f\x79\x57\x50\x56\x63\x55\x58\x48\x37','\x75\x72\x37\x64\x50\x67\x33\x64\x55\x33\x6d\x56\x75\x57','\x57\x50\x56\x63\x4d\x57\x4a\x64\x4a\x31\x39\x34\x68\x43\x6f\x4c','\x75\x75\x75\x56\x57\x51\x74\x63\x49\x61','\x57\x50\x66\x56\x7a\x67\x4e\x64\x4b\x57\x64\x64\x52\x53\x6b\x68','\x57\x34\x65\x73\x57\x52\x53','\x57\x36\x5a\x63\x49\x43\x6b\x6c\x57\x50\x34\x52\x68\x43\x6b\x67\x64\x71','\x42\x74\x66\x75\x57\x4f\x5a\x64\x4b\x67\x69','\x57\x37\x75\x48\x57\x34\x52\x63\x4f\x43\x6b\x6a','\x75\x38\x6b\x66\x57\x36\x62\x43\x65\x53\x6f\x4d','\x72\x62\x35\x73\x7a\x38\x6f\x6e\x6f\x6d\x6b\x64\x57\x35\x47','\x6e\x64\x5a\x64\x47\x30\x4e\x64\x49\x71\x6d\x2f\x42\x61','\x57\x36\x42\x63\x52\x4c\x56\x64\x51\x43\x6b\x64\x67\x6d\x6b\x45\x57\x51\x4b','\x77\x6d\x6f\x41\x57\x35\x75\x74\x57\x37\x33\x63\x4e\x68\x64\x64\x52\x57','\x63\x30\x50\x58\x6e\x43\x6f\x6d\x43\x32\x47','\x62\x62\x6e\x70\x57\x34\x4f\x6f\x57\x34\x75\x64','\x43\x59\x33\x63\x48\x75\x46\x64\x4c\x75\x57\x78\x43\x61','\x57\x51\x4a\x64\x4e\x48\x70\x64\x47\x75\x76\x30\x77\x43\x6b\x58','\x57\x51\x31\x68\x72\x4c\x37\x64\x52\x49\x52\x64\x49\x43\x6b\x45','\x6e\x74\x5a\x63\x4a\x38\x6f\x54\x57\x34\x52\x64\x52\x43\x6f\x36','\x42\x53\x6b\x34\x57\x34\x39\x47\x70\x6d\x6f\x41\x6c\x4b\x4f','\x76\x43\x6b\x64\x57\x34\x42\x64\x52\x38\x6f\x75\x6f\x5a\x70\x64\x52\x47','\x46\x73\x42\x64\x49\x75\x2f\x64\x4a\x30\x30\x75\x76\x61','\x61\x67\x6d\x73\x57\x34\x2f\x64\x49\x4a\x50\x37\x57\x37\x30','\x57\x35\x78\x63\x4f\x64\x4f\x67\x57\x37\x44\x6e\x6c\x6d\x6f\x71','\x57\x34\x62\x77\x65\x43\x6b\x46\x57\x37\x57\x4e\x57\x35\x62\x57','\x77\x6d\x6f\x41\x57\x35\x75\x46\x57\x37\x6c\x63\x4c\x47','\x70\x5a\x52\x63\x48\x6d\x6f\x47\x57\x34\x5a\x64\x50\x38\x6f\x4e\x57\x51\x57','\x75\x53\x6b\x57\x57\x36\x33\x64\x4b\x6d\x6f\x36\x63\x61\x46\x63\x4d\x61','\x57\x37\x66\x75\x62\x71','\x61\x62\x68\x63\x47\x73\x4e\x63\x55\x75\x50\x6b\x57\x34\x71','\x68\x38\x6b\x51\x57\x34\x74\x64\x4b\x38\x6f\x69','\x57\x36\x35\x67\x61\x57','\x57\x36\x4e\x63\x4b\x6d\x6b\x53\x41\x38\x6f\x5a\x57\x50\x4f\x78\x78\x57','\x57\x50\x54\x37\x57\x37\x39\x79\x57\x50\x4e\x64\x4e\x75\x6c\x64\x4a\x61','\x57\x52\x39\x58\x63\x43\x6b\x2b\x6c\x53\x6f\x61\x57\x50\x34','\x57\x35\x48\x64\x65\x43\x6b\x68\x57\x34\x65\x59\x57\x35\x58\x48','\x57\x50\x56\x64\x49\x62\x56\x63\x4a\x4b\x7a\x4a\x66\x43\x6f\x4c','\x67\x71\x74\x63\x4c\x5a\x74\x63\x52\x4c\x62\x38\x57\x52\x79','\x63\x43\x6b\x52\x64\x43\x6f\x79\x57\x50\x42\x63\x52\x63\x65\x74','\x78\x76\x57\x78\x41\x6d\x6f\x56\x65\x53\x6f\x67\x57\x34\x4f','\x6a\x43\x6b\x61\x61\x74\x48\x49\x6d\x43\x6f\x77\x6f\x57','\x44\x68\x5a\x63\x55\x53\x6f\x6d\x72\x47','\x76\x6d\x6f\x53\x44\x66\x71\x67\x74\x43\x6b\x58\x6f\x78\x37\x64\x4e\x6d\x6f\x5a\x57\x36\x78\x64\x52\x61','\x57\x37\x42\x64\x48\x43\x6b\x55\x46\x6d\x6b\x38\x57\x51\x30\x45\x67\x47','\x57\x35\x34\x38\x57\x37\x69','\x57\x50\x31\x34\x57\x36\x39\x76\x57\x4f\x37\x64\x4c\x4c\x69','\x63\x68\x34\x65\x57\x34\x78\x64\x4c\x61','\x66\x43\x6b\x36\x6d\x48\x54\x46\x67\x53\x6f\x53\x6f\x47','\x6e\x43\x6b\x4b\x63\x6d\x6f\x54\x57\x4f\x4a\x63\x53\x77\x5a\x64\x56\x61','\x73\x43\x6b\x64\x57\x36\x4b\x44\x67\x43\x6f\x35\x63\x67\x43','\x44\x74\x56\x64\x4a\x47','\x42\x68\x6c\x63\x49\x38\x6f\x46\x7a\x43\x6f\x51\x69\x47\x4b','\x68\x43\x6b\x51\x67\x6d\x6b\x45','\x57\x4f\x54\x39\x57\x36\x48\x76\x57\x50\x6c\x64\x4c\x66\x2f\x64\x47\x57','\x57\x50\x2f\x64\x4b\x53\x6b\x4a\x72\x71','\x79\x38\x6b\x4a\x6d\x38\x6b\x6f\x61\x6d\x6b\x47\x57\x36\x4a\x64\x53\x47','\x63\x5a\x79\x56\x57\x35\x6e\x43\x57\x35\x68\x64\x4e\x6d\x6f\x36','\x43\x31\x4b\x67\x42\x53\x6f\x62\x6b\x43\x6b\x70\x57\x35\x69','\x77\x76\x6a\x51\x6d\x53\x6f\x72\x70\x4e\x4a\x64\x51\x61','\x78\x38\x6f\x78\x57\x35\x43\x46','\x63\x4b\x54\x54\x6b\x6d\x6f\x6c\x45\x71','\x57\x36\x5a\x64\x4c\x43\x6f\x72\x57\x36\x64\x63\x4c\x49\x46\x64\x54\x63\x38','\x78\x43\x6b\x62\x6f\x6d\x6b\x33\x6b\x53\x6b\x41\x57\x35\x52\x64\x48\x57','\x76\x6d\x6b\x65\x57\x37\x76\x44\x62\x38\x6f\x2b\x63\x32\x61','\x57\x4f\x37\x64\x54\x75\x68\x64\x52\x4b\x2f\x63\x54\x43\x6f\x32\x78\x71','\x63\x5a\x57\x36\x57\x34\x54\x41\x57\x35\x46\x64\x4d\x53\x6f\x32','\x57\x50\x47\x66\x73\x38\x6b\x4b\x57\x37\x5a\x63\x4d\x71','\x57\x52\x30\x70\x77\x57','\x57\x35\x71\x49\x57\x36\x68\x63\x48\x38\x6b\x50\x57\x52\x58\x31\x57\x37\x61','\x77\x6d\x6b\x2f\x68\x53\x6f\x64\x57\x4f\x2f\x64\x52\x31\x57','\x57\x37\x33\x63\x4c\x6d\x6b\x65\x57\x50\x38\x54\x62\x57','\x66\x38\x6b\x6c\x67\x6d\x6b\x37\x6b\x6d\x6b\x42\x57\x34\x56\x64\x48\x57'];_0x2522=function(){return _0x4a4761;};return _0x2522();}export function buildOpenAIHeaders(_0x28c16b,_0x1093ba){const _0x23bf49=_0x33e187,_0x59ec05={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x23bf49(0x1c6,'\x26\x55\x24\x66')+_0x23bf49(0x254,'\x35\x4d\x5b\x73')};for(const [_0x31dcdc,_0x2675cc]of Object[_0x23bf49(0x1c8,'\x67\x79\x6a\x52')](_0x28c16b)){const _0x5cc90d=_0x31dcdc[_0x23bf49(0x175,'\x6f\x29\x4f\x73')+_0x23bf49(0x37a,'\x61\x62\x6c\x66')]();if(_0x5cc90d!==_0x23bf49(0x341,'\x35\x4d\x5b\x73')+_0x23bf49(0x37d,'\x31\x76\x48\x56')+_0x23bf49(0x217,'\x31\x76\x48\x56')&&_0x5cc90d!=='\x6f\x70\x65\x6e\x61\x69\x2d\x70'+_0x23bf49(0x23e,'\x40\x76\x7a\x24')&&_0x5cc90d!==_0x23bf49(0x297,'\x38\x6d\x30\x52')+_0x23bf49(0x313,'\x6d\x78\x47\x71')&&!_0x5cc90d[_0x23bf49(0x137,'\x21\x37\x50\x21')+'\x74\x68'](_0x23bf49(0x30a,'\x55\x67\x49\x56')+_0x23bf49(0x280,'\x6a\x70\x5e\x35')))continue;const _0x41602=safeHeaderValue(_0x2675cc);if(_0x41602!==null)_0x59ec05[_0x5cc90d]=_0x41602;}const _0x1e16e1=_0x1093ba[_0x23bf49(0x323,'\x67\x77\x58\x69')+_0x23bf49(0x2a0,'\x7a\x5d\x5e\x64')+_0x23bf49(0x3dc,'\x4b\x35\x55\x4b')+'\x45\x59']||_0x1093ba[_0x23bf49(0x2a1,'\x67\x77\x58\x69')+'\x50\x45\x4e\x41\x49\x5f\x41\x50'+_0x23bf49(0x1ef,'\x67\x77\x58\x69')]||_0x1093ba['\x4f\x50\x45\x4e\x41\x49\x5f\x41'+_0x23bf49(0x31b,'\x38\x44\x53\x42')];if(!_0x1e16e1)throw Object[_0x23bf49(0x350,'\x61\x62\x6c\x66')](new Error(_0x23bf49(0x119,'\x61\x35\x74\x42')+_0x23bf49(0x1ca,'\x7a\x5d\x5e\x64')+_0x23bf49(0x225,'\x56\x56\x76\x26')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return _0x59ec05[_0x23bf49(0x31d,'\x29\x57\x45\x25')+_0x23bf49(0x2d9,'\x57\x4e\x69\x45')]=_0x23bf49(0x265,'\x21\x37\x50\x21')+_0x1e16e1,_0x59ec05;}export function buildGeminiHeaders(_0x121e08,_0x24a905){const _0x227ded=_0x33e187,_0x48def3={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x227ded(0x172,'\x29\x57\x45\x25')+_0x227ded(0x3af,'\x74\x6b\x42\x53')};for(const [_0x5916be,_0x54e238]of Object[_0x227ded(0x303,'\x7a\x5d\x5e\x64')](_0x121e08)){const _0x26b69b=_0x5916be[_0x227ded(0x1f4,'\x57\x4e\x69\x45')+_0x227ded(0x1fc,'\x67\x44\x5a\x51')]();if(_0x26b69b!==_0x227ded(0x3a4,'\x79\x6b\x6e\x56')+_0x227ded(0x173,'\x55\x67\x49\x56')+_0x227ded(0x25e,'\x7a\x5d\x5e\x64')&&_0x26b69b!==_0x227ded(0x1e8,'\x61\x35\x74\x42')+'\x70\x69\x2d\x63\x6c\x69\x65\x6e'+'\x74'&&!_0x26b69b[_0x227ded(0x180,'\x40\x76\x7a\x24')+'\x74\x68'](_0x227ded(0x3c1,'\x29\x57\x45\x25')+_0x227ded(0x19c,'\x7a\x5d\x5e\x64')))continue;const _0x2e3670=safeHeaderValue(_0x54e238);if(_0x2e3670!==null)_0x48def3[_0x26b69b]=_0x2e3670;}const _0x16f22c=_0x24a905['\x45\x56\x4f\x4d\x41\x50\x5f\x47'+_0x227ded(0x181,'\x6e\x4a\x41\x51')+_0x227ded(0x30e,'\x40\x76\x7a\x24')]||_0x24a905[_0x227ded(0x152,'\x6a\x70\x5e\x35')+'\x50\x49\x5f\x4b\x45\x59']||_0x24a905[_0x227ded(0x31e,'\x67\x44\x5a\x51')+'\x50\x49\x5f\x4b\x45\x59'];if(!_0x16f22c)throw Object[_0x227ded(0x1ab,'\x6c\x65\x77\x37')](new Error(_0x227ded(0x253,'\x38\x44\x53\x42')+_0x227ded(0x3a8,'\x6f\x29\x4f\x73')+_0x227ded(0x113,'\x40\x76\x7a\x24')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return _0x48def3['\x78\x2d\x67\x6f\x6f\x67\x2d\x61'+_0x227ded(0x33b,'\x31\x6a\x49\x72')]=_0x16f22c,_0x48def3;}export function buildOllamaHeaders(_0x4e6be7){const _0x21d4d0=_0x33e187,_0x52cbee={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x21d4d0(0x309,'\x61\x35\x74\x42')+_0x21d4d0(0x27f,'\x79\x6b\x6e\x56')},_0x21e207=_0x4e6be7[_0x21d4d0(0x1ed,'\x35\x4d\x5b\x73')+_0x21d4d0(0x389,'\x29\x57\x45\x25')+_0x21d4d0(0x3cd,'\x79\x6b\x6e\x56')];if(_0x21e207)_0x52cbee[_0x21d4d0(0x2fe,'\x4d\x79\x39\x28')+'\x61\x74\x69\x6f\x6e']=_0x21d4d0(0x32a,'\x52\x38\x37\x44')+_0x21e207;return _0x52cbee;}export function buildVertexHeaders(_0x4f3564){const _0x455021=_0x33e187,_0xf24f27=_0x4f3564[_0x455021(0x20c,'\x38\x6d\x30\x52')+_0x455021(0x32e,'\x74\x6b\x42\x53')+'\x43\x45\x53\x53\x5f\x54\x4f\x4b'+'\x45\x4e'];if(!_0xf24f27)throw Object[_0x455021(0x117,'\x29\x23\x52\x6d')](new Error(_0x455021(0x1cb,'\x40\x76\x7a\x24')+_0x455021(0x1eb,'\x67\x6a\x41\x69')+'\x6b\x65\x6e\x20\x72\x65\x71\x75'+_0x455021(0x251,'\x67\x44\x5a\x51')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x455021(0x1b8,'\x67\x77\x58\x69')+_0x455021(0x229,'\x29\x57\x45\x25'),'\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x455021(0x1e1,'\x44\x4b\x43\x55')+_0xf24f27};}function providerGatewayError(_0x2773a7,_0x428e4e,_0x148102=0x2*0x973+0x17c4+0x4*-0xa2d){const _0x5b4bd3=_0x33e187,_0x1c320f=_0x428e4e&&typeof _0x428e4e===_0x5b4bd3(0x15e,'\x79\x6b\x6e\x56')&&_0x5b4bd3(0x160,'\x35\x4d\x5b\x73')in _0x428e4e?String(_0x428e4e['\x6e\x61\x6d\x65']):'',_0x509f79=_0x1c320f===_0x5b4bd3(0x2af,'\x31\x76\x48\x56')+_0x5b4bd3(0x2fa,'\x61\x6d\x63\x46')||_0x1c320f===_0x5b4bd3(0x269,'\x67\x79\x6a\x52')+'\x6f\x72';return Object[_0x5b4bd3(0x161,'\x61\x35\x74\x42')](new Error(_0x509f79?_0x2773a7+(_0x5b4bd3(0x3da,'\x52\x38\x37\x44')+_0x5b4bd3(0x1b3,'\x6b\x45\x69\x54')+_0x5b4bd3(0x13e,'\x35\x4d\x5b\x73')):_0x2773a7+(_0x5b4bd3(0x2e7,'\x6e\x4a\x41\x51')+_0x5b4bd3(0x2ee,'\x69\x56\x71\x63')+_0x5b4bd3(0x1c2,'\x67\x79\x6a\x52'))),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':_0x509f79?0x19*0xb3+0x33*-0x13+-0xbba:_0x148102,'\x63\x61\x75\x73\x65':_0x428e4e});}async function fetchUpstream(_0x142527,_0x460fe3,_0x3eaf66,_0x47abf8,_0x5bb869,_0x1fa79f,_0x9d4f1d,_0x1fc102){const _0x578973=_0x33e187,_0x1bc539=(_0x3eaf66['\x6d\x65\x74\x68\x6f\x64']||_0x578973(0x14c,'\x6f\x29\x4f\x73'))[_0x578973(0x340,'\x29\x23\x52\x6d')+_0x578973(0x22a,'\x4d\x79\x39\x28')](),_0x279e11=new AbortController(),_0xf32521=new Error(_0x9d4f1d+(_0x578973(0x147,'\x54\x56\x59\x54')+_0x578973(0x151,'\x67\x77\x58\x69')+_0x578973(0x1d9,'\x69\x56\x71\x63')));_0xf32521['\x6e\x61\x6d\x65']=_0x578973(0x191,'\x6e\x4a\x41\x51')+'\x72\x72\x6f\x72';const _0x5218c1=setTimeout(()=>_0x279e11[_0x578973(0x16f,'\x63\x31\x46\x31')](_0xf32521),_0x1fa79f);let _0x551bba;try{const _0x212e1f={'\x6d\x65\x74\x68\x6f\x64':_0x1bc539,'\x68\x65\x61\x64\x65\x72\x73':_0x47abf8,'\x73\x69\x67\x6e\x61\x6c':_0x279e11[_0x578973(0x11f,'\x58\x39\x4d\x78')]};if(_0x1bc539!==_0x578973(0x397,'\x5e\x61\x4e\x46')&&_0x1bc539!==_0x578973(0x187,'\x67\x77\x58\x69'))_0x212e1f[_0x578973(0x12c,'\x56\x56\x76\x26')]=JSON[_0x578973(0x3cb,'\x69\x56\x71\x63')+'\x79'](_0x460fe3??{});_0x551bba=await _0x5bb869(_0x142527,_0x212e1f);}catch(_0x18d7b6){if(_0x578973(0x1de,'\x61\x35\x74\x42')!=='\x68\x56\x57\x49\x53'){const _0x2359b5={'\x72\x65\x67\x69\x6f\x6e':_0x33e7a1[_0x578973(0x2bc,'\x21\x37\x50\x21')+'\x4f\x4e']||_0x4ac030[_0x578973(0x169,'\x6f\x29\x4f\x73')+_0x578973(0x1a1,'\x6e\x4a\x41\x51')+'\x4f\x4e']||_0x578973(0x351,'\x33\x29\x6e\x34')+'\x31',..._0x5acbf5['\x45\x56\x4f\x4d\x41\x50\x5f\x42'+_0x578973(0x374,'\x61\x6d\x63\x46')+_0x578973(0x2e8,'\x52\x38\x37\x44')]?{'\x65\x6e\x64\x70\x6f\x69\x6e\x74':_0x49bd59(_0x4b476a[_0x578973(0x2db,'\x56\x56\x76\x26')+'\x45\x44\x52\x4f\x43\x4b\x5f\x45'+_0x578973(0x138,'\x4d\x79\x39\x28')],_0x578973(0x2e6,'\x7a\x5d\x5e\x64')+'\x65\x6e\x64\x70\x6f\x69\x6e\x74')}:{}},_0x45a00d=_0x1d089a[_0x578973(0x1f2,'\x57\x4e\x69\x45')+'\x79'](_0x2359b5);return(!_0x4e048c||_0x11d225!==_0x45a00d||_0x26e39e!==_0xc273de)&&(_0x54beaa=_0xe949b5[_0x578973(0x2f2,'\x4d\x79\x39\x28')+_0x578973(0x10d,'\x69\x28\x28\x7a')](_0x2359b5),_0x2534c3=_0x45a00d,_0x295ea7=_0x32a843),_0x397d86;}else{clearTimeout(_0x5218c1);throw providerGatewayError(_0x9d4f1d,_0x18d7b6);}}finally{if(_0x578973(0x15d,'\x55\x67\x49\x56')==='\x58\x44\x49\x6c\x4d'){const _0x2acd6f=_0x134cf6[_0x578973(0x39d,'\x69\x56\x71\x63')]??_0x2eef83.env,_0x461cb6=_0x1508e2[_0x578973(0x26f,'\x67\x44\x5a\x51')]?_0x23f5de(_0x3863f5[_0x578973(0x2a5,'\x44\x4b\x43\x55')]):_0x4ef72f(_0x2acd6f);return _0x467d26(''+_0x461cb6+_0xd30287,_0x4131d5,_0x1a578d,_0x44af13(_0x126b48[_0x578973(0x1e5,'\x29\x57\x45\x25')+_0x578973(0x2de,'\x4d\x79\x39\x28')],_0x2acd6f),_0x48f575,_0x1879d7,'\x6f\x70\x65\x6e\x61\x69',_0x41f52f=>_0x4aa24a(_0x41f52f,'\x74\x65\x78\x74\x2f\x65\x76\x65'+_0x578973(0x1b2,'\x38\x44\x53\x42')+'\x6d'));}else clearTimeout(_0x5218c1);}const _0x10ff13={};for(const [_0x1f31f1,_0x331216]of _0x551bba[_0x578973(0x2a2,'\x61\x35\x74\x42')][_0x578973(0x3b6,'\x54\x56\x59\x54')]())_0x10ff13[_0x1f31f1['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x578973(0x13a,'\x66\x75\x4b\x50')]()]=_0x331216;const _0xa4632e=_0x1fc102(_0x10ff13,_0x142527,_0x460fe3);return{'\x73\x74\x61\x74\x75\x73':_0x551bba[_0x578973(0x3d3,'\x6c\x65\x77\x37')],'\x68\x65\x61\x64\x65\x72\x73':_0x10ff13,'\x73\x74\x72\x65\x61\x6d':_0xa4632e?_0x551bba[_0x578973(0x155,'\x6c\x65\x77\x37')]:null,'\x74\x65\x78\x74':_0xa4632e?undefined:()=>_0x551bba[_0x578973(0x114,'\x38\x6d\x30\x52')]()[_0x578973(0x183,'\x38\x6d\x30\x52')](_0x8da2f9=>{const _0x1b31da=_0x578973;if(_0x1b31da(0x25f,'\x33\x29\x6e\x34')===_0x1b31da(0x29d,'\x40\x76\x7a\x24'))_0x46cd72=_0x22e9b1['\x63\x72\x65\x61\x74\x65\x43\x6c'+_0x1b31da(0x36f,'\x6f\x29\x4f\x73')](_0x541b16),_0x5bbbba=_0x1d8706,_0x12decb=_0x51111a;else throw providerGatewayError(_0x9d4f1d,_0x8da2f9);})};}function _0x33ca(_0x3ae231,_0x1af85f){_0x3ae231=_0x3ae231-(-0x1238+-0x11c*0x2+-0x157d*-0x1);const _0x51d330=_0x2522();let _0x49856c=_0x51d330[_0x3ae231];if(_0x33ca['\x57\x56\x77\x53\x55\x58']===undefined){var _0x2cd842=function(_0x1e45af){const _0x71c09b='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x3c817d='',_0x4c6e74='';for(let _0x4aaeae=-0x194b+0x1514+0x437,_0x3d6220,_0x1d6e20,_0x5a6b7e=0xaaf+0xb0f+-0x15be;_0x1d6e20=_0x1e45af['\x63\x68\x61\x72\x41\x74'](_0x5a6b7e++);~_0x1d6e20&&(_0x3d6220=_0x4aaeae%(0x1a92+0xcd2+0x38*-0xb4)?_0x3d6220*(0xbf2*-0x3+0x1*0x181d+0xbf9)+_0x1d6e20:_0x1d6e20,_0x4aaeae++%(-0xe9f+-0x1b39+0x29dc))?_0x3c817d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xe*-0x2a0+0x19*-0x19+0x2*0x1418&_0x3d6220>>(-(-0x2a+0x1dff+0x1dd3*-0x1)*_0x4aaeae&-0x1*-0x7b5+-0xff9*-0x2+-0x27a1)):-0x253+0x2435*0x1+-0x21e2*0x1){_0x1d6e20=_0x71c09b['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1d6e20);}for(let _0x452971=-0x1*-0x47f+-0x1*0x251+-0x22e,_0x435074=_0x3c817d['\x6c\x65\x6e\x67\x74\x68'];_0x452971<_0x435074;_0x452971++){_0x4c6e74+='\x25'+('\x30\x30'+_0x3c817d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x452971)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*-0x611+0x1d29+-0x1708))['\x73\x6c\x69\x63\x65'](-(-0x1b6b+-0x1a20+0x358d));}return decodeURIComponent(_0x4c6e74);};const _0x531e1a=function(_0x16b290,_0x30ab20){let _0x3165d8=[],_0x441ffc=-0x1*-0x983+-0x2*0x6c3+0x403,_0xb922ed,_0x3b4e8c='';_0x16b290=_0x2cd842(_0x16b290);let _0x2d0bbd;for(_0x2d0bbd=0xe03+-0x2537+0x4a4*0x5;_0x2d0bbd<-0x235e+-0x16f7*-0x1+0xd67;_0x2d0bbd++){_0x3165d8[_0x2d0bbd]=_0x2d0bbd;}for(_0x2d0bbd=-0x1421+0x9ff+0x1*0xa22;_0x2d0bbd<0x1639*0x1+0x4*0x6c2+0x3041*-0x1;_0x2d0bbd++){_0x441ffc=(_0x441ffc+_0x3165d8[_0x2d0bbd]+_0x30ab20['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2d0bbd%_0x30ab20['\x6c\x65\x6e\x67\x74\x68']))%(0x1409+-0x1*-0x1d3b+-0x3044),_0xb922ed=_0x3165d8[_0x2d0bbd],_0x3165d8[_0x2d0bbd]=_0x3165d8[_0x441ffc],_0x3165d8[_0x441ffc]=_0xb922ed;}_0x2d0bbd=0x22c*0x1+-0x3*0x23d+-0x1*-0x48b,_0x441ffc=-0x1247+0x5*0x97+0x2*0x7aa;for(let _0x4ce0c3=-0x1df7+-0x1fb7+-0x1ed7*-0x2;_0x4ce0c3<_0x16b290['\x6c\x65\x6e\x67\x74\x68'];_0x4ce0c3++){_0x2d0bbd=(_0x2d0bbd+(-0x4bf+0x1919*0x1+-0x1*0x1459))%(0x1325*-0x1+0x196c+0x7*-0xc1),_0x441ffc=(_0x441ffc+_0x3165d8[_0x2d0bbd])%(-0xd3*0x3+-0x75a+-0xad3*-0x1),_0xb922ed=_0x3165d8[_0x2d0bbd],_0x3165d8[_0x2d0bbd]=_0x3165d8[_0x441ffc],_0x3165d8[_0x441ffc]=_0xb922ed,_0x3b4e8c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x16b290['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4ce0c3)^_0x3165d8[(_0x3165d8[_0x2d0bbd]+_0x3165d8[_0x441ffc])%(0x155d*0x1+0x1bb+-0x1618)]);}return _0x3b4e8c;};_0x33ca['\x63\x70\x7a\x76\x54\x48']=_0x531e1a,_0x33ca['\x75\x56\x51\x5a\x48\x6d']={},_0x33ca['\x57\x56\x77\x53\x55\x58']=!![];}const _0x58705b=_0x51d330[-0x1f49*0x1+0x2*0x95b+0x6f*0x1d],_0x26d707=_0x3ae231+_0x58705b,_0x5afaf7=_0x33ca['\x75\x56\x51\x5a\x48\x6d'][_0x26d707];return!_0x5afaf7?(_0x33ca['\x77\x63\x6e\x49\x42\x46']===undefined&&(_0x33ca['\x77\x63\x6e\x49\x42\x46']=!![]),_0x49856c=_0x33ca['\x63\x70\x7a\x76\x54\x48'](_0x49856c,_0x1af85f),_0x33ca['\x75\x56\x51\x5a\x48\x6d'][_0x26d707]=_0x49856c):_0x49856c=_0x5afaf7,_0x49856c;}const contentTypeIncludes=(_0x1c05c7,_0x2b51d8)=>(_0x1c05c7[_0x33e187(0x3df,'\x6e\x4a\x41\x51')+_0x33e187(0x188,'\x54\x56\x59\x54')]||'')[_0x33e187(0x39f,'\x56\x56\x76\x26')+'\x61\x73\x65']()[_0x33e187(0x28a,'\x40\x48\x61\x74')](_0x2b51d8);function jsonResult(_0x302200,_0x19d7ad){const _0xb465cc=_0x33e187,_0x1937d7=JSON[_0xb465cc(0x204,'\x48\x6b\x38\x5a')+'\x79'](_0x19d7ad);return{'\x73\x74\x61\x74\x75\x73':_0x302200,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0xb465cc(0x35d,'\x73\x21\x6a\x67')+_0xb465cc(0x1af,'\x33\x57\x79\x50')},'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x1937d7};}function bodyRecord(_0x1c60c1){const _0x31f455=_0x33e187;if(!_0x1c60c1||typeof _0x1c60c1!==_0x31f455(0x247,'\x54\x56\x59\x54')||Array[_0x31f455(0x279,'\x66\x75\x4b\x50')](_0x1c60c1))return{};return _0x1c60c1;}function textFromBytes(_0x2624c1){const _0xc908bb=_0x33e187;if(typeof _0x2624c1===_0xc908bb(0x234,'\x37\x59\x29\x62'))return _0x2624c1;if(_0x2624c1 instanceof Uint8Array)return Buffer['\x66\x72\x6f\x6d'](_0x2624c1)[_0xc908bb(0x300,'\x6e\x4a\x41\x51')]('\x75\x74\x66\x38');if(_0x2624c1 instanceof ArrayBuffer)return Buffer[_0xc908bb(0x3c4,'\x67\x6a\x41\x69')](_0x2624c1)[_0xc908bb(0x2cd,'\x4d\x79\x39\x28')](_0xc908bb(0x19b,'\x7a\x5d\x5e\x64'));return'';}function bedrockErrorResult(_0x1b9d00){const _0x2c9c75=_0x33e187,_0x2da2c2=_0x1b9d00&&typeof _0x1b9d00===_0x2c9c75(0x2e2,'\x61\x62\x6c\x66')?_0x1b9d00:{},_0x5e000b=_0x2da2c2[_0x2c9c75(0x39b,'\x26\x55\x24\x66')+'\x61']&&typeof _0x2da2c2[_0x2c9c75(0x2e5,'\x69\x56\x71\x63')+'\x61']==='\x6f\x62\x6a\x65\x63\x74'?_0x2da2c2[_0x2c9c75(0x150,'\x37\x59\x29\x62')+'\x61']:{},_0x3069a7=typeof _0x2da2c2[_0x2c9c75(0x2a7,'\x31\x6a\x49\x72')]===_0x2c9c75(0x272,'\x29\x23\x52\x6d')?_0x2da2c2[_0x2c9c75(0x29b,'\x67\x44\x5a\x51')]:_0x2c9c75(0x2c0,'\x61\x6d\x63\x46')+_0x2c9c75(0x3b5,'\x61\x6d\x63\x46'),_0x56dcf4=typeof _0x2da2c2[_0x2c9c75(0x1b1,'\x6f\x29\x4f\x73')]===_0x2c9c75(0x32c,'\x31\x76\x48\x56')?_0x2da2c2[_0x2c9c75(0x331,'\x56\x56\x76\x26')]:String(_0x1b9d00),_0x45a3b4=typeof _0x5e000b[_0x2c9c75(0x29e,'\x7a\x5d\x5e\x64')+_0x2c9c75(0x344,'\x67\x79\x6a\x52')]===_0x2c9c75(0x3bc,'\x29\x23\x52\x6d')?_0x5e000b[_0x2c9c75(0x21b,'\x67\x77\x58\x69')+_0x2c9c75(0x1be,'\x6b\x45\x69\x54')]:undefined,_0x26b466=_0x3069a7===_0x2c9c75(0x1f0,'\x6d\x78\x47\x71')+_0x2c9c75(0x378,'\x44\x4b\x43\x55')||_0x3069a7===_0x2c9c75(0x13b,'\x48\x6b\x38\x5a')+'\x6f\x72'?0x16*-0x51+0x9ca*-0x2+0xe41*0x2:_0x45a3b4??-0xb1d*0x1+-0xcd+-0x5*-0x2c6;return jsonResult(_0x26b466,{'\x74\x79\x70\x65':'\x65\x72\x72\x6f\x72','\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x3069a7,'\x6d\x65\x73\x73\x61\x67\x65':_0x56dcf4}});}function normalizeBedrockBody(_0x3df8d8,_0xc411da){const _0x468beb=_0x33e187,_0x5cad3e=bodyRecord(_0x3df8d8),_0x52a573=typeof _0x5cad3e[_0x468beb(0x2f3,'\x74\x6b\x42\x53')]===_0x468beb(0x2d7,'\x38\x44\x53\x42')?_0x5cad3e['\x6d\x6f\x64\x65\x6c']:null,_0x58e9dc=_0x52a573?canonicalizeForBedrock(_0x52a573,resolveBedrockAliases(_0xc411da)):null,_0x268940=typeof _0x58e9dc===_0x468beb(0x3d6,'\x66\x75\x4b\x50')&&_0x58e9dc['\x6c\x65\x6e\x67\x74\x68']>-0x18f5+0x28e+-0x47b*-0x5?_0x58e9dc:null;if(!_0x268940)return jsonResult(0x15*0x148+-0x4*0x49d+0x2a*-0x2a,{'\x74\x79\x70\x65':_0x468beb(0x226,'\x79\x6b\x6e\x56'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x468beb(0x26c,'\x4d\x72\x29\x58')+_0x468beb(0x35e,'\x6e\x4a\x41\x51')+_0x468beb(0x3ca,'\x55\x67\x49\x56'),'\x6d\x65\x73\x73\x61\x67\x65':_0x468beb(0x393,'\x6b\x45\x69\x54')+_0x468beb(0x36b,'\x6f\x29\x4f\x73')+_0x468beb(0x1a6,'\x6d\x78\x47\x71')+_0x468beb(0x348,'\x67\x79\x6a\x52')+_0x468beb(0x302,'\x56\x56\x76\x26')}});const _0x32ab92={..._0x5cad3e};delete _0x32ab92[_0x468beb(0x347,'\x61\x62\x6c\x66')];if(!_0x32ab92[_0x468beb(0x149,'\x6c\x65\x77\x37')+_0x468beb(0x2eb,'\x29\x23\x52\x6d')+'\x6e'])_0x32ab92['\x61\x6e\x74\x68\x72\x6f\x70\x69'+_0x468beb(0x170,'\x6b\x45\x69\x54')+'\x6e']='\x62\x65\x64\x72\x6f\x63\x6b\x2d'+_0x468beb(0x365,'\x61\x62\x6c\x66')+'\x33\x31';const _0x36bf5c=_0x32ab92[_0x468beb(0x2a8,'\x25\x5d\x6b\x49')]===!![];delete _0x32ab92[_0x468beb(0x2ca,'\x63\x31\x46\x31')];const _0x2e1244=supportsAdaptiveThinking(_0x268940),_0x5dd8d1=_0x32ab92[_0x468beb(0x1c9,'\x79\x6b\x6e\x56')];if(!_0x2e1244&&_0x5dd8d1&&typeof _0x5dd8d1===_0x468beb(0x249,'\x61\x6d\x63\x46')&&!Array[_0x468beb(0x124,'\x69\x28\x28\x7a')](_0x5dd8d1)){if(_0x468beb(0x2c6,'\x21\x37\x50\x21')!==_0x468beb(0x289,'\x63\x31\x46\x31')){const _0x375fb6=typeof _0xb8b351==='\x6e\x75\x6d\x62\x65\x72'?_0xb004b9:_0x227cd8[_0x468beb(0x3ce,'\x4b\x35\x55\x4b')](_0x1a6e3e/(0x1740+-0xd*-0x12b+-0x9*0x445)),_0x314526=_0x12d367[_0x468beb(0x2e3,'\x55\x67\x49\x56')](_0x103f2f[_0x468beb(0x339,'\x6b\x45\x69\x54')](-0xb00+-0xf21+0x1e21,_0x375fb6),_0x4050e2-(0x774*0x3+-0x939+-0xd22));_0xdfe7db[_0x468beb(0x148,'\x74\x6b\x42\x53')]={..._0x2e85bb,'\x74\x79\x70\x65':_0x468beb(0x2d6,'\x66\x75\x4b\x50'),'\x62\x75\x64\x67\x65\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x314526};}else{const _0x35683f=_0x5dd8d1;if(_0x35683f[_0x468beb(0x233,'\x48\x6b\x38\x5a')]===_0x468beb(0x230,'\x6e\x4a\x41\x51')){const _0x14752f=typeof _0x32ab92[_0x468beb(0x1e3,'\x73\x21\x6a\x67')+'\x6e\x73']===_0x468beb(0x270,'\x26\x55\x24\x66')?_0x32ab92['\x6d\x61\x78\x5f\x74\x6f\x6b\x65'+'\x6e\x73']:0xb1b+0x33a3*-0x1+0x4888,_0x4bfea0=_0x35683f[_0x468beb(0x1da,'\x26\x55\x24\x66')+_0x468beb(0x299,'\x31\x76\x48\x56')];if(_0x14752f<=-0x23a2+-0x5*-0x5fb+0x9bb)_0x32ab92[_0x468beb(0x31a,'\x58\x39\x4d\x78')]={'\x74\x79\x70\x65':_0x468beb(0x370,'\x69\x28\x28\x7a')};else{const _0x29e5d5=typeof _0x4bfea0===_0x468beb(0x168,'\x58\x39\x4d\x78')?_0x4bfea0:Math[_0x468beb(0x116,'\x6a\x70\x5e\x35')](_0x14752f/(-0x8a9+-0xc73*0x1+0x66*0x35)),_0x2b1a28=Math[_0x468beb(0x28c,'\x52\x38\x37\x44')](Math[_0x468beb(0x388,'\x4c\x55\x56\x6b')](-0xab*-0xf+-0x1c66+0x1661,_0x29e5d5),_0x14752f-(-0x224e+-0x1031+-0x328*-0x10));_0x32ab92[_0x468beb(0x2ef,'\x35\x4d\x5b\x73')]={..._0x35683f,'\x74\x79\x70\x65':_0x468beb(0x368,'\x63\x31\x46\x31'),'\x62\x75\x64\x67\x65\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x2b1a28};}}}}delete _0x32ab92[_0x468beb(0x189,'\x6f\x29\x4f\x73')+_0x468beb(0x1a8,'\x74\x6b\x42\x53')+'\x6e\x74'];if(!_0x2e1244)delete _0x32ab92[_0x468beb(0x3c7,'\x40\x48\x61\x74')+_0x468beb(0x158,'\x31\x76\x48\x56')];return{'\x6d\x6f\x64\x65\x6c\x49\x64':_0x268940,'\x75\x70\x73\x74\x72\x65\x61\x6d\x42\x6f\x64\x79':_0x32ab92,'\x77\x61\x6e\x74\x73\x53\x74\x72\x65\x61\x6d':_0x36bf5c};}function bedrockException(_0x310341){const _0x3eb424=_0x33e187;return _0x310341[_0x3eb424(0x322,'\x6a\x70\x5e\x35')+_0x3eb424(0x384,'\x67\x79\x6a\x52')+_0x3eb424(0x2ad,'\x48\x6b\x38\x5a')]??_0x310341[_0x3eb424(0x20e,'\x79\x6b\x6e\x56')+_0x3eb424(0x291,'\x6c\x65\x77\x37')+'\x45\x78\x63\x65\x70\x74\x69\x6f'+'\x6e']??_0x310341['\x74\x68\x72\x6f\x74\x74\x6c\x69'+_0x3eb424(0x24b,'\x38\x6d\x30\x52')+_0x3eb424(0x2ea,'\x79\x6b\x6e\x56')]??_0x310341[_0x3eb424(0x306,'\x69\x28\x28\x7a')+_0x3eb424(0x2a6,'\x69\x28\x28\x7a')+_0x3eb424(0x2bd,'\x6e\x4a\x41\x51')]??_0x310341[_0x3eb424(0x2b8,'\x33\x57\x79\x50')+_0x3eb424(0x162,'\x4b\x35\x55\x4b')+'\x70\x74\x69\x6f\x6e']??_0x310341[_0x3eb424(0x209,'\x4c\x55\x56\x6b')+_0x3eb424(0x145,'\x67\x6a\x41\x69')+_0x3eb424(0x296,'\x37\x59\x29\x62')+_0x3eb424(0x2b2,'\x29\x23\x52\x6d')]??null;}function bedrockChunkFrame(_0x5bbf4d){const _0x3c77ee=_0x33e187,_0x78780a=textFromBytes(_0x5bbf4d);if(!_0x78780a)return'';try{const _0x41ec60=JSON[_0x3c77ee(0x17d,'\x5e\x61\x4e\x46')](_0x78780a);if(_0x41ec60&&typeof _0x41ec60===_0x3c77ee(0x131,'\x33\x57\x79\x50')&&!Array[_0x3c77ee(0x3a0,'\x4d\x79\x39\x28')](_0x41ec60)){if('\x68\x56\x58\x55\x78'===_0x3c77ee(0x27e,'\x4d\x72\x29\x58')){const _0xcfb6e6=_0x637202&&typeof _0x46d224===_0x3c77ee(0x32b,'\x31\x6a\x49\x72')&&'\x6e\x61\x6d\x65'in _0x4727f9?_0x253e4a(_0x38d119[_0x3c77ee(0x3ae,'\x6f\x29\x4f\x73')]):'',_0x157a24=_0xcfb6e6===_0x3c77ee(0x326,'\x5e\x61\x4e\x46')+_0x3c77ee(0x120,'\x55\x67\x49\x56')||_0xcfb6e6===_0x3c77ee(0x3cf,'\x5e\x61\x4e\x46')+'\x6f\x72';return _0x5fbc08[_0x3c77ee(0x1d1,'\x69\x56\x71\x63')](new _0x3fb811(_0x157a24?_0xeed6b5+(_0x3c77ee(0x34b,'\x67\x6a\x41\x69')+_0x3c77ee(0x26a,'\x38\x44\x53\x42')+_0x3c77ee(0x1d9,'\x69\x56\x71\x63')):_0x8501cb+(_0x3c77ee(0x15a,'\x33\x57\x79\x50')+_0x3c77ee(0x3b7,'\x35\x4d\x5b\x73')+_0x3c77ee(0x136,'\x55\x67\x49\x56'))),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':_0x157a24?-0x16f2+0x2664+0x2b2*-0x5:_0x541453,'\x63\x61\x75\x73\x65':_0x388fd8});}else{const _0x181dba=_0x41ec60[_0x3c77ee(0x110,'\x74\x6b\x42\x53')];if(typeof _0x181dba===_0x3c77ee(0x32c,'\x31\x76\x48\x56')&&/^[A-Za-z0-9_.:-]+$/[_0x3c77ee(0x2a4,'\x35\x4d\x5b\x73')](_0x181dba))return _0x3c77ee(0x34c,'\x6a\x70\x5e\x35')+_0x181dba+_0x3c77ee(0x23d,'\x69\x56\x71\x63')+_0x78780a+'\x0a\x0a';}}}catch{}return _0x3c77ee(0x18a,'\x61\x6d\x63\x46')+_0x78780a+'\x0a\x0a';}function bedrockStreamToSse(_0x1d04ef){const _0x50b1fd=_0x33e187,_0x5cf65a=_0x1d04ef&&typeof _0x1d04ef[Symbol[_0x50b1fd(0x190,'\x69\x28\x28\x7a')+'\x72\x61\x74\x6f\x72']]===_0x50b1fd(0x318,'\x6e\x4a\x41\x51')?_0x1d04ef:null;return new ReadableStream({async '\x73\x74\x61\x72\x74'(_0x5b1fa7){const _0x331003=_0x50b1fd;if(_0x331003(0x221,'\x55\x67\x49\x56')!==_0x331003(0x1f1,'\x40\x48\x61\x74'))void _0xe78c3c?.[_0x331003(0x12f,'\x61\x35\x74\x42')]?.();else{if(!_0x5cf65a){if(_0x331003(0x1fa,'\x4d\x72\x29\x58')!==_0x331003(0x35f,'\x6f\x29\x4f\x73')){const _0x3fb849=_0x54aa80[_0x331003(0x307,'\x26\x55\x24\x66')+'\x6c']??_0x57c005[_0x331003(0x3ab,'\x6c\x65\x77\x37')],_0x59b448=_0xee514d['\x68\x65\x61\x64\x65\x72\x73\x54'+_0x331003(0x335,'\x63\x31\x46\x31')]??_0x68792a;return async(_0xda12de,_0x48c2c0,_0x4c5aa9)=>{const _0x1a05c4=_0x331003,_0x502652=_0x53fd37[_0x1a05c4(0x260,'\x31\x76\x48\x56')]??_0x2e3abc.env,_0x5a515b=(_0x4c5aa9[_0x1a05c4(0x3c9,'\x4c\x55\x56\x6b')]||_0xcc013f(_0x502652))[_0x1a05c4(0x1cd,'\x7a\x5d\x5e\x64')](/\/+$/,'');return _0x3b45dc(''+_0x5a515b+_0xda12de,_0x48c2c0,_0x4c5aa9,_0x27a7c6(_0x502652),_0x3fb849,_0x59b448,_0x1a05c4(0x360,'\x55\x67\x49\x56'),(_0x4e758d,_0x415e31,_0x55e736)=>!(_0x55e736&&typeof _0x55e736===_0x1a05c4(0x24e,'\x6f\x29\x4f\x73')&&_0x55e736[_0x1a05c4(0x128,'\x67\x44\x5a\x51')]===![]));};}else{_0x5b1fa7[_0x331003(0x2d8,'\x48\x6b\x38\x5a')]();return;}}try{if(_0x331003(0x2d4,'\x58\x39\x4d\x78')!=='\x4f\x4e\x43\x62\x67'){for await(const _0x1fd4e2 of _0x5cf65a){if(_0x331003(0x34d,'\x61\x35\x74\x42')===_0x331003(0x19f,'\x44\x4b\x43\x55')){const _0x70f11f=_0x1fd4e2[_0x331003(0x316,'\x6e\x4a\x41\x51')]?.[_0x331003(0x2c3,'\x25\x5d\x6b\x49')];if(_0x70f11f){_0x5b1fa7[_0x331003(0x310,'\x25\x5d\x6b\x49')](Buffer[_0x331003(0x2b3,'\x67\x77\x58\x69')](bedrockChunkFrame(_0x70f11f)));continue;}const _0x6b1b64=bedrockException(_0x1fd4e2);if(_0x6b1b64){const _0x5b7e50=JSON[_0x331003(0x27a,'\x6a\x70\x5e\x35')+'\x79']({'\x74\x79\x70\x65':_0x331003(0x386,'\x52\x38\x37\x44'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':typeof _0x6b1b64[_0x331003(0x118,'\x6d\x78\x47\x71')]===_0x331003(0x2df,'\x4b\x35\x55\x4b')?_0x6b1b64[_0x331003(0x2ed,'\x61\x35\x74\x42')]:_0x331003(0x2e4,'\x67\x79\x6a\x52')+_0x331003(0x3a7,'\x52\x38\x37\x44'),'\x6d\x65\x73\x73\x61\x67\x65':typeof _0x6b1b64[_0x331003(0x298,'\x69\x56\x71\x63')]===_0x331003(0x268,'\x69\x28\x28\x7a')?_0x6b1b64[_0x331003(0x241,'\x74\x6b\x42\x53')]:String(_0x6b1b64)}});_0x5b1fa7[_0x331003(0x336,'\x52\x38\x37\x44')](Buffer[_0x331003(0x125,'\x61\x62\x6c\x66')]('\x65\x76\x65\x6e\x74\x3a\x20\x65'+_0x331003(0x343,'\x54\x56\x59\x54')+_0x331003(0x1c4,'\x73\x21\x6a\x67')+_0x5b7e50+'\x0a\x0a'));}}else _0x47db04=new _0x5ac331(_0x3917f8);}_0x5b1fa7[_0x331003(0x37e,'\x40\x48\x61\x74')]();}else _0x2f0252(_0x28f3ae);}catch(_0xa78f2f){_0x5b1fa7['\x65\x72\x72\x6f\x72'](_0xa78f2f);}}},'\x63\x61\x6e\x63\x65\x6c'(){const _0x29b008=_0x50b1fd;try{if(_0x29b008(0x257,'\x67\x6a\x41\x69')==='\x59\x63\x4c\x70\x7a')void _0x5cf65a?.[_0x29b008(0x28d,'\x6c\x65\x77\x37')]?.();else{const _0x17b4f9=_0x4fa211&&typeof _0x2164f7===_0x29b008(0x321,'\x61\x35\x74\x42')?_0x29b894:{},_0xe1c341=_0x17b4f9[_0x29b008(0x23f,'\x57\x4e\x69\x45')+'\x61']&&typeof _0x17b4f9[_0x29b008(0x2d5,'\x54\x56\x59\x54')+'\x61']===_0x29b008(0x33c,'\x29\x23\x52\x6d')?_0x17b4f9['\x24\x6d\x65\x74\x61\x64\x61\x74'+'\x61']:{},_0x1e92dc=typeof _0x17b4f9[_0x29b008(0x3cc,'\x63\x31\x46\x31')]===_0x29b008(0x3d6,'\x66\x75\x4b\x50')?_0x17b4f9[_0x29b008(0x140,'\x67\x6a\x41\x69')]:_0x29b008(0x2f1,'\x35\x4d\x5b\x73')+_0x29b008(0x385,'\x5e\x61\x4e\x46'),_0x3e143f=typeof _0x17b4f9[_0x29b008(0x3a5,'\x4b\x35\x55\x4b')]===_0x29b008(0x2b1,'\x56\x56\x76\x26')?_0x17b4f9[_0x29b008(0x242,'\x33\x57\x79\x50')]:_0x1a0677(_0x130d07),_0xd506a3=typeof _0xe1c341[_0x29b008(0x2f8,'\x67\x79\x6a\x52')+_0x29b008(0x325,'\x26\x55\x24\x66')]===_0x29b008(0x38e,'\x35\x4d\x5b\x73')?_0xe1c341[_0x29b008(0x195,'\x66\x75\x4b\x50')+_0x29b008(0x39c,'\x61\x62\x6c\x66')]:_0x5de2a1,_0x1dc18d=_0x1e92dc===_0x29b008(0x166,'\x4c\x55\x56\x6b')+'\x72\x72\x6f\x72'||_0x1e92dc==='\x41\x62\x6f\x72\x74\x45\x72\x72'+'\x6f\x72'?0x26a4+0x8ad*-0x1+0x3*-0x955:_0xd506a3??-0x210a+0x4cd*0x6+0x2*0x318;return _0x3f8d0e(_0x1dc18d,{'\x74\x79\x70\x65':_0x29b008(0x386,'\x52\x38\x37\x44'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x1e92dc,'\x6d\x65\x73\x73\x61\x67\x65':_0x3e143f}});}}catch{}}});}async function invokeBedrock(_0x3a2e03,_0xd5d91,_0x21ae6b,_0x4f778e,_0x35f12c){const _0x34b590=_0x33e187,_0x45b3f0=normalizeBedrockBody(_0x3a2e03,_0xd5d91);if(_0x34b590(0x283,'\x61\x6d\x63\x46')in _0x45b3f0)return _0x45b3f0;const _0x13b498={'\x6d\x6f\x64\x65\x6c\x49\x64':_0x45b3f0[_0x34b590(0x196,'\x38\x6d\x30\x52')],'\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\x65':_0x34b590(0x35d,'\x73\x21\x6a\x67')+_0x34b590(0x146,'\x4c\x55\x56\x6b'),'\x61\x63\x63\x65\x70\x74':_0x34b590(0x243,'\x6d\x78\x47\x71')+_0x34b590(0x29c,'\x67\x79\x6a\x52'),'\x62\x6f\x64\x79':JSON[_0x34b590(0x22d,'\x56\x56\x76\x26')+'\x79'](_0x45b3f0[_0x34b590(0x3a6,'\x33\x57\x79\x50')+'\x42\x6f\x64\x79'])},_0x5cae09=new Error(_0x34b590(0x362,'\x7a\x5d\x5e\x64')+_0x34b590(0x246,'\x6f\x29\x4f\x73')+_0x34b590(0x2ab,'\x38\x6d\x30\x52')+'\x75\x74');_0x5cae09[_0x34b590(0x3d4,'\x54\x56\x59\x54')]=_0x34b590(0x166,'\x4c\x55\x56\x6b')+_0x34b590(0x30d,'\x69\x56\x71\x63');const _0x580141=new AbortController(),_0x4124de=setTimeout(()=>_0x580141[_0x34b590(0x1a4,'\x69\x56\x71\x63')](_0x5cae09),_0x35f12c);try{if(_0x45b3f0[_0x34b590(0x30f,'\x66\x75\x4b\x50')+_0x34b590(0x2f5,'\x4d\x72\x29\x58')]){if(_0x34b590(0x27c,'\x29\x57\x45\x25')==='\x57\x52\x53\x6e\x56'){const _0xbffc1c=_0x5f354a[_0x34b590(0x13c,'\x38\x6d\x30\x52')]??_0x576e7f.env,_0x5083bc=(_0x193395[_0x34b590(0x17b,'\x29\x23\x52\x6d')]||_0x1b3e03(_0xbffc1c))[_0x34b590(0x3be,'\x67\x44\x5a\x51')](/\/+$/,'');return _0x3f48ef(''+_0x5083bc+_0x3a8fd3,_0x48097e,_0x3f9415,_0x431e92(_0xbffc1c),_0x1202ee,_0x326a58,_0x34b590(0x356,'\x6c\x65\x77\x37'),(_0x43b2ca,_0x4b8732,_0x58767)=>!(_0x58767&&typeof _0x58767===_0x34b590(0x10f,'\x6c\x65\x77\x37')&&_0x58767[_0x34b590(0x211,'\x48\x6b\x38\x5a')]===![]));}else{const _0x4e2978=await _0x4f778e[_0x34b590(0x262,'\x54\x56\x59\x54')](_0x21ae6b[_0x34b590(0x1d5,'\x58\x39\x4d\x78')+_0x34b590(0x377,'\x33\x29\x6e\x34')+'\x6c\x57\x69\x74\x68\x52\x65\x73'+_0x34b590(0x203,'\x69\x28\x28\x7a')+_0x34b590(0x256,'\x37\x59\x29\x62')+'\x6e\x64'](_0x13b498),{'\x61\x62\x6f\x72\x74\x53\x69\x67\x6e\x61\x6c':_0x580141[_0x34b590(0x14a,'\x67\x77\x58\x69')]});clearTimeout(_0x4124de);const _0x249aea=_0x4e2978&&typeof _0x4e2978==='\x6f\x62\x6a\x65\x63\x74'?_0x4e2978:{};return{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x34b590(0x1d6,'\x61\x62\x6c\x66')+_0x34b590(0x154,'\x6b\x45\x69\x54')+'\x6d'},'\x73\x74\x72\x65\x61\x6d':bedrockStreamToSse(_0x249aea[_0x34b590(0x376,'\x79\x6b\x6e\x56')]),'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0['\x75\x70\x73\x74\x72\x65\x61\x6d'+_0x34b590(0x1b9,'\x74\x6b\x42\x53')]};}}const _0x44073e=await _0x4f778e[_0x34b590(0x15f,'\x52\x38\x37\x44')](_0x21ae6b[_0x34b590(0x27d,'\x4b\x35\x55\x4b')+_0x34b590(0x2ac,'\x29\x23\x52\x6d')+_0x34b590(0x261,'\x5e\x61\x4e\x46')](_0x13b498),{'\x61\x62\x6f\x72\x74\x53\x69\x67\x6e\x61\x6c':_0x580141[_0x34b590(0x200,'\x29\x57\x45\x25')]});clearTimeout(_0x4124de);const _0x2dc4b1=_0x44073e&&typeof _0x44073e===_0x34b590(0x35c,'\x74\x6b\x42\x53')?_0x44073e:{},_0x536ed2=textFromBytes(_0x2dc4b1[_0x34b590(0x22e,'\x25\x5d\x6b\x49')]);return{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x34b590(0x16c,'\x48\x6b\x38\x5a')+'\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e'},'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x536ed2,'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0[_0x34b590(0x32f,'\x21\x37\x50\x21')+'\x42\x6f\x64\x79']};}catch(_0x2c3fcc){return clearTimeout(_0x4124de),{...bedrockErrorResult(_0x2c3fcc),'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0[_0x34b590(0x2e4,'\x67\x79\x6a\x52')+'\x42\x6f\x64\x79']};}}export function makeAnthropicUpstream(_0x250917={}){const _0x50d0f4=_0x33e187,_0x5f2b2e=_0x250917[_0x50d0f4(0x2ae,'\x4d\x72\x29\x58')+'\x6c']??globalThis[_0x50d0f4(0x2f4,'\x55\x67\x49\x56')],_0x15af8d=_0x250917[_0x50d0f4(0x2dc,'\x48\x6b\x38\x5a')+_0x50d0f4(0x1d7,'\x25\x5d\x6b\x49')]??DEFAULT_HEADERS_TIMEOUT_MS;let _0x57d4aa=null,_0x119ea7='',_0x4e02b9=null;const _0x1561ee=(_0x3b3a2f,_0xcce3fb)=>{const _0x311b47=_0x50d0f4;if(_0x311b47(0x216,'\x4b\x35\x55\x4b')===_0x311b47(0x25b,'\x6a\x70\x5e\x35')){const _0xcaa6d5={'\x72\x65\x67\x69\x6f\x6e':_0x3b3a2f[_0x311b47(0x1ee,'\x55\x67\x49\x56')+'\x4f\x4e']||_0x3b3a2f[_0x311b47(0x3bf,'\x48\x6b\x38\x5a')+'\x55\x4c\x54\x5f\x52\x45\x47\x49'+'\x4f\x4e']||_0x311b47(0x387,'\x25\x5d\x6b\x49')+'\x31',..._0x3b3a2f[_0x311b47(0x153,'\x67\x79\x6a\x52')+_0x311b47(0x17a,'\x79\x6b\x6e\x56')+_0x311b47(0x1c5,'\x56\x56\x76\x26')]?{'\x65\x6e\x64\x70\x6f\x69\x6e\x74':assertHttpUrl(_0x3b3a2f[_0x311b47(0x314,'\x37\x59\x29\x62')+_0x311b47(0x28b,'\x55\x67\x49\x56')+_0x311b47(0x141,'\x69\x28\x28\x7a')],_0x311b47(0x10e,'\x74\x6b\x42\x53')+_0x311b47(0x286,'\x6c\x65\x77\x37'))}:{}},_0x25a609=JSON[_0x311b47(0x16b,'\x4b\x35\x55\x4b')+'\x79'](_0xcaa6d5);return(!_0x57d4aa||_0x119ea7!==_0x25a609||_0x4e02b9!==_0xcce3fb)&&(_0x57d4aa=_0xcce3fb[_0x311b47(0x186,'\x6a\x70\x5e\x35')+_0x311b47(0x24a,'\x7a\x5d\x5e\x64')](_0xcaa6d5),_0x119ea7=_0x25a609,_0x4e02b9=_0xcce3fb),_0x57d4aa;}else return _0xbf2433[_0x311b47(0x133,'\x44\x4b\x43\x55')+_0x311b47(0x3b2,'\x44\x4b\x43\x55')+_0x311b47(0x355,'\x61\x6d\x63\x46')]??_0x26a8b2[_0x311b47(0x2f9,'\x55\x67\x49\x56')+_0x311b47(0x1a2,'\x56\x56\x76\x26')+_0x311b47(0x1ba,'\x57\x4e\x69\x45')+'\x6e']??_0x29f4b1[_0x311b47(0x237,'\x29\x57\x45\x25')+_0x311b47(0x236,'\x57\x4e\x69\x45')+_0x311b47(0x1b4,'\x69\x28\x28\x7a')]??_0x373f5a[_0x311b47(0x371,'\x61\x62\x6c\x66')+_0x311b47(0x383,'\x40\x76\x7a\x24')+_0x311b47(0x36d,'\x4c\x55\x56\x6b')]??_0x2ca36f[_0x311b47(0x1ac,'\x29\x57\x45\x25')+_0x311b47(0x311,'\x37\x59\x29\x62')+_0x311b47(0x1a0,'\x38\x44\x53\x42')]??_0x796d5d[_0x311b47(0x227,'\x74\x6b\x42\x53')+_0x311b47(0x240,'\x67\x44\x5a\x51')+'\x6c\x65\x45\x78\x63\x65\x70\x74'+_0x311b47(0x23b,'\x6b\x45\x69\x54')]??null;};return async(_0xdc5bd,_0x35955f,_0x5999b9)=>{const _0x2e377e=_0x50d0f4,{inboundHeaders:_0x167c0a,upstreamMode:_0x966add}=_0x5999b9;if(_0x966add==='\x62\x65\x64\x72\x6f\x63\x6b'){const _0x1cfdcc=_0x250917[_0x2e377e(0x38f,'\x44\x4b\x43\x55')+_0x2e377e(0x34a,'\x54\x56\x59\x54')]??await loadDefaultBedrockRuntime(),_0x35136d=_0x250917[_0x2e377e(0x390,'\x31\x6a\x49\x72')]??process.env;return invokeBedrock(_0x35955f,_0x35136d,_0x1cfdcc,_0x1561ee(_0x35136d,_0x1cfdcc),_0x15af8d);}const _0x213af8=_0x250917[_0x2e377e(0x1d4,'\x74\x6b\x42\x53')]??process.env;return fetchUpstream(''+resolveUpstreamUrl(_0x213af8,_0x966add)+(isOpenAiMode(_0x966add)?pathForOpenAIBase(_0xdc5bd):_0xdc5bd),_0x35955f,_0x5999b9,buildForwardHeaders(_0x167c0a,_0x213af8,_0x966add),_0x5f2b2e,_0x15af8d,isOpenAiMode(_0x966add)?_0x2e377e(0x1fe,'\x7a\x5d\x5e\x64'):_0x2e377e(0x2cc,'\x33\x29\x6e\x34')+'\x63',_0x1e0227=>contentTypeIncludes(_0x1e0227,_0x2e377e(0x39e,'\x40\x51\x62\x24')+_0x2e377e(0x290,'\x4d\x72\x29\x58')+'\x6d'));};}export function makeOpenAIUpstream(_0x96b469={}){const _0x2fcffe=_0x33e187,_0x49ebe7=_0x96b469[_0x2fcffe(0x184,'\x4b\x35\x55\x4b')+'\x6c']??globalThis[_0x2fcffe(0x396,'\x6f\x29\x4f\x73')],_0x2f0651=_0x96b469[_0x2fcffe(0x308,'\x67\x77\x58\x69')+_0x2fcffe(0x2d3,'\x61\x35\x74\x42')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x23b17a,_0x213ec7,_0x317fa6)=>{const _0x2502f8=_0x2fcffe;if(_0x2502f8(0x11a,'\x31\x76\x48\x56')==='\x56\x42\x70\x6c\x6c'){const _0x322c99=_0x96b469[_0x2502f8(0x363,'\x6c\x65\x77\x37')]??process.env,_0x6493ea=_0x317fa6[_0x2502f8(0x171,'\x57\x4e\x69\x45')]?normalizeOpenAIBaseUrl(_0x317fa6[_0x2502f8(0x19e,'\x4b\x35\x55\x4b')]):resolveOpenAIUpstreamUrl(_0x322c99);return fetchUpstream(''+_0x6493ea+_0x23b17a,_0x213ec7,_0x317fa6,buildOpenAIHeaders(_0x317fa6[_0x2502f8(0x1f7,'\x69\x56\x71\x63')+_0x2502f8(0x330,'\x4d\x72\x29\x58')],_0x322c99),_0x49ebe7,_0x2f0651,'\x6f\x70\x65\x6e\x61\x69',_0x4f6e2a=>contentTypeIncludes(_0x4f6e2a,_0x2502f8(0x12d,'\x67\x44\x5a\x51')+_0x2502f8(0x2ff,'\x61\x6d\x63\x46')+'\x6d'));}else _0x4ea4d8=new _0x5ba9fd(_0x3b278f);};}export function makeGeminiUpstream(_0x740437={}){const _0x31582f=_0x33e187,_0x46fde=_0x740437[_0x31582f(0x25a,'\x58\x39\x4d\x78')+'\x6c']??globalThis[_0x31582f(0x3d9,'\x61\x6d\x63\x46')],_0x12ce84=_0x740437[_0x31582f(0x22b,'\x55\x67\x49\x56')+_0x31582f(0x194,'\x38\x44\x53\x42')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x21687d,_0x422f78,_0x57b286)=>{const _0x46fd40=_0x31582f,_0x1f4730=_0x740437[_0x46fd40(0x358,'\x4c\x55\x56\x6b')]??process.env,_0x57599b=(_0x57b286[_0x46fd40(0x1d8,'\x73\x21\x6a\x67')]||resolveGeminiUpstreamUrl(_0x1f4730))[_0x46fd40(0x367,'\x48\x6b\x38\x5a')](/\/+$/,'');return fetchUpstream(''+_0x57599b+_0x21687d,_0x422f78,_0x57b286,buildGeminiHeaders(_0x57b286[_0x46fd40(0x20d,'\x4d\x79\x39\x28')+_0x46fd40(0x23a,'\x38\x44\x53\x42')],_0x1f4730),_0x46fde,_0x12ce84,_0x46fd40(0x1b5,'\x67\x79\x6a\x52'),(_0x4308f4,_0x347062)=>contentTypeIncludes(_0x4308f4,'\x74\x65\x78\x74\x2f\x65\x76\x65'+_0x46fd40(0x192,'\x67\x44\x5a\x51')+'\x6d')||/:streamGenerateContent(\b|\?|$)/[_0x46fd40(0x22c,'\x40\x51\x62\x24')](_0x347062));};}export function makeOllamaUpstream(_0x384956={}){const _0xabd735=_0x33e187,_0x2fcf1e=_0x384956[_0xabd735(0x2e9,'\x66\x75\x4b\x50')+'\x6c']??globalThis[_0xabd735(0x17f,'\x4d\x79\x39\x28')],_0x2c198c=_0x384956[_0xabd735(0x144,'\x67\x44\x5a\x51')+_0xabd735(0x392,'\x55\x67\x49\x56')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x29ba71,_0x4087d8,_0x5a83a5)=>{const _0x174de2=_0xabd735,_0xc00afc=_0x384956[_0x174de2(0x224,'\x67\x6a\x41\x69')]??process.env,_0x550f98=(_0x5a83a5[_0x174de2(0x26d,'\x69\x28\x28\x7a')]||resolveOllamaUpstreamUrl(_0xc00afc))[_0x174de2(0x185,'\x57\x4e\x69\x45')](/\/+$/,'');return fetchUpstream(''+_0x550f98+_0x29ba71,_0x4087d8,_0x5a83a5,buildOllamaHeaders(_0xc00afc),_0x2fcf1e,_0x2c198c,_0x174de2(0x1f5,'\x6d\x78\x47\x71'),(_0x3f745b,_0x335382,_0x5cb591)=>!(_0x5cb591&&typeof _0x5cb591===_0x174de2(0x37f,'\x31\x76\x48\x56')&&_0x5cb591[_0x174de2(0x198,'\x69\x56\x71\x63')]===![]));};}export function makeVertexUpstream(_0x2bb0dc={}){const _0x23db18=_0x33e187,_0x2b9bec=_0x2bb0dc[_0x23db18(0x382,'\x31\x6a\x49\x72')+'\x6c']??globalThis[_0x23db18(0x1d2,'\x6e\x4a\x41\x51')],_0x4a2ea6=_0x2bb0dc[_0x23db18(0x275,'\x21\x37\x50\x21')+_0x23db18(0x12e,'\x6d\x78\x47\x71')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x42b363,_0xb8e622,_0x39e0c7)=>{const _0x4da258=_0x23db18,_0x389595=(_0x39e0c7['\x62\x61\x73\x65\x55\x72\x6c']||'')[_0x4da258(0x2ec,'\x67\x77\x58\x69')](/\/+$/,'');if(!_0x389595)throw Object[_0x4da258(0x304,'\x56\x56\x76\x26')](new Error(_0x4da258(0x2f6,'\x29\x57\x45\x25')+_0x4da258(0x21c,'\x6f\x29\x4f\x73')+_0x4da258(0x28f,'\x67\x6a\x41\x69')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x1f4});const _0x66d5c1=_0x2bb0dc[_0x4da258(0x353,'\x67\x77\x58\x69')]??process.env;return fetchUpstream(''+_0x389595+_0x42b363,_0xb8e622,_0x39e0c7,buildVertexHeaders(_0x66d5c1),_0x2b9bec,_0x4a2ea6,_0x4da258(0x3e1,'\x25\x5d\x6b\x49'),(_0x2438e6,_0x876015)=>contentTypeIncludes(_0x2438e6,_0x4da258(0x1b6,'\x7a\x5d\x5e\x64')+_0x4da258(0x235,'\x33\x57\x79\x50')+'\x6d')||/:streamGenerateContent(\b|\?|$)/[_0x4da258(0x199,'\x40\x76\x7a\x24')](_0x876015));};}export{warnDeprecatedOpenAICompatible,resetDeprecatedOpenAICompatibleWarning};
|