@polpo-ai/connect-server 0.17.2 → 0.18.0
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/oauth-token-transport.d.ts +29 -0
- package/dist/oauth-token-transport.d.ts.map +1 -1
- package/dist/oauth-token-transport.js.map +1 -1
- package/dist/service.d.ts +9 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +49 -14
- package/dist/service.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./mcp-execution.js";
|
|
|
9
9
|
export * from "./mcp-capability-resolver.js";
|
|
10
10
|
export * from "./mcp-runner-broker.js";
|
|
11
11
|
export * from "./custom-tool-runner-broker.js";
|
|
12
|
+
export * from "./oauth-token-transport.js";
|
|
12
13
|
export { observeConnectionSetupSession, cancelConnectionSetupSession } from "./setup-lifecycle.js";
|
|
13
14
|
export { resolveMcpOAuthSetupClient, verifyMcpOAuthSetupClient, type McpOAuthSetupClientReference } from "./mcp-setup-clients.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./mcp-execution.js";
|
|
|
9
9
|
export * from "./mcp-capability-resolver.js";
|
|
10
10
|
export * from "./mcp-runner-broker.js";
|
|
11
11
|
export * from "./custom-tool-runner-broker.js";
|
|
12
|
+
export * from "./oauth-token-transport.js";
|
|
12
13
|
export { observeConnectionSetupSession, cancelConnectionSetupSession } from "./setup-lifecycle.js";
|
|
13
14
|
export { resolveMcpOAuthSetupClient, verifyMcpOAuthSetupClient } from "./mcp-setup-clients.js";
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAqC,MAAM,wBAAwB,CAAC"}
|
|
@@ -6,6 +6,35 @@ export interface ProviderTokenResponse {
|
|
|
6
6
|
expires_in?: number;
|
|
7
7
|
scope?: string;
|
|
8
8
|
}
|
|
9
|
+
/** Public OAuth application identity plus the provider token endpoint. The
|
|
10
|
+
* application secret is deliberately absent: a managed host can keep it behind
|
|
11
|
+
* an implementation of OAuthTokenTransport while a tenant runtime stores only
|
|
12
|
+
* its own authorization tokens. */
|
|
13
|
+
export interface OAuthTokenTransportContext {
|
|
14
|
+
providerId: string;
|
|
15
|
+
authenticationId?: string;
|
|
16
|
+
oauthClientId?: string;
|
|
17
|
+
oauthClientFingerprint?: string;
|
|
18
|
+
clientId: string;
|
|
19
|
+
authorizationUrl: string;
|
|
20
|
+
tokenUrl: string;
|
|
21
|
+
extraTokenParams?: Readonly<Record<string, string>>;
|
|
22
|
+
}
|
|
23
|
+
export interface OAuthCodeExchangeRequest extends OAuthTokenTransportContext {
|
|
24
|
+
code: string;
|
|
25
|
+
redirectUri: string;
|
|
26
|
+
codeVerifier?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface OAuthRefreshRequest extends OAuthTokenTransportContext {
|
|
29
|
+
refreshToken: string;
|
|
30
|
+
}
|
|
31
|
+
/** Optional trust-boundary for OAuth client credentials. Self-hosted Connect
|
|
32
|
+
* can omit it and exchange directly; managed runtimes can call a signed host
|
|
33
|
+
* broker so the platform OAuth application secret never enters the runtime. */
|
|
34
|
+
export interface OAuthTokenTransport {
|
|
35
|
+
exchange(input: Readonly<OAuthCodeExchangeRequest>): Promise<ProviderTokenResponse>;
|
|
36
|
+
refresh(input: Readonly<OAuthRefreshRequest>): Promise<ProviderTokenResponse>;
|
|
37
|
+
}
|
|
9
38
|
export interface TokenTransportOptions {
|
|
10
39
|
fetch: typeof fetch;
|
|
11
40
|
resolveHostname: (hostname: string) => Promise<readonly string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-token-transport.d.ts","sourceRoot":"","sources":["../src/oauth-token-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6B,MAAM,mBAAmB,CAAC;AAG5E,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AASD,2GAA2G;AAC3G,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED,iGAAiG;AACjG,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,EACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,GAChE,OAAO,CAAC,OAAO,CAAC,CAoElB"}
|
|
1
|
+
{"version":3,"file":"oauth-token-transport.d.ts","sourceRoot":"","sources":["../src/oauth-token-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6B,MAAM,mBAAmB,CAAC;AAG5E,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;mCAGmC;AACnC,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B;IACrE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;+EAE+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AASD,2GAA2G;AAC3G,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACvC,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED,iGAAiG;AACjG,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,EACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,GAChE,OAAO,CAAC,OAAO,CAAC,CAoElB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-token-transport.js","sourceRoot":"","sources":["../src/oauth-token-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-token-transport.js","sourceRoot":"","sources":["../src/oauth-token-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ConnectionSetupStatus, type ConnectPolicy, type ConnectStore, type ConnectSubject, type ConnectionAudience, type ConnectionBindingAttributes, type ConnectionCreationContext, type ConnectionLinkStore, type ConnectionLink, type ConnectionLinkListFilter, type ConnectionOwner, type ConnectionRecord, type ConnectionSetupSession, type ConnectionSetupSessionStore, type ConnectorProviderDefinition, type ConnectorDefinition, type ConnectorCatalogEntry, type ConnectorDefinitionStore, type StoredConnectorDefinition, type ConnectorSetupReadinessInput, type ConnectorSetupReadinessResult, type ConnectionVerificationResult, type ConnectionVerificationStore, type McpConnectionAuth, type McpConnectionTransport, type McpOAuthClientInformation, type McpOAuthClientResolver, type McpOAuthClientMode, type McpOAuthInspection, type OAuthClientResolver, type ResolvedConnectionCredential, type RuntimeToken } from "@polpo-ai/connect";
|
|
2
2
|
import { type ConnectionRequest, type ConnectionResponse } from "@polpo-ai/core";
|
|
3
3
|
import { type ConnectionSecretStore, type TokenRefreshCoordinator } from "./secrets.js";
|
|
4
|
+
import { type OAuthTokenTransport } from "./oauth-token-transport.js";
|
|
4
5
|
import { type McpOAuthClientRegistrationStore } from "./mcp-oauth.js";
|
|
5
6
|
/** Host authorization only. No provider credentials, callback codes or metadata. */
|
|
6
7
|
export interface OAuthOperationContext {
|
|
@@ -23,10 +24,17 @@ export interface CreateConnectServiceOptions {
|
|
|
23
24
|
now?: () => Date;
|
|
24
25
|
tokenRefreshSkewMs?: number;
|
|
25
26
|
oauthStateTtlMs?: number;
|
|
27
|
+
/** Optional trusted routing hint for opaque browser-facing setup tokens and
|
|
28
|
+
* OAuth state. It carries no authority; the persisted full token remains the
|
|
29
|
+
* verifier. Useful when one callback host fronts isolated tenant runtimes. */
|
|
30
|
+
opaqueTokenPrefix?: string;
|
|
26
31
|
allowInsecureLocalMcpUrls?: boolean;
|
|
27
32
|
refreshCoordinator?: TokenRefreshCoordinator;
|
|
28
33
|
resolveHostname?: (hostname: string) => Promise<readonly string[]>;
|
|
29
34
|
oauthClients?: OAuthClientResolver;
|
|
35
|
+
/** Keeps managed OAuth application secrets outside a tenant runtime. When
|
|
36
|
+
* present, every API OAuth code exchange and refresh uses this transport. */
|
|
37
|
+
oauthTokenTransport?: OAuthTokenTransport;
|
|
30
38
|
mcpOAuthClients?: McpOAuthClientResolver;
|
|
31
39
|
setupSessions?: ConnectionSetupSessionStore;
|
|
32
40
|
links?: ConnectionLinkStore;
|
|
@@ -214,6 +222,7 @@ export interface ConnectService {
|
|
|
214
222
|
resolveCredential(input: ResolveConnectionCredentialInput): Promise<ResolvedConnectionCredential>;
|
|
215
223
|
getToken(input: GetTokenInput): Promise<RuntimeToken>;
|
|
216
224
|
verifyConnection(input: VerifyConnectionInput): Promise<ConnectionVerificationResult>;
|
|
225
|
+
getConnectionVerification(connectionId: string): Promise<ConnectionVerificationResult | null>;
|
|
217
226
|
request<T = unknown>(input: ConnectionGatewayRequestInput): Promise<ConnectionResponse<T>>;
|
|
218
227
|
revokeConnection(input: RevokeConnectionInput): Promise<ConnectionRecord>;
|
|
219
228
|
}
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAgB1B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAIvB,KAAK,mBAAmB,EAExB,KAAK,4BAA4B,EACjC,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -4,7 +4,7 @@ import { lookup } from "node:dns/promises";
|
|
|
4
4
|
import { createHash } from "node:crypto";
|
|
5
5
|
import { MemoryTokenRefreshCoordinator, isVersionedConnectionSecretStore, } from "./secrets.js";
|
|
6
6
|
import { createOpaqueToken, createPkcePair, parseScopes } from "./oauth.js";
|
|
7
|
-
import { requestOAuthToken } from "./oauth-token-transport.js";
|
|
7
|
+
import { requestOAuthToken, } from "./oauth-token-transport.js";
|
|
8
8
|
import { verifyConnectionProbe } from "./verification.js";
|
|
9
9
|
import { assertRefreshAvailable, hasPendingRefresh, refreshConnectionSecret } from "./refresh-lineage.js";
|
|
10
10
|
import { normalizeOAuthTokenScopes, oauthIdentityPolicyFingerprint, resolveOAuthAccountIdentity } from "./oauth-identity.js";
|
|
@@ -13,6 +13,13 @@ import { resolveMcpOAuthSetupClient, verifyMcpOAuthSetupClient } from "./mcp-set
|
|
|
13
13
|
import { observeConnectionSetupSession, cancelConnectionSetupSession } from "./setup-lifecycle.js";
|
|
14
14
|
import { createMcpOAuthProtocol, } from "./mcp-oauth.js";
|
|
15
15
|
export function createConnectService(options) {
|
|
16
|
+
if (options.opaqueTokenPrefix !== undefined
|
|
17
|
+
&& !/^[A-Za-z0-9_-]{1,128}$/.test(options.opaqueTokenPrefix)) {
|
|
18
|
+
throw new TypeError("Connect opaque token prefix is invalid");
|
|
19
|
+
}
|
|
20
|
+
const createRoutedOpaqueToken = () => options.opaqueTokenPrefix
|
|
21
|
+
? `${options.opaqueTokenPrefix}.${createOpaqueToken()}`
|
|
22
|
+
: createOpaqueToken();
|
|
16
23
|
const registry = createConnectorRegistry(options.providers);
|
|
17
24
|
const requireProvider = async (id, authenticationId) => {
|
|
18
25
|
if (registry.get(id))
|
|
@@ -132,7 +139,7 @@ export function createConnectService(options) {
|
|
|
132
139
|
assertOAuthClient(input.provider.id, input.redirectUri, input.client);
|
|
133
140
|
const auth = input.provider.auth;
|
|
134
141
|
const requestedScopes = assertAllowedScopes(input.provider, [...(input.scopes ?? auth.defaultScopes ?? []), ...(auth.identity?.requiredScopes ?? [])]);
|
|
135
|
-
const state =
|
|
142
|
+
const state = createRoutedOpaqueToken();
|
|
136
143
|
const pkce = auth.supportsPkce === false ? undefined : createPkcePair();
|
|
137
144
|
await authorizeOAuth("authorize", "api", { ...input, providerId: input.provider.id,
|
|
138
145
|
authenticationId: input.provider.authenticationId, connectionId: input.reconnect?.connectionId });
|
|
@@ -275,7 +282,7 @@ export function createConnectService(options) {
|
|
|
275
282
|
const url = normalizeMcpUrl(input.url, false);
|
|
276
283
|
const transport = input.transport ?? "http";
|
|
277
284
|
const requestedScopes = assertAllowedScopes(provider, input.scopes ?? provider.auth.defaultScopes);
|
|
278
|
-
const state =
|
|
285
|
+
const state = createRoutedOpaqueToken();
|
|
279
286
|
const pendingConnectionId = createId("conn");
|
|
280
287
|
const temporarySecretRef = createId("connsec");
|
|
281
288
|
const started = await mcpOAuth.start({
|
|
@@ -442,6 +449,12 @@ export function createConnectService(options) {
|
|
|
442
449
|
await options.verifications?.saveConnectionVerification(result);
|
|
443
450
|
return result;
|
|
444
451
|
},
|
|
452
|
+
async getConnectionVerification(connectionId) {
|
|
453
|
+
const connection = await options.store.getConnection(connectionId);
|
|
454
|
+
if (!connection)
|
|
455
|
+
throw new ConnectError("connection_not_found", "Connection not found");
|
|
456
|
+
return options.verifications?.getConnectionVerification(connectionId) ?? null;
|
|
457
|
+
},
|
|
445
458
|
listConnections(filter) {
|
|
446
459
|
return options.store.listConnections(filter);
|
|
447
460
|
},
|
|
@@ -771,7 +784,9 @@ export function createConnectService(options) {
|
|
|
771
784
|
throw new ConnectError("setup_invalid", "OAuth Client has no registered redirect URI");
|
|
772
785
|
const timestamp = now().toISOString();
|
|
773
786
|
const setup = {
|
|
774
|
-
id:
|
|
787
|
+
id: options.opaqueTokenPrefix
|
|
788
|
+
? `${options.opaqueTokenPrefix}.${createId("connsetup")}`
|
|
789
|
+
: createId("connsetup"),
|
|
775
790
|
providerId: provider.id,
|
|
776
791
|
authenticationId: provider.authenticationId,
|
|
777
792
|
...(mcp ? { flowKind: "mcp" } : {}),
|
|
@@ -969,7 +984,11 @@ export function createConnectService(options) {
|
|
|
969
984
|
throw new ConnectError("policy_denied", "Connection changed while reconnecting");
|
|
970
985
|
}
|
|
971
986
|
await authorizeOAuth("callback", "api", state);
|
|
972
|
-
const
|
|
987
|
+
const tokenContext = oauthTokenContext(provider, oauthAuth, state.oauthClientId, state.oauthClientFingerprint);
|
|
988
|
+
const tokenSet = options.oauthTokenTransport
|
|
989
|
+
? await options.oauthTokenTransport.exchange({ ...tokenContext, code: input.code,
|
|
990
|
+
redirectUri: state.redirectUri, codeVerifier: state.codeVerifier })
|
|
991
|
+
: await exchangeCode(fetchImpl, resolveHostname, oauthAuth, input.code, state.redirectUri, state.codeVerifier);
|
|
973
992
|
const tokenScopes = normalizeOAuthTokenScopes(provider.auth, parseScopes(tokenSet.scope, state.requestedScopes));
|
|
974
993
|
// A provider may include grants from a previous consent on the same OAuth
|
|
975
994
|
// app. Record actual token scopes without expanding this Connection.
|
|
@@ -1309,7 +1328,19 @@ export function createConnectService(options) {
|
|
|
1309
1328
|
await authorizeConnection("refresh", connection);
|
|
1310
1329
|
},
|
|
1311
1330
|
refresh: async () => {
|
|
1312
|
-
const
|
|
1331
|
+
const tokenSet = options.oauthTokenTransport
|
|
1332
|
+
? await options.oauthTokenTransport.refresh({
|
|
1333
|
+
...oauthTokenContext(provider, oauthAuth, connection.oauthClientId, connection.oauthClientFingerprint),
|
|
1334
|
+
refreshToken: latestTokens.refreshToken,
|
|
1335
|
+
})
|
|
1336
|
+
: await requestOAuthToken({ fetch: fetchImpl, resolveHostname }, oauthAuth.tokenUrl, {
|
|
1337
|
+
grant_type: "refresh_token",
|
|
1338
|
+
refresh_token: latestTokens.refreshToken,
|
|
1339
|
+
client_id: oauthAuth.clientId,
|
|
1340
|
+
client_secret: oauthAuth.clientSecret,
|
|
1341
|
+
...oauthAuth.extraTokenParams,
|
|
1342
|
+
});
|
|
1343
|
+
const refreshed = normalizeTokenSet(tokenSet, normalizeOAuthTokenScopes(oauthAuth, parseScopes(tokenSet.scope, latestTokens.scopes ?? connection.grantedScopes)), now(), latestTokens.refreshToken);
|
|
1313
1344
|
if (!versionedStore)
|
|
1314
1345
|
await assertConnectionCurrent(connection, scopes, false);
|
|
1315
1346
|
return { ...latestSecret, tokens: refreshed };
|
|
@@ -1830,15 +1861,19 @@ async function exchangeCode(fetchImpl, resolveHostname, auth, code, redirectUri,
|
|
|
1830
1861
|
...auth.extraTokenParams,
|
|
1831
1862
|
});
|
|
1832
1863
|
}
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
...
|
|
1864
|
+
function oauthTokenContext(provider, auth, oauthClientId, oauthClientFingerprintValue) {
|
|
1865
|
+
if (!auth.clientId)
|
|
1866
|
+
throw new ConnectError("setup_invalid", "OAuth Client registration is unavailable");
|
|
1867
|
+
return Object.freeze({
|
|
1868
|
+
providerId: provider.id,
|
|
1869
|
+
...(provider.authenticationId ? { authenticationId: provider.authenticationId } : {}),
|
|
1870
|
+
...(oauthClientId ? { oauthClientId } : {}),
|
|
1871
|
+
...(oauthClientFingerprintValue ? { oauthClientFingerprint: oauthClientFingerprintValue } : {}),
|
|
1872
|
+
clientId: auth.clientId,
|
|
1873
|
+
authorizationUrl: auth.authorizationUrl,
|
|
1874
|
+
tokenUrl: auth.tokenUrl,
|
|
1875
|
+
...(auth.extraTokenParams ? { extraTokenParams: Object.freeze({ ...auth.extraTokenParams }) } : {}),
|
|
1840
1876
|
});
|
|
1841
|
-
return normalizeTokenSet(tokenSet, normalizeOAuthTokenScopes(auth, parseScopes(tokenSet.scope, fallbackScopes)), now, refreshTokenValue);
|
|
1842
1877
|
}
|
|
1843
1878
|
function normalizeTokenSet(payload, scopes, now, fallbackRefreshToken) {
|
|
1844
1879
|
return {
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EAEpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EAEpB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EACf,2BAA2B,GAuC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,GAGzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,GAGjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,iBAAiB,GAIlB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EACL,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AAgPxB,MAAM,UAAU,oBAAoB,CAAC,OAAoC;IACvE,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;WACtC,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB;QAC7D,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,EAAE,EAAE;QACvD,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,KAAK,EAAE,EAAU,EAAE,gBAAyB,EAAwC,EAAE;QAC5G,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU;YAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;QAC7G,OAAO,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC;IAChE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,GAAG,MAAM,CAAC;IAC/D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,GAAG,MAAM,CAAC;IACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,6BAA6B,EAAE,CAAC;IAC7F,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE,CAC7E,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAiB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACjI,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,2CAA2C,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAChI,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACtC,KAAK,EAAE,aAAa;QACpB,aAAa,EAAE,OAAO,CAAC,qBAAqB;QAC5C,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,MAAM,CAAC;IAEhF,MAAM,cAAc,GAAG,KAAK,EAAE,SAA6C,EAAE,QAA2C,EACtH,OAAqH,EAAE,EAAE;QACzH,0EAA0E;QAC1E,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU;YAChG,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;YAC9F,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,EAAE,SAAmC,EAAE,UAA4B,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;QACxH,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACrG,MAAM,eAAe,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK;eACjE,CAAC,QAAQ,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC9E,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAA4B,EAAE,MAAgB,EAAE,SAAS,GAAG,IAAI,EAA6B,EAAE;QACpI,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;eACpF,OAAO,CAAC,iBAAiB,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,mDAAmD,CAAC,CAAC;QACpG,CAAC;QACD,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,SAAS;YAAE,MAAM,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,QAA0B,EAAyC,EAAE;QACzG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACjF,2EAA2E;QAC3E,+EAA+E;QAC/E,IAAI,OAAO,EAAE,MAAM,KAAK,QAAQ,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC,wBAAwB;gBACtF,sBAAsB,CAAC,QAAQ,CAAC,CAAC,wBAAwB;YAAE,OAAO,OAAO,CAAC;QAChF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,UAA4B,EAA6B,EAAE;QAC7F,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;YAChC,8EAA8E;YAC9E,2EAA2E;YAC3E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAMjC,EAAgC,EAAE;QACjC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;gBAChD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC7B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB;gBACjD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;aAC9B,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,WAAW;gBAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;iBAClF,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,gDAAgD,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iEAAiE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,mBAAmB,KAAK,CAAC,QAAQ,CAAC,EAAE,uCAAuC,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,UAAU,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE;YACjC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;YACtC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;YAC9C,YAAY,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC1C,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,KAiBzB,EAA6B,EAAE;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,aAAa,KAAK,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAC3D,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,MAAM,eAAe,GAAG,mBAAmB,CACzC,KAAK,CAAC,QAAQ,EACd,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QACxE,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YAChF,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QACpG,MAAM,SAAS,GAAG,KAAK,CAAC,sBAAsB,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5G,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;QAChI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;YACjC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;YAC7B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB;YACjD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe;YACf,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,IAAI,EAAE,QAAQ;YAC5B,aAAa,EAAE,IAAI,EAAE,SAAS;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS;YACT,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YAC9B,sBAAsB,EAAE,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrF,8BAA8B,EAAE,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7E,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,EAClC,QAAqC,EACrC,aAAiC,EACjC,WAAoB,EACO,EAAE;QAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,aAAa,QAAQ,CAAC,EAAE,4BAA4B,CACrD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChF,MAAM,IAAI,YAAY,CACpB,qBAAqB,EACrB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrE,OAAO;YACL,GAAG,QAAQ,CAAC,IAAI;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;QACnE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,KAAK,CAAC,8BAA8B,KAAK,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sDAAsD,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACtF,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,6CAA6C,CAAC,CAAC;YACzF,CAAC;YACD,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtF,SAAS,GAAG;gBACV,GAAG,QAAQ,CAAC,IAAI;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,oCAAoC;eACvF,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB;eACvF,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe;eACpG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uDAAuD,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,EAAE,EAAW,EAAE,WAAoB,EAAE,EAAE;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;QACxI,OAAO,yBAAyB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;QACzD,mBAAmB,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAc,CAAC,oCAAqC,CAAC,KAAK,CAAC,eAAgB,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAC9H,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5F,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS;eAC3F,KAAK,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9G,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yDAAyD,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAgC,EAAE,EAAW,EAAE,WAAoB,EAAE,EAAE;QACvG,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxH,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,EAAE,KAAyB,EAAE,YAGvD,EAA6B,EAAE;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB;eACjG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;eAC5F,CAAC,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,qEAAqE,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9F,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,oDAAoD,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC;QAC5C,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;YACnC,GAAG;YACH,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK;YACL,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,qBAAqB,EAAE,YAAY,EAAE,WAAW;SACjD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,sBAAsB,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC;QAC1G,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;QAC1I,IAAI,YAAY;YAAE,MAAM,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QACzF,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,EAAE;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC;YACH,YAAY,EAAE,mBAAmB,EAAE,CAAC;YACpC,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;gBACjC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,QAAQ;oBAChG,sBAAsB,EAAE,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,KAAK;gBACL,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,eAAe;gBACf,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;gBACzC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,cAAc,EAAE,KAAK,CAAC,IAAI;gBAC1B,kBAAkB;gBAClB,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;gBAClC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;gBAClC,QAAQ,EAAE;oBACR,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC3C,GAAG;oBACH,SAAS;oBACT,IAAI,EAAE,QAAQ;oBACd,eAAe,EAAE,KAAK,CAAC,IAAI;oBAC3B,mBAAmB;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,kBAAkB,KAAK,kBAAkB;mBACrF,SAAS,CAAC,QAAQ,EAAE,mBAAmB,KAAK,mBAAmB;gBAAE,MAAM,KAAK,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IACnG,CAAC,CAAC;IAEF,OAAO;QACL,aAAa;YACX,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;YAC3E,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;qBACnH,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,KAAK;YAC3B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAkC;gBAC1C,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,uBAAuB;gBAC9E,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBACxF,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzF,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACvG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;YACrG,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC1E,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YAChH,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;oBACtC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;oBACxD,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe;iBAC5D,CAAC,CAAC;gBACH,OAAO;oBACL,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe;oBAC5D,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC/D,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe;qBACvH,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAClB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc;oBAClF,IAAI,EAAE,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;QAED,KAAK,CAAC,2BAA2B,CAAC,KAAK;YACrC,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yDAAyD,CAAC,CAAC;YAC7H,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAC;YACtJ,IAAI,UAA+B,CAAC;YACpC,IAAI,CAAC;gBAAC,UAAU,GAAG,4BAA4B,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAAC,CAAC;YAClF,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,YAAY;oBAAE,MAAM,KAAK,CAAC;gBAC/C,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kEAAkE,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;YAC5H,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,MAAM,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,0BAA0B,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,yDAAyD,CAAC,CAAC;YAC7H,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,wEAAwE,CAAC,CAAC;YAC3I,OAAO,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAK;YAC1B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3F,IAAI,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE;gBAC1E,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC9B,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC/D,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,gBAAgB;iBACvD,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EACxE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,SAAU,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE;oBAC5E,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACzF,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;oBACxC,MAAM,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACzE,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;mBAC7F,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACnF,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YACxH,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,MAAM,OAAO,CAAC,aAAa,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,yBAAyB,CAAC,YAAY;YAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;YACxF,OAAO,OAAO,CAAC,aAAa,EAAE,yBAAyB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAChF,CAAC;QAED,eAAe,CAAC,MAAM;YACpB,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,MAAM;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,KAAK;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,gCAAgC,YAAY,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;iBACpF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;gBACxC,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;gBACxB,YAAY;gBACZ,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAK;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,8BAA8B,MAAM,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE;gBAChD,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,KAAK;YAChC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjG,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE;gBACzC,IAAI,EAAE,SAAS;gBACf,MAAM;gBACN,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,oBAAoB,CAAC;gBAC1B,EAAE;gBACF,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,QAAQ,CAAC,OAAO;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACtC,aAAa;gBACb,SAAS;gBACT,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,KAAK;YAChC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,uCAAuC,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjG,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACpC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC1F,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO;gBACzF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACtD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;gBACjD,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACtC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACrE,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,KAAK;YAC7B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9F,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAChG,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC;YAC5C,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAChD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;YACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;YACxC,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,uDAAuD,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9D,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAC;YAChG,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC;gBAClE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;aAC9G,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpB,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjG,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,QAAQ,GAA0B;gBACtC,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC3C,GAAG;gBACH,SAAS;gBACT,IAAI;gBACJ,UAAU;aACX,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE;oBACzC,IAAI,EAAE,KAAK;oBACX,MAAM;oBACN,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,oBAAoB,CAAC;gBAC1B,EAAE;gBACF,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,QAAQ,CAAC,OAAO;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;gBACtC,aAAa;gBACb,SAAS;gBACT,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC9B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAK;YACzB,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,KAAK;YACvB,yEAAyE;YACzE,wEAAwE;YACxE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAK;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,iBAAiB;mBACzE,CAAC,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,4DAA4D,CAAC,CAAC;YACxG,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC3C,MAAM,IAAI,YAAY,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,wBAAwB;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;YAC5I,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBAC3E,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAM,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,qBAAqB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtJ,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBACnH,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS,EAAE,MAAM,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBACrD,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,2CAA2C,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7D,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,KAAK,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;YACjI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gCAAgC,CAAC,CAAC;YAC7G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACrF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAC;YAChG,CAAC;YAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CACzC,KAAK,CAAC,KAAK,EACX,UAAU,EACV,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,0BAA0B,CAAC,CAAC,WAAW,EAAE,EACpE,GAAG,EAAE,CAAC,WAAW,EAAE,CACpB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,+CAA+C,CAAC,CAAC;YACxG,CAAC;YACD,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,QAAQ,EAAE,mBAAmB,KAAK,QAAQ;gBACnF,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBACtC,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC,iBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,eAAe;wBAC1H,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,6CAA6C,CAAC,CAAC;oBACtG,CAAC;oBACD,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAChC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;gBACtF,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAClF,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC;gBACrC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;gBAC5F,CAAC;gBACD,kEAAkE;gBAClE,uEAAuE;gBACvE,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC5H,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC;oBAClE,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,KAAK,CAAC,IAAK;oBACjB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC,CAAC;gBACH,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBACvF,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC7E,MAAM,QAAQ,GAA2B;oBACvC,GAAG,eAAe;oBAClB,YAAY,EAAE,SAAS;oBACvB,MAAM;iBACP,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CACpE,OAAO,CAAC,kBAAkB,EAAE,UAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACrF;oBAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,oDAAoD,CAAC,CAAC;gBAC9G,uEAAuE;gBACvE,uEAAuE;gBACvE,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,EAAE,GAAG,mBAAmB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,eAAe;oBAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAqB;oBAC/B,EAAE;oBACF,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,IAAI,EAAE,OAAO,CAAC,cAAc;oBAC5B,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;oBAClE,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;oBACtD,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,QAAQ;oBAChB,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;oBACtC,aAAa;oBACb,SAAS,EAAE,OAAO,CAAC,kBAAkB;oBACrC,cAAc,EAAE,MAAM,CAAC,SAAS;oBAChC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;oBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;oBAC9B,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACzD,CAAC;gBACF,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;gBAChG,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe;oBACxC,CAAC,CAAC,MAAM,KAAK,CAAC,mBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,eAAe;wBACrF,IAAI,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAU,EAAE,MAAM,EAAE,QAAQ;4BAC7F,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;oBACjE,CAAC,CAAC,MAAM,KAAK,CAAC,wBAAyB,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,2DAA2D,CAAC,CAAC;gBACnI,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;gBACxE,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,KAAK;YAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC7G,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;YACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAChJ,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,aAAa,QAAQ,CAAC,EAAE,4BAA4B,CACrD,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,GAAG;gBAAE,mBAAmB,EAAE,CAAC;iBAC1B,IAAI,CAAC,OAAO,CAAC,YAAY;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;YAC5G,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACtF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjM,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,0BAA0B,CAAC,OAAO,CAAC,eAAgB,EAAE;gBACjF,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;gBACnG,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe;aACpE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACf,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAS;gBAC7E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YACzH,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,6CAA6C,CAAC,CAAC;YACvI,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,KAAK,GAA2B;gBACpC,EAAE,EAAE,OAAO,CAAC,iBAAiB;oBAC3B,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;oBACzD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACzB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,MAAO,CAAC,EAAE;gBACpD,sBAAsB,EAAE,SAAS,EAAE,SAAS,CAAC,WAAW,IAAI,sBAAsB,CAAC,QAAQ,EAAE,MAAO,CAAC,QAAQ,CAAC;gBAC9G,8BAA8B,EAAE,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpI,SAAS;gBACT,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,QAAQ;gBACX,MAAM;gBACN,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,CAAC,WAAW,EAAE;gBACtE,SAAS,EAAE,SAAS;gBACpB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC;YACF,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2DAA2D,CAAC,CAAC;YACjI,OAAO,6BAA6B,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2DAA2D,CAAC,CAAC;YACjI,OAAO,4BAA4B,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAK;YACzB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,gDAAgD,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9D,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK;gBAAE,mBAAmB,EAAE,CAAC;iBAClD,IAAI,CAAC,OAAO,CAAC,YAAY;gBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;YAC5G,MAAM,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACzF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,sBAAsB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,6BAA6B,CACrE,cAAc,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,sBAAsB,CACjE,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;oBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;gBACvI,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,gDAAgD,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACjF,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;wBAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;oBACnG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBACvG,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;oBACzC,OAAO,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wBACjG,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;wBACxH,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;wBAC3G,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACjD,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE;4BAC9G,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAE;gCACnG,CAAC,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;qBAClD,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW;wBACrG,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtH,CAAC;gBACD,IAAI,KAAK,CAAC,8BAA8B,KAAK,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClJ,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;gBAC1F,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAa,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;gBAC1F,CAAC;gBACD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,MAAM,UAAU,CAAC;oBACtB,mBAAmB,EAAE,GAAG,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC1D,eAAe,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE;oBAC5C,sBAAsB;oBACtB,QAAQ;oBACR,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW;oBACX,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yEAAyE;gBACzE,IAAI,CAAC,mBAAmB;oBAAE,MAAM,OAAO,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnL,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,aAAa,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACnG,CAAC;YACD,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,QAAQ;gBACR,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,KAAK,CAAC,eAAe;aAC5B,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC;QACnJ,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,KAAK;YACxB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;YACxF,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC;mBACpE,CAAC,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2DAA2D,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,+FAA+F,CAAC,CAAC;YAC3I,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3F,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa;mBACtF,UAAU,CAAC,aAAa,CAAC,iBAAiB,KAAK,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;mBACrG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sFAAsF,CAAC,CAAC;YAClI,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,4CAA4C,CAAC,CAAC;YAC/H,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;gBACnF,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;gBACrG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iFAAiF,CAAC,CAAC;YAC7H,CAAC;YACD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAC3F,OAAO,UAAU,CAAC;gBAChB,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,UAAU,CAAC,aAAa;gBAChC,OAAO,EAAE,UAAU,CAAC,KAAK;gBACzB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS;gBAClD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;gBACtC,cAAc,EAAE,UAAU,CAAC,IAAI;gBAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,QAAQ,EAAE,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;gBACvD,SAAS,EAAE,sBAAsB,CAAC,UAAU,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,KAAK;YACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,YAAY,CAAC,uBAAuB,EAAE,oDAAoD,CAAC,CAAC;YACxG,CAAC;YACD,IAAI,wBAAwB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC;gBACH,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,EAAE;wBAC3E,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;qBAC1E,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gCAAgC,CAAC,CAAC;gBAC9E,CAAC;gBAED,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1G,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACjI,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC/G,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB;oBAC1C,CAAC,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;wBAC5E,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;oBACvE,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjH,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gBACjH,0EAA0E;gBAC1E,qEAAqE;gBACrE,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3E,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,2BAA2B,CAC9E,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,CAC5F,CAAC,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,aAAa;uBAC7D,aAAa,CAAC,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,CAAC,OAAO;uBAClH,aAAa,CAAC,iBAAiB,KAAK,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACnF,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oFAAoF,CAAC,CAAC;gBAChI,CAAC;gBACD,mFAAmF;gBACnF,mFAAmF;gBACnF,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/D,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBACvE,IAAI,UAAwC,CAAC;gBAC7C,IAAI,CAAC;oBACH,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACpB,MAAM,SAAS,GAA6C,EAAE,CAAC;wBAC/D,MAAM,WAAW,GAAG;4BAClB,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS;4BACnF,aAAa,EAAE,sBAAsB,EAAE,KAAK,CAAC,sBAAuB,EAAE,aAAa,EAAE,aAAc,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;yBACpI,CAAC;wBACF,IAAI,CAAC;4BACH,MAAM,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;gCAC7E,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;gCACxC,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gCAC/C,wBAAwB,GAAG,IAAI,CAAC;gCAChC,SAAS,CAAC,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,sBAAuB,CAAC,KAAK,CAAC,SAAU,EAAE,WAAW,CAAC,CAAC;gCAClG,0EAA0E;gCAC1E,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI;oCAAE,wBAAwB,GAAG,KAAK,CAAC;4BACtE,CAAC,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,qEAAqE;4BACrE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,wBAAwB,EAAE,CAAC;gCACtD,SAAS,CAAC,UAAU,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,QAAS,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;4BACxF,CAAC;4BACD,IAAI,CAAC,SAAS,CAAC,UAAU;gCAAE,MAAM,KAAK,CAAC;wBACzC,CAAC;wBACD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;wBACnC,IAAI,CAAC,KAAK;4BAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC;wBAC7F,gGAAgG;wBAChG,IAAI,QAAQ,EAAE,SAAS;4BAAE,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBACvG,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC/C,MAAM,iBAAiB,GAAqB;wBAC1C,EAAE;wBACF,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;wBAC3C,IAAI,EAAE,KAAK,CAAC,cAAc;wBAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;wBACvD,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;wBACpD,aAAa;wBACb,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,QAAQ,EAAE,QAAQ;wBAClB,MAAM,EAAE,QAAQ;wBAChB,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC;wBACtC,aAAa;wBACb,SAAS;wBACT,cAAc,EAAE,MAAM,CAAC,SAAS;wBAChC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;wBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;wBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;qBACzB,CAAC;oBACF,MAAM,WAAW,GAA+B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAClF,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ;wBACxF,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;qBAC/D,CAAC,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,KAAK,CAAC,eAAe,IAAI,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,gCAAgC,EAAE,CAAC;wBACpG,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,sBAAsB,CAAC,iBAAiB,CAAC;4BACpE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;wBACrF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,aAAc,CAAC,gCAAiC,CAAC,KAAK,CAAC,eAAgB,EAAE,MAAM,CAAC,CAAC;wBAC/G,qEAAqE;wBACrE,8DAA8D;wBAC9D,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;wBACxD,IAAI,CAAC,QAAQ;4BAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,2DAA2D,CAAC,CAAC;oBACtH,CAAC;oBACD,wBAAwB,GAAG,IAAI,CAAC;oBAChC,UAAU,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;oBAC3D,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;4BACnB,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,wDAAwD,CACzD,CAAC;wBACJ,CAAC;wBACD,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACxD,CAAC;oBACD,IAAI,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,aAAa,EAAE,4BAA4B,EAAE,CAAC;wBACjF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,KAAK,CAAC,eAAe,EAC5F,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;4BAC7F,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,+BAA+B,EAAE,CAAC,KAAK,CAAC,eAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;4BAC3H,IAAI,SAAS,EAAE,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,qBAAqB,KAAK,UAAW,CAAC,EAAE;gCAAE,OAAO,SAAS,CAAC;4BAC9G,MAAM,KAAK,CAAC;wBACd,CAAC,CAAC,CAAC;wBACL,IAAI,CAAC,OAAO;4BAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,4DAA4D,CAAC,CAAC;oBACtH,CAAC;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uEAAuE;oBACvE,uEAAuE;oBACvE,0EAA0E;oBAC1E,IAAI,CAAC,wBAAwB;wBAAE,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACpG,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACvD,MAAM,OAAO,CAAC,aAAa,EAAE,4BAA4B,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACtJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,KAAK;YAC/B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,KAAK,KAAK;gBAC1C,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACrF,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,KAAK;YAC3B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,yBAAyB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,6BAA6B,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3F,IAAI,UAAU,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;mBAC3D,UAAU,CAAC,aAAa,CAAC,iBAAiB,KAAK,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC5G,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;YACpG,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,2DAA2D,CAAC,CAAC;YAC1G,CAAC;YACD,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;mBACxD,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+DAA+D,CAAC,CAAC;YAC9G,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnH,uEAAuE;YACvE,qEAAqE;YACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBACrD,UAAU;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;gBACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oCAAoC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,MAAM,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;gBAC1E,MAAM,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAClD,OAAO;wBACL,IAAI,EAAE,MAAM;wBACZ,MAAM;wBACN,YAAY,EAAE,UAAU,CAAC,EAAE;wBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,uCAAuC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,gCAAgC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,8DAA8D,CAAC,CAAC;YAC7G,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,oCAAoC,CAAC,CAAC;gBACxG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAClD,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM,CAAC,MAAM;oBACpB,MAAM;oBACN,YAAY,EAAE,UAAU,CAAC,EAAE;oBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBAC9B,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;oBACzC,MAAM,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC1D,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC/B,IAAI,KAAK,CAAC,YAAY,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC;wBAClH,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAO,CAAC;wBACvC,IAAI,CAAC;4BACH,QAAQ,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;gCACzE,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gCAClD,MAAM,cAAc,GAAG,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gCACvG,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC,SAAU,CAAC,CAAC;gCAC3E,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,SAAU,CAAC,CAAC;gCAC1F,IAAI,MAAM,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;oCACpE,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,sCAAsC,CAAC,CAAC;gCACxF,CAAC;gCACD,sBAAsB,CAAC,MAAM,CAAC,CAAC;gCAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAC5C,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC;uCACzC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;oCACtF,OAAO,MAAM,CAAC,QAAQ,CAAC;gCACzB,CAAC;gCACD,MAAM,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gCACvD,IAAI,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;gCACtC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC;oCAC1C,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,SAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;oCACnF,aAAa,EAAE,KAAK,IAAI,EAAE;wCACxB,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wCAClD,MAAM,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;wCACvD,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,QAAS,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;oCAC5H,CAAC;oCACD,OAAO,EAAE,KAAK,IAAI,EAAE;wCAClB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;4CACpC,QAAQ,EAAE,eAAe;4CACzB,cAAc,EAAE,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,aAAa;yCAChE,CAAC,CAAC;wCACH,yDAAyD;wCACzD,2DAA2D;wCAC3D,IAAI,CAAC,cAAc;4CAAE,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;wCAC9E,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAS,EAAE,MAAM,EAAE,EAAE,CAAC;oCAClE,CAAC;iCACF,CAAC,CAAC;gCACH,kEAAkE;gCAClE,qEAAqE;gCACrE,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gCACzE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAS,CAAC;gCAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAO,CAAC;gCACjC,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE;oCAClD,cAAc,EAAE,MAAM,CAAC,SAAS;oCAChC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;oCACtF,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;iCAC/B,CAAC,CAAC;gCACH,OAAO,SAAS,CAAC;4BACnB,CAAC,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gCAC1E,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;4BAC3D,CAAC;4BACD,IAAI,KAAK,YAAY,YAAY;gCAAE,MAAM,KAAK,CAAC;4BAC/C,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,kDAAkD,CAAC,CAAC;wBACpG,CAAC;oBACH,CAAC;oBACD,mBAAmB,CAAC,QAAQ,CAAC,MAAO,CAAC,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACjF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAClE,MAAM,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvD,OAAO;wBACL,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,QAAQ,CAAC,MAAO,CAAC,WAAW;wBACzC,SAAS,EAAE,QAAQ,CAAC,MAAO,CAAC,SAAS,IAAI,QAAQ;wBACjD,SAAS,EAAE,QAAQ,CAAC,MAAO,CAAC,SAAS;wBACrC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACnH,YAAY,EAAE,UAAU,CAAC,EAAE;wBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,QAAQ,EAAE,UAAU,CAAC,QAA6C;qBACnE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAC;gBACpG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAClD,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC;oBAChC,MAAM;oBACN,YAAY,EAAE,UAAU,CAAC,EAAE;oBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,QAAQ,EAAE,UAAU,CAAC,QAA6C;iBACnE,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;gBAC5D,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,mDAAmD,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACxG,MAAM,aAAa,GAAG,MAAM,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;wBACvE,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wBAClD,MAAM,cAAc,GAAG,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;4BACtE,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,SAAS,CAAC;wBACd,MAAM,QAAQ,GAAG,cAAc;4BAC7B,CAAC,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,SAAU,CAAC;4BAC1D,CAAC,CAAC,SAAS,CAAC;wBACd,MAAM,YAAY,GAAG,QAAQ,EAAE,MAAM;+BAChC,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,SAAU,CAAC,CAAC;wBAC5D,IAAI,YAAY,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;4BACzE,MAAM,IAAI,YAAY,CACpB,qBAAqB,EACrB,mDAAmD,CACpD,CAAC;wBACJ,CAAC;wBACD,sBAAsB,CAAC,YAAY,CAAC,CAAC;wBACrC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;wBACzC,MAAM,wBAAwB,GAAG,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC5E,IACE,wBAAwB;+BACrB,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC,EACnF,CAAC;4BACD,MAAM,GAAG,YAAY,CAAC;4BACtB,OAAO,YAAY,CAAC;wBACtB,CAAC;wBAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;wBAC3F,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBACtH,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;4BAC/B,MAAM,IAAI,YAAY,CACpB,qBAAqB,EACrB,iEAAiE,CAClE,CAAC;wBACJ,CAAC;wBACD,MAAM,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBACjD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC;4BAC/C,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,SAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG;4BACzF,aAAa,EAAE,KAAK,IAAI,EAAE;gCACxB,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gCAClD,MAAM,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;4BACnD,CAAC;4BACD,OAAO,EAAE,KAAK,IAAI,EAAE;gCAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB;oCAC1C,CAAC,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;wCACxC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,sBAAsB,CAAC;wCACtG,YAAY,EAAE,YAAY,CAAC,YAAa;qCACzC,CAAC;oCACJ,CAAC,CAAC,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE;wCACjF,UAAU,EAAE,eAAe;wCAC3B,aAAa,EAAE,YAAY,CAAC,YAAa;wCACzC,SAAS,EAAE,SAAS,CAAC,QAAQ;wCAC7B,aAAa,EAAE,SAAS,CAAC,YAAY;wCACrC,GAAG,SAAS,CAAC,gBAAgB;qCAC9B,CAAC,CAAC;gCACP,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAC1C,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAC7D,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,YAAa,CAAC,CAAC;gCAC1F,IAAI,CAAC,cAAc;oCAAE,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gCAC9E,OAAO,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;4BAChD,CAAC;yBACF,CAAC,CAAC;wBACH,MAAM,SAAS,GAAG,UAAU,CAAC,MAAO,CAAC;wBACrC,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;wBACzE,MAAM,GAAG,UAAU,CAAC;wBACpB,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE;4BAClD,cAAc,EAAE,SAAS,CAAC,SAAS;4BACnC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACzF,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;yBAC/B,CAAC,CAAC;wBACH,OAAO,SAAS,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBAC1E,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC3D,CAAC;oBACD,IAAI,KAAK,YAAY,YAAY;wBAAE,MAAM,KAAK,CAAC;oBAC/C,MAAM,IAAI,YAAY,CACpB,qBAAqB,EACrB,8CAA8C,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzG,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,KAAK;YAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,6CAA6C,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO;oBACL,WAAW,EAAE,UAAU,CAAC,KAAK;oBAC7B,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,gDAAgD,CAAC,CAAC;gBAClG,CAAC;gBACD,OAAO;oBACL,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,QAAQ;oBAC3C,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;aAClC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO,CAAc,KAAoC;YAC7D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,yBAAyB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3F,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,aAAa,QAAQ,CAAC,EAAE,0CAA0C,CACnE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEjC,IAAI,eAAe,CAAC;YACpB,IAAI,CAAC;gBACH,eAAe,GAAG,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;oBAC9C,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE;wBACrD,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,mBAAmB,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACnF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS;oBAC7C,CAAC,CAAC,UAAU,CAAC,KAAK;oBAClB,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK;wBACzD,CAAC,CAAC,UAAU,CAAC,WAAW;wBACxB,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK;oBACzE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,QAAQ;oBAClC,CAAC,CAAC,QAAQ,CAAC;gBAEb,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;oBAC5D,CAAC;yBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAK,EAAE,SAAS,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAK,EAAE,SAAS,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBACD,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,KAAK,SAAS;oBAC7C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAClD,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;oBAC/B,MAAM,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC7D,IAAI,CAAC;wBACH,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACpC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,YAAY;4BAAE,MAAM,KAAK,CAAC;wBAC/C,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iDAAiD,EAAE;4BACzF,MAAM,EAAE,KAAK,YAAY,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;4BACtE,GAAG,CAAC,KAAK,YAAY,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACxF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC;gBACF,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;oBACnE,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;oBACrD,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,aAAa,EAAE,CAAC;oBACtB,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,IAAI,KAAK,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;wBACnD,IAAI,KAAK,CAAC,cAAc;4BAAE,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;;4BACpF,MAAM,OAAO,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC;wBAC/C,mEAAmE;wBACnE,qEAAqE;wBACrE,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC;oBACD,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;wBACpC,MAAM,EAAE,eAAe,CAAC,MAAM;wBAC9B,OAAO;wBACP,IAAI;wBACJ,QAAQ,EAAE,QAAQ;wBAClB,MAAM;qBACP,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACpD,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;wBAC1F,CAAC;wBACD,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;4BACxB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,gDAAgD,CAAC,CAAC;wBACzF,CAAC;wBACD,IACE,eAAe,CAAC,MAAM,KAAK,KAAK;+BAC7B,eAAe,CAAC,MAAM,KAAK,MAAM;+BACjC,QAAQ,CAAC,MAAM,KAAK,GAAG;+BACvB,QAAQ,CAAC,MAAM,KAAK,GAAG,EAC1B,CAAC;4BACD,MAAM,IAAI,YAAY,CACpB,YAAY,EACZ,uDAAuD,CACxD,CAAC;wBACJ,CAAC;wBACD,IAAI,CAAC;4BACH,GAAG,GAAG,IAAI,GAAG,CAAC,8BAA8B,CAC1C,UAAU,EACV,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAClC,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;gCAC9C,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,wCAAwC,EAAE;oCAC7E,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;iCACzC,CAAC,CAAC;4BACL,CAAC;4BACD,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;oBAClG,MAAM,eAAe,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;2BACjD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;2BAClC,SAAS,CAAC;oBACf,OAAO;wBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;wBACvC,IAAI,EAAE,iBAAiB,CAAI,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBAC/E,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,6CAA6C,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAK;YAC1B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE,yBAAyB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE;gBAClD,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;aAC/B,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE;gBACnD,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB,EAAE,KAAe;IACtD,OAAO,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;WAC1C,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WAC1C,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAqC,EAAE,QAA4B;IACjG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oEAAoE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAChD,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,gBAAgB,IAAI,IAAI,EAAE,QAAQ;QACxD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;KACvD,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAqC,EAAE,QAA4B,EAAE,QAA4B;IACrI,IAAI,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,6DAA6D,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAkB,EAClB,WAAmB,EACnB,MAA2B;IAE3B,IACE,CAAC,MAAM;WACJ,MAAM,CAAC,UAAU,KAAK,UAAU;WAChC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;WACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAC1B,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,YAAY,CACpB,iBAAiB,EACjB,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oBAAoB,IAAI,aAAa,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAa,EACb,cAA6C;IAE7C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;IACpF,CAAC;IACD,IACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;WACtB,GAAG,CAAC,QAAQ;WACZ,GAAG,CAAC,QAAQ;WACZ,GAAG,CAAC,IAAI;WACR,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAgC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC1E,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;IAC5E,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/H,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,gFAAgF;AAChF,SAAS,wBAAwB,CAAC,QAA6C;IAC7E,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC1F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAA4B,EAC5B,KAAsB,EACtB,eAA6C;IAE7C,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,sDAAsD,CAAC,CAAC;IACpI,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE;QACrD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClF,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE;WACxG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,qDAAqD,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAsB;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,KAA2C,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe;QAC7C,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC;YAC5D,EAAE;SACH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAA8C,EAAE,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAoC;IAEpC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iDAAiD,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,KAA0C,EAC1C,MAAyB,EACzB,iBAAoC,EAAE,EACF,EAAE;QACtC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,4BAA4B,IAAI,aAAa,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,4BAA4B,IAAI,yBAAyB,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAClH,KAAK;YACL,YAAY,CAAC,WAAW,IAAI,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SACvD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IACF,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACpC,SAAS,EAAE,aAAa,CACtB,WAAW,EACX,OAAO,CAAC,SAA+C,EACvD,CAAC,MAAM,EAAE,IAAI,CAAC,EACd,CAAC,WAAW,CAAC,CAC8B;SAC9C,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,aAAa,CACnB,QAAQ,EACR,OAAO,CAAC,MAA4C,EACpD,CAAC,WAAW,EAAE,IAAI,CAAC,CACqB;SAC3C,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YACnC,QAAQ,EAAE,aAAa,CACrB,UAAU,EACV,OAAO,CAAC,QAA8C,EACtD,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CACe;SAC7C,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAgB,EAChB,eAAiE;IAEjE,IAAI,SAA4B,CAAC;IACjC,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,yCAAyC,EAAE;YAC9E,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,mDAAmD,EAAE;YACxF,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,MAA+B,EAC/B,GAAwC;IAExC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,YAAY,EAAE,2CAA2C,EAAE;QAChG,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,OAAO,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,WAAsC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,MAAM,KAAK,CAAC;QAC/C,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,yBAAyB,EAAE;YAC9D,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAkB,EAAE,OAAe,EAAE,MAAmB;IACvF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;QACpD,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,+CAA+C,EAAE;YACpF,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,IAAI,UAAU,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC;YAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAAC,CAAC;QAC1D,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,IAAI;gBAAE,MAAM;YAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,+CAA+C,EAAE;oBACpF,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAI,KAAiB,EAAE,WAA0B;IACzE,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,IAAS,CAAC;IAC7C,MAAM,cAAc,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,IAAI,cAAc,KAAK,kBAAkB,IAAI,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAM,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,kCAAkC,EAAE;gBACvE,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAM,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,cAAc,IAAI,0BAA0B;QACzD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACvC,CAAC;AACT,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IACE,UAAU,KAAK,eAAe;eAC3B,UAAU,KAAK,qBAAqB;eACpC,UAAU,KAAK,YAAY;eAC3B,UAAU,KAAK,QAAQ;YAC1B,SAAS;QACX,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAuB,EAAE,eAAoE,EAAE,IAAsB,EAAE,IAAY,EAAE,WAAmB,EAAE,YAAqB;IACzM,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7E,UAAU,EAAE,oBAAoB;QAChC,IAAI;QACJ,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,aAAa,EAAE,IAAI,CAAC,YAAY;QAChC,aAAa,EAAE,YAAY;QAC3B,GAAG,IAAI,CAAC,gBAAgB;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAqC,EACrC,IAAsB,EACtB,aAAiC,EACjC,2BAA+C;IAE/C,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;IACxG,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA8B,EAAE,MAAgB,EAAE,GAAS,EAAE,oBAA6B;IACnH,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,YAAY;QACjC,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,oBAAoB;QAC3D,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;QACzC,SAAS,EAAE,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QACjI,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;QAC/B,GAAG,EAAE,OAAO;KACb,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB,EAAE,GAAS,EAAE,MAAc;IAChE,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,kBAA2B;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACrD,IAAI,kBAAkB,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,eAAe,CAAC,QAA6C;IACpE,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,QAA6C;IACjF,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GAAG,cAAc,EAAE,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC5G,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,aAAa,CAAC,MAA8B;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,GAAG,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/connect-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Server-side Polpo Connect primitives for OAuth, API-key connections, token refresh, and policy checks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
21
21
|
"undici": "^6.28.0",
|
|
22
|
-
"@polpo-ai/connect": "0.
|
|
23
|
-
"@polpo-ai/core": "0.
|
|
22
|
+
"@polpo-ai/connect": "0.18.0",
|
|
23
|
+
"@polpo-ai/core": "0.18.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"typescript": "^5.7.3",
|