{% if r.error %}

⚠ {{ r.error }}

{% else %}
{{ r.package }} {{ r.old_version }} → {{ r.new_version }} ({{ t('vd.api_summary', removed=r.counts.removed, added=r.counts.added, changed=r.counts.changed) }})
{{ t('vd.your_code') }}
{% if not r.used_paths %}

{{ t('vd.no_usage') }}

{% else %} {% for b in r.your_code.broken %}
{{ b.path }} — {{ t('vd.broken') }}{% if b.hint %} ({{ t('vd.hint') }}: {{ b.hint|join(', ') }}){% endif %}
{% endfor %} {% for c in r.your_code.changed %}
~ {{ c.path }}: {{ c.old }}{{ c.new }}
{% endfor %} {% for u in r.your_code.unresolved %}
? {{ u }} — {{ t('vd.unresolved') }}
{% endfor %}
✓ {{ t('vd.ok', n=r.your_code.ok|length) }}
{% endif %} {% set _c = r.counts %} {% if _c.removed or _c.changed or _c.added %}
{{ t('vd.api_changes', removed=_c.removed, changed=_c.changed, added=_c.added) }}
{% if r.used.removed or r.used.changed %}
{{ t('vd.used_hits') }}
{% for s in r.used.removed %}
{{ s }}
{% endfor %} {% for c in r.used.changed %}
~ {{ c.symbol }}: {{ c.old }}{{ c.new }}
{% endfor %} {% endif %} {% if r.all.removed %}
{{ t('vd.removed_h') }}
{% for s in r.all.removed[:25] %}
{{ s }}
{% endfor %} {% if _c.removed > 25 %}
{{ t('vd.more', n=_c.removed - 25) }}
{% endif %} {% endif %} {% if r.all.changed %}
{{ t('vd.changed_h') }}
{% for c in r.all.changed[:25] %}
~ {{ c.symbol }}: {{ c.old }}{{ c.new }}
{% endfor %} {% if _c.changed > 25 %}
{{ t('vd.more', n=_c.changed - 25) }}
{% endif %} {% endif %} {% if r.all.added %}
{{ t('vd.added_h') }}
{% for s in r.all.added[:25] %}
+ {{ s }}
{% endfor %} {% if _c.added > 25 %}
{{ t('vd.more', n=_c.added - 25) }}
{% endif %} {% endif %}
{% else %}

{{ t('vd.no_api_changes') }}

{% endif %}
{{ t('vd.vulns') }}
{{ r.old_version }}: {% if r.vulnerabilities.old %}{{ r.vulnerabilities.old|length }} {% for v in r.vulnerabilities.old[:4] %}{{ v.aliases[0] if v.aliases else v.id }}{% endfor %} {% else %}{{ t('vd.clean') }}{% endif %}
{{ r.new_version }}: {% if r.vulnerabilities.new %}{{ r.vulnerabilities.new|length }} {% for v in r.vulnerabilities.new[:4] %}{{ v.aliases[0] if v.aliases else v.id }}{% endfor %} {% else %}{{ t('vd.clean') }}{% endif %}
{% endif %}