{% set config_lines = ["IS_DRAFT=" + config.get('IS_DRAFT', {}).get('value', 'no')] if (current_endpoint != "global-config" and current_endpoint != "global-settings") else [] %}
{% set entire_config = config_lines|list %}
{% set default_settings = ["IS_DRAFT=no"] if (current_endpoint != "global-config" and current_endpoint != "global-settings") else [] %}
{% set disabled_settings = namespace(items=[]) %}
{# Canonical set of valid keys (+ multiple base-prefixes) for this editor, built
from the SAME settings walk that produces the raw config text below. The
client parser uses it to tell a real `KEY=value` line apart from a
continuation line of a multiline value (PEM cert/key, base64 block). #}
{% set known_keys = namespace(keys=[], bases=[], multiline=[], multiline_bases=[]) %}
{% for plugin_data in plugins.values() %}
{% set filtered_settings = get_filtered_settings(plugin_data["settings"], (current_endpoint == "global-config" or current_endpoint == "global-settings")) %}
{% if filtered_settings %}
{% for setting, setting_data in filtered_settings.items() if not setting_data.get('multiple', false) and setting not in blacklisted_settings %}
{% set setting_config = config.get(setting, {}) %}
{% set setting_default = setting_data.get("default", "") %}
{% set setting_method = setting_config.get("method", "default") %}
{% set setting_value = setting_config.get("value", setting_default) %}
{% if current_endpoint == "new" or clone %}
{% set setting_method = "default" %}
{% set disabled = false %}
{% if setting == "SERVER_NAME" %}
{% set setting_value = "" %}
{% endif %}
{% endif %}
{% set disabled = not is_editable_method(setting_method, allow_default=True) and (current_endpoint == "global-config" or current_endpoint == "global-settings" or not setting_config.get("global")) %}
{% if disabled %}
{% set disabled_settings.items = disabled_settings.items + [setting ~ "::" ~ setting_method] %}
{% endif %}
{% if entire_config.append(setting + "=" + setting_value) %}{% endif %}
{% if known_keys.keys.append(setting) %}{% endif %}
{% if setting_data.get("type") == "file" and known_keys.multiline.append(setting) %}{% endif %}
{% if setting_value != setting_default %}
{% if config_lines.append(setting + "=" + setting_value) %}{% endif %}
{% if default_settings.append(setting + "=" + setting_default) %}{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% set plugin_multiples = get_multiples(filtered_settings, config) %}
{% if plugin_multiples %}
{% for multiple, multiples in plugin_multiples.items() %}
{% for setting_suffix, settings in multiples.items() %}
{% for setting, setting_data in settings.items() if setting not in blacklisted_settings %}
{% set setting_config = config.get(setting, {}) %}
{% set setting_default = setting_data.get("default", "") %}
{% set setting_method = setting_config.get("method", "default") %}
{% set setting_value = setting_config.get("value", setting_default) %}
{% set disabled = not is_editable_method(setting_method, allow_default=True) and (current_endpoint == "global-config" or current_endpoint == "global-settings" or not setting_config.get("global")) %}
{% if disabled %}
{% set disabled_settings.items = disabled_settings.items + [setting ~ "::" ~ setting_method] %}
{% endif %}
{% if entire_config.append(setting + "=" + setting_value) %}{% endif %}
{% if known_keys.keys.append(setting) %}{% endif %}
{% if setting_data.get("setting_no_suffix") %}{% if known_keys.bases.append(setting_data["setting_no_suffix"]) %}{% endif %}{% endif %}
{% if setting_data.get("type") == "file" %}{% if known_keys.multiline.append(setting) %}{% endif %}{% if setting_data.get("setting_no_suffix") %}{% if known_keys.multiline_bases.append(setting_data["setting_no_suffix"]) %}{% endif %}{% endif %}{% endif %}
{% if setting_value != setting_default %}
{% if config_lines.append(setting + "=" + setting_value) %}{% endif %}
{% if default_settings.append(setting + "=" + setting_default) %}{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
{# Control keys that appear in the editor text (or are posted alongside it) but
are not iterated as plugin settings above (IS_DRAFT is emitted at the top;
the rest are defensive against future template changes). #}
{% for _control_key in ["IS_DRAFT", "SERVER_NAME", "OLD_SERVER_NAME", "USE_TEMPLATE", "OVERRIDE_NON_GLOBAL_SERVICES"] %}{% if known_keys.keys.append(_control_key) %}{% endif %}{% endfor %}
{% set raw_config = config_lines | join('\r\n') %}
{% set raw_entire_config = entire_config | join('\r\n') %}