{% endif %}
{% if ( not pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|selectattr("category", "defined")|list|length ) or ( not pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|selectattr("category", "defined")|list|length ) %}
{% if use_page.doc_type is defined %}
{% set sidebarpages = pages|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %}
{% else %}
{% set sidebarpages = pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %}
{% endif %}
{% for page in sidebarpages %}
{% if loop.index == 1 %}{# Skip the first element since it's linked by the funnel header #}
{% elif page.template == "template-redirect.html" %}{# skip redirects #}
{% elif page == use_page %}
{% for cat in categories %}
{% set catpages = pages|selectattr("category", 'defined_and_equalto', cat)|list %}
{% if use_page.funnel is defined %}
{% set catpages = catpages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %}
{% endif %}
{% if use_page.doc_type is defined %}
{% set catpages = catpages|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %}
{% endif %}
{% set catpages = catpages|selectattr("supercategory", 'defined_and_equalto', use_page.supercategory)|list %}
{% if catpages|length %}
{% set cat_parent = pages|selectattr('category', 'defined_and_equalto', cat)|first %}
{% set printed_subcategories = [] %}
{% for page in catpages %}
{% if loop.index != 1 %}{# Skip the first element since it's linked by the category header #}
{% if page.template == "template-redirect.html" %}{# skip redirects #}
{% elif page.subcategory is undefined %}
{% if page == use_page %}
{% else %}
{% set sidebar_pagelist = pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %}
{% if use_page.doc_type is defined %}
{% set sidebar_pagelist = sidebar_pagelist|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %}
{% endif %}
{% set printed_modules = [] %}
{% for page in sidebar_pagelist %}
{% if page.supercategory is defined %}
{% if page.supercategory not in printed_modules %}
{% set supercat = page.supercategory %}
{% set supercatpages = sidebar_pagelist|selectattr("supercategory", 'defined_and_equalto', page.supercategory)|list %}
{% if supercatpages|length %}
{% set supercat_parent = supercatpages|first %}
{% set _ = printed_modules.append(page.supercategory) %}
{% set printed_categories = [] %}
{% for subpage in supercatpages %}
{% if loop.index != 1 %}{# Skip the first element since it's linked by the supercategory header #}
{% if subpage.template == "template-redirect.html" %}{# skip redirects #}
{% elif subpage.category not in printed_categories %}
{% set category_members = supercatpages|selectattr('category', 'defined_and_equalto', subpage.category)|list %}
{% for subsubpage in category_members %}
{% if subsubpage != subpage and (subsubpage.subcategory is undefined or
subsubpage == category_members|selectattr('subcategory', 'defined_and_equalto', subsubpage.subcategory)|first) and subsubpage.template != "template-redirect.html" %}
{% endif %}
{% endif %}
{% elif page.category is defined and page.category not in printed_modules %}
{% set cat = page.category %}
{% set catpages = sidebar_pagelist|selectattr("category", 'defined_and_equalto', page.category)|list %}
{% if catpages|length %}
{% set cat_parent = catpages|first %}
{% set printed_subcategories = [] %}
{% for page in catpages %}
{% if loop.index != 1 %}{# Skip the first element since it's linked by the category header #}
{% if page.template == "template-redirect.html" %}{# skip redirects #}
{% elif page.subcategory is undefined %}
{% if page == use_page %}