{% set cluster_sizes = clusters|map(attribute='size')|list %} {% set largest_cluster_size = cluster_sizes|max if cluster_sizes else 0 %} {% set avg_files_per_cluster = ((cluster_sizes|sum) / (cluster_sizes|length))|round(1) if cluster_sizes else 0 %}

⚡ {{ _('FILE CLUSTERS — Similarity-Based Grouping') }}

{{ _('Files grouped by ssdeep/TLSH/SimHash similarity (threshold ≥ 0.80). Management IP filtering does not affect cluster construction.') }}

{{ stats.total_clusters }}{{ _('Total Clusters') }}
{{ stats.total_files }}{{ _('Total Files') }}
{{ stats.multi_file_clusters }}{{ _('Multi-File Clusters') }}
{{ largest_cluster_size }}{{ _('Largest Cluster') }}
{{ avg_files_per_cluster }}{{ _('Avg Files/Cluster') }}
{{ clusters|length }} / {{ clusters|length }}
{% for c in clusters %} {% set search_blob = c.cluster_id ~ ' ' ~ (c.sample_paths|join(' ')) %}
{% endfor %} {% if not clusters %}

{{ _('No file clusters recorded yet') }}

{% endif %}