@sembix/cli 1.10.0 → 1.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA0B,cAAc,EAAgB,MAAM,aAAa,CAAC;AAIxF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA0B,cAAc,EAAgB,MAAM,aAAa,CAAC;AAIxF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
@@ -30,16 +30,18 @@ export async function setupEnvironment(githubToken, environmentName, options = {
30
30
  // Step 3: Collect remaining configuration through interactive prompts
31
31
  // Pass merged config to skip already-provided values
32
32
  const config = await promptEnvironmentSetup(githubClient, mergedConfig.environmentName, mergedConfig.repository ? `${mergedConfig.repository.owner}/${mergedConfig.repository.repo}` : undefined, mergedConfig);
33
- // Step 4: Hub Integration (Step 9 in interactive flow)
33
+ // Step 4: Hub Integration (AWS only, Step 9 in interactive flow)
34
34
  let hubConfig;
35
- // Check if Hub config provided via CLI flags or config file
36
- if (mergedConfig.hub && (mergedConfig.hub.hubRoles || mergedConfig.hub.appConfig)) {
37
- ui.info('Using Hub configuration from CLI flags or config file');
38
- hubConfig = mergedConfig.hub;
39
- }
40
- else {
41
- // Interactive prompt for Hub integration
42
- hubConfig = await promptHubIntegrationStep(options.skipHub);
35
+ if (config.cloudProvider === 'aws') {
36
+ // Check if Hub config provided via CLI flags or config file
37
+ if (mergedConfig.hub && (mergedConfig.hub.hubRoles || mergedConfig.hub.appConfig)) {
38
+ ui.info('Using Hub configuration from CLI flags or config file');
39
+ hubConfig = mergedConfig.hub;
40
+ }
41
+ else {
42
+ // Interactive prompt for Hub integration
43
+ hubConfig = await promptHubIntegrationStep(options.skipHub);
44
+ }
43
45
  }
44
46
  // Confirm before proceeding
45
47
  ui.section('Configuration Summary');
@@ -76,13 +78,183 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
76
78
  spinner.fail(`Failed to create environment: ${message}`);
77
79
  throw error;
78
80
  }
79
- // Step 2: Add environment variables
80
- spinner = ui.spinner('Adding environment variables...');
81
+ if (config.cloudProvider === 'azure') {
82
+ await executeAzureSetup(githubClient, config);
83
+ }
84
+ else {
85
+ await executeAwsSetup(githubClient, config, hubConfig);
86
+ }
87
+ }
88
+ async function executeAzureSetup(githubClient, config) {
89
+ const { owner, repo } = config.repository;
90
+ const tfState = config.terraformState;
91
+ const features = config.features;
92
+ const networking = config.networking;
93
+ const security = config.security;
94
+ // Azure environment variables
95
+ let spinner = ui.spinner('Adding environment variables...');
81
96
  try {
82
97
  await githubClient.createOrUpdateEnvironmentVariables(owner, repo, config.environmentName, {
98
+ CLOUD_PROVIDER: 'azure',
99
+ AZURE_LOCATION: config.azureLocation,
100
+ AZURE_LOCATION_SHORT: config.azureLocationShort,
101
+ FRONT_DOOR_CUSTOM_DOMAIN: config.cdn?.frontDoorCustomDomain || '',
102
+ ENABLE_APPLICATION_INSIGHTS: features.enableApplicationInsights ? 'true' : 'false',
103
+ ENABLE_PRIVATE_ENDPOINTS: features.enablePrivateEndpoints ? 'true' : 'false',
104
+ VITE_GITHUB_APP_CLIENT_ID: config.frontend.githubAppClientId,
105
+ VITE_GITHUB_APP_NAME: config.frontend.githubAppName,
106
+ VITE_JIRA_CLIENT_ID: config.frontend.jiraClientId,
107
+ });
108
+ spinner.succeed('Environment variables added');
109
+ }
110
+ catch (error) {
111
+ const message = error instanceof Error ? error.message : 'Unknown error';
112
+ spinner.fail(`Failed to add variables: ${message}`);
113
+ throw error;
114
+ }
115
+ // Azure authentication secrets
116
+ spinner = ui.spinner('Adding Azure authentication secrets...');
117
+ try {
118
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
119
+ AZURE_CLIENT_ID: config.azureClientId,
120
+ AZURE_TENANT_ID: config.azureTenantId,
121
+ AZURE_SUBSCRIPTION_ID: config.azureSubscriptionId,
122
+ });
123
+ spinner.succeed('Azure authentication secrets added');
124
+ }
125
+ catch (error) {
126
+ const message = error instanceof Error ? error.message : 'Unknown error';
127
+ spinner.fail(`Failed to add Azure auth secrets: ${message}`);
128
+ throw error;
129
+ }
130
+ // Azure Terraform state + bootstrap state secrets
131
+ spinner = ui.spinner('Adding Terraform state secrets...');
132
+ try {
133
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
134
+ TF_STORAGE_ACCOUNT_NAME: tfState.storageAccountName,
135
+ TF_CONTAINER_NAME: tfState.containerName,
136
+ TF_RESOURCE_GROUP_NAME: tfState.resourceGroupName,
137
+ BOOTSTRAP_RESOURCE_GROUP_NAME: tfState.resourceGroupName,
138
+ BOOTSTRAP_STORAGE_ACCOUNT_NAME: tfState.storageAccountName,
139
+ BOOTSTRAP_CONTAINER_NAME: tfState.containerName,
140
+ BOOTSTRAP_STATE_KEY: `bootstrap-azure-${config.environmentName}.tfstate`,
141
+ });
142
+ spinner.succeed('Terraform state secrets added');
143
+ }
144
+ catch (error) {
145
+ const message = error instanceof Error ? error.message : 'Unknown error';
146
+ spinner.fail(`Failed to add TF state secrets: ${message}`);
147
+ throw error;
148
+ }
149
+ // Azure database secrets (shared fields, Azure secret names)
150
+ spinner = ui.spinner('Adding database secrets...');
151
+ try {
152
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
153
+ POSTGRES_DATABASE_NAME: config.database.name,
154
+ POSTGRES_ADMIN_USERNAME: config.database.user,
155
+ });
156
+ spinner.succeed('Database secrets added');
157
+ }
158
+ catch (error) {
159
+ const message = error instanceof Error ? error.message : 'Unknown error';
160
+ spinner.fail(`Failed to add database secrets: ${message}`);
161
+ throw error;
162
+ }
163
+ // Networking secrets (shared input names, infra maps to Azure equivalents)
164
+ spinner = ui.spinner('Adding networking secrets...');
165
+ try {
166
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
167
+ USE_CUSTOM_NETWORKING: networking.useCustomNetworking ? 'true' : 'false',
168
+ CUSTOM_VPC_ID: networking.customVpcId || '',
169
+ CUSTOM_PUBLIC_SUBNET_IDS: networking.customPublicSubnetIds || '',
170
+ CUSTOM_PRIVATE_SUBNET_IDS: networking.customPrivateSubnetIds || '',
171
+ });
172
+ spinner.succeed('Networking secrets added');
173
+ }
174
+ catch (error) {
175
+ const message = error instanceof Error ? error.message : 'Unknown error';
176
+ spinner.fail(`Failed to add networking secrets: ${message}`);
177
+ throw error;
178
+ }
179
+ // Security group / NSG secrets (shared input names, infra maps SG → NSG)
180
+ spinner = ui.spinner('Adding security group secrets...');
181
+ try {
182
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
183
+ USE_CUSTOM_SECURITY_GROUPS: security.useCustomSecurityGroups ? 'true' : 'false',
184
+ CUSTOM_WORKFLOW_ENGINE_SG_ID: security.customSecurityGroups?.workflowEngine || '',
185
+ CUSTOM_AURORA_SG_ID: security.customSecurityGroups?.aurora || '',
186
+ CUSTOM_BFF_ECS_SG_ID: security.customSecurityGroups?.bffEcs || '',
187
+ CUSTOM_SEMANTIC_EVENT_ENGINE_SG_ID: security.customSecurityGroups?.semanticEventEngine || '',
188
+ });
189
+ spinner.succeed('Security group secrets added');
190
+ }
191
+ catch (error) {
192
+ const message = error instanceof Error ? error.message : 'Unknown error';
193
+ spinner.fail(`Failed to add security group secrets: ${message}`);
194
+ throw error;
195
+ }
196
+ // Identity secrets (shared toggle, Azure-specific identity values)
197
+ spinner = ui.spinner('Adding identity secrets...');
198
+ try {
199
+ const identitySecrets = {
200
+ USE_CUSTOM_IAM_POLICIES: security.useCustomIamPolicies ? 'true' : 'false',
201
+ };
202
+ if (security.useCustomIamPolicies && security.customIdentities) {
203
+ const ids = security.customIdentities;
204
+ identitySecrets.CUSTOM_WORKFLOW_ENGINE_IDENTITY_ID = ids.workflowEngine?.identityId || '';
205
+ identitySecrets.CUSTOM_WORKFLOW_ENGINE_IDENTITY_PRINCIPAL_ID = ids.workflowEngine?.principalId || '';
206
+ identitySecrets.CUSTOM_WORKFLOW_ENGINE_IDENTITY_CLIENT_ID = ids.workflowEngine?.clientId || '';
207
+ identitySecrets.CUSTOM_BFF_IDENTITY_ID = ids.bff?.identityId || '';
208
+ identitySecrets.CUSTOM_BFF_IDENTITY_PRINCIPAL_ID = ids.bff?.principalId || '';
209
+ identitySecrets.CUSTOM_BFF_IDENTITY_CLIENT_ID = ids.bff?.clientId || '';
210
+ identitySecrets.CUSTOM_SEMANTIC_EVENT_ENGINE_IDENTITY_ID = ids.semanticEventEngine?.identityId || '';
211
+ identitySecrets.CUSTOM_SEMANTIC_EVENT_ENGINE_IDENTITY_PRINCIPAL_ID = ids.semanticEventEngine?.principalId || '';
212
+ identitySecrets.CUSTOM_SEMANTIC_EVENT_ENGINE_IDENTITY_CLIENT_ID = ids.semanticEventEngine?.clientId || '';
213
+ identitySecrets.CUSTOM_WORKSPACE_RUNTIME_IDENTITY_ID = ids.workspaceRuntime?.identityId || '';
214
+ identitySecrets.CUSTOM_WORKSPACE_RUNTIME_IDENTITY_PRINCIPAL_ID = ids.workspaceRuntime?.principalId || '';
215
+ identitySecrets.CUSTOM_WORKSPACE_RUNTIME_IDENTITY_CLIENT_ID = ids.workspaceRuntime?.clientId || '';
216
+ identitySecrets.CUSTOM_MIGRATIONS_IDENTITY_ID = ids.migrations?.identityId || '';
217
+ identitySecrets.CUSTOM_MIGRATIONS_IDENTITY_PRINCIPAL_ID = ids.migrations?.principalId || '';
218
+ identitySecrets.CUSTOM_MIGRATIONS_IDENTITY_CLIENT_ID = ids.migrations?.clientId || '';
219
+ }
220
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, identitySecrets);
221
+ spinner.succeed('Identity secrets added');
222
+ }
223
+ catch (error) {
224
+ const message = error instanceof Error ? error.message : 'Unknown error';
225
+ spinner.fail(`Failed to add identity secrets: ${message}`);
226
+ throw error;
227
+ }
228
+ // Azure CDN secrets
229
+ if (config.cdn?.frontDoorCustomDomainDnsZoneId) {
230
+ spinner = ui.spinner('Adding CDN secrets...');
231
+ try {
232
+ await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
233
+ FRONT_DOOR_CUSTOM_DOMAIN_DNS_ZONE_ID: config.cdn.frontDoorCustomDomainDnsZoneId,
234
+ });
235
+ spinner.succeed('CDN secrets added');
236
+ }
237
+ catch (error) {
238
+ const message = error instanceof Error ? error.message : 'Unknown error';
239
+ spinner.fail(`Failed to add CDN secrets: ${message}`);
240
+ throw error;
241
+ }
242
+ }
243
+ }
244
+ async function executeAwsSetup(githubClient, config, hubConfig) {
245
+ const { owner, repo } = config.repository;
246
+ const networking = config.networking;
247
+ const security = config.security;
248
+ const tls = config.tls;
249
+ const features = config.features;
250
+ // AWS environment variables
251
+ let spinner = ui.spinner('Adding environment variables...');
252
+ try {
253
+ await githubClient.createOrUpdateEnvironmentVariables(owner, repo, config.environmentName, {
254
+ CLOUD_PROVIDER: 'aws',
83
255
  TF_BUCKET_NAME: config.terraformStateBucket,
84
- ...(config.tls.cloudfrontDomain ? { CLOUDFRONT_DOMAIN: config.tls.cloudfrontDomain } : {}),
85
- ENABLE_BFF_WAF: config.features.enableBffWaf ? 'true' : 'false',
256
+ ...(tls.cloudfrontDomain ? { CLOUDFRONT_DOMAIN: tls.cloudfrontDomain } : {}),
257
+ ENABLE_BFF_WAF: features.enableBffWaf ? 'true' : 'false',
86
258
  VITE_GITHUB_APP_CLIENT_ID: config.frontend.githubAppClientId,
87
259
  VITE_GITHUB_APP_NAME: config.frontend.githubAppName,
88
260
  VITE_JIRA_CLIENT_ID: config.frontend.jiraClientId,
@@ -94,7 +266,7 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
94
266
  spinner.fail(`Failed to add variables: ${message}`);
95
267
  throw error;
96
268
  }
97
- // Step 3: Add secrets in batches
269
+ // AWS core secrets
98
270
  spinner = ui.spinner('Adding AWS core secrets...');
99
271
  try {
100
272
  await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
@@ -124,15 +296,15 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
124
296
  spinner = ui.spinner('Adding networking secrets...');
125
297
  try {
126
298
  await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
127
- USE_CUSTOM_NETWORKING: config.networking.useCustomNetworking ? 'true' : 'false',
128
- CUSTOM_VPC_ID: config.networking.customVpcId || '',
129
- CUSTOM_PUBLIC_SUBNET_IDS: config.networking.customPublicSubnetIds || '',
130
- CUSTOM_PRIVATE_SUBNET_IDS: config.networking.customPrivateSubnetIds || '',
131
- VPC_CIDR: config.networking.vpcCidr || '',
132
- PUBLIC_SUBNET_CIDRS: config.networking.publicSubnetCidrs || '',
133
- PRIVATE_SUBNET_CIDRS: config.networking.privateSubnetCidrs || '',
134
- AZ_COUNT: config.networking.azCount || '2',
135
- ENABLE_VPC_ENDPOINTS: config.networking.enableVpcEndpoints ? 'true' : 'false',
299
+ USE_CUSTOM_NETWORKING: networking.useCustomNetworking ? 'true' : 'false',
300
+ CUSTOM_VPC_ID: networking.customVpcId || '',
301
+ CUSTOM_PUBLIC_SUBNET_IDS: networking.customPublicSubnetIds || '',
302
+ CUSTOM_PRIVATE_SUBNET_IDS: networking.customPrivateSubnetIds || '',
303
+ VPC_CIDR: networking.vpcCidr || '',
304
+ PUBLIC_SUBNET_CIDRS: networking.publicSubnetCidrs || '',
305
+ PRIVATE_SUBNET_CIDRS: networking.privateSubnetCidrs || '',
306
+ AZ_COUNT: networking.azCount || '2',
307
+ ENABLE_VPC_ENDPOINTS: networking.enableVpcEndpoints ? 'true' : 'false',
136
308
  });
137
309
  spinner.succeed('Networking secrets added');
138
310
  }
@@ -144,15 +316,14 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
144
316
  spinner = ui.spinner('Adding security group secrets...');
145
317
  try {
146
318
  await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
147
- USE_CUSTOM_SECURITY_GROUPS: config.security.useCustomSecurityGroups ? 'true' : 'false',
148
- CUSTOM_WORKFLOW_ENGINE_SG_ID: config.security.customSecurityGroups?.workflowEngine || '',
149
- CUSTOM_AURORA_SG_ID: config.security.customSecurityGroups?.aurora || '',
150
- CUSTOM_RDS_PROXY_SG_ID: config.security.customSecurityGroups?.rdsProxy || '',
151
- CUSTOM_BFF_ECS_SG_ID: config.security.customSecurityGroups?.bffEcs || '',
152
- CUSTOM_BFF_ALB_SG_ID: config.security.customSecurityGroups?.bffAlb || '',
153
- CUSTOM_SEMANTIC_EVENT_ENGINE_SG_ID: config.security.customSecurityGroups?.semanticEventEngine || '',
154
- CUSTOM_WORKSPACE_RUNTIME_SG_ID: config.security.customSecurityGroups?.workspaceRuntime || '',
155
- CUSTOM_WORKSPACE_RUNTIME_EFS_SG_ID: config.security.customSecurityGroups?.workspaceRuntimeEfs || '',
319
+ USE_CUSTOM_SECURITY_GROUPS: security.useCustomSecurityGroups ? 'true' : 'false',
320
+ CUSTOM_WORKFLOW_ENGINE_SG_ID: security.customSecurityGroups?.workflowEngine || '',
321
+ CUSTOM_AURORA_SG_ID: security.customSecurityGroups?.aurora || '',
322
+ CUSTOM_RDS_PROXY_SG_ID: security.customSecurityGroups?.rdsProxy || '',
323
+ CUSTOM_BFF_ECS_SG_ID: security.customSecurityGroups?.bffEcs || '',
324
+ CUSTOM_BFF_ALB_SG_ID: security.customSecurityGroups?.bffAlb || '',
325
+ CUSTOM_SEMANTIC_EVENT_ENGINE_SG_ID: security.customSecurityGroups?.semanticEventEngine || '',
326
+ CUSTOM_WORKSPACE_RUNTIME_EFS_SG_ID: security.customSecurityGroups?.workspaceRuntimeEfs || '',
156
327
  });
157
328
  spinner.succeed('Security group secrets added');
158
329
  }
@@ -164,17 +335,15 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
164
335
  spinner = ui.spinner('Adding IAM role secrets...');
165
336
  try {
166
337
  await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
167
- USE_CUSTOM_IAM_POLICIES: config.security.useCustomIamPolicies ? 'true' : 'false',
168
- WORKFLOW_ENGINE_EXECUTION_ROLE_ARN: config.security.customIamRoles?.workflowEngineExecutionRole || '',
169
- WORKFLOW_ENGINE_TASK_ROLE_ARN: config.security.customIamRoles?.workflowEngineTaskRole || '',
170
- BFF_ECS_TASK_EXECUTION_ROLE_ARN: config.security.customIamRoles?.bffEcsTaskExecutionRole || '',
171
- BFF_ECS_TASK_ROLE_ARN: config.security.customIamRoles?.bffEcsTaskRole || '',
172
- SEMANTIC_EVENT_ENGINE_EXECUTION_ROLE_ARN: config.security.customIamRoles?.semanticEventEngineExecutionRole || '',
173
- SEMANTIC_EVENT_ENGINE_TASK_ROLE_ARN: config.security.customIamRoles?.semanticEventEngineTaskRole || '',
174
- RDS_PROXY_ROLE_ARN: config.security.customIamRoles?.rdsProxyRole || '',
175
- SEMBIX_STUDIO_NOTIFICATION_ROLE_ARN: config.security.customIamRoles?.sembixStudioNotificationRole || '',
176
- WORKSPACE_RUNTIME_EXECUTION_ROLE_ARN: config.security.customIamRoles?.workspaceRuntimeExecutionRole || '',
177
- WORKSPACE_RUNTIME_TASK_ROLE_ARN: config.security.customIamRoles?.workspaceRuntimeTaskRole || '',
338
+ USE_CUSTOM_IAM_POLICIES: security.useCustomIamPolicies ? 'true' : 'false',
339
+ WORKFLOW_ENGINE_EXECUTION_ROLE_ARN: security.customIamRoles?.workflowEngineExecutionRole || '',
340
+ WORKFLOW_ENGINE_TASK_ROLE_ARN: security.customIamRoles?.workflowEngineTaskRole || '',
341
+ BFF_ECS_TASK_EXECUTION_ROLE_ARN: security.customIamRoles?.bffEcsTaskExecutionRole || '',
342
+ BFF_ECS_TASK_ROLE_ARN: security.customIamRoles?.bffEcsTaskRole || '',
343
+ SEMANTIC_EVENT_ENGINE_EXECUTION_ROLE_ARN: security.customIamRoles?.semanticEventEngineExecutionRole || '',
344
+ SEMANTIC_EVENT_ENGINE_TASK_ROLE_ARN: security.customIamRoles?.semanticEventEngineTaskRole || '',
345
+ RDS_PROXY_ROLE_ARN: security.customIamRoles?.rdsProxyRole || '',
346
+ SEMBIX_STUDIO_NOTIFICATION_ROLE_ARN: security.customIamRoles?.sembixStudioNotificationRole || '',
178
347
  });
179
348
  spinner.succeed('IAM role secrets added');
180
349
  }
@@ -186,16 +355,15 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
186
355
  spinner = ui.spinner('Adding TLS/DNS configuration secrets...');
187
356
  try {
188
357
  await githubClient.createEnvironmentSecrets(owner, repo, config.environmentName, {
189
- CERTIFICATE_ARN: config.tls.certificateArn || '',
190
- SEMBIX_STUDIO_CF_VIEWER_CERT: config.tls.cloudfrontCertArn || '',
191
- BFF_ALB_CERTIFICATE_ARN: config.tls.bffAlbCertificateArn || '',
192
- BFF_ALB_INTERNAL: config.tls.bffAlbInternal !== undefined ? String(config.tls.bffAlbInternal) : '',
193
- BFF_ALB_INGRESS_CIDR_BLOCKS: config.tls.bffAlbIngressCidrBlocks?.length
194
- ? JSON.stringify(config.tls.bffAlbIngressCidrBlocks)
358
+ CERTIFICATE_ARN: tls.certificateArn || '',
359
+ SEMBIX_STUDIO_CF_VIEWER_CERT: tls.cloudfrontCertArn || '',
360
+ BFF_ALB_CERTIFICATE_ARN: tls.bffAlbCertificateArn || '',
361
+ BFF_ALB_INTERNAL: tls.bffAlbInternal !== undefined ? String(tls.bffAlbInternal) : '',
362
+ BFF_ALB_INGRESS_CIDR_BLOCKS: tls.bffAlbIngressCidrBlocks?.length
363
+ ? JSON.stringify(tls.bffAlbIngressCidrBlocks)
195
364
  : '[]',
196
- BFF_INTERNAL_ALB_CERTIFICATE_ARN: config.tls.bffInternalAlbCertificateArn || '',
197
- PRIVATE_CA_CERT_SECRET_ARN: config.tls.privateCaCertSecretArn || '',
198
- ...(config.tls.hostedZoneId ? { HOSTED_ZONE_ID: config.tls.hostedZoneId } : {}),
365
+ PRIVATE_CA_CERT_SECRET_ARN: tls.privateCaCertSecretArn || '',
366
+ ...(tls.hostedZoneId ? { HOSTED_ZONE_ID: tls.hostedZoneId } : {}),
199
367
  });
200
368
  spinner.succeed('TLS/DNS configuration secrets added');
201
369
  }
@@ -204,7 +372,7 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
204
372
  spinner.fail(`Failed to add TLS/DNS secrets: ${message}`);
205
373
  throw error;
206
374
  }
207
- // Step 8: Add Hub Integration secrets (if provided)
375
+ // Hub Integration secrets (AWS only)
208
376
  if (hubConfig && (hubConfig.hubRoles || hubConfig.appConfig)) {
209
377
  spinner = ui.spinner('Adding Sembix Hub integration secrets...');
210
378
  try {
@@ -227,25 +395,39 @@ async function executeEnvironmentSetup(githubClient, config, hubConfig) {
227
395
  }
228
396
  function displayConfigurationSummary(config, hubConfig) {
229
397
  const summary = {
398
+ 'Cloud Provider': config.cloudProvider.toUpperCase(),
230
399
  'Repository': `${config.repository.owner}/${config.repository.repo}`,
231
400
  'Environment': config.environmentName,
232
- 'AWS Account': config.awsAccountId,
233
- 'AWS Region': config.awsRegion,
234
401
  'Database': config.database.name,
235
- ...(config.tls.cloudfrontDomain ? { 'CloudFront Domain': config.tls.cloudfrontDomain } : {}),
236
- 'Custom Networking': config.networking.useCustomNetworking ? 'Yes' : 'No',
237
- 'Custom Security Groups': config.security.useCustomSecurityGroups ? 'Yes' : 'No',
238
- 'Custom IAM Roles': config.security.useCustomIamPolicies ? 'Yes' : 'No',
239
- 'WAF': config.features.enableBffWaf ? 'Enabled' : 'Disabled',
240
402
  };
241
- // Add Hub integration summary if provided
242
- if (hubConfig) {
243
- const hasHubRoles = hubConfig.hubRoles && (hubConfig.hubRoles.engineExecutionRole ||
244
- hubConfig.hubRoles.consumerRole);
245
- const hasAppConfig = hubConfig.appConfig && (hubConfig.appConfig.roleArn ||
246
- hubConfig.appConfig.appId);
247
- if (hasHubRoles || hasAppConfig) {
248
- summary['Hub Integration'] = 'Configured';
403
+ if (config.cloudProvider === 'azure') {
404
+ summary['Azure Subscription'] = config.azureSubscriptionId;
405
+ summary['Azure Location'] = config.azureLocation;
406
+ if (config.cdn?.frontDoorCustomDomain) {
407
+ summary['Front Door Domain'] = config.cdn.frontDoorCustomDomain;
408
+ }
409
+ summary['Custom Networking'] = config.networking?.useCustomNetworking ? 'Yes' : 'No';
410
+ summary['Custom NSGs'] = config.security?.useCustomSecurityGroups ? 'Yes' : 'No';
411
+ summary['Custom Identities'] = config.security?.useCustomIamPolicies ? 'Yes' : 'No';
412
+ summary['Application Insights'] = config.features?.enableApplicationInsights ? 'Enabled' : 'Disabled';
413
+ }
414
+ else {
415
+ summary['AWS Account'] = config.awsAccountId;
416
+ summary['AWS Region'] = config.awsRegion;
417
+ if (config.tls?.cloudfrontDomain)
418
+ summary['CloudFront Domain'] = config.tls.cloudfrontDomain;
419
+ summary['Custom Networking'] = config.networking?.useCustomNetworking ? 'Yes' : 'No';
420
+ summary['Custom Security Groups'] = config.security?.useCustomSecurityGroups ? 'Yes' : 'No';
421
+ summary['Custom IAM Roles'] = config.security?.useCustomIamPolicies ? 'Yes' : 'No';
422
+ summary['WAF'] = config.features?.enableBffWaf ? 'Enabled' : 'Disabled';
423
+ if (hubConfig) {
424
+ const hasHubRoles = hubConfig.hubRoles && (hubConfig.hubRoles.engineExecutionRole ||
425
+ hubConfig.hubRoles.consumerRole);
426
+ const hasAppConfig = hubConfig.appConfig && (hubConfig.appConfig.roleArn ||
427
+ hubConfig.appConfig.appId);
428
+ if (hasHubRoles || hasAppConfig) {
429
+ summary['Hub Integration'] = 'Configured';
430
+ }
249
431
  }
250
432
  }
251
433
  ui.table(summary);
@@ -256,32 +438,48 @@ function displaySuccessMessage(config, hubConfig) {
256
438
  ui.success('Environment created successfully!');
257
439
  console.log();
258
440
  ui.section('Next Steps');
259
- console.log(ui.highlight('Step 1: Run Bootstrap Deployment'));
260
- console.log();
261
- console.log(` 1. Go to GitHub Actions: ${ui.link(`https://github.com/${owner}/${repo}/actions`)}`);
262
- console.log(` 2. Select the deployment workflow`);
263
- console.log(` 3. Choose environment: ${ui.code(config.environmentName)}`);
264
- console.log(` 4. In 'Deployment phase to run' dropdown, select ${ui.highlight('bootstrap')}`);
265
- console.log(` 5. Run the workflow to create IAM roles in your AWS account`);
266
- console.log();
267
- console.log(ui.dim(' The bootstrap phase creates IAM roles that you will send to Sembix'));
268
- console.log(ui.dim(' for Hub integration before running the final deployment.'));
269
- console.log();
270
- if (!hubConfig || (!hubConfig.hubRoles && !hubConfig.appConfig)) {
271
- console.log(ui.highlight('Step 2: Add Hub Integration (After Bootstrap)'));
441
+ if (config.cloudProvider === 'azure') {
442
+ console.log(ui.highlight('Step 1: Run Bootstrap Deployment'));
272
443
  console.log();
273
- console.log(` After bootstrap completes, Sembix will provide Hub ARN details.`);
274
- console.log(` Add them using:`);
444
+ console.log(` 1. Go to GitHub Actions: ${ui.link(`https://github.com/${owner}/${repo}/actions`)}`);
445
+ console.log(` 2. Select the deployment workflow`);
446
+ console.log(` 3. Choose environment: ${ui.code(config.environmentName)}`);
447
+ console.log(` 4. Set cloud_provider to ${ui.highlight('azure')}`);
448
+ console.log(` 5. In 'Deployment phase to run' dropdown, select ${ui.highlight('bootstrap')}`);
449
+ console.log(` 6. Run the workflow to create managed identities in your Azure subscription`);
275
450
  console.log();
276
- console.log(` ${ui.code(`sembix studio add-hub ${config.environmentName} --repo ${owner}/${repo}`)}`);
277
- console.log();
278
- console.log(` ${ui.dim('Or with all values at once:')}`);
279
- console.log(` ${ui.code(`sembix studio add-hub ${config.environmentName} --repo ${owner}/${repo} --hub-engine-execution-role arn:... [other flags]`)}`);
451
+ console.log(ui.dim(' The bootstrap phase creates managed identities that are referenced'));
452
+ console.log(ui.dim(' by the main deployment for service-to-service authentication.'));
280
453
  console.log();
281
454
  }
282
455
  else {
283
- console.log(` ${ui.success('Hub integration configured!')} Your environment is fully set up.`);
456
+ console.log(ui.highlight('Step 1: Run Bootstrap Deployment'));
457
+ console.log();
458
+ console.log(` 1. Go to GitHub Actions: ${ui.link(`https://github.com/${owner}/${repo}/actions`)}`);
459
+ console.log(` 2. Select the deployment workflow`);
460
+ console.log(` 3. Choose environment: ${ui.code(config.environmentName)}`);
461
+ console.log(` 4. In 'Deployment phase to run' dropdown, select ${ui.highlight('bootstrap')}`);
462
+ console.log(` 5. Run the workflow to create IAM roles in your AWS account`);
284
463
  console.log();
464
+ console.log(ui.dim(' The bootstrap phase creates IAM roles that you will send to Sembix'));
465
+ console.log(ui.dim(' for Hub integration before running the final deployment.'));
466
+ console.log();
467
+ if (!hubConfig || (!hubConfig.hubRoles && !hubConfig.appConfig)) {
468
+ console.log(ui.highlight('Step 2: Add Hub Integration (After Bootstrap)'));
469
+ console.log();
470
+ console.log(` After bootstrap completes, Sembix will provide Hub ARN details.`);
471
+ console.log(` Add them using:`);
472
+ console.log();
473
+ console.log(` ${ui.code(`sembix studio add-hub ${config.environmentName} --repo ${owner}/${repo}`)}`);
474
+ console.log();
475
+ console.log(` ${ui.dim('Or with all values at once:')}`);
476
+ console.log(` ${ui.code(`sembix studio add-hub ${config.environmentName} --repo ${owner}/${repo} --hub-engine-execution-role arn:... [other flags]`)}`);
477
+ console.log();
478
+ }
479
+ else {
480
+ console.log(` ${ui.success('Hub integration configured!')} Your environment is fully set up.`);
481
+ console.log();
482
+ }
285
483
  }
286
484
  }
287
485
  // Add missing import
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAA2B,MAAM,oCAAoC,CAAC;AACvG,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGhH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,eAAwB,EACxB,UAA0B,EAAE;IAE5B,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAEnD,uCAAuC;QACvC,IAAI,cAAsC,CAAC;QAC3C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;YAE1D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,mBAAmB,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC;YACnC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAiB,WAAW,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAEhG,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,YAAY,EACZ,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,EACxG,YAAY,CACb,CAAC;QAEF,iEAAiE;QACjE,IAAI,SAAyC,CAAC;QAE9C,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACnC,4DAA4D;YAC5D,IAAI,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClF,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACjE,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,yCAAyC;gBACzC,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpC,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC5B,OAAO,EAAE,oDAAoD;YAC7D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,MAAM,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE/D,iCAAiC;QACjC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,EAAE,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,YAA0B,EAC1B,MAA8B,EAC9B,SAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IAE1C,6BAA6B;IAC7B,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1E,OAAO,CAAC,OAAO,CAAC,uBAAuB,MAAM,CAAC,eAAe,WAAW,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QACrC,MAAM,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,YAA0B,EAC1B,MAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,cAAe,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAC;IAElC,8BAA8B;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,kCAAkC,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YACzF,cAAc,EAAE,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,aAAc;YACrC,oBAAoB,EAAE,MAAM,CAAC,kBAAmB;YAChD,wBAAwB,EAAE,MAAM,CAAC,GAAG,EAAE,qBAAqB,IAAI,EAAE;YACjE,2BAA2B,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAClF,wBAAwB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC5E,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;YAC5D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;YACnD,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;SAClD,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,eAAe,EAAE,MAAM,CAAC,aAAc;YACtC,eAAe,EAAE,MAAM,CAAC,aAAc;YACtC,qBAAqB,EAAE,MAAM,CAAC,mBAAoB;SACnD,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,uBAAuB,EAAE,OAAO,CAAC,kBAAkB;YACnD,iBAAiB,EAAE,OAAO,CAAC,aAAa;YACxC,sBAAsB,EAAE,OAAO,CAAC,iBAAiB;YACjD,6BAA6B,EAAE,OAAO,CAAC,iBAAiB;YACxD,8BAA8B,EAAE,OAAO,CAAC,kBAAkB;YAC1D,wBAAwB,EAAE,OAAO,CAAC,aAAa;YAC/C,mBAAmB,EAAE,mBAAmB,MAAM,CAAC,eAAe,UAAU;SACzE,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC5C,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SAC9C,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,qBAAqB,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACxE,aAAa,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;YAC3C,wBAAwB,EAAE,UAAU,CAAC,qBAAqB,IAAI,EAAE;YAChE,yBAAyB,EAAE,UAAU,CAAC,sBAAsB,IAAI,EAAE;SACnE,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,0BAA0B,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC/E,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,EAAE,cAAc,IAAI,EAAE;YACjF,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE;YAChE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE;YACjE,kCAAkC,EAAE,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,IAAI,EAAE;SAC7F,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,eAAe,GAA2B;YAC9C,uBAAuB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAC1E,CAAC;QAEF,IAAI,QAAQ,CAAC,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACtC,eAAe,CAAC,kCAAkC,GAAG,GAAG,CAAC,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;YAC1F,eAAe,CAAC,4CAA4C,GAAG,GAAG,CAAC,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC;YACrG,eAAe,CAAC,yCAAyC,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC/F,eAAe,CAAC,sBAAsB,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC;YACnE,eAAe,CAAC,gCAAgC,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC;YAC9E,eAAe,CAAC,6BAA6B,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;YACxE,eAAe,CAAC,wCAAwC,GAAG,GAAG,CAAC,mBAAmB,EAAE,UAAU,IAAI,EAAE,CAAC;YACrG,eAAe,CAAC,kDAAkD,GAAG,GAAG,CAAC,mBAAmB,EAAE,WAAW,IAAI,EAAE,CAAC;YAChH,eAAe,CAAC,+CAA+C,GAAG,GAAG,CAAC,mBAAmB,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC1G,eAAe,CAAC,oCAAoC,GAAG,GAAG,CAAC,gBAAgB,EAAE,UAAU,IAAI,EAAE,CAAC;YAC9F,eAAe,CAAC,8CAA8C,GAAG,GAAG,CAAC,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC;YACzG,eAAe,CAAC,2CAA2C,GAAG,GAAG,CAAC,gBAAgB,EAAE,QAAQ,IAAI,EAAE,CAAC;YACnG,eAAe,CAAC,6BAA6B,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC;YACjF,eAAe,CAAC,uCAAuC,GAAG,GAAG,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE,CAAC;YAC5F,eAAe,CAAC,oCAAoC,GAAG,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAClG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,CAAC,GAAG,EAAE,8BAA8B,EAAE,CAAC;QAC/C,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;gBAC/E,oCAAoC,EAAE,MAAM,CAAC,GAAG,CAAC,8BAA8B;aAChF,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,YAA0B,EAC1B,MAA8B,EAC9B,SAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAC;IAElC,4BAA4B;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,kCAAkC,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YACzF,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,MAAM,CAAC,oBAAqB;YAC5C,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACxD,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;YAC5D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;YACnD,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;SAClD,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,mBAAmB;IACnB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,UAAU,EAAE,MAAM,CAAC,SAAU;YAC7B,iBAAiB,EAAE,MAAM,CAAC,eAAgB;SAC3C,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC3C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SACzC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,qBAAqB,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACxE,aAAa,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;YAC3C,wBAAwB,EAAE,UAAU,CAAC,qBAAqB,IAAI,EAAE;YAChE,yBAAyB,EAAE,UAAU,CAAC,sBAAsB,IAAI,EAAE;YAClE,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,EAAE;YAClC,mBAAmB,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE;YACvD,oBAAoB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;YACzD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,GAAG;YACnC,oBAAoB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACvE,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,0BAA0B,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC/E,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,EAAE,cAAc,IAAI,EAAE;YACjF,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE;YAChE,sBAAsB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,IAAI,EAAE;YACrE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE;YACjE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,EAAE;YACjE,kCAAkC,EAAE,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,IAAI,EAAE;YAC5F,kCAAkC,EAAE,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,IAAI,EAAE;SAC7F,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,uBAAuB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACzE,kCAAkC,EAAE,QAAQ,CAAC,cAAc,EAAE,2BAA2B,IAAI,EAAE;YAC9F,6BAA6B,EAAE,QAAQ,CAAC,cAAc,EAAE,sBAAsB,IAAI,EAAE;YACpF,+BAA+B,EAAE,QAAQ,CAAC,cAAc,EAAE,uBAAuB,IAAI,EAAE;YACvF,qBAAqB,EAAE,QAAQ,CAAC,cAAc,EAAE,cAAc,IAAI,EAAE;YACpE,wCAAwC,EAAE,QAAQ,CAAC,cAAc,EAAE,gCAAgC,IAAI,EAAE;YACzG,mCAAmC,EAAE,QAAQ,CAAC,cAAc,EAAE,2BAA2B,IAAI,EAAE;YAC/F,kBAAkB,EAAE,QAAQ,CAAC,cAAc,EAAE,YAAY,IAAI,EAAE;YAC/D,mCAAmC,EAAE,QAAQ,CAAC,cAAc,EAAE,4BAA4B,IAAI,EAAE;SACjG,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;YAC/E,eAAe,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE;YACzC,4BAA4B,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;YACzD,uBAAuB,EAAE,GAAG,CAAC,oBAAoB,IAAI,EAAE;YACvD,gBAAgB,EAAE,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;YACpF,2BAA2B,EAAE,GAAG,CAAC,uBAAuB,EAAE,MAAM;gBAC9D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC;gBAC7C,CAAC,CAAC,IAAI;YACR,0BAA0B,EAAE,GAAG,CAAC,sBAAsB,IAAI,EAAE;YAC5D,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE;gBAC/E,gCAAgC,EAAE,SAAS,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE;gBAC/E,gCAAgC,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE;gBACxE,8BAA8B,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE;gBAClE,4BAA4B,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC9D,4BAA4B,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC9D,gCAAgC,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE;aACvE,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA8B,EAAE,SAA8B;IACjG,MAAM,OAAO,GAA2B;QACtC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE;QACpD,YAAY,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QACpE,aAAa,EAAE,MAAM,CAAC,eAAe;QACrC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;KACjC,CAAC;IAEF,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,mBAAoB,CAAC;QAC5D,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,aAAc,CAAC;QAClD,IAAI,MAAM,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC;YACtC,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,OAAO,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACxG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAa,CAAC;QAC9C,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,SAAU,CAAC;QAC1C,IAAI,MAAM,CAAC,GAAG,EAAE,gBAAgB;YAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC7F,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAExE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,IAAI,CACxC,SAAS,CAAC,QAAQ,CAAC,mBAAmB;gBACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAChC,CAAC;YACF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,IAAI,CAC1C,SAAS,CAAC,SAAS,CAAC,OAAO;gBAC3B,SAAS,CAAC,SAAS,CAAC,KAAK,CAC1B,CAAC;YACF,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;gBAChC,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA8B,EAAE,SAA8B;IAC3F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;IAE1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,sBAAsB,KAAK,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,sBAAsB,KAAK,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,eAAe,WAAW,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACvG,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,eAAe,WAAW,KAAK,IAAI,IAAI,oDAAoD,CAAC,EAAE,CAAC,CAAC;YACzJ,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,oCAAoC,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC"}