From 822d1f6d3aff8d0c2f266e9b3eaca0dd7926394e Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:06:09 +0000 Subject: [PATCH 01/14] Link cluster resource titles and show their kind as plain text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each sub-cluster card's title now links to the resource (its DOI), underlined as a link; the author-year button stays as the secondary reference action, now named as such for screen readers. Focus and type read as quiet sentence-case text ("Overview · Paper") on the cards and in the reference dialog instead of filled teal and magenta chips in capitals. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 12 ++++++++++++ layouts/partials/clusters/card_head.html | 8 ++++++++ layouts/partials/clusters/cluster_section.html | 18 ++++-------------- layouts/partials/clusters/featured_cards.html | 18 ++++-------------- layouts/partials/clusters/sentence_case.html | 9 +++++++++ static/js/featured-resources.js | 17 ++++++++++++----- 6 files changed, 49 insertions(+), 33 deletions(-) create mode 100644 layouts/partials/clusters/card_head.html create mode 100644 layouts/partials/clusters/sentence_case.html diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index c778c11b676..b1482a50235 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -2406,3 +2406,15 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .disciplines-areas{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px;padding:0;list-style:none} .disciplines-areas li{margin:0} .disciplines-areas .badge{padding:4px 10px;border-radius:999px;font:600 15px/1.3 var(--text)} + +/* Resource cards: the kind of resource as quiet text ("Overview · Paper"), not filled chips, and the + title as an underlined link to the resource. The reference button is a secondary action beside Save. */ +.card-kind{margin:0 0 2px;font:400 15px/1.35 var(--text);color:var(--soft);letter-spacing:0;text-transform:none} +.fc-card .fc-body{min-width:0;flex:1} +.fc-title a,.fr-title a,.ref-popup-title a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} +.fc-title a:hover,.fr-title a:hover,.ref-popup-title a:hover{color:var(--ink)} +.fc-title,.fr-title{margin-bottom:4px} +.fc-summary a{text-decoration:underline;text-underline-offset:3px} +.fr-ref-trigger{color:var(--soft);border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:.2rem .5rem} +.fr-ref-trigger:hover{color:var(--ink);border-color:var(--ink)} +.ref-popup .card-kind{margin-bottom:4px} diff --git a/layouts/partials/clusters/card_head.html b/layouts/partials/clusters/card_head.html new file mode 100644 index 00000000000..43d23330220 --- /dev/null +++ b/layouts/partials/clusters/card_head.html @@ -0,0 +1,8 @@ +{{/* A resource card's kind and title: "Overview · Paper" in quiet text, then the title as a link to the + resource (its DOI). Expects dict: focus, type, title, doi, cls ("fc" for compact cards, "fr" for + recommended ones). The reference button below the card stays the way to the citation. */}} +{{ $kind := slice }} +{{ with .focus }}{{ $kind = $kind | append (partial "clusters/sentence_case.html" .) }}{{ end }} +{{ with .type }}{{ $kind = $kind | append (partial "clusters/sentence_case.html" .) }}{{ end }} +{{ with $kind }}

{{ delimit . " · " }}

{{ end }} +
{{ if .doi }}{{ partial "clusters/rich_text.html" .title }}{{ else }}{{ partial "clusters/rich_text.html" .title }}{{ end }}
diff --git a/layouts/partials/clusters/cluster_section.html b/layouts/partials/clusters/cluster_section.html index 16b907b55a1..b918e0b0897 100644 --- a/layouts/partials/clusters/cluster_section.html +++ b/layouts/partials/clusters/cluster_section.html @@ -87,14 +87,10 @@

@@ -147,18 +143,12 @@

diff --git a/layouts/partials/clusters/featured_cards.html b/layouts/partials/clusters/featured_cards.html index 6734505d63c..cc7d99afd83 100644 --- a/layouts/partials/clusters/featured_cards.html +++ b/layouts/partials/clusters/featured_cards.html @@ -20,14 +20,10 @@ data-specificity="{{ cond (eq .specificity "Narrow") "narrow" "broad" }}" {{ if eq .specificity "Narrow" }}style="display:none;"{{ end }}>
-
- {{ if .focus }}{{ .focus }}{{ end }} - {{ if .resource_type }}{{ .resource_type }}{{ end }} -
-
{{ partial "clusters/rich_text.html" .title }}
+ {{ partial "clusters/card_head.html" (dict "focus" .focus "type" .resource_type "title" .title "doi" .doi "cls" "fr") }}
{{ .summary }}
- @@ -89,18 +85,12 @@ data-specificity="{{ cond (eq .specificity "Narrow") "narrow" "broad" }}" {{ if eq .specificity "Narrow" }}style="display:none;"{{ end }}>
-
-
- {{ if .focus }}{{ .focus }}{{ end }} - {{ if .resource_type }}{{ .resource_type }}{{ end }} -
-
{{ partial "clusters/rich_text.html" .title }}
-
+ {{ partial "clusters/card_head.html" (dict "focus" .focus "type" .resource_type "title" .title "doi" .doi "cls" "fc") }} {{ if .summary }}
{{ .summary }}
{{ end }}
- diff --git a/layouts/partials/clusters/sentence_case.html b/layouts/partials/clusters/sentence_case.html new file mode 100644 index 00000000000..5788747bd7b --- /dev/null +++ b/layouts/partials/clusters/sentence_case.html @@ -0,0 +1,9 @@ +{{- /* A focus or type label in sentence case: "practice/tools" → "Practice/tools", "Journal Article" → "Journal article". + Words in capitals stay so ("Preprint/OSF"). static/js/featured-resources.js has the same rule (sentenceCase). */ -}} +{{- $out := slice -}} +{{- range $i, $w := split (. | default "" | strings.TrimSpace) " " -}} + {{- if eq $i 0 -}}{{- $w = printf "%s%s" (upper (substr $w 0 1)) (substr $w 1) -}} + {{- else if ne $w (upper $w) -}}{{- $w = lower $w -}}{{- end -}} + {{- $out = $out | append $w -}} +{{- end -}} +{{- return delimit $out " " -}} diff --git a/static/js/featured-resources.js b/static/js/featured-resources.js index 131f0cc400b..05b3a91cfc7 100644 --- a/static/js/featured-resources.js +++ b/static/js/featured-resources.js @@ -38,6 +38,15 @@ } /** The same text without markup, for copying and the PDF. */ + /** "practice/tools" -> "Practice/tools", "Journal Article" -> "Journal article"; words in capitals stay + (layouts/partials/clusters/sentence_case.html has the same rule). */ + function sentenceCase(s) { + return String(s).trim().split(' ').map(function (w, i) { + if (i === 0) return w.charAt(0).toUpperCase() + w.slice(1); + return w === w.toUpperCase() ? w : w.toLowerCase(); + }).join(' '); + } + function plainText(s) { return decodeEntities(s).replace(/<\/?(?:i|em|scp)>/gi, '').replace(/\s+/g, ' ').trim(); } @@ -101,16 +110,14 @@ } var html = ''; // Tags + title - html += '
'; - if (r.focus) html += '' + escHtml(r.focus) + ''; - if (r.resource_type) html += '' + escHtml(r.resource_type) + ''; - html += '
'; + var kind = [r.focus, r.resource_type].filter(Boolean).map(sentenceCase).join(' \u00b7 '); + if (kind) html += '

' + escHtml(kind) + '

'; html += '
' + richText(r.title) + '
'; // APA if (r.apa) { html += '
'; - html += ''; + html += ''; html += '
' + richText(r.apa) + '
'; html += '
'; html += ' +
diff --git a/static/js/featured-resources.js b/static/js/featured-resources.js index 05b3a91cfc7..4a29ecfa895 100644 --- a/static/js/featured-resources.js +++ b/static/js/featured-resources.js @@ -96,9 +96,18 @@ if (!backdrop || !body) return; var latest = null; // the reference asked for last, so a slow fetch can't open an older one + var returnTo = null; // the control that opened the dialog, which gets focus back on close + var dialog = backdrop.querySelector('.ref-popup'); + + function focusables() { + return Array.prototype.filter.call( + dialog.querySelectorAll('a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])'), + function (el) { return el.getClientRects().length > 0; }); + } function open(doi, trigger) { latest = doi; + if (trigger) returnTo = trigger; var r = resourceIdx[doi]; if (!r) { if (trigger) trigger.setAttribute('aria-busy', 'true'); @@ -157,12 +166,18 @@ body.innerHTML = html; backdrop.classList.add('open'); document.body.style.overflow = 'hidden'; + /* Focus moves into the dialog, on its first control (Close), so Tab and Escape act on it. */ + if (dialog) dialog.setAttribute('tabindex', '-1'); + (closeBtn || dialog).focus({ preventScroll: true }); } function close() { + if (!backdrop.classList.contains('open')) return; backdrop.classList.remove('open'); body.innerHTML = ''; document.body.style.overflow = ''; + if (returnTo && document.contains(returnTo)) returnTo.focus({ preventScroll: true }); + returnTo = null; } // Event delegation: ref trigger buttons @@ -202,7 +217,16 @@ if (e.target === backdrop) close(); }); document.addEventListener('keydown', function (e) { - if (e.key === 'Escape' && backdrop.classList.contains('open')) close(); + if (!backdrop.classList.contains('open')) return; + if (e.key === 'Escape') { close(); return; } + if (e.key !== 'Tab') return; + /* Tab stays inside the dialog: from the last control back to the first, and the other way. */ + var items = focusables(); + if (!items.length) { e.preventDefault(); return; } + var first = items[0], last = items[items.length - 1]; + var inside = dialog.contains(document.activeElement); + if (e.shiftKey && (document.activeElement === first || !inside)) { e.preventDefault(); last.focus(); } + else if (!e.shiftKey && (document.activeElement === last || !inside)) { e.preventDefault(); first.focus(); } }); } From fc2a8a9bdb7f981f16010b2a6460eebba0cf1b1f Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:09:47 +0000 Subject: [PATCH 03/14] Fold the cluster filters on phones, explain counts and say when nothing matches - Phones: the search fills the width and Focus, Type and the specialist toggle sit in a closed Filters disclosure whose label counts the active filters; from 761 px the disclosure is open and its summary hidden. Filter buttons, search and toggles are at least 44 px tall on phones and touch screens, and the filter buttons expose aria-pressed in labelled groups. - Sub-cluster counts read "25 of 27 shown", and a line under the specialist toggle says that specialist resources stay hidden until it is ticked. - A status line under the bar gives the number of resources shown while a filter or search is set and says "No resources match." with a Clear filters button when none is; it is a live region. The drop-down of search hits is gone from cluster pages: it counted differently from the filtered list and announced a second result. /disciplines/ keeps it. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 39 ++++++++++ .../partials/clusters/cluster_section.html | 4 +- .../partials/clusters/clusters_controls.html | 71 +++++++++++-------- static/js/featured-resources.js | 54 +++++++++++++- 4 files changed, 135 insertions(+), 33 deletions(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index b1482a50235..0733c3a49fc 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -2418,3 +2418,42 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .fr-ref-trigger{color:var(--soft);border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:.2rem .5rem} .fr-ref-trigger:hover{color:var(--ink);border-color:var(--ink)} .ref-popup .card-kind{margin-bottom:4px} + +/* Filter bar: search, then a Filters disclosure holding Focus, Type and the specialist toggle. From 761 px + the disclosure is open and its summary hidden, so the bar reads as one row of controls. */ +.fr-filter-bar{align-items:center} +.fr-filter-more{flex:1 1 520px;min-width:0} +.fr-filter-more__body{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px} +.fr-filter-more>summary{display:none} +.fr-filter-group--specialist{flex-direction:column;align-items:flex-start;gap:2px} +.fr-filter-hint{font-size:15px;line-height:1.35;color:var(--soft);max-width:34em} +.fr-search-input::-webkit-search-cancel-button{cursor:pointer} +.fr-filter-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px} +.fr-filter-status{margin:0;font-size:16px;color:var(--ink)} +.fr-filter-status:empty{display:none} +.fr-filter-result__clear{background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:8px 16px;font:600 15px/1.3 var(--text);color:var(--ink);cursor:pointer} +.fr-filter-result__clear:hover{background:var(--ink);color:#fff} +.fr-filter-result__clear[hidden]{display:none} +@media (max-width:760px){ + .fr-filter-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px} + .fr-filter-search-group,.fr-filter-search-group .fr-search-input{width:100%;max-width:none} + .fr-filter-more{flex:none} + .fr-filter-more>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:600 16px/1.3 var(--text);color:var(--ink);cursor:pointer;list-style:none;width:max-content} + .fr-filter-more>summary::-webkit-details-marker{display:none} + .fr-filter-more>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 4px} + .fr-filter-more[open]>summary::after{transform:rotate(-135deg);margin-top:4px} + .fr-filter-more[open]>summary{margin-bottom:12px} + .fr-filter-more__body{flex-direction:column;align-items:stretch;gap:14px} + .fr-filter-group{align-items:flex-start;flex-direction:column;gap:6px} + .fr-clear-btn{margin-left:0;align-self:flex-start} +} +/* Tap targets of at least 44 px on phones and touch screens. */ +@media (max-width:760px),(pointer:coarse){ + .fr-tag-btn{min-height:44px;padding-inline:14px} + .fr-search-input{min-height:44px} + .fr-specificity-toggle{min-height:44px} + .fr-clear-btn{min-height:44px;padding-inline:14px} + .fr-filter-result__clear{min-height:44px} +} +.fr-filter-result__go{font-size:16px;text-decoration:underline;text-underline-offset:3px} +.fr-filter-result__go[hidden]{display:none} diff --git a/layouts/partials/clusters/cluster_section.html b/layouts/partials/clusters/cluster_section.html index b918e0b0897..00d935404e7 100644 --- a/layouts/partials/clusters/cluster_section.html +++ b/layouts/partials/clusters/cluster_section.html @@ -43,7 +43,7 @@

- {{ len $featuredData }} of {{ len $featuredData }} + {{ len $featuredData }} of {{ len $featuredData }} shown
{{ partial "clusters/featured_cards.html" (dict "resources" $featuredData "cluster_number" (int $cluster.number)) }} @@ -59,7 +59,7 @@

- {{ len $sc.publications }} of {{ len $sc.publications }} + {{ len $sc.publications }} of {{ len $sc.publications }} shown diff --git a/layouts/partials/clusters/clusters_controls.html b/layouts/partials/clusters/clusters_controls.html index 673037fa735..0874237e9e8 100644 --- a/layouts/partials/clusters/clusters_controls.html +++ b/layouts/partials/clusters/clusters_controls.html @@ -1,45 +1,58 @@ {{/* Search toolbar + card filters + mobile nav toggle (shared by hub and cluster subpages) */}}
- {{/* Filter bar: search + Focus/Type tags + specificity toggle */}} + {{/* Filter bar: search, then Focus, Type and the specialist toggle. On a phone those three sit in a + closed "Filters" disclosure under a full-width search; from 761 px the disclosure is open and its + summary hidden (the script after it, and featured-resources.js on resize). */}}
-
{{ $tags := hugo.Data.filter_tags }} -
- Focus -
- - {{ with $tags }}{{ range .focus }} - - {{ end }}{{ end }} +
+ Filters +
+
+ Focus +
+ + {{ with $tags }}{{ range .focus }} + + {{ end }}{{ end }} +
+
+
+ Type +
+ + {{ with $tags }}{{ range .type }} + + {{ end }}{{ end }} +
+
+
+ + Resources on narrow, specialist topics stay hidden until this is ticked. +
-
-
- Type -
- - {{ with $tags }}{{ range .type }} - - {{ end }}{{ end }} -
-
-
- -
+ +
- {{/* Inline search results panel (kept for cluster/subcluster name search) */}} -
- -
+ {{/* What the filters leave: a count while any is set, or a short message when nothing matches. + The message is the live region; its link and Clear button stay outside it. The search filters the + resources in place, so the old drop-down of search hits (clusters-page.js, still used on + /disciplines/) is not on these pages: it counted differently and announced a second result. */}} +
+

+ +
{{ end }} - {{ partial "clusters/cluster_section.html" (dict "cluster" $cluster "ci" $ci "colors" $colors) }} + {{ partial "clusters/cluster_section.html" (dict "cluster" $cluster "ci" $ci "colors" $colors "marks" $arrowColors) }}
diff --git a/layouts/clusters/single.html b/layouts/clusters/single.html index 6b4a814e6d6..fa1f7742586 100644 --- a/layouts/clusters/single.html +++ b/layouts/clusters/single.html @@ -8,13 +8,6 @@

{{ .Params.heading_title | {{ with .Params.subtitle }}

{{ . | markdownify }}

{{ end }}

- {{/* CLUSTERS INTRO SECTION */}} -
-
- {{ partial "clusters/intro.html" . }} -
-
- {{/* CLUSTERS DISPLAY SECTION - The main clusters content */}}
diff --git a/layouts/partials/clusters/all_clusters.html b/layouts/partials/clusters/all_clusters.html index 1bdc0408a58..77caa9a4206 100644 --- a/layouts/partials/clusters/all_clusters.html +++ b/layouts/partials/clusters/all_clusters.html @@ -15,12 +15,23 @@ {{ partial "clusters/clusters_controls.html" . }} + {{/* The task first: the filters, then the clusters as a linked list. The introduction and the diagram + follow, and then every cluster with its references, which the filters act on. */}} + {{ partial "clusters/overview_list.html" (dict "data" $data "arrowColors" $arrowColors) }} + +
+

How the clusters fit together

+ {{ partial "clusters/intro.html" . }} +
+ +

Every cluster and its references

+
{{ partial "clusters/sidebar_nav.html" (dict "data" $data "arrowColors" $arrowColors "link_mode" "anchor") }}
{{ range $ci, $cluster := $data.clusters }} - {{ partial "clusters/cluster_section.html" (dict "cluster" $cluster "ci" $ci "colors" $colors) }} + {{ partial "clusters/cluster_section.html" (dict "cluster" $cluster "ci" $ci "colors" $colors "marks" $arrowColors "link" true) }} {{ end }}
diff --git a/layouts/partials/clusters/cluster_section.html b/layouts/partials/clusters/cluster_section.html index 00d935404e7..0df1c168032 100644 --- a/layouts/partials/clusters/cluster_section.html +++ b/layouts/partials/clusters/cluster_section.html @@ -1,4 +1,5 @@ -{{/* One cluster block (used on /clusters/ and /clusters/cluster-N/). Expects dict: cluster, ci, colors */}} +{{/* One cluster block (used on /clusters/ and /clusters/cluster-N/). Expects dict: cluster, ci, colors, marks; + link true (on /clusters/) makes the heading a link to the cluster's own page. */}} {{ $cluster := .cluster }} {{ $ci := .ci }} {{ $colors := .colors }} @@ -19,11 +20,12 @@ {{ end }} {{ $hasFeatured := and $featuredEnabled $featuredData }} -
+{{ $mark := "var(--soft)" }}{{ with .marks }}{{ $mark = index . (mod $ci (len .)) }}{{ end }} +

{{ (int $cluster.number) }} - {{ $cluster.name }} + {{ if .link }}{{ $cluster.name }}{{ else }}{{ $cluster.name }}{{ end }}

{{ len $cluster.sub_clusters }} sub-clusters · {{ $totalPubs }} references diff --git a/layouts/partials/clusters/intro.html b/layouts/partials/clusters/intro.html index c6f6d9c2d32..1aaf06adf1a 100644 --- a/layouts/partials/clusters/intro.html +++ b/layouts/partials/clusters/intro.html @@ -1,7 +1,7 @@ -{{/* intro.html - Intro text, then the clusters map (drawn from data/clusters_v4.json) */}} +{{/* intro.html - Intro text, then the clusters map (drawn from data/clusters_v4.json), whose clusters link to their own pages */}}

Teaching Open and Reproducible Science shouldn't require educators to spend months sifting through a decade of literature. FORRT simplifies this process by providing a curated, expert-backed framework. Developed by over 100 scholars, our taxonomy organizes open scholarship into {{ with hugo.Data.clusters_v4 }}{{ len .clusters }}{{ else }}11{{ end }} distinct clusters, offering a clear pathway for integrating these tenets into your teaching and mentoring, regardless of your field or level of expertise.

- {{ partial "clusters/map.html" (dict "link_mode" "anchor") }} + {{ partial "clusters/map.html" (dict "link_mode" "subpath") }}
diff --git a/layouts/partials/clusters/map.html b/layouts/partials/clusters/map.html index 97150e890b5..555dcba3f36 100644 --- a/layouts/partials/clusters/map.html +++ b/layouts/partials/clusters/map.html @@ -183,11 +183,6 @@ {{ end }} {{ $hub }} -
    - {{ range sort $laid "i" }} -
  1. {{ .name }} {{ len .pills }} sub-clusters
  2. - {{ end }} -
diff --git a/layouts/partials/clusters/overview_list.html b/layouts/partials/clusters/overview_list.html new file mode 100644 index 00000000000..c5b63a7f1b7 --- /dev/null +++ b/layouts/partials/clusters/overview_list.html @@ -0,0 +1,25 @@ +{{/* /clusters/: the eleven clusters as a plain linked list, each with its number in its colour, the first + sentence of its description (left out where that sentence only counts sub-clusters) and its counts. + Expects dict: data (clusters_v4), arrowColors. */}} +{{ $clusters := .data.clusters }} +{{ $marks := .arrowColors }} +
+

The {{ len $clusters }} clusters

+
    + {{ range $ci, $c := $clusters }} + {{ $num := int $c.number }} + {{ $refs := 0 }}{{ range $c.sub_clusters }}{{ $refs = add $refs (len .publications) }}{{ end }} + {{ $text := $c.description | default "" | replaceRE "​" "" | strings.TrimSpace }} + {{ $first := replaceRE `^([\s\S]*?[.!?])(\s[\s\S]*)?$` "$1" $text }} + {{ if or (not (findRE `[.!?]$` $first)) (findRE `(?i)sub-clusters?` $first) }}{{ $first = "" }}{{ end }} +
  1. + +
    + Cluster {{ $num }}: {{ $c.name }} + {{ with $first }}

    {{ . }}

    {{ end }} +

    {{ len $c.sub_clusters }} sub-clusters · {{ $refs }} references

    +
    +
  2. + {{ end }} +
+
diff --git a/scripts/rebrand/check_design.py b/scripts/rebrand/check_design.py index 81ebfa2631b..daf2c34a332 100644 --- a/scripts/rebrand/check_design.py +++ b/scripts/rebrand/check_design.py @@ -638,7 +638,7 @@ def check_phone_reading(browser, base, failures): const shown = (el) => !!el && el.getClientRects().length > 0; return {frame: shown(document.querySelector('.clusters-map__frame')), hub: shown(document.querySelector('.clusters-map__hub')), - chips: [...document.querySelectorAll('.clusters-map__chips a')].filter(shown).length, + chips: [...document.querySelectorAll('.clusters-overview__list a')].filter(shown).length, clusters: document.querySelectorAll('.clusters-map__list > ol > li').length}; }""" @@ -666,7 +666,7 @@ def check_clusters_map(browser, base, failures): phone = page.evaluate(CLUSTERS_MAP_PHONE) expect(not phone["frame"] and phone["hub"], "at 390 px the hub shows instead of the full drawing") expect(phone["clusters"] > 0 and phone["chips"] == phone["clusters"], - f"at 390 px every cluster has a label ({phone['chips']} of {phone['clusters']})") + f"at 390 px every cluster is linked in the list of clusters ({phone['chips']} of {phone['clusters']})") page.context.close() From 3ee19d7571bdbe142aac44f8e6d2be519ce9122e Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:13:49 +0000 Subject: [PATCH 06/14] Show the cluster side list's links as links and start it at the current cluster Cluster and sub-cluster names in the side list are underlined; the current cluster is marked by weight and aria-current instead. On a cluster page the desktop list, which scrolls in its own box, opens scrolled to the current cluster without moving the page, and soft shadows at the top and foot of the box show when there is more to scroll. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 18 ++++++++++++++++++ layouts/partials/clusters/sidebar_nav.html | 8 ++++---- static/js/clusters-page.js | 13 +++++++++++++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index edd10cc00a0..9d92b36298d 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -2470,3 +2470,21 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .cluster-title a:hover{color:var(--ink)} /* A jump to a cluster or sub-cluster stops below the pinned filters. */ .cluster-section,.acc-section{scroll-margin-top:calc(var(--clusters-controls-height,0px) + 90px)} + +/* Side list: the cluster and sub-cluster names are underlined as links; the current cluster is marked by + weight (and aria-current), not by an underline. A shadow at the top or foot of the box shows that it + scrolls when there is more above or below. */ +.cluster-nav-heading{font-weight:400} +.cluster-nav-name{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor} +.cluster-nav-heading[aria-current]{font-weight:700} +.cluster-nav-heading[aria-current] .cluster-nav-name{text-decoration:none} +.cluster-nav-subs .nav-link .cluster-nav-name{flex:1 1 auto;min-width:0} +.cluster-nav-heading:hover .cluster-nav-name,.cluster-nav-subs .nav-link:hover .cluster-nav-name{text-decoration-thickness:2px} +@media (min-width:992px){ + .clusters-sidebar-inner{background: + linear-gradient(var(--surface) 30%,rgba(240,243,245,0)) center top/100% 40px no-repeat local, + linear-gradient(rgba(240,243,245,0),var(--surface) 70%) center bottom/100% 40px no-repeat local, + radial-gradient(farthest-side at 50% 0,rgba(38,45,53,.18),rgba(38,45,53,0)) center top/100% 12px no-repeat scroll, + radial-gradient(farthest-side at 50% 100%,rgba(38,45,53,.18),rgba(38,45,53,0)) center bottom/100% 12px no-repeat scroll, + var(--surface)} +} diff --git a/layouts/partials/clusters/sidebar_nav.html b/layouts/partials/clusters/sidebar_nav.html index bd01ed17eaa..700f535f2c6 100644 --- a/layouts/partials/clusters/sidebar_nav.html +++ b/layouts/partials/clusters/sidebar_nav.html @@ -16,8 +16,8 @@
{{ $arrowColor := index $arrowColors (mod $ci (len $arrowColors)) }} - {{ if $isActive }}▾{{ else }}▸{{ end }} - {{ $cluster.name }} + + {{ $cluster.name }}
    {{/* Featured "Recommended" link — first if present */}} @@ -37,7 +37,7 @@ {{ end }} {{ end }} @@ -51,7 +51,7 @@ {{ end }} diff --git a/static/js/clusters-page.js b/static/js/clusters-page.js index bf424702cf5..c8f102ee675 100644 --- a/static/js/clusters-page.js +++ b/static/js/clusters-page.js @@ -440,6 +440,19 @@ } scheduleStickyLayoutMetrics(); + + /* The desktop side list scrolls inside its own box: start it at the current cluster, without moving + the page (on a phone the list is a drawer, opened at the top). */ + var currentNav = sidebar ? sidebar.querySelector('.cluster-nav-heading[aria-current]') : null; + var sideBox = sidebar ? sidebar.querySelector('.clusters-sidebar-inner') : null; + if (currentNav && sideBox && !clustersNavIsMobileWidth()) { + requestAnimationFrame(function () { + var header = sideBox.querySelector('.sidebar-header'); + var offset = currentNav.getBoundingClientRect().top - sideBox.getBoundingClientRect().top + sideBox.scrollTop; + sideBox.scrollTop = Math.max(0, offset - (header ? header.offsetHeight : 0) - 8); + }); + } + window.addEventListener( 'resize', function () { From 7829c0c60cc74303541e963210357f2d65aedf1b Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:14:51 +0000 Subject: [PATCH 07/14] Make the forrt_clusters term lists searchable and say what they are /forrt_clusters// pages (e.g. 258 resources tagged Preregistration) open with one line on what the list is, with a link to the clusters page, then the site's list search (the markup of shortcodes/list_filter.html, with its live count) over one column of underlined titles, each with its type as plain text, instead of three hairline-ruled columns. The link to the unfiltered resources directory is gone: the directory's cluster filter uses the current clusters, not these tags, so it cannot open on this list. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/lists.css | 14 +++++++++----- layouts/_default/list.html | 21 ++++++++++++++++----- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/assets/css/doors/lists.css b/assets/css/doors/lists.css index df6b4a8ee63..3cf41536903 100644 --- a/assets/css/doors/lists.css +++ b/assets/css/doors/lists.css @@ -91,11 +91,15 @@ .list-item-image{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px} .list-item-image img{width:120px;height:72px} } -.cluster-resources{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px 36px;margin:18px 0 0;padding:0;list-style:none} -.cluster-resources li{margin:0;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:17px;line-height:1.35} -.cluster-resources a{color:var(--link);text-decoration:none;font-weight:600} -.cluster-resources a:hover{text-decoration:underline;text-underline-offset:3px} -.cluster-resources span{display:block;margin-top:4px;color:var(--soft);font-size:15px} +.cluster-resources-intro{max-width:36em;margin:0 0 6px;font-size:18px;line-height:1.5} +.cluster-resources-intro a{text-decoration:underline;text-underline-offset:3px} +/* /forrt_clusters//: one column of underlined titles, each with its type as plain text. */ +.article-style .cluster-resources{display:block;margin:10px 0 0;padding:0;list-style:none;max-width:44em} +.article-style .list-filter~ul.cluster-resources>li{margin:0;padding:7px 0;border:0;font-size:17px;line-height:1.4} +.cluster-resources a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} +.cluster-resources a:hover{color:var(--ink)} +.cluster-resources__type{color:var(--soft);font-size:16px} +.cluster-resources-list h2{margin:24px 0 4px} .tag-find{max-width:520px;margin:20px 0 6px} .tag-find label{display:block;margin:0 0 6px;font:600 17px/1.3 var(--text)} .tag-find input{width:100%;box-sizing:border-box;padding:10px 16px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font:400 17px/1.3 var(--text);color:var(--ink)} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 4597f46f06b..c19f25cf58f 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -20,11 +20,22 @@

    {{ .Title }}

    All {{ len .Data.Pages }} teaching resources are in the directory, where you can search and filter them.

    Open the resources directory

    {{ else if and (eq (.Type | lower) "forrt_clusters") (ne .Kind "taxonomy") }} -

    {{ len .Data.Pages }} resources. Search and filter them all in the resources directory.

    - {{/* Alphabetical rows that read across, each with its type, rather than a wall of bare links. */}} -
      - {{ range sort .Data.Pages "Title" }}
    • {{ .Title }}{{ with .Params.material_type }}{{ delimit . ", " }}{{ end }}
    • {{ end }} -
    + {{/* One column of linked titles, each with its type as plain text, under the search of + shortcodes/list_filter.html (same markup; site.js filters the list items after the h2 that + follows it and keeps the count). The directory's cluster filter uses the current clusters + (forrt_clusters_new), not these tags, so there is no pre-filtered link to it. */}} +

    Resources in the FORRT database tagged with this cluster. The eleven current clusters, with their sub-clusters and references, are on the clusters page.

    +
    + +

    All {{ len .Data.Pages }} resources, A to Z

    +
      + {{ range sort .Data.Pages "Title" }}
    • {{ .Title }}{{ with .Params.material_type }} · {{ delimit . ", " }}{{ end }}
    • {{ end }} +
    +
    {{ else }} {{ $pager := .Paginate .Data.Pages }}
    {{ range $pager.Pages }}{{ partial "doors/list_item" . }}{{ end }}
    From 165348e62fc30f7879eb960cd2c12c0f17ac0fcd Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:15:30 +0000 Subject: [PATCH 08/14] Keep the disciplines side list's field names at their weight The lighter weight for side-list names applies only to the cluster list, whose names are underlined. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index 9d92b36298d..b7abfb0229e 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -2474,7 +2474,7 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} /* Side list: the cluster and sub-cluster names are underlined as links; the current cluster is marked by weight (and aria-current), not by an underline. A shadow at the top or foot of the box shows that it scrolls when there is more above or below. */ -.cluster-nav-heading{font-weight:400} +.cluster-nav-heading:has(.cluster-nav-name){font-weight:400} .cluster-nav-name{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor} .cluster-nav-heading[aria-current]{font-weight:700} .cluster-nav-heading[aria-current] .cluster-nav-name{text-decoration:none} From b8ce1969870baea3dc54f60497a5fc564c24d493 Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:27:03 +0000 Subject: [PATCH 09/14] Make the /clusters/ diagram the way into the clusters Owner decision: the diagram leads /clusters/ again and works as navigation. - Cluster names in the diagram are drawn at 32 units, about 16-17 px at 1440 px (were about 11). - Each cluster name is a link and a tab stop named "Cluster N: name", in cluster order, with a visible focus ring; the ring segments and sub-cluster pills stay out of the tab order and hidden from assistive technology (the pills are in the text list and on the cluster pages). - Pointing at a cluster or focusing its name lights it up and describes it (number, name, first sentence, counts) in a line under the diagram that sticks to the foot of the window. - The linked list of the 11 clusters follows the diagram (on phones, the small hub and this list), then the introduction, then every cluster in full with the filters directly above it. - check_seo_html.py check 21 and its tests now require named tab stops and hidden repeats instead of a drawing hidden as a whole. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 22 +++++- layouts/clusters/single.html | 7 ++ layouts/partials/clusters/all_clusters.html | 13 +--- layouts/partials/clusters/intro.html | 9 ++- layouts/partials/clusters/map.html | 74 +++++++++++++++++--- layouts/partials/clusters/overview_list.html | 2 +- scripts/check_seo_html.py | 26 ++++--- scripts/tests/test_check_seo_html.py | 16 +++-- 8 files changed, 132 insertions(+), 37 deletions(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index b7abfb0229e..a49cb534e96 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -952,7 +952,7 @@ .clusters-map__line { fill: none; stroke: var(--soft); stroke-width: 2; stroke-linecap: round; } .clusters-map__seg path:first-of-type, .clusters-map__label rect, .clusters-map__pill rect { fill: var(--c); } .clusters-map__icon { fill: #fff; } -.clusters-map__label text { font-size: 20px; font-weight: 700; } +.clusters-map__label text { font-size: 32px; font-weight: 700; } .clusters-map__pill text { font-size: 17px; font-weight: 400; } .clusters-map__disc { fill: #fff; stroke: var(--res); stroke-width: 7; } .clusters-map__cluster { transition: opacity 0.15s; } @@ -2488,3 +2488,23 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} radial-gradient(farthest-side at 50% 100%,rgba(38,45,53,.18),rgba(38,45,53,0)) center bottom/100% 12px no-repeat scroll, var(--surface)} } + +/* /clusters/ diagram as the way in: the cluster pointed at, or focused in the list after it, is described + in a line that sticks to the foot of the window while the drawing runs below it (desktop only; phones + show the hub and the list). */ +.clusters-map__info{position:sticky;bottom:0;z-index:3;margin:8px 0 0;padding:10px 16px;min-height:76px;background:var(--surface);border-radius:var(--r-large);display:flex;align-items:center} +.clusters-map__info[hidden]{display:none} +.clusters-map__hint{margin:0;font-size:16px;color:var(--soft)} +.clusters-map__about{display:flex;gap:12px;align-items:flex-start} +.clusters-map__about[hidden]{display:none} +.clusters-map__num{flex:0 0 30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font:700 15px/30px var(--text);text-align:center} +.clusters-map__name{margin:0;font:600 18px/1.3 var(--text);color:var(--ink)} +.clusters-map__desc{margin:2px 0 0;font-size:16px;line-height:1.4;color:var(--ink);max-width:80ch} +.clusters-map__count{margin:2px 0 0;font-size:15px;color:var(--soft)} +@media (max-width:760px){.clusters-map__info{display:none}} +.clusters-map__art .clusters-map__label,.clusters-map__art .clusters-map__seg{cursor:pointer} +.clusters-overview__list li[data-cluster]:hover .clusters-overview__name{color:var(--ink)} +.clusters-map__info{bottom:var(--banner,0px)} +.clusters-map__art .clusters-map__label:focus{outline:none} +.clusters-map__art .clusters-map__label:focus-visible rect{stroke:var(--ink);stroke-width:7px;paint-order:stroke} +.clusters-map__art .clusters-map__label:focus-visible{outline:3px solid var(--ink);outline-offset:4px} diff --git a/layouts/clusters/single.html b/layouts/clusters/single.html index fa1f7742586..20f49d67def 100644 --- a/layouts/clusters/single.html +++ b/layouts/clusters/single.html @@ -8,6 +8,13 @@

    {{ .Params.heading_title | {{ with .Params.subtitle }}

    {{ . | markdownify }}

    {{ end }}

+ {{/* The diagram and the list of clusters lead; every cluster in full, with the filters, follows. */}} +
+
+ {{ partial "clusters/intro.html" . }} +
+
+ {{/* CLUSTERS DISPLAY SECTION - The main clusters content */}}
diff --git a/layouts/partials/clusters/all_clusters.html b/layouts/partials/clusters/all_clusters.html index 77caa9a4206..1e54fac8920 100644 --- a/layouts/partials/clusters/all_clusters.html +++ b/layouts/partials/clusters/all_clusters.html @@ -13,19 +13,10 @@
- {{ partial "clusters/clusters_controls.html" . }} - - {{/* The task first: the filters, then the clusters as a linked list. The introduction and the diagram - follow, and then every cluster with its references, which the filters act on. */}} - {{ partial "clusters/overview_list.html" (dict "data" $data "arrowColors" $arrowColors) }} - -
-

How the clusters fit together

- {{ partial "clusters/intro.html" . }} -
-

Every cluster and its references

+ {{ partial "clusters/clusters_controls.html" . }} +
{{ partial "clusters/sidebar_nav.html" (dict "data" $data "arrowColors" $arrowColors "link_mode" "anchor") }} diff --git a/layouts/partials/clusters/intro.html b/layouts/partials/clusters/intro.html index 1aaf06adf1a..0d9dc59dcdc 100644 --- a/layouts/partials/clusters/intro.html +++ b/layouts/partials/clusters/intro.html @@ -1,7 +1,12 @@ -{{/* intro.html - Intro text, then the clusters map (drawn from data/clusters_v4.json), whose clusters link to their own pages */}} +{{/* intro.html - The way into the clusters on /clusters/: the diagram (drawn from data/clusters_v4.json), + whose clusters link to their own pages, then the same clusters as a linked list, which is the route + for keyboards, screen readers and phones, then the introduction. */}} +{{ $palette := partial "clusters/colors.html" }}
+ {{ partial "clusters/map.html" (dict "link_mode" "subpath") }} + {{ partial "clusters/overview_list.html" (dict "data" hugo.Data.clusters_v4 "arrowColors" $palette.arrowColors) }} +

About the clusters

Teaching Open and Reproducible Science shouldn't require educators to spend months sifting through a decade of literature. FORRT simplifies this process by providing a curated, expert-backed framework. Developed by over 100 scholars, our taxonomy organizes open scholarship into {{ with hugo.Data.clusters_v4 }}{{ len .clusters }}{{ else }}11{{ end }} distinct clusters, offering a clear pathway for integrating these tenets into your teaching and mentoring, regardless of your field or level of expertise.

- {{ partial "clusters/map.html" (dict "link_mode" "subpath") }}
diff --git a/layouts/partials/clusters/map.html b/layouts/partials/clusters/map.html index 555dcba3f36..bce62392f72 100644 --- a/layouts/partials/clusters/map.html +++ b/layouts/partials/clusters/map.html @@ -21,7 +21,8 @@ {{/* Sizes, in drawing units (one unit is one CSS pixel at full size). */}} {{ $fs := 17.0 }}{{ $lh := 21.0 }}{{ $padX := 14.0 }}{{ $padY := 8.0 }}{{ $pillMax := 272.0 }}{{ $pillGap := 7.0 }} {{ $colGap := 12.0 }}{{ $colMax := 520.0 }}{{ $stackGap := 26.0 }} -{{ $lfs := 20.0 }}{{ $llh := 24.0 }}{{ $lpadX := 16.0 }}{{ $lpadY := 11.0 }}{{ $labelMin := 230.0 }}{{ $labelMax := 300.0 }}{{ $labelGap := 14.0 }} +{{/* Cluster names at 32 units, so that at 1440 px, where the drawing shows at about half size, they read at 15 px or more. */}} +{{ $lfs := 32.0 }}{{ $llh := 37.0 }}{{ $lpadX := 16.0 }}{{ $lpadY := 12.0 }}{{ $labelMin := 300.0 }}{{ $labelMax := 440.0 }}{{ $labelGap := 14.0 }} {{ $Ro := 165.0 }}{{ $Ri := 104.0 }}{{ $disc := 94.0 }}{{ $dMin := 26.0 }}{{ $dMax := 205.0 }}{{ $margin := 24.0 }} {{/* 1. Each cluster: its pills, their columns and its label. */}} @@ -138,22 +139,25 @@ {{ $hub := printf `` $cx $cy $disc ("img/FORRT%20Badge%20-%20Color%20-%20v4.webp" | relURL) (sub $cx 62) (sub $cy 65) | safeHTML }}
- {{/* The drawing is for pointers and eyes: it is hidden from assistive technology and none of its - links is a tab stop. The list below carries the same links for everyone. */}} + {{/* The drawing is the way into the clusters on a wide screen. Each cluster name is a link and a tab stop, + named "Cluster N: name", in cluster order; pointing at a cluster or focusing its name lights it up and + describes it in the line below the drawing. The ring segments repeat those links and the sub-cluster + pills are in the text list, so both are out of the tab order and hidden from assistive technology. + Phones get the hub and the linked list of clusters after the figure (clusters/overview_list.html). */}} {{/* Phones get the hub and the cluster labels; the pills are in the list and the full-size view. */}} @@ -184,6 +188,13 @@ {{ $hub }}
+ {{/* The cluster pointed at or focused: its number, name, first sentence and counts, copied from the list + of clusters after the figure (so it repeats it, and is hidden from assistive technology). It sticks to + the foot of the window while the drawing runs below it. */}} +
@@ -210,6 +221,51 @@ }); } point(art); + + /* The info line under the drawing: the cluster pointed at in the drawing, or focused or pointed at in the + list of clusters (.clusters-overview), which also lights it up in the drawing. */ + var info = map.querySelector('.clusters-map__info'); + /* The list comes after this script, so the line is set up once the page has been read. */ + document.addEventListener('DOMContentLoaded', function () { + var list = document.querySelector('.clusters-overview__list'); + if (info && list) { + info.hidden = false; + var hint = info.querySelector('.clusters-map__hint'), about = info.querySelector('.clusters-map__about'); + var text = function (li, sel) { var el = li.querySelector(sel); return el ? el.textContent.trim() : ''; }; + var show = function (n) { + var li = n && list.querySelector('li[data-cluster="' + n + '"]'); + hint.hidden = !!li; about.hidden = !li; + if (!li) return; + about.style.setProperty('--c', li.style.getPropertyValue('--c')); + about.querySelector('.clusters-map__num').textContent = n; + var name = li.querySelector('.clusters-overview__name').cloneNode(true); + name.querySelectorAll('.visually-hidden').forEach(function (el) { el.remove(); }); + about.querySelector('.clusters-map__name').textContent = name.textContent.trim(); + about.querySelector('.clusters-map__desc').textContent = text(li, '.clusters-overview__desc'); + about.querySelector('.clusters-map__count').textContent = text(li, '.clusters-overview__count'); + }; + var light = function (n) { + art.classList.toggle('is-pointing', !!n); + art.querySelectorAll('.clusters-map__cluster').forEach(function (g) { g.classList.toggle('is-active', g.getAttribute('data-cluster') === String(n)); }); + }; + art.querySelectorAll('.clusters-map__cluster').forEach(function (g) { + var n = g.getAttribute('data-cluster'), name = g.querySelector('.clusters-map__label'); + g.addEventListener('mouseenter', function () { show(n); }); + g.addEventListener('mouseleave', function () { show(null); }); + if (name) { + name.addEventListener('focus', function () { show(n); light(n); }); + name.addEventListener('blur', function () { show(null); light(null); }); + } + }); + list.querySelectorAll('li[data-cluster]').forEach(function (li) { + var n = li.getAttribute('data-cluster'), link = li.querySelector('a'); + var on = function () { show(n); light(n); }, off = function () { show(null); light(null); }; + li.addEventListener('mouseenter', on); li.addEventListener('mouseleave', off); + if (link) { link.addEventListener('focus', on); link.addEventListener('blur', off); } + }); + } + }); + var open = map.querySelector('.clusters-map__enlarge'); if (typeof HTMLDialogElement !== 'function') return; var dialog = document.createElement('dialog'); diff --git a/layouts/partials/clusters/overview_list.html b/layouts/partials/clusters/overview_list.html index c5b63a7f1b7..571ad37e525 100644 --- a/layouts/partials/clusters/overview_list.html +++ b/layouts/partials/clusters/overview_list.html @@ -12,7 +12,7 @@

The {{ len {{ $text := $c.description | default "" | replaceRE "​" "" | strings.TrimSpace }} {{ $first := replaceRE `^([\s\S]*?[.!?])(\s[\s\S]*)?$` "$1" $text }} {{ if or (not (findRE `[.!?]$` $first)) (findRE `(?i)sub-clusters?` $first) }}{{ $first = "" }}{{ end }} -
  • +
  • Cluster {{ $num }}: {{ $c.name }} diff --git a/scripts/check_seo_html.py b/scripts/check_seo_html.py index 47a5b7844fd..1143a29c07e 100644 --- a/scripts/check_seo_html.py +++ b/scripts/check_seo_html.py @@ -43,9 +43,10 @@ 19. No page loads EmailOctopus or reCAPTCHA before a visitor subscribes. 20. Cluster pages render publication-title markup (, , ) instead of showing it as literal or escaped text, and at least one cluster page exists. - 21. The /clusters/ illustration (svg.clusters-map__art) is hidden from assistive technology - and holds no tab stop (every link has tabindex="-1"), and every in-page link in the - clusters map reaches an id on the page. + 21. In the /clusters/ illustration (svg.clusters-map__art) every link is either a tab stop with + an aria-label and a target (the cluster names) or has tabindex="-1" and aria-hidden="true"; + a drawing with tab stops is not aria-hidden; and every in-page link in the clusters map + reaches an id on the page. Report-only sections (never fail): pages with no

    , the site-wide share of images that carry both width and height, pages whose @@ -640,11 +641,20 @@ def check_clusters_map(public_dir): failures = [] if not parser.arts: failures.append("clusters/index.html: no svg.clusters-map__art") - failures += ["clusters/index.html: the illustration is not aria-hidden" - for art in parser.arts if art.get("aria-hidden") != "true"] - stops = [a.get("href", "") for a in parser.art_links if a.get("tabindex") != "-1"] + # Each link in the drawing is either a tab stop with a name and a target (the cluster names), or out of + # the tab order and hidden from assistive technology (the ring segments and sub-cluster pills, which + # repeat those links or are listed in the text list). A drawing with tab stops is not itself hidden. + stops = [a for a in parser.art_links if a.get("tabindex") != "-1"] if stops: - failures.append("clusters/index.html: %d links in the illustration are tab stops, e.g. %s" % (len(stops), stops[0])) + failures += ["clusters/index.html: the illustration has tab stops but is aria-hidden" + for art in parser.arts if art.get("aria-hidden") == "true"] + unnamed = [a.get("href", "") for a in stops if not (a.get("aria-label") or "").strip() or not (a.get("href") or "").strip()] + if unnamed: + failures.append("clusters/index.html: %d tab stops in the illustration lack a name or target, e.g. %s" % (len(unnamed), unnamed[0])) + exposed = [a.get("href", "") for a in parser.art_links if a.get("tabindex") == "-1" and a.get("aria-hidden") != "true" + and not any(art.get("aria-hidden") == "true" for art in parser.arts)] + if exposed: + failures.append("clusters/index.html: %d links out of the tab order are not aria-hidden, e.g. %s" % (len(exposed), exposed[0])) missing = sorted({h for h in parser.map_hrefs if unquote(h[1:]) not in parser.ids}) failures += ["clusters/index.html: %s has no target" % h for h in missing] return failures @@ -674,7 +684,7 @@ def main(public_dir): "17. every breadcrumb link has a target": [p.path for p in pages if any(not h.strip() for h in p.crumb_links)], "19. no page loads EmailOctopus or reCAPTCHA before a visitor subscribes": check_third_party_forms(pages), "20. cluster pages show no literal // title markup": check_cluster_title_markup(public_dir), - "21. the clusters illustration holds no tab stop and its links have targets": check_clusters_map(public_dir), + "21. the clusters illustration's tab stops are named and its links have targets": check_clusters_map(public_dir), } conditional = check_conditional_assets(pages) results["3. conditional highlight.js / mermaid loading"] = [ diff --git a/scripts/tests/test_check_seo_html.py b/scripts/tests/test_check_seo_html.py index 1b5f01da79e..28ecc8614b8 100644 --- a/scripts/tests/test_check_seo_html.py +++ b/scripts/tests/test_check_seo_html.py @@ -275,16 +275,22 @@ def clusters_map_failures(page): class ClustersMapCheck(unittest.TestCase): - MAP = ('
    ' + MAP = ('
    ' + 'One' + '' '
    List
    1. A
    ' '
    not in the map') - def test_hidden_drawing_with_targets_passes(self): + def test_named_tab_stops_hidden_rest_and_targets_pass(self): self.assertEqual(clusters_map_failures(self.MAP), []) - def test_tab_stop_visible_drawing_or_missing_target_fails(self): - for change in (('tabindex="-1"', ""), ('aria-hidden="true"', ""), ('id="c1-a"', 'id="c1-b"')): + def test_a_drawing_hidden_with_no_tab_stops_passes(self): + hidden = self.MAP.replace('role="group"', 'aria-hidden="true"').replace(' aria-label="Cluster 1: One"', ' tabindex="-1"') + self.assertEqual(clusters_map_failures(hidden), []) + + def test_unnamed_stop_exposed_link_hidden_drawing_or_missing_target_fails(self): + for change in ((' aria-label="Cluster 1: One"', ""), (' aria-hidden="true"', ""), + ('role="group"', 'aria-hidden="true"'), ('id="c1-a"', 'id="c1-b"')): with self.subTest(change): self.assertEqual(len(clusters_map_failures(self.MAP.replace(*change))), 1) From 457e756ddc3147a6aa95300e602a5538a0f5e8b1 Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:32:57 +0000 Subject: [PATCH 10/14] Fix contrast, sizes and widths found by the cluster page audit - Cluster panel numbers are coloured only where the panel has a cluster colour, so /disciplines/ keeps its grey badges, and they are 15 px. - Raw links in reference-only cards use the site's link colour (were 4.2:1). - The forrt_clusters explanation keeps under 80 characters a line, and the list box spans the width (its rows keep to the reading measure), as the directory-width check expects. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 4 ++-- assets/css/doors/lists.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index a49cb534e96..bd429fa36b7 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -2406,7 +2406,7 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .fc-title a,.fr-title a,.ref-popup-title a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} .fc-title a:hover,.fr-title a:hover,.ref-popup-title a:hover{color:var(--ink)} .fc-title,.fr-title{margin-bottom:4px} -.fc-summary a{text-decoration:underline;text-underline-offset:3px} +.fc-summary a{color:var(--link);text-decoration:underline;text-underline-offset:3px} .fr-ref-trigger{color:var(--soft);border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:.2rem .5rem} .fr-ref-trigger:hover{color:var(--ink);border-color:var(--ink)} .ref-popup .card-kind{margin-bottom:4px} @@ -2465,7 +2465,7 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .clusters-overview__count{margin:2px 0 0;font-size:15px;color:var(--soft)} .clusters-intro-section .clusters-intro{margin:0} /* Each cluster panel numbers itself in its own colour, and on /clusters/ its name links to its page. */ -.cluster-section .cluster-number{background:var(--c,rgba(0,0,0,.1));color:#fff} +.cluster-section[style*="--c"] .cluster-number{background:var(--c);color:#fff;font-size:15px;width:1.8em;height:1.8em} .cluster-title a{color:var(--link);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px} .cluster-title a:hover{color:var(--ink)} /* A jump to a cluster or sub-cluster stops below the pinned filters. */ diff --git a/assets/css/doors/lists.css b/assets/css/doors/lists.css index 3cf41536903..e5296e9c921 100644 --- a/assets/css/doors/lists.css +++ b/assets/css/doors/lists.css @@ -91,10 +91,10 @@ .list-item-image{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px} .list-item-image img{width:120px;height:72px} } -.cluster-resources-intro{max-width:36em;margin:0 0 6px;font-size:18px;line-height:1.5} +.cluster-resources-intro{max-width:32em;margin:0 0 6px;font-size:18px;line-height:1.5} .cluster-resources-intro a{text-decoration:underline;text-underline-offset:3px} /* /forrt_clusters//: one column of underlined titles, each with its type as plain text. */ -.article-style .cluster-resources{display:block;margin:10px 0 0;padding:0;list-style:none;max-width:44em} +.article-style .cluster-resources{display:block;margin:10px 0 0;padding:0;list-style:none;max-width:none} .article-style .list-filter~ul.cluster-resources>li{margin:0;padding:7px 0;border:0;font-size:17px;line-height:1.4} .cluster-resources a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} .cluster-resources a:hover{color:var(--ink)} From 445f782958bb17797cce2cf8f3d115c9daf7b264 Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 00:33:11 +0000 Subject: [PATCH 11/14] Rerender the /clusters/ share image with the new cluster colours and labels Made with scripts/render_clusters_share_image.py from a build of this branch, as map.html asks after the diagram changes. Co-Authored-By: Claude Opus 5.5 --- content/clusters/FORRT_Clusters.webp | Bin 97734 -> 92640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/content/clusters/FORRT_Clusters.webp b/content/clusters/FORRT_Clusters.webp index b31d755adac771dc3af13ae92d63eee4adb3ab16..b9264c39c76df79361abf1eee83de705a9590d0a 100644 GIT binary patch literal 92640 zcma&MW0Ypix+R*nZQHK2ZQHi(%*w2^ZL89@ZQHiZ_kMeKpELI8?$LeMuZZ<0V#SJQ z#zZJfiHomU0Rw4>2`j2AauQAb)2{0V%>kyV19J!AXU2#WDI_LF#lAKq0tIVm4PfiB zxP1#`9onc(e+{L~c$~%hNxbKufo9dP#r005pT0WN^iPlsJV3E>UkQNST!6#)1k`^%x-_-D3357<8n>3J$Y9zO;j0m^`6zm_kB*SJT4o8Er^6JMQgz!&As?Q5PC zfaRO=v-VZt(coF2+yBuo_=oh%<&*LS@jl=V(E79Yo#vPJLFyVjomH9dQ;c!oQ*1P}n{T1;+_)`01um_j}OaSl!hd&x;kPo}3d8Y#1 zfJ{Ky58*!_c-tD#3TXd%|A7QJln5;K_5tbvm_KnZSy!;{0#6Q42HOIYfLj3eKPyyw z5OxE23K$5;104UH{_}z`9FP{^2`KoX{H6prycz%iXFtCKsDAPQh@YqLyWe@20RX_= zXD8tHr*pUUIu6k5s<0ja5NHJerc4>jH_-7tNZawpZX}#}61HNG{(p4h-?(>`tjk2r zH}yimN*TLhANeUFfOY#MBZ;3zOZk}3<7B-}775b-j~yc_gObrR8LxrcrWRXK^1-qo zRSg1wl4x2&RE@xgYv#p=pZom%OJr7}FAewqb5eVPNPr(NCu{mh?C&mc)x-u86rXob za{s0dWWC46e$EiSibx0|X5er*L1R!PtiYlFQ^)A7>yO`Wn9U2Li;2@fhK7@;$^Q2S zhS(mV3b&!HASX@)Y2FUP(p|-p0^C;)<|N3{ym5VbX0}t(6ggiO7qiSwhQeb%To=*V z4M1Jva@Z0une&+hI4^RHx#`*eKJ4IK<=$z(uM;Fu$qms?2erlzl^+`M4BE}a82oR0 z4Y%y|B#@uylzr26|3B*hkK281h?km2<@Ef>1U^gJ6A(+6{OFvd26lp4linz* zvZD<(5%H>A?0!R@S-NNz-FHvm-@V0TyrB1&Bm7dNXB&N7iNu#^_ejWx4LzQ$7+@1gZvzgilLg*nK11Av3H10x*+z;d0ml#T&M4Z{lvg1YvhhAZ82-~oy=btFN@$&4xnIdd2L zYi2XZ<>aZi{%>wF%c$3&IjYmYAxn!aRo(t)ISeF4je0Y?R`79=&!3Um=0y-}w@xnl zVftj-{M;BxWn^y(#`sxFOE9svl^(76V7!Dkx2INGeKY=CY)4L178CwBAjx_vt_kLd>13ZnYQUxumMydr z{#MVu7H2s~lU52xWV_tFut1J_m(tYqa zN8>eLPF3r50%p!AT9~onW#|z6b}L7RkpO%*#+8cnE)BhbvH&h076 zL1G|J{D?eEZyo;0UC0@etudL-7hZlq=0Jzo_Wirw_ot4O=QyUkWkpSlCaU3Cg`_#v zLY*0kwGOzEONACDr~UZ8FMZoVq;EWvYuLav1J|t{c2(1v^!$OhC&J-_I!1m2$O7{( z1EN9sZtQ;`o#K&#)d`&xJu=AqRzF8|6+i>*=mWwHppPL4?4wgNMS|vSw^lU_jVP!(mi{ zxc`R~!E@&hx6__}cU4?Uksn@QJ_GR?S*)p)w?x<)PjZCt&od$&g|_P*VH0cK9NAvm zE0DHC_WM;M715v>imq73T3)kXM3!(-&3|J!cL_jRCMfQ!ohEa9o!-WS27H;A6o)Zh zL7?XsRX^T2Y1aU44m}W-xk%k0%LvJ9lRVBdk;%dFr_5U~l2xj9G|hB-8Gg#dQER`( z!Nt+x<>FldVi7pohAWpX4Ov}{X+@y%-++a<-$}(T%y(^0fyFWt3%1uoKU)HP`(}TS z7m5+(YadVJ3`MXw2(p@(_6S`}GB*zs?{5IuTn|C?fgiu~QHrS$B`9FfrSgK5A4e+@ zz#v=yIfGX~1MfER(=77)VjGff3tBQnVduwAZjMSRkGQ;`CHvd6N(8P7yx-I58UFL2 zQO$>B!GleD<#Ns!#i`|fk+cSH^3sZD)6zdB;;ZG+(k(Ju-j1#Bw3r_TX-;q=jnnjj zp?njd7#jR6dma$h$$L-4K*D_X8s>)Q-i6DSUtJrTiHE|uyc$L?xaMKtHk5KO%Ubl0 zuxoc4@#|ZMFHh~cNKA$PK1EC|51R~jVG-0TfzXspw3Sp^X}DnU)0h-r^qXDKq7#5; z;XVn|P^pCq%1z^_>}VBO3vl~w-Z^r_|9t_D$cIp#n`C-nSFC>WCh@J^RxpMWPs+z!KW|0V-u5jRquE^>#-8 z&jm-Qgx-H~j(z=JESsA6JfQFAU`mw>5fjj=QX6<00x(EHC3bpE9%B-!wXno@JEO6o z3Kk<1WD+}EleVjG(;|*!tcI_;Ns7hTO01QWyxwDw2mph4=gm@@=O&6(IWwl2zc$Z=Zi;G$4{X;O{C_ z)VaqE@KYel;^~=Hx z{=s9D+1Qntzp5)mkmv=*Mv$ zt9Rf-6JT{61KjuqU}F6YQ)}?vL(34$4NvVv0GKe}-l#pOWh~cMiSH==due)unmtYU zmaeytV0sw&gg+1l%3H zZNerxG1p{w(Iu|9Sob-*+lKO2zW?1P5GLnd{x(i<-j1J~q9&##qT?^EayMVl^WefSLZegr?b(C8_Ey9>d4u?Uaq zL?^FQH}F z!Vn&RKVmY$fB9&T8(6Mb6f*;SPj57k?SI+0q+{hY-{L15UX_;*w}tB2SN~{|k8@wH z&0OusDyq{iuoPn;pJ#U+7by)w?LE~YWNX4}eV25OG#XG2px(SX_;>JB;b7xlw`xUh zt|qM?d(D|VnV3cV*(~Fi5apYi+ETf2q3oO52~FWi51Q>j zo8aXWmhJVOrSHj+t6CNL=@Y ziSM=c_&dP60dSJ5ET`T!68#r=b6+P0JlT#kuD=OEp4NLz1i$jx;ph)?zEOFZ`I&0L z1^#g9E&8qt3M``&MBiA3j9sN4#DYfD>i?R2E-`Pme9p%cWhXu7s=2aY^Q6lGWLcO_ zBS8T>&$&28|A!pyxBBAGX#Sr1qt*9gTKP>|r_iEuFokMvrC6EnCx&Zba4wfDSP%yq zZeW#!kQ;`)Fyn{??R<>GX@s1`!X8AC z&C(pu>17ocEK5#9nIH(-D(yEF>Ay`tUckh7DLfNJ;Eg4fLZo7X>gmX-)^ah!Drm(M zL460Mv~3l@o=x+SDV`hiW(`39V|H&!>chKf_dDyEmuU=0#yj14^aAN7wSry$ z2x1+MTQE1WQI13LcV^=BdYGE3%ly6bEo8IKm>l}nROIs;v>0=qIEOY0JO>W^lxLqf z+40Rxk}EnXWBI6hG_5{`l62)ab{WQ47Z>X~jh;U+XyL_fs~Vt!@T`5o0m;Fc-|B;%pc< zGz4==|2RQEVv40F$R4)1@;U=@EV4SKZ76%Q#TUG-=M>;$PMDLWi$5vhY1DmDG*;=K*A}LmdpH13AK^zWhdfshxm^?3E&zALwv6B z>Ic=er~)EFIr<`|hRK3h5RBgsW?ZuOn>P%i}dq64^d>X|!sUn%psHe;rc5ychAkSJksWY1r&k588Q-Kn0$(7lPmcnU4NoH1q!;e+Bkj8`Gok49)N>P795L$SoXh{w+G>M>bm-6$J z3YGnyYM>X$^HdSRSr?x&&t01OkJao`-$Syzk0fWn3~e1cx%F1>mS#BbKgYp;alXA@ z7Dl30@vV+;CnCJ#xW|B%RUY#KA*h((B>m+p_cRwiYiDGCl^QFHH0w-0>4qNP!-WBi zXv0((A~Jd|BQY=q!k|vHtL#DZsg3-(qQqL(_m5K0F6-{;NW{6%%@~iuUXp+WyLjve zew@X65~aTI*7_dItb>lUgI>R=X93kF{#LsFS9+0qAK zQh*Z#xsJWLaD{|jmxTv)2+3aV@o*{5#{X=<(E%0f{4kotq-~J-;7e%t!m^eLiBm!D~8Q&=~OyZe=m}=cU ze3n-|^^8|$d`cJDq3y>HM7#?VV#JsYw8A#K)!G!)6Bk8sMpV{#a!L%|F|=aSQ$P(j zl{y|N0+S!?JdDkU>yHEe)wpQdHj2XU;x*?vqx56dIU{FnHWk01a~r4WFj_JfZ3X7N zYuw+hd%z{Zw>@L9C#~$-NF-7ew9bjn-sN~YPiJ?L*aC7trnySk#6p|2r1|m9QadEA zRH=V~Y8cvksY9c!E}uaX+#(4}Ls{;#E9D6%F-6P(0=#NncFr;_4c(STIes!t|80X# z7Dd)wpsi&6@&})s9RJ?o4P}Q;CVri-g(pXH$c)Vr*vz6(!&@qYsV_S#@>5YV;iORf z^YPiAXb$G<8!*T#3VDBPDS5v6{sand#l_>eS)${u9>^$Bo7cMNWJ>Ht0~=h`qYIT=Au+|hr^a^<3N!K9Kk+lW1v)D`RVM!a9MmQk)2b~lSJiV06S>ziy%90M|=fE_6>~J z)k+&)k!a0U-)Zn*=YU+*uw^EafFi?l4~!iadFVTk_Zfl?r!YpdaUZ^9k8ac1r(zeo+>G zgRIOI*nc)TU!R!U=zo&kf0Lrv0l|ASDX3kmXX9T~i$+x;S?}Opk{1O1R~6zyWdZf1 z^!wZAR4Q&%vDqaUqr&WqMpr>;t*H$();HS`9-2!>k`A&t@Pu z@6XAZL|6KAHI*Q`d+{a$XQHU^W;K?xMdjsKjO{aN$I>-K7 z_5Ew_7O$VakjmK4d0d;my>rj6M2t!z#)N%U$N}G@cw$P5!MKZw)IHdlUn7?tuV3> z-Bc6^p&A#j{$|@F5ey99?vwZ|USXs8=Edgh9e%v376C*`0IRf~`!}!$eC7X=COnv4 zfYMF2h{S?}upk*iQAiI(XCH7EPuvO=i9HvCfKCvw^G9d@k2Hf%?o=T@Nd%Y)Juw=T zWXf3b{$AnGjwv|UBGs4JzX{q$D%ZGUK4^Vc(^#MWRtSjngIHh37QSo5Im%Go(){pb zf%{zmzg~i%F)pcBE@B`#MK;nwWv^M>V)jUlYF%Y?fSp4 z?tiKm%GwsL7Rr-=Hu;)7&brhy7bMyWnZ57=Szl$&%sJu+=oOw+WYAaalW0Qoe~YI6 zX^_*?2rYlSfU3=A*B=>Mw3My@y#{ zNX7p(8)@!zzY6F7^Y6@r<`4zyhJEF)pTAoHWTYd5no3l(=-S}nt)*Nsrx^sd4uB?R zegl-UuJJRGXXLr5)SRyj)irxjA5DPDfjIAiYfqR~BQGa2v6?~hg7!LeE}$5lg$9(f~fu zg|Ft0r+d}kr469p@qG<5+1?3UFJo_@{(ZLZ?@1$XJ!w+Ht-xHhp_7VJIyz6hvgEeb z4s(+opK;l~dk{=h2!S>~ZVwu9Q1X&?O%U{wc+}Um;0vmPag%DXyk}ju{ki06FJqdt zYw(3L&%hkl@9l&|=Ru^>tS^XcZzvJ<-zyq$0m<1SI-aFo!HwxE$e3b<@XKuhvz-7D zk_gu2W&>g-t9q;yB@Oh|*hOS4ha1$xyv_?~sueNVO*v)V=Q9~i4@4nztS(pMWlmbs z&zS(G5&n)dfVdZrw+SQTpcnO1n?q)+fUnc?9Z{!jefjU>TfxIm$#WO<(_g`|n`KgK z&nk-)FTsMP(uJwnFXqd771>D4?&tEpDPZ%{INgtB`}JtS$eGLAA1>coc{uC=_S<`0}8dlM9bhuRpBgv>7zX^M_!DE?Yz>vIi)B_g<$mtAoPINX**f z@#4w&1t9*pu$YwvkAt-VjoQGRN0wvso*5-An58LY9DM{xs#LfYCRZvv;a+e=%pH!gX*|##|_2ztm;b1$IB6m zy*Oh~{>mcS^W7Vb>HQf=YhZ33g=|EwD-GDrOXg4=g;p`I0*+xMVhAkkkPqPcNK}tp zDbSuU0&xV9C)q61d35rr5Yd$yQ|}$_-wTy}{bdTzsB7Dn^=%)O{Z*3`cMVU}5wpuJ zDCtbwheK`FF1@w3VMwKKs=lB(gQpqycv!pn+>jJC#^XlVa~~{E#sxzt{xMWX3ZA~j zFYSrE_pcp^fRF}SJX^V{*QJm@fJo_JPxQyu) zA?fXe?$fy=eQt9W|A5Qs1UKQ@*a2Zh@#Y4k?vD7yE8hJYjU_L7X%m#%G*|15UraWC zl{NENxS&1m9`SL6SjNeD=pVTcGtVWsmEKr?{=1J~X)ADTsyHG9bq4d*1ie}v7J_cv z{IzSmQ*cjJ-iSHKoW<;APzupM%#>#Bk}~D-b@F+HG%VDLObFGel4CFKtybUL+W&3q zk~S&thV4g>*sSAQP>N7I4O)U7i%VA57u-7xHh1qXAo-Pv%0sDEJZ!O@OTR^n)QfIq z!|&3+TeMDq3rHh&Lk@h~vPouR%Skj0cEg7N4!CG@Gs_RX_+1;yQ4uq6UND9r>WD6a zd^TOm94i}VW)?&5h|hr+&vNyuoKx&To+LI;uZ&l^aTDQe4SsHUU#^wjf&lT7Wf%Fr zB;?4T0J*IENLrKj;)!WZ@1SBa>{n{9w5r;u)EsO|GD|)=Q+?2?ojd2qax6w4g9=Dr z1PR|E@))Rp5#dJj?H+3A%upZJZA=_BhX=Qtg*nf^0SLmmTQ|-~kL534U>CT}9xXR5 zIttAoa?#V1xO_63MUFI-596~seoIfuYmX98my!r^6N3^hL@|IAE@n+o0Cu-bfCAkSSrVNr$rAV_76;`cDUX{E@*Guo?cU z-ShVqoTeuO9@_3KF%R(gP#S9JAJVsp6(iI)@;& z{S?gQ$&cLEMv2M72LiH0SH7`xNj5r(#(s;iSCpQSk0lkYXRnu;0pzGS(gv;0UF#!}Wp` zU%2C3Acg7$iEugkbZ#1s zyOT%9=|ga4uyFm=KtUgJx`#D7fI6U`wrcXb73*| z#32vGBplnuZvy|hNsC*}O%)f@S$*gz5v8X#@3k+}ij+1v@Av-5)5zt6W~PW&`W&j8 zJu#)e@kw?jdH=d2bwVYYJEuf+>*;I?aXNH{FsO;iFH6ZYGl6@V8(%x_1mH)s5l~hd zRgl(BAyY)=L+iRI(l1?BXw^-cE5m6Bepv{jb8kFB3@iMdV@U`n0Atxr5HLQTm)s1D zI!u;v+Yc|kbLmt-4B)10=L|($s>xa8*QpmakLlWdEN^-e$OV{)MhDV2tt5Ad+m$|2 z+>dbgYFvi6hj7cSIS(}kJb@g9E9#thN_RdV9}>E;CiDVskiM^vt?3JRde)1)n#*8w zx8s%*VF#wtKB9Os&gQE=eC}ME?tos`j^On>1uRPf$|d$TAm4@>hSyARDVVNoAt^r3 zl~iM!yv$%a>EtI0?GBV=Sc;8-fI#qJL{Gfy4j+t`Frz)q4Iq#e2!0bPT*)WGpN6M` z1kb%(BNDX+6BwHT=BOT8F`Muvx((=(UWj~F3*sZz%h456X+i^=CZ?Lo35%WXdp!KN zstCwaPS^I|HeZ3Gk;e(si885LM?5~Xr)6ZzlS!znG}M(;PdO_bXQU-`)02Yg!4Z%? zm|`FNI8Jt!mJ_qc=X4lE#-+j%SI*?hsn>>1A%g9|^M$)LA6^^98yn*sK1zq+2`9)v z!Q}p)kvd<4Y3@ueY}VM&gs)ZB;4Y9!`&EmjnNc`K;dw4IXCh-!uQvwl@X#}%VF>a9 z2;Pk`Ltx|eEth8XOX!9%KwB}sz)$-UtQ=u{Co6wH5m0f*VPR@QnsfkWea-F`#sxBX z#LLz-e%ZZKL47fhjgVaCAoH>Q=r)Ptta9c#KyXWGA-I(ZhCLx77AiYK*9W#2eoeu4 z=ZYIdZlQXb11Z`wr&^J+;aG^{aENwiRr3MVKqFH{YS z2bHXw^F)8XOEyyo!9sO@6=5*(kEiN0jjpU;wtb3*y8+QH^ z5rnqu=>r*ERTNY4L%F>|s6-82y8dG*9%pqD3#A&mS{>v)y zeK+S#W%Hy15xWy=sPeEAOsM}AZu^iLtqjo~H9~c1J?BNpugp>XD%j?r^vji<(HrHa zBl0mvN!32tSwd1SttQgVY@zu*E&}C8uUH>W$GL?F0Du|Lb66@Vm z`unWLXpcl#``$pTIBH+hib>qcx1bvI#+db53ryT5Y}kk>S|g*wuzX)Ieo*e&;MQJ8 z`xpb^9prp>mI!|=xjIjF8Lj>T?&2zTp$tl5G>n*Fb$*B_FldX{nKz(H6TN{MiV@DA zi!5kC9T)HNC;D(+u*9sgi8_H34mw-KIFY4-iY4}JPbLBL>`BwM__}O3Cycc=zdMlt zvfp1RcEkZUT!w4AsNn-udIXy@F66i?puNd=caL_n7&ex%Ns@G3DIrL(tW8O3G2sh{ z91%18n`k?l$Rc9Aq`Bc0ey>o!7=cy^X6a|h2t zaD3uIqnIFQ_JO5g#q5-g&II0!=K<5pZ&XKP-9pV^Z!k()5STq9%286gkd_H=HD$WG zE(ftGVG}`-;bvyy=?exg6UG${PwExz)#2W1CZqj=#oXMJFWK;QO6&vmJCKOlvcq$dYO&)wN+UxB{cf6>v6W z)5}eu!Nm%{f^+{Me_it;LX9{wo?RI@^KBV@0^ehF>?GkuTq=1A2A34W-hP}d8 zTJfF=03J^^gIp0McI)+uGdh4lV~r0J$;U{Z0-Z+MCqJ zu4GKGj(zaV!1f_HXLvat*(S{E{a#g8tWXnf*|uRTw)oal+Sy|xT<>Hwiq=I(^iv}3 zEoK1T$#?J{6)+QHYP5L#$IB~;F=jgPj2SQWQ+2PTG8DTs<68+XC|`v&P5i4;ucs6f zw>aazbLOXx<8+X&?a}32ZdQPXEC37^c!%DN|P zC=M6G+IBy*491hiTp95EX!`vQK&W)>wK^{}0jgM}jOK63VNX2|gxK=rANrkAM-H9* zhGg=2cg{x*&}XBPvy(u7-a#B5xN{#u;yTL@L0_+twEbYB?=#-ipOe<#I-ULoRb*qX z?ZHoxzTpPXsDw%}B29?L8@C(0N;7Xq3pVzXRmNBPN$M9~CS;D0cha%DSxo+_5a6Qr zbl8K=TC@{yyl^L(0Pl{)Ss)$q$$gHiOolOTB=Sj5LvvF(@K!&w-rE$^JD)Tmac|)6 zxLII@oqAB~ipS>u?K3*mWc+}Ka3pvenG}B-I0c^)^ydm1`$Ii`l+(ce`Pd$IupJ_fzgd9iT26>QAi+nSfv4Tc)DP1E!vy!Jv_RoXMAH`PUYT< zW$ObtE;ddsy+1}-{*O5%)|-6ii>wO4-Q{Dje_ndCaAQTCOepZ)x+UoF{o8u>i|%pO zt9H6CXg0TahYeHKVH!gP!ai%&FjD5BGZMnx+B>tA2369F@*{x9v4i@S z-h@D)Pk^S4w}cWn56RLG0VS?*+)+9Vm7@r`-%3A@=vP-^)Bkn^O>jb9}@MiT>G#eFLZl=ITKRCSpm&Vtk~ylSIee0&{jb_2C40xbEx87#LV z6xxSIFWQuAynn*Y4PN z4rl^8I}`&}^W713)GS{SqBNePp|c4OikIyZ=(d3nHKyKZ=!%277deDHePHLdE)1^( zJJ=i&!>po&oOxNJaO+sEe7A6}$f8Q#~sTII|DPg5OZXD1X$b+fr?(BSBFQV zJTg`VgQP&ZWV2Hfm_bXTttNM^ zZ4~0&M5Wls`e6oyU34BQ!qKoRXHV+hHY}Tk$G#x6GAZKEwd6ni-vo#1zKv%xIwm`` z?Vn+U$&H;pcVJg~KB+5P5A#T2cl>RnzSJ|OAx{PJplx?S1z7HWK#CmsP0GT%mD#WZsxrnBqxGOuR>q`N|qaA z>QuHuKRcclnK|3v#C}aapfPU3V*BO;@~F|c^Yt~X$fJuo+DXwX1eb?2<~@JJH{qzz ziDwVwm0pi+xHwPPgpr&7sx@fv`md5753+D*h>GkYTb4EDuUP*=B(D*>u<3RI|MooP0;LT`VXzxTx{LqlI&h|fuGvs|? zS}bXJPjS+>H9cJPCVUb7on`3w=e{_@OuMB`l{!;i2Z_1dYnpt>byrg36MW8V!3JvD z(hWQE%h$~8CR$67!-uFId$Qu(a~90&G-%v`i+EPAqovxViB{k-CPN$nxX7NGy;7XG zbRSh1hcTs5Xil1S<)51@YZgj^2$S#pK0r0ePFiUKE{vnL8cNF-uKCUSskbm2f!?$5 z$3PQ$Rf0GthT)G`O0dnwKTka{nDn5)NMU8L0cP`@=OVcW-NyCM7c}@XFV!e1jlXK< z!Q#+_dytq2T4 zb>x*M#Xu^IS+=+_)9E1jv4YmI+v-n{sujYQ$w%m()<9|KNivC)W^}qu!z13>LM~== zJtJ`xZDLcyP$mmBOLjW5Jpm(0DH2(mlRaYO)zBRsshIcvnrh;)S^Q>9 z%%d!~u40W3g`KkVxRWRJW9WOdg#@)59NGihrKlL0F0Cj@-HnUgb3FE>X^3*GEFv*J zWmctH$tcyhoJ)QAKG zZZz3wQa@p&)ma0iI4*^Xo4wkcae9y626|>*cFSJ903)GGvs};(A3a+rwRR zeOUIUI`x@zh0=4x^=B9KKF}_JPKC-L}lYDr|dizwsN^beA7G7nT4N z3NnuXeyFZRz4IvXqwcU?A?)O~$qU~d zWwrvBIHktvW_>W=f*7LX7VG+X@Fy_rO9Erzf0;~chmFoEMg{30Kn|DbGwssR)BCEY z4oTp;rTyU$YBegexglSocEQ2|nI~QckIp~;r+*FayV)o$yT4-eslvSy57ml0eO&}eAV-|N3!W%vNs@|iR_A0uw zyX%;d_Nf%j@E`&`Rnry%ro1#b*we!H_=p8Lp<1!UJ5e*0|46Py4;}CF6P;-bERqFr zmeSw%W=y`FF;|bq4aBaYlEC^JiY|clmV~1ZljaHeRcvQ3Dw4o|QET(y2Lr5Rhuc3c z+JfXop^LqxD%osyY;LzOMacnF-y|&HJDoM!cet#-?}2+f_Hl6*z0) zN7ajM{U9g$mixdpQs`^StubK{jgWMUhPrJIHZW1oKsRyks^@LUL;ilBrP^mS%{`el zWMK0-N@d}5!sBpOw3GtvhJgKTR5GQ$i;YW7uL^}*odm_#p;M2`Z5PYmk~YH@OLhTX z_odceH+7h2jBo9xseBezSDC%g8XJ_%o2)<#K8}okCTxJTK*6jiho~~tbMenO9n$PL zV!P%o3=lbw9acMFA{$i~`ki~k_^1 ze2jGJ^Hmwu1rm$Xt^KIKQb(>7Ft8ltO}!V${5YVn9ba98j;3XjW$o^1^tfojr6W1k z)6|3s@dktBcoqTs8sPr7J0`>YXa!Vxxe)e{bwx{Y)v1JoVeP(S(|~Ca87S38$-Tr2 z8D%@TPs2~bOcdsY6ACnXbTV%g3c<8-W*1_;a=LjUI{gL{-B^G7(J1&T27Wu>H}nWr zk1`PF&{E0;<~D85n<696boq~LtI6n^Ty@CM`*SOPjd3cm5pC(a*=SxJNuom%81Z@$ z8e+C422J0jQo|$?h(+3N!mg47H0J81tM(%ylgk}*q=xM(eM$4mGH!7E`mOdsaG*cBB&6mUu!Tff4&;aR`oAJA&8s7o zS?*yS&eKm8`G4(Q4I2o1uXT7_9-u9$3Ex5qTe5Y{Vq}>n3`N;Z? zp^FVc)fpF}Jr|SFx~cGygz@xRJrKH^$^ow&K!hNxuquL%))p(J#)5J>D%}0k{!{5d zV{)>qeDk{b2&ptxqDBdxfR>#xte&PClqw|AfMP{4*p2mtM)JdX2J~-n{ zY6`Lw_Is3XW3BhB%i|Ni;WQCq1Kp=yix~gJ0cEh<=dtWV;B9;csd*LYsB4e_=K4#v z6T{=cfL|kDC0_q0BDDQDRgb^FH&^VpO=rVg?!Zn7XL?IpP1hez8rh%`En%HUjILg9 zO*86_A`{?0zvDS&FT*s?P0NQr{AOc53ss)?=_OSsysb_r(xV?<-e=zylX5Or3dg-4 z0>o^^&lhLXS2*%_2(Jd{b@dWZitgidXe-$;#VbBp%<2EyFgR@U1#O{Au$`4eaN~@C zfzjIteka%vb`8mMPMegbE>cDQvvgt|#vr#d_ENK^y#EtAg)?2_k(^uOa=vB(o>k=Hqe2> zmr`&{#spZyGHPF;<0uCPZztCvJ0ds0ckjSg)-Qo<87Ht>*g;IZfE1Ma`ha)`5XBrM zVJT@I;6ux}DZ{ORAZ%YX-Na>J{A*(xe@}HvqIGnIYi}&>amcagKU|Sdn=`8?ISTKv zWV`aG@bnN5gq=}pUG>r?P`VPg5F3g<%kq^?8jM}jf^LU_-0Z^*)=A-`Pf$$ui^(X_ zrw=>S6CLX(-odr}8bP!ZFUa{Uv*a3TFhN2@tXUZhXi9C+wCG3S9-_&2ol}91J;Y@z z)`mTP7MLR2$2SV!J?j@&F#?Y^)DZ*sHM!LW%}W|mWoMIVLQ2)THm!(OSY@ z?9HI%%ru(0T^*fNtyhUKOi$1o@~hBs@euev#&k{a7dkITpFs`2`qhBvs7gCNCqLR#e|sJ``M#oy7__Sg`PiI`N;N>^D!A*3!=<)7i;lM_;QxFdW4hd z=6OgOs=o*j*l3zY3@`1dCCogu_5w2l9z`|$wag4)5QSNK>4H)+^3>mS9SE|d>pV*& z@_lO& z>5?Hl+Zv(jSR2~TPN51(5{AG?^Y&lLG@^hm-vt!2y0{8`RL0(WwAjBl3EYevVba^| z6#VfDk?|@T3uG+QM4+*hqTlA+0d>(;^Y5BnAagL?kh!n?5c1AdoiqIc~4j67K9Oqipit`s@D1w0xcj5yUS@ zSCc|XP*ylum2JtHABUixOqhl5U(-1N`c9I93wy6n?IOQaKc4_(U+>Fk&!GL9!kck< zQh}h8Hn{mCt61XQ{P;LZu!Hl6jmdrw5{xCWJ*xXFZc8B@B-REsY9{icFf>4;&ko++ z{u5rpSg_OPuRg1oL54tDeIwhMK$aq>gB!iHO|4kjm3@)!It=Kl#kY&!o&=O|Bf5S{ zu0TFN9G(&8xS(qVqIauL9v}$w8GViha!JLD))beK4~3qWhG zIn@;QR4dC?A=aCG`%tyw9M(1H^3ev#@qc>A7P(C~7*+ zZlLZb70Z#bB&cXjeFMahE31|OrS7*|pn4^#h(>#B9=qXITZ$-sg;f>HS|98VtEP@k z5>9YUid+Jqq|=JRB$~em=A~?$aSaRS5E)>ZQ}N4-IP#)jQ60j3uTb}n<=A2wT-RY@ zR0c6N7T2Q&ey-9YDxb|Q-2{z6ulY(X1Bx%Kc^y$aqGek@-{Z04m)!p!03$%$zo1LX zK`k>6O}}acqdByxc#M3;Dqke66XYnpw?alA|AB7`Rer+|Gm+FN{xQJFsBlmJkIJ-t z9)u`*e1er8zkI|XR>ep`hm{;{lW-lBM?)i^BM2zC91ak#eHU`_8Tu9WM5dfGECd16 zz98)t3{aU&}7&bAqSPE>=Vn@-h-+j65-6d0A` zb!?vNOXZGs;?oErb#y5Q)~F^;R(oh`OpjKJAmG~*jSb`huu4*pO_2(z#ta5i$4(`h z#p8r7NOl7|qS7)WX^7fMN+d=;UJOl9+e?hd5F-b#!9b#`5k$5}?xZAnfRx3jhaBsH zm(%d77|1rGRm}>umS!#$lbl!bnj2T?@dGAJ@S}hMt?9Em@WdYaQc3ifH({RZ^1V}=7X0_Vb zkCOQ2LQjZ60YRbB@x?rXojjcz%+R#QQpeBix09UhL8g0buNyCmU_-esJoPvLdZwRZi|J{OiXC;nEWy;+A-A76!TO_90BSh2E4-|{R*xm zdL_~1SOJe;c}nChp2O`7VY)5&RuF9D@3h)8JBZj4AxO~l3B2WK|1ww4o)ZZGs*D@a z5+n*(GXCn~uw%!b{>iZpF`8WqYO~!(rD$B@kDWJzi_K!s1cMXA?r$1fQw}<#epd2LVdvbcjYp;WnA`I43 z_0$tz@P(FnCmA6nP#06uPs?jORaCV^K)Ayr-vi}n?iyr_i5Q$%aO|Fl ziq?uwr(EB=0gXQC_tTm^fp-y`$Fhrl zj5#*6_=-CWg-MN$78~Y1X&exDE@KB#MrTXI`n>Y)*lYVun7e?d2BZL zc$$XGJIcy%MEmKF@_c z&`lE|6yAoX0$z9asbqLlq72kBMCSjLg!@l1mRzU8ThpL(&RsZ_oIxy=)t(Fd1_$Iv z52wUH=iSh;aVRt!1|@Wh25`fn+?ak(#bk6%@F~xvDSw0jm`Z_04Q81;AS=67ZmI?( z$}A>HiS_kAq%<1Po#s$4C2OxNBb0GSPdj^V0ufIT6i!Z@eP(*;lM*rkR=3El+`&Ga zh*OkOyK`OYED_x+eK|p%!{Uymc-5Tr#7*5-TnMcvZK>Ey1ML6;5(*6tFEfKtL~sg* zqFf4H=7i0-$gdud(|gKhQo4i4LEk>IO>SKvxant@ws9A@Zm2*4Zq@f`%#&*prAcZ2 zkWx7LFKQd2yL;RNWG=7LHH>un(`9lrVIT>N5rH@^)X$7B;;BcDNUWGLAoX8QQ4^xT zP&iU7)@MEY3|om?;7-zh+L2f#@Ndth`dd#GTcREj+ANd%yq!z0VU+v!SDR!%T9k~4 z@)r8UxL${+&kT~kwVgk8uaMJ?$%d3fMq`mn1S5=RUQ$Pyu4;EsA5Ffznr2-~;VZ0H zmE++SlRW{;k6>{E0_6)aV(T_bE< zz$uX5e$A6u`nZCb;6KfnmX0<>|35r@v{vb87uA8B2JJ0-jB2ep=-})d%I-DHzBPnN z-qe%TKd?y-V?1*X2NNSa0Dk2Y7P2tyL`P?)?zk9jwGoGizLBGMFGU@wWxyCz(TIan zvU=1buhyXUnVf){?KtQ|n%f*c`=vW2{sE@D>PfK7n1ePchKJ$Fqn0oea4>cLXM}dB zY7hef%OQl0#BI>NPjWs7f{$UQWgSPtC|xZ`-=z6^Pyc#hI-4pYn!<1P^8!yrFZ(a@z)iCJ5MTS=Mri*DWJWl1MJMs69HS403=wljRPyh7^4 z0Ff*}M7=u_u4M^JJQdSPE+_QYlLEzI97jZXL#}eQaPWQ|H>I9^WtL|H}(=^f^r10e?MqN18~vR zf2C|c?}t<`>cUaNnoHx1!*uR3Iz-`zPBQ&Lm~<5WlQtV^C(KCH+FHArlS*FucmAS1 zgyzb;p^4pDwlq;N!0llJ!(VWl2MKAB>T?9X==rU^K^Qu9IciQ!mF=`nN02&Q&SZKC z;?y)e_NdxP4$ArB8g{G}-0@dv|2sMSRB+sfrImthnG%B$0KGv{f?^>L92@{~JH(Z1=%_ z=8A1q+S5NrrFt>%iuE@hphc72K^7qYw%y?!o1o}$eIhPXQghMP@u-Q+BWo`%->9!1 zs69edNWn(ZIAXm|_{Db&84zm0Ge=e=3}gYpBKhDaX1grZ>i2mwm3OznPPxdzT?)2U zw#8-WAJ4mR8uQUXdnmR#dS;N5s$`9X_7pLoi71ONI_>>82bKmq{tVGCfZw0+&=zXq z$JZ-8v5(Cxw9I&Ixg+`(Lg6g7zas1$*#wvbFsZS700wMGUBz*H;E{)1d{Y--1!T~2 zv2!P`@`{r=NE2=U9B)x_&ckqZ7Z7H7A+K3~P+8B`Kz>?M2}+Gh)O2^3Y1dS)3oR=E ze7+{+FJUVMzcr|CRc1f21PW@dP?0oc>Z6oFa0P^CKB3v`VP<`<#l6Ht6cF1v?KiQ` zR2*O3Q-j3!E3&cR^lu-b<>XYP77>NNUr2rlNj!&y^vVFozodNXe9Qp$jg=0q&HVd# z^UF6T_B=}57B0AESrIUMPf@eZp5ETYDyRbVa==m8i^+1oDF)(U~&O@oJHmd(0ET}5dapvQ9FHNzfh zaS;u(Jvh)aos5JNA#j=RS+W-*&y@rFg;$4-QIT5YnfV*G_+6v0b)ZVKz}bT?&+h^Sos0#-$j$S^G5q#8?=C1x&3&idwBX(k%CY;k#2Pt^TZJ{FTau*N;1=`P4MTt6?N! zRvQT|EH1Y66y5-5mh=+sT{TnSzP`;{fmpcCc+X=0NR**O*7gEphM^;%yS2l3WJ4z# zJe)1%;;D#SN^X|4KBbI9OM}1UT3D%UJ4pn)fJCVvDSLpmj^6m6=#s?FzkRILC(r~~ z&bh`m7FgPOKh*1IS*efVnJYK^+fCtb>b@6)W;3@jXP3D^*c|x}liZRoL2ye&XxbE5 z9y6p?{$#fBv58x>II|Bjpr-EC*j;;YY}P~+9$ez+MNoqlwwU-vnA7gAYe<_wdqr$v zhV4x`(x0jGG~MMjsfH{VUoLzx<_kt70q`<9WB~LukdcmiTfB+HV^S>Qf?TeG8$-xc=8Mq9WoSiH zh;8knN8sQIVjRK)UkK%4ft{4eeUckRZg(C;_pQ389WD|UkS$c2>gkL<$|V;NfD{`~ zk171zl13(+^FiM4_OWP`L~Mw*?_Il6tndX> zr?uB%_Dy)4_^9iOC3;+^eSRRcWxU@lDfX2B!CKP%hXcS_SEdu-T;8GwgFohtF?oUv zshdzW1atn#Uvxxa}Y!hGE1+Jmt-57t>8 zpg1hmA)Q+?L}{aQL7#BQUg`|6wE`yr?*5PZfkH9*4xIHJr0?qoxeWaAy%^>skjwIborgXkXaZy!a>F= zq%9ESw!HCNT;`}Hv{WGZrn8*GG#9>f#O*3XXjm7_d18m1J0UHw7UXV9$)z^*{=H+z zA$iAMTJ9Zu^Et`LfEKgl%5RpJCK)0E+2E-4j(6UEnGU%`(2Rp?paY_3AC z;Lj4KMnUa)5N>kTu5ktFxGK~zUO}+ESfnEpFg0XLfh{@I80c*l`CCUGOjx}izm^}f z&@;mc=G_E>Sp1`XX}R`UiUdMCuv#faB2h=ToK$m0E^4N^Kl=fdg=GWZ`Q}bQ8W9d_ z8xxkhvoS+gN4snc3!$L1yA3~-Z28CoE)3sA;0HN51!GuV_mb!sr(9TO5-$$X*h$f( z)OPUQaI|<|vm=H9!sSxnjM*7>(M-Cl9eoGxar!49&v>oa^o>Rd+;qI5If_kKv54tx zsd;2Y?})CRfI#>jid8TOHXULK9FTUTpO8#85;8+>hp=>20egs?fJM49n0g$Bs29PTVbxS-UDYB zAinw88U&g(q(l8oXS23@te}IiBEIIPY&1asYN^OQClY(T%V(hAl2RCC)qP`;29*5h zQzVDahh61gctmE??r0*yI2@IobqJQ5qbWIIIl|gW$dzq$Dq7R~cr6@8leR(8=^~jn z;C0f&e;6fi%Fw)82(rg~7OZz&eGnK|D&AU~BxX%D(&`i+?Jx#4xJ+_FgA5lcsOvCk zhS>Is`>bCp`7KQfug&Y$^DVWl< z@7V{tRnkhm==YfQO{f%`!W+kz%p%=MEs^@(G8w3{RF0b5$x}68e2RTZFT*(bA`wV{ zgr5ij2p&L%hZDtVfqhsK*4;8IF_`vx$;cf9-f)q)1q^r6^c+>#gIKpp*_ngEJaf-l zA_1A6LJ~I3IO7PzcQ!%vbc-ao8^81%*dA+ydTJ3UQFh>_u%oYbHlHHSBkN+Q8kH{X zC2M#1aDF%4^ngvfLMg4$ajqwW_Up7St+?*J58L-U`%?KCQ-Egz#o&E+kbg*?#b2!I zcOZz`T_$+;`5p*rYeWK$o^$%3XU%tP=%W2pZZNvtos5so?TF}+*0F8Y1D!8@wP~(H z*8Va_@D@%^0n!?i4&h#ZYPs+c@?cw?FRVL7*?atWv%eyT8i$J@tPz_ z&n9Lz02G%v;1r2p_r*1;R_lCmpcScSWfXEZX)g%~#ZGbQLb?ZVFWj9Qer*e^bdr<{ znfvH`I^iL?UI{EfnYl(C-3J{v^@(2^zyR~u=DDCQmA%0f)8_eIduX^7H$%JYJA0pC;g4`XR+hj_tYx&xS)z{U%C}C~{ZO ziwhbrjlH?(*GriFxE}-s>I_dVc>Ap%t~LK$WY|Xbi1DPxWnaZFLYcmS4)?)kIQTP@ zYd_%16x<w z#%oR&fIF$?13wH?9^v9&dj^uXl0?h{fN+=pZ5INHffmWC9XwIWo`87FY${_Vzu@!R zrQuZ3N7P<={F5Tx;K1OtV_T7h8e3gE=`T&HkL7BQNoXfTR|i@Z6$gCuEI2w)$5c~} zFRcXDLSYW&K}HR$D)UUYwef6v`~ea%6gY@#5coX2uGc7gw7 zwq4q^?t!*(40Ny13T^>sdVOtwASEru{6q?D)4EC2e8nYhA8IGYzvthq>Zm{ZU;w#c)Ya%ji|GX7ni$_uI)^7_cs*d-K0Z-3s;y}9>u-x(+uXd zo}ZtCFP@i*$EQCTj*VLc?T;jZieaTD<0Gt+nqTX?bMr4G!|D^~9KV5|^^w_RwV(K8 z8)P=+AU}yT@*hXxJ@nPj0979D5tO?`PrF^DcPC^eJ%TWZlvnsGK;P{{w1;`aHfX)~ zzS$~<*wZn6OBS^4*Q*e^%r7P9lr3jOjLXmJL3$+)Hw-)k=0*!^Cfx)3iiS4y@pCY+ zN|7Lu^td8pS|91N?UW2?>TCau2IfW`9$+iL7c;FR+l7(gx<%SXJTAtaED3m#7VJDP zqQ+H`lW)}nMg~6YU}dD{k{B@6AD6l#l2&~7psQo!!x;8)>x1hSrb=6~ATpq$I5n zpZx|!J(&g!1e{w(m>8=I99&!}u>-PJzEo=BzuwRhm;1j2f(>CV&I{|(^*wA zYM=&D!_SGx$0B0|M}Fx2sK}z>;u*oQKY^E=9{ade(X6Eu7{HVX{o%|C>}ZFU);I5g z`T*NaZ0oXv{*owe2+n?5Icrj$;P{%I9ibPsy=5boG@w93O*+xDt*?WPzS<Z>w<=AH9ipF;8;cK)cEM>ju+VY+n=s>^{i6;(9gIKT- zD+HH{&&Sh3*cjKsl!xOjrIm)6 zh8(-v_Ggf6%_L<|5H&_VaJkNq4dkwm)!Xp~LLYMeBlZo&SL{JHcqrCT^MU(1*IQ(Y z0{7i;9%7Ts8Cv4R{!8zSM3uN%DnyYJFxlk<(5U(En5?@hMsgY3|3-4YX7Z`$$bZZA z<;8>q%}IMfUGEXX6Z=q) zN#qbst95LV+$%cIa{XkwP5_X!P`Q0)1zWhS&gp}U_a7f2+Pxy{&W+{lp_Qym?G|k1 z$)#0C!{<3s>t?G=Sa>0T8UXy}<_m+fXm&_NCE1jJ{T^b7+Iyyid4Cd!s?Sz2fgJ_rIl(F#ZrK^W#0KT!xC2c5FqYkd1yXK&fD zQTAw3rM`^HNIA9offm#QcXsr^2I#~*cQ%l7^8#Kc&03z}=)5fy+u+Ft11q;X2vAKJQR9%-1-_^UlV=)d`_{Wg#50 z4l*?~i|iB9r5tpGyt`EZX8wIKh50<-Se~wr_2>`NLFUik6Nayl@P$^G8PSfP22SfL z)M6@QjYjr$_S(K{(hV3hIo+mU7g?@k*-$HHj%Csp!-lBmzUM^P?2Yii(S^G2RVyCW zzk%CHtb+U6ggF9sQ!@VP_`9bN`oaclZkxMdZ645>fOK^$dmN7{4{EMK8BNa|RAjjr zXH3=aqKR-xFtw=~)&;AMlr*`4W+6FMP7<}EA{qS&5W^u}R3jt36?%#{(N5dE_LV$> za7wqUvU|cM;u^&p?Kh7Ze$^ulPl1L>SfTTX4co15L(qXm>S zysw7QlKGQV+8g*=Um1<%r(aPIl6&<{wbH7dVmaP9llZ0(TE;Y*G&2bea+nqt0*Y>` z<7TP?vVJ&Xni9Fo-lJEZLD+!lS^l;{-6{kGAvGSG+G|l|{;>30u{<3;Eh<$bCK(j2 zP^(j85?qm9cGYOUbbCB_yKs@TV#BRPxsv{+i6}Z1RjaZhyj{E~{?{qU3=KZk~N&EqwsLZ&MpQv}A zoPy?QWdxI3r(W`u;H6+ailw=iUD+#n^=Zm{`#U)25PO_fSLTyOn-}3bQnJ1waD$sb z931Q`llt-Xa_BSN?l8KOcR>Cm4q4`ug4eJ>9VE8JxE3ypRecwp( zqx-A42^cpHXes;!taq7}qlF&;=M|@GYxEuZQ_2tsz;%s^BD3=DxO-gVA4t!!X^NqU ziU@u&C!Hl?x0AwUtmWI>WaM6GI@ui8b8tFEr1ohFW9P5tm%MO9#S-L~Gj8^9EYk$Q zV%`m)G+aEI5}Wh8?Oees@{KUsF~xSK--d7_Ea;sRryq&MN1v4qO)#~5kiX+Me*3Od zKx#Rq*prRDom+GZQp?DfXsh$$>53j6?*aU3=QOoro^lPDxs*Lm7i538Fcpc^PPUdy zP$25W)(&>q`>D?qzu?8i;p)sqFj08(x<-bm9D`R8%BO$9&h%Nt2C2M}2Ozf{TG0!P z!Nb~?cld30;QFkH#^)DCYUCU=fVPv$B2RNkgLdJ4|lU^PAHl`Z~YCxn-|uw94$Tkamt| zNm_(0Utrs&npzCXY5$`Rat5MQ80u3_DX1c~@CAY3aCk%xxnju~LMqzSD)2Xb1>`;g z`FJ!-;3V0z*=SgFONB~>cQls7k-?Z#M#h;Xy*a!Z6AZqbP01d4g7Y2yGG`2@MV#vM z13Dsy6flezQ%!73aWI%0h^)?lRuI+##**~yHQ8nN=0_Gy@ z=Nd7b8Dd4um7TjN)|hHzP#|LEQ;)MhB*aaBJe@Mjb=f?f``al?M{ET)S^xJfHyV8E zs$e{&9xOSn`eE8CH@vz$Xgm%A!WjHJ4m@L(fcRYo2E66MH` zr5VSMt6(Yq>=|Kf7s<1s@`oj2-jEGyo0x<2(2(JO`OS@ou`@MM;#bovV_?_;CajyM zndTtW!p~Fof`MdQSb_2AL{fGiGCf!V*`-ryL>D+GoO*$)KcDd!@e0~Z8N@co=rCHF zxsxi}T1ENaD=#)y#HT?~281K*wbS3QcQcy`6No{74%q$<6#0}B*(9+pDa~3d5q7*m zfPTwAM;I6F?+@w!8opF%+i5+dHbMaWu3KIyH`S#ysuie9xH;a~D3Ae&(nZZoRcJbj zmJ#jE0+&ok;fHD_*>D{8fr72Yc_nqD7ZB(Q9y(FBFC`pgDs;_yeeqKw2YkKj0Q z&&Omz*#|@pSc-l~H@|j#iL?A8p?a4rtu*9UvsVyQTcz+zFUKLLRQ1 z!_enBc=a4{i+&@3$sz!G9ioM=z2tu6_|bP6_#K-q-D82&UHh~a0eW&c zP8lYcco4Eg#40#InFpnOgikAk8N`9KNof5$^0GW;!$c?>d&?Q5uXMpWb=h2SDj?l@ z#&pv4u{&5>u^C+H|6`vm0`_Tjw?w`6-Nv&UWMC2WE@?RuCT_P=u-#M-Mvs!zF{w4D+$-?$y@c4y#b{WnQI zf?=-DDk&UH^&W4;S0qO|2tW+Q1s6w-Ns>P%pl;LE9$!MTAy&r+(n^}Qwf}I^UW!K1 z;yAyAacak2xarpIsTD7UBrOv}r%$5jo?4Yw-H0A7O(Ift?M%<8@yBB76wf@2_7(@< zR32DHFg494jx!vDp)+J42rL_*aVW=bm%b%BMpMJ2#dEF~rt8Xj@5CJn*cy*{Hud*` z5RFJr>dmZ&lzMo>2605P)ceEEWtW^_8zXu*lNGe}&!z9@Q1lOR8_|mD;&|bU&egs_ zapLKgWkKZri9TOlx$6^pKZ^|^XMJ;g035f8|6+2R2JZDelJ;xdMhv7)iB?^s*W4o_ zHrEoyNHCP1=LI8XmEu(RMJFEx7XkYJZz}WchrVhY0mLQX;8Kdz7DH+q(}>Bf55|*? z=xg;5J@#E?!F3Ae6XX?E%e3>1+ZzGzFWp|>>vhkRSm+-6yTr06M(Yzei+$M%%k2m{TX)1J5hC}Pv zGSW9Y1n;dZnZS`Htt9A6BCyQ{f$Hn4YQXV+MR*z;)%VxP4NUIM%m5K$r;m~W)q9e9 zKR6@GZLk-DQe?waPRQse3&DNl1wPC}Vnf;XGv1$t1dQnsb(EiA127(nONdZW+^<9x zr+Vzn2NfNYD|!PpLy{kJwfx6>E13VpwbdH#2BAo6fp{NJ-+ygL+>Wz?j6BEo&YA-7Xy}wJ8b8BypKxOtR&xtjybXx%W<{>QGWTg2x9O0w*({$? zt)30xI7@*^mV)wEzqk_d+-(6`?c%GjcCXV|&{&ccXD61(l44AnP`XR_?)Iot)8~bP z(0W7yJOxj_@@W67pa95FF$d3NRhf;4--l7Jn(W-1$S}iE+ZhrL3O&9Wks{3BT56uM zj^wd#2(^hveXj=}p%UViQ7+p;t43D)R@QBXB(jL2E_tLPNF<%vM(rAa$2DyNG(}{~ z%zhD(TpQ5#jyRpCy)MXt_6#&jdeFyw&Kc*tU-I$pUw5zRErZMXZ9lO zTdV?R^+B(44!aR+5{RMMC#v~qIJ&i<;lRiW_iCjy#v`+=#+B~f%3g?nj;AxGN~XMR ztr27@c3P80Yi%}&D+LhH7DZuyQm6UpRn+2=WgWR|4UNQZ=86ntdBM+PuGN`~uMVP* zOg~P^qwZE=WT!}V0j*pqb%=v^sj^Qbq#6gkq?Xsxebb2R&RgMb`lQL4g=;P(mU^>z zvXhDsRthHw|FZ#XSNl9|U`LeN*~;+H;l$a84=%h(`}6&tBG{;?xz9#93xx%U=6<3#prwCW@P@(q!yF>+!LX-EhFI5{Hk-R z4Ew+zXly)GMqW9v->4iy?O^d>;2__nk|iz)+&!vA+W#nafnCZ;a{eoKhYNO&y=`An zbP(+lBXM>feI#qJ5GC7BfSztQXdN~8XFAfJ4#V$j8elfTp_Ms{oa&ZRLQ~q?^M~9L zNFy_a1Y+B6DAoGTi^95|eM{zfbp-iy@aWYR!qtpO);8IS{DC#}y0#y*+N`Q|AWJ|k zISF`rPI{8*iRXw99>k_KUJzzzeZULk9#cfI^!=6^BAM?3$p2!t7A?%d6=!_8%PUk>Hv+$LY;e znZ=dgfv6Z7f)uXLi-s*iyc~BVsTFgcH2|W3Oa7hf32{wUV)wenm!gFVykjV&b~K*# z+x1&KiXV}!P1#Da%Y}lF$qr~ehE{WFN-t($r3WO7)Iz%+j7h{A0fF2<2-dcMfF3-r zohD3?wl`~@ixa@RW3!fc`z=&?)}H&S{N#sUKEMFWHta=)}8G6>WALd1cK6K39QY6Yk-CC%H~F^@sY#)1O3dDtF&dF=ri-k!p>CViU>HQPK43Y ze-u36_1F63tLV5976xu=(7m{X@+duZSy@MlYiI4zOBeP`IH$YBmaq<7vNRyhnE7#NeNw#eF?9wp0~6v?zW&Np+j-sbRLGbLwi{6L zBmfIRaF3FuID`f-jI5LqR5Opm*&4;!SB)0lFLd9ExY@6V<|e2YCe-I!E_MC0Ft-lUL7T8@UC+r z$m)Q|pJMXm_7p}mY#?ym-7CAKKh6ZINXvb=Qi}rTjbf_!7TQl5jJVw-Sl$e|Y=+FC zYartC{q)M^eSzbPN#W6Q>`Qq5nQrZM(>`L(-J~Aq+ol`RK2x)t36fT_5dnx{L)PW* zYFE9*J8{~XzWD1zL_Y7Riqu$d8$6W|)#JVjGQvh=Ug&qoB#b}k8iNlK&v|IJSc6iK}n zfK5$a4}|&|?ybGD3F3D$heALaPguy$z%ficy!WD5fwWt_G7S%9cVEDcm`E&h46;v~R4)oi>woGTew=N*VwdtBkR-cO__v zABXl4PaJ20?Df2ZWy|Em2V|p<uoNvNoNjyWE5EPvj_}s!GX!9e|ZmIsxH)TM-XcSSa6rmkXNZ`w(X> zdN_VBQ^vlb&5(xR&th;3M z2Jij5!Qn6reu0#PeGvRyeF>`PE{qO-yJ%zIVMa5%{@4s0h7+%m+9D}@Q&fJ)8{6le zf{@o%hav#;HPRoprKv@9|6O;0>BwF1>&C?!>G$%I8*c-t&s4r??tzPZl7bO=voT${ ze%{&xTqH^MxE`G*Too4nNyQ7mTU9(~pT@|X?&D!azXm5_fWpHJuYEpcyEP|>$9KMv z(jc5DA#@63n~W6cl@)GZIJ*&C@57z-(+kqpfCVU=hK)hz>1PoB!&cSq;D6OAdv0O= z05Qc$=5-5pF&k#LlH>L5!;z1&&RyP;Al?8n@yLH0q=!y+SlSp20#X#F(J1FLg_k3R z3eBM>K39r|%b7r8Uaih;;jo>Hu&fVi0S7d7_#vAPxW&>elYHUO#};=pFGpKamQy1) z6K{W+$^}ibEj*b{B>6~-3152UA4u! zAu;{H1|K6C(e$`!Eor$1Px}ObH7Phlm_b(d8 z2f3WziQQz4uXcjBI#IuHpVA}7-u%Mjlm4Y=gg1HFxCPkvux;Tsgc|`a{2EzUD;dRN{x0; zZk>p*-5TgS0g6yoPUZ*26n#q%Oyd@YK<4@7lnzGeXwt3P69q3@zoR{|;*=;KX?E!% zlJ(y`X7hEllA#aY1zCpB4P8~%vO83cEw`}`NF*tp*DS(uiSBi}qlvzJ4hXy@s9=JU zoEe{9xPFX&IdrGK2z)!in0kD&j&nA&NpWEwky1p)AvE#kPE zaw?`1{>aJhg>Gst@IT2GK^Mw8g*qCukxGKq?3Miev&}kP^A24&_r+LWX{DPXapgYmrsnkR6IfX`f#@Sew@U7kv^JzTPK^)sM z)i)Pb*Gz|&HDj;75^mB}GTe)+dY9++u_)6NRm-djyx}2~^Y4am@L?l(e@1VN%Z~SMYG|8{z@iP5llX_x4EK6A$7Pz-|_KQZ^)1piY^BFbn zp823ED-=yg`;U@n=q;uFx#^^XLC$$+)1;wt6zC6Af_&G~04`h*+WCl^smOHfl~NJ^ zKZIB9E?(>Gr_1H}jNS=H2{JqU9(pw3S)F0c+Ii%XCV{1dK5pq%?Ye*iCU_m(xBwKP?Wd*Yb| z5kOCg4(#ksz?k);7U0g@1Qa9Mt;ebCLcl9+bGTR+*G7vjP!%D^SP9_!t={ax0{|uA zEGo0NtSi>U_0aY^o)l4zf^ZpLOy7V}W<=_9{UXRKz>1bx7 z3!7&8L1;HW(I81D3t|r2Z#vVkWu}%MMKU+R66)1;OkD;n3kxh%6Jvb*QbURlVU!4j zw&$m{m7G3p+%`585di=DBe%(gBFkUt7%)7f3~%!brhV&BNr&1EzKbVI#ua)09ObUJ z->!xm8F?rp=_|hSuOK@$PXda8pfGma_AUCGk^ba0-Vp%YFRply(I-@C%FK2lRIZL& z5_TV4CVu7c}zsZbIM61gmm@c{yR)jh(Q@m9r4C#i-1V(~2?m5zXR;=oy%B%maE<2N$n*{+Nz7CF2(?9GEnWvE5-!F)p-( zWV=cg%QW9^Sas|MZJfDU>q7o^?{u|+RDRNT_v#R@Rt(3NcKdYirnMZOUc7<{3hBrv zDYAwnhTAW32}@uSp$GHd4lIp&Zx?E8KD0X-1aC7>!z@2gj8KsMuU1bTWwX$Dsnd>N zmH`+J>hO^c&a9eVzVG{^UkGG&7B5m5f|6p!pP|pm&mIM{Cd)}CqVV7lbjQv%;8JD>}(#)MAU`PEZP0{Z|gU(V(A0O z-mpE?GAtH7F$Y8XsEA4Jyutng$uK^s2lJg93Ir>wo*q^Nk4G35c^Y`7U7^WF zsLs)G(yww_Yw4yAbp+-9=oZo2a_@-q7s_?Y8FF5&K%t^D8f$a_*@S(=j=2<`JwdvE ztgh@PkSe@`9eFGI=G*?*kje}rfa0rI}hk$)GAte|Ym z*9r62N0^TOB-u)3lmLYR#EG*v&kzcR2#>jqfVl!oM2&CJLOCf4aQd(K8x54U3uz85 zx>CkPK=V(#R4!*AG@Jb?g$gaRQ0mmeXD$Jca|Tg5NDi>kihVH#mYcsFs=c6IiFL#& zRy3ICe+dYqQdQ|ljujse(1m4^`G7kuF&FYX%Ehj+GICl(gP@Sn1pxZg8F%}3o35Hw z+)BdM(l!&?N4zvpAfKH1MfjVXzeP7WCx{7=jz4`=pEIz^f%Wyo#E-b5`X;TCL`M^l z8&4nzzfPWn5)l!1-e7@ICZR-84= z=TE_~`P~Ivtc0V#*wdatFLON%NsdYrO=pz`0&zm-Py3!se?)alE3_XVVOF5zd1sxW zeAJvm7@*A?6F3UF7`r)K4`WhTRo0%F>!&lI-48IXX_$gj7l)u8e8F7$x7EimF09D4 zF+h3Ia?g1*CmAr;GkjQD;>NSzLPf_bY{T&6I|e42rt6E|7YmgnfwE^meSt-&Dnpe8 z*~7B_N69P>fQyHstu-72YjKs(QVcKW@(wa{Ia<`{ouFl6Ss zOj?jr)`BXCQt(ReOEX3+(v?;G|GPB;@$|}L76x_|v5>xgv?mKt&E;?2p0;%+mX8Cf z`TYmA!Ax@mwGmNtmht&{()yrh2TZu!DAObo(;MMQ9+72H07F2$zl5^MX+pJFVON}A zvJB`o?&9206GJ2hZ8sploxa|G%Ux51t6Y~el|vDJ;^zLYhHD|dDJ)3}1yz9*YwEr* z2k`S-30YtLrem6R)UKGZtUSJiSJmJE7ppJ4`%eUEg=-&|timzxIKh|#9#8rui?@wh z@y(NJSR5yz_zD9S9iySi+-8~x*_A)GS%#&)25Jf z7d>8T5qXQiFL8BpCS}jAOmyck1>a@5&-j7R+xptx-k52&9*SeT|9D?WBqss|9rZdr zICOEI_voU9ye12%Om@-Y4T&Ji($|R12B-~FG^TgxV0#Vf<8O3ktmo(?2HNt zP56fcp^DK+m)=V?h>Cp7V4@i$$P5M6SzPhMg#dRjAM{0cVX}QPpmek~ED9pjm2zli zFrMv7ISP*3Gjh2@(d(x2Rx;IYsBv#NaJ{;QoFkwjDN^lvH zJhdAM#4Ik8XR4n?mk=NEawo3?2zq8g@T%@r*dCM=7_r`odW?Ak_c7~TO2l@%FCkvE z!;W4H>#d@K?2;fd33hs|H1ug0VNk%qH(F|TaHF(xf4XZ!7mXuIKAYnyVW3zxcQVDh zkS#I}J)0?5=FD48*mB=|y&O+vSp)@OM5-NteR-)0rTiC}o_etid9$BeGJ|H}gK%MJ z{S*Ogv?^X>?dr?$mDrn#+dC*#$t0d?q9adcoEJt&#jDp z|CgKLt!O+JB`tQq+f~iQC8YkcpQZ>_q)8T&NL>=((<~JYP=9SUN3+P>Z>NW=n(*Hy ztkV?3G;@ZMnmAQOG*X~Sx&-Ioi6{}WAqwBy^lsov*w*C)m0AtTWTE+(W229nb--wL zM!_GE4cGlBy{t#e6i^Izl=P=P`bjC?>1i9|Yp-W)k$j)^9n87>pHyza>CI+h!V$(h za*(IrAjxCSTGoXW%C0Q3iaS}KXW!6q$>m`s%2)(`1%nf4LZZBOix{3HtLTu)dT;!8 zSL@kPKSAVSCagl*?zN@M=-t%m~AQ8w)L^-9y5n79)H zxmT1ImjJf3(IXuj%d;T@X+Im@A>;!Un|egnC^^~Xe~8|BGVgIubf&o7-dkX%a+>AN zJ#A5K4YGXu35>9>%Z|OD&;v~kVSgTC#yUeoM2$$)|15t zAN>9$tV?)w` zKl$EGYY{rFkF9xiOLbd(XtHMbHS>a;kRI(l+2p5;_ACP|lMG=e2qw<{w5Fd{Oh%KP znGQ&vKoUpLk5L6aZ+KW&bW-H2%JAMqyStBa2%V$$5C65+1w>pI=gZ@}DLd%MUGxpC zdMq9a>Woxp-f;K#G}`%lK%~}gFoZ+<&0~zZ((SUgl0r{*O&G6VBG!*{kc{*Bx_J!Xo&FfQtNg<()IhrfxYpn z-tr{cg|;9q=Wun}kX%s_vI{m?x3ozm?eyFz0Q*55qUQGia;RR@L6e{nzq>Im6?7-E zQR14=a;0g>%8JccVQlLBArGQqGJ3a(-XJnsvCcZ$T5i1$v8%(M=yITM)p0& zql|1$9Z~Iyr{B)^>817BkH?p(5O`^i%ojZ)XaH8i--hGhI=#egb`v{sP*0=@%a6{3=Ua%^CG0Gq2;Wf zX_67^U5Cl0^lNxf>6N_^Qm_6OLzn9^ye3LVfU)W{@}k>#Y5Evfy}y98RB@w!!*7%& z`l%_|$?V&O^pYnU{EKoJEkX3M6JF%2uv@vXP2SJ!7ELGrZoQd7^r6onZVq3{{kxQE zMsWrv({xyOz}MD@8pX449^exbwxnG*Mr>&s5Z>x&S3rNM6<`l~_1Ykj@j`EMB5eb? z6~6BdDV`gLxvsDW_W|N~W@!$O1OlIOAgO{(S{#pFbu@yU z2mZDIZ@nZn6(i-HpNt-aK}Uy#t;!qrUwBTyVYdzmSN&f&c2$UCqs*(jhCv&Eiy2A} zGUcxKk_W3%XLT?BP6$dllC}0_0#$hJ12rmvIyX7slt#1p;$vL~ij$hmMq z&c9^?rHJBfx|^%L$!b0~{NNDfm$&j)7XuC3%7fqgB_G{zSw5155rur#)d&jq;Ve8R zs%3x)p?PSqTQ*q?v=-Szi~gAf8F2^0{(dOa=y4NI-0P)Tl%cFo+0019yQ$$1Acrl{ z5*EmFwS?b7ozOUaL*B99mgY-b=!;aCI-c4J1xu0Xg1sDXc@jTG_ew-+UjYGSV%w@j zV@wu;=5$Jt&q}TXMACk;!BfO4BPG5a?~md98`FX}^)Zf3%M8EB2*_IPj8aWw<+WuJk3)|Pd|nZ9Eg-n zw~C3_5Z`wG1{f6K*shw4+Q2NF>*I&9ZV5ZZt+oq`;%EdqeVjl)U&~b!EKeJgk3>Yw zrkv33;xt+k$n4FabIvecUuH}QDtuik3-G%qmXrWwo9FBplR;4fS3F!>{3aAc z>9o#Ts=q=;Zze7tw915gUV->q5qbU=e2~zA{P`$}fuW(67MY$JL5W4{t_}>ZzVwqJ zII|Q}N1ctG72bSyZJ2l9#3Nwm-@O9{!5yLAgE;*>wHj?~FoivB(GxE-7}M@oi!(ZSl z(cdpI40EZj+ZA6g==v^@0QM_g0ppz7u`p`v5CUrv3FiP5yAX)o7%p>8SgiRnLZRod0iuQ0W2kgG7H1gsoH4!VP$b znGs}q`^yssQ`^aW=cdaVW`T38AVnv5SOj-}jGu--$x>{Sq{1#|J+G5!KGFVy z^(DiZ zZb^IOO8jc~#@`FERlU{Jn4w*&A$i;p_?rcWEXb4kuZx%oO3l!Q^85l2(JQQ<)D~ssDE-gGQayGre&yBe zv0j9CzwmRPwxEg+-1n$d=JG3MRs(!^lyN*xXJD|}9OJkSp(YJMp0TRDo4$=(1Lc(e z3ja?ZFm7@HiE5$NO6x595FCk9RI9oJ7)|Q~FdVCDeSzy2;e5{Ig%@zE2c*rsm72IB z;NPGWnO2ZDJHcrnVMA~jd2%HT#FA9LNPpASFg8%Ql7h#?PUSr~;y(%0d0In_o^v(= zQS*Gt$g`tOOA&|Viia;m^X|e z7kV}fOz`^%frfrtm;h#oPQ7r)7o4*%jj+CxCf~vPZJXydc-L&`?#sg;SynwJmhKKJ zL%vIaLUd6*cYkT4X%85fTI?*p^IEP?7^bPjzm#UW9fe^gI24i*DFvlAMR!46>vFA} z>0a2zyH_>sE2^82J3lQR&-7~cv5tA2Ifaby7?NF6pAccIVz`?YGim6GD;F)u{2kd> zI`c}@@M6BRm5?xJ46;>7PnxoS$8483O_?D3t5HY#hyG5qkDu&rBRn)3Oe1Ip!^mP`)9lM5;_?4_<4=v%lPu$iH$P0_~+ z7{JmaFa2#d(yS+w+pTWO`RlbQaCkRQu_M&LGpSSa5ZNaXQOghmoM8G5g9-A7ck<{d z*86eJz2z}ZbW=&_{a3F3&ia-ho?;2+Af93L7M2042OEF@x)=?_7ADUes_TNz_(&Q| z6LYm_lH#mpqCF$69)+DX=*d2&*&5MOd*cWgcQ2eSE9=LudLothPyexf__|I@@5<^I z_AsgjX$A)~aOpT?4Tpc(drcO(jAZ6Eyc9)TIv9uSNnY|HA2)7&myp$SvDivw9B~Db zXcXmBB){;2zMtRt_lU+1k)FzNYdCK?kwEpYsVK1Hjgh2>fdGQO8|m`;ofd;f6^tkr zjwOYTeQJcXha9OiqibbD4UzNKb*Z`LppSo)PHT&&PpSUWS-{D}eHS3n+4+X)`C9)i zRyUSQTKWWwOV$yfCS*%iJoSapx%I3t(9q6PquWL0PQL^qo$mSFB$+Z}uMp!1Z8O=t zL8XcC5AVuzBcwb+NZMh*hp=YI*_SNA$*xnWMuBzUD2U4`J^PkbP3T<0n5GELF;U1O z?OJtnS2~?vvWmdbDD7KeIILJyB(oT*$2U+bY8h zx(((AGt~Lz_3wN$JZix{8l|2#eU9BZanZ)J)CSn@Yw0-LJ!4bs#oj)hf{%C~g3Y9D zA2;RYmOOhb9+dP_=d0#HE8Ox6+K?Cmkm}$ksub7Sd90q;*@hKl*f+Es4-no+o$RP;{sUwJYni);R!1? zOZeEBC_IP7p2SS7M`O#@#=a{NsA48d%NdKyiN~F%MCTl}s59z67^1M}JvhoIUh*O~ zE26Jky)8iUT-}&rzgD`V_129)5r-_$c*NmUJ6~;7o=2mO@_Hg)C6`tzTLK|EB{(s3yxOjEQgN6VdvWZJ#R(?YfwSRcJr1-$%GJf%_-^O}2LryllX8%7UHt!mIud+L|HOm$#Bb!polO4y|6 zGH3A&1p0}u{Dq2%7x4t} z)>b^z``+*Rt?Z@3jcN!&r*ziVVejTDNey<&P;+cniR0?Bc;h_ZSPcrX19HP!bmnVQ zlwD_SPD1Qc`c&KOotj@r{M`o$@UH?-N4JEanLtIKBfF^cIqo;b-1Jlc_~*@st-jc} zy!o~n>4m>-3-V5~`}wDb^SkC9!wZ)$XWmxD)}N!xxVLx!?Fc3Xq?m7q&Y!^JDB9;Y zaFMR%M^9xt{Any}gwyPP|6e7T`w6R(H!_8Zf3!QBP^ZH4 zUGZh9@jS_U{)eDDIPN969gX{IIQo&wr1^|>pXsRz;;>dSIHMHULcOR%XHVh;qQ!}` zw*kovNN&bGHULD!*pyEJADgKLAOXVf2sb{Awxij5NNq$2oJRzoI~^&{-S79a@{f6| z7w+LyJArqX{d;buWUBh#z%>^;W7BchrXzqtx#rui7pGo6TmL z!mb;+0JR$CTFI;+7u&Kr=W>h$r|!hM&SjKPPJot~keTeoDt!-j+p;%HK9`LCsWKkO zU|&KJx?}YnAKvkkfFH@uW9`oHuJE=c?awCkpJ!kDWC8a*Z-W0{qkZS)(=bp+8d~IF zwBQ8qvpv?T`4cERASpncc!N+Hi0NhG4KNhHMK~-jV)1!>?xzNxk)t3nYV)2t>T+#Y zpiDIGtC)Pyf2e#{aB;7NmlP2~f)s~6-<+&D_6n#b_xN~Yivgty6(c7&UO;4`!KtSB zd+^6xS#_)!I-a96n`+)j1$${HX0xT`1COLU(Yc^rNSLIYs232?G!jlK*6Nj88Gf#{>AWse555#7m@T-v zg9k!4sV!mH9MKqt+28vzP1B$mSMA>Hh=`MU7XoXpSv?pF`H_cL6HbA1%(wAG zSjsWcav3QJ8#UlV8&0rQKHF5WF&eE}CT&w(^Y!MV216txMGM+8E*;nZ~wg=g;6C zRLEx75pfg)hQ)6OTCy#K_FyUYwV_rHMcD#)W0`s2MHH|~e>-HOpD^_M!X@jMh()OC z^u;JG!a2H~09F|dI;WK1NUo8GOlx;RufFL=lFbs_^%t97V2@|{8Vbj$MbUd4YDpEy z4Cb_zz0J_mEZKS``{=eAA-le_zna_|1*S~;BxA8(Z zEziX1OI4bFnIhfdjrXQ9+ zx&W`FpKop@VLyJh3w4d}y_G4UpGY}^oc#@N27D>X8eX#|p^`U7j;qXxPNlDB%8Kaz zw^5~4-|;puIPyDmdrpX|>DoKlaG{LETt;@au`A zNPUD?8FKE(7_r~ImNAUW$z2EYZkKTwm2P#zCl(n;>SN-)G`6m%u_C1E9?_zX9t*o0yz5$xw z!wie0G=EveYO=v^?vB`Ed~ctOrRZ0FqsYMGYVPievB+eWwgpycz&D}Pr!l7e7>oi? z-p46CQJgbqdxogMt;%NzOn5x9IyTvDZ8WqNNaHt4WRi({%3(b-;D!~?6 zSR!~rw!uW~Do^mkIvBxTbg6{!@i&fQV8s`JD{utT z7L1l@+Qc?uNajJnSxZGLTuQ?C9=MkasZ{{wQ$j~hP#h|Z?Fzb!U)XP-{hOEUWS^rP ziq_5Q4>DbO`k3J;*&heZ!&f1V-i}w|C1D>1VC`3z^ggpM2C&?Mj|&W`f>NskKvJP$SUmF!^9mi1YsjF!VGcem0})pbsfyNH7r($ z4+#Sk6!Ji3Gd=>>3)=7~gWCc}-VIZjIwN6gTeuZlSW|fT^{aLVZA{4cjRHad2J$5o z`|S zn?v@?)}S{Ww$x`;fBOb-WG23r5ttB;T3wTvU*^QlytV#YJqXZ{4dPOXt$}vYiUTIG zU(IHFtwt9q{s^i>p|XA)+3C}Z8{D{8GZ$hxfiSBJwL#U~a}#~y-<#$M%o(y3!D>G2 z!~Z{@iS-tPRbOTsz@A2dN31%?@@d$uy`vPM^vX3H7y|qo8E#4b zFKb(7!LY$LQXLdLE0l_g;an)}roHS=3fEzP&|qzDvK^s@8;s~HHAb(0?UIJ-A+|$8 zl%*U-fK_z%(04@CVZOV}v%5N4R1bK^>s5peAKLE5@bkKU62bH&DMdGs=+#jd3WJGL zm3y^!JT2y2(t;%s2GO(qjy1;gbfjdyKn z9$>D^@n&vwaZ|bs#8^%z1B_G!1dE0fS|>G)RE$>J@dZfiGlA*yP>enuL}6X0Zl!&s&#rv48mA`lMjf zm?FE*I}AC#?<`+3u0&pCxM^UgdTc|79s7jff*Sw^z$D@CaD$Wl9maYM!<9keYlT$< zix>EI&F78Z+3TmnGhGxWxAl_}H83eyM)1ch*ny_;R-_J!H|mW1k?xK8Zis1;a>E5O z2J;DB#3l^b0a(o2qaq zWj*-){OJ)l`UEMrUn@0*zhQVYJ8JZ3*Y`3gW&QO^FbJyLw3P4arXR>5T>C|{fUGiE zbc=G%fQvOS?p~d5H;8SsLSrIBA9xO1tNY8+hFriCR<8yROs?ARl}Q`Xw}3=F=C{*{ zft^Jbcqm^coiQEr0s}Y@%x*k1VAz5m3}>k0b8+Gyhn9mBQ;CPf{|$)~;#FnE^nfHl z1H97yy}uco)T?VANbLr2M<^tdND*QO+e@v#sg z3#FelXAAdITvv-J_iTvAIwE+f)(V_;g^7go06z0qUyZcbfc8Y&x)QFQ@XpW<3VlqJ z3~Am)bDx`iT)g~NH*pN9wdXGz#wKC%js8!uqH9;W?tj_r>9Hr=+^^WPR#CRF=(!p@ zLjI+va%?nQIx3(DWc`IZ&RWhZTmt>?(mb-J$Y{4*gH!NKNoP1M)=3(RE+nqR{5|OI zrDaL$gCj7YrgU7|QHb`j)WS*fnIqm?KCbM(BVto|EJ;C~%2xgey!zS@| zeMElkDV~2dDC!Bbz)e@6a7?gSFd~hI7^EoWP*DrqA32*ZjzuB3PK>Dzih|AS%tg2K z8yJ_&_%reO`H@T=&`_Gqkl%TPh1syx>vU|hc{buu*0JW%}mrA2Aa`tR{`gypsZP`Z*mubBveL$8;$? z*~$#`3%zR&;THCBbO{}J%`(0LGE0T0#?SBYw<#T!HrAZkF$`~EjBe&RPEvI*j$uEJ zxgTt%RHlfan?q3krtHG>_N$~6tS>uIQCxc8Oi7?vD>82cB8iEc{cBV!dT_^?IMsxU z)eQ3-Y>Hs>FheS&CLEr(q%qJv91TR4HH66l!gC=_=^C-}yEekQXHR+2KM*m2MZ8;@ z6)(eX@N8K=TAZWB1>@m>ENn?2%lN@|ouAFeH8RPHOvz3{?HBpoCtff%NObV~AI-J5 zEobqc4+pdZH<7B?<6ABH?RUKH&-!N$jK7r!-Ie{07xb!_F1w*0<8oK4L9)j14i?j~ z_5akfuPG#6je_ZX14Q&VBxQn}TYoJ6PS zeHc|QML1S-;|(o^%06O+w<^67FhWlKE{0wMU|3hqE^S)se@%)JtAldz-k)$mzD2=n zOB@@=a-=10JkPL)wX~ggNOlE-7oE>T{OZkLuT5 zCB0T$JuKMw67G8jwiPwHq8x$89AY97LwMCMEk1AUZ|nT)Ro_pkEBiUA9D_udj*DsI zX0-7&9#UCycL5C+d=YbTth7ViZJ#z{eyBJEej70=CXU%V!ZpyYZB>~mVCYr-3MT(xU&^1l zZ7w9XnLyWbDSU*RdYtW(P8NCVfHF(P96K!s7j?I^^IP86%@8KT<$v5PnKuq=WtiSz z%6up9zIsvFWSX)1)(`era|L{n+-&9)zBrZ%GMY<@cS_qawzuETSeWxdk*F96=NUB* z`Ar4_oqEYRFuP?!tj|ish@bAXkToijr2slOW~2FUC1?Nu00063=h{^!Ytr6(v)1oX z)P#Mo?m-~GnCGA4LbwGUtRST-W1Hc$#ed7lh7Sh?9$R`!XrCO1xBu_8*pz(gK=nC! zYIR~>pmm`cBbgdgKlVl8+H4G48y(4L;fl1*0c4h$%R%`nD0Y)IO(TSp9!q-O3_y(mGzm!tZWc ztlVRi7*8iuZatga*0{YuR}%gUpU>nZalDv^J?)hI3c-I}=qs5<_M|P25g$zD-DNu} z_$eWlA)AB9-s`p;-UohO5O*cVr9^pr5#Y4Vm#2x!ZOI~yvcG*RTKlb=%tbgEKwq7V z6HyXq!ducYGR=DU`H^C@_h}VU1F!uzBvZKL@$3UmEHcjHy@gUKFL5Ll%HKOzI#VsLm!-%CIM{Prg>;;Af$)v! zzuu?TG?JpM(UTZj{uzdh2|U%v*D z%%#^VPH9me2al2bUlmjBr!{H`u)ii&bJ@10M+PL#eICv+x9nB)rQm{uifxA~=pX;DldXB^gpiRZ)(l6)sG~NCYr{pnW#~Tg*l(oRok;=z3h`&o>}(^m3E8RrHGG zV?UtK(dplmER|yA(jZ=SV;KFR3kv`JLDPZg_hxCboP_9|ffxh9LWG{1XI?*6e2ynxnHE@W=6@uqFWT(!}wRd z^O|c8la^V-=ov8M5nl%yQet=`P4c5bs7LP#U0k~WB?$g(!>N%+(aOp$u;9rhyJ;@O zlbK*@F47E^@eRxZxG;t zzW$iSNqYH)m5jdJEe`~vFTqX7-rgC~wM?#N~no6DTxuJmcUVq&U7|;wAqH!?hzts(0 zGM=go^&f9))4a_xSVQ12s1CYRNN9(S!CM*#_@=efTUlD3viZ@0QC%euHB*B3n6S&l zPfWc7coYVQHX|t%Q(m_02^z42Y@H!aXRN)m1%U1ShxHSI!BhzC9}M7utfmeGnw)(D zwg3QTO^>2ie~ecJ^j2|>M#cnbc1d z7iNV8MJcopW%0t(hB+_lGY+8lMbhrjZD0v%$}w!C&d|)O^NCpEy5(yR3n606b5nTz z2#~x+`iD`Ob^?BlcAB^tZh_hMUegA-Jjnb`&UN(k>N_4LK5mS*NxlF8000000~1Ak z7s79ZxAYmNb|V<>Iu2a8M9#~cVZb3fTQWo$Bs@!r>QBpiK0a8@{pXa7a5n0b_g8)| zAtoTaMDqP?&+=ZEzs?V6?FB=xoYvD7+v|=o~T_E3smHbcrF0i<@%y@-F+-E>UpqGl*(+WvN_ zbBy&iscl#xb0yKGYTW-iZ!9uggKf2)w~F3@G7wrx3?4k6WALTbv+Q{j1#3N;Xp6=% zif!L!W56l7ZBjvaL=5c*ge7surLw_gGbnc1f7T+i8CO>hiAgD8_k+Kqww;)f|I&WXT-jt$9{-80|wzon=$@0_>s^4^hG5Fc5?n& zgzKXJa1TvhTo4;z7Y^KK?P&F%1A-|@+iXu_cQSW-u#P5{*h=~v_S_YlQr)5K4#4ax znLx>y)sh++nnJq2qHjvfu3FO&)5C}OZ&S(G0sk!sg$I?8tkYDEWl$YZvsfCeNfyQM zP9b3EC%)=R`dcN$t?!Seyyyru3EUHeZ!N)!L+`ShK;_9GhgBB_pRrmys_->1H_{V~Pa3tJh85`m`49Xn>6Wl9? z#fuo$#{p6n#HRG$Q}9l(gQN_n9xTUBZ$2PQdUJ(O_O2)G*LkbG^JGtj%>cgy;qL$< zvsh_44ds~;JG%b#@cy#xoy_NDxjHYC-%ivZt!T z#%sUMR@JVsyWGL%2p@!nBZKSPu^jCB4!&5z2mdR+;_DN$j7JcrrRTImrFvJP>%l?r)_>@ise1L3R%&qb{XeS!J?-aMcp|QZbsh|U(0)BS(AhN-)qqroaZ!nQK&{hOFP2M z3%Zrqu-HL-5)sy$!)l7#N|1BNHwTPN549GAGOBo7^|h-neNzWmxlU?7F^k7`7!=?o zPLdUOV-_UIaH6OQ?$*&Hwthc&Jo~9IT2-;e$pRwB(%n*m9`u2IRvsk5XMZH)D^7Ov9?2(P|RfVz=LVm88zvkN4Mb@8ReE5RE*m~luRia**f-^W@?n&Z~O5R z2JT27C3Fc?FfrUNU3$oA<B>$}997GoC6t8!YJPcQ2HNrZH>I;ljOHKMdgD!nqPp=eenfa4 zpLhyZ3LGrID;$&vLVpQsP_@hncc_EJ<>$cv!0#eJmwzau`j*0;<{u*R8Vapj!1;>@7NLK(1=5%4Slr?AT~%spUsn@FR_1car<)fx zi`|#-5@&(9!Q1oDRsse3quQ(!V@6<+dzM=vi~+P5_e^$J);|YPzrnNAsW-|^+u>Jc zdFl&%sCFUeC~@tZP*iZIEG*$RBGh$!N|Tz09M*H* zYdXcuZA%|!0}5S~|Kf+?dzm7&Pfa$e)bjed4mMV&yJ`~6dp;S5NcyCY8#Z{p1r@0n znIi)`I4v3Vx5tX$PH zbbg~Rd0KyK4S@8CBmv;2k_uxPp|8x!`q#6AlX_oWZnm^ET~Qg0ON|v4C@zflGiG`6Qc3ZoxJt3Gb+0J(~q-j*aOMVsqB`J($?;%zW{H z!y1*IwX`!^SwcG|nxXx57O^9ckOJyXgt&G-#eZWcEV|<9y}3f8OVR9ixyt;u)jJ8X zUaf5&BPYtsBmu&)LZH^qPe^jrZJLa|Lce9~9Hxvr-h)XZ1Woar&P|`U@gU z82^@v${l6AG(I4z7&OKeX`OoAKUaYtsnot~C=7f!sg2r?Qpl{vW3zx_DGuT^`tv5k zm$xeFU}x`^mu~(;`=aFMg`@mhg0})f1W-IWB$Lo+uED8%q^XxsQJ&;^Aq?3Q&&glxq7bdD8@usn#a` zB9+3>QjblsX0d!n+VRLc8T!WXNRapX0sgj?;U4AiW*!bAD9+j!e7>%tl^ih;{-@nd z{)LCZnL1L8;%?sYYYaVpfEQmJONzR7iEaK;#3!1|nih|IDHANA&3~u{g2$vg-8vn6 zhG@rne9h{Mfs6o>4|rsxHja4eBuPhbl$GT}Ig}le_9jC6;h#0{WC_v&oP>Qd*C_i} z2z@o@2cCH}a;zQ!(}~W5Zz%eQ5HhMc`n67Hy+>w)yFUbef1JbP?8n^3*+J;9AYPs4 zZKv8|52AoP!W+V(dS4xe#Rl1j2(y+Y-=RoRO1QVhVkvO6^0IWpX#U~c7^uouBtBL*}VF`mhGlqH(Z|4{N)7%am%3vfEg*O-h1ubiR1$otO!s7!~RC zIyJQ7-d4Ux0v?F!M$EtH&>mfTBc*WD{idUUd@xSkRmy3#P$E&J!s5_R9u$KbIfXuc zUh0*svbj8jtJF%U8=%JOKV6=2PwuTwz0&8{9kK1^%{3OQ zCc5U3;Ibqq8k|uG@Dg3|B6e_2J0)R>(lB;td)^K;Dn^uW)Njv~096cbfpi(@-&x-4|w4ahN6nG*JPeD$Z_)Y1Hkru+(gAe#> zqn-kl=swyC76F3P|~FP~Tu1P;Y96Nv`S!Oe#OOuS>v?WkA;&W0}* zslz8WI}n}~{nLe4Vc7`_!u%uMrM01oG}%Met|zDFQ_1!%Sc|&a%k&2*uF~(|KpW4U z0A;jK%^?Nx)YRD#1>~s(AgPO5|ME3dP48DIpR)apOEzDjX(Pgoh`%HOmi-hH<++Cs zbuo=v7KxZ`ve9%5;MByl-mSP?Qs!8x#Yx9p+{d%aK z)v8V^E`2=RuiIOaeVYa8f?!!t?Cf_f=xvqkw9o=EgYv#jtUd}%kP!BeYoHN-eQ6N^ zaedW-+_wz?2K`vW&3973ih{<7$rmbcgyFi%bNA%fC*DYxX@@oZL5=>wF!1*N=EQ04 zpcjs%f?#^%C*7X0Hd)m%k4yyL`nBq4*X3Ma6$LYQIH|4x;llvLjUKUGX%88ZQT1b; z>KV<`lmbIA4!)@9gA6bCN8a~?nJz}vlHKz+c%MA_qriV~`H+(^B{XQ@hN6p<&uZs+ z{QKci;Q^CpZZ6yd^DB#e`z6L6M=8Gnjf0194DbmEiGo6Bbs!Fkx+07xv3yktz_=Xv zoknh>ZcGdf)xf#jpw9@=SbXm7vyjC+OgHQV98P1M;bp&?)JaxI4e=fK1Gy`l|&Du z6Kk}u`!9hqh*b~3R)H+$dd)>twHz?I@%rJ|dj%01{D7_O*Dic*Crz6-f+o7!BL=JM zQ%f;x?h(v^qIxmY@Twi5Y~W9a zYH0;bz!x}Jouk8s4t#n+wRyrok`ZdmC12q})%)vguF6=-w3a0scIn_ra2Qwgh>Jri z(NG}rW|xdvgmX`*h^fLAd#IogO=uue1)=U#0(aTQ)z|`k^L2xgj-sZeFcThA3|Rt+ zs*CXRbnx-wQDsyXDIfFa0glx>lA??OS;?qn4=w>W_~fv})isWV_WEJW>xB{Pt3~Sg zY4&|*kAl8@GO*pk2;DPr-?A{a<5RMlcnrt532uU8^FZg&Wl=W`t)(TQAA8jlPJTs2 zyK2QL>m8fN8Tf4EeThjXsBpcmkjYe%qy7IR?NHkSV3rcIm*<6LEA+ zoT)4yL8!IFV_8jGVOV+47cy37eWjr&V;T`X6I(xNw&hCd(0Uv!Vl@H$`+HB!inSXR-aPWh<73s@~n!lK2+?jL-Xi{yu zC^_s|OzM8^yX8dS88F%FxwEkGXkY_jWjzSavcWwpL+@aSM7Yt!$edDUT1L&`aC*63 z{L3RmX?fW?8SW;?nh^8fS$OJ4?L5*umBY49Kc`tZLQp$6$B!=9XIWc#`WI z4fCF_ArO=M08T)$zs!4A4J+Nv>Uz=t!&Ew!;yJ8oWte{%I@OtRNF7$lk9aP~50p)K zpo`|Vx-E#own${SG#0mc{m@Ei5q`XJ!%KJ?HyEQEx@b%Vh3w|>6H4CHEsy>T0Q3}8Wy%z%| zl-^DT3V07~v3Xe5LUq-wo>BTeU_$*eUj(lkxqkfDc0kC@@AWJJUDK0Nn!s zFMHwBNN(?D>yl~vqGAGT9uu|?RdPaTeN`P_60q5__;*-ZlUdd-V`wIGI@@OwnAtJz z0s|$x4o5nm0TC!>rJw)+0Ara*z~9VjAxot&%sE@;qkC^lXo~8J{)y_P%(NmFA?ky_w$udB2K95pypV?1Lt7YFKC>1|8_Jd9bgOA-N^CnKo0m@fzQ~LJA z#Y}MfpGK4ICtzH2i%V3W;F3cE9ebV4#*F`%K&re*!iUnMzWgMou6PaObjRSQrbF@0 z-#L5<5~A@f(65Ig1RHVg8yvw#1g<<#$US`3#wXe-osdI&-hD!o(RF%3TX0w`+7ZPp zcGVWLYI^!>Lw-4go2!ZZ`(AK}!{Nq_h6S(^y5;3*>%gc$ff+$HaiFiES0*oHKm;h3wXsHOuvS>q5T5 zo$pHbZED)i=6sfxdL3KkFymr@|9~#L#aZ22LKH(C4umFf#e-7{ocD%hy1Dpb;ixhl zhI$9yrvC7|=wM{Ue#v)JrBA%}hT?khv50rC&49CX7CrI#U|Af1xX+O32eP&E2iW&? zfS}(8HlG8mgF#Hjx<@w|OWYGp3cq%xJu7DeN`o^9w4>!WjA^e!lE-5RyVRlJNhR&? z*%A;GZQa+|;#IXE*hXO5nayZJ+261&qAE9=L0IM0?l)pbxtAerPKakMtJ9Z=l4=w< zf8AZ6P;5LYOJ)>J%0NMq`*a&&JVX#Gsoj_;D~T*Ahos{fNo+{>=-2_un&J(3O(Yiq z8I!q_?_piDzY{~K14;f3e0XR3h%GtQwUthxk*}ecYoM~?EdCFivNGj&|K-4bIHy0q z<*|VU@!i4v{yK}c%G7>w@Oidw6poeSbmbe6J{l%9=onCF$x88wrmU{$?Srtyx!x(( zZRlPc7I9N5L`cPSB@4^hjYvxxln+tNIWToiTquay@C{sWkg{XjYkzvwV0|Unv9skA z_A)wC6P5{n4fq&I`CRA)O;Uu)<}zoB#j-0bPx| zHY)@qlK@UIkgdF2mBZWLfRv9CUH$fi418vHR?#A#Q3aS?`~@pt?YNTx$= zoiL0*(^2hjdN84%zB&PD5;<~BeQjt%ipP%)eoZy0>!UM4M4!7emun7&i1TIvZ#RV z;=1?92k;Rly7WHH3^La3H=rd^{tw9Pd_|Syl0tb;NMuck{Lz*98$!z6JoA;pY#P~$@r3IpKEMVX1cY2f zt{^3rd?Ln}l;G~?g*?7*i9LmA3qc?!C$##KKaBqai-kNUz^Q+dc zHQdqw08v+zg^Cj=oF(%PfBldJqIQ{@Dr2uAPC%cZQY&k~L9)afpc32z)S`d_^x90z zK`HtLoa*EWc;P{8005sDaw%_A@?K{3!f|`csa=|bqR~ZBK<7Ewr(D5~CQmn6k+Q!k zMILUw^>`-B1%>hnv~8!H%(NKa^3GWqKPu#tJ3w|FL+ug=MAt2qwZ4T;GozxUou=aN z5NXHH5G~&(D->Ixc7X2H>aj&*ct-J}>XUwtd?@H6Nz@Y}Onxy|GTUgx-z-v46o+C3pL5t%OBqV+#0UfQ(xmMgM?w?G44R(sIRyoNGyR{9?`A+o z;f{w~bAOLeG(NK$BDZFbwVwhpIuH> z405OSMToE$55A3d+}AbH4N1{9PXmV16yd-8;ZZi}-F#IZ;zajJZPeNrfXB+XBb$7# z@AaV(sR}QOb781Ex>LcUSu_$*%RfZXhf`cJ6WY^ZS3lei^N)$)YKRtrUdYe+OC3f* zow|7Btq1%J-s|WsNKQ#F@r!lt8naAKDkfCP9L+a;qcBJX;j6ByZ2GE~tZD*&~snm*QTJj3JRI43XL78i*g&-WE)T23_ZPmZj5fzh& zacPj-B!_}BvgYb#Nf!h?5C|76GJ{Yh0An*W_Cj}?MPdeq%Os!a=gBP0084}nw&`t> zxJ`A!=Kyrd9tC`3Om!vL7fETV>&v4hZ(3`@!b8Xeh6rbPD}xScsxkO?Yk$YSfXAjp z3%*Gni>i&EfL52)1T)Z--J`GML>n4u#FOfRN{_!CuJ#)Iw{APr9G}hqBRq02s+qqG zLgfSf4~@E!(x<~JGB{4_iP_m@-4v*sMZZp_nE2obe20A2fL<64jJGEI!=)9@vtiET zP1?q+7?UyINy5eB{ZaH+(x5|?Ze3@5&&7UGM%oLqygDn-04{p|`wjVWs9Rzd)k(%K zXoGFvmbq>S%=7alK-*FwuE8V*vw7Fh{1Pq%tYz4Ij^+#ha%^7J>_zQ$O}M(EJl)_v@&%d25Zd`9s!tk1OQdo7wlJ2;Fv9JFf0{XV4o9A}vQzMC4AJPV%@nYG1X^v=#SVBt_4k-W=n{ z*sm&P;%7#W&p;%ix%yIqi;gr5PbwCS z`tODrGxL)SYRe!}E7K(Jx=jzECer*q2h&Sx)W>)6v(=&$V1Z9cYAiu5J=%XRR=Dop z+8YeCD&=DG(W#gJm=|8lM@P~;2I$?hb}V`y)rVBIN`K%LT6NLq_#uydXVG%W zhSp$l*yu2)7RpfR}x|Fad(tE~Q7o};TLNC^r zj_W>~Ksq2-(&FWFR-5T@wfWB1D(Wk$5y)~g<;5!k8beOXZewg@9nr0RqH9oS$V{F6 z;x5H)rneocZp;Stt62KuMW*mR)y0cy2RI}{rbEOXpd~RF0oGgUNwg%~-0wlEL+85d z%wlCOLnw2Z88%a!@Q51kOLW*xu@fo)zYoTx9pCv$%s~$`eB4gAr!3umnG3zIa|kSV zi!nVfgGtb{rXL?|wdUH9!l1r)w7R4cUJU0Z#Iq$v%8D+N7UwnfmZF7f1X6qcCD@eN z_1g96;lOFc^VEysLi8UpEW711ph4nh@#D+|PV_WKQUCxII|}2(3CREgvYpRXzOZDw zn+SQo3t}RWph~|JEE*j*gR3ZL%9ui5-LgPC-EAz^Y6mKIF>Q$Y zHs_Z{-IP5m6WHgz3h%Y%@RYdwwza~c#zn0^UlXC%OcOiGX83lg2)wf~0NP)1gO*zu zRHV$aW2bTyv4S`!cVQhEb_uy+mhbqF^<=@Zjr%MV4x*>y@0FFA%->!p`$gG(J0&Sw z>I_fXVXkT+MG%!Ng0mobvK4&uD54{vO3-qOV)73C<2NOL(B3Dcdtv?~TGPH<9xGk2 z(29wz@OI!W{Tvslol($eP)QE@EQy$tUcsl;SeF!)$ELousY_W3XTOihmeBgy(vhAD z;P+q;@O1^HQ<&BKBv#uP?uPzSiL4(!cj`~)bm1o39;>dGnx3chjmDplDuvj$?L3t> z7zaujPYH5nEQTocvqgWrTI@8JMY!a_pN*D^x5Fa-fsKj`NAV4QxpTWeJ9xG*9)me> zGDT4Wx~F1|1uB|AR~dbH$8vzcLVN^B(TRPy7|eOuB2TBzC<<-3F)?F4INAr(&=x06 z8P7*>knb;8YeEr}oA(iJ9FDtqo*(m)cn##jE2Wpc2?7&hzJ@)Oy)-FHZ&XPzqTAO!_okm8YmE0s)d5fs`S-~MWF1W%*g?Me*BEwXtu5#ID{aFjQfS%)Y-#~YC zdvZ6i55bW4=?XDi>x`fCr^WK=eWlzg<>6$IHh`!tW8Yqg)@Z9H9|s~E+lQlGZ#*BT z{Un~BzZu$NTlNxL_a~{fnz{Xq0j|AGN?A5N_-^u7RrNXR$rSEBy$o}dqutbaDC4_x zrjNZk3=IpKSx$_RcB|MV^n4<*kl=cl)_16~?-~QgfPhp^q0-#%l%F@e7=p%J{`I!RYaQ2Z}E=Dk>CUIM6tKF2$>_`M}(a1x#FC zJ>Qq#bs{Q9jnJ=!;BMl=oQRA9g!4baNgb9ZmWc136Qs)B9KJFi#Eos`*ENLYadE^1;P z0bP@1g@pLgTl$Bkhg|*O7zhMrRo4aMSNQ^_8TtAOf@E9m=E-|MIumi=?b^BWA{$_> zTknsn#hM`gwW5!=dZLu1<4}*6wPgBY)c7H2i`=NtP@N_d!ss6P1iA&Bc9W2bSZFHD zif-qhM(?JdO;q$(TygNYu2;di89y3$G&=UK{A_-zW{&=AVor{z2=ocuwkAu%_fd!R zQ3$)uU3yz01tTDsQRvh~bXP{MJn|Ns8WEz}2F7jB;{oH~^`L!W1B)D#yK1j(vyeorRs(GxLKb0V#ANiBfMW~l%08~ILU;QCM6Ine4uVsu@`Wme76R*%zQ(v45;$Op$ z{>+}P&@{@N0TN8}triZApbJy8p*QKiWCf8zoyqnRKsK&=R$k$z&tq`J6g#xMKOOjd z9Mf+pRw+uclM48KClQo*3`ez&91Aksf{Yx=CO*J} zPDIFv;8!vc>jg{TrF)x>0&0(9h~-?aehk2YQB-1!U*rdG3xP`qqpIi-6%l|nIUGoi zjuj1=ZXtntCYMmuMhFw7WOJpsxUiHIA1wi`JoNY|sVvPUX}@C@8(GXD7v8mK^SM{n zLP{>}P4Y?g+}j3<4#;@=h-_Ps)wG}jbkBTM6N+RR>uFx?K^E=ilC){f!e-r5`n+%i zl(9C$@#~1Z(o4S0bTO4x=dB9W_I@>3YXAg)l}oRw9+M+-Yi!mDb+VAa0xqyb1?b+F z3)FpA`DTxS-=i!*;mMVjaEH6w_O9w83gM{}6`Es3w86Rlu0eQSD7O6DK-C_|{$dC( za*WgR=@F~!PKhcr`fjhcr!IXfmEgGH*c=@KobKCEErZaDS=pJPM6RF0tP3U)hhp3p zHpf|WwA`@xxJUwN5qlLFZRvhM{6kd!$p+Yw>%1!9acE&X1?rwTjB|e{!Nk;IRD(Q! z7g}OjVUovAzr>*eECg7gO!Vuxoqyk4B0XBmrWF3&=#+udz7Rtdt8=%}C+m~fqWP$# zh#yz4^NG5ijZQAvwi>Dm&JllKvNf!W&}qiMLCF(D*yJ?m9Dtf}oS&|G!k4$l~XBUN56NP6Ynq zV`*r&bp{TYt3YkJd8STzrDao`HCuCHNLy10z^=XqLU&GBzv+tl$m4}BH7-tp3t7b> zoTPm85zo+-e+IH+bKfuX@Aa?mA5A}@;hD+mX-tVU$Z8_mH24DszB&r(oojF9ergTL)coX=UT7`)M3$8N-pKFA<#rhwV= z0f@9g$%aC@=96lPFDm_&Wh)^o18m*A);bN9@BPjp2?2Kp<-R5KCOd0gj|ojrGXsfD zYl;4>&(3eGt|3~-Fv2kLLAq@~gQ*y8`kF^Zq=<&KN~$jjUnVD*MH6{&FzgdtIzOAX zh90fX4~}^(@XDe~8Yux2cUB<2$@YkYYjC78xm?1MuJEAVQQa{sA82Gtn82=K(C$;1 z3|9%o0<-q?^ZhdowDfkaPyInyEW9=w`L%&{h+0;*Bou>bfU%xw8dYc6sI7=l`&E66 zTX8|{=}7u4RF`=&M3ppAnNxe4M%j)f283``U5rG&sXubt5!l5bgl^B@DfYxSz41uy zdeMw@gqTBiCX1p4$?G*PbXvrsRb;l?5mK?IFG+qgXoQ8+W|PGscM!dlU&3vHOXV51 z^VSrxgF{P8eKYZc*`ea<5|4$aX>?$|;29~GJS3{2$sRTr9i4v$om1o!qe+8RrC}5) zQ^D(~VQ41sJtuuDDF%&X%t|%EQZ9lKfJ`+0h5we3XBc;5e(Ccm6YM*D2Thz!as)~4 z+*E$9Wiq_CbXe2gTU9ojh#!WHQ)ESQo5q-ao;WQcZzETS7Taw6oBC+K1iYmPyOX8P zi-9NGfyd=5lnh1n=~(Nk1jS-N6k6C;@QU%!i|DmXtPwi=I?1_dnk2ffNbkf0jzJMo zTbJ2_EF#&ufnuIx%Y~?1d6A16JljQaDr?~YbsoplLoUc!FSm_In9Ss6@%E)L^6>^_ zQcGfgIwXjcG4xNB9v+^hVM9he=(K!K6)97*naP5a7|TY5beTZMBjg|lyUHB{7sE}LgTlEb#R9%^bq}U?4jFqaEFQ3g3~40 zpFAI5Fvlowq>Fp$ivWYYfwGZl{;3Yh>;-d{L!L`N5!G}hi%FODeV*t;9F99NHv6~b zSj4oAq9j}`bOnJ7`Gq^&<(P0oaMB(qd%uJNdbuI3%W-XgO9UN+5BD0DVH4k;+zWU6 z71eJznLfWas8^8UZFHKo>;m+1gkBZSxY)vtdp=JBw2CP<1z5R(0>_{R+6p+t9+?-E zpJGJHo5u`PN6dg5^O@{uFh}dt2FEUL;YY~*Pm$qz)7SM~6a<7-rFC5qv^Gvt5nuu0 z#iFG^ebWwOdipCCZDU51x#OzI??PXJ-cy8#XCZa#M79AwEr8PAZp6N1$qgB%2?cB| zOJO^oIdzV`@bxhq_MtmrgOmV=@+>*pMHqYAVN~&=|Zww6wRe;41VUYtYr>Cz{ z$h%a5F_dLiNfF+H%hEvej%F5IkqdokGdbk)J;N@db2%bnczXHouUjbZyJr_@DFvWo zO;0wH(Gyswn0FEAc3k{)x2)Sf8lyHP4O%N9Ol-8Sg_=&kCTK@D2U2osnY8a{pZHhYup6EDNDhLb zCBrXCUXMZL)7=%^+^Y<6gghx>?{v3N?nbHw>g=VI6ec$Gqt zO^A+oZRH#`6m4T?`@9^B2_S6!q3xKYbqH)<0&80J>jQnx)+E( z?-CAsB{8|vunXTzK98vuZMPi~JEdwDI~)_pKFQ7NCTE}fZC=;6ExZPam6Ua4Ic%c1 zcuChZ*Cg}3s)PwqSy9AUWjSRnL-u_SbTsj{(r^iD3p8ZE0M9{4G?FZV`S1!y7C7$^Z4y9hoZvtuSO+)bVK@S4cIFUonb6cTLFo*F0?B(>q)9@lXX34z1|_a9cUwD$*RrZKRHrJ9m! zYSeqPHQ?1Fj|@62z={K@NWsZ!2lEgfup}ueuM+#R>234>$0X|Pkf%?*&Q?NfbW@c* z@IZ!T$VhVY)OW@aFpd@BRf8GJ8aci(&g4e4z;-FEzV{vrrrP#9^$Anx>Qf#5f(^kL z?`Cy$_9mbG>a}SHx7nCK&H0kL(X`OWhN=x95wZ`YAE42$kNfF7a$WML}`xzb$y)ewgfiGQ*QTcj6Vzj zeoOpB0a!9V>V{siluPzZdSRF<0QeK;_7HpR16qmxp%SGLn%2ZcOwz^lDlR}U9%Jp3 z4;EP0Jn~}a55@=p9+BeW5)lNv1b3C78}vupu!6DkJq>|UaFpNxjb0ZqIqhWCiEm9j zSe|{cLm%**oOKJ`0bxmz(pBln(H!B&BY|`{>dTr3#SpKA$#QK`Y!#C+N@x2cO8oml zTEW%p$hmRu?xl6B+&3*ZC<#IrAVocScaIYeM_wzKzHd`ln~*W#)i3@%yn8*ZC)`nt z6Kf{=|JL2beDPz)4T%|Q87n;5)L1N*xql(pjyb@}`Pwx_LW-)w=|h5X=jtaeQm$`M z9Dl*6v{?hQPnvT&U>X)dau~_s-w)cLO<91XiEP|(h1!la=3Po{kv26K-cSWvVrkh#iF=HknE()S{(CS&7kt#SyO=L@?Ymf-bh}2FdaZXFu(J1-aPd{jsX} zpw|xaX4#kWe!PRxQjN1Qfo5y9+&NmQhGR65k_u{ypZZwG6ARpG`T@r)<$UTB6yAl}g?#4>7VV0A& ztdLAnioWR4HKF*^yw&T&&k0juGm%6Urb;GjE}@{lLm<|xwD*6ya=<`soQxp;b9NMCxUYECIRA*bPnFl75Chxb{j8D!cj;b52BU2z0(){&{rvX{? zvw&x`a@^JHXI8o)@_nPbL%*v#IbnFG&~#cwg){y~yC$2OltMM0D0GNmt2u=)KY{}+ zL)gp?5*BsU_1mSh6F+@iFbHC|tcCf!9#2{c1V-K^*YFV9PnX6{pmGC3Q@5<%E@VbYD&%UuX}#4!CSvKV>TiIYSBV5O(}_>{=L^BD6xIwQ z?dFn%c#eK?kUyrG?NafrxAFvQ0dM0qP^ zJ^dq>vBQ!(N7YkziqmcaB50L`N`FhY(9c;Mslqiu zI}E92K6(pbgU130I&rjc4+E#om527KX+-Q*H{*?hhtBqQ2X{S=y&d+k?OUd44uf2+ z?)*l}2le!};B4onLKbFz(ej8pN<;NqpDFL|lJ#6Mp0Tbr@c=$|Ae4S0CJJQRMwsU@v-jrbawe2yZlg z8n3w0uYKR$+4f5JCZ*yH(u{5hl64sDGfHxaXguB;8iVHvgV2Y%DS<`gnp*8|SJR_+>jptsW?x!`Ggc0Ib&*iGJ{B-;<==E)Rf`fgB+-I}`FV&hV zV)N&(3aJ#J_0D(S$uf*auo_)4o$KS=z;CuPC*6sH$@;SHUgjZp_r9jO?D=0S7O;Vw za#_&#UYF-uwY{RRAms2B1~i{1St65rhXCqIha%|YSR3gTsK~B63HE8Zk4RWiqdttB zh)kDsW=hq$*Ee$P)Xle}Ijpz8ht56qzwC~bD%2#MSvyN|gw+cDVM+&-p@zov*cM$( zzFElPJvyIGSRo{vga^EOVn?t7nD_FC=LRb?{Km98)8f1<>WvAj4# zv;QLBIDLeXgZ^Jr#USiFxMvHTa-XGHWVqsPncR%j5FCMy0izVDpED zjlVvPNT5sIgaU~_Fc?q5n>az)ePh@rD(KUPfNb5kXvi}7b~T{^aD@Y%`_@y> z(9SB%b5my55&goo5XbAHKozm2Uz`B4(TG)t@S++TpQnsAt1voLTH+jmSCjh9m7^4-ji>n62(`h>&Uzyw}) z&-2`|IlJ8^;UmOsTt7^Y+aeCH*orKbC4-T($2eS(3?AMBhm7LP`UP^xhuT#&I^!X=>>&Me89B1GKLmstI{od&IK7Z&m zAZ#Jp^+9qOB=6-tAD%5f10y&hd+j6Y?h6at*=ZW8p>eg7*n@vcm9+l)h@m7%r`Uq_ zq~7_3Dvy6n=MW-7rGe-oX5cMseuyt{1SZ+0PJnZRx!BVe`X&W@|0aU-FD_4Kad<7# zb+%6$rl;MZIUZD=AMu4;=#*N}c6sgGE=QJEUp}j+`%S8;!A=*kx0>K(b~|k|@Cjn= zvEKrs+E*U~Wb~?W8QL{WC&cc&;{l?RhlqGzedA~nmrKy&D+&o*t`3CqSam*k+1C9h zwe%Tg-uhD)cz)~&ua;pOHuix8Lj)wOXc3ZJ z13Ff=RHr*iv0vwc+Pp6& zXi7KO)%I^-*h!)Lf zt0pqNPYw`od2Jw>&LOzf+;>{tFv;QE|M=%ZtWqCnr%?6-Gr^iGKLtqa6WZAlYV=C ze5E*O=5a_tgzVs}9_9)?ISUbsM&>fC;sakTJRTl`d5f{=EXw~h%3n#xQGiEr7Vx_A zygH``iVV{m<28`!=E8SLOySjt*i>KuWJZ&qFEbO>-!+3eZ!m;Oua8`O2ZcJwrlXij zMPl|BG6l+crKC+U*O-ge#=wUuR@~PSW=MHrT%nF|QCk+(m*P|@x5XKe&|b}nDixJp zx)P-GGKJ!^-uvz8PC}G8SQ^EE#Y#X+`+Ew-xt{ISY7ISVdsc)|kAs)iBh*plmD^%Q z|5&3PC3Hq~jA{VY-f*@MD|y+Rbi|z?E0qibyT5l|HaMT)v>5jX#H?@HNe7rjd#!P; z03fHTD_(~lH;B+Y-VCw$lD3fA5GQpKq8D!A|wI+XYXg%psUITsyc-gD`( zQ89Jg>TV8nq-y?Y=Lw!5zCK4}KvA9v>vW&B=s=9|A$cJ&wFhA~$TXi7ootWCJNH(z zWqyR!-~O9Kd!%3_=G8j$t@^y4WJF^9Hli%3&oS+_W~49PjrOV^2uB=yBVtyEo4+R( z4m9_dj@(<)h#hsVxpTy}edzzKl>6OE`IuFdZi!idk4tI23g;`^QgdwsXFpeJ%lxJ} z7na3#P{3S=CA9A=ldToLhAan}_uh6pm}4CBOg-hNQEjTZ5Jfe-*cr`jS#gJVPB9S! z*}-=Jv*`$7$8|si%WPS4lKVH?Zm901f82@R&iplT0 z_5>~zU&LrmrdH)_ioQ-4DdCtgYbFsY<{d4{2rsWbOe;sQPFW?YH|>ZK#(M)djXJ+v zjFGPA1g&1HhC2z@o7?wF8420+xpcep9Tir1`_6-l>FWw6G(y4-1AH~!83=Cz+8KgH zR~!23Sizk@!a$3%p)+D$Y}MTw#7lf3HO!0hm^$nOGFir7``QZ}eu`;e4S3C(zA=ak z4$2(Pagz!lVjtfHlwW~?<#rN;zSk+Xrj0y`{u+d%*z=^7ovvL)Exzy0nkjWQX}LbC$oN;Q3`h8}{j6`5E0?6K zoN6|@Wj|qZ^>jwuv5zZ#K1YiaM|(Q^u6JNl*HRLf;D3`9=ydaJRI9>v?W~9s;hZom zP~^Csc-h-e0)um^9JeH2@|};|#cenm)l6}q6%n^r)gN>UAU*DX*Q!kAf%=te!;(xp zh_oyNM1qih(0vSsT$Lx30ky(lQLMo%n_13vDrfC!ttNip6Xxadyr+8MsL2&7rrkPA zKM)5>yQ-qGSYaRb4}Sdka+XC-(7ySsn~jpAE0&YugAu~VBtOj8i<^QV$jhza!2#}aI@h1ftVXg zMy65aW7|3KDEokZ>HD;G*aGeNp`lMdA+eD+X6D(6L&9@yRjK_+k_p)OkN(;FX zv0DIuRwTivGoxPXBmsEO7A{GFUV*&2Ij_nYZHPRBw464+t9@^~G3Px7Y;VN+G=DuM zsN3e_2bM>Qr>2<6y^_ho3_k4}Y%J;f^`{x>`cBw&iDm)=xw&Fq_?Q z$JclgQI>`(#1mT%+PJxd@#Sw$0gbYjGUIke3wVY`r5~~(C{W-<8>Pd$m5y5uR?{PP zInC1BPP%|2K2;k@6fwi0BL-l8Gum3>BCjHxdi7#7vrXHH!!8){_=s|i?2w7@^xpEC zUfIk4W?||7g5j?41D{>gEuYMGG0fBV4lZYI8@ZXbyx#>L5b+OqZsETvA+UP&w2lT* zzj0ai!XIwIS@vZ~vG7v@|ph_`?1ulg9a7iqV!^E|Jh1>7Opvf$T=k$L0r=rx$A z;}JB^&x`u*JWMUD#AFbZ4x%LvAkQt59Q(T+#!is}q4wG%_f{b=C+jijcNQ=*b1=;% zM5XDD(CbQ_LOY1L-XxbhJAI`-#L$F(F`b3zoBUr7E+bbL^E3IL90ibS{5#%EY9+XEV3nM- zmJm>(;nTTFgZZV5ht)bxGrp})Uw5ajF2#e9Hc7|)h+OT} z(J>X&+YQ59b8k9Dn{gnK4X2BcL96wm$u!ON8!M!PbPW>qyAe(9^hUo55!{F~Ws6PH)~xK>9#tVw

    zum+&eS9$Wt{-H8EX%`rj;Mi8&(5IRIfYj_djlHN?J){;xdV#EKaOv7ixu<>r3N=ui z2b1}ekoF*$BF!gZjtzH&37JWzs_>bw+cp+AR-N||%e{5sVC~36vx2OU%n@iEk6INE zcpux~;*;l}2Na=|xDP*S5s{F#L1mZKD4rU|Cx|WG*DFZ{3XA5nBsicGXd81CgKg1D zi9G2Hb-a9|W?d}(tW}hh;cDtB?Ox|Nw?#Tqcu0E^1Rptwck#?#j9(hq#auwfuy6u# z!Q=)&LV0HjVRWRgh>i-v!RL(~A9X5}ObuTIPLy~nN-qz%eoWa8mJe_@Jc+wb$XK}n zsL-pb8$VSjxFc0{T}S8||C;IAV(HY{=6tQBXFqVXeM@+ftbbqt0002nU$6s4mg@K! z5l#%3=#d}*00000005dFYx6v5tuR*gnxv>*xE=NB!!=&W2mtpI{=&UnK4GX9H|@2G zk_~-u&a3-50`yA^X9YlTnI<5-sO-PIQqh-Dyk7GxWFRjuWcB6kd$aG)?R1YDOGkzI zcEFdA%ICB%U1Q0MLYmo^wiPJSUt4d$K3cSh->uU(@pJ&RDn5+p=X{y0_e$pAM@?2% zE?$xrsW>(=UB%NvUz5HLgCPIBoMPTY0h!7{b#x|!F~F#&cmw*I$vNXha3@4H?22%R zynC$cY1`MVhzOLa7OoXER)eUi@jy~iiPey1^^47ffDZ^e&bP3P4+fJrip3Rz1Dg153wriAZ*(jHh|q z^z;3)X3ZyYgU>s~%EapX@X|{W8OLGWF&VF^Az#gnUPbVk7?S$L8!*Js{{YhoV%sv2 z4ra+*cs+;pC9Kc!P-_t@am7#y7UO30!p5iZ>8HBp)`qnQdwO|xvulFnqMz)>)f8%z z`f@(&^QEAZds@Ot7@?qn9}PN6KpkhFSFBvAAclWNjBqI;2>L}c{s|wp{r-#SS`A2#ggF;R8 zEk%E~o!u9p&aHSx84qGo&QFutXyTi?qCql&DvXlA0CPrlD+EXCL0pW0tU`4jM&y%{3o|I6R)VC zf_tWiP3R2E?^b%xZ?r+G{`3=2FrO_j6WD!Oh&0M+h?x!gWQd<5rcy3M?h8tb) z6gs#(dP_8|tykr3(fy|!p+eDXq@Hn^$|W%;3nRhAm959?OD?Zw6OmZtO{vF^N)#Lq zE0l4~PY=P~@`|NtXCLf$M&j`!=8`Z2#1Id;$~Mk|a#aV8+R5|`@sO*02Gyit)gvrS z?fp@!Zi7yZL6vz(S}LVXjjWHLelK zUp?O8b}138rmjPme6Lo3YSvrldQK;_f=1X$@bNPAkC@nZuHS5IMB5}Ml+RSs9i>pL zCw+*Y=t6f8dEpKly3OaxFxp>dQ0q7F<0vw7swZ!Hpd zS+d3A2t?uYkjZ)(y71F{`Q-fH6dIOY2K_uA+EgVb>E?y6CQQ;V{c;=`|AdSV{J&^T zO6p_PHk%z4a-f4VCJ}D10 zDI#L0T|+CufjxOjMQ%Mge_u()ARSA!y}LvjdOK^63n-JH9Mj^SB*FxErvcH6B1LiK zLOzIuxR*(^W|A*z8{dP8!#RhY`jr`hBU2XKvD0{4FSpWn zSkb-aSr+eqfyJ&f&w;@f1e1b`9pLtZVS1gA6~fCF7eq!~52-C>Dt*wkQ&^x)G8o$F z>qV_vnhY13$36b_+}l`@V+1Dk)mwm91+S!OmPu4^r=2pi(io(B;ouiXuC(vb{Pda|${OI&V4vL5%kcLhTTDBfc-r3-SYv6BbHjsnYOO@*l87$5&u6ZnrX^Wi#lh`Wi) zDIbe?kH{{h>33YY1;qV8=v2$*cekhPJ1w+hPDN%y3RCjJC`UajFI4Fly>ScQn+4LP zAJiuB6VE;PO*osLTMF@Of~PF4v@|VKy}k90%_J+nQ(c z`0{wp1C=}~Q&|j^hL$uUOXdTvxWtS{{qaotYue80j2*P`8qsHovJ4ij;`R)hVlM3V1Qu$@>A;( zBXpHs=yhi*^c(<%m;|=;`f4E*q!l<;_C(jPc$6ejTRWBpZa-yly>^VL*e(_m4x*kQ zW|~0N#p?+Tg@I-&4&=J>o zh$GqRgkl2A_e5=;;IJk;`3@>%dY-O}iQ7-Cq(Vqh$((O=PG~S)0Iv{cAXVQBmA#ct zv|d$S?Iq8v{RUEvGd~J44;0lfhAL$?!QzgLA%QoCwyj>kzpMORPc>`I!c`M82raG3 z_<+;eS2t4^ZB(fMEI`x071vei z6fC!PnCv+zKWCd;2Ra{A5jB|Kn{}T1EI8(_WvHL7^-2~xB;ZkB{h8+j@fxY0>eXvB zIcpk-`9+`b0B;%l4Mi0PNg?6vaysWu_8K-3Y(h{P5s+fR1OK(`XXblm6?WRibSxOJ z*fhOn>bKLl2#$OR)kRSl2&x2OL@HQ!a`K-^FI_H0BEh?yYvwDT^S>dCc2DeGAIweK ziXqb4ckR&KoIA=j&|%&MT<-BVe} z=CyH-fnS)kNr?%hpBj{#1F9XtD59k?ePo9!sZ|JZKO2s)_nYm+jH)OzaT)rJ|(Pq=zp}0=5I)m%7-*w5>{M{lENb2kt{($|5y3Y#L zL!mHOq{7ck)Cl2_g=5#(gesAADY@~MSPs>xE5z|I_~bb{_^^so@%;50bCo}Pm{}$# zCaFc+u3NJEK0g7N_+7`;!o339unMP+`J~A_H4;G9;_2;E=CrD$N(kjHBwcn$>Nykb zEW0Bl;YWr{X;KzmaYtKYdh)tJakK;lJ}-e*Aze3kL>q*)0Y~Ex9#S7Nw;&(kunaD_ zGg6LDpMf~u&LhQDmR%b*dD9tdd1%A9%ilB`J>IpzNu zy~gDh%{!No(^KVb$rHztxjeD70BXXFoJ27R~4d0v*B z@IRor__3jDi+h=)W_M)68H+sQ7rT(sYk`LYzr~%l{Bhxp9%_e%hi+0~J&FU1jjU`k zL6i^)F#*F{r_C~}O^~34_p&Amo^IL;TgTA6_*C6Z} zki()*vvlw|c0(-mx~LTurxWRq zM5-$u;xJB!bX)84Vh*qBJ2s;Y^gEqnLfy;{_yLe39<^a8RrQ2v*yo$u8<0&Qy{A^< ziljB3Y15i9;Pd2a1&k$Xpz)8Ng4e0-0zWt)JF^t^nN4=eHwvrwTUkBTo|KZrKY)R2 z?fQX?<@0S*!9)?)6GXy(ZPv@DI7Ni!PauWVM7`A1Fs}yYbXszA1Ng|2Z_N=vx6kpZ z)J0a;QET8Sc~E&`5m5WFo`gs3(+;*Yt+E5nO(ac}8}BJvKL}R&h3p2!?E>3&ZcQdA zRjwpC)aU15I`=7Umk#OowdnE1!CbiATVzJS;TUr3QR)8>c)VyVIySJnGQ>rJF=u3l_J7;p27J))% zpOjkyS0bg1z1C3F(a44ME-@f$m@#9%P*O{xeik7=uv6f`?i~c4mM5qH{d#8_6%7Ml zcJIJ|7`I4o&YQ3iSB~+5{){DU?eCh<&u7s3Y8Ar~h4Y~XX9Rqio;Y59UdNb7k`!#~ zU2!Qlmi}(OARwgG1#hFdtXBQ2RtJr2r3AOJv$wedBK94gE{%Y(#b7EjH=J-@_ZDYFA|@1Ef6DBGCh# z+y4Zjcr;mCqwN+R9Ji*FP?#e3lEr zAHHB~4qQ1r8)AcN`=)fBK;K4Bz$L|&^&GF*)V=_%?@Z2U5Ip_7&ZwF`;Il-Z1+v>J z4#dLwEc6Ep^lSIH*w7gUN%h zP6;Bp{0kr%@N%9KxtCk^v3!v1NSj)7wFs7B?sFte-FN?~W@!Mz(H-us=6@h4DFQ_N zd-q<0M0{jfmbnhfOaP8Ag!jxW{y**ER?|X{_j2u7@PHiqSxijV9s$zcwzK|~8(ZX(XV|6o z?`n0D1P?IY$YrXNbO}TE^sFi022NQQAK@-hSv^%R%lhjUQj8EB@82sp;mPX&PwBga zW-Wqqe*DKc^NVfrmOUTzb|nHc+Z7KHSOP9lC2@5*Huq*C3w;Lg9sORNqIW+519Z(s zw>1X$VJI?eOUK1Vy#9rD>Z$}>T~!1K0|Ua#_9{-ebqYJ7A$N4`CCapwZtJZ%!(D8F z`(IsBV!~J&5`;$u#SVBT-XL(&q6_Msu01$!SwfcD{ug=6*|vaiTxdM}GMT;}y(RS6 zs}|cmbiE4eduB$Q{qf>g3#YTJq1sgE7aZKi!$o$&qTmA_~V%4r-ONkX~ytz zs20$9H|fh>_J~Jnz5?pm=_Dr2<|249a6EFAro$MITc6A!l|%1ph)@$~1iQRs>0RgS zrK$#E)dd4x1qLHMcB1xvOOr!vkVfIlw%Ci?I+V1v7U;GuHw-%qQ+ZOuu5t?W`Js+9 z>OS!zrv=Z{QJ39}V}Iv{QJ!sO%Tid$X?mi=&G6b$34UGC&}q;#hAQVw(VqpbBcZ)M zt-wslYHQ1sHeeSRnE0o=&>z0>bj6!4p$Im#iwIHvaoOL2fEnKfS(5PNnG@0fA+M4C zuWuo&XfzjfqDGIQgof#C{D?Er-L+c(rbbyp?y*Npv3F28Mjr%jVnHuhV51QpuEf&n zW`W?f2&*T;ZiJw@FJI@*S0I;J2VoFhBBu@v(_)pa&hCL#ZbX=hAn_-hqrw(K1=|W! z)Tn(<7e+aZ`Q!tBVt{f7BXhd@A=EVvva*wjNw(NQ8N)|qf%Z575pVMA%2P<7#fg*B zL$s24k406;@0iGEZJ)U@gHa2IuDE&UeRsN&mn;G!2+!yY%5{tq2;4llX^D7y;a*Kb zOzw`y24dV=X`J^kL5*?#$e?aXW(?EIGU8b@BY{ZAIyuXI@_-y1o(UnvfUI(ai_O^- zj~2L((hfKnNtFrH$Zg%Xl%)}{epjguK!c#Dbc2?L52^@@8;2+aTh7>$XU}_{OrF!q zDoFLc&G@La0S-f10?5W0pnuk$!@~-&kZ8)M3Z7=V7=Lg-H{)o(bjUl)5Q^W;sj2%J z<*o~*nxNk~eSKEBP(V7_r0gl(nc49h ztR{?6`kEv{kyQ8u=Q8o)p_QUzwg%A(!bb7yPVbQ)MqdWu9-KQa4LS0*{U1?* zcrqKDTm%OBy9_l~mMAXs3+p|+u%w2>zY#wrn6FV0B_DQp(DTL9K1^oiqjuTUM;1rN_IT}v5D0E* zF;_4-_h=XBjXg3QNO2cVg)D2HH5LB$rEedvCA6=C#N zAP^wkPcmKi`vKh!fWipou;Djm8zbVKmy2nygr6gm!b_sw8L_vITT@c}NKt=Y*A}*j z?m;)S8HH3Eg1--a50({+%1bnn2(WI3!70hFXEpjEYFC|7IyQI+0!O;+oc~ipB=Xuq z@!p$S$CMaj2%UrA=P9|6Jmvp3o_4=7MNkk;$c|8>3Odq+w}C1m2j>u6QW^Tq8(WNU zNRsKbb&B?|Wd9vw;{q=#!3Tr-6U2HqH&yaUc3@782MnFRVdhNX?E~{#NcSTj=iO33 zMCYl}yRu#Uyoi8Z;=!+cgp~pW z37plG;xWnvhk zNX$<`zS{`ET9FFA=kAy+j7Hhsxqr*dm~nS&6oBXO()mlK5qTm) ze3oS8b7wn;uDE%r;_Xoy%Go7p(+vv?MWHHy9(LH_*jqi}f&O-fm!_pBY)kA}-eH*=L@CN z!uzIVlftT4e&gy|fpWl9QdPV2bNjYW*E$qn7}4jlEi6~C$i^gZVY7wgqR^=+Q~O?q zVM#}IG6L>}_?Y6(2{FHa2ELwVfU6Ddf{$u?%53Iz4EN0lvGn>V4 zr?Jvhr9#0xr;45S9g&Vla%NtFUrwlP-!fNhOAN#?wt1R}v026P3P;Axe2~4Fz`1-E z@LJ(K%;U$y&HQUrtG~O;&1eUvPMw8BP17v-f4Nv@N^fjBHfI3xlf|WNL7(K=H+}L)CQ)^e&tFLdlWgf@(76;*S=0AJqc+BSOcMK?1;b zTR+JN=*ECHi>7vAAfGS>oDCyuTlXGEw+pHsxwQG>GGvX?` z4mENhA3ioEghVYL>97D9u%8F zk%*#NqLp5-8w@^(wum|3WOu#2k40iVsP@qqa0Z*W@}zzuX@b9^OClqZYWmC%o#f~a z1*Fv&)G;sB&)WTw-M_3Uv8G~aO3TGG?EEY(yV>gLT2)yH`u9vEYygf?E~Q7_6L&Mx z_QzvIYQ19#91HDklK|I6FK6|D@pv;MEf+52Xbte{Zf5f6W;v#9zZ|l3V4CUU8v>@z zS)5uB!eqhQjr}o0dipS-k)`mu57&p%bI;KJ1TdB9$3W(x3J3)lKQ<(~1OZdeeyCWIs7CQGpSxq$v| z*>w$+NzDZ8G~x6reFp4^b*K{{wShOxGD~T{08SaWz5zIQ-nj4IsiF>u@_p7L=0O3QIPDBzdLYjZJB#yTlLdDag&$(ciY6o?RQrje z=_d_Q29Dq58&w8p5i(q}S4*`Tboz{_p@Rdy-ce?o5n8 z3NiqUf>Pnt2!R}0!*3Bi=y3T*v217R^6U1c(ujVgYtsP+uSAau^h9wamU^uNTwmES zrD1dSJFmrJfWv8(60I$?w9Ow21yN-ITg zi{HWW%b+tNLo{|SJmgvg{|-GW7Y2sOp-oC0l6&u!g#qN(kN3ygVSB-G8TAn@TLp=x z*o-)nh~ce@?R0t&N=o$Q>%OcEqSYZU%YIp7Xe8(Wz&MnG1?+VD%o>v2I35}^Z^v*G zFzhfmv(^VVrYQ77z?F_yff*SsYRdGd4k_XxaitQ^uFbI2tp1QYHAm2RZaK#acPKbK zY$dn=2Q>0RWLAbPnRgRB#7TB+El;*}V~JoroDCNX%)Wc^ZT8)FXM#U=V1<4*YIUU4Z7&sDM^PY7FKI$$3WR3GhWm{c z%V}G(;55!DS8<#cwBm^gL^<=R=LGbD|ABg&Xor7 znpO`KOe5-=AeCx-kAHuH;(>T1GO|Gl5zHEn|qcE~!AqT{v+;rNJ@2-&TdOi9-CfT0b@ zXD|NsaD0HuT?CN=EkWk-z@Ap@0m)(W2t!UEXkra>2)(bhqQxyf{nT>o1&brGAjHtu zmYN#!M^aO^(w(=;U1owGeB!;UZ7*sVOl-UBA;+{ys3XEA;Q?9ciN4p0Gsrk@ z?5TjsA||};YUc~h7Wzz5`p%q>{ZtY;|A*@cmapRAzOq-)Djzdxp)q_SDv_i^?l2+{SDQL!HpKY_b(O z)>7rxRx_Gmg9&R@8?LI5AG{M+no*v&uZ#(ol?ssMO|hrFvR%*SBAjXagL;kZ{- zg5>fMb9qMZA>q}0Wf!Hb%I!A0tyP&`(fa1Z+v-n7V) zSJtcCE>m+g^?!x5a87t6=eSgbzj?H^tKEgWEOk(T;N>J;rm_Gok5DD*mlvB^s^@xC zSIkU;VU9v&$nupU;PQ6!+={le19CG6Z>#I_7n@vYoyMGX5{QjtRL^XKxlXj%&%vo!$}c>(q9+V8y&4^TfNa1cwWv%jcZPpnNq; znl~&qgl^3m&w(7Pt~ZET_9=PG8>{A%a0fBuow|s!p;Ie^x?U-=<)&?nZ(a=V;|WRB%Hp zCg~EBD}SLT%ls7!gzQlYHPqjp-^hC)=B!6Vs=VZs0tG?+u5^4$!=ua?!8)%*|3lkf zYSFfUI>m79TWKvkOhJs-!Z9r4VTMOaljDthx9K*oy{76T3U6kZpHNI=@6Mw1v0nxi z8Yo@Sscao?O`Hq5Dz@ErV?#4<6%W{4boH$zb;mSMKJM9U4DLdI%`Aha$~>p--(>M# z5#gJ*E)SB*Oj!dj%Fv>k&kXrjNpN0gBc_7w<4M$poVezb8d|6@SFT%?+*iNWB0;?E zlKiJI=Q*1=kZzokQaZ9ISf&JCH4Qc>?o*zoQ2%#2R*3G^ zpt-yI3LCZAThw`0t>Iu|@)RaUcj<_Tt8^@8R??y^=>$|2Op^`nTSl9(#e+_dpYXdpM`*vLl9|-A&})UNgPyhHaGSTng4ad#)YEv7CftFgY!^$f_M-N%YnkQQ2Q zOCv{HF7WJxuggGnr6R$>ql9?5`Wy23d_B98Om`AYD=@O_S@4t}PA%K^3cDFIv8W8b z!Dx5zY zK3UUY6%eF$xd`Ha5v=G)xuU1Uo+ z&!}x*tfd_CN-I9R*+MW?^q48B;wGXR>JubD1dzoh7uEnymUWLV&55%w6}ch9c7<^w zSRJx{Fuma*dSh*MAEp5w1@4?aY%mlL!`#`;burch;vK6trScVyrBO5kLgF5J>E7YJ!P2^vCx;Fq2@`GZzNw zt{c>I!<8)w19EC6!9TMAw5r+*Nwubs#41ch3+cKzl{r@YFVAR@ zXJ*;YAlkr&$KzM{x;90DMNqvjj_QAihb^voR7<(-&?s zoh3oc&GHe1lg~un$p2m3hWGbaBIWVM)smvqDGIA;Tlci{mIKKBqivV`nv~hGN*OMm zVC@1cJ6Nb^@J3jrop86V25;~;8*|1z`{HEO#0BYpXGm3Sl7bN7-g`H``UWLNfC(K3puiBNhkv{#o55A7T zizGK!jHhXUK;ZD*hxZVv!6$H8&YmpTNxd`x{agSYMMP3s)L}yk9&?@B!0Pm7AZ_;} z!brrH=S9BI^{cs!ityNfT<7mtg_6wOXSzNp{z2{{5GVKg`C>pM{HkETUjg!}Wr2E( z+YHY6Ljh6u$xIXeUADLS_RX9!HTQ*w9{Aq4z;v`k! zaFu*Xn*vhh8-zR4@V-+>thgMlc0TTKth8?_9I`A=g5m}i75c|qs?=_VIda>1e4#+d z3tQv(2GVW*9S7osqfUD65+{hx}D1A zYTc55;sR;Qutc*uS?O;3I`bLXZ)c|7DYqwvWW3UM#mrLfx|5L}h|Qce?bTbKq01tg zcM!naZyHf<^_b9&rld;^OQQ!{P9K)up~wP&<)LjzNZ@oEx@Gcm9I-kPf3_XnlQ0*E z{ujU8@OE&!<}i;eGgCW*Rq<7{PYrz09ZN)fW6U9>pDO&OlkY#My-x)_H*nH_y1gfapu`e$;{vfJA1)b_8NLFkqM^3{zFrCl_7uWxP>lbROVBKofA2mZ&K z_x*n<%e`k2o1f5*9*Yp2tP7UYWmCY2x=f1~e4~IIbPDqWUCayTuq00JK~@9-G#h`@ z#0GFmAN;qHlGiSGQHoOg_zt~qx>Y|;oTe1&sIY14R?V1PAKwL%*Osz`B_{wc@**#) z$31JbcRw*h`~1&1EggrsF7V9-w=RnO?(jcBsXbtv^JyKgXG)Scbo)FN;7z<6KInSp zOQG{dL*8aJ9-g78nTCMT->u5gJ#6#uiqRn;^IU6Q5L>DGdEzZW^o{odAKq(@05JBu z#9m?6w^fhLva!gu@{kBbnE9kgm#53mg`!8^MTETe?w6m&D*;I#SH zZf`f|P$vg6$VDdO#H#XWn~>b_TT1R~^Obs4`cNp$IN<~}48xW^U7%-jwtq@_<(KI} z#VHIs-&fU|L5)zom<}z!gA-4K%_&pyzjKJiiTfJv)c9ozT|R*9&F0!1T~>#NM)RLG zziBXuW;Wi=sh{hkyOUsZnJB#0j5Ha@@>YqWUw=F1(#fW|q#lPJ=UF-~sh=9=Vy zvl45V@|bNlk}9oh=4V-raWO^*Axd89@ThIl(8HTWpkktxVJuA>r}y2=8@5H0oe?g~ z0>4vR#vC+lCU}3pzX07b>evpv>R-^41I8m*aJi}Zkx=gZ%6DVIPgwUNpAwsFt_!2w zT7S78kf{|?usz|zuk)8KR>ApNBLJ?QTYj3Z%tJ|Y&ILBNH->~T;%qnK^ABA)zWK4b zAK~#59RH5Yt7+n z&HubAYUB+QgO;_A4aA;1xQm|9)+tnyB&JY^|cPR99!ybLCAw&vvRRf}mQ2a^G zooW36zl7wFc-!&E1LF)eYAkCN{BnZ&cA_%IIAU z=%pm=MA{EFdO^62nsP4ls9HHP4=$NJAUxZPD?5b^Fm2c06Gp}95RhPB$coRHAixL* z*BJ6728fz11f+RUF8JFlwbiW0T}E6kUyulD>v3rMDM>pKAv$-VFZ6N!k%QbWocZVQW8B0&kQbc8{7_uK7l*#k1HjJ^vORO8}4OZ^cYR zrI-rGhOX1imTBIXdi!u+G_c(6+L#ovkW%fhIatxbZDjSp)djNZ+qvoFH)J^Yaq}LAni6Q|O&xTk1cz%H3f83h2tDyQh)tOq|UZS)&`z<&H%|x9T z+IGupX|r1g`rBF%)QDfTPF1%=O zz>Z?1m?Owp`f71Wx?>EvH=7B3iuuieZW#hmb@PbBhVT5~wS5oqcLEsM&~c! zMa)MLgVaDC45Wv~eKUppU&&5IN3C9Oh9jQxqkg;ZBYoqmDR{vsquQcw$|-Ey`v1U0 z7;2E{Z+vsGW0ZgA>x|5jYCU8XnKS8qk8~p)c5%48q=$YO4j+nDj1`z|`OI)c^Z_I| z0N$9AHHluaYf1pO{8l*jFTO@nXZU)O9}Tfm&WAym7{7R7d74us$6$3z;Yqck2(`5r zSg_Ac39u^X26(w8$$Nxz3>$DA76e2xv@zwVBHhxA2ZTQH{S)0<1B+JQAE#l~e zFbuA|>a;ndvq)2aUcAFx*rwEp_uK*Q3N*Zbs}aqTBGE0eKWqiz@S_VfG>_*xSA8LG0nGe5|76MKDwo+Et7UWJps03u~@`|LHiM# zRAQn0C#F-*hKugT+d^6X5({ViOC4LDnw8-?7RP0XxfTc+QD9?EKA9pkK>^{7F7tTp zd=99&~sSyfYSGYvp_rj^5soUI#5 zCoQ3=c>dFyCN7#gR_R+OMp!AO$WqG)2oJ1Yh^C*N4SuOS6MEW?);8!MSxk>Au-)@- zEZU<7lFsl`Rqgwec7OMJ6dmSK6?W8$b35 zqz{SXimbcl-+S%>fY+43j*;@I12*~WWJLiFb2pS?TX%h+maZW^6{Lqxv|3bVg)HON zG?nMt46NF>O3SJH(IpdvzyIgDZ1`c`45d)$-LffEnt?y$GeyO4~|&p}3MEy@PPj$*8e zv8Y=fW93^VUigRT!iecA9bJrI&-q0l zFVJC``s!ue8uVk$TC;gA9M|Y=6~wL2{5`JX2bF-s8+p#yzc-cj; zvUID$qv83qsv>`D<$}Iuxm#yO(;SO{rF6*kg?JlNWx8cSR5X$cK%p-wyia`a~Q%Y@t`BDum6pDXff8a9ANHyJS+duuX7AqM92|0ts8%^2#JNWsx zbVx_`3+yGzxd}WaBHe&Jo3lFO1?AP{BrS&=6RR`H3By|oTr*IseRwMQRfh11X6Pam zMR0b-j|PWkmZwsW1#^%7<0|%yJ6c?d;b=fKEBBj0w#1pYZu9~%*cO?WE4q=!Y&J_RRcm&pdx1`% z!Gi}^b>W(r(R*3NM2W3{EC&AGhz55ULPjs)b92F_`alo&>o3RfJ_m?i#rK=hn);|P z=EJLotZ1~GA7*g6%=ET2Nw@-Km)&rsqf_|m8oj->;S`$VQC+Lc7`rR@c1Sem!g<nh6nW9lFS zc%aKl_+bkMGiJv7v$_{IBc?Y9jwi#nL)3!<<^NB{ZGhl2T8v=6HqRZqHd{dV*4K#l zFkY|}*@pSJDxU@!s7ZM+nMx==N^3Pp&A@)=V0!qQUXx`sI}tn&ak?tJ?ys-DR0~3O zG3PCwOLR8V!b$y4zKewh&EH6kRlcudq~FZld-nBP)7v%v8&N51atJSalsuLiWc_4t z_Q8Qzl*$WanV#N^=$$|s;}`Fzzukw*Y7P+AecB z)N+=}yYC=N&rk;!93gWF%1QTnFbMCRn!wj}PX^@ZpL07zrsUF6N^}W*SAxE^m!}N} zZeq~=uRd+QBWNb5_zr!^m4RhE4|aR9col+8s!;+;EaVq$To{(mW&frGts@#}06L=^ zTbj!OtlpQ9?ogQIW*K^Fi4}e#7#x|*As}WYsQ(|mZs!c=?ngY=^ETWMKq!UN^pfmy z0^Ni{!z%b&vHw03LyVwHoQJ~V@%15r!V77CVyDRMQh*Wz?hVN4VS4lkjk4Cu8Fn98 zG>njE8kLA~gJIe=fJKv%rA&ZfLo%4VoaJrGbrB}+o{s<-sioDs5N`BbUikzF$mZf8 zbZal+W(TRyCUZ~b6fNp5eR{?1D*oEc)^sD7E<@1OV>`Be53>+%O(g%E`i+GjL(iHs z@-5iDmZrHX{ki2F(uuDP{(sxx1c&I(CFwSU2hgFMl|SToWekU>dXIqjo-Insn#TM- zff0sE``RiklqwW) zPN}jII|UWu9)TsU7Gm&Atq+0vg?LlGWvO+2-8Jy-*DS5Vr3YW?B`@M8B$p%4V% zakkRCEItHU_dla&6q+4RdzpyH?Qs7AF+jek%(qye)=5nER;2*ua z``!}$_SYqj%)u`P_Z}~Fs}3AEt>rs(mo{eTJbQMqBs^{YIHHZP2G232*#pHH&^{$S z+d@v+3oi`a+SBau;4j7?ZMfApnPoGDkEkAQ+O77vB38{Vep6Cq`BtDl0eB>+PUMOM zN-|?7bQ?DT2a8H<8B>3=YL+dGLnI z7O6pDv0*{}3uAqP7owhU-~?HzbTGY3-8$24-c8Al%4vl3y8E~l;@32=-Q=iSiFf?+ zOy#wGeSNoo?{~*%n2?`&h(taX1k4ASzH$SonHsWyLU=X8x?K3F1ij*;xcml3pLm|T z1;JJ^V8I;HVc{bdq-J5s_5&z!NmMNo`K=)DjtkBF7+ZZ>({@Bz;jpX~=zArRQzXu# zWeW}wG97&3~z+M&-y{o#>gXDawDt~_FXG?Y0wjxKE0b(DW&V>iHo$>N_| zmJ-t6IThcRk@P+-O+fvHMMT}eQUl)V<7srp z&Mwo#-xenI9Y^|StG_w$ZGheIVtL*f)^|-gTQ$iyaNM-wWr?WCc-39f>j3%ZIQQ6u z0I@YzhOb@G9yzS-WQUrY`uOZ7)7qU#peFC3hKDQl(!3UAXMkG(0-yS)T!Ez%+rT+| zhmPMV50|Uo)C;(I^eg%zb;-%QR2gko{v;CG(l0-LrZg_VMMZJyWlz~CS@Z+mOa~-_ zLl>Bim1_(uokhWl$ir(BNK$JYbz1*Y@wUVb8}#!yErp0QLpNiu9E4T05S zM{V36Oo=?z{(Wb?o@l!q|H`nLO~AlSQy3+F6I^w0SG=8_H5${4qr3)4zE?jo0LGU! zAe>!3bD_>ChPsbNCT=vML@T64jbSO1b_-* z;23mjMfNdC+LLXund?pQHK+pv2MqNJP8Xb%FitB0GcpgdPKq@X7$^T%Zv&@J2wqj$ zcR96n$-R%Tx+_1K7-v2y!6WxP-mV_{{Tir+8TVtCF9e(A3_VELyCLzv1K>spV%cam ztE!d!QT5Mhx>rbOyc!rn!%XhF&5Y|JMCt>iWjaWE!!7OLg=V047{kWhM7^i9z$);g z*-Gjn!+?CWF#=HjQN~n4NYeT7wrH_5ZAk$f zts^n4pLaTz(f7`)01UZn!(ZlslUy9G%q)c7+Bh4AqV+`!f5G(Gt=UU!yw;TXIl874 z&q#R7#eyO&m$>**EGG{EAfFbfk?V<&zZ971+QaT%IcD44vTCjP(Q;?`X|iS%AT*Xb zu+bFA|8T)WYjue-2qdcOmz6x5r=fK;jsn97Nd7$FZ8d8&EJpEsY!J#!f)U+OVGmDr8Q~wbAZjh$3&??m49Ci($hG(&DEqb^( zzk@VitPdi~ove@FPGk8Px9dGv9R6L`E&0##9SiF`~enHqFaoQITqHP-%E@@~^Qb_*`(YdD6 z3ISmr3hi#}Z}q-z8m1J^6kmG>#v|cLhl%@;0gUkNdNZKYAL_{4V{({zr|HP9{GF4s zY2Q++bX;V>#O>t&5iR{#ZPVz{W2?wD1$}>}4x|UIQ^sZEzJ@Eirmpy78HfZzH|e0E z1Evt-0S$9V(qduv@^EkJP+JhVV+z?%Y8MdcD|B;~tXNm!oFFT%MK=&*gN?IydvP^H zHhrCGh%G8k`s*dHOIylYu&A;Q0guD;pE7mGc8S_hq93t1>x%A5UNd1p_a;;frU{lq zW(+rtUYwgNe#H^4eE5KU7J`TqTu2Bveg@T^>APwvI2sTR$>m=szyK*!t-y2Qyg*Yo z(jS`~q4->Xa~8Ds!Zi=WerG@2TVU*gmB#P7q4(wbLW|y@@Kta`LA<);K@dUNC}Sp} z8Q3Lej!nF->QE(hydRn}UwfDS85BNpf26m{w~XP+w_GMdj?y(}l<(L;0nH{d*|DwD z?{my9kveH6p%gPp1+Dy$!R<+bYlm2xVh9+`=ndJa2}tQAA}{j4>+wtQ&$VC=dLQ%Qp~8SH3qvyaoyaDNuM3Y?;8v>yNY`wcHDq8 zP!?lwdI_E^YQtcGDE5&IP{2URmUP4u?WBeuTOEX9rdKNd$g!|0w?S+o}PF&SbPh#@?W?}AkK!tw%0jh@1PxchWe#6#GN}eLNpynd#Zcm2lLv zLK5UXpf+Or)J)L{B;TqvnpOXUs+MthMR4ZgdJm|gL|XZayxa8TNTCM}Th}jCsMjiip9tOMa-ah@7%FwOoqgauQioZ- zx>Wfa&Ud7cx_d;&J!4A6uI~m6z2fQb3gGAdWIJ@{6THz~xINw|r+LSS5E<+67v)Q8 zZKVw)^JN355ZG?LO1w9$#$iEOwmZ&#oCH}S0R~&O zTjGxf5EP}6F2Y&SqaRH}?U(X-mYB4`CmoRH>7G*xo004I-qOS(vaCCC;DlEdzV?=@JT9nXR#ql`YK;OA`+{Y z^ztW4KKgGzwz~D^&FndSmpT`4v624tW}UCk95xrEtEvP{nMqPs+YbM+r8v2OKe5h! z%Jg}nb>Is1s)o~XN_mv72T_t5HTk5uV4Zy1IrqxeXdIkbbX#S1*_z6&8RriZjznmo zj{5gqt4SCSW{ZQ}(L#tBRO<>GVwl0LRV@WJWkA^P&V?AY8V)}>wvx>fo_6`Iue`_V z5G+?}8q5dw=Gx3-y+C6Hk11Brs@#QeZn~yN;ynWArEw1bXTBcH@CuHD#XFbebo95* zp8w{rs;xri;Wb1A-F~Mg<=`+Y7I1%af|_fUyN~1aX2~(iTwy_IU-uG_A4KS_?b;evS8p z;*Pd96oa3gE~+)-2MF8kHbUI3F9jbq0X<{+TKZ_FD8n%k{{M=_E7v(Z;pa8GnhJed zf`Bzy_0S9cv(QWq>9HpZ0TJfq{}zt{QY5e>oVyL)Lp_ZIELP8uB=~Fs4b(PA%|@oc zk|4HZ8I5(zMJ6SZB@DG)>Q}{AbWor|rQe@m+Qk?0)OCagp z^psr_N^Sz&Aqvsw`W(uNzg^rNmt7kTEF)Z?C5YWUFZrfts?D5b0jCeQScLYgobdl_E->awmx-W@x4wFpAfx zqIi1X2%wW~t}is2pmw&hVJO^rhDV)@`1cneY?>pD2>s$Hi78jV{j zOne0@&T4ga)w#JGzG_D(n|&S%*X9_lo$t4ps7$CYNDAPP)Bkk(4I*k#VrW8@;ME&? zoK0woh{X77%$?qey-)sLO0OgrO@!!7^$~tf_zU2C$QG2!(3vSkA#LTLQ|Pr2Suz|? z51_5PHz8G|tvL!hlSuqSqw60y6ss{NW1;>jq)`;T>X(~Y{q;RN8>InB@(5-=J%Ca@ zj!hWTkOgLxqikg{Ahe+C4UMzh!K^Cgf}PZdZ9}}-Uj53)UIHkXW#p)JglA9*k=~DS zo8xxLdEnP-Rxy?4*F)gCz(3OzCQmEy^FoCOb<`~)`KX2?IHb4sLQPH@q7 zB_srkWlN{#om@xnFd}|=4uh|Y>_)81W_?Tx0sqBIQM!sUY*@onK@R7hq&G@5x^s2UO(U^GEO9y1 z5tw25h+ZO&9D72j6hwGuw%yz1VeKvDo*E|Nh;82h005@I05cyWkT15qZ@#Sbk^11V zl+|f&w>8%#icQ^eS_742!Jrc9xuSvn-5zW zp4JtIU%Nx9hE95K{FBV5l9kYD!4=X?Cikae^UL+X6kXmAc#zzMXoJM`fDk~@=5W5@s~4!VcD zfpj-tA&o3Co`;6i=3pl&eLGYPZNgwfdvkeQA>vAw!}ktU=~_8N0()O*jGs2uy-N1)%Sa?t@rk5`O7AZxaaXD3z-1}s@cSu8)iyOdgF*R|8mkg8yg zgtus-TNWhO4Ci1u*l9kI!dX!$&v?$h*G6Fu!=QK;2X}XnsiJ|dX9=13tj2br*+ctp zNv}}$B)*KlUS)$AV3+;O-T@c*YC#YE@J?i~kl*yA9r$lXxBD=tUC+jlw6Y090IgynANT4`@otsWGnCYs#2voC##;AF{2v)1EBhpLF!89hhE(qj%ckYBjMX7H;eL#|UYuNnS-w&c z`maleuq9Pk?c5~adw&6NP>D@}>+M6}s%EvXhUnh5$cy&bRU-5+LgmS)Ci&(cII6Lc z-fEM`8NvsH%dVPN9#~IzG7MDOk{Y45YuMcT_2kVQ1$By(VXv^rYjhS6 zY+8!(hAc=YG8IbnAs{3|(mu}f%b3Hp@fMNb;E4vJgL{q}q*`f^z* zWTh|`4adI4t><6On87~l{_^Rg;XsZ~)Jq)7J}Dp+@p!K!fD?T+M!~f`+XimX2&C#^ z>kKfA(V{T^G!lJWn|fC%Z@`NyofmDL^9d}1jy+MtW4&O~M8IOB1yQH>)GRhSZr78A znQ{_ysk{De(Wgyn#nOn~Iq6cb$6+L_m5g9aC}L1mjy5=w?K9;TeLu6(i0RRxVKW*r zww2-`7pS$LLFSDRX-QT&I~>}`&Ht0Sv=iw`PKvxlGB<0Av1W2GQQkAWa58*-^&fZU zNJ5=mJm_BCC@d&etMGbUznyq8(G8n3C`ekwnr6iWxWfu}wA*xs+R?mDX%sW4s!u6J zXrxsQG}7V>eiYj&h#7<0s#b*?9|yLAO^yIkmryn70xyI=^U`b&p#_~;wX{`ALfeh* zq|u@eV8v48wRsE}Vut=tabOa5M5xde?(qlVMk^aB>6{T_Bm6hhJ|yYn>M!?zI-%y} z#x~-+?D9c$Oc|kNH&ktdfFf5V^6a}_5+wJc96ajwTgApBNzr9UgvMsN*FQzRAm=gf z_|_LXVGZM#J9W;S0l1^SJ(inTk_BG0Vwl*({C-*a1(A3U;+z6pFpW#Tg4i{Y=Qo%{UFwARt1UomrOtx173sQR`OmIlkt9AR@g^6C9{8RGdm2xdLGHJ& z24|Az^XFAp&M+KOeslA%9b?|Ly#yZ438s5thR#or;Ub%&nPpC_OqEzJy#L)=Q*lx? zfQ31VFzy$@OImABi7Y1XX3KY7DuSv+X>Mcr&Lzo&J5T`FFo1%FMqF3K!rA*0x$R&f zEt^N8Rr13JJB%c>@7pchwa8b{Ph>uEIoH-~0U0wvEiyfEPS9i9pst_&6WPD6!aYth z8^%}-py zW~1}FD2uulJ`g8@-)}$}-$5nuv_OCWE58N4l6X%~eHsF|LkwUG^8BGNjGR6Kqk~)L ziY!*iuB~QV41+!TGY5G(KN1T8?xv;>v^|JlgHAQFz>&Oo7ca_1pTnz?2{CUX!MY>FcYgVu#Rcn(f5ZLTn1 zqyy{zeIeahU~kI)nKs)D<;?tK^1!8(`vcZ4F7U_|Yv@Ze3mhd2;jeSII;{P)F`1}% zn`C0RGpKJM-RdG3^UO%S@taKi@YxX3A}OF>izp3Kk-69x&wYO-As3VsLSe7t%kw)T z;kq*r83eHB@83D2H7&-fYf|{onDQnUa-FM9tx=ugqY};_#D++3v0l8w|5+lL&5@r? zo1C_#PwP+ecqS_Z#`MZ)7 z8njqH4$~NX;zu%8z;yc^C3Cr0Xc$?m0K1PvX|>+#RgORn!)e0%;UiiAOPv5v|BzRH zTWgY2yiW~P;vWMJ^Hhdab4s>VJD&dq(_Q|R-O&+Q0}G5(0<9z{ABB1iO7^^ZANtCm zM$U5(G*!zGh5-isz6h6}LXUcjXvOxH!kl@it zg>IPd1A<{0((G;C4sn%?fzygQmMk!YU-9%A5jNgsf|5^SeO9*&w;%{`0%9CxVQoBG z&L)R=7mfuG%%_2gc^fB_QF`{o+?B&FYOHS!)0Efvd)-TEKB8~DjABl*pxB!B%a#9IHMf6vUHN>m&xhqL3J{5poJKbSwE-Jyo+qIfRP2A@D!(;ha(Ptm${Vqs;Q zIeZawg7`tJZztX0R-82kXUSz7OxrNSj^ z281yYhYS}ovpeObt1cf{Q&xOroKoG2j0cA&_uRo-L%ldA2IB19RcgH&r@5R0umbjQ zPv+RJu_AsZFWpy78ulX1cV7l}M~EWV@sfeP4RLzfU4Y#s^e))GstZHXNhU3BO(9$i4HiVj~H_iQ*SOlMG#2qIirS#Idbr}$6 zfKccR?FQOKNw0iGK3)hH^az`kY8B-8cSM*PSdt=P!LkAWM{>`2ur!xo#N^4as|muB zmOlItz%=VGET3{0PRgUo!mp`2wSG0FTy{q)#?rPHUB9I$etnX{G8dnrl6+xDjTFi6 z2OQwyc(&VW)9m?;M7N<<_PArcDhx!b+I?)~B)RRanxFbQdU>_M&!cth$f^B_E7!Z-Yp;Kg3GyIaR>MrwYuy zusUE> z-}Qf)dM_F?btYDbqD@p^V@EY<=a1r1%6*i zK;g1cN9Mnl0yq0i|LGxU zdYfB+5-D`~j07WGX`;eKRLVDdk|~v|%Xx5#v(iUd=WZV<%Q;vIn2LsJd_7pyN}R0Z zUR$KvRb~+>C~c#WourUC<7!tghXi4039xM2Svua|3LDj`cTB^ol_o z&J?voYbPi3f`mGFsjl2I!QZYS*1nbyB1*F_EIbcPbTz&nFbkrm1zglt)q&B!#Bsx{ zwKkFJfS(wBASxR-eUuj!=;ZI@#M4&GNLrHHo6*4_&j)g5j?(Sm>-h$ttpWG7(hFUUf`<+r z(~iW*s*wsn!w4!j50|)N)zxif;PMh+<^7sSSX#DbEB+CrZzL}1l=|HQoCD-8oK?EF zvgbLMN}lL{n;bJ~<5;rD!m>5W@j|E{HxbPlsYTcoG%^}fXH@saB|I8+8#6KBT-!C* zWa`6!qbi(r(|`)A?sCQy4sTJG$}MM~-V%RbpVP% zov`Ns`?kksk@q(lNSDoon!TE0pvNxXf;_p+&dJ40{`$g*sZ{T*eNUDc+)hvpMvD}O zm^`4$jA^av18h-PkbeswOq&o>o(DK0$sMOZ#^Kfqbwd61-GU972WPbBB`5Vu+waDAY+>e35rPE6Z`( zmDY1bI-*ZP@{xPSSv;0u2MA35UG`F%7 zjFhBt`cg??^XZH(vqFeE7?Q_m5n^e(qII}~?203X4_axA8} zG5>y?$K^{c8etuijYOe(O$HzHDnX!3;g?iyCo)4+dv!V;aQXY$Qe#t8bh>|~4yX|Z z9CvsmQ?brG*%jCO04!yUcH;dydk)3qv;(JSGtL9*98$XDJYP21UupG=$Hdq7Z`3xs zkUG~4&bMTx=k14h>}9l_x?1FMokJ5-{s>ytRV#RF~b5rpb8f&a)fQ6OJzDSh{|Ca z_YBFf<_Mee#Ef8ki$)2=+D4eX;N#vXm_nL5NPR{~M$x>xkG4xUup;N6@od+FQL191 zwrM$(F5U4nM(M3y_kX?p{+9PQ2G@O34?{%T#47q5iV#Xm6%7LxpF>2$nEY8G5saG>@}YGP`yyz_Qx`@oOfqpQieg(gGI<)U#F4sAtVJ8Q z(-;5%000001?hNAvG1#m2%Vh_3U|Y?JBj&f&OKutz`H~o;@}@be2eE9<2e5;lnX%{asUkw-hIihK zl{B>QJZ!P@!o;OB@&<5*>-ZA>2ms@MHai7xX6;-eQ|arBKnjSW=nkulR?Pz$V5{#m zqXC#9MxP`Fn(O9BlHYs>@i=~NO^{Mo_-(hs#VG;4+;4fawg-Xn{qlZ&pXq`HEH-iv zX(^!faWh`b2i&{D?_P8JEmXg4fzFmiovJr(1M&W!lY-DeA#de@*Tq`*MVX33*RWt= z9I%EHvgFJ)k&5-jm?XU;USk5*d<^|5xk28IyXfaT6>2-`Mov$;8Qs@M1jB`hyc2@` zbvAj=dvsV!B$Y2Y7$)wD!S#Z`CJ?ie!U(n)59GfuG%pQthkkr-ac^sPQ`z3A5QP1C0MTF_Y%H#Z3#iHg^xf#Iyd}srNe@TXwiHhRl!1^%|lRNTwx+?{}a_AKaXH6{PM7W_hO}Ht~r@!UUZrAM)}j7 ze|hfSPnhdG$aOJ2|RuW86!53<)RyPjv?)h5xLL8s5J! zcB}}~TSS2s(fF`Z#h!VyxD9RrNZ!0BuQrWoz)9vis>QGsK~KJXBPbzn(D@I}5*2z_ z`Q79$#v`^<$$hAGIMO1BdIHi-2~HfUIH)`8oFOK?sbM?EZmMuQ-HF(UxIXsM7v}Qu^F7R&;0dN``WK9xCQA}Nv>*aMZI#zvQ%_tl_&3T00X(ib0a>iu{1evUGo84#m z|Neb58h`(%`1TWne`5Zd7Hgp`*N$=-UQoz*4;C$t{r_YBz<^c|9L`Vbk;J0!><7+G z<#S-ZX!d&%lAWm*u~-f4!y%4JK^4X*s?qVsPZ@3|v$dMOsj*Os*eiFbP%hNEQ3e23 zEL61uR_dnN#eAKK$=R{l5XR!WAM3$tTyEYvzS`NOEJ!lH6z`Smam&&K>q^uiVPx4y z^exCA8117X+c4g)HCOg{zL;g^YDPTT);1QeCWi2Os6lP85i0>&$D5>`e4_2)If%_r z)4<4O@OHX6rnQpX8*VDj62~qnK58?jWB@&EW$1_`w+y<{xI}P zE8I#&^sI%rfs|>~@_iSiY#Fj0yj4Ia;UaP>xbctg??XtpL$7MuqBvmlb;|LP7(A60 zwG@>h@uA_|w{_#h>&sbds-vxehL(nh5&{srr``Qz8ZCAJB&Tscp%A^MYUk!_7>_$) zdc)mWyI_^rOYFU^MLfY4mbF+r5S|oIu@o{#yWhW1P2d!`*r!$)EcMaxx@t?{)a?bj zVZ-*Mc-dr1gN2Mca3uwB{?3kh|LNOz6z>E~N6oD5eWGSaBD>d`$dB$kTnA$a)B&z*;zX${Y^HYc&>_*fHA@1OX|7PRnR z%W|3>Kg8}!GQn0C`T-VzEi`i6Am;yo#zxAlOGbt_0nebw`*sd#a8HK3$jafv9FpNv z)u($3F$|TR7(}lj{h3n-S8|oN0H!?4&A8F7QzY-ZSZ9+Hm@#y+Tn>N$0000023>Ng z^sQlce;I|&S*nER*WLTm9#V5>o{+RyGfqUwUczGzi(%n!Yisn=+Uu%zd>0v!$V7S} z&=58G5q{XL(QgbEccAlCoJaTYAuf=!n#?8JlgI=08;{Z&O`a}$EK0Yels(Sj$pByT zhz3ks+J{iYW%6mr!TAk+z)8wQP4aGTexlgRE%~VNiRQg(ZW8ixP?;Cm+WWRHOil|t zaMZV7K+~F~h8#txxt4~a6jqy!KB9wYmX?E!-_~Vn61{&$u}Yz_OD73=0fxXr3s>+*327JCS5ae#xFc^kHUC^PB$rXMv~dXY5XXHVX!wHz}w zzx%HiAW=%*Q`dHb=H_t>GC)ZOo!23V1xs(BsGP5R#8CDn!Nc?u?hb|v-NNj3J!|f8 zD2YO4tV9EEPVozc-RwdF#`*`4At03n%)_2@uMX(Xr}u|83Z2GChe3ibuNAUoUc0R8 z0+%Db7U-Hy+2JV_fT!W{D=Iv(n7)_i(B<7*4B-BR00000000000000000000001N5 BGo}Cl literal 97734 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 Date: Fri, 13 Nov 2026 00:47:03 +0000 Subject: [PATCH 12/14] Show the full clusters diagram only where its names read at 15 px At 1440 px the cluster names in the drawing are about 16.6 px and at 1280 px 15.3 px, but at 1024 px only 12.4 px. Below 1256 px the page now shows the hub and the linked list of clusters, as phones do; the full drawing stays one click away under Open full size. The forrt_clusters search placeholder no longer suggests a preregistration term on every term page. Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 7 ++++--- layouts/_default/list.html | 2 +- layouts/partials/clusters/map.html | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index bd429fa36b7..15f27ee9794 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -979,8 +979,9 @@ .clusters-map__compact { display: none; } .clusters-map__hub { display: block; width: min(240px, 70%); margin: 0 auto 1rem; } .clusters-map__segment { fill: var(--c); } -/* Phones: the hub only; the clusters are in the linked list above it, the pills in the text list and the full-size view. */ -@media (max-width: 760px) { +/* Below 1256 px the full drawing would set cluster names under 15 px, so phones, tablets and small laptops get + the hub, and the clusters in the linked list after it; the pills are in the text list and the full-size view. */ +@media (max-width: 1255px) { .clusters-map__frame { display: none; } .clusters-map__compact { display: block; } } @@ -2501,7 +2502,7 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .clusters-map__name{margin:0;font:600 18px/1.3 var(--text);color:var(--ink)} .clusters-map__desc{margin:2px 0 0;font-size:16px;line-height:1.4;color:var(--ink);max-width:80ch} .clusters-map__count{margin:2px 0 0;font-size:15px;color:var(--soft)} -@media (max-width:760px){.clusters-map__info{display:none}} +@media (max-width:1255px){.clusters-map__info{display:none}} .clusters-map__art .clusters-map__label,.clusters-map__art .clusters-map__seg{cursor:pointer} .clusters-overview__list li[data-cluster]:hover .clusters-overview__name{color:var(--ink)} .clusters-map__info{bottom:var(--banner,0px)} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index c19f25cf58f..e49b94e56fa 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -28,7 +28,7 @@

    {{ .Title }}

    All {{ len .Data.Pages }} resources, A to Z

    diff --git a/layouts/partials/clusters/map.html b/layouts/partials/clusters/map.html index bce62392f72..89217de0dd7 100644 --- a/layouts/partials/clusters/map.html +++ b/layouts/partials/clusters/map.html @@ -143,7 +143,8 @@ named "Cluster N: name", in cluster order; pointing at a cluster or focusing its name lights it up and describes it in the line below the drawing. The ring segments repeat those links and the sub-cluster pills are in the text list, so both are out of the tab order and hidden from assistive technology. - Phones get the hub and the linked list of clusters after the figure (clusters/overview_list.html). */}} + Below 1256 px, where the names would be under 15 px, the hub and the linked list of clusters after the + figure (clusters/overview_list.html) take its place. */}}
    {{ range sort $laid "i" }} From 6c1701fb266109ef5a050473c95e1caea071bd11 Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 01:03:37 +0000 Subject: [PATCH 13/14] Cluster resource lists: two columns on wide screens Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/lists.css | 2 ++ layouts/_default/list.html | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/assets/css/doors/lists.css b/assets/css/doors/lists.css index e5296e9c921..eaeedbfcfcc 100644 --- a/assets/css/doors/lists.css +++ b/assets/css/doors/lists.css @@ -100,6 +100,8 @@ .cluster-resources a:hover{color:var(--ink)} .cluster-resources__type{color:var(--soft);font-size:16px} .cluster-resources-list h2{margin:24px 0 4px} +/* Wide screens: two columns, so the list does not leave half the screen empty. */ +@media(min-width:1001px){.article-style.cluster-resources-list{max-width:none}.article-style .cluster-resources{columns:2;column-gap:48px;max-width:1080px}.article-style .list-filter~ul.cluster-resources>li{break-inside:avoid}.cluster-resources-list .list-filter{max-width:520px}} .tag-find{max-width:520px;margin:20px 0 6px} .tag-find label{display:block;margin:0 0 6px;font:600 17px/1.3 var(--text)} .tag-find input{width:100%;box-sizing:border-box;padding:10px 16px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font:400 17px/1.3 var(--text);color:var(--ink)} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index e49b94e56fa..1f9c0d2bfaf 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -20,7 +20,7 @@

    {{ .Title }}

    All {{ len .Data.Pages }} teaching resources are in the directory, where you can search and filter them.

    Open the resources directory

    {{ else if and (eq (.Type | lower) "forrt_clusters") (ne .Kind "taxonomy") }} - {{/* One column of linked titles, each with its type as plain text, under the search of + {{/* Linked titles (two columns on wide screens), each with its type as plain text, under the search of shortcodes/list_filter.html (same markup; site.js filters the list items after the h2 that follows it and keeps the count). The directory's cluster filter uses the current clusters (forrt_clusters_new), not these tags, so there is no pre-filtered link to it. */}} From e14903657d7f9f5c4b616f84db4f201e4392eb67 Mon Sep 17 00:00:00 2001 From: Lukas Wallrich Date: Fri, 13 Nov 2026 11:35:15 +0000 Subject: [PATCH 14/14] Clusters: sub-clusters under each cluster, quiet purpose tags, one toolbar on topic lists - /clusters/: each cluster in the list opens its own sub-clusters; the separate list under the diagram is gone (shared sub_href partial for the links) - Cluster cards keep their inner space on phones; the Navigate button stands clear of the card below - Reading lists: purpose as a quiet tag, type as plain text - Topic lists: no intro sentence; search, count and the routes to the resources directory and the clusters in one toolbar Co-Authored-By: Claude Opus 5.5 --- assets/css/doors/clusters.css | 27 ++++++++++++++------ assets/css/doors/lists.css | 15 ++++++++--- layouts/_default/list.html | 16 +++++++----- layouts/partials/clusters/card_head.html | 8 +++--- layouts/partials/clusters/map.html | 18 +++---------- layouts/partials/clusters/overview_list.html | 10 ++++++-- layouts/partials/clusters/sub_href.html | 4 +++ scripts/rebrand/check_design.py | 8 +++--- static/js/featured-resources.js | 6 +++-- 9 files changed, 65 insertions(+), 47 deletions(-) create mode 100644 layouts/partials/clusters/sub_href.html diff --git a/assets/css/doors/clusters.css b/assets/css/doors/clusters.css index 15f27ee9794..a8b0e21ed96 100644 --- a/assets/css/doors/clusters.css +++ b/assets/css/doors/clusters.css @@ -964,13 +964,6 @@ border: 1px solid var(--line); border-radius: var(--r-small); padding: 0.35rem 0.9rem; cursor: pointer; } .clusters-map__enlarge:hover, .clusters-map__close:hover { border-color: var(--ink); } -.clusters-map__list { flex: 1 1 20rem; } -.clusters-map__list summary { cursor: pointer; color: var(--link); font-size: 0.95rem; } -.clusters-map__list ol { margin: 0.75rem 0 0; padding-left: 1.4rem; columns: 2 22rem; column-gap: 2rem; font-size: 0.95rem; } -.clusters-map__list li { break-inside: avoid; margin-bottom: 0.5rem; } -.clusters-map__list ul { margin: 0.2rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; } -.clusters-map__list ul li { margin: 0; } -.clusters-map__list a { color: var(--ink); } .clusters-map__dialog { width: 96vw; max-width: none; height: 94vh; max-height: none; padding: 0; border: 0; border-radius: var(--r-large); background: var(--page); } .clusters-map__dialog::backdrop { background: rgba(38, 45, 53, 0.6); } .clusters-map__close { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 1; box-shadow: 0 1px 4px rgba(38, 45, 53, 0.25); } @@ -2402,7 +2395,8 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} /* Resource cards: the kind of resource as quiet text ("Overview · Paper"), not filled chips, and the title as an underlined link to the resource. The reference button is a secondary action beside Save. */ -.card-kind{margin:0 0 2px;font:400 15px/1.35 var(--text);color:var(--soft);letter-spacing:0;text-transform:none} +.card-kind{margin:0 0 6px;font:400 15px/1.35 var(--text);color:var(--soft);letter-spacing:0;text-transform:none} +.card-purpose{display:inline-block;margin-right:6px;padding:1px 9px;border:1px solid var(--line);border-radius:var(--r-small,6px);background:var(--surface);color:var(--ink);font-weight:600} .fc-card .fc-body{min-width:0;flex:1} .fc-title a,.fr-title a,.ref-popup-title a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} .fc-title a:hover,.fr-title a:hover,.ref-popup-title a:hover{color:var(--ink)} @@ -2509,3 +2503,20 @@ body.clusters-mobile-nav-open #just-os-widget{display:none} .clusters-map__art .clusters-map__label:focus{outline:none} .clusters-map__art .clusters-map__label:focus-visible rect{stroke:var(--ink);stroke-width:7px;paint-order:stroke} .clusters-map__art .clusters-map__label:focus-visible{outline:3px solid var(--ink);outline-offset:4px} + +/* Cluster cards keep the same inner space at every width (the old theme shrank it to 9 px on phones), + and the phone "Navigate" button stands clear of the card below it. */ +.cluster-section.cluster-section{padding:24px 24px 20px} +@media(max-width:760px){.cluster-section.cluster-section{padding:20px 16px 16px}} +.clusters-mobile-toggle.clusters-mobile-toggle{margin:0 0 20px} +/* Each cluster's sub-clusters, behind its counts. */ +.clusters-overview__subs{margin:2px 0 0} +.clusters-overview__subs summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--link);font-size:16px;list-style:none} +.clusters-overview__subs summary::-webkit-details-marker{display:none} +.clusters-overview__subs summary::before{content:"";width:0;height:0;border-left:6px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s} +.clusters-overview__subs[open] summary::before{transform:rotate(90deg)} +.clusters-overview__subs summary:hover{color:var(--ink)} +.clusters-overview__subs ul{margin:0 0 8px;padding:0 0 0 18px;list-style:none;border-left:3px solid var(--c)} +.clusters-overview__subs li{margin:0;padding:4px 0 4px 12px;font-size:16px;line-height:1.4} +.clusters-overview__subs a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} +@media(prefers-reduced-motion:reduce){.clusters-overview__subs summary::before{transition:none}} diff --git a/assets/css/doors/lists.css b/assets/css/doors/lists.css index eaeedbfcfcc..25f97774bcb 100644 --- a/assets/css/doors/lists.css +++ b/assets/css/doors/lists.css @@ -91,17 +91,24 @@ .list-item-image{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px} .list-item-image img{width:120px;height:72px} } -.cluster-resources-intro{max-width:32em;margin:0 0 6px;font-size:18px;line-height:1.5} -.cluster-resources-intro a{text-decoration:underline;text-underline-offset:3px} +/* /forrt_clusters//: one toolbar across the list, the search (label above, count beside the box) on + the left and the routes to the directory and the clusters on the right; on a phone they stack. */ +.article-layout .article-style .list-filter.topic-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 40px;max-width:1080px;margin:4px 0 20px;padding:18px 20px} +.topic-tools .list-filter-search{flex:0 1 520px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px} +.topic-tools .list-filter-search label{grid-column:1/-1} +.topic-tools .list-filter-search input{grid-column:1;grid-row:2} +.article-layout .article-style .topic-tools .list-filter-count{grid-column:2;grid-row:2;margin:0;white-space:nowrap} +.topic-tools__links{flex:1 1 260px;margin:0;padding:0 0 10px;font-size:16px;line-height:1.45;color:var(--soft)} +.topic-tools__links a{color:var(--link);text-decoration:underline;text-underline-offset:3px} +@media(max-width:760px){.topic-tools .list-filter-search{grid-template-columns:1fr}.article-layout .article-style .topic-tools .list-filter-count{grid-column:1;grid-row:3;margin:8px 0 0}.topic-tools__links{padding:0}} /* /forrt_clusters//: one column of underlined titles, each with its type as plain text. */ .article-style .cluster-resources{display:block;margin:10px 0 0;padding:0;list-style:none;max-width:none} .article-style .list-filter~ul.cluster-resources>li{margin:0;padding:7px 0;border:0;font-size:17px;line-height:1.4} .cluster-resources a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px} .cluster-resources a:hover{color:var(--ink)} .cluster-resources__type{color:var(--soft);font-size:16px} -.cluster-resources-list h2{margin:24px 0 4px} /* Wide screens: two columns, so the list does not leave half the screen empty. */ -@media(min-width:1001px){.article-style.cluster-resources-list{max-width:none}.article-style .cluster-resources{columns:2;column-gap:48px;max-width:1080px}.article-style .list-filter~ul.cluster-resources>li{break-inside:avoid}.cluster-resources-list .list-filter{max-width:520px}} +@media(min-width:1001px){.article-style.cluster-resources-list{max-width:none}.article-style .cluster-resources{columns:2;column-gap:48px;max-width:1080px}.article-style .list-filter~ul.cluster-resources>li{break-inside:avoid}} .tag-find{max-width:520px;margin:20px 0 6px} .tag-find label{display:block;margin:0 0 6px;font:600 17px/1.3 var(--text)} .tag-find input{width:100%;box-sizing:border-box;padding:10px 16px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font:400 17px/1.3 var(--text);color:var(--ink)} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 1f9c0d2bfaf..38573090beb 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -20,18 +20,20 @@

    {{ .Title }}

    All {{ len .Data.Pages }} teaching resources are in the directory, where you can search and filter them.

    Open the resources directory

    {{ else if and (eq (.Type | lower) "forrt_clusters") (ne .Kind "taxonomy") }} - {{/* Linked titles (two columns on wide screens), each with its type as plain text, under the search of - shortcodes/list_filter.html (same markup; site.js filters the list items after the h2 that - follows it and keeps the count). The directory's cluster filter uses the current clusters - (forrt_clusters_new), not these tags, so there is no pre-filtered link to it. */}} -

    Resources in the FORRT database tagged with this cluster. The eleven current clusters, with their sub-clusters and references, are on the clusters page.

    + {{/* One toolbar: the search of shortcodes/list_filter.html (same markup; site.js filters the list + items after the h2 that follows it and keeps the count) with the routes to the directory and the + clusters beside it. The directory's cluster filter uses the current clusters (forrt_clusters_new), + not these tags, so there is no pre-filtered link to it. Then linked titles, two columns on wide + screens, each with its type as plain text. */}}
    -