@henrychong-ai/mcp-neo4j-knowledge-graph 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -92,6 +92,8 @@ Example:
92
92
  }
93
93
  ```
94
94
 
95
+ **EntityType Convention:** Use `lowercase-kebab-case` for entityType values (e.g., `person`, `medical-condition`, `claude-code-skill`). Avoid uppercase, spaces, or underscores.
96
+
95
97
  ### Relations
96
98
 
97
99
  Relations define directed connections between entities with enhanced properties:
@@ -424,6 +426,7 @@ The following tools are available to LLM client hosts through the Model Context
424
426
  - Each object contains:
425
427
  - `name` (string): Entity identifier
426
428
  - `entityType` (string): Type classification
429
+ - `domain` (string, optional): Namespace scope - one of: `medical`, `money`, `infra`, `claude`, `general`. Default: `null` (uncategorized)
427
430
  - `observations` (string[]): Associated observations
428
431
 
429
432
  - **add_observations**
@@ -498,7 +501,9 @@ The following tools are available to LLM client hosts through the Model Context
498
501
  - **search_nodes**
499
502
 
500
503
  - Search for nodes based on query
501
- - Input: `query` (string)
504
+ - Input:
505
+ - `query` (string): Search query
506
+ - `domain` (string, optional): Filter by domain - one of: `medical`, `money`, `infra`, `claude`, `general`. Omit to search all domains
502
507
 
503
508
  - **open_nodes**
504
509
  - Retrieve specific nodes by name
@@ -514,6 +519,7 @@ The following tools are available to LLM client hosts through the Model Context
514
519
  - `limit` (number, optional): Maximum results to return (default: 10)
515
520
  - `min_similarity` (number, optional): Minimum similarity threshold (0.0-1.0, default: 0.6)
516
521
  - `entity_types` (string[], optional): Filter results by entity types
522
+ - `domain` (string, optional): Filter by domain - one of: `medical`, `money`, `infra`, `claude`, `general`. Omit to search all domains
517
523
  - `hybrid_search` (boolean, optional): Combine keyword and semantic search (default: true)
518
524
  - `semantic_weight` (number, optional): Weight of semantic results in hybrid search (0.0-1.0, default: 0.6)
519
525
  - Features:
@@ -432,8 +432,8 @@ Would you like me to test it now by creating a sample entity?
432
432
  {
433
433
  "entities": [
434
434
  {
435
- "name": "Setup_Test",
436
- "entityType": "Test",
435
+ "name": "setup-test",
436
+ "entityType": "test",
437
437
  "observations": ["Successfully created during automated setup on [DATE]"]
438
438
  }
439
439
  ]
@@ -527,7 +527,310 @@ Hmm, the tools aren't showing up yet. Let's troubleshoot:
527
527
  Would you like me to verify your configuration?
528
528
  ```
529
529
 
530
- ### 8.3 Final Success Celebration
530
+ ### 8.3 Optional: Add KG Usage Instructions to Claude User Preferences
531
+
532
+ **AFTER SUCCESSFUL MCP TOOL TEST:**
533
+
534
+ Now that your MCP server is working, you can optionally add Knowledge Graph usage instructions to your Claude user preferences file (~/.claude/CLAUDE.md). This helps Claude Code understand how to best use your knowledge graph.
535
+
536
+ **ASK USER:**
537
+ ```
538
+ Would you like to add Knowledge Graph (KG) usage instructions to your Claude user preferences?
539
+
540
+ This will add helpful guidelines for:
541
+ - When to use semantic_search vs search_nodes
542
+ - Best practices for querying your knowledge graph
543
+ - Token limit warnings and optimization tips
544
+
545
+ Add instructions? (yes/no)
546
+ ```
547
+
548
+ **IF NO:**
549
+ ```
550
+ No problem! You can always add these instructions later by asking a future Claude Code session to:
551
+
552
+ "Read and execute the setup guide at henrychong.com/mcp-neo4j-kg/setup and add KG usage instructions to my CLAUDE.md file"
553
+
554
+ The setup guide contains the full instructions ready to add whenever you need them.
555
+ ```
556
+
557
+ **CONTINUE TO SECTION 8.4**
558
+
559
+ **IF YES:**
560
+
561
+ #### Check if CLAUDE.md Exists
562
+
563
+ **RUN:**
564
+ ```bash
565
+ [ -f ~/.claude/CLAUDE.md ] && echo "exists" || echo "not found"
566
+ ```
567
+
568
+ **IF NOT FOUND:**
569
+ ```
570
+ I'll create a new ~/.claude/CLAUDE.md file with the KG instructions.
571
+ ```
572
+
573
+ **IF EXISTS:**
574
+ ```
575
+ I'll add the KG instructions to your existing ~/.claude/CLAUDE.md file.
576
+ First, let me create a backup...
577
+ ```
578
+
579
+ **RUN:**
580
+ ```bash
581
+ cp ~/.claude/CLAUDE.md ~/.claude/CLAUDE.md.backup-$(date +%Y%m%d-%H%M%S)
582
+ ```
583
+
584
+ #### Prepare KG Instructions Content
585
+
586
+ **DETERMINE OPENAI KEY STATUS:**
587
+ Check if user provided OpenAI API key during Section 3 setup.
588
+
589
+ **IF OPENAI KEY PROVIDED (Semantic search enabled):**
590
+
591
+ Create full instructions including semantic_search:
592
+
593
+ **RUN:**
594
+ ```bash
595
+ cat >> ~/.claude/CLAUDE.md << 'EOF'
596
+
597
+ ---
598
+
599
+ # Knowledge Graph (KG) Usage Instructions
600
+
601
+ *Added by mcp-neo4j-knowledge-graph setup on $(date +%Y-%m-%d)*
602
+
603
+ ## Abbreviation
604
+ - **kg**: References the Neo4j knowledge graph and MCP tools (mcp__kg__search_nodes, mcp__kg__semantic_search, etc.)
605
+
606
+ ## Search Methods
607
+
608
+ ### semantic_search (Recommended for Exploration)
609
+
610
+ Use `semantic_search` for concept exploration, discovery, and natural language queries:
611
+
612
+ **When to use:**
613
+ - Exploring topics without knowing exact terminology
614
+ - Finding related concepts across different domains
615
+ - Natural language queries about abstract ideas
616
+
617
+ **Parameters:**
618
+ - `limit`: Maximum results (default: 10)
619
+ - `min_similarity`: Similarity threshold 0.0-1.0 (default: 0.6)
620
+ - `entity_types`: Optional filter by type
621
+ - `hybrid_search`: Combine with keyword search (default: true)
622
+
623
+ **Example queries:**
624
+ ```
625
+ semantic_search("software architecture patterns") → Finds design patterns, architectural concepts
626
+ semantic_search("database optimization techniques") → Finds performance tuning, indexing strategies
627
+ semantic_search("project management methodologies") → Finds Agile, Scrum, workflow approaches
628
+ ```
629
+
630
+ **Benefits:**
631
+ - Finds conceptually related entities even with different terminology
632
+ - Discovers unexpected connections
633
+ - Works well with natural language queries
634
+
635
+ ### search_nodes (Precision Method)
636
+
637
+ Use `search_nodes` for exact term matching:
638
+
639
+ **When to use:**
640
+ - Known exact terms or technical names
641
+ - Quick existence checks
642
+ - Technical lookups with specific terminology
643
+
644
+ **Benefits:**
645
+ - Fast and free (no API calls)
646
+ - Predictable exact matches
647
+ - Efficient for known terms
648
+
649
+ **Example queries:**
650
+ ```
651
+ search_nodes("Docker") → Finds entities mentioning Docker
652
+ search_nodes("React") → Finds React-related entities
653
+ search_nodes("PostgreSQL") → Finds PostgreSQL entities
654
+ ```
655
+
656
+ **Limitations:**
657
+ - Literal matching only
658
+ - Won't find synonyms or related concepts
659
+ - Requires knowing exact terminology
660
+
661
+ ## Best Practices
662
+
663
+ ### Hybrid Approach (Recommended):
664
+ 1. Start with `semantic_search` for discovery
665
+ 2. Review results and identify exact terms used
666
+ 3. Use `search_nodes` for precision refinement
667
+
668
+ ### Query Optimization:
669
+ - **Semantic search**: Natural language - "web development frontend frameworks modern"
670
+ - **Keyword search**: Specific terms - "React", "Vue", "Angular"
671
+ - **Escalation**: semantic_search → search_nodes → file search → web search
672
+
673
+ ## Critical Constraints
674
+
675
+ ### NEVER use read_graph()
676
+ - ⚠️ The `read_graph()` tool always exceeds the 25,000 token response limit
677
+ - Response size: ~173,000 tokens (confirmed)
678
+ - **Always use `search_nodes()` or `semantic_search()` instead**
679
+
680
+ ### Token Limit Awareness
681
+ - All MCP tool responses capped at 25,000 tokens maximum
682
+ - Use targeted searches rather than broad retrieval
683
+ - Apply filters early to reduce response size
684
+
685
+ ---
686
+
687
+ EOF
688
+ ```
689
+
690
+ **IF OPENAI KEY NOT PROVIDED (Semantic search disabled):**
691
+
692
+ **ASK USER:**
693
+ ```
694
+ You didn't set up an OpenAI API key, so semantic search isn't currently enabled.
695
+
696
+ Would you like to include the semantic_search instructions anyway (as commented examples for future reference)?
697
+
698
+ This way, if you add an OpenAI key later, you'll have the instructions ready.
699
+
700
+ Include semantic_search instructions as comments? (yes/no)
701
+ ```
702
+
703
+ **IF YES (include commented):**
704
+
705
+ **RUN:**
706
+ ```bash
707
+ cat >> ~/.claude/CLAUDE.md << 'EOF'
708
+
709
+ ---
710
+
711
+ # Knowledge Graph (KG) Usage Instructions
712
+
713
+ *Added by mcp-neo4j-knowledge-graph setup on $(date +%Y-%m-%d)*
714
+
715
+ ## Abbreviation
716
+ - **kg**: References the Neo4j knowledge graph and MCP tools
717
+
718
+ ## Search Methods
719
+
720
+ ### search_nodes (Currently Available)
721
+
722
+ Use `search_nodes` for exact term matching:
723
+
724
+ **When to use:**
725
+ - Known exact terms or technical names
726
+ - Quick existence checks
727
+ - Technical lookups with specific terminology
728
+
729
+ **Example queries:**
730
+ ```
731
+ search_nodes("Docker") → Finds entities mentioning Docker
732
+ search_nodes("React") → Finds React-related entities
733
+ search_nodes("PostgreSQL") → Finds PostgreSQL entities
734
+ ```
735
+
736
+ <!--
737
+ ### semantic_search (Requires OpenAI API Key)
738
+
739
+ COMMENTED OUT - Add OpenAI API key to enable semantic search:
740
+
741
+ Use `semantic_search` for concept exploration and natural language queries:
742
+
743
+ **When to use:**
744
+ - Exploring topics without knowing exact terminology
745
+ - Finding related concepts across different domains
746
+ - Natural language queries about abstract ideas
747
+
748
+ **Parameters:**
749
+ - `limit`: Maximum results (default: 10)
750
+ - `min_similarity`: Similarity threshold 0.0-1.0 (default: 0.6)
751
+
752
+ **Example queries:**
753
+ ```
754
+ semantic_search("software architecture patterns") → Finds design patterns, architectural concepts
755
+ semantic_search("database optimization techniques") → Finds performance tuning, indexing strategies
756
+ ```
757
+
758
+ To enable: Add OPENAI_API_KEY to your ~/.claude.json MCP server config, then uncomment this section.
759
+ -->
760
+
761
+ ## Critical Constraints
762
+
763
+ ### NEVER use read_graph()
764
+ - ⚠️ The `read_graph()` tool always exceeds the 25,000 token response limit
765
+ - **Always use `search_nodes()` or `semantic_search()` instead**
766
+
767
+ ---
768
+
769
+ EOF
770
+ ```
771
+
772
+ **IF NO (omit semantic search):**
773
+
774
+ **RUN:**
775
+ ```bash
776
+ cat >> ~/.claude/CLAUDE.md << 'EOF'
777
+
778
+ ---
779
+
780
+ # Knowledge Graph (KG) Usage Instructions
781
+
782
+ *Added by mcp-neo4j-knowledge-graph setup on $(date +%Y-%m-%d)*
783
+
784
+ ## Abbreviation
785
+ - **kg**: References the Neo4j knowledge graph and MCP tools
786
+
787
+ ## Search Method
788
+
789
+ ### search_nodes
790
+
791
+ Use `search_nodes` for exact term matching:
792
+
793
+ **When to use:**
794
+ - Known exact terms or technical names
795
+ - Quick existence checks
796
+ - Technical lookups with specific terminology
797
+
798
+ **Example queries:**
799
+ ```
800
+ search_nodes("Docker") → Finds entities mentioning Docker
801
+ search_nodes("React") → Finds React-related entities
802
+ search_nodes("PostgreSQL") → Finds PostgreSQL entities
803
+ ```
804
+
805
+ ## Critical Constraints
806
+
807
+ ### NEVER use read_graph()
808
+ - ⚠️ The `read_graph()` tool always exceeds the 25,000 token response limit
809
+ - **Always use `search_nodes()` instead**
810
+
811
+ ---
812
+
813
+ EOF
814
+ ```
815
+
816
+ #### Verify Addition
817
+
818
+ **RUN:**
819
+ ```bash
820
+ tail -20 ~/.claude/CLAUDE.md
821
+ ```
822
+
823
+ **TELL USER:**
824
+ ```
825
+ ✅ Knowledge Graph usage instructions added to ~/.claude/CLAUDE.md!
826
+
827
+ A backup of your previous file was saved to:
828
+ ~/.claude/CLAUDE.md.backup-[timestamp]
829
+
830
+ These instructions will help Claude Code use your knowledge graph more effectively in future sessions.
831
+ ```
832
+
833
+ ### 8.4 Final Success Celebration
531
834
 
532
835
  **AFTER SUCCESSFUL MCP TOOL TEST:**
533
836
 
@@ -550,7 +853,7 @@ Next steps:
550
853
  Happy graphing! 🚀
551
854
  ```
552
855
 
553
- ### 8.4 Save Setup Summary
856
+ ### 8.5 Save Setup Summary
554
857
 
555
858
  **CREATE FILE** `mcp-neo4j-setup-summary.txt`:
556
859
 
@@ -4,9 +4,12 @@ import type { Relation } from './types/relation.js';
4
4
  import type { EntityEmbedding } from './types/entity-embedding.js';
5
5
  import type { EmbeddingJobManager } from './embeddings/EmbeddingJobManager.js';
6
6
  import { type VectorStoreFactoryOptions } from './storage/VectorStoreFactory.js';
7
+ export declare const VALID_DOMAINS: readonly ["medical", "money", "infra", "claude", "general"];
8
+ export type Domain = (typeof VALID_DOMAINS)[number];
7
9
  export interface Entity {
8
10
  name: string;
9
11
  entityType: string;
12
+ domain?: Domain | null;
10
13
  observations: string[];
11
14
  embedding?: EntityEmbedding;
12
15
  }
@@ -94,7 +97,9 @@ export declare class KnowledgeGraphManager {
94
97
  observations: string[];
95
98
  }[]): Promise<void>;
96
99
  deleteRelations(relations: Relation[]): Promise<void>;
97
- searchNodes(query: string): Promise<KnowledgeGraph>;
100
+ searchNodes(query: string, options?: {
101
+ domain?: string;
102
+ }): Promise<KnowledgeGraph>;
98
103
  openNodes(names: string[]): Promise<KnowledgeGraph>;
99
104
  /**
100
105
  * Add observations to entities
@@ -148,6 +153,7 @@ export declare class KnowledgeGraphManager {
148
153
  entityTypes?: string[];
149
154
  facets?: string[];
150
155
  offset?: number;
156
+ domain?: string;
151
157
  }): Promise<KnowledgeGraph>;
152
158
  /**
153
159
  * Perform semantic search on the knowledge graph
@@ -15,6 +15,8 @@ function hasUpdateRelation(provider) {
15
15
  return ('updateRelation' in provider &&
16
16
  typeof provider.updateRelation === 'function');
17
17
  }
18
+ // Valid domains for namespace scoping
19
+ export const VALID_DOMAINS = ['medical', 'money', 'infra', 'claude', 'general'];
18
20
  // Re-export the Relation interface for backward compatibility
19
21
  export { Relation } from './types/relation.js';
20
22
  // The KnowledgeGraphManager class contains all operations to interact with the knowledge graph
@@ -509,15 +511,19 @@ export class KnowledgeGraphManager {
509
511
  await this.saveGraph(graph);
510
512
  }
511
513
  }
512
- async searchNodes(query) {
514
+ async searchNodes(query, options = {}) {
513
515
  if (this.storageProvider) {
514
- return this.storageProvider.searchNodes(query);
516
+ return this.storageProvider.searchNodes(query, options);
515
517
  }
516
518
  // Fallback to file-based implementation
517
519
  const graph = await this.loadGraph();
518
520
  const lowercaseQuery = query.toLowerCase();
519
- // Filter entities based on name match
520
- const filteredEntities = graph.entities.filter((e) => e.name.toLowerCase().includes(lowercaseQuery));
521
+ // Filter entities based on name match and optional domain
522
+ const filteredEntities = graph.entities.filter((e) => {
523
+ const nameMatch = e.name.toLowerCase().includes(lowercaseQuery);
524
+ const domainMatch = !options.domain || e.domain === options.domain;
525
+ return nameMatch && domainMatch;
526
+ });
521
527
  // Get relations where either the source or target entity matches the query
522
528
  const filteredRelations = graph.relations.filter((r) => r.from.toLowerCase().includes(lowercaseQuery) || r.to.toLowerCase().includes(lowercaseQuery));
523
529
  return {
@@ -696,16 +702,16 @@ export class KnowledgeGraphManager {
696
702
  }
697
703
  }
698
704
  // Fall back to text search if no embedding service
699
- return this.storageProvider.searchNodes(query);
705
+ return this.storageProvider.searchNodes(query, { domain: options.domain });
700
706
  }
701
707
  catch (error) {
702
708
  logger.error('Provider semanticSearch failed, falling back to basic search', error);
703
- return this.storageProvider.searchNodes(query);
709
+ return this.storageProvider.searchNodes(query, { domain: options.domain });
704
710
  }
705
711
  }
706
712
  else if (this.storageProvider) {
707
713
  // Fall back to searchNodes if semanticSearch is not available in the provider
708
- return this.storageProvider.searchNodes(query);
714
+ return this.storageProvider.searchNodes(query, { domain: options.domain });
709
715
  }
710
716
  // If no storage provider or its semanticSearch is not available, try internal semantic search
711
717
  if (this.embeddingJobManager) {
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeGraphManager.js","sourceRoot":"","sources":["../src/KnowledgeGraphManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAOnC,OAAO,EACL,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoB3C,uBAAuB;AACvB,SAAS,gBAAgB,CAAC,QAAyB;IACjD,OAAO,CACL,eAAe,IAAI,QAAQ;QAC3B,OAAQ,QAA6C,CAAC,aAAa,KAAK,UAAU,CACnF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAyB;IAEzB,OAAO,CACL,gBAAgB,IAAI,QAAQ;QAC5B,OAAQ,QAA8C,CAAC,cAAc,KAAK,UAAU,CACrF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,QAAyB;IAClD,OAAO,CACL,gBAAgB,IAAI,QAAQ;QAC5B,OAAQ,QAAyD,CAAC,cAAc,KAAK,UAAU,CAChG,CAAC;AACJ,CAAC;AAUD,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA+C/C,+FAA+F;AAC/F,MAAM,OAAO,qBAAqB;IAQhC,YAAY,OAAsC;QAP1C,mBAAc,GAAW,EAAE,CAAC;QAIpC,mCAAmC;QACzB,aAAQ,GAAG,EAAE,CAAC;QAGtB,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;QAExD,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CACT,8IAA8I,CAC/I,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACrD,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACnE,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,qBAAqB,CAAC,OAAkC;QACpE,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,cAAc,GAAG;gBACrB,GAAG,OAAO;gBACV,qBAAqB,EAAE,IAAI;aAC5B,CAAC;YAEF,yCAAyC;YACzC,IAAI,CAAC,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,uFAAuF;YACvF,uBAAuB;YACvB,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzE,MAAM,IAAI,CAAC,qBAAqB,CAC7B,IAAI,CAAC,eAAgF;qBACnF,kBAAkB,CACtB,CAAC;gBAEF,+DAA+D;gBAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,qBAAqB,CACjC,UAAkB,EAClB,SAA0B;QAE1B,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;YAC7F,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEnD,6BAA6B;YAC7B,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;YAEF,MAAM,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpE,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,kBAAkB,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC1C,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,oDAAoD;YACpD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACzC,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;gBAC5C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAChF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACzC,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAE5C,0CAA0C;gBAC1C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;oBAC1C,OAAO;wBACL,QAAQ,EAAE,CAAC,MAAgB,CAAC;wBAC5B,SAAS,EAAE,EAAE;qBACd,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC1C,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC;oBAC5C,OAAO;wBACL,QAAQ,EAAE,EAAE;wBACZ,SAAS,EAAE,CAAC,QAAoB,CAAC;qBAClC,CAAC;gBACJ,CAAC;gBAED,sEAAsE;gBACtE,mEAAmE;gBACnE,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;oBAChD,OAAO;wBACL,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,EAAE;wBACnC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,EAAE;qBACtC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,4CAA4C;YAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAe,EAAE,CAAC;YAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC3B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,2BAA2B;wBAChE,QAAQ,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACpC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,2BAA2B;wBAClE,SAAS,CAAC,IAAI,CAAC,QAAoB,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAK,KAA2B,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC3C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YAED,+DAA+D;YAC/D,iDAAiD;YACjD,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,eAAe;YACf,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpC,wDAAwD;gBACxD,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,GAAG,MAAM,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,gBAAgB;YAChB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvC,0DAA0D;gBAC1D,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,GAAG,QAAQ,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;YAED,gBAAgB;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAkB;QACrC,uFAAuF;QACvF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,0DAA0D;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,mCAAmC;QACnC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,uBAAuB;QACvB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,iCAAiC;YACjC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,iDAAiD;gBACjD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;gBACrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;oBAClC,GAAG,cAAc,CAAC,YAAY;oBAC9B,GAAG,MAAM,CAAC,YAAY;iBACvB,CAAC,CAAC;gBAEH,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAE9D,yCAAyC;gBACzC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC7C,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC;QAE/B,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,8CAA8C;QAC9C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,eAAe,GAAa,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,6CAA6C;YAC7C,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAEzE,wDAAwD;YACxD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC1E,IAAI,WAAW,EAAE,CAAC;4BAChB,6BAA6B;4BAC7B,MAAM,QAAQ,GAAG;gCACf,IAAI,EAAE,MAAM,CAAC,IAAI;gCACjB,UAAU,EAAE,MAAM,CAAC,UAAU;6BAC9B,CAAC;4BAEF,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;4BAC5E,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;wBACzE,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,kBAAkB,EAAE,KAAK,CAAC,CAAC;wBACtF,yCAAyC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,wDAAwD;YACxD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC1E,IAAI,WAAW,EAAE,CAAC;4BAChB,6BAA6B;4BAC7B,MAAM,QAAQ,GAAG;gCACf,IAAI,EAAE,MAAM,CAAC,IAAI;gCACjB,UAAU,EAAE,MAAM,CAAC,UAAU;6BAC9B,CAAC;4BAEF,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;4BAC5E,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;wBACzE,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,kBAAkB,EAAE,KAAK,CAAC,CAAC;wBACtF,yCAAyC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,eAAe,GAAG,WAAW,CAAC;QAChC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACzC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,mEAAmE;gBACnE,gDAAgD;gBAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC/E,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAErC,2CAA2C;YAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/D,6CAA6C;YAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,oDAAoD;YACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,kEAAkE;gBAClE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,wCAAwC;YACxC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAqB;QACxC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,6CAA6C;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAErC,sBAAsB;YACtB,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnF,kDAAkD;YAClD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;YAEF,mBAAmB;YACnB,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC;YAChC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;YAElC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAE1E,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAC3C,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,oBAAoB,CAAC,CAAC;oBAC5E,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;wBACxE,kDAAkD;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YAClE,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,SAA2D;QAE3D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,iDAAiD;YACjD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEzD,qEAAqE;YACrE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAErC,wBAAwB;YACxB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1E,IAAI,MAAM,EAAE,CAAC;oBACX,0BAA0B;oBAC1B,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE5B,qEAAqE;YACrE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACzC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAErC,qDAAqD;YACrD,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7C,0DAA0D;gBAC1D,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CACzF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE3C,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9C,CAAC;QAEF,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC/F,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,iBAAiB;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAe;QAC7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAErC,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9E,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,iBAAiB;SAC7B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,YAQE;QAEF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,sDAAsD;QACtD,+EAA+E;QAC/E,MAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,+CAA+C;YAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAEnF,qEAAqE;YACrE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAErC,wCAAwC;YACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/D,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,UAAU,kBAAkB,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAA0D,EAAE,CAAC;YAE1E,oCAAoC;YACpC,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,MAAM,EAAE,CAAC;oBACX,0DAA0D;oBAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACpD,MAAM,iBAAiB,GAAa,EAAE,CAAC;oBAEvC,uBAAuB;oBACvB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BACjC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAClC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC5B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,iBAAiB;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE5B,qEAAqE;YACrE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,UAAkD,EAAE;QAEpD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAElE,6CAA6C;QAC7C,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAE1E,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;gBAE/C,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE;oBAClD,KAAK;oBACL,aAAa;iBACd,CAAC,CAAC;gBAEH,iCAAiC;gBACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE;oBAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;iBACzB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,gCAAgC;QAClC,CAAC;QAED,oEAAoE;QACpE,IAAI,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CACvC,SAAS,EACT,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,SAAS,IAAI,GAAG,CACzB,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,UASI,EAAE;QAEN,qEAAqE;QACrE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;QAED,wCAAwC;QACxC,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACnD,iEAAiE;YACjE,IAAI,IAAI,CAAC,eAAe,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACH,wDAAwD;oBACxD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;wBACtE,IAAI,gBAAgB,EAAE,CAAC;4BACrB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;4BACpE,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE;gCAChD,GAAG,OAAO;gCACV,WAAW;6BACZ,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAED,mDAAmD;oBACnD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;oBACpF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAChC,8EAA8E;gBAC9E,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAED,8FAA8F;YAC9F,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,6BAA6B;oBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;wBAC/C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;wBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;wBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG;wBAC5D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;wBACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;wBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;qBAC5B,CAAC,CAAC;oBAEH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0CAA0C;oBAC1C,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;oBAE5E,2DAA2D;oBAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzB,OAAQ,IAAI,CAAC,eAAmC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,UAOI,EAAE;QAEN,gDAAgD;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAC5D,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,wCAAwC;QACxC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACnD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACnF,OAAO;gBACL,GAAG,MAAM;gBACT,KAAK,EAAE,UAAU;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAE,CAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAE,CAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,eAAe,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,EAAU,EAAE,YAAoB;QAC9D,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CACzE,CAAC;QAEF,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,QAAkB;QACrC,IAAI,IAAI,CAAC,eAAe,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACpE,sDAAsD;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAA+D,CAAC;YACtF,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAErC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAC/F,CAAC;QAEF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,EAAE,cAAc,QAAQ,CAAC,YAAY,aAAa,CACpG,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QAElC,yBAAyB;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAAwB;QAC7D,IACE,IAAI,CAAC,eAAe;YACpB,cAAc,IAAI,IAAI,CAAC,eAAe;YACtC,OACE,IAAI,CAAC,eAGN,CAAC,YAAY,KAAK,UAAU,EAC7B,CAAC;YACD,MAAM,MAAM,GAAG,MACb,IAAI,CAAC,eAGN,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEpC,6DAA6D;YAC7D,IAAI,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAErC,4BAA4B;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAErE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,oBAAoB;QACpB,MAAM,aAAa,GAAG;YACpB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,GAAG,OAAO;SACX,CAAC;QAEF,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;QAEtC,yBAAyB;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE5B,6DAA6D;QAC7D,IAAI,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,EAAU,EAAE,YAAoB;QACrE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAkB,EAClB,MAA0D;QAE1D,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,yDAAyD;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;QAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,2CAA2C,CAAC,CAAC;QACjF,CAAC;QAED,0DAA0D;QAC1D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,mCAAmC,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,iDAAiD;QACjD,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,2BAA2B,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,iCAAiC,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,mDAAmD,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,mBAAmB,GAAI,IAAI,CAAC,eAAuB,CAAC,mBAAmB,CAAC;QAC9E,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEtF,4DAA4D;QAC5D,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAqB,EACrB,MAA0D;QAE1D,qBAAqB;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;QAC5D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,4CAA4C,CAAC,CAAC;QAClF,CAAC;QAED,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC7D,OAAO,CAAC,2CAA2C;YACrD,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YACzE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,2BAA2B;QAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,2BAA2B,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,yBAAyB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,mCAAmC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,oBAAoB,GAAI,IAAI,CAAC,eAAuB,CAAC,oBAAoB,CAAC;QAChF,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAA8D,EAC9D,MAA0D;QAE1D,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,sDAAsD,CAAC,CAAC;QAC5F,CAAC;QAED,2BAA2B;QAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,iCAAiC,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,mDAAmD,CACrF,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,+BAA+B,CAAC,CAAC;YACpF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,oBAAoB,GAAI,IAAI,CAAC,eAAuB,CAAC,oBAAoB,CAAC;QAChF,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtF,2DAA2D;QAC3D,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAA6D,EAC7D,MAA0D;QAE1D,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,iDAAiD,CAAC,CAAC;QACvF,CAAC;QAED,2BAA2B;QAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,2BAA2B,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,4CAA4C,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,uCAAuC;QACvC,MAAM,mBAAmB,GAAI,IAAI,CAAC,eAAuB,CAAC,mBAAmB,CAAC;QAC9E,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAErF,mFAAmF;QACnF,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"KnowledgeGraphManager.js","sourceRoot":"","sources":["../src/KnowledgeGraphManager.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ knowledgeGraphManager) {
63
63
  content: [
64
64
  {
65
65
  type: 'text',
66
- text: JSON.stringify(await knowledgeGraphManager.searchNodes(args.query), null, 2),
66
+ text: JSON.stringify(await knowledgeGraphManager.searchNodes(args.query, { domain: args.domain }), null, 2),
67
67
  },
68
68
  ],
69
69
  };
@@ -291,6 +291,7 @@ knowledgeGraphManager) {
291
291
  semanticSearch: true,
292
292
  hybridConfig,
293
293
  enableHybridRetrieval: args.enable_hybrid_retrieval !== false,
294
+ domain: args.domain,
294
295
  };
295
296
  // Call the search method with semantic search options
296
297
  const results = await knowledgeGraphManager.search(String(args.query), searchOptions);