@apex-inc/mcp-server 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tools.d.ts CHANGED
@@ -520,5 +520,234 @@ export declare const toolDefinitions: {
520
520
  }[];
521
521
  }>;
522
522
  };
523
+ list_orgs: {
524
+ description: string;
525
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
526
+ handler: () => Promise<{
527
+ content: {
528
+ type: "text";
529
+ text: string;
530
+ }[];
531
+ }>;
532
+ };
533
+ switch_org: {
534
+ description: string;
535
+ schema: z.ZodObject<{
536
+ orgId: z.ZodString;
537
+ }, "strip", z.ZodTypeAny, {
538
+ orgId: string;
539
+ }, {
540
+ orgId: string;
541
+ }>;
542
+ handler: (args: {
543
+ orgId: string;
544
+ }) => Promise<{
545
+ content: {
546
+ type: "text";
547
+ text: string;
548
+ }[];
549
+ isError: boolean;
550
+ } | {
551
+ content: {
552
+ type: "text";
553
+ text: string;
554
+ }[];
555
+ isError?: undefined;
556
+ }>;
557
+ };
558
+ recommend_communications: {
559
+ description: string;
560
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
561
+ handler: () => Promise<{
562
+ content: {
563
+ type: "text";
564
+ text: string;
565
+ }[];
566
+ }>;
567
+ };
568
+ generate_communications: {
569
+ description: string;
570
+ schema: z.ZodObject<{
571
+ catalogEntryIds: z.ZodArray<z.ZodString, "many">;
572
+ }, "strip", z.ZodTypeAny, {
573
+ catalogEntryIds: string[];
574
+ }, {
575
+ catalogEntryIds: string[];
576
+ }>;
577
+ handler: (args: {
578
+ catalogEntryIds: string[];
579
+ }) => Promise<{
580
+ content: {
581
+ type: "text";
582
+ text: string;
583
+ }[];
584
+ }>;
585
+ };
586
+ list_communications: {
587
+ description: string;
588
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
589
+ handler: () => Promise<{
590
+ content: {
591
+ type: "text";
592
+ text: string;
593
+ }[];
594
+ }>;
595
+ };
596
+ edit_communication: {
597
+ description: string;
598
+ schema: z.ZodObject<{
599
+ communicationId: z.ZodString;
600
+ subject: z.ZodOptional<z.ZodString>;
601
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
602
+ channels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
603
+ status: z.ZodOptional<z.ZodEnum<["draft", "active", "paused"]>>;
604
+ }, "strip", z.ZodTypeAny, {
605
+ communicationId: string;
606
+ status?: "draft" | "paused" | "active" | undefined;
607
+ subject?: string | undefined;
608
+ slots?: Record<string, string> | undefined;
609
+ channels?: string[] | undefined;
610
+ }, {
611
+ communicationId: string;
612
+ status?: "draft" | "paused" | "active" | undefined;
613
+ subject?: string | undefined;
614
+ slots?: Record<string, string> | undefined;
615
+ channels?: string[] | undefined;
616
+ }>;
617
+ handler: (args: {
618
+ communicationId: string;
619
+ subject?: string;
620
+ slots?: Record<string, string>;
621
+ channels?: string[];
622
+ status?: string;
623
+ }) => Promise<{
624
+ content: {
625
+ type: "text";
626
+ text: string;
627
+ }[];
628
+ }>;
629
+ };
630
+ preview_communication: {
631
+ description: string;
632
+ schema: z.ZodObject<{
633
+ communicationId: z.ZodString;
634
+ }, "strip", z.ZodTypeAny, {
635
+ communicationId: string;
636
+ }, {
637
+ communicationId: string;
638
+ }>;
639
+ handler: (args: {
640
+ communicationId: string;
641
+ }) => Promise<{
642
+ content: {
643
+ type: "text";
644
+ text: string;
645
+ }[];
646
+ }>;
647
+ };
648
+ send_test_communication: {
649
+ description: string;
650
+ schema: z.ZodObject<{
651
+ communicationId: z.ZodString;
652
+ }, "strip", z.ZodTypeAny, {
653
+ communicationId: string;
654
+ }, {
655
+ communicationId: string;
656
+ }>;
657
+ handler: (args: {
658
+ communicationId: string;
659
+ }) => Promise<{
660
+ content: {
661
+ type: "text";
662
+ text: string;
663
+ }[];
664
+ }>;
665
+ };
666
+ trigger_communication: {
667
+ description: string;
668
+ schema: z.ZodObject<{
669
+ communicationId: z.ZodString;
670
+ recipientEmail: z.ZodString;
671
+ mergeData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
672
+ }, "strip", z.ZodTypeAny, {
673
+ communicationId: string;
674
+ recipientEmail: string;
675
+ mergeData?: Record<string, string> | undefined;
676
+ }, {
677
+ communicationId: string;
678
+ recipientEmail: string;
679
+ mergeData?: Record<string, string> | undefined;
680
+ }>;
681
+ handler: (args: {
682
+ communicationId: string;
683
+ recipientEmail: string;
684
+ mergeData?: Record<string, string>;
685
+ }) => Promise<{
686
+ content: {
687
+ type: "text";
688
+ text: string;
689
+ }[];
690
+ }>;
691
+ };
692
+ create_comm_experiment: {
693
+ description: string;
694
+ schema: z.ZodObject<{
695
+ communicationId: z.ZodString;
696
+ splitLevel: z.ZodEnum<["subject", "body", "cta", "full"]>;
697
+ funnelGoal: z.ZodString;
698
+ variants: z.ZodArray<z.ZodObject<{
699
+ name: z.ZodString;
700
+ bodyOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
701
+ subjectOverride: z.ZodOptional<z.ZodString>;
702
+ }, "strip", z.ZodTypeAny, {
703
+ name: string;
704
+ bodyOverrides?: Record<string, string> | undefined;
705
+ subjectOverride?: string | undefined;
706
+ }, {
707
+ name: string;
708
+ bodyOverrides?: Record<string, string> | undefined;
709
+ subjectOverride?: string | undefined;
710
+ }>, "many">;
711
+ }, "strip", z.ZodTypeAny, {
712
+ communicationId: string;
713
+ splitLevel: "subject" | "body" | "cta" | "full";
714
+ funnelGoal: string;
715
+ variants: {
716
+ name: string;
717
+ bodyOverrides?: Record<string, string> | undefined;
718
+ subjectOverride?: string | undefined;
719
+ }[];
720
+ }, {
721
+ communicationId: string;
722
+ splitLevel: "subject" | "body" | "cta" | "full";
723
+ funnelGoal: string;
724
+ variants: {
725
+ name: string;
726
+ bodyOverrides?: Record<string, string> | undefined;
727
+ subjectOverride?: string | undefined;
728
+ }[];
729
+ }>;
730
+ handler: (args: {
731
+ communicationId: string;
732
+ splitLevel: string;
733
+ funnelGoal: string;
734
+ variants: unknown[];
735
+ }) => Promise<{
736
+ content: {
737
+ type: "text";
738
+ text: string;
739
+ }[];
740
+ }>;
741
+ };
742
+ get_event_taxonomy: {
743
+ description: string;
744
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
745
+ handler: () => Promise<{
746
+ content: {
747
+ type: "text";
748
+ text: string;
749
+ }[];
750
+ }>;
751
+ };
523
752
  };
524
753
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { apiGet, apiPost, apiPatch, setActiveProject, getActiveProject } from "./api-client.js";
2
+ import { apiGet, apiPost, apiPatch, setActiveProject, getActiveProject, setActiveOrg, getActiveOrg, getUserContext } from "./api-client.js";
3
3
  const APEX = "∧ Apex";
4
4
  export const toolDefinitions = {
5
5
  plan_experiment: {
@@ -1010,5 +1010,201 @@ export const toolDefinitions = {
1010
1010
  };
1011
1011
  },
1012
1012
  },
1013
+ list_orgs: {
1014
+ description: "List all organizations you have access to, with their projects. Use this to see which orgs and projects are available.",
1015
+ schema: z.object({}),
1016
+ handler: async () => {
1017
+ const ctx = getUserContext();
1018
+ if (!ctx || !ctx.orgs.length) {
1019
+ return {
1020
+ content: [{
1021
+ type: "text",
1022
+ text: "No organization data available. This requires a user key (apex_uk_). Check your APEX_API_KEY configuration.",
1023
+ }],
1024
+ };
1025
+ }
1026
+ const activeOrg = getActiveOrg();
1027
+ const lines = ctx.orgs.map((org) => {
1028
+ const active = org.orgId === activeOrg ? " ← active" : "";
1029
+ const projects = org.projects.map((p) => ` ${p.projectKey} — ${p.name}`).join("\n");
1030
+ return ` ${org.orgName} (${org.orgId}, ${org.role})${active}\n${projects || " (no projects)"}`;
1031
+ });
1032
+ return {
1033
+ content: [{
1034
+ type: "text",
1035
+ text: [`Organizations (${ctx.orgs.length}):`, ...lines].join("\n"),
1036
+ }],
1037
+ };
1038
+ },
1039
+ },
1040
+ switch_org: {
1041
+ description: "Switch the active organization. This also switches to the first project in that org.",
1042
+ schema: z.object({
1043
+ orgId: z.string().describe("The organization ID to switch to (from list_orgs)"),
1044
+ }),
1045
+ handler: async (args) => {
1046
+ const ctx = getUserContext();
1047
+ if (!ctx) {
1048
+ return {
1049
+ content: [{
1050
+ type: "text",
1051
+ text: "No organization data available. This requires a user key (apex_uk_).",
1052
+ }],
1053
+ isError: true,
1054
+ };
1055
+ }
1056
+ const org = ctx.orgs.find((o) => o.orgId === args.orgId);
1057
+ if (!org) {
1058
+ const available = ctx.orgs.map((o) => ` ${o.orgId} — ${o.orgName}`).join("\n");
1059
+ return {
1060
+ content: [{
1061
+ type: "text",
1062
+ text: `Organization "${args.orgId}" not found. Available orgs:\n${available}`,
1063
+ }],
1064
+ isError: true,
1065
+ };
1066
+ }
1067
+ setActiveOrg(args.orgId);
1068
+ const project = getActiveProject();
1069
+ const projectInfo = project ? `, active project: ${project}` : "";
1070
+ return {
1071
+ content: [{
1072
+ type: "text",
1073
+ text: `Switched to org: ${org.orgName} (${org.projects.length} project${org.projects.length !== 1 ? "s" : ""})${projectInfo}.`,
1074
+ }],
1075
+ };
1076
+ },
1077
+ },
1078
+ // ─── Communications ─────────────────────────────────────────────────────────
1079
+ recommend_communications: {
1080
+ description: "Get recommended lifecycle communications for your vertical and conversion model. Returns a prioritized list of emails and push notifications to set up.",
1081
+ schema: z.object({}),
1082
+ handler: async () => {
1083
+ const data = await apiPost("/api/communications/recommend", {});
1084
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
1085
+ },
1086
+ },
1087
+ generate_communications: {
1088
+ description: "Create your communication program from recommendations. Pass catalog entry IDs to generate tenant communications with pre-written copy.",
1089
+ schema: z.object({
1090
+ catalogEntryIds: z.array(z.string()).describe("IDs from the recommendation output to generate"),
1091
+ }),
1092
+ handler: async (args) => {
1093
+ const data = await apiPost("/api/communications/generate", { catalogEntryIds: args.catalogEntryIds });
1094
+ const count = Array.isArray(data) ? data.length : 0;
1095
+ return { content: [{ type: "text", text: `Generated ${count} communication(s).\n\n${JSON.stringify(data, null, 2)}` }] };
1096
+ },
1097
+ },
1098
+ list_communications: {
1099
+ description: "Show all communications with status and event integration progress. Use to see what's set up and what needs attention.",
1100
+ schema: z.object({}),
1101
+ handler: async () => {
1102
+ const data = await apiGet("/api/communications");
1103
+ const comms = Array.isArray(data) ? data : [];
1104
+ if (comms.length === 0) {
1105
+ return { content: [{ type: "text", text: "No communications set up yet. Use recommend_communications to get started." }] };
1106
+ }
1107
+ const summary = comms.map((c) => {
1108
+ const comm = c;
1109
+ const channels = Array.isArray(comm.channels) ? comm.channels.join(", ") : "email";
1110
+ return `• ${comm.title} (${comm.status}) — ${channels} — trigger: ${comm.triggerEventId}`;
1111
+ }).join("\n");
1112
+ return { content: [{ type: "text", text: `${comms.length} communication(s):\n\n${summary}\n\nFull data:\n${JSON.stringify(data, null, 2)}` }] };
1113
+ },
1114
+ },
1115
+ edit_communication: {
1116
+ description: "Update a communication's subject, body, CTA, channels, or status. Pass the communication ID and the fields to update.",
1117
+ schema: z.object({
1118
+ communicationId: z.string().describe("The communication ID to update"),
1119
+ subject: z.string().optional().describe("New email subject line"),
1120
+ slots: z.record(z.string()).optional().describe("Content slot overrides (e.g. headline, body, ctaLabel, ctaUrl)"),
1121
+ channels: z.array(z.string()).optional().describe("Channels: email, in_app_push, mobile_push"),
1122
+ status: z.enum(["draft", "active", "paused"]).optional().describe("Communication status"),
1123
+ }),
1124
+ handler: async (args) => {
1125
+ const body = {};
1126
+ if (args.status)
1127
+ body.status = args.status;
1128
+ if (args.channels)
1129
+ body.channels = args.channels;
1130
+ const content = {};
1131
+ if (args.subject)
1132
+ content.subject = args.subject;
1133
+ if (args.slots)
1134
+ content.slots = args.slots;
1135
+ if (Object.keys(content).length)
1136
+ body.content = content;
1137
+ const data = await apiPatch(`/api/communications/${args.communicationId}`, body);
1138
+ return { content: [{ type: "text", text: `Communication updated.\n\n${JSON.stringify(data, null, 2)}` }] };
1139
+ },
1140
+ },
1141
+ preview_communication: {
1142
+ description: "See the rendered email with your brand applied. Returns HTML that can be displayed or sent as a test.",
1143
+ schema: z.object({
1144
+ communicationId: z.string().describe("The communication ID to preview"),
1145
+ }),
1146
+ handler: async (args) => {
1147
+ const data = await apiPost(`/api/communications/${args.communicationId}/preview`, {});
1148
+ return { content: [{ type: "text", text: `Subject: ${data.subject}\n\nHTML preview generated (${data.html?.length || 0} chars). The email is ready to send.` }] };
1149
+ },
1150
+ },
1151
+ send_test_communication: {
1152
+ description: "Send a test email to yourself. The email will be sent to the logged-in user's email address.",
1153
+ schema: z.object({
1154
+ communicationId: z.string().describe("The communication ID to test"),
1155
+ }),
1156
+ handler: async (args) => {
1157
+ await apiPost(`/api/communications/${args.communicationId}/test`, {});
1158
+ return { content: [{ type: "text", text: "Test email sent! Check your inbox." }] };
1159
+ },
1160
+ },
1161
+ trigger_communication: {
1162
+ description: "Manually send a communication to a specific recipient. Use for one-off sends or testing with specific email addresses.",
1163
+ schema: z.object({
1164
+ communicationId: z.string().describe("The communication ID to send"),
1165
+ recipientEmail: z.string().email().describe("Email address of the recipient"),
1166
+ mergeData: z.record(z.string()).optional().describe("Template variables to merge (e.g. user_name, company)"),
1167
+ }),
1168
+ handler: async (args) => {
1169
+ await apiPost(`/api/communications/${args.communicationId}/send`, {
1170
+ recipientEmail: args.recipientEmail,
1171
+ mergeData: args.mergeData,
1172
+ });
1173
+ return { content: [{ type: "text", text: `Communication sent to ${args.recipientEmail}.` }] };
1174
+ },
1175
+ },
1176
+ create_comm_experiment: {
1177
+ description: "A/B test a communication's subject, body, or CTA. Creates an experiment with variants that split traffic using Thompson Sampling.",
1178
+ schema: z.object({
1179
+ communicationId: z.string().describe("The communication to experiment on"),
1180
+ splitLevel: z.enum(["subject", "body", "cta", "full"]).describe("What to vary between variants"),
1181
+ funnelGoal: z.string().describe("The conversion event to optimize for (e.g. 'purchase', 'signup_complete')"),
1182
+ variants: z.array(z.object({
1183
+ name: z.string(),
1184
+ bodyOverrides: z.record(z.string()).optional(),
1185
+ subjectOverride: z.string().optional(),
1186
+ })).describe("Variant definitions with content overrides"),
1187
+ }),
1188
+ handler: async (args) => {
1189
+ const data = await apiPost("/api/communications/experiments", args);
1190
+ return { content: [{ type: "text", text: `Experiment created.\n\n${JSON.stringify(data, null, 2)}` }] };
1191
+ },
1192
+ },
1193
+ get_event_taxonomy: {
1194
+ description: "Get the standard events your app should track for this vertical. Shows event names, descriptions, and apex.track() examples.",
1195
+ schema: z.object({}),
1196
+ handler: async () => {
1197
+ const data = await apiGet("/api/communications/events");
1198
+ const events = Array.isArray(data) ? data : [];
1199
+ if (events.length === 0) {
1200
+ return { content: [{ type: "text", text: "No event taxonomy configured. Set up your project's vertical first." }] };
1201
+ }
1202
+ const summary = events.map((e) => {
1203
+ const evt = e;
1204
+ return `• ${evt.id}: ${evt.name} — ${evt.description || ""}`;
1205
+ }).join("\n");
1206
+ return { content: [{ type: "text", text: `${events.length} events in taxonomy:\n\n${summary}\n\nFull data:\n${JSON.stringify(data, null, 2)}` }] };
1207
+ },
1208
+ },
1013
1209
  };
1014
1210
  //# sourceMappingURL=tools.js.map
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAkG5I,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE;QACf,WAAW,EACT,GAAG,IAAI,uTAAuT;QAChU,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;YACtH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SAC/E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAwC,EAAE,EAAE;YAC3E,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,MAAM,CAAW,cAAc,CAAC;gBAChC,MAAM,CAAe,kBAAkB,CAAC;aACzC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI;iBAClB,WAAW,EAAE;iBACb,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/B,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,IAAI;gBACJ,SAAS,EAAE,SAAS,IAAI,IAAI;gBAC5B,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;oBAC1C,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;iBACrD,CAAC,CAAC;gBACH,kBAAkB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7D,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;gBACH,gBAAgB,EAAE;oBAChB,+DAA+D;oBAC/D,gEAAgE;oBAChE,qDAAqD;iBACtD;gBACD,gBAAgB,EAAE;oBAChB,wBAAwB;oBACxB,aAAa;oBACb,oBAAoB;oBACpB,cAAc;iBACf;gBACD,yBAAyB,EAAE;oBACzB,EAAE,KAAK,EAAE,iDAAiD,EAAE,KAAK,EAAE,EAAE,EAAE;oBACvE,EAAE,KAAK,EAAE,qDAAqD,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC3E,EAAE,KAAK,EAAE,4DAA4D,EAAE,KAAK,EAAE,EAAE,EAAE;oBAClF,EAAE,KAAK,EAAE,0DAA0D,EAAE,KAAK,EAAE,EAAE,EAAE;iBACjF;gBACD,2BAA2B,EAAE;oBAC3B,EAAE,KAAK,EAAE,kFAAkF,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACvI,EAAE,KAAK,EAAE,6DAA6D,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACnH,EAAE,KAAK,EAAE,8DAA8D,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACrH;gBACD,aAAa,EAAE,+LAA+L;aAC/M,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,eAAe,EAAE;QACf,WAAW,EACT,GAAG,IAAI,sJAAsJ;QAC/J,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACnE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAC7E,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,kFAAkF,CAAC;SAChG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAA4D,EAAE,EAAE;YAC5G,MAAM,CAAC,GAAG,MAAM,OAAO,CAAS,cAAc,EAAE;gBAC9C,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,UAAU,GAAG,GAAG;aAC7B,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,iBAAiB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sEAAsE,CAAC;YAC9H,MAAM,CAAC,GAAG,MAAM,OAAO,CAAa,iBAAiB,EAAE;gBACrD,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACd,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,sBAAsB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC9D,UAAU,EAAE,UAAU,GAAG,GAAG;gBAC5B,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,GAAG,IAAI,kBAAkB;4BACzB,EAAE;4BACF,SAAS,CAAC,CAAC,EAAE,EAAE;4BACf,iBAAiB,CAAC,CAAC,SAAS,GAAG;4BAC/B,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG;4BAClD,iBAAiB,CAAC,CAAC,EAAE,EAAE;4BACvB,EAAE;4BACF,uDAAuD;4BACvD,wDAAwD;4BACxD,qDAAqD;4BACrD,sDAAsD;yBACvD,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,aAAa,EAAE;QACb,WAAW,EAAE,GAAG,IAAI,wHAAwH;QAC5I,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC5E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;SACzG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAsE,EAAE,EAAE;YAC/H,MAAM,CAAC,GAAG,MAAM,OAAO,CAAS,cAAc,EAAE;gBAC9C,SAAS;gBACT,UAAU,EAAE,UAAU,GAAG,GAAG;gBAC5B,cAAc;aACf,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,cAAc;qBAChH;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,iBAAiB,EAAE;QACjB,WAAW,EACT,GAAG,IAAI,2PAA2P;QACpQ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;YACjG,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACjF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACtE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACzG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACtG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAC5G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC3E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACzE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oFAAoF,CAAC;YAC1I,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;SACxG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAaf,EAAE,EAAE;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;YAEzC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG;oBACb,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACvC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;oBAC7C,IAAI;oBACJ,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE;oBACtD,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;oBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACvC,aAAa,EAAE,qIAAqI;iBACrJ,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACzF,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAa,kBAAkB,EAAE;gBACxD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,IAAI;gBACJ,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC1E,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,WAAW,EAAE,kBAAkB;wBAC/B,OAAO,EAAE;4BACP;gCACE,QAAQ,EAAE,GAAG;gCACb,IAAI,EAAE,MAAM;gCACZ,KAAK,EAAE,IAAI,CAAC,cAAc;gCAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;6BACnC;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;gBAClD,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,YAAY;oBAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBACnD,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;gBACJ,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,gBAAgB;oBACxB,YAAY,EAAE,GAAG,CAAC,EAAE;oBACpB,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;oBAC7C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACvC,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;iBAC7B,CAAC,CAAC,CAAC,IAAI;gBACR,UAAU;gBACV,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE;gBACtD,aAAa,EAAE,IAAI,KAAK,KAAK;oBAC3B,CAAC,CAAC;wBACE,mCAAmC;wBACnC,0BAA0B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpF,yDAAyD;wBACzD,6DAA6D,GAAG,CAAC,EAAE,IAAI;wBACvE,8CAA8C;wBAC9C,sEAAsE;wBACtE,yDAAyD,UAAU,EAAE;wBACrE,4CAA4C;wBAC5C,gEAAgE;wBAChE,uDAAuD;qBACxD,CAAC,IAAI,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC;wBACE,wCAAwC;wBACxC,iEAAiE;wBACjE,YAAY,UAAU,EAAE;wBACxB,sCAAsC;qBACvC,CAAC,IAAI,CAAC,IAAI,CAAC;aACjB,CAAC;YAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;KACF;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,GAAG,IAAI,+IAA+I;QACnK,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACnE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAa,kBAAkB,EAAE;gBACzD,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,GAAG,IAAI,sBAAsB;4BAC7B,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;4BACnB,EAAE;4BACF,MAAM,GAAG,CAAC,IAAI,eAAe;4BAC7B,SAAS,GAAG,CAAC,EAAE,EAAE;4BACjB,4BAA4B,GAAG,CAAC,YAAY,OAAO,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG;4BAC5E,EAAE;4BACF,wDAAwD;4BACxD,6DAA6D;4BAC7D,EAAE;4BACF,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;yBACpB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,GAAG,IAAI,yHAAyH;QAC7I,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAChE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAa,kBAAkB,EAAE;gBACzD,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,GAAG,IAAI,oBAAoB;4BAC3B,EAAE;4BACF,MAAM,GAAG,CAAC,IAAI,kBAAkB;4BAChC,8CAA8C;4BAC9C,uCAAuC;4BACvC,EAAE;4BACF,uCAAuC;yBACxC,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,GAAG,IAAI,kKAAkK;QACtL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACnF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SACzE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAgE,EAAE,EAAE;YACnH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAa,kBAAkB,EAAE;gBACzD,EAAE,EAAE,YAAY;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,gBAAgB,EAAE,UAAU;aAC7B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,SAAS;gBACT,MAAM,EAAE,MAAM,IAAI,MAAM;gBACxB,gBAAgB,EAAE,UAAU;gBAC5B,aAAa,EAAE;oBACb,4CAA4C;oBAC5C,6DAA6D;oBAC7D,mEAAmE;oBACnE,qEAAqE;iBACtE,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,GAAG,IAAI,sJAAsJ;QAC1K,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAChE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAa,oBAAoB,YAAY,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACxH,CAAC;YAED,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAC;gBACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,oBAAoB,YAAY,SAAS,EAAE;oBAC5E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;iBAClC,CAAC,CAAC;gBACH,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAE7B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC;YAE9E,IAAI,WAAW,IAAI,GAAG,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBACvD,MAAM,QAAQ,CAAa,kBAAkB,EAAE;oBAC7C,EAAE,EAAE,YAAY;oBAChB,gBAAgB,EAAE,UAAU;oBAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,kBAAkB;gBACzB,YAAY;gBACZ,gBAAgB,EAAE,MAAM;gBACxB,SAAS,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;gBACvC,WAAW;gBACX,aAAa,EAAE,WAAW;oBACxB,CAAC,CAAC,iFAAiF;oBACnF,CAAC,CAAC,+HAA+H;aACpI,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzF,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EAAE,GAAG,IAAI,oPAAoP;QACxQ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAClE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAa,kBAAkB,EAAE;gBACzD,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,GAAG,IAAI,sBAAsB;4BAC7B,EAAE;4BACF,MAAM,GAAG,CAAC,IAAI,sBAAsB;4BACpC,oEAAoE;4BACpE,yDAAyD;4BACzD,EAAE;4BACF,yEAAyE;4BACzE,oFAAoF;yBACrF,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EAAE,GAAG,IAAI,sNAAsN;QAC1O,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iBACpE,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE;YACjD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAe,kBAAkB,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,KAAK;gBAC/B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,MAAM;oBACN,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;oBAChD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,IAAI,wBAAwB,EAAE,CAAC,EAAE,CAAC;YACzF,CAAC;YAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAC5D,CAAC;YAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;gBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;gBAClC,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC3E,MAAM,UAAU,GAAG,aAAa;oBAC9B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClG,MAAM,WAAW,GAAG,aAAa;oBAC/B,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,uBAAuB;oBACpC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEb,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;oBACxF,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7I,CAAC,CAAC,EAAE,CAAC;gBAEP,OAAO;oBACL,GAAG,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,GAAG;oBAC1C,SAAS,CAAC,CAAC,EAAE,EAAE;oBACf,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,WAAW;oBACxD,IAAI,IAAI,IAAI;wBACV,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,UAAU,IAAI,CAAC,QAAQ,yBAAyB,IAAI,CAAC,cAAc,UAAU,IAAI,CAAC,QAAQ,YAAY;wBACzI,CAAC,CAAC,kBAAkB;oBACtB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC3C,aAAa;iBACd;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,GAAG,IAAI,iBAAiB,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,MAAM,iBAAiB,CAAC,MAAM,qBAAqB,CAAC;YAChE,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACjH,CAAC;KACF;IAED,WAAW,EAAE;QACX,WAAW,EAAE,GAAG,IAAI,oDAAoD;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACvD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAa,oBAAoB,YAAY,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,IAAI,eAAe,YAAY,aAAa,EAAE,CAAC,EAAE,CAAC;YACzG,CAAC;YAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,GAAG,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE;4BAC9B,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;4BACnB,EAAE;4BACF,iBAAiB,GAAG,CAAC,MAAM,EAAE;4BAC7B,iBAAiB,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO;4BAC5C,iBAAiB,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG;4BACvC,iBAAiB,GAAG,CAAC,SAAS,EAAE;4BAChC,EAAE;4BACF,YAAY;4BACZ,IAAI;gCACF,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,cAAc,OAAO;gCAC3F,CAAC,CAAC,iBAAiB;4BACrB,cAAc;4BACd,IAAI;gCACF,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,cAAc,OAAO;gCAC3F,CAAC,CAAC,iBAAiB;4BACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;4BACxD,EAAE;4BACF,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;4BACnB,EAAE;4BACF,gCAAgC;4BAChC,oCAAoC;4BACpC,8CAA8C;4BAC9C,0CAA0C;4BAC1C,kDAAkD;yBACnD;6BACE,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EACT,GAAG,IAAI,wJAAwJ;QACjK,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qFAAqF,CAAC;SACnG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAwB,EAAE,EAAE;YACnD,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,MAAM,CAAW,cAAc,CAAC;gBAChC,MAAM,CAAe,kBAAkB,CAAC;aACzC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAC5E,CAAC;YACF,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAElE,MAAM,eAAe,GAAG,OAAO;gBAC7B,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5F,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;gBAChD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACxC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CACP,4BAA4B,eAAe,CAAC,MAAM,IAAI,EACtD,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5D,OAAO,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC9G,CAAC,CAAC,EACF,EAAE,CACH,CAAC;YACJ,CAAC;YAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CACP,sCAAsC,mBAAmB,CAAC,MAAM,IAAI,EACpE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;oBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;oBAClC,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;wBAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACtF,CAAC,CAAC,KAAK,CAAC;oBACV,OAAO,QAAQ,CAAC,CAAC,IAAI,OAAO,IAAI,WAAW,CAAC,CAAC,UAAU,cAAc,CAAC;gBACxE,CAAC,CAAC,EACF,EAAE,CACH,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CACP,6BAA6B,QAAQ,CAAC,MAAM,IAAI,EAChD,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,EACpG,EAAE,CACH,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CACP,gDAAgD,EAChD,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,EACrG,EAAE,CACH,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CACP,oCAAoC,SAAS,CAAC,MAAM,yBAAyB,EAC7E,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,kCAAkC,CAAC,EACrF,EAAE,CACH,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,CACP,sBAAsB,OAAO,CAAC,MAAM,iBAAiB,OAAO,CAAC,MAAM,aAAa,SAAS,CAAC,MAAM,YAAY,CAC7G,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,yFAAyF,CAAC,CAAC;YAC3G,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EAAE,GAAG,IAAI,2PAA2P;QAC/Q,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACtD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACvE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAA4C,EAAE,EAAE;YACpF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAa,oBAAoB,YAAY,EAAE,CAAC,CAAC;YAE9E,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxD,MAAM,QAAQ,CAAa,kBAAkB,EAAE;oBAC7C,EAAE,EAAE,YAAY;oBAChB,MAAM,EAAE,WAAW;oBACnB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAa,kBAAkB,EAAE;gBAC9D,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAqB,gBAAgB,QAAQ,CAAC,QAAQ,oBAAoB,EAAE;wBACtG,YAAY;wBACZ,OAAO,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;wBAC9D,WAAW,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;qBAClD,CAAC,CAAC;oBACH,YAAY,GAAG,eAAe,MAAM,CAAC,MAAM,CAAC,SAAS,gBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC;gBAChI,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,sDAAsD,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,aAAa,EAAE,OAAO,EAAE,MAAM;gBAClD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CACzC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,aAAa,IAAI,WAAW,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,QAAQ,GAAG,CACpF,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,4BAA4B,CAAC;YAEjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,KAAK,KAAK;gBACtC,CAAC,CAAC,4BAA4B,YAAY,2FAA2F;gBACrI,CAAC,CAAC,4BAA4B,YAAY,6IAA6I,CAAC;YAE1L,MAAM,MAAM,GAAG;gBACb,GAAG,IAAI,mBAAmB;gBAC1B,EAAE;gBACF,eAAe,QAAQ,CAAC,IAAI,EAAE;gBAC9B,WAAW,MAAM,EAAE;gBACnB,wEAAwE;gBACxE,EAAE;gBACF,kBAAkB;gBAClB,aAAa;gBACb,EAAE;gBACF,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvC,cAAc,QAAQ,EAAE;aACzB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC;KACF;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,GAAG,IAAI,qUAAqU;QACzV,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACnE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAA4B,EAAE,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAmB,oBAAoB,YAAY,oBAAoB,CAAC,CAAC;YAEpG,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG;oBACb,GAAG,IAAI,+BAA+B;oBACtC,EAAE;oBACF,eAAe,MAAM,CAAC,cAAc,EAAE;oBACtC,WAAW,MAAM,CAAC,MAAM,EAAE;oBAC1B,EAAE;oBACF,QAAQ;oBACR,8CAA8C,MAAM,CAAC,YAAY,IAAI;oBACrE,MAAM,CAAC,MAAM,KAAK,WAAW;wBAC3B,CAAC,CAAC,qFAAqF;wBACvF,CAAC,CAAC,qFAAqF;oBACzF,oEAAoE;oBACpE,oCAAoC,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,MAAM,QAAQ;oBACpF,kGAAkG;iBACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAChE,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAG;oBACZ,UAAU,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE;iBACxD,CAAC;gBACF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,0BAA0B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,GAAG,IAAI,mCAAmC;gBAC1C,EAAE;gBACF,eAAe,MAAM,CAAC,cAAc,EAAE;gBACtC,WAAW,MAAM,CAAC,MAAM,EAAE;gBAC1B,eAAe,MAAM,CAAC,SAAS,EAAE;gBACjC,EAAE;gBACF,uEAAuE;gBACvE,uEAAuE;gBACvE,EAAE;gBACF,GAAG,KAAK;gBACR,EAAE;gBACF,2BAA2B;gBAC3B,mCAAmC,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,MAAM,QAAQ;gBACnF,uBAAuB;gBACvB,6EAA6E;gBAC7E,+DAA+D;aAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EACT,GAAG,IAAI,yJAAyJ;QAClK,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC5D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAChH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SAC1E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAMf,EAAE,EAAE;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,gBAAgB,IAAI,CAAC,QAAQ,oBAAoB,EACjD;gBACE,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,mCAAmC,IAAI,CAAC,YAAY,GAAG;4BACvD,aAAa,IAAI,CAAC,OAAO,mBAAmB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;4BACrH,iBAAiB,MAAM,CAAC,MAAM,CAAC,SAAS,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG;4BACnG,sBAAsB,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;4BACnD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;yBAC3C;6BACE,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EACT,GAAG,IAAI,yKAAyK;QAClL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,CAAC,qFAAqF,CAAC;SACnG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAA2B,EAAE,EAAE;YAgB1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAe,yBAAyB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAEvF,MAAM,KAAK,GAAa;gBACtB,0BAA0B,WAAW,EAAE;gBACvC,EAAE;gBACF,MAAM,CAAC,OAAO;gBACd,EAAE;aACH,CAAC;YAEF,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChH,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,UAAU,GAAG,CAAC,QAAQ,cAAc,GAAG,CAAC,UAAU,eAAe,CAAC,CAAC;gBAClH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAEzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;KACF;IAED,gBAAgB,EAAE;QAChB,WAAW,EACT,GAAG,IAAI,kKAAkK;QAC3K,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACtF,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sFAAsF,CAAC;SACpG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAA8C,EAAE,EAAE;YACvF,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,MAAM,CAAW,cAAc,CAAC;gBAChC,MAAM,CAAe,kBAAkB,CAAC;aACzC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,OAAO;iBACrB,WAAW,EAAE;iBACb,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACtE,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YAE1E,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;oBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;oBAClC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;wBAC5C,OAAO,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;oBACzF,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM;gBACpC,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,KAAK,GAAa;gBACtB,2BAA2B,OAAO,EAAE;gBACpC,YAAY,CAAC,CAAC,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;gBACxD,EAAE;aACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAElB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CACR,mCAAmC,eAAe,CAAC,MAAM,wBAAwB,EACjF,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,OAAO,QAAQ,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,MAAM,GAAG,CAAC;gBACtF,CAAC,CAAC,EACF,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,kFAAkF,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CACR,4BAA4B,mBAAmB,CAAC,MAAM,wBAAwB,EAC9E,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;oBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;oBAClC,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;wBAClD,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;wBAC5F,CAAC,CAAC,KAAK,CAAC;oBACV,OAAO,QAAQ,CAAC,CAAC,IAAI,MAAM,IAAI,OAAO,CAAC;gBACzC,CAAC,CAAC,EACF,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACtG,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,MAAM,sCAAsC,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,MAAM,mDAAmD,CAAC,CAAC;gBAC/F,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAElD,IAAI,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,4HAA4H,CAAC,CAAC;YAC3I,CAAC;iBAAM,IAAI,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAC;YACxI,CAAC;iBAAM,IAAI,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;YAC5H,CAAC;iBAAM,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAC;YACxI,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;YAClH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;KACF;IAED,WAAW,EAAE;QACX,WAAW,EAAE,GAAG,IAAI,mLAAmL;QACvM,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YACvF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SACvG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAA2D,EAAE,EAAE;YAChG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAuB,aAAa,EAAE;gBAChE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;gBACrD,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,KAAK;wBACX,OAAO,EAAE,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;wBACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,mBAAmB,KAAK,OAAO,MAAM,CAAC,QAAQ,oBAAoB,UAAU,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;qBAC1I,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,aAAa,EAAE;QACb,WAAW,EAAE,GAAG,IAAI,oLAAoL;QACxM,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACzE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAA0F,EAAE,EAAE;YAC5I,MAAM,OAAO,CAAC,sBAAsB,EAAE;gBACpC,SAAS,EAAE,OAAO,KAAK,EAAE;gBACzB,KAAK;gBACL,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;gBACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;aACxD,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,sBAAsB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kDAAkD;qBACjJ,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EACT,GAAG,IAAI,yLAAyL;QAClM,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YACjG,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACxF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAClG,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAOf,EAAE,EAAE;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5G,MAAM,UAAU,GAAG,MAAM,OAAO,CAAa,kBAAkB,EAAE;gBAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS;gBACT,aAAa,EAAE;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;oBACrC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;iBACvC;gBACD,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,gBAAgB,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACxC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACpG,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,sBAAsB,UAAU,CAAC,EAAE,IAAI;4BACvC,aAAa,IAAI,CAAC,MAAM,EAAE;4BAC1B,eAAe,SAAS,IAAI,SAAS,EAAE;4BACvC,iBAAiB,IAAI,CAAC,UAAU,GAAG;4BACnC,kBAAkB,IAAI,CAAC,WAAW,IAAI,EAAE,OAAO;4BAC/C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;4BAC5D,EAAE;4BACF,kJAAkJ;yBACnJ;6BACE,MAAM,CAAC,OAAO,CAAC;6BACf,IAAI,CAAC,IAAI,CAAC;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;KACF;IAED,aAAa,EAAE;QACb,WAAW,EAAE,gGAAgG;QAC7G,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAA2D,eAAe,CAAC,CAAC;YACzG,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,qCAAqC;yBAC5C,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,CAAC,aAAa,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC9D,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,cAAc,EAAE;QACd,WAAW,EAAE,6FAA6F;QAC1G,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAChE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAA4B,EAAE,EAAE;YAC9C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,wBAAwB,IAAI,CAAC,UAAU,+CAA+C;qBAC7F,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,SAAS,EAAE;QACT,WAAW,EAAE,wHAAwH;QACrI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,6GAA6G;yBACpH,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvF,OAAO,KAAK,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,MAAM,KAAK,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YACrG,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;qBACnE,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,UAAU,EAAE;QACV,WAAW,EAAE,sFAAsF;QACnG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAChF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,sEAAsE;yBAC7E,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,iBAAiB,IAAI,CAAC,KAAK,iCAAiC,SAAS,EAAE;yBAC9E,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,oBAAoB,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,GAAG;qBAC/H,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,+EAA+E;IAE/E,wBAAwB,EAAE;QACxB,WAAW,EAAE,yJAAyJ;QACtK,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAU,+BAA+B,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvF,CAAC;KACF;IAED,uBAAuB,EAAE;QACvB,WAAW,EAAE,yIAAyI;QACtJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;SAChG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAmC,EAAE,EAAE;YACrD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAY,8BAA8B,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACjH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,aAAa,KAAK,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpI,CAAC;KACF;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,wHAAwH;QACrI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAY,qBAAqB,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4EAA4E,EAAE,CAAC,EAAE,CAAC;YACtI,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,IAAI,GAAG,CAA4B,CAAC;gBAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnF,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,OAAO,QAAQ,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5F,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,yBAAyB,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3J,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EAAE,uHAAuH;QACpI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YACjH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC9F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SAC1F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAyH,EAAE,EAAE;YAC3I,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjD,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjD,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAExD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAU,uBAAuB,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACtH,CAAC;KACF;IAED,qBAAqB,EAAE;QACrB,WAAW,EAAE,uGAAuG;QACpH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAiC,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAoC,uBAAuB,IAAI,CAAC,eAAe,UAAU,EAAE,EAAE,CAAC,CAAC;YACzH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,OAAO,+BAA+B,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,sCAAsC,EAAE,CAAC,EAAE,CAAC;QAC7K,CAAC;KACF;IAED,uBAAuB,EAAE;QACvB,WAAW,EAAE,8FAA8F;QAC3G,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACrE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAiC,EAAE,EAAE;YACnD,MAAM,OAAO,CAAU,uBAAuB,IAAI,CAAC,eAAe,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;KACF;IAED,qBAAqB,EAAE;QACrB,WAAW,EAAE,wHAAwH;QACrI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACpE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;SAC7G,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAA6F,EAAE,EAAE;YAC/G,MAAM,OAAO,CAAU,uBAAuB,IAAI,CAAC,eAAe,OAAO,EAAE;gBACzE,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;KACF;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,mIAAmI;QAChJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC1E,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAChG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;YAC5G,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACvC,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SAC3D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAA8F,EAAE,EAAE;YAChH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAU,iCAAiC,EAAE,IAAI,CAAC,CAAC;YAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACnH,CAAC;KACF;IAED,kBAAkB,EAAE;QAClB,WAAW,EAAE,8HAA8H;QAC3I,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAY,4BAA4B,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qEAAqE,EAAE,CAAC,EAAE,CAAC;YAC/H,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,GAAG,GAAG,CAA4B,CAAC;gBACzC,OAAO,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC/D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,2BAA2B,OAAO,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9J,CAAC;KACF;CACF,CAAC"}