n8n-nodes-vercel-ai-sdk-universal-temp 0.1.36 → 0.1.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.
@@ -119,52 +119,67 @@ let googleCacheManager = null;
119
119
  const createdCaches = new Map();
120
120
  async function createGoogleCache(exec, index, apiKey, systemPrompt, tools) {
121
121
  try {
122
- if (!googleCacheManager) {
123
- const { GoogleAICacheManager } = require('@google/generative-ai/server');
124
- googleCacheManager = new GoogleAICacheManager(apiKey);
125
- }
126
122
  const useGoogleCache = exec.getNodeParameter('useGoogleCache', index, false);
127
123
  if (!useGoogleCache) {
128
124
  return null;
129
125
  }
126
+ if (!googleCacheManager) {
127
+ const { GoogleGenAI } = await Promise.resolve().then(() => __importStar(require('@google/genai')));
128
+ googleCacheManager = new GoogleGenAI({ apiKey });
129
+ }
130
130
  const hasContent = (systemPrompt && systemPrompt.trim()) || (tools && Object.keys(tools).length > 0);
131
131
  if (!hasContent) {
132
- console.log('UniversalAI: Creating minimal cache for prompt-only content');
132
+ console.log('UniversalAI: No content to cache, skipping cache creation');
133
+ return null;
133
134
  }
134
135
  const cacheKeyData = {
135
136
  system: systemPrompt || '',
136
137
  tools: tools ? Object.keys(tools).sort() : [],
137
- hasContent,
138
+ model: 'gemini-2.0-flash-001',
138
139
  };
139
140
  const cacheKeyString = JSON.stringify(cacheKeyData);
140
141
  const existingCache = createdCaches.get(cacheKeyString);
141
- if (existingCache && (Date.now() - existingCache.createdAt) < (existingCache.ttlSeconds * 1000)) {
142
+ if (existingCache && (Date.now() - existingCache.createdAt) < (existingCache.ttlSeconds * 1000 * 0.83)) {
142
143
  console.log('UniversalAI: Reusing existing cache:', existingCache.name);
143
144
  return existingCache.name;
144
145
  }
145
146
  const ttlSeconds = 3600;
146
- const cacheName = `cache_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
147
- console.log('UniversalAI: Creating Google cache:', {
148
- name: cacheName,
147
+ const displayName = `universal_ai_cache_${Date.now()}`;
148
+ console.log('UniversalAI: Creating Google cache with config:', {
149
+ displayName,
149
150
  hasSystem: !!systemPrompt,
150
151
  hasTools: !!tools && Object.keys(tools).length > 0,
151
152
  ttlSeconds
152
153
  });
153
154
  const cacheConfig = {
154
155
  model: 'gemini-2.0-flash-001',
155
- ttlSeconds,
156
- displayName: cacheName,
156
+ config: {
157
+ displayName,
158
+ ttl: `${ttlSeconds}s`,
159
+ },
157
160
  };
158
161
  if (systemPrompt && systemPrompt.trim()) {
159
- cacheConfig.systemInstruction = {
162
+ cacheConfig.config.systemInstruction = {
160
163
  parts: [{ text: systemPrompt }],
161
164
  };
165
+ console.log('UniversalAI: Added system instruction to cache');
162
166
  }
163
167
  if (tools && Object.keys(tools).length > 0) {
164
- cacheConfig.tools = Object.values(tools);
168
+ cacheConfig.config.tools = Object.values(tools);
169
+ console.log('UniversalAI: Added tools to cache:', Object.keys(tools));
170
+ }
171
+ cacheConfig.config.contents = [
172
+ {
173
+ parts: [{ text: "This is cached content for context." }],
174
+ role: "user"
175
+ }
176
+ ];
177
+ console.log('UniversalAI: Final cache config:', JSON.stringify(cacheConfig, null, 2));
178
+ const result = await googleCacheManager.caches.create(cacheConfig);
179
+ const cachedContentName = result.name;
180
+ if (!cachedContentName) {
181
+ throw new Error('Failed to get cached content name from creation response');
165
182
  }
166
- console.log('UniversalAI: Cache config before creation:', cacheConfig);
167
- const { name: cachedContentName } = await googleCacheManager.create(cacheConfig);
168
183
  createdCaches.set(cacheKeyString, {
169
184
  name: cachedContentName,
170
185
  createdAt: Date.now(),
@@ -175,9 +190,13 @@ async function createGoogleCache(exec, index, apiKey, systemPrompt, tools) {
175
190
  }
176
191
  catch (error) {
177
192
  console.error('UniversalAI: Failed to create Google cache:', error);
193
+ console.log('UniversalAI: Falling back to non-cached execution');
178
194
  return null;
179
195
  }
180
196
  }
197
+ function canUseCache(systemPrompt, tools) {
198
+ return true;
199
+ }
181
200
  const messageSchema = zod_1.z.object({
182
201
  role: zod_1.z.enum(['system', 'user', 'assistant']),
183
202
  content: zod_1.z.any(),
@@ -330,32 +349,6 @@ async function getBinaryData(fileContentInput, itemBinary, exec, itemIndex) {
330
349
  }
331
350
  return null;
332
351
  }
333
- function formatTextWithGroundingLinks(text, groundingMetadata) {
334
- if (!(groundingMetadata === null || groundingMetadata === void 0 ? void 0 : groundingMetadata.groundingSupports) || !(groundingMetadata === null || groundingMetadata === void 0 ? void 0 : groundingMetadata.groundingChunks)) {
335
- return text;
336
- }
337
- let formattedText = text;
338
- const supports = groundingMetadata.groundingSupports;
339
- const chunks = groundingMetadata.groundingChunks;
340
- const sortedSupports = supports
341
- .filter((support) => { var _a; return ((_a = support.groundingChunkIndices) === null || _a === void 0 ? void 0 : _a.length) > 0; })
342
- .sort((a, b) => b.segment.startIndex - a.segment.startIndex);
343
- for (const support of sortedSupports) {
344
- const segment = support.segment;
345
- const chunkIndex = support.groundingChunkIndices[0];
346
- const chunk = chunks[chunkIndex];
347
- if (chunk === null || chunk === void 0 ? void 0 : chunk.web) {
348
- const startIndex = segment.startIndex;
349
- const endIndex = segment.endIndex;
350
- const segmentText = text.substring(startIndex, endIndex);
351
- const linkUrl = chunk.web.uri;
352
- const beforeSegment = formattedText.substring(0, startIndex);
353
- const afterSegment = formattedText.substring(endIndex);
354
- formattedText = `${beforeSegment}[${segmentText}](${linkUrl})${afterSegment}`;
355
- }
356
- }
357
- return formattedText;
358
- }
359
352
  function formatTextResult(result, includeRequestBody, provider) {
360
353
  var _a, _b, _c, _d;
361
354
  let { text, reasoning } = result;
@@ -386,9 +379,6 @@ function formatTextResult(result, includeRequestBody, provider) {
386
379
  baseResult.groundingMetadata = (_a = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _a === void 0 ? void 0 : _a.groundingMetadata;
387
380
  baseResult.safetyRatings = (_b = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _b === void 0 ? void 0 : _b.safetyRatings;
388
381
  baseResult.urlContextMetadata = (_c = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _c === void 0 ? void 0 : _c.urlContextMetadata;
389
- if (baseResult.groundingMetadata) {
390
- baseResult.textWithLinks = formatTextWithGroundingLinks(text, baseResult.groundingMetadata);
391
- }
392
382
  }
393
383
  if (includeRequestBody) {
394
384
  const requestBody = (_d = result.request) === null || _d === void 0 ? void 0 : _d.body;
@@ -576,19 +566,24 @@ class UniversalAI {
576
566
  const aiProvider = await getProvider(provider, credentials.apiKey, credentials.baseUrl);
577
567
  for (let i = 0; i < items.length; i++) {
578
568
  try {
579
- const result = await processItem(this, i, provider, aiProvider);
569
+ const result = await processItem(this, i, provider, aiProvider, credentials.apiKey);
580
570
  returnData.push(...result);
581
571
  }
582
572
  catch (error) {
583
573
  if (this.continueOnFail()) {
584
- const errorMessage = error instanceof Error ? error.message : String(error);
574
+ const errorOutput = {
575
+ success: false,
576
+ error: error instanceof Error ? error.message : String(error),
577
+ itemIndex: i,
578
+ timestamp: new Date().toISOString(),
579
+ nodeName: this.getNode().name,
580
+ provider,
581
+ };
582
+ if (error instanceof Error && error.stack) {
583
+ errorOutput.stack = error.stack;
584
+ }
585
585
  returnData.push({
586
- json: {
587
- error: errorMessage,
588
- itemIndex: i,
589
- timestamp: new Date().toISOString(),
590
- nodeName: this.getNode().name,
591
- },
586
+ json: errorOutput,
592
587
  pairedItem: { item: i },
593
588
  });
594
589
  }
@@ -598,6 +593,7 @@ class UniversalAI {
598
593
  }
599
594
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, {
600
595
  itemIndex: i,
596
+ description: `Failed to process item ${i + 1}`,
601
597
  });
602
598
  }
603
599
  }
@@ -606,15 +602,15 @@ class UniversalAI {
606
602
  }
607
603
  }
608
604
  exports.UniversalAI = UniversalAI;
609
- async function processItem(exec, index, provider, aiProvider) {
605
+ async function processItem(exec, index, provider, aiProvider, apiKey) {
610
606
  const operation = exec.getNodeParameter('operation', index);
611
607
  const model = exec.getNodeParameter('model', index);
612
608
  const options = exec.getNodeParameter('options', index, {});
613
609
  const input = await buildInput(exec, index);
614
610
  const modelSettings = getModelSettings(exec, index, provider, operation, options);
615
611
  return operation === 'generateText'
616
- ? await generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options)
617
- : await generateObjectOperation(exec, index, provider, aiProvider, model, modelSettings, input, options);
612
+ ? await generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey)
613
+ : await generateObjectOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey);
618
614
  }
619
615
  function getModelSettings(exec, index, provider, operation, options) {
620
616
  const settings = {};
@@ -638,86 +634,72 @@ function getModelSettings(exec, index, provider, operation, options) {
638
634
  }
639
635
  return settings;
640
636
  }
641
- function buildGoogleProviderOptions(exec, index) {
637
+ function buildGoogleProviderOptions(exec, index, cachedContentName) {
642
638
  const thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, 0));
643
639
  const includeThoughts = exec.getNodeParameter('includeThoughts', index, false);
644
640
  const options = {};
645
- if (!Number.isNaN(thinkingBudgetValue)) {
641
+ if (!Number.isNaN(thinkingBudgetValue) && thinkingBudgetValue > 0) {
646
642
  options.thinkingConfig = {
647
643
  thinkingBudget: thinkingBudgetValue,
648
644
  includeThoughts,
649
645
  };
650
646
  }
647
+ if (cachedContentName) {
648
+ options.cachedContent = cachedContentName;
649
+ }
651
650
  return Object.keys(options).length > 0 ? options : undefined;
652
651
  }
653
- async function generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options) {
654
- var _a, _b;
652
+ async function generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey) {
655
653
  const enableStreaming = exec.getNodeParameter('enableStreaming', index, false);
656
654
  const includeRequestBody = options.includeRequestBody;
657
655
  const tools = provider === 'google' ? await buildGoogleTools(exec, index) : undefined;
658
- const params = {
659
- model: aiProvider(model, modelSettings),
660
- ...input,
661
- ...(tools && { tools }),
662
- };
656
+ let cachedContentName = null;
657
+ let googleProviderOptions;
663
658
  if (provider === 'google') {
664
659
  const useGoogleCache = exec.getNodeParameter('useGoogleCache', index, false);
665
- console.log('UniversalAI: Cache debug - Provider is Google, useGoogleCache:', useGoogleCache);
666
- if (useGoogleCache) {
667
- console.log('UniversalAI: Cache enabled, attempting to create cache...');
660
+ if (useGoogleCache && canUseCache(input.system, tools)) {
661
+ console.log('UniversalAI: Creating Google cache...');
668
662
  try {
669
- const credentials = await exec.getCredentials('googleGenerativeAIApi');
670
- const apiKey = credentials === null || credentials === void 0 ? void 0 : credentials.apiKey;
671
- if (apiKey) {
672
- console.log('UniversalAI: Got API key, calling createGoogleCache...');
673
- const cachedContentName = await createGoogleCache(exec, index, apiKey, input.system, tools);
674
- console.log('UniversalAI: Cache creation result:', cachedContentName);
675
- if (cachedContentName) {
676
- const googleProviderOptions = buildGoogleProviderOptions(exec, index);
677
- params.providerOptions = {
678
- google: {
679
- ...googleProviderOptions,
680
- cachedContent: cachedContentName,
681
- },
682
- };
683
- if (params.system)
684
- delete params.system;
685
- if (params.tools)
686
- delete params.tools;
687
- console.log('UniversalAI: Using Google cache (system/tools moved to cache):', cachedContentName);
688
- console.log('UniversalAI: Request params after cache processing:', {
689
- hasSystem: !!params.system,
690
- hasTools: !!params.tools,
691
- hasCachedContent: !!((_b = (_a = params.providerOptions) === null || _a === void 0 ? void 0 : _a.google) === null || _b === void 0 ? void 0 : _b.cachedContent),
692
- });
693
- }
694
- else {
695
- console.log('UniversalAI: No cache created, continuing without cache');
696
- }
663
+ cachedContentName = await createGoogleCache(exec, index, apiKey, input.system, tools);
664
+ if (cachedContentName) {
665
+ console.log('UniversalAI: Successfully created/retrieved cache:', cachedContentName);
697
666
  }
698
667
  else {
699
- console.log('UniversalAI: No API key found for cache creation');
668
+ console.log('UniversalAI: Cache creation returned null, continuing without cache');
700
669
  }
701
670
  }
702
671
  catch (error) {
703
672
  console.warn('UniversalAI: Cache creation failed, continuing without cache:', error);
704
673
  }
705
674
  }
706
- else {
707
- console.log('UniversalAI: Cache not enabled for this request');
675
+ googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName || undefined);
676
+ }
677
+ const params = {
678
+ model: aiProvider(model, modelSettings),
679
+ ...input,
680
+ };
681
+ if (cachedContentName) {
682
+ console.log('UniversalAI: Using cache, removing system and tools from request params');
683
+ if (params.system) {
684
+ console.log('UniversalAI: Removed system instruction from request (moved to cache)');
685
+ delete params.system;
686
+ }
687
+ if (params.tools) {
688
+ console.log('UniversalAI: Removed tools from request (moved to cache)');
689
+ delete params.tools;
708
690
  }
709
691
  }
710
692
  else {
711
- console.log('UniversalAI: Cache debug - Provider is not Google, cache not applicable');
712
- }
713
- if (provider === 'google' && !params.providerOptions) {
714
- const googleProviderOptions = buildGoogleProviderOptions(exec, index);
715
- if (googleProviderOptions) {
716
- params.providerOptions = {
717
- google: googleProviderOptions,
718
- };
693
+ if (tools) {
694
+ params.tools = tools;
719
695
  }
720
696
  }
697
+ if (provider === 'google' && googleProviderOptions) {
698
+ params.providerOptions = {
699
+ google: googleProviderOptions,
700
+ };
701
+ console.log('UniversalAI: Added Google provider options:', googleProviderOptions);
702
+ }
721
703
  const numericOptionKeys = [
722
704
  'maxTokens',
723
705
  'temperature',
@@ -733,6 +715,12 @@ async function generateTextOperation(exec, index, provider, aiProvider, model, m
733
715
  params[key] = value;
734
716
  }
735
717
  }
718
+ console.log('UniversalAI: Final request params:', {
719
+ hasSystem: !!params.system,
720
+ hasTools: !!params.tools,
721
+ hasCachedContent: !!cachedContentName,
722
+ providerOptions: params.providerOptions,
723
+ });
736
724
  if (enableStreaming) {
737
725
  return await handleStreaming(params, provider, includeRequestBody);
738
726
  }
@@ -766,9 +754,6 @@ async function buildGoogleTools(exec, index) {
766
754
  return tools;
767
755
  }
768
756
  async function handleStreaming(params, provider, includeRequestBody) {
769
- if (provider === 'google' && params.providerOptions) {
770
- params.providerOptions.google.streaming = true;
771
- }
772
757
  const stream = await (0, ai_1.streamText)(params);
773
758
  const chunks = [];
774
759
  let fullText = '';
@@ -795,73 +780,48 @@ async function handleStreaming(params, provider, includeRequestBody) {
795
780
  chunks.push({ json: finalJson });
796
781
  return chunks;
797
782
  }
798
- async function generateObjectOperation(exec, index, provider, aiProvider, model, modelSettings, input, options) {
799
- var _a, _b;
783
+ async function generateObjectOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey) {
800
784
  const schemaName = exec.getNodeParameter('schemaName', index, '');
801
785
  const schemaDescription = exec.getNodeParameter('schemaDescription', index, '');
802
786
  const rawSchema = exec.getNodeParameter('schema', index);
803
787
  const parsedSchema = parseAndValidateSchema(rawSchema, exec);
804
- const params = {
805
- model: aiProvider(model, modelSettings),
806
- schema: (0, ai_1.jsonSchema)(parsedSchema),
807
- schemaName,
808
- schemaDescription,
809
- ...input,
810
- };
788
+ let cachedContentName = null;
789
+ let googleProviderOptions;
811
790
  if (provider === 'google') {
812
791
  const useGoogleCache = exec.getNodeParameter('useGoogleCache', index, false);
813
- console.log('UniversalAI: Cache debug - Object generation, Provider is Google, useGoogleCache:', useGoogleCache);
814
- if (useGoogleCache) {
815
- console.log('UniversalAI: Cache enabled for object generation, attempting to create cache...');
792
+ if (useGoogleCache && canUseCache(input.system, undefined)) {
793
+ console.log('UniversalAI: Creating Google cache for object generation...');
816
794
  try {
817
- const credentials = await exec.getCredentials('googleGenerativeAIApi');
818
- const apiKey = credentials === null || credentials === void 0 ? void 0 : credentials.apiKey;
819
- if (apiKey) {
820
- console.log('UniversalAI: Got API key for object generation, calling createGoogleCache...');
821
- const cachedContentName = await createGoogleCache(exec, index, apiKey, input.system, undefined);
822
- console.log('UniversalAI: Object generation cache creation result:', cachedContentName);
823
- if (cachedContentName) {
824
- const googleProviderOptions = buildGoogleProviderOptions(exec, index);
825
- params.providerOptions = {
826
- google: {
827
- ...googleProviderOptions,
828
- cachedContent: cachedContentName,
829
- },
830
- };
831
- if (params.system)
832
- delete params.system;
833
- console.log('UniversalAI: Using Google cache for object generation (system moved to cache):', cachedContentName);
834
- console.log('UniversalAI: Object generation request params after cache processing:', {
835
- hasSystem: !!params.system,
836
- hasCachedContent: !!((_b = (_a = params.providerOptions) === null || _a === void 0 ? void 0 : _a.google) === null || _b === void 0 ? void 0 : _b.cachedContent),
837
- });
838
- }
839
- else {
840
- console.log('UniversalAI: No cache created for object generation, continuing without cache');
841
- }
795
+ cachedContentName = await createGoogleCache(exec, index, apiKey, input.system, undefined);
796
+ if (cachedContentName) {
797
+ console.log('UniversalAI: Successfully created/retrieved cache for object generation:', cachedContentName);
842
798
  }
843
799
  else {
844
- console.log('UniversalAI: No API key found for object generation cache creation');
800
+ console.log('UniversalAI: Cache creation for object generation returned null, continuing without cache');
845
801
  }
846
802
  }
847
803
  catch (error) {
848
804
  console.warn('UniversalAI: Cache creation failed for object generation, continuing without cache:', error);
849
805
  }
850
806
  }
851
- else {
852
- console.log('UniversalAI: Cache not enabled for object generation');
853
- }
807
+ googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName || undefined);
854
808
  }
855
- else {
856
- console.log('UniversalAI: Cache debug - Object generation provider is not Google, cache not applicable');
809
+ const params = {
810
+ model: aiProvider(model, modelSettings),
811
+ schema: (0, ai_1.jsonSchema)(parsedSchema),
812
+ schemaName,
813
+ schemaDescription,
814
+ ...input,
815
+ };
816
+ if (cachedContentName && params.system) {
817
+ console.log('UniversalAI: Using cache for object generation, removing system from request params');
818
+ delete params.system;
857
819
  }
858
- if (provider === 'google' && !params.providerOptions) {
859
- const googleProviderOptions = buildGoogleProviderOptions(exec, index);
860
- if (googleProviderOptions) {
861
- params.providerOptions = {
862
- google: googleProviderOptions,
863
- };
864
- }
820
+ if (provider === 'google' && googleProviderOptions) {
821
+ params.providerOptions = {
822
+ google: googleProviderOptions,
823
+ };
824
+ console.log('UniversalAI: Added Google provider options for object generation:', googleProviderOptions);
865
825
  }
866
826
  const numericOptionKeys = [
867
827
  'temperature',
@@ -877,6 +837,11 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
877
837
  params[key] = value;
878
838
  }
879
839
  }
840
+ console.log('UniversalAI: Final object generation request params:', {
841
+ hasSystem: !!params.system,
842
+ hasCachedContent: !!cachedContentName,
843
+ providerOptions: params.providerOptions,
844
+ });
880
845
  const result = await (0, ai_1.generateObject)(params);
881
846
  console.log('UniversalAI: Debug - generateObject result:', {
882
847
  provider,
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAI.node.js","sourceRoot":"","sources":["../../../nodes/UniversalAI/UniversalAI.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAQsB;AAGtB,IAAI,cAAmB,CAAC;AACxB,IAAI,gBAAqB,CAAC;AAC1B,IAAI,YAAiB,CAAC;AACtB,IAAI,kBAAuB,CAAC;AAE5B,2BAcY;AAEZ,6BAAwB;AACxB,8CAAsB;AACtB,yDAAkE;AAsBlE,MAAM,KAAK;IAQV,YAAY,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAPtC,UAAK,GAAG,IAAI,GAAG,EAA6E,CAAC;QAG7F,cAAS,GAAG,CAAC,CAAC;QACd,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAG1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,GAAW;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QAClB,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,SAAkB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAG5F,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,SAA6B,CAAC;YAClC,IAAI,UAAU,GAAG,GAAG,CAAC;YAErB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;oBAC9B,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC;oBACzB,SAAS,GAAG,CAAC,CAAC;gBACf,CAAC;YACF,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ;QACP,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;SACb,CAAC;IACH,CAAC;CACD;AAGD,MAAM,UAAU,GAAG,IAAI,KAAK,CAAyB,EAAE,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAM,EAAE,CAAC,CAAC;AACzC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAM,EAAE,CAAC,CAAC;AAGvC,IAAI,kBAAkB,GAAQ,IAAI,CAAC;AACnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmE,CAAC;AAGjG,KAAK,UAAU,iBAAiB,CAC/B,IAAuB,EACvB,KAAa,EACb,MAAc,EACd,YAAqB,EACrB,KAA2B;IAE3B,IAAI,CAAC;QAEJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACzE,kBAAkB,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;QACxF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;QAID,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGrG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC5E,CAAC;QAGD,MAAM,YAAY,GAAG;YACpB,MAAM,EAAE,YAAY,IAAI,EAAE;YAC1B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC7C,UAAU;SACV,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAGpD,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,aAAa,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEnF,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;YAClD,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,YAAY;YACzB,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAClD,UAAU;SACV,CAAC,CAAC;QAEH,MAAM,WAAW,GAAQ;YACxB,KAAK,EAAE,sBAAsB;YAC7B,UAAU;YACV,WAAW,EAAE,SAAS;SACtB,CAAC;QAGF,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,WAAW,CAAC,iBAAiB,GAAG;gBAC/B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;aAC/B,CAAC;QACH,CAAC;QAGD,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,WAAW,CAAC,CAAC;QACvE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAGjF,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE;YACjC,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU;SACV,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,iBAAiB,CAAC,CAAC;QAC3E,OAAO,iBAAiB,CAAC;IAE1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAGD,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,GAAG,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,OAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAGnD,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;IACnB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,KAAK;CACb,CAAC,CAAC;AAGH,MAAM,KAAK,GAAG,CAAC,GAAW,EAAW,EAAE;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC;AAGF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAW,EAAE;IAC/C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAGF,KAAK,UAAU,UAAU,CACxB,IAAuB,EACvB,SAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAA0B,CAAC;IAEzF,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACN,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW;YAC5D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW;SAC5D,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;IAC1F,OAAO,aAAa;QACnB,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC;AAGD,KAAK,UAAU,qBAAqB,CACnC,IAAuB,EACvB,SAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAW,CAAC;IAE3E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,6DAA6D,CAC7D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAsB,EAAE,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,4CAA6C,KAAe,CAAC,OAAO,EAAE,CACtE,CAAC;IACH,CAAC;AACF,CAAC;AAGD,KAAK,UAAU,mBAAmB,CACjC,IAAuB,EACvB,SAAiB;;IAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAW3E,CAAC;IAEH,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAuC,CAAC;QAEzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/D,SAAS;QACV,CAAC;QAED,MAAM,WAAW,GAAG,CAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,UAAU,KAAI,EAAE,CAAC;QAEtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAE9B,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YAEP,MAAM,sBAAsB,GAAG,MAAM,2BAA2B,CAC/D,IAAI,EACJ,GAAG,CAAC,OAAO,EACX,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,CACT,CAAC;YACF,IAAI,sBAAsB,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;IAE5G,IAAI,sBAAsB,EAAE,CAAC;QAC5B,OAAO,EAAE,QAAQ,EAAE,IAAA,2BAAsB,EAAC,aAAoB,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC;AAGD,KAAK,UAAU,2BAA2B,CACzC,IAAY,EACZ,OAA2B,EAC3B,WAIE,EACF,UAAmC,EACnC,IAAuB,EACvB,SAAiB;IAEjB,MAAM,KAAK,GAA+B,EAAE,CAAC;IAG7C,IAAI,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAGD,MAAM,0BAA0B,GAAG,CAAC,CAAC;IACrC,MAAM,oBAAoB,GAAwB,EAAE,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,0BAA0B,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAC5C,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAC1D,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtD,oBAAoB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC5C,CAAC;IAGD,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;QAC/C,IAAI,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAGD,KAAK,UAAU,iBAAiB,CAC/B,UAIC,EACD,UAAmC,EACnC,IAAuB,EACvB,SAAiB;IAEjB,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC;IAChD,IAAI,CAAC,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3E,IAAI,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,QAAa,CAAC;IAGlB,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,gBAAgB,CAAC;IAC7B,CAAC;SAAM,CAAC;QACP,QAAQ,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAG3B,MAAM,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,gBAAgB,CAA4B,CAAC;QAC7E,IAAI,CAAC,QAAQ,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,EAAE,CAAC;YACvC,QAAQ,GAAG,UAAU,CAAC,QAAkB,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ,IAAI,0BAA0B;KACjD,CAAC;AACH,CAAC;AAGD,SAAS,WAAW,CAAC,UAAyD;IAC7E,OAAO,UAAU,CAAC,QAAQ,KAAK,OAAO;QACrC,CAAC,CAAC,UAAU,CAAC,aAAa;QAC1B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,aAAa,CAC3B,gBAAwB,EACxB,UAAmC,EACnC,IAAuB,EACvB,SAAiB;IAGjB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,gBAAgB,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAgB,CAAC;QAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAc,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAGD,IAAI,CAAC;QACJ,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAEvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAC3D,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,wCAAyC,KAAe,CAAC,OAAO,EAAE,CAClE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAGD,SAAS,4BAA4B,CAAC,IAAY,EAAE,iBAAsB;IACzE,IAAI,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,iBAAiB,CAAA,IAAI,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,CAAA,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC;IAGjD,MAAM,cAAc,GAAG,QAAQ;SAC7B,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,OAAO,CAAC,qBAAqB,0CAAE,MAAM,IAAG,CAAC,CAAA,EAAA,CAAC;SACnE,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAExE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAG9B,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvD,aAAa,GAAG,GAAG,aAAa,IAAI,WAAW,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAGD,SAAS,gBAAgB,CACxB,MAAsD,EACtD,kBAAuC,EACvC,QAA2B;;IAE3B,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAGjC,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YAChB,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,CAAC;IACF,CAAC;IAED,MAAM,UAAU,GAAgB;QAC/B,IAAI;QACJ,SAAS;QACT,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAG,MAAc,CAAC,OAAO,IAAI,EAAE;QACtC,KAAK,EAAG,MAAc,CAAC,KAAK,IAAI,EAAE;QAClC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,6BAA6B,EAAG,MAAc,CAAC,6BAA6B;KAC5E,CAAC;IAGF,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,gBAAgB,GAAI,MAAc,CAAC,6BAA6B,CAAC;QACvE,UAAU,CAAC,iBAAiB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,0CAAE,iBAAiB,CAAC;QAC3E,UAAU,CAAC,aAAa,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,0CAAE,aAAa,CAAC;QACnE,UAAU,CAAC,kBAAkB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,0CAAE,kBAAkB,CAAC;QAG7E,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAClC,UAAU,CAAC,aAAa,GAAG,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7F,CAAC;IACF,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,MAAC,MAAM,CAAC,OAAe,0CAAE,IAAI,CAAC;QAClD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5C,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAAqC,EACrC,kBAAuC,EACvC,QAA2B;;IAE3B,MAAM,GAAG,GAAgB;QACxB,MAAM,EAAE,MAAM,CAAC,MAAqB;QACpC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,6BAA6B,EAAG,MAAc,CAAC,6BAA6B;KAC5E,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACxB,GAAG,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAA,MAAM,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,MAAW,EAAE,QAA2B;;IAC5D,MAAM,KAAK,GAAgB;QAC1B,YAAY,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,YAAY;QACxC,gBAAgB,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,gBAAgB;QAChD,WAAW,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,WAAW;KACtC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,MAAW,EAAE,QAA2B;;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,6BAA6B,CAAC;IACtD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,UAAU;YACd,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,oBAAoB,MAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACvE,CAAC;YACD,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,qBAAqB,MAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,CAAC,qBAAqB,GAAG,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzE,CAAC;YACD,MAAM;QACP,KAAK,MAAM;YACV,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,oBAAoB,MAAK,SAAS,EAAE,CAAC;gBACxD,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACnE,CAAC;YACD,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,qBAAqB,MAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACrE,CAAC;YACD,MAAM;QACP,KAAK,QAAQ;YACZ,IAAI,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,aAAa,0CAAE,uBAAuB,MAAK,SAAS,EAAE,CAAC;gBAC5E,OAAO,CAAC,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC;YACzF,CAAC;YACD,IAAI,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,aAAa,0CAAE,kBAAkB,MAAK,SAAS,EAAE,CAAC;gBACvE,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;YAC/E,CAAC;YACD,MAAM;IACR,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,MAAW;;IAClC,OAAO;QACN,EAAE,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,EAAE;QACvB,OAAO,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,OAAO;QACjC,SAAS,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,SAAS;QACrC,OAAO,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,OAAO;KACjC,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,WAAW,CAAC,QAA2B,EAAE,MAAc,EAAE,OAAgB;IACvF,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,gBAAqB,CAAC;IAE1B,IAAI,CAAC;QACJ,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACZ,IAAI,CAAC,cAAc,EAAE,CAAC;oBACrB,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC;gBACrE,CAAC;gBACD,gBAAgB,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3E,MAAM;YAEP,KAAK,UAAU;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvB,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC;gBAC/D,CAAC;gBACD,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7E,MAAM;YAEP,KAAK,MAAM;gBACV,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnB,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;gBACnD,CAAC;gBACD,gBAAgB,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzE,MAAM;YAEP,KAAK,YAAY;gBAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzB,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,gBAAgB,CAAC;gBAC9E,CAAC;gBACD,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/E,MAAM;YAEP;gBACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;AACF,CAAC;AAGD,SAAS,sBAAsB,CAAC,SAAiB,EAAE,IAAuB;IACzE,MAAM,QAAQ,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACxF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,YAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,GAAI,GAAa,CAAC,OAAO,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxC,OAAO,YAAY,CAAC;AACrB,CAAC;AAGD,SAAS,kBAAkB,CAAC,gBAAoC;IAC/D,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC;AAGD,MAAa,WAAW;IAAxB;QACC,gBAAW,GAAG,uCAAwB,CAAC;QAEvC,YAAO,GAAG;YACT,WAAW,EAAE;gBACZ,KAAK,CAAC,SAAS;oBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAsB,CAAC;oBAC/E,MAAM,QAAQ,GAAG,UAAU,QAAQ,EAAE,CAAC;oBAEtC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAC;oBAG1B,MAAM,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,GAAG,wDAAa,eAAe,GAAC,CAAC;oBAElC,MAAM,MAAM,GAAG;wBACd,MAAM,EAAE,oBAAoB;wBAC5B,QAAQ,EAAE,eAAe;wBACzB,IAAI,EAAE,WAAW;wBACjB,UAAU,EAAE,iBAAiB;qBAC7B,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAElB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACjC,OAAO,MAAM,CAAC;gBACf,CAAC;aACD;SACD,CAAC;IA4DH,CAAC;IA1DA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAsB,CAAC;QAG3E,MAAM,cAAc,GAAG;YACtB,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,eAAe;SAC3B,CAAC,QAAQ,CAAC,CAAC;QAEZ,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE,CAAC;YAC1B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,oCAAoC,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAgB,EAAE,WAAW,CAAC,OAAiB,CAAC,CAAC;QAG5G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEhB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAE3B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE;4BACL,KAAK,EAAE,YAAY;4BACnB,SAAS,EAAE,CAAC;4BACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI;yBAC7B;wBACD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;qBACvB,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBAEP,IAAI,KAAK,YAAY,iCAAkB,EAAE,CAAC;wBACzC,MAAM,KAAK,CAAC;oBACb,CAAC;oBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;wBACnD,SAAS,EAAE,CAAC;qBACZ,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AA3FD,kCA2FC;AAED,KAAK,UAAU,WAAW,CACzB,IAAuB,EACvB,KAAa,EACb,QAA2B,EAC3B,UAAe;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAsC,CAAC;IACjG,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAQ,CAAC;IAEnE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAElF,OAAO,SAAS,KAAK,cAAc;QAClC,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC;QACtG,CAAC,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,gBAAgB,CACxB,IAAuB,EACvB,KAAa,EACb,QAA2B,EAC3B,SAA4C,EAC5C,OAAoB;IAEpB,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAmC,CAAC,CAAC;IACtF,IAAI,aAAa,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,CAAC,EAAE,CAAC;QAC3E,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,CAGlF,CAAC;QACH,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvD,QAAQ,EAAE,CAAC,CAAC,QAA8B;gBAC1C,SAAS,EAAE,CAAC,CAAC,SAAgC;aAC7C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,iBAAiB,GAAG,SAAS,KAAK,gBAAgB,CAAC;QAI5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAa,CAAC;QAC9F,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAClD,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAGD,SAAS,0BAA0B,CAAC,IAAuB,EAAE,KAAa;IACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;IAE1F,MAAM,OAAO,GAAwB,EAAE,CAAC;IAGxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,cAAc,GAAG;YACxB,cAAc,EAAE,mBAAmB;YACnC,eAAe;SACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,IAAuB,EACvB,KAAa,EACb,QAA2B,EAC3B,UAAe,EACf,KAAa,EACb,aAA0B,EAC1B,KAAsE,EACtE,OAAoB;;IAEpB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;IAC1F,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAyC,CAAC;IAC7E,MAAM,KAAK,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,MAAM,MAAM,GAAQ;QACnB,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;QACvC,GAAG,KAAK;QACR,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;KACvB,CAAC;IAGF,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;QAExF,OAAO,CAAC,GAAG,CAAC,gEAAgE,EAAE,cAAc,CAAC,CAAC;QAE9F,IAAI,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACzE,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAgB,CAAC;gBAE7C,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;oBACtE,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAChD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,KAAK,CACL,CAAC;oBAEF,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,iBAAiB,CAAC,CAAC;oBAEtE,IAAI,iBAAiB,EAAE,CAAC;wBAEvB,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACtE,MAAM,CAAC,eAAe,GAAG;4BACxB,MAAM,EAAE;gCACP,GAAG,qBAAqB;gCACxB,aAAa,EAAE,iBAAiB;6BAChC;yBACD,CAAC;wBAGF,IAAI,MAAM,CAAC,MAAM;4BAAE,OAAO,MAAM,CAAC,MAAM,CAAC;wBACxC,IAAI,MAAM,CAAC,KAAK;4BAAE,OAAO,MAAM,CAAC,KAAK,CAAC;wBAEtC,OAAO,CAAC,GAAG,CAAC,gEAAgE,EAAE,iBAAiB,CAAC,CAAC;wBACjG,OAAO,CAAC,GAAG,CAAC,qDAAqD,EAAE;4BAClE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;4BAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;4BACxB,gBAAgB,EAAE,CAAC,CAAC,CAAA,MAAA,MAAA,MAAM,CAAC,eAAe,0CAAE,MAAM,0CAAE,aAAa,CAAA;yBACjE,CAAC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBACxE,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBACjE,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACxF,CAAC;IAGD,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,qBAAqB,EAAE,CAAC;YAC3B,MAAM,CAAC,eAAe,GAAG;gBACxB,MAAM,EAAE,qBAAqB;aAC7B,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG;QACzB,WAAW;QACX,aAAa;QACb,MAAM;QACN,MAAM;QACN,kBAAkB;QAClB,iBAAiB;QACjB,MAAM;KACN,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAwB,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACF,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAY,EAAC,MAAa,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE;QACxD,QAAQ;QACR,mBAAmB,EAAE,CAAC,CAAE,MAAc,CAAC,6BAA6B;QACpE,gBAAgB,EAAG,MAAc,CAAC,6BAA6B;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAE/E,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB,EAAE,KAAa;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAa,CAAC;IAChF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAA2B,EAC3B,QAA2B,EAC3B,kBAA4B;IAG5B,IAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,eAAU,EAAC,MAAa,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,QAAQ,IAAI,QAAQ,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,SAAS,GAAgB;QAC9B,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC;QACnD,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;YACzC,SAAS,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;IACF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,IAAuB,EACvB,KAAa,EACb,QAA2B,EAC3B,UAAe,EACf,KAAa,EACb,aAA0B,EAC1B,KAAsE,EACtE,OAAoB;;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAW,CAAC;IAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAW,CAAC;IAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAW,CAAC;IACnE,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAwB;QACnC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;QACvC,MAAM,EAAE,IAAA,eAAU,EAAC,YAAY,CAAC;QAChC,UAAU;QACV,iBAAiB;QACjB,GAAG,KAAK;KACR,CAAC;IAGF,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;QAExF,OAAO,CAAC,GAAG,CAAC,mFAAmF,EAAE,cAAc,CAAC,CAAC;QAEjH,IAAI,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAgB,CAAC;gBAE7C,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;oBAC5F,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAChD,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,CAAC,MAAM,EACZ,SAAS,CACT,CAAC;oBAEF,OAAO,CAAC,GAAG,CAAC,uDAAuD,EAAE,iBAAiB,CAAC,CAAC;oBAExF,IAAI,iBAAiB,EAAE,CAAC;wBAEvB,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACtE,MAAM,CAAC,eAAe,GAAG;4BACxB,MAAM,EAAE;gCACP,GAAG,qBAAqB;gCACxB,aAAa,EAAE,iBAAiB;6BAChC;yBACD,CAAC;wBAGF,IAAI,MAAM,CAAC,MAAM;4BAAE,OAAO,MAAM,CAAC,MAAM,CAAC;wBAExC,OAAO,CAAC,GAAG,CAAC,gFAAgF,EAAE,iBAAiB,CAAC,CAAC;wBACjH,OAAO,CAAC,GAAG,CAAC,uEAAuE,EAAE;4BACpF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;4BAC1B,gBAAgB,EAAE,CAAC,CAAC,CAAA,MAAA,MAAA,MAAM,CAAC,eAAe,0CAAE,MAAM,0CAAE,aAAa,CAAA;yBACjE,CAAC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;oBAC9F,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;gBACnF,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,qFAAqF,EAAE,KAAK,CAAC,CAAC;YAC5G,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;IAC1G,CAAC;IAGD,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,qBAAqB,EAAE,CAAC;YAC3B,MAAM,CAAC,eAAe,GAAG;gBACxB,MAAM,EAAE,qBAAqB;aAC7B,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG;QACzB,aAAa;QACb,MAAM;QACN,MAAM;QACN,kBAAkB;QAClB,iBAAiB;QACjB,MAAM;KACN,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAwB,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAc,EAAC,MAAa,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE;QAC1D,QAAQ;QACR,mBAAmB,EAAE,CAAC,CAAE,MAAc,CAAC,6BAA6B;QACpE,gBAAgB,EAAG,MAAc,CAAC,6BAA6B;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAyC,EAAE,QAAQ,CAAC,CAAC;IAEhH,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"UniversalAI.node.js","sourceRoot":"","sources":["../../../nodes/UniversalAI/UniversalAI.node.ts"],"names":[],"mappings":"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"}