@agentunion/fastaun 0.5.35 → 0.5.37
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/CHANGELOG.md +40 -0
- package/_packed_docs/CHANGELOG.md +40 -0
- package/_packed_docs/INDEX.md +10 -3
- package/_packed_docs/sdk/0.5.36-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +130 -0
- package/_packed_docs/sdk/0.5.36-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +176 -0
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +6 -6
- package/_packed_docs/sdk/INDEX.md +15 -10
- package/dist/agent-md.d.ts +2 -1
- package/dist/agent-md.js +34 -6
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.js +5 -1
- package/dist/aid-store.js.map +1 -1
- package/dist/auth.js +5 -2
- package/dist/auth.js.map +1 -1
- package/dist/client/control-messages.js +4 -2
- package/dist/client/control-messages.js.map +1 -1
- package/dist/client/delivery.d.ts +2 -0
- package/dist/client/delivery.js +111 -40
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/lifecycle.js +1 -1
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +3 -0
- package/dist/client/rpc-pipeline.js +45 -3
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.js +16 -8
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.js +90 -51
- package/dist/client.js.map +1 -1
- package/dist/ownership-v21.d.ts +2 -1
- package/dist/ownership-v21.js +19 -9
- package/dist/ownership-v21.js.map +1 -1
- package/dist/pubsub/binding.d.ts +2 -6
- package/dist/pubsub/binding.js +58 -61
- package/dist/pubsub/binding.js.map +1 -1
- package/dist/pubsub/channel.js +3 -3
- package/dist/pubsub/channel.js.map +1 -1
- package/dist/pubsub/client.js +3 -4
- package/dist/pubsub/client.js.map +1 -1
- package/dist/pubsub/service.js +1 -1
- package/dist/pubsub/service.js.map +1 -1
- package/dist/secret-store/file-store.js +8 -1
- package/dist/secret-store/file-store.js.map +1 -1
- package/dist/tools/cross-sdk-agent.d.ts +1 -1
- package/dist/udp-standby.d.ts +0 -1
- package/dist/udp-standby.js +10 -13
- package/dist/udp-standby.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/ownership-v21.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ export interface OwnershipAgentObservation {
|
|
|
89
89
|
pending?: boolean;
|
|
90
90
|
stage_supported?: boolean;
|
|
91
91
|
owner_aid?: string | null;
|
|
92
|
+
owner_md_sha256?: string;
|
|
92
93
|
observed_at: number;
|
|
93
94
|
recovery_ready?: boolean;
|
|
94
95
|
}
|
|
@@ -195,7 +196,7 @@ export declare class OwnershipFiles {
|
|
|
195
196
|
cancelOwnerProposal(task: OwnershipFileTask): Promise<void>;
|
|
196
197
|
readAgent(subAid: string, stage?: boolean): Promise<OwnershipAgentObservation>;
|
|
197
198
|
readOwner(ownerAid: string, subAid: string): Promise<OwnershipOwnerObservation>;
|
|
198
|
-
verifyFile(raw: string, role: OwnershipFileRole, subAid: string, ownerAid?: string): Promise<OwnershipFile>;
|
|
199
|
+
verifyFile(raw: string, role: OwnershipFileRole, subAid: string, ownerAid?: string, requireActiveSigning?: boolean): Promise<OwnershipFile>;
|
|
199
200
|
requireTransfer(task: OwnershipFileTask): Promise<OwnershipFile>;
|
|
200
201
|
private targetOwner;
|
|
201
202
|
private requireLocal;
|
package/dist/ownership-v21.js
CHANGED
|
@@ -160,9 +160,9 @@ export function parseOwnershipFile(content, role, context = {}) {
|
|
|
160
160
|
function validateOwnershipCurrentCertificate(certificate, signer, fields, now) {
|
|
161
161
|
if (Number(fields.timestamp) > now + 300)
|
|
162
162
|
throw new ValidationError('ownership file timestamp is too far in the future');
|
|
163
|
-
if (certificate.chain_valid === false || certificate.revoked === true || typeof certificate.state === 'string' && certificate.state
|
|
164
|
-
throw new ValidationError('ownership
|
|
165
|
-
if (certificate.chain_valid !== true || certificate.revoked !== false || certificate.revocation_checked !== true || certificate.state
|
|
163
|
+
if (certificate.chain_valid === false || certificate.revoked === true || typeof certificate.state === 'string' && !['active_signing', 'verify_only'].includes(certificate.state))
|
|
164
|
+
throw new ValidationError('ownership verification certificate state is invalid', { stringCode: 'invalid' });
|
|
165
|
+
if (certificate.chain_valid !== true || certificate.revoked !== false || certificate.revocation_checked !== true || !['active_signing', 'verify_only'].includes(certificate.state) || !Number.isSafeInteger(certificate.observed_at) || certificate.observed_at <= 0 || certificate.observed_at > now + 300 || certificate.observed_at < now - 330)
|
|
166
166
|
throw new StateError('ownership certificate current status is unavailable', { stringCode: 'unavailable', retryable: true });
|
|
167
167
|
if (typeof certificate.cert_pem !== 'string' || !certificate.cert_pem.trim())
|
|
168
168
|
throw ownershipFailure('unavailable', 'ownership signing certificate is missing', true);
|
|
@@ -194,9 +194,9 @@ export function verifyOwnershipFile(content, role, certificate, context = {}) {
|
|
|
194
194
|
const additional = new Map();
|
|
195
195
|
for (const item of parseAgentMdTailSignature(new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(parsed.raw)).signatures.slice(1)) {
|
|
196
196
|
const fields = item.fields, extra = context.certificateResolver?.(fields.signer_aid, fields.cert_fingerprint, Number(fields.timestamp));
|
|
197
|
-
if (extra && (extra.chain_valid === false || extra.revoked === true || typeof extra.state === 'string' && extra.state
|
|
198
|
-
throw new ValidationError('ownership additional
|
|
199
|
-
if (!extra || extra.chain_valid !== true || extra.revoked !== false || extra.revocation_checked !== true || extra.state
|
|
197
|
+
if (extra && (extra.chain_valid === false || extra.revoked === true || typeof extra.state === 'string' && !['active_signing', 'verify_only'].includes(extra.state)))
|
|
198
|
+
throw new ValidationError('ownership additional verification certificate state is invalid', { stringCode: 'invalid' });
|
|
199
|
+
if (!extra || extra.chain_valid !== true || extra.revoked !== false || extra.revocation_checked !== true || !['active_signing', 'verify_only'].includes(extra.state) || !Number.isSafeInteger(extra.observed_at) || extra.observed_at <= 0 || extra.observed_at > now + 300 || extra.observed_at < now - 330 || !extra.cert_pem?.trim())
|
|
200
200
|
throw new StateError('ownership additional certificate current status is unavailable', { stringCode: 'unavailable', retryable: true });
|
|
201
201
|
additional.set(`${fields.signer_aid};${fields.cert_fingerprint}`, extra.cert_pem);
|
|
202
202
|
}
|
|
@@ -493,7 +493,7 @@ export class OwnershipFiles {
|
|
|
493
493
|
throw ownershipFailure('unavailable', 'Storage complete file digest does not match authoritative observation', true);
|
|
494
494
|
return value;
|
|
495
495
|
}
|
|
496
|
-
async verifyFile(raw, role, subAid, ownerAid) {
|
|
496
|
+
async verifyFile(raw, role, subAid, ownerAid, requireActiveSigning = false) {
|
|
497
497
|
if (role === 'agent') {
|
|
498
498
|
const meta = parseFileFrontmatter(parseAgentMdTailSignature(raw).payload);
|
|
499
499
|
if ('ownership_proof' in meta || 'ownership_release' in meta || 'owner' in meta && !('ownership' in meta) && !['group', 'org'].includes(String(meta.type)))
|
|
@@ -503,6 +503,8 @@ export class OwnershipFiles {
|
|
|
503
503
|
const parsed = parseOwnershipFile(raw, role, context);
|
|
504
504
|
const signer = role === 'agent' ? subAid : String(parsed.frontmatter.owner_aid);
|
|
505
505
|
const certificate = await this.deps.resolveCertificate(signer, parsed.signature.cert_fingerprint, role === 'agent' && parsed.frontmatter.type === 'group' ? 'group_identity' : undefined);
|
|
506
|
+
if (requireActiveSigning && certificate.state !== 'active_signing')
|
|
507
|
+
throw ownershipFailure('invalid', 'ownership new signatures require active_signing');
|
|
506
508
|
const additional = new Map();
|
|
507
509
|
for (const item of parseAgentMdTailSignature(raw).signatures.slice(1))
|
|
508
510
|
additional.set(`${item.fields.signer_aid};${item.fields.cert_fingerprint}`, await this.deps.resolveCertificate(item.fields.signer_aid, item.fields.cert_fingerprint));
|
|
@@ -644,7 +646,11 @@ export class OwnershipFiles {
|
|
|
644
646
|
throw ownershipFailure('conflict', 'original owner.md material changed before publication');
|
|
645
647
|
const ownership = await prepare(current);
|
|
646
648
|
task.assertActive?.();
|
|
647
|
-
const
|
|
649
|
+
const identity = this.deps.currentAid();
|
|
650
|
+
if ((await this.deps.resolveCertificate(identity.aid, identity.certFingerprint)).state !== 'active_signing')
|
|
651
|
+
throw new ValidationError('ownership new signatures require active_signing', { stringCode: 'invalid' });
|
|
652
|
+
task.assertActive?.();
|
|
653
|
+
const raw = signOwnershipFile(identity, `---\nowner_aid: ${ownerAid}\nsub_aid: ${task.sub_aid}\nownership: ${JSON.stringify(ownership)}\n---\n`, 'owner', { now: this.deps.now(), expectedOwnerAid: ownerAid, expectedSubAid: task.sub_aid });
|
|
648
654
|
saved = { raw, hash: ownershipSha256(raw), condition: {}, original_owner: { exists: current.exists, raw: current.content, sha256: current.exists ? ownershipSha256(current.content) : '' } };
|
|
649
655
|
if (key === 'transfer')
|
|
650
656
|
saved.expires_at = ownership.transfer.expires_at;
|
|
@@ -695,7 +701,11 @@ export class OwnershipFiles {
|
|
|
695
701
|
return current;
|
|
696
702
|
const payload = updateOwnershipAgentMd(original.exists ? original.content : buildDefaultAgentMd(task.sub_aid, { type: this.deps.currentType?.() ?? 'agent', exttype: this.deps.currentExttype?.() }), fields);
|
|
697
703
|
task.assertActive?.();
|
|
698
|
-
const
|
|
704
|
+
const identity = this.deps.currentAid();
|
|
705
|
+
if ((await this.deps.resolveCertificate(identity.aid, identity.certFingerprint)).state !== 'active_signing')
|
|
706
|
+
throw new ValidationError('ownership new signatures require active_signing', { stringCode: 'invalid' });
|
|
707
|
+
task.assertActive?.();
|
|
708
|
+
const raw = signOwnershipFile(identity, payload.endsWith('\n') || payload.endsWith('\r') ? payload : `${payload}\n`, 'agent', { now: this.deps.now(), expectedSubAid: task.sub_aid });
|
|
699
709
|
saved = { raw, hash: ownershipSha256(raw), condition: current.exists ? { if_match: current.etag } : { if_none_match: '*' } };
|
|
700
710
|
task.files.agent = saved;
|
|
701
711
|
await task.persist();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownership-v21.js","sourceRoot":"","sources":["../src/ownership-v21.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ownership-v21.js","sourceRoot":"","sources":["../src/ownership-v21.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxJ,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA8E1D,MAAM,MAAM,GAAG,mDAAmD,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,uEAAuE,CAAC;AAC5G,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAEhH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IAC7H,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,KAAa,EAAE,GAAG,GAAG,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,0BAA0B,GAAG,oBAAoB,CAAC,CAAC;IACnK,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,KAAa;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IACzH,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAA8B,EAAE,IAAc,EAAE,KAAa;IAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAC;AAC7K,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACxD,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,+CAA+C,CAAC,CAAC;IACxG,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;IACjL,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/C,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3C,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACjE,gBAAgB,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvD,OAAO,SAA6C,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAA6B,EAAE,WAAoB;IACnG,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,WAAW,IAAI,WAAW,KAAK,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAC3F,IAAI,iBAAiB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,yDAAyD,CAAC,CAAC;IACnJ,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;QAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACpI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,SAAS,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;IAC5I,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9G,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;YAAE,OAAO,KAAK,CAAC;QACnG,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACnF,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACtF,MAAM,IAAI,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,OAA4B;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACtG,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACxF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;IAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B,EAAE,IAAuB,EAAE,UAAgC,EAAE;IAC1H,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,eAAe,CAAC,sCAAsC,CAAC,CAAC;IAC5H,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;IACnI,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;IAClJ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,YAAY,GAAG,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC;IAC5H,IAAI,MAAM,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sDAAsD,CAAC,CAAC;IACnL,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,IAAI,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;QACrO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,qDAAqD,CAAC,CAAC;QACjL,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,oDAAoD,CAAC,CAAC;IAC7H,CAAC;IACD,IAAI,WAAoC,CAAC;IACzC,IAAI,SAA4C,CAAC;IACjD,IAAI,MAA+B,CAAC;IACpC,IAAI,QAA0C,CAAC;IAC/C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;QACtJ,SAAS,GAAG,iCAAiC,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,gBAAgB,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,gBAAgB;YAAE,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;IACtJ,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,SAAS,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACnH,IAAI,OAAO,CAAC,gBAAgB,IAAI,KAAK,KAAK,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,cAAc,IAAI,GAAG,KAAK,OAAO,CAAC,cAAc;YAAE,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;QAC7L,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,GAAG,SAAS,CAAC,MAAiC,CAAC;QACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC;QACtJ,SAAS,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACxI,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;QAC5I,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAChE,SAAS,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,yBAAyB,EAAE,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACnG,IAAI,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,KAAK,KAAK;gBAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;YAC9I,IAAI,gBAAgB,CAAC,KAAK,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,KAAK,SAAS,CAAC,gBAAgB,GAAG,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;YAC1L,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACjD,QAAQ,GAAG,KAAwC,CAAC;QACtD,CAAC;IACH,CAAC;;QAAM,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;IACnE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACvG,CAAC;AAED,SAAS,mCAAmC,CAAC,WAAiC,EAAE,MAAc,EAAE,MAA8B,EAAE,GAAW;IACzI,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;IACzH,IAAI,WAAW,CAAC,WAAW,KAAK,KAAK,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,qDAAqD,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9R,IAAI,WAAW,CAAC,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,IAAI,WAAW,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,WAAW,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,qDAAqD,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChd,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,0CAA0C,EAAE,IAAI,CAAC,CAAC;IACtK,IAAI,CAAC;QAAC,0BAA0B,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAClI,OAAO,KAAK,EAAE,CAAC;QAAC,IAAI,KAAK,YAAY,eAAe;YAAE,MAAM,KAAK,CAAC;QAAC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAAC,CAAC;IAC1K,IAAI,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,gBAAgB;QAAE,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;IAC/I,IAAI,wBAAwB,IAAI,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,sBAAsB,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;AACtM,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA4B,EAAE,IAAuB,EAAE,WAAiC,EAAE,UAAgC,EAAE;IAC9J,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAU,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxG,MAAM,GAAG,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC;IACxE,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM;QAAE,MAAM,IAAI,eAAe,CAAC,iEAAiE,CAAC,CAAC;IACnS,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,MAAM,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;IACzM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,UAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACzI,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,gEAAgE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5R,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,UAAU,CAAC,gEAAgE,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChd,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,WAAW,EAAE,CAAE,EAAE,CAAC,CAAC;IACtS,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,IAAI,8CAA8C,CAAC,CAAC;IAClH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAa,EAAE,OAA4B,EAAE,IAAuB,EAAE,UAAgC,EAAE;IACxI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAC;IAC9J,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,kCAAkC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;IACxF,IAAI,MAAM,KAAK,QAAQ,CAAC,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,iDAAiD,CAAC,CAAC;IAC1G,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,4DAA4D,CAAC,CAAC;IAC9J,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,0BAA0B,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;AAClI,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA4B;IAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAiFD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAc,EAAE,SAAS,GAAG,KAAK;IAC9E,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK;QAAE,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,uDAAuD,CAAC,CAAC;AAC5I,CAAC;AAED,MAAM,OAAO,cAAc;IAEI;IADZ,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACnD,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;IAAG,CAAC;IAGhE,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAwD;QAC3F,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA6B,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACzM,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,gBAAgB;gBAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC/E,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3L,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,IAAI,SAAS,GAAG,KAAK,EAAE,SAAS,CAAC;YACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;gBACnC,IAAI,iBAAiB;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,oEAAoE,EAAE,IAAI,CAAC,CAAC;gBACzI,iBAAiB,GAAG,IAAI,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,iDAAiD,EAAE,IAAI,CAAC,CAAC;gBAC3K,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1G,MAAM,gBAAgB,GAAG,YAAY,EAAE,SAAS,CAAC;gBACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpF,IAAI,OAAO,CAAC,gBAAgB,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,YAAY;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,0DAA0D,EAAE,IAAI,CAAC,CAAC;gBAC/S,MAAM,GAAG,OAAO,CAAC;gBAAC,KAAK,GAAG,YAAY,CAAC;gBAAC,SAAS,GAAG,gBAAgB,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7L,CAAC,CAAC;YACF,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9Q,IAAI,CAAC,sBAAsB,EAAE;gBAAE,MAAM,iBAAiB,EAAE,CAAC;YACzD,IAAI,CAAC,sBAAsB,EAAE;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,oDAAoD,EAAE,IAAI,CAAC,CAAC;YACjI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,MAAM,QAAQ,GAAG,SAAS,EAAE,SAAS,IAAI,MAAM,EAAE,SAAS,CAAC;YAC3D,IAAI,WAAkD,CAAC;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,MAAM,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5M,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACpF,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAAE,CAAC;wBAC3E,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;oBACjC,CAAC;yBAAM,IAAI,SAAS,EAAE,CAAC;wBACrB,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB;4BAAE,MAAM,IAAI,eAAe,CAAC,qCAAqC,CAAC,CAAC;wBAC1I,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9E,CAAC;yBAAM,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;wBACxL,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;oBACjC,CAAC;gBACH,CAAC;qBAAM,IAAI,SAAS;oBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9H,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5E,MAAM,iBAAiB,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,gEAAgE,EAAE,IAAI,CAAC,CAAC;YAC7L,CAAC;YACD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;YACjO,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,2EAA2E,EAAE,IAAI,CAAC,CAAC;YAC3X,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,GAAG,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;YACxO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACjG,MAAM,CAAC,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAuB;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;YACnI,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;YACtG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1F,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;YAC5L,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACpC,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;YACvK,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;YACrM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;YAC1M,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;QACnK,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAuB;QACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7F,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAuB;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,yEAAyE;QACzE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtG,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;YACpI,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;YAChN,IAAI,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAyB,CAAC,KAAoC,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,KAAoC,CAAC,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;YAC7T,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,gBAAgB,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;YAClI,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACjE,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;YAClI,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;YACrO,IAAI,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAyB,CAAC,KAAoC,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,KAAoC,CAAC,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;YAC7T,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAuB,EAAE,SAA6B;QAC5E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjG,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,8DAA8D,CAAC,CAAC;QACzX,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/H,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,sEAAsE,CAAC,CAAC;YACnX,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAuB;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7F,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;QAClN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAuB;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,gBAAgB;YAAE,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,IAAI,mDAAmD,CAAC,CAAC;QAC7J,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,gCAAgC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/I,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa;YAAE,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,IAAI,aAAa,EAAE,SAAS,CAAC,MAAM,IAAI,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAChK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO;QAC5E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,aAAa;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mDAAmD,CAAC,CAAC;QAC/U,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;QAClK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC3E,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;;YAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;QACjL,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAQ,IAAI,CAAC;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;YACtK,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAQ,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAuB;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC;QACzF,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAC5B,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;QACpK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAQ,IAAI,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QAC5J,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAQ,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,KAAK,GAAG,KAAK;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK;YAAE,MAAM,gBAAgB,CAAC,sBAAsB,EAAE,4CAA4C,EAAE,IAAI,CAAC,CAAC;QACjI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,4CAA4C,EAAE,IAAI,CAAC,CAAC;QAChkB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAAc;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,MAAM,WAAW,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,yBAAyB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,4DAA4D,EAAE,IAAI,CAAC,CAAC;QACtvB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,uEAAuE,EAAE,IAAI,CAAC,CAAC;QAC1L,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,IAAuB,EAAE,MAAc,EAAE,QAAiB,EAAE,oBAAoB,GAAG,KAAK;QACpH,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,iBAAiB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAE,MAAM,gBAAgB,CAAC,sBAAsB,EAAE,8CAA8C,EAAE,IAAI,CAAC,CAAC;QACnQ,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAU,CAAC,gBAAgB,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3L,IAAI,oBAAoB,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB;YAAE,MAAM,gBAAgB,CAAC,SAAS,EAAE,iDAAiD,CAAC,CAAC;QACzJ,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAW,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9O,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3K,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,SAAU,EAAE,GAAG,CAAC,CAAC;YACjF,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,mCAAmC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAW,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,WAAW,EAAE,CAAE,EAAE,CAAC,CAAC;QACxL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,GAAG;YAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QACxG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAuB;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QAC1G,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;QACtJ,IAAI,aAAa,CAAC,MAAM,KAAK,gBAAgB,IAAI,aAAa,CAAC,SAAU,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,IAAI,aAAa,CAAC,QAAS,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,QAAS,CAAC,uBAAuB,KAAK,IAAI,CAAC,uBAAuB;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;QACrW,MAAM,SAAS,GAAG,aAAa,CAAC,QAAS,CAAC,UAAU,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;QAC5G,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;QAClO,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9F,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,WAAW,CAAC,IAAuB;QACzC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/G,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,GAAG;YAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;IACrI,CAAC;IAEO,SAAS,CAAC,IAAuB,EAAE,QAAgB,EAAE,OAAe;QAC1E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC3J,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAuB,EAAE,KAAgC;QAChF,IAAI,KAAK,CAAC,MAAM;YAAE,0BAA0B,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1H,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnO,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI;YAAE,OAAO;QACjb,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjL,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,qCAAqC,CAAC,CAAC;YAC7V,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI;YAAE,OAAO;QAC5W,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9U,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;YACjI,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;QACzF,IAAI,MAAM,KAAK,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;QACtP,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;YACjM,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;QACjK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAU,CAAC,KAAoC,CAAC,KAAK,MAAM,CAAC,SAAU,CAAC,KAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,+CAA+C,CAAC,CAAC;QAC7a,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,IAAI,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,8CAA8C,EAAE,IAAI,CAAC,CAAC;QACtK,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,gBAAgB,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QACzI,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,gBAAgB,CAAC,cAAc,EAAE,sCAAsC,CAAC,CAAC;QAC3R,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,4DAA4D,CAAC,CAAC;QACrQ,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,4CAA4C,CAAC,CAAC;IACzS,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAuB;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;YAAE,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,sDAAsD,EAAE,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC1T,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAgC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB;YAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,wCAAwC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5O,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,gDAAgD,EAAE,IAAI,CAAC,CAAC;QAChR,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,IAAuB,EAAE,GAAW;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,yBAAyB,EAAE,iCAAiC,CAAC,CAAC;QAChV,MAAM,QAAQ,GAAG,KAAK,EAAE,cAAc,CAAC;QACvC,IAAI,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC;YAAE,MAAM,gBAAgB,CAAC,yBAAyB,EAAE,uCAAuC,CAAC,CAAC;QAClW,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,GAAW,EAAE,SAA0C;QACjF,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,aAAa,KAAK,GAAG,CAAC;QACvI,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAuB,EAAE,GAAW,EAAE,QAAgB,EAAE,OAA+E;QAChK,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;YAChC,IAAI,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,uDAAuD,CAAC,CAAC;YAC7R,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB;gBAAE,MAAM,IAAI,eAAe,CAAC,iDAAiD,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACrN,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,QAAQ,cAAc,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9O,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7L,IAAI,GAAG,KAAK,UAAU;gBAAE,KAAK,CAAC,UAAU,GAAI,SAAS,CAAC,QAAiC,CAAC,UAAU,CAAC;YACnG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,cAAc,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,cAAc,CAAC,QAAQ;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;QACvK,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACrF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,MAAM,gBAAgB,CAAC,yBAAyB,EAAE,oDAAoD,CAAC,CAAC;QACjR,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;QACrN,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;YAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAW,GAAG,GAAG;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;QAC1I,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,2DAA2D,CAAC,CAAC;QACrK,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;QACxP,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClH,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QACpL,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAuB,EAAE,OAA+E,EAAE,OAAO,GAAG,KAAK;QAClJ,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM;YAAE,0BAA0B,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9H,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI;YAAE,MAAM,gBAAgB,CAAC,sBAAsB,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;QAC5J,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACxG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC;YACjH,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9M,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB;gBAAE,MAAM,IAAI,eAAe,CAAC,iDAAiD,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACrN,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtL,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;YAC7H,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC;QACzK,MAAM,cAAc,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,CAAC;QACvJ,IAAI,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC;YACpR,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,cAAc;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,iCAAiC,CAAC,CAAC;YACvJ,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC,QAAQ;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAC;QAC1M,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB;gBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,qCAAqC,CAAC,CAAC;QACvM,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpH,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU;gBAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/F,IAAI,MAAM,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;gBACvG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACpC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;gBAC9L,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC;oBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAC;gBACzK,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;gBACrM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,SAAU,CAAC,gBAAgB,KAAK,IAAI,CAAC,uBAAuB;oBAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;YACzL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/O,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,sBAAsB,EAAE,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAC5Z,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,gBAAgB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,4CAA4C,EAAE,IAAI,CAAC,CAAC;QAC5iB,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AASD,MAAM,OAAO,uBAAuB;IAEL;IADZ,SAAS,GAAG,IAAI,GAAG,EAAmE,CAAC;IACxG,YAA6B,IAAkC;QAAlC,SAAI,GAAJ,IAAI,CAA8B;IAAG,CAAC;IAE3D,GAAG,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5E,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAA+B,EAAE,YAAyB;QAC3F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpH,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,mCAAmC,EAAE,IAAI,CAAC,CAAC;YACrJ,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,KAAK,qBAAqB,IAAI,MAAM,KAAK,oBAAoB,CAAC;YACpF,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,IAAI,KAAK,YAAY,eAAe,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9L,IAAI,KAAK,YAAY,UAAU,IAAI,CAAC,aAAa,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;YAC5M,IAAI,OAAO,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3I,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,UAAU;gBAAE,MAAM,KAAK,CAAC;YACjE,MAAM,gBAAgB,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACrR,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAA8B,EAAE,QAAgB,EAAE,IAAY;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,eAAe,IAAI,KAAK,CAAC,yBAAyB,KAAK,SAAS,IAAI,KAAK,CAAC,yBAAyB,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,qEAAqE,EAAE,IAAI,CAAC,CAAC;IACjvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,IAAY;QAC7C,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;gBAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;iBAC1G,CAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpG,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,8DAA8D,EAAE,IAAI,CAAC,CAAC;gBACzR,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;gBACnJ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,gEAAgE,EAAE,IAAI,CAAC,CAAC;gBAC5J,IAAI,CAAC;oBAAC,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAC3F,MAAM,CAAC;oBAAC,MAAM,IAAI,eAAe,CAAC,2CAA2C,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAC5G,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7F,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE;oBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,oDAAoD,EAAE,IAAI,CAAC,CAAC;YACnQ,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACjH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QAC5F,CAAC;;YAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1H,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAqC,EAAE,WAAW,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,MAAc;QAChD,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,MAAM,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAc,EAAE,GAAW,EAAE,QAAuF,EAAE,YAAyB;QAClL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,YAAY,MAAM,WAAW,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAK,QAAsC,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAM,QAAsC,CAAC,QAAQ,CAAC;YAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;QACtY,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QACvN,YAAY,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;QACzQ,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,+CAA+C,EAAE,IAAI,CAAC,CAAC;QAC3H,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAkC,CAAC;gBAAE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,cAAc;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnQ,OAAO,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC;QACzD,YAAY,EAAE,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;aACnJ,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,qCAAqC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QACxH,CAAC;QACD,MAAM,QAAQ,GAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,8BAA8B,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1Q,QAAQ,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAC5C,YAAY,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,MAAc,EAAE,eAAuB;QAC3E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;QAC3J,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,MAAM,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC;QACnK,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM;YAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;IAChJ,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,IAAI,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,yDAAyD,CAAC,CAAC;IACrK,CAAC;CACF"}
|
package/dist/pubsub/binding.d.ts
CHANGED
|
@@ -18,10 +18,8 @@ export declare class EventServiceBinding {
|
|
|
18
18
|
private tasks;
|
|
19
19
|
private drainWaiters;
|
|
20
20
|
private registrationId?;
|
|
21
|
-
private
|
|
22
|
-
private
|
|
23
|
-
private expiryTimer?;
|
|
24
|
-
private renewing?;
|
|
21
|
+
private registered;
|
|
22
|
+
private registering?;
|
|
25
23
|
private stateSubscription?;
|
|
26
24
|
private registrationGeneration;
|
|
27
25
|
private queues;
|
|
@@ -31,11 +29,9 @@ export declare class EventServiceBinding {
|
|
|
31
29
|
constructor(service: EventService, sdk: PubSubSDK, options?: EventServiceBindingOptions);
|
|
32
30
|
start(): Promise<this>;
|
|
33
31
|
private registrationError;
|
|
34
|
-
private clearRegistrationTimers;
|
|
35
32
|
private readonly stateChange;
|
|
36
33
|
private leaseActive;
|
|
37
34
|
private registrationCall;
|
|
38
|
-
private renewRegistration;
|
|
39
35
|
close(): Promise<void>;
|
|
40
36
|
private stop;
|
|
41
37
|
drain(): Promise<void>;
|
package/dist/pubsub/binding.js
CHANGED
|
@@ -15,10 +15,8 @@ export class EventServiceBinding {
|
|
|
15
15
|
tasks = new Set();
|
|
16
16
|
drainWaiters = new Set();
|
|
17
17
|
registrationId;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
expiryTimer;
|
|
21
|
-
renewing;
|
|
18
|
+
registered = false;
|
|
19
|
+
registering;
|
|
22
20
|
stateSubscription;
|
|
23
21
|
registrationGeneration = 0;
|
|
24
22
|
queues = { publish: ingress(), management: ingress(), lease: ingress() };
|
|
@@ -50,32 +48,32 @@ export class EventServiceBinding {
|
|
|
50
48
|
throw new PubSubError('SERVICE_IDENTITY_MISMATCH');
|
|
51
49
|
this.starting = (async () => {
|
|
52
50
|
this.channel = new SDKChannel(this.sdk, this.service.service_aid, (sender, payload, route) => this.receive(sender, payload, route), this.service.clock, true, () => this.leaseActive());
|
|
53
|
-
this.service.setSend(async (to, payload, ttl, messageId, background, deadline, route) => {
|
|
54
|
-
throw new PubSubError('SERVICE_LEASE_LOST'); return this.channel.send(to, payload,
|
|
51
|
+
this.service.setSend(async (to, payload, ttl, messageId, background, deadline, route) => { if (!this.leaseActive())
|
|
52
|
+
throw new PubSubError('SERVICE_LEASE_LOST'); return this.channel.send(to, payload, ttl, messageId, background, deadline, route); });
|
|
55
53
|
this.registrationId = identifier();
|
|
56
54
|
this.registrationGeneration++;
|
|
55
|
+
const registrationId = this.registrationId;
|
|
57
56
|
let registered = false;
|
|
58
57
|
try {
|
|
59
|
-
|
|
58
|
+
this.stateSubscription = this.sdk.on('state_change', this.stateChange);
|
|
59
|
+
await this.registrationCall();
|
|
60
60
|
registered = true;
|
|
61
61
|
await this.service.start();
|
|
62
|
-
if (
|
|
62
|
+
if (!this.registered)
|
|
63
63
|
throw new PubSubError('SERVICE_LEASE_LOST');
|
|
64
64
|
this.channel.start();
|
|
65
65
|
this.running = true;
|
|
66
|
-
if (!this.renewTimer)
|
|
67
|
-
this.renewTimer = setTimeout(() => { this.renewTimer = undefined; void this.renewRegistration(); }, 1);
|
|
68
66
|
this.capacityUnsubscribe = this.service.onPublishCapacity(() => { this.pump('publish'); this.resumePulls(); });
|
|
69
|
-
this.stateSubscription = this.sdk.on('state_change', this.stateChange);
|
|
70
67
|
this.resumePulls();
|
|
71
68
|
return this;
|
|
72
69
|
}
|
|
73
70
|
catch (error) {
|
|
74
|
-
this.running = false;
|
|
75
|
-
this.
|
|
71
|
+
this.running = this.registered = false;
|
|
72
|
+
this.stateSubscription?.unsubscribe();
|
|
73
|
+
this.sdk.off?.('state_change', this.stateChange);
|
|
74
|
+
this.stateSubscription = undefined;
|
|
76
75
|
this.channel?.close();
|
|
77
76
|
this.channel = undefined;
|
|
78
|
-
const registrationId = this.registrationId;
|
|
79
77
|
this.registrationId = undefined;
|
|
80
78
|
if (registered) {
|
|
81
79
|
try {
|
|
@@ -100,59 +98,61 @@ export class EventServiceBinding {
|
|
|
100
98
|
const failure = error;
|
|
101
99
|
return new PubSubError(failure?.data?.code || failure?.stringCode || (typeof failure?.code === 'string' ? failure.code : error instanceof TimeoutError ? 'TIMEOUT' : error instanceof ConnectionError ? 'CONNECTION_ERROR' : 'SERVICE_UNAVAILABLE'), failure?.message);
|
|
102
100
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
101
|
+
stateChange = async (value) => {
|
|
102
|
+
if (!this.running && !this.starting)
|
|
103
|
+
return;
|
|
104
|
+
if (value?.state !== 'ready') {
|
|
105
|
+
this.registered = false;
|
|
106
|
+
this.registrationGeneration++;
|
|
107
|
+
this.registrationId = identifier();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (!this.running)
|
|
111
|
+
return;
|
|
112
|
+
const generation = this.registrationGeneration;
|
|
113
|
+
while (this.registering) {
|
|
114
|
+
await this.registering;
|
|
115
|
+
if (!this.running || generation !== this.registrationGeneration || this.registered)
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const task = this.registrationCall().then(() => { for (const kind of ['publish', 'management', 'lease'])
|
|
119
|
+
this.pump(kind); this.pumpReplies(0); this.pumpReplies(1); this.resumePulls(); }).catch(async () => { if (this.running && generation === this.registrationGeneration)
|
|
120
|
+
await this.close(); });
|
|
121
|
+
this.registering = task;
|
|
122
|
+
try {
|
|
123
|
+
await task;
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
if (this.registering === task)
|
|
127
|
+
this.registering = undefined;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
leaseActive() { return this.running && this.registered; }
|
|
131
|
+
async registrationCall() {
|
|
132
|
+
const generation = this.registrationGeneration, registrationId = this.registrationId;
|
|
133
|
+
const deadline = Date.now() + 10_000;
|
|
112
134
|
let result;
|
|
113
135
|
for (let attempt = 0;; attempt++) {
|
|
114
136
|
try {
|
|
115
|
-
result = await this.sdk.call(
|
|
137
|
+
result = await this.sdk.call('message.evtsvc.register', { service: 'event_service', registration_id: registrationId }, { background: false, deadline });
|
|
116
138
|
break;
|
|
117
139
|
}
|
|
118
140
|
catch (error) {
|
|
119
141
|
const failure = this.registrationError(error);
|
|
120
|
-
if (
|
|
142
|
+
if (attempt || !['TIMEOUT', 'CONNECTION_ERROR'].includes(failure.code) || Date.now() >= deadline)
|
|
121
143
|
throw error;
|
|
122
144
|
}
|
|
123
145
|
}
|
|
124
|
-
if (generation !== this.registrationGeneration)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (result?.registration_id !== registrationId || !Number.isFinite(expires) || !Number.isFinite(ttl) || ttl <= 0 || !Number.isFinite(interval) || interval <= 0)
|
|
128
|
-
throw new PubSubError('SERVICE_UNAVAILABLE');
|
|
129
|
-
this.registrationDeadline = started + ttl * 1000;
|
|
130
|
-
if (performance.now() >= this.registrationDeadline)
|
|
131
|
-
throw new PubSubError('SERVICE_LEASE_LOST');
|
|
132
|
-
this.clearRegistrationTimers();
|
|
133
|
-
this.expiryTimer = setTimeout(() => { this.expiryTimer = undefined; if (this.running && generation === this.registrationGeneration)
|
|
134
|
-
void this.close(); }, Math.max(1, this.registrationDeadline - performance.now()));
|
|
135
|
-
this.renewTimer = setTimeout(() => { this.renewTimer = undefined; void this.renewRegistration(); }, Math.max(1, Math.min(interval * 1000, this.registrationDeadline - performance.now() - 1)));
|
|
136
|
-
}
|
|
137
|
-
renewRegistration() {
|
|
138
|
-
if (this.renewing)
|
|
139
|
-
return this.renewing;
|
|
140
|
-
if (!this.running || !this.registrationId)
|
|
141
|
-
return Promise.resolve();
|
|
142
|
-
const generation = this.registrationGeneration;
|
|
143
|
-
this.renewing = this.registrationCall('renew').catch(async (error) => {
|
|
144
|
-
if (!this.running || generation !== this.registrationGeneration)
|
|
145
|
-
return;
|
|
146
|
-
const failure = this.registrationError(error);
|
|
147
|
-
if (['SERVICE_LEASE_LOST', 'DEVICE_CONFLICT', 'SERVICE_NOT_STARTED'].includes(failure.code) || performance.now() >= this.registrationDeadline) {
|
|
148
|
-
await this.close();
|
|
149
|
-
return;
|
|
146
|
+
if (generation !== this.registrationGeneration) {
|
|
147
|
+
try {
|
|
148
|
+
await this.sdk.call('message.evtsvc.unregister', { service: 'event_service', registration_id: registrationId }, { background: false, deadline: Date.now() + 10_000 });
|
|
150
149
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
150
|
+
catch { }
|
|
151
|
+
throw new PubSubError('SERVICE_LEASE_LOST');
|
|
152
|
+
}
|
|
153
|
+
if (result?.registration_id !== registrationId || result?.session_bound !== true)
|
|
154
|
+
throw new PubSubError('SERVICE_UNAVAILABLE');
|
|
155
|
+
this.registered = true;
|
|
156
156
|
}
|
|
157
157
|
close() {
|
|
158
158
|
if (this.closing)
|
|
@@ -171,8 +171,8 @@ export class EventServiceBinding {
|
|
|
171
171
|
}
|
|
172
172
|
const registrationId = this.registrationId;
|
|
173
173
|
this.registrationId = undefined;
|
|
174
|
+
this.registered = false;
|
|
174
175
|
this.registrationGeneration++;
|
|
175
|
-
this.clearRegistrationTimers();
|
|
176
176
|
this.stateSubscription?.unsubscribe();
|
|
177
177
|
this.sdk.off?.('state_change', this.stateChange);
|
|
178
178
|
this.stateSubscription = undefined;
|
|
@@ -345,11 +345,8 @@ export class EventServiceBinding {
|
|
|
345
345
|
const ttl = Math.floor((Number(reply.expires_at) - this.service.clock()) / 1000);
|
|
346
346
|
if (!this.leaseActive() || !this.channel || ttl < 1)
|
|
347
347
|
return;
|
|
348
|
-
const remaining = this.registrationDeadline - performance.now();
|
|
349
|
-
if (remaining < 1000)
|
|
350
|
-
return;
|
|
351
348
|
try {
|
|
352
|
-
await this.channel.send(sender, reply,
|
|
349
|
+
await this.channel.send(sender, reply, ttl, `${request.request_id}:result${route ? ':' + route.device_id + ':' + route.slot_id : ''}`, request.op === 'publish', Number(reply.expires_at), route);
|
|
353
350
|
return;
|
|
354
351
|
}
|
|
355
352
|
catch (error) {
|