@kong-ui-public/entities-plugins 9.32.0 → 9.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities-plugins.es.js +4944 -4975
- package/dist/entities-plugins.umd.js +35 -35
- package/package.json +9 -9
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
(function(ie,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/icons"),require("@kong/kongponents"),require("@vueuse/core"),require("monaco-editor")):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/icons","@kong/kongponents","@vueuse/core","monaco-editor"],t):(ie=typeof globalThis<"u"?globalThis:ie||self,t(ie["kong-ui-public-entities-plugins"]={},ie.Vue,ie["kong-ui-public-entities-shared"],ie.marked,ie.VueRouter,ie["kong-ui-public-i18n"],ie.entitiesPluginsMetadata,ie.forms,ie.KongIcons,ie.Kongponents,ie.core$1,ie.monaco))})(this,function(ie,t,L,dn,Yt,Le,b,Ee,we,Ce,at,ll){"use strict";var qe=typeof document<"u"?document.currentScript:null;function sl(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const pn=sl(ll),Qe={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..."},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_visual:"Configure this plugin by using the visual 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"},visual_editor:{mode:"Visual Editor",name:"Datakit Visual Editor",cta:"Go to visual 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_description:{call:"Call a third-party API",jq:"Transform data and cast variables with jq",exit:"Return a response directly to the client",property:"Get and set Kong Gateway configuration data",static:"Define static values to use for call nodes"}},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)"}}};function it(){const e=Le.createI18n("en-us",Qe);return{i18n:e,i18nT:Le.i18nTComponent(e)}}function Wr(){const{capitalize:e}=L.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(c,p,f)=>{var E,y,g;if(!(!c||!p||!f))switch(f.type){case"boolean":c[p]={type:L.ConfigurationSchemaType.BadgeStatus,...c[p]};break;case"string":f.encrypted?c[p]={type:L.ConfigurationSchemaType.Redacted,...c[p]}:c[p]={type:L.ConfigurationSchemaType.Text,...c[p]};break;case"set":((E=f.elements)==null?void 0:E.type)==="string"&&(c[p]={type:L.ConfigurationSchemaType.BadgeTag,...c[p]});break;case"array":n.includes(p)?c[p]={type:L.ConfigurationSchemaType.BadgeMethod,...c[p]}:((y=f.elements)==null?void 0:y.type)==="string"?f.encrypted?c[p]={type:L.ConfigurationSchemaType.RedactedArray,...c[p]}:c[p]={type:L.ConfigurationSchemaType.BadgeTag,...c[p]}:((g=f.elements)==null?void 0:g.type)==="record"&&(c[p]={type:L.ConfigurationSchemaType.Json,...c[p]});break;case"record":c[p]={type:L.ConfigurationSchemaType.Json,...c[p]};break;default:c[p]={type:L.ConfigurationSchemaType.Text,...c[p]};break}},convertToDotNotation:c=>c.replace(/-/g,"."),unFlattenObject:c=>{const p={};for(const f in c){const E=f.split(".");E.reduce((y,g,C)=>y[g]||(y[g]=isNaN(E[C+1])?E.length-1===C?c[f]:{}:[]),p)}return p},dismissField:(c,p,f="redis",E=!1)=>{const y=new RegExp("(?<=-redis-).*");if(typeof c!="object"||c===null)return c;f==="redis"?Object.keys(c).forEach(g=>{g.match(y)&&delete c[g]}):E?c[f]=null:delete c[f],Object.assign(c,p)},isObjectEmpty:c=>Object.keys(c).length===0,unsetNullForeignKey:(c,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(c)>-1&&p[c]===null&&(delete p[c],p[c.replace(".id","")]=null)},formatPluginFieldLabel:c=>e(c.replace(/_/g," ")),getTallestPluginCardHeight:c=>{let p=0;if(c.length)for(let f=0;f<c.length;f++){const E=c[f].$el;p=E.offsetHeight>p?E.offsetHeight:p}return p},getToggleVisibility:(c,p)=>{var f,E;if(c&&p){const y=(E=(f=window==null?void 0:window.getComputedStyle(c))==null?void 0:f.getPropertyValue("grid-template-columns"))==null?void 0:E.split(" ").length;return p>y}return!0}}}var fn=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(fn||{});const Zr=[b.PluginGroup.AUTHENTICATION,b.PluginGroup.AI,b.PluginGroup.SECURITY,b.PluginGroup.TRAFFIC_CONTROL,b.PluginGroup.SERVERLESS,b.PluginGroup.ANALYTICS_AND_MONITORING,b.PluginGroup.TRANSFORMATIONS,b.PluginGroup.LOGGING,b.PluginGroup.DEPLOYMENT,b.PluginGroup.WEBSOCKET,b.PluginGroup.CUSTOM_PLUGINS],qr={[b.PluginGroup.AUTHENTICATION]:!1,[b.PluginGroup.AI]:!1,[b.PluginGroup.SECURITY]:!1,[b.PluginGroup.TRAFFIC_CONTROL]:!1,[b.PluginGroup.SERVERLESS]:!1,[b.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[b.PluginGroup.TRANSFORMATIONS]:!1,[b.PluginGroup.LOGGING]:!1,[b.PluginGroup.DEPLOYMENT]:!1,[b.PluginGroup.CUSTOM_PLUGINS]:!1};var ut=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(ut||{});const At=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},dt={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"},kt={getColumnFields:At,tags:dt,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=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"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},_r={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:dt}]},cl={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"}}]},$r={fields:[{username:{}},{password:{inputType:"password"}},{tags:dt}]},ul={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"}}]},Al={class:"field-wrapper"},dl=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:r}){const a=e,i=r,{clearValidationErrors:o,value:l}=Ee.composables.useAbstractFields({model:t.toRef(()=>a.model),schema:a.schema,formOptions:a.formOptions,emitModelUpdated:I=>{i("modelUpdated",I.value,I.model)}}),{i18n:s}=ve.useI18n(),{t:u}=s,d={value:"current-cp",label:u("custom_field.key_auth_identity_realms.cp_label"),group:u("custom_field.key_auth_identity_realms.cp_group_label")},A=t.inject(Ee.FORMS_CONFIG),{axiosInstance:c}=L.useAxios(A==null?void 0:A.axiosRequestConfig),p=()=>{if((A==null?void 0:A.app)==="konnect"){const I=/\b(us|eu|au|me|in)\b/.exec((A==null?void 0:A.apiBaseUrl)||"");if(I)return{region:I[1]}}return{}},f=t.ref(!0),E=t.ref([d]),y=async()=>{if((A==null?void 0:A.app)==="konnect")try{f.value=!0;let I=`${A==null?void 0:A.apiBaseUrl}/v1/realms`;const x=[];do{const U=await c.get(I);U&&U.data&&U.data.data&&x.push(...U.data.data.map(Y=>({value:Y.id,label:Y.name,group:u("custom_field.key_auth_identity_realms.realm_group_label")}))),I=U.data.meta.next?`${A==null?void 0:A.apiBaseUrl}${U.data.meta.next}`:null}while(I);E.value=[d,...x]}catch(I){console.error("Failed to fetch Konnect realms",I)}finally{f.value=!1}},g=t.computed(()=>l.value.map(I=>I.id||"current-cp")),C=I=>{const x=I.includes("current-cp")?[{scope:"cp",id:null}]:[],U=l.value.filter(({scope:P})=>P!=="cp").map(({id:P})=>P),Y=I.filter(P=>P!=="current-cp"),m=(U.length!==Y.length||U.some(P=>!Y.includes(P))?Y.filter(P=>!U.includes(P)):Y).map(P=>({...p(),scope:"realm",id:P}));l.value=[...x,...m]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{y()}),n({clearValidationErrors:o}),(I,x)=>{const U=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",Al,[t.createVNode(U,{items:E.value,loading:f.value,"model-value":g.value,"onUpdate:modelValue":C},null,8,["items","loading","model-value"])])}}}),ce=(e,n)=>{const r=e.__vccOpts||e;for(const[a,i]of n)r[a]=i;return r},pl=ce(dl,[["__scopeId","data-v-29b128ff"]]),ea={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
2
|
-
client. If missing, it will be generated for you.`}},{tags:dt}]},
|
|
1
|
+
(function(re,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/icons"),require("@kong/kongponents"),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/icons","@kong/kongponents","@vueuse/core","monaco-editor","@kong-ui-public/entities-plugins-icon"],t):(re=typeof globalThis<"u"?globalThis:re||self,t(re["kong-ui-public-entities-plugins"]={},re.Vue,re["kong-ui-public-entities-shared"],re.marked,re.VueRouter,re["kong-ui-public-i18n"],re.entitiesPluginsMetadata,re.forms,re.KongIcons,re.Kongponents,re.core$1,re.monaco,re.entitiesPluginsIcon))})(this,function(re,t,$,pn,Kt,$e,_,ke,Ce,Ae,rt,il,Ut){"use strict";function ol(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const fn=ol(il),qe={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..."},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_visual:"Configure this plugin by using the visual 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"},visual_editor:{mode:"Visual Editor",name:"Datakit Visual Editor",cta:"Go to visual 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_description:{call:"Call a third-party API",jq:"Transform data and cast variables with jq",exit:"Return a response directly to the client",property:"Get and set Kong Gateway configuration data",static:"Define static values to use for call nodes"}},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)"}}};function at(){const e=$e.createI18n("en-us",qe);return{i18n:e,i18nT:$e.i18nTComponent(e)}}function Wr(){const{capitalize:e}=$.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(c,f,m)=>{var k,b,g;if(!(!c||!f||!m))switch(m.type){case"boolean":c[f]={type:$.ConfigurationSchemaType.BadgeStatus,...c[f]};break;case"string":m.encrypted?c[f]={type:$.ConfigurationSchemaType.Redacted,...c[f]}:c[f]={type:$.ConfigurationSchemaType.Text,...c[f]};break;case"set":((k=m.elements)==null?void 0:k.type)==="string"&&(c[f]={type:$.ConfigurationSchemaType.BadgeTag,...c[f]});break;case"array":n.includes(f)?c[f]={type:$.ConfigurationSchemaType.BadgeMethod,...c[f]}:((b=m.elements)==null?void 0:b.type)==="string"?m.encrypted?c[f]={type:$.ConfigurationSchemaType.RedactedArray,...c[f]}:c[f]={type:$.ConfigurationSchemaType.BadgeTag,...c[f]}:((g=m.elements)==null?void 0:g.type)==="record"&&(c[f]={type:$.ConfigurationSchemaType.Json,...c[f]});break;case"record":c[f]={type:$.ConfigurationSchemaType.Json,...c[f]};break;default:c[f]={type:$.ConfigurationSchemaType.Text,...c[f]};break}},convertToDotNotation:c=>c.replace(/-/g,"."),unFlattenObject:c=>{const f={};for(const m in c){const k=m.split(".");k.reduce((b,g,A)=>b[g]||(b[g]=isNaN(k[A+1])?k.length-1===A?c[m]:{}:[]),f)}return f},dismissField:(c,f,m="redis",k=!1)=>{const b=new RegExp("(?<=-redis-).*");if(typeof c!="object"||c===null)return c;m==="redis"?Object.keys(c).forEach(g=>{g.match(b)&&delete c[g]}):k?c[m]=null:delete c[m],Object.assign(c,f)},isObjectEmpty:c=>Object.keys(c).length===0,unsetNullForeignKey:(c,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(c)>-1&&f[c]===null&&(delete f[c],f[c.replace(".id","")]=null)},formatPluginFieldLabel:c=>e(c.replace(/_/g," ")),getTallestPluginCardHeight:c=>{let f=0;if(c.length)for(let m=0;m<c.length;m++){const k=c[m].$el;f=k.offsetHeight>f?k.offsetHeight:f}return f},getToggleVisibility:(c,f)=>{var m,k;if(c&&f){const b=(k=(m=window==null?void 0:window.getComputedStyle(c))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:k.split(" ").length;return f>b}return!0}}}var mn=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(mn||{});const Yr=[_.PluginGroup.AUTHENTICATION,_.PluginGroup.AI,_.PluginGroup.SECURITY,_.PluginGroup.TRAFFIC_CONTROL,_.PluginGroup.SERVERLESS,_.PluginGroup.ANALYTICS_AND_MONITORING,_.PluginGroup.TRANSFORMATIONS,_.PluginGroup.LOGGING,_.PluginGroup.DEPLOYMENT,_.PluginGroup.WEBSOCKET,_.PluginGroup.CUSTOM_PLUGINS],Jr={[_.PluginGroup.AUTHENTICATION]:!1,[_.PluginGroup.AI]:!1,[_.PluginGroup.SECURITY]:!1,[_.PluginGroup.TRAFFIC_CONTROL]:!1,[_.PluginGroup.SERVERLESS]:!1,[_.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[_.PluginGroup.TRANSFORMATIONS]:!1,[_.PluginGroup.LOGGING]:!1,[_.PluginGroup.DEPLOYMENT]:!1,[_.PluginGroup.CUSTOM_PLUGINS]:!1};var ct=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(ct||{});const ut=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},dt={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"},Pt={getColumnFields:ut,tags:dt,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=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"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},Xr={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:dt}]},ll={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"}}]},Qr={fields:[{username:{}},{password:{inputType:"password"}},{tags:dt}]},sl={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"}}]},cl={class:"field-wrapper"},ul=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:r}){const a=e,i=r,{clearValidationErrors:o,value:l}=ke.composables.useAbstractFields({model:t.toRef(()=>a.model),schema:a.schema,formOptions:a.formOptions,emitModelUpdated:E=>{i("modelUpdated",E.value,E.model)}}),{i18n:s}=Se.useI18n(),{t:u}=s,p={value:"current-cp",label:u("custom_field.key_auth_identity_realms.cp_label"),group:u("custom_field.key_auth_identity_realms.cp_group_label")},d=t.inject(ke.FORMS_CONFIG),{axiosInstance:c}=$.useAxios(d==null?void 0:d.axiosRequestConfig),f=()=>{if((d==null?void 0:d.app)==="konnect"){const E=/\b(us|eu|au|me|in)\b/.exec((d==null?void 0:d.apiBaseUrl)||"");if(E)return{region:E[1]}}return{}},m=t.ref(!0),k=t.ref([p]),b=async()=>{if((d==null?void 0:d.app)==="konnect")try{m.value=!0;let E=`${d==null?void 0:d.apiBaseUrl}/v1/realms`;const x=[];do{const V=await c.get(E);V&&V.data&&V.data.data&&x.push(...V.data.data.map(U=>({value:U.id,label:U.name,group:u("custom_field.key_auth_identity_realms.realm_group_label")}))),E=V.data.meta.next?`${d==null?void 0:d.apiBaseUrl}${V.data.meta.next}`:null}while(E);k.value=[p,...x]}catch(E){console.error("Failed to fetch Konnect realms",E)}finally{m.value=!1}},g=t.computed(()=>l.value.map(E=>E.id||"current-cp")),A=E=>{const x=E.includes("current-cp")?[{scope:"cp",id:null}]:[],V=l.value.filter(({scope:P})=>P!=="cp").map(({id:P})=>P),U=E.filter(P=>P!=="current-cp"),h=(V.length!==U.length||V.some(P=>!U.includes(P))?U.filter(P=>!V.includes(P)):U).map(P=>({...f(),scope:"realm",id:P}));l.value=[...x,...h]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{b()}),n({clearValidationErrors:o}),(E,x)=>{const V=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",cl,[t.createVNode(V,{items:k.value,loading:m.value,"model-value":g.value,"onUpdate:modelValue":A},null,8,["items","loading","model-value"])])}}}),ce=(e,n)=>{const r=e.__vccOpts||e;for(const[a,i]of n)r[a]=i;return r},dl=ce(ul,[["__scopeId","data-v-29b128ff"]]),Zr={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
2
|
+
client. If missing, it will be generated for you.`}},{tags:dt}]},pl=e=>{var n;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"]}:{"config-identity_realms":{component:((n=e==null?void 0:e.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?t.markRaw(dl):null}}},fl={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"}}]},ea={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
|
|
3
3
|
if this parameter isn’t provided, Kong will generate a value for you and
|
|
4
|
-
send it as part of the response body.`}},{tags:dt}]},ml={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"}}]},
|
|
4
|
+
send it as part of the response body.`}},{tags:dt}]},ml={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"}}]},gl={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
5
5
|
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
|
|
6
6
|
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
|
|
7
|
-
this credential. If left out, will be auto-generated.`}},{tags:dt}]},
|
|
7
|
+
this credential. If left out, will be auto-generated.`}},{tags:dt}]},hl={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"}}]},ta={fields:[{name:{}},{client_id:{submitWhenNull:!1,hint:`You can optionally set your own unique client_id. If missing, it
|
|
8
8
|
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,
|
|
9
|
-
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:
|
|
10
|
-
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:
|
|
11
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:dt}]},El={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."}}]},_e={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...b.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",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...b.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"]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...b.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",...b.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"]]},...b.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"]]},...b.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"]]},...b.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"]]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...b.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",...b.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",...b.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",...b.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"]]},...b.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",...b.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"]]},...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...b.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",...b.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,...b.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,...b.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,...b.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,...b.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,...b.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,...b.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,...b.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,...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...b.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"]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...b.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"]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...b.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"]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...b.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"]]},...b.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",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...b.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",...b.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...b.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,...b.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,...b.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,...b.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"]]]},...b.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",isEnterprise:!1,nameKey:"plugins.meta.kafka-consume.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",isEnterprise:!1,nameKey:"plugins.meta.confluent-consume.name",...b.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",isEnterprise:!1,nameKey:"plugins.meta.request-callout.name",...b.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,...b.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,...b.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",isEnterprise:!1,nameKey:"plugins.meta.datakit.name",...b.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,...b.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",isEnterprise:!1,nameKey:"plugins.meta.solace-upstream.name",...b.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,...b.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]}},Ot={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:_r,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:At(_r),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:$r,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:At($r)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:ea,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:At(ea)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:ra,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:At(ra)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:na,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:At(na)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:ta,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:At(ta)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:hl,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},wl={acls:cl,basicauth_credentials:ul,keyauth_credentials:gl,keyauth_enc_credentials:El,oauth2_credentials:bl,hmacauth_credentials:ml,jwt_secrets:yl},Cl=()=>{const{i18n:{t:e}}=it(),n={},r={};for(const[i,o]of Object.entries(_e))n[i]={...o,name:e(o.nameKey),description:e(o.descriptionKey)};for(const[i,o]of Object.entries(Ot))r[i]={...o,name:e(o.nameKey),title:e(o.titleKey)};return{pluginMetaData:n,credentialMetaData:r,credentialSchemas:Ot,getDisplayName:i=>{var o;return((o=n[i])==null?void 0:o.name)||i}}},Vt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Bl={"config-prompts-prepend":{...Vt,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":{...Vt,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"}]}}}},Il={"config-templates":{...Vt,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"}]}}}},vl={shamefullyTransformPayload:({originalModel:e,model:n,payload:r,schema:a})=>{const i=l=>{var s;return(s=a[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},o=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));o("config-embeddings")||(r.config.embeddings=null),o("config-vectordb")||(r.config.vectordb=null)}},Pl={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:kt.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"}},Be={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"},gn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},kl={"config-metrics":{...gn,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"}]}}}},Ol={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Rl={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Sl={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},xl={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Tl={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},aa=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:kt.fields.arrayItems({newElementButtonLabel:"Add"})}),Tl),mn={"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"}},Ml={"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":{}},Dl=["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]:kt.fields.arrayItems({newElementButtonLabel:"Add"})}),Ml),ia={"config-add-json":{...Be,label:"Config.Add.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Be,label:"Config.Append.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Be,label:"Config.Remove.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Be,label:"Config.Rename.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Be,label:"Config.Replace.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}}},Nl={...ia,"config-allow-json":{...Be,label:"Config.Allow.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Be,label:"Config.Transform.Functions",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Be,label:"Config.Transform.Json",inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}}},Gl={"config-rules":{...Vt,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"}]}}}},Ll={"config-session_redis_cluster_nodes":{...Vt,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"}]}}}},Ul={"config-metrics":{...gn,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"]}]}}}},Fl={"config-metrics":{...gn,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"]}]}}}},Hl={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},Yl={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},pt=e=>{var r,a;const n=(a=(r=e==null?void 0:e.confluent)==null?void 0:r.authentication)==null?void 0:a.basic;n&&!n.password&&!n.username&&delete e.confluent.authentication.basic},Vl={"config-message_by_lua_functions":{...Be,inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},jl={"config-message_by_lua_functions":{...Be,inputAttributes:{...Be.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},Kl={shamefullyTransformPayload:({payload:e})=>{var n,r,a;pt((n=e.config)==null?void 0:n.schema_registry),(a=(r=e.config)==null?void 0:r.topics)==null||a.forEach(i=>{pt(i==null?void 0:i.schema_registry)})}},Ql={shamefullyTransformPayload:({payload:e})=>{var n,r,a;pt((n=e.config)==null?void 0:n.schema_registry),(a=(r=e.config)==null?void 0:r.topics)==null||a.forEach(i=>{pt(i==null?void 0:i.schema_registry)})}},zl={shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},Xl={"config-static_tags":{...gn,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"}]}}}},Jl={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm"};function oa(e,n){const r=Jl[e];if(typeof r=="string")return r;if(n.includes(e))return r.component}const Fn=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),la={DATAKIT_ENABLE_VISUAL_EDITOR:Symbol("DATAKIT_ENABLE_VISUAL_EDITOR")};function sa(){return t.inject(Fn,[])}function Wl(e){t.provide(Fn,e)}const Zl=(e,n)=>{const r=e.model.startsWith("config-"),a=n.model.startsWith("config-");return r&&!a?1:!r&&a?-1:0},ca=(e,n)=>(e.order??0)-(n.order??0),ua=(e,n)=>Zl(e,n)||ca(e,n)||e.model.localeCompare(n.model),ve={useI18n:it,usePluginMetaData:Cl,usePluginHelpers:Wr,useSchemas:e=>{const{capitalize:n}=L.useStringHelpers(),{convertToDotNotation:r}=Wr(),{i18n:{t:a}}=it(),i=sa(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Pl}},datadog:{...kl},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Ul},"statsd-advanced":{...Fl},"route-by-header":{...Gl},"ai-prompt-decorator":{...Bl},"ai-prompt-template":{...Il},"ai-proxy-advanced":{...vl},"vault-auth":{...Yl},"oas-validation":{...xl},mocking:{...Sl},"rate-limiting":{...mn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":mn["config-consumer_groups"]}:{...mn},"graphql-rate-limiting-advanced":{...Ol},"injection-protection":{...Rl},"response-ratelimiting":{...mn},"pre-function":{...aa},"post-function":{...aa},"request-transformer-advanced":{...Dl},"response-transformer":{...ia},"response-transformer-advanced":{...Nl},zipkin:{...Xl},"upstream-oauth":{...Hl},saml:{...Ll},"kafka-upstream":{...Vl},"key-auth":fl(e),confluent:{...jl},"confluent-consume":{...Kl},"kafka-consume":{...Ql},"kafka-log":{...zl}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(h,w,m)=>{let P={};(w||h)&&(P=w||(h.fields?h.fields:h));const ne=l().concat(h.blacklist?h.blacklist:[]),Z=Object.keys(P).filter(D=>!ne.includes(D)),q=Z.indexOf("comparator");q>-1&&Z.splice(q,1);let B={fields:[]};const O={};Z.forEach(D=>{d(P[D],D,P,O,B,m)});const T=O.name,R=_e[T],F=[],z=D=>{const S=["cluster-cache"];for(const M of S)if(D.model.includes(M))return!1;return new RegExp("(?<=-redis-).*").test(D.model)};if(B._supported_redis_partial_type=h._supported_redis_partial_type,B._redis_partial_path=h._redis_partial_path,Ee.getSharedFormName(T)||oa(T,i)||R!=null&&R.useLegacyForm||e!=null&&e.credential){if(R!=null&&R.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&h._supported_redis_partial_type){for(const D of B.fields)if(z(D)){F.push(D);continue}B.fields=B.fields.filter(D=>!z(D)),F.length&&B.fields.push({id:"_redis",fields:F,model:"__redis_partial",pluginType:h._isCustomPlugin?"custom":"bundled",redisType:h._supported_redis_partial_type,redisPath:h._redis_partial_path})}B.fields.sort((D,S)=>(D.order=D.order||0,S.order=S.order||0,D.order-S.order))}else{const D=[],S=[],M=[],W=[],se={};if(R!=null&&R.fieldRules){const V=[...R.fieldRules.atLeastOneOf??[],...R.fieldRules.onlyOneOf??[],...R.fieldRules.mutuallyRequired??[]];if(R.fieldRules.onlyOneOfMutuallyRequired)for(const H of R.fieldRules.onlyOneOfMutuallyRequired)V.push(...H);for(const H of V)for(const X of H)se[X.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const V of B.fields){if(e!=null&&e.enableRedisPartial&&h._supported_redis_partial_type&&z(V)){W.push(V);continue}if(V.pinned){D.push(V);continue}if(V.required||se[V.model]!==void 0){se[V.model]===!1&&(se[V.model]=!0),S.push(V);continue}M.push(V)}W.length&&M.push({id:"_redis",fields:W,model:"__redis_partial",pluginType:h._isCustomPlugin?"custom":"bundled",redisType:h._supported_redis_partial_type,redisPath:h._redis_partial_path,order:-1});const ye=Object.entries(se).filter(([,V])=>!V).map(([V])=>V.replace(/-/g,".").replace(/_/g,"-"));ye.length>0&&console.warn(`Unknown checked fields for plugin ${T}: ${ye.join(", ")}`);const Ae=[];D.length>0&&Ae.push({fields:D.sort(ca)}),(S.length>0||M.length>0)&&Ae.push({fields:S.sort(ua),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:M.sort(ua),triggerLabel:{expand:a("plugins.form.grouping.advanced_parameters.view"),collapse:a("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),B={groups:Ae}}return{schema:B,model:O,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},u=h=>Array.isArray(h.default)||h.default!=null&&typeof h.default!="object"&&h.default!=="function",d=(h,w,m,P,ne,Z)=>{const q=u(h);return P[w]=q?h.default:null,h.id=w,h.model=w,h.fields&&h.type==="record"?c(h,w,m,P,ne,Z):(m[w]=h,U(h,P),Z&&Z[w]&&A(m[w],Z[w]),ne.fields.push(h)),m},A=(h,w)=>(w&&(Object.assign(h,w),w.label&&(h.label=w.label)),h),c=(h,w,m,P,ne,Z)=>{h.fields.forEach(q=>{Object.keys(q).forEach(B=>{const O=q[B];m=d(O,w+"-"+B,m,P,ne,Z)})})},p=(h,w)=>{h.type="input",h.inputType="hidden",h.styleClasses="kong-form-hidden-field-wrapper";const m=e==null?void 0:e.entityId;w[h.model]=m?{id:m}:null},f=h=>{h.type="input",h.inputType="number",h.between&&h.between.length===2&&(h.min=h.between[0],h.max=h.between[1])},E=h=>{Object.prototype.hasOwnProperty.call(h,"one_of")?(h.type="select",h.values=h.one_of,h.selectOptions={hideNoneSelectedText:!0}):(h.type="input",h.inputType="text")},y=h=>{h.type="checkbox",h.default=!0,h.required=!1},g=h=>{if(h.type="object-advanced",h.values.type==="array"){const{type:w}=h.values.elements||{};h.schema={fields:[{schema:{fields:[{...Be,model:h.model,valueArrayType:w==="integer"?"number":w||"string",inputAttributes:{...Be.inputAttributes,type:w==="integer"?"number":"text",inputMode:w==="integer"?"numeric":"text"}}]}}]}}else h.values.fields&&(h.schema={fields:[{type:"object",model:"object",schema:{fields:h.values.fields.map(w=>{const m=Object.keys(w)[0];return{model:m,type:"input",label:n(m),placeholder:m,inputType:w[m].type}})}}]})},C=h=>h.fields.reduce((w,m)=>(m.fields&&m.fields.forEach(P=>{w[P.model]=P}),m.model&&(w[m.model]=m),w),{}),I=(h,w)=>{if(!Ee.customFields.includes(h.model))return;const m=C(h);Ee.customFields.forEach(P=>{Object.keys(m).forEach(ne=>{const Z=u(m[ne]);w[ne]=Z?m[ne].default:null}),delete w[P]})},x=(h,w)=>h.inputType==="hidden"?"":r(n(h.label||w.replace(/_/g," "))),U=(h,w)=>{switch(I(h,w),h.type){case"foreign":p(h,w);break;case"number":f(h),h.attributes={step:"any"};break;case"integer":f(h);break;case"string":E(h);break;case"boolean":y(h);break;case"map":g(h);break}h.inputType==="foreign"&&p(h,w),h.label=x(h,h.model)};function Y(h,w){if(w==null||w.type&&w.type!=="record"||typeof h!="object"||h==null)return h;const m={};for(const P of w.fields){const ne=Object.keys(P)[0],Z=P[ne];Z.type==="record"?m[ne]=Y(h[ne],Z):Z.type==="array"&&Array.isArray(h[ne])&&Z.elements.type==="record"?m[ne]=h[ne].map(q=>Y(q,Z.elements)):m[ne]=h[ne]}return m}return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:kt,pruneRecord:Y}},useExperimentalFreeForms:sa,useProvideExperimentalFreeForms:Wl},Se="/v2/control-planes/{controlPlaneId}/core-entities",Me="/{workspace}",Pe={list:{konnect:{all:`${Se}/plugins`,forEntity:`${Se}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Se}/v1/available-plugins`,streamingCustomPlugins:`${Se}/custom-plugins`,schemaCustomPluginItem:`${Se}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Se}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Me}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Se}/plugins`,forEntity:`${Se}/{entityType}/{entityId}/plugins`},edit:{all:`${Se}/plugins/{id}`,forEntity:`${Se}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Se}/{resourceEndpoint}`,edit:`${Se}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Se}/v1/schemas/json/plugin/validate`,entityGetOne:`${Se}/{entity}/{id}`,entityGetAll:`${Se}/{entity}?size=1000`},kongManager:{create:{all:`${Me}/plugins`,forEntity:`${Me}/{entityType}/{entityId}/plugins`},edit:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Me}/schemas/plugins/{plugin}`,credential:{create:`${Me}/{resourceEndpoint}`,edit:`${Me}/{resourceEndpoint}/{id}`},credentialSchema:`${Me}/schemas/{plugin}`,validate:`${Me}/schemas/plugins/validate`,entityGetOne:`${Me}/{entity}/{id}`,entityGetAll:`${Me}/{entity}`}},item:{konnect:{all:`${Se}/plugins/{id}`,forEntity:`${Se}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Me}/plugins/{id}`,forEntity:`${Me}/{entityType}/{entityId}/plugins/{id}`}}},ql={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},_l={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},$l={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},es={title:"Vaults",list:{toolbar_actions:{new_vault:"New vault"},table_headers:{prefix:"Prefix",name:"Vault Type",description:"Description",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Vault",description:"Improve the security of your Kong Gateway deployment with centralized secrets."},empty_state_v2:{title:"Configure your first vault",group:"Vaults created in gateways within this group will automatically appear here.",description:"Vaults securely and centrally store sensitive information, such as credentials, tokens, and keys, to simplify secrets management.",create_cta:"New vault"}}},ts={title:"Secrets",list:{toolbar_actions:{new_secret:"Store New Secret"},table_headers:{key:"Secret Key",updated_at:"Updated At"},empty_state:{title:"No Secrets Stored",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}},form:{info:{title:"Secret",description:"Enter the secret key and secret value to be stored in Konnect vault"},fields:{key:{label:"Key",placeholder:"Enter key"},value:{label:"Value",placeholder:"Enter value here, can be simple values or multi-line"}},hint:"Once saved, the secret value will not be visible"}},ns={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},rs={vault_type:"Vault Type"},as={sections:{general:{title:"General Information",description:"General information helps identify and manage this Vault instance."},config:{title:"Vault Configuration",description:"Select a type of Vault and configure properties specific to each type of Vault."}},fields:{prefix:{label:"Prefix",placeholder:"Enter a unique prefix for this vault",help:"e.g. my-vault",tooltip:"The reference prefix. You need this prefix to access secrets stored in this vault. For example, {vault://<your-prefix>/<some-secret>}."},description:{label:"Description",placeholder:"Enter some description for this vault"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"}},config:{konnect:{label:"Konnect",description:"Access secrets stored directly in Konnect's unified platform to easily reference in Kong Gateway configuration."},env:{label:"Environment Variables",description:"Access secrets stored via variables to be made available in Kong Gateway at runtime.",fields:{prefix:{label:"Environment Variable Prefix",placeholder:"Enter your environment variable vault prefix",tooltip:"Data plane will access all the environment variables starting with this prefix."}}},aws:{label:"AWS Secrets Manager",description:"Access secrets stored in AWS Secrets Manager for Kong Gateway configuration.",fields:{region:{label:"Region",placeholder:"Select an AWS region",tooltip:"The AWS region your vault is located in",locations:{"us-east-1":{location:"N. Virginia"},"us-east-2":{location:"Ohio"},"us-west-1":{location:"N. California"},"us-west-2":{location:"Oregon"},"af-south-1":{location:"Cape Town"},"ap-east-1":{location:"Hong Kong"},"ap-southeast-3":{location:"Jakarta"},"ap-south-1":{location:"Mumbai"},"ap-northeast-1":{location:"Tokyo"},"ap-northeast-2":{location:"Seoul"},"ap-northeast-3":{location:"Osaka"},"ap-southeast-1":{location:"Singapore"},"ap-southeast-2":{location:"Sydney"},"ca-central-1":{location:"Canada"},"eu-central-1":{location:"Frankfurt"},"eu-west-1":{location:"Ireland"},"eu-west-2":{location:"London"},"eu-west-3":{location:"Paris"},"eu-south-1":{location:"Milan"},"eu-north-1":{location:"Stockholm"},"me-south-1":{location:"Bahrain"},"sa-east-1":{location:"São Paulo"},"us-gov-east-1":{location:"US East"},"us-gov-west-1":{location:"US West"}}},endpoint_url:{label:"Endpoint URL",tooltip:'The AWS SecretsManager service endpoint url. If not specified, the value used by vault will be the official AWS SecretsManager service url which is `https://secretsmanager.<region>.amazonaws.com`. You can specify a complete URL(including the "http/https" scheme) to override the endpoint that vault will connect to.'},assume_role_arn:{label:"Assume Role ARN",tooltip:"The target AWS IAM role ARN that will be assumed. Typically this is used for operating between multiple roles or cross-accounts. If you are not using assume role you should not specify this value."},role_session_name:{label:"Role Session Name",tooltip:"The role session name used for role assuming."},sts_endpoint_url:{label:"STS Endpoint URL",tooltip:"The custom STS endpoint URL used for role assuming in AWS Vault. Note that this value will override the default STS endpoint URL(which should be `https: //sts.amazonaws.com`, or `https: //sts.<region>.amazonaws.com` if you have `AWS_STS_REGIONAL_ENDPOINTS` set to `regional`). If you are not using private VPC endpoint for STS service, you should not specify this value."}}},gcp:{label:"Google Secret Manager",description:"Access secrets stored in Google Secret Manager for Kong Gateway configuration.",fields:{project_id:{label:"Project ID",placeholder:"Enter your Google Cloud Project ID",tooltip:{text:"Visit your Google API Console and select {italic-text} in the projects list to see your project ID",italicText:"Manage all projects"}}}},hcv:{label:"HashiCorp Vault",description:"Access secrets stored in HashiCorp Vault for Kong Gateway configuration.",fields:{protocol:{label:"Protocol"},host:{label:"Host"},port:{label:"Port"},mount:{label:"Mount"},kv:{label:"Kv"},namespace:{label:"Namespace"},auth_method:{label:"Authentication Method"},token:{label:"Token"},kube_role:{label:"Kubernetes Role"},kube_auth_path:{label:"Kubernetes Auth Path"},kube_api_token_file:{label:"Kubernetes API Token File"},approle_auth_path:{label:"App Role Auth Path"},approle_role_id:{label:"App Role Role ID"},approle_secret_id:{label:"App Role Secret ID"},approle_secret_id_file:{label:"App Role Secret ID File"},approle_response_wrapping:{label:"App Role Response Wrapping"},cert_auth_cert:{label:"Cert"},cert_auth_cert_key:{label:"Cert Key"},cert_auth_role_name:{label:"Role Name"}}},azure:{label:"Azure Vault",description:"Access secrets stored in Azure Key Vault for Kong Gateway configuration.",fields:{location:{label:"Location"},vault_uri:{label:"Vault URI"},credential_prefix:{label:"Credential Prefix"},type:{label:"Type",placeholder:"Select a type"},client_id:{label:"Client ID"},tenant_id:{label:"Tenant ID"}}},conjur:{label:"Conjur Vault",description:"Access secrets stored in Conjur Key Vault for Kong Gateway configuration.",fields:{endpoint_url:{label:"Conjur Server",tooltip:"The CyberArk Conjur backend url. Accepts http or https."},login:{label:"Workload Identity",tooltip:"Identity of the workload or host authenticating to Conjur. In this case Kong is the workload/host."},api_key:{label:"API Key",tooltip:"The API key issued to the workload."},account:{label:"Conjur Account",tooltip:"The Conjur account for which the token will be issued. This is the identifier provided during conjur configuration."}}},advancedFields:{title:"View Advanced Fields",ttl:"TTL",ttlTooltip:`Time-to-live (in seconds) of a secret from the vault when it's cached. The special value of 0 means "no rotation" and it's the default. When using non-zero values, it is recommended that they're at least 1 minute.`,negTtl:"Negative TTL",negTtlTooltip:"Time-to-live (in seconds) of a vault miss (no secret). Negatively cached secrets will remain valid until neg_ttl is reached, after which Kong will attempt to refresh the secret again. The default value for neg_ttl is 0, meaning no negative caching occurs.",resurrectTtl:"Resurrect TTL",resurrectTtlTooltip:"Time (in seconds) for how long secrets will remain in use after they are expired (config.ttl is over). This is useful when a vault becomes unreachable, or when a secret is deleted from the Vault and isn't replaced immediately. On both cases, the Gateway will keep trying to refresh the secret for resurrect_ttl seconds. After that, it will stop trying to refresh. We recommend assigning a sufficiently high value to this configuration option to ensure a seamless transition in case there are unexpected issues with the Vault. The default value for resurrect_ttl is 1e8 seconds, which is about 3 years."},commonFields:{base64_decode:{label:"Base64 Decode",tooltip:"Decode all secrets in this vault as base64, useful for binary data. If some of the secrets are not base64 encoded, an error will occur when using them. It's recommended to create a separate vault for base64 secrets."}}},unavailable:"This vault provider is available on Enterprise."},is={title:"Look up Key in Vault",vault:{label:"Vault",placeholder:"Select a vault"},secret_id:{label:"Secret ID",input_placeholder:"Enter a secret ID",select_placeholder:"Select or enter a complete secret ID"},optional_secret_key:{label:"Secret Key",placeholder:"Enter the key or key path to access a nested secret value",help:"Optional. e.g. tokens, tokens/refresh_token"},fetch_error:{vaults:"Could not fetch available vaults",secrets:"Could not fetch available secrets",vaults_and_secrets:"Could not fetch available vaults and secrets"},no_results:"No results found",actions:{use_key:"Use Key"},provider:{complete_action:"Look up {cta}",cta:"Key in Vault"}},os={actions:ql,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:_l,search:$l,vaults:es,secrets:ts,copy:ns,labels:rs,form:as,vault_secret_picker:is};function ls(){const e=Le.createI18n("en-us",os);return{i18n:e,i18nT:Le.i18nTComponent(e)}}const Aa={useI18n:ls},Hn="/v2/control-planes/{controlPlaneId}/core-entities",da="/v2/control-planes/{controlPlaneId}/config-stores",Yn="/{workspace}",pa={list:{konnect:{getAll:`${Hn}/vaults`,deleteConfigStore:`${da}/{id}?force=true`},kongManager:{getAll:`${Yn}/vaults`}},form:{konnect:{create:`${Hn}/vaults`,createConfigStore:da,edit:`${Hn}/vaults/{id}`},kongManager:{create:`${Yn}/vaults`,edit:`${Yn}/vaults/{id}`}}},fa=(e,n)=>{const r=e.__vccOpts||e;for(const[a,i]of n)r[a]=i;return r},hn="/v2/control-planes/{controlPlaneId}",ga={getVault:{konnect:`${hn}/core-entities/vaults/{id}`},list:{konnect:`${hn}/config-stores/{id}/secrets`},form:{konnect:{create:`${hn}/config-stores/{id}/secrets`,edit:`${hn}/config-stores/{id}/secrets/{secretId}`}}},ss={class:"vault-secret-picker-provider"},cs=t.defineComponent({__name:"VaultSecretPickerProvider",props:{value:{},disabled:{type:Boolean},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const r=e,a=n,{i18n:{t:i},i18nT:o}=Aa.useI18n();return(l,s)=>(t.openBlock(),t.createElementBlock("div",ss,[t.createVNode(t.unref(o),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"vault-secret-picker-provider-action":!0,disabled:r.disabled}),onClick:s[0]||(s[0]=()=>!r.disabled&&a("open",r.value,r.update))},t.toDisplayString(t.unref(i)("vault_secret_picker.provider.cta")),3)]),_:1})]))}}),Vn=fa(cs,[["__scopeId","data-v-66a1e406"]]),us=e=>{let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Error("Invalid secret reference: must be enclosed in curly braces");if(n=n.substring(1,n.length-1).trim(),!n.startsWith("vault://"))throw new Error("Invalid secret reference: must start with vault://");const r=new URL(`http://${n.substring(8)}`);if(!r)throw new Error("Invalid secret reference: must have a vault prefix");const a=r.host,[,i,...o]=r.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:i||void 0,optionalSecretKey:o==null?void 0:o.join("/")}},As=e=>{if(!e.vaultPrefix)throw new Error("Invalid secret reference: must have a vault prefix");let n=`vault://${e.vaultPrefix}`;return e.secretId&&(n=`${n}/${e.secretId}`),e.optionalSecretKey&&(n=`${n}/${e.optionalSecretKey}`),`{${n}}`},ds={key:1,class:"inputs-wrapper"},ps={"data-testid":"no-search-results"},fs={class:"k-select-selected-item-label"},gs={class:"vault-secret-picker-vault-dropdown-item"},ms={class:"select-item-label"},hs={class:"select-item-description"},ys={class:"select-item-description"},bs={"data-testid":"no-search-results"},Es=t.defineComponent({__name:"VaultSecretPicker",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")},setup:{type:null,required:!1,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){var r;const{i18n:{t:a}}=Aa.useI18n(),i=e,o=n,{axiosInstance:l}=L.useAxios({validateStatus:R=>R===404||R>=200&&R<300,...(r=i.config)==null?void 0:r.axiosRequestConfig}),s=t.ref(!1),u=t.ref(""),d=t.ref(""),A=t.ref(""),c=t.ref(),p=t.computed(()=>{var R,F;return i.config.app==="konnect"?ga.list[i.config.app].replace(/{id}/gi,((F=(R=c.value)==null?void 0:R.config)==null?void 0:F.config_store_id)??""):"<not_applicable>"}),f=t.computed(()=>{if(g&&Y)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(g)return a("vault_secret_picker.fetch_error.vaults");if(Y)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:E,loading:y,error:g,loadItems:C,results:I}=L.useDebouncedFilter(i.config,pa.list[i.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:x,loading:U,error:Y,loadItems:h,results:w}=L.useDebouncedFilter(i.config,p,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),m=t.computed(()=>{var R;let F=!1;const z=((R=I.value)==null?void 0:R.map(D=>(D.prefix===u.value&&(F=!0),{label:D.prefix,value:D.prefix,vault:D})))??[];return!F&&c.value&&z.push({label:c.value.prefix,value:c.value.prefix,vault:c.value}),z}),P=t.computed(()=>{var R;let F=!1;const z=((R=w.value)==null?void 0:R.map(D=>(D.key===d.value&&(F=!0),{label:D.key,value:D.key})))??[];return!F&&d.value&&z.push({label:d.value,value:d.value}),z}),ne=t.computed(()=>{var R;return((R=c==null?void 0:c.value)==null?void 0:R.name)==="konnect"}),Z=t.computed(()=>!!c.value&&!!d.value),q=R=>R.label?`${R.label} - (${R.vault.name} - ${R.vault.id})`:R.value,B=R=>{var F,z;let D=`${i.config.apiBaseUrl}${pa.form[i.config.app].edit}`;return i.config.app==="konnect"?D=D.replace(/{controlPlaneId}/gi,((F=i.config)==null?void 0:F.controlPlaneId)||""):i.config.app==="kongManager"&&(D=D.replace(/\/{workspace}/gi,(z=i.config)!=null&&z.workspace?`/${i.config.workspace}`:"")),D.replace(/{id}/gi,R)},O=(R,F)=>{var z;return i.config.app!=="konnect"?"<not_applicable>":`${i.config.apiBaseUrl}${ga.form[i.config.app].edit}`.replace(/{controlPlaneId}/gi,((z=i.config)==null?void 0:z.controlPlaneId)||"").replace(/{id}/gi,F).replace(/{secretId}/gi,R)},T=()=>{o("proceed",As({vaultPrefix:u.value,secretId:d.value||void 0,optionalSecretKey:A.value||void 0}))};return t.watch(()=>i.setup,async R=>{if(R!==!1){if(s.value=!0,u.value="",c.value=void 0,d.value="",A.value="",typeof R=="string"&&R.trim().length>0)try{let F,z="",D="",S="";const M=us(R),{data:W}=await l.get(B(M.vaultPrefix));if(W!=null&&W.name)if(F=W,z=M.vaultPrefix,F.name==="konnect"){if(M.secretId){const{data:se}=await l.get(O(M.secretId,W.config.config_store_id));se.key===M.secretId&&(D=M.secretId,S=M.optionalSecretKey??"")}}else D=M.secretId??"",S=M.optionalSecretKey??"";await t.nextTick(()=>{u.value=z,c.value=F,d.value=D,A.value=S})}catch(F){console.debug(F)}s.value=!1,await C()}},{immediate:!0}),t.watch(u,async(R,F)=>{var z;s.value||R===F||(c.value=(z=m.value.find(D=>D.value===R))==null?void 0:z.vault,d.value="",A.value="")}),t.watch(p,async()=>{ne.value&&await h()},{immediate:!0}),(R,F)=>{const z=t.resolveComponent("KEmptyState"),D=t.resolveComponent("KSelect"),S=t.resolveComponent("KInput"),M=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(M,{"action-button-disabled":!Z.value,"action-button-text":t.unref(a)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(a)("vault_secret_picker.title"),visible:i.setup!==!1,onCancel:F[4]||(F[4]=()=>o("cancel")),onProceed:T},{default:t.withCtx(()=>[t.unref(g)||t.unref(Y)?(t.openBlock(),t.createBlock(z,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:f.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",ds,[t.createVNode(D,{modelValue:u.value,"onUpdate:modelValue":F[0]||(F[0]=W=>u.value=W),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:s.value,"enable-filtering":"","filter-function":()=>!0,items:m.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(y),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(E)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ps,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:W})=>[t.createElementVNode("span",fs,t.toDisplayString(q(W)),1)]),"item-template":t.withCtx(({item:W})=>[t.createElementVNode("div",gs,[t.createElementVNode("span",ms,t.toDisplayString(W.label),1),t.createElementVNode("span",hs,t.toDisplayString(W.vault.name),1),t.createElementVNode("span",ys,t.toDisplayString(W.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),ne.value?(t.openBlock(),t.createBlock(D,{key:0,modelValue:d.value,"onUpdate:modelValue":F[1]||(F[1]=W=>d.value=W),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:s.value||!c.value,"enable-filtering":"","filter-function":()=>!0,items:P.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(a)("vault_secret_picker.secret_id.label"),loading:t.unref(U),placeholder:t.unref(a)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(x)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",bs,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(S,{key:1,modelValue:d.value,"onUpdate:modelValue":F[2]||(F[2]=W=>d.value=W),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:s.value||!c.value,label:t.unref(a)("vault_secret_picker.secret_id.label"),placeholder:t.unref(a)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(S,{modelValue:A.value,"onUpdate:modelValue":F[3]||(F[3]=W=>A.value=W),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:s.value||!c.value,help:t.unref(a)("vault_secret_picker.optional_secret_key.help"),label:t.unref(a)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(a)("vault_secret_picker.optional_secret_key.placeholder"),type:"text"},null,8,["modelValue","disabled","help","label","placeholder"])]))]),_:1},8,["action-button-disabled","action-button-text","title","visible"])}}}),ws=fa(Es,[["__scopeId","data-v-df8552cc"]]),Cs={key:0},Bs=ce(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:r}=ve.usePluginHelpers(),{i18n:{t:a}}=ve.useI18n(),i=s=>s.map(u=>u.replace(/^[cC]onfig\./,"").split(".").map(d=>r(d)).join(".")).join(", "),o=(s,u)=>a(s,{parameters:i(u)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const u of n.rules.atLeastOneOf)s.push(o("plugins.form.field_rules.at_least_one_of",u));if(n.rules.onlyOneOf)for(const u of n.rules.onlyOneOf)s.push(o("plugins.form.field_rules.only_one_of",u));if(n.rules.mutuallyRequired)for(const u of n.rules.mutuallyRequired)s.push(o("plugins.form.field_rules.mutually_required",u));return s});return(s,u)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(A,c)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${c}`},t.toDisplayString(A),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Cs,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(A,c)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${c}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(A,(p,f)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${c}-combination-${f}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);var ma=typeof global=="object"&&global&&global.Object===Object&&global,Is=typeof self=="object"&&self&&self.Object===Object&&self,Xe=ma||Is||Function("return this")(),Je=Xe.Symbol,ha=Object.prototype,vs=ha.hasOwnProperty,Ps=ha.toString,jt=Je?Je.toStringTag:void 0;function ks(e){var n=vs.call(e,jt),r=e[jt];try{e[jt]=void 0;var a=!0}catch{}var i=Ps.call(e);return a&&(n?e[jt]=r:delete e[jt]),i}var Os=Object.prototype,Rs=Os.toString;function Ss(e){return Rs.call(e)}var xs="[object Null]",Ts="[object Undefined]",ya=Je?Je.toStringTag:void 0;function ft(e){return e==null?e===void 0?Ts:xs:ya&&ya in Object(e)?ks(e):Ss(e)}function gt(e){return e!=null&&typeof e=="object"}var Ms="[object Symbol]";function jn(e){return typeof e=="symbol"||gt(e)&&ft(e)==Ms}function ba(e,n){for(var r=-1,a=e==null?0:e.length,i=Array(a);++r<a;)i[r]=n(e[r],r,e);return i}var $e=Array.isArray,Ds=1/0,Ea=Je?Je.prototype:void 0,wa=Ea?Ea.toString:void 0;function Ca(e){if(typeof e=="string")return e;if($e(e))return ba(e,Ca)+"";if(jn(e))return wa?wa.call(e):"";var n=e+"";return n=="0"&&1/e==-Ds?"-0":n}function mt(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function Ns(e){return e}var Gs="[object AsyncFunction]",Ls="[object Function]",Us="[object GeneratorFunction]",Fs="[object Proxy]";function Kn(e){if(!mt(e))return!1;var n=ft(e);return n==Ls||n==Us||n==Gs||n==Fs}var Qn=Xe["__core-js_shared__"],Ba=function(){var e=/[^.]+$/.exec(Qn&&Qn.keys&&Qn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Hs(e){return!!Ba&&Ba in e}var Ys=Function.prototype,Vs=Ys.toString;function ht(e){if(e!=null){try{return Vs.call(e)}catch{}try{return e+""}catch{}}return""}var js=/[\\^$.*+?()[\]{}|]/g,Ks=/^\[object .+?Constructor\]$/,Qs=Function.prototype,zs=Object.prototype,Xs=Qs.toString,Js=zs.hasOwnProperty,Ws=RegExp("^"+Xs.call(Js).replace(js,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Zs(e){if(!mt(e)||Hs(e))return!1;var n=Kn(e)?Ws:Ks;return n.test(ht(e))}function qs(e,n){return e==null?void 0:e[n]}function yt(e,n){var r=qs(e,n);return Zs(r)?r:void 0}var zn=yt(Xe,"WeakMap"),Ia=Object.create,_s=function(){function e(){}return function(n){if(!mt(n))return{};if(Ia)return Ia(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}}();function $s(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function ec(e,n){var r=-1,a=e.length;for(n||(n=Array(a));++r<a;)n[r]=e[r];return n}var tc=800,nc=16,rc=Date.now;function ac(e){var n=0,r=0;return function(){var a=rc(),i=nc-(a-r);if(r=a,i>0){if(++n>=tc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function ic(e){return function(){return e}}var yn=function(){try{var e=yt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),oc=yn?function(e,n){return yn(e,"toString",{configurable:!0,enumerable:!1,value:ic(n),writable:!0})}:Ns,lc=ac(oc);function sc(e,n){for(var r=-1,a=e==null?0:e.length;++r<a&&n(e[r],r,e)!==!1;);return e}var cc=9007199254740991,uc=/^(?:0|[1-9]\d*)$/;function Xn(e,n){var r=typeof e;return n=n??cc,!!n&&(r=="number"||r!="symbol"&&uc.test(e))&&e>-1&&e%1==0&&e<n}function va(e,n,r){n=="__proto__"&&yn?yn(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}function Pa(e,n){return e===n||e!==e&&n!==n}var Ac=Object.prototype,dc=Ac.hasOwnProperty;function Jn(e,n,r){var a=e[n];(!(dc.call(e,n)&&Pa(a,r))||r===void 0&&!(n in e))&&va(e,n,r)}function Kt(e,n,r,a){var i=!r;r||(r={});for(var o=-1,l=n.length;++o<l;){var s=n[o],u=void 0;u===void 0&&(u=e[s]),i?va(r,s,u):Jn(r,s,u)}return r}var ka=Math.max;function pc(e,n,r){return n=ka(n===void 0?e.length-1:n,0),function(){for(var a=arguments,i=-1,o=ka(a.length-n,0),l=Array(o);++i<o;)l[i]=a[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=a[i];return s[n]=r(l),$s(e,this,s)}}var fc=9007199254740991;function Wn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=fc}function Zn(e){return e!=null&&Wn(e.length)&&!Kn(e)}var gc=Object.prototype;function bn(e){var n=e&&e.constructor,r=typeof n=="function"&&n.prototype||gc;return e===r}function mc(e,n){for(var r=-1,a=Array(e);++r<e;)a[r]=n(r);return a}var hc="[object Arguments]";function Oa(e){return gt(e)&&ft(e)==hc}var Ra=Object.prototype,yc=Ra.hasOwnProperty,bc=Ra.propertyIsEnumerable,En=Oa(function(){return arguments}())?Oa:function(e){return gt(e)&&yc.call(e,"callee")&&!bc.call(e,"callee")};function Ec(){return!1}var Sa=typeof ie=="object"&&ie&&!ie.nodeType&&ie,xa=Sa&&typeof module=="object"&&module&&!module.nodeType&&module,wc=xa&&xa.exports===Sa,Ta=wc?Xe.Buffer:void 0,Cc=Ta?Ta.isBuffer:void 0,qn=Cc||Ec,Bc="[object Arguments]",Ic="[object Array]",vc="[object Boolean]",Pc="[object Date]",kc="[object Error]",Oc="[object Function]",Rc="[object Map]",Sc="[object Number]",xc="[object Object]",Tc="[object RegExp]",Mc="[object Set]",Dc="[object String]",Nc="[object WeakMap]",Gc="[object ArrayBuffer]",Lc="[object DataView]",Uc="[object Float32Array]",Fc="[object Float64Array]",Hc="[object Int8Array]",Yc="[object Int16Array]",Vc="[object Int32Array]",jc="[object Uint8Array]",Kc="[object Uint8ClampedArray]",Qc="[object Uint16Array]",zc="[object Uint32Array]",Ie={};Ie[Uc]=Ie[Fc]=Ie[Hc]=Ie[Yc]=Ie[Vc]=Ie[jc]=Ie[Kc]=Ie[Qc]=Ie[zc]=!0,Ie[Bc]=Ie[Ic]=Ie[Gc]=Ie[vc]=Ie[Lc]=Ie[Pc]=Ie[kc]=Ie[Oc]=Ie[Rc]=Ie[Sc]=Ie[xc]=Ie[Tc]=Ie[Mc]=Ie[Dc]=Ie[Nc]=!1;function Xc(e){return gt(e)&&Wn(e.length)&&!!Ie[ft(e)]}function _n(e){return function(n){return e(n)}}var Ma=typeof ie=="object"&&ie&&!ie.nodeType&&ie,Qt=Ma&&typeof module=="object"&&module&&!module.nodeType&&module,Jc=Qt&&Qt.exports===Ma,$n=Jc&&ma.process,Rt=function(){try{var e=Qt&&Qt.require&&Qt.require("util").types;return e||$n&&$n.binding&&$n.binding("util")}catch{}}(),Da=Rt&&Rt.isTypedArray,Na=Da?_n(Da):Xc,Wc=Object.prototype,Zc=Wc.hasOwnProperty;function Ga(e,n){var r=$e(e),a=!r&&En(e),i=!r&&!a&&qn(e),o=!r&&!a&&!i&&Na(e),l=r||a||i||o,s=l?mc(e.length,String):[],u=s.length;for(var d in e)(n||Zc.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Xn(d,u)))&&s.push(d);return s}function La(e,n){return function(r){return e(n(r))}}var qc=La(Object.keys,Object),_c=Object.prototype,$c=_c.hasOwnProperty;function Ua(e){if(!bn(e))return qc(e);var n=[];for(var r in Object(e))$c.call(e,r)&&r!="constructor"&&n.push(r);return n}function er(e){return Zn(e)?Ga(e):Ua(e)}function eu(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var tu=Object.prototype,nu=tu.hasOwnProperty;function ru(e){if(!mt(e))return eu(e);var n=bn(e),r=[];for(var a in e)a=="constructor"&&(n||!nu.call(e,a))||r.push(a);return r}function tr(e){return Zn(e)?Ga(e,!0):ru(e)}var au=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,iu=/^\w*$/;function ou(e,n){if($e(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||jn(e)?!0:iu.test(e)||!au.test(e)||n!=null&&e in Object(n)}var zt=yt(Object,"create");function lu(){this.__data__=zt?zt(null):{},this.size=0}function su(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var cu="__lodash_hash_undefined__",uu=Object.prototype,Au=uu.hasOwnProperty;function du(e){var n=this.__data__;if(zt){var r=n[e];return r===cu?void 0:r}return Au.call(n,e)?n[e]:void 0}var pu=Object.prototype,fu=pu.hasOwnProperty;function gu(e){var n=this.__data__;return zt?n[e]!==void 0:fu.call(n,e)}var mu="__lodash_hash_undefined__";function hu(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=zt&&n===void 0?mu:n,this}function bt(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}bt.prototype.clear=lu,bt.prototype.delete=su,bt.prototype.get=du,bt.prototype.has=gu,bt.prototype.set=hu;function yu(){this.__data__=[],this.size=0}function wn(e,n){for(var r=e.length;r--;)if(Pa(e[r][0],n))return r;return-1}var bu=Array.prototype,Eu=bu.splice;function wu(e){var n=this.__data__,r=wn(n,e);if(r<0)return!1;var a=n.length-1;return r==a?n.pop():Eu.call(n,r,1),--this.size,!0}function Cu(e){var n=this.__data__,r=wn(n,e);return r<0?void 0:n[r][1]}function Bu(e){return wn(this.__data__,e)>-1}function Iu(e,n){var r=this.__data__,a=wn(r,e);return a<0?(++this.size,r.push([e,n])):r[a][1]=n,this}function et(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}et.prototype.clear=yu,et.prototype.delete=wu,et.prototype.get=Cu,et.prototype.has=Bu,et.prototype.set=Iu;var Xt=yt(Xe,"Map");function vu(){this.size=0,this.__data__={hash:new bt,map:new(Xt||et),string:new bt}}function Pu(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Cn(e,n){var r=e.__data__;return Pu(n)?r[typeof n=="string"?"string":"hash"]:r.map}function ku(e){var n=Cn(this,e).delete(e);return this.size-=n?1:0,n}function Ou(e){return Cn(this,e).get(e)}function Ru(e){return Cn(this,e).has(e)}function Su(e,n){var r=Cn(this,e),a=r.size;return r.set(e,n),this.size+=r.size==a?0:1,this}function ot(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}ot.prototype.clear=vu,ot.prototype.delete=ku,ot.prototype.get=Ou,ot.prototype.has=Ru,ot.prototype.set=Su;var xu="Expected a function";function nr(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(xu);var r=function(){var a=arguments,i=n?n.apply(this,a):a[0],o=r.cache;if(o.has(i))return o.get(i);var l=e.apply(this,a);return r.cache=o.set(i,l)||o,l};return r.cache=new(nr.Cache||ot),r}nr.Cache=ot;var Tu=500;function Mu(e){var n=nr(e,function(a){return r.size===Tu&&r.clear(),a}),r=n.cache;return n}var Du=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nu=/\\(\\)?/g,Gu=Mu(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Du,function(r,a,i,o){n.push(i?o.replace(Nu,"$1"):a||r)}),n});function Bn(e){return e==null?"":Ca(e)}function St(e,n){return $e(e)?e:ou(e,n)?[e]:Gu(Bn(e))}var Lu=1/0;function In(e){if(typeof e=="string"||jn(e))return e;var n=e+"";return n=="0"&&1/e==-Lu?"-0":n}function rr(e,n){n=St(n,e);for(var r=0,a=n.length;e!=null&&r<a;)e=e[In(n[r++])];return r&&r==a?e:void 0}function Uu(e,n,r){var a=e==null?void 0:rr(e,n);return a===void 0?r:a}function ar(e,n){for(var r=-1,a=n.length,i=e.length;++r<a;)e[i+r]=n[r];return e}var Fa=Je?Je.isConcatSpreadable:void 0;function Fu(e){return $e(e)||En(e)||!!(Fa&&e&&e[Fa])}function Hu(e,n,r,a,i){var o=-1,l=e.length;for(r||(r=Fu),i||(i=[]);++o<l;){var s=e[o];r(s)?ar(i,s):i[i.length]=s}return i}function Yu(e){var n=e==null?0:e.length;return n?Hu(e):[]}function Ha(e){return lc(pc(e,void 0,Yu),e+"")}var ir=La(Object.getPrototypeOf,Object),Vu="[object Object]",ju=Function.prototype,Ku=Object.prototype,Ya=ju.toString,Qu=Ku.hasOwnProperty,zu=Ya.call(Object);function Xu(e){if(!gt(e)||ft(e)!=Vu)return!1;var n=ir(e);if(n===null)return!0;var r=Qu.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&Ya.call(r)==zu}function Va(e,n,r){var a=-1,i=e.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var o=Array(i);++a<i;)o[a]=e[a+n];return o}function Ju(e,n,r){var a=e.length;return r=r===void 0?a:r,!n&&r>=a?e:Va(e,n,r)}var Wu="\\ud800-\\udfff",Zu="\\u0300-\\u036f",qu="\\ufe20-\\ufe2f",_u="\\u20d0-\\u20ff",$u=Zu+qu+_u,eA="\\ufe0e\\ufe0f",tA="\\u200d",nA=RegExp("["+tA+Wu+$u+eA+"]");function ja(e){return nA.test(e)}function rA(e){return e.split("")}var Ka="\\ud800-\\udfff",aA="\\u0300-\\u036f",iA="\\ufe20-\\ufe2f",oA="\\u20d0-\\u20ff",lA=aA+iA+oA,sA="\\ufe0e\\ufe0f",cA="["+Ka+"]",or="["+lA+"]",lr="\\ud83c[\\udffb-\\udfff]",uA="(?:"+or+"|"+lr+")",Qa="[^"+Ka+"]",za="(?:\\ud83c[\\udde6-\\uddff]){2}",Xa="[\\ud800-\\udbff][\\udc00-\\udfff]",AA="\\u200d",Ja=uA+"?",Wa="["+sA+"]?",dA="(?:"+AA+"(?:"+[Qa,za,Xa].join("|")+")"+Wa+Ja+")*",pA=Wa+Ja+dA,fA="(?:"+[Qa+or+"?",or,za,Xa,cA].join("|")+")",gA=RegExp(lr+"(?="+lr+")|"+fA+pA,"g");function mA(e){return e.match(gA)||[]}function hA(e){return ja(e)?mA(e):rA(e)}function yA(e){return function(n){n=Bn(n);var r=ja(n)?hA(n):void 0,a=r?r[0]:n.charAt(0),i=r?Ju(r,1).join(""):n.slice(1);return a[e]()+i}}var bA=yA("toUpperCase");function EA(e){return bA(Bn(e).toLowerCase())}function wA(){this.__data__=new et,this.size=0}function CA(e){var n=this.__data__,r=n.delete(e);return this.size=n.size,r}function BA(e){return this.__data__.get(e)}function IA(e){return this.__data__.has(e)}var vA=200;function PA(e,n){var r=this.__data__;if(r instanceof et){var a=r.__data__;if(!Xt||a.length<vA-1)return a.push([e,n]),this.size=++r.size,this;r=this.__data__=new ot(a)}return r.set(e,n),this.size=r.size,this}function xt(e){var n=this.__data__=new et(e);this.size=n.size}xt.prototype.clear=wA,xt.prototype.delete=CA,xt.prototype.get=BA,xt.prototype.has=IA,xt.prototype.set=PA;function kA(e,n){return e&&Kt(n,er(n),e)}function OA(e,n){return e&&Kt(n,tr(n),e)}var Za=typeof ie=="object"&&ie&&!ie.nodeType&&ie,qa=Za&&typeof module=="object"&&module&&!module.nodeType&&module,RA=qa&&qa.exports===Za,_a=RA?Xe.Buffer:void 0,$a=_a?_a.allocUnsafe:void 0;function SA(e,n){if(n)return e.slice();var r=e.length,a=$a?$a(r):new e.constructor(r);return e.copy(a),a}function xA(e,n){for(var r=-1,a=e==null?0:e.length,i=0,o=[];++r<a;){var l=e[r];n(l,r,e)&&(o[i++]=l)}return o}function ei(){return[]}var TA=Object.prototype,MA=TA.propertyIsEnumerable,ti=Object.getOwnPropertySymbols,sr=ti?function(e){return e==null?[]:(e=Object(e),xA(ti(e),function(n){return MA.call(e,n)}))}:ei;function DA(e,n){return Kt(e,sr(e),n)}var NA=Object.getOwnPropertySymbols,ni=NA?function(e){for(var n=[];e;)ar(n,sr(e)),e=ir(e);return n}:ei;function GA(e,n){return Kt(e,ni(e),n)}function ri(e,n,r){var a=n(e);return $e(e)?a:ar(a,r(e))}function LA(e){return ri(e,er,sr)}function ai(e){return ri(e,tr,ni)}var cr=yt(Xe,"DataView"),ur=yt(Xe,"Promise"),Ar=yt(Xe,"Set"),ii="[object Map]",UA="[object Object]",oi="[object Promise]",li="[object Set]",si="[object WeakMap]",ci="[object DataView]",FA=ht(cr),HA=ht(Xt),YA=ht(ur),VA=ht(Ar),jA=ht(zn),We=ft;(cr&&We(new cr(new ArrayBuffer(1)))!=ci||Xt&&We(new Xt)!=ii||ur&&We(ur.resolve())!=oi||Ar&&We(new Ar)!=li||zn&&We(new zn)!=si)&&(We=function(e){var n=ft(e),r=n==UA?e.constructor:void 0,a=r?ht(r):"";if(a)switch(a){case FA:return ci;case HA:return ii;case YA:return oi;case VA:return li;case jA:return si}return n});var KA=Object.prototype,QA=KA.hasOwnProperty;function zA(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&QA.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var ui=Xe.Uint8Array;function dr(e){var n=new e.constructor(e.byteLength);return new ui(n).set(new ui(e)),n}function XA(e,n){var r=n?dr(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var JA=/\w*$/;function WA(e){var n=new e.constructor(e.source,JA.exec(e));return n.lastIndex=e.lastIndex,n}var Ai=Je?Je.prototype:void 0,di=Ai?Ai.valueOf:void 0;function ZA(e){return di?Object(di.call(e)):{}}function qA(e,n){var r=n?dr(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var _A="[object Boolean]",$A="[object Date]",ed="[object Map]",td="[object Number]",nd="[object RegExp]",rd="[object Set]",ad="[object String]",id="[object Symbol]",od="[object ArrayBuffer]",ld="[object DataView]",sd="[object Float32Array]",cd="[object Float64Array]",ud="[object Int8Array]",Ad="[object Int16Array]",dd="[object Int32Array]",pd="[object Uint8Array]",fd="[object Uint8ClampedArray]",gd="[object Uint16Array]",md="[object Uint32Array]";function hd(e,n,r){var a=e.constructor;switch(n){case od:return dr(e);case _A:case $A:return new a(+e);case ld:return XA(e,r);case sd:case cd:case ud:case Ad:case dd:case pd:case fd:case gd:case md:return qA(e,r);case ed:return new a;case td:case ad:return new a(e);case nd:return WA(e);case rd:return new a;case id:return ZA(e)}}function yd(e){return typeof e.constructor=="function"&&!bn(e)?_s(ir(e)):{}}var bd="[object Map]";function Ed(e){return gt(e)&&We(e)==bd}var pi=Rt&&Rt.isMap,wd=pi?_n(pi):Ed,Cd="[object Set]";function Bd(e){return gt(e)&&We(e)==Cd}var fi=Rt&&Rt.isSet,Id=fi?_n(fi):Bd,vd=1,Pd=2,kd=4,gi="[object Arguments]",Od="[object Array]",Rd="[object Boolean]",Sd="[object Date]",xd="[object Error]",mi="[object Function]",Td="[object GeneratorFunction]",Md="[object Map]",Dd="[object Number]",hi="[object Object]",Nd="[object RegExp]",Gd="[object Set]",Ld="[object String]",Ud="[object Symbol]",Fd="[object WeakMap]",Hd="[object ArrayBuffer]",Yd="[object DataView]",Vd="[object Float32Array]",jd="[object Float64Array]",Kd="[object Int8Array]",Qd="[object Int16Array]",zd="[object Int32Array]",Xd="[object Uint8Array]",Jd="[object Uint8ClampedArray]",Wd="[object Uint16Array]",Zd="[object Uint32Array]",he={};he[gi]=he[Od]=he[Hd]=he[Yd]=he[Rd]=he[Sd]=he[Vd]=he[jd]=he[Kd]=he[Qd]=he[zd]=he[Md]=he[Dd]=he[hi]=he[Nd]=he[Gd]=he[Ld]=he[Ud]=he[Xd]=he[Jd]=he[Wd]=he[Zd]=!0,he[xd]=he[mi]=he[Fd]=!1;function Jt(e,n,r,a,i,o){var l,s=n&vd,u=n&Pd,d=n&kd;if(r&&(l=i?r(e,a,i,o):r(e)),l!==void 0)return l;if(!mt(e))return e;var A=$e(e);if(A){if(l=zA(e),!s)return ec(e,l)}else{var c=We(e),p=c==mi||c==Td;if(qn(e))return SA(e,s);if(c==hi||c==gi||p&&!i){if(l=u||p?{}:yd(e),!s)return u?GA(e,OA(l,e)):DA(e,kA(l,e))}else{if(!he[c])return i?e:{};l=hd(e,c,s)}}o||(o=new xt);var f=o.get(e);if(f)return f;o.set(e,l),Id(e)?e.forEach(function(g){l.add(Jt(g,n,r,g,e,o))}):wd(e)&&e.forEach(function(g,C){l.set(C,Jt(g,n,r,C,e,o))});var E=d?u?ai:LA:u?tr:er,y=A?void 0:E(e);return sc(y||e,function(g,C){y&&(C=g,g=e[C]),Jn(l,C,Jt(g,n,r,C,e,o))}),l}var qd=1,_d=4;function yi(e){return Jt(e,qd|_d)}function $d(e,n){return e!=null&&n in Object(e)}function ep(e,n,r){n=St(n,e);for(var a=-1,i=n.length,o=!1;++a<i;){var l=In(n[a]);if(!(o=e!=null&&r(e,l)))break;e=e[l]}return o||++a!=i?o:(i=e==null?0:e.length,!!i&&Wn(i)&&Xn(l,i)&&($e(e)||En(e)))}function tp(e,n){return e!=null&&ep(e,n,$d)}function np(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function rp(e,n){return n.length<2?e:rr(e,Va(n,0,-1))}var ap="[object Map]",ip="[object Set]",op=Object.prototype,lp=op.hasOwnProperty;function bi(e){if(e==null)return!0;if(Zn(e)&&($e(e)||typeof e=="string"||typeof e.splice=="function"||qn(e)||Na(e)||En(e)))return!e.length;var n=We(e);if(n==ap||n==ip)return!e.size;if(bn(e))return!Ua(e).length;for(var r in e)if(lp.call(e,r))return!1;return!0}function Ei(e,n){return n=St(n,e),e=rp(e,n),e==null||delete e[In(np(n))]}function sp(e){return Xu(e)?void 0:e}var cp=1,up=2,Ap=4,dp=Ha(function(e,n){var r={};if(e==null)return r;var a=!1;n=ba(n,function(o){return o=St(o,e),a||(a=o.length>1),o}),Kt(e,ai(e),r),a&&(r=Jt(r,cp|up|Ap,sp));for(var i=n.length;i--;)Ei(r,n[i]);return r});function wi(e,n,r,a){if(!mt(e))return e;n=St(n,e);for(var i=-1,o=n.length,l=o-1,s=e;s!=null&&++i<o;){var u=In(n[i]),d=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(i!=l){var A=s[u];d=void 0,d===void 0&&(d=mt(A)?A:Xn(n[i+1])?[]:{})}Jn(s,u,d),s=s[u]}return e}function pp(e,n,r){for(var a=-1,i=n.length,o={};++a<i;){var l=n[a],s=rr(e,l);r(s,l)&&wi(o,St(l,e),s)}return o}function fp(e,n){return pp(e,n,function(r,a){return tp(e,a)})}var pr=Ha(function(e,n){return e==null?{}:fp(e,n)});function gp(e,n,r){return e==null?e:wi(e,n,r)}var mp=0;function fr(e){var n=++mp;return Bn(e)+n}function Ci(e,n){return e==null?!0:Ei(e,n)}const{t:Bi}=Le.createI18n("en-us",Qe);function Ii(e){return e.map(n=>({value:n,label:n}))}const gr="*",vi="$",Pi=".";function ze(...e){return e.join(Pi)}function mr(...e){return ze(vi,...e)}function ki(e){return e.startsWith(ze(vi,""))}function Tt(e){return e.split(Pi).filter(n=>n!=="")}function hr(e){const n=Tt(e);return n[n.length-1]}Bi("redis.shared_configuration.open_source"),Bi("redis.shared_configuration.enterprise");function hp(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const Oi=Symbol("free-form-data"),Ri=Symbol("free-form-schema"),Si=Symbol("free-form-field-path"),yr=Symbol("free-form-field-renderer-slots"),vn=Symbol("free-form-field-renderer-matchers-map"),xi=Symbol("free-form-config"),Ti=Symbol("free-form-field-reset-label-path-setting"),Mt="free-form-field-renderers-slot",yp={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function br(e,n=""){const r={},a=e;if(Array.isArray(a.fields))for(const i of a.fields){const o=Object.keys(i)[0],l=i[o],s=n?ze(n,o):o;if(r[s]=l,l.type==="record"&&Array.isArray(l.fields)){const u=br(l,s);Object.assign(r,u)}else if(l.type==="array"&&l.elements){const u=l.elements,d=ze(s,gr);if(r[d]=u,u.type==="record"&&Array.isArray(u.fields)){const A=br(u,d);Object.assign(r,A)}}}return r}function Er(e){const n=Tt(e).map(r=>/^\d+$/.test(r)?gr:r);return ze(...n)}function bp(e){const n=t.toValue(e),r=t.computed(()=>n?br(n):{});function a(A){var c;return A==null?n:(c=r.value)==null?void 0:c[Er(A)]}function i(A,c=!1){const p=a(A);return p?p.default!==void 0?p.default:c||p.required?p.type==="record"?o(p,A):p.type==="array"?[]:null:null:null}function o(A,c){const p={};if(Array.isArray(A.fields))for(const f of A.fields){const E=Object.keys(f)[0],y=c?`${c}.${E}`:E,g=i(y,!1);g!==void 0&&(p[E]=g)}return p}function l(A){return A?i(A,!0):o(a(),"")}function s(A){const c=a(A),p=c!=null&&c.description?dn.marked.parse(c.description,{async:!1}):void 0;return{...yp,"data-testid":`ff-label-${A}`,info:p}}function u(A){var p;const c=a(A);return Ii((c==null?void 0:c.one_of)||((p=c.elements)==null?void 0:p.one_of)||[])}function d(A){var f;const c=(f=a(A))==null?void 0:f.default;let p=null;if(c==null||typeof c=="object"||c==="")return null;if(Array.isArray(c)){if(c.length===0)return null;p=c.join(", ")}else p=c.toString();return`Default: ${p}`}return{getSchema:a,getDefault:l,getSelectItems:u,getLabelAttributes:s,getPlaceholder:d}}function je(){const e=t.inject(Oi),n=t.inject(Ri),r=t.inject(xi,{});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:r,...n}}const Mi=e=>{const n=t.inject(Si,t.computed(()=>"")),r=t.computed(()=>{const a=t.toValue(e);let i=a;return!ki(a)&&n.value&&(i=ze(n.value,a)),ki(a)&&(i=i.slice(mr("").length)),i});return t.provide(Si,r),r},Ep=e=>{const{getSchema:n}=je(),{default:r,...a}=t.useSlots(),i=t.inject(yr),o=t.inject(vn),l=t.computed(()=>{const u=t.toValue(i),d=Object.keys(a).filter(A=>A!==Mt&&A!=="item").reduce((A,c)=>{const p=Er(ze(t.toValue(e),c));return{...A,[p]:a[c]}},{});return u?{...u,...d}:d});t.provide(yr,l);const s=t.toValue(e);return t.computed(()=>{if(r)return;const u=l.value[Er(t.toValue(e))];if(u)return u;for(const[d,A]of o)if(d({path:s,schema:n(s)}))return A})},wp={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Cp(e){return wp[e.toLocaleLowerCase()]??e}function Bp(e,n){const r=t.inject(Ti,{parentPath:null,isolate:!1}),{parentPath:a,isolate:i}=t.toValue(r),o=t.ref(a?ze(a,e):e),l=t.ref({parentPath:o.value,isolate:i});return t.watch([t.toRef(n),t.toRef(r)],([s,u])=>{var p;const{parentPath:d,isolate:A}=u,c=d?ze(d,e):e;if(s){const f={isolate:()=>{o.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{o.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{o.value=c,l.value.isolate=!1,l.value.parentPath=c}};(p=f[s])==null||p.call(f)}else A&&(o.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Ti,l),o}function Ip(e){return Tt(e).map(r=>r.split("_").map(EA).map(Cp).join(" ")).join(" › ")}function vp(e,n){const r=t.toValue(e),a=hr(r),{formConfig:i}=je(),o=Bp(a,n),{getSchema:l}=je(),s=Di(e);return t.computed(()=>{var p;const u=o.value??a,d=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,c=(d==null?void 0:d.type)==="array"?"":Ip(u);return i.transformLabel?i.transformLabel(c,r):c})}function lt(e,n){const{getLabelAttributes:r,getPlaceholder:a,getSchema:i}=je(),o=t.toValue(e),l=t.toValue(n),s=vp(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var u;return{...l,placeholder:l.placeholder??a(o)??void 0,labelAttributes:l.labelAttributes??r(o),label:l.label??s.value,required:l.required??((u=i(o))==null?void 0:u.required)}})}function Pp(e){var a;const n=Tt(e);let r={parent:null};for(n.pop();n.length;){const i=n.shift();r.path=(a=r.parent)!=null&&a.path?ze(r.parent.path,i):i,r={parent:r}}return r}function Di(e){return t.computed(()=>Pp(t.toValue(e)))}function kp(e){const{formData:n}=je(),r=Mi(e);return{value:t.computed({get:()=>Uu(n,Tt(r.value)),set:i=>gp(n,Tt(r.value),i)})}}function tt(e){const{getSchema:n}=je(),r=Mi(e),a=Ep(r),{value:i}=kp(e),o=t.computed(()=>n(r.value));return o.value?{schema:o,path:r,renderer:a,value:i,ancestors:Di(r),error:null}:{error:new Error(`path '${r.value}' is not found in schema.`)}}function wr(e){const{getSchema:n}=je(),r=t.useAttrs();return t.computed(()=>{var i;if(r["data-autofocus"]!==void 0)return!0;if(!e)return!1;const a=t.toValue(e).parent;return a!=null&&a.path?((i=n(a.path))==null?void 0:i.type)==="array":!1})}const Op="__request_callout_";function Ni(){return fr(Op)}const Rp={key:1},Sp=["innerHTML"],Gi=ce(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 r=t.useAttrs(),{i18n:a}=it(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),o=n,{value:l,...s}=tt(t.toRef(()=>e.name)),u=lt(s.path,t.toRef({...i,...r})),d=l==null?void 0:l.value;function A(I){d!==void 0&&I===""&&I!==d?(l.value=null,o("update:modelValue",null)):(l.value=I.trim(),o("update:modelValue",I.trim()))}const c=t.computed(()=>{var I;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((I=s.schema)==null?void 0:I.value).encrypted}),p=t.computed(()=>i.multiline?Ce.KTextArea:Ce.KInput),f=t.inject(Ee.AUTOFILL_SLOT,void 0),E=t.computed(()=>{var I;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((I=s.schema.value)!=null&&I.referenceable)}),y=t.computed(()=>({referenceable:E.value})),g=wr(s.ancestors),C=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:hr(e.name)==="name");return(I,x)=>{var Y;const U=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(U,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Rp,[t.createVNode(t.unref(p),t.mergeProps({...t.unref(u),showPasswordMaskToggle:c.value,type:c.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":C.value,"data-autofocus":t.unref(g),"data-testid":`ff-${s.path.value}`,"model-value":t.unref(l)??"","onUpdate:modelValue":A}),t.createSlots({_:2},[(Y=t.unref(u).labelAttributes)!=null&&Y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(I.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,Sp)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"]),t.unref(f)&&E.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(f)),{key:0,schema:y.value,update:A,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),E.value&&!t.unref(f)?(t.openBlock(),t.createBlock(U,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(a).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]))}}}),[["__scopeId","data-v-6321a76a"]]),xp=["innerHTML"],Tp=ce(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["name"]),{value:a,...i}=tt(t.toRef(()=>e.name)),o=n,l=u=>{a.value=u,o("update:modelValue",u)},s=lt(i.path,r);return(u,d)=>{var c;const A=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(A,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Ce.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(a)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(c=t.unref(s).labelAttributes)!=null&&c.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,xp)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),Mp=ce(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],r=Object.fromEntries(n.map(p=>[p,""])),a=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const f=getComputedStyle(p);return Object.fromEntries(n.map(E=>[E,f.getPropertyValue(E)]))}function o(p){["overflow","transition",...n].forEach(f=>p.style.removeProperty(f))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const f=p;Object.assign(f.style,r);const E=i(f);Object.assign(f.style,a),requestAnimationFrame(()=>{Object.assign(f.style,{...E,transition:""})})}function u(p){o(p)}function d(p){const f=p;Object.assign(f.style,{...i(f),overflow:"hidden"})}function A(p){Object.assign(p.style,a)}function c(p){o(p)}return(p,f)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:u,onAfterLeave:c,onBeforeEnter:l,onBeforeLeave:d,onEnter:s,onLeave:A},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),Dp=["data-testid"],Np=["data-testid"],Gp=["data-testid"],Lp=["innerHTML"],Up={class:"ff-object-field-actions"},Fp=["data-testid"],Et=ce(t.defineComponent({__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:r,...a}=tt(t.toRef(n,"name")),{getSchema:i,getDefault:o}=je(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),u=t.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),d=t.computed(()=>{var g,C;if((g=a.ancestors)!=null&&g.value){const I=a.ancestors.value.parent;if(I!=null&&I.path)return((C=i(I.path))==null?void 0:C.type)==="array"}return!1}),A=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:d.value?"reset":"inherit"),c=lt(a.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:A.value}))),p=t.computed(()=>c.value.required?!0:l.value??e.defaultAdded),f=t.computed(()=>e.asChild!==void 0?e.asChild:d.value),E=t.computed(()=>{let g=a.schema.value.fields;return e.omit&&(g=g.filter(C=>!e.omit.includes(Object.keys(C)[0]))),e.fieldsOrder?g.sort((C,I)=>{const x=Object.keys(C)[0],U=Object.keys(I)[0],Y=e.fieldsOrder.indexOf(x),h=e.fieldsOrder.indexOf(U);return Y===-1&&h===-1?0:Y===-1?1:h===-1?-1:Y-h}):g});function y(){l.value=!l.value,l.value?r.value=o(a.path.value):r.value=null}return t.watch(p,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(r!=null&&r.value)}),(g,C)=>{var x;const I=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(Mt)]))),a.error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):f.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:"ff-object-field ff-object-field-as-child","data-testid":`ff-object-${a.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(E.value,U=>(t.openBlock(),t.createBlock(wt,{key:Object.keys(U)[0],name:Object.keys(U)[0]},null,8,["name"]))),128))],!0)],8,Dp)):(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(["ff-object-field",{"ff-object-field-collapsed":!u.value}]),"data-testid":`ff-object-${a.path.value}`},[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${a.path.value}`},[t.createVNode(t.unref(Ce.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${a.path.value}`},{...t.unref(c),required:!1},{"tooltip-attributes":t.unref(c).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c).label)+" ",1)]),_:2},[(x=t.unref(c).labelAttributes)!=null&&x.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Lp)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",Up,[g.collapsible&&p.value?(t.openBlock(),t.createBlock(t.unref(Ce.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${u.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${a.path.value}`,icon:"",onClick:C[0]||(C[0]=U=>s.value=!u.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(we.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(c).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${a.path.value}`,icon:"",onClick:y},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(we.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(we.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,Gp),t.createVNode(Mp,null,{default:t.withCtx(()=>[u.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${a.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(E.value,U=>(t.openBlock(),t.createBlock(wt,{key:Object.keys(U)[0],name:Object.keys(U)[0]},null,8,["name"]))),128))],!0)],8,Fp)):t.createCommentVNode("",!0)]),_:3})],10,Np))],64)}}}),[["__scopeId","data-v-b4c8195e"]]),Hp=["innerHTML"],Yp=ce(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["name"]),{value:a,...i}=tt(t.toRef(()=>e.name)),o=lt(i.path,r),l=t.computed(()=>{var E;const c=(E=i.schema)==null?void 0:E.value;if(c.gt)return{min:c.gt};const[p,f]=c.between??[];return{min:r.min??p,max:r.max??f}}),s=n,u=a.value;function d(c){u!==void 0&&c===""&&Number(c)!==u?(a.value=null,s("update:modelValue",null)):(a.value=Number(c),s("update:modelValue",Number(c)))}const A=wr(i.ancestors);return(c,p)=>{var E;const f=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Ce.KInput),t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(o),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(A),"data-testid":`ff-${i.path.value}`,"model-value":t.unref(a)??"",type:"number","onUpdate:modelValue":d}),t.createSlots({_:2},[(E=t.unref(o).labelAttributes)!=null&&E.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(o).labelAttributes.info},null,8,Hp)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-df4195d0"]]),Vp=["innerHTML"],Dt=ce(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},multiple:{type:Boolean,default:()=>{}},items:{},placeholder:{}},setup(e){const n=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:r}=je(),{value:a,...i}=tt(t.toRef(()=>e.name)),o=lt(i.path,n),l=t.computed(()=>e.items?e.items:i.path?r(i.path.value):[]),s=t.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=i.schema.value)==null?void 0:d.type)==="set"}),u=t.computed(()=>s.value?Ce.KMultiselect:Ce.KSelect);return(d,A)=>{var p;const c=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(c,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(u),t.mergeProps({key:1},t.unref(o),{modelValue:t.unref(a),"onUpdate:modelValue":A[0]||(A[0]=f=>t.isRef(a)?a.value=f: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},[(p=t.unref(o).labelAttributes)!=null&&p.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(d.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(o).labelAttributes.info},null,8,Vp)],!0)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-181f0d06"]]),jp=["data-testid"],Kp=["data-testid"],Qp=["innerHTML"],zp=["data-testid"],Xp=ce(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}}},emits:["change"],setup(e,{expose:n,emit:r}){const a=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{value:i,...o}=tt(t.toRef(a,"name")),l=lt(o.path,t.toRef({...a,...t.useAttrs()})),{i18n:s}=it(),u=r,d=t.ref(c(a.initialValue??(i==null?void 0:i.value)??{}));function A(){return fr("ff-kv-field-")}function c(w){return Object.entries(w).map(([m,P])=>({id:A(),key:m,value:P}))}const p=()=>{d.value.push({id:A(),key:a.defaultKey||"",value:a.defaultValue||""})},f=w=>{const m=d.value.findIndex(P=>P.id===w);m!==-1&&d.value.splice(m,1)},E=()=>{const w=Object.fromEntries(d.value.map(({key:m,value:P})=>[m,P]).filter(([m])=>m));i.value=w,u("change",w)},y=t.useTemplateRef("root");async function g(w,m="key"){var P;y.value&&(await t.nextTick(),(P=y.value.querySelector(`[data-${m}-input="${w}"]`))==null||P.focus())}t.watch(d,E,{deep:!0});function C(){p();const w=d.value.findIndex(({key:m})=>!m);g(w===-1?d.value.length-1:w)}function I(w){w===d.value.length-1&&p(),g(w+1)}const x=t.inject(Ee.AUTOFILL_SLOT,void 0),U=t.computed(()=>{var w,m;return e.showVaultSecretPicker??!!((m=(w=o.schema.value)==null?void 0:w.values)!=null&&m.referenceable)}),Y=t.computed(()=>({referenceable:U.value}));function h(w,m){d.value[w].value=m}return n({reset:()=>{d.value=c(a.initialValue||{})},setValue:w=>{d.value=c(w)}}),(w,m)=>{var B;const P=t.resolveComponent("KAlert"),ne=t.resolveComponent("KLabel"),Z=t.resolveComponent("KButton"),q=t.resolveComponent("KInput");return o.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:o.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:y,class:"ff-kv-field","data-testid":`ff-kv-${o.path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${o.path.value}`},[t.createVNode(ne,t.mergeProps({class:"ff-kv-field-label"},t.unref(l),{"data-testid":`ff-label-${o.path.value}`,"tooltip-attributes":t.unref(l).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(B=t.unref(l).labelAttributes)!=null&&B.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(w.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Qp)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Z,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${o.path.value}`,icon:"",onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(we.AddIcon))]),_:1},8,["data-testid"])],8,Kp),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(O,T)=>(t.openBlock(),t.createElementBlock("div",{key:O.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${o.path.value}.${T}`},[t.createVNode(q,{modelValue:O.key,"onUpdate:modelValue":R=>O.key=R,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":T,"data-testid":`ff-key-${o.path.value}.${T}`,placeholder:w.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(R=>g(T,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(q,{modelValue:O.value,"onUpdate:modelValue":R=>O.value=R,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${o.path.value}.${T}`,"data-value-input":T,placeholder:w.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(R=>I(T),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(x)&&U.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(x)),{key:0,schema:Y.value,update:R=>h(T,R),value:O.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),U.value&&!t.unref(x)?(t.openBlock(),t.createBlock(P,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${o.path.value}`,message:t.unref(s).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(Z,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${o.path.value}.${T}`,icon:"",onClick:R=>f(O.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(we.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,zp))),128))],8,jp))}}}),[["__scopeId","data-v-51cf2493"]]),Jp=["data-testid"],Wp=["innerHTML"],Li=ce(t.defineComponent({inheritAttrs:!1,__name:"TagField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},type:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),a=t.createPropsRestProxy(e,["name"]),i=n,{value:o,...l}=tt(t.toRef(()=>e.name)),s=lt(l.path,t.toRef({...a,...r})),u=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}),d=t.ref("");function A(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function c(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(y){d.value=y;const g=c(y),C=!g.length&&u.value?null:g;o.value=C,i("update:modelValue",C)}const f=wr(l.ancestors),E=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:hr(e.name)==="name");return t.watch(o,y=>{const g=y?A(y):"";A(c(d.value))!==g&&(d.value=g)},{immediate:!0}),(y,g)=>{var I;const C=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(C,{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(t.unref(Ce.KInput),t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":E.value,"data-autofocus":t.unref(f),"data-testid":`ff-${l.path.value}`,"model-value":d.value??"","onUpdate:modelValue":p}),t.createSlots({_:2},[(I=t.unref(s).labelAttributes)!=null&&I.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Wp)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Jp))}}}),[["__scopeId","data-v-6836b714"]]),wt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},setup(e){const n=e,r=tt(t.toRef(n,"name")),a=t.computed(()=>{var i,o;switch((o=(i=r.schema)==null?void 0:i.value)==null?void 0:o.type){case"string":return"one_of"in r.schema.value?Dt:Gi;case"boolean":return"one_of"in r.schema.value?Dt:Tp;case"number":case"integer":return"one_of"in r.schema.value?Dt:Yp;case"array":return Cr;case"set":return hp(r.schema)?Li:Dt;case"record":return Et;case"map":return Xp;default:return}});return(i,o)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(Mt)]))),t.unref(r).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(r).error.message},null,8,["message"])):t.unref(r).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).renderer.value),{key:1,name:mr(t.unref(r).path.value)},null,8,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[a.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.value),{key:0,name:mr(t.unref(r).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(r).path.value} ${t.unref(r).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),Zp=["data-testid"],qp=["data-testid"],_p=["innerHTML"],$p=["data-testid"],ef={class:"ff-array-field-item-content"},tf=["data-index","data-testid"],Cr=ce(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 h;t.useCssVars(w=>({"17c340e7":Y.value}));const r=e,a=n,{i18n:{t:i}}=it(),{getDefault:o}=je(),{value:l,...s}=tt(t.toRef(r,"name")),u=lt(s.path,t.toRef({...r,...t.useAttrs()})),d=t.reactive(new Map),A=t.computed(()=>r.items??t.toValue(l)??[]),c=t.computed(()=>r.appearance==="card"?Ce.KCard:"div");function p(){return fr("ff-array-field-")}function f(w,m){return w!=null&&typeof w=="object"?d.get(w):`ff-array-field-${m}`}function E(w,m){return typeof r.itemLabel=="function"?r.itemLabel(w,m):r.itemLabel||u.value.label||`Item #${m}`}t.watch(A,w=>{w.forEach(P=>{d.has(P)||d.set(P,p())});const m=new Set(w);[...d.keys()].forEach(P=>{m.has(P)||d.delete(P)})},{immediate:!0,deep:!0});const y=t.computed(()=>A.value.map((w,m)=>({hash:`#${f(w,m)}`,title:""}))),g=t.ref((h=y.value[0])==null?void 0:h.hash),C=async()=>{var m;const w=o(ze(s.path.value,gr));Array.isArray(l.value)||(l.value=[]),l.value.push(w),a("add"),r.appearance==="tabs"&&(await t.nextTick(),g.value=(m=y.value[y.value.length-1])==null?void 0:m.hash),await t.nextTick(),U(A.value.length+1)},I=async w=>{var m;Array.isArray(l.value)&&l.value.splice(w,1),a("remove",w),r.appearance==="tabs"&&(g.value=(m=y.value[Math.max(0,w-1)])==null?void 0:m.hash)},x=t.useTemplateRef("root");function U(w){var P;if(!x.value)return;const m=Math.max(0,Math.min(w,A.value.length-1));(P=x.value.querySelector(`[data-index="${m}"] [data-autofocus]`))==null||P.focus()}const Y=t.computed(()=>{const{appearance:w,stickyTabs:m}=r;return w!=="tabs"||m==null||m===!1?null:typeof m=="number"?`${r.stickyTabs}px`:typeof m=="string"?m:"0"});return(w,m)=>{var B;const P=t.resolveComponent("KAlert"),ne=t.resolveComponent("KLabel"),Z=t.resolveComponent("KButton"),q=t.resolveComponent("KTabs");return s.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:x,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${w.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":w.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(ne,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${s.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(B=t.unref(u).labelAttributes)!=null&&B.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(w.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,_p)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Z,{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:C},{default:t.withCtx(()=>[t.createVNode(t.unref(we.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,qp),A.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[w.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(A.value,(O,T)=>(t.openBlock(),t.createBlock(t.unref(c),{key:f(O,T),class:"ff-array-field-item","data-index":T,"data-testid":`ff-array-item-${s.path.value}.${T}`},{default:t.withCtx(()=>[t.createElementVNode("div",ef,[w.$slots.item?t.renderSlot(w.$slots,"item",{key:0,fieldName:String(T),index:T},void 0,!0):(t.openBlock(),t.createBlock(wt,{key:1,name:String(T)},null,8,["name"]))]),t.createVNode(Z,{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}.${T}`,icon:"",onClick:R=>I(T)},{default:t.withCtx(()=>[t.createVNode(t.unref(we.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,$p)):(t.openBlock(),t.createBlock(t.unref(Ce.KCard),{key:1,"data-testid":`ff-array-tab-container-${s.path.value}`},{default:t.withCtx(()=>[t.createVNode(q,{modelValue:g.value,"onUpdate:modelValue":m[0]||(m[0]=O=>g.value=O),"data-testid":`ff-array-tabs-${s.path.value}`,tabs:y.value},t.createSlots({_:2},[t.renderList(A.value,(O,T)=>({name:f(O,T),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":T,"data-testid":`ff-array-item-${s.path.value}.${T}`},[w.$slots.item?t.renderSlot(w.$slots,"item",{key:0,fieldName:String(T),index:T},void 0,!0):(t.openBlock(),t.createBlock(wt,{key:1,name:String(T)},null,8,["name"]))],8,tf)])})),t.renderList(A.value,(O,T)=>({name:`${f(O,T)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(E(O,T))+" ",1),t.createVNode(Z,{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}.${T}`,icon:"",onClick:t.withModifiers(R=>I(T),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(we.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,Zp))}}}),[["__scopeId","data-v-1219bf57"]]),Wt=Symbol(),nf=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=je(),a=t.computed(()=>{const{callouts:l}=r.config;return l==null?[]:l.filter(({name:s})=>{var u;return s&&s!==((u=l[n.index])==null?void 0:u.name)})}),i=t.computed(()=>a.value.map(({[Wt]:l,name:s})=>({value:l,label:s}))),o=t.computed(()=>r.config.callouts[n.index]);return t.watch(i,()=>{o.value.depends_on=o.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(Et,{name:l.fieldName},{depends_on:t.withCtx(u=>[t.createVNode(Dt,t.mergeProps(u,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(u=>[t.createVNode(Et,t.mergeProps(u,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(Dt,t.mergeProps(d,{items:t.unref(Ii)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),rf=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n,getDefault:r}=je();function a(){const i=r("config.callouts.*");i.request.body.custom=i.request.body.custom??{};const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Wt]=Ni())}return(i,o)=>(t.openBlock(),t.createBlock(Cr,{appearance:"tabs","item-label":l=>l.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:a},{item:t.withCtx(({index:l,fieldName:s})=>[t.createVNode(nf,{"field-name":s,index:l},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),Ui=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:r}=t.useSlots(),a=t.inject(vn);if(!a)throw new Error(vn.toString()+"not provided");return r&&a.set(n.match,r),(i,o)=>null}}),Fi=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change"],setup(e,{emit:n}){var d;const r=n,a=t.useSlots(),i=bp(e.schema);t.provide(Ri,i);const o=A=>{var c;return Kn((c=e.config)==null?void 0:c.hasValue)?e.config.hasValue(A):!!A},l=t.computed(()=>{let A=i.getSchema().fields;return e.fieldsOrder?A.sort((c,p)=>{const f=Object.keys(c)[0],E=Object.keys(p)[0],y=e.fieldsOrder.indexOf(f),g=e.fieldsOrder.indexOf(E);return y===-1&&g===-1?0:y===-1?1:g===-1?-1:y-g}):A}),s=t.reactive((d=e.config)!=null&&d.prepareFormData?e.config.prepareFormData(o(e.data)?e.data:i.getDefault()):o(e.data)?e.data:i.getDefault());t.provide(Oi,s),t.provide(yr,dp(a,"default",Mt));const u=new Map;return t.provide(vn,u),t.provide(xi,e.config??{}),t.watch(s,A=>{r("change",t.toValue(A))},{deep:!0,immediate:!0}),(A,c)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(A.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(a)[t.unref(Mt)]))),t.renderSlot(A.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,p=>(t.openBlock(),t.createBlock(wt,{key:Object.keys(p)[0],name:Object.keys(p)[0]},null,8,["name"]))),128))])]),_:3}))}}),af={class:"ff-advanced-fields"},of=ce(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Le.createI18n("en-us",Qe),{getSchema:r}=je(),a=t.ref(!0);return(i,o)=>(t.openBlock(),t.createBlock(t.unref(Ce.KCollapse),{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=l=>a.value=l),"trigger-label":a.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",af,[t.unref(r)("instance_name")?(t.openBlock(),t.createBlock(wt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(r)("protocols")?(t.openBlock(),t.createBlock(wt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(r)("tags")?(t.openBlock(),t.createBlock(Li,{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"]]),lf=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const r=n,a={prepareFormData:l,hasValue:s},{i18n:{t:i}}=it();function o(d,A=!1){return d.reduce((c,{[Wt]:p,name:f})=>(A?c[f]=p:c[p]=f,c),{})}function l(d){var f;const A=yi(d);if(!((f=A.config)!=null&&f.callouts))return A;const{callouts:c}=A.config;c.forEach(E=>{E.request.body.custom=E.request.body.custom??{},E[Wt]=Ni()});const p=o(c,!0);return c.forEach(E=>{E.depends_on=E.depends_on.map(y=>p[y])}),A}function s(d){return!!(d!=null&&d.config)}function u(d){var p;if(!d)return;const A=yi(d);if(!((p=A.config)!=null&&p.callouts))throw new Error("data is not correct");const c=o(A.config.callouts);A.config.callouts=A.config.callouts.map(f=>{const{[Wt]:E,depends_on:y,...g}=f;return{depends_on:y.map(C=>c[C]).filter(C=>C!=null),...g}}),r("change",A)}return(d,A)=>(t.openBlock(),t.createBlock(Fi,{class:"rc-config-form",config:a,data:d.data,schema:d.schema,tag:"div",onChange:u},{[t.unref(Mt)]:t.withCtx(()=>[t.createVNode(Ui,{match:({path:c})=>c.endsWith("by_lua")},{default:t.withCtx(c=>[t.createVNode(Gi,t.mergeProps(c,{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(Ui,{match:({path:c})=>["cluster_nodes","sentinel_nodes"].some(p=>c.endsWith(p))},{default:t.withCtx(c=>[t.createVNode(Cr,t.mergeProps(c,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(Et,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(rf),t.createVNode(Et,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(Et,{appearance:"card",name:"cache"},{redis:t.withCtx(c=>[t.createVNode(Et,t.mergeProps(c,{"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(of)]),_:2},1032,["data","schema"]))}}),sf={class:"sc-form-pinned-fields"},cf={class:"sc-form-config-form"},uf=ce(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Le.createI18n("en-us",Qe),r=e;t.useSlots();function a(A){return t.computed(()=>({fields:t.toValue(A).map(c=>{var p;return(p=r.formSchema)==null?void 0:p.fields.find(f=>f.model===c)}).filter(Boolean)}))}const o=a(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const A=r.schema;A.fields=A.fields.filter(p=>l.includes(Object.keys(p)[0])),A.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 c=A.fields.find(p=>Object.keys(p)[0]==="protocols");return c&&(c.protocols.help=c.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:c.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),c.protocols.description=n("plugins.form.fields.protocols.help")),A}),u=t.ref(!1);function d(A){return pr(A,["config","instance_name","partials","protocols","tags"])}return(A,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",sf,[t.createVNode(t.unref(Ee.VueFormGenerator),{model:A.formModel,options:A.formOptions,schema:t.unref(o),onModelUpdated:A.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Ce.KCollapse),{modelValue:u.value,"onUpdate:modelValue":c[1]||(c[1]=p=>u.value=p),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",cf,[t.renderSlot(A.$slots,"default",{data:d(A.model),schema:s.value,onChange:c[0]||(c[0]=(...p)=>A.onFormChange&&A.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-69e89166"]]),Af=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,r=t.useSlots();return t.provide(Ee.AUTOFILL_SLOT,r==null?void 0:r[Ee.AUTOFILL_SLOT_NAME]),(a,i)=>(t.openBlock(),t.createBlock(uf,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(o=>[t.createVNode(lf,t.normalizeProps(t.guardReactiveProps(o)),null,16)]),_:1},16))}}),df={};function pf(e,n){return t.openBlock(),t.createElementBlock("div",null,"TODO")}const ff=ce(df,[["render",pf]]),gf={class:"ff-form-section"},mf={class:"header"},hf={key:0,class:"step"},yf={class:"header-content"},bf={class:"header-title"},Ef={key:0,class:"header-description"},wf={key:1,class:"header-extra"},Cf={class:"content"},Hi=ce(t.defineComponent({__name:"FormSection",props:{step:{},title:{},description:{}},setup(e){const n=t.useSlots();return(r,a)=>(t.openBlock(),t.createElementBlock("div",gf,[t.createElementVNode("header",mf,[r.step!=null?(t.openBlock(),t.createElementBlock("div",hf,t.toDisplayString(r.step),1)):t.createCommentVNode("",!0),t.createElementVNode("div",yf,[t.createElementVNode("h2",bf,[t.renderSlot(r.$slots,"title",{},()=>[t.createTextVNode(t.toDisplayString(r.title),1)],!0)]),r.description||n.description?(t.openBlock(),t.createElementBlock("div",Ef,[t.renderSlot(r.$slots,"description",{},()=>[t.createTextVNode(t.toDisplayString(r.description),1)],!0)])):t.createCommentVNode("",!0)]),n.extra?(t.openBlock(),t.createElementBlock("div",wf,[t.renderSlot(r.$slots,"extra",{},void 0,!0)])):t.createCommentVNode("",!0)]),t.createElementVNode("div",Cf,[t.renderSlot(r.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-cb7f76f1"]]),Bf={class:"ff-standard-layout"},If={class:"enabled"},vf={class:"scope"},Pf={key:0,class:"scope-detail"},kf=ce(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}=Le.createI18n("en-us",Qe),r=e,a=t.useSlots();t.provide(Ee.AUTOFILL_SLOT,a==null?void 0:a[Ee.AUTOFILL_SLOT_NAME]);const i=t.computed(()=>{var g;return{fields:(g=r.formSchema)==null?void 0:g.fields.filter(C=>C.model==="enabled")}}),o=t.computed(()=>{var g;return(g=r.formSchema)==null?void 0:g.fields.find(C=>C.model==="selectionGroup")}),l=t.computed(()=>(o.value.fields||[]).map(({label:g,description:C})=>({label:g,description:C}))),s=t.computed(()=>o.value.fields[1]),u=t.computed(()=>{var C;const g=["instance_name","protocols","tags"];return{fields:(C=r.formSchema)==null?void 0:C.fields.filter(I=>g.includes(I.model))}}),d=["config"],A=t.computed(()=>{const g=r.schema;return g.fields=g.fields.filter(C=>d.includes(Object.keys(C)[0])),g});function c(g){return pr(g,["config","partials"])}const p=t.ref(!1),f=t.ref(!0),E=pr(r.formModel,["service-id","route-id","consumer-id","consumer_group-id"]);function y(g,C){E[C]=g,r.onModelUpdated(g,C)}return t.watch(p,g=>{g?Object.keys(E).forEach(C=>{r.onModelUpdated(E[C],C)}):Object.keys(E).forEach(C=>{r.onModelUpdated("",C)})}),(g,C)=>{const I=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Bf,[t.createVNode(Hi,{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",If,[t.createVNode(t.unref(Ee.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",vf,[t.createVNode(t.unref(Ce.KRadio),t.mergeProps({modelValue:p.value,"onUpdate:modelValue":C[0]||(C[0]=x=>p.value=x),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(Ce.KRadio),t.mergeProps({modelValue:p.value,"onUpdate:modelValue":C[1]||(C[1]=x=>p.value=x),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),p.value?(t.openBlock(),t.createElementBlock("div",Pf,[t.createVNode(t.unref(Ee.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:y},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(I,{modelValue:f.value,"onUpdate:modelValue":C[2]||(C[2]=x=>f.value=x),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ee.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:u.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[a["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,a["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,a["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(Hi,{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:c(g.model),schema:A.value,onChange:C[3]||(C[3]=(...x)=>g.onFormChange&&g.onFormChange(...x))},void 0,!0)]),_:2},[a["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,a["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,a["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-3644f36d"]]);typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Of=e=>e!=null;/*!
|
|
9
|
+
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:Pt.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
10
|
+
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Pt.tags}]},yl={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"]}}]},na={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
11
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:dt}]},bl={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."}}]},Xe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",..._.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",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",..._.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"]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",..._.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",..._.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"]]},..._.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"]]},..._.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"]]},..._.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"]]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",..._.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",..._.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",..._.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",..._.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"]]},..._.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",..._.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"]]},..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",..._.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",..._.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,..._.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,..._.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,..._.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,..._.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,..._.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,..._.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,..._.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,..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",..._.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"]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",..._.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"]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",..._.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"]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",..._.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"]]},..._.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",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",..._.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",..._.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",..._.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,..._.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,..._.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,..._.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"]]]},..._.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",isEnterprise:!1,nameKey:"plugins.meta.kafka-consume.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",isEnterprise:!1,nameKey:"plugins.meta.confluent-consume.name",..._.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",isEnterprise:!1,nameKey:"plugins.meta.request-callout.name",..._.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,..._.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,..._.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",isEnterprise:!1,nameKey:"plugins.meta.datakit.name",..._.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,..._.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",isEnterprise:!1,nameKey:"plugins.meta.solace-upstream.name",..._.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,..._.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]}},Tt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Xr,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:ut(Xr),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Qr,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:ut(Qr)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Zr,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:ut(Zr)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:na,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:ut(na)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:ta,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:ut(ta)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:ea,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:ut(ea)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:gl,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},_l={acls:ll,basicauth_credentials:sl,keyauth_credentials:fl,keyauth_enc_credentials:bl,oauth2_credentials:yl,hmacauth_credentials:ml,jwt_secrets:hl},kl=()=>{const{i18n:{t:e}}=at(),n={},r={};for(const[i,o]of Object.entries(Xe))n[i]={...o,name:e(o.nameKey),description:e(o.descriptionKey)};for(const[i,o]of Object.entries(Tt))r[i]={...o,name:e(o.nameKey),title:e(o.titleKey)};return{pluginMetaData:n,credentialMetaData:r,credentialSchemas:Tt,getDisplayName:i=>{var o;return((o=n[i])==null?void 0:o.name)||i}}},jt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Cl={"config-prompts-prepend":{...jt,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":{...jt,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"}]}}}},Al={"config-templates":{...jt,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"}]}}}},wl={shamefullyTransformPayload:({originalModel:e,model:n,payload:r,schema:a})=>{const i=l=>{var s;return(s=a[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},o=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));o("config-embeddings")||(r.config.embeddings=null),o("config-vectordb")||(r.config.vectordb=null)}},El={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:Pt.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"}},we={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"},gn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Sl={"config-metrics":{...gn,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"}]}}}},Pl={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Tl={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},vl={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Nl={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Ol={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ra=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),Ol),hn={"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"}},xl={"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":{}},Il=["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]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),xl),aa={"config-add-json":{...we,label:"Config.Add.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...we,label:"Config.Append.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...we,label:"Config.Remove.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...we,label:"Config.Rename.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...we,label:"Config.Replace.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}}},Rl={...aa,"config-allow-json":{...we,label:"Config.Allow.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...we,label:"Config.Transform.Functions",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...we,label:"Config.Transform.Json",inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}}},Bl={"config-rules":{...jt,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"}]}}}},Ll={"config-session_redis_cluster_nodes":{...jt,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"}]}}}},Dl={"config-metrics":{...gn,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"]}]}}}},$l={"config-metrics":{...gn,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"]}]}}}},Vl={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},Fl={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},pt=e=>{var r,a;const n=(a=(r=e==null?void 0:e.confluent)==null?void 0:r.authentication)==null?void 0:a.basic;n&&!n.password&&!n.username&&delete e.confluent.authentication.basic},Kl={"config-message_by_lua_functions":{...we,inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},Ul={"config-message_by_lua_functions":{...we,inputAttributes:{...we.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},jl={shamefullyTransformPayload:({payload:e})=>{var n,r,a;pt((n=e.config)==null?void 0:n.schema_registry),(a=(r=e.config)==null?void 0:r.topics)==null||a.forEach(i=>{pt(i==null?void 0:i.schema_registry)})}},Ml={shamefullyTransformPayload:({payload:e})=>{var n,r,a;pt((n=e.config)==null?void 0:n.schema_registry),(a=(r=e.config)==null?void 0:r.topics)==null||a.forEach(i=>{pt(i==null?void 0:i.schema_registry)})}},Gl={shamefullyTransformPayload:({payload:e})=>{var n;pt((n=e.config)==null?void 0:n.schema_registry)}},ql={"config-static_tags":{...gn,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"}]}}}},Hl={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm"};function ia(e,n){const r=Hl[e];if(typeof r=="string")return r;if(n.includes(e))return r.component}const Vn=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),oa={DATAKIT_ENABLE_VISUAL_EDITOR:Symbol("DATAKIT_ENABLE_VISUAL_EDITOR")};function la(){return t.inject(Vn,[])}function zl(e){t.provide(Vn,e)}const Wl=(e,n)=>{const r=e.model.startsWith("config-"),a=n.model.startsWith("config-");return r&&!a?1:!r&&a?-1:0},sa=(e,n)=>(e.order??0)-(n.order??0),ca=(e,n)=>Wl(e,n)||sa(e,n)||e.model.localeCompare(n.model),Se={useI18n:at,usePluginMetaData:kl,usePluginHelpers:Wr,useSchemas:e=>{const{capitalize:n}=$.useStringHelpers(),{convertToDotNotation:r}=Wr(),{i18n:{t:a}}=at(),i=la(),o={"application-registration":{overwriteDefault:!0,formSchema:{...El}},datadog:{...Sl},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Dl},"statsd-advanced":{...$l},"route-by-header":{...Bl},"ai-prompt-decorator":{...Cl},"ai-prompt-template":{...Al},"ai-proxy-advanced":{...wl},"vault-auth":{...Fl},"oas-validation":{...Nl},mocking:{...vl},"rate-limiting":{...hn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":hn["config-consumer_groups"]}:{...hn},"graphql-rate-limiting-advanced":{...Pl},"injection-protection":{...Tl},"response-ratelimiting":{...hn},"pre-function":{...ra},"post-function":{...ra},"request-transformer-advanced":{...Il},"response-transformer":{...aa},"response-transformer-advanced":{...Rl},zipkin:{...ql},"upstream-oauth":{...Vl},saml:{...Ll},"kafka-upstream":{...Kl},"key-auth":pl(e),confluent:{...Ul},"confluent-consume":{...jl},"kafka-consume":{...Ml},"kafka-log":{...Gl}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(y,C,h)=>{let P={};(C||y)&&(P=C||(y.fields?y.fields:y));const ne=l().concat(y.blacklist?y.blacklist:[]),J=Object.keys(P).filter(B=>!ne.includes(B)),X=J.indexOf("comparator");X>-1&&J.splice(X,1);let w={fields:[]};const v={};J.forEach(B=>{p(P[B],B,P,v,w,h)});const I=v.name,N=Xe[I],F=[],H=B=>{const O=["cluster-cache"];for(const R of O)if(B.model.includes(R))return!1;return new RegExp("(?<=-redis-).*").test(B.model)};if(w._supported_redis_partial_type=y._supported_redis_partial_type,w._redis_partial_path=y._redis_partial_path,ke.getSharedFormName(I)||ia(I,i)||N!=null&&N.useLegacyForm||e!=null&&e.credential){if(N!=null&&N.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&y._supported_redis_partial_type){for(const B of w.fields)if(H(B)){F.push(B);continue}w.fields=w.fields.filter(B=>!H(B)),F.length&&w.fields.push({id:"_redis",fields:F,model:"__redis_partial",pluginType:y._isCustomPlugin?"custom":"bundled",redisType:y._supported_redis_partial_type,redisPath:y._redis_partial_path})}w.fields.sort((B,O)=>(B.order=B.order||0,O.order=O.order||0,B.order-O.order))}else{const B=[],O=[],R=[],Y=[],se={};if(N!=null&&N.fieldRules){const j=[...N.fieldRules.atLeastOneOf??[],...N.fieldRules.onlyOneOf??[],...N.fieldRules.mutuallyRequired??[]];if(N.fieldRules.onlyOneOfMutuallyRequired)for(const K of N.fieldRules.onlyOneOfMutuallyRequired)j.push(...K);for(const K of j)for(const z of K)se[z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const j of w.fields){if(e!=null&&e.enableRedisPartial&&y._supported_redis_partial_type&&H(j)){Y.push(j);continue}if(j.pinned){B.push(j);continue}if(j.required||se[j.model]!==void 0){se[j.model]===!1&&(se[j.model]=!0),O.push(j);continue}R.push(j)}Y.length&&R.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:y._isCustomPlugin?"custom":"bundled",redisType:y._supported_redis_partial_type,redisPath:y._redis_partial_path,order:-1});const be=Object.entries(se).filter(([,j])=>!j).map(([j])=>j.replace(/-/g,".").replace(/_/g,"-"));be.length>0&&console.warn(`Unknown checked fields for plugin ${I}: ${be.join(", ")}`);const de=[];B.length>0&&de.push({fields:B.sort(sa)}),(O.length>0||R.length>0)&&de.push({fields:O.sort(ca),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:R.sort(ca),triggerLabel:{expand:a("plugins.form.grouping.advanced_parameters.view"),collapse:a("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),w={groups:de}}return{schema:w,model:v,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},u=y=>Array.isArray(y.default)||y.default!=null&&typeof y.default!="object"&&y.default!=="function",p=(y,C,h,P,ne,J)=>{const X=u(y);return P[C]=X?y.default:null,y.id=C,y.model=C,y.fields&&y.type==="record"?c(y,C,h,P,ne,J):(h[C]=y,V(y,P),J&&J[C]&&d(h[C],J[C]),ne.fields.push(y)),h},d=(y,C)=>(C&&(Object.assign(y,C),C.label&&(y.label=C.label)),y),c=(y,C,h,P,ne,J)=>{y.fields.forEach(X=>{Object.keys(X).forEach(w=>{const v=X[w];h=p(v,C+"-"+w,h,P,ne,J)})})},f=(y,C)=>{y.type="input",y.inputType="hidden",y.styleClasses="kong-form-hidden-field-wrapper";const h=e==null?void 0:e.entityId;C[y.model]=h?{id:h}:null},m=y=>{y.type="input",y.inputType="number",y.between&&y.between.length===2&&(y.min=y.between[0],y.max=y.between[1])},k=y=>{Object.prototype.hasOwnProperty.call(y,"one_of")?(y.type="select",y.values=y.one_of,y.selectOptions={hideNoneSelectedText:!0}):(y.type="input",y.inputType="text")},b=y=>{y.type="checkbox",y.default=!0,y.required=!1},g=y=>{if(y.type="object-advanced",y.values.type==="array"){const{type:C}=y.values.elements||{};y.schema={fields:[{schema:{fields:[{...we,model:y.model,valueArrayType:C==="integer"?"number":C||"string",inputAttributes:{...we.inputAttributes,type:C==="integer"?"number":"text",inputMode:C==="integer"?"numeric":"text"}}]}}]}}else y.values.fields&&(y.schema={fields:[{type:"object",model:"object",schema:{fields:y.values.fields.map(C=>{const h=Object.keys(C)[0];return{model:h,type:"input",label:n(h),placeholder:h,inputType:C[h].type}})}}]})},A=y=>y.fields.reduce((C,h)=>(h.fields&&h.fields.forEach(P=>{C[P.model]=P}),h.model&&(C[h.model]=h),C),{}),E=(y,C)=>{if(!ke.customFields.includes(y.model))return;const h=A(y);ke.customFields.forEach(P=>{Object.keys(h).forEach(ne=>{const J=u(h[ne]);C[ne]=J?h[ne].default:null}),delete C[P]})},x=(y,C)=>y.inputType==="hidden"?"":r(n(y.label||C.replace(/_/g," "))),V=(y,C)=>{switch(E(y,C),y.type){case"foreign":f(y,C);break;case"number":m(y),y.attributes={step:"any"};break;case"integer":m(y);break;case"string":k(y);break;case"boolean":b(y);break;case"map":g(y);break}y.inputType==="foreign"&&f(y,C),y.label=x(y,y.model)};function U(y,C){if(C==null||C.type&&C.type!=="record"||typeof y!="object"||y==null)return y;const h={};for(const P of C.fields){const ne=Object.keys(P)[0],J=P[ne];J.type==="record"?h[ne]=U(y[ne],J):J.type==="array"&&Array.isArray(y[ne])&&J.elements.type==="record"?h[ne]=y[ne].map(X=>U(X,J.elements)):h[ne]=y[ne]}return h}return{buildFormSchema:p,parseSchema:s,customSchemas:o,typedefs:Pt,pruneRecord:U}},useExperimentalFreeForms:la,useProvideExperimentalFreeForms:zl},Oe="/v2/control-planes/{controlPlaneId}/core-entities",Re="/{workspace}",Pe={list:{konnect:{all:`${Oe}/plugins`,forEntity:`${Oe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Re}/plugins`,forEntity:`${Re}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Oe}/v1/available-plugins`,streamingCustomPlugins:`${Oe}/custom-plugins`,schemaCustomPluginItem:`${Oe}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${Oe}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Re}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Oe}/plugins`,forEntity:`${Oe}/{entityType}/{entityId}/plugins`},edit:{all:`${Oe}/plugins/{id}`,forEntity:`${Oe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Oe}/{resourceEndpoint}`,edit:`${Oe}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Oe}/v1/schemas/json/plugin/validate`,entityGetOne:`${Oe}/{entity}/{id}`,entityGetAll:`${Oe}/{entity}?size=1000`},kongManager:{create:{all:`${Re}/plugins`,forEntity:`${Re}/{entityType}/{entityId}/plugins`},edit:{all:`${Re}/plugins/{id}`,forEntity:`${Re}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Re}/schemas/plugins/{plugin}`,credential:{create:`${Re}/{resourceEndpoint}`,edit:`${Re}/{resourceEndpoint}/{id}`},credentialSchema:`${Re}/schemas/{plugin}`,validate:`${Re}/schemas/plugins/validate`,entityGetOne:`${Re}/{entity}/{id}`,entityGetAll:`${Re}/{entity}`}},item:{konnect:{all:`${Oe}/plugins/{id}`,forEntity:`${Oe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Re}/plugins/{id}`,forEntity:`${Re}/{entityType}/{entityId}/plugins/{id}`}}},Yl={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},Jl={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},Xl={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},Ql={title:"Vaults",list:{toolbar_actions:{new_vault:"New vault"},table_headers:{prefix:"Prefix",name:"Vault Type",description:"Description",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Vault",description:"Improve the security of your Kong Gateway deployment with centralized secrets."},empty_state_v2:{title:"Configure your first vault",group:"Vaults created in gateways within this group will automatically appear here.",description:"Vaults securely and centrally store sensitive information, such as credentials, tokens, and keys, to simplify secrets management.",create_cta:"New vault"}}},Zl={title:"Secrets",list:{toolbar_actions:{new_secret:"Store New Secret"},table_headers:{key:"Secret Key",updated_at:"Updated At"},empty_state:{title:"No Secrets Stored",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}},form:{info:{title:"Secret",description:"Enter the secret key and secret value to be stored in Konnect vault"},fields:{key:{label:"Key",placeholder:"Enter key"},value:{label:"Value",placeholder:"Enter value here, can be simple values or multi-line"}},hint:"Once saved, the secret value will not be visible"}},es={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},ts={vault_type:"Vault Type"},ns={sections:{general:{title:"General Information",description:"General information helps identify and manage this Vault instance."},config:{title:"Vault Configuration",description:"Select a type of Vault and configure properties specific to each type of Vault."}},fields:{prefix:{label:"Prefix",placeholder:"Enter a unique prefix for this vault",help:"e.g. my-vault",tooltip:"The reference prefix. You need this prefix to access secrets stored in this vault. For example, {vault://<your-prefix>/<some-secret>}."},description:{label:"Description",placeholder:"Enter some description for this vault"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"}},config:{konnect:{label:"Konnect",description:"Access secrets stored directly in Konnect's unified platform to easily reference in Kong Gateway configuration."},env:{label:"Environment Variables",description:"Access secrets stored via variables to be made available in Kong Gateway at runtime.",fields:{prefix:{label:"Environment Variable Prefix",placeholder:"Enter your environment variable vault prefix",tooltip:"Data plane will access all the environment variables starting with this prefix."}}},aws:{label:"AWS Secrets Manager",description:"Access secrets stored in AWS Secrets Manager for Kong Gateway configuration.",fields:{region:{label:"Region",placeholder:"Select an AWS region",tooltip:"The AWS region your vault is located in",locations:{"us-east-1":{location:"N. Virginia"},"us-east-2":{location:"Ohio"},"us-west-1":{location:"N. California"},"us-west-2":{location:"Oregon"},"af-south-1":{location:"Cape Town"},"ap-east-1":{location:"Hong Kong"},"ap-southeast-3":{location:"Jakarta"},"ap-south-1":{location:"Mumbai"},"ap-northeast-1":{location:"Tokyo"},"ap-northeast-2":{location:"Seoul"},"ap-northeast-3":{location:"Osaka"},"ap-southeast-1":{location:"Singapore"},"ap-southeast-2":{location:"Sydney"},"ca-central-1":{location:"Canada"},"eu-central-1":{location:"Frankfurt"},"eu-west-1":{location:"Ireland"},"eu-west-2":{location:"London"},"eu-west-3":{location:"Paris"},"eu-south-1":{location:"Milan"},"eu-north-1":{location:"Stockholm"},"me-south-1":{location:"Bahrain"},"sa-east-1":{location:"São Paulo"},"us-gov-east-1":{location:"US East"},"us-gov-west-1":{location:"US West"}}},endpoint_url:{label:"Endpoint URL",tooltip:'The AWS SecretsManager service endpoint url. If not specified, the value used by vault will be the official AWS SecretsManager service url which is `https://secretsmanager.<region>.amazonaws.com`. You can specify a complete URL(including the "http/https" scheme) to override the endpoint that vault will connect to.'},assume_role_arn:{label:"Assume Role ARN",tooltip:"The target AWS IAM role ARN that will be assumed. Typically this is used for operating between multiple roles or cross-accounts. If you are not using assume role you should not specify this value."},role_session_name:{label:"Role Session Name",tooltip:"The role session name used for role assuming."},sts_endpoint_url:{label:"STS Endpoint URL",tooltip:"The custom STS endpoint URL used for role assuming in AWS Vault. Note that this value will override the default STS endpoint URL(which should be `https: //sts.amazonaws.com`, or `https: //sts.<region>.amazonaws.com` if you have `AWS_STS_REGIONAL_ENDPOINTS` set to `regional`). If you are not using private VPC endpoint for STS service, you should not specify this value."}}},gcp:{label:"Google Secret Manager",description:"Access secrets stored in Google Secret Manager for Kong Gateway configuration.",fields:{project_id:{label:"Project ID",placeholder:"Enter your Google Cloud Project ID",tooltip:{text:"Visit your Google API Console and select {italic-text} in the projects list to see your project ID",italicText:"Manage all projects"}}}},hcv:{label:"HashiCorp Vault",description:"Access secrets stored in HashiCorp Vault for Kong Gateway configuration.",fields:{protocol:{label:"Protocol"},host:{label:"Host"},port:{label:"Port"},mount:{label:"Mount"},kv:{label:"Kv"},namespace:{label:"Namespace"},auth_method:{label:"Authentication Method"},token:{label:"Token"},kube_role:{label:"Kubernetes Role"},kube_auth_path:{label:"Kubernetes Auth Path"},kube_api_token_file:{label:"Kubernetes API Token File"},approle_auth_path:{label:"App Role Auth Path"},approle_role_id:{label:"App Role Role ID"},approle_secret_id:{label:"App Role Secret ID"},approle_secret_id_file:{label:"App Role Secret ID File"},approle_response_wrapping:{label:"App Role Response Wrapping"},cert_auth_cert:{label:"Cert"},cert_auth_cert_key:{label:"Cert Key"},cert_auth_role_name:{label:"Role Name"}}},azure:{label:"Azure Vault",description:"Access secrets stored in Azure Key Vault for Kong Gateway configuration.",fields:{location:{label:"Location"},vault_uri:{label:"Vault URI"},credential_prefix:{label:"Credential Prefix"},type:{label:"Type",placeholder:"Select a type"},client_id:{label:"Client ID"},tenant_id:{label:"Tenant ID"}}},conjur:{label:"Conjur Vault",description:"Access secrets stored in Conjur Key Vault for Kong Gateway configuration.",fields:{endpoint_url:{label:"Conjur Server",tooltip:"The CyberArk Conjur backend url. Accepts http or https."},login:{label:"Workload Identity",tooltip:"Identity of the workload or host authenticating to Conjur. In this case Kong is the workload/host."},api_key:{label:"API Key",tooltip:"The API key issued to the workload."},account:{label:"Conjur Account",tooltip:"The Conjur account for which the token will be issued. This is the identifier provided during conjur configuration."}}},advancedFields:{title:"View Advanced Fields",ttl:"TTL",ttlTooltip:`Time-to-live (in seconds) of a secret from the vault when it's cached. The special value of 0 means "no rotation" and it's the default. When using non-zero values, it is recommended that they're at least 1 minute.`,negTtl:"Negative TTL",negTtlTooltip:"Time-to-live (in seconds) of a vault miss (no secret). Negatively cached secrets will remain valid until neg_ttl is reached, after which Kong will attempt to refresh the secret again. The default value for neg_ttl is 0, meaning no negative caching occurs.",resurrectTtl:"Resurrect TTL",resurrectTtlTooltip:"Time (in seconds) for how long secrets will remain in use after they are expired (config.ttl is over). This is useful when a vault becomes unreachable, or when a secret is deleted from the Vault and isn't replaced immediately. On both cases, the Gateway will keep trying to refresh the secret for resurrect_ttl seconds. After that, it will stop trying to refresh. We recommend assigning a sufficiently high value to this configuration option to ensure a seamless transition in case there are unexpected issues with the Vault. The default value for resurrect_ttl is 1e8 seconds, which is about 3 years."},commonFields:{base64_decode:{label:"Base64 Decode",tooltip:"Decode all secrets in this vault as base64, useful for binary data. If some of the secrets are not base64 encoded, an error will occur when using them. It's recommended to create a separate vault for base64 secrets."}}},unavailable:"This vault provider is available on Enterprise."},rs={title:"Look up Key in Vault",vault:{label:"Vault",placeholder:"Select a vault"},secret_id:{label:"Secret ID",input_placeholder:"Enter a secret ID",select_placeholder:"Select or enter a complete secret ID"},optional_secret_key:{label:"Secret Key",placeholder:"Enter the key or key path to access a nested secret value",help:"Optional. e.g. tokens, tokens/refresh_token"},fetch_error:{vaults:"Could not fetch available vaults",secrets:"Could not fetch available secrets",vaults_and_secrets:"Could not fetch available vaults and secrets"},no_results:"No results found",actions:{use_key:"Use Key"},provider:{complete_action:"Look up {cta}",cta:"Key in Vault"}},as={actions:Yl,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:Jl,search:Xl,vaults:Ql,secrets:Zl,copy:es,labels:ts,form:ns,vault_secret_picker:rs};function is(){const e=$e.createI18n("en-us",as);return{i18n:e,i18nT:$e.i18nTComponent(e)}}const ua={useI18n:is},Fn="/v2/control-planes/{controlPlaneId}/core-entities",da="/v2/control-planes/{controlPlaneId}/config-stores",Kn="/{workspace}",pa={list:{konnect:{getAll:`${Fn}/vaults`,deleteConfigStore:`${da}/{id}?force=true`},kongManager:{getAll:`${Kn}/vaults`}},form:{konnect:{create:`${Fn}/vaults`,createConfigStore:da,edit:`${Fn}/vaults/{id}`},kongManager:{create:`${Kn}/vaults`,edit:`${Kn}/vaults/{id}`}}},fa=(e,n)=>{const r=e.__vccOpts||e;for(const[a,i]of n)r[a]=i;return r},yn="/v2/control-planes/{controlPlaneId}",ma={getVault:{konnect:`${yn}/core-entities/vaults/{id}`},list:{konnect:`${yn}/config-stores/{id}/secrets`},form:{konnect:{create:`${yn}/config-stores/{id}/secrets`,edit:`${yn}/config-stores/{id}/secrets/{secretId}`}}},os={class:"vault-secret-picker-provider"},ls=t.defineComponent({__name:"VaultSecretPickerProvider",props:{value:{},disabled:{type:Boolean},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const r=e,a=n,{i18n:{t:i},i18nT:o}=ua.useI18n();return(l,s)=>(t.openBlock(),t.createElementBlock("div",os,[t.createVNode(t.unref(o),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"vault-secret-picker-provider-action":!0,disabled:r.disabled}),onClick:s[0]||(s[0]=()=>!r.disabled&&a("open",r.value,r.update))},t.toDisplayString(t.unref(i)("vault_secret_picker.provider.cta")),3)]),_:1})]))}}),Un=fa(ls,[["__scopeId","data-v-66a1e406"]]),ss=e=>{let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Error("Invalid secret reference: must be enclosed in curly braces");if(n=n.substring(1,n.length-1).trim(),!n.startsWith("vault://"))throw new Error("Invalid secret reference: must start with vault://");const r=new URL(`http://${n.substring(8)}`);if(!r)throw new Error("Invalid secret reference: must have a vault prefix");const a=r.host,[,i,...o]=r.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:i||void 0,optionalSecretKey:o==null?void 0:o.join("/")}},cs=e=>{if(!e.vaultPrefix)throw new Error("Invalid secret reference: must have a vault prefix");let n=`vault://${e.vaultPrefix}`;return e.secretId&&(n=`${n}/${e.secretId}`),e.optionalSecretKey&&(n=`${n}/${e.optionalSecretKey}`),`{${n}}`},us={key:1,class:"inputs-wrapper"},ds={"data-testid":"no-search-results"},ps={class:"k-select-selected-item-label"},fs={class:"vault-secret-picker-vault-dropdown-item"},ms={class:"select-item-label"},gs={class:"select-item-description"},hs={class:"select-item-description"},ys={"data-testid":"no-search-results"},bs=t.defineComponent({__name:"VaultSecretPicker",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")},setup:{type:null,required:!1,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){var r;const{i18n:{t:a}}=ua.useI18n(),i=e,o=n,{axiosInstance:l}=$.useAxios({validateStatus:N=>N===404||N>=200&&N<300,...(r=i.config)==null?void 0:r.axiosRequestConfig}),s=t.ref(!1),u=t.ref(""),p=t.ref(""),d=t.ref(""),c=t.ref(),f=t.computed(()=>{var N,F;return i.config.app==="konnect"?ma.list[i.config.app].replace(/{id}/gi,((F=(N=c.value)==null?void 0:N.config)==null?void 0:F.config_store_id)??""):"<not_applicable>"}),m=t.computed(()=>{if(g&&U)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(g)return a("vault_secret_picker.fetch_error.vaults");if(U)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:k,loading:b,error:g,loadItems:A,results:E}=$.useDebouncedFilter(i.config,pa.list[i.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:x,loading:V,error:U,loadItems:y,results:C}=$.useDebouncedFilter(i.config,f,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),h=t.computed(()=>{var N;let F=!1;const H=((N=E.value)==null?void 0:N.map(B=>(B.prefix===u.value&&(F=!0),{label:B.prefix,value:B.prefix,vault:B})))??[];return!F&&c.value&&H.push({label:c.value.prefix,value:c.value.prefix,vault:c.value}),H}),P=t.computed(()=>{var N;let F=!1;const H=((N=C.value)==null?void 0:N.map(B=>(B.key===p.value&&(F=!0),{label:B.key,value:B.key})))??[];return!F&&p.value&&H.push({label:p.value,value:p.value}),H}),ne=t.computed(()=>{var N;return((N=c==null?void 0:c.value)==null?void 0:N.name)==="konnect"}),J=t.computed(()=>!!c.value&&!!p.value),X=N=>N.label?`${N.label} - (${N.vault.name} - ${N.vault.id})`:N.value,w=N=>{var F,H;let B=`${i.config.apiBaseUrl}${pa.form[i.config.app].edit}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,((F=i.config)==null?void 0:F.controlPlaneId)||""):i.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,(H=i.config)!=null&&H.workspace?`/${i.config.workspace}`:"")),B.replace(/{id}/gi,N)},v=(N,F)=>{var H;return i.config.app!=="konnect"?"<not_applicable>":`${i.config.apiBaseUrl}${ma.form[i.config.app].edit}`.replace(/{controlPlaneId}/gi,((H=i.config)==null?void 0:H.controlPlaneId)||"").replace(/{id}/gi,F).replace(/{secretId}/gi,N)},I=()=>{o("proceed",cs({vaultPrefix:u.value,secretId:p.value||void 0,optionalSecretKey:d.value||void 0}))};return t.watch(()=>i.setup,async N=>{if(N!==!1){if(s.value=!0,u.value="",c.value=void 0,p.value="",d.value="",typeof N=="string"&&N.trim().length>0)try{let F,H="",B="",O="";const R=ss(N),{data:Y}=await l.get(w(R.vaultPrefix));if(Y!=null&&Y.name)if(F=Y,H=R.vaultPrefix,F.name==="konnect"){if(R.secretId){const{data:se}=await l.get(v(R.secretId,Y.config.config_store_id));se.key===R.secretId&&(B=R.secretId,O=R.optionalSecretKey??"")}}else B=R.secretId??"",O=R.optionalSecretKey??"";await t.nextTick(()=>{u.value=H,c.value=F,p.value=B,d.value=O})}catch(F){console.debug(F)}s.value=!1,await A()}},{immediate:!0}),t.watch(u,async(N,F)=>{var H;s.value||N===F||(c.value=(H=h.value.find(B=>B.value===N))==null?void 0:H.vault,p.value="",d.value="")}),t.watch(f,async()=>{ne.value&&await y()},{immediate:!0}),(N,F)=>{const H=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KSelect"),O=t.resolveComponent("KInput"),R=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(R,{"action-button-disabled":!J.value,"action-button-text":t.unref(a)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(a)("vault_secret_picker.title"),visible:i.setup!==!1,onCancel:F[4]||(F[4]=()=>o("cancel")),onProceed:I},{default:t.withCtx(()=>[t.unref(g)||t.unref(U)?(t.openBlock(),t.createBlock(H,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:m.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",us,[t.createVNode(B,{modelValue:u.value,"onUpdate:modelValue":F[0]||(F[0]=Y=>u.value=Y),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:s.value,"enable-filtering":"","filter-function":()=>!0,items:h.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(b),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(k)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ds,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:Y})=>[t.createElementVNode("span",ps,t.toDisplayString(X(Y)),1)]),"item-template":t.withCtx(({item:Y})=>[t.createElementVNode("div",fs,[t.createElementVNode("span",ms,t.toDisplayString(Y.label),1),t.createElementVNode("span",gs,t.toDisplayString(Y.vault.name),1),t.createElementVNode("span",hs,t.toDisplayString(Y.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),ne.value?(t.openBlock(),t.createBlock(B,{key:0,modelValue:p.value,"onUpdate:modelValue":F[1]||(F[1]=Y=>p.value=Y),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:s.value||!c.value,"enable-filtering":"","filter-function":()=>!0,items:P.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(a)("vault_secret_picker.secret_id.label"),loading:t.unref(V),placeholder:t.unref(a)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(x)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ys,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(O,{key:1,modelValue:p.value,"onUpdate:modelValue":F[2]||(F[2]=Y=>p.value=Y),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:s.value||!c.value,label:t.unref(a)("vault_secret_picker.secret_id.label"),placeholder:t.unref(a)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(O,{modelValue:d.value,"onUpdate:modelValue":F[3]||(F[3]=Y=>d.value=Y),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:s.value||!c.value,help:t.unref(a)("vault_secret_picker.optional_secret_key.help"),label:t.unref(a)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(a)("vault_secret_picker.optional_secret_key.placeholder"),type:"text"},null,8,["modelValue","disabled","help","label","placeholder"])]))]),_:1},8,["action-button-disabled","action-button-text","title","visible"])}}}),_s=fa(bs,[["__scopeId","data-v-df8552cc"]]),ks={key:0},Cs=ce(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:r}=Se.usePluginHelpers(),{i18n:{t:a}}=Se.useI18n(),i=s=>s.map(u=>u.replace(/^[cC]onfig\./,"").split(".").map(p=>r(p)).join(".")).join(", "),o=(s,u)=>a(s,{parameters:i(u)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const u of n.rules.atLeastOneOf)s.push(o("plugins.form.field_rules.at_least_one_of",u));if(n.rules.onlyOneOf)for(const u of n.rules.onlyOneOf)s.push(o("plugins.form.field_rules.only_one_of",u));if(n.rules.mutuallyRequired)for(const u of n.rules.mutuallyRequired)s.push(o("plugins.form.field_rules.mutually_required",u));return s});return(s,u)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(d,c)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${c}`},t.toDisplayString(d),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",ks,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(d,c)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${c}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d,(f,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${c}-combination-${m}`},t.toDisplayString(i(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);var ga=typeof global=="object"&&global&&global.Object===Object&&global,As=typeof self=="object"&&self&&self.Object===Object&&self,ze=ga||As||Function("return this")(),We=ze.Symbol,ha=Object.prototype,ws=ha.hasOwnProperty,Es=ha.toString,Mt=We?We.toStringTag:void 0;function Ss(e){var n=ws.call(e,Mt),r=e[Mt];try{e[Mt]=void 0;var a=!0}catch{}var i=Es.call(e);return a&&(n?e[Mt]=r:delete e[Mt]),i}var Ps=Object.prototype,Ts=Ps.toString;function vs(e){return Ts.call(e)}var Ns="[object Null]",Os="[object Undefined]",ya=We?We.toStringTag:void 0;function ft(e){return e==null?e===void 0?Os:Ns:ya&&ya in Object(e)?Ss(e):vs(e)}function mt(e){return e!=null&&typeof e=="object"}var xs="[object Symbol]";function jn(e){return typeof e=="symbol"||mt(e)&&ft(e)==xs}function ba(e,n){for(var r=-1,a=e==null?0:e.length,i=Array(a);++r<a;)i[r]=n(e[r],r,e);return i}var Qe=Array.isArray,Is=1/0,_a=We?We.prototype:void 0,ka=_a?_a.toString:void 0;function Ca(e){if(typeof e=="string")return e;if(Qe(e))return ba(e,Ca)+"";if(jn(e))return ka?ka.call(e):"";var n=e+"";return n=="0"&&1/e==-Is?"-0":n}function gt(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function Rs(e){return e}var Bs="[object AsyncFunction]",Ls="[object Function]",Ds="[object GeneratorFunction]",$s="[object Proxy]";function Mn(e){if(!gt(e))return!1;var n=ft(e);return n==Ls||n==Ds||n==Bs||n==$s}var Gn=ze["__core-js_shared__"],Aa=function(){var e=/[^.]+$/.exec(Gn&&Gn.keys&&Gn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vs(e){return!!Aa&&Aa in e}var Fs=Function.prototype,Ks=Fs.toString;function ht(e){if(e!=null){try{return Ks.call(e)}catch{}try{return e+""}catch{}}return""}var Us=/[\\^$.*+?()[\]{}|]/g,js=/^\[object .+?Constructor\]$/,Ms=Function.prototype,Gs=Object.prototype,qs=Ms.toString,Hs=Gs.hasOwnProperty,zs=RegExp("^"+qs.call(Hs).replace(Us,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ws(e){if(!gt(e)||Vs(e))return!1;var n=Mn(e)?zs:js;return n.test(ht(e))}function Ys(e,n){return e==null?void 0:e[n]}function yt(e,n){var r=Ys(e,n);return Ws(r)?r:void 0}var qn=yt(ze,"WeakMap"),wa=Object.create,Js=function(){function e(){}return function(n){if(!gt(n))return{};if(wa)return wa(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}}();function Xs(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function Qs(e,n){var r=-1,a=e.length;for(n||(n=Array(a));++r<a;)n[r]=e[r];return n}var Zs=800,ec=16,tc=Date.now;function nc(e){var n=0,r=0;return function(){var a=tc(),i=ec-(a-r);if(r=a,i>0){if(++n>=Zs)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function rc(e){return function(){return e}}var bn=function(){try{var e=yt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ac=bn?function(e,n){return bn(e,"toString",{configurable:!0,enumerable:!1,value:rc(n),writable:!0})}:Rs,ic=nc(ac);function oc(e,n){for(var r=-1,a=e==null?0:e.length;++r<a&&n(e[r],r,e)!==!1;);return e}var lc=9007199254740991,sc=/^(?:0|[1-9]\d*)$/;function Hn(e,n){var r=typeof e;return n=n??lc,!!n&&(r=="number"||r!="symbol"&&sc.test(e))&&e>-1&&e%1==0&&e<n}function Ea(e,n,r){n=="__proto__"&&bn?bn(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}function Sa(e,n){return e===n||e!==e&&n!==n}var cc=Object.prototype,uc=cc.hasOwnProperty;function zn(e,n,r){var a=e[n];(!(uc.call(e,n)&&Sa(a,r))||r===void 0&&!(n in e))&&Ea(e,n,r)}function Gt(e,n,r,a){var i=!r;r||(r={});for(var o=-1,l=n.length;++o<l;){var s=n[o],u=void 0;u===void 0&&(u=e[s]),i?Ea(r,s,u):zn(r,s,u)}return r}var Pa=Math.max;function dc(e,n,r){return n=Pa(n===void 0?e.length-1:n,0),function(){for(var a=arguments,i=-1,o=Pa(a.length-n,0),l=Array(o);++i<o;)l[i]=a[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=a[i];return s[n]=r(l),Xs(e,this,s)}}var pc=9007199254740991;function Wn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=pc}function Yn(e){return e!=null&&Wn(e.length)&&!Mn(e)}var fc=Object.prototype;function _n(e){var n=e&&e.constructor,r=typeof n=="function"&&n.prototype||fc;return e===r}function mc(e,n){for(var r=-1,a=Array(e);++r<e;)a[r]=n(r);return a}var gc="[object Arguments]";function Ta(e){return mt(e)&&ft(e)==gc}var va=Object.prototype,hc=va.hasOwnProperty,yc=va.propertyIsEnumerable,kn=Ta(function(){return arguments}())?Ta:function(e){return mt(e)&&hc.call(e,"callee")&&!yc.call(e,"callee")};function bc(){return!1}var Na=typeof re=="object"&&re&&!re.nodeType&&re,Oa=Na&&typeof module=="object"&&module&&!module.nodeType&&module,_c=Oa&&Oa.exports===Na,xa=_c?ze.Buffer:void 0,kc=xa?xa.isBuffer:void 0,Jn=kc||bc,Cc="[object Arguments]",Ac="[object Array]",wc="[object Boolean]",Ec="[object Date]",Sc="[object Error]",Pc="[object Function]",Tc="[object Map]",vc="[object Number]",Nc="[object Object]",Oc="[object RegExp]",xc="[object Set]",Ic="[object String]",Rc="[object WeakMap]",Bc="[object ArrayBuffer]",Lc="[object DataView]",Dc="[object Float32Array]",$c="[object Float64Array]",Vc="[object Int8Array]",Fc="[object Int16Array]",Kc="[object Int32Array]",Uc="[object Uint8Array]",jc="[object Uint8ClampedArray]",Mc="[object Uint16Array]",Gc="[object Uint32Array]",Ee={};Ee[Dc]=Ee[$c]=Ee[Vc]=Ee[Fc]=Ee[Kc]=Ee[Uc]=Ee[jc]=Ee[Mc]=Ee[Gc]=!0,Ee[Cc]=Ee[Ac]=Ee[Bc]=Ee[wc]=Ee[Lc]=Ee[Ec]=Ee[Sc]=Ee[Pc]=Ee[Tc]=Ee[vc]=Ee[Nc]=Ee[Oc]=Ee[xc]=Ee[Ic]=Ee[Rc]=!1;function qc(e){return mt(e)&&Wn(e.length)&&!!Ee[ft(e)]}function Xn(e){return function(n){return e(n)}}var Ia=typeof re=="object"&&re&&!re.nodeType&&re,qt=Ia&&typeof module=="object"&&module&&!module.nodeType&&module,Hc=qt&&qt.exports===Ia,Qn=Hc&&ga.process,vt=function(){try{var e=qt&&qt.require&&qt.require("util").types;return e||Qn&&Qn.binding&&Qn.binding("util")}catch{}}(),Ra=vt&&vt.isTypedArray,Ba=Ra?Xn(Ra):qc,zc=Object.prototype,Wc=zc.hasOwnProperty;function La(e,n){var r=Qe(e),a=!r&&kn(e),i=!r&&!a&&Jn(e),o=!r&&!a&&!i&&Ba(e),l=r||a||i||o,s=l?mc(e.length,String):[],u=s.length;for(var p in e)(n||Wc.call(e,p))&&!(l&&(p=="length"||i&&(p=="offset"||p=="parent")||o&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||Hn(p,u)))&&s.push(p);return s}function Da(e,n){return function(r){return e(n(r))}}var Yc=Da(Object.keys,Object),Jc=Object.prototype,Xc=Jc.hasOwnProperty;function $a(e){if(!_n(e))return Yc(e);var n=[];for(var r in Object(e))Xc.call(e,r)&&r!="constructor"&&n.push(r);return n}function Zn(e){return Yn(e)?La(e):$a(e)}function Qc(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var Zc=Object.prototype,eu=Zc.hasOwnProperty;function tu(e){if(!gt(e))return Qc(e);var n=_n(e),r=[];for(var a in e)a=="constructor"&&(n||!eu.call(e,a))||r.push(a);return r}function er(e){return Yn(e)?La(e,!0):tu(e)}var nu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ru=/^\w*$/;function au(e,n){if(Qe(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||jn(e)?!0:ru.test(e)||!nu.test(e)||n!=null&&e in Object(n)}var Ht=yt(Object,"create");function iu(){this.__data__=Ht?Ht(null):{},this.size=0}function ou(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var lu="__lodash_hash_undefined__",su=Object.prototype,cu=su.hasOwnProperty;function uu(e){var n=this.__data__;if(Ht){var r=n[e];return r===lu?void 0:r}return cu.call(n,e)?n[e]:void 0}var du=Object.prototype,pu=du.hasOwnProperty;function fu(e){var n=this.__data__;return Ht?n[e]!==void 0:pu.call(n,e)}var mu="__lodash_hash_undefined__";function gu(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ht&&n===void 0?mu:n,this}function bt(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}bt.prototype.clear=iu,bt.prototype.delete=ou,bt.prototype.get=uu,bt.prototype.has=fu,bt.prototype.set=gu;function hu(){this.__data__=[],this.size=0}function Cn(e,n){for(var r=e.length;r--;)if(Sa(e[r][0],n))return r;return-1}var yu=Array.prototype,bu=yu.splice;function _u(e){var n=this.__data__,r=Cn(n,e);if(r<0)return!1;var a=n.length-1;return r==a?n.pop():bu.call(n,r,1),--this.size,!0}function ku(e){var n=this.__data__,r=Cn(n,e);return r<0?void 0:n[r][1]}function Cu(e){return Cn(this.__data__,e)>-1}function Au(e,n){var r=this.__data__,a=Cn(r,e);return a<0?(++this.size,r.push([e,n])):r[a][1]=n,this}function Ze(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}Ze.prototype.clear=hu,Ze.prototype.delete=_u,Ze.prototype.get=ku,Ze.prototype.has=Cu,Ze.prototype.set=Au;var zt=yt(ze,"Map");function wu(){this.size=0,this.__data__={hash:new bt,map:new(zt||Ze),string:new bt}}function Eu(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function An(e,n){var r=e.__data__;return Eu(n)?r[typeof n=="string"?"string":"hash"]:r.map}function Su(e){var n=An(this,e).delete(e);return this.size-=n?1:0,n}function Pu(e){return An(this,e).get(e)}function Tu(e){return An(this,e).has(e)}function vu(e,n){var r=An(this,e),a=r.size;return r.set(e,n),this.size+=r.size==a?0:1,this}function it(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var a=e[n];this.set(a[0],a[1])}}it.prototype.clear=wu,it.prototype.delete=Su,it.prototype.get=Pu,it.prototype.has=Tu,it.prototype.set=vu;var Nu="Expected a function";function tr(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Nu);var r=function(){var a=arguments,i=n?n.apply(this,a):a[0],o=r.cache;if(o.has(i))return o.get(i);var l=e.apply(this,a);return r.cache=o.set(i,l)||o,l};return r.cache=new(tr.Cache||it),r}tr.Cache=it;var Ou=500;function xu(e){var n=tr(e,function(a){return r.size===Ou&&r.clear(),a}),r=n.cache;return n}var Iu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ru=/\\(\\)?/g,Bu=xu(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Iu,function(r,a,i,o){n.push(i?o.replace(Ru,"$1"):a||r)}),n});function wn(e){return e==null?"":Ca(e)}function Nt(e,n){return Qe(e)?e:au(e,n)?[e]:Bu(wn(e))}var Lu=1/0;function En(e){if(typeof e=="string"||jn(e))return e;var n=e+"";return n=="0"&&1/e==-Lu?"-0":n}function nr(e,n){n=Nt(n,e);for(var r=0,a=n.length;e!=null&&r<a;)e=e[En(n[r++])];return r&&r==a?e:void 0}function Du(e,n,r){var a=e==null?void 0:nr(e,n);return a===void 0?r:a}function rr(e,n){for(var r=-1,a=n.length,i=e.length;++r<a;)e[i+r]=n[r];return e}var Va=We?We.isConcatSpreadable:void 0;function $u(e){return Qe(e)||kn(e)||!!(Va&&e&&e[Va])}function Vu(e,n,r,a,i){var o=-1,l=e.length;for(r||(r=$u),i||(i=[]);++o<l;){var s=e[o];r(s)?rr(i,s):i[i.length]=s}return i}function Fu(e){var n=e==null?0:e.length;return n?Vu(e):[]}function Fa(e){return ic(dc(e,void 0,Fu),e+"")}var ar=Da(Object.getPrototypeOf,Object),Ku="[object Object]",Uu=Function.prototype,ju=Object.prototype,Ka=Uu.toString,Mu=ju.hasOwnProperty,Gu=Ka.call(Object);function qu(e){if(!mt(e)||ft(e)!=Ku)return!1;var n=ar(e);if(n===null)return!0;var r=Mu.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&Ka.call(r)==Gu}function Ua(e,n,r){var a=-1,i=e.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var o=Array(i);++a<i;)o[a]=e[a+n];return o}function Hu(e,n,r){var a=e.length;return r=r===void 0?a:r,!n&&r>=a?e:Ua(e,n,r)}var zu="\\ud800-\\udfff",Wu="\\u0300-\\u036f",Yu="\\ufe20-\\ufe2f",Ju="\\u20d0-\\u20ff",Xu=Wu+Yu+Ju,Qu="\\ufe0e\\ufe0f",Zu="\\u200d",ed=RegExp("["+Zu+zu+Xu+Qu+"]");function ja(e){return ed.test(e)}function td(e){return e.split("")}var Ma="\\ud800-\\udfff",nd="\\u0300-\\u036f",rd="\\ufe20-\\ufe2f",ad="\\u20d0-\\u20ff",id=nd+rd+ad,od="\\ufe0e\\ufe0f",ld="["+Ma+"]",ir="["+id+"]",or="\\ud83c[\\udffb-\\udfff]",sd="(?:"+ir+"|"+or+")",Ga="[^"+Ma+"]",qa="(?:\\ud83c[\\udde6-\\uddff]){2}",Ha="[\\ud800-\\udbff][\\udc00-\\udfff]",cd="\\u200d",za=sd+"?",Wa="["+od+"]?",ud="(?:"+cd+"(?:"+[Ga,qa,Ha].join("|")+")"+Wa+za+")*",dd=Wa+za+ud,pd="(?:"+[Ga+ir+"?",ir,qa,Ha,ld].join("|")+")",fd=RegExp(or+"(?="+or+")|"+pd+dd,"g");function md(e){return e.match(fd)||[]}function gd(e){return ja(e)?md(e):td(e)}function hd(e){return function(n){n=wn(n);var r=ja(n)?gd(n):void 0,a=r?r[0]:n.charAt(0),i=r?Hu(r,1).join(""):n.slice(1);return a[e]()+i}}var yd=hd("toUpperCase");function bd(e){return yd(wn(e).toLowerCase())}function _d(){this.__data__=new Ze,this.size=0}function kd(e){var n=this.__data__,r=n.delete(e);return this.size=n.size,r}function Cd(e){return this.__data__.get(e)}function Ad(e){return this.__data__.has(e)}var wd=200;function Ed(e,n){var r=this.__data__;if(r instanceof Ze){var a=r.__data__;if(!zt||a.length<wd-1)return a.push([e,n]),this.size=++r.size,this;r=this.__data__=new it(a)}return r.set(e,n),this.size=r.size,this}function Ot(e){var n=this.__data__=new Ze(e);this.size=n.size}Ot.prototype.clear=_d,Ot.prototype.delete=kd,Ot.prototype.get=Cd,Ot.prototype.has=Ad,Ot.prototype.set=Ed;function Sd(e,n){return e&&Gt(n,Zn(n),e)}function Pd(e,n){return e&&Gt(n,er(n),e)}var Ya=typeof re=="object"&&re&&!re.nodeType&&re,Ja=Ya&&typeof module=="object"&&module&&!module.nodeType&&module,Td=Ja&&Ja.exports===Ya,Xa=Td?ze.Buffer:void 0,Qa=Xa?Xa.allocUnsafe:void 0;function vd(e,n){if(n)return e.slice();var r=e.length,a=Qa?Qa(r):new e.constructor(r);return e.copy(a),a}function Nd(e,n){for(var r=-1,a=e==null?0:e.length,i=0,o=[];++r<a;){var l=e[r];n(l,r,e)&&(o[i++]=l)}return o}function Za(){return[]}var Od=Object.prototype,xd=Od.propertyIsEnumerable,ei=Object.getOwnPropertySymbols,lr=ei?function(e){return e==null?[]:(e=Object(e),Nd(ei(e),function(n){return xd.call(e,n)}))}:Za;function Id(e,n){return Gt(e,lr(e),n)}var Rd=Object.getOwnPropertySymbols,ti=Rd?function(e){for(var n=[];e;)rr(n,lr(e)),e=ar(e);return n}:Za;function Bd(e,n){return Gt(e,ti(e),n)}function ni(e,n,r){var a=n(e);return Qe(e)?a:rr(a,r(e))}function Ld(e){return ni(e,Zn,lr)}function ri(e){return ni(e,er,ti)}var sr=yt(ze,"DataView"),cr=yt(ze,"Promise"),ur=yt(ze,"Set"),ai="[object Map]",Dd="[object Object]",ii="[object Promise]",oi="[object Set]",li="[object WeakMap]",si="[object DataView]",$d=ht(sr),Vd=ht(zt),Fd=ht(cr),Kd=ht(ur),Ud=ht(qn),Ye=ft;(sr&&Ye(new sr(new ArrayBuffer(1)))!=si||zt&&Ye(new zt)!=ai||cr&&Ye(cr.resolve())!=ii||ur&&Ye(new ur)!=oi||qn&&Ye(new qn)!=li)&&(Ye=function(e){var n=ft(e),r=n==Dd?e.constructor:void 0,a=r?ht(r):"";if(a)switch(a){case $d:return si;case Vd:return ai;case Fd:return ii;case Kd:return oi;case Ud:return li}return n});var jd=Object.prototype,Md=jd.hasOwnProperty;function Gd(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&Md.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var ci=ze.Uint8Array;function dr(e){var n=new e.constructor(e.byteLength);return new ci(n).set(new ci(e)),n}function qd(e,n){var r=n?dr(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var Hd=/\w*$/;function zd(e){var n=new e.constructor(e.source,Hd.exec(e));return n.lastIndex=e.lastIndex,n}var ui=We?We.prototype:void 0,di=ui?ui.valueOf:void 0;function Wd(e){return di?Object(di.call(e)):{}}function Yd(e,n){var r=n?dr(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var Jd="[object Boolean]",Xd="[object Date]",Qd="[object Map]",Zd="[object Number]",ep="[object RegExp]",tp="[object Set]",np="[object String]",rp="[object Symbol]",ap="[object ArrayBuffer]",ip="[object DataView]",op="[object Float32Array]",lp="[object Float64Array]",sp="[object Int8Array]",cp="[object Int16Array]",up="[object Int32Array]",dp="[object Uint8Array]",pp="[object Uint8ClampedArray]",fp="[object Uint16Array]",mp="[object Uint32Array]";function gp(e,n,r){var a=e.constructor;switch(n){case ap:return dr(e);case Jd:case Xd:return new a(+e);case ip:return qd(e,r);case op:case lp:case sp:case cp:case up:case dp:case pp:case fp:case mp:return Yd(e,r);case Qd:return new a;case Zd:case np:return new a(e);case ep:return zd(e);case tp:return new a;case rp:return Wd(e)}}function hp(e){return typeof e.constructor=="function"&&!_n(e)?Js(ar(e)):{}}var yp="[object Map]";function bp(e){return mt(e)&&Ye(e)==yp}var pi=vt&&vt.isMap,_p=pi?Xn(pi):bp,kp="[object Set]";function Cp(e){return mt(e)&&Ye(e)==kp}var fi=vt&&vt.isSet,Ap=fi?Xn(fi):Cp,wp=1,Ep=2,Sp=4,mi="[object Arguments]",Pp="[object Array]",Tp="[object Boolean]",vp="[object Date]",Np="[object Error]",gi="[object Function]",Op="[object GeneratorFunction]",xp="[object Map]",Ip="[object Number]",hi="[object Object]",Rp="[object RegExp]",Bp="[object Set]",Lp="[object String]",Dp="[object Symbol]",$p="[object WeakMap]",Vp="[object ArrayBuffer]",Fp="[object DataView]",Kp="[object Float32Array]",Up="[object Float64Array]",jp="[object Int8Array]",Mp="[object Int16Array]",Gp="[object Int32Array]",qp="[object Uint8Array]",Hp="[object Uint8ClampedArray]",zp="[object Uint16Array]",Wp="[object Uint32Array]",ye={};ye[mi]=ye[Pp]=ye[Vp]=ye[Fp]=ye[Tp]=ye[vp]=ye[Kp]=ye[Up]=ye[jp]=ye[Mp]=ye[Gp]=ye[xp]=ye[Ip]=ye[hi]=ye[Rp]=ye[Bp]=ye[Lp]=ye[Dp]=ye[qp]=ye[Hp]=ye[zp]=ye[Wp]=!0,ye[Np]=ye[gi]=ye[$p]=!1;function Wt(e,n,r,a,i,o){var l,s=n&wp,u=n&Ep,p=n&Sp;if(r&&(l=i?r(e,a,i,o):r(e)),l!==void 0)return l;if(!gt(e))return e;var d=Qe(e);if(d){if(l=Gd(e),!s)return Qs(e,l)}else{var c=Ye(e),f=c==gi||c==Op;if(Jn(e))return vd(e,s);if(c==hi||c==mi||f&&!i){if(l=u||f?{}:hp(e),!s)return u?Bd(e,Pd(l,e)):Id(e,Sd(l,e))}else{if(!ye[c])return i?e:{};l=gp(e,c,s)}}o||(o=new Ot);var m=o.get(e);if(m)return m;o.set(e,l),Ap(e)?e.forEach(function(g){l.add(Wt(g,n,r,g,e,o))}):_p(e)&&e.forEach(function(g,A){l.set(A,Wt(g,n,r,A,e,o))});var k=p?u?ri:Ld:u?er:Zn,b=d?void 0:k(e);return oc(b||e,function(g,A){b&&(A=g,g=e[A]),zn(l,A,Wt(g,n,r,A,e,o))}),l}var Yp=1,Jp=4;function yi(e){return Wt(e,Yp|Jp)}function Xp(e,n){return e!=null&&n in Object(e)}function Qp(e,n,r){n=Nt(n,e);for(var a=-1,i=n.length,o=!1;++a<i;){var l=En(n[a]);if(!(o=e!=null&&r(e,l)))break;e=e[l]}return o||++a!=i?o:(i=e==null?0:e.length,!!i&&Wn(i)&&Hn(l,i)&&(Qe(e)||kn(e)))}function Zp(e,n){return e!=null&&Qp(e,n,Xp)}function ef(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function tf(e,n){return n.length<2?e:nr(e,Ua(n,0,-1))}var nf="[object Map]",rf="[object Set]",af=Object.prototype,of=af.hasOwnProperty;function bi(e){if(e==null)return!0;if(Yn(e)&&(Qe(e)||typeof e=="string"||typeof e.splice=="function"||Jn(e)||Ba(e)||kn(e)))return!e.length;var n=Ye(e);if(n==nf||n==rf)return!e.size;if(_n(e))return!$a(e).length;for(var r in e)if(of.call(e,r))return!1;return!0}function _i(e,n){return n=Nt(n,e),e=tf(e,n),e==null||delete e[En(ef(n))]}function lf(e){return qu(e)?void 0:e}var sf=1,cf=2,uf=4,df=Fa(function(e,n){var r={};if(e==null)return r;var a=!1;n=ba(n,function(o){return o=Nt(o,e),a||(a=o.length>1),o}),Gt(e,ri(e),r),a&&(r=Wt(r,sf|cf|uf,lf));for(var i=n.length;i--;)_i(r,n[i]);return r});function ki(e,n,r,a){if(!gt(e))return e;n=Nt(n,e);for(var i=-1,o=n.length,l=o-1,s=e;s!=null&&++i<o;){var u=En(n[i]),p=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(i!=l){var d=s[u];p=void 0,p===void 0&&(p=gt(d)?d:Hn(n[i+1])?[]:{})}zn(s,u,p),s=s[u]}return e}function pf(e,n,r){for(var a=-1,i=n.length,o={};++a<i;){var l=n[a],s=nr(e,l);r(s,l)&&ki(o,Nt(l,e),s)}return o}function ff(e,n){return pf(e,n,function(r,a){return Zp(e,a)})}var pr=Fa(function(e,n){return e==null?{}:ff(e,n)});function mf(e,n,r){return e==null?e:ki(e,n,r)}var gf=0;function fr(e){var n=++gf;return wn(e)+n}function Ci(e,n){return e==null?!0:_i(e,n)}const{t:Ai}=$e.createI18n("en-us",qe);function wi(e){return e.map(n=>({value:n,label:n}))}const mr="*",Ei="$",Si=".";function He(...e){return e.join(Si)}function gr(...e){return He(Ei,...e)}function Pi(e){return e.startsWith(He(Ei,""))}function xt(e){return e.split(Si).filter(n=>n!=="")}function hr(e){const n=xt(e);return n[n.length-1]}Ai("redis.shared_configuration.open_source"),Ai("redis.shared_configuration.enterprise");function hf(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const Ti=Symbol("free-form-data"),vi=Symbol("free-form-schema"),Ni=Symbol("free-form-field-path"),yr=Symbol("free-form-field-renderer-slots"),Sn=Symbol("free-form-field-renderer-matchers-map"),Oi=Symbol("free-form-config"),xi=Symbol("free-form-field-reset-label-path-setting"),It="free-form-field-renderers-slot",yf={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function br(e,n=""){const r={},a=e;if(Array.isArray(a.fields))for(const i of a.fields){const o=Object.keys(i)[0],l=i[o],s=n?He(n,o):o;if(r[s]=l,l.type==="record"&&Array.isArray(l.fields)){const u=br(l,s);Object.assign(r,u)}else if(l.type==="array"&&l.elements){const u=l.elements,p=He(s,mr);if(r[p]=u,u.type==="record"&&Array.isArray(u.fields)){const d=br(u,p);Object.assign(r,d)}}}return r}function _r(e){const n=xt(e).map(r=>/^\d+$/.test(r)?mr:r);return He(...n)}function bf(e){const n=t.toValue(e),r=t.computed(()=>n?br(n):{});function a(d){var c;return d==null?n:(c=r.value)==null?void 0:c[_r(d)]}function i(d,c=!1){const f=a(d);return f?f.default!==void 0?f.default:c||f.required?f.type==="record"?o(f,d):f.type==="array"?[]:null:null:null}function o(d,c){const f={};if(Array.isArray(d.fields))for(const m of d.fields){const k=Object.keys(m)[0],b=c?`${c}.${k}`:k,g=i(b,!1);g!==void 0&&(f[k]=g)}return f}function l(d){return d?i(d,!0):o(a(),"")}function s(d){const c=a(d),f=c!=null&&c.description?pn.marked.parse(c.description,{async:!1}):void 0;return{...yf,"data-testid":`ff-label-${d}`,info:f}}function u(d){var f;const c=a(d);return wi((c==null?void 0:c.one_of)||((f=c.elements)==null?void 0:f.one_of)||[])}function p(d){var m;const c=(m=a(d))==null?void 0:m.default;let f=null;if(c==null||typeof c=="object"||c==="")return null;if(Array.isArray(c)){if(c.length===0)return null;f=c.join(", ")}else f=c.toString();return`Default: ${f}`}return{getSchema:a,getDefault:l,getSelectItems:u,getLabelAttributes:s,getPlaceholder:p}}function Me(){const e=t.inject(Ti),n=t.inject(vi),r=t.inject(Oi,{});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:r,...n}}const Ii=e=>{const n=t.inject(Ni,t.computed(()=>"")),r=t.computed(()=>{const a=t.toValue(e);let i=a;return!Pi(a)&&n.value&&(i=He(n.value,a)),Pi(a)&&(i=i.slice(gr("").length)),i});return t.provide(Ni,r),r},_f=e=>{const{getSchema:n}=Me(),{default:r,...a}=t.useSlots(),i=t.inject(yr),o=t.inject(Sn),l=t.computed(()=>{const u=t.toValue(i),p=Object.keys(a).filter(d=>d!==It&&d!=="item").reduce((d,c)=>{const f=_r(He(t.toValue(e),c));return{...d,[f]:a[c]}},{});return u?{...u,...p}:p});t.provide(yr,l);const s=t.toValue(e);return t.computed(()=>{if(r)return;const u=l.value[_r(t.toValue(e))];if(u)return u;for(const[p,d]of o)if(p({path:s,schema:n(s)}))return d})},kf={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Cf(e){return kf[e.toLocaleLowerCase()]??e}function Af(e,n){const r=t.inject(xi,{parentPath:null,isolate:!1}),{parentPath:a,isolate:i}=t.toValue(r),o=t.ref(a?He(a,e):e),l=t.ref({parentPath:o.value,isolate:i});return t.watch([t.toRef(n),t.toRef(r)],([s,u])=>{var f;const{parentPath:p,isolate:d}=u,c=p?He(p,e):e;if(s){const m={isolate:()=>{o.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{o.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{o.value=c,l.value.isolate=!1,l.value.parentPath=c}};(f=m[s])==null||f.call(m)}else d&&(o.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(xi,l),o}function wf(e){return xt(e).map(r=>r.split("_").map(bd).map(Cf).join(" ")).join(" › ")}function Ef(e,n){const r=t.toValue(e),a=hr(r),{formConfig:i}=Me(),o=Af(a,n),{getSchema:l}=Me(),s=Ri(e);return t.computed(()=>{var f;const u=o.value??a,p=(f=s.value.parent)!=null&&f.path?l(s.value.parent.path):null,c=(p==null?void 0:p.type)==="array"?"":wf(u);return i.transformLabel?i.transformLabel(c,r):c})}function ot(e,n){const{getLabelAttributes:r,getPlaceholder:a,getSchema:i}=Me(),o=t.toValue(e),l=t.toValue(n),s=Ef(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var u;return{...l,placeholder:l.placeholder??a(o)??void 0,labelAttributes:l.labelAttributes??r(o),label:l.label??s.value,required:l.required??((u=i(o))==null?void 0:u.required)}})}function Sf(e){var a;const n=xt(e);let r={parent:null};for(n.pop();n.length;){const i=n.shift();r.path=(a=r.parent)!=null&&a.path?He(r.parent.path,i):i,r={parent:r}}return r}function Ri(e){return t.computed(()=>Sf(t.toValue(e)))}function Pf(e){const{formData:n}=Me(),r=Ii(e);return{value:t.computed({get:()=>Du(n,xt(r.value)),set:i=>mf(n,xt(r.value),i)})}}function et(e){const{getSchema:n}=Me(),r=Ii(e),a=_f(r),{value:i}=Pf(e),o=t.computed(()=>n(r.value));return o.value?{schema:o,path:r,renderer:a,value:i,ancestors:Ri(r),error:null}:{error:new Error(`path '${r.value}' is not found in schema.`)}}function kr(e){const{getSchema:n}=Me(),r=t.useAttrs();return t.computed(()=>{var i;if(r["data-autofocus"]!==void 0)return!0;if(!e)return!1;const a=t.toValue(e).parent;return a!=null&&a.path?((i=n(a.path))==null?void 0:i.type)==="array":!1})}const Tf="__request_callout_";function Bi(){return fr(Tf)}const vf={key:1},Nf=["innerHTML"],Li=ce(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 r=t.useAttrs(),{i18n:a}=at(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),o=n,{value:l,...s}=et(t.toRef(()=>e.name)),u=ot(s.path,t.toRef({...i,...r})),p=l==null?void 0:l.value;function d(E){p!==void 0&&E===""&&E!==p?(l.value=null,o("update:modelValue",null)):(l.value=E.trim(),o("update:modelValue",E.trim()))}const c=t.computed(()=>{var E;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((E=s.schema)==null?void 0:E.value).encrypted}),f=t.computed(()=>i.multiline?Ae.KTextArea:Ae.KInput),m=t.inject(ke.AUTOFILL_SLOT,void 0),k=t.computed(()=>{var E;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((E=s.schema.value)!=null&&E.referenceable)}),b=t.computed(()=>({referenceable:k.value})),g=kr(s.ancestors),A=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:hr(e.name)==="name");return(E,x)=>{var U;const V=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(V,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",vf,[t.createVNode(t.unref(f),t.mergeProps({...t.unref(u),showPasswordMaskToggle:c.value,type:c.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":A.value,"data-autofocus":t.unref(g),"data-testid":`ff-${s.path.value}`,"model-value":t.unref(l)??"","onUpdate:modelValue":d}),t.createSlots({_:2},[(U=t.unref(u).labelAttributes)!=null&&U.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(E.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,Nf)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"]),t.unref(m)&&k.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(m)),{key:0,schema:b.value,update:d,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),k.value&&!t.unref(m)?(t.openBlock(),t.createBlock(V,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(a).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]))}}}),[["__scopeId","data-v-6321a76a"]]),Of=["innerHTML"],xf=ce(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["name"]),{value:a,...i}=et(t.toRef(()=>e.name)),o=n,l=u=>{a.value=u,o("update:modelValue",u)},s=ot(i.path,r);return(u,p)=>{var c;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(Ae.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(a)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(c=t.unref(s).labelAttributes)!=null&&c.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Of)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),If=ce(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],r=Object.fromEntries(n.map(f=>[f,""])),a=Object.fromEntries(n.map(f=>[f,"0"]));function i(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(k=>[k,m.getPropertyValue(k)]))}function o(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,r);const k=i(m);Object.assign(m.style,a),requestAnimationFrame(()=>{Object.assign(m.style,{...k,transition:""})})}function u(f){o(f)}function p(f){const m=f;Object.assign(m.style,{...i(m),overflow:"hidden"})}function d(f){Object.assign(f.style,a)}function c(f){o(f)}return(f,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:u,onAfterLeave:c,onBeforeEnter:l,onBeforeLeave:p,onEnter:s,onLeave:d},{default:t.withCtx(()=>[t.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),Rf=["data-testid"],Bf=["data-testid"],Lf=["data-testid"],Df=["innerHTML"],$f={class:"ff-object-field-actions"},Vf=["data-testid"],_t=ce(t.defineComponent({__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:r,...a}=et(t.toRef(n,"name")),{getSchema:i,getDefault:o}=Me(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),u=t.computed(()=>f.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),p=t.computed(()=>{var g,A;if((g=a.ancestors)!=null&&g.value){const E=a.ancestors.value.parent;if(E!=null&&E.path)return((A=i(E.path))==null?void 0:A.type)==="array"}return!1}),d=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:p.value?"reset":"inherit"),c=ot(a.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:d.value}))),f=t.computed(()=>c.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:p.value),k=t.computed(()=>{let g=a.schema.value.fields;return e.omit&&(g=g.filter(A=>!e.omit.includes(Object.keys(A)[0]))),e.fieldsOrder?g.sort((A,E)=>{const x=Object.keys(A)[0],V=Object.keys(E)[0],U=e.fieldsOrder.indexOf(x),y=e.fieldsOrder.indexOf(V);return U===-1&&y===-1?0:U===-1?1:y===-1?-1:U-y}):g});function b(){l.value=!l.value,l.value?r.value=o(a.path.value):r.value=null}return t.watch(f,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(r!=null&&r.value)}),(g,A)=>{var x;const E=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(It)]))),a.error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:"ff-object-field ff-object-field-as-child","data-testid":`ff-object-${a.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,V=>(t.openBlock(),t.createBlock(kt,{key:Object.keys(V)[0],name:Object.keys(V)[0]},null,8,["name"]))),128))],!0)],8,Rf)):(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(["ff-object-field",{"ff-object-field-collapsed":!u.value}]),"data-testid":`ff-object-${a.path.value}`},[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${a.path.value}`},[t.createVNode(t.unref(Ae.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${a.path.value}`},{...t.unref(c),required:!1},{"tooltip-attributes":t.unref(c).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c).label)+" ",1)]),_:2},[(x=t.unref(c).labelAttributes)!=null&&x.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Df)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",$f,[g.collapsible&&f.value?(t.openBlock(),t.createBlock(t.unref(Ae.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${u.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${a.path.value}`,icon:"",onClick:A[0]||(A[0]=V=>s.value=!u.value)},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(c).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ae.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-${a.path.value}`,icon:"",onClick:b},{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createBlock(t.unref(Ce.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(Ce.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,Lf),t.createVNode(If,null,{default:t.withCtx(()=>[u.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${a.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,V=>(t.openBlock(),t.createBlock(kt,{key:Object.keys(V)[0],name:Object.keys(V)[0]},null,8,["name"]))),128))],!0)],8,Vf)):t.createCommentVNode("",!0)]),_:3})],10,Bf))],64)}}}),[["__scopeId","data-v-b4c8195e"]]),Ff=["innerHTML"],Kf=ce(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["name"]),{value:a,...i}=et(t.toRef(()=>e.name)),o=ot(i.path,r),l=t.computed(()=>{var k;const c=(k=i.schema)==null?void 0:k.value;if(c.gt)return{min:c.gt};const[f,m]=c.between??[];return{min:r.min??f,max:r.max??m}}),s=n,u=a.value;function p(c){u!==void 0&&c===""&&Number(c)!==u?(a.value=null,s("update:modelValue",null)):(a.value=Number(c),s("update:modelValue",Number(c)))}const d=kr(i.ancestors);return(c,f)=>{var k;const m=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Ae.KInput),t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(o),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(d),"data-testid":`ff-${i.path.value}`,"model-value":t.unref(a)??"",type:"number","onUpdate:modelValue":p}),t.createSlots({_:2},[(k=t.unref(o).labelAttributes)!=null&&k.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(o).labelAttributes.info},null,8,Ff)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-df4195d0"]]),Uf=["innerHTML"],Rt=ce(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},multiple:{type:Boolean,default:()=>{}},items:{},placeholder:{}},setup(e){const n=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:r}=Me(),{value:a,...i}=et(t.toRef(()=>e.name)),o=ot(i.path,n),l=t.computed(()=>e.items?e.items:i.path?r(i.path.value):[]),s=t.computed(()=>{var p;return e.multiple!==void 0?e.multiple:((p=i.schema.value)==null?void 0:p.type)==="set"}),u=t.computed(()=>s.value?Ae.KMultiselect:Ae.KSelect);return(p,d)=>{var f;const c=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(c,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(u),t.mergeProps({key:1},t.unref(o),{modelValue:t.unref(a),"onUpdate:modelValue":d[0]||(d[0]=m=>t.isRef(a)?a.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(o).labelAttributes)!=null&&f.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(o).labelAttributes.info},null,8,Uf)],!0)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-181f0d06"]]),jf=["data-testid"],Mf=["data-testid"],Gf=["innerHTML"],qf=["data-testid"],Hf=ce(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}}},emits:["change"],setup(e,{expose:n,emit:r}){const a=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{value:i,...o}=et(t.toRef(a,"name")),l=ot(o.path,t.toRef({...a,...t.useAttrs()})),{i18n:s}=at(),u=r,p=t.ref(c(a.initialValue??(i==null?void 0:i.value)??{}));function d(){return fr("ff-kv-field-")}function c(C){return Object.entries(C).map(([h,P])=>({id:d(),key:h,value:P}))}const f=()=>{p.value.push({id:d(),key:a.defaultKey||"",value:a.defaultValue||""})},m=C=>{const h=p.value.findIndex(P=>P.id===C);h!==-1&&p.value.splice(h,1)},k=()=>{const C=Object.fromEntries(p.value.map(({key:h,value:P})=>[h,P]).filter(([h])=>h));i.value=C,u("change",C)},b=t.useTemplateRef("root");async function g(C,h="key"){var P;b.value&&(await t.nextTick(),(P=b.value.querySelector(`[data-${h}-input="${C}"]`))==null||P.focus())}t.watch(p,k,{deep:!0});function A(){f();const C=p.value.findIndex(({key:h})=>!h);g(C===-1?p.value.length-1:C)}function E(C){C===p.value.length-1&&f(),g(C+1)}const x=t.inject(ke.AUTOFILL_SLOT,void 0),V=t.computed(()=>{var C,h;return e.showVaultSecretPicker??!!((h=(C=o.schema.value)==null?void 0:C.values)!=null&&h.referenceable)}),U=t.computed(()=>({referenceable:V.value}));function y(C,h){p.value[C].value=h}return n({reset:()=>{p.value=c(a.initialValue||{})},setValue:C=>{p.value=c(C)}}),(C,h)=>{var w;const P=t.resolveComponent("KAlert"),ne=t.resolveComponent("KLabel"),J=t.resolveComponent("KButton"),X=t.resolveComponent("KInput");return o.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:o.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:"ff-kv-field","data-testid":`ff-kv-${o.path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${o.path.value}`},[t.createVNode(ne,t.mergeProps({class:"ff-kv-field-label"},t.unref(l),{"data-testid":`ff-label-${o.path.value}`,"tooltip-attributes":t.unref(l).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(w=t.unref(l).labelAttributes)!=null&&w.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,Gf)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(J,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${o.path.value}`,icon:"",onClick:A},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:1},8,["data-testid"])],8,Mf),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(v,I)=>(t.openBlock(),t.createElementBlock("div",{key:v.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${o.path.value}.${I}`},[t.createVNode(X,{modelValue:v.key,"onUpdate:modelValue":N=>v.key=N,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":I,"data-testid":`ff-key-${o.path.value}.${I}`,placeholder:C.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(N=>g(I,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(X,{modelValue:v.value,"onUpdate:modelValue":N=>v.value=N,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${o.path.value}.${I}`,"data-value-input":I,placeholder:C.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(N=>E(I),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(x)&&V.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(x)),{key:0,schema:U.value,update:N=>y(I,N),value:v.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),V.value&&!t.unref(x)?(t.openBlock(),t.createBlock(P,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${o.path.value}`,message:t.unref(s).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(J,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${o.path.value}.${I}`,icon:"",onClick:N=>m(v.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,qf))),128))],8,jf))}}}),[["__scopeId","data-v-51cf2493"]]),zf=["data-testid"],Wf=["innerHTML"],Di=ce(t.defineComponent({inheritAttrs:!1,__name:"TagField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},type:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),a=t.createPropsRestProxy(e,["name"]),i=n,{value:o,...l}=et(t.toRef(()=>e.name)),s=ot(l.path,t.toRef({...a,...r})),u=t.computed(()=>{var b,g;return((g=(b=l.schema)==null?void 0:b.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),p=t.ref("");function d(b){return b.map(g=>g.trim()).filter(Boolean).join(", ")}function c(b){return b.trim().split(",").map(g=>g.trim()).filter(Boolean)}function f(b){p.value=b;const g=c(b),A=!g.length&&u.value?null:g;o.value=A,i("update:modelValue",A)}const m=kr(l.ancestors),k=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:hr(e.name)==="name");return t.watch(o,b=>{const g=b?d(b):"";d(c(p.value))!==g&&(p.value=g)},{immediate:!0}),(b,g)=>{var E;const A=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(A,{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(t.unref(Ae.KInput),t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":k.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":p.value??"","onUpdate:modelValue":f}),t.createSlots({_:2},[(E=t.unref(s).labelAttributes)!=null&&E.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(b.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Wf)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,zf))}}}),[["__scopeId","data-v-6836b714"]]),kt=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},setup(e){const n=e,r=et(t.toRef(n,"name")),a=t.computed(()=>{var i,o;switch((o=(i=r.schema)==null?void 0:i.value)==null?void 0:o.type){case"string":return"one_of"in r.schema.value?Rt:Li;case"boolean":return"one_of"in r.schema.value?Rt:xf;case"number":case"integer":return"one_of"in r.schema.value?Rt:Kf;case"array":return Cr;case"set":return hf(r.schema)?Di:Rt;case"record":return _t;case"map":return Hf;default:return}});return(i,o)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(It)]))),t.unref(r).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(r).error.message},null,8,["message"])):t.unref(r).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).renderer.value),{key:1,name:gr(t.unref(r).path.value)},null,8,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[a.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.value),{key:0,name:gr(t.unref(r).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(r).path.value} ${t.unref(r).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),Yf=["data-testid"],Jf=["data-testid"],Xf=["innerHTML"],Qf=["data-testid"],Zf={class:"ff-array-field-item-content"},em=["data-index","data-testid"],Cr=ce(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 y;t.useCssVars(C=>({"17c340e7":U.value}));const r=e,a=n,{i18n:{t:i}}=at(),{getDefault:o}=Me(),{value:l,...s}=et(t.toRef(r,"name")),u=ot(s.path,t.toRef({...r,...t.useAttrs()})),p=t.reactive(new Map),d=t.computed(()=>r.items??t.toValue(l)??[]),c=t.computed(()=>r.appearance==="card"?Ae.KCard:"div");function f(){return fr("ff-array-field-")}function m(C,h){return C!=null&&typeof C=="object"?p.get(C):`ff-array-field-${h}`}function k(C,h){return typeof r.itemLabel=="function"?r.itemLabel(C,h):r.itemLabel||u.value.label||`Item #${h}`}t.watch(d,C=>{C.forEach(P=>{p.has(P)||p.set(P,f())});const h=new Set(C);[...p.keys()].forEach(P=>{h.has(P)||p.delete(P)})},{immediate:!0,deep:!0});const b=t.computed(()=>d.value.map((C,h)=>({hash:`#${m(C,h)}`,title:""}))),g=t.ref((y=b.value[0])==null?void 0:y.hash),A=async()=>{var h;const C=o(He(s.path.value,mr));Array.isArray(l.value)||(l.value=[]),l.value.push(C),a("add"),r.appearance==="tabs"&&(await t.nextTick(),g.value=(h=b.value[b.value.length-1])==null?void 0:h.hash),await t.nextTick(),V(d.value.length+1)},E=async C=>{var h;Array.isArray(l.value)&&l.value.splice(C,1),a("remove",C),r.appearance==="tabs"&&(g.value=(h=b.value[Math.max(0,C-1)])==null?void 0:h.hash)},x=t.useTemplateRef("root");function V(C){var P;if(!x.value)return;const h=Math.max(0,Math.min(C,d.value.length-1));(P=x.value.querySelector(`[data-index="${h}"] [data-autofocus]`))==null||P.focus()}const U=t.computed(()=>{const{appearance:C,stickyTabs:h}=r;return C!=="tabs"||h==null||h===!1?null:typeof h=="number"?`${r.stickyTabs}px`:typeof h=="string"?h:"0"});return(C,h)=>{var w;const P=t.resolveComponent("KAlert"),ne=t.resolveComponent("KLabel"),J=t.resolveComponent("KButton"),X=t.resolveComponent("KTabs");return s.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:x,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${C.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":C.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(ne,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${s.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(w=t.unref(u).labelAttributes)!=null&&w.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,Xf)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(J,{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:A},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,Jf),d.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[C.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(d.value,(v,I)=>(t.openBlock(),t.createBlock(t.unref(c),{key:m(v,I),class:"ff-array-field-item","data-index":I,"data-testid":`ff-array-item-${s.path.value}.${I}`},{default:t.withCtx(()=>[t.createElementVNode("div",Zf,[C.$slots.item?t.renderSlot(C.$slots,"item",{key:0,fieldName:String(I),index:I},void 0,!0):(t.openBlock(),t.createBlock(kt,{key:1,name:String(I)},null,8,["name"]))]),t.createVNode(J,{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}.${I}`,icon:"",onClick:N=>E(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,Qf)):(t.openBlock(),t.createBlock(t.unref(Ae.KCard),{key:1,"data-testid":`ff-array-tab-container-${s.path.value}`},{default:t.withCtx(()=>[t.createVNode(X,{modelValue:g.value,"onUpdate:modelValue":h[0]||(h[0]=v=>g.value=v),"data-testid":`ff-array-tabs-${s.path.value}`,tabs:b.value},t.createSlots({_:2},[t.renderList(d.value,(v,I)=>({name:m(v,I),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":I,"data-testid":`ff-array-item-${s.path.value}.${I}`},[C.$slots.item?t.renderSlot(C.$slots,"item",{key:0,fieldName:String(I),index:I},void 0,!0):(t.openBlock(),t.createBlock(kt,{key:1,name:String(I)},null,8,["name"]))],8,em)])})),t.renderList(d.value,(v,I)=>({name:`${m(v,I)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k(v,I))+" ",1),t.createVNode(J,{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}.${I}`,icon:"",onClick:t.withModifiers(N=>E(I),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,Yf))}}}),[["__scopeId","data-v-1219bf57"]]),Yt=Symbol(),tm=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=Me(),a=t.computed(()=>{const{callouts:l}=r.config;return l==null?[]:l.filter(({name:s})=>{var u;return s&&s!==((u=l[n.index])==null?void 0:u.name)})}),i=t.computed(()=>a.value.map(({[Yt]:l,name:s})=>({value:l,label:s}))),o=t.computed(()=>r.config.callouts[n.index]);return t.watch(i,()=>{o.value.depends_on=o.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(_t,{name:l.fieldName},{depends_on:t.withCtx(u=>[t.createVNode(Rt,t.mergeProps(u,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(u=>[t.createVNode(_t,t.mergeProps(u,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(p=>[t.createVNode(Rt,t.mergeProps(p,{items:t.unref(wi)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),nm=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n,getDefault:r}=Me();function a(){const i=r("config.callouts.*");i.request.body.custom=i.request.body.custom??{};const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Yt]=Bi())}return(i,o)=>(t.openBlock(),t.createBlock(Cr,{appearance:"tabs","item-label":l=>l.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:a},{item:t.withCtx(({index:l,fieldName:s})=>[t.createVNode(tm,{"field-name":s,index:l},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),$i=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:r}=t.useSlots(),a=t.inject(Sn);if(!a)throw new Error(Sn.toString()+"not provided");return r&&a.set(n.match,r),(i,o)=>null}}),Vi=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change"],setup(e,{emit:n}){var p;const r=n,a=t.useSlots(),i=bf(e.schema);t.provide(vi,i);const o=d=>{var c;return Mn((c=e.config)==null?void 0:c.hasValue)?e.config.hasValue(d):!!d},l=t.computed(()=>{let d=i.getSchema().fields;return e.fieldsOrder?d.sort((c,f)=>{const m=Object.keys(c)[0],k=Object.keys(f)[0],b=e.fieldsOrder.indexOf(m),g=e.fieldsOrder.indexOf(k);return b===-1&&g===-1?0:b===-1?1:g===-1?-1:b-g}):d}),s=t.reactive((p=e.config)!=null&&p.prepareFormData?e.config.prepareFormData(o(e.data)?e.data:i.getDefault()):o(e.data)?e.data:i.getDefault());t.provide(Ti,s),t.provide(yr,df(a,"default",It));const u=new Map;return t.provide(Sn,u),t.provide(Oi,e.config??{}),t.watch(s,d=>{r("change",t.toValue(d))},{deep:!0,immediate:!0}),(d,c)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(a)[t.unref(It)]))),t.renderSlot(d.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,f=>(t.openBlock(),t.createBlock(kt,{key:Object.keys(f)[0],name:Object.keys(f)[0]},null,8,["name"]))),128))])]),_:3}))}}),rm={class:"ff-advanced-fields"},am=ce(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=$e.createI18n("en-us",qe),{getSchema:r}=Me(),a=t.ref(!0);return(i,o)=>(t.openBlock(),t.createBlock(t.unref(Ae.KCollapse),{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=l=>a.value=l),"trigger-label":a.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",rm,[t.unref(r)("instance_name")?(t.openBlock(),t.createBlock(kt,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(r)("protocols")?(t.openBlock(),t.createBlock(kt,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(r)("tags")?(t.openBlock(),t.createBlock(Di,{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"]]),im=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const r=n,a={prepareFormData:l,hasValue:s},{i18n:{t:i}}=at();function o(p,d=!1){return p.reduce((c,{[Yt]:f,name:m})=>(d?c[m]=f:c[f]=m,c),{})}function l(p){var m;const d=yi(p);if(!((m=d.config)!=null&&m.callouts))return d;const{callouts:c}=d.config;c.forEach(k=>{k.request.body.custom=k.request.body.custom??{},k[Yt]=Bi()});const f=o(c,!0);return c.forEach(k=>{k.depends_on=k.depends_on.map(b=>f[b])}),d}function s(p){return!!(p!=null&&p.config)}function u(p){var f;if(!p)return;const d=yi(p);if(!((f=d.config)!=null&&f.callouts))throw new Error("data is not correct");const c=o(d.config.callouts);d.config.callouts=d.config.callouts.map(m=>{const{[Yt]:k,depends_on:b,...g}=m;return{depends_on:b.map(A=>c[A]).filter(A=>A!=null),...g}}),r("change",d)}return(p,d)=>(t.openBlock(),t.createBlock(Vi,{class:"rc-config-form",config:a,data:p.data,schema:p.schema,tag:"div",onChange:u},{[t.unref(It)]:t.withCtx(()=>[t.createVNode($i,{match:({path:c})=>c.endsWith("by_lua")},{default:t.withCtx(c=>[t.createVNode(Li,t.mergeProps(c,{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($i,{match:({path:c})=>["cluster_nodes","sentinel_nodes"].some(f=>c.endsWith(f))},{default:t.withCtx(c=>[t.createVNode(Cr,t.mergeProps(c,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(_t,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(nm),t.createVNode(_t,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(_t,{appearance:"card",name:"cache"},{redis:t.withCtx(c=>[t.createVNode(_t,t.mergeProps(c,{"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(am)]),_:2},1032,["data","schema"]))}}),om={class:"sc-form-pinned-fields"},lm={class:"sc-form-config-form"},sm=ce(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=$e.createI18n("en-us",qe),r=e;t.useSlots();function a(d){return t.computed(()=>({fields:t.toValue(d).map(c=>{var f;return(f=r.formSchema)==null?void 0:f.fields.find(m=>m.model===c)}).filter(Boolean)}))}const o=a(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const d=r.schema;d.fields=d.fields.filter(f=>l.includes(Object.keys(f)[0])),d.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 c=d.fields.find(f=>Object.keys(f)[0]==="protocols");return c&&(c.protocols.help=c.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:c.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),c.protocols.description=n("plugins.form.fields.protocols.help")),d}),u=t.ref(!1);function p(d){return pr(d,["config","instance_name","partials","protocols","tags"])}return(d,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",om,[t.createVNode(t.unref(ke.VueFormGenerator),{model:d.formModel,options:d.formOptions,schema:t.unref(o),onModelUpdated:d.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Ae.KCollapse),{modelValue:u.value,"onUpdate:modelValue":c[1]||(c[1]=f=>u.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",lm,[t.renderSlot(d.$slots,"default",{data:p(d.model),schema:s.value,onChange:c[0]||(c[0]=(...f)=>d.onFormChange&&d.onFormChange(...f))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-69e89166"]]),cm=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,r=t.useSlots();return t.provide(ke.AUTOFILL_SLOT,r==null?void 0:r[ke.AUTOFILL_SLOT_NAME]),(a,i)=>(t.openBlock(),t.createBlock(sm,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(o=>[t.createVNode(im,t.normalizeProps(t.guardReactiveProps(o)),null,16)]),_:1},16))}}),um={};function dm(e,n){return t.openBlock(),t.createElementBlock("div",null,"TODO")}const pm=ce(um,[["render",dm]]),fm={class:"ff-form-section"},mm={class:"header"},gm={key:0,class:"step"},hm={class:"header-content"},ym={class:"header-title"},bm={key:0,class:"header-description"},_m={key:1,class:"header-extra"},km={class:"content"},Fi=ce(t.defineComponent({__name:"FormSection",props:{step:{},title:{},description:{}},setup(e){const n=t.useSlots();return(r,a)=>(t.openBlock(),t.createElementBlock("div",fm,[t.createElementVNode("header",mm,[r.step!=null?(t.openBlock(),t.createElementBlock("div",gm,t.toDisplayString(r.step),1)):t.createCommentVNode("",!0),t.createElementVNode("div",hm,[t.createElementVNode("h2",ym,[t.renderSlot(r.$slots,"title",{},()=>[t.createTextVNode(t.toDisplayString(r.title),1)],!0)]),r.description||n.description?(t.openBlock(),t.createElementBlock("div",bm,[t.renderSlot(r.$slots,"description",{},()=>[t.createTextVNode(t.toDisplayString(r.description),1)],!0)])):t.createCommentVNode("",!0)]),n.extra?(t.openBlock(),t.createElementBlock("div",_m,[t.renderSlot(r.$slots,"extra",{},void 0,!0)])):t.createCommentVNode("",!0)]),t.createElementVNode("div",km,[t.renderSlot(r.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-cb7f76f1"]]),Cm={class:"ff-standard-layout"},Am={class:"enabled"},wm={class:"scope"},Em={key:0,class:"scope-detail"},Sm=ce(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}=$e.createI18n("en-us",qe),r=e,a=t.useSlots();t.provide(ke.AUTOFILL_SLOT,a==null?void 0:a[ke.AUTOFILL_SLOT_NAME]);const i=t.computed(()=>{var g;return{fields:(g=r.formSchema)==null?void 0:g.fields.filter(A=>A.model==="enabled")}}),o=t.computed(()=>{var g;return(g=r.formSchema)==null?void 0:g.fields.find(A=>A.model==="selectionGroup")}),l=t.computed(()=>(o.value.fields||[]).map(({label:g,description:A})=>({label:g,description:A}))),s=t.computed(()=>o.value.fields[1]),u=t.computed(()=>{var A;const g=["instance_name","protocols","tags"];return{fields:(A=r.formSchema)==null?void 0:A.fields.filter(E=>g.includes(E.model))}}),p=["config"],d=t.computed(()=>{const g=r.schema;return g.fields=g.fields.filter(A=>p.includes(Object.keys(A)[0])),g});function c(g){return pr(g,["config","partials"])}const f=t.ref(!1),m=t.ref(!0),k=pr(r.formModel,["service-id","route-id","consumer-id","consumer_group-id"]);function b(g,A){k[A]=g,r.onModelUpdated(g,A)}return t.watch(f,g=>{g?Object.keys(k).forEach(A=>{r.onModelUpdated(k[A],A)}):Object.keys(k).forEach(A=>{r.onModelUpdated("",A)})}),(g,A)=>{const E=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Cm,[t.createVNode(Fi,{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",Am,[t.createVNode(t.unref(ke.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",wm,[t.createVNode(t.unref(Ae.KRadio),t.mergeProps({modelValue:f.value,"onUpdate:modelValue":A[0]||(A[0]=x=>f.value=x),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(Ae.KRadio),t.mergeProps({modelValue:f.value,"onUpdate:modelValue":A[1]||(A[1]=x=>f.value=x),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),f.value?(t.openBlock(),t.createElementBlock("div",Em,[t.createVNode(t.unref(ke.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:b},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(E,{modelValue:m.value,"onUpdate:modelValue":A[2]||(A[2]=x=>m.value=x),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(ke.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:u.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[a["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,a["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,a["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(Fi,{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:c(g.model),schema:d.value,onChange:A[3]||(A[3]=(...x)=>g.onFormChange&&g.onFormChange(...x))},void 0,!0)]),_:2},[a["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,a["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,a["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-3644f36d"]]);typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Pm=e=>e!=null;/*!
|
|
12
12
|
* tabbable 6.2.0
|
|
13
13
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
14
|
-
*/var
|
|
14
|
+
*/var Ki=["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])"],Pn=Ki.join(","),Ui=typeof Element>"u",Ct=Ui?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Tn=!Ui&&Element.prototype.getRootNode?function(e){var n;return e==null||(n=e.getRootNode)===null||n===void 0?void 0:n.call(e)}:function(e){return e==null?void 0:e.ownerDocument},vn=function e(n,r){var a;r===void 0&&(r=!0);var i=n==null||(a=n.getAttribute)===null||a===void 0?void 0:a.call(n,"inert"),o=i===""||i==="true",l=o||r&&n&&e(n.parentNode);return l},Tm=function(n){var r,a=n==null||(r=n.getAttribute)===null||r===void 0?void 0:r.call(n,"contenteditable");return a===""||a==="true"},ji=function(n,r,a){if(vn(n))return[];var i=Array.prototype.slice.apply(n.querySelectorAll(Pn));return r&&Ct.call(n,Pn)&&i.unshift(n),i=i.filter(a),i},Mi=function e(n,r,a){for(var i=[],o=Array.from(n);o.length;){var l=o.shift();if(!vn(l,!1))if(l.tagName==="SLOT"){var s=l.assignedElements(),u=s.length?s:l.children,p=e(u,!0,a);a.flatten?i.push.apply(i,p):i.push({scopeParent:l,candidates:p})}else{var d=Ct.call(l,Pn);d&&a.filter(l)&&(r||!n.includes(l))&&i.push(l);var c=l.shadowRoot||typeof a.getShadowRoot=="function"&&a.getShadowRoot(l),f=!vn(c,!1)&&(!a.shadowRootFilter||a.shadowRootFilter(l));if(c&&f){var m=e(c===!0?l.children:c.children,!0,a);a.flatten?i.push.apply(i,m):i.push({scopeParent:l,candidates:m})}else o.unshift.apply(o,l.children)}}return i},Gi=function(n){return!isNaN(parseInt(n.getAttribute("tabindex"),10))},At=function(n){if(!n)throw new Error("No node provided");return n.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(n.tagName)||Tm(n))&&!Gi(n)?0:n.tabIndex},vm=function(n,r){var a=At(n);return a<0&&r&&!Gi(n)?0:a},Nm=function(n,r){return n.tabIndex===r.tabIndex?n.documentOrder-r.documentOrder:n.tabIndex-r.tabIndex},qi=function(n){return n.tagName==="INPUT"},Om=function(n){return qi(n)&&n.type==="hidden"},xm=function(n){var r=n.tagName==="DETAILS"&&Array.prototype.slice.apply(n.children).some(function(a){return a.tagName==="SUMMARY"});return r},Im=function(n,r){for(var a=0;a<n.length;a++)if(n[a].checked&&n[a].form===r)return n[a]},Rm=function(n){if(!n.name)return!0;var r=n.form||Tn(n),a=function(s){return r.querySelectorAll('input[type="radio"][name="'+s+'"]')},i;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")i=a(window.CSS.escape(n.name));else try{i=a(n.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 o=Im(i,n.form);return!o||o===n},Bm=function(n){return qi(n)&&n.type==="radio"},Lm=function(n){return Bm(n)&&!Rm(n)},Dm=function(n){var r,a=n&&Tn(n),i=(r=a)===null||r===void 0?void 0:r.host,o=!1;if(a&&a!==n){var l,s,u;for(o=!!((l=i)!==null&&l!==void 0&&(s=l.ownerDocument)!==null&&s!==void 0&&s.contains(i)||n!=null&&(u=n.ownerDocument)!==null&&u!==void 0&&u.contains(n));!o&&i;){var p,d,c;a=Tn(i),i=(p=a)===null||p===void 0?void 0:p.host,o=!!((d=i)!==null&&d!==void 0&&(c=d.ownerDocument)!==null&&c!==void 0&&c.contains(i))}}return o},Hi=function(n){var r=n.getBoundingClientRect(),a=r.width,i=r.height;return a===0&&i===0},$m=function(n,r){var a=r.displayCheck,i=r.getShadowRoot;if(getComputedStyle(n).visibility==="hidden")return!0;var o=Ct.call(n,"details>summary:first-of-type"),l=o?n.parentElement:n;if(Ct.call(l,"details:not([open]) *"))return!0;if(!a||a==="full"||a==="legacy-full"){if(typeof i=="function"){for(var s=n;n;){var u=n.parentElement,p=Tn(n);if(u&&!u.shadowRoot&&i(u)===!0)return Hi(n);n.assignedSlot?n=n.assignedSlot:!u&&p!==n.ownerDocument?n=p.host:n=u}n=s}if(Dm(n))return!n.getClientRects().length;if(a!=="legacy-full")return!0}else if(a==="non-zero-area")return Hi(n);return!1},Vm=function(n){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(n.tagName))for(var r=n.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var a=0;a<r.children.length;a++){var i=r.children.item(a);if(i.tagName==="LEGEND")return Ct.call(r,"fieldset[disabled] *")?!0:!i.contains(n)}return!0}r=r.parentElement}return!1},Nn=function(n,r){return!(r.disabled||vn(r)||Om(r)||$m(r,n)||xm(r)||Vm(r))},Ar=function(n,r){return!(Lm(r)||At(r)<0||!Nn(n,r))},Fm=function(n){var r=parseInt(n.getAttribute("tabindex"),10);return!!(isNaN(r)||r>=0)},Km=function e(n){var r=[],a=[];return n.forEach(function(i,o){var l=!!i.scopeParent,s=l?i.scopeParent:i,u=vm(s,l),p=l?e(i.candidates):s;u===0?l?r.push.apply(r,p):r.push(s):a.push({documentOrder:o,tabIndex:u,item:i,isScope:l,content:p})}),a.sort(Nm).reduce(function(i,o){return o.isScope?i.push.apply(i,o.content):i.push(o.content),i},[]).concat(r)},Um=function(n,r){r=r||{};var a;return r.getShadowRoot?a=Mi([n],r.includeContainer,{filter:Ar.bind(null,r),flatten:!1,getShadowRoot:r.getShadowRoot,shadowRootFilter:Fm}):a=ji(n,r.includeContainer,Ar.bind(null,r)),Km(a)},jm=function(n,r){r=r||{};var a;return r.getShadowRoot?a=Mi([n],r.includeContainer,{filter:Nn.bind(null,r),flatten:!0,getShadowRoot:r.getShadowRoot}):a=ji(n,r.includeContainer,Nn.bind(null,r)),a},Bt=function(n,r){if(r=r||{},!n)throw new Error("No node provided");return Ct.call(n,Pn)===!1?!1:Ar(r,n)},Mm=Ki.concat("iframe").join(","),wr=function(n,r){if(r=r||{},!n)throw new Error("No node provided");return Ct.call(n,Mm)===!1?!1:Nn(r,n)};/*!
|
|
15
15
|
* focus-trap 7.6.5
|
|
16
16
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
17
|
-
*/function
|
|
18
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ji(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,a)}return r}function Wi(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Ji(Object(r),!0).forEach(function(a){Xf(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ji(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Zf(e){return zf(e)||Jf(e)||$f(e)||Wf()}function qf(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,n);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function _f(e){var n=qf(e,"string");return typeof n=="symbol"?n:n+""}function $f(e,n){if(e){if(typeof e=="string")return vr(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vr(e,n):void 0}}var Zi={activateTrap:function(n,r){if(n.length>0){var a=n[n.length-1];a!==r&&a._setPausedState(!0)}var i=n.indexOf(r);i===-1||n.splice(i,1),n.push(r)},deactivateTrap:function(n,r){var a=n.indexOf(r);a!==-1&&n.splice(a,1),n.length>0&&!n[n.length-1]._isManuallyPaused()&&n[n.length-1]._setPausedState(!1)}},eg=function(n){return n.tagName&&n.tagName.toLowerCase()==="input"&&typeof n.select=="function"},tg=function(n){return(n==null?void 0:n.key)==="Escape"||(n==null?void 0:n.key)==="Esc"||(n==null?void 0:n.keyCode)===27},Zt=function(n){return(n==null?void 0:n.key)==="Tab"||(n==null?void 0:n.keyCode)===9},ng=function(n){return Zt(n)&&!n.shiftKey},rg=function(n){return Zt(n)&&n.shiftKey},qi=function(n){return setTimeout(n,0)},qt=function(n){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];return typeof n=="function"?n.apply(void 0,a):n},Sn=function(n){return n.target.shadowRoot&&typeof n.composedPath=="function"?n.composedPath()[0]:n.target},ag=[],ig=function(n,r){var a=(r==null?void 0:r.document)||document,i=(r==null?void 0:r.trapStack)||ag,o=Wi({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:ng,isKeyBackward:rg},r),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,u=function(B,O,T){return B&&B[O]!==void 0?B[O]:o[T||O]},d=function(B,O){var T=typeof(O==null?void 0:O.composedPath)=="function"?O.composedPath():void 0;return l.containerGroups.findIndex(function(R){var F=R.container,z=R.tabbableNodes;return F.contains(B)||(T==null?void 0:T.includes(F))||z.find(function(D){return D===B})})},A=function(B){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},T=O.hasFallback,R=T===void 0?!1:T,F=O.params,z=F===void 0?[]:F,D=o[B];if(typeof D=="function"&&(D=D.apply(void 0,Zf(z))),D===!0&&(D=void 0),!D){if(D===void 0||D===!1)return D;throw new Error("`".concat(B,"` was specified but was not a node, or did not return a node"))}var S=D;if(typeof D=="string"){try{S=a.querySelector(D)}catch(M){throw new Error("`".concat(B,'` appears to be an invalid selector; error="').concat(M.message,'"'))}if(!S&&!R)throw new Error("`".concat(B,"` as selector refers to no known node"))}return S},c=function(){var B=A("initialFocus",{hasFallback:!0});if(B===!1)return!1;if(B===void 0||B&&!Ir(B,o.tabbableOptions))if(d(a.activeElement)>=0)B=a.activeElement;else{var O=l.tabbableGroups[0],T=O&&O.firstTabbableNode;B=T||A("fallbackFocus")}else B===null&&(B=A("fallbackFocus"));if(!B)throw new Error("Your focus-trap needs to have at least one focusable element");return B},p=function(){if(l.containerGroups=l.containers.map(function(B){var O=jf(B,o.tabbableOptions),T=Kf(B,o.tabbableOptions),R=O.length>0?O[0]:void 0,F=O.length>0?O[O.length-1]:void 0,z=T.find(function(M){return Nt(M)}),D=T.slice().reverse().find(function(M){return Nt(M)}),S=!!O.find(function(M){return Bt(M)>0});return{container:B,tabbableNodes:O,focusableNodes:T,posTabIndexesFound:S,firstTabbableNode:R,lastTabbableNode:F,firstDomTabbableNode:z,lastDomTabbableNode:D,nextTabbableNode:function(W){var se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ye=O.indexOf(W);return ye<0?se?T.slice(T.indexOf(W)+1).find(function(Ae){return Nt(Ae)}):T.slice(0,T.indexOf(W)).reverse().find(function(Ae){return Nt(Ae)}):O[ye+(se?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(B){return B.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!A("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(B){return B.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.")},f=function(B){var O=B.activeElement;if(O)return O.shadowRoot&&O.shadowRoot.activeElement!==null?f(O.shadowRoot):O},E=function(B){if(B!==!1&&B!==f(document)){if(!B||!B.focus){E(c());return}B.focus({preventScroll:!!o.preventScroll}),l.mostRecentlyFocusedNode=B,eg(B)&&B.select()}},y=function(B){var O=A("setReturnFocus",{params:[B]});return O||(O===!1?!1:B)},g=function(B){var O=B.target,T=B.event,R=B.isBackward,F=R===void 0?!1:R;O=O||Sn(T),p();var z=null;if(l.tabbableGroups.length>0){var D=d(O,T),S=D>=0?l.containerGroups[D]:void 0;if(D<0)F?z=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:z=l.tabbableGroups[0].firstTabbableNode;else if(F){var M=l.tabbableGroups.findIndex(function(H){var X=H.firstTabbableNode;return O===X});if(M<0&&(S.container===O||Ir(O,o.tabbableOptions)&&!Nt(O,o.tabbableOptions)&&!S.nextTabbableNode(O,!1))&&(M=D),M>=0){var W=M===0?l.tabbableGroups.length-1:M-1,se=l.tabbableGroups[W];z=Bt(O)>=0?se.lastTabbableNode:se.lastDomTabbableNode}else Zt(T)||(z=S.nextTabbableNode(O,!1))}else{var ye=l.tabbableGroups.findIndex(function(H){var X=H.lastTabbableNode;return O===X});if(ye<0&&(S.container===O||Ir(O,o.tabbableOptions)&&!Nt(O,o.tabbableOptions)&&!S.nextTabbableNode(O))&&(ye=D),ye>=0){var Ae=ye===l.tabbableGroups.length-1?0:ye+1,V=l.tabbableGroups[Ae];z=Bt(O)>=0?V.firstTabbableNode:V.firstDomTabbableNode}else Zt(T)||(z=S.nextTabbableNode(O))}}else z=A("fallbackFocus");return z},C=function(B){var O=Sn(B);if(!(d(O,B)>=0)){if(qt(o.clickOutsideDeactivates,B)){s.deactivate({returnFocus:o.returnFocusOnDeactivate});return}qt(o.allowOutsideClick,B)||B.preventDefault()}},I=function(B){var O=Sn(B),T=d(O,B)>=0;if(T||O instanceof Document)T&&(l.mostRecentlyFocusedNode=O);else{B.stopImmediatePropagation();var R,F=!0;if(l.mostRecentlyFocusedNode)if(Bt(l.mostRecentlyFocusedNode)>0){var z=d(l.mostRecentlyFocusedNode),D=l.containerGroups[z].tabbableNodes;if(D.length>0){var S=D.findIndex(function(M){return M===l.mostRecentlyFocusedNode});S>=0&&(o.isKeyForward(l.recentNavEvent)?S+1<D.length&&(R=D[S+1],F=!1):S-1>=0&&(R=D[S-1],F=!1))}}else l.containerGroups.some(function(M){return M.tabbableNodes.some(function(W){return Bt(W)>0})})||(F=!1);else F=!1;F&&(R=g({target:l.mostRecentlyFocusedNode,isBackward:o.isKeyBackward(l.recentNavEvent)})),E(R||l.mostRecentlyFocusedNode||c())}l.recentNavEvent=void 0},x=function(B){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=B;var T=g({event:B,isBackward:O});T&&(Zt(B)&&B.preventDefault(),E(T))},U=function(B){(o.isKeyForward(B)||o.isKeyBackward(B))&&x(B,o.isKeyBackward(B))},Y=function(B){tg(B)&&qt(o.escapeDeactivates,B)!==!1&&(B.preventDefault(),s.deactivate())},h=function(B){var O=Sn(B);d(O,B)>=0||qt(o.clickOutsideDeactivates,B)||qt(o.allowOutsideClick,B)||(B.preventDefault(),B.stopImmediatePropagation())},w=function(){if(l.active)return Zi.activateTrap(i,s),l.delayInitialFocusTimer=o.delayInitialFocus?qi(function(){E(c())}):E(c()),a.addEventListener("focusin",I,!0),a.addEventListener("mousedown",C,{capture:!0,passive:!1}),a.addEventListener("touchstart",C,{capture:!0,passive:!1}),a.addEventListener("click",h,{capture:!0,passive:!1}),a.addEventListener("keydown",U,{capture:!0,passive:!1}),a.addEventListener("keydown",Y),s},m=function(){if(l.active)return a.removeEventListener("focusin",I,!0),a.removeEventListener("mousedown",C,!0),a.removeEventListener("touchstart",C,!0),a.removeEventListener("click",h,!0),a.removeEventListener("keydown",U,!0),a.removeEventListener("keydown",Y),s},P=function(B){var O=B.some(function(T){var R=Array.from(T.removedNodes);return R.some(function(F){return F===l.mostRecentlyFocusedNode})});O&&E(c())},ne=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(P):void 0,Z=function(){ne&&(ne.disconnect(),l.active&&!l.paused&&l.containers.map(function(B){ne.observe(B,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(B){if(l.active)return this;var O=u(B,"onActivate"),T=u(B,"onPostActivate"),R=u(B,"checkCanFocusTrap");R||p(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=f(a),O==null||O();var F=function(){R&&p(),w(),Z(),T==null||T()};return R?(R(l.containers.concat()).then(F,F),this):(F(),this)},deactivate:function(B){if(!l.active)return this;var O=Wi({onDeactivate:o.onDeactivate,onPostDeactivate:o.onPostDeactivate,checkCanReturnFocus:o.checkCanReturnFocus},B);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,m(),l.active=!1,l.paused=!1,Z(),Zi.deactivateTrap(i,s);var T=u(O,"onDeactivate"),R=u(O,"onPostDeactivate"),F=u(O,"checkCanReturnFocus"),z=u(O,"returnFocus","returnFocusOnDeactivate");T==null||T();var D=function(){qi(function(){z&&E(y(l.nodeFocusedBeforeActivation)),R==null||R()})};return z&&F?(F(y(l.nodeFocusedBeforeActivation)).then(D,D),this):(D(),this)},pause:function(B){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,B)):this},unpause:function(B){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,B)):this},updateContainerElements:function(B){var O=[].concat(B).filter(Boolean);return l.containers=O.map(function(T){return typeof T=="string"?a.querySelector(T):T}),l.active&&p(),Z(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(B,O){if(l.paused===B)return this;if(l.paused=B,B){var T=u(O,"onPause"),R=u(O,"onPostPause");T==null||T(),m(),Z(),R==null||R()}else{var F=u(O,"onUnpause"),z=u(O,"onPostUnpause");F==null||F(),p(),w(),Z(),z==null||z()}return this}}}),s.updateContainerElements(n),s};function og(e,n={}){let r;const{immediate:a,...i}=n,o=t.shallowRef(!1),l=t.shallowRef(!1),s=p=>r&&r.activate(p),u=p=>r&&r.deactivate(p),d=()=>{r&&(r.pause(),l.value=!0)},A=()=>{r&&(r.unpause(),l.value=!1)},c=t.computed(()=>{const p=t.toValue(e);return at.toArray(p).map(f=>{const E=t.toValue(f);return typeof E=="string"?E:at.unrefElement(E)}).filter(Of)});return t.watch(c,p=>{p.length&&(r=ig(p,{...i,onActivate(){o.value=!0,n.onActivate&&n.onActivate()},onDeactivate(){o.value=!1,n.onDeactivate&&n.onDeactivate()}}),a&&s())},{flush:"post"}),at.tryOnScopeDispose(()=>u()),{hasFocus:o,isPaused:l,activate:s,deactivate:u,pause:d,unpause:A}}const lg="44px",sg="220px",cg="366px",ug="#00abd2",Ag="16px",Pr="20px",dg="24px",kr=at.createGlobalState(()=>{const e=at.useLocalStorage("datakit-editor-mode","visual"),n=at.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});at.createInjectionState(()=>({}));const pg={class:"dk-editor-nav"},fg={class:"top"},gg={class:"bottom"},mg=ce(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=Le.createI18n("en-us",Qe),a=n,i=[{label:r("plugins.free-form.datakit.visual_editor.return_to_config"),icon:we.ArrowLeftIcon,onClick:()=>a("back")}],{sidePanelExpanded:o}=kr(),l=t.computed(()=>o.value?r("plugins.free-form.datakit.visual_editor.collapse_panel"):r("plugins.free-form.datakit.visual_editor.expand_panel")),s=t.ref(!1);function u(){o.value=!o.value}return(d,A)=>(t.openBlock(),t.createElementBlock("nav",pg,[t.createElementVNode("div",fg,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:c,to:p,icon:f,onClick:E})=>t.createVNode(t.unref(Ce.KTooltip),{key:c,"kpop-attributes":{offset:"10px"},label:c,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Ce.KButton),{key:c,appearance:"none",class:"nav-item",icon:"",to:p,onClick:E},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(f),{decorative:"",size:t.unref(Pr)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",gg,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(o)}]),onTransitionend:A[0]||(A[0]=t.withModifiers(c=>s.value=!1,["self"])),onTransitionstart:A[1]||(A[1]=t.withModifiers(c=>s.value=!0,["self"]))},[t.createVNode(t.unref(Ce.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(o)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:u},{default:t.withCtx(()=>[t.unref(o)?(t.openBlock(),t.createBlock(t.unref(we.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Pr)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(we.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Pr)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-bbf1c4a2"]]),hg={class:"dk-editor-main"},yg={class:"header"},bg={class:"actions"},Eg=ce(t.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:n}){const{t:r}=Le.createI18n("en-us",Qe),a=n;return(i,o)=>(t.openBlock(),t.createElementBlock("div",hg,[t.createElementVNode("header",yg,[t.createElementVNode("div",bg,[t.createVNode(t.unref(Ce.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.visual_editor.view_docs"))+" ",1),t.createVNode(t.unref(we.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Ce.KButton),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.visual_editor.save")),1)]),_:1})])]),t.createElementVNode("div",{class:"body",onClick:o[2]||(o[2]=l=>a("click:backdrop"))},[t.createElementVNode("button",{onClick:o[0]||(o[0]=t.withModifiers(l=>a("click:node",{id:"node-a",name:"Node A"}),["stop"]))}," Mock Node A "),t.createElementVNode("button",{onClick:o[1]||(o[1]=t.withModifiers(l=>a("click:node",{id:"node-b",name:"Node b"}),["stop"]))}," Mock Node B "),t.renderSlot(i.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-0d5be5b5"]]),{t:wg}=Le.createI18n("en-us",Qe);function _t(e){return wg(`plugins.free-form.datakit.visual_editor.node_description.${e}`)}const _i={call:{type:"call",description:_t("call"),icon:we.NetworkIcon},jq:{type:"jq",description:_t("jq"),icon:we.CodeblockIcon},exit:{type:"exit",description:_t("exit"),icon:we.GatewayIcon},property:{type:"property",description:_t("property"),icon:we.StackIcon},static:{type:"static",description:_t("static"),icon:we.VitalsIcon}},Cg={class:"icon"},Bg={class:"content"},Ig={class:"title"},vg={class:"description"},Pg=ce(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{description:n,icon:r}=_i[e.type];return(a,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${a.type}`]:!0}])},[t.createElementVNode("div",Cg,[t.createVNode(t.unref(r),{size:16})]),t.createElementVNode("div",Bg,[t.createElementVNode("div",Ig,t.toDisplayString(a.type),1),t.createElementVNode("div",vg,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-da9fb467"]]),kg={class:"dk-node-panel"},Og={class:"title"},Rg={class:"node-list"},Sg=ce(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=Le.createI18n("en-us",Qe);return(r,a)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",kg,[t.createElementVNode("h3",Og,[t.createVNode(i,{class:"label",info:t.unref(n)("plugins.free-form.datakit.visual_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",Rg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(_i)),o=>(t.openBlock(),t.createBlock(Pg,{key:o,type:o},null,8,["type"]))),128))])])}}}),[["__scopeId","data-v-d4299888"]]),xg=ce(t.defineComponent({__name:"nodePropertiesPanel",props:{maxWidth:{default:()=>cg},offsetTop:{default:"52px"},visible:{type:Boolean},node:{}},emits:["close"],setup(e){return(n,r)=>(t.openBlock(),t.createBlock(t.unref(Ce.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":n.maxWidth,"offset-top":n.offsetTop,visible:n.visible,onClose:r[0]||(r[0]=a=>n.$emit("close"))},{default:t.withCtx(()=>{var a;return[t.createTextVNode(t.toDisplayString((a=n.node)==null?void 0:a.id),1)]}),_:1},8,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-83e0b80b"]]),Tg={class:"dk-editor-content"},Mg={class:"header"},Dg={class:"title"},Ng={class:"body"},Gg={class:"node-selection-panel"},Lg={class:"main"},Ug=ce(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=Le.createI18n("en-us",Qe),{sidePanelExpanded:r}=kr(),a=t.ref(!1),i=t.ref(null),o=s=>{a.value=!0,i.value=s},l=()=>{a.value=!1,i.value=null};return(s,u)=>(t.openBlock(),t.createElementBlock("div",Tg,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r)}])},[t.createElementVNode("header",Mg,[t.createElementVNode("h2",Dg,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.name")),1)]),t.createElementVNode("div",Ng,[t.createElementVNode("div",Gg,[t.createVNode(Sg)])])],2),t.createElementVNode("div",Lg,[t.createVNode(Eg,{"onClick:backdrop":l,"onClick:node":o})]),t.createVNode(xg,{node:i.value,visible:a.value,onClose:u[0]||(u[0]=d=>a.value=!1)},null,8,["node","visible"])]))}}),[["__scopeId","data-v-e506e8e3"]]),Fg=ce(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:t.mergeModels(["close"],["update:open"]),setup(e,{emit:n}){t.useCssVars(A=>({"6aa6c909":t.unref(sg),fa2c871a:t.unref(lg)}));const r=t.useTemplateRef("modal"),a=t.useModel(e,"open"),i=n,o=t.useTemplateRef("content"),l=at.useScrollLock(document),{activate:s,deactivate:u}=og(r,{returnFocusOnDeactivate:!0,initialFocus:()=>{var A;return(A=o.value)==null?void 0:A.$el}});t.watch(a,async A=>{l.value=!!A,await t.nextTick(),A?s():u()},{immediate:!0});function d(){a.value=!1,i("close")}return(A,c)=>a.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"modal",ref:r,class:"dk-editor-modal"},[t.createVNode(mg,{class:"nav",onBack:d}),t.createVNode(Ug,{ref_key:"content",ref:o,class:"content",tabindex:"0"},null,512)],512)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-c8344db8"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function $i(e){return typeof e>"u"||e===null}function Hg(e){return typeof e=="object"&&e!==null}function Yg(e){return Array.isArray(e)?e:$i(e)?[]:[e]}function Vg(e,n){var r,a,i,o;if(n)for(o=Object.keys(n),r=0,a=o.length;r<a;r+=1)i=o[r],e[i]=n[i];return e}function jg(e,n){var r="",a;for(a=0;a<n;a+=1)r+=e;return r}function Kg(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Qg=$i,zg=Hg,Xg=Yg,Jg=jg,Wg=Kg,Zg=Vg,Re={isNothing:Qg,isObject:zg,toArray:Xg,repeat:Jg,isNegativeZero:Wg,extend:Zg};function eo(e,n){var r="",a=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(r+=`
|
|
17
|
+
*/function Er(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,a=Array(n);r<n;r++)a[r]=e[r];return a}function Gm(e){if(Array.isArray(e))return Er(e)}function qm(e,n,r){return(n=Jm(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Hm(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zm(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
18
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zi(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,a)}return r}function Wi(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?zi(Object(r),!0).forEach(function(a){qm(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):zi(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Wm(e){return Gm(e)||Hm(e)||Xm(e)||zm()}function Ym(e,n){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,n);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Jm(e){var n=Ym(e,"string");return typeof n=="symbol"?n:n+""}function Xm(e,n){if(e){if(typeof e=="string")return Er(e,n);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Er(e,n):void 0}}var Yi={activateTrap:function(n,r){if(n.length>0){var a=n[n.length-1];a!==r&&a._setPausedState(!0)}var i=n.indexOf(r);i===-1||n.splice(i,1),n.push(r)},deactivateTrap:function(n,r){var a=n.indexOf(r);a!==-1&&n.splice(a,1),n.length>0&&!n[n.length-1]._isManuallyPaused()&&n[n.length-1]._setPausedState(!1)}},Qm=function(n){return n.tagName&&n.tagName.toLowerCase()==="input"&&typeof n.select=="function"},Zm=function(n){return(n==null?void 0:n.key)==="Escape"||(n==null?void 0:n.key)==="Esc"||(n==null?void 0:n.keyCode)===27},Jt=function(n){return(n==null?void 0:n.key)==="Tab"||(n==null?void 0:n.keyCode)===9},eg=function(n){return Jt(n)&&!n.shiftKey},tg=function(n){return Jt(n)&&n.shiftKey},Ji=function(n){return setTimeout(n,0)},Xt=function(n){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];return typeof n=="function"?n.apply(void 0,a):n},On=function(n){return n.target.shadowRoot&&typeof n.composedPath=="function"?n.composedPath()[0]:n.target},ng=[],rg=function(n,r){var a=(r==null?void 0:r.document)||document,i=(r==null?void 0:r.trapStack)||ng,o=Wi({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:eg,isKeyBackward:tg},r),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,u=function(w,v,I){return w&&w[v]!==void 0?w[v]:o[I||v]},p=function(w,v){var I=typeof(v==null?void 0:v.composedPath)=="function"?v.composedPath():void 0;return l.containerGroups.findIndex(function(N){var F=N.container,H=N.tabbableNodes;return F.contains(w)||(I==null?void 0:I.includes(F))||H.find(function(B){return B===w})})},d=function(w){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},I=v.hasFallback,N=I===void 0?!1:I,F=v.params,H=F===void 0?[]:F,B=o[w];if(typeof B=="function"&&(B=B.apply(void 0,Wm(H))),B===!0&&(B=void 0),!B){if(B===void 0||B===!1)return B;throw new Error("`".concat(w,"` was specified but was not a node, or did not return a node"))}var O=B;if(typeof B=="string"){try{O=a.querySelector(B)}catch(R){throw new Error("`".concat(w,'` appears to be an invalid selector; error="').concat(R.message,'"'))}if(!O&&!N)throw new Error("`".concat(w,"` as selector refers to no known node"))}return O},c=function(){var w=d("initialFocus",{hasFallback:!0});if(w===!1)return!1;if(w===void 0||w&&!wr(w,o.tabbableOptions))if(p(a.activeElement)>=0)w=a.activeElement;else{var v=l.tabbableGroups[0],I=v&&v.firstTabbableNode;w=I||d("fallbackFocus")}else w===null&&(w=d("fallbackFocus"));if(!w)throw new Error("Your focus-trap needs to have at least one focusable element");return w},f=function(){if(l.containerGroups=l.containers.map(function(w){var v=Um(w,o.tabbableOptions),I=jm(w,o.tabbableOptions),N=v.length>0?v[0]:void 0,F=v.length>0?v[v.length-1]:void 0,H=I.find(function(R){return Bt(R)}),B=I.slice().reverse().find(function(R){return Bt(R)}),O=!!v.find(function(R){return At(R)>0});return{container:w,tabbableNodes:v,focusableNodes:I,posTabIndexesFound:O,firstTabbableNode:N,lastTabbableNode:F,firstDomTabbableNode:H,lastDomTabbableNode:B,nextTabbableNode:function(Y){var se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,be=v.indexOf(Y);return be<0?se?I.slice(I.indexOf(Y)+1).find(function(de){return Bt(de)}):I.slice(0,I.indexOf(Y)).reverse().find(function(de){return Bt(de)}):v[be+(se?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(w){return w.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!d("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(w){return w.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(w){var v=w.activeElement;if(v)return v.shadowRoot&&v.shadowRoot.activeElement!==null?m(v.shadowRoot):v},k=function(w){if(w!==!1&&w!==m(document)){if(!w||!w.focus){k(c());return}w.focus({preventScroll:!!o.preventScroll}),l.mostRecentlyFocusedNode=w,Qm(w)&&w.select()}},b=function(w){var v=d("setReturnFocus",{params:[w]});return v||(v===!1?!1:w)},g=function(w){var v=w.target,I=w.event,N=w.isBackward,F=N===void 0?!1:N;v=v||On(I),f();var H=null;if(l.tabbableGroups.length>0){var B=p(v,I),O=B>=0?l.containerGroups[B]:void 0;if(B<0)F?H=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:H=l.tabbableGroups[0].firstTabbableNode;else if(F){var R=l.tabbableGroups.findIndex(function(K){var z=K.firstTabbableNode;return v===z});if(R<0&&(O.container===v||wr(v,o.tabbableOptions)&&!Bt(v,o.tabbableOptions)&&!O.nextTabbableNode(v,!1))&&(R=B),R>=0){var Y=R===0?l.tabbableGroups.length-1:R-1,se=l.tabbableGroups[Y];H=At(v)>=0?se.lastTabbableNode:se.lastDomTabbableNode}else Jt(I)||(H=O.nextTabbableNode(v,!1))}else{var be=l.tabbableGroups.findIndex(function(K){var z=K.lastTabbableNode;return v===z});if(be<0&&(O.container===v||wr(v,o.tabbableOptions)&&!Bt(v,o.tabbableOptions)&&!O.nextTabbableNode(v))&&(be=B),be>=0){var de=be===l.tabbableGroups.length-1?0:be+1,j=l.tabbableGroups[de];H=At(v)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else Jt(I)||(H=O.nextTabbableNode(v))}}else H=d("fallbackFocus");return H},A=function(w){var v=On(w);if(!(p(v,w)>=0)){if(Xt(o.clickOutsideDeactivates,w)){s.deactivate({returnFocus:o.returnFocusOnDeactivate});return}Xt(o.allowOutsideClick,w)||w.preventDefault()}},E=function(w){var v=On(w),I=p(v,w)>=0;if(I||v instanceof Document)I&&(l.mostRecentlyFocusedNode=v);else{w.stopImmediatePropagation();var N,F=!0;if(l.mostRecentlyFocusedNode)if(At(l.mostRecentlyFocusedNode)>0){var H=p(l.mostRecentlyFocusedNode),B=l.containerGroups[H].tabbableNodes;if(B.length>0){var O=B.findIndex(function(R){return R===l.mostRecentlyFocusedNode});O>=0&&(o.isKeyForward(l.recentNavEvent)?O+1<B.length&&(N=B[O+1],F=!1):O-1>=0&&(N=B[O-1],F=!1))}}else l.containerGroups.some(function(R){return R.tabbableNodes.some(function(Y){return At(Y)>0})})||(F=!1);else F=!1;F&&(N=g({target:l.mostRecentlyFocusedNode,isBackward:o.isKeyBackward(l.recentNavEvent)})),k(N||l.mostRecentlyFocusedNode||c())}l.recentNavEvent=void 0},x=function(w){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=w;var I=g({event:w,isBackward:v});I&&(Jt(w)&&w.preventDefault(),k(I))},V=function(w){(o.isKeyForward(w)||o.isKeyBackward(w))&&x(w,o.isKeyBackward(w))},U=function(w){Zm(w)&&Xt(o.escapeDeactivates,w)!==!1&&(w.preventDefault(),s.deactivate())},y=function(w){var v=On(w);p(v,w)>=0||Xt(o.clickOutsideDeactivates,w)||Xt(o.allowOutsideClick,w)||(w.preventDefault(),w.stopImmediatePropagation())},C=function(){if(l.active)return Yi.activateTrap(i,s),l.delayInitialFocusTimer=o.delayInitialFocus?Ji(function(){k(c())}):k(c()),a.addEventListener("focusin",E,!0),a.addEventListener("mousedown",A,{capture:!0,passive:!1}),a.addEventListener("touchstart",A,{capture:!0,passive:!1}),a.addEventListener("click",y,{capture:!0,passive:!1}),a.addEventListener("keydown",V,{capture:!0,passive:!1}),a.addEventListener("keydown",U),s},h=function(){if(l.active)return a.removeEventListener("focusin",E,!0),a.removeEventListener("mousedown",A,!0),a.removeEventListener("touchstart",A,!0),a.removeEventListener("click",y,!0),a.removeEventListener("keydown",V,!0),a.removeEventListener("keydown",U),s},P=function(w){var v=w.some(function(I){var N=Array.from(I.removedNodes);return N.some(function(F){return F===l.mostRecentlyFocusedNode})});v&&k(c())},ne=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(P):void 0,J=function(){ne&&(ne.disconnect(),l.active&&!l.paused&&l.containers.map(function(w){ne.observe(w,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(w){if(l.active)return this;var v=u(w,"onActivate"),I=u(w,"onPostActivate"),N=u(w,"checkCanFocusTrap");N||f(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=m(a),v==null||v();var F=function(){N&&f(),C(),J(),I==null||I()};return N?(N(l.containers.concat()).then(F,F),this):(F(),this)},deactivate:function(w){if(!l.active)return this;var v=Wi({onDeactivate:o.onDeactivate,onPostDeactivate:o.onPostDeactivate,checkCanReturnFocus:o.checkCanReturnFocus},w);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,h(),l.active=!1,l.paused=!1,J(),Yi.deactivateTrap(i,s);var I=u(v,"onDeactivate"),N=u(v,"onPostDeactivate"),F=u(v,"checkCanReturnFocus"),H=u(v,"returnFocus","returnFocusOnDeactivate");I==null||I();var B=function(){Ji(function(){H&&k(b(l.nodeFocusedBeforeActivation)),N==null||N()})};return H&&F?(F(b(l.nodeFocusedBeforeActivation)).then(B,B),this):(B(),this)},pause:function(w){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,w)):this},unpause:function(w){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,w)):this},updateContainerElements:function(w){var v=[].concat(w).filter(Boolean);return l.containers=v.map(function(I){return typeof I=="string"?a.querySelector(I):I}),l.active&&f(),J(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(w,v){if(l.paused===w)return this;if(l.paused=w,w){var I=u(v,"onPause"),N=u(v,"onPostPause");I==null||I(),h(),J(),N==null||N()}else{var F=u(v,"onUnpause"),H=u(v,"onPostUnpause");F==null||F(),f(),C(),J(),H==null||H()}return this}}}),s.updateContainerElements(n),s};function ag(e,n={}){let r;const{immediate:a,...i}=n,o=t.shallowRef(!1),l=t.shallowRef(!1),s=f=>r&&r.activate(f),u=f=>r&&r.deactivate(f),p=()=>{r&&(r.pause(),l.value=!0)},d=()=>{r&&(r.unpause(),l.value=!1)},c=t.computed(()=>{const f=t.toValue(e);return rt.toArray(f).map(m=>{const k=t.toValue(m);return typeof k=="string"?k:rt.unrefElement(k)}).filter(Pm)});return t.watch(c,f=>{f.length&&(r=rg(f,{...i,onActivate(){o.value=!0,n.onActivate&&n.onActivate()},onDeactivate(){o.value=!1,n.onDeactivate&&n.onDeactivate()}}),a&&s())},{flush:"post"}),rt.tryOnScopeDispose(()=>u()),{hasFocus:o,isPaused:l,activate:s,deactivate:u,pause:p,unpause:d}}const ig="44px",og="220px",lg="366px",sg="#00abd2",cg="16px",Sr="20px",ug="24px",Pr=rt.createGlobalState(()=>{const e=rt.useLocalStorage("datakit-editor-mode","visual"),n=rt.useLocalStorage("datakit-editor-sidebar-expanded",!0);return{editorMode:e,sidePanelExpanded:n}});rt.createInjectionState(()=>({}));const dg={class:"dk-editor-nav"},pg={class:"top"},fg={class:"bottom"},mg=ce(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=$e.createI18n("en-us",qe),a=n,i=[{label:r("plugins.free-form.datakit.visual_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>a("back")}],{sidePanelExpanded:o}=Pr(),l=t.computed(()=>o.value?r("plugins.free-form.datakit.visual_editor.collapse_panel"):r("plugins.free-form.datakit.visual_editor.expand_panel")),s=t.ref(!1);function u(){o.value=!o.value}return(p,d)=>(t.openBlock(),t.createElementBlock("nav",dg,[t.createElementVNode("div",pg,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:c,to:f,icon:m,onClick:k})=>t.createVNode(t.unref(Ae.KTooltip),{key:c,"kpop-attributes":{offset:"10px"},label:c,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Ae.KButton),{key:c,appearance:"none",class:"nav-item",icon:"",to:f,onClick:k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Sr)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",fg,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(o)}]),onTransitionend:d[0]||(d[0]=t.withModifiers(c=>s.value=!1,["self"])),onTransitionstart:d[1]||(d[1]=t.withModifiers(c=>s.value=!0,["self"]))},[t.createVNode(t.unref(Ae.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(o)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ae.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:u},{default:t.withCtx(()=>[t.unref(o)?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Sr)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Sr)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-bbf1c4a2"]]),gg={class:"dk-editor-main"},hg={class:"header"},yg={class:"actions"},bg=ce(t.defineComponent({__name:"EditorMain",emits:["click:node","click:backdrop"],setup(e,{emit:n}){const{t:r}=$e.createI18n("en-us",qe),a=n;return(i,o)=>(t.openBlock(),t.createElementBlock("div",gg,[t.createElementVNode("header",hg,[t.createElementVNode("div",yg,[t.createVNode(t.unref(Ae.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.visual_editor.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Ae.KButton),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.visual_editor.save")),1)]),_:1})])]),t.createElementVNode("div",{class:"body",onClick:o[2]||(o[2]=l=>a("click:backdrop"))},[t.createElementVNode("button",{onClick:o[0]||(o[0]=t.withModifiers(l=>a("click:node",{id:"node-a",name:"Node A"}),["stop"]))}," Mock Node A "),t.createElementVNode("button",{onClick:o[1]||(o[1]=t.withModifiers(l=>a("click:node",{id:"node-b",name:"Node b"}),["stop"]))}," Mock Node B "),t.renderSlot(i.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-0d5be5b5"]]),{t:_g}=$e.createI18n("en-us",qe);function Qt(e){return _g(`plugins.free-form.datakit.visual_editor.node_description.${e}`)}const Xi={call:{type:"call",description:Qt("call"),icon:Ce.NetworkIcon},jq:{type:"jq",description:Qt("jq"),icon:Ce.CodeblockIcon},exit:{type:"exit",description:Qt("exit"),icon:Ce.GatewayIcon},property:{type:"property",description:Qt("property"),icon:Ce.StackIcon},static:{type:"static",description:Qt("static"),icon:Ce.VitalsIcon}},kg={class:"icon"},Cg={class:"content"},Ag={class:"title"},wg={class:"description"},Eg=ce(t.defineComponent({__name:"NodePanelItem",props:{type:{}},setup(e){const{description:n,icon:r}=Xi[e.type];return(a,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${a.type}`]:!0}])},[t.createElementVNode("div",kg,[t.createVNode(t.unref(r),{size:16})]),t.createElementVNode("div",Cg,[t.createElementVNode("div",Ag,t.toDisplayString(a.type),1),t.createElementVNode("div",wg,t.toDisplayString(t.unref(n)),1)])],2))}}),[["__scopeId","data-v-da9fb467"]]),Sg={class:"dk-node-panel"},Pg={class:"title"},Tg={class:"node-list"},vg=ce(t.defineComponent({__name:"NodePanel",setup(e){const{t:n}=$e.createI18n("en-us",qe);return(r,a)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",Sg,[t.createElementVNode("h3",Pg,[t.createVNode(i,{class:"label",info:t.unref(n)("plugins.free-form.datakit.visual_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.node_panel.title")),1)]),_:1},8,["info"])]),t.createElementVNode("div",Tg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Xi)),o=>(t.openBlock(),t.createBlock(Eg,{key:o,type:o},null,8,["type"]))),128))])])}}}),[["__scopeId","data-v-d4299888"]]),Ng=ce(t.defineComponent({__name:"nodePropertiesPanel",props:{maxWidth:{default:()=>lg},offsetTop:{default:"52px"},visible:{type:Boolean},node:{}},emits:["close"],setup(e){return(n,r)=>(t.openBlock(),t.createBlock(t.unref(Ae.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":n.maxWidth,"offset-top":n.offsetTop,visible:n.visible,onClose:r[0]||(r[0]=a=>n.$emit("close"))},{default:t.withCtx(()=>{var a;return[t.createTextVNode(t.toDisplayString((a=n.node)==null?void 0:a.id),1)]}),_:1},8,["max-width","offset-top","visible"]))}}),[["__scopeId","data-v-83e0b80b"]]),Og={class:"dk-editor-content"},xg={class:"header"},Ig={class:"title"},Rg={class:"body"},Bg={class:"node-selection-panel"},Lg={class:"main"},Dg=ce(t.defineComponent({__name:"EditorContent",setup(e){const{t:n}=$e.createI18n("en-us",qe),{sidePanelExpanded:r}=Pr(),a=t.ref(!1),i=t.ref(null),o=s=>{a.value=!0,i.value=s},l=()=>{a.value=!1,i.value=null};return(s,u)=>(t.openBlock(),t.createElementBlock("div",Og,[t.createElementVNode("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r)}])},[t.createElementVNode("header",xg,[t.createElementVNode("h2",Ig,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.name")),1)]),t.createElementVNode("div",Rg,[t.createElementVNode("div",Bg,[t.createVNode(vg)])])],2),t.createElementVNode("div",Lg,[t.createVNode(bg,{"onClick:backdrop":l,"onClick:node":o})]),t.createVNode(Ng,{node:i.value,visible:a.value,onClose:u[0]||(u[0]=p=>a.value=!1)},null,8,["node","visible"])]))}}),[["__scopeId","data-v-e506e8e3"]]),$g=ce(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:t.mergeModels(["close"],["update:open"]),setup(e,{emit:n}){t.useCssVars(d=>({"6aa6c909":t.unref(og),fa2c871a:t.unref(ig)}));const r=t.useTemplateRef("modal"),a=t.useModel(e,"open"),i=n,o=t.useTemplateRef("content"),l=rt.useScrollLock(document),{activate:s,deactivate:u}=ag(r,{returnFocusOnDeactivate:!0,initialFocus:()=>{var d;return(d=o.value)==null?void 0:d.$el}});t.watch(a,async d=>{l.value=!!d,await t.nextTick(),d?s():u()},{immediate:!0});function p(){a.value=!1,i("close")}return(d,c)=>a.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"modal",ref:r,class:"dk-editor-modal"},[t.createVNode(mg,{class:"nav",onBack:p}),t.createVNode(Dg,{ref_key:"content",ref:o,class:"content",tabindex:"0"},null,512)],512)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-c8344db8"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Qi(e){return typeof e>"u"||e===null}function Vg(e){return typeof e=="object"&&e!==null}function Fg(e){return Array.isArray(e)?e:Qi(e)?[]:[e]}function Kg(e,n){var r,a,i,o;if(n)for(o=Object.keys(n),r=0,a=o.length;r<a;r+=1)i=o[r],e[i]=n[i];return e}function Ug(e,n){var r="",a;for(a=0;a<n;a+=1)r+=e;return r}function jg(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Mg=Qi,Gg=Vg,qg=Fg,Hg=Ug,zg=jg,Wg=Kg,Ne={isNothing:Mg,isObject:Gg,toArray:qg,repeat:Hg,isNegativeZero:zg,extend:Wg};function Zi(e,n){var r="",a=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(r+=`
|
|
19
19
|
|
|
20
|
-
`+e.mark.snippet),a+" "+r):a}function
|
|
21
|
-
`+s;for(
|
|
22
|
-
`,s+=
|
|
23
|
-
`,u=1;u<=n.linesAfter&&!(l+u>=i.length);u++)
|
|
24
|
-
`;return s.replace(/\n$/,"")}var
|
|
25
|
-
\r`;function
|
|
26
|
-
`: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
|
|
27
|
-
`,n-1))}function
|
|
28
|
-
`,o?1+u:u):i===
|
|
29
|
-
`);break}for(a?
|
|
30
|
-
`,o?1+u:u)):
|
|
31
|
-
`,u+1)):u===0?o&&(e.result+=" "):e.result+=
|
|
32
|
-
`,u):e.result+=
|
|
33
|
-
`,o?1+u:u),o=!0,l=!0,u=0,r=e.position;!
|
|
34
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var r=new
|
|
20
|
+
`+e.mark.snippet),a+" "+r):a}function Zt(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=Zi(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Zt.prototype=Object.create(Error.prototype),Zt.prototype.constructor=Zt,Zt.prototype.toString=function(n){return this.name+": "+Zi(this,n)};var De=Zt;function Tr(e,n,r,a,i){var o="",l="",s=Math.floor(i/2)-1;return a-n>s&&(o=" ... ",n=a-s+o.length),r-a>s&&(l=" ...",r=a+s-l.length),{str:o+e.slice(n,r).replace(/\t/g,"→")+l,pos:a-n+o.length}}function vr(e,n){return Ne.repeat(" ",n-e.length)+e}function Yg(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var r=/\r?\n|\r|\0/g,a=[0],i=[],o,l=-1;o=r.exec(e.buffer);)i.push(o.index),a.push(o.index+o[0].length),e.position<=o.index&&l<0&&(l=a.length-2);l<0&&(l=a.length-1);var s="",u,p,d=Math.min(e.line+n.linesAfter,i.length).toString().length,c=n.maxLength-(n.indent+d+3);for(u=1;u<=n.linesBefore&&!(l-u<0);u++)p=Tr(e.buffer,a[l-u],i[l-u],e.position-(a[l]-a[l-u]),c),s=Ne.repeat(" ",n.indent)+vr((e.line-u+1).toString(),d)+" | "+p.str+`
|
|
21
|
+
`+s;for(p=Tr(e.buffer,a[l],i[l],e.position,c),s+=Ne.repeat(" ",n.indent)+vr((e.line+1).toString(),d)+" | "+p.str+`
|
|
22
|
+
`,s+=Ne.repeat("-",n.indent+d+3+p.pos)+`^
|
|
23
|
+
`,u=1;u<=n.linesAfter&&!(l+u>=i.length);u++)p=Tr(e.buffer,a[l+u],i[l+u],e.position-(a[l]-a[l+u]),c),s+=Ne.repeat(" ",n.indent)+vr((e.line+u+1).toString(),d)+" | "+p.str+`
|
|
24
|
+
`;return s.replace(/\n$/,"")}var Jg=Yg,Xg=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Qg=["scalar","sequence","mapping"];function Zg(e){var n={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(a){n[String(a)]=r})}),n}function eh(e,n){if(n=n||{},Object.keys(n).forEach(function(r){if(Xg.indexOf(r)===-1)throw new De('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=n,this.tag=e,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(r){return r},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=Zg(n.styleAliases||null),Qg.indexOf(this.kind)===-1)throw new De('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var xe=eh;function eo(e,n){var r=[];return e[n].forEach(function(a){var i=r.length;r.forEach(function(o,l){o.tag===a.tag&&o.kind===a.kind&&o.multi===a.multi&&(i=l)}),r[i]=a}),r}function th(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,r;function a(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(n=0,r=arguments.length;n<r;n+=1)arguments[n].forEach(a);return e}function Nr(e){return this.extend(e)}Nr.prototype.extend=function(n){var r=[],a=[];if(n instanceof xe)a.push(n);else if(Array.isArray(n))a=a.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(r=r.concat(n.implicit)),n.explicit&&(a=a.concat(n.explicit));else throw new De("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(o){if(!(o instanceof xe))throw new De("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(o.loadKind&&o.loadKind!=="scalar")throw new De("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(o.multi)throw new De("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),a.forEach(function(o){if(!(o instanceof xe))throw new De("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(Nr.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(a),i.compiledImplicit=eo(i,"implicit"),i.compiledExplicit=eo(i,"explicit"),i.compiledTypeMap=th(i.compiledImplicit,i.compiledExplicit),i};var to=Nr,no=new xe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),ro=new xe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),ao=new xe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),io=new to({explicit:[no,ro,ao]});function nh(e){if(e===null)return!0;var n=e.length;return n===1&&e==="~"||n===4&&(e==="null"||e==="Null"||e==="NULL")}function rh(){return null}function ah(e){return e===null}var oo=new xe("tag:yaml.org,2002:null",{kind:"scalar",resolve:nh,construct:rh,predicate:ah,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function ih(e){if(e===null)return!1;var n=e.length;return n===4&&(e==="true"||e==="True"||e==="TRUE")||n===5&&(e==="false"||e==="False"||e==="FALSE")}function oh(e){return e==="true"||e==="True"||e==="TRUE"}function lh(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var lo=new xe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:ih,construct:oh,predicate:lh,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 sh(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function ch(e){return 48<=e&&e<=55}function uh(e){return 48<=e&&e<=57}function dh(e){if(e===null)return!1;var n=e.length,r=0,a=!1,i;if(!n)return!1;if(i=e[r],(i==="-"||i==="+")&&(i=e[++r]),i==="0"){if(r+1===n)return!0;if(i=e[++r],i==="b"){for(r++;r<n;r++)if(i=e[r],i!=="_"){if(i!=="0"&&i!=="1")return!1;a=!0}return a&&i!=="_"}if(i==="x"){for(r++;r<n;r++)if(i=e[r],i!=="_"){if(!sh(e.charCodeAt(r)))return!1;a=!0}return a&&i!=="_"}if(i==="o"){for(r++;r<n;r++)if(i=e[r],i!=="_"){if(!ch(e.charCodeAt(r)))return!1;a=!0}return a&&i!=="_"}}if(i==="_")return!1;for(;r<n;r++)if(i=e[r],i!=="_"){if(!uh(e.charCodeAt(r)))return!1;a=!0}return!(!a||i==="_")}function ph(e){var n=e,r=1,a;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),a=n[0],(a==="-"||a==="+")&&(a==="-"&&(r=-1),n=n.slice(1),a=n[0]),n==="0")return 0;if(a==="0"){if(n[1]==="b")return r*parseInt(n.slice(2),2);if(n[1]==="x")return r*parseInt(n.slice(2),16);if(n[1]==="o")return r*parseInt(n.slice(2),8)}return r*parseInt(n,10)}function fh(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!Ne.isNegativeZero(e)}var so=new xe("tag:yaml.org,2002:int",{kind:"scalar",resolve:dh,construct:ph,predicate:fh,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"]}}),mh=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function gh(e){return!(e===null||!mh.test(e)||e[e.length-1]==="_")}function hh(e){var n,r;return n=e.replace(/_/g,"").toLowerCase(),r=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:r*parseFloat(n,10)}var yh=/^[-+]?[0-9]+e/;function bh(e,n){var r;if(isNaN(e))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Ne.isNegativeZero(e))return"-0.0";return r=e.toString(10),yh.test(r)?r.replace("e",".e"):r}function _h(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Ne.isNegativeZero(e))}var co=new xe("tag:yaml.org,2002:float",{kind:"scalar",resolve:gh,construct:hh,predicate:_h,represent:bh,defaultStyle:"lowercase"}),uo=io.extend({implicit:[oo,lo,so,co]}),po=uo,fo=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),mo=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 kh(e){return e===null?!1:fo.exec(e)!==null||mo.exec(e)!==null}function Ch(e){var n,r,a,i,o,l,s,u=0,p=null,d,c,f;if(n=fo.exec(e),n===null&&(n=mo.exec(e)),n===null)throw new Error("Date resolve error");if(r=+n[1],a=+n[2]-1,i=+n[3],!n[4])return new Date(Date.UTC(r,a,i));if(o=+n[4],l=+n[5],s=+n[6],n[7]){for(u=n[7].slice(0,3);u.length<3;)u+="0";u=+u}return n[9]&&(d=+n[10],c=+(n[11]||0),p=(d*60+c)*6e4,n[9]==="-"&&(p=-p)),f=new Date(Date.UTC(r,a,i,o,l,s,u)),p&&f.setTime(f.getTime()-p),f}function Ah(e){return e.toISOString()}var go=new xe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:kh,construct:Ch,instanceOf:Date,represent:Ah});function wh(e){return e==="<<"||e===null}var ho=new xe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:wh}),Or=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
25
|
+
\r`;function Eh(e){if(e===null)return!1;var n,r,a=0,i=e.length,o=Or;for(r=0;r<i;r++)if(n=o.indexOf(e.charAt(r)),!(n>64)){if(n<0)return!1;a+=6}return a%8===0}function Sh(e){var n,r,a=e.replace(/[\r\n=]/g,""),i=a.length,o=Or,l=0,s=[];for(n=0;n<i;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|o.indexOf(a.charAt(n));return r=i%4*6,r===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):r===18?(s.push(l>>10&255),s.push(l>>2&255)):r===12&&s.push(l>>4&255),new Uint8Array(s)}function Ph(e){var n="",r=0,a,i,o=e.length,l=Or;for(a=0;a<o;a++)a%3===0&&a&&(n+=l[r>>18&63],n+=l[r>>12&63],n+=l[r>>6&63],n+=l[r&63]),r=(r<<8)+e[a];return i=o%3,i===0?(n+=l[r>>18&63],n+=l[r>>12&63],n+=l[r>>6&63],n+=l[r&63]):i===2?(n+=l[r>>10&63],n+=l[r>>4&63],n+=l[r<<2&63],n+=l[64]):i===1&&(n+=l[r>>2&63],n+=l[r<<4&63],n+=l[64],n+=l[64]),n}function Th(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var yo=new xe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Eh,construct:Sh,predicate:Th,represent:Ph}),vh=Object.prototype.hasOwnProperty,Nh=Object.prototype.toString;function Oh(e){if(e===null)return!0;var n=[],r,a,i,o,l,s=e;for(r=0,a=s.length;r<a;r+=1){if(i=s[r],l=!1,Nh.call(i)!=="[object Object]")return!1;for(o in i)if(vh.call(i,o))if(!l)l=!0;else return!1;if(!l)return!1;if(n.indexOf(o)===-1)n.push(o);else return!1}return!0}function xh(e){return e!==null?e:[]}var bo=new xe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Oh,construct:xh}),Ih=Object.prototype.toString;function Rh(e){if(e===null)return!0;var n,r,a,i,o,l=e;for(o=new Array(l.length),n=0,r=l.length;n<r;n+=1){if(a=l[n],Ih.call(a)!=="[object Object]"||(i=Object.keys(a),i.length!==1))return!1;o[n]=[i[0],a[i[0]]]}return!0}function Bh(e){if(e===null)return[];var n,r,a,i,o,l=e;for(o=new Array(l.length),n=0,r=l.length;n<r;n+=1)a=l[n],i=Object.keys(a),o[n]=[i[0],a[i[0]]];return o}var _o=new xe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Rh,construct:Bh}),Lh=Object.prototype.hasOwnProperty;function Dh(e){if(e===null)return!0;var n,r=e;for(n in r)if(Lh.call(r,n)&&r[n]!==null)return!1;return!0}function $h(e){return e!==null?e:{}}var ko=new xe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Dh,construct:$h}),xr=po.extend({implicit:[go,ho],explicit:[yo,bo,_o,ko]}),lt=Object.prototype.hasOwnProperty,xn=1,Co=2,Ao=3,In=4,Ir=1,Vh=2,wo=3,Fh=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Kh=/[\x85\u2028\u2029]/,Uh=/[,\[\]\{\}]/,Eo=/^(?:!|!!|![a-z\-]+!)$/i,So=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Po(e){return Object.prototype.toString.call(e)}function Je(e){return e===10||e===13}function wt(e){return e===9||e===32}function Ve(e){return e===9||e===32||e===10||e===13}function Lt(e){return e===44||e===91||e===93||e===123||e===125}function jh(e){var n;return 48<=e&&e<=57?e-48:(n=e|32,97<=n&&n<=102?n-97+10:-1)}function Mh(e){return e===120?2:e===117?4:e===85?8:0}function Gh(e){return 48<=e&&e<=57?e-48:-1}function To(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
26
|
+
`: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 qh(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}for(var vo=new Array(256),No=new Array(256),Dt=0;Dt<256;Dt++)vo[Dt]=To(Dt)?1:0,No[Dt]=To(Dt);function Hh(e,n){this.input=e,this.filename=n.filename||null,this.schema=n.schema||xr,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.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 Oo(e,n){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=Jg(r),new De(n,r)}function ee(e,n){throw Oo(e,n)}function Rn(e,n){e.onWarning&&e.onWarning.call(null,Oo(e,n))}var xo={YAML:function(n,r,a){var i,o,l;n.version!==null&&ee(n,"duplication of %YAML directive"),a.length!==1&&ee(n,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(a[0]),i===null&&ee(n,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),l=parseInt(i[2],10),o!==1&&ee(n,"unacceptable YAML version of the document"),n.version=a[0],n.checkLineBreaks=l<2,l!==1&&l!==2&&Rn(n,"unsupported YAML version of the document")},TAG:function(n,r,a){var i,o;a.length!==2&&ee(n,"TAG directive accepts exactly two arguments"),i=a[0],o=a[1],Eo.test(i)||ee(n,"ill-formed tag handle (first argument) of the TAG directive"),lt.call(n.tagMap,i)&&ee(n,'there is a previously declared suffix for "'+i+'" tag handle'),So.test(o)||ee(n,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{ee(n,"tag prefix is malformed: "+o)}n.tagMap[i]=o}};function st(e,n,r,a){var i,o,l,s;if(n<r){if(s=e.input.slice(n,r),a)for(i=0,o=s.length;i<o;i+=1)l=s.charCodeAt(i),l===9||32<=l&&l<=1114111||ee(e,"expected valid JSON character");else Fh.test(s)&&ee(e,"the stream contains non-printable characters");e.result+=s}}function Io(e,n,r,a){var i,o,l,s;for(Ne.isObject(r)||ee(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(r),l=0,s=i.length;l<s;l+=1)o=i[l],lt.call(n,o)||(n[o]=r[o],a[o]=!0)}function $t(e,n,r,a,i,o,l,s,u){var p,d;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),p=0,d=i.length;p<d;p+=1)Array.isArray(i[p])&&ee(e,"nested arrays are not supported inside keys"),typeof i=="object"&&Po(i[p])==="[object Object]"&&(i[p]="[object Object]");if(typeof i=="object"&&Po(i)==="[object Object]"&&(i="[object Object]"),i=String(i),n===null&&(n={}),a==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(p=0,d=o.length;p<d;p+=1)Io(e,n,o[p],r);else Io(e,n,o,r);else!e.json&&!lt.call(r,i)&<.call(n,i)&&(e.line=l||e.line,e.lineStart=s||e.lineStart,e.position=u||e.position,ee(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(n,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):n[i]=o,delete r[i];return n}function Rr(e){var n;n=e.input.charCodeAt(e.position),n===10?e.position++:n===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):ee(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function Te(e,n,r){for(var a=0,i=e.input.charCodeAt(e.position);i!==0;){for(;wt(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(n&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(Je(i))for(Rr(e),i=e.input.charCodeAt(e.position),a++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return r!==-1&&a!==0&&e.lineIndent<r&&Rn(e,"deficient indentation"),a}function Bn(e){var n=e.position,r;return r=e.input.charCodeAt(n),!!((r===45||r===46)&&r===e.input.charCodeAt(n+1)&&r===e.input.charCodeAt(n+2)&&(n+=3,r=e.input.charCodeAt(n),r===0||Ve(r)))}function Br(e,n){n===1?e.result+=" ":n>1&&(e.result+=Ne.repeat(`
|
|
27
|
+
`,n-1))}function zh(e,n,r){var a,i,o,l,s,u,p,d,c=e.kind,f=e.result,m;if(m=e.input.charCodeAt(e.position),Ve(m)||Lt(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),Ve(i)||r&&Lt(i)))return!1;for(e.kind="scalar",e.result="",o=l=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),Ve(i)||r&&Lt(i))break}else if(m===35){if(a=e.input.charCodeAt(e.position-1),Ve(a))break}else{if(e.position===e.lineStart&&Bn(e)||r&&Lt(m))break;if(Je(m))if(u=e.line,p=e.lineStart,d=e.lineIndent,Te(e,!1,-1),e.lineIndent>=n){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=l,e.line=u,e.lineStart=p,e.lineIndent=d;break}}s&&(st(e,o,l,!1),Br(e,e.line-u),o=l=e.position,s=!1),wt(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return st(e,o,l,!1),e.result?!0:(e.kind=c,e.result=f,!1)}function Wh(e,n){var r,a,i;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,a=i=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(st(e,a,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)a=e.position,e.position++,i=e.position;else return!0;else Je(r)?(st(e,a,i,!0),Br(e,Te(e,!1,n)),a=i=e.position):e.position===e.lineStart&&Bn(e)?ee(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);ee(e,"unexpected end of the stream within a single quoted scalar")}function Yh(e,n){var r,a,i,o,l,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=a=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return st(e,r,e.position,!0),e.position++,!0;if(s===92){if(st(e,r,e.position,!0),s=e.input.charCodeAt(++e.position),Je(s))Te(e,!1,n);else if(s<256&&vo[s])e.result+=No[s],e.position++;else if((l=Mh(s))>0){for(i=l,o=0;i>0;i--)s=e.input.charCodeAt(++e.position),(l=jh(s))>=0?o=(o<<4)+l:ee(e,"expected hexadecimal character");e.result+=qh(o),e.position++}else ee(e,"unknown escape sequence");r=a=e.position}else Je(s)?(st(e,r,a,!0),Br(e,Te(e,!1,n)),r=a=e.position):e.position===e.lineStart&&Bn(e)?ee(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}ee(e,"unexpected end of the stream within a double quoted scalar")}function Jh(e,n){var r=!0,a,i,o,l=e.tag,s,u=e.anchor,p,d,c,f,m,k=Object.create(null),b,g,A,E;if(E=e.input.charCodeAt(e.position),E===91)d=93,m=!1,s=[];else if(E===123)d=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),E=e.input.charCodeAt(++e.position);E!==0;){if(Te(e,!0,n),E=e.input.charCodeAt(e.position),E===d)return e.position++,e.tag=l,e.anchor=u,e.kind=m?"mapping":"sequence",e.result=s,!0;r?E===44&&ee(e,"expected the node content, but found ','"):ee(e,"missed comma between flow collection entries"),g=b=A=null,c=f=!1,E===63&&(p=e.input.charCodeAt(e.position+1),Ve(p)&&(c=f=!0,e.position++,Te(e,!0,n))),a=e.line,i=e.lineStart,o=e.position,Vt(e,n,xn,!1,!0),g=e.tag,b=e.result,Te(e,!0,n),E=e.input.charCodeAt(e.position),(f||e.line===a)&&E===58&&(c=!0,E=e.input.charCodeAt(++e.position),Te(e,!0,n),Vt(e,n,xn,!1,!0),A=e.result),m?$t(e,s,k,g,b,A,a,i,o):c?s.push($t(e,null,k,g,b,A,a,i,o)):s.push(b),Te(e,!0,n),E=e.input.charCodeAt(e.position),E===44?(r=!0,E=e.input.charCodeAt(++e.position)):r=!1}ee(e,"unexpected end of the stream within a flow collection")}function Xh(e,n){var r,a,i=Ir,o=!1,l=!1,s=n,u=0,p=!1,d,c;if(c=e.input.charCodeAt(e.position),c===124)a=!1;else if(c===62)a=!0;else return!1;for(e.kind="scalar",e.result="";c!==0;)if(c=e.input.charCodeAt(++e.position),c===43||c===45)Ir===i?i=c===43?wo:Vh:ee(e,"repeat of a chomping mode identifier");else if((d=Gh(c))>=0)d===0?ee(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?ee(e,"repeat of an indentation width identifier"):(s=n+d-1,l=!0);else break;if(wt(c)){do c=e.input.charCodeAt(++e.position);while(wt(c));if(c===35)do c=e.input.charCodeAt(++e.position);while(!Je(c)&&c!==0)}for(;c!==0;){for(Rr(e),e.lineIndent=0,c=e.input.charCodeAt(e.position);(!l||e.lineIndent<s)&&c===32;)e.lineIndent++,c=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>s&&(s=e.lineIndent),Je(c)){u++;continue}if(e.lineIndent<s){i===wo?e.result+=Ne.repeat(`
|
|
28
|
+
`,o?1+u:u):i===Ir&&o&&(e.result+=`
|
|
29
|
+
`);break}for(a?wt(c)?(p=!0,e.result+=Ne.repeat(`
|
|
30
|
+
`,o?1+u:u)):p?(p=!1,e.result+=Ne.repeat(`
|
|
31
|
+
`,u+1)):u===0?o&&(e.result+=" "):e.result+=Ne.repeat(`
|
|
32
|
+
`,u):e.result+=Ne.repeat(`
|
|
33
|
+
`,o?1+u:u),o=!0,l=!0,u=0,r=e.position;!Je(c)&&c!==0;)c=e.input.charCodeAt(++e.position);st(e,r,e.position,!1)}return!0}function Ro(e,n){var r,a=e.tag,i=e.anchor,o=[],l,s=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ee(e,"tab characters must not be used in indentation")),!(u!==45||(l=e.input.charCodeAt(e.position+1),!Ve(l))));){if(s=!0,e.position++,Te(e,!0,-1)&&e.lineIndent<=n){o.push(null),u=e.input.charCodeAt(e.position);continue}if(r=e.line,Vt(e,n,Ao,!1,!0),o.push(e.result),Te(e,!0,-1),u=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>n)&&u!==0)ee(e,"bad indentation of a sequence entry");else if(e.lineIndent<n)break}return s?(e.tag=a,e.anchor=i,e.kind="sequence",e.result=o,!0):!1}function Qh(e,n,r){var a,i,o,l,s,u,p=e.tag,d=e.anchor,c={},f=Object.create(null),m=null,k=null,b=null,g=!1,A=!1,E;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=c),E=e.input.charCodeAt(e.position);E!==0;){if(!g&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,ee(e,"tab characters must not be used in indentation")),a=e.input.charCodeAt(e.position+1),o=e.line,(E===63||E===58)&&Ve(a))E===63?(g&&($t(e,c,f,m,k,null,l,s,u),m=k=b=null),A=!0,g=!0,i=!0):g?(g=!1,i=!0):ee(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,E=a;else{if(l=e.line,s=e.lineStart,u=e.position,!Vt(e,r,Co,!1,!0))break;if(e.line===o){for(E=e.input.charCodeAt(e.position);wt(E);)E=e.input.charCodeAt(++e.position);if(E===58)E=e.input.charCodeAt(++e.position),Ve(E)||ee(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&($t(e,c,f,m,k,null,l,s,u),m=k=b=null),A=!0,g=!1,i=!1,m=e.tag,k=e.result;else if(A)ee(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=p,e.anchor=d,!0}else if(A)ee(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=p,e.anchor=d,!0}if((e.line===o||e.lineIndent>n)&&(g&&(l=e.line,s=e.lineStart,u=e.position),Vt(e,n,In,!0,i)&&(g?k=e.result:b=e.result),g||($t(e,c,f,m,k,b,l,s,u),m=k=b=null),Te(e,!0,-1),E=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>n)&&E!==0)ee(e,"bad indentation of a mapping entry");else if(e.lineIndent<n)break}return g&&$t(e,c,f,m,k,null,l,s,u),A&&(e.tag=p,e.anchor=d,e.kind="mapping",e.result=c),A}function Zh(e){var n,r=!1,a=!1,i,o,l;if(l=e.input.charCodeAt(e.position),l!==33)return!1;if(e.tag!==null&&ee(e,"duplication of a tag property"),l=e.input.charCodeAt(++e.position),l===60?(r=!0,l=e.input.charCodeAt(++e.position)):l===33?(a=!0,i="!!",l=e.input.charCodeAt(++e.position)):i="!",n=e.position,r){do l=e.input.charCodeAt(++e.position);while(l!==0&&l!==62);e.position<e.length?(o=e.input.slice(n,e.position),l=e.input.charCodeAt(++e.position)):ee(e,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!Ve(l);)l===33&&(a?ee(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(n-1,e.position+1),Eo.test(i)||ee(e,"named tag handle cannot contain such characters"),a=!0,n=e.position+1)),l=e.input.charCodeAt(++e.position);o=e.input.slice(n,e.position),Uh.test(o)&&ee(e,"tag suffix cannot contain flow indicator characters")}o&&!So.test(o)&&ee(e,"tag name cannot contain such characters: "+o);try{o=decodeURIComponent(o)}catch{ee(e,"tag name is malformed: "+o)}return r?e.tag=o:lt.call(e.tagMap,i)?e.tag=e.tagMap[i]+o:i==="!"?e.tag="!"+o:i==="!!"?e.tag="tag:yaml.org,2002:"+o:ee(e,'undeclared tag handle "'+i+'"'),!0}function ey(e){var n,r;if(r=e.input.charCodeAt(e.position),r!==38)return!1;for(e.anchor!==null&&ee(e,"duplication of an anchor property"),r=e.input.charCodeAt(++e.position),n=e.position;r!==0&&!Ve(r)&&!Lt(r);)r=e.input.charCodeAt(++e.position);return e.position===n&&ee(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(n,e.position),!0}function ty(e){var n,r,a;if(a=e.input.charCodeAt(e.position),a!==42)return!1;for(a=e.input.charCodeAt(++e.position),n=e.position;a!==0&&!Ve(a)&&!Lt(a);)a=e.input.charCodeAt(++e.position);return e.position===n&&ee(e,"name of an alias node must contain at least one character"),r=e.input.slice(n,e.position),lt.call(e.anchorMap,r)||ee(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],Te(e,!0,-1),!0}function Vt(e,n,r,a,i){var o,l,s,u=1,p=!1,d=!1,c,f,m,k,b,g;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=l=s=In===r||Ao===r,a&&Te(e,!0,-1)&&(p=!0,e.lineIndent>n?u=1:e.lineIndent===n?u=0:e.lineIndent<n&&(u=-1)),u===1)for(;Zh(e)||ey(e);)Te(e,!0,-1)?(p=!0,s=o,e.lineIndent>n?u=1:e.lineIndent===n?u=0:e.lineIndent<n&&(u=-1)):s=!1;if(s&&(s=p||i),(u===1||In===r)&&(xn===r||Co===r?b=n:b=n+1,g=e.position-e.lineStart,u===1?s&&(Ro(e,g)||Qh(e,g,b))||Jh(e,b)?d=!0:(l&&Xh(e,b)||Wh(e,b)||Yh(e,b)?d=!0:ty(e)?(d=!0,(e.tag!==null||e.anchor!==null)&&ee(e,"alias node should not have any properties")):zh(e,b,xn===r)&&(d=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):u===0&&(d=s&&Ro(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"&&ee(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),c=0,f=e.implicitTypes.length;c<f;c+=1)if(k=e.implicitTypes[c],k.resolve(e.result)){e.result=k.construct(e.result),e.tag=k.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(lt.call(e.typeMap[e.kind||"fallback"],e.tag))k=e.typeMap[e.kind||"fallback"][e.tag];else for(k=null,m=e.typeMap.multi[e.kind||"fallback"],c=0,f=m.length;c<f;c+=1)if(e.tag.slice(0,m[c].tag.length)===m[c].tag){k=m[c];break}k||ee(e,"unknown tag !<"+e.tag+">"),e.result!==null&&k.kind!==e.kind&&ee(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+k.kind+'", not "'+e.kind+'"'),k.resolve(e.result,e.tag)?(e.result=k.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):ee(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||d}function ny(e){var n=e.position,r,a,i,o=!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&&(Te(e,!0,-1),l=e.input.charCodeAt(e.position),!(e.lineIndent>0||l!==37));){for(o=!0,l=e.input.charCodeAt(++e.position),r=e.position;l!==0&&!Ve(l);)l=e.input.charCodeAt(++e.position);for(a=e.input.slice(r,e.position),i=[],a.length<1&&ee(e,"directive name must not be less than one character in length");l!==0;){for(;wt(l);)l=e.input.charCodeAt(++e.position);if(l===35){do l=e.input.charCodeAt(++e.position);while(l!==0&&!Je(l));break}if(Je(l))break;for(r=e.position;l!==0&&!Ve(l);)l=e.input.charCodeAt(++e.position);i.push(e.input.slice(r,e.position))}l!==0&&Rr(e),lt.call(xo,a)?xo[a](e,a,i):Rn(e,'unknown document directive "'+a+'"')}if(Te(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,Te(e,!0,-1)):o&&ee(e,"directives end mark is expected"),Vt(e,e.lineIndent-1,In,!1,!0),Te(e,!0,-1),e.checkLineBreaks&&Kh.test(e.input.slice(n,e.position))&&Rn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Bn(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Te(e,!0,-1));return}if(e.position<e.length-1)ee(e,"end of the stream or a document separator is expected");else return}function Bo(e,n){e=String(e),n=n||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
34
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var r=new Hh(e,n),a=e.indexOf("\0");for(a!==-1&&(r.position=a,ee(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ny(r);return r.documents}function ry(e,n,r){n!==null&&typeof n=="object"&&typeof r>"u"&&(r=n,n=null);var a=Bo(e,r);if(typeof n!="function")return a;for(var i=0,o=a.length;i<o;i+=1)n(a[i])}function ay(e,n){var r=Bo(e,n);if(r.length!==0){if(r.length===1)return r[0];throw new De("expected a single document in the stream, but found more")}}var iy=ry,oy=ay,Lo={loadAll:iy,load:oy},Do=Object.prototype.toString,$o=Object.prototype.hasOwnProperty,Lr=65279,ly=9,en=10,sy=13,cy=32,uy=33,dy=34,Dr=35,py=37,fy=38,my=39,gy=42,Vo=44,hy=45,Ln=58,yy=61,by=62,_y=63,ky=64,Fo=91,Ko=93,Cy=96,Uo=123,Ay=124,jo=125,Be={};Be[0]="\\0",Be[7]="\\a",Be[8]="\\b",Be[9]="\\t",Be[10]="\\n",Be[11]="\\v",Be[12]="\\f",Be[13]="\\r",Be[27]="\\e",Be[34]='\\"',Be[92]="\\\\",Be[133]="\\N",Be[160]="\\_",Be[8232]="\\L",Be[8233]="\\P";var wy=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Ey=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Sy(e,n){var r,a,i,o,l,s,u;if(n===null)return{};for(r={},a=Object.keys(n),i=0,o=a.length;i<o;i+=1)l=a[i],s=String(n[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),u=e.compiledTypeMap.fallback[l],u&&$o.call(u.styleAliases,s)&&(s=u.styleAliases[s]),r[l]=s;return r}function Py(e){var n,r,a;if(n=e.toString(16).toUpperCase(),e<=255)r="x",a=2;else if(e<=65535)r="u",a=4;else if(e<=4294967295)r="U",a=8;else throw new De("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+Ne.repeat("0",a-n.length)+n}var Ty=1,tn=2;function vy(e){this.schema=e.schema||xr,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=Ne.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=Sy(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==='"'?tn:Ty,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 Mo(e,n){for(var r=Ne.repeat(" ",n),a=0,i=-1,o="",l,s=e.length;a<s;)i=e.indexOf(`
|
|
35
35
|
`,a),i===-1?(l=e.slice(a),a=s):(l=e.slice(a,i+1),a=i+1),l.length&&l!==`
|
|
36
|
-
`&&(o+=r),o+=l;return o}function
|
|
37
|
-
`+
|
|
36
|
+
`&&(o+=r),o+=l;return o}function $r(e,n){return`
|
|
37
|
+
`+Ne.repeat(" ",e.indent*n)}function Ny(e,n){var r,a,i;for(r=0,a=e.implicitTypes.length;r<a;r+=1)if(i=e.implicitTypes[r],i.resolve(n))return!0;return!1}function Dn(e){return e===cy||e===ly}function nn(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==Lr||65536<=e&&e<=1114111}function Go(e){return nn(e)&&e!==Lr&&e!==sy&&e!==en}function qo(e,n,r){var a=Go(e),i=a&&!Dn(e);return(r?a:a&&e!==Vo&&e!==Fo&&e!==Ko&&e!==Uo&&e!==jo)&&e!==Dr&&!(n===Ln&&!i)||Go(n)&&!Dn(n)&&e===Dr||n===Ln&&i}function Oy(e){return nn(e)&&e!==Lr&&!Dn(e)&&e!==hy&&e!==_y&&e!==Ln&&e!==Vo&&e!==Fo&&e!==Ko&&e!==Uo&&e!==jo&&e!==Dr&&e!==fy&&e!==gy&&e!==uy&&e!==Ay&&e!==yy&&e!==by&&e!==my&&e!==dy&&e!==py&&e!==ky&&e!==Cy}function xy(e){return!Dn(e)&&e!==Ln}function rn(e,n){var r=e.charCodeAt(n),a;return r>=55296&&r<=56319&&n+1<e.length&&(a=e.charCodeAt(n+1),a>=56320&&a<=57343)?(r-55296)*1024+a-56320+65536:r}function Ho(e){var n=/^\n* /;return n.test(e)}var zo=1,Vr=2,Wo=3,Yo=4,Ft=5;function Iy(e,n,r,a,i,o,l,s){var u,p=0,d=null,c=!1,f=!1,m=a!==-1,k=-1,b=Oy(rn(e,0))&&xy(rn(e,e.length-1));if(n||l)for(u=0;u<e.length;p>=65536?u+=2:u++){if(p=rn(e,u),!nn(p))return Ft;b=b&&qo(p,d,s),d=p}else{for(u=0;u<e.length;p>=65536?u+=2:u++){if(p=rn(e,u),p===en)c=!0,m&&(f=f||u-k-1>a&&e[k+1]!==" ",k=u);else if(!nn(p))return Ft;b=b&&qo(p,d,s),d=p}f=f||m&&u-k-1>a&&e[k+1]!==" "}return!c&&!f?b&&!l&&!i(e)?zo:o===tn?Ft:Vr:r>9&&Ho(e)?Ft:l?o===tn?Ft:Vr:f?Yo:Wo}function Ry(e,n,r,a,i){e.dump=function(){if(n.length===0)return e.quotingType===tn?'""':"''";if(!e.noCompatMode&&(wy.indexOf(n)!==-1||Ey.test(n)))return e.quotingType===tn?'"'+n+'"':"'"+n+"'";var o=e.indent*Math.max(1,r),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=a||e.flowLevel>-1&&r>=e.flowLevel;function u(p){return Ny(e,p)}switch(Iy(n,s,e.indent,l,u,e.quotingType,e.forceQuotes&&!a,i)){case zo:return n;case Vr:return"'"+n.replace(/'/g,"''")+"'";case Wo:return"|"+Jo(n,e.indent)+Xo(Mo(n,o));case Yo:return">"+Jo(n,e.indent)+Xo(Mo(By(n,l),o));case Ft:return'"'+Ly(n)+'"';default:throw new De("impossible error: invalid scalar style")}}()}function Jo(e,n){var r=Ho(e)?String(n):"",a=e[e.length-1]===`
|
|
38
38
|
`,i=a&&(e[e.length-2]===`
|
|
39
39
|
`||e===`
|
|
40
40
|
`),o=i?"+":a?"":"-";return r+o+`
|
|
41
|
-
`}function
|
|
42
|
-
`?e.slice(0,-1):e}function
|
|
43
|
-
`);return
|
|
41
|
+
`}function Xo(e){return e[e.length-1]===`
|
|
42
|
+
`?e.slice(0,-1):e}function By(e,n){for(var r=/(\n+)([^\n]*)/g,a=function(){var p=e.indexOf(`
|
|
43
|
+
`);return p=p!==-1?p:e.length,r.lastIndex=p,Qo(e.slice(0,p),n)}(),i=e[0]===`
|
|
44
44
|
`||e[0]===" ",o,l;l=r.exec(e);){var s=l[1],u=l[2];o=u[0]===" ",a+=s+(!i&&!o&&u!==""?`
|
|
45
|
-
`:"")
|
|
45
|
+
`:"")+Qo(u,n),i=o}return a}function Qo(e,n){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,a,i=0,o,l=0,s=0,u="";a=r.exec(e);)s=a.index,s-i>n&&(o=l>i?l:s,u+=`
|
|
46
46
|
`+e.slice(i,o),i=o+1),l=s;return u+=`
|
|
47
47
|
`,e.length-i>n&&l>i?u+=e.slice(i,l)+`
|
|
48
|
-
`+e.slice(l+1):u+=e.slice(i),u.slice(1)}function
|
|
49
|
-
`:""}var
|
|
48
|
+
`+e.slice(l+1):u+=e.slice(i),u.slice(1)}function Ly(e){for(var n="",r=0,a,i=0;i<e.length;r>=65536?i+=2:i++)r=rn(e,i),a=Be[r],!a&&nn(r)?(n+=e[i],r>=65536&&(n+=e[i+1])):n+=a||Py(r);return n}function Dy(e,n,r){var a="",i=e.tag,o,l,s;for(o=0,l=r.length;o<l;o+=1)s=r[o],e.replacer&&(s=e.replacer.call(r,String(o),s)),(tt(e,n,s,!1,!1)||typeof s>"u"&&tt(e,n,null,!1,!1))&&(a!==""&&(a+=","+(e.condenseFlow?"":" ")),a+=e.dump);e.tag=i,e.dump="["+a+"]"}function Zo(e,n,r,a){var i="",o=e.tag,l,s,u;for(l=0,s=r.length;l<s;l+=1)u=r[l],e.replacer&&(u=e.replacer.call(r,String(l),u)),(tt(e,n+1,u,!0,!0,!1,!0)||typeof u>"u"&&tt(e,n+1,null,!0,!0,!1,!0))&&((!a||i!=="")&&(i+=$r(e,n)),e.dump&&en===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=o,e.dump=i||"[]"}function $y(e,n,r){var a="",i=e.tag,o=Object.keys(r),l,s,u,p,d;for(l=0,s=o.length;l<s;l+=1)d="",a!==""&&(d+=", "),e.condenseFlow&&(d+='"'),u=o[l],p=r[u],e.replacer&&(p=e.replacer.call(r,u,p)),tt(e,n,u,!1,!1)&&(e.dump.length>1024&&(d+="? "),d+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),tt(e,n,p,!1,!1)&&(d+=e.dump,a+=d));e.tag=i,e.dump="{"+a+"}"}function Vy(e,n,r,a){var i="",o=e.tag,l=Object.keys(r),s,u,p,d,c,f;if(e.sortKeys===!0)l.sort();else if(typeof e.sortKeys=="function")l.sort(e.sortKeys);else if(e.sortKeys)throw new De("sortKeys must be a boolean or a function");for(s=0,u=l.length;s<u;s+=1)f="",(!a||i!=="")&&(f+=$r(e,n)),p=l[s],d=r[p],e.replacer&&(d=e.replacer.call(r,p,d)),tt(e,n+1,p,!0,!0,!0)&&(c=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,c&&(e.dump&&en===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,c&&(f+=$r(e,n)),tt(e,n+1,d,!0,c)&&(e.dump&&en===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,i+=f));e.tag=o,e.dump=i||"{}"}function el(e,n,r){var a,i,o,l,s,u;for(i=r?e.explicitTypes:e.implicitTypes,o=0,l=i.length;o<l;o+=1)if(s=i[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof n=="object"&&n instanceof s.instanceOf)&&(!s.predicate||s.predicate(n))){if(r?s.multi&&s.representName?e.tag=s.representName(n):e.tag=s.tag:e.tag="?",s.represent){if(u=e.styleMap[s.tag]||s.defaultStyle,Do.call(s.represent)==="[object Function]")a=s.represent(n,u);else if($o.call(s.represent,u))a=s.represent[u](n,u);else throw new De("!<"+s.tag+'> tag resolver accepts not "'+u+'" style');e.dump=a}return!0}return!1}function tt(e,n,r,a,i,o,l){e.tag=null,e.dump=r,el(e,r,!1)||el(e,r,!0);var s=Do.call(e.dump),u=a,p;a&&(a=e.flowLevel<0||e.flowLevel>n);var d=s==="[object Object]"||s==="[object Array]",c,f;if(d&&(c=e.duplicates.indexOf(r),f=c!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&n>0)&&(i=!1),f&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(d&&f&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),s==="[object Object]")a&&Object.keys(e.dump).length!==0?(Vy(e,n,e.dump,i),f&&(e.dump="&ref_"+c+e.dump)):($y(e,n,e.dump),f&&(e.dump="&ref_"+c+" "+e.dump));else if(s==="[object Array]")a&&e.dump.length!==0?(e.noArrayIndent&&!l&&n>0?Zo(e,n-1,e.dump,i):Zo(e,n,e.dump,i),f&&(e.dump="&ref_"+c+e.dump)):(Dy(e,n,e.dump),f&&(e.dump="&ref_"+c+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&Ry(e,e.dump,n,o,u);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new De("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(p=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?p="!"+p:p.slice(0,18)==="tag:yaml.org,2002:"?p="!!"+p.slice(18):p="!<"+p+">",e.dump=p+" "+e.dump)}return!0}function Fy(e,n){var r=[],a=[],i,o;for(Fr(e,r,a),i=0,o=a.length;i<o;i+=1)n.duplicates.push(r[a[i]]);n.usedDuplicates=new Array(o)}function Fr(e,n,r){var a,i,o;if(e!==null&&typeof e=="object")if(i=n.indexOf(e),i!==-1)r.indexOf(i)===-1&&r.push(i);else if(n.push(e),Array.isArray(e))for(i=0,o=e.length;i<o;i+=1)Fr(e[i],n,r);else for(a=Object.keys(e),i=0,o=a.length;i<o;i+=1)Fr(e[a[i]],n,r)}function Ky(e,n){n=n||{};var r=new vy(n);r.noRefs||Fy(e,r);var a=e;return r.replacer&&(a=r.replacer.call({"":a},"",a)),tt(r,0,a,!0,!0)?r.dump+`
|
|
49
|
+
`:""}var Uy=Ky,jy={dump:Uy};function Kr(e,n){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var My=xe,Gy=to,qy=io,Ur=uo,Hy=po,zy=xr,Wy=Lo.load,Yy=Lo.loadAll,Jy=jy.dump,Xy=De,Qy={binary:yo,float:co,map:ao,null:oo,pairs:_o,set:ko,timestamp:go,bool:lo,int:so,merge:ho,omap:bo,seq:ro,str:no},Zy=Kr("safeLoad","load"),eb=Kr("safeLoadAll","loadAll"),tb=Kr("safeDump","dump"),tl={Type:My,Schema:Gy,FAILSAFE_SCHEMA:qy,JSON_SCHEMA:Ur,CORE_SCHEMA:Hy,DEFAULT_SCHEMA:zy,load:Wy,loadAll:Yy,dump:Jy,YAMLException:Xy,types:Qy,safeLoad:Zy,safeLoadAll:eb,safeDump:tb};const nl=Object.freeze(Object.defineProperty({__proto__:null,authenticate:`nodes:
|
|
50
50
|
- name: STATIC_INPUTS
|
|
51
51
|
type: static
|
|
52
52
|
values:
|
|
@@ -120,5 +120,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
120
120
|
type: exit
|
|
121
121
|
input: API
|
|
122
122
|
status: 200
|
|
123
|
-
`},Symbol.toStringTag,{value:"Module"})),
|
|
124
|
-
`)[0],g=[{startLineNumber:f+1,startColumn:E+1,endLineNumber:f+1,endColumn:E+2,message:y,severity:pn.MarkerSeverity.Error,source:jr}];pn.editor.setModelMarkers(u,jr,g),a("error",y)}})}),t.onBeforeUnmount(()=>{var s;(s=o.value)==null||s.dispose()}),n({setExampleCode:l}),(s,u)=>(t.openBlock(),t.createElementBlock("div",ay,null,512))}}),[["__scopeId","data-v-e5fcb32d"]]),ly={key:0},sy={class:"examples-content"},cy=["innerHTML"],al=Object.freeze(Object.defineProperty({__proto__:null,DatakitForm:ce(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}=Le.createI18n("en-us",Qe),r=e,a=t.inject(la.DATAKIT_ENABLE_VISUAL_EDITOR,!1),{editorMode:i}=kr(),o=t.computed(()=>a?i.value:"code"),l={visual:we.DesignIcon,code:we.CodeblockIcon},s=[{label:n("plugins.free-form.datakit.visual_editor.mode"),value:"visual"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}],u=t.computed(()=>{switch(i.value){case"code":return n("plugins.free-form.datakit.description_code");case"visual":return n("plugins.free-form.datakit.description_visual");default:return""}}),d=t.ref(!1),A=t.useTemplateRef("code-editor");function c(E){var y;(y=A.value)==null||y.setExampleCode(E)}function p(E){var y;r.onFormChange({config:E}),(y=r.onValidityChange)==null||y.call(r,{model:"config",valid:!0})}function f(E){var y;(y=r.onValidityChange)==null||y.call(r,{model:"config",valid:!1,error:E})}return(E,y)=>{const g=t.resolveComponent("KButton");return t.openBlock(),t.createBlock(kf,t.mergeProps(r,{class:"dk-form"}),t.createSlots({default:t.withCtx(C=>[o.value==="visual"?(t.openBlock(),t.createElementBlock("div",ly,[t.createVNode(g,{appearance:"secondary",onClick:y[1]||(y[1]=I=>d.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.cta")),1)]),_:1}),t.createVNode(Fg,{open:d.value,"onUpdate:open":y[2]||(y[2]=I=>d.value=I)},null,8,["open"])])):o.value==="code"?(t.openBlock(),t.createBlock(Fi,t.mergeProps({key:1},C,{tag:"div"}),{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(we.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",sy,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(rl,(I,x)=>t.createVNode(g,{key:x,appearance:"secondary",size:"small",onClick:U=>c(x)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${x}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createVNode(oy,{ref:"code-editor",class:"editor",config:r.model.config,editing:r.isEditing,onChange:p,onError:f},null,8,["config","editing"])]),_:2},1040)):t.createCommentVNode("",!0)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:u.value},null,8,cy)]),_:2},[t.unref(a)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Ce.KSegmentedControl),{modelValue:t.unref(i),"onUpdate:modelValue":y[0]||(y[0]=C=>t.isRef(i)?i.value=C:null),options:s},{"option-label":t.withCtx(({option:C})=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[C.value]))),t.createTextVNode(" "+t.toDisplayString(C.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-42a0216c"]]),RequestCalloutForm:Af,ServiceProtectionForm:ff},Symbol.toStringTag,{value:"Module"})),uy={class:"kong-ui-entities-plugin-form"},Ay={key:1,class:"entity-form"},dy={class:"plugin-config-empty-state"},py=ce(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","validity-change"],setup(e,{emit:n}){var ye,Ae;const r=Object.keys(Ee.sharedForms),a=Object.keys(al);if(new Set([...r,...a]).size!==r.length+a.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,o=e,{axiosInstance:l}=L.useAxios((ye=o.config)==null?void 0:ye.axiosRequestConfig),{parseSchema:s}=ve.useSchemas({entityId:((Ae=o.entityMap.focusedEntity)==null?void 0:Ae.id)||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:u,unFlattenObject:d,dismissField:A,isObjectEmpty:c,unsetNullForeignKey:p}=ve.usePluginHelpers(),f=ve.useExperimentalFreeForms(),{objectsAreEqual:E}=L.useHelpers(),{i18n:{t:y}}=it(),g=(V,H)=>{let X=`${o.config.apiBaseUrl}${Pe.form[o.config.app].entityGetOne}`;return o.config.app==="konnect"?X=X.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(X=X.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),X=X.replace(/{entity}/gi,V),X=X.replace(/{id}/gi,H),X},C=V=>{let H=`${o.config.apiBaseUrl}${Pe.form[o.config.app].entityGetAll}`;return o.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),H=H.replace(/{entity}/gi,V),H},I=(V,H)=>{const X=g(V,H);return l.get(X)},x=(V,H)=>{const X=C(V);return o.config.app==="konnect"?l.get(X).then(le=>{const{data:{data:re}}=le;if(delete H.size,delete H.offset,re.length&&Object.keys(H).length===1){const de=Object.keys(H)[0],Fe=re.filter(He=>He[de]?!!He[de].toLowerCase().includes(H[de].toLowerCase()):!1);le.data.data=Fe}return le}):l.get(X,{params:H})};t.provide(Ee.FORMS_API_KEY,{getOne:I,getAll:x}),t.provide(Ee.FORMS_CONFIG,o.config);const U=t.ref(""),Y=t.ref(""),h=t.ref(null),w=t.ref({}),m=t.reactive({}),P=t.reactive({}),ne=t.computed(()=>{var V;return(V=h.value)==null?void 0:V.options}),Z=t.ref(!1),q=t.ref(),B=(V,H)=>{Z.value=V??"",q.value=H},O=V=>{var H;(H=q.value)==null||H.call(q,V),Z.value=!1},T=()=>{var Fe,He;const V={...o.schema},H=P,X=m,le=Object.keys(H),re={};if(!c(w.value))for(let ge=0;ge<((He=(Fe=w.value)==null?void 0:Fe.fields)==null?void 0:He.length);ge++)V[w.value.fields[ge].model]=w.value.fields[ge];Ee.customFields.forEach(ge=>{V[ge]&&(V[ge].fields.forEach(pe=>{pe.fields&&pe.fields.forEach(te=>{V[te.model]=te}),pe.model&&(V[pe.model]=pe)}),delete V[ge])}),le.forEach(ge=>{var v;if(!V[ge]){ge==="partials"&&(re[ge]=H[ge]);return}const pe=V[ge];let te=H[ge];const rt=X[ge],Ye=Array.isArray(te)?"array":typeof te,K=pe?pe.valueType:null,_=pe?pe.valueArrayType:null,k=pe?pe.transform:null;if(te==null&&rt==null&&!pe.submitWhenNull)return;if(pe){if(K&&Ye!==K)switch(K){case"array":Ye==="string"&&te.length&&(te=te.split(",").map($=>{if($=$.trim(),_==="string")return String($);if(_==="number")return Number($);if(_==="boolean"){if(typeof $=="string")return $.toLowerCase()==="true"||$==="1";if(typeof $=="number")return $===1}return $})),(!te||!te.length)&&(te=pe.submitWhenNull?null:[]);break;case"number":te=Number(te);break;case"boolean":Ye==="string"&&(te=te.toLowerCase()==="true"||te==="1"),Ye==="number"&&(te=te===1);break;case"string":te=te==null?"":String(te);break}else K==="array"&&(!te||!te.length?te=pe.submitWhenNull?null:[]:((v=pe.inputAttributes)==null?void 0:v.type)==="number"&&(te=te.map($=>Number($))));if(pe.type==="array"&&pe.nestedFields){const $=Q=>{Object.keys(Q).forEach(oe=>{Q[oe]&&typeof Q[oe]=="object"&&!Array.isArray(Q[oe])&&Q[oe]!==null?$(Q[oe]):(Q[oe]===void 0||Q[oe]===null||typeof Q[oe]=="number"&&isNaN(Q[oe])||typeof Q[oe]=="string"&&Q[oe].trim().length===0)&&delete Q[oe]})};te&&typeof te=="object"&&$(te)}pe.type==="object-advanced"&&pe.fields&&te!==null&&(Object.entries(te).length===0?te=null:Object.keys(te).forEach($=>{Array.isArray(te[$])||(te[$]=te[$].split(","))}))}let G=u(ge);if(pe.fieldNameHasDashes){const[$,...Q]=G.split(".").reverse();G=[$.replace(/_/g,"-"),...Q].reverse().join(".")}if(K==="object-expand"){let $;[G,$]=G.split(".");let Q={};re[G]&&(Q=re[G]),Q[$]=te,te=Q}rt!==void 0&&te===""&&te!==rt?re[G]=K==="object"?{}:null:pe.type==="checklist"&&te===""?re[G]=[]:te!==""&&(re[G]=te),re[G]=k?k(te):re[G],p(G,re)});const de=d(re);return Y.value&&Object.assign(de,S.value),de},R=(V,H={})=>{A(P,H,V,o.editing),i("model-updated",{model:P,originalModel:m,data:T()})},F=(V,H)=>{var re;const X={[H]:V};typeof((re=o.schema[H])==null?void 0:re.modelTransformer)=="function"&&(X[H]=o.schema[H].modelTransformer(V));const le=Object.assign({},P,X);Object.assign(P,le),i("model-updated",{model:P,originalModel:m,data:T()})},z=V=>{i("validity-change",V)},D=(V,H)=>{Object.keys(V).forEach(X=>{var He,ge;let le=H?`${H}-${X}`:X,re=o.schema[le];if(!re){const pe=H?`${H}-${X.replace(/-/g,"_")}`:X.replace(/-/g,"_");(He=o.schema[pe])!=null&&He.fieldNameHasDashes&&(le=pe,re=o.schema[le]),H&&((ge=o.schema[H])==null?void 0:ge.keyFromObject)===X&&(le=H,re=o.schema[le])}const de=V[X],Fe=typeof de;if(re&&re.type==="object-advanced"&&!de){P[le]={},m[le]={};return}if(Array.isArray(de)){P[le]=JSON.parse(JSON.stringify(de)),m[le]=JSON.parse(JSON.stringify(de));return}if(Fe==="object"&&de&&!de.length)return D(de,le);if(Fe==="object"&&de&&de.length&&re.type==="input"){P[le]=de.join(", "),m[le]=de.join(", ");return}P[le]=de,m[le]=de}),i("model-updated",{model:P,originalModel:m,data:T()})},S=t.shallowRef(o.record),M=V=>{S.value=V,i("model-updated",{model:{...P,...V},originalModel:m,data:T()})},W=t.ref(!0),se=()=>{var V;if(o.record&&o.schema&&(D({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&D({consumer_id:o.record.consumer_id||o.record.consumer}),D(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&D({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),o.record.partials&&R("redis",{partials:o.record.partials}),Y.value?M(o.record):D(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const H={};for(const X in o.entityMap){const le=o.entityMap[X].id,re=o.entityMap[X].idField,de=re==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(re).replace("_","-"));Object.prototype.hasOwnProperty.call(P,de)&&(H[de]=le)}D(H)}if((V=o.entityMap.consumer)!=null&&V.id&&o.schema&&o.credential){const H={};Object.prototype.hasOwnProperty.call(P,"consumer")&&(H.consumer=o.entityMap.consumer.id),D(H)}W.value=!1};return t.watch(W,V=>{i("loading",V)}),t.watch(()=>o.schema,(V,H)=>{var le,re;if(E(V||{},H||{}))return;const X=s(V);Object.assign(P,X.model),w.value={fields:(re=(le=w.value)==null?void 0:le.fields)==null?void 0:re.map(de=>({...de,disabled:de.disabled||!1}))},Object.assign(m,JSON.parse(JSON.stringify(X.model))),Y.value=oa(X.model.name,f),U.value=Ee.getSharedFormName(X.model.name),se()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var V,H;h.value=s(o.schema),Object.assign(P,((V=h.value)==null?void 0:V.model)||{}),w.value=((H=h.value)==null?void 0:H.schema)||{},se()}),(V,H)=>{var le;const X=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",uy,[W.value?(t.openBlock(),t.createBlock(X,{key:0,type:"form"})):P.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",Ay,[Y.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(al[Y.value]),{key:0,"form-model":P,"form-options":ne.value,"form-schema":w.value,"is-editing":e.editing,model:e.record,"on-form-change":M,"on-model-updated":F,"on-validity-change":z,schema:e.rawSchema},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ee.AUTOFILL_SLOT_NAME),fn:t.withCtx(re=>[re.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vn),t.mergeProps({key:0},re,{onOpen:B}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):U.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Ee.sharedForms)[U.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":P,"form-options":ne.value,"form-schema":w.value,"is-editing":e.editing,"on-model-updated":F,"on-partial-toggled":R,"show-new-partial-modal":re=>V.$emit("showNewPartialModal",re)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ee.AUTOFILL_SLOT_NAME),fn:t.withCtx(re=>[re.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vn),t.mergeProps({key:0},re,{onOpen:B}),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(Ee.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:P,options:ne.value,schema:w.value,onModelUpdated:F,onPartialToggled:R,onRefreshModel:T,onShowNewPartialModal:H[0]||(H[0]=re=>V.$emit("showNewPartialModal",re))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",dy,t.toDisplayString(t.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(le=t.unref(_e)[P.name])!=null&&le.fieldRules&&(o.config.isNewOtelSchema||P.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(Bs,{rules:t.unref(_e)[P.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Ee.AUTOFILL_SLOT_NAME),fn:t.withCtx(re=>[re.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vn),t.mergeProps({key:0},re,{onOpen:B}),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(ws),{config:o.config,setup:Z.value,onCancel:H[1]||(H[1]=()=>Z.value=!1),onProceed:O},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-fb359cf5"]]),fy={key:1},gy=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,r)=>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",fy,[t.renderSlot(n.$slots,"default")]))}}),my=Symbol("redis-partial-info"),hy={class:"kong-ui-entities-plugin-form-container"},yy={key:0},by={class:"plugin-form-actions"},Ey=ce(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"],setup(e,{emit:n}){var _;const r=n,a=e,i=Yt.useRouter(),{i18n:{t:o}}=ve.useI18n(),{customSchemas:l,typedefs:s}=ve.useSchemas({app:a.config.app,credential:a.credential,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{formatPluginFieldLabel:u}=ve.usePluginHelpers(),{getMessageFromError:d}=L.useErrors(),{capitalize:A}=L.useStringHelpers(),{objectsAreEqual:c}=L.useHelpers(),{axiosInstance:p}=L.useAxios((_=a.config)==null?void 0:_.axiosRequestConfig),f=t.ref(!1),E=t.computed(()=>!!a.pluginId),y=t.computed(()=>a.pluginId?L.EntityBaseFormType.Edit:L.EntityBaseFormType.Create),g=t.ref(void 0),C=t.ref(void 0),I=t.computed(()=>!!(a.credential&&a.config.entityId)),x=t.ref(void 0),U=t.ref({}),Y=t.ref(),h=t.ref();t.provide(my,{redisType:Y,redisPath:h,isEditing:E.value});const w=t.ref(!1),m=t.reactive({enabled:!0,protocols:[],tags:[]}),P=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),ne=t.ref([{title:o("view_configuration.json"),hash:"#json"},{title:o("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&ne.value.splice(1,0,{title:o("view_configuration.terraform"),hash:"#terraform"});const Z=t.ref(""),q=t.computed(()=>{if(I.value){let k=Pe.form[a.config.app].credential[y.value];return k=k.replace(/{resourceEndpoint}/gi,R.value),k}return a.config.entityType&&a.config.entityId?Pe.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Pe.form[a.config.app].edit.all}),B=()=>{f.value=!f.value},O=t.computed(()=>{var oe,J,ae,be,me,j,N,Ve;const k=a.config.entityType==="consumers"&&a.config.entityId||((J=(oe=x.value)==null?void 0:oe.consumer)==null?void 0:J.id),G=a.config.entityType==="consumer_groups"&&a.config.entityId||((be=(ae=x.value)==null?void 0:ae.consumer_group)==null?void 0:be.id),v=a.config.entityType==="services"&&a.config.entityId||((j=(me=x.value)==null?void 0:me.service)==null?void 0:j.id),$=a.config.entityType==="routes"&&a.config.entityId||((Ve=(N=x.value)==null?void 0:N.route)==null?void 0:Ve.id);if(!(k||G||v||$))return{global:{entity:b.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const Q={};return v&&(Q.service={entity:b.PluginScope.SERVICE,entityEndpoint:"services",id:v,idField:ut.SERVICE}),$&&(Q.route={entity:b.PluginScope.ROUTE,entityEndpoint:"routes",id:$,idField:ut.ROUTE}),k&&(Q.consumer={entity:b.PluginScope.CONSUMER,entityEndpoint:"consumers",id:k,idField:ut.CONSUMER}),G&&(Q.consumer_group={entity:b.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:G,idField:ut.CONSUMER_GROUP}),a.config.entityType&&(Q.focusedEntity={entity:b.PluginScope[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:ut[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),Q}),T=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:o("plugins.form.fields.enabled.label"),textOn:o("plugins.form.fields.enabled.on_text"),textOff:o("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||y.value===L.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",disabled:a.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:o("plugins.form.scoping.global.label"),description:o("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:o("plugins.form.fields.protocols.help"),label:o("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:o("plugins.form.fields.instance_name.label"),inputType:"text",help:o("plugins.form.fields.instance_name.help")},tags:s.tags}),R=t.computed(()=>{var v;const k=a.developer?"developers":"consumers",G=((v=Ot[a.pluginType])==null?void 0:v.endpoint)||"/plugins";return`${k}/${a.config.entityId}${a.developer?"/credentials":""}${G}`}),F=k=>{const G=Array.from(new Set(k.map(v=>typeof v)));return G.length>1?"string":G[0]},z=(k,G,v,$)=>{var ae,be;let Q=G&&G.fields||[];const oe=l[a.pluginType],J=(be=(ae=Ot[a.pluginType])==null?void 0:ae.schema)==null?void 0:be.fields;return Array.isArray(Q)&&(Q=Q.reduce((me,j)=>{const N=Object.keys(j)[0];return N.match(/-/g)?me[N.replace(/-/g,"_")]={...j[N],fieldNameHasDashes:!0}:me[N]=j[N],me},{})),Object.keys(Q).sort().forEach(me=>{var an,on,ln,sn,cn,un,An;const j=Q[me];j.type==="set"&&(j.type="array");const N=k?`${k}-${me}`:`${me}`;if((an=oe==null?void 0:oe.fieldsToDelete)!=null&&an.includes(N)){Ci(v,N);return}if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return z(N,j.schema,v);if(j.fields)return $&&j.type==="record"?(v[N]={type:"object",model:me,schema:{fields:Object.values(z(N,j,{},!0))}},v):z(N,j,v);if(v[N]={id:N,model:me},v[N].type=j.type==="boolean"?"checkbox":"input",v[N].required=j.required,v[N].referenceable=j.referenceable,N.startsWith("config-"))if(!$&&j.type==="array"&&(Z.value=N),$&&Z.value&&N.startsWith(Z.value)){const ue=N.slice(Z.value.length+1);v[N].label=ue.split("-").map(u).join(".")}else v[N].label=u(N);if((k==="config"||k.startsWith("config-"))&&(on=Q[me])!=null&&on.description&&(v[N].help=dn.marked.parse(Q[me].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(v[N].type="object-advanced",v[N].values=j.values,j.values.type==="array"){const{type:ue}=j.values.elements||{};v[N].schema={fields:[{schema:{fields:[{...Be,model:N,valueArrayType:ue==="integer"?"number":ue||"string",inputAttributes:{...Be.inputAttributes,type:ue==="integer"?"number":"text",inputMode:ue==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(v[N].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(ue=>{const Te=Object.keys(ue)[0];return{model:Te,type:"input",label:A(Te),placeholder:Te,inputType:ue[Te].type}})}}]});return v}if(j.enum&&j.type==="array"&&(v[N].type="checklist",v[N].values=j.enum,v[N].multi=!0,v[N].multiSelect=!0),j.one_of&&j.type!=="array"&&(v[N].type="select",v[N].values=j.one_of,v[N].selectOptions={noneSelectedText:o("plugins.form.no_selection")}),j.elements&&j.type==="array"){const ue=j.elements;if(v[N].referenceable=ue.referenceable,v[N].elements=ue,["string","integer","number"].includes(ue.type)&&!ue.one_of){const{id:Te,help:Oe,label:fe,hint:Ne,values:Ke,referenceable:vt,model:Pt}=v[N],{inputAttributes:Un,...gw}=JSON.parse(JSON.stringify(Be));Un.type=ue.type==="string"?"text":"number",v[N]={id:Te,help:Oe,label:fe,hint:Ne,values:Ke,referenceable:vt,model:Pt,inputAttributes:Un,...gw}}}if(j.hint&&(v[N].hint=j.hint),oe&&!oe.overwriteDefault&&Object.keys(oe).forEach(ue=>{if(ue===N){const{help:Te,label:Oe,hint:fe,values:Ne,referenceable:Ke,elements:vt}=v[N],{help:Pt,...Un}=oe[ue];v[N]={help:Te,label:Oe,hint:fe,values:Ne,referenceable:Ke,elements:vt,...Un},typeof Pt=="string"&&(v[N].help=dn.marked.parse(Pt,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((ln=j.elements)==null?void 0:ln.type)==="record"&&Array.isArray(j.elements.fields)){let ue={};for(const Oe of j.elements.fields)ue={...ue,...Oe};const Te=(un=(cn=(sn=v[N])==null?void 0:sn.items)==null?void 0:cn.schema)==null?void 0:un.fields;if(Array.isArray(Te))for(const Oe of v[N].items.schema.fields){const fe=(An=ue[Oe.model])==null?void 0:An.description;Oe.help===void 0&&typeof fe=="string"&&(Oe.help=dn.marked.parse(fe,{mangle:!1,headerIds:!1}))}if(Te||(v[N].type="array",v[N].newElementButtonLabelClasses="kong-form-new-element-button-label",v[N].fieldClasses="array-card-container-wrapper",v[N].itemContainerComponent="FieldArrayCardContainer",v[N].items={type:"object",schema:{fields:Object.values(z(N,j.elements,{},!0))}},v[N].items.schema.fields.forEach(Oe=>{var fe,Ne;for(const Ke of j.elements.fields){const vt=Object.keys(Ke)[0],Pt=((Ne=(fe=Oe.id)==null?void 0:fe.split)==null?void 0:Ne.call(fe,"-"))??[];if(Pt[Pt.length-1]===vt){Oe.model=vt,Oe.label=u(vt);break}}}),j.elements.type==="record"&&(v[N].nestedFields=!0)),!v[N].nestedFields)v[N].items.default=()=>j.elements.fields.reduce((Oe,fe)=>{const Ne=Object.keys(fe)[0];return Oe[Ne]=fe[Ne].default,Oe},{});else{const Oe=(fe,Ne)=>{if(fe.type==="object"){fe.model&&(Ne[fe.model]={});for(const Ke of fe.schema.fields)Oe(Ke,fe.model?Ne[fe.model]:Ne)}else fe.model&&(Ne[fe.model]=fe.default)};v[N].items.default=()=>{const fe={};return Oe(v[N].items,fe),fe}}}if(I.value&&J){for(let ue=0;ue<J.length;ue++)if(J[ue][N]){v[N]={...v[N],...J[ue][N]};break}}if(j.required&&j.type!=="boolean"&&(v[N].required=!0,v[N].selectOptions={hideNoneSelectedText:!0}),j.required&&j.type==="boolean"&&(v[N].default=j.default??!1),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(v[N].default=j.default),v[N].type==="input"){["string","number"].includes(typeof v[N].default)&&a.config.app==="konnect"&&(v[N].placeholder=`Default: ${v[N].default===""?"<empty string>":v[N].default}`);const{type:ue}=j.elements||{};ue&&(v[N].valueArrayType=ue==="integer"?"number":ue),v[N].inputType=j.type==="array"||j.type==="string"?j.encrypted?"password":"text":j.type}let Ve="string";j.enum?Ve=F(j.enum):j.type==="boolean"?Ve="boolean":j.type==="number"||j.type==="integer"?(Ve="number",v[N].inputType="number"):j.type==="array"?(Ve="array",v[N].default=j.default,j.len_min>0&&(v[N].submitWhenNull=!0)):j.type==="foreign"?Ve="object":j.default&&Array.isArray(j.default)?(Ve="array",v[N].valueArrayType=F(j.default)):j.default&&(Ve=typeof j.default),v[N].valueType=Ve,j.fieldNameHasDashes&&(v[N].fieldNameHasDashes=!0)}),v},D=()=>{var me,j,N,Ve,an,on,ln,sn,cn,un,An,ue;const k=((me=_e[a.pluginType])==null?void 0:me.scope.includes(b.PluginScope.SERVICE))??!0,G=((j=_e[a.pluginType])==null?void 0:j.scope.includes(b.PluginScope.ROUTE))??!0,v=((N=_e[a.pluginType])==null?void 0:N.scope.includes(b.PluginScope.CONSUMER))??!0,$=a.config.disableConsumerGroupScope?!1:((Ve=_e[a.pluginType])==null?void 0:Ve.scope.includes(b.PluginScope.CONSUMER_GROUP))??!0,Q=a.config.entityType==="consumers"&&!!a.config.entityId||!!((on=(an=x.value)==null?void 0:an.consumer)!=null&&on.id),oe=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((sn=(ln=x.value)==null?void 0:ln.consumer_group)!=null&&sn.id),J=a.config.entityType==="services"&&!!a.config.entityId||!!((un=(cn=x.value)==null?void 0:cn.service)!=null&&un.id),ae=a.config.entityType==="routes"&&!!a.config.entityId||!!((ue=(An=x.value)==null?void 0:An.route)!=null&&ue.id),be=[];if(k&&be.push({id:"service-id",model:"service-id",label:o("plugins.form.scoping.gateway_service.label"),placeholder:o("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:o("plugins.form.scoping.gateway_service.help"),disabled:J&&a.disableScopeSelection}),G&&be.push({id:"route-id",model:"route-id",label:o("plugins.form.scoping.route.label"),placeholder:o("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:o("plugins.form.scoping.route.help"),disabled:ae&&a.disableScopeSelection}),v&&be.push({model:"consumer-id",label:o("plugins.form.scoping.consumer.label"),placeholder:o("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:o("plugins.form.scoping.consumer.help"),disabled:Q&&a.disableScopeSelection}),$&&be.push({model:"consumer_group-id",label:o("plugins.form.scoping.consumer_group.label"),placeholder:o("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:o("plugins.form.scoping.consumer_group.help"),disabled:oe&&a.disableScopeSelection}),be.length){const Te=[...k?["service"]:[],...G?["route"]:[],...v?["consumer"]:[],...$?["consumer_group"]:[]],fe=Te.splice(Te.length-2,2).map(Ke=>o(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(`${Te.length>0?",":""} and/or `),Ne=["Specific",[...Te.length>0?[Te.map(Ke=>o(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(", ")]:[],fe].join(", ")].join(" ");T.selectionGroup.fields.push({label:o("plugins.form.scoping.label"),description:Ne,fields:[]}),T.selectionGroup.fields[1].fields=be}l[a.pluginType]&&l[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[a.pluginType],"formSchema")&&Object.assign(T,l[a.pluginType].formSchema)},S=t.computed(()=>!c(P.fields,m,!0)),M=t.computed(()=>!Ye.value&&!w.value&&(y.value===L.EntityBaseFormType.Create||S.value)),W=t.ref(!1),se=t.ref(),ye=k=>{a.credential&&k.password&&(k.password=""),P.fields.id=(k==null?void 0:k.id)||void 0,se.value=k==null?void 0:k.ordering,Object.assign(m,P.fields),x.value=k,W.value=!0},Ae=t.ref({}),V=k=>{var G;P.fields=k.model,P.fields.id=((G=x.value)==null?void 0:G.id)||void 0,Object.assign(m,k.originalModel),Ae.value=k.data,a.isWizardStep&&r("model-updated",{model:P.fields,data:k.data,resourceEndpoint:R.value})},H=t.ref(new Map),X=t.computed(()=>[P.clientErrorMessage,P.serverErrorMessage].filter(Boolean).join("; ")),le=k=>{k.valid?H.value.delete(k.model):H.value.set(k.model,k.error),P.clientErrorMessage=[...H.value.entries()].map(([G,v])=>`${G}: ${typeof v=="string"?v:d(v)}`).join("; "),P.clientErrorMessage&&(P.serverErrorMessage="")};t.watch([O,W],(k,G)=>{const v=k[0]!==G[0],$=k[1],Q=G[1];if(!I.value&&y.value===L.EntityBaseFormType.Edit&&(v||$&&$!==Q)){const oe=z("config",U.value,T);He.value&&(oe._isCustomPlugin=!0),Y.value&&(oe._supported_redis_partial_type=Y.value),C.value=oe}},{deep:!0});const re=()=>{a.config.cancelRoute?i.push(a.config.cancelRoute):r("cancel")},de=t.computed(()=>{let k=`${a.config.apiBaseUrl}${Pe.form[a.config.app].validate}`;return a.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),k=k.replace(/{id}/gi,a.pluginId),k}),Fe=t.computed(()=>{const k=a.config.entityType&&a.config.entityId&&!a.developer,G=I.value?Pe.form[a.config.app].credential[y.value]:Pe.form[a.config.app][y.value][k?"forEntity":"all"];let v=`${a.config.apiBaseUrl}${G}`;return a.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),v=v.replace(/{resourceEndpoint}/gi,R.value),v=v.replace(/{id}/gi,a.pluginId),v=v.replace(/{entityType}/gi,a.config.entityType||""),v=v.replace(/{entityId}/gi,a.config.entityId||""),v}),He=t.computed(()=>!Object.keys(_e).includes(a.pluginType)),ge=t.computed(()=>{const k=Ae.value;if(I.value){for(const G in b.PluginScope){const v=b.PluginScope[G];k[v]&&!k[v].id&&(k[v]={id:a.config.entityId})}delete k.created_at}return Ae.value.partials&&h.value&&Ci(k,h.value),k}),pe=async()=>{if(!P.clientErrorMessage&&!a.isWizardStep)try{P.isReadonly=!0;let k;const G=JSON.parse(JSON.stringify(ge.value)),v=l[a.pluginType];typeof(v==null?void 0:v.shamefullyTransformPayload)=="function"&&v.shamefullyTransformPayload({originalModel:m,model:P.fields,payload:G,schema:C.value}),!I.value&&!He.value&&await p.post(de.value,G),y.value==="create"?k=await p.post(Fe.value,G):y.value==="edit"&&(k=a.config.app==="konnect"||Y.value&&G.partials?await p.put(Fe.value,Object.assign({ordering:se.value},G)):await p.patch(Fe.value,G)),Object.assign(m,P.fields),r("update",k==null?void 0:k.data)}catch(k){P.serverErrorMessage=d(k),r("error",k)}finally{P.isReadonly=!1}},te=t.computed(()=>{var $;const k=I.value?($=Ot[a.pluginType])==null?void 0:$.schemaEndpoint:a.pluginType,G=I.value?Pe.form[a.config.app].credentialSchema:Pe.form[a.config.app].pluginSchema;let v=`${a.config.apiBaseUrl}${G}`;return a.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),v=v.replace(/{plugin}/gi,k),v}),rt=t.ref(""),Ye=t.ref(!1),K=t.ref("");return t.onBeforeMount(async()=>{var k,G,v,$;Ye.value=!0;try{if(I.value&&a.config.app==="konnect"){const Q=(k=Ot[a.pluginType])==null?void 0:k.schemaEndpoint,oe=wl[Q];rt.value=Q,C.value=z("",oe,{}),Ye.value=!1}else{const Q=a.schema??(await p.get(te.value)).data;if(g.value=Q,Q)if(I.value)C.value=z("",Q,{}),Ye.value=!1;else{const oe=Q.fields.find(ae=>ae.config);U.value=oe?oe.config:Q,Q.supported_partials&&(Y.value=Object.keys(Q.supported_partials).find(ae=>[fn.REDIS_CE,fn.REDIS_EE].includes(ae)),h.value=(G=Q.supported_partials[Y.value])==null?void 0:G[0]),D();const J=(v=Q.fields.find(ae=>ae.protocols))==null?void 0:v.protocols;if(J){const{default:ae=[],elements:be={}}=J;T.protocols.default=ae,T.protocols.placeholder=a.config.app==="konnect"?o("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ae.join(", ")}):o("plugins.form.fields.protocols.placeholder"),($=be.one_of)!=null&&$.length&&(T.protocols.values=be.one_of.map(me=>({label:me,value:me})))}if(W.value||y.value===L.EntityBaseFormType.Create){const ae=z("config",U.value,T);Y.value&&(ae._supported_redis_partial_type=Y.value),He.value&&(ae._isCustomPlugin=!0),C.value=ae}}}}catch(Q){console.error(Q),K.value=d(Q),r("error:fetch-schema",Q)}finally{Ye.value=!1}}),(k,G)=>{const v=t.resolveComponent("KSkeleton"),$=t.resolveComponent("KEmptyState"),Q=t.resolveComponent("KButton"),oe=t.resolveComponent("KTabs"),J=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",hy,[Ye.value?(t.openBlock(),t.createBlock(v,{key:0,type:"form"})):K.value?(t.openBlock(),t.createBlock($,{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(o)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(L.EntityBaseForm),{key:2,"can-submit":M.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(L.SupportedEntityType).Plugin,"error-message":X.value,"fetch-url":q.value,"form-fields":ge.value,"is-readonly":P.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:re,"onFetch:error":G[3]||(G[3]=ae=>k.$emit("error",ae)),"onFetch:success":ye,onLoading:G[4]||(G[4]=ae=>k.$emit("loading",ae))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",yy)):(t.openBlock(),t.createBlock(gy,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",by,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Q,{key:0,appearance:"tertiary","data-testid":`plugin-${E.value?"edit":"create"}-form-view-configuration`,onClick:G[2]||(G[2]=ae=>B())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(Q,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${E.value?"edit":"create"}-form-cancel`,disabled:P.isReadonly,onClick:re},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(Q,{appearance:"primary","data-testid":`plugin-${E.value?"edit":"create"}-form-submit`,disabled:!M.value||P.isReadonly,type:"submit",onClick:pe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:pe},null,32),t.createVNode(py,{config:e.config,credential:I.value,editing:y.value===t.unref(L.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":O.value,"raw-schema":g.value,record:x.value,schema:C.value,onLoading:G[0]||(G[0]=ae=>w.value=ae),onModelUpdated:V,onShowNewPartialModal:G[1]||(G[1]=ae=>k.$emit("showNewPartialModal",ae)),onValidityChange:le},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(J,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(o)("view_configuration.title"),visible:f.value,onClose:B},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("view_configuration.message")),1),t.createVNode(oe,{"data-testid":"form-view-configuration-slideout-tabs",tabs:ne.value},{json:t.withCtx(()=>[t.createVNode(t.unref(L.JsonCodeBlock),{config:e.config,"entity-record":ge.value,"fetcher-url":Fe.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(L.YamlCodeBlock),{"entity-record":ge.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(L.TerraformCodeBlock),{"credential-type":rt.value,"entity-record":ge.value,"entity-type":t.unref(L.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-db714491"]]),wy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAeFBMVEXZ9vbm7Ozm6+/m6u/m6+/n7e3y+Pzy3eL2n6b6W3H4Qkv3Njn4R1LX7vyQ1PpEsu4sqvoenPr3eYJrx/vyucGx4ftQve34TVwwr/v3i5b5VGdCwfw1tPs2o+u3Zoc8u/uVeaN+j7xbm9VIyPz//v7tWnJPz/xQyvALmlJFAAAABnRSTlMBKpLO/yuda3XGAAAFCElEQVR4AezXwXLCIBCAYQ0aCCsIkKjv/6RV1yaN3UgHOnDZnxxyYOYbHCvb3aN9Jw7VEt1+96o7VK5DVxyqJ+qfdznzEd/6aqF3xAP3VcMjizaw2KFbX2aYYYYZZphhhhlmmGGGGWaYYYYZZviRVIMGOA1K9smMPTvv3dmaYlgGmAsJ2kQ/F00ZPMKq8ZM7+VVTCazgLdVvZv1bNh8e4Vdj8rxLUy4sgUjSe40nMplwAKJA740UHPNgCWSSPjCZyYIVkCn6m0Vms+AByAZq74WGL1nwCchO1F5Hwy4Lho2ovX6j9nD7j7r9l6v9n1OrHxCiAPq+7g+G79s/me75LDkfcy8JPXP3he9665JwHumfyxRcixppRBPXols/fioaBFBGVScGgbVsi0YfDa/15D+PPutPeiod9r5R0Olhb3Gj+YfxNly1voa/jbfx5twtpsZb/k+CYTl+tW4n3I3iQBCA9xTYCziPw9xDTvL//+F2IWoaPUCQxCVZbsGLPvfu3DOEddqU0VUSlU2ahvnut7C4SLKs7aonSdW1WZYU8Xfgf/L6ct1KJPrKzO5PmxH9S3AQEv1vseqlMlU7TgT1pMuKkzBVf8owmNTWh9JO4mM4T68nE9VF5gc1VRb74aA8qQLu+/6p0rHB6aiqxAvn1/P51f+WEbs6URdjiD1w/QX42cIU1NHhpvDA6TXaGTIl3GJ56SmfTOKBLxHDLCjErtP+dYKr88k8cLNqVXkufCPc6XCnMwR+88BldD79FBEQUuq6Ni4MHjha5/09tUX6/r4JE2JQt8Z0Gl7fh4NNGDJcF/6wcLeZWGHNGbjU5kPI1g15zZhS4WGNJMYUqg0sYx9cRqXMRmBUmJDrGi7vCtxEvwi3KzgzJh4Ubo/hHCfj+MsEo4qsPLklrxlzUfgN8LCYrQBvHXdSsyz24VIawis1xhbTqOHWdoe1NCYtCQ/S3zB0iynnJ8PAnTEZy304xKk4HrA6FrY7rBHg5/6GcZvgzh5dFG/DgP/B6NBeA8zSA+NkpAaMgOF/at5Ex7XAvcDs2Aa/ph9laQcN4DmJD0YURviNC7LC2nGiMFqKITlwcgzXvzGF4cp1R8ZHfOmtvIRbqQE9BBYwxXsqhQPf3I5Vbn8A5wrPbgNZ4RywuAIXgFs7xOGOw5iCdbYLp2WDYWFbIro2GIR70BZWB21/A7bnNw3gqeJgYSd+cfY6d9wK3CID5joCs/TATWORwJi5WqC6FbgBjLQx4L0Ajo/hCw2Bqa3Ht+HRA8upiFxpWGtKrvKlD4YJSE1Gh+K4fSMsm7d2Gna6A7dZv/lhntzs9OzCd5xGcWNOt23l6ZjnX1B7gs94u0/jNi5O3tABj/xgh3B6DKc3UfHKAO8HWMbaB18wAc8lBhe+W/hux0Ngnl9rvXpDIbfr2T0DJydgjEszwdwsBosJRkROAI+H8OiFeX6IWjlObtFxiH5BA8a5484EDFY2HnhKM8EgJGS5RWFhm0/AI7JDAx7neGB7fI4aG2qW5gXAOVSkAIx+tl1gBe6j9ndM2JMV7AlgrU/DH/bFxYE/ZfwA/nshEw6OOw6gwo6P4Zi180jKX9+HPyF/E/6Ljx19C/5Wx3zsCC0zH3MC1J7I7eA+B1/36cnyvkp/uY+W1XqwH5a8fB3O3EfLFj0H9tzwDJwL+nq/J2fgxJax0y/yLx8fDGq6BzBk9Az3AKacxXx88F+Y/wNBLXmCTExRhAAAAABJRU5ErkJggg==",Cy="data:image/png;base64,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",By="data:image/png;base64,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",Iy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAB5CAMAAAAqJH57AAACu1BMVEVHcEwSFRgTFRgSFRgSFRgSFRgSFBgSFRgUFxoSFRgTFRgSFRgSFRgSFRgSFRgTFRgSFRgSFRgSFRgSFRgSFBYRFBcSEhUQExgQExYSGSISHjIVNCwRT7sTISARSKYiv4USFRkSFxsk15QOEhcVS2MWFxgaHSEhIBkdICYJYa8RVcsk15YbGxkiJS0SGh0MWaIoJRsXGh8NVZwvKRwVGBs0texCR1cmKjNKTmAtMDsMXqkRJDo3MhwZj708QE8VNkYTHiQRJ0Qyr+pGOB8VTWMpl+I6xfISL2AZjL0HZLQMSH82vO4RU8QAeNUtoOUrm+MvpeYyNkJTWGwWTE0PTI0RM1MSIi0ef64RGylLQh8siao4wPAYX1gQO19XXHERNG8dapwCcskQRIgWSj4TJzEOUpdQVGcwquhcYXcROXcVesATKCebiDkdlWwRKU8aeY4fuK83O0gOb8EOUpIVPTQGaLs8zPchxqsUMzV9TizErlKKdy4WYJAk36MVSFoWXHoaeXIYa2oaj58+Lx4UUYH81VEhXXobjowcn6cWOT+plDwSXciPWDDmukRZXnR6ZiyGZiwadl4Vb60YWkkRQ5gRO4Mm7KEYeqEZgrn96H72mU4PO2kdq7IXaHb423EbiXoguJCzgTYi0qjzk0wbnraxoUgRTbVfTCQRQZJVQSIAdc8RRZ5fViQl35r0r0senoLCdTzHoTrfrURvRinQfUBdPCXGjjtWOCPOvmaeeDD25peWbTBzVSdnRSYiy5MULzsVVG798rTyxEkjjdMTZLoSY8cak7IfuKUtndSraTYaa1IbgmReY3ohxJ6DcCsQQXFnXCfay3fp24oRSqwZk7shuYI0sNzojUcRSankylfp0mnawV8fpnxSTCEqmcwhWXAgrHoj0aEwpNcRRqMbRmZgZXyPAA4ADANHcEzvsKH5AAAA6XRSTlMAihX3s3oryQJmJunW4DAyoJ8y////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFWkMJsAAAt2SURBVGje7JrpXxPXGsdxK7h1+cycjAGXSXEmgZuECRmzkQZiykWRqyYQILLJIqAgXECrLC6AiCKbrTvuiIjiLu7Wvdetrm29bW/be/3c+3/cc2YSNglMVKAv+PECAnnmm/PMmed3zuHx8nLJZ8L4z7wnkthgiZzo/en4CT5eveXz8ahJY7DB1phJoz7pxR49bjI2NJo8bnR38EdjWWyoxI79qAv8sTc2lPL+uHPEQwsmSW/nqEePxYZaY7l77TOOHXIyOw7N8E8mY0OvyfBW+4zChkOjfLwmTBoW8qQJXuPHDAt5zHivT7Hh0Wde3sNE9vaaOEzkiV7kMJFJL2y49Ock4ziOkRKnSPgSDHAxgIsADFAioQARAB6TAY5J4kPyIlK2px3bduLEtmNpS5vsZl8xCT+MmwAgCVu9OTqxfP2B6urq0wcOrN+amL4iR4KJgHAypPrmpRx7NTUQKQppy5b79+/fCwjakGSOJ98aO8DJsM2J66s37f070j+gVq1adfjw4e8Pnt76jZ8SiISQAS42pxw7ColHT6QtjcgzhyCZ8+xNkTFB9woLCw0b7Blk95HjkozofRWb9u7dVH2gPDE6ffNqqBXp0YlbD5w++J81a77919YV097Oey8yTvpGbJsaGPUqLQLlFiYd75SIjA+xPyv6etmyrzeEhjkvBUBY6L6KI0cq8sujV+dIAHC9Gc4KgE3zS3+0/OCaNX/59yM/EvRDxiXm7UcDo6YvRSnt447CywJliH0DhC+eGYsB+BU7M/+7IxX7ojOUoI8ZCACccjnpj388uePb5elK4I4syTs2NfDodnM8hvc74yUZSWW7du2cGUtm3Nr5w3f5azMkeD8R8C7npC//fMfJnuxu5PjtUYHTU3xJfMBHEcfFoevi5uxct/OHuHWhSnzACCCS+G2dAdk5oA8ymRL4KqL/4fa4MTfXxX0Rt+6mRGAAAH6PZux4TPZBFp+IMuMe1CBccmvOLdKDCCBKP/njtL7I06f6ekLGRDPnzBR5EgD8Pp8xQv5zkgFBAM/JfUcJJ8PyR0kZtbTr5QDkzndIjWopBXoHCCKj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",vy="data:image/png;base64,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",Py="data:image/png;base64,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",ky="data:image/png;base64,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",Oy="data:image/png;base64,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",Ry="data:image/png;base64,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",Sy="data:image/png;base64,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",xy="data:image/png;base64,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",Ty="data:image/png;base64,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",My="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAB5CAMAAAAqJH57AAACGVBMVEVHcEwSFRgSFRgSFRgTFhkSFRgSFRgSFRgSFRgSFhgSFRgSFRkSFRgRFRgSFRgSFRgPExcSFxkULCcUKCUTHB0THR4VNi4SGxwTIiAXSDoTHx7/5l0UMCoVNC0TJiMULikRExUWRDgTJSMSGRsTISAVMiwVOC8WQjcVOjEVPDIWPjQWQDUZW0cYU0ITIB8SGhsZYUsTICAXSzwTIyEXTj4TJCIYV0UdjmkZGRgUNDYchGMYVUMaclcZZU4bfl8beFsaaFAelG4YUEAaalEerqv/7YMUIyJQQCAiLST/7owuKBv/6W4nIxoXUED/63j+11ofHhkUMisdiWb+xln+zlk+Lh4rMSVv2oX9sVcaem1m3IcbbVP8uVY3Lhz/6WVdSiP/4VkZbWAdl3b/8Jb+v1lDNx4kTTkTYcBpUCYTJCO1kDcdpq8kWkL/8qM8dE15l1Ys1ZK6ejiZZDHDmTlK1Yrn2mkujmKLbSyNl1GJgEEbgXXgsUV7UyrurkqGXitdoGLSmj4uRjImZUkSOnEXTj+jiTXTqD3xyk7IymX40lBBdUzXw1lKkF3NgTzpmEkXfbkWVGmdym9jjlWyymqJynRzZSrNtkv/9rf6plK4pEYcjHwhwZnpv0d1ynhBdEwRPYb821SlcDIalLJBiFn34W/mz12VfC8dmIMerJ4UT4EYbnb14oMVQT0WX3weoIp47I4XVFYAFA9HcEzXs89SAAAAs3RSTlMA/JgiBMrbgu8TLUmzWVb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AOo6eEwAAAjRSURBVGjexZuLXxNHAoCHKiQIuhMFDIdWJRSpVTEodq3aetQQiRGCmPKQXOhpaAigl6SYSkLEFkI5HtezBaGldyCP0vO8uz/xZmZ3k53NY3dCQr4km9nZ2fmY9y6/LABySst05SX6Ii7n6EvKdWWlIA0HD+mK9Vz+0Bfr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",Dy="data:image/png;base64,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",Ny="data:image/png;base64,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",Gy="data:image/png;base64,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",Ly="data:image/png;base64,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",Uy="data:image/png;base64,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",Fy="data:image/png;base64,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",Hy="data:image/png;base64,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",Yy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAATlBMVEVHcEzq6urm5ubm5ubm5ubwgyy5YSOeUB787+b6qGbz18H6kTz8wY/5hiemViObTh7QbyXWs5vNpIrgdyTm5uaFTCK5gl5sOhTEmn////+cNvO/AAAABXRSTlMAGci9ZoV8zcQAAAK/SURBVHhe7dvpauNAEARg5+g5dfvKvv+Lrra2zTaDNoYoU4IwjSGQPx+lsmV5Rjqt8/56oc7r++nPvLxd6PP2ssJw6fJ6nAHQ5/2Efn9RBz2f1KXLPwtucIMb3OAGNziEQ+CwOOkCFwY7DIP0GTQNBuv9CvegSbCyCoPmwLMDq7DSDPgG18KgCbC3sElNhXWUrgJfFmQqYLxM6m+HLx+D63PswmZiS++FS3bwDkTsLKyRt+n9cFpZPzpN5cYi8RN6BzwPfhvWio1q6H1w+Bw2I/p60LvgsEw5dmH2gJGvhC1YpP4aDFbfUdP438RiEgsiW/qL8DJAMzCkZ4nhY7pvgJ93bP0KcNGxYmd3NjxCcxJP9/vozmJoTFe5Y8DrXIdJTPCqiTVdnm/XO8a7M6VjnbgCaVH8ioNevWP5C2MCcD3odTsWTWzSpI/rOuNETGwvygAzOg4pzbOBPSexOFidTVy7Y9Bn72ElYmLMA86J2LEYuM+BlBis/IP7yOm4PNSQae9qC0PjdAzawjnROjYw5Jund6wHfhg94VxdHGrI9TuWIrH+Y6qfuICVnggd20Nt32vkxBgZRkbHUnacJ39M4kQ5V+O1ccrkJ47HfB/3MQCmn6tzIH4f247TMddckFgdSy/28pab2F7Qkzre/gnjx3EkJBYD609G54bKHSMwYEVTh4lZSB2vaAAKFQ0w1kCiQbM2wlkDUVVRVEC4rgYcYzYmaw0kZ6hqqk5YA9G/wkxsUxYLuYB3LRs//xxD3diT2blQnhb/aWIpAlt2/9bAdsdmHmlF2bqbISrJRlrG9o9tGGyFDa8c0+YWn01bY4svbW/xlWn3w5ae0/amppoFy97GpcH2A8TcqheTln1zgoD9Ybdj8G9A4d9yw7/JiH9bVbuDrcENbnCDG9zgwx47OuxBq6MeLTvuYbrDHh/8Dfq5f7l4n1ziAAAAAElFTkSuQmCC",Vy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAP1BMVEVHcEwAAAAAAADLy8vy8vL2+v3/////++r/7ar+44X90Rb9vBD/9M3+1U7Y6/SHwd05mcbD4e9IoctosdSv1unA2j1uAAAABnRSTlMAEiZyxP3KMBNEAAADB0lEQVR4AcTQsQ0AMQgEQdYA/Zf8Eo/sDriJyG6F/eAsA3s4Euj2B7r9wdv3yFqU4begj6h10cNmiPangA7wkvAOmAfIXtABWRJ5A0ria98+siQHgSCArghMg/z9rzqe6azpQLyXoyI3cICKT0Z5CeA/ARMwARMwARMwARMwAT58rihWGAWI6XN9iJVHARr5ZVQFuQHAKEDk+WEYgA+gYBQgcIAfBuANBIwCeDqAgmGAwAsYBygMEDAM4HkBwwC8AT8AsLh2AxEA3PJOgFu3bacN1AKWYzvd2wDu3LbtbL0JZAD4IdwOpwf087e1NsAKwLVxgRJA8k/3+kEoC6gj2I7lQQDJR2QFCMHBBToAyYccgCygPwMFgOTnL/kJ6At0AJJPGsjggqcA7hD5pIEIcMFDgOU1P8h8/jXwogIFgOSTN4H8dWS/BbsC0M/3Mp+t5OsMtl0B6OUj9ABBtLArAJ18lE5+AQAyAwWA5JMGSAFEoADwfMTOADLwKrj0AOwyv9cAeUvYhUABoPk5NZZ4AhCBAsDzEe8BGVSgAMj+WQM8PwBcoADQ/E4DsoC+oAM46Yso3g7ANx/oeApwO4CAJwHLxirwcmUfZX4EnqwAuxQ0VhH56TZfAcDVFWQ5gNzO36ECYO0JIi+A5ysAXMAbKIr8PsD9Edw3IF6BJP/YoQTIGXQbCIr9S4BOQAog+1cAiGC9b8D3968G4GoJ4t/8rNk/B3QEvIGo278EaAS55hfl/iVAI4jtAi6erwdgJ4I6gNDwLngKwAWZF9D/YagDYD+EQDbgNftXALD8I+AF8P2rAB1B+A2IunwFQApqA+RLyM7zlQAucLUB9go8eL4SwP+qqQ2wAnCS/CcBbj33+lWEvgUu57mM+Lv+dwPe7tpx+JkfYAOoDRQYAn7kJ28BEA1kGAJK+ogwBPiUCiwBQRRgAiiiAAuATwWmgJC8LaAEmAJ8hC0gzzupngdMwARMwARMwARMwATYH3YzPe5nfuDR/Min+aFX+2O/5gef7Y9+2x9+Nz3+/x0c+Iy+pJgziwAAAABJRU5ErkJggg==",jy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAJ1BMVEXZ2dnZ2dna2tra2try8fT///9Wzv8Atv9bZGj/m43/c13/alOkqaxKHFPqAAAAA3RSTlMGbsyXV3DeAAAA+ElEQVR4Ae3ZAUYFURTG8VMriDYQs4LmFAGQEQPQXCAAZgOZWUBw0QoKIEgAQV0A0bJaQGf4nC897/n+uMCP6w5zcMyOOk/Vn5gZaANtduzpzuw0j8+t84uS6tp7cy+5Jvc8LsK/ExYWnuYVaBlCfLNC3Yd4xvAS4hVsAxcgEgsLX9W4BwTXrShMXXuXry0sDMaPG37Q8SM2l/B+4umpAb0OIR4b1HuInzH8EeI3DH+GuLUC1JrwYeC7+hUdGP6uj/GB4FprfBCYujb1YP//nYWF+Z8+P25GDL9QI/aPh7uwsLDwkF/8dH6Zw7fec8suas1GLfiY1eIPQKTYtaVTVS4AAAAASUVORK5CYII=",Ky="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAbFBMVEVHcEzv7+/s7Ozp6enm5ubs7Oz49PT6+vr44eH20ND0u7vypqbxm5vwlJT57u5iYGAzMzPgg4O3VVWOMTFdMzOIiIjZ2dnih4f////ctLS/v79CQkLAkZHAFRWzAADIamrU1NSgoKCXl5esrKy7wMNQAAAABnRSTlMAT9H1/w10dyYBAAAEwUlEQVR4AeySRQLEIAwA0Tj8/7frrtWcOpcKMrFwJKZc3MgphjM1FWdSPXlzcScfzd75nkiH/p5eAN2AkzCeE0ZXzinnW76uOedwTtg/5U28iT8AxCKqZq2ZqYowwepiYNH2ARWG9cSdb9KPcu5riIGk/UVocTHrU12ZOgAi9E78VH3lRcVsdynBx3Lc5MaLiUnvXRwyAUqLiEEGNhCQblthvpguVZY+aPAvaqO5YtmzZifqjeJAEID3VCxgQFwKtnz7/d9xhNIO7qSGkj+ndufG/KjV8Ak5iwV08RJcl3mThlqirDlMymw5pmNJuRls2XDJoLHMYcsalN8KlsPYfb7M/OMM3pDezJMry2DQV2TENBswzxSuxX1FNh9y/QxsylRnIudVuzRPwMWHaH9ELgiMjl+VG+caAssIcmFTSYXWZRfDYFMu08xguUw5WGQCk9Yu8uCNUEQmsPr8Jgueq1PyRxCH1ek4LJdIZQ6rAnK4kkkhsoJpZ1ccttKGROawfgpaCpfLgJXcdv3gWJrR/2HIJYPTjJjvvdn1MVSOGb9/2OiuwXABn3GmGfpcudEyOimAa3DXxYzO5csjbux6FbYyHTo+jeQ9ddi0kjffuBgP72WLYXyEZJzd+5JiWqUbPWQ4HgAbqYlOOpufzLads/WS/6bpP69jJp+uUUdm0CAYX5m6Yyfvv8j17OpMUzqW1FrBoP0UPEVYyxIO6xNDuJSexjCXMSx9XUJ4mWKzBmOZw3JmDOvrwjCWOSy1hLD0VkFgIFNYJtmuwpbBWuawHhOGCwDvgkvxkv3heIg53eXz4Rhz2HuJSwm7J2Dc1MFpODpJljGfu2PKQcMuoLZehWtQ5sdSJybC7yIfJY+lBuWuV+FKep7CUZZ5JrC6n6rXYJGlw34G/hXzxmCJ9DaF0bnzYdVc0kwiH3BzcZiXWsP7++0jcgtvp6fnmHS1BD9JXpjjksBc5rcTf4DgUtMxY1geIPyRyWEtU5g/qwsOQ5nAxSpsGUxkAtunFgJOJVx8zDW4JUN/muVLcCp8IUCWPk4nzHA0lNzGDA7D6Mx0sQdgJ+VU8gz3X2Tc1Hx5y2CV7Qx/kfnylizoAwadaiZ5o9MLAbagJ68wu8DgRd7ipQ9/hdFXpst9iwmLG26S8CCf9rebLjN5aYNHAHj8lMN4h8dF7k5RFhhXmr+YY3h3/sxO3OXvtu0pZo9g/mIu7QfhS/xv9+Be5P/Pv9uf5gwA5lsR+uIUHN1vuek/JLkfBEZlBLDabi0QzHOd5T7KdLuJbLAp+JoBR7nro0w32MiWotqKaK40UR5nuLfZW4pkn3dMNxCXIzxEt5Px8U1Uts/r3Sw3nG6Ci3IrEN82pvu8o8vP0KnP841yPSn6WNPkw4361oh8NQDasDJKJmNWm6h2kfmXIfTrIj8Gl7ltbBb5d/tmjAIgDATBLoQg/v+5VkNKXU4zCLlavCxJN7MZ/pnfV1EqCSLEV9hM5gHiS6FmL2bOoSb4uBcz5xiXzYV7Hhx9LarnZf9DTmC6pGN4Aoqn3HiSkahV8a9HJuAUyc531bljlTrHNEEWvNEj24d6JCMIoYIC60m/vuacz168F2uVFK2Eo9WOtKKVVy3TynRSffACJV4aRwV6KyYAAAAASUVORK5CYII=",Qy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEX////r7vXn7fHk6u7h5+vm7PDy+Pzz8uz23K3315j15MT6xlr9sx3/qgD4y4L069n8vDr/YwP8hjz5pnEuBE72AAAABnRSTlMCTs31/9IIfInYAAADUUlEQVR4AezPgQ3AMAwCQWxI9x+5Sp0ZiKTyC5weu2rKFrtwWjK3xqXs8crveS7tHmMfWGi3O3KDbndkQndg/QQOHDhw4MAvb2aw5DgIA9EbEoAFTv7/X7dm4tl27MYHCsFpa1zrZ6nVEhDRGKPKYnDKZfusYl/s6grWsp2XIQltq35gydtllRQkqbWffzc3sLTtcZkX+D+3ZcuNkKsP2I7s6hG/XbnZJ+L6eXs8/eU76iI+4E9h6XcS2raV0j4fkHyKS3j94Juak4/1Fyz9b1InsPXLJ/4qHJzADVHRR+YFLv36QWm5gWmHSMj0ZDDC6kucfcHSNZO5gQvAvOyWagxwcgPz1/NP8vcxwOIBRgnFtRGjZdp6jQFeXdX9NmG+PlaA13auhGG/tldX+nrsA2Q9OBTXsSgA8ymxPmJU18LiwqNtvY+x9/Hr1fb8bPVmL0THDb0+mbXi4XRwg8S9dEQPsLJTipjJSeTsAJZCVEz7vr+EG2oWuJGAbf9Zdsq1Tgfn+4Ff3jvAMNRUsOT7gb++PtyXcEPNANe23TqT7ge38k4+A6xluwn8Prhv/GnirQ/Eu5hUXgc30q3mBDDSfI43/XHT7QN1Fjji4vAur9D9/gQwbi6zcHnZHncCOJUHeTUw8JSIjaQ5XVzkkOraSJojl3deccG83L3P+4RxMMzb6r1J7trf1IdxMNKMIn2Wd16vZuYN9pdmeZibNg6m5sUM3O3xLjuNg6l5IW936zz+Ywg3L5uBfXXiMFiYebsuwqoFG4URMDUvnYGMO35RzszL5aXc0dMiNS+dgbwci4yBqXm5vPQ/loELNmZePgMlRumUYwoDYGJe2iSlXDOqBfEOgM/mpTOQH82RpyZhAMzMy+WN31vYWPCT4gBYmHn5DJQTBi4oGobAkZg3yIs2SUPIuiFPo2Ay0AwzsHNYrUe4KMeRVJcUGNg6pk3ocymMgYk5kWr2UoQMwYfAfOGSgYesJ8EHwOOXTgWC5xVgVHNEyGkROLRLyG0VOCFk1PgKcMiYvgjZG4yQDYLrCjBah0DwVeAKlRUqu4H5UbitBJ93IhXV5Qbm7b1G/bfRVYqjFo9aTGMwavGAbUkZsE04A7btaKA2Wg3U1rIB3Ew3YNsHAfSscHWTIh58AAAAAElFTkSuQmCC",zy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAXVBMVEUAAADh5+3i6Ovh5+zi6Ovh5+v////i6ezi6Ozh6Ozl6u719/n9/f7////9/v7y9vl+pL8wbZgMVIa90d8fYZAAS4ABTIEGUIOIq8Tm7vMvbZgKWJMCToQKV5M6j+bTVWRjAAAACnRSTlMAK4/V8/8GlP29kjUMiAAAAa5JREFUeAHs0IUNA0EMRFEfMyxD/4XGDlUQTQT+BzvCJy1JTdv1A6i+axt6NU7zAG2exqe7DPAWkafhD01Ejdzzuu0HqH1b5bYbasU9D2CnyC11/N8OaBuTHfX837HwzmRPA3eAE1Ph36ewwgorrPB1G2vNfaFh58Mz77Cwi+FddEj48uGbv4DwzWDKpeTE4wbClb0sI/MwQNiyV2QUHvbRvh2kMAwDMRQ9Q7aNk/sfs/UFnukiyKWa9eAPwZbEkPkH8BH41IHLFXhOAQHJSSZM4hzjesgkXPen3FHwzmAkDYDdb7CfjcHuN9hCYbD7DbY0Gux+g9dmYLD7DUbSuO5lnbJLgG34Yw0eCAi/AT6+/NSXP3X+cuWfU1ZAApJpk3jZJNxfPy64YCcng32GwZYBg32GwRY+g32GwZZ6g32GwTY3g32GwE5aLqcvgB14XA5Bu4OdtFxOX/nLlX9OeQHJSaaTE8A4o35ccMGdc3XO1TlX51xPXa5ZkTnXrMica1ZkzjUrMudy/4Y/oBRccMEFF1xwwQXHFjRiKymxJZzY2lFs0Sq3WhZbpgutD74BPWLsmdxKFbsAAAAASUVORK5CYII=",Xy="data:image/png;base64,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",Jy="data:image/png;base64,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",Wy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAIVBMVEXZ2dnZ2dnZ2dnZ2dnv+P7///87rPz/AABGsfzi8/96x/085FVWAAAAA3RSTlMGzG4zvmxxAAABAUlEQVR4Xu3ZwQnCUAwG4OgEQhcQnKDGDdQN7MEFgriAGxT0LnSC4pi2ohcfSUpyMuY/lB76XfII4TUA8wpNqZcAwFldA8zQnAWs7HgNFW4aU7ZYA+Lehg+IA26MCYiPD2Jzuyu4IyFXBfcSPiu4lfBJwUQ7NkSxcOLxSa983mLiPOfvkv0oznNm5tLkxujIgXsPbs2YKQ5XsMiYa4xYuPiMSRhchGuMEJiZDlzBYmC9MS7vjCwSzn7+F5z9LF++FSxf+xUs/3BQ8ORfHdp0KBMFl4mMuekQD8c/58SJ5bmkYHkuKVieSwqW55KItUTDrsWPa+XkWna51myuBZ9rtfgEjuylcRN+iI0AAAAASUVORK5CYII=",Zy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAUVBMVEXX19fMzMzMzMzPz893g4yFkJiZoqnp9Prz+/9CpOvG5PqOyfQpmOiv2fe66MH///90vPHO79OX3aIXj+ZcyW3m6utdse540obc5eE6vk/MzMwHw7fDAAAABHRSTlMCzG4b8DRO8AAAA/pJREFUeF7s1st6ozAMBeA2XUi+m3s67/+gQ2UjYoNbKJQVZ5kE/k9SjHgb83j/d2neH29f+SD2YvpjhMm9XB77TMDleYSCwV0YCCWze7FMsLs4N/zXueEbvuEbvmGpeqGbRoteyetgUKM5Ryu4BAbfLOLh72Gjm5VoczKMxodZeoPk+gh5I2GMNF7Hos+EId41WuCwJ0QofIkSJPd4FoyqyaKCyyzTQT4JBtGsRkhcRFLR/hRY6sCoMEslotsDrgSoF+YEGHQ+TCUyF77ASab+aDgMIyk+a6gywGgeSRcchlXulgOxbroEDsLALt85kdbKpiapg7AfXfFToWuHSh+DUfNpTcpzGL52qzxdJQ/BZqVglwWX/25PvT4C0x3KKttZzAj3h2AxwvKlk66QlRMljsC0+SAvF6t6aD/HtENd4RoNI6x/D4enn8jYavhMMlRM85DpEO6F80WvEtdSqWlamxR9FFbN0u242jRDx3L2CNkPe2K9fHXtVGJtn+AcPG09NcCmMl3tfwMrLnd262DUlXtJNX0aZZhLbtR+2PCiz92BWaaHRA4xJJu9MOjExdm1biV2ltNXEQ07YTpHqWtpuJVbTdXynNO13O+Dzct8IbgduU9XyJPkjsfMa9nsgkWy+wmmOVaumIrmTzCHVuoeWBYabd03sYVmyx1wzwXDBLdUTzmxJ+0EA5fcb4cxKZjgihtdDv8G05JxM0w7bTnhugDidLLr5ZRpq26GVdwMwDB+U3DX0ldTyTjDgEi32gLziM2i023RHfMkueVeJ28im2Exjxjmh1ZdHCx1OPkZt4umthlO3zowjth+5/Ly4iGX30TKcJPAUw+70tmNWHy6tQu4+d++3e1EEMJQAHa1FK7WOLERef8HNZB4rGwyQujITc+Va+x8ych/loX9cX06hvsMV02ILbF+AoAswj/avXeRK+H278ZP+HAhHKG1PpOUa/iqC9N3BI1LNeO3VH+FUaVrXIJiLlOwMCGU8X51Q65uPz+jO2VVznEC1i4VNTIoubmiVPVnhVTCOFxIh/sh8w43KlQPmUw6ZRhudaFkaYmYJCBjuFLRk0QUhIh4GG5uRu3jtHg0V5HdtCgaJpqCiyARk7wmjpOFwAqcVbFa+kA+TpY+sgJXEB1qbrGHzrQM89zyls1gkpkFvZAdzDNbGF6FdeL4pi0KYgDL6TY1622q2MIyujEXa1j6o4j6+qP0RxGyCj+GRw5fmPqsw8Tpr+OmBNcUpiDnB2wSyBhGytmRYiGygF+Nsgd22GGHA1EwMPGsYTiHkA1MPMu/+eLwhsa1oTvth70fO+ywww477PC+Szi3Kqf/dFMVb9suWu26WrbvMt2264NfwUOKGWhxOcAAAAAASUVORK5CYII=",qy="data:image/png;base64,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",_y="data:image/png;base64,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",$y="data:image/png;base64,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",eb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAFVBMVEXl+OTU8s45vzn5//f///9mzmWk46NudVGjAAABDklEQVR4Xu3ZQW6DMBCGUTtwAE/oARJLzjqolDVV5wREygES5f5XqF25zoIsmN8bIs23f4LZMEhjmM8E1TAbngisjdii2LGZCK41PbmWgSZLnbH0wVDf5AzRgOEfoogZLGMD9P74U9jmsWLFihX3D++vHYbH2cfCHcHnZJNuALz3uaMc977UifHuiQ9inCa+dv0j4iDFY0SnBG5R34X4K836P/tFiPd/D86PPgpwJpfyDichnuOkZfogxHnkPLQYF7ElrFg3RvlwPgvNarzziw6r8bzEYTX2L1KsWPEixYoVD+C6wRdd/Yp93bDd3wrFihUrBnpzDJVxi9kpYotjV3Vyqjp21ZzZ6g58VafFX3XCibGrkd94AAAAAElFTkSuQmCC",tb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAMAAAAJixmgAAAC/VBMVEUAAADk6vbj4/Hm6/bm7Pbm7Pbm7Pbk7PXm6/bk7PXk6/fe5PHd6vL////l6/a1B3sAsd7ePgGTHFmYHlOlJEQAupsAtcUAs9EAtcIAstcAtb8AtMsAtMgAs863BYKJF2UAt7EAtrgAtrwAstoAuaYAs9Sj5PMAuKmMGWGPGl6eIUyhIkioJj+rJzz04+QAuK0At7UAuaEUr43fwNbw+/vaQAQNpdexCIPQRwrdj8PISw+/K4/YNhOhGIwAstkKtJT1+fzCGlEAstyAE3BBl24As9WbHo9rCYhzDX+iYSr68vj0uqT8+/oUn9QbmNEvhcc9eMBXX7Ilj8w1f8NGb7peWK5lUqt5PqF/OJ2GMpqQKJWV4ekfqYa+FF6bIE4mpYAvoHo3nHW3C3O7EGnHIETKJTrOKTCrWyPTMCDVOgrWRAbS8/UIqtpzRKTF7vQFrdxuSaZlBpCtDIZ5EHevKTi0KzK5LSy+MCbDMh/QOBCmE4nBTxScIE8EuJhMkGZi09FdA5mYZjGpEIecIU9Yzt9PZ7aObDja9PDM8utz1uUglM4qislSY7RqTaiLLZeVI5K+URfs7/a+7O9i1MpLarhWi2C5UxlYzuXxyuXRLSixWCC2Vh3jWyZZAZ1hBZTwponsjmjHNBvKNRjMNxXx3O4jqdnhsrqXXLfqtq/lgFzHZDDj9fWe5tnYrsT88/HFpNfSqs5CdL3sybanXazy4dfV2sxBc73kl7N2L7LKOnDaem2m4dXMqNSoyrbpnaSrYp/tpJbOc3jUR1PF0encms332czSbreqEIi3j2lghVnNfFCEc0DcUjqr5PSk2u/fwOCuut5ZjMqxe8OMf8F2MLLGspdgBJXZqIuPy+c9w+VqveLKt9/A5tyQstvorNZnpNWnk8qI0LxCyrtzcbuZQKC0Op2ubz7TTxXd0+o7rNk6mtHdf79Zdr16Vq1fxazGTacpv6N2t5rqs5lEs5WKr5JHqIZknnl8mnWZk2yZf1Ebu+KKndG6YrFqvaJorIwUFni+AAAADXRSTlMA+BLr4tHKnZyGQScmJOeCAAAACPlJREFUeNrs1MsVwiAURVEw/+ilphSQ5tKxMSaILis43DOC4V4PXiiax76NCVZs+3EOf7oNOGuhHm6/3gnMPcjT93i7hK8rhnxvUgU1jzzfKry7+JpxBe/5XXfuq1RN0/GgY75vyypc67JlYHw96iFfF0FbMnHYwRHvLcQxhLkCbyGew3j9X6G7/vEY+hoG/BlxH9rzBNzPZevJbPPOEry8tVJd4GQwNYMFz2DBM1jwDBY8gwXPYMEzWPAMFjyDBc9gwTNY8AwWPIMFz2DBM1jwDBY8gwXPYMEzWPAMFjyDBe/Jfn28OBGGcRzHP+CnRsUughKxzkUjliAxElQydm+iB3tDETt6UCxgOaiIYm/YscXEhlgRgnHFVdeKeBAUxZMny8WZd/YZ33f2fTe+iZnIMN8Nu+zu6ZPnfd/JG4IR8EIwAl4IRsALwQh4IRgBLwQj4IVgBLwQjIAXghHwQjACXghGwAvBqF7pB5AUYPChSBqy/Ad302ge7M7W1Hj/kYAsI/2n05HIIVDZNF8GrAfsl1NuJ9zOURedbtpdYL3VBzdXlEwmu3btOqQdKxWNRtu0abPJeYuaN2gTZFlIodOmO26+/WAdjsXmzFm58tjRIytWLF++bNnSpUuW9OndqlWvnutatmzRokf3zp07Dxs2bPHiESNGDB8+fNGig2vWHLj2z8AOd8gQ4lpeGZg6i4ZlGEegnW8MHFGBV6vBz8sGi15uvFad1ODXaNj+SEPxg1ImPEUBflHuhEUvrWcarxxM1cDbt4ikWKacJT2sUkuauMxLA+7UqTHwz34QO78/Ju2Q/pKeUsE9LI6Xti/zSsHqc+vQXEVZ7QmvVi7p8vewuH1TqRRx7ToQWNo88BmfBkj7lClhD1fy0EoK3qjgJfBCaeK5dVrhZafWnVgs7n7N0djDFTi0JE8j4rrg+fIe408PBkk7kwUDx+PxOXH69qg6E1Y/jchL4Mf95R3nzq2Hcq8BAnM9qt6hpVzOHVgdCazoDajMKlnkVYD1D61ywRb39W6+9Z66wa7mODXK0wI4mWe28Z2xsv7y8DwIPJuvHpw+zbrhdJcl7uHbrMt2J+t7qg8WxzsJOr3ygD/TZ45dfA9h9XIXeSVgVYY44b5QpQ+mh68eOPF5tNgr2J0/s48vy8APTbjd2sN3rzpg5tUEYwdJqbMMt5fvJeyyJjjwTL6i4CkVACeTztNIE4w3m8XeADBm8X0k6X8EThK3nTa435fxYjuAvADOQAKewVcUvO6fgoW7QkoXjMce8JeE+XEkVx4aYJ/2MD18SwLj/RaxV8jw4KwUPJ3P5yVtc11vVB/cZIynpsjXY9eOHFkHWVcF8HV/l3RXO4ebipYAxjsP+D2MtdRHUw4eynfd3wnb8yVvSeBE7QSx+6gjcAYaYJ/2MC1n5+pbAhj3PeDahPljIysPFXjyUOtVnQnzd6PSwHg/Vuwdcg7YUIEn8/m8h4nLvKWBt5OUaoK87a2DBti3CQt3wU6bFsjqh8Z7cunKJet15Ur9z1oYhULhh6kET+PzHZyKprxX/Y6s1nZtrXagSLUTxZ6grlDIQdVAATzY30OLjdd71+e4Vu2Lgpt4wF+3m9+/Qw2eyjfY3z3MTmfiyr3FwXi302rDTrdfyBkaYD8nHCUvzyUw4/4NOPF1g9h9oBFwM76qgNXjJXCR7m8V+2BqgH09tITdS14Wcbt04cDKno0Te/K/glXLua3r/RtwDk1JSjXVAPt5aDGucj0zb3Fw7jc7d+/SVhTGcZz+Ab/RDg7SlELHGhFKEGkGyXC5a98LrXMJSMdCU3CJHdqSipA/4IJDRAvWyWZqSMiUoqMiJiYgiG/4trSlyUlucp57z01z0yGPl/NFdHL48Jzn3pMlxW/4+ZC2yXSH6Xgpt1eweVW8grnnEP9geqTJeG9Sr+CGQv8CZ4vFYhb7j2h7UZZHuu1VjrcncGqhUQq7DvEuywnT8/zhtaoounYuwOcwDj/SbnDcYbq+z+G/tURiIVEXr2FrhrbJccK2t2+weZlodhnFZjwen4nP1H+af7cY7jB9OvcBzibssrDitEOD44Qlbx/gzFSnJFYe03YZgsld0j/4VAL/gbnoEO+ze2iRu6R/8PaUXBalJ7RFdjtMvMN+webFtNwpsOEQr/CbcF3bNzg7TUoCqepTWoobmFyufIIzr0hl1PvuAG8we2gJrw2+7RP8m3gvxtFo9ROtxBMsrs4+wdsvSesQWc9oVZPVQ0s6z37B5hnxnqHVhkMcYbXDMtcnuPyCtI1WRvUzzQIsk8uRJl5f4CT1HqFdKUZbBXKrBpMjbXNFoV7AZrTZ0Rgpg06/HOKvRiRWs7hMWPqkH6q8dzUv11Ctj6kqQ8qKTbqLlVjs8LBIeEWjoluie6K7ojuipBf4JAq53KSqHIcJS1yR4LZqeyn4gaJ10GpvVeUZ7LDgkvHaXDpfUdgLXIGjdGG2XmG2UKj/6nRsMJiw8MrgUcFtRrhhAV56524OzvJvlNWsQYO95ktPs+Da4CFX83BlTNxXNmEN+KHV63EOdwGHM3C3owbnB73D5DgTL93ebuAlqDoeUZQf+GspRNaXeOl8vcEnUGYpvAeDfw8TrZtLvUNK8BeoO3B5Iwzew9JlY9TrbWRzh5TgCjwyJxxeFhePXtfXG5yEV2nq3WHx4WHcV+I/5kgZeGel7fKSF6ZBgmfLy8tGJ/M6fQdAZCSN/+1afelBTukNMFiVBmuwBmuwBmtwkNNgBDwNRsDTYAQ8DUbA02AEPA1GwNNgBDwNRsDTYAS8v+3U260DIRRDUR/mPfeamihgmpuOEyUIRVEq8PH6Mp9bIBxMcQ6mOAdTnIMpzsEU52CKczDFOZjiHExxDqY4B1OcgynOwRTnYIpzMMU5mOIcTHEOpjgHU5yDKc7BFJc3OHIFB+a+Lkq7euaMta9Gaa1nrtj7uint7pk7zprhilvtTiASFI/eALBV+eI2EjcAJcbxboJ/9dXuERgFT0dN48DLUpNY8FammsJU0P2lKJ7+MZQEr3op+HRElRYHvpRNODm2gh/OfZ3lqmNe9xMYHoMm+5znI5tcAAAAAElFTkSuQmCC",nb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAG1BMVEXX19fZ2dnZ2dnZ2dnv+P47rPzZ2dn///96x/1nbFiqAAAABHRSTlMCzG4b8DRO8AAAALRJREFUeF7t2TEKwkAUhOGnXsAqtZW1h1BzARfSRsI7QSAnyL2NpBN2F96AxfJPEdJ8TcIUu2N27DyU8WJ22mxQ3+zg4ZztGsdv63xaQnn6aO59DM/uG16CAWcCBoPnNWUz9BX8SIW8Kngt4aGCUzFVfM+mNQz+PtOe/S21ifnPv5+sVUyf6fNfMX2mz/SZPtNn+gwGF6Mf+/ULB/2qQ79kAYPBYGn4kSYnaeySZjZp4JOmxQ/Q2laaGT2ytgAAAABJRU5ErkJggg==",rb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAclBMVEVHcEzu8fXr7/Hm6+//////8ub0+Pu02vfl8/4pnPX/lAD/zIP/2r3///9Ufplyv/n/kI7/v2aVzvv/UlI8dZz/ZWX/YmLh5+uXl6X5k0T/uFUAS4A+pvb/nxn/mxA3ovZwm7j+k5O7lnfUlU7+np6Sfl4sKHjqAAAABXRSTlMATtD1C8ow0P8AAAJ9SURBVHhe7dvZjuIwEIZRIF22sy+s+9Iz8/6vOHES9MuZ9iBBXJa6/d1wwcVREWKjIM9080W0ZStazGd9H4stc4uPzo227EVaxryMLdrr2wEiZ0t04LwfOGetHznCvJwzRzMMzDvyd4MDHOAA0+GcDJ0PxAfTJUHJhdjgQ2J0YIPPJnxmg5NRPw+u+9KM+OGhjBlGKTOMMv4vF2WplokZ1pGWMx8LSIarzLxk1m3MmwRgxm2RAbYX4AAHWEjZjFKdJqVTWMJDGivjuHQAw7XB1zi+uoHtrnI+segdkSMkpXABY2CwlhzBKvcAY2APcP5t4ADL2016gEVxbCvEVDBVm+XQpiI7LFbHrpWYBqaWRRvIgOFCfh+ulkaVBYYL+T14Y8IbwGkL09gdy6p15UvwcpQJp3C/lqUDmGotkwaK46himFe7jZoEvqN92+fnbrfT7qg/v3T63dvujn6TRrL1Onu8vgJX+1bVrf6FC+12dudC1sh6uVw/Xl+B7xoFPJ54aF9NDuuPsauwwnvdNB91btwpjVT/+3LR8yclL8C4Uyy3E+65qRYQwOrZAkKAJ1sym7bnS2bdNukmARgyXBOeclsEDBnuJLCZHcYPAV4YP33YYRRg8gHjIS8njIe8/DDhrxMmGCN/UUr9e5kLGFcZIY3VSVK7ge0zpxq7JMnFFYy/TsxoePp/cAjbozQlZhj9JDjAAVblKR46lYoPVtcYxVfFBpexUZk/Eo7hkwmfzKcbDuF4FAb2AgvV6AQj3CAMzATD5Ybh8sNSipwXBuAVZl5AEPOSiZg3CcS4LTLALxTgAAc4wL6OpHg7hOPt2JGvg1bejpb5O0zn7fjgXw4zQKl16iUIAAAAAElFTkSuQmCC",ab="data:image/png;base64,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",ib="data:image/png;base64,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",ob="data:image/png;base64,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",lb="data:image/png;base64,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",sb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAALVBMVEXw8PDq6urr6+vr6+vr6+vs7Oz////V1dWgkuppUt1aQdl9aeHAtvHs6fvPx/SyrBd3AAAABnRSTlMCbsz2/xuR/wX0AAABhElEQVR4AWJgYFR2IQsYCTAwsKq4kAmcAhiYXMgGCgwi5Gt2ZFBxcUsjC6S4ODGYuKSRCVycGVzI1+wyqpl4MKq5HAhgNIIBYMessRqKoig6OyYS11mgPdrHdpLfoT3aoz06CaQ7a309OOTdZsd27F9b7y3iD/wXOSTJbMgpCZGYO/9FDknyw/Ly+EjoyS2YCK2+Xb2BkdDqntUzQOjJKzAWevIWDJVO3+4AkdD6t9vAVGjJdWBNaMktYEFoyU3gSGjJT8CFsKBc3yIWo4WC8goJMcySJQG2kuRRVZLpS+S59K9dLiKn/GHpciwawILQus43wJ3Qks+AC6Ehx1qBJx/AUGjJHWAitOQuMBVacrwV/N6qemNqYUgKf42cVVX5ctofliLb4yJHbgN9oSXXgR2hIcdagSffAEdCQ46NC09egZHQk7UV2Js+MBF6+/YWTIWefAY7Qk9uH2xUlWHTD3I4oQlJ8m/kcEITkuT/yy+jZOKHoikniia7KJpmo2iCj6KpRQA/mHLksdpV/AAAAABJRU5ErkJggg==",cb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAAGFBMVEX////y9Pba4ebO1NmeqK/CyMxmdYB7iJKIfN86AAABWklEQVR4Ae2ZQUvDQBCFX9uC1zSI55qLV7F/IIdNvVYwd9Hk9VowxL/vVlYm4mYrk4O63XcosywfbztvKWUHwKxQKYOOFbpQS4xV1vPjh0LW9Bp5sYZKcws7Y5W1haHU78ObL5J1zLBKEeUsLYsZTjm7lXcdD5xylhaJYoJTzqJo4ZTz/4UvTQUrY0osjVMpld03probadgVG1htecAFnQ5S2f2jXoNwP4SfpHIwyxG4/eb8LNUn/HLKeVHXj2RV1w9SfeznW9LXsOF3tlqQO0Aqd7Ilmfnh1jmPwQ0wI29Vzg7e+eG96bqOwWPbxdrfMKeQ8w0JHbw392SrhIOXpNlY9WG4y5Q5k28mQwgO5byCyHtJwjkDWmfX6JGGaZytfnq3Tzvrj90rGnZuP/qi9H97uBMDnHJO7yTpnSRGOOWc3rf/Lqwfv0wb/ORTRk6Thl3Qw1MHfFip2XfLetCO8De/bwAAAABJRU5ErkJggg==",ub="data:image/png;base64,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",Ab="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAJ1BMVEVHcEwAAADJycn09PT////7xc6NNR+6RSj/aob/6u//TnCONB/oVTHIMuxnAAAABHRSTlMAE0mpI0KUswAAAT5JREFUeNrt28FugzAQhOE04GTt5v2fNwLRzoVFilr/DtHMidsnrQy7wtrLmi80iygWjVw6culs8HWasUzXRdzcGc0qr/DEwtMvPMMxbNiwYcOGDRs2/PZwuaUpXeHbQQz/O3zfyXnhElGHwK01ySQcklm4SiZhyTAsuSPcDhMlh7938mdY8rlgvtTI4XpsWcCf5w6vEwLLxWG5MLzn1ojSBc7boqpQ+sJZ+SWjcGmSMVhy9PyA5DIP68zxsJLDnqsP4PZSosCw5BPAaKl9qjvA/CfzM5sE3xb5QYAfffLxDhj2koGWGW9jR0YG+iqZhCXDsGQMThqfgv0RiI+G+VLnh4sdBORWGJaLw3JhWC4Gqy16vH0d9k0bCg+7xvWNuWHDhg0bNmzYsOERKynDlnBGrR2NW7QaJA9cphMNs08ubvVHH6jV2AAAAABJRU5ErkJggg==",db="data:image/png;base64,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",pb="data:image/png;base64,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",fb="data:image/png;base64,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",gb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAe1BMVEVHcEwAAAAAAAAAAAAAAAAAAAARCxC+DkgAAAAAAAD4El4FHB4QYWcLQ0sXi5ESaoI2BBXURvyXl5fgEFWeNLyPCjZEREQl18ysrKxSG2IgurAamcMp8eVwCCofuu7p6elqamoiJii+vr5RBh/19fXFQeujDD6GLJ////8uTen5AAAACXRSTlMAj70r1ZT+/gZ6h2ZEAAADnUlEQVR4Xu3b2XLiMBAFUBGgibybdd+XzP9/4chAGyJFauGRNHnwfSLOwyncJVuV6LIq3U4PlmspCdfnz7dwQ4pIyqDX6bJ7PvsVEM9kOXYBjyR3BMLqf97cjzuQyvBSD59f3bPBnURSTjfro5L7/JFMljMtvH+F93r3JLvXh9UX8+V1lDGnWnn+dOd6F5QbXVtd1nnCsQzPtGOGHbo70MODSEpRWx3W488k9mOeIjzVuxvZ3TypHoNK1I45oca8f2clvUjA+GtAWVMHrXys3OO7K6nOd5gflDFz05h38NZKUmDTmDPTmKdvrKQJ18Dvr6nh8I2VNOAErIx5yZtko6wkCuapF3jDSZjnHuArt4D50jk8Ais4nrmGC24F89QxPOGWMM+cwgNuDfOZSxjegONk6QgeTQpOwqrdHNaoJIx2YxhVAjbYWSP4hCoBh0gLh0oLx/8L3q6S8DYsxmwrgnYwtSzLCr7ZeRxQRRht7yyqCGNy3y6qMrxNvbpwUWGM10GPSz28CnKjEQ4z5kOpwEHGDBcCXoEf+Ksk4G3macAkvE283mgV9vrshMVYhtPsVU1Q9W2PmQCEjarnLL4uN3UBuANJ8xQQ8G0v4DfvufCv0fLn/fF8Pu7VX/2R4xaG+R2YQ2BYuA85LDwVznA6HQpgKsGHe4T4+OQUPgq3UoR8/AZjQPrZFbwT36cCxBfbBYLVD78MbuEWbuEWxoei+qRUrziF8TWgvhvUKy7h+sWnvg3VKy7h+lWvvv/VK05h3NwoOx71ShMYxI7zR7jezkl7PNMVGoY0Tyv4vr+/oO05cbLaVslSVtYZLyCAikHYux3nqKqwyMUbnAjMAHucdGaCv3xO2HCrL8A9JtXDB+41uQ72vpRXP8Nj7juxBEsDDjNmFuZGY3IFHgdxOeQrhIknpbdnJ5PUYO8ohmpou/3forO0cAu3cAsXk1NQGNVRFG0aAVkSE7BZjZrC1bEoo81M6r/Ba8WmYRCsAxhte3gQOYAxM3t4ErmE15ktXERu4XVqB8PIEh4OLeFZbAVfIwqmD3bT53cZfUCZPMpOw+uchouIgOnD+wgbx8yoUsUI6LoCDatjZmRrplFBg670MCDO+jeqpNBdD2A9ojXTuIRj7nr0WIdqzdjXjqiuB7xIHdYlWjONilZ016PLWJ9ozTSvlhlqcn2slhGtmQawsSb38YlluipXeiXRML2msEyH9UHNSmoGG2py8KgP/gXuqa8ZD639xwAAAABJRU5ErkJggg==",mb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAilBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBh0SAgtCJUsMEBMOUlsp8eUKOkDfEFT4El4GJyon5tuuDEIWe59ZByKUMbAQY397KJIcq9vEQOkfuu5bHm0k18yBCTEUe3UanpYhw7zURvypOMkesql1dXX///8Yk7zm5uadkJS/v7/Dw8O9vb3Ona1dUKcyrwfVAAAABnRSTlMBlY/4zitLNPvRAAAD5UlEQVR4Xu3bh27jOBAGYCe2h029y92pu1fe//VueTGjoUnFMHcuwgH6X+CDNWYbggud9eNqCd+U5epxvbjkAb45Dx/uCr49q0l+L8BS/+Y1TJL14nEa+DGgwkRVXk4DLxcwUWaYOjM8wzM8wzP8x+tn5G/DMzzD2U2Y/Sewyg83YJbu6WF5jKIo/hLmSZomjBiOd9Gv7ORXcJHqVKTwIfrI8Qu4Sj9ScDJYPkcmahRmqUnCCGDzmU3ybAxO0iF7GvgQoZxG4H2KktDAcMLywQtXKQ4ngrMcy7EH5gl2K7LhpDCcSxcusFsQDqcjlp8d2C4wJ4RhZ5fZhlmKw4AIdsucZxZsF3gPZLA7pnbyx6f77hSYFoZnLB/lu4FFZReYAo4zBEurzJm4uC+QjBaYiUC423TNYMf2YH751/05OleKtj/3YXC80enK2FPmGOBPXWBpwQVWdUQQXGoX2ycL1mUWgOGEY1WnDYI7jWJb5hYsXn+ABVcAXNRaNelD4HhzlVIpDAO8gAUXfFufryIC4HLj5pRjGCy4MCpOGwB3G09Kdcx9cFFxn3vu74fjjTcKQNsY1irA9uyNuBsuN/5kGlNygLUKwHo/3N4Nv43Ab+DN09mfp7thyBq/3fjc1q9uWdgikSmfHbuu8Kryd1Yn6dqdvHa5U+BaqzwIxnZpDSgJTuS2tlREBsPY7ozqxkyWfS049TG1xMX1238LsmMq/pa6crcq8qYkBWzUJ/xfvfH/1zYFzIw62E4R5UUd7CYLg7HqZAtOGoQiOxBmbX9jErwxwXZNFgBjFaf3FlB2WMT23XB99kfctYpuyrth4XdbtBS+AFoiGz+s7ob56CpXFR8b98tmL4+elRxdRwOGU+0rMPul6rBhe6u3QtrOfGUuA+Cto9Zij44qPy8b+twcm2VcOrYKgLmttgJ3Opg5wmgYNcGubRkAQ22pdqeDDYe2/KoJFjeDXUIIvDUqu3wCdBCuhmNq7jTBIDO2CoK5nqaMetXKQgfzAY5O1zs2GQRDa+3VWIry1+tncrs7gu2GYiPAkxHYOrDHxBsBp5WFmi/K7o7Qwk4rC8HSboLRwk4rC8PSboKRwk4rC8NOE4wOdltZGHaaYHSw28rCsNMEI4N5ilOBC9tlVlTwdYFd2G6C5RkB7Hb9Xdi9P6CBqwTBfASWJwQfqGpc4AL7YTSmdjHdcNqjkeTC9v3BUZLOXIkZSS5s3R/kimrmwp+bgQ/GjeVTRn+NW6V7+BKGWM8d9DAwuAFD9v+4qv/uzPAMz/AMz/AMz/AMT/ZAY7InKZM9wpnu2dHiYQr3YZqnZcvVhI/pJns++A+TixIijgLM8gAAAABJRU5ErkJggg==",hb="data:image/png;base64,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",yb="data:image/png;base64,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",bb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPEAAADwCAMAAADmSXKeAAABFFBMVEUAAAD09PT09PSmu/uevvgDLk6lu/sDLk6mu/sDLk6evvgDLk6evvievviJ1amJ1amJ1akDLk6J1amJ1amevvievvgDLk6J1amevvgDLk6J1akDLk6J1amJ1akDLk6evviytf8DLk4DLk6ytf+ytf+J1amJ1amytf+ytf8DLk6evviytf+evviytf8DLk6evvgDLk6J1amevviJ1amJ1akDLk6J1amytf+ytf+ytf+ytf+ytf/09PT09PTm8Orf7uX09PTA5dD09PTt8+/09PT09PT09PT09PT09PT09PT09PT09PTi6vPZ4/XQ3vb09PTr8PHc7ePM2/bM6djV4fX09PSevvgDLk6J1amytf/a7OHJ2fadek4aAAAAVXRSTlMAgMAQ8IAg8DDAQBCAoEAQwEDwgNDAYKBgoNDQIGDg4PAgMMBAMOCA0JBQoLBgsHBQkJCwUHBw4JBQcLBA8N/wYP7QzhCQcFAw4CCgorvcsI768MzInh4thwAAIIlJREFUeNrkmlt30kAUhaeGpikGkjZQaAShcilysRYQ0Nb7XR90LZeI/v8fIiaQnTlnZiJLn3Q/WQSSL2efy8wgZL3bu/H46z+lG6/fCq1e7b3/+i/q8esPauC9fyy6ab1+xXnfvfj6L+vxNQV+9g8HONYeAf767+vj/wYsIV9//T/0LOlK6Rx+//rt9Tux1mS1VkVIqi5/qSAkLb5Hao7En6rdi7+qZWVclatWWcW69PDih+vrPakgvxOxPqZ4k8cwW60VeiKtvuLS9uYuF5b4C3rUjJ9eOwuZq+jHyN2ikHR9A3gvmKdfi62849VaHZGWk+MXbse3OG+LvyO79T3SIwVybujmhUH145g5IK+/ob6+Qf6ONOEftRrLtcrSa6P4/gYI8J+HefOVDDnW8MIWOnmTGDmskVnjceLhyOwJ8Bu8Zxp9UEgqLdcqSWwLZPDfkzOPvrUnXamwhEp66GI3Qj6eCklvE8a36ZjfSD2sLvf0ODKWdBuD2NGOmaAzDSq+v3Gc70+CWVEYZV1pkQFtmcN8SSboLeSn9R9JMUuN2wH/UD8CdjgwCiuXN730Vyp1K/WagXkRI0tXs/LuMLeECpqcnsbP1vekRdL77bS5/reiP9eim5I+YkcXq3Lggb5hzECrUngpm4jXh6bDHO+WUoGuqq8bxg+1owzytbiGwxNFvW3Kk3jMgRfawjlZZas78wTEe0DTVni+OkyYG2rmyziZkTypavUGaZxK/8gVIi03eqYceKRxc3AsRdMP1sn7S/UgmMiRr2jc7TSRywz6ogRmQ5+qC+hFsqDYQ3Peymdly4mS2M4GBi8StsN9N70MwewXM5G5nIKRucOQP23rc0J8Qw5xhXv6guXZKIM3nOnLkwfbI84K5Ja2orvbOlbOK74+XMkYe2pihLjGPD1MZ1kEfK4sld1tdC8pB4dOIh3okQdCq2pjW7ctXZuqGIj1IbZzpBPbuBV+nVghDGVSsbLi03C2k8C8iXOuL5gqQDYT8xAPiaetaPFwpe+Fq5Ddf/aiJ1Ajo0eZvV229Mhm4g4LcZ6O0wNdSbncxKsudlHH59MwLhWpNTjXLlXsAsKsRtYT4101VrYc/P1Q8+C9ECvUHYRmggYK9b4n6i0eCqXyDWSzCnlmJK6xEFfJEtGKkvihriGEnR1xkf7oJuRq0NUIVFJpjVRy1Mh1E3HAenGDlK0r9ahVjIErCPDOYcYsT9pCNrRTgrMVyFMDcRfjVirELvE0T+J67EsEaVd10ECJrPbovJUOdXNg8zeNl5FcJfJxR0s8hbd4iOEyRwMMc+wuzweyQvZoMAd0ixeyfk69NzSJl0UK4uS/j00hXihHj+KK7oqRdV6hXI5HwvLQ7SNC6tKqlfOoB+aHGmeXLFVBDTXEHsulkhxiO9oCsFjR0gM749KSqlFAvqlKq0H2+VwbZ2vIkLFl90VNPKOtKU9CHO270SvVtMC221iqlcOCXlFajWpfJczULWMg04A8VxOHdHerIIe4jdme2cbTzQZcWADo6oxZ9mBbyM7TcNj0dEiV0RLXqKls1AKE2FbepWfizZVdt59fy3WHJSNzBdsvJlnnG+Z5W4lsk2FQSQxTk85uyyEe0DKtDoub29IOq/L1rf448frQUhpmIjJlDb4rjwacnMrYoYbYh6nRmso8xDyJ6zTApW0Yq+rBsLDENKyoM9MdNvN7jh4Zd6kk9qipHXk3z1aF2Ed5Z71xOcxnL3rGvNMhScx6uLH2KBt5qiSuw9TKujVAiGVPh9TRSFODrIJ6nRdQX5t3tvmZiKMaRRTdKa4aXZFSTvqg1cSqmB1P8c303IXIUl49M0SpjHVUVpj52FtVDJyfVcRd+BPPqi8vz9uKFXGgAi7BDOYwc+TOCo8+U1YLByMEGfmoWTvVUDLQz3PyUnWOP7GVT4GxVs1WFcjkOYa+71eCYGoONg6/HH5k5JiJ45T0SKUuyHXrEeme3H9jVTm68+D08Pa3tQ7v7R8JU51BrkDdSWDEHjX5mfMQ36onrpAaZCfOwCmnxUPsiww/3bkbwUL37medSgcrponhoMppspJtlfCtWuIQaYybtyRTX2WF2MnRmnF0+I3r9gn7jFznuiuF/LqnQ47XVG32rVUTsYc0RkKWZFOPSKFmIaZP9uweMGXmI/pjC0dqykEk3w8l5mPdHrjVY7ncx7ipIS6iGyONXZOpZwix5njq/sGW8HD/wdHR0cn+veSVu+xjatWKweSYnVOZkVFCywbiAJsBSOO8tL3VI32TFmqbTPF3N3Cn96W03kDfupm8Voav1eoEoYkZyBb9FceFnrhCLNqX05jvfXTY8r0sp87phvdMyLq5HzPfvkNPPUyqBUlyB54WuWex80EtsU9mCXfrNCybHN41PbaVT4BvRViUOU7vgyTKFyh4Bk19nNlkHVPhvExLjCUQAlaQ0rgpWD2dsBDbMvCpUOvkAMYmG4gmdSb4oZoCmY4MDWQmJ36JMoSh+kJK4xZvxnXt9sFJBHwidLoTId/TbC9l/1At7OhO5hziuoaOmHjUkgvXnKXxjJq6kA7x2QGATcgP0n2tsdOZTV0zcM4tck9VNfGT1VokKUnhesj2gUPtSusQDUinIymVq1i2QLv8ggl7Fgt2EKwl9unEJRcum6VxQGt7Pk1zS5i1j0THA8sWTm0rmmOqNilebgYx3lqWM4SncVE2NWwZTdJnIkO30u8qYKWWIfyCaeKx9TLxtbUNMid+SmxSkIjPWeEqIo0Ro3E6xPukI61nrjPma1i/T0dNsyo4BuGpvKCHKjrigLQaVyrVV2x509VtH5xuMhQ6OYyHjv3Nq8j2AzyyzRXtX5u85bWGrtvnzwA3AFtC1hz1OtX3diZusVJdMeU97cQ3I97toAXd//XK/dSSdmhfDHN0J99VU9eRy8zXLXJjVQXxD2M77jFiOqKN4ywAyJ0U8K0tLwiR76eoHDo1xrYOGanIT4oQ5MZvEKPyqptTqPDEOLWCuE0qFHSQyubT1DvzO5/Z1NkxFU4DSbnu70rMN/VQqvna8hCRw/i1fyZunsRbP8TWmNlixYeuaxXKJTNzoDwPOU+W8ijXw79JzN9/sB2mYN2DOyl/I8hnv/48QiJFaSuR5S+GS5zZZB1ToSnPyeD1k7lrW1IaCoIpYwjHCBrFsDEYJF7jIsQLXspHX9VSy6p98P//Q11cOzN9LkvJovOkK2zROTNnZrpn8POFIgaMX9b0U1WD0hIvRWAsj2Ib4bkUmg1x21PnISONfDwMYjj1n6S0Qv+g3eEJwWWhchT7ZSoc8j3JRX09IOIEoUt/iwyVKl7MzPy/hF+rQ74vEtT3AyOuwQT5EIc1G5bDn1lSVCy5gfjAiHNxWdWypxIJOmTPAVlvscws040IgOUhEANG1m/9N2ib+eGwsUrLkF9aqs2hZEOOLgYxSL1KuuopqVVmf26xNKPz101H0pqfVibdgjQbHnq4btEiHwvqNd4X4juOOnwlY7XZFtRtkVQnyFQ48kjYoq0Eld82AjLtmZEYBHp9ALc+J2Jkv7twEq6r0Qf0cWSi9YeBKMCz8Ys2VUFrSEuqQ4SITbrg2oL4izqzCfdOhHiqGIQ5DhXBCl6TiPkoU/VIY4KaDctUPDDMisIAiHfoFt9QSXtd8mLg9Wp9dN1pQU08wUaGcQKIpk2SxMC/24wFJdhU0ROsGs3Ph3gkmIV73LdEsLh/dSV8BRcrc1KZzRk8PJmKespV8Qde1p26h2T6r9KO7FjJI6wMjuyIXzh5rkc0HzDWsTPphVeGFslnSd/7m/q3Eyzsmk0KyBNxrWLYkG7rYwQyEPuYvbnkMiPvZb3u072lCFA2cNq1oK9PVsALzC0gozWYk8fNiPDCIQ3tiB/quJQ+cp+vLi1JrAEGH9FlVe+Is/oUVOGgtlMJ+bkeRLjGbv1W5idG/F7F5VAlZEpPz/CILKpCoq9ltrLv+kZAImtOn06d9Zv8W169IIolb/OJEeu4lI/xHo3rvdRvOBLvqEKQyz4DlPgA41pbIeYk1UtjO8TNfbNri2NKyBQVMPQsvQc/R5C6ISNFF/2qrAkFPar1WE/LzLhNPhb55SMjhqqiKHpERUzC00OaiVjL2jLN7UdmxGSEwUXnl6nqyKFgYPwO+UUIwB8Ysb6J1uJ3xjz4ckd7RSyV/gK1g7ZNKsTlHB7rsbafy56gCib+nPKLY0rxha2IGsr0xoTLNNIJaqnnXlKdYbeMJgBH5lwqVYZkBtGHKyLOLy79mCYsZfn6Bj5CtR3tKaOo2Npq06CIOpv2KQShWaoK7derTCGVHEQyZq+4ImKS3aMfz7Q6eiQDecijLzd5zneo5z2QhVA6Vw1V1/ykTtJOH3JJ83XcsPNlbVXadEJbysmMp5axzNs0+31VV/l5ZUWcJqoSWcmzhBUqklMevmI9mxs+mwpDSyEyUF5jWkrGzs3AF8MURiBmhTEDMFzysE5d1w0LY2jYqWE89iPmpRDp1I/CGwPxZZ6/SwRidEvM/EBtT9s832z/lElWbCPaWdgUrRCJ3nbEgaUQ+xHjTQgG5RyM2HAHlfZ8ApVLVqqO2iCHq3qBG/YwYu9SyBBHHN4YAI0eRsw/WvXONUMDTWT31T0gnglqOLgUMrVtDNCuRxAxlEjoMq04cPpN+0L8UDg1L4Ucn3tjQP6wMwpxXdBoREIMNmuP+0c8DS6FhFjiNQNetKktO5X5/4B4t6WQMW8lPSHAi9JZgZj833v1NSatmPz1fDPMQC88ZL/hSRUGP1r4bi4UJ/VF3VyhpZABR/GUi4+l4C22lpZdL3Dztj77eYHQtmanyJadyr1lp8BSyGPLRT3jjYGYakVTMIdTnqB7WqxsFUhd5E1R6Qok9VUgOyO+Q0shHqe+Rkc8UKpfiXCFUYBXZ9xsIWowGNefuRh4C1WZ7zyI9VLIc3lTD1xLIbzqAMDpJvJzddQjUSdRXlgn8UXrC8hNx3BqYsT9GwOLIKdBqxSgEpjOrXtX4JO/7xbdSyF3SXSaET08EY1H4tkY4LOsyPOzzZYKTfyMwFw06zszAk49YsjlxyvbUgjioAsABvHuYeUX5CA1LnUUhW7WJ8bn9iBGTC5lGJNT01IIyvBFCsBBflIcY1ilSlAUMrN3m5m92M3svaeJQwpj91LIUByxQckRMkw9BK0RqYrYW2xdoooIsLfOiYjHFMa29XtEcQfBZE8GYaroEw8jOoTdGHoSv8+MmeqpbSlkKSqIZndMnQmqMEaUO1ech4CT8qkw6qqGx4LEJP5f0eW4UVuC05qf0W0ghmtbGBKeCHCakeDDSpvjpD55EGN/DwwXFVzcaYlJW4UrSSn3kkRMhQjRuXggV1lNpTC+H1JTLzmXQujisu7tjngphMsrVBWsymxtRT6AHqwQFS0r5g88stPAhRg1Ol8AyMa8t8tLIVxBceUIThuWUroqavGgeAeWF4N5J/7Igzi8FPLMt7ebakTNWcu4yYukwrY1dQ6m+tNc9v5xy6GIGF+joqXFYJc0OPIixhN0L4U8471dfHwpneCAcJ4iXtPfI1sZKm1TJj+tNaAPMiX1DHy9K7c/kwDi3ZdCRkQ+g9JAS4HZgEy9pBL+ra3uejG0rwm2S7uNZL7kaQKMyCufRjlCxAaYIAStMBJt4gl82vO1JLEk2I+8iOMgYs8IZw00gJdz9VRHDjkpykuARlRLwPPgJOpTWUUsnYh5D3dIdMC1cw2T00UGK4DQ/qamSMyptZuGvveLB6xfBKeNo8thxJ7ZtbFtDmpA/DKcmsqKVDlCHZwCwRQqAx67J8qRTfaEmF+fIyTp70RJ7rYsgS/RU5te9H9f8NbA6GCIwcyyELU74qvWzZCbdFGzanT5sIirPSBGWkKPhlyJ1CGlUOSmwyHu2Ks5hYURY2OAhbwxFD/YaykbTS4Acdy7uRpKPDBKYdgkCVtshTylEpOkwfXOiDn9PThnduJmmStRvAmW5VjCZ7mWlfsb13yBPPAjHuxpLRW6GT4579JzSsu6H9SdT1MTQRDF0bBskg3qarISg4mJpRaRyoaQ+LfKi1e1Sg948Pt/DxWIv9A9PcOwCeDcEKI8Z7a3p7vfe7Bhet0ic5C8Wrqy+kgH62d8OTAQr5V6zINMlCKp7MqMhJRLJpmTQr+hxur9xCZzNLkOzKohfhm4SfTFhkp8dNbIRHuQfwKSbbuaGPLUQTV/e+FYN8OIx3z0UhICbSkhQNbFhB7lnUQGsnTKiJ9jNUYupTH2gHBtTFX6EbcryERkKlQVy7M52hpOmZFQFYHGME//8diKPPv7HZ7otBARu7QbfxxrzmbHQFxBCqS5Eqr6RkcNkpevDNYdXahxLquCXaE0VjPHgOmWsVOtYGXv8ApyL2xp4dDiYnUBzA9Y34T+A+SWGpJ7TOxy62s1TcTVJX1SNplatMHIo3gr9FHk54GM0tiOLHTNNamNR8GHOCzb9JDQxQfqRGteyZJw2ud+7wI1yXy9ZuJDU+UhLznW7pboD404UpqL0AVPg1IeSQdrlOfePmOfTbR6zVPRy2QdUVEWfFq7JxEtv2bNYidE47jlZdcvlgVBNmXPHqGHsGR32j7HSuzNRcWaT/R4465xdS88ygM508x1wt1M+RLsmO/KEGA9NagFkXTIeG1r7R1kMe1UcrWS2EVadKxpfJdEPAtKZbrMVNjkBMgBwKQW4ZWzybAkrSSB3zs8+UKwtjmLLwKGORMgBwAz+CIVr5MkyR3neijmKFWSwArMgXz3S94+D6iD7pEUQJ4+8AcqGopDd3MNAgm3ysVK0rCtkgQjWIcn2LZDssZHNHq0/CiQofjYSYduKGYTIyFtcMmCgCb40BFcmLl423R80tX7qkPdpFcAZGOUh8QyXbYORRHIDbngWHPDM250iB+YiB8pvjhvZC1PfqwS2UMKjbA64PA5T21vuPy5XOZXaaNxzjoXx3qqb3i644n4gQfxA3uE/p0+1vdUpaWGILto/IvhD3h8BxmNNmBxNs7+hlyVBHmFVpsot2kSdY61p9LSRHRfXSD6B/C9uFKomjYUVEVapey7toly922IY/08yGdrAZnTa7AGCFZSv6p3/iUzFptiDeh5pTqfdZB/HCJRu9paoVC8RVrCNjOkEHy3zSDWM2kzojXSqlZLj3oMkLGTADEt4RAXhq82hZgN08f6o4PE94D7BJDh8IUYXrdgj3l/a9b6e0fs2seISfVJahGIu57n+GCT7B/SRuSkZesqYMQE5HYsb9Edq0cbjdUujXVBuGaTUbiTlfFSPMphxIXrfbwgMctX9n+t72PXyHTp0hllzS1eWylLWCBmVonrtJFz9WVtOwvlXI9jcq7v/PJatAadUX2s79m8NvoqIKatInh7hhJy6sur96rk1Z+4Xzql8JklYWknnA6Aya4VYi7FFPW1PAq3r83cnT7LQlGNNNkgPekGVyl4bVPle1PwJ4rjolJyEjOe8GT1n1oNKtH347tPXCXZsXvqj3P0Upva13kiXVeJUVc64WSpDmfT5M+aZq4aCKepU6EGghNOJOnpkcoyy8s64QA5CSmj6ldVzVXnehhV57rL/TKG9LQvikWa15ZbTjhAzlJClFfAjJi+J2uZx9G1zLs8xy7S0wc/6YktbnKk3Y0znl0gJ2yfn/TXXX2TtK3OULhejT6XTXq6mhPOwlfIBEHWD3LCCt2TKOVjfE+F6o++ngRPvkV6euUnPc2u4oQzXXlGI/tOJ6rv5Gsgf7OdcGzS0/sg6YmneOJBwAAFu7bwQIb66e8tHsf1Fj8BgFBN3IsgPcU54RyE+LsEuolmwuqWgdH3rl1OL7PNx0OkJ5iETPiMopxwuma5d8HLjOyDLUYqLGZGQDvhzC5DerofJj2x8jzPDCccgrEq92YLFNtIdKrNgdi6tzN3qKazFUF6OjuY/YXthEMG2kvyU9TDPGmgEOxWeiOKzuNmfUAcT3rS8hJppBMO90pj9eQ8V7vKPBf347nZNX9eYYyN+x96koYOP+Vem/dXGjN7b3wze2MQr9EJxx5VbNhOOCqkFw2PRDnmu6G5zLoxl1lRh34e7YSTmk44rGExQVlwguI1gAkwbHFw9va6nXB+ep1w9MpPV+X5akpYv26jE05w1ToAll7qwRn6G3PCaVhOOOHV3Aaw4fNuyGsNrt8XplfJCQdfew34PlwY8TL+wKH+H51waq3TDdYuyUdUkE3lx9ltc8IplmGpXe4YVKfZOd5BU1u1EbbYYkXwOvl2G51wTusaZV3BLf+5tc1q0h0YQyvpxrdz8Y329fqdcGQlQ/OhlrZ0h63mOex6s9wdnCxXm9+HPhBXCNcWM7Z65waccJLpouFzwqmfeNeAPIuohSqre4tRWYpF/Ey2YMJOOFuxTjh7XrvF8ZYB+OG+y/f5tZTgcSC+IScctnx2eqJdcIloDsAvXIbAz/jAztnU1Z21O+GM/U44qbS04TCMVv6Pd7dq41ZnANjtzmxMuJKA2SVhjvtK1ZTvVHbCeRPnhJMVv8s7n+YkgiCKDw5urRR/1oW4ERdBgYSSRSUgAUOqNJUYowdPRPj+X0TNLjzpnp4Jiaf4TppDwm97tpnpNzP99sXPl0InHP4LvMKNfCWqC2Ceto41tQ0E4mjXTjixcKnoq5064XCXwa1yCGDeDLjDbYPcjp1wZu5OOEesE86zXTrhqAQlBbeqSwDzMX1CjP89JRHXab3aZjvVMSj4jdevsPSX9QSPhWwRdygOljxpITItTQztguwfUwCfX3Yld8Jp3qUTzgt2C7xbk3RE1zmw1yLFmjdpiGXiWGpNh2RNOuHQAlRhx044r0k3H7e6wVLo2q50j+y0081N3HK7d8JBwZq3VMKHrsFWunUnHLRldvPGUcqLv0yK8queJjtFS0ogpnZkws/yaSVe9MZvRnsvntlDOfc56xvk5sWINmatlq/okU6J2DSJyuMNwQvC7j3bvRPOM3r2MsHDkjUeZbwhIkNnl/iMKOVLxEOpnSDqv1P5fmMEOSFc2L4idsJBgpHVHR4sM41iERiFD/TsE4mldoKZ+piDyEdgm9tv42vson/FO+F8INvvfXkwN6IN7jIoKxm4z5vUyMRdUzvBktgJB10O6bjI00442R68P3pp9FVqqEETlcuTahAuoRF4DcAniubpopKJ2cm/o61kopH4LXbPEb096ym1VXCQiRhJmg4frnAYKwmYpmmVYExLxEhdxn30JxjW8hY2beiE80K4VA3A7H6i2IQ7GitJHwHM7SmZGJMovmUKt5o5DB8vD2Tsogc0Dl3TowbWENeHwOXqc2Af14bIxGPMujAnrdHe4C7Hx0+RPXppzYfHN0qNYQZcJAkCCoOoWq4oi3SbA3t5pAaZuGLsC+ptm1facTwE14bdw1ep33yS8m/Fyin/GFmavFzKQYwtaeblTAerCamHOJARtt19lYmhQGl7hXlOrWGyZSPGnii2MU4+ORAgw1OOmu8K8NE1vFEoDlGvc8lLRzQCwXOh3H0we33G8rD+KB4P6ZKB1swsIk9Z9C5/jaRFx/TkdgFurTCXtubCymdOnO1tHBp7taFK2DZVI+oVEr3k2sGs32VPpembjKTgNrx+FuC2loChyEwc0RlFYjg50DGFJJICeL23rxXTm1Je8lUaqEHbpaerVB8tyR+/1UAst7u1Hw+JQ+Mo9BJU14sFcKnCuyTFhXHGjKSGm/ewlfL2fA7MPeZQIMawpnst+fEQaCwU2Qp7W6ZCqrzsq+DxRbfmbR3S10nwmCXiCNma3XCPIGvTm4f6CVRI7D6SZCRVHAl6zbtqe9arB1G7EInHyNZszzSCfKiIRkjYRF6xacTNlwqyr2IHnp2sMh13lPE7osSSq0ysQuO+eI8UwH2bIcLt34RQ7xWB6zKSKNO0teEdsHyYR5amuXApddDAHRA8yFgmt5WELEgX9oup3hU8scoR2oH1rH+8IrzsDeTA3bQQmOPEwvmWBEGGOftRQB6qu2tsA/YG094Kas+kGXq+YHyOkTIQY9YYSo2bUAT3BeSgclfgqmQzDA777dXfak0RADqia74x+deVTMwX+QnSNeaaPc2QM2eEpuz7+irT1TZuf2aZoSdaSv4yMa/keHTh1cbizLSMH94hzI3MV4lNRhJ0nOLyADex80lI/gIxzptKJ9UwrgeKaZIiH4zvFuBlxJ+Vv0nNvf5A2vqUYIYuJ3+ZuIIDp6TwTp67b8i2B6zA6lZlCF/FbCT1Dgcd99a2Iy0Dy8RoVcAL77LdAVXWrkHUvS1vNbT4Km3kDEH7TczQ2fMHsEAs9iqoURusJ36S8bqUHoyVW91NCa8qVuxavp0XAZa/3mViBHnMC++a7D0wI1eqa4iDYdce3kZ94zPEcomy4+bd821f7zIxgmwuvCckowCZGYCALkvRnQQ2XwXAA/H9bUpLEkwtAWwlVlVeeG/S+ZuPiqmZGTzDRnkbdrxlrAQNZQGeCiXB0mZNUtSKK0JuEInP5G34MJQk34MzD0NSYg8yLbcVlZUNuK8sCzLw8iTNVp0/NsRfFpnojG+o5M63MjLUGC1dqk8qaldgv1i7lnix84l/vZ9lmDk1XxNf8jYccndjILd8S2qKQhk3mMR2m4EDe/ulvxaeNcFhr5qy/7c15hd1vv7nd1rIqRv6VxQNyDNlUXcSBTy2o6p1juL3OLBXTJq8pCDP0El2yK0x5wj34pu98P6Grz5nrRVqIhbF5XF1rUbZMTnBr6UPHEr2tWOGTv7I+WkGeaoUXuRHDl+gCM+dTHvbWv1DTQ02g65ZcKF4hBm6OcQ/0hGe6Qt9GQLlMje8Hkb2PcRHdKtjBK4dvXFtbcOIhi43jJdZ3s70ye6F6BpH1v00Iif/KMyH2UrJ45fn5FH2NqpcXwprzq+na8Krm//PFxtd0PJQ14EMc681UPdXJyvt9E2+SsGx1UuYoeO9RUy/4ydXn7bH9UHF0UMLBu6q7d+T1+uv8I4IRpJrCRawvDh/BLwzJDLo6uJy/hX5OlJOZDhAfc+N5fYZ2p5wXaGbN5xsZ+j5PHe2+Es3YOm4/j+EAaw+Lf4HfVfq/0JOgYF8unjgyrHvrLPFQ9bpXHHlHnCYL86VSee5q8VD1OnFNyXqa+7RA4v0o4vLbcRfirQmFku1EloAAAAASUVORK5CYII=",Eb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEXi4uL6//3//P///vv9//////7////z+/Lm+udSwGNmxnXU8dWT15vD68d90Imr4LI8u1Ayvkk1ukjf39/fqipaAAAI2ElEQVR4Xu2byZrjOo6F4wwANcuOev93bYKKisq7vZa96YQkp/3l4tfBKNKOr0y0r//041PWUQ2ZX6l6O84PHUVCfunrPwP6IStaXfhqn+UOdie3H6fnB21IvcQiU/EZIyJbYceVqfycRV7YfkRkfA6r/I12YT+q+Irx58FF/X+o+K/iv4pDYYdkOyIKQCnsvCzepjgibQBSSJEB2EG+X7GdJGmpuDZJ4xIcb42xrWEFjCBDBRAKHO/NagMISHXCTNu+1Ea8UXE4WXbxSEASk2+PMZJMTdN+bssyz8tynPvU4Ig317GTmM5jfnx/P/vx/egvj+OcEG9STMlOFnabO65bsZ+Pzn70s6NJA2TaSN2l2EqAMtu5PDrpWeD+Uuzx7jGfUyZoQ3byNsUAJGI9Hs+O6meP73EcPc6PUlzqj9UMQJLsuxSHi8t9eV7ylu3c16nbWlk2D/3PeYcjAlLiPsUUvQ9CT6Z9koY/GaSm/Zif5f/5RJKGiPuyOsjOfXa5y95MFsAGkAO9PMoVnXyBfZtiGvs8EmmbSAspSaTCBjOm7SLvjWmF71PMdamSfZyNCAlt3Sc4bUi0jXO4e1lFKF6PscJmwGzHs0fxcYoAqV7Nj+WcSEDmKPRzrpayTDbxeh2HnelInVUyjxNSJLUeVUOPY5VZZyTRivw9b2AqXlY8uKan7sjnY2uUktqX/n7vYV1200hJBlFx/p5XUnxZsU2BxFYJvUxEJLNLW/YG9FxeViaS4RA5LVXOm6gbsvoCr4+RsiQ8uPMKSlVgW6PNdCCZ+9zJJRk3xLjAOEffaBRTpXeFabGdvV3RYBIOEVu18ZL8smKZcvnwuwtGSto7d6Jsm2rLY4NBM4Ak1upty8R4VXEIBV67kOcxUdK6lC8dlCTj6H6wJFAm1aqDVUheVmyZ4jlKSUlMR3HZAiTQepGdohM53BRxjuGcN2R1gXOr0bcr3bauJ5gBU4x97h00Hb+AkV7fG25RnPJRIV4Fr9UzIxlpILrbq0Wm/AuaKq+PFi8rznAKPbcqoxD7Y16NoChwXfonmIxfhdGqlJfp9axmRgjz9ygmRGedhigz16UnegIk8AtoR93jqtcVMyTPvTqPlmDbqnAVCRb3BJkE/hdlHfVAsOqGeRwiLnCA6BW9rEC2vbjJSBLOX3AcPQ/nOxR7gPuAOJpAVpdc9tbO8jMISbKpP1xdQ/n16QRQ6Wpcx0SIHFKPowZTUr9AsfCgruSKG+o4lXl8P2sOIYzUXmGsUZxM5I857WLX+Kx0uKGOU47t2VE7jQCY074t5yT6H+CA7RwPohv4suKgaZ0FPklLCgloKvF/dEZIMjO30TLNlxUrC7xWyzwmUjQgkrRJ4xeMKDB7btWQuKFXy5GuoVNjUQwbjhCAoIxfskNIap0flYY3KA4rEjhr4bI1WkMsYAn4R4cDrGmrdevWblgfByQi1+dzPNMMoWESSdrBf4LX+TnK+LaVBLA9qpRbJGX8EVyFDZvOsGPa+hpqkOsjJb+2kghiaHmcgq00lL9GUlKE0tR01A2OmgfNwIuKM7DV1sO8GwhCv2AjVEYpAUar7lLdBgaSennthHreuxZl/FOwjQjZIw8Bs2vu6dC9nUyYrypOq3pSLb6TQP6RVC4DbYvpItfirs9kMpQvKw76rIXoYz4b+QsOhk1SJEEpiJyO2qwozXbeoJjo5EIfK/ArBYClaZ1EpyIU8FQzucgAX1ZsjXXC49nhy7b+4erMtm7LNtFkGiJLcyeXt19XnECynXOtyrq/j3OdmgCorecxj3ZFOmSmU1XPdYc7KTilf684gZKyL+XubrXbtHVb5k591Lk1J+KHVLn9U89QpvXCzh5MptZt7pLHvtq4g/qnro4ush2SnWo1H4uMDCb0rxUzhYHGeADpoDoHsazYRSYcCjM5beP/5pUkzBd2b1XkNIl9q23FolXEu9uXY7k0T7SdEsC8vF19m3ghxsiQRKVIYt237ejhHZGufeN1Gf2qMowOKWlM208Ps/FCHTslRQIaaLVpWrt9TQ3JjH3pjGfXLAJBMuRO/h6a8e9jHEwDNsTfh5+wruHETGlfytnPs9EwDYq17rg6Cf22b9rEdalOOU9FJAWbmOrxtOpZlE013/5NmxKX5tUIAwqYRb7m805ARuJ2xeHU2ZPpsVJMFcWkqp6fVz0jgtTtignwAjtImTZYNo09wNJMRvJ2xQR8Vi/bUVBTAFxWmq8nQCJ5u+KUdD4qxilmAQwPNAb5ms/w7YpTyVI8r9EkpTNlBxjA9F8yELcrFpDjqf/cu60TnKQkRTLb9jOfyfsVI9HB/ZjnuV/nRCocNExN5/PaRadCIHGn4vz5zqJfXd+8TRaZUeBAzaprVwYA6bhNsWC20S0K3uf0fIbIUMCU0La6na7ZNEHdpphKZn1fMKzgWzERASTJcVeXtylQ98U4JbrtW9kxj4WWEYhwWTBG9+zkSYJv7FyUgkwzczzfPjtYZNIGgIDaNZ9PkfB9iovMH5uOawdGTCcVsCmwyL2oWoFvUyxDSghAclrKp41KwBndBCY4LZXvgsTbFJfFNR6v5dPjmIDWgJTSQNHG7ttsBeINv3xBuXo89G9l59pMiRDQjuf3AFu3Ki4LpFiAKuZ6uVZ5YIZ/9oQcYd2umOkInaOSr6/yx9dkEFzgZwdn6A2Klbh6WEE7vLfoQU6QV4wH+PYYh9IwOZ3LaGLzJXubhJDG+nXmWxQHjSCFqabjvp5zjY3Hsh3bcRz1YY6I+xUnmJIthpMAamRdP16oTKtrSYXj7b9gAzp5/KKh+J0+78hIvvsXbCENch2luuZ0UpFvV9xIrMf8X1v2yWREvFtxAiAB2HYKRpL5AcUWyTQpxbDiAsH3Kw6FVNjrtT4i8v0xjrCTrcG+3D1k4/0xzkiTZEhRxlQyA39/ifpX8fvtr+LPgzs543PouFz9+T9JKdTXwPazZcbHLLMV8woyPidZia9hP/jP/6EVKtB1fYp6CcVX4pf6QTbyK5Otiy/VHztaZP4fTP1SjZxIqX0AAAAASUVORK5CYII=",wb="data:image/png;base64,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",Cb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIEAAACACAMAAAAbIvrHAAAAQlBMVEVHcEwAK0sAFi0AKkkAJUEAJEEAKkUAK0ocTmr///8ANFnO2N8/aoG50s/n7O9/mqtggJeitcIAL1EALEtHi4B6zJz6YwSIAAAACHRSTlMA9w+oSC5y2SlKWkgAAAInSURBVHhe7dzLbuMwDIbRXBuSutvu+7/qTGozCErXu/4ECn7LrE4UytDCyumr+8fjPIN7XG8n7XKdPTrPj/sGeMxenVeCAlwIl/+A2xMwCb7pSbiuS6AAD8LldHlKRNwIt9Ndl8BJ8PHbghCEIAQhCEEIQhCCEIQgt5Iqc02jk4OABr9XMlrQ+HsDKqDCtgIUUOW9Gk5QeLdKKEHjH2oYwZT5Veok1JMKCkYgxXznFwEjyKw18xFBBEMBSTTCCljL8qoiBV0BVZwEZW/roSbR/ghaWhsIQVZA9TofNBUUtMCOgZegqqA7CYg1chJk1gQrsIOYvARDBcNLkFTQvASsZbTAbgWsgJatVrTlrd8XTPnzMMAaLIeAxV2QAYLPw8hdANgLdDwGkN241caS1+gthEAbzCObpYUJ9HhSG4kJJeCtghbYc7KXoDuvgT2e4AVJBd1LUFWQnQTEmmAFdhCTl6CpYHgJhgoaWmAH0UvAGsEF9pmMF9itgBfYZzJeUFTQ0QK7FZwExJqABXYQnQSTGUSYwB4OEII21mhvDAgh0LHfHwOEgK0gqaA5CTJrBBWQXYIkUEE3xyP9CDWJ1QCSYASDldBJqBd+lUGCzj80BCSQyrslgQk671UJJ5DBtkQCEBy/5QEVSC783iDBCTTqI9XKNZWW//wbUSEIQQhCEIIQhCAEIQiB/y1T/5u2223j2Qtw9b9x7XzrfL6bm/fYHivA+98H/gEx1ciJsaYnsgAAAABJRU5ErkJggg==",Bb="data:image/png;base64,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",Ib="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAMAAAAJixmgAAAAYFBMVEVHcEzi6e3i5+zh6Ozh5+vh5+vn6fPh5+vy9vb8/Pr///9/pcBQhKggYpAAS4CMzLLlumT+79/NtWPi9Mf/37L+nYTK6Zf/v2X/fn7/yoD/v2b/b2//UlJFu3cXqVb/0I6qQ+R7AAAACHRSTlMAR5bD3v8cgs4TOxUAAAR1SURBVHgB7dxhU/o4EMfx0jY1u6HlYltAFH3/7/LwLsxy5zT/Yiji5vd95PDsM1tDkzgWF63KqjbqqqtyJUapKY3iyub/3iejvKfisqYy6quaC29tMqhudHsj4spkUhVZrxSvXI2RLLG6yBqpOYFL4bLShFyewOYcsdrInCuKVWS+Cme8kieaVSfPdCUDzmHEVVFr/g2WKDDrwoRYeSYEMMAAAwwwwAADDDDAAAMMMMAA3yXj1uu269r12hn9YOtOVql1VjXYuu5LzuoFb1pxSu1GK9h1EzmVYFp3k61JITh4J8T6wK6L5rSBN5c6DnUXbXSBbfsncGtVgV03AZacJrDtYuCQVQR2c8BOEbidA271gE0XAUtGDdjNAzs14HU3q/VvBQPczgO3asDdzADGIw0wVunHevGI5/S9WsYz6jYP8Vp928N4ThHYzAEbdUc88Zy6Q7x4rVV3TBtvg4P4Xw6m+FUL/XowLtOYpq9LiTWCmdReiONPHiLvXIZJNZgjxzo6wS43MLvcwOxyA7PLDcwASwADjEULX0t48cCrJTYPAAMMMBYtfC1hP4zNA8AAA4xFC19LePHAqyU2DwADDDAWLeyHMwFjP+wyAzvOC+w4L/DiXvwDMYABBhhggAEG+K8QwBcBDDDAAAMMMMAAAwwwwADTGWwzAfvgfe4zAQ9jAG8pBzB5Afc5gP0QwM/P221PysHkh1PjGMCnevs7wN4P3y2An0/gb9f3/p5g8kNSu3FMAgc03Qucwg0THnfPAk4jLw8ektvvxv2YAJZoeTAN6Y3jfv8p3qZH6eDlvcPJ+1kCWKKFwbfw+n2o36bX06Jgn4z1xLwPMds+Gd0vCaZB8kT8jYgvwd+LbL+VaDkweeFyQkngkJD75cA8nCP+aTDb7bnlwF7m+/NgmbFfHsyPAGZ5ppcCy4AfAtzfDUyPAaZtCOBbg/kxwAwwwAADDDDAAAMMMMCPDvbDy+GzXejw2cv1u0Q/vr596XX0fGVmc3z/0nFjbgSm4cT7Cj515ajHt4lG4iuizftEG7oJ+OMwBd598Pxo/zbZ/goxHd8nO9INwMNhGrwbkuYrjUnzlTbpYC9eAcsHnmfm36J5npl5j2ZSwTJgEV9+MCQNWBqTBixtksEvh8uCV3rhmb3Gwa88s2McfEwGH/5b8Eo8s7c/xDN7/0Pp4AnYd8HRz2c0BVsCDDDAAAMMMMAAAwwwwAADDDDAkvIDgJe4V98RzxAH3/sQjxc/xPNx8L2PaWnxY9r4iO9/EM9LH8QzfUx7P/iKbnPVQotdtUhDynwlSrtMk5a9TJPrUulnr0uJFr4ufcAo8iH+YxrAAKsIYIDVBDDAAAMMMMAAAwwwwAADDDDAAANchx+IVUeBWRdV+Mmy6mxgVkVpQnk80WWxMjmM2JrQqijMOVL9GxwqCnmmjVU/X1OewI2RLLG6yBqpKU49mWx6Kv6pMplUFf/W1CaL6qYQcTbeIK6M+qrgDT1lsl5JTWkUVzYilVZlVRt11VW5KqS/AU7/MH7Y2dGaAAAAAElFTkSuQmCC",vb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAARVBMVEXZ2fbi5+3h5+vh5+rh5+vh5ur5/f/t+e6+wsWNkpZjaW5VXGCkrq13fYH7/v/+//9ivsGQ0/bJ6ZhmvvSn2lJj2uAqnPagIKT1AAAABnRSTlMBK5LX/7zdl8JuAAADvElEQVR4AezWBZLDMBQD0OCPvvH+t107KuOglirj4BulOPSM07zIMk/jcMi0iDPRXRd51ou+8s4jbyYLvZGFTRpWnr8Hnge6evl/w5tg+7bG2+c1fpcPvMFDjMEhhtFUJkAJe7xI0sEpXiWpYNCzFt4ggsMtHDQw4i0cIYH9HnYJHOJFwj6zCL4cPPQwhwbOJ6/PvkSP2gme2BaXwAgH9hxIYMvhJtkkcMEtDA1sJV27yYoAvpBzm20k6R+BTLYtmBAu1ULmsKqED537NFPClPfoYft3MLL3IYfhTf0O2Jl/BMOZooVLrU1Obagbl1JT6rIVKdy1tEfe2HCEiwomtdBVPmrKKWEf1axIG4MuihVt4wWMCRt/sVeGPW/CMBD+MJR8mewFyvv/f+rKCfv11aQR7VRtE9dAkmLzcIkFMFl3cnnHsbyiAu5LuQFcRE6c0BRcTN4An0Sj17swPfvc7zk2nca+6diQ56kEPplYjBgdn1gtcnxev+6SV/S3gi/wBS5/DKw4Bs2PAnB9TB0dGYy8AZei2gaexf/g670+g/1xlGYdldracufOcy0hL0txsr6z1PiJn8vUngjg2/xUU/2+m3Udx+hAzdgEXn7OI02FS6Dv2B6xtKGWts5jKZdABtNm5GXOmtra1jr2PHBMm6G7YSzUkXRTu5O3vl+AIFcv/OyYalnFNrhgdvQD+c5tmBwKUbDsvCeOcc0M5wz0HrYttWLSIys8I+bpC0S+I9gw9xio6tq6jg1SNjDGaL2qDscGdv/8UDZRc9wRogG27OxYIQnHBsYIJ7EuhIgVV0+I3sCYWIMcnKsHYIwcaZ1P1rY5zrkhGuB0nwD2a9YATigKMcfSR6s4OP5Jjvm2AAeIXae2O8Yst7jUbDk4Jk9ijiVlsB047kPRbI/DFXYcPE3Ll2vh7fdW2+pq9WiNVep8c80Wk/Y4PM0XaWIjaFJXUtXsWOuNVLuOLWlh8EJmbSMY3FTypswMDiXGYE8xoomgVlYPilDrjGiy+3eXGrBdGFNpoQEsCmGskqIAVmgfhyVLVS0GDu6jDRsDhskO5rV2xxaDcbiel9rAEhw70FLNZXJMdHOZHas42P244zBms9Exu+cGmMX0HQflPU4CLI1ZeY+D/guwqEv+QcemLpjUAbPG4PTKzMqvzKz0yhyC00fiQPkjkZQ+EkOwPnwWD8WfxU4MfxY74M/qAp/XBb7AF/gCi35UAvCPz1v+PciWFKaBsZgJtu2IjtaCAeNAbbQaqK1lA7iZbsC2DwIAPG0/wSTMit8AAAAASUVORK5CYII=",Pb="data:image/png;base64,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",kb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",Ob="data:image/png;base64,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",Rb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAtFBMVEUAAADd4+nh5+vi5ezi6O3j6Or///8RVcuK1Kra4eYGL00UgJDk6eze5OhwiJllf5Ho7O+Vp7P8/f1adorv8vSClqV7kaEyVG2ZqrYJMlAYP1rH0Nd2jZ1shJYrTWchRmAROFXr7vHO1tyKnqyGmqmEmqhLaX8+XnbZ4OS7x8+vvcatu8aquMJXcodRbYM3WXH3+Prz9fa/ytK2wstFZHqisr2Qo7CLnqxAYHfU2uCOoa8uUGlysB7cAAAABnRSTlMA+tdHmJmSP376AAACfklEQVRo3u2ba3OiMBSG8bLZxoK7RtqKIKIUrfdru93d//+/mkNkYGwHg9HgdM7zxZPJyDPoe4bABMMwatUK1UqlWjM4dVoCdX6+lNqMaIXZlNaMKrWJdmxaNSqUEe0wWjEoJSVAKYq/5puKf+ZwYv4euBMQzl0OKNYmvqFw5YBifX2cBiwNUhbJYAEovqgY+xjFcuGSCN49IBkyFF9cjH2M4qKLvTRIZ14oUKwuxnU1ik/1MbkKaeRQrEGMfUxO803Fctka/jpiR2z4GJAsbNcb+/7ec0+FS148axzxh5jwYZEMEz+ZHVk6xTMnne6bFxJPnoD/cEw/Ll8/ie0uHzvLx+YKJvYX7ePfcMjkm8fiDh8GLlQhzAyLpdqaTqcWMVue97qGTD03/00kxU0+XIqyz8tOMXGLfyWMnPhv+msvRVIGUmKPD1einIdh6BYXdxuCp/dD0ZYSz2Hc25zZxy2RyXHQyBSOJSNmcTN1vWHORSJf7Ey5og9HmfPDw/nPZMSEHn4qPxqcJ15A0Ut+4jYv3qTExBw1BEHECosT3wMvmklYH2XEwHbpCPV+Ld/H6mJg0FrFZu944spiwAW1Y+kSm88cJs46gGDqElswfBH1mJcPcn2sLmbQTL243ED5dt1UR50DNolgvJhY1m4M1fCq4pQXsn7PjhcqfdwrJCb2Ih2ONrJ9rC7mbNsB1M5oq32VySzXNW98eZtL+etq5Zs2FH8txvtjFJe9DwSerMo+REWxshifV6NYbR9IEiSFzQkoLibGfSAo1rUPBAInGzIUq4txHwiKldfVECSFzQkoLibGfSAovmVxWa8dlfaiVXmvlhk/aAnUjdJeH/wAEKeTOdES0jAAAAAASUVORK5CYII=",Sb="data:image/png;base64,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",xb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABG6SURBVHgB7Z0LcBT1Hcd/CbmEJBdDEiChRF4hoI4kOKjJgChIBZNRLKFYHzymVhHpgK0Ea3HGIDNgW6AO2EKFVgdCpRUI1s4QQB1egkGhQnBUSMJLlCSQAOaSkAfQ//d/+V/29vaee9ndO/Yzc5Pc3u5e2O/+nv//f4m4wSAJzS2t1Nh0lWzNV6mt/RqZGJ+YaAvFWKIopUcCRXXr5vRZhBD4OvtRd7mBLjc0kkno0iMhngsdGRHB33OBIe65mjpqaW0jk9AHFp2emsJFjsQGWK4pbvgALaEpiGq/ds3FLVuYH0/t2YP5dQtFRkaQibFpZPnShfofqe1aZ84ETa1x3SlSKC2AuP369KLYmGhT3BAhPrY718wiS7BsLFmObGlzds29khNNYUMQaAavKwWWHdnS2u60MT42hkxCE4RUKShzI8kkbFDyvKbAYY4pcJhjChzmmAKHOabAYY4pcJhjChzmRJGJKmov/kAfbt9IZYd3sd/P822D+g2hgf2H0oOjH6Vht48gPYk4ceYHpwH/zH59yMQ3PtzxHv19w3KP+4xjIj9RMJO1EX9CWlBx9rzTe9NFB8jGkre9igs+2fdfenXx81TDLF0PTIEDAJa7cesan/eHG1+5ZiHpgSmwn9hj7nvkL8e+OUxfsZfWmAL7CUQSyZS/wPK1xhTYTz47vJsC5ZgOFhw2ZVJzWyOdu1RJ9bYaqmusZq8avn3s0AL+e2XtUYq1xFN60mBKjk9lPzMoEJqaGihQGtmxeMXHJZBWhLTAFUy08nMHqKLmKBO3SnGfzN7ZVM8E3/VtietnqdmU1XckZd86iosejoScwLBUiLX72y3U1KZuDjduDLy2/G81t+gxzNpzB433eMzAfkMDdrWwXC2tF4RMDIaw244VU9EHT7Of61WLKwceYEPZUir6z1QqO7nT7X65I8ZQoOjR1QoJC25utfELH2xRlUC8htCl7CbKGzbdxaLj4wO3wEcnPEVaY2gLrmcXe83ehdx6s1ic1BIhNFy4ADXw4jdfokCYyMQ1LVhC2amdVHJoFbfa5jYbzRy9kI6yhArWrBX5zIKRiAGIu2DxzIBq4GG3jaBnp84jPTCkBSPGbvhsqcMliyw5f9g00gqIK75PjbhPTnqeFr/qe1sz2BjOguGOk+PTXLbDXb6S/zYdZAmQu5IoWPgqLjLiBb9ZThfYPmWsAVJ74QeysTp3EBsqRLY98eEnNc+a5RhKYFjuruNb6cVxy2hq7nwuqgAxEeXR5BEv0IqPC6mr8EdcWCbGfolG8LFfI2IYFw1xUQYhxq74pJDXpRBZyq7jJZTCrHvs0EnUFQQmrrExhMDfM5cLcQXuRMb2YmbVECI22krBJBzFBboLbC+Fily2uxO5KxKuQMXt6lwgGOguMFyzGBiQIxUZZZKwWsTm3EETWAmTRWoJVFyUcX8oneWx62UEdBUY1uvtAgmRk61pPPmCyCLhgjhqUCMuyjiAPnZzm3Gfa6KrwEquWQkhMhAiq024giGu+NuURqqMgm4Cl3+3368YJhcZBJpwBUtcAW42o1pxtzm/nbdQuiElUZvC/F+HVnAX7Q/t11rp8NndfAAAr4++/jcf701NvJW+OX+I7xPHxL4v8xEaPfgRGntbAQ1JHU5pt/Tj472WbtH8s/F3PMH3DYa44u/CuUVbU0/qrzi3cnWZFw1hX2OjQ4ECixVWjITrxZ8up23l6/iABAT3hWCJK0Ai+Ere30hvDDEvehcbrFeD1F2jhPquvpJ1uGbrJi5AuJGOPBkFXQSuqC0ntUhLqCEKrhFznzDZHLMvTp454djeFeIKyr8/QEZD81403HOwGgSYUCfn5NkT9I8Ny7iojZIJcr17/oQNAgxh2493ibjAiBasucDnmDsNBkiy5N0sT2uFYLm1bpaPBENcgBsX2TRmbxoFzV00ZkIGA3mTw9e1QnKCJa4gWDdwsNBc4HOX1btnWK90miss05+1QgK4bam4mDGiRlwQjH9fMNFc4OZW9Q2BYX1HOr1fEeDCrjtvH+E0KlR+bj+pxd/avqvRXOC6IFyAIWnDHb/XdmTKgXBQtgxlSG/1gxdNGs4Z8wXNk6xgTJqTJjHSEshfkGWfYln3wA4rzkofxWK7uhtQabqRnmgucI6XlQPeiLM4951PqRAY2Bo7Syl0yFJUCoRRLyOhucBqh/i6EmT4xWXqkiz0o0Ub1QhoLjAGydW66aVTPnC46dSe6nrnaH4ImluCET6CO5VILZoLHMeEUSswak0xcpNz9xiitRQQWGkgndbqqcTBKNWw9JEsEcumvqw9msJcsbjJ0Nyos1XzRkdc9E0uMNbnqs2k0fMVAkMgPMkGDzvxF/lUVyxFlQMhxwyZRLkZE7ig1W2X6UjTGaq5cogar7fY/4bIGMronkZpfbNocMxNHoO7R6tv48l7vlgWcuybQ36tPMBaoXESgb9n1ivtkcMS81grFP1uCPl+fRntuFJONUxgT6RZelBB0r10X8JtlGpJJL3RfDwYsx+2HF5NgYCLPmboJDaQP5m7eXk3y9flJRD2xZkLnbYhNxACp3TM/8L5113cQyX1n5Pt+lXyl+k976cZPR8gLdF9PHhIgLMeMIMSA+pwzSs+nscnDEgtDm3HFYs3cst0B9z5s08XuoiLmZ3iXOnJg7m4bdHd6fnTa2n9xb0BiQtw7NNVbzGrv0J6ocuMjvmbJ/mcaMGapuYW8ti9rXw99wCOz5iFYb2SfPQG1vxVxzgwmhkQn7clWcYsXysEdy8mDwjLhbgvnV3P460ca0e8HcxeqVF2F4wb4CiLy3gpAbf9537TNXHZcgvWZW1S7sCH+BokT0jdcdnJHbR2T5HLAvCcQRP4jSJ31xD0wdF4efwKXvdiwgBe6CF7EhfCTk7OpYLke9nv3RXPB6H3Nxznlis9Hr/jnFqJLEUXC8aF9bSADO54Wu7L/Gk5WNKiNJCe37H6Hu4aWbl0pqQ3xIDAUTa4gMEPTL09UVtO2awMgkuVizshMZtmp453K6wcHA+Rd1xx/rth+WsGPEddiSEsGHOn0BaUu2lP7liKXFyAGArhcAyenCOf4YhaFTcKPsdP4d7X7H2N/y0QGQmVXNwZLFGa7meiBJf8cp+J7GciO+dex/aqq9X8O7RMvHRbPooLKhac+eKOBUrighzm9pEsYaWEmIieInHb8tpbujqizlbDE6H1EjEALHe6CjFwbDU7r9SSSy59zl09XL4W6DbxHfUlLEeaHWOlA0oof8WF5eNZV3JXjn3ESwncEBhcwDk/tX3r9BmsD2WOWuyuvVNM27WrtIXV1Fqhm8AQd9FjG2jm/Yu4JSEme5q05k5ckHfnNG65gXTIRBhArSsF1gdX6y9VV2ucyiLE7YLkHKd9dl5RP6vUV3Rdm4TyBlNk3MVagSdxAWrrg6d2UCD07ZFBVS01LrF3FOtE+QvERbaMl1TkyUxgqRXju7x1xIKF7stH87xkvt7EFc+xqqgJzCqQ0MnFzY7r73eMRJydeXoNL5Vwvu1Xjjg+gxUjg5ZyxE3NHGx0Fxg1KJ67oYQ3ccGYoZN5LA2UFGsqVbLsVopcDG9sqT9Ifzr/oeM9LFaeKWfEOD8Ls/pmsWCAhCsr3XkinS/i4uaIY4MXR88FvqIAYQKJj5S0KNdmxJGm07zEkYNtq2o71zijrJrd23XWijye2zpGoroawzyEZVrufMcjfn0RF+DhoSdYYtbVD0eD+513tpiXUbBWwV9rdjiVVoHUzF2NYR6jhKx65v2v8+5Sdvoor+KiNMJNUKRilSJAA8TazblDVd3ufnAA1prA9v+SxdCdkvr2d6yxMT7R/UCKfMBCqzrYUM/JQj8Z7nrt3oVeS57M3lm85al28gCaHHL3WSWLyWh4IOsVXak/SuIthFqU/guemHlCPhCh1cQAQz7KEO1KeUyWAzd+MAgPQMFT4uXioGySx0i43hmyxgeaIcvZAII3ccVok9Ox0doMOhhSYOGu3Q0eiD5zMJ5wAy8AC06VWLG7bpNUZCHuYB8ybowwScGxGTezBQtgpeh2pcjmGucMHM971sEA87AQhyckOq9qQM9YKdOFyL9mWTLE9aXTpdTjLkjKIa0w/BPfEZdfn1jMV/JDaJFcHQzS86mQgeNmkXebYMWrapRvIrQefW1jKo1QjUoYSloRMo/0h6gQ+rnRC/kTeoKxxkmwm/XClXrGKI+Ual9fwbHyMWG4+EB63IGi21N2AuWW2GRKTezH43AE2cscNXVwetIgGtF/LD/f8LgBtN92nC61d45mITmCm0WslZdT7sAszDert3E3LwWxFxl3V2KIp+wEGwz242Wf+mr/v5MgvHSlnxgbFpPW09kgA57KI5/PBXeKpobcrcLqMHyI6bDxbmpYCLuZJWdKszBFUtbV1iuf0WH+97IKuBNZgLLIPiBht+ga1hhBPxujSUozMLUSF5gC+4g3kX0Frv31vlM0i7vm/x/sIxDknxlzXJobvoKMHCNKbw94TtOkSo75X7x7AXUveswHWLNiC0uavFk0GiYPs/09Ta/VEtNF+wn61NUdMVe6+CzNksSy8H5OHTE9MMS02VAGkwEyKI1GWbVrVqjBjMFhjilwmGMKHOaYAoc5psBhjilwmBMSZVLpzj38VVF1mmyNTWSNj6O7su+gvPEP0OiR93g9fm7hIqquucB/n1KQT1Mm5XncH9+zaWspHTn6NZ3vOC4zoz87Lp9/Zyhh6EZHAxPz1aJl9GX51273gVhzX5jh9nMI9Pi0OY73VmsclZa843b/0o/20JKl7p8hAqFXLiviN5kRCalGx1ur1jnEvSvrDi6m1RrPrfHd4s1cPFgacCfyu+s3O7232ZroS2aZ8ABycL6V7DtBn9Re9PvCFygtrRc7ppH2HTjEv7Oi6gxtKtlGv5z2cwoFDCvwvv1fcGsCuJjPyC4oXCVcL24AiAzXC1HkiBsE++OccPGffvaFosCVlfYQACCuYx923syMAVR58jTb5wxVsJ+hgmGTLCEuXGq+m7g3d3bncy+373SdWgNLFbE376EHHOfZxvYVQkqRbjuiEBaWFBXS+8Vv8Z+hgmEFrqyyzyOGFaUpWCYYPGiAw2qVrKq0Q3Tsg/Pc15GQwU3DmuUgYROx9R3mjhGLcZM0KNwMoYJhBRbZax834gqE+BWVrssx9x2wizi8w9VCZHG+UgWLh7dYuey1zn2YF5k7fxHlT3qGhwOlY4xO2NTBCbKstlTihuGeBaLMQWxWctOItXDDC1gMHj3ybsd5sf+SZatpCsvIxc0XChg2yYIV4UJ6u5jIcAGyaynCegHiqYipqHEFuAnc1cS4ERw3A3PTsGbsj5j+BnPdsPRQwLACw62eZxcUF1c0N+RA/IqTdtecObi/03aUNQLEUyUQh6UC80YKi8/WhDjKZPFdANcuMmrecAmhLNqwAsOtcjfLLvg76zcp1rlvSBoS6DIJ0IFynIdZoTyOQ0jcAHC7EEuIiXIL34lYvKn4L643VUdLCH9TqGBYgWExiIEQAhcerhFiWePtjY73t25zZNqok6WZtjR7RiyVUy2x8E/3H3IILL2pFrAOGj9vmv28m1lzQ5RuodSuNHSrEhd6ybJVTu5WzpQC1qqc1Wnd0tbk4+yzObOUO1yiSSJvXa5cvc7RHVMCNw3ib5qX7F4v5K1KQy9diY620LgxI/lFhdiNLKFqbWtz1LWFc5+lnz3ykNMx2z/aS62t9n1m/eopl+RLCs6ZktSDn0vsl3PPcJfvA5mD+tNj7LsWzJ9NyUn6TqzzRFguXTHpxJz4fpNhChzmmAKHOabAYY4pcJjjIvD1GzfIJHyItER1c9rQ0tpGJqFJY7Pz4vMYi4Ui42OdlzjW1F02rTgEgWYXLv3otC2GNYoirXHOAre1X6Oz5y+wu0Gbp6GaqAPCNre0cs2gnZSURCtF3GBcZMpfamgkk/AhKSGeeibdYk+ykln/OcZiLhUOFxB7kzvGFLgF45fr12+wRnWDackhDiwX4kZGRvD3DoEF7cyP17ERiRY2imJm1KGBJSqKrLExFM/yqdiYaKfP/g+viHy5SVFtsQAAAABJRU5ErkJggg==",Tb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAS1BMVEXt7e3m5ube5Ojm5ubm5uY2NjYYGBgnJyeioqL4+Pm3t7dLS0vR0dFzc3OFhYXu7u7m5uYAAAAAd8xra2v///9iYmJfqt+gzewqjtV7jFUQAAAABXRSTlMEZ/zEZiaDM1gAAAMfSURBVHhe7dvZbuMgFAbglpR98Zq07/+kM9AwZ7B8pjLHDhfDL1WqosSfwGwG+e13Pm5sfGHY7eMt5Ta+PLfstpDfxyb5SAUe1pdmSEWO7Wp9cWILexvbwGOH99PhDne4wx3ucIc77LycqiK9I8B6mQhZdC2s7USK1ZXwMhGz1MFuIsdVwZ4O+ypY4gD3yrBB64EZ5TkOyyoYU60a1iKDsph8IuyzWtr+YviO/nK8Xwjb3Eq18VaKaRLSepN7q7NXwQFu6f5ND9fAJrE6TDsJOgHmAli6xCox7UaoBDh5NizTT0b+B5JSci6lFNngYxLkyXAqrxNZ5X8nf/r9nRr4oTHYRFc9ASA3tIqGqYDnL7YPB3CBLWmQQwU8z597sI2uAxeXXVRsDTxDdZc3eExXlhyNjJCIV3Y/wvNevtgWvscPeOGiMo/MvQrO1Q1w/LYq6xmvbRUZKgyzuRZb18cJeWBm2chCwxqCWNVDbqkcEqD5szvIuQcMZzQumy8kADDlIrgs8gANm9SdVL7D4Lq1yGB5DvyAPoDkAgiAVbqWCkHpJAcoMlQRdcjksTI3XcmOq/7GbJJd2aXiZ5w8Sfg8/BZNWt+LwkNl5IHdk2GVrrLtwzZDYQOLZ/9TBBjmJYsMWhl2AMvnTTZkOH5V4jCLcChhGXs3AYZGLSKMF3jgJSziZ2RYP//bdRf9LDDkyenLYHANr4BJVe3Brapq/fgXzNDGFVZwaxoX+5qrupNKrkpcTXf6nOf5yACSY4pR+vAAoh8zDuNDJrfJ1R7EI0Nmqua9YJMEuK6ciI9OEp/zfn6aFi1bY5xSRn3/IdNiHYwvBMy6DbIQqKtqfOmjMFhAFREaF77YWxC4WOwRuhO6vLVmG2R5SxhACAt6ypAJjzD6tEcYPNc+tKFp8Jia0uDBHELcinjZ5otEN1/abzfRN9jWkzfY2m8ptt9Ebb9tHJ0jG+WZOwU+cDRwFYwfhpwIS4CPHf8ALBsfeLU/4mt/qNn+GLf9wXX7o3p6/me4wx3ucIc73OEOd5i1gVmz146avWjV7tWyKDdwU95bvD74C8nN2nr45xt+AAAAAElFTkSuQmCC",Mb="data:image/png;base64,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",Db="data:image/png;base64,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",Nb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAALVBMVEVHcEzm5ubn5+fn5+f////m5ub///+8vsD4lBz/+fLIysva29z09PT8y5D6rU+p61AKAAAABXRSTlMAkc0rBVj6jIUAAAHPSURBVHja7dvRkoIwDAVQQUMhifz/57rI7Ea9w1aoTWd2cx998JgUO1TJacm568ktfXc+rbl05Jzucnd7ck+/yB01SPe1vrREB7foHTyvBQ+uWUvurV7PmvuTFexbcsABBxxwwAEHHHDAOzJdZw8Y2XEc/eFpHkcXGFl/eFrYJvA4BhxwwAEHHHDAKsz8DDOzUFWYON3zAn+/SnVg4fQThNewfBrWB3WrYqhbpAC2Fudgi6xsSlwGU4JswVY1pVQKM7C5ii0FsCRkRZ/hgZg/DTOgWxuI8Cfh9BzRX3cuAViPwfrC5rdMKYbR5Tf2auIXmA7B8BYZWHGV5QjM0LNt2NpcDgtcnRmYBCvmAzC427BFSUphxvXNw1j6fhg+9puwlc6HKiZsdB5GXXfDbC673nPhCvvD2goe/h2sf/riav91kmRxgrHX4gpzsqgTjPc9TjCuMnvCQwLZAcabTHWC8bAmTjDKiZxglBP5wLbOFtFacP50zKKVYGw3RurC22cTNvdaBu/tt7lTRRjP+wxsHRh/6TK2Agy28AM8G1sFxhMZL/B8bfKPuWo8nBBwwAEHHHDAAQf8LtxsJKXZEE6zsaNWg1bNRsvaDdM1Gx+8Aej5VSM7CMk+AAAAAElFTkSuQmCC",Gb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjU2NmViYzViNCwgMjAyMi8wNS8wOS0wODoyNTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzRERDlBODMwNTg1MTFFRDlBQjhDOTdGREYxN0U2OUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzRERDlBODQwNTg1MTFFRDlBQjhDOTdGREYxN0U2OUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNEREOUE4MTA1ODUxMUVEOUFCOEM5N0ZERjE3RTY5QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDNEREOUE4MjA1ODUxMUVEOUFCOEM5N0ZERjE3RTY5QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqHjzD0AAAetSURBVHja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",Lb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAZlBMVEVHcEz////m5ubm5ubm5ubm5ubq6urp7/L///+x9upltqqyy9Pc7/9f28cHjXiQ8eFp8NpJxrIAhnF3vrM1o5LL3ub0+fuUqsBCaY1ihaVrk7kwW4FOd5uVzcRhrv2Vx/xeoeVWqf7ZdcgaAAAAB3RSTlMAAWbD8/8ZrH9iwwAAArBJREFUeAHszVEBxEAIQ8FAeO36V3yngv1oxsBIqvawaNylv8es8yOVucCl5oqWgfesegFrgLMMGHEn5jNx4sSJEydOnDhx4sSJE/9oMcPdOGEgCP+y7GDOR3qsDewB7fu/ZK8H6rbJDvFtxPczEnyaaGdE8tYA4rni9pIQ/lTxtXv/oZNuZ4rfuq7rkZnOE+frQ3xB4iY8oEguuAzF5sBHkeMmLq54mzijn3dPLgmY+xyCjxRLdDZxiSjwxvtB5Ezee2dLTMOoZvbdDo4sQot4Yo56lXYOK2UXR2a+e2U7OgHel7OL88gPCgx8HLmxiyP/YXDgsi5fRCarON/5yaRshwDvK/XZKC68MZAWWMArYhO7gXdGdTvkl41XxCSe+C9RCYzvS5gtYmJhzMp2CChySt4gHpnVyB8uq3JFgBhUSRi8bIcoN2tdpYAYVEkoEliCVlSqqRHjwLIiclnWSh2LvQTemXYx4Aor9Zq48CcoHNLo5jRj8dF2KJUCuIQD14snVojhkNl81QJJ4PrIvkdHXS8eWaW8HDm5l8SRdQZqAVv1+wQuq1ZMDJgWnTU8iQl88NWKw4Qi//ylsbSgUnOoEeM2CaPqXcMOpe9+gRQGaJEXef8NrCUQg8XUuC+fxQQqZfrKjPWR1xyEOUlgsohzfeT2v+cksu0vCRx5+hg4/ItUKnmbOIyoUosWWOhlO2xiwpFxYKlUn63iUOCKaNsh3JJUySR2A7wvZTsEn8B2ALFlRZZFe/9s/69P9YqQ+lyfmmAX16zICp7r/ffE+atKteA5CnZxTaXWYELExshLe5o40IAiK1UyiQ2VWvKZYg9XRKp0ijiUQee+5nPFwSN+t28HJAAAAAjD+rc2hRxgFlgAuRcGDAaDwWAwGAwGnwfOIpwuO8pCqywty2K6Kh8crv8tt+viLq8AAAAASUVORK5CYII=",Ub="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAM1BMVEVHcEyuNyTCQC3JRS7LRjDMRi/bSzLkTzXnYkrre2fxoJLzsqf1wrn64Nz98/H////ujn153/OxAAAABXRSTlMAImPA6ZDtme8AAANPSURBVHgB7M6BCQMwDMTAtx05+29cQgPdIE/BWkCnb5G1eNiqDP2KwlCFbompNP+vIDh176d1cwpJBdD7eQ1QUty/SRDK+zcJUuUFlBawTQFLeAEMYAADGMDfAgYwgA+v5pEkuQ4D0SUBwt7/st8Ma6GYUspAUGX0pv0jTNIST1Ezj3Azlcn0SwAWiy+Z8G8AWD2AXPl1gGlxKMtXAebX4P37K/M1gPwevdBOPpxfASCNL8nI2JNSP0DuDXWMCcoxuwEkdiRjZABJL4DFnmgMCiSjPgCy2JNhNExQASDgPDrGpgi+k+TUA0B+lGaKJc0ABE8BCAZ5OY5+/tfEWagB4PpTXjFZrcYrGvt9Ys8BZK/9eQFsCAk4gjwDAH3+ifsnvnONFDhC1gFwAX5KbyxRREzoCE6PABQl1jb5tQjCjqBPABj+SdmkV8JXKvbFDwAcppU32c0VDAIAXgUAY1rxps3fpVCQr6VZBvDAve2b3MYclRCcAJw0lvMGNJFnLGURwHAGxtjG1eh41rAaAF9uK6VxHAIuAejleH6YcBVoCQDEc69bzqC9ApDXB8NnjRtZABDc1FgMAKQAgHsACufN7gPQrWyeYQfdBmA8FCxsx3wbYPYCzNsAgpugAiC3AbQ3AnobwGoABgCsCyBOALwJAP8lLhlR+G2A2rZ7BlIFoOBE1gfgeEeIlYHkT4tQeOpicjoNgOnk2dsF6w9Qih15kUSYJMPfvwWgqPo5UQhoMmwHfWzFNm5JH1vxvGcAZ34wn0/HfgfAnk/HdNOCTvyIOpZkXE5AWMui1GlcElnLopTvz8XYj7lpY+JX1LUxGRptkvrmtEfctT1XuSBt2J6jbuZaE86WI5o6gPccUtUBZhlgWAeAjTpAdgBky1FtHUA7D6tV5cJH52H1yHio7LywKEjeuLIJm7va+8l3Lq3sKqrRO9d2ftE4nd66uORLDmj02tWtoQz0X90CgjyfOIxevb7PM8OQtx8wzMPxe77/hMMSvy5R+skjFtdkYk71v9D4zWc8QP3PeIDyhw+ZgFhgGFz4N4/Z8t/27WAIAACAYZi/9Sh2+dSgAA2Y2X47X0dlAQUUUEABBXDsxrkfB4+cfHL06tkvh8+Wfnv8zvn/AB/cGhg7KjtbAAAAAElFTkSuQmCC",Fb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAB4CAMAAADheK3eAAAAhFBMVEVHcEzk7e/h6Ozh6Ozh5+vj6u3h5+v3+vrH6fvV9Pjl9cxu2+Ri2t+n2lH///+g1pbk8/7x+uOW3Y/Z77Xh5+spnPbK6Zey3Pyo6+7Q7KSD18mUzftpuvmF5Oi/5YIAS4CdzNax3mRWve9hvcKr2rK3z9xjoLR1ya4YXYxAeaHq7vFJf6Xc/jOIAAAAB3RSTlMAHG2DtkniEVJ3KwAAA2xJREFUeF7t29ly2yAUBuAkdcymdV+8O3v6/u9XIdunxgGrcuBomtF/pQtmvjlAdEYO3MncP8zmGVbms8e7Ux7m2WeGmdn9Af6VoWfe0Y8AYNJS7laYkAArpFvZh2PJ4KJE0vPDKn/aLImndaGGSy5e7+oTIIu9v5vZLTkuNIlbrfB9Pz4r+tGyzAtdiGsZKjbOtju57iBjIe7k+LioqDKschqMIadQsj15kuudf8qaY8pr/zwcT059JTs8ufDVxBgyTDZXnn+irPbd3YXc7A8RIkySpFl9CZUaWYlquAxdyCx3eQNZTdRqled50Q0yL1Q5HSSTG2WouL9m27MNfffqDiN08RyGocUdBn23d29TyzL03f43iX0ZOoH57QlyZl82dgwM2dwlQU7cymoQajZmqhlfnmrGl19GketW3kZjyKmUF1RfCF1EDuVCyl9CpVbmeU4cymud3BW7bGXqUC4KnUyc1gzjaKmd7YCWdtd5+Dh8eZInmby+b455/3i5Ilcr7xixYjbkj815tka5cyHs+/J2o+TdJFNPifi+/LpRkykfdASAylMTqeNukH+32nF14Rk+q2p1spnmGcbZkomEC94nwzhTGCX/Kr8+HfKWtFn9jbiQG8M4CD3uDkGGyTJJcyFTjQzjjL+TsOHyXlyRn5RxupBba9636ZltGGec7YBV0dAdRqG7G3aYOs7mX1VH98kwzuqbRMp9bxIYZ/XtWbZy1PP2hHHWOgbIxo5hQQ50XRJkY5e0IasZVAu+PMmTPMlpHTuWDWcrUt/fEZfy9trZCu5Q3oamsxXcbc3bUCcfSo05MA7kMAzXBSf4e/ulleWi4svPrZwGI8lJNpYcZj+m5qnmxT4/ZUkxa17m5yld18wAKHM1LmumrVxelgxhAIRtmFU5Ov08DjLVPAdcypFVOVjIUHJVJry4+g+UiA2UoWjI/kJukrN4pi935nmrYTKsNAQ2tEb2xNDfSXrDlJpNsieEMJ8nEeQWOSC0hJr1s/3cCD18GFxV7NYTS317u7+z/M+yGoYgG96eCLK+YyDKRO2SCLIhk8zwZejj+DL0cXwZ+jiuDEUbzhmQxbJ0I8NKG84ZyBYXOZQDppOJ7oSD/dsvhnMGLM+Xyu0XvBs/JFJu/Ix3y2m0m13j3WaDG3y4mUl4vFuLfwCyDJPw00UHeQAAAABJRU5ErkJggg==",Hb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB6CAMAAABDcmfrAAAAP1BMVEVHcEzG1uLp7fDT4Onm6+/a4eb////9trT/CAD0RkH/T0m1y9uuw9IAS4A6dJ2atcnM2+ZEfKLE1OC+z9seXI5Z1PVRAAAAFXRSTlMAXH/A/v//////////////////7S/oHlaWAAABKklEQVR4Ae3Vi2qEMBCF4cml9pLoavT9n7Uza4USxhLYzQjd83MfOHwISOiec94s5+goxDfLYgwkuSiuLT04hoU1LxL5HY5m7ZynuH+7YbtI0doVWWDhB+PEBNwQYMCAAQMGDBgwYMCAAb8rDT/1ukv0oXQMet2lF4Q/ua+qY9DrLib+4/4BBgwYcOKyUuK6wuMfPR0GPCnVcFK6cQ/Bs1INjyd1gQEvVRNnAs9VmQMM+B/CNy4pdYfHkwA/HZ64parlTX0YzlzLuA5wN3hRMoHnswADBgwYcPpVO6xv22GlZlgJ8Cm8KLXCi1ID3CvAgAEDBgwYMGDAxdYtdzhdAydas7VcRFwpZCkVs1KWArmSLyg52vwFcvEbbZszl4vbGOZ8WA0LXky6qm+5JTtNSsfNeAAAAABJRU5ErkJggg==",Yb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4BAMAAADLSivhAAAALVBMVEXB1tWn0c/a2tqn0c/a2trB1tX////D9fIAzb7a2tqn0c//AAAAsKL9AAD29vabewDgAAAABnRSTlMCzctubRuL2NnbAAAAwElEQVRYw+3TLQ7CQBCG4Y+fenQVtg6NwuJ6ikosCSdAN5gxJA2CZK7AFfYKa0m4BZvQ0pDQBKZqN9+rRsyjJgPMCzFVb4AsWKMuMRVzS2zt+IRCzpWph9QQudvwTiTgyhgxMTExMXHq2PtbWxX6Z/Y+VhzpqYiJDfj4UYrYuX6xw/t3aWLVbpGY+NvbOJcqHn4b1TRxHzFxzPjVAG5LC/8aMTExMfFInOvVZg/aYK3mLpjY8QJZbrVNCcxyo13hCYDoEvoovFChAAAAAElFTkSuQmCC",Vb="data:image/png;base64,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",jb="data:image/png;base64,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",Kb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAKlBMVEX////a4eaaM2z9rRr8iRL9sSz/8dvv7vL+w2T+4LfQoLu2a5SjRnr+0ITFZin+AAABwklEQVR42u3b62rDMAwFYHu2fE3e/3UXnAyFpIScIazBdH6F1vSrXVkJBbuR7CcmD5LZ+bRXCM9XYc7HxbTkY8qZ2Uk5SK8D+wG7yTHYYIP/F5wKUUnAGCE4UdhCCRgjA5cwUtwplag+jJGBKYzQ5TV6GKMAay21WnFpbSfrXAAMLBr8A91hvEyQknyG8Y2Bb8I7jLcCvO3ow/pLjRdXXSluobXixYVvJ2YpcqrEdnqwCgXav3waLOfn1bApVbhz1b1O1nEdbxnculdSlYRXrpLdvctcS6sQzG5I23WKHzPeCiyLwPX8gfQZptOUQxWCiSfMC31NPU2Z7H5s8Dv46xcx2OC/DTfcbSKw66jbpRpIR10pOHfIzWKwy8t7d8kOg3EZd3HY+eWl66XvTv4d7OVviw3dwDiMy+zKwizjLg7jjaQ7aZhl1MVhvIX1LAHjjWRhF4ZxGXdxmFsY0LBQGG9hfsYDfQM2MAAjMrtzYHeFncEGG2ywwQYbPB1uwHMAAKNys39vDTbYYDCpxFjSfDjFkTQdLjtcpsPxiBqsttRqxaW1naxzGWywwQqw2pGUrANnrWNHegetlGTFw3Rqxwe/AXAEHeeJRtDQAAAAAElFTkSuQmCC",Qb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEX////n5+fm5ubm5ubm5ubn5+f339/89PT++/vPPT3VU1PHHx/vvr7jjY2/AAD////YYWHffn7ooaHm5ubnSdTLAAAABnRSTlMBK7yTj9XxuJ91AAACO0lEQVR4Xu3bzXKrMAwFYGgTSf4H8v7veuuUm+lkap80GGvjs87kGzNaYAlNOfPleuuW62We9nzeOufz2/24dc+Hynn3M893gCV1ivAdnKdLdlPXZPEy5XrmvrDk2p4yn/rDNw04DfjtDHjAAx7wgAdMYakm0CmwNxHG+PbwGl/K2hpe4otZ3oCR64KnSnxwBRnAyLWcQNgWZAADVxKMFGQIY5epEAYygIHLNhZjuSBjGLsmVmKADGDgHpQxjF0sY/iAi2UMY7eNjGHsYhnD2G0kY3hFLpbXd2CPXLdtDsn+DdgAN/+pR2c2f4aF8pm44AZaYqSUKFZkzs+D/gqnkP+/4OaicWU4y4+/qMKlkva/uXvNmB0O7EuyLxQ2hvNzsrEKu8Jrkf0C6AjMsQ6b0nsgH4TpGTXuNZgaw1tiowG7XKxa8NYWHvCAB0wkKQlRd/iRHTYsy5lwqVlg8/kVYCsZcL3h3d26n/jbJdcb9nL3bewL7xEfz4RjEWZ3LiygEXYaTAXXx5PhAB70abAFD/o0OBKo6FYwv9IkZdf+hT5ZfGQx4ArT5tLm+Nm14NLW6ppq5Kll2/aaWrmYG/rhetf4Yi61VsTG/9kFtCKaN1+WsPmwtmy+6Lebkig02BRbiljGrlbbWKtRrjUa0BqGaI1/tAZeWiM+/aGm/hhXf3CtP6rX/zgBR3Q+x8jygR+MT24GDDLgAQ94wAMWhQUNjZUU/iKvaks43deO0r52pLVopbVaprhMp7Y++A+reEh85omhkgAAAABJRU5ErkJggg==",zb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB5CAMAAADF5hVFAAAARVBMVEXX3ODX3OHY3t7X3eD////M2+b/srHMzMwDTIH/CwPg5Oj/PTc0cJpbjK6DqMKmwdS7z97/bGf/pKL/kIz/1dPO1Nnw8PJTOZTwAAAABHRSTlPKbwtKnBWVoAAAAmFJREFUeNrt22uSmzAQBGACEWlAL2yv7n/UyJtU+k9YaxhZVFLqC3xl5FFTkj2M03BBpnGYPi7JNHxclGvh1Dh/4O+N0+EOd7jDHf7v4TXnEvhHToc73OEOd/ifgZ3zPqwXwPgV601z2Dn7217fBaftb7DJid4hx61vgR/bcgQ/E+yTTvXhx7J8BedEByDUhuflGCZtAZuqwrdl2Y5hxmd5rQjfl2WfX8D80KYavD/dlzDlUAnenu4rmHGUVXDK7n0ugikbPfz4dMtgyjadhjm+220WwsbCKuGZrgSOgFfB9+xmUgybAJhzMMdICHOZz8N05XAEwgmYYySEGQ8rhzlGYpgBogxmC95mDexhhTDHSAVHIInhG8dICjMWXgCzBdWwhxXAHCM1HAEBzBZUw8YiCmCOrxp28OXwY+MYaWEPVwSzBavBtgTm+NaCQxHMFqwGR6AMftDVwEwBzA2rNcw1bv2oKbeGuc7Nv9Wc5NYbCOXWWyZ3zTpwkNVioqyCASOA2VBaOMj6mLIW9nDFMENZ8c4VymFmpyyF+aRlMOVdAzs4MUz5PByBVQ7zLfc0zA8shynL4QCY0zALWg5bOPVRxBnYAUkBUxbCHojq46YsC2CevWhg1qQIjlxgBUz5JUzXJi3Mgi6Gg+XWoYBZ0IVw4Im1DmZNFsGeZ/RKmHIBHB3gKl+GbAWwB+dICzP7MUyWy6uHKX8FB/dkw3uu+PYDOHgHsq3uFi0+Y51pf5tqHS80W8EhmrVf1Xe4w+fhlNN/HtnhDne4wx1+F7w2zrX/8Bqucsdr4HEYx+lb80zj+BOr7HfkKh+2QAAAAABJRU5ErkJggg==",Xb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAQlBMVEXS0tLMzMzMzMz/srKLz/9Otf+u3v/58/P/AABww//M6v//f3//W1vf8v/v3d3/l5czqv//PDz/HBzMzMz/////qKgG8dBsAAAAA3RSTlMGbsyXV3DeAAACU0lEQVR4Xu3b2XKjMBCG0Tja2PGSef9XnQlflWtSHQe00LqI+t51SvgXCDV6+1eX94dqvV/etoLVpeu4yJdHlbow4PChWIEhC1dJ3uAP5aoGN7jBDW7wstSBAzd5fXh5PJYq8JFfNrjBDW5wg8f/4evVud76+Xw4TN1XmHJ2OBcOt07AT3s+D17u3fcw1Q+nwLgSHrx1T3o+AzbdVgL+rKdty8MrroQp3yO7uTA8dq/hr7QvCk/dzzA0F9wWgplGezDFoPtSMO5kzC48eOQyMNNoNHswskMuAJtP976afZjaZJsPb9rtjzkMI/tceN1cYyJgwj3nwSOxioJJmMuBw0SsIuHBMp2T4XAjVtEw83lOhZc7sUqAB+ZUGoyLGA1bhpwCG2KVBjOnbAq8EqtUmCEnwCOxSob5l300PBGrdJhg95FwuBGrHJi7SBSMO5k8mGs9RMBMo9FkwlxrHwGbO7HKhMl1fxw2xKoA7KPglViVgt1heCRXBWDSdRhGrgEj14CRa8DIWuGSstZ0krLWDUTKWrdMKWs9JKSs9ViUstZCQMpaSx8pay32pKy1vJWy1oJeylqvMFKOh13SS5uUtV5Tpaz7Yi7lfRg3fStCysdhn7X5IuWjsM/cbpLyHiy39vJh5COwLbmliEz9DHuHq7lfzXALbxsj78HWld8oR34Jw57SGkB+Cdv+el4zBFnCtnfXc9s/yPoNL+QaLT7kKk1N2cZ1Cm3c1qpvcIMVPp37DR8Lhnn5VR+ENrjBDW5wtUM41Y4dVTtoVe9oGbK+W+344F9DoeGDpbchngAAAABJRU5ErkJggg==",Jb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAA8FBMVEUAAADt8fPt8vTt8vTp7+/s8PP////t8fM5vU6F5OiUzfr/gYH/mprV9vfa7f253/yv7fD/09P/vLz/rKz/3NxEwVj1/PZdym5Wx2j5/fm46MCi4Kx/1Yx504eS2578/v0/v1O86cOs5LVqzno9v1Lq8PPg9ePW8trV8dmy5rqV3KBQxWP6/fv3/fjo+Ou1572l4a6h4KtjzHROxGH/iorF5Pz/9vb/19eb0PqN5una897O79TJ7c+b3qb/oKDl8/3V6/3i+PnS9fbs+e6e6ez/39/B68iK2Jdx0IBKw1207vH/6Oj/zs7/wcH/v7+G15PWBDHsAAAABnRSTlMA/uiyMHNa+bxxAAADA0lEQVRo3u2baXPaMBCGnUDAaUuPtIBvG8x9kwNaAs2dJj3//7/pSgwuGMsWg7CnZN8vYJD3GUnrd2XNSJKkdOowG6sOU2kJdHSQjV0HR9DfBLhATkupbCJKSWR+O5lY1SHzLBF8JmYRJoKDhGAEIxjBCEYwUwhGMIIRjOBtwYW6Vtb1slYvxAmu6aeyp1O9Fg9YHSiyT8pA3T2436asiuIalmW4SoVetvs7BjeKBJM3SgVvsktGXgYVG5uCf51w6PeI3qQ5gDhr2quh7OYZ/OxoG4K/vuHQA72nRXo7VAPmfUh63RIP/klvMcmI9oLD9cgcmKLBJ15/zS4rXtf0+swJfvgUKTrBGgS2wiJa0EATn9UNJ3Iooc9OQzi4CPPbDW/SJW1Eg/uQz72oRj3I7b5YsAp+NYxuNgQPU4WCB+AbHH6sgpMMhIKhLjR52jWhYogE12CGbXZtfrr03BNmucYJfheuC9JYl2WDGemuKOe9p8iQZZ18XjADVhfgz69CRcFQ90vM0WgTB59k5irByoCCmQF5wddkLKH+Fhjc+rNM9LQYdqjPpOn11uArEpydMtM85bqFpTSsw8dVNPhtuOy5TbvBXK1Cuea/3XZ3btg2M2B1g6wur+bWZOkPqm/0wsuusrDHSV+pS5aXaK05d+arUfpOwLYBmfZIv/2hWOigQDB7qE3CcqZgjybFOqT7OxlqX3JNHYq7LLiUm/dMaym5xID9j9NjhQIVyn2eBLh6XRDYbyAl2ZOy5svUQPjA39+H6nbdMpsLbvHOH9WzzFtmQO85/nIcqvuAIlGWfXYF8hWJe2ZAPjCoE1AWdZ9dZfxlsXO8PTgXtBCYgV2FLQRyHOBchG4Clz7WLHTpc8OOV/0/FnsbLG/3ZUGf0CtMki9t4l9TP3JovIsX8/PXHBrzbUWIB5//EL75AmAu8kj4dtP4A5fGo/ANtv3dUgzaRN3/beMXuUOPYAQjGMEIXheCEYxgBCMYwUwhGMEIRnAgOLFjR4kdtErsaFlih+kSOz74F7rcqD5hQQQSAAAAAElFTkSuQmCC",Wb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAclBMVEX////y8vLx8fHx8fHx8fHx8fHy8vLz8/Py8vJcv/NW2vPp9v275Pj////R6fiFw/OWzPV9nt+dxelitfDy8vJzvPGC4/aTruRDre9D1PEyye38AgNNs/BnjNhPdMj8GxzvAgNUuvJcgtL+t7dyltsqut9J2SO6AAAACXRSTlMBkJi8lZTWK49TBySPAAACwElEQVR4Xu3baW/iMBCAYbqlgM/c3PTe//8X1zNxmdQJLKsEj7T1G6R8fDQmDUTUM2i5WtS39fpaj22xWs58TwBEgrFfrftYx4brR3DndXy4nrv3twXMbR0OZmytt5ytPBsFJno1W/DAixm60WCSfxic4AQn+OPlcHj5YICd62QG+IAleDDNBJclC6w2hWWAwS0UA2yLotiYmDC5RRkfLgvIRoXJLVRkWG2Q/YSDOnV6h55dk8DkhuoJVC+/g3oX2CLZVdEk9k6wxnH/roI7LXxpVohUcCdf6uFZ6b316vQXV4EsqV3Us+/3gE1dnKjBFZ54YmrToorhlomz6viw0bDGGwbYWCefOGCUFQds6s9nri97xYYJNmV6kpjgoe0/f0zVfSAKnOcssMoEy8SqEUIxwFYI0Zj4sBauPD6cC0hHhckVKjKsMnGtt0sJrKpE1ZzLmqwtz3Jf6RqEVXPZ7KhHPPCEVfACFWnRCKJJvgbbKyipYW94AP5VU/Xkq7C+oHZdhIarHF4JLxNNcnkjHKpncQsHvuCAl5cRp6G7M5f/tNSkBm4373ubaBfRkHOzWy6uvknoftsP8W21dTKxJOdlMHEgZ302UK91Hvub3R2Z4LCsRRXDLROn1BwfEgDnDLCxbq0FB2yUOB4VB2xUc+T6spflTLBhmphKvzslWDPB6zULrNaSYWJ0pWKArZRybeLDWvLAGlhpo8NrianIsAIX7KCd3PXa7/Zf/XaNgdENSUTxRCSieJoGtn3Us5086M1JYB2wJAcqoZPDZFJkBup0Sz2s+iNYZHTHX1zfVTmghija0Og/p6Fhke7ldS+PvoG0asQbCMmQ5viQAHjNABvrYMkBGyV3e8UAg7z/KV/2KJ2eJNLvTpP9Q2iCE5zgBLNtSWHbhMO27Yhpo9UT29YybM6xmQ5bPsTcPviwBPMPvqhmqo4W0j0AAAAASUVORK5CYII=",Zb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAACdlBMVEUAAACNrN+Pr9+vyumNrN6WteERVcuNrd5P9NlS9NdK9Nzg+4bn/IJN89ri+4Vb9NLk+4NB8+ESV8tw9cag+KsT8fst8u028uhF899I890UWsvl/IRs9cip+KUX8fkZ8fgc8fYe8fUh8vMk8vIm8vAx8us48+Y98+NN9NpU9NZX9NRf9NAVZc4TX85k9c1p9coYYMqW+LCd+Ky0+aC2+Z65+Zy8+Zu++pnB+pjD+pfI+pTL+pLO+pHQ+o/V+4zY+4va+4nd+4gq8e6B9r2E97qR97On+Kes+aSv+aKx+aHS+o008uk68uQYcdASWcxm9cslbMZ19sR49sF+9r6k+Kku8etC8d9h9M529cJImMB89b+a967h+4Qd5vIp8u8z8ug76uEfnNobiNUVe9UupNQxpdI2b9EhbckeZ8kwgMZz9cN79sCI97iK97eN97XG+pXF+ZUfy+hi9c8rg8pQtMVn38RcycQ3gMJptbeM9bV/y7EZ7PYf3O4q7ewo6Owj4ewf1uwh1Osw8eoavOc78+U37eUiwuQXrOM55eE44uESneEz1+Apvd4SkN061twkrNs5zNoThdk3w9gekdYxrNMpnNMTctMji9IaetITatEVaM9n9cwbZctItMk4l8koeclr7cZv88U+mMUyesNnzL9atL5Bhr513rxQmLtyzLhep7eO7LKI1a6P4K2U5aue9Kqc7aqf5aUfzOgit+AhtuA63t8vzN863d4uy94hqt0gqt01t9Y1uNUdfNEdfdBb38s9pctX0cll5cdTxcdEpsc+lsVh0sNw5sF06sB867xhtLqD7LiB37V3yLSD37NyuLGs86LT+o7ZXTPtAAAABnRSTlMA6LIw/XONDFd4AAADl0lEQVRo3u3bZ1cTQRQG4NAuiCJkgQABbBBBTSBg70qxIZCAIATp0gVFOnYEu1ixgCC9SrP33rv/yJmYEwObReJydj4w7x94zp2Znbk754xIJLIwN7MWNGbmFiIUK2vhY2mF6rW0JhBLC5G5NZGYi/D8ZoKgycTzLMI8CBxsUthYKExhClOYwhTmDIUpTGEKU5jCnKHwWMm4TAbOsLF7wpCAp9jY2V6UEoLdzitIwL62bq61cjIVu4of1JOpWCw+EU6k4lixT8o14eE6VLFPdU2a4EMNV1HFW+e6XBK6YoBnKRgOSxUchvCTCE6WPTYVnuYwfer6dWvXbFm9auWK3cuXLV2yeNHCzZs2lnPshtLGSL+9C+zt58/TwSA/jSqWxdxlTITdDeA9f2HPSiUYyY1X/pF+20fAoLjvklwlkRyLMBHeYRze0K8CVm6+9jCAfXeCNhFnwmSSoKRCBf+hxvC2oTIYlaYWRw//Bv1QI1eXc1UxkiDvI3ITKwZWuj0R7BQYP3J6i3MdEfyiCNhJlSDYa/910yoGdsqGEOwU+JkxmN73cbmOHs0vjZ+EaQeSvL3mJF4xaXGBkaj6MZzQo9RP74eoOLXjm2zgSPpBBM9OTOdVMY6yEsMBX3VL7J1GE6UuKQLuhB9C8Kx9F/jCwJRjOKAvB3CCo/Pi3o7db8gPI3jmjLM8Fpcu8QkIDq2I/wOXZsM/oijEsPMpfhXjlPUhOLSgg4HxJeIohp35w6D6juCK/HYljDPHJwgGZQ+qOH9XV5bQMDAdBQgO+ZQz4UPtzgWrvjkFapdYBYJDolsBBFlc0t5Bp0AtDDlfEBysKWYAxvc58YE7B9CWOajbq7O6EBydV6oE4L2BjD3Uqkp8Og206ZdYezCCo0rwEuO9ZXJvINLen/hYvJVtsMSKMaxu1m+Z/A8J9lB3DmvP4/KR+2OrRoMOiZYmDjc1Rncs8u1APLthVHI+RqnxeYw7EHYjIJNoGwHeHchwG7CSVYLPYwzrmz1965MsiwlKuq34n2bvlyGMp5cdZakaV8xu9h664J7L1GbPgd1l/pBy7GKNGG5A8Oj2FlV8hxH0FwY39NW4r34k9J/Ec90vzGT5aatzxXBNGomrCBI/5r4IjiV1FSG+Vw9E4Fr5ZLpgI3SlmGHj+5SZVNfGk/CGnsIUpvCYoTCFKUxhClOYMxSmMIUpbBQm9uyI2EMrck/LRFYEZPSYjtjzwd8dukIb//ESzgAAAABJRU5ErkJggg==",qb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAMFBMVEX////v9/va4ea63vSb4O5gv+VdyuR32OjT7PhZ1uN6dep3f+lzi+mcu+9pruZxm+jQ03jSAAACFElEQVR42u3bUW/rIAyG4c+DJO4a4P//2xMbNqamW9eDii/mNxdVrx4RodRFCo7obXIE7c0gI1dlsoEJ7WNipCSmuyo3GJNz2GGHHXbYYYcddthhhx12+E/BIdrAYVmiCbwcRSN4XTYygEVeNzJZsa7ZBj6i+XCTeS4sbFg1nr5isMKXMBle0eXJKwZoWy+HHJ+F3z+6frZLCd8Uc17yoq0LVD7cLj8Pf9B7kwl3olTdFrRNbrbIz8PKdlfpckdmZT/pgFqUJV82Glmx2i3GTSFLynZXZYFFfg7GqSAr3svNXk3VZZwLTR6Fwftpi1F1A+7GF41GYVCRJZe+xVhZ+f6jzKMwKO1KNymoy/g+2qo8BGtJ4cKQSi56lx/LYRhGKFqocCI8qsnDMLjKCb8tqjwOg5pMT8jjsJZUzjQdVjmXwvNuNaW9tC32eEtrNLq5+lMTElc5/dodgbmIG6BRrjIBL36AUNrF5f69ZEnkVz4y0369nQRSVpohvehHgsu92SdUOaA3/rOoXXvingQW99EgMDKB7HLtjFN0ktcvo4+6AzOXdB70WqmzLaANuMcVx6fMH0bbJueb8VYGa4OBvg63U2GrvzCruFLAZDjU9bLBGchi8sdcLqOjiHrsY7FicS1WbHXAFv/UISpC9BN6hx122GGHHXbYYYcddthhh/8z45dw5stK2r1oBRvY7mU6s9cH/wEmsDDfLZf3HAAAAABJRU5ErkJggg==",_b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAOVBMVEX////h6Ozh6Ozh5+3i5+vh5+v/w8Ph5+v/lJT/6ur////m9P6v2vwpnPaUzfr/UlLL5/5UsPj/fn4yO/GHAAAABnRSTlMBlL0rj9UQ3sh9AAABTUlEQVR4Xu3by26DMBCFYRLD+MI97/+wrR1XB4EEklvGqXT+FbD5ZDDeTRMzbWfV6lrT5B5WucfbfVr1nliv/ppNAoJefQJN08LVKopt08HVlLvG1oHtv4EJEyZMmDBhwoQJEyZMmDBhwtM54O6C1/Ecnl+3wP06XsHzy/89vKzjrmTt82VwP303QMOTBeApPEsE3GuTc+KL4WG8gJEARuJ1YeS88qtGvgjOmyvkplgUEhBy2FyAkSuEQ79ewfid3HaJXt6ylMCp9QrOV4BzPt27YjhM57ALOxgyvnIJjI4wArx/IBVg+Wh4WjYNeq/62O9hweZShT1OEBU4JzhAdGCEBatsrqOr8DsdXV8HlhD0YPeTgNU+uRRgwoQJK0X4lggTJkyYMGHChAkTJkyYMGHChAlXG0mpN4RjbKxXdq2pNWhVa7Ss4jBdtfHBL61tMZs83wf1AAAAAElFTkSuQmCC",$b="data:image/png;base64,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",eE="data:image/png;base64,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",tE="data:image/png;base64,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",nE="data:image/png;base64,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",rE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAkFBMVEVHcEz////q7+/t8PLs8PLs7u/t8fP////z8/Pu8vTs8PP6+vrV1dWJiYlSU05AQj5nZ2ekpKTj4+PLy8vExMR5fHQAAACpqakkKTS+vr63t7eampokIiELCAkXFBOwsLBYMiiuh1H+ynvermr8f3+GTz+iu3nN7JnQZmZBfbhNk9cvXotZqfc2OWOobeBxSZca72qiAAAAC3RSTlMAAjGP1Pz/////s3DVIcUAAAUmSURBVHgB7M/BlQMxCARRVohCDPnnuzJBtH2Yen3/r83+zJbvQFRsXxedOXkKUXUSH9aeJBAW5GM3zw9bqoZON1vcqlNWj73mcKW0msv7QKe0hrMtClIcVBhQehi+AtcLv/AL/xzcUrhv4sf/7ZsHU/MwDIZvhfTO2ePtkkSb7kH5///uKys4uOSLnY4bvEyxHmTLspJYb7wgjOI4SbPzp4O8yDN1H4+9Ep8aBuEIAJLxbcHBZBoO8yACETMLAQCECEDp3Q6c1Y4SPsQixB9wRINbgXNAiISIBaYI4bAsh7nqCzYCKgAILSK8K8qv7LGK2rmAkAgRMLweWAWT5xCCLhLC5FrgPALQkQswI/PVNcBTgIgEXUVIr+LxFCSwESOe5IPe4AAESzGAUTroCS4hsCYTAVHWA6z8DAwXMSF+6uPxGARXcugOft97XCXIHMFqij4iPLuBVQkiuEtQuoFTjMyk1GKCf4ITJ3AGMf8wt5mGOPUcwM9mPM8IrIFo1jAlNsCgwBqsEgh0CebV4hvFmC2XK40s680abOzRgTU4Av8AL6pqDqnN7XK5rU1GtNlsxCSPnvqDV9WCdI+3DY+x3pTmRBOGtnOcQIwZQ3NSqWGCYIoRKSuwmpr/vbRHNYMvgZHZgNXFSofbbYYpFuQ24CFGuI7swHryMAdRIE1HuWGepVkgm6E2kwe31hvg383IIqpVs+yQ3f7w/bcY88VcN1fbrQ6K1+tYIwtSC3DU+M3D8bjX129VVTPN3uoZTLDebNYQfWLGbmDGy/G400CyqBYAdPBMA5ebTamDGeR1BicQ6OQX6CatRB9qrGbNSY3ARkHgHFw6uX0FM4xcm6jOy4nALQWAsF19EHcGeyMw3GUPbq/iWQS6RLjF1Ge9KzgHoZvYmHpTgrBrcE0vgRmj3aHxp+dzaiaS2UUyoWgDm8vYAO+Ox2+yYK4XJO+V0BaGjKBuBceXwOIIJjNz2YFhPdT2HieQlsRhG1yEvGtwDUG4pPblxLpp1ntdwBkE15OgbAEbLlvkRCODuoP9Rq3H/TYJwrQ7eAL6fVscHRrbIv/YFmeaaa6ndrCKIBr3dHr9tiH74/7XSyrB6lyQuBYC/kBbyYLX0+kE/nb4eDyONHtRVSvzkqrWSK8D7LZFeT296GN70Gs/wWoxhz7S20YiIZSqO1jFZmpo2u3X56xvTd2vnYyii7nB+mEKi1nQ62nLwmO96LKXEdIWYI/cL9rswboKiMDkcFdTBysbsD8BxChBGKyZMmqYmHXYmgywqSABN7nn9ayv35f9sbE/L6o52KwwB5Zg9bPkE5z0DPZekOy0CmRVVZWAzduKXcHaNJPh8cvvHovpMRMSZQ8OjMAeEVif8uYc8wxNMAPJk28PHsTgPlHNkFQ53TaegnqsY0HiOd6v9gCBswhD5zv0OUDsDh47g/2cAXFDM8RzB/veNIabRkj7PXdSubj4O0IycATXSmCJFiLUId0DXICsn/BRqvzeYJVYkQXlpPCu8vzYi0HCZ+G/qvejq4Drcx/cKZonvuoPrkO7jJn+T2YhhNc+nJB5AYRbY5kYCNVVweqr9pTfLoU/4i/Jb3PkZvjhGAGQenT5LBKExbjIbnbIKPgIMwrpI9CF8Kn01qebsvF4XHh+EOFDcRKP4mia+b7y1V0OkhVhHMfJs+crb6DucZBMnV9dD7H9nVJ00B/4D/wH/gM/rEHjYS0pD2vCeVjbUd1odbdWq69Gqwe1lt2/me6pbqZ7UPvgP+ljy23nqL7TAAAAAElFTkSuQmCC",aE="data:image/png;base64,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",iE="data:image/png;base64,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",oE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAXVBMVEVHcEwrK0M0N082OVQ4OlZCRWZxc4xEWXdJg55U2OBNn7BRwMtIcotCr/5AhLtBk9FBo+s3X5JCbKhpbb13eteIg+yVi/5iV5lUU46LSoinR4faRZHsRZTERo52RXTP84y8AAAABHRSTlMAJWjDIlyQNAAABQpJREFUeAHs0sEOAiEMhGGg4Hbavv/zSgJZE29IsuOB/6K3+WBJo1ykPpqUnD5lqYTkJpRKqpD3pyCP/+3hxmruACHM3wSZF9AojSsoXEBJwtofAkmVC6gTcAAHcACvXmvP/v4XgNEBHMABHMBFBiiUCjAARMDlgBMBAbiG0QAKePT2AAo3vX78/BbbAMWoK2KN4WN/ExCAqblPxdrz09gGxH0KNXPA1p7fKiDi+xhzf6ZAvEkpoyXHdRCIPoZrF4D9/x97rdneKS3JcVTlfpqaWOoDDVqz3zV+CwDNrrdR10jXWC3MgV32Al8GkN3gRv+h/esYvC7IyX4VQHb2T8zdf+iarPc1/bshst9lvwbQ7LbRBPDXGLyavzQ49v80ewCwGftv2ho1Qf/oGoR789/Mtt9F3cYZBBh4X/x/mwD+I4StPXbS4NCf2IGdEGy2s/EZ+GsXm38TAlzV/SwovzfS1gYZdhH9GWBCIH81gW/WLio2kBkBjAoawgsLwRAM/SX3IAAhjG19wXuzQPC69093LyMABSEK9r8N4dY/3KPcEwAU0gUhsRMTDH9UeRxHuHsggDQo+CaW3Z5Kr+PSmcoBAB5pu/E39/P40Z8cAgGeiwOQ0i+tA3wJI3LFXwFIZ3ktA5R7VWaYUWsdEVoAk+JYBLDySfmJb3wRX6vIo2kNwGq07jwjskoEvbWjoV6xHgACgP8U3Vup4X5qsMvWA1gFMG/k4W7tg5h2y1YCAADw7wfT3eDmwGkMlQEASemF/BtBYbQpAgoAANxjyV8qrzYAfUY4AOjAZ4JUvB8Isg/AHENwAACgU0v+KjOxsnA3vAgAPnIXHVOjYbc1pXQRALwThPd038sM+CTnB8EKvmoAjSDdC/1VZmBl5TX500UNYCYw7tpEoBUBAnjHEEAEUD6Y3P2YvMcEIAIrOtUkSN4TGn8AEEFw+SggIH8AEIHKf6xw3iMGONpmPVFQJwFAiufOi1cBwP+iKxh1AICdekuPEIShALwHAoaEwf0vs6LVUwmm9/vkpZ3hI+cPMt4Bd8CvANwBIRDFlGIkCnbV2xQTDddeDohL8HSuBvGz6emeaONbDwo9YNg1bZEpEhG3ifbOjiGkw7nU8k/oZsIkiwKAaaJBfiLmfC4mSquha4z+ibCH094YPMpM+yjxAJARtHzOw+KRAf1PFZ8+BprQc1McgGwE0eRbQzobIvqj8BhCw3Q8AA4BmqGXew50OT4eQ9hun10HoBOQyXcNAePb4tg6t/E5O4CTgIB1i3dDGo+Px2DHtwAIgptvimIjsAc16wYAgZPvGMhfZ7NuABAEXNZPLAOAICH/SwG4Lyl/IyDT5+Uzi4iq+IBM/AnZWsoNpWwBn1qypZdSa1VtH6p8IYB1yZYZJbVplD8dgPF17urxGMrnA7h245+O4fZOgDBnv+Rmxkdp0ZcBROsyxehscbfkavw6e/UsgEUfY0BAfMGPayTUdtXmdwCkbr1r1VkLMrbZ0FxE23LlLt6M7wD04oRL1f0GKQiIR3WE9aPMLwa0hmb6YYZk1vHNWr8G3tx9F6AFb8jxiCBcHu2KFifeAbTd+xtyPCLGdI5WGrAA/3IA3pDy3O1RdzZ14l0AtmPEt5U68R4AhCLzlxUAKMR/KeDr6w4A4GHMA+sAZvCGR9aBsZ8VvOGRceDiALrrlRlED5T9zPBtv6z0D39wAAz0xueB3/o98JvfB3z7PwAuR32KFEooSwAAAABJRU5ErkJggg==",lE="data:image/png;base64,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",sE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAPFBMVEVHcEzP1dvQ1tbO1NnO1NnQ0NmiqKv29/fIy83O1NlSXGOBiY7p6+xye4CRmJzd4OG0uLtibHJHUln///8YRa/yAAAABnRSTlMAKiySzgZNvhPZAAADfUlEQVR4Xu2bi26jMBBF2yad8fv5//+6i+lgGMKuZFPYan1VqU49yfEF39ik4W3S++MpL9Pz8f426/MhL9bjs3Cf8nI9J/JD3qDH7/NbGj5fJl+A77PhfKlmy0/ye63n5xsZvtryfw2Wf9Cr/p8FHuARp5FjHqmfBR7gEaeR44YFpOhO8ACPOI0cZ5IBq1JSUYMpANBFuPTrIigAT8XBdIKNTlVW5JzF3AYCzwXK82Ite8BepY20ydnNzYm0HYfkxdgMNioxhZwxzvYnLD2IB8WtcXKcq8kkvSxU+5pzXXOccPbgDBof7GQM16cVF5cwGU5LsQRLh6QN7FMRPbLKbwdUXNJ4ZGkqMmSVaQdLMkHonDczytPv9SxDykNHnMySIxCYq8ipjatz6VlxV45jqorg2dmnji/MOgEWTBc4pI1sRYsKoUAAC4DvAGd3mEzNQ7PPk+hZJII6eDGj6oEmASuWHeCMwa7BsQ7phS0DcQ22ncsiCrCLF7NAKORbmXUxtoPl0tDk8BCMNeeWAt46uSBBJqm/gV2de9gJllNMA1KAjg81FUSxKcZGMMYZZh04S5OLg9k0V7oW29Yc67RTOATbfbFojZNQ+/X4EBzUeetxNsyzw2Nw9nbH7cixcZFv345zLN3iWmnfva82IgBAkGyKoilixZ4VN8XpfN0PHmAu9EUvnxjAwevdFZa+ILEdLA6WVV9zYwN/jqY+5cy5YNRprSjz4bsInAn2MTGF4zdZjQ1x4mB2AcnIVM/JZ4GR/Crt9OJd0phqH7XDSWD4wgYs9Ztl2lJfGSGUNphzwKhmrmETTdRLrUgoqSq2O06B75gxLqfS0ZhI8sQ4uYOhKLrSYsvwaeC4i6enTSCuDoYHCPTTDeZ7XBLxDI2A5eqcOKnqiv/Jr7a04XRwrNnke3dDjW9xrPkEIgaS9fA9jqFQFPKhxE0rSz2JwB1x4nNY82DDtlmEZ4KzpVWHuPVdA9V29y16wRFIZrGclBNSQEzVZT2zEYQXYFMvuEqSRyZbz/dOqjVOHJxhz8W6ZHBFfxo4B3V8RQVn7kA4OBvHPz2v8pr1NYG928oQAIOOKqlowWcu89WnwY//wrSCx/dA/l7/r4EH+FgjTuN7IJeBB3jEaYDHt40H+Ps0wFjAd92Sct9NOB8X33aEvgA/7rrR6rZby+67me6O2wc/JuYvqUaK5aX5ihcAAAAASUVORK5CYII=",cE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAbFBMVEXa2tra2tra2tra2tra2tra2tr////a2toAwP/Z8v//5sz/gQD/gAC6z9rryK4Apdz2bACi4v//8eL/vnf1/P/7+ff/jwP/0J3k9v8Aw///qkp11f9bzv9Byf8exf//nSrD6/+Q3P//5Md21f9CFRjSAAAABnRSTlMCzPZuG2+a9LtCAAAB2klEQVR42u3b246CMBCAYUGtdeseoIAcXDzs+7/jDnAxIbpJZ0tmopn/GvMFZICk6QpaJ+mOsTRZr4Y2yY69ZAMwuAIyXOedSOvphEvDWDmdcooup5yuBt4wN5gKK6ywwgorrLDCChPLrL1ywuhCXUGDPyE7q+lqImzHTn/JeesOs76gexjqazoMfdePXWADYdtR4al+bx7UHsLhhg5/j7+7mPvcY/gd2s+yEB0uTnYoM3cN1NusD2gx2BTdKF8XgjMbGBx7tThWETDNtXj0qVgADjLxv700OFYcMN5T+x7HKho2lGocK17Y4FjJw/KXWv7mkh8n+QeI/COTUDbBxc8iLwmSLPpaxDFihnGM+GEYIxEYxkgEhjESgWGMWGFM4deAvXNeAC5bB3l2OD+7MW44r5wIfANXAj6OZsUKo3vOuWE/um1p2GAco2mOXGA+GsYxOhoC7Hw8nFfoGh8sR8E4RtXNTHkWGMcoN5SiYRwj8xyw3KWWv7nkx0n+ASL/yKS/JJwXei36l/8QwLES/th78s9bymJI2f4Ldof45R9PgunLP31t4qMveDVdhBu8xKfrxworrLDCCiussMIKK6wwHRbbhCO27Uhso5XU1jLBzXTQlnv74BbQX+nYnnoY7CMgAAAAAElFTkSuQmCC",uE="data:image/png;base64,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",AE="data:image/png;base64,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",dE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAALVBMVEXk5OTa2trZ2dn////a2toAfd6izPLvzPnRfvDZteWKr84Aar6zas3j7vxXp+ldDjCnAAAAA3RSTlMGy258//q2AAABGElEQVR42u3b0Q6CMAyFYWBsgtq+/+PaUM1c4sUuyk7U819DPjAKM80ma5nXoc3LdOTsWBrjuryskBa/4TQ0v2V3x8uECRMmTJgwYcKECZ8A36zcphLryL613a0X3CahrlG9sEbCex/sRcLbZ/hqlaYz4EvTbhEmTJgwYcInw3aOIuDjFAXAdamGgC1BwVlQcC7jYVGXh8MpuaxBcMmdpSoHwP1urkerBMDdbnm/ThkDu+vJUw6BU3dVLsPhJFplOIz/qPFfLvzPCf8AwT8y+ys5+CXRL0Nfi175s6WP/M/yFrmgV/5bJEyY8M/DgGEIZvyDH3jBRnwc4xImTJgwYcKECRMmTPiLYNi2I9hGK9zWMpMhLmz74AMqR94PQgY3hQAAAABJRU5ErkJggg==",pE="data:image/png;base64,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",fE="data:image/png;base64,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",gE="data:image/png;base64,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",mE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAKlBMVEX////a4eaaM2z9rRr8iRL9sSz/8dvv7vL+w2T+4LfQoLu2a5SjRnr+0ITFZin+AAABwklEQVR42u3b62rDMAwFYHu2fE3e/3UXnAyFpIScIazBdH6F1vSrXVkJBbuR7CcmD5LZ+bRXCM9XYc7HxbTkY8qZ2Uk5SK8D+wG7yTHYYIP/F5wKUUnAGCE4UdhCCRgjA5cwUtwplag+jJGBKYzQ5TV6GKMAay21WnFpbSfrXAAMLBr8A91hvEyQknyG8Y2Bb8I7jLcCvO3ow/pLjRdXXSluobXixYVvJ2YpcqrEdnqwCgXav3waLOfn1bApVbhz1b1O1nEdbxnculdSlYRXrpLdvctcS6sQzG5I23WKHzPeCiyLwPX8gfQZptOUQxWCiSfMC31NPU2Z7H5s8Dv46xcx2OC/DTfcbSKw66jbpRpIR10pOHfIzWKwy8t7d8kOg3EZd3HY+eWl66XvTv4d7OVviw3dwDiMy+zKwizjLg7jjaQ7aZhl1MVhvIX1LAHjjWRhF4ZxGXdxmFsY0LBQGG9hfsYDfQM2MAAjMrtzYHeFncEGG2ywwQYbPB1uwHMAAKNys39vDTbYYDCpxFjSfDjFkTQdLjtcpsPxiBqsttRqxaW1naxzGWywwQqw2pGUrANnrWNHegetlGTFw3Rqxwe/AXAEHeeJRtDQAAAAAElFTkSuQmCC",hE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAA8FBMVEUAAADt8fPt8vTt8vTp7+/s8PP////t8fM5vU6F5OiUzfr/gYH/mprV9vfa7f253/yv7fD/09P/vLz/rKz/3NxEwVj1/PZdym5Wx2j5/fm46MCi4Kx/1Yx504eS2578/v0/v1O86cOs5LVqzno9v1Lq8PPg9ePW8trV8dmy5rqV3KBQxWP6/fv3/fjo+Ou1572l4a6h4KtjzHROxGH/iorF5Pz/9vb/19eb0PqN5una897O79TJ7c+b3qb/oKDl8/3V6/3i+PnS9fbs+e6e6ez/39/B68iK2Jdx0IBKw1207vH/6Oj/zs7/wcH/v7+G15PWBDHsAAAABnRSTlMA/uiyMHNa+bxxAAADA0lEQVRo3u2baXPaMBCGnUDAaUuPtIBvG8x9kwNaAs2dJj3//7/pSgwuGMsWg7CnZN8vYJD3GUnrd2XNSJKkdOowG6sOU2kJdHSQjV0HR9DfBLhATkupbCJKSWR+O5lY1SHzLBF8JmYRJoKDhGAEIxjBCEYwUwhGMIIRjOBtwYW6Vtb1slYvxAmu6aeyp1O9Fg9YHSiyT8pA3T2436asiuIalmW4SoVetvs7BjeKBJM3SgVvsktGXgYVG5uCf51w6PeI3qQ5gDhr2quh7OYZ/OxoG4K/vuHQA72nRXo7VAPmfUh63RIP/klvMcmI9oLD9cgcmKLBJ15/zS4rXtf0+swJfvgUKTrBGgS2wiJa0EATn9UNJ3Iooc9OQzi4CPPbDW/SJW1Eg/uQz72oRj3I7b5YsAp+NYxuNgQPU4WCB+AbHH6sgpMMhIKhLjR52jWhYogE12CGbXZtfrr03BNmucYJfheuC9JYl2WDGemuKOe9p8iQZZ18XjADVhfgz69CRcFQ90vM0WgTB59k5irByoCCmQF5wddkLKH+Fhjc+rNM9LQYdqjPpOn11uArEpydMtM85bqFpTSsw8dVNPhtuOy5TbvBXK1Cuea/3XZ3btg2M2B1g6wur+bWZOkPqm/0wsuusrDHSV+pS5aXaK05d+arUfpOwLYBmfZIv/2hWOigQDB7qE3CcqZgjybFOqT7OxlqX3JNHYq7LLiUm/dMaym5xID9j9NjhQIVyn2eBLh6XRDYbyAl2ZOy5svUQPjA39+H6nbdMpsLbvHOH9WzzFtmQO85/nIcqvuAIlGWfXYF8hWJe2ZAPjCoE1AWdZ9dZfxlsXO8PTgXtBCYgV2FLQRyHOBchG4Clz7WLHTpc8OOV/0/FnsbLG/3ZUGf0CtMki9t4l9TP3JovIsX8/PXHBrzbUWIB5//EL75AmAu8kj4dtP4A5fGo/ANtv3dUgzaRN3/beMXuUOPYAQjGMEIXheCEYxgBCMYwUwhGMEIRnAgOLFjR4kdtErsaFlih+kSOz74F7rcqD5hQQQSAAAAAElFTkSuQmCC",yE="data:image/png;base64,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",bE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAKlBMVEVuv+pxpsuixNqhxNq01OeArc+PvNzZ6fP+//9emsNpp9A9iblFk8Q9ibrLJXqlAAAADnRSTlMBL6D/////////////oNaeoRwAAAJeSURBVHja7deNcuMgDARgu1pYlTbv/7pHAEe+uON6Jo41c6dNmwJDRl/k/NDpnvlDHPIxTyOtvAvB6nsJrL6fYO4jXB5pmXsD4JLeguaAn6ABEIAABCAAAQhAAAIQgAAEIACegFSTnZJqXgEIqKokfABCXUJxAIiug8sB0BaSJrgU0MuvLLgWQK2R9YyXAuTpOdv0IgDsKdv8SgDtAtjClQCtyc4Ablvi3QHxeQ2YyP1d4PM5YFPx+ySU+4ze3wVyMUCevg3F+TwgHkcy6hI6nQlp9X0AGAA4Aews5AbguwECiF8HQK1x6wC0BU4A2BvMAwDqCM4FCOQIgPoIIHu3vpMigv1f1LDt/h0AfWuwAXzWFIvoe5PLKvfaBjCBL6Ak2vad19P9B72r8nfQbxCsMw4OZQ+wbUIqu+kAKUcjyLsACwYAZTdiXT2cfYAFR1qQbc9pAEs/65a9pPcALFlQdtMA5WzA8fgD7Cr9hwBLAAIQgAAEIAAB+NcBmSQofSIoY0AirdaEuc8wdiYZjz4FQB3FwLFKpWp6rEEXGTEAKk2np1wCRXkAbKCyDFGHG4DKaQBoegYQKwBVNtakVDkJkBRlAyA4WGj/nG07kKFyBPBV870b8DGUZQgl01hThW2m9L+fWuqmnPV7J/favwOK5q2FWKGyyk+AxjwBQNrYOoD1mgnWgNad1wFZCSL/1AFbM8EK0HSvAwAQCyAtdUVMiHZXxvY8AGNBjgHemAAEIAABCEAAAhCAAATgV8DNBB71b9P85SVoheeptsAxt6nm5lrfBC71R2YXwm2eav4AwjXv2I6cFtEAAAAASUVORK5CYII=",EE={"proxy-cache-advanced":"proxy-cache","graphql-proxy-cache-advanced":"graphql","pre-function":"kong-function","post-function":"kong-function","konnect-application-auth":"application-registration","header-cert-auth":"tls-metadata-headers","upstream-oauth":"oauth2"},il=e=>{const n=EE[e]||e||"missing",r=new URL(Object.assign({"../assets/acl.png":wy,"../assets/acme.png":Cy,"../assets/ai-aws-guardrails.png":By,"../assets/ai-azure-content-safety.png":Iy,"../assets/ai-data-sanitization.png":vy,"../assets/ai-prompt-compressor.png":Py,"../assets/ai-prompt-decorator.png":ky,"../assets/ai-prompt-guard.png":Oy,"../assets/ai-prompt-template.png":Ry,"../assets/ai-proxy-advanced.png":Sy,"../assets/ai-proxy.png":xy,"../assets/ai-rag-injector.png":Ty,"../assets/ai-rate-limiting-advanced.png":My,"../assets/ai-request-transformer.png":Dy,"../assets/ai-response-transformer.png":Ny,"../assets/ai-sanitizer.png":Gy,"../assets/ai-semantic-cache.png":Ly,"../assets/ai-semantic-prompt-guard.png":Uy,"../assets/app-dynamics.png":Fy,"../assets/application-registration.png":Hy,"../assets/aws-lambda.png":Yy,"../assets/azure-functions.png":Vy,"../assets/basic-auth.png":jy,"../assets/bot-detection.png":Ky,"../assets/canary.png":Qy,"../assets/collector.png":zy,"../assets/confluent-consume.png":Xy,"../assets/confluent.png":Jy,"../assets/correlation-id.png":Wy,"../assets/cors.png":Zy,"../assets/datadog.png":qy,"../assets/datakit.png":_y,"../assets/degraphql.png":$y,"../assets/dynamic-ssl.png":eb,"../assets/exit-transformer.png":tb,"../assets/file-log.png":nb,"../assets/forward-proxy.png":rb,"../assets/graphql-rate-limiting-advanced.png":ab,"../assets/graphql.png":ib,"../assets/grpc-gateway.png":ob,"../assets/grpc-web.png":lb,"../assets/hmac-auth.png":sb,"../assets/http-log.png":cb,"../assets/injection-protection.png":ub,"../assets/ip-restriction.png":Ab,"../assets/jq.png":db,"../assets/json-threat-protection.png":pb,"../assets/jwe-decrypt.png":fb,"../assets/jwt-signer.png":gb,"../assets/jwt.png":mb,"../assets/kafka-consume.png":hb,"../assets/kafka-log.png":yb,"../assets/kafka-upstream.png":bb,"../assets/key-auth-enc.png":Eb,"../assets/key-auth.png":wb,"../assets/kong-function.png":Cb,"../assets/kubernetes-sidecar-injector.png":Bb,"../assets/ldap-auth-advanced.png":Ib,"../assets/ldap-auth.png":vb,"../assets/loggly.png":Pb,"../assets/missing.png":kb,"../assets/mocking.png":Ob,"../assets/mtls-auth.png":Rb,"../assets/new.png":Sb,"../assets/oas-validation.png":xb,"../assets/oauth2-introspection.png":Tb,"../assets/oauth2.png":Mb,"../assets/opa.png":Db,"../assets/openid-connect.png":Nb,"../assets/opentelemetry.png":Gb,"../assets/openwhisk.png":Lb,"../assets/prometheus.png":Ub,"../assets/proxy-cache.png":Fb,"../assets/rate-limiting-advanced.png":Hb,"../assets/rate-limiting.png":Yb,"../assets/redirect.png":Vb,"../assets/request-callout.png":jb,"../assets/request-size-limiting.png":Kb,"../assets/request-termination.png":Qb,"../assets/request-transformer-advanced.png":zb,"../assets/request-transformer.png":Xb,"../assets/request-validator.png":Jb,"../assets/response-ratelimiting.png":Wb,"../assets/response-transformer-advanced.png":Zb,"../assets/response-transformer.png":qb,"../assets/route-by-header.png":_b,"../assets/route-transformer-advanced.png":$b,"../assets/runscope.png":eE,"../assets/saml.png":tE,"../assets/service-protection.png":nE,"../assets/session.png":rE,"../assets/solace-upstream.png":aE,"../assets/standard-webhooks.png":iE,"../assets/statsd-advanced.png":oE,"../assets/statsd.png":lE,"../assets/syslog.png":sE,"../assets/tcp-log.png":cE,"../assets/tls-handshake-modifier.png":uE,"../assets/tls-metadata-headers.png":AE,"../assets/udp-log.png":dE,"../assets/upstream-timeout.png":pE,"../assets/upstream-tls.png":fE,"../assets/vault-auth.png":gE,"../assets/websocket-size-limit.png":mE,"../assets/websocket-validator.png":hE,"../assets/xml-threat-protection.png":yE,"../assets/zipkin.png":bE})[`../assets/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:qe&&qe.tagName.toUpperCase()==="SCRIPT"&&qe.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;return r.includes("undefined")?new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:qe&&qe.tagName.toUpperCase()==="SCRIPT"&&qe.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:r},wE=["alt","height","src","width"],Ln=t.defineComponent({__name:"PluginIcon",props:{name:{},size:{default:32},alt:{default:""}},setup(e){const n=t.useTemplateRef("img"),r=t.computed(()=>il(e.name)),a=()=>{const i=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:qe&&qe.tagName.toUpperCase()==="SCRIPT"&&qe.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;n.value&&n.value.src!==i&&(n.value.src=i)};return(i,o)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:n,alt:i.alt,height:i.size,src:r.value,width:i.size,onError:a},null,40,wE))}}),CE={class:"kong-ui-entities-plugins-list"},BE={class:"button-row"},IE={class:"empty-state-icon-gateway"},vE={class:"name-cell-wrapper"},PE={class:"info-wrapper"},kE={key:0,class:"info-name"},OE={key:1,class:"info-name"},RE={key:2,class:"info-type"},SE={key:1},xE=ce(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 rt,Ye;const r=ve.usePluginMetaData(),a=n,i=e,{i18n:{t:o}}=ve.useI18n(),l=Yt.useRouter(),{axiosInstance:s}=L.useAxios((rt=i.config)==null?void 0:rt.axiosRequestConfig),{hasRecords:u,handleStateChange:d}=L.useTableState(()=>U.value),A=t.computed(()=>u.value&&i.config.app==="konnect"),c=t.computed(()=>!i.enableV2EmptyStates&&i.config.app==="konnect"),p=t.computed(()=>!!i.config.entityId),f=t.computed(()=>{var K;return((K=i.config)==null?void 0:K.entityType)==="consumers"}),E=t.computed(()=>{var K;return((K=i.config)==null?void 0:K.entityType)==="consumer_groups"}),y=i.config.app==="konnect"||L.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),C={name:{label:o("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Ye=i.config)!=null&&Ye.entityId||(C.appliedTo={label:o("plugins.list.table_headers.applied_to"),sortable:!1}),C.enabled={label:o("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(C.ordering={label:o("plugins.list.table_headers.ordering"),sortable:!0}),C.tags={label:o("plugins.list.table_headers.tags"),sortable:!1};const I=C,x=t.computed(()=>{var _,k,G,v;let K=i.config.entityType?`${i.config.apiBaseUrl}${Pe.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Pe.list[i.config.app].all}`;return i.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,((_=i.config)==null?void 0:_.controlPlaneId)||""):i.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,(k=i.config)!=null&&k.workspace?`/${i.config.workspace}`:"")),K.replace(/{entityType}/gi,((G=i.config)==null?void 0:G.entityType)||"").replace(/{entityId}/gi,((v=i.config)==null?void 0:v.entityId)||"")}),U=t.ref(""),Y=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:C.name,id:{label:o("plugins.list.table_headers.id"),sortable:!0}},placeholder:o(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...C.enabled,label:o("search.filter.field.enabled")},name:C.name,instance_name:{label:o("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:h,fetcherState:w,fetcherCacheKey:m}=L.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),x),P=()=>{U.value=""},ne=()=>{m.value++},Z=t.ref(null),q=K=>{var k,G,v,$;const _=[];return((k=K.route)!=null&&k.id||K.route_id)&&_.push({type:"route",badgeText:o("plugins.list.table_headers.applied_to_badges.route")}),((G=K.service)!=null&&G.id||K.service_id)&&_.push({type:"service",badgeText:o("plugins.list.table_headers.applied_to_badges.service")}),((v=K.consumer)!=null&&v.id||K.consumer_id)&&_.push({type:"consumer",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer")}),(($=K.consumer_group)!=null&&$.id||K.consumer_group_id)&&_.push({type:"consumer_group",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer_group")}),_.length?_:[{type:null,badgeText:o("plugins.list.table_headers.applied_to_badges.global")}]},B=async(K,_)=>{var k;return K===null?!1:await((k=i.canRetrieveScopedEntity)==null?void 0:k.call(i,K,_.id))},O=(K,_)=>{var G,v,$,Q,oe;let k=null;switch(K){case"route":k=(G=_.route)==null?void 0:G.id;break;case"service":k=(v=_.service)==null?void 0:v.id;break;case"consumer":k=($=_.consumer)==null?void 0:$.id;break;case"consumer_group":k=(Q=_.consumer_group)==null?void 0:Q.id;break}k&&((oe=i.config)!=null&&oe.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(K,k))},T=t.ref(!1),R=t.ref(null),F=t.computed(()=>{const K={action:"disable",id:"",name:""};if(R.value){const{enabled:_,id:k,name:G}=R.value;K.action=_?"disable":"enable",K.id=k,K.name=r.getDisplayName(G)||k}return K}),z=K=>{T.value=!0,R.value=K},D=()=>{T.value=!1,R.value=null},S=async()=>{var G,v,$,Q,oe,J,ae,be;if(!await((G=i.canEdit)==null?void 0:G.call(i,R.value))||!R.value)return;let _=`${i.config.apiBaseUrl}${(oe=Pe.item[i.config.app])==null?void 0:oe[(v=i.config)!=null&&v.entityType?"forEntity":"all"].replace(/{entityType}/gi,(($=i.config)==null?void 0:$.entityType)||"").replace(/{entityId}/gi,((Q=i.config)==null?void 0:Q.entityId)||"")}`.replace(/{id}/gi,R.value.id||"");i.config.app==="konnect"?_=_.replace(/{controlPlaneId}/gi,((J=i.config)==null?void 0:J.controlPlaneId)||""):i.config.app==="kongManager"&&(_=_.replace(/\/{workspace}/gi,(ae=i.config)!=null&&ae.workspace?`/${i.config.workspace}`:""));const k=!R.value.enabled;try{const{data:me}=((be=i.config)==null?void 0:be.app)==="konnect"?await s.put(_,{...R.value,enabled:k},{timeout:12e4}):await s.patch(_,{...R.value,enabled:k},{timeout:12e4});a("toggle-enabled",k,me),R.value.enabled=k}catch(me){a("error",me)}},M=async(K,_)=>{const k=K.id;if(!await _(k)){a("copy:error",{entity:K,field:"id",message:o("errors.copy")});return}a("copy:success",{entity:K,field:"id",message:o("copy.success",{val:k})})},W=async(K,_)=>{const k=JSON.stringify(K);if(!await _(k)){a("copy:error",{entity:K,message:o("errors.copy")});return}a("copy:success",{entity:K,message:o("copy.success_brief")})},se=async K=>{var k;await((k=i.canRetrieve)==null?void 0:k.call(i,K))&&l.push(i.config.getViewRoute(K))},ye=K=>({label:o("actions.view"),to:i.config.getViewRoute(K)}),Ae=K=>({label:o("actions.edit"),to:i.config.getEditRoute(K)}),V=K=>({label:o("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(K)}),H=t.ref(void 0),X=t.ref(!1),le=t.ref(!1),re=t.ref(""),de=L.useDeleteUrlBuilder(i.config,x.value),Fe=K=>{H.value=K,X.value=!0},He=()=>{X.value=!1},ge=async()=>{var K,_,k;if((K=H.value)!=null&&K.id){le.value=!0;try{await s.delete(de(H.value.id)),le.value=!1,X.value=!1,m.value++,a("delete:success",H.value)}catch(G){re.value=((k=(_=G.response)==null?void 0:_.data)==null?void 0:k.message)||G.message||o("errors.delete"),a("error",G)}finally{le.value=!1}}},pe=()=>{l.push(i.config.createRoute)};t.watch(w,K=>{var _,k,G;if(K.status===L.FetcherStatus.Error){Z.value={title:o("errors.general")},(G=(k=(_=K.error)==null?void 0:_.response)==null?void 0:k.data)!=null&&G.message&&(Z.value.message=K.error.response.data.message),a("error",K.error);return}Z.value=null});const te=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${o("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:o("plugins.title")});return t.onBeforeMount(async()=>{await i.canCreate()&&(te.value.title=o("plugins.list.empty_state.title"),te.value.ctaText=o("actions.create"))}),(K,_)=>{const k=t.resolveComponent("KButton"),G=t.resolveComponent("KBadge"),v=t.resolveComponent("KTruncate"),$=t.resolveComponent("KInputSwitch"),Q=t.resolveComponent("KDropdownItem"),oe=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",CE,[t.createVNode(t.unref(L.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":te.value,"enable-entity-actions":"","error-message":Z.value,fetcher:t.unref(h),"fetcher-cache-key":t.unref(m),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:U.value,"table-headers":t.unref(I),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":_[5]||(_[5]=J=>se(J)),onSort:ne,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(L.EntityFilter),{modelValue:U.value,"onUpdate:modelValue":_[0]||(_[0]=J=>U.value=J),config:Y.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",BE,[!p.value&&A.value?(t.openBlock(),t.createBlock(k,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:_[1]||(_[1]=J=>K.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(we.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(k,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(we.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(o)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:J})=>[t.createElementVNode("div",vE,[t.createVNode(t.unref(Ln),{class:"plugin-icon",name:J.name,size:24},null,8,["name"]),t.createElementVNode("div",PE,[J.instance_name?(t.openBlock(),t.createElementBlock("span",kE,t.toDisplayString(J.instance_name),1)):(t.openBlock(),t.createElementBlock("span",OE,t.toDisplayString(t.unref(r).getDisplayName(J.name)),1)),J.instance_name?(t.openBlock(),t.createElementBlock("span",RE,t.toDisplayString(t.unref(r).getDisplayName(J.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:J})=>[q(J).length>0?(t.openBlock(),t.createBlock(v,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q(J),ae=>(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:ae.badgeText,"auth-function":()=>B(ae.type,J),"force-show":""},{default:t.withCtx(({isAllowed:be})=>[t.createVNode(G,{class:t.normalizeClass(be||"disabled"),onClick:t.withModifiers(me=>be&&ae.type&&O(ae.type,J),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ae.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",SE,"-"))]),enabled:t.withCtx(({row:J})=>[t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(J)&&await e.canToggle(J)),"force-show":""},{default:t.withCtx(({isAllowed:ae})=>{var be,me;return[t.createElementVNode("div",{onClick:_[4]||(_[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode($,{disabled:!ae,"disabled-tooltip-text":!ae&&((me=(be=e.config).getToggleDisabledTooltip)==null?void 0:me.call(be,J))||void 0,"model-value":J.enabled,onClick:t.withModifiers(j=>ae&&z(J),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:J})=>[t.createVNode(G,{appearance:t.unref(bi)(J)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(bi)(J)?t.unref(o)("plugins.list.table_headers.ordering_badge.static"):t.unref(o)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:J})=>[t.createVNode(t.unref(L.TableTags),{tags:J},null,8,["tags"])]),actions:t.withCtx(({row:J})=>[t.createVNode(oe,null,{default:t.withCtx(({copyToClipboard:ae})=>[t.createVNode(Q,{"data-testid":"action-entity-copy-id",onClick:be=>M(J,ae)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(oe,null,{default:t.withCtx(({copyToClipboard:ae})=>[t.createVNode(Q,{"data-testid":"action-entity-copy-json",onClick:be=>W(J,ae)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(J)},{default:t.withCtx(()=>[t.createVNode(Q,{"data-testid":"action-entity-view","has-divider":"",item:ye(J)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canEdit(J)},{default:t.withCtx(()=>[t.createVNode(Q,{"data-testid":"action-entity-edit",item:Ae(J)},null,8,["item"])]),_:2},1032,["auth-function"]),!f.value&&!E.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(J)},{default:t.withCtx(()=>[V(J)?(t.openBlock(),t.createBlock(Q,{key:0,"data-testid":"action-entity-config-dyn-order",item:V(J)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canDelete(J)},{default:t.withCtx(()=>[t.createVNode(Q,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ae=>Fe(J)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(u)&&c.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(k,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:_[2]||(_[2]=J=>K.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(we.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!U.value&&e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var J;return[t.createVNode(t.unref(L.EntityEmptyState),{"action-button-text":t.unref(o)("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(o)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(o)("plugins.list.empty_state_v2.title"),"onClick:create":pe,"onClick:learnMore":_[3]||(_[3]=ae=>K.$emit("click:learn-more"))},t.createSlots({image:t.withCtx(()=>[t.createElementVNode("div",IE,[t.createVNode(t.unref(we.PlugIcon),{color:t.unref(ug),size:t.unref(dg)},null,8,["color","size"])])]),_:2},[(J=e.config)!=null&&J.isControlPlaneGroup?{name:"message",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("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(L.EntityToggleModal),{action:F.value.action,"entity-id":F.value.id,"entity-name":F.value.name,"entity-type":t.unref(o)("glossary.plugin"),"on-confirm":S,visible:T.value,onCancel:D,onProceed:D},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(L.EntityDeleteModal),{"action-pending":le.value,description:t.unref(o)("delete.description"),"entity-name":H.value&&(H.value.instance_name||H.value.name||H.value.id),"entity-type":t.unref(L.EntityTypes).Plugin,error:re.value,title:t.unref(o)("delete.title"),visible:X.value,onCancel:He,onProceed:ge},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-a33ca66d"]]),TE={class:"plugin-select-card-wrapper"},ME=["data-testid"],DE={class:"plugin-card-header"},NE={class:"plugin-card-title"},GE={key:0,class:"plugin-card-actions"},LE=["data-testid","title"],UE={key:0,class:"plugin-card-text"},FE={key:0},HE=["title"],Kr=ce(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 r=n,a=e,i=Yt.useRouter(),{i18n:{t:o}}=ve.useI18n(),l=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),s=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),u=t.computed(()=>!!(f.value&&!p.value&&a.navigateOnClick&&l.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),d=()=>{i.push(a.config.getCreateRoute(a.plugin.id))},A=()=>{a.navigateOnClick?d():c()},c=()=>{r("plugin-clicked",a.plugin)},p=t.computed(()=>a.plugin.id==="custom-plugin-create"),f=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===b.PluginGroup.CUSTOM_PLUGINS),E=()=>{a.config.app==="konnect"&&r("custom-plugin-delete")},y=(C,I)=>{const x=a.config;a.config.app==="konnect"&&typeof x.getCustomEditRoute=="function"&&x.getCustomEditRoute&&i.push(x.getCustomEditRoute(C,I))},g=()=>{if(!s.value&&a.config.app==="konnect"){const C=a.config;p.value&&C.createCustomRoute?i.push(C.createCustomRoute):f.value&&d()}};return(C,I)=>{const x=t.resolveComponent("KButton"),U=t.resolveComponent("KDropdownItem"),Y=t.resolveComponent("KDropdownMenu"),h=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",TE,[t.createVNode(h,{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:I[1]||(I[1]=w=>s.value||f.value?void 0:A())},[t.createElementVNode("div",DE,[t.createElementVNode("div",NE,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!f.value})},t.toDisplayString(e.plugin.name),3)]),u.value?(t.openBlock(),t.createElementBlock("div",GE,[t.createVNode(Y,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(we.MoreIcon),{size:t.unref(Ag)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(U,{key:0,"data-testid":"edit-plugin-schema",onClick:I[0]||(I[0]=t.withModifiers(w=>y(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(U,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(E,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":f.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(o)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(Ln),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||f.value&&!p.value?(t.openBlock(),t.createElementBlock("div",UE,[f.value&&!p.value?(t.openBlock(),t.createElementBlock("p",FE,t.toDisplayString(t.unref(o)("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,HE)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,LE),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(o)("actions.create_custom"):e.plugin.exists?t.unref(o)("actions.enabled"):t.unref(o)("actions.enable")),1)],10,ME)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),YE=ce(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 E;const r=e,a=n,{i18nT:i,i18n:{t:o}}=ve.useI18n(),{getMessageFromError:l}=L.useErrors(),{axiosInstance:s}=L.useAxios((E=r.config)==null?void 0:E.axiosRequestConfig),u=t.computed(()=>{var y;return c.value?o("delete.plugin_schema_in_use_title"):o("delete.title",{name:((y=r.plugin)==null?void 0:y.name)||o("delete.custom_plugin")})}),d=t.ref(!1),A=t.ref(""),c=t.ref(!1),p=t.computed(()=>{if(r.config.app==="konnect"){const y=r.plugin.customPluginType==="streaming"?Pe.select[r.config.app].streamingCustomPluginItem:Pe.select[r.config.app].schemaCustomPluginItem;let g=`${r.config.apiBaseUrl}${y}`;return g=g.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,r.plugin.id),g}return null}),f=async()=>{var y,g,C,I;if(d.value=!0,A.value="",!(!((y=r.plugin)!=null&&y.name)||((g=r.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),a("proceed")}catch(x){const{response:U}=x;(U==null?void 0:U.status)===400&&((I=(C=U.data)==null?void 0:C.message)!=null&&I.includes("plugin schema is currently in use"))?c.value=!0:A.value=l(x)}finally{d.value=!1}};return(y,g)=>{const C=t.resolveComponent("KButton"),I=t.resolveComponent("KModal");return!c.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(L.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(o)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(L.EntityTypes).Plugin,error:A.value,"need-confirm":"",title:u.value,visible:"",onCancel:g[0]||(g[0]=x=>y.$emit("closed")),onProceed:f},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(I,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:u.value,visible:"",onCancel:g[2]||(g[2]=x=>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(C,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=x=>y.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),VE={class:"custom-plugins-grid"},jE={class:"empty-state-title"},KE={class:"empty-state-description"},Qr=310,QE=ce(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 r=e,a=n,{i18n:{t:i}}=ve.useI18n(),{getTallestPluginCardHeight:o,getToggleVisibility:l}=ve.usePluginHelpers(),s=t.ref(!0),u=Y=>{a("plugin-clicked",Y)},d=t.computed(()=>{if(r.config.app==="kongManager")return[];const Y=JSON.parse(JSON.stringify(r.pluginList))[b.PluginGroup.CUSTOM_PLUGINS]||[];return r.canCreateCustomPlugin&&r.navigateOnClick&&r.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:b.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(Y):Y}),A=t.ref(!1),c=t.ref(null),p=Y=>{A.value=!0,c.value={id:Y.id,name:Y.name,customPluginType:Y.customPluginType}},f=Y=>{var h;Y&&(a("revalidate"),a("delete:success",((h=c.value)==null?void 0:h.name)||"")),A.value=!1,c.value=null},E=t.ref(Qr),y=t.ref(null),g=t.ref(null),C=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${E.value}px`}:{}),I=t.ref(!1),x=()=>{E.value=Math.max(o(g.value),Qr),U()},U=()=>{var Y,h;(Y=g.value)!=null&&Y.length&&(I.value=l(y.value,(h=g.value)==null?void 0:h.length))};return t.onMounted(async()=>{await t.nextTick(),E.value=Math.max(o(g.value),Qr),U(),window==null||window.addEventListener("resize",x)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",x)}),(Y,h)=>{const w=t.resolveComponent("KEmptyState"),m=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",VE,[d.value.length?(t.openBlock(),t.createBlock(m,{key:1,modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=P=>s.value=P),class:"custom-plugins-collapse","data-testid":`${t.unref(b.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(b.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(C.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(P,ne)=>(t.openBlock(),t.createBlock(Kr,{key:`plugin-card-${ne}`,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:P,onCustomPluginDelete:Z=>p(P),onPluginClicked:u},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[I.value?void 0:{name:"trigger",fn:t.withCtx(()=>[h[2]||(h[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(w,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",jE,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",KE,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),A.value&&c.value?(t.openBlock(),t.createBlock(YE,{key:2,config:e.config,plugin:c.value,onClosed:f,onProceed:h[1]||(h[1]=P=>f(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),zr=310,ol=ce(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 r=t.useModel(e,"modelValue"),a=e,i=n,{i18n:{t:o}}=ve.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=ve.usePluginHelpers(),u=t.ref(zr),d=t.ref(null),A=t.ref(null),c=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${u.value}px`}:{}),p=t.ref(!1),f=()=>{u.value=Math.max(l(A.value),zr),E()},E=()=>{var y,g;(y=A.value)!=null&&y.length&&(p.value=s(d.value,(g=A.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),u.value=Math.max(l(A.value),zr),E(),window==null||window.addEventListener("resize",f)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",f)}),(y,g)=>{const C=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(C,{modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=I=>r.value=I),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":r.value?t.unref(o)("plugins.select.view_more"):t.unref(o)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(c.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,I=>(t.openBlock(),t.createBlock(Kr,{key:`plugin-card-${I.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:A,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:I,onPluginClicked:x=>i("plugin-clicked",I)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.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"]]),zE={class:"plugin-select-grid"},XE={class:"empty-state-title"},JE={class:"empty-state-description"},Xr=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 r=e,a=n,{i18n:{t:i}}=ve.useI18n(),o=t.ref(!1),l=t.ref(qr),s=d=>{a("plugin-clicked",d)},u=t.computed(()=>{const d=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete d[b.PluginGroup.CUSTOM_PLUGINS],d});return(d,A)=>{const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",zE,[Object.keys(u.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",XE,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",JE,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(ol,{key:1,modelValue:o.value,"onUpdate:modelValue":A[0]||(A[0]=p=>o.value=p),config:e.config,name:r.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:r.highlightedPlugins,onPluginClicked:A[1]||(A[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Zr),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[u.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(ol,{modelValue:l.value[p],"onUpdate:modelValue":f=>l.value[p]=f,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:u.value[p]||[],onPluginClicked:A[2]||(A[2]=f=>s(f))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),WE={class:"kong-ui-entities-plugin-select-form"},ZE={class:"plugins-filter-input-container"},qE={key:0},_E={key:3,"aria-live":"polite",class:"plugins-results-container"},$E={"data-testid":"kong-tab"},ew={class:"tab-description"},tw={"data-testid":"custom-tab"},nw={class:"tab-description"},rw=ce(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 D;const r=e,a=n,i=Yt.useRoute(),o=Yt.useRouter(),{i18n:{t:l}}=ve.useI18n(),{pluginMetaData:s}=ve.usePluginMetaData(),{getMessageFromError:u}=L.useErrors(),{sortAlpha:d,objectsAreEqual:A}=L.useHelpers(),c=t.ref(""),p=t.ref(!0),f=t.ref(!1),E=t.ref(""),y=t.ref([]),g=t.ref([]),C=t.ref({}),I=t.ref([]),{axiosInstance:x}=L.useAxios((D=r.config)==null?void 0:D.axiosRequestConfig),U=t.computed(()=>C.value?Object.entries(C.value).filter(([S])=>S!==b.PluginGroup.CUSTOM_PLUGINS).reduce((S,[,M])=>{for(const W of M)S[W.id]=W;return S},{}):{}),Y=t.computed(()=>{var W;if(!C.value)return{};const S=c.value.toLowerCase(),M=JSON.parse(JSON.stringify(C.value));for(const se in C.value){const ye=((W=C.value[se])==null?void 0:W.filter(Ae=>Ae.name.toLowerCase().includes(S)||Ae.id.toLowerCase().includes(S)||Ae.group.toLowerCase().includes(S)))||[];ye.length?M[se]=ye:delete M[se]}return M}),h=t.computed(()=>r.highlightedPluginIds.reduce((S,M)=>{const W=U.value[M];return W&&S.push(W),S},[])),w=t.computed(()=>Object.keys(Y.value).length>0),m=t.computed(()=>Object.keys(C.value).length>0&&!w.value),P=t.computed(()=>r.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(r.customPluginSupport)}]:[]),ne=t.computed(()=>{var M;let S=P.value.length&&((i==null?void 0:i.hash)||((M=P.value[0])==null?void 0:M.hash))||"";return S==="#custom"&&["none","disabled"].includes(r.customPluginSupport)&&(S="#kong"),S}),Z=()=>[...new Set([...Object.keys({...r.availableOnServer?{}:s}),...y.value])].filter(S=>!r.ignoredPlugins.includes(S)).filter(S=>r.config.entityType&&(r.config.entityType==="services"&&s[S]&&!s[S].scope.includes(b.PluginScope.SERVICE)||r.config.entityType==="routes"&&s[S]&&!s[S].scope.includes(b.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&s[S]&&!s[S].scope.includes(b.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&s[S]&&!s[S].scope.includes(b.PluginScope.CONSUMER))?!1:S).reduce((S,M)=>{var V;const W=s[M]&&s[M].name||M,se={...s[M],id:M,name:W,available:y.value.includes(M),disabledMessage:"",group:((V=s[M])==null?void 0:V.group)||b.PluginGroup.CUSTOM_PLUGINS};se.group===b.PluginGroup.CUSTOM_PLUGINS&&(se.customPluginType=g.value.find(H=>H.name===M)?"streaming":"schema"),r.disabledPlugins&&(se.disabledMessage=r.disabledPlugins[M]);const ye=se.group||l("plugins.select.misc_plugins");let Ae=S[ye];return Ae||(Ae=[]),Ae.push(se),Ae.sort(d("name")),S[ye]=Ae,S},{}),q=t.computed(()=>{var M;let S=`${r.config.apiBaseUrl}${Pe.select[r.config.app].availablePlugins}`;return r.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(S=((M=r.config.gatewayInfo)==null?void 0:M.edition)==="community"?`${r.config.apiBaseUrl}${Pe.select[r.config.app].availablePluginsForOss}`:S.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),S}),B=t.computed(()=>{if(r.config.app==="konnect"&&r.customPluginSupport==="streaming"){let S=`${r.config.apiBaseUrl}${Pe.select[r.config.app].streamingCustomPlugins}`;return S=S.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""),S}return null}),O=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let S=`${r.config.apiBaseUrl}${Pe.list[r.config.app].forEntity}`;return r.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),S.replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),T=S=>{o.replace({hash:S,query:i.query})};t.watch(()=>r.disabledPlugins,(S,M)=>{!A(S,M)&&!p.value&&(C.value=Z())}),t.watch(()=>r.ignoredPlugins,(S,M)=>{!A(S,M)&&!p.value&&(C.value=Z())}),t.watch(p,S=>{a("loading",S)});const R=t.ref(!1),F=t.ref(!1),z=t.ref(!1);return t.onBeforeMount(async()=>{R.value=await r.canCreateCustomPlugin(),F.value=await r.canEditCustomPlugin(),z.value=await r.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:S}=await x.get(q.value);if(r.config.app==="konnect"){const{names:M}=S;if(y.value=M||[],B.value){const{data:W}=await x.get(B.value);g.value=W.data||[]}}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:M}}=S;y.value=M?Object.keys(M):[]}}catch(S){f.value=!0,E.value=u(S)}if(O.value)try{const{data:{data:S}}=await x.get(O.value);if(S!=null&&S.length){const M=S.reduce((W,se)=>(se.name&&W.push(se.name),W),[]);I.value=I.value.concat(M)}}catch{}f.value||(C.value=Z()),p.value=!1}),(S,M)=>{const W=t.resolveComponent("KInput"),se=t.resolveComponent("KSkeletonBox"),ye=t.resolveComponent("KSkeleton"),Ae=t.resolveComponent("KEmptyState"),V=t.resolveComponent("KTooltip"),H=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",WE,[t.createElementVNode("div",ZE,[t.createVNode(W,{modelValue:c.value,"onUpdate:modelValue":M[0]||(M[0]=X=>c.value=X),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",qE,[t.createVNode(se,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ye,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):f.value?(t.openBlock(),t.createBlock(Ae,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(E.value),1)]),_:1})):m.value&&c.value?(t.openBlock(),t.createBlock(Ae,{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:c.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",_E,[P.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(H,{key:0,modelValue:ne.value,"onUpdate:modelValue":M[5]||(M[5]=X=>ne.value=X),"data-testid":"plugins-tabs",tabs:P.value,onChange:T},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",$E,[t.createElementVNode("p",ew,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Xr,{config:e.config,"hide-highlighted-plugins":c.value.length>0,"highlighted-plugins":h.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":Y.value,onPluginClicked:M[1]||(M[1]=X=>S.$emit("plugin-clicked",X))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",tw,[t.createElementVNode("p",nw,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(QE,{"can-create-custom-plugin":R.value,"can-delete-custom-plugin":z.value,"can-edit-custom-plugin":F.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":Y.value,"onDelete:success":M[2]||(M[2]=X=>S.$emit("delete-custom:success",X)),onPluginClicked:M[3]||(M[3]=X=>S.$emit("plugin-clicked",X)),onRevalidate:M[4]||(M[4]=()=>C.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(V,{"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(Xr,{key:1,config:e.config,"hide-highlighted-plugins":c.value.length>0,"highlighted-plugins":h.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":Y.value,onPluginClicked:M[6]||(M[6]=X=>S.$emit("plugin-clicked",X))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-d2065987"]]),aw={class:"kong-ui-entity-plugin-config-card"},iw={class:"name-cell-wrapper"},ow={class:"info-name"},lw={key:0},sw={key:0},cw={key:0},uw={key:0},Aw={key:0},Jr="config",dw=ce(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 I;const r=n,a=e,{i18n:{t:i}}=ve.useI18n(),o=ve.usePluginMetaData(),{setFieldType:l}=ve.usePluginHelpers(),{getPropValue:s}=L.useHelpers(),u=t.computed(()=>{var x;return(x=Pe.item[a.config.app])==null?void 0:x[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId).concat(a.expandPartial?"?expand_partials=true":"")}),d=t.computed(()=>{var Y,h;const x={},U=((Y=y.value)==null?void 0:Y.fields)||[];for(let w=0;w<U.length;w++){const m=y.value.fields[w],P=(h=Object.keys(m))==null?void 0:h[0];l(x,P,m[P])}return{...x,instance_name:{section:L.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:L.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:L.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:L.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:L.ConfigurationSchemaSection.Basic,order:6},protocols:{type:L.ConfigurationSchemaType.BadgeTag,section:L.ConfigurationSchemaSection.Basic,order:7}}}),A=t.computed(()=>{var U,Y,h;if(!((U=y.value)!=null&&U.fields))return[];const x=(Y=y.value.fields)==null?void 0:Y.find(w=>{var P;return((P=Object.keys(w))==null?void 0:P[0])===Jr});return((h=x==null?void 0:x[Jr])==null?void 0:h.fields)||[]}),c=t.computed(()=>{var U,Y;const x={};if(!A.value)return x;for(let h=0;h<((U=A.value)==null?void 0:U.length);h++){const w=A.value[h],m=(Y=Object.keys(w))==null?void 0:Y[0],P=w[m];P.required&&(x[m]={order:1}),l(x,m,P)}return x}),{getMessageFromError:p}=L.useErrors(),{axiosInstance:f}=L.useAxios((I=a.config)==null?void 0:I.axiosRequestConfig),E=t.computed(()=>{var U,Y;let x=`${a.config.apiBaseUrl}${Pe.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((U=a.config)==null?void 0:U.controlPlaneId)||""):a.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(Y=a.config)!=null&&Y.workspace?`/${a.config.workspace}`:"")),x=x.replace(/{plugin}/gi,a.config.pluginType),x}),y=t.ref({});L.useSchemaProvider(y);const g=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:x}=await f.get(E.value);y.value=x}catch(x){C.value=p(x),r("error:fetch-schema",x)}finally{g.value=!1}}),(x,U)=>{const Y=t.resolveComponent("KSkeleton"),h=t.resolveComponent("KEmptyState"),w=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",aw,[g.value?(t.openBlock(),t.createBlock(Y,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(h,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(L.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(L.SupportedEntityType).Plugin,"fetch-url":u.value,"hide-title":e.hideTitle,"plugin-config-key":Jr,"plugin-config-schema":c.value,"onFetch:error":U[0]||(U[0]=m=>x.$emit("fetch:error",m)),"onFetch:success":U[1]||(U[1]=m=>x.$emit("fetch:success",m)),onLoading:U[2]||(U[2]=m=>x.$emit("loading",m))},{name:t.withCtx(m=>[t.createElementVNode("div",iw,[t.createVNode(t.unref(Ln),{class:"plugin-icon",name:t.unref(s)("rowValue",m),size:24},null,8,["name"]),t.createElementVNode("span",ow,t.toDisplayString(t.unref(o).getDisplayName(t.unref(s)("rowValue",m))),1)])]),consumer:t.withCtx(m=>[t.unref(s)("rowValue",m)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",m).id,value:t.unref(s)("rowValue",m).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",m).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(w,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",m).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",m).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lw,"–"))]),route:t.withCtx(m=>[t.unref(s)("rowValue",m)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",m).id,value:t.unref(s)("rowValue",m).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",m).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(w,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",m).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",m).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sw,"–"))]),service:t.withCtx(m=>[t.unref(s)("rowValue",m)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",m).id,value:t.unref(s)("rowValue",m).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",m).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(w,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",m).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",m).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",cw,"–"))]),consumer_group:t.withCtx(m=>[t.unref(s)("rowValue",m)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",m).id,value:t.unref(s)("rowValue",m).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",m).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(w,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",m).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",m).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",uw,"–"))]),partials:t.withCtx(m=>{var P,ne,Z,q,B,O,T,R,F;return[t.unref(s)("rowValue",m)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:(ne=(P=t.unref(s)("rowValue",m))==null?void 0:P[0])==null?void 0:ne.id,value:((q=(Z=t.unref(s)("rowValue",m))==null?void 0:Z[0])==null?void 0:q.id)+((O=(B=t.unref(s)("rowValue",m))==null?void 0:B[0])!=null&&O.name?"/"+((R=(T=t.unref(s)("rowValue",m))==null?void 0:T[0])==null?void 0:R.name):""),type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var z,D;return x.$emit("navigation-click",(D=(z=t.unref(s)("rowValue",m))==null?void 0:z[0])==null?void 0:D.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(w,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",m).label}),"data-testid":"partial-copy-uuid",text:(F=t.unref(s)("rowValue",m))==null?void 0:F[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Aw,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-c314449c"]]),{usePluginMetaData:pw,useProvideExperimentalFreeForms:fw}=ve;Object.defineProperty(ie,"PluginGroup",{enumerable:!0,get:()=>b.PluginGroup}),Object.defineProperty(ie,"PluginScope",{enumerable:!0,get:()=>b.PluginScope}),ie.EXPERIMENTAL_FREE_FORM_PROVIDER=Fn,ie.EntityTypeIdField=ut,ie.FEATURE_FLAGS=la,ie.PLUGIN_GROUPS_COLLAPSE_STATUS=qr,ie.PluginConfigCard=dw,ie.PluginForm=Ey,ie.PluginGroupArray=Zr,ie.PluginIcon=Ln,ie.PluginList=xE,ie.PluginPartialType=fn,ie.PluginSelect=rw,ie.PluginSelectCard=Kr,ie.PluginSelectGrid=Xr,ie.getPluginIconURL=il,ie.pluginEndpoints=Pe,ie.usePluginMetaData=pw,ie.useProvideExperimentalFreeForms=fw,Object.defineProperty(ie,Symbol.toStringTag,{value:"Module"})});
|
|
123
|
+
`},Symbol.toStringTag,{value:"Module"})),nb={ref:"editor-root",class:"dk-editor"},jr="YAML Syntax",rb="datakit.insert-example",ab=ce(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean},config:{}},emits:["change","error"],setup(e,{expose:n,emit:r}){const a=r,i=t.useTemplateRef("editor-root"),o=t.shallowRef(null);function l(s){const u=o.value,p=u==null?void 0:u.getModel();if(!u||!p)return;const d=nl[s];if(u.getValue()!==d){const c=p.getFullModelRange();u.pushUndoStop(),u.executeEdits(rb,[{range:c,text:d}]),u.pushUndoStop()}u.focus()}return t.onMounted(()=>{const s=fn.editor.create(i.value,{language:"yaml",automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep"});o.value=s,e.editing&&s.setValue(tl.dump(t.toRaw(e.config),{schema:Ur,noArrayIndent:!0})),s.onDidChangeModelContent(()=>{const u=s.getModel(),p=s.getValue()||"";try{const d=tl.load(p,{schema:Ur,json:!0});fn.editor.setModelMarkers(u,jr,[]),a("change",d)}catch(d){const{message:c,mark:f}=d,{line:m,column:k}=f||{line:0,column:0},b=c.split(`
|
|
124
|
+
`)[0],g=[{startLineNumber:m+1,startColumn:k+1,endLineNumber:m+1,endColumn:k+2,message:b,severity:fn.MarkerSeverity.Error,source:jr}];fn.editor.setModelMarkers(u,jr,g),a("error",b)}})}),t.onBeforeUnmount(()=>{var s;(s=o.value)==null||s.dispose()}),n({setExampleCode:l}),(s,u)=>(t.openBlock(),t.createElementBlock("div",nb,null,512))}}),[["__scopeId","data-v-e5fcb32d"]]),ib={key:0},ob={class:"examples-content"},lb=["innerHTML"],rl=Object.freeze(Object.defineProperty({__proto__:null,DatakitForm:ce(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}=$e.createI18n("en-us",qe),r=e,a=t.inject(oa.DATAKIT_ENABLE_VISUAL_EDITOR,!1),{editorMode:i}=Pr(),o=t.computed(()=>a?i.value:"code"),l={visual:Ce.DesignIcon,code:Ce.CodeblockIcon},s=[{label:n("plugins.free-form.datakit.visual_editor.mode"),value:"visual"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}],u=t.computed(()=>{switch(i.value){case"code":return n("plugins.free-form.datakit.description_code");case"visual":return n("plugins.free-form.datakit.description_visual");default:return""}}),p=t.ref(!1),d=t.useTemplateRef("code-editor");function c(k){var b;(b=d.value)==null||b.setExampleCode(k)}function f(k){var b;r.onFormChange({config:k}),(b=r.onValidityChange)==null||b.call(r,{model:"config",valid:!0})}function m(k){var b;(b=r.onValidityChange)==null||b.call(r,{model:"config",valid:!1,error:k})}return(k,b)=>{const g=t.resolveComponent("KButton");return t.openBlock(),t.createBlock(Sm,t.mergeProps(r,{class:"dk-form"}),t.createSlots({default:t.withCtx(A=>[o.value==="visual"?(t.openBlock(),t.createElementBlock("div",ib,[t.createVNode(g,{appearance:"secondary",onClick:b[1]||(b[1]=E=>p.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.visual_editor.cta")),1)]),_:1}),t.createVNode($g,{open:p.value,"onUpdate:open":b[2]||(b[2]=E=>p.value=E)},null,8,["open"])])):o.value==="code"?(t.openBlock(),t.createBlock(Vi,t.mergeProps({key:1},A,{tag:"div"}),{default:t.withCtx(()=>[t.createVNode(t.unref(Ae.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ce.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",ob,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(nl,(E,x)=>t.createVNode(g,{key:x,appearance:"secondary",size:"small",onClick:V=>c(x)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${x}`)),1)]),_:2},1032,["onClick"])),64))])]),_:1}),t.createVNode(ab,{ref:"code-editor",class:"editor",config:r.model.config,editing:r.isEditing,onChange:f,onError:m},null,8,["config","editing"])]),_:2},1040)):t.createCommentVNode("",!0)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:u.value},null,8,lb)]),_:2},[t.unref(a)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Ae.KSegmentedControl),{modelValue:t.unref(i),"onUpdate:modelValue":b[0]||(b[0]=A=>t.isRef(i)?i.value=A:null),options:s},{"option-label":t.withCtx(({option:A})=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l[A.value]))),t.createTextVNode(" "+t.toDisplayString(A.label),1)]),_:1},8,["modelValue"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-42a0216c"]]),RequestCalloutForm:cm,ServiceProtectionForm:pm},Symbol.toStringTag,{value:"Module"})),sb={class:"kong-ui-entities-plugin-form"},cb={key:1,class:"entity-form"},ub={class:"plugin-config-empty-state"},db=ce(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","validity-change"],setup(e,{emit:n}){var be,de;const r=Object.keys(ke.sharedForms),a=Object.keys(rl);if(new Set([...r,...a]).size!==r.length+a.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,o=e,{axiosInstance:l}=$.useAxios((be=o.config)==null?void 0:be.axiosRequestConfig),{parseSchema:s}=Se.useSchemas({entityId:((de=o.entityMap.focusedEntity)==null?void 0:de.id)||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:u,unFlattenObject:p,dismissField:d,isObjectEmpty:c,unsetNullForeignKey:f}=Se.usePluginHelpers(),m=Se.useExperimentalFreeForms(),{objectsAreEqual:k}=$.useHelpers(),{i18n:{t:b}}=at(),g=(j,K)=>{let z=`${o.config.apiBaseUrl}${Pe.form[o.config.app].entityGetOne}`;return o.config.app==="konnect"?z=z.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(z=z.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),z=z.replace(/{entity}/gi,j),z=z.replace(/{id}/gi,K),z},A=j=>{let K=`${o.config.apiBaseUrl}${Pe.form[o.config.app].entityGetAll}`;return o.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),K=K.replace(/{entity}/gi,j),K},E=(j,K)=>{const z=g(j,K);return l.get(z)},x=(j,K)=>{const z=A(j);return o.config.app==="konnect"?l.get(z).then(le=>{const{data:{data:ae}}=le;if(delete K.size,delete K.offset,ae.length&&Object.keys(K).length===1){const pe=Object.keys(K)[0],Fe=ae.filter(Ke=>Ke[pe]?!!Ke[pe].toLowerCase().includes(K[pe].toLowerCase()):!1);le.data.data=Fe}return le}):l.get(z,{params:K})};t.provide(ke.FORMS_API_KEY,{getOne:E,getAll:x}),t.provide(ke.FORMS_CONFIG,o.config);const V=t.ref(""),U=t.ref(""),y=t.ref(null),C=t.ref({}),h=t.reactive({}),P=t.reactive({}),ne=t.computed(()=>{var j;return(j=y.value)==null?void 0:j.options}),J=t.ref(!1),X=t.ref(),w=(j,K)=>{J.value=j??"",X.value=K},v=j=>{var K;(K=X.value)==null||K.call(X,j),J.value=!1},I=()=>{var Fe,Ke;const j={...o.schema},K=P,z=h,le=Object.keys(K),ae={};if(!c(C.value))for(let ge=0;ge<((Ke=(Fe=C.value)==null?void 0:Fe.fields)==null?void 0:Ke.length);ge++)j[C.value.fields[ge].model]=C.value.fields[ge];ke.customFields.forEach(ge=>{j[ge]&&(j[ge].fields.forEach(fe=>{fe.fields&&fe.fields.forEach(te=>{j[te.model]=te}),fe.model&&(j[fe.model]=fe)}),delete j[ge])}),le.forEach(ge=>{var S;if(!j[ge]){ge==="partials"&&(ae[ge]=K[ge]);return}const fe=j[ge];let te=K[ge];const nt=z[ge],Ue=Array.isArray(te)?"array":typeof te,G=fe?fe.valueType:null,Q=fe?fe.valueArrayType:null,T=fe?fe.transform:null;if(te==null&&nt==null&&!fe.submitWhenNull)return;if(fe){if(G&&Ue!==G)switch(G){case"array":Ue==="string"&&te.length&&(te=te.split(",").map(Z=>{if(Z=Z.trim(),Q==="string")return String(Z);if(Q==="number")return Number(Z);if(Q==="boolean"){if(typeof Z=="string")return Z.toLowerCase()==="true"||Z==="1";if(typeof Z=="number")return Z===1}return Z})),(!te||!te.length)&&(te=fe.submitWhenNull?null:[]);break;case"number":te=Number(te);break;case"boolean":Ue==="string"&&(te=te.toLowerCase()==="true"||te==="1"),Ue==="number"&&(te=te===1);break;case"string":te=te==null?"":String(te);break}else G==="array"&&(!te||!te.length?te=fe.submitWhenNull?null:[]:((S=fe.inputAttributes)==null?void 0:S.type)==="number"&&(te=te.map(Z=>Number(Z))));if(fe.type==="array"&&fe.nestedFields){const Z=q=>{Object.keys(q).forEach(oe=>{q[oe]&&typeof q[oe]=="object"&&!Array.isArray(q[oe])&&q[oe]!==null?Z(q[oe]):(q[oe]===void 0||q[oe]===null||typeof q[oe]=="number"&&isNaN(q[oe])||typeof q[oe]=="string"&&q[oe].trim().length===0)&&delete q[oe]})};te&&typeof te=="object"&&Z(te)}fe.type==="object-advanced"&&fe.fields&&te!==null&&(Object.entries(te).length===0?te=null:Object.keys(te).forEach(Z=>{Array.isArray(te[Z])||(te[Z]=te[Z].split(","))}))}let D=u(ge);if(fe.fieldNameHasDashes){const[Z,...q]=D.split(".").reverse();D=[Z.replace(/_/g,"-"),...q].reverse().join(".")}if(G==="object-expand"){let Z;[D,Z]=D.split(".");let q={};ae[D]&&(q=ae[D]),q[Z]=te,te=q}nt!==void 0&&te===""&&te!==nt?ae[D]=G==="object"?{}:null:fe.type==="checklist"&&te===""?ae[D]=[]:te!==""&&(ae[D]=te),ae[D]=T?T(te):ae[D],f(D,ae)});const pe=p(ae);return U.value&&Object.assign(pe,O.value),pe},N=(j,K={})=>{d(P,K,j,o.editing),i("model-updated",{model:P,originalModel:h,data:I()})},F=(j,K)=>{var ae;const z={[K]:j};typeof((ae=o.schema[K])==null?void 0:ae.modelTransformer)=="function"&&(z[K]=o.schema[K].modelTransformer(j));const le=Object.assign({},P,z);Object.assign(P,le),i("model-updated",{model:P,originalModel:h,data:I()})},H=j=>{i("validity-change",j)},B=(j,K)=>{Object.keys(j).forEach(z=>{var Ke,ge;let le=K?`${K}-${z}`:z,ae=o.schema[le];if(!ae){const fe=K?`${K}-${z.replace(/-/g,"_")}`:z.replace(/-/g,"_");(Ke=o.schema[fe])!=null&&Ke.fieldNameHasDashes&&(le=fe,ae=o.schema[le]),K&&((ge=o.schema[K])==null?void 0:ge.keyFromObject)===z&&(le=K,ae=o.schema[le])}const pe=j[z],Fe=typeof pe;if(ae&&ae.type==="object-advanced"&&!pe){P[le]={},h[le]={};return}if(Array.isArray(pe)){P[le]=JSON.parse(JSON.stringify(pe)),h[le]=JSON.parse(JSON.stringify(pe));return}if(Fe==="object"&&pe&&!pe.length)return B(pe,le);if(Fe==="object"&&pe&&pe.length&&ae.type==="input"){P[le]=pe.join(", "),h[le]=pe.join(", ");return}P[le]=pe,h[le]=pe}),i("model-updated",{model:P,originalModel:h,data:I()})},O=t.shallowRef(o.record),R=j=>{O.value=j,i("model-updated",{model:{...P,...j},originalModel:h,data:I()})},Y=t.ref(!0),se=()=>{var j;if(o.record&&o.schema&&(B({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&B({consumer_id:o.record.consumer_id||o.record.consumer}),B(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&B({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),o.record.partials&&N("redis",{partials:o.record.partials}),U.value?R(o.record):B(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const K={};for(const z in o.entityMap){const le=o.entityMap[z].id,ae=o.entityMap[z].idField,pe=ae==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ae).replace("_","-"));Object.prototype.hasOwnProperty.call(P,pe)&&(K[pe]=le)}B(K)}if((j=o.entityMap.consumer)!=null&&j.id&&o.schema&&o.credential){const K={};Object.prototype.hasOwnProperty.call(P,"consumer")&&(K.consumer=o.entityMap.consumer.id),B(K)}Y.value=!1};return t.watch(Y,j=>{i("loading",j)}),t.watch(()=>o.schema,(j,K)=>{var le,ae;if(k(j||{},K||{}))return;const z=s(j);Object.assign(P,z.model),C.value={fields:(ae=(le=C.value)==null?void 0:le.fields)==null?void 0:ae.map(pe=>({...pe,disabled:pe.disabled||!1}))},Object.assign(h,JSON.parse(JSON.stringify(z.model))),U.value=ia(z.model.name,m),V.value=ke.getSharedFormName(z.model.name),se()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var j,K;y.value=s(o.schema),Object.assign(P,((j=y.value)==null?void 0:j.model)||{}),C.value=((K=y.value)==null?void 0:K.schema)||{},se()}),(j,K)=>{var le;const z=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",sb,[Y.value?(t.openBlock(),t.createBlock(z,{key:0,type:"form"})):P.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",cb,[U.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(rl[U.value]),{key:0,"form-model":P,"form-options":ne.value,"form-schema":C.value,"is-editing":e.editing,model:e.record,"on-form-change":R,"on-model-updated":F,"on-validity-change":H,schema:e.rawSchema},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ke.AUTOFILL_SLOT_NAME),fn:t.withCtx(ae=>[ae.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Un),t.mergeProps({key:0},ae,{onOpen:w}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):V.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(ke.sharedForms)[V.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":P,"form-options":ne.value,"form-schema":C.value,"is-editing":e.editing,"on-model-updated":F,"on-partial-toggled":N,"show-new-partial-modal":ae=>j.$emit("showNewPartialModal",ae)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ke.AUTOFILL_SLOT_NAME),fn:t.withCtx(ae=>[ae.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Un),t.mergeProps({key:0},ae,{onOpen:w}),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(ke.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:P,options:ne.value,schema:C.value,onModelUpdated:F,onPartialToggled:N,onRefreshModel:I,onShowNewPartialModal:K[0]||(K[0]=ae=>j.$emit("showNewPartialModal",ae))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",ub,t.toDisplayString(t.unref(b)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(le=t.unref(Xe)[P.name])!=null&&le.fieldRules&&(o.config.isNewOtelSchema||P.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(Cs,{rules:t.unref(Xe)[P.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(ke.AUTOFILL_SLOT_NAME),fn:t.withCtx(ae=>[ae.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Un),t.mergeProps({key:0},ae,{onOpen:w}),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(_s),{config:o.config,setup:J.value,onCancel:K[1]||(K[1]=()=>J.value=!1),onProceed:v},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-fb359cf5"]]),pb={key:1},fb=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,r)=>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",pb,[t.renderSlot(n.$slots,"default")]))}}),mb=Symbol("redis-partial-info"),gb={class:"kong-ui-entities-plugin-form-container"},hb={key:0},yb={class:"plugin-form-actions"},bb=ce(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"],setup(e,{emit:n}){var Q;const r=n,a=e,i=Kt.useRouter(),{i18n:{t:o}}=Se.useI18n(),{customSchemas:l,typedefs:s}=Se.useSchemas({app:a.config.app,credential:a.credential,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{formatPluginFieldLabel:u}=Se.usePluginHelpers(),{getMessageFromError:p}=$.useErrors(),{capitalize:d}=$.useStringHelpers(),{objectsAreEqual:c}=$.useHelpers(),{axiosInstance:f}=$.useAxios((Q=a.config)==null?void 0:Q.axiosRequestConfig),m=t.ref(!1),k=t.computed(()=>!!a.pluginId),b=t.computed(()=>a.pluginId?$.EntityBaseFormType.Edit:$.EntityBaseFormType.Create),g=t.ref(void 0),A=t.ref(void 0),E=t.computed(()=>!!(a.credential&&a.config.entityId)),x=t.ref(void 0),V=t.ref({}),U=t.ref(),y=t.ref();t.provide(mb,{redisType:U,redisPath:y,isEditing:k.value});const C=t.ref(!1),h=t.reactive({enabled:!0,protocols:[],tags:[]}),P=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),ne=t.ref([{title:o("view_configuration.json"),hash:"#json"},{title:o("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&ne.value.splice(1,0,{title:o("view_configuration.terraform"),hash:"#terraform"});const J=t.ref(""),X=t.computed(()=>{if(E.value){let T=Pe.form[a.config.app].credential[b.value];return T=T.replace(/{resourceEndpoint}/gi,N.value),T}return a.config.entityType&&a.config.entityId?Pe.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Pe.form[a.config.app].edit.all}),w=()=>{m.value=!m.value},v=t.computed(()=>{var oe,W,ie,_e,he,M,L,je;const T=a.config.entityType==="consumers"&&a.config.entityId||((W=(oe=x.value)==null?void 0:oe.consumer)==null?void 0:W.id),D=a.config.entityType==="consumer_groups"&&a.config.entityId||((_e=(ie=x.value)==null?void 0:ie.consumer_group)==null?void 0:_e.id),S=a.config.entityType==="services"&&a.config.entityId||((M=(he=x.value)==null?void 0:he.service)==null?void 0:M.id),Z=a.config.entityType==="routes"&&a.config.entityId||((je=(L=x.value)==null?void 0:L.route)==null?void 0:je.id);if(!(T||D||S||Z))return{global:{entity:_.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const q={};return S&&(q.service={entity:_.PluginScope.SERVICE,entityEndpoint:"services",id:S,idField:ct.SERVICE}),Z&&(q.route={entity:_.PluginScope.ROUTE,entityEndpoint:"routes",id:Z,idField:ct.ROUTE}),T&&(q.consumer={entity:_.PluginScope.CONSUMER,entityEndpoint:"consumers",id:T,idField:ct.CONSUMER}),D&&(q.consumer_group={entity:_.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:D,idField:ct.CONSUMER_GROUP}),a.config.entityType&&(q.focusedEntity={entity:_.PluginScope[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:ct[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),q}),I=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:o("plugins.form.fields.enabled.label"),textOn:o("plugins.form.fields.enabled.on_text"),textOff:o("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||b.value===$.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",disabled:a.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:o("plugins.form.scoping.global.label"),description:o("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:o("plugins.form.fields.protocols.help"),label:o("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:o("plugins.form.fields.instance_name.label"),inputType:"text",help:o("plugins.form.fields.instance_name.help")},tags:s.tags}),N=t.computed(()=>{var S;const T=a.developer?"developers":"consumers",D=((S=Tt[a.pluginType])==null?void 0:S.endpoint)||"/plugins";return`${T}/${a.config.entityId}${a.developer?"/credentials":""}${D}`}),F=T=>{const D=Array.from(new Set(T.map(S=>typeof S)));return D.length>1?"string":D[0]},H=(T,D,S,Z)=>{var ie,_e;let q=D&&D.fields||[];const oe=l[a.pluginType],W=(_e=(ie=Tt[a.pluginType])==null?void 0:ie.schema)==null?void 0:_e.fields;return Array.isArray(q)&&(q=q.reduce((he,M)=>{const L=Object.keys(M)[0];return L.match(/-/g)?he[L.replace(/-/g,"_")]={...M[L],fieldNameHasDashes:!0}:he[L]=M[L],he},{})),Object.keys(q).sort().forEach(he=>{var an,on,ln,sn,cn,un,dn;const M=q[he];M.type==="set"&&(M.type="array");const L=T?`${T}-${he}`:`${he}`;if((an=oe==null?void 0:oe.fieldsToDelete)!=null&&an.includes(L)){Ci(S,L);return}if(Object.prototype.hasOwnProperty.call(M,"overwrite")||M.hidden)return;if(M.type==="table")return H(L,M.schema,S);if(M.fields)return Z&&M.type==="record"?(S[L]={type:"object",model:he,schema:{fields:Object.values(H(L,M,{},!0))}},S):H(L,M,S);if(S[L]={id:L,model:he},S[L].type=M.type==="boolean"?"checkbox":"input",S[L].required=M.required,S[L].referenceable=M.referenceable,L.startsWith("config-"))if(!Z&&M.type==="array"&&(J.value=L),Z&&J.value&&L.startsWith(J.value)){const ue=L.slice(J.value.length+1);S[L].label=ue.split("-").map(u).join(".")}else S[L].label=u(L);if((T==="config"||T.startsWith("config-"))&&(on=q[he])!=null&&on.description&&(S[L].help=pn.marked.parse(q[he].description,{mangle:!1,headerIds:!1})),M.type==="map"){if(S[L].type="object-advanced",S[L].values=M.values,M.values.type==="array"){const{type:ue}=M.values.elements||{};S[L].schema={fields:[{schema:{fields:[{...we,model:L,valueArrayType:ue==="integer"?"number":ue||"string",inputAttributes:{...we.inputAttributes,type:ue==="integer"?"number":"text",inputMode:ue==="integer"?"numeric":"text"}}]}}]}}else M.values.fields&&(S[L].schema={fields:[{type:"object",model:"object",schema:{fields:M.values.fields.map(ue=>{const Ie=Object.keys(ue)[0];return{model:Ie,type:"input",label:d(Ie),placeholder:Ie,inputType:ue[Ie].type}})}}]});return S}if(M.enum&&M.type==="array"&&(S[L].type="checklist",S[L].values=M.enum,S[L].multi=!0,S[L].multiSelect=!0),M.one_of&&M.type!=="array"&&(S[L].type="select",S[L].values=M.one_of,S[L].selectOptions={noneSelectedText:o("plugins.form.no_selection")}),M.elements&&M.type==="array"){const ue=M.elements;if(S[L].referenceable=ue.referenceable,S[L].elements=ue,["string","integer","number"].includes(ue.type)&&!ue.one_of){const{id:Ie,help:ve,label:me,hint:Le,values:Ge,referenceable:Et,model:St}=S[L],{inputAttributes:$n,...p_}=JSON.parse(JSON.stringify(we));$n.type=ue.type==="string"?"text":"number",S[L]={id:Ie,help:ve,label:me,hint:Le,values:Ge,referenceable:Et,model:St,inputAttributes:$n,...p_}}}if(M.hint&&(S[L].hint=M.hint),oe&&!oe.overwriteDefault&&Object.keys(oe).forEach(ue=>{if(ue===L){const{help:Ie,label:ve,hint:me,values:Le,referenceable:Ge,elements:Et}=S[L],{help:St,...$n}=oe[ue];S[L]={help:Ie,label:ve,hint:me,values:Le,referenceable:Ge,elements:Et,...$n},typeof St=="string"&&(S[L].help=pn.marked.parse(St,{mangle:!1,headerIds:!1}))}}),M.type==="array"&&((ln=M.elements)==null?void 0:ln.type)==="record"&&Array.isArray(M.elements.fields)){let ue={};for(const ve of M.elements.fields)ue={...ue,...ve};const Ie=(un=(cn=(sn=S[L])==null?void 0:sn.items)==null?void 0:cn.schema)==null?void 0:un.fields;if(Array.isArray(Ie))for(const ve of S[L].items.schema.fields){const me=(dn=ue[ve.model])==null?void 0:dn.description;ve.help===void 0&&typeof me=="string"&&(ve.help=pn.marked.parse(me,{mangle:!1,headerIds:!1}))}if(Ie||(S[L].type="array",S[L].newElementButtonLabelClasses="kong-form-new-element-button-label",S[L].fieldClasses="array-card-container-wrapper",S[L].itemContainerComponent="FieldArrayCardContainer",S[L].items={type:"object",schema:{fields:Object.values(H(L,M.elements,{},!0))}},S[L].items.schema.fields.forEach(ve=>{var me,Le;for(const Ge of M.elements.fields){const Et=Object.keys(Ge)[0],St=((Le=(me=ve.id)==null?void 0:me.split)==null?void 0:Le.call(me,"-"))??[];if(St[St.length-1]===Et){ve.model=Et,ve.label=u(Et);break}}}),M.elements.type==="record"&&(S[L].nestedFields=!0)),!S[L].nestedFields)S[L].items.default=()=>M.elements.fields.reduce((ve,me)=>{const Le=Object.keys(me)[0];return ve[Le]=me[Le].default,ve},{});else{const ve=(me,Le)=>{if(me.type==="object"){me.model&&(Le[me.model]={});for(const Ge of me.schema.fields)ve(Ge,me.model?Le[me.model]:Le)}else me.model&&(Le[me.model]=me.default)};S[L].items.default=()=>{const me={};return ve(S[L].items,me),me}}}if(E.value&&W){for(let ue=0;ue<W.length;ue++)if(W[ue][L]){S[L]={...S[L],...W[ue][L]};break}}if(M.required&&M.type!=="boolean"&&(S[L].required=!0,S[L].selectOptions={hideNoneSelectedText:!0}),M.required&&M.type==="boolean"&&(S[L].default=M.default??!1),M.default!=null&&typeof M.default!="object"&&M.default!=="function"&&(S[L].default=M.default),S[L].type==="input"){["string","number"].includes(typeof S[L].default)&&a.config.app==="konnect"&&(S[L].placeholder=`Default: ${S[L].default===""?"<empty string>":S[L].default}`);const{type:ue}=M.elements||{};ue&&(S[L].valueArrayType=ue==="integer"?"number":ue),S[L].inputType=M.type==="array"||M.type==="string"?M.encrypted?"password":"text":M.type}let je="string";M.enum?je=F(M.enum):M.type==="boolean"?je="boolean":M.type==="number"||M.type==="integer"?(je="number",S[L].inputType="number"):M.type==="array"?(je="array",S[L].default=M.default,M.len_min>0&&(S[L].submitWhenNull=!0)):M.type==="foreign"?je="object":M.default&&Array.isArray(M.default)?(je="array",S[L].valueArrayType=F(M.default)):M.default&&(je=typeof M.default),S[L].valueType=je,M.fieldNameHasDashes&&(S[L].fieldNameHasDashes=!0)}),S},B=()=>{var he,M,L,je,an,on,ln,sn,cn,un,dn,ue;const T=((he=Xe[a.pluginType])==null?void 0:he.scope.includes(_.PluginScope.SERVICE))??!0,D=((M=Xe[a.pluginType])==null?void 0:M.scope.includes(_.PluginScope.ROUTE))??!0,S=((L=Xe[a.pluginType])==null?void 0:L.scope.includes(_.PluginScope.CONSUMER))??!0,Z=a.config.disableConsumerGroupScope?!1:((je=Xe[a.pluginType])==null?void 0:je.scope.includes(_.PluginScope.CONSUMER_GROUP))??!0,q=a.config.entityType==="consumers"&&!!a.config.entityId||!!((on=(an=x.value)==null?void 0:an.consumer)!=null&&on.id),oe=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((sn=(ln=x.value)==null?void 0:ln.consumer_group)!=null&&sn.id),W=a.config.entityType==="services"&&!!a.config.entityId||!!((un=(cn=x.value)==null?void 0:cn.service)!=null&&un.id),ie=a.config.entityType==="routes"&&!!a.config.entityId||!!((ue=(dn=x.value)==null?void 0:dn.route)!=null&&ue.id),_e=[];if(T&&_e.push({id:"service-id",model:"service-id",label:o("plugins.form.scoping.gateway_service.label"),placeholder:o("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:o("plugins.form.scoping.gateway_service.help"),disabled:W&&a.disableScopeSelection}),D&&_e.push({id:"route-id",model:"route-id",label:o("plugins.form.scoping.route.label"),placeholder:o("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:o("plugins.form.scoping.route.help"),disabled:ie&&a.disableScopeSelection}),S&&_e.push({model:"consumer-id",label:o("plugins.form.scoping.consumer.label"),placeholder:o("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:o("plugins.form.scoping.consumer.help"),disabled:q&&a.disableScopeSelection}),Z&&_e.push({model:"consumer_group-id",label:o("plugins.form.scoping.consumer_group.label"),placeholder:o("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:o("plugins.form.scoping.consumer_group.help"),disabled:oe&&a.disableScopeSelection}),_e.length){const Ie=[...T?["service"]:[],...D?["route"]:[],...S?["consumer"]:[],...Z?["consumer_group"]:[]],me=Ie.splice(Ie.length-2,2).map(Ge=>o(Ge==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ge}.plural`)).join(`${Ie.length>0?",":""} and/or `),Le=["Specific",[...Ie.length>0?[Ie.map(Ge=>o(Ge==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ge}.plural`)).join(", ")]:[],me].join(", ")].join(" ");I.selectionGroup.fields.push({label:o("plugins.form.scoping.label"),description:Le,fields:[]}),I.selectionGroup.fields[1].fields=_e}l[a.pluginType]&&l[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[a.pluginType],"formSchema")&&Object.assign(I,l[a.pluginType].formSchema)},O=t.computed(()=>!c(P.fields,h,!0)),R=t.computed(()=>!Ue.value&&!C.value&&(b.value===$.EntityBaseFormType.Create||O.value)),Y=t.ref(!1),se=t.ref(),be=T=>{a.credential&&T.password&&(T.password=""),P.fields.id=(T==null?void 0:T.id)||void 0,se.value=T==null?void 0:T.ordering,Object.assign(h,P.fields),x.value=T,Y.value=!0},de=t.ref({}),j=T=>{var D;P.fields=T.model,P.fields.id=((D=x.value)==null?void 0:D.id)||void 0,Object.assign(h,T.originalModel),de.value=T.data,a.isWizardStep&&r("model-updated",{model:P.fields,data:T.data,resourceEndpoint:N.value})},K=t.ref(new Map),z=t.computed(()=>[P.clientErrorMessage,P.serverErrorMessage].filter(Boolean).join("; ")),le=T=>{T.valid?K.value.delete(T.model):K.value.set(T.model,T.error),P.clientErrorMessage=[...K.value.entries()].map(([D,S])=>`${D}: ${typeof S=="string"?S:p(S)}`).join("; "),P.clientErrorMessage&&(P.serverErrorMessage="")};t.watch([v,Y],(T,D)=>{const S=T[0]!==D[0],Z=T[1],q=D[1];if(!E.value&&b.value===$.EntityBaseFormType.Edit&&(S||Z&&Z!==q)){const oe=H("config",V.value,I);Ke.value&&(oe._isCustomPlugin=!0),U.value&&(oe._supported_redis_partial_type=U.value),A.value=oe}},{deep:!0});const ae=()=>{a.config.cancelRoute?i.push(a.config.cancelRoute):r("cancel")},pe=t.computed(()=>{let T=`${a.config.apiBaseUrl}${Pe.form[a.config.app].validate}`;return a.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),T=T.replace(/{id}/gi,a.pluginId),T}),Fe=t.computed(()=>{const T=a.config.entityType&&a.config.entityId&&!a.developer,D=E.value?Pe.form[a.config.app].credential[b.value]:Pe.form[a.config.app][b.value][T?"forEntity":"all"];let S=`${a.config.apiBaseUrl}${D}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{resourceEndpoint}/gi,N.value),S=S.replace(/{id}/gi,a.pluginId),S=S.replace(/{entityType}/gi,a.config.entityType||""),S=S.replace(/{entityId}/gi,a.config.entityId||""),S}),Ke=t.computed(()=>!Object.keys(Xe).includes(a.pluginType)),ge=t.computed(()=>{const T=de.value;if(E.value){for(const D in _.PluginScope){const S=_.PluginScope[D];T[S]&&!T[S].id&&(T[S]={id:a.config.entityId})}delete T.created_at}return de.value.partials&&y.value&&Ci(T,y.value),T}),fe=async()=>{if(!P.clientErrorMessage&&!a.isWizardStep)try{P.isReadonly=!0;let T;const D=JSON.parse(JSON.stringify(ge.value)),S=l[a.pluginType];typeof(S==null?void 0:S.shamefullyTransformPayload)=="function"&&S.shamefullyTransformPayload({originalModel:h,model:P.fields,payload:D,schema:A.value}),!E.value&&!Ke.value&&await f.post(pe.value,D),b.value==="create"?T=await f.post(Fe.value,D):b.value==="edit"&&(T=a.config.app==="konnect"||U.value&&D.partials?await f.put(Fe.value,Object.assign({ordering:se.value},D)):await f.patch(Fe.value,D)),Object.assign(h,P.fields),r("update",T==null?void 0:T.data)}catch(T){P.serverErrorMessage=p(T),r("error",T)}finally{P.isReadonly=!1}},te=t.computed(()=>{var Z;const T=E.value?(Z=Tt[a.pluginType])==null?void 0:Z.schemaEndpoint:a.pluginType,D=E.value?Pe.form[a.config.app].credentialSchema:Pe.form[a.config.app].pluginSchema;let S=`${a.config.apiBaseUrl}${D}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{plugin}/gi,T),S}),nt=t.ref(""),Ue=t.ref(!1),G=t.ref("");return t.onBeforeMount(async()=>{var T,D,S,Z;Ue.value=!0;try{if(E.value&&a.config.app==="konnect"){const q=(T=Tt[a.pluginType])==null?void 0:T.schemaEndpoint,oe=_l[q];nt.value=q,A.value=H("",oe,{}),Ue.value=!1}else{const q=a.schema??(await f.get(te.value)).data;if(g.value=q,q)if(E.value)A.value=H("",q,{}),Ue.value=!1;else{const oe=q.fields.find(ie=>ie.config);V.value=oe?oe.config:q,q.supported_partials&&(U.value=Object.keys(q.supported_partials).find(ie=>[mn.REDIS_CE,mn.REDIS_EE].includes(ie)),y.value=(D=q.supported_partials[U.value])==null?void 0:D[0]),B();const W=(S=q.fields.find(ie=>ie.protocols))==null?void 0:S.protocols;if(W){const{default:ie=[],elements:_e={}}=W;I.protocols.default=ie,I.protocols.placeholder=a.config.app==="konnect"?o("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):o("plugins.form.fields.protocols.placeholder"),(Z=_e.one_of)!=null&&Z.length&&(I.protocols.values=_e.one_of.map(he=>({label:he,value:he})))}if(Y.value||b.value===$.EntityBaseFormType.Create){const ie=H("config",V.value,I);U.value&&(ie._supported_redis_partial_type=U.value),Ke.value&&(ie._isCustomPlugin=!0),A.value=ie}}}}catch(q){console.error(q),G.value=p(q),r("error:fetch-schema",q)}finally{Ue.value=!1}}),(T,D)=>{const S=t.resolveComponent("KSkeleton"),Z=t.resolveComponent("KEmptyState"),q=t.resolveComponent("KButton"),oe=t.resolveComponent("KTabs"),W=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",gb,[Ue.value?(t.openBlock(),t.createBlock(S,{key:0,type:"form"})):G.value?(t.openBlock(),t.createBlock(Z,{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(o)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref($.EntityBaseForm),{key:2,"can-submit":R.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref($.SupportedEntityType).Plugin,"error-message":z.value,"fetch-url":X.value,"form-fields":ge.value,"is-readonly":P.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":D[3]||(D[3]=ie=>T.$emit("error",ie)),"onFetch:success":be,onLoading:D[4]||(D[4]=ie=>T.$emit("loading",ie))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",hb)):(t.openBlock(),t.createBlock(fb,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",yb,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(q,{key:0,appearance:"tertiary","data-testid":`plugin-${k.value?"edit":"create"}-form-view-configuration`,onClick:D[2]||(D[2]=ie=>w())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(q,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${k.value?"edit":"create"}-form-cancel`,disabled:P.isReadonly,onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(q,{appearance:"primary","data-testid":`plugin-${k.value?"edit":"create"}-form-submit`,disabled:!R.value||P.isReadonly,type:"submit",onClick:fe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:fe},null,32),t.createVNode(db,{config:e.config,credential:E.value,editing:b.value===t.unref($.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":v.value,"raw-schema":g.value,record:x.value,schema:A.value,onLoading:D[0]||(D[0]=ie=>C.value=ie),onModelUpdated:j,onShowNewPartialModal:D[1]||(D[1]=ie=>T.$emit("showNewPartialModal",ie)),onValidityChange:le},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(W,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(o)("view_configuration.title"),visible:m.value,onClose:w},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("view_configuration.message")),1),t.createVNode(oe,{"data-testid":"form-view-configuration-slideout-tabs",tabs:ne.value},{json:t.withCtx(()=>[t.createVNode(t.unref($.JsonCodeBlock),{config:e.config,"entity-record":ge.value,"fetcher-url":Fe.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref($.YamlCodeBlock),{"entity-record":ge.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref($.TerraformCodeBlock),{"credential-type":nt.value,"entity-record":ge.value,"entity-type":t.unref($.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-db714491"]]),_b={class:"kong-ui-entities-plugins-list"},kb={class:"button-row"},Cb={class:"empty-state-icon-gateway"},Ab={class:"name-cell-wrapper"},wb={class:"info-wrapper"},Eb={key:0,class:"info-name"},Sb={key:1,class:"info-name"},Pb={key:2,class:"info-type"},Tb={key:1},vb=ce(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 nt,Ue;const r=Se.usePluginMetaData(),a=n,i=e,{i18n:{t:o}}=Se.useI18n(),l=Kt.useRouter(),{axiosInstance:s}=$.useAxios((nt=i.config)==null?void 0:nt.axiosRequestConfig),{hasRecords:u,handleStateChange:p}=$.useTableState(()=>V.value),d=t.computed(()=>u.value&&i.config.app==="konnect"),c=t.computed(()=>!i.enableV2EmptyStates&&i.config.app==="konnect"),f=t.computed(()=>!!i.config.entityId),m=t.computed(()=>{var G;return((G=i.config)==null?void 0:G.entityType)==="consumers"}),k=t.computed(()=>{var G;return((G=i.config)==null?void 0:G.entityType)==="consumer_groups"}),b=i.config.app==="konnect"||$.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),A={name:{label:o("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Ue=i.config)!=null&&Ue.entityId||(A.appliedTo={label:o("plugins.list.table_headers.applied_to"),sortable:!1}),A.enabled={label:o("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},b&&(A.ordering={label:o("plugins.list.table_headers.ordering"),sortable:!0}),A.tags={label:o("plugins.list.table_headers.tags"),sortable:!1};const E=A,x=t.computed(()=>{var Q,T,D,S;let G=i.config.entityType?`${i.config.apiBaseUrl}${Pe.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Pe.list[i.config.app].all}`;return i.config.app==="konnect"?G=G.replace(/{controlPlaneId}/gi,((Q=i.config)==null?void 0:Q.controlPlaneId)||""):i.config.app==="kongManager"&&(G=G.replace(/\/{workspace}/gi,(T=i.config)!=null&&T.workspace?`/${i.config.workspace}`:"")),G.replace(/{entityType}/gi,((D=i.config)==null?void 0:D.entityType)||"").replace(/{entityId}/gi,((S=i.config)==null?void 0:S.entityId)||"")}),V=t.ref(""),U=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:A.name,id:{label:o("plugins.list.table_headers.id"),sortable:!0}},placeholder:o(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...A.enabled,label:o("search.filter.field.enabled")},name:A.name,instance_name:{label:o("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:y,fetcherState:C,fetcherCacheKey:h}=$.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),x),P=()=>{V.value=""},ne=()=>{h.value++},J=t.ref(null),X=G=>{var T,D,S,Z;const Q=[];return((T=G.route)!=null&&T.id||G.route_id)&&Q.push({type:"route",badgeText:o("plugins.list.table_headers.applied_to_badges.route")}),((D=G.service)!=null&&D.id||G.service_id)&&Q.push({type:"service",badgeText:o("plugins.list.table_headers.applied_to_badges.service")}),((S=G.consumer)!=null&&S.id||G.consumer_id)&&Q.push({type:"consumer",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer")}),((Z=G.consumer_group)!=null&&Z.id||G.consumer_group_id)&&Q.push({type:"consumer_group",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer_group")}),Q.length?Q:[{type:null,badgeText:o("plugins.list.table_headers.applied_to_badges.global")}]},w=async(G,Q)=>{var T;return G===null?!1:await((T=i.canRetrieveScopedEntity)==null?void 0:T.call(i,G,Q.id))},v=(G,Q)=>{var D,S,Z,q,oe;let T=null;switch(G){case"route":T=(D=Q.route)==null?void 0:D.id;break;case"service":T=(S=Q.service)==null?void 0:S.id;break;case"consumer":T=(Z=Q.consumer)==null?void 0:Z.id;break;case"consumer_group":T=(q=Q.consumer_group)==null?void 0:q.id;break}T&&((oe=i.config)!=null&&oe.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(G,T))},I=t.ref(!1),N=t.ref(null),F=t.computed(()=>{const G={action:"disable",id:"",name:""};if(N.value){const{enabled:Q,id:T,name:D}=N.value;G.action=Q?"disable":"enable",G.id=T,G.name=r.getDisplayName(D)||T}return G}),H=G=>{I.value=!0,N.value=G},B=()=>{I.value=!1,N.value=null},O=async()=>{var D,S,Z,q,oe,W,ie,_e;if(!await((D=i.canEdit)==null?void 0:D.call(i,N.value))||!N.value)return;let Q=`${i.config.apiBaseUrl}${(oe=Pe.item[i.config.app])==null?void 0:oe[(S=i.config)!=null&&S.entityType?"forEntity":"all"].replace(/{entityType}/gi,((Z=i.config)==null?void 0:Z.entityType)||"").replace(/{entityId}/gi,((q=i.config)==null?void 0:q.entityId)||"")}`.replace(/{id}/gi,N.value.id||"");i.config.app==="konnect"?Q=Q.replace(/{controlPlaneId}/gi,((W=i.config)==null?void 0:W.controlPlaneId)||""):i.config.app==="kongManager"&&(Q=Q.replace(/\/{workspace}/gi,(ie=i.config)!=null&&ie.workspace?`/${i.config.workspace}`:""));const T=!N.value.enabled;try{const{data:he}=((_e=i.config)==null?void 0:_e.app)==="konnect"?await s.put(Q,{...N.value,enabled:T},{timeout:12e4}):await s.patch(Q,{...N.value,enabled:T},{timeout:12e4});a("toggle-enabled",T,he),N.value.enabled=T}catch(he){a("error",he)}},R=async(G,Q)=>{const T=G.id;if(!await Q(T)){a("copy:error",{entity:G,field:"id",message:o("errors.copy")});return}a("copy:success",{entity:G,field:"id",message:o("copy.success",{val:T})})},Y=async(G,Q)=>{const T=JSON.stringify(G);if(!await Q(T)){a("copy:error",{entity:G,message:o("errors.copy")});return}a("copy:success",{entity:G,message:o("copy.success_brief")})},se=async G=>{var T;await((T=i.canRetrieve)==null?void 0:T.call(i,G))&&l.push(i.config.getViewRoute(G))},be=G=>({label:o("actions.view"),to:i.config.getViewRoute(G)}),de=G=>({label:o("actions.edit"),to:i.config.getEditRoute(G)}),j=G=>({label:o("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(G)}),K=t.ref(void 0),z=t.ref(!1),le=t.ref(!1),ae=t.ref(""),pe=$.useDeleteUrlBuilder(i.config,x.value),Fe=G=>{K.value=G,z.value=!0},Ke=()=>{z.value=!1},ge=async()=>{var G,Q,T;if((G=K.value)!=null&&G.id){le.value=!0;try{await s.delete(pe(K.value.id)),le.value=!1,z.value=!1,h.value++,a("delete:success",K.value)}catch(D){ae.value=((T=(Q=D.response)==null?void 0:Q.data)==null?void 0:T.message)||D.message||o("errors.delete"),a("error",D)}finally{le.value=!1}}},fe=()=>{l.push(i.config.createRoute)};t.watch(C,G=>{var Q,T,D;if(G.status===$.FetcherStatus.Error){J.value={title:o("errors.general")},(D=(T=(Q=G.error)==null?void 0:Q.response)==null?void 0:T.data)!=null&&D.message&&(J.value.message=G.error.response.data.message),a("error",G.error);return}J.value=null});const te=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${o("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:o("plugins.title")});return t.onBeforeMount(async()=>{await i.canCreate()&&(te.value.title=o("plugins.list.empty_state.title"),te.value.ctaText=o("actions.create"))}),(G,Q)=>{const T=t.resolveComponent("KButton"),D=t.resolveComponent("KBadge"),S=t.resolveComponent("KTruncate"),Z=t.resolveComponent("KInputSwitch"),q=t.resolveComponent("KDropdownItem"),oe=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",_b,[t.createVNode(t.unref($.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":te.value,"enable-entity-actions":"","error-message":J.value,fetcher:t.unref(y),"fetcher-cache-key":t.unref(h),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:V.value,"table-headers":t.unref(E),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":Q[5]||(Q[5]=W=>se(W)),onSort:ne,onState:t.unref(p)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref($.EntityFilter),{modelValue:V.value,"onUpdate:modelValue":Q[0]||(Q[0]=W=>V.value=W),config:U.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",kb,[!f.value&&d.value?(t.openBlock(),t.createBlock(T,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[1]||(Q[1]=W=>G.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref($.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(T,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(o)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:W})=>[t.createElementVNode("div",Ab,[t.createVNode(t.unref(Ut.PluginIcon),{class:"plugin-icon",name:W.name,size:24},null,8,["name"]),t.createElementVNode("div",wb,[W.instance_name?(t.openBlock(),t.createElementBlock("span",Eb,t.toDisplayString(W.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Sb,t.toDisplayString(t.unref(r).getDisplayName(W.name)),1)),W.instance_name?(t.openBlock(),t.createElementBlock("span",Pb,t.toDisplayString(t.unref(r).getDisplayName(W.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:W})=>[X(W).length>0?(t.openBlock(),t.createBlock(S,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(X(W),ie=>(t.openBlock(),t.createBlock(t.unref($.PermissionsWrapper),{key:ie.badgeText,"auth-function":()=>w(ie.type,W),"force-show":""},{default:t.withCtx(({isAllowed:_e})=>[t.createVNode(D,{class:t.normalizeClass(_e||"disabled"),onClick:t.withModifiers(he=>_e&&ie.type&&v(ie.type,W),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ie.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",Tb,"-"))]),enabled:t.withCtx(({row:W})=>[t.createVNode(t.unref($.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(W)&&await e.canToggle(W)),"force-show":""},{default:t.withCtx(({isAllowed:ie})=>{var _e,he;return[t.createElementVNode("div",{onClick:Q[4]||(Q[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(Z,{disabled:!ie,"disabled-tooltip-text":!ie&&((he=(_e=e.config).getToggleDisabledTooltip)==null?void 0:he.call(_e,W))||void 0,"model-value":W.enabled,onClick:t.withModifiers(M=>ie&&H(W),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:W})=>[t.createVNode(D,{appearance:t.unref(bi)(W)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(bi)(W)?t.unref(o)("plugins.list.table_headers.ordering_badge.static"):t.unref(o)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:W})=>[t.createVNode(t.unref($.TableTags),{tags:W},null,8,["tags"])]),actions:t.withCtx(({row:W})=>[t.createVNode(oe,null,{default:t.withCtx(({copyToClipboard:ie})=>[t.createVNode(q,{"data-testid":"action-entity-copy-id",onClick:_e=>R(W,ie)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(oe,null,{default:t.withCtx(({copyToClipboard:ie})=>[t.createVNode(q,{"data-testid":"action-entity-copy-json",onClick:_e=>Y(W,ie)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref($.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(W)},{default:t.withCtx(()=>[t.createVNode(q,{"data-testid":"action-entity-view","has-divider":"",item:be(W)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref($.PermissionsWrapper),{"auth-function":()=>e.canEdit(W)},{default:t.withCtx(()=>[t.createVNode(q,{"data-testid":"action-entity-edit",item:de(W)},null,8,["item"])]),_:2},1032,["auth-function"]),!m.value&&!k.value&&t.unref(b)?(t.openBlock(),t.createBlock(t.unref($.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(W)},{default:t.withCtx(()=>[j(W)?(t.openBlock(),t.createBlock(q,{key:0,"data-testid":"action-entity-config-dyn-order",item:j(W)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref($.PermissionsWrapper),{"auth-function":()=>e.canDelete(W)},{default:t.withCtx(()=>[t.createVNode(q,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ie=>Fe(W)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(u)&&c.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(T,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:Q[2]||(Q[2]=W=>G.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!V.value&&e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var W;return[t.createVNode(t.unref($.EntityEmptyState),{"action-button-text":t.unref(o)("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(o)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(o)("plugins.list.empty_state_v2.title"),"onClick:create":fe,"onClick:learnMore":Q[3]||(Q[3]=ie=>G.$emit("click:learn-more"))},t.createSlots({image:t.withCtx(()=>[t.createElementVNode("div",Cb,[t.createVNode(t.unref(Ce.PlugIcon),{color:t.unref(sg),size:t.unref(ug)},null,8,["color","size"])])]),_:2},[(W=e.config)!=null&&W.isControlPlaneGroup?{name:"message",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("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($.EntityToggleModal),{action:F.value.action,"entity-id":F.value.id,"entity-name":F.value.name,"entity-type":t.unref(o)("glossary.plugin"),"on-confirm":O,visible:I.value,onCancel:B,onProceed:B},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref($.EntityDeleteModal),{"action-pending":le.value,description:t.unref(o)("delete.description"),"entity-name":K.value&&(K.value.instance_name||K.value.name||K.value.id),"entity-type":t.unref($.EntityTypes).Plugin,error:ae.value,title:t.unref(o)("delete.title"),visible:z.value,onCancel:Ke,onProceed:ge},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-a33ca66d"]]),Nb={class:"plugin-select-card-wrapper"},Ob=["data-testid"],xb={class:"plugin-card-header"},Ib={class:"plugin-card-title"},Rb={key:0,class:"plugin-card-actions"},Bb=["data-testid","title"],Lb={key:0,class:"plugin-card-text"},Db={key:0},$b=["title"],Mr=ce(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 r=n,a=e,i=Kt.useRouter(),{i18n:{t:o}}=Se.useI18n(),l=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),s=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),u=t.computed(()=>!!(m.value&&!f.value&&a.navigateOnClick&&l.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{i.push(a.config.getCreateRoute(a.plugin.id))},d=()=>{a.navigateOnClick?p():c()},c=()=>{r("plugin-clicked",a.plugin)},f=t.computed(()=>a.plugin.id==="custom-plugin-create"),m=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===_.PluginGroup.CUSTOM_PLUGINS),k=()=>{a.config.app==="konnect"&&r("custom-plugin-delete")},b=(A,E)=>{const x=a.config;a.config.app==="konnect"&&typeof x.getCustomEditRoute=="function"&&x.getCustomEditRoute&&i.push(x.getCustomEditRoute(A,E))},g=()=>{if(!s.value&&a.config.app==="konnect"){const A=a.config;f.value&&A.createCustomRoute?i.push(A.createCustomRoute):m.value&&p()}};return(A,E)=>{const x=t.resolveComponent("KButton"),V=t.resolveComponent("KDropdownItem"),U=t.resolveComponent("KDropdownMenu"),y=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Nb,[t.createVNode(y,{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:E[1]||(E[1]=C=>s.value||m.value?void 0:d())},[t.createElementVNode("div",xb,[t.createElementVNode("div",Ib,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),u.value?(t.openBlock(),t.createElementBlock("div",Rb,[t.createVNode(U,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(cg)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(V,{key:0,"data-testid":"edit-plugin-schema",onClick:E[0]||(E[0]=t.withModifiers(C=>b(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(V,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("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(o)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(Ut.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",Lb,[m.value&&!f.value?(t.openBlock(),t.createElementBlock("p",Db,t.toDisplayString(t.unref(o)("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,$b)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Bb),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(f.value?t.unref(o)("actions.create_custom"):e.plugin.exists?t.unref(o)("actions.enabled"):t.unref(o)("actions.enable")),1)],10,Ob)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),Vb=ce(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 k;const r=e,a=n,{i18nT:i,i18n:{t:o}}=Se.useI18n(),{getMessageFromError:l}=$.useErrors(),{axiosInstance:s}=$.useAxios((k=r.config)==null?void 0:k.axiosRequestConfig),u=t.computed(()=>{var b;return c.value?o("delete.plugin_schema_in_use_title"):o("delete.title",{name:((b=r.plugin)==null?void 0:b.name)||o("delete.custom_plugin")})}),p=t.ref(!1),d=t.ref(""),c=t.ref(!1),f=t.computed(()=>{if(r.config.app==="konnect"){const b=r.plugin.customPluginType==="streaming"?Pe.select[r.config.app].streamingCustomPluginItem:Pe.select[r.config.app].schemaCustomPluginItem;let g=`${r.config.apiBaseUrl}${b}`;return g=g.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,r.plugin.id),g}return null}),m=async()=>{var b,g,A,E;if(p.value=!0,d.value="",!(!((b=r.plugin)!=null&&b.name)||((g=r.config)==null?void 0:g.app)!=="konnect"))try{f.value&&await s.delete(f.value),a("proceed")}catch(x){const{response:V}=x;(V==null?void 0:V.status)===400&&((E=(A=V.data)==null?void 0:A.message)!=null&&E.includes("plugin schema is currently in use"))?c.value=!0:d.value=l(x)}finally{p.value=!1}};return(b,g)=>{const A=t.resolveComponent("KButton"),E=t.resolveComponent("KModal");return!c.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref($.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(o)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref($.EntityTypes).Plugin,error:d.value,"need-confirm":"",title:u.value,visible:"",onCancel:g[0]||(g[0]=x=>b.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(E,{key:1,"action-button-disabled":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:u.value,visible:"",onCancel:g[2]||(g[2]=x=>b.$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(A,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=x=>b.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),Fb={class:"custom-plugins-grid"},Kb={class:"empty-state-title"},Ub={class:"empty-state-description"},Gr=310,jb=ce(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 r=e,a=n,{i18n:{t:i}}=Se.useI18n(),{getTallestPluginCardHeight:o,getToggleVisibility:l}=Se.usePluginHelpers(),s=t.ref(!0),u=U=>{a("plugin-clicked",U)},p=t.computed(()=>{if(r.config.app==="kongManager")return[];const U=JSON.parse(JSON.stringify(r.pluginList))[_.PluginGroup.CUSTOM_PLUGINS]||[];return r.canCreateCustomPlugin&&r.navigateOnClick&&r.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:_.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(U):U}),d=t.ref(!1),c=t.ref(null),f=U=>{d.value=!0,c.value={id:U.id,name:U.name,customPluginType:U.customPluginType}},m=U=>{var y;U&&(a("revalidate"),a("delete:success",((y=c.value)==null?void 0:y.name)||"")),d.value=!1,c.value=null},k=t.ref(Gr),b=t.ref(null),g=t.ref(null),A=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${k.value}px`}:{}),E=t.ref(!1),x=()=>{k.value=Math.max(o(g.value),Gr),V()},V=()=>{var U,y;(U=g.value)!=null&&U.length&&(E.value=l(b.value,(y=g.value)==null?void 0:y.length))};return t.onMounted(async()=>{await t.nextTick(),k.value=Math.max(o(g.value),Gr),V(),window==null||window.addEventListener("resize",x)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",x)}),(U,y)=>{const C=t.resolveComponent("KEmptyState"),h=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Fb,[p.value.length?(t.openBlock(),t.createBlock(h,{key:1,modelValue:s.value,"onUpdate:modelValue":y[0]||(y[0]=P=>s.value=P),class:"custom-plugins-collapse","data-testid":`${t.unref(_.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(_.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:b,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(P,ne)=>(t.openBlock(),t.createBlock(Mr,{key:`plugin-card-${ne}`,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:P,onCustomPluginDelete:J=>f(P),onPluginClicked:u},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[E.value?void 0:{name:"trigger",fn:t.withCtx(()=>[y[2]||(y[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(C,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Kb,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Ub,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),d.value&&c.value?(t.openBlock(),t.createBlock(Vb,{key:2,config:e.config,plugin:c.value,onClosed:m,onProceed:y[1]||(y[1]=P=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),qr=310,al=ce(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 r=t.useModel(e,"modelValue"),a=e,i=n,{i18n:{t:o}}=Se.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Se.usePluginHelpers(),u=t.ref(qr),p=t.ref(null),d=t.ref(null),c=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${u.value}px`}:{}),f=t.ref(!1),m=()=>{u.value=Math.max(l(d.value),qr),k()},k=()=>{var b,g;(b=d.value)!=null&&b.length&&(f.value=s(p.value,(g=d.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),u.value=Math.max(l(d.value),qr),k(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(b,g)=>{const A=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(A,{modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=E=>r.value=E),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":r.value?t.unref(o)("plugins.select.view_more"):t.unref(o)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:p,class:"plugin-card-container",style:t.normalizeStyle(c.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,E=>(t.openBlock(),t.createBlock(Mr,{key:`plugin-card-${E.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:d,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:E,onPluginClicked:x=>i("plugin-clicked",E)},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"]]),Mb={class:"plugin-select-grid"},Gb={class:"empty-state-title"},qb={class:"empty-state-description"},Hr=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 r=e,a=n,{i18n:{t:i}}=Se.useI18n(),o=t.ref(!1),l=t.ref(Jr),s=p=>{a("plugin-clicked",p)},u=t.computed(()=>{const p=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete p[_.PluginGroup.CUSTOM_PLUGINS],p});return(p,d)=>{const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Mb,[Object.keys(u.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Gb,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",qb,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(al,{key:1,modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=f=>o.value=f),config:e.config,name:r.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:r.highlightedPlugins,onPluginClicked:d[1]||(d[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(Yr),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[u.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(al,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:u.value[f]||[],onPluginClicked:d[2]||(d[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Hb={class:"kong-ui-entities-plugin-select-form"},zb={class:"plugins-filter-input-container"},Wb={key:0},Yb={key:3,"aria-live":"polite",class:"plugins-results-container"},Jb={"data-testid":"kong-tab"},Xb={class:"tab-description"},Qb={"data-testid":"custom-tab"},Zb={class:"tab-description"},e_=ce(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 B;const r=e,a=n,i=Kt.useRoute(),o=Kt.useRouter(),{i18n:{t:l}}=Se.useI18n(),{pluginMetaData:s}=Se.usePluginMetaData(),{getMessageFromError:u}=$.useErrors(),{sortAlpha:p,objectsAreEqual:d}=$.useHelpers(),c=t.ref(""),f=t.ref(!0),m=t.ref(!1),k=t.ref(""),b=t.ref([]),g=t.ref([]),A=t.ref({}),E=t.ref([]),{axiosInstance:x}=$.useAxios((B=r.config)==null?void 0:B.axiosRequestConfig),V=t.computed(()=>A.value?Object.entries(A.value).filter(([O])=>O!==_.PluginGroup.CUSTOM_PLUGINS).reduce((O,[,R])=>{for(const Y of R)O[Y.id]=Y;return O},{}):{}),U=t.computed(()=>{var Y;if(!A.value)return{};const O=c.value.toLowerCase(),R=JSON.parse(JSON.stringify(A.value));for(const se in A.value){const be=((Y=A.value[se])==null?void 0:Y.filter(de=>de.name.toLowerCase().includes(O)||de.id.toLowerCase().includes(O)||de.group.toLowerCase().includes(O)))||[];be.length?R[se]=be:delete R[se]}return R}),y=t.computed(()=>r.highlightedPluginIds.reduce((O,R)=>{const Y=V.value[R];return Y&&O.push(Y),O},[])),C=t.computed(()=>Object.keys(U.value).length>0),h=t.computed(()=>Object.keys(A.value).length>0&&!C.value),P=t.computed(()=>r.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(r.customPluginSupport)}]:[]),ne=t.computed(()=>{var R;let O=P.value.length&&((i==null?void 0:i.hash)||((R=P.value[0])==null?void 0:R.hash))||"";return O==="#custom"&&["none","disabled"].includes(r.customPluginSupport)&&(O="#kong"),O}),J=()=>[...new Set([...Object.keys({...r.availableOnServer?{}:s}),...b.value])].filter(O=>!r.ignoredPlugins.includes(O)).filter(O=>r.config.entityType&&(r.config.entityType==="services"&&s[O]&&!s[O].scope.includes(_.PluginScope.SERVICE)||r.config.entityType==="routes"&&s[O]&&!s[O].scope.includes(_.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&s[O]&&!s[O].scope.includes(_.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&s[O]&&!s[O].scope.includes(_.PluginScope.CONSUMER))?!1:O).reduce((O,R)=>{var j;const Y=s[R]&&s[R].name||R,se={...s[R],id:R,name:Y,available:b.value.includes(R),disabledMessage:"",group:((j=s[R])==null?void 0:j.group)||_.PluginGroup.CUSTOM_PLUGINS};se.group===_.PluginGroup.CUSTOM_PLUGINS&&(se.customPluginType=g.value.find(K=>K.name===R)?"streaming":"schema"),r.disabledPlugins&&(se.disabledMessage=r.disabledPlugins[R]);const be=se.group||l("plugins.select.misc_plugins");let de=O[be];return de||(de=[]),de.push(se),de.sort(p("name")),O[be]=de,O},{}),X=t.computed(()=>{var R;let O=`${r.config.apiBaseUrl}${Pe.select[r.config.app].availablePlugins}`;return r.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(O=((R=r.config.gatewayInfo)==null?void 0:R.edition)==="community"?`${r.config.apiBaseUrl}${Pe.select[r.config.app].availablePluginsForOss}`:O.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),O}),w=t.computed(()=>{if(r.config.app==="konnect"&&r.customPluginSupport==="streaming"){let O=`${r.config.apiBaseUrl}${Pe.select[r.config.app].streamingCustomPlugins}`;return O=O.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""),O}return null}),v=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let O=`${r.config.apiBaseUrl}${Pe.list[r.config.app].forEntity}`;return r.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),O.replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),I=O=>{o.replace({hash:O,query:i.query})};t.watch(()=>r.disabledPlugins,(O,R)=>{!d(O,R)&&!f.value&&(A.value=J())}),t.watch(()=>r.ignoredPlugins,(O,R)=>{!d(O,R)&&!f.value&&(A.value=J())}),t.watch(f,O=>{a("loading",O)});const N=t.ref(!1),F=t.ref(!1),H=t.ref(!1);return t.onBeforeMount(async()=>{N.value=await r.canCreateCustomPlugin(),F.value=await r.canEditCustomPlugin(),H.value=await r.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:O}=await x.get(X.value);if(r.config.app==="konnect"){const{names:R}=O;if(b.value=R||[],w.value){const{data:Y}=await x.get(w.value);g.value=Y.data||[]}}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:R}}=O;b.value=R?Object.keys(R):[]}}catch(O){m.value=!0,k.value=u(O)}if(v.value)try{const{data:{data:O}}=await x.get(v.value);if(O!=null&&O.length){const R=O.reduce((Y,se)=>(se.name&&Y.push(se.name),Y),[]);E.value=E.value.concat(R)}}catch{}m.value||(A.value=J()),f.value=!1}),(O,R)=>{const Y=t.resolveComponent("KInput"),se=t.resolveComponent("KSkeletonBox"),be=t.resolveComponent("KSkeleton"),de=t.resolveComponent("KEmptyState"),j=t.resolveComponent("KTooltip"),K=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Hb,[t.createElementVNode("div",zb,[t.createVNode(Y,{modelValue:c.value,"onUpdate:modelValue":R[0]||(R[0]=z=>c.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",Wb,[t.createVNode(se,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(be,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(de,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):h.value&&c.value?(t.openBlock(),t.createBlock(de,{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:c.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Yb,[P.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(K,{key:0,modelValue:ne.value,"onUpdate:modelValue":R[5]||(R[5]=z=>ne.value=z),"data-testid":"plugins-tabs",tabs:P.value,onChange:I},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Jb,[t.createElementVNode("p",Xb,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Hr,{config:e.config,"hide-highlighted-plugins":c.value.length>0,"highlighted-plugins":y.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":U.value,onPluginClicked:R[1]||(R[1]=z=>O.$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",Qb,[t.createElementVNode("p",Zb,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(jb,{"can-create-custom-plugin":N.value,"can-delete-custom-plugin":H.value,"can-edit-custom-plugin":F.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":U.value,"onDelete:success":R[2]||(R[2]=z=>O.$emit("delete-custom:success",z)),onPluginClicked:R[3]||(R[3]=z=>O.$emit("plugin-clicked",z)),onRevalidate:R[4]||(R[4]=()=>A.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:t.withCtx(()=>[t.createVNode(j,{"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(Hr,{key:1,config:e.config,"hide-highlighted-plugins":c.value.length>0,"highlighted-plugins":y.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":U.value,onPluginClicked:R[6]||(R[6]=z=>O.$emit("plugin-clicked",z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-d2065987"]]),t_={class:"kong-ui-entity-plugin-config-card"},n_={class:"name-cell-wrapper"},r_={class:"info-name"},a_={key:0},i_={key:0},o_={key:0},l_={key:0},s_={key:0},zr="config",c_=ce(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 E;const r=n,a=e,{i18n:{t:i}}=Se.useI18n(),o=Se.usePluginMetaData(),{setFieldType:l}=Se.usePluginHelpers(),{getPropValue:s}=$.useHelpers(),u=t.computed(()=>{var x;return(x=Pe.item[a.config.app])==null?void 0:x[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId).concat(a.expandPartial?"?expand_partials=true":"")}),p=t.computed(()=>{var U,y;const x={},V=((U=b.value)==null?void 0:U.fields)||[];for(let C=0;C<V.length;C++){const h=b.value.fields[C],P=(y=Object.keys(h))==null?void 0:y[0];l(x,P,h[P])}return{...x,instance_name:{section:$.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:$.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:$.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:$.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:$.ConfigurationSchemaSection.Basic,order:6},protocols:{type:$.ConfigurationSchemaType.BadgeTag,section:$.ConfigurationSchemaSection.Basic,order:7}}}),d=t.computed(()=>{var V,U,y;if(!((V=b.value)!=null&&V.fields))return[];const x=(U=b.value.fields)==null?void 0:U.find(C=>{var P;return((P=Object.keys(C))==null?void 0:P[0])===zr});return((y=x==null?void 0:x[zr])==null?void 0:y.fields)||[]}),c=t.computed(()=>{var V,U;const x={};if(!d.value)return x;for(let y=0;y<((V=d.value)==null?void 0:V.length);y++){const C=d.value[y],h=(U=Object.keys(C))==null?void 0:U[0],P=C[h];P.required&&(x[h]={order:1}),l(x,h,P)}return x}),{getMessageFromError:f}=$.useErrors(),{axiosInstance:m}=$.useAxios((E=a.config)==null?void 0:E.axiosRequestConfig),k=t.computed(()=>{var V,U;let x=`${a.config.apiBaseUrl}${Pe.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((V=a.config)==null?void 0:V.controlPlaneId)||""):a.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(U=a.config)!=null&&U.workspace?`/${a.config.workspace}`:"")),x=x.replace(/{plugin}/gi,a.config.pluginType),x}),b=t.ref({});$.useSchemaProvider(b);const g=t.ref(!1),A=t.ref("");return t.onBeforeMount(async()=>{g.value=!0;try{const{data:x}=await m.get(k.value);b.value=x}catch(x){A.value=f(x),r("error:fetch-schema",x)}finally{g.value=!1}}),(x,V)=>{const U=t.resolveComponent("KSkeleton"),y=t.resolveComponent("KEmptyState"),C=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",t_,[g.value?(t.openBlock(),t.createBlock(U,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):A.value?(t.openBlock(),t.createBlock(y,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(A.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref($.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref($.SupportedEntityType).Plugin,"fetch-url":u.value,"hide-title":e.hideTitle,"plugin-config-key":zr,"plugin-config-schema":c.value,"onFetch:error":V[0]||(V[0]=h=>x.$emit("fetch:error",h)),"onFetch:success":V[1]||(V[1]=h=>x.$emit("fetch:success",h)),onLoading:V[2]||(V[2]=h=>x.$emit("loading",h))},{name:t.withCtx(h=>[t.createElementVNode("div",n_,[t.createVNode(t.unref(Ut.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",h),size:24},null,8,["name"]),t.createElementVNode("span",r_,t.toDisplayString(t.unref(o).getDisplayName(t.unref(s)("rowValue",h))),1)])]),consumer:t.withCtx(h=>[t.unref(s)("rowValue",h)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",h).id,value:t.unref(s)("rowValue",h).id,type:t.unref($.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",h).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(C,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",h).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",h).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",a_,"–"))]),route:t.withCtx(h=>[t.unref(s)("rowValue",h)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",h).id,value:t.unref(s)("rowValue",h).id,type:t.unref($.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",h).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(C,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",h).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",h).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",i_,"–"))]),service:t.withCtx(h=>[t.unref(s)("rowValue",h)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",h).id,value:t.unref(s)("rowValue",h).id,type:t.unref($.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",h).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(C,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",h).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",h).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",o_,"–"))]),consumer_group:t.withCtx(h=>[t.unref(s)("rowValue",h)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",h).id,value:t.unref(s)("rowValue",h).id,type:t.unref($.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(s)("rowValue",h).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(C,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",h).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",h).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",l_,"–"))]),partials:t.withCtx(h=>{var P,ne,J,X,w,v,I,N,F;return[t.unref(s)("rowValue",h)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref($.InternalLinkItem),{key:1,item:{key:(ne=(P=t.unref(s)("rowValue",h))==null?void 0:P[0])==null?void 0:ne.id,value:((X=(J=t.unref(s)("rowValue",h))==null?void 0:J[0])==null?void 0:X.id)+((v=(w=t.unref(s)("rowValue",h))==null?void 0:w[0])!=null&&v.name?"/"+((N=(I=t.unref(s)("rowValue",h))==null?void 0:I[0])==null?void 0:N.name):""),type:t.unref($.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var H,B;return x.$emit("navigation-click",(B=(H=t.unref(s)("rowValue",h))==null?void 0:H[0])==null?void 0:B.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(C,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",h).label}),"data-testid":"partial-copy-uuid",text:(F=t.unref(s)("rowValue",h))==null?void 0:F[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",s_,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-c314449c"]]),{usePluginMetaData:u_,useProvideExperimentalFreeForms:d_}=Se;Object.defineProperty(re,"PluginGroup",{enumerable:!0,get:()=>_.PluginGroup}),Object.defineProperty(re,"PluginScope",{enumerable:!0,get:()=>_.PluginScope}),Object.defineProperty(re,"PluginIcon",{enumerable:!0,get:()=>Ut.PluginIcon}),Object.defineProperty(re,"getPluginIconURL",{enumerable:!0,get:()=>Ut.getPluginIconURL}),re.EXPERIMENTAL_FREE_FORM_PROVIDER=Vn,re.EntityTypeIdField=ct,re.FEATURE_FLAGS=oa,re.PLUGIN_GROUPS_COLLAPSE_STATUS=Jr,re.PluginConfigCard=c_,re.PluginForm=bb,re.PluginGroupArray=Yr,re.PluginList=vb,re.PluginPartialType=mn,re.PluginSelect=e_,re.PluginSelectCard=Mr,re.PluginSelectGrid=Hr,re.pluginEndpoints=Pe,re.usePluginMetaData=u_,re.useProvideExperimentalFreeForms=d_,Object.defineProperty(re,Symbol.toStringTag,{value:"Module"})});
|