@kong-ui-public/entities-plugins 9.52.0 → 9.53.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/entities-plugins.es.js +11568 -9335
- package/dist/entities-plugins.umd.js +52 -48
- package/dist/style.css +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/FlowEditor.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/composables/useFlow.d.ts +134 -0
- package/dist/types/components/free-form/Datakit/flow-editor/composables/useFlow.d.ts.map +1 -0
- package/dist/types/components/free-form/Datakit/flow-editor/constants.d.ts +7 -0
- package/dist/types/components/free-form/Datakit/flow-editor/constants.d.ts.map +1 -0
- package/dist/types/components/free-form/Datakit/flow-editor/modal/EditorCanvasFlow.vue.d.ts +19 -0
- package/dist/types/components/free-form/Datakit/flow-editor/modal/EditorCanvasFlow.vue.d.ts.map +1 -0
- package/dist/types/components/free-form/Datakit/flow-editor/modal/EditorMain.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/FlowNode.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/NodePropertiesPanel.vue.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node/mock.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/node-forms/NodeFormExit.vue.d.ts +11 -0
- package/dist/types/components/free-form/Datakit/flow-editor/node-forms/NodeFormExit.vue.d.ts.map +1 -0
- package/dist/types/components/free-form/Datakit/flow-editor/store/init.d.ts +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/store/init.d.ts.map +1 -1
- package/dist/types/components/free-form/Datakit/flow-editor/store/store.d.ts +13 -14
- package/dist/types/components/free-form/Datakit/flow-editor/store/store.d.ts.map +1 -1
- package/dist/types/components/free-form/shared/BooleanField.vue.d.ts.map +1 -1
- package/package.json +6 -5
|
@@ -1,79 +1,83 @@
|
|
|
1
|
-
(function(be,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("@vueuse/core"),require("monaco-editor"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","@vueuse/core","monaco-editor","@kong-ui-public/entities-plugins-icon"],t):(be=typeof globalThis<"u"?globalThis:be||self,t(be["kong-ui-public-entities-plugins"]={},be.Vue,be["kong-ui-public-entities-shared"],be.marked,be.VueRouter,be["kong-ui-public-i18n"],be.entitiesPluginsMetadata,be.forms,be.entitiesVaults,null,be.KongIcons,be.Kongponents,be.entitiesRedisConfigurations,null,be.core$1,be.monaco,be.entitiesPluginsIcon))})(this,function(be,t,le,Do,Ln,Fe,j,Ne,Vo,iP,ke,Ie,Kn,aP,Ze,yp,Un){"use strict";function _p(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const Ro=_p(yp),Ue={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here."}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service. "},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Gateway Service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Consumer Group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View Advanced Parameters",hide:"Hide Advanced Parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Configure parameters for this plugin by using a form or a YAML file."}}},"free-form":{"request-callout":{entity_name:"Request Callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Configure this plugin by using the flow editor.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow Editor",name:"Datakit Flow Editor",cta:"Go to flow editor",save:"Save",view_docs:"View Docs",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to Plugin configuration",node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The jq node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return a response directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set Kong Gateway configuration data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Define static values to use for call nodes",description:"Emits static values to be used as inputs for other nodes. The static node can help you with hardcoding some known value for an input."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."}},node_properties:{Configuration:"Configuration",input:{placeholder:"Select output(s)",add_button:"Add an input"},input_name:{label:"Input Name",placeholder:"Input Name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script"},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"}}},code_editor:{mode:"Code Editor"}},vault_picker:{component_error:"The vault secret picker is not available"}}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
1
|
+
(function(he,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("@vueuse/core"),require("monaco-editor"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","@vueuse/core","monaco-editor","@kong-ui-public/entities-plugins-icon"],n):(he=typeof globalThis<"u"?globalThis:he||self,n(he["kong-ui-public-entities-plugins"]={},he.Vue,he["kong-ui-public-entities-shared"],he.marked,he.VueRouter,he["kong-ui-public-i18n"],he.entitiesPluginsMetadata,he.forms,he.entitiesVaults,null,he.KongIcons,he.Kongponents,he.entitiesRedisConfigurations,null,he.core$1,he.monaco,he.entitiesPluginsIcon))})(this,function(he,n,ie,qo,Wn,Ke,H,ve,jo,$D,Ee,Ie,Zn,BD,Je,Rp,Xn){"use strict";var ID=Object.defineProperty;var OD=(he,n,ie)=>n in he?ID(he,n,{enumerable:!0,configurable:!0,writable:!0,value:ie}):he[n]=ie;var Fe=(he,n,ie)=>OD(he,typeof n!="symbol"?n+"":n,ie);function Mp(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const Go=Mp(Rp),je={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",confirm_delete:"Yes, delete",view:"View Details",configure_dynamic_ordering:"Configure Dynamic Ordering",go_to_plugins:"Go to Plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}"},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here."}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service. "},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",empty_title:"No Custom Plugins",empty_description:"No custom plugins have been added to this Control Plane.",create:{name:"Custom Plugin",description:"Upload schema file to create custom plugin"}}},highlighted_plugins:{title:"Highlighted Plugins"}},form:{no_selection:"No selection...",fields:{enabled:{label:"Enabled",on_text:"This plugin is Enabled",off_text:"This plugin is Disabled"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Gateway Service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Consumer Group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"View Advanced Parameters",hide:"Hide Advanced Parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Configure parameters for this plugin by using a form or a YAML file."}}},"free-form":{"request-callout":{entity_name:"Request Callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Configure this plugin by using the flow editor.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow Editor",name:"Datakit Flow Editor",cta:"Go to flow editor",save:"Save",view_docs:"View Docs",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to Plugin configuration",node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The jq node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return a response directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set Kong Gateway configuration data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Define static values to use for call nodes",description:"Emits static values to be used as inputs for other nodes. The static node can help you with hardcoding some known value for an input."},request:{name:"request",description:"Reads incoming client request properties. You cannot specify request node input."},response:{name:"response",description:"Updates properties of the outgoing client response."},service_request:{name:"service request",description:"Updates properties of the request sent to the service being proxied to."},service_response:{name:"service response",description:"Reads response properties from the service being proxied to."}},node_properties:{Configuration:"Configuration",input:{placeholder:"Select output(s)",add_button:"Add an input"},input_name:{label:"Input Name",placeholder:"Input Name"},timeout:{label:"Timeout(s)"},jq:{label:"jq script"},output_value:{label:"Output value",value_name:"Value name",value:"Value",add_button:"Add a value"},property:{get:"get",set:"set"}}},code_editor:{mode:"Code Editor"}},vault_picker:{component_error:"The vault secret picker is not available"}}},redis:{title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
2
2
|
If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
|
|
3
|
-
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function
|
|
4
|
-
client. If missing, it will be generated for you.`}},{tags:
|
|
3
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Qe(){const e=Ke.createI18n("en-us",je);return{i18n:e,i18nT:Ke.i18nTComponent(e)}}function Nl(){const{capitalize:e}=ie.useStringHelpers(),t=["methods","logout_methods"];return{setFieldType:(f,p,m)=>{var h,y,g;if(!(!f||!p||!m))switch(m.type){case"boolean":f[p]={type:ie.ConfigurationSchemaType.BadgeStatus,...f[p]};break;case"string":m.encrypted?f[p]={type:ie.ConfigurationSchemaType.Redacted,...f[p]}:f[p]={type:ie.ConfigurationSchemaType.Text,...f[p]};break;case"set":((h=m.elements)==null?void 0:h.type)==="string"&&(f[p]={type:ie.ConfigurationSchemaType.BadgeTag,...f[p]});break;case"array":t.includes(p)?f[p]={type:ie.ConfigurationSchemaType.BadgeMethod,...f[p]}:((y=m.elements)==null?void 0:y.type)==="string"?m.encrypted?f[p]={type:ie.ConfigurationSchemaType.RedactedArray,...f[p]}:f[p]={type:ie.ConfigurationSchemaType.BadgeTag,...f[p]}:((g=m.elements)==null?void 0:g.type)==="record"&&(f[p]={type:ie.ConfigurationSchemaType.Json,...f[p]});break;case"record":f[p]={type:ie.ConfigurationSchemaType.Json,...f[p]};break;default:f[p]={type:ie.ConfigurationSchemaType.Text,...f[p]};break}},convertToDotNotation:f=>f.replace(/-/g,"."),unFlattenObject:f=>{const p={};for(const m in f){const h=m.split(".");h.reduce((y,g,_)=>y[g]||(y[g]=isNaN(h[_+1])?h.length-1===_?f[m]:{}:[]),p)}return p},dismissField:(f,p,m="redis",h=!1)=>{const y=new RegExp("(?<=-redis-).*");if(typeof f!="object"||f===null)return f;m==="redis"?Object.keys(f).forEach(g=>{g.match(y)&&delete f[g]}):h?f[m]=null:delete f[m],Object.assign(f,p)},isObjectEmpty:f=>Object.keys(f).length===0,unsetNullForeignKey:(f,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(f)>-1&&p[f]===null&&(delete p[f],p[f.replace(".id","")]=null)},formatPluginFieldLabel:f=>e(f.replace(/_/g," ")),getTallestPluginCardHeight:f=>{let p=0;if(f.length)for(let m=0;m<f.length;m++){const h=f[m].$el;p=h.offsetHeight>p?h.offsetHeight:p}return p},getToggleVisibility:(f,p)=>{var m,h;if(f&&p){const y=(h=(m=window==null?void 0:window.getComputedStyle(f))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:h.split(" ").length;return p>y}return!0}}}var zo=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(zo||{});const Sl=[H.PluginGroup.AUTHENTICATION,H.PluginGroup.AI,H.PluginGroup.SECURITY,H.PluginGroup.TRAFFIC_CONTROL,H.PluginGroup.SERVERLESS,H.PluginGroup.ANALYTICS_AND_MONITORING,H.PluginGroup.TRANSFORMATIONS,H.PluginGroup.LOGGING,H.PluginGroup.DEPLOYMENT,H.PluginGroup.WEBSOCKET,H.PluginGroup.CUSTOM_PLUGINS],xl={[H.PluginGroup.AUTHENTICATION]:!1,[H.PluginGroup.AI]:!1,[H.PluginGroup.SECURITY]:!1,[H.PluginGroup.TRAFFIC_CONTROL]:!1,[H.PluginGroup.SERVERLESS]:!1,[H.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[H.PluginGroup.TRANSFORMATIONS]:!1,[H.PluginGroup.LOGGING]:!1,[H.PluginGroup.DEPLOYMENT]:!1,[H.PluginGroup.CUSTOM_PLUGINS]:!1};var Ht=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(Ht||{});const Yt=e=>{const t=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in t||(t.id={}),t},Wt={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},wn={getColumnFields:Yt,tags:Wt,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const t=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...t},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},Al={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Wt}]},Lp={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Tl={fields:[{username:{}},{password:{inputType:"password"}},{tags:Wt}]},Fp={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Kp={class:"field-wrapper"},Up=n.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:t,emit:o}){const r=e,i=o,{clearValidationErrors:a,value:l}=ve.composables.useAbstractFields({model:n.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{i("modelUpdated",w.value,w.model)}}),{i18n:s}=Oe.useI18n(),{t:c}=s,d={value:"current-cp",label:c("custom_field.key_auth_identity_realms.cp_label"),group:c("custom_field.key_auth_identity_realms.cp_group_label")},u=n.inject(ve.FORMS_CONFIG),{axiosInstance:f}=ie.useAxios(u==null?void 0:u.axiosRequestConfig),p=()=>{if((u==null?void 0:u.app)==="konnect"){const w=/\b(us|eu|au|me|in)\b/.exec((u==null?void 0:u.apiBaseUrl)||"");if(w)return{region:w[1]}}return{}},m=n.ref(!0),h=n.ref([d]),y=async()=>{if((u==null?void 0:u.app)==="konnect")try{m.value=!0;let w=`${u==null?void 0:u.apiBaseUrl}/v1/realms`;const b=[];do{const v=await f.get(w);v&&v.data&&v.data.data&&b.push(...v.data.data.map(P=>({value:P.id,label:P.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),w=v.data.meta.next?`${u==null?void 0:u.apiBaseUrl}${v.data.meta.next}`:null}while(w);h.value=[d,...b]}catch(w){console.error("Failed to fetch Konnect realms",w)}finally{m.value=!1}},g=n.computed(()=>l.value.map(w=>w.id||"current-cp")),_=w=>{const b=w.includes("current-cp")?[{scope:"cp",id:null}]:[],v=l.value.filter(({scope:I})=>I!=="cp").map(({id:I})=>I),P=w.filter(I=>I!=="current-cp"),$=(v.length!==P.length||v.some(I=>!P.includes(I))?P.filter(I=>!v.includes(I)):P).map(I=>({...p(),scope:"realm",id:I}));l.value=[...b,...$]};return n.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),n.onMounted(()=>{y()}),t({clearValidationErrors:a}),(w,b)=>{const v=n.resolveComponent("KMultiselect");return n.openBlock(),n.createElementBlock("div",Kp,[n.createVNode(v,{items:h.value,loading:m.value,"model-value":g.value,"onUpdate:modelValue":_},null,8,["items","loading","model-value"])])}}}),we=(e,t)=>{const o=e.__vccOpts||e;for(const[r,i]of t)o[r]=i;return o},qp=we(Up,[["__scopeId","data-v-29b128ff"]]),Pl={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
4
|
+
client. If missing, it will be generated for you.`}},{tags:Wt}]},jp=e=>{var t;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"]}:{"config-identity_realms":{component:((t=e==null?void 0:e.experimentalRenders)==null?void 0:t.keyAuthIdentityRealms)??!1?n.markRaw(qp):null}}},Gp={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Il={fields:[{username:{hint:"The username to use in the HMAC Signature verification."}},{secret:{inputType:"text",submitWhenNull:!1,hint:`The secret to use in the HMAC Signature verification. Note that
|
|
5
5
|
if this parameter isn’t provided, Kong will generate a value for you and
|
|
6
|
-
send it as part of the response body.`}},{tags:
|
|
6
|
+
send it as part of the response body.`}},{tags:Wt}]},zp={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0,hint:"The username to use in the HMAC Signature verification."}},{secret:{auto:!0,type:"string",hint:"The secret to use in the HMAC Signature verification. Note that if this parameter isn’t provided, Kong will generate a value for you and send it as part of the response body."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Hp={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
7
7
|
be auto-generated.`}},{algorithm:{order:1,hint:"The algorithm used to verify the token’s signature."}},{rsa_public_key:{order:2,type:"textArea",label:"RSA public-key",hint:`If algorithm is RSA or ECDSA, the public key (in PEM format) to
|
|
8
8
|
use to verify the token’s signature.`,rows:10,visible:e=>e&&e.algorithm&&/^((RS|PS|ES)(256|384|512)|EdDSA)$/.test(e.algorithm)}},{secret:{inputType:"text",hint:`If algorithm is HMAC, the secret used to sign JWTs for
|
|
9
|
-
this credential. If left out, will be auto-generated.`}},{tags:
|
|
9
|
+
this credential. If left out, will be auto-generated.`}},{tags:Wt}]},Yp={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"A unique string identifying the credential. If left out, it will be auto-generated.",required:!1,type:"string",unique:!0}},{secret:{auto:!0,hint:"If algorithm is HS256 or ES256, the secret used to sign JWTs for this credential. If left out, will be auto-generated.",type:"string"}},{rsa_public_key:{type:"string"}},{algorithm:{default:"HS256",type:"string",one_of:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512","EdDSA"]}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Ol={fields:[{name:{}},{client_id:{submitWhenNull:!1,hint:`You can optionally set your own unique client_id. If missing, it
|
|
10
10
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
11
|
-
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:
|
|
12
|
-
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:
|
|
13
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Gt}]},Pp={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},kt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",isEnterprise:!1,nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",isEnterprise:!0,nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",isEnterprise:!0,nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",isEnterprise:!0,nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",isEnterprise:!0,nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...j.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",isEnterprise:!1,nameKey:"plugins.meta.kafka-consume.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",isEnterprise:!1,nameKey:"plugins.meta.confluent-consume.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",isEnterprise:!1,nameKey:"plugins.meta.request-callout.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",isEnterprise:!1,nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",isEnterprise:!1,nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",isEnterprise:!1,nameKey:"plugins.meta.datakit.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",isEnterprise:!1,nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",isEnterprise:!1,nameKey:"plugins.meta.solace-upstream.name",...j.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",isEnterprise:!1,nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...j.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]}},mn={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:nl,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:zt(nl),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:ol,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:zt(ol)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:rl,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:zt(rl)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:ll,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:zt(ll)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:al,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:zt(al)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:il,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:zt(il)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Ap,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Ip={acls:bp,basicauth_credentials:wp,keyauth_credentials:vp,keyauth_enc_credentials:Pp,oauth2_credentials:Tp,hmacauth_credentials:Sp,jwt_secrets:xp},Op=()=>{const{i18n:{t:e}}=Xe(),n={},o={};for(const[i,a]of Object.entries(kt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(mn))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:mn,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},qn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},$p={"config-prompts-prepend":{...qn,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...qn,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Bp={"config-templates":{...qn,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},Dp={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},Vp={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:fn.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Te={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Fo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Rp={"config-metrics":{...Fo,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Mp={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Fp={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Lp={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Kp={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Up={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},sl=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:fn.fields.arrayItems({newElementButtonLabel:"Add"})}),Up),Lo={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},qp={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},zp=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:fn.fields.arrayItems({newElementButtonLabel:"Add"})}),qp),cl={"config-add-json":{...Te,label:"Config.Add.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Te,label:"Config.Append.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Te,label:"Config.Remove.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Te,label:"Config.Rename.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Te,label:"Config.Replace.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},Gp={...cl,"config-allow-json":{...Te,label:"Config.Allow.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Te,label:"Config.Transform.Functions",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Te,label:"Config.Transform.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},jp={"config-rules":{...qn,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},Hp={"config-session_redis_cluster_nodes":{...qn,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Yp={"config-metrics":{...Fo,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Wp={"config-metrics":{...Fo,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Zp={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},Xp={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},jt=e=>{var o,r;const n=(r=(o=e==null?void 0:e.confluent)==null?void 0:o.authentication)==null?void 0:r.basic;n&&!n.password&&!n.username&&delete e.confluent.authentication.basic},Jp={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;jt((n=e.config)==null?void 0:n.schema_registry)}},Qp={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;jt((n=e.config)==null?void 0:n.schema_registry)}},ef={shamefullyTransformPayload:({payload:e})=>{var n,o,r;jt((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{jt(i==null?void 0:i.schema_registry)})}},tf={shamefullyTransformPayload:({payload:e})=>{var n,o,r;jt((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{jt(i==null?void 0:i.schema_registry)})}},nf={shamefullyTransformPayload:({payload:e})=>{var n;jt((n=e.config)==null?void 0:n.schema_registry)}},of={"config-static_tags":{...Fo,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},rf={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm"};function ul(e,n){const o=rf[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const Jr=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),dl={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR")};function pl(){return t.inject(Jr,[])}function af(e){t.provide(Jr,e)}const lf=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},fl=(e,n)=>(e.order??0)-(n.order??0),ml=(e,n)=>lf(e,n)||fl(e,n)||e.model.localeCompare(n.model),Oe={useI18n:Xe,usePluginMetaData:Op,usePluginHelpers:Qa,useSchemas:e=>{const{capitalize:n}=le.useStringHelpers(),{convertToDotNotation:o}=Qa(),{i18n:{t:r}}=Xe(),i=pl(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Vp}},datadog:{...Rp},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Yp},"statsd-advanced":{...Wp},"route-by-header":{...jp},"ai-prompt-decorator":{...$p},"ai-prompt-template":{...Bp},"ai-proxy-advanced":{...Dp},"vault-auth":{...Xp},"oas-validation":{...Kp},mocking:{...Lp},"rate-limiting":{...Lo},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Lo["config-consumer_groups"]}:{...Lo},"graphql-rate-limiting-advanced":{...Mp},"injection-protection":{...Fp},"response-ratelimiting":{...Lo},"pre-function":{...sl},"post-function":{...sl},"request-transformer-advanced":{...zp},"response-transformer":{...cl},"response-transformer-advanced":{...Gp},zipkin:{...of},"upstream-oauth":{...Zp},saml:{...Hp},"kafka-upstream":{...Jp},"key-auth":Np(e),confluent:{...Qp},"confluent-consume":{...ef},"kafka-consume":{...tf},"kafka-log":{...nf}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(C,R,$)=>{let O={};(R||C)&&(O=R||(C.fields?C.fields:C));const X=l().concat(C.blacklist?C.blacklist:[]),z=Object.keys(O).filter(M=>!X.includes(M)),A=z.indexOf("comparator");A>-1&&z.splice(A,1);let S={fields:[]};const w={};z.forEach(M=>{u(O[M],M,O,w,S,$)});const D=w.name,T=kt[D],G=[],U=M=>{const V=["cluster-cache"];for(const H of V)if(M.model.includes(H))return!1;return new RegExp("(?<=-redis-).*").test(M.model)};if(S._supported_redis_partial_type=C._supported_redis_partial_type,S._redis_partial_path=C._redis_partial_path,Ne.getSharedFormName(D)||ul(D,i)||T!=null&&T.useLegacyForm||e!=null&&e.credential){if(T!=null&&T.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&C._supported_redis_partial_type){for(const M of S.fields)if(U(M)){G.push(M);continue}S.fields=S.fields.filter(M=>!U(M)),G.length&&S.fields.push({id:"_redis",fields:G,model:"__redis_partial",pluginType:C._isCustomPlugin?"custom":"bundled",redisType:C._supported_redis_partial_type,redisPath:C._redis_partial_path})}S.fields.sort((M,V)=>(M.order=M.order||0,V.order=V.order||0,M.order-V.order))}else{const M=[],V=[],H=[],ie=[],ce={};if(T!=null&&T.fieldRules){const L=[...T.fieldRules.atLeastOneOf??[],...T.fieldRules.onlyOneOf??[],...T.fieldRules.mutuallyRequired??[]];if(T.fieldRules.onlyOneOfMutuallyRequired)for(const q of T.fieldRules.onlyOneOfMutuallyRequired)L.push(...q);for(const q of L)for(const Z of q)ce[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const L of S.fields){if(e!=null&&e.enableRedisPartial&&C._supported_redis_partial_type&&U(L)){ie.push(L);continue}if(L.pinned){M.push(L);continue}if(L.required||ce[L.model]!==void 0){ce[L.model]===!1&&(ce[L.model]=!0),V.push(L);continue}H.push(L)}ie.length&&H.push({id:"_redis",fields:ie,model:"__redis_partial",pluginType:C._isCustomPlugin?"custom":"bundled",redisType:C._supported_redis_partial_type,redisPath:C._redis_partial_path,order:-1});const ee=Object.entries(ce).filter(([,L])=>!L).map(([L])=>L.replace(/-/g,".").replace(/_/g,"-"));ee.length>0&&console.warn(`Unknown checked fields for plugin ${D}: ${ee.join(", ")}`);const B=[];M.length>0&&B.push({fields:M.sort(fl)}),(V.length>0||H.length>0)&&B.push({fields:V.sort(ml),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:H.sort(ml),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),S={groups:B}}return{schema:S,model:w,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=C=>Array.isArray(C.default)||C.default!=null&&typeof C.default!="object"&&C.default!=="function",u=(C,R,$,O,X,z)=>{const A=c(C);return O[R]=A?C.default:null,C.id=R,C.model=R,C.fields&&C.type==="record"?d(C,R,$,O,X,z):($[R]=C,E(C,O),z&&z[R]&&p($[R],z[R]),X.fields.push(C)),$},p=(C,R)=>(R&&(Object.assign(C,R),R.label&&(C.label=R.label)),C),d=(C,R,$,O,X,z)=>{C.fields.forEach(A=>{Object.keys(A).forEach(S=>{const w=A[S];$=u(w,R+"-"+S,$,O,X,z)})})},f=(C,R)=>{C.type="input",C.inputType="hidden",C.styleClasses="kong-form-hidden-field-wrapper";const $=e==null?void 0:e.entityId;R[C.model]=$?{id:$}:null},m=C=>{C.type="input",C.inputType="number",C.between&&C.between.length===2&&(C.min=C.between[0],C.max=C.between[1])},h=C=>{Object.prototype.hasOwnProperty.call(C,"one_of")?(C.type="select",C.values=C.one_of,C.selectOptions={hideNoneSelectedText:!0}):(C.type="input",C.inputType="text")},y=C=>{C.type="checkbox",C.default=!0,C.required=!1},g=C=>{if(C.type="object-advanced",C.values.type==="array"){const{type:R}=C.values.elements||{};C.schema={fields:[{schema:{fields:[{...Te,model:C.model,valueArrayType:R==="integer"?"number":R||"string",inputAttributes:{...Te.inputAttributes,type:R==="integer"?"number":"text",inputMode:R==="integer"?"numeric":"text"}}]}}]}}else C.values.fields&&(C.schema={fields:[{type:"object",model:"object",schema:{fields:C.values.fields.map(R=>{const $=Object.keys(R)[0];return{model:$,type:"input",label:n($),placeholder:$,inputType:R[$].type}})}}]})},b=C=>C.fields.reduce((R,$)=>($.fields&&$.fields.forEach(O=>{R[O.model]=O}),$.model&&(R[$.model]=$),R),{}),k=(C,R)=>{if(!Ne.customFields.includes(C.model))return;const $=b(C);Ne.customFields.forEach(O=>{Object.keys($).forEach(X=>{const z=c($[X]);R[X]=z?$[X].default:null}),delete R[O]})},_=(C,R)=>C.inputType==="hidden"?"":o(n(C.label||R.replace(/_/g," "))),E=(C,R)=>{switch(k(C,R),C.type){case"foreign":f(C,R);break;case"number":m(C),C.attributes={step:"any"};break;case"integer":m(C);break;case"string":h(C);break;case"boolean":y(C);break;case"map":g(C);break}C.inputType==="foreign"&&f(C,R),C.label=_(C,C.model)};function P(C,R){if(R==null||R.type&&R.type!=="record"||typeof C!="object"||C==null)return C;const $={};for(const O of R.fields){const X=Object.keys(O)[0],z=O[X];z.type==="record"?$[X]=P(C[X],z):z.type==="array"&&Array.isArray(C[X])&&z.elements.type==="record"?$[X]=C[X].map(A=>P(A,z.elements)):$[X]=C[X]}return $}return{buildFormSchema:u,parseSchema:s,customSchemas:a,typedefs:fn,pruneRecord:P}},useExperimentalFreeForms:pl,useProvideExperimentalFreeForms:af},qe="/v2/control-planes/{controlPlaneId}/core-entities",He="/{workspace}",$e={list:{konnect:{all:`${qe}/plugins`,forEntity:`${qe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${qe}/v1/available-plugins`,streamingCustomPlugins:`${qe}/custom-plugins`,schemaCustomPluginItem:`${qe}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${qe}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${He}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${qe}/plugins`,forEntity:`${qe}/{entityType}/{entityId}/plugins`},edit:{all:`${qe}/plugins/{id}`,forEntity:`${qe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${qe}/{resourceEndpoint}`,edit:`${qe}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${qe}/v1/schemas/json/plugin/validate`,entityGetOne:`${qe}/{entity}/{id}`,entityGetAll:`${qe}/{entity}?size=1000`},kongManager:{create:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`},edit:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${He}/schemas/plugins/{plugin}`,credential:{create:`${He}/{resourceEndpoint}`,edit:`${He}/{resourceEndpoint}/{id}`},credentialSchema:`${He}/schemas/{plugin}`,validate:`${He}/schemas/plugins/validate`,entityGetOne:`${He}/{entity}/{id}`,entityGetAll:`${He}/{entity}`}},item:{konnect:{all:`${qe}/plugins/{id}`,forEntity:`${qe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`}}},sf={key:0},cf=we(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=Oe.usePluginHelpers(),{i18n:{t:r}}=Oe.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(u=>o(u)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const u=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(u,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(p,d)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${d}`},t.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",sf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(p,d)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p,(f,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${m}`},t.toDisplayString(i(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);var gl=typeof global=="object"&&global&&global.Object===Object&&global,uf=typeof self=="object"&&self&&self.Object===Object&&self,ut=gl||uf||Function("return this")(),dt=ut.Symbol,hl=Object.prototype,df=hl.hasOwnProperty,pf=hl.toString,zn=dt?dt.toStringTag:void 0;function ff(e){var n=df.call(e,zn),o=e[zn];try{e[zn]=void 0;var r=!0}catch{}var i=pf.call(e);return r&&(n?e[zn]=o:delete e[zn]),i}var mf=Object.prototype,gf=mf.toString;function hf(e){return gf.call(e)}var yf="[object Null]",_f="[object Undefined]",yl=dt?dt.toStringTag:void 0;function Ht(e){return e==null?e===void 0?_f:yf:yl&&yl in Object(e)?ff(e):hf(e)}function Yt(e){return e!=null&&typeof e=="object"}var bf="[object Symbol]";function Qr(e){return typeof e=="symbol"||Yt(e)&&Ht(e)==bf}function _l(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var Ct=Array.isArray,bl=dt?dt.prototype:void 0,wl=bl?bl.toString:void 0;function kl(e){if(typeof e=="string")return e;if(Ct(e))return _l(e,kl)+"";if(Qr(e))return wl?wl.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Wt(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function wf(e){return e}var kf="[object AsyncFunction]",Cf="[object Function]",Ef="[object GeneratorFunction]",Nf="[object Proxy]";function Ko(e){if(!Wt(e))return!1;var n=Ht(e);return n==Cf||n==Ef||n==kf||n==Nf}var ei=ut["__core-js_shared__"],Cl=function(){var e=/[^.]+$/.exec(ei&&ei.keys&&ei.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function vf(e){return!!Cl&&Cl in e}var Sf=Function.prototype,Af=Sf.toString;function Zt(e){if(e!=null){try{return Af.call(e)}catch{}try{return e+""}catch{}}return""}var xf=/[\\^$.*+?()[\]{}|]/g,Tf=/^\[object .+?Constructor\]$/,Pf=Function.prototype,If=Object.prototype,Of=Pf.toString,$f=If.hasOwnProperty,Bf=RegExp("^"+Of.call($f).replace(xf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Df(e){if(!Wt(e)||vf(e))return!1;var n=Ko(e)?Bf:Tf;return n.test(Zt(e))}function Vf(e,n){return e==null?void 0:e[n]}function Xt(e,n){var o=Vf(e,n);return Df(o)?o:void 0}var ti=Xt(ut,"WeakMap"),El=Object.create,Rf=function(){function e(){}return function(n){if(!Wt(n))return{};if(El)return El(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Mf(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Ff(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Lf=800,Kf=16,Uf=Date.now;function qf(e){var n=0,o=0;return function(){var r=Uf(),i=Kf-(r-o);if(o=r,i>0){if(++n>=Lf)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function zf(e){return function(){return e}}var Uo=function(){try{var e=Xt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Gf=Uo?function(e,n){return Uo(e,"toString",{configurable:!0,enumerable:!1,value:zf(n),writable:!0})}:wf,jf=qf(Gf);function Hf(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Yf=9007199254740991,Wf=/^(?:0|[1-9]\d*)$/;function ni(e,n){var o=typeof e;return n=n??Yf,!!n&&(o=="number"||o!="symbol"&&Wf.test(e))&&e>-1&&e%1==0&&e<n}function Nl(e,n,o){n=="__proto__"&&Uo?Uo(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function vl(e,n){return e===n||e!==e&&n!==n}var Zf=Object.prototype,Xf=Zf.hasOwnProperty;function oi(e,n,o){var r=e[n];(!(Xf.call(e,n)&&vl(r,o))||o===void 0&&!(n in e))&&Nl(e,n,o)}function Gn(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?Nl(o,s,c):oi(o,s,c)}return o}var Sl=Math.max;function Jf(e,n,o){return n=Sl(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=Sl(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),Mf(e,this,s)}}var Qf=9007199254740991;function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Qf}function ii(e){return e!=null&&ri(e.length)&&!Ko(e)}var em=Object.prototype;function qo(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||em;return e===o}function tm(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var nm="[object Arguments]";function Al(e){return Yt(e)&&Ht(e)==nm}var xl=Object.prototype,om=xl.hasOwnProperty,rm=xl.propertyIsEnumerable,zo=Al(function(){return arguments}())?Al:function(e){return Yt(e)&&om.call(e,"callee")&&!rm.call(e,"callee")};function im(){return!1}var Tl=typeof be=="object"&&be&&!be.nodeType&&be,Pl=Tl&&typeof module=="object"&&module&&!module.nodeType&&module,am=Pl&&Pl.exports===Tl,Il=am?ut.Buffer:void 0,lm=Il?Il.isBuffer:void 0,ai=lm||im,sm="[object Arguments]",cm="[object Array]",um="[object Boolean]",dm="[object Date]",pm="[object Error]",fm="[object Function]",mm="[object Map]",gm="[object Number]",hm="[object Object]",ym="[object RegExp]",_m="[object Set]",bm="[object String]",wm="[object WeakMap]",km="[object ArrayBuffer]",Cm="[object DataView]",Em="[object Float32Array]",Nm="[object Float64Array]",vm="[object Int8Array]",Sm="[object Int16Array]",Am="[object Int32Array]",xm="[object Uint8Array]",Tm="[object Uint8ClampedArray]",Pm="[object Uint16Array]",Im="[object Uint32Array]",Pe={};Pe[Em]=Pe[Nm]=Pe[vm]=Pe[Sm]=Pe[Am]=Pe[xm]=Pe[Tm]=Pe[Pm]=Pe[Im]=!0,Pe[sm]=Pe[cm]=Pe[km]=Pe[um]=Pe[Cm]=Pe[dm]=Pe[pm]=Pe[fm]=Pe[mm]=Pe[gm]=Pe[hm]=Pe[ym]=Pe[_m]=Pe[bm]=Pe[wm]=!1;function Om(e){return Yt(e)&&ri(e.length)&&!!Pe[Ht(e)]}function li(e){return function(n){return e(n)}}var Ol=typeof be=="object"&&be&&!be.nodeType&&be,jn=Ol&&typeof module=="object"&&module&&!module.nodeType&&module,$m=jn&&jn.exports===Ol,si=$m&&gl.process,gn=function(){try{var e=jn&&jn.require&&jn.require("util").types;return e||si&&si.binding&&si.binding("util")}catch{}}(),$l=gn&&gn.isTypedArray,Bl=$l?li($l):Om,Bm=Object.prototype,Dm=Bm.hasOwnProperty;function Dl(e,n){var o=Ct(e),r=!o&&zo(e),i=!o&&!r&&ai(e),a=!o&&!r&&!i&&Bl(e),l=o||r||i||a,s=l?tm(e.length,String):[],c=s.length;for(var u in e)(n||Dm.call(e,u))&&!(l&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||ni(u,c)))&&s.push(u);return s}function Vl(e,n){return function(o){return e(n(o))}}var Vm=Vl(Object.keys,Object),Rm=Object.prototype,Mm=Rm.hasOwnProperty;function Rl(e){if(!qo(e))return Vm(e);var n=[];for(var o in Object(e))Mm.call(e,o)&&o!="constructor"&&n.push(o);return n}function ci(e){return ii(e)?Dl(e):Rl(e)}function Fm(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Lm=Object.prototype,Km=Lm.hasOwnProperty;function Um(e){if(!Wt(e))return Fm(e);var n=qo(e),o=[];for(var r in e)r=="constructor"&&(n||!Km.call(e,r))||o.push(r);return o}function ui(e){return ii(e)?Dl(e,!0):Um(e)}var qm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zm=/^\w*$/;function Gm(e,n){if(Ct(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Qr(e)?!0:zm.test(e)||!qm.test(e)||n!=null&&e in Object(n)}var Hn=Xt(Object,"create");function jm(){this.__data__=Hn?Hn(null):{},this.size=0}function Hm(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Ym="__lodash_hash_undefined__",Wm=Object.prototype,Zm=Wm.hasOwnProperty;function Xm(e){var n=this.__data__;if(Hn){var o=n[e];return o===Ym?void 0:o}return Zm.call(n,e)?n[e]:void 0}var Jm=Object.prototype,Qm=Jm.hasOwnProperty;function eg(e){var n=this.__data__;return Hn?n[e]!==void 0:Qm.call(n,e)}var tg="__lodash_hash_undefined__";function ng(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Hn&&n===void 0?tg:n,this}function Jt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Jt.prototype.clear=jm,Jt.prototype.delete=Hm,Jt.prototype.get=Xm,Jt.prototype.has=eg,Jt.prototype.set=ng;function og(){this.__data__=[],this.size=0}function Go(e,n){for(var o=e.length;o--;)if(vl(e[o][0],n))return o;return-1}var rg=Array.prototype,ig=rg.splice;function ag(e){var n=this.__data__,o=Go(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():ig.call(n,o,1),--this.size,!0}function lg(e){var n=this.__data__,o=Go(n,e);return o<0?void 0:n[o][1]}function sg(e){return Go(this.__data__,e)>-1}function cg(e,n){var o=this.__data__,r=Go(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Et(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Et.prototype.clear=og,Et.prototype.delete=ag,Et.prototype.get=lg,Et.prototype.has=sg,Et.prototype.set=cg;var Yn=Xt(ut,"Map");function ug(){this.size=0,this.__data__={hash:new Jt,map:new(Yn||Et),string:new Jt}}function dg(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function jo(e,n){var o=e.__data__;return dg(n)?o[typeof n=="string"?"string":"hash"]:o.map}function pg(e){var n=jo(this,e).delete(e);return this.size-=n?1:0,n}function fg(e){return jo(this,e).get(e)}function mg(e){return jo(this,e).has(e)}function gg(e,n){var o=jo(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Ot(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Ot.prototype.clear=ug,Ot.prototype.delete=pg,Ot.prototype.get=fg,Ot.prototype.has=mg,Ot.prototype.set=gg;var hg="Expected a function";function di(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(hg);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(di.Cache||Ot),o}di.Cache=Ot;var yg=500;function _g(e){var n=di(e,function(r){return o.size===yg&&o.clear(),r}),o=n.cache;return n}var bg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wg=/\\(\\)?/g,kg=_g(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(bg,function(o,r,i,a){n.push(i?a.replace(wg,"$1"):r||o)}),n});function Ho(e){return e==null?"":kl(e)}function hn(e,n){return Ct(e)?e:Gm(e,n)?[e]:kg(Ho(e))}function Yo(e){if(typeof e=="string"||Qr(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function pi(e,n){n=hn(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Yo(n[o++])];return o&&o==r?e:void 0}function Ml(e,n,o){var r=e==null?void 0:pi(e,n);return r===void 0?o:r}function fi(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var Fl=dt?dt.isConcatSpreadable:void 0;function Cg(e){return Ct(e)||zo(e)||!!(Fl&&e&&e[Fl])}function Eg(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=Cg),i||(i=[]);++a<l;){var s=e[a];o(s)?fi(i,s):i[i.length]=s}return i}function Ng(e){var n=e==null?0:e.length;return n?Eg(e):[]}function Ll(e){return jf(Jf(e,void 0,Ng),e+"")}var mi=Vl(Object.getPrototypeOf,Object),vg="[object Object]",Sg=Function.prototype,Ag=Object.prototype,Kl=Sg.toString,xg=Ag.hasOwnProperty,Tg=Kl.call(Object);function Pg(e){if(!Yt(e)||Ht(e)!=vg)return!1;var n=mi(e);if(n===null)return!0;var o=xg.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&Kl.call(o)==Tg}function Ul(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function Ig(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:Ul(e,n,o)}var Og="\\ud800-\\udfff",$g="\\u0300-\\u036f",Bg="\\ufe20-\\ufe2f",Dg="\\u20d0-\\u20ff",Vg=$g+Bg+Dg,Rg="\\ufe0e\\ufe0f",Mg="\\u200d",Fg=RegExp("["+Mg+Og+Vg+Rg+"]");function ql(e){return Fg.test(e)}function Lg(e){return e.split("")}var zl="\\ud800-\\udfff",Kg="\\u0300-\\u036f",Ug="\\ufe20-\\ufe2f",qg="\\u20d0-\\u20ff",zg=Kg+Ug+qg,Gg="\\ufe0e\\ufe0f",jg="["+zl+"]",gi="["+zg+"]",hi="\\ud83c[\\udffb-\\udfff]",Hg="(?:"+gi+"|"+hi+")",Gl="[^"+zl+"]",jl="(?:\\ud83c[\\udde6-\\uddff]){2}",Hl="[\\ud800-\\udbff][\\udc00-\\udfff]",Yg="\\u200d",Yl=Hg+"?",Wl="["+Gg+"]?",Wg="(?:"+Yg+"(?:"+[Gl,jl,Hl].join("|")+")"+Wl+Yl+")*",Zg=Wl+Yl+Wg,Xg="(?:"+[Gl+gi+"?",gi,jl,Hl,jg].join("|")+")",Jg=RegExp(hi+"(?="+hi+")|"+Xg+Zg,"g");function Qg(e){return e.match(Jg)||[]}function eh(e){return ql(e)?Qg(e):Lg(e)}function th(e){return function(n){n=Ho(n);var o=ql(n)?eh(n):void 0,r=o?o[0]:n.charAt(0),i=o?Ig(o,1).join(""):n.slice(1);return r[e]()+i}}var nh=th("toUpperCase");function oh(e){return nh(Ho(e).toLowerCase())}function rh(){this.__data__=new Et,this.size=0}function ih(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function ah(e){return this.__data__.get(e)}function lh(e){return this.__data__.has(e)}var sh=200;function ch(e,n){var o=this.__data__;if(o instanceof Et){var r=o.__data__;if(!Yn||r.length<sh-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Ot(r)}return o.set(e,n),this.size=o.size,this}function yn(e){var n=this.__data__=new Et(e);this.size=n.size}yn.prototype.clear=rh,yn.prototype.delete=ih,yn.prototype.get=ah,yn.prototype.has=lh,yn.prototype.set=ch;function uh(e,n){return e&&Gn(n,ci(n),e)}function dh(e,n){return e&&Gn(n,ui(n),e)}var Zl=typeof be=="object"&&be&&!be.nodeType&&be,Xl=Zl&&typeof module=="object"&&module&&!module.nodeType&&module,ph=Xl&&Xl.exports===Zl,Jl=ph?ut.Buffer:void 0,Ql=Jl?Jl.allocUnsafe:void 0;function fh(e,n){if(n)return e.slice();var o=e.length,r=Ql?Ql(o):new e.constructor(o);return e.copy(r),r}function mh(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function es(){return[]}var gh=Object.prototype,hh=gh.propertyIsEnumerable,ts=Object.getOwnPropertySymbols,yi=ts?function(e){return e==null?[]:(e=Object(e),mh(ts(e),function(n){return hh.call(e,n)}))}:es;function yh(e,n){return Gn(e,yi(e),n)}var _h=Object.getOwnPropertySymbols,ns=_h?function(e){for(var n=[];e;)fi(n,yi(e)),e=mi(e);return n}:es;function bh(e,n){return Gn(e,ns(e),n)}function os(e,n,o){var r=n(e);return Ct(e)?r:fi(r,o(e))}function wh(e){return os(e,ci,yi)}function rs(e){return os(e,ui,ns)}var _i=Xt(ut,"DataView"),bi=Xt(ut,"Promise"),wi=Xt(ut,"Set"),is="[object Map]",kh="[object Object]",as="[object Promise]",ls="[object Set]",ss="[object WeakMap]",cs="[object DataView]",Ch=Zt(_i),Eh=Zt(Yn),Nh=Zt(bi),vh=Zt(wi),Sh=Zt(ti),pt=Ht;(_i&&pt(new _i(new ArrayBuffer(1)))!=cs||Yn&&pt(new Yn)!=is||bi&&pt(bi.resolve())!=as||wi&&pt(new wi)!=ls||ti&&pt(new ti)!=ss)&&(pt=function(e){var n=Ht(e),o=n==kh?e.constructor:void 0,r=o?Zt(o):"";if(r)switch(r){case Ch:return cs;case Eh:return is;case Nh:return as;case vh:return ls;case Sh:return ss}return n});var Ah=Object.prototype,xh=Ah.hasOwnProperty;function Th(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&xh.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var us=ut.Uint8Array;function ki(e){var n=new e.constructor(e.byteLength);return new us(n).set(new us(e)),n}function Ph(e,n){var o=n?ki(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Ih=/\w*$/;function Oh(e){var n=new e.constructor(e.source,Ih.exec(e));return n.lastIndex=e.lastIndex,n}var ds=dt?dt.prototype:void 0,ps=ds?ds.valueOf:void 0;function $h(e){return ps?Object(ps.call(e)):{}}function Bh(e,n){var o=n?ki(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var Dh="[object Boolean]",Vh="[object Date]",Rh="[object Map]",Mh="[object Number]",Fh="[object RegExp]",Lh="[object Set]",Kh="[object String]",Uh="[object Symbol]",qh="[object ArrayBuffer]",zh="[object DataView]",Gh="[object Float32Array]",jh="[object Float64Array]",Hh="[object Int8Array]",Yh="[object Int16Array]",Wh="[object Int32Array]",Zh="[object Uint8Array]",Xh="[object Uint8ClampedArray]",Jh="[object Uint16Array]",Qh="[object Uint32Array]";function ey(e,n,o){var r=e.constructor;switch(n){case qh:return ki(e);case Dh:case Vh:return new r(+e);case zh:return Ph(e,o);case Gh:case jh:case Hh:case Yh:case Wh:case Zh:case Xh:case Jh:case Qh:return Bh(e,o);case Rh:return new r;case Mh:case Kh:return new r(e);case Fh:return Oh(e);case Lh:return new r;case Uh:return $h(e)}}function ty(e){return typeof e.constructor=="function"&&!qo(e)?Rf(mi(e)):{}}var ny="[object Map]";function oy(e){return Yt(e)&&pt(e)==ny}var fs=gn&&gn.isMap,ry=fs?li(fs):oy,iy="[object Set]";function ay(e){return Yt(e)&&pt(e)==iy}var ms=gn&&gn.isSet,ly=ms?li(ms):ay,sy=1,cy=2,uy=4,gs="[object Arguments]",dy="[object Array]",py="[object Boolean]",fy="[object Date]",my="[object Error]",hs="[object Function]",gy="[object GeneratorFunction]",hy="[object Map]",yy="[object Number]",ys="[object Object]",_y="[object RegExp]",by="[object Set]",wy="[object String]",ky="[object Symbol]",Cy="[object WeakMap]",Ey="[object ArrayBuffer]",Ny="[object DataView]",vy="[object Float32Array]",Sy="[object Float64Array]",Ay="[object Int8Array]",xy="[object Int16Array]",Ty="[object Int32Array]",Py="[object Uint8Array]",Iy="[object Uint8ClampedArray]",Oy="[object Uint16Array]",$y="[object Uint32Array]",xe={};xe[gs]=xe[dy]=xe[Ey]=xe[Ny]=xe[py]=xe[fy]=xe[vy]=xe[Sy]=xe[Ay]=xe[xy]=xe[Ty]=xe[hy]=xe[yy]=xe[ys]=xe[_y]=xe[by]=xe[wy]=xe[ky]=xe[Py]=xe[Iy]=xe[Oy]=xe[$y]=!0,xe[my]=xe[hs]=xe[Cy]=!1;function Wn(e,n,o,r,i,a){var l,s=n&sy,c=n&cy,u=n&uy;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Wt(e))return e;var p=Ct(e);if(p){if(l=Th(e),!s)return Ff(e,l)}else{var d=pt(e),f=d==hs||d==gy;if(ai(e))return fh(e,s);if(d==ys||d==gs||f&&!i){if(l=c||f?{}:ty(e),!s)return c?bh(e,dh(l,e)):yh(e,uh(l,e))}else{if(!xe[d])return i?e:{};l=ey(e,d,s)}}a||(a=new yn);var m=a.get(e);if(m)return m;a.set(e,l),ly(e)?e.forEach(function(g){l.add(Wn(g,n,o,g,e,a))}):ry(e)&&e.forEach(function(g,b){l.set(b,Wn(g,n,o,b,e,a))});var h=u?c?rs:wh:c?ui:ci,y=p?void 0:h(e);return Hf(y||e,function(g,b){y&&(b=g,g=e[b]),oi(l,b,Wn(g,n,o,b,e,a))}),l}var By=1,Dy=4;function Ci(e){return Wn(e,By|Dy)}function Vy(e,n){return e!=null&&n in Object(e)}function Ry(e,n,o){n=hn(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=Yo(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&ri(i)&&ni(l,i)&&(Ct(e)||zo(e)))}function My(e,n){return e!=null&&Ry(e,n,Vy)}function Fy(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function Ly(e,n){return n.length<2?e:pi(e,Ul(n,0,-1))}var Ky="[object Map]",Uy="[object Set]",qy=Object.prototype,zy=qy.hasOwnProperty;function _s(e){if(e==null)return!0;if(ii(e)&&(Ct(e)||typeof e=="string"||typeof e.splice=="function"||ai(e)||Bl(e)||zo(e)))return!e.length;var n=pt(e);if(n==Ky||n==Uy)return!e.size;if(qo(e))return!Rl(e).length;for(var o in e)if(zy.call(e,o))return!1;return!0}function bs(e,n){return n=hn(n,e),e=Ly(e,n),e==null||delete e[Yo(Fy(n))]}function Gy(e){return Pg(e)?void 0:e}var jy=1,Hy=2,Yy=4,Wy=Ll(function(e,n){var o={};if(e==null)return o;var r=!1;n=_l(n,function(a){return a=hn(a,e),r||(r=a.length>1),a}),Gn(e,rs(e),o),r&&(o=Wn(o,jy|Hy|Yy,Gy));for(var i=n.length;i--;)bs(o,n[i]);return o});function ws(e,n,o,r){if(!Wt(e))return e;n=hn(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=Yo(n[i]),u=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var p=s[c];u=void 0,u===void 0&&(u=Wt(p)?p:ni(n[i+1])?[]:{})}oi(s,c,u),s=s[c]}return e}function Zy(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=pi(e,l);o(s,l)&&ws(a,hn(l,e),s)}return a}function Xy(e,n){return Zy(e,n,function(o,r){return My(e,r)})}var Ei=Ll(function(e,n){return e==null?{}:Xy(e,n)});function Jy(e,n,o){return e==null?e:ws(e,n,o)}var Qy=0;function Ni(e){var n=++Qy;return Ho(e)+n}function ks(e,n){return e==null?!0:bs(e,n)}const{t:_n}=Fe.createI18n("en-us",Ue);function vi(e){return e.map(n=>({value:n,label:n}))}const Si="*",Cs="$",Es=".";function rt(...e){return e.join(Es)}function Ai(...e){return rt(Cs,...e)}function Ns(e){return e.startsWith(rt(Cs,""))}function bn(e){return e.split(Es).filter(n=>n!=="")}function xi(e){const n=bn(e);return n[n.length-1]}const e_=e=>{var n,o;return e.type==="redis-ce"?_n("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?_n("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?_n("redis.shared_configuration.type_label.cluster"):_n("redis.shared_configuration.type_label.host_port")},t_={"redis-ce":_n("redis.shared_configuration.open_source"),"redis-ee":_n("redis.shared_configuration.enterprise")},n_=e=>t_[e]??"";function o_(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function r_(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const vs=Symbol("free-form-data"),Ss=Symbol("free-form-schema"),As=Symbol("free-form-field-path"),Ti=Symbol("free-form-field-renderer-slots"),Wo=Symbol("free-form-field-renderer-matchers-map"),xs=Symbol("free-form-config"),Ts=Symbol("free-form-field-reset-label-path-setting"),wn="free-form-field-renderers-slot",i_={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function Pi(e,n=""){const o={},r=e;if(Array.isArray(r.fields))for(const i of r.fields){const a=Object.keys(i)[0],l=i[a],s=n?rt(n,a):a;if(o[s]=l,l.type==="record"&&Array.isArray(l.fields)){const c=Pi(l,s);Object.assign(o,c)}else if(l.type==="array"&&l.elements){const c=l.elements,u=rt(s,Si);if(o[u]=c,c.type==="record"&&Array.isArray(c.fields)){const p=Pi(c,u);Object.assign(o,p)}}}return o}function Ii(e){const n=bn(e).map(o=>/^\d+$/.test(o)?Si:o);return rt(...n)}function a_(e){const n=t.toValue(e),o=t.computed(()=>n?Pi(n):{});function r(p){var d;return p==null?n:(d=o.value)==null?void 0:d[Ii(p)]}function i(p,d=!1){const f=r(p);return f?f.default!==void 0?f.default:d||f.required?f.type==="record"?a(f,p):f.type==="array"?[]:null:null:null}function a(p,d){const f={};if(Array.isArray(p.fields))for(const m of p.fields){const h=Object.keys(m)[0],y=d?`${d}.${h}`:h,g=i(y,!1);g!==void 0&&(f[h]=g)}return f}function l(p){return p?i(p,!0):a(r(),"")}function s(p){const d=r(p),f=d!=null&&d.description?Do.marked.parse(d.description,{async:!1}):void 0;return{...i_,"data-testid":`ff-label-${p}`,info:f}}function c(p){var f;const d=r(p);return vi((d==null?void 0:d.one_of)||((f=d.elements)==null?void 0:f.one_of)||[])}function u(p){var m;const d=(m=r(p))==null?void 0:m.default;let f=null;if(d==null||typeof d=="object"||d==="")return null;if(Array.isArray(d)){if(d.length===0)return null;f=d.join(", ")}else f=d.toString();return`Default: ${f}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:u}}function Be(){const e=t.inject(vs),n=t.inject(Ss),o=t.inject(xs,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!n)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...n}}const Ps=e=>{const n=t.inject(As,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Ns(r)&&n.value&&(i=rt(n.value,r)),Ns(r)&&(i=i.slice(Ai("").length)),i});return t.provide(As,o),o},l_=e=>{const{getSchema:n}=Be(),{default:o,...r}=t.useSlots(),i=t.inject(Ti),a=t.inject(Wo),l=t.computed(()=>{const c=t.toValue(i),u=Object.keys(r).filter(p=>p!==wn&&p!=="item").reduce((p,d)=>{const f=Ii(rt(t.toValue(e),d));return{...p,[f]:r[d]}},{});return c?{...c,...u}:u});t.provide(Ti,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[Ii(t.toValue(e))];if(c)return c;for(const[u,p]of a)if(u({path:s,schema:n(s)}))return p})},s_={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function c_(e){return s_[e.toLocaleLowerCase()]??e}function u_(e,n){const o=t.inject(Ts,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?rt(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var f;const{parentPath:u,isolate:p}=c,d=u?rt(u,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=d,l.value.isolate=!1,l.value.parentPath=d}};(f=m[s])==null||f.call(m)}else p&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Ts,l),a}function d_(e){return bn(e).map(o=>o.split("_").map(oh).map(c_).join(" ")).join(" › ")}function p_(e,n){const o=t.toValue(e),r=xi(o),{formConfig:i}=Be(),a=u_(r,n),{getSchema:l}=Be(),s=Is(e);return t.computed(()=>{var f;const c=a.value??r,u=(f=s.value.parent)!=null&&f.path?l(s.value.parent.path):null,d=(u==null?void 0:u.type)==="array"?"":d_(c);return i.transformLabel?i.transformLabel(d,o):d})}function Nt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Be(),a=t.toValue(e),l=t.toValue(n),s=p_(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function f_(e){var r;const n=bn(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?rt(o.parent.path,i):i,o={parent:o}}return o}function Is(e){return t.computed(()=>f_(t.toValue(e)))}function Os(e){const{formData:n}=Be(),o=Ps(e);return{value:t.computed({get:()=>Ml(n,bn(o.value)),set:i=>Jy(n,bn(o.value),i)})}}function it(e){const{getSchema:n}=Be(),o=Ps(e),r=l_(o),{value:i}=Os(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:Is(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Oi(e){const{getSchema:n}=Be(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function $s(e,n){const o=t.reactive(new Map);function r(){return Ni(`${e}-`)}function i(a,l){return a!=null&&typeof a=="object"?o.get(a):`${e}-${l}`}return t.watch(n,a=>{const l=t.toValue(a);l.forEach(c=>{o.has(c)||o.set(c,r())});const s=new Set(l);[...o.keys()].forEach(c=>{s.has(c)||o.delete(c)})},{immediate:!0,deep:!0}),{getKey:i}}const m_="__request_callout_";function Bs(){return Ni(m_)}const Zn=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=n,i=t.computed(()=>o.multiline?Ie.KTextArea:Ie.KInput),a=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{a.value=u});const{formConfig:l}=Be(),s=u=>{a.value=u,l.updateOnChange||r("update:modelValue",u)},c=()=>{l.updateOnChange&&r("update:modelValue",a.value)};return(u,p)=>(t.openBlock(),t.createBlock(t.unref(i),t.mergeProps(u.$attrs,{"model-value":u.modelValue,onChange:c,"onUpdate:modelValue":s}),t.createSlots({_:2},[t.renderList(t.useSlots(),(d,f)=>({name:f,fn:t.withCtx(m=>[t.renderSlot(u.$slots,f,t.normalizeProps(t.guardReactiveProps(m)))])}))]),1040,["model-value"]))}}),g_=["innerHTML"],$t=we(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=Xe(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=it(t.toRef(()=>e.name)),c=Nt(s.path,t.toRef({...i,...o})),u=l==null?void 0:l.value;function p(b){u!==void 0&&b===""&&b!==u?(l.value=null,a("update:modelValue",null)):(l.value=b.trim(),a("update:modelValue",b.trim()))}const d=t.computed(()=>{var b;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((b=s.schema)==null?void 0:b.value).encrypted}),f=t.inject(Ne.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var b;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((b=s.schema.value)!=null&&b.referenceable)}),h=t.computed(()=>({referenceable:m.value})),y=Oi(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:xi(e.name)==="name");return(b,k)=>{var E;const _=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},b.$attrs)),[t.createVNode(Zn,t.mergeProps({...t.unref(c),showPasswordMaskToggle:d.value,type:d.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":t.unref(y),"data-testid":`ff-${s.path.value}`,"model-value":t.unref(l)??"",multiline:b.multiline,"onUpdate:modelValue":p}),t.createSlots({_:2},[(E=t.unref(c).labelAttributes)!=null&&E.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(b.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,g_)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value","multiline"]),t.unref(f)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(f)),{key:0,schema:h.value,update:p,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(f)?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-3e9674bf"]]),h_=["innerHTML"],y_=we(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=it(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=Nt(i.path,o);return(c,u)=>{var d;const p=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Ie.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(d=t.unref(s).labelAttributes)!=null&&d.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,h_)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Ds=we(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(f=>[f,""])),r=Object.fromEntries(n.map(f=>[f,"0"]));function i(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(h=>[h,m.getPropertyValue(h)]))}function a(f){["overflow","transition",...n].forEach(m=>f.style.removeProperty(m))}function l(f){Object.assign(f.style,{overflow:"hidden",transition:"none"})}function s(f){const m=f;Object.assign(m.style,o);const h=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(f){a(f)}function u(f){const m=f;Object.assign(m.style,{...i(m),overflow:"hidden"})}function p(f){Object.assign(f.style,r)}function d(f){a(f)}return(f,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:d,onBeforeEnter:l,onBeforeLeave:u,onEnter:s,onLeave:p},{default:t.withCtx(()=>[t.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),__=["data-testid"],b_=["data-testid"],w_=["data-testid"],k_=["innerHTML"],C_={class:"ff-object-field-actions"},E_=["data-testid"],at=we(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){t.useSlots();const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=it(t.toRef(n,"name")),{getSchema:i,getDefault:a}=Be(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>f.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),u=t.computed(()=>{var g,b;if((g=r.ancestors)!=null&&g.value){const k=r.ancestors.value.parent;if(k!=null&&k.path)return((b=i(k.path))==null?void 0:b.type)==="array"}return!1}),p=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:u.value?"reset":"inherit"),d=Nt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:p.value}))),f=t.computed(()=>d.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:u.value),h=t.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(b=>!e.omit.includes(Object.keys(b)[0]))),e.fieldsOrder?g.sort((b,k)=>{const _=Object.keys(b)[0],E=Object.keys(k)[0],P=e.fieldsOrder.indexOf(_),C=e.fieldsOrder.indexOf(E);return P===-1&&C===-1?0:P===-1?1:C===-1?-1:P-C}):g});function y(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(f,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,b)=>{var _;const k=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(wn)]))),r.error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,E=>(t.openBlock(),t.createBlock(ze,{key:Object.keys(E)[0],name:Object.keys(E)[0]},null,8,["name"]))),128))],!0)],16,__)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(Ie.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(d),required:!1},{"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(_=t.unref(d).labelAttributes)!=null&&_.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,k_)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",C_,[g.collapsible&&f.value?(t.openBlock(),t.createBlock(t.unref(Ie.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:b[0]||(b[0]=E=>s.value=!c.value)},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(ke.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(d).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ie.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${f.value?"remove":"add"}`),"data-testid":`ff-object-${f.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(ke.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(ke.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,w_),t.createVNode(Ds,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,E=>(t.openBlock(),t.createBlock(ze,{key:Object.keys(E)[0],name:Object.keys(E)[0]},null,8,["name"]))),128))],!0)],8,E_)):t.createCommentVNode("",!0)]),_:3})],16,b_))],64)}}}),[["__scopeId","data-v-21f3af99"]]),N_=["innerHTML"],Xn=we(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=it(t.toRef(()=>e.name)),a=Nt(i.path,o),l=t.computed(()=>{var y;const f=(y=i.schema)==null?void 0:y.value;if(f.gt)return{min:f.gt};const[m,h]=f.between??[];return{min:o.min??m,max:o.max??h}}),s=n,c=r.value,u=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function p(f){c!==void 0&&f===""&&Number(f)!==c?(r.value=null,s("update:modelValue",null)):(r.value=f===""?null:Number(f),s("update:modelValue",f===""?null:Number(f)))}const d=Oi(i.ancestors);return(f,m)=>{var y;const h=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(Zn,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(d),"data-testid":`ff-${i.path.value}`,"model-value":u.value,type:"number","onUpdate:modelValue":p}),t.createSlots({_:2},[(y=t.unref(a).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(f.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,N_)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-296fb1b7"]]),v_=["innerHTML"],ft=we(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},multiple:{type:Boolean,default:()=>{}},items:{},placeholder:{}},setup(e){const n=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:o}=Be(),{value:r,...i}=it(t.toRef(()=>e.name)),a=Nt(i.path,n),l=t.computed(()=>e.items?e.items:i.path?o(i.path.value):[]),s=t.computed(()=>{var u;return e.multiple!==void 0?e.multiple:((u=i.schema.value)==null?void 0:u.type)==="set"}),c=t.computed(()=>s.value?Ie.KMultiselect:Ie.KSelect);return(u,p)=>{var f;const d=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(d,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(c),t.mergeProps({key:1},t.unref(a),{modelValue:t.unref(r),"onUpdate:modelValue":p[0]||(p[0]=m=>t.isRef(r)?r.value=m:null),class:"ff-enum-field","data-testid":`ff-${i.path.value}`,items:l.value,"kpop-attributes":{"data-testid":`${i.path.value}-items`}}),t.createSlots({_:2},[(f=t.unref(a).labelAttributes)!=null&&f.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,v_)],!0)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-181f0d06"]]);function $i(e,n){const{value:o,...r}=it(t.toRef(e,"name")),i=Nt(r.path,t.toRef({...e,...t.useAttrs()})),a=t.ref(s(e.initialValue??(o==null?void 0:o.value)??{}));function l(){return Ni("ff-kv-field-")}function s(m){return Object.entries(m).map(([h,y])=>({id:l(),key:h,value:y}))}function c(){a.value.push({id:l(),key:e.defaultKey||"",value:e.defaultValue||""})}function u(m){const h=a.value.findIndex(y=>y.id===m);h!==-1&&a.value.splice(h,1)}function p(){const m=Object.fromEntries(a.value.map(({key:h,value:y})=>[h,y]).filter(([h])=>h));o.value=m,n("change",m)}function d(){a.value=s(e.initialValue||{})}function f(m){a.value=s(m)}return t.watch(a,p,{deep:!0}),{entries:a,addEntry:c,removeEntry:u,reset:d,setValue:f,labelAttrs:i,field:r}}const S_=["data-testid"],A_=["data-testid"],x_=["innerHTML"],T_=["data-testid"],P_=we(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Xe(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:u,setValue:p,labelAttrs:d,field:f}=$i(r,a),m=t.useTemplateRef("root");async function h(P,C="key"){var R;m.value&&(await t.nextTick(),(R=m.value.querySelector(`[data-${C}-input="${P}"]`))==null||R.focus())}function y(){s();const P=l.value.findIndex(({key:C})=>!C);h(P===-1?l.value.length-1:P)}function g(P){P===l.value.length-1&&s(),h(P+1)}const b=t.inject(Ne.AUTOFILL_SLOT,void 0),k=t.computed(()=>{var P,C;return e.showVaultSecretPicker??!!((C=(P=f.schema.value)==null?void 0:P.values)!=null&&C.referenceable)}),_=t.computed(()=>({referenceable:k.value}));function E(P,C){l.value[P].value=C}return n({reset:u,setValue:p}),(P,C)=>{var X;const R=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),O=t.resolveComponent("KButton");return t.unref(f).error?(t.openBlock(),t.createBlock(R,{key:0,appearance:"danger",message:t.unref(f).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(f).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(f).path.value}`},[t.createVNode($,t.mergeProps({class:"ff-kv-field-label"},t.unref(d),{"data-testid":`ff-label-${t.unref(f).path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(X=t.unref(d).labelAttributes)!=null&&X.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(P.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,x_)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(O,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(f).path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon))]),_:1},8,["data-testid"])],8,A_),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(z,A)=>(t.openBlock(),t.createElementBlock("div",{key:z.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(f).path.value}.${A}`},[t.createVNode(Zn,{modelValue:z.key,"onUpdate:modelValue":S=>z.key=S,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":A,"data-testid":`ff-key-${t.unref(f).path.value}.${A}`,placeholder:P.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(S=>h(A,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(Zn,{modelValue:z.value,"onUpdate:modelValue":S=>z.value=S,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(f).path.value}.${A}`,"data-value-input":A,placeholder:P.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(S=>g(A),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(b)&&k.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(b)),{key:0,schema:_.value,update:S=>E(A,S),value:z.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),k.value&&!t.unref(b)?(t.openBlock(),t.createBlock(R,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(f).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode(O,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(f).path.value}.${A}`,icon:"",onClick:S=>t.unref(c)(z.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,T_))),128))],8,S_))}}}),[["__scopeId","data-v-92e0893d"]]),I_=["data-testid"],O_=["innerHTML"],Vs=we(t.defineComponent({inheritAttrs:!1,__name:"TagField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},type:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=it(t.toRef(()=>e.name)),s=Nt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var y,g;return((g=(y=l.schema)==null?void 0:y.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),u=t.ref("");function p(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function d(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function f(y){u.value=y;const g=d(y),b=!g.length&&c.value?null:g;a.value=b,i("update:modelValue",b)}const m=Oi(l.ancestors),h=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:xi(e.name)==="name");return t.watch(a,y=>{const g=y?p(y):"";p(d(u.value))!==g&&(u.value=g)},{immediate:!0}),(y,g)=>{var k;const b=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(Zn,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":u.value??"","onUpdate:modelValue":f}),t.createSlots({_:2},[(k=t.unref(s).labelAttributes)!=null&&k.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,O_)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,I_))}}}),[["__scopeId","data-v-43602ab3"]]),ze=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=it(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?ft:$t;case"boolean":return"one_of"in o.schema.value?ft:y_;case"number":case"integer":return"one_of"in o.schema.value?ft:Xn;case"array":return Bi;case"set":return r_(o.schema)?Vs:ft;case"record":return at;case"map":return P_;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(wn)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:Ai(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:Ai(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),$_=["data-testid"],B_=["data-testid"],D_=["innerHTML"],V_=["data-testid"],R_={class:"ff-array-field-item-content"},M_=["data-index","data-testid"],Bi=we(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var E;t.useCssVars(P=>({"6954cf1c":_.value}));const o=e,r=n,{i18n:{t:i}}=Xe(),{getDefault:a}=Be(),{value:l,...s}=it(t.toRef(o,"name")),c=Nt(s.path,t.toRef({...o,...t.useAttrs()})),u=t.computed(()=>o.items??t.toValue(l)??[]),{getKey:p}=$s("ff-array-field",u),d=t.computed(()=>o.appearance==="card"?Ie.KCard:"div");function f(P,C){return typeof o.itemLabel=="function"?o.itemLabel(P,C):o.itemLabel||c.value.label||`Item #${C}`}const m=t.computed(()=>u.value.map((P,C)=>({hash:`#${p(P,C)}`,title:""}))),h=t.ref((E=m.value[0])==null?void 0:E.hash),y=async()=>{var C;const P=a(rt(s.path.value,Si));Array.isArray(l.value)||(l.value=[]),l.value.push(P),r("add"),o.appearance==="tabs"&&(await t.nextTick(),h.value=(C=m.value[m.value.length-1])==null?void 0:C.hash),await t.nextTick(),k(u.value.length+1)},g=async P=>{var C;Array.isArray(l.value)&&l.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(h.value=(C=m.value[Math.max(0,P-1)])==null?void 0:C.hash)},b=t.useTemplateRef("root");function k(P){var R;if(!b.value)return;const C=Math.max(0,Math.min(P,u.value.length-1));(R=b.value.querySelector(`[data-index="${C}"] [data-autofocus]`))==null||R.focus()}const _=t.computed(()=>{const{appearance:P,stickyTabs:C}=o;return P!=="tabs"||C==null||C===!1?null:typeof C=="number"?`${o.stickyTabs}px`:typeof C=="string"?C:"0"});return(P,C)=>{var z;const R=t.resolveComponent("KAlert"),$=t.resolveComponent("KLabel"),O=t.resolveComponent("KButton"),X=t.resolveComponent("KTabs");return s.error?(t.openBlock(),t.createBlock(R,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${P.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":P.stickyTabs}]),"data-testid":`ff-array-${s.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${s.path.value}`},[t.createVNode($,t.mergeProps({class:"ff-array-field-label"},t.unref(c),{"data-testid":`ff-label-${s.path.value}`,"tooltip-attributes":t.unref(c).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c).label)+" ",1)]),_:2},[(z=t.unref(c).labelAttributes)!=null&&z.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(P.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,D_)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${s.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,B_),u.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[P.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${s.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(A,S)=>(t.openBlock(),t.createBlock(t.unref(d),{key:t.unref(p)(A,S),class:"ff-array-field-item","data-index":S,"data-testid":`ff-array-item-${s.path.value}.${S}`},{default:t.withCtx(()=>[t.createElementVNode("div",R_,[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(S),index:S},void 0,!0):(t.openBlock(),t.createBlock(ze,{key:1,name:String(S)},null,8,["name"]))]),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${s.path.value}.${S}`,icon:"",onClick:w=>g(S)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,V_)):(t.openBlock(),t.createBlock(t.unref(Ie.KCard),{key:1,"data-testid":`ff-array-tab-container-${s.path.value}`},{default:t.withCtx(()=>[t.createVNode(X,{modelValue:h.value,"onUpdate:modelValue":C[0]||(C[0]=A=>h.value=A),"data-testid":`ff-array-tabs-${s.path.value}`,tabs:m.value},t.createSlots({_:2},[t.renderList(u.value,(A,S)=>({name:t.unref(p)(A,S),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":S,"data-testid":`ff-array-item-${s.path.value}.${S}`},[P.$slots.item?t.renderSlot(P.$slots,"item",{key:0,fieldName:String(S),index:S},void 0,!0):(t.openBlock(),t.createBlock(ze,{key:1,name:String(S)},null,8,["name"]))],8,M_)])})),t.renderList(u.value,(A,S)=>({name:`${t.unref(p)(A,S)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(f(A,S))+" ",1),t.createVNode(O,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${s.path.value}.${S}`,icon:"",onClick:t.withModifiers(w=>g(S),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,$_))}}}),[["__scopeId","data-v-463d07bb"]]),Jn=Symbol(),F_=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=Be(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[Jn]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(at,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(ft,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(at,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(u=>[t.createVNode(ft,t.mergeProps(u,{items:t.unref(vi)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),L_=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n,getDefault:o}=Be();function r(){const i=o("config.callouts.*");i.request.body.custom=i.request.body.custom??{};const a=n.config.callouts[n.config.callouts.length-1];a&&(a[Jn]=Bs())}return(i,a)=>(t.openBlock(),t.createBlock(Bi,{appearance:"tabs","item-label":l=>l.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:r},{item:t.withCtx(({index:l,fieldName:s})=>[t.createVNode(F_,{"field-name":s,index:l},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),Rs=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(Wo);if(!r)throw new Error(Wo.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),vt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),a=a_(e.schema);t.provide(Ss,a);const l=m=>{var h;return Ko((h=e.config)==null?void 0:h.hasValue)?e.config.hasValue(m):!!m},s=t.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((h,y)=>{const g=Object.keys(h)[0],b=Object.keys(y)[0],k=e.fieldsOrder.indexOf(g),_=e.fieldsOrder.indexOf(b);return k===-1&&_===-1?0:k===-1?1:_===-1?-1:k-_}):m});let c=!1;const u=t.reactive({});t.provide(vs,u),t.provide(Ti,Wy(i,"default",wn));const p=new Map;t.provide(Wo,p),t.provide(xs,e.config??{}),t.watch(u,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function d(m){Object.keys(u).forEach(h=>{delete u[h]}),Object.assign(u,m)}function f(m){var y;let h;!m||!l(t.toValue(m))?h=a.getDefault():h=Ci(t.toValue(m)),Ko((y=e.config)==null?void 0:y.prepareFormData)?d(e.config.prepareFormData(h)):d(h),c=!0}return t.onBeforeMount(()=>{f(e.data)}),t.watch(()=>e.data,m=>{f(m)},{deep:!0}),n({getInnerData:()=>t.toRaw(u)}),(m,h)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(wn)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(ze,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,b)=>r("globalAction",g,b))},null,8,["name"]))),128))])]),_:3}))}}),K_={class:"ff-advanced-fields"},Ms=we(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Fe.createI18n("en-us",Ue),{getSchema:o}=Be(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Ie.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",K_,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(ze,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(ze,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Vs,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-190b1d21"]]),U_=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Xe();function a(u,p=!1){return u.reduce((d,{[Jn]:f,name:m})=>(p?d[m]=f:d[f]=m,d),{})}function l(u){var m;const p=Ci(u);if(!((m=p.config)!=null&&m.callouts))return p;const{callouts:d}=p.config;d.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[Jn]=Bs()});const f=a(d,!0);return d.forEach(h=>{h.depends_on=h.depends_on.map(y=>f[y])}),p}function s(u){return!!(u!=null&&u.config)}function c(u){var f;if(!u)return;const p=Ci(u);if(!((f=p.config)!=null&&f.callouts))throw new Error("data is not correct");const d=a(p.config.callouts);p.config.callouts=p.config.callouts.map(m=>{const{[Jn]:h,depends_on:y,...g}=m;return{depends_on:y.map(b=>d[b]).filter(b=>b!=null),...g}}),o("change",p)}return(u,p)=>(t.openBlock(),t.createBlock(vt,{class:"rc-config-form",config:r,data:u.data,schema:u.schema,tag:"div",onChange:c},{[t.unref(wn)]:t.withCtx(()=>[t.createVNode(Rs,{match:({path:d})=>d.endsWith("by_lua")},{default:t.withCtx(d=>[t.createVNode($t,t.mergeProps(d,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(Rs,{match:({path:d})=>["cluster_nodes","sentinel_nodes"].some(f=>d.endsWith(f))},{default:t.withCtx(d=>[t.createVNode(Bi,t.mergeProps(d,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(at,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(L_),t.createVNode(at,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(at,{appearance:"card",name:"cache"},{redis:t.withCtx(d=>[t.createVNode(at,t.mergeProps(d,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),t.createVNode(Ms)]),_:2},1032,["data","schema"]))}}),q_={class:"sc-form-pinned-fields"},z_={class:"sc-form-config-form"},Fs=we(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Fe.createI18n("en-us",Ue),o=e;t.useSlots();function r(p){return t.computed(()=>({fields:t.toValue(p).map(d=>{var f;return(f=o.formSchema)==null?void 0:f.fields.find(m=>m.model===d)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const p=o.schema;p.fields=p.fields.filter(f=>l.includes(Object.keys(f)[0])),p.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const d=p.fields.find(f=>Object.keys(f)[0]==="protocols");return d&&(d.protocols.help=d.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:d.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),d.protocols.description=n("plugins.form.fields.protocols.help")),p}),c=t.ref(!1);function u(p){return Ei(p,["config","instance_name","partials","protocols","tags"])}return(p,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",q_,[t.createVNode(t.unref(Ne.VueFormGenerator),{model:p.formModel,options:p.formOptions,schema:t.unref(a),onModelUpdated:p.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Ie.KCollapse),{modelValue:c.value,"onUpdate:modelValue":d[1]||(d[1]=f=>c.value=f),class:"sc-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",z_,[t.renderSlot(p.$slots,"default",{data:u(p.model),schema:s.value,onChange:d[0]||(d[0]=(...f)=>p.onFormChange&&p.onFormChange(...f))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-175fd883"]]),G_=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ne.AUTOFILL_SLOT,o==null?void 0:o[Ne.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Fs,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(U_,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),j_={key:1},H_=["innerHTML"],Y_={class:"horizontal-container"},W_=we(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Be(),a=it(t.toRef(()=>e.name)),l=Nt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=u=>{a.value&&(a.value.value=u),o("update:modelValue",u)};return(u,p)=>{var m;const d=t.resolveComponent("KAlert"),f=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(d,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",j_,[t.createVNode(f,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,H_)]),key:"0"}:void 0]),1040),t.createElementVNode("div",Y_,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,h=>(t.openBlock(),t.createBlock(t.unref(Ie.KRadio),{key:h.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[p[0]||(p[0]=y=>t.unref(a).value.value=y),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),Z_={class:"sp-form-request-limits-subtitle"},X_={class:"sp-form-request-limits-content"},J_={class:"sp-form-window-type"},Q_={class:"sp-form-request-limits-items"},eb={class:"sp-form-request-limits-row"},tb=["id"],nb={class:"sp-form-request-limits-actions"},ob={key:0,class:"sp-form-request-limits-examples"},rb={class:"sp-form-request-limits-examples-badges"},Di="config.window_type",ib=we(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=Fe.createI18n("en-us",Ue),{formData:o,getSelectItems:r,getSchema:i}=Be(),a=t.computed(()=>{var k,_;const b=(_=(k=o.config)==null?void 0:k.limit)==null?void 0:_.map((E,P)=>{var C,R;return{limit:E,windowSize:(R=(C=o.config)==null?void 0:C.window_size)==null?void 0:R[P]}});return!Array.isArray(b)||b.length===0?[{limit:null,windowSize:null}]:b}),{getKey:l}=$s("request-limits",a),s=b=>{var k,_;f.value=void 0,o.config&&((k=o.config.limit)!=null&&k.length||(o.config.limit=[null]),(_=o.config.window_size)!=null&&_.length||(o.config.window_size=[null]),o.config.limit.splice(b+1,0,null),o.config.window_size.splice(b+1,0,null))},c=b=>{o.config&&(o.config.limit.splice(b,1),o.config.window_size.splice(b,1))},u=(g=i(Di))==null?void 0:g.default,p=t.computed(()=>Ml(o,Di)),d=t.computed(()=>r(Di).sort((b,k)=>b.value===u?-1:k.value===u?1:0)),f=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(m,p.value)?m[p.value]:[]),y=(b,k)=>{if(k===f.value){t.nextTick(()=>{f.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{f.value=k}),o.config.limit=[b.config.limit],o.config.window_size=[b.config.window_size]};return(b,k)=>{const _=t.resolveComponent("KLabel"),E=t.resolveComponent("KButton"),P=t.resolveComponent("KBadge"),C=t.resolveComponent("KTooltip"),R=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(R,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(_,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Z_,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",X_,[t.createElementVNode("div",J_,[t.createVNode(W_,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":k[0]||(k[0]=$=>f.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",Q_,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,($,O)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)($,O)},[t.createVNode(_,{for:`sp-form-request-limits-item-${O}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:O+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",eb,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${O}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Xn,{name:`$.config.limit.${O}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Xn,{name:`$.config.window_size.${O}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,tb),t.createElementVNode("div",nb,[t.createVNode(E,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(O)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(E,{appearance:"tertiary",onClick:()=>s(O)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",ob,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",rb,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,($,O)=>(t.openBlock(),t.createBlock(C,{key:`use-case-${O}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString($.description),1),k[1]||(k[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString($.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString($.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(P,{appearance:f.value===`${p.value}-${O}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y($,`${p.value}-${O}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString($.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-f3727aa3"]]),ab={id:"sp-form-error-legend",class:"sp-form-error-inputs"},lb=we(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Fe.createI18n("en-us",Ue);return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",ab,[t.createVNode(Xn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode($t,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),sb={class:"partial-config-card"},cb={class:"config-card-row-label"},ub={class:"label-text"},db=["data-testid"],pb=["data-testid"],fb={key:1},mb=["data-testid"],gb=["data-testid"],hb=we(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Fe.createI18n("en-us",Ue),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=d=>d!=null,l=(d,f)=>a(f)&&["password","sentinel_password"].includes(d)?"password":"text",{convertKeyToTitle:s}=le.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([d,f])=>{var m,h,y,g;return{key:d,label:((m=r[d])==null?void 0:m.label)??s(d),value:(h=r[d])!=null&&h.formatter?r[d].formatter(f):f,type:((y=r[d])==null?void 0:y.type)??l(d,f),order:((g=r[d])==null?void 0:g.order)??100}}).sort((d,f)=>d.order-f.order).filter(d=>d.type!=="hidden")),u=o_(i.configFields,i.pluginRedisFields||[]),p=t.computed(()=>c.value.concat(u));return(d,f)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",sb,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,({key:h,label:y,value:g,type:b})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",cb,[t.createElementVNode("div",ub,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",fb,[b==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,mb)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,gb))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,pb))],8,db)]))),128))])}}}),[["__scopeId","data-v-836def53"]]),yb=we(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Fe.createI18n("en-us",Ue),i=t.inject(Ne.FORMS_CONFIG),a=n,{getMessageFromError:l}=le.useErrors(),s=t.computed(()=>{switch(o.partialType){case Kn.PartialType.REDIS_CE:return Kn.PartialType.REDIS_EE;case Kn.PartialType.REDIS_EE:return Kn.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),u=t.ref(),p=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},d=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),f()},f=()=>{u.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{u.value="#km-modal-footer"}))}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:f},{footer:t.withCtx(()=>h[0]||(h[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:t.withCtx(()=>[t.createVNode(t.unref(Kn.RedisConfigurationForm),{"action-teleport-target":u.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:f,onError:p,onUpdate:d},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),_b="#52596e",bb="#e0e4ea",wb="#00abd2",kb="12px",Qn="16px",Vi="20px",Cb="24px",Eb="8px",Ls=Symbol("redis-partial-info"),Ks={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},Us=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],Nb={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},vb={key:0,class:"shared-redis-config"},Sb={class:"shared-redis-config-title"},Ab={class:"redis-config-select","data-testid":"redis-config-select"},xb={class:"selected-redis-config"},Tb=["data-testid"],Pb={class:"select-item-name","data-testid":"selected-redis-config"},Ib={class:"empty-redis-config","data-testid":"empty-redis-config"},Ob={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},$b="1000",Bb=we(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var G;const o=n,{t:r}=Fe.createI18n("en-us",Ue),i=e,a=t.inject(Ls),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var U;return i.redisPath?i.redisPath:(U=a==null?void 0:a.redisPath)!=null&&U.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((G=a==null?void 0:a.redisType)==null?void 0:G.value)||"all",u=t.computed(()=>{var U;return!!((U=a==null?void 0:a.redisType)!=null&&U.value)}),p=t.ref(!1),d=t.ref(null),f=t.ref(!l),{getMessageFromError:m}=le.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:b}=Os("$.partials"),{value:k}=it(s),_=t.inject(Ne.FORMS_CONFIG),{debouncedQueryChange:E,loading:P,error:C,loadItems:R,results:$}=le.useDebouncedFilter(_,Ks[_.app].getAll,$b,{fetchedItemsKey:"data",searchKeys:["id","name"]}),O=t.computed(()=>C.value?m(C.value):""),X=U=>{let M=`${_.apiBaseUrl}${Ks[_.app].getOne}`;return _.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,(_==null?void 0:_.controlPlaneId)||""):_.app==="kongManager"&&(M=M.replace(/\/{workspace}/gi,_!=null&&_.workspace?`/${_.workspace}`:"")),M=M.replace(/{id}/gi,String(U)),M},z=t.computed(()=>{const U=($.value||[]).map(M=>({label:M.id,name:M.name,value:M.id,type:M.type,tag:e_(M)})).filter(M=>M.type==="redis-ce"||M.type==="redis-ee");return c!=="all"?U.filter(M=>M.type===c):U}),{axiosInstance:A}=le.useAxios(_==null?void 0:_.axiosRequestConfig),S=()=>{f.value?(g.value&&(b.value=g.value,h.value=g.value[0].id,k.value=void 0),k!=null&&k.value&&(y.value=k.value)):(Object.keys(y.value).length&&(k.value=y.value),b!=null&&b.value&&(g.value=b.value),b.value=l?null:void 0)},w=U=>{R(),o("globalAction","notify",U)},D=U=>{o("globalAction","notify",U)},T=async U=>{if(U){h.value=U,b.value=[{id:U}],g.value=[{id:U}],k.value=void 0;try{const M=await A.get(X(U));if(M.data.config){const V=Object.assign(M.data,M.data.config);delete V.config,d.value=V}}catch(M){console.error(M)}}};return t.watch(()=>f.value,()=>{S()}),t.onBeforeMount(()=>{var U;if(R(),i.defaultRedisConfigItem||b!=null&&b.value){const M=i.defaultRedisConfigItem||((U=b==null?void 0:b.value)==null?void 0:U[0].id);T(M),f.value=!0}else k!=null&&k.value&&(y.value=k.value)}),(U,M)=>{const V=t.resolveComponent("KBadge"),H=t.resolveComponent("KRadio"),ie=t.resolveComponent("KSelect"),ce=t.resolveComponent("KCard");return u.value?(t.openBlock(),t.createBlock(ce,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",Nb,[t.createVNode(H,{modelValue:f.value,"onUpdate:modelValue":M[0]||(M[0]=ee=>f.value=ee),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(V,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(H,{modelValue:f.value,"onUpdate:modelValue":M[1]||(M[1]=ee=>f.value=ee),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),f.value?(t.openBlock(),t.createElementBlock("div",vb,[t.createElementVNode("div",Sb,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",Ab,[t.createVNode(ie,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:z.value,loading:t.unref(P),"model-value":h.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:M[3]||(M[3]=ee=>T(ee==null?void 0:ee.value)),onQueryChange:t.unref(E)},{"selected-item-template":t.withCtx(({item:ee})=>[t.createElementVNode("div",xb,t.toDisplayString(ee.name),1)]),"item-template":t.withCtx(({item:ee})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${ee.name}`},[t.createElementVNode("span",Pb,t.toDisplayString(ee.name),1),t.createVNode(V,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ee.tag),1)]),_:2},1024)],8,Tb)]),empty:t.withCtx(()=>[t.createElementVNode("div",Ib,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:M[2]||(M[2]=()=>p.value=!0)},[t.createVNode(t.unref(ke.AddIcon),{size:t.unref(kb)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(n_)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),d.value?(t.openBlock(),t.createBlock(hb,{key:0,"config-fields":d.value},null,8,["config-fields"])):t.createCommentVNode("",!0),O.value?(t.openBlock(),t.createElementBlock("p",Ob,t.toDisplayString(O.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(at,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(Us),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(yb,{"partial-type":t.unref(c),visible:p.value,onModalClose:M[4]||(M[4]=ee=>p.value=!1),onPartialUpdateFailed:D,onPartialUpdated:w},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(at,t.mergeProps({key:1},i,{"fields-order":t.unref(Us),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-f58fb92a"]]),Db=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=Be();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(Ds,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(Bb,{key:0})):t.createCommentVNode("",!0)]}),_:1}))}}),Vb=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},setup(e){const n={hasValue:o=>!!(o!=null&&o.config)};return(o,r)=>(t.openBlock(),t.createBlock(vt,{class:"rc-config-form",config:n,data:o.data,schema:o.schema,tag:"div",onChange:r[0]||(r[0]=i=>o.$emit("change",i))},{default:t.withCtx(()=>[t.createVNode(at,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(ib),t.createVNode(lb)]),_:1}),t.createVNode(Ms,null,{default:t.withCtx(()=>[t.createVNode(ze,{name:"config.dictionary_name"}),t.createVNode(ze,{name:"config.lock_dictionary_name"}),t.createVNode(ze,{name:"config.strategy"}),t.createVNode(Db),t.createVNode(ze,{name:"config.namespace"}),t.createVNode(ze,{name:"config.hide_client_headers"}),t.createVNode(ze,{name:"config.disable_penalty"}),t.createVNode(ze,{name:"config.retry_after_jitter_max"}),t.createVNode(ze,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),Rb=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ne.AUTOFILL_SLOT,o==null?void 0:o[Ne.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Fs,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(Vb,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),Mb={class:"ff-standard-layout"},Fb={class:"enabled"},Lb={class:"scope"},Kb={key:0,class:"scope-detail"},Ub=we(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Fe.createI18n("en-us",Ue),o=e,r=t.useSlots();t.provide(Ne.AUTOFILL_SLOT,r==null?void 0:r[Ne.AUTOFILL_SLOT_NAME]);const i=t.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(b=>b.model==="enabled")}}),a=t.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(b=>b.model==="selectionGroup")}),l=t.computed(()=>(a.value.fields||[]).map(({label:g,description:b})=>({label:g,description:b}))),s=t.computed(()=>a.value.fields[1]),c=t.computed(()=>{var b;const g=["instance_name","protocols","tags"];return{fields:(b=o.formSchema)==null?void 0:b.fields.filter(k=>g.includes(k.model))}}),u=["config"],p=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(b=>u.includes(Object.keys(b)[0])),g});function d(g){return Ei(g,["config","partials"])}const f=t.ref(!1),m=t.ref(!0),h=Ei(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]);function y(g,b){h[b]=g,o.onModelUpdated(g,b)}return t.watch(f,g=>{g?Object.keys(h).forEach(b=>{o.onModelUpdated(h[b],b)}):Object.keys(h).forEach(b=>{o.onModelUpdated("",b)})}),(g,b)=>{const k=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Mb,[t.createVNode(t.unref(le.EntityFormBlock),{description:t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",Fb,[t.createVNode(t.unref(Ne.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",Lb,[t.createVNode(t.unref(Ie.KRadio),t.mergeProps({modelValue:f.value,"onUpdate:modelValue":b[0]||(b[0]=_=>f.value=_),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(Ie.KRadio),t.mergeProps({modelValue:f.value,"onUpdate:modelValue":b[1]||(b[1]=_=>f.value=_),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),f.value?(t.openBlock(),t.createElementBlock("div",Kb,[t.createVNode(t.unref(Ne.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(k,{modelValue:m.value,"onUpdate:modelValue":b[2]||(b[2]=_=>m.value=_),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(le.EntityFormBlock),{description:t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(g.$slots,"default",{data:d(g.model),schema:p.value,onChange:b[3]||(b[3]=(..._)=>g.onFormChange&&g.onFormChange(..._))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-a727028f"]]);typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const qb=e=>e!=null;/*!
|
|
11
|
+
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:wn.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
12
|
+
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:wn.tags}]},Wp={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},$l={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
13
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Wt}]},Zp={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},St={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",isEnterprise:!1,nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",isEnterprise:!0,nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",isEnterprise:!0,nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",isEnterprise:!0,nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",isEnterprise:!0,nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",isEnterprise:!1,nameKey:"plugins.meta.kafka-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",isEnterprise:!1,nameKey:"plugins.meta.confluent-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",isEnterprise:!1,nameKey:"plugins.meta.request-callout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",isEnterprise:!1,nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",isEnterprise:!1,nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",isEnterprise:!1,nameKey:"plugins.meta.datakit.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",isEnterprise:!1,nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",isEnterprise:!1,nameKey:"plugins.meta.solace-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",isEnterprise:!1,nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]}},En={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Al,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:Yt(Al),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Tl,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:Yt(Tl)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Pl,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:Yt(Pl)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:$l,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:Yt($l)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Ol,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:Yt(Ol)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Il,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:Yt(Il)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Hp,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Xp={acls:Lp,basicauth_credentials:Fp,keyauth_credentials:Gp,keyauth_enc_credentials:Zp,oauth2_credentials:Wp,hmacauth_credentials:zp,jwt_secrets:Yp},Jp=()=>{const{i18n:{t:e}}=Qe(),t={},o={};for(const[i,a]of Object.entries(St))t[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(En))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:t,credentialMetaData:o,credentialSchemas:En,getDisplayName:i=>{var a;return((a=t[i])==null?void 0:a.name)||i}}},Jn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Qp={"config-prompts-prepend":{...Jn,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Jn,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},em={"config-templates":{...Jn,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},tm={shamefullyTransformPayload:({originalModel:e,model:t,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&t[l]?!0:e[l]===t[l]?!1:e[l]===null?t[l]!==""&&!Number.isNaN(t[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},nm={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:wn.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Te={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Ho={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},om={"config-metrics":{...Ho,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},rm={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},im={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},am={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},lm={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},sm={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Bl=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,t)=>({...e,[t]:wn.fields.arrayItems({newElementButtonLabel:"Add"})}),sm),Yo={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},cm={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},dm=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,t)=>({...e,[t]:wn.fields.arrayItems({newElementButtonLabel:"Add"})}),cm),Dl={"config-add-json":{...Te,label:"Config.Add.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Te,label:"Config.Append.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Te,label:"Config.Remove.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Te,label:"Config.Rename.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Te,label:"Config.Replace.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},um={...Dl,"config-allow-json":{...Te,label:"Config.Allow.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Te,label:"Config.Transform.Functions",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Te,label:"Config.Transform.Json",inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}}},fm={"config-rules":{...Jn,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},pm={"config-session_redis_cluster_nodes":{...Jn,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},mm={"config-metrics":{...Ho,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},gm={"config-metrics":{...Ho,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},hm={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ym={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},Zt=e=>{var o,r;const t=(r=(o=e==null?void 0:e.confluent)==null?void 0:o.authentication)==null?void 0:r.basic;t&&!t.password&&!t.username&&delete e.confluent.authentication.basic},_m={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var t;Zt((t=e.config)==null?void 0:t.schema_registry)}},bm={"config-message_by_lua_functions":{...Te,inputAttributes:{...Te.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var t;Zt((t=e.config)==null?void 0:t.schema_registry)}},wm={shamefullyTransformPayload:({payload:e})=>{var t,o,r;Zt((t=e.config)==null?void 0:t.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{Zt(i==null?void 0:i.schema_registry)})}},Em={shamefullyTransformPayload:({payload:e})=>{var t,o,r;Zt((t=e.config)==null?void 0:t.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{Zt(i==null?void 0:i.schema_registry)})}},km={shamefullyTransformPayload:({payload:e})=>{var t;Zt((t=e.config)==null?void 0:t.schema_registry)}},Cm={"config-static_tags":{...Ho,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},vm={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm"};function Vl(e,t){const o=vm[e];if(typeof o=="string")return o;if(t.includes(e))return o.component}const pi=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Rl={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR")};function Ml(){return n.inject(pi,[])}function Nm(e){n.provide(pi,e)}const Sm=(e,t)=>{const o=e.model.startsWith("config-"),r=t.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Ll=(e,t)=>(e.order??0)-(t.order??0),Fl=(e,t)=>Sm(e,t)||Ll(e,t)||e.model.localeCompare(t.model),Oe={useI18n:Qe,usePluginMetaData:Jp,usePluginHelpers:Nl,useSchemas:e=>{const{capitalize:t}=ie.useStringHelpers(),{convertToDotNotation:o}=Nl(),{i18n:{t:r}}=Qe(),i=Ml(),a={"application-registration":{overwriteDefault:!0,formSchema:{...nm}},datadog:{...om},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...mm},"statsd-advanced":{...gm},"route-by-header":{...fm},"ai-prompt-decorator":{...Qp},"ai-prompt-template":{...em},"ai-proxy-advanced":{...tm},"vault-auth":{...ym},"oas-validation":{...lm},mocking:{...am},"rate-limiting":{...Yo},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Yo["config-consumer_groups"]}:{...Yo},"graphql-rate-limiting-advanced":{...rm},"injection-protection":{...im},"response-ratelimiting":{...Yo},"pre-function":{...Bl},"post-function":{...Bl},"request-transformer-advanced":{...dm},"response-transformer":{...Dl},"response-transformer-advanced":{...um},zipkin:{...Cm},"upstream-oauth":{...hm},saml:{...pm},"kafka-upstream":{..._m},"key-auth":jp(e),confluent:{...bm},"confluent-consume":{...wm},"kafka-consume":{...Em},"kafka-log":{...km}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(k,L,$)=>{let I={};(L||k)&&(I=L||(k.fields?k.fields:k));const Y=l().concat(k.blacklist?k.blacklist:[]),j=Object.keys(I).filter(B=>!Y.includes(B)),N=j.indexOf("comparator");N>-1&&j.splice(N,1);let C={fields:[]};const E={};j.forEach(B=>{d(I[B],B,I,E,C,$)});const D=E.name,T=St[D],G=[],K=B=>{const V=["cluster-cache"];for(const z of V)if(B.model.includes(z))return!1;return new RegExp("(?<=-redis-).*").test(B.model)};if(C._supported_redis_partial_type=k._supported_redis_partial_type,C._redis_partial_path=k._redis_partial_path,ve.getSharedFormName(D)||Vl(D,i)||T!=null&&T.useLegacyForm||e!=null&&e.credential){if(T!=null&&T.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&k._supported_redis_partial_type){for(const B of C.fields)if(K(B)){G.push(B);continue}C.fields=C.fields.filter(B=>!K(B)),G.length&&C.fields.push({id:"_redis",fields:G,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path})}C.fields.sort((B,V)=>(B.order=B.order||0,V.order=V.order||0,B.order-V.order))}else{const B=[],V=[],z=[],ae=[],ce={};if(T!=null&&T.fieldRules){const R=[...T.fieldRules.atLeastOneOf??[],...T.fieldRules.onlyOneOf??[],...T.fieldRules.mutuallyRequired??[]];if(T.fieldRules.onlyOneOfMutuallyRequired)for(const q of T.fieldRules.onlyOneOfMutuallyRequired)R.push(...q);for(const q of R)for(const X of q)ce[X.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const R of C.fields){if(e!=null&&e.enableRedisPartial&&k._supported_redis_partial_type&&K(R)){ae.push(R);continue}if(R.pinned){B.push(R);continue}if(R.required||ce[R.model]!==void 0){ce[R.model]===!1&&(ce[R.model]=!0),V.push(R);continue}z.push(R)}ae.length&&z.push({id:"_redis",fields:ae,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path,order:-1});const ee=Object.entries(ce).filter(([,R])=>!R).map(([R])=>R.replace(/-/g,".").replace(/_/g,"-"));ee.length>0&&console.warn(`Unknown checked fields for plugin ${D}: ${ee.join(", ")}`);const U=[];B.length>0&&U.push({fields:B.sort(Ll)}),(V.length>0||z.length>0)&&U.push({fields:V.sort(Fl),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:z.sort(Fl),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),C={groups:U}}return{schema:C,model:E,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=k=>Array.isArray(k.default)||k.default!=null&&typeof k.default!="object"&&k.default!=="function",d=(k,L,$,I,Y,j)=>{const N=c(k);return I[L]=N?k.default:null,k.id=L,k.model=L,k.fields&&k.type==="record"?f(k,L,$,I,Y,j):($[L]=k,v(k,I),j&&j[L]&&u($[L],j[L]),Y.fields.push(k)),$},u=(k,L)=>(L&&(Object.assign(k,L),L.label&&(k.label=L.label)),k),f=(k,L,$,I,Y,j)=>{k.fields.forEach(N=>{Object.keys(N).forEach(C=>{const E=N[C];$=d(E,L+"-"+C,$,I,Y,j)})})},p=(k,L)=>{k.type="input",k.inputType="hidden",k.styleClasses="kong-form-hidden-field-wrapper";const $=e==null?void 0:e.entityId;L[k.model]=$?{id:$}:null},m=k=>{k.type="input",k.inputType="number",k.between&&k.between.length===2&&(k.min=k.between[0],k.max=k.between[1])},h=k=>{Object.prototype.hasOwnProperty.call(k,"one_of")?(k.type="select",k.values=k.one_of,k.selectOptions={hideNoneSelectedText:!0}):(k.type="input",k.inputType="text")},y=k=>{k.type="checkbox",k.default=!0,k.required=!1},g=k=>{if(k.type="object-advanced",k.values.type==="array"){const{type:L}=k.values.elements||{};k.schema={fields:[{schema:{fields:[{...Te,model:k.model,valueArrayType:L==="integer"?"number":L||"string",inputAttributes:{...Te.inputAttributes,type:L==="integer"?"number":"text",inputMode:L==="integer"?"numeric":"text"}}]}}]}}else k.values.fields&&(k.schema={fields:[{type:"object",model:"object",schema:{fields:k.values.fields.map(L=>{const $=Object.keys(L)[0];return{model:$,type:"input",label:t($),placeholder:$,inputType:L[$].type}})}}]})},_=k=>k.fields.reduce((L,$)=>($.fields&&$.fields.forEach(I=>{L[I.model]=I}),$.model&&(L[$.model]=$),L),{}),w=(k,L)=>{if(!ve.customFields.includes(k.model))return;const $=_(k);ve.customFields.forEach(I=>{Object.keys($).forEach(Y=>{const j=c($[Y]);L[Y]=j?$[Y].default:null}),delete L[I]})},b=(k,L)=>k.inputType==="hidden"?"":o(t(k.label||L.replace(/_/g," "))),v=(k,L)=>{switch(w(k,L),k.type){case"foreign":p(k,L);break;case"number":m(k),k.attributes={step:"any"};break;case"integer":m(k);break;case"string":h(k);break;case"boolean":y(k);break;case"map":g(k);break}k.inputType==="foreign"&&p(k,L),k.label=b(k,k.model)};function P(k,L){if(L==null||L.type&&L.type!=="record"||typeof k!="object"||k==null)return k;const $={};for(const I of L.fields){const Y=Object.keys(I)[0],j=I[Y];j.type==="record"?$[Y]=P(k[Y],j):j.type==="array"&&Array.isArray(k[Y])&&j.elements.type==="record"?$[Y]=k[Y].map(N=>P(N,j.elements)):$[Y]=k[Y]}return $}return{buildFormSchema:d,parseSchema:s,customSchemas:a,typedefs:wn,pruneRecord:P}},useExperimentalFreeForms:Ml,useProvideExperimentalFreeForms:Nm},Ge="/v2/control-planes/{controlPlaneId}/core-entities",We="/{workspace}",$e={list:{konnect:{all:`${Ge}/plugins`,forEntity:`${Ge}/{entityType}/{entityId}/plugins`},kongManager:{all:`${We}/plugins`,forEntity:`${We}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ge}/v1/available-plugins`,streamingCustomPlugins:`${Ge}/custom-plugins`,schemaCustomPluginItem:`${Ge}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Ge}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${We}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ge}/plugins`,forEntity:`${Ge}/{entityType}/{entityId}/plugins`},edit:{all:`${Ge}/plugins/{id}`,forEntity:`${Ge}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ge}/{resourceEndpoint}`,edit:`${Ge}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ge}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ge}/{entity}/{id}`,entityGetAll:`${Ge}/{entity}?size=1000`},kongManager:{create:{all:`${We}/plugins`,forEntity:`${We}/{entityType}/{entityId}/plugins`},edit:{all:`${We}/plugins/{id}`,forEntity:`${We}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${We}/schemas/plugins/{plugin}`,credential:{create:`${We}/{resourceEndpoint}`,edit:`${We}/{resourceEndpoint}/{id}`},credentialSchema:`${We}/schemas/{plugin}`,validate:`${We}/schemas/plugins/validate`,entityGetOne:`${We}/{entity}/{id}`,entityGetAll:`${We}/{entity}`}},item:{konnect:{all:`${Ge}/plugins/{id}`,forEntity:`${Ge}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${We}/plugins/{id}`,forEntity:`${We}/{entityType}/{entityId}/plugins/{id}`}}},xm={key:0},Am=we(n.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const t=e,{formatPluginFieldLabel:o}=Oe.usePluginHelpers(),{i18n:{t:r}}=Oe.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>o(d)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=n.computed(()=>{const s=[];if(t.rules.atLeastOneOf)for(const c of t.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(t.rules.onlyOneOf)for(const c of t.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(t.rules.mutuallyRequired)for(const c of t.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const d=n.resolveComponent("KAlert");return n.openBlock(),n.createBlock(d,{class:"plugin-field-rule-alerts"},{default:n.withCtx(()=>[n.createElementVNode("ul",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.value,(u,f)=>(n.openBlock(),n.createElementBlock("li",{key:`simple-alert-${f}`},n.toDisplayString(u),1))),128)),t.rules.onlyOneOfMutuallyRequired&&t.rules.onlyOneOfMutuallyRequired.length>0?(n.openBlock(),n.createElementBlock("li",xm,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(t.rules.onlyOneOfMutuallyRequired,(u,f)=>(n.openBlock(),n.createElementBlock("div",{key:`only-one-mutually-alert-${f}`},[n.createElementVNode("div",null,n.toDisplayString(n.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),n.createElementVNode("ul",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u,(p,m)=>(n.openBlock(),n.createElementBlock("li",{key:`only-one-mutually-alert-${f}-combination-${m}`},n.toDisplayString(i(p)),1))),128))])]))),128))])):n.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);var Kl=typeof global=="object"&&global&&global.Object===Object&&global,Tm=typeof self=="object"&&self&&self.Object===Object&&self,mt=Kl||Tm||Function("return this")(),gt=mt.Symbol,Ul=Object.prototype,Pm=Ul.hasOwnProperty,Im=Ul.toString,Qn=gt?gt.toStringTag:void 0;function Om(e){var t=Pm.call(e,Qn),o=e[Qn];try{e[Qn]=void 0;var r=!0}catch{}var i=Im.call(e);return r&&(t?e[Qn]=o:delete e[Qn]),i}var $m=Object.prototype,Bm=$m.toString;function Dm(e){return Bm.call(e)}var Vm="[object Null]",Rm="[object Undefined]",ql=gt?gt.toStringTag:void 0;function Xt(e){return e==null?e===void 0?Rm:Vm:ql&&ql in Object(e)?Om(e):Dm(e)}function Jt(e){return e!=null&&typeof e=="object"}var Mm="[object Symbol]";function mi(e){return typeof e=="symbol"||Jt(e)&&Xt(e)==Mm}function jl(e,t){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=t(e[o],o,e);return i}var xt=Array.isArray,Gl=gt?gt.prototype:void 0,zl=Gl?Gl.toString:void 0;function Hl(e){if(typeof e=="string")return e;if(xt(e))return jl(e,Hl)+"";if(mi(e))return zl?zl.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function Qt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function Lm(e){return e}var Fm="[object AsyncFunction]",Km="[object Function]",Um="[object GeneratorFunction]",qm="[object Proxy]";function Wo(e){if(!Qt(e))return!1;var t=Xt(e);return t==Km||t==Um||t==Fm||t==qm}var gi=mt["__core-js_shared__"],Yl=function(){var e=/[^.]+$/.exec(gi&&gi.keys&&gi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function jm(e){return!!Yl&&Yl in e}var Gm=Function.prototype,zm=Gm.toString;function en(e){if(e!=null){try{return zm.call(e)}catch{}try{return e+""}catch{}}return""}var Hm=/[\\^$.*+?()[\]{}|]/g,Ym=/^\[object .+?Constructor\]$/,Wm=Function.prototype,Zm=Object.prototype,Xm=Wm.toString,Jm=Zm.hasOwnProperty,Qm=RegExp("^"+Xm.call(Jm).replace(Hm,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function eg(e){if(!Qt(e)||jm(e))return!1;var t=Wo(e)?Qm:Ym;return t.test(en(e))}function tg(e,t){return e==null?void 0:e[t]}function tn(e,t){var o=tg(e,t);return eg(o)?o:void 0}var hi=tn(mt,"WeakMap"),Wl=Object.create,ng=function(){function e(){}return function(t){if(!Qt(t))return{};if(Wl)return Wl(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}();function og(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)}function rg(e,t){var o=-1,r=e.length;for(t||(t=Array(r));++o<r;)t[o]=e[o];return t}var ig=800,ag=16,lg=Date.now;function sg(e){var t=0,o=0;return function(){var r=lg(),i=ag-(r-o);if(o=r,i>0){if(++t>=ig)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function cg(e){return function(){return e}}var Zo=function(){try{var e=tn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),dg=Zo?function(e,t){return Zo(e,"toString",{configurable:!0,enumerable:!1,value:cg(t),writable:!0})}:Lm,ug=sg(dg);function fg(e,t){for(var o=-1,r=e==null?0:e.length;++o<r&&t(e[o],o,e)!==!1;);return e}var pg=9007199254740991,mg=/^(?:0|[1-9]\d*)$/;function yi(e,t){var o=typeof e;return t=t??pg,!!t&&(o=="number"||o!="symbol"&&mg.test(e))&&e>-1&&e%1==0&&e<t}function Zl(e,t,o){t=="__proto__"&&Zo?Zo(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}function Xl(e,t){return e===t||e!==e&&t!==t}var gg=Object.prototype,hg=gg.hasOwnProperty;function _i(e,t,o){var r=e[t];(!(hg.call(e,t)&&Xl(r,o))||o===void 0&&!(t in e))&&Zl(e,t,o)}function eo(e,t,o,r){var i=!o;o||(o={});for(var a=-1,l=t.length;++a<l;){var s=t[a],c=void 0;c===void 0&&(c=e[s]),i?Zl(o,s,c):_i(o,s,c)}return o}var Jl=Math.max;function yg(e,t,o){return t=Jl(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=Jl(r.length-t,0),l=Array(a);++i<a;)l[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=o(l),og(e,this,s)}}var _g=9007199254740991;function bi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_g}function wi(e){return e!=null&&bi(e.length)&&!Wo(e)}var bg=Object.prototype;function Xo(e){var t=e&&e.constructor,o=typeof t=="function"&&t.prototype||bg;return e===o}function wg(e,t){for(var o=-1,r=Array(e);++o<e;)r[o]=t(o);return r}var Eg="[object Arguments]";function Ql(e){return Jt(e)&&Xt(e)==Eg}var es=Object.prototype,kg=es.hasOwnProperty,Cg=es.propertyIsEnumerable,Jo=Ql(function(){return arguments}())?Ql:function(e){return Jt(e)&&kg.call(e,"callee")&&!Cg.call(e,"callee")};function vg(){return!1}var ts=typeof he=="object"&&he&&!he.nodeType&&he,ns=ts&&typeof module=="object"&&module&&!module.nodeType&&module,Ng=ns&&ns.exports===ts,os=Ng?mt.Buffer:void 0,Sg=os?os.isBuffer:void 0,Ei=Sg||vg,xg="[object Arguments]",Ag="[object Array]",Tg="[object Boolean]",Pg="[object Date]",Ig="[object Error]",Og="[object Function]",$g="[object Map]",Bg="[object Number]",Dg="[object Object]",Vg="[object RegExp]",Rg="[object Set]",Mg="[object String]",Lg="[object WeakMap]",Fg="[object ArrayBuffer]",Kg="[object DataView]",Ug="[object Float32Array]",qg="[object Float64Array]",jg="[object Int8Array]",Gg="[object Int16Array]",zg="[object Int32Array]",Hg="[object Uint8Array]",Yg="[object Uint8ClampedArray]",Wg="[object Uint16Array]",Zg="[object Uint32Array]",Pe={};Pe[Ug]=Pe[qg]=Pe[jg]=Pe[Gg]=Pe[zg]=Pe[Hg]=Pe[Yg]=Pe[Wg]=Pe[Zg]=!0,Pe[xg]=Pe[Ag]=Pe[Fg]=Pe[Tg]=Pe[Kg]=Pe[Pg]=Pe[Ig]=Pe[Og]=Pe[$g]=Pe[Bg]=Pe[Dg]=Pe[Vg]=Pe[Rg]=Pe[Mg]=Pe[Lg]=!1;function Xg(e){return Jt(e)&&bi(e.length)&&!!Pe[Xt(e)]}function ki(e){return function(t){return e(t)}}var rs=typeof he=="object"&&he&&!he.nodeType&&he,to=rs&&typeof module=="object"&&module&&!module.nodeType&&module,Jg=to&&to.exports===rs,Ci=Jg&&Kl.process,kn=function(){try{var e=to&&to.require&&to.require("util").types;return e||Ci&&Ci.binding&&Ci.binding("util")}catch{}}(),is=kn&&kn.isTypedArray,as=is?ki(is):Xg,Qg=Object.prototype,eh=Qg.hasOwnProperty;function ls(e,t){var o=xt(e),r=!o&&Jo(e),i=!o&&!r&&Ei(e),a=!o&&!r&&!i&&as(e),l=o||r||i||a,s=l?wg(e.length,String):[],c=s.length;for(var d in e)(t||eh.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||yi(d,c)))&&s.push(d);return s}function ss(e,t){return function(o){return e(t(o))}}var th=ss(Object.keys,Object),nh=Object.prototype,oh=nh.hasOwnProperty;function cs(e){if(!Xo(e))return th(e);var t=[];for(var o in Object(e))oh.call(e,o)&&o!="constructor"&&t.push(o);return t}function vi(e){return wi(e)?ls(e):cs(e)}function rh(e){var t=[];if(e!=null)for(var o in Object(e))t.push(o);return t}var ih=Object.prototype,ah=ih.hasOwnProperty;function lh(e){if(!Qt(e))return rh(e);var t=Xo(e),o=[];for(var r in e)r=="constructor"&&(t||!ah.call(e,r))||o.push(r);return o}function Ni(e){return wi(e)?ls(e,!0):lh(e)}var sh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ch=/^\w*$/;function dh(e,t){if(xt(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||mi(e)?!0:ch.test(e)||!sh.test(e)||t!=null&&e in Object(t)}var no=tn(Object,"create");function uh(){this.__data__=no?no(null):{},this.size=0}function fh(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ph="__lodash_hash_undefined__",mh=Object.prototype,gh=mh.hasOwnProperty;function hh(e){var t=this.__data__;if(no){var o=t[e];return o===ph?void 0:o}return gh.call(t,e)?t[e]:void 0}var yh=Object.prototype,_h=yh.hasOwnProperty;function bh(e){var t=this.__data__;return no?t[e]!==void 0:_h.call(t,e)}var wh="__lodash_hash_undefined__";function Eh(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=no&&t===void 0?wh:t,this}function nn(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var r=e[t];this.set(r[0],r[1])}}nn.prototype.clear=uh,nn.prototype.delete=fh,nn.prototype.get=hh,nn.prototype.has=bh,nn.prototype.set=Eh;function kh(){this.__data__=[],this.size=0}function Qo(e,t){for(var o=e.length;o--;)if(Xl(e[o][0],t))return o;return-1}var Ch=Array.prototype,vh=Ch.splice;function Nh(e){var t=this.__data__,o=Qo(t,e);if(o<0)return!1;var r=t.length-1;return o==r?t.pop():vh.call(t,o,1),--this.size,!0}function Sh(e){var t=this.__data__,o=Qo(t,e);return o<0?void 0:t[o][1]}function xh(e){return Qo(this.__data__,e)>-1}function Ah(e,t){var o=this.__data__,r=Qo(o,e);return r<0?(++this.size,o.push([e,t])):o[r][1]=t,this}function At(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var r=e[t];this.set(r[0],r[1])}}At.prototype.clear=kh,At.prototype.delete=Nh,At.prototype.get=Sh,At.prototype.has=xh,At.prototype.set=Ah;var oo=tn(mt,"Map");function Th(){this.size=0,this.__data__={hash:new nn,map:new(oo||At),string:new nn}}function Ph(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function er(e,t){var o=e.__data__;return Ph(t)?o[typeof t=="string"?"string":"hash"]:o.map}function Ih(e){var t=er(this,e).delete(e);return this.size-=t?1:0,t}function Oh(e){return er(this,e).get(e)}function $h(e){return er(this,e).has(e)}function Bh(e,t){var o=er(this,e),r=o.size;return o.set(e,t),this.size+=o.size==r?0:1,this}function Mt(e){var t=-1,o=e==null?0:e.length;for(this.clear();++t<o;){var r=e[t];this.set(r[0],r[1])}}Mt.prototype.clear=Th,Mt.prototype.delete=Ih,Mt.prototype.get=Oh,Mt.prototype.has=$h,Mt.prototype.set=Bh;var Dh="Expected a function";function Si(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Dh);var o=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(Si.Cache||Mt),o}Si.Cache=Mt;var Vh=500;function Rh(e){var t=Si(e,function(r){return o.size===Vh&&o.clear(),r}),o=t.cache;return t}var Mh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lh=/\\(\\)?/g,Fh=Rh(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Mh,function(o,r,i,a){t.push(i?a.replace(Lh,"$1"):r||o)}),t});function tr(e){return e==null?"":Hl(e)}function Cn(e,t){return xt(e)?e:dh(e,t)?[e]:Fh(tr(e))}function nr(e){if(typeof e=="string"||mi(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function xi(e,t){t=Cn(t,e);for(var o=0,r=t.length;e!=null&&o<r;)e=e[nr(t[o++])];return o&&o==r?e:void 0}function ds(e,t,o){var r=e==null?void 0:xi(e,t);return r===void 0?o:r}function Ai(e,t){for(var o=-1,r=t.length,i=e.length;++o<r;)e[i+o]=t[o];return e}var us=gt?gt.isConcatSpreadable:void 0;function Kh(e){return xt(e)||Jo(e)||!!(us&&e&&e[us])}function Uh(e,t,o,r,i){var a=-1,l=e.length;for(o||(o=Kh),i||(i=[]);++a<l;){var s=e[a];o(s)?Ai(i,s):i[i.length]=s}return i}function qh(e){var t=e==null?0:e.length;return t?Uh(e):[]}function fs(e){return ug(yg(e,void 0,qh),e+"")}var Ti=ss(Object.getPrototypeOf,Object),jh="[object Object]",Gh=Function.prototype,zh=Object.prototype,ps=Gh.toString,Hh=zh.hasOwnProperty,Yh=ps.call(Object);function Wh(e){if(!Jt(e)||Xt(e)!=jh)return!1;var t=Ti(e);if(t===null)return!0;var o=Hh.call(t,"constructor")&&t.constructor;return typeof o=="function"&&o instanceof o&&ps.call(o)==Yh}function ms(e,t,o){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),o=o>i?i:o,o<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}function Zh(e,t,o){var r=e.length;return o=o===void 0?r:o,!t&&o>=r?e:ms(e,t,o)}var Xh="\\ud800-\\udfff",Jh="\\u0300-\\u036f",Qh="\\ufe20-\\ufe2f",ey="\\u20d0-\\u20ff",ty=Jh+Qh+ey,ny="\\ufe0e\\ufe0f",oy="\\u200d",ry=RegExp("["+oy+Xh+ty+ny+"]");function gs(e){return ry.test(e)}function iy(e){return e.split("")}var hs="\\ud800-\\udfff",ay="\\u0300-\\u036f",ly="\\ufe20-\\ufe2f",sy="\\u20d0-\\u20ff",cy=ay+ly+sy,dy="\\ufe0e\\ufe0f",uy="["+hs+"]",Pi="["+cy+"]",Ii="\\ud83c[\\udffb-\\udfff]",fy="(?:"+Pi+"|"+Ii+")",ys="[^"+hs+"]",_s="(?:\\ud83c[\\udde6-\\uddff]){2}",bs="[\\ud800-\\udbff][\\udc00-\\udfff]",py="\\u200d",ws=fy+"?",Es="["+dy+"]?",my="(?:"+py+"(?:"+[ys,_s,bs].join("|")+")"+Es+ws+")*",gy=Es+ws+my,hy="(?:"+[ys+Pi+"?",Pi,_s,bs,uy].join("|")+")",yy=RegExp(Ii+"(?="+Ii+")|"+hy+gy,"g");function _y(e){return e.match(yy)||[]}function by(e){return gs(e)?_y(e):iy(e)}function wy(e){return function(t){t=tr(t);var o=gs(t)?by(t):void 0,r=o?o[0]:t.charAt(0),i=o?Zh(o,1).join(""):t.slice(1);return r[e]()+i}}var Ey=wy("toUpperCase");function ky(e){return Ey(tr(e).toLowerCase())}function Cy(){this.__data__=new At,this.size=0}function vy(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o}function Ny(e){return this.__data__.get(e)}function Sy(e){return this.__data__.has(e)}var xy=200;function Ay(e,t){var o=this.__data__;if(o instanceof At){var r=o.__data__;if(!oo||r.length<xy-1)return r.push([e,t]),this.size=++o.size,this;o=this.__data__=new Mt(r)}return o.set(e,t),this.size=o.size,this}function vn(e){var t=this.__data__=new At(e);this.size=t.size}vn.prototype.clear=Cy,vn.prototype.delete=vy,vn.prototype.get=Ny,vn.prototype.has=Sy,vn.prototype.set=Ay;function Ty(e,t){return e&&eo(t,vi(t),e)}function Py(e,t){return e&&eo(t,Ni(t),e)}var ks=typeof he=="object"&&he&&!he.nodeType&&he,Cs=ks&&typeof module=="object"&&module&&!module.nodeType&&module,Iy=Cs&&Cs.exports===ks,vs=Iy?mt.Buffer:void 0,Ns=vs?vs.allocUnsafe:void 0;function Oy(e,t){if(t)return e.slice();var o=e.length,r=Ns?Ns(o):new e.constructor(o);return e.copy(r),r}function $y(e,t){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];t(l,o,e)&&(a[i++]=l)}return a}function Ss(){return[]}var By=Object.prototype,Dy=By.propertyIsEnumerable,xs=Object.getOwnPropertySymbols,Oi=xs?function(e){return e==null?[]:(e=Object(e),$y(xs(e),function(t){return Dy.call(e,t)}))}:Ss;function Vy(e,t){return eo(e,Oi(e),t)}var Ry=Object.getOwnPropertySymbols,As=Ry?function(e){for(var t=[];e;)Ai(t,Oi(e)),e=Ti(e);return t}:Ss;function My(e,t){return eo(e,As(e),t)}function Ts(e,t,o){var r=t(e);return xt(e)?r:Ai(r,o(e))}function Ly(e){return Ts(e,vi,Oi)}function Ps(e){return Ts(e,Ni,As)}var $i=tn(mt,"DataView"),Bi=tn(mt,"Promise"),Di=tn(mt,"Set"),Is="[object Map]",Fy="[object Object]",Os="[object Promise]",$s="[object Set]",Bs="[object WeakMap]",Ds="[object DataView]",Ky=en($i),Uy=en(oo),qy=en(Bi),jy=en(Di),Gy=en(hi),ht=Xt;($i&&ht(new $i(new ArrayBuffer(1)))!=Ds||oo&&ht(new oo)!=Is||Bi&&ht(Bi.resolve())!=Os||Di&&ht(new Di)!=$s||hi&&ht(new hi)!=Bs)&&(ht=function(e){var t=Xt(e),o=t==Fy?e.constructor:void 0,r=o?en(o):"";if(r)switch(r){case Ky:return Ds;case Uy:return Is;case qy:return Os;case jy:return $s;case Gy:return Bs}return t});var zy=Object.prototype,Hy=zy.hasOwnProperty;function Yy(e){var t=e.length,o=new e.constructor(t);return t&&typeof e[0]=="string"&&Hy.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Vs=mt.Uint8Array;function Vi(e){var t=new e.constructor(e.byteLength);return new Vs(t).set(new Vs(e)),t}function Wy(e,t){var o=t?Vi(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var Zy=/\w*$/;function Xy(e){var t=new e.constructor(e.source,Zy.exec(e));return t.lastIndex=e.lastIndex,t}var Rs=gt?gt.prototype:void 0,Ms=Rs?Rs.valueOf:void 0;function Jy(e){return Ms?Object(Ms.call(e)):{}}function Qy(e,t){var o=t?Vi(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var e_="[object Boolean]",t_="[object Date]",n_="[object Map]",o_="[object Number]",r_="[object RegExp]",i_="[object Set]",a_="[object String]",l_="[object Symbol]",s_="[object ArrayBuffer]",c_="[object DataView]",d_="[object Float32Array]",u_="[object Float64Array]",f_="[object Int8Array]",p_="[object Int16Array]",m_="[object Int32Array]",g_="[object Uint8Array]",h_="[object Uint8ClampedArray]",y_="[object Uint16Array]",__="[object Uint32Array]";function b_(e,t,o){var r=e.constructor;switch(t){case s_:return Vi(e);case e_:case t_:return new r(+e);case c_:return Wy(e,o);case d_:case u_:case f_:case p_:case m_:case g_:case h_:case y_:case __:return Qy(e,o);case n_:return new r;case o_:case a_:return new r(e);case r_:return Xy(e);case i_:return new r;case l_:return Jy(e)}}function w_(e){return typeof e.constructor=="function"&&!Xo(e)?ng(Ti(e)):{}}var E_="[object Map]";function k_(e){return Jt(e)&&ht(e)==E_}var Ls=kn&&kn.isMap,C_=Ls?ki(Ls):k_,v_="[object Set]";function N_(e){return Jt(e)&&ht(e)==v_}var Fs=kn&&kn.isSet,S_=Fs?ki(Fs):N_,x_=1,A_=2,T_=4,Ks="[object Arguments]",P_="[object Array]",I_="[object Boolean]",O_="[object Date]",$_="[object Error]",Us="[object Function]",B_="[object GeneratorFunction]",D_="[object Map]",V_="[object Number]",qs="[object Object]",R_="[object RegExp]",M_="[object Set]",L_="[object String]",F_="[object Symbol]",K_="[object WeakMap]",U_="[object ArrayBuffer]",q_="[object DataView]",j_="[object Float32Array]",G_="[object Float64Array]",z_="[object Int8Array]",H_="[object Int16Array]",Y_="[object Int32Array]",W_="[object Uint8Array]",Z_="[object Uint8ClampedArray]",X_="[object Uint16Array]",J_="[object Uint32Array]",xe={};xe[Ks]=xe[P_]=xe[U_]=xe[q_]=xe[I_]=xe[O_]=xe[j_]=xe[G_]=xe[z_]=xe[H_]=xe[Y_]=xe[D_]=xe[V_]=xe[qs]=xe[R_]=xe[M_]=xe[L_]=xe[F_]=xe[W_]=xe[Z_]=xe[X_]=xe[J_]=!0,xe[$_]=xe[Us]=xe[K_]=!1;function ro(e,t,o,r,i,a){var l,s=t&x_,c=t&A_,d=t&T_;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Qt(e))return e;var u=xt(e);if(u){if(l=Yy(e),!s)return rg(e,l)}else{var f=ht(e),p=f==Us||f==B_;if(Ei(e))return Oy(e,s);if(f==qs||f==Ks||p&&!i){if(l=c||p?{}:w_(e),!s)return c?My(e,Py(l,e)):Vy(e,Ty(l,e))}else{if(!xe[f])return i?e:{};l=b_(e,f,s)}}a||(a=new vn);var m=a.get(e);if(m)return m;a.set(e,l),S_(e)?e.forEach(function(g){l.add(ro(g,t,o,g,e,a))}):C_(e)&&e.forEach(function(g,_){l.set(_,ro(g,t,o,_,e,a))});var h=d?c?Ps:Ly:c?Ni:vi,y=u?void 0:h(e);return fg(y||e,function(g,_){y&&(_=g,g=e[_]),_i(l,_,ro(g,t,o,_,e,a))}),l}var Q_=1,eb=4;function Ri(e){return ro(e,Q_|eb)}function tb(e,t){return e!=null&&t in Object(e)}function nb(e,t,o){t=Cn(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var l=nr(t[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&bi(i)&&yi(l,i)&&(xt(e)||Jo(e)))}function ob(e,t){return e!=null&&nb(e,t,tb)}function rb(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function ib(e,t){return t.length<2?e:xi(e,ms(t,0,-1))}var ab="[object Map]",lb="[object Set]",sb=Object.prototype,cb=sb.hasOwnProperty;function js(e){if(e==null)return!0;if(wi(e)&&(xt(e)||typeof e=="string"||typeof e.splice=="function"||Ei(e)||as(e)||Jo(e)))return!e.length;var t=ht(e);if(t==ab||t==lb)return!e.size;if(Xo(e))return!cs(e).length;for(var o in e)if(cb.call(e,o))return!1;return!0}function Gs(e,t){return t=Cn(t,e),e=ib(e,t),e==null||delete e[nr(rb(t))]}function db(e){return Wh(e)?void 0:e}var ub=1,fb=2,pb=4,mb=fs(function(e,t){var o={};if(e==null)return o;var r=!1;t=jl(t,function(a){return a=Cn(a,e),r||(r=a.length>1),a}),eo(e,Ps(e),o),r&&(o=ro(o,ub|fb|pb,db));for(var i=t.length;i--;)Gs(o,t[i]);return o});function zs(e,t,o,r){if(!Qt(e))return e;t=Cn(t,e);for(var i=-1,a=t.length,l=a-1,s=e;s!=null&&++i<a;){var c=nr(t[i]),d=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var u=s[c];d=void 0,d===void 0&&(d=Qt(u)?u:yi(t[i+1])?[]:{})}_i(s,c,d),s=s[c]}return e}function gb(e,t,o){for(var r=-1,i=t.length,a={};++r<i;){var l=t[r],s=xi(e,l);o(s,l)&&zs(a,Cn(l,e),s)}return a}function hb(e,t){return gb(e,t,function(o,r){return ob(e,r)})}var Mi=fs(function(e,t){return e==null?{}:hb(e,t)});function yb(e,t,o){return e==null?e:zs(e,t,o)}var _b=0;function Li(e){var t=++_b;return tr(e)+t}function Hs(e,t){return e==null?!0:Gs(e,t)}const{t:Nn}=Ke.createI18n("en-us",je);function Fi(e){return e.map(t=>({value:t,label:t}))}const Ki="*",Ys="$",Ws=".";function lt(...e){return e.join(Ws)}function Ui(...e){return lt(Ys,...e)}function Zs(e){return e.startsWith(lt(Ys,""))}function Sn(e){return e.split(Ws).filter(t=>t!=="")}function qi(e){const t=Sn(e);return t[t.length-1]}const bb=e=>{var t,o;return e.type==="redis-ce"?Nn("redis.shared_configuration.type_label.host_port"):(t=e.config.sentinel_nodes)!=null&&t.length?Nn("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?Nn("redis.shared_configuration.type_label.cluster"):Nn("redis.shared_configuration.type_label.host_port")},wb={"redis-ce":Nn("redis.shared_configuration.open_source"),"redis-ee":Nn("redis.shared_configuration.enterprise")},Eb=e=>wb[e]??"";function kb(e,t){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return t.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function Cb(e){const t=n.toValue(e);return t?t.type==="set"&&t.elements.type==="string"&&!t.elements.one_of:!1}const Xs=Symbol("free-form-data"),Js=Symbol("free-form-schema"),Qs=Symbol("free-form-field-path"),ji=Symbol("free-form-field-renderer-slots"),or=Symbol("free-form-field-renderer-matchers-map"),ec=Symbol("free-form-config"),tc=Symbol("free-form-field-reset-label-path-setting"),xn="free-form-field-renderers-slot",vb={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function Gi(e,t=""){const o={},r=e;if(Array.isArray(r.fields))for(const i of r.fields){const a=Object.keys(i)[0],l=i[a],s=t?lt(t,a):a;if(o[s]=l,l.type==="record"&&Array.isArray(l.fields)){const c=Gi(l,s);Object.assign(o,c)}else if(l.type==="array"&&l.elements){const c=l.elements,d=lt(s,Ki);if(o[d]=c,c.type==="record"&&Array.isArray(c.fields)){const u=Gi(c,d);Object.assign(o,u)}}}return o}function zi(e){const t=Sn(e).map(o=>/^\d+$/.test(o)?Ki:o);return lt(...t)}function Nb(e){const t=n.toValue(e),o=n.computed(()=>t?Gi(t):{});function r(u){var f;return u==null?t:(f=o.value)==null?void 0:f[zi(u)]}function i(u,f=!1){const p=r(u);return p?p.default!==void 0?p.default:f||p.required?p.type==="record"?a(p,u):p.type==="array"?[]:null:null:null}function a(u,f){const p={};if(Array.isArray(u.fields))for(const m of u.fields){const h=Object.keys(m)[0],y=f?`${f}.${h}`:h,g=i(y,!1);g!==void 0&&(p[h]=g)}return p}function l(u){return u?i(u,!0):a(r(),"")}function s(u){const f=r(u),p=f!=null&&f.description?qo.marked.parse(f.description,{async:!1}):void 0;return{...vb,"data-testid":`ff-label-${u}`,info:p}}function c(u){var p;const f=r(u);return Fi((f==null?void 0:f.one_of)||((p=f.elements)==null?void 0:p.one_of)||[])}function d(u){var m;const f=(m=r(u))==null?void 0:m.default;let p=null;if(f==null||typeof f=="object"||f==="")return null;if(Array.isArray(f)){if(f.length===0)return null;p=f.join(", ")}else p=f.toString();return`Default: ${p}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:d}}function Be(){const e=n.inject(Xs),t=n.inject(Js),o=n.inject(ec,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!t)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...t}}const nc=e=>{const t=n.inject(Qs,n.computed(()=>"")),o=n.computed(()=>{const r=n.toValue(e);let i=r;return!Zs(r)&&t.value&&(i=lt(t.value,r)),Zs(r)&&(i=i.slice(Ui("").length)),i});return n.provide(Qs,o),o},Sb=e=>{const{getSchema:t}=Be(),{default:o,...r}=n.useSlots(),i=n.inject(ji),a=n.inject(or),l=n.computed(()=>{const c=n.toValue(i),d=Object.keys(r).filter(u=>u!==xn&&u!=="item").reduce((u,f)=>{const p=zi(lt(n.toValue(e),f));return{...u,[p]:r[f]}},{});return c?{...c,...d}:d});n.provide(ji,l);const s=n.toValue(e);return n.computed(()=>{if(o)return;const c=l.value[zi(n.toValue(e))];if(c)return c;for(const[d,u]of a)if(d({path:s,schema:t(s)}))return u})},xb={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Ab(e){return xb[e.toLocaleLowerCase()]??e}function Tb(e,t){const o=n.inject(tc,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=n.toValue(o),a=n.ref(r?lt(r,e):e),l=n.ref({parentPath:a.value,isolate:i});return n.watch([n.toRef(t),n.toRef(o)],([s,c])=>{var p;const{parentPath:d,isolate:u}=c,f=d?lt(d,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=f,l.value.isolate=!1,l.value.parentPath=f}};(p=m[s])==null||p.call(m)}else u&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),n.provide(tc,l),a}function Pb(e){return Sn(e).map(o=>o.split("_").map(ky).map(Ab).join(" ")).join(" › ")}function Ib(e,t){const o=n.toValue(e),r=qi(o),{formConfig:i}=Be(),a=Tb(r,t),{getSchema:l}=Be(),s=oc(e);return n.computed(()=>{var p;const c=a.value??r,d=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,f=(d==null?void 0:d.type)==="array"?"":Pb(c);return i.transformLabel?i.transformLabel(f,o):f})}function Tt(e,t){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=Be(),a=n.toValue(e),l=n.toValue(t),s=Ib(e,n.toRef(()=>n.toValue(t).resetLabelPath));return n.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function Ob(e){var r;const t=Sn(e);let o={parent:null};for(t.pop();t.length;){const i=t.shift();o.path=(r=o.parent)!=null&&r.path?lt(o.parent.path,i):i,o={parent:o}}return o}function oc(e){return n.computed(()=>Ob(n.toValue(e)))}function rc(e){const{formData:t}=Be(),o=nc(e);return{value:n.computed({get:()=>ds(t,Sn(o.value)),set:i=>yb(t,Sn(o.value),i)})}}function st(e){const{getSchema:t}=Be(),o=nc(e),r=Sb(o),{value:i}=rc(e),a=n.computed(()=>t(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:oc(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Hi(e){const{getSchema:t}=Be(),o=n.useAttrs();return n.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=n.toValue(e).parent;return r!=null&&r.path?((i=t(r.path))==null?void 0:i.type)==="array":!1})}function ic(e,t){const o=n.reactive(new Map);function r(){return Li(`${e}-`)}function i(a,l){return a!=null&&typeof a=="object"?o.get(a):`${e}-${l}`}return n.watch(t,a=>{const l=n.toValue(a);l.forEach(c=>{o.has(c)||o.set(c,r())});const s=new Set(l);[...o.keys()].forEach(c=>{s.has(c)||o.delete(c)})},{immediate:!0,deep:!0}),{getKey:i}}const $b="__request_callout_";function ac(){return Li($b)}const io=n.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const o=e,r=t,i=n.computed(()=>o.multiline?Ie.KTextArea:Ie.KInput),a=n.ref(o.modelValue);n.watch(()=>o.modelValue,d=>{a.value=d});const{formConfig:l}=Be(),s=d=>{a.value=d,l.updateOnChange||r("update:modelValue",d)},c=()=>{l.updateOnChange&&r("update:modelValue",a.value)};return(d,u)=>(n.openBlock(),n.createBlock(n.unref(i),n.mergeProps(d.$attrs,{"model-value":d.modelValue,onChange:c,"onUpdate:modelValue":s}),n.createSlots({_:2},[n.renderList(n.useSlots(),(f,p)=>({name:p,fn:n.withCtx(m=>[n.renderSlot(d.$slots,p,n.normalizeProps(n.guardReactiveProps(m)))])}))]),1040,["model-value"]))}}),Bb=["innerHTML"],Pt=we(n.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=n.useAttrs(),{i18n:r}=Qe(),i=n.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=t,{value:l,...s}=st(n.toRef(()=>e.name)),c=Tt(s.path,n.toRef({...i,...o})),d=l==null?void 0:l.value;function u(_){d!==void 0&&_===""&&_!==d?(l.value=null,a("update:modelValue",null)):(l.value=_.trim(),a("update:modelValue",_.trim()))}const f=n.computed(()=>{var _;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((_=s.schema)==null?void 0:_.value).encrypted}),p=n.inject(ve.AUTOFILL_SLOT,void 0),m=n.computed(()=>{var _;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((_=s.schema.value)!=null&&_.referenceable)}),h=n.computed(()=>({referenceable:m.value})),y=Hi(s.ancestors),g=n.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:qi(e.name)==="name");return(_,w)=>{var v;const b=n.resolveComponent("KAlert");return s.error?(n.openBlock(),n.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",n.normalizeProps(n.mergeProps({key:1},_.$attrs)),[n.createVNode(io,n.mergeProps({...n.unref(c),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":n.unref(y),"data-testid":`ff-${s.path.value}`,"model-value":n.unref(l)??"",multiline:_.multiline,"onUpdate:modelValue":u}),n.createSlots({_:2},[(v=n.unref(c).labelAttributes)!=null&&v.info?{name:"label-tooltip",fn:n.withCtx(()=>[n.renderSlot(_.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(c).labelAttributes.info},null,8,Bb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value","multiline"]),n.unref(p)&&m.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(p)),{key:0,schema:h.value,update:u,value:n.unref(l)??""},null,8,["schema","value"])):n.createCommentVNode("",!0),m.value&&!n.unref(p)?(n.openBlock(),n.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:n.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):n.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-3e9674bf"]]),Db=["innerHTML"],lc=we(n.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const o=n.createPropsRestProxy(e,["name"]),{value:r,...i}=st(n.toRef(()=>e.name)),a=t,l=c=>{r.value=c,a("update:modelValue",c)},s=Tt(i.path,o);return(c,d)=>{var f;const u=n.resolveComponent("KAlert");return i.error?(n.openBlock(),n.createBlock(u,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(n.openBlock(),n.createBlock(n.unref(Ie.KCheckbox),n.mergeProps({key:1},n.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":n.unref(r)??!1,"onUpdate:modelValue":l}),n.createSlots({_:2},[(f=n.unref(s).labelAttributes)!=null&&f.info?{name:"tooltip",fn:n.withCtx(()=>[n.renderSlot(c.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(s).labelAttributes.info},null,8,Db)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),sc=we(n.defineComponent({__name:"SlideTransition",setup(e){const t=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(t.map(p=>[p,""])),r=Object.fromEntries(t.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(t.map(h=>[h,m.getPropertyValue(h)]))}function a(p){["overflow","transition",...t].forEach(m=>p.style.removeProperty(m))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const m=p;Object.assign(m.style,o);const h=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(p){a(p)}function d(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function u(p){Object.assign(p.style,r)}function f(p){a(p)}return(p,m)=>(n.openBlock(),n.createBlock(n.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:f,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:u},{default:n.withCtx(()=>[n.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),Vb=["data-testid"],Rb=["data-testid"],Mb=["data-testid"],Lb=["innerHTML"],Fb={class:"ff-object-field-actions"},Kb=["data-testid"],ct=we(n.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:n.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){n.useSlots();const t=n.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=st(n.toRef(t,"name")),{getSchema:i,getDefault:a}=Be(),l=n.useModel(e,"added"),s=n.useModel(e,"expanded"),c=n.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=n.computed(()=>{var g,_;if((g=r.ancestors)!=null&&g.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((_=i(w.path))==null?void 0:_.type)==="array"}return!1}),u=n.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),f=Tt(r.path,n.toRef(()=>({required:e.required,...t,resetLabelPath:u.value}))),p=n.computed(()=>f.value.required?!0:l.value??e.defaultAdded),m=n.computed(()=>e.asChild!==void 0?e.asChild:d.value),h=n.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(_=>!e.omit.includes(Object.keys(_)[0]))),e.fieldsOrder?g.sort((_,w)=>{const b=Object.keys(_)[0],v=Object.keys(w)[0],P=e.fieldsOrder.indexOf(b),k=e.fieldsOrder.indexOf(v);return P===-1&&k===-1?0:P===-1?1:k===-1?-1:P-k}):g});function y(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return n.watch(p,g=>{e.collapsible&&(s.value=g)}),n.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,_)=>{var b;const w=n.resolveComponent("KAlert");return n.openBlock(),n.createElementBlock(n.Fragment,null,[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(g.$slots[n.unref(xn)]))),r.error?(n.openBlock(),n.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(n.openBlock(),n.createElementBlock("div",n.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[n.renderSlot(g.$slots,"default",{},()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(h.value,v=>(n.openBlock(),n.createBlock(ze,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],16,Vb)):(n.openBlock(),n.createElementBlock("div",n.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[n.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[n.createVNode(n.unref(Ie.KLabel),n.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...n.unref(f),required:!1},{"tooltip-attributes":n.unref(f).labelAttributes.tooltipAttributes}),n.createSlots({default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(f).label)+" ",1)]),_:2},[(b=n.unref(f).labelAttributes)!=null&&b.info?{name:"tooltip",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(f).labelAttributes.info},null,8,Lb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),n.createElementVNode("div",Fb,[g.collapsible&&p.value?(n.openBlock(),n.createBlock(n.unref(Ie.KButton),{key:0,appearance:"tertiary",class:n.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:_[0]||(_[0]=v=>s.value=!c.value)},{default:n.withCtx(()=>[p.value?(n.openBlock(),n.createBlock(n.unref(Ee.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):n.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):n.createCommentVNode("",!0),n.unref(f).required?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(n.unref(Ie.KButton),{key:1,appearance:"tertiary",class:n.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:y},{default:n.withCtx(()=>[p.value?(n.openBlock(),n.createBlock(n.unref(Ee.TrashIcon),{key:0})):(n.openBlock(),n.createBlock(n.unref(Ee.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,Mb),n.createVNode(sc,null,{default:n.withCtx(()=>[c.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[n.renderSlot(g.$slots,"default",{},()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(h.value,v=>(n.openBlock(),n.createBlock(ze,{key:Object.keys(v)[0],name:Object.keys(v)[0]},null,8,["name"]))),128))],!0)],8,Kb)):n.createCommentVNode("",!0)]),_:3})],16,Rb))],64)}}}),[["__scopeId","data-v-21f3af99"]]),Ub=["innerHTML"],An=we(n.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=n.createPropsRestProxy(e,["name"]),{value:r,...i}=st(n.toRef(()=>e.name)),a=Tt(i.path,o),l=n.computed(()=>{var y;const p=(y=i.schema)==null?void 0:y.value;if(p.gt)return{min:p.gt};const[m,h]=p.between??[];return{min:o.min??m,max:o.max??h}}),s=t,c=r.value,d=n.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function u(p){c!==void 0&&p===""&&Number(p)!==c?(r.value=null,s("update:modelValue",null)):(r.value=p===""?null:Number(p),s("update:modelValue",p===""?null:Number(p)))}const f=Hi(i.ancestors);return(p,m)=>{var y;const h=n.resolveComponent("KAlert");return i.error?(n.openBlock(),n.createBlock(h,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(n.openBlock(),n.createBlock(io,n.mergeProps({key:1,class:"ff-number-field"},{...n.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":n.unref(f),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:"number","onUpdate:modelValue":u}),n.createSlots({_:2},[(y=n.unref(a).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:n.withCtx(()=>[n.renderSlot(p.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(a).labelAttributes.info},null,8,Ub)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-296fb1b7"]]),qb=["innerHTML"],yt=we(n.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},multiple:{type:Boolean,default:()=>{}},items:{},placeholder:{}},setup(e){const t=n.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:o}=Be(),{value:r,...i}=st(n.toRef(()=>e.name)),a=Tt(i.path,t),l=n.computed(()=>e.items?e.items:i.path?o(i.path.value):[]),s=n.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=i.schema.value)==null?void 0:d.type)==="set"}),c=n.computed(()=>s.value?Ie.KMultiselect:Ie.KSelect);return(d,u)=>{var p;const f=n.resolveComponent("KAlert");return i.error?(n.openBlock(),n.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(n.openBlock(),n.createBlock(n.unref(c),n.mergeProps({key:1},n.unref(a),{modelValue:n.unref(r),"onUpdate:modelValue":u[0]||(u[0]=m=>n.isRef(r)?r.value=m:null),class:"ff-enum-field","data-testid":`ff-${i.path.value}`,items:l.value,"kpop-attributes":{"data-testid":`${i.path.value}-items`}}),n.createSlots({_:2},[(p=n.unref(a).labelAttributes)!=null&&p.info?{name:"label-tooltip",fn:n.withCtx(()=>[n.renderSlot(d.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(a).labelAttributes.info},null,8,qb)],!0)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-181f0d06"]]);function Yi(e,t){const{value:o,...r}=st(n.toRef(e,"name")),i=Tt(r.path,n.toRef({...e,...n.useAttrs()})),a=n.ref(s(e.initialValue??(o==null?void 0:o.value)??{}));function l(){return Li("ff-kv-field-")}function s(m){return Object.entries(m).map(([h,y])=>({id:l(),key:h,value:y}))}function c(){a.value.push({id:l(),key:e.defaultKey||"",value:e.defaultValue||""})}function d(m){const h=a.value.findIndex(y=>y.id===m);h!==-1&&a.value.splice(h,1)}function u(){const m=Object.fromEntries(a.value.map(({key:h,value:y})=>[h,y]).filter(([h])=>h));o.value=m,t("change",m)}function f(){a.value=s(e.initialValue||{})}function p(m){a.value=s(m)}return n.watch(a,u,{deep:!0}),{entries:a,addEntry:c,removeEntry:d,reset:f,setValue:p,labelAttrs:i,field:r}}const jb=["data-testid"],Gb=["data-testid"],zb=["innerHTML"],Hb=["data-testid"],Yb=we(n.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}}},emits:["change"],setup(e,{expose:t,emit:o}){const r=n.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Qe(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:d,setValue:u,labelAttrs:f,field:p}=Yi(r,a),m=n.useTemplateRef("root");async function h(P,k="key"){var L;m.value&&(await n.nextTick(),(L=m.value.querySelector(`[data-${k}-input="${P}"]`))==null||L.focus())}function y(){s();const P=l.value.findIndex(({key:k})=>!k);h(P===-1?l.value.length-1:P)}function g(P){P===l.value.length-1&&s(),h(P+1)}const _=n.inject(ve.AUTOFILL_SLOT,void 0),w=n.computed(()=>{var P,k;return e.showVaultSecretPicker??!!((k=(P=p.schema.value)==null?void 0:P.values)!=null&&k.referenceable)}),b=n.computed(()=>({referenceable:w.value}));function v(P,k){l.value[P].value=k}return t({reset:d,setValue:u}),(P,k)=>{var Y;const L=n.resolveComponent("KAlert"),$=n.resolveComponent("KLabel"),I=n.resolveComponent("KButton");return n.unref(p).error?(n.openBlock(),n.createBlock(L,{key:0,appearance:"danger",message:n.unref(p).error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${n.unref(p).path.value}`},[n.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${n.unref(p).path.value}`},[n.createVNode($,n.mergeProps({class:"ff-kv-field-label"},n.unref(f),{"data-testid":`ff-label-${n.unref(p).path.value}`,"tooltip-attributes":n.unref(f).labelAttributes.tooltipAttributes}),n.createSlots({default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(f).label)+" ",1)]),_:2},[(Y=n.unref(f).labelAttributes)!=null&&Y.info?{name:"tooltip",fn:n.withCtx(()=>[n.renderSlot(P.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(f).labelAttributes.info},null,8,zb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),n.createVNode(I,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${n.unref(p).path.value}`,icon:"",onClick:y},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon))]),_:1},8,["data-testid"])],8,Gb),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(l),(j,N)=>(n.openBlock(),n.createElementBlock("div",{key:j.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${n.unref(p).path.value}.${N}`},[n.createVNode(io,{modelValue:j.key,"onUpdate:modelValue":C=>j.key=C,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":N,"data-testid":`ff-key-${n.unref(p).path.value}.${N}`,placeholder:P.keyPlaceholder||"Key",onKeydown:n.withKeys(n.withModifiers(C=>h(N,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),n.createVNode(io,{modelValue:j.value,"onUpdate:modelValue":C=>j.value=C,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${n.unref(p).path.value}.${N}`,"data-value-input":N,placeholder:P.valuePlaceholder||"Value",onKeydown:n.withKeys(n.withModifiers(C=>g(N),["prevent"]),["enter"])},{after:n.withCtx(()=>[n.unref(_)&&w.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(_)),{key:0,schema:b.value,update:C=>v(N,C),value:j.value},null,8,["schema","update","value"])):n.createCommentVNode("",!0),w.value&&!n.unref(_)?(n.openBlock(),n.createBlock(L,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${n.unref(p).path.value}`,message:n.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):n.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),n.createVNode(I,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${n.unref(p).path.value}.${N}`,icon:"",onClick:C=>n.unref(c)(j.id)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,Hb))),128))],8,jb))}}}),[["__scopeId","data-v-92e0893d"]]),Wb=["data-testid"],Zb=["innerHTML"],cc=we(n.defineComponent({inheritAttrs:!1,__name:"TagField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},type:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=n.useAttrs(),r=n.createPropsRestProxy(e,["name"]),i=t,{value:a,...l}=st(n.toRef(()=>e.name)),s=Tt(l.path,n.toRef({...r,...o})),c=n.computed(()=>{var y,g;return((g=(y=l.schema)==null?void 0:y.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),d=n.ref("");function u(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function f(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=f(y),_=!g.length&&c.value?null:g;a.value=_,i("update:modelValue",_)}const m=Hi(l.ancestors),h=n.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:qi(e.name)==="name");return n.watch(a,y=>{const g=y?u(y):"";u(f(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var w;const _=n.resolveComponent("KAlert");return l.error?(n.openBlock(),n.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[n.createVNode(io,n.mergeProps(n.unref(s),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":n.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":p}),n.createSlots({_:2},[(w=n.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:n.withCtx(()=>[n.renderSlot(y.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(s).labelAttributes.info},null,8,Zb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Wb))}}}),[["__scopeId","data-v-43602ab3"]]),ze=n.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const t=e,o=st(n.toRef(t,"name")),r=n.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?yt:Pt;case"boolean":return"one_of"in o.schema.value?yt:lc;case"number":case"integer":return"one_of"in o.schema.value?yt:An;case"array":return Wi;case"set":return Cb(o.schema)?cc:yt;case"record":return ct;case"map":return Yb;default:return}});return(i,a)=>{const l=n.resolveComponent("KAlert");return n.openBlock(),n.createElementBlock(n.Fragment,null,[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(i.$slots[n.unref(xn)]))),n.unref(o).error?(n.openBlock(),n.createBlock(l,{key:0,appearance:"danger",message:n.unref(o).error.message},null,8,["message"])):n.unref(o).renderer.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(o).renderer.value),{key:1,name:Ui(n.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[r.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.value),{key:0,name:Ui(n.unref(o).path.value)},null,8,["name"])):(n.openBlock(),n.createBlock(l,{key:1,appearance:"warning",message:`${n.unref(o).path.value} ${n.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),n.renderSlot(i.$slots,"default")],64))],64)}}}),Xb=["data-testid"],Jb=["data-testid"],Qb=["innerHTML"],e0=["data-testid"],t0={class:"ff-array-field-item-content"},n0=["data-index","data-testid"],Wi=we(n.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:t}){var v;n.useCssVars(P=>({"6954cf1c":b.value}));const o=e,r=t,{i18n:{t:i}}=Qe(),{getDefault:a}=Be(),{value:l,...s}=st(n.toRef(o,"name")),c=Tt(s.path,n.toRef({...o,...n.useAttrs()})),d=n.computed(()=>o.items??n.toValue(l)??[]),{getKey:u}=ic("ff-array-field",d),f=n.computed(()=>o.appearance==="card"?Ie.KCard:"div");function p(P,k){return typeof o.itemLabel=="function"?o.itemLabel(P,k):o.itemLabel||c.value.label||`Item #${k}`}const m=n.computed(()=>d.value.map((P,k)=>({hash:`#${u(P,k)}`,title:""}))),h=n.ref((v=m.value[0])==null?void 0:v.hash),y=async()=>{var k;const P=a(lt(s.path.value,Ki));Array.isArray(l.value)||(l.value=[]),l.value.push(P),r("add"),o.appearance==="tabs"&&(await n.nextTick(),h.value=(k=m.value[m.value.length-1])==null?void 0:k.hash),await n.nextTick(),w(d.value.length+1)},g=async P=>{var k;Array.isArray(l.value)&&l.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(h.value=(k=m.value[Math.max(0,P-1)])==null?void 0:k.hash)},_=n.useTemplateRef("root");function w(P){var L;if(!_.value)return;const k=Math.max(0,Math.min(P,d.value.length-1));(L=_.value.querySelector(`[data-index="${k}"] [data-autofocus]`))==null||L.focus()}const b=n.computed(()=>{const{appearance:P,stickyTabs:k}=o;return P!=="tabs"||k==null||k===!1?null:typeof k=="number"?`${o.stickyTabs}px`:typeof k=="string"?k:"0"});return(P,k)=>{var j;const L=n.resolveComponent("KAlert"),$=n.resolveComponent("KLabel"),I=n.resolveComponent("KButton"),Y=n.resolveComponent("KTabs");return s.error?(n.openBlock(),n.createBlock(L,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"root",ref:_,class:n.normalizeClass(["ff-array-field",{[`ff-array-field-${P.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":P.stickyTabs}]),"data-testid":`ff-array-${s.path.value}`},[n.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${s.path.value}`},[n.createVNode($,n.mergeProps({class:"ff-array-field-label"},n.unref(c),{"data-testid":`ff-label-${s.path.value}`,"tooltip-attributes":n.unref(c).labelAttributes.tooltipAttributes}),n.createSlots({default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(c).label)+" ",1)]),_:2},[(j=n.unref(c).labelAttributes)!=null&&j.info?{name:"tooltip",fn:n.withCtx(()=>[n.renderSlot(P.$slots,"tooltip",{},()=>[n.createElementVNode("div",{innerHTML:n.unref(c).labelAttributes.info},null,8,Qb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),n.createVNode(I,{appearance:"tertiary","aria-label":n.unref(i)("actions.add_entity",{entity:n.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${s.path.value}`,icon:"",onClick:y},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Jb),d.value.length?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[P.appearance!=="tabs"?(n.openBlock(),n.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${s.path.value}`},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d.value,(N,C)=>(n.openBlock(),n.createBlock(n.unref(f),{key:n.unref(u)(N,C),class:"ff-array-field-item","data-index":C,"data-testid":`ff-array-item-${s.path.value}.${C}`},{default:n.withCtx(()=>[n.createElementVNode("div",t0,[P.$slots.item?n.renderSlot(P.$slots,"item",{key:0,fieldName:String(C),index:C},void 0,!0):(n.openBlock(),n.createBlock(ze,{key:1,name:String(C)},null,8,["name"]))]),n.createVNode(I,{appearance:"tertiary","aria-label":n.unref(i)("actions.remove_entity",{entity:n.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${s.path.value}.${C}`,icon:"",onClick:E=>g(C)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,e0)):(n.openBlock(),n.createBlock(n.unref(Ie.KCard),{key:1,"data-testid":`ff-array-tab-container-${s.path.value}`},{default:n.withCtx(()=>[n.createVNode(Y,{modelValue:h.value,"onUpdate:modelValue":k[0]||(k[0]=N=>h.value=N),"data-testid":`ff-array-tabs-${s.path.value}`,tabs:m.value},n.createSlots({_:2},[n.renderList(d.value,(N,C)=>({name:n.unref(u)(N,C),fn:n.withCtx(()=>[n.createElementVNode("div",{class:"ff-array-field-item","data-index":C,"data-testid":`ff-array-item-${s.path.value}.${C}`},[P.$slots.item?n.renderSlot(P.$slots,"item",{key:0,fieldName:String(C),index:C},void 0,!0):(n.openBlock(),n.createBlock(ze,{key:1,name:String(C)},null,8,["name"]))],8,n0)])})),n.renderList(d.value,(N,C)=>({name:`${n.unref(u)(N,C)}-anchor`,fn:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(p(N,C))+" ",1),n.createVNode(I,{appearance:"tertiary","aria-label":n.unref(i)("actions.remove_entity",{entity:n.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${s.path.value}.${C}`,icon:"",onClick:n.withModifiers(E=>g(C),["stop"])},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):n.createCommentVNode("",!0)],10,Xb))}}}),[["__scopeId","data-v-463d07bb"]]),ao=Symbol(),o0=n.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const t=e,{formData:o}=Be(),r=n.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[t.index])==null?void 0:c.name)})}),i=n.computed(()=>r.value.map(({[ao]:l,name:s})=>({value:l,label:s}))),a=n.computed(()=>o.config.callouts[t.index]);return n.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(n.openBlock(),n.createBlock(ct,{name:l.fieldName},{depends_on:n.withCtx(c=>[n.createVNode(yt,n.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:n.withCtx(c=>[n.createVNode(ct,n.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:n.withCtx(d=>[n.createVNode(yt,n.mergeProps(d,{items:n.unref(Fi)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),r0=n.defineComponent({__name:"CalloutsForm",setup(e){const{formData:t,getDefault:o}=Be();function r(){const i=o("config.callouts.*");i.request.body.custom=i.request.body.custom??{};const a=t.config.callouts[t.config.callouts.length-1];a&&(a[ao]=ac())}return(i,a)=>(n.openBlock(),n.createBlock(Wi,{appearance:"tabs","item-label":l=>l.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:r},{item:n.withCtx(({index:l,fieldName:s})=>[n.createVNode(o0,{"field-name":s,index:l},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),dc=n.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const t=e,{default:o}=n.useSlots(),r=n.inject(or);if(!r)throw new Error(or.toString()+"not provided");return o&&r.set(t.match,o),(i,a)=>null}}),_t=n.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:t,emit:o}){const r=o,i=n.useSlots(),a=Nb(e.schema);n.provide(Js,a);const l=m=>{var h;return Wo((h=e.config)==null?void 0:h.hasValue)?e.config.hasValue(m):!!m},s=n.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((h,y)=>{const g=Object.keys(h)[0],_=Object.keys(y)[0],w=e.fieldsOrder.indexOf(g),b=e.fieldsOrder.indexOf(_);return w===-1&&b===-1?0:w===-1?1:b===-1?-1:w-b}):m});let c=!1;const d=n.reactive({});n.provide(Xs,d),n.provide(ji,mb(i,"default",xn));const u=new Map;n.provide(or,u),n.provide(ec,e.config??{}),n.watch(d,m=>{c&&r("change",n.toValue(m))},{deep:!0,immediate:!0});function f(m){Object.keys(d).forEach(h=>{delete d[h]}),Object.assign(d,m)}function p(m){var y;let h;!m||!l(n.toValue(m))?h=a.getDefault():h=Ri(n.toValue(m)),Wo((y=e.config)==null?void 0:y.prepareFormData)?f(e.config.prepareFormData(h)):f(h),c=!0}return n.onBeforeMount(()=>{p(e.data)}),n.watch(()=>e.data,m=>{p(m)},{deep:!0}),t({getInnerData:()=>n.toRaw(d)}),(m,h)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(m.tag),null,{default:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(i)[n.unref(xn)]))),n.renderSlot(m.$slots,"default",{},()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.value,y=>(n.openBlock(),n.createBlock(ze,{key:Object.keys(y)[0],name:Object.keys(y)[0],onGlobalAction:h[0]||(h[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),i0={class:"ff-advanced-fields"},uc=we(n.defineComponent({__name:"AdvancedFields",setup(e){const{t}=Ke.createI18n("en-us",je),{getSchema:o}=Be(),r=n.ref(!0);return(i,a)=>(n.openBlock(),n.createBlock(n.unref(Ie.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"trigger-label":r.value?n.unref(t)("plugins.form.grouping.advanced_parameters.view"):n.unref(t)("plugins.form.grouping.advanced_parameters.hide")},{default:n.withCtx(()=>[n.createElementVNode("div",i0,[n.unref(o)("instance_name")?(n.openBlock(),n.createBlock(ze,{key:0,name:"instance_name"})):n.createCommentVNode("",!0),n.unref(o)("protocols")?(n.openBlock(),n.createBlock(ze,{key:1,name:"protocols"})):n.createCommentVNode("",!0),n.unref(o)("tags")?(n.openBlock(),n.createBlock(cc,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:n.unref(t)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):n.createCommentVNode("",!0),n.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-190b1d21"]]),a0=n.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:t}){const o=t,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Qe();function a(d,u=!1){return d.reduce((f,{[ao]:p,name:m})=>(u?f[m]=p:f[p]=m,f),{})}function l(d){var m;const u=Ri(d);if(!((m=u.config)!=null&&m.callouts))return u;const{callouts:f}=u.config;f.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[ao]=ac()});const p=a(f,!0);return f.forEach(h=>{h.depends_on=h.depends_on.map(y=>p[y])}),u}function s(d){return!!(d!=null&&d.config)}function c(d){var p;if(!d)return;const u=Ri(d);if(!((p=u.config)!=null&&p.callouts))throw new Error("data is not correct");const f=a(u.config.callouts);u.config.callouts=u.config.callouts.map(m=>{const{[ao]:h,depends_on:y,...g}=m;return{depends_on:y.map(_=>f[_]).filter(_=>_!=null),...g}}),o("change",u)}return(d,u)=>(n.openBlock(),n.createBlock(_t,{class:"rc-config-form",config:r,data:d.data,schema:d.schema,tag:"div",onChange:c},{[n.unref(xn)]:n.withCtx(()=>[n.createVNode(dc,{match:({path:f})=>f.endsWith("by_lua")},{default:n.withCtx(f=>[n.createVNode(Pt,n.mergeProps(f,{autosize:"",class:"rc-code",multiline:"",placeholder:n.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),n.createVNode(dc,{match:({path:f})=>["cluster_nodes","sentinel_nodes"].some(p=>f.endsWith(p))},{default:n.withCtx(f=>[n.createVNode(Wi,n.mergeProps(f,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:n.withCtx(()=>[n.createVNode(ct,{"as-child":"",name:"config","reset-label-path":"reset"},{default:n.withCtx(()=>[n.createVNode(r0),n.createVNode(ct,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),n.createVNode(ct,{appearance:"card",name:"cache"},{redis:n.withCtx(f=>[n.createVNode(ct,n.mergeProps(f,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}),n.createVNode(uc)]),_:2},1032,["data","schema"]))}}),l0={class:"sc-form-pinned-fields"},s0={class:"sc-form-config-form"},fc=we(n.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t}=Ke.createI18n("en-us",je),o=e;n.useSlots();function r(u){return n.computed(()=>({fields:n.toValue(u).map(f=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===f)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=n.computed(()=>{const u=o.schema;u.fields=u.fields.filter(p=>l.includes(Object.keys(p)[0])),u.fields.unshift({instance_name:{type:"string",description:t("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:t("plugins.form.fields.tags.help"),elements:{type:"string"}}});const f=u.fields.find(p=>Object.keys(p)[0]==="protocols");return f&&(f.protocols.help=f.protocols.default?t("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:f.protocols.default.join(", ")}):t("plugins.form.fields.protocols.placeholder"),f.protocols.description=t("plugins.form.fields.protocols.help")),u}),c=n.ref(!1);function d(u){return Mi(u,["config","instance_name","partials","protocols","tags"])}return(u,f)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("div",l0,[n.createVNode(n.unref(ve.VueFormGenerator),{model:u.formModel,options:u.formOptions,schema:n.unref(a),onModelUpdated:u.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),n.createVNode(n.unref(Ie.KCollapse),{modelValue:c.value,"onUpdate:modelValue":f[1]||(f[1]=p=>c.value=p),class:"sc-form-config-fields"},{title:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("plugins.form.grouping.plugin_configuration.description")),1)]),default:n.withCtx(()=>[n.createElementVNode("div",s0,[n.renderSlot(u.$slots,"default",{data:d(u.model),schema:s.value,onChange:f[0]||(f[0]=(...p)=>u.onFormChange&&u.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-175fd883"]]),c0=n.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const t=e,o=n.useSlots();return n.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(n.openBlock(),n.createBlock(fc,n.normalizeProps(n.guardReactiveProps(t)),{default:n.withCtx(a=>[n.createVNode(a0,n.normalizeProps(n.guardReactiveProps(a)),null,16)]),_:1},16))}}),d0={key:1},u0=["innerHTML"],f0={class:"horizontal-container"},p0=we(n.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=t,r=n.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=Be(),a=st(n.toRef(()=>e.name)),l=Tt(a.path,r),s=n.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),o("update:modelValue",d)};return(d,u)=>{var m;const f=n.resolveComponent("KAlert"),p=n.resolveComponent("KLabel");return n.unref(a).error?(n.openBlock(),n.createBlock(f,{key:0,appearance:"danger",message:n.unref(a).error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",d0,[n.createVNode(p,n.normalizeProps(n.guardReactiveProps(n.unref(l).labelAttributes)),n.createSlots({default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(l).label)+" ",1)]),_:2},[(m=n.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:n.withCtx(()=>[n.createElementVNode("div",{innerHTML:n.unref(l).labelAttributes.info},null,8,u0)]),key:"0"}:void 0]),1040),n.createElementVNode("div",f0,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.value,h=>(n.openBlock(),n.createBlock(n.unref(Ie.KRadio),{key:h.value,"model-value":n.unref(a).value.value,"onUpdate:modelValue":[u[0]||(u[0]=y=>n.unref(a).value.value=y),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),m0={class:"sp-form-request-limits-subtitle"},g0={class:"sp-form-request-limits-content"},h0={class:"sp-form-window-type"},y0={class:"sp-form-request-limits-items"},_0={class:"sp-form-request-limits-row"},b0=["id"],w0={class:"sp-form-request-limits-actions"},E0={key:0,class:"sp-form-request-limits-examples"},k0={class:"sp-form-request-limits-examples-badges"},Zi="config.window_type",C0=we(n.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t}=Ke.createI18n("en-us",je),{formData:o,getSelectItems:r,getSchema:i}=Be(),a=n.computed(()=>{var w,b;const _=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((v,P)=>{var k,L;return{limit:v,windowSize:(L=(k=o.config)==null?void 0:k.window_size)==null?void 0:L[P]}});return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=ic("request-limits",a),s=_=>{var w,b;p.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(_+1,0,null),o.config.window_size.splice(_+1,0,null))},c=_=>{o.config&&(o.config.limit.splice(_,1),o.config.window_size.splice(_,1))},d=(g=i(Zi))==null?void 0:g.default,u=n.computed(()=>ds(o,Zi)),f=n.computed(()=>r(Zi).sort((_,w)=>_.value===d?-1:w.value===d?1:0)),p=n.ref(),m={fixed:[{label:t("sp.use_cases.fixed.hourly_500.label"),description:t("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:t("sp.use_cases.fixed.half_hourly_200.label"),description:t("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:t("sp.use_cases.fixed.daily_500.label"),description:t("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:t("sp.use_cases.sliding.hourly_100.label"),description:t("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:t("sp.use_cases.sliding.half_hourly_300.label"),description:t("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:t("sp.use_cases.sliding.hourly_500.label"),description:t("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},h=n.computed(()=>Object.prototype.hasOwnProperty.call(m,u.value)?m[u.value]:[]),y=(_,w)=>{if(w===p.value){n.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}n.nextTick(()=>{p.value=w}),o.config.limit=[_.config.limit],o.config.window_size=[_.config.window_size]};return(_,w)=>{const b=n.resolveComponent("KLabel"),v=n.resolveComponent("KButton"),P=n.resolveComponent("KBadge"),k=n.resolveComponent("KTooltip"),L=n.resolveComponent("KCard");return n.openBlock(),n.createBlock(L,{class:"sp-form-request-limits"},{title:n.withCtx(()=>[n.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("sp.request_limits.title")),1)]),_:1}),n.createElementVNode("div",m0,n.toDisplayString(n.unref(t)("sp.request_limits.subtitle")),1)]),default:n.withCtx(()=>[n.createElementVNode("div",g0,[n.createElementVNode("div",h0,[n.createVNode(p0,{items:f.value,label:n.unref(t)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=$=>p.value=void 0)},null,8,["items","label"])]),n.createElementVNode("div",y0,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.value,($,I)=>(n.openBlock(),n.createElementBlock("div",{key:n.unref(l)($,I)},[n.createVNode(b,{for:`sp-form-request-limits-item-${I}-legend`},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),n.createElementVNode("div",_0,[n.createElementVNode("legend",{id:`sp-form-request-limits-item-${I}-legend`,class:"sp-form-request-limits-inputs"},[n.createVNode(An,{name:`$.config.limit.${I}`,placeholder:n.unref(t)("sp.request_limits.request_number")},null,8,["name","placeholder"]),n.createElementVNode("div",null,n.toDisplayString(n.unref(t)("sp.request_limits.interval_determiner")),1),n.createVNode(An,{name:`$.config.window_size.${I}`,placeholder:n.unref(t)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),n.createElementVNode("div",null,n.toDisplayString(n.unref(t)("sp.request_limits.seconds")),1)],8,b0),n.createElementVNode("div",w0,[n.createVNode(v,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(I)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.RemoveIcon))]),_:2},1032,["disabled","onClick"]),n.createVNode(v,{appearance:"tertiary",onClick:()=>s(I)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),h.value.length>0?(n.openBlock(),n.createElementBlock("div",E0,[n.createElementVNode("div",null,n.toDisplayString(n.unref(t)("sp.start_with_a_use_case")),1),n.createElementVNode("div",k0,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(h.value,($,I)=>(n.openBlock(),n.createBlock(k,{key:`use-case-${I}`,"max-width":"300"},{content:n.withCtx(()=>[n.createElementVNode("div",null,n.toDisplayString($.description),1),w[1]||(w[1]=n.createElementVNode("br",null,null,-1)),n.createElementVNode("div",null,n.toDisplayString(n.unref(t)("sp.request_limits.label"))+": "+n.toDisplayString($.config.limit),1),n.createElementVNode("div",null,n.toDisplayString(n.unref(t)("sp.request_limits.time_interval"))+": "+n.toDisplayString($.config.window_size),1)]),default:n.withCtx(()=>[n.createVNode(P,{appearance:p.value===`${u.value}-${I}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>y($,`${u.value}-${I}`)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString($.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):n.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-f3727aa3"]]),v0={id:"sp-form-error-legend",class:"sp-form-error-inputs"},N0=we(n.defineComponent({__name:"ErrorMessageForm",setup(e){const{t}=Ke.createI18n("en-us",je);return(o,r)=>{const i=n.resolveComponent("KLabel");return n.openBlock(),n.createElementBlock("div",null,[n.createVNode(i,{for:"sp-form-error-legend",info:n.unref(t)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("sp.error_message.label")),1)]),_:1},8,["info"]),n.createElementVNode("legend",v0,[n.createVNode(An,{class:"input-error-code",label:"",name:"error_code",placeholder:n.unref(t)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=n.createElementVNode("div",null,":",-1)),n.createVNode(Pt,{class:"input-error-message",label:"",name:"error_message",placeholder:n.unref(t)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),S0={class:"partial-config-card"},x0={class:"config-card-row-label"},A0={class:"label-text"},T0=["data-testid"],P0=["data-testid"],I0={key:1},O0=["data-testid"],$0=["data-testid"],B0=we(n.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t,formatUnixTimeStamp:o}=Ke.createI18n("en-us",je),r={id:{order:1},name:{order:1},type:{label:t("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:t("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:t("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=f=>f!=null,l=(f,p)=>a(p)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:s}=ie.useStringHelpers(),c=n.computed(()=>Object.entries(i.configFields).map(([f,p])=>{var m,h,y,g;return{key:f,label:((m=r[f])==null?void 0:m.label)??s(f),value:(h=r[f])!=null&&h.formatter?r[f].formatter(p):p,type:((y=r[f])==null?void 0:y.type)??l(f,p),order:((g=r[f])==null?void 0:g.order)??100}}).sort((f,p)=>f.order-p.order).filter(f=>f.type!=="hidden")),d=kb(i.configFields,i.pluginRedisFields||[]),u=n.computed(()=>c.value.concat(d));return(f,p)=>{const m=n.resolveComponent("KCopy");return n.openBlock(),n.createElementBlock("div",S0,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(u.value,({key:h,label:y,value:g,type:_})=>(n.openBlock(),n.createElementBlock("div",{key:h,class:"partial-config-card-row"},[n.createElementVNode("div",x0,[n.createElementVNode("div",A0,n.toDisplayString(y),1)]),n.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(n.openBlock(),n.createElementBlock("div",I0,[_==="password"?(n.openBlock(),n.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[n.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,O0)):(n.openBlock(),n.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},n.toDisplayString(g),9,$0))])):(n.openBlock(),n.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,P0))],8,T0)]))),128))])}}}),[["__scopeId","data-v-836def53"]]),D0=we(n.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:t}){const o=e,{t:r}=Ke.createI18n("en-us",je),i=n.inject(ve.FORMS_CONFIG),a=t,{getMessageFromError:l}=ie.useErrors(),s=n.computed(()=>{switch(o.partialType){case Zn.PartialType.REDIS_CE:return Zn.PartialType.REDIS_EE;case Zn.PartialType.REDIS_EE:return Zn.PartialType.REDIS_CE;default:return}}),c=n.ref(!1),d=n.ref(),u=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},f=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),p()},p=()=>{d.value=void 0,a("modalClose"),n.nextTick(()=>{c.value=!1})};return n.watch(()=>o.visible,m=>{m&&(c.value=!0,n.nextTick(()=>{d.value="#km-modal-footer"}))}),(m,h)=>{const y=n.resolveComponent("KModal");return n.openBlock(),n.createBlock(y,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:n.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:p},{footer:n.withCtx(()=>h[0]||(h[0]=[n.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:n.withCtx(()=>[n.createVNode(n.unref(Zn.RedisConfigurationForm),{"action-teleport-target":d.value,config:n.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:u,onUpdate:f},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),V0="#52596e",R0="#e0e4ea",M0="#00abd2",L0="12px",lo="16px",Xi="20px",F0="24px",K0="8px",pc=Symbol("redis-partial-info"),mc={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},gc=["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"],U0={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},q0={key:0,class:"shared-redis-config"},j0={class:"shared-redis-config-title"},G0={class:"redis-config-select","data-testid":"redis-config-select"},z0={class:"selected-redis-config"},H0=["data-testid"],Y0={class:"select-item-name","data-testid":"selected-redis-config"},W0={class:"empty-redis-config","data-testid":"empty-redis-config"},Z0={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},X0="1000",J0=we(n.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:t}){var G;const o=t,{t:r}=Ke.createI18n("en-us",je),i=e,a=n.inject(pc),l=(a==null?void 0:a.isEditing)||!1,s=n.computed(()=>{var K;return i.redisPath?i.redisPath:(K=a==null?void 0:a.redisPath)!=null&&K.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((G=a==null?void 0:a.redisType)==null?void 0:G.value)||"all",d=n.computed(()=>{var K;return!!((K=a==null?void 0:a.redisType)!=null&&K.value)}),u=n.ref(!1),f=n.ref(null),p=n.ref(!l),{getMessageFromError:m}=ie.useErrors(),h=n.ref(i.defaultRedisConfigItem),y=n.ref({}),g=n.ref(),{value:_}=rc("$.partials"),{value:w}=st(s),b=n.inject(ve.FORMS_CONFIG),{debouncedQueryChange:v,loading:P,error:k,loadItems:L,results:$}=ie.useDebouncedFilter(b,mc[b.app].getAll,X0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),I=n.computed(()=>k.value?m(k.value):""),Y=K=>{let B=`${b.apiBaseUrl}${mc[b.app].getOne}`;return b.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),B=B.replace(/{id}/gi,String(K)),B},j=n.computed(()=>{const K=($.value||[]).map(B=>({label:B.id,name:B.name,value:B.id,type:B.type,tag:bb(B)})).filter(B=>B.type==="redis-ce"||B.type==="redis-ee");return c!=="all"?K.filter(B=>B.type===c):K}),{axiosInstance:N}=ie.useAxios(b==null?void 0:b.axiosRequestConfig),C=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,w.value=void 0),w!=null&&w.value&&(y.value=w.value)):(Object.keys(y.value).length&&(w.value=y.value),_!=null&&_.value&&(g.value=_.value),_.value=l?null:void 0)},E=K=>{L(),o("globalAction","notify",K)},D=K=>{o("globalAction","notify",K)},T=async K=>{if(K){h.value=K,_.value=[{id:K}],g.value=[{id:K}],w.value=void 0;try{const B=await N.get(Y(K));if(B.data.config){const V=Object.assign(B.data,B.data.config);delete V.config,f.value=V}}catch(B){console.error(B)}}};return n.watch(()=>p.value,()=>{C()}),n.onBeforeMount(()=>{var K;if(L(),i.defaultRedisConfigItem||_!=null&&_.value){const B=i.defaultRedisConfigItem||((K=_==null?void 0:_.value)==null?void 0:K[0].id);T(B),p.value=!0}else w!=null&&w.value&&(y.value=w.value)}),(K,B)=>{const V=n.resolveComponent("KBadge"),z=n.resolveComponent("KRadio"),ae=n.resolveComponent("KSelect"),ce=n.resolveComponent("KCard");return d.value?(n.openBlock(),n.createBlock(ce,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:n.unref(r)("redis.title")},{default:n.withCtx(()=>[n.createElementVNode("div",U0,[n.createVNode(z,{modelValue:p.value,"onUpdate:modelValue":B[0]||(B[0]=ee=>p.value=ee),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:n.unref(r)("redis.shared_configuration.description"),label:n.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:n.withCtx(()=>[n.createVNode(V,{appearance:"success"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),n.createVNode(z,{modelValue:p.value,"onUpdate:modelValue":B[1]||(B[1]=ee=>p.value=ee),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:n.unref(r)("redis.dedicated_configuration.description"),label:n.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),p.value?(n.openBlock(),n.createElementBlock("div",q0,[n.createElementVNode("div",j0,n.toDisplayString(n.unref(r)("redis.shared_configuration.title")),1),n.createElementVNode("div",G0,[n.createVNode(ae,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:j.value,loading:n.unref(P),"model-value":h.value,placeholder:n.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:B[3]||(B[3]=ee=>T(ee==null?void 0:ee.value)),onQueryChange:n.unref(v)},{"selected-item-template":n.withCtx(({item:ee})=>[n.createElementVNode("div",z0,n.toDisplayString(ee.name),1)]),"item-template":n.withCtx(({item:ee})=>[n.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${ee.name}`},[n.createElementVNode("span",Y0,n.toDisplayString(ee.name),1),n.createVNode(V,{appearance:"info",class:"select-item-label"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(ee.tag),1)]),_:2},1024)],8,H0)]),empty:n.withCtx(()=>[n.createElementVNode("div",W0,n.toDisplayString(n.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":n.withCtx(()=>[n.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:B[2]||(B[2]=()=>u.value=!0)},[n.createVNode(n.unref(Ee.AddIcon),{size:n.unref(L0)},null,8,["size"]),n.createElementVNode("span",null,n.toDisplayString(n.unref(r)("redis.shared_configuration.create_new_configuration",{type:n.unref(Eb)(n.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),f.value?(n.openBlock(),n.createBlock(B0,{key:0,"config-fields":f.value},null,8,["config-fields"])):n.createCommentVNode("",!0),I.value?(n.openBlock(),n.createElementBlock("p",Z0,n.toDisplayString(I.value||n.unref(r)("redis.shared_configuration.error")),1)):n.createCommentVNode("",!0)])):(n.openBlock(),n.createBlock(ct,n.mergeProps({key:1},i,{"as-child":"","fields-order":n.unref(gc),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),n.createVNode(D0,{"partial-type":n.unref(c),visible:u.value,onModalClose:B[4]||(B[4]=ee=>u.value=!1),onPartialUpdateFailed:D,onPartialUpdated:E},null,8,["partial-type","visible"])]),_:1},8,["title"])):(n.openBlock(),n.createBlock(ct,n.mergeProps({key:1},i,{"fields-order":n.unref(gc),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-f58fb92a"]]),Q0=n.defineComponent({__name:"RedisField",setup(e){const{formData:t}=Be();return n.watchEffect(()=>{t.config&&t.config.strategy!=="redis"&&(t.partials=void 0)}),(o,r)=>(n.openBlock(),n.createBlock(sc,null,{default:n.withCtx(()=>{var i;return[((i=n.unref(t).config)==null?void 0:i.strategy)==="redis"?(n.openBlock(),n.createBlock(J0,{key:0})):n.createCommentVNode("",!0)]}),_:1}))}}),ew=n.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},setup(e){const t={hasValue:o=>!!(o!=null&&o.config)};return(o,r)=>(n.openBlock(),n.createBlock(_t,{class:"rc-config-form",config:t,data:o.data,schema:o.schema,tag:"div",onChange:r[0]||(r[0]=i=>o.$emit("change",i))},{default:n.withCtx(()=>[n.createVNode(ct,{"as-child":"",name:"config","reset-label-path":"reset"},{default:n.withCtx(()=>[n.createVNode(C0),n.createVNode(N0)]),_:1}),n.createVNode(uc,null,{default:n.withCtx(()=>[n.createVNode(ze,{name:"config.dictionary_name"}),n.createVNode(ze,{name:"config.lock_dictionary_name"}),n.createVNode(ze,{name:"config.strategy"}),n.createVNode(Q0),n.createVNode(ze,{name:"config.namespace"}),n.createVNode(ze,{name:"config.hide_client_headers"}),n.createVNode(ze,{name:"config.disable_penalty"}),n.createVNode(ze,{name:"config.retry_after_jitter_max"}),n.createVNode(ze,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),tw=n.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const t=e,o=n.useSlots();return n.provide(ve.AUTOFILL_SLOT,o==null?void 0:o[ve.AUTOFILL_SLOT_NAME]),(r,i)=>(n.openBlock(),n.createBlock(fc,n.normalizeProps(n.guardReactiveProps(t)),{default:n.withCtx(a=>[n.createVNode(ew,n.normalizeProps(n.guardReactiveProps(a)),null,16)]),_:1},16))}}),nw={class:"ff-standard-layout"},ow={class:"enabled"},rw={class:"scope"},iw={key:0,class:"scope-detail"},aw=we(n.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t}=Ke.createI18n("en-us",je),o=e,r=n.useSlots();n.provide(ve.AUTOFILL_SLOT,r==null?void 0:r[ve.AUTOFILL_SLOT_NAME]);const i=n.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(_=>_.model==="enabled")}}),a=n.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(_=>_.model==="selectionGroup")}),l=n.computed(()=>(a.value.fields||[]).map(({label:g,description:_})=>({label:g,description:_}))),s=n.computed(()=>a.value.fields[1]),c=n.computed(()=>{var _;const g=["instance_name","protocols","tags"];return{fields:(_=o.formSchema)==null?void 0:_.fields.filter(w=>g.includes(w.model))}}),d=["config"],u=n.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(_=>d.includes(Object.keys(_)[0])),g});function f(g){return Mi(g,["config","partials"])}const p=n.ref(!1),m=n.ref(!0),h=Mi(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]);function y(g,_){h[_]=g,o.onModelUpdated(g,_)}return n.watch(p,g=>{g?Object.keys(h).forEach(_=>{o.onModelUpdated(h[_],_)}):Object.keys(h).forEach(_=>{o.onModelUpdated("",_)})}),(g,_)=>{const w=n.resolveComponent("KCollapse");return n.openBlock(),n.createElementBlock("div",nw,[n.createVNode(n.unref(ie.EntityFormBlock),{description:n.unref(t)("plugins.form.sections.general_info.description"),step:1,title:n.unref(t)("plugins.form.sections.general_info.title")},n.createSlots({default:n.withCtx(()=>[n.createElementVNode("div",ow,[n.createVNode(n.unref(ve.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),n.createElementVNode("div",rw,[n.createVNode(n.unref(Ie.KRadio),n.mergeProps({modelValue:p.value,"onUpdate:modelValue":_[0]||(_[0]=b=>p.value=b),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),n.createVNode(n.unref(Ie.KRadio),n.mergeProps({modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=b=>p.value=b),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),p.value?(n.openBlock(),n.createElementBlock("div",iw,[n.createVNode(n.unref(ve.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):n.createCommentVNode("",!0),n.createVNode(w,{modelValue:m.value,"onUpdate:modelValue":_[2]||(_[2]=b=>m.value=b),"trigger-label":"Show more"},{default:n.withCtx(()=>[n.createVNode(n.unref(ve.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),n.createVNode(n.unref(ie.EntityFormBlock),{description:n.unref(t)("plugins.form.sections.plugin_config.description"),step:2,title:n.unref(t)("plugins.form.sections.plugin_config.title")},n.createSlots({default:n.withCtx(()=>[n.renderSlot(g.$slots,"default",{data:f(g.model),schema:u.value,onChange:_[3]||(_[3]=(...b)=>g.onFormChange&&g.onFormChange(...b))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:n.withCtx(()=>[n.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-a727028f"]]),{t:Ji}=Ke.createI18n("en-us",je);function bt(e){return Ji(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function so(e){return Ji(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function lw(e){return Ji(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const rr={call:{type:"call",summary:so("call"),description:bt("call"),icon:Ee.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:so("jq"),description:bt("jq"),icon:Ee.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:so("exit"),description:bt("exit"),icon:Ee.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:so("property"),description:bt("property"),icon:Ee.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:so("static"),description:bt("static"),icon:Ee.VitalsIcon,io:{output:{fields:[],configurable:!0}}}},Qi={request:{type:"request",description:bt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:bt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",description:bt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:bt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}}},hc=Object.keys(Qi),yc=e=>hc.includes(e),Tn=e=>hc.includes(e),sw=e=>Tn(e.type);let cw=0;function Pn(e){return JSON.parse(JSON.stringify(e))}function co(e){return`${e}:${cw++}`}function ir(e){const[t,o]=e.split(".");return{nodeName:t,fieldName:o}}function _c(e){const[t,o]=e.split(".");return{nodeId:t,fieldId:o}}function ea(e){return Tn(e)?Qi[e]:rr[e]}function bc(e){var i,a,l,s,c,d;const t=ea(e),o=((l=(a=(i=t.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:u})=>u))??[],r=((d=(c=(s=t.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:d.map(({name:u})=>u))??[];return{input:o,output:r}}function wc(e){return(e??[]).map(t=>({id:co("field"),name:t}))}function ar(e,t,o){if(o)return e.fields[t].find(r=>r.name===o)}function In(e,t,o){if(o)return e.fields[t].find(r=>r.id===o)}function ta(e,t){return t?e.fields.output.some(o=>o.id===t):!0}function Ec(e,t){return t?e.fields.input.some(o=>o.id===t):!0}const dw=["request","service_request","service_response","response"];function uw(e){const t=e==="request"||e==="service_request"?"request":"response",o=Qi[e];return{name:e,phase:t,position:{x:0,y:0},fields:bc(o.type),expanded:{}}}function fw(e,t){const o=e.toUpperCase();let r=1;for(;t.has(`${o}_${r}`);)r++;return`${o}_${r}`}function pw(e,t){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:d}=Je.useManualRefHistory(e,{capacity:t==null?void 0:t.capacity,clone:t==null?void 0:t.clone});let u;function f(g,_){!!(_!=null&&_.replace)&&g&&u===g&&d.value.length>0&&d.value.pop(),o(),u=g}function p(){r(),u=void 0}function m(){i(),u=void 0}function h(){s(),u=void 0}function y(){c(),u=void 0}return{canUndo:a,canRedo:l,commit:f,undo:p,redo:m,clear:h,reset:y}}function kc(e,t){var d,u;const o=new Map(t.map(f=>[f.name,f])),r=[],i=[],a=new Map,l=[],s=new Map,c=f=>{const p=new Set,m=[...f];for(;m.length>0;){const h=m.shift();if(!p.has(h)&&(p.add(h),yc(h)||(a.get(h).phase="request"),!!s.has(h)))for(const y of s.get(h))p.has(y)||m.push(y)}};for(const f of e){const p=o.get(f.name),m=vc(f.type,f,p);r.push(m),a.set(m.name,m)}for(const f of dw)if(!a.has(f)){const p=o.get(f)??uw(f),m=vc(f,void 0,p);r.push(m),a.set(m.name,m)}for(const f of e)gw(f,l);for(const f of l){const p=a.get(f.source),m=a.get(f.target);if(!p||!m){p||console.warn(`[initEditorState] skip: source "${f.source}" not found`),m||console.warn(`[initEditorState] skip: target "${f.target}" not found`);continue}s.has(f.source)||s.set(f.source,new Set),s.get(f.source).add(f.target),s.has(f.target)||s.set(f.target,new Set),s.get(f.target).add(f.source),i.push({id:co("edge"),source:p.id,sourceField:(d=ar(p,"output",f.sourceField))==null?void 0:d.id,target:m.id,targetField:(u=ar(m,"input",f.targetField))==null?void 0:u.id})}return c(["request","service_request"]),{nodes:r,edges:i}}function Cc(e){const{type:t,name:o,phase:r,position:i,fields:a,config:l}=e,s=bc(t);return{id:co("node"),type:t,name:o??t,phase:r??(t==="request"||t==="service_request"?"request":"response"),position:i??{x:0,y:0},expanded:{},fields:{input:wc((a==null?void 0:a.input)??s.input),output:wc((a==null?void 0:a.output)??s.output)},config:l?Pn(l):{}}}function vc(e,t,o){return Cc({type:e,name:t==null?void 0:t.name,phase:(o==null?void 0:o.phase)??(e==="request"||e==="service_request"?"request":"response"),position:o==null?void 0:o.position,fields:o==null?void 0:o.fields,config:t?mw(t):void 0})}function mw(e){const{type:t,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return Pn(s)}function gw(e,t){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=ir(e.input);r&&t.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){const{nodeName:a,fieldName:l}=ir(i);a&&t.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=ir(e.output);r&&t.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){const{nodeName:a,fieldName:l}=ir(i);a&&t.push({source:o,sourceField:r,target:a,targetField:l})}}function hw(e){const t=n.computed(()=>{const c=new Map;return e.value.nodes.forEach(d=>c.set(d.id,d)),c}),o=n.computed(()=>e.value.edges);function r(c){const d=t.value.get(c.source),u=t.value.get(c.target);if(!d||!u)return c;const f=Ec(d,c.sourceField)&&!ta(d,c.sourceField),p=ta(u,c.targetField);return f&&p?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const d=r(c),u=[],f=t.value.get(d.source),p=t.value.get(d.target);if(f||u.push("source node not found"),p||u.push("target node not found"),!f||!p)return{ok:!1,errors:u};ta(f,d.sourceField)||u.push("source handle is not an output field"),Ec(p,d.targetField)||u.push("target handle is not an input field"),f.phase==="response"&&p.phase==="request"&&u.push("cannot connect from response phase to request phase"),p.name==="request"&&u.push('cannot target "request"'),f.name==="response"&&u.push('cannot source from "response"'),f.phase==="response"&&p.phase!=="response"&&u.push("response-phase output must go to response-phase nodes");const m=o.value.some(g=>g.target===d.target&&!g.targetField),h=o.value.some(g=>g.target===d.target&&!!g.targetField);(m&&d.targetField||h&&!d.targetField)&&u.push("cannot mix whole-node and field-level inputs on same target"),d.sourceField&&o.value.some(g=>g.source===d.source&&g.sourceField===d.sourceField)&&u.push("source field already connected"),d.targetField&&o.value.some(g=>g.target===d.target&&g.targetField===d.targetField)&&u.push("target field already connected"),!d.targetField&&o.value.some(g=>g.target===d.target&&!g.targetField)&&u.push("target input already taken"),d.source===d.target&&u.push("self-loop not allowed");const y=lr(o.value,d);return na(y)&&u.push("connection introduces a cycle"),u.length?{ok:!1,errors:u}:{ok:!0}}function a(){const c=[],d=["request","service_request","service_response","response"];for(const u of d)[...t.value.values()].some(f=>f.name===u)||c.push(`missing implicit node "${u}"`);for(const u of o.value){const f=t.value.get(u.source),p=t.value.get(u.target);f.phase==="response"&&p.phase==="request"&&c.push(`edge "${u.id}" crosses phases (response → request)`),p.name==="request"&&c.push(`edge "${u.id}" targets "request"`),f.name==="response"&&c.push(`edge "${u.id}" sources from "response"`),f.phase==="response"&&p.phase!=="response"&&c.push(`edge "${u.id}" violates response-phase rule`)}return na(lr(o.value))&&c.push("graph contains cycle"),c.length?{ok:!1,errors:c}:{ok:!0}}function l(c){return i(c).ok}function s(c){return!c.source||!c.target?!1:l({source:c.source,sourceField:c.sourceHandle,target:c.target,targetField:c.targetHandle})}return{canonicalizeConnection:r,validateConnection:i,validateGraph:a,isValidConnection:l,isValidVueFlowConnection:s,buildAdjacency:lr}}function na(e){const t=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(t.has(i))return!1;t.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function lr(e,t){const o=new Map;for(const r of e)o.has(r.source)||o.set(r.source,[]),o.get(r.source).push(r.target),o.has(r.target)||o.set(r.target,[]);return t&&(o.has(t.source)||o.set(t.source,[]),o.get(t.source).push(t.target),o.has(t.target)||o.set(t.target,[])),o}const[yw,_w]=Je.createInjectionState(function(t,o){const r=n.ref(kc(t,o)),i=n.ref(),a=pw(r,{capacity:200,clone:Pn}),l=n.computed(()=>new Map(r.value.nodes.map(U=>[U.id,U]))),s=n.computed(()=>new Map(r.value.nodes.map(U=>[U.name,U]))),c=n.computed(()=>{const U=new Map,R=new Map;for(const q of r.value.edges)U.set(q.id,q),R.has(q.source)||R.set(q.source,new Set),R.get(q.source).add(q.id),R.has(q.target)||R.set(q.target,new Set),R.get(q.target).add(q.id);return{edgeMapById:U,edgeIdMapByNodeId:R}}),d=n.computed(()=>c.value.edgeMapById),u=n.computed(()=>c.value.edgeIdMapByNodeId),f=n.computed(()=>new Set(r.value.nodes.map(U=>U.name))),{canonicalizeConnection:p,validateConnection:m,validateGraph:h,isValidConnection:y,isValidVueFlowConnection:g}=hw(r);function _(U){return l.value.get(U)}function w(U){return s.value.get(U)}function b(U){return d.value.get(U)}function v(U){if(!u.value.has(U))return[];const R=[];return u.value.get(U).forEach(q=>{const X=b(q);X&&R.push(X)}),R}function P(U){return v(U).filter(R=>R.target===U)}function k(U){return v(U).filter(R=>R.source===U)}const L=n.computed(()=>i.value?_(i.value):void 0);function $(U){i.value=U}function I(U){if(Tn(U.type))throw new Error("[createNode] implicit nodes are fixed.");return Cc({type:U.type,name:U.name||(Tn(U.type)?void 0:fw(U.type,f.value)),phase:U.phase,position:U.position,fields:U.fields,config:U.config})}function Y(U,R=!0){const q=I(U);if(q)return r.value.nodes.push(q),R&&a.commit(),q.id}function j(U,R=!0){r.value.edges=r.value.edges.filter(X=>X.source!==U&&X.target!==U),r.value.nodes=r.value.nodes.filter(X=>X.id!==U),i.value===U&&(i.value=void 0);const q=h();q.ok||console.warn("[removeNode] topology invalid:",q.errors.join("; ")),R&&a.commit()}function N(U,R,q=!0){const X=_(U);if(X){if(yc(X.name)){console.warn("[renameNode] implicit node name is reserved.");return}X.name=R,q&&a.commit()}}function C(U,R,q=!0){const X=_(U);X&&(X.position={...R},q&&a.commit())}function E(U,R,q,X=!0){const te=_(U);te&&(te.expanded[R]=q??!te.expanded[R],X&&a.commit(`toggle:${U}:${R}`,{replace:!0}))}function D(U,R,q=!0){const X=_(U);X&&(X.config=Pn(R),q&&a.commit())}function T(U,R,q,X=!0){const te=_(U);if(!te)return;const ne=te.fields[R];if(ne.some(oe=>oe.name===q)){console.warn(`[addField] field "${q}" already exists on ${R}.`);return}ne.push({id:co("field"),name:q}),R==="input"?te.fields.input=ne:te.fields.output=ne,X&&a.commit()}function G(U,R,q,X=!0){const te=_(U);if(!te)return;const ne=te.fields.input,oe=te.fields.output,fe=ne.find(pe=>pe.id===R)??oe.find(pe=>pe.id===R);fe&&(fe.name=q,X&&a.commit())}function K(U,R,q=!0,X=!0){const te=_(U);if(!te)return;const ne=te.fields.input,oe=te.fields.output,fe=ne.findIndex(S=>S.id===R);fe>=0&&ne.splice(fe,1);const pe=oe.findIndex(S=>S.id===R);pe>=0&&oe.splice(pe,1),te.fields.input=ne,te.fields.output=oe,q&&(r.value.edges=r.value.edges.filter(S=>S.sourceField!==R&&S.targetField!==R));const A=h();A.ok||console.warn("[removeField] topology invalid:",A.errors.join("; ")),X&&a.commit()}function B(U,R=!0){const q=p(U),X=m(q);if(!X.ok){console.warn("[connectEdge] invalid connection:",X.errors.join("; "));return}const te={id:co("edge"),...q};r.value.edges.push(te);const ne=h();if(!ne.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",ne.errors.join("; "));return}return R&&a.commit(),te.id}function V(U,R,q=!0){z(U,!1),B(R,!1),q&&a.commit()}function z(U,R=!0){const q=r.value.edges.findIndex(ne=>ne.id===U);if(q<0)return;const X=r.value.edges[q];r.value.edges.splice(q,1);const te=h();if(!te.ok){r.value.edges.splice(q,0,X),console.warn("[disconnectEdge] topology invalid:",te.errors.join("; "));return}R&&a.commit()}function ae(){var R,q,X,te;const U=[];for(const ne of r.value.nodes){if(Tn(ne.type))continue;const oe={},fe={};for(const x of r.value.edges.filter(O=>O.target===ne.id)){const O=_(x.source);if(!O)continue;const J=(R=In(O,"output",x.sourceField))==null?void 0:R.name,W=J?`${O.name}.${J}`:O.name,Q=(q=In(ne,"input",x.targetField))==null?void 0:q.name;Q?oe[Q]=W:"input"in oe||(oe.input=W)}for(const x of r.value.edges.filter(O=>O.source===ne.id)){const O=_(x.target);if(!O)continue;const J=(X=In(O,"input",x.targetField))==null?void 0:X.name,W=J?`${O.name}.${J}`:O.name,Q=(te=In(ne,"output",x.sourceField))==null?void 0:te.name;Q?fe[Q]=W:"output"in fe||(fe.output=W)}const pe={...Pn(ne.config),name:ne.name,type:ne.type},A=Object.keys(oe),S=Object.keys(fe);A.length===1&&A[0]==="input"?pe.input=oe.input:A.length&&(pe.inputs=oe),S.length===1&&S[0]==="output"?pe.output=fe.output:S.length&&(pe.outputs=fe),U.push(pe)}return U}function ce(){return r.value.nodes.map(U=>Pn({name:U.name,phase:U.phase,position:{...U.position},expanded:{...U.expanded},fields:{input:U.fields.input.map(R=>R.name),output:U.fields.output.map(R=>R.name)}}))}function ee(U,R){r.value=kc(U,R),a.reset()}return{state:r,selection:i,nodeMapById:l,nodeMapByName:s,edgeMapById:d,edgeIdMapByNodeId:u,getNodeById:_,getNodeByName:w,getEdgeById:b,getEdgesByNodeId:v,getInEdgesByNodeId:P,getOutEdgesByNodeId:k,selectedNode:L,selectNode:$,createNode:I,addNode:Y,removeNode:j,renameNode:N,moveNode:C,toggleExpanded:E,replaceConfig:D,addField:T,renameField:G,removeField:K,connectEdge:B,replaceConnection:V,disconnectEdge:z,toConfigNodes:ae,toUINodes:ce,load:ee,commit:a.commit,undo:a.undo,redo:a.redo,canUndo:a.canUndo,canRedo:a.canRedo,clear:a.clear,reset:a.reset,isValidConnection:y,isValidVueFlowConnection:g,validateGraph:()=>h()}});function on(){const e=_w();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const oa=Je.createGlobalState(()=>{const e=Je.useLocalStorage("datakit-editor-mode","flow"),t=Je.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:t}});typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const bw=e=>e!=null;/*!
|
|
14
14
|
* tabbable 6.2.0
|
|
15
15
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
16
|
-
*/var
|
|
16
|
+
*/var Nc=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],sr=Nc.join(","),Sc=typeof Element>"u",rn=Sc?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,cr=!Sc&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e==null?void 0:e.ownerDocument},dr=function e(t,o){var r;o===void 0&&(o=!0);var i=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"inert"),a=i===""||i==="true",l=a||o&&t&&e(t.parentNode);return l},ww=function(t){var o,r=t==null||(o=t.getAttribute)===null||o===void 0?void 0:o.call(t,"contenteditable");return r===""||r==="true"},xc=function(t,o,r){if(dr(t))return[];var i=Array.prototype.slice.apply(t.querySelectorAll(sr));return o&&rn.call(t,sr)&&i.unshift(t),i=i.filter(r),i},Ac=function e(t,o,r){for(var i=[],a=Array.from(t);a.length;){var l=a.shift();if(!dr(l,!1))if(l.tagName==="SLOT"){var s=l.assignedElements(),c=s.length?s:l.children,d=e(c,!0,r);r.flatten?i.push.apply(i,d):i.push({scopeParent:l,candidates:d})}else{var u=rn.call(l,sr);u&&r.filter(l)&&(o||!t.includes(l))&&i.push(l);var f=l.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(l),p=!dr(f,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(l));if(f&&p){var m=e(f===!0?l.children:f.children,!0,r);r.flatten?i.push.apply(i,m):i.push({scopeParent:l,candidates:m})}else a.unshift.apply(a,l.children)}}return i},Tc=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},an=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||ww(t))&&!Tc(t)?0:t.tabIndex},Ew=function(t,o){var r=an(t);return r<0&&o&&!Tc(t)?0:r},kw=function(t,o){return t.tabIndex===o.tabIndex?t.documentOrder-o.documentOrder:t.tabIndex-o.tabIndex},Pc=function(t){return t.tagName==="INPUT"},Cw=function(t){return Pc(t)&&t.type==="hidden"},vw=function(t){var o=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(r){return r.tagName==="SUMMARY"});return o},Nw=function(t,o){for(var r=0;r<t.length;r++)if(t[r].checked&&t[r].form===o)return t[r]},Sw=function(t){if(!t.name)return!0;var o=t.form||cr(t),r=function(s){return o.querySelectorAll('input[type="radio"][name="'+s+'"]')},i;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")i=r(window.CSS.escape(t.name));else try{i=r(t.name)}catch(l){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",l.message),!1}var a=Nw(i,t.form);return!a||a===t},xw=function(t){return Pc(t)&&t.type==="radio"},Aw=function(t){return xw(t)&&!Sw(t)},Tw=function(t){var o,r=t&&cr(t),i=(o=r)===null||o===void 0?void 0:o.host,a=!1;if(r&&r!==t){var l,s,c;for(a=!!((l=i)!==null&&l!==void 0&&(s=l.ownerDocument)!==null&&s!==void 0&&s.contains(i)||t!=null&&(c=t.ownerDocument)!==null&&c!==void 0&&c.contains(t));!a&&i;){var d,u,f;r=cr(i),i=(d=r)===null||d===void 0?void 0:d.host,a=!!((u=i)!==null&&u!==void 0&&(f=u.ownerDocument)!==null&&f!==void 0&&f.contains(i))}}return a},Ic=function(t){var o=t.getBoundingClientRect(),r=o.width,i=o.height;return r===0&&i===0},Pw=function(t,o){var r=o.displayCheck,i=o.getShadowRoot;if(getComputedStyle(t).visibility==="hidden")return!0;var a=rn.call(t,"details>summary:first-of-type"),l=a?t.parentElement:t;if(rn.call(l,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof i=="function"){for(var s=t;t;){var c=t.parentElement,d=cr(t);if(c&&!c.shadowRoot&&i(c)===!0)return Ic(t);t.assignedSlot?t=t.assignedSlot:!c&&d!==t.ownerDocument?t=d.host:t=c}t=s}if(Tw(t))return!t.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return Ic(t);return!1},Iw=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var o=t.parentElement;o;){if(o.tagName==="FIELDSET"&&o.disabled){for(var r=0;r<o.children.length;r++){var i=o.children.item(r);if(i.tagName==="LEGEND")return rn.call(o,"fieldset[disabled] *")?!0:!i.contains(t)}return!0}o=o.parentElement}return!1},ur=function(t,o){return!(o.disabled||dr(o)||Cw(o)||Pw(o,t)||vw(o)||Iw(o))},ra=function(t,o){return!(Aw(o)||an(o)<0||!ur(t,o))},Ow=function(t){var o=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(o)||o>=0)},$w=function e(t){var o=[],r=[];return t.forEach(function(i,a){var l=!!i.scopeParent,s=l?i.scopeParent:i,c=Ew(s,l),d=l?e(i.candidates):s;c===0?l?o.push.apply(o,d):o.push(s):r.push({documentOrder:a,tabIndex:c,item:i,isScope:l,content:d})}),r.sort(kw).reduce(function(i,a){return a.isScope?i.push.apply(i,a.content):i.push(a.content),i},[]).concat(o)},Bw=function(t,o){o=o||{};var r;return o.getShadowRoot?r=Ac([t],o.includeContainer,{filter:ra.bind(null,o),flatten:!1,getShadowRoot:o.getShadowRoot,shadowRootFilter:Ow}):r=xc(t,o.includeContainer,ra.bind(null,o)),$w(r)},Dw=function(t,o){o=o||{};var r;return o.getShadowRoot?r=Ac([t],o.includeContainer,{filter:ur.bind(null,o),flatten:!0,getShadowRoot:o.getShadowRoot}):r=xc(t,o.includeContainer,ur.bind(null,o)),r},On=function(t,o){if(o=o||{},!t)throw new Error("No node provided");return rn.call(t,sr)===!1?!1:ra(o,t)},Vw=Nc.concat("iframe").join(","),ia=function(t,o){if(o=o||{},!t)throw new Error("No node provided");return rn.call(t,Vw)===!1?!1:ur(o,t)};/*!
|
|
17
17
|
* focus-trap 7.6.5
|
|
18
18
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
19
|
-
*/function
|
|
20
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zs(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),o.push.apply(o,r)}return o}function Xs(e){for(var n=1;n<arguments.length;n++){var o=arguments[n]!=null?arguments[n]:{};n%2?Zs(Object(o),!0).forEach(function(r){s0(e,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Zs(Object(o)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))})}return e}function d0(e){return l0(e)||c0(e)||m0(e)||u0()}function p0(e,n){if(typeof e!="object"||!e)return e;var o=e[Symbol.toPrimitive];if(o!==void 0){var r=o.call(e,n);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function f0(e){var n=p0(e,"string");return typeof n=="symbol"?n:n+""}function m0(e,n){if(e){if(typeof e=="string")return Fi(e,n);var o={}.toString.call(e).slice(8,-1);return o==="Object"&&e.constructor&&(o=e.constructor.name),o==="Map"||o==="Set"?Array.from(e):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Fi(e,n):void 0}}var Js={activateTrap:function(n,o){if(n.length>0){var r=n[n.length-1];r!==o&&r._setPausedState(!0)}var i=n.indexOf(o);i===-1||n.splice(i,1),n.push(o)},deactivateTrap:function(n,o){var r=n.indexOf(o);r!==-1&&n.splice(r,1),n.length>0&&!n[n.length-1]._isManuallyPaused()&&n[n.length-1]._setPausedState(!1)}},g0=function(n){return n.tagName&&n.tagName.toLowerCase()==="input"&&typeof n.select=="function"},h0=function(n){return(n==null?void 0:n.key)==="Escape"||(n==null?void 0:n.key)==="Esc"||(n==null?void 0:n.keyCode)===27},eo=function(n){return(n==null?void 0:n.key)==="Tab"||(n==null?void 0:n.keyCode)===9},y0=function(n){return eo(n)&&!n.shiftKey},_0=function(n){return eo(n)&&n.shiftKey},Qs=function(n){return setTimeout(n,0)},to=function(n){for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];return typeof n=="function"?n.apply(void 0,r):n},er=function(n){return n.target.shadowRoot&&typeof n.composedPath=="function"?n.composedPath()[0]:n.target},b0=[],w0=function(n,o){var r=(o==null?void 0:o.document)||document,i=(o==null?void 0:o.trapStack)||b0,a=Xs({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:y0,isKeyBackward:_0},o),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,c=function(S,w,D){return S&&S[w]!==void 0?S[w]:a[D||w]},u=function(S,w){var D=typeof(w==null?void 0:w.composedPath)=="function"?w.composedPath():void 0;return l.containerGroups.findIndex(function(T){var G=T.container,U=T.tabbableNodes;return G.contains(S)||(D==null?void 0:D.includes(G))||U.find(function(M){return M===S})})},p=function(S){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=w.hasFallback,T=D===void 0?!1:D,G=w.params,U=G===void 0?[]:G,M=a[S];if(typeof M=="function"&&(M=M.apply(void 0,d0(U))),M===!0&&(M=void 0),!M){if(M===void 0||M===!1)return M;throw new Error("`".concat(S,"` was specified but was not a node, or did not return a node"))}var V=M;if(typeof M=="string"){try{V=r.querySelector(M)}catch(H){throw new Error("`".concat(S,'` appears to be an invalid selector; error="').concat(H.message,'"'))}if(!V&&!T)throw new Error("`".concat(S,"` as selector refers to no known node"))}return V},d=function(){var S=p("initialFocus",{hasFallback:!0});if(S===!1)return!1;if(S===void 0||S&&!Mi(S,a.tabbableOptions))if(u(r.activeElement)>=0)S=r.activeElement;else{var w=l.tabbableGroups[0],D=w&&w.firstTabbableNode;S=D||p("fallbackFocus")}else S===null&&(S=p("fallbackFocus"));if(!S)throw new Error("Your focus-trap needs to have at least one focusable element");return S},f=function(){if(l.containerGroups=l.containers.map(function(S){var w=r0(S,a.tabbableOptions),D=i0(S,a.tabbableOptions),T=w.length>0?w[0]:void 0,G=w.length>0?w[w.length-1]:void 0,U=D.find(function(H){return kn(H)}),M=D.slice().reverse().find(function(H){return kn(H)}),V=!!w.find(function(H){return en(H)>0});return{container:S,tabbableNodes:w,focusableNodes:D,posTabIndexesFound:V,firstTabbableNode:T,lastTabbableNode:G,firstDomTabbableNode:U,lastDomTabbableNode:M,nextTabbableNode:function(ie){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ee=w.indexOf(ie);return ee<0?ce?D.slice(D.indexOf(ie)+1).find(function(B){return kn(B)}):D.slice(0,D.indexOf(ie)).reverse().find(function(B){return kn(B)}):w[ee+(ce?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(S){return S.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!p("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(l.containerGroups.find(function(S){return S.posTabIndexesFound})&&l.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function(S){var w=S.activeElement;if(w)return w.shadowRoot&&w.shadowRoot.activeElement!==null?m(w.shadowRoot):w},h=function(S){if(S!==!1&&S!==m(document)){if(!S||!S.focus){h(d());return}S.focus({preventScroll:!!a.preventScroll}),l.mostRecentlyFocusedNode=S,g0(S)&&S.select()}},y=function(S){var w=p("setReturnFocus",{params:[S]});return w||(w===!1?!1:S)},g=function(S){var w=S.target,D=S.event,T=S.isBackward,G=T===void 0?!1:T;w=w||er(D),f();var U=null;if(l.tabbableGroups.length>0){var M=u(w,D),V=M>=0?l.containerGroups[M]:void 0;if(M<0)G?U=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:U=l.tabbableGroups[0].firstTabbableNode;else if(G){var H=l.tabbableGroups.findIndex(function(q){var Z=q.firstTabbableNode;return w===Z});if(H<0&&(V.container===w||Mi(w,a.tabbableOptions)&&!kn(w,a.tabbableOptions)&&!V.nextTabbableNode(w,!1))&&(H=M),H>=0){var ie=H===0?l.tabbableGroups.length-1:H-1,ce=l.tabbableGroups[ie];U=en(w)>=0?ce.lastTabbableNode:ce.lastDomTabbableNode}else eo(D)||(U=V.nextTabbableNode(w,!1))}else{var ee=l.tabbableGroups.findIndex(function(q){var Z=q.lastTabbableNode;return w===Z});if(ee<0&&(V.container===w||Mi(w,a.tabbableOptions)&&!kn(w,a.tabbableOptions)&&!V.nextTabbableNode(w))&&(ee=M),ee>=0){var B=ee===l.tabbableGroups.length-1?0:ee+1,L=l.tabbableGroups[B];U=en(w)>=0?L.firstTabbableNode:L.firstDomTabbableNode}else eo(D)||(U=V.nextTabbableNode(w))}}else U=p("fallbackFocus");return U},b=function(S){var w=er(S);if(!(u(w,S)>=0)){if(to(a.clickOutsideDeactivates,S)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}to(a.allowOutsideClick,S)||S.preventDefault()}},k=function(S){var w=er(S),D=u(w,S)>=0;if(D||w instanceof Document)D&&(l.mostRecentlyFocusedNode=w);else{S.stopImmediatePropagation();var T,G=!0;if(l.mostRecentlyFocusedNode)if(en(l.mostRecentlyFocusedNode)>0){var U=u(l.mostRecentlyFocusedNode),M=l.containerGroups[U].tabbableNodes;if(M.length>0){var V=M.findIndex(function(H){return H===l.mostRecentlyFocusedNode});V>=0&&(a.isKeyForward(l.recentNavEvent)?V+1<M.length&&(T=M[V+1],G=!1):V-1>=0&&(T=M[V-1],G=!1))}}else l.containerGroups.some(function(H){return H.tabbableNodes.some(function(ie){return en(ie)>0})})||(G=!1);else G=!1;G&&(T=g({target:l.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(l.recentNavEvent)})),h(T||l.mostRecentlyFocusedNode||d())}l.recentNavEvent=void 0},_=function(S){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=S;var D=g({event:S,isBackward:w});D&&(eo(S)&&S.preventDefault(),h(D))},E=function(S){(a.isKeyForward(S)||a.isKeyBackward(S))&&_(S,a.isKeyBackward(S))},P=function(S){h0(S)&&to(a.escapeDeactivates,S)!==!1&&(S.preventDefault(),s.deactivate())},C=function(S){var w=er(S);u(w,S)>=0||to(a.clickOutsideDeactivates,S)||to(a.allowOutsideClick,S)||(S.preventDefault(),S.stopImmediatePropagation())},R=function(){if(l.active)return Js.activateTrap(i,s),l.delayInitialFocusTimer=a.delayInitialFocus?Qs(function(){h(d())}):h(d()),r.addEventListener("focusin",k,!0),r.addEventListener("mousedown",b,{capture:!0,passive:!1}),r.addEventListener("touchstart",b,{capture:!0,passive:!1}),r.addEventListener("click",C,{capture:!0,passive:!1}),r.addEventListener("keydown",E,{capture:!0,passive:!1}),r.addEventListener("keydown",P),s},$=function(){if(l.active)return r.removeEventListener("focusin",k,!0),r.removeEventListener("mousedown",b,!0),r.removeEventListener("touchstart",b,!0),r.removeEventListener("click",C,!0),r.removeEventListener("keydown",E,!0),r.removeEventListener("keydown",P),s},O=function(S){var w=S.some(function(D){var T=Array.from(D.removedNodes);return T.some(function(G){return G===l.mostRecentlyFocusedNode})});w&&h(d())},X=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(O):void 0,z=function(){X&&(X.disconnect(),l.active&&!l.paused&&l.containers.map(function(S){X.observe(S,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(S){if(l.active)return this;var w=c(S,"onActivate"),D=c(S,"onPostActivate"),T=c(S,"checkCanFocusTrap");T||f(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=m(r),w==null||w();var G=function(){T&&f(),R(),z(),D==null||D()};return T?(T(l.containers.concat()).then(G,G),this):(G(),this)},deactivate:function(S){if(!l.active)return this;var w=Xs({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},S);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,$(),l.active=!1,l.paused=!1,z(),Js.deactivateTrap(i,s);var D=c(w,"onDeactivate"),T=c(w,"onPostDeactivate"),G=c(w,"checkCanReturnFocus"),U=c(w,"returnFocus","returnFocusOnDeactivate");D==null||D();var M=function(){Qs(function(){U&&h(y(l.nodeFocusedBeforeActivation)),T==null||T()})};return U&&G?(G(y(l.nodeFocusedBeforeActivation)).then(M,M),this):(M(),this)},pause:function(S){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,S)):this},unpause:function(S){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,S)):this},updateContainerElements:function(S){var w=[].concat(S).filter(Boolean);return l.containers=w.map(function(D){return typeof D=="string"?r.querySelector(D):D}),l.active&&f(),z(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(S,w){if(l.paused===S)return this;if(l.paused=S,S){var D=c(w,"onPause"),T=c(w,"onPostPause");D==null||D(),$(),z(),T==null||T()}else{var G=c(w,"onUnpause"),U=c(w,"onPostUnpause");G==null||G(),f(),R(),z(),U==null||U()}return this}}}),s.updateContainerElements(n),s};function k0(e,n={}){let o;const{immediate:r,...i}=n,a=t.shallowRef(!1),l=t.shallowRef(!1),s=f=>o&&o.activate(f),c=f=>o&&o.deactivate(f),u=()=>{o&&(o.pause(),l.value=!0)},p=()=>{o&&(o.unpause(),l.value=!1)},d=t.computed(()=>{const f=t.toValue(e);return Ze.toArray(f).map(m=>{const h=t.toValue(m);return typeof h=="string"?h:Ze.unrefElement(h)}).filter(qb)});return t.watch(d,f=>{f.length&&(o=w0(f,{...i,onActivate(){a.value=!0,n.onActivate&&n.onActivate()},onDeactivate(){a.value=!1,n.onDeactivate&&n.onDeactivate()}}),r&&s())},{flush:"post"}),Ze.tryOnScopeDispose(()=>c()),{hasFocus:a,isPaused:l,activate:s,deactivate:c,pause:u,unpause:p}}const C0="44px",E0="220px",N0="366px",v0="52px",S0=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],ec="application/x-datakit+json",{t:Li}=Fe.createI18n("en-us",Ue);function mt(e){return Li(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function no(e){return Li(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function A0(e){return Li(`plugins.free-form.datakit.flow_editor.node_types.${e}.name`)}const tr={call:{type:"call",summary:no("call"),description:mt("call"),icon:ke.NetworkIcon,io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{type:"jq",summary:no("jq"),description:mt("jq"),icon:ke.CodeblockIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{type:"exit",summary:no("exit"),description:mt("exit"),icon:ke.GatewayIcon,io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{type:"property",summary:no("property"),description:mt("property"),icon:ke.StackIcon,io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{type:"static",summary:no("static"),description:mt("static"),icon:ke.VitalsIcon,io:{output:{fields:[],configurable:!0}}}},Ki={request:{type:"request",description:mt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_request:{type:"service_request",description:mt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}}},service_response:{type:"service_response",description:mt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}}},response:{type:"response",description:mt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}}}},tc=Object.keys(Ki),x0=e=>tc.includes(e),Bt=e=>tc.includes(e),T0=e=>Bt(e.type);let P0=0;function Cn(e){return JSON.parse(JSON.stringify(e))}function oo(e){return`${e}:${P0++}`}function nr(e){const[n,o]=e.split(".");return{nodeName:n,fieldName:o}}function nc(e){const[n,o]=e.split(".");return{nodeId:n,fieldId:o}}function oc(e){return Bt(e)?Ki[e]:tr[e]}function rc(e){var i,a,l,s,c,u;const n=oc(e),o=((l=(a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields)==null?void 0:l.map(({name:p})=>p))??[],r=((u=(c=(s=n.io)==null?void 0:s.output)==null?void 0:c.fields)==null?void 0:u.map(({name:p})=>p))??[];return{input:o,output:r}}function ic(e){return(e??[]).map(n=>({id:oo("field"),name:n}))}function or(e,n,o){if(o)return e.fields[n].find(r=>r.name===o)}function En(e,n,o){if(o)return e.fields[n].find(r=>r.id===o)}function Ui(e,n){return n?e.fields.output.some(o=>o.id===n):!0}function ac(e,n){return n?e.fields.input.some(o=>o.id===n):!0}const I0=["request","service_request","service_response","response"];function O0(e){const n=e==="request"||e==="service_request"?"request":"response",o=Ki[e];return{name:e,phase:n,position:{x:0,y:0},fields:rc(o.type),expanded:{}}}function $0(e,n){const o=e.toUpperCase();let r=1;for(;n.has(`${o}_${r}`);)r++;return`${o}_${r}`}function lc(e,n){var s,c;const o=new Map(n.map(u=>[u.name,u])),r=[],i=[],a=new Map,l=[];for(const u of e){const p=o.get(u.name),d=cc(u.type,u,p);r.push(d),a.set(d.name,d)}for(const u of I0)if(!a.has(u)){const p=o.get(u)??O0(u),d=cc(u,void 0,p);r.push(d),a.set(d.name,d)}for(const u of e)D0(u,l);for(const u of l){const p=a.get(u.source),d=a.get(u.target);if(!p||!d){p||console.warn(`[initEditorState] skip: source "${u.source}" not found`),d||console.warn(`[initEditorState] skip: target "${u.target}" not found`);continue}i.push({id:oo("edge"),source:p.id,sourceField:(s=or(p,"output",u.sourceField))==null?void 0:s.id,target:d.id,targetField:(c=or(d,"input",u.targetField))==null?void 0:c.id})}return{nodes:r,edges:i}}function sc(e){const{type:n,name:o,phase:r,position:i,fields:a,config:l}=e,s=rc(n);return{id:oo("node"),type:n,name:o??n,phase:r??(n==="request"||n==="service_request"?"request":"response"),position:i??{x:0,y:0},expanded:{},fields:{input:ic((a==null?void 0:a.input)??s.input),output:ic((a==null?void 0:a.output)??s.output)},config:l?Cn(l):{}}}function cc(e,n,o){return sc({type:e,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??(e==="request"||e==="service_request"?"request":"response"),position:o==null?void 0:o.position,fields:o==null?void 0:o.fields,config:n?B0(n):void 0})}function B0(e){const{type:n,name:o,input:r,inputs:i,output:a,outputs:l,...s}=e;return Cn(s)}function D0(e,n){const o=e.name;if(e.input){const{nodeName:r,fieldName:i}=nr(e.input);r&&n.push({source:r,sourceField:i,target:o})}if(e.inputs)for(const[r,i]of Object.entries(e.inputs)){const{nodeName:a,fieldName:l}=nr(i);a&&n.push({source:a,sourceField:l,target:o,targetField:r})}if(e.output){const{nodeName:r,fieldName:i}=nr(e.output);r&&n.push({source:o,target:r,targetField:i})}if(e.outputs)for(const[r,i]of Object.entries(e.outputs)){const{nodeName:a,fieldName:l}=nr(i);a&&n.push({source:o,sourceField:r,target:a,targetField:l})}}function V0(e){const n=t.computed(()=>{const c=new Map;return e.value.nodes.forEach(u=>c.set(u.id,u)),c}),o=t.computed(()=>e.value.edges);function r(c){const u=n.value.get(c.source),p=n.value.get(c.target);if(!u||!p)return c;const d=ac(u,c.sourceField)&&!Ui(u,c.sourceField),f=Ui(p,c.targetField);return d&&f?{source:c.target,sourceField:c.targetField,target:c.source,targetField:c.sourceField}:c}function i(c){const u=r(c),p=[],d=n.value.get(u.source),f=n.value.get(u.target);if(d||p.push("source node not found"),f||p.push("target node not found"),!d||!f)return{ok:!1,errors:p};Ui(d,u.sourceField)||p.push("source handle is not an output field"),ac(f,u.targetField)||p.push("target handle is not an input field"),d.phase==="response"&&f.phase==="request"&&p.push("cannot connect from response phase to request phase"),f.name==="request"&&p.push('cannot target "request"'),d.name==="response"&&p.push('cannot source from "response"'),d.phase==="response"&&f.phase!=="response"&&p.push("response-phase output must go to response-phase nodes");const m=o.value.some(g=>g.target===u.target&&!g.targetField),h=o.value.some(g=>g.target===u.target&&!!g.targetField);(m&&u.targetField||h&&!u.targetField)&&p.push("cannot mix whole-node and field-level inputs on same target"),u.sourceField&&o.value.some(g=>g.source===u.source&&g.sourceField===u.sourceField)&&p.push("source field already connected"),u.targetField&&o.value.some(g=>g.target===u.target&&g.targetField===u.targetField)&&p.push("target field already connected"),!u.targetField&&o.value.some(g=>g.target===u.target&&!g.targetField)&&p.push("target input already taken"),u.source===u.target&&p.push("self-loop not allowed");const y=rr(o.value,u);return qi(y)&&p.push("connection introduces a cycle"),p.length?{ok:!1,errors:p}:{ok:!0}}function a(){const c=[],u=["request","service_request","service_response","response"];for(const p of u)[...n.value.values()].some(d=>d.name===p)||c.push(`missing implicit node "${p}"`);for(const p of o.value){const d=n.value.get(p.source),f=n.value.get(p.target);d.phase==="response"&&f.phase==="request"&&c.push(`edge "${p.id}" crosses phases (response → request)`),f.name==="request"&&c.push(`edge "${p.id}" targets "request"`),d.name==="response"&&c.push(`edge "${p.id}" sources from "response"`),d.phase==="response"&&f.phase!=="response"&&c.push(`edge "${p.id}" violates response-phase rule`)}return qi(rr(o.value))&&c.push("graph contains cycle"),c.length?{ok:!1,errors:c}:{ok:!0}}function l(c){return i(c).ok}function s(c){return!c.source||!c.target?!1:l({source:c.source,sourceField:c.sourceHandle,target:c.target,targetField:c.targetHandle})}return{canonicalizeConnection:r,validateConnection:i,validateGraph:a,isValidConnection:l,isValidVueFlowConnection:s,buildAdjacency:rr}}function qi(e){const n=new Set,o=new Set;function r(i){if(o.has(i))return!0;if(n.has(i))return!1;n.add(i),o.add(i);for(const a of e.get(i)??[])if(r(a))return!0;return o.delete(i),!1}for(const i of e.keys())if(r(i))return!0;return!1}function rr(e,n){const o=new Map;for(const r of e)o.has(r.source)||o.set(r.source,[]),o.get(r.source).push(r.target),o.has(r.target)||o.set(r.target,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}function R0(e,n){const{commit:o,undo:r,redo:i,canUndo:a,canRedo:l,clear:s,reset:c,undoStack:u}=Ze.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let p;function d(g,b){!!(b!=null&&b.replace)&&g&&p===g&&u.value.length>0&&u.value.pop(),o(),p=g}function f(){r(),p=void 0}function m(){i(),p=void 0}function h(){s(),p=void 0}function y(){c(),p=void 0}return{canUndo:a,canRedo:l,commit:d,undo:f,redo:m,clear:h,reset:y}}const[M0,F0]=Ze.createInjectionState(function(n,o){const r=t.ref(lc(n,o)),i=t.ref(),a=R0(r,{capacity:200,clone:Cn}),l=t.computed(()=>new Map(r.value.nodes.map(B=>[B.id,B]))),s=t.computed(()=>new Map(r.value.nodes.map(B=>[B.name,B]))),c=t.computed(()=>new Map(r.value.edges.map(B=>[B.id,B]))),u=t.computed(()=>new Set(r.value.nodes.map(B=>B.name))),{canonicalizeConnection:p,validateConnection:d,validateGraph:f,isValidConnection:m,isValidVueFlowConnection:h}=V0(r);function y(B){return l.value.get(B)}function g(B){return s.value.get(B)}function b(B){return c.value.get(B)}const k=t.computed(()=>i.value?y(i.value):void 0);function _(B){i.value=B}function E(B){if(Bt(B.type))throw new Error("[createNode] implicit nodes are fixed.");return sc({type:B.type,name:B.name||(Bt(B.type)?void 0:$0(B.type,u.value)),phase:B.phase,position:B.position,fields:B.fields,config:B.config})}function P(B,L=!0){const q=E(B);if(q)return r.value.nodes.push(q),L&&a.commit(),q.id}function C(B,L=!0){r.value.edges=r.value.edges.filter(Z=>Z.source!==B&&Z.target!==B),r.value.nodes=r.value.nodes.filter(Z=>Z.id!==B),i.value===B&&(i.value=void 0);const q=f();q.ok||console.warn("[removeNode] topology invalid:",q.errors.join("; ")),L&&a.commit()}function R(B,L,q=!0){const Z=y(B);if(Z){if(x0(Z.name)){console.warn("[renameNode] implicit node name is reserved.");return}Z.name=L,q&&a.commit()}}function $(B,L,q=!0){const Z=y(B);Z&&(Z.position={...L},q&&a.commit())}function O(B,L,q,Z=!0){const te=y(B);te&&(te.expanded[L]=q??!te.expanded[L],Z&&a.commit(`toggle:${B}:${L}`,{replace:!0}))}function X(B,L,q=!0){const Z=y(B);Z&&(Z.config=Cn(L),q&&a.commit())}function z(B,L,q,Z=!0){const te=y(B);if(!te)return;const ne=te.fields[L];if(ne.some(oe=>oe.name===q)){console.warn(`[addField] field "${q}" already exists on ${L}.`);return}ne.push({id:oo("field"),name:q}),L==="input"?te.fields.input=ne:te.fields.output=ne,Z&&a.commit()}function A(B,L,q,Z=!0){const te=y(B);if(!te)return;const ne=te.fields.input,oe=te.fields.output,pe=ne.find(fe=>fe.id===L)??oe.find(fe=>fe.id===L);pe&&(pe.name=q,Z&&a.commit())}function S(B,L,q=!0,Z=!0){const te=y(B);if(!te)return;const ne=te.fields.input,oe=te.fields.output,pe=ne.findIndex(N=>N.id===L);pe>=0&&ne.splice(pe,1);const fe=oe.findIndex(N=>N.id===L);fe>=0&&oe.splice(fe,1),te.fields.input=ne,te.fields.output=oe,q&&(r.value.edges=r.value.edges.filter(N=>N.sourceField!==L&&N.targetField!==L));const x=f();x.ok||console.warn("[removeField] topology invalid:",x.errors.join("; ")),Z&&a.commit()}function w(B,L=!0){const q=p(B),Z=d(q);if(!Z.ok){console.warn("[connectEdge] invalid connection:",Z.errors.join("; "));return}const te={id:oo("edge"),...q};r.value.edges.push(te);const ne=f();if(!ne.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",ne.errors.join("; "));return}return L&&a.commit(),te.id}function D(B,L,q=!0){T(B,!1),w(L,!1),q&&a.commit()}function T(B,L=!0){const q=r.value.edges.findIndex(ne=>ne.id===B);if(q<0)return;const Z=r.value.edges[q];r.value.edges.splice(q,1);const te=f();if(!te.ok){r.value.edges.splice(q,0,Z),console.warn("[disconnectEdge] topology invalid:",te.errors.join("; "));return}L&&a.commit()}function G(){var L,q,Z,te;const B=[];for(const ne of r.value.nodes){if(Bt(ne.type))continue;const oe={},pe={};for(const v of r.value.edges.filter(I=>I.target===ne.id)){const I=y(v.source);if(!I)continue;const J=(L=En(I,"output",v.sourceField))==null?void 0:L.name,Y=J?`${I.name}.${J}`:I.name,Q=(q=En(ne,"input",v.targetField))==null?void 0:q.name;Q?oe[Q]=Y:"input"in oe||(oe.input=Y)}for(const v of r.value.edges.filter(I=>I.source===ne.id)){const I=y(v.target);if(!I)continue;const J=(Z=En(I,"input",v.targetField))==null?void 0:Z.name,Y=J?`${I.name}.${J}`:I.name,Q=(te=En(ne,"output",v.sourceField))==null?void 0:te.name;Q?pe[Q]=Y:"output"in pe||(pe.output=Y)}const fe={...Cn(ne.config),name:ne.name,type:ne.type},x=Object.keys(oe),N=Object.keys(pe);x.length===1&&x[0]==="input"?fe.input=oe.input:x.length&&(fe.inputs=oe),N.length===1&&N[0]==="output"?fe.output=pe.output:N.length&&(fe.outputs=pe),B.push(fe)}return B}function U(){return r.value.nodes.map(B=>Cn({name:B.name,phase:B.phase,position:{...B.position},expanded:{...B.expanded},fields:{input:B.fields.input.map(L=>L.name),output:B.fields.output.map(L=>L.name)}}))}function M(B,L){r.value=lc(B,L),a.reset()}function V(B,L){const q=y(B.source),Z=y(B.target);return!!(q&&Z&&q.phase===L&&Z.phase===L)}const H=t.computed(()=>r.value.nodes.filter(B=>B.phase==="request").map(B=>({id:B.id,type:"flow",position:B.position,data:B,deletable:!Bt(B.type)}))),ie=t.computed(()=>r.value.edges.filter(B=>V(B,"request")).map(B=>({id:B.id,source:B.source,target:B.target,sourceHandle:B.sourceField,targetHandle:B.targetField,data:B}))),ce=t.computed(()=>r.value.nodes.filter(B=>B.phase==="response").map(B=>({id:B.id,type:"flow",position:B.position,data:B,deletable:!Bt(B.type)}))),ee=t.computed(()=>r.value.edges.filter(B=>V(B,"response")).map(B=>({id:B.id,source:B.source,target:B.target,sourceHandle:B.sourceField,targetHandle:B.targetField,data:B})));return{state:r,selection:i,nodeMapById:l,nodeMapByName:s,edgeMapById:c,getNodeById:y,getNodeByName:g,getEdgeById:b,selectedNode:k,selectNode:_,createNode:E,addNode:P,removeNode:C,renameNode:R,moveNode:$,toggleExpanded:O,replaceConfig:X,addField:z,renameField:A,removeField:S,connectEdge:w,replaceConnection:D,disconnectEdge:T,toConfigNodes:G,toUINodes:U,load:M,commit:a.commit,undo:a.undo,redo:a.redo,canUndo:a.canUndo,canRedo:a.canRedo,clear:a.clear,reset:a.reset,requestNodes:H,requestEdges:ie,responseNodes:ce,responseEdges:ee,isValidConnection:m,isValidVueFlowConnection:h,validateGraph:()=>f()}});function Nn(){const e=F0();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const zi=Ze.createGlobalState(()=>{const e=Ze.useLocalStorage("datakit-editor-mode","flow"),n=Ze.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}}),L0={class:"dk-editor-nav"},K0={class:"top"},U0={class:"bottom"},q0=we(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Fe.createI18n("en-us",Ue),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:ke.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=zi(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(u,p)=>(t.openBlock(),t.createElementBlock("nav",L0,[t.createElementVNode("div",K0,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:d,to:f,icon:m,onClick:h})=>t.createVNode(t.unref(Ie.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Ie.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:f,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Vi)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",U0,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:p[0]||(p[0]=t.withModifiers(d=>s.value=!1,["self"])),onTransitionstart:p[1]||(p[1]=t.withModifiers(d=>s.value=!0,["self"]))},[t.createVNode(t.unref(Ie.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(ke.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Vi)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(ke.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Vi)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-4498cfce"]]);function ir(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function St(e){return typeof e=="function"?e():t.unref(e)}const z0=typeof window<"u"&&typeof document<"u",G0=e=>typeof e<"u",j0=Object.prototype.toString,H0=e=>j0.call(e)==="[object Object]",Y0=()=>{};function W0(e,n){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(i).catch(a)})}return o}const uc=e=>e();function Z0(e=uc){const n=t.ref(!0);function o(){n.value=!1}function r(){n.value=!0}const i=(...a)=>{n.value&&e(...a)};return{isActive:t.readonly(n),pause:o,resume:r,eventFilter:i}}function dc(e,n=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(n?()=>i(o):r,e)})}function X0(e,n,o={}){const{eventFilter:r=uc,...i}=o;return t.watch(e,W0(r,n),i)}function vn(e,n,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=Z0(r);return{stop:X0(e,n,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function J0(e,n={}){if(!t.isRef(e))return t.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=t.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=St(n.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function Gi(e,n=!1){function o(d,{flush:f="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const k=[new Promise(_=>{g=t.watch(e,E=>{d(E)!==n&&(g==null||g(),_(E))},{flush:f,deep:m,immediate:!0})})];return h!=null&&k.push(dc(h,y).then(()=>St(e)).finally(()=>g==null?void 0:g())),Promise.race(k)}function r(d,f){if(!t.isRef(d))return o(E=>E===d,f);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=f??{};let b=null;const _=[new Promise(E=>{b=t.watch([e,d],([P,C])=>{n!==(P===C)&&(b==null||b(),E(P))},{flush:m,deep:h,immediate:!0})})];return y!=null&&_.push(dc(y,g).then(()=>St(e)).finally(()=>(b==null||b(),St(e)))),Promise.race(_)}function i(d){return o(f=>!!f,d)}function a(d){return r(null,d)}function l(d){return r(void 0,d)}function s(d){return o(Number.isNaN,d)}function c(d,f){return o(m=>{const h=Array.from(m);return h.includes(d)||h.includes(St(d))},f)}function u(d){return p(1,d)}function p(d=1,f){let m=-1;return o(()=>(m+=1,m>=d),f)}return Array.isArray(St(e))?{toMatch:o,toContains:c,changed:u,changedTimes:p,get not(){return Gi(e,!n)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:u,changedTimes:p,get not(){return Gi(e,!n)}}}function ji(e){return Gi(e)}function Q0(e){var n;const o=St(e);return(n=o==null?void 0:o.$el)!=null?n:o}const pc=z0?window:void 0;function fc(...e){let n,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,n=pc):[n,o,r,i]=e,!n)return Y0;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(p=>p()),a.length=0},s=(p,d,f,m)=>(p.addEventListener(d,f,m),()=>p.removeEventListener(d,f,m)),c=t.watch(()=>[Q0(n),St(i)],([p,d])=>{if(l(),!p)return;const f=H0(d)?{...d}:d;a.push(...o.flatMap(m=>r.map(h=>s(p,m,h,f))))},{immediate:!0,flush:"post"}),u=()=>{c(),l()};return ir(u),u}function ew(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function mc(...e){let n,o,r={};e.length===3?(n=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,o=e[0],r=e[1]):(n=e[0],o=e[1]):(n=!0,o=e[0]);const{target:i=pc,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=ew(n);return fc(i,a,p=>{p.repeat&&St(s)||c(p)&&o(p)},l)}function tw(e){return JSON.parse(JSON.stringify(e))}function Hi(e,n,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:u,deep:p=!1,defaultValue:d,shouldEmit:f}=r,m=t.getCurrentInstance(),h=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let y=u;n||(n="modelValue"),y=y||`update:${n.toString()}`;const g=_=>s?typeof s=="function"?s(_):tw(_):_,b=()=>G0(e[n])?g(e[n]):d,k=_=>{f?f(_)&&h(y,_):h(y,_)};if(c){const _=b(),E=t.ref(_);let P=!1;return t.watch(()=>e[n],C=>{P||(P=!0,E.value=g(C),t.nextTick(()=>P=!1))}),t.watch(E,C=>{!P&&(C!==e[n]||p)&&k(C)},{deep:p}),E}else return t.computed({get(){return b()},set(_){k(_)}})}var nw={value:()=>{}};function ar(){for(var e=0,n=arguments.length,o={},r;e<n;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new lr(o)}function lr(e){this._=e}function ow(e,n){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!n.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}lr.prototype=ar.prototype={constructor:lr,on:function(e,n){var o=this._,r=ow(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=rw(o[i],e.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(i=(e=r[a]).type)o[i]=gc(o[i],e.name,n);else if(n==null)for(i in o)o[i]=gc(o[i],e.name,null);return this},copy:function(){var e={},n=this._;for(var o in n)e[o]=n[o].slice();return new lr(e)},call:function(e,n){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(n,o)},apply:function(e,n,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(n,o)}};function rw(e,n){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===n)return i.value}function gc(e,n,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===n){e[r]=nw,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:n,value:o}),e}var Yi="http://www.w3.org/1999/xhtml";const hc={svg:"http://www.w3.org/2000/svg",xhtml:Yi,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function sr(e){var n=e+="",o=n.indexOf(":");return o>=0&&(n=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),hc.hasOwnProperty(n)?{space:hc[n],local:e}:e}function iw(e){return function(){var n=this.ownerDocument,o=this.namespaceURI;return o===Yi&&n.documentElement.namespaceURI===Yi?n.createElement(e):n.createElementNS(o,e)}}function aw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function yc(e){var n=sr(e);return(n.local?aw:iw)(n)}function lw(){}function Wi(e){return e==null?lw:function(){return this.querySelector(e)}}function sw(e){typeof e!="function"&&(e=Wi(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=new Array(l),c,u,p=0;p<l;++p)(c=a[p])&&(u=e.call(c,c.__data__,p,a))&&("__data__"in c&&(u.__data__=c.__data__),s[p]=u);return new nt(r,this._parents)}function cw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function uw(){return[]}function _c(e){return e==null?uw:function(){return this.querySelectorAll(e)}}function dw(e){return function(){return cw(e.apply(this,arguments))}}function pw(e){typeof e=="function"?e=dw(e):e=_c(e);for(var n=this._groups,o=n.length,r=[],i=[],a=0;a<o;++a)for(var l=n[a],s=l.length,c,u=0;u<s;++u)(c=l[u])&&(r.push(e.call(c,c.__data__,u,l)),i.push(c));return new nt(r,i)}function bc(e){return function(){return this.matches(e)}}function wc(e){return function(n){return n.matches(e)}}var fw=Array.prototype.find;function mw(e){return function(){return fw.call(this.children,e)}}function gw(){return this.firstElementChild}function hw(e){return this.select(e==null?gw:mw(typeof e=="function"?e:wc(e)))}var yw=Array.prototype.filter;function _w(){return Array.from(this.children)}function bw(e){return function(){return yw.call(this.children,e)}}function ww(e){return this.selectAll(e==null?_w:bw(typeof e=="function"?e:wc(e)))}function kw(e){typeof e!="function"&&(e=bc(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,u=0;u<l;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&s.push(c);return new nt(r,this._parents)}function kc(e){return new Array(e.length)}function Cw(){return new nt(this._enter||this._groups.map(kc),this._parents)}function cr(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}cr.prototype={constructor:cr,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Ew(e){return function(){return e}}function Nw(e,n,o,r,i,a){for(var l=0,s,c=n.length,u=a.length;l<u;++l)(s=n[l])?(s.__data__=a[l],r[l]=s):o[l]=new cr(e,a[l]);for(;l<c;++l)(s=n[l])&&(i[l]=s)}function vw(e,n,o,r,i,a,l){var s,c,u=new Map,p=n.length,d=a.length,f=new Array(p),m;for(s=0;s<p;++s)(c=n[s])&&(f[s]=m=l.call(c,c.__data__,s,n)+"",u.has(m)?i[s]=c:u.set(m,c));for(s=0;s<d;++s)m=l.call(e,a[s],s,a)+"",(c=u.get(m))?(r[s]=c,c.__data__=a[s],u.delete(m)):o[s]=new cr(e,a[s]);for(s=0;s<p;++s)(c=n[s])&&u.get(f[s])===c&&(i[s]=c)}function Sw(e){return e.__data__}function Aw(e,n){if(!arguments.length)return Array.from(this,Sw);var o=n?vw:Nw,r=this._parents,i=this._groups;typeof e!="function"&&(e=Ew(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),u=0;u<a;++u){var p=r[u],d=i[u],f=d.length,m=xw(e.call(p,p&&p.__data__,u,r)),h=m.length,y=s[u]=new Array(h),g=l[u]=new Array(h),b=c[u]=new Array(f);o(p,d,y,g,b,m,n);for(var k=0,_=0,E,P;k<h;++k)if(E=y[k]){for(k>=_&&(_=k+1);!(P=g[_])&&++_<h;);E._next=P||null}}return l=new nt(l,r),l._enter=s,l._exit=c,l}function xw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Tw(){return new nt(this._exit||this._groups.map(kc),this._parents)}function Pw(e,n,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),n!=null&&(i=n(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function Iw(e){for(var n=e.selection?e.selection():e,o=this._groups,r=n._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var u=o[c],p=r[c],d=u.length,f=s[c]=new Array(d),m,h=0;h<d;++h)(m=u[h]||p[h])&&(f[h]=m);for(;c<i;++c)s[c]=o[c];return new nt(s,this._parents)}function Ow(){for(var e=this._groups,n=-1,o=e.length;++n<o;)for(var r=e[n],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function $w(e){e||(e=Bw);function n(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),u,p=0;p<s;++p)(u=l[p])&&(c[p]=u);c.sort(n)}return new nt(i,this._parents).order()}function Bw(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Dw(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Vw(){return Array.from(this)}function Rw(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function Mw(){let e=0;for(const n of this)++e;return e}function Fw(){return!this.node()}function Lw(e){for(var n=this._groups,o=0,r=n.length;o<r;++o)for(var i=n[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Kw(e){return function(){this.removeAttribute(e)}}function Uw(e){return function(){this.removeAttributeNS(e.space,e.local)}}function qw(e,n){return function(){this.setAttribute(e,n)}}function zw(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function Gw(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function jw(e,n){return function(){var o=n.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function Hw(e,n){var o=sr(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((n==null?o.local?Uw:Kw:typeof n=="function"?o.local?jw:Gw:o.local?zw:qw)(o,n))}function Cc(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Yw(e){return function(){this.style.removeProperty(e)}}function Ww(e,n,o){return function(){this.style.setProperty(e,n,o)}}function Zw(e,n,o){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function Xw(e,n,o){return arguments.length>1?this.each((n==null?Yw:typeof n=="function"?Zw:Ww)(e,n,o??"")):Sn(this.node(),e)}function Sn(e,n){return e.style.getPropertyValue(n)||Cc(e).getComputedStyle(e,null).getPropertyValue(n)}function Jw(e){return function(){delete this[e]}}function Qw(e,n){return function(){this[e]=n}}function ek(e,n){return function(){var o=n.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function tk(e,n){return arguments.length>1?this.each((n==null?Jw:typeof n=="function"?ek:Qw)(e,n)):this.node()[e]}function Ec(e){return e.trim().split(/^|\s+/)}function Zi(e){return e.classList||new Nc(e)}function Nc(e){this._node=e,this._names=Ec(e.getAttribute("class")||"")}Nc.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function vc(e,n){for(var o=Zi(e),r=-1,i=n.length;++r<i;)o.add(n[r])}function Sc(e,n){for(var o=Zi(e),r=-1,i=n.length;++r<i;)o.remove(n[r])}function nk(e){return function(){vc(this,e)}}function ok(e){return function(){Sc(this,e)}}function rk(e,n){return function(){(n.apply(this,arguments)?vc:Sc)(this,e)}}function ik(e,n){var o=Ec(e+"");if(arguments.length<2){for(var r=Zi(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof n=="function"?rk:n?nk:ok)(o,n))}function ak(){this.textContent=""}function lk(e){return function(){this.textContent=e}}function sk(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function ck(e){return arguments.length?this.each(e==null?ak:(typeof e=="function"?sk:lk)(e)):this.node().textContent}function uk(){this.innerHTML=""}function dk(e){return function(){this.innerHTML=e}}function pk(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function fk(e){return arguments.length?this.each(e==null?uk:(typeof e=="function"?pk:dk)(e)):this.node().innerHTML}function mk(){this.nextSibling&&this.parentNode.appendChild(this)}function gk(){return this.each(mk)}function hk(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function yk(){return this.each(hk)}function _k(e){var n=typeof e=="function"?e:yc(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function bk(){return null}function wk(e,n){var o=typeof e=="function"?e:yc(e),r=n==null?bk:typeof n=="function"?n:Wi(n);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function kk(){var e=this.parentNode;e&&e.removeChild(this)}function Ck(){return this.each(kk)}function Ek(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Nk(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function vk(e){return this.select(e?Nk:Ek)}function Sk(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Ak(e){return function(n){e.call(this,n,this.__data__)}}function xk(e){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");return r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),{type:n,name:o}})}function Tk(e){return function(){var n=this.__on;if(n){for(var o=0,r=-1,i=n.length,a;o<i;++o)a=n[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function Pk(e,n,o){return function(){var r=this.__on,i,a=Ak(n);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=n;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:n,listener:a,options:o},r?r.push(i):this.__on=[i]}}function Ik(e,n,o){var r=xk(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,u=s.length,p;c<u;++c)for(i=0,p=s[c];i<a;++i)if((l=r[i]).type===p.type&&l.name===p.name)return p.value}return}for(s=n?Pk:Tk,i=0;i<a;++i)this.each(s(r[i],n,o));return this}function Ac(e,n,o){var r=Cc(e),i=r.CustomEvent;typeof i=="function"?i=new i(n,o):(i=r.document.createEvent("Event"),o?(i.initEvent(n,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(n,!1,!1)),e.dispatchEvent(i)}function Ok(e,n){return function(){return Ac(this,e,n)}}function $k(e,n){return function(){return Ac(this,e,n.apply(this,arguments))}}function Bk(e,n){return this.each((typeof n=="function"?$k:Ok)(e,n))}function*Dk(){for(var e=this._groups,n=0,o=e.length;n<o;++n)for(var r=e[n],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var xc=[null];function nt(e,n){this._groups=e,this._parents=n}function ro(){return new nt([[document.documentElement]],xc)}function Vk(){return this}nt.prototype=ro.prototype={constructor:nt,select:sw,selectAll:pw,selectChild:hw,selectChildren:ww,filter:kw,data:Aw,enter:Cw,exit:Tw,join:Pw,merge:Iw,selection:Vk,order:Ow,sort:$w,call:Dw,nodes:Vw,node:Rw,size:Mw,empty:Fw,each:Lw,attr:Hw,style:Xw,property:tk,classed:ik,text:ck,html:fk,raise:gk,lower:yk,append:_k,insert:wk,remove:Ck,clone:vk,datum:Sk,on:Ik,dispatch:Bk,[Symbol.iterator]:Dk};function lt(e){return typeof e=="string"?new nt([[document.querySelector(e)]],[document.documentElement]):new nt([[e]],xc)}function Rk(e){let n;for(;n=e.sourceEvent;)e=n;return e}function gt(e,n){if(e=Rk(e),n===void 0&&(n=e.currentTarget),n){var o=n.ownerSVGElement||n;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[e.clientX-i.left-n.clientLeft,e.clientY-i.top-n.clientTop]}}return[e.pageX,e.pageY]}const Mk={passive:!1},io={capture:!0,passive:!1};function Xi(e){e.stopImmediatePropagation()}function An(e){e.preventDefault(),e.stopImmediatePropagation()}function Tc(e){var n=e.document.documentElement,o=lt(e).on("dragstart.drag",An,io);"onselectstart"in n?o.on("selectstart.drag",An,io):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Pc(e,n){var o=e.document.documentElement,r=lt(e).on("dragstart.drag",null);n&&(r.on("click.drag",An,io),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const ur=e=>()=>e;function Ji(e,{sourceEvent:n,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:u,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:p}})}Ji.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Fk(e){return!e.ctrlKey&&!e.button}function Lk(){return this.parentNode}function Kk(e,n){return n??{x:e.x,y:e.y}}function Uk(){return navigator.maxTouchPoints||"ontouchstart"in this}function qk(){var e=Fk,n=Lk,o=Kk,r=Uk,i={},a=ar("start","drag","end"),l=0,s,c,u,p,d=0;function f(E){E.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",b,Mk).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(E,P){if(!(p||!e.call(this,E,P))){var C=_(this,n.call(this,E,P),E,P,"mouse");C&&(lt(E.view).on("mousemove.drag",h,io).on("mouseup.drag",y,io),Tc(E.view),Xi(E),u=!1,s=E.clientX,c=E.clientY,C("start",E))}}function h(E){if(An(E),!u){var P=E.clientX-s,C=E.clientY-c;u=P*P+C*C>d}i.mouse("drag",E)}function y(E){lt(E.view).on("mousemove.drag mouseup.drag",null),Pc(E.view,u),An(E),i.mouse("end",E)}function g(E,P){if(e.call(this,E,P)){var C=E.changedTouches,R=n.call(this,E,P),$=C.length,O,X;for(O=0;O<$;++O)(X=_(this,R,E,P,C[O].identifier,C[O]))&&(Xi(E),X("start",E,C[O]))}}function b(E){var P=E.changedTouches,C=P.length,R,$;for(R=0;R<C;++R)($=i[P[R].identifier])&&(An(E),$("drag",E,P[R]))}function k(E){var P=E.changedTouches,C=P.length,R,$;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),R=0;R<C;++R)($=i[P[R].identifier])&&(Xi(E),$("end",E,P[R]))}function _(E,P,C,R,$,O){var X=a.copy(),z=gt(O||C,P),A,S,w;if((w=o.call(E,new Ji("beforestart",{sourceEvent:C,target:f,identifier:$,active:l,x:z[0],y:z[1],dx:0,dy:0,dispatch:X}),R))!=null)return A=w.x-z[0]||0,S=w.y-z[1]||0,function D(T,G,U){var M=z,V;switch(T){case"start":i[$]=D,V=l++;break;case"end":delete i[$],--l;case"drag":z=gt(U||G,P),V=l;break}X.call(T,E,new Ji(T,{sourceEvent:G,subject:w,target:f,identifier:$,active:V,x:z[0]+A,y:z[1]+S,dx:z[0]-M[0],dy:z[1]-M[1],dispatch:X}),R)}}return f.filter=function(E){return arguments.length?(e=typeof E=="function"?E:ur(!!E),f):e},f.container=function(E){return arguments.length?(n=typeof E=="function"?E:ur(E),f):n},f.subject=function(E){return arguments.length?(o=typeof E=="function"?E:ur(E),f):o},f.touchable=function(E){return arguments.length?(r=typeof E=="function"?E:ur(!!E),f):r},f.on=function(){var E=a.on.apply(a,arguments);return E===a?f:E},f.clickDistance=function(E){return arguments.length?(d=(E=+E)*E,f):Math.sqrt(d)},f}function Qi(e,n,o){e.prototype=n.prototype=o,o.constructor=e}function Ic(e,n){var o=Object.create(e.prototype);for(var r in n)o[r]=n[r];return o}function ao(){}var lo=.7,dr=1/lo,xn="\\s*([+-]?\\d+)\\s*",so="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ht="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",zk=/^#([0-9a-f]{3,8})$/,Gk=new RegExp(`^rgb\\(${xn},${xn},${xn}\\)$`),jk=new RegExp(`^rgb\\(${ht},${ht},${ht}\\)$`),Hk=new RegExp(`^rgba\\(${xn},${xn},${xn},${so}\\)$`),Yk=new RegExp(`^rgba\\(${ht},${ht},${ht},${so}\\)$`),Wk=new RegExp(`^hsl\\(${so},${ht},${ht}\\)$`),Zk=new RegExp(`^hsla\\(${so},${ht},${ht},${so}\\)$`),Oc={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Qi(ao,tn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:$c,formatHex:$c,formatHex8:Xk,formatHsl:Jk,formatRgb:Bc,toString:Bc});function $c(){return this.rgb().formatHex()}function Xk(){return this.rgb().formatHex8()}function Jk(){return Fc(this).formatHsl()}function Bc(){return this.rgb().formatRgb()}function tn(e){var n,o;return e=(e+"").trim().toLowerCase(),(n=zk.exec(e))?(o=n[1].length,n=parseInt(n[1],16),o===6?Dc(n):o===3?new Qe(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):o===8?pr(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):o===4?pr(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=Gk.exec(e))?new Qe(n[1],n[2],n[3],1):(n=jk.exec(e))?new Qe(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Hk.exec(e))?pr(n[1],n[2],n[3],n[4]):(n=Yk.exec(e))?pr(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Wk.exec(e))?Mc(n[1],n[2]/100,n[3]/100,1):(n=Zk.exec(e))?Mc(n[1],n[2]/100,n[3]/100,n[4]):Oc.hasOwnProperty(e)?Dc(Oc[e]):e==="transparent"?new Qe(NaN,NaN,NaN,0):null}function Dc(e){return new Qe(e>>16&255,e>>8&255,e&255,1)}function pr(e,n,o,r){return r<=0&&(e=n=o=NaN),new Qe(e,n,o,r)}function Qk(e){return e instanceof ao||(e=tn(e)),e?(e=e.rgb(),new Qe(e.r,e.g,e.b,e.opacity)):new Qe}function ea(e,n,o,r){return arguments.length===1?Qk(e):new Qe(e,n,o,r??1)}function Qe(e,n,o,r){this.r=+e,this.g=+n,this.b=+o,this.opacity=+r}Qi(Qe,ea,Ic(ao,{brighter(e){return e=e==null?dr:Math.pow(dr,e),new Qe(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?lo:Math.pow(lo,e),new Qe(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Qe(nn(this.r),nn(this.g),nn(this.b),fr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vc,formatHex:Vc,formatHex8:eC,formatRgb:Rc,toString:Rc}));function Vc(){return`#${on(this.r)}${on(this.g)}${on(this.b)}`}function eC(){return`#${on(this.r)}${on(this.g)}${on(this.b)}${on((isNaN(this.opacity)?1:this.opacity)*255)}`}function Rc(){const e=fr(this.opacity);return`${e===1?"rgb(":"rgba("}${nn(this.r)}, ${nn(this.g)}, ${nn(this.b)}${e===1?")":`, ${e})`}`}function fr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function on(e){return e=nn(e),(e<16?"0":"")+e.toString(16)}function Mc(e,n,o,r){return r<=0?e=n=o=NaN:o<=0||o>=1?e=n=NaN:n<=0&&(e=NaN),new st(e,n,o,r)}function Fc(e){if(e instanceof st)return new st(e.h,e.s,e.l,e.opacity);if(e instanceof ao||(e=tn(e)),!e)return new st;if(e instanceof st)return e;e=e.rgb();var n=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(n,o,r),a=Math.max(n,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(n===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-n)/s+2:l=(n-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new st(l,s,c,e.opacity)}function tC(e,n,o,r){return arguments.length===1?Fc(e):new st(e,n,o,r??1)}function st(e,n,o,r){this.h=+e,this.s=+n,this.l=+o,this.opacity=+r}Qi(st,tC,Ic(ao,{brighter(e){return e=e==null?dr:Math.pow(dr,e),new st(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?lo:Math.pow(lo,e),new st(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*n,i=2*o-r;return new Qe(ta(e>=240?e-240:e+120,i,r),ta(e,i,r),ta(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new st(Lc(this.h),mr(this.s),mr(this.l),fr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=fr(this.opacity);return`${e===1?"hsl(":"hsla("}${Lc(this.h)}, ${mr(this.s)*100}%, ${mr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Lc(e){return e=(e||0)%360,e<0?e+360:e}function mr(e){return Math.max(0,Math.min(1,e||0))}function ta(e,n,o){return(e<60?n+(o-n)*e/60:e<180?o:e<240?n+(o-n)*(240-e)/60:n)*255}const na=e=>()=>e;function nC(e,n){return function(o){return e+o*n}}function oC(e,n,o){return e=Math.pow(e,o),n=Math.pow(n,o)-e,o=1/o,function(r){return Math.pow(e+r*n,o)}}function rC(e){return(e=+e)==1?Kc:function(n,o){return o-n?oC(n,o,e):na(isNaN(n)?o:n)}}function Kc(e,n){var o=n-e;return o?nC(e,o):na(isNaN(e)?n:e)}const gr=function e(n){var o=rC(n);function r(i,a){var l=o((i=ea(i)).r,(a=ea(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),u=Kc(i.opacity,a.opacity);return function(p){return i.r=l(p),i.g=s(p),i.b=c(p),i.opacity=u(p),i+""}}return r.gamma=e,r}(1);function iC(e,n){n||(n=[]);var o=e?Math.min(n.length,e.length):0,r=n.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+n[i]*a;return r}}function aC(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function lC(e,n){var o=n?n.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=co(e[l],n[l]);for(;l<o;++l)a[l]=n[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function sC(e,n){var o=new Date;return e=+e,n=+n,function(r){return o.setTime(e*(1-r)+n*r),o}}function yt(e,n){return e=+e,n=+n,function(o){return e*(1-o)+n*o}}function cC(e,n){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in e?o[i]=co(e[i],n[i]):r[i]=n[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var oa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ra=new RegExp(oa.source,"g");function uC(e){return function(){return e}}function dC(e){return function(n){return e(n)+""}}function Uc(e,n){var o=oa.lastIndex=ra.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",n=n+"";(r=oa.exec(e))&&(i=ra.exec(n));)(a=i.index)>o&&(a=n.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:yt(r,i)})),o=ra.lastIndex;return o<n.length&&(a=n.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?dC(c[0].x):uC(n):(n=c.length,function(u){for(var p=0,d;p<n;++p)s[(d=c[p]).i]=d.x(u);return s.join("")})}function co(e,n){var o=typeof n,r;return n==null||o==="boolean"?na(n):(o==="number"?yt:o==="string"?(r=tn(n))?(n=r,gr):Uc:n instanceof tn?gr:n instanceof Date?sC:aC(n)?iC:Array.isArray(n)?lC:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?cC:yt)(e,n)}var qc=180/Math.PI,ia={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function zc(e,n,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(c=e*o+n*r)&&(o-=e*c,r-=n*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<n*o&&(e=-e,n=-n,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(n,e)*qc,skewX:Math.atan(c)*qc,scaleX:l,scaleY:s}}var hr;function pC(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?ia:zc(n.a,n.b,n.c,n.d,n.e,n.f)}function fC(e){return e==null||(hr||(hr=document.createElementNS("http://www.w3.org/2000/svg","g")),hr.setAttribute("transform",e),!(e=hr.transform.baseVal.consolidate()))?ia:(e=e.matrix,zc(e.a,e.b,e.c,e.d,e.e,e.f))}function Gc(e,n,o,r){function i(u){return u.length?u.pop()+" ":""}function a(u,p,d,f,m,h){if(u!==d||p!==f){var y=m.push("translate(",null,n,null,o);h.push({i:y-4,x:yt(u,d)},{i:y-2,x:yt(p,f)})}else(d||f)&&m.push("translate("+d+n+f+o)}function l(u,p,d,f){u!==p?(u-p>180?p+=360:p-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:yt(u,p)})):p&&d.push(i(d)+"rotate("+p+r)}function s(u,p,d,f){u!==p?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:yt(u,p)}):p&&d.push(i(d)+"skewX("+p+r)}function c(u,p,d,f,m,h){if(u!==d||p!==f){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:yt(u,d)},{i:y-2,x:yt(p,f)})}else(d!==1||f!==1)&&m.push(i(m)+"scale("+d+","+f+")")}return function(u,p){var d=[],f=[];return u=e(u),p=e(p),a(u.translateX,u.translateY,p.translateX,p.translateY,d,f),l(u.rotate,p.rotate,d,f),s(u.skewX,p.skewX,d,f),c(u.scaleX,u.scaleY,p.scaleX,p.scaleY,d,f),u=p=null,function(m){for(var h=-1,y=f.length,g;++h<y;)d[(g=f[h]).i]=g.x(m);return d.join("")}}}var mC=Gc(pC,"px, ","px)","deg)"),gC=Gc(fC,", ",")",")"),hC=1e-12;function jc(e){return((e=Math.exp(e))+1/e)/2}function yC(e){return((e=Math.exp(e))-1/e)/2}function _C(e){return((e=Math.exp(2*e))-1)/(e+1)}const yr=function e(n,o,r){function i(a,l){var s=a[0],c=a[1],u=a[2],p=l[0],d=l[1],f=l[2],m=p-s,h=d-c,y=m*m+h*h,g,b;if(y<hC)b=Math.log(f/u)/n,g=function(R){return[s+R*m,c+R*h,u*Math.exp(n*R*b)]};else{var k=Math.sqrt(y),_=(f*f-u*u+r*y)/(2*u*o*k),E=(f*f-u*u-r*y)/(2*f*o*k),P=Math.log(Math.sqrt(_*_+1)-_),C=Math.log(Math.sqrt(E*E+1)-E);b=(C-P)/n,g=function(R){var $=R*b,O=jc(P),X=u/(o*k)*(O*_C(n*$+P)-yC(P));return[s+X*m,c+X*h,u*O/jc(n*$+P)]}}return g.duration=b*1e3*n/Math.SQRT2,g}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Tn=0,uo=0,po=0,Hc=1e3,_r,fo,br=0,rn=0,wr=0,mo=typeof performance=="object"&&performance.now?performance:Date,Yc=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function aa(){return rn||(Yc(bC),rn=mo.now()+wr)}function bC(){rn=0}function kr(){this._call=this._time=this._next=null}kr.prototype=Wc.prototype={constructor:kr,restart:function(e,n,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?aa():+o)+(n==null?0:+n),!this._next&&fo!==this&&(fo?fo._next=this:_r=this,fo=this),this._call=e,this._time=o,la()},stop:function(){this._call&&(this._call=null,this._time=1/0,la())}};function Wc(e,n,o){var r=new kr;return r.restart(e,n,o),r}function wC(){aa(),++Tn;for(var e=_r,n;e;)(n=rn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Tn}function Zc(){rn=(br=mo.now())+wr,Tn=uo=0;try{wC()}finally{Tn=0,CC(),rn=0}}function kC(){var e=mo.now(),n=e-br;n>Hc&&(wr-=n,br=e)}function CC(){for(var e,n=_r,o,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(o=n._next,n._next=null,n=e?e._next=o:_r=o);fo=e,la(r)}function la(e){if(!Tn){uo&&(uo=clearTimeout(uo));var n=e-rn;n>24?(e<1/0&&(uo=setTimeout(Zc,e-mo.now()-wr)),po&&(po=clearInterval(po))):(po||(br=mo.now(),po=setInterval(kC,Hc)),Tn=1,Yc(Zc))}}function Xc(e,n,o){var r=new kr;return n=n==null?0:+n,r.restart(i=>{r.stop(),e(i+n)},n,o),r}var EC=ar("start","end","cancel","interrupt"),NC=[],Jc=0,Qc=1,sa=2,Cr=3,eu=4,ca=5,Er=6;function Nr(e,n,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;vC(e,o,{name:n,index:r,group:i,on:EC,tween:NC,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Jc})}function ua(e,n){var o=ct(e,n);if(o.state>Jc)throw new Error("too late; already scheduled");return o}function _t(e,n){var o=ct(e,n);if(o.state>Cr)throw new Error("too late; already running");return o}function ct(e,n){var o=e.__transition;if(!o||!(o=o[n]))throw new Error("transition not found");return o}function vC(e,n,o){var r=e.__transition,i;r[n]=o,o.timer=Wc(a,0,o.time);function a(u){o.state=Qc,o.timer.restart(l,o.delay,o.time),o.delay<=u&&l(u-o.delay)}function l(u){var p,d,f,m;if(o.state!==Qc)return c();for(p in r)if(m=r[p],m.name===o.name){if(m.state===Cr)return Xc(l);m.state===eu?(m.state=Er,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[p]):+p<n&&(m.state=Er,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[p])}if(Xc(function(){o.state===Cr&&(o.state=eu,o.timer.restart(s,o.delay,o.time),s(u))}),o.state=sa,o.on.call("start",e,e.__data__,o.index,o.group),o.state===sa){for(o.state=Cr,i=new Array(f=o.tween.length),p=0,d=-1;p<f;++p)(m=o.tween[p].value.call(e,e.__data__,o.index,o.group))&&(i[++d]=m);i.length=d+1}}function s(u){for(var p=u<o.duration?o.ease.call(null,u/o.duration):(o.timer.restart(c),o.state=ca,1),d=-1,f=i.length;++d<f;)i[d].call(e,p);o.state===ca&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=Er,o.timer.stop(),delete r[n];for(var u in r)return;delete e.__transition}}function vr(e,n){var o=e.__transition,r,i,a=!0,l;if(o){n=n==null?null:n+"";for(l in o){if((r=o[l]).name!==n){a=!1;continue}i=r.state>sa&&r.state<ca,r.state=Er,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function SC(e){return this.each(function(){vr(this,e)})}function AC(e,n){var o,r;return function(){var i=_t(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===n){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function xC(e,n,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=_t(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:n,value:o},c=0,u=i.length;c<u;++c)if(i[c].name===n){i[c]=s;break}c===u&&i.push(s)}a.tween=i}}function TC(e,n){var o=this._id;if(e+="",arguments.length<2){for(var r=ct(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((n==null?AC:xC)(o,e,n))}function da(e,n,o){var r=e._id;return e.each(function(){var i=_t(this,r);(i.value||(i.value={}))[n]=o.apply(this,arguments)}),function(i){return ct(i,r).value[n]}}function tu(e,n){var o;return(typeof n=="number"?yt:n instanceof tn?gr:(o=tn(n))?(n=o,gr):Uc)(e,n)}function PC(e){return function(){this.removeAttribute(e)}}function IC(e){return function(){this.removeAttributeNS(e.space,e.local)}}function OC(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=n(r=l,o)}}function $C(e,n,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=n(r=l,o)}}function BC(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function DC(e,n,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s)))}}function VC(e,n){var o=sr(e),r=o==="transform"?gC:tu;return this.attrTween(e,typeof n=="function"?(o.local?DC:BC)(o,r,da(this,"attr."+e,n)):n==null?(o.local?IC:PC)(o):(o.local?$C:OC)(o,r,n))}function RC(e,n){return function(o){this.setAttribute(e,n.call(this,o))}}function MC(e,n){return function(o){this.setAttributeNS(e.space,e.local,n.call(this,o))}}function FC(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&MC(e,a)),o}return i._value=n,i}function LC(e,n){var o,r;function i(){var a=n.apply(this,arguments);return a!==r&&(o=(r=a)&&RC(e,a)),o}return i._value=n,i}function KC(e,n){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;var r=sr(e);return this.tween(o,(r.local?FC:LC)(r,n))}function UC(e,n){return function(){ua(this,e).delay=+n.apply(this,arguments)}}function qC(e,n){return n=+n,function(){ua(this,e).delay=n}}function zC(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?UC:qC)(n,e)):ct(this.node(),n).delay}function GC(e,n){return function(){_t(this,e).duration=+n.apply(this,arguments)}}function jC(e,n){return n=+n,function(){_t(this,e).duration=n}}function HC(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?GC:jC)(n,e)):ct(this.node(),n).duration}function YC(e,n){if(typeof n!="function")throw new Error;return function(){_t(this,e).ease=n}}function WC(e){var n=this._id;return arguments.length?this.each(YC(n,e)):ct(this.node(),n).ease}function ZC(e,n){return function(){var o=n.apply(this,arguments);if(typeof o!="function")throw new Error;_t(this,e).ease=o}}function XC(e){if(typeof e!="function")throw new Error;return this.each(ZC(this._id,e))}function JC(e){typeof e!="function"&&(e=bc(e));for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i)for(var a=n[i],l=a.length,s=r[i]=[],c,u=0;u<l;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&s.push(c);return new At(r,this._parents,this._name,this._id)}function QC(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,o=e._groups,r=n.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=n[s],u=o[s],p=c.length,d=l[s]=new Array(p),f,m=0;m<p;++m)(f=c[m]||u[m])&&(d[m]=f);for(;s<r;++s)l[s]=n[s];return new At(l,this._parents,this._name,this._id)}function eE(e){return(e+"").trim().split(/^|\s+/).every(function(n){var o=n.indexOf(".");return o>=0&&(n=n.slice(0,o)),!n||n==="start"})}function tE(e,n,o){var r,i,a=eE(n)?ua:_t;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(n,o),l.on=i}}function nE(e,n){var o=this._id;return arguments.length<2?ct(this.node(),o).on.on(e):this.each(tE(o,e,n))}function oE(e){return function(){var n=this.parentNode;for(var o in this.__transition)if(+o!==e)return;n&&n.removeChild(this)}}function rE(){return this.on("end.remove",oE(this._id))}function iE(e){var n=this._name,o=this._id;typeof e!="function"&&(e=Wi(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,u=a[l]=new Array(c),p,d,f=0;f<c;++f)(p=s[f])&&(d=e.call(p,p.__data__,f,s))&&("__data__"in p&&(d.__data__=p.__data__),u[f]=d,Nr(u[f],n,o,f,u,ct(p,o)));return new At(a,this._parents,n,o)}function aE(e){var n=this._name,o=this._id;typeof e!="function"&&(e=_c(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],u=c.length,p,d=0;d<u;++d)if(p=c[d]){for(var f=e.call(p,p.__data__,d,c),m,h=ct(p,o),y=0,g=f.length;y<g;++y)(m=f[y])&&Nr(m,n,o,y,f,h);a.push(f),l.push(p)}return new At(a,l,n,o)}var lE=ro.prototype.constructor;function sE(){return new lE(this._groups,this._parents)}function cE(e,n){var o,r,i;return function(){var a=Sn(this,e),l=(this.style.removeProperty(e),Sn(this,e));return a===l?null:a===o&&l===r?i:i=n(o=a,r=l)}}function nu(e){return function(){this.style.removeProperty(e)}}function uE(e,n,o){var r,i=o+"",a;return function(){var l=Sn(this,e);return l===i?null:l===r?a:a=n(r=l,o)}}function dE(e,n,o){var r,i,a;return function(){var l=Sn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Sn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=n(r=l,s))}}function pE(e,n){var o,r,i,a="style."+n,l="end."+a,s;return function(){var c=_t(this,e),u=c.on,p=c.value[a]==null?s||(s=nu(n)):void 0;(u!==o||i!==p)&&(r=(o=u).copy()).on(l,i=p),c.on=r}}function fE(e,n,o){var r=(e+="")=="transform"?mC:tu;return n==null?this.styleTween(e,cE(e,r)).on("end.style."+e,nu(e)):typeof n=="function"?this.styleTween(e,dE(e,r,da(this,"style."+e,n))).each(pE(this._id,e)):this.styleTween(e,uE(e,r,n),o).on("end.style."+e,null)}function mE(e,n,o){return function(r){this.style.setProperty(e,n.call(this,r),o)}}function gE(e,n,o){var r,i;function a(){var l=n.apply(this,arguments);return l!==i&&(r=(i=l)&&mE(e,l,o)),r}return a._value=n,a}function hE(e,n,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,gE(e,n,o??""))}function yE(e){return function(){this.textContent=e}}function _E(e){return function(){var n=e(this);this.textContent=n??""}}function bE(e){return this.tween("text",typeof e=="function"?_E(da(this,"text",e)):yE(e==null?"":e+""))}function wE(e){return function(n){this.textContent=e.call(this,n)}}function kE(e){var n,o;function r(){var i=e.apply(this,arguments);return i!==o&&(n=(o=i)&&wE(i)),n}return r._value=e,r}function CE(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,kE(e))}function EE(){for(var e=this._name,n=this._id,o=ou(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,u=0;u<s;++u)if(c=l[u]){var p=ct(c,n);Nr(c,e,o,u,l,{time:p.time+p.delay+p.duration,delay:0,duration:p.duration,ease:p.ease})}return new At(r,this._parents,e,o)}function NE(){var e,n,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var u=_t(this,r),p=u.on;p!==e&&(n=(e=p).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(c)),u.on=n}),i===0&&a()})}var vE=0;function At(e,n,o,r){this._groups=e,this._parents=n,this._name=o,this._id=r}function ou(){return++vE}var xt=ro.prototype;At.prototype={constructor:At,select:iE,selectAll:aE,selectChild:xt.selectChild,selectChildren:xt.selectChildren,filter:JC,merge:QC,selection:sE,transition:EE,call:xt.call,nodes:xt.nodes,node:xt.node,size:xt.size,empty:xt.empty,each:xt.each,on:nE,attr:VC,attrTween:KC,style:fE,styleTween:hE,text:bE,textTween:CE,remove:rE,tween:TC,delay:zC,duration:HC,ease:WC,easeVarying:XC,end:NE,[Symbol.iterator]:xt[Symbol.iterator]};function SE(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var AE={time:null,delay:0,duration:250,ease:SE};function xE(e,n){for(var o;!(o=e.__transition)||!(o=o[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return o}function TE(e){var n,o;e instanceof At?(n=e._id,e=e._name):(n=ou(),(o=AE).time=aa(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,u=0;u<s;++u)(c=l[u])&&Nr(c,e,n,u,l,o||xE(c,n));return new At(r,this._parents,e,n)}ro.prototype.interrupt=SC,ro.prototype.transition=TE;const Sr=e=>()=>e;function PE(e,{sourceEvent:n,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Tt(e,n,o){this.k=e,this.x=n,this.y=o}Tt.prototype={constructor:Tt,scale:function(e){return e===1?this:new Tt(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Tt(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Pn=new Tt(1,0,0);Tt.prototype;function pa(e){e.stopImmediatePropagation()}function go(e){e.preventDefault(),e.stopImmediatePropagation()}function IE(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function OE(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ru(){return this.__zoom||Pn}function $E(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function BE(){return navigator.maxTouchPoints||"ontouchstart"in this}function DE(e,n,o){var r=e.invertX(n[0][0])-o[0][0],i=e.invertX(n[1][0])-o[1][0],a=e.invertY(n[0][1])-o[0][1],l=e.invertY(n[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function VE(){var e=IE,n=OE,o=DE,r=$E,i=BE,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=yr,u=ar("start","zoom","end"),p,d,f,m=500,h=150,y=0,g=10;function b(w){w.property("__zoom",ru).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",X).filter(i).on("touchstart.zoom",z).on("touchmove.zoom",A).on("touchend.zoom touchcancel.zoom",S).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(w,D,T,G){var U=w.selection?w.selection():w;U.property("__zoom",ru),w!==U?P(w,D,T,G):U.interrupt().each(function(){C(this,arguments).event(G).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},b.scaleBy=function(w,D,T,G){b.scaleTo(w,function(){var U=this.__zoom.k,M=typeof D=="function"?D.apply(this,arguments):D;return U*M},T,G)},b.scaleTo=function(w,D,T,G){b.transform(w,function(){var U=n.apply(this,arguments),M=this.__zoom,V=T==null?E(U):typeof T=="function"?T.apply(this,arguments):T,H=M.invert(V),ie=typeof D=="function"?D.apply(this,arguments):D;return o(_(k(M,ie),V,H),U,l)},T,G)},b.translateBy=function(w,D,T,G){b.transform(w,function(){return o(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof T=="function"?T.apply(this,arguments):T),n.apply(this,arguments),l)},null,G)},b.translateTo=function(w,D,T,G,U){b.transform(w,function(){var M=n.apply(this,arguments),V=this.__zoom,H=G==null?E(M):typeof G=="function"?G.apply(this,arguments):G;return o(Pn.translate(H[0],H[1]).scale(V.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof T=="function"?-T.apply(this,arguments):-T),M,l)},G,U)};function k(w,D){return D=Math.max(a[0],Math.min(a[1],D)),D===w.k?w:new Tt(D,w.x,w.y)}function _(w,D,T){var G=D[0]-T[0]*w.k,U=D[1]-T[1]*w.k;return G===w.x&&U===w.y?w:new Tt(w.k,G,U)}function E(w){return[(+w[0][0]+ +w[1][0])/2,(+w[0][1]+ +w[1][1])/2]}function P(w,D,T,G){w.on("start.zoom",function(){C(this,arguments).event(G).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(G).end()}).tween("zoom",function(){var U=this,M=arguments,V=C(U,M).event(G),H=n.apply(U,M),ie=T==null?E(H):typeof T=="function"?T.apply(U,M):T,ce=Math.max(H[1][0]-H[0][0],H[1][1]-H[0][1]),ee=U.__zoom,B=typeof D=="function"?D.apply(U,M):D,L=c(ee.invert(ie).concat(ce/ee.k),B.invert(ie).concat(ce/B.k));return function(q){if(q===1)q=B;else{var Z=L(q),te=ce/Z[2];q=new Tt(te,ie[0]-Z[0]*te,ie[1]-Z[1]*te)}V.zoom(null,q)}})}function C(w,D,T){return!T&&w.__zooming||new R(w,D)}function R(w,D){this.that=w,this.args=D,this.active=0,this.sourceEvent=null,this.extent=n.apply(w,D),this.taps=0}R.prototype={event:function(w){return w&&(this.sourceEvent=w),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(w,D){return this.mouse&&w!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&w!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&w!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(w){var D=lt(this.that).datum();u.call(w,this.that,new PE(w,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),D)}};function $(w,...D){if(!e.apply(this,arguments))return;var T=C(this,D).event(w),G=this.__zoom,U=Math.max(a[0],Math.min(a[1],G.k*Math.pow(2,r.apply(this,arguments)))),M=gt(w);if(T.wheel)(T.mouse[0][0]!==M[0]||T.mouse[0][1]!==M[1])&&(T.mouse[1]=G.invert(T.mouse[0]=M)),clearTimeout(T.wheel);else{if(G.k===U)return;T.mouse=[M,G.invert(M)],vr(this),T.start()}go(w),T.wheel=setTimeout(V,h),T.zoom("mouse",o(_(k(G,U),T.mouse[0],T.mouse[1]),T.extent,l));function V(){T.wheel=null,T.end()}}function O(w,...D){if(f||!e.apply(this,arguments))return;var T=w.currentTarget,G=C(this,D,!0).event(w),U=lt(w.view).on("mousemove.zoom",ie,!0).on("mouseup.zoom",ce,!0),M=gt(w,T),V=w.clientX,H=w.clientY;Tc(w.view),pa(w),G.mouse=[M,this.__zoom.invert(M)],vr(this),G.start();function ie(ee){if(go(ee),!G.moved){var B=ee.clientX-V,L=ee.clientY-H;G.moved=B*B+L*L>y}G.event(ee).zoom("mouse",o(_(G.that.__zoom,G.mouse[0]=gt(ee,T),G.mouse[1]),G.extent,l))}function ce(ee){U.on("mousemove.zoom mouseup.zoom",null),Pc(ee.view,G.moved),go(ee),G.event(ee).end()}}function X(w,...D){if(e.apply(this,arguments)){var T=this.__zoom,G=gt(w.changedTouches?w.changedTouches[0]:w,this),U=T.invert(G),M=T.k*(w.shiftKey?.5:2),V=o(_(k(T,M),G,U),n.apply(this,D),l);go(w),s>0?lt(this).transition().duration(s).call(P,V,G,w):lt(this).call(b.transform,V,G,w)}}function z(w,...D){if(e.apply(this,arguments)){var T=w.touches,G=T.length,U=C(this,D,w.changedTouches.length===G).event(w),M,V,H,ie;for(pa(w),V=0;V<G;++V)H=T[V],ie=gt(H,this),ie=[ie,this.__zoom.invert(ie),H.identifier],U.touch0?!U.touch1&&U.touch0[2]!==ie[2]&&(U.touch1=ie,U.taps=0):(U.touch0=ie,M=!0,U.taps=1+!!p);p&&(p=clearTimeout(p)),M&&(U.taps<2&&(d=ie[0],p=setTimeout(function(){p=null},m)),vr(this),U.start())}}function A(w,...D){if(this.__zooming){var T=C(this,D).event(w),G=w.changedTouches,U=G.length,M,V,H,ie;for(go(w),M=0;M<U;++M)V=G[M],H=gt(V,this),T.touch0&&T.touch0[2]===V.identifier?T.touch0[0]=H:T.touch1&&T.touch1[2]===V.identifier&&(T.touch1[0]=H);if(V=T.that.__zoom,T.touch1){var ce=T.touch0[0],ee=T.touch0[1],B=T.touch1[0],L=T.touch1[1],q=(q=B[0]-ce[0])*q+(q=B[1]-ce[1])*q,Z=(Z=L[0]-ee[0])*Z+(Z=L[1]-ee[1])*Z;V=k(V,Math.sqrt(q/Z)),H=[(ce[0]+B[0])/2,(ce[1]+B[1])/2],ie=[(ee[0]+L[0])/2,(ee[1]+L[1])/2]}else if(T.touch0)H=T.touch0[0],ie=T.touch0[1];else return;T.zoom("touch",o(_(V,H,ie),T.extent,l))}}function S(w,...D){if(this.__zooming){var T=C(this,D).event(w),G=w.changedTouches,U=G.length,M,V;for(pa(w),f&&clearTimeout(f),f=setTimeout(function(){f=null},m),M=0;M<U;++M)V=G[M],T.touch0&&T.touch0[2]===V.identifier?delete T.touch0:T.touch1&&T.touch1[2]===V.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(V=gt(V,this),Math.hypot(d[0]-V[0],d[1]-V[1])<g)){var H=lt(this).on("dblclick.zoom");H&&H.apply(this,arguments)}}}return b.wheelDelta=function(w){return arguments.length?(r=typeof w=="function"?w:Sr(+w),b):r},b.filter=function(w){return arguments.length?(e=typeof w=="function"?w:Sr(!!w),b):e},b.touchable=function(w){return arguments.length?(i=typeof w=="function"?w:Sr(!!w),b):i},b.extent=function(w){return arguments.length?(n=typeof w=="function"?w:Sr([[+w[0][0],+w[0][1]],[+w[1][0],+w[1][1]]]),b):n},b.scaleExtent=function(w){return arguments.length?(a[0]=+w[0],a[1]=+w[1],b):[a[0],a[1]]},b.translateExtent=function(w){return arguments.length?(l[0][0]=+w[0][0],l[1][0]=+w[1][0],l[0][1]=+w[0][1],l[1][1]=+w[1][1],b):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},b.constrain=function(w){return arguments.length?(o=w,b):o},b.duration=function(w){return arguments.length?(s=+w,b):s},b.interpolate=function(w){return arguments.length?(c=w,b):c},b.on=function(){var w=u.on.apply(u,arguments);return w===u?b:w},b.clickDistance=function(w){return arguments.length?(y=(w=+w)*w,b):Math.sqrt(y)},b.tapDistance=function(w){return arguments.length?(g=+w,b):g},b}var ge=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(ge||{}),fa=(e=>(e.Partial="partial",e.Full="full",e))(fa||{}),an=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(an||{}),Dt=(e=>(e.Strict="strict",e.Loose="loose",e))(Dt||{}),ma=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(ma||{}),ho=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(ho||{}),iu=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(iu||{});const RE=["INPUT","SELECT","TEXTAREA"],ME=typeof document<"u"?document:null;function ga(e){var n,o;const r=((o=(n=e.composedPath)==null?void 0:n.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return RE.includes(r==null?void 0:r.nodeName)||i||!!a}function FE(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function au(e,n,o,r){const i=n.replace("+",`
|
|
19
|
+
*/function aa(e,t){(t==null||t>e.length)&&(t=e.length);for(var o=0,r=Array(t);o<t;o++)r[o]=e[o];return r}function Rw(e){if(Array.isArray(e))return aa(e)}function Mw(e,t,o){return(t=qw(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function Lw(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fw(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
20
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Oc(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),o.push.apply(o,r)}return o}function $c(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?Oc(Object(o),!0).forEach(function(r){Mw(e,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Oc(Object(o)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))})}return e}function Kw(e){return Rw(e)||Lw(e)||jw(e)||Fw()}function Uw(e,t){if(typeof e!="object"||!e)return e;var o=e[Symbol.toPrimitive];if(o!==void 0){var r=o.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qw(e){var t=Uw(e,"string");return typeof t=="symbol"?t:t+""}function jw(e,t){if(e){if(typeof e=="string")return aa(e,t);var o={}.toString.call(e).slice(8,-1);return o==="Object"&&e.constructor&&(o=e.constructor.name),o==="Map"||o==="Set"?Array.from(e):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?aa(e,t):void 0}}var Bc={activateTrap:function(t,o){if(t.length>0){var r=t[t.length-1];r!==o&&r._setPausedState(!0)}var i=t.indexOf(o);i===-1||t.splice(i,1),t.push(o)},deactivateTrap:function(t,o){var r=t.indexOf(o);r!==-1&&t.splice(r,1),t.length>0&&!t[t.length-1]._isManuallyPaused()&&t[t.length-1]._setPausedState(!1)}},Gw=function(t){return t.tagName&&t.tagName.toLowerCase()==="input"&&typeof t.select=="function"},zw=function(t){return(t==null?void 0:t.key)==="Escape"||(t==null?void 0:t.key)==="Esc"||(t==null?void 0:t.keyCode)===27},uo=function(t){return(t==null?void 0:t.key)==="Tab"||(t==null?void 0:t.keyCode)===9},Hw=function(t){return uo(t)&&!t.shiftKey},Yw=function(t){return uo(t)&&t.shiftKey},Dc=function(t){return setTimeout(t,0)},fo=function(t){for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];return typeof t=="function"?t.apply(void 0,r):t},fr=function(t){return t.target.shadowRoot&&typeof t.composedPath=="function"?t.composedPath()[0]:t.target},Ww=[],Zw=function(t,o){var r=(o==null?void 0:o.document)||document,i=(o==null?void 0:o.trapStack)||Ww,a=$c({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:Hw,isKeyBackward:Yw},o),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,c=function(C,E,D){return C&&C[E]!==void 0?C[E]:a[D||E]},d=function(C,E){var D=typeof(E==null?void 0:E.composedPath)=="function"?E.composedPath():void 0;return l.containerGroups.findIndex(function(T){var G=T.container,K=T.tabbableNodes;return G.contains(C)||(D==null?void 0:D.includes(G))||K.find(function(B){return B===C})})},u=function(C){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=E.hasFallback,T=D===void 0?!1:D,G=E.params,K=G===void 0?[]:G,B=a[C];if(typeof B=="function"&&(B=B.apply(void 0,Kw(K))),B===!0&&(B=void 0),!B){if(B===void 0||B===!1)return B;throw new Error("`".concat(C,"` was specified but was not a node, or did not return a node"))}var V=B;if(typeof B=="string"){try{V=r.querySelector(B)}catch(z){throw new Error("`".concat(C,'` appears to be an invalid selector; error="').concat(z.message,'"'))}if(!V&&!T)throw new Error("`".concat(C,"` as selector refers to no known node"))}return V},f=function(){var C=u("initialFocus",{hasFallback:!0});if(C===!1)return!1;if(C===void 0||C&&!ia(C,a.tabbableOptions))if(d(r.activeElement)>=0)C=r.activeElement;else{var E=l.tabbableGroups[0],D=E&&E.firstTabbableNode;C=D||u("fallbackFocus")}else C===null&&(C=u("fallbackFocus"));if(!C)throw new Error("Your focus-trap needs to have at least one focusable element");return C},p=function(){if(l.containerGroups=l.containers.map(function(C){var E=Bw(C,a.tabbableOptions),D=Dw(C,a.tabbableOptions),T=E.length>0?E[0]:void 0,G=E.length>0?E[E.length-1]:void 0,K=D.find(function(z){return On(z)}),B=D.slice().reverse().find(function(z){return On(z)}),V=!!E.find(function(z){return an(z)>0});return{container:C,tabbableNodes:E,focusableNodes:D,posTabIndexesFound:V,firstTabbableNode:T,lastTabbableNode:G,firstDomTabbableNode:K,lastDomTabbableNode:B,nextTabbableNode:function(ae){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ee=E.indexOf(ae);return ee<0?ce?D.slice(D.indexOf(ae)+1).find(function(U){return On(U)}):D.slice(0,D.indexOf(ae)).reverse().find(function(U){return On(U)}):E[ee+(ce?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(C){return C.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(l.containerGroups.find(function(C){return C.posTabIndexesFound})&&l.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function(C){var E=C.activeElement;if(E)return E.shadowRoot&&E.shadowRoot.activeElement!==null?m(E.shadowRoot):E},h=function(C){if(C!==!1&&C!==m(document)){if(!C||!C.focus){h(f());return}C.focus({preventScroll:!!a.preventScroll}),l.mostRecentlyFocusedNode=C,Gw(C)&&C.select()}},y=function(C){var E=u("setReturnFocus",{params:[C]});return E||(E===!1?!1:C)},g=function(C){var E=C.target,D=C.event,T=C.isBackward,G=T===void 0?!1:T;E=E||fr(D),p();var K=null;if(l.tabbableGroups.length>0){var B=d(E,D),V=B>=0?l.containerGroups[B]:void 0;if(B<0)G?K=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:K=l.tabbableGroups[0].firstTabbableNode;else if(G){var z=l.tabbableGroups.findIndex(function(q){var X=q.firstTabbableNode;return E===X});if(z<0&&(V.container===E||ia(E,a.tabbableOptions)&&!On(E,a.tabbableOptions)&&!V.nextTabbableNode(E,!1))&&(z=B),z>=0){var ae=z===0?l.tabbableGroups.length-1:z-1,ce=l.tabbableGroups[ae];K=an(E)>=0?ce.lastTabbableNode:ce.lastDomTabbableNode}else uo(D)||(K=V.nextTabbableNode(E,!1))}else{var ee=l.tabbableGroups.findIndex(function(q){var X=q.lastTabbableNode;return E===X});if(ee<0&&(V.container===E||ia(E,a.tabbableOptions)&&!On(E,a.tabbableOptions)&&!V.nextTabbableNode(E))&&(ee=B),ee>=0){var U=ee===l.tabbableGroups.length-1?0:ee+1,R=l.tabbableGroups[U];K=an(E)>=0?R.firstTabbableNode:R.firstDomTabbableNode}else uo(D)||(K=V.nextTabbableNode(E))}}else K=u("fallbackFocus");return K},_=function(C){var E=fr(C);if(!(d(E,C)>=0)){if(fo(a.clickOutsideDeactivates,C)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}fo(a.allowOutsideClick,C)||C.preventDefault()}},w=function(C){var E=fr(C),D=d(E,C)>=0;if(D||E instanceof Document)D&&(l.mostRecentlyFocusedNode=E);else{C.stopImmediatePropagation();var T,G=!0;if(l.mostRecentlyFocusedNode)if(an(l.mostRecentlyFocusedNode)>0){var K=d(l.mostRecentlyFocusedNode),B=l.containerGroups[K].tabbableNodes;if(B.length>0){var V=B.findIndex(function(z){return z===l.mostRecentlyFocusedNode});V>=0&&(a.isKeyForward(l.recentNavEvent)?V+1<B.length&&(T=B[V+1],G=!1):V-1>=0&&(T=B[V-1],G=!1))}}else l.containerGroups.some(function(z){return z.tabbableNodes.some(function(ae){return an(ae)>0})})||(G=!1);else G=!1;G&&(T=g({target:l.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(l.recentNavEvent)})),h(T||l.mostRecentlyFocusedNode||f())}l.recentNavEvent=void 0},b=function(C){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=C;var D=g({event:C,isBackward:E});D&&(uo(C)&&C.preventDefault(),h(D))},v=function(C){(a.isKeyForward(C)||a.isKeyBackward(C))&&b(C,a.isKeyBackward(C))},P=function(C){zw(C)&&fo(a.escapeDeactivates,C)!==!1&&(C.preventDefault(),s.deactivate())},k=function(C){var E=fr(C);d(E,C)>=0||fo(a.clickOutsideDeactivates,C)||fo(a.allowOutsideClick,C)||(C.preventDefault(),C.stopImmediatePropagation())},L=function(){if(l.active)return Bc.activateTrap(i,s),l.delayInitialFocusTimer=a.delayInitialFocus?Dc(function(){h(f())}):h(f()),r.addEventListener("focusin",w,!0),r.addEventListener("mousedown",_,{capture:!0,passive:!1}),r.addEventListener("touchstart",_,{capture:!0,passive:!1}),r.addEventListener("click",k,{capture:!0,passive:!1}),r.addEventListener("keydown",v,{capture:!0,passive:!1}),r.addEventListener("keydown",P),s},$=function(){if(l.active)return r.removeEventListener("focusin",w,!0),r.removeEventListener("mousedown",_,!0),r.removeEventListener("touchstart",_,!0),r.removeEventListener("click",k,!0),r.removeEventListener("keydown",v,!0),r.removeEventListener("keydown",P),s},I=function(C){var E=C.some(function(D){var T=Array.from(D.removedNodes);return T.some(function(G){return G===l.mostRecentlyFocusedNode})});E&&h(f())},Y=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(I):void 0,j=function(){Y&&(Y.disconnect(),l.active&&!l.paused&&l.containers.map(function(C){Y.observe(C,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(C){if(l.active)return this;var E=c(C,"onActivate"),D=c(C,"onPostActivate"),T=c(C,"checkCanFocusTrap");T||p(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=m(r),E==null||E();var G=function(){T&&p(),L(),j(),D==null||D()};return T?(T(l.containers.concat()).then(G,G),this):(G(),this)},deactivate:function(C){if(!l.active)return this;var E=$c({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},C);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,$(),l.active=!1,l.paused=!1,j(),Bc.deactivateTrap(i,s);var D=c(E,"onDeactivate"),T=c(E,"onPostDeactivate"),G=c(E,"checkCanReturnFocus"),K=c(E,"returnFocus","returnFocusOnDeactivate");D==null||D();var B=function(){Dc(function(){K&&h(y(l.nodeFocusedBeforeActivation)),T==null||T()})};return K&&G?(G(y(l.nodeFocusedBeforeActivation)).then(B,B),this):(B(),this)},pause:function(C){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,C)):this},unpause:function(C){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,C)):this},updateContainerElements:function(C){var E=[].concat(C).filter(Boolean);return l.containers=E.map(function(D){return typeof D=="string"?r.querySelector(D):D}),l.active&&p(),j(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(C,E){if(l.paused===C)return this;if(l.paused=C,C){var D=c(E,"onPause"),T=c(E,"onPostPause");D==null||D(),$(),j(),T==null||T()}else{var G=c(E,"onUnpause"),K=c(E,"onPostUnpause");G==null||G(),p(),L(),j(),K==null||K()}return this}}}),s.updateContainerElements(t),s};function Xw(e,t={}){let o;const{immediate:r,...i}=t,a=n.shallowRef(!1),l=n.shallowRef(!1),s=p=>o&&o.activate(p),c=p=>o&&o.deactivate(p),d=()=>{o&&(o.pause(),l.value=!0)},u=()=>{o&&(o.unpause(),l.value=!1)},f=n.computed(()=>{const p=n.toValue(e);return Je.toArray(p).map(m=>{const h=n.toValue(m);return typeof h=="string"?h:Je.unrefElement(h)}).filter(bw)});return n.watch(f,p=>{p.length&&(o=Zw(p,{...i,onActivate(){a.value=!0,t.onActivate&&t.onActivate()},onDeactivate(){a.value=!1,t.onDeactivate&&t.onDeactivate()}}),r&&s())},{flush:"post"}),Je.tryOnScopeDispose(()=>c()),{hasFocus:a,isPaused:l,activate:s,deactivate:c,pause:d,unpause:u}}const Jw="44px",Qw="220px",eE="366px",tE="52px",nE=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],Vc="application/x-datakit+json",oE={class:"dk-editor-nav"},rE={class:"top"},iE={class:"bottom"},aE=we(n.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:t}){const{t:o}=Ke.createI18n("en-us",je),r=t,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ee.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=oa(),l=n.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=n.ref(!1);function c(){a.value=!a.value}return(d,u)=>(n.openBlock(),n.createElementBlock("nav",oE,[n.createElementVNode("div",rE,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(i,({label:f,to:p,icon:m,onClick:h})=>n.createVNode(n.unref(Ie.KTooltip),{key:f,"kpop-attributes":{offset:"10px"},label:f,placement:"right"},{default:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.unref(Ie.KButton),{key:f,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(m),{decorative:"",size:n.unref(Xi)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),n.createElementVNode("div",iE,[n.createElementVNode("div",{class:n.normalizeClass(["side-panel-toggle",{expanded:n.unref(a)}]),onTransitionend:u[0]||(u[0]=n.withModifiers(f=>s.value=!1,["self"])),onTransitionstart:u[1]||(u[1]=n.withModifiers(f=>s.value=!0,["self"]))},[n.createVNode(n.unref(Ie.KTooltip),{label:s.value?void 0:l.value,placement:n.unref(a)?"left":"right"},{default:n.withCtx(()=>[n.createVNode(n.unref(Ie.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:n.withCtx(()=>[n.unref(a)?(n.openBlock(),n.createBlock(n.unref(Ee.ChevronDoubleLeftIcon),{key:0,decorative:"",size:n.unref(Xi)},null,8,["size"])):(n.openBlock(),n.createBlock(n.unref(Ee.ChevronDoubleRightIcon),{key:1,decorative:"",size:n.unref(Xi)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-4498cfce"]]),lE=we(n.defineComponent({__name:"EditorCanvas",setup(e){const t=n.useTemplateRef("editorCanvas"),o=n.useTemplateRef("requestLabel"),r=n.useTemplateRef("requestCanvas"),i=n.useTemplateRef("resizeHandle"),a=n.useTemplateRef("responseCanvas"),l=Je.useElementBounding(t),s=Je.useElementBounding(o),c=Je.useElementBounding(r),d=Je.useElementBounding(i),u=Je.useElementBounding(a),f=n.computed(()=>Math.max(30,l.height.value*.03)),p=n.computed(()=>c.height.value<f.value),m=n.computed(()=>u.height.value<f.value),h=n.ref("50%"),y=()=>{p.value?h.value="50%":h.value="0"},g=()=>{m.value?h.value="50%":h.value="100%"},{isDragging:_}=Je.useDraggable(i,{onMove(w){const v=w.y+d.height.value/2-s.bottom.value;h.value=`max(0%, min(100%, ${v}px))`},onEnd(){c.height.value<f.value?h.value="0":u.height.value<f.value&&(h.value="100%")}});return(w,b)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"editorCanvas",ref:t,class:"editor-canvas"},[n.createElementVNode("div",{ref_key:"requestLabel",ref:o,class:"label",onClick:y},[n.createVNode(n.unref(Ee.ChevronDownIcon),{class:n.normalizeClass(["icon",{collapsed:p.value}])},null,8,["class"]),b[0]||(b[0]=n.createElementVNode("div",null,"Request",-1))],512),n.createElementVNode("div",{ref_key:"requestCanvas",ref:r,class:n.normalizeClass(["canvas",{dragging:n.unref(_)}]),style:n.normalizeStyle({height:h.value})},[n.renderSlot(w.$slots,"request",{},void 0,!0)],6),n.createElementVNode("div",{ref_key:"resizeHandle",ref:i,class:"resize-handle"},null,512),n.createElementVNode("div",{ref:"responseLabel",class:n.normalizeClass(["label",{dragging:n.unref(_)}]),onClick:g},[n.createVNode(n.unref(Ee.ChevronDownIcon),{class:n.normalizeClass(["icon",{collapsed:m.value}])},null,8,["class"]),b[1]||(b[1]=n.createElementVNode("div",null," Response ",-1))],2),n.createElementVNode("div",{ref_key:"responseCanvas",ref:a,class:"canvas response"},[n.renderSlot(w.$slots,"response",{},void 0,!0)],512)],512))}}),[["__scopeId","data-v-e2f7b17f"]]);function pr(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function It(e){return typeof e=="function"?e():n.unref(e)}const sE=typeof window<"u"&&typeof document<"u",cE=e=>typeof e<"u",dE=Object.prototype.toString,uE=e=>dE.call(e)==="[object Object]",fE=()=>{};function pE(e,t){function o(...r){return new Promise((i,a)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(i).catch(a)})}return o}const Rc=e=>e();function mE(e=Rc){const t=n.ref(!0);function o(){t.value=!1}function r(){t.value=!0}const i=(...a)=>{t.value&&e(...a)};return{isActive:n.readonly(t),pause:o,resume:r,eventFilter:i}}function Mc(e,t=!1,o="Timeout"){return new Promise((r,i)=>{setTimeout(t?()=>i(o):r,e)})}function gE(e,t,o={}){const{eventFilter:r=Rc,...i}=o;return n.watch(e,pE(r,t),i)}function $n(e,t,o={}){const{eventFilter:r,...i}=o,{eventFilter:a,pause:l,resume:s,isActive:c}=mE(r);return{stop:gE(e,t,{...i,eventFilter:a}),pause:l,resume:s,isActive:c}}function hE(e,t={}){if(!n.isRef(e))return n.toRefs(e);const o=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const r in e.value)o[r]=n.customRef(()=>({get(){return e.value[r]},set(i){var a;if((a=It(t.replaceRef))!=null?a:!0)if(Array.isArray(e.value)){const s=[...e.value];s[r]=i,e.value=s}else{const s={...e.value,[r]:i};Object.setPrototypeOf(s,Object.getPrototypeOf(e.value)),e.value=s}else e.value[r]=i}}));return o}function la(e,t=!1){function o(f,{flush:p="sync",deep:m=!1,timeout:h,throwOnTimeout:y}={}){let g=null;const w=[new Promise(b=>{g=n.watch(e,v=>{f(v)!==t&&(g==null||g(),b(v))},{flush:p,deep:m,immediate:!0})})];return h!=null&&w.push(Mc(h,y).then(()=>It(e)).finally(()=>g==null?void 0:g())),Promise.race(w)}function r(f,p){if(!n.isRef(f))return o(v=>v===f,p);const{flush:m="sync",deep:h=!1,timeout:y,throwOnTimeout:g}=p??{};let _=null;const b=[new Promise(v=>{_=n.watch([e,f],([P,k])=>{t!==(P===k)&&(_==null||_(),v(P))},{flush:m,deep:h,immediate:!0})})];return y!=null&&b.push(Mc(y,g).then(()=>It(e)).finally(()=>(_==null||_(),It(e)))),Promise.race(b)}function i(f){return o(p=>!!p,f)}function a(f){return r(null,f)}function l(f){return r(void 0,f)}function s(f){return o(Number.isNaN,f)}function c(f,p){return o(m=>{const h=Array.from(m);return h.includes(f)||h.includes(It(f))},p)}function d(f){return u(1,f)}function u(f=1,p){let m=-1;return o(()=>(m+=1,m>=f),p)}return Array.isArray(It(e))?{toMatch:o,toContains:c,changed:d,changedTimes:u,get not(){return la(e,!t)}}:{toMatch:o,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:l,changed:d,changedTimes:u,get not(){return la(e,!t)}}}function sa(e){return la(e)}function yE(e){var t;const o=It(e);return(t=o==null?void 0:o.$el)!=null?t:o}const Lc=sE?window:void 0;function Fc(...e){let t,o,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([o,r,i]=e,t=Lc):[t,o,r,i]=e,!t)return fE;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const a=[],l=()=>{a.forEach(u=>u()),a.length=0},s=(u,f,p,m)=>(u.addEventListener(f,p,m),()=>u.removeEventListener(f,p,m)),c=n.watch(()=>[yE(t),It(i)],([u,f])=>{if(l(),!u)return;const p=uE(f)?{...f}:f;a.push(...o.flatMap(m=>r.map(h=>s(u,m,h,p))))},{immediate:!0,flush:"post"}),d=()=>{c(),l()};return pr(d),d}function _E(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Kc(...e){let t,o,r={};e.length===3?(t=e[0],o=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,o=e[0],r=e[1]):(t=e[0],o=e[1]):(t=!0,o=e[0]);const{target:i=Lc,eventName:a="keydown",passive:l=!1,dedupe:s=!1}=r,c=_E(t);return Fc(i,a,u=>{u.repeat&&It(s)||c(u)&&o(u)},l)}function bE(e){return JSON.parse(JSON.stringify(e))}function ca(e,t,o,r={}){var i,a,l;const{clone:s=!1,passive:c=!1,eventName:d,deep:u=!1,defaultValue:f,shouldEmit:p}=r,m=n.getCurrentInstance(),h=o||(m==null?void 0:m.emit)||((i=m==null?void 0:m.$emit)==null?void 0:i.bind(m))||((l=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:l.bind(m==null?void 0:m.proxy));let y=d;t||(t="modelValue"),y=y||`update:${t.toString()}`;const g=b=>s?typeof s=="function"?s(b):bE(b):b,_=()=>cE(e[t])?g(e[t]):f,w=b=>{p?p(b)&&h(y,b):h(y,b)};if(c){const b=_(),v=n.ref(b);let P=!1;return n.watch(()=>e[t],k=>{P||(P=!0,v.value=g(k),n.nextTick(()=>P=!1))}),n.watch(v,k=>{!P&&(k!==e[t]||u)&&w(k)},{deep:u}),v}else return n.computed({get(){return _()},set(b){w(b)}})}var wE={value:()=>{}};function mr(){for(var e=0,t=arguments.length,o={},r;e<t;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new gr(o)}function gr(e){this._=e}function EE(e,t){return e.trim().split(/^|\s+/).map(function(o){var r="",i=o.indexOf(".");if(i>=0&&(r=o.slice(i+1),o=o.slice(0,i)),o&&!t.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}gr.prototype=mr.prototype={constructor:gr,on:function(e,t){var o=this._,r=EE(e+"",o),i,a=-1,l=r.length;if(arguments.length<2){for(;++a<l;)if((i=(e=r[a]).type)&&(i=kE(o[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<l;)if(i=(e=r[a]).type)o[i]=Uc(o[i],e.name,t);else if(t==null)for(i in o)o[i]=Uc(o[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var o in t)e[o]=t[o].slice();return new gr(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var o=new Array(i),r=0,i,a;r<i;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,o)},apply:function(e,t,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,o)}};function kE(e,t){for(var o=0,r=e.length,i;o<r;++o)if((i=e[o]).name===t)return i.value}function Uc(e,t,o){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=wE,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:t,value:o}),e}var da="http://www.w3.org/1999/xhtml";const qc={svg:"http://www.w3.org/2000/svg",xhtml:da,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function hr(e){var t=e+="",o=t.indexOf(":");return o>=0&&(t=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),qc.hasOwnProperty(t)?{space:qc[t],local:e}:e}function CE(e){return function(){var t=this.ownerDocument,o=this.namespaceURI;return o===da&&t.documentElement.namespaceURI===da?t.createElement(e):t.createElementNS(o,e)}}function vE(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function jc(e){var t=hr(e);return(t.local?vE:CE)(t)}function NE(){}function ua(e){return e==null?NE:function(){return this.querySelector(e)}}function SE(e){typeof e!="function"&&(e=ua(e));for(var t=this._groups,o=t.length,r=new Array(o),i=0;i<o;++i)for(var a=t[i],l=a.length,s=r[i]=new Array(l),c,d,u=0;u<l;++u)(c=a[u])&&(d=e.call(c,c.__data__,u,a))&&("__data__"in c&&(d.__data__=c.__data__),s[u]=d);return new rt(r,this._parents)}function xE(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function AE(){return[]}function Gc(e){return e==null?AE:function(){return this.querySelectorAll(e)}}function TE(e){return function(){return xE(e.apply(this,arguments))}}function PE(e){typeof e=="function"?e=TE(e):e=Gc(e);for(var t=this._groups,o=t.length,r=[],i=[],a=0;a<o;++a)for(var l=t[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&(r.push(e.call(c,c.__data__,d,l)),i.push(c));return new rt(r,i)}function zc(e){return function(){return this.matches(e)}}function Hc(e){return function(t){return t.matches(e)}}var IE=Array.prototype.find;function OE(e){return function(){return IE.call(this.children,e)}}function $E(){return this.firstElementChild}function BE(e){return this.select(e==null?$E:OE(typeof e=="function"?e:Hc(e)))}var DE=Array.prototype.filter;function VE(){return Array.from(this.children)}function RE(e){return function(){return DE.call(this.children,e)}}function ME(e){return this.selectAll(e==null?VE:RE(typeof e=="function"?e:Hc(e)))}function LE(e){typeof e!="function"&&(e=zc(e));for(var t=this._groups,o=t.length,r=new Array(o),i=0;i<o;++i)for(var a=t[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new rt(r,this._parents)}function Yc(e){return new Array(e.length)}function FE(){return new rt(this._enter||this._groups.map(Yc),this._parents)}function yr(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}yr.prototype={constructor:yr,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function KE(e){return function(){return e}}function UE(e,t,o,r,i,a){for(var l=0,s,c=t.length,d=a.length;l<d;++l)(s=t[l])?(s.__data__=a[l],r[l]=s):o[l]=new yr(e,a[l]);for(;l<c;++l)(s=t[l])&&(i[l]=s)}function qE(e,t,o,r,i,a,l){var s,c,d=new Map,u=t.length,f=a.length,p=new Array(u),m;for(s=0;s<u;++s)(c=t[s])&&(p[s]=m=l.call(c,c.__data__,s,t)+"",d.has(m)?i[s]=c:d.set(m,c));for(s=0;s<f;++s)m=l.call(e,a[s],s,a)+"",(c=d.get(m))?(r[s]=c,c.__data__=a[s],d.delete(m)):o[s]=new yr(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&d.get(p[s])===c&&(i[s]=c)}function jE(e){return e.__data__}function GE(e,t){if(!arguments.length)return Array.from(this,jE);var o=t?qE:UE,r=this._parents,i=this._groups;typeof e!="function"&&(e=KE(e));for(var a=i.length,l=new Array(a),s=new Array(a),c=new Array(a),d=0;d<a;++d){var u=r[d],f=i[d],p=f.length,m=zE(e.call(u,u&&u.__data__,d,r)),h=m.length,y=s[d]=new Array(h),g=l[d]=new Array(h),_=c[d]=new Array(p);o(u,f,y,g,_,m,t);for(var w=0,b=0,v,P;w<h;++w)if(v=y[w]){for(w>=b&&(b=w+1);!(P=g[b])&&++b<h;);v._next=P||null}}return l=new rt(l,r),l._enter=s,l._exit=c,l}function zE(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function HE(){return new rt(this._exit||this._groups.map(Yc),this._parents)}function YE(e,t,o){var r=this.enter(),i=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),o==null?a.remove():o(a),r&&i?r.merge(i).order():i}function WE(e){for(var t=e.selection?e.selection():e,o=this._groups,r=t._groups,i=o.length,a=r.length,l=Math.min(i,a),s=new Array(i),c=0;c<l;++c)for(var d=o[c],u=r[c],f=d.length,p=s[c]=new Array(f),m,h=0;h<f;++h)(m=d[h]||u[h])&&(p[h]=m);for(;c<i;++c)s[c]=o[c];return new rt(s,this._parents)}function ZE(){for(var e=this._groups,t=-1,o=e.length;++t<o;)for(var r=e[t],i=r.length-1,a=r[i],l;--i>=0;)(l=r[i])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function XE(e){e||(e=JE);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var o=this._groups,r=o.length,i=new Array(r),a=0;a<r;++a){for(var l=o[a],s=l.length,c=i[a]=new Array(s),d,u=0;u<s;++u)(d=l[u])&&(c[u]=d);c.sort(t)}return new rt(i,this._parents).order()}function JE(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function QE(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ek(){return Array.from(this)}function tk(){for(var e=this._groups,t=0,o=e.length;t<o;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var l=r[i];if(l)return l}return null}function nk(){let e=0;for(const t of this)++e;return e}function ok(){return!this.node()}function rk(e){for(var t=this._groups,o=0,r=t.length;o<r;++o)for(var i=t[o],a=0,l=i.length,s;a<l;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function ik(e){return function(){this.removeAttribute(e)}}function ak(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lk(e,t){return function(){this.setAttribute(e,t)}}function sk(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ck(e,t){return function(){var o=t.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function dk(e,t){return function(){var o=t.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function uk(e,t){var o=hr(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((t==null?o.local?ak:ik:typeof t=="function"?o.local?dk:ck:o.local?sk:lk)(o,t))}function Wc(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function fk(e){return function(){this.style.removeProperty(e)}}function pk(e,t,o){return function(){this.style.setProperty(e,t,o)}}function mk(e,t,o){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function gk(e,t,o){return arguments.length>1?this.each((t==null?fk:typeof t=="function"?mk:pk)(e,t,o??"")):Bn(this.node(),e)}function Bn(e,t){return e.style.getPropertyValue(t)||Wc(e).getComputedStyle(e,null).getPropertyValue(t)}function hk(e){return function(){delete this[e]}}function yk(e,t){return function(){this[e]=t}}function _k(e,t){return function(){var o=t.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function bk(e,t){return arguments.length>1?this.each((t==null?hk:typeof t=="function"?_k:yk)(e,t)):this.node()[e]}function Zc(e){return e.trim().split(/^|\s+/)}function fa(e){return e.classList||new Xc(e)}function Xc(e){this._node=e,this._names=Zc(e.getAttribute("class")||"")}Xc.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Jc(e,t){for(var o=fa(e),r=-1,i=t.length;++r<i;)o.add(t[r])}function Qc(e,t){for(var o=fa(e),r=-1,i=t.length;++r<i;)o.remove(t[r])}function wk(e){return function(){Jc(this,e)}}function Ek(e){return function(){Qc(this,e)}}function kk(e,t){return function(){(t.apply(this,arguments)?Jc:Qc)(this,e)}}function Ck(e,t){var o=Zc(e+"");if(arguments.length<2){for(var r=fa(this.node()),i=-1,a=o.length;++i<a;)if(!r.contains(o[i]))return!1;return!0}return this.each((typeof t=="function"?kk:t?wk:Ek)(o,t))}function vk(){this.textContent=""}function Nk(e){return function(){this.textContent=e}}function Sk(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function xk(e){return arguments.length?this.each(e==null?vk:(typeof e=="function"?Sk:Nk)(e)):this.node().textContent}function Ak(){this.innerHTML=""}function Tk(e){return function(){this.innerHTML=e}}function Pk(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Ik(e){return arguments.length?this.each(e==null?Ak:(typeof e=="function"?Pk:Tk)(e)):this.node().innerHTML}function Ok(){this.nextSibling&&this.parentNode.appendChild(this)}function $k(){return this.each(Ok)}function Bk(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Dk(){return this.each(Bk)}function Vk(e){var t=typeof e=="function"?e:jc(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Rk(){return null}function Mk(e,t){var o=typeof e=="function"?e:jc(e),r=t==null?Rk:typeof t=="function"?t:ua(t);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function Lk(){var e=this.parentNode;e&&e.removeChild(this)}function Fk(){return this.each(Lk)}function Kk(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Uk(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qk(e){return this.select(e?Uk:Kk)}function jk(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Gk(e){return function(t){e.call(this,t,this.__data__)}}function zk(e){return e.trim().split(/^|\s+/).map(function(t){var o="",r=t.indexOf(".");return r>=0&&(o=t.slice(r+1),t=t.slice(0,r)),{type:t,name:o}})}function Hk(e){return function(){var t=this.__on;if(t){for(var o=0,r=-1,i=t.length,a;o<i;++o)a=t[o],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function Yk(e,t,o){return function(){var r=this.__on,i,a=Gk(t);if(r){for(var l=0,s=r.length;l<s;++l)if((i=r[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=o),i.value=t;return}}this.addEventListener(e.type,a,o),i={type:e.type,name:e.name,value:t,listener:a,options:o},r?r.push(i):this.__on=[i]}}function Wk(e,t,o){var r=zk(e+""),i,a=r.length,l;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,d=s.length,u;c<d;++c)for(i=0,u=s[c];i<a;++i)if((l=r[i]).type===u.type&&l.name===u.name)return u.value}return}for(s=t?Yk:Hk,i=0;i<a;++i)this.each(s(r[i],t,o));return this}function ed(e,t,o){var r=Wc(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,o):(i=r.document.createEvent("Event"),o?(i.initEvent(t,o.bubbles,o.cancelable),i.detail=o.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Zk(e,t){return function(){return ed(this,e,t)}}function Xk(e,t){return function(){return ed(this,e,t.apply(this,arguments))}}function Jk(e,t){return this.each((typeof t=="function"?Xk:Zk)(e,t))}function*Qk(){for(var e=this._groups,t=0,o=e.length;t<o;++t)for(var r=e[t],i=0,a=r.length,l;i<a;++i)(l=r[i])&&(yield l)}var td=[null];function rt(e,t){this._groups=e,this._parents=t}function po(){return new rt([[document.documentElement]],td)}function eC(){return this}rt.prototype=po.prototype={constructor:rt,select:SE,selectAll:PE,selectChild:BE,selectChildren:ME,filter:LE,data:GE,enter:FE,exit:HE,join:YE,merge:WE,selection:eC,order:ZE,sort:XE,call:QE,nodes:ek,node:tk,size:nk,empty:ok,each:rk,attr:uk,style:gk,property:bk,classed:Ck,text:xk,html:Ik,raise:$k,lower:Dk,append:Vk,insert:Mk,remove:Fk,clone:qk,datum:jk,on:Wk,dispatch:Jk,[Symbol.iterator]:Qk};function dt(e){return typeof e=="string"?new rt([[document.querySelector(e)]],[document.documentElement]):new rt([[e]],td)}function tC(e){let t;for(;t=e.sourceEvent;)e=t;return e}function wt(e,t){if(e=tC(e),t===void 0&&(t=e.currentTarget),t){var o=t.ownerSVGElement||t;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const nC={passive:!1},mo={capture:!0,passive:!1};function pa(e){e.stopImmediatePropagation()}function Dn(e){e.preventDefault(),e.stopImmediatePropagation()}function nd(e){var t=e.document.documentElement,o=dt(e).on("dragstart.drag",Dn,mo);"onselectstart"in t?o.on("selectstart.drag",Dn,mo):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function od(e,t){var o=e.document.documentElement,r=dt(e).on("dragstart.drag",null);t&&(r.on("click.drag",Dn,mo),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const _r=e=>()=>e;function ma(e,{sourceEvent:t,subject:o,target:r,identifier:i,active:a,x:l,y:s,dx:c,dy:d,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}ma.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function oC(e){return!e.ctrlKey&&!e.button}function rC(){return this.parentNode}function iC(e,t){return t??{x:e.x,y:e.y}}function aC(){return navigator.maxTouchPoints||"ontouchstart"in this}function lC(){var e=oC,t=rC,o=iC,r=aC,i={},a=mr("start","drag","end"),l=0,s,c,d,u,f=0;function p(v){v.on("mousedown.drag",m).filter(r).on("touchstart.drag",g).on("touchmove.drag",_,nC).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(v,P){if(!(u||!e.call(this,v,P))){var k=b(this,t.call(this,v,P),v,P,"mouse");k&&(dt(v.view).on("mousemove.drag",h,mo).on("mouseup.drag",y,mo),nd(v.view),pa(v),d=!1,s=v.clientX,c=v.clientY,k("start",v))}}function h(v){if(Dn(v),!d){var P=v.clientX-s,k=v.clientY-c;d=P*P+k*k>f}i.mouse("drag",v)}function y(v){dt(v.view).on("mousemove.drag mouseup.drag",null),od(v.view,d),Dn(v),i.mouse("end",v)}function g(v,P){if(e.call(this,v,P)){var k=v.changedTouches,L=t.call(this,v,P),$=k.length,I,Y;for(I=0;I<$;++I)(Y=b(this,L,v,P,k[I].identifier,k[I]))&&(pa(v),Y("start",v,k[I]))}}function _(v){var P=v.changedTouches,k=P.length,L,$;for(L=0;L<k;++L)($=i[P[L].identifier])&&(Dn(v),$("drag",v,P[L]))}function w(v){var P=v.changedTouches,k=P.length,L,$;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),L=0;L<k;++L)($=i[P[L].identifier])&&(pa(v),$("end",v,P[L]))}function b(v,P,k,L,$,I){var Y=a.copy(),j=wt(I||k,P),N,C,E;if((E=o.call(v,new ma("beforestart",{sourceEvent:k,target:p,identifier:$,active:l,x:j[0],y:j[1],dx:0,dy:0,dispatch:Y}),L))!=null)return N=E.x-j[0]||0,C=E.y-j[1]||0,function D(T,G,K){var B=j,V;switch(T){case"start":i[$]=D,V=l++;break;case"end":delete i[$],--l;case"drag":j=wt(K||G,P),V=l;break}Y.call(T,v,new ma(T,{sourceEvent:G,subject:E,target:p,identifier:$,active:V,x:j[0]+N,y:j[1]+C,dx:j[0]-B[0],dy:j[1]-B[1],dispatch:Y}),L)}}return p.filter=function(v){return arguments.length?(e=typeof v=="function"?v:_r(!!v),p):e},p.container=function(v){return arguments.length?(t=typeof v=="function"?v:_r(v),p):t},p.subject=function(v){return arguments.length?(o=typeof v=="function"?v:_r(v),p):o},p.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:_r(!!v),p):r},p.on=function(){var v=a.on.apply(a,arguments);return v===a?p:v},p.clickDistance=function(v){return arguments.length?(f=(v=+v)*v,p):Math.sqrt(f)},p}function ga(e,t,o){e.prototype=t.prototype=o,o.constructor=e}function rd(e,t){var o=Object.create(e.prototype);for(var r in t)o[r]=t[r];return o}function go(){}var ho=.7,br=1/ho,Vn="\\s*([+-]?\\d+)\\s*",yo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Et="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",sC=/^#([0-9a-f]{3,8})$/,cC=new RegExp(`^rgb\\(${Vn},${Vn},${Vn}\\)$`),dC=new RegExp(`^rgb\\(${Et},${Et},${Et}\\)$`),uC=new RegExp(`^rgba\\(${Vn},${Vn},${Vn},${yo}\\)$`),fC=new RegExp(`^rgba\\(${Et},${Et},${Et},${yo}\\)$`),pC=new RegExp(`^hsl\\(${yo},${Et},${Et}\\)$`),mC=new RegExp(`^hsla\\(${yo},${Et},${Et},${yo}\\)$`),id={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ga(go,ln,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ad,formatHex:ad,formatHex8:gC,formatHsl:hC,formatRgb:ld,toString:ld});function ad(){return this.rgb().formatHex()}function gC(){return this.rgb().formatHex8()}function hC(){return fd(this).formatHsl()}function ld(){return this.rgb().formatRgb()}function ln(e){var t,o;return e=(e+"").trim().toLowerCase(),(t=sC.exec(e))?(o=t[1].length,t=parseInt(t[1],16),o===6?sd(t):o===3?new tt(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):o===8?wr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):o===4?wr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=cC.exec(e))?new tt(t[1],t[2],t[3],1):(t=dC.exec(e))?new tt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=uC.exec(e))?wr(t[1],t[2],t[3],t[4]):(t=fC.exec(e))?wr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pC.exec(e))?ud(t[1],t[2]/100,t[3]/100,1):(t=mC.exec(e))?ud(t[1],t[2]/100,t[3]/100,t[4]):id.hasOwnProperty(e)?sd(id[e]):e==="transparent"?new tt(NaN,NaN,NaN,0):null}function sd(e){return new tt(e>>16&255,e>>8&255,e&255,1)}function wr(e,t,o,r){return r<=0&&(e=t=o=NaN),new tt(e,t,o,r)}function yC(e){return e instanceof go||(e=ln(e)),e?(e=e.rgb(),new tt(e.r,e.g,e.b,e.opacity)):new tt}function ha(e,t,o,r){return arguments.length===1?yC(e):new tt(e,t,o,r??1)}function tt(e,t,o,r){this.r=+e,this.g=+t,this.b=+o,this.opacity=+r}ga(tt,ha,rd(go,{brighter(e){return e=e==null?br:Math.pow(br,e),new tt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ho:Math.pow(ho,e),new tt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tt(sn(this.r),sn(this.g),sn(this.b),Er(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:cd,formatHex:cd,formatHex8:_C,formatRgb:dd,toString:dd}));function cd(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}`}function _C(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}${cn((isNaN(this.opacity)?1:this.opacity)*255)}`}function dd(){const e=Er(this.opacity);return`${e===1?"rgb(":"rgba("}${sn(this.r)}, ${sn(this.g)}, ${sn(this.b)}${e===1?")":`, ${e})`}`}function Er(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function sn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function cn(e){return e=sn(e),(e<16?"0":"")+e.toString(16)}function ud(e,t,o,r){return r<=0?e=t=o=NaN:o<=0||o>=1?e=t=NaN:t<=0&&(e=NaN),new ut(e,t,o,r)}function fd(e){if(e instanceof ut)return new ut(e.h,e.s,e.l,e.opacity);if(e instanceof go||(e=ln(e)),!e)return new ut;if(e instanceof ut)return e;e=e.rgb();var t=e.r/255,o=e.g/255,r=e.b/255,i=Math.min(t,o,r),a=Math.max(t,o,r),l=NaN,s=a-i,c=(a+i)/2;return s?(t===a?l=(o-r)/s+(o<r)*6:o===a?l=(r-t)/s+2:l=(t-o)/s+4,s/=c<.5?a+i:2-a-i,l*=60):s=c>0&&c<1?0:l,new ut(l,s,c,e.opacity)}function bC(e,t,o,r){return arguments.length===1?fd(e):new ut(e,t,o,r??1)}function ut(e,t,o,r){this.h=+e,this.s=+t,this.l=+o,this.opacity=+r}ga(ut,bC,rd(go,{brighter(e){return e=e==null?br:Math.pow(br,e),new ut(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ho:Math.pow(ho,e),new ut(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*t,i=2*o-r;return new tt(ya(e>=240?e-240:e+120,i,r),ya(e,i,r),ya(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new ut(pd(this.h),kr(this.s),kr(this.l),Er(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Er(this.opacity);return`${e===1?"hsl(":"hsla("}${pd(this.h)}, ${kr(this.s)*100}%, ${kr(this.l)*100}%${e===1?")":`, ${e})`}`}}));function pd(e){return e=(e||0)%360,e<0?e+360:e}function kr(e){return Math.max(0,Math.min(1,e||0))}function ya(e,t,o){return(e<60?t+(o-t)*e/60:e<180?o:e<240?t+(o-t)*(240-e)/60:t)*255}const _a=e=>()=>e;function wC(e,t){return function(o){return e+o*t}}function EC(e,t,o){return e=Math.pow(e,o),t=Math.pow(t,o)-e,o=1/o,function(r){return Math.pow(e+r*t,o)}}function kC(e){return(e=+e)==1?md:function(t,o){return o-t?EC(t,o,e):_a(isNaN(t)?o:t)}}function md(e,t){var o=t-e;return o?wC(e,o):_a(isNaN(e)?t:e)}const Cr=function e(t){var o=kC(t);function r(i,a){var l=o((i=ha(i)).r,(a=ha(a)).r),s=o(i.g,a.g),c=o(i.b,a.b),d=md(i.opacity,a.opacity);return function(u){return i.r=l(u),i.g=s(u),i.b=c(u),i.opacity=d(u),i+""}}return r.gamma=e,r}(1);function CC(e,t){t||(t=[]);var o=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<o;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function vC(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function NC(e,t){var o=t?t.length:0,r=e?Math.min(o,e.length):0,i=new Array(r),a=new Array(o),l;for(l=0;l<r;++l)i[l]=_o(e[l],t[l]);for(;l<o;++l)a[l]=t[l];return function(s){for(l=0;l<r;++l)a[l]=i[l](s);return a}}function SC(e,t){var o=new Date;return e=+e,t=+t,function(r){return o.setTime(e*(1-r)+t*r),o}}function kt(e,t){return e=+e,t=+t,function(o){return e*(1-o)+t*o}}function xC(e,t){var o={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?o[i]=_o(e[i],t[i]):r[i]=t[i];return function(a){for(i in o)r[i]=o[i](a);return r}}var ba=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wa=new RegExp(ba.source,"g");function AC(e){return function(){return e}}function TC(e){return function(t){return e(t)+""}}function gd(e,t){var o=ba.lastIndex=wa.lastIndex=0,r,i,a,l=-1,s=[],c=[];for(e=e+"",t=t+"";(r=ba.exec(e))&&(i=wa.exec(t));)(a=i.index)>o&&(a=t.slice(o,a),s[l]?s[l]+=a:s[++l]=a),(r=r[0])===(i=i[0])?s[l]?s[l]+=i:s[++l]=i:(s[++l]=null,c.push({i:l,x:kt(r,i)})),o=wa.lastIndex;return o<t.length&&(a=t.slice(o),s[l]?s[l]+=a:s[++l]=a),s.length<2?c[0]?TC(c[0].x):AC(t):(t=c.length,function(d){for(var u=0,f;u<t;++u)s[(f=c[u]).i]=f.x(d);return s.join("")})}function _o(e,t){var o=typeof t,r;return t==null||o==="boolean"?_a(t):(o==="number"?kt:o==="string"?(r=ln(t))?(t=r,Cr):gd:t instanceof ln?Cr:t instanceof Date?SC:vC(t)?CC:Array.isArray(t)?NC:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?xC:kt)(e,t)}var hd=180/Math.PI,Ea={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function yd(e,t,o,r,i,a){var l,s,c;return(l=Math.sqrt(e*e+t*t))&&(e/=l,t/=l),(c=e*o+t*r)&&(o-=e*c,r-=t*c),(s=Math.sqrt(o*o+r*r))&&(o/=s,r/=s,c/=s),e*r<t*o&&(e=-e,t=-t,c=-c,l=-l),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*hd,skewX:Math.atan(c)*hd,scaleX:l,scaleY:s}}var vr;function PC(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ea:yd(t.a,t.b,t.c,t.d,t.e,t.f)}function IC(e){return e==null||(vr||(vr=document.createElementNS("http://www.w3.org/2000/svg","g")),vr.setAttribute("transform",e),!(e=vr.transform.baseVal.consolidate()))?Ea:(e=e.matrix,yd(e.a,e.b,e.c,e.d,e.e,e.f))}function _d(e,t,o,r){function i(d){return d.length?d.pop()+" ":""}function a(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push("translate(",null,t,null,o);h.push({i:y-4,x:kt(d,f)},{i:y-2,x:kt(u,p)})}else(f||p)&&m.push("translate("+f+t+p+o)}function l(d,u,f,p){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:kt(d,u)})):u&&f.push(i(f)+"rotate("+u+r)}function s(d,u,f,p){d!==u?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:kt(d,u)}):u&&f.push(i(f)+"skewX("+u+r)}function c(d,u,f,p,m,h){if(d!==f||u!==p){var y=m.push(i(m)+"scale(",null,",",null,")");h.push({i:y-4,x:kt(d,f)},{i:y-2,x:kt(u,p)})}else(f!==1||p!==1)&&m.push(i(m)+"scale("+f+","+p+")")}return function(d,u){var f=[],p=[];return d=e(d),u=e(u),a(d.translateX,d.translateY,u.translateX,u.translateY,f,p),l(d.rotate,u.rotate,f,p),s(d.skewX,u.skewX,f,p),c(d.scaleX,d.scaleY,u.scaleX,u.scaleY,f,p),d=u=null,function(m){for(var h=-1,y=p.length,g;++h<y;)f[(g=p[h]).i]=g.x(m);return f.join("")}}}var OC=_d(PC,"px, ","px)","deg)"),$C=_d(IC,", ",")",")"),BC=1e-12;function bd(e){return((e=Math.exp(e))+1/e)/2}function DC(e){return((e=Math.exp(e))-1/e)/2}function VC(e){return((e=Math.exp(2*e))-1)/(e+1)}const Nr=function e(t,o,r){function i(a,l){var s=a[0],c=a[1],d=a[2],u=l[0],f=l[1],p=l[2],m=u-s,h=f-c,y=m*m+h*h,g,_;if(y<BC)_=Math.log(p/d)/t,g=function(L){return[s+L*m,c+L*h,d*Math.exp(t*L*_)]};else{var w=Math.sqrt(y),b=(p*p-d*d+r*y)/(2*d*o*w),v=(p*p-d*d-r*y)/(2*p*o*w),P=Math.log(Math.sqrt(b*b+1)-b),k=Math.log(Math.sqrt(v*v+1)-v);_=(k-P)/t,g=function(L){var $=L*_,I=bd(P),Y=d/(o*w)*(I*VC(t*$+P)-DC(P));return[s+Y*m,c+Y*h,d*I/bd(t*$+P)]}}return g.duration=_*1e3*t/Math.SQRT2,g}return i.rho=function(a){var l=Math.max(.001,+a),s=l*l,c=s*s;return e(l,s,c)},i}(Math.SQRT2,2,4);var Rn=0,bo=0,wo=0,wd=1e3,Sr,Eo,xr=0,dn=0,Ar=0,ko=typeof performance=="object"&&performance.now?performance:Date,Ed=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ka(){return dn||(Ed(RC),dn=ko.now()+Ar)}function RC(){dn=0}function Tr(){this._call=this._time=this._next=null}Tr.prototype=kd.prototype={constructor:Tr,restart:function(e,t,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?ka():+o)+(t==null?0:+t),!this._next&&Eo!==this&&(Eo?Eo._next=this:Sr=this,Eo=this),this._call=e,this._time=o,Ca()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ca())}};function kd(e,t,o){var r=new Tr;return r.restart(e,t,o),r}function MC(){ka(),++Rn;for(var e=Sr,t;e;)(t=dn-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Rn}function Cd(){dn=(xr=ko.now())+Ar,Rn=bo=0;try{MC()}finally{Rn=0,FC(),dn=0}}function LC(){var e=ko.now(),t=e-xr;t>wd&&(Ar-=t,xr=e)}function FC(){for(var e,t=Sr,o,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(o=t._next,t._next=null,t=e?e._next=o:Sr=o);Eo=e,Ca(r)}function Ca(e){if(!Rn){bo&&(bo=clearTimeout(bo));var t=e-dn;t>24?(e<1/0&&(bo=setTimeout(Cd,e-ko.now()-Ar)),wo&&(wo=clearInterval(wo))):(wo||(xr=ko.now(),wo=setInterval(LC,wd)),Rn=1,Ed(Cd))}}function vd(e,t,o){var r=new Tr;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,o),r}var KC=mr("start","end","cancel","interrupt"),UC=[],Nd=0,Sd=1,va=2,Pr=3,xd=4,Na=5,Ir=6;function Or(e,t,o,r,i,a){var l=e.__transition;if(!l)e.__transition={};else if(o in l)return;qC(e,o,{name:t,index:r,group:i,on:KC,tween:UC,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Nd})}function Sa(e,t){var o=ft(e,t);if(o.state>Nd)throw new Error("too late; already scheduled");return o}function Ct(e,t){var o=ft(e,t);if(o.state>Pr)throw new Error("too late; already running");return o}function ft(e,t){var o=e.__transition;if(!o||!(o=o[t]))throw new Error("transition not found");return o}function qC(e,t,o){var r=e.__transition,i;r[t]=o,o.timer=kd(a,0,o.time);function a(d){o.state=Sd,o.timer.restart(l,o.delay,o.time),o.delay<=d&&l(d-o.delay)}function l(d){var u,f,p,m;if(o.state!==Sd)return c();for(u in r)if(m=r[u],m.name===o.name){if(m.state===Pr)return vd(l);m.state===xd?(m.state=Ir,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[u]):+u<t&&(m.state=Ir,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[u])}if(vd(function(){o.state===Pr&&(o.state=xd,o.timer.restart(s,o.delay,o.time),s(d))}),o.state=va,o.on.call("start",e,e.__data__,o.index,o.group),o.state===va){for(o.state=Pr,i=new Array(p=o.tween.length),u=0,f=-1;u<p;++u)(m=o.tween[u].value.call(e,e.__data__,o.index,o.group))&&(i[++f]=m);i.length=f+1}}function s(d){for(var u=d<o.duration?o.ease.call(null,d/o.duration):(o.timer.restart(c),o.state=Na,1),f=-1,p=i.length;++f<p;)i[f].call(e,u);o.state===Na&&(o.on.call("end",e,e.__data__,o.index,o.group),c())}function c(){o.state=Ir,o.timer.stop(),delete r[t];for(var d in r)return;delete e.__transition}}function $r(e,t){var o=e.__transition,r,i,a=!0,l;if(o){t=t==null?null:t+"";for(l in o){if((r=o[l]).name!==t){a=!1;continue}i=r.state>va&&r.state<Na,r.state=Ir,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[l]}a&&delete e.__transition}}function jC(e){return this.each(function(){$r(this,e)})}function GC(e,t){var o,r;return function(){var i=Ct(this,e),a=i.tween;if(a!==o){r=o=a;for(var l=0,s=r.length;l<s;++l)if(r[l].name===t){r=r.slice(),r.splice(l,1);break}}i.tween=r}}function zC(e,t,o){var r,i;if(typeof o!="function")throw new Error;return function(){var a=Ct(this,e),l=a.tween;if(l!==r){i=(r=l).slice();for(var s={name:t,value:o},c=0,d=i.length;c<d;++c)if(i[c].name===t){i[c]=s;break}c===d&&i.push(s)}a.tween=i}}function HC(e,t){var o=this._id;if(e+="",arguments.length<2){for(var r=ft(this.node(),o).tween,i=0,a=r.length,l;i<a;++i)if((l=r[i]).name===e)return l.value;return null}return this.each((t==null?GC:zC)(o,e,t))}function xa(e,t,o){var r=e._id;return e.each(function(){var i=Ct(this,r);(i.value||(i.value={}))[t]=o.apply(this,arguments)}),function(i){return ft(i,r).value[t]}}function Ad(e,t){var o;return(typeof t=="number"?kt:t instanceof ln?Cr:(o=ln(t))?(t=o,Cr):gd)(e,t)}function YC(e){return function(){this.removeAttribute(e)}}function WC(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ZC(e,t,o){var r,i=o+"",a;return function(){var l=this.getAttribute(e);return l===i?null:l===r?a:a=t(r=l,o)}}function XC(e,t,o){var r,i=o+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===r?a:a=t(r=l,o)}}function JC(e,t,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttribute(e):(l=this.getAttribute(e),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=t(r=l,s)))}}function QC(e,t,o){var r,i,a;return function(){var l,s=o(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),c=s+"",l===c?null:l===r&&c===i?a:(i=c,a=t(r=l,s)))}}function ev(e,t){var o=hr(e),r=o==="transform"?$C:Ad;return this.attrTween(e,typeof t=="function"?(o.local?QC:JC)(o,r,xa(this,"attr."+e,t)):t==null?(o.local?WC:YC)(o):(o.local?XC:ZC)(o,r,t))}function tv(e,t){return function(o){this.setAttribute(e,t.call(this,o))}}function nv(e,t){return function(o){this.setAttributeNS(e.space,e.local,t.call(this,o))}}function ov(e,t){var o,r;function i(){var a=t.apply(this,arguments);return a!==r&&(o=(r=a)&&nv(e,a)),o}return i._value=t,i}function rv(e,t){var o,r;function i(){var a=t.apply(this,arguments);return a!==r&&(o=(r=a)&&tv(e,a)),o}return i._value=t,i}function iv(e,t){var o="attr."+e;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;var r=hr(e);return this.tween(o,(r.local?ov:rv)(r,t))}function av(e,t){return function(){Sa(this,e).delay=+t.apply(this,arguments)}}function lv(e,t){return t=+t,function(){Sa(this,e).delay=t}}function sv(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?av:lv)(t,e)):ft(this.node(),t).delay}function cv(e,t){return function(){Ct(this,e).duration=+t.apply(this,arguments)}}function dv(e,t){return t=+t,function(){Ct(this,e).duration=t}}function uv(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?cv:dv)(t,e)):ft(this.node(),t).duration}function fv(e,t){if(typeof t!="function")throw new Error;return function(){Ct(this,e).ease=t}}function pv(e){var t=this._id;return arguments.length?this.each(fv(t,e)):ft(this.node(),t).ease}function mv(e,t){return function(){var o=t.apply(this,arguments);if(typeof o!="function")throw new Error;Ct(this,e).ease=o}}function gv(e){if(typeof e!="function")throw new Error;return this.each(mv(this._id,e))}function hv(e){typeof e!="function"&&(e=zc(e));for(var t=this._groups,o=t.length,r=new Array(o),i=0;i<o;++i)for(var a=t[i],l=a.length,s=r[i]=[],c,d=0;d<l;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&s.push(c);return new Ot(r,this._parents,this._name,this._id)}function yv(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,o=e._groups,r=t.length,i=o.length,a=Math.min(r,i),l=new Array(r),s=0;s<a;++s)for(var c=t[s],d=o[s],u=c.length,f=l[s]=new Array(u),p,m=0;m<u;++m)(p=c[m]||d[m])&&(f[m]=p);for(;s<r;++s)l[s]=t[s];return new Ot(l,this._parents,this._name,this._id)}function _v(e){return(e+"").trim().split(/^|\s+/).every(function(t){var o=t.indexOf(".");return o>=0&&(t=t.slice(0,o)),!t||t==="start"})}function bv(e,t,o){var r,i,a=_v(t)?Sa:Ct;return function(){var l=a(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(t,o),l.on=i}}function wv(e,t){var o=this._id;return arguments.length<2?ft(this.node(),o).on.on(e):this.each(bv(o,e,t))}function Ev(e){return function(){var t=this.parentNode;for(var o in this.__transition)if(+o!==e)return;t&&t.removeChild(this)}}function kv(){return this.on("end.remove",Ev(this._id))}function Cv(e){var t=this._name,o=this._id;typeof e!="function"&&(e=ua(e));for(var r=this._groups,i=r.length,a=new Array(i),l=0;l<i;++l)for(var s=r[l],c=s.length,d=a[l]=new Array(c),u,f,p=0;p<c;++p)(u=s[p])&&(f=e.call(u,u.__data__,p,s))&&("__data__"in u&&(f.__data__=u.__data__),d[p]=f,Or(d[p],t,o,p,d,ft(u,o)));return new Ot(a,this._parents,t,o)}function vv(e){var t=this._name,o=this._id;typeof e!="function"&&(e=Gc(e));for(var r=this._groups,i=r.length,a=[],l=[],s=0;s<i;++s)for(var c=r[s],d=c.length,u,f=0;f<d;++f)if(u=c[f]){for(var p=e.call(u,u.__data__,f,c),m,h=ft(u,o),y=0,g=p.length;y<g;++y)(m=p[y])&&Or(m,t,o,y,p,h);a.push(p),l.push(u)}return new Ot(a,l,t,o)}var Nv=po.prototype.constructor;function Sv(){return new Nv(this._groups,this._parents)}function xv(e,t){var o,r,i;return function(){var a=Bn(this,e),l=(this.style.removeProperty(e),Bn(this,e));return a===l?null:a===o&&l===r?i:i=t(o=a,r=l)}}function Td(e){return function(){this.style.removeProperty(e)}}function Av(e,t,o){var r,i=o+"",a;return function(){var l=Bn(this,e);return l===i?null:l===r?a:a=t(r=l,o)}}function Tv(e,t,o){var r,i,a;return function(){var l=Bn(this,e),s=o(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),Bn(this,e))),l===c?null:l===r&&c===i?a:(i=c,a=t(r=l,s))}}function Pv(e,t){var o,r,i,a="style."+t,l="end."+a,s;return function(){var c=Ct(this,e),d=c.on,u=c.value[a]==null?s||(s=Td(t)):void 0;(d!==o||i!==u)&&(r=(o=d).copy()).on(l,i=u),c.on=r}}function Iv(e,t,o){var r=(e+="")=="transform"?OC:Ad;return t==null?this.styleTween(e,xv(e,r)).on("end.style."+e,Td(e)):typeof t=="function"?this.styleTween(e,Tv(e,r,xa(this,"style."+e,t))).each(Pv(this._id,e)):this.styleTween(e,Av(e,r,t),o).on("end.style."+e,null)}function Ov(e,t,o){return function(r){this.style.setProperty(e,t.call(this,r),o)}}function $v(e,t,o){var r,i;function a(){var l=t.apply(this,arguments);return l!==i&&(r=(i=l)&&Ov(e,l,o)),r}return a._value=t,a}function Bv(e,t,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,$v(e,t,o??""))}function Dv(e){return function(){this.textContent=e}}function Vv(e){return function(){var t=e(this);this.textContent=t??""}}function Rv(e){return this.tween("text",typeof e=="function"?Vv(xa(this,"text",e)):Dv(e==null?"":e+""))}function Mv(e){return function(t){this.textContent=e.call(this,t)}}function Lv(e){var t,o;function r(){var i=e.apply(this,arguments);return i!==o&&(t=(o=i)&&Mv(i)),t}return r._value=e,r}function Fv(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Lv(e))}function Kv(){for(var e=this._name,t=this._id,o=Pd(),r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)if(c=l[d]){var u=ft(c,t);Or(c,e,o,d,l,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ot(r,this._parents,e,o)}function Uv(){var e,t,o=this,r=o._id,i=o.size();return new Promise(function(a,l){var s={value:l},c={value:function(){--i===0&&a()}};o.each(function(){var d=Ct(this,r),u=d.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),d.on=t}),i===0&&a()})}var qv=0;function Ot(e,t,o,r){this._groups=e,this._parents=t,this._name=o,this._id=r}function Pd(){return++qv}var $t=po.prototype;Ot.prototype={constructor:Ot,select:Cv,selectAll:vv,selectChild:$t.selectChild,selectChildren:$t.selectChildren,filter:hv,merge:yv,selection:Sv,transition:Kv,call:$t.call,nodes:$t.nodes,node:$t.node,size:$t.size,empty:$t.empty,each:$t.each,on:wv,attr:ev,attrTween:iv,style:Iv,styleTween:Bv,text:Rv,textTween:Fv,remove:kv,tween:HC,delay:sv,duration:uv,ease:pv,easeVarying:gv,end:Uv,[Symbol.iterator]:$t[Symbol.iterator]};function jv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Gv={time:null,delay:0,duration:250,ease:jv};function zv(e,t){for(var o;!(o=e.__transition)||!(o=o[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return o}function Hv(e){var t,o;e instanceof Ot?(t=e._id,e=e._name):(t=Pd(),(o=Gv).time=ka(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var l=r[a],s=l.length,c,d=0;d<s;++d)(c=l[d])&&Or(c,e,t,d,l,o||zv(c,t));return new Ot(r,this._parents,e,t)}po.prototype.interrupt=jC,po.prototype.transition=Hv;const Br=e=>()=>e;function Yv(e,{sourceEvent:t,target:o,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Bt(e,t,o){this.k=e,this.x=t,this.y=o}Bt.prototype={constructor:Bt,scale:function(e){return e===1?this:new Bt(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Bt(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Mn=new Bt(1,0,0);Bt.prototype;function Aa(e){e.stopImmediatePropagation()}function Co(e){e.preventDefault(),e.stopImmediatePropagation()}function Wv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Zv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Id(){return this.__zoom||Mn}function Xv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Jv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qv(e,t,o){var r=e.invertX(t[0][0])-o[0][0],i=e.invertX(t[1][0])-o[1][0],a=e.invertY(t[0][1])-o[0][1],l=e.invertY(t[1][1])-o[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function eN(){var e=Wv,t=Zv,o=Qv,r=Xv,i=Jv,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Nr,d=mr("start","zoom","end"),u,f,p,m=500,h=150,y=0,g=10;function _(E){E.property("__zoom",Id).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",Y).filter(i).on("touchstart.zoom",j).on("touchmove.zoom",N).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(E,D,T,G){var K=E.selection?E.selection():E;K.property("__zoom",Id),E!==K?P(E,D,T,G):K.interrupt().each(function(){k(this,arguments).event(G).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},_.scaleBy=function(E,D,T,G){_.scaleTo(E,function(){var K=this.__zoom.k,B=typeof D=="function"?D.apply(this,arguments):D;return K*B},T,G)},_.scaleTo=function(E,D,T,G){_.transform(E,function(){var K=t.apply(this,arguments),B=this.__zoom,V=T==null?v(K):typeof T=="function"?T.apply(this,arguments):T,z=B.invert(V),ae=typeof D=="function"?D.apply(this,arguments):D;return o(b(w(B,ae),V,z),K,l)},T,G)},_.translateBy=function(E,D,T,G){_.transform(E,function(){return o(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof T=="function"?T.apply(this,arguments):T),t.apply(this,arguments),l)},null,G)},_.translateTo=function(E,D,T,G,K){_.transform(E,function(){var B=t.apply(this,arguments),V=this.__zoom,z=G==null?v(B):typeof G=="function"?G.apply(this,arguments):G;return o(Mn.translate(z[0],z[1]).scale(V.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof T=="function"?-T.apply(this,arguments):-T),B,l)},G,K)};function w(E,D){return D=Math.max(a[0],Math.min(a[1],D)),D===E.k?E:new Bt(D,E.x,E.y)}function b(E,D,T){var G=D[0]-T[0]*E.k,K=D[1]-T[1]*E.k;return G===E.x&&K===E.y?E:new Bt(E.k,G,K)}function v(E){return[(+E[0][0]+ +E[1][0])/2,(+E[0][1]+ +E[1][1])/2]}function P(E,D,T,G){E.on("start.zoom",function(){k(this,arguments).event(G).start()}).on("interrupt.zoom end.zoom",function(){k(this,arguments).event(G).end()}).tween("zoom",function(){var K=this,B=arguments,V=k(K,B).event(G),z=t.apply(K,B),ae=T==null?v(z):typeof T=="function"?T.apply(K,B):T,ce=Math.max(z[1][0]-z[0][0],z[1][1]-z[0][1]),ee=K.__zoom,U=typeof D=="function"?D.apply(K,B):D,R=c(ee.invert(ae).concat(ce/ee.k),U.invert(ae).concat(ce/U.k));return function(q){if(q===1)q=U;else{var X=R(q),te=ce/X[2];q=new Bt(te,ae[0]-X[0]*te,ae[1]-X[1]*te)}V.zoom(null,q)}})}function k(E,D,T){return!T&&E.__zooming||new L(E,D)}function L(E,D){this.that=E,this.args=D,this.active=0,this.sourceEvent=null,this.extent=t.apply(E,D),this.taps=0}L.prototype={event:function(E){return E&&(this.sourceEvent=E),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(E,D){return this.mouse&&E!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&E!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&E!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(E){var D=dt(this.that).datum();d.call(E,this.that,new Yv(E,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:d}),D)}};function $(E,...D){if(!e.apply(this,arguments))return;var T=k(this,D).event(E),G=this.__zoom,K=Math.max(a[0],Math.min(a[1],G.k*Math.pow(2,r.apply(this,arguments)))),B=wt(E);if(T.wheel)(T.mouse[0][0]!==B[0]||T.mouse[0][1]!==B[1])&&(T.mouse[1]=G.invert(T.mouse[0]=B)),clearTimeout(T.wheel);else{if(G.k===K)return;T.mouse=[B,G.invert(B)],$r(this),T.start()}Co(E),T.wheel=setTimeout(V,h),T.zoom("mouse",o(b(w(G,K),T.mouse[0],T.mouse[1]),T.extent,l));function V(){T.wheel=null,T.end()}}function I(E,...D){if(p||!e.apply(this,arguments))return;var T=E.currentTarget,G=k(this,D,!0).event(E),K=dt(E.view).on("mousemove.zoom",ae,!0).on("mouseup.zoom",ce,!0),B=wt(E,T),V=E.clientX,z=E.clientY;nd(E.view),Aa(E),G.mouse=[B,this.__zoom.invert(B)],$r(this),G.start();function ae(ee){if(Co(ee),!G.moved){var U=ee.clientX-V,R=ee.clientY-z;G.moved=U*U+R*R>y}G.event(ee).zoom("mouse",o(b(G.that.__zoom,G.mouse[0]=wt(ee,T),G.mouse[1]),G.extent,l))}function ce(ee){K.on("mousemove.zoom mouseup.zoom",null),od(ee.view,G.moved),Co(ee),G.event(ee).end()}}function Y(E,...D){if(e.apply(this,arguments)){var T=this.__zoom,G=wt(E.changedTouches?E.changedTouches[0]:E,this),K=T.invert(G),B=T.k*(E.shiftKey?.5:2),V=o(b(w(T,B),G,K),t.apply(this,D),l);Co(E),s>0?dt(this).transition().duration(s).call(P,V,G,E):dt(this).call(_.transform,V,G,E)}}function j(E,...D){if(e.apply(this,arguments)){var T=E.touches,G=T.length,K=k(this,D,E.changedTouches.length===G).event(E),B,V,z,ae;for(Aa(E),V=0;V<G;++V)z=T[V],ae=wt(z,this),ae=[ae,this.__zoom.invert(ae),z.identifier],K.touch0?!K.touch1&&K.touch0[2]!==ae[2]&&(K.touch1=ae,K.taps=0):(K.touch0=ae,B=!0,K.taps=1+!!u);u&&(u=clearTimeout(u)),B&&(K.taps<2&&(f=ae[0],u=setTimeout(function(){u=null},m)),$r(this),K.start())}}function N(E,...D){if(this.__zooming){var T=k(this,D).event(E),G=E.changedTouches,K=G.length,B,V,z,ae;for(Co(E),B=0;B<K;++B)V=G[B],z=wt(V,this),T.touch0&&T.touch0[2]===V.identifier?T.touch0[0]=z:T.touch1&&T.touch1[2]===V.identifier&&(T.touch1[0]=z);if(V=T.that.__zoom,T.touch1){var ce=T.touch0[0],ee=T.touch0[1],U=T.touch1[0],R=T.touch1[1],q=(q=U[0]-ce[0])*q+(q=U[1]-ce[1])*q,X=(X=R[0]-ee[0])*X+(X=R[1]-ee[1])*X;V=w(V,Math.sqrt(q/X)),z=[(ce[0]+U[0])/2,(ce[1]+U[1])/2],ae=[(ee[0]+R[0])/2,(ee[1]+R[1])/2]}else if(T.touch0)z=T.touch0[0],ae=T.touch0[1];else return;T.zoom("touch",o(b(V,z,ae),T.extent,l))}}function C(E,...D){if(this.__zooming){var T=k(this,D).event(E),G=E.changedTouches,K=G.length,B,V;for(Aa(E),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),B=0;B<K;++B)V=G[B],T.touch0&&T.touch0[2]===V.identifier?delete T.touch0:T.touch1&&T.touch1[2]===V.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(V=wt(V,this),Math.hypot(f[0]-V[0],f[1]-V[1])<g)){var z=dt(this).on("dblclick.zoom");z&&z.apply(this,arguments)}}}return _.wheelDelta=function(E){return arguments.length?(r=typeof E=="function"?E:Br(+E),_):r},_.filter=function(E){return arguments.length?(e=typeof E=="function"?E:Br(!!E),_):e},_.touchable=function(E){return arguments.length?(i=typeof E=="function"?E:Br(!!E),_):i},_.extent=function(E){return arguments.length?(t=typeof E=="function"?E:Br([[+E[0][0],+E[0][1]],[+E[1][0],+E[1][1]]]),_):t},_.scaleExtent=function(E){return arguments.length?(a[0]=+E[0],a[1]=+E[1],_):[a[0],a[1]]},_.translateExtent=function(E){return arguments.length?(l[0][0]=+E[0][0],l[1][0]=+E[1][0],l[0][1]=+E[0][1],l[1][1]=+E[1][1],_):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},_.constrain=function(E){return arguments.length?(o=E,_):o},_.duration=function(E){return arguments.length?(s=+E,_):s},_.interpolate=function(E){return arguments.length?(c=E,_):c},_.on=function(){var E=d.on.apply(d,arguments);return E===d?_:E},_.clickDistance=function(E){return arguments.length?(y=(E=+E)*E,_):Math.sqrt(y)},_.tapDistance=function(E){return arguments.length?(g=+E,_):g},_}var ge=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(ge||{}),Ta=(e=>(e.Partial="partial",e.Full="full",e))(Ta||{}),un=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(un||{}),Lt=(e=>(e.Strict="strict",e.Loose="loose",e))(Lt||{}),Dr=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Dr||{}),vo=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(vo||{}),Od=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(Od||{});const tN=["INPUT","SELECT","TEXTAREA"],nN=typeof document<"u"?document:null;function Pa(e){var t,o;const r=((o=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:o[0])||e.target,i=typeof(r==null?void 0:r.hasAttribute)=="function"?r.hasAttribute("contenteditable"):!1,a=typeof(r==null?void 0:r.closest)=="function"?r.closest(".nokey"):null;return tN.includes(r==null?void 0:r.nodeName)||i||!!a}function oN(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function $d(e,t,o,r){const i=t.replace("+",`
|
|
21
21
|
`).replace(`
|
|
22
22
|
|
|
23
23
|
`,`
|
|
24
24
|
+`).split(`
|
|
25
|
-
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===n.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function LE(e,n){return o=>{if(!o.code&&!o.key)return!1;const r=KE(o.code,e);return Array.isArray(e)?e.some(i=>au(o[r],i,n,o.type==="keyup")):au(o[r],e,n,o.type==="keyup")}}function KE(e,n){return n.includes(e)?"code":"key"}function yo(e,n){const o=t.computed(()=>t.toValue(n==null?void 0:n.target)??ME),r=t.shallowRef(t.toValue(e)===!0);let i=!1;const a=new Set;let l=c(t.toValue(e));t.watch(()=>t.toValue(e),(u,p)=>{typeof p=="boolean"&&typeof u!="boolean"&&s(),l=c(u)},{immediate:!0}),fc(["blur","contextmenu"],s),mc((...u)=>l(...u),u=>{var p,d;const f=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0,m=t.toValue(n==null?void 0:n.preventDefault)??!1;if(i=FE(u),(!i||i&&!f)&&ga(u))return;const y=((d=(p=u.composedPath)==null?void 0:p.call(u))==null?void 0:d[0])||u.target,g=(y==null?void 0:y.nodeName)==="BUTTON"||(y==null?void 0:y.nodeName)==="A";!m&&(i||!g)&&u.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),mc((...u)=>l(...u),u=>{const p=t.toValue(n==null?void 0:n.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!p)&&ga(u))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=t.toValue(e)===!0}function c(u){return u===null?(s(),()=>!1):typeof u=="boolean"?(s(),r.value=u,()=>!1):Array.isArray(u)||typeof u=="string"?LE(u,a):u}return r}const lu="vue-flow__node-desc",su="vue-flow__edge-desc",UE="vue-flow__aria-live",cu=["Enter"," ","Escape"],In={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Ar(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function xr(e,n){const o=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),r=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(o*r)}function Tr(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ln(e,n=0,o=1){return Math.min(Math.max(e,n),o)}function uu(e,n){return{x:ln(e.x,n[0][0],n[1][0]),y:ln(e.y,n[0][1],n[1][1])}}function du(e){const n=e.getRootNode();return"elementFromPoint"in n?n:window.document}function Vt(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function sn(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!Vt(e)}function _o(e){return sn(e)&&"computedPosition"in e}function Pr(e){return!Number.isNaN(e)&&Number.isFinite(e)}function qE(e){return Pr(e.width)&&Pr(e.height)&&Pr(e.x)&&Pr(e.y)}function zE(e,n,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:t.markRaw({width:0,height:0}),computedPosition:t.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:Ve(e.data)?e.data:{},events:t.markRaw(Ve(e.events)?e.events:{})};return Object.assign(n??r,e,{id:e.id.toString(),parentNode:o})}function pu(e,n,o){var r,i;const a={id:e.id.toString(),type:e.type??(n==null?void 0:n.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:Ve(e.data)?e.data:{},events:t.markRaw(Ve(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(n??a,e,{id:e.id.toString()})}function fu(e,n,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return n.filter(s=>a.has(s.id))}function GE(...e){if(e.length===3){const[a,l,s]=e;return fu(a,l,s,"target")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Vt(a)&&a.source===r).map(a=>o.find(l=>sn(l)&&l.id===a.target))}function jE(...e){if(e.length===3){const[a,l,s]=e;return fu(a,l,s,"source")}const[n,o]=e,r=typeof n=="string"?n:n.id;return o.filter(a=>Vt(a)&&a.target===r).map(a=>o.find(l=>sn(l)&&l.id===a.source))}function mu({source:e,sourceHandle:n,target:o,targetHandle:r}){return`vueflow__edge-${e}${n??""}-${o}${r??""}`}function HE(e,n){return n.some(o=>Vt(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function ha({x:e,y:n},{x:o,y:r,zoom:i}){return{x:e*i+o,y:n*i+r}}function bo({x:e,y:n},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(n-r)/i};return a?Or(s,l):s}function YE(e,n){return{x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}}function gu({x:e,y:n,width:o,height:r}){return{x:e,y:n,x2:e+o,y2:n+r}}function WE({x:e,y:n,x2:o,y2:r}){return{x:e,y:n,width:o-e,height:r-n}}function hu(e){let n={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];n=YE(n,gu({...r.computedPosition,...r.dimensions}))}return WE(n)}function yu(e,n,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...bo(n,o),width:n.width/o.zoom,height:n.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:u=!0,hidden:p=!1}=s,d=c.width??s.width??null,f=c.height??s.height??null;if(i&&!u||p)continue;const m=xr(a,Ar(s)),h=d===null||f===null,y=r&&m>0,g=(d??0)*(f??0);(h||y||m>=g||s.dragging)&&l.push(s)}return l}function _u(e,n){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return n.filter(r=>o.has(r.source)||o.has(r.target))}function bu(e,n,o,r,i,a=.1,l={x:0,y:0}){const s=n/(e.width*(1+a)),c=o/(e.height*(1+a)),u=Math.min(s,c),p=ln(u,r,i),d=e.x+e.width/2,f=e.y+e.height/2,m=n/2-d*p+(l.x??0),h=o/2-f*p+(l.y??0);return{x:m,y:h,zoom:p}}function ZE(e,n){return{x:n.x+e.x,y:n.y+e.y,z:(e.z>n.z?e.z:n.z)+1}}function wu(e,n){if(!e.parentNode)return!1;const o=n(e.parentNode);return o?o.selected?!0:wu(o,n):!1}function wo(e,n){return typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function ku(e,n,o){return e<n?ln(Math.abs(e-n),1,n)/n:e>o?-ln(Math.abs(e-o),1,n)/n:0}function Cu(e,n,o=15,r=40){const i=ku(e.x,r,n.width-r)*o,a=ku(e.y,r,n.height-r)*o;return[i,a]}function ya(e,n){if(n){const o=e.position.x+e.dimensions.width-n.dimensions.width,r=e.position.y+e.dimensions.height-n.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof n.style=="function"?i={...n.style(n)}:n.style&&(i={...n.style}),i.width=i.width??`${n.dimensions.width}px`,i.height=i.height??`${n.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(n.position.x=n.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(n.position.y=n.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}n.dimensions.width=Number(i.width.toString().replace("px","")),n.dimensions.height=Number(i.height.toString().replace("px","")),typeof n.style=="function"?n.style=a=>{const l=n.style;return{...l(a),...i}}:n.style={...n.style,...i}}}}function Eu(e,n){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")n.findIndex(c=>c.id===l.item.id)===-1&&n.push(l.item);else if(l.type==="remove"){const s=n.findIndex(c=>c.id===l.id);s!==-1&&n.splice(s,1)}const a=n.map(l=>l.id);for(const l of n)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(_o(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&_o(c)&&ya(l,c)}break;case"dimensions":if(_o(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=n[a.indexOf(l.parentNode)];c&&_o(c)&&(!!c.dimensions.width&&!!c.dimensions.height?ya(l,c):t.nextTick(()=>{ya(l,c)}))}break}return n}function Rt(e,n){return{id:e,type:"select",selected:n}}function Nu(e){return{item:e,type:"add"}}function vu(e){return{id:e,type:"remove"}}function Su(e,n,o,r,i){return{id:e,source:n,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function Mt(e,n=new Set,o=!1){const r=[];for(const[i,a]of e){const l=n.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(Rt(a.id,l)))}return r}function de(e){const n=new Set;let o=!1;const r=()=>n.size>0;e&&(o=!0,n.add(e));const i=s=>{n.delete(s)};return{on:s=>{e&&o&&n.delete(e),n.add(s);const c=()=>{i(s),e&&o&&n.add(e)};return ir(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(n).map(c=>c(s))),hasListeners:r,fns:n}}function Au(e,n,o){let r=e;do{if(r&&r.matches(n))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function XE(e,n,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!wu(c,r))&&(c.draggable||n&&typeof c.draggable>"u")&&s.push(t.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function _a({id:e,dragItems:n,findNode:o}){const r=[];for(const i of n){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function xu(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function JE(e,n,o){const[r,i,a,l]=typeof e!="string"?xu(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function QE(e,n,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=JE(i,e,r);a&&(i=a)}else n(new Le(De.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=xu(i.padding),u=(r==null?void 0:r.computedPosition.x)||0,p=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+u+c,i.range[0][1]+p+a],[i.range[1][0]+u-l,i.range[1][1]+p-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function eN({width:e,height:n},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(n||0)]]}function ba(e,n,o,r,i){const a=eN(e.dimensions,QE(e,o,r,i)),l=uu(n,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function On(e,n,o=ge.Left,r=!1){const i=((n==null?void 0:n.x)??0)+e.computedPosition.x,a=((n==null?void 0:n.y)??0)+e.computedPosition.y,{width:l,height:s}=n??rN(e);if(r)return{x:i+l/2,y:a+s/2};switch((n==null?void 0:n.position)??o){case ge.Top:return{x:i+l/2,y:a};case ge.Right:return{x:i+l,y:a+s/2};case ge.Bottom:return{x:i+l/2,y:a+s};case ge.Left:return{x:i,y:a+s/2}}}function Tu(e,n){return e&&(n?e.find(o=>o.id===n):e[0])||null}function tN({sourcePos:e,targetPos:n,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const u={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+o,n.x+i),y2:Math.max(e.y+r,n.y+a)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const p=gu({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),d=Math.max(0,Math.min(p.x2,u.x2)-Math.max(p.x,u.x)),f=Math.max(0,Math.min(p.y2,u.y2)-Math.max(p.y,u.y));return Math.ceil(d*f)>0}function nN(e,n,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=n(e.source),l=n(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var De=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(De||{});const Pu={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
25
|
+
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===t.toLowerCase();r||o.add(e.toLowerCase());const a=i.every((l,s)=>o.has(l)&&Array.from(o.values())[s]===i[s]);return r&&o.delete(e.toLowerCase()),a}function rN(e,t){return o=>{if(!o.code&&!o.key)return!1;const r=iN(o.code,e);return Array.isArray(e)?e.some(i=>$d(o[r],i,t,o.type==="keyup")):$d(o[r],e,t,o.type==="keyup")}}function iN(e,t){return t.includes(e)?"code":"key"}function No(e,t){const o=n.computed(()=>n.toValue(t==null?void 0:t.target)??nN),r=n.shallowRef(n.toValue(e)===!0);let i=!1;const a=new Set;let l=c(n.toValue(e));n.watch(()=>n.toValue(e),(d,u)=>{typeof u=="boolean"&&typeof d!="boolean"&&s(),l=c(d)},{immediate:!0}),Fc(["blur","contextmenu"],s),Kc((...d)=>l(...d),d=>{var u,f;const p=n.toValue(t==null?void 0:t.actInsideInputWithModifier)??!0,m=n.toValue(t==null?void 0:t.preventDefault)??!1;if(i=oN(d),(!i||i&&!p)&&Pa(d))return;const y=((f=(u=d.composedPath)==null?void 0:u.call(d))==null?void 0:f[0])||d.target,g=(y==null?void 0:y.nodeName)==="BUTTON"||(y==null?void 0:y.nodeName)==="A";!m&&(i||!g)&&d.preventDefault(),r.value=!0},{eventName:"keydown",target:o}),Kc((...d)=>l(...d),d=>{const u=n.toValue(t==null?void 0:t.actInsideInputWithModifier)??!0;if(r.value){if((!i||i&&!u)&&Pa(d))return;i=!1,r.value=!1}},{eventName:"keyup",target:o});function s(){i=!1,a.clear(),r.value=n.toValue(e)===!0}function c(d){return d===null?(s(),()=>!1):typeof d=="boolean"?(s(),r.value=d,()=>!1):Array.isArray(d)||typeof d=="string"?rN(d,a):d}return r}const Bd="vue-flow__node-desc",Dd="vue-flow__edge-desc",aN="vue-flow__aria-live",Vd=["Enter"," ","Escape"],Ln={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Vr(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Rr(e,t){const o=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(o*r)}function Mr(e){return{width:e.offsetWidth,height:e.offsetHeight}}function fn(e,t=0,o=1){return Math.min(Math.max(e,t),o)}function Rd(e,t){return{x:fn(e.x,t[0][0],t[1][0]),y:fn(e.y,t[0][1],t[1][1])}}function Md(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function Ft(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function pn(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!Ft(e)}function So(e){return pn(e)&&"computedPosition"in e}function Lr(e){return!Number.isNaN(e)&&Number.isFinite(e)}function lN(e){return Lr(e.width)&&Lr(e.height)&&Lr(e.x)&&Lr(e.y)}function sN(e,t,o){const r={id:e.id.toString(),type:e.type??"default",dimensions:n.markRaw({width:0,height:0}),computedPosition:n.markRaw({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:Ve(e.data)?e.data:{},events:n.markRaw(Ve(e.events)?e.events:{})};return Object.assign(t??r,e,{id:e.id.toString(),parentNode:o})}function Ld(e,t,o){var r,i;const a={id:e.id.toString(),type:e.type??(t==null?void 0:t.type)??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(r=e.sourceHandle)==null?void 0:r.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??(o==null?void 0:o.updatable),selectable:e.selectable??(o==null?void 0:o.selectable),focusable:e.focusable??(o==null?void 0:o.focusable),data:Ve(e.data)?e.data:{},events:n.markRaw(Ve(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??(o==null?void 0:o.interactionWidth),...o??{}};return Object.assign(t??a,e,{id:e.id.toString()})}function Fd(e,t,o,r){const i=typeof e=="string"?e:e.id,a=new Set,l=r==="source"?"target":"source";for(const s of o)s[l]===i&&a.add(s[r]);return t.filter(s=>a.has(s.id))}function cN(...e){if(e.length===3){const[a,l,s]=e;return Fd(a,l,s,"target")}const[t,o]=e,r=typeof t=="string"?t:t.id;return o.filter(a=>Ft(a)&&a.source===r).map(a=>o.find(l=>pn(l)&&l.id===a.target))}function dN(...e){if(e.length===3){const[a,l,s]=e;return Fd(a,l,s,"source")}const[t,o]=e,r=typeof t=="string"?t:t.id;return o.filter(a=>Ft(a)&&a.target===r).map(a=>o.find(l=>pn(l)&&l.id===a.source))}function Kd({source:e,sourceHandle:t,target:o,targetHandle:r}){return`vueflow__edge-${e}${t??""}-${o}${r??""}`}function uN(e,t){return t.some(o=>Ft(o)&&o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle))}function Ia({x:e,y:t},{x:o,y:r,zoom:i}){return{x:e*i+o,y:t*i+r}}function xo({x:e,y:t},{x:o,y:r,zoom:i},a=!1,l=[1,1]){const s={x:(e-o)/i,y:(t-r)/i};return a?Kr(s,l):s}function fN(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}}function Ud({x:e,y:t,width:o,height:r}){return{x:e,y:t,x2:e+o,y2:t+r}}function pN({x:e,y:t,x2:o,y2:r}){return{x:e,y:t,width:o-e,height:r-t}}function qd(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let o=0;o<e.length;o++){const r=e[o];t=fN(t,Ud({...r.computedPosition,...r.dimensions}))}return pN(t)}function jd(e,t,o={x:0,y:0,zoom:1},r=!1,i=!1){const a={...xo(t,o),width:t.width/o.zoom,height:t.height/o.zoom},l=[];for(const s of e){const{dimensions:c,selectable:d=!0,hidden:u=!1}=s,f=c.width??s.width??null,p=c.height??s.height??null;if(i&&!d||u)continue;const m=Rr(a,Vr(s)),h=f===null||p===null,y=r&&m>0,g=(f??0)*(p??0);(h||y||m>=g||s.dragging)&&l.push(s)}return l}function Gd(e,t){const o=new Set;if(typeof e=="string")o.add(e);else if(e.length>=1)for(const r of e)o.add(r.id);return t.filter(r=>o.has(r.source)||o.has(r.target))}function zd(e,t,o,r,i,a=.1,l={x:0,y:0}){const s=t/(e.width*(1+a)),c=o/(e.height*(1+a)),d=Math.min(s,c),u=fn(d,r,i),f=e.x+e.width/2,p=e.y+e.height/2,m=t/2-f*u+(l.x??0),h=o/2-p*u+(l.y??0);return{x:m,y:h,zoom:u}}function mN(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function Hd(e,t){if(!e.parentNode)return!1;const o=t(e.parentNode);return o?o.selected?!0:Hd(o,t):!1}function Ao(e,t){return typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`}function Yd(e,t,o){return e<t?fn(Math.abs(e-t),1,t)/t:e>o?-fn(Math.abs(e-o),1,t)/t:0}function Wd(e,t,o=15,r=40){const i=Yd(e.x,r,t.width-r)*o,a=Yd(e.y,r,t.height-r)*o;return[i,a]}function Oa(e,t){if(t){const o=e.position.x+e.dimensions.width-t.dimensions.width,r=e.position.y+e.dimensions.height-t.dimensions.height;if(o>0||r>0||e.position.x<0||e.position.y<0){let i={};if(typeof t.style=="function"?i={...t.style(t)}:t.style&&(i={...t.style}),i.width=i.width??`${t.dimensions.width}px`,i.height=i.height??`${t.dimensions.height}px`,o>0)if(typeof i.width=="string"){const a=Number(i.width.replace("px",""));i.width=`${a+o}px`}else i.width+=o;if(r>0)if(typeof i.height=="string"){const a=Number(i.height.replace("px",""));i.height=`${a+r}px`}else i.height+=r;if(e.position.x<0){const a=Math.abs(e.position.x);if(t.position.x=t.position.x-a,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+a}px`}else i.width+=a;e.position.x=0}if(e.position.y<0){const a=Math.abs(e.position.y);if(t.position.y=t.position.y-a,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+a}px`}else i.height+=a;e.position.y=0}t.dimensions.width=Number(i.width.toString().replace("px","")),t.dimensions.height=Number(i.height.toString().replace("px","")),typeof t.style=="function"?t.style=a=>{const l=t.style;return{...l(a),...i}}:t.style={...t.style,...i}}}}function Zd(e,t){var o,r;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")t.findIndex(c=>c.id===l.item.id)===-1&&t.push(l.item);else if(l.type==="remove"){const s=t.findIndex(c=>c.id===l.id);s!==-1&&t.splice(s,1)}const a=t.map(l=>l.id);for(const l of t)for(const s of e)if(s.id===l.id)switch(s.type){case"select":l.selected=s.selected;break;case"position":if(So(l)&&(typeof s.position<"u"&&(l.position=s.position),typeof s.dragging<"u"&&(l.dragging=s.dragging),l.expandParent&&l.parentNode)){const c=t[a.indexOf(l.parentNode)];c&&So(c)&&Oa(l,c)}break;case"dimensions":if(So(l)&&(typeof s.dimensions<"u"&&(l.dimensions=s.dimensions),typeof s.updateStyle<"u"&&s.updateStyle&&(l.style={...l.style||{},width:`${(o=s.dimensions)==null?void 0:o.width}px`,height:`${(r=s.dimensions)==null?void 0:r.height}px`}),typeof s.resizing<"u"&&(l.resizing=s.resizing),l.expandParent&&l.parentNode)){const c=t[a.indexOf(l.parentNode)];c&&So(c)&&(!!c.dimensions.width&&!!c.dimensions.height?Oa(l,c):n.nextTick(()=>{Oa(l,c)}))}break}return t}function Kt(e,t){return{id:e,type:"select",selected:t}}function Xd(e){return{item:e,type:"add"}}function Jd(e){return{id:e,type:"remove"}}function Qd(e,t,o,r,i){return{id:e,source:t,target:o,sourceHandle:r||null,targetHandle:i||null,type:"remove"}}function Ut(e,t=new Set,o=!1){const r=[];for(const[i,a]of e){const l=t.has(i);!(a.selected===void 0&&!l)&&a.selected!==l&&(o&&(a.selected=l),r.push(Kt(a.id,l)))}return r}function ue(e){const t=new Set;let o=!1;const r=()=>t.size>0;e&&(o=!0,t.add(e));const i=s=>{t.delete(s)};return{on:s=>{e&&o&&t.delete(e),t.add(s);const c=()=>{i(s),e&&o&&t.add(e)};return pr(c),{off:c}},off:i,trigger:s=>Promise.all(Array.from(t).map(c=>c(s))),hasListeners:r,fns:t}}function eu(e,t,o){let r=e;do{if(r&&r.matches(t))return!0;if(r===o)return!1;r=r.parentElement}while(r);return!1}function gN(e,t,o,r,i){var a,l;const s=[];for(const c of e)(c.selected||c.id===i)&&(!c.parentNode||!Hd(c,r))&&(c.draggable||t&&typeof c.draggable>"u")&&s.push(n.markRaw({id:c.id,position:c.position||{x:0,y:0},distance:{x:o.x-((a=c.computedPosition)==null?void 0:a.x)||0,y:o.y-((l=c.computedPosition)==null?void 0:l.y)||0},from:c.computedPosition,extent:c.extent,parentNode:c.parentNode,dimensions:c.dimensions,expandParent:c.expandParent}));return s}function $a({id:e,dragItems:t,findNode:o}){const r=[];for(const i of t){const a=o(i.id);a&&r.push(a)}return[e?r.find(i=>i.id===e):r[0],r]}function tu(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function hN(e,t,o){const[r,i,a,l]=typeof e!="string"?tu(e.padding):[0,0,0,0];return o&&typeof o.computedPosition.x<"u"&&typeof o.computedPosition.y<"u"&&typeof o.dimensions.width<"u"&&typeof o.dimensions.height<"u"?[[o.computedPosition.x+l,o.computedPosition.y+r],[o.computedPosition.x+o.dimensions.width-i,o.computedPosition.y+o.dimensions.height-a]]:!1}function yN(e,t,o,r){let i=e.extent||o;if((i==="parent"||!Array.isArray(i)&&(i==null?void 0:i.range)==="parent")&&!e.expandParent)if(e.parentNode&&r&&e.dimensions.width&&e.dimensions.height){const a=hN(i,e,r);a&&(i=a)}else t(new Ue(De.NODE_EXTENT_INVALID,e.id)),i=o;else if(Array.isArray(i)){const a=(r==null?void 0:r.computedPosition.x)||0,l=(r==null?void 0:r.computedPosition.y)||0;i=[[i[0][0]+a,i[0][1]+l],[i[1][0]+a,i[1][1]+l]]}else if(i!=="parent"&&(i!=null&&i.range)&&Array.isArray(i.range)){const[a,l,s,c]=tu(i.padding),d=(r==null?void 0:r.computedPosition.x)||0,u=(r==null?void 0:r.computedPosition.y)||0;i=[[i.range[0][0]+d+c,i.range[0][1]+u+a],[i.range[1][0]+d-l,i.range[1][1]+u-s]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function _N({width:e,height:t},o){return[o[0],[o[1][0]-(e||0),o[1][1]-(t||0)]]}function Ba(e,t,o,r,i){const a=_N(e.dimensions,yN(e,o,r,i)),l=Rd(t,a);return{position:{x:l.x-((i==null?void 0:i.computedPosition.x)||0),y:l.y-((i==null?void 0:i.computedPosition.y)||0)},computedPosition:l}}function Fn(e,t,o=ge.Left,r=!1){const i=((t==null?void 0:t.x)??0)+e.computedPosition.x,a=((t==null?void 0:t.y)??0)+e.computedPosition.y,{width:l,height:s}=t??kN(e);if(r)return{x:i+l/2,y:a+s/2};switch((t==null?void 0:t.position)??o){case ge.Top:return{x:i+l/2,y:a};case ge.Right:return{x:i+l,y:a+s/2};case ge.Bottom:return{x:i+l/2,y:a+s};case ge.Left:return{x:i,y:a+s/2}}}function nu(e,t){return e&&(t?e.find(o=>o.id===t):e[0])||null}function bN({sourcePos:e,targetPos:t,sourceWidth:o,sourceHeight:r,targetWidth:i,targetHeight:a,width:l,height:s,viewport:c}){const d={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+o,t.x+i),y2:Math.max(e.y+r,t.y+a)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const u=Ud({x:(0-c.x)/c.zoom,y:(0-c.y)/c.zoom,width:l/c.zoom,height:s/c.zoom}),f=Math.max(0,Math.min(u.x2,d.x2)-Math.max(u.x,d.x)),p=Math.max(0,Math.min(u.y2,d.y2)-Math.max(u.y,d.y));return Math.ceil(f*p)>0}function wN(e,t,o=!1){const r=typeof e.zIndex=="number";let i=r?e.zIndex:0;const a=t(e.source),l=t(e.target);return!a||!l?0:(o&&(i=r?e.zIndex:Math.max(a.computedPosition.z||0,l.computedPosition.z||0)),i)}var De=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(De||{});const ou={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
26
26
|
Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found
|
|
27
|
-
Node: ${e}`,NODE_MISSING_PARENT:(e,
|
|
27
|
+
Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent
|
|
28
28
|
Node: ${e}
|
|
29
|
-
Parent: ${
|
|
29
|
+
Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing
|
|
30
30
|
Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent
|
|
31
31
|
Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target
|
|
32
|
-
Edge: ${e}`,EDGE_SOURCE_MISSING:(e,
|
|
32
|
+
Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing
|
|
33
33
|
Edge: ${e}
|
|
34
|
-
Source: ${
|
|
34
|
+
Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing
|
|
35
35
|
Edge: ${e}
|
|
36
|
-
Target: ${
|
|
37
|
-
Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,
|
|
36
|
+
Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing
|
|
37
|
+
Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,o)=>`Edge source and target are the same
|
|
38
38
|
Edge: ${e}
|
|
39
|
-
Source: ${
|
|
40
|
-
Target: ${o}`,EDGE_SOURCE_TARGET_MISSING:(e,
|
|
39
|
+
Source: ${t}
|
|
40
|
+
Target: ${o}`,EDGE_SOURCE_TARGET_MISSING:(e,t,o)=>`Edge source or target is missing
|
|
41
41
|
Edge: ${e}
|
|
42
|
-
Source: ${
|
|
42
|
+
Source: ${t}
|
|
43
43
|
Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
|
|
44
44
|
Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
|
|
45
|
-
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Le extends Error{constructor(n,...o){var r;super((r=Pu[n])==null?void 0:r.call(Pu,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function wa(e){return"clientX"in e}function oN(e){return"sourceEvent"in e}function bt(e,n){const o=wa(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const Ir=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function rN(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Or(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const iN=()=>!0;function ka(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function aN(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())xr(i,Ar(a))>0&&r.push(a);return r}const lN=250;function sN(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=aN(e,o,n+lN);for(const u of c){const p=[...((i=u.handleBounds)==null?void 0:i.source)??[],...((a=u.handleBounds)==null?void 0:a.target)??[]];for(const d of p){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:f,y:m}=On(u,d,d.position,!0),h=Math.sqrt((f-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...d,x:f,y:m}],s=h):h===s&&l.push({...d,x:f,y:m}))}}if(!l.length)return null;if(l.length>1){const u=r.type==="source"?"target":"source";return l.find(p=>p.type===u)??l[0]}return l[0]}function Iu(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:u=iN},p,d,f){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:y,y:g}=bt(e),b=l.elementFromPoint(y,g),k=b!=null&&b.classList.contains(`${s}-flow__handle`)?b:h,_={handleDomNode:k,isValid:!1,connection:null,toHandle:null};if(k){const E=Ou(void 0,k),P=k.getAttribute("data-nodeid"),C=k.getAttribute("data-handleid"),R=k.classList.contains("connectable"),$=k.classList.contains("connectableend");if(!P||!E)return _;const O={source:m?P:r,sourceHandle:m?C:i,target:m?r:P,targetHandle:m?i:C};_.connection=O;const z=R&&$&&(o===Dt.Strict?m&&E==="source"||!m&&E==="target":P!==r||C!==i);_.isValid=z&&u(O,{nodes:d,edges:p,sourceNode:f(r),targetNode:f(P)}),_.toHandle=n}return _}function Ou(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function cN(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function uN(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function dN(e,n,o,r,i,a=!1){var l,s,c;const u=r.get(e);if(!u)return null;const p=i===Dt.Strict?(l=u.handleBounds)==null?void 0:l[n]:[...((s=u.handleBounds)==null?void 0:s.source)??[],...((c=u.handleBounds)==null?void 0:c.target)??[]],d=(o?p==null?void 0:p.find(f=>f.id===o):p==null?void 0:p[0])??null;return d&&a?{...d,...On(u,d,d.position,!0)}:d}const Ca={[ge.Left]:ge.Right,[ge.Right]:ge.Left,[ge.Top]:ge.Bottom,[ge.Bottom]:ge.Top},pN=["production","prod"];function $r(e,...n){$u()&&console.warn(`[Vue Flow]: ${e}`,...n)}function $u(){return!pN.includes(process.env.NODE_ENV||"")}function Bu(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...Tr(l)}}):null}function Ea(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function Ve(e){return typeof t.unref(e)<"u"}function fN(e,n,o,r){if(!e||!e.source||!e.target)return o(new Le(De.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Vt(e)?i=e:i={...e,id:mu(e)},i=pu(i,void 0,r),HE(i,n)?!1:i}function mN(e,n,o,r,i){if(!n.source||!n.target)return i(new Le(De.EDGE_INVALID,e.id)),!1;if(!o)return i(new Le(De.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?mu(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function Du(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!sn(l)){o(new Le(De.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=zE(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Le(De.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Vu(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const u=r.get(l)||new Map;r.set(l,u.set(o,n))}}function Na(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},u=`${i}-${l}--${a}-${s}`,p=`${a}-${s}--${i}-${l}`;Vu("source",c,p,e,i,l),Vu("target",c,u,e,a,s)}}function Ru(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function va(e,n,o,r,i,a,l,s){const c=[];for(const u of e){const p=Vt(u)?u:fN(u,s,i,a);if(!p)continue;const d=o(p.source),f=o(p.target);if(!d||!f){i(new Le(De.EDGE_SOURCE_TARGET_MISSING,p.id,p.source,p.target));continue}if(!d){i(new Le(De.EDGE_SOURCE_MISSING,p.id,p.source));continue}if(!f){i(new Le(De.EDGE_TARGET_MISSING,p.id,p.target));continue}if(n&&!n(p,{edges:s,nodes:l,sourceNode:d,targetNode:f})){i(new Le(De.EDGE_INVALID,p.id));continue}const m=r(p.id);c.push({...pu(p,m,a),sourceNode:d,targetNode:f})}return c}const Mu=Symbol("vueFlow"),Fu=Symbol("nodeId"),Lu=Symbol("nodeRef"),gN=Symbol("edgeId"),hN=Symbol("edgeRef"),Br=Symbol("slots");function Ku(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:u,autoPanSpeed:p,nodesDraggable:d,panBy:f,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:b,addSelectedNodes:k,updateNodePositions:_,emits:E}=Ae(),{onStart:P,onDrag:C,onStop:R,onClick:$,el:O,disabled:X,id:z,selectable:A,dragHandle:S}=e,w=t.shallowRef(!1);let D=[],T,G=null,U={x:void 0,y:void 0},M={x:0,y:0},V=null,H=!1,ie=0,ce=!1;const ee=bN(),B=({x:oe,y:pe})=>{U={x:oe,y:pe};let fe=!1;if(D=D.map(x=>{const N={x:oe-x.distance.x,y:pe-x.distance.y},{computedPosition:v}=ba(x,o.value?Or(N,r.value):N,E.error,l.value,x.parentNode?m(x.parentNode):void 0);return fe=fe||x.position.x!==v.x||x.position.y!==v.y,x.position=v,x}),!!fe&&(_(D,!0,!0),w.value=!0,V)){const[x,N]=_a({id:z,dragItems:D,findNode:m});C({event:V,node:x,nodes:N})}},L=()=>{if(!G)return;const[oe,pe]=Cu(M,G,p.value);if(oe!==0||pe!==0){const fe={x:(U.x??0)-oe/c.value.zoom,y:(U.y??0)-pe/c.value.zoom};f({x:oe,y:pe})&&B(fe)}ie=requestAnimationFrame(L)},q=(oe,pe)=>{H=!0;const fe=m(z);!g.value&&!h.value&&fe&&(fe.selected||b()),fe&&t.toValue(A)&&g.value&&Ea(fe,h.value,k,b,y,!1,pe);const x=ee(oe.sourceEvent);if(U=x,D=XE(a.value,d.value,x,m,z),D.length){const[N,v]=_a({id:z,dragItems:D,findNode:m});P({event:oe.sourceEvent,node:N,nodes:v})}},Z=(oe,pe)=>{var fe;oe.sourceEvent.type==="touchmove"&&oe.sourceEvent.touches.length>1||(s.value===0&&q(oe,pe),U=ee(oe.sourceEvent),G=((fe=n.value)==null?void 0:fe.getBoundingClientRect())||null,M=bt(oe.sourceEvent,G))},te=(oe,pe)=>{const fe=ee(oe.sourceEvent);if(!ce&&H&&u.value&&(ce=!0,L()),!H){const x=fe.xSnapped-(U.x??0),N=fe.ySnapped-(U.y??0);Math.sqrt(x*x+N*N)>s.value&&q(oe,pe)}(U.x!==fe.xSnapped||U.y!==fe.ySnapped)&&D.length&&H&&(V=oe.sourceEvent,M=bt(oe.sourceEvent,G),B(fe))},ne=oe=>{let pe=!1;if(!H&&!w.value&&!h.value){const fe=oe.sourceEvent,x=ee(fe),N=x.xSnapped-(U.x??0),v=x.ySnapped-(U.y??0),I=Math.sqrt(N*N+v*v);I!==0&&I<=s.value&&($==null||$(fe),pe=!0)}if(D.length&&!pe){_(D,!1,!1);const[fe,x]=_a({id:z,dragItems:D,findNode:m});R({event:oe.sourceEvent,node:fe,nodes:x})}D=[],w.value=!1,ce=!1,H=!1,U={x:void 0,y:void 0},cancelAnimationFrame(ie)};return t.watch([()=>t.toValue(X),O],([oe,pe],fe,x)=>{if(pe){const N=lt(pe);oe||(T=qk().on("start",v=>Z(v,pe)).on("drag",v=>te(v,pe)).on("end",v=>ne(v)).filter(v=>{const I=v.target,J=t.toValue(S);return!v.button&&(!i.value||!Au(I,`.${i.value}`,pe)&&(!J||Au(I,J,pe)))}),N.call(T)),x(()=>{N.on(".drag",null),T&&(T.on("start",null),T.on("drag",null),T.on("end",null))})}}),w}function yN(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),updateStart:de(),update:de(),updateEnd:de()}}function _N(e,n){const o=yN();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function bN(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=Ae();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=oN(i)?i.sourceEvent:i,{x:c,y:u}=bt(s,l),p=bo({x:c,y:u},e.value),{x:d,y:f}=o.value?Or(p,n.value):p;return{xSnapped:d,ySnapped:f,...p}}}function Dr(){return!0}function Uu({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:u,connectionRadius:p,connectOnClick:d,connectionClickStartHandle:f,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:b,startConnection:k,updateConnection:_,endConnection:E,emits:P,viewport:C,edges:R,nodes:$,isValidConnection:O,nodeLookup:X}=Ae();let z=null,A=!1,S=null;function w(T){var G;const U=t.toValue(o)==="target",M=wa(T),V=du(T.target);if(M&&T.button===0||!M){let H=function(W){x=bt(W,oe),B=sN(bo(x,C.value,!1,[1,1]),p.value,X.value,I),N||(v(),N=!0);const K=Iu(W,{handle:B,connectionMode:u.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:U?"target":"source",isValidConnection:ee,doc:V,lib:"vue",flowId:s,nodeLookup:X.value},R.value,$.value,g);S=K.handleDomNode,z=K.connection,A=uN(!!B,K.isValid);const ae={...F,isValid:A,to:K.toHandle&&A?ha({x:K.toHandle.x,y:K.toHandle.y},C.value):x,toHandle:K.toHandle,toPosition:A&&K.toHandle?K.toHandle.position:Ca[I.position],toNode:K.toHandle?X.value.get(K.toHandle.nodeId):null};if(!(A&&B&&(F!=null&&F.toHandle)&&ae.toHandle&&F.toHandle.type===ae.toHandle.type&&F.toHandle.nodeId===ae.toHandle.nodeId&&F.toHandle.id===ae.toHandle.id&&F.to.x===ae.to.x&&F.to.y===ae.to.y)){if(_(B&&A?ha({x:B.x,y:B.y},C.value):x,K.toHandle,cN(!!B,A)),F=ae,!B&&!A&&!S)return ka(fe);z&&z.source!==z.target&&S&&(ka(fe),fe=S,S.classList.add("connecting","vue-flow__handle-connecting"),S.classList.toggle("valid",!!A),S.classList.toggle("vue-flow__handle-valid",!!A))}},ie=function(W){(B||S)&&z&&A&&(a?a(W,z):P.connect(z)),P.connectEnd(W),i&&(l==null||l(W)),ka(fe),cancelAnimationFrame(L),E(W),N=!1,A=!1,z=null,S=null,V.removeEventListener("mousemove",H),V.removeEventListener("mouseup",ie),V.removeEventListener("touchmove",H),V.removeEventListener("touchend",ie)};const ce=g(t.toValue(n));let ee=t.toValue(r)||O.value||Dr;!ee&&ce&&(ee=(U?ce.isValidSourcePos:ce.isValidTargetPos)||Dr);let B,L=0;const{x:q,y:Z}=bt(T),te=V==null?void 0:V.elementFromPoint(q,Z),ne=Ou(t.toValue(i),te),oe=(G=c.value)==null?void 0:G.getBoundingClientRect();if(!oe||!ne)return;const pe=dN(t.toValue(n),ne,t.toValue(e),X.value,u.value);if(!pe)return;let fe,x=bt(T,oe),N=!1;const v=()=>{if(!h.value)return;const[W,K]=Cu(x,oe,y.value);b({x:W,y:K}),L=requestAnimationFrame(v)},I={...pe,nodeId:t.toValue(n),type:ne,position:pe.position},J=X.value.get(t.toValue(n)),Q={inProgress:!0,isValid:null,from:On(J,I,ge.Left,!0),fromHandle:I,fromPosition:I.position,fromNode:J,to:x,toHandle:null,toPosition:Ca[I.position],toNode:null};k({nodeId:t.toValue(n),id:t.toValue(e),type:ne,position:(te==null?void 0:te.getAttribute("data-handlepos"))||ge.Top,...x},{x:q-oe.left,y:Z-oe.top}),P.connectStart({event:T,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ne});let F=Q;V.addEventListener("mousemove",H),V.addEventListener("mouseup",ie),V.addEventListener("touchmove",H),V.addEventListener("touchend",ie)}}function D(T){var G,U;if(!d.value)return;const M=t.toValue(o)==="target";if(!f.value){P.clickConnectStart({event:T,nodeId:t.toValue(n),handleId:t.toValue(e)}),k({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:ge.Top,...bt(T)},void 0,!0);return}let V=t.toValue(r)||O.value||Dr;const H=g(t.toValue(n));if(!V&&H&&(V=(M?H.isValidSourcePos:H.isValidTargetPos)||Dr),H&&(typeof H.connectable>"u"?m.value:H.connectable)===!1)return;const ie=du(T.target),ce=Iu(T,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:ge.Top,...bt(T)},connectionMode:u.value,fromNodeId:f.value.nodeId,fromHandleId:f.value.id??null,fromType:f.value.type,isValidConnection:V,doc:ie,lib:"vue",flowId:s,nodeLookup:X.value},R.value,$.value,g),ee=((G=ce.connection)==null?void 0:G.source)===((U=ce.connection)==null?void 0:U.target);ce.isValid&&ce.connection&&!ee&&P.connect(ce.connection),P.clickConnectEnd(T),E(T,!0)}return{handlePointerDown:w,handleClick:D}}function wN(){return t.inject(Fu,"")}function qu(e){const n=e??wN()??"",o=t.inject(Lu,t.ref(null)),{findNode:r,edges:i,emits:a}=Ae(),l=r(n);return l||a.error(new Le(De.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>_u([l],i.value))}}function kN(){return{doubleClick:de(),click:de(),mouseEnter:de(),mouseMove:de(),mouseLeave:de(),contextMenu:de(),dragStart:de(),drag:de(),dragStop:de()}}function CN(e,n){const o=kN();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function zu(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ae();return(c,u=!1)=>{const p=a.value?i.value[0]:5,d=a.value?i.value[1]:5,f=u?4:1,m=c.x*p*f,h=c.y*d*f,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const b={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:k}=ba(g,b,s.error,n.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:k,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Sa=.1,EN=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function Ft(){return $r("Viewport not initialized yet."),Promise.resolve(!1)}const NN={zoomIn:Ft,zoomOut:Ft,zoomTo:Ft,fitView:Ft,setCenter:Ft,fitBounds:Ft,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:Ft,setTransform:Ft,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function vN(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?co:yr).scaleBy(Aa(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:u,y:p}=uu({x:-r,y:-i},e.translateExtent),d=Pn.translate(-u,-p).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?co:yr).transform(Aa(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),d):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?co:yr).scaleTo(Aa(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Sa,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const f of e.nodes)f.dimensions.width&&f.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!f.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(f.id))&&s.push(f);if(!s.length)return Promise.resolve(!1);const c=hu(s),{x:u,y:p,zoom:d}=bu(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Sa,i.offset);return o(u,p,d,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,u=e.dimensions.height/2-a*s;return o(c,u,s,l)},fitBounds:(i,a={padding:Sa})=>{const{x:l,y:s,zoom:c}=bu(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>bo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return bo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return ha(s,e.viewport)}return{x:0,y:0}}}:NN)}function Aa(e,n=0,o=EN,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function SN(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,b=!!(o.nodes.value.length||o.edges.value.length);y=vn([e.modelValue,()=>{var k,_;return(_=(k=e.modelValue)==null?void 0:k.value)==null?void 0:_.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setElements(k),!g&&!b&&k.length?b=!0:g==null||g.resume())}),g=vn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([k,_])=>{var E;(E=e.modelValue)!=null&&E.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...k,..._],t.nextTick(()=>{y==null||y.resume()}))},{immediate:b}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,b=!!o.nodes.value.length;y=vn([e.nodes,()=>{var k,_;return(_=(k=e.nodes)==null?void 0:k.value)==null?void 0:_.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setNodes(k),!g&&!b&&k.length?b=!0:g==null||g.resume())}),g=vn([o.nodes,()=>o.nodes.value.length],([k])=>{var _;(_=e.nodes)!=null&&_.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...k],t.nextTick(()=>{y==null||y.resume()}))},{immediate:b}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,b=!!o.edges.value.length;y=vn([e.edges,()=>{var k,_;return(_=(k=e.edges)==null?void 0:k.value)==null?void 0:_.length}],([k])=>{k&&Array.isArray(k)&&(g==null||g.pause(),o.setEdges(k),!g&&!b&&k.length?b=!0:g==null||g.resume())}),g=vn([o.edges,()=>o.edges.value.length],([k])=>{var _;(_=e.edges)!=null&&_.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...k],t.nextTick(()=>{y==null||y.resume()}))},{immediate:b}),t.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&Ve(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&Ve(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&Ve(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},p=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&Ve(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{Ve(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},f=()=>{r.run(()=>{const y=async g=>{let b=g;typeof n.autoConnect=="function"&&(b=await n.autoConnect(g)),b!==!1&&o.addEdges([b])};t.watch(()=>n.autoConnect,()=>{Ve(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,b,k)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),k(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const b=g;if(!y.includes(b)){const k=t.toRef(()=>n[b]),_=o[b];t.isRef(_)&&r.run(()=>{t.watch(k,E=>{Ve(E)&&(_.value=E)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),u(),p(),d(),f(),m()})()}),()=>r.stop()}function AN(){return{edgesChange:de(),nodesChange:de(),nodeDoubleClick:de(),nodeClick:de(),nodeMouseEnter:de(),nodeMouseMove:de(),nodeMouseLeave:de(),nodeContextMenu:de(),nodeDragStart:de(),nodeDrag:de(),nodeDragStop:de(),nodesInitialized:de(),miniMapNodeClick:de(),miniMapNodeDoubleClick:de(),miniMapNodeMouseEnter:de(),miniMapNodeMouseMove:de(),miniMapNodeMouseLeave:de(),connect:de(),connectStart:de(),connectEnd:de(),clickConnectStart:de(),clickConnectEnd:de(),paneReady:de(),init:de(),move:de(),moveStart:de(),moveEnd:de(),selectionDragStart:de(),selectionDrag:de(),selectionDragStop:de(),selectionContextMenu:de(),selectionStart:de(),selectionEnd:de(),viewportChangeStart:de(),viewportChange:de(),viewportChangeEnd:de(),paneScroll:de(),paneClick:de(),paneContextMenu:de(),paneMouseEnter:de(),paneMouseMove:de(),paneMouseLeave:de(),edgeContextMenu:de(),edgeMouseEnter:de(),edgeMouseMove:de(),edgeMouseLeave:de(),edgeDoubleClick:de(),edgeClick:de(),edgeUpdateStart:de(),edgeUpdate:de(),edgeUpdateEnd:de(),updateNodeInternals:de(),error:de(e=>$r(e.message))}}function xN(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),ir(()=>{r.off(i)})}})}function Gu(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:fa.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:ho.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:an.Bezier,style:{}},connectionMode:Dt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Ir()?"Meta":"Control",zoomActivationKeyCode:Ir()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:AN(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const TN=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function PN(e,n,o){const r=vN(e),i=x=>{const N=x??[];e.hooks.updateNodeInternals.trigger(N)},a=x=>jE(x,e.nodes,e.edges),l=x=>GE(x,e.nodes,e.edges),s=x=>_u(x,e.edges),c=({id:x,type:N,nodeId:v})=>{var I;return Array.from(((I=e.connectionLookup.get(`${v}-${N}-${x??null}`))==null?void 0:I.values())??[])},u=x=>{if(x)return n.value.get(x)},p=x=>{if(x)return o.value.get(x)},d=(x,N,v)=>{var I,J;const Y=[];for(const Q of x){const F={id:Q.id,type:"position",dragging:v,from:Q.from};if(N&&(F.position=Q.position,Q.parentNode)){const W=u(Q.parentNode);F.position={x:F.position.x-(((I=W==null?void 0:W.computedPosition)==null?void 0:I.x)??0),y:F.position.y-(((J=W==null?void 0:W.computedPosition)==null?void 0:J.y)??0)}}Y.push(F)}Y!=null&&Y.length&&e.hooks.nodesChange.trigger(Y)},f=x=>{if(!e.vueFlowRef)return;const N=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!N)return;const v=window.getComputedStyle(N),{m22:I}=new window.DOMMatrixReadOnly(v.transform),J=[];for(const Y of x){const Q=Y,F=u(Q.id);if(F){const W=Tr(Q.nodeElement);if(!!(W.width&&W.height&&(F.dimensions.width!==W.width||F.dimensions.height!==W.height||Q.forceUpdate))){const ae=Q.nodeElement.getBoundingClientRect();F.dimensions=W,F.handleBounds.source=Bu("source",Q.nodeElement,ae,I,F.id),F.handleBounds.target=Bu("target",Q.nodeElement,ae,I,F.id),J.push({id:F.id,type:"dimensions",dimensions:W})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),J.length&&e.hooks.nodesChange.trigger(J)},m=(x,N)=>{const v=new Set,I=new Set;for(const Q of x)sn(Q)?v.add(Q.id):Vt(Q)&&I.add(Q.id);const J=Mt(n.value,v,!0),Y=Mt(o.value,I);if(e.multiSelectionActive){for(const Q of v)J.push(Rt(Q,N));for(const Q of I)Y.push(Rt(Q,N))}J.length&&e.hooks.nodesChange.trigger(J),Y.length&&e.hooks.edgesChange.trigger(Y)},h=x=>{if(e.multiSelectionActive){const N=x.map(v=>Rt(v.id,!0));e.hooks.nodesChange.trigger(N);return}e.hooks.nodesChange.trigger(Mt(n.value,new Set(x.map(N=>N.id)),!0)),e.hooks.edgesChange.trigger(Mt(o.value))},y=x=>{if(e.multiSelectionActive){const N=x.map(v=>Rt(v.id,!0));e.hooks.edgesChange.trigger(N);return}e.hooks.edgesChange.trigger(Mt(o.value,new Set(x.map(N=>N.id)))),e.hooks.nodesChange.trigger(Mt(n.value,new Set,!0))},g=x=>{m(x,!0)},b=x=>{const v=(x||e.nodes).map(I=>(I.selected=!1,Rt(I.id,!1)));e.hooks.nodesChange.trigger(v)},k=x=>{const v=(x||e.edges).map(I=>(I.selected=!1,Rt(I.id,!1)));e.hooks.edgesChange.trigger(v)},_=x=>{if(!x||!x.length)return m([],!1);const N=x.reduce((v,I)=>{const J=Rt(I.id,!1);return sn(I)?v.nodes.push(J):v.edges.push(J),v},{nodes:[],edges:[]});N.nodes.length&&e.hooks.nodesChange.trigger(N.nodes),N.edges.length&&e.hooks.edgesChange.trigger(N.edges)},E=x=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([x,e.maxZoom]),e.minZoom=x},P=x=>{var N;(N=e.d3Zoom)==null||N.scaleExtent([e.minZoom,x]),e.maxZoom=x},C=x=>{var N;(N=e.d3Zoom)==null||N.translateExtent(x),e.translateExtent=x},R=x=>{e.nodeExtent=x,i()},$=x=>{var N;(N=e.d3Zoom)==null||N.clickDistance(x)},O=x=>{e.nodesDraggable=x,e.nodesConnectable=x,e.elementsSelectable=x},X=x=>{const N=x instanceof Function?x(e.nodes):x;!e.initialized&&!N.length||(e.nodes=Du(N,u,e.hooks.error.trigger))},z=x=>{const N=x instanceof Function?x(e.edges):x;if(!e.initialized&&!N.length)return;const v=va(N,e.isValidConnection,u,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Na(e.connectionLookup,o.value,v),e.edges=v},A=x=>{const N=x instanceof Function?x([...e.nodes,...e.edges]):x;!e.initialized&&!N.length||(X(N.filter(sn)),z(N.filter(Vt)))},S=x=>{let N=x instanceof Function?x(e.nodes):x;N=Array.isArray(N)?N:[N];const v=Du(N,u,e.hooks.error.trigger),I=[];for(const J of v)I.push(Nu(J));I.length&&e.hooks.nodesChange.trigger(I)},w=x=>{let N=x instanceof Function?x(e.edges):x;N=Array.isArray(N)?N:[N];const v=va(N,e.isValidConnection,u,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),I=[];for(const J of v)I.push(Nu(J));I.length&&e.hooks.edgesChange.trigger(I)},D=(x,N=!0,v=!1)=>{const I=x instanceof Function?x(e.nodes):x,J=Array.isArray(I)?I:[I],Y=[],Q=[];function F(K){const ae=s(K);for(const re of ae)(!Ve(re.deletable)||re.deletable)&&Q.push(Su(re.id,re.source,re.target,re.sourceHandle,re.targetHandle))}function W(K){const ae=[];for(const re of e.nodes)re.parentNode===K&&ae.push(re);if(ae.length){for(const re of ae)Y.push(vu(re.id));N&&F(ae);for(const re of ae)W(re.id)}}for(const K of J){const ae=typeof K=="string"?u(K):K;ae&&(Ve(ae.deletable)&&!ae.deletable||(Y.push(vu(ae.id)),N&&F([ae]),v&&W(ae.id)))}Q.length&&e.hooks.edgesChange.trigger(Q),Y.length&&e.hooks.nodesChange.trigger(Y)},T=x=>{const N=x instanceof Function?x(e.edges):x,v=Array.isArray(N)?N:[N],I=[];for(const J of v){const Y=typeof J=="string"?p(J):J;Y&&(Ve(Y.deletable)&&!Y.deletable||I.push(Su(typeof J=="string"?J:J.id,Y.source,Y.target,Y.sourceHandle,Y.targetHandle)))}e.hooks.edgesChange.trigger(I)},G=(x,N,v=!0)=>{const I=p(x.id);if(!I)return!1;const J=e.edges.indexOf(I),Y=mN(x,N,I,v,e.hooks.error.trigger);if(Y){const[Q]=va([Y],e.isValidConnection,u,p,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((F,W)=>W===J?Q:F),Na(e.connectionLookup,o.value,[Q]),Q}return!1},U=(x,N,v={replace:!1})=>{const I=p(x);if(!I)return;const J=typeof N=="function"?N(I):N;I.data=v.replace?J:{...I.data,...J}},M=x=>Eu(x,e.nodes),V=x=>{const N=Eu(x,e.edges);return Na(e.connectionLookup,o.value,N),N},H=(x,N,v={replace:!1})=>{const I=u(x);if(!I)return;const J=typeof N=="function"?N(I):N;v.replace?e.nodes.splice(e.nodes.indexOf(I),1,J):Object.assign(I,J)},ie=(x,N,v={replace:!1})=>{const I=u(x);if(!I)return;const J=typeof N=="function"?N(I):N;I.data=v.replace?J:{...I.data,...J}},ce=(x,N,v=!1)=>{v?e.connectionClickStartHandle=x:e.connectionStartHandle=x,e.connectionEndHandle=null,e.connectionStatus=null,N&&(e.connectionPosition=N)},ee=(x,N=null,v=null)=>{e.connectionStartHandle&&(e.connectionPosition=x,e.connectionEndHandle=N,e.connectionStatus=v)},B=(x,N)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,N?e.connectionClickStartHandle=null:e.connectionStartHandle=null},L=x=>{const N=qE(x),v=N?null:_o(x)?x:u(x.id);return!N&&!v?[null,null,N]:[N?x:Ar(v),v,N]},q=(x,N=!0,v=e.nodes)=>{const[I,J,Y]=L(x);if(!I)return[];const Q=[];for(const F of v||e.nodes){if(!Y&&(F.id===J.id||!F.computedPosition))continue;const W=Ar(F),K=xr(W,I);(N&&K>0||K>=Number(I.width)*Number(I.height))&&Q.push(F)}return Q},Z=(x,N,v=!0)=>{const[I]=L(x);if(!I)return!1;const J=xr(I,N);return v&&J>0||J>=Number(I.width)*Number(I.height)},te=x=>{const{viewport:N,dimensions:v,d3Zoom:I,d3Selection:J,translateExtent:Y}=e;if(!I||!J||!x.x&&!x.y)return!1;const Q=Pn.translate(N.x+x.x,N.y+x.y).scale(N.zoom),F=[[0,0],[v.width,v.height]],W=I.constrain()(Q,F,Y),K=e.viewport.x!==W.x||e.viewport.y!==W.y||e.viewport.zoom!==W.k;return I.transform(J,W),K},ne=x=>{const N=x instanceof Function?x(e):x,v=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ve(N.defaultEdgeOptions)&&(e.defaultEdgeOptions=N.defaultEdgeOptions);const I=N.modelValue||N.nodes||N.edges?[]:void 0;I&&(N.modelValue&&I.push(...N.modelValue),N.nodes&&I.push(...N.nodes),N.edges&&I.push(...N.edges),A(I));const J=()=>{Ve(N.maxZoom)&&P(N.maxZoom),Ve(N.minZoom)&&E(N.minZoom),Ve(N.translateExtent)&&C(N.translateExtent)};for(const Y of Object.keys(N)){const Q=Y,F=N[Q];![...TN,...v].includes(Q)&&Ve(F)&&(e[Q]=F)}ji(()=>e.d3Zoom).not.toBeNull().then(J),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:f,setElements:A,setNodes:X,setEdges:z,addNodes:S,addEdges:w,removeNodes:D,removeEdges:T,findNode:u,findEdge:p,updateEdge:G,updateEdgeData:U,updateNode:H,updateNodeData:ie,applyEdgeChanges:V,applyNodeChanges:M,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:E,setMaxZoom:P,setTranslateExtent:C,setNodeExtent:R,setPaneClickDistance:$,removeSelectedElements:_,removeSelectedNodes:b,removeSelectedEdges:k,startConnection:ce,updateConnection:ee,endConnection:B,setInteractive:O,setState:ne,getIntersectingNodes:q,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:Z,panBy:te,fitView:x=>r.value.fitView(x),zoomIn:x=>r.value.zoomIn(x),zoomOut:x=>r.value.zoomOut(x),zoomTo:(x,N)=>r.value.zoomTo(x,N),setViewport:(x,N)=>r.value.setViewport(x,N),setTransform:(x,N)=>r.value.setTransform(x,N),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(x,N,v)=>r.value.setCenter(x,N,v),fitBounds:(x,N)=>r.value.fitBounds(x,N),project:x=>r.value.project(x),screenToFlowCoordinate:x=>r.value.screenToFlowCoordinate(x),flowToScreenCoordinate:x=>r.value.flowToScreenCoordinate(x),toObject:()=>{const x=[],N=[];for(const v of e.nodes){const{computedPosition:I,handleBounds:J,selected:Y,dimensions:Q,isParent:F,resizing:W,dragging:K,events:ae,...re}=v;x.push(re)}for(const v of e.edges){const{selected:I,sourceNode:J,targetNode:Y,events:Q,...F}=v;N.push(F)}return JSON.parse(JSON.stringify({nodes:x,edges:N,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:x=>new Promise(N=>{const{nodes:v,edges:I,position:J,zoom:Y,viewport:Q}=x;if(v&&X(v),I&&z(I),Q!=null&&Q.x&&(Q!=null&&Q.y)||J){const F=(Q==null?void 0:Q.x)||J[0],W=(Q==null?void 0:Q.y)||J[1],K=(Q==null?void 0:Q.zoom)||Y||e.viewport.zoom;return ji(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:F,y:W,zoom:K}).then(()=>{N(!0)})})}else N(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const x=Gu();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const N=Pn.translate(x.defaultViewport.x??0,x.defaultViewport.y??0).scale(ln(x.defaultViewport.zoom??1,x.minZoom,x.maxZoom)),v=e.viewportRef.getBoundingClientRect(),I=[[0,0],[v.width,v.height]],J=e.d3Zoom.constrain()(N,I,x.translateExtent);e.d3Zoom.transform(e.d3Selection,J)}ne(x)},$destroy:()=>{}}}const IN=["data-id","data-handleid","data-nodeid","data-handlepos"],ON={name:"Handle",compatConfig:{MODE:3}},Lt=t.defineComponent({...ON,props:{id:{default:null},type:{},position:{default:()=>ge.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:u,nodesConnectable:p,noDragClassName:d,noPanClassName:f}=Ae(),{id:m,node:h,nodeEl:y,connectedEdges:g}=qu(),b=t.ref(),k=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),_=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),E=t.toRef(()=>{var z,A,S,w,D,T;return((z=l.value)==null?void 0:z.nodeId)===m&&((A=l.value)==null?void 0:A.id)===e.id&&((S=l.value)==null?void 0:S.type)===r.value||((w=c.value)==null?void 0:w.nodeId)===m&&((D=c.value)==null?void 0:D.id)===e.id&&((T=c.value)==null?void 0:T.type)===r.value}),P=t.toRef(()=>{var z,A,S;return((z=s.value)==null?void 0:z.nodeId)===m&&((A=s.value)==null?void 0:A.id)===e.id&&((S=s.value)==null?void 0:S.type)===r.value}),{handlePointerDown:C,handleClick:R}=Uu({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),$=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(z=>{const A=z[`${r.value}Handle`];return z[r.value]!==m?!1:A?A===e.id:!0}):typeof e.connectable=="number"?g.value.filter(z=>{const A=z[`${r.value}Handle`];return z[r.value]!==m?!1:A?A===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):Ve(e.connectable)?e.connectable:p.value);t.onMounted(()=>{var z;if(!h.dimensions.width||!h.dimensions.height)return;const A=(z=h.handleBounds[r.value])==null?void 0:z.find(M=>M.id===e.id);if(!u.value||A)return;const S=u.value.querySelector(".vue-flow__transformationpane");if(!y.value||!b.value||!S||!e.id)return;const w=y.value.getBoundingClientRect(),D=b.value.getBoundingClientRect(),T=window.getComputedStyle(S),{m22:G}=new window.DOMMatrixReadOnly(T.transform),U={id:e.id,position:e.position,x:(D.left-w.left)/G,y:(D.top-w.top)/G,type:r.value,nodeId:m,...Tr(b.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],U]});function O(z){const A=wa(z);$.value&&k.value&&(A&&z.button===0||!A)&&C(z)}function X(z){!m||!s.value&&!k.value||$.value&&R(z)}return n({handleClick:R,handlePointerDown:C,onClick:X,onPointerDown:O}),(z,A)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:b,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":z.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${z.position}`,`vue-flow__handle-${e.id}`,t.unref(d),t.unref(f),r.value,{connectable:$.value,connecting:P.value,connectablestart:k.value,connectableend:_.value,connectionindicator:$.value&&(k.value&&!E.value||_.value&&E.value)}]]),onMousedown:O,onTouchstartPassive:O,onClick:X},[t.renderSlot(z.$slots,"default",{id:z.id})],42,IN))}}),Vr=function({sourcePosition:e=ge.Bottom,targetPosition:n=ge.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(Lt,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Lt,{type:"source",position:e,connectable:r,isValidConnection:a})]};Vr.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Vr.inheritAttrs=!1,Vr.compatConfig={MODE:3};const $N=Vr,Rr=function({targetPosition:e=ge.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(Lt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Rr.props=["targetPosition","label","isValidTargetPos","connectable","data"],Rr.inheritAttrs=!1,Rr.compatConfig={MODE:3};const BN=Rr,Mr=function({sourcePosition:e=ge.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(Lt,{type:"source",position:e,connectable:o,isValidConnection:r})]};Mr.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Mr.inheritAttrs=!1,Mr.compatConfig={MODE:3};const DN=Mr,VN=["transform"],RN=["width","height","x","y","rx","ry"],MN=["y"],FN={name:"EdgeText",compatConfig:{MODE:3}},LN=t.defineComponent({...FN,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,RN)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,MN)],8,VN))}}),KN=["id","d","marker-end","marker-start"],UN=["d","stroke-width"],qN={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Fr=t.defineComponent({...qN,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,KN),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,UN)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(LN,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function ju({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Hu({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,u=n*.125+a*.375+s*.375+r*.125,p=Math.abs(c-e),d=Math.abs(u-n);return[c,u,p,d]}function Lr(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Yu({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case ge.Left:l=n-Lr(n-r,a),s=o;break;case ge.Right:l=n+Lr(r-n,a),s=o;break;case ge.Top:l=n,s=o-Lr(o-i,a);break;case ge.Bottom:l=n,s=o+Lr(i-o,a);break}return[l,s]}function Wu(e){const{sourceX:n,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top,curvature:s=.25}=e,[c,u]=Yu({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[p,d]=Yu({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[f,m,h,y]=Hu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:u,targetControlX:p,targetControlY:d});return[`M${n},${o} C${c},${u} ${p},${d} ${i},${a}`,f,m,h,y]}function Zu({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case ge.Left:case ge.Right:a=.5*(n+r),l=o;break;case ge.Top:case ge.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function Xu(e){const{sourceX:n,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top}=e,[s,c]=Zu({pos:r,x1:n,y1:o,x2:i,y2:a}),[u,p]=Zu({pos:l,x1:i,y1:a,x2:n,y2:o}),[d,f,m,h]=Hu({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:p});return[`M${n},${o} C${s},${c} ${u},${p} ${i},${a}`,d,f,m,h]}const Ju={[ge.Left]:{x:-1,y:0},[ge.Right]:{x:1,y:0},[ge.Top]:{x:0,y:-1},[ge.Bottom]:{x:0,y:1}};function zN({source:e,sourcePosition:n=ge.Bottom,target:o}){return n===ge.Left||n===ge.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function Qu(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function GN({source:e,sourcePosition:n=ge.Bottom,target:o,targetPosition:r=ge.Top,center:i,offset:a}){const l=Ju[n],s=Ju[r],c={x:e.x+l.x*a,y:e.y+l.y*a},u={x:o.x+s.x*a,y:o.y+s.y*a},p=zN({source:c,sourcePosition:n,target:u}),d=p.x!==0?"x":"y",f=p[d];let m,h,y;const g={x:0,y:0},b={x:0,y:0},[k,_,E,P]=ju({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[d]*s[d]===-1){h=i.x??k,y=i.y??_;const R=[{x:h,y:c.y},{x:h,y:u.y}],$=[{x:c.x,y},{x:u.x,y}];l[d]===f?m=d==="x"?R:$:m=d==="x"?$:R}else{const R=[{x:c.x,y:u.y}],$=[{x:u.x,y:c.y}];if(d==="x"?m=l.x===f?$:R:m=l.y===f?R:$,n===r){const S=Math.abs(e[d]-o[d]);if(S<=a){const w=Math.min(a-1,a-S);l[d]===f?g[d]=(c[d]>e[d]?-1:1)*w:b[d]=(u[d]>o[d]?-1:1)*w}}if(n!==r){const S=d==="x"?"y":"x",w=l[d]===s[S],D=c[S]>u[S],T=c[S]<u[S];(l[d]===1&&(!w&&D||w&&T)||l[d]!==1&&(!w&&T||w&&D))&&(m=d==="x"?R:$)}const O={x:c.x+g.x,y:c.y+g.y},X={x:u.x+b.x,y:u.y+b.y},z=Math.max(Math.abs(O.x-m[0].x),Math.abs(X.x-m[0].x)),A=Math.max(Math.abs(O.y-m[0].y),Math.abs(X.y-m[0].y));z>=A?(h=(O.x+X.x)/2,y=m[0].y):(h=m[0].x,y=(O.y+X.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:u.x+b.x,y:u.y+b.y},o],h,y,E,P]}function jN(e,n,o,r){const i=Math.min(Qu(e,n)/2,Qu(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<o.x?-1:1,p=e.y<o.y?1:-1;return`L ${a+i*u},${l}Q ${a},${l} ${a},${l+i*p}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function xa(e){const{sourceX:n,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top,borderRadius:s=5,centerX:c,centerY:u,offset:p=20}=e,[d,f,m,h,y]=GN({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:u},offset:p});return[d.reduce((b,k,_)=>{let E;return _>0&&_<d.length-1?E=jN(d[_-1],k,d[_+1],s):E=`${_===0?"M":"L"}${k.x} ${k.y}`,b+=E,b},""),f,m,h,y]}function HN(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=ju({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const YN=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=HN(e);return t.h(Fr,{path:o,labelX:r,labelY:i,...n,...e})}}}),ed=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=xa({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return t.h(Fr,{path:o,labelX:r,labelY:i,...n,...e})}}}),WN=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(ed,{...e,...n,borderRadius:0})}}),ZN=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Wu({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return t.h(Fr,{path:o,labelX:r,labelY:i,...n,...e})}}}),XN=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Xu({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return t.h(Fr,{path:o,labelX:r,labelY:i,...n,...e})}}}),JN={input:DN,default:$N,output:BN},QN={default:ZN,straight:YN,step:WN,smoothstep:ed,simplebezier:XN};function e1(e,n,o){const r=t.computed(()=>y=>n.value.get(y)),i=t.computed(()=>y=>o.value.get(y)),a=t.computed(()=>{const y={...QN,...e.edgeTypes},g=Object.keys(y);for(const b of e.edges)b.type&&!g.includes(b.type)&&(y[b.type]=b.type);return y}),l=t.computed(()=>{const y={...JN,...e.nodeTypes},g=Object.keys(y);for(const b of e.nodes)b.type&&!g.includes(b.type)&&(y[b.type]=b.type);return y}),s=t.computed(()=>e.onlyRenderVisibleElements?yu(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const y=[];for(const g of e.edges){const b=n.value.get(g.source),k=n.value.get(g.target);tN({sourcePos:b.computedPosition||{x:0,y:0},targetPos:k.computedPosition||{x:0,y:0},sourceWidth:b.dimensions.width,sourceHeight:b.dimensions.height,targetWidth:k.dimensions.width,targetHeight:k.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),u=t.computed(()=>[...s.value,...c.value]),p=t.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),d=t.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),f=t.computed(()=>[...p.value,...d.value]),m=t.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:u,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:f,getSelectedNodes:p,getSelectedEdges:d,getNodesInitialized:m,areNodesInitialized:h}}class cn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??cn.instance;return cn.instance=r??new cn,o&&(o.config.globalProperties.$vueFlowStorage=cn.instance),cn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Gu(),i=t.reactive(r),a={};for(const[f,m]of Object.entries(i.hooks)){const h=`on${f.charAt(0).toUpperCase()+f.slice(1)}`;a[h]=m.on}const l={};for(const[f,m]of Object.entries(i.hooks))l[f]=m.trigger;const s=t.computed(()=>{const f=new Map;for(const m of i.nodes)f.set(m.id,m);return f}),c=t.computed(()=>{const f=new Map;for(const m of i.edges)f.set(m.id,m);return f}),u=e1(i,s,c),p=PN(i,s,c);p.setState({...i,...o});const d={...a,...u,...p,...J0(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,d),d}getId(){return`vue-flow-${this.currentId++}`}}function Ae(e){const n=cn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Mu,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),u=n.create(c,i);s=u,(o??t.effectScope(!0)).run(()=>{t.watch(u.applyDefault,(d,f,m)=>{const h=g=>{u.applyNodeChanges(g)},y=g=>{u.applyEdgeChanges(g)};d?(u.onNodesChange(h),u.onEdgesChange(y)):(u.hooks.value.nodesChange.off(h),u.hooks.value.edgesChange.off(y)),m(()=>{u.hooks.value.nodesChange.off(h),u.hooks.value.edgesChange.off(y)})},{immediate:!0}),ir(()=>{if(s){const d=n.get(s.id);d?d.$destroy():$r(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Mu,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Le(De.USEVUEFLOW_OPTIONS))}return s}function t1(e){const{emits:n,dimensions:o}=Ae();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=Tr(i);(l.width===0||l.height===0)&&n.error(new Le(De.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const n1={name:"UserSelection",compatConfig:{MODE:3}},o1=t.defineComponent({...n1,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),r1=["tabIndex"],i1={name:"NodesSelection",compatConfig:{MODE:3}},a1=t.defineComponent({...i1,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ae(),s=zu(),c=t.ref(null),u=Ku({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const p=t.computed(()=>hu(r.value)),d=t.computed(()=>({width:`${p.value.width}px`,height:`${p.value.height}px`,top:`${p.value.y}px`,left:`${p.value.x}px`}));function f(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||In[h.key]&&(h.preventDefault(),s({x:In[h.key].x,y:In[h.key].y},h.shiftKey))}return(h,y)=>!t.unref(l)&&p.value.width&&p.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(u)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(d.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:f,onKeydown:m},null,46,r1)],6)):t.createCommentVNode("",!0)}});function l1(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const s1={name:"Pane",compatConfig:{MODE:3}},c1=t.defineComponent({...s1,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:u,getSelectedEdges:p,getSelectedNodes:d,removeNodes:f,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:b,edgeLookup:k,nodeLookup:_,connectionLookup:E,defaultEdgeOptions:P,connectionStartHandle:C}=Ae(),R=t.ref(null),$=t.ref(new Set),O=t.ref(new Set),X=t.ref(),z=t.toRef(()=>c.value&&(e.isSelecting||a.value)),A=t.toRef(()=>C.value!==null);let S=!1,w=!1;const D=yo(y,{actInsideInputWithModifier:!1}),T=yo(g);t.watch(D,ee=>{ee&&(f(d.value),m(p.value),u.value=!1)}),t.watch(T,ee=>{b.value=ee});function G(ee,B){return L=>{L.target===B&&(ee==null||ee(L))}}function U(ee){if(S||A.value){S=!1;return}i.paneClick(ee),l(),u.value=!1}function M(ee){ee.preventDefault(),ee.stopPropagation(),i.paneContextMenu(ee)}function V(ee){i.paneScroll(ee)}function H(ee){var B,L,q;if(X.value=(B=n.value)==null?void 0:B.getBoundingClientRect(),!c.value||!e.isSelecting||ee.button!==0||ee.target!==R.value||!X.value)return;(q=(L=ee.target)==null?void 0:L.setPointerCapture)==null||q.call(L,ee.pointerId);const{x:Z,y:te}=l1(ee,X.value);w=!0,S=!1,l(),s.value={width:0,height:0,startX:Z,startY:te,x:Z,y:te},i.selectionStart(ee)}function ie(ee){var B;if(!X.value||!s.value)return;S=!0;const{x:L,y:q}=bt(ee,X.value),{startX:Z=0,startY:te=0}=s.value,ne={startX:Z,startY:te,x:L<Z?L:Z,y:q<te?q:te,width:Math.abs(L-Z),height:Math.abs(q-te)},oe=$.value,pe=O.value;$.value=new Set(yu(o.value,ne,r.value,h.value===fa.Partial,!0).map(x=>x.id)),O.value=new Set;const fe=((B=P.value)==null?void 0:B.selectable)??!0;for(const x of $.value){const N=E.value.get(x);if(N)for(const{edgeId:v}of N.values()){const I=k.value.get(v);I&&(I.selectable??fe)&&O.value.add(v)}}if(!Ru(oe,$.value)){const x=Mt(_.value,$.value,!0);i.nodesChange(x)}if(!Ru(pe,O.value)){const x=Mt(k.value,O.value);i.edgesChange(x)}s.value=ne,a.value=!0,u.value=!1}function ce(ee){var B;ee.button!==0||!w||((B=ee.target)==null||B.releasePointerCapture(ee.pointerId),!a.value&&s.value&&ee.target===R.value&&U(ee),a.value=!1,s.value=null,u.value=$.value.size>0,i.selectionEnd(ee),e.selectionKeyPressed&&(S=!1),w=!1)}return(ee,B)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:R,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:ee.isSelecting}]),onClick:B[0]||(B[0]=L=>z.value?void 0:G(U,R.value)(L)),onContextmenu:B[1]||(B[1]=L=>G(M,R.value)(L)),onWheelPassive:B[2]||(B[2]=L=>G(V,R.value)(L)),onPointerenter:B[3]||(B[3]=L=>z.value?void 0:t.unref(i).paneMouseEnter(L)),onPointerdown:B[4]||(B[4]=L=>z.value?H(L):t.unref(i).paneMouseMove(L)),onPointermove:B[5]||(B[5]=L=>z.value?ie(L):t.unref(i).paneMouseMove(L)),onPointerup:B[6]||(B[6]=L=>z.value?ce(L):void 0),onPointerleave:B[7]||(B[7]=L=>t.unref(i).paneMouseLeave(L))},[t.renderSlot(ee.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(o1,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(u)&&t.unref(d).length?(t.openBlock(),t.createBlock(a1,{key:1})):t.createCommentVNode("",!0)],34))}}),u1={name:"Transform",compatConfig:{MODE:3}},d1=t.defineComponent({...u1,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=Ae(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),p1={name:"Viewport",compatConfig:{MODE:3}},f1=t.defineComponent({...p1,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:u,panOnScrollSpeed:p,panOnDrag:d,zoomOnDoubleClick:f,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:b,emits:k,connectionStartHandle:_,userSelectionActive:E,paneDragging:P,d3Zoom:C,d3Selection:R,d3ZoomHandler:$,viewport:O,viewportRef:X,paneClickDistance:z}=Ae();t1(X);const A=t.shallowRef(!1),S=t.shallowRef(!1);let w=null,D=!1,T=0,G={x:0,y:0,zoom:0};const U=yo(s),M=yo(l),V=yo(a),H=t.toRef(()=>(!M.value||M.value&&l.value===!0)&&(U.value||d.value)),ie=t.toRef(()=>U.value||c.value),ce=t.toRef(()=>M.value||l.value===!0&&H.value!==!0);t.onMounted(()=>{if(!X.value){$r("Viewport element is missing");return}const te=X.value,ne=te.getBoundingClientRect(),oe=VE().clickDistance(z.value).scaleExtent([n.value,o.value]).translateExtent(i.value),pe=lt(te).call(oe),fe=pe.on("wheel.zoom"),x=Pn.translate(r.value.x??0,r.value.y??0).scale(ln(r.value.zoom??1,n.value,o.value)),N=[[0,0],[ne.width,ne.height]],v=oe.constrain()(x,N,i.value);oe.transform(pe,v),oe.wheelDelta(B),C.value=oe,R.value=pe,$.value=fe,O.value={x:v.x,y:v.y,zoom:v.k},oe.on("start",I=>{var J;if(!I.sourceEvent)return null;T=I.sourceEvent.button,A.value=!0;const Y=q(I.transform);((J=I.sourceEvent)==null?void 0:J.type)==="mousedown"&&(P.value=!0),G=Y,k.viewportChangeStart(Y),k.moveStart({event:I,flowTransform:Y})}),oe.on("end",I=>{if(!I.sourceEvent)return null;if(A.value=!1,P.value=!1,ee(H.value,T??0)&&!D&&k.paneContextMenu(I.sourceEvent),D=!1,L(G,I.transform)){const J=q(I.transform);G=J,k.viewportChangeEnd(J),k.moveEnd({event:I,flowTransform:J})}}),oe.filter(I=>{var J;const Y=V.value||h.value,Q=m.value&&I.ctrlKey,F=I.button;if(F===1&&I.type==="mousedown"&&(Z(I,"vue-flow__node")||Z(I,"vue-flow__edge")))return!0;if(!H.value&&!Y&&!ie.value&&!f.value&&!m.value||E.value||!f.value&&I.type==="dblclick"||Z(I,g.value)&&I.type==="wheel"||Z(I,b.value)&&(I.type!=="wheel"||ie.value&&I.type==="wheel"&&!V.value)||!m.value&&I.ctrlKey&&I.type==="wheel"||!Y&&!ie.value&&!Q&&I.type==="wheel")return!1;if(!m&&I.type==="touchstart"&&((J=I.touches)==null?void 0:J.length)>1)return I.preventDefault(),!1;if(!H.value&&(I.type==="mousedown"||I.type==="touchstart")||l.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&F===0||Array.isArray(d.value)&&!d.value.includes(F)&&(I.type==="mousedown"||I.type==="touchstart"))return!1;const W=Array.isArray(d.value)&&d.value.includes(F)||l.value===!0&&Array.isArray(d.value)&&!d.value.includes(0)||!F||F<=1;return(!I.ctrlKey||U.value||I.type==="wheel")&&W}),t.watch([E,H],()=>{E.value&&!A.value?oe.on("zoom",null):E.value||oe.on("zoom",I=>{O.value={x:I.transform.x,y:I.transform.y,zoom:I.transform.k};const J=q(I.transform);D=ee(H.value,T??0),k.viewportChange(J),k.move({event:I,flowTransform:J})})},{immediate:!0}),t.watch([E,ie,u,V,m,y,g],()=>{ie.value&&!V.value&&!E.value?pe.on("wheel.zoom",I=>{if(Z(I,g.value))return!1;const J=V.value||h.value,Y=m.value&&I.ctrlKey;if(!(!y.value||ie.value||J||Y))return!1;I.preventDefault(),I.stopImmediatePropagation();const F=pe.property("__zoom").k||1,W=Ir();if(!U.value&&I.ctrlKey&&m.value&&W){const me=gt(I),_e=B(I),Ee=F*2**_e;oe.scaleTo(pe,Ee,me,I);return}const K=I.deltaMode===1?20:1;let ae=u.value===ho.Vertical?0:I.deltaX*K,re=u.value===ho.Horizontal?0:I.deltaY*K;!W&&I.shiftKey&&u.value!==ho.Vertical&&!ae&&re&&(ae=re,re=0),oe.translateBy(pe,-(ae/F)*p.value,-(re/F)*p.value);const ye=q(pe.property("__zoom"));w&&clearTimeout(w),S.value?(k.move({event:I,flowTransform:ye}),k.viewportChange(ye),w=setTimeout(()=>{k.moveEnd({event:I,flowTransform:ye}),k.viewportChangeEnd(ye),S.value=!1},150)):(S.value=!0,k.moveStart({event:I,flowTransform:ye}),k.viewportChangeStart(ye))},{passive:!1}):typeof fe<"u"&&pe.on("wheel.zoom",function(I,J){const Y=!y.value&&I.type==="wheel"&&!I.ctrlKey,Q=V.value||h.value,F=m.value&&I.ctrlKey;if(!Q&&!c.value&&!F&&I.type==="wheel"||Y||Z(I,g.value))return null;I.preventDefault(),fe.call(this,I,J)},{passive:!1})},{immediate:!0})});function ee(te,ne){return ne===2&&Array.isArray(te)&&te.includes(2)}function B(te){const ne=te.ctrlKey&&Ir()?10:1;return-te.deltaY*(te.deltaMode===1?.05:te.deltaMode?1:.002)*ne}function L(te,ne){return te.x!==ne.x&&!Number.isNaN(ne.x)||te.y!==ne.y&&!Number.isNaN(ne.y)||te.zoom!==ne.k&&!Number.isNaN(ne.k)}function q(te){return{x:te.x,y:te.y,zoom:te.k}}function Z(te,ne){return te.target.closest(`.${ne}`)}return(te,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:X,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(c1,{"is-selecting":ce.value,"selection-key-pressed":t.unref(M),class:t.normalizeClass({connecting:!!t.unref(_),dragging:t.unref(P),draggable:t.unref(d)===!0||Array.isArray(t.unref(d))&&t.unref(d).includes(0)})},{default:t.withCtx(()=>[t.createVNode(d1,null,{default:t.withCtx(()=>[t.renderSlot(te.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),m1=["id"],g1=["id"],h1=["id"],y1={name:"A11yDescriptions",compatConfig:{MODE:3}},_1=t.defineComponent({...y1,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=Ae();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(lu)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,m1),t.createElementVNode("div",{id:`${t.unref(su)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,g1),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(UE)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,h1))],64))}});function b1(){const e=Ae();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function w1(e,n,o){return o===ge.Left?e-n:o===ge.Right?e+n:e}function k1(e,n,o){return o===ge.Top?e-n:o===ge.Bottom?e+n:e}const Ta=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=ge.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:w1(n,e,r),cy:k1(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Ta.props=["radius","centerX","centerY","position","type"],Ta.compatConfig={MODE:3};const td=Ta,C1=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:u,findEdge:p,findNode:d,isValidConnection:f,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:b,hooks:k}=Ae(),_=t.computed(()=>p(e.id)),{emit:E,on:P}=_N(_.value,a),C=t.inject(Br),R=t.getCurrentInstance(),$=t.ref(!1),O=t.ref(!1),X=t.ref(""),z=t.ref(null),A=t.ref("source"),S=t.ref(null),w=t.toRef(()=>typeof _.value.selectable>"u"?y.value:_.value.selectable),D=t.toRef(()=>typeof _.value.updatable>"u"?g.value:_.value.updatable),T=t.toRef(()=>typeof _.value.focusable>"u"?b.value:_.value.focusable);t.provide(gN,e.id),t.provide(hN,S);const G=t.computed(()=>_.value.class instanceof Function?_.value.class(_.value):_.value.class),U=t.computed(()=>_.value.style instanceof Function?_.value.style(_.value):_.value.style),M=t.computed(()=>{const N=_.value.type||"default",v=C==null?void 0:C[`edge-${N}`];if(v)return v;let I=_.value.template??c.value[N];if(typeof I=="string"&&R){const J=Object.keys(R.appContext.components);J&&J.includes(N)&&(I=t.resolveComponent(N,!1))}return I&&typeof I!="string"?I:(a.error(new Le(De.EDGE_TYPE_MISSING,I)),!1)}),{handlePointerDown:V}=Uu({nodeId:X,handleId:z,type:A,isValidConnection:f,edgeUpdaterType:A,onEdgeUpdate:ce,onEdgeUpdateEnd:ee});return()=>{const N=d(_.value.source),v=d(_.value.target),I="pathOptions"in _.value?_.value.pathOptions:{};if(!N&&!v)return a.error(new Le(De.EDGE_SOURCE_TARGET_MISSING,_.value.id,_.value.source,_.value.target)),null;if(!N)return a.error(new Le(De.EDGE_SOURCE_MISSING,_.value.id,_.value.source)),null;if(!v)return a.error(new Le(De.EDGE_TARGET_MISSING,_.value.id,_.value.target)),null;if(!_.value||_.value.hidden||N.hidden||v.hidden)return null;let J;r.value===Dt.Strict?J=N.handleBounds.source:J=[...N.handleBounds.source||[],...N.handleBounds.target||[]];const Y=Tu(J,_.value.sourceHandle);let Q;r.value===Dt.Strict?Q=v.handleBounds.target:Q=[...v.handleBounds.target||[],...v.handleBounds.source||[]];const F=Tu(Q,_.value.targetHandle),W=(Y==null?void 0:Y.position)||ge.Bottom,K=(F==null?void 0:F.position)||ge.Top,{x:ae,y:re}=On(N,Y,W),{x:ye,y:me}=On(v,F,K);return _.value.sourceX=ae,_.value.sourceY=re,_.value.targetX=ye,_.value.targetY=me,t.h("g",{ref:S,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${M.value===!1?"default":_.value.type||"default"}`,s.value,G.value,{updating:$.value,selected:_.value.selected,animated:_.value.animated,inactive:!w.value&&!k.value.edgeClick.hasListeners()}],tabIndex:T.value?0:void 0,"aria-label":_.value.ariaLabel===null?void 0:_.value.ariaLabel??`Edge from ${_.value.source} to ${_.value.target}`,"aria-describedby":T.value?`${su}-${n}`:void 0,"aria-roledescription":"edge",role:T.value?"group":"img",..._.value.domAttributes,onClick:L,onContextmenu:q,onDblclick:Z,onMouseenter:te,onMousemove:ne,onMouseleave:oe,onKeyDown:T.value?x:void 0},[O.value?null:t.h(M.value===!1?c.value.default:M.value,{id:e.id,sourceNode:N,targetNode:v,source:_.value.source,target:_.value.target,type:_.value.type,updatable:D.value,selected:_.value.selected,animated:_.value.animated,label:_.value.label,labelStyle:_.value.labelStyle,labelShowBg:_.value.labelShowBg,labelBgStyle:_.value.labelBgStyle,labelBgPadding:_.value.labelBgPadding,labelBgBorderRadius:_.value.labelBgBorderRadius,data:_.value.data,events:{..._.value.events,...P},style:U.value,markerStart:`url('#${wo(_.value.markerStart,n)}')`,markerEnd:`url('#${wo(_.value.markerEnd,n)}')`,sourcePosition:W,targetPosition:K,sourceX:ae,sourceY:re,targetX:ye,targetY:me,sourceHandleId:_.value.sourceHandle,targetHandleId:_.value.targetHandle,interactionWidth:_.value.interactionWidth,...I}),[D.value==="source"||D.value===!0?[t.h("g",{onMousedown:pe,onMouseenter:H,onMouseout:ie},t.h(td,{position:W,centerX:ae,centerY:re,radius:i.value,type:"source","data-type":"source"}))]:null,D.value==="target"||D.value===!0?[t.h("g",{onMousedown:fe,onMouseenter:H,onMouseout:ie},t.h(td,{position:K,centerX:ye,centerY:me,radius:i.value,type:"target","data-type":"target"}))]:null]])};function H(){$.value=!0}function ie(){$.value=!1}function ce(N,v){E.update({event:N,edge:_.value,connection:v})}function ee(N){E.updateEnd({event:N,edge:_.value}),O.value=!1}function B(N,v){N.button===0&&(O.value=!0,X.value=v?_.value.target:_.value.source,z.value=(v?_.value.targetHandle:_.value.sourceHandle)??null,A.value=v?"target":"source",E.updateStart({event:N,edge:_.value}),V(N))}function L(N){var v;const I={event:N,edge:_.value};w.value&&(l.value=!1,_.value.selected&&m.value?(u([_.value]),(v=S.value)==null||v.blur()):o([_.value])),E.click(I)}function q(N){E.contextMenu({event:N,edge:_.value})}function Z(N){E.doubleClick({event:N,edge:_.value})}function te(N){E.mouseEnter({event:N,edge:_.value})}function ne(N){E.mouseMove({event:N,edge:_.value})}function oe(N){E.mouseLeave({event:N,edge:_.value})}function pe(N){B(N,!0)}function fe(N){B(N,!1)}function x(N){var v;!h.value&&cu.includes(N.key)&&w.value&&(N.key==="Escape"?((v=S.value)==null||v.blur(),u([p(e.id)])):o([p(e.id)]))}}}),E1=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:u,viewport:p,findNode:d}=Ae(),f=(e=t.inject(Br))==null?void 0:e["connection-line"],m=t.computed(()=>{var k;return d((k=r.value)==null?void 0:k.nodeId)}),h=t.computed(()=>{var k;return d((k=i.value)==null?void 0:k.nodeId)??null}),y=t.computed(()=>({x:(a.value.x-p.value.x)/p.value.zoom,y:(a.value.y-p.value.y)/p.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${wo(c.value.markerStart,n)})`:""),b=t.computed(()=>c.value.markerEnd?`url(#${wo(c.value.markerEnd,n)})`:"");return()=>{var k,_,E;if(!m.value||!r.value)return null;const P=r.value.id,C=r.value.type,R=m.value.handleBounds;let $=(R==null?void 0:R[C])??[];if(o.value===Dt.Loose){const U=(R==null?void 0:R[C==="source"?"target":"source"])??[];$=[...$,...U]}if(!$)return null;const O=(P?$.find(U=>U.id===P):$[0])??null,X=(O==null?void 0:O.position)??ge.Top,{x:z,y:A}=On(m.value,O,X);let S=null;h.value&&(o.value===Dt.Strict?S=((k=h.value.handleBounds[C==="source"?"target":"source"])==null?void 0:k.find(U=>{var M;return U.id===((M=i.value)==null?void 0:M.id)}))||null:S=((_=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:_.find(U=>{var M;return U.id===((M=i.value)==null?void 0:M.id)}))||null);const w=((E=i.value)==null?void 0:E.position)??(X?Ca[X]:null);if(!X||!w)return null;const D=l.value??c.value.type??an.Bezier;let T="";const G={sourceX:z,sourceY:A,sourcePosition:X,targetX:y.value.x,targetY:y.value.y,targetPosition:w};return D===an.Bezier?[T]=Wu(G):D===an.Step?[T]=xa({...G,borderRadius:0}):D===an.SmoothStep?[T]=xa(G):D===an.SimpleBezier?[T]=Xu(G):T=`M${z},${A} ${y.value.x},${y.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},f?t.h(f,{sourceX:z,sourceY:A,sourcePosition:X,targetX:y.value.x,targetY:y.value.y,targetPosition:w,sourceNode:m.value,sourceHandle:O,targetNode:h.value,targetHandle:S,markerEnd:b.value,markerStart:g.value,connectionStatus:u.value}):t.h("path",{d:T,class:[c.value.class,u,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":b.value,"marker-start":g.value})))}}}),N1=["id","markerWidth","markerHeight","markerUnits","orient"],v1={name:"MarkerType",compatConfig:{MODE:3}},S1=t.defineComponent({...v1,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(ma).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(ma).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,N1))}}),A1={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},x1={name:"MarkerDefinitions",compatConfig:{MODE:3}},T1=t.defineComponent({...x1,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ae(),a=t.computed(()=>{const l=new Set,s=[],c=u=>{if(u){const p=wo(u,n);l.has(p)||(typeof u=="object"?s.push({...u,id:p,color:u.color||i.value}):s.push({id:p,color:i.value,type:u}),l.add(p))}};for(const u of[r.value.markerEnd,r.value.markerStart])c(u);for(const u of o.value)for(const p of[u.markerStart,u.markerEnd])c(p);return s.sort((u,p)=>u.id.localeCompare(p.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",A1,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(S1,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),P1={name:"Edges",compatConfig:{MODE:3}},I1=t.defineComponent({...P1,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=Ae();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(T1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(nN)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(C1),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(E1))],64))}}),O1=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:u,onUpdateNodeInternals:p,getNodeTypes:d,nodeExtent:f,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:b,nodeDragThreshold:k,nodesDraggable:_,elementsSelectable:E,nodesConnectable:P,nodesFocusable:C,hooks:R}=Ae(),$=t.ref(null);t.provide(Lu,$),t.provide(Fu,e.id);const O=t.inject(Br),X=t.getCurrentInstance(),z=zu(),{node:A,parentNode:S}=qu(e.id),{emit:w,on:D}=CN(A,l),T=t.toRef(()=>typeof A.draggable>"u"?_.value:A.draggable),G=t.toRef(()=>typeof A.selectable>"u"?E.value:A.selectable),U=t.toRef(()=>typeof A.connectable>"u"?P.value:A.connectable),M=t.toRef(()=>typeof A.focusable>"u"?C.value:A.focusable),V=t.computed(()=>G.value||T.value||R.value.nodeClick.hasListeners()||R.value.nodeDoubleClick.hasListeners()||R.value.nodeMouseEnter.hasListeners()||R.value.nodeMouseMove.hasListeners()||R.value.nodeMouseLeave.hasListeners()),H=t.toRef(()=>!!A.dimensions.width&&!!A.dimensions.height),ie=t.computed(()=>{const v=A.type||"default",I=O==null?void 0:O[`node-${v}`];if(I)return I;let J=A.template||d.value[v];if(typeof J=="string"&&X){const Y=Object.keys(X.appContext.components);Y&&Y.includes(v)&&(J=t.resolveComponent(v,!1))}return J&&typeof J!="string"?J:(l.error(new Le(De.NODE_TYPE_MISSING,J)),!1)}),ce=Ku({id:e.id,el:$,disabled:()=>!T.value,selectable:G,dragHandle:()=>A.dragHandle,onStart(v){w.dragStart(v)},onDrag(v){w.drag(v)},onStop(v){w.dragStop(v)},onClick(v){x(v)}}),ee=t.computed(()=>A.class instanceof Function?A.class(A):A.class),B=t.computed(()=>{const v=(A.style instanceof Function?A.style(A):A.style)||{},I=A.width instanceof Function?A.width(A):A.width,J=A.height instanceof Function?A.height(A):A.height;return!v.width&&I&&(v.width=typeof I=="string"?I:`${I}px`),!v.height&&J&&(v.height=typeof J=="string"?J:`${J}px`),v}),L=t.toRef(()=>Number(A.zIndex??B.value.zIndex??0));return p(v=>{(v.includes(e.id)||!v.length)&&Z()}),t.onMounted(()=>{t.watch(()=>A.hidden,(v=!1,I,J)=>{!v&&$.value&&(e.resizeObserver.observe($.value),J(()=>{$.value&&e.resizeObserver.unobserve($.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>A.type,()=>A.sourcePosition,()=>A.targetPosition],()=>{t.nextTick(()=>{u([{id:e.id,nodeElement:$.value,forceUpdate:!0}])})}),t.watch([()=>A.position.x,()=>A.position.y,()=>{var v;return(v=S.value)==null?void 0:v.computedPosition.x},()=>{var v;return(v=S.value)==null?void 0:v.computedPosition.y},()=>{var v;return(v=S.value)==null?void 0:v.computedPosition.z},L,()=>A.selected,()=>A.dimensions.height,()=>A.dimensions.width,()=>{var v;return(v=S.value)==null?void 0:v.dimensions.height},()=>{var v;return(v=S.value)==null?void 0:v.dimensions.width}],([v,I,J,Y,Q,F])=>{const W={x:v,y:I,z:F+(m.value&&A.selected?1e3:0)};typeof J<"u"&&typeof Y<"u"?A.computedPosition=ZE({x:J,y:Y,z:Q},W):A.computedPosition=W},{flush:"post",immediate:!0}),t.watch([()=>A.extent,f],([v,I],[J,Y])=>{(v!==J||I!==Y)&&q()}),A.extent==="parent"||typeof A.extent=="object"&&"range"in A.extent&&A.extent.range==="parent"?ji(()=>H).toBe(!0).then(q):q(),()=>A.hidden?null:t.h("div",{ref:$,"data-id":A.id,class:["vue-flow__node",`vue-flow__node-${ie.value===!1?"default":A.type||"default"}`,{[o.value]:T.value,dragging:ce==null?void 0:ce.value,draggable:T.value,selected:A.selected,selectable:G.value,parent:A.isParent},ee.value],style:{visibility:H.value?"visible":"hidden",zIndex:A.computedPosition.z??L.value,transform:`translate(${A.computedPosition.x}px,${A.computedPosition.y}px)`,pointerEvents:V.value?"all":"none",...B.value},tabIndex:M.value?0:void 0,role:M.value?"group":void 0,"aria-describedby":h.value?void 0:`${lu}-${n}`,"aria-label":A.ariaLabel,"aria-roledescription":"node",...A.domAttributes,onMouseenter:te,onMousemove:ne,onMouseleave:oe,onContextmenu:pe,onClick:x,onDblclick:fe,onKeydown:N},[t.h(ie.value===!1?d.value.default:ie.value,{id:A.id,type:A.type,data:A.data,events:{...A.events,...D},selected:A.selected,resizing:A.resizing,dragging:ce.value,connectable:U.value,position:A.computedPosition,dimensions:A.dimensions,isValidTargetPos:A.isValidTargetPos,isValidSourcePos:A.isValidSourcePos,parent:A.parentNode,parentNodeId:A.parentNode,zIndex:A.computedPosition.z??L.value,targetPosition:A.targetPosition,sourcePosition:A.sourcePosition,label:A.label,dragHandle:A.dragHandle,onUpdateNodeInternals:Z})]);function q(){const v=A.computedPosition,{computedPosition:I,position:J}=ba(A,g.value?Or(v,b.value):v,l.error,f.value,S.value);(A.computedPosition.x!==I.x||A.computedPosition.y!==I.y)&&(A.computedPosition={...A.computedPosition,...I}),(A.position.x!==J.x||A.position.y!==J.y)&&(A.position=J)}function Z(){$.value&&u([{id:e.id,nodeElement:$.value,forceUpdate:!0}])}function te(v){ce!=null&&ce.value||w.mouseEnter({event:v,node:A})}function ne(v){ce!=null&&ce.value||w.mouseMove({event:v,node:A})}function oe(v){ce!=null&&ce.value||w.mouseLeave({event:v,node:A})}function pe(v){return w.contextMenu({event:v,node:A})}function fe(v){return w.doubleClick({event:v,node:A})}function x(v){G.value&&(!r.value||!T.value||k.value>0)&&Ea(A,a.value,c,s,i,!1,$.value),w.click({event:v,node:A})}function N(v){if(!(ga(v)||h.value))if(cu.includes(v.key)&&G.value){const I=v.key==="Escape";Ea(A,a.value,c,s,i,I,$.value)}else T.value&&A.selected&&In[v.key]&&(v.preventDefault(),y.value=`Moved selected node ${v.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~A.position.x}, y: ${~~A.position.y}`,z({x:In[v.key].x,y:In[v.key].y},v.shiftKey))}}});function $1(e={includeHiddenNodes:!1}){const{nodes:n}=Ae();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const B1={class:"vue-flow__nodes vue-flow__container"},D1={name:"Nodes",compatConfig:{MODE:3}},V1=t.defineComponent({...D1,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=Ae(),i=$1(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",B1,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,u,p,d)=>{const f=[c.id];if(d&&d.key===c.id&&t.isMemoSame(d,f))return d;const m=(t.openBlock(),t.createBlock(t.unref(O1),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=f,m},s,0),128)):t.createCommentVNode("",!0)]))}});function R1(){const{emits:e}=Ae();t.onMounted(()=>{if($u()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Le(De.MISSING_STYLES))}})}const M1=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),F1={name:"VueFlow",compatConfig:{MODE:3}},Pa=t.defineComponent({...F1,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=Hi(r,"modelValue",o),l=Hi(r,"nodes",o),s=Hi(r,"edges",o),c=Ae(r),u=SN({modelValue:a,nodes:l,edges:s},r,c);return xN(o,c.hooks),b1(),R1(),t.provide(Br,i),t.onUnmounted(()=>{u()}),n(c),(p,d)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(f1,null,{default:t.withCtx(()=>[t.createVNode(I1),M1,t.createVNode(V1),t.renderSlot(p.$slots,"zoom-pane")]),_:3}),t.renderSlot(p.$slots,"default"),t.createVNode(_1)],512))}}),L1={name:"Panel",compatConfig:{MODE:3}},K1=t.defineComponent({...L1,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=Ae(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var Pt=(e=>(e.Lines="lines",e.Dots="dots",e))(Pt||{});const nd=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},od=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Pt.Lines+"",Pt.Dots+"";const U1={[Pt.Dots]:"#81818a",[Pt.Lines]:"#eee"},q1=["id","x","y","width","height","patternTransform"],z1={key:2,height:"100",width:"100"},G1=["fill"],j1=["x","y","fill"],H1={name:"Background",compatConfig:{MODE:3}},rd=t.defineComponent({...H1,props:{id:{},variant:{default:()=>Pt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=Ae(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[s*l||1,c*l||1],p=e.size*l,[d,f]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[d*l||1+u[0]/2,f*l||1+u[1]/2];return{scaledGap:u,offset:m,size:p}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||U1[e.variant||Pt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(Pt).Lines?(t.openBlock(),t.createBlock(t.unref(nd),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Pt).Dots?(t.openBlock(),t.createBlock(t.unref(od),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",z1,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,G1)])):t.createCommentVNode("",!0)])],8,q1)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,j1),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),Y1={name:"ControlButton",compatConfig:{MODE:3}},W1=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},Z1={class:"vue-flow__controls-button"};function X1(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",Z1,[t.renderSlot(e.$slots,"default")])}const Kr=W1(Y1,[["render",X1]]),J1={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Q1=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function ev(e,n){return t.openBlock(),t.createElementBlock("svg",J1,Q1)}const tv={render:ev},nv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ov=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function rv(e,n){return t.openBlock(),t.createElementBlock("svg",nv,ov)}const iv={render:rv},av={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},lv=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function sv(e,n){return t.openBlock(),t.createElementBlock("svg",av,lv)}const cv={render:sv},uv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},dv=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function pv(e,n){return t.openBlock(),t.createElementBlock("svg",uv,dv)}const fv={render:pv},mv={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},gv=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function hv(e,n){return t.openBlock(),t.createElementBlock("svg",mv,gv)}const yv={render:hv},_v={name:"Controls",compatConfig:{MODE:3}},id=t.defineComponent({..._v,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>iu.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:u,minZoom:p,maxZoom:d}=Ae(),f=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>u.value.zoom<=p.value),h=t.toRef(()=>u.value.zoom>=d.value);function y(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function b(){c(e.fitViewParams),n("fitView")}function k(){a(!f.value),n("interactionChange",!f.value)}return(_,E)=>(t.openBlock(),t.createBlock(t.unref(K1),{class:"vue-flow__controls",position:_.position},{default:t.withCtx(()=>[t.renderSlot(_.$slots,"top"),_.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(_.$slots,"control-zoom-in",{},()=>[t.createVNode(Kr,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:t.withCtx(()=>[t.renderSlot(_.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(tv))))])]),_:3},8,["disabled"])]),t.renderSlot(_.$slots,"control-zoom-out",{},()=>[t.createVNode(Kr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(_.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(iv))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),_.showFitView?t.renderSlot(_.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Kr,{class:"vue-flow__controls-fitview",onClick:b},{default:t.withCtx(()=>[t.renderSlot(_.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(cv))))])]),_:3})]):t.createCommentVNode("",!0),_.showInteractive?t.renderSlot(_.$slots,"control-interactive",{key:2},()=>[_.showInteractive?(t.openBlock(),t.createBlock(Kr,{key:0,class:"vue-flow__controls-interactive",onClick:k},{default:t.withCtx(()=>[f.value?t.renderSlot(_.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(yv))))]):t.createCommentVNode("",!0),f.value?t.createCommentVNode("",!0):t.renderSlot(_.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(fv))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(_.$slots,"default")]),_:3},8,["position"]))}}),Ur=we(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>ge.Left},size:{default:()=>Number.parseFloat(Eb)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(ge).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),ad=we(t.defineComponent({__name:"NodeBadge",props:{type:{},condensed:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!Bt(e.type))return((i=tr[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>A0(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,class:t.normalizeClass({condensed:i.condensed})},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","class"])}}}),[["__scopeId","data-v-d74d2a44"]]),bv={class:"body"},wv={class:"info-line"},kv={class:"name"},Cv={class:"input-handles"},Ev={class:"handle"},Nv={class:"handle-label-wrapper"},vv={class:"handle-label-wrapper"},Sv={class:"handle-label"},Av={class:"output-handles"},xv={class:"handle"},Tv={class:"handle-label-wrapper"},Pv={class:"handle-label-wrapper"},Iv={class:"handle-label"},Ia=we(t.defineComponent({__name:"FlowNode",props:{data:{}},setup(e){const{t:n}=Fe.createI18n("en-us",Ue),o=t.ref(!1),r=t.ref(!1),i=t.computed(()=>T0(e.data)),a=t.computed(()=>e.data.phase==="response"),l=t.computed(()=>e.data.phase==="request"?ge.Left:ge.Right),s=t.computed(()=>e.data.phase==="request"?ge.Right:ge.Left),c=t.computed(()=>i.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),u=t.computed(()=>i.value?_b:bb);return(p,d)=>{var f,m;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:a.value,implicit:i.value}])},[t.createElementVNode("div",bv,[t.createElementVNode("div",wv,[t.createElementVNode("div",kv,t.toDisplayString(c.value),1),i.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ad,{key:0,condensed:"",type:p.data.type},null,8,["type"]))]),t.renderSlot(p.$slots,"default",{},void 0,!0)]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:a.value}])},[t.createElementVNode("div",Cv,[(f=p.data.fields)!=null&&f.input&&p.data.fields.input.length>0?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Ev,[t.createVNode(t.unref(Lt),{id:"inputs",position:l.value,type:"target"},null,8,["position"]),t.createElementVNode("div",Nv,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:d[0]||(d[0]=t.withModifiers(h=>o.value=!o.value,["stop"]))},[d[2]||(d[2]=t.createElementVNode("div",null,"inputs",-1)),o.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ke.UnfoldMoreIcon),{key:0,size:t.unref(Qn)},null,8,["size"])),o.value?(t.openBlock(),t.createBlock(t.unref(ke.UnfoldLessIcon),{key:1,size:t.unref(Qn)},null,8,["size"])):t.createCommentVNode("",!0)]),o.value?(t.openBlock(),t.createBlock(Ur,{key:0,color:u.value,position:l.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),o.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(p.data.fields.input,(h,y)=>(t.openBlock(),t.createElementBlock("div",{key:`input-${h.id}`,class:"handle indented"},[t.createVNode(t.unref(Lt),{id:`input-${h.id}`,position:l.value,type:"target"},null,8,["id","position"]),t.createElementVNode("div",vv,[t.createElementVNode("div",Sv,t.toDisplayString(h.name),1),t.createVNode(Ur,{color:u.value,position:l.value,type:y<p.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)]),t.createElementVNode("div",Av,[(m=p.data.fields)!=null&&m.output&&p.data.fields.output.length>0?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",xv,[t.createElementVNode("div",Tv,[t.createElementVNode("div",{class:"handle-label with-icon",onClick:d[1]||(d[1]=t.withModifiers(h=>r.value=!r.value,["stop"]))},[d[3]||(d[3]=t.createElementVNode("div",null,"outputs",-1)),r.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ke.UnfoldMoreIcon),{key:0,size:t.unref(Qn)},null,8,["size"])),r.value?(t.openBlock(),t.createBlock(t.unref(ke.UnfoldLessIcon),{key:1,size:t.unref(Qn)},null,8,["size"])):t.createCommentVNode("",!0)]),r.value?(t.openBlock(),t.createBlock(Ur,{key:0,color:u.value,position:s.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Lt),{id:"outputs",position:s.value,type:"target"},null,8,["position"])]),r.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(p.data.fields.output,(h,y)=>(t.openBlock(),t.createElementBlock("div",{key:`output-${h.id}`,class:"handle indented"},[t.createElementVNode("div",Pv,[t.createElementVNode("div",Iv,t.toDisplayString(h.name),1),t.createVNode(Ur,{color:u.value,position:s.value,type:y<p.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Lt),{id:`output-${h.id}`,position:s.value,type:"source"},null,8,["id","position"])]))),128)):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)])],2)],2)}}}),[["__scopeId","data-v-dc72dc4c"]]),Ov=we(t.defineComponent({__name:"EditorCanvas",setup(e){const n=t.useTemplateRef("editorCanvas"),o=t.useTemplateRef("requestLabel"),r=t.useTemplateRef("requestCanvas"),i=t.useTemplateRef("resizeHandle"),a=t.useTemplateRef("responseCanvas"),l=Ze.useElementBounding(n),s=Ze.useElementBounding(o),c=Ze.useElementBounding(r),u=Ze.useElementBounding(i),p=Ze.useElementBounding(a),d=t.computed(()=>Math.max(30,l.height.value*.03)),f=t.computed(()=>c.height.value<d.value),m=t.computed(()=>p.height.value<d.value),h=t.ref("50%"),y=()=>{f.value?h.value="50%":h.value="0"},g=()=>{m.value?h.value="50%":h.value="100%"},{isDragging:b}=Ze.useDraggable(i,{onMove(k){const E=k.y+u.height.value/2-s.bottom.value;h.value=`max(0%, min(100%, ${E}px))`},onEnd(){c.height.value<d.value?h.value="0":p.height.value<d.value&&(h.value="100%")}});return(k,_)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"editorCanvas",ref:n,class:"editor-canvas"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:o,class:"label",onClick:y},[t.createVNode(t.unref(ke.ChevronDownIcon),{class:t.normalizeClass(["icon",{collapsed:f.value}])},null,8,["class"]),_[0]||(_[0]=t.createElementVNode("div",null,"Request",-1))],512),t.createElementVNode("div",{ref_key:"requestCanvas",ref:r,class:t.normalizeClass(["canvas",{dragging:t.unref(b)}]),style:t.normalizeStyle({height:h.value})},[t.renderSlot(k.$slots,"request",{},void 0,!0)],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:i,class:"resize-handle"},null,512),t.createElementVNode("div",{ref:"responseLabel",class:t.normalizeClass(["label",{dragging:t.unref(b)}]),onClick:g},[t.createVNode(t.unref(ke.ChevronDownIcon),{class:t.normalizeClass(["icon",{collapsed:m.value}])},null,8,["class"]),_[1]||(_[1]=t.createElementVNode("div",null," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvas",ref:a,class:"canvas response"},[t.renderSlot(k.$slots,"response",{},void 0,!0)],512)],512))}}),[["__scopeId","data-v-e2f7b17f"]]),$v={class:"dk-editor-main"},Bv={class:"header"},Dv={class:"actions"},Vv={ref:"canvasContainer",class:"body"},Rv=we(t.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:n}){const{t:o}=Fe.createI18n("en-us",Ue),r=n,{requestNodes:i,responseNodes:a,addNode:l,moveNode:s,removeNode:c}=Nn(),u=P=>{P.target instanceof Element&&P.target.closest(".vue-flow__controls")||r("click:backdrop")},p=({event:P,node:C})=>{P.stopPropagation(),r("click:node",C.data)},d=t.useId(),f=`${d}-request`,m=`${d}-response`,{project:h,vueFlowRef:y}=Ae(f),{project:g,vueFlowRef:b}=Ae(m),k=(P,C)=>{var G,U;const R=(G=P.dataTransfer)==null?void 0:G.getData(ec);if(!R)return;P.preventDefault();const $=JSON.parse(R);if($.action!=="create-node")return;const O=C==="request"?h:g,X=C==="request"?y:b,{top:z=0,left:A=0}=((U=X.value)==null?void 0:U.getBoundingClientRect())||{},S=O({x:P.clientX-A,y:P.clientY-z}),{type:w,anchor:D}=$.data,T={type:w,phase:C,position:{x:S.x-D.offsetX,y:S.y-D.offsetY}};l(T)},_=P=>{const{node:C}=P;C&&s(C.id,C.position)},E=P=>{P.forEach(C=>{C.type==="remove"&&c(C.id)})};return(P,C)=>(t.openBlock(),t.createElementBlock("div",$v,[t.createElementVNode("header",Bv,[t.createElementVNode("div",Dv,[t.createVNode(t.unref(Ie.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),t.createVNode(t.unref(ke.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Ie.KButton),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.save")),1)]),_:1})])]),t.createElementVNode("div",Vv,[t.createVNode(Ov,null,{request:t.withCtx(()=>[t.createVNode(t.unref(Pa),{id:f,class:"flow","fit-view-on-init":"",nodes:t.unref(i),onClickCapture:u,onDragover:C[0]||(C[0]=t.withModifiers(()=>{},["prevent"])),onDrop:C[1]||(C[1]=R=>k(R,"request")),onNodeClick:p,onNodeDragStop:_,onNodesChange:E},{"node-flow":t.withCtx(R=>[t.createVNode(Ia,{data:R.data},null,8,["data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(rd)),t.createVNode(t.unref(id),{position:"bottom-left"})]),_:1},8,["nodes"])]),response:t.withCtx(()=>[t.createVNode(t.unref(Pa),{id:m,class:"flow","fit-view-on-init":"",nodes:t.unref(a),onClickCapture:u,onDragover:C[2]||(C[2]=t.withModifiers(()=>{},["prevent"])),onDrop:C[3]||(C[3]=R=>k(R,"response")),onNodeClick:p,onNodeDragStop:_,onNodesChange:E},{"node-flow":t.withCtx(R=>[t.createVNode(Ia,{data:R.data},null,8,["data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(rd)),t.createVNode(t.unref(id),{position:"bottom-left"})]),_:1},8,["nodes"])]),_:1})],512)]))}}),[["__scopeId","data-v-ac4084ec"]]),Mv={class:"icon"},Fv={class:"content"},Lv={class:"title"},Kv={class:"description"},Uv=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:n,icon:o}=tr[e.type];return(r,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[t.createElementVNode("div",Mv,[t.createVNode(t.unref(o),{size:16})]),t.createElementVNode("div",Fv,[t.createElementVNode("div",Lv,t.toDisplayString(r.type),1),t.createElementVNode("div",Kv,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-e75cecee"]]),qv={class:"dk-node-panel"},zv={class:"title"},Gv={class:"node-list"},jv={class:"preview"},Hv=we(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Fe.createI18n("en-us",Ue),{createNode:o}=Nn(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var $,O;const u=s.currentTarget,{left:p,top:d,width:f,height:m}=u.getBoundingClientRect(),h=s.clientX-p,y=s.clientY-d;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||u,b=g.cloneNode(!0),{offsetWidth:k,offsetHeight:_}=g;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${k}px`,height:`${_}px`,boxSizing:"border-box"}),document.body.appendChild(b);const E=h/f,P=y/m,C={ratioX:E,ratioY:P,offsetX:k*E,offsetY:_*P},R={action:"create-node",data:{type:c,anchor:C}};($=s.dataTransfer)==null||$.setData(ec,JSON.stringify(R)),(O=s.dataTransfer)==null||O.setDragImage(b,C.offsetX,C.offsetY),requestAnimationFrame(()=>{b.remove(),i.value=void 0})};return(s,c)=>{const u=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",qv,[t.createElementVNode("h3",zv,[t.createVNode(u,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",Gv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(tr)),p=>(t.openBlock(),t.createBlock(Uv,{key:p,draggable:"true",type:p,onDragstart:d=>l(d,p)},null,8,["type","onDragstart"]))),128))]),t.createElementVNode("div",jv,[t.createVNode(t.unref(Pa),{nodes:a.value},{"node-flow":t.withCtx(p=>[t.createVNode(Ia,{id:r,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-fe972e61"]]),Yv=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(ft,{items:t.unref(vi)([...t.unref(S0)]),name:n.name},null,8,["items","name"]))}}),Wv=we(t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Be(),{i18n:o}=Xe(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(at,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(ft,{key:l,class:"dk-inputs-field-indent",clearable:"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-70bcadbe"]]),Zv=["data-testid"],Xv={class:"dk-inputs-map-field-entry-body"},Jv={class:"dk-inputs-map-field-entry-content"},Qv={class:"dk-inputs-map-field-indent"},eS=we(t.defineComponent({__name:"InputsMapField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean}},emits:["change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=$i(o,r),{i18n:c}=Xe(),u=t.useTemplateRef("root");async function p(f,m="key"){var h;u.value&&(await t.nextTick(),(h=u.value.querySelector(`[data-${m}-input="${f}"]`))==null||h.focus())}function d(){a();const f=i.value.findIndex(({key:m})=>!m);p(f===-1?i.value.length-1:f)}return(f,m)=>{const h=t.resolveComponent("KAlert"),y=t.resolveComponent("KLabel"),g=t.resolveComponent("KInput"),b=t.resolveComponent("KSelect"),k=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(_,E)=>(t.openBlock(),t.createElementBlock("div",{key:_.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${t.unref(s).path.value}.${E}`},[t.createVNode(y,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${E}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",Xv,[t.createElementVNode("div",Jv,[t.createVNode(g,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${E}`,modelValue:_.key,"onUpdate:modelValue":P=>_.key=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":E,"data-testid":`ff-key-${t.unref(s).path.value}.${E}`,placeholder:t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder")},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder"]),t.createVNode(b,{modelValue:_.value,"onUpdate:modelValue":P=>_.value=P,class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(s).path.value}.${E}`,items:[],placeholder:t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"])]),t.createVNode(k,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${E}`,icon:"",onClick:P=>t.unref(l)(_.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,Zv))),128)),t.createElementVNode("div",Qv,[t.createVNode(k,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,onClick:d},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid"])])],512))}}}),[["__scopeId","data-v-e1e0f40e"]]),ko=t.defineComponent({__name:"InputsField",props:{items:{}},emits:["change:input","change:inputs","addField","removeField","renameField"],setup(e,{emit:n}){const o=n,{getSchema:r}=Be(),{i18n:i}=Xe(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?Wv:eS:null);function s(u){o("change:input",u?u.value:null)}function c(u,p){o("change:inputs",u,p)}return(u,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(r)("input")?(t.openBlock(),t.createBlock(ft,{key:0,clearable:"",items:u.items,label:"Inputs",name:"input",placeholder:t.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,items:u.items,name:"inputs","onChange:inputs":c},null,8,["items"])):t.createCommentVNode("",!0)],64))}}),tS={fields:[{name:{type:"string",required:!0}},{method:{default:"GET",description:"A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters.",len_max:32,len_min:1,match:"^%u+$",type:"string"}},{ssl_server_name:{description:"A string representing an SNI (server name indication) value for TLS.",type:"string"}},{timeout:{between:[0,2147483646],description:"An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2.",type:"integer"}},{url:{description:"A string representing a URL, such as https://example.com/path/to/resource?q=search.",required:!0,type:"string"}},{input:{description:"call node input",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}},{output:{description:"call node output",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{outputs:{description:"call node outputs",fields:[{body:{description:"HTTP response body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP response headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{status:{description:"HTTP response status code",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},nS={fields:[{name:{type:"string",required:!0}},{jq:{description:"The jq filter text. Refer to https://jqlang.org/manual/ for full documentation.",len_max:10240,len_min:1,required:!0,type:"string"}},{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"filter input(s)",keys:{len_max:255,len_min:1,type:"string"},required:!1,type:"map",values:{len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},type:"string"}}},{output:{description:"filter output(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],type:"record"},oS={fields:[{name:{type:"string",required:!0}},{content_type:{description:"The expected mime type of the property value. When set to `application/json`, SET operations will JSON-encode input data before writing it, and GET operations will JSON-decode output data after reading it. Otherwise, this setting has no effect.",one_of:["application/json","text/plain","application/octet-stream"],required:!1,type:"string"}},{property:{description:"The property name to get/set",len_max:255,len_min:1,required:!0,type:"string"}},{input:{description:"Property input source. When connected, this node operates in SET mode and writes input data to the property. Otherwise, the node operates in GET mode and reads the property.",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{output:{description:"Property output. This can be connected regardless of whether the node is operating in GET mode or SET mode.",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],type:"record"},rS={fields:[{name:{type:"string",required:!0}},{values:{description:"An object with string keys and freeform values",json_schema:{inline:{type:"object"}},required:!0,type:"json"}},{output:{description:"The entire `.values` map",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{outputs:{description:"Individual items from `.values`, referenced by key",keys:{len_max:255,len_min:1,type:"string"},required:!1,type:"map",values:{len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},type:"string"}}}],type:"record"},iS={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},aS={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},ld={configNodes:[{type:"call",name:"MY_CALL",url:"https://example.com",method:"GET",timeout:5e3,ssl_server_name:"example.com",inputs:{headers:"request.headers",body:"request.body",query:"request.query"}},{type:"call",name:"MY_CALL_1",url:"https://example.com",method:"GET",timeout:5e3,ssl_server_name:"example.com",input:"MY_CALL"},{type:"property",name:"PROP",property:"kong.ctx.plugin.foo"}],uiNodes:[{name:"MY_CALL",phase:"request",position:{x:100,y:100},fields:{input:["headers","body","query"],output:["body","headers","status"]},expanded:{input:!0,output:!0}},{name:"MY_CALL_1",phase:"request",position:{x:300,y:100},fields:{input:["headers","body","query"],output:["body","headers","status"]},expanded:{input:!0,output:!0}},{name:"PROP",phase:"request",position:{x:500,y:100}}]};function sd(e){const{selectedNode:n,state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:u,connectEdge:p}=Nn(),d=t.computed(()=>n.value.id),f=t.ref(!1);t.watch(o,async()=>{f.value=!0,await t.nextTick(),f.value=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=Nn();const m=t.computed(()=>{const X=o.value.edges.filter(z=>z.target===d.value).reduce((z,A)=>{var G,U;const S=i(A.source),w=(G=En(S,"output",A.sourceField))==null?void 0:G.id,D=(U=En(n.value,"input",A.targetField))==null?void 0:U.name,T=S.id+(w?`.${w}`:"");return D?z.inputs={...z.inputs,[D]:T}:z.input=T,z},{});return{...n.value.config,...X,name:n.value.name}}),h=O=>{f.value||r(d.value,O??"")},y=(O=!0)=>{if(f.value)return;const{name:X,input:z,inputs:A,...S}=e();c(d.value,S,O)},g=(O,X)=>{a(d.value,O,X)},b=(O,X)=>{l(d.value,O,X)},k=O=>{s(d.value,O)},_=t.computed(()=>o.value.edges.filter(O=>O.target===d.value&&!O.targetField)[0]),E=t.computed(()=>o.value.edges.filter(O=>O.target===d.value&&O.targetField)),P=(O,X)=>{var G;if(f.value)return;const z=X==null,A=(G=or(n.value,"input",O))==null?void 0:G.id;if(z){const U=E.value.find(M=>M.targetField===A);U&&u(U.id,!0);return}_.value&&u(_.value.id,!1);const S=E.value.find(U=>U.targetField===A);S&&u(S.id,!1);const{nodeId:w,fieldId:D}=nc(X),T=or(n.value,"input",O).id;p({source:w,sourceField:D,target:d.value,targetField:T})},C=(O,X=!0)=>{if(f.value)return;const z=O==null;for(const w of[...E.value,_.value].filter(Boolean))u(w.id,X&&z);if(z)return;const{nodeId:A,fieldId:S}=nc(O);p({source:A,sourceField:S,target:d.value,targetField:void 0},X)},R=O=>{const X=[...o.value.edges,{source:O,target:d.value}];return qi(rr(X))},$=t.computed(()=>{var X,z,A;const O=[];for(const S of o.value.nodes){const w=oc(S.type);if((X=w.io)!=null&&X.output&&!(!S.fields.output.length&&!((A=(z=w.io)==null?void 0:z.output)!=null&&A.configurable))&&S.id!==d.value&&!R(S.id)){O.push({value:S.id,label:S.name});for(const D of S.fields.output)O.push({value:`${S.id}.${D.id}`,label:`${S.name}.${D.name}`})}}return O});return{formData:m,inputOptions:$,inputEdge:_,inputsEdges:E,setName:h,setConfig:y,addField:g,renameField:b,removeField:k,setInputs:P,setInput:C}}const lS=t.defineComponent({__name:"NodeFormCall",setup(e){const{i18n:n}=Xe(),o=t.useTemplateRef("form"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c}=sd(()=>o.value.getInnerData());return(u,p)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(vt,{ref:"form",config:{updateOnChange:!0},data:t.unref(r),schema:t.unref(tS)},{default:t.withCtx(()=>[t.createVNode($t,{name:"name","onUpdate:modelValue":t.unref(i)},null,8,["onUpdate:modelValue"]),t.createVNode(d,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n).t("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode($t,{name:"url","onUpdate:modelValue":p[0]||(p[0]=f=>t.unref(a)())}),t.createVNode(Yv,{name:"method","onUpdate:modelValue":p[1]||(p[1]=f=>t.unref(a)())}),t.createVNode(Xn,{label:t.unref(n).t("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout","onUpdate:modelValue":p[2]||(p[2]=f=>t.unref(a)())},null,8,["label"]),t.createVNode($t,{name:"ssl_server_name","onUpdate:modelValue":p[3]||(p[3]=f=>t.unref(a)())}),t.createVNode(ko,{items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),sS=t.defineComponent({__name:"NodeFormServiceRequest",setup(e){return(n,o)=>(t.openBlock(),t.createBlock(vt,{schema:t.unref(iS),onChange:console.log},{default:t.withCtx(()=>[t.createVNode(ko,{items:[]})]),_:1},8,["schema","onChange"]))}}),cS=t.defineComponent({__name:"NodeFormResponse",setup(e){return(n,o)=>(t.openBlock(),t.createBlock(vt,{schema:t.unref(aS),onChange:console.log},{default:t.withCtx(()=>[t.createVNode(ko,{items:[]})]),_:1},8,["schema","onChange"]))}}),uS=t.defineComponent({__name:"NodeFormJq",setup(e){const{i18n:n}=Xe();return(o,r)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(vt,{schema:t.unref(nS),onChange:console.log},{default:t.withCtx(()=>[t.createVNode(ze,{name:"name"}),t.createVNode(i,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n).t("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),t.createVNode($t,{label:t.unref(n).t("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),multiline:"",name:"jq",resizable:"",rows:"2"},null,8,["label"]),t.createVNode(ko,{items:[]})]),_:1},8,["schema","onChange"])}}}),dS=we(t.defineComponent({__name:"OutputValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean}},emits:["change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=$i(o,r),{i18n:c}=Xe(),u=t.useTemplateRef("root");async function p(f,m="key"){var h;u.value&&(await t.nextTick(),(h=u.value.querySelector(`[data-${m}-input="${f}"]`))==null||h.focus())}function d(){a();const f=i.value.findIndex(({key:m})=>!m);p(f===-1?i.value.length-1:f)}return(f,m)=>{const h=t.resolveComponent("KAlert"),y=t.resolveComponent("KLabel"),g=t.resolveComponent("KButton"),b=t.resolveComponent("KInput"),k=t.resolveComponent("KCard");return t.unref(s).error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-output-value-field"},[t.createVNode(y,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(_,E)=>(t.openBlock(),t.createBlock(k,{key:_.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${E}`},{actions:t.withCtx(()=>[t.createVNode(g,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${E}`,icon:"",onClick:P=>t.unref(l)(_.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${E}`,modelValue:_.key,"onUpdate:modelValue":P=>_.key=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":E,"data-testid":`ff-key-${t.unref(s).path.value}.${E}`,label:t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","label"]),t.createVNode(b,{modelValue:_.value,"onUpdate:modelValue":P=>_.value=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(s).path.value}.${E}`,label:t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value")},null,8,["modelValue","onUpdate:modelValue","data-testid","label"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(g,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,onClick:d},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid"])],512))}}}),[["__scopeId","data-v-58672f4f"]]),pS=t.defineComponent({__name:"NodeFormStatic",setup(e){return(n,o)=>(t.openBlock(),t.createBlock(vt,{schema:t.unref(rS),onChange:console.log},{default:t.withCtx(()=>[t.createVNode(ze,{name:"name"}),t.createVNode(dS,{name:"values"})]),_:1},8,["schema","onChange"]))}}),$n="{key}",Bn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},qr=Object.keys(Bn).filter(e=>e.includes($n)).map(e=>e.replace($n,""));function cd(e){if(!e||!zr(e))return;const n=qr.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace($n,"")}function Co(e){if(!e)return null;const n=qr.find(o=>e.startsWith(o));return n||e}function zr(e){return e?qr.some(n=>e.startsWith(n)):!1}function fS(e){return e?zr(e)?Co(e)+$n:e:null}function ud(e){var o;if(!e)return!1;const n=fS(e);return n?((o=Bn[n])==null?void 0:o.writable)??!1:!1}const mS={class:"dk-kong-property-item"},gS={class:"property-type"},hS={class:"property-badges"},yS=we(t.defineComponent({__name:"PropertiesField",emits:["update:model-value"],setup(e,{emit:n}){const{i18n:{t:o}}=Xe(),r=n,{formData:i}=Be(),a=t.ref(Co(i.property)),l=t.computed(()=>zr(i.property)),s=t.ref(cd(i.property)),c=t.computed(()=>Object.entries(Bn).map(([d])=>{var h;const f=zr(d)?(h=i.property)==null?void 0:h.startsWith(d.replace($n,"")):i.property===d;return{label:f&&s.value?d.replace($n,s.value):d,value:d,selected:f}}));function u(d){const f=qr.find(h=>{var y;return(y=i.property)==null?void 0:y.startsWith(h)});if(!f)return;const m=d.target.value;i.property=f+m,r("update:model-value",i.property)}function p(d){a.value!==Co(d==null?void 0:d.value)&&(i.property=(d==null?void 0:d.value)||null,a.value=Co(i.property),r("update:model-value",i.property))}return t.watch(()=>i.property,d=>{s.value=cd(d),a.value=Co(d)}),(d,f)=>{const m=t.resolveComponent("KBadge"),h=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(h,{items:c.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onChange:p},{"item-template":t.withCtx(({item:g})=>[t.createElementVNode("div",mS,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(g.label),1),t.createElementVNode("div",gS,t.toDisplayString(t.unref(Bn)[g.value].dataType),1)]),t.createElementVNode("div",hS,[t.unref(Bn)[g.value].readable?(t.openBlock(),t.createBlock(m,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Bn)[g.value].writable?(t.openBlock(),t.createBlock(m,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["items"]),l.value?(t.openBlock(),t.createBlock(y,{key:0,modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=g=>s.value=g),label:"key",required:"",onChange:u},null,8,["modelValue"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-041be117"]]),_S=t.defineComponent({__name:"NodeFormProperty",setup(e){const n=t.useTemplateRef("form"),{formData:o,setName:r,setConfig:i,inputOptions:a,setInputs:l,setInput:s}=sd(()=>n.value.getInnerData()),c=t.computed(()=>ud(o.value.property));function u(p){ud(p)||s(null,!1),i()}return(p,d)=>(t.openBlock(),t.createBlock(vt,{ref:"form",config:{updateOnChange:!0},data:t.unref(o),schema:t.unref(oS)},{default:t.withCtx(()=>[t.createVNode($t,{name:"name","onUpdate:modelValue":t.unref(r)},null,8,["onUpdate:modelValue"]),t.createVNode(ft,{name:"content_type","onUpdate:modelValue":t.unref(i)},null,8,["onUpdate:modelValue"]),t.createVNode(yS,{"onUpdate:modelValue":u}),c.value?(t.openBlock(),t.createBlock(ko,{key:0,items:t.unref(a),"onChange:input":t.unref(s),"onChange:inputs":t.unref(l)},null,8,["items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),bS=["innerHTML"],wS=we(t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:()=>N0},offsetTop:{default:()=>v0},visible:{type:Boolean}},emits:["close"],setup(e){const{selectedNode:n}=Nn(),o=t.computed(()=>{var r;switch((r=n.value)==null?void 0:r.type){case"call":return lS;case"service_request":return sS;case"response":return cS;case"jq":return uS;case"static":return pS;case"property":return _S;case"exit":return null;default:return null}});return(r,i)=>(t.openBlock(),t.createBlock(t.unref(Ie.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":r.maxWidth,"offset-top":r.offsetTop,visible:r.visible,onClose:i[0]||(i[0]=a=>r.$emit("close"))},t.createSlots({default:t.withCtx(()=>[t.unref(n)?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(mt)(t.unref(n).type)},null,8,bS)):t.createCommentVNode("",!0),o.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{key:1,class:"dk-node-properties-panel-form"})):t.createCommentVNode("",!0)]),_:2},[t.unref(n)?{name:"title",fn:t.withCtx(()=>[t.createVNode(ad,{type:t.unref(n).type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-83360c0a"]]),kS={class:"dk-editor-content"},CS={class:"header"},ES={class:"title"},NS={class:"body"},vS={class:"node-selection-panel"},SS={class:"main"},AS=we(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Fe.createI18n("en-us",Ue),{sidePanelExpanded:o}=zi(),{selectNode:r,selectedNode:i}=Nn(),a=t.ref(!1);let l=!1;const s=p=>{a.value=p},c=p=>{l=!0,setTimeout(()=>{l=!1},10),r(p.id),s(!0)},u=()=>{setTimeout(()=>{l||s(!1)},0)};return t.watch(i,p=>{p||s(!1)}),(p,d)=>(t.openBlock(),t.createElementBlock("div",kS,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o)}])},[t.createElementVNode("header",CS,[t.createElementVNode("h2",ES,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",NS,[t.createElementVNode("div",vS,[t.createVNode(Hv)])])],2),t.createElementVNode("div",SS,[t.createVNode(Rv,{"onClick:backdrop":u,"onClick:node":c})]),t.createVNode(wS,{visible:a.value,onClose:u},null,8,["visible"])]))}}),[["__scopeId","data-v-05771600"]]),xS=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:t.mergeModels(["close"],["update:open"]),setup(e,{emit:n}){t.useCssVars(p=>({"4da009a8":t.unref(E0),"363e5834":t.unref(C0)}));const o=t.useTemplateRef("modal"),r=t.useModel(e,"open"),i=n,a=t.useTemplateRef("content"),l=Ze.useScrollLock(document),{activate:s,deactivate:c}=k0(o,{returnFocusOnDeactivate:!0,initialFocus:()=>{var p;return(p=a.value)==null?void 0:p.$el}});t.watch(r,async p=>{l.value=!!p,await t.nextTick(),p?s():c()},{immediate:!0});function u(){r.value=!1,i("close")}return(p,d)=>r.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"modal",ref:o,class:"dk-editor-modal"},[t.createVNode(q0,{class:"nav",onBack:u}),t.createVNode(AS,{ref_key:"content",ref:a,class:"content",tabindex:"0"},null,512)],512)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-a5d8043d"]]),TS={class:"dk-flow-editor"},PS=t.defineComponent({__name:"FlowEditor",props:{editing:{type:Boolean},config:{}},setup(e){const{t:n}=Fe.createI18n("en-us",Ue),o=t.ref(!1);return M0(ld.configNodes,ld.uiNodes),(r,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",TS,[i[2]||(i[2]=t.createElementVNode("div",null,"Nothing here yet.",-1)),t.createVNode(a,{appearance:"secondary",onClick:i[0]||(i[0]=l=>o.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.cta")),1)]),_:1}),t.createVNode(xS,{open:o.value,"onUpdate:open":i[1]||(i[1]=l=>o.value=l)},null,8,["open"])])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function dd(e){return typeof e>"u"||e===null}function IS(e){return typeof e=="object"&&e!==null}function OS(e){return Array.isArray(e)?e:dd(e)?[]:[e]}function $S(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function BS(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function DS(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var VS=dd,RS=IS,MS=OS,FS=BS,LS=DS,KS=$S,Ke={isNothing:VS,isObject:RS,toArray:MS,repeat:FS,isNegativeZero:LS,extend:KS};function pd(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
45
|
+
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Ue extends Error{constructor(t,...o){var r;super((r=ou[t])==null?void 0:r.call(ou,...o)),this.name="VueFlowError",this.code=t,this.args=o}}function Da(e){return"clientX"in e}function EN(e){return"sourceEvent"in e}function vt(e,t){const o=Da(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}}const Fr=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function kN(e){var t,o;return{width:((t=e.dimensions)==null?void 0:t.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Kr(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const CN=()=>!0;function Va(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function vN(e,t,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of t.values())Rr(i,Vr(a))>0&&r.push(a);return r}const NN=250;function SN(e,t,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=vN(e,o,t+NN);for(const d of c){const u=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const f of u){if(r.nodeId===f.nodeId&&r.type===f.type&&r.id===f.id)continue;const{x:p,y:m}=Fn(d,f,f.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>t||(h<s?(l=[{...f,x:p,y:m}],s=h):h===s&&l.push({...f,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(u=>u.type===d)??l[0]}return l[0]}function ru(e,{handle:t,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=CN},u,f,p){const m=a==="target",h=t?l.querySelector(`.${s}-flow__handle[data-id="${c}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:y,y:g}=vt(e),_=l.elementFromPoint(y,g),w=_!=null&&_.classList.contains(`${s}-flow__handle`)?_:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const v=iu(void 0,w),P=w.getAttribute("data-nodeid"),k=w.getAttribute("data-handleid"),L=w.classList.contains("connectable"),$=w.classList.contains("connectableend");if(!P||!v)return b;const I={source:m?P:r,sourceHandle:m?k:i,target:m?r:P,targetHandle:m?i:k};b.connection=I;const j=L&&$&&(o===Lt.Strict?m&&v==="source"||!m&&v==="target":P!==r||k!==i);b.isValid=j&&d(I,{nodes:f,edges:u,sourceNode:p(r),targetNode:p(P)}),b.toHandle=t}return b}function iu(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function xN(e,t){let o=null;return t?o="valid":e&&!t&&(o="invalid"),o}function AN(e,t){let o=null;return t?o=!0:e&&!t&&(o=!1),o}function TN(e,t,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const u=i===Lt.Strict?(l=d.handleBounds)==null?void 0:l[t]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],f=(o?u==null?void 0:u.find(p=>p.id===o):u==null?void 0:u[0])??null;return f&&a?{...f,...Fn(d,f,f.position,!0)}:f}const Ra={[ge.Left]:ge.Right,[ge.Right]:ge.Left,[ge.Top]:ge.Bottom,[ge.Bottom]:ge.Top},PN=["production","prod"];function Ur(e,...t){au()&&console.warn(`[Vue Flow]: ${e}`,...t)}function au(){return!PN.includes(process.env.NODE_ENV||"")}function lu(e,t,o,r,i){const a=t.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...Mr(l)}}):null}function Ma(e,t,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&t)&&(r([e]),n.nextTick(()=>{l.blur()})):o([e])}function Ve(e){return typeof n.unref(e)<"u"}function IN(e,t,o,r){if(!e||!e.source||!e.target)return o(new Ue(De.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return Ft(e)?i=e:i={...e,id:Kd(e)},i=Ld(i,void 0,r),uN(i,t)?!1:i}function ON(e,t,o,r,i){if(!t.source||!t.target)return i(new Ue(De.EDGE_INVALID,e.id)),!1;if(!o)return i(new Ue(De.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?Kd(t):a,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle}}function su(e,t,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!pn(l)){o(new Ue(De.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=sN(l,t(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=t(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Ue(De.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function cu(e,t,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,t)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,t)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,t))}}function La(e,t,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,u=`${a}-${s}--${i}-${l}`;cu("source",c,u,e,i,l),cu("target",c,d,e,a,s)}}function du(e,t){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}function Fa(e,t,o,r,i,a,l,s){const c=[];for(const d of e){const u=Ft(d)?d:IN(d,s,i,a);if(!u)continue;const f=o(u.source),p=o(u.target);if(!f||!p){i(new Ue(De.EDGE_SOURCE_TARGET_MISSING,u.id,u.source,u.target));continue}if(!f){i(new Ue(De.EDGE_SOURCE_MISSING,u.id,u.source));continue}if(!p){i(new Ue(De.EDGE_TARGET_MISSING,u.id,u.target));continue}if(t&&!t(u,{edges:s,nodes:l,sourceNode:f,targetNode:p})){i(new Ue(De.EDGE_INVALID,u.id));continue}const m=r(u.id);c.push({...Ld(u,m,a),sourceNode:f,targetNode:p})}return c}const uu=Symbol("vueFlow"),fu=Symbol("nodeId"),pu=Symbol("nodeRef"),$N=Symbol("edgeId"),BN=Symbol("edgeRef"),qr=Symbol("slots");function mu(e){const{vueFlowRef:t,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:u,nodesDraggable:f,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:y,selectNodesOnDrag:g,removeSelectedElements:_,addSelectedNodes:w,updateNodePositions:b,emits:v}=Ae(),{onStart:P,onDrag:k,onStop:L,onClick:$,el:I,disabled:Y,id:j,selectable:N,dragHandle:C}=e,E=n.shallowRef(!1);let D=[],T,G=null,K={x:void 0,y:void 0},B={x:0,y:0},V=null,z=!1,ae=0,ce=!1;const ee=RN(),U=({x:oe,y:fe})=>{K={x:oe,y:fe};let pe=!1;if(D=D.map(A=>{const S={x:oe-A.distance.x,y:fe-A.distance.y},{computedPosition:x}=Ba(A,o.value?Kr(S,r.value):S,v.error,l.value,A.parentNode?m(A.parentNode):void 0);return pe=pe||A.position.x!==x.x||A.position.y!==x.y,A.position=x,A}),!!pe&&(b(D,!0,!0),E.value=!0,V)){const[A,S]=$a({id:j,dragItems:D,findNode:m});k({event:V,node:A,nodes:S})}},R=()=>{if(!G)return;const[oe,fe]=Wd(B,G,u.value);if(oe!==0||fe!==0){const pe={x:(K.x??0)-oe/c.value.zoom,y:(K.y??0)-fe/c.value.zoom};p({x:oe,y:fe})&&U(pe)}ae=requestAnimationFrame(R)},q=(oe,fe)=>{z=!0;const pe=m(j);!g.value&&!h.value&&pe&&(pe.selected||_()),pe&&n.toValue(N)&&g.value&&Ma(pe,h.value,w,_,y,!1,fe);const A=ee(oe.sourceEvent);if(K=A,D=gN(a.value,f.value,A,m,j),D.length){const[S,x]=$a({id:j,dragItems:D,findNode:m});P({event:oe.sourceEvent,node:S,nodes:x})}},X=(oe,fe)=>{var pe;oe.sourceEvent.type==="touchmove"&&oe.sourceEvent.touches.length>1||(s.value===0&&q(oe,fe),K=ee(oe.sourceEvent),G=((pe=t.value)==null?void 0:pe.getBoundingClientRect())||null,B=vt(oe.sourceEvent,G))},te=(oe,fe)=>{const pe=ee(oe.sourceEvent);if(!ce&&z&&d.value&&(ce=!0,R()),!z){const A=pe.xSnapped-(K.x??0),S=pe.ySnapped-(K.y??0);Math.sqrt(A*A+S*S)>s.value&&q(oe,fe)}(K.x!==pe.xSnapped||K.y!==pe.ySnapped)&&D.length&&z&&(V=oe.sourceEvent,B=vt(oe.sourceEvent,G),U(pe))},ne=oe=>{let fe=!1;if(!z&&!E.value&&!h.value){const pe=oe.sourceEvent,A=ee(pe),S=A.xSnapped-(K.x??0),x=A.ySnapped-(K.y??0),O=Math.sqrt(S*S+x*x);O!==0&&O<=s.value&&($==null||$(pe),fe=!0)}if(D.length&&!fe){b(D,!1,!1);const[pe,A]=$a({id:j,dragItems:D,findNode:m});L({event:oe.sourceEvent,node:pe,nodes:A})}D=[],E.value=!1,ce=!1,z=!1,K={x:void 0,y:void 0},cancelAnimationFrame(ae)};return n.watch([()=>n.toValue(Y),I],([oe,fe],pe,A)=>{if(fe){const S=dt(fe);oe||(T=lC().on("start",x=>X(x,fe)).on("drag",x=>te(x,fe)).on("end",x=>ne(x)).filter(x=>{const O=x.target,J=n.toValue(C);return!x.button&&(!i.value||!eu(O,`.${i.value}`,fe)&&(!J||eu(O,J,fe)))}),S.call(T)),A(()=>{S.on(".drag",null),T&&(T.on("start",null),T.on("drag",null),T.on("end",null))})}}),E}function DN(){return{doubleClick:ue(),click:ue(),mouseEnter:ue(),mouseMove:ue(),mouseLeave:ue(),contextMenu:ue(),updateStart:ue(),update:ue(),updateEnd:ue()}}function VN(e,t){const o=DN();return o.doubleClick.on(r=>{var i,a;t.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;t.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;t.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;t.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;t.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;t.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;t.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;t.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;t.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function RN(){const{viewport:e,snapGrid:t,snapToGrid:o,vueFlowRef:r}=Ae();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=EN(i)?i.sourceEvent:i,{x:c,y:d}=vt(s,l),u=xo({x:c,y:d},e.value),{x:f,y:p}=o.value?Kr(u,t.value):u;return{xSnapped:f,ySnapped:p,...u}}}function jr(){return!0}function gu({handleId:e,nodeId:t,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:u,connectOnClick:f,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:y,findNode:g,panBy:_,startConnection:w,updateConnection:b,endConnection:v,emits:P,viewport:k,edges:L,nodes:$,isValidConnection:I,nodeLookup:Y}=Ae();let j=null,N=!1,C=null;function E(T){var G;const K=n.toValue(o)==="target",B=Da(T),V=Md(T.target);if(B&&T.button===0||!B){let z=function(Z){A=vt(Z,oe),U=SN(xo(A,k.value,!1,[1,1]),u.value,Y.value,O),S||(x(),S=!0);const F=ru(Z,{handle:U,connectionMode:d.value,fromNodeId:n.toValue(t),fromHandleId:n.toValue(e),fromType:K?"target":"source",isValidConnection:ee,doc:V,lib:"vue",flowId:s,nodeLookup:Y.value},L.value,$.value,g);C=F.handleDomNode,j=F.connection,N=AN(!!U,F.isValid);const le={...M,isValid:N,to:F.toHandle&&N?Ia({x:F.toHandle.x,y:F.toHandle.y},k.value):A,toHandle:F.toHandle,toPosition:N&&F.toHandle?F.toHandle.position:Ra[O.position],toNode:F.toHandle?Y.value.get(F.toHandle.nodeId):null};if(!(N&&U&&(M!=null&&M.toHandle)&&le.toHandle&&M.toHandle.type===le.toHandle.type&&M.toHandle.nodeId===le.toHandle.nodeId&&M.toHandle.id===le.toHandle.id&&M.to.x===le.to.x&&M.to.y===le.to.y)){if(b(U&&N?Ia({x:U.x,y:U.y},k.value):A,F.toHandle,xN(!!U,N)),M=le,!U&&!N&&!C)return Va(pe);j&&j.source!==j.target&&C&&(Va(pe),pe=C,C.classList.add("connecting","vue-flow__handle-connecting"),C.classList.toggle("valid",!!N),C.classList.toggle("vue-flow__handle-valid",!!N))}},ae=function(Z){(U||C)&&j&&N&&(a?a(Z,j):P.connect(j)),P.connectEnd(Z),i&&(l==null||l(Z)),Va(pe),cancelAnimationFrame(R),v(Z),S=!1,N=!1,j=null,C=null,V.removeEventListener("mousemove",z),V.removeEventListener("mouseup",ae),V.removeEventListener("touchmove",z),V.removeEventListener("touchend",ae)};const ce=g(n.toValue(t));let ee=n.toValue(r)||I.value||jr;!ee&&ce&&(ee=(K?ce.isValidSourcePos:ce.isValidTargetPos)||jr);let U,R=0;const{x:q,y:X}=vt(T),te=V==null?void 0:V.elementFromPoint(q,X),ne=iu(n.toValue(i),te),oe=(G=c.value)==null?void 0:G.getBoundingClientRect();if(!oe||!ne)return;const fe=TN(n.toValue(t),ne,n.toValue(e),Y.value,d.value);if(!fe)return;let pe,A=vt(T,oe),S=!1;const x=()=>{if(!h.value)return;const[Z,F]=Wd(A,oe,y.value);_({x:Z,y:F}),R=requestAnimationFrame(x)},O={...fe,nodeId:n.toValue(t),type:ne,position:fe.position},J=Y.value.get(n.toValue(t)),Q={inProgress:!0,isValid:null,from:Fn(J,O,ge.Left,!0),fromHandle:O,fromPosition:O.position,fromNode:J,to:A,toHandle:null,toPosition:Ra[O.position],toNode:null};w({nodeId:n.toValue(t),id:n.toValue(e),type:ne,position:(te==null?void 0:te.getAttribute("data-handlepos"))||ge.Top,...A},{x:q-oe.left,y:X-oe.top}),P.connectStart({event:T,nodeId:n.toValue(t),handleId:n.toValue(e),handleType:ne});let M=Q;V.addEventListener("mousemove",z),V.addEventListener("mouseup",ae),V.addEventListener("touchmove",z),V.addEventListener("touchend",ae)}}function D(T){var G,K;if(!f.value)return;const B=n.toValue(o)==="target";if(!p.value){P.clickConnectStart({event:T,nodeId:n.toValue(t),handleId:n.toValue(e)}),w({nodeId:n.toValue(t),type:n.toValue(o),id:n.toValue(e),position:ge.Top,...vt(T)},void 0,!0);return}let V=n.toValue(r)||I.value||jr;const z=g(n.toValue(t));if(!V&&z&&(V=(B?z.isValidSourcePos:z.isValidTargetPos)||jr),z&&(typeof z.connectable>"u"?m.value:z.connectable)===!1)return;const ae=Md(T.target),ce=ru(T,{handle:{nodeId:n.toValue(t),id:n.toValue(e),type:n.toValue(o),position:ge.Top,...vt(T)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:V,doc:ae,lib:"vue",flowId:s,nodeLookup:Y.value},L.value,$.value,g),ee=((G=ce.connection)==null?void 0:G.source)===((K=ce.connection)==null?void 0:K.target);ce.isValid&&ce.connection&&!ee&&P.connect(ce.connection),P.clickConnectEnd(T),v(T,!0)}return{handlePointerDown:E,handleClick:D}}function MN(){return n.inject(fu,"")}function hu(e){const t=e??MN()??"",o=n.inject(pu,n.ref(null)),{findNode:r,edges:i,emits:a}=Ae(),l=r(t);return l||a.error(new Ue(De.NODE_NOT_FOUND,t)),{id:t,nodeEl:o,node:l,parentNode:n.computed(()=>r(l.parentNode)),connectedEdges:n.computed(()=>Gd([l],i.value))}}function LN(){return{doubleClick:ue(),click:ue(),mouseEnter:ue(),mouseMove:ue(),mouseLeave:ue(),contextMenu:ue(),dragStart:ue(),drag:ue(),dragStop:ue()}}function FN(e,t){const o=LN();return o.doubleClick.on(r=>{var i,a;t.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;t.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;t.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;t.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;t.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;t.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;t.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;t.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;t.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function yu(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=Ae();return(c,d=!1)=>{const u=a.value?i.value[0]:5,f=a.value?i.value[1]:5,p=d?4:1,m=c.x*u*p,h=c.y*f*p,y=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const _={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=Ba(g,_,s.error,t.value,g.parentNode?r(g.parentNode):void 0);y.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(y,!0,!1)}}const Ka=.1,KN=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function qt(){return Ur("Viewport not initialized yet."),Promise.resolve(!1)}const UN={zoomIn:qt,zoomOut:qt,zoomTo:qt,fitView:qt,setCenter:qt,fitBounds:qt,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:qt,setTransform:qt,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function qN(e){function t(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?_o:Nr).scaleBy(Ua(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:u}=Rd({x:-r,y:-i},e.translateExtent),f=Mn.translate(-d,-u).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?_o:Nr).transform(Ua(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),f):s(!1)})}return n.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>t(1.2,i),zoomOut:i=>t(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?_o:Nr).scaleTo(Ua(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Ka,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=qd(s),{x:d,y:u,zoom:f}=zd(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Ka,i.offset);return o(d,u,f,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:Ka})=>{const{x:l,y:s,zoom:c}=zd(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>xo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return xo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return Ia(s,e.viewport)}return{x:0,y:0}}}:UN)}function Ua(e,t=0,o=KN,r=()=>{}){const i=typeof t=="number"&&t>0;return i||r(),i?e.transition().duration(t).ease(o).on("end",r):e}function jN(e,t,o){const r=n.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let y,g,_=!!(o.nodes.value.length||o.edges.value.length);y=$n([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=$n([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(y==null||y.pause(),e.modelValue.value=[...w,...b],n.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),n.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let y,g,_=!!o.nodes.value.length;y=$n([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=$n([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(y==null||y.pause(),e.nodes.value=[...w],n.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),n.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let y,g,_=!!o.edges.value.length;y=$n([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!_&&w.length?_=!0:g==null||g.resume())}),g=$n([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(y==null||y.pause(),e.edges.value=[...w],n.nextTick(()=>{y==null||y.resume()}))},{immediate:_}),n.onScopeDispose(()=>{y==null||y.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{n.watch(()=>t.maxZoom,()=>{t.maxZoom&&Ve(t.maxZoom)&&o.setMaxZoom(t.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{n.watch(()=>t.minZoom,()=>{t.minZoom&&Ve(t.minZoom)&&o.setMinZoom(t.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{n.watch(()=>t.translateExtent,()=>{t.translateExtent&&Ve(t.translateExtent)&&o.setTranslateExtent(t.translateExtent)},{immediate:!0})})},u=()=>{r.run(()=>{n.watch(()=>t.nodeExtent,()=>{t.nodeExtent&&Ve(t.nodeExtent)&&o.setNodeExtent(t.nodeExtent)},{immediate:!0})})},f=()=>{r.run(()=>{n.watch(()=>t.applyDefault,()=>{Ve(t.applyDefault)&&(o.applyDefault.value=t.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const y=async g=>{let _=g;typeof t.autoConnect=="function"&&(_=await t.autoConnect(g)),_!==!1&&o.addEdges([_])};n.watch(()=>t.autoConnect,()=>{Ve(t.autoConnect)&&(o.autoConnect.value=t.autoConnect)},{immediate:!0}),n.watch(o.autoConnect,(g,_,w)=>{g?o.onConnect(y):o.hooks.value.connect.off(y),w(()=>{o.hooks.value.connect.off(y)})},{immediate:!0})})},m=()=>{const y=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(t)){const _=g;if(!y.includes(_)){const w=n.toRef(()=>t[_]),b=o[_];n.isRef(b)&&r.run(()=>{n.watch(w,v=>{Ve(v)&&(b.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),u(),f(),p(),m()})()}),()=>r.stop()}function GN(){return{edgesChange:ue(),nodesChange:ue(),nodeDoubleClick:ue(),nodeClick:ue(),nodeMouseEnter:ue(),nodeMouseMove:ue(),nodeMouseLeave:ue(),nodeContextMenu:ue(),nodeDragStart:ue(),nodeDrag:ue(),nodeDragStop:ue(),nodesInitialized:ue(),miniMapNodeClick:ue(),miniMapNodeDoubleClick:ue(),miniMapNodeMouseEnter:ue(),miniMapNodeMouseMove:ue(),miniMapNodeMouseLeave:ue(),connect:ue(),connectStart:ue(),connectEnd:ue(),clickConnectStart:ue(),clickConnectEnd:ue(),paneReady:ue(),init:ue(),move:ue(),moveStart:ue(),moveEnd:ue(),selectionDragStart:ue(),selectionDrag:ue(),selectionDragStop:ue(),selectionContextMenu:ue(),selectionStart:ue(),selectionEnd:ue(),viewportChangeStart:ue(),viewportChange:ue(),viewportChangeEnd:ue(),paneScroll:ue(),paneClick:ue(),paneContextMenu:ue(),paneMouseEnter:ue(),paneMouseMove:ue(),paneMouseLeave:ue(),edgeContextMenu:ue(),edgeMouseEnter:ue(),edgeMouseMove:ue(),edgeMouseLeave:ue(),edgeDoubleClick:ue(),edgeClick:ue(),edgeUpdateStart:ue(),edgeUpdate:ue(),edgeUpdateEnd:ue(),updateNodeInternals:ue(),error:ue(e=>Ur(e.message))}}function zN(e,t){n.onBeforeMount(()=>{for(const[o,r]of Object.entries(t.value)){const i=a=>{e(o,a)};r.fns.add(i),pr(()=>{r.off(i)})}})}function _u(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Ta.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:vo.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:un.Bezier,style:{}},connectionMode:Lt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Fr()?"Meta":"Control",zoomActivationKeyCode:Fr()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:GN(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const HN=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function YN(e,t,o){const r=qN(e),i=A=>{const S=A??[];e.hooks.updateNodeInternals.trigger(S)},a=A=>dN(A,e.nodes,e.edges),l=A=>cN(A,e.nodes,e.edges),s=A=>Gd(A,e.edges),c=({id:A,type:S,nodeId:x})=>{var O;return Array.from(((O=e.connectionLookup.get(`${x}-${S}-${A??null}`))==null?void 0:O.values())??[])},d=A=>{if(A)return t.value.get(A)},u=A=>{if(A)return o.value.get(A)},f=(A,S,x)=>{var O,J;const W=[];for(const Q of A){const M={id:Q.id,type:"position",dragging:x,from:Q.from};if(S&&(M.position=Q.position,Q.parentNode)){const Z=d(Q.parentNode);M.position={x:M.position.x-(((O=Z==null?void 0:Z.computedPosition)==null?void 0:O.x)??0),y:M.position.y-(((J=Z==null?void 0:Z.computedPosition)==null?void 0:J.y)??0)}}W.push(M)}W!=null&&W.length&&e.hooks.nodesChange.trigger(W)},p=A=>{if(!e.vueFlowRef)return;const S=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!S)return;const x=window.getComputedStyle(S),{m22:O}=new window.DOMMatrixReadOnly(x.transform),J=[];for(const W of A){const Q=W,M=d(Q.id);if(M){const Z=Mr(Q.nodeElement);if(!!(Z.width&&Z.height&&(M.dimensions.width!==Z.width||M.dimensions.height!==Z.height||Q.forceUpdate))){const le=Q.nodeElement.getBoundingClientRect();M.dimensions=Z,M.handleBounds.source=lu("source",Q.nodeElement,le,O,M.id),M.handleBounds.target=lu("target",Q.nodeElement,le,O,M.id),J.push({id:M.id,type:"dimensions",dimensions:Z})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),J.length&&e.hooks.nodesChange.trigger(J)},m=(A,S)=>{const x=new Set,O=new Set;for(const Q of A)pn(Q)?x.add(Q.id):Ft(Q)&&O.add(Q.id);const J=Ut(t.value,x,!0),W=Ut(o.value,O);if(e.multiSelectionActive){for(const Q of x)J.push(Kt(Q,S));for(const Q of O)W.push(Kt(Q,S))}J.length&&e.hooks.nodesChange.trigger(J),W.length&&e.hooks.edgesChange.trigger(W)},h=A=>{if(e.multiSelectionActive){const S=A.map(x=>Kt(x.id,!0));e.hooks.nodesChange.trigger(S);return}e.hooks.nodesChange.trigger(Ut(t.value,new Set(A.map(S=>S.id)),!0)),e.hooks.edgesChange.trigger(Ut(o.value))},y=A=>{if(e.multiSelectionActive){const S=A.map(x=>Kt(x.id,!0));e.hooks.edgesChange.trigger(S);return}e.hooks.edgesChange.trigger(Ut(o.value,new Set(A.map(S=>S.id)))),e.hooks.nodesChange.trigger(Ut(t.value,new Set,!0))},g=A=>{m(A,!0)},_=A=>{const x=(A||e.nodes).map(O=>(O.selected=!1,Kt(O.id,!1)));e.hooks.nodesChange.trigger(x)},w=A=>{const x=(A||e.edges).map(O=>(O.selected=!1,Kt(O.id,!1)));e.hooks.edgesChange.trigger(x)},b=A=>{if(!A||!A.length)return m([],!1);const S=A.reduce((x,O)=>{const J=Kt(O.id,!1);return pn(O)?x.nodes.push(J):x.edges.push(J),x},{nodes:[],edges:[]});S.nodes.length&&e.hooks.nodesChange.trigger(S.nodes),S.edges.length&&e.hooks.edgesChange.trigger(S.edges)},v=A=>{var S;(S=e.d3Zoom)==null||S.scaleExtent([A,e.maxZoom]),e.minZoom=A},P=A=>{var S;(S=e.d3Zoom)==null||S.scaleExtent([e.minZoom,A]),e.maxZoom=A},k=A=>{var S;(S=e.d3Zoom)==null||S.translateExtent(A),e.translateExtent=A},L=A=>{e.nodeExtent=A,i()},$=A=>{var S;(S=e.d3Zoom)==null||S.clickDistance(A)},I=A=>{e.nodesDraggable=A,e.nodesConnectable=A,e.elementsSelectable=A},Y=A=>{const S=A instanceof Function?A(e.nodes):A;!e.initialized&&!S.length||(e.nodes=su(S,d,e.hooks.error.trigger))},j=A=>{const S=A instanceof Function?A(e.edges):A;if(!e.initialized&&!S.length)return;const x=Fa(S,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);La(e.connectionLookup,o.value,x),e.edges=x},N=A=>{const S=A instanceof Function?A([...e.nodes,...e.edges]):A;!e.initialized&&!S.length||(Y(S.filter(pn)),j(S.filter(Ft)))},C=A=>{let S=A instanceof Function?A(e.nodes):A;S=Array.isArray(S)?S:[S];const x=su(S,d,e.hooks.error.trigger),O=[];for(const J of x)O.push(Xd(J));O.length&&e.hooks.nodesChange.trigger(O)},E=A=>{let S=A instanceof Function?A(e.edges):A;S=Array.isArray(S)?S:[S];const x=Fa(S,e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),O=[];for(const J of x)O.push(Xd(J));O.length&&e.hooks.edgesChange.trigger(O)},D=(A,S=!0,x=!1)=>{const O=A instanceof Function?A(e.nodes):A,J=Array.isArray(O)?O:[O],W=[],Q=[];function M(F){const le=s(F);for(const re of le)(!Ve(re.deletable)||re.deletable)&&Q.push(Qd(re.id,re.source,re.target,re.sourceHandle,re.targetHandle))}function Z(F){const le=[];for(const re of e.nodes)re.parentNode===F&&le.push(re);if(le.length){for(const re of le)W.push(Jd(re.id));S&&M(le);for(const re of le)Z(re.id)}}for(const F of J){const le=typeof F=="string"?d(F):F;le&&(Ve(le.deletable)&&!le.deletable||(W.push(Jd(le.id)),S&&M([le]),x&&Z(le.id)))}Q.length&&e.hooks.edgesChange.trigger(Q),W.length&&e.hooks.nodesChange.trigger(W)},T=A=>{const S=A instanceof Function?A(e.edges):A,x=Array.isArray(S)?S:[S],O=[];for(const J of x){const W=typeof J=="string"?u(J):J;W&&(Ve(W.deletable)&&!W.deletable||O.push(Qd(typeof J=="string"?J:J.id,W.source,W.target,W.sourceHandle,W.targetHandle)))}e.hooks.edgesChange.trigger(O)},G=(A,S,x=!0)=>{const O=u(A.id);if(!O)return!1;const J=e.edges.indexOf(O),W=ON(A,S,O,x,e.hooks.error.trigger);if(W){const[Q]=Fa([W],e.isValidConnection,d,u,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((M,Z)=>Z===J?Q:M),La(e.connectionLookup,o.value,[Q]),Q}return!1},K=(A,S,x={replace:!1})=>{const O=u(A);if(!O)return;const J=typeof S=="function"?S(O):S;O.data=x.replace?J:{...O.data,...J}},B=A=>Zd(A,e.nodes),V=A=>{const S=Zd(A,e.edges);return La(e.connectionLookup,o.value,S),S},z=(A,S,x={replace:!1})=>{const O=d(A);if(!O)return;const J=typeof S=="function"?S(O):S;x.replace?e.nodes.splice(e.nodes.indexOf(O),1,J):Object.assign(O,J)},ae=(A,S,x={replace:!1})=>{const O=d(A);if(!O)return;const J=typeof S=="function"?S(O):S;O.data=x.replace?J:{...O.data,...J}},ce=(A,S,x=!1)=>{x?e.connectionClickStartHandle=A:e.connectionStartHandle=A,e.connectionEndHandle=null,e.connectionStatus=null,S&&(e.connectionPosition=S)},ee=(A,S=null,x=null)=>{e.connectionStartHandle&&(e.connectionPosition=A,e.connectionEndHandle=S,e.connectionStatus=x)},U=(A,S)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,S?e.connectionClickStartHandle=null:e.connectionStartHandle=null},R=A=>{const S=lN(A),x=S?null:So(A)?A:d(A.id);return!S&&!x?[null,null,S]:[S?A:Vr(x),x,S]},q=(A,S=!0,x=e.nodes)=>{const[O,J,W]=R(A);if(!O)return[];const Q=[];for(const M of x||e.nodes){if(!W&&(M.id===J.id||!M.computedPosition))continue;const Z=Vr(M),F=Rr(Z,O);(S&&F>0||F>=Number(O.width)*Number(O.height))&&Q.push(M)}return Q},X=(A,S,x=!0)=>{const[O]=R(A);if(!O)return!1;const J=Rr(O,S);return x&&J>0||J>=Number(O.width)*Number(O.height)},te=A=>{const{viewport:S,dimensions:x,d3Zoom:O,d3Selection:J,translateExtent:W}=e;if(!O||!J||!A.x&&!A.y)return!1;const Q=Mn.translate(S.x+A.x,S.y+A.y).scale(S.zoom),M=[[0,0],[x.width,x.height]],Z=O.constrain()(Q,M,W),F=e.viewport.x!==Z.x||e.viewport.y!==Z.y||e.viewport.zoom!==Z.k;return O.transform(J,Z),F},ne=A=>{const S=A instanceof Function?A(e):A,x=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ve(S.defaultEdgeOptions)&&(e.defaultEdgeOptions=S.defaultEdgeOptions);const O=S.modelValue||S.nodes||S.edges?[]:void 0;O&&(S.modelValue&&O.push(...S.modelValue),S.nodes&&O.push(...S.nodes),S.edges&&O.push(...S.edges),N(O));const J=()=>{Ve(S.maxZoom)&&P(S.maxZoom),Ve(S.minZoom)&&v(S.minZoom),Ve(S.translateExtent)&&k(S.translateExtent)};for(const W of Object.keys(S)){const Q=W,M=S[Q];![...HN,...x].includes(Q)&&Ve(M)&&(e[Q]=M)}sa(()=>e.d3Zoom).not.toBeNull().then(J),e.initialized||(e.initialized=!0)};return{updateNodePositions:f,updateNodeDimensions:p,setElements:N,setNodes:Y,setEdges:j,addNodes:C,addEdges:E,removeNodes:D,removeEdges:T,findNode:d,findEdge:u,updateEdge:G,updateEdgeData:K,updateNode:z,updateNodeData:ae,applyEdgeChanges:V,applyNodeChanges:B,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:y,setMinZoom:v,setMaxZoom:P,setTranslateExtent:k,setNodeExtent:L,setPaneClickDistance:$,removeSelectedElements:b,removeSelectedNodes:_,removeSelectedEdges:w,startConnection:ce,updateConnection:ee,endConnection:U,setInteractive:I,setState:ne,getIntersectingNodes:q,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:X,panBy:te,fitView:A=>r.value.fitView(A),zoomIn:A=>r.value.zoomIn(A),zoomOut:A=>r.value.zoomOut(A),zoomTo:(A,S)=>r.value.zoomTo(A,S),setViewport:(A,S)=>r.value.setViewport(A,S),setTransform:(A,S)=>r.value.setTransform(A,S),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(A,S,x)=>r.value.setCenter(A,S,x),fitBounds:(A,S)=>r.value.fitBounds(A,S),project:A=>r.value.project(A),screenToFlowCoordinate:A=>r.value.screenToFlowCoordinate(A),flowToScreenCoordinate:A=>r.value.flowToScreenCoordinate(A),toObject:()=>{const A=[],S=[];for(const x of e.nodes){const{computedPosition:O,handleBounds:J,selected:W,dimensions:Q,isParent:M,resizing:Z,dragging:F,events:le,...re}=x;A.push(re)}for(const x of e.edges){const{selected:O,sourceNode:J,targetNode:W,events:Q,...M}=x;S.push(M)}return JSON.parse(JSON.stringify({nodes:A,edges:S,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:A=>new Promise(S=>{const{nodes:x,edges:O,position:J,zoom:W,viewport:Q}=A;if(x&&Y(x),O&&j(O),Q!=null&&Q.x&&(Q!=null&&Q.y)||J){const M=(Q==null?void 0:Q.x)||J[0],Z=(Q==null?void 0:Q.y)||J[1],F=(Q==null?void 0:Q.zoom)||W||e.viewport.zoom;return sa(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:M,y:Z,zoom:F}).then(()=>{S(!0)})})}else S(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const A=_u();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const S=Mn.translate(A.defaultViewport.x??0,A.defaultViewport.y??0).scale(fn(A.defaultViewport.zoom??1,A.minZoom,A.maxZoom)),x=e.viewportRef.getBoundingClientRect(),O=[[0,0],[x.width,x.height]],J=e.d3Zoom.constrain()(S,O,A.translateExtent);e.d3Zoom.transform(e.d3Selection,J)}ne(A)},$destroy:()=>{}}}const WN=["data-id","data-handleid","data-nodeid","data-handlepos"],ZN={name:"Handle",compatConfig:{MODE:3}},jt=n.defineComponent({...ZN,props:{id:{default:null},type:{},position:{default:()=>ge.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const o=n.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=n.toRef(()=>o.type??"source"),i=n.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:u,noDragClassName:f,noPanClassName:p}=Ae(),{id:m,node:h,nodeEl:y,connectedEdges:g}=hu(),_=n.ref(),w=n.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=n.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=n.toRef(()=>{var j,N,C,E,D,T;return((j=l.value)==null?void 0:j.nodeId)===m&&((N=l.value)==null?void 0:N.id)===e.id&&((C=l.value)==null?void 0:C.type)===r.value||((E=c.value)==null?void 0:E.nodeId)===m&&((D=c.value)==null?void 0:D.id)===e.id&&((T=c.value)==null?void 0:T.type)===r.value}),P=n.toRef(()=>{var j,N,C;return((j=s.value)==null?void 0:j.nodeId)===m&&((N=s.value)==null?void 0:N.id)===e.id&&((C=s.value)==null?void 0:C.type)===r.value}),{handlePointerDown:k,handleClick:L}=gu({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),$=n.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(j=>{const N=j[`${r.value}Handle`];return j[r.value]!==m?!1:N?N===e.id:!0}):typeof e.connectable=="number"?g.value.filter(j=>{const N=j[`${r.value}Handle`];return j[r.value]!==m?!1:N?N===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):Ve(e.connectable)?e.connectable:u.value);n.onMounted(()=>{var j;if(!h.dimensions.width||!h.dimensions.height)return;const N=(j=h.handleBounds[r.value])==null?void 0:j.find(B=>B.id===e.id);if(!d.value||N)return;const C=d.value.querySelector(".vue-flow__transformationpane");if(!y.value||!_.value||!C||!e.id)return;const E=y.value.getBoundingClientRect(),D=_.value.getBoundingClientRect(),T=window.getComputedStyle(C),{m22:G}=new window.DOMMatrixReadOnly(T.transform),K={id:e.id,position:e.position,x:(D.left-E.left)/G,y:(D.top-E.top)/G,type:r.value,nodeId:m,...Mr(_.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],K]});function I(j){const N=Da(j);$.value&&w.value&&(N&&j.button===0||!N)&&k(j)}function Y(j){!m||!s.value&&!w.value||$.value&&L(j)}return t({handleClick:L,handlePointerDown:k,onClick:Y,onPointerDown:I}),(j,N)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"handle",ref:_,"data-id":`${n.unref(a)}-${n.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":n.unref(m),"data-handlepos":j.position,class:n.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${j.position}`,`vue-flow__handle-${e.id}`,n.unref(f),n.unref(p),r.value,{connectable:$.value,connecting:P.value,connectablestart:w.value,connectableend:b.value,connectionindicator:$.value&&(w.value&&!v.value||b.value&&v.value)}]]),onMousedown:I,onTouchstartPassive:I,onClick:Y},[n.renderSlot(j.$slots,"default",{id:j.id})],42,WN))}}),Gr=function({sourcePosition:e=ge.Bottom,targetPosition:t=ge.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[n.h(jt,{type:"target",position:t,connectable:r,isValidConnection:i}),typeof s!="string"&&s?n.h(s):n.h(n.Fragment,[s]),n.h(jt,{type:"source",position:e,connectable:r,isValidConnection:a})]};Gr.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Gr.inheritAttrs=!1,Gr.compatConfig={MODE:3};const XN=Gr,zr=function({targetPosition:e=ge.Top,label:t,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??t;return[n.h(jt,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?n.h(a):n.h(n.Fragment,[a])]};zr.props=["targetPosition","label","isValidTargetPos","connectable","data"],zr.inheritAttrs=!1,zr.compatConfig={MODE:3};const JN=zr,Hr=function({sourcePosition:e=ge.Bottom,label:t,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??t;return[typeof a!="string"&&a?n.h(a):n.h(n.Fragment,[a]),n.h(jt,{type:"source",position:e,connectable:o,isValidConnection:r})]};Hr.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Hr.inheritAttrs=!1,Hr.compatConfig={MODE:3};const QN=Hr,e1=["transform"],t1=["width","height","x","y","rx","ry"],n1=["y"],o1={name:"EdgeText",compatConfig:{MODE:3}},r1=n.defineComponent({...o1,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=n.ref({x:0,y:0,width:0,height:0}),o=n.ref(null),r=n.computed(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);n.onMounted(i),n.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==t.value.width||a.height!==t.value.height)&&(t.value=a)}return(a,l)=>(n.openBlock(),n.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(n.openBlock(),n.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*a.labelBgPadding[0]}px`,height:`${t.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:n.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,t1)):n.createCommentVNode("",!0),n.createElementVNode("text",n.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:a.labelStyle}),[n.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(a.label),{key:0})):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createTextVNode(n.toDisplayString(a.label),1)],64))])],16,n1)],8,e1))}}),i1=["id","d","marker-end","marker-start"],a1=["d","stroke-width"],l1={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Yr=n.defineComponent({...l1,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const o=n.ref(null),r=n.ref(null),i=n.ref(null),a=n.useAttrs();return t({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("path",n.mergeProps(n.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,i1),l.interactionWidth?(n.openBlock(),n.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,a1)):n.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(n.openBlock(),n.createBlock(r1,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):n.createCommentVNode("",!0)],64))}});function bu({sourceX:e,sourceY:t,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-t)/2,s=r<t?r+l:r-l;return[a,s,i,l]}function wu({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=t*.125+a*.375+s*.375+r*.125,u=Math.abs(c-e),f=Math.abs(d-t);return[c,d,u,f]}function Wr(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Eu({pos:e,x1:t,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case ge.Left:l=t-Wr(t-r,a),s=o;break;case ge.Right:l=t+Wr(r-t,a),s=o;break;case ge.Top:l=t,s=o-Wr(o-i,a);break;case ge.Bottom:l=t,s=o+Wr(i-o,a);break}return[l,s]}function ku(e){const{sourceX:t,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top,curvature:s=.25}=e,[c,d]=Eu({pos:r,x1:t,y1:o,x2:i,y2:a,c:s}),[u,f]=Eu({pos:l,x1:i,y1:a,x2:t,y2:o,c:s}),[p,m,h,y]=wu({sourceX:t,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:u,targetControlY:f});return[`M${t},${o} C${c},${d} ${u},${f} ${i},${a}`,p,m,h,y]}function Cu({pos:e,x1:t,y1:o,x2:r,y2:i}){let a,l;switch(e){case ge.Left:case ge.Right:a=.5*(t+r),l=o;break;case ge.Top:case ge.Bottom:a=t,l=.5*(o+i);break}return[a,l]}function vu(e){const{sourceX:t,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top}=e,[s,c]=Cu({pos:r,x1:t,y1:o,x2:i,y2:a}),[d,u]=Cu({pos:l,x1:i,y1:a,x2:t,y2:o}),[f,p,m,h]=wu({sourceX:t,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:u});return[`M${t},${o} C${s},${c} ${d},${u} ${i},${a}`,f,p,m,h]}const Nu={[ge.Left]:{x:-1,y:0},[ge.Right]:{x:1,y:0},[ge.Top]:{x:0,y:-1},[ge.Bottom]:{x:0,y:1}};function s1({source:e,sourcePosition:t=ge.Bottom,target:o}){return t===ge.Left||t===ge.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function Su(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}function c1({source:e,sourcePosition:t=ge.Bottom,target:o,targetPosition:r=ge.Top,center:i,offset:a}){const l=Nu[t],s=Nu[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},u=s1({source:c,sourcePosition:t,target:d}),f=u.x!==0?"x":"y",p=u[f];let m,h,y;const g={x:0,y:0},_={x:0,y:0},[w,b,v,P]=bu({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[f]*s[f]===-1){h=i.x??w,y=i.y??b;const L=[{x:h,y:c.y},{x:h,y:d.y}],$=[{x:c.x,y},{x:d.x,y}];l[f]===p?m=f==="x"?L:$:m=f==="x"?$:L}else{const L=[{x:c.x,y:d.y}],$=[{x:d.x,y:c.y}];if(f==="x"?m=l.x===p?$:L:m=l.y===p?L:$,t===r){const C=Math.abs(e[f]-o[f]);if(C<=a){const E=Math.min(a-1,a-C);l[f]===p?g[f]=(c[f]>e[f]?-1:1)*E:_[f]=(d[f]>o[f]?-1:1)*E}}if(t!==r){const C=f==="x"?"y":"x",E=l[f]===s[C],D=c[C]>d[C],T=c[C]<d[C];(l[f]===1&&(!E&&D||E&&T)||l[f]!==1&&(!E&&T||E&&D))&&(m=f==="x"?L:$)}const I={x:c.x+g.x,y:c.y+g.y},Y={x:d.x+_.x,y:d.y+_.y},j=Math.max(Math.abs(I.x-m[0].x),Math.abs(Y.x-m[0].x)),N=Math.max(Math.abs(I.y-m[0].y),Math.abs(Y.y-m[0].y));j>=N?(h=(I.x+Y.x)/2,y=m[0].y):(h=m[0].x,y=(I.y+Y.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+_.x,y:d.y+_.y},o],h,y,v,P]}function d1(e,t,o,r){const i=Math.min(Su(e,t)/2,Su(t,o)/2,r),{x:a,y:l}=t;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,u=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*u}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function qa(e){const{sourceX:t,sourceY:o,sourcePosition:r=ge.Bottom,targetX:i,targetY:a,targetPosition:l=ge.Top,borderRadius:s=5,centerX:c,centerY:d,offset:u=20}=e,[f,p,m,h,y]=c1({source:{x:t,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:u});return[f.reduce((_,w,b)=>{let v;return b>0&&b<f.length-1?v=d1(f[b-1],w,f[b+1],s):v=`${b===0?"M":"L"}${w.x} ${w.y}`,_+=v,_},""),p,m,h,y]}function u1(e){const{sourceX:t,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=bu({sourceX:t,sourceY:o,targetX:r,targetY:i});return[`M ${t},${o}L ${r},${i}`,a,l,s,c]}const f1=n.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[o,r,i]=u1(e);return n.h(Yr,{path:o,labelX:r,labelY:i,...t,...e})}}}),xu=n.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[o,r,i]=qa({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return n.h(Yr,{path:o,labelX:r,labelY:i,...t,...e})}}}),p1=n.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>n.h(xu,{...e,...t,borderRadius:0})}}),m1=n.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[o,r,i]=ku({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return n.h(Yr,{path:o,labelX:r,labelY:i,...t,...e})}}}),g1=n.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[o,r,i]=vu({...e,sourcePosition:e.sourcePosition??ge.Bottom,targetPosition:e.targetPosition??ge.Top});return n.h(Yr,{path:o,labelX:r,labelY:i,...t,...e})}}}),h1={input:QN,default:XN,output:JN},y1={default:m1,straight:f1,step:p1,smoothstep:xu,simplebezier:g1};function _1(e,t,o){const r=n.computed(()=>y=>t.value.get(y)),i=n.computed(()=>y=>o.value.get(y)),a=n.computed(()=>{const y={...y1,...e.edgeTypes},g=Object.keys(y);for(const _ of e.edges)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),l=n.computed(()=>{const y={...h1,...e.nodeTypes},g=Object.keys(y);for(const _ of e.nodes)_.type&&!g.includes(_.type)&&(y[_.type]=_.type);return y}),s=n.computed(()=>e.onlyRenderVisibleElements?jd(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=n.computed(()=>{if(e.onlyRenderVisibleElements){const y=[];for(const g of e.edges){const _=t.value.get(g.source),w=t.value.get(g.target);bN({sourcePos:_.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:_.dimensions.width,sourceHeight:_.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&y.push(g)}return y}return e.edges}),d=n.computed(()=>[...s.value,...c.value]),u=n.computed(()=>{const y=[];for(const g of e.nodes)g.selected&&y.push(g);return y}),f=n.computed(()=>{const y=[];for(const g of e.edges)g.selected&&y.push(g);return y}),p=n.computed(()=>[...u.value,...f.value]),m=n.computed(()=>{const y=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&y.push(g);return y}),h=n.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:u,getSelectedEdges:f,getNodesInitialized:m,areNodesInitialized:h}}class mn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var t;const o=(t=n.getCurrentInstance())==null?void 0:t.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??mn.instance;return mn.instance=r??new mn,o&&(o.config.globalProperties.$vueFlowStorage=mn.instance),mn.instance}set(t,o){return this.flows.set(t,o)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,o){const r=_u(),i=n.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=n.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=n.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),d=_1(i,s,c),u=YN(i,s,c);u.setState({...i,...o});const f={...a,...d,...u,...hE(i),nodeLookup:s,edgeLookup:c,emits:l,id:t,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(t)}};return this.set(t,f),f}getId(){return`vue-flow-${this.currentId++}`}}function Ae(e){const t=mn.getInstance(),o=n.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=n.inject(uu,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=t.get(l)),!s||l&&s.id!==l){const c=a??t.getId(),d=t.create(c,i);s=d,(o??n.effectScope(!0)).run(()=>{n.watch(d.applyDefault,(f,p,m)=>{const h=g=>{d.applyNodeChanges(g)},y=g=>{d.applyEdgeChanges(g)};f?(d.onNodesChange(h),d.onEdgesChange(y)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(y)})},{immediate:!0}),pr(()=>{if(s){const f=t.get(s.id);f?f.$destroy():Ur(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(n.provide(uu,s),o.vueFlowId=s.id),r){const c=n.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Ue(De.USEVUEFLOW_OPTIONS))}return s}function b1(e){const{emits:t,dimensions:o}=Ae();let r;n.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=Mr(i);(l.width===0||l.height===0)&&t.error(new Ue(De.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),n.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const w1={name:"UserSelection",compatConfig:{MODE:3}},E1=n.defineComponent({...w1,props:{userSelectionRect:{}},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:n.normalizeStyle({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}}),k1=["tabIndex"],C1={name:"NodesSelection",compatConfig:{MODE:3}},v1=n.defineComponent({...C1,setup(e){const{emits:t,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=Ae(),s=yu(),c=n.ref(null),d=mu({el:c,onStart(h){t.selectionDragStart(h)},onDrag(h){t.selectionDrag(h)},onStop(h){t.selectionDragStop(h)}});n.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const u=n.computed(()=>qd(r.value)),f=n.computed(()=>({width:`${u.value.width}px`,height:`${u.value.height}px`,top:`${u.value.y}px`,left:`${u.value.x}px`}));function p(h){t.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||Ln[h.key]&&(h.preventDefault(),s({x:Ln[h.key].x,y:Ln[h.key].y},h.shiftKey))}return(h,y)=>!n.unref(l)&&u.value.width&&u.value.height?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["vue-flow__nodesselection vue-flow__container",n.unref(i)]),style:n.normalizeStyle({transform:`translate(${n.unref(o).x}px,${n.unref(o).y}px) scale(${n.unref(o).zoom})`})},[n.createElementVNode("div",{ref_key:"el",ref:c,class:n.normalizeClass([{dragging:n.unref(d)},"vue-flow__nodesselection-rect"]),style:n.normalizeStyle(f.value),tabIndex:n.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,k1)],6)):n.createCommentVNode("",!0)}});function N1(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const S1={name:"Pane",compatConfig:{MODE:3}},x1=n.defineComponent({...S1,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:u,getSelectedNodes:f,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:y,multiSelectionKeyCode:g,multiSelectionActive:_,edgeLookup:w,nodeLookup:b,connectionLookup:v,defaultEdgeOptions:P,connectionStartHandle:k}=Ae(),L=n.ref(null),$=n.ref(new Set),I=n.ref(new Set),Y=n.ref(),j=n.toRef(()=>c.value&&(e.isSelecting||a.value)),N=n.toRef(()=>k.value!==null);let C=!1,E=!1;const D=No(y,{actInsideInputWithModifier:!1}),T=No(g);n.watch(D,ee=>{ee&&(p(f.value),m(u.value),d.value=!1)}),n.watch(T,ee=>{_.value=ee});function G(ee,U){return R=>{R.target===U&&(ee==null||ee(R))}}function K(ee){if(C||N.value){C=!1;return}i.paneClick(ee),l(),d.value=!1}function B(ee){ee.preventDefault(),ee.stopPropagation(),i.paneContextMenu(ee)}function V(ee){i.paneScroll(ee)}function z(ee){var U,R,q;if(Y.value=(U=t.value)==null?void 0:U.getBoundingClientRect(),!c.value||!e.isSelecting||ee.button!==0||ee.target!==L.value||!Y.value)return;(q=(R=ee.target)==null?void 0:R.setPointerCapture)==null||q.call(R,ee.pointerId);const{x:X,y:te}=N1(ee,Y.value);E=!0,C=!1,l(),s.value={width:0,height:0,startX:X,startY:te,x:X,y:te},i.selectionStart(ee)}function ae(ee){var U;if(!Y.value||!s.value)return;C=!0;const{x:R,y:q}=vt(ee,Y.value),{startX:X=0,startY:te=0}=s.value,ne={startX:X,startY:te,x:R<X?R:X,y:q<te?q:te,width:Math.abs(R-X),height:Math.abs(q-te)},oe=$.value,fe=I.value;$.value=new Set(jd(o.value,ne,r.value,h.value===Ta.Partial,!0).map(A=>A.id)),I.value=new Set;const pe=((U=P.value)==null?void 0:U.selectable)??!0;for(const A of $.value){const S=v.value.get(A);if(S)for(const{edgeId:x}of S.values()){const O=w.value.get(x);O&&(O.selectable??pe)&&I.value.add(x)}}if(!du(oe,$.value)){const A=Ut(b.value,$.value,!0);i.nodesChange(A)}if(!du(fe,I.value)){const A=Ut(w.value,I.value);i.edgesChange(A)}s.value=ne,a.value=!0,d.value=!1}function ce(ee){var U;ee.button!==0||!E||((U=ee.target)==null||U.releasePointerCapture(ee.pointerId),!a.value&&s.value&&ee.target===L.value&&K(ee),a.value=!1,s.value=null,d.value=$.value.size>0,i.selectionEnd(ee),e.selectionKeyPressed&&(C=!1),E=!1)}return(ee,U)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"container",ref:L,class:n.normalizeClass(["vue-flow__pane vue-flow__container",{selection:ee.isSelecting}]),onClick:U[0]||(U[0]=R=>j.value?void 0:G(K,L.value)(R)),onContextmenu:U[1]||(U[1]=R=>G(B,L.value)(R)),onWheelPassive:U[2]||(U[2]=R=>G(V,L.value)(R)),onPointerenter:U[3]||(U[3]=R=>j.value?void 0:n.unref(i).paneMouseEnter(R)),onPointerdown:U[4]||(U[4]=R=>j.value?z(R):n.unref(i).paneMouseMove(R)),onPointermove:U[5]||(U[5]=R=>j.value?ae(R):n.unref(i).paneMouseMove(R)),onPointerup:U[6]||(U[6]=R=>j.value?ce(R):void 0),onPointerleave:U[7]||(U[7]=R=>n.unref(i).paneMouseLeave(R))},[n.renderSlot(ee.$slots,"default"),n.unref(a)&&n.unref(s)?(n.openBlock(),n.createBlock(E1,{key:0,"user-selection-rect":n.unref(s)},null,8,["user-selection-rect"])):n.createCommentVNode("",!0),n.unref(d)&&n.unref(f).length?(n.openBlock(),n.createBlock(v1,{key:1})):n.createCommentVNode("",!0)],34))}}),A1={name:"Transform",compatConfig:{MODE:3}},T1=n.defineComponent({...A1,setup(e){const{viewport:t,fitViewOnInit:o,fitViewOnInitDone:r}=Ae(),i=n.computed(()=>o.value?!r.value:!1),a=n.computed(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(l,s)=>(n.openBlock(),n.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:n.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[n.renderSlot(l.$slots,"default")],4))}}),P1={name:"Viewport",compatConfig:{MODE:3}},I1=n.defineComponent({...P1,setup(e){const{minZoom:t,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:u,panOnDrag:f,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:y,noWheelClassName:g,noPanClassName:_,emits:w,connectionStartHandle:b,userSelectionActive:v,paneDragging:P,d3Zoom:k,d3Selection:L,d3ZoomHandler:$,viewport:I,viewportRef:Y,paneClickDistance:j}=Ae();b1(Y);const N=n.shallowRef(!1),C=n.shallowRef(!1);let E=null,D=!1,T=0,G={x:0,y:0,zoom:0};const K=No(s),B=No(l),V=No(a),z=n.toRef(()=>(!B.value||B.value&&l.value===!0)&&(K.value||f.value)),ae=n.toRef(()=>K.value||c.value),ce=n.toRef(()=>B.value||l.value===!0&&z.value!==!0);n.onMounted(()=>{if(!Y.value){Ur("Viewport element is missing");return}const te=Y.value,ne=te.getBoundingClientRect(),oe=eN().clickDistance(j.value).scaleExtent([t.value,o.value]).translateExtent(i.value),fe=dt(te).call(oe),pe=fe.on("wheel.zoom"),A=Mn.translate(r.value.x??0,r.value.y??0).scale(fn(r.value.zoom??1,t.value,o.value)),S=[[0,0],[ne.width,ne.height]],x=oe.constrain()(A,S,i.value);oe.transform(fe,x),oe.wheelDelta(U),k.value=oe,L.value=fe,$.value=pe,I.value={x:x.x,y:x.y,zoom:x.k},oe.on("start",O=>{var J;if(!O.sourceEvent)return null;T=O.sourceEvent.button,N.value=!0;const W=q(O.transform);((J=O.sourceEvent)==null?void 0:J.type)==="mousedown"&&(P.value=!0),G=W,w.viewportChangeStart(W),w.moveStart({event:O,flowTransform:W})}),oe.on("end",O=>{if(!O.sourceEvent)return null;if(N.value=!1,P.value=!1,ee(z.value,T??0)&&!D&&w.paneContextMenu(O.sourceEvent),D=!1,R(G,O.transform)){const J=q(O.transform);G=J,w.viewportChangeEnd(J),w.moveEnd({event:O,flowTransform:J})}}),oe.filter(O=>{var J;const W=V.value||h.value,Q=m.value&&O.ctrlKey,M=O.button;if(M===1&&O.type==="mousedown"&&(X(O,"vue-flow__node")||X(O,"vue-flow__edge")))return!0;if(!z.value&&!W&&!ae.value&&!p.value&&!m.value||v.value||!p.value&&O.type==="dblclick"||X(O,g.value)&&O.type==="wheel"||X(O,_.value)&&(O.type!=="wheel"||ae.value&&O.type==="wheel"&&!V.value)||!m.value&&O.ctrlKey&&O.type==="wheel"||!W&&!ae.value&&!Q&&O.type==="wheel")return!1;if(!m&&O.type==="touchstart"&&((J=O.touches)==null?void 0:J.length)>1)return O.preventDefault(),!1;if(!z.value&&(O.type==="mousedown"||O.type==="touchstart")||l.value===!0&&Array.isArray(f.value)&&f.value.includes(0)&&M===0||Array.isArray(f.value)&&!f.value.includes(M)&&(O.type==="mousedown"||O.type==="touchstart"))return!1;const Z=Array.isArray(f.value)&&f.value.includes(M)||l.value===!0&&Array.isArray(f.value)&&!f.value.includes(0)||!M||M<=1;return(!O.ctrlKey||K.value||O.type==="wheel")&&Z}),n.watch([v,z],()=>{v.value&&!N.value?oe.on("zoom",null):v.value||oe.on("zoom",O=>{I.value={x:O.transform.x,y:O.transform.y,zoom:O.transform.k};const J=q(O.transform);D=ee(z.value,T??0),w.viewportChange(J),w.move({event:O,flowTransform:J})})},{immediate:!0}),n.watch([v,ae,d,V,m,y,g],()=>{ae.value&&!V.value&&!v.value?fe.on("wheel.zoom",O=>{if(X(O,g.value))return!1;const J=V.value||h.value,W=m.value&&O.ctrlKey;if(!(!y.value||ae.value||J||W))return!1;O.preventDefault(),O.stopImmediatePropagation();const M=fe.property("__zoom").k||1,Z=Fr();if(!K.value&&O.ctrlKey&&m.value&&Z){const me=wt(O),be=U(O),Ce=M*2**be;oe.scaleTo(fe,Ce,me,O);return}const F=O.deltaMode===1?20:1;let le=d.value===vo.Vertical?0:O.deltaX*F,re=d.value===vo.Horizontal?0:O.deltaY*F;!Z&&O.shiftKey&&d.value!==vo.Vertical&&!le&&re&&(le=re,re=0),oe.translateBy(fe,-(le/M)*u.value,-(re/M)*u.value);const _e=q(fe.property("__zoom"));E&&clearTimeout(E),C.value?(w.move({event:O,flowTransform:_e}),w.viewportChange(_e),E=setTimeout(()=>{w.moveEnd({event:O,flowTransform:_e}),w.viewportChangeEnd(_e),C.value=!1},150)):(C.value=!0,w.moveStart({event:O,flowTransform:_e}),w.viewportChangeStart(_e))},{passive:!1}):typeof pe<"u"&&fe.on("wheel.zoom",function(O,J){const W=!y.value&&O.type==="wheel"&&!O.ctrlKey,Q=V.value||h.value,M=m.value&&O.ctrlKey;if(!Q&&!c.value&&!M&&O.type==="wheel"||W||X(O,g.value))return null;O.preventDefault(),pe.call(this,O,J)},{passive:!1})},{immediate:!0})});function ee(te,ne){return ne===2&&Array.isArray(te)&&te.includes(2)}function U(te){const ne=te.ctrlKey&&Fr()?10:1;return-te.deltaY*(te.deltaMode===1?.05:te.deltaMode?1:.002)*ne}function R(te,ne){return te.x!==ne.x&&!Number.isNaN(ne.x)||te.y!==ne.y&&!Number.isNaN(ne.y)||te.zoom!==ne.k&&!Number.isNaN(ne.k)}function q(te){return{x:te.x,y:te.y,zoom:te.k}}function X(te,ne){return te.target.closest(`.${ne}`)}return(te,ne)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"viewportRef",ref:Y,class:"vue-flow__viewport vue-flow__container"},[n.createVNode(x1,{"is-selecting":ce.value,"selection-key-pressed":n.unref(B),class:n.normalizeClass({connecting:!!n.unref(b),dragging:n.unref(P),draggable:n.unref(f)===!0||Array.isArray(n.unref(f))&&n.unref(f).includes(0)})},{default:n.withCtx(()=>[n.createVNode(T1,null,{default:n.withCtx(()=>[n.renderSlot(te.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),O1=["id"],$1=["id"],B1=["id"],D1={name:"A11yDescriptions",compatConfig:{MODE:3}},V1=n.defineComponent({...D1,setup(e){const{id:t,disableKeyboardA11y:o,ariaLiveMessage:r}=Ae();return(i,a)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("div",{id:`${n.unref(Bd)}-${n.unref(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+n.toDisplayString(n.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,O1),n.createElementVNode("div",{id:`${n.unref(Dd)}-${n.unref(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,$1),n.unref(o)?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",{key:0,id:`${n.unref(aN)}-${n.unref(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},n.toDisplayString(n.unref(r)),9,B1))],64))}});function R1(){const e=Ae();n.watch(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function M1(e,t,o){return o===ge.Left?e-t:o===ge.Right?e+t:e}function L1(e,t,o){return o===ge.Top?e-t:o===ge.Bottom?e+t:e}const ja=function({radius:e=10,centerX:t=0,centerY:o=0,position:r=ge.Top,type:i}){return n.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:M1(t,e,r),cy:L1(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};ja.props=["radius","centerX","centerY","position","type"],ja.compatConfig={MODE:3};const Au=ja,F1=n.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:u,findNode:f,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:y,edgesUpdatable:g,edgesFocusable:_,hooks:w}=Ae(),b=n.computed(()=>u(e.id)),{emit:v,on:P}=VN(b.value,a),k=n.inject(qr),L=n.getCurrentInstance(),$=n.ref(!1),I=n.ref(!1),Y=n.ref(""),j=n.ref(null),N=n.ref("source"),C=n.ref(null),E=n.toRef(()=>typeof b.value.selectable>"u"?y.value:b.value.selectable),D=n.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),T=n.toRef(()=>typeof b.value.focusable>"u"?_.value:b.value.focusable);n.provide($N,e.id),n.provide(BN,C);const G=n.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),K=n.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),B=n.computed(()=>{const S=b.value.type||"default",x=k==null?void 0:k[`edge-${S}`];if(x)return x;let O=b.value.template??c.value[S];if(typeof O=="string"&&L){const J=Object.keys(L.appContext.components);J&&J.includes(S)&&(O=n.resolveComponent(S,!1))}return O&&typeof O!="string"?O:(a.error(new Ue(De.EDGE_TYPE_MISSING,O)),!1)}),{handlePointerDown:V}=gu({nodeId:Y,handleId:j,type:N,isValidConnection:p,edgeUpdaterType:N,onEdgeUpdate:ce,onEdgeUpdateEnd:ee});return()=>{const S=f(b.value.source),x=f(b.value.target),O="pathOptions"in b.value?b.value.pathOptions:{};if(!S&&!x)return a.error(new Ue(De.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!S)return a.error(new Ue(De.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!x)return a.error(new Ue(De.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||S.hidden||x.hidden)return null;let J;r.value===Lt.Strict?J=S.handleBounds.source:J=[...S.handleBounds.source||[],...S.handleBounds.target||[]];const W=nu(J,b.value.sourceHandle);let Q;r.value===Lt.Strict?Q=x.handleBounds.target:Q=[...x.handleBounds.target||[],...x.handleBounds.source||[]];const M=nu(Q,b.value.targetHandle),Z=(W==null?void 0:W.position)||ge.Bottom,F=(M==null?void 0:M.position)||ge.Top,{x:le,y:re}=Fn(S,W,Z),{x:_e,y:me}=Fn(x,M,F);return b.value.sourceX=le,b.value.sourceY=re,b.value.targetX=_e,b.value.targetY=me,n.h("g",{ref:C,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${B.value===!1?"default":b.value.type||"default"}`,s.value,G.value,{updating:$.value,selected:b.value.selected,animated:b.value.animated,inactive:!E.value&&!w.value.edgeClick.hasListeners()}],tabIndex:T.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":T.value?`${Dd}-${t}`:void 0,"aria-roledescription":"edge",role:T.value?"group":"img",...b.value.domAttributes,onClick:R,onContextmenu:q,onDblclick:X,onMouseenter:te,onMousemove:ne,onMouseleave:oe,onKeyDown:T.value?A:void 0},[I.value?null:n.h(B.value===!1?c.value.default:B.value,{id:e.id,sourceNode:S,targetNode:x,source:b.value.source,target:b.value.target,type:b.value.type,updatable:D.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...P},style:K.value,markerStart:`url('#${Ao(b.value.markerStart,t)}')`,markerEnd:`url('#${Ao(b.value.markerEnd,t)}')`,sourcePosition:Z,targetPosition:F,sourceX:le,sourceY:re,targetX:_e,targetY:me,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...O}),[D.value==="source"||D.value===!0?[n.h("g",{onMousedown:fe,onMouseenter:z,onMouseout:ae},n.h(Au,{position:Z,centerX:le,centerY:re,radius:i.value,type:"source","data-type":"source"}))]:null,D.value==="target"||D.value===!0?[n.h("g",{onMousedown:pe,onMouseenter:z,onMouseout:ae},n.h(Au,{position:F,centerX:_e,centerY:me,radius:i.value,type:"target","data-type":"target"}))]:null]])};function z(){$.value=!0}function ae(){$.value=!1}function ce(S,x){v.update({event:S,edge:b.value,connection:x})}function ee(S){v.updateEnd({event:S,edge:b.value}),I.value=!1}function U(S,x){S.button===0&&(I.value=!0,Y.value=x?b.value.target:b.value.source,j.value=(x?b.value.targetHandle:b.value.sourceHandle)??null,N.value=x?"target":"source",v.updateStart({event:S,edge:b.value}),V(S))}function R(S){var x;const O={event:S,edge:b.value};E.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(x=C.value)==null||x.blur()):o([b.value])),v.click(O)}function q(S){v.contextMenu({event:S,edge:b.value})}function X(S){v.doubleClick({event:S,edge:b.value})}function te(S){v.mouseEnter({event:S,edge:b.value})}function ne(S){v.mouseMove({event:S,edge:b.value})}function oe(S){v.mouseLeave({event:S,edge:b.value})}function fe(S){U(S,!0)}function pe(S){U(S,!1)}function A(S){var x;!h.value&&Vd.includes(S.key)&&E.value&&(S.key==="Escape"?((x=C.value)==null||x.blur(),d([u(e.id)])):o([u(e.id)]))}}}),K1=n.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:u,findNode:f}=Ae(),p=(e=n.inject(qr))==null?void 0:e["connection-line"],m=n.computed(()=>{var w;return f((w=r.value)==null?void 0:w.nodeId)}),h=n.computed(()=>{var w;return f((w=i.value)==null?void 0:w.nodeId)??null}),y=n.computed(()=>({x:(a.value.x-u.value.x)/u.value.zoom,y:(a.value.y-u.value.y)/u.value.zoom})),g=n.computed(()=>c.value.markerStart?`url(#${Ao(c.value.markerStart,t)})`:""),_=n.computed(()=>c.value.markerEnd?`url(#${Ao(c.value.markerEnd,t)})`:"");return()=>{var w,b,v;if(!m.value||!r.value)return null;const P=r.value.id,k=r.value.type,L=m.value.handleBounds;let $=(L==null?void 0:L[k])??[];if(o.value===Lt.Loose){const K=(L==null?void 0:L[k==="source"?"target":"source"])??[];$=[...$,...K]}if(!$)return null;const I=(P?$.find(K=>K.id===P):$[0])??null,Y=(I==null?void 0:I.position)??ge.Top,{x:j,y:N}=Fn(m.value,I,Y);let C=null;h.value&&(o.value===Lt.Strict?C=((w=h.value.handleBounds[k==="source"?"target":"source"])==null?void 0:w.find(K=>{var B;return K.id===((B=i.value)==null?void 0:B.id)}))||null:C=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(K=>{var B;return K.id===((B=i.value)==null?void 0:B.id)}))||null);const E=((v=i.value)==null?void 0:v.position)??(Y?Ra[Y]:null);if(!Y||!E)return null;const D=l.value??c.value.type??un.Bezier;let T="";const G={sourceX:j,sourceY:N,sourcePosition:Y,targetX:y.value.x,targetY:y.value.y,targetPosition:E};return D===un.Bezier?[T]=ku(G):D===un.Step?[T]=qa({...G,borderRadius:0}):D===un.SmoothStep?[T]=qa(G):D===un.SimpleBezier?[T]=vu(G):T=`M${j},${N} ${y.value.x},${y.value.y}`,n.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},n.h("g",{class:"vue-flow__connection"},p?n.h(p,{sourceX:j,sourceY:N,sourcePosition:Y,targetX:y.value.x,targetY:y.value.y,targetPosition:E,sourceNode:m.value,sourceHandle:I,targetNode:h.value,targetHandle:C,markerEnd:_.value,markerStart:g.value,connectionStatus:d.value}):n.h("path",{d:T,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":_.value,"marker-start":g.value})))}}}),U1=["id","markerWidth","markerHeight","markerUnits","orient"],q1={name:"MarkerType",compatConfig:{MODE:3}},j1=n.defineComponent({...q1,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,o)=>(n.openBlock(),n.createElementBlock("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===n.unref(Dr).ArrowClosed?(n.openBlock(),n.createElementBlock("polyline",{key:0,style:n.normalizeStyle({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):n.createCommentVNode("",!0),t.type===n.unref(Dr).Arrow?(n.openBlock(),n.createElementBlock("polyline",{key:1,style:n.normalizeStyle({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):n.createCommentVNode("",!0)],8,U1))}}),G1={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},z1={name:"MarkerDefinitions",compatConfig:{MODE:3}},H1=n.defineComponent({...z1,setup(e){const{id:t,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=Ae(),a=n.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const u=Ao(d,t);l.has(u)||(typeof d=="object"?s.push({...d,id:u,color:d.color||i.value}):s.push({id:u,color:i.value,type:d}),l.add(u))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const u of[d.markerStart,d.markerEnd])c(u);return s.sort((d,u)=>d.id.localeCompare(u.id))});return(l,s)=>(n.openBlock(),n.createElementBlock("svg",G1,[n.createElementVNode("defs",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.value,c=>(n.openBlock(),n.createBlock(j1,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),Y1={name:"Edges",compatConfig:{MODE:3}},W1=n.defineComponent({...Y1,setup(e){const{findNode:t,getEdges:o,elevateEdgesOnSelect:r}=Ae();return(i,a)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(H1),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(o),l=>(n.openBlock(),n.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:n.normalizeStyle({zIndex:n.unref(wN)(l,n.unref(t),n.unref(r))})},[n.createVNode(n.unref(F1),{id:l.id},null,8,["id"])],4))),128)),n.createVNode(n.unref(K1))],64))}}),Z1=n.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:u,getNodeTypes:f,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:y,snapToGrid:g,snapGrid:_,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:v,nodesConnectable:P,nodesFocusable:k,hooks:L}=Ae(),$=n.ref(null);n.provide(pu,$),n.provide(fu,e.id);const I=n.inject(qr),Y=n.getCurrentInstance(),j=yu(),{node:N,parentNode:C}=hu(e.id),{emit:E,on:D}=FN(N,l),T=n.toRef(()=>typeof N.draggable>"u"?b.value:N.draggable),G=n.toRef(()=>typeof N.selectable>"u"?v.value:N.selectable),K=n.toRef(()=>typeof N.connectable>"u"?P.value:N.connectable),B=n.toRef(()=>typeof N.focusable>"u"?k.value:N.focusable),V=n.computed(()=>G.value||T.value||L.value.nodeClick.hasListeners()||L.value.nodeDoubleClick.hasListeners()||L.value.nodeMouseEnter.hasListeners()||L.value.nodeMouseMove.hasListeners()||L.value.nodeMouseLeave.hasListeners()),z=n.toRef(()=>!!N.dimensions.width&&!!N.dimensions.height),ae=n.computed(()=>{const x=N.type||"default",O=I==null?void 0:I[`node-${x}`];if(O)return O;let J=N.template||f.value[x];if(typeof J=="string"&&Y){const W=Object.keys(Y.appContext.components);W&&W.includes(x)&&(J=n.resolveComponent(x,!1))}return J&&typeof J!="string"?J:(l.error(new Ue(De.NODE_TYPE_MISSING,J)),!1)}),ce=mu({id:e.id,el:$,disabled:()=>!T.value,selectable:G,dragHandle:()=>N.dragHandle,onStart(x){E.dragStart(x)},onDrag(x){E.drag(x)},onStop(x){E.dragStop(x)},onClick(x){A(x)}}),ee=n.computed(()=>N.class instanceof Function?N.class(N):N.class),U=n.computed(()=>{const x=(N.style instanceof Function?N.style(N):N.style)||{},O=N.width instanceof Function?N.width(N):N.width,J=N.height instanceof Function?N.height(N):N.height;return!x.width&&O&&(x.width=typeof O=="string"?O:`${O}px`),!x.height&&J&&(x.height=typeof J=="string"?J:`${J}px`),x}),R=n.toRef(()=>Number(N.zIndex??U.value.zIndex??0));return u(x=>{(x.includes(e.id)||!x.length)&&X()}),n.onMounted(()=>{n.watch(()=>N.hidden,(x=!1,O,J)=>{!x&&$.value&&(e.resizeObserver.observe($.value),J(()=>{$.value&&e.resizeObserver.unobserve($.value)}))},{immediate:!0,flush:"post"})}),n.watch([()=>N.type,()=>N.sourcePosition,()=>N.targetPosition],()=>{n.nextTick(()=>{d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])})}),n.watch([()=>N.position.x,()=>N.position.y,()=>{var x;return(x=C.value)==null?void 0:x.computedPosition.x},()=>{var x;return(x=C.value)==null?void 0:x.computedPosition.y},()=>{var x;return(x=C.value)==null?void 0:x.computedPosition.z},R,()=>N.selected,()=>N.dimensions.height,()=>N.dimensions.width,()=>{var x;return(x=C.value)==null?void 0:x.dimensions.height},()=>{var x;return(x=C.value)==null?void 0:x.dimensions.width}],([x,O,J,W,Q,M])=>{const Z={x,y:O,z:M+(m.value&&N.selected?1e3:0)};typeof J<"u"&&typeof W<"u"?N.computedPosition=mN({x:J,y:W,z:Q},Z):N.computedPosition=Z},{flush:"post",immediate:!0}),n.watch([()=>N.extent,p],([x,O],[J,W])=>{(x!==J||O!==W)&&q()}),N.extent==="parent"||typeof N.extent=="object"&&"range"in N.extent&&N.extent.range==="parent"?sa(()=>z).toBe(!0).then(q):q(),()=>N.hidden?null:n.h("div",{ref:$,"data-id":N.id,class:["vue-flow__node",`vue-flow__node-${ae.value===!1?"default":N.type||"default"}`,{[o.value]:T.value,dragging:ce==null?void 0:ce.value,draggable:T.value,selected:N.selected,selectable:G.value,parent:N.isParent},ee.value],style:{visibility:z.value?"visible":"hidden",zIndex:N.computedPosition.z??R.value,transform:`translate(${N.computedPosition.x}px,${N.computedPosition.y}px)`,pointerEvents:V.value?"all":"none",...U.value},tabIndex:B.value?0:void 0,role:B.value?"group":void 0,"aria-describedby":h.value?void 0:`${Bd}-${t}`,"aria-label":N.ariaLabel,"aria-roledescription":"node",...N.domAttributes,onMouseenter:te,onMousemove:ne,onMouseleave:oe,onContextmenu:fe,onClick:A,onDblclick:pe,onKeydown:S},[n.h(ae.value===!1?f.value.default:ae.value,{id:N.id,type:N.type,data:N.data,events:{...N.events,...D},selected:N.selected,resizing:N.resizing,dragging:ce.value,connectable:K.value,position:N.computedPosition,dimensions:N.dimensions,isValidTargetPos:N.isValidTargetPos,isValidSourcePos:N.isValidSourcePos,parent:N.parentNode,parentNodeId:N.parentNode,zIndex:N.computedPosition.z??R.value,targetPosition:N.targetPosition,sourcePosition:N.sourcePosition,label:N.label,dragHandle:N.dragHandle,onUpdateNodeInternals:X})]);function q(){const x=N.computedPosition,{computedPosition:O,position:J}=Ba(N,g.value?Kr(x,_.value):x,l.error,p.value,C.value);(N.computedPosition.x!==O.x||N.computedPosition.y!==O.y)&&(N.computedPosition={...N.computedPosition,...O}),(N.position.x!==J.x||N.position.y!==J.y)&&(N.position=J)}function X(){$.value&&d([{id:e.id,nodeElement:$.value,forceUpdate:!0}])}function te(x){ce!=null&&ce.value||E.mouseEnter({event:x,node:N})}function ne(x){ce!=null&&ce.value||E.mouseMove({event:x,node:N})}function oe(x){ce!=null&&ce.value||E.mouseLeave({event:x,node:N})}function fe(x){return E.contextMenu({event:x,node:N})}function pe(x){return E.doubleClick({event:x,node:N})}function A(x){G.value&&(!r.value||!T.value||w.value>0)&&Ma(N,a.value,c,s,i,!1,$.value),E.click({event:x,node:N})}function S(x){if(!(Pa(x)||h.value))if(Vd.includes(x.key)&&G.value){const O=x.key==="Escape";Ma(N,a.value,c,s,i,O,$.value)}else T.value&&N.selected&&Ln[x.key]&&(x.preventDefault(),y.value=`Moved selected node ${x.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~N.position.x}, y: ${~~N.position.y}`,j({x:Ln[x.key].x,y:Ln[x.key].y},x.shiftKey))}}});function X1(e={includeHiddenNodes:!1}){const{nodes:t}=Ae();return n.computed(()=>{if(t.value.length===0)return!1;for(const o of t.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const J1={class:"vue-flow__nodes vue-flow__container"},Q1={name:"Nodes",compatConfig:{MODE:3}},eS=n.defineComponent({...Q1,setup(e){const{getNodes:t,updateNodeDimensions:o,emits:r}=Ae(),i=X1(),a=n.ref();return n.watch(i,l=>{l&&n.nextTick(()=>{r.nodesInitialized(t.value)})},{immediate:!0}),n.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));n.nextTick(()=>o(s))})}),n.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(n.openBlock(),n.createElementBlock("div",J1,[a.value?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:0},n.renderList(n.unref(t),(c,d,u,f)=>{const p=[c.id];if(f&&f.key===c.id&&n.isMemoSame(f,p))return f;const m=(n.openBlock(),n.createBlock(n.unref(Z1),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):n.createCommentVNode("",!0)]))}});function tS(){const{emits:e}=Ae();n.onMounted(()=>{if(au()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new Ue(De.MISSING_STYLES))}})}const nS=n.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),oS={name:"VueFlow",compatConfig:{MODE:3}},Tu=n.defineComponent({...oS,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:o}){const r=e,i=n.useSlots(),a=ca(r,"modelValue",o),l=ca(r,"nodes",o),s=ca(r,"edges",o),c=Ae(r),d=jN({modelValue:a,nodes:l,edges:s},r,c);return zN(o,c.hooks),R1(),tS(),n.provide(qr,i),n.onUnmounted(()=>{d()}),t(c),(u,f)=>(n.openBlock(),n.createElementBlock("div",{ref:n.unref(c).vueFlowRef,class:"vue-flow"},[n.createVNode(I1,null,{default:n.withCtx(()=>[n.createVNode(W1),nS,n.createVNode(eS),n.renderSlot(u.$slots,"zoom-pane")]),_:3}),n.renderSlot(u.$slots,"default"),n.createVNode(V1)],512))}}),rS={name:"Panel",compatConfig:{MODE:3}},iS=n.defineComponent({...rS,props:{position:{}},setup(e){const t=e,{userSelectionActive:o}=Ae(),r=n.computed(()=>`${t.position}`.split("-"));return(i,a)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["vue-flow__panel",r.value]),style:n.normalizeStyle({pointerEvents:n.unref(o)?"none":"all"})},[n.renderSlot(i.$slots,"default")],6))}});var Dt=(e=>(e.Lines="lines",e.Dots="dots",e))(Dt||{});const Pu=function({dimensions:e,size:t,color:o}){return n.h("path",{stroke:o,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Iu=function({radius:e,color:t}){return n.h("circle",{cx:e,cy:e,r:e,fill:t})};Dt.Lines+"",Dt.Dots+"";const aS={[Dt.Dots]:"#81818a",[Dt.Lines]:"#eee"},lS=["id","x","y","width","height","patternTransform"],sS={key:2,height:"100",width:"100"},cS=["fill"],dS=["x","y","fill"],uS={name:"Background",compatConfig:{MODE:3}},fS=n.defineComponent({...uS,props:{id:{},variant:{default:()=>Dt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:o}=Ae(),r=n.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],u=e.size*l,[f,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[f*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:u}}),i=n.toRef(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),a=n.toRef(()=>e.color||e.patternColor||aS[e.variant||Dt.Dots]);return(l,s)=>(n.openBlock(),n.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:n.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[n.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[n.createElementVNode("pattern",{id:i.value,x:n.unref(o).x%r.value.scaledGap[0],y:n.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[n.renderSlot(l.$slots,"pattern",{},()=>[l.variant===n.unref(Dt).Lines?(n.openBlock(),n.createBlock(n.unref(Pu),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===n.unref(Dt).Dots?(n.openBlock(),n.createBlock(n.unref(Iu),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):n.createCommentVNode("",!0),l.bgColor?(n.openBlock(),n.createElementBlock("svg",sS,[n.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,cS)])):n.createCommentVNode("",!0)])],8,lS)]),n.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,dS),n.renderSlot(l.$slots,"default",{id:i.value})],4))}}),pS={name:"ControlButton",compatConfig:{MODE:3}},mS=(e,t)=>{const o=e.__vccOpts||e;for(const[r,i]of t)o[r]=i;return o},gS={class:"vue-flow__controls-button"};function hS(e,t,o,r,i,a){return n.openBlock(),n.createElementBlock("button",gS,[n.renderSlot(e.$slots,"default")])}const Zr=mS(pS,[["render",hS]]),yS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},_S=[n.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function bS(e,t){return n.openBlock(),n.createElementBlock("svg",yS,_S)}const wS={render:bS},ES={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},kS=[n.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function CS(e,t){return n.openBlock(),n.createElementBlock("svg",ES,kS)}const vS={render:CS},NS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},SS=[n.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function xS(e,t){return n.openBlock(),n.createElementBlock("svg",NS,SS)}const AS={render:xS},TS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},PS=[n.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function IS(e,t){return n.openBlock(),n.createElementBlock("svg",TS,PS)}const OS={render:IS},$S={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},BS=[n.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function DS(e,t){return n.openBlock(),n.createElementBlock("svg",$S,BS)}const VS={render:DS},RS={name:"Controls",compatConfig:{MODE:3}},MS=n.defineComponent({...RS,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Od.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:t}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:u,maxZoom:f}=Ae(),p=n.toRef(()=>o.value||r.value||i.value),m=n.toRef(()=>d.value.zoom<=u.value),h=n.toRef(()=>d.value.zoom>=f.value);function y(){l(),t("zoomIn")}function g(){s(),t("zoomOut")}function _(){c(e.fitViewParams),t("fitView")}function w(){a(!p.value),t("interactionChange",!p.value)}return(b,v)=>(n.openBlock(),n.createBlock(n.unref(iS),{class:"vue-flow__controls",position:b.position},{default:n.withCtx(()=>[n.renderSlot(b.$slots,"top"),b.showZoom?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.renderSlot(b.$slots,"control-zoom-in",{},()=>[n.createVNode(Zr,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:y},{default:n.withCtx(()=>[n.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(wS))))])]),_:3},8,["disabled"])]),n.renderSlot(b.$slots,"control-zoom-out",{},()=>[n.createVNode(Zr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:n.withCtx(()=>[n.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(vS))))])]),_:3},8,["disabled"])])],64)):n.createCommentVNode("",!0),b.showFitView?n.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[n.createVNode(Zr,{class:"vue-flow__controls-fitview",onClick:_},{default:n.withCtx(()=>[n.renderSlot(b.$slots,"icon-fit-view",{},()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(AS))))])]),_:3})]):n.createCommentVNode("",!0),b.showInteractive?n.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(n.openBlock(),n.createBlock(Zr,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:n.withCtx(()=>[p.value?n.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(VS))))]):n.createCommentVNode("",!0),p.value?n.createCommentVNode("",!0):n.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(OS))))])]),_:3})):n.createCommentVNode("",!0)]):n.createCommentVNode("",!0),n.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}});function LS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var FS="\0",gn="\0",Ou="";let KS=class{constructor(t){Fe(this,"_isDirected",!0);Fe(this,"_isMultigraph",!1);Fe(this,"_isCompound",!1);Fe(this,"_label");Fe(this,"_defaultNodeLabelFn",()=>{});Fe(this,"_defaultEdgeLabelFn",()=>{});Fe(this,"_nodes",{});Fe(this,"_in",{});Fe(this,"_preds",{});Fe(this,"_out",{});Fe(this,"_sucs",{});Fe(this,"_edgeObjs",{});Fe(this,"_edgeLabels",{});Fe(this,"_nodeCount",0);Fe(this,"_edgeCount",0);Fe(this,"_parent");Fe(this,"_children");t&&(this._isDirected=Object.hasOwn(t,"directed")?t.directed:!0,this._isMultigraph=Object.hasOwn(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.hasOwn(t,"compound")?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[gn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return this._defaultNodeLabelFn=t,typeof t!="function"&&(this._defaultNodeLabelFn=()=>t),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var t=this;return this.nodes().filter(o=>Object.keys(t._in[o]).length===0)}sinks(){var t=this;return this.nodes().filter(o=>Object.keys(t._out[o]).length===0)}setNodes(t,o){var r=arguments,i=this;return t.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(t,o){return Object.hasOwn(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=o),this):(this._nodes[t]=arguments.length>1?o:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=gn,this._children[t]={},this._children[gn][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.hasOwn(this._nodes,t)}removeNode(t){var o=this;if(Object.hasOwn(this._nodes,t)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(function(i){o.setParent(i)}),delete this._children[t]),Object.keys(this._in[t]).forEach(r),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=gn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===t)throw new Error("Setting "+o+" as parent of "+t+" would create a cycle");this.setNode(o)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=o,this._children[o][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var o=this._parent[t];if(o!==gn)return o}}children(t=gn){if(this._isCompound){var o=this._children[t];if(o)return Object.keys(o)}else{if(t===gn)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var o=this._preds[t];if(o)return Object.keys(o)}successors(t){var o=this._sucs[t];if(o)return Object.keys(o)}neighbors(t){var o=this.predecessors(t);if(o){const i=new Set(o);for(var r of this.successors(t))i.add(r);return Array.from(i.values())}}isLeaf(t){var o;return this.isDirected()?o=this.successors(t):o=this.neighbors(t),o.length===0}filterNodes(t){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){t(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(t){return this._defaultEdgeLabelFn=t,typeof t!="function"&&(this._defaultEdgeLabelFn=()=>t),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,o){var r=this,i=arguments;return t.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var t,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(t=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(t=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,o=""+o,r!==void 0&&(r=""+r);var s=To(this._isDirected,t,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(t,o,r);var c=US(this._isDirected,t,o,r);return t=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,$u(this._preds[o],t),$u(this._sucs[t],o),this._in[o][s]=c,this._out[t][s]=c,this._edgeCount++,this}edge(t,o,r){var i=arguments.length===1?Ga(this._isDirected,arguments[0]):To(this._isDirected,t,o,r);return this._edgeLabels[i]}edgeAsObj(){const t=this.edge(...arguments);return typeof t!="object"?{label:t}:t}hasEdge(t,o,r){var i=arguments.length===1?Ga(this._isDirected,arguments[0]):To(this._isDirected,t,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(t,o,r){var i=arguments.length===1?Ga(this._isDirected,arguments[0]):To(this._isDirected,t,o,r),a=this._edgeObjs[i];return a&&(t=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Bu(this._preds[o],t),Bu(this._sucs[t],o),delete this._in[o][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,o){var r=this._in[t];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(t,o){var r=this._out[t];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(t,o){var r=this.inEdges(t,o);if(r)return r.concat(this.outEdges(t,o))}};function $u(e,t){e[t]?e[t]++:e[t]=1}function Bu(e,t){--e[t]||delete e[t]}function To(e,t,o,r){var i=""+t,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+Ou+a+Ou+(r===void 0?FS:r)}function US(e,t,o,r){var i=""+t,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function Ga(e,t){return To(e,t.v,t.w,t.name)}var za=KS,qS="2.2.4",jS={Graph:za,version:qS},GS=za,zS={write:HS,read:ZS};function HS(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:YS(e),edges:WS(e)};return e.graph()!==void 0&&(t.value=structuredClone(e.graph())),t}function YS(e){return e.nodes().map(function(t){var o=e.node(t),r=e.parent(t),i={v:t};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function WS(e){return e.edges().map(function(t){var o=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),o!==void 0&&(r.value=o),r})}function ZS(e){var t=new GS(e.options).setGraph(e.value);return e.nodes.forEach(function(o){t.setNode(o.v,o.value),o.parent&&t.setParent(o.v,o.parent)}),e.edges.forEach(function(o){t.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),t}var XS=JS;function JS(e){var t={},o=[],r;function i(a){Object.hasOwn(t,a)||(t[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var Du=class{constructor(){Fe(this,"_arr",[]);Fe(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(t){return t.key})}has(t){return Object.hasOwn(this._keyIndices,t)}priority(t){var o=this._keyIndices[t];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,o){var r=this._keyIndices;if(t=String(t),!Object.hasOwn(r,t)){var i=this._arr,a=i.length;return r[t]=a,i.push({key:t,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,o){var r=this._keyIndices[t];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(t){var o=this._arr,r=2*t,i=r+1,a=t;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==t&&(this._swap(t,a),this._heapify(a)))}_decrease(t){for(var o=this._arr,r=o[t].priority,i;t!==0&&(i=t>>1,!(o[i].priority<r));)this._swap(t,i),t=i}_swap(t,o){var r=this._arr,i=this._keyIndices,a=r[t],l=r[o];r[t]=l,r[o]=a,i[l.key]=t,i[a.key]=o}},QS=Du,Vu=tx,ex=()=>1;function tx(e,t,o,r){return nx(e,String(t),o||ex,r||function(i){return e.outEdges(i)})}function nx(e,t,o,r){var i={},a=new QS,l,s,c=function(d){var u=d.v!==l?d.v:d.w,f=i[u],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<f.distance&&(f.distance=m,f.predecessor=l,a.decrease(u,m))};for(e.nodes().forEach(function(d){var u=d===t?0:Number.POSITIVE_INFINITY;i[d]={distance:u},a.add(d,u)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var ox=Vu,rx=ix;function ix(e,t,o){return e.nodes().reduce(function(r,i){return r[i]=ox(e,i,t,o),r},{})}var Ru=ax;function ax(e){var t=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:t,index:t++};if(o.push(l),e.successors(l).forEach(function(u){Object.hasOwn(r,u)?r[u].onStack&&(s.lowlink=Math.min(s.lowlink,r[u].index)):(a(u),s.lowlink=Math.min(s.lowlink,r[u].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var lx=Ru,sx=cx;function cx(e){return lx(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var dx=fx,ux=()=>1;function fx(e,t,o){return px(e,t||ux,o||function(r){return e.outEdges(r)})}function px(e,t,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=t(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var u=c[a],f=l[d],p=c[d],m=u.distance+f.distance;m<p.distance&&(p.distance=m,p.predecessor=f.predecessor)})})}),r}function Mu(e){var t={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Ha;Object.hasOwn(t,a)||(o[a]=!0,t[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(t).length!==e.nodeCount())throw new Ha;return r}class Ha extends Error{constructor(){super(...arguments)}}var Lu=Mu;Mu.CycleException=Ha;var Fu=Lu,mx=gx;function gx(e){try{Fu(e)}catch(t){if(t instanceof Fu.CycleException)return!1;throw t}return!0}var Ku=hx;function hx(e,t,o){Array.isArray(t)||(t=[t]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?yx:_x,a=[],l={};return t.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function yx(e,t,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),Uu(t(a[0]),l=>i.push([l,!1])))}}function _x(e,t,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),Uu(t(a),l=>i.push(l)))}}function Uu(e,t){for(var o=e.length;o--;)t(e[o],o,e);return e}var bx=Ku,wx=Ex;function Ex(e,t){return bx(e,t,"post")}var kx=Ku,Cx=vx;function vx(e,t){return kx(e,t,"pre")}var Nx=za,Sx=Du,xx=Ax;function Ax(e,t){var o=new Nx,r={},i=new Sx,a;function l(c){var d=c.v===a?c.w:c.v,u=i.priority(d);if(u!==void 0){var f=t(c);f<u&&(r[d]=a,i.decrease(d,f))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var Tx={components:XS,dijkstra:Vu,dijkstraAll:rx,findCycles:sx,floydWarshall:dx,isAcyclic:mx,postorder:wx,preorder:Cx,prim:xx,tarjan:Ru,topsort:Lu},qu=jS,pt={Graph:qu.Graph,json:zS,alg:Tx,version:qu.version};let Px=class{constructor(){let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,o=t._prev;if(o!==t)return ju(o),o}enqueue(t){let o=this._sentinel;t._prev&&t._next&&ju(t),t._next=o._next,o._next._prev=t,o._next=t,t._prev=o}toString(){let t=[],o=this._sentinel,r=o._prev;for(;r!==o;)t.push(JSON.stringify(r,Ix)),r=r._prev;return"["+t.join(", ")+"]"}};function ju(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Ix(e,t){if(e!=="_next"&&e!=="_prev")return t}var Ox=Px;let $x=pt.Graph,Bx=Ox;var Dx=Rx;let Vx=()=>1;function Rx(e,t){if(e.nodeCount()<=1)return[];let o=Lx(e,t||Vx);return Mx(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function Mx(e,t,o){let r=[],i=t[t.length-1],a=t[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Ya(e,t,o,l);for(;l=i.dequeue();)Ya(e,t,o,l);if(e.nodeCount()){for(let s=t.length-2;s>0;--s)if(l=t[s].dequeue(),l){r=r.concat(Ya(e,t,o,l,!0));break}}}return r}function Ya(e,t,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Wa(t,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Wa(t,o,d)}),e.removeNode(r.v),a}function Lx(e,t){let o=new $x,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=t(s),u=c+d;o.setEdge(s.v,s.w,u),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=Fx(i+r+3).map(()=>new Bx),l=r+1;return o.nodes().forEach(s=>{Wa(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Wa(e,t,o){o.out?o.in?e[o.out-o.in+t].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function Fx(e){const t=[];for(let o=0;o<e;o++)t.push(o);return t}let Gu=pt.Graph;var Re={addBorderNode:Wx,addDummyNode:zu,applyWithChunking:Xr,asNonCompoundGraph:Ux,buildLayerMatrix:zx,intersectRect:Gx,mapValues:nA,maxRank:Yu,normalizeRanks:Hx,notime:Qx,partition:Xx,pick:tA,predecessorWeights:jx,range:Zu,removeEmptyRanks:Yx,simplify:Kx,successorWeights:qx,time:Jx,uniqueId:Wu,zipObject:Za};function zu(e,t,o,r){for(var i=r;e.hasNode(i);)i=Wu(r);return o.dummy=t,e.setNode(i,o),i}function Kx(e){let t=new Gu().setGraph(e.graph());return e.nodes().forEach(o=>t.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=t.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);t.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function Ux(e){let t=new Gu({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||t.setNode(o,e.node(o))}),e.edges().forEach(o=>{t.setEdge(o,e.edge(o))}),t}function qx(e){let t=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return Za(e.nodes(),t)}function jx(e){let t=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return Za(e.nodes(),t)}function Gx(e,t){let o=e.x,r=e.y,i=t.x-o,a=t.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function zx(e){let t=Zu(Yu(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(t[i][r.order]=o)}),t}function Hx(e){let t=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Xr(Math.min,t);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function Yx(e){let t=e.nodes().map(l=>e.node(l).rank),o=Xr(Math.min,t),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function Wx(e,t,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),zu(e,"border",i,t)}function Zx(e,t=Hu){const o=[];for(let r=0;r<e.length;r+=t){const i=e.slice(r,r+t);o.push(i)}return o}const Hu=65535;function Xr(e,t){if(t.length>Hu){const o=Zx(t);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,t)}function Yu(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Xr(Math.max,o)}function Xx(e,t){let o={lhs:[],rhs:[]};return e.forEach(r=>{t(r)?o.lhs.push(r):o.rhs.push(r)}),o}function Jx(e,t){let o=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function Qx(e,t){return t()}let eA=0;function Wu(e){var t=++eA;return e+(""+t)}function Zu(e,t,o=1){t==null&&(t=e,e=0);let r=a=>a<t;o<0&&(r=a=>t<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function tA(e,t){const o={};for(const r of t)e[r]!==void 0&&(o[r]=e[r]);return o}function nA(e,t){let o=t;return typeof t=="string"&&(o=r=>r[t]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function Za(e,t){return e.reduce((o,r,i)=>(o[r]=t[i],o),{})}let oA=Dx,rA=Re.uniqueId;var iA={run:aA,undo:sA};function aA(e){(e.graph().acyclicer==="greedy"?oA(e,o(e)):lA(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,rA("rev"))});function o(r){return i=>r.edge(i).weight}}function lA(e){let t=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?t.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),t}function sA(e){e.edges().forEach(t=>{let o=e.edge(t);if(o.reversed){e.removeEdge(t);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(t.w,t.v,o,r)}})}let cA=Re;var dA={run:uA,undo:pA};function uA(e){e.graph().dummyChains=[],e.edges().forEach(t=>fA(e,t))}function fA(e,t){let o=t.v,r=e.node(o).rank,i=t.w,a=e.node(i).rank,l=t.name,s=e.edge(t),c=s.labelRank;if(a===r+1)return;e.removeEdge(t);let d,u,f;for(f=0,++r;r<a;++f,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},d=cA.addDummyNode(e,"edge",u,"_d"),r===c&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),f===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function pA(e){e.graph().dummyChains.forEach(t=>{let o=e.node(t),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),t=i,o=e.node(t)})}const{applyWithChunking:mA}=Re;var Jr={longestPath:gA,slack:hA};function gA(e){var t={};function o(r){var i=e.node(r);if(Object.hasOwn(t,r))return i.rank;t[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=mA(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function hA(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var yA=pt.Graph,Qr=Jr.slack,Xu=_A;function _A(e){var t=new yA({directed:!1}),o=e.nodes()[0],r=e.nodeCount();t.setNode(o,{});for(var i,a;bA(t,e)<r;)i=wA(t,e),a=t.hasNode(i.v)?Qr(e,i):-Qr(e,i),EA(t,e,a);return t}function bA(e,t){function o(r){t.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Qr(t,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function wA(e,t){return t.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Qr(t,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function EA(e,t,o){e.nodes().forEach(r=>t.node(r).rank+=o)}var kA=Xu,Ju=Jr.slack,CA=Jr.longestPath,vA=pt.alg.preorder,NA=pt.alg.postorder,SA=Re.simplify,xA=hn;hn.initLowLimValues=Ja,hn.initCutValues=Xa,hn.calcCutValue=Qu,hn.leaveEdge=tf,hn.enterEdge=nf,hn.exchangeEdges=of;function hn(e){e=SA(e),CA(e);var t=kA(e);Ja(t),Xa(t,e);for(var o,r;o=tf(t);)r=nf(t,e,o),of(t,e,o,r)}function Xa(e,t){var o=NA(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>AA(e,t,r))}function AA(e,t,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Qu(e,t,o)}function Qu(e,t,o){var r=e.node(o),i=r.parent,a=!0,l=t.edge(o,i),s=0;return l||(a=!1,l=t.edge(i,o)),s=l.weight,t.nodeEdges(o).forEach(c=>{var d=c.v===o,u=d?c.w:c.v;if(u!==i){var f=d===a,p=t.edge(c).weight;if(s+=f?p:-p,PA(e,o,u)){var m=e.edge(o,u).cutvalue;s+=f?-m:m}}}),s}function Ja(e,t){arguments.length<2&&(t=e.nodes()[0]),ef(e,{},1,t)}function ef(e,t,o,r,i){var a=o,l=e.node(r);return t[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(t,s)||(o=ef(e,t,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function tf(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function nf(e,t,o){var r=o.v,i=o.w;t.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=t.edges().filter(u=>c===rf(e,e.node(u.v),s)&&c!==rf(e,e.node(u.w),s));return d.reduce((u,f)=>Ju(t,f)<Ju(t,u)?f:u)}function of(e,t,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Ja(e),Xa(e,t),TA(e,t)}function TA(e,t){var o=e.nodes().find(i=>!t.node(i).parent),r=vA(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=t.edge(i,a),s=!1;l||(l=t.edge(a,i),s=!0),t.node(i).rank=t.node(a).rank+(s?l.minlen:-l.minlen)})}function PA(e,t,o){return e.hasEdge(t,o)}function rf(e,t,o){return o.low<=t.lim&&t.lim<=o.lim}var IA=Jr,af=IA.longestPath,OA=Xu,$A=xA,BA=DA;function DA(e){var t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case"network-simplex":lf(e);break;case"tight-tree":RA(e);break;case"longest-path":VA(e);break;case"none":break;default:lf(e)}}var VA=af;function RA(e){af(e),OA(e)}function lf(e){$A(e)}var MA=LA;function LA(e){let t=KA(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=FA(e,t,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],u=!0;for(;o!==i.w;){if(r=e.node(o),u){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(u=!1)}if(!u){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function FA(e,t,o,r){let i=[],a=[],l=Math.min(t[o].low,t[r].low),s=Math.max(t[o].lim,t[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(t[c].low>l||s>t[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function KA(e){let t={},o=0;function r(i){let a=o;e.children(i).forEach(r),t[i]={low:a,lim:o++}}return e.children().forEach(r),t}let ei=Re;var UA={run:qA,cleanup:zA};function qA(e){let t=ei.addDummyNode(e,"root",{},"_root"),o=jA(e),r=Object.values(o),i=ei.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=GA(e)+1;e.children().forEach(s=>sf(e,t,a,l,i,o,s)),e.graph().nodeRankFactor=a}function sf(e,t,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==t&&e.setEdge(t,l,{weight:0,minlen:o});return}let c=ei.addBorderNode(e,"_bt"),d=ei.addBorderNode(e,"_bb"),u=e.node(l);e.setParent(c,l),u.borderTop=c,e.setParent(d,l),u.borderBottom=d,s.forEach(f=>{sf(e,t,o,r,i,a,f);let p=e.node(f),m=p.borderTop?p.borderTop:f,h=p.borderBottom?p.borderBottom:f,y=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:y,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:y,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(t,c,{weight:0,minlen:i+a[l]})}function jA(e){var t={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),t[r]=i}return e.children().forEach(r=>o(r,1)),t}function GA(e){return e.edges().reduce((t,o)=>t+e.edge(o).weight,0)}function zA(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let HA=Re;var YA=WA;function WA(e){function t(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(t),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)cf(e,"borderLeft","_bl",o,i,a),cf(e,"borderRight","_br",o,i,a)}}e.children().forEach(t)}function cf(e,t,o,r,i,a){let l={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=HA.addDummyNode(e,"border",l,o);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var ZA={adjust:XA,undo:JA};function XA(e){let t=e.graph().rankdir.toLowerCase();(t==="lr"||t==="rl")&&df(e)}function JA(e){let t=e.graph().rankdir.toLowerCase();(t==="bt"||t==="rl")&&QA(e),(t==="lr"||t==="rl")&&(eT(e),df(e))}function df(e){e.nodes().forEach(t=>uf(e.node(t))),e.edges().forEach(t=>uf(e.edge(t)))}function uf(e){let t=e.width;e.width=e.height,e.height=t}function QA(e){e.nodes().forEach(t=>Qa(e.node(t))),e.edges().forEach(t=>{let o=e.edge(t);o.points.forEach(Qa),Object.hasOwn(o,"y")&&Qa(o)})}function Qa(e){e.y=-e.y}function eT(e){e.nodes().forEach(t=>el(e.node(t))),e.edges().forEach(t=>{let o=e.edge(t);o.points.forEach(el),Object.hasOwn(o,"x")&&el(o)})}function el(e){let t=e.x;e.x=e.y,e.y=t}let ff=Re;var tT=nT;function nT(e){let t={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=ff.applyWithChunking(Math.max,r),a=ff.range(i+1).map(()=>[]);function l(c){if(t[c])return;t[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let oT=Re.zipObject;var rT=iT;function iT(e,t){let o=0;for(let r=1;r<t.length;++r)o+=aT(e,t[r-1],t[r]);return o}function aT(e,t,o){let r=oT(o,o.map((d,u)=>u)),i=t.flatMap(d=>e.outEdges(d).map(u=>({pos:r[u.w],weight:e.edge(u).weight})).sort((u,f)=>u.pos-f.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let u=d.pos+a;s[u]+=d.weight;let f=0;for(;u>0;)u%2&&(f+=s[u+1]),u=u-1>>1,s[u]+=d.weight;c+=d.weight*f}),c}var lT=sT;function sT(e,t=[]){return t.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let cT=Re;var dT=uT;function uT(e,t){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),t.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return fT(r)}function fT(e){let t=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&pT(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return t.filter(i=>!i.merged).map(i=>cT.pick(i,["vs","i","barycenter","weight"]))}function pT(e,t){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),t.weight&&(o+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}let mT=Re;var gT=hT;function hT(e,t){let o=mT.partition(e,u=>Object.hasOwn(u,"barycenter")),r=o.lhs,i=o.rhs.sort((u,f)=>f.i-u.i),a=[],l=0,s=0,c=0;r.sort(yT(!!t)),c=pf(a,i,c),r.forEach(u=>{c+=u.vs.length,a.push(u.vs),l+=u.barycenter*u.weight,s+=u.weight,c=pf(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function pf(e,t,o){let r;for(;t.length&&(r=t[t.length-1]).i<=o;)t.pop(),e.push(r.vs),o++;return o}function yT(e){return(t,o)=>t.barycenter<o.barycenter?-1:t.barycenter>o.barycenter?1:e?o.i-t.i:t.i-o.i}let _T=lT,bT=dT,wT=gT;var ET=mf;function mf(e,t,o,r){let i=e.children(t),a=e.node(t),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=_T(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=mf(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&CT(p,m)}});let u=bT(d,o);kT(u,c);let f=wT(u,r);if(l&&(f.vs=[l,f.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+m.order)/(f.weight+2),f.weight+=2}return f}function kT(e,t){e.forEach(o=>{o.vs=o.vs.flatMap(r=>t[r]?t[r].vs:r)})}function CT(e,t){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight):(e.barycenter=t.barycenter,e.weight=t.weight)}let vT=pt.Graph,NT=Re;var ST=xT;function xT(e,t,o){let r=AT(e),i=new vT({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===t||l.minRank<=t&&t<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,u=i.edge(d,a),f=u!==void 0?u.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+f})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[t],borderRight:l.borderRight[t]}))}),i}function AT(e){for(var t;e.hasNode(t=NT.uniqueId("_root")););return t}var TT=PT;function PT(e,t,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){t.setEdge(c,l);return}l=s}})}let IT=tT,OT=rT,$T=ET,BT=ST,DT=TT,VT=pt.Graph,ti=Re;var RT=gf;function gf(e,t){if(t&&typeof t.customOrder=="function"){t.customOrder(e,gf);return}let o=ti.maxRank(e),r=hf(e,ti.range(1,o+1),"inEdges"),i=hf(e,ti.range(o-1,-1,-1),"outEdges"),a=IT(e);if(yf(e,a),t&&t.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){MT(c%2?r:i,c%4>=2),a=ti.buildLayerMatrix(e);let u=OT(e,a);u<l&&(d=0,s=Object.assign({},a),l=u)}yf(e,s)}function hf(e,t,o){return t.map(function(r){return BT(e,r,o)})}function MT(e,t){let o=new VT;e.forEach(function(r){let i=r.graph().root,a=$T(r,i,o,t);a.vs.forEach((l,s)=>r.node(l).order=s),DT(r,o,a.vs)})}function yf(e,t){Object.values(t).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let LT=pt.Graph,Vt=Re;var FT={positionX:XT};function KT(e,t){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((u,f)=>{let p=qT(e,u),m=p?e.node(p).order:c;(p||u===d)&&(a.slice(s,f+1).forEach(h=>{e.predecessors(h).forEach(y=>{let g=e.node(y),_=g.order;(_<l||m<_)&&!(g.dummy&&e.node(h).dummy)&&_f(o,y,h)})}),s=f+1,l=m)}),a}return t.length&&t.reduce(r),o}function UT(e,t){let o={};function r(a,l,s,c,d){let u;Vt.range(l,s).forEach(f=>{u=a[f],e.node(u).dummy&&e.predecessors(u).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&_f(o,p,u)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((u,f)=>{if(e.node(u).dummy==="border"){let p=e.predecessors(u);p.length&&(c=e.node(p[0]).order,r(l,d,f,s,c),d=f,s=c)}r(l,d,l.length,c,a.length)}),l}return t.length&&t.reduce(i),o}function qT(e,t){if(e.node(t).dummy)return e.predecessors(t).find(o=>e.node(o).dummy)}function _f(e,t,o){if(t>o){let i=t;t=o,o=i}let r=e[t];r||(e[t]=r={}),r[o]=!0}function jT(e,t,o){if(t>o){let r=t;t=o,o=r}return!!e[t]&&Object.hasOwn(e[t],o)}function GT(e,t,o,r){let i={},a={},l={};return t.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),t.forEach(s=>{let c=-1;s.forEach(d=>{let u=r(d);if(u.length){u=u.sort((p,m)=>l[p]-l[m]);let f=(u.length-1)/2;for(let p=Math.floor(f),m=Math.ceil(f);p<=m;++p){let h=u[p];a[d]===d&&c<l[h]&&!jT(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function zT(e,t,o,r,i){let a={},l=HT(e,t,o,i),s=i?"borderLeft":"borderRight";function c(f,p){let m=l.nodes(),h=m.pop(),y={};for(;h;)y[h]?f(h):(y[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(f){a[f]=l.inEdges(f).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function u(f){let p=l.outEdges(f).reduce((h,y)=>Math.min(h,a[y.w]-l.edge(y)),Number.POSITIVE_INFINITY),m=e.node(f);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[f]=Math.max(a[f],p))}return c(d,l.predecessors.bind(l)),c(u,l.successors.bind(l)),Object.keys(r).forEach(f=>a[f]=a[o[f]]),a}function HT(e,t,o,r){let i=new LT,a=e.graph(),l=JT(a.nodesep,a.edgesep,r);return t.forEach(s=>{let c;s.forEach(d=>{let u=o[d];if(i.setNode(u),c){var f=o[c],p=i.edge(f,u);i.setEdge(f,u,Math.max(l(e,d,c),p||0))}c=d})}),i}function YT(e,t){return Object.values(t).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=QT(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function WT(e,t){let o=Object.values(t),r=Vt.applyWithChunking(Math.min,o),i=Vt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===t)return;let d=Object.values(c),u=r-Vt.applyWithChunking(Math.min,d);l!=="l"&&(u=i-Vt.applyWithChunking(Math.max,d)),u&&(e[s]=Vt.mapValues(c,f=>f+u))})})}function ZT(e,t){return Vt.mapValues(e.ul,(o,r)=>{if(t)return e[t.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function XT(e){let t=Vt.buildLayerMatrix(e),o=Object.assign(KT(e,t),UT(e,t)),r={},i;["u","d"].forEach(l=>{i=l==="u"?t:Object.values(t).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(f=>Object.values(f).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=GT(e,i,o,c),u=zT(e,i,d.root,d.align,s==="r");s==="r"&&(u=Vt.mapValues(u,f=>-f)),r[l+s]=u})});let a=YT(e,r);return WT(r,a),ZT(r,e.graph().align)}function JT(e,t,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function QT(e,t){return e.node(t).width}let bf=Re,eP=FT.positionX;var tP=nP;function nP(e){e=bf.asNonCompoundGraph(e),oP(e),Object.entries(eP(e)).forEach(([t,o])=>e.node(t).x=o)}function oP(e){let t=bf.buildLayerMatrix(e),o=e.graph().ranksep,r=0;t.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let wf=iA,Ef=dA,rP=BA,iP=Re.normalizeRanks,aP=MA,lP=Re.removeEmptyRanks,kf=UA,sP=YA,Cf=ZA,cP=RT,dP=tP,at=Re,uP=pt.Graph;var fP=pP;function pP(e,t){let o=t&&t.debugTiming?at.time:at.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>CP(e));o(" runLayout",()=>mP(r,o,t)),o(" updateInputGraph",()=>gP(e,r))})}function mP(e,t,o){t(" makeSpaceForEdgeLabels",()=>vP(e)),t(" removeSelfEdges",()=>$P(e)),t(" acyclic",()=>wf.run(e)),t(" nestingGraph.run",()=>kf.run(e)),t(" rank",()=>rP(at.asNonCompoundGraph(e))),t(" injectEdgeLabelProxies",()=>NP(e)),t(" removeEmptyRanks",()=>lP(e)),t(" nestingGraph.cleanup",()=>kf.cleanup(e)),t(" normalizeRanks",()=>iP(e)),t(" assignRankMinMax",()=>SP(e)),t(" removeEdgeLabelProxies",()=>xP(e)),t(" normalize.run",()=>Ef.run(e)),t(" parentDummyChains",()=>aP(e)),t(" addBorderSegments",()=>sP(e)),t(" order",()=>cP(e,o)),t(" insertSelfEdges",()=>BP(e)),t(" adjustCoordinateSystem",()=>Cf.adjust(e)),t(" position",()=>dP(e)),t(" positionSelfEdges",()=>DP(e)),t(" removeBorderNodes",()=>OP(e)),t(" normalize.undo",()=>Ef.undo(e)),t(" fixupEdgeLabelCoords",()=>PP(e)),t(" undoCoordinateSystem",()=>Cf.undo(e)),t(" translateGraph",()=>AP(e)),t(" assignNodeIntersects",()=>TP(e)),t(" reversePoints",()=>IP(e)),t(" acyclic.undo",()=>wf.undo(e))}function gP(e,t){e.nodes().forEach(o=>{let r=e.node(o),i=t.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,t.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=t.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}let hP=["nodesep","edgesep","ranksep","marginx","marginy"],yP={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_P=["acyclicer","ranker","rankdir","align"],bP=["width","height","rank"],vf={width:0,height:0},wP=["minlen","weight","width","height","labeloffset"],EP={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},kP=["labelpos"];function CP(e){let t=new uP({multigraph:!0,compound:!0}),o=nl(e.graph());return t.setGraph(Object.assign({},yP,tl(o,hP),at.pick(o,_P))),e.nodes().forEach(r=>{let i=nl(e.node(r));const a=tl(i,bP);Object.keys(vf).forEach(l=>{a[l]===void 0&&(a[l]=vf[l])}),t.setNode(r,a),t.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=nl(e.edge(r));t.setEdge(r,Object.assign({},EP,tl(i,wP),at.pick(i,kP)))}),t}function vP(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function NP(e){e.edges().forEach(t=>{let o=e.edge(t);if(o.width&&o.height){let r=e.node(t.v),a={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};at.addDummyNode(e,"edge-proxy",a,"_ep")}})}function SP(e){let t=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function xP(e){e.nodes().forEach(t=>{let o=e.node(t);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(t))})}function AP(e){let t=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let u=d.x,f=d.y,p=d.width,m=d.height;t=Math.min(t,u-p/2),o=Math.max(o,u+p/2),r=Math.min(r,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let u=e.edge(d);Object.hasOwn(u,"x")&&c(u)}),t-=l,r-=s,e.nodes().forEach(d=>{let u=e.node(d);u.x-=t,u.y-=r}),e.edges().forEach(d=>{let u=e.edge(d);u.points.forEach(f=>{f.x-=t,f.y-=r}),Object.hasOwn(u,"x")&&(u.x-=t),Object.hasOwn(u,"y")&&(u.y-=r)}),a.width=o-t+l,a.height=i-r+s}function TP(e){e.edges().forEach(t=>{let o=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(at.intersectRect(r,a)),o.points.push(at.intersectRect(i,l))})}function PP(e){e.edges().forEach(t=>{let o=e.edge(t);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function IP(e){e.edges().forEach(t=>{let o=e.edge(t);o.reversed&&o.points.reverse()})}function OP(e){e.nodes().forEach(t=>{if(e.children(t).length){let o=e.node(t),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function $P(e){e.edges().forEach(t=>{if(t.v===t.w){var o=e.node(t.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function BP(e){var t=at.buildLayerMatrix(e);t.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{at.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function DP(e){e.nodes().forEach(t=>{var o=e.node(t);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(t),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function tl(e,t){return at.mapValues(at.pick(e,t),Number)}function nl(e){var t={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),t[o]=r}),t}let VP=Re,RP=pt.Graph;var MP={debugOrdering:LP};function LP(e){let t=VP.buildLayerMatrix(e),o=new RP({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),t.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var FP="1.1.5",KP={graphlib:pt,layout:fP,debug:MP,util:{time:Re.time,notime:Re.notime},version:FP};const Nf=LS(KP),ni={padding:80,nodeGap:80,edgeGap:80,rankGap:80};function UP(e,t){const o=Ae({id:t}),r=on(),{findNode:i,fitView:a,onNodeClick:l,onEdgeClick:s}=o,{state:c,moveNode:d,getNodeById:u}=r;l(({node:y})=>{console.debug("[useFlow] onNodeClick",n.toRaw(y))}),s(({edge:y})=>{console.debug("[useFlow] onEdgeClick",n.toRaw(y))});function f(y,g){const _=u(y.source),w=u(y.target);return!!(_&&w&&_.phase===g&&w.phase===g)}const p=n.computed(()=>c.value.nodes.filter(y=>y.phase===e).map(y=>({id:y.id,type:"flow",position:y.position,data:y}))),m=n.computed(()=>c.value.edges.filter(y=>f(y,e)).map(y=>{const g=u(y.source),_=u(y.target);if(g){if(!_)throw new Error(`Missing target node "${y.target}" for edge "${y.id}" in phase "${e}"`)}else throw new Error(`Missing source node "${y.source}" for edge "${y.id}" in phase "${e}"`);return{id:y.id,source:y.source,target:y.target,sourceHandle:y.sourceField?`outputs:${y.sourceField}`:"output",targetHandle:y.targetField?`inputs:${y.targetField}`:"input",markerEnd:Dr.ArrowClosed,data:y}}));function h(y){const{boundingRect:g,padding:_=ni.padding,nodeGap:w=ni.nodeGap,edgeGap:b=ni.edgeGap,rankGap:v=ni.rankGap}=y;let P,k;const L=[],$=N=>{switch(N.data.name){case"request":{if(e!=="request")throw new Error(`Unexpected request node in ${e} phase`);if(P)throw new Error("Duplicated request node in request phase");return P=N,!0}case"service_request":{if(e!=="request")throw new Error(`Unexpected service_request node in ${e} phase`);if(k)throw new Error("Duplicated service_request node in request phase");return k=N,!0}case"service_response":{if(e!=="response")throw new Error(`Unexpected service_response node in ${e} phase`);if(k)throw new Error("Duplicated service_response node in response phase");return k=N,!0}case"response":{if(e!=="response")throw new Error(`Unexpected response node in ${e} phase`);if(P)throw new Error("Duplicated response node in response phase");return P=N,!0}default:return L.push(N),!1}},I=new Nf.graphlib.Graph({multigraph:!0});I.setGraph({rankdir:e==="request"?"LR":"RL",nodesep:w,edgesep:b,ranksep:v});for(const N of p.value){if($(N))continue;const C=i(N.id);if(!C)throw new Error(`Node ${N.id} is missing from the graph in ${e} phase`);I.setNode(N.id,{width:C.dimensions.width,height:C.dimensions.height})}if(!P||!k)throw new Error(`One or more implicit nodes are missing from ${e} phase`);const Y=i(P.id),j=i(k.id);if(!Y||!j)throw new Error(`One or more implicit nodes are missing from the graph in ${e} phase`);if(L.length===0){const N=g.height/2;d(P.data.id,{x:_,y:N-Y.dimensions.height/2}),d(k.data.id,{x:g.width-_-j.dimensions.width,y:N-j.dimensions.height/2})}else{const N=new Set([P.id,k.id]);for(const B of m.value)!N.has(B.source)&&!N.has(B.target)&&I.setEdge(B.source,B.target,{points:[]});Nf.layout(I);const C={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY},E=B=>{C.x1=Math.min(C.x1,B.x),C.y1=Math.min(C.y1,B.y),C.x2=Math.max(C.x2,B.x+B.width),C.y2=Math.max(C.y2,B.y+B.height)},D=B=>({x:B.x-B.width/2,y:B.y-B.height/2,width:B.width,height:B.height});for(const B of L){const V=I.node(B.id),z=D(V);E(z),d(B.data.id,{x:z.x,y:z.y})}const T=i(P.id),G=i(k.id);if(!T||!G)throw new Error(`One or more implicit nodes are missing from the graph in ${e} phase`);const K=C.y1+(C.y2-C.y1)/2;d(P.data.id,{x:C.x1-(T.dimensions.width+w),y:K-T.dimensions.height/2}),d(k.data.id,{x:C.x2+w,y:K-G.dimensions.height/2})}n.nextTick(()=>{a()})}return{vueFlowStore:o,editorStore:r,nodes:p,edges:m,autoLayout:h}}const oi=we(n.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>ge.Left},size:{default:()=>Number.parseFloat(K0)},type:{}},setup(e){n.useCssVars(o=>({"753622c4":o.color}));const t=n.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["handle-twig",[o.type,o.position===n.unref(ge).Left?"left":"right"]]),style:n.normalizeStyle(t.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),Sf=we(n.defineComponent({__name:"NodeBadge",props:{type:{},condensed:{type:Boolean}},setup(e){const t=n.computed(()=>{var i;if(!Tn(e.type))return((i=rr[e.type])==null?void 0:i.icon)??void 0}),o=n.computed(()=>lw(e.type)),r=n.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=n.resolveComponent("KBadge");return n.openBlock(),n.createBlock(l,{appearance:r.value,class:n.normalizeClass({condensed:i.condensed})},{icon:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(t.value)))]),default:n.withCtx(()=>[n.createTextVNode(" "+n.toDisplayString(o.value),1)]),_:1},8,["appearance","class"])}}}),[["__scopeId","data-v-d74d2a44"]]),qP={class:"body"},jP={class:"info-line"},GP={class:"name"},zP={class:"input-handles"},HP={class:"handle"},YP={class:"handle-label-wrapper"},WP={class:"handle-label-wrapper"},ZP={class:"handle-label"},XP={class:"output-handles"},JP={class:"handle"},QP={class:"handle-label-wrapper"},eI={class:"handle-label-wrapper"},tI={class:"handle-label"},xf=we(n.defineComponent({__name:"FlowNode",props:{data:{}},setup(e){const{t}=Ke.createI18n("en-us",je),{getInEdgesByNodeId:o,getOutEdgesByNodeId:r,toggleExpanded:i}=on(),a=n.computed(()=>ea(e.data.type)),l=n.computed(()=>o(e.data.id).some(_=>_.targetField!==void 0)),s=n.computed(()=>r(e.data.id).some(_=>_.sourceField!==void 0)),c=n.computed(()=>e.data.expanded.input??!1),d=n.computed(()=>e.data.expanded.output??!1),u=n.computed(()=>sw(e.data)),f=n.computed(()=>e.data.phase==="response"),p=n.computed(()=>e.data.phase==="request"?ge.Left:ge.Right),m=n.computed(()=>e.data.phase==="request"?ge.Right:ge.Left),h=n.computed(()=>u.value?t(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),y=n.computed(()=>u.value?V0:R0);function g(_){i(e.data.id,_)}return n.watch(l,_=>{_&&i(e.data.id,"input",!0)},{immediate:!0}),n.watch(s,_=>{_&&i(e.data.id,"output",!0)},{immediate:!0}),(_,w)=>{var b,v;return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["flow-node",{reversed:f.value,implicit:u.value}])},[n.createElementVNode("div",qP,[n.createElementVNode("div",jP,[n.createElementVNode("div",GP,n.toDisplayString(h.value),1),u.value?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(Sf,{key:0,condensed:"",type:_.data.type},null,8,["type"]))]),n.renderSlot(_.$slots,"default",{},void 0,!0)]),n.createElementVNode("div",{class:n.normalizeClass(["handles",{reversed:f.value}])},[n.createElementVNode("div",zP,[(b=a.value.io)!=null&&b.input?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("div",HP,[n.createVNode(n.unref(jt),{id:"input",position:p.value,type:"target"},null,8,["position"]),n.createElementVNode("div",YP,[n.createElementVNode("div",{class:n.normalizeClass(["handle-label",{"has-fields":_.data.fields.input.length>0,"not-collapsible":l.value}])},[w[2]||(w[2]=n.createElementVNode("div",null,"inputs",-1)),_.data.fields.input.length>0?(n.openBlock(),n.createElementBlock("div",{key:0,class:"icon",onClick:w[0]||(w[0]=n.withModifiers(P=>l.value||g("input"),["stop"]))},[c.value?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(n.unref(Ee.UnfoldMoreIcon),{key:0,size:n.unref(lo)},null,8,["size"])),c.value?(n.openBlock(),n.createBlock(n.unref(Ee.UnfoldLessIcon),{key:1,size:n.unref(lo)},null,8,["size"])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)],2),c.value?(n.openBlock(),n.createBlock(oi,{key:0,color:y.value,position:p.value,type:"bar"},null,8,["color","position"])):n.createCommentVNode("",!0)])]),c.value?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:0},n.renderList(_.data.fields.input,(P,k)=>(n.openBlock(),n.createElementBlock("div",{key:`inputs-${P.id}`,class:"handle indented"},[n.createVNode(n.unref(jt),{id:`inputs:${P.id}`,position:p.value,type:"target"},null,8,["id","position"]),n.createElementVNode("div",WP,[n.createElementVNode("div",ZP,n.toDisplayString(P.name),1),n.createVNode(oi,{color:y.value,position:p.value,type:k<_.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):n.createCommentVNode("",!0)],64)):n.createCommentVNode("",!0)]),n.createElementVNode("div",XP,[(v=a.value.io)!=null&&v.output?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("div",JP,[n.createElementVNode("div",QP,[n.createElementVNode("div",{class:n.normalizeClass(["handle-label",{"has-fields":_.data.fields.output.length>0,"not-collapsible":s.value}])},[w[3]||(w[3]=n.createElementVNode("div",null,"outputs",-1)),_.data.fields.output.length>0?(n.openBlock(),n.createElementBlock("div",{key:0,class:"icon",onClick:w[1]||(w[1]=n.withModifiers(P=>s.value||g("output"),["stop"]))},[d.value?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(n.unref(Ee.UnfoldMoreIcon),{key:0,size:n.unref(lo)},null,8,["size"])),d.value?(n.openBlock(),n.createBlock(n.unref(Ee.UnfoldLessIcon),{key:1,size:n.unref(lo)},null,8,["size"])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)],2),d.value?(n.openBlock(),n.createBlock(oi,{key:0,color:y.value,position:m.value,type:"bar"},null,8,["color","position"])):n.createCommentVNode("",!0)]),n.createVNode(n.unref(jt),{id:"output",position:m.value,type:"target"},null,8,["position"])]),d.value?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:0},n.renderList(_.data.fields.output,(P,k)=>(n.openBlock(),n.createElementBlock("div",{key:`outputs-${P.id}`,class:"handle indented"},[n.createElementVNode("div",eI,[n.createElementVNode("div",tI,n.toDisplayString(P.name),1),n.createVNode(oi,{color:y.value,position:m.value,type:k<_.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),n.createVNode(n.unref(jt),{id:`outputs:${P.id}`,position:m.value,type:"source"},null,8,["id","position"])]))),128)):n.createCommentVNode("",!0)],64)):n.createCommentVNode("",!0)])],2)],2)}}}),[["__scopeId","data-v-4b9a760d"]]),nI={ref:"flow-wrapper",class:"flow-wrapper"},Af=we(n.defineComponent({__name:"EditorCanvasFlow",props:{phase:{}},emits:["click:node","click:backdrop"],setup(e,{emit:t}){const o=e,r=n.useTemplateRef("flow-wrapper"),i=n.ref(!1),l=`${n.useId()}-${o.phase}`,{vueFlowStore:s,editorStore:c,nodes:d,edges:u,autoLayout:f}=UP(o.phase,l),{addNode:p,moveNode:m,removeNode:h}=c,{project:y,vueFlowRef:g}=s,_=t,w=I=>{var K,B;const Y=(K=I.dataTransfer)==null?void 0:K.getData(Vc);if(!Y)return;I.preventDefault();const j=JSON.parse(Y);if(j.action!=="create-node")return;const{top:N=0,left:C=0}=((B=g.value)==null?void 0:B.getBoundingClientRect())||{},E=y({x:I.clientX-C,y:I.clientY-N}),{type:D,anchor:T}=j.data,G={type:D,phase:o.phase,position:{x:E.x-T.offsetX,y:E.y-T.offsetY}};p(G)};function b({event:I,node:Y}){I.stopPropagation(),_("click:node",Y.data)}function v(I){I.target instanceof Element&&I.target.closest(".vue-flow__controls")||_("click:backdrop")}function P(){i.value||(i.value=!0,k())}function k(){f({boundingRect:r.value.getBoundingClientRect()})}const L=I=>{const{node:Y}=I;Y&&m(Y.id,Y.position)},$=I=>{I.forEach(Y=>{Y.type==="remove"&&h(Y.id)})};return(I,Y)=>(n.openBlock(),n.createElementBlock("div",nI,[n.createVNode(n.unref(Tu),{id:l,class:"flow",edges:n.unref(u),"fit-view-on-init":"",nodes:n.unref(d),onClickCapture:v,onDragover:Y[0]||(Y[0]=n.withModifiers(()=>{},["prevent"])),onDrop:Y[1]||(Y[1]=j=>w(j)),onNodeClick:b,onNodeDragStop:L,onNodesChange:$,onNodesInitialized:P},{"node-flow":n.withCtx(j=>[n.createVNode(xf,{data:j.data},null,8,["data"])]),default:n.withCtx(()=>[n.createVNode(n.unref(fS)),n.createVNode(n.unref(MS),{position:"bottom-left"},{default:n.withCtx(()=>[n.createElementVNode("button",{class:"vue-flow__controls-button vue-flow__controls-interactive custom",onClick:k},[n.createVNode(n.unref(Ee.SparklesIcon),{size:18})])]),_:1})]),_:1},8,["edges","nodes"])],512))}}),[["__scopeId","data-v-843460ca"]]),oI={class:"dk-editor-main"},rI={class:"header"},iI={class:"actions"},aI={ref:"canvasContainer",class:"body"},lI=we(n.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:t}){const{t:o}=Ke.createI18n("en-us",je),r=t;return(i,a)=>(n.openBlock(),n.createElementBlock("div",oI,[n.createElementVNode("header",rI,[n.createElementVNode("div",iI,[n.createVNode(n.unref(Ie.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(o)("plugins.free-form.datakit.flow_editor.view_docs"))+" ",1),n.createVNode(n.unref(Ee.ExternalLinkIcon))]),_:1}),n.createVNode(n.unref(Ie.KButton),null,{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(o)("plugins.free-form.datakit.flow_editor.save")),1)]),_:1})])]),n.createElementVNode("div",aI,[n.createVNode(lE,null,{request:n.withCtx(()=>[n.createVNode(Af,{phase:"request","onClick:backdrop":a[0]||(a[0]=l=>r("click:backdrop")),"onClick:node":a[1]||(a[1]=l=>r("click:node",l))})]),response:n.withCtx(()=>[n.createVNode(Af,{phase:"response","onClick:backdrop":a[2]||(a[2]=l=>r("click:backdrop")),"onClick:node":a[3]||(a[3]=l=>r("click:node",l))})]),_:1})],512)]))}}),[["__scopeId","data-v-dd73cf8c"]]),sI={class:"icon"},cI={class:"content"},dI={class:"title"},uI={class:"description"},fI=we(n.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{summary:t,icon:o}=rr[e.type];return(r,i)=>(n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["dk-node-panel-item",{[`node-type-${r.type}`]:!0}])},[n.createElementVNode("div",sI,[n.createVNode(n.unref(o),{size:16})]),n.createElementVNode("div",cI,[n.createElementVNode("div",dI,n.toDisplayString(r.type),1),n.createElementVNode("div",uI,n.toDisplayString(n.unref(t)),1)])],2))}}),[["__scopeId","data-v-e75cecee"]]),pI={class:"dk-node-panel"},mI={class:"title"},gI={class:"node-list"},hI={class:"preview"},yI=we(n.defineComponent({__name:"NodePanel",setup(e){const{t}=Ke.createI18n("en-us",je),{createNode:o}=on(),r=`dk-drag-preview-${n.useId()}`,i=n.shallowRef(),a=n.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var $,I;const d=s.currentTarget,{left:u,top:f,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-u,y=s.clientY-f;i.value=o({type:c}),await n.nextTick();const g=document.querySelector(`#${r}`)||d,_=g.cloneNode(!0),{offsetWidth:w,offsetHeight:b}=g;Object.assign(_.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`,boxSizing:"border-box"}),document.body.appendChild(_);const v=h/p,P=y/m,k={ratioX:v,ratioY:P,offsetX:w*v,offsetY:b*P},L={action:"create-node",data:{type:c,anchor:k}};($=s.dataTransfer)==null||$.setData(Vc,JSON.stringify(L)),(I=s.dataTransfer)==null||I.setDragImage(_,k.offsetX,k.offsetY),requestAnimationFrame(()=>{_.remove(),i.value=void 0})};return(s,c)=>{const d=n.resolveComponent("KLabel");return n.openBlock(),n.createElementBlock("div",pI,[n.createElementVNode("h3",mI,[n.createVNode(d,{class:"label",info:n.unref(t)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])]),n.createElementVNode("div",gI,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Object.keys(n.unref(rr)),u=>(n.openBlock(),n.createBlock(fI,{key:u,draggable:"true",type:u,onDragstart:f=>l(f,u)},null,8,["type","onDragstart"]))),128))]),n.createElementVNode("div",hI,[n.createVNode(n.unref(Tu),{nodes:a.value},{"node-flow":n.withCtx(u=>[n.createVNode(xf,{id:r,data:u.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-fe972e61"]]),_I=n.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(t,o)=>(n.openBlock(),n.createBlock(yt,{items:n.unref(Fi)([...n.unref(nE)]),name:t.name},null,8,["items","name"]))}}),bI=we(n.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:t}=Be(),{i18n:o}=Qe(),r=n.computed(()=>{const i=t("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(n.openBlock(),n.createBlock(ct,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:n.withCtx(()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.value,l=>(n.openBlock(),n.createBlock(yt,{key:l,class:"dk-inputs-field-indent",clearable:"",items:i.items,name:l,placeholder:n.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),[["__scopeId","data-v-70bcadbe"]]),wI=["data-testid"],EI={class:"dk-inputs-map-field-entry-body"},kI={class:"dk-inputs-map-field-entry-content"},CI={class:"dk-inputs-map-field-indent"},vI=we(n.defineComponent({__name:"InputsMapField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean}},emits:["change"],setup(e,{emit:t}){const o=e,r=t,{entries:i,addEntry:a,removeEntry:l,field:s}=Yi(o,r),{i18n:c}=Qe(),d=n.useTemplateRef("root");async function u(p,m="key"){var h;d.value&&(await n.nextTick(),(h=d.value.querySelector(`[data-${m}-input="${p}"]`))==null||h.focus())}function f(){a();const p=i.value.findIndex(({key:m})=>!m);u(p===-1?i.value.length-1:p)}return(p,m)=>{const h=n.resolveComponent("KAlert"),y=n.resolveComponent("KLabel"),g=n.resolveComponent("KInput"),_=n.resolveComponent("KSelect"),w=n.resolveComponent("KButton");return n.unref(s).error?(n.openBlock(),n.createBlock(h,{key:0,appearance:"danger",message:n.unref(s).error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(i),(b,v)=>(n.openBlock(),n.createElementBlock("div",{key:b.id,class:"dk-inputs-map-field-entry dk-inputs-map-field-indent","data-testid":`ff-kv-container-${n.unref(s).path.value}.${v}`},[n.createVNode(y,{for:`ff-kv-entry-key-${n.unref(s).path.value}.${v}`},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),n.createElementVNode("div",EI,[n.createElementVNode("div",kI,[n.createVNode(g,{id:`ff-kv-entry-key-${n.unref(s).path.value}.${v}`,modelValue:b.key,"onUpdate:modelValue":P=>b.key=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":v,"data-testid":`ff-key-${n.unref(s).path.value}.${v}`,placeholder:n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder")},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder"]),n.createVNode(_,{modelValue:b.value,"onUpdate:modelValue":P=>b.value=P,class:"ff-kv-field-entry-value","data-testid":`ff-value-${n.unref(s).path.value}.${v}`,items:[],placeholder:n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","placeholder"])]),n.createVNode(w,{appearance:"none","data-testid":`ff-kv-remove-btn-${n.unref(s).path.value}.${v}`,icon:"",onClick:P=>n.unref(l)(b.id)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,wI))),128)),n.createElementVNode("div",CI,[n.createVNode(w,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${n.unref(s).path.value}`,onClick:f},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon)),n.createTextVNode(" "+n.toDisplayString(n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid"])])],512))}}}),[["__scopeId","data-v-e1e0f40e"]]),Kn=n.defineComponent({__name:"InputsField",props:{items:{}},emits:["change:input","change:inputs","addField","removeField","renameField"],setup(e,{emit:t}){const o=t,{getSchema:r}=Be(),{i18n:i}=Qe(),a=n.computed(()=>r("inputs")),l=n.computed(()=>a.value?a.value.type==="record"?bI:vI:null);function s(d){o("change:input",d?d.value:null)}function c(d,u){o("change:inputs",d,u)}return(d,u)=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[n.unref(r)("input")?(n.openBlock(),n.createBlock(yt,{key:0,clearable:"",items:d.items,label:"Inputs",name:"input",placeholder:n.unref(i).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","placeholder"])):n.createCommentVNode("",!0),l.value?(n.openBlock(),n.createBlock(n.unref(l),{key:1,items:d.items,name:"inputs","onChange:inputs":c},null,8,["items"])):n.createCommentVNode("",!0)],64))}}),NI={fields:[{name:{type:"string",required:!0}},{method:{default:"GET",description:"A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters.",len_max:32,len_min:1,match:"^%u+$",type:"string"}},{ssl_server_name:{description:"A string representing an SNI (server name indication) value for TLS.",type:"string"}},{timeout:{between:[0,2147483646],description:"An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2.",type:"integer"}},{url:{description:"A string representing a URL, such as https://example.com/path/to/resource?q=search.",required:!0,type:"string"}},{input:{description:"call node input",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}},{output:{description:"call node output",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{outputs:{description:"call node outputs",fields:[{body:{description:"HTTP response body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP response headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{status:{description:"HTTP response status code",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},SI={fields:[{name:{type:"string",required:!0}},{status:{between:[200,599],default:200,description:"HTTP status code",required:!1,type:"integer"}},{warn_headers_sent:{required:!1,type:"boolean"}},{input:{description:"exit node input",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"exit node inputs",fields:[{body:{description:"HTTP response body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP response headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},xI={fields:[{name:{type:"string",required:!0}},{jq:{description:"The jq filter text. Refer to https://jqlang.org/manual/ for full documentation.",len_max:10240,len_min:1,required:!0,type:"string"}},{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"filter input(s)",keys:{len_max:255,len_min:1,type:"string"},required:!1,type:"map",values:{len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},type:"string"}}},{output:{description:"filter output(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],type:"record"},AI={fields:[{name:{type:"string",required:!0}},{content_type:{description:"The expected mime type of the property value. When set to `application/json`, SET operations will JSON-encode input data before writing it, and GET operations will JSON-decode output data after reading it. Otherwise, this setting has no effect.",one_of:["application/json","text/plain","application/octet-stream"],required:!1,type:"string"}},{property:{description:"The property name to get/set",len_max:255,len_min:1,required:!0,type:"string"}},{input:{description:"Property input source. When connected, this node operates in SET mode and writes input data to the property. Otherwise, the node operates in GET mode and reads the property.",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{output:{description:"Property output. This can be connected regardless of whether the node is operating in GET mode or SET mode.",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],type:"record"},TI={fields:[{name:{type:"string",required:!0}},{values:{description:"An object with string keys and freeform values",json_schema:{inline:{type:"object"}},required:!0,type:"json"}},{output:{description:"The entire `.values` map",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{outputs:{description:"Individual items from `.values`, referenced by key",keys:{len_max:255,len_min:1,type:"string"},required:!1,type:"map",values:{len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},type:"string"}}}],type:"record"},PI={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},II={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function ol(e){const{selectedNode:t,state:o,renameNode:r,getNodeById:i,addField:a,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:d,connectEdge:u}=on(),f=n.computed(()=>t.value.id),p=n.ref(!1);n.watch(o,async()=>{p.value=!0,await n.nextTick(),p.value=!1},{immediate:!0,deep:!0}),console.log("state",o.value),window.store=on();const m=n.computed(()=>{const Y=o.value.edges.filter(j=>j.target===f.value).reduce((j,N)=>{var G,K;const C=i(N.source),E=(G=In(C,"output",N.sourceField))==null?void 0:G.id,D=(K=In(t.value,"input",N.targetField))==null?void 0:K.name,T=C.id+(E?`.${E}`:"");return D?j.inputs={...j.inputs,[D]:T}:j.input=T,j},{});return{...t.value.config,...Y,name:t.value.name}}),h=I=>{p.value||r(f.value,I??"")},y=(I=!0)=>{if(p.value)return;const{name:Y,input:j,inputs:N,...C}=e();c(f.value,C,I)},g=(I,Y)=>{a(f.value,I,Y)},_=(I,Y)=>{l(f.value,I,Y)},w=I=>{s(f.value,I)},b=n.computed(()=>o.value.edges.filter(I=>I.target===f.value&&!I.targetField)[0]),v=n.computed(()=>o.value.edges.filter(I=>I.target===f.value&&I.targetField)),P=(I,Y)=>{var G;if(p.value)return;const j=Y==null,N=(G=ar(t.value,"input",I))==null?void 0:G.id;if(j){const K=v.value.find(B=>B.targetField===N);K&&d(K.id,!0);return}b.value&&d(b.value.id,!1);const C=v.value.find(K=>K.targetField===N);C&&d(C.id,!1);const{nodeId:E,fieldId:D}=_c(Y),T=ar(t.value,"input",I).id;u({source:E,sourceField:D,target:f.value,targetField:T})},k=(I,Y=!0)=>{if(p.value)return;const j=I==null;for(const E of[...v.value,b.value].filter(Boolean))d(E.id,Y&&j);if(j)return;const{nodeId:N,fieldId:C}=_c(I);u({source:N,sourceField:C,target:f.value,targetField:void 0},Y)},L=I=>{const Y=[...o.value.edges,{source:I,target:f.value}];return na(lr(Y))},$=n.computed(()=>{var Y,j,N;const I=[];for(const C of o.value.nodes){const E=ea(C.type);if((Y=E.io)!=null&&Y.output&&!(!C.fields.output.length&&!((N=(j=E.io)==null?void 0:j.output)!=null&&N.configurable))&&C.id!==f.value&&!L(C.id)){I.push({value:C.id,label:C.name});for(const D of C.fields.output)I.push({value:`${C.id}.${D.id}`,label:`${C.name}.${D.name}`})}}return I});return{formData:m,inputOptions:$,inputEdge:b,inputsEdges:v,setName:h,setConfig:y,addField:g,renameField:_,removeField:w,setInputs:P,setInput:k}}const OI=n.defineComponent({__name:"NodeFormCall",setup(e){const{i18n:t}=Qe(),o=n.useTemplateRef("form"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c}=ol(()=>o.value.getInnerData());return(d,u)=>{const f=n.resolveComponent("KLabel");return n.openBlock(),n.createBlock(_t,{ref:"form",config:{updateOnChange:!0},data:n.unref(r),schema:n.unref(NI)},{default:n.withCtx(()=>[n.createVNode(Pt,{name:"name","onUpdate:modelValue":n.unref(i)},null,8,["onUpdate:modelValue"]),n.createVNode(f,{class:"dk-node-configuration-label"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t).t("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),n.createVNode(Pt,{name:"url","onUpdate:modelValue":u[0]||(u[0]=p=>n.unref(a)())}),n.createVNode(_I,{name:"method","onUpdate:modelValue":u[1]||(u[1]=p=>n.unref(a)())}),n.createVNode(An,{label:n.unref(t).t("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout","onUpdate:modelValue":u[2]||(u[2]=p=>n.unref(a)())},null,8,["label"]),n.createVNode(Pt,{name:"ssl_server_name","onUpdate:modelValue":u[3]||(u[3]=p=>n.unref(a)())}),n.createVNode(Kn,{items:n.unref(l),"onChange:input":n.unref(c),"onChange:inputs":n.unref(s)},null,8,["items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),$I=n.defineComponent({__name:"NodeFormServiceRequest",setup(e){return(t,o)=>(n.openBlock(),n.createBlock(_t,{schema:n.unref(PI),onChange:console.log},{default:n.withCtx(()=>[n.createVNode(Kn,{items:[]})]),_:1},8,["schema","onChange"]))}}),BI=n.defineComponent({__name:"NodeFormResponse",setup(e){return(t,o)=>(n.openBlock(),n.createBlock(_t,{schema:n.unref(II),onChange:console.log},{default:n.withCtx(()=>[n.createVNode(Kn,{items:[]})]),_:1},8,["schema","onChange"]))}}),DI=n.defineComponent({__name:"NodeFormJq",setup(e){const{i18n:t}=Qe();return(o,r)=>{const i=n.resolveComponent("KLabel");return n.openBlock(),n.createBlock(_t,{schema:n.unref(xI),onChange:console.log},{default:n.withCtx(()=>[n.createVNode(ze,{name:"name"}),n.createVNode(i,{class:"dk-node-configuration-label"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t).t("plugins.free-form.datakit.flow_editor.node_properties.Configuration")),1)]),_:1}),n.createVNode(Pt,{label:n.unref(t).t("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),multiline:"",name:"jq",resizable:"",rows:"2"},null,8,["label"]),n.createVNode(Kn,{items:[]})]),_:1},8,["schema","onChange"])}}}),VI=we(n.defineComponent({__name:"OutputValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean}},emits:["change"],setup(e,{emit:t}){const o=e,r=t,{entries:i,addEntry:a,removeEntry:l,field:s}=Yi(o,r),{i18n:c}=Qe(),d=n.useTemplateRef("root");async function u(p,m="key"){var h;d.value&&(await n.nextTick(),(h=d.value.querySelector(`[data-${m}-input="${p}"]`))==null||h.focus())}function f(){a();const p=i.value.findIndex(({key:m})=>!m);u(p===-1?i.value.length-1:p)}return(p,m)=>{const h=n.resolveComponent("KAlert"),y=n.resolveComponent("KLabel"),g=n.resolveComponent("KButton"),_=n.resolveComponent("KInput"),w=n.resolveComponent("KCard");return n.unref(s).error?(n.openBlock(),n.createBlock(h,{key:0,appearance:"danger",message:n.unref(s).error.message},null,8,["message"])):(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-output-value-field"},[n.createVNode(y,{class:"dk-node-configuration-label"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(i),(b,v)=>(n.openBlock(),n.createBlock(w,{key:b.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${n.unref(s).path.value}.${v}`},{actions:n.withCtx(()=>[n.createVNode(g,{appearance:"none","data-testid":`ff-kv-remove-btn-${n.unref(s).path.value}.${v}`,icon:"",onClick:P=>n.unref(l)(b.id)},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:n.withCtx(()=>[n.createVNode(_,{id:`ff-kv-entry-key-${n.unref(s).path.value}.${v}`,modelValue:b.key,"onUpdate:modelValue":P=>b.key=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":v,"data-testid":`ff-key-${n.unref(s).path.value}.${v}`,label:n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","label"]),n.createVNode(_,{modelValue:b.value,"onUpdate:modelValue":P=>b.value=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${n.unref(s).path.value}.${v}`,label:n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value")},null,8,["modelValue","onUpdate:modelValue","data-testid","label"])]),_:2},1032,["data-testid"]))),128)),n.createVNode(g,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${n.unref(s).path.value}`,onClick:f},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon)),n.createTextVNode(" "+n.toDisplayString(n.unref(c).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid"])],512))}}}),[["__scopeId","data-v-58672f4f"]]),RI=n.defineComponent({__name:"NodeFormStatic",setup(e){return(t,o)=>(n.openBlock(),n.createBlock(_t,{schema:n.unref(TI),onChange:console.log},{default:n.withCtx(()=>[n.createVNode(ze,{name:"name"}),n.createVNode(VI,{name:"values"})]),_:1},8,["schema","onChange"]))}}),Un="{key}",qn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},ri=Object.keys(qn).filter(e=>e.includes(Un)).map(e=>e.replace(Un,""));function Tf(e){if(!e||!ii(e))return;const t=ri.find(o=>e.startsWith(o));if(t)return e.slice(t.length).replace(Un,"")}function Po(e){if(!e)return null;const t=ri.find(o=>e.startsWith(o));return t||e}function ii(e){return e?ri.some(t=>e.startsWith(t)):!1}function MI(e){return e?ii(e)?Po(e)+Un:e:null}function Pf(e){var o;if(!e)return!1;const t=MI(e);return t?((o=qn[t])==null?void 0:o.writable)??!1:!1}const LI={class:"dk-kong-property-item"},FI={class:"property-type"},KI={class:"property-badges"},UI=we(n.defineComponent({__name:"PropertiesField",emits:["update:model-value"],setup(e,{emit:t}){const{i18n:{t:o}}=Qe(),r=t,{formData:i}=Be(),a=n.ref(Po(i.property)),l=n.computed(()=>ii(i.property)),s=n.ref(Tf(i.property)),c=n.computed(()=>Object.entries(qn).map(([f])=>{var h;const p=ii(f)?(h=i.property)==null?void 0:h.startsWith(f.replace(Un,"")):i.property===f;return{label:p&&s.value?f.replace(Un,s.value):f,value:f,selected:p}}));function d(f){const p=ri.find(h=>{var y;return(y=i.property)==null?void 0:y.startsWith(h)});if(!p)return;const m=f.target.value;i.property=p+m,r("update:model-value",i.property)}function u(f){a.value!==Po(f==null?void 0:f.value)&&(i.property=(f==null?void 0:f.value)||null,a.value=Po(i.property),r("update:model-value",i.property))}return n.watch(()=>i.property,f=>{s.value=Tf(f),a.value=Po(f)}),(f,p)=>{const m=n.resolveComponent("KBadge"),h=n.resolveComponent("KSelect"),y=n.resolveComponent("KInput");return n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createVNode(h,{items:c.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onChange:u},{"item-template":n.withCtx(({item:g})=>[n.createElementVNode("div",LI,[n.createElementVNode("div",null,[n.createElementVNode("div",null,n.toDisplayString(g.label),1),n.createElementVNode("div",FI,n.toDisplayString(n.unref(qn)[g.value].dataType),1)]),n.createElementVNode("div",KI,[n.unref(qn)[g.value].readable?(n.openBlock(),n.createBlock(m,{key:0,appearance:"info"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):n.createCommentVNode("",!0),n.unref(qn)[g.value].writable?(n.openBlock(),n.createBlock(m,{key:1,appearance:"warning"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):n.createCommentVNode("",!0)])])]),_:1},8,["items"]),l.value?(n.openBlock(),n.createBlock(y,{key:0,modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=g=>s.value=g),label:"key",required:"",onChange:d},null,8,["modelValue"])):n.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-041be117"]]),qI=n.defineComponent({__name:"NodeFormProperty",setup(e){const t=n.useTemplateRef("form"),{formData:o,setName:r,setConfig:i,inputOptions:a,setInputs:l,setInput:s}=ol(()=>t.value.getInnerData()),c=n.computed(()=>Pf(o.value.property));function d(u){Pf(u)||s(null,!1),i()}return(u,f)=>(n.openBlock(),n.createBlock(_t,{ref:"form",config:{updateOnChange:!0},data:n.unref(o),schema:n.unref(AI)},{default:n.withCtx(()=>[n.createVNode(Pt,{name:"name","onUpdate:modelValue":n.unref(r)},null,8,["onUpdate:modelValue"]),n.createVNode(yt,{name:"content_type","onUpdate:modelValue":n.unref(i)},null,8,["onUpdate:modelValue"]),n.createVNode(UI,{"onUpdate:modelValue":d}),c.value?(n.openBlock(),n.createBlock(Kn,{key:0,items:n.unref(a),"onChange:input":n.unref(s),"onChange:inputs":n.unref(l)},null,8,["items","onChange:input","onChange:inputs"])):n.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),jI=n.defineComponent({__name:"NodeFormExit",setup(e){const t=n.useTemplateRef("form"),{formData:o,setName:r,setConfig:i,inputOptions:a,setInputs:l,setInput:s}=ol(()=>t.value.getInnerData());return(c,d)=>(n.openBlock(),n.createBlock(_t,{ref:"form",config:{updateOnChange:!0},data:n.unref(o),schema:n.unref(SI)},{default:n.withCtx(()=>[n.createVNode(Pt,{name:"name","onUpdate:modelValue":n.unref(r)},null,8,["onUpdate:modelValue"]),n.createVNode(An,{name:"status","onUpdate:modelValue":d[0]||(d[0]=u=>n.unref(i)())}),n.createVNode(lc,{name:"warn_headers_sent","onUpdate:modelValue":d[1]||(d[1]=u=>n.unref(i)())}),n.createVNode(Kn,{items:n.unref(a),"onChange:input":n.unref(s),"onChange:inputs":n.unref(l)},null,8,["items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),GI=["innerHTML"],zI=we(n.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:()=>eE},offsetTop:{default:()=>tE},visible:{type:Boolean}},emits:["close"],setup(e){const{selectedNode:t}=on(),o=n.computed(()=>{var r;switch((r=t.value)==null?void 0:r.type){case"call":return OI;case"service_request":return $I;case"response":return BI;case"jq":return DI;case"static":return RI;case"property":return qI;case"exit":return jI;default:return null}});return(r,i)=>(n.openBlock(),n.createBlock(n.unref(Ie.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":r.maxWidth,"offset-top":r.offsetTop,visible:r.visible,onClose:i[0]||(i[0]=a=>r.$emit("close"))},n.createSlots({default:n.withCtx(()=>[n.unref(t)?(n.openBlock(),n.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:n.unref(bt)(n.unref(t).type)},null,8,GI)):n.createCommentVNode("",!0),o.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(o.value),{key:1,class:"dk-node-properties-panel-form"})):n.createCommentVNode("",!0)]),_:2},[n.unref(t)?{name:"title",fn:n.withCtx(()=>[n.createVNode(Sf,{type:n.unref(t).type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-a4c48b65"]]),HI={class:"dk-editor-content"},YI={class:"header"},WI={class:"title"},ZI={class:"body"},XI={class:"node-selection-panel"},JI={class:"main"},QI=we(n.defineComponent({__name:"EditorContent",setup(e){const{t}=Ke.createI18n("en-us",je),{sidePanelExpanded:o}=oa(),{selectNode:r,selectedNode:i}=on(),a=n.ref(!1);let l=!1;const s=u=>{a.value=u},c=u=>{l=!0,setTimeout(()=>{l=!1},10),r(u.id),s(!0)},d=()=>{setTimeout(()=>{l||s(!1)},0)};return n.watch(i,u=>{u||s(!1)}),(u,f)=>(n.openBlock(),n.createElementBlock("div",HI,[n.createElementVNode("aside",{class:n.normalizeClass(["side-panel",{expanded:n.unref(o)}])},[n.createElementVNode("header",YI,[n.createElementVNode("h2",WI,n.toDisplayString(n.unref(t)("plugins.free-form.datakit.flow_editor.name")),1)]),n.createElementVNode("div",ZI,[n.createElementVNode("div",XI,[n.createVNode(yI)])])],2),n.createElementVNode("div",JI,[n.createVNode(lI,{"onClick:backdrop":d,"onClick:node":c})]),n.createVNode(zI,{visible:a.value,onClose:d},null,8,["visible"])]))}}),[["__scopeId","data-v-05771600"]]),eO=we(n.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:n.mergeModels(["close"],["update:open"]),setup(e,{emit:t}){n.useCssVars(u=>({"4da009a8":n.unref(Qw),"363e5834":n.unref(Jw)}));const o=n.useTemplateRef("modal"),r=n.useModel(e,"open"),i=t,a=n.useTemplateRef("content"),l=Je.useScrollLock(document),{activate:s,deactivate:c}=Xw(o,{returnFocusOnDeactivate:!0,initialFocus:()=>{var u;return(u=a.value)==null?void 0:u.$el}});n.watch(r,async u=>{l.value=!!u,await n.nextTick(),u?s():c()},{immediate:!0});function d(){r.value=!1,i("close")}return(u,f)=>r.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"modal",ref:o,class:"dk-editor-modal"},[n.createVNode(aE,{class:"nav",onBack:d}),n.createVNode(QI,{ref_key:"content",ref:a,class:"content",tabindex:"0"},null,512)],512)):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-a5d8043d"]]),tO={class:"dk-flow-editor"},nO=n.defineComponent({__name:"FlowEditor",props:{editing:{type:Boolean},config:{}},setup(e){const{t}=Ke.createI18n("en-us",je),o=n.ref(!1);return yw([{name:"CAT_FACT",type:"call",url:"https://catfact.ninja/fact",input:"request.body"},{name:"DOG_FACT",type:"call",url:"https://dogapi.dog/api/v1/facts"},{name:"JOIN",type:"jq",inputs:{cat:"CAT_FACT.body",dog:"DOG_FACT.body"},jq:`{
|
|
46
|
+
cat_fact: .cat.fact,
|
|
47
|
+
dog_fact: .dog.facts[0],
|
|
48
|
+
}
|
|
49
|
+
`},{name:"EXIT",type:"exit",inputs:{body:"JOIN"},status:200},{name:"DANGLING_CALL",type:"call",url:"https://dogapi.dog/api/v1/facts"},{name:"READ_UPSTREAM",type:"jq",input:"service_response",jq:"."}],[]),(r,i)=>{const a=n.resolveComponent("KButton");return n.openBlock(),n.createElementBlock("div",tO,[i[2]||(i[2]=n.createElementVNode("div",null,"Nothing here yet.",-1)),n.createVNode(a,{appearance:"secondary",onClick:i[0]||(i[0]=l=>o.value=!0)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("plugins.free-form.datakit.flow_editor.cta")),1)]),_:1}),n.createVNode(eO,{open:o.value,"onUpdate:open":i[1]||(i[1]=l=>o.value=l)},null,8,["open"])])}}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function If(e){return typeof e>"u"||e===null}function oO(e){return typeof e=="object"&&e!==null}function rO(e){return Array.isArray(e)?e:If(e)?[]:[e]}function iO(e,t){var o,r,i,a;if(t)for(a=Object.keys(t),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=t[i];return e}function aO(e,t){var o="",r;for(r=0;r<t;r+=1)o+=e;return o}function lO(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var sO=If,cO=oO,dO=rO,uO=aO,fO=lO,pO=iO,qe={isNothing:sO,isObject:cO,toArray:dO,repeat:uO,isNegativeZero:fO,extend:pO};function Of(e,t){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(o+=`
|
|
46
50
|
|
|
47
|
-
`+e.mark.snippet),r+" "+o):r}function
|
|
48
|
-
`+s;for(
|
|
49
|
-
`,s+=
|
|
50
|
-
`,c=1;c<=
|
|
51
|
-
`;return s.replace(/\n$/,"")}var
|
|
52
|
-
\r`;function
|
|
53
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function
|
|
54
|
-
`,
|
|
55
|
-
`,a?1+c:c):i===
|
|
56
|
-
`);break}for(r?
|
|
57
|
-
`,a?1+c:c)):
|
|
58
|
-
`,c+1)):c===0?a&&(e.result+=" "):e.result+=
|
|
59
|
-
`,c):e.result+=
|
|
60
|
-
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!
|
|
61
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new
|
|
51
|
+
`+e.mark.snippet),r+" "+o):r}function Io(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=Of(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Io.prototype=Object.create(Error.prototype),Io.prototype.constructor=Io,Io.prototype.toString=function(t){return this.name+": "+Of(this,t)};var et=Io;function rl(e,t,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-t>s&&(a=" ... ",t=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(t,o).replace(/\t/g,"→")+l,pos:r-t+a.length}}function il(e,t){return qe.repeat(" ",t-e.length)+e}function mO(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var o=/\r?\n|\r|\0/g,r=[0],i=[],a,l=-1;a=o.exec(e.buffer);)i.push(a.index),r.push(a.index+a[0].length),e.position<=a.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,d,u=Math.min(e.line+t.linesAfter,i.length).toString().length,f=t.maxLength-(t.indent+u+3);for(c=1;c<=t.linesBefore&&!(l-c<0);c++)d=rl(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),f),s=qe.repeat(" ",t.indent)+il((e.line-c+1).toString(),u)+" | "+d.str+`
|
|
52
|
+
`+s;for(d=rl(e.buffer,r[l],i[l],e.position,f),s+=qe.repeat(" ",t.indent)+il((e.line+1).toString(),u)+" | "+d.str+`
|
|
53
|
+
`,s+=qe.repeat("-",t.indent+u+3+d.pos)+`^
|
|
54
|
+
`,c=1;c<=t.linesAfter&&!(l+c>=i.length);c++)d=rl(e.buffer,r[l+c],i[l+c],e.position-(r[l]-r[l+c]),f),s+=qe.repeat(" ",t.indent)+il((e.line+c+1).toString(),u)+" | "+d.str+`
|
|
55
|
+
`;return s.replace(/\n$/,"")}var gO=mO,hO=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],yO=["scalar","sequence","mapping"];function _O(e){var t={};return e!==null&&Object.keys(e).forEach(function(o){e[o].forEach(function(r){t[String(r)]=o})}),t}function bO(e,t){if(t=t||{},Object.keys(t).forEach(function(o){if(hO.indexOf(o)===-1)throw new et('Unknown option "'+o+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(o){return o},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=_O(t.styleAliases||null),yO.indexOf(this.kind)===-1)throw new et('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var He=bO;function $f(e,t){var o=[];return e[t].forEach(function(r){var i=o.length;o.forEach(function(a,l){a.tag===r.tag&&a.kind===r.kind&&a.multi===r.multi&&(i=l)}),o[i]=r}),o}function wO(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,o;function r(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,o=arguments.length;t<o;t+=1)arguments[t].forEach(r);return e}function al(e){return this.extend(e)}al.prototype.extend=function(t){var o=[],r=[];if(t instanceof He)r.push(t);else if(Array.isArray(t))r=r.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(o=o.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit));else throw new et("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");o.forEach(function(a){if(!(a instanceof He))throw new et("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new et("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new et("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(a){if(!(a instanceof He))throw new et("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(al.prototype);return i.implicit=(this.implicit||[]).concat(o),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=$f(i,"implicit"),i.compiledExplicit=$f(i,"explicit"),i.compiledTypeMap=wO(i.compiledImplicit,i.compiledExplicit),i};var Bf=al,Df=new He("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Vf=new He("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Rf=new He("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Mf=new Bf({explicit:[Df,Vf,Rf]});function EO(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function kO(){return null}function CO(e){return e===null}var Lf=new He("tag:yaml.org,2002:null",{kind:"scalar",resolve:EO,construct:kO,predicate:CO,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function vO(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function NO(e){return e==="true"||e==="True"||e==="TRUE"}function SO(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Ff=new He("tag:yaml.org,2002:bool",{kind:"scalar",resolve:vO,construct:NO,predicate:SO,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function xO(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function AO(e){return 48<=e&&e<=55}function TO(e){return 48<=e&&e<=57}function PO(e){if(e===null)return!1;var t=e.length,o=0,r=!1,i;if(!t)return!1;if(i=e[o],(i==="-"||i==="+")&&(i=e[++o]),i==="0"){if(o+1===t)return!0;if(i=e[++o],i==="b"){for(o++;o<t;o++)if(i=e[o],i!=="_"){if(i!=="0"&&i!=="1")return!1;r=!0}return r&&i!=="_"}if(i==="x"){for(o++;o<t;o++)if(i=e[o],i!=="_"){if(!xO(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}if(i==="o"){for(o++;o<t;o++)if(i=e[o],i!=="_"){if(!AO(e.charCodeAt(o)))return!1;r=!0}return r&&i!=="_"}}if(i==="_")return!1;for(;o<t;o++)if(i=e[o],i!=="_"){if(!TO(e.charCodeAt(o)))return!1;r=!0}return!(!r||i==="_")}function IO(e){var t=e,o=1,r;if(t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),r=t[0],(r==="-"||r==="+")&&(r==="-"&&(o=-1),t=t.slice(1),r=t[0]),t==="0")return 0;if(r==="0"){if(t[1]==="b")return o*parseInt(t.slice(2),2);if(t[1]==="x")return o*parseInt(t.slice(2),16);if(t[1]==="o")return o*parseInt(t.slice(2),8)}return o*parseInt(t,10)}function OO(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!qe.isNegativeZero(e)}var Kf=new He("tag:yaml.org,2002:int",{kind:"scalar",resolve:PO,construct:IO,predicate:OO,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),$O=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function BO(e){return!(e===null||!$O.test(e)||e[e.length-1]==="_")}function DO(e){var t,o;return t=e.replace(/_/g,"").toLowerCase(),o=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:o*parseFloat(t,10)}var VO=/^[-+]?[0-9]+e/;function RO(e,t){var o;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(qe.isNegativeZero(e))return"-0.0";return o=e.toString(10),VO.test(o)?o.replace("e",".e"):o}function MO(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||qe.isNegativeZero(e))}var Uf=new He("tag:yaml.org,2002:float",{kind:"scalar",resolve:BO,construct:DO,predicate:MO,represent:RO,defaultStyle:"lowercase"}),qf=Mf.extend({implicit:[Lf,Ff,Kf,Uf]}),jf=qf,Gf=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),zf=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function LO(e){return e===null?!1:Gf.exec(e)!==null||zf.exec(e)!==null}function FO(e){var t,o,r,i,a,l,s,c=0,d=null,u,f,p;if(t=Gf.exec(e),t===null&&(t=zf.exec(e)),t===null)throw new Error("Date resolve error");if(o=+t[1],r=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(o,r,i));if(a=+t[4],l=+t[5],s=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(u=+t[10],f=+(t[11]||0),d=(u*60+f)*6e4,t[9]==="-"&&(d=-d)),p=new Date(Date.UTC(o,r,i,a,l,s,c)),d&&p.setTime(p.getTime()-d),p}function KO(e){return e.toISOString()}var Hf=new He("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:LO,construct:FO,instanceOf:Date,represent:KO});function UO(e){return e==="<<"||e===null}var Yf=new He("tag:yaml.org,2002:merge",{kind:"scalar",resolve:UO}),ll=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
56
|
+
\r`;function qO(e){if(e===null)return!1;var t,o,r=0,i=e.length,a=ll;for(o=0;o<i;o++)if(t=a.indexOf(e.charAt(o)),!(t>64)){if(t<0)return!1;r+=6}return r%8===0}function jO(e){var t,o,r=e.replace(/[\r\n=]/g,""),i=r.length,a=ll,l=0,s=[];for(t=0;t<i;t++)t%4===0&&t&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|a.indexOf(r.charAt(t));return o=i%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function GO(e){var t="",o=0,r,i,a=e.length,l=ll;for(r=0;r<a;r++)r%3===0&&r&&(t+=l[o>>18&63],t+=l[o>>12&63],t+=l[o>>6&63],t+=l[o&63]),o=(o<<8)+e[r];return i=a%3,i===0?(t+=l[o>>18&63],t+=l[o>>12&63],t+=l[o>>6&63],t+=l[o&63]):i===2?(t+=l[o>>10&63],t+=l[o>>4&63],t+=l[o<<2&63],t+=l[64]):i===1&&(t+=l[o>>2&63],t+=l[o<<4&63],t+=l[64],t+=l[64]),t}function zO(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Wf=new He("tag:yaml.org,2002:binary",{kind:"scalar",resolve:qO,construct:jO,predicate:zO,represent:GO}),HO=Object.prototype.hasOwnProperty,YO=Object.prototype.toString;function WO(e){if(e===null)return!0;var t=[],o,r,i,a,l,s=e;for(o=0,r=s.length;o<r;o+=1){if(i=s[o],l=!1,YO.call(i)!=="[object Object]")return!1;for(a in i)if(HO.call(i,a))if(!l)l=!0;else return!1;if(!l)return!1;if(t.indexOf(a)===-1)t.push(a);else return!1}return!0}function ZO(e){return e!==null?e:[]}var Zf=new He("tag:yaml.org,2002:omap",{kind:"sequence",resolve:WO,construct:ZO}),XO=Object.prototype.toString;function JO(e){if(e===null)return!0;var t,o,r,i,a,l=e;for(a=new Array(l.length),t=0,o=l.length;t<o;t+=1){if(r=l[t],XO.call(r)!=="[object Object]"||(i=Object.keys(r),i.length!==1))return!1;a[t]=[i[0],r[i[0]]]}return!0}function QO(e){if(e===null)return[];var t,o,r,i,a,l=e;for(a=new Array(l.length),t=0,o=l.length;t<o;t+=1)r=l[t],i=Object.keys(r),a[t]=[i[0],r[i[0]]];return a}var Xf=new He("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:JO,construct:QO}),e$=Object.prototype.hasOwnProperty;function t$(e){if(e===null)return!0;var t,o=e;for(t in o)if(e$.call(o,t)&&o[t]!==null)return!1;return!0}function n$(e){return e!==null?e:{}}var Jf=new He("tag:yaml.org,2002:set",{kind:"mapping",resolve:t$,construct:n$}),sl=jf.extend({implicit:[Hf,Yf],explicit:[Wf,Zf,Xf,Jf]}),Gt=Object.prototype.hasOwnProperty,ai=1,Qf=2,ep=3,li=4,cl=1,o$=2,tp=3,r$=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,i$=/[\x85\u2028\u2029]/,a$=/[,\[\]\{\}]/,np=/^(?:!|!!|![a-z\-]+!)$/i,op=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function rp(e){return Object.prototype.toString.call(e)}function Nt(e){return e===10||e===13}function yn(e){return e===9||e===32}function nt(e){return e===9||e===32||e===10||e===13}function jn(e){return e===44||e===91||e===93||e===123||e===125}function l$(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function s$(e){return e===120?2:e===117?4:e===85?8:0}function c$(e){return 48<=e&&e<=57?e-48:-1}function ip(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
57
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function d$(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}for(var ap=new Array(256),lp=new Array(256),Gn=0;Gn<256;Gn++)ap[Gn]=ip(Gn)?1:0,lp[Gn]=ip(Gn);function u$(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||sl,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function sp(e,t){var o={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return o.snippet=gO(o),new et(t,o)}function ye(e,t){throw sp(e,t)}function si(e,t){e.onWarning&&e.onWarning.call(null,sp(e,t))}var cp={YAML:function(t,o,r){var i,a,l;t.version!==null&&ye(t,"duplication of %YAML directive"),r.length!==1&&ye(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),i===null&&ye(t,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),l=parseInt(i[2],10),a!==1&&ye(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=l<2,l!==1&&l!==2&&si(t,"unsupported YAML version of the document")},TAG:function(t,o,r){var i,a;r.length!==2&&ye(t,"TAG directive accepts exactly two arguments"),i=r[0],a=r[1],np.test(i)||ye(t,"ill-formed tag handle (first argument) of the TAG directive"),Gt.call(t.tagMap,i)&&ye(t,'there is a previously declared suffix for "'+i+'" tag handle'),op.test(a)||ye(t,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{ye(t,"tag prefix is malformed: "+a)}t.tagMap[i]=a}};function zt(e,t,o,r){var i,a,l,s;if(t<o){if(s=e.input.slice(t,o),r)for(i=0,a=s.length;i<a;i+=1)l=s.charCodeAt(i),l===9||32<=l&&l<=1114111||ye(e,"expected valid JSON character");else r$.test(s)&&ye(e,"the stream contains non-printable characters");e.result+=s}}function dp(e,t,o,r){var i,a,l,s;for(qe.isObject(o)||ye(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(o),l=0,s=i.length;l<s;l+=1)a=i[l],Gt.call(t,a)||(t[a]=o[a],r[a]=!0)}function zn(e,t,o,r,i,a,l,s,c){var d,u;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),d=0,u=i.length;d<u;d+=1)Array.isArray(i[d])&&ye(e,"nested arrays are not supported inside keys"),typeof i=="object"&&rp(i[d])==="[object Object]"&&(i[d]="[object Object]");if(typeof i=="object"&&rp(i)==="[object Object]"&&(i="[object Object]"),i=String(i),t===null&&(t={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(d=0,u=a.length;d<u;d+=1)dp(e,t,a[d],o);else dp(e,t,a,o);else!e.json&&!Gt.call(o,i)&&Gt.call(t,i)&&(e.line=l||e.line,e.lineStart=s||e.lineStart,e.position=c||e.position,ye(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(t,i,{configurable:!0,enumerable:!0,writable:!0,value:a}):t[i]=a,delete o[i];return t}function dl(e){var t;t=e.input.charCodeAt(e.position),t===10?e.position++:t===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):ye(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function Me(e,t,o){for(var r=0,i=e.input.charCodeAt(e.position);i!==0;){for(;yn(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(t&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(Nt(i))for(dl(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return o!==-1&&r!==0&&e.lineIndent<o&&si(e,"deficient indentation"),r}function ci(e){var t=e.position,o;return o=e.input.charCodeAt(t),!!((o===45||o===46)&&o===e.input.charCodeAt(t+1)&&o===e.input.charCodeAt(t+2)&&(t+=3,o=e.input.charCodeAt(t),o===0||nt(o)))}function ul(e,t){t===1?e.result+=" ":t>1&&(e.result+=qe.repeat(`
|
|
58
|
+
`,t-1))}function f$(e,t,o){var r,i,a,l,s,c,d,u,f=e.kind,p=e.result,m;if(m=e.input.charCodeAt(e.position),nt(m)||jn(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),nt(i)||o&&jn(i)))return!1;for(e.kind="scalar",e.result="",a=l=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),nt(i)||o&&jn(i))break}else if(m===35){if(r=e.input.charCodeAt(e.position-1),nt(r))break}else{if(e.position===e.lineStart&&ci(e)||o&&jn(m))break;if(Nt(m))if(c=e.line,d=e.lineStart,u=e.lineIndent,Me(e,!1,-1),e.lineIndent>=t){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=l,e.line=c,e.lineStart=d,e.lineIndent=u;break}}s&&(zt(e,a,l,!1),ul(e,e.line-c),a=l=e.position,s=!1),yn(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return zt(e,a,l,!1),e.result?!0:(e.kind=f,e.result=p,!1)}function p$(e,t){var o,r,i;if(o=e.input.charCodeAt(e.position),o!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(o=e.input.charCodeAt(e.position))!==0;)if(o===39)if(zt(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),o===39)r=e.position,e.position++,i=e.position;else return!0;else Nt(o)?(zt(e,r,i,!0),ul(e,Me(e,!1,t)),r=i=e.position):e.position===e.lineStart&&ci(e)?ye(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);ye(e,"unexpected end of the stream within a single quoted scalar")}function m$(e,t){var o,r,i,a,l,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,o=r=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return zt(e,o,e.position,!0),e.position++,!0;if(s===92){if(zt(e,o,e.position,!0),s=e.input.charCodeAt(++e.position),Nt(s))Me(e,!1,t);else if(s<256&&ap[s])e.result+=lp[s],e.position++;else if((l=s$(s))>0){for(i=l,a=0;i>0;i--)s=e.input.charCodeAt(++e.position),(l=l$(s))>=0?a=(a<<4)+l:ye(e,"expected hexadecimal character");e.result+=d$(a),e.position++}else ye(e,"unknown escape sequence");o=r=e.position}else Nt(s)?(zt(e,o,r,!0),ul(e,Me(e,!1,t)),o=r=e.position):e.position===e.lineStart&&ci(e)?ye(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}ye(e,"unexpected end of the stream within a double quoted scalar")}function g$(e,t){var o=!0,r,i,a,l=e.tag,s,c=e.anchor,d,u,f,p,m,h=Object.create(null),y,g,_,w;if(w=e.input.charCodeAt(e.position),w===91)u=93,m=!1,s=[];else if(w===123)u=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),w=e.input.charCodeAt(++e.position);w!==0;){if(Me(e,!0,t),w=e.input.charCodeAt(e.position),w===u)return e.position++,e.tag=l,e.anchor=c,e.kind=m?"mapping":"sequence",e.result=s,!0;o?w===44&&ye(e,"expected the node content, but found ','"):ye(e,"missed comma between flow collection entries"),g=y=_=null,f=p=!1,w===63&&(d=e.input.charCodeAt(e.position+1),nt(d)&&(f=p=!0,e.position++,Me(e,!0,t))),r=e.line,i=e.lineStart,a=e.position,Hn(e,t,ai,!1,!0),g=e.tag,y=e.result,Me(e,!0,t),w=e.input.charCodeAt(e.position),(p||e.line===r)&&w===58&&(f=!0,w=e.input.charCodeAt(++e.position),Me(e,!0,t),Hn(e,t,ai,!1,!0),_=e.result),m?zn(e,s,h,g,y,_,r,i,a):f?s.push(zn(e,null,h,g,y,_,r,i,a)):s.push(y),Me(e,!0,t),w=e.input.charCodeAt(e.position),w===44?(o=!0,w=e.input.charCodeAt(++e.position)):o=!1}ye(e,"unexpected end of the stream within a flow collection")}function h$(e,t){var o,r,i=cl,a=!1,l=!1,s=t,c=0,d=!1,u,f;if(f=e.input.charCodeAt(e.position),f===124)r=!1;else if(f===62)r=!0;else return!1;for(e.kind="scalar",e.result="";f!==0;)if(f=e.input.charCodeAt(++e.position),f===43||f===45)cl===i?i=f===43?tp:o$:ye(e,"repeat of a chomping mode identifier");else if((u=c$(f))>=0)u===0?ye(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?ye(e,"repeat of an indentation width identifier"):(s=t+u-1,l=!0);else break;if(yn(f)){do f=e.input.charCodeAt(++e.position);while(yn(f));if(f===35)do f=e.input.charCodeAt(++e.position);while(!Nt(f)&&f!==0)}for(;f!==0;){for(dl(e),e.lineIndent=0,f=e.input.charCodeAt(e.position);(!l||e.lineIndent<s)&&f===32;)e.lineIndent++,f=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>s&&(s=e.lineIndent),Nt(f)){c++;continue}if(e.lineIndent<s){i===tp?e.result+=qe.repeat(`
|
|
59
|
+
`,a?1+c:c):i===cl&&a&&(e.result+=`
|
|
60
|
+
`);break}for(r?yn(f)?(d=!0,e.result+=qe.repeat(`
|
|
61
|
+
`,a?1+c:c)):d?(d=!1,e.result+=qe.repeat(`
|
|
62
|
+
`,c+1)):c===0?a&&(e.result+=" "):e.result+=qe.repeat(`
|
|
63
|
+
`,c):e.result+=qe.repeat(`
|
|
64
|
+
`,a?1+c:c),a=!0,l=!0,c=0,o=e.position;!Nt(f)&&f!==0;)f=e.input.charCodeAt(++e.position);zt(e,o,e.position,!1)}return!0}function up(e,t){var o,r=e.tag,i=e.anchor,a=[],l,s=!1,c;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),c=e.input.charCodeAt(e.position);c!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ye(e,"tab characters must not be used in indentation")),!(c!==45||(l=e.input.charCodeAt(e.position+1),!nt(l))));){if(s=!0,e.position++,Me(e,!0,-1)&&e.lineIndent<=t){a.push(null),c=e.input.charCodeAt(e.position);continue}if(o=e.line,Hn(e,t,ep,!1,!0),a.push(e.result),Me(e,!0,-1),c=e.input.charCodeAt(e.position),(e.line===o||e.lineIndent>t)&&c!==0)ye(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return s?(e.tag=r,e.anchor=i,e.kind="sequence",e.result=a,!0):!1}function y$(e,t,o){var r,i,a,l,s,c,d=e.tag,u=e.anchor,f={},p=Object.create(null),m=null,h=null,y=null,g=!1,_=!1,w;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=f),w=e.input.charCodeAt(e.position);w!==0;){if(!g&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ye(e,"tab characters must not be used in indentation")),r=e.input.charCodeAt(e.position+1),a=e.line,(w===63||w===58)&&nt(r))w===63?(g&&(zn(e,f,p,m,h,null,l,s,c),m=h=y=null),_=!0,g=!0,i=!0):g?(g=!1,i=!0):ye(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,w=r;else{if(l=e.line,s=e.lineStart,c=e.position,!Hn(e,o,Qf,!1,!0))break;if(e.line===a){for(w=e.input.charCodeAt(e.position);yn(w);)w=e.input.charCodeAt(++e.position);if(w===58)w=e.input.charCodeAt(++e.position),nt(w)||ye(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&(zn(e,f,p,m,h,null,l,s,c),m=h=y=null),_=!0,g=!1,i=!1,m=e.tag,h=e.result;else if(_)ye(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=u,!0}else if(_)ye(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=u,!0}if((e.line===a||e.lineIndent>t)&&(g&&(l=e.line,s=e.lineStart,c=e.position),Hn(e,t,li,!0,i)&&(g?h=e.result:y=e.result),g||(zn(e,f,p,m,h,y,l,s,c),m=h=y=null),Me(e,!0,-1),w=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>t)&&w!==0)ye(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return g&&zn(e,f,p,m,h,null,l,s,c),_&&(e.tag=d,e.anchor=u,e.kind="mapping",e.result=f),_}function _$(e){var t,o=!1,r=!1,i,a,l;if(l=e.input.charCodeAt(e.position),l!==33)return!1;if(e.tag!==null&&ye(e,"duplication of a tag property"),l=e.input.charCodeAt(++e.position),l===60?(o=!0,l=e.input.charCodeAt(++e.position)):l===33?(r=!0,i="!!",l=e.input.charCodeAt(++e.position)):i="!",t=e.position,o){do l=e.input.charCodeAt(++e.position);while(l!==0&&l!==62);e.position<e.length?(a=e.input.slice(t,e.position),l=e.input.charCodeAt(++e.position)):ye(e,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!nt(l);)l===33&&(r?ye(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(t-1,e.position+1),np.test(i)||ye(e,"named tag handle cannot contain such characters"),r=!0,t=e.position+1)),l=e.input.charCodeAt(++e.position);a=e.input.slice(t,e.position),a$.test(a)&&ye(e,"tag suffix cannot contain flow indicator characters")}a&&!op.test(a)&&ye(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{ye(e,"tag name is malformed: "+a)}return o?e.tag=a:Gt.call(e.tagMap,i)?e.tag=e.tagMap[i]+a:i==="!"?e.tag="!"+a:i==="!!"?e.tag="tag:yaml.org,2002:"+a:ye(e,'undeclared tag handle "'+i+'"'),!0}function b$(e){var t,o;if(o=e.input.charCodeAt(e.position),o!==38)return!1;for(e.anchor!==null&&ye(e,"duplication of an anchor property"),o=e.input.charCodeAt(++e.position),t=e.position;o!==0&&!nt(o)&&!jn(o);)o=e.input.charCodeAt(++e.position);return e.position===t&&ye(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function w$(e){var t,o,r;if(r=e.input.charCodeAt(e.position),r!==42)return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;r!==0&&!nt(r)&&!jn(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&ye(e,"name of an alias node must contain at least one character"),o=e.input.slice(t,e.position),Gt.call(e.anchorMap,o)||ye(e,'unidentified alias "'+o+'"'),e.result=e.anchorMap[o],Me(e,!0,-1),!0}function Hn(e,t,o,r,i){var a,l,s,c=1,d=!1,u=!1,f,p,m,h,y,g;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=l=s=li===o||ep===o,r&&Me(e,!0,-1)&&(d=!0,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)),c===1)for(;_$(e)||b$(e);)Me(e,!0,-1)?(d=!0,s=a,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)):s=!1;if(s&&(s=d||i),(c===1||li===o)&&(ai===o||Qf===o?y=t:y=t+1,g=e.position-e.lineStart,c===1?s&&(up(e,g)||y$(e,g,y))||g$(e,y)?u=!0:(l&&h$(e,y)||p$(e,y)||m$(e,y)?u=!0:w$(e)?(u=!0,(e.tag!==null||e.anchor!==null)&&ye(e,"alias node should not have any properties")):f$(e,y,ai===o)&&(u=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):c===0&&(u=s&&up(e,g))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&ye(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),f=0,p=e.implicitTypes.length;f<p;f+=1)if(h=e.implicitTypes[f],h.resolve(e.result)){e.result=h.construct(e.result),e.tag=h.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(Gt.call(e.typeMap[e.kind||"fallback"],e.tag))h=e.typeMap[e.kind||"fallback"][e.tag];else for(h=null,m=e.typeMap.multi[e.kind||"fallback"],f=0,p=m.length;f<p;f+=1)if(e.tag.slice(0,m[f].tag.length)===m[f].tag){h=m[f];break}h||ye(e,"unknown tag !<"+e.tag+">"),e.result!==null&&h.kind!==e.kind&&ye(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):ye(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||u}function E$(e){var t=e.position,o,r,i,a=!1,l;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(l=e.input.charCodeAt(e.position))!==0&&(Me(e,!0,-1),l=e.input.charCodeAt(e.position),!(e.lineIndent>0||l!==37));){for(a=!0,l=e.input.charCodeAt(++e.position),o=e.position;l!==0&&!nt(l);)l=e.input.charCodeAt(++e.position);for(r=e.input.slice(o,e.position),i=[],r.length<1&&ye(e,"directive name must not be less than one character in length");l!==0;){for(;yn(l);)l=e.input.charCodeAt(++e.position);if(l===35){do l=e.input.charCodeAt(++e.position);while(l!==0&&!Nt(l));break}if(Nt(l))break;for(o=e.position;l!==0&&!nt(l);)l=e.input.charCodeAt(++e.position);i.push(e.input.slice(o,e.position))}l!==0&&dl(e),Gt.call(cp,r)?cp[r](e,r,i):si(e,'unknown document directive "'+r+'"')}if(Me(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Me(e,!0,-1)):a&&ye(e,"directives end mark is expected"),Hn(e,e.lineIndent-1,li,!1,!0),Me(e,!0,-1),e.checkLineBreaks&&i$.test(e.input.slice(t,e.position))&&si(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&ci(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Me(e,!0,-1));return}if(e.position<e.length-1)ye(e,"end of the stream or a document separator is expected");else return}function fp(e,t){e=String(e),t=t||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
65
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var o=new u$(e,t),r=e.indexOf("\0");for(r!==-1&&(o.position=r,ye(o,"null byte is not allowed in input")),o.input+="\0";o.input.charCodeAt(o.position)===32;)o.lineIndent+=1,o.position+=1;for(;o.position<o.length-1;)E$(o);return o.documents}function k$(e,t,o){t!==null&&typeof t=="object"&&typeof o>"u"&&(o=t,t=null);var r=fp(e,o);if(typeof t!="function")return r;for(var i=0,a=r.length;i<a;i+=1)t(r[i])}function C$(e,t){var o=fp(e,t);if(o.length!==0){if(o.length===1)return o[0];throw new et("expected a single document in the stream, but found more")}}var v$=k$,N$=C$,pp={loadAll:v$,load:N$},mp=Object.prototype.toString,gp=Object.prototype.hasOwnProperty,fl=65279,S$=9,Oo=10,x$=13,A$=32,T$=33,P$=34,pl=35,I$=37,O$=38,$$=39,B$=42,hp=44,D$=45,di=58,V$=61,R$=62,M$=63,L$=64,yp=91,_p=93,F$=96,bp=123,K$=124,wp=125,Ze={};Ze[0]="\\0",Ze[7]="\\a",Ze[8]="\\b",Ze[9]="\\t",Ze[10]="\\n",Ze[11]="\\v",Ze[12]="\\f",Ze[13]="\\r",Ze[27]="\\e",Ze[34]='\\"',Ze[92]="\\\\",Ze[133]="\\N",Ze[160]="\\_",Ze[8232]="\\L",Ze[8233]="\\P";var U$=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],q$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function j$(e,t){var o,r,i,a,l,s,c;if(t===null)return{};for(o={},r=Object.keys(t),i=0,a=r.length;i<a;i+=1)l=r[i],s=String(t[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),c=e.compiledTypeMap.fallback[l],c&&gp.call(c.styleAliases,s)&&(s=c.styleAliases[s]),o[l]=s;return o}function G$(e){var t,o,r;if(t=e.toString(16).toUpperCase(),e<=255)o="x",r=2;else if(e<=65535)o="u",r=4;else if(e<=4294967295)o="U",r=8;else throw new et("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+o+qe.repeat("0",r-t.length)+t}var z$=1,$o=2;function H$(e){this.schema=e.schema||sl,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=qe.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=j$(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?$o:z$,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Ep(e,t){for(var o=qe.repeat(" ",t),r=0,i=-1,a="",l,s=e.length;r<s;)i=e.indexOf(`
|
|
62
66
|
`,r),i===-1?(l=e.slice(r),r=s):(l=e.slice(r,i+1),r=i+1),l.length&&l!==`
|
|
63
|
-
`&&(a+=o),a+=l;return a}function
|
|
64
|
-
`+
|
|
67
|
+
`&&(a+=o),a+=l;return a}function ml(e,t){return`
|
|
68
|
+
`+qe.repeat(" ",e.indent*t)}function Y$(e,t){var o,r,i;for(o=0,r=e.implicitTypes.length;o<r;o+=1)if(i=e.implicitTypes[o],i.resolve(t))return!0;return!1}function ui(e){return e===A$||e===S$}function Bo(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==fl||65536<=e&&e<=1114111}function kp(e){return Bo(e)&&e!==fl&&e!==x$&&e!==Oo}function Cp(e,t,o){var r=kp(e),i=r&&!ui(e);return(o?r:r&&e!==hp&&e!==yp&&e!==_p&&e!==bp&&e!==wp)&&e!==pl&&!(t===di&&!i)||kp(t)&&!ui(t)&&e===pl||t===di&&i}function W$(e){return Bo(e)&&e!==fl&&!ui(e)&&e!==D$&&e!==M$&&e!==di&&e!==hp&&e!==yp&&e!==_p&&e!==bp&&e!==wp&&e!==pl&&e!==O$&&e!==B$&&e!==T$&&e!==K$&&e!==V$&&e!==R$&&e!==$$&&e!==P$&&e!==I$&&e!==L$&&e!==F$}function Z$(e){return!ui(e)&&e!==di}function Do(e,t){var o=e.charCodeAt(t),r;return o>=55296&&o<=56319&&t+1<e.length&&(r=e.charCodeAt(t+1),r>=56320&&r<=57343)?(o-55296)*1024+r-56320+65536:o}function vp(e){var t=/^\n* /;return t.test(e)}var Np=1,gl=2,Sp=3,xp=4,Yn=5;function X$(e,t,o,r,i,a,l,s){var c,d=0,u=null,f=!1,p=!1,m=r!==-1,h=-1,y=W$(Do(e,0))&&Z$(Do(e,e.length-1));if(t||l)for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=Do(e,c),!Bo(d))return Yn;y=y&&Cp(d,u,s),u=d}else{for(c=0;c<e.length;d>=65536?c+=2:c++){if(d=Do(e,c),d===Oo)f=!0,m&&(p=p||c-h-1>r&&e[h+1]!==" ",h=c);else if(!Bo(d))return Yn;y=y&&Cp(d,u,s),u=d}p=p||m&&c-h-1>r&&e[h+1]!==" "}return!f&&!p?y&&!l&&!i(e)?Np:a===$o?Yn:gl:o>9&&vp(e)?Yn:l?a===$o?Yn:gl:p?xp:Sp}function J$(e,t,o,r,i){e.dump=function(){if(t.length===0)return e.quotingType===$o?'""':"''";if(!e.noCompatMode&&(U$.indexOf(t)!==-1||q$.test(t)))return e.quotingType===$o?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,o),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),s=r||e.flowLevel>-1&&o>=e.flowLevel;function c(d){return Y$(e,d)}switch(X$(t,s,e.indent,l,c,e.quotingType,e.forceQuotes&&!r,i)){case Np:return t;case gl:return"'"+t.replace(/'/g,"''")+"'";case Sp:return"|"+Ap(t,e.indent)+Tp(Ep(t,a));case xp:return">"+Ap(t,e.indent)+Tp(Ep(Q$(t,l),a));case Yn:return'"'+eB(t)+'"';default:throw new et("impossible error: invalid scalar style")}}()}function Ap(e,t){var o=vp(e)?String(t):"",r=e[e.length-1]===`
|
|
65
69
|
`,i=r&&(e[e.length-2]===`
|
|
66
70
|
`||e===`
|
|
67
71
|
`),a=i?"+":r?"":"-";return o+a+`
|
|
68
|
-
`}function
|
|
69
|
-
`?e.slice(0,-1):e}function
|
|
70
|
-
`);return
|
|
72
|
+
`}function Tp(e){return e[e.length-1]===`
|
|
73
|
+
`?e.slice(0,-1):e}function Q$(e,t){for(var o=/(\n+)([^\n]*)/g,r=function(){var d=e.indexOf(`
|
|
74
|
+
`);return d=d!==-1?d:e.length,o.lastIndex=d,Pp(e.slice(0,d),t)}(),i=e[0]===`
|
|
71
75
|
`||e[0]===" ",a,l;l=o.exec(e);){var s=l[1],c=l[2];a=c[0]===" ",r+=s+(!i&&!a&&c!==""?`
|
|
72
|
-
`:"")+
|
|
76
|
+
`:"")+Pp(c,t),i=a}return r}function Pp(e,t){if(e===""||e[0]===" ")return e;for(var o=/ [^ ]/g,r,i=0,a,l=0,s=0,c="";r=o.exec(e);)s=r.index,s-i>t&&(a=l>i?l:s,c+=`
|
|
73
77
|
`+e.slice(i,a),i=a+1),l=s;return c+=`
|
|
74
|
-
`,e.length-i>
|
|
75
|
-
`+e.slice(l+1):c+=e.slice(i),c.slice(1)}function
|
|
76
|
-
`:""}var
|
|
78
|
+
`,e.length-i>t&&l>i?c+=e.slice(i,l)+`
|
|
79
|
+
`+e.slice(l+1):c+=e.slice(i),c.slice(1)}function eB(e){for(var t="",o=0,r,i=0;i<e.length;o>=65536?i+=2:i++)o=Do(e,i),r=Ze[o],!r&&Bo(o)?(t+=e[i],o>=65536&&(t+=e[i+1])):t+=r||G$(o);return t}function tB(e,t,o){var r="",i=e.tag,a,l,s;for(a=0,l=o.length;a<l;a+=1)s=o[a],e.replacer&&(s=e.replacer.call(o,String(a),s)),(Rt(e,t,s,!1,!1)||typeof s>"u"&&Rt(e,t,null,!1,!1))&&(r!==""&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=i,e.dump="["+r+"]"}function Ip(e,t,o,r){var i="",a=e.tag,l,s,c;for(l=0,s=o.length;l<s;l+=1)c=o[l],e.replacer&&(c=e.replacer.call(o,String(l),c)),(Rt(e,t+1,c,!0,!0,!1,!0)||typeof c>"u"&&Rt(e,t+1,null,!0,!0,!1,!0))&&((!r||i!=="")&&(i+=ml(e,t)),e.dump&&Oo===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=a,e.dump=i||"[]"}function nB(e,t,o){var r="",i=e.tag,a=Object.keys(o),l,s,c,d,u;for(l=0,s=a.length;l<s;l+=1)u="",r!==""&&(u+=", "),e.condenseFlow&&(u+='"'),c=a[l],d=o[c],e.replacer&&(d=e.replacer.call(o,c,d)),Rt(e,t,c,!1,!1)&&(e.dump.length>1024&&(u+="? "),u+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Rt(e,t,d,!1,!1)&&(u+=e.dump,r+=u));e.tag=i,e.dump="{"+r+"}"}function oB(e,t,o,r){var i="",a=e.tag,l=Object.keys(o),s,c,d,u,f,p;if(e.sortKeys===!0)l.sort();else if(typeof e.sortKeys=="function")l.sort(e.sortKeys);else if(e.sortKeys)throw new et("sortKeys must be a boolean or a function");for(s=0,c=l.length;s<c;s+=1)p="",(!r||i!=="")&&(p+=ml(e,t)),d=l[s],u=o[d],e.replacer&&(u=e.replacer.call(o,d,u)),Rt(e,t+1,d,!0,!0,!0)&&(f=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,f&&(e.dump&&Oo===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,f&&(p+=ml(e,t)),Rt(e,t+1,u,!0,f)&&(e.dump&&Oo===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,i+=p));e.tag=a,e.dump=i||"{}"}function Op(e,t,o){var r,i,a,l,s,c;for(i=o?e.explicitTypes:e.implicitTypes,a=0,l=i.length;a<l;a+=1)if(s=i[a],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof t=="object"&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(o?s.multi&&s.representName?e.tag=s.representName(t):e.tag=s.tag:e.tag="?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,mp.call(s.represent)==="[object Function]")r=s.represent(t,c);else if(gp.call(s.represent,c))r=s.represent[c](t,c);else throw new et("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');e.dump=r}return!0}return!1}function Rt(e,t,o,r,i,a,l){e.tag=null,e.dump=o,Op(e,o,!1)||Op(e,o,!0);var s=mp.call(e.dump),c=r,d;r&&(r=e.flowLevel<0||e.flowLevel>t);var u=s==="[object Object]"||s==="[object Array]",f,p;if(u&&(f=e.duplicates.indexOf(o),p=f!==-1),(e.tag!==null&&e.tag!=="?"||p||e.indent!==2&&t>0)&&(i=!1),p&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(u&&p&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),s==="[object Object]")r&&Object.keys(e.dump).length!==0?(oB(e,t,e.dump,i),p&&(e.dump="&ref_"+f+e.dump)):(nB(e,t,e.dump),p&&(e.dump="&ref_"+f+" "+e.dump));else if(s==="[object Array]")r&&e.dump.length!==0?(e.noArrayIndent&&!l&&t>0?Ip(e,t-1,e.dump,i):Ip(e,t,e.dump,i),p&&(e.dump="&ref_"+f+e.dump)):(tB(e,t,e.dump),p&&(e.dump="&ref_"+f+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&J$(e,e.dump,t,a,c);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new et("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function rB(e,t){var o=[],r=[],i,a;for(hl(e,o,r),i=0,a=r.length;i<a;i+=1)t.duplicates.push(o[r[i]]);t.usedDuplicates=new Array(a)}function hl(e,t,o){var r,i,a;if(e!==null&&typeof e=="object")if(i=t.indexOf(e),i!==-1)o.indexOf(i)===-1&&o.push(i);else if(t.push(e),Array.isArray(e))for(i=0,a=e.length;i<a;i+=1)hl(e[i],t,o);else for(r=Object.keys(e),i=0,a=r.length;i<a;i+=1)hl(e[r[i]],t,o)}function iB(e,t){t=t||{};var o=new H$(t);o.noRefs||rB(e,o);var r=e;return o.replacer&&(r=o.replacer.call({"":r},"",r)),Rt(o,0,r,!0,!0)?o.dump+`
|
|
80
|
+
`:""}var aB=iB,lB={dump:aB};function yl(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var sB=He,cB=Bf,dB=Mf,_l=qf,uB=jf,fB=sl,pB=pp.load,mB=pp.loadAll,gB=lB.dump,hB=et,yB={binary:Wf,float:Uf,map:Rf,null:Lf,pairs:Xf,set:Jf,timestamp:Hf,bool:Ff,int:Kf,merge:Yf,omap:Zf,seq:Vf,str:Df},_B=yl("safeLoad","load"),bB=yl("safeLoadAll","loadAll"),wB=yl("safeDump","dump"),$p={Type:sB,Schema:cB,FAILSAFE_SCHEMA:dB,JSON_SCHEMA:_l,CORE_SCHEMA:uB,DEFAULT_SCHEMA:fB,load:pB,loadAll:mB,dump:gB,YAMLException:hB,types:yB,safeLoad:_B,safeLoadAll:bB,safeDump:wB};const Bp=Object.freeze(Object.defineProperty({__proto__:null,authenticate:`nodes:
|
|
77
81
|
- name: STATIC_INPUTS
|
|
78
82
|
type: static
|
|
79
83
|
values:
|
|
@@ -147,5 +151,5 @@ Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will
|
|
|
147
151
|
type: exit
|
|
148
152
|
input: API
|
|
149
153
|
status: 200
|
|
150
|
-
`},Symbol.toStringTag,{value:"Module"})),
|
|
151
|
-
`)[0],g=[{startLineNumber:m+1,startColumn:h+1,endLineNumber:m+1,endColumn:h+2,message:y,severity:Ro.MarkerSeverity.Error,source:Ha}];Ro.editor.setModelMarkers(c,Ha,g),r("error",y)}})}),t.onBeforeUnmount(()=>{var s;(s=a.value)==null||s.dispose()}),n({setExampleCode:l}),(s,c)=>(t.openBlock(),t.createElementBlock("div",Wx,null,512))}}),[["__scopeId","data-v-e5fcb32d"]]),Jx={key:0},Qx={class:"examples-content"},eT=["innerHTML"],gp=Object.freeze(Object.defineProperty({__proto__:null,DatakitForm:we(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Fe.createI18n("en-us",Ue),o=e,r=t.inject(dl.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=zi(),a=t.computed(()=>r?i.value:"code"),l={flow:ke.DesignIcon,code:ke.CodeblockIcon},s=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}],c=t.computed(()=>{switch(i.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),u=t.useTemplateRef("code-editor");function p(m){var h;(h=u.value)==null||h.setExampleCode(m)}function d(m){var h;o.onFormChange({config:m}),(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})}function f(m){var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!1,error:m})}return(m,h)=>{const y=t.resolveComponent("KButton");return t.openBlock(),t.createBlock(Ub,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(g=>[a.value==="flow"?(t.openBlock(),t.createElementBlock("div",Jx,[t.createVNode(PS,{config:o.model.config,editing:o.isEditing},null,8,["config","editing"])])):a.value==="code"?(t.openBlock(),t.createBlock(vt,t.mergeProps({key:1},g,{tag:"div"}),{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(ke.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",Qx,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(mp,(b,k)=>t.createVNode(y,{key:k,appearance:"secondary",size:"small",onClick:_=>p(k)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${k}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createVNode(Xx,{ref:"code-editor",class:"code-editor",config:o.model.config,editing:o.isEditing,onChange:d,onError:f},null,8,["config","editing"])]),_:2},1040)):t.createCommentVNode("",!0)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:c.value},null,8,eT)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Ie.KSegmentedControl),{modelValue:t.unref(i),"onUpdate:modelValue":h[0]||(h[0]=g=>t.isRef(i)?i.value=g:null),options:s},{"option-label":t.withCtx(({option:g})=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[g.value]))),t.createTextVNode(" "+t.toDisplayString(g.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-ef212f9b"]]),RequestCalloutForm:G_,ServiceProtectionForm:Rb},Symbol.toStringTag,{value:"Module"})),tT={class:"kong-ui-entities-plugin-form"},nT={key:1,class:"entity-form"},oT={class:"plugin-config-empty-state"},rT=we(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var ee,B;const o=Object.keys(Ne.sharedForms),r=Object.keys(gp);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=le.useAxios((ee=a.config)==null?void 0:ee.axiosRequestConfig),{parseSchema:s}=Oe.useSchemas({entityId:((B=a.entityMap.focusedEntity)==null?void 0:B.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:p,isObjectEmpty:d,unsetNullForeignKey:f}=Oe.usePluginHelpers(),m=Oe.useExperimentalFreeForms(),{objectsAreEqual:h}=le.useHelpers(),{i18n:{t:y}}=Xe(),g=(L,q)=>{let Z=`${a.config.apiBaseUrl}${$e.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?Z=Z.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(Z=Z.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),Z=Z.replace(/{entity}/gi,L),Z=Z.replace(/{id}/gi,q),Z},b=L=>{let q=`${a.config.apiBaseUrl}${$e.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),q=q.replace(/{entity}/gi,L),q},k=(L,q)=>{const Z=g(L,q);return l.get(Z)},_=(L,q)=>{const Z=b(L);return a.config.app==="konnect"?l.get(Z).then(te=>{const{data:{data:ne}}=te;if(delete q.size,delete q.offset,ne.length&&Object.keys(q).length===1){const oe=Object.keys(q)[0],pe=ne.filter(fe=>fe[oe]?!!fe[oe].toLowerCase().includes(q[oe].toLowerCase()):!1);te.data.data=pe}return te}):l.get(Z,{params:q})};t.provide(Ne.FORMS_API_KEY,{getOne:k,getAll:_}),t.provide(Ne.FORMS_CONFIG,a.config);const E=t.ref(""),P=t.ref(""),C=t.ref(null),R=t.ref({}),$=t.reactive({}),O=t.reactive({}),X=t.computed(()=>{var L;return(L=C.value)==null?void 0:L.options}),z=t.ref(!1),A=t.ref(),S=(L,q)=>{z.value=L??"",A.value=q},w=L=>{var q;(q=A.value)==null||q.call(A,L),z.value=!1},D=()=>{var pe,fe;const L={...a.schema},q=O,Z=$,te=Object.keys(q),ne={};if(!d(R.value))for(let x=0;x<((fe=(pe=R.value)==null?void 0:pe.fields)==null?void 0:fe.length);x++)L[R.value.fields[x].model]=R.value.fields[x];Ne.customFields.forEach(x=>{L[x]&&(L[x].fields.forEach(N=>{N.fields&&N.fields.forEach(v=>{L[v.model]=v}),N.model&&(L[N.model]=N)}),delete L[x])}),te.forEach(x=>{var K;if(!L[x]){x==="partials"&&(ne[x]=q[x]);return}const N=L[x];let v=q[x];const I=Z[x],J=Array.isArray(v)?"array":typeof v,Y=N?N.valueType:null,Q=N?N.valueArrayType:null,F=N?N.transform:null;if(v==null&&I==null&&!N.submitWhenNull)return;if(N){if(Y&&J!==Y)switch(Y){case"array":J==="string"&&v.length&&(v=v.split(",").map(ae=>{if(ae=ae.trim(),Q==="string")return String(ae);if(Q==="number")return Number(ae);if(Q==="boolean"){if(typeof ae=="string")return ae.toLowerCase()==="true"||ae==="1";if(typeof ae=="number")return ae===1}return ae})),(!v||!v.length)&&(v=N.submitWhenNull?null:[]);break;case"number":v=Number(v);break;case"boolean":J==="string"&&(v=v.toLowerCase()==="true"||v==="1"),J==="number"&&(v=v===1);break;case"string":v=v==null?"":String(v);break}else Y==="array"&&(!v||!v.length?v=N.submitWhenNull?null:[]:((K=N.inputAttributes)==null?void 0:K.type)==="number"&&(v=v.map(ae=>Number(ae))));if(N.type==="array"&&N.nestedFields){const ae=re=>{Object.keys(re).forEach(ye=>{re[ye]&&typeof re[ye]=="object"&&!Array.isArray(re[ye])&&re[ye]!==null?ae(re[ye]):(re[ye]===void 0||re[ye]===null||typeof re[ye]=="number"&&isNaN(re[ye])||typeof re[ye]=="string"&&re[ye].trim().length===0)&&delete re[ye]})};v&&typeof v=="object"&&ae(v)}N.type==="object-advanced"&&N.fields&&v!==null&&(Object.entries(v).length===0?v=null:Object.keys(v).forEach(ae=>{Array.isArray(v[ae])||(v[ae]=v[ae].split(","))}))}let W=c(x);if(N.fieldNameHasDashes){const[ae,...re]=W.split(".").reverse();W=[ae.replace(/_/g,"-"),...re].reverse().join(".")}if(Y==="object-expand"){let ae;[W,ae]=W.split(".");let re={};ne[W]&&(re=ne[W]),re[ae]=v,v=re}I!==void 0&&v===""&&v!==I?ne[W]=Y==="object"?{}:null:N.type==="checklist"&&v===""?ne[W]=[]:v!==""&&(ne[W]=v),ne[W]=F?F(v):ne[W],f(W,ne)});const oe=u(ne);return P.value&&Object.assign(oe,V.value),oe},T=(L,q={})=>{p(O,q,L,a.editing),i("model-updated",{model:O,originalModel:$,data:D()})},G=(L,q)=>{var ne;const Z={[q]:L};typeof((ne=a.schema[q])==null?void 0:ne.modelTransformer)=="function"&&(Z[q]=a.schema[q].modelTransformer(L));const te=Object.assign({},O,Z);Object.assign(O,te),i("model-updated",{model:O,originalModel:$,data:D()})},U=L=>{i("validity-change",L)},M=(L,q)=>{Object.keys(L).forEach(Z=>{var fe,x;let te=q?`${q}-${Z}`:Z,ne=a.schema[te];if(!ne){const N=q?`${q}-${Z.replace(/-/g,"_")}`:Z.replace(/-/g,"_");(fe=a.schema[N])!=null&&fe.fieldNameHasDashes&&(te=N,ne=a.schema[te]),q&&((x=a.schema[q])==null?void 0:x.keyFromObject)===Z&&(te=q,ne=a.schema[te])}const oe=L[Z],pe=typeof oe;if(ne&&ne.type==="object-advanced"&&!oe){O[te]={},$[te]={};return}if(Array.isArray(oe)){O[te]=JSON.parse(JSON.stringify(oe)),$[te]=JSON.parse(JSON.stringify(oe));return}if(pe==="object"&&oe&&!oe.length)return M(oe,te);if(pe==="object"&&oe&&oe.length&&ne.type==="input"){O[te]=oe.join(", "),$[te]=oe.join(", ");return}O[te]=oe,$[te]=oe}),i("model-updated",{model:O,originalModel:$,data:D()})},V=t.shallowRef(a.record),H=L=>{V.value=L,i("model-updated",{model:{...O,...L},originalModel:$,data:D()})},ie=t.ref(!0),ce=()=>{var L;if(a.record&&a.schema&&(M({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&M({consumer_id:a.record.consumer_id||a.record.consumer}),M(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&M({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&T("redis",{partials:a.record.partials}),P.value?H(a.record):M(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const q={};for(const Z in a.entityMap){const te=a.entityMap[Z].id,ne=a.entityMap[Z].idField,oe=ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ne).replace("_","-"));Object.prototype.hasOwnProperty.call(O,oe)&&(q[oe]=te)}M(q)}if((L=a.entityMap.consumer)!=null&&L.id&&a.schema&&a.credential){const q={};Object.prototype.hasOwnProperty.call(O,"consumer")&&(q.consumer=a.entityMap.consumer.id),M(q)}ie.value=!1};return t.watch(ie,L=>{i("loading",L)}),t.watch(()=>a.schema,(L,q)=>{var te,ne;if(h(L||{},q||{}))return;const Z=s(L);Object.assign(O,Z.model),R.value={fields:(ne=(te=R.value)==null?void 0:te.fields)==null?void 0:ne.map(oe=>({...oe,disabled:oe.disabled||!1}))},Object.assign($,JSON.parse(JSON.stringify(Z.model))),P.value=ul(Z.model.name,m),E.value=Ne.getSharedFormName(Z.model.name),ce()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var L,q;C.value=s(a.schema),Object.assign(O,((L=C.value)==null?void 0:L.model)||{}),R.value=((q=C.value)==null?void 0:q.schema)||{},ce()}),(L,q)=>{var te;const Z=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",tT,[ie.value?(t.openBlock(),t.createBlock(Z,{key:0,type:"form"})):O.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",nT,[P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(gp[P.value]),{key:0,"form-model":O,"form-options":X.value,"form-schema":R.value,"is-editing":e.editing,model:e.record,"on-form-change":H,"on-model-updated":G,"on-validity-change":U,schema:e.rawSchema,onGlobalAction:q[0]||(q[0]=(ne,oe)=>L.$emit("globalAction",ne,oe))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ne.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:S}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):E.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Ne.sharedForms)[E.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":O,"form-options":X.value,"form-schema":R.value,"is-editing":e.editing,"on-model-updated":G,"on-partial-toggled":T,"show-new-partial-modal":ne=>L.$emit("showNewPartialModal",ne)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ne.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:S}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Ne.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:O,options:X.value,schema:R.value,onModelUpdated:G,onPartialToggled:T,onRefreshModel:D,onShowNewPartialModal:q[1]||(q[1]=ne=>L.$emit("showNewPartialModal",ne))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",oT,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(te=t.unref(kt)[O.name])!=null&&te.fieldRules&&(a.config.isNewOtelSchema||O.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(cf,{rules:t.unref(kt)[O.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Ne.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:S}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Vo.VaultSecretPicker),{config:a.config,setup:z.value,onCancel:q[2]||(q[2]=()=>z.value=!1),onProceed:w},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-780e65cb"]]),iT={key:1},aT=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",iT,[t.renderSlot(n.$slots,"default")]))}}),lT={class:"kong-ui-entities-plugin-form-container"},sT={key:0},cT={class:"plugin-form-actions"},uT=we(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var Q;const o=n,r=e,i=Ln.useRouter(),{i18n:{t:a}}=Oe.useI18n(),{customSchemas:l,typedefs:s}=Oe.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Oe.usePluginHelpers(),{getMessageFromError:u}=le.useErrors(),{capitalize:p}=le.useStringHelpers(),{objectsAreEqual:d}=le.useHelpers(),{axiosInstance:f}=le.useAxios((Q=r.config)==null?void 0:Q.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),y=t.computed(()=>r.pluginId?le.EntityBaseFormType.Edit:le.EntityBaseFormType.Create),g=t.ref(void 0),b=t.ref(void 0),k=t.computed(()=>!!(r.credential&&r.config.entityId)),_=t.ref(void 0),E=t.ref({}),P=t.ref(),C=t.ref();t.provide(Ls,{redisType:P,redisPath:C,isEditing:h.value});const R=t.ref(!1),$=t.reactive({enabled:!0,protocols:[],tags:[]}),O=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),X=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&X.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const z=t.ref(""),A=t.computed(()=>{if(k.value){let F=$e.form[r.config.app].credential[y.value];return F=F.replace(/{resourceEndpoint}/gi,T.value),F}return r.config.entityType&&r.config.entityId?$e.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):$e.form[r.config.app].edit.all}),S=()=>{m.value=!m.value},w=t.computed(()=>{var ye,me,_e,Ee,Se,ue,se,tt;const F=r.config.entityType==="consumers"&&r.config.entityId||((me=(ye=_.value)==null?void 0:ye.consumer)==null?void 0:me.id),W=r.config.entityType==="consumer_groups"&&r.config.entityId||((Ee=(_e=_.value)==null?void 0:_e.consumer_group)==null?void 0:Ee.id),K=r.config.entityType==="services"&&r.config.entityId||((ue=(Se=_.value)==null?void 0:Se.service)==null?void 0:ue.id),ae=r.config.entityType==="routes"&&r.config.entityId||((tt=(se=_.value)==null?void 0:se.route)==null?void 0:tt.id);if(!(F||W||K||ae))return{global:{entity:j.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const re={};return K&&(re.service={entity:j.PluginScope.SERVICE,entityEndpoint:"services",id:K,idField:qt.SERVICE}),ae&&(re.route={entity:j.PluginScope.ROUTE,entityEndpoint:"routes",id:ae,idField:qt.ROUTE}),F&&(re.consumer={entity:j.PluginScope.CONSUMER,entityEndpoint:"consumers",id:F,idField:qt.CONSUMER}),W&&(re.consumer_group={entity:j.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:W,idField:qt.CONSUMER_GROUP}),r.config.entityType&&(re.focusedEntity={entity:j.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:qt[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),re}),D=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===le.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),T=t.computed(()=>{var K;const F=r.developer?"developers":"consumers",W=((K=mn[r.pluginType])==null?void 0:K.endpoint)||"/plugins";return`${F}/${r.config.entityId}${r.developer?"/credentials":""}${W}`}),G=F=>{const W=Array.from(new Set(F.map(K=>typeof K)));return W.length>1?"string":W[0]},U=(F,W,K,ae)=>{var _e,Ee;let re=W&&W.fields||[];const ye=l[r.pluginType],me=(Ee=(_e=mn[r.pluginType])==null?void 0:_e.schema)==null?void 0:Ee.fields;return Array.isArray(re)&&(re=re.reduce((Se,ue)=>{const se=Object.keys(ue)[0];return se.match(/-/g)?Se[se.replace(/-/g,"_")]={...ue[se],fieldNameHasDashes:!0}:Se[se]=ue[se],Se},{})),Object.keys(re).sort().forEach(Se=>{var xo,To,Po,Io,Oo,$o,Bo;const ue=re[Se];ue.type==="set"&&(ue.type="array");const se=F?`${F}-${Se}`:`${Se}`;if((xo=ye==null?void 0:ye.fieldsToDelete)!=null&&xo.includes(se)){ks(K,se);return}if(Object.prototype.hasOwnProperty.call(ue,"overwrite")||ue.hidden)return;if(ue.type==="table")return U(se,ue.schema,K);if(ue.fields)return ae&&ue.type==="record"?(K[se]={type:"object",model:Se,schema:{fields:Object.values(U(se,ue,{},!0))}},K):U(se,ue,K);if(K[se]={id:se,model:Se},K[se].type=ue.type==="boolean"?"checkbox":"input",K[se].required=ue.required,K[se].referenceable=ue.referenceable,se.startsWith("config-"))if(!ae&&ue.type==="array"&&(z.value=se),ae&&z.value&&se.startsWith(z.value)){const Ce=se.slice(z.value.length+1);K[se].label=Ce.split("-").map(c).join(".")}else K[se].label=c(se);if((F==="config"||F.startsWith("config-"))&&(To=re[Se])!=null&&To.description&&(K[se].help=Do.marked.parse(re[Se].description,{mangle:!1,headerIds:!1})),ue.type==="map"){if(K[se].type="object-advanced",K[se].values=ue.values,ue.values.type==="array"){const{type:Ce}=ue.values.elements||{};K[se].schema={fields:[{schema:{fields:[{...Te,model:se,valueArrayType:Ce==="integer"?"number":Ce||"string",inputAttributes:{...Te.inputAttributes,type:Ce==="integer"?"number":"text",inputMode:Ce==="integer"?"numeric":"text"}}]}}]}}else ue.values.fields&&(K[se].schema={fields:[{type:"object",model:"object",schema:{fields:ue.values.fields.map(Ce=>{const je=Object.keys(Ce)[0];return{model:je,type:"input",label:p(je),placeholder:je,inputType:Ce[je].type}})}}]});return K}if(ue.enum&&ue.type==="array"&&(K[se].type="checklist",K[se].values=ue.enum,K[se].multi=!0,K[se].multiSelect=!0),ue.one_of&&ue.type!=="array"&&(K[se].type="select",K[se].values=ue.one_of,K[se].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),ue.elements&&ue.type==="array"){const Ce=ue.elements;if(K[se].referenceable=Ce.referenceable,K[se].elements=Ce,["string","integer","number"].includes(Ce.type)&&!Ce.one_of){const{id:je,help:Me,label:ve,hint:We,values:ot,referenceable:dn,model:pn}=K[se],{inputAttributes:Xr,...rP}=JSON.parse(JSON.stringify(Te));Xr.type=Ce.type==="string"?"text":"number",K[se]={id:je,help:Me,label:ve,hint:We,values:ot,referenceable:dn,model:pn,inputAttributes:Xr,...rP}}}if(ue.hint&&(K[se].hint=ue.hint),ye&&!ye.overwriteDefault&&Object.keys(ye).forEach(Ce=>{if(Ce===se){const{help:je,label:Me,hint:ve,values:We,referenceable:ot,elements:dn}=K[se],{help:pn,...Xr}=ye[Ce];K[se]={help:je,label:Me,hint:ve,values:We,referenceable:ot,elements:dn,...Xr},typeof pn=="string"&&(K[se].help=Do.marked.parse(pn,{mangle:!1,headerIds:!1}))}}),ue.type==="array"&&((Po=ue.elements)==null?void 0:Po.type)==="record"&&Array.isArray(ue.elements.fields)){let Ce={};for(const Me of ue.elements.fields)Ce={...Ce,...Me};const je=($o=(Oo=(Io=K[se])==null?void 0:Io.items)==null?void 0:Oo.schema)==null?void 0:$o.fields;if(Array.isArray(je))for(const Me of K[se].items.schema.fields){const ve=(Bo=Ce[Me.model])==null?void 0:Bo.description;Me.help===void 0&&typeof ve=="string"&&(Me.help=Do.marked.parse(ve,{mangle:!1,headerIds:!1}))}if(je||(K[se].type="array",K[se].newElementButtonLabelClasses="kong-form-new-element-button-label",K[se].fieldClasses="array-card-container-wrapper",K[se].itemContainerComponent="FieldArrayCardContainer",K[se].items={type:"object",schema:{fields:Object.values(U(se,ue.elements,{},!0))}},K[se].items.schema.fields.forEach(Me=>{var ve,We;for(const ot of ue.elements.fields){const dn=Object.keys(ot)[0],pn=((We=(ve=Me.id)==null?void 0:ve.split)==null?void 0:We.call(ve,"-"))??[];if(pn[pn.length-1]===dn){Me.model=dn,Me.label=c(dn);break}}}),ue.elements.type==="record"&&(K[se].nestedFields=!0)),!K[se].nestedFields)K[se].items.default=()=>ue.elements.fields.reduce((Me,ve)=>{const We=Object.keys(ve)[0];return Me[We]=ve[We].default,Me},{});else{const Me=(ve,We)=>{if(ve.type==="object"){ve.model&&(We[ve.model]={});for(const ot of ve.schema.fields)Me(ot,ve.model?We[ve.model]:We)}else ve.model&&(We[ve.model]=ve.default)};K[se].items.default=()=>{const ve={};return Me(K[se].items,ve),ve}}}if(k.value&&me){for(let Ce=0;Ce<me.length;Ce++)if(me[Ce][se]){K[se]={...K[se],...me[Ce][se]};break}}if(ue.required&&ue.type!=="boolean"&&(K[se].required=!0,K[se].selectOptions={hideNoneSelectedText:!0}),ue.required&&ue.type==="boolean"&&(K[se].default=ue.default??!1),ue.default!=null&&typeof ue.default!="object"&&ue.default!=="function"&&(K[se].default=ue.default),K[se].type==="input"){["string","number"].includes(typeof K[se].default)&&r.config.app==="konnect"&&(K[se].placeholder=`Default: ${K[se].default===""?"<empty string>":K[se].default}`);const{type:Ce}=ue.elements||{};Ce&&(K[se].valueArrayType=Ce==="integer"?"number":Ce),K[se].inputType=ue.type==="array"||ue.type==="string"?ue.encrypted?"password":"text":ue.type}let tt="string";ue.enum?tt=G(ue.enum):ue.type==="boolean"?tt="boolean":ue.type==="number"||ue.type==="integer"?(tt="number",K[se].inputType="number"):ue.type==="array"?(tt="array",K[se].default=ue.default,ue.len_min>0&&(K[se].submitWhenNull=!0)):ue.type==="foreign"?tt="object":ue.default&&Array.isArray(ue.default)?(tt="array",K[se].valueArrayType=G(ue.default)):ue.default&&(tt=typeof ue.default),K[se].valueType=tt,ue.fieldNameHasDashes&&(K[se].fieldNameHasDashes=!0)}),K},M=()=>{var Se,ue,se,tt,xo,To,Po,Io,Oo,$o,Bo,Ce;const F=((Se=kt[r.pluginType])==null?void 0:Se.scope.includes(j.PluginScope.SERVICE))??!0,W=((ue=kt[r.pluginType])==null?void 0:ue.scope.includes(j.PluginScope.ROUTE))??!0,K=((se=kt[r.pluginType])==null?void 0:se.scope.includes(j.PluginScope.CONSUMER))??!0,ae=r.config.disableConsumerGroupScope?!1:((tt=kt[r.pluginType])==null?void 0:tt.scope.includes(j.PluginScope.CONSUMER_GROUP))??!0,re=r.config.entityType==="consumers"&&!!r.config.entityId||!!((To=(xo=_.value)==null?void 0:xo.consumer)!=null&&To.id),ye=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Io=(Po=_.value)==null?void 0:Po.consumer_group)!=null&&Io.id),me=r.config.entityType==="services"&&!!r.config.entityId||!!(($o=(Oo=_.value)==null?void 0:Oo.service)!=null&&$o.id),_e=r.config.entityType==="routes"&&!!r.config.entityId||!!((Ce=(Bo=_.value)==null?void 0:Bo.route)!=null&&Ce.id),Ee=[];if(F&&Ee.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:me&&r.disableScopeSelection}),W&&Ee.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:_e&&r.disableScopeSelection}),K&&Ee.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:re&&r.disableScopeSelection}),ae&&Ee.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:ye&&r.disableScopeSelection}),Ee.length){const je=[...F?["service"]:[],...W?["route"]:[],...K?["consumer"]:[],...ae?["consumer_group"]:[]],ve=je.splice(je.length-2,2).map(ot=>a(ot==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ot}.plural`)).join(`${je.length>0?",":""} and/or `),We=["Specific",[...je.length>0?[je.map(ot=>a(ot==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ot}.plural`)).join(", ")]:[],ve].join(", ")].join(" ");D.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:We,fields:[]}),D.selectionGroup.fields[1].fields=Ee}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(D,l[r.pluginType].formSchema)},V=t.computed(()=>!d(O.fields,$,!0)),H=t.computed(()=>!J.value&&!R.value&&(y.value===le.EntityBaseFormType.Create||V.value)),ie=t.ref(!1),ce=t.ref(),ee=F=>{r.credential&&F.password&&(F.password=""),O.fields.id=(F==null?void 0:F.id)||void 0,ce.value=F==null?void 0:F.ordering,Object.assign($,O.fields),_.value=F,ie.value=!0},B=t.ref({}),L=F=>{var W;O.fields=F.model,O.fields.id=((W=_.value)==null?void 0:W.id)||void 0,Object.assign($,F.originalModel),B.value=F.data,r.isWizardStep&&o("model-updated",{model:O.fields,data:F.data,resourceEndpoint:T.value})},q=t.ref(new Map),Z=t.computed(()=>[O.clientErrorMessage,O.serverErrorMessage].filter(Boolean).join("; ")),te=F=>{F.valid?q.value.delete(F.model):q.value.set(F.model,F.error),O.clientErrorMessage=[...q.value.entries()].map(([W,K])=>`${W}: ${typeof K=="string"?K:u(K)}`).join("; "),O.clientErrorMessage&&(O.serverErrorMessage="")};t.watch([w,ie],(F,W)=>{const K=F[0]!==W[0],ae=F[1],re=W[1];if(!k.value&&y.value===le.EntityBaseFormType.Edit&&(K||ae&&ae!==re)){const ye=U("config",E.value,D);fe.value&&(ye._isCustomPlugin=!0),P.value&&(ye._supported_redis_partial_type=P.value),b.value=ye}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},oe=t.computed(()=>{let F=`${r.config.apiBaseUrl}${$e.form[r.config.app].validate}`;return r.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),F=F.replace(/{id}/gi,r.pluginId),F}),pe=t.computed(()=>{const F=r.config.entityType&&r.config.entityId&&!r.developer,W=k.value?$e.form[r.config.app].credential[y.value]:$e.form[r.config.app][y.value][F?"forEntity":"all"];let K=`${r.config.apiBaseUrl}${W}`;return r.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),K=K.replace(/{resourceEndpoint}/gi,T.value),K=K.replace(/{id}/gi,r.pluginId),K=K.replace(/{entityType}/gi,r.config.entityType||""),K=K.replace(/{entityId}/gi,r.config.entityId||""),K}),fe=t.computed(()=>!Object.keys(kt).includes(r.pluginType)),x=t.computed(()=>{const F=B.value;if(k.value){for(const W in j.PluginScope){const K=j.PluginScope[W];F[K]&&!F[K].id&&(F[K]={id:r.config.entityId})}delete F.created_at}return B.value.partials&&C.value&&ks(F,C.value),F}),N=async()=>{if(!O.clientErrorMessage&&!r.isWizardStep)try{O.isReadonly=!0;let F;const W=JSON.parse(JSON.stringify(x.value)),K=l[r.pluginType];typeof(K==null?void 0:K.shamefullyTransformPayload)=="function"&&K.shamefullyTransformPayload({originalModel:$,model:O.fields,payload:W,schema:b.value}),!k.value&&!fe.value&&await f.post(oe.value,W),y.value==="create"?F=await f.post(pe.value,W):y.value==="edit"&&(F=r.config.app==="konnect"||P.value&&W.partials?await f.put(pe.value,Object.assign({ordering:ce.value},W)):await f.patch(pe.value,W)),Object.assign($,O.fields),o("update",F==null?void 0:F.data)}catch(F){O.serverErrorMessage=u(F),o("error",F)}finally{O.isReadonly=!1}},v=t.computed(()=>{var ae;const F=k.value?(ae=mn[r.pluginType])==null?void 0:ae.schemaEndpoint:r.pluginType,W=k.value?$e.form[r.config.app].credentialSchema:$e.form[r.config.app].pluginSchema;let K=`${r.config.apiBaseUrl}${W}`;return r.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),K=K.replace(/{plugin}/gi,F),K}),I=t.ref(""),J=t.ref(!1),Y=t.ref("");return t.onBeforeMount(async()=>{var F,W,K,ae;J.value=!0;try{if(k.value&&r.config.app==="konnect"){const re=(F=mn[r.pluginType])==null?void 0:F.schemaEndpoint,ye=Ip[re];I.value=re,b.value=U("",ye,{}),J.value=!1}else{const re=r.schema??(await f.get(v.value)).data;if(g.value=re,re)if(k.value)b.value=U("",re,{}),J.value=!1;else{const ye=re.fields.find(_e=>_e.config);E.value=ye?ye.config:re,re.supported_partials&&(P.value=Object.keys(re.supported_partials).find(_e=>[Mo.REDIS_CE,Mo.REDIS_EE].includes(_e)),C.value=(W=re.supported_partials[P.value])==null?void 0:W[0]),M();const me=(K=re.fields.find(_e=>_e.protocols))==null?void 0:K.protocols;if(me){const{default:_e=[],elements:Ee={}}=me;D.protocols.default=_e,D.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:_e.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(ae=Ee.one_of)!=null&&ae.length&&(D.protocols.values=Ee.one_of.map(Se=>({label:Se,value:Se})))}if(ie.value||y.value===le.EntityBaseFormType.Create){const _e=U("config",E.value,D);P.value&&(_e._supported_redis_partial_type=P.value),fe.value&&(_e._isCustomPlugin=!0),b.value=_e}}}}catch(re){console.error(re),Y.value=u(re),o("error:fetch-schema",re)}finally{J.value=!1}}),(F,W)=>{const K=t.resolveComponent("KSkeleton"),ae=t.resolveComponent("KEmptyState"),re=t.resolveComponent("KButton"),ye=t.resolveComponent("KTabs"),me=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",lT,[J.value?(t.openBlock(),t.createBlock(K,{key:0,type:"form"})):Y.value?(t.openBlock(),t.createBlock(ae,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(le.EntityBaseForm),{key:2,"can-submit":H.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(le.SupportedEntityType).Plugin,"error-message":Z.value,"fetch-url":A.value,"form-fields":x.value,"is-readonly":O.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":W[4]||(W[4]=_e=>F.$emit("error",_e)),"onFetch:success":ee,onLoading:W[5]||(W[5]=_e=>F.$emit("loading",_e))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",sT)):(t.openBlock(),t.createBlock(aT,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",cT,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(re,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:W[3]||(W[3]=_e=>S())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(re,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:O.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(re,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!H.value||O.isReadonly,type:"submit",onClick:N},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:N},null,32),t.createVNode(rT,{config:e.config,credential:k.value,editing:y.value===t.unref(le.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,"entity-map":w.value,"raw-schema":g.value,record:_.value,schema:b.value,onGlobalAction:W[0]||(W[0]=(_e,Ee)=>F.$emit("globalAction",_e,Ee)),onLoading:W[1]||(W[1]=_e=>R.value=_e),onModelUpdated:L,onShowNewPartialModal:W[2]||(W[2]=_e=>F.$emit("showNewPartialModal",_e)),onValidityChange:te},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(me,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:S},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(ye,{"data-testid":"form-view-configuration-slideout-tabs",tabs:X.value},{json:t.withCtx(()=>[t.createVNode(t.unref(le.JsonCodeBlock),{config:e.config,"entity-record":x.value,"fetcher-url":pe.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(le.YamlCodeBlock),{"entity-record":x.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(le.TerraformCodeBlock),{"credential-type":I.value,"entity-record":x.value,"entity-type":t.unref(le.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-420ab237"]]),dT={class:"kong-ui-entities-plugins-list"},pT={class:"button-row"},fT={class:"empty-state-icon-gateway"},mT={class:"name-cell-wrapper"},gT={class:"info-wrapper"},hT={key:0,class:"info-name"},yT={key:1,class:"info-name"},_T={key:2,class:"info-type"},bT={key:1},wT=we(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var I,J;const o=Oe.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Oe.useI18n(),l=Ln.useRouter(),{axiosInstance:s}=le.useAxios((I=i.config)==null?void 0:I.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=le.useTableState(()=>E.value),p=t.computed(()=>c.value&&i.config.app==="konnect"),d=t.computed(()=>!i.enableV2EmptyStates&&i.config.app==="konnect"),f=t.computed(()=>!!i.config.entityId),m=t.computed(()=>{var Y;return((Y=i.config)==null?void 0:Y.entityType)==="consumers"}),h=t.computed(()=>{var Y;return((Y=i.config)==null?void 0:Y.entityType)==="consumer_groups"}),y=i.config.app==="konnect"||le.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),b={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(J=i.config)!=null&&J.entityId||(b.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),b.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(b.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),b.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const k=b,_=t.computed(()=>{var Q,F,W,K;let Y=i.config.entityType?`${i.config.apiBaseUrl}${$e.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${$e.list[i.config.app].all}`;return i.config.app==="konnect"?Y=Y.replace(/{controlPlaneId}/gi,((Q=i.config)==null?void 0:Q.controlPlaneId)||""):i.config.app==="kongManager"&&(Y=Y.replace(/\/{workspace}/gi,(F=i.config)!=null&&F.workspace?`/${i.config.workspace}`:"")),Y.replace(/{entityType}/gi,((W=i.config)==null?void 0:W.entityType)||"").replace(/{entityId}/gi,((K=i.config)==null?void 0:K.entityId)||"")}),E=t.ref(""),P=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:b.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...b.enabled,label:a("search.filter.field.enabled")},name:b.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:C,fetcherState:R,fetcherCacheKey:$}=le.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),_),O=()=>{E.value=""},X=()=>{$.value++},z=t.ref(null),A=Y=>{var F,W,K,ae;const Q=[];return((F=Y.route)!=null&&F.id||Y.route_id)&&Q.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((W=Y.service)!=null&&W.id||Y.service_id)&&Q.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((K=Y.consumer)!=null&&K.id||Y.consumer_id)&&Q.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((ae=Y.consumer_group)!=null&&ae.id||Y.consumer_group_id)&&Q.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),Q.length?Q:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},S=async(Y,Q)=>{var F;return Y===null?!1:await((F=i.canRetrieveScopedEntity)==null?void 0:F.call(i,Y,Q.id))},w=(Y,Q)=>{var W,K,ae,re,ye;let F=null;switch(Y){case"route":F=(W=Q.route)==null?void 0:W.id;break;case"service":F=(K=Q.service)==null?void 0:K.id;break;case"consumer":F=(ae=Q.consumer)==null?void 0:ae.id;break;case"consumer_group":F=(re=Q.consumer_group)==null?void 0:re.id;break}F&&((ye=i.config)!=null&&ye.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(Y,F))},D=t.ref(!1),T=t.ref(null),G=t.computed(()=>{const Y={action:"disable",id:"",name:""};if(T.value){const{enabled:Q,id:F,name:W}=T.value;Y.action=Q?"disable":"enable",Y.id=F,Y.name=o.getDisplayName(W)||F}return Y}),U=Y=>{D.value=!0,T.value=Y},M=()=>{D.value=!1,T.value=null},V=async()=>{var W,K,ae,re,ye,me,_e,Ee;if(!await((W=i.canEdit)==null?void 0:W.call(i,T.value))||!T.value)return;let Q=`${i.config.apiBaseUrl}${(ye=$e.item[i.config.app])==null?void 0:ye[(K=i.config)!=null&&K.entityType?"forEntity":"all"].replace(/{entityType}/gi,((ae=i.config)==null?void 0:ae.entityType)||"").replace(/{entityId}/gi,((re=i.config)==null?void 0:re.entityId)||"")}`.replace(/{id}/gi,T.value.id||"");i.config.app==="konnect"?Q=Q.replace(/{controlPlaneId}/gi,((me=i.config)==null?void 0:me.controlPlaneId)||""):i.config.app==="kongManager"&&(Q=Q.replace(/\/{workspace}/gi,(_e=i.config)!=null&&_e.workspace?`/${i.config.workspace}`:""));const F=!T.value.enabled;try{const{data:Se}=((Ee=i.config)==null?void 0:Ee.app)==="konnect"?await s.put(Q,{...T.value,enabled:F},{timeout:12e4}):await s.patch(Q,{...T.value,enabled:F},{timeout:12e4});r("toggle-enabled",F,Se),T.value.enabled=F}catch(Se){r("error",Se)}},H=async(Y,Q)=>{const F=Y.id;if(!await Q(F)){r("copy:error",{entity:Y,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:Y,field:"id",message:a("copy.success",{val:F})})},ie=async(Y,Q)=>{const F=JSON.stringify(Y);if(!await Q(F)){r("copy:error",{entity:Y,message:a("errors.copy")});return}r("copy:success",{entity:Y,message:a("copy.success_brief")})},ce=async Y=>{var F;await((F=i.canRetrieve)==null?void 0:F.call(i,Y))&&l.push(i.config.getViewRoute(Y))},ee=Y=>({label:a("actions.view"),to:i.config.getViewRoute(Y)}),B=Y=>({label:a("actions.edit"),to:i.config.getEditRoute(Y)}),L=Y=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(Y)}),q=t.ref(void 0),Z=t.ref(!1),te=t.ref(!1),ne=t.ref(""),oe=le.useDeleteUrlBuilder(i.config,_.value),pe=Y=>{q.value=Y,Z.value=!0},fe=()=>{Z.value=!1},x=async()=>{var Y,Q,F;if((Y=q.value)!=null&&Y.id){te.value=!0;try{await s.delete(oe(q.value.id)),te.value=!1,Z.value=!1,$.value++,r("delete:success",q.value)}catch(W){ne.value=((F=(Q=W.response)==null?void 0:Q.data)==null?void 0:F.message)||W.message||a("errors.delete"),r("error",W)}finally{te.value=!1}}},N=()=>{l.push(i.config.createRoute)};t.watch(R,Y=>{var Q,F,W;if(Y.status===le.FetcherStatus.Error){z.value={title:a("errors.general")},(W=(F=(Q=Y.error)==null?void 0:Q.response)==null?void 0:F.data)!=null&&W.message&&(z.value.message=Y.error.response.data.message),r("error",Y.error);return}z.value=null});const v=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")});return t.onBeforeMount(async()=>{await i.canCreate()&&(v.value.title=a("plugins.list.empty_state.title"),v.value.ctaText=a("actions.create"))}),(Y,Q)=>{const F=t.resolveComponent("KButton"),W=t.resolveComponent("KBadge"),K=t.resolveComponent("KTruncate"),ae=t.resolveComponent("KInputSwitch"),re=t.resolveComponent("KDropdownItem"),ye=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",dT,[t.createVNode(t.unref(le.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":v.value,"enable-entity-actions":"","error-message":z.value,fetcher:t.unref(C),"fetcher-cache-key":t.unref($),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:E.value,"table-headers":t.unref(k),title:e.title,"title-tag":e.titleTag,onClearSearchInput:O,"onClick:row":Q[5]||(Q[5]=me=>ce(me)),onSort:X,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(le.EntityFilter),{modelValue:E.value,"onUpdate:modelValue":Q[0]||(Q[0]=me=>E.value=me),config:P.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",pT,[!f.value&&p.value?(t.openBlock(),t.createBlock(F,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[1]||(Q[1]=me=>Y.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(le.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(F,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:me})=>[t.createElementVNode("div",mT,[t.createVNode(t.unref(Un.PluginIcon),{class:"plugin-icon",name:me.name,size:24},null,8,["name"]),t.createElementVNode("div",gT,[me.instance_name?(t.openBlock(),t.createElementBlock("span",hT,t.toDisplayString(me.instance_name),1)):(t.openBlock(),t.createElementBlock("span",yT,t.toDisplayString(t.unref(o).getDisplayName(me.name)),1)),me.instance_name?(t.openBlock(),t.createElementBlock("span",_T,t.toDisplayString(t.unref(o).getDisplayName(me.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:me})=>[A(me).length>0?(t.openBlock(),t.createBlock(K,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(A(me),_e=>(t.openBlock(),t.createBlock(t.unref(le.PermissionsWrapper),{key:_e.badgeText,"auth-function":()=>S(_e.type,me),"force-show":""},{default:t.withCtx(({isAllowed:Ee})=>[t.createVNode(W,{class:t.normalizeClass(Ee||"disabled"),onClick:t.withModifiers(Se=>Ee&&_e.type&&w(_e.type,me),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(_e.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bT,"-"))]),enabled:t.withCtx(({row:me})=>[t.createVNode(t.unref(le.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(me)&&await e.canToggle(me)),"force-show":""},{default:t.withCtx(({isAllowed:_e})=>{var Ee,Se;return[t.createElementVNode("div",{onClick:Q[4]||(Q[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ae,{disabled:!_e,"disabled-tooltip-text":!_e&&((Se=(Ee=e.config).getToggleDisabledTooltip)==null?void 0:Se.call(Ee,me))||void 0,"model-value":me.enabled,onClick:t.withModifiers(ue=>_e&&U(me),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:me})=>[t.createVNode(W,{appearance:t.unref(_s)(me)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(_s)(me)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:me})=>[t.createVNode(t.unref(le.TableTags),{tags:me},null,8,["tags"])]),actions:t.withCtx(({row:me})=>[t.createVNode(ye,null,{default:t.withCtx(({copyToClipboard:_e})=>[t.createVNode(re,{"data-testid":"action-entity-copy-id",onClick:Ee=>H(me,_e)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(ye,null,{default:t.withCtx(({copyToClipboard:_e})=>[t.createVNode(re,{"data-testid":"action-entity-copy-json",onClick:Ee=>ie(me,_e)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(le.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(me)},{default:t.withCtx(()=>[t.createVNode(re,{"data-testid":"action-entity-view","has-divider":"",item:ee(me)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(le.PermissionsWrapper),{"auth-function":()=>e.canEdit(me)},{default:t.withCtx(()=>[t.createVNode(re,{"data-testid":"action-entity-edit",item:B(me)},null,8,["item"])]),_:2},1032,["auth-function"]),!m.value&&!h.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(le.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(me)},{default:t.withCtx(()=>[L(me)?(t.openBlock(),t.createBlock(re,{key:0,"data-testid":"action-entity-config-dyn-order",item:L(me)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(le.PermissionsWrapper),{"auth-function":()=>e.canDelete(me)},{default:t.withCtx(()=>[t.createVNode(re,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:_e=>pe(me)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(c)&&d.value?{name:"outside-actions",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createVNode(F,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[2]||(Q[2]=me=>Y.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!E.value&&e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var me;return[t.createVNode(t.unref(le.EntityEmptyState),{"action-button-text":t.unref(a)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:t.unref(a)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(a)("plugins.list.empty_state_v2.title"),"onClick:create":N,"onClick:learnMore":Q[3]||(Q[3]=_e=>Y.$emit("click:learn-more"))},t.createSlots({image:t.withCtx(()=>[t.createElementVNode("div",fT,[t.createVNode(t.unref(ke.PlugIcon),{color:t.unref(wb),size:t.unref(Cb)},null,8,["color","size"])])]),_:2},[(me=e.config)!=null&&me.isControlPlaneGroup?{name:"message",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(le.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":V,visible:D.value,onCancel:M,onProceed:M},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(le.EntityDeleteModal),{"action-pending":te.value,description:t.unref(a)("delete.description"),"entity-name":q.value&&(q.value.instance_name||q.value.name||q.value.id),"entity-type":t.unref(le.EntityTypes).Plugin,error:ne.value,title:t.unref(a)("delete.title"),visible:Z.value,onCancel:fe,onProceed:x},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-a33ca66d"]]),kT={class:"plugin-select-card-wrapper"},CT=["data-testid"],ET={class:"plugin-card-header"},NT={class:"plugin-card-title"},vT={key:0,class:"plugin-card-actions"},ST=["data-testid","title"],AT={key:0,class:"plugin-card-text"},xT={key:0},TT=["title"],Ya=we(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=Ln.useRouter(),{i18n:{t:a}}=Oe.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!f.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),u=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},p=()=>{r.navigateOnClick?u():d()},d=()=>{o("plugin-clicked",r.plugin)},f=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===j.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(b,k)=>{const _=r.config;r.config.app==="konnect"&&typeof _.getCustomEditRoute=="function"&&_.getCustomEditRoute&&i.push(_.getCustomEditRoute(b,k))},g=()=>{if(!s.value&&r.config.app==="konnect"){const b=r.config;f.value&&b.createCustomRoute?i.push(b.createCustomRoute):m.value&&u()}};return(b,k)=>{const _=t.resolveComponent("KButton"),E=t.resolveComponent("KDropdownItem"),P=t.resolveComponent("KDropdownMenu"),C=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",kT,[t.createVNode(C,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:k[1]||(k[1]=R=>s.value||m.value?void 0:p())},[t.createElementVNode("div",ET,[t.createElementVNode("div",NT,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",vT,[t.createVNode(P,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(_,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.MoreIcon),{size:t.unref(Qn)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(E,{key:0,"data-testid":"edit-plugin-schema",onClick:k[0]||(k[0]=t.withModifiers(R=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(E,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(Un.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!f.value?(t.openBlock(),t.createElementBlock("div",AT,[m.value&&!f.value?(t.openBlock(),t.createElementBlock("p",xT,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,TT)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,ST),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(f.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,CT)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),PT=we(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Oe.useI18n(),{getMessageFromError:l}=le.useErrors(),{axiosInstance:s}=le.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var y;return d.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),u=t.ref(!1),p=t.ref(""),d=t.ref(!1),f=t.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?$e.select[o.config.app].streamingCustomPluginItem:$e.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,b,k;if(u.value=!0,p.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{f.value&&await s.delete(f.value),r("proceed")}catch(_){const{response:E}=_;(E==null?void 0:E.status)===400&&((k=(b=E.data)==null?void 0:b.message)!=null&&k.includes("plugin schema is currently in use"))?d.value=!0:p.value=l(_)}finally{u.value=!1}};return(y,g)=>{const b=t.resolveComponent("KButton"),k=t.resolveComponent("KModal");return!d.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(le.EntityDeleteModal),{key:0,"action-pending":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(le.EntityTypes).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=_=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(k,{key:1,"action-button-disabled":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=_=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(b,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=_=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),IT={class:"custom-plugins-grid"},OT={class:"empty-state-title"},$T={class:"empty-state-description"},Wa=310,BT=we(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Oe.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Oe.usePluginHelpers(),s=t.ref(!0),c=P=>{r("plugin-clicked",P)},u=t.computed(()=>{if(o.config.app==="kongManager")return[];const P=JSON.parse(JSON.stringify(o.pluginList))[j.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:j.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(P):P}),p=t.ref(!1),d=t.ref(null),f=P=>{p.value=!0,d.value={id:P.id,name:P.name,customPluginType:P.customPluginType}},m=P=>{var C;P&&(r("revalidate"),r("delete:success",((C=d.value)==null?void 0:C.name)||"")),p.value=!1,d.value=null},h=t.ref(Wa),y=t.ref(null),g=t.ref(null),b=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),k=t.ref(!1),_=()=>{h.value=Math.max(a(g.value),Wa),E()},E=()=>{var P,C;(P=g.value)!=null&&P.length&&(k.value=l(y.value,(C=g.value)==null?void 0:C.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),Wa),E(),window==null||window.addEventListener("resize",_)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",_)}),(P,C)=>{const R=t.resolveComponent("KEmptyState"),$=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",IT,[u.value.length?(t.openBlock(),t.createBlock($,{key:1,modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=O=>s.value=O),class:"custom-plugins-collapse","data-testid":`${t.unref(j.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(j.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(b.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(O,X)=>(t.openBlock(),t.createBlock(Ya,{key:`plugin-card-${X}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:O,onCustomPluginDelete:z=>f(O),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[k.value?void 0:{name:"trigger",fn:t.withCtx(()=>[C[2]||(C[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(R,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",OT,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",$T,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&d.value?(t.openBlock(),t.createBlock(PT,{key:2,config:e.config,plugin:d.value,onClosed:m,onProceed:C[1]||(C[1]=O=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Za=310,hp=we(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Oe.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Oe.usePluginHelpers(),c=t.ref(Za),u=t.ref(null),p=t.ref(null),d=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),f=t.ref(!1),m=()=>{c.value=Math.max(l(p.value),Za),h()},h=()=>{var y,g;(y=p.value)!=null&&y.length&&(f.value=s(u.value,(g=p.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(p.value),Za),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const b=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(b,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=k=>o.value=k),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:u,class:"plugin-card-container",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,k=>(t.openBlock(),t.createBlock(Ya,{key:`plugin-card-${k.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:p,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:k,onPluginClicked:_=>i("plugin-clicked",k)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[f.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),DT={class:"plugin-select-grid"},VT={class:"empty-state-title"},RT={class:"empty-state-description"},Xa=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Oe.useI18n(),a=t.ref(!1),l=t.ref(tl),s=u=>{r("plugin-clicked",u)},c=t.computed(()=>{const u=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete u[j.PluginGroup.CUSTOM_PLUGINS],u});return(u,p)=>{const d=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",DT,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(d,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",VT,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",RT,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(hp,{key:1,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=f=>a.value=f),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:p[1]||(p[1]=f=>s(f))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(el),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(hp,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:c.value[f]||[],onPluginClicked:p[2]||(p[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),MT={class:"kong-ui-entities-plugin-select-form"},FT={class:"plugins-filter-input-container"},LT={key:0},KT={key:3,"aria-live":"polite",class:"plugins-results-container"},UT={"data-testid":"kong-tab"},qT={class:"tab-description"},zT={"data-testid":"custom-tab"},GT={class:"tab-description"},jT=we(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var M;const o=e,r=n,i=Ln.useRoute(),a=Ln.useRouter(),{i18n:{t:l}}=Oe.useI18n(),{pluginMetaData:s}=Oe.usePluginMetaData(),{getMessageFromError:c}=le.useErrors(),{sortAlpha:u,objectsAreEqual:p}=le.useHelpers(),d=t.ref(""),f=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref([]),g=t.ref([]),b=t.ref({}),k=t.ref([]),{axiosInstance:_}=le.useAxios((M=o.config)==null?void 0:M.axiosRequestConfig),E=t.computed(()=>b.value?Object.entries(b.value).filter(([V])=>V!==j.PluginGroup.CUSTOM_PLUGINS).reduce((V,[,H])=>{for(const ie of H)V[ie.id]=ie;return V},{}):{}),P=t.computed(()=>{var ie;if(!b.value)return{};const V=d.value.toLowerCase(),H=JSON.parse(JSON.stringify(b.value));for(const ce in b.value){const ee=((ie=b.value[ce])==null?void 0:ie.filter(B=>B.name.toLowerCase().includes(V)||B.id.toLowerCase().includes(V)||B.group.toLowerCase().includes(V)))||[];ee.length?H[ce]=ee:delete H[ce]}return H}),C=t.computed(()=>o.highlightedPluginIds.reduce((V,H)=>{const ie=E.value[H];return ie&&V.push(ie),V},[])),R=t.computed(()=>Object.keys(P.value).length>0),$=t.computed(()=>Object.keys(b.value).length>0&&!R.value),O=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),X=t.computed(()=>{var H;let V=O.value.length&&((i==null?void 0:i.hash)||((H=O.value[0])==null?void 0:H.hash))||"";return V==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(V="#kong"),V}),z=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(V=>!o.ignoredPlugins.includes(V)).filter(V=>o.config.entityType&&(o.config.entityType==="services"&&s[V]&&!s[V].scope.includes(j.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[V]&&!s[V].scope.includes(j.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[V]&&!s[V].scope.includes(j.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[V]&&!s[V].scope.includes(j.PluginScope.CONSUMER))?!1:V).reduce((V,H)=>{var L;const ie=s[H]&&s[H].name||H,ce={...s[H],id:H,name:ie,available:y.value.includes(H),disabledMessage:"",group:((L=s[H])==null?void 0:L.group)||j.PluginGroup.CUSTOM_PLUGINS};ce.group===j.PluginGroup.CUSTOM_PLUGINS&&(ce.customPluginType=g.value.find(q=>q.name===H)?"streaming":"schema"),o.disabledPlugins&&(ce.disabledMessage=o.disabledPlugins[H]);const ee=ce.group||l("plugins.select.misc_plugins");let B=V[ee];return B||(B=[]),B.push(ce),B.sort(u("name")),V[ee]=B,V},{}),A=t.computed(()=>{var H;let V=`${o.config.apiBaseUrl}${$e.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=((H=o.config.gatewayInfo)==null?void 0:H.edition)==="community"?`${o.config.apiBaseUrl}${$e.select[o.config.app].availablePluginsForOss}`:V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V}),S=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let V=`${o.config.apiBaseUrl}${$e.select[o.config.app].streamingCustomPlugins}`;return V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),V}return null}),w=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let V=`${o.config.apiBaseUrl}${$e.list[o.config.app].forEntity}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),D=V=>{a.replace({hash:V,query:i.query})};t.watch(()=>o.disabledPlugins,(V,H)=>{!p(V,H)&&!f.value&&(b.value=z())}),t.watch(()=>o.ignoredPlugins,(V,H)=>{!p(V,H)&&!f.value&&(b.value=z())}),t.watch(f,V=>{r("loading",V)});const T=t.ref(!1),G=t.ref(!1),U=t.ref(!1);return t.onBeforeMount(async()=>{T.value=await o.canCreateCustomPlugin(),G.value=await o.canEditCustomPlugin(),U.value=await o.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:V}=await _.get(A.value);if(o.config.app==="konnect"){const{names:H}=V;if(y.value=H||[],S.value){const{data:ie}=await _.get(S.value);g.value=ie.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:H}}=V;y.value=H?Object.keys(H):[]}}catch(V){m.value=!0,h.value=c(V)}if(w.value)try{const{data:{data:V}}=await _.get(w.value);if(V!=null&&V.length){const H=V.reduce((ie,ce)=>(ce.name&&ie.push(ce.name),ie),[]);k.value=k.value.concat(H)}}catch{}m.value||(b.value=z()),f.value=!1}),(V,H)=>{const ie=t.resolveComponent("KInput"),ce=t.resolveComponent("KSkeletonBox"),ee=t.resolveComponent("KSkeleton"),B=t.resolveComponent("KEmptyState"),L=t.resolveComponent("KTooltip"),q=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",MT,[t.createElementVNode("div",FT,[t.createVNode(ie,{modelValue:d.value,"onUpdate:modelValue":H[0]||(H[0]=Z=>d.value=Z),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(t.openBlock(),t.createElementBlock("section",LT,[t.createVNode(ce,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ee,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(B,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):$.value&&d.value?(t.openBlock(),t.createBlock(B,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",KT,[O.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(q,{key:0,modelValue:X.value,"onUpdate:modelValue":H[5]||(H[5]=Z=>X.value=Z),"data-testid":"plugins-tabs",tabs:O.value,onChange:D},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",UT,[t.createElementVNode("p",qT,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Xa,{config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":C.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,onPluginClicked:H[1]||(H[1]=Z=>V.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",zT,[t.createElementVNode("p",GT,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(BT,{"can-create-custom-plugin":T.value,"can-delete-custom-plugin":U.value,"can-edit-custom-plugin":G.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,"onDelete:success":H[2]||(H[2]=Z=>V.$emit("delete-custom:success",Z)),onPluginClicked:H[3]||(H[3]=Z=>V.$emit("plugin-clicked",Z)),onRevalidate:H[4]||(H[4]=()=>b.value=z())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(L,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Xa,{key:1,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":C.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,onPluginClicked:H[6]||(H[6]=Z=>V.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-d2065987"]]),HT={class:"kong-ui-entity-plugin-config-card"},YT={class:"name-cell-wrapper"},WT={class:"info-name"},ZT={key:0},XT={key:0},JT={key:0},QT={key:0},eP={key:0},Ja="config",tP=we(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var k;const o=n,r=e,{i18n:{t:i}}=Oe.useI18n(),a=Oe.usePluginMetaData(),{setFieldType:l}=Oe.usePluginHelpers(),{getPropValue:s}=le.useHelpers(),c=t.computed(()=>{var _;return(_=$e.item[r.config.app])==null?void 0:_[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),u=t.computed(()=>{var P,C;const _={},E=((P=y.value)==null?void 0:P.fields)||[];for(let R=0;R<E.length;R++){const $=y.value.fields[R],O=(C=Object.keys($))==null?void 0:C[0];l(_,O,$[O])}return{..._,instance_name:{section:le.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:le.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:le.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:le.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:le.ConfigurationSchemaSection.Basic,order:6},protocols:{type:le.ConfigurationSchemaType.BadgeTag,section:le.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var E,P,C;if(!((E=y.value)!=null&&E.fields))return[];const _=(P=y.value.fields)==null?void 0:P.find(R=>{var O;return((O=Object.keys(R))==null?void 0:O[0])===Ja});return((C=_==null?void 0:_[Ja])==null?void 0:C.fields)||[]}),d=t.computed(()=>{var E,P;const _={};if(!p.value)return _;for(let C=0;C<((E=p.value)==null?void 0:E.length);C++){const R=p.value[C],$=(P=Object.keys(R))==null?void 0:P[0],O=R[$];O.required&&(_[$]={order:1}),l(_,$,O)}return _}),{getMessageFromError:f}=le.useErrors(),{axiosInstance:m}=le.useAxios((k=r.config)==null?void 0:k.axiosRequestConfig),h=t.computed(()=>{var E,P;let _=`${r.config.apiBaseUrl}${$e.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?_=_.replace(/{controlPlaneId}/gi,((E=r.config)==null?void 0:E.controlPlaneId)||""):r.config.app==="kongManager"&&(_=_.replace(/\/{workspace}/gi,(P=r.config)!=null&&P.workspace?`/${r.config.workspace}`:"")),_=_.replace(/{plugin}/gi,r.config.pluginType),_}),y=t.ref({});le.useSchemaProvider(y);const g=t.ref(!1),b=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:_}=await m.get(h.value);y.value=_}catch(_){b.value=f(_),o("error:fetch-schema",_)}finally{g.value=!1}}),(_,E)=>{const P=t.resolveComponent("KSkeleton"),C=t.resolveComponent("KEmptyState"),R=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",HT,[g.value?(t.openBlock(),t.createBlock(P,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):b.value?(t.openBlock(),t.createBlock(C,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(b.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(le.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(le.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":Ja,"plugin-config-schema":d.value,"onFetch:error":E[0]||(E[0]=$=>_.$emit("fetch:error",$)),"onFetch:success":E[1]||(E[1]=$=>_.$emit("fetch:success",$)),onLoading:E[2]||(E[2]=$=>_.$emit("loading",$))},{name:t.withCtx($=>[t.createElementVNode("div",YT,[t.createVNode(t.unref(Un.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",$),size:24},null,8,["name"]),t.createElementVNode("span",WT,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",$))),1)])]),consumer:t.withCtx($=>[t.unref(s)("rowValue",$)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(le.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",$).id,value:t.unref(s)("rowValue",$).id,type:t.unref(le.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>_.$emit("navigation-click",t.unref(s)("rowValue",$).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(R,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",$).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",ZT,"–"))]),route:t.withCtx($=>[t.unref(s)("rowValue",$)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(le.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",$).id,value:t.unref(s)("rowValue",$).id,type:t.unref(le.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>_.$emit("navigation-click",t.unref(s)("rowValue",$).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(R,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",$).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",XT,"–"))]),service:t.withCtx($=>[t.unref(s)("rowValue",$)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(le.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",$).id,value:t.unref(s)("rowValue",$).id,type:t.unref(le.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>_.$emit("navigation-click",t.unref(s)("rowValue",$).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(R,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",$).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",JT,"–"))]),consumer_group:t.withCtx($=>[t.unref(s)("rowValue",$)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(le.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",$).id,value:t.unref(s)("rowValue",$).id,type:t.unref(le.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>_.$emit("navigation-click",t.unref(s)("rowValue",$).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(R,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",$).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",QT,"–"))]),partials:t.withCtx($=>{var O,X,z,A,S,w,D,T,G;return[t.unref(s)("rowValue",$)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(le.InternalLinkItem),{key:1,item:{key:(X=(O=t.unref(s)("rowValue",$))==null?void 0:O[0])==null?void 0:X.id,value:((A=(z=t.unref(s)("rowValue",$))==null?void 0:z[0])==null?void 0:A.id)+((w=(S=t.unref(s)("rowValue",$))==null?void 0:S[0])!=null&&w.name?"/"+((T=(D=t.unref(s)("rowValue",$))==null?void 0:D[0])==null?void 0:T.name):""),type:t.unref(le.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var U,M;return _.$emit("navigation-click",(M=(U=t.unref(s)("rowValue",$))==null?void 0:U[0])==null?void 0:M.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(R,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",$).label}),"data-testid":"partial-copy-uuid",text:(G=t.unref(s)("rowValue",$))==null?void 0:G[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",eP,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-c314449c"]]),{usePluginMetaData:nP,useProvideExperimentalFreeForms:oP}=Oe;Object.defineProperty(be,"PluginGroup",{enumerable:!0,get:()=>j.PluginGroup}),Object.defineProperty(be,"PluginScope",{enumerable:!0,get:()=>j.PluginScope}),Object.defineProperty(be,"PluginIcon",{enumerable:!0,get:()=>Un.PluginIcon}),Object.defineProperty(be,"getPluginIconURL",{enumerable:!0,get:()=>Un.getPluginIconURL}),be.EXPERIMENTAL_FREE_FORM_PROVIDER=Jr,be.EntityTypeIdField=qt,be.FEATURE_FLAGS=dl,be.PLUGIN_GROUPS_COLLAPSE_STATUS=tl,be.PluginConfigCard=tP,be.PluginForm=uT,be.PluginGroupArray=el,be.PluginList=wT,be.PluginPartialType=Mo,be.PluginSelect=jT,be.PluginSelectCard=Ya,be.PluginSelectGrid=Xa,be.pluginEndpoints=$e,be.usePluginMetaData=nP,be.useProvideExperimentalFreeForms=oP,Object.defineProperty(be,Symbol.toStringTag,{value:"Module"})});
|
|
154
|
+
`},Symbol.toStringTag,{value:"Module"})),EB={ref:"editor-root",class:"dk-editor"},bl="YAML Syntax",kB="datakit.insert-example",CB=we(n.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean},config:{}},emits:["change","error"],setup(e,{expose:t,emit:o}){const r=o,i=n.useTemplateRef("editor-root"),a=n.shallowRef(null);function l(s){const c=a.value,d=c==null?void 0:c.getModel();if(!c||!d)return;const u=Bp[s];if(c.getValue()!==u){const f=d.getFullModelRange();c.pushUndoStop(),c.executeEdits(kB,[{range:f,text:u}]),c.pushUndoStop()}c.focus()}return n.onMounted(()=>{const s=Go.editor.create(i.value,{language:"yaml",automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep"});a.value=s,e.editing&&s.setValue($p.dump(n.toRaw(e.config),{schema:_l,noArrayIndent:!0})),s.onDidChangeModelContent(()=>{const c=s.getModel(),d=s.getValue()||"";try{const u=$p.load(d,{schema:_l,json:!0});Go.editor.setModelMarkers(c,bl,[]),r("change",u)}catch(u){const{message:f,mark:p}=u,{line:m,column:h}=p||{line:0,column:0},y=f.split(`
|
|
155
|
+
`)[0],g=[{startLineNumber:m+1,startColumn:h+1,endLineNumber:m+1,endColumn:h+2,message:y,severity:Go.MarkerSeverity.Error,source:bl}];Go.editor.setModelMarkers(c,bl,g),r("error",y)}})}),n.onBeforeUnmount(()=>{var s;(s=a.value)==null||s.dispose()}),t({setExampleCode:l}),(s,c)=>(n.openBlock(),n.createElementBlock("div",EB,null,512))}}),[["__scopeId","data-v-e5fcb32d"]]),vB={key:0},NB={class:"examples-content"},SB=["innerHTML"],Dp=Object.freeze(Object.defineProperty({__proto__:null,DatakitForm:we(n.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t}=Ke.createI18n("en-us",je),o=e,r=n.inject(Rl.DATAKIT_ENABLE_FLOW_EDITOR,!1),{editorMode:i}=oa(),a=n.computed(()=>r?i.value:"code"),l={flow:Ee.DesignIcon,code:Ee.CodeblockIcon},s=[{label:t("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:t("plugins.free-form.datakit.code_editor.mode"),value:"code"}],c=n.computed(()=>{switch(i.value){case"code":return t("plugins.free-form.datakit.description_code");case"flow":return t("plugins.free-form.datakit.description_flow");default:return""}}),d=n.useTemplateRef("code-editor");function u(m){var h;(h=d.value)==null||h.setExampleCode(m)}function f(m){var h;o.onFormChange({config:m}),(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!0})}function p(m){var h;(h=o.onValidityChange)==null||h.call(o,{model:"config",valid:!1,error:m})}return(m,h)=>{const y=n.resolveComponent("KButton");return n.openBlock(),n.createBlock(aw,n.mergeProps(o,{class:"dk-form"}),n.createSlots({default:n.withCtx(g=>[a.value==="flow"?(n.openBlock(),n.createElementBlock("div",vB,[n.createVNode(nO,{config:o.model.config,editing:o.isEditing},null,8,["config","editing"])])):a.value==="code"?(n.openBlock(),n.createBlock(_t,n.mergeProps({key:1},g,{tag:"div"}),{default:n.withCtx(()=>[n.createVNode(n.unref(Ie.KAlert),{class:"examples"},{icon:n.withCtx(()=>[n.createVNode(n.unref(Ee.SparklesIcon))]),default:n.withCtx(()=>[n.createElementVNode("div",NB,[n.createTextVNode(n.toDisplayString(n.unref(t)("plugins.free-form.datakit.description_example"))+" ",1),(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(Bp,(_,w)=>n.createVNode(y,{key:w,appearance:"secondary",size:"small",onClick:b=>u(w)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)(`plugins.free-form.datakit.examples.${w}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),n.createVNode(CB,{ref:"code-editor",class:"code-editor",config:o.model.config,editing:o.isEditing,onChange:f,onError:p},null,8,["config","editing"])]),_:2},1040)):n.createCommentVNode("",!0)]),"plugin-config-description":n.withCtx(()=>[n.createElementVNode("span",{innerHTML:c.value},null,8,SB)]),_:2},[n.unref(r)?{name:"plugin-config-extra",fn:n.withCtx(()=>[n.createVNode(n.unref(Ie.KSegmentedControl),{modelValue:n.unref(i),"onUpdate:modelValue":h[0]||(h[0]=g=>n.isRef(i)?i.value=g:null),options:s},{"option-label":n.withCtx(({option:g})=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(l[g.value]))),n.createTextVNode(" "+n.toDisplayString(g.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-ef212f9b"]]),RequestCalloutForm:c0,ServiceProtectionForm:tw},Symbol.toStringTag,{value:"Module"})),xB={class:"kong-ui-entities-plugin-form"},AB={key:1,class:"entity-form"},TB={class:"plugin-config-empty-state"},PB=we(n.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:t}){var ee,U;const o=Object.keys(ve.sharedForms),r=Object.keys(Dp);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=t,a=e,{axiosInstance:l}=ie.useAxios((ee=a.config)==null?void 0:ee.axiosRequestConfig),{parseSchema:s}=Oe.useSchemas({entityId:((U=a.entityMap.focusedEntity)==null?void 0:U.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:u,isObjectEmpty:f,unsetNullForeignKey:p}=Oe.usePluginHelpers(),m=Oe.useExperimentalFreeForms(),{objectsAreEqual:h}=ie.useHelpers(),{i18n:{t:y}}=Qe(),g=(R,q)=>{let X=`${a.config.apiBaseUrl}${$e.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?X=X.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(X=X.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),X=X.replace(/{entity}/gi,R),X=X.replace(/{id}/gi,q),X},_=R=>{let q=`${a.config.apiBaseUrl}${$e.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),q=q.replace(/{entity}/gi,R),q},w=(R,q)=>{const X=g(R,q);return l.get(X)},b=(R,q)=>{const X=_(R);return a.config.app==="konnect"?l.get(X).then(te=>{const{data:{data:ne}}=te;if(delete q.size,delete q.offset,ne.length&&Object.keys(q).length===1){const oe=Object.keys(q)[0],fe=ne.filter(pe=>pe[oe]?!!pe[oe].toLowerCase().includes(q[oe].toLowerCase()):!1);te.data.data=fe}return te}):l.get(X,{params:q})};n.provide(ve.FORMS_API_KEY,{getOne:w,getAll:b}),n.provide(ve.FORMS_CONFIG,a.config);const v=n.ref(""),P=n.ref(""),k=n.ref(null),L=n.ref({}),$=n.reactive({}),I=n.reactive({}),Y=n.computed(()=>{var R;return(R=k.value)==null?void 0:R.options}),j=n.ref(!1),N=n.ref(),C=(R,q)=>{j.value=R??"",N.value=q},E=R=>{var q;(q=N.value)==null||q.call(N,R),j.value=!1},D=()=>{var fe,pe;const R={...a.schema},q=I,X=$,te=Object.keys(q),ne={};if(!f(L.value))for(let A=0;A<((pe=(fe=L.value)==null?void 0:fe.fields)==null?void 0:pe.length);A++)R[L.value.fields[A].model]=L.value.fields[A];ve.customFields.forEach(A=>{R[A]&&(R[A].fields.forEach(S=>{S.fields&&S.fields.forEach(x=>{R[x.model]=x}),S.model&&(R[S.model]=S)}),delete R[A])}),te.forEach(A=>{var F;if(!R[A]){A==="partials"&&(ne[A]=q[A]);return}const S=R[A];let x=q[A];const O=X[A],J=Array.isArray(x)?"array":typeof x,W=S?S.valueType:null,Q=S?S.valueArrayType:null,M=S?S.transform:null;if(x==null&&O==null&&!S.submitWhenNull)return;if(S){if(W&&J!==W)switch(W){case"array":J==="string"&&x.length&&(x=x.split(",").map(le=>{if(le=le.trim(),Q==="string")return String(le);if(Q==="number")return Number(le);if(Q==="boolean"){if(typeof le=="string")return le.toLowerCase()==="true"||le==="1";if(typeof le=="number")return le===1}return le})),(!x||!x.length)&&(x=S.submitWhenNull?null:[]);break;case"number":x=Number(x);break;case"boolean":J==="string"&&(x=x.toLowerCase()==="true"||x==="1"),J==="number"&&(x=x===1);break;case"string":x=x==null?"":String(x);break}else W==="array"&&(!x||!x.length?x=S.submitWhenNull?null:[]:((F=S.inputAttributes)==null?void 0:F.type)==="number"&&(x=x.map(le=>Number(le))));if(S.type==="array"&&S.nestedFields){const le=re=>{Object.keys(re).forEach(_e=>{re[_e]&&typeof re[_e]=="object"&&!Array.isArray(re[_e])&&re[_e]!==null?le(re[_e]):(re[_e]===void 0||re[_e]===null||typeof re[_e]=="number"&&isNaN(re[_e])||typeof re[_e]=="string"&&re[_e].trim().length===0)&&delete re[_e]})};x&&typeof x=="object"&&le(x)}S.type==="object-advanced"&&S.fields&&x!==null&&(Object.entries(x).length===0?x=null:Object.keys(x).forEach(le=>{Array.isArray(x[le])||(x[le]=x[le].split(","))}))}let Z=c(A);if(S.fieldNameHasDashes){const[le,...re]=Z.split(".").reverse();Z=[le.replace(/_/g,"-"),...re].reverse().join(".")}if(W==="object-expand"){let le;[Z,le]=Z.split(".");let re={};ne[Z]&&(re=ne[Z]),re[le]=x,x=re}O!==void 0&&x===""&&x!==O?ne[Z]=W==="object"?{}:null:S.type==="checklist"&&x===""?ne[Z]=[]:x!==""&&(ne[Z]=x),ne[Z]=M?M(x):ne[Z],p(Z,ne)});const oe=d(ne);return P.value&&Object.assign(oe,V.value),oe},T=(R,q={})=>{u(I,q,R,a.editing),i("model-updated",{model:I,originalModel:$,data:D()})},G=(R,q)=>{var ne;const X={[q]:R};typeof((ne=a.schema[q])==null?void 0:ne.modelTransformer)=="function"&&(X[q]=a.schema[q].modelTransformer(R));const te=Object.assign({},I,X);Object.assign(I,te),i("model-updated",{model:I,originalModel:$,data:D()})},K=R=>{i("validity-change",R)},B=(R,q)=>{Object.keys(R).forEach(X=>{var pe,A;let te=q?`${q}-${X}`:X,ne=a.schema[te];if(!ne){const S=q?`${q}-${X.replace(/-/g,"_")}`:X.replace(/-/g,"_");(pe=a.schema[S])!=null&&pe.fieldNameHasDashes&&(te=S,ne=a.schema[te]),q&&((A=a.schema[q])==null?void 0:A.keyFromObject)===X&&(te=q,ne=a.schema[te])}const oe=R[X],fe=typeof oe;if(ne&&ne.type==="object-advanced"&&!oe){I[te]={},$[te]={};return}if(Array.isArray(oe)){I[te]=JSON.parse(JSON.stringify(oe)),$[te]=JSON.parse(JSON.stringify(oe));return}if(fe==="object"&&oe&&!oe.length)return B(oe,te);if(fe==="object"&&oe&&oe.length&&ne.type==="input"){I[te]=oe.join(", "),$[te]=oe.join(", ");return}I[te]=oe,$[te]=oe}),i("model-updated",{model:I,originalModel:$,data:D()})},V=n.shallowRef(a.record),z=R=>{V.value=R,i("model-updated",{model:{...I,...R},originalModel:$,data:D()})},ae=n.ref(!0),ce=()=>{var R;if(a.record&&a.schema&&(B({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&B({consumer_id:a.record.consumer_id||a.record.consumer}),B(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&B({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&T("redis",{partials:a.record.partials}),P.value?z(a.record):B(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const q={};for(const X in a.entityMap){const te=a.entityMap[X].id,ne=a.entityMap[X].idField,oe=ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ne).replace("_","-"));Object.prototype.hasOwnProperty.call(I,oe)&&(q[oe]=te)}B(q)}if((R=a.entityMap.consumer)!=null&&R.id&&a.schema&&a.credential){const q={};Object.prototype.hasOwnProperty.call(I,"consumer")&&(q.consumer=a.entityMap.consumer.id),B(q)}ae.value=!1};return n.watch(ae,R=>{i("loading",R)}),n.watch(()=>a.schema,(R,q)=>{var te,ne;if(h(R||{},q||{}))return;const X=s(R);Object.assign(I,X.model),L.value={fields:(ne=(te=L.value)==null?void 0:te.fields)==null?void 0:ne.map(oe=>({...oe,disabled:oe.disabled||!1}))},Object.assign($,JSON.parse(JSON.stringify(X.model))),P.value=Vl(X.model.name,m),v.value=ve.getSharedFormName(X.model.name),ce()},{immediate:!0,deep:!0}),n.onBeforeMount(()=>{var R,q;k.value=s(a.schema),Object.assign(I,((R=k.value)==null?void 0:R.model)||{}),L.value=((q=k.value)==null?void 0:q.schema)||{},ce()}),(R,q)=>{var te;const X=n.resolveComponent("KSkeleton");return n.openBlock(),n.createElementBlock(n.Fragment,null,[n.createElementVNode("div",xB,[ae.value?(n.openBlock(),n.createBlock(X,{key:0,type:"form"})):I.id&&e.editing||!e.editing?(n.openBlock(),n.createElementBlock("div",AB,[P.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(Dp[P.value]),{key:0,"form-model":I,"form-options":Y.value,"form-schema":L.value,"is-editing":e.editing,model:e.record,"on-form-change":z,"on-model-updated":G,"on-validity-change":K,schema:e.rawSchema,onGlobalAction:q[0]||(q[0]=(ne,oe)=>R.$emit("globalAction",ne,oe))},n.createSlots({_:2},[e.enableVaultSecretPicker?{name:n.unref(ve.AUTOFILL_SLOT_NAME),fn:n.withCtx(ne=>[ne.schema.referenceable?(n.openBlock(),n.createBlock(n.unref(jo.VaultSecretPickerProvider),n.mergeProps({key:0},ne,{onOpen:C}),null,16)):n.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):v.value?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(n.unref(ve.sharedForms)[v.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":I,"form-options":Y.value,"form-schema":L.value,"is-editing":e.editing,"on-model-updated":G,"on-partial-toggled":T,"show-new-partial-modal":ne=>R.$emit("showNewPartialModal",ne)},n.createSlots({_:2},[e.enableVaultSecretPicker?{name:n.unref(ve.AUTOFILL_SLOT_NAME),fn:n.withCtx(ne=>[ne.schema.referenceable?(n.openBlock(),n.createBlock(n.unref(jo.VaultSecretPickerProvider),n.mergeProps({key:0},ne,{onOpen:C}),null,16)):n.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(n.openBlock(),n.createBlock(n.unref(ve.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:I,options:Y.value,schema:L.value,onModelUpdated:G,onPartialToggled:T,onRefreshModel:D,onShowNewPartialModal:q[1]||(q[1]=ne=>R.$emit("showNewPartialModal",ne))},n.createSlots({"plugin-config-empty-state":n.withCtx(()=>[n.createElementVNode("div",TB,n.toDisplayString(n.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(te=n.unref(St)[I.name])!=null&&te.fieldRules&&(a.config.isNewOtelSchema||I.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:n.withCtx(()=>[n.createVNode(Am,{rules:n.unref(St)[I.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:n.unref(ve.AUTOFILL_SLOT_NAME),fn:n.withCtx(ne=>[ne.schema.referenceable?(n.openBlock(),n.createBlock(n.unref(jo.VaultSecretPickerProvider),n.mergeProps({key:0},ne,{onOpen:C}),null,16)):n.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):n.createCommentVNode("",!0)]),n.createVNode(n.unref(jo.VaultSecretPicker),{config:a.config,setup:j.value,onCancel:q[2]||(q[2]=()=>j.value=!1),onProceed:E},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-780e65cb"]]),IB={key:1},OB=n.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(t,o)=>e.teleportTarget?(n.openBlock(),n.createBlock(n.Teleport,{key:0,to:e.teleportTarget},[n.renderSlot(t.$slots,"default")],8,["to"])):(n.openBlock(),n.createElementBlock("div",IB,[n.renderSlot(t.$slots,"default")]))}}),$B={class:"kong-ui-entities-plugin-form-container"},BB={key:0},DB={class:"plugin-form-actions"},VB=we(n.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:t}){var Q;const o=t,r=e,i=Wn.useRouter(),{i18n:{t:a}}=Oe.useI18n(),{customSchemas:l,typedefs:s}=Oe.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Oe.usePluginHelpers(),{getMessageFromError:d}=ie.useErrors(),{capitalize:u}=ie.useStringHelpers(),{objectsAreEqual:f}=ie.useHelpers(),{axiosInstance:p}=ie.useAxios((Q=r.config)==null?void 0:Q.axiosRequestConfig),m=n.ref(!1),h=n.computed(()=>!!r.pluginId),y=n.computed(()=>r.pluginId?ie.EntityBaseFormType.Edit:ie.EntityBaseFormType.Create),g=n.ref(void 0),_=n.ref(void 0),w=n.computed(()=>!!(r.credential&&r.config.entityId)),b=n.ref(void 0),v=n.ref({}),P=n.ref(),k=n.ref();n.provide(pc,{redisType:P,redisPath:k,isEditing:h.value});const L=n.ref(!1),$=n.reactive({enabled:!0,protocols:[],tags:[]}),I=n.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),Y=n.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&Y.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const j=n.ref(""),N=n.computed(()=>{if(w.value){let M=$e.form[r.config.app].credential[y.value];return M=M.replace(/{resourceEndpoint}/gi,T.value),M}return r.config.entityType&&r.config.entityId?$e.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):$e.form[r.config.app].edit.all}),C=()=>{m.value=!m.value},E=n.computed(()=>{var _e,me,be,Ce,Se,de,se,ot;const M=r.config.entityType==="consumers"&&r.config.entityId||((me=(_e=b.value)==null?void 0:_e.consumer)==null?void 0:me.id),Z=r.config.entityType==="consumer_groups"&&r.config.entityId||((Ce=(be=b.value)==null?void 0:be.consumer_group)==null?void 0:Ce.id),F=r.config.entityType==="services"&&r.config.entityId||((de=(Se=b.value)==null?void 0:Se.service)==null?void 0:de.id),le=r.config.entityType==="routes"&&r.config.entityId||((ot=(se=b.value)==null?void 0:se.route)==null?void 0:ot.id);if(!(M||Z||F||le))return{global:{entity:H.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const re={};return F&&(re.service={entity:H.PluginScope.SERVICE,entityEndpoint:"services",id:F,idField:Ht.SERVICE}),le&&(re.route={entity:H.PluginScope.ROUTE,entityEndpoint:"routes",id:le,idField:Ht.ROUTE}),M&&(re.consumer={entity:H.PluginScope.CONSUMER,entityEndpoint:"consumers",id:M,idField:Ht.CONSUMER}),Z&&(re.consumer_group={entity:H.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:Z,idField:Ht.CONSUMER_GROUP}),r.config.entityType&&(re.focusedEntity={entity:H.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:Ht[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),re}),D=n.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||y.value===ie.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),T=n.computed(()=>{var F;const M=r.developer?"developers":"consumers",Z=((F=En[r.pluginType])==null?void 0:F.endpoint)||"/plugins";return`${M}/${r.config.entityId}${r.developer?"/credentials":""}${Z}`}),G=M=>{const Z=Array.from(new Set(M.map(F=>typeof F)));return Z.length>1?"string":Z[0]},K=(M,Z,F,le)=>{var be,Ce;let re=Z&&Z.fields||[];const _e=l[r.pluginType],me=(Ce=(be=En[r.pluginType])==null?void 0:be.schema)==null?void 0:Ce.fields;return Array.isArray(re)&&(re=re.reduce((Se,de)=>{const se=Object.keys(de)[0];return se.match(/-/g)?Se[se.replace(/-/g,"_")]={...de[se],fieldNameHasDashes:!0}:Se[se]=de[se],Se},{})),Object.keys(re).sort().forEach(Se=>{var Vo,Ro,Mo,Lo,Fo,Ko,Uo;const de=re[Se];de.type==="set"&&(de.type="array");const se=M?`${M}-${Se}`:`${Se}`;if((Vo=_e==null?void 0:_e.fieldsToDelete)!=null&&Vo.includes(se)){Hs(F,se);return}if(Object.prototype.hasOwnProperty.call(de,"overwrite")||de.hidden)return;if(de.type==="table")return K(se,de.schema,F);if(de.fields)return le&&de.type==="record"?(F[se]={type:"object",model:Se,schema:{fields:Object.values(K(se,de,{},!0))}},F):K(se,de,F);if(F[se]={id:se,model:Se},F[se].type=de.type==="boolean"?"checkbox":"input",F[se].required=de.required,F[se].referenceable=de.referenceable,se.startsWith("config-"))if(!le&&de.type==="array"&&(j.value=se),le&&j.value&&se.startsWith(j.value)){const ke=se.slice(j.value.length+1);F[se].label=ke.split("-").map(c).join(".")}else F[se].label=c(se);if((M==="config"||M.startsWith("config-"))&&(Ro=re[Se])!=null&&Ro.description&&(F[se].help=qo.marked.parse(re[Se].description,{mangle:!1,headerIds:!1})),de.type==="map"){if(F[se].type="object-advanced",F[se].values=de.values,de.values.type==="array"){const{type:ke}=de.values.elements||{};F[se].schema={fields:[{schema:{fields:[{...Te,model:se,valueArrayType:ke==="integer"?"number":ke||"string",inputAttributes:{...Te.inputAttributes,type:ke==="integer"?"number":"text",inputMode:ke==="integer"?"numeric":"text"}}]}}]}}else de.values.fields&&(F[se].schema={fields:[{type:"object",model:"object",schema:{fields:de.values.fields.map(ke=>{const Ye=Object.keys(ke)[0];return{model:Ye,type:"input",label:u(Ye),placeholder:Ye,inputType:ke[Ye].type}})}}]});return F}if(de.enum&&de.type==="array"&&(F[se].type="checklist",F[se].values=de.enum,F[se].multi=!0,F[se].multiSelect=!0),de.one_of&&de.type!=="array"&&(F[se].type="select",F[se].values=de.one_of,F[se].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),de.elements&&de.type==="array"){const ke=de.elements;if(F[se].referenceable=ke.referenceable,F[se].elements=ke,["string","integer","number"].includes(ke.type)&&!ke.one_of){const{id:Ye,help:Le,label:Ne,hint:Xe,values:it,referenceable:_n,model:bn}=F[se],{inputAttributes:fi,...PD}=JSON.parse(JSON.stringify(Te));fi.type=ke.type==="string"?"text":"number",F[se]={id:Ye,help:Le,label:Ne,hint:Xe,values:it,referenceable:_n,model:bn,inputAttributes:fi,...PD}}}if(de.hint&&(F[se].hint=de.hint),_e&&!_e.overwriteDefault&&Object.keys(_e).forEach(ke=>{if(ke===se){const{help:Ye,label:Le,hint:Ne,values:Xe,referenceable:it,elements:_n}=F[se],{help:bn,...fi}=_e[ke];F[se]={help:Ye,label:Le,hint:Ne,values:Xe,referenceable:it,elements:_n,...fi},typeof bn=="string"&&(F[se].help=qo.marked.parse(bn,{mangle:!1,headerIds:!1}))}}),de.type==="array"&&((Mo=de.elements)==null?void 0:Mo.type)==="record"&&Array.isArray(de.elements.fields)){let ke={};for(const Le of de.elements.fields)ke={...ke,...Le};const Ye=(Ko=(Fo=(Lo=F[se])==null?void 0:Lo.items)==null?void 0:Fo.schema)==null?void 0:Ko.fields;if(Array.isArray(Ye))for(const Le of F[se].items.schema.fields){const Ne=(Uo=ke[Le.model])==null?void 0:Uo.description;Le.help===void 0&&typeof Ne=="string"&&(Le.help=qo.marked.parse(Ne,{mangle:!1,headerIds:!1}))}if(Ye||(F[se].type="array",F[se].newElementButtonLabelClasses="kong-form-new-element-button-label",F[se].fieldClasses="array-card-container-wrapper",F[se].itemContainerComponent="FieldArrayCardContainer",F[se].items={type:"object",schema:{fields:Object.values(K(se,de.elements,{},!0))}},F[se].items.schema.fields.forEach(Le=>{var Ne,Xe;for(const it of de.elements.fields){const _n=Object.keys(it)[0],bn=((Xe=(Ne=Le.id)==null?void 0:Ne.split)==null?void 0:Xe.call(Ne,"-"))??[];if(bn[bn.length-1]===_n){Le.model=_n,Le.label=c(_n);break}}}),de.elements.type==="record"&&(F[se].nestedFields=!0)),!F[se].nestedFields)F[se].items.default=()=>de.elements.fields.reduce((Le,Ne)=>{const Xe=Object.keys(Ne)[0];return Le[Xe]=Ne[Xe].default,Le},{});else{const Le=(Ne,Xe)=>{if(Ne.type==="object"){Ne.model&&(Xe[Ne.model]={});for(const it of Ne.schema.fields)Le(it,Ne.model?Xe[Ne.model]:Xe)}else Ne.model&&(Xe[Ne.model]=Ne.default)};F[se].items.default=()=>{const Ne={};return Le(F[se].items,Ne),Ne}}}if(w.value&&me){for(let ke=0;ke<me.length;ke++)if(me[ke][se]){F[se]={...F[se],...me[ke][se]};break}}if(de.required&&de.type!=="boolean"&&(F[se].required=!0,F[se].selectOptions={hideNoneSelectedText:!0}),de.required&&de.type==="boolean"&&(F[se].default=de.default??!1),de.default!=null&&typeof de.default!="object"&&de.default!=="function"&&(F[se].default=de.default),F[se].type==="input"){["string","number"].includes(typeof F[se].default)&&r.config.app==="konnect"&&(F[se].placeholder=`Default: ${F[se].default===""?"<empty string>":F[se].default}`);const{type:ke}=de.elements||{};ke&&(F[se].valueArrayType=ke==="integer"?"number":ke),F[se].inputType=de.type==="array"||de.type==="string"?de.encrypted?"password":"text":de.type}let ot="string";de.enum?ot=G(de.enum):de.type==="boolean"?ot="boolean":de.type==="number"||de.type==="integer"?(ot="number",F[se].inputType="number"):de.type==="array"?(ot="array",F[se].default=de.default,de.len_min>0&&(F[se].submitWhenNull=!0)):de.type==="foreign"?ot="object":de.default&&Array.isArray(de.default)?(ot="array",F[se].valueArrayType=G(de.default)):de.default&&(ot=typeof de.default),F[se].valueType=ot,de.fieldNameHasDashes&&(F[se].fieldNameHasDashes=!0)}),F},B=()=>{var Se,de,se,ot,Vo,Ro,Mo,Lo,Fo,Ko,Uo,ke;const M=((Se=St[r.pluginType])==null?void 0:Se.scope.includes(H.PluginScope.SERVICE))??!0,Z=((de=St[r.pluginType])==null?void 0:de.scope.includes(H.PluginScope.ROUTE))??!0,F=((se=St[r.pluginType])==null?void 0:se.scope.includes(H.PluginScope.CONSUMER))??!0,le=r.config.disableConsumerGroupScope?!1:((ot=St[r.pluginType])==null?void 0:ot.scope.includes(H.PluginScope.CONSUMER_GROUP))??!0,re=r.config.entityType==="consumers"&&!!r.config.entityId||!!((Ro=(Vo=b.value)==null?void 0:Vo.consumer)!=null&&Ro.id),_e=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Lo=(Mo=b.value)==null?void 0:Mo.consumer_group)!=null&&Lo.id),me=r.config.entityType==="services"&&!!r.config.entityId||!!((Ko=(Fo=b.value)==null?void 0:Fo.service)!=null&&Ko.id),be=r.config.entityType==="routes"&&!!r.config.entityId||!!((ke=(Uo=b.value)==null?void 0:Uo.route)!=null&&ke.id),Ce=[];if(M&&Ce.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:me&&r.disableScopeSelection}),Z&&Ce.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:be&&r.disableScopeSelection}),F&&Ce.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:re&&r.disableScopeSelection}),le&&Ce.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:_e&&r.disableScopeSelection}),Ce.length){const Ye=[...M?["service"]:[],...Z?["route"]:[],...F?["consumer"]:[],...le?["consumer_group"]:[]],Ne=Ye.splice(Ye.length-2,2).map(it=>a(it==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${it}.plural`)).join(`${Ye.length>0?",":""} and/or `),Xe=["Specific",[...Ye.length>0?[Ye.map(it=>a(it==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${it}.plural`)).join(", ")]:[],Ne].join(", ")].join(" ");D.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Xe,fields:[]}),D.selectionGroup.fields[1].fields=Ce}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(D,l[r.pluginType].formSchema)},V=n.computed(()=>!f(I.fields,$,!0)),z=n.computed(()=>!J.value&&!L.value&&(y.value===ie.EntityBaseFormType.Create||V.value)),ae=n.ref(!1),ce=n.ref(),ee=M=>{r.credential&&M.password&&(M.password=""),I.fields.id=(M==null?void 0:M.id)||void 0,ce.value=M==null?void 0:M.ordering,Object.assign($,I.fields),b.value=M,ae.value=!0},U=n.ref({}),R=M=>{var Z;I.fields=M.model,I.fields.id=((Z=b.value)==null?void 0:Z.id)||void 0,Object.assign($,M.originalModel),U.value=M.data,r.isWizardStep&&o("model-updated",{model:I.fields,data:M.data,resourceEndpoint:T.value})},q=n.ref(new Map),X=n.computed(()=>[I.clientErrorMessage,I.serverErrorMessage].filter(Boolean).join("; ")),te=M=>{M.valid?q.value.delete(M.model):q.value.set(M.model,M.error),I.clientErrorMessage=[...q.value.entries()].map(([Z,F])=>`${Z}: ${typeof F=="string"?F:d(F)}`).join("; "),I.clientErrorMessage&&(I.serverErrorMessage="")};n.watch([E,ae],(M,Z)=>{const F=M[0]!==Z[0],le=M[1],re=Z[1];if(!w.value&&y.value===ie.EntityBaseFormType.Edit&&(F||le&&le!==re)){const _e=K("config",v.value,D);pe.value&&(_e._isCustomPlugin=!0),P.value&&(_e._supported_redis_partial_type=P.value),_.value=_e}},{deep:!0});const ne=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},oe=n.computed(()=>{let M=`${r.config.apiBaseUrl}${$e.form[r.config.app].validate}`;return r.config.app==="konnect"?M=M.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(M=M.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),M=M.replace(/{id}/gi,r.pluginId),M}),fe=n.computed(()=>{const M=r.config.entityType&&r.config.entityId&&!r.developer,Z=w.value?$e.form[r.config.app].credential[y.value]:$e.form[r.config.app][y.value][M?"forEntity":"all"];let F=`${r.config.apiBaseUrl}${Z}`;return r.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),F=F.replace(/{resourceEndpoint}/gi,T.value),F=F.replace(/{id}/gi,r.pluginId),F=F.replace(/{entityType}/gi,r.config.entityType||""),F=F.replace(/{entityId}/gi,r.config.entityId||""),F}),pe=n.computed(()=>!Object.keys(St).includes(r.pluginType)),A=n.computed(()=>{const M=U.value;if(w.value){for(const Z in H.PluginScope){const F=H.PluginScope[Z];M[F]&&!M[F].id&&(M[F]={id:r.config.entityId})}delete M.created_at}return U.value.partials&&k.value&&Hs(M,k.value),M}),S=async()=>{if(!I.clientErrorMessage&&!r.isWizardStep)try{I.isReadonly=!0;let M;const Z=JSON.parse(JSON.stringify(A.value)),F=l[r.pluginType];typeof(F==null?void 0:F.shamefullyTransformPayload)=="function"&&F.shamefullyTransformPayload({originalModel:$,model:I.fields,payload:Z,schema:_.value}),!w.value&&!pe.value&&await p.post(oe.value,Z),y.value==="create"?M=await p.post(fe.value,Z):y.value==="edit"&&(M=r.config.app==="konnect"||P.value&&Z.partials?await p.put(fe.value,Object.assign({ordering:ce.value},Z)):await p.patch(fe.value,Z)),Object.assign($,I.fields),o("update",M==null?void 0:M.data)}catch(M){I.serverErrorMessage=d(M),o("error",M)}finally{I.isReadonly=!1}},x=n.computed(()=>{var le;const M=w.value?(le=En[r.pluginType])==null?void 0:le.schemaEndpoint:r.pluginType,Z=w.value?$e.form[r.config.app].credentialSchema:$e.form[r.config.app].pluginSchema;let F=`${r.config.apiBaseUrl}${Z}`;return r.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),F=F.replace(/{plugin}/gi,M),F}),O=n.ref(""),J=n.ref(!1),W=n.ref("");return n.onBeforeMount(async()=>{var M,Z,F,le;J.value=!0;try{if(w.value&&r.config.app==="konnect"){const re=(M=En[r.pluginType])==null?void 0:M.schemaEndpoint,_e=Xp[re];O.value=re,_.value=K("",_e,{}),J.value=!1}else{const re=r.schema??(await p.get(x.value)).data;if(g.value=re,re)if(w.value)_.value=K("",re,{}),J.value=!1;else{const _e=re.fields.find(be=>be.config);v.value=_e?_e.config:re,re.supported_partials&&(P.value=Object.keys(re.supported_partials).find(be=>[zo.REDIS_CE,zo.REDIS_EE].includes(be)),k.value=(Z=re.supported_partials[P.value])==null?void 0:Z[0]),B();const me=(F=re.fields.find(be=>be.protocols))==null?void 0:F.protocols;if(me){const{default:be=[],elements:Ce={}}=me;D.protocols.default=be,D.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:be.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(le=Ce.one_of)!=null&&le.length&&(D.protocols.values=Ce.one_of.map(Se=>({label:Se,value:Se})))}if(ae.value||y.value===ie.EntityBaseFormType.Create){const be=K("config",v.value,D);P.value&&(be._supported_redis_partial_type=P.value),pe.value&&(be._isCustomPlugin=!0),_.value=be}}}}catch(re){console.error(re),W.value=d(re),o("error:fetch-schema",re)}finally{J.value=!1}}),(M,Z)=>{const F=n.resolveComponent("KSkeleton"),le=n.resolveComponent("KEmptyState"),re=n.resolveComponent("KButton"),_e=n.resolveComponent("KTabs"),me=n.resolveComponent("KSlideout");return n.openBlock(),n.createElementBlock("div",$B,[J.value?(n.openBlock(),n.createBlock(F,{key:0,type:"form"})):W.value?(n.openBlock(),n.createBlock(le,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:n.withCtx(()=>[n.createElementVNode("h3",null,n.toDisplayString(n.unref(a)("errors.load_schema")),1)]),_:1})):(n.openBlock(),n.createBlock(n.unref(ie.EntityBaseForm),{key:2,"can-submit":z.value,config:e.config,"edit-id":e.pluginId,"entity-type":n.unref(ie.SupportedEntityType).Plugin,"error-message":X.value,"fetch-url":N.value,"form-fields":A.value,"is-readonly":I.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":Z[4]||(Z[4]=be=>M.$emit("error",be)),"onFetch:success":ee,onLoading:Z[5]||(Z[5]=be=>M.$emit("loading",be))},{"form-actions":n.withCtx(()=>[e.isWizardStep?(n.openBlock(),n.createElementBlock("div",BB)):(n.openBlock(),n.createBlock(OB,{key:1,"teleport-target":e.actionsTeleportTarget},{default:n.withCtx(()=>[n.createElementVNode("div",DB,[e.hideViewConfigAction?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(re,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:Z[3]||(Z[3]=be=>C())},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),n.createVNode(re,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:I.isReadonly,onClick:ne},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),n.createVNode(re,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!z.value||I.isReadonly,type:"submit",onClick:S},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:n.withCtx(()=>[n.createElementVNode("form",{hidden:"",onSubmit:S},null,32),n.createVNode(PB,{config:e.config,credential:w.value,editing:y.value===n.unref(ie.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,"entity-map":E.value,"raw-schema":g.value,record:b.value,schema:_.value,onGlobalAction:Z[0]||(Z[0]=(be,Ce)=>M.$emit("globalAction",be,Ce)),onLoading:Z[1]||(Z[1]=be=>L.value=be),onModelUpdated:R,onShowNewPartialModal:Z[2]||(Z[2]=be=>M.$emit("showNewPartialModal",be)),onValidityChange:te},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),n.createVNode(me,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:n.unref(a)("view_configuration.title"),visible:m.value,onClose:C},{default:n.withCtx(()=>[n.createElementVNode("div",null,n.toDisplayString(n.unref(a)("view_configuration.message")),1),n.createVNode(_e,{"data-testid":"form-view-configuration-slideout-tabs",tabs:Y.value},{json:n.withCtx(()=>[n.createVNode(n.unref(ie.JsonCodeBlock),{config:e.config,"entity-record":A.value,"fetcher-url":fe.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:n.withCtx(()=>[n.createVNode(n.unref(ie.YamlCodeBlock),{"entity-record":A.value},null,8,["entity-record"])]),terraform:n.withCtx(()=>[n.createVNode(n.unref(ie.TerraformCodeBlock),{"credential-type":O.value,"entity-record":A.value,"entity-type":n.unref(ie.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-420ab237"]]),RB={class:"kong-ui-entities-plugins-list"},MB={class:"button-row"},LB={class:"empty-state-icon-gateway"},FB={class:"name-cell-wrapper"},KB={class:"info-wrapper"},UB={key:0,class:"info-name"},qB={key:1,class:"info-name"},jB={key:2,class:"info-type"},GB={key:1},zB=we(n.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:t}){var O,J;const o=Oe.usePluginMetaData(),r=t,i=e,{i18n:{t:a}}=Oe.useI18n(),l=Wn.useRouter(),{axiosInstance:s}=ie.useAxios((O=i.config)==null?void 0:O.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=ie.useTableState(()=>v.value),u=n.computed(()=>c.value&&i.config.app==="konnect"),f=n.computed(()=>!i.enableV2EmptyStates&&i.config.app==="konnect"),p=n.computed(()=>!!i.config.entityId),m=n.computed(()=>{var W;return((W=i.config)==null?void 0:W.entityType)==="consumers"}),h=n.computed(()=>{var W;return((W=i.config)==null?void 0:W.entityType)==="consumer_groups"}),y=i.config.app==="konnect"||ie.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=n.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),_={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(J=i.config)!=null&&J.entityId||(_.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),_.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(_.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),_.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const w=_,b=n.computed(()=>{var Q,M,Z,F;let W=i.config.entityType?`${i.config.apiBaseUrl}${$e.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${$e.list[i.config.app].all}`;return i.config.app==="konnect"?W=W.replace(/{controlPlaneId}/gi,((Q=i.config)==null?void 0:Q.controlPlaneId)||""):i.config.app==="kongManager"&&(W=W.replace(/\/{workspace}/gi,(M=i.config)!=null&&M.workspace?`/${i.config.workspace}`:"")),W.replace(/{entityType}/gi,((Z=i.config)==null?void 0:Z.entityType)||"").replace(/{entityId}/gi,((F=i.config)==null?void 0:F.entityId)||"")}),v=n.ref(""),P=n.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:_.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{..._.enabled,label:a("search.filter.field.enabled")},name:_.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:k,fetcherState:L,fetcherCacheKey:$}=ie.useFetcher(n.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),b),I=()=>{v.value=""},Y=()=>{$.value++},j=n.ref(null),N=W=>{var M,Z,F,le;const Q=[];return((M=W.route)!=null&&M.id||W.route_id)&&Q.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((Z=W.service)!=null&&Z.id||W.service_id)&&Q.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((F=W.consumer)!=null&&F.id||W.consumer_id)&&Q.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((le=W.consumer_group)!=null&&le.id||W.consumer_group_id)&&Q.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),Q.length?Q:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},C=async(W,Q)=>{var M;return W===null?!1:await((M=i.canRetrieveScopedEntity)==null?void 0:M.call(i,W,Q.id))},E=(W,Q)=>{var Z,F,le,re,_e;let M=null;switch(W){case"route":M=(Z=Q.route)==null?void 0:Z.id;break;case"service":M=(F=Q.service)==null?void 0:F.id;break;case"consumer":M=(le=Q.consumer)==null?void 0:le.id;break;case"consumer_group":M=(re=Q.consumer_group)==null?void 0:re.id;break}M&&((_e=i.config)!=null&&_e.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(W,M))},D=n.ref(!1),T=n.ref(null),G=n.computed(()=>{const W={action:"disable",id:"",name:""};if(T.value){const{enabled:Q,id:M,name:Z}=T.value;W.action=Q?"disable":"enable",W.id=M,W.name=o.getDisplayName(Z)||M}return W}),K=W=>{D.value=!0,T.value=W},B=()=>{D.value=!1,T.value=null},V=async()=>{var Z,F,le,re,_e,me,be,Ce;if(!await((Z=i.canEdit)==null?void 0:Z.call(i,T.value))||!T.value)return;let Q=`${i.config.apiBaseUrl}${(_e=$e.item[i.config.app])==null?void 0:_e[(F=i.config)!=null&&F.entityType?"forEntity":"all"].replace(/{entityType}/gi,((le=i.config)==null?void 0:le.entityType)||"").replace(/{entityId}/gi,((re=i.config)==null?void 0:re.entityId)||"")}`.replace(/{id}/gi,T.value.id||"");i.config.app==="konnect"?Q=Q.replace(/{controlPlaneId}/gi,((me=i.config)==null?void 0:me.controlPlaneId)||""):i.config.app==="kongManager"&&(Q=Q.replace(/\/{workspace}/gi,(be=i.config)!=null&&be.workspace?`/${i.config.workspace}`:""));const M=!T.value.enabled;try{const{data:Se}=((Ce=i.config)==null?void 0:Ce.app)==="konnect"?await s.put(Q,{...T.value,enabled:M},{timeout:12e4}):await s.patch(Q,{...T.value,enabled:M},{timeout:12e4});r("toggle-enabled",M,Se),T.value.enabled=M}catch(Se){r("error",Se)}},z=async(W,Q)=>{const M=W.id;if(!await Q(M)){r("copy:error",{entity:W,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:W,field:"id",message:a("copy.success",{val:M})})},ae=async(W,Q)=>{const M=JSON.stringify(W);if(!await Q(M)){r("copy:error",{entity:W,message:a("errors.copy")});return}r("copy:success",{entity:W,message:a("copy.success_brief")})},ce=async W=>{var M;await((M=i.canRetrieve)==null?void 0:M.call(i,W))&&l.push(i.config.getViewRoute(W))},ee=W=>({label:a("actions.view"),to:i.config.getViewRoute(W)}),U=W=>({label:a("actions.edit"),to:i.config.getEditRoute(W)}),R=W=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(W)}),q=n.ref(void 0),X=n.ref(!1),te=n.ref(!1),ne=n.ref(""),oe=ie.useDeleteUrlBuilder(i.config,b.value),fe=W=>{q.value=W,X.value=!0},pe=()=>{X.value=!1},A=async()=>{var W,Q,M;if((W=q.value)!=null&&W.id){te.value=!0;try{await s.delete(oe(q.value.id)),te.value=!1,X.value=!1,$.value++,r("delete:success",q.value)}catch(Z){ne.value=((M=(Q=Z.response)==null?void 0:Q.data)==null?void 0:M.message)||Z.message||a("errors.delete"),r("error",Z)}finally{te.value=!1}}},S=()=>{l.push(i.config.createRoute)};n.watch(L,W=>{var Q,M,Z;if(W.status===ie.FetcherStatus.Error){j.value={title:a("errors.general")},(Z=(M=(Q=W.error)==null?void 0:Q.response)==null?void 0:M.data)!=null&&Z.message&&(j.value.message=W.error.response.data.message),r("error",W.error);return}j.value=null});const x=n.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")});return n.onBeforeMount(async()=>{await i.canCreate()&&(x.value.title=a("plugins.list.empty_state.title"),x.value.ctaText=a("actions.create"))}),(W,Q)=>{const M=n.resolveComponent("KButton"),Z=n.resolveComponent("KBadge"),F=n.resolveComponent("KTruncate"),le=n.resolveComponent("KInputSwitch"),re=n.resolveComponent("KDropdownItem"),_e=n.resolveComponent("KClipboardProvider");return n.openBlock(),n.createElementBlock("div",RB,[n.createVNode(n.unref(ie.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":x.value,"enable-entity-actions":"","error-message":j.value,fetcher:n.unref(k),"fetcher-cache-key":n.unref($),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:v.value,"table-headers":n.unref(w),title:e.title,"title-tag":e.titleTag,onClearSearchInput:I,"onClick:row":Q[5]||(Q[5]=me=>ce(me)),onSort:Y,onState:n.unref(d)},n.createSlots({"toolbar-filter":n.withCtx(()=>[n.createVNode(n.unref(ie.EntityFilter),{modelValue:v.value,"onUpdate:modelValue":Q[0]||(Q[0]=me=>v.value=me),config:P.value},null,8,["modelValue","config"])]),"toolbar-button":n.withCtx(()=>[(n.openBlock(),n.createBlock(n.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[n.createElementVNode("div",MB,[!p.value&&u.value?(n.openBlock(),n.createBlock(M,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[1]||(Q[1]=me=>W.$emit("click:learn-more"))},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.BookIcon),{decorative:""})]),_:1})):n.createCommentVNode("",!0),n.createVNode(n.unref(ie.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:n.withCtx(()=>[n.createVNode(M,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.AddIcon)),n.createTextVNode(" "+n.toDisplayString(n.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:n.withCtx(({row:me})=>[n.createElementVNode("div",FB,[n.createVNode(n.unref(Xn.PluginIcon),{class:"plugin-icon",name:me.name,size:24},null,8,["name"]),n.createElementVNode("div",KB,[me.instance_name?(n.openBlock(),n.createElementBlock("span",UB,n.toDisplayString(me.instance_name),1)):(n.openBlock(),n.createElementBlock("span",qB,n.toDisplayString(n.unref(o).getDisplayName(me.name)),1)),me.instance_name?(n.openBlock(),n.createElementBlock("span",jB,n.toDisplayString(n.unref(o).getDisplayName(me.name)),1)):n.createCommentVNode("",!0)])])]),appliedTo:n.withCtx(({row:me})=>[N(me).length>0?(n.openBlock(),n.createBlock(F,{key:0},{default:n.withCtx(()=>[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(N(me),be=>(n.openBlock(),n.createBlock(n.unref(ie.PermissionsWrapper),{key:be.badgeText,"auth-function":()=>C(be.type,me),"force-show":""},{default:n.withCtx(({isAllowed:Ce})=>[n.createVNode(Z,{class:n.normalizeClass(Ce||"disabled"),onClick:n.withModifiers(Se=>Ce&&be.type&&E(be.type,me),["stop"])},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(be.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(n.openBlock(),n.createElementBlock("span",GB,"-"))]),enabled:n.withCtx(({row:me})=>[n.createVNode(n.unref(ie.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(me)&&await e.canToggle(me)),"force-show":""},{default:n.withCtx(({isAllowed:be})=>{var Ce,Se;return[n.createElementVNode("div",{onClick:Q[4]||(Q[4]=n.withModifiers(()=>{},["stop"]))},[n.createVNode(le,{disabled:!be,"disabled-tooltip-text":!be&&((Se=(Ce=e.config).getToggleDisabledTooltip)==null?void 0:Se.call(Ce,me))||void 0,"model-value":me.enabled,onClick:n.withModifiers(de=>be&&K(me),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:n.withCtx(({rowValue:me})=>[n.createVNode(Z,{appearance:n.unref(js)(me)?"info":"warning"},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(js)(me)?n.unref(a)("plugins.list.table_headers.ordering_badge.static"):n.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:n.withCtx(({rowValue:me})=>[n.createVNode(n.unref(ie.TableTags),{tags:me},null,8,["tags"])]),actions:n.withCtx(({row:me})=>[n.createVNode(_e,null,{default:n.withCtx(({copyToClipboard:be})=>[n.createVNode(re,{"data-testid":"action-entity-copy-id",onClick:Ce=>z(me,be)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),n.createVNode(_e,null,{default:n.withCtx(({copyToClipboard:be})=>[n.createVNode(re,{"data-testid":"action-entity-copy-json",onClick:Ce=>ae(me,be)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),n.createVNode(n.unref(ie.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(me)},{default:n.withCtx(()=>[n.createVNode(re,{"data-testid":"action-entity-view","has-divider":"",item:ee(me)},null,8,["item"])]),_:2},1032,["auth-function"]),n.createVNode(n.unref(ie.PermissionsWrapper),{"auth-function":()=>e.canEdit(me)},{default:n.withCtx(()=>[n.createVNode(re,{"data-testid":"action-entity-edit",item:U(me)},null,8,["item"])]),_:2},1032,["auth-function"]),!m.value&&!h.value&&n.unref(y)?(n.openBlock(),n.createBlock(n.unref(ie.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(me)},{default:n.withCtx(()=>[R(me)?(n.openBlock(),n.createBlock(re,{key:0,"data-testid":"action-entity-config-dyn-order",item:R(me)},null,8,["item"])):n.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):n.createCommentVNode("",!0),n.createVNode(n.unref(ie.PermissionsWrapper),{"auth-function":()=>e.canDelete(me)},{default:n.withCtx(()=>[n.createVNode(re,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:be=>fe(me)},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!n.unref(c)&&f.value?{name:"outside-actions",fn:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[n.createVNode(M,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[2]||(Q[2]=me=>W.$emit("click:learn-more"))},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!v.value&&e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:n.withCtx(()=>{var me;return[n.createVNode(n.unref(ie.EntityEmptyState),{"action-button-text":n.unref(a)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:n.unref(a)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:n.unref(a)("plugins.list.empty_state_v2.title"),"onClick:create":S,"onClick:learnMore":Q[3]||(Q[3]=be=>W.$emit("click:learn-more"))},n.createSlots({image:n.withCtx(()=>[n.createElementVNode("div",LB,[n.createVNode(n.unref(Ee.PlugIcon),{color:n.unref(M0),size:n.unref(F0)},null,8,["color","size"])])]),_:2},[(me=e.config)!=null&&me.isControlPlaneGroup?{name:"message",fn:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","data-testid","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),n.createVNode(n.unref(ie.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":n.unref(a)("glossary.plugin"),"on-confirm":V,visible:D.value,onCancel:B,onProceed:B},null,8,["action","entity-id","entity-name","entity-type","visible"]),n.createVNode(n.unref(ie.EntityDeleteModal),{"action-pending":te.value,description:n.unref(a)("delete.description"),"entity-name":q.value&&(q.value.instance_name||q.value.name||q.value.id),"entity-type":n.unref(ie.EntityTypes).Plugin,error:ne.value,title:n.unref(a)("delete.title"),visible:X.value,onCancel:pe,onProceed:A},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-a33ca66d"]]),HB={class:"plugin-select-card-wrapper"},YB=["data-testid"],WB={class:"plugin-card-header"},ZB={class:"plugin-card-title"},XB={key:0,class:"plugin-card-actions"},JB=["data-testid","title"],QB={key:0,class:"plugin-card-text"},eD={key:0},tD=["title"],wl=we(n.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:t}){const o=t,r=e,i=Wn.useRouter(),{i18n:{t:a}}=Oe.useI18n(),l=n.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=n.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=n.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},u=()=>{r.navigateOnClick?d():f()},f=()=>{o("plugin-clicked",r.plugin)},p=n.computed(()=>r.plugin.id==="custom-plugin-create"),m=n.computed(()=>r.config.app==="konnect"&&r.plugin.group===H.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},y=(_,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(_,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const _=r.config;p.value&&_.createCustomRoute?i.push(_.createCustomRoute):m.value&&d()}};return(_,w)=>{const b=n.resolveComponent("KButton"),v=n.resolveComponent("KDropdownItem"),P=n.resolveComponent("KDropdownMenu"),k=n.resolveComponent("KTooltip");return n.openBlock(),n.createElementBlock("div",HB,[n.createVNode(k,{text:e.plugin.disabledMessage},{default:n.withCtx(()=>[n.createElementVNode("a",{class:n.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=L=>s.value||m.value?void 0:u())},[n.createElementVNode("div",WB,[n.createElementVNode("div",ZB,[n.createElementVNode("span",{class:n.normalizeClass({"non-custom-title":!m.value})},n.toDisplayString(e.plugin.name),3)]),c.value?(n.openBlock(),n.createElementBlock("div",XB,[n.createVNode(P,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:n.withCtx(()=>[n.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:n.withCtx(()=>[n.createVNode(n.unref(Ee.MoreIcon),{size:n.unref(lo)},null,8,["size"])]),_:1})]),items:n.withCtx(()=>[e.canDeleteCustomPlugin?(n.openBlock(),n.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=n.withModifiers(L=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.edit")),1)]),_:1})):n.createCommentVNode("",!0),e.canDeleteCustomPlugin?(n.openBlock(),n.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:n.withModifiers(h,["stop"])},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.delete")),1)]),_:1})):n.createCommentVNode("",!0)]),_:1})])):n.createCommentVNode("",!0)]),n.createElementVNode("div",{class:n.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:n.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[n.createVNode(n.unref(Xn.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(n.openBlock(),n.createElementBlock("div",QB,[m.value&&!p.value?(n.openBlock(),n.createElementBlock("p",eD,n.toDisplayString(n.unref(a)("plugins.select.custom_badge_text")),1)):n.createCommentVNode("",!0),e.plugin.description?(n.openBlock(),n.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},n.toDisplayString(e.plugin.description),9,tD)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)],10,JB),n.createElementVNode("div",{class:"plugin-card-footer",onClick:g},n.toDisplayString(p.value?n.unref(a)("actions.create_custom"):e.plugin.exists?n.unref(a)("actions.enabled"):n.unref(a)("actions.enable")),1)],10,YB)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),nD=we(n.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:t}){var h;const o=e,r=t,{i18nT:i,i18n:{t:a}}=Oe.useI18n(),{getMessageFromError:l}=ie.useErrors(),{axiosInstance:s}=ie.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=n.computed(()=>{var y;return f.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((y=o.plugin)==null?void 0:y.name)||a("delete.custom_plugin")})}),d=n.ref(!1),u=n.ref(""),f=n.ref(!1),p=n.computed(()=>{if(o.config.app==="konnect"){const y=o.plugin.customPluginType==="streaming"?$e.select[o.config.app].streamingCustomPluginItem:$e.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var y,g,_,w;if(d.value=!0,u.value="",!(!((y=o.plugin)!=null&&y.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:v}=b;(v==null?void 0:v.status)===400&&((w=(_=v.data)==null?void 0:_.message)!=null&&w.includes("plugin schema is currently in use"))?f.value=!0:u.value=l(b)}finally{d.value=!1}};return(y,g)=>{const _=n.resolveComponent("KButton"),w=n.resolveComponent("KModal");return!f.value&&e.plugin?(n.openBlock(),n.createBlock(n.unref(ie.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:n.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":n.unref(ie.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>y.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(n.openBlock(),n.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>y.$emit("closed"))},{default:n.withCtx(()=>[n.createElementVNode("div",null,[n.createVNode(n.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:n.withCtx(()=>[n.createElementVNode("strong",null,n.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":n.withCtx(()=>[n.createElementVNode("div",null,[n.createVNode(_,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>y.$emit("closed"))},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):n.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),oD={class:"custom-plugins-grid"},rD={class:"empty-state-title"},iD={class:"empty-state-description"},El=310,aD=we(n.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:t}){const o=e,r=t,{i18n:{t:i}}=Oe.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Oe.usePluginHelpers(),s=n.ref(!0),c=P=>{r("plugin-clicked",P)},d=n.computed(()=>{if(o.config.app==="kongManager")return[];const P=JSON.parse(JSON.stringify(o.pluginList))[H.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:H.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(P):P}),u=n.ref(!1),f=n.ref(null),p=P=>{u.value=!0,f.value={id:P.id,name:P.name,customPluginType:P.customPluginType}},m=P=>{var k;P&&(r("revalidate"),r("delete:success",((k=f.value)==null?void 0:k.name)||"")),u.value=!1,f.value=null},h=n.ref(El),y=n.ref(null),g=n.ref(null),_=n.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=n.ref(!1),b=()=>{h.value=Math.max(a(g.value),El),v()},v=()=>{var P,k;(P=g.value)!=null&&P.length&&(w.value=l(y.value,(k=g.value)==null?void 0:k.length))};return n.onMounted(async()=>{await n.nextTick(),h.value=Math.max(a(g.value),El),v(),window==null||window.addEventListener("resize",b)}),n.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(P,k)=>{const L=n.resolveComponent("KEmptyState"),$=n.resolveComponent("KCollapse");return n.openBlock(),n.createElementBlock("div",oD,[d.value.length?(n.openBlock(),n.createBlock($,{key:1,modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=I=>s.value=I),class:"custom-plugins-collapse","data-testid":`${n.unref(H.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:n.unref(H.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?n.unref(i)("plugins.select.view_more"):n.unref(i)("plugins.select.view_less")},n.createSlots({"visible-content":n.withCtx(()=>[n.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:n.normalizeStyle(_.value)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d.value,(I,Y)=>(n.openBlock(),n.createBlock(wl,{key:`plugin-card-${Y}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:I,onCustomPluginDelete:j=>p(I),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:n.withCtx(()=>[k[2]||(k[2]=n.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(n.openBlock(),n.createBlock(L,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:n.withCtx(()=>[n.createElementVNode("span",rD,n.toDisplayString(n.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:n.withCtx(()=>[n.createElementVNode("span",iD,n.toDisplayString(n.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&f.value?(n.openBlock(),n.createBlock(nD,{key:2,config:e.config,plugin:f.value,onClosed:m,onProceed:k[1]||(k[1]=I=>m(!0))},null,8,["config","plugin"])):n.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),kl=310,Vp=we(n.defineComponent({__name:"PluginSelectGroup",props:n.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:n.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:t}){const o=n.useModel(e,"modelValue"),r=e,i=t,{i18n:{t:a}}=Oe.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Oe.usePluginHelpers(),c=n.ref(kl),d=n.ref(null),u=n.ref(null),f=n.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=n.ref(!1),m=()=>{c.value=Math.max(l(u.value),kl),h()},h=()=>{var y,g;(y=u.value)!=null&&y.length&&(p.value=s(d.value,(g=u.value)==null?void 0:g.length))};return n.onMounted(async()=>{await n.nextTick(),c.value=Math.max(l(u.value),kl),h(),window==null||window.addEventListener("resize",m)}),n.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(y,g)=>{const _=n.resolveComponent("KCollapse");return n.openBlock(),n.createBlock(_,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?n.unref(a)("plugins.select.view_more"):n.unref(a)("plugins.select.view_less")},n.createSlots({"visible-content":n.withCtx(()=>[n.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:n.normalizeStyle(f.value)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.plugins,w=>(n.openBlock(),n.createBlock(wl,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:n.withCtx(()=>[g[1]||(g[1]=n.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),lD={class:"plugin-select-grid"},sD={class:"empty-state-title"},cD={class:"empty-state-description"},Cl=n.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:t}){const o=e,r=t,{i18n:{t:i}}=Oe.useI18n(),a=n.ref(!1),l=n.ref(xl),s=d=>{r("plugin-clicked",d)},c=n.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[H.PluginGroup.CUSTOM_PLUGINS],d});return(d,u)=>{const f=n.resolveComponent("KEmptyState");return n.openBlock(),n.createElementBlock("div",lD,[Object.keys(c.value).length?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(f,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:n.withCtx(()=>[n.createElementVNode("span",sD,n.toDisplayString(n.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:n.withCtx(()=>[n.createElementVNode("span",cD,n.toDisplayString(n.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(n.openBlock(),n.createBlock(Vp,{key:1,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||n.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:u[1]||(u[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(Sl),p=>(n.openBlock(),n.createElementBlock(n.Fragment,null,[c.value[p]?(n.openBlock(),n.createElementBlock("div",{key:p},[n.createVNode(Vp,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:u[2]||(u[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):n.createCommentVNode("",!0)],64))),256))])}}}),dD={class:"kong-ui-entities-plugin-select-form"},uD={class:"plugins-filter-input-container"},fD={key:0},pD={key:3,"aria-live":"polite",class:"plugins-results-container"},mD={"data-testid":"kong-tab"},gD={class:"tab-description"},hD={"data-testid":"custom-tab"},yD={class:"tab-description"},_D=we(n.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:t}){var B;const o=e,r=t,i=Wn.useRoute(),a=Wn.useRouter(),{i18n:{t:l}}=Oe.useI18n(),{pluginMetaData:s}=Oe.usePluginMetaData(),{getMessageFromError:c}=ie.useErrors(),{sortAlpha:d,objectsAreEqual:u}=ie.useHelpers(),f=n.ref(""),p=n.ref(!0),m=n.ref(!1),h=n.ref(""),y=n.ref([]),g=n.ref([]),_=n.ref({}),w=n.ref([]),{axiosInstance:b}=ie.useAxios((B=o.config)==null?void 0:B.axiosRequestConfig),v=n.computed(()=>_.value?Object.entries(_.value).filter(([V])=>V!==H.PluginGroup.CUSTOM_PLUGINS).reduce((V,[,z])=>{for(const ae of z)V[ae.id]=ae;return V},{}):{}),P=n.computed(()=>{var ae;if(!_.value)return{};const V=f.value.toLowerCase(),z=JSON.parse(JSON.stringify(_.value));for(const ce in _.value){const ee=((ae=_.value[ce])==null?void 0:ae.filter(U=>U.name.toLowerCase().includes(V)||U.id.toLowerCase().includes(V)||U.group.toLowerCase().includes(V)))||[];ee.length?z[ce]=ee:delete z[ce]}return z}),k=n.computed(()=>o.highlightedPluginIds.reduce((V,z)=>{const ae=v.value[z];return ae&&V.push(ae),V},[])),L=n.computed(()=>Object.keys(P.value).length>0),$=n.computed(()=>Object.keys(_.value).length>0&&!L.value),I=n.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),Y=n.computed(()=>{var z;let V=I.value.length&&((i==null?void 0:i.hash)||((z=I.value[0])==null?void 0:z.hash))||"";return V==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(V="#kong"),V}),j=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),...y.value])].filter(V=>!o.ignoredPlugins.includes(V)).filter(V=>o.config.entityType&&(o.config.entityType==="services"&&s[V]&&!s[V].scope.includes(H.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[V]&&!s[V].scope.includes(H.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[V]&&!s[V].scope.includes(H.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[V]&&!s[V].scope.includes(H.PluginScope.CONSUMER))?!1:V).reduce((V,z)=>{var R;const ae=s[z]&&s[z].name||z,ce={...s[z],id:z,name:ae,available:y.value.includes(z),disabledMessage:"",group:((R=s[z])==null?void 0:R.group)||H.PluginGroup.CUSTOM_PLUGINS};ce.group===H.PluginGroup.CUSTOM_PLUGINS&&(ce.customPluginType=g.value.find(q=>q.name===z)?"streaming":"schema"),o.disabledPlugins&&(ce.disabledMessage=o.disabledPlugins[z]);const ee=ce.group||l("plugins.select.misc_plugins");let U=V[ee];return U||(U=[]),U.push(ce),U.sort(d("name")),V[ee]=U,V},{}),N=n.computed(()=>{var z;let V=`${o.config.apiBaseUrl}${$e.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=((z=o.config.gatewayInfo)==null?void 0:z.edition)==="community"?`${o.config.apiBaseUrl}${$e.select[o.config.app].availablePluginsForOss}`:V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V}),C=n.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let V=`${o.config.apiBaseUrl}${$e.select[o.config.app].streamingCustomPlugins}`;return V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),V}return null}),E=n.computed(()=>{if(o.config.entityType&&o.config.entityId){let V=`${o.config.apiBaseUrl}${$e.list[o.config.app].forEntity}`;return o.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),V.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),D=V=>{a.replace({hash:V,query:i.query})};n.watch(()=>o.disabledPlugins,(V,z)=>{!u(V,z)&&!p.value&&(_.value=j())}),n.watch(()=>o.ignoredPlugins,(V,z)=>{!u(V,z)&&!p.value&&(_.value=j())}),n.watch(p,V=>{r("loading",V)});const T=n.ref(!1),G=n.ref(!1),K=n.ref(!1);return n.onBeforeMount(async()=>{T.value=await o.canCreateCustomPlugin(),G.value=await o.canEditCustomPlugin(),K.value=await o.canDeleteCustomPlugin()}),n.onMounted(async()=>{try{const{data:V}=await b.get(N.value);if(o.config.app==="konnect"){const{names:z}=V;if(y.value=z||[],C.value){const{data:ae}=await b.get(C.value);g.value=ae.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:z}}=V;y.value=z?Object.keys(z):[]}}catch(V){m.value=!0,h.value=c(V)}if(E.value)try{const{data:{data:V}}=await b.get(E.value);if(V!=null&&V.length){const z=V.reduce((ae,ce)=>(ce.name&&ae.push(ce.name),ae),[]);w.value=w.value.concat(z)}}catch{}m.value||(_.value=j()),p.value=!1}),(V,z)=>{const ae=n.resolveComponent("KInput"),ce=n.resolveComponent("KSkeletonBox"),ee=n.resolveComponent("KSkeleton"),U=n.resolveComponent("KEmptyState"),R=n.resolveComponent("KTooltip"),q=n.resolveComponent("KTabs");return n.openBlock(),n.createElementBlock("div",dD,[n.createElementVNode("div",uD,[n.createVNode(ae,{modelValue:f.value,"onUpdate:modelValue":z[0]||(z[0]=X=>f.value=X),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:n.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(n.openBlock(),n.createElementBlock("section",fD,[n.createVNode(ce,{class:"plugins-skeleton-title",width:"10"}),n.createVNode(ee,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(n.openBlock(),n.createBlock(U,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:n.withCtx(()=>[n.createElementVNode("h3",null,n.toDisplayString(h.value),1)]),_:1})):$.value&&f.value?(n.openBlock(),n.createBlock(U,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:n.withCtx(()=>[n.createElementVNode("h5",null,n.toDisplayString(n.unref(l)("search.no_results",{filter:f.value})),1)]),_:1})):(n.openBlock(),n.createElementBlock("section",pD,[I.value.length&&e.customPluginSupport!=="none"?(n.openBlock(),n.createBlock(q,{key:0,modelValue:Y.value,"onUpdate:modelValue":z[5]||(z[5]=X=>Y.value=X),"data-testid":"plugins-tabs",tabs:I.value,onChange:D},n.createSlots({kong:n.withCtx(()=>[n.createElementVNode("div",mD,[n.createElementVNode("p",gD,n.toDisplayString(n.unref(l)("plugins.select.tabs.kong.description")),1),n.createVNode(Cl,{config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,onPluginClicked:z[1]||(z[1]=X=>V.$emit("plugin-clicked",X))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:n.withCtx(()=>[n.createElementVNode("div",hD,[n.createElementVNode("p",yD,n.toDisplayString(n.unref(l)("plugins.select.tabs.custom.description")),1),n.createVNode(aD,{"can-create-custom-plugin":T.value,"can-delete-custom-plugin":K.value,"can-edit-custom-plugin":G.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,"onDelete:success":z[2]||(z[2]=X=>V.$emit("delete-custom:success",X)),onPluginClicked:z[3]||(z[3]=X=>V.$emit("plugin-clicked",X)),onRevalidate:z[4]||(z[4]=()=>_.value=j())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:n.withCtx(()=>[n.createVNode(R,{"max-width":"300",text:n.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:n.withCtx(()=>[n.createElementVNode("div",null,n.toDisplayString(n.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(n.openBlock(),n.createBlock(Cl,{key:1,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":P.value,onPluginClicked:z[6]||(z[6]=X=>V.$emit("plugin-clicked",X))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-d2065987"]]),bD={class:"kong-ui-entity-plugin-config-card"},wD={class:"name-cell-wrapper"},ED={class:"info-name"},kD={key:0},CD={key:0},vD={key:0},ND={key:0},SD={key:0},vl="config",xD=we(n.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:t}){var w;const o=t,r=e,{i18n:{t:i}}=Oe.useI18n(),a=Oe.usePluginMetaData(),{setFieldType:l}=Oe.usePluginHelpers(),{getPropValue:s}=ie.useHelpers(),c=n.computed(()=>{var b;return(b=$e.item[r.config.app])==null?void 0:b[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"")}),d=n.computed(()=>{var P,k;const b={},v=((P=y.value)==null?void 0:P.fields)||[];for(let L=0;L<v.length;L++){const $=y.value.fields[L],I=(k=Object.keys($))==null?void 0:k[0];l(b,I,$[I])}return{...b,instance_name:{section:ie.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:ie.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:ie.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:ie.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:ie.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ie.ConfigurationSchemaType.BadgeTag,section:ie.ConfigurationSchemaSection.Basic,order:7}}}),u=n.computed(()=>{var v,P,k;if(!((v=y.value)!=null&&v.fields))return[];const b=(P=y.value.fields)==null?void 0:P.find(L=>{var I;return((I=Object.keys(L))==null?void 0:I[0])===vl});return((k=b==null?void 0:b[vl])==null?void 0:k.fields)||[]}),f=n.computed(()=>{var v,P;const b={};if(!u.value)return b;for(let k=0;k<((v=u.value)==null?void 0:v.length);k++){const L=u.value[k],$=(P=Object.keys(L))==null?void 0:P[0],I=L[$];I.required&&(b[$]={order:1}),l(b,$,I)}return b}),{getMessageFromError:p}=ie.useErrors(),{axiosInstance:m}=ie.useAxios((w=r.config)==null?void 0:w.axiosRequestConfig),h=n.computed(()=>{var v,P;let b=`${r.config.apiBaseUrl}${$e.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((v=r.config)==null?void 0:v.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(P=r.config)!=null&&P.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=n.ref({});ie.useSchemaProvider(y);const g=n.ref(!1),_=n.ref("");return n.onBeforeMount(async()=>{g.value=!0;try{const{data:b}=await m.get(h.value);y.value=b}catch(b){_.value=p(b),o("error:fetch-schema",b)}finally{g.value=!1}}),(b,v)=>{const P=n.resolveComponent("KSkeleton"),k=n.resolveComponent("KEmptyState"),L=n.resolveComponent("KCopy");return n.openBlock(),n.createElementBlock("div",bD,[g.value?(n.openBlock(),n.createBlock(P,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):_.value?(n.openBlock(),n.createBlock(k,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:n.withCtx(()=>[n.createElementVNode("h3",null,n.toDisplayString(_.value),1)]),_:1})):(n.openBlock(),n.createBlock(n.unref(ie.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":n.unref(ie.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":vl,"plugin-config-schema":f.value,"onFetch:error":v[0]||(v[0]=$=>b.$emit("fetch:error",$)),"onFetch:success":v[1]||(v[1]=$=>b.$emit("fetch:success",$)),onLoading:v[2]||(v[2]=$=>b.$emit("loading",$))},{name:n.withCtx($=>[n.createElementVNode("div",wD,[n.createVNode(n.unref(Xn.PluginIcon),{class:"plugin-icon",name:n.unref(s)("rowValue",$),size:24},null,8,["name"]),n.createElementVNode("span",ED,n.toDisplayString(n.unref(a).getDisplayName(n.unref(s)("rowValue",$))),1)])]),consumer:n.withCtx($=>[n.unref(s)("rowValue",$)?e.showIdAsLink?(n.openBlock(),n.createBlock(n.unref(ie.InternalLinkItem),{key:1,item:{key:n.unref(s)("rowValue",$).id,value:n.unref(s)("rowValue",$).id,type:n.unref(ie.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",n.unref(s)("rowValue",$).id,"consumer")},null,8,["item","onNavigationClick"])):(n.openBlock(),n.createBlock(L,{key:2,"copy-tooltip":n.unref(i)("copy.tooltip",{label:n.unref(s)("row",$).label}),"data-testid":"consumer-copy-uuid",text:n.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(n.openBlock(),n.createElementBlock("span",kD,"–"))]),route:n.withCtx($=>[n.unref(s)("rowValue",$)?e.showIdAsLink?(n.openBlock(),n.createBlock(n.unref(ie.InternalLinkItem),{key:1,item:{key:n.unref(s)("rowValue",$).id,value:n.unref(s)("rowValue",$).id,type:n.unref(ie.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",n.unref(s)("rowValue",$).id,"route")},null,8,["item","onNavigationClick"])):(n.openBlock(),n.createBlock(L,{key:2,"copy-tooltip":n.unref(i)("copy.tooltip",{label:n.unref(s)("row",$).label}),"data-testid":"route-copy-uuid",text:n.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(n.openBlock(),n.createElementBlock("span",CD,"–"))]),service:n.withCtx($=>[n.unref(s)("rowValue",$)?e.showIdAsLink?(n.openBlock(),n.createBlock(n.unref(ie.InternalLinkItem),{key:1,item:{key:n.unref(s)("rowValue",$).id,value:n.unref(s)("rowValue",$).id,type:n.unref(ie.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",n.unref(s)("rowValue",$).id,"service")},null,8,["item","onNavigationClick"])):(n.openBlock(),n.createBlock(L,{key:2,"copy-tooltip":n.unref(i)("copy.tooltip",{label:n.unref(s)("row",$).label}),"data-testid":"service-copy-uuid",text:n.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(n.openBlock(),n.createElementBlock("span",vD,"–"))]),consumer_group:n.withCtx($=>[n.unref(s)("rowValue",$)?e.showIdAsLink?(n.openBlock(),n.createBlock(n.unref(ie.InternalLinkItem),{key:1,item:{key:n.unref(s)("rowValue",$).id,value:n.unref(s)("rowValue",$).id,type:n.unref(ie.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",n.unref(s)("rowValue",$).id,"consumer_group")},null,8,["item","onNavigationClick"])):(n.openBlock(),n.createBlock(L,{key:2,"copy-tooltip":n.unref(i)("copy.tooltip",{label:n.unref(s)("row",$).label}),"data-testid":"consumer-group-copy-uuid",text:n.unref(s)("rowValue",$).id},null,8,["copy-tooltip","text"])):(n.openBlock(),n.createElementBlock("span",ND,"–"))]),partials:n.withCtx($=>{var I,Y,j,N,C,E,D,T,G;return[n.unref(s)("rowValue",$)?e.showIdAsLink?(n.openBlock(),n.createBlock(n.unref(ie.InternalLinkItem),{key:1,item:{key:(Y=(I=n.unref(s)("rowValue",$))==null?void 0:I[0])==null?void 0:Y.id,value:((N=(j=n.unref(s)("rowValue",$))==null?void 0:j[0])==null?void 0:N.id)+((E=(C=n.unref(s)("rowValue",$))==null?void 0:C[0])!=null&&E.name?"/"+((T=(D=n.unref(s)("rowValue",$))==null?void 0:D[0])==null?void 0:T.name):""),type:n.unref(ie.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var K,B;return b.$emit("navigation-click",(B=(K=n.unref(s)("rowValue",$))==null?void 0:K[0])==null?void 0:B.id,"partial")}},null,8,["item","onNavigationClick"])):(n.openBlock(),n.createBlock(L,{key:2,"copy-tooltip":n.unref(i)("copy.tooltip",{label:n.unref(s)("row",$).label}),"data-testid":"partial-copy-uuid",text:(G=n.unref(s)("rowValue",$))==null?void 0:G[0].id},null,8,["copy-tooltip","text"])):(n.openBlock(),n.createElementBlock("span",SD,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-c314449c"]]),{usePluginMetaData:AD,useProvideExperimentalFreeForms:TD}=Oe;Object.defineProperty(he,"PluginGroup",{enumerable:!0,get:()=>H.PluginGroup}),Object.defineProperty(he,"PluginScope",{enumerable:!0,get:()=>H.PluginScope}),Object.defineProperty(he,"PluginIcon",{enumerable:!0,get:()=>Xn.PluginIcon}),Object.defineProperty(he,"getPluginIconURL",{enumerable:!0,get:()=>Xn.getPluginIconURL}),he.EXPERIMENTAL_FREE_FORM_PROVIDER=pi,he.EntityTypeIdField=Ht,he.FEATURE_FLAGS=Rl,he.PLUGIN_GROUPS_COLLAPSE_STATUS=xl,he.PluginConfigCard=xD,he.PluginForm=VB,he.PluginGroupArray=Sl,he.PluginList=zB,he.PluginPartialType=zo,he.PluginSelect=_D,he.PluginSelectCard=wl,he.PluginSelectGrid=Cl,he.pluginEndpoints=$e,he.usePluginMetaData=AD,he.useProvideExperimentalFreeForms=TD,Object.defineProperty(he,Symbol.toStringTag,{value:"Module"})});
|