{% set view_padding %}
  {% include 'maps/view-padding.json.j2' %}
{% endset %}

{% set cluster_maximum_feature_distance %}
  {% include 'maps/cluster/maximum-feature-distance.json.j2' %}
{% endset %}

{% set cluster_minimum_cluster_distance %}
  {% include 'maps/cluster/minimum-cluster-distance.json.j2' %}
{% endset %}

{% set marker_place_anchor %}
  {% include 'maps/marker/place-anchor.json.j2' %}
{% endset %}

{% set ns = namespace(
  control_full_screen = {},
  control_zoom_in = {},
  control_zoom_out = {},
  selected_place = {}
) %}
{% for locale in project.configuration.locales %}
  {% with localizer = app.localizers.get(locale) %}
    {% set control_full_screen %}
      {% include 'maps/control/full-screen.html.j2' %}
    {% endset %}
    {% do ns.control_full_screen.setdefault(locale, control_full_screen.strip()) %}

    {% set control_zoom_in %}
      {% include 'maps/control/zoom-in.html.j2' %}
    {% endset %}
    {% do ns.control_zoom_in.setdefault(locale, control_zoom_in.strip()) %}

    {% set control_zoom_out %}
      {% include 'maps/control/zoom-out.html.j2' %}
    {% endset %}
    {% do ns.control_zoom_out.setdefault(locale, control_zoom_out.strip()) %}

    {% set selected_place %}
      {% include 'maps/selected-place.html.j2' %}
    {% endset %}
    {% do ns.selected_place.setdefault(locale, selected_place.strip()) %}
  {% endwith %}
{% endfor %}

{% set marker_place %}
  {% include 'maps/marker/place.svg.j2' %}
{% endset %}

{% set marker_place_selected %}
  {% include ['maps/marker/place--selected.svg.j2', 'maps/marker/place.svg.j2'] %}
{% endset %}

{% set marker_place_cluster %}
  {% include 'maps/marker/place-cluster.svg.j2' %}
{% endset %}

{% set marker_place_cluster_10 %}
  {% include ['maps/marker/place-cluster--10.svg.j2', 'maps/marker/place-cluster.svg.j2'] %}
{% endset %}

{% set marker_place_cluster_100 %}
  {% include ['maps/marker/place-cluster--100.svg.j2', 'maps/marker/place-cluster--10.svg.j2', 'maps/marker/place-cluster.svg.j2'] %}
{% endset %}

{% set marker_place_cluster_1000 %}
  {% include ['maps/marker/place-cluster--1000.svg.j2', 'maps/marker/place-cluster--100.svg.j2', 'maps/marker/place-cluster--10.svg.j2', 'maps/marker/place-cluster.svg.j2'] %}
{% endset %}

{
  "viewPadding": {{ view_padding.strip() | safe }},
  "clusterMaximumFeatureDistance": {{ cluster_maximum_feature_distance.strip() | safe }},
  "clusterMinimumClusterDistance": {{ cluster_minimum_cluster_distance.strip() | safe }},
  "fullScreenControlButtonHtml": {{ ns.control_full_screen | json | safe }},
  "zoomInControlButtonHtml": {{ ns.control_zoom_in | json | safe }},
  "zoomOutControlButtonHtml": {{ ns.control_zoom_out | json | safe }},
  "selectedPlaceHtml": {{ ns.selected_place | json | safe }},
  "markerPlaceAnchor": {{ marker_place_anchor.strip() | safe }},
  "markerPlaceSvg": {{ marker_place.strip() | json | safe }},
  "markerPlaceSelectedSvg": {{ marker_place_selected.strip() | json | safe }},
  "markerPlaceCluster1Svg": {{ marker_place_cluster.strip() | json | safe }},
  "markerPlaceCluster10Svg": {{ marker_place_cluster_10.strip() | json | safe }},
  "markerPlaceCluster100Svg": {{ marker_place_cluster_100.strip() | json | safe }},
  "markerPlaceCluster1000Svg": {{ marker_place_cluster_1000.strip() | json | safe }}
}
