@antseed/node 0.2.157 → 0.2.159
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/discovery/announcer.d.ts +5 -2
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +10 -5
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/metadata/fields/service-performance.d.ts +7 -0
- package/dist/discovery/metadata/fields/service-performance.d.ts.map +1 -0
- package/dist/discovery/metadata/fields/service-performance.js +63 -0
- package/dist/discovery/metadata/fields/service-performance.js.map +1 -0
- package/dist/discovery/metadata/index.d.ts.map +1 -1
- package/dist/discovery/metadata/index.js +2 -1
- package/dist/discovery/metadata/index.js.map +1 -1
- package/dist/discovery/metadata/versions/v14.d.ts +5 -0
- package/dist/discovery/metadata/versions/v14.d.ts.map +1 -0
- package/dist/discovery/metadata/versions/v14.js +16 -0
- package/dist/discovery/metadata/versions/v14.js.map +1 -0
- package/dist/discovery/metadata-validator.d.ts.map +1 -1
- package/dist/discovery/metadata-validator.js +29 -1
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/service-catalog.d.ts +5 -2
- package/dist/discovery/service-catalog.d.ts.map +1 -1
- package/dist/discovery/service-catalog.js +3 -1
- package/dist/discovery/service-catalog.js.map +1 -1
- package/dist/health/model-health-checker.d.ts +42 -4
- package/dist/health/model-health-checker.d.ts.map +1 -1
- package/dist/health/model-health-checker.js +166 -14
- package/dist/health/model-health-checker.js.map +1 -1
- package/dist/health/self-health-error.d.ts +17 -0
- package/dist/health/self-health-error.d.ts.map +1 -1
- package/dist/health/self-health-error.js +34 -0
- package/dist/health/self-health-error.js.map +1 -1
- package/dist/health/service-performance.d.ts +28 -0
- package/dist/health/service-performance.d.ts.map +1 -0
- package/dist/health/service-performance.js +144 -0
- package/dist/health/service-performance.js.map +1 -0
- package/dist/health/stream-outcome.d.ts +19 -0
- package/dist/health/stream-outcome.d.ts.map +1 -0
- package/dist/health/stream-outcome.js +91 -0
- package/dist/health/stream-outcome.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +7 -0
- package/dist/node.js.map +1 -1
- package/dist/payments/chain-config.d.ts +1 -1
- package/dist/payments/chain-config.d.ts.map +1 -1
- package/dist/payments/evm/verifier-client.d.ts +19 -3
- package/dist/payments/evm/verifier-client.d.ts.map +1 -1
- package/dist/payments/evm/verifier-client.js +39 -2
- package/dist/payments/evm/verifier-client.js.map +1 -1
- package/dist/payments/generated-contract-addresses.d.ts +2 -0
- package/dist/payments/generated-contract-addresses.d.ts.map +1 -1
- package/dist/payments/generated-contract-addresses.js +2 -0
- package/dist/payments/generated-contract-addresses.js.map +1 -1
- package/dist/payments/index.d.ts +1 -1
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/seller-payment-manager.d.ts +50 -0
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +320 -80
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/routing/seller-health.d.ts +21 -0
- package/dist/routing/seller-health.d.ts.map +1 -1
- package/dist/routing/seller-health.js +19 -3
- package/dist/routing/seller-health.js.map +1 -1
- package/dist/seller-request-handler.d.ts +5 -0
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +138 -21
- package/dist/seller-request-handler.js.map +1 -1
- package/dist/types/peer.d.ts +4 -2
- package/dist/types/peer.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-catalog.js","sourceRoot":"","sources":["../../src/discovery/service-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,iBAAiB,EAA4B,MAAM,+BAA+B,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"service-catalog.js","sourceRoot":"","sources":["../../src/discovery/service-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,13 @@ export declare const DEFAULT_HEALTH_CHECK_FAILURE_THRESHOLD = 3;
|
|
|
10
10
|
export declare const DEFAULT_HEALTH_CHECK_PROBE_TIMEOUT_MS = 60000;
|
|
11
11
|
/** Shortest gap between probes triggered by failed buyer requests for one service. */
|
|
12
12
|
export declare const LIVE_FAILURE_PROBE_MIN_GAP_MS = 30000;
|
|
13
|
+
/**
|
|
14
|
+
* A service that keeps failing is probed less often: every interval, then
|
|
15
|
+
* every second, then every third (with the default, 5, 10 and 15 minutes).
|
|
16
|
+
* Its upstream is often rate limited or out of credit, and each probe would
|
|
17
|
+
* add to that. A successful buyer request still marks it healthy at once.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MAX_FAILING_PROBE_BACKOFF = 3;
|
|
13
20
|
export interface ModelHealthTarget {
|
|
14
21
|
/**
|
|
15
22
|
* The provider registered with the node. The checker publishes results on
|
|
@@ -105,8 +112,10 @@ type ProbeOutcome = 'healthy' | 'unhealthy' | 'inconclusive';
|
|
|
105
112
|
* Buyer traffic is the main evidence: a successful billable response marks a
|
|
106
113
|
* service healthy, and a service that had one within the last interval is not
|
|
107
114
|
* probed. Idle services get a minimal (1-token) completion each interval, and
|
|
108
|
-
* a failed buyer request triggers an early probe.
|
|
109
|
-
*
|
|
115
|
+
* a failed buyer request triggers an early probe. Image and video services
|
|
116
|
+
* are never probed (a probe would cost a real generation): their failed buyer
|
|
117
|
+
* requests count as the checks. A service is failing after `failureThreshold`
|
|
118
|
+
* failed checks in a row and recovers on the first pass.
|
|
110
119
|
*/
|
|
111
120
|
export declare class ModelHealthChecker {
|
|
112
121
|
private readonly _targets;
|
|
@@ -125,6 +134,8 @@ export declare class ModelHealthChecker {
|
|
|
125
134
|
private readonly _onSweepComplete;
|
|
126
135
|
/** Each upstream's credit as last seen; unset until something said. */
|
|
127
136
|
private readonly _accounts;
|
|
137
|
+
/** How many account answers each provider has had, changed or not. */
|
|
138
|
+
private readonly _accountAnswers;
|
|
128
139
|
/** Services marked failing before `onChange` could be told; reported on the first start. */
|
|
129
140
|
private _failingAtInit;
|
|
130
141
|
constructor(config: ModelHealthCheckerConfig);
|
|
@@ -135,6 +146,15 @@ export declare class ModelHealthChecker {
|
|
|
135
146
|
runSweep(): Promise<void>;
|
|
136
147
|
getSnapshot(): ServiceHealthSnapshot[];
|
|
137
148
|
private _runSweep;
|
|
149
|
+
/**
|
|
150
|
+
* An image or video service on an upstream without its own account check
|
|
151
|
+
* follows what the upstream's other services found out about the account:
|
|
152
|
+
* each sweep while it is out of credit counts as a failed check, as an
|
|
153
|
+
* account check does for a video service, and once it has credit again
|
|
154
|
+
* those failures are forgiven: a failing service recovers, unless a buyer
|
|
155
|
+
* request failed it for another reason.
|
|
156
|
+
*/
|
|
157
|
+
private _followAccount;
|
|
138
158
|
/**
|
|
139
159
|
* Run the provider's free checks for services the probe skips: the
|
|
140
160
|
* upstream account check (key valid, account funded) once, and the model
|
|
@@ -157,10 +177,28 @@ export declare class ModelHealthChecker {
|
|
|
157
177
|
*/
|
|
158
178
|
reportUpstreamResponse(provider: Provider, statusCode: number, body: string, billable?: boolean, service?: string): void;
|
|
159
179
|
/** A live request threw before the upstream answered (network error, timeout). */
|
|
160
|
-
reportUpstreamFailure(provider: Provider, service: string): void;
|
|
180
|
+
reportUpstreamFailure(provider: Provider, service: string, billable?: boolean): void;
|
|
181
|
+
/**
|
|
182
|
+
* Image and video services are never probed, so their buyers' failures are
|
|
183
|
+
* the checks: `failureThreshold` in a row mark the service failing.
|
|
184
|
+
*/
|
|
185
|
+
private _recordLiveFailure;
|
|
186
|
+
/** Whether the provider's probes read its account: it has a probed service and no account check of its own. */
|
|
187
|
+
private _probesAccount;
|
|
188
|
+
/**
|
|
189
|
+
* No probe can tell when a service failing on live failures (or on its
|
|
190
|
+
* upstream's credit, which nothing may confirm again) works again, and
|
|
191
|
+
* buyers skip it while it is failing: after the same backoff a probed
|
|
192
|
+
* service waits, it is announced unknown so buyers try it again.
|
|
193
|
+
*/
|
|
194
|
+
private _retryAfterLiveFailures;
|
|
161
195
|
/** The announced health of `service`, if it has been checked. */
|
|
162
196
|
getServiceHealth(provider: Provider, service: string): ServiceHealth | undefined;
|
|
163
197
|
private _findTarget;
|
|
198
|
+
/** A failing service skips scheduled probes for longer the more checks it has failed in a row. */
|
|
199
|
+
private _backingOff;
|
|
200
|
+
/** How many intervals a failing service waits for its next check. */
|
|
201
|
+
private _failingBackoff;
|
|
164
202
|
private _probeSoon;
|
|
165
203
|
/** Probes never compete with paying buyers for concurrency slots. */
|
|
166
204
|
private _atCapacity;
|
|
@@ -168,7 +206,7 @@ export declare class ModelHealthChecker {
|
|
|
168
206
|
/** Records an upstream's credit and reports a change; the first reading of a funded account is not a change. */
|
|
169
207
|
private _setAccount;
|
|
170
208
|
private _recordSuccess;
|
|
171
|
-
/** A failed check started at `checkStartedAt
|
|
209
|
+
/** A failed check started at `checkStartedAt` (null: a buyer request's); a buyer success since then outweighs it. */
|
|
172
210
|
private _recordFailure;
|
|
173
211
|
/** Writes the announced form of `state` onto the provider. */
|
|
174
212
|
private _publish;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-health-checker.d.ts","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjI,OAAO,KAAK,EAAE,QAAQ,EAA8C,MAAM,kCAAkC,CAAC;AAC7G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAA4C,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI5G,2GAA2G;AAC3G,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAC3D,0EAA0E;AAC1E,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,6EAA6E;AAC7E,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D,sFAAsF;AACtF,eAAO,MAAM,6BAA6B,QAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"model-health-checker.d.ts","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,13 @@ export const DEFAULT_HEALTH_CHECK_FAILURE_THRESHOLD = 3;
|
|
|
10
10
|
export const DEFAULT_HEALTH_CHECK_PROBE_TIMEOUT_MS = 60_000;
|
|
11
11
|
/** Shortest gap between probes triggered by failed buyer requests for one service. */
|
|
12
12
|
export const LIVE_FAILURE_PROBE_MIN_GAP_MS = 30_000;
|
|
13
|
+
/**
|
|
14
|
+
* A service that keeps failing is probed less often: every interval, then
|
|
15
|
+
* every second, then every third (with the default, 5, 10 and 15 minutes).
|
|
16
|
+
* Its upstream is often rate limited or out of credit, and each probe would
|
|
17
|
+
* add to that. A successful buyer request still marks it healthy at once.
|
|
18
|
+
*/
|
|
19
|
+
export const MAX_FAILING_PROBE_BACKOFF = 3;
|
|
13
20
|
class ProbeTimeoutError extends Error {
|
|
14
21
|
}
|
|
15
22
|
/**
|
|
@@ -21,8 +28,10 @@ class ProbeTimeoutError extends Error {
|
|
|
21
28
|
* Buyer traffic is the main evidence: a successful billable response marks a
|
|
22
29
|
* service healthy, and a service that had one within the last interval is not
|
|
23
30
|
* probed. Idle services get a minimal (1-token) completion each interval, and
|
|
24
|
-
* a failed buyer request triggers an early probe.
|
|
25
|
-
*
|
|
31
|
+
* a failed buyer request triggers an early probe. Image and video services
|
|
32
|
+
* are never probed (a probe would cost a real generation): their failed buyer
|
|
33
|
+
* requests count as the checks. A service is failing after `failureThreshold`
|
|
34
|
+
* failed checks in a row and recovers on the first pass.
|
|
26
35
|
*/
|
|
27
36
|
export class ModelHealthChecker {
|
|
28
37
|
_targets;
|
|
@@ -41,6 +50,8 @@ export class ModelHealthChecker {
|
|
|
41
50
|
_onSweepComplete;
|
|
42
51
|
/** Each upstream's credit as last seen; unset until something said. */
|
|
43
52
|
_accounts = new Map();
|
|
53
|
+
/** How many account answers each provider has had, changed or not. */
|
|
54
|
+
_accountAnswers = new Map();
|
|
44
55
|
/** Services marked failing before `onChange` could be told; reported on the first start. */
|
|
45
56
|
_failingAtInit = [];
|
|
46
57
|
constructor(config) {
|
|
@@ -145,7 +156,10 @@ export class ModelHealthChecker {
|
|
|
145
156
|
if (this._atCapacity(provider))
|
|
146
157
|
continue;
|
|
147
158
|
const services = [...provider.services];
|
|
148
|
-
const
|
|
159
|
+
for (const service of services) {
|
|
160
|
+
if (!supportsHealthProbe(resolveProbeProtocol(provider, service)))
|
|
161
|
+
this._retryAfterLiveFailures(this._stateFor(provider, service));
|
|
162
|
+
}
|
|
149
163
|
const checkProvider = hasFreeCheck(target.probeProvider) ? target.probeProvider : provider;
|
|
150
164
|
// Free checks also read the account balance, so they run even with traffic.
|
|
151
165
|
const checked = hasFreeCheck(checkProvider)
|
|
@@ -165,8 +179,55 @@ export class ModelHealthChecker {
|
|
|
165
179
|
debugLog(`[ModelHealth] ${provider.name}/${service}: skipping probe, served a buyer ${Math.round((now - state.lastTrafficAt) / 1000)}s ago`);
|
|
166
180
|
continue;
|
|
167
181
|
}
|
|
182
|
+
if (this._backingOff(state, now)) {
|
|
183
|
+
debugLog(`[ModelHealth] ${provider.name}/${service}: failing, next probe later (${state.consecutiveFailures} failed checks in a row)`);
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
168
186
|
await this._probeService(target, service);
|
|
169
187
|
}
|
|
188
|
+
// Only a probed service can find out that the account has credit again: without one, a cached
|
|
189
|
+
// out-of-credit answer would keep the others failing for good, so they wait for a buyer to retry them.
|
|
190
|
+
if (checked.length === 0 && this._probesAccount(provider)) {
|
|
191
|
+
for (const service of services) {
|
|
192
|
+
if (!supportsHealthProbe(resolveProbeProtocol(provider, service)))
|
|
193
|
+
this._followAccount(provider, this._stateFor(provider, service));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* An image or video service on an upstream without its own account check
|
|
200
|
+
* follows what the upstream's other services found out about the account:
|
|
201
|
+
* each sweep while it is out of credit counts as a failed check, as an
|
|
202
|
+
* account check does for a video service, and once it has credit again
|
|
203
|
+
* those failures are forgiven: a failing service recovers, unless a buyer
|
|
204
|
+
* request failed it for another reason.
|
|
205
|
+
*/
|
|
206
|
+
_followAccount(provider, state) {
|
|
207
|
+
const account = this._accounts.get(provider);
|
|
208
|
+
if (account === 'out') {
|
|
209
|
+
// Only a new answer counts: copying a cached one every sweep would keep the service failing
|
|
210
|
+
// after the account is funded whenever the probes stop telling (say they turn inconclusive).
|
|
211
|
+
const answer = this._accountAnswers.get(provider) ?? 0;
|
|
212
|
+
if (state.accountFollowed === answer)
|
|
213
|
+
return;
|
|
214
|
+
state.accountFollowed = answer;
|
|
215
|
+
state.lastProbeAt = Date.now();
|
|
216
|
+
state.lastStatusCode = null;
|
|
217
|
+
state.lastDetail = 'The upstream account is out of credit';
|
|
218
|
+
state.accountFailed = true;
|
|
219
|
+
this._recordFailure(state, 'out_of_credit', null, null);
|
|
220
|
+
}
|
|
221
|
+
else if (account !== undefined && state.accountFailed && !state.liveFailed) {
|
|
222
|
+
if (state.status === 'failing' || state.retrying) {
|
|
223
|
+
this._recordSuccess(state, 'probe', 'The upstream account has credit again');
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
state.consecutiveFailures = 0;
|
|
227
|
+
state.failingSince = null;
|
|
228
|
+
state.reason = null;
|
|
229
|
+
state.accountFailed = false;
|
|
230
|
+
}
|
|
170
231
|
}
|
|
171
232
|
}
|
|
172
233
|
/**
|
|
@@ -233,6 +294,9 @@ export class ModelHealthChecker {
|
|
|
233
294
|
this._recordFailure(state, reason, null, checkStartedAt);
|
|
234
295
|
continue;
|
|
235
296
|
}
|
|
297
|
+
// A funded account and a listed model say nothing about generations that fail.
|
|
298
|
+
if (state.liveFailed)
|
|
299
|
+
continue;
|
|
236
300
|
this._recordSuccess(state, 'probe', balance === undefined ? 'Account check passed' : `Account check passed (balance $${balance.toFixed(2)})`);
|
|
237
301
|
}
|
|
238
302
|
}
|
|
@@ -262,6 +326,10 @@ export class ModelHealthChecker {
|
|
|
262
326
|
lastDetail: null,
|
|
263
327
|
lastTrafficAt: null,
|
|
264
328
|
probeInFlight: false,
|
|
329
|
+
liveFailed: false,
|
|
330
|
+
retrying: false,
|
|
331
|
+
accountFollowed: null,
|
|
332
|
+
accountFailed: false,
|
|
265
333
|
};
|
|
266
334
|
this._states.set(key, state);
|
|
267
335
|
}
|
|
@@ -363,15 +431,70 @@ export class ModelHealthChecker {
|
|
|
363
431
|
return;
|
|
364
432
|
}
|
|
365
433
|
if (statusCode !== 404 && classifyProbeStatus(statusCode) === 'unhealthy') {
|
|
366
|
-
|
|
434
|
+
if (supportsHealthProbe(resolveProbeProtocol(target.provider, service))) {
|
|
435
|
+
this._probeSoon(target, service);
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
const outOfCredit = isLiveResponseOutOfCredit(statusCode, body);
|
|
439
|
+
// A 429 says the provider (often the seller's own concurrency limit) is busy, not broken.
|
|
440
|
+
if (billable && (statusCode !== 429 || outOfCredit)) {
|
|
441
|
+
this._recordLiveFailure(target.provider, service, outOfCredit ? 'out_of_credit' : reasonForStatus(statusCode), statusCode, `HTTP ${statusCode} on a buyer request`);
|
|
442
|
+
}
|
|
367
443
|
}
|
|
368
444
|
}
|
|
369
445
|
/** A live request threw before the upstream answered (network error, timeout). */
|
|
370
|
-
reportUpstreamFailure(provider, service) {
|
|
446
|
+
reportUpstreamFailure(provider, service, billable = true) {
|
|
371
447
|
const target = this._findTarget(provider);
|
|
372
448
|
if (!target || this._stopped || !target.provider.services.includes(service))
|
|
373
449
|
return;
|
|
374
|
-
|
|
450
|
+
if (supportsHealthProbe(resolveProbeProtocol(target.provider, service))) {
|
|
451
|
+
this._probeSoon(target, service);
|
|
452
|
+
}
|
|
453
|
+
else if (billable) {
|
|
454
|
+
this._recordLiveFailure(target.provider, service, 'upstream_error', null, 'Upstream request failed on a buyer request');
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Image and video services are never probed, so their buyers' failures are
|
|
459
|
+
* the checks: `failureThreshold` in a row mark the service failing.
|
|
460
|
+
*/
|
|
461
|
+
_recordLiveFailure(provider, service, reason, httpStatus, detail) {
|
|
462
|
+
const state = this._stateFor(provider, service);
|
|
463
|
+
state.lastStatusCode = httpStatus;
|
|
464
|
+
state.lastDetail = detail;
|
|
465
|
+
// Out of credit is the account's failure, not the service's, when a probe will tell when it has credit again (see `_followAccount`).
|
|
466
|
+
const accountFailure = reason === 'out_of_credit' && this._probesAccount(provider);
|
|
467
|
+
if (accountFailure)
|
|
468
|
+
state.accountFailed = true;
|
|
469
|
+
this._recordFailure(state, reason, httpStatus, null, accountFailure ? 'probe' : 'traffic');
|
|
470
|
+
}
|
|
471
|
+
/** Whether the provider's probes read its account: it has a probed service and no account check of its own. */
|
|
472
|
+
_probesAccount(provider) {
|
|
473
|
+
const target = this._findTarget(provider);
|
|
474
|
+
if (!target || hasFreeCheck(target.provider) || hasFreeCheck(target.probeProvider))
|
|
475
|
+
return false;
|
|
476
|
+
return target.provider.services.some((service) => supportsHealthProbe(resolveProbeProtocol(target.provider, service)));
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* No probe can tell when a service failing on live failures (or on its
|
|
480
|
+
* upstream's credit, which nothing may confirm again) works again, and
|
|
481
|
+
* buyers skip it while it is failing: after the same backoff a probed
|
|
482
|
+
* service waits, it is announced unknown so buyers try it again.
|
|
483
|
+
*/
|
|
484
|
+
_retryAfterLiveFailures(state) {
|
|
485
|
+
if (state.status !== 'failing' || !(state.liveFailed || state.accountFailed) || state.checkedAt === null)
|
|
486
|
+
return;
|
|
487
|
+
if (Date.now() - state.checkedAt < this._failingBackoff(state) * this._intervalMs - LIVE_FAILURE_PROBE_MIN_GAP_MS)
|
|
488
|
+
return;
|
|
489
|
+
state.status = 'unknown';
|
|
490
|
+
state.retrying = true;
|
|
491
|
+
state.failingSince = null;
|
|
492
|
+
state.reason = null;
|
|
493
|
+
state.httpStatus = null;
|
|
494
|
+
state.checkedAt = Date.now();
|
|
495
|
+
state.source = null;
|
|
496
|
+
debugLog(`[ModelHealth] ${state.providerName}/${state.service}: no probe for this service, letting buyers try it again`);
|
|
497
|
+
this._publish(state);
|
|
375
498
|
}
|
|
376
499
|
/** The announced health of `service`, if it has been checked. */
|
|
377
500
|
getServiceHealth(provider, service) {
|
|
@@ -381,6 +504,18 @@ export class ModelHealthChecker {
|
|
|
381
504
|
_findTarget(provider) {
|
|
382
505
|
return this._targets.find((entry) => entry.provider === provider || entry.probeProvider === provider);
|
|
383
506
|
}
|
|
507
|
+
/** A failing service skips scheduled probes for longer the more checks it has failed in a row. */
|
|
508
|
+
_backingOff(state, now) {
|
|
509
|
+
if (state.status !== 'failing' || state.lastProbeAt === null)
|
|
510
|
+
return false;
|
|
511
|
+
const backoff = this._failingBackoff(state);
|
|
512
|
+
// Sweeps come one interval apart, so allow one to come a little early.
|
|
513
|
+
return backoff > 1 && now - state.lastProbeAt < backoff * this._intervalMs - LIVE_FAILURE_PROBE_MIN_GAP_MS;
|
|
514
|
+
}
|
|
515
|
+
/** How many intervals a failing service waits for its next check. */
|
|
516
|
+
_failingBackoff(state) {
|
|
517
|
+
return Math.min(MAX_FAILING_PROBE_BACKOFF, 1 + state.consecutiveFailures - this._failureThreshold);
|
|
518
|
+
}
|
|
384
519
|
_probeSoon(target, service) {
|
|
385
520
|
// Image and video services are never probed (a probe would cost a real generation).
|
|
386
521
|
if (!supportsHealthProbe(resolveProbeProtocol(target.provider, service)))
|
|
@@ -388,6 +523,10 @@ export class ModelHealthChecker {
|
|
|
388
523
|
const state = this._stateFor(target.provider, service);
|
|
389
524
|
if (state.probeInFlight)
|
|
390
525
|
return;
|
|
526
|
+
// Already announced as failing: a probe could only confirm it. A buyer
|
|
527
|
+
// success or the next scheduled probe notices recovery.
|
|
528
|
+
if (state.status === 'failing')
|
|
529
|
+
return;
|
|
391
530
|
if (state.lastProbeAt !== null && Date.now() - state.lastProbeAt < LIVE_FAILURE_PROBE_MIN_GAP_MS)
|
|
392
531
|
return;
|
|
393
532
|
// A full provider answers its own 429, which says nothing about the upstream.
|
|
@@ -418,6 +557,7 @@ export class ModelHealthChecker {
|
|
|
418
557
|
}
|
|
419
558
|
/** Records an upstream's credit and reports a change; the first reading of a funded account is not a change. */
|
|
420
559
|
_setAccount(provider, next, detail, balanceUsd) {
|
|
560
|
+
this._accountAnswers.set(provider, (this._accountAnswers.get(provider) ?? 0) + 1);
|
|
421
561
|
const previous = this._accounts.get(provider);
|
|
422
562
|
if (previous === next)
|
|
423
563
|
return;
|
|
@@ -447,8 +587,11 @@ export class ModelHealthChecker {
|
|
|
447
587
|
}
|
|
448
588
|
}
|
|
449
589
|
_recordSuccess(state, source, detail) {
|
|
450
|
-
const wasFailing = state.status === 'failing';
|
|
590
|
+
const wasFailing = state.status === 'failing' || state.retrying;
|
|
451
591
|
state.status = 'healthy';
|
|
592
|
+
state.retrying = false;
|
|
593
|
+
state.liveFailed = false;
|
|
594
|
+
state.accountFailed = false;
|
|
452
595
|
state.consecutiveFailures = 0;
|
|
453
596
|
state.failingSince = null;
|
|
454
597
|
state.reason = null;
|
|
@@ -470,14 +613,16 @@ export class ModelHealthChecker {
|
|
|
470
613
|
detail,
|
|
471
614
|
});
|
|
472
615
|
}
|
|
473
|
-
/** A failed check started at `checkStartedAt
|
|
474
|
-
_recordFailure(state, reason, httpStatus, checkStartedAt) {
|
|
475
|
-
if (state.lastTrafficAt !== null && state.lastTrafficAt >= checkStartedAt) {
|
|
616
|
+
/** A failed check started at `checkStartedAt` (null: a buyer request's); a buyer success since then outweighs it. */
|
|
617
|
+
_recordFailure(state, reason, httpStatus, checkStartedAt, source = 'probe') {
|
|
618
|
+
if (checkStartedAt !== null && state.lastTrafficAt !== null && state.lastTrafficAt >= checkStartedAt) {
|
|
476
619
|
debugLog(`[ModelHealth] ${state.providerName}/${state.service}: check failed, but a buyer request succeeded meanwhile`);
|
|
477
620
|
return;
|
|
478
621
|
}
|
|
479
622
|
const now = Date.now();
|
|
480
623
|
state.consecutiveFailures += 1;
|
|
624
|
+
if (source === 'traffic')
|
|
625
|
+
state.liveFailed = true;
|
|
481
626
|
state.reason = reason;
|
|
482
627
|
state.httpStatus = httpStatus;
|
|
483
628
|
state.failingSince ??= now;
|
|
@@ -491,9 +636,10 @@ export class ModelHealthChecker {
|
|
|
491
636
|
if (state.status !== 'failing')
|
|
492
637
|
return;
|
|
493
638
|
state.checkedAt = now;
|
|
494
|
-
state.source =
|
|
639
|
+
state.source = source;
|
|
495
640
|
this._publish(state);
|
|
496
|
-
|
|
641
|
+
// A retried service failing again was already reported, and not yet recovered.
|
|
642
|
+
if (!crossed || state.retrying)
|
|
497
643
|
return;
|
|
498
644
|
this._emitChange({
|
|
499
645
|
provider: state.providerName,
|
|
@@ -517,9 +663,11 @@ export class ModelHealthChecker {
|
|
|
517
663
|
health.failingSince = state.failingSince;
|
|
518
664
|
if (state.consecutiveFailures > 0)
|
|
519
665
|
health.consecutiveFailures = Math.min(0xffff, state.consecutiveFailures);
|
|
666
|
+
// The seller's own upstream account (its credit, its key) is not the buyers' business: they are told the upstream is unavailable.
|
|
667
|
+
const accountReason = state.reason === 'out_of_credit' || state.reason === 'auth';
|
|
520
668
|
if (state.reason !== null)
|
|
521
|
-
health.reason = state.reason;
|
|
522
|
-
if (state.httpStatus !== null && state.httpStatus >= 100 && state.httpStatus <= 599)
|
|
669
|
+
health.reason = accountReason ? 'upstream_error' : state.reason;
|
|
670
|
+
if (!accountReason && state.httpStatus !== null && state.httpStatus >= 100 && state.httpStatus <= 599)
|
|
523
671
|
health.httpStatus = state.httpStatus;
|
|
524
672
|
}
|
|
525
673
|
// An own entry even for a service named like an Object.prototype property ("__proto__").
|
|
@@ -567,6 +715,10 @@ function reasonForStatus(statusCode) {
|
|
|
567
715
|
function resolveProbeProtocol(provider, service) {
|
|
568
716
|
return provider.serviceApiProtocols?.[service]?.[0] ?? 'openai-chat-completions';
|
|
569
717
|
}
|
|
718
|
+
/** Whether the provider has checks that cost nothing (its account, its model list). */
|
|
719
|
+
function hasFreeCheck(provider) {
|
|
720
|
+
return Boolean(provider?.checkServiceHealth || provider?.checkUpstreamAccount);
|
|
721
|
+
}
|
|
570
722
|
export function supportsHealthProbe(protocol) {
|
|
571
723
|
return protocol !== 'openai-images' && !isRoutingProtocol(protocol) && !isNativeVideoProtocol(protocol);
|
|
572
724
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-health-checker.js","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-health-checker.js","sourceRoot":"","sources":["../../src/health/model-health-checker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAA2B,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAExF,2GAA2G;AAC3G,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAC5D,sFAAsF;AACtF,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAgI3C,MAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAkB;IACZ,QAAQ,CAAsB;IAC9B,WAAW,CAAS;IACpB,iBAAiB,CAAS;IAC1B,eAAe,CAAS;IACxB,SAAS,CAAuC;IAChD,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7D,kFAAkF;IACjE,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpD,MAAM,GAA0C,IAAI,CAAC;IACrD,cAAc,GAAyB,IAAI,CAAC;IAC5C,QAAQ,GAAG,KAAK,CAAC;IACR,kBAAkB,CAAgD;IAClE,cAAc,CAA4C;IAC1D,gBAAgB,CAA8C;IAC/E,uEAAuE;IACtD,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/D,sEAAsE;IACrD,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/D,4FAA4F;IACpF,cAAc,GAAqB,EAAE,CAAC;IAE9C,YAAY,MAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,gCAAgC,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,CAAC;QACxG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,qCAAqC,CAAC;QACtF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,0EAA0E;QAC1E,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,oBAAoB,KAAK,KAAK;gBAAE,SAAS;YACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBACzB,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;gBAC7B,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;gBACzB,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;gBACtB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;gBACvB,KAAK,CAAC,UAAU,GAAG,oDAAoD,CAAC;gBACxE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,CAAC,WAAW,CAAC;gBACf,QAAQ,EAAE,KAAK,CAAC,YAAY;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,SAAS;gBACjB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,uBAAuB;aACpD,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrB,uDAAuD;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACpD,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACjG,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,KAAK,CAAC,YAAY;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEzC,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACrI,CAAC;YACD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5F,4EAA4E;YAC5E,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC;gBACzC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7F,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjF,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,OAAO,oCAAoC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7I,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;oBACjC,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,OAAO,gCAAgC,KAAK,CAAC,mBAAmB,0BAA0B,CAAC,CAAC;oBACvI,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,8FAA8F;YAC9F,uGAAuG;YACvG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtI,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CAAC,QAAkB,EAAE,KAAqB;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,4FAA4F;YAC5F,6FAA6F;YAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM;gBAAE,OAAO;YAC7C,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;YAC/B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,KAAK,CAAC,UAAU,GAAG,uCAAuC,CAAC;YAC3D,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,uCAAuC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC9B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAAC,MAAyB,EAAE,aAAuB,EAAE,QAAkB;QACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,KAAK,GAAG,CAAI,KAAa,EAAE,KAAuB,EAAE,EAAE,CAAC,WAAW,CACtE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAC7B,IAAI,CAAC,eAAe,EACpB,GAAG,KAAK,QAAQ,QAAQ,CAAC,IAAI,oBAAoB,IAAI,CAAC,eAAe,IAAI,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,aAAa,CAAC,oBAAoB;gBAChC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAqB,EAAE,CAAC;qBAClE,KAAK,CAAC,CAAC,GAAG,EAAyB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9I,CAAC,CAAC,SAAS;YACb,aAAa,CAAC,kBAAkB;gBAC9B,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC3F,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,kBAAkB,GAAG,OAAO,EAAE,MAAM,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9I,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,gHAAgH;YAChH,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;YACjF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;iBACnH,IAAI,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,GAAG;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;iBACxK,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;QAC3J,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,OAAe,EAAkE,EAAE;YAClG,MAAM,KAAK,GAAoC,MAAM,KAAK,SAAS;gBACjE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;YACrF,IAAI,OAAO,EAAE,MAAM,KAAK,aAAa;gBAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnJ,IAAI,KAAK,EAAE,MAAM,KAAK,aAAa;gBAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC3F,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;YAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACtG,CAAC,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,OAAO,mBAAmB,MAAM,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,CAAC;gBACtG,SAAS;YACX,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,+EAA+E;YAC/E,IAAI,KAAK,CAAC,UAAU;gBAAE,SAAS;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kCAAkC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChJ,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,QAAkB,EAAE,OAAe;QACnD,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,QAAQ;gBACR,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI;gBAC7F,OAAO;gBACP,MAAM,EAAE,SAAS;gBACjB,mBAAmB,EAAE,CAAC;gBACtB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,KAAK;aACrB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAyB,EAAE,OAAe;QACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QAEnC,IAAI,OAAqB,CAAC;QAC1B,IAAI,MAA2B,CAAC;QAChC,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,UAAU,GAAG,iDAAiD,QAAQ,EAAE,CAAC;gBAC/E,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,eAAe,EACpB,oBAAoB,OAAO,oBAAoB,IAAI,CAAC,eAAe,IAAI,CACxE,CAAC;YACF,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC3C,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC9C,qGAAqG;YACrG,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzE,KAAK,CAAC,UAAU,GAAG,OAAO,KAAK,SAAS;gBACtC,CAAC,CAAC,QAAQ,QAAQ,CAAC,UAAU,EAAE;gBAC/B,CAAC,CAAC,QAAQ,QAAQ,CAAC,UAAU,KAAK,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,KAAK,CAAC,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpE,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;YAC7B,OAAO,GAAG,WAAW,CAAC;YACtB,MAAM,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,uFAAuF;QACvF,+EAA+E;QAC/E,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,KAAK,GAAG,IAAI,qBAAqB,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC;YACpJ,OAAO,GAAG,WAAW,CAAC;YACtB,MAAM,GAAG,eAAe,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,uEAAuE;YACvE,mEAAmE;YACnE,8BAA8B;YAC9B,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,IAAI,OAAO,mBAAmB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,qFAAqF;YACrF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC1H,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;OAQG;IACH,sBAAsB,CAAC,QAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAgB;QAC5G,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACrC,IAAI,UAAU,IAAI,GAAG,IAAI,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,UAAU,KAAK,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzH,CAAC;aAAM,IAAI,UAAU,GAAG,GAAG,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,UAAU,eAAe,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QACpE,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,UAAU,qBAAqB,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,IAAI,UAAU,KAAK,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC;YAC1E,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAChE,0FAA0F;YAC1F,IAAI,QAAQ,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,QAAQ,UAAU,qBAAqB,CAAC,CAAC;YACtK,CAAC;QACH,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,qBAAqB,CAAC,QAAkB,EAAE,OAAe,EAAE,QAAQ,GAAG,IAAI;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QACpF,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,4CAA4C,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,QAAkB,EAAE,OAAe,EAAE,MAA2B,EAAE,UAAyB,EAAE,MAAc;QACpI,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAClC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC1B,qIAAqI;QACrI,MAAM,cAAc,GAAG,MAAM,KAAK,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,cAAc;YAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,+GAA+G;IACvG,cAAc,CAAC,QAAkB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QACjG,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzH,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,KAAqB;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACjH,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B;YAAE,OAAO;QAC1H,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,QAAQ,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,0DAA0D,CAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,iEAAiE;IACjE,gBAAgB,CAAC,QAAkB,EAAE,OAAe;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAEO,WAAW,CAAC,QAAkB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;IACxG,CAAC;IAED,kGAAkG;IAC1F,WAAW,CAAC,KAAqB,EAAE,GAAW;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,uEAAuE;QACvE,OAAO,OAAO,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;IAC7G,CAAC;IAED,qEAAqE;IAC7D,eAAe,CAAC,KAAqB;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,GAAG,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrG,CAAC;IAEO,UAAU,CAAC,MAAyB,EAAE,OAAe;QAC3D,oFAAoF;QACpF,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,aAAa;YAAE,OAAO;QAChC,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACvC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,WAAW,GAAG,6BAA6B;YAAE,OAAO;QACzG,8EAA8E;QAC9E,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC9C,QAAQ,CAAC,iBAAiB,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,8CAA8C,CAAC,CAAC;QACzG,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,SAAS,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IAC7D,WAAW,CAAC,QAAkB;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YAClD,QAAQ,CAAC,0BAA0B,QAAQ,CAAC,IAAI,kBAAkB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QACtG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,CAAC;IAED,gHAAgH;IACxG,WAAW,CAAC,QAAkB,EAAE,IAAkB,EAAE,MAAc,EAAE,UAAyB;QACnG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAyB;YAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI;YACvC,MAAM,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;YACpF,MAAM;YACN,UAAU;YACV,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACjC,CAAC;QACF,SAAS,CAAC,iBAAiB,KAAK,CAAC,UAAU,cAAc,KAAK,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,MAAM,IAAI,OAAQ,MAAwB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACnE,MAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7I,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAqB,EAAE,MAA2B,EAAE,MAAc;QACvF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC;QAChE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QACzB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5B,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAoB,KAAK,KAAK;YAAE,KAAK,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC9F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,CAAC,WAAW,CAAC;YACf,QAAQ,EAAE,KAAK,CAAC,YAAY;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,CAAC;YACtB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,qHAAqH;IAC7G,cAAc,CAAC,KAAqB,EAAE,MAA2B,EAAE,UAAyB,EAAE,cAA6B,EAAE,SAA8B,OAAO;QACxK,IAAI,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,IAAI,cAAc,EAAE,CAAC;YACrG,QAAQ,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,yDAAyD,CAAC,CAAC;YACxH,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAClD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC;QAC3B,SAAS,CACP,iBAAiB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,wBAAwB;cAC1E,IAAI,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,OAAO,KAAK,CAAC,UAAU,EAAE,CAC9F,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QAClG,IAAI,OAAO;YAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACtC,wEAAwE;QACxE,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACvC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;QACtB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,+EAA+E;QAC/E,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QACvC,IAAI,CAAC,WAAW,CAAC;YACf,QAAQ,EAAE,KAAK,CAAC,YAAY;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,SAAS;YACjB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,cAAc;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IACtD,QAAQ,CAAC,KAAqB;QACpC,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;gBAAE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAC1E,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC;gBAAE,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC5G,kIAAkI;YAClI,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;YAClF,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3F,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG;gBAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC9I,CAAC;QACD,yFAAyF;QACzF,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAkC,CAAC;QACtF,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9I,CAAC;IAEO,WAAW,CAAC,KAAuB;QACzC,QAAQ,CAAC,iBAAiB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9I,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,MAAM,IAAI,OAAQ,MAAwB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACnE,MAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACtC,SAAS,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;CACF;AAED,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,eAAe,CAAC;IAC9E,IAAI,iDAAiD,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAClF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,iEAAiE;AACjE,SAAS,eAAe,CAAC,UAAkB;IACzC,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC9C,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,eAAe,CAAC;IAC/C,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAC5D,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACnD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,SAAS,oBAAoB,CAAC,QAAkB,EAAE,OAAe;IAC/D,OAAO,QAAQ,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC;AACnF,CAAC;AAED,uFAAuF;AACvF,SAAS,YAAY,CAAC,QAAmB;IACvC,OAAO,OAAO,CAAC,QAAQ,EAAE,kBAAkB,IAAI,QAAQ,EAAE,oBAAoB,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA4B;IAC9D,OAAO,QAAQ,KAAK,eAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,QAA4B;IACnF,IAAI,IAAY,CAAC;IACjB,IAAI,IAA6B,CAAC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,oBAAoB;YACvB,IAAI,GAAG,cAAc,CAAC;YACtB,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACxF,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,eAAe,CAAC;YACvB,sEAAsE;YACtE,yEAAyE;YACzE,IAAI,GAAG;gBACL,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC;wBACN,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAChD,CAAC;gBACF,iBAAiB,EAAE,EAAE;aACtB,CAAC;YACF,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,iBAAiB,CAAC;YACzB,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACzD,MAAM;QACR,KAAK,yBAAyB;YAC5B,IAAI,GAAG,sBAAsB,CAAC;YAC9B,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACxF,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,eAAe,CAAC;YACvB,iEAAiE;YACjE,kBAAkB;YAClB,IAAI,GAAG;gBACL,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,6BAA6B,EAAE,EAAE;aACjF,CAAC;YACF,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,WAAW,CAAC,CAAC;IAChF,CAAC;IACD,OAAO;QACL,SAAS,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACzF,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC/G,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC;IAC1C,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB,EAAE,QAAgB;IACpD,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,OAAe;IACnF,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5E,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,yEAAyE;QACzE,6BAA6B;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -17,4 +17,21 @@ export declare function isUpstreamFailureStatus(statusCode: number): boolean;
|
|
|
17
17
|
* its error message (which can quote the seller's credentials) is dropped.
|
|
18
18
|
*/
|
|
19
19
|
export declare function buildSelfHealthErrorResponse(requestId: string, service: string, health: ServiceHealth, upstream: Pick<SerializedHttpResponse, 'statusCode' | 'headers' | 'body'>): SerializedHttpResponse;
|
|
20
|
+
/**
|
|
21
|
+
* Whether an upstream error is about the seller's own account: its key
|
|
22
|
+
* (401, 403) or its credit. This decides what buyers are shown, so it reads
|
|
23
|
+
* a billing error at any status; a buyer who gets its own input echoed back
|
|
24
|
+
* this way only gets a 503 instead of a 400. Health checks read the account
|
|
25
|
+
* more carefully (`isLiveResponseOutOfCredit`).
|
|
26
|
+
*/
|
|
27
|
+
export declare function isUpstreamAccountError(statusCode: number, text: string): boolean;
|
|
28
|
+
/** Error code a seller answers with when its upstream account (credit or key) fails a request. */
|
|
29
|
+
export declare const UPSTREAM_UNAVAILABLE_CODE = "upstream_unavailable";
|
|
30
|
+
/**
|
|
31
|
+
* What a buyer gets for an upstream answer about the seller's account (out of
|
|
32
|
+
* credit, key rejected): the seller's account is not the buyer's business (and
|
|
33
|
+
* a 402 would read as a request to pay), so it is a 503 saying the service is
|
|
34
|
+
* unavailable, without the upstream's message, type or headers.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildUpstreamUnavailableResponse(requestId: string, service: string): SerializedHttpResponse;
|
|
20
37
|
//# sourceMappingURL=self-health-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-health-error.d.ts","sourceRoot":"","sources":["../../src/health/self-health-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"self-health-error.d.ts","sourceRoot":"","sources":["../../src/health/self-health-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGnE;AAgBD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC,GACxE,sBAAsB,CAuBxB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED,kGAAkG;AAClG,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAc3G"}
|