likec4 1.10.1 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__app__/react/likec4.tsx +44 -17
- package/dist/__app__/src/chunks/{-index-overview-CR08x_EG.js → -index-overview-Csz814YU.js} +6 -6
- package/dist/__app__/src/chunks/{likec4-BFZn233G.js → likec4-DlkyDuSp.js} +22 -11
- package/dist/__app__/src/chunks/{main-D12NE066.js → main-Bc_PC5BH.js} +5390 -1016
- package/dist/__app__/src/chunks/{mantine-BnwtT_Nz.js → mantine-IOl1S4mZ.js} +166 -62
- package/dist/__app__/src/chunks/{tanstack-router-DKnF_3kP.js → tanstack-router-CU5V4Ll-.js} +1 -1
- package/dist/__app__/src/const.js +2 -0
- package/dist/__app__/src/main.js +1 -1
- package/dist/__app__/src/style.css +1 -1
- package/dist/__app__/webcomponent/webcomponent.js +6775 -2073
- package/dist/chunks/prompt.mjs +45 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.mjs +213 -161
- package/dist/index.d.mts +734 -1387
- package/dist/index.d.ts +16963 -0
- package/dist/index.mjs +1 -1
- package/dist/shared/likec4.Ceq7jJZD.mjs +1816 -0
- package/icons/all.d.ts +589 -0
- package/icons/all.js +1179 -1
- package/icons/aws/activate.js +10 -10
- package/icons/aws/alexa-for-business.js +10 -10
- package/icons/aws/amplify.js +10 -10
- package/icons/aws/apache-mxnet-on-aws.js +10 -10
- package/icons/aws/api-gateway.js +10 -10
- package/icons/aws/app-config.js +10 -10
- package/icons/aws/app-flow.js +10 -10
- package/icons/aws/app-mesh.js +10 -10
- package/icons/aws/app-runner.js +10 -10
- package/icons/aws/app-stream.js +10 -10
- package/icons/aws/app-sync.js +10 -10
- package/icons/aws/application-auto-scaling.js +10 -10
- package/icons/aws/application-composer.js +10 -10
- package/icons/aws/application-cost-profiler.js +10 -10
- package/icons/aws/application-discovery-service.js +10 -10
- package/icons/aws/application-migration-service.js +10 -10
- package/icons/aws/artifact.js +10 -10
- package/icons/aws/athena.js +10 -10
- package/icons/aws/audit-manager.js +10 -10
- package/icons/aws/augmented-ai-a2i.js +10 -10
- package/icons/aws/aurora.js +10 -10
- package/icons/aws/auto-scaling.js +10 -10
- package/icons/aws/backint-agent.js +10 -10
- package/icons/aws/backup.js +10 -10
- package/icons/aws/batch.js +10 -10
- package/icons/aws/billing-conductor.js +10 -10
- package/icons/aws/bottlerocket.js +10 -10
- package/icons/aws/braket.js +10 -10
- package/icons/aws/budgets.js +10 -10
- package/icons/aws/certificate-manager.js +10 -10
- package/icons/aws/chatbot.js +10 -10
- package/icons/aws/chime-sdk.js +10 -10
- package/icons/aws/chime-voice-connector.js +10 -10
- package/icons/aws/chime.js +10 -10
- package/icons/aws/clean-rooms.js +10 -10
- package/icons/aws/client-vpn.js +10 -10
- package/icons/aws/cloud-control-api.js +10 -10
- package/icons/aws/cloud-development-kit.js +10 -10
- package/icons/aws/cloud-directory.js +10 -10
- package/icons/aws/cloud-formation.js +10 -10
- package/icons/aws/cloud-front.js +10 -10
- package/icons/aws/cloud-hsm.js +10 -10
- package/icons/aws/cloud-map.js +10 -10
- package/icons/aws/cloud-search.js +10 -10
- package/icons/aws/cloud-shell.js +10 -10
- package/icons/aws/cloud-trail.js +10 -10
- package/icons/aws/cloud-wan.js +10 -10
- package/icons/aws/cloud-watch.js +10 -10
- package/icons/aws/cloud9.js +10 -10
- package/icons/aws/code-artifact.js +10 -10
- package/icons/aws/code-build.js +10 -10
- package/icons/aws/code-catalyst.js +10 -10
- package/icons/aws/code-commit.js +10 -10
- package/icons/aws/code-deploy.js +10 -10
- package/icons/aws/code-guru.js +10 -10
- package/icons/aws/code-pipeline.js +10 -10
- package/icons/aws/code-star.js +10 -10
- package/icons/aws/code-whisperer.js +10 -10
- package/icons/aws/cognito.js +10 -10
- package/icons/aws/command-line-interface.js +10 -10
- package/icons/aws/comprehend-medical.js +10 -10
- package/icons/aws/comprehend.js +10 -10
- package/icons/aws/compute-optimizer.js +10 -10
- package/icons/aws/config.js +10 -10
- package/icons/aws/connect.js +10 -10
- package/icons/aws/console-mobile-application.js +10 -10
- package/icons/aws/control-tower.js +10 -10
- package/icons/aws/corretto.js +10 -10
- package/icons/aws/cost-and-usage-report.js +10 -10
- package/icons/aws/cost-explorer.js +10 -10
- package/icons/aws/data-exchange.js +10 -10
- package/icons/aws/data-pipeline.js +10 -10
- package/icons/aws/data-sync.js +10 -10
- package/icons/aws/data-zone.js +10 -10
- package/icons/aws/database-migration-service.js +10 -10
- package/icons/aws/deep-composer.js +10 -10
- package/icons/aws/deep-learning-amis.js +10 -10
- package/icons/aws/deep-learning-containers.js +10 -10
- package/icons/aws/deep-lens.js +10 -10
- package/icons/aws/deep-racer.js +10 -10
- package/icons/aws/detective.js +10 -10
- package/icons/aws/dev-ops-guru.js +10 -10
- package/icons/aws/device-farm.js +10 -10
- package/icons/aws/direct-connect.js +10 -10
- package/icons/aws/directory-service.js +10 -10
- package/icons/aws/distro-for-open-telemetry.js +10 -10
- package/icons/aws/document-db.js +10 -10
- package/icons/aws/dynamo-db.js +10 -10
- package/icons/aws/ec2-auto-scaling.js +10 -10
- package/icons/aws/ec2-image-builder.js +10 -10
- package/icons/aws/ec2.js +10 -10
- package/icons/aws/ecs-anywhere.js +10 -10
- package/icons/aws/efs.js +10 -10
- package/icons/aws/eks-anywhere.js +10 -10
- package/icons/aws/eks-cloud.js +10 -10
- package/icons/aws/eks-distro.js +10 -10
- package/icons/aws/elasti-cache.js +10 -10
- package/icons/aws/elastic-beanstalk.js +10 -10
- package/icons/aws/elastic-block-store.js +10 -10
- package/icons/aws/elastic-container-registry.js +10 -10
- package/icons/aws/elastic-container-service.js +10 -10
- package/icons/aws/elastic-disaster-recovery.js +10 -10
- package/icons/aws/elastic-fabric-adapter.js +10 -10
- package/icons/aws/elastic-inference.js +10 -10
- package/icons/aws/elastic-kubernetes-service.js +10 -10
- package/icons/aws/elastic-load-balancing.js +10 -10
- package/icons/aws/elastic-transcoder.js +10 -10
- package/icons/aws/elemental-appliances-software.js +10 -10
- package/icons/aws/elemental-conductor.js +10 -10
- package/icons/aws/elemental-delta.js +10 -10
- package/icons/aws/elemental-link.js +10 -10
- package/icons/aws/elemental-live.js +10 -10
- package/icons/aws/elemental-media-connect.js +10 -10
- package/icons/aws/elemental-media-convert.js +10 -10
- package/icons/aws/elemental-media-live.js +10 -10
- package/icons/aws/elemental-media-package.js +10 -10
- package/icons/aws/elemental-media-store.js +10 -10
- package/icons/aws/elemental-media-tailor.js +10 -10
- package/icons/aws/elemental-server.js +10 -10
- package/icons/aws/emr.js +10 -10
- package/icons/aws/event-bridge.js +10 -10
- package/icons/aws/express-workflows.js +10 -10
- package/icons/aws/fargate.js +10 -10
- package/icons/aws/fault-injection-simulator.js +10 -10
- package/icons/aws/file-cache.js +10 -10
- package/icons/aws/fin-space.js +10 -10
- package/icons/aws/firewall-manager.js +10 -10
- package/icons/aws/forecast.js +10 -10
- package/icons/aws/fraud-detector.js +10 -10
- package/icons/aws/free-rtos.js +10 -10
- package/icons/aws/fsx-for-lustre.js +10 -10
- package/icons/aws/fsx-for-net-app-ontap.js +10 -10
- package/icons/aws/fsx-for-open-zfs.js +10 -10
- package/icons/aws/fsx-for-wfs.js +10 -10
- package/icons/aws/fsx.js +10 -10
- package/icons/aws/game-kit.js +10 -10
- package/icons/aws/game-lift.js +10 -10
- package/icons/aws/game-sparks.js +10 -10
- package/icons/aws/genomics-cli.js +10 -10
- package/icons/aws/global-accelerator.js +10 -10
- package/icons/aws/glue-data-brew.js +10 -10
- package/icons/aws/glue-elastic-views.js +10 -10
- package/icons/aws/glue.js +10 -10
- package/icons/aws/ground-station.js +10 -10
- package/icons/aws/guard-duty.js +10 -10
- package/icons/aws/health-lake.js +10 -10
- package/icons/aws/honeycode.js +10 -10
- package/icons/aws/iam-identity-center.js +10 -10
- package/icons/aws/identity-and-access-management.js +10 -10
- package/icons/aws/inspector.js +10 -10
- package/icons/aws/interactive-video-service.js +10 -10
- package/icons/aws/io-t-1-click.js +10 -10
- package/icons/aws/io-t-analytics.js +10 -10
- package/icons/aws/io-t-button.js +10 -10
- package/icons/aws/io-t-core.js +10 -10
- package/icons/aws/io-t-device-defender.js +10 -10
- package/icons/aws/io-t-device-management.js +10 -10
- package/icons/aws/io-t-edu-kit.js +10 -10
- package/icons/aws/io-t-events.js +10 -10
- package/icons/aws/io-t-express-link.js +10 -10
- package/icons/aws/io-t-fleet-wise.js +10 -10
- package/icons/aws/io-t-greengrass.js +10 -10
- package/icons/aws/io-t-robo-runner.js +10 -10
- package/icons/aws/io-t-site-wise.js +10 -10
- package/icons/aws/io-t-things-graph.js +10 -10
- package/icons/aws/io-t-twin-maker.js +9 -9
- package/icons/aws/iq.js +10 -10
- package/icons/aws/kendra.js +10 -10
- package/icons/aws/key-management-service.js +10 -10
- package/icons/aws/keyspaces.js +10 -10
- package/icons/aws/kinesis-data-analytics.js +10 -10
- package/icons/aws/kinesis-data-streams.js +10 -10
- package/icons/aws/kinesis-firehose.js +10 -10
- package/icons/aws/kinesis-video-streams.js +10 -10
- package/icons/aws/kinesis.js +10 -10
- package/icons/aws/lake-formation.js +10 -10
- package/icons/aws/lambda.js +10 -10
- package/icons/aws/launch-wizard.js +10 -10
- package/icons/aws/lex.js +10 -10
- package/icons/aws/license-manager.js +10 -10
- package/icons/aws/lightsail.js +10 -10
- package/icons/aws/local-zones.js +10 -10
- package/icons/aws/location-service.js +10 -10
- package/icons/aws/lookout-for-equipment.js +10 -10
- package/icons/aws/lookout-for-metrics.js +10 -10
- package/icons/aws/lookout-for-vision.js +10 -10
- package/icons/aws/lumberyard.js +10 -10
- package/icons/aws/macie.js +10 -10
- package/icons/aws/mainframe-modernization.js +10 -10
- package/icons/aws/managed-blockchain.js +10 -10
- package/icons/aws/managed-grafana.js +10 -10
- package/icons/aws/managed-service-for-prometheus.js +10 -10
- package/icons/aws/managed-services.js +10 -10
- package/icons/aws/managed-streaming-for-apache-kafka.js +10 -10
- package/icons/aws/managed-workflows-for-apache-airflow.js +10 -10
- package/icons/aws/management-console.js +10 -10
- package/icons/aws/marketplace-dark.js +6 -6
- package/icons/aws/marketplace-light.js +6 -6
- package/icons/aws/memory-db-for-redis.js +10 -10
- package/icons/aws/migration-evaluator.js +10 -10
- package/icons/aws/migration-hub.js +10 -10
- package/icons/aws/monitron.js +10 -10
- package/icons/aws/mq.js +10 -10
- package/icons/aws/neptune.js +10 -10
- package/icons/aws/network-firewall.js +10 -10
- package/icons/aws/neuron.js +10 -10
- package/icons/aws/nice-dcv.js +10 -10
- package/icons/aws/nice-engin-frame.js +10 -10
- package/icons/aws/nimble-studio.js +10 -10
- package/icons/aws/nitro-enclaves.js +10 -10
- package/icons/aws/omics.js +10 -10
- package/icons/aws/open-3d-engine.js +10 -10
- package/icons/aws/open-search-service.js +10 -10
- package/icons/aws/ops-works.js +10 -10
- package/icons/aws/organizations.js +10 -10
- package/icons/aws/outposts-family.js +10 -10
- package/icons/aws/outposts-rack.js +10 -10
- package/icons/aws/outposts-servers.js +10 -10
- package/icons/aws/panorama.js +10 -10
- package/icons/aws/parallel-cluster.js +10 -10
- package/icons/aws/personal-health-dashboard.js +10 -10
- package/icons/aws/personalize.js +10 -10
- package/icons/aws/pinpoint-apis.js +10 -10
- package/icons/aws/pinpoint.js +10 -10
- package/icons/aws/polly.js +10 -10
- package/icons/aws/private-5g.js +10 -10
- package/icons/aws/private-certificate-authority.js +12 -12
- package/icons/aws/private-link.js +10 -10
- package/icons/aws/professional-services.js +10 -10
- package/icons/aws/proton.js +10 -10
- package/icons/aws/quantum-ledger-database.js +10 -10
- package/icons/aws/quick-sight.js +10 -10
- package/icons/aws/rds-on-vmware.js +10 -10
- package/icons/aws/rds.js +10 -10
- package/icons/aws/re-post.js +10 -10
- package/icons/aws/red-hat-open-shift-service-on-aws.js +10 -10
- package/icons/aws/redshift.js +10 -10
- package/icons/aws/rekognition.js +10 -10
- package/icons/aws/reserved-instance-reporting.js +10 -10
- package/icons/aws/resilience-hub.js +10 -10
- package/icons/aws/resource-access-manager.js +10 -10
- package/icons/aws/resource-explorer.js +10 -10
- package/icons/aws/robo-maker.js +10 -10
- package/icons/aws/route-53.js +10 -10
- package/icons/aws/s3-on-outposts.js +10 -10
- package/icons/aws/sage-maker-ground-truth.js +10 -10
- package/icons/aws/sage-maker-studio-lab.js +10 -10
- package/icons/aws/sage-maker.js +10 -10
- package/icons/aws/savings-plans.js +10 -10
- package/icons/aws/secrets-manager.js +10 -10
- package/icons/aws/security-hub.js +10 -10
- package/icons/aws/security-lake.js +10 -10
- package/icons/aws/server-migration-service.js +10 -10
- package/icons/aws/serverless-application-repository.js +10 -10
- package/icons/aws/service-catalog.js +10 -10
- package/icons/aws/service-management-connector.js +12 -12
- package/icons/aws/shield.js +10 -10
- package/icons/aws/signer.js +10 -10
- package/icons/aws/sim-space-weaver.js +10 -10
- package/icons/aws/simple-email-service.js +10 -10
- package/icons/aws/simple-notification-service.js +10 -10
- package/icons/aws/simple-queue-service.js +10 -10
- package/icons/aws/simple-storage-service-glacier.js +10 -10
- package/icons/aws/simple-storage-service.js +10 -10
- package/icons/aws/site-to-site-vpn.js +10 -10
- package/icons/aws/snowball-edge.js +10 -10
- package/icons/aws/snowball.js +10 -10
- package/icons/aws/snowcone.js +10 -10
- package/icons/aws/snowmobile.js +10 -10
- package/icons/aws/step-functions.js +10 -10
- package/icons/aws/storage-gateway.js +10 -10
- package/icons/aws/sumerian.js +10 -10
- package/icons/aws/supply-chain.js +10 -10
- package/icons/aws/support.js +10 -10
- package/icons/aws/systems-manager.js +10 -10
- package/icons/aws/tensor-flow-on-aws.js +10 -10
- package/icons/aws/textract.js +10 -10
- package/icons/aws/thinkbox-deadline.js +10 -10
- package/icons/aws/thinkbox-frost.js +10 -10
- package/icons/aws/thinkbox-krakatoa.js +10 -10
- package/icons/aws/thinkbox-sequoia.js +10 -10
- package/icons/aws/thinkbox-stoke.js +10 -10
- package/icons/aws/thinkbox-xmesh.js +10 -10
- package/icons/aws/timestream.js +10 -10
- package/icons/aws/tools-and-sdks.js +10 -10
- package/icons/aws/torch-serve.js +10 -10
- package/icons/aws/training-certification.js +10 -10
- package/icons/aws/transcribe.js +10 -10
- package/icons/aws/transfer-family.js +10 -10
- package/icons/aws/transit-gateway.js +10 -10
- package/icons/aws/translate.js +10 -10
- package/icons/aws/trusted-advisor.js +10 -10
- package/icons/aws/verified-access.js +10 -10
- package/icons/aws/verified-permissions.js +10 -10
- package/icons/aws/virtual-private-cloud.js +10 -10
- package/icons/aws/vmware-cloud-on-aws.js +10 -10
- package/icons/aws/vpc-lattice.js +10 -10
- package/icons/aws/waf.js +10 -10
- package/icons/aws/wavelength.js +10 -10
- package/icons/aws/well-architected-tool.js +10 -10
- package/icons/aws/wickr.js +10 -10
- package/icons/aws/work-docs-sdk.js +10 -10
- package/icons/aws/work-docs.js +10 -10
- package/icons/aws/work-link.js +10 -10
- package/icons/aws/work-mail.js +10 -10
- package/icons/aws/work-spaces-family.js +10 -10
- package/icons/aws/x-ray.js +10 -10
- package/icons/azure/abs-member.js +21 -0
- package/icons/azure/active-directory-connect-health.js +115 -0
- package/icons/azure/activity-log.js +33 -0
- package/icons/azure/administrative-units.js +80 -0
- package/icons/azure/advisor.js +44 -0
- package/icons/azure/ai-studio.js +105 -0
- package/icons/azure/aks-automatic.js +105 -0
- package/icons/azure/aks-istio.js +63 -0
- package/icons/azure/alerts.js +29 -0
- package/icons/azure/all-resources.js +21 -0
- package/icons/azure/analysis-services.js +34 -0
- package/icons/azure/anomaly-detector.js +33 -0
- package/icons/azure/api-center.js +31 -0
- package/icons/azure/api-connections.js +44 -0
- package/icons/azure/api-management-services.js +29 -0
- package/icons/azure/api-proxy.js +32 -0
- package/icons/azure/app-compliance-automation.js +71 -0
- package/icons/azure/app-configuration.js +45 -0
- package/icons/azure/app-registrations.js +39 -0
- package/icons/azure/app-service-certificates.js +31 -0
- package/icons/azure/app-service-domains.js +23 -0
- package/icons/azure/app-service-environments.js +25 -0
- package/icons/azure/app-service-plans.js +44 -0
- package/icons/azure/app-services.js +82 -0
- package/icons/azure/app-space-component.js +39 -0
- package/icons/azure/app-space.js +37 -0
- package/icons/azure/applens.js +45 -0
- package/icons/azure/application-gateway-containers.js +113 -0
- package/icons/azure/application-gateways.js +60 -0
- package/icons/azure/application-group.js +21 -0
- package/icons/azure/application-insights.js +46 -0
- package/icons/azure/application-security-groups.js +43 -0
- package/icons/azure/aquila.js +95 -0
- package/icons/azure/arc-data-services.js +49 -0
- package/icons/azure/arc-kubernetes.js +73 -0
- package/icons/azure/arc-machines.js +40 -0
- package/icons/azure/arc-postgre-sql.js +62 -0
- package/icons/azure/arc-sql-managed-instance.js +54 -0
- package/icons/azure/arc-sql-server.js +40 -0
- package/icons/azure/atm-multistack.js +59 -0
- package/icons/azure/auto-scale.js +32 -0
- package/icons/azure/automanaged-vm.js +65 -0
- package/icons/azure/automation-accounts.js +62 -0
- package/icons/azure/availability-sets.js +48 -0
- package/icons/azure/avs-vm.js +32 -0
- package/icons/azure/azure-a.js +46 -0
- package/icons/azure/azure-ad-b2c.js +129 -0
- package/icons/azure/azure-api-for-fhir.js +22 -0
- package/icons/azure/azure-applied-ai-services.js +60 -0
- package/icons/azure/azure-arc.js +75 -0
- package/icons/azure/azure-attestation.js +35 -0
- package/icons/azure/azure-backup-center.js +63 -0
- package/icons/azure/azure-blockchain-service.js +51 -0
- package/icons/azure/azure-center-for-sap.js +37 -0
- package/icons/azure/azure-chaos-studio.js +41 -0
- package/icons/azure/azure-cloud-shell.js +28 -0
- package/icons/azure/azure-communication-services.js +41 -0
- package/icons/azure/azure-communications-gateway.js +32 -0
- package/icons/azure/azure-compute-galleries.js +24 -0
- package/icons/azure/azure-cosmos-db.js +41 -0
- package/icons/azure/azure-data-catalog.js +69 -0
- package/icons/azure/azure-data-explorer-clusters.js +82 -0
- package/icons/azure/azure-database-maria-db-server.js +45 -0
- package/icons/azure/azure-database-migration-services.js +62 -0
- package/icons/azure/azure-database-my-sql-server.js +45 -0
- package/icons/azure/azure-database-postgre-sql-server-group.js +65 -0
- package/icons/azure/azure-database-postgre-sql-server.js +57 -0
- package/icons/azure/azure-databox-gateway.js +28 -0
- package/icons/azure/azure-databricks.js +12 -0
- package/icons/azure/azure-deployment-environments.js +48 -0
- package/icons/azure/azure-dev-ops.js +21 -0
- package/icons/azure/azure-dev-tunnels.js +20 -0
- package/icons/azure/azure-edge-hardware-center.js +58 -0
- package/icons/azure/azure-experimentation-studio.js +77 -0
- package/icons/azure/azure-fileshares.js +46 -0
- package/icons/azure/azure-firewall-manager.js +49 -0
- package/icons/azure/azure-firewall-policy.js +37 -0
- package/icons/azure/azure-hcp-cache.js +23 -0
- package/icons/azure/azure-hpc-workbenches.js +68 -0
- package/icons/azure/azure-hybrid-center.js +22 -0
- package/icons/azure/azure-information-protection.js +51 -0
- package/icons/azure/azure-io-t-operations.js +46 -0
- package/icons/azure/azure-lighthouse.js +35 -0
- package/icons/azure/azure-load-testing.js +56 -0
- package/icons/azure/azure-managed-grafana.js +19 -0
- package/icons/azure/azure-maps-accounts.js +16 -0
- package/icons/azure/azure-media-service.js +90 -0
- package/icons/azure/azure-migrate.js +46 -0
- package/icons/azure/azure-monitor-dashboard.js +47 -0
- package/icons/azure/azure-monitor-pipeline.js +57 -0
- package/icons/azure/azure-monitors-for-sap-solutions.js +49 -0
- package/icons/azure/azure-net-app-files.js +36 -0
- package/icons/azure/azure-network-function-manager-functions.js +41 -0
- package/icons/azure/azure-network-function-manager.js +65 -0
- package/icons/azure/azure-object-understanding.js +39 -0
- package/icons/azure/azure-open-ai.js +29 -0
- package/icons/azure/azure-operator-5g-core.js +64 -0
- package/icons/azure/azure-operator-insights.js +31 -0
- package/icons/azure/azure-operator-nexus.js +54 -0
- package/icons/azure/azure-operator-service-manager.js +30 -0
- package/icons/azure/azure-orbital.js +115 -0
- package/icons/azure/azure-programmable-connectivity.js +145 -0
- package/icons/azure/azure-purview-accounts.js +56 -0
- package/icons/azure/azure-quotas.js +43 -0
- package/icons/azure/azure-red-hat-open-shift.js +44 -0
- package/icons/azure/azure-sentinel.js +37 -0
- package/icons/azure/azure-service-bus.js +66 -0
- package/icons/azure/azure-sphere.js +57 -0
- package/icons/azure/azure-spring-apps.js +67 -0
- package/icons/azure/azure-sql-edge.js +146 -0
- package/icons/azure/azure-sql-server-stretch-databases.js +54 -0
- package/icons/azure/azure-sql-vm.js +37 -0
- package/icons/azure/azure-sql.js +27 -0
- package/icons/azure/azure-stack-edge.js +33 -0
- package/icons/azure/azure-stack-hci-sizer.js +57 -0
- package/icons/azure/azure-stack.js +54 -0
- package/icons/azure/azure-storage-mover.js +58 -0
- package/icons/azure/azure-support-center-blue.js +31 -0
- package/icons/azure/azure-sustainability.js +42 -0
- package/icons/azure/azure-synapse-analytics.js +49 -0
- package/icons/azure/azure-token-service.js +46 -0
- package/icons/azure/azure-video-indexer.js +60 -0
- package/icons/azure/azure-virtual-desktop.js +19 -0
- package/icons/azure/azure-vmware-solution.js +35 -0
- package/icons/azure/azure-workbooks.js +72 -0
- package/icons/azure/azurite.js +34 -0
- package/icons/azure/backlog.js +48 -0
- package/icons/azure/backup-vault.js +49 -0
- package/icons/azure/bare-metal-infrastructure.js +41 -0
- package/icons/azure/bastions.js +71 -0
- package/icons/azure/batch-accounts.js +52 -0
- package/icons/azure/batch-ai.js +56 -0
- package/icons/azure/biz-talk.js +39 -0
- package/icons/azure/blob-block.js +17 -0
- package/icons/azure/blob-page.js +43 -0
- package/icons/azure/blockchain-applications.js +32 -0
- package/icons/azure/blueprints.js +56 -0
- package/icons/azure/bonsai.js +63 -0
- package/icons/azure/bot-services.js +43 -0
- package/icons/azure/branch.js +32 -0
- package/icons/azure/browser.js +16 -0
- package/icons/azure/bug.js +26 -0
- package/icons/azure/builds.js +48 -0
- package/icons/azure/business-process-tracking.js +28 -0
- package/icons/azure/cache-redis.js +72 -0
- package/icons/azure/cache.js +113 -0
- package/icons/azure/capacity-reservation-groups.js +47 -0
- package/icons/azure/capacity.js +74 -0
- package/icons/azure/cdn-profiles.js +21 -0
- package/icons/azure/central-service-instance-for-sap.js +44 -0
- package/icons/azure/ceres.js +58 -0
- package/icons/azure/change-analysis.js +93 -0
- package/icons/azure/client-apps.js +21 -0
- package/icons/azure/cloud-services-classic.js +37 -0
- package/icons/azure/cloud-services-extended-support.js +50 -0
- package/icons/azure/cloud-test.js +58 -0
- package/icons/azure/code-optimization.js +146 -0
- package/icons/azure/code.js +94 -0
- package/icons/azure/cognitive-search.js +26 -0
- package/icons/azure/cognitive-services-decisions.js +94 -0
- package/icons/azure/cognitive-services.js +42 -0
- package/icons/azure/collaborative-service.js +46 -0
- package/icons/azure/commit.js +30 -0
- package/icons/azure/community-images.js +35 -0
- package/icons/azure/compliance-center.js +48 -0
- package/icons/azure/compliance.js +35 -0
- package/icons/azure/compute-fleet.js +91 -0
- package/icons/azure/computer-vision.js +24 -0
- package/icons/azure/conditional-access.js +45 -0
- package/icons/azure/confidential-ledgers.js +63 -0
- package/icons/azure/connected-cache.js +77 -0
- package/icons/azure/connected-vehicle-platform.js +66 -0
- package/icons/azure/connections.js +54 -0
- package/icons/azure/consortium.js +63 -0
- package/icons/azure/container-apps-environments.js +44 -0
- package/icons/azure/container-instances.js +37 -0
- package/icons/azure/container-registries.js +57 -0
- package/icons/azure/container-services-deprecated.js +65 -0
- package/icons/azure/content-moderators.js +41 -0
- package/icons/azure/content-safety.js +77 -0
- package/icons/azure/controls-horizontal.js +135 -0
- package/icons/azure/controls.js +33 -0
- package/icons/azure/cost-alerts.js +28 -0
- package/icons/azure/cost-analysis.js +35 -0
- package/icons/azure/cost-budgets.js +30 -0
- package/icons/azure/cost-export.js +25 -0
- package/icons/azure/cost-management-and-billing.js +31 -0
- package/icons/azure/cost-management.js +35 -0
- package/icons/azure/counter.js +33 -0
- package/icons/azure/cubes.js +16 -0
- package/icons/azure/custom-ip-prefix.js +34 -0
- package/icons/azure/custom-vision.js +48 -0
- package/icons/azure/customer-lockbox-for-microsoft-azure.js +42 -0
- package/icons/azure/dashboard-hub.js +61 -0
- package/icons/azure/dashboard.js +42 -0
- package/icons/azure/data-box.js +33 -0
- package/icons/azure/data-collection-rules.js +42 -0
- package/icons/azure/data-factories.js +36 -0
- package/icons/azure/data-lake-analytics.js +32 -0
- package/icons/azure/data-lake-storage-gen1.js +38 -0
- package/icons/azure/data-lake-store-gen1.js +38 -0
- package/icons/azure/data-share-invitations.js +23 -0
- package/icons/azure/data-shares.js +67 -0
- package/icons/azure/database-instance-for-sap.js +69 -0
- package/icons/azure/ddo-s-protection-plans.js +36 -0
- package/icons/azure/dedicated-hsm.js +38 -0
- package/icons/azure/defender-cm-local-manager.js +131 -0
- package/icons/azure/defender-dcs-controller.js +66 -0
- package/icons/azure/defender-distributer-control-system.js +45 -0
- package/icons/azure/defender-engineering-station.js +71 -0
- package/icons/azure/defender-external-management.js +88 -0
- package/icons/azure/defender-freezer-monitor.js +151 -0
- package/icons/azure/defender-historian.js +53 -0
- package/icons/azure/defender-hmi.js +43 -0
- package/icons/azure/defender-industrial-packaging-system.js +75 -0
- package/icons/azure/defender-industrial-printer.js +34 -0
- package/icons/azure/defender-industrial-robot.js +99 -0
- package/icons/azure/defender-industrial-scale-system.js +58 -0
- package/icons/azure/defender-marquee.js +38 -0
- package/icons/azure/defender-meter.js +101 -0
- package/icons/azure/defender-plc.js +55 -0
- package/icons/azure/defender-pneumatic-device.js +50 -0
- package/icons/azure/defender-programable-board.js +82 -0
- package/icons/azure/defender-relay.js +49 -0
- package/icons/azure/defender-robot-controller.js +79 -0
- package/icons/azure/defender-rtu.js +23 -0
- package/icons/azure/defender-sensor.js +44 -0
- package/icons/azure/defender-slot.js +31 -0
- package/icons/azure/defender-web-guiding-system.js +167 -0
- package/icons/azure/detonation.js +30 -0
- package/icons/azure/dev-console.js +30 -0
- package/icons/azure/dev-ops-starter.js +102 -0
- package/icons/azure/dev-test-labs.js +46 -0
- package/icons/azure/device-compliance.js +40 -0
- package/icons/azure/device-configuration.js +33 -0
- package/icons/azure/device-enrollment.js +37 -0
- package/icons/azure/device-provisioning-services.js +43 -0
- package/icons/azure/device-security-apple.js +43 -0
- package/icons/azure/device-security-google.js +43 -0
- package/icons/azure/device-security-windows.js +43 -0
- package/icons/azure/device-update-io-t-hub.js +35 -0
- package/icons/azure/devices.js +29 -0
- package/icons/azure/diagnostics-settings.js +40 -0
- package/icons/azure/digital-twins.js +40 -0
- package/icons/azure/disk-encryption-sets.js +63 -0
- package/icons/azure/disk-pool.js +92 -0
- package/icons/azure/disks-classic.js +63 -0
- package/icons/azure/disks-snapshots.js +49 -0
- package/icons/azure/disks.js +63 -0
- package/icons/azure/dns-multistack.js +49 -0
- package/icons/azure/dns-private-resolver.js +39 -0
- package/icons/azure/dns-security-policy.js +90 -0
- package/icons/azure/dns-zones.js +37 -0
- package/icons/azure/download.js +60 -0
- package/icons/azure/e-books.js +42 -0
- package/icons/azure/edge-management.js +53 -0
- package/icons/azure/education.js +42 -0
- package/icons/azure/elastic-job-agents.js +50 -0
- package/icons/azure/elastic-san.js +65 -0
- package/icons/azure/endpoint-analytics.js +72 -0
- package/icons/azure/enterprise-applications.js +55 -0
- package/icons/azure/entra-connect-health.js +115 -0
- package/icons/azure/entra-connect-sync.js +86 -0
- package/icons/azure/entra-connect.js +123 -0
- package/icons/azure/entra-domain-services.js +99 -0
- package/icons/azure/entra-global-secure-access.js +37 -0
- package/icons/azure/entra-id-protection.js +63 -0
- package/icons/azure/entra-identity-custom-roles.js +62 -0
- package/icons/azure/entra-identity-licenses.js +52 -0
- package/icons/azure/entra-identity-risky-signins.js +28 -0
- package/icons/azure/entra-identity-risky-users.js +28 -0
- package/icons/azure/entra-identity-roles-and-administrators.js +31 -0
- package/icons/azure/entra-internet-access.js +72 -0
- package/icons/azure/entra-managed-identities.js +114 -0
- package/icons/azure/entra-private-access.js +60 -0
- package/icons/azure/entra-privleged-identity-management.js +114 -0
- package/icons/azure/entra-verified-id.js +53 -0
- package/icons/azure/error.js +30 -0
- package/icons/azure/event-grid-domains.js +65 -0
- package/icons/azure/event-grid-subscriptions.js +65 -0
- package/icons/azure/event-grid-topics.js +68 -0
- package/icons/azure/event-hub-clusters.js +77 -0
- package/icons/azure/event-hubs.js +64 -0
- package/icons/azure/exchange-access.js +45 -0
- package/icons/azure/exchange-on-premises-access.js +28 -0
- package/icons/azure/express-route-circuits.js +38 -0
- package/icons/azure/express-route-direct.js +50 -0
- package/icons/azure/express-route-traffic-collector.js +86 -0
- package/icons/azure/extended-security-updates.js +33 -0
- package/icons/azure/extensions.js +28 -0
- package/icons/azure/external-identities.js +42 -0
- package/icons/azure/face-apis.js +19 -0
- package/icons/azure/feature-previews.js +21 -0
- package/icons/azure/fhir-service.js +60 -0
- package/icons/azure/fiji.js +42 -0
- package/icons/azure/file.js +29 -0
- package/icons/azure/files.js +45 -0
- package/icons/azure/firewalls.js +32 -0
- package/icons/azure/folder-blank.js +28 -0
- package/icons/azure/folder-website.js +84 -0
- package/icons/azure/form-recognizers.js +48 -0
- package/icons/azure/free-services.js +43 -0
- package/icons/azure/front-door-and-cdn-profiles.js +26 -0
- package/icons/azure/ftp.js +17 -0
- package/icons/azure/function-apps.js +61 -0
- package/icons/azure/gear.js +37 -0
- package/icons/azure/genomics-accounts.js +57 -0
- package/icons/azure/genomics.js +57 -0
- package/icons/azure/globe-error.js +42 -0
- package/icons/azure/globe-success.js +52 -0
- package/icons/azure/globe-warning.js +53 -0
- package/icons/azure/groups.js +42 -0
- package/icons/azure/guide.js +17 -0
- package/icons/azure/hd-insight-clusters.js +38 -0
- package/icons/azure/hdi-aks-cluster.js +60 -0
- package/icons/azure/heart.js +31 -0
- package/icons/azure/help-and-support.js +33 -0
- package/icons/azure/host-groups.js +48 -0
- package/icons/azure/host-pools.js +19 -0
- package/icons/azure/hosts.js +46 -0
- package/icons/azure/ic-m-troubleshooting.js +60 -0
- package/icons/azure/identity-governance.js +41 -0
- package/icons/azure/identity-multi-factor-authentication.js +71 -0
- package/icons/azure/identity-secure-score.js +55 -0
- package/icons/azure/image-definitions.js +27 -0
- package/icons/azure/image-templates.js +32 -0
- package/icons/azure/image-versions.js +27 -0
- package/icons/azure/image.js +31 -0
- package/icons/azure/images.js +37 -0
- package/icons/azure/immersive-readers.js +60 -0
- package/icons/azure/import-export-jobs.js +25 -0
- package/icons/azure/industrial-io-t.js +53 -0
- package/icons/azure/information.js +21 -0
- package/icons/azure/infrastructure-backup.js +67 -0
- package/icons/azure/input-output.js +97 -0
- package/icons/azure/instance-pools.js +76 -0
- package/icons/azure/integration-accounts.js +30 -0
- package/icons/azure/integration-environments.js +94 -0
- package/icons/azure/integration-service-environments.js +58 -0
- package/icons/azure/internet-analyzer-profiles.js +48 -0
- package/icons/azure/intune-app-protection.js +46 -0
- package/icons/azure/intune-for-education.js +46 -0
- package/icons/azure/intune-trends.js +29 -0
- package/icons/azure/intune.js +46 -0
- package/icons/azure/io-t-central-applications.js +20 -0
- package/icons/azure/io-t-edge.js +25 -0
- package/icons/azure/io-t-hub.js +36 -0
- package/icons/azure/ip-address-manager.js +52 -0
- package/icons/azure/ip-groups.js +39 -0
- package/icons/azure/journey-hub.js +30 -0
- package/icons/azure/key-vaults.js +61 -0
- package/icons/azure/keys.js +97 -0
- package/icons/azure/kubernetes-fleet-manager.js +73 -0
- package/icons/azure/kubernetes-services.js +65 -0
- package/icons/azure/lab-accounts.js +47 -0
- package/icons/azure/lab-services.js +46 -0
- package/icons/azure/language-understanding.js +14 -0
- package/icons/azure/language.js +71 -0
- package/icons/azure/launch-portal.js +25 -0
- package/icons/azure/learn.js +61 -0
- package/icons/azure/load-balancer-hub.js +90 -0
- package/icons/azure/load-balancers.js +28 -0
- package/icons/azure/load-test.js +50 -0
- package/icons/azure/load-testing.js +71 -0
- package/icons/azure/local-network-gateways.js +33 -0
- package/icons/azure/location.js +34 -0
- package/icons/azure/log-analytics-query-pack.js +57 -0
- package/icons/azure/log-analytics-workspaces.js +36 -0
- package/icons/azure/log-streaming.js +46 -0
- package/icons/azure/logic-apps-custom-connector.js +43 -0
- package/icons/azure/logic-apps.js +54 -0
- package/icons/azure/machine-learning-studio-classic-web-services.js +38 -0
- package/icons/azure/machine-learning-studio-web-service-plans.js +62 -0
- package/icons/azure/machine-learning-studio-workspaces.js +44 -0
- package/icons/azure/machine-learning.js +29 -0
- package/icons/azure/machines-azure-arc.js +27 -0
- package/icons/azure/maintenance-configuration.js +62 -0
- package/icons/azure/managed-applications-center.js +44 -0
- package/icons/azure/managed-database.js +57 -0
- package/icons/azure/managed-desktop.js +40 -0
- package/icons/azure/managed-dev-ops-pools.js +59 -0
- package/icons/azure/managed-file-shares.js +59 -0
- package/icons/azure/managed-identities.js +44 -0
- package/icons/azure/managed-instance-apache-cassandra.js +49 -0
- package/icons/azure/managed-service-fabric.js +98 -0
- package/icons/azure/management-groups.js +66 -0
- package/icons/azure/management-portal.js +17 -0
- package/icons/azure/marketplace-management.js +36 -0
- package/icons/azure/marketplace.js +38 -0
- package/icons/azure/med-tech-service.js +65 -0
- package/icons/azure/media-file.js +36 -0
- package/icons/azure/media.js +108 -0
- package/icons/azure/mesh-applications.js +47 -0
- package/icons/azure/metrics-advisor.js +47 -0
- package/icons/azure/metrics.js +34 -0
- package/icons/azure/microsoft-defender-easm.js +69 -0
- package/icons/azure/microsoft-defender-for-cloud.js +50 -0
- package/icons/azure/microsoft-defender-for-io-t.js +43 -0
- package/icons/azure/microsoft-dev-box.js +143 -0
- package/icons/azure/mindaro.js +47 -0
- package/icons/azure/mission-landing-zone.js +48 -0
- package/icons/azure/mobile-engagement.js +35 -0
- package/icons/azure/mobile-networks.js +75 -0
- package/icons/azure/mobile.js +28 -0
- package/icons/azure/modular-data-center.js +61 -0
- package/icons/azure/module.js +25 -0
- package/icons/azure/monitor-health-models.js +77 -0
- package/icons/azure/monitor.js +61 -0
- package/icons/azure/multi-tenancy.js +47 -0
- package/icons/azure/multifactor-authentication.js +84 -0
- package/icons/azure/my-customers.js +42 -0
- package/icons/azure/nat.js +45 -0
- package/icons/azure/network-interfaces.js +41 -0
- package/icons/azure/network-managers.js +44 -0
- package/icons/azure/network-security-groups.js +42 -0
- package/icons/azure/network-security-perimeters.js +91 -0
- package/icons/azure/network-watcher.js +55 -0
- package/icons/azure/notification-hub-namespaces.js +22 -0
- package/icons/azure/notification-hubs.js +22 -0
- package/icons/azure/offers.js +35 -0
- package/icons/azure/on-premises-data-gateways.js +33 -0
- package/icons/azure/open-supply-chain-platform.js +54 -0
- package/icons/azure/operation-log-classic.js +33 -0
- package/icons/azure/oracle-database.js +33 -0
- package/icons/azure/os-images-classic.js +38 -0
- package/icons/azure/osconfig.js +71 -0
- package/icons/azure/outbound-connection.js +24 -0
- package/icons/azure/partner-namespace.js +97 -0
- package/icons/azure/partner-registration.js +95 -0
- package/icons/azure/partner-topic.js +82 -0
- package/icons/azure/peering-service.js +27 -0
- package/icons/azure/peerings.js +33 -0
- package/icons/azure/personalizers.js +55 -0
- package/icons/azure/plans.js +40 -0
- package/icons/azure/policy.js +34 -0
- package/icons/azure/power-bi-embedded.js +69 -0
- package/icons/azure/power-platform.js +163 -0
- package/icons/azure/power-up.js +42 -0
- package/icons/azure/power.js +31 -0
- package/icons/azure/powershell.js +30 -0
- package/icons/azure/preview-features.js +50 -0
- package/icons/azure/private-endpoints.js +69 -0
- package/icons/azure/private-link-service.js +83 -0
- package/icons/azure/private-link-services.js +72 -0
- package/icons/azure/private-link.js +94 -0
- package/icons/azure/process-explorer.js +23 -0
- package/icons/azure/production-ready-database.js +70 -0
- package/icons/azure/proximity-placement-groups.js +71 -0
- package/icons/azure/public-ip-addresses-classic.js +19 -0
- package/icons/azure/public-ip-addresses.js +19 -0
- package/icons/azure/public-ip-prefixes.js +53 -0
- package/icons/azure/qn-a-makers.js +50 -0
- package/icons/azure/quickstart-center.js +54 -0
- package/icons/azure/recent.js +57 -0
- package/icons/azure/recovery-services-vaults.js +45 -0
- package/icons/azure/region-management.js +42 -0
- package/icons/azure/relays.js +45 -0
- package/icons/azure/remote-rendering.js +71 -0
- package/icons/azure/reservations.js +37 -0
- package/icons/azure/reserved-capacity.js +45 -0
- package/icons/azure/reserved-ip-addresses-classic.js +21 -0
- package/icons/azure/resource-explorer.js +33 -0
- package/icons/azure/resource-graph-explorer.js +25 -0
- package/icons/azure/resource-group-list.js +48 -0
- package/icons/azure/resource-groups.js +40 -0
- package/icons/azure/resource-guard.js +46 -0
- package/icons/azure/resource-linked.js +40 -0
- package/icons/azure/resource-management-private-link.js +44 -0
- package/icons/azure/resource-mover.js +20 -0
- package/icons/azure/resources-provider.js +27 -0
- package/icons/azure/restore-points-collections.js +40 -0
- package/icons/azure/restore-points.js +39 -0
- package/icons/azure/route-filters.js +39 -0
- package/icons/azure/route-tables.js +40 -0
- package/icons/azure/rtos.js +64 -0
- package/icons/azure/savings-plans.js +53 -0
- package/icons/azure/scheduler-job-collections.js +73 -0
- package/icons/azure/scheduler.js +75 -0
- package/icons/azure/scvmm-management-servers.js +68 -0
- package/icons/azure/search-grid.js +48 -0
- package/icons/azure/search.js +28 -0
- package/icons/azure/security-baselines.js +44 -0
- package/icons/azure/security.js +22 -0
- package/icons/azure/send-grid-accounts.js +25 -0
- package/icons/azure/server-farm.js +54 -0
- package/icons/azure/serverless-search.js +54 -0
- package/icons/azure/service-catalog-mad.js +48 -0
- package/icons/azure/service-endpoint-policies.js +64 -0
- package/icons/azure/service-fabric-clusters.js +53 -0
- package/icons/azure/service-health.js +34 -0
- package/icons/azure/service-providers.js +38 -0
- package/icons/azure/shared-image-galleries.js +21 -0
- package/icons/azure/signal-r.js +22 -0
- package/icons/azure/software-as-a-service.js +43 -0
- package/icons/azure/software-updates.js +22 -0
- package/icons/azure/solutions.js +58 -0
- package/icons/azure/sonic-dash.js +73 -0
- package/icons/azure/spatial-anchor-accounts.js +44 -0
- package/icons/azure/speech-services.js +32 -0
- package/icons/azure/spot-vm.js +40 -0
- package/icons/azure/spot-vmss.js +66 -0
- package/icons/azure/sql-data-warehouses.js +54 -0
- package/icons/azure/sql-database.js +52 -0
- package/icons/azure/sql-elastic-pools.js +78 -0
- package/icons/azure/sql-managed-instance.js +51 -0
- package/icons/azure/sql-server-registries.js +64 -0
- package/icons/azure/sql-server.js +46 -0
- package/icons/azure/ssd.js +30 -0
- package/icons/azure/ssh-keys.js +42 -0
- package/icons/azure/ssis-lift-and-shift-ir.js +72 -0
- package/icons/azure/stack-hci-premium.js +78 -0
- package/icons/azure/static-apps.js +29 -0
- package/icons/azure/stor-simple-data-managers.js +57 -0
- package/icons/azure/stor-simple-device-managers.js +27 -0
- package/icons/azure/storage-accounts-classic.js +36 -0
- package/icons/azure/storage-accounts.js +35 -0
- package/icons/azure/storage-actions.js +66 -0
- package/icons/azure/storage-azure-files.js +30 -0
- package/icons/azure/storage-container.js +29 -0
- package/icons/azure/storage-explorer.js +27 -0
- package/icons/azure/storage-functions.js +40 -0
- package/icons/azure/storage-queue.js +18 -0
- package/icons/azure/storage-sync-services.js +52 -0
- package/icons/azure/stream-analytics-jobs.js +53 -0
- package/icons/azure/subnet.js +43 -0
- package/icons/azure/subscriptions.js +41 -0
- package/icons/azure/system-topic.js +103 -0
- package/icons/azure/table.js +23 -0
- package/icons/azure/tag.js +28 -0
- package/icons/azure/tags.js +46 -0
- package/icons/azure/targets-management.js +43 -0
- package/icons/azure/template-specs.js +67 -0
- package/icons/azure/templates.js +33 -0
- package/icons/azure/tenant-properties.js +51 -0
- package/icons/azure/tenant-status.js +40 -0
- package/icons/azure/test-base.js +56 -0
- package/icons/azure/tfs-vc-repository.js +42 -0
- package/icons/azure/time-series-data-sets.js +52 -0
- package/icons/azure/time-series-insights-access-policies.js +42 -0
- package/icons/azure/time-series-insights-environments.js +39 -0
- package/icons/azure/time-series-insights-event-sources.js +36 -0
- package/icons/azure/toolbox.js +26 -0
- package/icons/azure/traffic-manager-profiles.js +36 -0
- package/icons/azure/translator-text.js +75 -0
- package/icons/azure/troubleshoot.js +38 -0
- package/icons/azure/universal-print.js +35 -0
- package/icons/azure/update-management-center.js +69 -0
- package/icons/azure/updates.js +47 -0
- package/icons/azure/user-privacy.js +44 -0
- package/icons/azure/user-settings.js +46 -0
- package/icons/azure/user-subscriptions.js +82 -0
- package/icons/azure/users.js +26 -0
- package/icons/azure/verifiable-credentials.js +99 -0
- package/icons/azure/verification-as-a-service.js +84 -0
- package/icons/azure/versions.js +24 -0
- package/icons/azure/video-analyzers.js +42 -0
- package/icons/azure/virtual-clusters.js +77 -0
- package/icons/azure/virtual-enclaves.js +40 -0
- package/icons/azure/virtual-instance-for-sap.js +70 -0
- package/icons/azure/virtual-machine.js +30 -0
- package/icons/azure/virtual-machines-classic.js +31 -0
- package/icons/azure/virtual-network-gateways.js +45 -0
- package/icons/azure/virtual-networks-classic.js +64 -0
- package/icons/azure/virtual-networks.js +64 -0
- package/icons/azure/virtual-router.js +29 -0
- package/icons/azure/virtual-visits-builder.js +75 -0
- package/icons/azure/virtual-wan-hub.js +55 -0
- package/icons/azure/virtual-wans.js +60 -0
- package/icons/azure/vm-app-definitions.js +66 -0
- package/icons/azure/vm-app-versions.js +58 -0
- package/icons/azure/vm-image-version.js +59 -0
- package/icons/azure/vm-images-classic.js +38 -0
- package/icons/azure/vm-scale-sets.js +38 -0
- package/icons/azure/wac-installer.js +104 -0
- package/icons/azure/wac.js +56 -0
- package/icons/azure/web-app-database.js +160 -0
- package/icons/azure/web-application-firewall-policies-waf.js +91 -0
- package/icons/azure/web-jobs.js +119 -0
- package/icons/azure/web-slots.js +30 -0
- package/icons/azure/web-test.js +105 -0
- package/icons/azure/website-power.js +62 -0
- package/icons/azure/website-staging.js +24 -0
- package/icons/azure/windows-notification-services.js +67 -0
- package/icons/azure/windows10-core-services.js +50 -0
- package/icons/azure/workbooks.js +38 -0
- package/icons/azure/worker-container-app.js +69 -0
- package/icons/azure/workflow.js +36 -0
- package/icons/azure/workspace-gateway.js +64 -0
- package/icons/azure/workspaces.js +23 -0
- package/icons/gcp/access-context-manager.js +7 -7
- package/icons/gcp/administration.js +14 -14
- package/icons/gcp/advanced-agent-modeling.js +9 -9
- package/icons/gcp/advanced-solutions-lab.js +32 -32
- package/icons/gcp/agent-assist.js +4 -4
- package/icons/gcp/ai-hub.js +13 -13
- package/icons/gcp/ai-platform-unified.js +11 -11
- package/icons/gcp/ai-platform.js +6 -6
- package/icons/gcp/analytics-hub.js +7 -7
- package/icons/gcp/anthos-config-management.js +7 -7
- package/icons/gcp/anthos-service-mesh.js +4 -4
- package/icons/gcp/anthos.js +8 -8
- package/icons/gcp/api-analytics.js +10 -10
- package/icons/gcp/api-monetization.js +13 -13
- package/icons/gcp/api.js +9 -9
- package/icons/gcp/apigee-api-platform.js +9 -9
- package/icons/gcp/apigee-sense.js +7 -7
- package/icons/gcp/app-engine.js +10 -10
- package/icons/gcp/artifact-registry.js +19 -19
- package/icons/gcp/asset-inventory.js +9 -9
- package/icons/gcp/assured-workloads.js +11 -11
- package/icons/gcp/auto-ml-natural-language.js +6 -6
- package/icons/gcp/auto-ml-tables.js +9 -9
- package/icons/gcp/auto-ml-translation.js +9 -9
- package/icons/gcp/auto-ml-video-intelligence.js +9 -9
- package/icons/gcp/auto-ml-vision.js +8 -8
- package/icons/gcp/auto-ml.js +10 -10
- package/icons/gcp/bare-metal-solutions.js +7 -7
- package/icons/gcp/batch.js +4 -4
- package/icons/gcp/beyondcorp.js +4 -4
- package/icons/gcp/big-query.js +11 -11
- package/icons/gcp/bigtable.js +22 -22
- package/icons/gcp/billing.js +14 -14
- package/icons/gcp/binary-authorization.js +7 -7
- package/icons/gcp/catalog.js +10 -10
- package/icons/gcp/certificate-authority-service.js +8 -8
- package/icons/gcp/certificate-manager.js +7 -7
- package/icons/gcp/cloud-api-gateway.js +4 -4
- package/icons/gcp/cloud-apis.js +14 -14
- package/icons/gcp/cloud-armor.js +11 -11
- package/icons/gcp/cloud-asset-inventory.js +7 -7
- package/icons/gcp/cloud-audit-logs.js +14 -14
- package/icons/gcp/cloud-build.js +9 -9
- package/icons/gcp/cloud-cdn.js +18 -18
- package/icons/gcp/cloud-code.js +12 -12
- package/icons/gcp/cloud-composer.js +9 -9
- package/icons/gcp/cloud-data-fusion.js +11 -11
- package/icons/gcp/cloud-deploy.js +7 -7
- package/icons/gcp/cloud-deployment-manager.js +14 -14
- package/icons/gcp/cloud-dns.js +16 -16
- package/icons/gcp/cloud-domains.js +9 -9
- package/icons/gcp/cloud-ekm.js +4 -4
- package/icons/gcp/cloud-endpoints.js +13 -13
- package/icons/gcp/cloud-external-ip-addresses.js +6 -6
- package/icons/gcp/cloud-firewall-rules.js +6 -6
- package/icons/gcp/cloud-for-marketing.js +4 -4
- package/icons/gcp/cloud-functions.js +19 -19
- package/icons/gcp/cloud-generic.js +4 -4
- package/icons/gcp/cloud-gpu.js +8 -8
- package/icons/gcp/cloud-healthcare-api.js +15 -15
- package/icons/gcp/cloud-healthcare-marketplace.js +7 -7
- package/icons/gcp/cloud-hsm.js +10 -10
- package/icons/gcp/cloud-ids.js +9 -9
- package/icons/gcp/cloud-inference-api.js +12 -12
- package/icons/gcp/cloud-interconnect.js +11 -11
- package/icons/gcp/cloud-jobs-api.js +12 -12
- package/icons/gcp/cloud-load-balancing.js +16 -16
- package/icons/gcp/cloud-logging.js +14 -14
- package/icons/gcp/cloud-media-edge.js +20 -20
- package/icons/gcp/cloud-monitoring.js +10 -10
- package/icons/gcp/cloud-nat.js +9 -9
- package/icons/gcp/cloud-natural-language-api.js +13 -13
- package/icons/gcp/cloud-network.js +13 -13
- package/icons/gcp/cloud-ops.js +12 -12
- package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +7 -7
- package/icons/gcp/cloud-optimization-ai.js +7 -7
- package/icons/gcp/cloud-router.js +4 -4
- package/icons/gcp/cloud-routes.js +8 -8
- package/icons/gcp/cloud-run-for-anthos.js +6 -6
- package/icons/gcp/cloud-run.js +9 -9
- package/icons/gcp/cloud-scheduler.js +13 -13
- package/icons/gcp/cloud-security-scanner.js +12 -12
- package/icons/gcp/cloud-shell.js +7 -7
- package/icons/gcp/cloud-spanner.js +11 -11
- package/icons/gcp/cloud-sql.js +12 -12
- package/icons/gcp/cloud-storage.js +18 -18
- package/icons/gcp/cloud-tasks.js +21 -21
- package/icons/gcp/cloud-test-lab.js +11 -11
- package/icons/gcp/cloud-tpu.js +22 -22
- package/icons/gcp/cloud-translation-api.js +6 -6
- package/icons/gcp/cloud-vision-api.js +12 -12
- package/icons/gcp/cloud-vpn.js +13 -13
- package/icons/gcp/compute-engine.js +13 -13
- package/icons/gcp/configuration-management.js +7 -7
- package/icons/gcp/connectivity-test.js +4 -4
- package/icons/gcp/connectors.js +10 -10
- package/icons/gcp/contact-center-ai.js +4 -4
- package/icons/gcp/container-optimized-os.js +4 -4
- package/icons/gcp/container-registry.js +23 -23
- package/icons/gcp/data-catalog.js +9 -9
- package/icons/gcp/data-labeling.js +15 -15
- package/icons/gcp/data-layers.js +8 -8
- package/icons/gcp/data-loss-prevention-api.js +14 -14
- package/icons/gcp/data-qn-a.js +9 -9
- package/icons/gcp/data-studio.js +12 -12
- package/icons/gcp/data-transfer.js +8 -8
- package/icons/gcp/database-migration-service.js +7 -7
- package/icons/gcp/dataflow.js +16 -16
- package/icons/gcp/datalab.js +4 -4
- package/icons/gcp/dataplex.js +6 -6
- package/icons/gcp/datapol.js +17 -17
- package/icons/gcp/dataprep.js +9 -9
- package/icons/gcp/dataproc-metastore.js +4 -4
- package/icons/gcp/dataproc.js +15 -15
- package/icons/gcp/datashare.js +9 -9
- package/icons/gcp/datastore.js +35 -35
- package/icons/gcp/datastream.js +13 -13
- package/icons/gcp/debugger.js +11 -11
- package/icons/gcp/developer-portal.js +8 -8
- package/icons/gcp/dialogflow-cx.js +7 -7
- package/icons/gcp/dialogflow-insights.js +11 -11
- package/icons/gcp/dialogflow.js +6 -6
- package/icons/gcp/document-ai.js +11 -11
- package/icons/gcp/early-access-center.js +4 -4
- package/icons/gcp/error-reporting.js +10 -10
- package/icons/gcp/eventarc.js +8 -8
- package/icons/gcp/filestore.js +10 -10
- package/icons/gcp/financial-services-marketplace.js +12 -12
- package/icons/gcp/firestore.js +10 -10
- package/icons/gcp/fleet-engine.js +7 -7
- package/icons/gcp/free-trial.js +12 -12
- package/icons/gcp/game-servers.js +17 -17
- package/icons/gcp/gce-systems-management.js +4 -4
- package/icons/gcp/genomics.js +19 -19
- package/icons/gcp/gke-on-prem.js +9 -9
- package/icons/gcp/google-cloud-marketplace.js +11 -11
- package/icons/gcp/google-kubernetes-engine.js +13 -13
- package/icons/gcp/google-maps-platform.js +9 -9
- package/icons/gcp/healthcare-nlp-api.js +4 -4
- package/icons/gcp/home.js +11 -11
- package/icons/gcp/identity-and-access-management.js +6 -6
- package/icons/gcp/identity-aware-proxy.js +10 -10
- package/icons/gcp/identity-platform.js +10 -10
- package/icons/gcp/iot-core.js +6 -6
- package/icons/gcp/iot-edge.js +38 -38
- package/icons/gcp/key-access-justifications.js +14 -14
- package/icons/gcp/key-management-service.js +6 -6
- package/icons/gcp/kuberun.js +8 -8
- package/icons/gcp/launcher.js +15 -15
- package/icons/gcp/local-ssd.js +4 -4
- package/icons/gcp/looker.js +9 -9
- package/icons/gcp/managed-service-for-microsoft-active-directory.js +12 -12
- package/icons/gcp/media-translation-api.js +7 -7
- package/icons/gcp/memorystore.js +10 -10
- package/icons/gcp/migrate-for-anthos.js +4 -4
- package/icons/gcp/migrate-for-compute-engine.js +4 -4
- package/icons/gcp/my-cloud.js +9 -9
- package/icons/gcp/network-connectivity-center.js +26 -26
- package/icons/gcp/network-intelligence-center.js +4 -4
- package/icons/gcp/network-security.js +10 -10
- package/icons/gcp/network-tiers.js +13 -13
- package/icons/gcp/network-topology.js +4 -4
- package/icons/gcp/onboarding.js +12 -12
- package/icons/gcp/os-configuration-management.js +4 -4
- package/icons/gcp/os-inventory-management.js +6 -6
- package/icons/gcp/os-patch-management.js +4 -4
- package/icons/gcp/partner-interconnect.js +11 -11
- package/icons/gcp/partner-portal.js +8 -8
- package/icons/gcp/performance-dashboard.js +4 -4
- package/icons/gcp/permissions.js +9 -9
- package/icons/gcp/persistent-disk.js +7 -7
- package/icons/gcp/phishing-protection.js +13 -13
- package/icons/gcp/policy-analyzer.js +4 -4
- package/icons/gcp/premium-network-tier.js +9 -9
- package/icons/gcp/private-connectivity.js +9 -9
- package/icons/gcp/private-service-connect.js +12 -12
- package/icons/gcp/producer-portal.js +9 -9
- package/icons/gcp/profiler.js +11 -11
- package/icons/gcp/project.js +15 -15
- package/icons/gcp/pub-sub.js +22 -22
- package/icons/gcp/quantum-engine.js +10 -10
- package/icons/gcp/quotas.js +15 -15
- package/icons/gcp/real-world-insights.js +9 -9
- package/icons/gcp/recommendations-ai.js +19 -19
- package/icons/gcp/release-notes.js +4 -4
- package/icons/gcp/retail-api.js +7 -7
- package/icons/gcp/risk-manager.js +4 -4
- package/icons/gcp/runtime-config.js +15 -15
- package/icons/gcp/secret-manager.js +4 -4
- package/icons/gcp/security-command-center.js +8 -8
- package/icons/gcp/security-health-advisor.js +14 -14
- package/icons/gcp/security-key-enforcement.js +6 -6
- package/icons/gcp/security.js +8 -8
- package/icons/gcp/service-discovery.js +16 -16
- package/icons/gcp/speech-to-text.js +17 -17
- package/icons/gcp/stackdriver.js +7 -7
- package/icons/gcp/standard-network-tier.js +4 -4
- package/icons/gcp/stream-suite.js +7 -7
- package/icons/gcp/support.js +9 -9
- package/icons/gcp/tensorflow-enterprise.js +4 -4
- package/icons/gcp/text-to-speech.js +8 -8
- package/icons/gcp/tools-for-powershell.js +13 -13
- package/icons/gcp/trace.js +12 -12
- package/icons/gcp/traffic-director.js +14 -14
- package/icons/gcp/transfer-appliance.js +10 -10
- package/icons/gcp/transfer.js +4 -4
- package/icons/gcp/user-preferences.js +9 -9
- package/icons/gcp/vertex-ai.js +27 -27
- package/icons/gcp/video-intelligence-api.js +6 -6
- package/icons/gcp/virtual-private-cloud.js +15 -15
- package/icons/gcp/visual-inspection.js +7 -7
- package/icons/gcp/vmware-engine.js +4 -4
- package/icons/gcp/web-risk.js +14 -14
- package/icons/gcp/web-security-scanner.js +11 -11
- package/icons/gcp/workflows.js +15 -15
- package/icons/gcp/workload-identity-pool.js +8 -8
- package/icons/tech/aarch64.js +10 -10
- package/icons/tech/adobe-illustrator.js +4 -4
- package/icons/tech/adobe-photoshop.js +4 -4
- package/icons/tech/adobe-premiere-pro.js +7 -7
- package/icons/tech/adobe-xd.js +4 -4
- package/icons/tech/adonis-js.js +4 -4
- package/icons/tech/after-effects.js +7 -7
- package/icons/tech/airflow.js +13 -13
- package/icons/tech/akka.js +6 -6
- package/icons/tech/algolia.js +4 -4
- package/icons/tech/alpine-js.js +6 -6
- package/icons/tech/amazon-web-services.js +6 -6
- package/icons/tech/anaconda.js +4 -4
- package/icons/tech/android-studio.js +11 -11
- package/icons/tech/android.js +8 -8
- package/icons/tech/angular-js.js +9 -9
- package/icons/tech/angular.js +7 -7
- package/icons/tech/ansible.js +6 -6
- package/icons/tech/ant-design.js +24 -24
- package/icons/tech/apache.js +74 -74
- package/icons/tech/apl.js +6 -6
- package/icons/tech/appcelerator.js +4 -4
- package/icons/tech/apple-safari.js +13 -13
- package/icons/tech/apple.js +4 -4
- package/icons/tech/appwrite.js +6 -6
- package/icons/tech/arch-linux.js +6 -6
- package/icons/tech/arduino.js +6 -6
- package/icons/tech/argo-cd.js +34 -34
- package/icons/tech/astro.js +14 -14
- package/icons/tech/atom.js +4 -4
- package/icons/tech/autodesk-maya.js +44 -44
- package/icons/tech/autodesk-shot-grid.js +6 -6
- package/icons/tech/awk.js +18 -18
- package/icons/tech/azios.js +4 -4
- package/icons/tech/azure-devops.js +11 -11
- package/icons/tech/azure-sql-database.js +22 -22
- package/icons/tech/azure.js +21 -21
- package/icons/tech/babel.js +6 -6
- package/icons/tech/backbone-js.js +7 -7
- package/icons/tech/ballerina.js +4 -4
- package/icons/tech/bamboo.js +14 -14
- package/icons/tech/bash.js +7 -7
- package/icons/tech/behance.js +9 -9
- package/icons/tech/bitbucket.js +9 -9
- package/icons/tech/blender.js +6 -6
- package/icons/tech/bootstrap.js +21 -21
- package/icons/tech/bower.js +18 -18
- package/icons/tech/browserstack.js +14 -14
- package/icons/tech/bulma.js +4 -4
- package/icons/tech/bun.js +17 -17
- package/icons/tech/c.js +7 -7
- package/icons/tech/cairo-graphics.js +6 -6
- package/icons/tech/cake-php.js +4 -4
- package/icons/tech/canva.js +6 -6
- package/icons/tech/capacitor.js +10 -10
- package/icons/tech/cassandra.js +17 -17
- package/icons/tech/cent-os.js +13 -13
- package/icons/tech/chrome.js +38 -38
- package/icons/tech/circle-ci.js +4 -4
- package/icons/tech/clarity.js +8 -8
- package/icons/tech/clion.js +30 -30
- package/icons/tech/clojure-script.js +8 -8
- package/icons/tech/clojure.js +9 -9
- package/icons/tech/cloudflare-workers.js +37 -37
- package/icons/tech/cloudflare.js +7 -7
- package/icons/tech/cmake.js +8 -8
- package/icons/tech/code-igniter.js +4 -4
- package/icons/tech/code-pen.js +4 -4
- package/icons/tech/codeac.js +4 -4
- package/icons/tech/codecov.js +4 -4
- package/icons/tech/coffee-script.js +4 -4
- package/icons/tech/composer.js +35 -35
- package/icons/tech/confluence.js +15 -15
- package/icons/tech/consul.js +4 -4
- package/icons/tech/contao.js +4 -4
- package/icons/tech/corejs.js +4 -4
- package/icons/tech/cosmosdb.js +9 -9
- package/icons/tech/couchdb.js +4 -4
- package/icons/tech/cplusplus.js +8 -8
- package/icons/tech/crystal.js +4 -4
- package/icons/tech/csharp.js +7 -7
- package/icons/tech/css3.js +10 -10
- package/icons/tech/cucumber.js +4 -4
- package/icons/tech/cypress.js +6 -6
- package/icons/tech/d3js.js +28 -28
- package/icons/tech/dart.js +9 -9
- package/icons/tech/data-grip.js +34 -34
- package/icons/tech/data-spell.js +27 -27
- package/icons/tech/dbeaver.js +11 -11
- package/icons/tech/debian.js +4 -4
- package/icons/tech/deno.js +4 -4
- package/icons/tech/devicon.js +10 -10
- package/icons/tech/digital-ocean.js +6 -6
- package/icons/tech/discord-js.js +11 -11
- package/icons/tech/django-rest.js +8 -8
- package/icons/tech/django.js +6 -6
- package/icons/tech/docker.js +20 -20
- package/icons/tech/doctrine.js +6 -6
- package/icons/tech/dropwizard.js +22 -22
- package/icons/tech/drupal.js +11 -11
- package/icons/tech/eclipse-ceylon.js +10 -10
- package/icons/tech/eclipse-ide.js +20 -20
- package/icons/tech/eclipse-vert-x.js +6 -6
- package/icons/tech/elasticbeats.js +7 -7
- package/icons/tech/elasticsearch.js +7 -7
- package/icons/tech/electron.js +8 -8
- package/icons/tech/eleventy-11ty.js +6 -6
- package/icons/tech/elixir.js +35 -35
- package/icons/tech/elm.js +10 -10
- package/icons/tech/embedded-c.js +30 -30
- package/icons/tech/ember-js.js +6 -6
- package/icons/tech/envoy.js +7 -7
- package/icons/tech/erlang.js +4 -4
- package/icons/tech/eslint.js +6 -6
- package/icons/tech/express.js +4 -4
- package/icons/tech/facebook.js +6 -6
- package/icons/tech/fast-api.js +4 -4
- package/icons/tech/fastify.js +6 -6
- package/icons/tech/fauna.js +4 -4
- package/icons/tech/feathers.js +4 -4
- package/icons/tech/fedora.js +10 -10
- package/icons/tech/figma.js +9 -9
- package/icons/tech/file-zilla.js +8 -8
- package/icons/tech/firebase.js +4 -4
- package/icons/tech/firefox.js +335 -335
- package/icons/tech/flask.js +4 -4
- package/icons/tech/flutter.js +12 -12
- package/icons/tech/fortran.js +4 -4
- package/icons/tech/foundation.js +37 -37
- package/icons/tech/fsharp.js +7 -7
- package/icons/tech/gatling.js +4 -4
- package/icons/tech/gatsby.js +4 -4
- package/icons/tech/gazebo.js +8 -8
- package/icons/tech/gcc.js +11 -11
- package/icons/tech/gentoo.js +4 -4
- package/icons/tech/ghost.js +6 -6
- package/icons/tech/gimp.js +68 -68
- package/icons/tech/git.js +4 -4
- package/icons/tech/gitbook.js +4 -4
- package/icons/tech/github-actions.js +6 -6
- package/icons/tech/github-codespaces.js +18 -18
- package/icons/tech/github.js +6 -6
- package/icons/tech/gitlab.js +8 -8
- package/icons/tech/gitpod.js +8 -8
- package/icons/tech/gitter.js +4 -4
- package/icons/tech/gnu-emacs.js +4 -4
- package/icons/tech/go-land.js +33 -33
- package/icons/tech/go.js +39 -39
- package/icons/tech/godot-engine.js +11 -11
- package/icons/tech/google-cloud.js +8 -8
- package/icons/tech/google.js +9 -9
- package/icons/tech/gradle.js +4 -4
- package/icons/tech/grafana.js +8 -8
- package/icons/tech/grails.js +6 -6
- package/icons/tech/graphql.js +12 -12
- package/icons/tech/groovy.js +102 -102
- package/icons/tech/grunt-js.js +33 -33
- package/icons/tech/gulp-js.js +4 -4
- package/icons/tech/hadoop.js +9 -9
- package/icons/tech/handlebars.js +6 -6
- package/icons/tech/hardhat.js +26 -26
- package/icons/tech/harvester.js +7 -7
- package/icons/tech/hashicorp-vault.js +4 -4
- package/icons/tech/haskell.js +7 -7
- package/icons/tech/haxe.js +14 -14
- package/icons/tech/helm.js +4 -4
- package/icons/tech/heroku.js +4 -4
- package/icons/tech/hibernate.js +6 -6
- package/icons/tech/homebrew.js +9 -9
- package/icons/tech/html5.js +8 -8
- package/icons/tech/hugo.js +7 -7
- package/icons/tech/ibm-spss-statistics.js +6 -6
- package/icons/tech/ie10.js +4 -4
- package/icons/tech/ifttt.js +4 -4
- package/icons/tech/influxdb.js +4 -4
- package/icons/tech/inkscape.js +115 -115
- package/icons/tech/insomnia.js +10 -10
- package/icons/tech/intellij-idea.js +37 -37
- package/icons/tech/ionic.js +6 -6
- package/icons/tech/jaeger.js +21 -21
- package/icons/tech/jamstack.js +4 -4
- package/icons/tech/jasmine.js +7 -7
- package/icons/tech/java.js +9 -9
- package/icons/tech/javascript.js +6 -6
- package/icons/tech/jeet.js +32 -32
- package/icons/tech/jekyll.js +43 -43
- package/icons/tech/jenkins.js +21 -21
- package/icons/tech/jest.js +4 -4
- package/icons/tech/jetbrains.js +26 -26
- package/icons/tech/jira-align.js +15 -15
- package/icons/tech/jira.js +14 -14
- package/icons/tech/jquery.js +4 -4
- package/icons/tech/json.js +12 -12
- package/icons/tech/jule.js +4 -4
- package/icons/tech/julia.js +10 -10
- package/icons/tech/junit.js +6 -6
- package/icons/tech/jupyter.js +8 -8
- package/icons/tech/k3os.js +4 -4
- package/icons/tech/k3s.js +4 -4
- package/icons/tech/kafka.js +4 -4
- package/icons/tech/kaggle.js +4 -4
- package/icons/tech/karate.js +6 -6
- package/icons/tech/karma.js +6 -6
- package/icons/tech/keras.js +6 -6
- package/icons/tech/kibana.js +7 -7
- package/icons/tech/knex-js.js +4 -4
- package/icons/tech/knockout.js +4 -4
- package/icons/tech/kotlin.js +9 -9
- package/icons/tech/krakenjs.js +4 -4
- package/icons/tech/ktor.js +18 -18
- package/icons/tech/kubernetes.js +7 -7
- package/icons/tech/labview.js +7 -7
- package/icons/tech/laravel.js +4 -4
- package/icons/tech/latex.js +9 -9
- package/icons/tech/less-js.js +4 -4
- package/icons/tech/linkedin.js +6 -6
- package/icons/tech/linux.js +803 -803
- package/icons/tech/liquibase.js +4 -4
- package/icons/tech/livewire.js +12 -12
- package/icons/tech/llvm.js +9 -9
- package/icons/tech/logstash.js +7 -7
- package/icons/tech/lua.js +7 -7
- package/icons/tech/lumen.js +4 -4
- package/icons/tech/magento.js +4 -4
- package/icons/tech/markdown.js +6 -6
- package/icons/tech/material-ui.js +8 -8
- package/icons/tech/materialize.js +6 -6
- package/icons/tech/matlab.js +25 -25
- package/icons/tech/matplotlib.js +26 -26
- package/icons/tech/maven.js +141 -141
- package/icons/tech/meteor-js.js +4 -4
- package/icons/tech/microsoft-sql-server.js +4 -4
- package/icons/tech/minitab.js +11 -11
- package/icons/tech/mob-x.js +9 -9
- package/icons/tech/mocha.js +6 -6
- package/icons/tech/modx.js +8 -8
- package/icons/tech/moleculer.js +4 -4
- package/icons/tech/mongodb.js +20 -20
- package/icons/tech/mongoose-js.js +6 -6
- package/icons/tech/moodle.js +41 -41
- package/icons/tech/ms-dos.js +15 -15
- package/icons/tech/mysql.js +4 -4
- package/icons/tech/nano.js +4 -4
- package/icons/tech/nerog.js +27 -27
- package/icons/tech/nestjs.js +4 -4
- package/icons/tech/net-core.js +6 -6
- package/icons/tech/net.js +120 -120
- package/icons/tech/network-x.js +13 -13
- package/icons/tech/new4j.js +6 -6
- package/icons/tech/nextjs.js +4 -4
- package/icons/tech/nginx.js +4 -4
- package/icons/tech/nhibernate.js +6 -6
- package/icons/tech/nim.js +6 -6
- package/icons/tech/nimble.js +11 -11
- package/icons/tech/nix.js +6 -6
- package/icons/tech/nodejs.js +4 -4
- package/icons/tech/nodemon.js +6 -6
- package/icons/tech/nodewebkit.js +9 -9
- package/icons/tech/npm.js +4 -4
- package/icons/tech/nuget.js +4 -4
- package/icons/tech/num-py.js +6 -6
- package/icons/tech/nuxt-js.js +7 -7
- package/icons/tech/objective-c.js +6 -6
- package/icons/tech/ocaml.js +22 -22
- package/icons/tech/oh-my-zsh.js +8 -8
- package/icons/tech/okta.js +6 -6
- package/icons/tech/open-al.js +6 -6
- package/icons/tech/open-api.js +16 -16
- package/icons/tech/open-cl.js +9 -9
- package/icons/tech/open-cv.js +7 -7
- package/icons/tech/open-gl.js +8 -8
- package/icons/tech/open-stack.js +4 -4
- package/icons/tech/open-suse.js +6 -6
- package/icons/tech/open-telemetry.js +6 -6
- package/icons/tech/opera.js +14 -14
- package/icons/tech/oracle.js +4 -4
- package/icons/tech/p5js.js +4 -4
- package/icons/tech/packer.js +6 -6
- package/icons/tech/pandas.js +9 -9
- package/icons/tech/perl.js +6 -6
- package/icons/tech/pf-sense.js +4 -4
- package/icons/tech/phalcon.js +29 -29
- package/icons/tech/phoenix-framework.js +4 -4
- package/icons/tech/photon-engine.js +12 -12
- package/icons/tech/php-storm.js +31 -31
- package/icons/tech/php.js +17 -17
- package/icons/tech/playwrite.js +11 -11
- package/icons/tech/ploty.js +7 -7
- package/icons/tech/podman.js +27 -27
- package/icons/tech/polygon.js +6 -6
- package/icons/tech/portainer.js +9 -9
- package/icons/tech/postcss.js +7 -7
- package/icons/tech/postgresql.js +8 -8
- package/icons/tech/postman.js +7 -7
- package/icons/tech/powershell.js +17 -17
- package/icons/tech/processing.js +98 -98
- package/icons/tech/prometheus.js +4 -4
- package/icons/tech/protractor.js +4 -4
- package/icons/tech/purescript.js +4 -4
- package/icons/tech/putty.js +47 -47
- package/icons/tech/pycharm.js +55 -55
- package/icons/tech/pyscript.js +6 -6
- package/icons/tech/pytest.js +12 -12
- package/icons/tech/python-poetry.js +37 -37
- package/icons/tech/python.js +16 -16
- package/icons/tech/pytorch.js +6 -6
- package/icons/tech/qodana.js +22 -22
- package/icons/tech/qt.js +4 -4
- package/icons/tech/quarkus.js +14 -14
- package/icons/tech/quasar.js +6 -6
- package/icons/tech/qwik.js +7 -7
- package/icons/tech/r.js +13 -13
- package/icons/tech/rabbitmq.js +4 -4
- package/icons/tech/rancher.js +4 -4
- package/icons/tech/raspberrypi.js +7 -7
- package/icons/tech/reach.js +6 -6
- package/icons/tech/react-bootstrap.js +4 -4
- package/icons/tech/react.js +6 -6
- package/icons/tech/realm.js +12 -12
- package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +8 -8
- package/icons/tech/redhat.js +7 -7
- package/icons/tech/redis.js +14 -14
- package/icons/tech/redux.js +4 -4
- package/icons/tech/ren-py.js +164 -164
- package/icons/tech/rider.js +20 -20
- package/icons/tech/robot-operating-system-ros.js +4 -4
- package/icons/tech/rocksdb.js +6 -6
- package/icons/tech/rollup-js.js +37 -37
- package/icons/tech/rspec.js +8 -8
- package/icons/tech/rstudio.js +7 -7
- package/icons/tech/ruby-mine.js +28 -28
- package/icons/tech/ruby-on-rails.js +4 -4
- package/icons/tech/ruby.js +120 -120
- package/icons/tech/rust.js +4 -4
- package/icons/tech/salesforce.js +7 -7
- package/icons/tech/sanity.js +7 -7
- package/icons/tech/sass.js +4 -4
- package/icons/tech/scala.js +6 -6
- package/icons/tech/scalingo.js +6 -6
- package/icons/tech/sdl.js +11 -11
- package/icons/tech/selenium.js +6 -6
- package/icons/tech/sema-software.js +4 -4
- package/icons/tech/sequelize.js +31 -31
- package/icons/tech/shopware.js +6 -6
- package/icons/tech/sketch.js +11 -11
- package/icons/tech/slack.js +8 -8
- package/icons/tech/socket-io.js +6 -6
- package/icons/tech/solid-js.js +27 -27
- package/icons/tech/solidity.js +10 -10
- package/icons/tech/sonarqube.js +4 -4
- package/icons/tech/sourcetree.js +4 -4
- package/icons/tech/spark.js +4 -4
- package/icons/tech/splunk.js +4 -4
- package/icons/tech/spring.js +4 -4
- package/icons/tech/sql-developer.js +10 -10
- package/icons/tech/sqlalchemy.js +6 -6
- package/icons/tech/sqlite.js +11 -11
- package/icons/tech/ssh.js +4 -4
- package/icons/tech/stackoverflow.js +6 -6
- package/icons/tech/stata.js +4 -4
- package/icons/tech/storybook.js +4 -4
- package/icons/tech/streamlit.js +7 -7
- package/icons/tech/stylus.js +6 -6
- package/icons/tech/subversion.js +4 -4
- package/icons/tech/svelte.js +6 -6
- package/icons/tech/swagger.js +6 -6
- package/icons/tech/swift.js +6 -6
- package/icons/tech/symfony.js +4 -4
- package/icons/tech/tailwind-css.js +4 -4
- package/icons/tech/tauri.js +8 -8
- package/icons/tech/tensorflow.js +4 -4
- package/icons/tech/terraform.js +7 -7
- package/icons/tech/tex.js +4 -4
- package/icons/tech/the-algorithms.js +4 -4
- package/icons/tech/three-js.js +8 -8
- package/icons/tech/titanium-sdk.js +4 -4
- package/icons/tech/tomcat.js +11 -11
- package/icons/tech/tortoise-git.js +9 -9
- package/icons/tech/tower.js +139 -139
- package/icons/tech/traefik-mesh.js +4 -4
- package/icons/tech/traefik-proxy.js +4 -4
- package/icons/tech/travis-ci.js +4 -4
- package/icons/tech/trello.js +4 -4
- package/icons/tech/twitter.js +4 -4
- package/icons/tech/typescript.js +6 -6
- package/icons/tech/typo3.js +4 -4
- package/icons/tech/ubuntu.js +4 -4
- package/icons/tech/uml.js +8 -8
- package/icons/tech/unity.js +7 -7
- package/icons/tech/unix.js +4 -4
- package/icons/tech/unreal-engine.js +6 -6
- package/icons/tech/uwsgi.js +11 -11
- package/icons/tech/v8.js +33 -33
- package/icons/tech/vagrant.js +6 -6
- package/icons/tech/vala.js +18 -18
- package/icons/tech/vercel.js +4 -4
- package/icons/tech/veutify.js +8 -8
- package/icons/tech/vim.js +37 -37
- package/icons/tech/visualstudio.js +4 -4
- package/icons/tech/vite.js +4 -4
- package/icons/tech/vitejs.js +14 -14
- package/icons/tech/vscode.js +31 -31
- package/icons/tech/vsphere.js +9 -9
- package/icons/tech/vue-storefront.js +7 -7
- package/icons/tech/vue.js +7 -7
- package/icons/tech/vyper.js +8 -8
- package/icons/tech/webassembly.js +4 -4
- package/icons/tech/webflow.js +4 -4
- package/icons/tech/weblate.js +17 -17
- package/icons/tech/webpack.js +6 -6
- package/icons/tech/webstorm.js +19 -19
- package/icons/tech/windows11.js +4 -4
- package/icons/tech/windows8.js +4 -4
- package/icons/tech/woo-commerce.js +7 -7
- package/icons/tech/wordpress.js +11 -11
- package/icons/tech/xamarin.js +4 -4
- package/icons/tech/xcode.js +251 -251
- package/icons/tech/xml.js +8 -8
- package/icons/tech/yaml.js +7 -7
- package/icons/tech/yarn.js +6 -6
- package/icons/tech/yii-framework.js +8 -8
- package/icons/tech/yuno-host.js +6 -6
- package/icons/tech/zend-framework.js +4 -4
- package/icons/tech/zig.js +13 -13
- package/package.json +49 -49
- package/react/index.d.ts +1413 -754
- package/react/index.mjs +6310 -1453
- package/react/style.css +1 -1
- package/dist/shared/likec4.DKLo7EEm.mjs +0 -1221
package/dist/cli/index.mjs
CHANGED
|
@@ -1,44 +1,86 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{l as Ke,m as Mu,n as Ju,o as qe,p as Wu,r as Ye,w as zu,y as Hu,z as Xe,A as Ze,D as Gu,E as a,G as Ku,_ as x,H as qu,I as Yu,J as R,K as Xu,M as Zu,O as Qu,P as Qe,S as eu,k as z,C as et,U as ut,V as le,q as uu,T as be,W as tu,X as tt,Z as nu,$ as iu,a0 as ru,a1 as nt}from"../shared/likec4.DKLo7EEm.mjs";import{DEV as it}from"esm-env";import{hrtime as rt,cwd as ou,argv as ot,stdout as at,exit as st}from"node:process";import Dt from"yargs";import{hideBin as ct}from"yargs/helpers";import{resolve as y,dirname as ne,join as ie,extname as pe,relative as Z,isAbsolute as au,basename as ke}from"node:path";import{existsSync as K,copyFileSync as su,rmSync as Du}from"node:fs";import{mkdtemp as fe,writeFile as Q,mkdir as H,stat as cu,copyFile as dt,rm as lt}from"node:fs/promises";import pt,{tmpdir as me}from"node:os";import{fileURLToPath as ft}from"node:url";import{build as re,createServer as mt,preview as Ct}from"vite";import{chromium as du}from"playwright";import gt from"node:net";import{setTimeout as Ft}from"node:timers/promises";import{resolve as oe}from"path";import Et from"@vitejs/plugin-react";import"tty";import"node:util";import"node:child_process";import"node:string_decoder";import"node:tty";import"child_process";import"fs";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"buffer";import"util";import"os";import"crypto";import"net";import"url";import"@hpcc-js/wasm-graphviz";const Ce={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:y},V={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},lu={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},ge={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:y},Se={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},pu={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},fu={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function At(e){var u,n;if(e){if("astNode"in e)return vt(e);if(Array.isArray(e))return e.reduce(mu,void 0);{const t=e,i=ht(t)?wt((n=(u=t?.root)===null||u===void 0?void 0:u.astNode)!==null&&n!==void 0?n:t?.astNode):void 0;return ee(t,i)}}else return}function ht(e){return typeof e<"u"&&"element"in e&&"text"in e}function wt(e){try{return Ke(e).uri.toString()}catch{return}}function vt(e){var u,n;const{astNode:t,property:i,index:r}=e??{},o=(u=t?.$cstNode)!==null&&u!==void 0?u:t?.$textRegion;if(!(t===void 0||o===void 0)){if(i===void 0)return ee(o,$e(t));{const c=D=>r!==void 0&&r>-1&&Array.isArray(t[i])?r<D.length?D[r]:void 0:D.reduce(mu,void 0);if(!((n=o.assignments)===null||n===void 0)&&n[i]){const D=c(o.assignments[i]);return D&&ee(D,$e(t))}else if(t.$cstNode){const D=c(Mu(t.$cstNode,i));return D&&ee(D,$e(t))}else return}}}function $e(e){var u,n,t,i;return e.$cstNode?(n=(u=Ke(e))===null||u===void 0?void 0:u.uri)===null||n===void 0?void 0:n.toString():e.$textRegion?e.$textRegion.documentURI||((i=(t=new Ju(e,r=>r.$container?[r.$container]:[]).find(r=>{var o;return(o=r.$textRegion)===null||o===void 0?void 0:o.documentURI}))===null||t===void 0?void 0:t.$textRegion)===null||i===void 0?void 0:i.documentURI):void 0}function ee(e,u){var n,t;const i={offset:e.offset,end:(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,length:(t=e.length)!==null&&t!==void 0?t:e.end-e.offset};return e.range&&(i.range=e.range),u??(u=e.fileURI),u&&(i.fileURI=u),i}function mu(e,u){var n,t;if(e){if(!u)return e&&ee(e)}else return u&&ee(u);const i=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,r=(t=u.end)!==null&&t!==void 0?t:u.offset+u.length,o=Math.min(e.offset,u.offset),c=Math.max(i,r),D=c-o,l={offset:o,end:c,length:D};if(e.range&&u.range&&(l.range={start:u.range.start.line<e.range.start.line||u.range.start.line===e.range.start.line&&u.range.start.character<e.range.start.character?u.range.start:e.range.start,end:u.range.end.line>e.range.end.line||u.range.end.line===e.range.end.line&&u.range.end.character>e.range.end.character?u.range.end:e.range.end}),e.fileURI||u.fileURI){const d=e.fileURI,f=u.fileURI,p=d&&f&&d!==f?`<unmergable text regions of ${d}, ${f}>`:d??f;l.fileURI=p}return l}class Bt{constructor(u){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof u=="string"?this.defaultIndentation=u:typeof u=="number"&&(this.defaultIndentation="".padStart(u))}get content(){return this.lines.map(u=>u.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(u,n){if(u.length>0){const t=n&&this.currentPosition;this.lines[this.currentLineNumber].push(u),this.length+=u.length,t&&this.indentPendingTraceRegions(t)}}indentPendingTraceRegions(u){for(let n=this.traceData.length-1;n>=0;n--){const t=this.traceData[n];t.targetStart&&t.targetStart.offset===u.offset&&(t.targetStart=this.currentPosition)}}increaseIndent(u){this.currentIndents.push(u),u.indentImmediately||this.recentNonImmediateIndents.push(u)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(u=>!this.recentNonImmediateIndents.includes(u))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(u){const n=yt(u,this.currentPosition,t=>{var i,r;return(r=(i=this.traceData[this.traceData.length-1])===null||i===void 0?void 0:i.children)===null||r===void 0?void 0:r.push(t)});return this.traceData.push(n),n}popTraceRegion(u){const n=this.traceData.pop();return this.assertTrue(n===u,"Trace region mismatch!"),n}getParentTraceSourceFileURI(){var u;for(let n=this.traceData.length-1;n>-1;n--){const t=(u=this.traceData[n].sourceRegion)===null||u===void 0?void 0:u.fileURI;if(t)return t}}assertTrue(u,n){if(!u)throw new Error(n)}}function yt(e,u,n){const t={sourceRegion:e,targetRegion:void 0,children:[],targetStart:u,complete:i=>{var r,o;return t.targetRegion={offset:t.targetStart.offset,end:i.offset,length:i.offset-t.targetStart.offset,range:{start:{line:t.targetStart.line,character:t.targetStart.character},end:{line:i.line,character:i.character}}},delete t.targetStart,((r=t.children)===null||r===void 0?void 0:r.length)===0&&delete t.children,!((o=t.targetRegion)===null||o===void 0)&&o.length&&n(t),delete t.complete,t}};return t}function bt(e,u){const n=new Bt(u),t=n.pushTraceRegion(void 0);Cu(e,n),n.popTraceRegion(t),t.complete&&t.complete(n.currentPosition);const i=t.children&&t.children.length===1?t.children[0]:void 0,r=i?.targetRegion,o=t.targetRegion;return r&&i.sourceRegion&&r.offset===o.offset&&r.length===o.length?{text:n.content,trace:i}:{text:n.content,trace:t}}function Cu(e,u){typeof e=="string"?kt(e,u):e instanceof Ne?St(e,u):e instanceof I?Eu(e,u):e instanceof se&&$t(e,u)}function gu(e,u){return typeof e=="string"?e.length!==0:e instanceof I?e.contents.some(n=>gu(n,u)):e instanceof se?!(e.ifNotEmpty&&u.currentLineContent.length===0):!1}function kt(e,u){e&&(u.pendingIndent&&Fu(u,!1),u.append(e))}function Fu(e,u){var n;let t="";for(const i of e.relevantIndents.filter(r=>r.indentEmptyLines||!u))t+=(n=i.indentation)!==null&&n!==void 0?n:e.defaultIndentation;e.append(t,!0),e.pendingIndent=!1}function Eu(e,u){let n;const t=At(e.tracedSource);t&&(n=u.pushTraceRegion(t));for(const i of e.contents)Cu(i,u);if(n){u.popTraceRegion(n);const i=u.getParentTraceSourceFileURI();i&&t?.fileURI===i&&delete t.fileURI,n.complete&&n.complete(u.currentPosition)}}function St(e,u){var n;if(gu(e,u)){e.indentImmediately&&!u.pendingIndent&&u.append((n=e.indentation)!==null&&n!==void 0?n:u.defaultIndentation,!0);try{u.increaseIndent(e),Eu(e,u)}finally{u.decreaseIndent()}}}function $t(e,u){e.ifNotEmpty&&!It(u.currentLineContent)?u.resetCurrentLine():(u.pendingIndent&&Fu(u,!0),u.append(e.lineDelimiter),u.addNewLine())}function It(e){return e.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Nt=/\S|$/;function Lt(e){const u=e.filter(t=>t.length>0).map(t=>t.search(Nt)),n=u.length===0?0:Math.min(...u);return Math.max(0,n)}function _(e,...u){const n=Pt(e),t=Tt(e,u,n);return jt(t)}function xt(e,u,n){return(t,...i)=>Vt(e,u,n)(_(t,...i))}function Pt(e){const u=e.join("_").split(qe),n=u.length>1&&u[0].trim().length===0,t=n&&u.length>1&&u[u.length-1].trim().length===0;if(u.length===1||u.length!==0&&u[0].trim().length!==0||u.length===2&&u[1].trim().length===0)return{indentation:0,omitFirstLine:n,omitLastLine:t,trimLastLine:u.length!==1&&u[u.length-1].trim().length===0};{let i=n?u.slice(1):u;i=t?i.slice(0,i.length-1):i,i=i.filter(o=>o.length!==0);const r=Lt(i);return{indentation:r,omitFirstLine:n,omitLastLine:t&&(u[u.length-1].length<r||!u[u.length-1].startsWith(i[0].substring(0,r)))}}}function Tt(e,u,{indentation:n,omitFirstLine:t,omitLastLine:i,trimLastLine:r}){const o=[];e.forEach((l,d)=>{o.push(...l.split(qe).map((f,p)=>p===0||f.length<n?f:f.substring(n)).reduce(d===0?(f,p,h)=>h===0?t?[]:[p]:h===1&&f.length===0?[p]:f.concat(Fe,p):(f,p,h)=>h===0?[p]:f.concat(Fe,p),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(ae(u[d])?u[d]:u[d]!==void 0?{content:String(u[d])}:d<u.length?Au:[]))});const c=o.length,D=c!==0?o[c-1]:void 0;return(i||r)&&typeof D=="string"&&D.trim().length===0?t&&c!==1&&o[c-2]===Fe?o.slice(0,c-2):o.slice(0,c-1):o}const Fe={isNewLine:!0},Au={isUndefinedSegment:!0},hu=e=>e===Fe,Ie=e=>e===Au,Ot=e=>e.content!==void 0;function jt(e){return e.reduce((n,t,i)=>Ie(t)?n:hu(t)?{node:i!==0&&(Ie(e[i-1])||ae(e[i-1]))||i>1&&typeof e[i-1]=="string"&&(Ie(e[i-2])||ae(e[i-2]))?n.node.appendNewLineIfNotEmpty():n.node.appendNewLine()}:(()=>{var r;const o=(i===0||hu(e[i-1]))&&typeof t=="string"&&t.length!==0?"".padStart(t.length-t.trimStart().length):"",c=Ot(t)?t.content:t;let D;return{node:n.indented?n.node:o.length!==0?n.node.indent({indentation:o,indentImmediately:!1,indentedChildren:l=>D=l.append(c)}):n.node.append(c),indented:D??((r=n.indented)===null||r===void 0?void 0:r.append(c))}})(),{node:new I}).node}const Rt=typeof process>"u"?`
|
|
2
|
+
import{hrtime as zs,cwd as hi,stdout as Hs,exit as Gs,argv as Ys}from"node:process";import{m as qt,o as pi,p as qs,s as Js,N as mi,t as Ks,v as gi,y as Qs,z as Xs,A as Di,B as Ci,D as Zs,E as b,F as er,G as De,I as tr,K as nr,M as ke,R as ir,U as sr,V as rr,W as wi,X as Ai,e as qe,C as ur,Y as or,$ as Jt,q as Ei,b as yn,a0 as bi,a1 as ar,a2 as Fi,a3 as yi,a4 as vi,a5 as cr}from"../shared/likec4.Ceq7jJZD.mjs";import{notStrictEqual as lr,strictEqual as fr}from"assert";import{resolve as je,dirname as vn,normalize as dr,basename as hr,extname as pr,relative as mr}from"path";import{statSync as Bi,readdirSync as gr,readFileSync as Bn,writeFile as Dr}from"fs";import{format as Oi,inspect as Cr}from"util";import{fileURLToPath as wr}from"url";import{resolve as Q,dirname as _t,join as St,extname as Kt,relative as wt,isAbsolute as _i,basename as On}from"node:path";import{existsSync as st,copyFileSync as Si,rmSync as Ii}from"node:fs";import{mkdtemp as Qt,writeFile as At,mkdir as Je,stat as xi,copyFile as Ar,rm as Er}from"node:fs/promises";import br,{tmpdir as Xt}from"node:os";import{fileURLToPath as Fr}from"node:url";import{build as It,createServer as yr,preview as vr}from"vite";import{chromium as $i}from"playwright";import Br from"node:net";import{setTimeout as Or}from"node:timers/promises";import _r from"@vitejs/plugin-react-swc";import"tty";import"@hpcc-js/wasm-graphviz";import"node:util";import"node:tty";import"node:child_process";import"node:string_decoder";import"child_process";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"buffer";import"os";import"crypto";import"net";const Sr={right:Nr,center:Lr},Ir=0,Zt=1,xr=2,en=3;class $r{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
|
|
3
|
+
`).map(s=>s.split(" "));let n=0;return t.forEach(s=>{s.length>1&&Ee.stringWidth(s[0])>n&&(n=Math.min(Math.floor(this.width*.5),Ee.stringWidth(s[0])))}),t.forEach(s=>{this.div(...s.map((r,u)=>({text:r.trim(),padding:this.measurePadding(r),width:u===0&&s.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){const t=Ee.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){const e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
|
|
4
|
+
`)}rowToString(e,t){return this.rasterize(e).forEach((n,s)=>{let r="";n.forEach((u,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=u;if(h>Ee.stringWidth(u)&&(l+=" ".repeat(h-Ee.stringWidth(u))),e[a].align&&e[a].align!=="left"&&this.wrap){const m=Sr[e[a].align];l=m(l,h),Ee.stringWidth(l)<h&&(l+=" ".repeat((c||0)-Ee.stringWidth(l)-1))}const f=e[a].padding||[0,0,0,0];f[en]&&(r+=" ".repeat(f[en])),r+=ji(e[a],l,"| "),r+=l,r+=ji(e[a],l," |"),f[Zt]&&(r+=" ".repeat(f[Zt])),s===0&&t.length>0&&(r=this.renderInline(r,t[t.length-1]))}),t.push({text:r.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){const n=e.match(/^ */),s=n?n[0].length:0,r=t.text,u=Ee.stringWidth(r.trimRight());return t.span?this.wrap?s<u?e:(t.hidden=!0,r.trimRight()+" ".repeat(s-u)+e.trimLeft()):(t.hidden=!0,r+e):e}rasterize(e){const t=[],n=this.columnWidths(e);let s;return e.forEach((r,u)=>{r.width=n[u],this.wrap?s=Ee.wrap(r.text,this.negatePadding(r),{hard:!0}).split(`
|
|
5
|
+
`):s=r.text.split(`
|
|
6
|
+
`),r.border&&(s.unshift("."+"-".repeat(this.negatePadding(r)+2)+"."),s.push("'"+"-".repeat(this.negatePadding(r)+2)+"'")),r.padding&&(s.unshift(...new Array(r.padding[Ir]||0).fill("")),s.push(...new Array(r.padding[xr]||0).fill(""))),s.forEach((a,c)=>{t[c]||t.push([]);const h=t[c];for(let l=0;l<u;l++)h[l]===void 0&&h.push("");h.push(a)})}),t}negatePadding(e){let t=e.width||0;return e.padding&&(t-=(e.padding[en]||0)+(e.padding[Zt]||0)),e.border&&(t-=4),t}columnWidths(e){if(!this.wrap)return e.map(u=>u.width||Ee.stringWidth(u.text));let t=e.length,n=this.width;const s=e.map(u=>{if(u.width)return t--,n-=u.width,u.width}),r=t?Math.floor(n/t):0;return s.map((u,a)=>u===void 0?Math.max(r,jr(e[a])):u)}}function ji(i,e,t){return i.border?/[.']-+[.']/.test(e)?"":e.trim().length!==0?t:" ":""}function jr(i){const e=i.padding||[],t=1+(e[en]||0)+(e[Zt]||0);return i.border?t+4:t}function Pr(){return typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80}function Nr(i,e){i=i.trim();const t=Ee.stringWidth(i);return t<e?" ".repeat(e-t)+i:i}function Lr(i,e){i=i.trim();const t=Ee.stringWidth(i);return t>=e?i:" ".repeat(e-t>>1)+i}let Ee;function Mr(i,e){return Ee=e,new $r({width:i?.width||Pr(),wrap:i?.wrap})}const Pi=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function Ni(i){return i.replace(Pi,"")}function kr(i,e){const[t,n]=i.match(Pi)||["",""];i=Ni(i);let s="";for(let r=0;r<i.length;r++)r!==0&&r%e===0&&(s+=`
|
|
7
|
+
`),s+=i.charAt(r);return t&&n&&(s=`${t}${s}${n}`),s}function Tr(i){return Mr(i,{stringWidth:e=>[...e].length,stripAnsi:Ni,wrap:kr})}function Rr(i,e){let t=je(".",i),n;for(Bi(t).isDirectory()||(t=vn(t));;){if(n=e(t,gr(t)),n)return je(t,n);if(t=vn(n=t),n===t)break}}function xt(i){if(i!==i.toLowerCase()&&i!==i.toUpperCase()||(i=i.toLowerCase()),i.indexOf("-")===-1&&i.indexOf("_")===-1)return i;{let t="",n=!1;const s=i.match(/^-+/);for(let r=s?s[0].length:0;r<i.length;r++){let u=i.charAt(r);n&&(n=!1,u=u.toUpperCase()),r!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(t+=u)}return t}}function Li(i,e){const t=i.toLowerCase();e=e||"-";let n="";for(let s=0;s<i.length;s++){const r=t.charAt(s),u=i.charAt(s);r!==u&&s>0?n+=`${e}${t.charAt(s)}`:n+=u}return n}function Mi(i){return i==null?!1:typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^0[^.]/.test(i)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Wr(i){if(Array.isArray(i))return i.map(u=>typeof u!="string"?u+"":u);i=i.trim();let e=0,t=null,n=null,s=null;const r=[];for(let u=0;u<i.length;u++){if(t=n,n=i.charAt(u),n===" "&&!s){t!==" "&&e++;continue}n===s?s=null:(n==="'"||n==='"')&&!s&&(s=n),r[e]||(r[e]=""),r[e]+=n}return r}var Pe;(function(i){i.BOOLEAN="boolean",i.STRING="string",i.NUMBER="number",i.ARRAY="array"})(Pe||(Pe={}));let ze;class Ur{constructor(e){ze=e}parse(e,t){const n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),s=Wr(e),r=typeof e=="string",u=Vr(Object.assign(Object.create(null),n.alias)),a=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),c=Object.assign(Object.create(null),n.default),h=n.configObjects||[],l=n.envPrefix,f=a["populate--"],m=f?"--":"_",C=Object.create(null),F=Object.create(null),w=n.__||ze.format,p={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},y=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,B=new RegExp("^--"+a["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(d){const D=typeof d=="object"?d.key:d,v=Object.keys(d).map(function(A){return{boolean:"bools",string:"strings",number:"numbers"}[A]}).filter(Boolean).pop();v&&(p[v][D]=!0),p.arrays[D]=!0,p.keys.push(D)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(d){p.bools[d]=!0,p.keys.push(d)}),[].concat(n.string||[]).filter(Boolean).forEach(function(d){p.strings[d]=!0,p.keys.push(d)}),[].concat(n.number||[]).filter(Boolean).forEach(function(d){p.numbers[d]=!0,p.keys.push(d)}),[].concat(n.count||[]).filter(Boolean).forEach(function(d){p.counts[d]=!0,p.keys.push(d)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(d){p.normalize[d]=!0,p.keys.push(d)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([d,D])=>{typeof D=="number"&&(p.nargs[d]=D,p.keys.push(d))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([d,D])=>{typeof D=="function"&&(p.coercions[d]=D,p.keys.push(d))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(d){p.configs[d]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([d,D])=>{(typeof D=="boolean"||typeof D=="function")&&(p.configs[d]=D)})),it(n.key,u,n.default,p.arrays),Object.keys(c).forEach(function(d){(p.aliases[d]||[]).forEach(function(D){c[D]=c[d]})});let M=null;Yt();let L=[];const U=Object.assign(Object.create(null),{_:[]}),Ce={};for(let d=0;d<s.length;d++){const D=s[d],v=D.replace(/^-{3,}/,"---");let A,g,$,_,N,pe;if(D!=="--"&&/^-/.test(D)&&ie(D))Ie(D);else if(v.match(/^---+(=|$)/)){Ie(D);continue}else if(D.match(/^--.+=/)||!a["short-option-groups"]&&D.match(/^-.+=/))_=D.match(/^--?([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&(T(_[1],p.arrays)?d=tt(d,_[1],s,_[2]):T(_[1],p.nargs)!==!1?d=Ct(d,_[1],s,_[2]):X(_[1],_[2],!0));else if(D.match(B)&&a["boolean-negation"])_=D.match(B),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],X(g,T(g,p.arrays)?[!1]:!1));else if(D.match(/^--.+/)||!a["short-option-groups"]&&D.match(/^-[^-]+/))_=D.match(/^--?(.+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],T(g,p.arrays)?d=tt(d,g,s):T(g,p.nargs)!==!1?d=Ct(d,g,s):(N=s[d+1],N!==void 0&&(!N.match(/^-/)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,se(g))));else if(D.match(/^-.\..+=/))_=D.match(/^-([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&X(_[1],_[2]);else if(D.match(/^-.\..+/)&&!D.match(y))N=s[d+1],_=D.match(/^-(.\..+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],N!==void 0&&!N.match(/^-/)&&!T(g,p.bools)&&!T(g,p.counts)?(X(g,N),d++):X(g,se(g)));else if(D.match(/^-[^-]+/)&&!D.match(y)){$=D.slice(1,-1).split(""),A=!1;for(let we=0;we<$.length;we++){if(N=D.slice(we+2),$[we+1]&&$[we+1]==="="){pe=D.slice(we+3),g=$[we],T(g,p.arrays)?d=tt(d,g,s,pe):T(g,p.nargs)!==!1?d=Ct(d,g,s,pe):X(g,pe),A=!0;break}if(N==="-"){X($[we],N);continue}if(/[A-Za-z]/.test($[we])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(N)&&T(N,p.bools)===!1){X($[we],N),A=!0;break}if($[we+1]&&$[we+1].match(/\W/)){X($[we],N),A=!0;break}else X($[we],se($[we]))}g=D.slice(-1)[0],!A&&g!=="-"&&(T(g,p.arrays)?d=tt(d,g,s):T(g,p.nargs)!==!1?d=Ct(d,g,s):(N=s[d+1],N!==void 0&&(!/^(-|--)[^-]/.test(N)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,se(g))))}else if(D.match(/^-[0-9]$/)&&D.match(y)&&T(D.slice(1),p.bools))g=D.slice(1),X(g,se(g));else if(D==="--"){L=s.slice(d+1);break}else if(a["halt-at-non-option"]){L=s.slice(d);break}else Ie(D)}J(U,!0),J(U,!1),V(U),de(),ne(U,p.aliases,c,!0),he(U),a["set-placeholder-key"]&&nt(U),Object.keys(p.counts).forEach(function(d){Ue(U,d.split("."))||X(d,0)}),f&&L.length&&(U[m]=[]),L.forEach(function(d){U[m].push(d)}),a["camel-case-expansion"]&&a["strip-dashed"]&&Object.keys(U).filter(d=>d!=="--"&&d.includes("-")).forEach(d=>{delete U[d]}),a["strip-aliased"]&&[].concat(...Object.keys(u).map(d=>u[d])).forEach(d=>{a["camel-case-expansion"]&&d.includes("-")&&delete U[d.split(".").map(D=>xt(D)).join(".")],delete U[d]});function Ie(d){const D=I("_",d);(typeof D=="string"||typeof D=="number")&&U._.push(D)}function Ct(d,D,v,A){let g,$=T(D,p.nargs);if($=typeof $!="number"||isNaN($)?1:$,$===0)return $e(A)||(M=Error(w("Argument unexpected for: %s",D))),X(D,se(D)),d;let _=$e(A)?0:1;if(a["nargs-eats-options"])v.length-(d+1)+_<$&&(M=Error(w("Not enough arguments following: %s",D))),_=$;else{for(g=d+1;g<v.length&&(!v[g].match(/^-[^0-9]/)||v[g].match(y)||ie(v[g]));g++)_++;_<$&&(M=Error(w("Not enough arguments following: %s",D)))}let N=Math.min(_,$);for(!$e(A)&&N>0&&(X(D,A),N--),g=d+1;g<N+d+1;g++)X(D,v[g]);return d+N}function tt(d,D,v,A){let g=[],$=A||v[d+1];const _=T(D,p.nargs);if(T(D,p.bools)&&!/^(true|false)$/.test($))g.push(!0);else if($e($)||$e(A)&&/^-/.test($)&&!y.test($)&&!ie($)){if(c[D]!==void 0){const N=c[D];g=Array.isArray(N)?N:[N]}}else{$e(A)||g.push(O(D,A,!0));for(let N=d+1;N<v.length&&!(!a["greedy-arrays"]&&g.length>0||_&&typeof _=="number"&&g.length>=_||($=v[N],/^-/.test($)&&!y.test($)&&!ie($)));N++)d=N,g.push(O(D,$,r))}return typeof _=="number"&&(_&&g.length<_||isNaN(_)&&g.length===0)&&(M=Error(w("Not enough arguments following: %s",D))),X(D,g),d}function X(d,D,v=r){if(/-/.test(d)&&a["camel-case-expansion"]){const $=d.split(".").map(function(_){return xt(_)}).join(".");j(d,$)}const A=O(d,D,v),g=d.split(".");Ve(U,g,A),p.aliases[d]&&p.aliases[d].forEach(function($){const _=$.split(".");Ve(U,_,A)}),g.length>1&&a["dot-notation"]&&(p.aliases[g[0]]||[]).forEach(function($){let _=$.split(".");const N=[].concat(g);N.shift(),_=_.concat(N),(p.aliases[d]||[]).includes(_.join("."))||Ve(U,_,A)}),T(d,p.normalize)&&!T(d,p.arrays)&&[d].concat(p.aliases[d]||[]).forEach(function(_){Object.defineProperty(Ce,_,{enumerable:!0,get(){return D},set(N){D=typeof N=="string"?ze.normalize(N):N}})})}function j(d,D){p.aliases[d]&&p.aliases[d].length||(p.aliases[d]=[D],C[D]=!0),p.aliases[D]&&p.aliases[D].length||j(D,d)}function O(d,D,v){v&&(D=zr(D)),(T(d,p.bools)||T(d,p.counts))&&typeof D=="string"&&(D=D==="true");let A=Array.isArray(D)?D.map(function(g){return I(d,g)}):I(d,D);return T(d,p.counts)&&($e(A)||typeof A=="boolean")&&(A=_n()),T(d,p.normalize)&&T(d,p.arrays)&&(Array.isArray(D)?A=D.map(g=>ze.normalize(g)):A=ze.normalize(D)),A}function I(d,D){return!a["parse-positional-numbers"]&&d==="_"||!T(d,p.strings)&&!T(d,p.bools)&&!Array.isArray(D)&&(Mi(D)&&a["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${D}`)))||!$e(D)&&T(d,p.numbers))&&(D=Number(D)),D}function V(d){const D=Object.create(null);ne(D,p.aliases,c),Object.keys(p.configs).forEach(function(v){const A=d[v]||D[v];if(A)try{let g=null;const $=ze.resolve(ze.cwd(),A),_=p.configs[v];if(typeof _=="function"){try{g=_($)}catch(N){g=N}if(g instanceof Error){M=g;return}}else g=ze.require($);K(g)}catch(g){g.name==="PermissionDenied"?M=g:d[v]&&(M=Error(w("Invalid JSON config file: %s",A)))}})}function K(d,D){Object.keys(d).forEach(function(v){const A=d[v],g=D?D+"."+v:v;typeof A=="object"&&A!==null&&!Array.isArray(A)&&a["dot-notation"]?K(A,g):(!Ue(U,g.split("."))||T(g,p.arrays)&&a["combine-arrays"])&&X(g,A)})}function de(){typeof h<"u"&&h.forEach(function(d){K(d)})}function J(d,D){if(typeof l>"u")return;const v=typeof l=="string"?l:"",A=ze.env();Object.keys(A).forEach(function(g){if(v===""||g.lastIndexOf(v,0)===0){const $=g.split("__").map(function(_,N){return N===0&&(_=_.substring(v.length)),xt(_)});(D&&p.configs[$.join(".")]||!D)&&!Ue(d,$)&&X($.join("."),A[g])}})}function he(d){let D;const v=new Set;Object.keys(d).forEach(function(A){if(!v.has(A)&&(D=T(A,p.coercions),typeof D=="function"))try{const g=I(A,D(d[A]));[].concat(p.aliases[A]||[],A).forEach($=>{v.add($),d[$]=g})}catch(g){M=g}})}function nt(d){return p.keys.forEach(D=>{~D.indexOf(".")||typeof d[D]>"u"&&(d[D]=void 0)}),d}function ne(d,D,v,A=!1){Object.keys(v).forEach(function(g){Ue(d,g.split("."))||(Ve(d,g.split("."),v[g]),A&&(F[g]=!0),(D[g]||[]).forEach(function($){Ue(d,$.split("."))||Ve(d,$.split("."),v[g])}))})}function Ue(d,D){let v=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(g){v=v[g]||{}});const A=D[D.length-1];return typeof v!="object"?!1:A in v}function Ve(d,D,v){let A=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(pe){pe=ki(pe),typeof A=="object"&&A[pe]===void 0&&(A[pe]={}),typeof A[pe]!="object"||Array.isArray(A[pe])?(Array.isArray(A[pe])?A[pe].push({}):A[pe]=[A[pe],{}],A=A[pe][A[pe].length-1]):A=A[pe]});const g=ki(D[D.length-1]),$=T(D.join("."),p.arrays),_=Array.isArray(v);let N=a["duplicate-arguments-array"];!N&&T(g,p.nargs)&&(N=!0,(!$e(A[g])&&p.nargs[g]===1||Array.isArray(A[g])&&A[g].length===p.nargs[g])&&(A[g]=void 0)),v===_n()?A[g]=_n(A[g]):Array.isArray(A[g])?N&&$&&_?A[g]=a["flatten-duplicate-arrays"]?A[g].concat(v):(Array.isArray(A[g][0])?A[g]:[A[g]]).concat([v]):!N&&!!$==!!_?A[g]=v:A[g]=A[g].concat([v]):A[g]===void 0&&$?A[g]=_?v:[v]:N&&!(A[g]===void 0||T(g,p.counts)||T(g,p.bools))?A[g]=[A[g],v]:A[g]=v}function it(...d){d.forEach(function(D){Object.keys(D||{}).forEach(function(v){p.aliases[v]||(p.aliases[v]=[].concat(u[v]||[]),p.aliases[v].concat(v).forEach(function(A){if(/-/.test(A)&&a["camel-case-expansion"]){const g=xt(A);g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].concat(v).forEach(function(A){if(A.length>1&&/[A-Z]/.test(A)&&a["camel-case-expansion"]){const g=Li(A,"-");g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].forEach(function(A){p.aliases[A]=[v].concat(p.aliases[v].filter(function(g){return A!==g}))}))})})}function T(d,D){const v=[].concat(p.aliases[d]||[],d),A=Object.keys(D),g=v.find($=>A.includes($));return g?D[g]:!1}function Fn(d){const D=Object.keys(p);return[].concat(D.map(A=>p[A])).some(function(A){return Array.isArray(A)?A.includes(d):A[d]})}function k(d,...D){return[].concat(...D).some(function(A){const g=d.match(A);return g&&Fn(g[1])})}function te(d){if(d.match(y)||!d.match(/^-[^-]+/))return!1;let D=!0,v;const A=d.slice(1).split("");for(let g=0;g<A.length;g++){if(v=d.slice(g+2),!Fn(A[g])){D=!1;break}if(A[g+1]&&A[g+1]==="="||v==="-"||/[A-Za-z]/.test(A[g])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(v)||A[g+1]&&A[g+1].match(/\W/))break}return D}function ie(d){return a["unknown-options-as-args"]&&q(d)}function q(d){return d=d.replace(/^-{3,}/,"--"),d.match(y)||te(d)?!1:!k(d,/^-+([^=]+?)=[\s\S]*$/,B,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function se(d){return!T(d,p.bools)&&!T(d,p.counts)&&`${d}`in c?c[d]:ue(xe(d))}function ue(d){return{[Pe.BOOLEAN]:!0,[Pe.STRING]:"",[Pe.NUMBER]:void 0,[Pe.ARRAY]:[]}[d]}function xe(d){let D=Pe.BOOLEAN;return T(d,p.strings)?D=Pe.STRING:T(d,p.numbers)?D=Pe.NUMBER:T(d,p.bools)?D=Pe.BOOLEAN:T(d,p.arrays)&&(D=Pe.ARRAY),D}function $e(d){return d===void 0}function Yt(){Object.keys(p.counts).find(d=>T(d,p.arrays)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.array.",d)),!0):T(d,p.nargs)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.narg.",d)),!0):!1)}return{aliases:Object.assign({},p.aliases),argv:Object.assign(Ce,U),configuration:a,defaulted:Object.assign({},F),error:M,newAliases:Object.assign({},C)}}}function Vr(i){const e=[],t=Object.create(null);let n=!0;for(Object.keys(i).forEach(function(s){e.push([].concat(i[s],s))});n;){n=!1;for(let s=0;s<e.length;s++)for(let r=s+1;r<e.length;r++)if(e[s].filter(function(a){return e[r].indexOf(a)!==-1}).length){e[s]=e[s].concat(e[r]),e.splice(r,1),n=!0;break}}return e.forEach(function(s){s=s.filter(function(u,a,c){return c.indexOf(u)===a});const r=s.pop();r!==void 0&&typeof r=="string"&&(t[r]=s)}),t}function _n(i){return i!==void 0?i+1:1}function ki(i){return i==="__proto__"?"___proto___":i}function zr(i){return typeof i=="string"&&(i[0]==="'"||i[0]==='"')&&i[i.length-1]===i[0]?i.substring(1,i.length-1):i}var Sn,In,xn;const Ti=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,Ri=(In=(Sn=process==null?void 0:process.versions)===null||Sn===void 0?void 0:Sn.node)!==null&&In!==void 0?In:(xn=process==null?void 0:process.version)===null||xn===void 0?void 0:xn.slice(1);if(Ri&&Number(Ri.match(/^([^.]+)/)[1])<Ti)throw Error(`yargs parser supports a minimum Node.js version of ${Ti}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);const Hr=process?process.env:{},Wi=new Ur({cwd:process.cwd,env:()=>Hr,format:Oi,normalize:dr,resolve:je,require:i=>{if(typeof qt<"u")return qt(i);if(i.match(/\.json$/))return JSON.parse(Bn(i,"utf8"));throw Error("only .json config files are supported in ESM")}}),$t=function(e,t){return Wi.parse(e.slice(),t).argv};$t.detailed=function(i,e){return Wi.parse(i.slice(),e)},$t.camelCase=xt,$t.decamelize=Li,$t.looksLikeNumber=Mi;function Ui(){return Gr()?0:1}function Gr(){return Yr()&&!process.defaultApp}function Yr(){return!!process.versions.electron}function qr(i){return i.slice(Ui()+1)}function Jr(){return process.argv[Ui()]}class le extends Error{constructor(e){super(e||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,le)}}const Kr={fs:{readFileSync:Bn,writeFile:Dr},format:Oi,resolve:je,exists:i=>{try{return Bi(i).isFile()}catch{return!1}}};let Ne;class Qr{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles=="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage=="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);const t=e.shift();let n=function(){};return typeof e[e.length-1]=="function"&&(n=e.pop()),n=n||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n})):n(),Ne.format.apply(Ne.format,[this.cache[this.locale][t]||t].concat(e))}__n(){const e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),s=e.shift();let r=function(){};typeof e[e.length-1]=="function"&&(r=e.pop()),this.cache[this.locale]||this._readLocaleFile();let u=s===1?t:n;this.cache[this.locale][t]&&(u=this.cache[this.locale][t][s===1?"one":"other"]),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:r})):r();const a=[u];return~u.indexOf("%d")&&a.push(s),Ne.format.apply(Ne.format,a.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){this.cache[this.locale]||this._readLocaleFile();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.cache[this.locale][t]=e[t])}_taggedLiteral(e,...t){let n="";return e.forEach(function(s,r){const u=t[r+1];n+=s,typeof u<"u"&&(n+="%s")}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){this.writeQueue.push(e),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){const e=this,t=this.writeQueue[0],n=t.directory,s=t.locale,r=t.cb,u=this._resolveLocaleFile(n,s),a=JSON.stringify(this.cache[s],null,2);Ne.fs.writeFile(u,a,"utf-8",function(c){e.writeQueue.shift(),e.writeQueue.length>0&&e._processWriteQueue(),r(c)})}_readLocaleFile(){let e={};const t=this._resolveLocaleFile(this.directory,this.locale);try{Ne.fs.readFileSync&&(e=JSON.parse(Ne.fs.readFileSync(t,"utf-8")))}catch(n){if(n instanceof SyntaxError&&(n.message="syntax error in "+t),n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ne.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){const s=Ne.resolve(e,"./",t.split("_")[0]+".json");this._fileExistsSync(s)&&(n=s)}return n}_fileExistsSync(e){return Ne.exists(e)}}function Xr(i,e){Ne=e;const t=new Qr(i);return{__:t.__.bind(t),__n:t.__n.bind(t),setLocale:t.setLocale.bind(t),getLocale:t.getLocale.bind(t),updateLocale:t.updateLocale.bind(t),locale:t.locale}}const Zr=i=>Xr(i,Kr),eu="require is not supported by ESM",Vi="loading a directory of commands is not supported yet for ESM";let jt;try{jt=wr(import.meta.url)}catch{jt=process.cwd()}const tu=jt.substring(0,jt.lastIndexOf("node_modules")),nu={assert:{notStrictEqual:lr,strictEqual:fr},cliui:Tr,findUp:Rr,getEnv:i=>process.env[i],inspect:Cr,getCallerFile:()=>{throw new le(Vi)},getProcessArgvBin:Jr,mainFilename:tu||process.cwd(),Parser:$t,path:{basename:hr,dirname:vn,extname:pr,relative:mr,resolve:je},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(i,e)=>process.emitWarning(i,e),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Bn,require:()=>{throw new le(eu)},requireDirectory:()=>{throw new le(Vi)},stringWidth:i=>[...i].length,y18n:Zr({directory:je(jt,"../../../locales"),updateFiles:!1})};function Le(i,e,t,n){t.assert.notStrictEqual(i,e,n)}function zi(i,e){e.assert.strictEqual(typeof i,"string")}function tn(i){return Object.keys(i)}function ce(i){return!!i&&!!i.then&&typeof i.then=="function"}function Pt(i){const t=i.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),n=/\.*[\][<>]/g,s=t.shift();if(!s)throw new Error(`No command found in: ${i}`);const r={cmd:s.replace(n,""),demanded:[],optional:[]};return t.forEach((u,a)=>{let c=!1;u=u.replace(/\s/g,""),/\.+[\]>]/.test(u)&&a===t.length-1&&(c=!0),/^\[/.test(u)?r.optional.push({cmd:u.replace(n,"").split("|"),variadic:c}):r.demanded.push({cmd:u.replace(n,"").split("|"),variadic:c})}),r}const iu=["first","second","third","fourth","fifth","sixth"];function x(i,e,t){function n(){return typeof i=="object"?[{demanded:[],optional:[]},i,e]:[Pt(`cmd ${i}`),e,t]}try{let s=0;const[r,u,a]=n(),c=[].slice.call(u);for(;c.length&&c[c.length-1]===void 0;)c.pop();const h=a||c.length;if(h<r.demanded.length)throw new le(`Not enough arguments provided. Expected ${r.demanded.length} but received ${c.length}.`);const l=r.demanded.length+r.optional.length;if(h>l)throw new le(`Too many arguments provided. Expected max ${l} but received ${h}.`);r.demanded.forEach(f=>{const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,s),s+=1}),r.optional.forEach(f=>{if(c.length===0)return;const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,s),s+=1})}catch(s){console.warn(s.stack)}}function Hi(i){return Array.isArray(i)?"array":i===null?"null":typeof i}function Gi(i,e,t){throw new le(`Invalid ${iu[t]||"manyith"} argument. Expected ${e.join(" or ")} but received ${i}.`)}class su{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,s=!1){if(x("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let r=0;r<e.length;r++){if(typeof e[r]!="function")throw Error("middleware must be a function");const u=e[r];u.applyBeforeValidation=t,u.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e=="function"){const r=e;r.applyBeforeValidation=t,r.global=n,r.mutates=s,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){const n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter(s=>{const r=[...n[t]||[],t];return s.option?!r.includes(s.option):!0}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){const e=this.frozens.pop();e!==void 0&&(this.globalMiddleware=e)}reset(){this.globalMiddleware=this.globalMiddleware.filter(e=>e.global)}}function ru(i){return i?i.map(e=>(e.applyBeforeValidation=!1,e)):[]}function Nt(i,e,t,n){return t.reduce((s,r)=>{if(r.applyBeforeValidation!==n)return s;if(r.mutates){if(r.applied)return s;r.applied=!0}if(ce(s))return s.then(u=>Promise.all([u,r(u,e)])).then(([u,a])=>Object.assign(u,a));{const u=r(s,e);return ce(u)?u.then(a=>Object.assign(s,a)):Object.assign(s,u)}},i)}function Lt(i,e,t=n=>{throw n}){try{const n=uu(i)?i():i;return ce(n)?n.then(s=>e(s)):e(n)}catch(n){return t(n)}}function uu(i){return typeof i=="function"}function ou(i){if(typeof qt>"u")return null;for(let e=0,t=Object.keys(require.cache),n;e<t.length;e++)if(n=require.cache[t[e]],n.exports===i)return n;return null}const Et=/(^\*)|(^\$0)/;class au{constructor(e,t,n,s){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=s,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,s){s=s||{},typeof s.recurse!="boolean"&&(s.recurse=!1),Array.isArray(s.extensions)||(s.extensions=["js"]);const r=typeof s.visit=="function"?s.visit:u=>u;s.visit=(u,a,c)=>{const h=r(u,a,c);if(h){if(this.requireCache.has(a))return h;this.requireCache.add(a),this.addHandler(h)}return h},this.shim.requireDirectory({require:t,filename:n},e,s)}addHandler(e,t,n,s,r,u){let a=[];const c=ru(r);if(s=s||(()=>{}),Array.isArray(e))if(lu(e))[e,...a]=e;else for(const h of e)this.addHandler(h);else if(du(e)){let h=Array.isArray(e.command)||typeof e.command=="string"?e.command:this.moduleName(e);e.aliases&&(h=[].concat(h).concat(e.aliases)),this.addHandler(h,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(Yi(n)){this.addHandler([e].concat(a),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e=="string"){const h=Pt(e);a=a.map(m=>Pt(m).cmd);let l=!1;const f=[h.cmd].concat(a).filter(m=>Et.test(m)?(l=!0,!1):!0);f.length===0&&l&&f.push("$0"),l&&(h.cmd=f[0],a=f.slice(1),e=e.replace(Et,h.cmd)),a.forEach(m=>{this.aliasMap[m]=h.cmd}),t!==!1&&this.usage.command(e,t,l,a,u),this.handlers[h.cmd]={original:e,description:t,handler:s,builder:n||{},middlewares:c,deprecated:u,demanded:h.demanded,optional:h.optional},l&&(this.defaultCommand=this.handlers[h.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,s,r,u){const a=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,c=t.getInternalMethods().getContext(),h=c.commands.slice(),l=!e;e&&(c.commands.push(e),c.fullCommands.push(a.original));const f=this.applyBuilderUpdateUsageAndParse(l,a,t,n.aliases,h,s,r,u);return ce(f)?f.then(m=>this.applyMiddlewareAndGetResult(l,a,m.innerArgv,c,r,m.aliases,t)):this.applyMiddlewareAndGetResult(l,a,f.innerArgv,c,r,f.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,s,r,u,a,c){const h=t.builder;let l=n;if($n(h)){n.getInternalMethods().getUsageInstance().freeze();const f=h(n.getInternalMethods().reset(s),c);if(ce(f))return f.then(m=>(l=_u(m)?m:n,this.parseAndUpdateUsage(e,t,l,r,u,a)))}else fu(h)&&(n.getInternalMethods().getUsageInstance().freeze(),l=n.getInternalMethods().reset(s),Object.keys(t.builder).forEach(f=>{l.option(f,h[f])}));return this.parseAndUpdateUsage(e,t,l,r,u,a)}parseAndUpdateUsage(e,t,n,s,r,u){e&&n.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(n)&&n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(s,t),t.description);const a=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,r,u);return ce(a)?a.then(c=>({aliases:n.parsed.aliases,innerArgv:c})):{aliases:n.parsed.aliases,innerArgv:a}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){const n=Et.test(t.original)?t.original.replace(Et,"").trim():t.original,s=e.filter(r=>!Et.test(r));return s.push(n),`$0 ${s.join(" ")}`}handleValidationAndGetResult(e,t,n,s,r,u,a,c){if(!u.getInternalMethods().getHasOutput()){const h=u.getInternalMethods().runValidation(r,c,u.parsed.error,e);n=Lt(n,l=>(h(l),l))}if(t.handler&&!u.getInternalMethods().getHasOutput()){u.getInternalMethods().setHasOutput();const h=!!u.getOptions().configuration["populate--"];u.getInternalMethods().postProcess(n,h,!1,!1),n=Nt(n,u,a,!1),n=Lt(n,l=>{const f=t.handler(l);return ce(f)?f.then(()=>l):l}),e||u.getInternalMethods().getUsageInstance().cacheHelpMessage(),ce(n)&&!u.getInternalMethods().hasParseCallback()&&n.catch(l=>{try{u.getInternalMethods().getUsageInstance().fail(null,l)}catch{}})}return e||(s.commands.pop(),s.fullCommands.pop()),n}applyMiddlewareAndGetResult(e,t,n,s,r,u,a){let c={};if(r)return n;a.getInternalMethods().getHasOutput()||(c=this.populatePositionals(t,n,s,a));const h=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),l=Nt(n,a,h,!0);return ce(l)?l.then(f=>this.handleValidationAndGetResult(e,t,f,s,u,a,h,c)):this.handleValidationAndGetResult(e,t,l,s,u,a,h,c)}populatePositionals(e,t,n,s){t._=t._.slice(n.commands.length);const r=e.demanded.slice(0),u=e.optional.slice(0),a={};for(this.validation.positionalCount(r.length,t._.length);r.length;){const c=r.shift();this.populatePositional(c,t,a)}for(;u.length;){const c=u.shift();this.populatePositional(c,t,a)}return t._=n.commands.concat(t._.map(c=>""+c)),this.postProcessPositionals(t,a,this.cmdToParseOptions(e.original),s),a}populatePositional(e,t,n){const s=e.cmd[0];e.variadic?n[s]=t._.splice(0).map(String):t._.length&&(n[s]=[String(t._.shift())])}cmdToParseOptions(e){const t={array:[],default:{},alias:{},demand:{}},n=Pt(e);return n.demanded.forEach(s=>{const[r,...u]=s.cmd;s.variadic&&(t.array.push(r),t.default[r]=[]),t.alias[r]=u,t.demand[r]=!0}),n.optional.forEach(s=>{const[r,...u]=s.cmd;s.variadic&&(t.array.push(r),t.default[r]=[]),t.alias[r]=u}),t}postProcessPositionals(e,t,n,s){const r=Object.assign({},s.getOptions());r.default=Object.assign(n.default,r.default);for(const h of Object.keys(n.alias))r.alias[h]=(r.alias[h]||[]).concat(n.alias[h]);r.array=r.array.concat(n.array),r.config={};const u=[];if(Object.keys(t).forEach(h=>{t[h].map(l=>{r.configuration["unknown-options-as-args"]&&(r.key[h]=!0),u.push(`--${h}`),u.push(l)})}),!u.length)return;const a=Object.assign({},r.configuration,{"populate--":!1}),c=this.shim.Parser.detailed(u,Object.assign({},r,{configuration:a}));if(c.error)s.getInternalMethods().getUsageInstance().fail(c.error.message,c.error);else{const h=Object.keys(t);Object.keys(t).forEach(l=>{h.push(...c.aliases[l])}),Object.keys(c.argv).forEach(l=>{h.includes(l)&&(t[l]||(t[l]=c.argv[l]),!this.isInConfigs(s,l)&&!this.isDefaulted(s,l)&&Object.prototype.hasOwnProperty.call(e,l)&&Object.prototype.hasOwnProperty.call(c.argv,l)&&(Array.isArray(e[l])||Array.isArray(c.argv[l]))?e[l]=[].concat(e[l],c.argv[l]):e[l]=c.argv[l])})}}isDefaulted(e,t){const{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){const{configObjects:n}=e.getOptions();return n.some(s=>Object.prototype.hasOwnProperty.call(s,t))||n.some(s=>Object.prototype.hasOwnProperty.call(s,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){const n=Et.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}const t=this.defaultCommand.builder;if($n(t))return t(e,!0);Yi(t)||Object.keys(t).forEach(n=>{e.option(n,t[n])})}moduleName(e){const t=ou(e);if(!t)throw new Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(const s of[e,t,n]){if(typeof s=="string"||s===!1)return s;Le(s,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){const e=this.frozens.pop();Le(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function cu(i,e,t,n){return new au(i,e,t,n)}function Yi(i){return typeof i=="object"&&!!i.builder&&typeof i.handler=="function"}function lu(i){return i.every(e=>typeof e=="string")}function $n(i){return typeof i=="function"}function fu(i){return typeof i=="object"}function du(i){return typeof i=="object"&&!Array.isArray(i)}function Mt(i={},e=()=>!0){const t={};return tn(i).forEach(n=>{e(n,i[n])&&(t[n]=i[n])}),t}function kt(i){typeof process>"u"||[process.stdout,process.stderr].forEach(e=>{const t=e;t._handle&&t.isTTY&&typeof t._handle.setBlocking=="function"&&t._handle.setBlocking(i)})}function hu(i){return typeof i=="boolean"}function pu(i,e){const t=e.y18n.__,n={},s=[];n.failFn=function(O){s.push(O)};let r=null,u=null,a=!0;n.showHelpOnFail=function(O=!0,I){const[V,K]=typeof O=="string"?[!0,O]:[O,I];return i.getInternalMethods().isGlobalContext()&&(u=K),r=K,a=V,n};let c=!1;n.fail=function(O,I){const V=i.getInternalMethods().getLoggerInstance();if(s.length)for(let K=s.length-1;K>=0;--K){const de=s[K];if(hu(de)){if(I)throw I;if(O)throw Error(O)}else de(O,I,n)}else{if(i.getExitProcess()&&kt(!0),!c){c=!0,a&&(i.showHelp("error"),V.error()),(O||I)&&V.error(O||I);const K=r||u;K&&((O||I)&&V.error(""),V.error(K))}if(I=I||new le(O),i.getExitProcess())return i.exit(1);if(i.getInternalMethods().hasParseCallback())return i.exit(1,I);throw I}};let h=[],l=!1;n.usage=(j,O)=>j===null?(l=!0,h=[],n):(l=!1,h.push([j,O||""]),n),n.getUsage=()=>h,n.getUsageDisabled=()=>l,n.getPositionalGroupName=()=>t("Positionals:");let f=[];n.example=(j,O)=>{f.push([j,O||""])};let m=[];n.command=function(O,I,V,K,de=!1){V&&(m=m.map(J=>(J[2]=!1,J))),m.push([O,I||"",V,K,de])},n.getCommands=()=>m;let C={};n.describe=function(O,I){Array.isArray(O)?O.forEach(V=>{n.describe(V,I)}):typeof O=="object"?Object.keys(O).forEach(V=>{n.describe(V,O[V])}):C[O]=I},n.getDescriptions=()=>C;let F=[];n.epilog=j=>{F.push(j)};let w=!1,p;n.wrap=j=>{w=!0,p=j},n.getWrap=()=>e.getEnv("YARGS_DISABLE_WRAP")?null:(w||(p=Ct(),w=!0),p);const y="__yargsString__:";n.deferY18nLookup=j=>y+j,n.help=function(){if(L)return L;M();const O=i.customScriptName?i.$0:e.path.basename(i.$0),I=i.getDemandedOptions(),V=i.getDemandedCommands(),K=i.getDeprecatedOptions(),de=i.getGroups(),J=i.getOptions();let he=[];he=he.concat(Object.keys(C)),he=he.concat(Object.keys(I)),he=he.concat(Object.keys(V)),he=he.concat(Object.keys(J.default)),he=he.filter(Ce),he=Object.keys(he.reduce((k,te)=>(te!=="_"&&(k[te]=!0),k),{}));const nt=n.getWrap(),ne=e.cliui({width:nt,wrap:!!nt});if(!l){if(h.length)h.forEach(k=>{ne.div({text:`${k[0].replace(/\$0/g,O)}`}),k[1]&&ne.div({text:`${k[1]}`,padding:[1,0,0,0]})}),ne.div();else if(m.length){let k=null;V._?k=`${O} <${t("command")}>
|
|
8
|
+
`:k=`${O} [${t("command")}]
|
|
9
|
+
`,ne.div(`${k}`)}}if(m.length>1||m.length===1&&!m[0][2]){ne.div(t("Commands:"));const k=i.getInternalMethods().getContext(),te=k.commands.length?`${k.commands.join(" ")} `:"";i.getInternalMethods().getParserConfiguration()["sort-commands"]===!0&&(m=m.sort((q,se)=>q[0].localeCompare(se[0])));const ie=O?`${O} `:"";m.forEach(q=>{const se=`${ie}${te}${q[0].replace(/^\$0 ?/,"")}`;ne.span({text:se,padding:[0,2,0,2],width:B(m,nt,`${O}${te}`)+4},{text:q[1]});const ue=[];q[2]&&ue.push(`[${t("default")}]`),q[3]&&q[3].length&&ue.push(`[${t("aliases:")} ${q[3].join(", ")}]`),q[4]&&(typeof q[4]=="string"?ue.push(`[${t("deprecated: %s",q[4])}]`):ue.push(`[${t("deprecated")}]`)),ue.length?ne.div({text:ue.join(" "),padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}const Ue=(Object.keys(J.alias)||[]).concat(Object.keys(i.parsed.newAliases)||[]);he=he.filter(k=>!i.parsed.newAliases[k]&&Ue.every(te=>(J.alias[te]||[]).indexOf(k)===-1));const Ve=t("Options:");de[Ve]||(de[Ve]=[]),U(he,J.alias,de,Ve);const it=k=>/^--/.test(nn(k)),T=Object.keys(de).filter(k=>de[k].length>0).map(k=>{const te=de[k].filter(Ce).map(ie=>{if(Ue.includes(ie))return ie;for(let q=0,se;(se=Ue[q])!==void 0;q++)if((J.alias[se]||[]).includes(ie))return se;return ie});return{groupName:k,normalizedKeys:te}}).filter(({normalizedKeys:k})=>k.length>0).map(({groupName:k,normalizedKeys:te})=>{const ie=te.reduce((q,se)=>(q[se]=[se].concat(J.alias[se]||[]).map(ue=>k===n.getPositionalGroupName()?ue:(/^[0-9]$/.test(ue)?J.boolean.includes(se)?"-":"--":ue.length>1?"--":"-")+ue).sort((ue,xe)=>it(ue)===it(xe)?0:it(ue)?1:-1).join(", "),q),{});return{groupName:k,normalizedKeys:te,switches:ie}});if(T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).some(({normalizedKeys:k,switches:te})=>!k.every(ie=>it(te[ie])))&&T.filter(({groupName:k})=>k!==n.getPositionalGroupName()).forEach(({normalizedKeys:k,switches:te})=>{k.forEach(ie=>{it(te[ie])&&(te[ie]=mu(te[ie],4))})}),T.forEach(({groupName:k,normalizedKeys:te,switches:ie})=>{ne.div(k),te.forEach(q=>{const se=ie[q];let ue=C[q]||"",xe=null;ue.includes(y)&&(ue=t(ue.substring(y.length))),J.boolean.includes(q)&&(xe=`[${t("boolean")}]`),J.count.includes(q)&&(xe=`[${t("count")}]`),J.string.includes(q)&&(xe=`[${t("string")}]`),J.normalize.includes(q)&&(xe=`[${t("string")}]`),J.array.includes(q)&&(xe=`[${t("array")}]`),J.number.includes(q)&&(xe=`[${t("number")}]`);const $e=D=>typeof D=="string"?`[${t("deprecated: %s",D)}]`:`[${t("deprecated")}]`,Yt=[q in K?$e(K[q]):null,xe,q in I?`[${t("required")}]`:null,J.choices&&J.choices[q]?`[${t("choices:")} ${n.stringifiedValues(J.choices[q])}]`:null,Ie(J.default[q],J.defaultDescription[q])].filter(Boolean).join(" ");ne.span({text:nn(se),padding:[0,2,0,2+qi(se)],width:B(ie,nt)+4},ue);const d=i.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;Yt&&!d?ne.div({text:Yt,padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}),f.length&&(ne.div(t("Examples:")),f.forEach(k=>{k[0]=k[0].replace(/\$0/g,O)}),f.forEach(k=>{k[1]===""?ne.div({text:k[0],padding:[0,2,0,2]}):ne.div({text:k[0],padding:[0,2,0,2],width:B(f,nt)+4},{text:k[1]})}),ne.div()),F.length>0){const k=F.map(te=>te.replace(/\$0/g,O)).join(`
|
|
10
|
+
`);ne.div(`${k}
|
|
11
|
+
`)}return ne.toString().replace(/\s*$/,"")};function B(j,O,I){let V=0;return Array.isArray(j)||(j=Object.values(j).map(K=>[K])),j.forEach(K=>{V=Math.max(e.stringWidth(I?`${I} ${nn(K[0])}`:nn(K[0]))+qi(K[0]),V)}),O&&(V=Math.min(V,parseInt((O*.5).toString(),10))),V}function M(){const j=i.getDemandedOptions(),O=i.getOptions();(Object.keys(O.alias)||[]).forEach(I=>{O.alias[I].forEach(V=>{C[V]&&n.describe(I,C[V]),V in j&&i.demandOption(I,j[V]),O.boolean.includes(V)&&i.boolean(I),O.count.includes(V)&&i.count(I),O.string.includes(V)&&i.string(I),O.normalize.includes(V)&&i.normalize(I),O.array.includes(V)&&i.array(I),O.number.includes(V)&&i.number(I)})})}let L;n.cacheHelpMessage=function(){L=this.help()},n.clearCachedHelpMessage=function(){L=void 0},n.hasCachedHelpMessage=function(){return!!L};function U(j,O,I,V){let K=[],de=null;return Object.keys(I).forEach(J=>{K=K.concat(I[J])}),j.forEach(J=>{de=[J].concat(O[J]),de.some(he=>K.indexOf(he)!==-1)||I[V].push(J)}),K}function Ce(j){return i.getOptions().hiddenOptions.indexOf(j)<0||i.parsed.argv[i.getOptions().showHiddenOpt]}n.showHelp=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(n.help())},n.functionDescription=j=>["(",j.name?e.Parser.decamelize(j.name,"-"):t("generated-value"),")"].join(""),n.stringifiedValues=function(O,I){let V="";const K=I||", ",de=[].concat(O);return!O||!de.length||de.forEach(J=>{V.length&&(V+=K),V+=JSON.stringify(J)}),V};function Ie(j,O){let I=`[${t("default:")} `;if(j===void 0&&!O)return null;if(O)I+=O;else switch(typeof j){case"string":I+=`"${j}"`;break;case"object":I+=JSON.stringify(j);break;default:I+=j}return`${I}]`}function Ct(){return e.process.stdColumns?Math.min(80,e.process.stdColumns):80}let tt=null;n.version=j=>{tt=j},n.showVersion=j=>{const O=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:O[j])(tt)},n.reset=function(O){return r=null,c=!1,h=[],l=!1,F=[],f=[],m=[],C=Mt(C,I=>!O[I]),n};const X=[];return n.freeze=function(){X.push({failMessage:r,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C})},n.unfreeze=function(O=!1){const I=X.pop();I&&(O?(C={...I.descriptions,...C},m=[...I.commands,...m],h=[...I.usages,...h],f=[...I.examples,...f],F=[...I.epilogs,...F]):{failMessage:r,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:m,descriptions:C}=I)},n}function jn(i){return typeof i=="object"}function mu(i,e){return jn(i)?{text:i.text,indentation:i.indentation+e}:{text:i,indentation:e}}function qi(i){return jn(i)?i.indentation:0}function nn(i){return jn(i)?i.text:i}const gu=`###-begin-{{app_name}}-completions-###
|
|
12
|
+
#
|
|
13
|
+
# yargs command completion script
|
|
14
|
+
#
|
|
15
|
+
# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
|
|
16
|
+
# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.
|
|
17
|
+
#
|
|
18
|
+
_{{app_name}}_yargs_completions()
|
|
19
|
+
{
|
|
20
|
+
local cur_word args type_list
|
|
21
|
+
|
|
22
|
+
cur_word="\${COMP_WORDS[COMP_CWORD]}"
|
|
23
|
+
args=("\${COMP_WORDS[@]}")
|
|
24
|
+
|
|
25
|
+
# ask yargs to generate completions.
|
|
26
|
+
type_list=$({{app_path}} --get-yargs-completions "\${args[@]}")
|
|
27
|
+
|
|
28
|
+
COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) )
|
|
29
|
+
|
|
30
|
+
# if no match was found, fall back to filename completion
|
|
31
|
+
if [ \${#COMPREPLY[@]} -eq 0 ]; then
|
|
32
|
+
COMPREPLY=()
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
return 0
|
|
36
|
+
}
|
|
37
|
+
complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}
|
|
38
|
+
###-end-{{app_name}}-completions-###
|
|
39
|
+
`,Du=`#compdef {{app_name}}
|
|
40
|
+
###-begin-{{app_name}}-completions-###
|
|
41
|
+
#
|
|
42
|
+
# yargs command completion script
|
|
43
|
+
#
|
|
44
|
+
# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc
|
|
45
|
+
# or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX.
|
|
46
|
+
#
|
|
47
|
+
_{{app_name}}_yargs_completions()
|
|
48
|
+
{
|
|
49
|
+
local reply
|
|
50
|
+
local si=$IFS
|
|
51
|
+
IFS=$'
|
|
52
|
+
' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}"))
|
|
53
|
+
IFS=$si
|
|
54
|
+
_describe 'values' reply
|
|
55
|
+
}
|
|
56
|
+
compdef _{{app_name}}_yargs_completions {{app_name}}
|
|
57
|
+
###-end-{{app_name}}-completions-###
|
|
58
|
+
`;class Cu{constructor(e,t,n,s){var r,u,a;this.yargs=e,this.usage=t,this.command=n,this.shim=s,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(a=((r=this.shim.getEnv("SHELL"))===null||r===void 0?void 0:r.includes("zsh"))||((u=this.shim.getEnv("ZSH_NAME"))===null||u===void 0?void 0:u.includes("zsh")))!==null&&a!==void 0?a:!1}defaultCompletion(e,t,n,s){const r=this.command.getCommandHandlers();for(let a=0,c=e.length;a<c;++a)if(r[e[a]]&&r[e[a]].builder){const h=r[e[a]].builder;if($n(h)){this.indexAfterLastReset=a+1;const l=this.yargs.getInternalMethods().reset();return h(l,!0),l.argv}}const u=[];this.commandCompletions(u,e,n),this.optionCompletions(u,e,t,n),this.choicesFromOptionsCompletions(u,e,t,n),this.choicesFromPositionalsCompletions(u,e,t,n),s(null,u)}commandCompletions(e,t,n){const s=this.yargs.getInternalMethods().getContext().commands;!n.match(/^-/)&&s[s.length-1]!==n&&!this.previousArgHasChoices(t)&&this.usage.getCommands().forEach(r=>{const u=Pt(r[0]).cmd;if(t.indexOf(u)===-1)if(!this.zshShell)e.push(u);else{const a=r[1]||"";e.push(u.replace(/:/g,"\\:")+":"+a)}})}optionCompletions(e,t,n,s){if((s.match(/^-/)||s===""&&e.length===0)&&!this.previousArgHasChoices(t)){const r=this.yargs.getOptions(),u=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(r.key).forEach(a=>{const c=!!r.configuration["boolean-negation"]&&r.boolean.includes(a);!u.includes(a)&&!r.hiddenOptions.includes(a)&&!this.argsContainKey(t,a,c)&&this.completeOptionKey(a,e,s,c&&!!r.default[a])})}}choicesFromOptionsCompletions(e,t,n,s){if(this.previousArgHasChoices(t)){const r=this.getPreviousArgChoices(t);r&&r.length>0&&e.push(...r.map(u=>u.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(e,t,n,s){if(s===""&&e.length>0&&this.previousArgHasChoices(t))return;const r=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],u=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),a=r[n._.length-u-1];if(!a)return;const c=this.yargs.getOptions().choices[a]||[];for(const h of c)h.startsWith(s)&&e.push(h.replace(/:/g,"\\:"))}getPreviousArgChoices(e){if(e.length<1)return;let t=e[e.length-1],n="";if(!t.startsWith("-")&&e.length>1&&(n=t,t=e[e.length-2]),!t.startsWith("-"))return;const s=t.replace(/^-+/,""),r=this.yargs.getOptions(),u=[s,...this.yargs.getAliases()[s]||[]];let a;for(const c of u)if(Object.prototype.hasOwnProperty.call(r.key,c)&&Array.isArray(r.choices[c])){a=r.choices[c];break}if(a)return a.filter(c=>!n||c.startsWith(n))}previousArgHasChoices(e){const t=this.getPreviousArgChoices(e);return t!==void 0&&t.length>0}argsContainKey(e,t,n){const s=r=>e.indexOf((/^[^0-9]$/.test(r)?"-":"--")+r)!==-1;if(s(t)||n&&s(`no-${t}`))return!0;if(this.aliases){for(const r of this.aliases[t])if(s(r))return!0}return!1}completeOptionKey(e,t,n,s){var r,u,a,c;let h=e;if(this.zshShell){const C=this.usage.getDescriptions(),F=(u=(r=this===null||this===void 0?void 0:this.aliases)===null||r===void 0?void 0:r[e])===null||u===void 0?void 0:u.find(y=>{const B=C[y];return typeof B=="string"&&B.length>0}),w=F?C[F]:void 0,p=(c=(a=C[e])!==null&&a!==void 0?a:w)!==null&&c!==void 0?c:"";h=`${e.replace(/:/g,"\\:")}:${p.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}const l=C=>/^--/.test(C),f=C=>/^[^0-9]$/.test(C),m=!l(n)&&f(e)?"-":"--";t.push(m+h),s&&t.push(m+"no-"+h)}customCompletion(e,t,n,s){if(Le(this.customCompletionFunction,null,this.shim),Au(this.customCompletionFunction)){const r=this.customCompletionFunction(n,t);return ce(r)?r.then(u=>{this.shim.process.nextTick(()=>{s(null,u)})}).catch(u=>{this.shim.process.nextTick(()=>{s(u,void 0)})}):s(null,r)}else return Eu(this.customCompletionFunction)?this.customCompletionFunction(n,t,(r=s)=>this.defaultCompletion(e,t,n,r),r=>{s(null,r)}):this.customCompletionFunction(n,t,r=>{s(null,r)})}getCompletion(e,t){const n=e.length?e[e.length-1]:"",s=this.yargs.parse(e,!0),r=this.customCompletionFunction?u=>this.customCompletion(e,u,n,t):u=>this.defaultCompletion(e,u,n,t);return ce(s)?s.then(r):r(s)}generateCompletionScript(e,t){let n=this.zshShell?Du:gu;const s=this.shim.path.basename(e);return e.match(/\.js$/)&&(e=`./${e}`),n=n.replace(/{{app_name}}/g,s),n=n.replace(/{{completion_command}}/g,t),n.replace(/{{app_path}}/g,e)}registerFunction(e){this.customCompletionFunction=e}setParsed(e){this.aliases=e.aliases}}function wu(i,e,t,n){return new Cu(i,e,t,n)}function Au(i){return i.length<3}function Eu(i){return i.length>3}function bu(i,e){if(i.length===0)return e.length;if(e.length===0)return i.length;const t=[];let n;for(n=0;n<=e.length;n++)t[n]=[n];let s;for(s=0;s<=i.length;s++)t[0][s]=s;for(n=1;n<=e.length;n++)for(s=1;s<=i.length;s++)e.charAt(n-1)===i.charAt(s-1)?t[n][s]=t[n-1][s-1]:n>1&&s>1&&e.charAt(n-2)===i.charAt(s-1)&&e.charAt(n-1)===i.charAt(s-2)?t[n][s]=t[n-2][s-2]+1:t[n][s]=Math.min(t[n-1][s-1]+1,Math.min(t[n][s-1]+1,t[n-1][s]+1));return t[e.length][i.length]}const Ji=["$0","--","_"];function Fu(i,e,t){const n=t.y18n.__,s=t.y18n.__n,r={};r.nonOptionCount=function(f){const m=i.getDemandedCommands(),F=f._.length+(f["--"]?f["--"].length:0)-i.getInternalMethods().getContext().commands.length;m._&&(F<m._.min||F>m._.max)&&(F<m._.min?m._.minMsg!==void 0?e.fail(m._.minMsg?m._.minMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.min.toString()):null):e.fail(s("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",F,F.toString(),m._.min.toString())):F>m._.max&&(m._.maxMsg!==void 0?e.fail(m._.maxMsg?m._.maxMsg.replace(/\$0/g,F.toString()).replace(/\$1/,m._.max.toString()):null):e.fail(s("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",F,F.toString(),m._.max.toString()))))},r.positionalCount=function(f,m){m<f&&e.fail(s("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",m,m+"",f+""))},r.requiredArguments=function(f,m){let C=null;for(const F of Object.keys(m))(!Object.prototype.hasOwnProperty.call(f,F)||typeof f[F]>"u")&&(C=C||{},C[F]=m[F]);if(C){const F=[];for(const p of Object.keys(C)){const y=C[p];y&&F.indexOf(y)<0&&F.push(y)}const w=F.length?`
|
|
59
|
+
${F.join(`
|
|
60
|
+
`)}`:"";e.fail(s("Missing required argument: %s","Missing required arguments: %s",Object.keys(C).length,Object.keys(C).join(", ")+w))}},r.unknownArguments=function(f,m,C,F,w=!0){var p;const y=i.getInternalMethods().getCommandInstance().getCommands(),B=[],M=i.getInternalMethods().getContext();if(Object.keys(f).forEach(L=>{!Ji.includes(L)&&!Object.prototype.hasOwnProperty.call(C,L)&&!Object.prototype.hasOwnProperty.call(i.getInternalMethods().getParseContext(),L)&&!r.isValidAndSomeAliasIsNotNew(L,m)&&B.push(L)}),w&&(M.commands.length>0||y.length>0||F)&&f._.slice(M.commands.length).forEach(L=>{y.includes(""+L)||B.push(""+L)}),w){const U=((p=i.getDemandedCommands()._)===null||p===void 0?void 0:p.max)||0,Ce=M.commands.length+U;Ce<f._.length&&f._.slice(Ce).forEach(Ie=>{Ie=String(Ie),!M.commands.includes(Ie)&&!B.includes(Ie)&&B.push(Ie)})}B.length&&e.fail(s("Unknown argument: %s","Unknown arguments: %s",B.length,B.map(L=>L.trim()?L:`"${L}"`).join(", ")))},r.unknownCommands=function(f){const m=i.getInternalMethods().getCommandInstance().getCommands(),C=[],F=i.getInternalMethods().getContext();return(F.commands.length>0||m.length>0)&&f._.slice(F.commands.length).forEach(w=>{m.includes(""+w)||C.push(""+w)}),C.length>0?(e.fail(s("Unknown command: %s","Unknown commands: %s",C.length,C.join(", "))),!0):!1},r.isValidAndSomeAliasIsNotNew=function(f,m){if(!Object.prototype.hasOwnProperty.call(m,f))return!1;const C=i.parsed.newAliases;return[f,...m[f]].some(F=>!Object.prototype.hasOwnProperty.call(C,F)||!C[f])},r.limitedChoices=function(f){const m=i.getOptions(),C={};if(!Object.keys(m.choices).length)return;Object.keys(f).forEach(p=>{Ji.indexOf(p)===-1&&Object.prototype.hasOwnProperty.call(m.choices,p)&&[].concat(f[p]).forEach(y=>{m.choices[p].indexOf(y)===-1&&y!==void 0&&(C[p]=(C[p]||[]).concat(y))})});const F=Object.keys(C);if(!F.length)return;let w=n("Invalid values:");F.forEach(p=>{w+=`
|
|
61
|
+
${n("Argument: %s, Given: %s, Choices: %s",p,e.stringifiedValues(C[p]),e.stringifiedValues(m.choices[p]))}`}),e.fail(w)};let u={};r.implies=function(f,m){x("<string|object> [array|number|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{r.implies(C,f[C])}):(i.global(f),u[f]||(u[f]=[]),Array.isArray(m)?m.forEach(C=>r.implies(f,C)):(Le(m,void 0,t),u[f].push(m)))},r.getImplied=function(){return u};function a(l,f){const m=Number(f);return f=isNaN(m)?f:m,typeof f=="number"?f=l._.length>=f:f.match(/^--no-.+/)?(f=f.match(/^--no-(.+)/)[1],f=!Object.prototype.hasOwnProperty.call(l,f)):f=Object.prototype.hasOwnProperty.call(l,f),f}r.implications=function(f){const m=[];if(Object.keys(u).forEach(C=>{const F=C;(u[C]||[]).forEach(w=>{let p=F;const y=w;p=a(f,p),w=a(f,w),p&&!w&&m.push(` ${F} -> ${y}`)})}),m.length){let C=`${n("Implications failed:")}
|
|
62
|
+
`;m.forEach(F=>{C+=F}),e.fail(C)}};let c={};r.conflicts=function(f,m){x("<string|object> [array|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{r.conflicts(C,f[C])}):(i.global(f),c[f]||(c[f]=[]),Array.isArray(m)?m.forEach(C=>r.conflicts(f,C)):c[f].push(m))},r.getConflicting=()=>c,r.conflicting=function(f){Object.keys(f).forEach(m=>{c[m]&&c[m].forEach(C=>{C&&f[m]!==void 0&&f[C]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})}),i.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(m=>{c[m].forEach(C=>{C&&f[t.Parser.camelCase(m)]!==void 0&&f[t.Parser.camelCase(C)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})})},r.recommendCommands=function(f,m){m=m.sort((p,y)=>y.length-p.length);let F=null,w=1/0;for(let p=0,y;(y=m[p])!==void 0;p++){const B=bu(f,y);B<=3&&B<w&&(w=B,F=y)}F&&e.fail(n("Did you mean %s?",F))},r.reset=function(f){return u=Mt(u,m=>!f[m]),c=Mt(c,m=>!f[m]),r};const h=[];return r.freeze=function(){h.push({implied:u,conflicting:c})},r.unfreeze=function(){const f=h.pop();Le(f,void 0,t),{implied:u,conflicting:c}=f},r}let Pn=[],Tt;function Nn(i,e,t,n){Tt=n;let s={};if(Object.prototype.hasOwnProperty.call(i,"extends")){if(typeof i.extends!="string")return s;const r=/\.json|\..*rc$/.test(i.extends);let u=null;if(r)u=vu(e,i.extends);else try{u=require.resolve(i.extends)}catch{return i}yu(u),Pn.push(u),s=r?JSON.parse(Tt.readFileSync(u,"utf8")):qt(i.extends),delete i.extends,s=Nn(s,Tt.path.dirname(u),t,Tt)}return Pn=[],t?Ki(s,i):Object.assign({},s,i)}function yu(i){if(Pn.indexOf(i)>-1)throw new le(`Circular extended configurations: '${i}'.`)}function vu(i,e){return Tt.path.resolve(i,e)}function Ki(i,e){const t={};function n(s){return s&&typeof s=="object"&&!Array.isArray(s)}Object.assign(t,i);for(const s of Object.keys(e))n(e[s])&&n(t[s])?t[s]=Ki(i[s],e[s]):t[s]=e[s];return t}var S=function(i,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?i!==e||!s:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(i,t):s?s.value=t:e.set(i,t),t},o=function(i,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?i!==e||!n:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(i):n?n.value:e.get(i)},oe,rt,Rt,ve,be,sn,Ke,ut,rn,Be,un,Oe,Te,Fe,_e,on,bt,me,P,an,cn,ye,ot,Ft,at,Qe,ln,R,ct,lt,ft,W,fn,Re,re;function Bu(i){return(e=[],t=i.process.cwd(),n)=>{const s=new Ou(e,t,n,i);return Object.defineProperty(s,"argv",{get:()=>s.parse(),enumerable:!0}),s.help(),s.version(),s}}const Qi=Symbol("copyDoubleDash"),Xi=Symbol("copyDoubleDash"),Ln=Symbol("deleteFromParserHintObject"),Zi=Symbol("emitWarning"),es=Symbol("freeze"),ts=Symbol("getDollarZero"),dt=Symbol("getParserConfiguration"),ns=Symbol("getUsageConfiguration"),Mn=Symbol("guessLocale"),is=Symbol("guessVersion"),ss=Symbol("parsePositionalNumbers"),kn=Symbol("pkgUp"),Xe=Symbol("populateParserHintArray"),yt=Symbol("populateParserHintSingleValueDictionary"),Tn=Symbol("populateParserHintArrayDictionary"),Rn=Symbol("populateParserHintDictionary"),Wn=Symbol("sanitizeKey"),Un=Symbol("setKey"),Vn=Symbol("unfreeze"),rs=Symbol("validateAsync"),us=Symbol("getCommandInstance"),os=Symbol("getContext"),as=Symbol("getHasOutput"),cs=Symbol("getLoggerInstance"),ls=Symbol("getParseContext"),fs=Symbol("getUsageInstance"),ds=Symbol("getValidationInstance"),dn=Symbol("hasParseCallback"),hs=Symbol("isGlobalContext"),ht=Symbol("postProcess"),ps=Symbol("rebase"),zn=Symbol("reset"),Wt=Symbol("runYargsParserAndExecuteCommands"),Hn=Symbol("runValidation"),ms=Symbol("setHasOutput"),pt=Symbol("kTrackManuallySetKeys");class Ou{constructor(e=[],t,n,s){this.customScriptName=!1,this.parsed=!1,oe.set(this,void 0),rt.set(this,void 0),Rt.set(this,{commands:[],fullCommands:[]}),ve.set(this,null),be.set(this,null),sn.set(this,"show-hidden"),Ke.set(this,null),ut.set(this,!0),rn.set(this,{}),Be.set(this,!0),un.set(this,[]),Oe.set(this,void 0),Te.set(this,{}),Fe.set(this,!1),_e.set(this,null),on.set(this,!0),bt.set(this,void 0),me.set(this,""),P.set(this,void 0),an.set(this,void 0),cn.set(this,{}),ye.set(this,null),ot.set(this,null),Ft.set(this,{}),at.set(this,{}),Qe.set(this,void 0),ln.set(this,!1),R.set(this,void 0),ct.set(this,!1),lt.set(this,!1),ft.set(this,!1),W.set(this,void 0),fn.set(this,{}),Re.set(this,null),re.set(this,void 0),S(this,R,s,"f"),S(this,Qe,e,"f"),S(this,rt,t,"f"),S(this,an,n,"f"),S(this,Oe,new su(this),"f"),this.$0=this[ts](),this[zn](),S(this,oe,o(this,oe,"f"),"f"),S(this,W,o(this,W,"f"),"f"),S(this,re,o(this,re,"f"),"f"),S(this,P,o(this,P,"f"),"f"),o(this,P,"f").showHiddenOpt=o(this,sn,"f"),S(this,bt,this[Xi](),"f")}addHelpOpt(e,t){const n="help";return x("[string|boolean] [string]",[e,t],arguments.length),o(this,_e,"f")&&(this[Ln](o(this,_e,"f")),S(this,_e,null,"f")),e===!1&&t===void 0?this:(S(this,_e,typeof e=="string"?e:n,"f"),this.boolean(o(this,_e,"f")),this.describe(o(this,_e,"f"),t||o(this,W,"f").deferY18nLookup("Show help")),this)}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if(x("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;const n=typeof e=="string"?e:o(this,sn,"f");return this.boolean(n),this.describe(n,t||o(this,W,"f").deferY18nLookup("Show hidden options")),o(this,P,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.alias.bind(this),"alias",e,t),this}array(e){return x("<array|string>",[e],arguments.length),this[Xe]("array",e),this[pt](e),this}boolean(e){return x("<array|string>",[e],arguments.length),this[Xe]("boolean",e),this[pt](e),this}check(e,t){return x("<function> [boolean]",[e,t],arguments.length),this.middleware((n,s)=>Lt(()=>e(n,s.getOptions()),r=>(r?(typeof r=="string"||r instanceof Error)&&o(this,W,"f").fail(r.toString(),r):o(this,W,"f").fail(o(this,R,"f").y18n.__("Argument check failed: %s",e.toString())),n),r=>(o(this,W,"f").fail(r.message?r.message:r.toString(),r),n)),!1,t),this}choices(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if(x("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new le("coerce callback must be provided");for(const n of e)this.coerce(n,t);return this}else if(typeof e=="object"){for(const n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new le("coerce callback must be provided");return o(this,P,"f").key[e]=!0,o(this,Oe,"f").addCoerceMiddleware((n,s)=>{let r;return Object.prototype.hasOwnProperty.call(n,e)?Lt(()=>(r=s.getAliases(),t(n[e])),a=>{n[e]=a;const c=s.getInternalMethods().getParserConfiguration()["strip-aliased"];if(r[e]&&c!==!0)for(const h of r[e])n[h]=a;return n},a=>{throw new le(a.message)}):n},e),this}conflicts(e,t){return x("<string|object> [string|array]",[e,t],arguments.length),o(this,re,"f").conflicts(e,t),this}config(e="config",t,n){return x("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=Nn(e,o(this,rt,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(e),this):(typeof t=="function"&&(n=t,t=void 0),this.describe(e,t||o(this,W,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(s=>{o(this,P,"f").config[s]=n||!0}),this)}completion(e,t,n){return x("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t=="function"&&(n=t,t=void 0),S(this,be,e||o(this,be,"f")||"completion","f"),!t&&t!==!1&&(t="generate completion script"),this.command(o(this,be,"f"),t),n&&o(this,ve,"f").registerFunction(n),this}command(e,t,n,s,r,u){return x("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,s,r,u],arguments.length),o(this,oe,"f").addHandler(e,t,n,s,r,u),this}commands(e,t,n,s,r,u){return this.command(e,t,n,s,r,u)}commandDir(e,t){x("<string> [object]",[e,t],arguments.length);const n=o(this,an,"f")||o(this,R,"f").require;return o(this,oe,"f").addDirectory(e,n,o(this,R,"f").getCallerFile(),t),this}count(e){return x("<array|string>",[e],arguments.length),this[Xe]("count",e),this[pt](e),this}default(e,t,n){return x("<object|string|array> [*] [string]",[e,t,n],arguments.length),n&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]=n),typeof t=="function"&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]||(o(this,P,"f").defaultDescription[e]=o(this,W,"f").functionDescription(t)),t=t.call()),this[yt](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,s){return x("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,s],arguments.length),typeof t!="number"&&(n=t,t=1/0),this.global("_",!1),o(this,P,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:s},this}demand(e,t,n){return Array.isArray(t)?(t.forEach(s=>{Le(n,!0,o(this,R,"f")),this.demandOption(s,n)}),t=1/0):typeof t!="number"&&(n=t,t=1/0),typeof e=="number"?(Le(n,!0,o(this,R,"f")),this.demandCommand(e,t,n,n)):Array.isArray(e)?e.forEach(s=>{Le(n,!0,o(this,R,"f")),this.demandOption(s,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[yt](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return x("<string> [string|boolean]",[e,t],arguments.length),o(this,P,"f").deprecatedOptions[e]=t,this}describe(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[Un](e,!0),o(this,W,"f").describe(e,t),this}detectLocale(e){return x("<boolean>",[e],arguments.length),S(this,ut,e,"f"),this}env(e){return x("[string|boolean]",[e],arguments.length),e===!1?delete o(this,P,"f").envPrefix:o(this,P,"f").envPrefix=e||"",this}epilogue(e){return x("<string>",[e],arguments.length),o(this,W,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){return x("<string|array> [string]",[e,t],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):o(this,W,"f").example(e,t),this}exit(e,t){S(this,Fe,!0,"f"),S(this,Ke,t,"f"),o(this,Be,"f")&&o(this,R,"f").process.exit(e)}exitProcess(e=!0){return x("[boolean]",[e],arguments.length),S(this,Be,e,"f"),this}fail(e){if(x("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new le("Invalid first argument. Expected function or boolean 'false'");return o(this,W,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){return x("<array> [function]",[e,t],arguments.length),t?o(this,ve,"f").getCompletion(e,t):new Promise((n,s)=>{o(this,ve,"f").getCompletion(e,(r,u)=>{r?s(r):n(u)})})}getDemandedOptions(){return x([],0),o(this,P,"f").demandedOptions}getDemandedCommands(){return x([],0),o(this,P,"f").demandedCommands}getDeprecatedOptions(){return x([],0),o(this,P,"f").deprecatedOptions}getDetectLocale(){return o(this,ut,"f")}getExitProcess(){return o(this,Be,"f")}getGroups(){return Object.assign({},o(this,Te,"f"),o(this,at,"f"))}getHelp(){if(S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const t=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(t))return t.then(()=>o(this,W,"f").help())}const e=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(e))return e.then(()=>o(this,W,"f").help())}return Promise.resolve(o(this,W,"f").help())}getOptions(){return o(this,P,"f")}getStrict(){return o(this,ct,"f")}getStrictCommands(){return o(this,lt,"f")}getStrictOptions(){return o(this,ft,"f")}global(e,t){return x("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1?o(this,P,"f").local=o(this,P,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{o(this,P,"f").local.includes(n)||o(this,P,"f").local.push(n)}),this}group(e,t){x("<string|array> <string>",[e,t],arguments.length);const n=o(this,at,"f")[t]||o(this,Te,"f")[t];o(this,at,"f")[t]&&delete o(this,at,"f")[t];const s={};return o(this,Te,"f")[t]=(n||[]).concat(e).filter(r=>s[r]?!1:s[r]=!0),this}hide(e){return x("<string>",[e],arguments.length),o(this,P,"f").hiddenOptions.push(e),this}implies(e,t){return x("<string|object> [number|string|array]",[e,t],arguments.length),o(this,re,"f").implies(e,t),this}locale(e){return x("[string]",[e],arguments.length),e===void 0?(this[Mn](),o(this,R,"f").y18n.getLocale()):(S(this,ut,!1,"f"),o(this,R,"f").y18n.setLocale(e),this)}middleware(e,t,n){return o(this,Oe,"f").addMiddleware(e,!!t,n)}nargs(e,t){return x("<string|object|array> [number]",[e,t],arguments.length),this[yt](this.nargs.bind(this),"narg",e,t),this}normalize(e){return x("<array|string>",[e],arguments.length),this[Xe]("normalize",e),this}number(e){return x("<array|string>",[e],arguments.length),this[Xe]("number",e),this[pt](e),this}option(e,t){if(x("<string|object> [object]",[e,t],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof t!="object"&&(t={}),this[pt](e),o(this,Re,"f")&&(e==="version"||t?.alias==="version")&&this[Zi](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
63
|
+
`),void 0,"versionWarning"),o(this,P,"f").key[e]=!0,t.alias&&this.alias(e,t.alias);const n=t.deprecate||t.deprecated;n&&this.deprecateOption(e,n);const s=t.demand||t.required||t.require;s&&this.demand(e,s),t.demandOption&&this.demandOption(e,typeof t.demandOption=="string"?t.demandOption:void 0),t.conflicts&&this.conflicts(e,t.conflicts),"default"in t&&this.default(e,t.default),t.implies!==void 0&&this.implies(e,t.implies),t.nargs!==void 0&&this.nargs(e,t.nargs),t.config&&this.config(e,t.configParser),t.normalize&&this.normalize(e),t.choices&&this.choices(e,t.choices),t.coerce&&this.coerce(e,t.coerce),t.group&&this.group(e,t.group),(t.boolean||t.type==="boolean")&&(this.boolean(e),t.alias&&this.boolean(t.alias)),(t.array||t.type==="array")&&(this.array(e),t.alias&&this.array(t.alias)),(t.number||t.type==="number")&&(this.number(e),t.alias&&this.number(t.alias)),(t.string||t.type==="string")&&(this.string(e),t.alias&&this.string(t.alias)),(t.count||t.type==="count")&&this.count(e),typeof t.global=="boolean"&&this.global(e,t.global),t.defaultDescription&&(o(this,P,"f").defaultDescription[e]=t.defaultDescription),t.skipValidation&&this.skipValidation(e);const r=t.describe||t.description||t.desc,u=o(this,W,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(u,e)||typeof r=="string")&&this.describe(e,r),t.hidden&&this.hide(e),t.requiresArg&&this.requiresArg(e)}return this}options(e,t){return this.option(e,t)}parse(e,t,n){x("[string|array] [function|boolean|object] [function]",[e,t,n],arguments.length),this[es](),typeof e>"u"&&(e=o(this,Qe,"f")),typeof t=="object"&&(S(this,ot,t,"f"),t=n),typeof t=="function"&&(S(this,ye,t,"f"),t=!1),t||S(this,Qe,e,"f"),o(this,ye,"f")&&S(this,Be,!1,"f");const s=this[Wt](e,!!t),r=this.parsed;return o(this,ve,"f").setParsed(this.parsed),ce(s)?s.then(u=>(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),u,o(this,me,"f")),u)).catch(u=>{throw o(this,ye,"f")&&o(this,ye,"f")(u,this.parsed.argv,o(this,me,"f")),u}).finally(()=>{this[Vn](),this.parsed=r}):(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Ke,"f"),s,o(this,me,"f")),this[Vn](),this.parsed=r,s)}parseAsync(e,t,n){const s=this.parse(e,t,n);return ce(s)?s:Promise.resolve(s)}parseSync(e,t,n){const s=this.parse(e,t,n);if(ce(s))throw new le(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return s}parserConfiguration(e){return x("<object>",[e],arguments.length),S(this,cn,e,"f"),this}pkgConf(e,t){x("<string> [string]",[e,t],arguments.length);let n=null;const s=this[kn](t||o(this,rt,"f"));return s[e]&&typeof s[e]=="object"&&(n=Nn(s[e],t||o(this,rt,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(n)),this}positional(e,t){x("<string> <object>",[e,t],arguments.length);const n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];t=Mt(t,(u,a)=>u==="type"&&!["string","number","boolean"].includes(a)?!1:n.includes(u));const s=o(this,Rt,"f").fullCommands[o(this,Rt,"f").fullCommands.length-1],r=s?o(this,oe,"f").cmdToParseOptions(s):{array:[],alias:{},default:{},demand:{}};return tn(r).forEach(u=>{const a=r[u];Array.isArray(a)?a.indexOf(e)!==-1&&(t[u]=!0):a[e]&&!(u in t)&&(t[u]=a[e])}),this.group(e,o(this,W,"f").getPositionalGroupName()),this.option(e,t)}recommendCommands(e=!0){return x("[boolean]",[e],arguments.length),S(this,ln,e,"f"),this}required(e,t,n){return this.demand(e,t,n)}require(e,t,n){return this.demand(e,t,n)}requiresArg(e){return x("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&o(this,P,"f").narg[e]?this:(this[yt](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,t){return x("[string] [string]",[e,t],arguments.length),e=e||this.$0,o(this,bt,"f").log(o(this,ve,"f").generateCompletionScript(e,t||o(this,be,"f")||"completion")),this}showHelp(e){if(x("[string|function]",[e],arguments.length),S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const n=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(n))return n.then(()=>{o(this,W,"f").showHelp(e)}),this}const t=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(t))return t.then(()=>{o(this,W,"f").showHelp(e)}),this}return o(this,W,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,t){return x("[boolean|string] [string]",[e,t],arguments.length),o(this,W,"f").showHelpOnFail(e,t),this}showVersion(e){return x("[string|function]",[e],arguments.length),o(this,W,"f").showVersion(e),this}skipValidation(e){return x("<array|string>",[e],arguments.length),this[Xe]("skipValidation",e),this}strict(e){return x("[boolean]",[e],arguments.length),S(this,ct,e!==!1,"f"),this}strictCommands(e){return x("[boolean]",[e],arguments.length),S(this,lt,e!==!1,"f"),this}strictOptions(e){return x("[boolean]",[e],arguments.length),S(this,ft,e!==!1,"f"),this}string(e){return x("<array|string>",[e],arguments.length),this[Xe]("string",e),this[pt](e),this}terminalWidth(){return x([],0),o(this,R,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return x("<object>",[e],arguments.length),S(this,ut,!1,"f"),o(this,R,"f").y18n.updateLocale(e),this}usage(e,t,n,s){if(x("<string|null|undefined> [string|boolean] [function|object] [function]",[e,t,n,s],arguments.length),t!==void 0){if(Le(e,null,o(this,R,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,t,n,s);throw new le(".usage() description must start with $0 if being used as alias for .command()")}else return o(this,W,"f").usage(e),this}usageConfiguration(e){return x("<object>",[e],arguments.length),S(this,fn,e,"f"),this}version(e,t,n){const s="version";if(x("[boolean|string] [string] [string]",[e,t,n],arguments.length),o(this,Re,"f")&&(this[Ln](o(this,Re,"f")),o(this,W,"f").version(void 0),S(this,Re,null,"f")),arguments.length===0)n=this[is](),e=s;else if(arguments.length===1){if(e===!1)return this;n=e,e=s}else arguments.length===2&&(n=t,t=void 0);return S(this,Re,typeof e=="string"?e:s,"f"),t=t||o(this,W,"f").deferY18nLookup("Show version number"),o(this,W,"f").version(n||void 0),this.boolean(o(this,Re,"f")),this.describe(o(this,Re,"f"),t),this}wrap(e){return x("<number|null|undefined>",[e],arguments.length),o(this,W,"f").wrap(e),this}[(oe=new WeakMap,rt=new WeakMap,Rt=new WeakMap,ve=new WeakMap,be=new WeakMap,sn=new WeakMap,Ke=new WeakMap,ut=new WeakMap,rn=new WeakMap,Be=new WeakMap,un=new WeakMap,Oe=new WeakMap,Te=new WeakMap,Fe=new WeakMap,_e=new WeakMap,on=new WeakMap,bt=new WeakMap,me=new WeakMap,P=new WeakMap,an=new WeakMap,cn=new WeakMap,ye=new WeakMap,ot=new WeakMap,Ft=new WeakMap,at=new WeakMap,Qe=new WeakMap,ln=new WeakMap,R=new WeakMap,ct=new WeakMap,lt=new WeakMap,ft=new WeakMap,W=new WeakMap,fn=new WeakMap,Re=new WeakMap,re=new WeakMap,Qi)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[Xi](){return{log:(...e)=>{this[dn]()||console.log(...e),S(this,Fe,!0,"f"),o(this,me,"f").length&&S(this,me,o(this,me,"f")+`
|
|
64
|
+
`,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")},error:(...e)=>{this[dn]()||console.error(...e),S(this,Fe,!0,"f"),o(this,me,"f").length&&S(this,me,o(this,me,"f")+`
|
|
65
|
+
`,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")}}}[Ln](e){tn(o(this,P,"f")).forEach(t=>{if((s=>s==="configObjects")(t))return;const n=o(this,P,"f")[t];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete o(this,W,"f").getDescriptions()[e]}[Zi](e,t,n){o(this,rn,"f")[n]||(o(this,R,"f").process.emitWarning(e,t),o(this,rn,"f")[n]=!0)}[es](){o(this,un,"f").push({options:o(this,P,"f"),configObjects:o(this,P,"f").configObjects.slice(0),exitProcess:o(this,Be,"f"),groups:o(this,Te,"f"),strict:o(this,ct,"f"),strictCommands:o(this,lt,"f"),strictOptions:o(this,ft,"f"),completionCommand:o(this,be,"f"),output:o(this,me,"f"),exitError:o(this,Ke,"f"),hasOutput:o(this,Fe,"f"),parsed:this.parsed,parseFn:o(this,ye,"f"),parseContext:o(this,ot,"f")}),o(this,W,"f").freeze(),o(this,re,"f").freeze(),o(this,oe,"f").freeze(),o(this,Oe,"f").freeze()}[ts](){let e="",t;return/\b(node|iojs|electron)(\.exe)?$/.test(o(this,R,"f").process.argv()[0])?t=o(this,R,"f").process.argv().slice(1,2):t=o(this,R,"f").process.argv().slice(0,1),e=t.map(n=>{const s=this[ps](o(this,rt,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&s.length<n.length?s:n}).join(" ").trim(),o(this,R,"f").getEnv("_")&&o(this,R,"f").getProcessArgvBin()===o(this,R,"f").getEnv("_")&&(e=o(this,R,"f").getEnv("_").replace(`${o(this,R,"f").path.dirname(o(this,R,"f").process.execPath())}/`,"")),e}[dt](){return o(this,cn,"f")}[ns](){return o(this,fn,"f")}[Mn](){if(!o(this,ut,"f"))return;const e=o(this,R,"f").getEnv("LC_ALL")||o(this,R,"f").getEnv("LC_MESSAGES")||o(this,R,"f").getEnv("LANG")||o(this,R,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[is](){return this[kn]().version||"unknown"}[ss](e){const t=e["--"]?e["--"]:e._;for(let n=0,s;(s=t[n])!==void 0;n++)o(this,R,"f").Parser.looksLikeNumber(s)&&Number.isSafeInteger(Math.floor(parseFloat(`${s}`)))&&(t[n]=Number(s));return e}[kn](e){const t=e||"*";if(o(this,Ft,"f")[t])return o(this,Ft,"f")[t];let n={};try{let s=e||o(this,R,"f").mainFilename;!e&&o(this,R,"f").path.extname(s)&&(s=o(this,R,"f").path.dirname(s));const r=o(this,R,"f").findUp(s,(u,a)=>{if(a.includes("package.json"))return"package.json"});Le(r,void 0,o(this,R,"f")),n=JSON.parse(o(this,R,"f").readFileSync(r,"utf8"))}catch{}return o(this,Ft,"f")[t]=n||{},o(this,Ft,"f")[t]}[Xe](e,t){t=[].concat(t),t.forEach(n=>{n=this[Wn](n),o(this,P,"f")[e].push(n)})}[yt](e,t,n,s){this[Rn](e,t,n,s,(r,u,a)=>{o(this,P,"f")[r][u]=a})}[Tn](e,t,n,s){this[Rn](e,t,n,s,(r,u,a)=>{o(this,P,"f")[r][u]=(o(this,P,"f")[r][u]||[]).concat(a)})}[Rn](e,t,n,s,r){if(Array.isArray(n))n.forEach(u=>{e(u,s)});else if((u=>typeof u=="object")(n))for(const u of tn(n))e(u,n[u]);else r(t,this[Wn](n),s)}[Wn](e){return e==="__proto__"?"___proto___":e}[Un](e,t){return this[yt](this[Un].bind(this),"key",e,t),this}[Vn](){var e,t,n,s,r,u,a,c,h,l,f,m;const C=o(this,un,"f").pop();Le(C,void 0,o(this,R,"f"));let F;e=this,t=this,n=this,s=this,r=this,u=this,a=this,c=this,h=this,l=this,f=this,m=this,{options:{set value(w){S(e,P,w,"f")}}.value,configObjects:F,exitProcess:{set value(w){S(t,Be,w,"f")}}.value,groups:{set value(w){S(n,Te,w,"f")}}.value,output:{set value(w){S(s,me,w,"f")}}.value,exitError:{set value(w){S(r,Ke,w,"f")}}.value,hasOutput:{set value(w){S(u,Fe,w,"f")}}.value,parsed:this.parsed,strict:{set value(w){S(a,ct,w,"f")}}.value,strictCommands:{set value(w){S(c,lt,w,"f")}}.value,strictOptions:{set value(w){S(h,ft,w,"f")}}.value,completionCommand:{set value(w){S(l,be,w,"f")}}.value,parseFn:{set value(w){S(f,ye,w,"f")}}.value,parseContext:{set value(w){S(m,ot,w,"f")}}.value}=C,o(this,P,"f").configObjects=F,o(this,W,"f").unfreeze(),o(this,re,"f").unfreeze(),o(this,oe,"f").unfreeze(),o(this,Oe,"f").unfreeze()}[rs](e,t){return Lt(t,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[us].bind(this),getContext:this[os].bind(this),getHasOutput:this[as].bind(this),getLoggerInstance:this[cs].bind(this),getParseContext:this[ls].bind(this),getParserConfiguration:this[dt].bind(this),getUsageConfiguration:this[ns].bind(this),getUsageInstance:this[fs].bind(this),getValidationInstance:this[ds].bind(this),hasParseCallback:this[dn].bind(this),isGlobalContext:this[hs].bind(this),postProcess:this[ht].bind(this),reset:this[zn].bind(this),runValidation:this[Hn].bind(this),runYargsParserAndExecuteCommands:this[Wt].bind(this),setHasOutput:this[ms].bind(this)}}[us](){return o(this,oe,"f")}[os](){return o(this,Rt,"f")}[as](){return o(this,Fe,"f")}[cs](){return o(this,bt,"f")}[ls](){return o(this,ot,"f")||{}}[fs](){return o(this,W,"f")}[ds](){return o(this,re,"f")}[dn](){return!!o(this,ye,"f")}[hs](){return o(this,on,"f")}[ht](e,t,n,s){return n||ce(e)||(t||(e=this[Qi](e)),(this[dt]()["parse-positional-numbers"]||this[dt]()["parse-positional-numbers"]===void 0)&&(e=this[ss](e)),s&&(e=Nt(e,this,o(this,Oe,"f").getMiddleware(),!1))),e}[zn](e={}){S(this,P,o(this,P,"f")||{},"f");const t={};t.local=o(this,P,"f").local||[],t.configObjects=o(this,P,"f").configObjects||[];const n={};t.local.forEach(u=>{n[u]=!0,(e[u]||[]).forEach(a=>{n[a]=!0})}),Object.assign(o(this,at,"f"),Object.keys(o(this,Te,"f")).reduce((u,a)=>{const c=o(this,Te,"f")[a].filter(h=>!(h in n));return c.length>0&&(u[a]=c),u},{})),S(this,Te,{},"f");const s=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],r=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return s.forEach(u=>{t[u]=(o(this,P,"f")[u]||[]).filter(a=>!n[a])}),r.forEach(u=>{t[u]=Mt(o(this,P,"f")[u],a=>!n[a])}),t.envPrefix=o(this,P,"f").envPrefix,S(this,P,t,"f"),S(this,W,o(this,W,"f")?o(this,W,"f").reset(n):pu(this,o(this,R,"f")),"f"),S(this,re,o(this,re,"f")?o(this,re,"f").reset(n):Fu(this,o(this,W,"f"),o(this,R,"f")),"f"),S(this,oe,o(this,oe,"f")?o(this,oe,"f").reset():cu(o(this,W,"f"),o(this,re,"f"),o(this,Oe,"f"),o(this,R,"f")),"f"),o(this,ve,"f")||S(this,ve,wu(this,o(this,W,"f"),o(this,oe,"f"),o(this,R,"f")),"f"),o(this,Oe,"f").reset(),S(this,be,null,"f"),S(this,me,"","f"),S(this,Ke,null,"f"),S(this,Fe,!1,"f"),this.parsed=!1,this}[ps](e,t){return o(this,R,"f").path.relative(e,t)}[Wt](e,t,n,s=0,r=!1){let u=!!n||r;e=e||o(this,Qe,"f"),o(this,P,"f").__=o(this,R,"f").y18n.__,o(this,P,"f").configuration=this[dt]();const a=!!o(this,P,"f").configuration["populate--"],c=Object.assign({},o(this,P,"f").configuration,{"populate--":!0}),h=o(this,R,"f").Parser.detailed(e,Object.assign({},o(this,P,"f"),{configuration:{"parse-positional-numbers":!1,...c}})),l=Object.assign(h.argv,o(this,ot,"f"));let f;const m=h.aliases;let C=!1,F=!1;Object.keys(l).forEach(w=>{w===o(this,_e,"f")&&l[w]?C=!0:w===o(this,Re,"f")&&l[w]&&(F=!0)}),l.$0=this.$0,this.parsed=h,s===0&&o(this,W,"f").clearCachedHelpMessage();try{if(this[Mn](),t)return this[ht](l,a,!!n,!1);o(this,_e,"f")&&[o(this,_e,"f")].concat(m[o(this,_e,"f")]||[]).filter(M=>M.length>1).includes(""+l._[l._.length-1])&&(l._.pop(),C=!0),S(this,on,!1,"f");const w=o(this,oe,"f").getCommands(),p=o(this,ve,"f").completionKey in l,y=C||p||r;if(l._.length){if(w.length){let B;for(let M=s||0,L;l._[M]!==void 0;M++)if(L=String(l._[M]),w.includes(L)&&L!==o(this,be,"f")){const U=o(this,oe,"f").runCommand(L,this,h,M+1,r,C||F||r);return this[ht](U,a,!!n,!1)}else if(!B&&L!==o(this,be,"f")){B=L;break}!o(this,oe,"f").hasDefaultCommand()&&o(this,ln,"f")&&B&&!y&&o(this,re,"f").recommendCommands(B,w)}o(this,be,"f")&&l._.includes(o(this,be,"f"))&&!p&&(o(this,Be,"f")&&kt(!0),this.showCompletionScript(),this.exit(0))}if(o(this,oe,"f").hasDefaultCommand()&&!y){const B=o(this,oe,"f").runCommand(null,this,h,0,r,C||F||r);return this[ht](B,a,!!n,!1)}if(p){o(this,Be,"f")&&kt(!0),e=[].concat(e);const B=e.slice(e.indexOf(`--${o(this,ve,"f").completionKey}`)+1);return o(this,ve,"f").getCompletion(B,(M,L)=>{if(M)throw new le(M.message);(L||[]).forEach(U=>{o(this,bt,"f").log(U)}),this.exit(0)}),this[ht](l,!a,!!n,!1)}if(o(this,Fe,"f")||(C?(o(this,Be,"f")&&kt(!0),u=!0,this.showHelp("log"),this.exit(0)):F&&(o(this,Be,"f")&&kt(!0),u=!0,o(this,W,"f").showVersion("log"),this.exit(0))),!u&&o(this,P,"f").skipValidation.length>0&&(u=Object.keys(l).some(B=>o(this,P,"f").skipValidation.indexOf(B)>=0&&l[B]===!0)),!u){if(h.error)throw new le(h.error.message);if(!p){const B=this[Hn](m,{},h.error);n||(f=Nt(l,this,o(this,Oe,"f").getMiddleware(),!0)),f=this[rs](B,f??l),ce(f)&&!n&&(f=f.then(()=>Nt(l,this,o(this,Oe,"f").getMiddleware(),!1)))}}}catch(w){if(w instanceof le)o(this,W,"f").fail(w.message,w);else throw w}return this[ht](f??l,a,!!n,!0)}[Hn](e,t,n,s){const r={...this.getDemandedOptions()};return u=>{if(n)throw new le(n.message);o(this,re,"f").nonOptionCount(u),o(this,re,"f").requiredArguments(u,r);let a=!1;o(this,lt,"f")&&(a=o(this,re,"f").unknownCommands(u)),o(this,ct,"f")&&!a?o(this,re,"f").unknownArguments(u,e,t,!!s):o(this,ft,"f")&&o(this,re,"f").unknownArguments(u,e,{},!1,!1),o(this,re,"f").limitedChoices(u),o(this,re,"f").implications(u),o(this,re,"f").conflicting(u)}}[ms](){S(this,Fe,!0,"f")}[pt](e){if(typeof e=="string")o(this,P,"f").key[e]=!0;else for(const t of e)o(this,P,"f").key[t]=!0}}function _u(i){return!!i&&typeof i.getInternalMethods=="function"}const Su=Bu(nu),hn={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:Q},We={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},gs={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},pn={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:Q},Gn={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},Ds={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},Cs={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function Iu(i){var e,t;if(i){if("astNode"in i)return ju(i);if(Array.isArray(i))return i.reduce(ws,void 0);{const n=i,s=xu(n)?$u((t=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&t!==void 0?t:n?.astNode):void 0;return vt(n,s)}}else return}function xu(i){return typeof i<"u"&&"element"in i&&"text"in i}function $u(i){try{return pi(i).uri.toString()}catch{return}}function ju(i){var e,t;const{astNode:n,property:s,index:r}=i??{},u=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||u===void 0)){if(s===void 0)return vt(u,Yn(n));{const a=c=>r!==void 0&&r>-1&&Array.isArray(n[s])?r<c.length?c[r]:void 0:c.reduce(ws,void 0);if(!((t=u.assignments)===null||t===void 0)&&t[s]){const c=a(u.assignments[s]);return c&&vt(c,Yn(n))}else if(n.$cstNode){const c=a(qs(n.$cstNode,s));return c&&vt(c,Yn(n))}else return}}}function Yn(i){var e,t,n,s;return i.$cstNode?(t=(e=pi(i))===null||e===void 0?void 0:e.uri)===null||t===void 0?void 0:t.toString():i.$textRegion?i.$textRegion.documentURI||((s=(n=new Js(i,r=>r.$container?[r.$container]:[]).find(r=>{var u;return(u=r.$textRegion)===null||u===void 0?void 0:u.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||s===void 0?void 0:s.documentURI):void 0}function vt(i,e){var t,n;const s={offset:i.offset,end:(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,length:(n=i.length)!==null&&n!==void 0?n:i.end-i.offset};return i.range&&(s.range=i.range),e??(e=i.fileURI),e&&(s.fileURI=e),s}function ws(i,e){var t,n;if(i){if(!e)return i&&vt(i)}else return e&&vt(e);const s=(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,r=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,u=Math.min(i.offset,e.offset),a=Math.max(s,r),c=a-u,h={offset:u,end:a,length:c};if(i.range&&e.range&&(h.range={start:e.range.start.line<i.range.start.line||e.range.start.line===i.range.start.line&&e.range.start.character<i.range.start.character?e.range.start:i.range.start,end:e.range.end.line>i.range.end.line||e.range.end.line===i.range.end.line&&e.range.end.character>i.range.end.character?e.range.end:i.range.end}),i.fileURI||e.fileURI){const l=i.fileURI,f=e.fileURI,m=l&&f&&l!==f?`<unmergable text regions of ${l}, ${f}>`:l??f;h.fileURI=m}return h}class Pu{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,t){if(e.length>0){const n=t&&this.currentPosition;this.lines[this.currentLineNumber].push(e),this.length+=e.length,n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let t=this.traceData.length-1;t>=0;t--){const n=this.traceData[t];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){const t=Nu(e,this.currentPosition,n=>{var s,r;return(r=(s=this.traceData[this.traceData.length-1])===null||s===void 0?void 0:s.children)===null||r===void 0?void 0:r.push(n)});return this.traceData.push(t),t}popTraceRegion(e){const t=this.traceData.pop();return this.assertTrue(t===e,"Trace region mismatch!"),t}getParentTraceSourceFileURI(){var e;for(let t=this.traceData.length-1;t>-1;t--){const n=(e=this.traceData[t].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,t){if(!e)throw new Error(t)}}function Nu(i,e,t){const n={sourceRegion:i,targetRegion:void 0,children:[],targetStart:e,complete:s=>{var r,u;return n.targetRegion={offset:n.targetStart.offset,end:s.offset,length:s.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:s.line,character:s.character}}},delete n.targetStart,((r=n.children)===null||r===void 0?void 0:r.length)===0&&delete n.children,!((u=n.targetRegion)===null||u===void 0)&&u.length&&t(n),delete n.complete,n}};return n}function Lu(i,e){const t=new Pu(e),n=t.pushTraceRegion(void 0);As(i,t),t.popTraceRegion(n),n.complete&&n.complete(t.currentPosition);const s=n.children&&n.children.length===1?n.children[0]:void 0,r=s?.targetRegion,u=n.targetRegion;return r&&s.sourceRegion&&r.offset===u.offset&&r.length===u.length?{text:t.content,trace:s}:{text:t.content,trace:n}}function As(i,e){typeof i=="string"?Mu(i,e):i instanceof Jn?ku(i,e):i instanceof fe?Fs(i,e):i instanceof Vt&&Tu(i,e)}function Es(i,e){return typeof i=="string"?i.length!==0:i instanceof fe?i.contents.some(t=>Es(t,e)):i instanceof Vt?!(i.ifNotEmpty&&e.currentLineContent.length===0):!1}function Mu(i,e){i&&(e.pendingIndent&&bs(e,!1),e.append(i))}function bs(i,e){var t;let n="";for(const s of i.relevantIndents.filter(r=>r.indentEmptyLines||!e))n+=(t=s.indentation)!==null&&t!==void 0?t:i.defaultIndentation;i.append(n,!0),i.pendingIndent=!1}function Fs(i,e){let t;const n=Iu(i.tracedSource);n&&(t=e.pushTraceRegion(n));for(const s of i.contents)As(s,e);if(t){e.popTraceRegion(t);const s=e.getParentTraceSourceFileURI();s&&n?.fileURI===s&&delete n.fileURI,t.complete&&t.complete(e.currentPosition)}}function ku(i,e){var t;if(Es(i,e)){i.indentImmediately&&!e.pendingIndent&&e.append((t=i.indentation)!==null&&t!==void 0?t:e.defaultIndentation,!0);try{e.increaseIndent(i),Fs(i,e)}finally{e.decreaseIndent()}}}function Tu(i,e){i.ifNotEmpty&&!Ru(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&bs(e,!0),e.append(i.lineDelimiter),e.addNewLine())}function Ru(i){return i.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Wu=/\S|$/;function Uu(i){const e=i.filter(n=>n.length>0).map(n=>n.search(Wu)),t=e.length===0?0:Math.min(...e);return Math.max(0,t)}function Ze(i,...e){const t=zu(i),n=Hu(i,e,t);return Yu(n)}function Vu(i,e,t){return(n,...s)=>Ju(i,e,t)(Ze(n,...s))}function zu(i){const e=i.join("_").split(mi),t=e.length>1&&e[0].trim().length===0,n=t&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:t,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let s=t?e.slice(1):e;s=n?s.slice(0,s.length-1):s,s=s.filter(u=>u.length!==0);const r=Uu(s);return{indentation:r,omitFirstLine:t,omitLastLine:n&&(e[e.length-1].length<r||!e[e.length-1].startsWith(s[0].substring(0,r)))}}}function Hu(i,e,{indentation:t,omitFirstLine:n,omitLastLine:s,trimLastLine:r}){const u=[];i.forEach((h,l)=>{u.push(...h.split(mi).map((f,m)=>m===0||f.length<t?f:f.substring(t)).reduce(l===0?(f,m,C)=>C===0?n?[]:[m]:C===1&&f.length===0?[m]:f.concat(mn,m):(f,m,C)=>C===0?[m]:f.concat(mn,m),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(Ut(e[l])?e[l]:e[l]!==void 0?{content:String(e[l])}:l<e.length?ys:[]))});const a=u.length,c=a!==0?u[a-1]:void 0;return(s||r)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&u[a-2]===mn?u.slice(0,a-2):u.slice(0,a-1):u}const mn={isNewLine:!0},ys={isUndefinedSegment:!0},vs=i=>i===mn,qn=i=>i===ys,Gu=i=>i.content!==void 0;function Yu(i){return i.reduce((t,n,s)=>qn(n)?t:vs(n)?{node:s!==0&&(qn(i[s-1])||Ut(i[s-1]))||s>1&&typeof i[s-1]=="string"&&(qn(i[s-2])||Ut(i[s-2]))?t.node.appendNewLineIfNotEmpty():t.node.appendNewLine()}:(()=>{var r;const u=(s===0||vs(i[s-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Gu(n)?n.content:n;let c;return{node:t.indented?t.node:u.length!==0?t.node.indent({indentation:u,indentImmediately:!1,indentedChildren:h=>c=h.append(a)}):t.node.append(a),indented:c??((r=t.indented)===null||r===void 0?void 0:r.append(a))}})(),{node:new fe}).node}const qu=typeof process>"u"?`
|
|
3
66
|
`:process.platform==="win32"?`\r
|
|
4
67
|
`:`
|
|
5
|
-
`;function
|
|
6
|
-
`,"\\n"),f=
|
|
7
|
-
`,"\\n")+'" .-':"-","> ",t.get(o.target));return U(new I().appendIf(e.title!==null&&e.title.length>0,"---",E,`title: ${JSON.stringify(e.title)}`,E,"---",E).append("graph ",e.autoLayout,E).indent({indentedChildren:o=>{o.append(O(u.filter(c=>Ye(c.parent)),c=>i(c),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,O(n,c=>r(c),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var Xt=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Zt=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,Qt=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Le={Space_Separator:Xt,ID_Start:Zt,ID_Continue:Qt},$={isSpaceSeparator(e){return typeof e=="string"&&Le.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||Le.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||Le.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}};let xe,T,M,Ee,G,j,L,Pe,De;var en=function(u,n){xe=String(u),T="start",M=[],Ee=0,G=1,j=0,L=void 0,Pe=void 0,De=void 0;do L=un(),rn[T]();while(L.type!=="eof");return typeof n=="function"?Te({"":De},"",n):De};function Te(e,u,n){const t=e[u];if(t!=null&&typeof t=="object")if(Array.isArray(t))for(let i=0;i<t.length;i++){const r=String(i),o=Te(t,r,n);o===void 0?delete t[r]:Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(const i in t){const r=Te(t,i,n);r===void 0?delete t[i]:Object.defineProperty(t,i,{value:r,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,u,t)}let A,F,ce,J,w;function un(){for(A="default",F="",ce=!1,J=1;;){w=W();const e=yu[A]();if(e)return e}}function W(){if(xe[Ee])return String.fromCodePoint(xe.codePointAt(Ee))}function s(){const e=W();return e===`
|
|
8
|
-
`?(
|
|
9
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
10
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
11
|
-
`:case"\r":throw
|
|
12
|
-
`;case"r":return
|
|
13
|
-
`:case"\u2028":case"\u2029":return
|
|
14
|
-
`&&
|
|
15
|
-
`+r;
|
|
16
|
-
`+r+
|
|
17
|
-
`+
|
|
18
|
-
`+r,
|
|
19
|
-
`+r+
|
|
20
|
-
`+
|
|
21
|
-
/******************************************************************************
|
|
22
|
-
* This file was generated
|
|
23
|
-
* DO NOT EDIT MANUALLY!
|
|
24
|
-
******************************************************************************/
|
|
25
|
-
/* prettier-ignore-start */
|
|
26
|
-
/* eslint-disable */
|
|
27
|
-
|
|
28
|
-
`.append(E,E),u.length==0?(n.append("export const LikeC4Views = {}",E),U(n)):(n.appendTemplate`
|
|
29
|
-
export const LikeC4Views = {
|
|
30
|
-
`.indent({indentation:2,indentedChildren(t){t.appendNewLineIf(u.length>1).append(O(u,i=>_`${ue.stringify(i.id)}: ${ue.stringify(i)}`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("}",E,E).appendTemplate`
|
|
31
|
-
|
|
32
|
-
export function isLikeC4ViewId(value) {
|
|
33
|
-
return (
|
|
34
|
-
value != null &&
|
|
35
|
-
typeof value === 'string' &&
|
|
36
|
-
!!LikeC4Views[value]
|
|
37
|
-
)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/* prettier-ignore-end */
|
|
41
|
-
`.append(E),U(n))}function dn(e){const u=Array.from(e),n=new I;return n.appendTemplate`
|
|
68
|
+
`;function Ut(i){return i instanceof fe||i instanceof Jn||i instanceof Vt}function mt(i,e){return Ut(i)?Lu(i,e).text:String(i)}class fe{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,t,n){if(Ks(e)){if(this.tracedSource={astNode:e,property:t,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const t of e)typeof t=="function"?t(this):t&&this.contents.push(t);return this}appendIf(e,...t){return e?this.append(...t):this}appendNewLine(){return this.append(G)}appendNewLineIf(e){return e?this.append(G):this}appendNewLineIfNotEmpty(){return this.append(Ku)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...t){return this.append(Ze(e,...t))}appendTemplateIf(e){return e?(t,...n)=>this.appendTemplate(t,...n):()=>this}indent(e){const{indentedChildren:t,indentation:n,indentEmptyLines:s,indentImmediately:r}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},u=new Jn(n,r,s);return this.contents.push(u),Array.isArray(t)?u.append(...t):t&&u.append(t),this}appendTraced(e,t,n){return s=>this.append(new fe().trace(e,t,n).append(s))}appendTracedIf(e,t,n,s){return e?this.appendTraced(typeof t=="function"?t():t,n,s):()=>this}appendTracedTemplate(e,t,n){return(s,...r)=>this.append(Vu(e,t,n)(s,...r))}appendTracedTemplateIf(e,t,n,s){return e?this.appendTracedTemplate(typeof t=="function"?t():t,n,s):()=>this}}function Ju(i,e,t){return n=>n instanceof fe&&n.tracedSource===void 0?n.trace(i,e,t):new fe().trace(i,e,t).append(n)}class Jn extends fe{constructor(e,t=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=t,this.indentEmptyLines=n}}class Vt{constructor(e,t=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??qu,this.ifNotEmpty=t}}const G=new Vt,Ku=new Vt(void 0,!0),Bs=i=>i===void 0||typeof i=="string"||Ut(i)?i:String(i);function Se(i,e=Bs,t={}){const n=typeof e=="function"?e:Bs,{filter:s,prefix:r,suffix:u,separator:a,appendNewLineIfNotEmpty:c,skipNewLineAfterLastItem:h}=typeof e=="object"?e:t,l=typeof r=="function"?r:()=>r,f=typeof u=="function"?u:()=>u;return Qu(i,(m,C,F,w)=>{if(s&&!s(C,F,w))return m;const p=n(C,F,w);return p===void 0?m:(m??(m=new fe)).append(l(C,F,w)).append(p).append(f(C,F,w)).appendIf(!w,a).appendNewLineIfNotEmptyIf(!m.isEmpty()&&!!c&&(!w||!h))})}function Qu(i,e,t){const n=i[Symbol.iterator]();let s=n.next(),r=0,u=t;for(;!s.done;){const a=n.next();u=e(u,s.value,r,!!a.done),s=a,r++}return u}const Xu=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),Zu=i=>i.split(".").map(Xu).join(""),eo=i=>Zu(i.parent?i.id.slice(i.parent.length+1):i.id),to=({autoLayout:i})=>{switch(i.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},no=({shape:i})=>{switch(i){case"queue":case"cylinder":case"rectangle":case"person":return i;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function Os(i){const{nodes:e,edges:t}=i,n=new Map,s=(u,a)=>{const c=eo(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=JSON.stringify(u.title),f=no(u);return new fe().append(c,": {",G).indent({indentedChildren:m=>m.append("label: ",l,G).appendIf(f!=="rectangle","shape: ",f,G).appendIf(u.children.length>0,G,Se(e.filter(C=>C.parent===u.id),C=>s(C,h))),indentation:2}).append("}",G)},r=u=>new fe().append(n.get(u.source)," -> ",n.get(u.target)).append(a=>u.label&&a.append(": ",JSON.stringify(u.label)));return mt(new fe().append("direction: ",to(i),G,G).append(Se(e.filter(u=>gi(u.parent)),u=>s(u),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,G,Se(t,u=>r(u),{appendNewLineIfNotEmpty:!0})))}const io=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),so=i=>i.split(".").map(io).join(""),ro=i=>so(i.parent?i.id.slice(i.parent.length+1):i.id),uo=({shape:i})=>{switch(i){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function _s(i){const{nodes:e,edges:t}=i,n=new Map,s=(u,a)=>{const c=ro(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=u.title.replaceAll(`
|
|
69
|
+
`,"\\n"),f=uo(u),m=new fe;return u.children.length>0?m.append("subgraph ",h,"[",JSON.stringify(u.title),"]",G).indent({indentedChildren:[Se(e.filter(C=>C.parent===u.id),C=>s(C,h),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",G):m.append(h,f[0],l,f[1]),m},r=u=>new fe().append(n.get(u.source)," -.",u.label?' "'+u.label.replaceAll(`
|
|
70
|
+
`,"\\n")+'" .-':"-","> ",n.get(u.target));return mt(new fe().appendIf(i.title!==null&&i.title.length>0,"---",G,`title: ${JSON.stringify(i.title)}`,G,"---",G).append("graph ",i.autoLayout.direction,G).indent({indentedChildren:u=>{u.append(Se(e.filter(a=>gi(a.parent)),a=>s(a),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,Se(t,a=>r(a),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var oo=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ao=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,co=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Kn={Space_Separator:oo,ID_Start:ao,ID_Continue:co},ae={isSpaceSeparator(i){return typeof i=="string"&&Kn.Space_Separator.test(i)},isIdStartChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i==="$"||i==="_"||Kn.ID_Start.test(i))},isIdContinueChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9"||i==="$"||i==="_"||i==="\u200C"||i==="\u200D"||Kn.ID_Continue.test(i))},isDigit(i){return typeof i=="string"&&/[0-9]/.test(i)},isHexDigit(i){return typeof i=="string"&&/[0-9A-Fa-f]/.test(i)}};let Qn,Ae,He,gn,et,Me,ge,Xn,zt;var lo=function(e,t){Qn=String(e),Ae="start",He=[],gn=0,et=1,Me=0,ge=void 0,Xn=void 0,zt=void 0;do ge=fo(),mo[Ae]();while(ge.type!=="eof");return typeof t=="function"?Zn({"":zt},"",t):zt};function Zn(i,e,t){const n=i[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let s=0;s<n.length;s++){const r=String(s),u=Zn(n,r,t);u===void 0?delete n[r]:Object.defineProperty(n,r,{value:u,writable:!0,enumerable:!0,configurable:!0})}else for(const s in n){const r=Zn(n,s,t);r===void 0?delete n[s]:Object.defineProperty(n,s,{value:r,writable:!0,enumerable:!0,configurable:!0})}return t.call(i,e,n)}let H,z,Ht,Ge,Y;function fo(){for(H="default",z="",Ht=!1,Ge=1;;){Y=Ye();const i=Ss[H]();if(i)return i}}function Ye(){if(Qn[gn])return String.fromCodePoint(Qn.codePointAt(gn))}function E(){const i=Ye();return i===`
|
|
71
|
+
`?(et++,Me=0):i?Me+=i.length:Me++,i&&(gn+=i.length),i}const Ss={default(){switch(Y){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
72
|
+
`:case"\r":case"\u2028":case"\u2029":E();return;case"/":E(),H="comment";return;case void 0:return E(),Z("eof")}if(ae.isSpaceSeparator(Y)){E();return}return Ss[Ae]()},comment(){switch(Y){case"*":E(),H="multiLineComment";return;case"/":E(),H="singleLineComment";return}throw ee(E())},multiLineComment(){switch(Y){case"*":E(),H="multiLineCommentAsterisk";return;case void 0:throw ee(E())}E()},multiLineCommentAsterisk(){switch(Y){case"*":E();return;case"/":E(),H="default";return;case void 0:throw ee(E())}E(),H="multiLineComment"},singleLineComment(){switch(Y){case`
|
|
73
|
+
`:case"\r":case"\u2028":case"\u2029":E(),H="default";return;case void 0:return E(),Z("eof")}E()},value(){switch(Y){case"{":case"[":return Z("punctuator",E());case"n":return E(),gt("ull"),Z("null",null);case"t":return E(),gt("rue"),Z("boolean",!0);case"f":return E(),gt("alse"),Z("boolean",!1);case"-":case"+":E()==="-"&&(Ge=-1),H="sign";return;case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",1/0);case"N":return E(),gt("aN"),Z("numeric",NaN);case'"':case"'":Ht=E()==='"',z="",H="string";return}throw ee(E())},identifierNameStartEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":break;default:if(!ae.isIdStartChar(i))throw Is();break}z+=i,H="identifierName"},identifierName(){switch(Y){case"$":case"_":case"\u200C":case"\u200D":z+=E();return;case"\\":E(),H="identifierNameEscape";return}if(ae.isIdContinueChar(Y)){z+=E();return}return Z("identifier",z)},identifierNameEscape(){if(Y!=="u")throw ee(E());E();const i=ei();switch(i){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ae.isIdContinueChar(i))throw Is();break}z+=i,H="identifierName"},sign(){switch(Y){case".":z=E(),H="decimalPointLeading";return;case"0":z=E(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=E(),H="decimalInteger";return;case"I":return E(),gt("nfinity"),Z("numeric",Ge*(1/0));case"N":return E(),gt("aN"),Z("numeric",NaN)}throw ee(E())},zero(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return;case"x":case"X":z+=E(),H="hexadecimal";return}return Z("numeric",Ge*0)},decimalInteger(){switch(Y){case".":z+=E(),H="decimalPoint";return;case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalPointLeading(){if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}throw ee(E())},decimalPoint(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E(),H="decimalFraction";return}return Z("numeric",Ge*Number(z))},decimalFraction(){switch(Y){case"e":case"E":z+=E(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},decimalExponent(){switch(Y){case"+":case"-":z+=E(),H="decimalExponentSign";return}if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentSign(){if(ae.isDigit(Y)){z+=E(),H="decimalExponentInteger";return}throw ee(E())},decimalExponentInteger(){if(ae.isDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},hexadecimal(){if(ae.isHexDigit(Y)){z+=E(),H="hexadecimalInteger";return}throw ee(E())},hexadecimalInteger(){if(ae.isHexDigit(Y)){z+=E();return}return Z("numeric",Ge*Number(z))},string(){switch(Y){case"\\":E(),z+=ho();return;case'"':if(Ht)return E(),Z("string",z);z+=E();return;case"'":if(!Ht)return E(),Z("string",z);z+=E();return;case`
|
|
74
|
+
`:case"\r":throw ee(E());case"\u2028":case"\u2029":go(Y);break;case void 0:throw ee(E())}z+=E()},start(){switch(Y){case"{":case"[":return Z("punctuator",E())}H="value"},beforePropertyName(){switch(Y){case"$":case"_":z=E(),H="identifierName";return;case"\\":E(),H="identifierNameStartEscape";return;case"}":return Z("punctuator",E());case'"':case"'":Ht=E()==='"',H="string";return}if(ae.isIdStartChar(Y)){z+=E(),H="identifierName";return}throw ee(E())},afterPropertyName(){if(Y===":")return Z("punctuator",E());throw ee(E())},beforePropertyValue(){H="value"},afterPropertyValue(){switch(Y){case",":case"}":return Z("punctuator",E())}throw ee(E())},beforeArrayValue(){if(Y==="]")return Z("punctuator",E());H="value"},afterArrayValue(){switch(Y){case",":case"]":return Z("punctuator",E())}throw ee(E())},end(){throw ee(E())}};function Z(i,e){return{type:i,value:e,line:et,column:Me}}function gt(i){for(const e of i){if(Ye()!==e)throw ee(E());E()}}function ho(){switch(Ye()){case"b":return E(),"\b";case"f":return E(),"\f";case"n":return E(),`
|
|
75
|
+
`;case"r":return E(),"\r";case"t":return E()," ";case"v":return E(),"\v";case"0":if(E(),ae.isDigit(Ye()))throw ee(E());return"\0";case"x":return E(),po();case"u":return E(),ei();case`
|
|
76
|
+
`:case"\u2028":case"\u2029":return E(),"";case"\r":return E(),Ye()===`
|
|
77
|
+
`&&E(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw ee(E());case void 0:throw ee(E())}return E()}function po(){let i="",e=Ye();if(!ae.isHexDigit(e)||(i+=E(),e=Ye(),!ae.isHexDigit(e)))throw ee(E());return i+=E(),String.fromCodePoint(parseInt(i,16))}function ei(){let i="",e=4;for(;e-- >0;){const t=Ye();if(!ae.isHexDigit(t))throw ee(E());i+=E()}return String.fromCodePoint(parseInt(i,16))}const mo={start(){if(ge.type==="eof")throw Dt();ti()},beforePropertyName(){switch(ge.type){case"identifier":case"string":Xn=ge.value,Ae="afterPropertyName";return;case"punctuator":Dn();return;case"eof":throw Dt()}},afterPropertyName(){if(ge.type==="eof")throw Dt();Ae="beforePropertyValue"},beforePropertyValue(){if(ge.type==="eof")throw Dt();ti()},beforeArrayValue(){if(ge.type==="eof")throw Dt();if(ge.type==="punctuator"&&ge.value==="]"){Dn();return}ti()},afterPropertyValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforePropertyName";return;case"}":Dn()}},afterArrayValue(){if(ge.type==="eof")throw Dt();switch(ge.value){case",":Ae="beforeArrayValue";return;case"]":Dn()}},end(){}};function ti(){let i;switch(ge.type){case"punctuator":switch(ge.value){case"{":i={};break;case"[":i=[];break}break;case"null":case"boolean":case"numeric":case"string":i=ge.value;break}if(zt===void 0)zt=i;else{const e=He[He.length-1];Array.isArray(e)?e.push(i):Object.defineProperty(e,Xn,{value:i,writable:!0,enumerable:!0,configurable:!0})}if(i!==null&&typeof i=="object")He.push(i),Array.isArray(i)?Ae="beforeArrayValue":Ae="beforePropertyName";else{const e=He[He.length-1];e==null?Ae="end":Array.isArray(e)?Ae="afterArrayValue":Ae="afterPropertyValue"}}function Dn(){He.pop();const i=He[He.length-1];i==null?Ae="end":Array.isArray(i)?Ae="afterArrayValue":Ae="afterPropertyValue"}function ee(i){return Cn(i===void 0?`JSON5: invalid end of input at ${et}:${Me}`:`JSON5: invalid character '${xs(i)}' at ${et}:${Me}`)}function Dt(){return Cn(`JSON5: invalid end of input at ${et}:${Me}`)}function Is(){return Me-=5,Cn(`JSON5: invalid identifier character at ${et}:${Me}`)}function go(i){console.warn(`JSON5: '${xs(i)}' in strings is not valid ECMAScript; consider escaping`)}function xs(i){const e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[i])return e[i];if(i<" "){const t=i.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return i}function Cn(i){const e=new SyntaxError(i);return e.lineNumber=et,e.columnNumber=Me,e}var Do=function(e,t,n){const s=[];let r="",u,a,c="",h;if(t!=null&&typeof t=="object"&&!Array.isArray(t)&&(n=t.space,h=t.quote,t=t.replacer),typeof t=="function")a=t;else if(Array.isArray(t)){u=[];for(const w of t){let p;typeof w=="string"?p=w:(typeof w=="number"||w instanceof String||w instanceof Number)&&(p=String(w)),p!==void 0&&u.indexOf(p)<0&&u.push(p)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),l("",{"":e});function l(w,p){let y=p[w];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(w):typeof y.toJSON=="function"&&(y=y.toJSON(w))),a&&(y=a.call(p,w,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?F(y):m(y)}function f(w){const p={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let B="";for(let L=0;L<w.length;L++){const U=w[L];switch(U){case"'":case'"':p[U]++,B+=U;continue;case"\0":if(ae.isDigit(w[L+1])){B+="\\x00";continue}}if(y[U]){B+=y[U];continue}if(U<" "){let Ce=U.charCodeAt(0).toString(16);B+="\\x"+("00"+Ce).substring(Ce.length);continue}B+=U}const M=h||Object.keys(p).reduce((L,U)=>p[L]<p[U]?L:U);return B=B.replace(new RegExp(M,"g"),y[M]),M+B+M}function m(w){if(s.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");s.push(w);let p=r;r=r+c;let y=u||Object.keys(w),B=[];for(const L of y){const U=l(L,w);if(U!==void 0){let Ce=C(L)+":";c!==""&&(Ce+=" "),Ce+=U,B.push(Ce)}}let M;if(B.length===0)M="{}";else{let L;if(c==="")L=B.join(","),M="{"+L+"}";else{let U=`,
|
|
78
|
+
`+r;L=B.join(U),M=`{
|
|
79
|
+
`+r+L+`,
|
|
80
|
+
`+p+"}"}}return s.pop(),r=p,M}function C(w){if(w.length===0)return f(w);const p=String.fromCodePoint(w.codePointAt(0));if(!ae.isIdStartChar(p))return f(w);for(let y=p.length;y<w.length;y++)if(!ae.isIdContinueChar(String.fromCodePoint(w.codePointAt(y))))return f(w);return w}function F(w){if(s.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");s.push(w);let p=r;r=r+c;let y=[];for(let M=0;M<w.length;M++){const L=l(String(M),w);y.push(L!==void 0?L:"null")}let B;if(y.length===0)B="[]";else if(c==="")B="["+y.join(",")+"]";else{let M=`,
|
|
81
|
+
`+r,L=y.join(M);B=`[
|
|
82
|
+
`+r+L+`,
|
|
83
|
+
`+p+"]"}return s.pop(),r=p,B}};const Co={parse:lo,stringify:Do};var Bt=Co;function wo(i){return Se(i,e=>Ze`${Bt.stringify(e.id)}`,{separator:" | "})}function Ao(i){const e=Array.from(i),t=new fe;return t.appendTemplate`
|
|
42
84
|
/******************************************************************************
|
|
43
85
|
* This file was generated
|
|
44
86
|
* DO NOT EDIT MANUALLY!
|
|
@@ -49,10 +91,10 @@ import{l as Ke,m as Mu,n as Ju,o as qe,p as Wu,r as Ye,w as zu,y as Hu,z as Xe,A
|
|
|
49
91
|
// @ts-nocheck
|
|
50
92
|
|
|
51
93
|
import type { DiagramView } from 'likec4'
|
|
52
|
-
`.append(
|
|
53
|
-
export type LikeC4ViewId = ${
|
|
94
|
+
`.append(G,G),e.length===0?(t.append("export {}",G),mt(t)):(t.appendTemplate`
|
|
95
|
+
export type LikeC4ViewId = ${wo(e)};
|
|
54
96
|
export const LikeC4Views = {
|
|
55
|
-
`.indent({indentation:2,indentedChildren(
|
|
97
|
+
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(Se(e,s=>Ze`${Bt.stringify(s.id)}: (${Bt.stringify(s)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",G,G).appendTemplate`
|
|
56
98
|
export type LikeC4Views = typeof LikeC4Views
|
|
57
99
|
|
|
58
100
|
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId {
|
|
@@ -64,7 +106,7 @@ import{l as Ke,m as Mu,n as Ju,o as qe,p as Wu,r as Ye,w as zu,y as Hu,z as Xe,A
|
|
|
64
106
|
}
|
|
65
107
|
|
|
66
108
|
/* prettier-ignore-end */
|
|
67
|
-
`.append(
|
|
109
|
+
`.append(G),mt(t))}function Eo(i){const e=new fe;return e.appendTemplate`
|
|
68
110
|
/******************************************************************************
|
|
69
111
|
* This file was generated
|
|
70
112
|
* DO NOT EDIT MANUALLY!
|
|
@@ -73,17 +115,17 @@ import{l as Ke,m as Mu,n as Ju,o as qe,p as Wu,r as Ye,w as zu,y as Hu,z as Xe,A
|
|
|
73
115
|
|
|
74
116
|
export function d2Source(viewId) {
|
|
75
117
|
switch (viewId) {
|
|
76
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(
|
|
77
|
-
case ${JSON.stringify(
|
|
78
|
-
return ${JSON.stringify(
|
|
118
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(i,n=>Ze`
|
|
119
|
+
case ${JSON.stringify(n.id)}: {
|
|
120
|
+
return ${JSON.stringify(Os(n))}
|
|
79
121
|
}
|
|
80
122
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
81
123
|
default: {
|
|
82
124
|
throw new Error('Unknown viewId: ' + viewId)
|
|
83
125
|
}
|
|
84
|
-
`}}).append(
|
|
126
|
+
`}}).append(G," }",G).appendTemplate`
|
|
85
127
|
}
|
|
86
|
-
`.append(
|
|
128
|
+
`.append(G,G),mt(e)}function bo(i){const e=new fe;return e.appendTemplate`
|
|
87
129
|
/******************************************************************************
|
|
88
130
|
* This file was generated
|
|
89
131
|
* DO NOT EDIT MANUALLY!
|
|
@@ -92,33 +134,33 @@ import{l as Ke,m as Mu,n as Ju,o as qe,p as Wu,r as Ye,w as zu,y as Hu,z as Xe,A
|
|
|
92
134
|
|
|
93
135
|
export function dotSource(viewId) {
|
|
94
136
|
switch (viewId) {
|
|
95
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(
|
|
96
|
-
case ${JSON.stringify(
|
|
97
|
-
return ${JSON.stringify(
|
|
137
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(Object.keys(i),n=>Ze`
|
|
138
|
+
case ${JSON.stringify(n)}: {
|
|
139
|
+
return ${JSON.stringify(i[n].dot)}
|
|
98
140
|
}
|
|
99
141
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
100
142
|
default: {
|
|
101
143
|
throw new Error('Unknown viewId: ' + viewId)
|
|
102
144
|
}
|
|
103
|
-
`}}).append(
|
|
145
|
+
`}}).append(G," }",G).appendTemplate`
|
|
104
146
|
}
|
|
105
147
|
|
|
106
148
|
export function svgSource(viewId) {
|
|
107
149
|
switch (viewId) {
|
|
108
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(
|
|
109
|
-
case ${JSON.stringify(
|
|
110
|
-
return ${JSON.stringify(
|
|
150
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(Object.keys(i),n=>Ze`
|
|
151
|
+
case ${JSON.stringify(n)}: {
|
|
152
|
+
return ${JSON.stringify(i[n].svg)}
|
|
111
153
|
}
|
|
112
154
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
113
155
|
default: {
|
|
114
156
|
throw new Error('Unknown viewId: ' + viewId)
|
|
115
157
|
}
|
|
116
|
-
`}}).append(
|
|
117
|
-
${
|
|
158
|
+
`}}).append(G," }",G,"}",G,G),mt(e)}function Fo(i){const e=Qs(i.flatMap(s=>s.nodes.map(r=>r.icon)),Di(Zs),Di(s=>Ci(s)&&!s.toLowerCase().startsWith("http")),Xs()).sort(),{imports:t,cases:n}=e.reduce((s,r,u)=>{const[a,c]=r.split(":"),h="Icon"+u.toString().padStart(2,"0");return s.imports.push(`import ${h} from 'likec4/icons/${a}/${c}'`),s.cases.push(` '${a}:${c}': ${h}`),s},{imports:[],cases:[]});return`
|
|
159
|
+
${t.join(`
|
|
118
160
|
`)}
|
|
119
161
|
|
|
120
162
|
export const Icons = {
|
|
121
|
-
${
|
|
163
|
+
${n.join(`,
|
|
122
164
|
`)}
|
|
123
165
|
}
|
|
124
166
|
|
|
@@ -135,7 +177,37 @@ if (import.meta.hot) {
|
|
|
135
177
|
}
|
|
136
178
|
})
|
|
137
179
|
}
|
|
138
|
-
`}function
|
|
180
|
+
`}function yo(i){const{views:e,...t}=i.sourcemodel;return`
|
|
181
|
+
import { nano, createLikeC4Model } from 'likec4/react'
|
|
182
|
+
|
|
183
|
+
// This is needed for tree better tree shaking
|
|
184
|
+
export let LikeC4Views = ${Bt.stringify(e)}
|
|
185
|
+
|
|
186
|
+
export let likec4model = /* @__PURE__ */ createLikeC4Model(Object.assign(
|
|
187
|
+
${Bt.stringify(t)},
|
|
188
|
+
{views: LikeC4Views}
|
|
189
|
+
))
|
|
190
|
+
|
|
191
|
+
export let $likec4model = /* @__PURE__ */ nano.atom(likec4model)
|
|
192
|
+
|
|
193
|
+
export function useLikeC4ModelAtom() {
|
|
194
|
+
return nano.useStore($likec4model)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
if (import.meta.hot) {
|
|
198
|
+
import.meta.hot.accept(md => {
|
|
199
|
+
const update = md.$likec4model
|
|
200
|
+
if (update) {
|
|
201
|
+
if (!import.meta.hot.data.$current) {
|
|
202
|
+
import.meta.hot.data.$current = $likec4model
|
|
203
|
+
}
|
|
204
|
+
import.meta.hot.data.$current.set(update.get())
|
|
205
|
+
} else {
|
|
206
|
+
import.meta.hot.invalidate()
|
|
207
|
+
}
|
|
208
|
+
})
|
|
209
|
+
}
|
|
210
|
+
`}function vo(i){const e=new fe;return e.appendTemplate`
|
|
139
211
|
/******************************************************************************
|
|
140
212
|
* This file was generated
|
|
141
213
|
* DO NOT EDIT MANUALLY!
|
|
@@ -144,25 +216,24 @@ if (import.meta.hot) {
|
|
|
144
216
|
|
|
145
217
|
export function mmdSource(viewId) {
|
|
146
218
|
switch (viewId) {
|
|
147
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(
|
|
148
|
-
case ${JSON.stringify(
|
|
149
|
-
return ${JSON.stringify(
|
|
219
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Se(i,n=>Ze`
|
|
220
|
+
case ${JSON.stringify(n.id)}: {
|
|
221
|
+
return ${JSON.stringify(_s(n))}
|
|
150
222
|
}
|
|
151
223
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
152
224
|
default: {
|
|
153
225
|
throw new Error('Unknown viewId: ' + viewId)
|
|
154
226
|
}
|
|
155
|
-
`}}).append(
|
|
227
|
+
`}}).append(G," }",G).appendTemplate`
|
|
156
228
|
}
|
|
157
229
|
|
|
158
|
-
`.append(
|
|
159
|
-
import {
|
|
160
|
-
import { atom } from 'nanostores'
|
|
230
|
+
`.append(G,G),mt(e)}function $s(i){return`
|
|
231
|
+
import { nano } from 'likec4/react'
|
|
161
232
|
|
|
162
|
-
export const $graph = atom(${
|
|
233
|
+
export const $graph = nano.atom(${Bt.stringify(i,null,2)})
|
|
163
234
|
|
|
164
235
|
export const useOverviewGraph = () => {
|
|
165
|
-
return useStore($graph)
|
|
236
|
+
return nano.useStore($graph)
|
|
166
237
|
}
|
|
167
238
|
|
|
168
239
|
if (import.meta.hot) {
|
|
@@ -178,24 +249,22 @@ if (import.meta.hot) {
|
|
|
178
249
|
}
|
|
179
250
|
})
|
|
180
251
|
}
|
|
181
|
-
`}function
|
|
182
|
-
import {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// assets dir: ${u}
|
|
252
|
+
`}function Bo(i,e){const{imports:t,cases:n}=i.reduce((s,{id:r},u)=>{const a=Q(e,`${r}.png`);if(!st(a))return s;const c="Png"+u.toString().padStart(2,"0");return s.imports.push(`import ${c} from 'likec4/previews/${r}.png'`),s.cases.push(` ${JSON.stringify(r)}: ${c}`),s},{imports:[],cases:[]});return`
|
|
253
|
+
import { nano } from 'likec4/react'
|
|
254
|
+
// assets dir: ${e}
|
|
186
255
|
|
|
187
|
-
${
|
|
256
|
+
${t.join(`
|
|
188
257
|
`)}
|
|
189
258
|
|
|
190
259
|
const Previews = {
|
|
191
|
-
${
|
|
260
|
+
${n.join(`,
|
|
192
261
|
`)}
|
|
193
262
|
}
|
|
194
263
|
|
|
195
|
-
export let $previews = map(Previews)
|
|
264
|
+
export let $previews = nano.map(Previews)
|
|
196
265
|
|
|
197
266
|
export let usePreviewUrl = (id) => {
|
|
198
|
-
const views = useStore($previews, {
|
|
267
|
+
const views = nano.useStore($previews, {
|
|
199
268
|
keys: [id]
|
|
200
269
|
})
|
|
201
270
|
return views[id] ?? null
|
|
@@ -222,46 +291,7 @@ if (import.meta.hot) {
|
|
|
222
291
|
}
|
|
223
292
|
})
|
|
224
293
|
}
|
|
225
|
-
`}const
|
|
226
|
-
import { useStore } from '@nanostores/react'
|
|
227
|
-
import { map } from 'nanostores'
|
|
228
|
-
import { LikeC4Views } from 'virtual:likec4/views'
|
|
229
|
-
|
|
230
|
-
export let $views = map(LikeC4Views)
|
|
231
|
-
|
|
232
|
-
export let useLikeC4Views = () => {
|
|
233
|
-
return useStore($views)
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
export let useLikeC4View = (id) => {
|
|
237
|
-
const views = useStore($views, {
|
|
238
|
-
keys: [id]
|
|
239
|
-
})
|
|
240
|
-
return views[id] ?? null
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if (import.meta.hot) {
|
|
244
|
-
import.meta.hot.accept(md => {
|
|
245
|
-
const update = md.$views
|
|
246
|
-
if (update) {
|
|
247
|
-
if (!import.meta.hot.data.$current) {
|
|
248
|
-
import.meta.hot.data.$current = $views
|
|
249
|
-
}
|
|
250
|
-
const oldKeys = new Set([...Object.keys(import.meta.hot.data.$current.get())])
|
|
251
|
-
for (const [id, view] of Object.entries(update.get())) {
|
|
252
|
-
oldKeys.delete(id)
|
|
253
|
-
import.meta.hot.data.$current.setKey(id, view)
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
for (const key of oldKeys.values()) {
|
|
257
|
-
import.meta.hot.data.$current.setKey(key, undefined)
|
|
258
|
-
}
|
|
259
|
-
} else {
|
|
260
|
-
import.meta.hot.invalidate()
|
|
261
|
-
}
|
|
262
|
-
})
|
|
263
|
-
}
|
|
264
|
-
`,Fn={id:"virtual:likec4/store",virtualId:"\0likec4-plugin/store.js",async load({likec4:e,logger:u}){return u.info(a.dim("generating virtual:likec4/store")),gn}},En={id:"virtual:likec4/views",virtualId:"\0likec4-plugin/views.js",async load({likec4:e,logger:u}){u.info(a.dim("generating virtual:likec4/views"));const n=await e.views.diagrams();return cn([...n])}},An={id:"virtual:likec4/dot-sources",virtualId:"\0likec4-plugin/dot-sources.js",async load({likec4:e,logger:u}){u.info(a.dim("generating virtual:likec4/dot-sources"));const n=await e.views.viewsAsGraphvizOut(),t=qu(n,({id:i,svg:r,dot:o})=>[i,{dot:o,svg:r}]);return pn(t)}},hn={id:"virtual:likec4/d2-sources",virtualId:"\0likec4-plugin/d2-sources.js",async load({likec4:e,logger:u}){u.info(a.dim("generating virtual:likec4/d2-sources"));const n=await e.views.computedViews();return ln(n)}},wn={id:"virtual:likec4/mmd-sources",virtualId:"\0likec4-plugin/mmd-sources.js",async load({likec4:e,logger:u}){u.info(a.dim("generating virtual:likec4/mmd-sources"));const n=await e.views.computedViews();return mn(n)}},vn={id:"virtual:likec4/icons",virtualId:"\0likec4-plugin/icons.js",async load({likec4:e,logger:u}){u.info(a.dim("generating virtual:likec4/icons"));const n=await e.views.computedViews();return fn(n)}},Bn={id:"virtual:likec4/overview-graph",virtualId:"\0likec4-plugin/overview-graph.js",async load({likec4:e,logger:u,useOverviewGraph:n}){if(n===!0)try{u.info(a.dim("generating virtual:likec4/overview-graph"));const t=await e.views.overviewGraph();return Su(t)}catch(t){u.error(t)}return u.info(a.dim("generating empty virtual:likec4/overview-graph")),Su({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}})}},$u={id:"virtual:likec4/previews",virtualId:"\0likec4-plugin/previews.js",async load({likec4:e,logger:u,assetsDir:n}){u.info(a.dim("generating virtual:likec4/previews"));const t=await e.views.computedViews();return Cn(t,n)}},Iu=[vn,An,hn,wn,En,Bn,$u],Nu=[...Iu,Fn],yn=e=>{const u=e.toLowerCase();return u.endsWith(".c4")||u.endsWith(".likec4")||u.endsWith(".like-c4")};function Re({useOverviewGraph:e=!1,languageServices:u}){let n,t=u.workspace;return{name:"vite-plugin-likec4",configResolved(i){if(n=i.logger,e){const r=i.resolve.alias.find(o=>o.find==="likec4/previews")?.replacement;r?(t=r,n.info(a.dim("likec4/previews alias")+" "+a.dim(t))):n.warn("likec4/previews alias not found")}},resolveId(i){const r=Nu.find(o=>o.id===i);return r?r.virtualId:null},async load(i){const r=Nu.find(o=>o.virtualId===i);return r?await r.load({logger:n,likec4:u,assetsDir:t,useOverviewGraph:e}):null},configureServer(i){const r=Ku(1),o=()=>{r.clearQueue(),r(async()=>{const[l]=u.getErrors();if(l){i.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:"Validation error: "+l.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:l.sourceFsPath,line:l.range.start.line+1,column:l.range.start.character+1}}});return}for(const d of Iu){const f=i.moduleGraph.getModuleById(d.virtualId);if(f&&f.importers.size>0){n.info(`${a.green("trigger hmr")} ${a.dim(f.url)}`);try{await i.reloadModule(f)}catch(p){n.error(p)}}}})},c=u.workspace;n.info(`${a.dim("watch")} ${c}`);const D=l=>d=>{yn(d)&&u.notifyUpdate({[l]:d})};if(i.watcher.add(c).on("add",D("changed")).on("change",D("changed")).on("unlink",D("removed")),e&&!t.startsWith(u.workspace)){n.info(`${a.dim("watch")} ${t}`);const l=()=>{const d=i.moduleGraph.getModuleById($u.virtualId);d&&d.importers.size>0&&i.reloadModule(d)};i.watcher.add(t).on("add",l).on("change",l).on("unlink",l)}u.onModelUpdate(()=>{x.debug("likec4 model update"),o()})}}}const Ve=ne(ft(import.meta.url)),bn=`
|
|
294
|
+
`}const Oo={id:"virtual:likec4/dot-sources",virtualId:"\0likec4-plugin/dot-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/dot-sources"));const t=await i.views.viewsAsGraphvizOut(),n=tr(t,({id:s,svg:r,dot:u})=>[s,{dot:u,svg:r}]);return bo(n)}},_o={id:"virtual:likec4/d2-sources",virtualId:"\0likec4-plugin/d2-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/d2-sources"));const t=await i.views.computedViews();return Eo(t)}},So={id:"virtual:likec4/mmd-sources",virtualId:"\0likec4-plugin/mmd-sources.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/mmd-sources"));const t=await i.views.computedViews();return vo(t)}},Io={id:"virtual:likec4/icons",virtualId:"\0likec4-plugin/icons.js",async load({likec4:i,logger:e}){e.info(b.dim("generating virtual:likec4/icons"));const t=await i.views.computedViews();return Fo(t)}},xo={id:"virtual:likec4/overview-graph",virtualId:"\0likec4-plugin/overview-graph.js",async load({likec4:i,logger:e,useOverviewGraph:t}){if(t===!0)try{e.info(b.dim("generating virtual:likec4/overview-graph"));const n=await i.views.overviewGraph();return $s(n)}catch(n){e.error(n)}return e.info(b.dim("generating empty virtual:likec4/overview-graph")),$s({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}})}},js={id:"virtual:likec4/previews",virtualId:"\0likec4-plugin/previews.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/previews"));const n=await i.views.computedViews();return Bo(n,t)}},$o={id:"virtual:likec4/model",virtualId:"\0likec4-plugin/model.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(b.dim("generating virtual:likec4/model"));const n=await i.layoutedModel();return yo(n)}},ni=[Io,Oo,_o,So,xo,js,$o],jo=i=>{const e=i.toLowerCase();return e.endsWith(".c4")||e.endsWith(".likec4")||e.endsWith(".like-c4")};function ii({useOverviewGraph:i=!1,languageServices:e}){let t,n=e.workspace;return{name:"vite-plugin-likec4",configResolved(s){if(t=s.logger,i){const r=s.resolve.alias.find(u=>u.find==="likec4/previews")?.replacement;r?(n=r,t.info(b.dim("likec4/previews alias")+" "+b.dim(n))):t.warn("likec4/previews alias not found")}},resolveId(s){const r=ni.find(u=>u.id===s);return r?r.virtualId:null},async load(s){const r=ni.find(u=>u.virtualId===s);return r?await r.load({logger:t,likec4:e,assetsDir:n,useOverviewGraph:i}):null},configureServer(s){const r=er(1),u=()=>{r.clearQueue(),r(async()=>{const[h]=e.getErrors();if(h){s.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:"Validation error: "+h.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:h.sourceFsPath,line:h.range.start.line+1,column:h.range.start.character+1}}});return}for(const l of ni){const f=s.moduleGraph.getModuleById(l.virtualId);if(f&&f.importers.size>0){t.info(`${b.green("trigger hmr")} ${b.dim(f.url)}`);try{await s.reloadModule(f)}catch(m){t.error(m)}}}})},a=e.workspace;t.info(`${b.dim("watch")} ${a}`);const c=h=>l=>{jo(l)&&e.notifyUpdate({[h]:l})};if(s.watcher.add(a).on("add",c("changed")).on("change",c("changed")).on("unlink",c("removed")),i&&!n.startsWith(e.workspace)){t.info(`${b.dim("watch")} ${n}`);const h=()=>{const l=s.moduleGraph.getModuleById(js.virtualId);l&&l.importers.size>0&&s.reloadModule(l)};s.watcher.add(n).on("add",h).on("change",h).on("unlink",h)}e.onModelUpdate(()=>{De.debug("likec4 model update"),u()})}}}const si=_t(Fr(import.meta.url)),Po=`
|
|
265
295
|
/* prettier-ignore-start */
|
|
266
296
|
/* eslint-disable */
|
|
267
297
|
|
|
@@ -270,20 +300,20 @@ if (import.meta.hot) {
|
|
|
270
300
|
* DO NOT EDIT MANUALLY!
|
|
271
301
|
******************************************************************************/
|
|
272
302
|
|
|
273
|
-
`.trimStart(),
|
|
303
|
+
`.trimStart(),No=`
|
|
274
304
|
|
|
275
305
|
/* prettier-ignore-end */
|
|
276
|
-
`,
|
|
277
|
-
${
|
|
278
|
-
`)}`),new Error("likec4 app root does not exist");return
|
|
279
|
-
`),
|
|
280
|
-
`+"".padEnd(9," ")),
|
|
306
|
+
`,ri={banner:Po,footer:No};function ui(){const i=[Q(si,"../__app__"),Q(si,"../../__app__"),Q(si,"../../dist/__app__")],e=nr(i,st);if(!e)throw De.error(`likec4 app root does not exist, tried:
|
|
307
|
+
${i.join(`
|
|
308
|
+
`)}`),new Error("likec4 app root does not exist");return e}async function oi(){const i=await Qt(St(Xt(),".likec4-public-"));return await At(St(i,"likec4-views.js"),`// generated by likec4
|
|
309
|
+
`),i}const ai=1e4,ci=async({languageServices:i,likec4AssetsDir:e,...t})=>{const n=t.customLogger??ke("c4:vite"),s=ui(),r=t?.useOverviewGraph===!0;n.info(`${b.cyan("likec4 app root")} ${b.dim(s)}`);const u=t.outputDir??Q(i.workspace,"dist");n.info(b.cyan("output")+" "+b.dim(u));let a="/";t.base&&(a=ir(t.base),sr(a)||(a=rr(a))),a!=="/"&&n.info(`${b.green("app base url")} ${b.dim(a)}`);const c=t.webcomponentPrefix??"likec4";return{isDev:!1,likec4AssetsDir:e,webcomponentPrefix:c,root:s,languageServices:i,clearScreen:!1,base:a,resolve:{alias:{"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),__USE_STYLE_BUNDLE__:"false",__USE_OVERVIEW_GRAPH__:r?"true":"false",__USE_HASH_HISTORY__:t?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:u,modulePreload:!1,emptyOutDir:!1,cssCodeSplit:!1,sourcemap:!1,cssMinify:!0,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:ai,commonjsOptions:{defaultIsModuleExports:h=>h.includes("react")?!0:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{hoistTransitiveImports:!1,compact:!0}}},customLogger:n,plugins:[ii({languageServices:i,useOverviewGraph:r})]}};async function li({languageServices:i,outDir:e,base:t,webcomponentPrefix:n="likec4",filename:s="likec4-views.js"}){const r=ke("c4:lib"),u=ui();return r.info(b.cyan("outDir")+" "+b.dim(e)),{root:u,clearScreen:!1,base:t,configFile:!1,publicDir:!1,mode:"production",define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},resolve:{alias:{"likec4/icons":Q(u,"../../icons")}},esbuild:{...ri},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:ai,lib:{entry:"webcomponent/webcomponent.js",fileName(a,c){return s},formats:["iife"],name:"LikeC4Views"},commonjsOptions:{defaultIsModuleExports:a=>a.includes("react")?!0:"auto",requireReturnsDefault:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:r,plugins:[ii({languageServices:i,useOverviewGraph:!1})]}}const Lo=["favicon.ico","robots.txt"],Mo=async({buildWebcomponent:i=!0,webcomponentPrefix:e="likec4",languageServices:t,likec4AssetsDir:n,...s})=>{n??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:r,...u}=await ci({...s,languageServices:t,likec4AssetsDir:n,webcomponentPrefix:e}),a=await oi();for(const l of Lo){const f=Q(u.root,l);st(f)&&Si(f,Q(a,l))}const c=await t.diagrams();if(c.length===0)throw process.exitCode=1,new Error("no views found");if(c.forEach(l=>{l.hasLayoutDrift&&u.customLogger.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(l.id))}),i){const l=await li({webcomponentPrefix:e,languageServices:t,outDir:a,base:u.base});await It(l)}await It({...u,publicDir:a,mode:"production"});const h=Q(u.build.outDir,"index.html");st(h)&&Si(h,Q(u.build.outDir,"404.html"))};function Ps(i){if(i.resolvedUrls)return wi(i.resolvedUrls.network)??wi(i.resolvedUrls.local)}function Ns(i){if(!i.resolvedUrls)throw new Error("Vite server is not ready, no resolvedUrls");De.box([b.green("LikeC4 served at:"),"",b.dim("Local: ")+i.resolvedUrls.local.join(`
|
|
310
|
+
`+"".padEnd(9," ")),b.dim("Network: ")+i.resolvedUrls.network.join(`
|
|
281
311
|
`+"".padEnd(9," "))].join(`
|
|
282
|
-
`))}class
|
|
283
|
-
`+
|
|
284
|
-
`),await
|
|
285
|
-
`+
|
|
286
|
-
`)+";"}async function
|
|
312
|
+
`))}class Ls extends Error{constructor(e){super(`${e} is locked`)}}const Ot={old:new Set,young:new Set},ko=1e3*15,wn=1024,An=65535;let Gt;const To=()=>{const i=br.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const t of Object.values(i))for(const n of t)e.add(n.address);return e},Ms=i=>new Promise((e,t)=>{const n=Br.createServer();n.unref(),n.on("error",t),n.listen(i,()=>{const{port:s}=n.address();n.close(()=>{e(s)})})}),ks=async(i,e)=>{if(i.host||i.port===0)return Ms(i);for(const t of e)try{await Ms({port:i.port,host:t})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return i.port},Ro=function*(i){i&&(yield*i),yield 0};async function fi(i){let e,t=new Set;if(i&&(i.port&&(e=typeof i.port=="number"?[i.port]:i.port),i.exclude)){const s=i.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const r of s){if(typeof r!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(r))throw new TypeError(`Number ${r} in the exclude option is not a safe integer and can't be used`)}t=new Set(s)}Gt===void 0&&(Gt=setTimeout(()=>{Gt=void 0,Ot.old=Ot.young,Ot.young=new Set},ko),Gt.unref&&Gt.unref());const n=To();for(const s of Ro(e))try{if(t.has(s))continue;let r=await ks({...i,port:s},n);for(;Ot.old.has(r)||Ot.young.has(r);){if(s!==0)throw new Ls(s);r=await ks({...i,port:s},n)}return Ot.young.add(r),r}catch(r){if(!["EADDRINUSE","EACCES"].includes(r.code)&&!(r instanceof Ls))throw r}throw new Error("No available ports found")}function En(i,e){if(!Number.isInteger(i)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(i<wn||i>An)throw new RangeError(`'from' must be between ${wn} and ${An}`);if(e<wn||e>An)throw new RangeError(`'to' must be between ${wn} and ${An}`);if(i>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,s){for(let r=n;r<=s;r++)yield r}(i,e)}async function Ts({buildWebcomponent:i=!0,hmr:e=!0,webcomponentPrefix:t="likec4",languageServices:n,likec4AssetsDir:s,openBrowser:r,...u}){s??=await Qt(St(Xt(),".likec4-assets-"));const{isDev:a,...c}=await ci({...u,languageServices:n,likec4AssetsDir:s,webcomponentPrefix:t}),h=await fi({port:[5173,...En(61e3,61010),...En(62002,62010)]}),l=await fi({port:En(24678,24690)}),f=await oi();let m;if(i){const F=await li({webcomponentPrefix:t,languageServices:n,outDir:f,base:c.base});m=It({...F,logLevel:"warn"}).catch(w=>(De.warn("webcomponent build failed",w),De.warn("Ignoring error and continuing"),Promise.resolve()))}const C=await yr({...c,define:Object.assign({},c.define,e&&{"process.env.NODE_ENV":'"development"'}),mode:e?"development":c.mode,publicDir:f,server:{host:"0.0.0.0",port:h,hmr:e&&{overlay:!0,port:l},fs:{strict:!1},open:r??!a}});return await C.listen(),m&&await m,C}async function Wo({browserContext:i,views:e,output:t,logger:n,timeout:s,maxAttempts:r,outputType:u,theme:a}){let c;const h=e.map(m=>({view:m,attempt:1})),l=[];let f;for(;f=h.shift();){const{view:m,attempt:C}=f,F=`/export/${encodeURIComponent(m.id)}`;try{if(C>1){c&&(c.close({runBeforeUnload:!0}).catch(M=>n.error(`failed to close page: ${M}`)),c=void 0);const B=Ai(C*200,{min:200,max:1e3});n.info(b.cyan(F)+b.dim(` attempt ${C} of ${r} after ${B}ms`)),await Or(B)}else m.hasLayoutDrift&&n.warn(b.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+b.red(m.id)),n.info(b.cyan(F));c??=await i.newPage(),await c.goto(F+`?padding=20&theme=${a}`);const w=c.getByRole("presentation");await w.waitFor(),m.nodes.some(B=>Ci(B.icon)&&B.icon.toLowerCase().startsWith("http"))&&await Uo(c,s);let p=".";u==="relative"&&(p=m.relativePath??".",p.includes("/")?p=p.slice(0,p.lastIndexOf("/")):p=".");const y=Q(t,p,`${m.id}.png`);await w.screenshot({path:y,omitBackground:!0}),l.push({view:m,path:y})}catch(w){c?.close({runBeforeUnload:!0}).catch(p=>n.error(`failed to close page: ${p}`)),n.error(b.red("failed "+F+`
|
|
313
|
+
`+w)),C<r&&(h.push({view:m,attempt:C+1}),n.info(b.dim(`retry ${F}`))),c=void 0}}return l}async function Uo(i,e){let t=await i.locator("//img").all();if(!t.length)return;const n=t.map(s=>s.evaluate(r=>r.complete||new Promise((u,a)=>{r.onload=u,r.onerror=a}),{timeout:Math.max(3e4,e)}));await Promise.allSettled(n)}async function Rs({logger:i,serverUrl:e,theme:t="light",timeoutMs:n=15e3,views:s,output:r,outputType:u="relative",maxAttempts:a=3}){i.info(`${b.cyan("export output")} ${b.dim(r)}`),i.info(`${b.cyan("from server")} ${b.dim(e)}`);const c=$i.executablePath();i.info(b.cyan("Start chromium")),i.info(b.dim(c));const h=await $i.launch();i.info(b.cyan("Color scheme: ")+t);const l=await h.newContext({deviceScaleFactor:2,colorScheme:t,baseURL:e,isMobile:!1});l.setDefaultNavigationTimeout(n),l.setDefaultTimeout(n);try{return await Wo({browserContext:l,views:s,output:r,outputType:u,logger:i,maxAttempts:a,timeout:n,theme:t})}finally{i.info(b.cyan("close chromium")),await l.close(),await h.close()}}async function Ws({path:i,useDotBin:e,theme:t="light",output:n,outputType:s,serverUrl:r,ignore:u=!1,timeoutMs:a=1e4,maxAttempts:c=3}){const h=ke("c4:export"),l=zs(),f=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n??=f.workspace;const m=await f.diagrams();if(!ur(m,1))throw h.warn("no views found"),new Error("no views found");let C;if(!r&&(h.info(b.cyan("start preview server")),C=await Ts({languageServices:f,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,hmr:!1}),r=Ps(C),!r))throw h.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");try{const F=await Rs({logger:h,serverUrl:r,theme:t,timeoutMs:a,views:m,output:n,outputType:s,maxAttempts:c}),{pretty:w}=or(l);if(F.length>0&&h.info(b.green(`exported ${F.length} views in ${w}`)),F.length!==m.length&&(u&&F.length>0?h.info(b.dim("ignore")+" "+b.red(`failed ${m.length-F.length} out of ${m.length} views`)):h.error(b.red(`failed ${m.length-F.length} out of ${m.length} views`))),F.length!==m.length&&(F.length===0||!u))throw new Error(`Failed ${m.length-F.length} out of ${m.length} views`)}finally{C&&(h.info(b.cyan("stop server")),await C.close().catch(F=>{h.error(F)}))}}const{cyan:Us,dim:Vs}=b;async function Vo({path:i,useDotBin:e,useHashHistory:t,webcomponentPrefix:n,useOverview:s=!1,output:r,base:u}){const a=ke("c4:build"),c=await qe.fromWorkspace(i,{graphviz:e?"binary":"wasm",logger:"vite"}),h=r??Q(c.workspace,"dist");let l=Q(h,"assets");if(s)try{l=Q(h,"assets","previews"),await Je(l,{recursive:!0}),a.info(`${Us("Generate previews")} ${Vs(l)}
|
|
314
|
+
`),await Ws({path:i,useDotBin:e,output:l,outputType:"flat",ignore:!0})}catch(f){a.error(b.red("Failed to generate previews")),a.error(f),a.warn(b.yellow("Ignore previews and continue build")),Ii(l,{recursive:!0,force:!0}),s=!1}await Mo({base:u,useHashHistory:t,customLogger:a,useOverviewGraph:s,webcomponentPrefix:n,languageServices:c,likec4AssetsDir:l,outputDir:r}),s&&(a.info(`${Us("clean previews")} ${Vs(l)}`),Ii(l,{recursive:!0,force:!0}))}const zo={command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:i=>i.positional("path",hn).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:Q}).option("base",Ds).option("use-hash-history",gs).option("use-dot",We).option("webcomponent-prefix",Gn).option("use-overview",Cs).example(`${b.green("$0 build -o ./build ./src")}`,b.gray("Search for likec4 files in 'src' and output static site to 'build'")),handler:async i=>{await Vo({path:i.path,output:i.output,base:i.base,useHashHistory:i["use-hash-history"],useDotBin:i["use-dot"],useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"]})}};async function Ho(i,e,t){const n=".ts";e=e??Q(i.workspace,"likec4.generated"+n),Kt(e)!==n&&(e=e+n),await Je(_t(e),{recursive:!0});const s=await i.diagrams(),r=Ao([...s]);await At(e,r),t.info(`${b.dim("generated")} ${wt(process.cwd(),e)}`)}async function Go(i,e,t){await Je(e,{recursive:!0}),t.info(`${b.dim("format")} ${b.green("dot")}`),t.info(`${b.dim("outdir")} ${e}`);const n=new Set,s=await i.views.layoutViews();let r=0;for(const{diagram:u,dot:a}of s)try{const c=u.relativePath??"";c!==""&&!n.has(c)&&(await Je(Q(e,c),{recursive:!0}),n.add(c));const h=Q(e,c,u.id+".dot");yn(a,`dot for ${u.id} not found`),await At(h,a),t.info(`${b.dim("generated")} ${wt(process.cwd(),h)}`),r++}catch(c){t.error(`error while generating ${u.id}`,{error:c})}r>0&&t.info(`${b.dim("total")} ${r} files`)}async function Yo(i,e,t,n){await Je(t,{recursive:!0}),n.info(`${b.dim("format")} ${b.green(e)}`),n.info(`${b.dim("outdir")} ${t}`);let s,r;switch(e){case"d2":s=".d2",r=Os;break;case"mermaid":s=".mmd",r=_s;break;default:Ei(e)}const u=new Set,a=await i.diagrams();let c=0;for(const h of a)try{let l=h.relativePath??".";l.includes("/")?l=l.slice(0,l.lastIndexOf("/")):l=".",l!==""&&!u.has(l)&&(await Je(Q(t,l),{recursive:!0}),u.add(l));const f=Q(t,l,h.id+s),m=r(h);await At(f,m),n.info(`${b.dim("generated")} ${wt(process.cwd(),f)}`),c++}catch(l){n.error(`error while generating ${h.id}`,{error:l})}c>0&&n.info(`${b.dim("total")} ${c} files`)}async function bn({path:i,useDotBin:e,...t}){const n=ke("c4:codegen"),s=Jt(n),r=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});if((await r.views.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(t.format){case"views":{await Ho(r,t.outfile,n);break}case"dot":{await Go(r,t.outdir??i,n);break}case"d2":case"mermaid":{await Yo(r,t.format,t.outdir??i,n);break}default:Ei(t)}s.stopAndLog()}async function qo({languageServices:i,outDir:e,filename:t="likec4-react.mjs"}){const n=ke("c4:react"),s=ui();return n.info(b.cyan("outDir")+" "+b.dim(e)),{customLogger:n,root:s,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",esbuild:{banner:`'use client'
|
|
315
|
+
`+ri.banner,footer:ri.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,target:"es2022",copyPublicDir:!1,chunkSizeWarningLimit:ai,lib:{entry:"react/likec4.tsx",fileName(r,u){return t},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/],onwarn(r,u){r.code!=="SOURCEMAP_ERROR"&&u(r)}}},plugins:[_r({}),ii({languageServices:i,useOverviewGraph:!1})]}}function di(i){const e=[...i].sort(ar).map(t=>` | ${JSON.stringify(t)}`);return e.length===0&&e.push(" never"),e.join(`
|
|
316
|
+
`)+";"}async function Jo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:codegen"),s=Jt(n),r=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n.info(`${b.dim("format")} ${b.green("react")}`);const u=await r.diagrams();if(u.length===0)throw process.exitCode=1,new Error("no views found");u.forEach(p=>{p.hasLayoutDrift&&n.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(p.id))});let a=Q(r.workspace,"likec4-views.js");if(t&&(a=_i(t)?t:Q(t),st(t)&&(await xi(t)).isDirectory()))throw new Error(`output file is a directory: ${t}`);const c=_t(a);n.info(`${b.dim("outdir")} ${c}`);const h=On(a);n.info(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(l))throw n.error(`output file ${t} has extension "${l}"`),new Error(`output file ${t} must be a .js, .jsx or .mjs`);const f=await qo({languageServices:r,outDir:c,filename:h});await It({...f,logLevel:"warn"});const m=u.reduce((p,y)=>(p.ids.add(y.id),y.tags?.forEach(B=>p.tags.add(B)),y.nodes.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M)),p.kinds.add(B.kind)}),y.edges.forEach(B=>{B.tags?.forEach(M=>p.tags.add(M))}),p),{ids:new Set,tags:new Set,kinds:new Set}),C=di(m.ids),F=di(m.tags),w=di(m.kinds);await At(Q(c,On(a,l)+(l===".mjs"?".d.mts":".d.ts")),`
|
|
287
317
|
/* prettier-ignore-start */
|
|
288
318
|
/* eslint-disable */
|
|
289
319
|
|
|
@@ -292,17 +322,23 @@ ${e.join(`
|
|
|
292
322
|
* DO NOT EDIT MANUALLY!
|
|
293
323
|
******************************************************************************/
|
|
294
324
|
|
|
325
|
+
import type { PropsWithChildren } from 'react'
|
|
295
326
|
import type { JSX } from 'react/jsx-runtime'
|
|
296
|
-
import type {
|
|
327
|
+
import type {
|
|
328
|
+
LikeC4ViewProps as GenericLikeC4ViewProps,
|
|
329
|
+
ViewData,
|
|
330
|
+
LikeC4Model,
|
|
331
|
+
ReactLikeC4Props as GenericReactLikeC4Props
|
|
332
|
+
} from 'likec4/react'
|
|
297
333
|
|
|
298
334
|
type LikeC4ViewId =
|
|
299
|
-
${
|
|
335
|
+
${C}
|
|
300
336
|
|
|
301
337
|
type LikeC4ElementKind =
|
|
302
|
-
${
|
|
338
|
+
${w}
|
|
303
339
|
|
|
304
340
|
type LikeC4Tag =
|
|
305
|
-
${
|
|
341
|
+
${F}
|
|
306
342
|
|
|
307
343
|
type LikeC4ViewData = ViewData<LikeC4ViewId>
|
|
308
344
|
|
|
@@ -311,8 +347,18 @@ type LikeC4ViewData = ViewData<LikeC4ViewId>
|
|
|
311
347
|
*/
|
|
312
348
|
type LikeC4DiagramView = LikeC4ViewData
|
|
313
349
|
|
|
314
|
-
declare const LikeC4Views:
|
|
315
|
-
|
|
350
|
+
declare const LikeC4Views: {
|
|
351
|
+
readonly [K in LikeC4ViewId]: LikeC4ViewData
|
|
352
|
+
};
|
|
353
|
+
type LikeC4ViewsData = typeof LikeC4Views;
|
|
354
|
+
declare function isLikeC4ViewId(value: unknown): value is LikeC4ViewId;
|
|
355
|
+
|
|
356
|
+
declare const likeC4Model: LikeC4Model.Layouted;
|
|
357
|
+
declare function useLikeC4Model(): LikeC4Model.Layouted;
|
|
358
|
+
declare function useLikeC4View(viewId: LikeC4ViewId): LikeC4ViewData;
|
|
359
|
+
declare function useLikeC4ViewModel(viewId: LikeC4ViewId): LikeC4Model.Layouted.ViewModel;
|
|
360
|
+
|
|
361
|
+
declare function LikeC4ModelProvider(props: PropsWithChildren): JSX.Element;
|
|
316
362
|
|
|
317
363
|
type IconRendererProps = {
|
|
318
364
|
node: {
|
|
@@ -323,7 +369,7 @@ type IconRendererProps = {
|
|
|
323
369
|
}
|
|
324
370
|
declare function RenderIcon(props: IconRendererProps): JSX.Element;
|
|
325
371
|
|
|
326
|
-
type LikeC4ViewProps =
|
|
372
|
+
type LikeC4ViewProps = GenericLikeC4ViewProps<LikeC4ViewId, LikeC4Tag, LikeC4ElementKind>;
|
|
327
373
|
declare function LikeC4View({viewId, ...props}: LikeC4ViewProps): JSX.Element;
|
|
328
374
|
|
|
329
375
|
type ReactLikeC4Props =
|
|
@@ -338,46 +384,52 @@ export {
|
|
|
338
384
|
type LikeC4Tag,
|
|
339
385
|
type LikeC4ElementKind,
|
|
340
386
|
type LikeC4ViewData,
|
|
387
|
+
type LikeC4ViewsData,
|
|
341
388
|
type LikeC4DiagramView,
|
|
342
389
|
type LikeC4ViewProps,
|
|
343
390
|
type ReactLikeC4Props,
|
|
344
391
|
isLikeC4ViewId,
|
|
392
|
+
useLikeC4Model,
|
|
393
|
+
useLikeC4View,
|
|
394
|
+
useLikeC4ViewModel,
|
|
395
|
+
likeC4Model,
|
|
345
396
|
LikeC4Views,
|
|
397
|
+
LikeC4ModelProvider,
|
|
346
398
|
LikeC4View,
|
|
347
399
|
RenderIcon,
|
|
348
400
|
ReactLikeC4
|
|
349
401
|
}
|
|
350
402
|
/* prettier-ignore-end */
|
|
351
|
-
`.trimStart()),
|
|
352
|
-
${
|
|
353
|
-
${
|
|
354
|
-
|
|
355
|
-
${
|
|
356
|
-
|
|
357
|
-
`)),
|
|
358
|
-
${
|
|
359
|
-
${
|
|
360
|
-
|
|
361
|
-
${
|
|
362
|
-
${
|
|
363
|
-
`)),r.stopAndLog()}const
|
|
403
|
+
`.trimStart()),De.box({message:bi(`
|
|
404
|
+
${b.dim("Source generated:")}
|
|
405
|
+
${wt(hi(),a)}
|
|
406
|
+
|
|
407
|
+
${b.dim("How to use:")}
|
|
408
|
+
${b.underline("https://likec4.dev/tooling/codegen/#react")}
|
|
409
|
+
`).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),s.stopAndLog()}async function Ko({path:i,useDotBin:e,webcomponentPrefix:t="likec4",outfile:n}){const s=ke("c4:codegen"),r=Jt(s),u=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});s.info(`${b.dim("format")} ${b.green("webcomponent")}`);const a=await u.diagrams();if(!Fi(a,1))throw s.warn("no views found"),process.exitCode=1,new Error("no views found");a.forEach(F=>{F.hasLayoutDrift&&s.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(F.id))});let c=Q(u.workspace,"likec4-views.js");if(n&&(c=_i(n)?n:Q(n),st(n)&&(await xi(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);De.debug(`${b.dim("outfilepath")} ${c}`);const h=On(c);De.debug(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(l!==".js"&&l!==".mjs")throw De.warn(`output file ${n} has extension "${l}"`),new Error(`output file ${n} must be a .js or .mjs`);const f=await oi();De.debug(`${b.dim("created temp public")} ${f}`);const m=await li({languageServices:u,outDir:f,filename:h,webcomponentPrefix:t,base:"/"});De.debug(`${b.dim("vite build webcomponent")}`),await It({...m,logLevel:"warn"});const C=Q(f,h);if(!st(C))throw new Error(`output file not found: ${C}`);await Je(_t(c),{recursive:!0}),await Ar(C,c),s.info(`${b.dim("generated")} ${c}`),De.debug(`${b.dim("remove temp public")}`),await Er(f,{recursive:!0,force:!0}),De.box(bi(`
|
|
410
|
+
${b.dim("Webcomponents generated to:")}
|
|
411
|
+
${wt(hi(),c)}
|
|
412
|
+
|
|
413
|
+
${b.dim("Setup and usage instructions:")}
|
|
414
|
+
${b.blue("https://likec4.dev/tooling/codegen/#webcomponent")}
|
|
415
|
+
`)),r.stopAndLog()}const Qo={command:"codegen <command> [path]",aliases:["generate","gen"],describe:"Generate various artifacts from LikeC4 sources",builder:i=>i.positional("path",hn).command("react [path]","generate react component to render likec4 view",e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:je}).option("use-dot",We),async e=>{await Jo({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:je}).option("webcomponent-prefix",Gn).option("use-dot",We),handler:async e=>{await Ko({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile,webcomponentPrefix:e.webcomponentPrefix})}}).command({command:"views-data [path]",aliases:["ts","views"],describe:"generate likec4 views data (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:je}).option("use-dot",We),handler:async e=>{await bn({format:"views",path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"dot",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"d2",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"mermaid",useDotBin:e.useDotBin,path:e.path,outdir:e.outdir})}}).epilog(`${b.bold("Examples:")}
|
|
364
416
|
likec4 gen react -o dist/likec4-views.mjs ./src/likec4
|
|
365
417
|
likec4 gen webcomponent -o likec4.js --webcomponent-prefix c4 --use-dot-bin ./src
|
|
366
418
|
likec4 gen views-data -o ./src/likec4-data.ts
|
|
367
419
|
likec4 gen ts --outfile ../likec4.ts
|
|
368
420
|
likec4 gen mmd --outdir assets/
|
|
369
421
|
likec4 gen dot -o out .
|
|
370
|
-
`),handler:()=>{}};async function
|
|
371
|
-
${
|
|
372
|
-
${
|
|
373
|
-
|
|
374
|
-
${
|
|
375
|
-
${
|
|
376
|
-
`),handler:async
|
|
377
|
-
${
|
|
378
|
-
${
|
|
379
|
-
|
|
380
|
-
${
|
|
381
|
-
${
|
|
382
|
-
`),handler:async
|
|
383
|
-
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],
|
|
422
|
+
`),handler:()=>{}};async function Xo({path:i,useDotBin:e,outfile:t}){const n=ke("c4:export"),s=Jt(n),r=await(await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"})).layoutedModel();Kt(t)!==".json"&&(t=t+".json"),await Je(_t(t),{recursive:!0});const u=JSON.stringify(r.sourcemodel,null,2);await At(t,u),n.info(`${b.dim("generated")} ${wt(process.cwd(),t)}`),s.stopAndLog("\u2713 export in ")}const Zo={command:"export <format> [path]",describe:"Export to images or JSON",builder:i=>i.usage(`${b.bold("Usage:")} $0 export <format> [path]`).positional("path",hn).command({command:"png [path]",describe:"export views to PNG",builder:e=>e.option("output",pn).option("theme",{choices:["light","dark"],desc:"color-scheme to use, default is light"}).option("flat",{boolean:!0,type:"boolean",desc:"ignore sources structure and export all PNGs in output directory"}).option("use-dot",We).options({ignore:{boolean:!0,alias:"i",desc:"continue if some views failed to export"},timeout:{type:"number",alias:"t",desc:"(sec) timeout for playwright ",default:10},"max-attempts":{type:"number",describe:"",desc:"(number) max attempts to export failing view",default:3},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server"}}).epilog(`${b.bold("Examples:")}
|
|
423
|
+
${b.green("$0 export png")}
|
|
424
|
+
${b.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
425
|
+
|
|
426
|
+
${b.green("$0 export png --theme dark -o ./png src/likec4 ")}
|
|
427
|
+
${b.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
428
|
+
`),handler:async e=>{yn(e.timeout>=1,"timeout must be >= 1"),yn(e["max-attempts"]>=1,"max-attempts must be >= 1"),await Ws({path:e.path,useDotBin:e.useDotBin,output:e.output,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:e.theme??"light"})}}).command({command:"json [path]",describe:"export model to JSON",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:Q}).option("use-dot",We).epilog(`${b.bold("Examples:")}
|
|
429
|
+
${b.green("$0 export json")}
|
|
430
|
+
${b.gray("Search for likec4 files in current directory and output JSON to likec4.json")}
|
|
431
|
+
|
|
432
|
+
${b.green("$0 export json -o ./generated/likec4.json src/likec4 ")}
|
|
433
|
+
${b.gray("Search for likec4 files in src/likec4 and output JSON to generated/likec4.json")}
|
|
434
|
+
`),handler:async e=>{await Xo({path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).updateStrings({"Commands:":b.bold("Formats:")}),handler:()=>{}};async function ea(i){const{isDev:e,...t}=await ci({...i,likec4AssetsDir:"",webcomponentPrefix:void 0}),n=await fi({port:En(62001,62010)}),s=i?.open??!1;return await vr({...t,mode:"production",preview:{host:"0.0.0.0",port:n,open:s}})}async function ta({path:i,output:e,base:t}){const n=await qe.fromWorkspace(i,{logger:"vite"}),s=await ea({base:t,languageServices:n,outputDir:e,open:!0});Ns(s)}const na={command:"preview [path]",describe:"Start local server to preview production build",builder:i=>i.positional("path",{type:"string",desc:`Directory with LikeC4 source files
|
|
435
|
+
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],je).default("path",je("."),"."),async handler(i){await ta(i)}};async function ia({path:i,useDotBin:e,webcomponentPrefix:t,useHashHistory:n,useOverview:s=!1,base:r}){const u=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"}),a=await Qt(St(Xt(),".likec4-assets-")),c=await Ts({buildWebcomponent:!1,hmr:!0,base:r,webcomponentPrefix:t,languageServices:u,useHashHistory:n,useOverviewGraph:s,likec4AssetsDir:a});if(c.config.logger.clearScreen("info"),Ns(c),!s)return;const h=await u.diagrams();if(Fi(h,1)){const l=ke("c4:export"),f=Ps(c);if(!f){l.error("no preview server url");return}l.info(b.cyan("wait 5sec before generating previews")),await yi(5e3);try{await Rs({serverUrl:f,logger:l,views:h,theme:"light",output:a,outputType:"flat"}),await yi(1e3),l.info(b.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(m){l.error(b.red("Failed to generate previews")),l.error(m)}}else c.config.logger.warn("no views found, no previews generated")}const sa={command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:i=>i.positional("path",hn).option("base",Ds).option("webcomponent-prefix",Gn).option("use-hash-history",gs).option("use-overview",Cs).option("use-dot",We),handler:async i=>{await ia({path:i.path,useDotBin:i["use-dot"],base:i.base,useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"],useHashHistory:i["use-hash-history"]})}};De.level=vi.debug,process.env.NODE_ENV==="development"&&(De.level=vi.trace,De.warn("running cli in dev mode"));const ra=Su(qr(Ys)).scriptName("likec4").usage("Usage: $0 <command>").command(sa).command(zo).command(Qo).command(Zo).command(na).help("help").version(cr.version).alias("v","version").alias("h","help").demandCommand(1,"Please run with valid command").strict().recommendCommands().showHelpOnFail(!0,"Something is wrong, run with --help").updateStrings({"Options:":b.bold("Options:"),"Positionals:":b.bold("Arguments:"),"Commands:":b.bold("Commands:"),"Examples:":b.bold("Examples:")}).wrap(Ai(Hs.columns-20,{min:80,max:120})).parseAsync();ra.catch(()=>Gs(1)),process.on("unhandledRejection",i=>{De.error(i)});
|