From d9858adf16e319f08674255e9c0862f34027507b Mon Sep 17 00:00:00 2001 From: Hellings Date: Fri, 23 Oct 2026 08:53:07 -0400 Subject: [PATCH] Initial commit --- README.md | 3 + components/alert.spug | 8 + components/article-list.spug | 29 + components/article-nav.spug | 14 + components/article.spug | 31 + components/audio-button.spug | 5 + components/audio.spug | 7 + components/banner.spug | 7 + components/base.spug | 133 +++ components/comments.spug | 32 + components/crt.spug | 11 + components/deanchor.spug | 1 + components/emoji.spug | 5 + components/footnotes.spug | 15 + components/fuse.spug | 4 + components/icon.spug | 3 + components/image.spug | 22 + components/link.spug | 14 + components/mastodon.spug | 5 + components/overflow-auto.spug | 9 + components/paginator.spug | 32 + components/search-fuse.spug | 10 + components/search-modal.spug | 11 + components/skip-to-content.spug | 4 + components/statement.spug | 11 + components/tag-chips.spug | 9 + components/video.spug | 21 + components/vimeo.spug | 4 + components/youtube.spug | 5 + fonts/commissioner.woff2 | Bin 0 -> 268392 bytes fonts/commit-mono.woff2 | Bin 0 -> 86768 bytes index.ts | 161 ++++ package.json | 7 + sass/amezing.scss | 7 + sass/citrine/abstracts/_functions.scss | 5 + sass/citrine/abstracts/_mixins.scss | 82 ++ sass/citrine/abstracts/_variables.scss | 570 +++++++++++++ sass/citrine/base/_animations.scss | 83 ++ sass/citrine/base/_base.scss | 59 ++ sass/citrine/base/_layout.scss | 36 + sass/citrine/base/_reset.scss | 135 +++ sass/citrine/base/_root.scss | 20 + sass/citrine/base/_typography.scss | 400 +++++++++ sass/citrine/components/_buttons.scss | 100 +++ sass/citrine/components/_card.scss | 5 + sass/citrine/components/_crt.scss | 90 ++ sass/citrine/components/_external.scss | 12 + sass/citrine/components/_iframe.scss | 20 + sass/citrine/components/_input.scss | 261 ++++++ sass/citrine/components/_media.scss | 165 ++++ sass/citrine/components/_overflow-auto.scss | 13 + sass/citrine/components/_overshoot.scss | 23 + sass/citrine/components/_skip-to-content.scss | 23 + sass/citrine/components/_spoiler.scss | 25 + sass/citrine/components/_table.scss | 36 + sass/citrine/components/_textarea.scss | 17 + sass/citrine/components/_title.scss | 5 + sass/citrine/components/_tooltip.scss | 41 + sass/citrine/components/_visually-hidden.scss | 11 + sass/citrine/style.scss | 29 + sass/components/_alerts.scss | 153 ++++ sass/components/_article-details.scss | 71 ++ sass/components/_article-list.scss | 254 ++++++ sass/components/_article-nav.scss | 66 ++ sass/components/_audio-button.scss | 42 + sass/components/_audio.scss | 41 + sass/components/_banner.scss | 98 +++ sass/components/_comments.scss | 459 +++++++++++ sass/components/_deanchor.scss | 20 + sass/components/_emoji.scss | 21 + sass/components/_footnotes.scss | 62 ++ sass/components/_fuse.scss | 50 ++ sass/components/_giallo.scss | 16 + sass/components/_icon.scss | 9 + sass/components/_iframe.scss | 6 + sass/components/_index.scss | 25 + sass/components/_marquee.scss | 35 + sass/components/_not-found.scss | 11 + sass/components/_pre-container.scss | 141 ++++ sass/components/_search-fuse.scss | 73 ++ sass/components/_search-modal.scss | 128 +++ sass/components/_skip-to-content.scss | 23 + sass/components/_statements.scss | 61 ++ sass/components/_tag-chips.scss | 59 ++ sass/components/_zola-anchor.scss | 50 ++ sass/components/_zola-error.scss | 55 ++ sass/fonts.scss | 52 ++ sass/layout/_footer.scss | 140 ++++ sass/layout/_full-bleed.scss | 13 + sass/layout/_grid.scss | 16 + sass/layout/_header.scss | 347 ++++++++ sass/layout/_index.scss | 6 + sass/layout/_main-content.scss | 59 ++ sass/layout/_sidebar.scss | 775 ++++++++++++++++++ sass/mods/_compact-sidebar.scss | 44 + sass/mods/_flat.scss | 27 + sass/mods/_pill-tags.scss | 27 + sass/mods/_skeuomorphic.scss | 30 + sass/style.scss | 40 + scripts/audio-button.js | 9 + scripts/closable.js | 34 + scripts/deanchor.js | 10 + scripts/fuse.js | 9 + scripts/marquee.js | 26 + scripts/paginator.js | 23 + scripts/search-fuse.js | 178 ++++ styles/ametrine.css | 1 + styles/vars.css | 20 + 108 files changed, 6821 insertions(+) create mode 100644 README.md create mode 100644 components/alert.spug create mode 100644 components/article-list.spug create mode 100644 components/article-nav.spug create mode 100644 components/article.spug create mode 100644 components/audio-button.spug create mode 100644 components/audio.spug create mode 100644 components/banner.spug create mode 100644 components/base.spug create mode 100644 components/comments.spug create mode 100644 components/crt.spug create mode 100644 components/deanchor.spug create mode 100644 components/emoji.spug create mode 100644 components/footnotes.spug create mode 100644 components/fuse.spug create mode 100644 components/icon.spug create mode 100644 components/image.spug create mode 100644 components/link.spug create mode 100644 components/mastodon.spug create mode 100644 components/overflow-auto.spug create mode 100644 components/paginator.spug create mode 100644 components/search-fuse.spug create mode 100644 components/search-modal.spug create mode 100644 components/skip-to-content.spug create mode 100644 components/statement.spug create mode 100644 components/tag-chips.spug create mode 100644 components/video.spug create mode 100644 components/vimeo.spug create mode 100644 components/youtube.spug create mode 100644 fonts/commissioner.woff2 create mode 100644 fonts/commit-mono.woff2 create mode 100644 index.ts create mode 100644 package.json create mode 100644 sass/amezing.scss create mode 100644 sass/citrine/abstracts/_functions.scss create mode 100644 sass/citrine/abstracts/_mixins.scss create mode 100644 sass/citrine/abstracts/_variables.scss create mode 100644 sass/citrine/base/_animations.scss create mode 100644 sass/citrine/base/_base.scss create mode 100644 sass/citrine/base/_layout.scss create mode 100644 sass/citrine/base/_reset.scss create mode 100644 sass/citrine/base/_root.scss create mode 100644 sass/citrine/base/_typography.scss create mode 100644 sass/citrine/components/_buttons.scss create mode 100644 sass/citrine/components/_card.scss create mode 100644 sass/citrine/components/_crt.scss create mode 100644 sass/citrine/components/_external.scss create mode 100644 sass/citrine/components/_iframe.scss create mode 100644 sass/citrine/components/_input.scss create mode 100644 sass/citrine/components/_media.scss create mode 100644 sass/citrine/components/_overflow-auto.scss create mode 100644 sass/citrine/components/_overshoot.scss create mode 100644 sass/citrine/components/_skip-to-content.scss create mode 100644 sass/citrine/components/_spoiler.scss create mode 100644 sass/citrine/components/_table.scss create mode 100644 sass/citrine/components/_textarea.scss create mode 100644 sass/citrine/components/_title.scss create mode 100644 sass/citrine/components/_tooltip.scss create mode 100644 sass/citrine/components/_visually-hidden.scss create mode 100644 sass/citrine/style.scss create mode 100644 sass/components/_alerts.scss create mode 100644 sass/components/_article-details.scss create mode 100644 sass/components/_article-list.scss create mode 100644 sass/components/_article-nav.scss create mode 100644 sass/components/_audio-button.scss create mode 100644 sass/components/_audio.scss create mode 100644 sass/components/_banner.scss create mode 100644 sass/components/_comments.scss create mode 100644 sass/components/_deanchor.scss create mode 100644 sass/components/_emoji.scss create mode 100644 sass/components/_footnotes.scss create mode 100644 sass/components/_fuse.scss create mode 100644 sass/components/_giallo.scss create mode 100644 sass/components/_icon.scss create mode 100644 sass/components/_iframe.scss create mode 100644 sass/components/_index.scss create mode 100644 sass/components/_marquee.scss create mode 100644 sass/components/_not-found.scss create mode 100644 sass/components/_pre-container.scss create mode 100644 sass/components/_search-fuse.scss create mode 100644 sass/components/_search-modal.scss create mode 100644 sass/components/_skip-to-content.scss create mode 100644 sass/components/_statements.scss create mode 100644 sass/components/_tag-chips.scss create mode 100644 sass/components/_zola-anchor.scss create mode 100644 sass/components/_zola-error.scss create mode 100644 sass/fonts.scss create mode 100644 sass/layout/_footer.scss create mode 100644 sass/layout/_full-bleed.scss create mode 100644 sass/layout/_grid.scss create mode 100644 sass/layout/_header.scss create mode 100644 sass/layout/_index.scss create mode 100644 sass/layout/_main-content.scss create mode 100644 sass/layout/_sidebar.scss create mode 100644 sass/mods/_compact-sidebar.scss create mode 100644 sass/mods/_flat.scss create mode 100644 sass/mods/_pill-tags.scss create mode 100644 sass/mods/_skeuomorphic.scss create mode 100644 sass/style.scss create mode 100644 scripts/audio-button.js create mode 100644 scripts/closable.js create mode 100644 scripts/deanchor.js create mode 100644 scripts/fuse.js create mode 100644 scripts/marquee.js create mode 100644 scripts/paginator.js create mode 100644 scripts/search-fuse.js create mode 100644 styles/ametrine.css create mode 100644 styles/vars.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..76e888b --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# @muddle/amezing + +Port of the Ametrine theme (by Daudix) as a muddle module. \ No newline at end of file diff --git a/components/alert.spug b/components/alert.spug new file mode 100644 index 0000000..40b4184 --- /dev/null +++ b/components/alert.spug @@ -0,0 +1,8 @@ +props + type: 'note' | 'tip' | 'important' | 'warning' | 'caution' + content?: string | (() => string | Promise) +blockquote(class='markdown-alert markdown-alert-' + type) + if typeof content === 'function' + != await content() + else + = content ?? '' diff --git a/components/article-list.spug b/components/article-list.spug new file mode 100644 index 0000000..01c62d9 --- /dev/null +++ b/components/article-list.spug @@ -0,0 +1,29 @@ +props + pages: { title: string; href: string; description?: string; date?: string; updated?: string; banner?: string; bannerStyle?: string; articleClass?: string; draft?: boolean; categories?: { name: string; href: string; description?: string }[] }[] +div.article-list + each page in pages + article(class=page.articleClass style=page.bannerStyle) + if page.banner + a.open-post(href=page.href aria-label=page.title) + img.has-alpha.no-hover(src=page.banner decoding="async" loading="lazy") + div + a(href=page.href) + h3= page.title + if page.description + div.description + != page.description + div.article-details(data-slot="article-details") + div.items + if page.date + div.item + i.ph.ph-calendar(aria-hidden="true") + time(datetime=page.date pubdate)= page.date + if page.updated + div.item + i.ph.ph-clock-clockwise(aria-hidden="true") + time(datetime=page.updated pubdate)= page.updated + if page.categories + div.item + i.ph.ph-book-bookmark(aria-hidden="true") + each category in page.categories + a(href=category.href title=category.description)= category.name diff --git a/components/article-nav.spug b/components/article-nav.spug new file mode 100644 index 0000000..295512e --- /dev/null +++ b/components/article-nav.spug @@ -0,0 +1,14 @@ +props + previousHref?: string + previousTitle?: string + nextHref?: string + nextTitle?: string +nav.article-nav + if previousHref + a.article-nav-item.prev(href=previousHref) + div.nav-arrow Previous + span.article-title= previousTitle + if nextHref + a.article-nav-item.next(href=nextHref) + div.nav-arrow Next + span.article-title= nextTitle diff --git a/components/article.spug b/components/article.spug new file mode 100644 index 0000000..083afb9 --- /dev/null +++ b/components/article.spug @@ -0,0 +1,31 @@ +props + title: string + description?: string +article + h1 + = title + div.article-details(data-slot="article-details") + div.items + if date + div.item + i.ph.ph-calendar(aria-hidden="true") + time(datetime=isoDate pubdate)= date + if updated + div.item + i.ph.ph-clock-clockwise(aria-hidden="true") + time(datetime=isoUpdated pubdate)= updated + if authors + div.item + i.ph.ph-users(aria-hidden="true") + span= authors + if readingTime + div.item + i.ph.ph-clock-countdown(aria-hidden="true") + span= readingTime + ' min read' + if body + div.article-body + != body + if notes + ul.statements + each statement in notes + li= statement diff --git a/components/audio-button.spug b/components/audio-button.spug new file mode 100644 index 0000000..4980a7c --- /dev/null +++ b/components/audio-button.spug @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/components/audio.spug b/components/audio.spug new file mode 100644 index 0000000..1c0abae --- /dev/null +++ b/components/audio.spug @@ -0,0 +1,7 @@ +props + url: string + name?: string +button.audio(type="button" data-audio=url) + if name + span= name + i.ph.ph-speaker-high(aria-hidden="true") diff --git a/components/banner.spug b/components/banner.spug new file mode 100644 index 0000000..91a2761 --- /dev/null +++ b/components/banner.spug @@ -0,0 +1,7 @@ +props + src: string + alt?: string + bannerPixels?: boolean +div#banner(data-slot="banner" class=bannerPixels ? 'pixels' : '') + div + img.has-alpha.no-hover(src=src decoding="async" loading="lazy" alt=alt ?? '') diff --git a/components/base.spug b/components/base.spug new file mode 100644 index 0000000..27527e4 --- /dev/null +++ b/components/base.spug @@ -0,0 +1,133 @@ +doctype html +html(lang="en" style=accentStyle ?? '') + head + meta(charset="UTF-8") + meta(name="viewport" content="width=device-width, initial-scale=1") + meta(name="description" content=description ?? '') + title= title + link(rel="stylesheet" href="/_muddle/amezing.css") + link(rel="stylesheet" href="/_muddle/styles.css") + link(rel="stylesheet" href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css") + body + a#skip-to-content.link(href="#main-content" tabindex="0") Skip to content + header#site-header.firefox-unblur + ul#site-sidebar-controls + li#expand-sidebar-li + input#expand-sidebar.visually-hidden(type="checkbox" name="expand-sidebar" autocomplete="off") + label(for="expand-sidebar" title="Toggle sidebar") + i.ph.ph-sidebar(aria-hidden="true") + ul#site-sidebar-modes(role="radiogroup") + li + input#mode-nav.visually-hidden(type="radio" name="mode" checked) + label(for="mode-nav" title="Navigation mode") + i.ph.ph-compass(aria-hidden="true") + li + input#mode-meta.visually-hidden(type="radio" name="mode") + label(for="mode-meta" title="Meta mode") + i.ph.ph-info(aria-hidden="true") + span.title= title + ul.buttons + li + details.closable + summary(title="Feed") + i.ph.ph-rss-simple(aria-hidden="true") + ul.dropdown + li + a(href="/atom.xml") Atom + li + a(href="/rss.xml") RSS + if searchHref + li + button#search(title="Search" aria-haspopup="dialog") + i.ph.ph-magnifying-glass(aria-hidden="true") + div#site-sidebar + a#site-sidebar-header(href="#top" class=logo ? 'has-icon' : '') + if logo + img(width="36" height="36" class="has-alpha no-hover" src=logo alt="") + else + i.ph.ph-arrow-line-up(aria-hidden="true") + div + span= siteTitle ?? title + span Back to top + div#site-sidebar-content + nav#sidebar-nav.overshoot + ul + li + a(href="/" aria-current=(currentPath ?? '/') === '/' ? 'page' : '') + i.ph.ph-house(aria-hidden="true") + = siteTitle ?? title + each entry in nav + if entry.children + li + details.closable(open=entry.open) + summary + = entry.name + div.line + ul.dropdown + each child in entry.children + li + a(href=child.href aria-current=child.active ? 'page' : '' class=child.external ? 'external' : '') + if child.icon + i.ph.ph-(child.icon)(aria-hidden="true") + if child.label + span= child.label + else + span= child.name + else + li + a(href=entry.href aria-current=entry.active ? 'page' : '' class=(entry.external ?? entry.href.indexOf('http') === 0) ? 'external' : '') + if entry.icon + i.ph.ph-(entry.icon)(aria-hidden="true") + if entry.label + span= entry.label + else + span= entry.name + div#sidebar-meta.overshoot + if metaTitle ?? note + div.card + div.card-title + div.line + span.title= metaTitle ?? 'Meta' + div.line + if note + div.note= note + main#main-content + if content + != await content() + footer#site-footer + div + if copyright + p.copyright= copyright + if poweredBy ?? undefined + p= 'Powered by ' + a.link.external(href="https://www.getzola.org") Zola + = ' and ' + a.link.external(href="https://ametrine.daudix.one") Ametrine + if sourceHref ?? undefined + p + a.link.external(href=sourceHref) Source + = ' | Updated ' + timestamp + ' UTC' + if socials + ul.socials + each social in socials + li + a(href=social.href rel="me external") + i.ph.ph-(social.name)(aria-hidden="true") + if webrings + ul.webrings + each webring in webrings + li.webring + a.link.external(href=webring.href)= webring.name + a.link.previous(href=webring.previous title="Previous") + i.ph.ph-arrow-left + if webring.random + a.link.random(href=webring.random title="Random") + i.ph.ph-dice-three + a.link.next(href=webring.next title="Next") + i.ph.ph-arrow-right + if note + div.note= note + script(src="/_muddle/amezing/closable.js" defer) + script(src="/_muddle/amezing/paginator.js" defer) + script(src="/_muddle/amezing/deanchor.js" defer) + script(src="/_muddle/amezing/marquee.js" defer) diff --git a/components/comments.spug b/components/comments.spug new file mode 100644 index 0000000..6ac2b62 --- /dev/null +++ b/components/comments.spug @@ -0,0 +1,32 @@ +{%- set alert_icon = load_data(path="icons/phosphor/" ~ icon ~ ".svg", required=false) -%} +{%- if not alert_icon -%} + {%- set alert_icon = "info" -%} +{%- endif -%} +
+ +
+ {%- set comments = load_data(path="data/comments.toml", required=false) -%} + {%- if comments -%} + {%- for comment in comments -%} +
+
+ {{ comment.author }} + {{ comment.date }} +
+

{{ comment.content }}

+
+ {%- endfor -%} + {%- else -%} +
+
💭
+

No comments yet. Be the first to share your thoughts!

+
+ {%- endif -%} +
+
\ No newline at end of file diff --git a/components/crt.spug b/components/crt.spug new file mode 100644 index 0000000..4f17fdd --- /dev/null +++ b/components/crt.spug @@ -0,0 +1,11 @@ +props + fontSize?: string + label?: string + content?: string | (() => string | Promise) +pre.crt(style=fontSize ? 'font-size: ' + fontSize + ';' : '' role=label ? 'img' : false aria-label=label ? label : false) + code(aria-hidden=label ? false : true) + span + if typeof content === 'function' + != await content() + else + != content ?? '' diff --git a/components/deanchor.spug b/components/deanchor.spug new file mode 100644 index 0000000..0fea7f5 --- /dev/null +++ b/components/deanchor.spug @@ -0,0 +1 @@ +{{ text | striptags }} \ No newline at end of file diff --git a/components/emoji.spug b/components/emoji.spug new file mode 100644 index 0000000..f25fe29 --- /dev/null +++ b/components/emoji.spug @@ -0,0 +1,5 @@ +props + path: string + big?: boolean + title?: string +img.emoji(class=big ? 'big' : false src=path title=title ?? '' width="24" height="24") diff --git a/components/footnotes.spug b/components/footnotes.spug new file mode 100644 index 0000000..a99881a --- /dev/null +++ b/components/footnotes.spug @@ -0,0 +1,15 @@ +
+ {%- set footnotes = load_data(path="data/footnotes.toml", required=false) -%} + {%- if footnotes -%} +
+ {%- for footnote in footnotes -%} +
+ + {{ loop.index }} + +

{{ footnote.content }}

+
+ {%- endfor -%} +
+ {%- endif -%} +
\ No newline at end of file diff --git a/components/fuse.spug b/components/fuse.spug new file mode 100644 index 0000000..7f6c9f0 --- /dev/null +++ b/components/fuse.spug @@ -0,0 +1,4 @@ +
+ +
+
\ No newline at end of file diff --git a/components/icon.spug b/components/icon.spug new file mode 100644 index 0000000..c9414cb --- /dev/null +++ b/components/icon.spug @@ -0,0 +1,3 @@ +props + name: string +i.ph.ph-(name)(aria-hidden="true") diff --git a/components/image.spug b/components/image.spug new file mode 100644 index 0000000..268960b --- /dev/null +++ b/components/image.spug @@ -0,0 +1,22 @@ +props + src: string + alt?: string + url?: string + caption?: string + width?: number + height?: number + lazy?: boolean +if caption + figure + if url + a(href=url) + img(src=src alt=alt ?? '' decoding=lazy ? 'async' : false loading=lazy ? 'lazy' : false) + else + img(src=src alt=alt ?? '' decoding=lazy ? 'async' : false loading=lazy ? 'lazy' : false) + figcaption!= caption +else + if url + a(href=url) + img(src=src alt=alt ?? '' decoding=lazy ? 'async' : false loading=lazy ? 'lazy' : false) + else + img(src=src alt=alt ?? '' decoding=lazy ? 'async' : false loading=lazy ? 'lazy' : false) diff --git a/components/link.spug b/components/link.spug new file mode 100644 index 0000000..5e59bbb --- /dev/null +++ b/components/link.spug @@ -0,0 +1,14 @@ +props + name: string + href: string + icon?: string + external?: boolean + active?: boolean + afterActive?: boolean +li + a(href=href + (!external && !active && afterActive ? '#↓' : !external && !active ? '#↑' : '') aria-current=active ? 'page' : false class=external ? 'external' : false) + if icon + i.ph.ph-(icon)(aria-hidden="true") + else + i.icon.fallback= name.slice(0, 2) + = name diff --git a/components/mastodon.spug b/components/mastodon.spug new file mode 100644 index 0000000..09b7636 --- /dev/null +++ b/components/mastodon.spug @@ -0,0 +1,5 @@ +props + host: string + user: string + id: string +iframe.mastodon-embed(src='https://' + host + '/@' + user + '/' + id + '/embed') diff --git a/components/overflow-auto.spug b/components/overflow-auto.spug new file mode 100644 index 0000000..3667d16 --- /dev/null +++ b/components/overflow-auto.spug @@ -0,0 +1,9 @@ +props + overshoot?: boolean + overshootRow?: boolean + content?: string | (() => string | Promise) +div.overflow-auto(class=overshoot ? 'overshoot' : false class=overshootRow ? 'overshoot-row' : false) + if typeof content === 'function' + != await content() + else + != content ?? '' diff --git a/components/paginator.spug b/components/paginator.spug new file mode 100644 index 0000000..ead0a48 --- /dev/null +++ b/components/paginator.spug @@ -0,0 +1,32 @@ +props + counter: string + first?: string + previous?: string + next?: string + last?: string +nav.paginator + if first + a.paginator-item.first(href=first title="First page") + i.ph.ph-caret-line-left(aria-hidden="true") + else + span.paginator-item.first(aria-disabled="true") + i.ph.ph-caret-line-left(aria-hidden="true") + if previous + a.paginator-item.previous(href=previous rel="prev" title="Previous page") + i.ph.ph-caret-left(aria-hidden="true") + else + span.paginator-item.previous(aria-disabled="true") + i.ph.ph-caret-left(aria-hidden="true") + span.paginator-counter= counter + if next + a.paginator-item.next(href=next rel="next" title="Next page") + i.ph.ph-caret-right(aria-hidden="true") + else + span.paginator-item.next(aria-disabled="true") + i.ph.ph-caret-right(aria-hidden="true") + if last + a.paginator-item.last(href=last title="Last page") + i.ph.ph-caret-line-right(aria-hidden="true") + else + span.paginator-item.last(aria-disabled="true") + i.ph.ph-caret-line-right(aria-hidden="true") diff --git a/components/search-fuse.spug b/components/search-fuse.spug new file mode 100644 index 0000000..5c1bf7e --- /dev/null +++ b/components/search-fuse.spug @@ -0,0 +1,10 @@ +
+
+ + + + + +
+
+
\ No newline at end of file diff --git a/components/search-modal.spug b/components/search-modal.spug new file mode 100644 index 0000000..1a34e1e --- /dev/null +++ b/components/search-modal.spug @@ -0,0 +1,11 @@ +props + indexHref?: string +dialog#search-modal(data-slot="search-modal" closed ? aria-hidden="true") + div#search-modal-content + label(for="search-input" class="visually-hidden") Search + div + input#search-input(placeholder="Search" autocomplete="off" type="search") + div(title="Press / to search") + i.ph.ph-keyboard(aria-hidden="true") + div#search-results.overshoot + span#more-matches-text(hidden) More matches diff --git a/components/skip-to-content.spug b/components/skip-to-content.spug new file mode 100644 index 0000000..ffde958 --- /dev/null +++ b/components/skip-to-content.spug @@ -0,0 +1,4 @@ + + {%- set icon = load_data(path="icons/phosphor/" ~ "arrow-up-right" ~ ".svg", required=false) -%} + {%- if icon -%}{{ icon | safe }}{{ else }}Skip to content{{ end }} + \ No newline at end of file diff --git a/components/statement.spug b/components/statement.spug new file mode 100644 index 0000000..f72e5c9 --- /dev/null +++ b/components/statement.spug @@ -0,0 +1,11 @@ +props + kind: 'archive' | 'trigger' | 'disclaimer' + content?: string | (() => string | Promise) +div.statement-container(class=kind) + strong.title + i.ph.ph-(kind === 'archive' ? 'box-arrow-down' : 'warning')(aria-hidden="true") + span= kind === 'archive' ? 'Archived' : kind === 'trigger' ? 'Trigger warning' : 'Disclaimer' + if typeof content === 'function' + != await content() + else + != content ?? '' diff --git a/components/tag-chips.spug b/components/tag-chips.spug new file mode 100644 index 0000000..3a99494 --- /dev/null +++ b/components/tag-chips.spug @@ -0,0 +1,9 @@ +props + items: { name: string; href: string; count?: number }[] +ul#tag-chips + each item in items + li + a(href=item.href) + = item.name + if item.count + span.counter= item.count diff --git a/components/video.spug b/components/video.spug new file mode 100644 index 0000000..b0de71f --- /dev/null +++ b/components/video.spug @@ -0,0 +1,21 @@ +props + sources: { src: string, type?: string }[] + caption?: string + width?: number + height?: number + autoplay?: boolean + controls?: boolean + loop?: boolean + muted?: boolean + playsinline?: boolean + alt?: string +if caption + figure + video(preload="auto" aria-title=alt ?? '' width=width ?? false height=height ?? false autoplay=autoplay ?? false controls=controls ?? true loop=loop ?? false muted=muted ?? false playsinline=playsinline ?? false) + each source in sources + source(src=source.src type='video/' + (source.type ?? source.src.split('.').pop())) + figcaption!= caption +else + video(preload="auto" aria-title=alt ?? '' width=width ?? false height=height ?? false autoplay=autoplay ?? false controls=controls ?? true loop=loop ?? false muted=muted ?? false playsinline=playsinline ?? false) + each source in sources + source(src=source.src type='video/' + (source.type ?? source.src.split('.').pop())) diff --git a/components/vimeo.spug b/components/vimeo.spug new file mode 100644 index 0000000..b8befb8 --- /dev/null +++ b/components/vimeo.spug @@ -0,0 +1,4 @@ +props + id: string + autoplay?: boolean +iframe.vimeo-embed(src='https://player.vimeo.com/video/' + id + (autoplay ? '?autoplay=1' : '') allow="autoplay; fullscreen; picture-in-picture" allowfullscreen=true) diff --git a/components/youtube.spug b/components/youtube.spug new file mode 100644 index 0000000..909cc1e --- /dev/null +++ b/components/youtube.spug @@ -0,0 +1,5 @@ +props + id: string + autoplay?: boolean + start?: number +iframe.youtube-embed(src='https://www.youtube-nocookie.com/embed/' + id + (autoplay && start ? '?autoplay=1&start=' + start : autoplay ? '?autoplay=1' : start ? '?start=' + start : '') allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=true) diff --git a/fonts/commissioner.woff2 b/fonts/commissioner.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f02d31bfbcb668da67d55cd3fcfe242c8588ce83 GIT binary patch literal 268392 zcmV)LK)JtnPew8T0RR911Q=)l6#xJL3s<}V1Q+T60RR9100000000000000000000 z0000Qt!W#E{ZJgJBtJ-2K~kj^KTTFaQiE0oU_Vn-K~#bsCtLuOcrSxU5eN!|-dKc| z1`Cl$05G4P904{0Bm<)i1Rw>Gcn8lX3!S6$+)apt{t2h)FZenoiP5HlR+rTh4Z#7wxjs?V0a% zJN-d{VH}LclZfb;7G{pw#O`H;BE`J&c$h96_fXfPs$)_cs-;$35eu)-wIcNqaT8E) zcUzVL*^hkHoeH9qmQd(hUxZW1?UhtHbH+FI7LgR?J$xfQLenfciw0JsmVT zLRunF)bg!|ZybdFH3hB8ZO6MDgacIIPn-HIu zh>Q0)599j;tvI;M1E%iGcaP%O@5R=lC^NjqnM+k&3c9H3qH3enshK|T9ji`|M1+;N zVej$mP{qcvSG+mAHZ&0_WB8hnu;5tptvQjds&GuM~)%t zCt-h(JK`pcuX2bcT6ep|w|jNCQf#pj_vmLZ_uh52S4U`cC7RdE@Pv=gzaI$xXt+pY zw*MMd=r1%>HNGj&zwt)-bAe4%T+2b;jib2!BDkf3j?F(c5+o=H(v(y=RwY52DhX9Y z#4L8?d=~%1@KcFEQAs71;?$FAGDDxT?H&teDyE!>#4yJ25i``boCk~j#|eyHVYQ!O zDf}`?mqc5arKc>6il`zoZ|!ruR#-dfcmd@C|Am>ks8So(Mt+bI$q_$}k)UG?28Tgi z1ap_E_UJmgpS$)$vXO@jfp=UVDN;k`~tP`r)Exq(A;^-6>SwSF>e)WxGmi4iH_PH(=wRD zR0)dx){G#$nSq~Z8jOwAw_EY??)Bq_iC6J1m15SOScR9QSYxRwrg#9w4JWWi@p#5J z#)cZh)p424y1n}(Y}-LGW`9y_cfn(ZENlvy6WW1M_Q&}E)Uh8I1rp!b59s>sR8HlG z_`;KTy^933V^#o>antuw05B;8l2i(f%$eTD60Bt8rtW&2S}*mM{sis)bcxabpb-mp z_e(voNV9<2?7wS3WKj_j2qNGJBO)Ra1O!A*K~%&eMiXOqDasS`hU-AG*5))bJq$)&!Y1U-j^#)0|F4qB+Qc6KY zM5u^>JRl+>Ao2wfQE}l|tWkDbW-F8-C@RX3B`$`rEoHa>5jO%4h{%3L<|w7qQrZFB z(gFuTEI@z|0)!Ak2qAfHd%twa5n2lN#S z13_9Oa=;iXSim+|u_#!>qKPqJqbdyqK@_X75sdfWiqCd{rt|-jCN+wVw=v!x&o*af zeEx`4u)*e^r#AI}xrFNdpNHor!ds{1T@2i)JdGgaco(ZWC1=sJrr9e z#(;});F0DFAb@{bdwzH4%$kI+BG?Qu8)AC$@I1d%JNLf({)|SltSAb(iKCF@Fe|AG zz~07X7ujV_8QDwOl)UbY56|ajf9}063oi>Hgs?;)LByzt81|T^fXEs#Y#{~QFf7uD z6wyZHI}9R2DW$kGjHT4l-QhFVQc8D*x(#D3E=7#EbhC7G9LHfC27Y4K|DRzsNh`KO z_d)PCe;()jKj&JK8)+)ErHIXp8O-sgVpV(wY)q8x>BOFx|9!EkzbT__;y-I}sAW+SXK6xN&=AhqB~8;bgtkC|jWH(1)cJoV&#P!i z+1^C3Nf=ESAT z(7Cs_bS~;`y7?AuFY>)!zo?%ORh*?V;aBSFoyZ6NpjkZgt*NnoSNwi!JZn?2p0y$( ze(PHMn%Y#XC)Qdk))nz2E1nxfyqueJJy%4$5Q0cfM8p-5;ECsnNKQl~NXSVL5pgAm z1kZInk!(&xTsOGlW<8zMtqMsE@nx*Zi1=pnUuqVr!2eiF`~O2ag2DzZLF2N;dFI*2vaIIWR)u+pm$rt}E!T3z&jB+pkKPg1R}G z5~}DeQ1t5Pos*f9Uq?s30>c0Ey0>?)ec(zmWhTH>VO6H;q$hjeqsKwQqDfk!3W(=< z_Y1o(f68DK3sV-V$5+W@@>^a2P%QLnLY|EQpIiNZvBycfdv+%Ucg7hVC#hpVR0Qmh zXqu+!ZlGymZi0Y-ggwXmQjT9Y<**?N{Qv*b{@=Ctk<|C6=$HU8_V@@Invis=N@{iZ zAtY=wWI$iaEvf44HF@ZNZ~yI_s+&5z?ib>OklhfILZXre;b8Tj3)!;95|zLhBpR7j zstw2C7j>$3^ql<-8=I1tB?ss^ujRhE{Mk9)0xH7i*;d!GaLox@FcyFVd;Rl)^5?d^ zEerKYC{7c<*Wb56>>@UZ1+g3|&emy)mD6L^(NtS>KP&ZC$g40-jc5=X#4cikzt2Da zKlcB+cF<--#l&(D_s)a}PdtGLL?8kcn7{-kP=N|eU_eRw z|2pZRh1U=81V`ZKfAv@2KQ~`tK&~fd#TCHVcl2tAY7o^Bzsy4BJ%g`mUyw|(f*=5b zAlN{Pq9m$VaTFy^`b;LHn`~ z{(t+Nh)ktavRwA%Pe9WijDSWx>eYi`_X|itxeOQ3z8?V%b?pL4C8ZJq4{U@l{+`#_ znLTq~Lcv-Ht2GQ33nZ<^3iz-8rRLuM7U%VPPu2wo#CZ`Rr6XoJWZ?>O(b3cnB}GTk zr&LoJQNax_L7=~{1OXh5L5Dl>wI=hv$D-1}ZpS9ed( z^vupKPk{InhJ^aUMEI)IgdKZA7nV`c8*s_2J@4{*m%Uu)Ub0DCg|3nX7|$S7g+iiG3L_B`S?7M?|M_0k z{(p|S*4_soD9Lh&m6C5xdavDE8-WBsNhCozWXZOyO0H{Hh`z=5V{V1qY5e1D+E>+U zS>ulsZMH#v#6g0P(Gv?21WEp=BxP>XF3Na0dE^nqZonLk<* zkR80=e)J7GwgixQ)IIchfyi*qumNzO zrOJDA)%PEgomtQ@J@5cv`RVLwyPZ%->4XAmxby&V1%&@{cVU7pO95MBRfj!Gpw5`B z0LrAH{0YYj-rI+NzP(j>?u-93v#Q<9?8;dJEMnFX*t_x`3m^d^BoCl>?Wa2HXT-bz zzprYw@BRnuybnR%|40W&+CW$v2x|kiq36cbG~0Wt|L*%A`0qb_5+5KXe0)+O0m=iC z69B>iBu8^Z$+JUiQV7+0DuQ&N$kDNB&d!l+PxN?`?F}K9Tg{nvLs4zH)t>3L>$hlf z>Ov~II+pAIzb(sjG-YUOmN48XTe}wsVnyTk0LDr&6j5!r}t1*+_%T zM0y+lby?D}{Ga5J##dp`ibnx741|Dfo)>HO?`exuDk}}OK4q^=N+aaN17Hs3P|dBc zC<&M<#kAt{QLGpAeX&w~Z<^?~lD@sDI_j5wV48twEGq36#o~vSFO+#U6IHZ{Z6jmM z5uw8K@2{Ngf5%MvRWlBR=_2u}Gwc_3RjNpZtRe^_5elMeS<=sosEB^!0DJ%+utN{= zzlEelfIvZfsb5Pq>O?n(Qz^l?l-=kcPrlxq z(==AX4_*-)QHyaVjHyy~gz)_T-~0aXfMnUk1n|0LKiY4^TK`zuIRKVYtqBGH|Cwq3 zrd4BLxX)nseZ%khy_^Y>!OVdFf9}c|kE!bFi<#=4AqE(L!~mpULua0`U3R*wdxju@ zM=b%a1NnIN?RqYsvy^-;MG8U%`Fc5@>HH`LWmlQ8L8u^9kSNW6s8DGv|5G(<0X||x zC9h>&PEGl-yuiyGS67uQ02I6ex$BU1A%&I{9ROaUuX0FLee>U^YX3jo8;!IfTk)an zq#&p6eUyFkF62~0+o>8;l#`n%xlK~_x~7`f_Q2lf;1H()$pe5Q0k9DO$|OL_AOKP% zKuQEa${y@I)t#UcHN%Fe7^}1AE({)*YRKxcN<3AYvUrE*NQm^So^+)6TX7^8KZ#4W( z*AM4^_<4w5=5(_2(rMk9yG50@8)vTlQ5i}r7U7UVA;F$0hb{aec6GG7O5B=4Xe4!^R2YeMeKmFlVf->78lx+i?W$&)nI2KP0a4H(2 z07hsq@ql2&0t^8R#D8P0?u370KxjJPp&zxXW{sk@iATPM-~aTRPMIyVE;Pd7K1QP4 z+qpB@wD~O=T0$vRwZ!eBN|%d6I1U>BvAN)%bCa8ZfZj~Nhzv4{hzf{~ukBh{wYFK7 z|9|>9^)Z|oWSFt75eY5fKqXiHKMcu_Bc4h}eFNsw%$F|IGSVbq>GvrwpdK7^62C(HJ3w zFj_6L$~w#VzyDdzxtI8ou87Fsb`cRV4`ZAr@|Zlt?IMF)O8fbrT?oYQfBD~^TC4lb z-Sg%W7U8i8VIv|N5fPCfA|fIZL_!E5g!FXYF#k=1|8DYp{c{n9q@tqYiHeGfW>SH; z0>LCCgFqk<2r@w+5C{YU(cN9>A*X)44Wt!fR?6l}C}fiDtJ+l5_w%&v|DQd~kcw+8 zti~W(EYLny0NO{%k`77p`s)9obXtr+HW)C&mgY^V&Tj0K<`B{x(hXfB8JlV&stN*? zifE!~ckg-Azi#~-%n|D@-sX06ixmWwYN#cJkk$yKl15qATju|Lz5n}7pGw3?3apA& zke~x(U?6$j81c%TJFTbwhmlnNBe1jwwVW;d_rCG&2((SFfz zu16Hc_qu>ELkHyh%Gz1(5S_Qy(P2w|c#O4d;KSp#-Um+68E^NquiER>CWeuVLm49$ z3>G4+UApW6037o1Enz4QK0D=T}y%+}3zUzu6r3gU*SfUL^^!vMp~FbvFgXSF=% z+tteEg8NW9tJDv$=Jw6$&rOQqBzzX z>xm)>k)#t~S)T--1Wx5sdU{u1dR)|A?fFWV>c-wjYF+a54wb0@7eb250MG%w-UOX3 zL2^Rq;_%-eC>fuMydwQQ7#EjJH{~zD2+=0s=IQhCmXQhCl|!K|tUL zMM$W?LQOEXi-eYF?81csJ`4$Aq!1RmaSAccp~hvLaF!hIbP*yW=&~XfKjI1E25H=( zh!pBbheQrbJYtKd&?w-JLY^oV43==PQBf@y4F;ke6yL$oEfE8<@f#T<=$KZHd6igH zjb&M^DuZtp>lPt~c3=byVdODt0pa5a0^lIX9puA;QbaI7DoBb?4@tho}rSd1J$V%p^`(Gi2AmB%$ zA-6+51oDZH&x8Ccw3|TtA=F_|r$Su_%IAVgy9b`+6r?ogt@oC+^1l& z2u!xYM3%g+9X|V7rSojny{025X6BZu}i?4#k zZ@}Un*n9+Rz8`FUGi?4bEG4jX5@G3KfTh0!`<+49?_<)-p{xeO6@$WMv(>23G6XZ<2)XIVXUCCqH*!V%vcuHyhP(eN=i~W^w$o*nL%C)vEWn(_4ZktbDzm;9N)NFY`9U|lo>cr&Fu%OY3ypjMcc}SG0dBnk-B$VBQYZ=qSDxpr&+mE0KwN zWhkw$S@3guaCNk5`C=qQoTLyn;45seKn$yn94@Qfr zWs7fW^nv8ESwo%bV4Sk$`RxzN6)krbmKus_p%(X|EQ%}O6^)wykhM$IS^+YHXeLyW zxLs#Hey>iv^lRS8Lrh>RFCN$1E4Qz@@t+Uyx6>s9i3irH5++n zAxSKk3}o*#=UlL0&&%2IEvNoccEUiy3{`1=*vCy{{XCTaGD8KY56i%_ld{jwO@wQ%a+3b{)O15OK_KICNMIxJu!CRKbXJBCa89Wxh4vBP4rHZ zQQ9GBACwOhjA*>VXv7!Qs+iFaT@lt^w3W#060dBK*gJ9QUJ1%Axq3ic!m7H&DE(3e ziIGPT&uE0(NBc!428)?Zxn+{@DNd*Tlm@sB+Ks^vLytNyx6r^|F;%U`#L|8?IK^K= zOY&yo&_}Y;XH>>f@0aUT8unt--pbuSCl6T5zrZ_Z)D)AQHVw(`tREe;)Dc$&bMOFN z>MtOt26-8X;*MBQkiuuRpf;7Ke+n#|POjHJ$zs2tYor>DD6h=>Mvo@_cItk1`*^OT=eWqvj7CAaz!&3y`l2)yj!^6H9>1EW)2Qc}b)` zJO=%q(0>mDeEBy10yoC_zvO?+(e|UJ{Hs^zuMw^I)u{Ztn)*{le`NQ62=v!;hUH#P z=I3QDa#=z-rr&GheEVj7F&(tYuFd^!jK_mPy!`WYWH#}Q!s~g2-CV?Zrt>L8UMKS^ zm8&S*;OFx2(52iU&e^8jU~V2Vs|RdDV0Tuv2dmpLb=iSJyQE1n@mhTkBkvtAfd?M({^k|bc0&9VLi_^S>MPj)I#OfDp;;@pddVjpi~J`628JP$|j|>qhWGre@%X%xgl}}@?NafStO()9YM4u zmPbWuNiF)9#WB3BXK6L}bM-A}ROVi4eTmjfyk6a}7tjWe)J7e_#x3D(+7x2bx=@>H z^cD?&i*g3uUc6JOy(QW!(LN7+M4^r-RL3+5j>TyCF|8P+hjeyIz#iNO8f*b0Znk?o zBx7xdKdo+*7^cd4xap576_NPD&pi%u?pMR5Jd|0040wsS!B)PObt-$8+j{rVj8ZgA z*B^Q@F>U;<+mko2Lky`Tf1{n^)71ZRy-|YPI`edgXUb7c9-*lE4Vx|da+NHzY~3p$ z&2>qIYi8pgUB^%HF@&l3%P<8lV1{rAiD7JL=>{n_ZcvS$S|BjGc#Z;zIac(kIS46B zr4^(BRy`G4VXCmAbb+-r<*nr@XI)BfR)4zJ)jPjVz}X2n%LhNxHVl|Z&DYL>FKW5x zNq7Ra;&gXTxJ{Z+O~^QD#sxd{pzqD0K<-$4XlR*3=NH``Dv8kh!45ZD>mzds$s;n5 ze}scGC@|qd6kLicf4nEgxG`>w8;Ow^iIEtIkw9V%C%*HkD>VUcvh9!odRW}OxWpAR z^;-P8E=l~ofh2i`Yr)rgFQ2h6;A7;ms z?>~KA-=qII#G`=`sp#e=tKUrcPQ+j|tO3v0u?1a((juguCq@i9bj91*XqmQ+7(M;f zT);a;7x4II8Yu{;doh*Xo4bx`YSfXI?kDdJS$$!4w?o-ipZblJE;7zJBg5J(6f6 z=}hFB^jiuARo?~FMQvn}%<5&IpDAYaIiZSj5H3-(UYlSy---D5<`?_v(0_uj)$R{{ z8_dK1b%}SZRf0aK41enqj%UKqXDTddsx?O;BKKM%DBTv^${VsN3P%jF%ZZ-P=>~|bHlqp4(qteBckWq-+@?`x(|^Pb&LI^Jv#aA!R=VNic7N9cJ?7`?C}S-- zs$~==Q|)!Hyad zGJUM$vrwn#5tncufU=;|)MZ^_0CNm|XGllMbm9(V8^vtR#%w*f8nOLKr~Uu7F6mcM zc^O5J%6>l@_g_U9`%P5$-AA&Y&@c|*U@gSS55{g)()tC367VGnDORErSWYF>dacob zRg^t06MwDHZ;Cy{4M7!Y6|+&h35nh#+w@1Wa;^!{X|+(C$TO!S5v(VdLdPb0vfYr; zM#aJlWzlvs=UhHty7`zT{yI1zlgvcAPvmqgje@zjLKH$dnn1S>~s z4^<{IcBl-ld9tHh^P>|E7`hYKiLwC4)W3bW^2!CIJr)2{!tx~}6M%vuy!&$S>szrh z-yM(waZQXadI$uVfz`sR;YE*VMFTKsKE@eRHi89kVVFdy@Q>IRU`8T01u2OR4~I_m zHw4ibA}VtGYL@`y5dQ?Y&Yb+3l0BCct&U_SjRglD`*rXDn-%~)dr02r$~_1VEC6GW zQ;;ijAX*16po5&^1F`_;0nB8@JS#ih6qJC!|0O z!TI@y5gx>tc849u!731yN;6T<%W-#$$WysmbWuO16Q`vGTvH{tq5<&Xch{ia@J&)a z7`a@$rhtE!RK&kuXW1CK0D zQ#cVi3_=w@53B!hr>@B&^`-{#U==!qV#WZt$)zXX2e?F`l`HwC)<3oImPw)l)f`{(?oj%e(M*L^keWCv{ z9>f3eL+GC;Q}{13)@n-YVd|FI42L{?35R*a7Fn>zHf+ZZ?8e@E`;=40$xz_@P^!)W zGfwh+5Cwlkh9FO%08K%94q^Zlu!zMmoJcw45u8EjAhHgv?xqZDsU`gO#<@wZeJrhOD^>Lb(!rM1U~ql5HGQc@>!11A^6% zs!E~9k+l)t?b2jdJtG2$#v~@EC95hN$~=ByhTr8zlC54CY&t~f00WHWInim5b@4u; zET;Fd&^-aIkL?KLD5@7o51@!3a@S!+M=y%TuiHHyj}HJa`Jyt|L@2NjbcsbLh+YtP*CN z^tp?D!2(hbnt<&gIoqSBb*PwNAsg3^+>rYnX>mhTWR~=q1G;j6eG$8MpSPYW6k2O! z=A{3E%!wD&3UM%@b>MGNFE(-E?|Vu#EVx9bui)SYHMw_T_;VElz}|zKz)h6jXZEp0 zWR(sWE)ngcd`NJB1HhsZ^OX8A>q91lcja%(79a<7$u^Fu(h5|qieNSLdZe(y)pu5@ z0n7N4-yue02AWjlP(lR_=`7@wV;3lnF_Vn^T*J{wG$j0o&$9L;gkTeu0oe;h(vxUl z1L_kwDrd%hK?DFeHG~0{%;QhH@nxYL804`sRz>{cyiL~=2haDDTPm{0`^H9RYG*N=Far~gqnzBIC0v0 z5mo^o`&R^D1+pmOHrDUU?c_Hm5?lLfpC(Cu&F3!`&;y4PkPAww3KsZQ_?dG|#{5>F zJj{r{a=QcPfuI`m*PQUfO_2T(=c9e{H4sAz54gexcWAO=1Lt=i;VLo21Pk4`id5i) zbjHUEK-~Zy@h2#twZ>gMjn`Hy#F1*stoJj*k1%3-$ykfI*9=gwH_XbH$dC(wSx=f? z1ilb!JSq$JB?~!%{RHT*&&qh1SA=FbxIFkgWZ|Xak*R1uK3BLv$(Z-p5V9PoMAG1s ztCxUBKG9KOX48VP4P6+@u!bNW3M!eMU8MjR5UN?lqkqEo!t(Xx;N=la)KDEX=veS9 z>++zNojmU;O~D2Pk;u#2uURuFZ!$S#93~7w+6Sduxh4Xfqb$+YOet-%UvPz91dT44!*sL-*)pH^^k1a_6uJkU`CT0(V zm5Ws#6Uv2F(m{GjKj@J|+>a3(h0z*gaHhj?FrsOBIQ{A2Zuv*R^f6mr<#MWx51Iqn zi2pz`fk8BqjO1d;vBG~Fkxpa~8AqNYYYG9tcpfv#1u0*PG|H(~6)iDvv(;`f?c@2Z zN8{2tX)#u?*s0NW!;tLCL3oZ?@cbQ3hLnFf_4g0>wX9=jh&~EJvtXX^JGwTV=JB#D0un;|v#5v4wtv)6p1sgEJEqjmG_n;G~hb zca%09_XCIx&ZsetUagDFYjkQgcwRDLE#^gwaV-b&S8HHX&%?5fMoelpq`KB+M8tY! zs3*_su^PGOvpnerUL3*2#;?S~}4v3yu402!=@|eRu#vU0RS*HB_;H@pu!Foha5J z<4P)e74SJ7E5A__5H@vgvRDg^`>g>Q%A+YL%4Ib7OkIv~6UXJ$9dS~2^+9Rb)C6K# z6*4h;WmZFAWs-j)_OK~~@{E_E^qS~*(Z?HYPkdOKk-EsIr)p)FOsj@U9#Z1ymsC?Z z5+#Nf;~=u6g?*FbT=WY4=24=gkT|F0779m?O(QC*FWvx>w!@*PHqN%sbm^@P4tyut=EC&a<1Aouw2ST8;)oA&~y4>OOew)R3PTK(WX^H z`4})Pa%f7i$$m4r#MIgSArCmoPGd`9-uuB=hHUeZ%O1}y(jzd=2CL*A>lz2-Y4jbD zyuZ-z{bOub8nVocQz-En++=};dKIpi6qII`p{U3-696%jR16Q$%S)ao#>toy2SY;{ z5Bvq4jFJ_>afZn#)ERUn>qZfBz9KT<+v(BzmEw&&7jb!-K4Oy|;)E?jx@sbEoDT9R zCV5gbpY{nIH%?ByrS5Qqqsmbej8#j3G!Lu99q6U5Zl#vil!u3~NmZr5Nh&H_Tg&Q* zW8T%Lq@n~(im1VM9=uL|uH^pfi%8CY?Za|%UyHz>?AKfqt57muADS#BC;hd8GjW;J zUA;s}l3x?9j6$D#ubDnMK2LZJ5l*Y@v=am967?F1CQTM=BHzlhT^?X53 zQNtx3u+3*YVudrbP{#?bvCJo&fuAGTQ?^1JAfZ3un!RBX9)?9BVH?`N;(7GhLK}Oo z8a7}?J!`N*n|HACHTb**2GFq#;s1G7h$RT5B>wYXg&-rzE6%H&N}-`=7C2DDG%(m^ z5+tbb5{RGG))-SFJCElI%Zz3L{0wK3>k2WLEyfaFWDFyH`hX{O70xmxhi!UuBq>qQ z9oW}2oy{th$CLew`uOWg+p=qFhfb?bNLPRSxx|e-OP)-`S$~vy{fD42$Y}1`A7*^# zSkTR-RQ1#(m2FjWw*E+pk13^&vP8L6FG+(Asf41hZ3rF!wn{bJM~%uh`KY;tB)RW7 z$`aXFo~3$nP)#h8g*wLy8K?sINkdt=S|L(UQ9fUjgr(AuyY&+8cY7RZB%DM^VvWT2 z=#2BkWA~^aNdlI1sbD+(;-9agyt)*NJ(`Pa^kN>%!};g^l+R+(w4LoPzj?f#S`*O4c;`eK1}OD)!RQIgFc4*96J9j@yGV`cd9iE>d!oHY|dYC|Kw5T3kg@rb74mEtZOiw+Y`O zhkTQbepeqUt6)14*7+=nxILhvR`xL^4_g%55wzTAU0j%-+-D&u$C=5^nM%TIQqkXW zo1WZhmU^Y_rbq{)A2v&IBx2X-_&;M4W+Oh(;v`Il6c~rW_GwnNel5(ohC(YSGS=$# zbY@iuLm4)VsT_VVq-M$z;sYW!R1`xH28jeD8siMJSO&+;f72}B7n%XQD$)>RW7TYb zqNKqwjDxt&&DI3GKuqWod|;r>_C80xI#eGtwA3G~1!C7OC7Zghm$26y^nA4tY9?#3 zSYhKRnlGxzPxts#eM&rDn2}sL_QwSmD?UU6g0(*8yPT!)E^gF6)To2L;Ct&H?L|E) z{A)sRXME|<_M{=NijeUsGdaZ@1jdKVhB1m}qmp;&SltXm^`3*8Sjsang2Yp>&}Y&K zD5{^2zQ+;D;twhcY8EpUhR5fB(gk5h+|b3!$q@czLBA)QL36=JoqKgEAaOSkq*m?J zZqz@E_IAlW?rfl~#9ulq_73rX+6=7t-;s$&lAvifXwk|8;kPA9)mlvmsk~`*Iv!o= znzR96iz=TeB}|I03o$%aN-3D{VufrrDD5*MgcpwAg6 zsEsqiMw`?)dbAVOIKfP|#ZZ-*B6_qM0js!a^8+V2b^EGPCwJIxNhQC{`Dp!*O4#fj zmY*x+#94sPEc~pQshYsfn-}FiN5g08M=T^fW5(}dIQ(+!?Ue<%2eFt=-0OKg3{>vb zG#{2FabGFO@Au#HX|0d`JtfTlsCxVt%GJq4|8A>DaL@fKg~9Ka4I8E!KQif7XBthq z{uY=BzBZqE{aqi+A!gHebv&ccPbvP&x|wt{`Odjj=2|OG+)kk16#=T18=J6@s%6GP zL}R=zY#|x13gdUw;^P5_Lg$x zJ!c6kdIdy{|1z7ZI6+|iAq+z;j$}-fy(GM0JGRjX`;cPoAfTTCqVWkc3&rwIpuZ6z zdUhY|yo~pqYv( z^ja$QVR^2pS-hI-8ZjYc$_F3B*`*#EZ7x!eraQ?GnJatc!}v2?bETE+uvAxk+d#wa zkK(8$q*27VVfG`I8ai@BrPowkMdHf>h+(!gohrBr?!Mmj04R^JWi0QV>wNdSjOC+} z!DD&n9G5b4R1`FpMJ{eZAah0Yd>jc251_83jxfba8v2xmaMiU?2cSmwOa${)DU+q4 zR{?S-{MJg6v2EHg+s#GWidPsei(7?1VPMLno(V&3D^!gplR#Jbf>D#qu?2wToveqcEDG8yK1`BNk1Y)HP=w z|8hvfgi}>hQCEIfiS3h;CNnm$@Rc=J)vS4QC4|(|gtzM=-T1w4c~e!Y%bDmvbG#tK zyEG($NTeZR32E3O>e@ErN_Gt4v<^4A$@R`)%b1k5=2&ozv)$I}gsE03`D;TiP!D>@ zM;(E~BOG||E3b98wsO~ndrKzoO|N=Orz?^Nmk*#>Azqn9*TbAbB$X?xC<%~!yPkq9MNhy(>F8XdF*~wwZ<1)YO;C^n2y-zp( zKL8v4cw{JuK3%Y#MIk6D>uhuqK&IcE14dZ;F1NVLyldr2zMUfIK(!pn6=tot8k|n) z8bCzwjW0e%Z+aT0Lal?#T2<7}r6fQb-vcG`k*UiKBNisV)mX>EAJU${knHZX=-_ljqgvg=R=0Ex#cEUcRSkZ ztowW4<(DuwDHskB^jtG5NL)zcWAb|`YS0GX*H75K@%%+CiMgF3O@f12dkUTtHYIJn zD{e3IxYnJCrL3J$OENcd&wY^Z_n!)~Q6X_KZQ|z~L$b#juW&qN9_Ex)U*t-^K@w8{ zvTmP-Bv;B0Zj{2KqY5&vuvECrfW2$@(!8^H!kr|UvbUbH1;0jl)bokWDO+d-ta z&}ZI>^4`p;E$K#I2v6kSBqdXte3xvOFLWBa-IZ{HaLGtbalKv6+g>N#?>aaRmNPkQ z_eRY;cT&5S*Hdx|=`(L`a~w9T?Z!*%!vI9R%v)owH2QDm2PmY7dZlkm=W(c{dXrF& zn8saKGBvw~b5d@ZlU&=5^5$s0OVahD0Ihf2OW98h3PH5;w2G5HJNYVjUhny$orgV~_1?`K`yc3#*AU>^(M4+|ihqxv}5vSdbp)Zf8&#wo0`Z24bpX zRJ};4H(bWCa2SVEU*6a&TbOT(+Yx3ebJQez(88lQQL??A$Ot*^4iT@p6WE_4Yp=u; z!G^OZQmY<@08bM92?M3SHwmRlrMY%!rhGd;b?Jaa)aHqzb{ue=2;5Hr!0k6^6*-!C$AFbAA_ zr)JzON_+E@j;BoPH&l|&F<|K+qFd=49P+tPDdIaw!c_u8X>YU$qUssZk!DvEM1O)l zQ2Tfp8Aj2bVeRlj77A6Q3s6F91gl=ex%-bq(4}r=YY9f~S|$$9Gn&GZ+YM%)=X@v| zSP)va2JgpJZwHd9u0bEQi#_shJ)Q*r0s45Wc>EI6<)0wSsvL#LDihYUFLIJhgZm*s zubc?BC;oEb*0csm$QkyT<4G0sc+crz{Un*PPpOJq@=MMfj~P2+JZMo=g!WBYr#{;> zHU&$4kuB+5*;eexcy-J9=t<4;>-<6Z3+Z4jTFuAwusC6qf_P^XZ6OKBUq&h3?+e2X zPwRjf2OPBq%br@<17OCYQmCV}F~uuyVar=yowR&S{Ag_G*C}Pt`{RzMZiw_FA7m@8 zbwhe(Kid3&Fa)D(53KzL&sQ$0t4qA?RipdYjwfe;)f@a-Nn1-bpa*7=<%;1$Z_|i{`X7!4Q8ld)>d)5Tbh}+ap~JUfGZDN-c^_7<{N9*W96{goTwnR&eyQH zs$YOSgjh6fyGxV_edP*kPy);*kJqCY8!seI!h{Nl_iE-gWCjd+tY#3(VBhbuU6Mqk z-&T{@&o4{u5@}@0w^?@n4&uB5@Ual!KjXm(>ApP-<8|pu^~(-P3A!7J6lky^Ik zTDC%~#NH=lY;`p}J7sc=nKeO31Ion`SNi4%?d--6xM>my{0k2;-M6@g{^_))1VbRi zheNJYKCHMLf1LmH4^yY6-25aaNDFEVXR(0c#L-gu8kyO3;g_msLOdA)#tSl17FK5 zYIT@4t$bK!H@^RTpj^;!Js^K>FG~b{AvVKwLf0RV_(U*|5bNj_5m?1*lu%PU_PF5k zNc<}t9x?($nUESH0+q9G)n-HMVz;dl{ozJz#!hEVF$W2jnwx}N8Qhdos9%Ccw*83T zOCuY{%D69`ZH17>{m8XVDL9C|$<82?A=Q@`QX^+Vs){RB-jAnZ#xPvA>A8*p;I6aE zemv7pj<;SHUhl+fXHjVC*?~GhF?v3bHnG!Lv8ybm#NP)QFI7zwwE*$-PG;#jm^>iB z3UIM_>?i@}|IqY$nOBW*lG^6x;QxtbTi0*2k8N{wub7+VQolNA?^Bby@Uzf#zzv%~ zFPe^8Tw@wr;46d8|Snd1#-C-No<1sH`k|Xl3CdO$mpE z7k9DzViJX(Ry7OnW2uEZHz0suBlH5g)3`N5A{tmHQp}9Z<;sfJ29uXg%jN1Z$7?l& zt8K2%rsuF%dpi5PcC7YoM=W9g+a)0zdmm!|d;lP1 zibD8)#5gad&!F^hzK)ms^8>n^Ie(sOG@+nKWdc)LmXYlep#=JIX9%k_XHo|3IULKK zZK18sb7@7j^tzfao#kCHcN4-@FZ5aX*UMsl=d_R-83_=#3T@@8k&$^~HYFE|4tg3f z8fA!9JC!`!rZexwDU#i;r#9~w<4)Xk+vSMJgta8l2q%)D`XRwpHp41~F#ef_2#o`! znyJ&mCQTNJr-HG~C4$jxGMNZCyd|N)WVD14rsBO+Je8XJQ?sZPn}k<J^Ej~5Y z9bw}KAviU5Rt43?AI6!(y$^npnLq?r*00YLn&a!eBpQNW6&n(@lh)#xy5kRYq);ZB zpD0EhuURjsaPy6aSoZ2QrD-MAMjJ^i`qz*IB!i7I+;7D0IrvpaTA}<_zhJwYQz^It z8%#vDLHG+t96heiUp_mT@u7vrb{g*yo|9(b2V-s|Rxr~}jyh9c>JND;=uTG%+#yYS zM)(}X@gNI&T@hUkjGEKKlE4;h1A4-O*#${8Z^~1cKSqbxIMw$wo&kT&JagMb(ZPUL zXxNBU$U|4j#x#Avqw(}r!%BTMQYS(zT|vS@vZyNfQjI^bug1|!jJ8zcudMM6sZMkw z4?&s?-M+>btENNxOo@~JIC?jf>Mtd!&3sC@s1m->@X?@jaS$GWU_44f&S_UC%*ok~ zXO`-%ls=7UVvehx^Sxhiu~pNTNVCz`Qd~*jK)s1yvN1dAkB1jHS^p$d^eJgsczEc{ z@jj}QpfFmYNTVThdG^Ix0;Xd6mnocBtR65XXqkp+*r;t930)Ux!G9P4WwC8fMMG%V zU1+_mg|r!0v30HmB9n(jzwTR8x5syc&Lm-qLc>e_r^vx@5*102BSpJXWM@=`AdEJg zXL00)lm-AAzR0$Fcq8kVzZRCNVPD|_sQx3x2KcjT5w`6MvEW>GBeghX%%}UJ|n;{RDd2dl>}@hoF(eqnR4~h^N=h zo+fmQ`EB6qhBYN)+U;yqvRK^lB{#44O||G~>CkefCJv!Enrb7s$v4HVU-F`_M=Geh zt8wd?t8@h4OR`=!xL3%pG2t|%x>&_Ooe?UaeWA}b`z@80E3V_vH@*OP_oNt_69>gc zrQr^-hd%3AvPGZCCxvK)rjYRWx0!=TjV5ATvy^>9urN#z+_P=#d$w)cwr$(CZQHhO z+qRATNh(!2r7Cmp+O6H$ojG*(SicfmFKlF(hgTBmQ2NY2gmfVi21@VD`DafA4}599 z>(e?@$qI&!n-@dRe9Ab>-2%|=pLi0{zUkrAQXmNP8 zF$)RZiOR~IkPgz_Q}sFY{f+Ub(;ZJS4jkc6UOLe2upG>?2AVy#>N-%tO!!fxn3){| zcjGS(b$JMGtgwwr-@@n0x9i`IxvOUJKx&EGtdw!!ICOqPPk>^#$Fd{+Wzgcn3J1y* z{8C|Vf37~~tSeXR$R(3fkIgpU9mLE9+a<_t{zG5hd5C(7^PI6s2lVnu^Z>@j@x_8Q zRv-~fR>%L7orrIT4)c_|M{d!lw+Y8z;FeNt;KpWx53mDPtb>Cxo*i(xct{s(a{# zxP_lQ;IXedm^&t2JcmFaHfFa8CYdZ2i*BC@fGj$3)Pk5yNLJ6sLBZ{W9AU@QhRb%O zyKtUy4o#?&rvOfpGsId|=O-Ak-|nnoVD^4PGoFUs1sZnX6vd+F;Z$%g)+`xO0@tv$@FlWFhu5_;F& zw#{^$vT@sfk@4{gZ!q@#0OG{~`OA47k<0sGL>x9vLm`hh4P&Fn{5DUYtV^6`UadgY zotb>69k3MlUN7&Cb+Dk~CZ!T#QstmlHfkviY%Onr<>R(}5xe$00kb_OwKZ+*I{^@2 zW`DaA+4VCDhsQV_`YqZ{tBb{AV)aIl|5;TE4-ns%fjyDL>K#)HR0v1>Bk<*7{p~T2 zhM)$^MyGMq6$ByUr?b6$*zbA47!TW)PL6N|k0Ooc%1j$JfyxhI-INg^({W}B!#iD+ z()0V63Y?LP+Sd167|8Wa=g|d0|DVtj15^9W$p3V8L)QaDM%+9zOiaz|r{-iL|2Gnl zP`Kaw-+D1%4nHSV-MAEQ9ee)PpQ~>t*9mQ{C9k@^`~a1J_MOlW%Se8>Bozb3VLj>N zNg*k=Wu04B?uX%uN2p(7AFt<7R7)7%C__SlYbCq!qOtsVVjp?&+wWUQYu}B~^}$8I99a3wPJ&bP{R z(mJ9G6@ocJdD9%ohVueTN#3;acIYJZ1OjGZWZX(|bceY&f6%CLk=Y1Uy?oSChQda{ zYHM+K@@x!tBiU^5YR2=82o{UQV)e02g78d3dJDjk_!(s}c*rjHeM@0XHa73@lX;ip zRRVwJ!FCYlMIifTQC1moYu+XXWOx~YZ%wHj{e{#Q+QsZ?;Irni`^qVv z^=4b{gm;znSs=#?mgUvXM5L~+ZB~NFX@bV`M{LZ_L8hZGOTrQ~%tZ;F2XwXRTwYV)(=_ei0(piGSgl>4f(C@I7U(eU7ga{0`_GpA?Pf zI5=*9@0U%SsZObX+)SQGxv|_eR*XXbl0UBD==P5Vd8*s9g)qC}u*37{`f;lzZ>U^8 z!*)J$$L89B?)s?~YD#p+Z3UTYZzv?7?4In;1$;_!phV(N-s1nJVh0ABKq6zDU&1<-_shfw@HnTzJ zoDC*{Se4l+GGgjNp*&w`oVq4loT_O)UmwP5Uf0%FS3kY&AcG*WXgp5al9N`>5!DKo zdB)bir4Pla=`^j^M=F}Nn{72M174ejy5H&}}#VDj6!+xUW>X_@1rO2 zr>G62o&JFNxZ$tg1c_JI(!GNb2A{`V}bZM56%-pwWdCFNB^0bQ<+bY;YYRo z=Cc6GeL#X^g8fr#r?U$JyRi5BlQF&j#G-*A5THn;+937f2nzZ7`v~!c2m6S_QvAY# zq5>)5p|JrGAu&NwWD<Xhh%+1cvFpI@g@e|}yZFoMPuo%q7>){Jq zYgd=EoR1B@fl*pK@O7bgZDfC6i00KjIN*-*cIc^BMl6CDve*Yh3;NE55_(Z5^5}ly zpFRxuvdeJ!pj+yROB124O6wKQ3o|&L=~8q)+P)uWILmim%QcK8P`xVV2-Yuob5bVF zkhIXJPd4PjU7lP2}3j&ia&l=*1 z|1f`T1pMONkZa|{gb8$ut4!mGN&{gypi(L+{S>^A!bNE=`RfM!cx{Y0CGuou?4?di zD2!1J7`4U;(VNhwm7cCN{6$P?cqvfvYqz7kzrRPqQ-;#|&0GNOS4WMv`uF^|FsA zI8H3ICm&(5UvP5mrl1E!=nhVB>LAo~(ClUh{!=rz-$@RFLmyvKXiq&NdJi$>ewiZl zKJ}vWfxHw&p?`OIWcjjPVJ6!?4@mfoPVF!QJ%Rd0v_Cn=w+VT_KOWKX=MxMF1_MDN z(*mgzhm*_G+e3&i*xy4Ok`NFP7UfF{3yt*;4~`CuBoSlg`NxN+2P;P^Gde;^Vrg=E zf>|t@j2kDHXvOjVfWcrfS{IA@1+-_`D9|}Ho&4?pefs_O(S1eMeXf)7zGTe#987mW zH))r+0UCy)EBC5U>(fHep^VZIkcTG3ClkphC%ZVmL}S)voXqCH->;MU*g5Z;p#Td6 zT3iIHuM3KChUW_}7-Be7gUBM$i4Y`?FEXNNaCn$G|DS!+m`VeYn`5Xq9AeqR0JwuZ zAR#2gE69@+78vOp8XWB(N+d?h@rw&f3sQmNGyZPbExE z6Up@gg+!uIDO5^#{FeaARSH$IJzz1J%vKAPGF@;votkeL0G^9iFBfwFV6d31hRf*= z$fPnEuIq?mxJ*eKp-~-4(74(C-JoPNoG3-1T3Ic!vKw^9*_l@gzc}R-BHzb}-vhzFh3h|jqW56}X+Ape8QsUt#|8t+98~)z0c0PROK)`6^ojqE@BaCURmeBj zpd`9FyL-^q;YO7QWWBoH$=(sL!^8dK9TX%aSb(U|Q2*g&_@3JbLyR`>9o=7Cpu~+y z$n`}=f3_QRjE2)-VuI5pBovIGJ?ZsqTEB4}$NnJqwGRxF4g=&QtOVH~8uEV@t^~)B z-bH>BbK`1O2A;gGTV0Pw^3eZMYI&TXEWfz0w4kKOES^*+R9aL+y76S(#593SFF;Tv zGNssi_>9NtZ$bC@f=z!u{($;tcV*gewmSq(!?406Rm-46MODklh83Q(O8sg6UmVYa z_KyiNn_t=QKr0{mLf`RYAM}~*m2nG0PSch*#pYMD&F6q_Hjh88@*31udj#IOh729y zIs_t&Jpw@t1rn$^LwbDqaLiUAH1&E4SB6b69HL<}2JIqiS==2V7y#(s6BuPln zROgMutLN9SXoEyHa#}FcwtVKKwbJbU@rl+?5c0?U^yJMbOU35jvJ=A9YpB*X#dUiPgO54-p)K=@pv@Sq^E^A%QYV*rO0&#v)Q|2^zE6iP{lq2zq!3`f*lql#hG z63rM*y6)#mE4$^2wf!60B6rFj^zNnO9(Z0nJ_|nXY|<(82bCr}&1TD|yjPX5*C5$F zmyd&>6}`8iwEpx~M>-&>+ct9!DI$9H93L3k2$6lhZpRy6+ZTb2BqBpa^(s763NkF=Gac)=i`j9=;El|hzlLPg{L+9 z9Mmyw0`*lTAg0iWNlST_(#_(Gu>A}m2SPb6x7oZr;Yc>FRI`-z76|uOpl!Q6Cmd}a za(ip6QIE{R63;%}Nq!0>j6FK$`5S(WyQqgjZ^p!Pffc#`2X(^8&}e@&g6G)*L0{vF zJ3DHr5?O*9H<%Kxy8py7TPQQtAtGpT z@~P~za{owjJc7sbFa<-#%69JbdV=lATX&|ydmbvYb)}8R#_tQY1d1a;Xt*NB__rsF zU3Wu%l)SQ8(2;AdE5wIDQ$V#(YljpG&e6AJW;_F2gCI%*$ zZ(*-0ZX!?(F#yd_kVY^Vv1x?xnTtfKTKA`OJd^f^`du4feHa~uf2YkDZ9x!QTfMM|c(Y7%x&@qIQfH3JSVP&^A^G!=!}7y;*z zD0i5vQhjrZ{~p!0laAHO&`?Tpiq+Co!pJpWJ+p3cd4(=lK z1FPu>i>0g6*#3c|B{&<;ho$9aijfS9M{Tj5MAFE$D)Z!KLi1Z?>9>>5E9vxWk;F@s z`D{$pdK;@{?bz?{)>n)4_vkVWEXQc<(B>s>wc0Op^XZb&1Ce?PW&u%XCrVF91Vkx{;mYoeUgW3F1l#WD!M(Uvhx&q@IE& zO11y;Sujbm_+sW%xyXYyLdPYk=an`GcU*S4Bf555&_PUs`?7l@Ni7%dfg%!rlZwAK z@Py(xR9`Rv3Mq9LR|>@5)sf%WOF*~<94C=iIE4YM69Xo4aDq(N0FrUa!iJzCwz6KB zCSQU-O@mghKz+R#`0=Q>ffdge%i&)*G4U+1t^~@3vM`iM5`X1NYVPxrI99>xd9vso zT!J)Gr`mZQ(lfaxxjELnS#viaV|gf6Q$<#@1()5L%SpA@x%L{z>%|<4zbGd4 zEf%BpSop%=p4>-`2WjzqF_F^O!e5FMC0w3-g&^*jt$6@ulgUg8g^F$lU5`HznM#Yh z)l-fmCuPj+>rZZH^qJ1|1(FhEnvTt=T`gHxK&%GZMX96h#6>Ijt@yva6lXoG3$%-X zP1TdO((JH8?#_bTvEImg=9{w)LpS*EI0IScM=>Q*%!kekHuB>d?p=w0OG=3N-q&7m zH%~c?zR4$MCcZ1H_>JEbYkZrXE%$xCJbC&=0If|xa98{dFZt7<*!od(6=0sFAkWkU zBc}0|Q@*)>3DcsELmotD0fs+v-0IjE z3flgOKqthK0*g2WnefFPgULv>u84}`GA|Lz&S~Wq`jY`c;DCt4#)Tqfgrwx>S$Brz zSLM&69I_p91h*U$xoZ>~k2y+PA`!PMI+802y=rG~3#xvfaPV0VJ9uLrbu1NPN}g54 za=LFt2EbS>>c-*+?A7g%MdrilqtWOY^1DjpS8PflzTmOn3PkV%PjbS1G2#C_=jD)M zubk=7e83UUu2BCZyB!g3xp^^uDbQ?QMRi7B3=Bo*{6V7Ui=2}KE3o8o4=mYuZW(|` zg&o22%?GN>FkT3bfgtv|$p;$9pyB-Gg|Yz4@coA$$xM;;59L+Yn+`E%?nT9XcfZPJ zQA95A%9K#j%aiVeb?d&is}&{9QzS9D25TKNZD7Fs8QeUs7J3PV-hZlpm(WiR0FU#z zA^!DnmWz4J)R=-j_&0S{;G$3Mo}M^FMhQ7B zu;WzFwk&yYc)vVA_TnG@(GCz=hy8tL%murBhnQOZ#Z$`E8Yk7Y5ifKco)*37QNP{O z3qAQ9jGppB!L2UTSXOVU+M424X7-3aT-d}82Lyf{50;{2LRgtuu(NW)#u0WQoG7|_ zPOA@=N`hMBD*)(7N zH>VEFM2b;N4X3I^xeG>9UgIHu5Kic626i_VsfH{hBIK9Zpb}#JYrh?qTtm6nq)t5?$I(D3@|_%?97#fz71xsyzb)kjFwAW)-nP6~h|UV!w^H^>pIgX<&i45&= zO=aD@(vWb09~``o?xhx?0!k6Y z+5%!6x@(Ja$-;<$=j;}jqkp>0Epjg+h9@>ozQwK;ecDH-=uXbBW>NDYYLy8oSkT|} z!Muv3J1Xhr)2q!ijA#oA;u`+k-cJ!OSmlkMc5vH_iHcUx?Sd$MVSVH>xrNNLPJXPE zu38;Bu-v$AV&h!bWcrWKxK{$nW(=s zrcPN@RG%E%ECsI3%hs^$`5>7kYi}l`BD135zO40`gdr{!3CaV%c}B#tK@H(kwlD_V!}hl;^1)I6$e#IzraP$rn`Dc=L|~ z9`y`VR`P(kQNZsu;uV#HkN=MwZox#_7sY3eTa6VhoCkbe$=`}4c1B5Jh|!uF!mk|Z z7o9SNN4lX6kwn~M&-ENBDHNWDDyqk`-DZH&a|kZ6C>T*h;2$NEC~k}}v>)>-3#|bX z>%wz!4q%u*MAUi95w1oFtxc{f$b?<1fxd?VFOSfSOQR9d#TGKW++04rJ{H&O-MtS4 z<27CbZ}cwgWPe1|S2er0;WYd*sPS3k`Dzt2jDZ7CbNpD{s-zw;?qxiJ?`)94lXb~$ zt#87~2YVSul}gzS;>&p1?uqNV3DW7>Jy4zx$UPfq1*a8Hk0iv}?e#R-^g9hQ$rVKB z$Ceryd1a6>R$Oyi--9$vm6@r=UA1lNU`06sON&9-joB?~-<&wHXGfLy>n#gg?hqJ! z*gg_Q>8{JREw*q*w$lW@Mra?sWiC3#B)j^v*|nN{n;2TSwg2J1tug5FBeO?YlV}@K zpaUYCC<7wqeR@F)CrmvW*Z@mfFmEiT0hlq4GS~S2&^w!M8~100d8n+yvkjD7;Y3<=iGpO7Il%bBGZ9!uuetoXwkm zBNn}N7du@p7HFm8r(Ga??WXu(LK9;LYR5wK*g*yA8VItUX0g<#J(HEWLH#*U7<3L# zcw7XtnSRRQ35T3lu%|tpw(8Spw*5`tL=G6*Tra7I8cAvHORyj2bJ9snJQvr^8Mr!D z_ng4m52DtQ0*$ZdXXT4Jhac&fH-Hh`)?gfmP;-(rw2+!Ky06&)b4naOL;JDV3g;3TE~yg({RPn1kNNT z^WAHPA=c&%hjv_@3*M7E2edmsxjn8}^=HBz#ob-KbMWeCzbcq(gh#3cjF7V2b*9+pbR^#CzUU)1p;1Wx(im8WE1g-izMeNB8Le zjw(>6jrFQ3y;?#Sc2gR13+gd`@ic-Gm#j8x+AIv9*W}}w6L%ZQC?Xxgi!7BE#ROe9 zEg=~Cv-M-O7pT*lB-2R}WA`;5P!>u%Ey{rBwLEv6v(!o9G|5Ik$n;^KYq^p>K?CG6KM$TFNvap4{{fv3RF=0|o(s^8k6*isJ7 zo94kE95E+cyco6M@czjpt=~f(+k!bc3uskjCmP-X6c%$=udC-hJSx%^wn3_;r=F!9 zBlSu*{gU0MMq}!uB=t(`>1^Jvei;JOKH#ijLKuJ&YUm=Yp*eb-ansC=?V4tDoZU`m z45b3ZPBzFRtKyYXqBWTH#8T$2rA3btxp-{&dIWHO*{-5GS0QUSkbHex0_rf4(^b)( zSH}SXpp17eCKW#9%vfdC4nm6x9#l^{xMv2~Q)P6&_Ne_Z)1NUimj|({nLrw6c%PCC zI_o%_(N?fNHwPC)JuRCjP3qx*JlIp_$0}}hM^-ss&eawf-yW0CtjC4E2T>eE0M|;4 zt@8S5C*7rm*k$gu=Ts0;(?+;@+cmb1AGc_NMz1o~m>Z{|KQk{U8UPW2K)!FbrP=J` z@MVE|z?H=sf9;~QPk-~tsvwSKxzY%v8gHzTeEz@A(pd+$(LPO zs60~I4()?pd)IdvP`@nQ2*a4`&w=>F@~|eF&$%S?)6=-&yGwLpLr#}%E&Ss!3@ILv z98LOIMRPJYe$WWmcm@;j1vSVR`gKA*YeFqI2QT@opmStbb7M%bvI{m9jAtg%2&J+s zkgP(OILIx-+|Isr2fsEDn!P0o4E<@IgrE$t6n@9oP<}H*c?7x)xf2`xLpFb(3i2O| zS8CH!w|OUn#N44wxma2mivdqmZ)&X(^a=B04D)R11sW4NCi+?uK@ z>lKuJga?c8m0<}`3g8dZoIgE?;7PA?!t#P;!7olVV-NVmj4F z&<~J87l(e{M7?b#jI%S|I~HoF0rlIIFa@alEubCHGWR~4D%c~Vkk@elz;;Ymm$Y}Mk;Y=3Kb*T%$$`rJC0m}@pNUh=H9 zMBcR-;5T3uJL_Rw>ohgp-d^*wYu})#s`6yD!wUM>Vc9>`m-&l+Esm-*A~ZfevLkpObL4 z`pT_+RR|@qB&2!PPFmUkx>VfOUcs57l@TP07aLY!6x$xP(ZXNx%yFvk#Oux8IiG;+52?0m4W2zH;xZPln3G`h$hZP*kCu%_ zg+l?kx!k{0vFEYg(XyEo5V*U4y`5YBXMe$0j!zu(?dXD0kz{A8fls})e_>QtgI;PJ zS+{;)3`a!P`?A2aXKEc@i?Sq>6Re2E_s9Z6wp`2!CG#(ovnhllYe*-vLC?69EFSp^ z{fO#JiYK-Hu8jL+?y7bt%=c-I?zQ?lOu)N}0JB@v8LtfQ2kz_m%RQ@>FQ$+&xzUnq zrVC<2!*`E~W-K{-)`$1DLYM}tqpNisv%eV63i2vz&EF=b+S+pm&FvX?#4zZqs35X$ z??33NVs+x_T+mZB=X?Zh66Xurn+z#d$CU-%gSclYkNyw%u#nhpl*&-V1}h`8@kQr>H~J>AxEB{M#Mv0U4lu}VCMY%C%KJvJo%Y%Akl@%Dqs z@7#19%zYQaKa_I;ga}lEdguAT___?2N@4gcyjw@#YYR1A4{n)(hk`43ZL^(rNk}I^ z-y{Q>W?j2_;l#`U-0BRXbf4L}zslKquakF;jXyQM5H_KRV`^`huRp%zpJ%Q#G+K!+ z3v2k}PK~4=vvGie@5OWgZNXGPe<&APp5Oq54m3Q1E?$qpB)L@Lsl?jPF_apU^)~b? ztu~aDCl=k*X==?_9pZOU{Sif|;ryHf-s~F~re9{csl>JMBL-R7nAT-UU%XqT{*YNP zZc1F~!4Y(eKf)BB)PH@TJ*4EaahW1eQi{N4)YMKP+9_3Mq4(pMgkww+-fp@J4pH zXV>Y>?kXZpRx5z;X3y`*nTpkxq(p%q*H@DQx%d4UYp*4~pDCElsYnD?Rba4fU?!uQ zp&Q~Dx_PuYgVXt3t{H37=dAn@%s0v`@SF56fp>kp+lyAzzkg$?4@+VXzjK&>ZMUjQ zgP!T4e-uA#-E_e_eC8|1*?h9A>7ET7hegfiNF^+Z5X*dD*(4&oxM;tdz2iNrnB?$e z=kNePbdZ9f*@KKBJ}CPP17ZB4VDs?d@~qZ6Ij#&+Sx=T2sD4ihW#|^k$JCx5_CJ0eS%rIrX>p(T3V{KJP~gpkS}Pnqg08XtIAs{6+3p0|KlI`0Ycy` zaaSajQ&G#=3zb7$0P1s<->W6{SrOE&c>?P?g<8_)hc(HHX*0jyUH|d*SPV`RMs_S) z!r=q&S94*?!u(57gq#Rbc~nXY+;>KsROd)b?Z-4=REiS^k9~t)1(+8+jBIc)@hH1U zMZa&1Q$ z9sD+#J$z|wDRG3Dp}2V7i|zBZU@N7ddEOz(l+nz;)b-U?KXc11ol*5~dMFIX_LtXz zwu7dU#{3*%{m%*~a_HP$DlPrnAbjriFQ#+MD;$VRz{kOfOYhF!HC9+`aQVf9XW?|6 zx9%Ff?HfWGg7-S<)+gh$8AP1enOvIE9SiigI()~=)4k#yBqJEsQ$=Sv5E7DA%!K23 z*_p!eKfC4vqgh6QwFl!a8D%nXn^H6mLn`y!B(OOZmhGo*&hzekJXShOg!D9Nv|OuF ziCGuulIH~mVJuGBgjCt3#thy8^D?GJ4o@EX4~4(WoqZc(@;s6}XH zqqubc86TBbKm2sOlu`E22^FaT?jT&BSP`=~rGyAS@RW9lO6}$3IQxUS??c2{5kXDT>zIa7)mLp9Gd7#M;aFY0l zs!owoj(U0_xK~1@9W7t7#-CoE>#%CFt0ff9StsA7SDKmC;_knXb7%Kw;;J#xh?!}$;#Mk*lUM7JKIfzV zOGre$2O{q%lukfCIb&DSm~K$X#}O;YNojK5)ciNM0&y&|n`@FJEZUq_U@{VG7nn`? zpfq)iWkN26H-bU=Ajs0%+%2q$GEQ@8Ry3GB1LQWi?#LIwIKUG+pDwwd652+UEG zK$SK^-qP%MCOb}>{|ZJLEDkuTjGPY{X8%C zW6wZ5j7nMI*F;m9-JT4LQ~Tl`!iyOzs5&KcYkpxZqwR<2^X8uILl|BtaeMODx9;(ZVnFw&7?@3Od0 zv%H>j%PWMo>ogS{jr&FOH1{{(Qt`5Sx9Uoy(uKCuG-uM1n_Y#Z;Zvm!9^$hGy=qs6 z?N5OUEC^YP4kbPOs$!VS<>Bk%6>rx4v|(8^Wk>c2S2C_&l4x=Y{Kh5`TH}WTRmau;?)QQnS5}9XvSs> zAtZ>R!qdSoFNs4UMn}dtL0ol;NWE&eVNG?kNqyt9W)HdDd>R~-j3@#ZG&nFaS$f)7 zIm7LrDU4zVpQ~Hb=i`QdVDI7@MtK0*c|*$Y^I)^BW;3lpHY>)l@bznVAl+RB3HAP? zQ(fpGjO{hl!kzlt7SexXRHoMNBEmUuP{NeiQ5;k9B3c@WCrQmrC$;F6mwM{w>#6htZJ$#-{CFr)dV_YWzr9*LIVQ-o+Qw&wbA!Ye< zQy$w&$);BE;`?9m8p(w!jgCd#DCKxktKovnrbOUntFt71gKN_Z=VlEL^TUD{P`wI3Gce=MqNm##8vLyndTv29dxkLEk6N>jtiY5V5z=RN!Bq7yXs*#ei)T1s2%c=k58plgbH z);YKEwcNgxyqbDec5UyPJG{*pQ{@`Nwo2PO;yC-bYK0YzM`q4rs~#-3=YzhI$%f{Z z24{nCADDCYQ%t@#U0dXO-9~T(hz1Ngc$JLADYcYp7*KhYI za8)g_{|)iPcY1pq>cIwXiMnh5EC0o+9<{7^eO18@%<}TMd)JMrVq#G}VsSXut(fT4 z**n{<@p`f1>AwBp)X9)tMj4h+Z+lL(RXtVz6&06%KE3|@{2sgT@TJ{jOnq?^)m z(nM_bvg3_Fi$^kvw-(KWK&cvMBuueILY#KETkVb&2E1-2ZJZA*n4(p0jtC3B#uIcYvrbv-U^+g4qibYjxf z)!L(UWYY58nx}MX(iGTQZ#~t_tg*3F>9Eo=*xJsWow0pY-OTQ|+ElWU+IsEP&{A+} zwhR`-w!UjCVBO}m(Q9V9vHtpErijL;DlWA27TaQbhrD5?Q@#W)Ode1<8C#;9nIyL& zloS9}mNwDD;8@j}AoWAo0wq8pBv?Sic0k0p`o~qBfZUOQ{-J=-N*;aouI$00CT!9= zhH8$!xwE;?XridIxzt0^r%@JnDe;DO~4R$l}@JuEB6IBkMyQTv|YKTtOxS7U4GygUbR z>WIcT2F~o%x~Ke}1E-o%snJui+LJX$myN&Abt)-{f~1Z52cS*mjWaMR=h0(vF5V{q z9ph1te4_SRC-A6B4&fsTPs95J#|hs2?n5xzWv$+KE%E?sU?;-W1qF!5(-6u@m%iwc zGjJs45~2DO^v%S~LaJ_7NW!oI51py3u_k@bxg(}h;Jl~_&4SE2J&I?9{3DfbToIZm9jN40K zdW-^4az@{9c2pyU1|9hAwK9u`;D=G5q(~O82Gk&?RHFm|F~(hJ_FG$cy(7pK#=!&Rm2lN1*0^2qZ3Z3Q-IxqI_wMtn$=faFTY@<+|QD0fg`HT(A|yv|I?S>O60IPwgff zQ@LFVaTJcFv?r;!t|L#tvPjTn!&-3d%(*xo#XRad@;WNZ7eeUGY_?pw6#;kglBh%e z?7pxe%V9juhNjJYuJQ7PV|a)it{3%XFJ!$uOu|3~N~HUfyEpn`ozf$ljBu17)W|$I z3YU0x;58wjGfDK!zb4PUG$;B47-A5aFkUJ))Mlx`yvg3lvq8rjh5&?farrlf^Xw^^E>(`%F#W|ILX$T?KnA3 zuE>_}LnU<cMfDS@@5&`>Cyj`XRPgS=68ih2mlfg=KiM>nUbTHLxA!{BZV>s>%e=U z5Y5IL`KTVL@6GUQ`s-1C(BsAVHlV=CHM;5}?3dANW*!+_KruT)0S|5#YbouQGjSyU zh%w25U%EO*F)BXkK$tSBXuxek%#)HCIrN)YShK84%^-^srxrDoRl+Fm=&ft0O_@?B zc_2yg&r1F>eVUU;0ZS|YTnA>ckNxQR5ST2jR`@QJhnzf`&MzPfNH#k)hR@;C2%!x9 z_uPhAuIy{D#2am}0115ATi|TLZ>S-XJi}-J$m_3ey5FNOdt!jLAnY>TlsYwR575c` z*@ylF8IMp2?m8g6 zo#4AmV!T}4{@47UxE)T8CaX<6-`{BS?BXa-BvPz=M@Tp*y6KPvrOTz)$I zKs1sy=z1H6Qgl`dguY3L@2(Rf7oce&$G!kSD!*)wek#0ITI862Mjh@@*0Ra!+Aw~x zw3Bo^y~$aLqi3=aR`K0MJA0~vH~oX%MQ_9hw`d+Xekm{IMRtdCDLLnflGb-$Myg#y ztthK%jM%oB;ym}r+R!#u%H!G7x+^a2LqMIkh$U%FUhE;aag>feKb`lDxX?&URi3A- z`y9^67BE=ItQ*y?HNRS$x(O;p}PmQ-C&-G(cUK``=55X zhE$$2-DgvZ(lge7tAWwcAp+)IBK&9LeKml~p;+|qfo9)B zFLZ#dkK8UO4;v?)*cU-2o{yGsmMx<;8#SC8#0b_)d~G@${^uY3BLK$T8^&S2u(Y#} z(QJC@SXIdvsgRW?r6FNS@*?JofOn`3G;k7PDpmAAU@9BB%!?E^e2Ei?L8Tcv8SC!O zsR0{{nVROAB3Qhdu|^`=mw%JbB6im(fSSoZA_H}q!g;G=41$KCqaJaGHZc5YuP#1d z6WhkJCBFRxm$uNFMUkoAlC8lWME3mfkZ#YCOG|ua0JrR^(soD5*rgj_H{Cmec>78> z!IoAMb%@l7&Nk_&BLgQr_oD;W9dGkoS=)w|jWr>OM)sz3RDN%L_)_+vZCI82@(M=} zWKLGtjuNN;HiJ?$ldl{0YVKr+XJSa}I(f>vn8^99J)ot~o$9G@k!;0a#rKM9=Gq2F zCkYy#7WNCX-keR%TBi#i0Qb@Ki>}RP5YxVo5#Y30C$GiO{xgqWACT-W5~Bmh3uRICoPMj_lk~Ld$6%H^Z zf&fG=eH4DJJNmT1|GFOIOiQ(fA`~lLGLHo1?-&S|bljY&5sbr*SUvx^;4%ri|9k)j z@#ZH&+{bmKbaFH-Bldg(-9d(z_?o$y6W7pf=L8&*-gU@g+c$mtR{-IF&Z$@cbj9s> z_(tP7rssYromaP;*8=zyYg=~24w&Bml<}n9fKKreGpY#cKsM(-1?nY3^M~2%2a&S_ z{-cN%TNd@t*b#i#z#I>_QMlRg@A{>!v>?(8z$l(<=19j;3^)9mffjAN-b zcSwblrgP|hM)Zx^sbUzIB@xH7r|-tAJNZN6xtaM=|DJGPFtZu=UOZ|(x3%A?jNMx} z*&cpCpP*t!sszodzIVTFamkO>W@*u>7>bRrb7}Q>e&CN0bA`VfJU>(Q@;O{9Nva*B^Xs`g z7)A4dW?Mb;ydUTFc)!GL4)&C+9cI33ROquAfuYoh`JkoXG` z=s|W|@DYflFAOh=CEXlO+|S!FR+K1<&r$}3a-vdn%ci#xU(;T;D|ENgxWcQ;5t3G~ zKkAPNW14+9I12<25F~CVl8Yg=`Gf(9@C62fWm}yhH8GTTM6qo4*>y)gNC?+arvbCr z+A4EJHBfI(G7YCCDY$V>y{P5OoC(wjmVA>}oYcC%t3(klTPOjR`z=u-I|u6N7pDh{ z24?D~riZ_79Mcukaa@wRhw28$?@!Ai`_awPnzbpDj$p=*S$C8Hz3);=6JBObf(5@f#u1BzLDb%rT0^d*N+Q)l` zzytQ)H0TLpU-$O^h-^r8dKg?0p`>i$49XRb46K9KbMR*0;A=mf2(n3x5G)~&(q20* zEoEja=*6^Q356%slm+oD4*k_pMextewRS~M@aoK1a{ilQte$oiE5qflX~Ej1G~ zK0vjvjU2!dyM(k6P=3&(x*v9QI%JY_Kte} z9{@=}w!f{K7ZxibPQFe12JPFm@7BIU`(~|{MtW_n?P*J`k|6uqN^51I{erMvz~sNi z(SS7n+njGL;P2V`-mUK|WVp=Mw{Cq0+xqq`I$vpxw3GP%+A&h{&u`zwBxI<@FIsBL z_W*z1>TC7423pzHP%GCOZRJ~qmexXU=Vmv#>`D?bAvtQOef9-AFkXxZw*@*g8JT2l zMHYDk#k;8_B330?kwPU(mC+ympVV?nG8uAhQEjUl_G)cYci)jCxsB}3y~MX&y&W3t z)M%F`4w~)OVvkmPwb`egqYnFZan|jC9xi&h>f@%Ly8#{sc^cwn*g+!>8RKJ|FF%v~ zO$jh9&|yK22zFG6VfhHI00;4qy-QsMOg%O3e0J6OAyXLIxE^aG0sD| z0PP}-ORz4Bbw!-3aIV3-j^KuP%M#o~bc>Tt-bPW}N3~Mu(NSYF+p}~O>Q!(wd!*LE zbqudPsNV2=C+44CP*$On3Y#3gu$%%93uXNO(tlP_wUSy@t*YCUH+bHtrd@rHhJ+uN zbu{bms;9la&VKhdJ)WF1`OPF@X28yblLa>&Rt!aGlt@5Ng%O9wERjE1q<4;J&RDMg z+ymA1)jy_7ktKes+utdAYO()Q+*i8()nfj;r0;d_2POZolpl5X`+a=X=hMEP@$HBH5R%Vn8H@0QmqX4rOT8n&m&Jf_1Is5J1qHNNrU%7yjC=s*UHZY zG%3V0XPH2w@!j4^5cfJ725sWVhMgYCj_w(}L(`|&8 zMmX<#s^4k#B{suOae|DrXUkZ-(#-9Yx0H$YF*CnYTa^Xv@mHJFZk<`t#rX~r@Xe5b zFF^vnA0*(*kbv(G3HS;m;0FNUUoU;yKdNt^gD| zGiSx4KasGLv22T1VCi=Y+}e@RqG%e!xkv~WVJy4T7Cis0QiU32nbdMni6x96>gB0U zLE9U%VuG;$eH*4w3uG*Q`9|_|3*z2HcLs$i_8t==D@cVT=Gz3YLk6S|=`welAo$rZ z6iKid2yYmYIA)x#dW)E~xB!(CpII?d6E-~N5VcTGV&8*+8kSpBN60`oq!Td59C;H% z69g2@323ILwdYJ${qaD%xUYe@Hx4GOafOypb}h(+Rb@HecI9|*5V8UVh8ZWVh-xkc zunSHGF%x=c<|MJAvy{UZi|9^b4s}42WE`N8L{BELIl5PfhAfh}pc-<`oV&)9Fino) zl*QCRqLz_oc}Rx+MdZk@LYfeU)-!NR5u_cQ>en)pnNaD$wQ5dbXsqM(Kz`f8gmJEL zF1}zPR@}9clbblRkbs6e^P5(_C<;blZ+JvY-yR(ewQFYs$VKqf?MHRV!kzj`_FvYKf#TGUpn1k@t4qKzb>=ia@}2yq588H811>$joVg4tJ8Ov?Nn;}2 zS{L!BxciXN1r%+fpdKA{-nvRhw%NPHPzHVAZSH2n_FFnb^%7SnNYw-P4a4D3@aJT< z)40*oF7_aylt5_}SEYgk%rmOZ03uE1I^<{Tz-M;2Xyp~l|p!_sLr}i zk985kNlCcd&HQ8n2__>ntN+=1|I1DiOthc2^T){I^ihC`=55)pQGRl-k_010tE+-Y zc@o`1xIyrE7}Hn*gz}`xbgN6-)RK7&7jV@%JhZ?F1>R~e21gtLHI&e$QtyZf4g9P` z&2doN);C04D&$H5*F`N!z}u*69qZs)!}p0sTgAt>+B+%FX9T-j|37wyy#RddMW)}g zSPh72B8j_MvwCq3sNs2FuD~%AXr^3EskVa>XV>vk?U9xU?c~GLX=Cq+XXhbfGag7d zFYSV(pwjB}jIATxGLTS03QAcTy06ew*sy%a`)F=q)n%fGs>67L*CgAzXiH4+lDfg%EF5e zB#JH2OOK^So7RPgVwDvFNI+jjfO2WK!H_N8zzVARVu#Ug3-D&Ml@)?0)e;WC$2R&F zSs!=oN(IHkKOb~sLJTgQl@^MZ98Zs8pmWFia%1_6)u)ho@TE>QUc4kzXv^?Jh(^Jy z=5m7M{E8ZZk&(ClJb2Q4yz&}tp;nho!=q0i^9%ny1hfXP{QxFax49n>*T{D<`O7C< zF&b0%*#hHGGuX(q3R~2Jnd%l&$-lWbO>!J-YgC7y){@WxF@zm83Af-ljlw{<*;N8U&)Y*tn; z)i%Gj3_+5+bhHKx5uS}th4wS)d|U>Z=V$PH|3FedFfrj+I`8pj&T=~k9Vn|t z*m<+N+S0TcGF{eOmnOR*b4_1__XUd|P_83cBvgAmM}xSJ8xcVBYk9KWPlb3s$sr&d zf3%V<-ec(d{4`_&_Uw5@`W^UW&oCxV-F+}TbU{; z2Uf|0SBd;gi{x>Q#}u|ImdfXH^75=87(`3Ms^OR^%FdG1rxPoW#jQbWJlB+KH~WR! zwXw^eAd@_)FgSp=LSG(`V7Wl18oat9&U2%YFL!dE19@lO*2KYP#8z>a(I9K0yS>0l z$>Fdb!o~S|hKG)Tx(zpk-I%jI?8@7(rIg>pv7SB)s~vht$nS^=cwV3{gojIEFk~^X z9$H~)Ki}pWRYkPvoVW!qxESJx4z4#3(B@X9Sy$c$v)kyq)J>D!SofYuB)+<03am?$ z`Sxo6M);%k5H5BWPZsPYZE79+CNwdRqDwE0+Bu~(D+JgS7Tg@j)bA%gU-I`E_t#7} z(4DRk!gaZ>Gn9Wg4jOMckLi!MckB%@X~S5BFk+z~gqOa0V2k6=5b7fQ7`QsoQQur~ zz>lig4S?+tqgiif#DI)sGzVlf;xJ3q2+v-L%OIE^IY!c2N%8evCw(TEI+~Ib=)b{GYl{R#YdEE#IwN$ho zObVeR@bVNSyM|JlJ+U4qq7p;-0kx$-Hx6K~-rzlKrF11BnNqrFkf&p|6f#%GZ8TjS z=yWDUyuw-f5=W=Qi?@UB;_*4ne9kr5v-}0ZrN(n-S6eQ7KnFi-N{B-SM21qRh;EsO zu}BBAdP`Xl{2F6CN+V%M;8dh!?CMI~yVSAPcdABPV`+tyV2e;7+b&@vK}Q?dM5+0% z@WG>O#h-9>F{#AzR_|jYmJ?q-%$Mz^U7KIVlV!)LDgGXgcu(TJQX6qycb*2?tT9Dt zKp`18e&kxffvLdcdp1bLQu!+}>kbSCSyKnoDz|g6gJ~l;TWQI@#kfg*kMD?(?YAH8 zUg7OniW%q z!U;BQ1>-{`mbu}b^nf&~|*^C~pN!^iEsFXfvEo-O8OjhvlXoL5@ zK%@8kkCHu!-IkGgs$=YiLERW8hWhhWU5pUoa{?RS)@O{5HP6#hkgtp2-DwbBv2L5v zT~D6p;YPS0<;--^1MK+`VN-(>UD9=Y(wu&I+}8d^cnsctOGSDj*Y> z)zYz9d@-~`mLZr!gscWjm)hubx(1$5^+~&p#T;Rx_l}W=b(8Q?DH*z=E~dsbYIFPb z*g;rTIYK#=v87J6ILcyrM9ofQZ80`asz*5upH6e6LE6AYUk;<*pHXxHLAPb#Nnkx} zG;PHys&xUO%G60pyTHSYQLy}an?uT!_k+s~0O^EPHWd#iR zrlJ|<{MqN_XiNbVkgHf80HI?-%T?WB>meDtdm3ax4i1cdA6T9k?D5sWs3aeq+>1J@ z$IZh4BYK((p#}m=AZWvP4`q zy%ez+W9$WC;O`I9+$u|YWtGgnyU3NCen3)S_6`$-033bpW@-93WgbPrg~5Wo~Y#)#lH(!#}#}NNR*Fz_Q-SIhr||^TpX}i`?Ci znHbt}Bv}eW>&&{C32FGu>m|8VdF_EiXLQ$dxj4MQM} zh&2jg@#zpXb^z>g2X;KE5viteTm+uf-$%T!%r+27?du8M4jDLjvD5y84_0v@H94oA#Rj2wVnS(3B0E2ZyD94^$Oa{*#!nK#K zukk(A%(%h*V#*^m?V=H(YYDcw5n~xR%2Kvz4+CjsM^8eqaM&SLm+CF%d*Mf^XK9nd zz(ITxfC!}6k&Y%LAP`>`L1|_n2N!IOB2HX2RtjfvG)c@9wtdyn(M_M+nK&tC8c=3b zlf#6|YFcBF(x||R+k^wGD+042JY;6>x08lU`hyvhwLYG%bXkI;7hxQt1wg6HGcinTb#GL$A6n1R&$ z*Nn7T=A61SRS##d&#?in%Aei)JSoNqmkEI0eA1qNC);?dEmN4N#F?d6FM447b&fSP zd4E5X&IHyQ*;><3XB@~%fER^c8w&o{JQX6?M@(&ajEi@N5~Y^N2aQ47BG-n1i`>Ar zOO|pOOlaU_gYKfcE#oB$_VKJ7t`kACAOl!)wVx3I%2(T9*kqcqC}d<390d%x!!rk#NoHq@&hNWe_6A?b^Tu!lk~J`|vRS7UVC zzzT;ghm#wIGUK**{O&_i3>06NwKUoi% z2Oeub1VeGM0zv@3@&qD`Zf6=hBpGW(#(CSy~vL4s(0j+w`JgT`{lTCV{Hc0M=ra)C>j6rVyBY zs7A8_xGl=1q3K@zE{g+vLGuW^!>u546v5#RJdq={z$R>3KmhHwIle>zAOI#2Y2Jw9 z1W_az5AQ5;5790XC&QfQ2GkR%h8KezWfhr0%cb_gFEu}y3d15 za%5&L*fAO@1U4Y4G-LOMSnY|^s>1S)vj>Yt)0dEiH!n%wZgKEmH9DEw(=0Hz2^(AJ%NPXj}nbP1k&zU zp7n4j-#v1Jtl}*!jP`muF6QT(Z<<+8J$xlIe?36F`Xhr^UJSeI1H&Qlw@RBn0Bq-MWou-s+5S>DLuizo~Mgud1puiUIWuUyr7P>QFf zbtQ3Yq&7K^(ioitvBUEQbq)>DWN*cTuikLH?g1@y02a2PWJ(aBxhDa-_^tz4O%)a_ z1frn6nJ2za_Zf#X>PhZ zx@_T8WmW`=&gD1T)lwCP>9><7N70wMrmE#NOp5^=k{h83pZT$l& zPSaUfc#pTjb*J6WBJMn_S9qF(6$|F|9<7v&{FHRPjBb^;!o#QPtFqlv3Qe+-#ECj~ z`EmeWrjH|6rB9HVVZ6~00RTM=x*-|Z2Lfj3E4S^S#OZ(5oNV+x^-zGxQK{ND8 z|BG{|3(wG{)ODuy#UhB}kz9H{sf#iW_fa^A>rCSWjgjauI+Pj5ZlibWR^R7KX={rJ z!YAZmSq@&vR+FP&g@OVk!RiKCU6M=#Hs++Rh7O80(pWhz5ZG>Zds4 zDBWs7YgKH_VkX`I^mk~o4up^am|WUh1n_ewT%6w1(sYB-$DF*rkaae(uu-fG1eW@1 z$FeZ4G)&_hBo@=MInjM{%(V1aiVn|ZsOFNb_MMmpn@B68x0CoR^Acd2BM^aF2p=a} z>qQF7O+8E*L`jTeCI~mdOz9w$RO6&ih)`M&K*1o<+Lqo{TcNrYl_}b?PpNSRC0mlM=SgTkGv{N7nts&^o=_ z#?I9D!Zm2u9GIYC>yR#mAS=R1VmNJ zFR|^F38msVIS&?H&xRYy!-)MzVOPr#`5^{HflD&!K5|ieeAQ1HZv#=x;l|50XaP## z^KC*Czk1-?!W~7A^}+o=4=DU3N>6)P78zGdIn~D>cl$T$&`#8=t zwJMF=c_N{6Sk}sZS1elOm}b9%p7y2+?>$lH_R$i9W^z4pwRk4T5dKIsb0Xl$RR;zAoKOh@0A*t)%wiQjl=BwL01n zS&W@^S?UEFQIfvIx1F_0lOZvm2-EPn&;kU9fyVupxNQOkXSCgs)U_;{Wn7~9*x`Fc zcocpF?+7#sPuU!)-jBz-bK(2p!D6IC!tPVkWJThJdTD^txyrLrL=1~t;&(#t#W#KQ zh#gX`MJ$D7A@sF_tcoJkQc{)dijTTdNV8vM=`yLt$uBRg?Zdh3>TU&cQC*f_7*s?3 zTt$Jhu4%EbRCWdMSOOU!7t-l=1u2g~xkrG+f2X=EzsM-9h9YGKoYQ@!cxJ5nrAXf8n<5L&&0#}J zt2r?acK^!9GOBb5VHKUSyOD1bb5Gt&$gdTSf2g=!2&rB@!6h_No9FV5_DU}6p6YG@ zBR+(2yV~L(|OPTB{R&9-dpTn+#E->zoz-Hnu4d$v%2FGcJx@+Js}3qv7as7OqJGES0!# z9OJWs$NA5)e3Lr_&$9kyrMa2Z+DQl7(s#9zKsp>r#}u9?Rg&g~XKaJ?vHgKS_H$)x zU=t`Wz4QxHr+zIZ%h4PyW)l%0rAc{niO)(1ldw{}tV{AQ&gNw#nY8a$8!Fs4d7#7b zg2}$&)_*<}7>)qmyQlv6({!qj3cd2XDRM=oE8A_9igV<;{*%c1Mx^iwcA%!Ia^-iEr-FuQ(7xK zMgxZ9n5MSpjla`c+wq!%0659=oZTAORAEO#_+Gv|fBdbHW4DdJgr?iO`UaN<=$}mD zKiC?)k1%Olf9eLyZcE2F9(?ZcL95!yYaG<}u2CH5%rav9JLR_1*zfZygT$Fa97mJ&K(@e@IK`f0S32t*c(Q^rtX?hq!O?H$_$D=O=0DucTh+ zOH}RItGq;qV?*X|3y-*$(jObIM#NWI zPmfFH>$>(!iRzK8EY7*tHTQ#?3|E>?e?T^J7`AS1^T_+E-J@8Y*#!mInt>cqu++KWK+-;O=z zI#c=QVll7#D1o*qY$gffwf`Pg(`DAiW*b6_;Ka&-d_`a*tP=<7Vot(*u1k4ziwC`Y zI!d}agPoK%pIGQ!8FsN)Um_NX`Y$A}ff@)YKIFgwSa`T7xY!v|G#)82r%))0qtq(D z3Hn7tZZS8NclfdlgiPUS6&Ri4vM9-+#e?237nQm?qi5GK_q~kEEt!iSzl(2L1sU+= zk6x0?Z#A8w>#q`q*ZMu`H!s_dvpb#5QQX+$u<%k^+Tz{2XI6Iqw^21APfb32O9p~C zgmF;+<&8wUE!w2lz~uLT#G`(wUwkhg9ekx+a~l4A-sih7{5n4VA7dmc2ixgs3a`N? zRps~;dlujlryT@Sr^H_#@9MyLo&kl%XZb4y&y36M=8H_0ip7|*wEHEl)#466byG3z z6Xe4CV(pLJK4s(d&={w;h4tuGKHW7xek=y+gJtTUy~HQa zIO39zVdoDdCL@NMvJu1oIl8y=LdNSeg2$(gmc!O#$e#=wE~4 z)s4{P^cWexgM%b^p2yB--YJ)XLm=1ykk6=gaT3o z)9NM`)Z48#(>^l#T0SbSntrgP+fDJ=<{;egl>*tDh6=%li)-p&#fQv(p=W4Aey^iOIf+D1MFDm5mLafALd$ZvKsv8P)z= zJexF*<$psbDTqKQGBQ&o_)yUxdvm3?0%!J0X5Ga!w|!JD#z$I4C1%7EmFb3N$9MXR z6lQB{dGFL>JJaf30j~+mfaD}bx;(b8_ zC(~(X)Eefs8FT5ii$PX*OJWO(H#DoGy-7*l*`@5P;>y^k=PI0*H}8sB|A6A$7W!P_ z`h5GLij>rMRjzk`mJB%i-J<7hg;NnNQWfw zjcMt-wK!g1QZ*D3TfYN;b0!4%h%|jE;4UA)H9SFrv&WsOoXpL0xPE4yeKBcAfs+~^ ziBr1#pVRBHRG9kka?O{L#n4e2>f@sJtMr~hTSM)QWs=O^II2>p_lsa?{~)uuL7(#m7hIv>>E#yeU7T%5yqu=VL?8`y2K5>i7A z?ijANkt}+%H>cj0@y%`xRi#ZoFD-LrQFzDfATf>f8E6n=C+iZi4^JS&iKlwVvBQld zEIXNcW}HVkJ>s!)N<_UjCZwz*(c8t1V@C5Zi(7l017=dX1Y!aJ{{yj2Pclzvic$oj z*09ec`%QGMH<0%f>+Vw{f2BUNWOpmMur!)!DazhzaP}g5jz$t;Lm??2m7@2K&c)2t z6UL-e;?p0G0>-LF!gU^_qU9AQHtHcu^-Z15bqcFqS-$y_A8UOqTS5L76m&Yh|(H{t! zACK3NxMre)T#VvB5&J6~B9a^3(S`H~kkA~iBB33#69`(euB)arL`Y=#y4wnTxPDY@ zfN!OHd>%C-D8&%UbYr{MFiBc^95S~O57gLtUDC3m&m5Szd}h?F8#o`|3ZZXD@k+(H z9d*UMBbRR^QSygD)^Db-@BVyB+D&G*Nck~&0>Uvn3pprR39T+${N_W{^`qg-bZ`Js zwxOa*bt#vR)C6)5vSu-Q9lGDBNLP9%x$lMf*g@M(q;01e&5YD#2_A^`4$oK>L5wd; z562IMcU-9@&{TSf#78wE`OpfI%e`7zLj|cgMy2yX{hGC+VQLmul?gIWVV;Q9mC?Xi za=vKEg~6XbsE|DMhw~e#s(c4%?U2N7$Qx8$zAePUIdA**!D{{ySFYeV{^vZP-iyON z>64Uj*iRu^b2rTU4(fb;hZ^WMbwxfE%3Z!|lYC0@_xcVsiEWz8d`dMQo<^2ymGF^k z6@AJ(iFMkOEj?6R;N)#KknO6)2lG^phX#Ns5+O>4C&C9FIqjY$a}&|L?=V&jydong zx_8>Tj~$3qq=T@jpXe(PBB$%#-jgrFlFJL?c=6#Fl|CG^{hZD48xU5R85Ro;^#<@V zmOQv#9=gms?#28WPnq~@ukznQYxLVf*Y%6-Hh70u)@%hd0+YWOjw3^=l0_%>JWsTjb>t$WM;ESB`~O z(o3GnvzzXlEOIUOt61eVlBL(Fb@?6PqdnkWo5Ak>iUCCJuFBA{p?-NOA!JXGRqT3o zY?8_eM9M^|U0VunAc+`Uik+`^Agy?RT7)7zg%xf@_nnCn`8|o$kP=hBvU>LVlgg2V zi|6=*lM~1q6mV&`u3tr)N!73?2LuXrpNKZ4R551yQWcTnz9d8|y|!njQdmqw)w5{G zw&Em!SUW>90C6BaT)ur8hFdaf-NPuuu9`HmIXf&59XU@{Q`JMJnlrDJdMy|9K>W{V z-RHXU?FJ6hH$U93DB?~f-pAU)<)iz{jeuG!?}A#7y%9+&TtJEuHc7IiI}j4~q0QDo zm0h2mp~squfacO(6Q1>V+O4#IjMW#ve)(Y#YtGxmZs4so2k1`%2E*wkCKD9a&dRm3 z%g>*k&B$QubgK_4DmG(1{38T{o}RY0MME!eX?t5=9~$lB<6)02uULCfU(e3Sn4RTt ztnE5k+2MZbqO)fWhC@cFU&MV7VefXG4>xEX%y$!pq%*F0q35Hv1k}!^6 z*H|f1fvp>$!TNn=n{GnNrRUqf{{^wG2ctjj=x(0`a?Bt$H*%8Yzc&1tNB+yF?uwU~ z4WNgA9y$(-RCQ!b5#g?OD9ch%Xw*OnNkuheAPtMRn#{B2CK5qm(;Vbpdx5c(kYo^vSsT0>#w<9Vg4-uiRPkpHlm4QHt5LnI1Qn6z{ekr@{z zk@ev!;>r#YFSG1Uo;^fKslirKdP77aWN!VQ$oh8|qD$Jp3$F&jQ)Z~cJh5)*&EccP z?>5&x*vIntJ-Bgje1|M&iU81VBvn+^die!2e542L%lUoDt{lQadR>I zBiq5>wRc$jGfnHM1Ec-vor8P4udf)k=f(Z7eCZ0S%%b^=tQ$hF!Bn~lLONl=13pFS zCdbg8x=#-IEv(pj@z>tN-*5-9Ee`E8eCQVfvLGnauhbE{@%Pl(^FnyEy`KQN(0CJC z{HQhsDp_+InAPRnVSAVC*MCUSR;cr7^WyJXW!KDC@APphn-svMrW|-G*ll^pvzhz~968YcX{`Dh7qz`>3>SPRmuTOEs|~W6`Uk#M zZZ&>h|Gi}Az_*I+r(*LlKeQ}<_tL~WnJoFWHGl6c7zQqKl{&x1JabatCHxM4UttJa zd8~({ir~iB*mmvG*CRg#K{9){2BhWn9HsIAf(F!)o((VZuXJn9dGzY_1Nr7XIrZ)z zr`=SBPxnuQk>~pE7h_b%E^0lyK%fVJfe}xDDQ?eB#boFr3L{Vh9v$`tYJRU?$60)> zy04kszrBQsFoL$l8o6Pm&}}p$z)O$`y!(4i!@qQ?yevYN4MdccUAlOv`SZ_r(#FUZ zOTAop%TM|*Ik=wTtjqs_WfcZd05E8xho`*PUA*JF>(rd4l)Dxy^Vjv_$vgRj;@cu9 zi331^C{R}Lv#0pT8An{wG0ePkVlsTVE*m!dN3PwwfO((k=^`(Ur;?5tY|&}K&@{PAuNhLknI-Wv5Rk5qqF_9ZZh}27p2=~%DW=dJNlk>fk8o=l2cfeHK5!6 z^x*1XbWMee312-_e*TF$G?H)zZ#Z|8gWB|CJjVUh+0S^ZK3h)RJQM$InK|xHObIX2T^G-gt$Fpsoe!E`oy=18O&eqq~mL1s0$ML%UeHH4iuvY{` zk+kJt1%?Gcr_uRKJ;bfViw-f0fpji56X88Lq8M zY<(cc=0R_0473m8B61xRb6$HWm!^-u&xRS|g6m%rJGZ2>53bC4_Afyx2^6dm5+lO? z?P)$q{C$BqMDD4Z>=6dKg_~z?dVZVr>KcCM)x7-Hqj~9b;wkFk)70dpM_c#X zr0tk)k|fSwHh`Ac$sXMR@|-=1-NeTQ5M3G6%S$&e$**f)D^ z^Gen8=GK8~$k7Che?(+M)3~&pW39V*&i5x8zb4CSvS&l{cph6)JdqjRW6AzhZI$of zyN`SZVxEjrR|c17$del?s2}Z;olJ6ExiCF#;A&!fjA@r5fEBqLmAp*`68i|SRN;}x z)LxZ6QF-d z6DNEk{PQflqfgizvVXnNCF$;KCU>o5Gm&ke!wZRb;9;84#|4LO!IcD&=e9+047n7c zxhx2|z*JRRsG{6=HVXJMloh159-V{!hvk1JQQwe>s5GmJ6_xY$p-iwNuO)P_R`IL< zK%RON(3kPRvoha9o_^oIZ{p*@2H8)ZYC+VbIVE!FhdjHVvzbGy43MFRa0B0>N9IuW zMUIAi4KI1l{lMPK-+oUfBd5z%@X=rM?fx>uhBlhuBS7>No8@xLd1S-J6IC@|IM&~? zXAw@WDEnfT@*zKm^mg>bhKkdW*YrTDL`D3X?z25N zoTG4~2IDnEbk5A;4g_k}BYk_i=4g8#(M?FjvwBPLFK-f4o}GP2)F`bD=t`7Utyg?e zgO=MyokeaO!MI+rK6UV~y7mqtDb~)eyu5a4n?HQy zTmk=OeVOdLTkC-eCLVZ?uzL+Rh1^5$lkAs1i;|b&Y8t+A zU(wLDemS+5g>tSiAwJ(85J~da$vLjTmeql{z*?Cetta z?x!bM)Z?S9MBp*Ps>P{YW4&{++`GD}FmOONy?s><7ad2n zcv50g5P4t^iq|CZG`Ymow!w+IIH@8%dYjE**D$meAA>aal7OY<_*9cNNUqd)ZZ^1g;Dr}|8L!W>ZSfhIpPJ?6GeY~mZ(m6KT8IOE-;2Ia^6%IIrk$;8hQge%Y?lwM2R~v*tp*sd@*N~Vs z-V0?7iLZwW)5DY9@st#F=92O;#@n=}`S9Jt6hk;}S-^s!9RFdUx+s9*NT6&*yV@^S z7*jNs8zJ_O&8rkD&o!Xhl7_gJt90rYYL5~E1F&Sj$)xrB@b`QURLD?Ts&NlK1)vaT=cy|0eGVY}U=n|AxGWDu`93nQON6 ziHtH#tK@0MW+QiQ3s}lL*!5TG@UnKFUpy%BA%vTgo&@4wTh;hy*5-l{Kd>(L*W_C; zpReh-W;cL^)WU(I~OM#~#E+jTKqOgU09;$Ji z*1{PBcHRFILqct3Y>i9eBpp0hyK>Y`@>nOSj~gSNdmFF=u0M6{FCrJ(seBNSC)&)5qQsd z+H#Btj;QS<0CfnWb_d({XRPI&B$5ChIQW%PaJ^!~fcK^2%5*OQwwg@ae!n`!HH{d) z=3$BUOB+`Hb6Xz5L6^)uxi!G}cv96aDt_e4scU)mRl4z2|I> zxd9br%t*%Pbs{n%^Bdji#?fO3DhQdflgYafgN~eHDGAC{yUT1t9q71U>Sw}Y>MQ-F z0Or!sF%=O5p(k9fRIK(t-NIM+`b2K_rI=H%gFW4+bhtq|AJ@k!_#CiGXlLxMM}B@R z6}>Xq7Hsuo8f5VyEU^zCLy1fAG4+K{jWrk3QPtzr7S7C`Z3h^63>V2{2>2g{{=G*0 z9a(6{)_6i^D>2^hoA8W`_O`gV_V!Cs%*YmYy;h{*PeLIC({@L@bKAdrdIdy*PZ7u~ zHCXeNm*!N~Q9+y-4}Hd6e~;+9h5>yCNE~@X2n9Do-_fV`Kn#eeWMcMi7d#jE`L*)A_ZXWXJw5##sNNw zY5me=&F+yU;+$n+Uutd}wTi(ap$1_k;Z}&q`+T{WifwJcVNcDz2>-mZ7mclML}RIB z>hJ`KGBDz~aEeAgIzgw<@*Z|)F|!}VLJcs&8KdEC-_MLBWLbie3aRTLF_$Q8o`}pj z@C}V);K1UjUP0m9HKS(qhfb9JSft-W0&q=Pa-@ff%Et6r0&4$e3tb;9VKdG?&Z0Z_ zDo>2(-&W}o-81yXULG>_eXZ`>^2UspH~aE7aN0MVpmVO6zT*ONwKlzB<4(gYxOVb(Z4Bk zT!Dk4c^z*ItR95m+EKS-)m2>^{dzCwu*jXCdELE;H*rud{n{VRZ?M6(Naz8*9Yznc z2TV}NZjQG?^3=OJ>Bv-R+F5*;luUA;7>r_$Xd4PJrYY=~NW`q0515HCq1>_UCukh& z4E0>m8xmaS)}?Dy%@iC{|HZ2vW7X*Uf( zLKFb&)@T6pAJ8%1l$R7`?K8b+zZ##Hv@n*i_>)##ahiu z*BSoq0*j++%HJfT=um`i60G}omp$ap82|=PK+66lhnwCrGd*qQji}-sO7eYs&JLAJ z1|Br>1smJS%u>{zhxhCbbD?~fU%5i)di`hQrPsP}QbFH>zwq-bTY}d7h_y^KN!ha( zHGs|Nx@Ay#u17K^aB`0{DD}>X+n406)OCS^C~LfR)DBG`herOqxnPHu^n8Cx|NT&` z6FxXRv_g^&HkDcZ@e1FlIFaPNJ&TO#@_9{wdmNs%2Aq;mnH5ga>c|vE75E-m zbAS|Wj=`gZg0M35WT;C$!FIHrh3pdyAxq8ij#?E*VKyMLldM$N7X zV;s49_tQUFf|E0ez(u5XU382N#UiEFqmx|oBhA@~6f#M_Cn%y2tMLo45%{xxmBgqb z3k+9_PayCLU}P_8fSDbU#fisK()XjOVxlnMgLP6%s+*Ds9NL(WgV%V|Z1_(#K54kv z!kyIUu^iDxg8NWCL{e3Uoh*yrZ@-o#T$@$ZoQuc1qZ+S+rFqKQFV0IMv$SE?jIl9I zv37}D}(5H)d$HzpYu-uML@d0^IVmV@aj=4zgot{l&GkA zc7L+HnK=+kzKAt*Rt;i8l(MhAM$)t!H+eR(*o~8V+JzxF>MfT(jlO8(fvPI)!&a}B z+O6>cRaV-AhQSxT+@qo^|ECzgEpNt*Uy!@I02pLqUdW4ZC$|5L7rj&UQW zdKR9im0mS932#5^`Rnxae8KHBljQ32rV9X@OK5LXyzOR!bSPjyIAF5Z+tjcg!MC*l z!oLPoIzp^Ji2Hb+<}pVdxY^K)2MeA7gclBzi&Uf?jBB+!;?66C1H$QweJQ%xzFifE zq+gaO?)6hmWM@39fpwxcF~w3Vj%-Qe;OnXrMbc|ZUO{8NcyCn3Ik8$jAree$xCzIn z(t+S9!lQT&HP_!~4d!q=;Xd{ob}d)Wj=N_U03IJFy3EDY@YGB3z^!GWFSY0#eS2-f zN_-o8=FElu2OKt{ogkYk;WNqN=%F-o8$EGH$RK%P6?Z{N3U1eDcgCew&gC+%DEl=N zH*`aO$5M7%cnQKddAqFSvs>25D@tv0ZA-Fdke^lB9FrJCsjRyAbX*pzB2XWc7j~*& zeA1k+d3k>gAPU#(|M556d>h*%dvK^yc}Om~AJTi{V?lF*_$hd>ii z7-&b-dxiGY@AjSiUGQPD&AG4ZY7RJXi@(bQm^1Rqi_E|N$s2H*m1Q%M_IVpCa^x(O zb-SqO8jA(%Sx?Wua&0%%gH`+I)YR{QA%;89SS|o8#&|4s$z2n{VIQ z27`h3DvO0&msB~EA{OibHgzs)nnKN24G1pA>@wYnjx4q?Xb|B^csgxYqWW1z1LyE0b zB??0ze4?x5a`xP;vW!yaWe|1SN!spc*G*-&vC*yUvW$+eVB6fo+!^k%?#r{MI^oC1jlRI?#d4rbPmjKAgpWJGp2DRT+tcm-}rzTH?@ zyxgY4d}iC2v)q>tJAGT2W&Mxf;E`T~`DhL2&_~;steB(wylUtSI?#z=wNXK)e0nY_ zYejP^``M{jjTW!sIL1$X!L{4<6+o3oP02FKbbWa~m_)~CGpI6dfs6>fVLew{rnx?j z)Zf2KC~+ukOl%DK{bTlr=UFMoN9be#rwdR==_0j}nr1(R{=1;2NB{3{%Q?X&VZZ1L z|C}>_{MhC^1A{peRCfNyz#`$f$o<}lT#T2>jjs+?iwY%ndjhnjy9-2Gc!-J67x!ut^zyStSHr}@lT^q{GnOwTG=H6A#Ebs@8HRA>3X9#1FiQZKbxh}G;gvX3y zkoEMbRX&DrW8xt`y`r@;M13OtIjw;&NSo50JZN3-7gx^yoQ~PYunQ;1L*?#S{B6W- z3PL*cx)zwwo{NTiKD&{1>x2bp*c$499L^rw)OlGT{|Ca>Xg@ZCw|0^(aYk+I`nVY3p!0ZE9_#jU>z9z3 zNBPVLrq0;2MG7{Xo>e(wFFM8rpk3TxGK0rWL2Egt%b7FS=BD4VX{hxf=-LJO5pU|S zb@3Rdo&VH9%5L_e2l66CjMSCQ*C)3?3KiA(3{LEGXmKK+CHl4Hr!PDY3VJJEhDbmM za%@qqZqcMoU!TGzrG%Ylz{d94zDWcJKtZMq{_slPaQet&*+6W7w14=d?rU<2iInoPr2x zE(_(!eIQ}VB9K(jkP#oJtG#?X6{#ne#h9YeR#s8DqzZg}$|(0%Eswy+j7IaH*xZF` z4ADSY?kpo4wNAI*CgGiVC#1FWG1{mHjr~#n7@Enw|5|u`Qpm~Sntdz z>%fWYNnV$Cw{=|}<~q+`WFNS65LoH9$GwjGJkL)qMge=+K^RnO?-*xPFVvI2D89E` zoZR1^Wi$k%s2LH_Y5Dq>&=5oi*n;?KI!f3@Cykx;wV1Ys9tMZUxskbj4DH+^wY|g65c4c)TNpi4Rk|G+vCIbKF_o;XO zYIve-iKNyKfXV-r24S>SL70SEH~)sZLy*wA2LBh4S1MZ+9e#*&8=}x9)d470_NNSV z&3+ExgfLq0I`7orD{zuQ<*V@O4?~vk-#b^D(mRb#VfXm*_`h7Ye6M&3G5wWwr$hZz zRcp7{=F4ik&S_g}ELB~z<^*uckGqtBKX+lRDyYktlv}L{Jo}Bx)n|d55=u20ZKDiFh&}jU#0EYgO4fQ;YQO zwI1MK-0C7nnC0%QJ2AD#jX3FDh#oN4MMicv{2f&^=o-<{vM#{_BuL-9ylhsbPiihE zRoJcfBcpQ2LRrHZve|rwENc+9^$K#Y-OiiZA$@K z_u;}J6f4(fLSIW=={FcM`qIhwtLmvMy}GnWWuH9qWJ?ZozF(XwE0jSOT8xmBeW?I$ z;y1ESuPnhEn&j7-ci~yuFxfk9V{Fe)v3=A4@-PmFi@c;vUzID{x=0N;p+c15%O?l} zH>0?(F<$XbWK1x-3yQ3dClESYM%3J)icfb9o#!!t5;&NO&Lzfq{J5J+aKt&p*^z78 zREd&ld566lfuVjxY+tRVQZp08en~`r$S0}h(B60#5;lm~8G_YB)72T6E!K9r_?VJ7 zSziO-#xkUDL5u3K+tRb-CDY$hcufC@%Y@+GaBz5U^oH=`sp5FqKRM%mXtg6$ypPDj ztDr!U2lH}>v3YpMxc@cn{+0a}JuO;d@QF=S`n;L7&lunKS)A0DK*AJV+<`tHbXjT9RA$hOAYD;t`Uv8ZEP*y3sGz?b~O-f0%*yvRtxR#(E z?i`P-H)pctJt9MVj!&!#!_LpFf2!*ekw`^Ug*u-~B4vw!8aR@TkULE24UliK85Cb5 z8<`vWM1bBzWz#*}svSSX6iPdYHQxB75A9aF*B-Pd?S=MId-n?mc!0R~%l7$r26;5f z9KHV!%=ltT3Zmh=Vf~JRkA5`gnot>o?F*cq{~xz#{fBV9-5;A*{&jz=W9l1XYoq?N zU)l||9_1wY0y!$lQ?Q|sq9QWAUCu@6apGc0hCdgdOmeW{SG!L`lbOxa? zUAi1c(;2WN5fnv1;yqN~UG+~svo}qTR=RNL;VYn|mMi0Q)mMiiadCHXEj7zIST_)r zNYnj!_@p`I?}k{>Z(?t>h7LF@ETDh^j#Q~a5gcC{sHz{WsDk`3AXsZ%ka)6{2T5j} zX-tmTQOG=LOp4;s&o-(f{)*k9W}NLAc()Z?$c|W>YWv#Vu&0dQ{st&kudV7JL%FPm zV^zbI2B;1RYk{YPP9H`8is`4@&u0fPzoG{U6L(4j7u~Wom+WO;H6Dfb0@mgvk0P&H z0$p=)PkZ2^lN4<=pmE0>^#lCT03uagcspwF%@3S4f``HNJQqB-4%>Ao`PIj>0QKF# zYVi1>w$*mE!Y*XpsDc-wn=6H_nb)3a&$U-a2fomHPlWh>Njfl0@g4@Tuav1B)4IE` z|9`v{_9>KhOto#Fsw8LMwlMBK@}*~gsw;uMS4Z`^cg^v6&5UzfKV_%3s}J8k1;oEn zbVbC}5It~`$b*>3EA$GcGw9JvDAqU?peO zycBFk6m8Fo9E170lDs6YDKNm6<;!xgeEDs>>(ftL-(`WX37(Ad=F@q)@33zlsRvJN z3HI8ct+lPT>j$f}?xti%2NbL9RUsm6ScOc(pBU#W8ww=SjV3V&#>YACsoS6G>VY;; z9IZ)SINR1QAy-w#(&*K(lq!jWTu~W4vD>P?{;RgHqFSr%^EbI-OB){bH=l2B+iEM8 z+m`VU(*V&(;<$4ewGG96Qy5t5PAVCU6b$MZTu?V_f1?x*LN(g{>RdOLf*^R;~oGDSt>j)B0 zpsOa&GNDavBanlqqra2Yw?psC3$#aZ(+@UA*Epjm?RIDEKer0^p?mr_{#bPFw#wjh zwt|lgZ>4KCer|-m$m^jaWxN1-Uod}GDQ&U>j)=wxm;mn= zcb|O}$5bk>Es4ulb@{XC7AH$&2F%}>;Li8b5F!UIkdms|ENl+e8&K6qmlt`77~eQL z(e=}|OQ$Asb)0nhySo*d{p;N#yoH>JuEFLj^L?0vrC-jymA#y1b*TH4wV?LG09&Yt zgqUuJB7W9S#vfn2yu=_bv12DLKX{qpRv{`xA)363?oBfxk=M~fFc@w9`9Og7OgMGw z&H>D)b1N zmut0fk2+2q4xLuuYUW52WjQDM|0Cxb)&#?IF@LpYucfilma{L2cRt&BV)5Ca&|x~S zsXqS2pcXEc7h3@PDxNK`^3ukJ?%AXttX+EPKrF+Ub@T40+z-}1ou;&bHm6LG2k{x2 zfs}76SH&82plnP`zA5f;dHpFet0yguzVKLaJ)owXNhzU;x}}bAABC;>=zBmZST}+~ z26MXo#AZJK-7V)L^XEjF_6IIsZ;`}mb-~&2PAHMpBA3&TK9<#Sw&~8}N1CammK4a) zyP^HI$1oz);Wa(z<{}j)LlcyPjzjh!!DksWry|~t8yIEL$*6O;Gzn5IZE28!BRFA@ zU{taA-PMAeAmM`?mGE^BN53Uq`=$+$+O(E^F?X%3EjC|dqJhbnu@pBIxfip^?&t1t zQM`FbQZ4Qpy!Q5K-iC@#SEQFT>4jr)*O0SPyxZNx3GA;*2^ct+WOu^Tudh_>+gIp6 zs2BPVPVj9m1^BgAiUayN4&>OG=rLkU@63Kl(o4tUBH!LpfnU#r*zSa@Z%>)rr$a|< zRa9pnuB&wU#1q-kukOX<@lyf`scHGZSqQ6OC zH!Wv>2_0V#b~jQ68;rL8eBwZMfJ$`7fAGl1pbhB{J?lAp@YLG4Zc=ijJ=30RuPTAN zc^*1I2yj?Ne=r3(Dt`n&&I5)clvm-^;CP>l_YI9(LSuz4SUju-m*8mMhWeZT{Ij?! zK0Y>fYe%eSJu`BSo!0?tX(cq8KM6bantyoRhZ-Vx2E51WtXTL@i4DQ|9QHmI9G2p?}qw!V025 zf7K2OR90afqL4+-{`UP5_566}&Ij|G8ur;YG-=6@Ozd5+ zr8Xec;anyRzgK32$Bv*;3q+X3^Z|5p2B{5s6+KEv$d4EQTlZ#eGytL{vU?UjSDEcp z-3#k|ew?W0nqx6X2VOs*T?hPV`?H#FE_TX5j%gDpJw|d;U&5A^;Ll{V6@7d^(A-eC zvWj0m4L!y0-gj+^vOEy9UhizkTwbp1%)KQyE;n>$USBQ-WX>e6G+bZCsM$l0bgk<< zIwj`Qir{Rme~V0sU+PLb%`S?jr+GK!8YriG)%w`t2z>>kdQW1cYh&M$X`wL6GJ7s! zzjta=PcxHL(!VgS!*myrJIlJ~C$zEMMHCjPnQ7?VpF-)Gy8u3I+_T|=ruoT@K&`ac z+`(tLC#k)11X#MG|M#k=*WaMX;soLa)SuiK{_gPp4o=7Z;pKv7MweE(24^P^KB#*?b@yG3gJ1plB{7&ejB@TU&Qs(Xp1sA^U_T2-}#`D4#xanak!f)_hDk? zZq(pxEI*JE$aNRssKzsrtaDMs=Gqh~ZY1qmkd-)fJ~5(d=lFc9V!ts~#kzvui`l4G3N!-32BY$mor#iT@>$Uw15mqk<$g&I8kRjYAsxyh6`C zIxJFpIj`t#KML!=(+@k!Jd1ZLx!l3y6qBWXkpaB@ja2DS5NZbt3`XC4ml#R4e`2#7 zgQ9mv=X+6Ho0EANLWGY(Oq|2`TPq_Y3bQaU)&L^KNkf_x@zYc2@y#RL&cFUk-^pv# zJn|xyoF4CuN_S2TX-B0jYeL0{Z%`3Jr-rLDFmP7U<9{f_BDVuE9KvC=;q-aV|LU$x zLSYx4eUor`9D4E25h(clt=Rf*5qVrDBagKSKY>QpjNc%bJ$|g_GqU?)a8j5Fe?q!bx zTlu;7#;boi=pn567}F8EF0~^%keaLr0CzJ2Duv|0=#IE`DIGDurFHUA7Jon~8cE)I}Vpcnt1gxjl^;Q?3;5Vt$;ai>e)zb_4l8DWXjgKI>Tw!M9egibVWA%C)?90inT;IDzpALj! z^v+T*HXaE5ZUn_Boj}v~pk$?EXc`j3t6Rcw$rx_!8Eg{ZYCTYDZ4$yNc~m-ydH~T7 z1-UOK4{%Q!DQP@DRM(zSAX8-Iw}DmMb~6!hFX@`P2u65d4;WjHna;`p_>XM^lj4vm z$S`kSlrlG@OdEgxL;~9c#Bkom1Y$ih963TvXaIb_+a!zIEyxTDP7ez9s2JaxWVe6A zYj=c%1meep$EW24K$F4VnN6^MD-DM8i zT;jS?t+Oc)-9v%|@`J!{>p~OAKHP9$ioA$L@U!=kh<$Sh5P|>4xTSm#k+cAb-;Tig z!5MuPv4FR%o)?OS70oH9Q($1}uu z15%@@b%(WC;@ix6rr{$wk!qTPG0YnsV6GpL6v5w1`st`Z^mijZa78X7*B71&<#wKi z@dZ{Kb@n1GDfL(?&vx1pQ&%EW@!Wv6J+&Y?SsvwwtC;N#hvzr8EhIKBGUc2HI4n&J zl4t4Ap>eJHrh7ujSmBCnEwEEZ45t}+$Slxby9R=+cRWnZ&tviwQ}OH|;61jBXz3=rG8{og?*O|M+ZSHbSEKI7Wf!)b4*dZ}P=ni!I3dHQC zI}hDX%p&#;6=ZXZTU+SSOjp|`F3AyP!?s#c;ksN=uGVv52Uu{+zt%7W3Wvt1pJdkU z!l65|Wo*ms+er#;;~n!K$ZXB+i9AsXCf8wDoj7D3u}+y`u=lE0fHOA^{c(_GbSKUF z%!AXeJJ9VrYDL1`dFb};Hjmf(w!B)p>2R{7j#;(EiF86u#8#`2P$$yk$nwq9N!Fg!MNVEDH~U?1loHwstb` ze`y=*L9LDj$F4?M_4YU>+gMxLT+;7A?-bgd&#SZebkEuVfnq_H2#<$;V0^XDjN!6A zv`FyP!j8>+&oX-<3p)JkkM9(W(n+_f11p}Jmum3c%)-~G%Oeq_J|;Y-zA8Mlj#)do zWOWcLL=KZ+*tH)!ayZ|UAOT=wbT3Bi?T@{b4QL2d>C^eRvh7(?5RKeNp z$3N^XB?b%Y&%XnUmmi{RisW3xBVZmCb!DJr4a%|i2N}b9OST+yaAl@5QRu_I>pipB zK56vGpeJ?$9Z>U3V~y#Sg%8J<{mk5}TM*uh+6Ijiu?wzSLB}Qh7!d_}qMh5sw+Stz zcDiaBd7SD!iD7%}YchO;QX@4D68M@K^Y!$Ret=#jYAZmu^uAw|XvonEf8SiY(8S#*2jiAo`JhPlv zOSr>Hrz*Rz*n<-q*Pj9h6#P|YWOx-V3wBb`+dk3IP)lX9FK zLkni>rD-9wAs5PadDZ=q+*mhD{J})njt;vrovQa{h0w5QiHlg(DG-;rWnSTr170LRikdBN{E%OT;F`9FdCZ)yue=- zPz^Ofhqq2gT>)P+7x4#8;Y`ukLF~Z(LC}?uOw1J`&}84=48EouG)u)`FLq6*LEDtn z179Q1RUePF*Wwd7PL7dRWOysbuK#*wSVvS1*-QP1!V zLX9*5@%Szib%BUA<#EvnG??zmhJ-4o86Q<=w(~;?WE!Da8Ouj}MYMBmsiykb&~?7m zd|!ON2G#gdp=#NoxpAm^vTIPK@X~bdN%#txuKlr+&c6t< zjnH+}>ib5={6x_qD)lF-s)b5@wNbx;4_`C0xn4UZ2S}Io^1<4jD&H-qr+kS~FRBp! zrfq~{x$`-8(VWo!kLrvc6tg-P6dGq_Bv}gMU9!2$wU?ii&9d+PPfWY9Zc5$gg;CXD zwqBZzO=YR9mXm4H?%LWsfBm7PNaUGpaC%#|2wwIxA42 zEF+txN~)NyovCf>+?Np9nz{Bo$@=M*-PAi_}zL*NQWQeW!+sp-9-f~k zl~05}uW~-PxnV!>vS-;6`i8Pb_7l45Q2G7y1?zeVzre$Yre&{muUXLSXelcN7CA64 z!J|M^Rnb(u{GR9hiRc^9d%X1mADi(!KffTjjOMY>xi`qjE>a~`P~QxH$=CdXN{^@k z^fKeLc%wR9v*nPcNt33jnF>@%-GraU!q?1j+%~D+c)YSin<>0)=^_uRwQPRNLdKsa z7_@s?k>@c~NyGAs0eDA^D#mi@#(~JUL)q z(X~&**e4>1kTU$ndKA{9ch@33J!u%TrSX*os+1$nEvSJzqo~7Jc>8-f7kQUrdYI1c zxk2Tjv@ER>ZMf>dWjX9Y4+71=-AwV5X^b(rnmpww$-}JmI^OEGz6VSxd$D zlK7*2zuT4medZ4a1oWrsLhs%?;Jx=E{k4?dkK<4LM>cpr=^6=3t{RYi>6mltkfUe1|Mpqtb-h?8=gwF?lF@?6xK3vH6Al?Uom$ z{QF5{XeYxTvPb$PYbOMa8uPmc5=F_F-dH}?}~;7pw5V8aU^{0JZig?`aV z(VrCM?AG5JE_L@7|9_=c@BE*(<#-2t@4`BDPi$T5)3)}n-ekVB-lzTT|L^_Q^-u1n zp2hB+<{6XNgO`39uKfNvg8LFa4zK=tmnz#I?635DZ1?PD_Ls zH%R0v!rOikm8H6fRYCjGmSlY^Poe_paL<#RG(I&vZ$MVR)-`p)^TN*r2R1S6rSxFcIC`*{VLr?WWQ%@tgo9-8vH8uQxR}=m4INI`igqp>dX~v1#_wz`^zJ%aLMxDh>zRd zV}02pQHdl17=Q%~T#@Z96f89%zvP?cW1H}fk@&48G|f_$~EremKqbn z(?1k)A{=N@US(G$+{xy1W_MRGwzx|MW-v@4;|BsbwmjZ~O~%ZAc*iKi0tb_YLKV^S z5{HkF-}Q@uNPP|O5fsHed`tC~ly03{GzNiFyEZ!1LNaHl@fK@X%Rd-=X)0{p*C>>6 zhj7U4y#oITO3J+BcnP8rl_R%FnXKd30XLb|$#n3R6YLVyxqW)s>HST?0ygLuh_gwG z$v{xjVgpAqcU)5F(z|USg;p9$o~I8CmQ2W<>7lYHhxj;%|9Mb7I{=%8&O zP?jPtSrB^EKQhbzciW4YorQD!P#j~jh5LvM7pqi(10I$qkXMb|9RfE%VeGy>*imk1 z_EsQFaG!olDg?5L|DvpWO1QL=VgB*4;)HuKMRf{Jr7$I7kQOtAaD&JPwN+StcM}Rr zzOXK&NKMUwlh_&3l!FT>1~xoTG2nP2mAQ-)EbxFVqu+N)$n#5@7uy9>rWJm@a{4aS zE#OpthwOqyF;o-zXww;LfRT`^>nc-F2A6o|Kr-g@ck7r?6 zl3id@dAF%HWB0cv7i{ES>`@R|kTUs4z9YzRI_g*8W~*z+Y4@IClU1;}UJg|QZ>T1P z9pfXkqE{zBk@1pZ0bE6Eo+hbJGVn}pv8vOQ28qYH4t2%QuZ z0T43%vNKc6BOob3tS3QOl2|*3Cm*Jpgx?665LCzL0-P{HCj~kHLZ)9fH>EOy!ayPQ zlVBmq7dnSGFibZ|x)CzZP#vQSa6*Sp3UmO3Out;UAaGcO%|0kOwSAI9FBwke()lGa zTAv0>DD+gsa8bdl9xa<C8WaZwQE z2CkLof)aRiDWt|$jw$O{o20lmhrNC(>!dSQRZGptn3~o84I#)2rITPL<%SLI%i-jY z9k;5-^SGVXcLIMV`%ny)oZ4L}W~koAwiul%sPv!c3mdv!%+FE%K49IwZ80i(vhML- zkj1WDc;+RDAxNy9@LgY3A=z`gC~h$D^Q4M+ z2Ri@B*$J}=turL1gWYHn1cwJcZsb#b$qNxf{IcJd=LqE>2w*J(KvJPw1VPXP006cC z)D%#EgPsFA06ZTI0JA*UNU-Z;pNRdY;IhH(3Z4o+4Z;M;Kwv@0X4`gG#j)baZ2JU(7Di) z#N&uRBYpwH1fxTOn1mus8q5I94T;Aj4qz!@)nFgM8N=1WKSC%+SV6=?lp%#gN|01I z={d4nq6<;BpsG!^ids6g3F?T{1*wNo@1lN6^PCnNEhAcW7)cn< zG0rjRFjZ;i(jKP+L5Gcw9-U%3OLQ^l3emNu`_6R#0P{65e}tYB=y?UbOY}aB-rv!8 zefmB{|7rBUidC;+XaR;E#L!=`+#bt!*szl=N3!E%?7k(V6Bymi=-(N;J7d4%;7vLB z6~-^(=+PW~CdU$v?c&(4IKG|Z@8HBTCmz9xUvcufoPHe_9?PXWa^+yIJeDhe;p&aK z`Vpq6Tq|>(#`OT#SIiihY4SCPuVdVR18z9DG2!MRH{0BjaI4I18n*-7UUA35oepc?m4v3oH-d%6Y)bkHFKzfYkwfb{_ERN8t4&fH@cjFb9_b2fqT&!vNaE2vp`keV;2^ZEcB~!|2V=)_B zrEL{sD<88FHG9qm($Ata&qtLZ~D!Yz@I@|mHt*_p$1N8KMek+?n>xMqu z#Qxvc8KXZjb8>UHcMj({D*$)U>hacopOC$a>-g9>I6Cz6N5Z5Iy_g&6Pq^O6-rVm9 z2PQwSHz*h=?%ZbPMtaYd4CVFPzO6%c%4lCjH^Sfmqm4`%2lue(cle6g$y(2TXqWnX zXO}(Q#qkC%(~p<=4hot=drMe9`XeI8#UzSvc8mBV{iG|%%9WGt30fXOVT)4uSgLi^ zws~Rf^=%F3G!6JDXytV5@?%iH>HYOS^{U@njGi-j%#3W|S2(9`P3XSy6L)j@{XM)d zCz#$Nzr+M=fR6OUz?Ho_xcFMj4DoQ=Ag`PR>1EPMvQhHmlo{Lhjkvu7k0$iu48CLZ z6cZCO8PYQ>HEg;ad*?lFqnn)hw~G(#a%-=+Iz9K$m)Ao@+j(aM4lFp{GeS&@P;?nO ziS&rJiLDTaTYO?d2~N9tu11N*Qro4O$S{Ah@rW%i&a?KX^kDU=Jnf~x+l8mGpO1RK zol4EM{3KGx{klG^w`~Y9@_XYC-jvyW=AVAJ!oQpF!oS22^hgu}(?RAz`1i<9QaoVm zZ4c3Qtf6V6eIH$^-M`wq&;D25e>Jqjp+6iws9h0p9OZH!kAab;mu_l4 z^Ll5#*6x^}tj!A?@5q9NdS?{VUDK&iSGRk#p59w%px4kRMU9COxxw8X%tbUJl_=+! z$C;iEC@@oOp`3_q;kAo;-ag#knSI>xEuZx7mmco#Nm@HP2mE}{;8DY;jPs`Z&E9XR ze%v`dLh$R>SM>@ZZ^N4C)V}{Ep4w2zsl73jbx*bf`qE*B-Hc9?zHzeAb_}2F333_= zS8Qu*pG_sybK7QX=TsH9t!ZkjY3l8op?4P}AG7CJ$XRJwXV{!^Y}Cp1&L*9oba{^} z2~HZW`8)=AC;6oKJ%ef&%86VfhP_yoONzfZx7v5zq};`$k5ab;d$;lK#JNk8%$KF( zF-`&UN|mv&czdC9Npbe_Trc-Z=@<>|wMDsm10T8e)fttudg#1rTZ7?cC(?LH(|dfl z;0vIc(>APQP$%sN;HP~(2k!aW>-}E7^}VNa>j&;-sq#T#=d0SX7XM$e>Wes@NtV@!1>zR3jB{ISk-%5ugUrli2#IH zh+QORk!qau^X(b-%08XUpzA0zS?G57Ws}?7&m#o7gZz;x^!C;^S?`8sDBWd?ddk<8 zv310@F{(SMeSm1+cFAq&uc@bcVLLqc*w1TCO@mJQqs>CQhwfAMe#K;ugAd(dCzH);V?o&^;x^3HV!I@uC34)GkwKEZQ4U=Pvj;DMNQZnX#t&+j z*coxn!^PaD{vKZ5`4L>Mwa1I6-?si8k;Y3eKj+3sJvLy8i*#Yt$6i2C^Pix-|x=jo~TA2(ZBax|3&Rcmjg$9b)N(jn~ zl((oNscF&x|7l`r%hgq6fMe9jRPJ-69ZxaO{mI>RstFE048++&tl=y_G}+*Vm8D1< z-~bcyA#DDFMuFFNTx=*9Ady3rxQs-BV-jCP<9;E=?>9E9M)=!g692V46JOM42v3S%CIRP)HN!29Gsm|Rem}A8vBRmYU>Se{D_+yusZlrnv~4o+bMXPK4;h7M-n*ULu_6rc)6PnDirc>`D+wQML`N` znOZnnGZbF4P^6kIt?#cyoBQ?*Y6W}(kGE>?wB7l|PDIP~vUY7A7{AHN#iZ3@wrL&t zdAYHGh2^f^p+Le`8y{bV19n^8z0_rna;~|MBR9?Ap4_KT4PNar@(%}|e$mJI+|JOm z!A?_z1?UmM0yoczRS_E_;Xs0DE?i)tRsb(+x9MC4G;bsQ7W%$u`AtRCt@DW_Q zL>_TEwVlFle9?|Fqg3&mrLG?$4i0t}2rU~Yj2jLozZX(8yiQxdq4hiuVXa!T-dN`L z$0&*llbE|{_uJR67QI;`=k-R}@7)ZbG=C3i1G2eqlOzn!_FYp{hf?Bwj81pV6iv?1 z5P)QuSsyBhi_9cT*-7dG1iMK>$QZRQQc+8dJxZV4Y-%O_qd(QY4Tr7bA~EOP!<#4! zqaavte)tqNeV+xuzB~1z2QK)~wbrf9yfdFTO~||J#l$WUwFf|uM4F!tY*zs%;RKLo zO|t1j$WcX!9@e+nr|_b0;`^+joBrND?rwLxPafB)|Ki{<+WZy3r6id zIqX-{N}v^srFPeML6S#1UMxwHW{zq8#xSEo-2sOn@RsXetyUyI-Qdo-5G@f16iWkE zx<J$@|3-@fM=uK_v!jS%F5&A>NQV3Tu>1q(cw4oPo%_ zmlS4^UmKH$FfLb@Ge~FP%PG&)$Ji2N9&`pF(wBe(#BeUD8^mlFC$SR*W0dq9YCtgC zs1^a-Ycm6)Y`ID{n38UCEVi)~=2Ay+*Ga_Q$JC`>HumvoOdkVHc-S$;rhNRX(gDwpXT6aJRDvl1;ZJdYXxCVUdl5+7jfb+8a`ql z8Uir{_S#s{pwn}7IkR>W*-cKJIZfkQtT-F$x$Y%uRMTrs($C$*UrA~S5;2aMA)(Ku zV2{qy2PgL?QE0U0rJCpd}j z)sh#$^aFSXPhkOAxQ>JjRw?g(^!$d!ci}h@?@_`^xi%Fbfz2R81k}NNgj^4R4#dIl zb6kU(b*kN8hj|DXO6{L*CFbgCWwV#n^Di(URe&b(dyg5~XtJa)W1pvtOou;iS+avfN`d)M!pCN-FM})-ZbV78S^=g|f1Os(#sYGyUU- zxt#6){T1=|LJ(;NM9{%>0XeBD#g(vqVRu%F$i?+G>t4_Q$c^_Y#t6YH1L4De-^jLx@P zELaSew9rzW(H)EKeO>X<$|WJkfb7~x)4C%O`)*WkqEwt%^AZr7eNE$So5Omv#2hAEbqk{*UB#hU+ke zg1cRy8n7L3vt}12xlMH&f@Ji&fv(jc~x~0W-F0={n^5FB+Al{{TG~k|=<0 z{0+u;(+-@ZGB5JqJPH%G8(UW(bZ@ZpWQ}5{U3;R zZ~Q>wl@!uL)B^E-s7*7dNh)zI2p4f^d-y~C&u39_wEQAzMJr5DVLFrq{%1B99<}PE z1@sfvti)#crV7gnmFfYE%4^AR^F&5sJdCYJD3-u}H^9RhR1bQb{vz~QOB*~6q%Ezu z1OmUUyV30{Pj@8bE5-XRD#-`<7rF_YP2Qh&bNt~P?1#}8f=LEi{CO8Qk6XYk^wt`8 z=$4AUTH^}64SIO)e1wKfkQFME6qNZXcyUUNJ#?GVGc`6+9_XR3@t=$r*Ms8XT8ryk zTIO}w9lzx27Vdi~obOBEdz<1xx)13FpHLS?B6H!h>-K;9=~)tld^xjfubqU7YNU^) zqtRrc(K`i4#RM*hm1DVH9?oiB$Wz2_w-0Z^mYe+CxNdu(2b^A`u736AAqg1YZ}$0E z2gv{X!tnk20DuvYLijbDph)&P%3pGXoa}$~Sw~_trGrVcL1`(!$p+%Fh#FcU`&b{- z@Yn^|SaBXiIpfdZVGIFY01C@cW5a8w1_a#vN3LB~n6&b;p<;T>px7a8Jn+)?YED!W z#=b+%RV4n&Hz7cf8pOP8H9!B8mCZW2cIFuoxSXo_T&k)oXV=o_1(SskCTB9mPIS+{ zNF%7qEOo?RTUz#miFB_5a^_Lk{#7~yvz6KaIJ+m#f$DJ}qx>L`_z+#?DCG4pTvhjW zp8CN1*11j3!XpX}rrDBBgmLewXts71H>odk8=rbg&IjEzzV3F0he>GDrW)I*%+Xl*vG6 z@SVddVSI>uclCGS#(ziI?u-zcpU-sO#fWOB{I|aPo2&@m0ZHZ+kiYXN$my8XBR+N^ zz*1MPrB0&>81EdNMTxGQ56k&>Y38dI&78L@gr6i;N8Jn#wc=odj6b#(duS z=Uyy7O|!0NIqbVn*mLDa1z#qKu60$7!&#guZgY#SzlTvh=;8b=PlvvDja*jeLgj${ zRtc50{F^<%rA<7(UP(cc=L93vEi%F;fV+aVt7M54q-ZFwLq?%7 zRIOa!h3O37CBXiA#YR%+ghh&OzZWkslxS|2no zFOkrFAxBQsf_mg4lKNAy&SQVz z?}#TWRooVGQKJW?vOG6u&pKgpHzW%|+Tl!wA^|3$THQ?ENC;>sT*&5k8n9S9*hEqY zxx3OXGiYb{hl2?;ry z&Yy)p+1?#Us}~vaagCeTc>_jdf&RO94gI@v17GV*QSH$ljcPPc4rNtPK+#Z<3TbVD z7e@cu;|5Kr6CXt-pC(Vb8wX`NIpyRkfOE(1Mvfuhb~mzpT(gaxM)|K+H|IHRbl`kwaSEUlj3 ze;I@Z!`F&a!DX8l&MdG|lUy4Rf@IR;+dqDVqu)5}Vc|KO?k&212?Patp`FJi!e4^6 z*#}JNlLr2%&wR~JTGW$xv1%Wl<%@8rl~seH0E5G09o&%m%Bj%z44amYuSn49TSz-c zwc&>2rAq{6dP_rt-(-p{t)Fv&M@Ws^+b}K;y8Fz!DR?|m()%(QUCCyNR5U$8 z^(Os{B1yHl#X!jem4#RO@b>>D^X6dE*szTCSaYYV2AUxr^rPW8EE_#Cq2AKTbBE*t zzu9uSqGV@Na@bzH9V{lnuepuA3DKhbKUei1AL^-aF^f@Qv=@%C$diI*bcBVYhe61o zZf{inhN^+*+lar6()o0es40tpnA@=wr!b)>a>1$fp9_)d^Kx-LODx*fdfvubme{gGSfEh3FFkYs`m!K zXsJDuD)d}T^4=Olm_LV%koor|{4iK&nn8{Nkx(b>I61wE)D~1^DQiPaig_@v#7C`9 z*O_OYL4KIEi)FyxyH%S2HW&fbgk(K!M)iH5;LS5`VFhVvrTU^2dc}*hmA{ z0Xd}~2Z#W*eKO3UXl6+UWp|^5-o-(20yh>eCgtUv<`d3E$tgV0 zu^oo$!Kl^W(}pRua3g<|d+5KO+*-Mf9vC4)h&cr9W^v$1j&4FMAh{=3hqlgNcM6^7 z4jaX01;^f?uxj)upmv9p2s27+sO=h0o8QS+l zB1Rz^na&EdVnL(^lZ+D`OJIk=uaJvh58^m)i=~=JYu3e+$=)c{h~`=N1jCBO`u6xo zwIME3b>FTjhcR;I(oIDiRTt}&wyb6|?X@B@vyL}|_w0ESG*7b>k=96>)pB`4 ze4jV0;828xKsAC|S5; z_k3Q{Tu)beRdK3Hb=a_GHdMf-oBR&Od~)6#iy?p{wplUADYzlnM1xvi+j&i6WtzP4 zO)=t%%Va*$VH`8qv!(m~Z1~CpIr?Bm_f!>&tnm6u`v-wNs9bD_JR2@pz~Xm`uWif4n4d?@P#Eb4+p>4jHn!L^89hLf;4cGtxHr)9Go%n zQFNR>zp5|H)$A&Wrzlv0?8(D0pe_v%si1Bq6AFrv1QZ|)#F3;5Vs_VJX&plZlG7!n zqg}`eRA0Et@0zWI6kl6z^=5E&7hQPo;@ZsCN2Y=E4b;A>DKr9JM$M5-?eL&mqw{5+ zl236JXCrx6R%u^{0{4K1L;{svePaFWi&_>eeDG8R)Rbo-!gKKe6bQLyUBobi>zQVY z0ZimGGTfEEShITYKmbxjMqO;;YWJ<5>W;}>-#J!#BP5BaC?S~|ho}ufO9`rqE=EAD zil-g>b{Eo8F`4)Mpj6R!HYJQ%ZPufzZnYF5+_rRK`R-8)ipqOZOmyj={(E|B2oHE7%?E>lE3pBU z!tGV$bnl@)VKVSfDGE7$LFyOF{5nA&k01wkZ3JBHMjEZoO#MhHLB;lKTQ)6$Q`Qtw zoUwoOdyXqE=)>4080LkHJiJUf&j4tj&U8AvOG^wMAgiTK8az}Wdq-vyQTK!WIhghc zdjmGJMoDo?|L|QyqHxz51y1Z@kmumd>4(Qwj@{|~OnM~AuG*n)s#CMv#h#_!_R)*! z7uZRsX*eMN`=91-tdjW}t*j?-l^5qP^#VLPWNY}OA!in`hV)juU?#%kM!T0arVJ>2 z`~|5tLJm_oiKv+J)jiM?j60{^x0n0U@7wsGdwUTr3-eO%EY|-y(_AMeKlAr8$Sb3Q zVzoUiX3&(o0zn1U7E|7Sf0(VIi0$fgV`9=*^^B412pgfjUBOA+qu#TO zy19lQ5LBF5?%n_`iI?h>b-DgP&=4*l(U_rsv1O5CN*GLE&cE#vuu1%zmfOjj=!AEd zm~ani+IA>oHc?nwZTjNdl7@ieQF`h>5qQ)-))B$R%OD^ejGs(2%$sMc8bc@iubLqAhQ4q z1z~UMFbqpE%#5@=Ruyq=P;p1`uq@b#z9im-FC|`>l@%NK&9T&|Vg{W9<&itU?Qug{ z=Vg;RQ#ZIurdco!b+qq;uLij*0!efl@aB1iV<<%+6DdJ5MAmQ>SpmIIsK`vu4;s1% z)Mpl6VUW*>>->ggBk(nPG z@^)wa`f8`4)zOIkp;7FTYQ)hg-OJx3nYX(Gg2} z&X7EmAjtqnq2ZX5d;Z8QAeiYSp_7!7#y1Syb{qnv&wg4g`iSl%f!LU?_!FeBp{es+ z<7TSl+-`1U3VCz=CQq&{`Z7ODA4BYxVcwy36PVcDR*Y+Xk~HeCGCwf?*P!`FOmTgx z@!wuX@RxGhU<!Hn=P!nAfU< z0Hv+%8I*P6r0Zh)7Jo#UUT@7N^lR##r3R8#Cz;I_^k-Jw%&4#)zUWuSq8lMPkt5mY zVFJn#a8}hm4NWyuTIw=f(`!Hfn`1FB$HM%8(F#`Zh|`WsZNR?Im*cI|PsJ{}wCRVL z4Mi&3o5fM8m^_4Ds9jw8KpLZB}n`Hb?2E=;jp1B6IvwFJc|yZ zfx^){zltx$GOWZZ`QPS?Rb^XFlRn|75ZhWS9qcqTzNjjn+LPZEfSQSso)!Y-W9Jos zF|#s&uC5%EUgAJ7sGNG6)G#HbKJ_yb5(;18w^lWgYy z54=~1-0Z)f0O^JW&wi4u9_6W}zqis%7W<=Uu@T9)iOF~}-|}_~o{Y`;^ifi$ZQr+w zk_Rx2n$H4E?bOA4=hU}TKiyld8RaxbwKqZ-Bk~cJipqS_8b6vnJ~d;1e0lJT|Ap(S zzl8N#);Yun`!;Q3J_pyhZ;^VE8v_`72eOoE2M^6|YO9lua=ssyM-p{Lo#NyIg@zQ!R!pB35yJ}B-6g9Q`hr=B-8qEsk;;g z8*%HSq8f(cvDw9&qX86sg*Q*)Jzl#wuhW5n1TGnKZY8QAq##p?`s^Bf^dLn|Mmis9 z#$XU$Ukh-2`+)13IB#dv5u->^h}3=C+sCbX3{hN*k?PMWyMa>(i@Du9)yS!CA09)+ zSeEZ6O;}KrBz)h1nSibgG8(8oD+Do4{PUy>j8uh*PMz=oZ#VkygBv&?d92yMD>@t! z5gS=1VvK}%XV}MWtSiEPWr8V)W>`R5433bOR*>!R5W^>Wx&+`P8yYdh?(u;T{X#2M za{?Hl539yFS~?onkdq4G1=b}tl(eNj+(Awkdte=-hGdmUKgeO7vHC(}ml2LSiBSr= z?1Zg#(P$i~&Se=8Is=0J2yDN3jEC@Ee{HrqZq zp%$6vM5RVhl0f{z)a`QzCZs$)GXN)2%hy~H0x0X^#UyJ}uF>Z2`ITuJmoKUs$k8Qf zsY_aWWtu2F@b8E%ViKG!D@L9NSN2v zl_VLJG@xWu$6AdLY92w~lY`6`Z`Qkepbs`OtyYF{eAaUwe_6NVenwFnUnkzr8 zifZ5HQEY(7m0G||a7)rxBTzL|>+Ae^m&pquuIiI$2~l6|ACyNm_;A(lg|&Rmx$1C& zxwO~G@-&TU13`UNwj!U+;m9Z| z_P`=NF~k~v)3Cty)0yg0K5i?_6%B20KyKJJqdS(+w*X>s%*$M%HfJ8>rkX=py9K)4 zpwki_TMB$HX#VO^p-!P#+(ww1$3?4wA)`2rfq@c%4;C7+G!#P0aat5G6Yz*!5u;<& zVlXV}9_L$5{%M;TBUtTnyDeM{<}e6eT(SB|?GYKQ*7Saxycgw*kMgUu|0pY9h4|PnDTp_xWR0GcG{x>kZtT` zMa5BAm?TCFSG_m&>r&Bk8tSJ@?wck#9#b$G^=Vev%)slLA%d{ciA0C+#a~m^TkUzb zokZ=>B@Ri{$zWw)mGGd;^46t4rtEx8ZZpVtfJ)*)2eF9!)O25SRF^7c0v`t{>S5& z+8gD<>0xhpz67lblOp}==tQ~Fh-3h?!BL@vfH>xtm?}C{93!${j8PU(5>UsdNg(B=5Vm+;R9o>RV|00Oa9woF)wjH-(Hj(Dz+bKCE`wwsrl5id6Yt$AL$d zxeHr!KelQF^d|_OMG7k_nD)ty!C;iKOhyq94O0WLwUmH&QUDIhkbu(nT|E_gZhyG9 zZnMD%>Ht)YS;@?+#?3$|$Ra9CC7wn)!f8#n*~`EXo#TC)EX@j?LHd+)hC8uJ8;MIX zotqzAXn?bBZYaDsre5l075Voz>eF}T#0S`1{tyEgp`>bZAH8xbakT(mFv-xI7&knt ztsIaAD#*tc>ckDJv@Uwtf;iPBxz$kx?tP_CQM zKiDcDm0>Nxcx6_`0OP8LG1YnHn}0&8ODJzLgit>{AjQ^QdHIEC{iU}M(~xK z@M!#<_O-wgGwIn1Fy8>04uCHHw~Nc`iD2uQ|H|hUG9g;FvgzlGg&?>Ftg=5CE)3H_ zC>}%h%YOOa?p~5dR28#xoGWk8po}k~Wfy1kG!EXsKi!*60%~Bu*E*l@`=a8zYGxky z>pe{YRv*nU`AhRIHl%orZG-t8jzGNqQKJ67V2(n8QHOt?NwPAa4LXg0Ki`s`+#p`2B; z)(r=GgnkL(2vx$?w!E$lM|UG49@_OF)9OTo76F}WbCRz5`&yZ|tXV|Np%L;l=?-|x zdrE9Za8hGN96^Z&^x1B$Ebz!&jjR?!{-tj&VppN_5|RuXN+(9$l07MFbPC2iHPOF-392E%;eEH?Ji z-c8I-!g;?_2927vI;5-jyrd%+=*;Y2mgjmO%AzmWoYe}ut06RBVLbL)8B8j{vI9<~ z7omyX4g0p8KwstZJp3r+g@AD|N?w}i!qpdj_JZ4&MJ&=dlb`suA4WcxPqrD8CBdj| zs_;)p-V+7p4UFH`n{rm8Z6yd`IKcF=;edb-mfxC*6|o@N0IoWwUmNEU*6NE*zw36+ zFDk8PK`$)|eN^PTWqWN!Xb>B-&f=pg1E&I?Dnft0BTP(Eu3R0wOubdOU@xeub8DSq z7Ak5Ay}kHPtg5ND+*hJ#M2jqV#Qck4xOzGaP9%tm=NcRhxK))3eI&u8g%9dc5e$gV zr_`CTIK#D<(*x=Mz$jB6V{dre*LQ@b61ptw-( z?8oiYZ8ET>(fNSC6!LG+!FBzUnE((3dbprsst`~>#Gks8Ap~nq^%e647Ux7&bwV*Q z4g87+nOv=;qF4jH@US)D^-K`10GC0BAuV(|D3EB(b0*CiT z`QMsGU~#tyZn>DNe}XWL)s`%7b`ISbb$ThBj;@(LH5%BTE&q8TTefW>e9s|yQvK_H z#&E*fn{f0XtCx-&F^Z3B86v>Q@_2cb1daN+<*%;6=K=~N3;H*2|L9fv+LQgCP%)Ng z?|lB{ZkB!Vn@**)DT_2+hHF)YX~jmG5{d9?hE%whgEuz)v+vASuJU&KTS3pVudi?U z+QG-=->RF3oQiky^L9t?FM&g;GtDHjfVw07jQt7S-LbBP4ybwWQBhNXo5EL>ZGJ!w zzxm6Bmi!sOI5eO6Bw>Ssu&zRlQC|#atuCs%01nAmta6mJf;&{h{zQE_BYcZ{{J_*7 zh^w0Op4BRMeWeiWlZ!Ly&K0O6FN!528zTFVS?jUZxc;`k%*15TTO5gfJ5(*y9Bb<< zF4sW{T|YC=l`Ry`sjg)tI{nIDMJ@-Mw!}11LH)OkP^aU`k(o+`922V?+f+?QJ;az5 zkWO-Lia?}B7X42(R2vDfYU;c+1fv&G(PO_Im5H$YM_xNE2ajCJbYa>7uc+tmz$2*a zPw18XB+3Ux=Fd%EW3`}L6s(%D1fWYb$8TH`i|*5bG>V;Mtp)pMcgopVdZT`M)c#Y; z#@&hilk>|C>t`O>+I|HQ+9(R0fU~P|rFVM*ORm-R^_W zD~+xGv2X}YLL|S26h>H>j4_@!^ovm^aa12CuX(#=!)VqqETFe)77I}l+5>b9tT9XS z+FkbK2$(m#y!^E!Xm`ENYzf}}dyl{U@4ewrK`Qey3X?s|shZTSKkzqYVB4VZT*hgC za+apunnQRE`iCll*hU|CtotuytDfm@+{9Q{pp8V_a>5HW^`?cbAVwiP1dx4icu(9D z-ifUkAag*5CXpjp+!#UW7;TLG6D1%5&kjiwb&v&$(sa|^sS3Q=_<1HrW1|rF%^{`7 zl}K&mmEPr}c2;TJ$8L~?>AjHnvny(*t)w{9fYP`nxpIRzCq0#3+<0Cu)kmn4f~PpM ztzmIf;c4*`d<)x&RZiY?d;3dp=Ubtc*P&nG-No)**?-VycnkF%%B>%VJ=9cLC|XO{ zn~C{P>dx9>dR5T7;&)iahW36V%&5_bsxG4uQ>MBb-095<$R72_(|vG3^v>_^>2Np= zFY*QX794XldtHlLAF=^AF1A?#G6R9f7p|U3n@eO`4*pUY1j$8PQ;e!PWv9JnHd(`? zUwN+V!P&HV5c-V8bXj|mFN5}UeNk9IRa{*uejM}2I*Jn_Va;MOG&5E8sV^)(FU96- zx6Q7`w!U2ecFwSQB~#2uR;o_upsD*nOa~(!4Le?hA71Bb)y0gLTf$)1-}xg2u^GwL!ZzsdNc}ut<>}L~;PM zo5~OKIfJz0{P5X-F;>dJGx~}=MHszDWg~RD1&W<)C#e^yerm0XqChi|Vn!x(6q-5N zp#%ojUTx5lHgJ`>SOrh^lgE*N1I<_uz!21vBBw`q0fU=kg|&}#+rx2K{$oO zIC%E-!+@AhwohRQ1vyV4=0wKM8t#=Ug`Dz5S^V068rCX#)nVXYalsL>ukc)UxRkHL zd!Db}OP9;{(S_#a$X-a#1dOiK6CCVWaNTUjmvZpY+&5!sAe2O@uiV|?(Vpn*uBgEu zXq-IJI9DzyHOe{(6~!@RII55jry~hzZ>-RdhtgH6OF~H2Msz!rn_aBLm@>uQ7QM8M zIUAgCBu<=YT#PRSOY`+sAy<{lg^f(IR4eld!(bq?K#C(Ugr>EU&8vztmvdxOCON%3 zl1MKH!i_f2aPz39+*CL9UL4rbUEO17V)*rV)wd}|bMJ%su`S?ma5zmpoXMyXEM_`f z4`&dSB9OHxAUVxfZ34nf2C==eR8dMJAr3p7B&!qEk)b5i?r<(&nPgg|fJZSPs%9yV z6FWQ@KR|Fq_E^L#{_N~2Lu2`WwLn-yOA(S}JkYJ1iY$nV&41rVB*7L41ktgLD&ENU z#}=(8#eb4cbfaj5PWMO~F_xlsFy#SF*7vJdB6zGDzyn*2hUsj}(>XH;T$rOYb&^P8 z9Ii+cLoXvfaS;tv{hU|zivj)bO&CE+GEB6>)gD{S*s9#=MlN|b;0wxj1ZS^0R!|AS z4{!giQKw3{bCvs-;~uxmg`!;`p1bwxSZxY_e)wrG&oX*n`F0QJa@ZXgT+03LNjvd! z9~?K@1i+R#78b6;)cHsCuoSVArn7~#o!K9oG%BK+X>)pba2-u3!yMlQ#p=JlP-}+F zxm2h1#UmS<#|t;*3rOT$oH=JjP~y?09BjisyPqi5;d4g9cR$T&HM@$>Prddmy3djH zu9mmmLAeQxNouD?DNm5G1dmz>djcB&d9>L@z8r*Yn90vgY#^WJ=}W^!jw@}$Z5y5R z2_10>5~7t={X!%{L1$K_m5jCu*XD_)HZLk&#Iw*2DhAH8K?WOw`)`@-O06h`{4Gu8 zZ9}rsSC((Wn15>o#D~K`ej{Ih9&JM;s9?g9ceEri*b))C^=T6-p-38yMRPK)0_|v6oJ4UFl ztrj5LFfk&W#x%>Q%O>R&QJPWHqfVF@F;IH~O`ExzhkzXA+lpBmFD=vnabv?B-AzgnpYLfyA3IJ}7iJfI=kd;}vIrpv7jUHeQSb5J0J%dUhU4VG#XYrB zUZ23QFTK86bd{pyN*bt`SF1X@mp~cTJb%-v@GrV+d8lM6FUp{2W@zhW)n5u3Ci)H1 z*C;pW^3|MjwcphA(0lS55)6`(9)FTwM3h@Vn2(F{=y6c`c=cMoZ#EwYU|QJyPQYnleMph;<;TC*?;8N@<6=8@Pu zaZtIC4_)w#W*AbNYzlFsDB9VpmEehFCITI z!yo$Tj}6^oad&&Uoj+Gn>9(dEl9*W8-?`!6V2Vy#U;o?!J$=zSfd52ZTBBTsl$y6F zrsaj^r#-WRE~i`slvwS&1SoDlKWunN#L`9c)XdDMw+wQ99#%CZOoi)+_ODPVMN{+@ zPW0Z~;%7whqIly6^?<>7;Vpv1YVETc0@?*g!6?7_0Ov9XAk0dvZxZ(*_D5`SY4Uhm zxx%zv3Cb91-xH-cr)^w3oxk*g91FK`E!CQBVefdnW>*TX+e0_s`2tDWpG98d%wHwV z$M%rsXX(LJiSkME%~T(YD=rpC+ND>vQc!~$RCQ1s%9%@oBEl3YsHmtuU?JXx8o|!^ zcr%nRpyvvedZV#EZJe3xga5Fa95+LVH%-7c9#pI8pTf`9tsw#f+gnGT_r1+?I#iLH zZYnL>c979yu$IbiNFVuNr2dJ+vStv9s^oa1{NUjcx;OW=C7mMm1>W{6Et#+QOm#Le z`17ewH6j-%9Zn|s#wQ&H){0X9RsTm^-_4*amzA8ixn0JZyGZtdJ(Q%}(4cgWr!|X* zNO_*!3m54RMCh>RE0#k#c(nboq9pe`>dSPnY>l2Ux7ZTjLTk-5twMxEA-(IZO|(e= zQzxg^@pkO)9LJ6*eGW)cs+E?xs^{0F*~drgO>w96AG-i`jDAw2gX6-W`Yxy zi&N`61TPWgtyXQ|fF6kt_>|A6=wJOVRjuI$1}|eU{2$oDK)N9PPoW&k2nG-|UmD`` z^=ekC0lF&?SRdL!JkgLm;e>tye_r-kX(*7a&H-+Ylb=3p%7{rwoqq`GkTc@dM2jRz zUf>OBid?!Z7!#)iH1zTFLsun^Y=wb*Ymfy*il%1iB9o_G-E%Kgt!5L!v`u;4g>Fmn zB0TQroqq8^Kdrsl=Aj`)KPFe6PZH$bqw#48|cF5L(+&o-bV^s zOd{y$=IXWbn1E~uURbXeq-|sep=+u}5A6`!;0eVlUXU;eh&ujj|IQhz+9pg;X*O%= zB|!%7D-yW}w4A?Usykn?XI4H-+;{uZXdLWp6T3mZv&_&mj1k^r|8=C$0Lv;jh>KopegTmU@H_s1ZJGA)>$AVFYX& zg7JJ&o`gVF|E^NFL;!$5c*F(J1~2-Iz0 z^v^CN`r+}e{6w+64!&*gP-53?EbX!ZXP9nXPZ?V7E_TZ`ww~i_x%+5&jo~48i}nSk z!I*3=dzu0lIqw&)uuXi3KUdYqGSm%N=o#!(FwevdbOAC zBsjW|mY|TPB1-CDh?vhV-qxROT<}q9_r`2zvh&DvkL$2zuGlGnB6MPn+DdOS=<#gP z3mP~0Bly5u=WeA{9S_@I;yG5;1un}Fvy2q_<@e_113- zhPbQu9vE%`9Nj3692;S{eYeJP(lFRPJDB~+1XB|1n#WwB@Gl6qSe!0+W;a^SyC@xa zlKjPwM~%I#too0-1&TO7PzojU@ySRpDG^Ts$FJZkZj&QA$=-?U3KSD+eOoanvM|Mb z5#l#~d0##9St(K;ibkKjaCIkLtIR;rJC0flP*Urz`2)OQEtQ370}Z4b?XF}r~4{@9%(JW(DQPXtEfHQ`q{Ju*1j(Beetveu+vfu%q{u?N7{>nNla8433zE0;L_iX|*0{lB* znVo@Mi7ZOW_RUb@+*iTxkrBRPcHHq%;ka#4b@a=7%7UWx88Q zrs8Ru2__$s2t?W0$)s!nqP8tCCX`&Tffl__f^As3Ba=tAr#-rbwQ_BZ5k&%JGaiJD z4tryvB!xAoRzw)4|OVD>)I|+`Q%tNR8VrQq?DdyH1U07 zh~&zOIUIa}qeFV%On9rIBt|azhUi8tg_g^kRti%Lr2L?ne&ZE73L)*b9MI$$0^}On z5tAu7HFiQr2Kn}-9ahR8EKe4@oW{6j81>n_oKgvA=4brc#m?ANg<-a}h5#vY3HG@b zhhc{D{HMe13V^nn*67Su`7F!~^2^ubl6G299I`u=K5IVRPwB^xpPm__aF*=+Q zSVi_q4lGdQ*xZLXm~An76c~6%vB>%ECWj?0w}tcTEx}X`e+k+?52$~te*mM?X3)-^ z?fZ?x)^M2c6u&4dfkqOiVx@#XS_*{@QjHWPBQfTK6=AHH+v)>n^yNCoBT-74|DfO@E^cXLqDx-*tB zb(|9jPo)mzd0RuI&Y`XaAOIoEnY2yLda69~vN!OV+N$x<;?xECpjyU+T0`i0fJ_M9 zB=IzP*(xeu#5cd0Y8zp#<$x+>@vE~RLT(Q6Y`7fsjKstKm?g0) zob%N!&Xz=+hs=)RXpW^0B%9u=xB<+giuW{)NKd+;E(%sMh>R(V`M|A=;SQ5ZlFW-C zP?MC`V{Bp%T^>1|oIc0_nE|YO>hx4Ed{w?)S@iB4-UbfyfKJxSA>hG^$QC`E2_v%D z1b;BMqF;}bS7-dQJFKdwNP?4>Y;6U;%Ll+pF?6F86gGYtWY<2MyQvq6^Af#tk zFz6kEHZsxZkmyjRNaxAXVPHO%fLxOB`M9+IkQ3E>WY)iXAEuOD#9y0g-Qw*1vg9`# zT3&^yhX(q=)tQKc)i}cebr@P=_AiC}cD05}$md#2Hb0%DKRP%#IMhHLkU7sO^!vQK zb#=ci=pT0#gPa4VBiMgc&1iif3+CN+%*x*?jMNlwH;Yd_y?Sx*96jAJ;F>O`!fiVY z#Yz;pk_>u>LVcPo$BW{fqIA5ZTvhwcsH$?Z4A2l~L{VipRH+wMgY4P2`@e&fVDx ziJIKLw9N7~6xt<@Yx0iAE=+p#ED+sqZiNHiZr=RQUE`hR6BIPqh8-;^Qa`N!@m7b1 zhu2gtsCKqWP|6si=n&UMis)GmQJG9_bWJ2JsDWegj5#NLOMcf*?PAp@ozV4XJUD+? zXPgmj`OOCdQBw9tGJzn!87U`l97k>dXlvp?+tzcB{!Gp-R=2F!B=;i`KM(OeRb)2* z{l>)Hst)D-$L~7lrSrLq@G1k`RGg#xl3&1<~IRwWaO2aaK@nGy-Fs#oJKCH35{AkIf9cG{rG z9P}AK>U$SjG6FE?_V&Iv zo}W-}o3=J(fHH%vjL_rR21E$Jj00(tpw$wUZ=Ijea*@i|nG@t8yAXoq$Fq$wLV(He zz|4k*#jGnX3@3vn0LE056(W?)pk>$Er?WIdks=(yh{Xs4*2>SW=;#}3-somM@Sfh9 z184x@2?1RRksXMcn2A^~XGww-=q+b;7Nv8Xbuh!KZ&CzGyD(0*BslMOL#K^J(I|wr;8JGl&hhIR5A6Yd- zyZz`Tu-SGlJWf#`&Gi~y2<&0Wo(6-%zSP@Jxa82~- z#)KUnDzRLMYL^RDa(04ELU8f}Us0LI=XWLZGpu+~s6Fo$kw2ciwgGkO99hP)E#)EC z7L~4hGMq?lhgK)lD`NHOaT0a>D~;kRKDbNe)CcQaoUBst6GQ zOIm<@|7aij>qIe}4y7(ed14Y=H)Ta@sO_t4@z{q`V-*2s8@cG}vA|NPJV>d#pg(rs ziV*d3~pxnWed@I-YScB#KvTrZq#ACXlvuC5Lgwpf37tEk`Os0 zrZk=nH3z8r?e)484$h!-#o*0N0%tioGyfJh9fq|>DPrd|3B23a;Sp8!WuP|kJ#afndo+$0~ zSl~|5)*xFYO|8N{Ys=Hem?(fki#=J);W(?Fq|T;I1=5luKyWBBM(Py5ht_+7HzqyU zi_6pW;i>3e2Z*##g!tdRPSvIA04}1`WU=vMCR*@(I+JAPGetlhh#2&63<1aUQBVZU zyXQ-3@u(mt~WK685#6oJE6G zA{rG=<4rTtB}U@Djk%?%fgZ7VCrx8|MM7jl)eqQbe&B1B)cfLEeM_VEV;LCKNfW2Z z!D>-)RTIf#7Bv0xTdS3v`)lQzYnVlf_)i8Hk0o#-=4%uqBIbrGw&{lPWtj_0w2Jo> z<&urJ(-D5 z1{1Jhlx1psL`5dYX%Rz~rw+;5CP!3JQr9&6GwNb)8XdV_gg7#F-TT22Y@r)0 zRpDIVMUXq2Xw_wc3E0>^9|~5BYym8K#iYsF(a~@l_0nATlujK{lOfTP&SaVS3^A?2 zmBD`EP^{=MYX-u@PPw~l?%D^2Vmb8={L&}3F+}VJAQp-}xwOnz*`#ce^U8&_FJCir z*eBa3{z${G%IWp?^if%A)tl$}RPx?v&XnF|=Xi?-$4QP4l)lgC8Jj8JsvAa3tmxSeQ$7+)G6%SA6|TacBc+H_o4Zb6W^a*4vmAF8^A34?l1qn|N5^l|MU2`cSxl< zN|O20J{e+ioJ`HbBPOe8?^HgV8WnZnZ9(z;-_JW^t_N_#8{^!4CsA?z?p>I;dZJFx zG(yBifq2u$GT|Fprxau+?RqskxmM%hywTuJj~vW~7Yf5k%F9Xlz)IB^gMVwD*)%wydzTk1_>3$2bZdpToi07O8$zf%R2dRANuwY}3xoPBx2 z({?m#*-2`)`OFC6ZCCrw30sXQF6N8MAyhG- zVTgj2Za2nhIAZGx{;WL3{uUEMOT2souy z+|IU}bl<1L;{ZNrg1=2Wwp^J0^spDzo3Rirco_)(AUcC5Ai{HlSdlNZ{NP0zb1~wb zFvYM+%wUs5Zkh1Z6+4tsW0Z#2G}NgevwY)94`OUYk~kQ6j>`f9AMX0Tla1NsM=J-p zJq-8)s;r2HxpLpLd%}QJQgxN!K-qM^fE!I{dO@1QK0P~+Qu4l9o(abpb5}D1rP5F- zq}i(j3OtB%+L%}OiSTh@Rop|{bh5{(7{%>(718V5?z}6&)d$+D_WkwBCe>%g z!|<=ha`H~8D$1l$ma%MaQiW7wWg$>dTT)l1{nnrdWLuY@9pPgYS?xs);Jl6f=K<%6|Q zQ4AERQ<s~wQ+@6pwxi=8R9=AA2q_3dCW4*A=shq)@1 zO|T)tkRu{;$u1+iOut^tKKrk~5n2W{<_GhSsCMPw;q8a@aRme$(hLd8)iQ0humH(t zC&D44dNyFG3}v=NQRtaDU}y$I-!Z@$^mG}iYB?R8BtRV_C<8xGV=~fe19a!$G*@TG z$X@4y>=ubNP|w+P6ER$3>=Yx8Wx`$#ZFgpIpE6N&ap4ux4WEv5AgUvN%% ztkbd-pS#RqD2Ngd(|w&n2Pw047q1N$Kf%9K`9`k`6=bk5FwzL$|D|+{Mc3EOc&j>* z>*T`!Z$N#q|8j>H-<;6v=XDdtFbN|V!VqR)21YOtGRD-QEm#telczus{PnqZ8A`qC zq_`xV?j0ISDe6)JsJiFCSqBzsWp7P!V}7$HqnApQz1p<8Kk$y-)qEpwW#`9cdy$qY zROrxhk$v!J`{%)|&9iS|fF9}UzQ}bijizfdW$tE%>xP%~OZwi_|J1MHM*q{_KhEvf z|I4R*O-rNJf})qNODq4ysWI}lC-PO9ynBDTR}}8mnE?*vLhO(Y!xE*cf^cQx50+<{ zX%kEGRdr*GKtD7tEoQy*-R!uJ2-}t7xBbUwcltGM^af{lfBYVz~uh-I+Q4k z+-mHc#!ydYu3I-pK}2}x8QR3J7b;PVmqu8QwQhY;f>j8zbDH2dwn-U}+wp7I=epqb zVo+8XUaYL*8&9>vjz@y=axIkZGz|97e1p_ZXHBk6O!(Xghl^tQpgmqltIiM)7Fow-}4yqMB}yc=G{S! z-u-Dwd!@n-mPJ(0;9%E|RDC__d>T^S(ZzCYV5Zf*I@(*J;9zEY(wlK@R!=rNnji=> zt0jok5}6m>f4cOm4uarb_t=vXCMj#{9aF%(M&A)F#*!MBX{(!m62RLwt>TDmGecoL z5$E&(|5w@D+{&Y_dMeb@mW9E|%P^(j_>4H-q7OU_TOX_bPdd>RwLtB0Oel)Lj^8OTV zxijLd*h4?S`J?2)xd&FXi3Zdj#a4ZC95=5GfX&lWkdkIpuEWUcjAT9*mr@2FWE-l# z*%O*3YVcmg;$$N~92$(l6PMg$Ir&!eA$TyECWJGObIEBQ)Q8|gHv^x1d+V&~#rSwe_%4WLwUoHk=HP%41^LyCU<&`)jJei z=5*{=(%3$`CPLTtPtO}dHpR{l`{nAY-jDxxpPsfSXYKtd#Rif;J2|>}tj8eKe%dp@ z1NzEE%V0~&9gZ09kWVG+=*i3XB?*MLBJ&$i(yY+}er;LaI}cEK1?m)Y@Jz1#;^ypZ zfcO*c-cMMJ-D#95|qw2=e-zjK(4{*7B^>&V|Tx)Mu9J1C--i6 zQ|M)P-$T5Z{mpq>RaR>$h_NI~$r-mNmT}E%@)G2gt4gxo{u>qCRo~e3KsB|43SIeT zhxVWkt)7hk(8t`w-a+TY#&IMDV=_A9!K{q`?h=7K;Sg68QofKt1*5f?O)uNB89# zTVKcl`jXy&*Iu-=xct_cRIQBx=(1Hw!5S~8evR~jdfP9=YvVdSL4=aL%JtGL%Qk!R z|0ntiDNJ+Ylvr(f2-*4jk;jWvI9}ri=+PNvdA-j0_oY0gc4UqfO|jl|RZkRnx^OrS zRjRBkrl*11ji39D514j~pc90k7n4V)M55O$iCauk{rY7aRQ!Pmm_z^)`}o@E>G*>- zLXB+f&##EcJ_e_%p%Q|qGAba_mE);K|BBJo0 zg6)OrJSAHg>Fqyx@I$T!g)AE4>5(l!CxTMEscz_7PL`Co>UEenOktDTCytL$Hd!8V zI=t!ix{-9+CBM@sQq+(qX;~oDHgaUs2Lp;)r4Cv&CX3zbbwTgt@ZNY(OW9`ry0vX; zQ;RAj=pJ#ndyRKJX$(|W{tu%}mh>&sGleFwHnWS#^Xqe%>f+#1=pvZA~ z@*&d^@VM1#v#djI>YC!P9-yqcu}G6Z#C*3>{c0c8b#xFcK)PT*+E&D$NB&(^_-bmL z-r#abYtANnISz!wxlKd`ib0q>JEsX!&RvY;m5s!1_)$aQ|4_kWfCnv4^|qN)s-AUW z&5Ri_J1n*v!v?RGd3BU#g5ZPs_@ODyLVwW>dSVgUV>gfaNDbv_e|oox$cvu<5W1V{ z%&zOs0(244mEoJFPGt23NMfND7|8jCKf* z$OpJ3*JGSK4ZX>*d;834D8cuTf;y?>TF57RIt({Tf%ZIp3*SlTq zX#a5U;py&>cRro|D!1Usl+#%q&b#Ez@Fvsv9Lct~X(8vzyhrl;QOzGqO#*wWw8zVL zV?X5P%EUUuzoyH@9ThCR%HzNad6rgs#gVo`DW0|h6NtWUo#W7}s~idokGu7nSz#Fs z1yYH&`k<*ZS)-Q)qQ5h88h`>m7p_$pg7UJFz1!9%&bheLgD^8N zech3Khw(k?Ef+gpwETy4=4YKJYrw$EX=HKYm)EG%3MU=8ydKuy(3!P6=I^#;#i<5O#YTe%#JSJ(`W_$-B+?+We)+g=H+oGb7Blyv@b zgJ_0Q#9K3io@w`kLLOZ@OAJu`&^A`}Z2s*1oJRTukDCX4svWM5SVKksWvtY4kkqZu z8!Aq(x}QSlhI@aT>HIm6eLF?v&Bs26k( zCTO!P_~;*y{o?yBvW2!LSRY;7hS)iGOr)cu!)!Nf) zjfa5UBIp_a^~O{082xLhx&2mSumZ?g<>Bp!W9MUe%1}4&cn`Gu(Hw;Txmhi}ci28h zOFdbgWA;Y!0I5mA2UX03l&nWT`5O(Y9}st6b-N?ETEM0u@xtv1Z~F7`J3#(-`>N=g zSRYD@L%)U|+PJG8e+S+9z;ho)r$7DmX4dz?>`#!}O~_#JbqfdlKU@hz2<1^g4pk^* zmnrK;m1H!u6pct-m{}}b66z8>POtXp%i0xF%+qU|Yiu-?I*+7v9`f~(UhHCR!%}E@ z*)+BH9D~V&k3QyDsu404#eqhVWsl#qR+fnE@LX>tvlyAhXln;KmWFHRR+Ef=lp&&? zvspCd`-%n!IM}rMqQQO>t6IF)R4#`g;aTO9EdUy%2K(6Y0##%!G8;YojMQgjdv;Dp$+0M~{p4J|QZaGuCOCNQbH6hu( zIt?XIM~)(al*g^jy6hcL)z>80sEIv2Gk-;fe)y_@EkL#1v7gUF2ww+^ER5;}^UC>E z5+iF>@#5>FX#%fbPF?+I=-$YSR8?&r5E7m0N-gM z#1R=~>`svaCZsqyDa)jV4P=lJT~#I3Nq95~iIx!6+ov!y$#}tok_86wGpkW)Z^F$2 zJMk!dYU9$iRix&eFaW;RCP0qI!k|V;gCyBJmx)O@-&I{|#}{6c8pA3ymf~r6B6Z|-KHg>kYfaoowf z5_8{kv_wNnJuwX7^XkonGl4VJM;ER0E|ZisXax*4Lc|ic^L^Hu@IC?E@928)audlr zBuJ+Pp%IySW@#360pCur+AIFPZpkWD0=tvEE0C*}gGr`@FzK+J-%jBID$Steeaq;X z$7Wa6%f9BGOx<=~6Ehrd3b1+dh@Q_--jx){+%>5}O~ZD+?rC!Mnj>&ulA;%wbXQ?= z9GFZXwP-p?iTpno+wcVcM>RaU`L8Tf7sglXanUC*nfj#YReQOq||!<{FYz(rHeF-|ju)M%KNlqf1gw1*6y_jSeP zp?GITm6=bGYyC?+rVu8m)<%QW8p3JSHBvG2awURT*r5mm4KtHg%dM2Szfq5~_#NN# zi9e0XN4GOoZP^XGvJRFZAmLy@M2u=hD0=Rmm*%4_ZcT1+no)ex>)XGVD2`<(dsKCo z!LtW?^nB`U73{)c79)hbw$#{ROhRNm0EXOrQxpSK23yiL7_k6f4p{G99g4wnd2ND2D~-KE!2c6!@+=V=}bHwMA{;< z^SQrg27_yF`!h#MOn`Y8a9tNwR7oJ-LWhWR}RE%zjB% z_M}+$!8Ng2g0)8a2h0(BZnQ2(&;I*HY1Tpd$X}dh-$SU2#rQQ~BfpjdP1|vI8A)GQ z?2Vmxyn*U!#YSV6Y#o0*hNQwn5&Jx<;*r~o9S~yRZVjc5ZHRY z6<@m1jt|n{9c>TLe!4qJ;TWJ|I*|&}mW@*;R!49*EzUM0dc7;v_oPYSlX&# zG+~^_;wfpWEe7=zn_|JJXT!pY7N(9|d17!+5i7h)00;wDu6Dy+loFe9 zRo4YtSK^c~?ZU^G_|+g1albOX5qNwaS8%fciuS|7M&vETXpm8I0AdRs9vd5%ViHk2 zv!eS+B4Tb42LY&4rHYk_MYhgnq{Sx(WcicMGq1=j-ADQGRN+QLUQH z;BW9i$elJIM!X``^3LHHBa`7%Y*dzi9y$<_1TEUuRVPwKmt}uLW+a*|tX|~kLW)lT}SLaLRVrP63NayhG4eb@?~=LR}mJ4t57l(%si zi_adZo{)^npcRzwVHhtD$4QDAr@hJo8 zI&bdLG0S=Kjd@u)K$RvAkUXmg-|EeleY1ztM>pZl1=|x6eSw!@KRgI~Xp;Zx_9!h_ zh6yK0V~r*Z(~500!?teSuKNgnHH{bSX`YCf%9k~f__x6CyX z=ijk*ut`ot@qW0;!%Z3&o2b7@lW<%TxSI)pjdcmS{SIrObl{G+15JKtWt11Ce~=hS zQU-pa2`3SknD9kKLnI7uVpfMH(a@4mMO~7IJ0mr&RvTPeM!6@6#CydBTYybCH3|R5 z0c~s~y--C!-XxIG`eu+}sNDRWFaV}o+bzD?MbcTk{0rx|SX}GtM!%ao4ub`9!I^(H zgrfe-aAZc2-{K4|Jkm@qO=?D@$meUvwp|jsky8r55mBk+jI8PkkDwSS5praK_-hL#hm}|&vzP#XeqN}*|~_6W1{^R-d{ap zSX=(JITDTWDRJ}cNCQDIbFeJECWrUWJQgD%8D0MF#O9GTw#&~6oXfCSJZJxwCM$%i zU}l?BkHzRo7XH5Lrz3B3KMmja#gW^YO_i;>&yb!MxegV&I&*vj8&y_v_&*BSl6wvu z+P{9^;k{p=ygLH4UM#N|JxS4Ukiv*3%8S4AvE$yVO(!$yF(3IlmFS zpX>S2)f>(7OCX_+#m_6>%e3sFC{#RGY@NRDb!97*YdSwZ_XDBIWk89$@H!|T^S>&? zU2Yp@ZGddP9A#gSu7*7+KsG&rR*K0BsfDC1#XPm^*h?M)DWuC0&Z19Ss+uP>>zGdX;zivC_n~46&$O=}#;%))SOgMpBZozO+01*B zt$0ZJcU9Ev_z+up$GMtG)tx}qbkq|YNGiIGU!^0AHZegns;8!3SS}G810_Hdi-hR} zbc9v*r0Fw6;;Nq{#cjC~CVxzxhpyPbIhD8{wh~=(yR(;`Hrs#3)jh5RZGVBa87#O} zh^aOkG(J8O^uHtel63L;H{1u+;dD41PHnXs)b&s8ne<4yrpS2OL)PJdCr8*S0dk`V zuP4)RGOyGUZY54j9#RjD2rVZKuc{joc_SoHe?8L=JQVFX&DF<8eYmQy$d~dYK~Q2R z(Ko3%?W_DE$#Dt{OXz_u1Ql|9EhKBc*TUYnm;3&ENpy`wwgD%NstL@X_qOduz6>|v zjs`3=6bihqvaIu(<>&GPHa1G00A-yze`yr56%wfmrcCVWI!?nCg0g977=eIpGdQrM z!>dx#a|$9??_(IHTb#?OZT(&cqMDxO0i|2bIEJU8&t>I$;g{bZlzs`{_tKXI0bm$hcUl;iy_1&@NQF0D#2o2tc(aY5+j~#+PJ`)2`_zR{hLZ@UYb1 zEZ_Y1cfR=2cL&2~PyFkROT;c5A>@Hv>q(xXm_Uj*-``b#ep+h2Gjo#VYzl8u`@ zg-kN0}ZmW@5TtMS=qZ!k@x zZ%_30T$V-@-Sf}h;1zB?zb9UOlN98|)KaxHrEQ`wFmHF4>l9Pr$*oQw0EF53;Ma$bg$S-0z_1>o<3%(S6QWmkiPH`@}Ml!GIbAjzLJ7K~`Mh1@}(K zec<@ix-{u&b>mvV5K#_Ed{(}Xu$TDR*P~>JpKP`0VNA7ttt{#JHU5+Nne{STN|r$f zE>!LAIXR;C#oyWw9lB6xfuR<h(bC)vxh^(11jhU> zl4%fERRa?lzB{TwAti(X%6FVXntSNGYp^kSrj;giAz@&}~S}vBDDTM!trS zot&bL$t}k6rU(WmguvNc-2$@?TbkB#u-P_iX--YdeJB3}DRqD(5k16M8IWQMq)HE2 zxr7aR^#s0DJCAn?Mm*fygF1+OkMo+LVq3pA8&GkLeN3a5rvalFEE}Av9MYQQRY=ts z!$`1KlC!Vh`^-+TSmVm?Z7j0AF|a#S?EC=Ax&#h*Y%^d~B#v-svM>gvA-leg8Dxh! zb`*JZ$l=eLG*InA5cAVDru5&pn*yp&n-s)zMu36g#u{FMOw{|Z!pT(t1!|H`5m^IX zf?tkQ>ixE^zOHZTKE11%D!Nba(71-{Xhze?-BGSoK=AjakKXw$hh}g>!IS4l1-dDRd=r_qHT2cN z-ScOYhMtoGzeCvd9ovbYdIFMeSdI<@(2w&M8CWL*LAr#C4zgTaMOL9CG|EQx{kmk) zsI^(@0AG7-sqdNC5J5L8vxRG%DtEH6z=1RezN%1S`+&H+mpNNLG6#V+H1nBUF6hQe z?Y5#;1Zqi57(29^AD<9F(;_fLgAZ}RWD`k9tu$tl_XD1ca-}fFlr#karEMj9v(%q? za%%!owbMG$UfP7if+u;@cyTf3{dU-lN=cDUXv;hXMOQtK#8O_Nt^6gwXialN(wcwOF4 zj{9X#^qKIZj_hf~*tsGZx8h9(U|!6tkD7Q!S~E8~8?|i*2-p^uau?l7a+Y`9=)KF) zAWv2#)f-CYc~Ru5dfeX7f|8=?dO4oT71O%iVATic92)XWnGru~lJ7KTDJYG)$xti* zW6X}}EX}Yv9GF$YG14%-yh(XpK@2rW<6(kiJvK~bC=r;=hVug3(S{N-GA4~AQIK~- zTj76b`16;FGVxMgEqURq?w+DdapQ^3uU(7EqvL*Q-Jqu&4#3wF$^9bExRs8>@Nqz# z6D)s$pEqYuA+&*TIw5uqh)f8U@I(Vl-3Jgl#%!($qT>-2usQOrPrWTc44|ZQjx#gA zaa#zEEdo*Zl9W^DKaK+*6@@Bg^;Zfn$>X;p-=G5Xxgc8OsTi&fIg9tWE!JTqJV%!k zPltlbrBHR1iu&!GQp&`~Jn(waDi?bgj5XLVxK z)i#-?VdiGZLoZHAN8r>?Q_dlTlV#H@n_6JZ&))jAB(^vI%jmGDL{&;Thq77*<7vEH zjs;S8baI|^V!}F4Q$SxIXfNG2W`S4J<=uW)ec1k|SC(HX)f!byRGvRzMA(6)BRL<2 z3_@^#d4RL58F(43b+cezY(Ym23D5;p7x_hrRLkN{BKFL0=|EA6tlD%)3hzlLhA}M zHooMyb&X0M#;4(b@xK=RD}w9A?ZOtz)?_F^=730Q+1wShvF3g@dF0Gcco*U^e_yY2(wtFYHluqN!|tR3n|a9A~txvpH2j)xK_YQk_~8b7y;sP1OJOJ5*jF zrH$W(1qz+QnJu0OcaO{fK61YeKjc?2%r6u(RkGf47Dtk<>pCx5go@B@ze#u!0I6#C z$2}=+Y2}bLBxM}xR(*`a(aAnU6YbAgj=5s!oE%hkS>y zPM1smzMAhk7Ip;Rnb*44vGO~uA08HPZ+7+cJ~a!=wt3t-&DyNap@F4X=8a$A4heC> zRNvGeDLiQ~Erq5K`QfA;{8{3vFB*jZ!9ws_@85 zkujIlV+CjS`+=f%pt0`uZzjFY7UU!&w#+Px7m#Jl$gb0^~?G}P1IbYzBnZK zgagZqnJFawyuh4MC3iVFTzDkEvn$j!Bo6Q$4*{~A-yTZ6Q2U6ko9Dk4%1g0*RlIdA zI0!dR_6Z-~%=bbd9m!$b)YFDeX9Wg5!```%b0F!64u1Hs4BHP5di~y^9+soVD%%N8 zRcF4UTvE%NI>>MK3x?`p5!`^EAC9bE6t9|%spjeC#Q;{7SO*KEQ{ zia{zFpYTtC$TK4OyCNFt1E9nET)8{Q%d_Bnm}vl zCnoqcZaw+KMX^CkDx}FGF*h4_T>|3jqtEx$qscRUq`$n7#tnvrXQm$D1xhVMvX#pW z8$n%q)bb*YLkj_7k1FFxH_DL33MduMmv8fppIPZ9s6SMow>%)%QkG{~GF z5esSRff$4#4pE50@Q|ZTqf2bpi1nDB3#w1AM&mM?TN?D%yM)xG&-r2vA zI3#&q0KsdPx+EDO87R$AGDK3mFl3jaNsLA^fUJ`;?Y25As$G_D_?O&Z&YuFkL_wE6 z`29;v!kGMxbP#C9l>y`y;AV(fbK8id`{$?pw!zNE4XDzW4kX?$PxejizYG``)ZaSo z6bkN_Y^}hzRm1;rYmQFHD@FtV0z#!*f4M>ozx>HCnw5V0{{Cgc0s(8C*GY8x=zssE z%omRsur{-kO(#vjDpPn7Wfqonvw=I{wP60h%E@JW+vmv#NCUL$Doz5Dm9%J8G;r1yw3%@W~vu zhja|1mx8hkFMCIYh#X&>t4^u>aXPKunnnd|{kf_szUP$y0^-8B#clQgFudGORt9^T z9k>4PV7np6{2B$!BGZO!wDv`7Ha%CP>Kiex83)4)5OY^J94{ zU!o`8eOcz8#+br;-!4zRJUr(0s?+TCzV<`zz2~78CaD{LwBXcM+$?<;4Im-K3?=F* zkI;uU+BQ0dAdrQ#Yh0Zxp7z2HdBjHId!Md;x* z6vafy(n5-wl2>zkMQ5HH#RU}knOs&Y9zLMi+i)y0pd1L8JGzg82;4#oturhjdFe&W z%-{_RgL4AGKfm_5^bn*AVD_K4ml`z`sa! zIX`%J@<=?Mc2z-D8RR&3w29?ZAzP+E0S2QxPt@qY`{WkTRfezhe_!w2stJ?OGFmK~ zl4Z(_CUTJ5#Y(;`KxZv5iH=PDL3l$w=Y~cK@c$_ym-EQd;d__L<{QMf^dq+$`Kr5f)>*FJ0}gA>X_-IV)};n{@`_&t zHLO)Y+FK2VZUBD1hRu#MGg5XLX4qlw^_%`SC5WCPkZ*cdSnBhw3*VPSbPa)OOo3rK{#gN+bCE5We+ zl9YX_M7F9xKkR9~@N=Je?PH(%!q5EN$=dx5#M`BxY6_*rUX};b5yi^g2&2YmOIx)i zbm*qrXlouwkXGB(iIB~eUXTuwxnDJHD8j4%_-y#DFvt)RN4rLzDQu% zR#S*15+K;N78u*j#q~&4^Gy41bIR4x#dVuh`nm&#%aIr8So+{AZ8mXqLtJZ6sRbekY<;6q*T(b|F|wmS7+!cf??lWjmd1}0N| zqkDz6mnwufvj{86^y79)e|vZH#B}Ar+~UZYK)``5U9IIL1!1x{D0K5T6U^Q}T91GoBXQs0}*-5zY(`VwB5}wa;`S zm=RP|U>v?97)8P4f0|aY$PB>2ihu7ZZq0RCa-pZ$!<0y&azpu>Yy9rubs>N zNd*(qozKm2Y67xuh>%$H^;fRrbYHkFIomOZs{jN3N7%G!G>FMhZDExILRjdx(QAwm zbb}rnbF(c>TO7gqT&}gN)q4=n)m)bD^gN-nqIa{q4|>wZD^=j0BxR!bH$TjEfk5+N* z`~g5>T2mhrd}Ogb^2@B!CJ+he_|ljBm^o@1&JK>Hj5ito&men>iQ6-Q(>mjP?NyqZ z&f3w>P8!=!_O!4lfomCd)$pQB1u?&I!x@Q4rlU4h6tU{*)gB|ZjH)4kBiPd0@R`}S zIK;Rcb_6K9us%qPYXXko=eBpFT#5SZzh5)27wS+x-7YaO7wp&fW-ARJw$VHD;piF& zQh?UfSy?x3iV3(nZ*Z&G$~3diOMzJ5zVBM2raw~kp0zb1wYB@7d?ER2Wc;5~KpH5T zCps+-!nU)Y>Y-rj!gK@DcVjAsn3wga(mLS>F6K08VRw>z0FI5OLtl!PHaA1=&>E_|C$41@;P0rEXGx_zJda~UVZI$Otzd%!cSHH1yTk>rY5cGU|! zcCZu3#9*4`@Bjy1VJw+PAV0Nf8!6BRZh?_?(aX&Y&-ebpjf$?5x9{NX5MmY3I>!Lr zMb3e`IUL$OTW>ZQw}#NGcp{S@R{ka^epL)>-tnzMYgC`p;eonZ8rpSe%hdBNm1aNW z2x-xqg-(~czNO9l3|t{T;lvnM?J%ee&eR|E;>-Rs?79uC%QzBv&miVHj7y|JYR4>I z>_Kv~n8hc0MxoeoqyYcKiK3&1;X;wKSOJL0y;$+|wh=x~D5#zAtZTdz%^{<-fTW_p zEr&QzP)e0+ITG?B%q? zBUMBXe5ng^S7Rg(E%M)uN#kI2-i%!qK<1i(CL8)jq925$pGKM2B0xVR>GRPJWB4!UHOKFEeJ@t z#YB4f)6@K+ii3z*YJUgi>a*<2cc{KqD}?N$V}M(I&u@!-i5`3R*e0`&<;YeGyNud* z|8hx>XBIXG-{EYT|EEa#Qw{>t{)@ZQ_ubev44j_*w3CDs{Dd1t!tPMF*zN9Oek=x# z$fBY!iY7yV=4?L(!#JD{TBf9Y6E|lHPt>ln0dX2)fQREr>ri&O#{UBZ73l+}RhzceXM7BoRPdBeIGZ3%=i-lJ))4GMA! zd#-s&G`$0zNj<|1RyUXzt=*{v(OJ{PE6`syoYSM>UML$x&z`BbjR?@=wbZ+<9K77} zYxQ4r`dFHjdjj3!@#7>MS*ZPvzQ7Z|Y%UhZ6|qkG>>+AX>g=@^hL?MYW|dO4M~)1} zQrIORxq5Xtn$LLa$3NNKK1?Lr8x6)-vfizN^~MU?%4kq5nqf$-q0%g9CqyX@;nay9 z^mmT}l#vdkt|l`3bvX?5SGNFJ25L_3WU9I`Ro!TGs*@tMj-`Z2$g3Gpoj4Xg2WVMG>DS<06ba{tCBgW?IpdxSSmpI6LXqc0!!Qet;tr&nI)Oa>Gq)?KC$QBFg%2Amn2R8H|MKeNVYK-n@YU8ZJYlmFMuHvnn zwpj~Xqn%NSg4BDTnBW8Z{Vf1y#74NlT8_Rj`pRp^YuK{ZRoSP>+wbelu$;3@`Ulo!VU09`UgHV#wumhDd%Z#wkh? zu@-WnT44)j84#52B;>yG1tQ3rc9Q9MhhHp$q*+E}{2xsyQ9@(!Ye3;KS5;Qmonng* z)2@HG&pKT$4{D=Q7n@fuGz#jxXHF}@9Mf{;^K-(?PRIlZrNNmh^Plg}uniigbcYM( zvH0+AhP5xpQm!Ljrf1#(N(rT!sKEo43)K{P^L}bf^>bsEZ#AX1QFUro#LFg1=LsY# zJB5@Iw1ZNNG{pxGnNSNx(H=r`AUMxY(xvVTM$HM zx4lZJgut^DU5q*vA|_vXr;*|fzifE&jMn1IW}$8kq#p^E6kJyAQ zk&B#!L%>mndV^NZX=H4LkW%H3Dkz99aNP1eWSW#2xUNb{lF)86( zRg98K-`9qgYS3n^d7*$^`NnEQh~hbDQnsDTRU|cSZXk4IRxpFHYXCGUDiR^67n<(ocT?j`b=rVS{0XCrv1DTB@+3`LNJ9vfE zD|MZ2D^(gnDv$86ywYrZ^~9-t6^#Dk3=#?_5fqL4AZSQGC%&72z3n(9uTf1}VA1Oa z+^E}9Kr=PoLxx2mnB7o)f#+3mL@Lb|pDTn1@MEreQqkdTb%fiDo&GH81;lSesA(dk>BEdUd_}*2~Y8scC(GSFSEkgFB<4uY)>}HZsgX3I8Z1 zO^F2o9!`*Y$c$B2*?QJgS)ilpF7uQ@m}RkYiiWgl_%e&A*(`E{epFp&@Rx&KUzKX; zekU;xRG`tcfAKRtXiKj*y!`rr+Xp`Fk0Uez0Y`htuoR*J&FJ)`0ST|@^tCsb<|*6u zC30~R4gk9wpboB7s}`aAA)1ag_{*~Et5WFotbx^ZeZWhvH?Jt=*9Tm8X2wGhvzg%X zUq-^VYyp;*>jREOo0~m@K^;gCW30^#VWVdaux^0CFq51SCOuVyeGd=GX(ei#(v(YHRw1D?}ij5I}{0evLwp67S z2!wT!4w5%dq~_v7zU5Rli_6)PxXX`AJ=sP@x=FG=Ztv3}?F%3nVqXdO+}xLa^kTvJ zCX(4NM#~z2qnj;v1FSws>D-YspkgofgKe3H++63YO(;(kBr@9jBHrcddIJB`E@fnL zgvFsOlgL#y296KB+ftfG)~^jGv2*ppaJ2rhb6w^MAodkt3r{e)Jx9@-2MAlG8aMq# z++`FfzO3cG=^QMr8WF3t*&7veZXMtX@Sb4C)_c{<=!tn@^NaX%)-Sx;#YSGm`Ws)` zaornK9V*T@njeF!LmcV3TXzlYDQ;s84B-X?znpsM{c@19SyEK)Su%G|!6E;&c#=gNpv_@)u4h9MkdfV00@dFM#T|&AD zFmti@zyL=;xW6Ab23fsqDW0NL@KlpN&Z?6+u$kigrBXLn1&I-rNLnwht#RBjT88Bw z@VS+G?%Ujx64?t`hUJJ^yG@x^Ft4p>%4Gk?Wa9m8p#uMB6J)M5$^g~b-M_iUAOsNs z@hSQD7D5@L;>?5>zKRkFA;q^ooy!49k+-EVJq@qFw-usUzVeu%{ZX&?t%+hM5G&de zCGG~r;P&biYNjl!LzdZ|9EC9Ot$ZLv5b=1W4D}McU2I-|@8N*)0Bu)xRl{Z70%LWX z4^}1v>35Np_)kd3vS-WSGP&9fT<-@=H1Y(WU#xg7g(=z9&5J>dwE!U(tX#a?o=?L> zu_n%ePXuh)Uqc}aSO>t@sYp@S$dI5E-AzhDee64%8uwU6Nwb0~mOYM_ zy)L8Q*zNf{>1-WV^KWBX%d|0n#?b%y3*WX|Ob2RY1OE?_ZsN7u%%@B; z_2<;gjoy1n&2_=bBrYR!&Ims{*X{pce*Q*&?{^Vk#v9k?X70DQNdmXq`k~*Yw0PuR zN71jY$Eh&rUsY|pp%`ytc)wUo;C#?Jwf+<18zRM^D)VV2WnOkz9E9XTT+b{imc081-1zL(wqt*F`&J}Ffhy4zDXRHSQ6v)L)H(Bx}pG`8R z-dI~s#@oLLg2J9OHTt@YVu2B7lEFpFjNkNS>we-*%i&eAC5-aL?6$rH#h9ha(_1gv zNI!^+EW%YBr|Wzf@T*mXpVdM)Kh_V%t}Vyy%*~S&HL-9yEDCY*CmCghkGu@b5s~j8 z+W3)-DbM$y4PMnR-cx_yKd#VKJ6Rrmf}DEwVLoK`MC zVo;K1ATp5^ndD^T9zVo!toA9p(wDu1Ry1Eedd6i>TM=RJPem853wZ#`ESas>mY|m{ zMBO}hqj7pY>N`Q%>+I7@{yRXIV%HQB6SJ}{+4<#_MY*ZjsjE%Gn=qk{1*YJe2e(R% zQfovlV#K-Y95}wnBkZ%(-bVpSE6g@o3D%cx9M%>|YlYh{Z@gX7ul|jEb_fSNOd+7c zlE3}q%C@3wZW_>HKY<7T$Q$&KEEiElX|BW9wPtI^7x{g4Use(afwgs=FDkGB`x&iV zr&;W_`25e(r&w zol9D%lY})3Y6*T7zmwOz=kNF?F;y)eJ<=a{V?QbEavh8VSL_Wv97Qh$t{Zlg&C&8Uj=or(*8&`=Yuf|jSX0ndn>FBgbI(711T;~9^^53BC!k~J_@@Jw^Vwg?I53tx6KRWj20$hn6PxAPn4t?Q2&^RD{AJ>WmVe=JPp%E^t+8&y*ewXJOLoPh@OJ zX?5}S%mEF0HZm%F z?*p;=A}mN&1`l{sUW|$2F7!GgrJg0FR;0$ds;x!R6=I>7-=C?)=_Yp&oA`#~gr`Z3%aO21 zi3-1Oa{$PVQrfeCyH)a_da;TbGO<1TtlM{TcsW@v`mGz9$}Dxq?^Sh)^7Qee$2(ys z*#xav_txtSXvlV-e!IHY>=6eDKJz3c46dO1!H!$=-h^KbqP(m^gEECKQ%u_Xx>a}+ zz%0daNOZc;gjpmUs_I6>c@x{!k|P&_uN#-^iInAO^2k0C4YzC7ucVGk@X({7DPOf8(T@prZCf=G38 za$)1jPr=1@LB7wn8kLyU^I5C?LdbXTN3huXJ%GC!#i~^&&C{v1R&;$gyBrA$DT}FX zv1Dg=0)pFH)Z(gTRtUr3^rY)Ce?yAAUkC~vRw%YsoD}lCULiv1n@j* ztiBo@D&&dIIv_G&KO|$;4b`mft_HjphNZu3vPz4s|9-OzPSSKb1z^D}1UH8ck;dtW z`Pw%yQ|CuuXgjpfAayp96*lm|AyNoSkRY+F12)LR*dNx3S(l}q7zw^G8IMj+3%%Z~ z#*-rvmNhRdI>eGdl)MONymdaP&RK$eN}^0UP)5<#)9FJt){8}bG4ph-(en+wF_dt^>%G2FVj)uc~=Lpa;;u0s3 z{a6VKv#6~Gu(AOS0gNR0`{bx(%SWv2^w*r+*%{~h<;zk3q|o)ocrtvVFDSDrXCh1~ z-`Cv`Cp7P9o`;}T|7Dy0r97?cEOgVlGmL3JS6iT}5U9I71dBuegOsImxZcOOOgB%p z0w&wqH16bkn(TW*?sTY`5|=9mqfSCH(p<_7wrlh`{fnqc4`jAf$s`{>jjYbrY7%Qn z^1<7}yG{46*JDC|qsU4M-qMO*Dzaaq|7?hO=IZHuJr*x|O)}QOpWXY z-a5Yb9WkAMTYdswiM9*Q<+O2Qj)f#XKGl{9CN0TVHix}`qkx+bu8US79t(zz9!8`` z@=0-SF{5`+%HSql!@#El-}lsp(I3x;w+efS-yfqOFnZ2)lBen@stx~1l3h-k;ZkKb zxf5>H!`0CWRswtPgM@+}DT}h|^HYPVD34SzX-s}5+h<@FL~)UxQ!+nkru;!NjG~zL zIK|Leu5aPJTZLq1RU-X>vsyH(8E{pX1>zzFC6;uIrPRp$&V{frfJV)a^VQS7j&66O zJ3N_hYrYwO-l^Hn;`H*+`Q;IZVRgB>3!x51GtOrpuCybT>HUmmN-3e%cIe*XW~<7< za-<3BvnDeH>PA zVU(e%yl)Z3YF;?AF9wd7Lp+&B8K@eo2(V7bsB*LvUtP;bJ1&H-txplMJ&OK8ab+dH zt^o!|HcCt3IFd9}L=V>0TCUa8rDRD$g+|Ck(Jy46kfyazH40BqA`SpjP9f{$nlmS)s#a6oY)?C3|Ce<~1)yuU9LnFW%WlRm! zjO@sz)29~kL4wpChL0UMaw@Je8el-hf408K39_mB99f@LpNKGYlJ%%?xttsO&Z@=O zI{J5;bUw6!rx%#n5A&$8vwJ4ZG!D+xnOb_5UV~>9>HRj=$6IMT&R8_w5~p?CWwKs% z3c6n=v6@k~0y0oYEO&X#%PkAiD%+2cTkmJg{9?ddsiAFCMn) z0LGoAW6^Sf$B*~rRN0LP65F#`)Qc6cW8qF;-mBvOV%hZa=7NKdj^TxFMw2rJC2YyY zV^^=`RM+Dyb(?R?unE0lREDM= z6Yb@bW~m70l=#a<>)P-tq@uAvU1Sscg_TNXdoYp`hoy4jq6cAsjVB7zR~!6vLqsg8 zH8^|g)^q~sLZKcI4?LA_4AR^1z2cpjl136_tID?{w`9Y~5=kG<(dsPn)o4nP?9WlY z?|5*>=}rsi!*J58San8;4O-g{+~&4GH}2O0 zGV(iAC)=@$HD7<3pMYQfWoG#Vr?xFjwEdgQ*z9S)20#IhIzqv}{-n~LD;hw5^GEVu0k9`;y6B%cwQXUdEnV?Vq!w9$^d*!L2JgDW{p(PC|N4^)??!A8y5`1W zE4F-V{DiGgF0io1tTKS(D`fulU4uu8X&5Q8<}A-6hJ2*hl-Q#n(0Dz772!DPHgEn7 z6bAk4(l`5K+oljkwG#B`O#$a{2;y=ahnK|n{G(Tw{n$fN$qIOQ{)#7QlC_*3`84u~ z3ALS5)uBd59et=tvkK2(Ga!mIEL%OnqK}3jgG}f;EL%S=lUXFGs+io89X!llM|73* z+}r2h#?EhUk5tv={NebdiM;zEKxiUX_|09HS7>l8Wnb9>m7B&s=+4UxHsY=x=pYGx zs$Vhsa&Z_u-3Xv0wF)zfrRXq3FxMGkH+$&;Te-G$&m3DYhi9f)+9zY>9WmRIME_FJ zmlx@~nv^iBO{H}LfXeAJwL@o&j_0vJqFQX5gTy3CG2-T!kuyWaYZ=y7H}HGvavl@@SgKq- zGJnKV#1Zv(l*L5#yD(<};9t(w5RL5*)Gm2kJA)^Z)HST?jFp4pNB!W(qEL$XHgTF& za0Z)UE>y!~s|Q$At>)k0GrGiDj>=?h7AY%X1Nj%s_oRbb;;P^ngECKAs;oNQ9bH;0 zYp<^F%?=#q2Fb2+QM|Hp0Y86TYozFX=fZyGUk!Fgs_IkeXmZM8N?w%t#-6t?d_IqM z_bolV2))&&fSm@^CMabQ9^B1?R{GQ8y!YPZaOR=Qv1_oam8Z7UgoOk&c5>I;Pa%i> zVF|ndkZ;^qM^~vnf3_#h=lTG_S32pY%tf~!Jo)*><>$W_<}?C!kl_7{XcdfhFj`(? zfHkrkeHO+8QJn9d_hW3~(2a4~KdU*eo;>6f^Gc35#0U`OAhQV!$V5O*Dhdx2)o2zo z#nu2(F;Kf)X)KWGTnXnntV5zmL39b^(s$d1EJR(SHU%x_A=U(kKko2a<}#LRWeZzb zU{Ef_Ib&`F^o53$$^ahCvWxKOLbJ@Wu(A#^DrT0>!z&!98LAF-HHW%*2}{=HmKp6W z7ML>b%^J6w%VRoc3wXU`qMXk9xOfF==w&NjtRL~CyGMW(F_BLAi%MxwO_-7qX; zQUW7~QBl!s^81&jZP}}naD?f`DbDt#+UEf7qa`7~0xH{1&$sWHN3b6b!SgtP5AbK~ zz+#MppN^q|vXI^SDrh;bGRGJ-K>mv#%#N4rwGyCIh2(=a_tMKAJ27b)5wW zY>?scWsEH?9j>}FC-2V0Gxdc2cB9ZRis`_CS;Gx<55|j8)?T&Q^H<(0h$GaWP)WOQ z8fAL>icy1z#^jM z2%|asG!{5q%;6^7R8;lQk@C{DvL_qOqgYh{097*p(4LKNVwiU3=U5n`QC12!IF7E;xuSOMG$h%BItWr=B%f)fWVG>Ht6 zR02AbG-NfXUAPdO*@JTaSg~kIN{JZ5N?L2vLUM`BB+0IvB-959ptej`G>A+IkyN5! zDB%!^6v7cLHNlV=%aAZ{(qxufK6$%>u5_XOtIgzDfPShH;Ajv)J4+yHjJXOJdTek9 zZ6$cRzXH$fm?~A!<{r?m58$Z@$HTIKQ$b@fvZ}EuP1(Vw+jor?i_;r;+Q1L2xoo2u z_GxDI7qO#8MMHd%VaA9wZU>^Uw+*-$2%7<%uleHX6%n-oCI_utsWcRTT(Xf zmp&(_vkv%#PHwQi^YV0@CH>01)plY8s1LPZ>{G{`H=dGfqvzd??D@^s>UzE=lif56W8|T)UKJ8A5@@;k+;*6u1jd*qGJJ{0jaMD1nDg znyOY-Bebzc(?iur0jfL@4-{$G(_UF{gjU{xSp^6SpzM%j=vt}66#`G5%5Tm_b7$Aj zeji??Tu$l^CHMx5J^QP#T_Pf&yZdDI5>}3pu_~Q>F(Epx(Vycw?*HCT!r9yGf1Ac7 z|CY?+bwe4iWZVVF=H-)$x_ZJG@oDnjr8{!|lb)#GpTx74_1$@6>=oo_;{js^INUSE z!%~eHvBhdjDp`ivAjb0E>SE;{QDnvlPoN2jNSaiJ{H;uFCOV^Qfy zfF&t|DtI0hDgHL~mExxP=XzP(j4Stl>tOJtoH9~c_oUa&AFCZ`l_#pO-bY8*CQvJj z2=um1z-qp)O2$%iax|&2=097$pK?$gQJfx(cy-Be1kqocp&x=R`^B%&!@AmOK-CWF>H{lP?dYG-~FX zKU~vFCF}STVy1F?MW4rHM?={lUBJOTVC+9X841b+MAFunK5d-L_fT^WUNFTiUXo5xmN{so$|*HKTSMdDz=pElC@72BX=ideS=dyLahRzf~>!LtPGfv z`OYNn=5QoeR^R4Q)_-`+ZL`STzP4(qBj&7X_$oo&61WN`blj#E{cB9uZ)oz*K2~=} zJfg4WjWypi7wbs#c$B3)LbCSff(-N<;-x<6()lFxglQH)-5>1D?+6T*MgNDG4i(dI zjb_H459IUhpAh1jPW-rN2YszaVq3um9cNopK9Bm%;9tsb!rv1`0(bMna%}YC8J!Ku zqK>2yYKpK6)RR%W-l!x&?zdXXo_h9v6}jE3s{3;PETnid;xdCh(_^7Ya!AiG|G@+5hKd>3~L zAU4tM*oGURK&T3CDj2W0`i0<;sRU@uBdyQ0OF6=$llY;U^uKX#%p8wfI`5SEV_(@U z{s~pVI(Buw}<&*M>`=Z3IK z7R=+Qlq&4U`8=q@uVszI8$Wsr&n(Y;{4X#8u1RFn(@$5K`u<$KJVm58(Gg^5>s&5h z-P#emmvVvBS{+XM!5bKvxik_~vo#Ih{Y&*QN=bUL6_gI)i);`CN9~glv28G4{pULg zAN3#0+y&#yw@Ls*$yZ~kC}vFd;IA#}eNV6Ho@(iIKnIjnLptdi&77c7ZIfA6Wt1zU ztQwuD&HlMurJYbJl_OBLQtd}<7={hDY^lnEiTr&$97$7mIiE+u!3eQFHr`8+guu=G zS)$g4l<&QgU3&?Cfkb+H8b}V8%an>{R+W&Ysi4qdl=L$9HA+)ZGyC%9q9QYf8!1@dV z&=B>nLCdP;43;6S()GFsZIp_KF=Vo~9Hw6bf7OciVw}US(4wwHs$APgF&gfjTz6Fo ztW=Q9^5V;#sTp`AxQy=US_(kw$?A(}h{RzU)retZ4ky2Ro8OS??P-Xr*0JCpU+w|B zW4B-hQEuzCa$#;MVrHpjzwNv%9qD{wD_mVs>auk)23v}Os^U~wRLZCemDWO!N`(?qkjG<-__l$Du&EvF zZ(PnD`R(_dVfXeuSI-zeEc*>t3qtTC;?1srn&r3wSVPKF@h&x}g=xYV#6}UuQax+c zQ#=o>VH75cgB2aM0hx#ZDbWPO5U?*9(JIC{6bTfIV)dSj;-mLGhxtcu3UyQa=sm)H zysxx*=zQ}2+}%!;!h%_lu&2AZcx(i=s#x+r!VY$Zn|*bCe9FBTcrr|H93#k_sB;D^ zyQe!sQ>O}<*lLA%8a89F%F~zc*;@@xjT>6iI`9aiHaZyax9Pd6c8X0)k1OPlz$Gkit1Y$~P}d#&Q3;!u>iQDIaZ zpR7gYe4JHf%1Hv$(r_~7uknDGB_$S{FejX(r}Wd5N^{8;2Mq#R{r^g$2W8+~KLM1^ z!~11P+I+7LH7dmi(@3P;KM}}=!nA2%#1tXYfRrvyNC;0LLoqUcrS$&DQgeRjg$ujx z-Pq-K(`(1UrCXikWrPndr40^_>v#CGI>x*%sQ~tB!I+u0NyQY;F9c5|zcL8e2cQ&r zVsGK}$m#j+Ey9*;OSR7~U^k%e_pm^AEFeg+TeKfSaHr>MUd#P+4B;FaHn2Z+xeZ=f zz#Kx#OMDULeZ9Ap=s=BVT%+m<6c`>@Saop%1&UW9MzT`h+ZVk4Uq7@BJ~gxwe0xb- z>o4{1T$`yBk-1)IZL{jqvCeE=D2VMm+_(xA3?ydF45peE@`dc4(h(YZPaFQh?%u)5 zY!X@fewkO|NQzW#kQzu)QJ8U?-K5 z14wJoB}n46_wod-TuR@a|5pD~D8Bgeow8)DK_V7jrG5*N)G4Pj97>9!)qhI*2U2ur z-74@sZ)7($1CtD>SB?ydMRYEj1#%}Ai=}7B?T1-jY)^KjwjT1|5w<(MKRqkMqV(n$ zBOOj(SVS@nUB;KM<-ukRozR67Y%bUCyZtTQlaD{+|1X6Ebynn=zu zF-Bj34x`+pf{m8EpT!h3Vv^0@N3e*9{(N8GbF%09_A*8$Vm4^{tRq<|b7no{G7@QcM;p%2w8g5cV&hnQib682rbmNy-REPyxI$AHgXg3ZT$ZUsP=)!T~463NcDeIWgu&rCc;9d-KgtnpT>@P~8Xt z)^@=6n>>6HtgWqx$nc9a^ zS!W>_;v4VN7olBmM-oVUr3xRHY^0KQ=@+N}JFmm{SqgFGnK<5<$Ml{!C*g}fnD^) z(@Ac>d!gCgB<Nehq(MoUX=_iHDUWr)Eqot&PmyNactn+M9A(1ruV5%;T z-pvpGWA?d|CvF?4)9|~+X8dz%&de2((lOo@FTi1gMZ`1i45{In4rN=n(aaLUE3339 zXmgF*Y|P;3S_oAXs{nv~Huxw)D&s`ZPvRIuIAspF$v8aND4>P}YA z$jeXx9g@!1EhN=cW9v?M<^k$jd)a`B9YvorleCrdVn6t>6B zy%-E8q(^co+rp@l8wdDG-TYT}^*^TzD!m5>umm7<`E|#&x*4H$XvP!WCQ|^AkrL`{Im9pXo+3`4M~kGM?`@a#|x( z=UB&Nso*FH2-hNm_0??Cef7^)jfPy{fqNfm-R(S20rik2VwatuQ!u}p1H`eh@a!^e( znVmUxfxRZmFx-k>0;xV_S}+J@UiO(lnv-7`NbuAtu(_$1KFK1;bYJc9M)tM@7US-`?WgLPaB?gPB_ zxa@P;c@&|Jubq8?Mo@owL;ZQqh$N#wL#U(`gUM-Lg~BtyF;EGmTM4gIjt#DRLuS-A z-o}+@k7)iteDco+cR&5RdAl?YH|nbCS5Mr=iB!eFN=cMm)h;{QZZIF(zECN``q871 zrBtO-6Tz(k43a^e)kQ+mf>MwG=S|(kN zD^+cnNADHw*8#N$?Nz?C+A1lle7sUhOH9I&uq3?ni|2>LQSHxhjLF1r{Blsw zDJ2LGenY_M?jj42%5S#=iWjptTq;Fzdi=CS5iFvj;xEPD(V*SG})|fRd=hMJNN|d&NJS16;4xCAb)6q=IHZ&rffb0Rr=Rf8!62d`l0k2-|@!-n#( z#>vfZkVt)+O9_)=dg`&WNL%u5eaAKIB>x>}=L4B%Wj_KpKR(dCOJOPnqMQ3sf3o+BFYf-p z3w`e<73ZT=BffSQVPUc4rWVY3oMYBnb#-@g%UpMqxUnqm0$fay>(1=fg&`q@H`5T> zY%lgaGi=k8*+}qOVBV*`8kEI0W1!Xuh=>45QV6FSA(P}uqHb2vt2%l!argkokHQpu zvasHL4045$2fiGGvOYj0M!=+r(Z?q)5=_Ww%3Rzb7rCk#wOC;~Z*_~Q1?J}+DHXQ$ z!*Dr9C}tX~2C?vgjLy9k_@**s@OUp>Ze3@27J6oNmYsjG?Aiq1I40Rk0!UN15?eLi)jXXA)K>b&Z0Mdy}cL% zL=gaQaUtYo81S^>N4)!G6@78x-_Q_P&+~n+#S70*ofl)!I47%gOEOYzZ{sL#%T%VY z5;t;~TQJ2j*=As4fWRvQh_>9G+LjL1j`!Pnh}|Hi>g8xaNZ_>?EHQGBcQu1zFkGYq zwF7MDg)=Ek;j+CP1FEX3cx8#8i<%X?9OP(<-Fdq$ zx3`cD)N@K5$N3+fryjea zj1afV9H-Ts`HNWsalKrKZcs#xG_nmsX5yWay#}d5=~qq9xLHR%EOSF4SWdi|oebsoO~`p>q>xc?wY>CceLS7o$xJ3;Cd=`-}+_O&C1tb3cLl(>~QaX^gpu8CqyGmbdmu$ zytV8$hU2evNc1m3i~c`(pSZF;l+aNU*`sOPU{U}t)%>FJ!#gT(Ez{{f!oX*80>_=U z^3H~McLSo%clOYYzJ#dts9 z{J~R^w|jzC(%pLKg%p=%vtn*w%9X96TGU?ZDNTcv+{VkB<`@75!{ z7^Odv(5VlnV9O*?JMY`m3<`WV$X>hKb)rBJ^}`9^{l7b((t6ErWDyg^Sv zj$t%kUG(K=3sg{o!z{swl(-Z{L0!AYmxS$~0~fQcyO>nd(svY=uX ztZ*1jIOgH*R0pcVG(0Q3$k6xYb8XHy&VKu!XWa@y0_a8!jd<8%N(Wh&rksnImRoDF z!O3YWh%%(PUcPdzu&XqH80l%Y^sCoow`-k7rXlK+6@G1&1w%RH?n2JYjBXR4dWLvMH-0njfLa^ z5S6c&=cZK9MWB(k*ic+f)D=RFVlpDRTFZo_&eWNcHTv~9Zf7=Jzh=w%W}O(vJSXZ< zsn<`0T8haZ)U}~-ALqN@;t}5f4Ea21-5p|p^3bSTsD5CX*^HI&?M3jZUWW+P(##}) zV}?k1eFiF8ZHQ1~UWNdaVnZVNQ?U5Ib%N(z_;oamHqe1x zqH1Cx-Nm#HglD1T6pa^AMg%symVAG?3tL72__{4S!*Ods z`Q(R9k7RQS!|{-(JhItdtgw6@Z*xt6Jdd+$D-Gi-K6$80i=u5d37yxiSg`B$Mq~9S z_cy5lB4}QKIAvu?C$>u$VCc;D)AHT^-TEk($_rrJ zux+SNq7ap+PiGR&%Cf675o4q~uHu2&u8pVk`*83pZ^rA*ycK-OnOgZ*>mDjUx`i;G z9^CGVjPA{yN7K&l7^*XnMYy~!+g)ki(f7&djKu^jp0RvrWsZw(JF zC7Eb^;Wx7rdG(7=e=jF6EbQpj>%S3p=Ys{XiiJnYRvv5zFh5!uYNKo;smRNPKQQLX|C zerB>~0S;8uK;WwAP9|Un84h;TW=mnbHbu?WiF5VOTr%@Io4`z=CKt~7PPkY(-2|-{ z*}65S|MlM3j5@E&;>F7-V~&hDB}$S}Mu`$ih*8E}2~<}`2*}!}9;+w&dyi}Y$0Gv? zh$Ksqio@h~sr##Jk!6@Nkh%Z)hj*M(oIB0WZ+Wo$z}jDk5`*!o&t~)%mCx*JF(E<3 z7Im&!eQO=HfBA10Of9_@v5-@_b3jdE1!H;Uo)&}lUf}&}p3v+HB`U|+GI!MNl)^9s z(kErKFmAejm2J4&%0O_onf({{bksISC%rw2b5A<8>`{Z;VXIZwy$Qp>^M<1M1|EhGPQq$s z{S&>4ePSx$MsyWzbzRd?>kOSX*VNsc6U*4_@T^Smz-_+o=AqW6alh8&9+rE0#(wdG zy>|PoqOxWG{@aV~3*PI4VW40`uO(uzxlLd5E*ajt^pi>7fM-jk)$OuM^Fu`joe`)n2vZC{{4SY#8Hxc_kuwFsM=aGnytm;lV@aeX+>F@yh$xo=%x zevNgt)5mm2KRuBV@xSaP+MUk#OAP5LjRf|bj?6_K0 z0RaHatBkhq{T7)>h8S~%?Y2b8AxMo{T}aK5G`*uaT9v!9inT*&|6;E;CWpYuyYLk$ znN^|r8n1m=j8BoR#3RQwCvB`3Do%h5u2s0?T=?-!l^H;+8dYB9{748mCV-<*vy7RJ zdD#R(7BLjEgNYO=;W9^z{!?g!j?Ncc?;{n@l?{8WheaDUUMn5IezcBL4~z+2+8 z0Gne1<~A7hN;@g^#6^BE#vfxM})QGp7fA{$d zpU=*PWiY@Cd0!(Vp?9$!Mdo`?rEB`Mn4IzeF{%NS_7|X3#6zWvyj5`L+++CkzVbS` z@q(G8j&*K7r8y#mC}2yw|6t%t>tCD>^;@9w21{HdzUe?K-6|Ax*EXD43R+x8mO{}p zpjEWh$76V0meWJl@#&0(PQ3p20+^#38Rx5q?lenM zi4_HX80mntD)P3hBBTg`!NL3YX3Gg}Jqv6Q>^R3r7I-i;MWxwd5AWuf-+vTID-e46 zCdC&>^ua4B4*jQI;qYpYc|VLv6_%l&Rx6C-ejZ&gLZ@qpFK$%MfK<3xdTkxd;O)Jw zTC8>InNjKD7?6{rXL&v}_i?;P+$9{6~Spm1N78F(Pcg@9WU(BIx+;7Jf zhkY=%W*7%Z?u8%?Tc08=E;IT#){b*V=CEeNFe%55C|dss#-*MD{WW1Ou~t#N6cKQM$t@aOHAWz!b0r+8Yb|1;hNf3X7pv-}>E++%0eVTWLc zpDmcpJ+4v|#@U=_HIsS1?&VrYxWz)&_qOh$RP?@tt*+tNq z&ayZeB(UCz$lYgmt_K9Zi~W>K{9 z2fQ7g=1JZrQiFFc9lWNS#(;c(nWy4<>+r|SR?LsoMev7eRc|H!pb#A&GU>Kqma4Uv zw;F#))D{Wh2VF|L4=x2W65HUzi$JSGRRV^nPL-ne0@-3fp#ySq$m(*2kg@>{lQz1U z<@Ny2|Mdr}(IvF5C9Id1(7xZy=kf8X7;@xAXcT2XA$fj^53*y#W=e5a2)XeyFG};J zZ~yL>fgil-ioVggeVS@MI*e04v%1M}>y1UZwKqb(jNt2ri+d{toCdogLNKNar1Pzo zCWIAp^?7rds!jW$`mDf?o(0)DZ-r;m*zvh0k&6~Evw=||O;XVT5{tsZvI4$f6kC+QO-DXqO-mC+S{%zwRa zD_M*EX4X{HobPCFNpoLU{t$;-a;7k6ol0&gJMfcIN&bv)=y?Rh_qHNjb~*UM=ez@o_n{{xzhWo-oLby( z{!8>cmW{M0K5{KT_WwU#+*7%>Vj=^$_F6#6pD+DY6g zg@}e=Pi7D`hy9v0URg16jeSwb69ujV_;jfmV|m7g{{;oYHVn`N5l9l2P!d*BX?w4p zf>Gpm_JFRh!|FV>Y#dK`^K(Cm08@*-MDn}UJ;7=c%GCYVTjYA4+$nK12yS@eW0cu$ zqDHzxiYmQfV;EFOejuM&h?x^bRT^03UZoNW(NzMsoBxcWI$WE4yEU|mq{GW%`M)d? zMP>NYLo_p1p4(}sDGQFCx?KJX$WU?cRifvc|Lj9)^^6rVINJba3!x_}3KCtCUSm*2 zF#sPb4#t>f?dK|l4Pub@F;{tTtGOcad$q{~m?^D6ke}KoxNbD^18sMRIa49TA`+OERnkrXa_e08amP-+JH@+xoA{Qlv^e&g%VPLAJsJ&I?^7$~t8q+gX z5)H5e7>^49%MNMfD3u9Lo2b|&Qc_tCL*!uI#hY)<213yg1T6luQf2njyqrz>t-^_s zDiGukh6%_tS+e+-boNy zK}R=wY}cKV-lu`r(?UUk;1&Ma0L7vPn||*_Pj;NHj5BTUqaO!+Gq*vaG+{wGz^d6^ zn9vLP0eB2e86>Wy$gS9#5)n-}ZaBSJvDIesFk)(CX^e$_HuYFhObttHsbD43Fk$N! z&P5Jn&yh-JQdl=NXPsRD(TZ;{h;=9$=0W{c=~s4%?)~M}icq?Q3^v>QIY1(Y4(grF zL~BUH$_?mHzT8rjP*makVnv&4^7)~k67cKa)H%b;@Is$=kDcad5s5FZN-oxpe%be4 zX7k7`7cT(Ylz?sBQ^*s(H9(g31Pb+uPOhkF+%>oTLyWZmZV>#TcGt=?jK(;v=Y984*LtEf93R+|ujzJ`-!7xM^|#6)Eg4 z66pEUrF&hm>^h!6z?>DQ8@5-*-`VOqrsEn_ zEv}U2)l*fqY8urTV;bIi#?=>4K!0S@XabIezo`0u;TbWLs3smh{=q}ULq)|{=v0OE z_58uuow?42&BO*^$iU>4xn4)BW&#ufwh5rv>>Sd2SymieB-HKdT{U;83MrnW`BA38 zR96F}%mRoL*KV}_MqepbeZF9?#`lLev4g!whU#}xV?X=isYE`0nBkf<{;K`A*#cGm z#A=hkg{_=3$US+5n2gz(9-9NMHfzh zmp+JHcp(cR*GirSAP`#OzbM2|8`oeh+gKE)C%plR^sNFv0)H60SnUlIM~X+`C+f5G zHJt(C0S%qq@F8GG33hL6WdJxrkIK)9mZS&^=Ef>v=zF9u1=$MfZI+#_TZj9#vRfRaH|VS0g&jADCn97!5 z45@jqn|1ZsXZ}+T#pF@u6QkWPqO*2?9a$Z17vR-jXdTeeil~{tRFhWX#KGqOeQy5$ zpSVF{E*e|>qTT}io(#IUP>trqY^LD!$&hBwOCo-F-unk~c;6uB(|WCuGk=!V>n#?^1JxJV z@svTOzP640`$Bo|8_bqVt}k-(y>!c)dz2WmMDcvk*8JAP$@{{ck26R=?J$u|^(_RT zBZ5STIi+T9&i7;$z4T-s2`foVZiy<*HYM}%^{aDFlI;vz*UIBuR1*zi=`HD(!caWu zFz4fbswNulK4T@FA?2zwSjl`G{`9XK%Fo6w!C?)Ovs?EiG~fkOkM{I9+x0VcaqmpR zaNIyp-uLCqE%lf6h4p%o(gZ%H1jo=vy{q-+mDsbIlB7~nX;oBGT1tWxRl4B?pKYjx z9Mj3L>mj3hawMYRSJhcSuxcXJ)~~_ub35z~Pmz;}sU|V;aH7f1adJZjLt77GP#!oG z!!$|&+?Z2BruIX-AMUAdT*8ZJ$+dKl{hVa`=;PW>2JpYc!URznKVZEE&h5ftsSb3p z73XIDjw+mH9NUl@l2MWtQZ&-H4xX4nrSv6aX`x5LATR;V$Wie%I&qrSOAG1WuYqPBfqItSlh_0o8=!;q!a?)J-kvR!{b#0ArTOr(BKx z^XK8`!E$w@!3RxEIZ{_AH6+C@4MoIoVk!&ds>ruc`wUC}@3tTH=^w1^`i#EH?QRbS z^9#=>?rtjn*JXh3bfvIL>lD$Km+Y*?Gd`>jb|?D&OuMRs0Pp8+S9Ls^(mFC7E+B>}|g=}>`Dyxdo2_A%xnGo7dK{X%MEX$y=% zd=-xv;&_htHVRgpNpurCG>*8zyh`CEjw67boqc4?y*~X_e|JQsfatUsj!%0ya|(&7 zF>wSipYI#2gFTZJo1n?A+!DCiEzLWc`o5V=Z`gJ4ZRaWVVi|JKO=kP1)ypvPNs5#y zvF{H|yx7HQhbnZz^dxH6S_~ZKfkd~ja0=pj3U8G|5h5%yB<|w-k&=ks;r`Qd|M!Y;`;c<1ijg#Vd!60 z(!RajWi_K&HB_loMora~Q6^3aNe0?lVx$*pm72L~$+0$=C(BKw`|#F-rAi|}rFsBZ z4w~o)2{7yKBxIjwo5*LF{X7ixgvY4%ZCzb~(9!1U9owt9kM^s6Xl&2(L*-?q@66>P z?%xe&QJ}-Tep;*Kge4M1NIIVmdB?P>s=mcds9p2kUOtp8)?p{3P&$n0jwtxJgCBD1 z+uss!Y2{6jwx}ER&>Y(0{z@F47#j$dV{uVFA~h7rw=TaPlRaU}^HVvmomz)&D(k$q zwwUhJbo%mze1)&Wn`QC`vgu5DFyb%l5QKWOaY5u+$?~ime8iHS2V)@XE@pSo{xJ9Q z$~)O-&GLq*4@8t=AFT8t(O3>-m66@ zXD7-7Oac-9AaUX);S=hTp6nDc4D=1ecy?kDcDG?A=XYKl_@28NEn7-kRN6_;*5DVF z0ydTiF-9hl!f>X#Zz}wKNh76UsfD7Y1Ia0et_1u(0*ky5DsN|?Xz27FTBpjt>YhCF!tc%-qpnoPprQtq5YR9Oq)S6J>~XB6j9~)BZY&f>>S9%{`m*AVBgWYO&@B0a zuftpgPE&qc>BlI+R}yi>63~NWMKEKe=41f`loFJB)5UH^waEbhMmv!WAdiBOiblz{ zQKj6m(JBxje(eXr@J;-e^voHU$jhPKa;a6CyNzEmfmd< z`m&?=qE}7V1$Av2bENm>7UR+-e6ufY7{kIP+{OBy3=%Q8Zb6GSy-rS-FSY){Uz&~? z416nBtqx<`uV9DzRg|!v5Md3UMWL#0qJxnu)fKzdAAZ{FlN15VTsm3SILQ#UwhK4n z&VAr4wDYoM;*N7H25!7X71)waAmc=a^P<|DH*0Nj%jK9H9E8Q=4b!egRVP=G>bIGZ z{!@z@Vn6AVbOA4$G)Z|JF*0m_PM~w4D<)HLl&+QMM*1KAuwL6s zuD1~sCvl1SnAZnI@TSaH`;rhM)|ZVOt)QkjOt6OSR3gnJcC&-`_~jM02@D$JoI?06 zos*M;2{phl3F$HX4H^E?-%-9lG3Br=@_0FI!jn)Mhu!2@IqJUuxLd`{FseicP2$Gs zVdps(x4RDclqri;>S9^rovMN~4nnC~9uB7xff%(%x$p3MkK+M57{#den16#p;8@YL zQ9DxKcuU;HT$tV!Lblv_(|=YfK$72*a)ljCHy z@gEJa%T6r+P0Vh6&l4>qupu*VH+WRO*F*iCW?1TCh07Jm3IEvf4Ya?lX(;cVN6Y#FN(JdT6ITH^^ zs%IUvMiR075?Zwkzpk*zK+HttQ^0N1O7h_~I4zYH&SlpA_n0X08)Q5JhE$_B$)Kcd znY~UKMVgpYgC<+ao@t8hua&g@EQT0hZCTCM5)U zt$WuU(i~M#Nt7!qUO2x0ajW>7lLuw$nu|V+*Ta1U%})HBz*wVl468X3CL($$`Z$i4 z;cXnLVf1vxTkE#&Y1TBsd5=o(9CI~zQpJZrb4me|NqE!f)He}pQ0FUPlH_h2NZbkM6?O3Fiw5ph@ zx$_MwyMkiG6c8)+w=^$f?r9Ip@R>hna~XsWm#;(hm4dbWXT5<9YW8^=0#Wa%yK-W` zhd(@7BViSvfJbeiAawvP`mqLXV; z`u+nszpWBp1^!{T&E$%nIJKml*im?$;2*U|W1Pu%-+?@;!_UXL{n?s$vNfxxc#OTh zTyBM%Uhvt(MR^2e^{zRmRT`_5J-8WbacV5OD4iU?|I*jWAE6S+m>mHMJ;<&QWbNadm5x7VXQ_ zpdBtiOpETXSZWM^N&LtAZWP9LyOJ+%f@4*_N4Z12eA!k5>PJ9g?qM4)|Kl^p74^#B zU0h0U&z>e#^!+vT!22OGK3u&8Fm+>Y7G&(V5?ZDc4>v$74?GVkFyS6vkm?@}NV%Ca zVP<*^YZ6et4V#H-gp6t8us5AMNxz%>{diC+@U#5c(?km`RIjxF4+kMp>+S}d+E_8>SbVj^6uN;Xpdg3O_i$1CsbSdgN@U! zGC~RIb-Ln>x_0m9%@-P5Ya&Te?x#B`yZ^oS<7-o|Ye=pt=-l7vei~AOol9==Nq>rK zF|(ZJ#4Yc7DQ;D?@~K*%7yFh8tx8qPp1C8Pljn^oZM46_=H`IRDW@=ee01>sTj@vl z(v~9*r#+n6OCrp&Y*PjRn?*vINUx!dD#|599(Fvt(Tp(T$e-`Xk=hyeRqrm{B2iVr zOyl2@nD^+)B`dnNY|-lIEF-3*DUv&7CYDI|-5i!CTD5J7NL4CbDJjh!GGhjfTn~Dd z9f7q>cFp$9g#G%oO5@*rG33|-{bR@odGL4pmp2*5pX516YHKZ>LQJLrtA%^4LU?l! z5tFD0n8q0K6pvW#dgzhP#Rf_fj+m@u7S6^(fA89I8op2uot4Dfv~$?#o)zS4S1Ib= zNzrB7(+8(6NkVSD*SVZ&Q63=CbB59fC`?YpmgCHB6pM@ro9LO`>P|9~Vwbg^tZCYC zN<=CW-F+Z}qNoIzI;%9xYo!QyTHok!g2pvJgS&5QVS6HwKxySv3Rgy=ZA2XLYN?}m-hW;3O@kWtZ8b&QstQWYdq=z|f(+D9NBinpAn8IE3fWleuuy`Z zQ;}}?(fV&4=Y%OlE{(nUK}R?#}ilqRTEK8hin3DrwB6ahz-X z#m*sc1m@`DYRG$#zJ2PtZH6l+fwHM8AmhU~N$bUy_}JA?^=vu4_g}jnJSFbbDognJ z)bW?&m!RVF0ZrCSqW%T1$0)nDhk9bxs?z%m1Yuh>q?2LUbl}bRuI)@;NNa7kbQwQ2 z15~}Z2^H_JFXt@8<6SAz$g?K~Qp@k-I5n#IP4}Ca=Wm}9vHGLKmGJ>7nTVj>{E0A4Iy^2p5~iwNrZgL$IQVmd4F5NZxkL~;lma&(B7)Vl4|nK&P8tsrtU)7NT? zD^HB#$37TI#d5SModw)mW?Csdto>O@sr(sI51}4Rt*aii+Ts2Z=Zi8^MXKlQIqR7+ zS19?2Q1eIl>XBn%+o5{3_$Y8MjCCq^&$isEq_5QFSxKttG2pwfllb(Qdo{Q;v}RC? z%gL5>G+(2AK4T1|jaZY~?3(DUwxD>hZ5K2n$SGVoR#HG(`^~DGCp!{gbTSEjwdv4! z?3eJTU&V1Rp~rjBOl0&_G6pR{vwXa5j8e{GcKJulz8!JyMS`6NafIlc1gvQ-R39Ab ztd?BAS~Rez3&w9yO^G9}EMe=Rgsmo>ist0?qUXys73*BrwOQX}>F%kwdE^L3pap(E zvb3s?lBla>HBU-Q<>)3oPny<|V)XY*QOAB0!-Y8ZJs_A3VYUe}SJ?wXC7;RG3D+IW zRF?=liDIr{&;Hz~WV*wxdAPmO-#_w+u}PwblGQQEY0#!8t4~+I_h-NSj=XB?{$km8 zDL|Yy1`yTBG!WWpYV~(q&NEi;edHyrlH+V~CvR;zJrntL@gvN5FJ|myElsw+Se>k= zrdcFS)P{uaw<;lfx{12bV?YfkdLW0iUwa-EA1rRf>OR0{1w#~7rt&4osmjPYE=Wcq zy@*}2KRtnt`*4Pk%)1Qx%(m>+rIdI05N}U$JQXc+w*#9H6EcN}kK^^w#&)Ykrm>1; zlXJkpwWsp(PeH)X`)m^1%?4{!qlzh?Z;Pl}DD@-wT!qZ$csE9`3ZYWexWk6GJZpU~ z>cQ1d@_cvZ1`DkU4!1UZEcLrr>6&SBKEe0RE9ivO%@V*#M$mP_0IlH#ND}0F%JV^> z@G%WE;kow58|0r=K6rqDrmz}z|2c63Ked$1pc$!3DL$*D%LJ}He~yLv$his9cWFoZ z@25SFGf_dRM-xtGeQUU(OsXHpSfz!VUppuXX{PG_Z%@33;R)Zwr#IL5@PM$d|MPeI zI2&B{P}grD=IvB)mv&~&6q3UDqfc~=MK+LIvzc#{_;3G@M7Y?p3YH@W2c+Tb zP+oq%KqHhqGi1?*!hDh&Ns*a^cEk#F)uL_XYJ9|0F8x49&AHe;?O#ZKE?0*MwKvg? zT5BlMIX573UBaAQc@^~WCYi;lisj3g#by>;J{mZm1=lpjPjw?byM4E&F??~EzZ)Iy z4=H3y2jl!Pqd zL5oT4a%BLcLELO$lp7d=Bpih`$iPBuIkiuGCvH?JHx(?X41KG5(j$McydHPbYMD0Y z@7FtJ=VUU_q3z^9cJ>z%@j~r*!UJM68AdF{0vvsQq79`>*uR}_}|=@F2}Th z2d}rC+++NkZh@2Ge9^>w;m1Th!?RW|wodqxfg-w8xxC(-w0sb|&sG7%&M%|H*?PEb zbrAFV5pwY}wanPn8Nm?uWfI7cOpI|Q4n#b$6hsj)W!0$LhjB zSw)~o5Bih`m?}n>MRzmgKP|?$x`mGLL1LXtC3=X8x5)iD8k$%{KG&MYy=~Y33^0Vm zjt!;K0yIa?7`O>HC$s%tZQM{?Snk;m74b+mZ$ziAQJni|%7T-WF~n=W+uYws^HsH` zb-W@VA_5nYVke``CuifWx3{Ag zr40# zyXRXO90oJUq6dkKyFo{^c3tfm;=j^p1o4sYntS1hbGhH2^<;&3ln?9Mv`gg<2x2za zh{Qa7!-6hJNE2gFY+Eh2A2I-iDf$TTH)GC~JJrw4VvK_|Z-E`-)?+3s?qc zi9I&}ZSnk#vQ8=RsTeUMZ^{#At4G?>dz`x8=4XIcUA_BwHSqBzMV;rYABr%jcap$1 zkO*G!1Ib$6TMxm3Ejelg;;^`JtTJi?$l))sF+IL1KDmQM(bBJ57U+g(cb^mlGA437cnf!u{_ zn_9v^MFt$jJ@ECJA+-cP(4MuK$cHa@npAO0xDTIQo1j!4pdY^Mr+KS_xf1?R_vf{Q z>)~65qPrlmzD;yfS|_Lj zTES9mwZmdo4WOmu^eFo82VVVAC;o*ibxOa@cK}Z~vsDyEBbJQC9StLLv6$~j*hd`; z+g#|UnRqNPsYyTe?W`T9THmX^mtk*?03!Tk63*9Vi zJ@5QA#aY;_0oGZ3{%(MH7SDmw^<~#*JCl@E8``IuI#Dm{V*P`O+ZNo?Sv5cBHF@mq4P|ch2&O z(o#6VK+I=NZKq zI!g6AyV5kEO~zHB#-;0qb})jc>@Ad#2T*G;r2KRYOh*mP8K_aQ9U~Wli`@CkDlIaw z{QW*lhCteHKcE-FNBB0YeWmG)4-ZdQoa4rou675a>fssonH05~v9MPsxhf|dGnG+e zP{TCh_LdaY5;(^v1xUm=m=P#LJw3Xfr&t;F) zT-hIrt%qh@TS18*3OivuaJU(ui$48b%2wA0C4ZQ6#dS7^sM5bPuRZXz8;JsdlWc)7 zCxUl0-orfJ?>OCN+-3dK&oGaL|As^AaY(cYX>vCn zU`+bKX^RvH(Wg0+IKf2yr{tdV@S_&?kFCF@vQ- zI=7UpJpplKd=t9E$+6p^MnlvY6&4*@f`zIxJr>#&s^abLulu@OLV zC#@$k-F6+@H6UD%S9+9rom|CJ-FGn(U^L`@42S3(CP*#(7&n6X^4JCH56x5;j@PYsEYi za#fLXF*Um#Z8i_H@oz}jXa!FRkiercIi*DJk=s7Iv|-yN`BVjYqe}#&=gbtRi4^GG$zn!H zxaOF2ug6*D?pOtWi(H*KSJtnvg<>7Gp>=&k>twn{WgXEr%G;PnTlXFqcF;(hLOhQd zii*W(t;2Mp`;&hMV7Rf7E+V@>1z%1{ccw9Ee)S5gkgP+3H%~sjoPcI?-kG3vy|I$` zlfzal7&cw=7q_)m0=vgW>R&>AeO}Jos%Yki=z`%65IE~z2VFb)` zt)X0JIzUsXk2F$b3y`{#pgm$16htMoRduzdjh>MUXo-%0AKi4piGX`fRj3SK3R`e* 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°JfWIH%+S3nrpCxxcZ+V}BWq@$^Nbq<65`+~jbc)1 zn#tnPKHbDjM6B+gc8|jXUiHV-xKFmeP`BUsr$bCpI?rmR_B+ELdi40=&aM^~>_5kI z46#Uc+;_K&lv+Y?K}mC@x;uPOO>y$4azo&zfdp{3dB7k53r_-`RLyNA9&M&nrwFapS(37C#go8`&G8a#=Ag$6 zqiPTvfLGVsRhWpsIO#3)JUQY^P-lnP^UZ`>3}okXn25zJoS^_2&rkYvAD55599|kl zgIgP(Zzk5YK&$%x@`_-va@(TlqAz?c?89ioE?(<8)EH|48;)s0( zKAZ?KROMnbp$U!EFy;V&Tgf(YvY9ASU2p8@A!9wSkI%3yH?5|*9C17<&hDhMS{@6sM^n@zAyfkv2<_mUgxgU*Z$jr=@`#gdeo0y zY-DQZjOqVty3SnpZmo|blhX0b`YS8w*kE%t&jg4f03{IQUb&5+%a_sT&(FuKtd3U7 z{`Sj1TR(jfd_4+Q=P@!uI#!-iOZD8(&Ff^;@4Rj7?- zO2lYGI$ewC&1Wi`(+OFx#-3Gwahrb_6ZCh#n%F2*zir~VIVOJzVpLZ;4VL-2or)t3 zm*4(Yz+j~7mrHDfePH0`g0Q+B+9k^=$HKjoJ{YSRWp6O^}?FhyuwF?m1QSp4@6P>QE5e!6C@~u zY=XLE4eC|ElVKM_f999^S=XludZZ!STj z|3b$~L!$&(T$>x3O@YwFt<8c_#QFr5vUfh;)$1R93AoD)04S0Xh$6WHC}uf)`Gd<< zU7SlSHPe%rn@Oiro=@$wTp{%}Td!bvsMRLFsf6Af*Sia=KwT?O!}MjEcv6hU`*D^6L``J;Wt8XUX#$i-qDaAL zlwK{~Y{&aLbJ%lm@okqBRdj1Xq^=>B$AUy@BGT$r0{e67D$i^@JjAq?f&iaChVlp2 zrjE6q#-L!Rn0Z6@OKz(LO!|K8bIR)QtvwczRgJnbO_5ER?X#)mHed8{y4J=vM@|Z= zxO!xycGVR%-O5EjFk*~rN%_|YDn$8%pu{+@HN8FO(Q?Q}v0{8?Qf+?y!3+vx%r8+% z51Py(_VqTIfl8y*45eIMhcgw2D@dvWqT<=rkiwG%>?O1@lc){J)H%_`!h+W%z!BHJ7Inyttg>`LQtOm;&D(NjMe) zfQRkgA8gR5s?#;N(iHrW0VOf5lW^vEk30{CY3$dc9bSk`BTttnQ^WE z@E?#=_nHl-hd_`U;i!;O0hL_3`CZ>z)RyXgANXI!nogN_Gr9P2HA+b*vQqzj{>M4? zx-~tmYf_9V%0l1=Peb4OO(>;MMDX?oo=F=}hLoP%S{%v$PAugXwekS`HPluG=z7{% z`LS@z^XA<)|Ka&f@%hAO#+twIa$El=-+AUn`VT++Kl)3riw4H+8hGCG)}3d!l7t^s zm~kzZW}~yVyS@XCKW(dR&yotoYjma2OYlH<6X_+>4z^~<5JAQa2#(G66wq)r3$jf= z$bkZj&u^Guoyu$y&zq0+Qn8>I2gf|qNxr&%<8K1oc3ZS1Q`b6dAo~P(EnBl~gNNqfv8K zle+dhbmW*S7Gn>u1u{7UPW1h$fRXAC<(Ll+&AiZ?;_|wWiP=s0sH|7Q$f&zz(7Up~ z7?iS%PR(+7@SyA*>@A|8)cJg8MmyxZD6RflLy&Ttjp|o5&!0{P5sXb(he_QLY#VgH z4-cY|6;6NyjOfPk5Dk02P}gCviZ{*hvaq+Q;?$>yS;SIF_wkN30WN}zba|SVx3&ei zj3$js9Sd(y<3I)2*od4l9?En5xl!f~V0(8rEmuglFaBE*j-iPmu4 zfUvsQd#w-b!Bsyzb@a|Id8=F*a#B6 zEMr>*r%lOF8x)$!rI^aI!$@Z2#K|3cGJX5d;Um9?eoUr;`^e*W$DUkSQvWt8*%)_fqMp6aLg&IGCS!fR3dU_;-m!Y*`$@?<$A`d`1`k zhXhE z=rn>{k}&~8(^UiJTVK4>PY;rM!@wP1K%~kYyt)R|yzHd-e9{+>&A7%})qDnO-tj`t zoONGQ$C*;QDm$X5OQ%<1?Gu`3+R~Q?cMQ7rVsx>4j*Kmx?cy)U8ROS{w`_Fh;~(=W z{LXtwk#^m5qCGUDO1D}q5d{KbPfZpG#0H?^)Q++JFoPH*mrsZs{1t;865CEnKm@@r zCxw*kV;-)UyE?;n|G+cSD+?1jks9do=tp<9*IcTAR1I1S>*gzowkzL zn8^HVC>PtVgcY=ew$ZK_6cFo3sHuK=Iu*m#_J`T&ozd2?oU+nV-J%;-wb>{RT3A1& z9zrM8HbN$C2b4k@zg-#f<`IQ8M~$r=(OD!#C$BRjZQ9_C$m z^Qu!Dp_Iw6seQu1jJQAj%+5g6INJNnt*50t$Y*H!TU|V7nZAbWhGk>N*^EILC|BFu zFYZT^-w=&t+P&lBfV+@9j3d5(JzIj-{#bI<)U`^fzo3+wv9B6#i+G$zmm@!zesn+n zwe9taN^RERrXU`l!Mg_gDg!Tsn&TW3UDi7T!Zbibne+FNkE`taUPPLjhbt0M9o zXH3WzwK+($w2-75`l-i>nRCCRs20^a-zdi&hy=_5R<&Lq2W;I{UZUq5#pbn- z%0*+ClqmDNWe|u=P4iQ?mFu?l^%V24YsWa5t=pvmfIj@Fan9cI! zj6#jodwJ-a(^|VXGvTz3_c)hTM0ZYa80!)d3>(#qIrwZ3UU*3+v_%SUqhNwUPP|b4 z4)Kc0qU7c&%Vh~E&=-hO7^n|qiEh5C9@BcvPk~f^)il)6=I_Gt!(VLh?RRPO{?{bu zx#mHeU6yurPOk^e=^)uvwp1)ko&$HzqREUDBIcOqw&H{7AAgkF`yc+|JYG`dFJsL2 z_wNpZ$)D}?Z~5nQ))|_lrQxIW(*f>5(^Ugq97lNwO@BMPc?3w{s~- z&{7O_j46Q>WaC*eyO{f~xB8HYn_DDOLbeG?D6LATs}i+vbJa9YJ}Z0MI&PJqf!hbj z?+m14)Qc%>jRHR;Ij>suk9>enOuwIPjjU9Xgc663(=gwi1Mzg^8F)OQHmX8BK z^A878NPgVa3ok<-*flxchh#DL_R`&|iHEO)S!^D5v#I&=CJ?3v%r3!iJ@>0WRUNKE z+qDgcdPX|?v7n>C;lhhTeK-#o;MrPIR4LZXe`sXGMN8I5Z&^?Q)NWAyw}Nu_FfUx8 z4#@{kII#1efZILtFI^iskM63a@6}aV@9Bemaw`)!h^s_Z{a@kE_-pmL5(g7eC|;sQ zl&{07@ek@CJlpfLrW*N}gMtxkI;rdiFe}?wiF#GCen~v~+7`Wa%+*%`_=XF5CLy*; z?1{4dM*f!9=>vM$V_2vbaMbVLGqWI#0lPxBMA zwbzO6RXV7)WPy{C)s7n?nnu#GzUfSy--EMxmRE=zz zd}hy#(G(n`>4+^?alpMq;;8P9Sk3<|FrO(?b+O2K1NNA$*Kbr>m7MASR?pC&II1;#8| zG>2%B*OO>#=W$pALSQ(5sOtf9tI*E+KnTgu_o1q;nr3m)t920AbSz{CTYDXAQVYNa6S)@=aP#30qJF!{&TOV!SokX@^ClMb@YIcS37$FbdZ*?CXvmF+dv4 zK^odb@&PdkLFtl(#T*<*Z&Qz7%2YnjDL5am7xu*sNb6<D+QgBFx8zL4;WjgovV^_?o&z}nxfATpMV-D57( z$ULy;LnvAfE*{b2aKO4=!}k@e537BxW8Yg9`__G6`RGJ!H_J!9Z^z_`JX#kpWBLkc z)^*hia^lJ_778O&=}or7sC&pSF@-wzs$!htYGVKl=++4+YGH?e-8k;_^=d*)yL!~a zqFES1@Q%SA07-nT#2P`e4+oijovC~KvDv7x)eICp!2jMV;b?%Fq1}xoJ2S7dE7G=a zsvCu~w)W*L@WPQj2yXY)`Vd%qXS3{$$Eq!1x4SD)60A?V$Dc-Nt---heDLTKU>ZBh z)K6&eRhG=xQmaI9d0*4A>o8Y6&Qf8zH&uHYZ!j(~WiZOq?qLR1Yd}#ffePWp$%$8s zV!bcB)(xW&CYM^Yt5t*N6mGuW>c@RA>Wjf`P_}>&@Yt)mHgakub$+HIm8pf&S)uBwvq*n4@2g?mYBgtA1WqGtH86B3J#J++MJ$j)NF`*&t;#l z?Z3~WISU1p4qisW#;;e0N*^oWLsUtja0A?6e68)OF4+>Q(XsgxQ#3^33L)aW68-nJ z-UTJIV<$px0%IYN{B=m4YlH{Y3JTR^&=a91T@O#m^;FkbLd_0D}HU^q7v_D{3+7bX6%S|LC5bzg~oOl$2|Mz_fC^c*Gzj|+^*qi5$2YtL*F zALeO8=Yknj$qv+S(j~qV9; zSL+D*svq}th7##VZti8g>bw;i75p&M`wEGP`81ucqS1^~c-1#_5T=iOEq(ny!1Xd3 zjy{5NMf%9Ldnq_2rlL=;`hKM33exb40Z*m$^;^xo2Ze-ehzkQ#Vz4Qsb^#5-t$jXKCH`Z^LWvf&Kfq_JyHb0Gi zp57+S*b#2CIAe&JSY1J~g$y8ME^9F``)#FZ?zt(fIE)Fk66%J=IVZ*j?|pgycwu?f zUh{sA$93bKe>g9Za}Uk}fs8ozQ$$@m5IQro>BOlE@R0A-_I8IJrohcM3Tb^Vq-BX$ zGcW>BY~lHRO*5ma%>b`m0q98P$3ZBH#GLx#6pjASJim!Z8 zt&2uQTlN$~$72R-o1)FNkemQ$yKW>iL!R_#5LiY>U=x;(kSdAba>F+ZsPWJ{Us?G7 zZZwDfd6_c~p8n{`&-+yc)yiqO{ApUDheIbXR~UT!rP)ghxBq1QHr+47h!{zLmLSM< zU831Z)e12~|NUx^hvt~UZOgLJ0Cj@^1a2#oJha7l1G;UhY&2%%c^m?1Es9J1Ax<_g z8C*7o+?z0hbk?TBtcgt#My9p6xt+*ZRXYh=D93U3SQcz8C81njd;0P|dg~a_F%?yj zUiy;hXEA~!-qHi<6%$ij%-(qZNsE8UiJ+AN?iy7-+wA#wPOpFat{#Q#P~*Ow^m*Mb zxH@D-dJDFrqj1O=MXp>eGdb!>sb_jM;YfJ>rNEmC;Rwd%q^R&)TDmxiD9h}a7vuXz z`JKVA&kSz;WE7V~Xg91Qn_F+v=>?(wUY}(}`q0dH*-N52sT(*{QVF&JI2g2>|2M}H zyj)bWKr#elanMq}VVziXT)cfuRe3B2c53eZ566bSGRrzv4=*hA-a}`PFFs!=Li`e! z&TiT+v*Dtol|l4mPp**UUs`ud31xJbsi&HQ%Zj9;bZ$Xeg@ZSV+b^F7?=H?xSwK=A zRLq;DXG!E}(0dh|-cW3>Qa69(BD)XzX=}D671?VI2ZTm4-Ty_N|8=eK#`7yMT z`N8mA1px0I&N=zbl!;`M5C|XMLmZ?8f;C072EXjvcHprDoxaSh3rVzYDn*hh=0jVD zigwX*!k%HsN$X-zh!#Szm7=@E1IbA&9UlE_;51G7pY0AGnzsMMO$F_t+h)3;f4%+A z)1T-MeF~DzLKi0H+M`TBW)G*X+q1}Zdvu@2jP+pQuNI{B&d3Dplov}9n2s{;in!sV zJ%%lS!BnH4LIH{tmF?z8fJCVw8)c60s)MSNdyeN?vh3d=a1a&5xJ4gfY^W#)cnTXHnx^GyI{9?kcC*WL9^iOEdFOvzawWfw-O#oQvQD+mppnH701j0SwoudPEM| zHm@|Y={i^GmUKT}nI>zb!^s7FzQOP$88S$WA+MXb)KV|kCjHc8PP$KB!&keM60f(uJsrjy)gp)_k2fa2Pwe+&k z<=I}%Vh%fTulwrIR=#1zQdoOID$Cqkb=TYo)EoB>gWbu(2-6Rm)FSb2u7GRY^g5YO zuGhLowSL$K*C+kRG={KE{lt>f7yBfJnw0|H*XmNz4y`GFuEL@usCcfT6e;oIC3vtN zE54aSKoCfIp?KyLuh;p@<17)PxYRHOm~afI)o9ais0s#J2+Hu@F?zRC3F;;&=tn&O zMh{PX^RQZi#_`H+0ux%)+!N6F->#GK?+`k={u^5}@;eHEZN%8Gu##6Vc1@XALRgbg zJdU*&mvjy$L5%m>hBU`hK0(V@8AL-3Wu?k)pRdXDUYcTIj-8HEPzK)~16F1=R$z{D zDL|3GQP8o%v?=b>@B)K55wr~12V>HWaQ@R>c-H=3wA$n4VxtLeDZuM*5`|h)u(CQB z?T^!SOxe0bX(UEjGM(;4kD6vkKA>0^ey~y4vlvfOfk@JeyS-s}ONZ3R(s@Qe_1b11 zbNr|(U!7{Nu1usc=J9;18^%QT?{*?McP$9gA0Seboe0gfhrk?FWKt5RGYU1H6ku;j zlq7KYD%24mmA*}2W>J+n(cNIDAwsm`{Bc9+JATcAaI4m@$`# z;x(isLeR|e-7F~(4S=L30J7UjNGxWCqs^9 zm}DyPVuw6e({Zvp>3bfTMQm0*v-*+49#R(3b5Y80vzlFw@CuchqAuICuA@?w>ufA~3=*}`?FB7ow5*gG}lR!K`(XAEAvzky=yK>Yc1s3w`NirgtFsEU@-h z{%wCf#PU3q&dn`RWMu@*c5{t~EM0SzyRBAwQo-}#@w>J87;g)$Qz1_ zbV(K_1w^K()9@hvyJ0zd|N7SZ;~+kp?(EwnQTK$5ut<(c%@}oFw7OlP z@!~kTdGEy3VYTGsYA~k5ENF}sKRSY$c6ZP$)K1l-1Lf==M!sFMWUkzmC66taH>M7j!zzF-mt&bZK)TO9W4XPEBgEcZv4K6g-iD$WiN2 z(16=IEVIN}<=wkDRRtwA95abk(f0m2bgKIJvPA!`6JO*Y-|ONXP6LG0pouQJX9X@T&-S#;s-5bWQC(s_#`qCua0n7_KAM z)XgC120=~yfAK8Wj`YqiAvE?yWs# zm_#iAQvtG3l~TMU2@@z`+mt~uGU2fr#xisMlb+-XuF9s)%dQq}8xRRm`NC@7vXRgz zWHmTTYqtoG3mycTg+k=(A+2ecUL!=tm|Z6eM6C+gjL>ZVoHkBbj=9jxIlimCPCFVTWniyblbG#7(%8~^Dtaax$RFNkRVI+(( zxD#k>XlzU|2-7!AUV`w`axUuN7KX2?8dRW(?)Vm9>l~ zQsniP6hX!efwZBDM)~#2Yn$0zuLn4{D?9n?Dv1>8A^EJ%=XL__}!glhz~=~R%)eR8<4eTppW>OcF*j|tbM--Yl-#TY)J72hI5(*_t7p+3+F2Q8;5 z#Bv-`zUjbM0vj7vN?3~M#1~ASq*)|rle~UaKv~w7dfi6+t=2+91$74n-7KRh>pN%2 zg1^U>q|Io)ByEE;{0EsxTU{eIpL803Rq+G~D_v*`b>r)2WBOmZ%>!?H~3K^0M zP!?lW3wW$;tp}m<9773p=%pB|euuAgzQIGbk^yrClzUiyESe&!od`nI%%W{8E&u(U zR!|dbgA*FPFZPcG+m7wT7hDyKAUw(usN)8LQ?|A!CwN(>nk=BU+Hwd9l0$Y$FP{W< zB@q_H+1{vsK`{pY|Ktw7ll}Y(p5`8duU#y-)NTB2f(~QwwAP6B_-Q@hHGLG1KfUWI z41yr{$~_M<#>T&CgT{xkRfx*cp2te3t2=a_=;erFx*=hty$*3(b#4JvtZ2k>UXJicbupheHS{-^&Lu~QW+z2?f@-}pn^ni7F? z_46dn()e+ym)uo4&NRgO85ZN(xYtZO%+=*D4$4amjDj3|?1PWX3H>3n)kI-MuBs32 zP3xMqc733#NRqb|rc;g557_i?&P%d^z}=g>$-L}CZPu2C5DVwW7BeC%l)lyT6*)A`PWsQ^>|Svhm>nFA)`dUvYB@)EjYwRfNtbKAs-c{wdG5M7i@Aq&aQFQB^J7OD zXK&xFf9Cc-UyJ`)t}g1U%0$!H_qmoA5yLv7jTLrqCGNd0AWgJyO99wiN|in|m2P>rvLRoZg3o9tKe4>rg#d`v5afXbLUS{EN0b!{oBfRAu7;dt28nA-! zpqD7S=*01mPDn}-T>CFR?c5O^e&tu zLt|9GIPuqy0g(cANcvLoQK-xsKD)VDu%OW_o4#?4 zp^*vsQaWX@HXBB%*rFL|4Pm%%s*x(1PH~|P4lIf;qKvy!^{4pRS^>ncEr=Z;Y9m|p zU;I%`)B{U<%8}43`=PrG{$+P6pK1kv59V`LjCVm@b`9v`Y?r|HZ|LTjsgN&CC^f zxv0ff-Sg@+pG&nwHvPOI7{f?BthlUua5P@q|!ssv1iTn6^UW z#@(GkWlYqxlyW8@@J9_3C&xmt8JNUui>fN*-WwGlW!0|vd7e?z|IYyeh%#*>{uRK% zo7Q%RbguM*tnH@V>!Cfz`P4)HHb$sG`+jMR06{ac>LZ7{FnwyLfwk#V2#1p6@Ze1a zl7fKARRBa$QOp&OCu+C!s>)4sexoPEtLrN}7dxar?YfeWn1f_8oeT>J>wAMzfI!n{ zwm4`ANxp47RBbh|*Sq7OWHHJtCc=e-fJ7_JY(;JwC>nbnH1$o`*cbF zny5_>FhRxD)fcXeUOV<#H)b&N|9<(wk8J@Mxq)`Ay1VmSq3ZYg9e7WrSrsb6szW{8 zrGdx_(zfjrKxoDY@QJZ(){0>&$2vN&zP69T!Rd>m4tS-qE(wT=2RkCI8mijkqgZ+_1I8E z&N-rW9$g;0Dmuzz=^F>rLw7acb1)2e4#XDME(d-qKtd@KB9nW%-J_E5HU_aJQMy`_I|v)h!RRNzWO93B^kNU5KO z1Pn<$zUPkDZd?mZ7_Hv&l-TDOOkTT_GCIgK7!bg$0IP|h*I@*5wZjCY*q^&q@y(P~ z`zHj7W-x{UfWcTpV=2G!>gy4AIK^_tqZNoWRe?kUm8n9^eL1>>Ko>gOveZ(9$89Q1 z^40LeDh&Tg|GhUJ{^<6)?0kch#fhHH$ofdP2XB1z-Oqm2qC!w>n`UA=Z@aaH5ui=X z@6d~mU^HtT?<&?_H#;5Wk@w2rg4mDj%(eoC3diC@PFdq zUeU9Z<|D<$SklyzWw?&(3v3RSNIYT@W?(wvh>1egrEpb^9jGA=O@9gxCS%aIt26wJ zg5(0*g3FHl;i_@-ReapmC{G6C5Kvs}tb~p8oAXE`I z;C>XN#l)lb>4t3RNf;}dD%PFiHnUWKxRFR|rboYf*nCvnJI9UPyU zQ`yGLu{lHa8h(jJ`Jn=|Ol^WuhjqcW!57Hz>LX#}VC_7!-W zYU4t^k?`ov!|wS)COd$%-}XqHrN$lZ%SHr^6-xO;JV&CG9s!fG9>K%`&a+n7b zCoz+`at+gzY3~KcNikxMT>kR5m+hG2+&}m>O0WGQ zX^J8jc;>&w79=9=KfV|R=0g)r#owi0-faY(TrckMpOVXn`ZOT%% z8jtvwfRyukC<1{FZ-&|cj-A20p)6Xt+UtuksOmKjN!|z43H*3>+8cVHYUA1)jv^CF zp*;F^0e)9l|`-ZCf%B@B=S zHh!%vshXo%Z>nxtobX7VYUCGnqcsidi7;({Y&2#@x?al^j8c4>s1hd3vBT!>b3EYZ zIA)iNEufdAh%D#C&mg3yI2oR?W!i2>%XEnnvH{qdlob;e5hY>B4(z)8B3@XJKQagK z6s@~PUmVu`ueM#8C@XJ}OsGV$79H)>laCd@2?*6RY;}zR8FE+)1Y}D4w5-Y?9jBO< z%x3bk0*5n6)&>{%9P+hmwC0vmAAYmMqJNP%=Iqoekfld< zmumJv@f66Igs4;1C4k@?VlAYEp7b7NdZ$%bwdoZ!SyhP&#+&!fI-#!W(C4!+ic8Qw89A?FweySF*7)O6|G_xtwaP|eJn zm?LTrkJV`)+ZUlvA}e%fxGoMwgG`kR`KXIC-KdBG0P2 zg;4$Bm8VjUh8}nSpW0&=!T|HCB%)RPkTo4o;N)#2u16K&F5kg%kHgA*C^HGTt^%Bt z_QAQ%QC0ppJl^xZYN}vvhyU{IIQ%U2n+RgQNuaL|-+TPVSHmBCyypMyO<-p4-3xp# zrx+Kj!_{uNyE`7r?yWdfxq2w3wSD${H$KKA481C4M3mBsbf?a1E+}7i+rHnX7&p@> z(+%GN&j)h|7l{0AA?KtwMMuUGm0Lfw>iYZq#Fab5bso>|H6e*UA0E$y8{zZIS2Xua z9S9CrFiZ*U<*{58M}=TkoMRjC{fn_JcZS}I<~l9`kz5Rc!G2n%e#^8iL7C&OO}w39Ce1jC!u zy#LJ9(Q+64-Z67Lvt|)C2+U=XsZd|~WWdS=@Y^to+Ex#PDgl?LVE@fl* zcaoxYqOQ~FU4EnQofh{J%74yn-+zODcI&ls`Jw#O%Ioaxjx+Ip> z2p%+p<&CO?wU(n{V_z~B@nr?W1J2h+PYuXsc zH|v14qdWxth!=3R=O6v@(Cu&t#vvSsS^Chjv6EX1Xge)D7VSD7r9x{K)64HPM$zi< z)~JgxExN#N{9&aPS|I8M{@%x!VliQR0I3lP%8T6$_%@0FL%be^hs}z#r4~-j7V^t> z?yJGUfK1q|rww(bbA+c1tYxyLYP17UkwrM^HBWz#^u!cDagH3{I{)h0W5{;o03RL& z3%uP`1YCc`r{wX+AS*c6Y#DnA9&n7un9I)}NHvryP!a1k0`iKEL5Mdr(k2?1bsn1c ziB3fSqlt1RboMO9)5SG43YsV_gyBAPdK}6a`(Z766`x zW4$|BkOVlB9KMsNEpE|+jc6xv;Q@_X;Js@bALSxi=?|kur5On!(~k?QTvu8Qu=N>b zi}D#&G*v0oIQit?!*f}#|2e%Gn(WHE5F2Ftx}U!E^{&;Y_%jKz|NZ}Mccy?Jvh#L8 zVl{It8}@po#?MJMm*eyL|2Lsl$?e#m`g{!B+@0}ze1+HjHI#l&D~>*yFLrnHgNk&4-|XhDvMm116-1c4Z@kz&YtjNn)a+Jkm2v!!B$D4!PEk1BV=ZEX&%;`2zpd* zOwfNi1>Z>sJ!3DB$X-T-Y9XWy5gbpIkrBefk;l;5B&-z;<;DquD4i(P%maArK&=#` z2&m%De~byxM=AWvT+5&*O|H020qau>$%E&5n@=yEw!?#io-sMoEqe?=jkkH>jOUTX z)3v88=SSWx4qR81RuGC1ts{!Zez;`37iC3s`>D1|9}>6SoXgCcvS`|z`8GG-HoppL zPR5d5X1->77q{O2n6%;SFKOSwC$;|X-y$ue&KdZrtvGPL=avJ{oIPY@3=i={9yVK? za22jt5*%Li8~1(iq&j(a?(LtdNELdY{nIaAx_bH>-op-YWuvPN`KVfrb}!UY2xidP z)hINyykP}vTTN)jt1?!1fn9uXt0)_>c{1ioQMrR!Vbj6vKKZZ^GSFvogsJSs>Y!T4 z!S+xFS>NQHv^uoO%8(3Db4ai3qrKZ%u7P@s1J}x|Pnig*$zt&GA+AqbuR-9bjyUwU z_Df0}6~a(yM$`S04NKZVzqDCZrz-7%pO>0N(07{mrFzDHMANfPxG@w- zk#&9Y`CFR{h4CqjlhT&AWmGDOz`mJcXbjYtdQj<9Hg;!(in|<3iiueGsQpy}k908i z3FwEZ1VwGdeia(ynMfEy7E4H+uA&%G!V?eJknQ^P|MV5Xg0^Ge7KVoQ3)4bXl27Z z76=GbRU%H_`L1geBhqkWL(~QU$fHQq1x`w^CWrIByc&<)l$YLOUY(Oh zvEJ(7Ui|JPXjWsfj7Xt()i_&X>HA@1jTDUwVJS6N3(#ql)Ue1Z&i$b2CY@Y1Sph-L z6#2aOKQx)-xOb(D=XAulxJUlY_+nOAm*+z`j_Vsbo5y*U_VOw)r9Ah$Fg?2H(lpDH zrQ61C)$#HwO5=1JhpyyRy@a$z90eE)t3k$~h6oQAP(&C;6_S{QB$;9}nH^U&FsAcJ z=J4Q`-lh!3MFb=@H2Gxj=Oc;TOF}QMzkD8gRht7Xu|6PV3maw?+;C2W>S^4-5e!|I>k~`Pu{`+glxv2;M+@n=-EK#l zS?j4V>p>0L zba?8A7IO0it}vsfMu|x2FcgSDZJf3YR0Ja;BqG^ltUof_4XfK{6P618mU~s7+snh@ z@OUw@Xj80mFf_){!HD3gtK2ly4RLFxDy~9Ede@Lew+ZTIK4O2dU#kwf9S~%#ngyFn ztgMv1O=ORVt(Y}%PPN9o@ey6g^epxky3&~bYSAQCbg0Xc5aytk{%y&F5ShWOtCvo+ zW{Vsw`*LI3Hp_Sf)uK_?4ND_c0ShcPKhty$FwiRH@XWb*rEZnF9us09h5a}kj^%h5 z*xq2tnbei!yHpG6yG2A@8O%64V{IU6Lh_VC2-L1M-ekHs|NQ2eg;C}_aNBhV_le^) zYy-*_?t^6=Qc_4ZTWNrURe8Z)US~GRo|J)f+vzyAk5D77DOIA6rAhP2+yC9&tpXiv zQu!Y-Ayb%a04f*vaio;N;OvZJcgis#tJ_Y+jt4#hx>L=7sciv^Wqv9}*0V5i;=|Z? zXR`4NRC}aY+MI&gwfD0`b_H48=2SxfwmeNCQ>8jZrE8*8P8Dxu3uZ2*^5b1@}2`VXu!dwXCfc?xYi?nZm z`~5tS^Y1&R!7qbOyT&oN^jAnIn|v~6Z@<~}plv)6NsA9|WzCUnwme+f?5(MVk_F=s zGwVCtj>SX|)vc`=T0+=(yPjiQxH!%dH~~vKs6^MwrsJHkl7XpMEAc^#!th2q3|(R@ z_2u$xGY{?d2fJil==w6ZSzDAV(6Y%xt)b7a$6%l^NEU5FQ>1{FU-2Q)e>Vzvl##&! z-nL>0;}|v~ici<&d0_R+&ee~uNz8hSuw|kGNT8N!2Pz1r%(U4t-Kc%vIRMRMSlsZ} z151@`Ug|o7q-|yyiuc~vPwwW04W7K650X41`or_Vc;AQ@wTe&`il5aaQL?(+LyMtV zY`)(3aY=c2S8yk_Q_!ZyK$qt|Shq>A1R1*kgi2=rNR_yg%aj3S0mwY#^Il#3j4s3WVtS6+o^@Jb6fAT*P#xt z$De$n6qqM|)VmK0;BFe`4uaB=QAZ^L$Z9OP4Y8U?k|K~qCB&#mDYw02bplGrNGRZ% zbh+d#1`uwwVqrE% zu3`Nq9ZFGK0XGb>kLEB}Ay)TH3N#f&;D-(>S<==rWYmZ;L%?5iyVGbB@q~Um**)Vb zz3DCPz%YrrJYECs^-t%Mq5q?mYs<~K z=cKFB%;0K32q6T0MYfch+sVL=avI~po>~JzwuEU~p0a{CCowYbJI^ywV}ma4wOdbe zxqX6(wVt>ij~(yFyDGWRriIFpDt@ZES!nS4eCap;d$k#msM2Ce)&2iY4RNxU!aFR3$}q zf0YmeNBT##N~?P8$TJZ!HtWpmsQbMa3Kj6iG$Df=p?-}Qg)W!Lmo29dj&SIbBfK8& z!+zi6iza15a}HrftP6pxbXc^7Onhvu#1SA18zYEgTrqXSNqB8(eB14&mZ4oft%D&D z;yL!B+In+iLm`0lWj|(+5eaL@6sN%NQg&VIC#h?x93i-AT2-4lXQ~?o3CO_Su-7b9 zpDcM-V!<%SfHf_bt_TPM!+Td*ns$L8|v&6V}ZQP-53vVt7=|9uh2JZ1Tm z7QbHnTDua~a)IqdYU&4`kQjv6cHV2M@H{JCUxRW7fN zI-YBC?k{J8Q2w_>smD(aCG8z6zyK!@lIQV0CN^w3#a5_@`%$==N77)9i4~Mow2Uqr zPVVQa{9 z)sU_;sMq8%NZ#`s-h66}TvDsmZuWyfTvC;nnWAncuY{R_nXXi5t|Iv4rf;+4vDiJS z;ZnA6`P@P#ntI=#GD^X6PYwx=UNT&0ADBM$T+Ce3dt`Rg(XP}ggwyOf)j@H_QC(57R(vzM4 zXWrXb7$j?*bBrXeZrZ)PikR1UHAF&4M3^l~ff|CCV!JtyHxLKqcI3&7NY=)|RPJnY z8fP{Uy`Z6x=$6f)QAMH83fl{xX?Eo+cV@#fWfX?S*&9&s4CP{G1;RO0gg{E7c2c@* z3~HI&J9ESN%{Dn}+*BsUAjBjj1BgKJh=D-9-fmht6%~sWw0?qMWX8tXk6gzaPn*gm zYxV)dWeU?Eb2t31P>&q@qLkYe211Fy;c~re&emPGd~&#!3GbNio&Y*7(>ODz>kL^q zi3y{>|5UtR-z#s19GZ#dTe+OM)DYsd)HF$P{;k2C7Az*Q%X?|hVvG0eZ$BM7ebRB( zS(AQb2$L`r_;Gs2C*E_6`KRCc@3wR!BqvKr&o^KYxe`dG#&ECkX%-O+Alw$9A0aS^ zrlYqGfJ?8bL=j`fjVw3OyhrD@^Tr>%nrYctQLQy8+VsX`iX*?}V^^`-YgVOOasU`S zq%Pox3v+jB|7pguZlcOo0kkHygJP*eY8WXtY$bCSCvpi8Bh_IfEJ}%wxBkvlR6J6E z>b&xAMm!PkV~=3MwKvvBTBL(-Uu&Vnpbhkhzb&pPi-W_a@ZE-&B zxZjTOo~pQ>W$A@8ySfe`Q%)XF3VV5QSXPVxS3s!0DjqqgzErAt?XnRY9&^&ZBWo%w zAGS_~9h(*jd^1F@vAWG>rXUY^aq#wNZ9Ux5SNe6HP>|p)QN6% z(=))9QzPMcQrmTGJ-i$*WeO9VBII$TPiKzA%;8{kpavSeL*byfi)}r(+352Ivjd@! zYat2qnYa>57+y#-dh~lTa-IlUKLSCBXH~RYM>m}G-Q&hWkI7U4lvHWKNola^v@RLn zn$)HbQn5Sal^F)Xuc={B&}BDJr8)HBgJHcuw+j^;Ui|)1h_9MT<`5rQ5xrjc!&Wy# z8!Htlr9xjd>voG2P*uWGwg0E^5r&6$oApd?zXn1IMu>j)K->GWE*29Yel_I0za(olv! zzyFaze0wumGwp)bSLjXKiiTn{dwz{K-tpuzp0DHo`r&_-VSDUhig?l3@J+wNc>Y&E z{I6f%w8(&GDWrk$8k9P0D44@Ha%tMm) zqTjBUQ(q2ND<@=Zg{ZRyRK_r>oBG@QY#pUv_}F#}?^ur*#*~D5V~pyxerG+?@xFhv z^0UjPG6EzGSZcJ08WPc9jpOY)3^L~Vo-TD}D53$3EvFAnIK$}d?2zcRc|q69S94Q@ z5ZOP)nhq)aGrb0c|5bFo%qE`R$B)_h5Jix%Z9<<;5yR}B6aNQUd6f>Gs6=7j9UnBl z63j|r4ljo3EKQ%R@K1vy3>5a4JYDGtwa3|3X?U}J2y2z}UPC%r41e&*8<6rFip8!J zuPAMW#KBPiV@To)7uj3J!0q#|L8Hg zf!1Fl%d>~GbSCrz=Vh@a>&$_{gz+4CVEo1B1=x>H;} zDIWVlz3)4>Lycxs4?jhLlftf!pyj6ACXLf!>-Q2S^wh1LJ_88_oIbJ@wY))L7{(qG0I(%MSl)GutBEk1`Y zgfSOpqOr{rD(+I&7$_jL^kmzBM$OX$VAKz{>f1vaYFavidexoZ9W?Nna+aFtF1^TH zKx~;x;RItU=nR%lFg80&lIL!Zp%9SCPQN%vFV)`CjD-DloU#`|xs~@r^VR3daHPfc z*@IkFR|186A^0a_e% zJz07jKw4l^@#3HpsxT=ymk>W1iFBF<(){?$`=*!!?jqdIi%;1$V5FD1kDs;V2$jQd z?cAg8P)Ck2)(X;V-E32xd1F2fxJK4pxRYSr_`8d}gl|_vidmFExln0?;|`J_+MBHM z8H`|~dV3Pf(kx%Kc#AVhvP0ek3gAX6T53bq!J?5FF2W2m*jtQc1Z>ouFrZ#Jd+7DA z!Eq-J$YqM4UdA;zoWaL-&N6J3M4v$o5<^lPf+5C?s1`<4Kpw>_Dw|p}OhOm+?Fv?b zc&3Z?^>Cc1G<)+>MB1j`mJ*MF(>Wd=)aXfQgS;8@&R$ z^X^Vkc6M#AjrblO9(h~+eDRKYJO!nPrah60U`7}yb-8xXKXB`WS0{CAQh9?WXWiQg z&#YE?ybF+6r$Fz*=(tvY-MmaazUe-H=ZD_7_1T@TnvuNtOc|3^z}4O9WwU~HVnWo> z5lh+7;HApxcFYrm;)n%3i$PKIOJzNnsNXj z@=SrB=U6Q%v-(-P$w>F%#L`|8WDod5|E|8=ZU77?)_-!hZOayixx&fghY<57Y>`p7 zcor!-VJ4qQpghOYdGfGA30T%mpR~T^&b(l8ThV={H@e&7)flC~yA6@bJ`G+TqVgWX|m+ljI<@Ed1iAIM>B(&Fr`H5W@!%}o?i4Wrr&YlD$b0i1$y<* zx3^XGY*2OcgT4Q#-+lAe?Z+|n+bwiLLI`4M8s`i+a&BtLX`bQ~xaOu5w{*1{Wo_y9 zQB-QdaWtTZJ`Y3JPbitXM6qU&B1mz(#;_!d7=!BUgE54=Z7Eezh!#fTzDCFhN;Mf* zb>Pc7qH9?EB;Jcz?W8n;Z?_qvw0-lz7~6D<%3T)J5KWA2c-D&qlNL_4DmTtvUNYTR zT#mkdeTRz?vgg<9{378-f%&bJycx?j&M?9`{a_4lW0qR<#WZrY)HLqpCFvt5f8ts< zA2s0Jyg4kSdiV&xH76GpH^d9h>vMieY^OCp9ZFzOzaBbEeHOBSL=&`tE9D1cu;~|V z2s$d=fyED~2`J=?%8NSsjZNBC=q_g9Y?X)@UQl+gF{?m2?>-o#t}eKDj@%0sC)zx> z6Y`7KkZd(-2g#{<^67%O`Bq{nCo3 zTb?@~42O4~YTnQw+hn_7R4HBx7nw+AoMq1a){scDp9pRUhRJHZNg*3)!P1#HJQreF zv>gyus7oFe!5C-sO}jw#KwbF&+nEd>C&#jwiqj$nyJjNvLk5S7ogcKjkozvsS`8JO z)A=i16MPI}Gk^TtjcPj&+wnRBh_kG~;hQBI`uf#q&S|pb9PWcxz0_hcjc7!?Qd{=j zV&UrwlvjSszWdXN$|coS(?%KplE`|8d9W&}wbp1l`t@uYDMw;@GcV~yI-3sp9kw^X z6mcsLZbjE<*@q7MK!R4niBTzc7|MV4hM#+m*s=NCMt=y-aE-L$Kn$=Hw<-#n&PO0YyiP$4l*{* zmTC-oy-i_WEdK>~_R2Ngx6GDjrqd;o-+N+jOAbBs17wgZb9=oJ(ek7SW>=QhSP0(V zG!u6mV#EwB^FT4S0W4r6sPNRGx*`T$D7D(?yL-~$L-;1Aim$8K&ewv1iMDzX+vcX7 z+5Mo}`YYPnw&*WDwb2`{3OPn9kLoa?R=tzuzrt#y`8kg$Fi$H8yjCKx4 zRgzP`x1D7)r#Y2WOiEHkO%;@ll`O@Rb~8GA>=IyEhW<@W=pyL+-vfkF$vzD2hxd8E zVsOxMo|>{PLb>rvdEHJqc|V|d^zxQm+w|HW$zPZ>X|J9_C6Vv&IxT`hN35w^S16>s zH%!{)wy}MRjyu~QkE1-t6i8x3t`IU<({7a7&+l3LM&Lg;|LhhdN+}djg#;QXJ8sbS zHzuKkEe&Vohzw6q-l9t9LUTg-xekIwoXdToJgW{^;}tAy$bjJVYfjtFiZlC2=j|>I zSfpj360Y@Q?m(=R_It>fZ$Rje%ocHiXs>N6Jtlzqre#iMMSN(FH>o1?{ns#IuA*z`FCS?4DagtXfb51cN zl+ygAzy=eHLiB=^UTkwpV9UK}a-wW#jNx^i#)9LB!&Hc%#KmQDN*r8i>IL=yh@tJu!?TAIY<0q$gf_FNpG=QpVbKQh4Tu@Y9jtvs; z^w5zedK)xt>RbYQ#@wg^KO%p}1!p%iq!aHRgDwD}2T-yPrh}HH^da2U@ja|sD|WNq zHQvtf6}P5Ewr6(T!prOH;*6r`a-&$O81@R1RR$Xbpn_}+8;06i#FdLCHeQ7W%63Y) z<+d{AlO!acH*CkT;)_&&Q$;^|>_4DdCX-UC?SL=dK0?U4Q(Eq;K)&5-tZGk?)>bQg za?q$j%2|{0yu2Kk4XB3^uO2f{%(kBM>2jv$)T(E_4DvrVH#j#ylXl7LC)lx}f{HrX zvhbVDEcyu@fg2qj-Z{LtUn6zMX=0spqCJ6B+Ig$K+|df!r~PWEmoO{t#ElfGg&XBZRtHe@I$ z9w``2jsVL1S^)~jr5D;w#Y})ZAzKW6d$;jBd-1{huKNqKX0ebMi;vPx zp)^G7#Xgv#Xpv|%SBl%%77j{eplw)vj*_N%ylX$xj#G%OU_=Yl$< z_NbkaQ=K&-{@K5a!HFG3r~aJN{Pl=Zsj_D-W%}|h)$$g3D9b$PLkNi>nJI*dXmf?v z8V9EVSP^i3bDn3zS(=N(d#9gVFU>11J>U9`BjE7ll=uLbB+EPjBY2cy#9TI$&a!6M z3Azk?rjniKLn_mYPElw&+No{Q4o~*v3v)_8XnV>~NjfvS4D1Iznkez>s&gOKy4>OF zo!JtmIm7lV*q8ml3uA~Y=avCszGKR~r%41; zGVi*s$Ji*2saUFRRIQ;{R57tRjJ6!632XCp-DsqWt|?5>!U5H8%mcz&FMVgb=WY?8 zfBNL{qwRzK7`6M+_Gr82=I&;q4fgtO&PBCmEFfE#SvVzb>wt~s9*gqaArwYC@&L$d z>mS958=L9!Yj1jQqUp5By8;?_At*7n(l#o{7-?1^c#QdsnwMuCBCafmBxIO?5>hmX z(Ji>E-Eq365gnX)P9ml>Pz_xQ>6>PZm%|~wy&rU(!geUgMj@wG$f*woMAOlC9A53B zhk=8I^(;{GnBu|*{pG%)6aiJXl08yMmg>>Y&xa}m>&9nsc$eE_%;(IxJd^C6_`;V2c7u35Y`)q%0aghHnr3YTuMd6a}DrA&$nql!qtr*CqrBUJA4@n@^EU z*XPa{_~JEw`K+CuGb$36rFBAl=VUQXdBz{@Vqi526sl)2LeD8O4Rv)_o&&DMw2NgN z6eCL5oyGAEmMNA!Dpq@2o*Cq55Lf4zlbH1(rdX2r%f}wco~+V|bxdp$&tkJ9H^$U8 zyxhxk*#O)|&?gFrZ7h1wjdA+~_b%^>yO1G9V1Dn|?joK`48jKC7KRErv8qyHUlE^O z^@NwM2u+5f^yKlbg2%SFakj8{yjX~4!ye;9AD>3Llmg2}9$;|t#nqXO+Uz@~nbZpG z<++p0^y>42yEcok2;wkv$S_^w6j?YsX98?}j43Vhb@A@-wQ-4Z<)vw~^g4 zV}evj!FiJU8@~{iE%`B?;Oky*foisf04KPZLvOm&{7wV$G)uKHYcm;*md_hn1`ddx z7X~m~B9D`YU8#UZ-If{Q2M5)l4ki!eszMfVyQp{w7SRCR1?yNjj#i+??-^1m#>Gayv4iHdOecO%bcL z%;~n8n9lhRh&bX?FPeGq9BI;o5FDKNadSG8vJ?C?-xtmRH%*n54AX@Au6JZK5lh=@WAEzl zUJ=FK&CS|hk+`BR8Kfd|2csDZ8caiwbvZW!s{v{pq;{<$w*n$0wJwA$s+;y${8i(M z?ET^$Gp*`wg~S=fUSI0A)%qT6`b_0=>h>i!IyGkoTh__ z*N1tjR(ildNkv3O*j%*a>{s_(_S?>#zp%Tr7}KM@dK5=hKv^6PtJ$eVYSVVyFsT^NR|ZLyvNEM% zn`Gs(G^Ofw7@9xMgn;?8*I|%S)*7mdlyB;N*bd397eki9=9ml$MYj&h_vmN zt&dcfa*ZGjJxn~YB!7VU^WWbqeo$H?)=2Me`{3&DBw4@V9$fm+NpF$POrtIZsPZn2=J)^&10E)I_d643z8K` znQ)^J5egwMHjSe-MiX-yA=Q$69GUa&;kHQO&wa&zbJ-}Ujb|kF3-Ed{m>2yvxp=NC zR9(D-TFy*eyUrSFXzlKbAKqEQpNXq_w`{d`6n!_KzJ8ZmtMAU4eK*A8qaN?wNjSu> z>Q(kaz#Me`&bvLzVk^dKIO+#mm~je@oVoknOW9P#KRo@oh};v|)1f zP7w7|++?_s{4JjH;EY*V!*3M*4KUA#>Gk8?;fVKsN4y_$#Cw|~-k&&<&sjv!WR2!O zc#pW+q1xvW|5qIG|Ggvr&pP6Nz|kmlEUx&!02$BZD+g$gbqnX4RMkGLjUmOk zG^6*Y6l^SpP*su5_rZ4|vOkl3>-M3#p2^I3*6mJcYb~sz(AVv}tjc zM&A4@Q`>wZ6c+$FRJ+erlh@w6UFIk^;T9c5)J+-+*ws!5i-N*FOZs0%7^%Hw%&aI}El?9v^WCl`3djQtd(Zq#HK5%|*@ zq3wOW(QRu(_qxclaVD(6=Z8(1*_`zBCbosDifM|^Re!Et%Dr;9R4^Z`kOE?t+NP{k zqLQNq4MEWemZM5!x%Hpi)ad_jpvcEh{WVG+Ff-d~s+lgVqY9LzCm!lHO->>XZud&& zcPeL&YkFqBP=5QoW!gnFgHKv4|6934x4N-;J?iot&ojvLTv+z^9i9 zU5~k(5jj~4(sN*Ek=6`@*&=<4LN)q<^^f}_B?M6>sV5=eT*0}fmI}=6U}7?51c9KW zONtE~G2ldj^vO$!C?%^S0rY{E2%RR5j+YK0P6y``^kLXD3AJ!PmpwL7s`*5d z8D>dO`2o`7{$WS(akP*^aD_omZvuX=;^gNbs9`-mr@9R;O_gtA9!p*HBw&^Oh@+akqgS`pAXV@$Mng((hDmR;oZ)b^BS4 zyY$RF;{)JW)#`xYVYa)#T{-vcuV5IeMFk=#_Syy(;;RKcZ5x;`ywj-)_N#vHKR1Wt z&_2jD({dc7)pGq<*TB)Z-7FAq2esQ6D0QnS#`7Pwn=~kHCsdfQrPu`|84MK=jO$9Y zlC%VQT0DxPV=S|3fs>owGw)EAED9J=>Lk+k z316s@H)bxXH;^?>h%w#%3Zn{$JVUllzGo@E(E z68Ft+Bf)MS@yz%Xa!`x)Z4WEUk$Vu|=M_JeLWGpSp?#z)W{nuPj_Gt#yD4y`Mg-sH zM(z!&-s)SmIB#L@tVq0N9o6HtuXIlK+eF`fd`9w%ccrDxG5w;!cruKcZ*IRZ0}M}B zO^~a-Z-w@#ubix04%42+5IW^V71A=*pb8^v!!hhmc~+1%x_(IND7MwwDTOd6O4LlT z0yK@W5|q8Y77R9R^L&iVyKO(Jkq{N5heL-2bYF3@gNh~GUjQ-_u8*Mgsxvlv;vlGF( z8|KKbQ&7&?S?sKKGP(hYWF5~eO#`y-#R-qhOM_9r=Gy(RV|j*eYh>^AkmPmCmS;p$ z6)=)cTu%Oc$)=c%Q*F!Zdbxxp7cN)U>xip@!Uhg=HSc4GbIm}Vj2hD_657p0ttJ;U zN~a4MFwzjl2o@-!f)XPC#100kkQR_ z=ZBze;kp_Y9o09hL;}h@&x&ZOvcWvcI~X>FXQ~GZ9uxiStE6LJ*o)MlqIwFDnw3H* z!xWE1_)Cn05EVB~Te>b(v*7TX;#obBu35b9Z&BO%@K|sW$EC;~JlnrCa2*Qm*4U&| z6Vb>bSZbW4!hl(iQp^_IF!7|pz`G{Kn1D(>zYUOM-Cr~^(}mjdRdPSt`8^c;+O=oO z;W(Z$3QdSSvoQNN;2nA-)&r=w19)X~Js2NBmklR;JrO87RXX)|u`9w)U8ga*bo#=C zGjE~ZTB1v7 zl>Wkk&B`Fn!YNU|f*G&GoQ03#@C=jUt8-LfE2Ml(N}P1(Q7bsoLsi+jMYejMYNUB` zAqhek@MmS1&B?H1neh~MDZR$T{v%&G&mPH#8kTG8FV+(9pw1@I)1KV=aj5)k5R`(2 z2YET!`DkiY+&DgW!d}Ab$1-F2nujrQoHW%j3`v$HNugF$dcn#N zdU_vZbSyADa@6Yx=D9E_!J;7|s>U(-!kpYJ=FBm`D4)m+8QBAiNn8c!eOF^!Be8CL zim!`T7qNPHDNmo~w$kD@{i3R$rKuG9&2Ru9f+UaT=|2pHisDf;tEcH$W@Og0REvuJ zA2>XzbrS{?TY`%AO=rDzM~*)iLuA@ch6;yTj5QT2dexzCx0p3k%9D8o$qfq*^ld$n zF}_QbT0MJ%`;!}be;VdbeXD%iA!Ac{+HSxBtG$C?nA$-rb@iS&h;wZ9;q-Q)94y}u z^{{rVNEF*IG8}^*JDyy$Ry8lND9B*YM(Qs_A0X#(+TqC5 z?#$W?+KGQL;x*IWR*{P{Z$naG3mt*1=fgsS9Pi7mpRm&y>sX)(7$|jCF~}O(EjmIb zULIe7?lhfp2S~OHbFWQ!fbr~jswX%$PACINm`Xh3CRe61te=7 z_Ll-2thg=LP*T>QT1=Vdm;pb{-Eh8mbHA!MtYK5xe^XZgVa}|V_BQPdmecc~h`i`X ze6+&o!?V^dh?@R`OcciIjc`u6J(NR=yVJ3l-Q8fIFA=B3^Tk5(6mHv3+8*5_#RE#t zd5!;khC?bnqZuA*NY&dFsir8%L0P0|-YfVHRoAojg+el`xId|QrD-{DXo*;W7Sr|c z@z3rLs+}$Rp%YC-OG-ApBU3lpatEWVRs;5fjAWA+zMruj6pWojY(ix!h4) zl$(3~W5z(}yAJ~zc@^xj&2eWzS+Gt*&WPnG)t$htpnoV2qU)OjdKgQO(oc3uE!b<^ z+>>#a#z9%_N)-rrw)IBFE;nC{vXWqAywxMEBT7&Z8_*Dp02GcuBSqX8(wF~04s+F* zHScVUjxVr8$iW&hTj@n1qaTKFx@vw z-^NxX`1qNo;?Wugqmvf6_d~Eoxola~6c}9z@e#0GQscamHP5q5H=d=dLo~vs{S6P2 zeDuCYnNPq8yH<*u!O9tlWqVgcxqbf?&~k12rlNobFbyDGN*7&3faM?ttfpYjuDX?h6YF%Ee4>B z3FCpyWGhe5g6u}1}ED-norf?tRA!y)HZ+BXU5@`B; zC>nHoLh4JFeNe%$Jd*wzloL{yLC!DJQH93J!R-vPRzUqrtr0P@H1&&nvX z%NEX8TkIh;9j=pcorp&OH+39FtEfc>`#?JsnBFn?*?vz{dfNZ$?;%jA+U6?>Q3&7p+WZ>eQ+exI>6zt_>S7DRpNH zxv3YonQCYBpsGSA1iwtuxNT2gnqHPLZY?8_c*Bh)9p{p_+(T62nh5uv+>|6G*a9UT zQ#MK7UsCqMzHy;4l{g>a=Y2HQgkhfvr}$WM`}%e0MwMR(W@(*8Kn+go4k;jZ(7wa zbdT(n3t}mo7%iv58_wx|CbbTfqKn{Nc#FeX6?ZLnt!Udz=Oyjm>%QtB8jgi%-t}qG zWFx_hXn5##EF4RfirI7~+0XZf!(PV6?^*mthGf{@-p`z6x@j)87J4Eh?ukp0rJGhR zFeMqHFiw`D>#a=6uku=d@LI8qA6qrP48uZ@<0M(yi?nD{+>C1Jy|GBTr2Y2o>W;Ty z;()4@?7WT-FGjiXuxpF;ZupnQX0v)2J5YQBNJ49;jj^qAln?k0bW*j46+5JL9Rvd9#3uExvCgX7O!Fjjp*~+6~g<$ z#C&CYs@UbHaUppF!*Oyolesa`} z1P2e=231I?HK>-OO|xz-I$Q7)Km7RSrSE83$7C%f*;cd4COhqC9b=2@I*+=Lc0)kC zPo|6;|C`T$v;4ohEcAjR!8wWXuWUZJ?2Ft_tl8nT5M-j{A_71oT4|g-|4Rf(=W{#@ z4L!qjYO{sidDXtqATUHVR2UfON}-|S-3`2j>N{;jdZCK!U5O;Dxzm?1KmD-^JAp%e zau5-7f@(9_?NiOM%oSrO{L9J=sH)H>qs&mn)?6mUXd07CAT$SNQ8|TImWv_qZItDl zhca)iHU9e~UP=50mg=!#@rWf!JO*GEPDKR&eE1;v&A$=$I~F{eGPYj(w@8RxXdJ&< zoocn|0`=yX%KqVJv@Fkz0kSLv&Q}_y;nj3H{EQVIB730rqwkPTsqvI4L-*gVUw`|< zTVH(s#TTEvfAi*`s;_GwHHL)kX;G}I;OnSHb#A+3E9}e3U^JWN++L`vMc3n27x#YD zIW2;!5r$V$i?+RK`vhTB5S2dH42p2gc3fK^f(#TDU>xS5t~}&j%RW6i28G6nXxFV> zy;kkoHELIJ+fNqHT>;OQ57Ve%p1S(B;7&Nxbj_X1U)^Oe!nzs={-JrUk833j%;?Du zx9S`3-}~zElq5tj?@5 z?5J9oCPjnCDNKRZi8j}mJnyIyNJ42r$~zOu5HTf_ELNvU5m#$4x8|4B)S*4l^1jvuFff-D4|7{vh&Od}Mu6y~qFCE; zWm2_SeKAa-_XjsK7BOYvPx!i$G|_Qyjd2-JtKk_A3+jyW##<=Qr$j2*0Kdv(;{UrI~SPVlgG{~XeBvpKKjZ_RA{j9P1U@dE}fGZ#B4 zCHMB_WGpMpKQN4pC&Mpw^lk<@w{KluwY5LdZ|vAtkr8^=4v{&fP#g+J6lb zvNV%!fQ2EYkv!L4VGIY1atbj())b)5xk4FeQ!I+PTqTpInGMs)QidA5lI)0-w4g3R z0PfOsh6}Trfn}i@`Cm#m>+WQ4LT^*&loUT%Rbg`wg5Nj^$AuZs$IZ=j!4xxF8^aLZ zp+5e{A`LC)Vi3&pqKkjEX2a4}J2DA@0PBf9^Jb^2rNS^$s_OK1Y`BT38`s1~QQyh{ zEWUT0h5LiY$0Tc}B!&_Of-Dl4om4ulIm4MGxpNRjtrw`n8=b&KuT=dR2!PUEeqvK#Z;VU5FYF@LEMVRTjQG{+!`S zVGruN6?~3kte8o@IVYkE0ZGp#nMo|HRj2CkmT>DjSh?x$%)|HId-(9(r~i|%d)DiD z*(M~*(rBMfVfTzOfvsv?KlxU#Hbpq=aoZ$^h#HQq>1X|+lQDFhNze6;2Lj~QiycbN zjk^j+OVM!%=jXLVm}C8JP`c8pOCIf?9fqf>`#NkT*8Y+&1rk;Tl3k-myYF2<4D{#j z4GYdym%fax$||)#yFYm?z;qmk*;}3K%+f(z7+3!!=N&3ymQKMa{>~)s`;v@ezToZ+ zm5IwTQ1xv{yuh5iBglR|1-;coBo`)l^ymJC+}yYKO^ov)8&7~n)7!Ii$(S(D*^&ys zr7*ATK^%JP^$YfxgR}?{7Op;Ga7I%;JX~U_%5`FrfFPMl9)OSi zofW6gc66SqS8Moo*iy5;HHZ8CpNn@x&?`EZ-Hnu}Hq-feSSNngrdAel8x?;}f1^rH z2_wqA*hw?SOEd7lF+iQ2n0)l^)L!lVG~Z_Dk5_j9{<#DQ=g%li7a)1NnZbFHPL}O@ zC7$G(Ja+)xb_p<uhz%U~eR&cx6gC2WeQ*3AAEW;K&M= z5IQ=>Ve@mKjSxZ^VS4`byaxVC7;5+F}L;O+pmg_@=ZRF9r?q{AmA4P{N&bX zI<9Av1QATRcKSzgXlK>_rR}9H#c<_3zMxcXk(!KuN*nIM>$x49A2Ks|BdLk!^4yJ0 z?bLgm&$KBnHvpC`m9_20Vpw9kK zyJCv2{?D_<@P&$^em|xFxi`Smx^vj@puE95c@v7)H^wHDO>vig6S6VWWOelM-tV81NZk5Xz3RCM(~z zEp}PR>FUVq-exx-2Wzdi)NmgBnoG`6?tnldvBQWmJfy1 zXJl;K=Kxunust%vIK(Xzw2U-Z>~qpei4@?ZL9S)CaToEaJHY2_tF~@GK98LGru|Ap z(qY>mu{z31%qcV*OJ_B7%Y&3L_4~zH?bRAN51E<29-z>z_$Qc8!yb}WR-=bUN|;S1 zR>@=>G=#8a0zR{F2;o#y!tP6^q@UD9t@E|WiVGJe(0dvTXRhc}nm`-PEY>x0ctWTe z?6gQ3)VMT4E(SyU_$|%ro$wOyPOvQhpJSWZ#)55)Yp`Sf_3-YIJ^QBWYF2*5%Du0&zN9O z3H85e1b02vKTaDhFMbLY;V6%S4L}2_cE4;YR3iKK%sB)3>|bASIA^dq?Umdz;#ipW z_S|f%Vimq6DVW_tjd#AShl)GXYO+Eks$VVpMIRjbPi{lSC*=NF(O-in^96s{ov6l( zX{6_UI02Pgne2GZw>9k+?~)b}5M{=$T?9+;Gt-fFL6$0Ll$0l~JLVfMCA|x_)GX zP{n|luMo@K=-w+`{P_K|{YUy#M;g_)xJ(rysGIV*tFFPredSyVMv|)@4ooW z@_!pK2)jr#q_lbO@E5tC-7vMs3^EEOH=dE4;-q&OX;n7}vT+s0FxsbR2CxgEE;p3> z*d77PG7;X~7dP7e8Zzpu&zE3G^DDqosuilN2R(t9{3^Nx-EvB@8iGuGbU|cen%u1$ ztJI-6T9$(cC@X6+TUC_l)&*#%goyehaVz?se_@o-7m5j)3y4n@6ot)G3dJkc7qt3 zXiwJSruz2R`1{I}ogcgeCXSM)P_;3KlgXBy7_Xwb|AAFr8Cjxp)b_1gDj^iSa2V;xR;nh6Ct@&9D_V!)Dl01%LZ`zw6e; z8-McGB6yM^?+d&Ul_2&OL&+1}JQq1qn-U4^ zz>Dxb_oQKDU7NAJn^eoCl!;5PUdxsJx{ln1sKYhg;%X9JN6nC^Fmz)HflLJ26P9@( zO*I(a>WG368OmI&s9H>w*LDMfCQ|qX`1$#S_yqWbUe24x|Ksg1Y5%ofUw*ZNMVC|l zd)=Nxa1t(=P|N?qY3XNgJ^uAlm)~?%^1SE8xgIT}R2|b9`S1VInOR@K0n}lo?RHwO ztUlMW{_A;+wW_8%98BtQpPNHe`*}IcoKce#iXnoN-%-s-K4mkwoq3RYKgg=MF^+`$ zCStEHAplEx*}nl&E?bw9B(w$a)Dck4sZr^cc8q%I5!AR5gMKd?+j9?6 zuj!(S_BIyoiOq3on1&!=7HyBVb9TT#?z$!?R2>tEAjk*=Qdv#f4r8vP8;1mwO^sRC zX0z&V-9UNTV=;EY42rk;-cnV^47wmIXvtbAQ%b6uka#7TqDP|MTS;v#9O!Cnlymnm zr*kktAy)*4SfLtOej$EC{6hQ!0utD?t?HBS*J$nZ!GHhpw|A_=Ty2q8%+6=rR;BtSTTdf6PoI0%OyGqE8ID18FO<^V5O zP->P`Ev*TKb;FrNJ!%O=?KKa`XegseBm>Ad7KjRkM)8LVAsTSDG-vvGK6Yl zV5Td=Nfft5Np2otED9;D;w@kV=evI%3=0{7)JBk8js)|WZ}XdHZqUzpV1?7?+y_sD zkW0*|Gl0s>oxc=giLbS~N?hg41Hcc{f`oPdSUve)6Ka_(mr&X+a`@gaJ+t@eH|AHt zR2DYBo$oHSV&ng5s=csD9fzaV=oV#X!ke4$KyDCWg!M`kK=~)@db~dIbEASMdPL1; zHJ$unusH4E!7L$0`^dJ1B5~*j|F)`KA55US>Lx;Yz~^F;UaMEFbf=8#-QWd`^Tdkv zZQfdLjm8I?mN`X?mlWZP@5&%IXXxV?!& zz%?!kMl@5sZtnT;)chm6hA});(+(Fr@>sci<75fh9yepK>DtCAE_)p`gX=9ee8_PM zpZ+J$uWpa>gTRk6{IOYB)#Bgf&dbK>s!zNvcOS4YY8`8U2*X3Yz0}*Z&OuNf6R|=ok5YTlH!<> zPJ2D|brND<n}CqV zGdhyHG|?7NNhh1%ulz&ki%c&7JwU?0_O#NA^Ok^`5uJxv+4Z}_w%Ss(G%u>@OhE(= za5#G4y>!(%$tXJp3)h_k@{Vq`xieny=hV9>Qf!1BN}$K3QWd$b-WtcY*rDi36(sJs zbX{&wNsc4QGEc{(S^BVI?OfOee|ax`B#5PG*zMp^HVM;qMaijXz&C~?teokGu@j~S zR@I?uHxUKqO?n>RT>Zy+MPKB6JThrBrJF<&E6Iy`UE^ng;VODI`$2pY6j{I03hzq& zp;RX#8$T-J5Fj#qoCotJwnK<7=(Tu=d0h$c9kye$!X&{tw-sWUHQ^$pEm^XL5R%#Q z<*UNuO$#}SDc9Wa0p7Y-v?4YsoYV}(tZb&4$SE%M3jlT_Mi;V=#jH_d z(n3c1!LcnV@YVP8IK$NinQXZ!vzc3ottIxi#jnTW8)GB!&e^>5;tbO^#n`={DG>3> zBOjpb>Z*Mc4*Cx^9sVXeMB2YGdO`Nf$A59H9&J9>R|ndGSzH6ZqIl*6Uqp zTR%GdgAe2^Q-Sd^1t8tLpE7_ivzR1zr}J#9$9DG^S$MInFn()bJ;(bqm#Ol%2dWqX zNAGn=FO9P*?`5~#i`T=pqcLrDWc_J>>Y~VgzPl6hJp0^5O}ya7Wu4bLXB$;dGwepU zD2o>WVn6w59JRZCbzV2)Q|nAfSYIUjZ3%z?kx>c=n(k@>5`r8eyy5xPEV>lPKUXvj zAMHEqb(AH%;4hfqF$p`jiPd0h9*Tj1`xR+lcwlJG@*=g(JeF(V2ap8sEY%d$jQlY$ z9AD1WRuXb1Nm-^W!JnJp*c1gx_^yuld$+7?)kGfP{i;{3`N^rAaKEA;etZ zoqOQEeCPlA#6-1iPhey@4+Q3x<=)qgSd6}|>ch*t?K01%w1}UF5hHZ?p$tx3;P+g2 zNk4^cLv`5yq|Uhos>LlOqW4nIWDsX`I^f4!4`a-_>wAKrmFbVyXJKF%BdoRJ&$;HCVMpw zJBctL3t1aHV5R7wPU>;NIb zMfofGQ)>Igt-?6d2m7s8kw4n6#8ln&u2)heB09G7i4~q5kr5-^MxoW$M(mJAfJ9*}?3+U_M+4 z(dw5c$Z1_3$yMQF82QB~sQ<>DPu{_HGV-JqwA2zRs*;z_gM#>ws94net1z=xCBTBvg*3?(cX%Cf!mDD~gkxAI=sIIvA% zCALRv1}$kxSdZ|Ay6dpy8$bga9lN4S_|mtByG1>L%~B^Tqz8go#Fa7g;!y*0?ssQmIpzJr41J=Pt*axd% zU5eNB^p~ZHFby%I5B_P*b3jr`IKW~`Q+IKgfW&irD z_^@!+Pa&x2IRVUy}&ki?^HTzHl$*`Zh~D#OG5i?5aX5>aO* zDT3n>WelB9$$?|S1_$b^bVwnfo=d%$2et1z_bO)luL(-5knbut7RvA?Yxw~ z{wr$U1P?(@$>6n;wx>-DccfQt;xQwSB*w{A&HVJ^EQP{FJO5X{3smc$IcK|hc4+3v z*g32)Wo+mJNX{**4jS0_=XjQdg0P0Ic|b7(Vtxj_< z?CjM*+a$$6y9*Z=S`3tHCf@Rk>Xeg~UU}i^Wulb4XC*Xux2wlyz!+y_Z|P>$dxo76 zSID5Fp5a;P@>y#0O$B-en#sg#fxSYitMaE(4D(&)-!3zjREW7GichJ*;MPf&m zmtC&%leMj4>ZSbjC3Q}fn1n=#nCKR<*tSj1GCrA#d79_2ux?$eEujoV_7X{{b`s7{ zINvE+v(K<@kRixa914eWL7-4}*c@ql`Zn+muDx=bd)|!gYiS?$nwT+Rl}k;mT3KQ% zk>=WxMXwg3hv5DykP*Mk*|N^ioTk7Wj9u`~?xmLRo=tdg%lNb7)p(}gl1(FtIdIqY z-B4=8O+^}W7{^k#e%Y$j;%AG3GUkP-`bM?FGIj8nySnS4ubcF-xhu#df&{08Bl9d+ z*a8U)(VSk33j^Mw=(I`2TBmiQ&Iwr}aPz_?w&j}QpX)V6oz=YW0W)fLIP0+5DqsQqSC4(M6A# zNl|RJj-_0>E$17N)T3R(y6A$~G_xzh4f>e|r2~O$LOu=xKp1JXIP+YfqJ;x*&;bz$ zL)XE<&Na89o(tNm`VL$CySUido`BV9tTS_J29suaTAUTOd8PoU)cHi}U-rHR>}knX z0}n{_#W}3s+;1*%>`@7@PM<*Sc3M81&fX{bO) z#g^sJKXyh6R~xx-JRJjqqe2HXNjfHXJ|k=mmmH`$8WWsCtdjr`YhTNpsAn}btE3>U z%3fNg_P%>dNqJDdfG^+|{rrO)1pyI&R*~2G=xckKpl+?wgDqp_Ep*T}QP#Qhg!5&i{yG>68m24lZnFYBXEXDTbe!+?#e3qX%` zRoSxxO1~Ud?Gem1G{n}x5aoUeP~kIWkU;_?uL{*68`3h+Gyu0?cPQpQayi)fWy0oC zYwAW&9%dL>>}Ww5n{YOG1j1-``wD;3XNNJr+Y|z)b=)A{BowUQMyXO4@jjBH;V9WU zUv%C%U)6t6YK@3ZzB?W% zP=|gqbqzgADdW@pn(XnN(uxdu-fZ5g%>0#3L}POcw#@yje+%)+RfqdA*R@qihGK8 zpCF7N`i=o<(i*BYK{SL9Iys?nSW_)2TiLP8H?++R)?~W;_ssC|hJ79Th3{qEL9oU^ zg(Pm^`BXTO^);DXra!^9d0CTUV_dG%*?h3s?7R?%0EzTsTb{z+k(^Q5g`_9{siNso z5qfK+7cq@@X*HR=t*|)3f`4Av+*+*tiF-b9q*in$3 z>2N*YC+C-x+{kv;7R$hr9(K!#N}^z;54+D93f1Sdz1S*Zaq2`-U+~As@vcBwaS(oq zZZXo)u)uu$tFoCWLEa9z%TGM%vm-bT^TNNS<`^2^aQe`RjGV%X(C8_+VJyQBl^AB2 zu&9@m#jFL&fa!XX4`Hiyy|#^vX%n%#zUjUh>T){2*1!7HR7RRQ-J(BH@i8o!D6n=> zoFN9bhuqJ87*B|xQ|Sx8NRSHHG4sgU`XCRRy6U@y@Odb#nK8>xCw!)E-KsK|yJeA2 zvq+`;3yF;_J76{<2}NVe>f=m;fIN6^8W>PxuD7C#n}`}6|GE)!=jdf8L}2t65%%IM z$`K`~HAD0&7>aSUVO@*X+J_A)4i$!UJCGoZp`#Uq^r)Jb{?ms+_HW#F80$&GfsWL) z4l`uB0&cGy&s|5M#?3mYm+=Zt5*VA{c)$eN?7t(@uF~kHQ;Y7-xB01p2V}oM_%>dq zpKSdzY>P)?;dlM;NZ^XJBe!Cj-F9>d1+G8K{ebIN!`+^L^F}(i85-iPnP*uu(4d6_ zk8Kz=h3-cP&A=H@=g8+npEBW|078K)Iz&W(tVirFQV|Jk)^r~TobbhJ^DoryuOP5z zgAC-L*ModMi46#@>7}Jt>G6=<`Tg>gNk*H->OJNhO8+3KyT(i zxWPtUn-L${(LZ5rVS?u4%ZhpLD;0>qDv&&-jQ&zqYpPZ#%>W1qn%hN>>Yx@%lOzFfw3OrM{tIo=L~;=~HCv4PW)4 zP5dtcGIS|_UAB4Kpa5Yr5Z<7~okN{fWNJV0I5YXqpc9@;EEolEL7Ql|Z&P=Nh%Ac0odAQ^81dHN!~P(WE(3sl9PvV<-X1vY zf|s+8okhfWJ7#a9;7TVe4YqA(sE(90~BqgI7p1SK7 zLRKVo_Q_0cC5S_;PoWY0v zA+8xa$5Ba&{`{E*2Tfu$ci4bNqQMC)MZc*Pw~LikS`F!bMA?G zJjPU5O?i23bAl$iOR{@NGWCBG9AHz?qf-cfajNi!z*%m3gaPOTGyTz#VtUb<=1Uu{ zrfT>>F(Ssd3D##K&eT#5HK)wP4R?uV_eF%o2u@FrfG8f_;i$Hhb)*|p$s`^xf{g9x z)z>1>NUg4rRg^+SaVW!o;70aq1FNfYSwTtd^n~X9{>L#AT6or#h~OP)f|$Tm804J6 zsFB+R%T4RSV|Xa4$i)*`93VyD8lL6)M-L6bec-}I>(UMKEY?=ifj3l ziiz6M`L!|}V__=CFwI!$8Ayd}~0fWfX=nGL**RefAWbS%eKschB*G9#M~HDQ}{n zQ{rpqkvqMUT*!qS$w%484M#;kmFk^}K=o#vuYoJiQX^d^g9lQ8aHKdbV|UQmq_$XG zJ%Wy8(m0X>@y?v!$`_f$SnqStF{UY80Ek`brjs|xwQU0rwOqaodDcbp4M0d$5X8_3 zYd65yHpikSZ=PC*0D}RhICwjrmwyg989Y#8rkFvWa-yi7ES#RCb>r+&D`C1bH7B>$ zji-2}h%#gLRDS)5GPyBmLh;0~tJ~vpsw_?}mp_>$XxQof=^1=>xzkId zq6Cfkm{C%=>KXw)5JcH}=V^QZZo%$?AoT=vDY;gWrpD$Ms)WEbpcxa_GiiA0a;=^s zQ)&wr4YveSHGOKdeU5gBifcz>Ys4FOMbf&9^YJnBa}+D6DDUxaXJlj8h#<;|)fj$mJpJ+QFjKlcNm3mA zqLCBoh91^_F+OvCB@)dPh5;jef@{;oG_&*cMSpMv#8V~2WFxon1N(>M)h6BNxB%U1 z$%7~oKCuBmuVkd?d5Bs;$a`WxHavajl*lO^d*_GVdH7A|&R@9vMJCd&KOec2K$ft- zE4;DpAHRF+qfb8?{sEJ-e=^Ct@f?&VYZ!Yn-PBa?CYy}RC1o+`jcqkzML2^9T!}&^ z&+Qoa0G-`;?cY|gKk}#b4X>y;-&Y?rz1xyB5umEzX>@8QHEQ&qEWAlWZs+t15>X33 z^EP$Y_kH8yHFFxTXt%)b4gBg<4K;bl=aH#?y0(a)e*@DPskR}%=x3)%E*pL!8!`sj z_Gg?;5$dRQ`~E)4gX8UZcIreJtuN2#0P);nLC)!?YTT!;cmdze&QozL(z<66s#Y77 z9xHR_f5GeaF@uItxbJa|zYVkHfBVsKH+}jvYb<}Bn$a%@;x!-dh(4J2=PYuBZVI8V z?8K$<+FBpaBSy?(#NZo^%Bu3BjfvZ+Rl)r8GVm!y?3BRWLJGX|)l1zz@+2_JKemUS zLv8~iH%Rra?DmDoiwtAd;UHruvk`Suo=}eBs@ofJV~$7O$V12Ao5h|Vw=Pa`MsjiW z#Z4~8r|Y7)P=@+5_~-txxZG`^A@D}V)*D${NTGGoR7k_xFOK9nZjg&dJ=gpsrQ9~* zUzT#EdfVe7?zv71!=RheRIjG;nDgDMw^b>x_7#-dJ97T|7g_UTkH%GLIhsmNg01`} zL5HwiA|!|5@ktX-fIz<#bC4IxhCt?mM+^SxWxmybnta zi@{{n=&0eZJ5T;3TI_L%tLtjij#6JK90B(6o45*&YTOEvl!)Q@?S{!>l@V9UL>c2^ zJ75g8YyM|BE#LTRgj}_fVrjqg(E~gb24Q*I$G?&AahM~#MquE2X&{?aR3lR^Pg&>` zBFM&FqI)fKDKC#8f>0`+#ef3Icy&P&eXB2}Mx(r4r^QFTx-gP^5%L$=h0nlOFj1$< zXhSI_U;NiIY2>vmuSNM}Z#ciEVG&hto%5C`i>N2e@=ZY14zB5K#liR| zop)#Rl)@Cb^!{uG6=$BNT8z!DYz7hmhOuB_rHVrImg=N7CFVHTz0=z*5t++wNf^;} zVp1N*iUAR$MkD7U6ltLzX@VW>1Lwu`*75qz zyRzlSUI5+Yi*n1O2$xdwW+9{uxZ$RW?666}Pg{=5BRkREj#xzT!Pb{y40zxGcYaFs z;f$jq&)qw_kT9R3y|Dug31L9d&t&FaFD)8Fr+IPyjx&lw}i>-*w+w+^RJ0R!@9>i2FH zchtO5Ks}&n=3*-1?bqDLXE2Kn)3VT*T}f+X*_f3%Qxl#$sN>chjalaW42PQ9%-iJ| zQ9IYmy`umMJENHUG12U7?)^!{aj@+!*KJf6cL8XQXVa*vHoI7z>Af^DLwRvkTmmaS zl`Bj8^UU$}=KRq%i=;o^qemul9;0wE4_l zqOLbFr47#GfZcA`Zo@d1nZcAv5GV+2)ahnS0MyKUH?&C@DM;T6uL2g|7qe2XL#7xl zgTSqweHJoDdNBd$l~d;x5B+{SRQz}@JFNJ1O~VbUj@ts2Q(BtnG^b5GiV&4Jk91hz zKJb!t#YQT5gI8d?k`aUig)2w9uJpvWqIoC6+`1YiR#!u${(ru*;8A$k}MBf31bMpzqg=8XwziOj?i>Hfy zcEsMF#_e*>rpr}tp93nuxswwLS6C9$Z(a_WCzK>@7@8*W^oNd22+h#$2$lx`WGsJ} zH4sZ~l9BRT-qALeiDRy>+_^hHkf5GQ0u+nsKpoC(y)!`grW5iOvwde5TkZD!2oqb7 zKGPk~a6($^N$=w@iTLA8tevM9c-C&KQDdDtAp)+{F-GsYJuR?y5fNZ2L15|gGq#ou ztNG<*yHu#q_oK7d@Vsxb67Tw$w9kYEXx8nqMs}Z{0_ErIjA9{BLe!iydm(OCD~HQJ zeU@`+d_d73+Qs3KYtePl?kwQxZ#%!Sr&5dQ4FwlK(n<>rh4kaVcXz#A>pv5_>9a{6 zQugn#TeHn(A}CAujeT#a0ACU!f~IMYh~mvrj-D^wA%;G7Z`0-p%UR_4Xo;pT(9L~> znabw+_B~k1R`3AlaDb8L_EZS#7|F%43&hf|S9OcVk0Q!Z5xX%J4dz*bIlo3@z& z|2IUNprglK4V-~>@uMlhIYik#Zs_C(>KCj~pr%B}Sx-`^m45S+h25u~7tg$`pKEU4 z3q_~jS?RMUs>8FjUZ2d5AKPG2lY^cx?^wsvigibW(-CIKA}@H^(;DPN!Sli=kC?+J zW()4&eJo9Dn%pWu^&sB>@+Wc7IZQ+|*t^HTc}-v*g7zIh`y#70rG;X4q4J z+yp7#)1*!m*!{bB`{kk6>C0VydaP`>>!ozqoRv$#(MkCRst#CGyKvqODU{^8M?xJ+ z@m_6Lo~fdq7-F?jsE1@@OmS55eJM8pEml4+vV)YqH9ac4TDQoRv z8v5i0lAbx_VQ;5{p=V_>-rU}UXBd9+iQVC_;cgtmQuXo!L&;`;Fc=O8qfWQi?`LIt z%@8p31(y6S$7W5aKxu~6I?yk-o?D-?*COfI4}6rl_^N2NgV_(A{C}xX3~`J)<{2b# zHxdN_>!25%7Dj&LZujGpMt+edWl1$zOBJJUKWz*CXMLio0UHm`vD=6WbGP5Fc$k?+ zr22B6(|dLuA<6!*4s$>phwDQ8UG=`1S;rjndk9%UE}5q9AXHRkeXD7Q#j<7n{>VP9 zfs<9e*~v?x-Cu^f#1Bil?^;0G&;D(NWEFvIMjL7jhgeIyeb9?#(5TmGv)be8t4^fP z65Dsv>x0FxxM#TuKrmj@mGBAb{rJhp70AC9fT{7*FHF(bN=14{T zH+CwDovd6!bN6p+zv>4$*0JjEZ7gVcl3|;|GW28c>LbySf);76Zgy(CM*HKD!0OTl zQa83rJq)4rh1;l>u0L4)RnJ?g`==!B()VAi5{Bz z3l#IO;bM6QwO#cYF;t^&g@8i2LgJW2NUSii;=)x@-W3+h7~JE7Qh74JdKQ{^JnwK7 zu#;ueLxv$cthfsx|Hd`W6KLs4{E7#ggpS9VD(7|Cw%hC3KbJYWZL5Ikl~D2JIfI{r z-}!Pw%Lm)+8BH@RRA6)V36Q*m7>24!Uy%K#702S|->J}OD?aO7(+}X)kuVaw{az(!*&Y`x?<4>9qCM2No0xU^^_E_+ikh@XU*D0|d9`{v zH6M&Zc9NwioK|{nvL~aCJJ0M(L7i zC?)KqmqSU9hL!D>OXyu5!7JBRs5GjT2FNM-5H~M{UzYiWqL%I+T7RK^1McQpG#Th5 z3Fu#=ilFjLw=8pYgko?PQ(%-|msxU4s!~-7<#R>Z2RH-JOFq@^!RdJLbCJ`M5`H`W zJ4%l)8AiL`JVZ`Y*PyfwGxqtFKO=>C(@|G0bA1}cW*OL)$hWnii!C@Ef8LML=-wr) z7wXP*%6UC|7H+|FS-=t=vdpR`ND54}H9SXGWfG@pa!wP9kgaoz)1>~*?U|Gn@rlr) zjeze{xwvUb^yGy9S}BOlfEtyuY63jfMBtgc*d!VnF@o4on8Y9!AVMOyu$n}Y0Us4k4>AoQ?-S6|tFswvkdQoOu^7WMoChYPCC-q1>fR zE@}}2Tox8d;`IC`ZkbM%fx50Li#;*n>&q{G*od!sDHM}lZmYAf zhJT=(*W*IiNh?kJGuKHD1fe0R^l4?^%dlmTuDS=qv~a)llZ10Fv6(((8!FTH3mnig zmrv_E*`=$-oqq_^;BuH3{?kf^lZMv};?;%3e^N0xHOi(h1@SU+y1#T6YriSzn`5#6UF7i^bMVd?3V%EPBQ zm^y_7rOcITrhmHF#Sfz~5=Uen7#XSiN-Ez8R7pH+$0fA+kLMFdul9@W`*F#i$N6u_p!t(7UNZO%YZKA9( z1sAbI6AqwF&tn=e@B_;#>lCz)Z4>Lx)TI8;_&^5 z!@Q-gfnSYCrTGuHU2o9aG^_RGQ&v>cq^65Wk@Thh4CM_G-z>>0>#PqZB_>9HS)kxZ zrgFtLwa49BWAjbPvT{c_+Fn>pt%(FU|K@oLaz>8VKTz?@6*r?Mrz!%^(KyqL`IXUZ zm7JLnxLWIhXIoUA+~Z_IVq(NXgr$W+1n*dsoZ$D{fa1sVdbR9ToblbmieC%e+_x9H zDrnaM{4oopC-SAGD~vJCl!o+AG`rPYP18w^W?IG(v)igTvqi6E*s?kekdT$S4`1?u z!cXb(Owdr&8d9bhK11A~>2yvgd0nl!hkWQUEP8^x;-BQTjkAl7yKpx2&v-QGnyHqr zr)wsr-TdlgkQ1y)Zf#tv#Ib6ng$#7of6621+jyM&E>S^Q{u5q0oo^j5YEUdq#IXHT zx9I*k-6`y1^#g986s2v0xL)*0&qP4$Lfy=z9d)_lFj|g>|gg~x(XzrDpB7!X}Uf$-mhW?l@^ZP7hFN1E>48cVhn{U zhO}R5P%8_t&0cD0cVy!i7GRhB2ewV6F3bQz${!TPUym2#11KEs$wysDXXvcDuBKl? z=?L=iDC*SDJQ48n9%P(DZSq>JR@kL8s7SHf>I>`9AI_L95Jd)V{py_hG)$5swxchW zQ1OL*&$INvs_*qPpg4R84s1>jp8^O1*KM<|V<|ww?DMGFhK99gd^z_uG-4*!i`0;3 z{ClZY-}@Y)#1M%kr#mmY2N5Sd-`3OR4-5yxYJU36L9*9Ae*-8!=eD0X`&~hXb++NF z_#Zz%XWj3eL4VlqK76=o^Zc;cYD+#W@~GV->bcsp{UZ?Pp#>g7<_o}Rir2ZlErgpo zeQ-vk?BnL9HC&7mT-AQrM{TO2O4`Qh$+jj+6_;^SR+m{E?iszg?XE&Kbs1tb0SENX zZqc;$bGR70GpF+E`y%lscAU=YN7jia!|!`RvAQRY{qLaPpP}O&w$WU8Scq@`4-!xhSLNiS8;0PA!6 zN9rJcgS1@lXSi$46kY!IRS$#^QNm6&i*R!-dshZ;V(~`8_r(w0rU(>+$jHR306Z0!B1fk~JCm*Lz zEw#fgf{jnIMr4+T3YwOHB0$Ad1zBM9lBaOiCblT*g$IUo;c=+?7tOy=&DBWRz1EW- zL@?+2+XuabHf_Ka0sS;UTeK^ZXu$M1-WZ>!@qhx~U4x3d9=TlSkMj$RMv5jirffg8 zoW&o^ulTy|VtIZ|9}|oB-g7A~&u?0p-4DJogv;6xufl_R{UD1HEsld7pCG?eXHpw@ z!I9{JLu|y?^|2XsRaI<@gt>~!-`O9U0=kh(hVgkCD^5Dya~@9dJgMEJllj8J&a0$} zeq6J!{`Qs_LQchpDv<-SZ?fyjGV&0Say4?@hTLswrPAVC6!F<`p=ytb`hPGoGkl~VTU1dIi@-5RB;s7XWi3V?=5R;?&_{o< zo3khVl<0h!4)4#CFr+K*=jAj*(R_Nnaa{X956ru*Ppo!xBP%M4Gq^GDSTAcUk-|^0 zfU~lpVV@Y*QqdU1&`SLC6We)Gi zrF5sj*g2*4s~zfA{Cxbrhy~R^n2-H&JYJVxKJX$`{PbM>Yl@%6U%`G5Ri|a?%SZfP zIY<)-c#FP~*i2AEMPLxvP{kYF{+RO55;%;Dq_VMyM(cq>(@3=_hMHeAVr5wTeMuia zcpQ@anTpCqs%ph98*;hjYn1-4rrJe9Zg?UODU}$wl6Wb=n&M_RH~3@k%owpB<`vI; zcp`ga*Q?N!Qo4h5zWkE!g7g9AU*_p(QNWjj^jL8;H=MvrsfC<_v&xZT+{R-- zR{P29efKzX4|Y3D^H2-Hxn|=3x*b6x2C?_2N)ts6yc`|f>1T?^;Td^>Kfz36WPG@8 zpJFSu=+8ApYR65U#r|@n<@Md`!? z`VERZ32@qXWLcd#QiZ8!otQcY2Di}6OubxG;Luf77xvIJLGMjgdEZS-t0PnFz=NhM z;`PlAbrYtpaSL6YI-=2%Cq#P!CXyh?) zfY4#N99&Z8_uNJEm=a6;$>G1~JR`pm*eUt-xs&`#>QRQ7#uR`GQp}ttEnBjt4z|=r z6EdAmMqSZ+OhT6IeOK1}3CRAJ zQ~R%W*NCE$7ZOM%Zv!_QOkHMiA@KZ?>VwT@hWDeR_Sk&|hXc za8@NjaW0(JUnWIt*$?*xdTtP<4^Rh1{+OPqvL_`=>#C<^@DW6bA~=s1joFT*q(anh z_2bSjQC-5L7M*rrGR+caXlJ5!HJ;!wUa^kaM3$WF(w{_fr)cbtovoqMIc3Eob*yJjaG12wMOW8oTUk&X)LTn@eA$5IZXqlTiE8vkk@UNH}Q|Y6p80c zjpP0b>v0;QnVMaV-iQVi_mWoMS_NFGDCxV@)CGt7Q+_r%rZ41yH3)l;-?)KmPD)xVvE>?H zTh)=Ar7|hJ3II&r>S0o-X#rtx7B;v*${Z za)2R1Fo7leF=plwYo`@8=hF}zn84EYtG!8epeojFyQA77K`d+R{5yAz<>+=@BWk0uXz4RDEZI%nm zGFvUnx?i$1jW|EBtf;zq-CEVF_G2=+Qg(Zc<=b_8_>Yx-IWXLkTb)$|#fUSP*GMevtBzv3n!QaDsNwJB(5|iA!Bq>&Bw3 zYIc)q-^ao_MK(CK7Pq^Hoc$Q!8=*)&)Ev=WAd=yE=m^kkfosWOdzpX@;_Vw%AiusV zNn(@{L01u*al=4VVv6q|dq{d`0-?VtLueURKB_@8 z&7TL2-pn=*d7su?#Ci*?zfDqN}= zN|A-J_K8NQlUGIO7k&dAGx~O(jl_)M^bou#>v{q9_M!Bqe5i0hxaq|(AqOJ5 zNK7Fg(I+8v29sLo+Yw6Xm)aQUV+_6RUh3Nz0OM7PFak!2f1+BPe|LMr_wd zC;Z<^o4{4dbQ13Z0F4Yn1qx?#*6JQnUY?nVsIMJ@xcc!Q&k6N%D2SqAL zP+qi()z#3X{T)do00Y>I-pJ<^73LtU>?5QZfb`gGb4tf8S*q+p`d2rd!szU0x9x-!N(vC~|=2H|iy!Abn*3qraw$RqTH7J}o=L>UET|2^uvl@@xD@7G9Mh5162*kAS0I|(62`oH;84)=EY%9l3{eH%si$`-88a+B_X_N z6KpoG`8z|h)&vH~XBkE#M z*q213OF`HzEolr1`YMr>EQAluohAQ`5!x@pq-4tGBubMMJSo89F~VkJOKl`(70U{d z5sy~fv<)_9V*iKccIu9XqepUuACGK<&Gt3hi7Q)RiC1TcMT{xP&qF@e^1>$T3zWRKGstlG;ejtCO4086;?1AOAgK92?G;wIZeFzkRzP*@N83ONhgJUb@uIq?f1-7Ve~mD zbl4X}9s+m?LDhgV48vIQKj08!^H;#c8McF7hg}pHepT_sP8?4{EpB|4pv~`3wmU4> z)d*%w8}q@s{Of0PV_L1^oct*fajS&_!*uCYS7!zzlJFbGSu~Mby*kC|bsqHbX1pEeQ1@!R*twxxiBC(4A>D$morcpAX}Jne<<)Q1P$FGQd`SCe2Y;O)`XO7VpQ&_~7Qs zN&;z=@3itIO1b~cY?SFh?uuEgXcsm4mZah!^36+&Y^|D910hWj;kSJ8`hfKVe|8#j zd3Sg1;3_Rby|mFr{x<+*O%*7cw_M0wR{r_G*%!iL3>B3=VbI=2qBU5Yc1JEgQ!?83 zS9RL~f>`5C4^ruOM3u7XZXkz9U?eI1URejN%J^XOXcYp=Zq`>H6%f8wEEJhcXKB=Od*#+L3x3o!oclO(B#&N}`160fU&+8bPJ413Qtzt8U|a5*my4ThHg zR2*V^LDF}s3F?@;w&vAf>wqi(W9$#HX;r9vyRC`H#RDRw4o4ST*{FgLpyXlU- zLB4}FR=>f2-?UFModBnRSe~eD(PTT>v^JH&`DB@u_N}cb%;kG~4!GGByQ+q^R_n2T z@$`xP=Zv)^e94k!lkK*dE=_yy<#9?IpY~0Q-&ge2-S%cjt^Sx2ACE9TB>Y%x1A9 z!U2v8_u0@?v5T$2ym12DX}qRKvF}cfxn<2oIr)hN!nRA$8+qRe5r`oIzW+QSX7pef z6UD#6As?RoK=02smqCr=VTe_N%vndx03OTXNMA{!K^D6o(-TSQnS5{s&w^9T&zAuH z=pFKr`GR!M?dqsldR{tEo%&#NkA%PTox`#e^;+v+&SpI%*@e$=#5{HkK(r`QcyI;T zx|0y0gO)331Sn$>7mI%BtS`4;r8j-%{f*;8SMYHNwqQI!1X)sM24GkfVzm6oRoX3~ z;>GE223|DvirOcp3Mp%8r6QQCIDROUA-{8U|AwYDe{StP+EaJ^-m`@Bu+)EIvvI|H*a=WwPR4##Y)`B8w@)5m&E5=8YSt^>#vl%>itMd-P48~1`I?3>3<5{G+ypP!r5276kC?Gzm06JGIOeV3Jxr*T~9$tg;>yRR-V zj*UBz+}tIw=5Px}VC#nn6R^XABaJR9rO*hEa$*TV#= z1{JT!#Jp1Jo9pJn7NSWOzDlh{uT&$y!R1c2t0F?F_T?k6gbwT`5~9`6vIPA z#t-%7lWQ9YC~B}Zc_`Z19%lfnHJyQx1OI(S**Yyj9WXWQRL-DEAuw8tal#kJSj%?= znBYe3_MHujy*E5g-sJdO zU5UPY?kM)m4L*J4YEJsp7N4m7Kol|!<2&yl=o-+sq1wRWYaL49yO_pE@+dL+<&!-^ z>7Y1vUBJ*k#J=rBP+Ys-(^}wg4-$wL6vE(z7~U?RVsmJD*2QS>^3)vB9%&@WAR$L za=6~!E1N9gDc2YoE%*N(|BAyM!A zJQg9Pto>Gk;6gAyyu z_Ro`~O3($8FH`@;d3|sE$Kh-%rjx7>FH(L$P0^NAi;yoCF&cpXq4X*GDK4J==b^hI zmznTC^@oXvMhpQJwv9q2hhn%vUJ=M({>}+)u~&)mzQz z!-;<^PbbQvxcfaf?Ph0Y3k!cmH>GBlt2CC?eJpwj@^q8SbZ<(@icx2f{1QHfj6zC# zvqkQV4`Y&^vEqak30@9wW$75txq?1~E?J(*u+pz@&iZNXl|mQWcxP8NK1=eXtBhe6c|1*Zlgi{(TF70c4SvfyrVBGr8N+ zOIoa(yOKwiD_L7xcUm={>zK8rZxLm$W3TN4e7j2OZULy7ON7eT$l9X1o5-h|Wxux` zz+^wrxJX2g5%mb5OX^5JfX^yjY|WAb8n>N+HPtjxgVHFey{K*1FGp?CU+G4kluVf| z)~GQ=O_^al3zmL&54?4P zU2)iJeT9Q)7O)$RCtp9}rp*=aA8K%=A^-W+CLox&!C5`52j8jey?P@)0iWLmG_q$6 zTxropUS9e=5&%n1>X)t(r3r6rUwWg^pCZa_@=&T>TZKllf7@>J((CzZifrgYJZWWK z_|nP8epvsp+08n9GuQPU=&Nal4)Ece%ob#qRXky>%S!u7rOfq+J|PtA!HD8@$_(jN z0#y~j`o7WwqO=Mi5)loyr^e*?S1%&yk$eoGQBsex{zo@ckq&o+#gYm0Ye%FO_WS_X zW=L5??V}>3!~)=1zr#ra;)NI#^WkD1`aMeI^sH*0p1mSe6bv#IW+K9zkyzBL5oSWn zYC)2ZT*2J^H1>ZNGXay1f1FJ{_N4x&I3X-WcJlSmw)DwyA0U#(WX;zC$I{e+oJK%# zudhRPU|2zjIfgJFXo%xd7@@ycvCZR*IIZf6&@*Jy(7NRk1kXzr8h_Rw^;fHD_z(R|&tNhw72KJwbEQi`(LNu60xKAYYZN^0`(nwOT#)XFd_OfLjB;H5=e8==Dh z+h_|4XHPy(pxmYja2JCG(&(eTK+tKtlrT&b#^I4l&22ffp0<18<5<4F<<)@U>%1ZVsjiHDuYp-y^_Oo;HT5khD# zH83~VOkqt$;u4Z@IvpwkNf#pXCg!XSL5}p@`SA8e@+$40unA;ik2|u8y;Zpmi$X}@ zkVXYlFGKBxWn>*S^fDM6Q#B(gQ;USA-MKML27>D9t?;L*c?OqW*%vV12oJ7r3mU8a z+d}atT`$l2CUcKFpEOx~oz6%jhkaZ*@(YOK2$#HUP4^LZ9uu!g0adSUj&S$1^N%pl z9Xx};ADlZs$j(?Sd8TGKx?99iNB6^{Y)6fhwv{$n<6{C`d_AjlgXvS$L<1IGz&pB9 z2&WkBZh@{g8L}YBrHG#_^7-EjT_0XPSX9Me9{$Ag`}4~oEO7lts~^lRhi36gS_n-y z?e^YUpMUX3Nt2`ci>tj1)DFj6MEBUNEfVY$0com?Hxqgxz2Z$pasKpKH%9I+>SJ!h zxB6Q-uAh8lC$28ucuO{bs@La)Jgct{w=(b;O$suFHqli3Sh6-X4FxPx@%Cm#vVsv< zwG(>x-g*)_KGh>o$2}=p$h$v!4rr|0>KK{B+Vht9Mp=9uwCts#x0{iXon?gR>l0U# zQ{{>jdSxQ3jax9k`;m|s$q${ywnWl$A*r}}gJ)EQwfJwa!|fySv9whPq05*gC8w}6 zo^A13h9&=@BjM&ndP1YU@1RW==O2+{1Iw#r|-Mu7YcAy+3O^X+=>!V_=WPj^? zaRNIT#rvixoNfGmC&>Qu4Zp$u)$4N~(?vy2MIi>+&MN9RmE>-%F7m4SFSEA6n}nup z%+?ZENEJ>)HjKLu2vjn_uN?%hDLfel@H>ZlVsr~GTUT6k8>GkRdeQRDrCD(g6f#A) z<U%7)`L^qN=aawAywF@{!^pbL;a<1n zv#-4Yc`!@^8%K!3#sM-s*hX@{-K^CpalbJ2ToDj!vlS2rzMWAn*Vj3S-Ujh7YW6_NEVV^&5z9sn6)N}qLZ@%SvwX+d zm7Au3-VFViJouSChvPH2;CgtkO6`=uuZo`_``Xm6a09O6kfd z>B%YS=*=wIKEe$wL8FqZsi$j4WdHoc=0!H5xpdwI|7ug#&4(f1t_`=SVd;#$^>8CQgf5q=gjTl}@6e8lsbpJQ$)V zQjtvMPQ~vwyYgK6A}@)$M~RWtqHo+Y)rlKkKmGTEOJ2SrB?r+VMKSFMZh!Bv*leoDtM#PlI#o^j?4C$o!K>?LIjebGPc4QSj64;Cr}sV{ zZwjdjWOZIs69bMINfW!8F+yk4aJASD2h0UW$9KmKD@^bdJYVrXGPQ}oWlzoPuE_N` z&&QuxUz?kz{rfQlb>8JK4?^*gxVjKAJkLvzZ()1d$zLnZF&OQDw$CzV{(?{3KD3Q} zhu^Tug;%-KU0jA|7-pDp@&mw4bvp;`o2Z8X*sz$n zdUFE+UvgnZ;+_#%B^e5Za*J*~pbsB5lX)0R=i0cz4dAnAQs97DglOf2Rm25J91370 zy@1uY9-pmZ@2^i#_3Ev9!^j=|vvvO)n|0fJDW6T-`S19BIQxtBi|J_TUNV2|JjbHP z2Kl#e0JS`y)^SSP)1zgsU9&WfDx0_pVZNBr&=7$;DVLH`cywIgZ?u z8_cr%4{maN=1^x*d5ym1Pt8JhLZW&;p z&vb4SW-ljM6lM|1hTyEJHllKbOHe{TpzoqnkI4nq5oc{g$MOcZuujGB zjQLPChFkPOXqelZbqdoM+^E~-)d`{MGC>P$P*X3kL7AkY>-W6+KkR7j8Qiw#M&FSV zy49fee z5`eaE5C7i6QV0@w@H?nW7Z$$AP=kuk8M2YZ?nSPCb-Jdt^Q^q&dUK{Ksv;$B7RUd- zmskAtT=Agd-eYLsTkr;Gw2Y``n*Rn5UsEGAoJxjoERjkS6}BL|7uUTo+pkVn$DIKX zG(;Q-31%oC@t)Z1MRgKF^1U%S0o8q8lSZ-(GF9a94NW-Z>F}5a-@AQl*^q8N3)?4f zfE;nxE{Q&=)NBFLZA>`)8W0{faScmkeS+U07V7DHDLxu-g`^H zLy58Bu}Qz7Y6UfEq;#)ElqO%H3Yn~(sZOO6|3~t|pbH=z1P2ksis1RgoDZkI8T?vjQ6Ku<$ zV>9K5kE_O-WH>{iFL!zizrQnC?NquK7rr4`&uRWc=O9M>%^pv>4Pe}w=c&v*RF?(H zoK`dnO(jS6<5pRid*90}Hsv(GBJNxo4u-=?{Q*N!9LE^I_!}jWx~|BLrvyqifXh?4 z^}`9r$ndPYX&s4lpOujuY@C`5GFv_F+zNbz6e(hg7U@BZjYCaE*7#$S0JL-_p3Lxd zNr+mFjVQjzd?+4Lh?kQ(r*e&4b<|QR_pNpF`7|bB`Vtck8q>l?#J=-ZQbPq3B8M9$ zXE=6hTn0`|VO!aQafdIAZn6QDrZJ`_W>=`C(MU`{N*IB`N+Hmy#{z9mZfGdzA61aJ zK3c*p4F)`Xp@bt)ax=EWjZ~Hqw4HBAyRX-?jZHcjv$KMtlFH9s@8e(f_rs2r`~i4= zOri&gldUH4YLiD1qmUiY^Yx^*Z*xnNKHZIW9&tLla`hJY{=u@c&@o)~b@%fT`J14-LujDeOLMvNC9e(1oEkdERt zN{UjziZhpns`h&%GMa$e^$PUL7@m_sy$E1B-;mfY;G?(|YbTrN9= z*OVR(2ZMEji)#y5o+~y&rirRni@@e0LgZGdcg(}*464VSA6ViCwS^;^)@?jLqmaK$ zX^zwN?SuIu9*)v^p6F^hJiI$zN~}9aZ6iP}sve52cE|IF%Hi8#RXc_DooTV>48h$& z{F<)lNlxP}(dC5}503^Q`vdX%VlNiC2$Kc(D@_=7C#Y@(IS<%Ei46zM7pk5tTaj== zs)-m%P7K9U7!fd~5J6bp74d`WKGMCOrONcDs()~IoPV1H+$_2qjy{Z_nnoa8<}ivA z;ij@dax}cuA98ZJZBJmi&kQQKi~ifCUbr(w1EPlzG_KvZbF;7kO}1HoUW)ZE5yE;? zI^BUcxvs}vvOZNUM;{Iq7mujaETqvO&2e-PO$#)EwtA?LIN3DzL9$N&a&$nyE{6tQ zJ-U9Vbgp*lN@m3#y6WtaHlAQL4Akc5Km{C$_t3Rg!_idl&DJ!)nRZ1m9>Ri$w5o0Q z(p^R@P1gji*HmkzhdKc1wcIn_!_d=O4G|EQ%ePK3GqpPcumXrMJ7bw5?^ZYt0}md> zOV&9%$sYqrQ4}#N>S^(E{s?%Q?(uIAc3>4YVWy@HldFh9pkhIJLCENsC>)vTqHnsp zB%dZ!YV;NSub(q_3loKN<%erB;XVycz+pSzI!1@5P52kT;hpd-Ca`Nt(P5#Q{<1HW zmA}SxIP)!Z5a8863F1$FkGcT^B#+=>it}XZ_lI=Wvn)!*Tt<-=?=>B26MKD(a_de0wlN9)nk(8Wat~(Omk|Vt4{iyrl`kJ zTXfK8UL0u~tXYDT$SD!6v!oi`_D|)FhtR)Su)aO6sv_^#i^bWx_Se@SiCxn?_Wk;_ zcIw(SD=^0U*|q%E{Dt)wImo=4=FEB>x>z)~5}%{<^Ola4l5*y-M6SmC5-`xzY(ti? zF-41CR;(N`cEqY)))ZVqe8fD_Z&$35j+JGil<;=VTW?CLm~WfF^%@cZ+kOBuKLRu&I`8l z3|4b1aj|2rV@qiI^aXe3?W?XC80la){16v>7<^m3G&A?fu=nInllMCiKlTp(Q$;yJT4R^c~en$&dFoMH`ZNE0gK~n@2)@ zBQnCDpP)fIz(Tx_JAKB96Vea#%q9f%2|ffLf>Ws0V+HDzyIgD|NurzJ@Ttn(9_1Jp zF!prjgEI!U^YoGu4cBp>z=tHiE_d@WAUGeQLk%NpnILOuJODQ-sXegWnh5c$m89|J zIY2QCW*8W`WL!jjx3t(-LxUlE#!yBe3;VTJOBlR92^`R92`QtfoAFC;=>_)?x#CGX0mgX#g+Jv znNGiv+O=Qd6S5@|98?x)FPCfkcfiU)8hSr4w79$?PGo7AD9Cx%m&6ML6Crus!t)Z4 z+oQ#Pim+TtH+KPR>29u>%jHQT&v12;*T_YE3^)fjmU=F1@x|x2-8$&XvY-Y~SURZ7 z)k+BFYSPI_)#1twjLnRoHj-{3qCulRp)2pa#iA>Zb|>rjgl;UgYgvE_OCa5j*%`}c z=ClaWi4aGe6So}$=Rpf`3aYrn=5OZ96$6tv^znSLz;pD?V#rLPS)sbgX=BT=r@Za? z%1`;1ZuidUZ_h1@9)1|i@cG!h>2%72-4$RPPwsy7@h2J!(ooutfh}RLJNWc@J56blU zY`JM<#Q~~Ga5YJ8gLa5ENE={>unHw#Q>B>YZOo-kFX&@Vw5{|&9!jq!;krU=bvxbI zq^?&e7h0E8{z9e(*wG)~mbLFGE5<`jJ?tC}1&@rw(L|L`JgD$Ok2lI{E;cH%2%n{}qmA~Mv2^@0f z3)sG9o(KU5l$$W1ib6w#4vUR?+1E}w{D|dC6R@(V59x=IAA-eO7B>k(tYJaJu%f7d zhDde4umehi`z&H|*7whmHH2I00GO9%} zF3l~iWjqV=V8|TA@lbBQpIdmsf}u8hZ@bmhZKD{jui4nCjcEue*as>>?b1i(!jLqp z8WDmG3vNxy&JC;= z_FLNaeXd5DF8G&&&WCa>Y#hb#iRJbuk%{#?P0}!xQs@|gZ7^ysu15`|8j3!;e2TKaZE+5Uq1lI#&L2l-cmJs z2QtNasXYukwkvA4RgbY5WAWPdQ}U-e9r{$OZ-Ye51f$J{H0=ppqjF-BX>Kut6M#{!M|&yw z-*wdBL?5OvfEgoLM;!^IwH8&}{-E@tU-#MT@%Yl^IDcm%Vb@I9x6o_tq8N0@($yr3 z+OFlOp7`0CU~Mqp20p(f>@xyaIZu~F4-DOaIo+xmmD2fDNGQE$$}s`iU;x6X2Gns? zd|HI^_a|p}5xZrlabA|ad@4Yn;FsIOErT~eUY2oBe2^rIJvAWxu#14CoGZyRmBIPsyK%ptOqi}FI}L?aFrF!t z$uAYt>Fk&~=a4-$0$Rd853%;U0eHu!cvh{bJ7^$rB(D$ABjUXx2gDbrW_jY z;e^IC;y|qv*$%q(lkDqMJU9$E&g*_G6`!{CKV3-))19>4s%@O+CP`xclkJ6?#4swf z_}b!p4gqDbG|G;#quLiYSMvqRUO7D}$A*!8T(>?dt8B~FL?{;ru_uRZy8r2AMySiS z+xK1)8<7!seEs^TTiQxSLaza}b6&cc#Dd9~#milwl7 zjPrGI`#v;f8du;ruE0QG4kAKoG}ZPod)Eb9c|q^;`UJ%fu4;x7+FaU_vBV|?Qjdv8 z8Y|z%+fcpGxbxoZ{I&-y>>+nie=5KDg*@8cN>BY-!v;6(G7@3ld#%6zDqMXhgKh( z{Ei4ShPtIU?k=Rd9A+VI@KhCar)NOafDWfZlv|K-aW2`}io#0CkYKOLC{H;s}8+@Ce4>dQ9uCGe5T}M#Mj(H;CfhM2l%0EotFGu1puHBk}Dj=aR$2gr(~TJAuCi4HV9iTcIGB9LrnLD<(LG`Yd zD3bz#iJyUtW>gZxJ9={4=^|p1Ds7ULstw~jKaLq?J6k~EDOMvf1+%dT%LEYCZ;*(Z zoW>gRfw^S(Y@`vF3(z=0iH*Z?Fti{I(uPObHU{8=U>r*HLI_uaH$9!LnXH-iG6}!U zUnaYfAWad;C@ybN?D+d!7m=+d*|a2~VrtrHPA4oSQK3YlEeEo zvzh<>-p-@sAmwcz?X}3uP(5BB*B;BoXudrAr2>Q=U$?2$ViEA_&lap z^e7o(?hw2b)nmS?0-vHWpRcbV%dY3LiMDtolY(X9{34n$qhDRpEzh@i{z9?K#>!uGhz0i$0yBMh4%Be8@bgguvy4x#bsZ1(H*~nDsAWUp+6*?mjS?CMhR7Mn%$JJlX_Xu;-!BaEJg zWPMvCWT8^rUiEW*A&*EE2c15V#!K_!ibFubqTO4!?h+3aUmuU@Dk^VgfeB7<0}N^R z22F1Sf~yI2sh{(#n7Q>^1mt4V$Pn6O;WQNx^x&`M=9NZL65_f4@`oS(h{D@xd0bo0 zMs5AVt#xxcCXH$t{L>jZYD=~*qS_%aOqarrLbaQeqjcscu~tqP4@oE*k2C5GD%IvHPGCX`6d*7d=tfoxUQB|tTv7O-K>WYod*|1Vb{;)^cv@Z4wKuV_*C~>PTCYELvE0%rPN2#2 zhwYM{KDCV7fKde?d4Fx6kGZYKt%e(FlhzrtdZTU~>o|jftDV5?Vxx9193X_#ihYoE z4gj&<>g*YfAzHsw!VQ-~f4Hl>tfN&|JDo7QHA3sWGz3+edU212c*pDQyn1MNGHfwO zDx3hw*lk9PZb)^s(+UYMY4_&5I)~_d%l$H>G(T+5qB>L~>BC?BY*jKn8J%^GMh>U* zNF~U{N!xi)5UzpB*iPE~PyvxI4OZ!Qoke$*&wMzuE_p%$GJ)%pQ}HcYu&7oj0ld~p zjtPmzqd>&!AnTn5+N0fB=cM!5`RVluvomkR^_Cq6)A`#dD#D;^>}oeA3Qox|8^o<# zZh5(tlJv{PZR~rUs)%;kUM&qGPdCP7oqlSmoy{6hIAPE-yPnMX%EMOh<6UAlTONk! zEtRt-MoaekcO0vNt5dBmJ}1ENw&=HmeCh740Kq~LKriz0+0i7d3+xtPXh+}L8em<; zwDRn%X#egHqXKvzmAD@Nr09a*lPIL- zG)^s*I)|@pk7CkQJZ4<;Jg;?S){vlZ#+4GJ}ydPe~qlYpn&xapLz6f$2 za@1J#?$8FNlj$%QYfUvJpo-bnsX^;>JUoNa(>ix^iZ_lLerrOaQR38xgZ0>ez{!y;& zPd5I4?>wvk&DNM%%p%~*lND7(TiFCbtd$cD#cceZwemT=yfY%FF3i8ZYE^@G37KIE z)BiM{H@AjSYH3XqOx0|)I+Y)yMAdo7o)V@o1zfuJep{e9vYdG&S5H08K{WWpy zimAkCZd&1^b#-jJ6Wo*vy6(zjbuHTbz#uml_=OQWD`jvx)1NfQmLXN;??(CE_5EDQ z0KcQUzk65JQ4C}tLp+%v);{{GM?euTcs48h4N!%wDo)ggX7fCO98abDHQ)uZkbn$@ zwbZ$uV`_?-LDQJKJOlWxr{(Whw@s}g^>=Cry}A#$`8$Tv(dl=dZaTqgv=CrjpTCP5 z)+_L(X$DBxFx~k9J@^a*=l9=2AN&Zkzz7UNYA1&0>9TU4|0Ve}b`?eD zgP^2$;u-L8T?l>?3i?0#rtSxzgWN6&bL8}e;*pz zjA9LO4+CE`=3ee>n~jfn3v6tM#{J?&bLoNX<~x zZS5nFekAkWg?rgFyH7(f@X`$Z!`pYs7mvR2u^Blx{Sbbzcue;@-`OxPexN3}L#Y9Z zcUQjePNm0aff8ye?D^MH*3WMV%|1ml7}BbHv(KwrZAoFjyHQDW6mVs?-^TB{@>q z=@RBx!NGq)^3h;W(3HIMFiU?3Y_@Z)qc9%__(PhXKGy2Fb{c0px-P7-@O7bq$9~s} zJ^Qz!U#Z=xSiF5KyF4LS8*)QWcw>EYiTprnz(60fg&`$m0Q4ZcMqGvnlX{sCm0)OSlm!6T zw0uM&mKGO}c#J^ctMo)6xc>*}4qBl7G(kE@4_Oq>C6|&FH{MRUx#=ze@J8eyFTBt= z9uAmfrcxD#{Q>tJj%j$h3?ftUdLUEpbbHAS^|K=jiCAH>lQyl8^~CI>#=@Hlb3_ZP z?P!p>df13$Nq`MU?7o9Gak8O%DxSYkR7q5hhcy z5KQIAAjmq#b(n|RBFgd=Ji!FXrHjnp-%~-;SRVjOll4HW)Bmr#GPz&PaXGH+h>(I? zqWeeNIIWAj@i{2Y6?=GkfH;j2 zBj>(-Wapq6_K}z~Y7?mO#o9H3AcX`5S)#}el*NSoe24d`2uVFfKhyW48-2_~#kMlT0xVe&S&i5#m z&%H(tDeU{heS{Ao>Im)gEs4bVtSt&+1tz8NdAGgARge_kz=SmZ$j8t2e()px`MiWl!$ZVoT;Xx63J zjTQLyFnhUs=L*!6@>Y~(c~{aR`m=!93i2Pfwohg3RsCFYhRxvVbsJCm_;?B3&YA1^ z7tVcsW~S8q8se9t*q?$TJERmm-ObDp4BhD{CB{}i11`8{R_~l;C2)Oa66{*a>6t!U zA*0@^w`u;USq?BSl}cLE*cwI+s9RG58aLj?ob!YX4`Vzl19$u9dB_H*g0mIwM}6-! z=Y<&8utb-tA}!HrWY!*>FaI`^!_^`J`nJYbvm`wlH@r3_`^EDk0j0hbaG{zszFux!~E%QHPxyxAe{ zM`&Oy^!!i{;4)rOhl7!ZBDHJ8OI%ABW&M+yHKvZh=f42Sx|Y$LaKtgE6=dWsB081fa(%!Z3%_V~^44k7tWQRno8j#`pHfDPxrCm)?n8+bCImsuyhZ zh=&gmHKa`0q|NYS&c&g2B1ZC*!K0q;NDoy^nWg6BI?lmGfMqitPBcDwK8PIbR0IeZ z(q7pnvu4kM)^R~{Ex~?@cJO11lhO-(`si-Z+ z*zsNjh9GM+Hi=iaQ>13#eXaW5VB=383pe`g0|4=EDi^xxNLcf95x3H&duoYh-zJ#f zs|D87>&lW!bO1|(V6P-Mo0l&2?Fdf~MZ?8I+I0~F#xvQ!p7sMXdk+w!T#-*)}PNnK2=KpHUZ-dOW*Yxrw#*8Ex5OFKpo< z6%Ebd59%`C)F*wQU&%QK3z*se@XHO5a^A)yALbHbbYC!{zSxu;W|Ka2Yq$)Gk&xpH zfCw35Ntr`)Tf7#RuWw1czOAcRYMrUntsGjLp~*Xi#95oY>(y3iULs;c3Od#OEW17i zx$HNuGZj+559ssxH-~;(r2lo`78#<64W89=+X!ri)R zGfvJoa+xIykS^PjAWlf$TocncY3xJE=IAuJz6;%=B_nNx73*6CB)#SrgY|$SqVU+M z*S?uxzmN{+3S~C~^VD;25uegIiOc89ss~G(mJQfPr5@GO2SnsFVo38Cgle-1zdAy( z*wC-vi(spNbM(*WFVa{5t-B|F!(fD(mqdqIU7b0lTele8=W+_2U|mJg%3|Hj|D60W zANQLd8cEG~$!_(0_PU^JDCr4l*)lS@Jj7}?trmLV+7BzanIsBt;mjq%MHZrhxN;aX zVVCN~eE$w!1Nl*CCj~fjG2B&vWHeA8<(9e29NH`(b!Z;V@Z~+oc`Uj_d@=vsApJyW zGd$mj8bXa0Um^q2t}(ge@^v+ z#Dj#Pf-}7CO)d8&gAf!#IKJ(z$vf3>aE!D)LCtSo%^+^rPV*Hq&66j=v20z&CxTcM zAQ^sGN;5`^leB7R%8qzwm18!$L(SgokZxuMKDtQ5m65~et>Wn0mB~zOf8@Ec-E_(i z23J_dUib`|0s~=(Vy`(_)Ws9v!D^o|eQQs^H&XFLfOP%Y)Zzc?H3cu$+kE(=>)&=H zN`)M8hX2QlhJTcn@<=*wHUdP&D$97$HIciC@q#)VRT**V28N4A)cJl)M3 z+8(hwMaUpy*L7(zgZm^BVeyKB6%VG!Ua*+7PK|tQfJKAH^rKM_88UC8%L08ybND z+#MiNNHx-0g8@X1dGn7RYQm7D;VDBNI%J@Ii6P@-EPOQ_+i_59vXxtOy*U4)uJ-HcCZwo3+oai+yr)9Ir z7z4>bFin#Rrvg;S#)S1ZB{NpoE5urDgk>;n z8}GyY{Sl|&(}_oNG=C@y`QgmP#YMZUJ6N?Y_e*CpkT`D=lh{(to)b*Aed}lg?yz&= z5a)gx2A~pLe%;gn$7|IBu8D7$aTz{-r7cv;a9Cv*qs(*$-9g%E!CoSGB4lzX*t(9l zRBc~N%ADP>5Yr%F5>w`2gNZ4j6yybA{NiE=CbHfwX-H0k+5OYNXG(?iZd)|2yBu5W z#Tr~xmrrN70IW|I+ju$Q0=Tc33*|+C{v``8_M$bgb9O!*y~sq+48IOrO@viqPqX&h z(l&D;If{~8ex8hcIJchxTqEnf1jc^ZFt3WIBd1V266AGA0c-WB4V`ip41>H8YwtAf z&G_{o5Il-}x-F@o`MPxr2>Z|+6`?*c#;jU<3L#{!yUg94 zX`^&tzojzuM$;s0K-K~#o}iOL6mzIu9fh8S%dO)-n+Hg~p2*}52V|9UZA9xpra>x+ zmH8Z5%6G~GMw^YSudhQsyWIz8Fq}V{Fl8Qxrn(W*%Em4A!!xySh&Z`EGOxDz&e1eI ztbBPpr&R>jaC++EHtS~W4h`1cY#`uNcXfVkOl-QqvTH9_-K1Pg(V}4V!H@vP1_&89 zvUevJ+Yru0&X!KrQ^_jIY}>d|7#vN8nLuspNi91!sp@2PZt>bQy+(ZGr_{!NPWd() z^>maltLL*WKoHBK6?_4yi&nZtaY%17r{Ea&Ix0U-KuA}MY2gbz+*B%JX3S6_A;}>q zj)6D*9#iYH^_fnYwy5>x-@A(SedxpYtNcD|qRX5vNA(Qy`T}#^1_58-RV`E77|jZb zF~*vKie{Ou2e@36UpcFn+63P?o5@ zSwv!^MW%9g;b{?ml@+ok>E#;Y4&alZTBIoci;2?rXqUWM%_#ba;(ol5Li}-FOvTYw4>$lunS+f?R?iz6} zI&LQm{J&RCK5MBt3MJCL`JjV6dJi%}xWqEg00q2Hx8?h(`>Qx!{RvFI1N1%_EY!6L zRG%W}G!LpNpt{I5bpK_R;2{Ov7>ng|o8EF-Ms<}dr6&2kC-jQz2Yt*pkMj<&K4rH7 zV-G;oW)UKGeRmKeg518vkieyz(RnB|+U46h*cZY~FKRaG!s6l0rxoDDFw}{>oFp>~fWpm6PKkl*kd9Aaav4>6dvJsu);kloLv+7`k5RNwS-UE zqDf+^4aZ4E!s~`Lnm>pu#L3YGj^&-sHX(z~Nwa=ky8bB@ISl!%5V+z#gP{qHNEK!m zfmg1zV12N!cjSw2yrt{O`N`soKA#_+5mf|%48;(BZj#qiqc-Fz(Z3A+(D(i9oGuh& zI`o;gxaG(v9AybDKRgQ&uoR>v5rCh&m|b6J9Qbh0NxJ|#T)+169i@^$71j0MoZHtF zmm6aKA-0uf@jtZlv6qI(|BWVksVXDUf4 zzyXuMb%y(6FsR1sF$Jp5*v2!35r+e`<(l~My8dHC^OWGZc`WQu0GG~N;=7G^JyT3;fu{C>XGqe}nH3{syX`|sjS`yHK@n=e z1(P8vrrITbEPa90Rpq4K5kLGDT?zQ>pTLJo_Z!`V)en@6cMb?$W@Hm*3L3OxS#bdp z3?{^nXKoD#WKgy8;_L!9@55|JHg9#rFdXnj_1(c~yPr$?33DX0=z!d&h-0D!tRW!A%$1|P9kv8E$&Ry8ad zXo{dCcR|||!pI5spbh3B+m<5~WVkdNDlPS?c{2voDHbndA3g6Y7PY9~Hp3!JVIDu( zYcz>s^VR#F#>c();EcrlVGfScjJxOl6y`bcHTF9<8}hdg>k7>NDo-3*yt&2 z65YTY4bqY+OFuS%98}a~5SkLUM3$xb7Pc0(Ut#+yY9#5ln%8=9BfR%kR+Uo+P1*Dg+X-N8fR#lwJ>gEZ2|Mau6WbxtNu7Fs4w z5Iq;)uW#G>^_!Yo-f`waEEE2*k;~dVI;i;dkYlcu9z9IMYRr_{^6EI~y8Xx8G_c?J zkMrxIJHAW+D$#&U#W3-jPw2>pP?2f{MW7xPQ(_*H8w5as@wGw(sqs<;Q@d}afjrX7 zM?N75B6ud#{`CM_n*S6m#YR#lA==EMEJ03afek#(!i*Z22?9k6(<5o6HjO&mm7D%w zqpR$;A{};({iQ_?i^=6sn7L(pk{PSug9gM-(+wA{idS%PAoS!W`@Ta7QsO%&t;mf}(pMGb-malo(W3eWv z*E7SvD&P833yGf>?>0MYHCRmSqFy?>%NO@SGmXPXlI1`h+{6>eOgzD83uG#xZY)w* zghfqTC%yD{=aWYeWcdrjY3%jcfq1)VPlWGqUWhRJt_QRO<*Xnh2$zz?O{O>9l7d(m z7}8-V1eh27<%q(JG6-Fegh4|J(9xf$DM*jIjPqS3^!hGJf*lTt-sjaS`sE9?t(3$y zvm>9@6P3DWn!YeR2@JJ1Uki)5CJY~Owf|<%2YN%{HVwQdFTjmEk=KuX*{UL=>ZVU$ zh|9*?w<<{1?hy}U{EJpgEmEH5xU!dbSV9e@njePxUoox)es~5If6f`4`7u=kUvh%T z9P%CBF1Hmie|hWM2`(S&-)MQ%BIO;%+W}2$6(1aexGojz0UFEJm_hGKgx$5@K{8Dh z=BLWN85V4sRMlXbN(r6qT#>A#lm$E4tidPPF3b{vc4LqjVcrEb@9}rkg;@~Rdnu#E z*8C~9@dw*_RyiFWZ?cq4g_tn6N>YD{Vb5b zK1HBpWA0)xe*ae-n=32CvbAFHO2qOixq=+jhHPpUb9mO2VIe(Qi-6AiW^{3Gqn{&n zIOIoK$SLasx*Qk7^sTR-ig$oiNAu#5j|_1b3hKydEYgtZzwnZ*h>D8h^5EEotex!S zsW9DxN{)g0i#&v|@4AQww6^y`DQbB3N~ti@<-{*D)pR;poGj}LScHu26rtayB+x_( zq~Q=lokl~va#~8l9!O$nkXg3oP);vmzn8cz04HJe_m7t=vO-5csdBs~R%5{{?XzY;p8>1b|a?H}JWRHws?W;ZaXn}4H&bcb76DyqxE6G`&F_*$s=WG=N=@d06&zKbnN zsT-&5s+apdO=JBZbTFw7I&U^ZQ5{q1V(~|JvE&cqm`>NKSnr0YVs}@FCn4Ks+@o)O z23ZP}ffcO&YBGK_ZgYQAkzv~%BhjigM8gp!6Fe2m7li<_FkbFCxjc{}`}w`Nsc3dZ zxsz*$fag+_KdQtDh;Cg;mh*u%QYD>;3DTi5Kr~VQ= z%_gwN4kkZTseh&D)NCbxL+#UAZgAoZ_f_rEG4oX83xIR?oDf<15pmumCWQF-!-b*) z)v``{=(!WL+Ygh_tG#XvRUWUczC`@-l}eN%*& z>W@haHIVdD03<_Ws=3j(43^u9lu}dp+tNyIYy&6R7Avkyf0lase`{Ks|13_=XR{f_ znNF+o7f~SE;Ebnrb1i*R82seyst3aL`A_Rb{|0yRg+Un&{EvY4R9;lJr=EdpA!O9V z#6RA^U7>2cI-NG%;23Yi^G>`>Y+lF$Xe6jcW~x7A^~rQvAL0rY_D_42>T>EKoUZvo zqIn`3SbBa|_Ud}bYHYSB{}Wwy_iJb3umYS;efrRyQf2mg(|@>>ACrrPYKhcboQEGF z1<+u3l`hW4(C)Osm~D#|^%FH$JUlH-b%s^VNU6j3anrG~d{e1Cl8t<*ldhw(8sYp} zuyqk<`2Dayo%mXa%IysIX+<=X6lCMRX8(giZLl>Sqo|F(o-$`{>Ye`dne!_AIMr4m zzUT7)AF#qV)J6td#Gy~hJEe@pwrrrSyH7>);_|HP8`(VYaVhfS{? znbn5%`=%`$-Ncfd^o&gOZ1jwbjBJeT9PiRfQ8Nsm3^Zl#JE^4~-YQj~3OHqxt5;-n zQ~t{Tqev(+T&FaWC;z=p>r5t8#i^T>Y43Jl3WbQ;+*0RoFHSz4IgX3tUs+^0oJ^>P zeJE7a#eJe))e4hB&mL1(uRUwsI=F9bk*y?m#vL&ZaS6H$*=mbRii=6Mr&f37{xYuWmvY>sc%-)?T!^9M4dYx`9_ zhmpZX$R+hvJsZJv%IKX&$X+AhrIx@b!+cHAI?+Iu;Z-h^7vaQ+UnAh9>vJfKG2zaSYW6ZLE zyZRI1+*mF6Lx#kcpW6gqSi&VAUz*IRL+w=f*aYeR_dhrj+x~hTPv+Y98Z$4z=ZKfR zVnnwV4vzg({y3SJ@XEQj+ic81m5-AH%*MdM3F0JtRJrVGqed4*|GmIvmb}D1dlY76 zv+!6RvxAK}LJjqp1|O6h?^pRWvHq zbjg$}WuqX7#Gs)~Y_hA0f3sl+r|eIa!*>W^Q|z!c@NpoX)*QoJCuO;s6=WMv*>X`k zDCvoEU*}4U#ivo#0nO`jn^lM%!3fuyk||c~jDv#hC>b~o2MD}y1SgBI2)C?^487l~ zQ&%^_C!siFkFAnzIi)MVyLvpVRsFXPNV)B{I&)=x!!zFjwItk5x+?RK&L1+b27tfu zgV@i-C!!aPGa|JqvWRk>smt3B{aBv%uJAe=e9^NhEiOiD1E<-Jv*WE$q|aXp=Kt@6 zqQ2kAL-z@JQ>QxDA~bq*K>HVx8Cs;d+?0@G(03wHuS)w=j76X(PrV49Wy5~k7ubiy zI5dYJ+SL;H!I`igT2*2gd-*WE-R*rt(L}3Gv8YbH`ur;}Z7mbA_CZ$A7l8>1K_UEn zPywb}Ka&lC;P;~~loqhl1$r&0LuYl8;D2w?t1}7%{8yJVIVoxbVn_`NE0Qv>J++VwX61zu~eM7x^$3MmfFx;YSx#(WEXy>r)v&M};@7?_^>p4F4 zItUnJ1YW>85vxG~mn){mxId=@pN%Tg8|gnZYZ;LbPaw(wWd6*~p9 zs?U4~e7Xfpb?7P^mE;tlS}w!cCTNPGOP!J&q6V+Spx7p+lanxXvX-i8!W^b%Fyzyz ztD)%ahCA|HD4_@;Aut@y3->*^N(kf0n)Cb12MH)5E%pZ^YLi>0x0KxP9Mo7)xR8dV zJ1zYU-dGyqIw%*i8}_9~sw1GhE-_If99$mOp!0fVIq*nFObVbQhr#eo&N$VPm(~ZB z2ixCTHiJiw7Xo&_S>NBXHJMs0{p}@9T=vsnUM0Zb6J$)U^vI#Yy zh3=?L>ab~rNAP96iJ95`cAgSvob9H7bq#po3vb*~NF;4^Je@QXURw8++uOZt zNE&HDnK;~rRYBWm{AK#2BR-=d46E@Ysou>bu#AT$gHkE@Q^lSz#qI1ie$ny@G^5`kgT0`&-Zrr2r4 z)vXb{FpT1A70_O3w!=v{LOpTresuWbbFlNVLFK;M(-zJb$!2cxR%CT_F#)kJqFf#~ zmN(I? zU%Ggwd&2sU>QtY6@N^xa&5K2ifAK2jwM0vN-)IzmZl1d#9Plt_{fl_Qix2G$D@bJ6 zNMEF#2JCDV4_U)4It~&Bd!Ogz)+k=UC<`{7hBFi!x>pCy;0Uxp8KQjn_v@|4`CDC= zmE_+6+}+p7H=Yvj3+e{w9baW97A37r0?1H8I)x2VKaCJp&ml=5Z+k`!D$RO&h8o4U zT(K_py~59abH1HPE0fp?Elnhpk*l9`H%?0E#+loud{S#B2Nv|ii^`Px7xv1-NFmLM z&859UWRL2aR`3h(+<1ddB+Dwf;A1-M$#ZJWX?#^sgq#)&HM4XMvM#x)I!9AXpEdMP z1udZnN$7(S9*$16;?bcXkJ`Ro&*Xc36gU;I`%J4?cBF&`&X{!2-dnJBL{` z2RyYI4W&DUxY#8>dp+?|j=zm9C{kgbCo;}>aw*Ol6WTo_0&u|>5}mo^9g7v*6vaxp z1<$!DiJcAL`Qsf=Y3_jUxUT6vKWlqmB)OwNZ9xYwFrn>nCpVFZ;vO@>r^ia%I0ymn zFEX+^QL}49uoUy+sloxViGOffzB;v;EsWYgKr{PYtg z!n`Vi^$>*2%MB6)adETjO^Jz+5_h6%#+3hQT%?-#S%t5*$|q=GLRNDI`u&%fO-}cW z18UbAN>o!;J={|2#|csdHG}a5yS8FDa40qSc!A}EM--4UQsN+le9O~7_z|YZ5I;(>E_g} zVe-7}ueV4pPyIXy29Ie(fZev`1M5XpjIe6n5Yu@8AF8Nj#lD@FA|!{~@OpA;6&hp2 zZRwdqH)u{~6%+*{B2V@0;WM-U}Wu~OqL)H&vx3dnQ2+y*cUI# zXf$HK!G#~`Bd^+p&~iu_e?U3B!Nas~d|&W}we_of1!C$FOP=mL=943hx9_zqm(Q86 zw-E8o`Z2#B$^&Eekf2z9*?Sw|b0+aM9*z+Li#Ur?3KPkga}j>zC?D z(`RI(Ye)A(Ea)sQw2-A(C9-*GHnjPia(UaPH^_?Tu z1&!a+LEbKS&tJk@p4lj;#iNhBmb7IB3}7%6s+tZnJ?Jx_a8W?vIG!RkcbxGdbt8=+ ziL@Xn@Ieq-ssV&AhlpxUVB0hY2!jU>otll@8kjVN_K9-yaWiso3NrCouU38eS9e+5 zA-2A-QEs`P;ss)%`c4^j+k~~H$+3L6;-+;eb?cj( zRoxqZfOm)Uxs>jc6aF4cp%w4wE9=@41LCH1U@SBHed$i-)lFaDa$$9@=h7W~o&^I1 z;HwxUin1J5eZ&yVS6TQ_3PTi}K!@7{t+5vp&;moyu3bX3RuDlD3!Tsg{a*SZ7)fK; zIH^U+*~(<$a6z9uGP;L#vaRR6s@tl_E&l81E2rSqHjYqorrvWKZm`fOI#8vqjB-xc z)js=#v&4;Xym`0(&th~ur-Q|#TD|XB()t5aUWTnq`OY?-p5~@db*Zr3=p*sCzk8Ba z8|%&Ow;{hdIvaR$&i$zJ`8B$`nbXTq6#xwzJ<*(7acHju=;=s^aoiMDhFHC!F#3F( z+}$~eyAuVL;pQo+ssTk?5`k1{!%*~nG1iVs=!#>Z{tpl4&C|*z%3YMWuG6I{A=&h+ne|L z@5_qTkovp(2N*Ic2kWjfDctspd*)V706r(7{z&lE5M%~dzrX!2WONhHvGY_hij*ic z8k~p+Yr<0C-YT|#zC~IZFRGC%b<*pF3Tmb`(IFh5SRc$}ZUPd|MV4xK+7k&6el|lk zxcTfb@822BG7?g?jg=scZ1`}9qf>k?;$&kw8*X%-Fg!_%%7(Ts~w34Bbf^M>7JoKkWwBL9?c=%IACE&BQze#Hx~Aa}v+iJH37{}Sr?pt5xEa`Z89*GYdi~Ns)JF?& zhTxf+is{D#+2{NHF#?i^+_J>D{~%i?7(;lLq()M-F(s!1t(*_}!<%-%z!Gr-+|O{s zK8OjN*Nu)YkZ~P6AxXKD9>LuW#}iXDa_vtwWyNWeiM?>lqOFpUM0jxD^LO9g%lE@zutKuI7Lu^w9916K;NQca9BkW zhbuia!HONi@!ottOj4&f@-<0K{C0^o&^n*#By+ii@=3K_A3s8HmCP&}fVHi#ysT;V zrDZJYhoP-3AV1$?!KZc{yNV*)gFZtCnU}zq$9wIgJ7B?mQKl2*2mgDHfX-nj*NTMr2Zm34Ruo31}OMa#t@`8-Bx7kxt!24Ebe z)PtN%B#4B=MGt5}3aEYvD?D^9z*kaGV#vJ614im~8Y%lrKv+#McxTc_ zU9NOQSt+#QItLk~amB~4+O^SLise=_ZU*mZZdM z`plb|Dy7a0mvp5~*dWx|#q%l&I+UqiiiqE(^~5?r3fD1{Zi6}c>(f1}DYo-sgRe@+ z^ylFf8oJ+6Pt7DjaZWHgqvFBJm6s0-9c0zWsqKmyk}_JxI~c>05=TR-*>jFET`&Rf zC)GzaCA|0gSS=#nB?m6tq^SfwvbOZcYH4AxA-2D@Hd8I=2cbHzF}M5sRz6L8Yy}8W zJt*iw4`wZ}g=ZDr^9~q;ViYTSNWdo-kMQ6AkIUcr;W=eg+zF+$oqcGF#hl^<%X8b7 zHaH_ZI5)~Cf3(853>qJjyx!VAImzAsmO=ASUkV$3nq^(%74{$c&n+I^)(3%Jn9cMm zJA3r%`v>IkI4%M1to#}FlSjC0=z^oCvwq5R)IiX?ns+!g5RnYJ+Rg#b=x9u%_ANdb zaR!a)uCa%6>j|DRn_{NO@?p3c;cKBOd5dA|+LSOI|1`K|GLt{*9+x8E#x; z$lOJp*aib{E+33H@DUI~I(JfEc+SREXo8VVXy=m1wY)a#ARga-37ArJ5FZou;qHv- z-nI2OK52i3GZHooSmyOd`}T<>-O_f;jqkfaR`jd=^>!>d%@ zL5M*MbV9q*s)V6MZUg4Zfr?@w|BF7PD5+qOSKAxh%C&HBSgys)44NZ`QI?8;=h1-X zTC^|Mz9~kyAJkdPJrm*9#l+_}8O4G<+|mj@V@UE0Qk4dV2ReUYd2~LxyL?pz9T0#fR4|-(kEX)9@j9RD-h13l7 zL0i;x(>&^}5%VD~s|loLz)suy8pV$ekOZi>ovRpj<*SF)wm5EO(r}-ph#&&cNtxTW z&db3i>%!ixR@pK7dEVCb-Kk57LZ1>=2BAleEooW*JM0iyeuchml{3VAb@)sX^`x}V zzI{J_M3jHU#JM7pa zxw7NJpGdl6-jn%CLkEdNTmki6v@-`n?fQ|bxkSdm*W*GKu?`%$IzYi9W1<^kmYB;k z`63&sHBrw293Mgu&LadDIL`(|nzYYgyd`@t-KHttCaun2ydo?~pWe-_aKlk2RBC(o z5iske7Pdr6jHAjH%hsS1V$>A9A(K*U#VHkUy#Nv=3S*zD$d*EN7PBurKYSNI~JW;L`ZFIislZ4XCC0H+oe$hzHF=IHZVus zt(=^UW-gW}rwP)A*l>n+H_GoPccJyj;@yS7!(q zFywVvpEs@EP#5s<&KEUlaQ&o8Sv!>O9Zj4FjZM112zV=4rMaU1qgoPYaVB1aDYnCU zIetwButF>(t318)Jm33~0Sn?A|0t{s9Yi(Cr;!;!B=Xl5R`<2Iwg)+#Sr?TVt|nv| zTaIB_N{06CB@5GB%4+wev~?2nJo4|R*h_N|D>V-j3qB9RK%5rmzYlKOar2$@RxF?@ z(=yXDSqViyBi1gB)o*zzmHe`2$<@AEM;br87=w9e>zAi;O1+c+*)?wLzB$F$UcRRb zZTS^Cmf%T>2^(8(L#E{k+(SuocMOMbt?RMx%nVjHkv>BlXJ6B}6fTrWvR~Bji)&J% zH~q^D-&9;4`fr3II-s|xfRZfaBAi#}d9awbNxym@eZf6*r7Q*#9R!xIli76nj#UP& z2^2?i%~KIzK`j}Fl0ZANe%0LD?K4xf)no9)1{7cBRBmr7S^{7pK^Y@Q_F5U|Tphoq zYLgifF&mOQmyL^6<6uNnE_&bcIWNTdKidA9XSGI4_%ez7*t6UC6WOuCSJ~~_w&~XyJ zYTGLHs=(D#@LtVRpJOEC2xMX4>%+(Uf4I;3g8T9cy)@Qvp6Oqqh)Fc@j$-&%^ywqH z*p06MI(2^~Ff49Ny}t7Is&k~H@oTvi65*ryC2gU+A>t@(e2JBYF3?OE?NZfI^^0xt z(nwyMdx1qozo@fz!m%a4rjG$DNF>gmDV81=-7H69QJdsMjWwNf&7so@|EP_~Q(zndqphE&yHUWAzg(hPh z;6KUR-*OkQ!~Mk$#b?2ueu!Z@!9*X5ivNW`{swj}!A<(^J=DLn_3Gam4mydI1dCHV z^zdU)&OIvYt}1n9JqIfqPchzwTD< z1CFv!IdUdt)zf|8p#aPDRvGJhd!|> z*Bd$c8>TqlKNLQTefIVYD;8oddpM<`#oz*a56M^&R3d^oxDHSM%jX$cnaWDfpS2Vt+B{!lQ1S1yZhc+9NM;&`+25` zj|)+SK^t{D-I1;XB)%5yRyrZ1bV7KR9SwIj@2fOSjj`s*S?|T+5S!Pi*x`bi`E3Ni z=(Mj?IzdKaGP+m>QaEYe0ljt!4aWTUc4iEd|JVdaMul#X9Mj6Qn&z9<@r@jznJwpv z?J-I#Y!z=QJ1T(Hkq^&h<`0Y-$WnU&wgh_r40)I*$m7V2@{Am8x~fz!nrtRc{gild zr-0_|5Rm!`d&u{)KrGb7LcdsMUd>sWbLH+@>(){j`1yM+CESkxgBR)UG-SHj*AW8# zhJm(UjdRFvkhcL_5jUPjk6$6Xj%aZ#&!OX`Pl#G_h-o?K)pEU?ZxRTQzxRrf_SJc- z?UAF>aPkK-gWc*iUEFa)iy0|{Dc(?Mz|Knq_%bWCcIS-_7216vj z9AhS6s8|VES=%wSEJ})i&N7H4n{{4N3H}D;(?cs1(;%`>siU3({g`7U4RYjbxqsf7 z)D>IQ5f!Nbo68s#J38^AraVB>Z9LEu&abVwrqrvSb-%!K`)jadDKg^!-Q=}eXxmG> z(7ZDgTHoa3ems5(>*^4ZHS)mX5hh_=d57~?Kfl$LhcE2gQzys;){2oH6Xq&L&E?}- zp5}l-Kq8fg>8SD?uEDix6vfqb)G|+@<>XSOfF#~7RGtNY#5_e7@HDk=H_}jhn18Vk z%Cj8%XiV+7Qv0se`p16t$-dO|k4MRxFInjsns=zC|8#SKl_zPCP`N{9@FG`hA?IP# zAwM}%dcxl$r0=^l(4qT`#oLX{#HMsDJN;jJ|$GR3q|kieEoFGzT?Avl-ry+5Dhql;!=1+)$p)UbemoQBr%9RYdT%J0NIH$=cW3Q&#_ z7>xcXK|Y4{9BF>Eka;|YBNrAZw_pML@IR{Wt{g9!cCl?1X5tH5(;V-VsrXP*I8+5T zffhM}P_f{a!1y&MY>PsBrkX`QepXVCtfm&XexA~L7LPb^84!h@tczZ9lVs?tb6V=g z;4nJ7r%<=7hs=2G7_}H>zDy}g>dc}Qs_3a$or&);D%3r@XF)e7kcu4mjzzQ;5qiK0 z$U#1qU(Sy{{lTr5kVGx~#y2(_%C}a9e(`EK-?^p|na!h#StE6O_Edu%!Fet4QRi9{ z01+*+e8{RP?I@K~6a6zQyV(0v$quHW;GX5v02Yuz_gWH#%9zd9GbJhD>idN;}H7IYL!7fB3rQ%i2qzxXe zP^7}!C#06)a%)<6bKBI0_xp=hjnJ_!L$?ry%Q%=tR|NoTY?*XfNRx1>8g)DgE4Y_B zkn1sqo)WU1nxOvnGumuEnFQPv>*i zq2jtv#+L({pYP?GV>*&H@%Z7izsTZsZBPKJ9Y{YJj7p{bV9xbJx9L;F$}fsD-sgRj zD21+#Mvvn!joMhZ(A*yQLYb=8;ae9&k(3f3k`M$P*)$lhCPdb4yKq18;9;$(R#B&3 zEj5=547k1nsNfU;wuR^}IzRfCxufzs!uQ|&kMt)b3o8Pm3wf1PWKQV7!Z7!{?R?s^XyzQo;hbGVe|_BV=(nc3V*8SQhSyWINhu!w8;b5nTS=znq%{;Y^$ck4QJ4bPrLeH-teaM_Cp#%V-ezy? zZOFh;4B%F?0)J-*_I;=#o4Z-L#jmOeFaELS)$_=sG`;`7W460+RNr&1Vj92MuK(|sg5Sq#9nKZ0 z_6OmlTG^0IFNK*%I(|GQ9|OY6a2`_%&r{RI!0$z)+H04t+tUV#R49n>8N7bn&tQbf3#}#ea5_RXYQ^r z$7haR3J&N9*gTu!bRtG`6J%|=Y7bJV%i8~cG25LuG$F20-0acs%+Hryu4Z*ST?$a` z2rHIzD>lU!K;YqqXtt>+>ymh6MFd5C`hI!!y=VpoPKjO^>bJmu@*AEbhYlV&awYHJ z!Nc#;!&8QTVZNTvD|%Pv6Vb3?+%(6CkfqeiEIRsi3Pzl+r1EUr-j}$hiibg(t;k9* zjJ`-2nyOO~L5`+Bmb76PblFi|2t74gnDS9W=bfnePn=$nSvjBnRkFj(Is>bN z=D#(u@$NSJD=8ivHtT~{qGqNDDA+<)wLIyuu#VCH0n7c2L8I)#uQBoyY$Br5lBo8Ee zf`dsG*bL-ZY}+XI_qB;yTfx|^R7y_4E=W2sk*uWwVg)>$q*7v|8d-&JY=G;s+tTFe zmUU>43u{1dmephzEj5cHL1$ruQrnG5zEbn_%Q||8QIyGDRyW|=d2)cjMhz`ops);3 zb0Gwp%dizq-X?xT+si@C*N}p!c=DHmF%ZT&|j*;);{aCpA< zrXC8nF}&L~ITHV_=}GYO3svml37Uv_3?EFia1d1;{4F08l1JdB4Vc0;Iat_VcpvrM z<^&`&ET$Fb5MQ{C6E^+85^etAsdDqH!Wtfiw;_Vy`ERSq(8(?6&&~)24OB3asTVyOY*9eUu_?v-l+%2rOY@r=}@^U<5=+MUp_VKHur5w zHnO0o0ECM(S+ID+x?m4-Farh1D1%UfF}boNSN1J^OXnL8P0YNXFw1v9NuS@+PCuR$ zAY*Q)(*u)vnE>ctu%3c0IkfW?F`%b4R>a_fd3tmzmS5xE#_JH3GxAVRji+MS!HotR ztCS3iQW*(f_F`Cva4$=;IcSvja;a->eYZS)*eBPkyIa((-#p*h)se`Fp3W(jr_@%=G90@jPW_g)S`WlEu_+XSl-NI3& zK&cO0yHbD-f}nef4Auf;i><2i#wNrChU(5mpF2Y;^^4NpX7td1Zxvw?2hk**EbN=c z@t&t95Z~6?z!Q4TOWssR4(sTwi`=jW`mFTP^=*zm4Ula2QG<2@B?}Vj)-)S|@4C$Fn0}JWKf( zsTU2egv&B>6;IctI5*-W*wE2HWfNPR!H8=Sde5I!hy_HpL>3yZk(O4e|vaX@5L*}9I!1VEy^nd~R@yj!0 z!I5GLZgo%36B^{DFx;cSTK~&W@)8+DTCju$8Uya~BuLi}uz(|F0;QmCM_z<$QWF0< zO7xj9U?kayBgSCuDVDykRQ`CSah>d@K}h^^%Qg68mFDern}E%c1byd0-`!9ov7wHL zxZ@?gF>;`f%7lz48@)e~2;(QQAY@RbW%3iGDIxTmZEH6>X(^D2Ooflcm4a;5sa;10 zfTZ``h~4{>5FLE&)LM4}NseSRg{cW%f2cv?lSQ2v<5b>|LAy{0Zf6x(?NI_nP?dwJ zNzBwBnyg2c?&}}PVsofFS;l(;HM)@7z3auK4f$(-%$7>Yv%CI@>dU^H)h zEtJNt(KxTAESB@tbE=5Z%4|&HFn>>TT)yO8B3F zf^O_ue#YB~CEtJw^K$2cfM&btj+#=?&$;&I{9a8==S^Jp=dBUu^T*u%<^y^TJ@1F2 zE_-MJJP*y;CXrDUq&v^-KKT`bqdy(Z^j5iM-F~SeL z1Ff$?aP!O$J}IMuBT(<>c(Z&$DYXWa9z^rslUUR@jr5_QTkA8`%>IR~e!D(u?<0w` z)$#J&GR6FmhN>?0auCe9qmv?#@6z7}Y6897CN+(vg|mxW4?p0&O^`?syDxiee`4Ujq>6iTnq!~W z|GI&OMx}g;nwJOX$rNW4%IK3Qo*;=$Z6#2=n)x%epcu0<^Zz1s-&8G_0u$vofd72e zlFQaOl05MafOqP48bti44^8|+-j&4eLQX%4Xtumu65SdsMz&r#*Aq1nGHH?{Cv@L5S0v-4V7AM*tws>@4`6N|Hbg(7U)N zYPS>nnAr~}xPtz#@32M1j%W|}2A@{kZ!FO@w{$z*A9tyd0=D4mhAG}+MctsRJ(kq$ zHTo=eF7jPh_~aiveCv&1gyN;tO-4je6ib3c+Xeu4xU9h_G)5jMGSp#JO?~5$)#Dd* z0?(9T8jgAybZ~^5@d8b6tB!C5vxe$B!}%%Bru9~vf!d?;HqC{g+F1H(BH@));U|pq zb&XW~%$6}9UsQ=JB^H;nIwEZvDaFM3|-~A04%)gCUpTG-^*l6++w$an-TY|C$_O#{L(ie0by6Wp&^wfF;Cq*Ygc+q)Vljc!3OF6sM>`M1N${JW_3r$Be97a(NzynCn_|H%>@xJ<3{kSKWr8LygX3waXw{*&!wcc zm5qIKmB#NJut#q6m5+NSMRSRBYp`Lhzxrtvg0)9Wunzp{ByELM4}A4g9!v&1x#ktH zt6$rh6JZGzvp{n7ACFE@R|cbggCl}q zi!5K{>yfyu%BZgXw&PoAlX&1$&ZoF~e*#^bd~-6`wVbN<3rK_H>e-*&xvDz6Q_W`qwC$^x@3*Q${vN-|5g#@*p`ap_phyS`NPr4DToVBZiiD_)v|xgg zas=Jv+mqphGnq7$f=$qzc*+(qib^qd**DhG1{$!+O0Fdfv`N}a4h^)B5EueoImVOU zod=FRlio{aUAZ%pgWs>nY7YL2SJ7 zRsvIAhFak2RzdCAE3D%UnvFi`?3}TnbJV>GTaq-Qv|e_?zLGkb;`n; zQ_WAI%Uiq_WE^selAz38>GQ(JHPoI_=S8n>hU9&42Z_*@Fk}?)`wKS$ET((O^3wN# za;8gvHMSQR^Fkg-5y8KHP)8e(XOa|Py_dgCOzj>^ULyKASgmFe@(tBwLfd_4%9tZ$ zPAjsUqCg1=psdLBzTJ_NqX~ z-$DO5Om+v2qe5-yM-Zq=?Y_2aE375_}61W zBGI0cVl>t??<=_ts-OGJchjgy=O&*ogT60`7>ucvH}iebioYpTZpzKV{OdD{{;cBa ztrm+Fd$DDg@LU5L0-7N)~bDrVJ*Dn`3X zLjns*;x_KKK3`wP8v(X5sF{Ma@?h-vB)QtRsSWmL3fCOHM1}Ox6^YYUYq@WMOcftv z$0o_uzEp!ii)fzH5Uk(VB=$~qm9!I3-n^<}S%PD0h)1LAjfX!micdQXOP|kWu`S#) zS?%@h;30S#{d)mr^?G7DsLzx%UDHOjn~3RRcr03b>$=+!Ad6CbM8sq~z5w<3x5XZh zli6djvA77N3SyxSII628k9H|)m(~U$qf&$18JSUIeA88?VfmAhrWsI;=p-Z+vKx7Z zE+j2|fi{3u(W#Kkr7kX!Spq042&-5zg*gT(%%Sx9;4KvA9#)0A=_1bl5-JyQVQ6E3 zZDqJvbiVDWcrpru?hWHByo;DX7WyL0w>Ck)$WF%%{1PERNN&ahw`_UW^fxgTT>^fx zCHe)xuS9Okl50#_#?xRx0Rf{craJ+X&&|kNrLZ9QKaQ@;>Jdkemp*#+sG9b#w|cQa;JpgL z;HV4$#Ue8|poV;-sQ?DK&a72RZd6Y5(4rAhKBRu*Gn++z+)R16r6%74=j zoDsvhI*XAP=y!LA})Xl(jzSK4)1;@*GN4LGkN zxj@w#H_sMILmjuBAOMYJvk9;P$a9GmC(vwcVb0;ku;$NKXOi|C%<9QwoUNqw%C)zIY#g44u3dhK)at4HkHmZ1x1Ga!RG*49M0|S4t z^Z!SK7G*7Lfz^w&{1s5A7@PLbtTLUBpZ{}zy75|M{$*(6k_V+%yDz;>(sR7!QTFo@ zYruKybFDtXI2uB_Zlkm`F^XC%xQA^u!d(v-W`CLfUqO3xGo!mKwb8aUHwRImWPDZ7 z1_YBUs;@1o+*i4BwS~-AeQ3^_iW&J zxCMCSM-)7vnmv>~8nR_=DYTWtGORc-SL$g}D8Xv37{C_%qNd(xAjT2$#p(< zT=YEa18}!F_b3KeZSl$A4B3SRTcQSrMEC4L!%muEhkVTFUm6lP7SR_kURzbq7DL^& z-UFpoG+We{qT{f2jrK@#tE6tfF+M1QAs8|hzmd&hZ8sr)HIo+}-aXL}3F9JdrIg;2 zHYJntRky>rYB63@1JQ^v=h_x}`=p+siN{Lp^)h`}&4%T-0g;cmU{IgO5Nz2PBC%WB|S8~9TD zUP=}DWElFUdxxzZ4Gdk76YJKKPWBa|hivBpWOROa$-8njf(J{{S0`N_1o!#JVrCW4 z$)CfQ>2lO9!!>nZ^|R$yVbNgLJ0!|_G(Ea{mO8tf1uK~a|HN#^h0WAc!z|{^OnA`6 z7c|s6#@okD-fe5wwY2ws#968yax%py<@X5SI#ug5+MhLztxoO5!!r%b{px<3p>mz> zn>wcic(Uh^vs0Pk?U=Ks|Jy7NEF;J2LZfW+!Z}A5qNzo)mYJhUGuth-YD)Ew_Bn<+ z$<aOjv}m@R`DUwd=h|VWZl-TeR^*dKsrFe;Xy>3K?@{qnrk*GjSW8E+s(Y%zPmwQ^ zGczH@ph`|$uookZz0>WHRI=7Ampa&*O{${$v`N0#kg5as0ion>?L&T3@2gzXLhY^r zHD%RYoXgQ&%q0ZsJ}kX?HrtuIy3bK9n!6Ou1CMh<2*vu#tl`>TuB=|;QnACak*NkH zXNq%qg|%9>*QPJdcT~SoK#s55rDz&)Xvm+bo(>nr&Rtlt~JP$!`n@ z2+5GxAf&LsQQN@_aDYIlBZw?<453KpAQtNc9JBNAkn92kvfKm-tBdeb>}E(gT_WUi zKQen==IMF&C(-Q+h1WcQ)O#LC5OwvNqGQXXABY{Q6nXfgEH~an{&AW#+Xnj zB$bM6$Y{m1c`)~Y5~e)WEM1ia@vCyNC0D_(QuHFOlFUE3LV$&GPy)Vcpiw`^6wMh| zF^UMFs?Is#8hx2)fHfk1MZX?U)bJetA9@uRlt5YINaI^&P}i@@5z;w5;n%}dkan|P z0(z!OLEVwO>%B=8ZSTS-hE$XHONYM1eG2iRPiggx)#ZvO)piORBKn42u2^J&TuMy< zMUH66?xC-1g+?V?Lgq(s-~x#MmmKq-&8ARE0n7n4BpOZhhjl0!M}+HQPz9Ck?Q5UNNcl- z>eL4180c*qP){S;uH5RZNI@MsjU-1*^z_rY$E6J~sBqaDMl0yEDq?ubfU}q8+>7M+ zFFop1pYaTL7j)`X~+=AQH)Vd@h!ImuZandSiJ58 z+12%m(dl(kS)2#9!_e9Zuv6-VjekAzJpV~-g4E=$f!mUB?@rsYr8Qi;rfG4G7Wvw< zfVYlqlSdch$pf1X866Cbbe8>FJnc_cD`S_?II9;Eo3(6$5LJmn?x)x!G$_^Rw83U% zwue)cDOcp+AW^Hm!#i7)z^PU>_1v}yBxX9Ecqe(Un(dpDlTE-n@{@rDdZJ;KE3Kh`BP0cM#`M#^Iy~6>12fv{{+7;`L_c-{YCSFRi=5wrnU~p)d-@~cV zvGEE1XZfC+o|zT+qyV||4znQwz{O83E;(Z6N}9JgII~500mvQgWnMmh0l|VV3rBrR zL{tncE+N@b$NbeU1(k+%{1dn=B0If8epA?Ig@2AxDD*1~RuR{U@A1l={H;o-ey>Vu zgw2+nPXEnifA9AC(I6grmOc9az3`8DVE}`fTiC+{!zFIT7{_faxt$f4+2;-pxWZMg zaUH81VA4K!a}ON!H^V?bbHpJp;s*D!=EWHDfS2GKmk6H4+QE%G51y5^hL?l99pb~6 zUyRQ2&my2aftdvf79tc#m~aumB0)rff`K>N90a6jG0nHoQ&4>q8U|LZIJg$!`#*ws z35ZC@D1E;lp!S|VQ$o^l7PhYYiIefQ-OqE2i0S%B$*oe_IW-L}nmG!i)9_B$%4Br0 z`$*>+x0WYgfkH)!HQ&zzTdqQ-D%EP#s#C8)qbAK-v})6?L#Hm?di3hkZ@{1-!$ypv zCMHa%DH9!bB!^>j$IY6f9!FtnCoQ6mqcHr8v(@u17-6cHT``ywX8E$4Zn^CaJ?g%g z?pqoye^3IwERF;LJjuwuo*!6S&5 zfQW>Qf+`UW9Rm}sF-@GUd6FdK6A%&+lW0|-b4n#6r=X;wripwVLO5bhn4Z`&8L9m7 z6U&w(mzhPZIM>A!7E(AxCV8bwb3fZTU4~3qve7ch_Q+#h_EVE9566)Fixex#NnK04 z%3!ou5rd&g)2Z+rOC`1{)oRpwLHtODHx_4gKeo3Tb2bNOj;4U5P#?d5pb*|;+9KXq zQA~w`@w_DDfBub1!@A)g{v&`SkRT7_gX2Q&R}A*K4_1j2E*Z4!=y2I$#2Nucfo9OU z^H~llk5VXc$M2l;?K`Yu?K|I<@I3$z!37sxa@kSG+;Ur(XoMUjs1Q|243L>{lFi}r z^8M{_bovBM^+>|K04)Wn6 zZIY>>Zf={WK)ygk*n>yn|CnMXK z`e5-%78Y&HZVRntKGvB};oFn8B=-a1UqK2O@HY3$*&=z-M|pMvs6^AF{!}XL?`AIx zOJ{c>TVJpqK3ThH7Zdr=K1Ney-#h!~7)`SJk{Q{gl5XaD>j`_PrhIW}_v!&O2G`{P z4K&)YY$xqto6GmJA%8nUbywu5YrTh?ZOy57C0Rr8cXtWR`tai>-r6Q^BZ0Dhj>G3N zc`#jpBXBE==;u9-W4ej_#cq$M5WOwz2AoK3mN(1a<9s>^RKrsMdyUd^oBZcJ*w)*F zGTrc#`I*Ia&$j)@Ru<=U7vu{g#?L^zu(_9#ZMy_4Z8VTwzIvjI@%BZ0B)qNtPwq`6 zK?WQi=!C9OKk*??qd-udK0aEtX69}&GCO;GPW(Ck^D5nuH27ZXFUOHZp)pe0vpBT{ zm{1zbP#o|Heg((d^Hy%k-=Rv2k72PoSKccdcyLak<;bGY7^8ZF9NVE^kPr2O2Ybg) znnNF;{d$yd^lkXbjQ6b>=pgyyxu)Hp|Gdo5sfpUka=OjhBE?1Nw4;_Z2cA~L`n#8Y z*Ha^L!(#nc9vp7|$>ATKpN74aOZ|$+H0;o{r?O;k{Ud@o$YCiQ8iQqNXn*?=SX-LC z<9^D$9iEHDaJ&U;Ij7fHrWOu09-Oh#alc(9#4qyGwueq_IQmF>E%@sUx0lkCe_Ed% za45F+`y5AZaZCLS^A`;|H|0*}xJ}+RZ*l8?I0IumSopLvp1scxJkGl;`RRWXjdg)a z-_0BAJAM8Ofq(dy7+X2J>a=wGS`Z{e!Qf6hkkBIlIg*t_1+RoyN202@sZFaki*tkk zqEuX)6Uxh&NM-5SRMB^Ur{au3E>MdzE_5oZ13`C8MjdeqIg&(}P-g5S1&DO^M9HcE z^=5KR4|IQSz2C%`({Y>ytLDc|oG?-4K5b_6Yi%w$#FR@N>&OB`m{4Zy+9Pe-wr$&X z9LI4SC(f4Q3Xp0JcLJK@V+we@AFs#d5AEyi>2CG(uc&P=>G9(XJ#p=-OS|)ndCVXo z3Z{3G5n2EVtQ2!&q@%m=WGEVBcJCMe0MsQ|E^g!ch^ib_ zJL;X7MrR?vOC{A3eJ~gtDJl?s;vK^#snV_KtH68h!I>kjyjj?5(@ES6XOk7h;@=Dk zC6|{r^(+;5Q^@(g2T=#^nf>gw3CpYo@K9qB>k4R5WM?oJKO;=Gn36sjWXb>ONllKr z6JwRk=|xH7jY*%^kfV)Ubcy7~VF|3la~!Q^D=l@~tRgKs9E>Je^K|)a++Bjvh^*R= zcpl-?kWiFgTz<(CxzGRk4bw7syWDQoip{*J*(ez#LxyaqZ#%To7wC!1CVq9rC!2}- zv&X;iS%m-z5hj#z;mu86D`WjFRk8vF77P_HASzBE4*>@j00=2TNGBEm@y^;@iU9=% zfB*ylc>sU`c?Adn0D!z~r1qZ%m!MM;X-pyqkdl#8wE3!kkM+IJFx_GZ*vxj6I;in24fN|R5J`e6Kxtd$wDjZx= zSp;riS+bk`AvmyKTJKRQA6laNsTS40fl8OrAOn`xHY1+OtF;CL)#xb|&DU*QunAg& z&=#XiV{dJ-oh5`uud=Y@t_fQ62$DJ2)@pTV$>bU$RkC!sf_zPk$@;Fh3y+q@$V4W3 zlzOJUccxn22hzQF7R@B~F*JUC1TjXk^oqORz(uvUeJh*!c7%Yk5u-`Atm}Itqk%8T zy|FkW!|G8(efVBPq6dAaY@0DA4>~#tkdafQJG``O+t28GZ{P0LrsG#s;QQk+jj$_i z^a{Enku+iZg0m=i?`G<*Cs%0#AK-xjt_i92cZwzMq` zXf;4g`)aY@{Qp~j-Ry3Mr-%Yi`+0+hUk;*1WBG!o%8mDhyO7M{5NZxH2T~iPp_D)W Kf0*w80000xaBn97 literal 0 HcmV?d00001 diff --git a/fonts/commit-mono.woff2 b/fonts/commit-mono.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f9ac1ee498c33ac55b804c3dbd6c8035b6828042 GIT binary patch literal 86768 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 = { + red: { name: "red", light: "hsl(342.0779, 72%, 58%)", dark: "hsl(345.18988, 100%, 69%)" }, + orange: { name: "orange", light: "hsl(15.771428, 74%, 54%)", dark: "hsl(19.731544, 96%, 70%)" }, + yellow: { name: "yellow", light: "hsl(34.639175, 91%, 42%)", dark: "hsl(44.70588, 100%, 70%)" }, + green: { name: "green", light: "hsl(153.7815, 61%, 38%)", dark: "hsl(90, 59%, 66%)" }, + blue: { name: "blue", light: "hsl(192, 71%, 38%)", dark: "hsl(186.42857, 71%, 69%)" }, + purple: { name: "purple", light: "hsl(254.11766, 44%, 55%)", dark: "hsl(249.88234, 77%, 78%)" }, + teal: { name: "teal", light: "hsl(180, 65%, 35%)", dark: "hsl(183, 85%, 65%)" }, + pink: { name: "pink", light: "hsl(333.88236, 69%, 58%)", dark: "hsl(336.78634, 100%, 70%)" }, + cyan: { name: "cyan", light: "hsl(195, 71%, 35%)", dark: "hsl(193.41046, 72%, 70%)" }, + indigo: { name: "indigo", light: "hsl(232.05884, 61%, 42%)", dark: "hsl(234.61538, 73%, 71%)" }, + amber: { name: "amber", light: "hsl(38.57695, 94%, 44%)", dark: "hsl(40.35484, 100%, 72%)" }, + ochrea: { name: "ochrea", light: "hsl(45.75298, 95%, 45%)", dark: "hsl(46.09091, 100%, 78%)" }, + lime: { name: "lime", light: "hsl(86.25406, 60%, 42%)", dark: "hsl(86.84211, 93%, 71%)" }, + maroon: { name: "maroon", light: "hsl(321.81819, 26%, 41%)", dark: "hsl(322.10526, 66%, 66%)" }, + navy: { name: "navy", light: "hsl(216, 44%, 38%)", dark: "hsl(218, 69%, 69%)" }, + olive: { name: "olive", light: "hsl(81, 36%, 41%)", dark: "hsl(81, 64%, 65%)" }, + slate: { name: "slate", light: "hsl(212.53197, 15%, 44%)", dark: "hsl(212.90323, 61%, 72%)" }, +}; + +function parseHsl(value: string): [string, string, string] | undefined { + const match = /hsl\(\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*\)/.exec(value); + return match ? [match[1]!, match[2]!, match[3]!] : undefined; +} + +/** Builds the inline accent variables used by the theme, mirrors components/accent_color.html. */ +export function accentStyle(accent: string | [string, string?]): string { + const inputs = Array.isArray(accent) ? accent : [accent]; + const light = ACCENT_PRESETS[inputs[0] ?? ""]?.light ?? inputs[0]; + const dark = ACCENT_PRESETS[inputs[1] ?? inputs[0] ?? ""]?.dark ?? inputs[1] ?? ACCENT_PRESETS[inputs[0] ?? ""]?.dark ?? inputs[0]; + const lightHsl = parseHsl(light ?? ""); + const darkHsl = parseHsl(dark ?? ""); + if (!lightHsl || !darkHsl) throw new Error(`Unknown accent color: ${accent}`); + return `--accent-light-h:${lightHsl[0]};--accent-light-s:${lightHsl[1]};--accent-light-l:${lightHsl[2]};--accent-dark-h:${darkHsl[0]};--accent-dark-s:${darkHsl[1]};--accent-dark-l:${darkHsl[2]};`; +} + +const COMPONENTS = [ + "base", + "article", + "article-list", + "article-details", + "article-nav", + "paginator", + "alert", + "banner", + "icon", + "search-modal", + "tag-chips", + "audio", + "image", + "video", + "vimeo", + "youtube", + "mastodon", + "link", + "overflow-auto", + "crt", + "emoji", + "statement", + "comments", + "footnotes", + "skip-to-content", + "marquee", + "audio-button", + "deanchor", + "fuse", + "search-fuse", +] as const; + +function componentTemplates(): [string, string][] { + return COMPONENTS.map((name) => [`amezing-${name}`, fileURLToPath(new URL(`./components/${name}.spug`, import.meta.url))]); +} + +interface TemplateViews { + component(name: string, component: unknown): unknown; + engine?: { renderComponent(path: string, props: Record, context: { locals: Record; params: Record }): Promise }; +} + +function registerAll(views: TemplateViews, accent: string | undefined): void { + for (const [name, template] of componentTemplates()) { + views.component(name, { + async render(props: Record, context: { locals: Record; params: Record }) { + return views.engine!.renderComponent(template, { accentStyle: accent, ...props }, context); + }, + }); + } +} + +/** Registers the Ametrine components on the views registry. */ +export function registerAmezing(views: Views, options: { accentColor?: string | [string, string?] } = {}): void { + registerAll(views as unknown as Parameters[0], options.accentColor ? accentStyle(options.accentColor) : undefined); +} + +/** Compiled theme stylesheet (Citrine base + Ametrine layout). */ +export async function amezingStyles(): Promise { + const [theme, vars] = await Promise.all([ + readFile(new URL("./styles/ametrine.css", import.meta.url), "utf8"), + readFile(new URL("./styles/vars.css", import.meta.url), "utf8"), + ]); + return vars + "\n" + theme; +} + +export const amezingScripts: Record = { + "closable.js": "scripts/closable.js", + "paginator.js": "scripts/paginator.js", + "deanchor.js": "scripts/deanchor.js", + "marquee.js": "scripts/marquee.js", + "audio-button.js": "scripts/audio-button.js", + "fuse.js": "scripts/fuse.js", + "search-fuse.js": "scripts/search-fuse.js", +}; + +export const amezingFonts: Record = { + "/fonts/commissioner.woff2": "fonts/commissioner.woff2", + "/fonts/commit-mono.woff2": "fonts/commit-mono.woff2", +}; + +export function amezingMount(options: { accentColor?: string | [string, string?] } = {}): Mounts { + const accent = options.accentColor ? accentStyle(options.accentColor) : undefined; + return { + views: (views) => registerAll(views as unknown as Parameters[0], accent), + routes: (route) => { + for (const [routePath, file] of Object.entries(amezingScripts)) { + route("GET", `/_muddle/amezing/${routePath}`, async () => + new Response(await readFile(new URL(`./${file}`, import.meta.url), "utf8"), { + headers: { "content-type": "text/javascript; charset=utf-8" }, + })); + } + for (const [routePath, file] of Object.entries(amezingFonts)) { + route("GET", routePath, async () => + new Response(await readFile(new URL(`./${file}`, import.meta.url)), { + headers: { "content-type": "font/woff2" }, + })); + } + }, + styles: { "/_muddle/amezing.css": () => amezingStyles() }, + }; +} + +/** Convenience integration. */ +export function amezingIntegration(options: { accentColor?: string | [string, string?] } = {}): Integration { + return { name: "amezing", mounts: [amezingMount(options)] }; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f153655 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "name": "@muddle/amezing", + "version": "0.1.0", + "type": "module", + "exports": { ".": "./index.ts", "./styles": "./styles/ametrine.css" }, + "peerDependencies": { "muddle": "*" } +} diff --git a/sass/amezing.scss b/sass/amezing.scss new file mode 100644 index 0000000..224f2d1 --- /dev/null +++ b/sass/amezing.scss @@ -0,0 +1,7 @@ +/* +* Ametrine port for muddle. Combines the Citrine base with the Ametrine layout. +*/ + +@use "fonts"; +@use "citrine/style"; +@use "style" as ametrine; diff --git a/sass/citrine/abstracts/_functions.scss b/sass/citrine/abstracts/_functions.scss new file mode 100644 index 0000000..dc7e8f9 --- /dev/null +++ b/sass/citrine/abstracts/_functions.scss @@ -0,0 +1,5 @@ +// Converts px values to rem +// rpx(1) --> 0.0625rem +@function rpx($px-value) { + @return ($px-value / 16) + rem; +} diff --git a/sass/citrine/abstracts/_mixins.scss b/sass/citrine/abstracts/_mixins.scss new file mode 100644 index 0000000..6a0739b --- /dev/null +++ b/sass/citrine/abstracts/_mixins.scss @@ -0,0 +1,82 @@ +@mixin icon($mode: normal) { + @if $mode == normal { + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + user-select: none; + text-transform: none; + -webkit-user-select: none; + display: inline-block; + box-sizing: content-box; + } @else if $mode == pseudo { + -webkit-mask-image: var(--icon); + -webkit-mask-size: cover; + display: block; + mask-image: var(--icon); + mask-size: cover; + background-color: currentColor; + width: 1em; + height: 1em; + content: ""; + } +} + +@mixin gradient-fill($mode: normal) { + @if $mode == normal { + box-shadow: var(--edge-highlight), var(--shadow-glow); + background-image: linear-gradient( + to bottom right, + var(--accent-color), + var(--accent-highlight) + ); + color: var(--contrast-color); + text-shadow: var(--text-shadow-glow); + } @else if $mode == hover { + box-shadow: var(--edge-highlight); + background-color: var(--accent-color); + color: var(--contrast-color); + } +} + +@mixin card { + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 1rem; +} + +@mixin chip { + transition: + all var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight); + border-radius: var(--rounded-corner-small); + background-color: var(--bg-muted-1); + padding-inline: 0.375rem; + text-decoration: none; +} + +@mixin easing-mask($direction: to bottom) { + --mask-image: linear-gradient( + to #{$direction}, + hsl(0, 0%, 0%) 0%, + hsla(0, 0%, 0%, 0.987) 8.1%, + hsla(0, 0%, 0%, 0.951) 15.5%, + hsla(0, 0%, 0%, 0.896) 22.5%, + hsla(0, 0%, 0%, 0.825) 29%, + hsla(0, 0%, 0%, 0.741) 35.3%, + hsla(0, 0%, 0%, 0.648) 41.2%, + hsla(0, 0%, 0%, 0.55) 47.1%, + hsla(0, 0%, 0%, 0.45) 52.9%, + hsla(0, 0%, 0%, 0.352) 58.8%, + hsla(0, 0%, 0%, 0.259) 64.7%, + hsla(0, 0%, 0%, 0.175) 71%, + hsla(0, 0%, 0%, 0.104) 77.5%, + hsla(0, 0%, 0%, 0.049) 84.5%, + hsla(0, 0%, 0%, 0.013) 91.9%, + hsla(0, 0%, 0%, 0) 100% + ); + mask-image: var(--mask-image); + -webkit-mask-image: var(--mask-image); +} diff --git a/sass/citrine/abstracts/_variables.scss b/sass/citrine/abstracts/_variables.scss new file mode 100644 index 0000000..0a7019d --- /dev/null +++ b/sass/citrine/abstracts/_variables.scss @@ -0,0 +1,570 @@ +@use "functions" as *; +@use "mixins" as *; + +@mixin variables($modes: "light") { + @each $mode in $modes { + @if $mode == "light" { + // COLORS + --bg-overlay: linear-gradient( + rgba(255, 255, 255, var(--dim-opacity)), + rgba(255, 255, 255, var(--dim-opacity)) + ); + --fg-color: #29242a; + --fg-contrast: #fcfcfa; + --red-fg: hsl(342.0779, 72%, 58%); + --red-h: 342.0779; + --red-s: 72%; + --red-l: 58%; + --orange-fg: hsl(15.771428, 74%, 54%); + --orange-h: 15.771428; + --orange-s: 74%; + --orange-l: 54%; + --yellow-fg: hsl(34.639175, 91%, 42%); + --yellow-h: 34.639175; + --yellow-s: 91%; + --yellow-l: 42%; + --green-fg: hsl(153.7815, 61%, 38%); + --green-h: 153.7815; + --green-s: 61%; + --green-l: 38%; + --blue-fg: hsl(192, 71%, 38%); + --blue-h: 192; + --blue-s: 71%; + --blue-l: 38%; + --purple-fg: hsl(254.11766, 44%, 55%); + --purple-h: 254.11766; + --purple-s: 44%; + --purple-l: 55%; + --red-bg-1: hsla( + var(--red-h), + var(--red-s), + var(--red-l), + var(--color-opacity-1) + ); + --red-bg-2: hsla( + var(--red-h), + var(--red-s), + var(--red-l), + var(--color-opacity-2) + ); + --orange-bg-1: hsla( + var(--orange-h), + var(--orange-s), + var(--orange-l), + var(--color-opacity-1) + ); + --orange-bg-2: hsla( + var(--orange-h), + var(--orange-s), + var(--orange-l), + var(--color-opacity-2) + ); + --yellow-bg-1: hsla( + var(--yellow-h), + var(--yellow-s), + var(--yellow-l), + var(--color-opacity-1) + ); + --yellow-bg-2: hsla( + var(--yellow-h), + var(--yellow-s), + var(--yellow-l), + var(--color-opacity-2) + ); + --green-bg-1: hsla( + var(--green-h), + var(--green-s), + var(--green-l), + var(--color-opacity-1) + ); + --green-bg-2: hsla( + var(--green-h), + var(--green-s), + var(--green-l), + var(--color-opacity-2) + ); + --blue-bg-1: hsla( + var(--blue-h), + var(--blue-s), + var(--blue-l), + var(--color-opacity-1) + ); + --blue-bg-2: hsla( + var(--blue-h), + var(--blue-s), + var(--blue-l), + var(--color-opacity-2) + ); + --purple-bg-1: hsla( + var(--purple-h), + var(--purple-s), + var(--purple-l), + var(--color-opacity-1) + ); + --purple-bg-2: hsla( + var(--purple-h), + var(--purple-s), + var(--purple-l), + var(--color-opacity-2) + ); + --red-fg-muted-1: hsla( + var(--red-h), + var(--red-s), + calc(var(--red-l) - var(--red-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --red-fg-muted-2: hsla( + var(--red-h), + var(--red-s), + calc(var(--red-l) - var(--red-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --orange-fg-muted-1: hsla( + var(--orange-h), + var(--orange-s), + calc(var(--orange-l) - var(--orange-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --orange-fg-muted-2: hsla( + var(--orange-h), + var(--orange-s), + calc(var(--orange-l) - var(--orange-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --yellow-fg-muted-1: hsla( + var(--yellow-h), + var(--yellow-s), + calc(var(--yellow-l) - var(--yellow-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --yellow-fg-muted-2: hsla( + var(--yellow-h), + var(--yellow-s), + calc(var(--yellow-l) - var(--yellow-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --green-fg-muted-1: hsla( + var(--green-h), + var(--green-s), + calc(var(--green-l) - var(--green-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --green-fg-muted-2: hsla( + var(--green-h), + var(--green-s), + calc(var(--green-l) - var(--green-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --blue-fg-muted-1: hsla( + var(--blue-h), + var(--blue-s), + calc(var(--blue-l) - var(--blue-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --blue-fg-muted-2: hsla( + var(--blue-h), + var(--blue-s), + calc(var(--blue-l) - var(--blue-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --purple-fg-muted-1: hsla( + var(--purple-h), + var(--purple-s), + calc(var(--purple-l) - var(--purple-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --purple-fg-muted-2: hsla( + var(--purple-h), + var(--purple-s), + calc(var(--purple-l) - var(--purple-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --shade-color: rgba(0, 0, 0, 0.07); + + // COLORS (NEUTRAL) + --bg-muted-neutral-1: rgba(0, 0, 0, var(--color-opacity-1)); + --bg-muted-neutral-2: rgba(0, 0, 0, var(--color-opacity-2)); + --fg-muted-neutral-1: rgba(0, 0, 0, var(--fg-muted-1-opacity)); + --fg-muted-neutral-2: rgba(0, 0, 0, var(--fg-muted-2-opacity)); + + // OPACITY + --scanlines-opacity: 0.4; + --fg-muted-1-opacity: 0.5; + --fg-muted-2-opacity: 0.6; + + // SHADOWS + --edge-highlight: inset + 0 + #{rpx(-1)} + 0 + rgba(0, 0, 0, var(--color-opacity-1)); + } @else if $mode == "dark" { + // COLORS + --bg-overlay: linear-gradient( + rgba(0, 0, 0, var(--dim-opacity)), + rgba(0, 0, 0, var(--dim-opacity)) + ); + --fg-color: #fcfcfa; + --fg-contrast: #29242a; + --red-fg: hsl(345.18988, 100%, 69%); + --red-h: 345.18988; + --red-s: 100%; + --red-l: 69%; + --orange-fg: hsl(19.731544, 96%, 70%); + --orange-h: 19.731544; + --orange-s: 96%; + --orange-l: 70%; + --yellow-fg: hsl(44.70588, 100%, 70%); + --yellow-h: 44.70588; + --yellow-s: 100%; + --yellow-l: 70%; + --green-fg: hsl(90, 59%, 66%); + --green-h: 90; + --green-s: 59%; + --green-l: 66%; + --blue-fg: hsl(186.42857, 71%, 69%); + --blue-h: 186.42857; + --blue-s: 71%; + --blue-l: 69%; + --purple-fg: hsl(249.88234, 77%, 78%); + --purple-h: 249.88234; + --purple-s: 77%; + --purple-l: 78%; + + --red-fg-muted-1: hsla( + var(--red-h), + var(--red-s), + calc(var(--red-l) + (100% - var(--red-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --red-fg-muted-2: hsla( + var(--red-h), + var(--red-s), + calc(var(--red-l) + (100% - var(--red-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --orange-fg-muted-1: hsla( + var(--orange-h), + var(--orange-s), + calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --orange-fg-muted-2: hsla( + var(--orange-h), + var(--orange-s), + calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --yellow-fg-muted-1: hsla( + var(--yellow-h), + var(--yellow-s), + calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --yellow-fg-muted-2: hsla( + var(--yellow-h), + var(--yellow-s), + calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --green-fg-muted-1: hsla( + var(--green-h), + var(--green-s), + calc(var(--green-l) + (100% - var(--green-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --green-fg-muted-2: hsla( + var(--green-h), + var(--green-s), + calc(var(--green-l) + (100% - var(--green-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --blue-fg-muted-1: hsla( + var(--blue-h), + var(--blue-s), + calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --blue-fg-muted-2: hsla( + var(--blue-h), + var(--blue-s), + calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --purple-fg-muted-1: hsla( + var(--purple-h), + var(--purple-s), + calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --purple-fg-muted-2: hsla( + var(--purple-h), + var(--purple-s), + calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --shade-color: rgba(0, 0, 0, 0.25); + + // COLORS (NEUTRAL) + --bg-muted-neutral-1: rgba(255, 255, 255, var(--color-opacity-1)); + --bg-muted-neutral-2: rgba(255, 255, 255, var(--color-opacity-2)); + --fg-muted-neutral-1: rgba(255, 255, 255, var(--fg-muted-1-opacity)); + --fg-muted-neutral-2: rgba(255, 255, 255, var(--fg-muted-2-opacity)); + + // OPACITY + --scanlines-opacity: 1; + --fg-muted-1-opacity: 0.6; + --fg-muted-2-opacity: 0.7; + + // SHADOWS + --edge-highlight: inset + 0 + #{rpx(1)} + 0 + rgba(255, 255, 255, var(--color-opacity-1)); + } @else if $mode == "common" { + // WIDTHS + --content-width: #{rpx(720)}; + --sidebar-width: clamp( + calc(var(--content-width) / 3), + 20vw, + calc(var(--content-width) / 2) + ); + + // CORNERS + --rounded-corner: 0.75rem; + --rounded-corner-small: 0.5rem; + + // FILTERS + --blur: blur(0.75rem) saturate(180%); + --printed: contrast(2) brightness(0.75) grayscale(1); + --drop-shadow: drop-shadow(0 0.08rem 0.1rem rgba(0, 0, 0, 0.35)) + drop-shadow(0 0.4rem 0.7rem rgba(0, 0, 0, 0.18)); + + // FONTS + --font-system-ui: system-ui, sans-serif; + --font-ui-monospace: ui-monospace, monospace; + --font-emoji: + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji"; + + // FONT SIZES + --font-size-xx-small: 0.625rem; + --font-size-x-small: 0.75rem; + --font-size-small: 0.875rem; + --font-size-medium: 1rem; + --font-size-large: 1.25rem; + --font-size-x-large: 1.5rem; + --font-size-xx-large: 2rem; + --font-size-xxx-large: 3rem; + + // FONT WEIGHTS + --font-weight-thin: 100; + --font-weight-extra-light: 200; + --font-weight-light: 300; + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semi-bold: 600; + --font-weight-bold: 700; + --font-weight-extra-bold: 800; + --font-weight-black: 900; + + // OPACITY + --color-opacity-1: 0.1; + --color-opacity-2: 0.2; + --dim-opacity: 0.8; + --disabled-opacity: 0.4; + + // SHADOWS + --shadow: + 0 0 0 #{rpx(1)} rgba(0, 0, 0, 0.03), + 0 #{rpx(1)} #{rpx(3)} #{rpx(1)} rgba(0, 0, 0, 0.07), + 0 #{rpx(2)} #{rpx(6)} #{rpx(2)} rgba(0, 0, 0, 0.03); + --shadow-inset: + inset 0 0 0 #{rpx(1)} rgba(0, 0, 0, 0.03), + inset 0 #{rpx(1)} #{rpx(3)} #{rpx(1)} rgba(0, 0, 0, 0.07), + inset 0 #{rpx(2)} #{rpx(6)} #{rpx(2)} rgba(0, 0, 0, 0.03); + --shadow-raised: + 0 0 0 #{rpx(1)} rgba(0, 0, 0, 0.06), + 0 #{rpx(2)} #{rpx(6)} #{rpx(2)} rgba(0, 0, 0, 0.14), + 0 #{rpx(4)} #{rpx(12)} #{rpx(4)} rgba(0, 0, 0, 0.06); + --shadow-glass: 0 #{rpx(6)} #{rpx(12)} #{rpx(-6)} rgba(0, 0, 0, 0.1); + + // STATES + --hover: scale(1.1); + --active: scale(0.9); + + // TRANSITIONS + --transition: 0.2s; + --transition-longer: 0.4s; + --transition-long: 0.8s; + --transition-bezier: 0.35s cubic-bezier(0.17, 0.89, 0.32, 1.28); + --transition-bezier-longer: 0.525s cubic-bezier(0.17, 0.89, 0.32, 1.28); + + // ICONS + --icon-arrow-square-out: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M228%2C104a12%2C12%2C0%2C0%2C1-24%2C0V69l-59.51%2C59.51a12%2C12%2C0%2C0%2C1-17-17L187%2C52H152a12%2C12%2C0%2C0%2C1%2C0-24h64a12%2C12%2C0%2C0%2C1%2C12%2C12Zm-44%2C24a12%2C12%2C0%2C0%2C0-12%2C12v64H52V84h64a12%2C12%2C0%2C0%2C0%2C0-24H48A20%2C20%2C0%2C0%2C0%2C28%2C80V208a20%2C20%2C0%2C0%2C0%2C20%2C20H176a20%2C20%2C0%2C0%2C0%2C20-20V140A12%2C12%2C0%2C0%2C0%2C184%2C128Z%22/%3E%3C/svg%3E); + --icon-caret-down: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M216.49%2C104.49l-80%2C80a12%2C12%2C0%2C0%2C1-17%2C0l-80-80a12%2C12%2C0%2C0%2C1%2C17-17L128%2C159l71.51-71.52a12%2C12%2C0%2C0%2C1%2C17%2C17Z%22/%3E%3C/svg%3E); + --icon-check: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M232.49%2C80.49l-128%2C128a12%2C12%2C0%2C0%2C1-17%2C0l-56-56a12%2C12%2C0%2C1%2C1%2C17-17L96%2C183%2C215.51%2C63.51a12%2C12%2C0%2C0%2C1%2C17%2C17Z%22/%3E%3C/svg%3E); + } + } +} + +@mixin variables-accent($modes: "light") { + @each $mode in $modes { + @if $mode == "light" { + --accent-color: hsl( + var(--accent-light-h), + var(--accent-light-s), + var(--accent-light-l) + ); + --accent-h: var(--accent-light-h); + --accent-s: var(--accent-light-s); + --accent-l: var(--accent-light-l); + + --bg-color: hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.6), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8) + ); + --fg-muted-1: hsla( + var(--accent-h), + var(--accent-s), + calc(var(--accent-l) - var(--accent-l) * 0.85), + var(--fg-muted-1-opacity) + ); + --fg-muted-2: hsla( + var(--accent-h), + var(--accent-s), + calc(var(--accent-l) - var(--accent-l) * 0.85), + var(--fg-muted-2-opacity) + ); + --glass-bg-1: hsla( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.7), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9), + var(--dim-opacity) + ); + --glass-bg-2: hsla( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.6), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8), + var(--dim-opacity) + ); + --crt-bg: radial-gradient( + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9) + ), + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.75) + ) + 80%, + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.65) + ) + ); + } @else if $mode == "dark" { + --accent-color: hsl( + var(--accent-dark-h), + var(--accent-dark-s), + var(--accent-dark-l) + ); + --accent-h: var(--accent-dark-h); + --accent-s: var(--accent-dark-s); + --accent-l: var(--accent-dark-l); + + --bg-color: hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.7), + calc(var(--accent-l) - var(--accent-l) * 0.9) + ); + --fg-muted-1: hsla( + var(--accent-h), + var(--accent-s), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), + var(--fg-muted-1-opacity) + ); + --fg-muted-2: hsla( + var(--accent-h), + var(--accent-s), + calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), + var(--fg-muted-2-opacity) + ); + --glass-bg-1: hsla( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.6), + calc(var(--accent-l) - var(--accent-l) * 0.8), + var(--dim-opacity) + ); + --glass-bg-2: hsla( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) - var(--accent-l) * 0.7), + var(--dim-opacity) + ); + --crt-bg: radial-gradient( + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) - var(--accent-l) * 0.7) + ), + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) - var(--accent-l) * 0.9) + ) + 80%, + hsl( + var(--accent-h), + calc(var(--accent-s) - var(--accent-s) * 0.5), + calc(var(--accent-l) - var(--accent-l) * 0.95) + ) + ); + } @else if $mode == "common" { + // COLORS + --accent-highlight: hsla( + var(--accent-h), + var(--accent-s), + var(--accent-l), + var(--disabled-opacity) + ); + + // TODO: put this all in sub-mixins + --bg-muted-1: hsla( + var(--accent-h), + var(--accent-s), + var(--accent-l), + var(--color-opacity-1) + ); + + --bg-muted-2: hsla( + var(--accent-h), + var(--accent-s), + var(--accent-l), + var(--color-opacity-2) + ); + + // CONTRAST COLOR + --l: clamp(0, (l / 0.623 - 1) * -infinity, 1); + --a: calc(var(--l) + (var(--dim-opacity) * (1 - var(--l)))); + --contrast-color: oklch(from var(--accent-color) var(--l) 0 h / var(--a)); + + // SHADOWS + --shadow-glow: + 0 0 0 #{rpx(1)} var(--bg-muted-2), + 0 #{rpx(2)} #{rpx(6)} #{rpx(2)} var(--bg-muted-1), + 0 #{rpx(4)} #{rpx(24)} #{rpx(4)} var(--bg-muted-2); + --shadow-glow-inset: + inset 0 0 0 #{rpx(1)} var(--bg-muted-2), + inset 0 #{rpx(2)} #{rpx(6)} #{rpx(2)} var(--bg-muted-1), + inset 0 #{rpx(4)} #{rpx(24)} #{rpx(4)} var(--bg-muted-2); + --text-shadow-glow: + var(--bg-muted-2) 0 0 #{rpx(4)}, var(--accent-color) 0 0 #{rpx(12)}; + } + } +} diff --git a/sass/citrine/base/_animations.scss b/sass/citrine/base/_animations.scss new file mode 100644 index 0000000..1c61ed2 --- /dev/null +++ b/sass/citrine/base/_animations.scss @@ -0,0 +1,83 @@ +@keyframes slide-in-up { + from { + transform: translateY(-1rem); + opacity: 0; + } +} + +@keyframes slide-in-left { + from { + transform: translateX(1rem); + opacity: 0; + } +} + +@keyframes slide-in-right { + from { + transform: translateX(-1rem); + opacity: 0; + } +} + +@keyframes slide-in-up-longer { + from { + transform: translateY(-2rem); + opacity: 0; + } +} + +@keyframes slide-in-down-longer { + from { + transform: translateY(2rem); + opacity: 0; + } +} + +@keyframes slide-in-left-longer { + from { + transform: translateX(-2rem); + opacity: 0; + } +} + +@keyframes slide-in-right-longer { + from { + transform: translateX(2rem); + opacity: 0; + } +} + +@keyframes slide-out-down-longer { + to { + transform: translateY(-2rem); + opacity: 0; + } +} + +@keyframes expand-up-left { + from { + transform: scale(0.5) translate(-1rem, -1rem); + opacity: 0; + } +} + +@keyframes expand-up-right { + from { + transform: scale(0.5) translate(1rem, -1rem); + opacity: 0; + } +} + +@keyframes expand-down-left { + from { + transform: scale(0.5) translate(-1rem, 1rem); + opacity: 0; + } +} + +@keyframes expand-down-right { + from { + transform: scale(0.5) translate(1rem, 1rem); + opacity: 0; + } +} diff --git a/sass/citrine/base/_base.scss b/sass/citrine/base/_base.scss new file mode 100644 index 0000000..01ea5eb --- /dev/null +++ b/sass/citrine/base/_base.scss @@ -0,0 +1,59 @@ +@use "../abstracts/functions" as *; + +// Make focused anchor not get covered by header +:target:not(#main-content) { + scroll-margin-block-start: 6.5rem; +} + +:focus-visible, +:target:not(#main-content) { + animation: focus-in var(--transition); + outline: 0.125rem solid var(--accent-color); + outline-offset: 0.125rem; + + @keyframes focus-in { + from { + outline: 0.5rem solid transparent; + outline-offset: 0.25rem; + } + } +} + +// Style text selection to use accent color +::selection { + background-color: var(--accent-color); + color: var(--contrast-color); +} + +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: var(--bg-color); + color: var(--fg-color); + font-family: var(--font-sans-serif), var(--font-system-ui), var(--font-emoji); + overflow-wrap: break-word; + + @supports (min-height: 100dvh) { + min-height: 100dvh; + } +} + +@media (prefers-reduced-motion) { + *, + *::before, + *::after { + animation-duration: 0s !important; + transition-duration: 0s !important; + } +} + +// Disable blur on Firefox Mobile +@-moz-document url-prefix() { + @media only screen and (max-width: 960px) { + .firefox-unblur, + .firefox-unblur::before, + .firefox-unblur::after { + backdrop-filter: none !important; + } + } +} diff --git a/sass/citrine/base/_layout.scss b/sass/citrine/base/_layout.scss new file mode 100644 index 0000000..ffbe1e5 --- /dev/null +++ b/sass/citrine/base/_layout.scss @@ -0,0 +1,36 @@ +@use "../abstracts/functions" as *; + +body > main, +body > nav, +body > footer { + --padding: 1rem; + margin-inline: auto; + padding-inline: 1rem; + max-width: calc(var(--content-width) + var(--padding) * 2); +} + +body > footer { + margin-block-start: 4rem; +} + +body > nav { + margin-block-end: 4rem; + border-block-end: rpx(1) solid var(--bg-muted-2); + + ul { + display: flex; + gap: 0.25rem; + margin-block: 0.625rem; + padding-inline-start: 0; + list-style: none; + + @media only screen and (max-width: 480px) { + flex-direction: column; + } + } + + li { + margin-block: 0; + padding-inline-start: 0; + } +} diff --git a/sass/citrine/base/_reset.scss b/sass/citrine/base/_reset.scss new file mode 100644 index 0000000..2365866 --- /dev/null +++ b/sass/citrine/base/_reset.scss @@ -0,0 +1,135 @@ +// Based on css-init, with a few important adjustments +// https://github.com/sir-sharkey/css-init + +*, +:after, +:before { + vertical-align: baseline; + box-sizing: border-box; + margin: 0; + border: none; + background: none; + padding: 0; + color: inherit; + font: inherit; + -webkit-tap-highlight-color: transparent; +} + +button, +select { + appearance: none; +} + +body { + -webkit-text-size-adjust: none; + text-size-adjust: none; + width: 100%; + min-height: 100vh; + line-height: 1.5; +} + +a, +button, +summary, +input[type="button"], +input[type="checkbox"], +input[type="color"], +input[type="file"], +input[type="image"], +input[type="radio"], +input[type="range"], +input[type="reset"], +input[type="submit"], +label, +select { + cursor: pointer; +} + +article, +aside, +audio, +canvas, +details, +figcaption, +figure, +footer, +header, +main, +nav, +rt, +ruby, +section, +summary { + display: block; +} + +bdi, +mark, +meter, +output, +progress, +time { + display: inline-block; +} + +[hidden], +datalist, +dialog:not([open]), +rp { + display: none !important; +} + +embed, +iframe, +img, +object, +picture, +svg, +video { + display: block; + max-width: 100%; + height: auto; +} + +blockquote, +q { + quotes: none; +} + +blockquote:after, +blockquote:before, +q:after, +q:before { + content: none; +} + +strong { + font-weight: 700; +} + +em { + font-style: italic; +} + +code, +kbd, +pre, +samp { + font-family: monospace; +} + +sub { + vertical-align: sub; +} + +sup { + vertical-align: super; +} + +small { + font-size: small; +} + +table { + border-collapse: collapse; +} diff --git a/sass/citrine/base/_root.scss b/sass/citrine/base/_root.scss new file mode 100644 index 0000000..e245c1d --- /dev/null +++ b/sass/citrine/base/_root.scss @@ -0,0 +1,20 @@ +@use "../abstracts/variables" as *; + +:root { + @include variables(("light", "common")); + @include variables-accent(("light", "common")); + scrollbar-color: var(--accent-color) transparent; + accent-color: var(--accent-color); + + @media (prefers-reduced-motion: no-preference) { + scroll-behavior: smooth; + } + + @media (prefers-color-scheme: dark) { + & { + @include variables("dark"); + @include variables-accent(("dark")); + color-scheme: dark; + } + } +} diff --git a/sass/citrine/base/_typography.scss b/sass/citrine/base/_typography.scss new file mode 100644 index 0000000..0415adb --- /dev/null +++ b/sass/citrine/base/_typography.scss @@ -0,0 +1,400 @@ +@use "../abstracts/functions" as *; +@use "../abstracts/mixins" as *; + +p, +ul, +ol, +dl, +blockquote, +pre { + margin-block: 1rem; +} + +ul ul, +ul ol, +ol ul, +ol ol { + margin-block: 0; +} + +p { + text-wrap: pretty; + overflow-wrap: break-word; +} + +:disabled, +[aria-disabled="true"] { + opacity: var(--disabled-opacity); + cursor: not-allowed; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + transition-duration: var(--transition); + transition-property: text-shadow, font-weight; + margin-block: 2rem 1rem; + color: var(--accent-color); + font-weight: var(--font-weight-bold); + line-height: 1; + font-variation-settings: "FLAR" 100; + letter-spacing: -0.05em; + text-decoration: underline; + text-decoration-color: var(--bg-muted-1); + text-decoration-thickness: 0.125em; + text-wrap: balance; + overflow-wrap: break-word; + + &:target { + animation: none !important; + outline: none !important; + font-weight: var(--font-weight-light); + text-shadow: var(--text-shadow-glow); + } +} + +h1 { + font-size: var(--font-size-xxx-large); +} + +h2 { + font-size: var(--font-size-xx-large); +} + +h3 { + font-size: var(--font-size-x-large); +} + +h4 { + font-size: var(--font-size-large); +} + +h5 { + font-size: var(--font-size-medium); +} + +h6 { + font-size: var(--font-size-small); +} + +@media only screen and (max-width: 480px) { + h1 { + font-size: var(--font-size-xx-large); + } + + h2 { + font-size: var(--font-size-x-large); + } + + h3 { + font-size: var(--font-size-large); + } + + h4 { + font-size: var(--font-size-medium); + } + + h5 { + font-size: var(--font-size-small); + } + + h6 { + font-size: var(--font-size-x-small); + } +} + +small { + color: var(--fg-muted-2); + font-size: var(--font-size-small); +} + +abbr[title] { + cursor: help; + text-decoration: underline; + text-decoration-style: dotted; + text-decoration-thickness: rpx(1); +} + +figcaption { + color: var(--fg-muted-2); + font-size: var(--font-size-small); + text-align: center; +} + +blockquote { + margin: 1rem 0; + border-inline-start: 0.25rem solid var(--accent-color); + border-start-start-radius: 0.25rem; + border-end-start-radius: 0.25rem; + padding-inline-start: 0.75rem; + color: var(--fg-muted-2); +} + +pre, +code, +kbd, +samp { + font-family: var(--font-monospace), var(--font-ui-monospace); +} + +pre { + margin: 1rem 0; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 0.75rem 1rem; + overflow-x: auto; + scrollbar-width: thin; + line-height: 1.25; +} + +code:not(pre code), +mark, +samp, +q { + @include chip; +} + +code:not(pre code) { + background-color: var(--red-bg-1); + padding-block: rpx(3); + color: var(--red-fg); + font-size: var(--font-size-small); +} + +mark { + color: var(--accent-color); +} + +del { + color: var(--red-fg); + text-decoration: line-through; + text-decoration-thickness: rpx(1); +} + +ins { + color: var(--green-fg); + text-decoration: underline; + text-decoration-thickness: rpx(1); +} + +samp { + color: var(--fg-muted-2); + font-size: var(--font-size-small); +} + +q { + color: var(--fg-muted-2); + font-style: italic; +} + +u { + text-decoration: underline; + text-decoration-style: wavy; + text-decoration-color: var(--red-fg); + text-decoration-thickness: rpx(1); +} + +progress { + appearance: none; + box-shadow: var(--edge-highlight); + border: none; + border-radius: 9999px; + background-color: var(--bg-muted-1); + padding: 0.25rem; + width: 100%; + height: 1rem; + color: var(--accent-color); + + &:indeterminate { + background-color: var(--bg-muted-1); + } + + &:indeterminate::-moz-progress-bar { + background-color: transparent; + } + + &::-webkit-progress-bar { + background-color: transparent; + } + + &::-moz-progress-bar { + border-radius: 9999px; + background-color: var(--accent-color); + } + + &::-webkit-progress-value { + border-radius: 9999px; + background-color: var(--accent-color); + } +} + +kbd { + display: inline-block; + transition-duration: var(--transition); + transition-property: transform, box-shadow, background-color; + cursor: pointer; + box-shadow: + var(--edge-highlight), + inset 0 -0.125rem 0 var(--bg-muted-2); + border-radius: var(--rounded-corner-small); + background-color: var(--bg-muted-1); + padding: 0 0.375rem; + font-size: var(--font-size-small); + + // Small nice thingy, keys can be pressed! + &:active { + transform: translateY(0.125rem); + box-shadow: inset 0 rpx(1) 0 var(--bg-muted-2); + background-color: var(--bg-muted-2); + } +} + +a { + color: var(--accent-color); + font-weight: var(--font-weight-semi-bold); + text-decoration-color: var(--accent-highlight); + text-decoration-thickness: rpx(1); + + &:hover { + text-decoration-style: wavy; + } +} + +hr { + margin: 2rem auto; + border: 0.125rem solid var(--bg-muted-2); + border-radius: 9999px; +} + +dt { + font-weight: var(--font-weight-semi-bold); +} + +dd { + margin-inline-start: 1.5rem; + margin-block-end: 1rem; +} + +aside { + float: inline-end; + margin-inline-start: 1rem; + margin-block-end: 1rem; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 1rem; + width: calc(var(--content-width) / 3); + + @media only screen and (max-width: 720px) { + float: none; + margin-inline-start: 0; + width: 100%; + } + + :first-child { + margin-block-start: 0; + } + + :last-child { + margin-block-end: 0; + } +} + +details { + display: flow-root; + transition: padding-block-end var(--transition); + margin-block-end: 1rem; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 0.75rem 1rem; + + &::details-content { + display: block; + opacity: 0; + transition-behavior: allow-discrete; + transition-duration: var(--transition); + transition-property: opacity, block-size, content-visibility; + block-size: 0; + overflow: hidden; + } + + &[open] { + padding-block-end: 1rem; + + &::details-content { + opacity: 1; + block-size: auto; + block-size: calc-size(auto, size); + } + + summary { + color: var(--accent-color); + + &::before { + transform: scaleY(-1); + } + + @supports not (block-size: calc-size(auto, size)) { + & ~ * { + animation: slide-in-up var(--transition-bezier); + } + } + } + } + + summary { + transition: var(--transition); + color: var(--fg-muted-1); + font-weight: var(--font-weight-semi-bold); + list-style: none; + + &::-webkit-details-marker { + display: none; + } + + &::before { + @include icon(pseudo); + --icon: var(--icon-caret-down); + display: inline-block; + vertical-align: rpx(-2); + transition: + all var(--transition), + transform var(--transition-bezier); + margin-inline-end: 0.25rem; + } + } + + & > :last-child, + & > :last-child img { + margin-block-end: 0; + } +} + +figure { + margin-inline: 0; +} + +ol, +ul { + padding-inline-start: 1.5rem; +} + +li { + margin-block: 0.25rem; + padding-inline-start: 0.25rem; + + &::marker { + color: var(--accent-color); + font-weight: var(--font-weight-semi-bold); + } +} + +b, +strong { + font-weight: var(--font-weight-semi-bold); +} diff --git a/sass/citrine/components/_buttons.scss b/sass/citrine/components/_buttons.scss new file mode 100644 index 0000000..9667b7e --- /dev/null +++ b/sass/citrine/components/_buttons.scss @@ -0,0 +1,100 @@ +@use "../abstracts/mixins" as *; + +.buttons { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + gap: 0.25rem; + margin-block-start: 2rem; + + &.centered { + justify-content: center; + } + + &.start { + justify-content: flex-start; + } + + &.end { + justify-content: flex-end; + } + + &.big { + gap: 0.5rem; + } +} + +.buttons a, +a.button, +button { + display: inline-block; + transition: + background-color var(--transition), + color var(--transition), + box-shadow var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 0.5rem 1rem; + color: var(--fg-muted-1); + font-weight: var(--font-weight-semi-bold); + font-size: var(--font-size-small); + line-height: 1.5rem; + text-decoration: none; + + &:not(:disabled, [aria-disabled="true"]):hover { + background-color: var(--bg-muted-2); + color: var(--fg-muted-2); + } + + &:not(:disabled, [aria-disabled="true"]):active { + transform: var(--active); + } + + &.suggested { + @include gradient-fill; + + &:not(:disabled, [aria-disabled="true"]):hover { + @include gradient-fill(hover); + } + } + + &.subtle { + box-shadow: none; + background-color: transparent; + + &:not(:disabled, [aria-disabled="true"]):hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--fg-muted-2); + } + } + + &[aria-busy="true"] { + animation: progress-shimmer var(--transition-long) ease-in-out alternate + infinite; + background-image: linear-gradient( + to right, + transparent 50%, + var(--bg-muted-1) 75%, + transparent 100% + ); + background-size: 200%; + + @keyframes progress-shimmer { + to { + background-position-x: -200%; + } + } + } +} + +.buttons.big a, +.buttons.big button, +a.button.big, +button.big { + border-radius: 9999px; + padding: 0.625rem 1.25rem; +} diff --git a/sass/citrine/components/_card.scss b/sass/citrine/components/_card.scss new file mode 100644 index 0000000..6b39ea9 --- /dev/null +++ b/sass/citrine/components/_card.scss @@ -0,0 +1,5 @@ +@use "../abstracts/mixins" as *; + +.card { + @include card; +} diff --git a/sass/citrine/components/_crt.scss b/sass/citrine/components/_crt.scss new file mode 100644 index 0000000..5ea199c --- /dev/null +++ b/sass/citrine/components/_crt.scss @@ -0,0 +1,90 @@ +.crt, +pre:has(code[data-crt], code[data-lang=""]) { + position: relative; + animation: flicker 0.25s alternate infinite; + margin-inline: auto; + box-shadow: var(--shadow-glow); + background-image: var(--crt-bg); + background-color: transparent !important; + padding: 0; + width: fit-content; + max-width: 100%; + overflow: hidden; + color: var(--accent-color) !important; + font-weight: var(--font-weight-medium); + text-shadow: var(--text-shadow-glow); + + @keyframes flicker { + 25% { + opacity: 0.95; + } + + 50% { + opacity: 0.85; + } + + 75% { + opacity: 1; + } + + to { + opacity: 0.9; + } + } + + &::before, + &::after { + position: absolute; + inset: 0; + content: ""; + } + + &::before { + opacity: var(--scanlines-opacity); + z-index: 1; + animation: scanlines 0.1s linear infinite; + background-image: repeating-linear-gradient( + to bottom, + rgba(0, 0, 0, 0.25), + rgba(0, 0, 0, 0.25) 0.125rem, + transparent 0.125rem, + transparent 0.25rem + ); + background-position-y: -0.125rem; + background-repeat: no-repeat; + pointer-events: none; + + @keyframes scanlines { + to { + background-position-y: 0.125rem; + } + } + } + + &::after { + opacity: 0.05; + animation: scanline 5s linear infinite; + background-image: linear-gradient( + to bottom, + transparent, + var(--accent-color) 16rem + ); + background-position-y: -16rem; + background-size: 100% 16rem; + pointer-events: none; + + @keyframes scanline { + to { + background-position-y: calc(100% + 16rem); + } + } + } + + & > code { + display: block; + border-radius: inherit; + padding: 0.75rem 1rem; + overflow-x: auto; + scrollbar-width: thin; + } +} diff --git a/sass/citrine/components/_external.scss b/sass/citrine/components/_external.scss new file mode 100644 index 0000000..494f317 --- /dev/null +++ b/sass/citrine/components/_external.scss @@ -0,0 +1,12 @@ +@use "../abstracts/functions" as *; +@use "../abstracts/mixins" as *; + +a.external:not(:has(img, svg, video, picture, figure))::after { + @include icon(pseudo); + --icon: var(--icon-arrow-square-out); + display: inline-block; + vertical-align: -0.125rem; + opacity: var(--dim-opacity); + margin-inline-start: 0.125rem; + font-size: max(1rem, 1em); +} diff --git a/sass/citrine/components/_iframe.scss b/sass/citrine/components/_iframe.scss new file mode 100644 index 0000000..2334efe --- /dev/null +++ b/sass/citrine/components/_iframe.scss @@ -0,0 +1,20 @@ +iframe { + display: block; + margin: 1rem auto; + box-shadow: var(--edge-highlight), var(--shadow); + border: none; + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + width: 100%; + max-width: 100%; + + &:fullscreen { + box-shadow: none; + border-radius: 0; + } + + &:-webkit-full-screen { + box-shadow: none; + border-radius: 0; + } +} diff --git a/sass/citrine/components/_input.scss b/sass/citrine/components/_input.scss new file mode 100644 index 0000000..d696a13 --- /dev/null +++ b/sass/citrine/components/_input.scss @@ -0,0 +1,261 @@ +@use "../abstracts/mixins" as *; + +input { + appearance: none; + background-color: var(--bg-muted-1); +} + +input:not([type]), +input[type="text"], +input[type="search"], +input[type="password"], +input[type="submit"] { + box-shadow: var(--edge-highlight); + border: none; + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + font-size: inherit; + line-height: inherit; + font-family: inherit; +} + +input:not([type]), +input[type="text"], +input[type="search"], +input[type="password"] { + padding: 0.5rem 0.75rem; + width: 100%; + + &::placeholder { + opacity: 1; + color: var(--fg-muted-1); + } +} + +input[type="submit"] { + transition: + background-color var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight); + border-radius: var(--rounded-corner); + padding: 0.375rem 0.75rem; + color: var(--fg-muted-1); + font-weight: var(--font-weight-semi-bold); + font-size: var(--font-size-small); + + &:enabled:hover { + background-color: var(--bg-muted-2); + } + + &:enabled:active { + transform: var(--active); + } +} + +input[type="radio"], +input[type="checkbox"], +input[type="color"] { + position: relative; + transition: background-color var(--transition); + border: 0.125rem solid var(--bg-muted-2); + width: 1rem; + height: 1rem; + + &:not(:checked):enabled:hover { + background-color: var(--bg-muted-2); + } +} + +input[type="radio"], +input[type="checkbox"] { + vertical-align: -0.125em; + margin-inline-end: 0.25rem; + + &::before { + display: block; + position: absolute; + transform: scale(0.5); + opacity: 0; + transition: + opacity var(--transition), + transform var(--transition-bezier); + content: ""; + } + + &:checked { + border: 0.15rem solid transparent; + background-color: var(--accent-color); + + &::before { + transform: scale(1); + opacity: 1; + } + } +} + +input[type="radio"] { + border-radius: 50%; + + &::before { + inset-block-start: 0.125rem; + inset-inline-start: 0.125rem; + border-radius: 50%; + background-color: var(--contrast-color); + width: 0.5rem; + height: 0.5rem; + } +} + +input[type="checkbox"] { + border-radius: calc(var(--rounded-corner-small) / 2); + + &::before { + @include icon(pseudo); + --icon: var(--icon-check); + transform-origin: bottom left; + inset-block-start: -0.125rem; + inset-inline-start: -0.125rem; + color: var(--contrast-color); + font-size: 1rem; + } + + &.switch { + vertical-align: -0.375rem; + box-shadow: var(--edge-highlight); + border: none; + border-radius: 9999px; + width: 2.5rem; + height: 1.5rem; + + &.big { + vertical-align: -0.625rem; + width: 3rem; + height: 2rem; + + &::before { + width: 1.5rem; + height: 1.5rem; + } + } + + &::before { + transform: none; + transform-origin: center; + opacity: 1; + mask-image: none; + inset-block-start: 0.25rem; + inset-inline-start: 0.25rem; + box-shadow: var(--shadow); + border-radius: 50%; + background-color: white; + width: 1rem; + height: 1rem; + content: ""; + } + + &:checked { + background-color: var(--accent-color); + + &::before { + transform: translateX(1rem); + background-color: var(--contrast-color); + + :root[dir*="rtl"] & { + transform: translateX(-1rem); + } + } + } + + &:disabled::before { + box-shadow: none; + } + } +} + +input[type="color"] { + vertical-align: -0.375em; + box-shadow: var(--edge-highlight); + border: none; + border-radius: var(--rounded-corner-small); + padding: 0.25rem; + width: 3rem; + height: 2rem; + + &::-moz-color-swatch { + border: none; + border-radius: calc(var(--rounded-corner-small) - 0.25rem); + } + + &::-webkit-color-swatch-wrapper { + padding: 0; + } + + &::-webkit-color-swatch { + border-radius: calc(var(--rounded-corner-small) - 0.25rem); + } +} + +input[type="range"] { + appearance: none; + box-shadow: var(--edge-highlight); + border-radius: 9999px; + background: var(--bg-muted-1); + padding: 0.5rem 0.25rem; + width: 100%; + height: 1rem; + + &::-webkit-slider-runnable-track { + cursor: pointer; + border-radius: 9999px; + background: var(--accent-color); + width: 100%; + } + + &::-moz-range-track { + cursor: pointer; + border-radius: 9999px; + background: var(--accent-color); + width: 100%; + height: 0.5rem; + } + + &::-webkit-slider-thumb { + appearance: none; + cursor: ew-resize; + margin-block: -0.5rem; + box-shadow: var(--shadow); + border: none; + border-radius: 0.25rem; + background-color: white; + width: 0.5rem; + height: 1.5rem; + } + + &::-moz-range-thumb { + appearance: none; + cursor: ew-resize; + margin-block: -0.5rem; + box-shadow: var(--shadow); + border: none; + border-radius: 0.25rem; + background-color: white; + width: 0.5rem; + height: 1.5rem; + } + + &.hollow { + &::-webkit-slider-thumb { + margin-block: 0; + outline: 0.25rem solid white; + background-color: transparent; + height: 0.5rem; + } + + &::-moz-range-thumb { + margin-block: 0; + outline: 0.25rem solid white; + background-color: transparent; + height: 0.5rem; + } + } +} diff --git a/sass/citrine/components/_media.scss b/sass/citrine/components/_media.scss new file mode 100644 index 0000000..3409071 --- /dev/null +++ b/sass/citrine/components/_media.scss @@ -0,0 +1,165 @@ +img, +video { + display: block; + margin: 1rem auto; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + max-width: 100%; + max-height: calc(100vh - 2rem); + + &.full, + &[src*="#full"] { + width: 100%; + } + + &.start, + &.end, + &[src*="#start"], + &[src*="#end"] { + width: calc(var(--content-width) / 3); + } + + &.start, + &[src*="#start"] { + float: inline-start; + transform-origin: left; + margin-inline-end: 1rem; + + :root[dir*="rtl"] & { + transform-origin: right; + } + } + + &.end, + &[src*="#end"] { + float: inline-end; + transform-origin: right; + margin-inline-start: 1rem; + + :root[dir*="rtl"] & { + transform-origin: left; + } + } + + &.pixels, + &[src*="#pixels"] { + image-rendering: pixelated; + } + + &.has-alpha, + &[src*="#has-alpha"] { + box-shadow: none; + border-radius: 0; + background-color: transparent; + } + + &.drop-shadow, + &[src*="#drop-shadow"] { + filter: var(--drop-shadow); + } + + &.spoiler, + &[src*="#spoiler"] { + opacity: var(--dim-opacity); + clip-path: inset(0 0 0 0 round var(--rounded-corner)); + filter: blur(1.5rem); + + &:hover, + &:active { + opacity: 1; + clip-path: inset( + -0.75rem -0.75rem -0.75rem -0.75rem round var(--rounded-corner-small) + ); + filter: none; + } + + &.solid, + &[src*="#solid"] { + clip-path: none; + filter: brightness(0) contrast(0.5); + box-shadow: none; + + &:hover, + &:active { + filter: none; + } + } + } + + @media only screen and (max-width: 720px) { + &.start, + &.end, + &[src*="#start"], + &[src*="#end"] { + float: none; + margin-inline-start: auto; + margin-inline-end: auto; + width: auto; + } + } +} + +img { + transition: + box-shadow var(--transition), + border-radius var(--transition), + transform var(--transition-bezier); + + &:not(.no-hover, [src*="#no-hover"], .emoji) { + cursor: zoom-in; + + &:hover { + position: relative; + transform: var(--hover); + z-index: 1; + box-shadow: var(--edge-highlight), var(--shadow-raised); + border-radius: var(--rounded-corner-small); + } + + &.start, + &.end, + &[src*="#start"], + &[src*="#end"] { + transition: transform var(--transition-bezier-longer); + + &:hover { + transform: scale(2); + } + + @media only screen and (max-width: 720px) { + transform-origin: center; + transition: transform var(--transition-bezier); + + &:hover { + transform: var(--hover); + } + } + } + + &.has-alpha, + &[src*="#has-alpha"] { + &:hover { + box-shadow: none; + } + } + } +} + +a img:not(.no-hover, [src*="#no-hover"]) { + cursor: pointer; +} + +video:fullscreen { + box-shadow: none; + border-radius: 0; +} + +video:-webkit-full-screen { + box-shadow: none; + border-radius: 0; +} + +picture { + display: inline-block; +} diff --git a/sass/citrine/components/_overflow-auto.scss b/sass/citrine/components/_overflow-auto.scss new file mode 100644 index 0000000..712ba4b --- /dev/null +++ b/sass/citrine/components/_overflow-auto.scss @@ -0,0 +1,13 @@ +.overflow-auto { + overflow: auto; + + &.overshoot { + margin-block: -1rem; + padding-block: 1rem; + } + + &.overshoot-row { + margin-inline: -1rem; + padding-inline: 1rem; + } +} diff --git a/sass/citrine/components/_overshoot.scss b/sass/citrine/components/_overshoot.scss new file mode 100644 index 0000000..af8447f --- /dev/null +++ b/sass/citrine/components/_overshoot.scss @@ -0,0 +1,23 @@ +.overshoot { + --mask: linear-gradient( + to bottom, + transparent, + black 1rem, + black calc(100% - 1rem), + transparent + ); + -webkit-mask-image: var(--mask); + mask-image: var(--mask); + + &-row { + --mask: linear-gradient( + to right, + transparent, + black 1rem, + black calc(100% - 1rem), + transparent + ); + -webkit-mask-image: var(--mask); + mask-image: var(--mask); + } +} diff --git a/sass/citrine/components/_skip-to-content.scss b/sass/citrine/components/_skip-to-content.scss new file mode 100644 index 0000000..1e217af --- /dev/null +++ b/sass/citrine/components/_skip-to-content.scss @@ -0,0 +1,23 @@ +#skip-to-content { + position: absolute; + transform: translateX(-50%) translateY(calc(-100% - 1rem)); + z-index: 9999; + transition: + backdrop-filter var(--transition), + box-shadow var(--transition), + transform var(--transition-bezier); + inset-inline-start: 50vw; + border-radius: 9999px; + background-color: var(--glass-bg-1); + padding: 0.375rem 0.75rem; + width: max-content; + text-decoration: none; + + &:focus-visible, + &:focus { + -webkit-backdrop-filter: var(--blur); + transform: translateX(-50%) translateY(1rem); + backdrop-filter: var(--blur); + box-shadow: var(--edge-highlight), var(--shadow); + } +} diff --git a/sass/citrine/components/_spoiler.scss b/sass/citrine/components/_spoiler.scss new file mode 100644 index 0000000..3b3c91b --- /dev/null +++ b/sass/citrine/components/_spoiler.scss @@ -0,0 +1,25 @@ +span.spoiler { + filter: blur(0.25rem); + transition: filter var(--transition); + + &:focus, + &:hover { + filter: none; + } + + &.solid { + filter: none; + transition: + background-color var(--transition), + color var(--transition); + border-radius: var(--rounded-corner-small); + background-color: var(--fg-muted-1); + color: transparent; + + &:focus, + &:hover { + background-color: transparent; + color: inherit; + } + } +} diff --git a/sass/citrine/components/_table.scss b/sass/citrine/components/_table.scss new file mode 100644 index 0000000..569a914 --- /dev/null +++ b/sass/citrine/components/_table.scss @@ -0,0 +1,36 @@ +@use "../abstracts/functions" as *; + +table { + width: 100%; + overflow: hidden; +} + +thead { + border-block-start: none; + color: var(--fg-muted-2); + font-weight: var(--font-weight-semi-bold); +} + +tr { + &:nth-child(even) { + background-color: var(--bg-muted-1); + } + + th, + td { + padding: 0.5rem 1rem; + } +} + +tbody tr { + border-block: rpx(1) solid var(--bg-muted-2); + + &:last-child { + border-block-end: none; + } +} + +.overflow-auto table { + width: max-content; + min-width: 100%; +} diff --git a/sass/citrine/components/_textarea.scss b/sass/citrine/components/_textarea.scss new file mode 100644 index 0000000..58c355a --- /dev/null +++ b/sass/citrine/components/_textarea.scss @@ -0,0 +1,17 @@ +textarea { + appearance: none; + box-shadow: var(--edge-highlight); + border: none; + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 1rem; + resize: none; + font-size: inherit; + line-height: inherit; + font-family: inherit; + + &::placeholder { + opacity: 1; + color: var(--fg-muted-1); + } +} diff --git a/sass/citrine/components/_title.scss b/sass/citrine/components/_title.scss new file mode 100644 index 0000000..16b8c89 --- /dev/null +++ b/sass/citrine/components/_title.scss @@ -0,0 +1,5 @@ +strong.title { + color: var(--accent-color); + font-size: var(--font-size-large); + line-height: 1; +} diff --git a/sass/citrine/components/_tooltip.scss b/sass/citrine/components/_tooltip.scss new file mode 100644 index 0000000..72aa4c1 --- /dev/null +++ b/sass/citrine/components/_tooltip.scss @@ -0,0 +1,41 @@ +// attr() hack from https://cyrneko.eu/css-tricks.html +@media (pointer: coarse), (hover: none) { + .tooltip, + abbr[title] { + display: inline-flex; + position: relative; + justify-content: center; + + &::after { + position: absolute; + top: calc(100% + 0.25rem); + z-index: 9999; + backdrop-filter: var(--blur); + transition: + visibility var(--transition), + opacity var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner-small); + background-color: var(--glass-bg-1); + padding: 0.125rem 0.375rem; + width: max-content; + content: attr(title); + -webkit-backdrop-filter: var(--blur); + transform: translateY(-0.5rem) scale(0.5); + transform-origin: top; + visibility: hidden; + opacity: 0; + max-width: calc(var(--content-width) / 3); + color: var(--fg-muted-2); + font-size: var(--font-size-small); + } + + &:focus::after, + &:hover::after { + transform: none; + visibility: visible; + opacity: 1; + } + } +} diff --git a/sass/citrine/components/_visually-hidden.scss b/sass/citrine/components/_visually-hidden.scss new file mode 100644 index 0000000..fbf292a --- /dev/null +++ b/sass/citrine/components/_visually-hidden.scss @@ -0,0 +1,11 @@ +.visually-hidden { + position: absolute !important; + clip-path: inset(50%) !important; + margin: -1px !important; + border-width: 0 !important; + padding: 0 !important; + width: 1px !important; + height: 1px !important; + overflow: hidden !important; + white-space: nowrap !important; +} diff --git a/sass/citrine/style.scss b/sass/citrine/style.scss new file mode 100644 index 0000000..77ddca1 --- /dev/null +++ b/sass/citrine/style.scss @@ -0,0 +1,29 @@ +/* +* Citrine v1.0.0 (https://citrine.daudix.one) +* Copyright 2026 David "Daudix" Lapshin and contributors +* Licensed under MIT (https://codeberg.org/daudix/citrine/raw/branch/main/LICENSE.txt) +*/ + +@use "base/root"; +@use "base/reset"; +@use "base/animations"; +@use "base/base"; +@use "base/layout"; +@use "base/typography"; + +@use "components/buttons"; +@use "components/card"; +@use "components/crt"; +@use "components/external"; +@use "components/iframe"; +@use "components/input"; +@use "components/media"; +@use "components/overflow-auto"; +@use "components/overshoot"; +@use "components/skip-to-content"; +@use "components/spoiler"; +@use "components/table"; +@use "components/textarea"; +@use "components/title"; +@use "components/tooltip"; +@use "components/visually-hidden"; diff --git a/sass/components/_alerts.scss b/sass/components/_alerts.scss new file mode 100644 index 0000000..d9f5ed5 --- /dev/null +++ b/sass/components/_alerts.scss @@ -0,0 +1,153 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; +@use "../citrine/abstracts/variables" as *; + +[class^="markdown-alert"] { + display: flow-root; + position: relative; + + &::before { + margin-inline-start: 1.5rem; + content: var(--alert-title); + color: var(--accent-color); + font-weight: var(--font-weight-semi-bold); + } + + &::after { + @include icon(pseudo); + --icon: var(--alert-icon); + position: absolute; + margin-inline-end: 0.25rem; + inset-block-start: rpx(1); + inset-inline-start: 0.75rem; + color: var(--accent-color); + font-size: 1.25rem; + } + + & > :first-child { + margin-block-start: 0.25rem; + } + + & > :last-child { + margin-block-end: 0; + } +} + +.markdown-alert { + // GitHub flavored alerts + &-note, + &-tip, + &-important, + &-warning, + &-caution, + // Generic colors + &-red, + &-orange, + &-yellow, + &-green, + &-blue, + &-purple { + @include variables-accent(("light", "common")); + + @media (prefers-color-scheme: dark) { + @include variables-accent("dark"); + } + } + + &-note { + &::before { + content: var(--alert-note-title); + } + + &::after { + --icon: var(--icon-info); + } + } + + &-tip { + &::before { + content: var(--alert-tip-title); + } + + &::after { + --icon: var(--icon-lightbulb); + } + } + + &-important { + &::before { + content: var(--alert-important-title); + } + + &::after { + --icon: var(--icon-warning-diamond); + } + } + + &-warning { + &::before { + content: var(--alert-warning-title); + } + + &::after { + --icon: var(--icon-warning); + } + } + + &-caution { + &::before { + content: var(--alert-caution-title); + } + + &::after { + --icon: var(--icon-warning-octagon); + } + } + + &-caution, + &-red { + --accent-h: var(--red-h); + --accent-s: var(--red-s); + --accent-l: var(--red-l); + --accent-color: var(--red-fg); + } + + &-orange { + --accent-h: var(--orange-h); + --accent-s: var(--orange-s); + --accent-l: var(--orange-l); + --accent-color: var(--orange-fg); + } + + &-warning, + &-yellow { + --accent-h: var(--yellow-h); + --accent-s: var(--yellow-s); + --accent-l: var(--yellow-l); + --accent-color: var(--yellow-fg); + } + + &-tip, + &-green { + --accent-h: var(--green-h); + --accent-s: var(--green-s); + --accent-l: var(--green-l); + --accent-color: var(--green-fg); + } + + &-note, + &-blue { + --accent-h: var(--blue-h); + --accent-s: var(--blue-s); + --accent-l: var(--blue-l); + --accent-color: var(--blue-fg); + } + + &-important, + &-purple { + --accent-h: var(--purple-h); + --accent-s: var(--purple-s); + --accent-l: var(--purple-l); + --accent-color: var(--purple-fg); + } +} diff --git a/sass/components/_article-details.scss b/sass/components/_article-details.scss new file mode 100644 index 0000000..b3ca1ff --- /dev/null +++ b/sass/components/_article-details.scss @@ -0,0 +1,71 @@ +@use "../citrine/abstracts/functions" as *; + +.article-details { + display: flex; + flex-direction: column; + gap: 0.75rem; + margin-block-end: 2rem; + color: var(--fg-muted-2); + font-size: var(--font-size-small); + + .items { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: 0.25rem 0.5rem; + } + + .item { + display: inline-flex; + align-items: center; + gap: 0.375rem; + border-radius: var(--rounded-corner-small); + } + + a { + color: inherit; + font-weight: var(--font-weight-normal); + font-size: var(--font-size-small); + text-decoration-color: transparent; + + &:hover { + text-decoration-style: solid; + text-decoration-color: var(--fg-muted-1); + } + } + + .tooltip { + cursor: help; + } + + .icon { + box-shadow: var(--edge-highlight); + border-radius: var(--rounded-corner-small); + background-color: var(--bg-muted-1); + padding: 0.375rem; + color: var(--accent-color); + font-size: 1.25rem; + } + + .tags { + display: flex; + flex-wrap: wrap; + gap: 0 0.5rem; + margin: 0; + border-block-start: rpx(1) solid var(--bg-muted-2); + padding-inline-start: 0; + padding-block-start: 0.5rem; + width: 100%; + list-style: none; + + li { + display: flex; + margin-block: 0; + padding: 0; + } + + a::before { + content: "#"; + } + } +} diff --git a/sass/components/_article-list.scss b/sass/components/_article-list.scss new file mode 100644 index 0000000..e597ecc --- /dev/null +++ b/sass/components/_article-list.scss @@ -0,0 +1,254 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/variables" as *; +@use "../citrine/abstracts/mixins" as *; + +.article-list { + display: grid; + grid-template-columns: repeat( + auto-fill, + minmax(calc(var(--content-width) / 2.5), 1fr) + ); + gap: 1rem; + margin-block-start: 2rem; + + &.categories article { + position: relative; + + &:hover .icon:last-child { + transform: translateY(-50%) rotate(-10deg) scale(1.5); + } + + .icon:last-child { + position: absolute; + transform: translateY(-50%); + z-index: -1; + transition: transform var(--transition-bezier); + inset-block-start: 50%; + inset-inline-end: -3rem; + color: var(--bg-muted-1); + font-size: 12rem; + } + } + + article { + display: flex; + position: relative; + flex-direction: column; + justify-content: space-between; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: 1.25rem; + background-color: var(--bg-muted-1); + padding: 0; + overflow: hidden; + + &.draft { + opacity: var(--disabled-opacity); + filter: grayscale(1); + transition-duration: var(--transition); + transition-property: opacity, filter; + + &:hover { + opacity: 1; + filter: none; + } + } + + &.has-banner.has-accent-color { + background-image: var(--bg-overlay), var(--blurnail); + background-position: center; + background-size: cover; + } + + &.has-accent-color { + @include variables-accent(("light", "common")); + + @media (prefers-color-scheme: dark) { + & { + @include variables-accent("dark"); + } + } + } + + & > div { + display: flex; + flex: 1; + flex-direction: column; + margin: 1rem; + + & > a { + text-decoration: none; + } + } + + h3 { + margin: 0; + border-inline-start: 0.25rem solid; + border-start-start-radius: 0.25rem; + border-end-start-radius: 0.25rem; + padding-inline-start: 0.5rem; + color: var(--accent-color); + font-weight: var(--font-weight-semi-bold); + text-decoration: none; + + &:hover::after { + opacity: 1; + } + + &::after { + opacity: 0; + transition: opacity var(--transition); + content: " →"; + } + } + + .description p { + margin-block-end: 0.75rem; + } + + .open-post { + @include easing-mask(bottom); + display: flex; + position: relative; + justify-content: center; + align-items: center; + margin-block-end: -2rem; + box-shadow: var(--edge-highlight); + border-radius: 0; + aspect-ratio: 2 / 1; + overflow: hidden; + text-decoration: none; + + &:hover { + &::before { + background-color: var(--shade-color); + } + + img { + transform: var(--hover); + filter: blur(0.25rem); + } + + .icon { + transform: none; + opacity: 1; + } + } + + &:active img { + transform: none; + } + + &::before { + position: absolute; + z-index: 1; + transition: background-color var(--transition); + inset: 0; + border-radius: inherit; + content: ""; + } + + img { + position: absolute; + transition-duration: var(--transition); + transition-property: transform, filter; + margin: 0; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + } + + .icon { + transform: scale(1.5); + opacity: 0; + z-index: 1; + transition: + transform var(--transition-bezier), + opacity var(--transition); + color: white; + font-size: 1.25rem; + } + } + + .article-details { + flex: 1; + justify-content: flex-end; + margin-block-end: 0; + + .tags { + margin-block-start: auto; + margin-block-end: -0.25rem; + } + } + } +} + +.paginator { + display: flex; + justify-content: center; + align-items: center; + gap: 0.25rem; + margin-block-start: 4rem; + + &:has(a.paginator-item.previous:active) .paginator-counter { + border-start-start-radius: 1rem; + border-end-start-radius: 1rem; + } + + &:has(a.paginator-item.next:active) .paginator-counter { + border-start-end-radius: 1rem; + border-end-end-radius: 1rem; + } + + &-item { + display: inline-block; + transition: + border-radius var(--transition), + border-start-end-radius var(--transition), + border-end-end-radius var(--transition), + border-start-start-radius var(--transition), + border-end-start-radius var(--transition), + background-color var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight); + border-radius: 1rem; + background-color: var(--bg-muted-1); + padding: 0.5rem; + color: var(--accent-color); + line-height: 0; + text-decoration: none; + + &:not([aria-disabled="true"]):hover { + background-color: var(--bg-muted-2); + } + + &:not([aria-disabled="true"]):active { + transform: var(--active); + border-radius: 1rem; + } + + &-previous { + border-start-end-radius: var(--rounded-corner-small); + border-end-end-radius: var(--rounded-corner-small); + } + + &-next { + border-start-start-radius: var(--rounded-corner-small); + border-end-start-radius: var(--rounded-corner-small); + } + } + + &-counter { + @include gradient-fill; + display: inline-block; + transition: var(--transition-bezier); + transition-property: + border-start-start-radius, border-end-start-radius, + border-start-end-radius, border-end-end-radius; + border-radius: var(--rounded-corner-small); + background-color: var(--bg-muted-1); + padding: 0.25rem 0.5rem; + font-weight: var(--font-weight-semi-bold); + font-variant-numeric: tabular-nums; + } +} diff --git a/sass/components/_article-nav.scss b/sass/components/_article-nav.scss new file mode 100644 index 0000000..217e350 --- /dev/null +++ b/sass/components/_article-nav.scss @@ -0,0 +1,66 @@ +.article-nav { + display: flex; + gap: 0.25rem; + + @media only screen and (max-width: 720px) { + flex-direction: column; + } + + &-item { + flex: 1; + transition: + box-shadow var(--transition), + background-color var(--transition), + transform var(--transition-bezier); + border-radius: var(--rounded-corner); + padding: 0.75rem 1rem; + min-width: 0; + text-decoration: none; + + &:hover { + box-shadow: var(--edge-highlight), var(--shadow); + background-color: var(--bg-muted-1); + + .article-title { + color: var(--accent-color); + } + } + + &:active { + transform: var(--active); + } + + &.prev { + text-align: start; + + .nav-arrow::before { + content: "← "; + } + } + + &.next { + text-align: end; + + .nav-arrow::after { + content: " →"; + } + } + } + + .nav-arrow { + margin-block-end: 0.5rem; + color: var(--fg-muted-2); + font-weight: var(--font-weight-normal); + font-size: var(--font-size-small); + } + + .article-title { + display: block; + transition: color var(--transition); + max-width: 100%; + overflow: hidden; + color: var(--fg-muted-1); + text-overflow: ellipsis; + white-space: nowrap; + } +} diff --git a/sass/components/_audio-button.scss b/sass/components/_audio-button.scss new file mode 100644 index 0000000..1f4fe43 --- /dev/null +++ b/sass/components/_audio-button.scss @@ -0,0 +1,42 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +.audio-button { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 1rem; + border-radius: 0.5rem; + font-size: var(--font-size-small); + font-weight: var(--font-weight-semi-bold); + color: var(--accent-color); + background-color: var(--accent-bg-1); + border: none; + cursor: pointer; + transition: + background-color var(--transition), + transform var(--transition-bezier), + box-shadow var(--transition); + + &:hover { + background-color: var(--accent-bg-2); + transform: scale(1.03); + } + + &:active { + transform: var(--active); + } + + &:focus-visible { + outline: 0.125rem solid var(--accent-color); + outline-offset: 0.25rem; + } + + .audio-button-label { + display: none; + + @media (min-width: 480px) { + display: inline; + } + } +} diff --git a/sass/components/_audio.scss b/sass/components/_audio.scss new file mode 100644 index 0000000..18d8397 --- /dev/null +++ b/sass/components/_audio.scss @@ -0,0 +1,41 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +// Who doesn't like a party popper mid article? +.audio { + @include chip; + padding-block: 0; + color: var(--accent-color); + font-size: var(--font-size-medium); + + &:hover { + color: var(--accent-color) !important; + + .icon { + animation: speaker var(--transition-long) ease-out infinite; + + @keyframes speaker { + from { + --icon: var(--icon-speaker-none); + } + + 50% { + --icon: var(--icon-speaker-low); + } + + to { + --icon: var(--icon-speaker-high); + } + } + } + } + + &:active { + transform: var(--active); + } + + .icon { + vertical-align: rpx(-3); + margin-inline-start: 0.25rem; + } +} diff --git a/sass/components/_banner.scss b/sass/components/_banner.scss new file mode 100644 index 0000000..e261d07 --- /dev/null +++ b/sass/components/_banner.scss @@ -0,0 +1,98 @@ +@use "../citrine/abstracts/functions" as *; + +body.has-banner { + background-image: var(--bg-overlay), var(--blurnail); + background-position: center; + background-size: cover; + background-attachment: fixed; +} + +#banner { + --mask: linear-gradient(black calc(100% - 2rem), transparent); + -webkit-mask-image: var(--mask); + display: flex; + grid-area: banner; + justify-content: center; + mask-image: var(--mask); + margin-block-end: -2.5rem; + padding-block: 3.25rem 2.5rem; + width: 100%; + + div { + position: relative; + margin-inline: 1rem; + aspect-ratio: 2 / 1; + width: 100%; + max-width: var(--content-width); + } + + img { + position: absolute; + margin: 0; + inset: 0; + border-radius: var(--rounded-corner) var(--rounded-corner) 0 0 !important; + aspect-ratio: 2 / 1; + width: 100%; + object-fit: cover; + } + + img:nth-of-type(1) { + opacity: var(--dim-opacity); + z-index: -1; + filter: blur(1.5rem); + animation: banner-glow-load calc(0.525s + var(--transition-long)); + inset-block-start: 1rem; + + @keyframes banner-glow-load { + from, + 52.5% { + opacity: 0; + } + } + } + + img:nth-of-type(2) { + transform-origin: bottom; + animation: banner-load calc(0.525s + var(--transition-longer)); + + @keyframes banner-load { + from, + 52.5% { + transform: translateY(2rem) scale(0.95); + opacity: 0; + } + } + } + + & + #main-content { + margin-block-start: 0; + + article > h1:first-of-type, + h1:first-of-type { + margin-inline: -1rem; + margin-block: 0; + border-radius: var(--rounded-corner) var(--rounded-corner) 0 0; + padding: 1rem; + width: unset; + -webkit-backdrop-filter: blur(1rem); + backdrop-filter: blur(1rem); + animation: banner-heading calc(0.525s + var(--transition-longer)); + box-shadow: inset 0 rpx(1) 0 var(--accent-highlight); + background-image: linear-gradient( + to bottom, + var(--bg-muted-1), + transparent 50% + ); + background-size: auto 200%; + text-decoration: none; + + @keyframes banner-heading { + from, + 52.5% { + box-shadow: none; + background-position-y: 100%; + } + } + } + } +} diff --git a/sass/components/_comments.scss b/sass/components/_comments.scss new file mode 100644 index 0000000..e5cc946 --- /dev/null +++ b/sass/components/_comments.scss @@ -0,0 +1,459 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +#comments { + #qrcode { + float: inline-end; + cursor: help; + box-sizing: content-box; + margin-inline-start: 1rem; + margin-block-start: 3rem; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: white; + padding: 0.75rem; + width: rpx(116); + height: rpx(116); + + svg { + pointer-events: none; + } + + @media only screen and (max-width: 720px) { + display: none; + } + } + + #comments-wrapper { + display: flex; + flex-direction: column; + gap: 2rem; + margin-block-start: 2rem; + + #comments-status { + color: var(--fg-muted-1); + font-weight: var(--font-weight-semi-bold); + font-size: var(--font-size-x-large); + text-align: center; + } + + .comment { + display: grid; + // grid-template-columns: min-content; + grid-template-columns: auto 1fr; + grid-template-areas: + "avatar header " + "...... post " + "...... media " + "...... card " + "...... interactions"; + column-gap: 1rem; + justify-items: start; + animation: slide-in-right var(--transition-bezier); + + :root[dir*="rtl"] & { + animation: slide-in-left var(--transition-bezier); + } + + @media only screen and (max-width: 720px) { + grid-template-areas: + "avatar header " + "post post " + "media media " + "card card " + "interactions interactions"; + align-items: start; + } + + &.comment-reply { + position: relative; + border-inline-start: 0.25rem solid var(--bg-muted-2); + border-start-start-radius: 0.25rem; + border-end-start-radius: 0.25rem; + padding-inline-start: 1rem; + + &:has(+ .comment-reply) { + border-end-start-radius: 0; + } + + & + .comment-reply { + margin-block-start: -2rem; + border-start-start-radius: 0; + padding-block-start: 2rem; + } + } + + .avatar-link { + grid-area: avatar; + width: 4rem; + height: 4rem; + + @media only screen and (max-width: 480px) { + width: 3rem; + height: 3rem; + } + + .avatar { + transition: transform var(--transition-bezier); + margin: 0; + background-size: cover; + width: 100%; + height: 100%; + + &:hover { + transform: rotate(10deg) var(--hover); + border-radius: var(--rounded-corner); + } + + &:active { + transform: var(--active); + } + } + } + + .mention { + @include chip; + display: inline-block; + + &:hover { + background-color: var(--bg-muted-2); + } + + &:active { + transform: var(--active); + } + } + + .invisible { + display: none; + } + + .ellipsis::after { + content: "…"; + } + + header { + display: flex; + grid-area: header; + flex-direction: column; + width: 100%; + min-width: 0; + color: var(--fg-muted-1); + line-height: 1; + + .display, + .instance { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .display { + color: var(--fg-color); + line-height: 1.5rem; + text-decoration: none; + + .emoji { + cursor: unset; + + &:hover { + transform: none; + } + } + } + + .instance { + margin-block-start: 0.25rem; + font-weight: var(--font-weight-semi-bold); + font-size: var(--font-size-x-small); + + &.op { + cursor: help; + + &::before { + @include icon(pseudo); + --icon: var(--icon-seal-check); + display: inline-block; + vertical-align: text-top; + margin-inline-end: 0.25rem; + font-size: 1rem; + } + } + } + + .timestamp { + margin-block-start: 0.25rem; + + a { + color: inherit; + font-size: var(--font-size-x-small); + text-decoration-color: transparent; + + &:hover { + text-decoration-style: solid; + text-decoration-color: inherit; + } + + &::after { + vertical-align: top; + } + } + } + } + + details { + border-radius: var(--rounded-corner-small); + background-image: + linear-gradient( + to right, + transparent, + transparent 0.5rem, + var(--bg-muted-1) 0.5rem, + var(--bg-muted-1) calc(100% - 0.5rem), + transparent calc(100% - 0.5rem), + transparent + ), + linear-gradient( + to right, + transparent, + transparent 0.5rem, + var(--bg-color) 0.5rem, + var(--bg-color) calc(100% - 0.5rem), + transparent calc(100% - 0.5rem), + transparent + ), + repeating-linear-gradient( + 45deg, + var(--contrast-color), + var(--contrast-color) 0.25rem, + var(--accent-color) 0.25rem, + var(--accent-color) 0.5rem + ); + width: 100%; + + summary { + border-radius: 0; + background-image: none; + } + } + + main { + grid-area: post; + justify-self: stretch; + margin-block-start: 1rem; + padding: 0; + + :first-child { + margin-block-start: 0; + } + + :last-child { + margin-block-end: 0; + } + } + + .attachments { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); + grid-area: media; + gap: 0.5rem; + margin-block-start: 1rem; + + img, + video { + margin: 0; + } + } + + .meta-card { + grid-area: card; + transition: transform var(--transition-bezier); + margin-block-start: 1rem; + width: min(calc(var(--content-width) / 2), 100%); + font-weight: var(--font-weight-normal); + text-decoration: none; + + &:hover { + img { + transform: var(--hover); + box-shadow: var(--edge-highlight), var(--shadow-raised); + border-radius: var(--rounded-corner-small); + } + + figcaption { + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-2); + } + } + + &:active { + transform: var(--active); + } + + figure { + display: flex; + flex-direction: column; + gap: 0.25rem; + margin: 0; + + img { + margin: 0; + border-radius: var(--rounded-corner) var(--rounded-corner) + var(--rounded-corner-small) var(--rounded-corner-small); + aspect-ratio: 16 / 9; + object-fit: cover; + + & + figcaption { + border-radius: var(--rounded-corner-small) + var(--rounded-corner-small) var(--rounded-corner) + var(--rounded-corner); + } + } + + figcaption { + display: flex; + flex-direction: column; + gap: 0.25rem; + transition-duration: var(--transition); + transition-property: border-radius, background-color; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 1rem; + color: var(--fg-color); + font-size: var(--font-size-medium); + text-align: start; + + p { + margin: 0; + color: var(--fg-muted-2); + font-size: var(--font-size-small); + } + } + } + } + + footer { + display: flex; + grid-area: interactions; + align-items: center; + gap: 0.25rem; + margin-block-start: 1rem; + width: 100%; + min-width: 0; + + @media only screen and (max-width: 480px) { + flex-wrap: wrap; + } + + .boosts, + .faves, + .reaction { + padding: 0.375rem 0.75rem; + font-variant-numeric: tabular-nums; + white-space: nowrap; + } + + .boosts, + .faves { + transition: + box-shadow var(--transition), + border-radius var(--transition), + transform var(--transition-bezier); + border-radius: rpx(18); + text-decoration: none; + + .icon { + vertical-align: rpx(-2); + transition: transform var(--transition-bezier); + margin-inline-end: 0.25rem; + } + + &:hover { + box-shadow: var(--edge-highlight); + text-decoration: none; + } + + &:active { + transform: var(--active); + border-radius: rpx(18); + } + } + + .boosts { + border-start-end-radius: var(--rounded-corner-small); + border-end-end-radius: var(--rounded-corner-small); + padding-inline-end: 0.625rem; + color: var(--purple-fg); + + .icon { + --icon: var(--icon-repeat); + } + + &:hover { + background-color: var(--purple-bg-1); + + .icon { + transform: rotate(180deg); + } + } + } + + .faves { + border-start-start-radius: var(--rounded-corner-small); + border-end-start-radius: var(--rounded-corner-small); + padding-inline-start: 0.625rem; + color: var(--yellow-fg); + + .icon { + --icon: var(--icon-star); + } + + &:hover { + background-color: var(--yellow-bg-1); + + .icon { + transform: rotate(72deg); + } + } + } + + .reactions { + display: flex; + // flex-wrap: nowrap; + gap: 0.25rem; + margin: -0.5rem -1rem; + padding: 0.5rem 1rem; + min-width: 0; + overflow-x: auto; + scrollbar-width: none; + color: var(--accent-color); + font-weight: var(--font-weight-semi-bold); + + .reaction { + display: flex; + flex-shrink: 0; + align-items: center; + gap: 0.25rem; + cursor: zoom-in; + border: rpx(1) solid var(--bg-muted-2); + border-radius: rpx(19); + + &:hover .emoji { + transform: scale(2); + } + + .emoji { + cursor: unset; + } + + span { + font-variant-numeric: tabular-nums; + } + } + } + } + } + } +} diff --git a/sass/components/_deanchor.scss b/sass/components/_deanchor.scss new file mode 100644 index 0000000..1fd7c89 --- /dev/null +++ b/sass/components/_deanchor.scss @@ -0,0 +1,20 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +.deanchor { + display: inline; + font-family: var(--font-family-mono); + font-size: var(--font-size-small); + color: var(--fg-muted-2); + background-color: var(--bg-muted-1); + padding: 0.125rem 0.375rem; + border-radius: 0.25rem; + transition: + background-color var(--transition), + color var(--transition); + + &:hover { + background-color: var(--bg-muted-2); + color: var(--fg-muted-1); + } +} diff --git a/sass/components/_emoji.scss b/sass/components/_emoji.scss new file mode 100644 index 0000000..93570ae --- /dev/null +++ b/sass/components/_emoji.scss @@ -0,0 +1,21 @@ +.emoji { + display: inline-block; + vertical-align: bottom; + transition: transform var(--transition-bezier); + cursor: zoom-in; + margin: 0; + box-shadow: none; + border-radius: 0; + background-color: transparent; + width: 1.5rem; + height: 1.5rem; + + &:hover { + transform: scale(2); + } + + &.big { + width: 3rem; + height: 3rem; + } +} diff --git a/sass/components/_footnotes.scss b/sass/components/_footnotes.scss new file mode 100644 index 0000000..c083897 --- /dev/null +++ b/sass/components/_footnotes.scss @@ -0,0 +1,62 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +.footnotes-list p { + margin-block: 0; +} + +.footnote-reference { + display: inline-flex; + vertical-align: baseline; + transition: + background-color var(--transition), + outline-offset calc(var(--transition-long) * 3), + transform var(--transition-bezier); + margin-inline-start: 0.25rem; + outline-offset: calc(var(--content-width) / 2) !important; + border-radius: 0.6875em; + background-color: var(--fg-muted-1); + // width: 1.375em; + line-height: 1.375em; + + &:hover { + background-color: var(--accent-color); + + a::after { + mask-position: center rpx(18); + } + } + + &:active { + transform: var(--active); + } + + &:target { + animation: none !important; + outline-offset: rpx(-3) !important; + background-color: var(--accent-color); + } + + a { + flex: 1; + border-radius: inherit; + padding-inline: rpx(9) rpx(6); + color: var(--bg-color); + font-size: var(--font-size-small); + font-variant-numeric: tabular-nums; + text-align: center; + text-decoration: none; + + &::after { + @include icon(pseudo); + --icon: var(--icon-caret-down); + display: inline-block; + vertical-align: rpx(-7); + mask-position: center; + mask-size: 1em; + transition: mask-position var(--transition); + margin-inline-start: 0.25rem; + height: rpx(22); + } + } +} diff --git a/sass/components/_fuse.scss b/sass/components/_fuse.scss new file mode 100644 index 0000000..494ef74 --- /dev/null +++ b/sass/components/_fuse.scss @@ -0,0 +1,50 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +.fuse { + display: flex; + flex-direction: column; + gap: 0.5rem; + max-width: 30rem; + + .fuse-input { + width: 100%; + padding: 0.75rem 1rem; + border-radius: 0.5rem; + border: 1px solid var(--bg-muted-2); + background-color: var(--bg-muted-1); + color: var(--fg-color); + font-size: var(--font-size-medium); + transition: + border-color var(--transition), + box-shadow var(--transition); + + &:focus { + outline: none; + border-color: var(--accent-color); + box-shadow: 0 0 0 2px var(--accent-bg-1), 0 0 0 4px var(--accent-color); + } + } + + .fuse-results { + display: flex; + flex-direction: column; + gap: 0.25rem; + + .fuse-result { + padding: 0.5rem 0.75rem; + border-radius: 0.25rem; + background-color: var(--bg-muted-1); + text-decoration: none; + color: var(--fg-color); + transition: + background-color var(--transition), + padding-left var(--transition); + + &:hover { + background-color: var(--bg-muted-2); + padding-left: 1rem; + } + } + } +} diff --git a/sass/components/_giallo.scss b/sass/components/_giallo.scss new file mode 100644 index 0000000..0c228b4 --- /dev/null +++ b/sass/components/_giallo.scss @@ -0,0 +1,16 @@ +.giallo:has(.giallo-ln) { + padding-inline: 0; +} + +.giallo-l { + display: inline-block; + width: 100%; +} + +.giallo-ln { + display: inline-block; + margin-right: 1ch; + min-width: 3ch; + user-select: none; + text-align: right; +} diff --git a/sass/components/_icon.scss b/sass/components/_icon.scss new file mode 100644 index 0000000..6768a12 --- /dev/null +++ b/sass/components/_icon.scss @@ -0,0 +1,9 @@ +@use "../citrine/abstracts/mixins" as *; + +.icon { + @include icon; + + &::before { + @include icon(pseudo); + } +} diff --git a/sass/components/_iframe.scss b/sass/components/_iframe.scss new file mode 100644 index 0000000..550da8d --- /dev/null +++ b/sass/components/_iframe.scss @@ -0,0 +1,6 @@ +iframe { + &.vimeo-embed, + &.youtube-embed { + aspect-ratio: 16 / 9; + } +} diff --git a/sass/components/_index.scss b/sass/components/_index.scss new file mode 100644 index 0000000..61889d1 --- /dev/null +++ b/sass/components/_index.scss @@ -0,0 +1,25 @@ +@use "alerts"; +@use "article-details"; +@use "article-list"; +@use "article-nav"; +@use "audio"; +@use "banner"; +@use "comments"; +@use "emoji"; +@use "footnotes"; +@use "giallo"; +@use "icon"; +@use "iframe"; +@use "marquee"; +@use "not-found"; +@use "pre-container"; +@use "search-modal"; +@use "skip-to-content"; +@use "statements"; +@use "tag-chips"; +@use "zola-anchor"; +@use "zola-error"; +@use "audio-button"; +@use "deanchor"; +@use "fuse"; +@use "search-fuse"; \ No newline at end of file diff --git a/sass/components/_marquee.scss b/sass/components/_marquee.scss new file mode 100644 index 0000000..e995c33 --- /dev/null +++ b/sass/components/_marquee.scss @@ -0,0 +1,35 @@ +.marquee { + margin-inline: -1rem; + padding-inline: 1rem; + overflow: hidden; + + &.overshoot-row > * { + animation: marquee-scroll + calc((var(--text-width) + var(--container-width)) / 40 * 1s) linear + infinite; + + @keyframes marquee-scroll { + 0%, + 10% { + transform: translateX(0); + } + + 45%, + 55% { + transform: translateX( + calc((var(--container-width) - var(--text-width)) * 1px) + ); + } + + 90%, + 100% { + transform: translateX(0); + } + } + } + + & > * { + display: inline-block; + white-space: nowrap; + } +} diff --git a/sass/components/_not-found.scss b/sass/components/_not-found.scss new file mode 100644 index 0000000..34b92bf --- /dev/null +++ b/sass/components/_not-found.scss @@ -0,0 +1,11 @@ +picture#not-found { + display: block; + + img { + width: 8rem; + } +} + +img#not-found { + width: 8rem; +} diff --git a/sass/components/_pre-container.scss b/sass/components/_pre-container.scss new file mode 100644 index 0000000..d011d77 --- /dev/null +++ b/sass/components/_pre-container.scss @@ -0,0 +1,141 @@ +@use "../citrine/abstracts/functions" as *; + +.pre-container { + position: relative; + margin: 1rem 0 1rem; + box-shadow: var(--shadow); + border-radius: var(--rounded-corner); + + &::after { + position: absolute; + inset: 0; + box-shadow: var(--edge-highlight); + border-radius: inherit; + pointer-events: none; + content: ""; + } + + .header { + display: flex; + justify-content: space-between; + align-items: center; + transition: border-block-end-color var(--transition); + border-radius: var(--rounded-corner) var(--rounded-corner) 0 0; + border-block-end: rpx(1) solid transparent; + background-image: linear-gradient( + to right, + transparent 50%, + var(--bg-muted-neutral-1) 75%, + transparent 100% + ); + background-size: 200%; + padding: 0.25rem; + + &:not(.z-l-code), + &:not(.z-d-code) { + background-color: var(--bg-muted-1); + color: var(--accent-color); + + button:hover { + background-color: var(--bg-muted-1); + } + + &.active { + border-block-end-color: var(--bg-muted-1); + + button { + background-color: var(--bg-muted-1); + } + } + } + + span { + margin-inline-start: 0.75rem; + font-weight: var(--font-weight-semi-bold); + } + + button { + position: relative; + transition: + box-shadow var(--transition), + background-color var(--transition), + transform var(--transition-bezier); + cursor: pointer; + box-shadow: none; + border-radius: var(--rounded-corner-small); + background-color: transparent; + padding: 0.5rem; + color: inherit; + line-height: 0; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-neutral-1); + } + + &:active { + transform: var(--active); + } + + &:disabled { + cursor: not-allowed; + + &:active { + transform: none; + } + } + + .icon { + transition: + opacity var(--transition-longer), + transform var(--transition-bezier-longer); + font-size: 1rem; + + &.copy { + --icon: var(--icon-copy); + transform-origin: bottom left; + } + + &.check { + --icon: var(--icon-check-square-offset); + position: absolute; + transform: scale(0.5); + transform-origin: top right; + opacity: 0; + inset: 0.5rem; + } + } + } + + &.active { + animation: active-shimmer var(--transition-long); + border-block-end-color: var(--bg-muted-neutral-1); + + button { + opacity: 1; + + .icon.copy { + transform: scale(0.5); + opacity: 0; + } + + .icon.check { + transform: none; + opacity: 1; + } + } + + @keyframes active-shimmer { + to { + background-position-x: -200%; + } + } + } + } + + pre { + margin: 0; + box-shadow: none; + border-radius: 0 0 var(--rounded-corner) var(--rounded-corner); + } +} diff --git a/sass/components/_search-fuse.scss b/sass/components/_search-fuse.scss new file mode 100644 index 0000000..20bb5c2 --- /dev/null +++ b/sass/components/_search-fuse.scss @@ -0,0 +1,73 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +.search-fuse { + display: flex; + flex-direction: column; + gap: 0.75rem; + max-width: 40rem; + margin: 0 auto; + + &-input-wrap { + position: relative; + display: flex; + align-items: center; + } + + &-icon { + position: absolute; + left: 0.75rem; + color: var(--fg-muted-2); + pointer-events: none; + transition: + color var(--transition), + opacity var(--transition-bezier); + opacity: 0.7; + } + + &-input { + width: 100%; + padding: 0.75rem 1rem 0.75rem 2.5rem; + border-radius: 0.5rem; + border: 1px solid var(--bg-muted-2); + background-color: var(--bg-muted-1); + color: var(--fg-color); + font-size: var(--font-size-medium); + transition: + border-color var(--transition), + box-shadow var(--transition), + background-color var(--transition); + + &:focus { + outline: none; + border-color: var(--accent-color); + box-shadow: 0 0 0 2px var(--accent-bg-1), 0 0 0 4px var(--accent-color); + } + + &::placeholder { + color: var(--fg-muted-2); + } + } + + &-results { + display: flex; + flex-direction: column; + gap: 0.25rem; + + .search-fuse-result { + padding: 0.5rem 0.75rem; + border-radius: 0.25rem; + background-color: var(--bg-muted-1); + text-decoration: none; + color: var(--fg-color); + transition: + background-color var(--transition), + padding-left var(--transition); + + &:hover { + background-color: var(--bg-muted-2); + padding-left: 1rem; + } + } + } +} diff --git a/sass/components/_search-modal.scss b/sass/components/_search-modal.scss new file mode 100644 index 0000000..2174293 --- /dev/null +++ b/sass/components/_search-modal.scss @@ -0,0 +1,128 @@ +#search-modal { + display: flex; + position: fixed; + flex-direction: column; + align-items: center; + visibility: hidden; + opacity: 0; + z-index: 9999; + transition: + visibility var(--transition), + opacity var(--transition); + inset: 0; + background-color: var(--shade-color); + padding-block-start: 15vh; + width: 100%; + height: 100vh; + + &.active { + visibility: visible; + opacity: 1; + + #search-modal-content { + transform: none; + } + } + + &-content { + display: flex; + flex-direction: column; + gap: 1rem; + transform: var(--hover); + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + transition: + border-radius var(--transition), + padding var(--transition), + max-width var(--transition), + transform var(--transition-bezier-longer); + margin: -0.5rem; + box-shadow: var(--edge-highlight), var(--shadow-glass); + border-radius: 2.25rem 2.25rem 1.75rem 1.75rem; + background-color: var(--glass-bg-1); + padding: 1rem; + width: calc(100% - 2rem); + max-width: calc(var(--content-width) / 1.5); + overflow: hidden; + + &:has(#search-results:empty) { + border-radius: 1.75rem; + padding: 0.5rem; + max-width: calc(var(--content-width) / 2); + } + + & > div { + position: relative; + } + } + + #search-input { + flex-shrink: 0; + box-shadow: var(--edge-highlight); + border-radius: 9999px; + padding: 0 1rem; + width: 100%; + height: 2.5rem; + + &:placeholder-shown + div .icon { + transform: none; + opacity: var(--disabled-opacity); + pointer-events: all; + } + + & + div .icon { + position: absolute; + transform: translateX(0.5rem); + opacity: 0; + transition: + opacity var(--transition), + transform var(--transition-bezier); + cursor: help; + inset-block-start: 0.625rem; + inset-inline-end: 1rem; + pointer-events: none; + color: var(--fg-muted-2); + font-size: 1.25rem; + } + } + + #search-results { + display: none; + flex: 1; + flex-direction: column; + gap: 0.5rem; + margin: -1rem; + padding: 1rem; + max-height: 50vh; + overflow: auto; + scrollbar-width: thin; + + .item { + display: inline-flex; + flex-direction: column; + box-shadow: var(--edge-highlight); + border-radius: var(--rounded-corner); + background-color: var(--bg-muted-1); + padding: 0.75rem 1rem; + + a { + text-decoration: none; + + &::after { + content: " →"; + } + } + + span { + margin-block-start: 0.25rem; + border-block-start: rpx(1) solid var(--bg-muted-2); + padding-block-start: 0.25rem; + color: var(--fg-muted-2); + + strong { + color: var(--fg-color); + } + } + } + } +} diff --git a/sass/components/_skip-to-content.scss b/sass/components/_skip-to-content.scss new file mode 100644 index 0000000..1e217af --- /dev/null +++ b/sass/components/_skip-to-content.scss @@ -0,0 +1,23 @@ +#skip-to-content { + position: absolute; + transform: translateX(-50%) translateY(calc(-100% - 1rem)); + z-index: 9999; + transition: + backdrop-filter var(--transition), + box-shadow var(--transition), + transform var(--transition-bezier); + inset-inline-start: 50vw; + border-radius: 9999px; + background-color: var(--glass-bg-1); + padding: 0.375rem 0.75rem; + width: max-content; + text-decoration: none; + + &:focus-visible, + &:focus { + -webkit-backdrop-filter: var(--blur); + transform: translateX(-50%) translateY(1rem); + backdrop-filter: var(--blur); + box-shadow: var(--edge-highlight), var(--shadow); + } +} diff --git a/sass/components/_statements.scss b/sass/components/_statements.scss new file mode 100644 index 0000000..f76e587 --- /dev/null +++ b/sass/components/_statements.scss @@ -0,0 +1,61 @@ +@use "../citrine/abstracts/functions" as *; + +.statement-container { + margin: 1rem 0; + box-shadow: var(--edge-highlight), var(--shadow); + border-radius: var(--rounded-corner); + padding: 1rem; + + :last-child { + margin-block-end: 0; + } + + & > :nth-child(2) { + margin-block-start: 0.5rem; + } + + .title { + font-weight: var(--font-weight-semi-bold); + + .icon { + vertical-align: rpx(-2); + margin-inline-end: 0.25rem; + } + } + + &.archive { + --accent-color: var(--purple-fg); + --accent-highlight: hsla( + var(--purple-h), + var(--purple-s), + var(--purple-l), + var(--disabled-opacity) + ); + background-color: var(--purple-bg-1); + color: var(--purple-fg); + } + + &.disclaimer { + --accent-color: var(--red-fg); + --accent-highlight: hsla( + var(--red-h), + var(--red-s), + var(--red-l), + var(--disabled-opacity) + ); + background-color: var(--red-bg-1); + color: var(--red-fg); + } + + &.trigger { + --accent-color: var(--yellow-fg); + --accent-highlight: hsla( + var(--yellow-h), + var(--yellow-s), + var(--yellow-l), + var(--disabled-opacity) + ); + background-color: var(--yellow-bg-1); + color: var(--yellow-fg); + } +} diff --git a/sass/components/_tag-chips.scss b/sass/components/_tag-chips.scss new file mode 100644 index 0000000..df38adc --- /dev/null +++ b/sass/components/_tag-chips.scss @@ -0,0 +1,59 @@ +@use "../citrine/abstracts/functions" as *; + +#tag-chips { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + margin: 0; + padding-inline-start: 0; + list-style: none; + + li { + display: flex; + margin-block: 0; + padding-inline-start: 0; + } + + a { + display: flex; + transition: + background-color var(--transition), + color var(--transition), + transform var(--transition-bezier); + box-shadow: var(--edge-highlight); + border-radius: 1rem; + background-color: var(--bg-muted-1); + padding: 0.25rem; + padding-inline-start: 0.75rem; + color: var(--fg-muted-1); + font-size: var(--font-size-small); + line-height: 1.5rem; + text-decoration: none; + + &:hover { + background-color: var(--bg-muted-2); + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + + &::before { + content: "#"; + } + + .counter { + transition: inherit; + margin-inline-start: 0.375rem; + box-shadow: var(--edge-highlight); + border-radius: inherit; + background-color: inherit; + aspect-ratio: 1 / 1; + height: 1.5rem; + line-height: 1.5rem; + font-variant-numeric: tabular-nums; + text-align: center; + } + } +} diff --git a/sass/components/_zola-anchor.scss b/sass/components/_zola-anchor.scss new file mode 100644 index 0000000..f942600 --- /dev/null +++ b/sass/components/_zola-anchor.scss @@ -0,0 +1,50 @@ +h1, +h2, +h3, +h4, +h5, +h6 { + &:hover .zola-anchor { + transform: none; + opacity: 1; + } + + &:has(.zola-anchor) { + position: relative; + } +} + +.zola-anchor { + position: absolute; + transform: translateX(0.25em); + opacity: 0; + transition: + color var(--transition), + opacity var(--transition), + transform var(--transition-bezier); + inset-inline-start: -1.25em; + padding-inline-end: 0.25em; + color: var(--fg-muted-1); + line-height: 1; + + @media only screen and (max-width: 720px) { + display: none; + } + + &:hover { + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + + &:focus-visible { + opacity: 1; + } +} + +:target .zola-anchor { + transform: none; + opacity: var(--disabled-opacity); +} diff --git a/sass/components/_zola-error.scss b/sass/components/_zola-error.scss new file mode 100644 index 0000000..433f6cc --- /dev/null +++ b/sass/components/_zola-error.scss @@ -0,0 +1,55 @@ +// Based on https://github.com/welpo/tabi/blob/68c35b02f8c09e21ecff48f61bad6da3d96ce337/sass/parts/_zola-error.scss + +body > div:last-child:has(div:last-child[style]:not([class]):not([id])) { + z-index: 9999 !important; + background-color: var(--shade-color) !important; +} + +body > div:last-child > div:last-child[style]:not([class]):not([id]) { + box-shadow: var(--edge-highlight), var(--shadow-glass); + border-radius: calc(var(--rounded-corner) + 1rem) !important; + background-color: hsla( + var(--red-h), + calc(var(--red-s) - var(--red-s) * 0.7), + calc(var(--red-l) + (100% - var(--red-l)) * 0.9), + var(--dim-opacity) + ) !important; + padding: 1rem !important; + width: fit-content; + max-width: calc(100% - 2rem); + -webkit-backdrop-filter: var(--blur); + backdrop-filter: var(--blur); + filter: none !important; + + @media (prefers-color-scheme: dark) { + & { + background-color: hsla( + var(--red-h), + calc(var(--red-s) - var(--red-s) * 0.6), + calc(var(--red-l) - var(--red-l) * 0.8), + var(--dim-opacity) + ) !important; + } + } +} + +body + > div:last-child + > div:last-child[style]:not([class]):not([id]) + > p[style]:first-child { + margin-block-end: 1rem !important; + color: var(--red-fg) !important; + font-weight: var(--font-weight-semi-bold) !important; + font-size: var(--font-size-large) !important; +} + +body + > div:last-child + > div:last-child[style]:not([class]):not([id]) + > pre[style]:last-child { + border-radius: var(--rounded-corner) !important; + background-color: var(--red-bg-1) !important; + padding: 0.75rem 1rem !important; + color: var(--red-fg) !important; + font-weight: var(--font-weight-normal) !important; +} diff --git a/sass/fonts.scss b/sass/fonts.scss new file mode 100644 index 0000000..a148e87 --- /dev/null +++ b/sass/fonts.scss @@ -0,0 +1,52 @@ +$commissioner-version: "1.012.1"; +$commit-mono-version: "1.143"; + +:root { + --font-sans-serif: "Commissioner"; + --font-monospace: "Commit Mono"; +} + +// Commissioner +@font-face { + font-style: normal; + font-weight: 100 900; + src: url("/fonts/commissioner.woff2?v=#{$commissioner-version}") + format("woff2"); + font-family: "Commissioner"; + font-display: swap; + // Fix vertical alignment, + // See https://github.com/kosbarts/Commissioner/issues/55 + ascent-override: 96.3%; + descent-override: 25%; +} + +@font-face { + font-style: italic; + font-weight: 100 900; + src: url("/fonts/commissioner.woff2?v=#{$commissioner-version}") + format("woff2"); + font-family: "Commissioner"; + font-display: swap; + font-variation-settings: "slnt" -12; + // Ditto + ascent-override: 96.3%; + descent-override: 25%; +} + +// Commit Mono +@font-face { + font-style: normal; + font-weight: 100 900; + src: url("/fonts/commit-mono.woff2?v=#{$commit-mono-version}") format("woff2"); + font-family: "Commit Mono"; + font-display: swap; +} + +@font-face { + font-style: italic; + font-weight: 100 900; + src: url("/fonts/commit-mono.woff2?v=#{$commit-mono-version}") format("woff2"); + font-family: "Commit Mono"; + font-display: swap; + font-variation-settings: "ital" 1; +} diff --git a/sass/layout/_footer.scss b/sass/layout/_footer.scss new file mode 100644 index 0000000..25a09fe --- /dev/null +++ b/sass/layout/_footer.scss @@ -0,0 +1,140 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +#site-footer { + --padding: 1rem; + display: flex; + grid-area: footer; + gap: 1rem; + margin-block: 3.25rem 1rem; + border-block-start: rpx(1) solid var(--bg-muted-2); + padding: 1rem; + width: 100%; + min-width: 0; + max-width: calc(var(--content-width) + var(--padding) * 2); + + @media only screen and (max-width: 480px) { + flex-direction: column-reverse; + } + + & > div { + display: flex; + flex: 1; + flex-direction: column; + gap: 1rem; + + p { + margin: 0; + } + + &:nth-of-type(1) { + color: var(--fg-muted-2); + font-size: var(--font-size-small); + } + + &:nth-of-type(2) { + justify-content: space-between; + align-items: flex-end; + text-align: end; + + @media only screen and (max-width: 480px) { + align-items: normal; + text-align: start; + } + } + } + + a.external::after { + margin-inline-start: 0.25rem; + } + + .link { + @include chip; + display: inline-block; + line-height: 1.5rem; + + &:hover { + background-color: var(--bg-muted-2); + } + + &:active { + transform: var(--active); + } + } + + // IMO it's pretty cute + .webrings { + display: flex; + flex-direction: column; + gap: 0.25rem; + margin-block: 0; + padding-inline-start: 0; + list-style: none; + } + + .webring { + display: flex; + gap: 0.25rem; + margin-block: 0; + padding-inline-start: 0; + + .random, + .previous, + .next { + display: inline-flex; + justify-content: center; + align-items: center; + border-radius: 9999px; + padding: 0.25rem; + font-size: 1rem; + } + } + + .timestamp { + color: var(--fg-muted-1); + font-size: var(--font-size-xx-small); + font-family: var(--font-monospace); + text-transform: uppercase; + } + + .socials { + display: flex; + justify-content: flex-end; + gap: 0.75rem; + margin: 0; + padding-inline-start: 0; + list-style: none; + + @media only screen and (max-width: 480px) { + justify-content: normal; + } + + li { + margin-block: 0; + padding-inline-start: 0; + } + + a { + display: flex; + transition: + color var(--transition), + transform var(--transition-bezier); + height: fit-content; + color: var(--fg-muted-1); + + &:hover { + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + } + + svg { + fill: currentColor; + width: 1.5rem; + height: 1.5rem; + } + } +} diff --git a/sass/layout/_full-bleed.scss b/sass/layout/_full-bleed.scss new file mode 100644 index 0000000..85e9fd3 --- /dev/null +++ b/sass/layout/_full-bleed.scss @@ -0,0 +1,13 @@ +.full-bleed { + transform: translateX(-50%); + margin-inline-start: 50%; + width: calc(100vw - var(--sidebar-width)); + + :root[dir*="rtl"] & { + transform: translateX(50%); + } + + @media only screen and (max-width: 960px) { + width: calc(100vw - 3.5rem); + } +} diff --git a/sass/layout/_grid.scss b/sass/layout/_grid.scss new file mode 100644 index 0000000..6a8b9db --- /dev/null +++ b/sass/layout/_grid.scss @@ -0,0 +1,16 @@ +body { + display: grid; + grid-template-rows: auto auto 1fr auto; + grid-template-columns: var(--sidebar-width) 1fr; + grid-template-areas: + "sidebar header" + "sidebar banner" + "sidebar main " + "sidebar footer"; + justify-items: center; + transition: grid-template-columns var(--transition); + + @media only screen and (max-width: 960px) { + grid-template-columns: 0 1fr; + } +} diff --git a/sass/layout/_header.scss b/sass/layout/_header.scss new file mode 100644 index 0000000..0ecab63 --- /dev/null +++ b/sass/layout/_header.scss @@ -0,0 +1,347 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +#site-header { + display: flex; + position: sticky; + grid-area: header; + // height: 3rem; + justify-content: space-between; + // flex-wrap: nowrap; + align-items: center; + gap: 0.25rem; + z-index: 2; + // height: 3.75rem; + inset-block-start: 0; + // padding: 0.5rem 0.75rem; + padding: 0.5rem; + width: 100%; + min-width: 0; + + &::before, + &::after { + position: absolute; + inset: 0; + @include easing-mask(bottom); + inset-block-end: -100%; + pointer-events: none; + content: ""; + } + + &::before { + z-index: -2; + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + } + + &::after { + z-index: -1; + background-color: var(--bg-color); + } + + .title { + margin-inline: 0.75rem; + min-width: 0; + overflow: hidden; + color: var(--fg-muted-2); + font-size: var(--font-size-small); + line-height: 2rem; + text-overflow: ellipsis; + white-space: nowrap; + } + + .buttons { + display: flex; + flex-wrap: nowrap; + gap: 0.25rem; + margin: 0; + // margin-inline-start: auto; + box-shadow: var(--edge-highlight), var(--shadow-glass); + border-radius: 1.125rem; + background-color: var(--glass-bg-1); + padding: 0.25rem; + list-style: none; + + li { + flex: 0; + margin-block: 0; + padding-inline-start: 0; + } + + & > li { + height: fit-content; + line-height: 0; + } + + button, + details { + box-shadow: none; + background-color: transparent; + line-height: inherit; + + .icon { + margin-inline-end: 0; + box-shadow: none; + background-color: transparent; + padding: 0; + } + } + + button, + summary { + border-radius: 50%; + padding: 0.375rem; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + } + + details { + box-shadow: none; + border-radius: 0; + padding: 0; + } + + button { + font-size: var(--font-size-medium); + } + + summary { + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + } + + &::before { + display: none; + } + } + + details { + display: block; + position: relative; + margin-block-end: 0; + + &::details-content { + block-size: auto; + } + + &[open] { + &::details-content { + block-size: auto; + } + + summary { + color: var(--fg-muted-1); + + &:hover { + color: var(--fg-muted-2); + } + } + + @supports not (block-size: calc-size(auto, size)) { + summary ~ * { + animation: none; + } + } + } + } + } +} + +.buttons .dropdown { + display: flex; + position: absolute; + flex-direction: column; + gap: 0.25rem; + transform-origin: top right; + z-index: 1; + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + animation: expand-up-right var(--transition-bezier); + inset-block-start: calc(100% + 0.75rem); + inset-inline-end: -0.25rem; + box-shadow: var(--edge-highlight), var(--shadow-glass); + border-radius: calc(var(--rounded-corner) + 0.25rem); + background-color: var(--glass-bg-1); + padding: 0.25rem; + width: max-content; + min-width: 8rem; + list-style: none; + + :root[dir*="rtl"] & { + transform-origin: top left; + animation: expand-up-left var(--transition-bezier); + } + + li { + flex: 1; + } + + a { + box-shadow: none; + border-radius: var(--rounded-corner); + background-color: transparent; + padding: 0.375rem 0.75rem; + width: 100%; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1) !important; + } + } +} + +#site-sidebar-controls { + display: flex; + flex-shrink: 0; + gap: 0.25rem; + transition: + width var(--transition), + visibility var(--transition); + margin-block: 0; + box-shadow: var(--edge-highlight), var(--shadow-glass); + border-radius: 1.125rem; + background-color: var(--glass-bg-1); + padding: 0.25rem; + height: fit-content; + line-height: 0; + list-style: none; + + @media only screen and (max-width: 960px) { + width: 2.25rem; + + &:has(#expand-sidebar:checked) { + width: 6.25rem; + + #site-sidebar-modes { + transform: none; + visibility: visible; + opacity: 1; + } + } + } + + ul { + padding-inline-start: 0; + list-style: none; + } + + li { + display: inline-block; + margin-block: 0; + padding-inline-start: 0; + + label { + display: inline-block; + transition: + box-shadow var(--transition), + background-color var(--transition), + color var(--transition), + transform var(--transition-bezier); + cursor: pointer; + border-radius: 50%; + padding: 0.375rem; + height: fit-content; + color: var(--fg-muted-1); + line-height: 0; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + } + + input[type="radio"] { + & + label { + position: relative; + z-index: 1; + + &::before { + @include gradient-fill; + position: absolute; + opacity: 0; + z-index: -1; + transition: + opacity var(--transition), + box-shadow var(--transition), + background-color var(--transition); + inset: 0; + border-radius: inherit; + content: ""; + } + } + + &:checked + label { + color: var(--contrast-color); + + &:hover { + box-shadow: none; + background-color: transparent; + } + + &:hover::before { + box-shadow: var(--edge-highlight); + background-color: var(--accent-color); + } + + &::before { + opacity: 1; + } + } + } + + input[type="radio"], + input[type="checkbox"] { + &:focus-visible + label { + animation: focus-in var(--transition); + outline: 0.125rem solid var(--accent-color); + outline-offset: 0.125rem; + } + + @supports not selector(:focus-visible) { + &:focus + label { + animation: focus-in var(--transition); + outline: 0.125rem solid var(--accent-color); + outline-offset: 0.125rem; + } + } + } + } + + #expand-sidebar-li { + display: none; + + @media only screen and (max-width: 960px) { + display: inline-block; + } + } +} + +#site-sidebar-modes { + display: flex; + gap: 0.25rem; + transform-origin: left; + transition: + visibility var(--transition), + opacity var(--transition), + transform var(--transition); + + @media only screen and (max-width: 960px) { + transform: translateX(-2.25rem); + visibility: hidden; + opacity: 0; + } +} diff --git a/sass/layout/_index.scss b/sass/layout/_index.scss new file mode 100644 index 0000000..b6da0b7 --- /dev/null +++ b/sass/layout/_index.scss @@ -0,0 +1,6 @@ +@use "footer"; +@use "full-bleed"; +@use "grid"; +@use "header"; +@use "main-content"; +@use "sidebar"; \ No newline at end of file diff --git a/sass/layout/_main-content.scss b/sass/layout/_main-content.scss new file mode 100644 index 0000000..1c7c3b7 --- /dev/null +++ b/sass/layout/_main-content.scss @@ -0,0 +1,59 @@ +#main-content { + --padding: 1rem; + grid-area: main; + transform-origin: 50% 50vh; + animation: fade-in-zoom var(--transition-bezier-longer); + margin-block-start: 3.25rem; + padding-inline: 1rem; + width: 100%; + min-width: 0; + max-width: calc(var(--content-width) + var(--padding) * 2); + + @supports (transform-origin: 50% 50dvh) { + transform-origin: 50% 50dvh; + } + + & > :first-child { + margin-block-start: 0; + } + + & > :last-child { + margin-block-end: 0; + } + + @keyframes fade-in-zoom { + from { + transform: scale(0.95); + opacity: 0; + } + } +} + +// Don't play animation when jumping to section +:target ~ #main-content { + animation-name: none; +} + +// Loading animation when going up in the sidebar +#↑:target ~ #main-content, +#up:target ~ #main-content { + animation-name: slide-in-up-longer; +} + +// Loading animation when going down in the sidebar +#↓:target ~ #main-content, +#down:target ~ #main-content { + animation-name: slide-in-down-longer; +} + +// Loading animation when going to the previous article +#←:target ~ #main-content, +#left:target ~ #main-content { + animation-name: slide-in-left-longer; +} + +// Loading animation when going to the next article +#→:target ~ #main-content, +#right:target ~ #main-content { + animation-name: slide-in-right-longer; +} diff --git a/sass/layout/_sidebar.scss b/sass/layout/_sidebar.scss new file mode 100644 index 0000000..6f7655e --- /dev/null +++ b/sass/layout/_sidebar.scss @@ -0,0 +1,775 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +#site-sidebar { + display: flex; + position: sticky; + grid-area: sidebar; + flex-direction: column; + z-index: 3; + transition-duration: var(--transition); + transition-property: + visibility, transform, inset-block-start, box-shadow, border-inline-end, + border-start-end-radius, border-end-end-radius, height; + inset-block-start: 0; + inset-inline-start: 0; + border-inline-end: rpx(1) solid var(--bg-muted-2); + width: var(--sidebar-width); + height: 100vh; + + @supports (height: 100dvh) { + height: 100dvh; + } + + @media only screen and (max-width: 960px) { + transform: translateX(-100%); + visibility: hidden; + inset-block-start: 3.25rem; + box-shadow: var(--edge-highlight), var(--shadow); + border-inline-end: 0 solid transparent; + border-start-end-radius: var(--rounded-corner); + border-end-end-radius: var(--rounded-corner); + height: calc(100vh - 3.75rem); + + :root[dir*="rtl"] & { + transform: translateX(100%); + } + + @supports (height: 100dvh) { + height: calc(100dvh - 3.75rem); + } + + #site-header:has(#expand-sidebar:checked) ~ & { + transform: none; + visibility: visible; + backdrop-filter: var(--blur); + -webkit-backdrop-filter: var(--blur); + background-color: var(--glass-bg-1); + } + } + + &-content { + display: flex; + position: relative; + flex: 1; + overflow: hidden; + } +} + +#site-sidebar-header { + display: flex; + align-items: center; + transform-origin: rpx(22) 50%; + transition: + box-shadow var(--transition), + background-color var(--transition), + color var(--transition), + transform var(--transition-bezier); + margin: 1rem; + margin-block-end: 0; + border-radius: 1.375rem; + padding: 0.25rem; + padding-inline-end: 0.75rem; + min-width: 0; + color: var(--fg-muted-1); + text-decoration: none; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--fg-muted-2); + + .icon { + background-color: var(--bg-muted-2); + } + } + + &:active { + transform: var(--active); + } + + img { + margin: 0; + } + + img, + .icon { + margin-inline-end: 0.5rem; + border-radius: 50%; + } + + img { + width: 2.25rem; + height: 2.25rem; + } + + .icon { + transition: background-color var(--transition); + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + padding: 0.5rem; + font-size: 1.25rem; + } + + div { + display: flex; + flex: 1; + flex-direction: column; + gap: 0.125rem; + min-width: 0; + line-height: 1.25; + + span:nth-of-type(1) { + overflow: hidden; + font-size: var(--font-size-small); + text-overflow: ellipsis; + white-space: nowrap; + } + + span:nth-of-type(2) { + font-weight: var(--font-weight-normal); + font-size: var(--font-size-x-small); + } + } +} + +#sidebar-nav, +#sidebar-meta { + display: flex; + flex: 1; + flex-direction: column; + transition: + visibility var(--transition), + opacity var(--transition), + filter var(--transition), + transform var(--transition-bezier); + padding: 1rem; + width: var(--sidebar-width); + min-width: 100%; + overflow: hidden auto; + scrollbar-width: thin; +} + +#site-header:has(#site-sidebar-modes #mode-meta:checked) + #site-sidebar { + #sidebar-nav { + transform: perspective(var(--content-width)) rotateY(15deg); + opacity: var(--disabled-opacity); + filter: blur(0.25rem); + } + + #sidebar-meta { + transform: perspective(var(--content-width)); + visibility: visible; + opacity: 1; + filter: none; + } +} + +#sidebar-nav { + transform: perspective(var(--content-width)); + transform-origin: left; + + :root[dir*="rtl"] & { + transform-origin: right; + } + + a { + display: flex; + flex: 1; + align-items: center; + transform-origin: rpx(22) 50%; + transition: + box-shadow var(--transition), + background-color var(--transition), + color var(--transition), + transform var(--transition-bezier); + border-radius: 1.375rem; + padding: 0.25rem; + padding-inline-end: 0.75rem; + overflow: hidden; + color: var(--fg-muted-1); + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + + &:hover { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--fg-muted-2); + + .icon { + background-color: var(--bg-muted-2); + } + } + + &:active { + transform: var(--active); + } + + &[aria-current="page"] { + box-shadow: var(--edge-highlight); + background-color: var(--bg-muted-1); + color: var(--accent-color); + + .icon { + @include gradient-fill; + text-shadow: none; + } + + &:hover { + background-color: var(--bg-muted-2); + + .icon { + @include gradient-fill(hover); + } + } + } + + &.new .icon { + position: relative; + + &::after { + position: absolute; + inset-block-start: rpx(1); + inset-inline-end: rpx(1); + border-radius: 50%; + background-color: var(--accent-color); + width: 0.75rem; + height: 0.75rem; + content: ""; + } + } + } + + .icon { + transition: + background-color var(--transition), + color var(--transition), + box-shadow var(--transition); + margin-inline-end: 0.5rem; + box-shadow: var(--edge-highlight); + border-radius: 50%; + background-color: var(--bg-muted-1); + padding: 0.5rem; + font-size: 1.25rem; + + &.fallback { + width: 1.25rem; + font-weight: var(--font-weight-semi-bold); + font-size: var(--font-size-medium); + line-height: 1.25rem; + font-family: var(--font-monospace); + text-align: center; + + &::before { + content: none; + } + } + } + + details { + flex: 1; + margin-block-end: 0; + box-shadow: none; + border-radius: 0; + background-color: transparent; + padding: 0; + + &[open] { + summary { + transform: none; + opacity: 1; + box-shadow: none; + background-color: transparent; + + &::before { + transform: none; + } + + @supports not (block-size: calc-size(auto, size)) { + & ~ * { + animation: none; + } + } + } + } + + summary { + display: flex; + position: relative; + align-items: center; + border-radius: 0; + padding: 0.75rem 0; + color: var(--fg-muted-1); + font-weight: var(--font-weight-normal); + font-size: var(--font-size-small); + line-height: var(--font-size-small); + white-space: nowrap; + + &:hover { + box-shadow: none; + background-color: transparent; + } + + &:active { + transform: none; + } + + &::before { + position: absolute; + transform: rotate(-90deg); + transition: transform var(--transition-bezier); + margin-inline-end: 0; + inset-block: 0.5rem; + inset-inline-end: 0; + font-size: 1rem; + } + + .line { + flex: 1; + margin-inline: 0.5rem 1.5rem; + background-color: var(--bg-muted-2); + height: rpx(1); + } + } + + ul { + margin-block: 0; + } + } + + ul { + display: flex; + flex-direction: column; + gap: 0.25rem; + margin-block: auto; + padding-inline-start: 0; + list-style: none; + } + + li { + display: flex; + transition: width var(--transition); + margin-block: 0; + padding-inline-start: 0; + width: 100%; + } +} + +#sidebar-meta { + position: absolute; + transform: perspective(var(--content-width)) rotateY(-30deg); + transform-origin: left; + visibility: hidden; + opacity: 0; + filter: blur(0.25rem); + inset: 0; + + :root[dir*="rtl"] & { + transform-origin: right; + } + + &:has(> div:empty) { + .status-page { + display: flex; + } + + & > div { + display: none; + } + } + + & > div { + display: flex; + flex-direction: column; + gap: 1rem; + margin-block: auto; + } + + .card { + background-color: var(--glass-bg-1); + } + + .while-writing { + display: inherit; + position: relative; + flex-direction: inherit; + gap: inherit; + margin: calc(-0.25rem - rpx(1)); + margin-block-start: 1rem; + border: rpx(1) solid var(--bg-muted-2); + border-block-start: none; + border-end-start-radius: calc(var(--rounded-corner) + 0.25rem + #{rpx(1)}); + border-end-end-radius: calc(var(--rounded-corner) + 0.25rem + #{rpx(1)}); + padding: 0.25rem; + + .card-title { + display: flex; + position: absolute; + gap: 0.25rem; + inset-block-start: calc(var(--rounded-corner-small) * -1); + inset-inline: rpx(-1); + height: var(--rounded-corner-small); + + .line { + border: rpx(1) solid var(--bg-muted-2); + border-block-end: none; + } + + .line:nth-of-type(1) { + border-inline-end: none; + border-start-start-radius: var(--rounded-corner); + width: var(--rounded-corner); + } + + .line:nth-of-type(2) { + flex: 1; + border-inline-start: none; + border-start-end-radius: var(--rounded-corner); + } + + .title { + color: var(--fg-muted-2); + font-size: var(--font-size-small); + line-height: 0; + } + } + } + + .weather { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + border-radius: 1.375rem; + padding: 0.25rem; + padding-inline-end: 1.25rem; + line-height: 1; + + &.cloudy { + animation: perlin 12s linear infinite; + background-image: url("/weather/perlin.png"); + + @media (prefers-color-scheme: dark) { + background-image: url("/weather/perlin-dark.png"); + } + } + + &.showers { + animation: rain 3s linear infinite; + background-image: url("/weather/rain.svg"); + + @media (prefers-color-scheme: dark) { + background-image: url("/weather/rain-dark.svg"); + } + } + + &.snowing { + animation: snow 12s linear infinite; + background-image: url("/weather/snow.svg"); + + @media (prefers-color-scheme: dark) { + background-image: url("/weather/snow-dark.svg"); + } + } + + div { + display: flex; + align-items: center; + gap: 0.5rem; + } + + .title { + color: inherit; + font-size: var(--font-size-medium); + } + + .icon { + box-shadow: var(--edge-highlight); + border-radius: 50%; + background-color: var(--bg-muted-1); + padding: 0.5rem; + font-size: 1.25rem; + } + + .condition { + color: var(--fg-muted-2); + font-size: var(--font-size-small); + } + + @keyframes rain { + to { + background-position: 256px 320px; + } + } + + @keyframes perlin { + to { + background-position: -256px -64px; + } + } + + @keyframes snow { + to { + background-position: 256px 512px; + } + } + } + + .music { + display: flex; + position: relative; + flex-direction: column; + gap: 0.5rem; + border-radius: 1rem; + + &::after { + position: absolute; + z-index: 1; + inset: 0; + box-shadow: var(--edge-highlight); + border-radius: inherit; + max-height: 5rem; + pointer-events: none; + content: ""; + } + + .carousel { + scroll-snap-type: x mandatory; + -webkit-overflow-scrolling: touch; + display: flex; + margin-block: 0; + box-shadow: var(--shadow); + border-radius: inherit; + background-color: var(--glass-bg-1); + padding-inline-start: 0; + overflow-x: auto; + scroll-behavior: smooth; + scrollbar-width: none; + list-style: none; + + li { + display: flex; + position: relative; + flex-shrink: 0; + gap: 1rem; + margin-block: 0; + outline: none; + padding: 0.5rem; + width: 100%; + overflow: hidden; + scroll-snap-align: start; + + &.has-cover { + animation: cover-alternate 60s ease-in-out infinite; + background-image: var(--bg-overlay), var(--blurnail); + background-position: center; + background-size: 2000%; + + @keyframes cover-alternate { + // X 100% + // Y ┌─────────────┐ + // │ 1,9 │ + // │ 8 2 │ + // │ 3,7 │ + // │ 6 4 │ + // │ 5 │ + // 100% └─────────────┘ + + from { + background-position: 50% 0%; + } + + 12.5% { + background-position: 100% 25%; + } + + 25% { + background-position: 50% 50%; + } + + 37.5% { + background-position: 100% 75%; + } + + 50% { + background-position: 50% 100%; + } + + 62.5% { + background-position: 0% 75%; + } + + 75% { + background-position: 50% 50%; + } + + 87.5% { + background-position: 0% 25%; + } + + to { + background-position: 50% 0%; + } + } + + .music-type { + color: var(--fg-muted-neutral-1); + } + + .music-artist { + color: var(--fg-muted-neutral-2); + } + } + + & > div { + display: flex; + flex: 1; + flex-direction: column; + justify-content: space-between; + gap: 0.25rem; + margin-inline-end: 0.5rem; + margin-block: 0.25rem; + min-width: 0; + min-width: 0; + line-height: 1; + } + + a { + position: absolute; + z-index: 1; + inset: 0; + border-radius: inherit; + } + } + } + + .music-type { + color: var(--fg-muted-1); + font-size: var(--font-size-xx-small); + } + + .music-artist { + color: var(--fg-muted-2); + font-size: var(--font-size-small); + } + + .title { + color: var(--fg-color); + font-size: var(--font-size-medium); + } + + img { + margin: 0; + border-radius: var(--rounded-corner-small); + } + + &-paginator { + display: flex; + justify-content: center; + gap: 0.25rem; + margin-inline: 1rem; + margin-block: 0; + padding-inline-start: 0; + list-style: none; + + li { + display: flex; + margin-block: 0; + padding-inline-start: 0; + height: 0.75rem; + } + + a { + transition: + width var(--transition), + height var(--transition), + background-color var(--transition), + transform var(--transition-bezier); + margin-block: auto; + border-radius: 0.375rem; + background-color: var(--fg-muted-1); + width: 1.5rem; + height: 0.375rem; + + &:hover { + background-color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + + &.active { + background-color: var(--fg-color); + width: 0.75rem; + height: 0.75rem; + } + } + } + } + + .toc { + display: flex; + flex-direction: column; + max-height: calc(var(--content-width) / 3); + + @media only screen and (max-width: 720px) { + max-height: calc(var(--content-width) / 2); + } + + .title { + margin-block-end: 1rem; + } + + .overshoot { + flex: 1; + margin: -1rem; + padding: 1rem; + overflow: auto; + scrollbar-width: thin; + + ul { + margin-block: 0; + padding-inline-start: 1rem; + color: var(--fg-muted-1); + font-size: var(--font-size-small); + } + + li { + margin-block: 0; + padding-inline-start: 0; + + &::marker { + color: inherit; + } + } + + a { + color: inherit; + text-decoration: none; + } + } + } + + .status-page { + display: none; + margin-block: auto; + text-align: center; + + .title, + p { + color: var(--fg-muted-2); + } + + .icon { + margin-inline: auto; + color: var(--fg-muted-1); + font-size: 3rem; + } + + p { + margin-block: 0; + } + } +} diff --git a/sass/mods/_compact-sidebar.scss b/sass/mods/_compact-sidebar.scss new file mode 100644 index 0000000..3169af3 --- /dev/null +++ b/sass/mods/_compact-sidebar.scss @@ -0,0 +1,44 @@ +@use "../citrine/abstracts/functions" as *; +@use "../citrine/abstracts/mixins" as *; + +#site-sidebar-header { + transform-origin: rpx(18) 50%; + border-radius: var(--rounded-corner); + + img, + .icon { + border-radius: var(--rounded-corner-small); + } + + img { + width: 2rem; + height: 2rem; + } + + .icon { + padding: 0.375rem; + } + + div { + gap: 0; + line-height: 1.125; + } +} + +#sidebar-nav { + a { + transform-origin: rpx(18) 50%; + border-radius: var(--rounded-corner); + padding: 0.25rem; + + &.new .icon::after { + inset-block-start: rpx(-2); + inset-inline-end: rpx(-2); + } + } + + .icon { + border-radius: var(--rounded-corner-small); + padding: 0.375rem; + } +} diff --git a/sass/mods/_flat.scss b/sass/mods/_flat.scss new file mode 100644 index 0000000..92e04da --- /dev/null +++ b/sass/mods/_flat.scss @@ -0,0 +1,27 @@ +@use "../citrine/abstracts/functions" as *; + +:root { + --color-opacity-1: 0.15; + --color-opacity-2: 0.25; + --edge-highlight: 0 0 0 transparent; + --shadow: 0 0 0 transparent; + --shadow-raised: 0 0 0 transparent; + --shadow-glass: 0 0 0 transparent; + --shadow-glow: 0 0 0 transparent; +} + +.buttons .suggested, +#site-nav a.active .icon { + box-shadow: none; + background-image: none; + background-color: var(--accent-color); + text-shadow: none; +} + +.buttons .suggested:hover { + opacity: var(--dim-opacity); +} + +.crt { + outline: rpx(1) solid var(--bg-muted-2); +} diff --git a/sass/mods/_pill-tags.scss b/sass/mods/_pill-tags.scss new file mode 100644 index 0000000..37985cf --- /dev/null +++ b/sass/mods/_pill-tags.scss @@ -0,0 +1,27 @@ +@use "../citrine/abstracts/mixins" as *; + +.article-details .tags { + gap: 0.25rem; + margin-block-end: 0 !important; + + a { + @include chip; + display: flex; + color: var(--fg-muted-1); + font-weight: var(--font-weight-semi-bold); + line-height: 1.5rem; + + &:hover { + background-color: var(--bg-muted-2); + color: var(--fg-muted-2); + } + + &:active { + transform: var(--active); + } + + &::before { + content: none; + } + } +} diff --git a/sass/mods/_skeuomorphic.scss b/sass/mods/_skeuomorphic.scss new file mode 100644 index 0000000..7b382ea --- /dev/null +++ b/sass/mods/_skeuomorphic.scss @@ -0,0 +1,30 @@ +// UNFINISHED, AND LIKELY WILL NEVER BE +@use "../citrine/abstracts/functions" as *; + +#site-nav { + a, + label, + button, + summary { + outline: rpx(1) solid var(--bg-muted-2); + box-shadow: var(--edge-highlight), var(--shadow); + background-image: linear-gradient( + to bottom, + var(--bg-muted-2), + var(--bg-muted-1) 50%, + transparent 50%, + var(--bg-muted-2) + ); + + .icon { + background-image: conic-gradient( + var(--bg-muted-2), + var(--bg-muted-1) 33%, + transparent, + var(--bg-muted-2) 66%, + transparent, + var(--bg-muted-2) + ); + } + } +} diff --git a/sass/style.scss b/sass/style.scss new file mode 100644 index 0000000..2288edd --- /dev/null +++ b/sass/style.scss @@ -0,0 +1,40 @@ +/* +* Ametrine v0.1.0-alpha (https://ametrine.daudix.one) +* Copyright 2025 David "Daudix" Lapshin and contributors +* Licensed under MIT (https://codeberg.org/daudix/ametrine/raw/branch/main/LICENSE.txt) +*/ + +@use "layout/footer"; +@use "layout/full-bleed"; +@use "layout/grid"; +@use "layout/header"; +@use "layout/main-content"; +@use "layout/sidebar"; + +@use "components/alerts"; +@use "components/article-details"; +@use "components/article-list"; +@use "components/article-nav"; +@use "components/audio"; +@use "components/banner"; +@use "components/comments"; +@use "components/emoji"; +@use "components/footnotes"; +@use "components/giallo"; +@use "components/icon"; +@use "components/iframe"; +@use "components/marquee"; +@use "components/not-found"; +@use "components/pre-container"; +@use "components/search-modal"; +@use "components/skip-to-content"; +@use "components/statements"; +@use "components/tag-chips"; +@use "components/zola-anchor"; +@use "components/zola-error"; + +// Mods +// @use "mods/compact-sidebar"; +// @use "mods/flat"; +// @use "mods/pill-tags"; +// @use "mods/skeuomorphic"; // UNFINISHED, AND LIKELY WILL NEVER BE diff --git a/scripts/audio-button.js b/scripts/audio-button.js new file mode 100644 index 0000000..e76d3fc --- /dev/null +++ b/scripts/audio-button.js @@ -0,0 +1,9 @@ +const audioButtons = document.querySelectorAll(".audio"); + +audioButtons.forEach((button) => { + button.addEventListener("click", (event) => playAudio(button.dataset.audio)); +}); + +function playAudio(url) { + new Audio(url).play(); +} diff --git a/scripts/closable.js b/scripts/closable.js new file mode 100644 index 0000000..a28774c --- /dev/null +++ b/scripts/closable.js @@ -0,0 +1,34 @@ +const closable = document.querySelectorAll("details.closable"); + +closable.forEach((detail) => { + detail.addEventListener("toggle", () => { + if (detail.open) setTargetDetail(detail); + }); +}); + +function setTargetDetail(targetDetail) { + closable.forEach((detail) => { + if (detail !== targetDetail) { + detail.open = false; + } + }); +} + +document.addEventListener("click", function (event) { + const isClickInsideDetail = [...closable].some((detail) => + detail.contains(event.target), + ); + + if (!isClickInsideDetail) { + closable.forEach((detail) => { + detail.open = false; + }); + } +}); + +const expandSidebar = document.getElementById("expand-sidebar"); +const mainContent = document.getElementById("main-content"); + +mainContent.addEventListener("click", () => { + if (expandSidebar.checked) expandSidebar.checked = false; +}); diff --git a/scripts/deanchor.js b/scripts/deanchor.js new file mode 100644 index 0000000..94fbee5 --- /dev/null +++ b/scripts/deanchor.js @@ -0,0 +1,10 @@ +const main = document.querySelector("#main-content"); + +main.addEventListener("animationend", () => { + const hash = decodeURIComponent(location.hash); + if ( + ["#↑", "#↓", "#←", "#→", "#up", "#down", "#left", "#right"].includes(hash) + ) { + history.replaceState(null, "", " "); + } +}); diff --git a/scripts/fuse.js b/scripts/fuse.js new file mode 100644 index 0000000..4357f5a --- /dev/null +++ b/scripts/fuse.js @@ -0,0 +1,9 @@ +/** + * Fuse.js v7.2.0 - Lightweight fuzzy-search (http://fusejs.io) + * + * Copyright (c) 2026 Kiro Risk (http://kiro.me) + * All Rights Reserved. Apache Software License 2.0 + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?j.getFn:n,u=t.fieldNormWeight,o=void 0===u?j.fieldNormWeight:u;r(this,e),this.norm=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(L).length;if(n.has(i))return n.get(i);var u=1/Math.pow(i,.5*e),o=parseFloat(Math.round(u*r)/r);return n.set(i,o),o},clear:function(){n.clear()}}}(o,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return u(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,A(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();A(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t=0;t-=1)this.records.splice(e[t],1);for(var n=0,r=this.records.length;n2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?j.getFn:r,u=n.fieldNormWeight,o=void 0===u?j.fieldNormWeight:u,c=new I({getFn:i,fieldNormWeight:o});return c.setKeys(e.map(_)),c.setSources(t),c.create(),c}var $=32;function R(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,u=void 0===i?j.location:i,o=r.distance,c=void 0===o?j.distance:o,s=r.threshold,a=void 0===s?j.threshold:s,h=r.findAllMatches,l=void 0===h?j.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?j.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?j.includeMatches:v,y=r.ignoreLocation,p=void 0===y?j.ignoreLocation:y;if(t.length>$)throw new Error("Pattern length exceeds max of ".concat($,"."));for(var A,m=t.length,C=e.length,k=Math.max(0,Math.min(u,C)),F=a,b=k,M=function(e,t){var n=e/m;if(p)return n;var r=Math.abs(k-t);return c?n+r/c:r?1:n},E=d>1||g,D=E?Array(C):[];(A=e.indexOf(t,b))>-1;){var B=M(0,A);if(F=Math.min(B,F),b=A+m,E)for(var x=0;x=R;z-=1){var T=z-1,K=n[e[T]];if(E&&(D[T]=+!!K),W[z]=(W[z+1]<<1|1)&K,L&&(W[z]|=(_[z+1]|_[z])<<1|1|_[z+1]),W[z]&O&&(S=M(L,T))<=F){if(F=S,(b=T)<=k)break;R=Math.max(1,2*k-b)}}if(M(L+1,k)>F)break;_=W}var U={isMatch:b>=0,score:Math.max(.001,S)};if(E){var q=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:j.minMatchCharLength,n=[],r=-1,i=-1,u=0,o=e.length;u=t&&n.push([r,i]),r=-1)}return e[u-1]&&u-r>=t&&n.push([r,u-1]),n}(D,d);q.length?g&&(U.indices=q):U.isMatch=!1}return U}function P(e){for(var t={},n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{},u=i.location,o=void 0===u?j.location:u,c=i.threshold,s=void 0===c?j.threshold:c,a=i.distance,h=void 0===a?j.distance:a,l=i.includeMatches,f=void 0===l?j.includeMatches:l,d=i.findAllMatches,v=void 0===d?j.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?j.minMatchCharLength:g,p=i.isCaseSensitive,A=void 0===p?j.isCaseSensitive:p,m=i.ignoreDiacritics,C=void 0===m?j.ignoreDiacritics:m,k=i.ignoreLocation,F=void 0===k?j.ignoreLocation:k;if(r(this,e),this.options={location:o,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:A,ignoreDiacritics:C,ignoreLocation:F},t=A?t:t.toLowerCase(),t=C?W(t):t,this.pattern=t,this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:P(e),startIndex:t})},M=this.pattern.length;if(M>$){for(var E=0,D=M%$,B=M-D;E1&&void 0!==arguments[1]?arguments[1]:{},o=u.location,c=void 0===o?j.location:o,s=u.threshold,a=void 0===s?j.threshold:s,h=u.distance,l=void 0===h?j.distance:h,f=u.includeMatches,d=void 0===f?j.includeMatches:f,v=u.findAllMatches,g=void 0===v?j.findAllMatches:v,y=u.minMatchCharLength,p=void 0===y?j.minMatchCharLength:y,A=u.isCaseSensitive,m=void 0===A?j.isCaseSensitive:A,C=u.ignoreDiacritics,k=void 0===C?j.ignoreDiacritics:C,F=u.ignoreLocation,b=void 0===F?j.ignoreLocation:F;return r(this,n),(i=t.call(this,e))._bitapSearch=new z(e,{location:c,threshold:a,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:m,ignoreDiacritics:k,ignoreLocation:b}),i}return u(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(T),X=function(e){c(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return u(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var u=!!r.length;return{isMatch:u,score:u?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(T),Y=[U,X,J,Q,G,V,q,H],Z=Y.length,ee=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,te=new Set([H.type,X.type]),ne=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,u=void 0===i?j.isCaseSensitive:i,o=n.ignoreDiacritics,c=void 0===o?j.ignoreDiacritics:o,s=n.includeMatches,a=void 0===s?j.includeMatches:s,h=n.minMatchCharLength,l=void 0===h?j.minMatchCharLength:h,f=n.ignoreLocation,d=void 0===f?j.ignoreLocation:f,v=n.findAllMatches,g=void 0===v?j.findAllMatches:v,y=n.location,p=void 0===y?j.location:y,A=n.threshold,m=void 0===A?j.threshold:A,C=n.distance,k=void 0===C?j.distance:C;r(this,e),this.query=null,this.options={isCaseSensitive:u,ignoreDiacritics:c,includeMatches:a,minMatchCharLength:l,findAllMatches:g,ignoreLocation:d,location:p,threshold:m,distance:k},t=u?t:t.toLowerCase(),t=c?W(t):t,this.pattern=t,this.query=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ee).filter((function(e){return e&&!!e.trim()})),r=[],i=0,u=n.length;i2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n;return he(e)||(e=le(e)),function e(n){var i=Object.keys(n),u=function(e){return!!e[se]}(n);if(!u&&i.length>1&&!he(n))return e(le(n));if(function(e){return!g(e)&&k(e)&&!he(e)}(n)){var o=u?n[se]:i[0],c=u?n[ae]:n[o];if(!A(c))throw new Error(function(e){return"Invalid value for key ".concat(e)}(o));var s={keyId:w(o),pattern:c};return r&&(s.searcher=ue(c,t)),s}var a={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];g(r)&&r.forEach((function(t){a.children.push(e(t))}))})),a}(e)}function de(e,t){var n=t.ignoreFieldNorm,r=void 0===n?j.ignoreFieldNorm:n,i=1;e.matches.forEach((function(e){var t=e.key,n=e.norm,u=e.score,o=t?t.weight:null;i*=Math.pow(0===u&&o?Number.EPSILON:u,(o||1)*(r?1:n))})),e.score=i}var ve=function(){function e(t){r(this,e),this.limit=t,this.heap=[]}return u(e,[{key:"size",get:function(){return this.heap.length}},{key:"shouldInsert",value:function(e){return this.size0;){var n=e-1>>1;if(t[e].score<=t[n].score)break;var r=t[e];t[e]=t[n],t[n]=r,e=n}}},{key:"_sinkDown",value:function(e){var t=this.heap,n=t.length,r=e;do{var i=2*(e=r)+1,u=2*e+2;if(it[r].score&&(r=i),ut[r].score&&(r=u),r!==e){var o=t[e];t[e]=t[r],t[r]=o}}while(r!==e)}}]),e}();function ge(e,t){var n=e.matches;t.matches=[],F(n)&&n.forEach((function(e){if(F(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function ye(e,t){t.score=e.score}var pe=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},j),i),this.options.useExtendedSearch,this._keyStore=new x(this.options.keys),this.setCollection(n,u),this._lastQuery=null,this._lastSearcher=null}return u(e,[{key:"_getSearcher",value:function(e){if(this._lastQuery===e)return this._lastSearcher;var t=ue(e,this.options);return this._lastQuery=e,this._lastSearcher=t,t}},{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof I))throw new Error("Incorrect 'index' type");this._myIndex=t||N(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){F(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=[],r=0,i=this._docs.length;r=0;u-=1)this._docs.splice(n[u],1);this._myIndex.removeAll(n)}return t}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).limit,r=void 0===n?-1:n,i=this.options,u=i.includeMatches,o=i.includeScore,c=i.shouldSort,s=i.sortFn,a=i.ignoreFieldNorm;if(m(r)&&r>0&&A(e)){var h=new ve(r);A(this._docs[0])?this._searchStringList(e,{heap:h,ignoreFieldNorm:a}):this._searchObjectList(e,{heap:h,ignoreFieldNorm:a}),t=h.extractSorted(s)}else(function(e,t){var n=t.ignoreFieldNorm,r=void 0===n?j.ignoreFieldNorm:n;e.forEach((function(e){de(e,{ignoreFieldNorm:r})}))})(t=A(e)?A(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),{ignoreFieldNorm:a}),c&&t.sort(s),m(r)&&r>-1&&(t=t.slice(0,r));return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?j.includeMatches:r,u=n.includeScore,o=void 0===u?j.includeScore:u,c=[];return i&&c.push(ge),o&&c.push(ye),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return c.length&&c.forEach((function(t){t(e,r)})),r}))}(t,this._docs,{includeMatches:u,includeScore:o})}},{key:"_searchStringList",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.heap,r=t.ignoreFieldNorm,i=this._getSearcher(e),u=this._myIndex.records,o=n?null:[];return u.forEach((function(e){var t=e.v,u=e.i,c=e.n;if(F(t)){var s=i.searchIn(t),a=s.isMatch,h=s.score,l=s.indices;if(a){var f={item:t,idx:u,matches:[{score:h,value:t,norm:c,indices:l}]};n?(de(f,{ignoreFieldNorm:r}),n.shouldInsert(f.score)&&n.insert(f)):o.push(f)}}})),o}},{key:"_searchLogical",value:function(e){var t=this,n=fe(e,this.options),r=function e(n,r,i){if(!n.children){var u=n.keyId,o=n.searcher,c=t._findMatches({key:t._keyStore.get(u),value:t._myIndex.getValueForItemAtKeyId(r,u),searcher:o});return c&&c.length?[{idx:i,item:r,matches:c}]:[]}for(var s=[],a=0,h=n.children.length;a1&&void 0!==arguments[1]?arguments[1]:{},r=n.heap,i=n.ignoreFieldNorm,u=this._getSearcher(e),o=this._myIndex,c=o.keys,s=o.records,a=r?null:[];return s.forEach((function(e){var n=e.$,o=e.i;if(F(n)){var s=[];if(c.forEach((function(e,r){s.push.apply(s,f(t._findMatches({key:e,value:n[r],searcher:u})))})),s.length){var h={idx:o,item:n,matches:s};r?(de(h,{ignoreFieldNorm:i}),r.shouldInsert(h.score)&&r.insert(h)):a.push(h)}}})),a}},{key:"_findMatches",value:function(e){var t=e.key,n=e.value,r=e.searcher;if(!F(n))return[];var i=[];if(g(n))n.forEach((function(e){var n=e.v,u=e.i,o=e.n;if(F(n)){var c=r.searchIn(n),s=c.isMatch,a=c.score,h=c.indices;s&&i.push({score:a,key:t,value:n,idx:u,norm:o,indices:h})}}));else{var u=n.v,o=n.n,c=r.searchIn(u),s=c.isMatch,a=c.score,h=c.indices;s&&i.push({score:a,key:t,value:u,norm:o,indices:h})}return i}}]),e}();return pe.version="7.2.0",pe.createIndex=N,pe.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?j.getFn:n,i=t.fieldNormWeight,u=void 0===i?j.fieldNormWeight:i,o=e.keys,c=e.records,s=new I({getFn:r,fieldNormWeight:u});return s.setKeys(o),s.setIndexRecords(c),s},pe.config=j,ie(ne),pe.use=function(){for(var e=arguments.length,t=new Array(e),n=0;n { + const text = container.firstElementChild; + if (!text) return; + + const style = getComputedStyle(container); + const paddingLeft = parseFloat(style.paddingLeft); + const paddingRight = parseFloat(style.paddingRight); + + const containerInnerWidth = + container.clientWidth - paddingLeft - paddingRight; + + const textWidth = text.offsetWidth; + + text.style.setProperty("--text-width", `${textWidth}`); + text.style.setProperty("--container-width", `${containerInnerWidth}`); + + container.classList.toggle( + "overshoot-row", + textWidth > containerInnerWidth, + ); + }); +} + +window.addEventListener("load", updateMarquees); +window.addEventListener("resize", updateMarquees); diff --git a/scripts/paginator.js b/scripts/paginator.js new file mode 100644 index 0000000..334f85e --- /dev/null +++ b/scripts/paginator.js @@ -0,0 +1,23 @@ +const carousel = document.querySelector(".music .carousel"); +const items = document.querySelectorAll(".music .carousel > li"); +const links = document.querySelectorAll(".music-paginator li a"); + +const observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + links.forEach((a) => a.classList.remove("active")); + const active = document.querySelector( + `.music-paginator a[href="#${entry.target.id}"]`, + ); + active?.classList.add("active"); + } + }); + }, + { + root: carousel, + threshold: 0.6, + }, +); + +items.forEach((item) => observer.observe(item)); diff --git a/scripts/search-fuse.js b/scripts/search-fuse.js new file mode 100644 index 0000000..df56e7d --- /dev/null +++ b/scripts/search-fuse.js @@ -0,0 +1,178 @@ +// Based on https://codeberg.org/daudix/duckquill/issues/101#issuecomment-2377169 +let searchSetup = false; +let fuse; + +async function initIndex() { + if (searchSetup) return; + + let data; + if (typeof window.searchIndex !== "undefined") { + data = window.searchIndex; + } else { + const response = await fetch( + `/search_index.${document.documentElement.lang}.json`, + ); + if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); + data = await response.json(); + } + + const options = { + includeScore: false, + includeMatches: true, + ignoreLocation: true, + threshold: 0.15, + keys: [ + { name: "title", weight: 3 }, + { name: "description", weight: 2 }, + { name: "body", weight: 1 }, + ], + }; + + fuse = new Fuse(data, options); + searchSetup = true; + + console.log("Search index initialized successfully"); +} + +function debounce(actual_fn, wait) { + let timeoutId; + + return (...args) => { + clearTimeout(timeoutId); + + timeoutId = setTimeout(() => { + actual_fn(...args); + }, wait); + }; +} + +function initSearch() { + const searchModal = document.getElementById("search-modal"); // Full-screen modal + const searchModalContent = document.getElementById("search-modal-content"); // Actual modal box + const searchInput = document.getElementById("search-input"); // Search input + const searchResults = document.getElementById("search-results"); // Search results + const searchButton = document.getElementById("search"); // Search button + const MAX_ITEMS = 10; + const MAX_RESULTS = 4; + + let currentTerm = ""; + + // Open search modal when clicking the search button + if (searchButton) { + searchButton.addEventListener("click", function () { + searchModal.classList.add("active"); + initIndex(); + searchModal.addEventListener( + "transitionend", + function handler() { + searchInput.focus(); + searchModal.removeEventListener("transitionend", handler); + }, + { once: true }, + ); + }); + } + + // Open search modal on "/" key press + window.addEventListener("keydown", (event) => { + if ( + event.key === "/" && + document.activeElement.tagName !== "INPUT" && + document.activeElement.tagName !== "TEXTAREA" + ) { + event.preventDefault(); + initIndex(); + searchModal.classList.add("active"); + searchModal.addEventListener( + "transitionend", + function handler() { + searchInput.focus(); + searchModal.removeEventListener("transitionend", handler); + }, + { once: true }, + ); + } + }); + + // Close search modal on Escape key + window.addEventListener("keydown", (event) => { + if (event.key === "Escape") { + searchModal.classList.remove("active"); + } + }); + + // Close search modal when clicking outside search-modal-content + searchModal.addEventListener("click", function (e) { + if (!searchModalContent.contains(e.target)) { + searchModal.classList.remove("active"); + } + }); + + // Prevent clicks inside modal content from closing it + searchModalContent.addEventListener("click", function (e) { + e.stopPropagation(); // Stops event from reaching searchModal click handler + }); + + // Search input event + searchInput.addEventListener( + "keyup", + debounce(async function () { + var term = searchInput.value.trim(); + if (term === currentTerm) return; + + searchResults.style.display = term === "" ? "none" : "flex"; + searchResults.innerHTML = ""; // Clear previous results + currentTerm = term; + if (term === "") return; + + await initIndex(); + var results = fuse.search(term, { limit: MAX_ITEMS }); + if (results.length === 0) { + searchResults.style.display = "none"; + return; + } + + // Insert formatted search result items + for (const result of results) { + searchResults.innerHTML += makeTeaser(result, term); + } + }, 150), + ); + + function makeTeaser(result, searchVal) { + const TEASER_SIZE = 20; + let output = `"; + } +} + +if ( + document.readyState === "complete" || + (document.readyState !== "loading" && !document.documentElement.doScroll) +) { + initSearch(); +} else { + document.addEventListener("DOMContentLoaded", initSearch); +} diff --git a/styles/ametrine.css b/styles/ametrine.css new file mode 100644 index 0000000..2a20007 --- /dev/null +++ b/styles/ametrine.css @@ -0,0 +1 @@ +:root{--font-sans-serif: "Commissioner";--font-monospace: "Commit Mono"}@font-face{font-style:normal;font-weight:100 900;src:url("/fonts/commissioner.woff2?v=1.012.1") format("woff2");font-family:"Commissioner";font-display:swap;ascent-override:96.3%;descent-override:25%}@font-face{font-style:italic;font-weight:100 900;src:url("/fonts/commissioner.woff2?v=1.012.1") format("woff2");font-family:"Commissioner";font-display:swap;font-variation-settings:"slnt" -12;ascent-override:96.3%;descent-override:25%}@font-face{font-style:normal;font-weight:100 900;src:url("/fonts/commit-mono.woff2?v=1.143") format("woff2");font-family:"Commit Mono";font-display:swap}@font-face{font-style:italic;font-weight:100 900;src:url("/fonts/commit-mono.woff2?v=1.143") format("woff2");font-family:"Commit Mono";font-display:swap;font-variation-settings:"ital" 1}:root{--bg-overlay: linear-gradient( rgba(255, 255, 255, var(--dim-opacity)), rgba(255, 255, 255, var(--dim-opacity)) );--fg-color: #29242a;--fg-contrast: #fcfcfa;--red-fg: hsl(342.0779, 72%, 58%);--red-h: 342.0779;--red-s: 72%;--red-l: 58%;--orange-fg: hsl(15.771428, 74%, 54%);--orange-h: 15.771428;--orange-s: 74%;--orange-l: 54%;--yellow-fg: hsl(34.639175, 91%, 42%);--yellow-h: 34.639175;--yellow-s: 91%;--yellow-l: 42%;--green-fg: hsl(153.7815, 61%, 38%);--green-h: 153.7815;--green-s: 61%;--green-l: 38%;--blue-fg: hsl(192, 71%, 38%);--blue-h: 192;--blue-s: 71%;--blue-l: 38%;--purple-fg: hsl(254.11766, 44%, 55%);--purple-h: 254.11766;--purple-s: 44%;--purple-l: 55%;--red-bg-1: hsla( var(--red-h), var(--red-s), var(--red-l), var(--color-opacity-1) );--red-bg-2: hsla( var(--red-h), var(--red-s), var(--red-l), var(--color-opacity-2) );--orange-bg-1: hsla( var(--orange-h), var(--orange-s), var(--orange-l), var(--color-opacity-1) );--orange-bg-2: hsla( var(--orange-h), var(--orange-s), var(--orange-l), var(--color-opacity-2) );--yellow-bg-1: hsla( var(--yellow-h), var(--yellow-s), var(--yellow-l), var(--color-opacity-1) );--yellow-bg-2: hsla( var(--yellow-h), var(--yellow-s), var(--yellow-l), var(--color-opacity-2) );--green-bg-1: hsla( var(--green-h), var(--green-s), var(--green-l), var(--color-opacity-1) );--green-bg-2: hsla( var(--green-h), var(--green-s), var(--green-l), var(--color-opacity-2) );--blue-bg-1: hsla( var(--blue-h), var(--blue-s), var(--blue-l), var(--color-opacity-1) );--blue-bg-2: hsla( var(--blue-h), var(--blue-s), var(--blue-l), var(--color-opacity-2) );--purple-bg-1: hsla( var(--purple-h), var(--purple-s), var(--purple-l), var(--color-opacity-1) );--purple-bg-2: hsla( var(--purple-h), var(--purple-s), var(--purple-l), var(--color-opacity-2) );--red-fg-muted-1: hsla( var(--red-h), var(--red-s), calc(var(--red-l) - var(--red-l) * 0.85), var(--fg-muted-1-opacity) );--red-fg-muted-2: hsla( var(--red-h), var(--red-s), calc(var(--red-l) - var(--red-l) * 0.85), var(--fg-muted-2-opacity) );--orange-fg-muted-1: hsla( var(--orange-h), var(--orange-s), calc(var(--orange-l) - var(--orange-l) * 0.85), var(--fg-muted-1-opacity) );--orange-fg-muted-2: hsla( var(--orange-h), var(--orange-s), calc(var(--orange-l) - var(--orange-l) * 0.85), var(--fg-muted-2-opacity) );--yellow-fg-muted-1: hsla( var(--yellow-h), var(--yellow-s), calc(var(--yellow-l) - var(--yellow-l) * 0.85), var(--fg-muted-1-opacity) );--yellow-fg-muted-2: hsla( var(--yellow-h), var(--yellow-s), calc(var(--yellow-l) - var(--yellow-l) * 0.85), var(--fg-muted-2-opacity) );--green-fg-muted-1: hsla( var(--green-h), var(--green-s), calc(var(--green-l) - var(--green-l) * 0.85), var(--fg-muted-1-opacity) );--green-fg-muted-2: hsla( var(--green-h), var(--green-s), calc(var(--green-l) - var(--green-l) * 0.85), var(--fg-muted-2-opacity) );--blue-fg-muted-1: hsla( var(--blue-h), var(--blue-s), calc(var(--blue-l) - var(--blue-l) * 0.85), var(--fg-muted-1-opacity) );--blue-fg-muted-2: hsla( var(--blue-h), var(--blue-s), calc(var(--blue-l) - var(--blue-l) * 0.85), var(--fg-muted-2-opacity) );--purple-fg-muted-1: hsla( var(--purple-h), var(--purple-s), calc(var(--purple-l) - var(--purple-l) * 0.85), var(--fg-muted-1-opacity) );--purple-fg-muted-2: hsla( var(--purple-h), var(--purple-s), calc(var(--purple-l) - var(--purple-l) * 0.85), var(--fg-muted-2-opacity) );--shade-color: rgba(0, 0, 0, 0.07);--bg-muted-neutral-1: rgba(0, 0, 0, var(--color-opacity-1));--bg-muted-neutral-2: rgba(0, 0, 0, var(--color-opacity-2));--fg-muted-neutral-1: rgba(0, 0, 0, var(--fg-muted-1-opacity));--fg-muted-neutral-2: rgba(0, 0, 0, var(--fg-muted-2-opacity));--scanlines-opacity: 0.4;--fg-muted-1-opacity: 0.5;--fg-muted-2-opacity: 0.6;--edge-highlight: inset 0 -0.0625rem 0 rgba(0, 0, 0, var(--color-opacity-1));--content-width: 45rem;--sidebar-width: clamp( calc(var(--content-width) / 3), 20vw, calc(var(--content-width) / 2) );--rounded-corner: 0.75rem;--rounded-corner-small: 0.5rem;--blur: blur(0.75rem) saturate(180%);--printed: contrast(2) brightness(0.75) grayscale(1);--drop-shadow: drop-shadow(0 0.08rem 0.1rem rgba(0, 0, 0, 0.35)) drop-shadow(0 0.4rem 0.7rem rgba(0, 0, 0, 0.18));--font-system-ui: system-ui, sans-serif;--font-ui-monospace: ui-monospace, monospace;--font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-xx-small: 0.625rem;--font-size-x-small: 0.75rem;--font-size-small: 0.875rem;--font-size-medium: 1rem;--font-size-large: 1.25rem;--font-size-x-large: 1.5rem;--font-size-xx-large: 2rem;--font-size-xxx-large: 3rem;--font-weight-thin: 100;--font-weight-extra-light: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semi-bold: 600;--font-weight-bold: 700;--font-weight-extra-bold: 800;--font-weight-black: 900;--color-opacity-1: 0.1;--color-opacity-2: 0.2;--dim-opacity: 0.8;--disabled-opacity: 0.4;--shadow: 0 0 0 0.0625rem rgba(0, 0, 0, 0.03), 0 0.0625rem 0.1875rem 0.0625rem rgba(0, 0, 0, 0.07), 0 0.125rem 0.375rem 0.125rem rgba(0, 0, 0, 0.03);--shadow-inset: inset 0 0 0 0.0625rem rgba(0, 0, 0, 0.03), inset 0 0.0625rem 0.1875rem 0.0625rem rgba(0, 0, 0, 0.07), inset 0 0.125rem 0.375rem 0.125rem rgba(0, 0, 0, 0.03);--shadow-raised: 0 0 0 0.0625rem rgba(0, 0, 0, 0.06), 0 0.125rem 0.375rem 0.125rem rgba(0, 0, 0, 0.14), 0 0.25rem 0.75rem 0.25rem rgba(0, 0, 0, 0.06);--shadow-glass: 0 0.375rem 0.75rem -0.375rem rgba(0, 0, 0, 0.1);--hover: scale(1.1);--active: scale(0.9);--transition: 0.2s;--transition-longer: 0.4s;--transition-long: 0.8s;--transition-bezier: 0.35s cubic-bezier(0.17, 0.89, 0.32, 1.28);--transition-bezier-longer: 0.525s cubic-bezier(0.17, 0.89, 0.32, 1.28);--icon-arrow-square-out: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M228%2C104a12%2C12%2C0%2C0%2C1-24%2C0V69l-59.51%2C59.51a12%2C12%2C0%2C0%2C1-17-17L187%2C52H152a12%2C12%2C0%2C0%2C1%2C0-24h64a12%2C12%2C0%2C0%2C1%2C12%2C12Zm-44%2C24a12%2C12%2C0%2C0%2C0-12%2C12v64H52V84h64a12%2C12%2C0%2C0%2C0%2C0-24H48A20%2C20%2C0%2C0%2C0%2C28%2C80V208a20%2C20%2C0%2C0%2C0%2C20%2C20H176a20%2C20%2C0%2C0%2C0%2C20-20V140A12%2C12%2C0%2C0%2C0%2C184%2C128Z%22/%3E%3C/svg%3E);--icon-caret-down: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M216.49%2C104.49l-80%2C80a12%2C12%2C0%2C0%2C1-17%2C0l-80-80a12%2C12%2C0%2C0%2C1%2C17-17L128%2C159l71.51-71.52a12%2C12%2C0%2C0%2C1%2C17%2C17Z%22/%3E%3C/svg%3E);--icon-check: url(data:image/svg+xml,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22currentColor%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M232.49%2C80.49l-128%2C128a12%2C12%2C0%2C0%2C1-17%2C0l-56-56a12%2C12%2C0%2C1%2C1%2C17-17L96%2C183%2C215.51%2C63.51a12%2C12%2C0%2C0%2C1%2C17%2C17Z%22/%3E%3C/svg%3E);--accent-color: hsl( var(--accent-light-h), var(--accent-light-s), var(--accent-light-l) );--accent-h: var(--accent-light-h);--accent-s: var(--accent-light-s);--accent-l: var(--accent-light-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.75) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.65) ) );--accent-highlight: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--disabled-opacity) );--bg-muted-1: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-1) );--bg-muted-2: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-2) );--l: clamp(0, (l / 0.623 - 1) * -infinity, 1);--a: calc(var(--l) + (var(--dim-opacity) * (1 - var(--l))));--contrast-color: oklch(from var(--accent-color) var(--l) 0 h / var(--a));--shadow-glow: 0 0 0 0.0625rem var(--bg-muted-2), 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--shadow-glow-inset: inset 0 0 0 0.0625rem var(--bg-muted-2), inset 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), inset 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--text-shadow-glow: var(--bg-muted-2) 0 0 0.25rem, var(--accent-color) 0 0 0.75rem;scrollbar-color:var(--accent-color) rgba(0,0,0,0);accent-color:var(--accent-color)}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}@media(prefers-color-scheme: dark){:root{--bg-overlay: linear-gradient( rgba(0, 0, 0, var(--dim-opacity)), rgba(0, 0, 0, var(--dim-opacity)) );--fg-color: #fcfcfa;--fg-contrast: #29242a;--red-fg: hsl(345.18988, 100%, 69%);--red-h: 345.18988;--red-s: 100%;--red-l: 69%;--orange-fg: hsl(19.731544, 96%, 70%);--orange-h: 19.731544;--orange-s: 96%;--orange-l: 70%;--yellow-fg: hsl(44.70588, 100%, 70%);--yellow-h: 44.70588;--yellow-s: 100%;--yellow-l: 70%;--green-fg: hsl(90, 59%, 66%);--green-h: 90;--green-s: 59%;--green-l: 66%;--blue-fg: hsl(186.42857, 71%, 69%);--blue-h: 186.42857;--blue-s: 71%;--blue-l: 69%;--purple-fg: hsl(249.88234, 77%, 78%);--purple-h: 249.88234;--purple-s: 77%;--purple-l: 78%;--red-fg-muted-1: hsla( var(--red-h), var(--red-s), calc(var(--red-l) + (100% - var(--red-l)) * 0.85), var(--fg-muted-1-opacity) );--red-fg-muted-2: hsla( var(--red-h), var(--red-s), calc(var(--red-l) + (100% - var(--red-l)) * 0.85), var(--fg-muted-2-opacity) );--orange-fg-muted-1: hsla( var(--orange-h), var(--orange-s), calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85), var(--fg-muted-1-opacity) );--orange-fg-muted-2: hsla( var(--orange-h), var(--orange-s), calc(var(--orange-l) + (100% - var(--orange-l)) * 0.85), var(--fg-muted-2-opacity) );--yellow-fg-muted-1: hsla( var(--yellow-h), var(--yellow-s), calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85), var(--fg-muted-1-opacity) );--yellow-fg-muted-2: hsla( var(--yellow-h), var(--yellow-s), calc(var(--yellow-l) + (100% - var(--yellow-l)) * 0.85), var(--fg-muted-2-opacity) );--green-fg-muted-1: hsla( var(--green-h), var(--green-s), calc(var(--green-l) + (100% - var(--green-l)) * 0.85), var(--fg-muted-1-opacity) );--green-fg-muted-2: hsla( var(--green-h), var(--green-s), calc(var(--green-l) + (100% - var(--green-l)) * 0.85), var(--fg-muted-2-opacity) );--blue-fg-muted-1: hsla( var(--blue-h), var(--blue-s), calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85), var(--fg-muted-1-opacity) );--blue-fg-muted-2: hsla( var(--blue-h), var(--blue-s), calc(var(--blue-l) + (100% - var(--blue-l)) * 0.85), var(--fg-muted-2-opacity) );--purple-fg-muted-1: hsla( var(--purple-h), var(--purple-s), calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85), var(--fg-muted-1-opacity) );--purple-fg-muted-2: hsla( var(--purple-h), var(--purple-s), calc(var(--purple-l) + (100% - var(--purple-l)) * 0.85), var(--fg-muted-2-opacity) );--shade-color: rgba(0, 0, 0, 0.25);--bg-muted-neutral-1: rgba(255, 255, 255, var(--color-opacity-1));--bg-muted-neutral-2: rgba(255, 255, 255, var(--color-opacity-2));--fg-muted-neutral-1: rgba(255, 255, 255, var(--fg-muted-1-opacity));--fg-muted-neutral-2: rgba(255, 255, 255, var(--fg-muted-2-opacity));--scanlines-opacity: 1;--fg-muted-1-opacity: 0.6;--fg-muted-2-opacity: 0.7;--edge-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, var(--color-opacity-1));--accent-color: hsl( var(--accent-dark-h), var(--accent-dark-s), var(--accent-dark-l) );--accent-h: var(--accent-dark-h);--accent-s: var(--accent-dark-s);--accent-l: var(--accent-dark-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) - var(--accent-l) * 0.9) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) - var(--accent-l) * 0.8), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.9) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.95) ) );color-scheme:dark}}*,:after,:before{vertical-align:baseline;box-sizing:border-box;margin:0;border:none;background:none;padding:0;color:inherit;font:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0)}button,select{appearance:none}body{-webkit-text-size-adjust:none;text-size-adjust:none;width:100%;min-height:100vh;line-height:1.5}a,button,summary,input[type=button],input[type=checkbox],input[type=color],input[type=file],input[type=image],input[type=radio],input[type=range],input[type=reset],input[type=submit],label,select{cursor:pointer}article,aside,audio,canvas,details,figcaption,figure,footer,header,main,nav,rt,ruby,section,summary{display:block}bdi,mark,meter,output,progress,time{display:inline-block}[hidden],datalist,dialog:not([open]),rp{display:none !important}embed,iframe,img,object,picture,svg,video{display:block;max-width:100%;height:auto}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}strong{font-weight:700}em{font-style:italic}code,kbd,pre,samp{font-family:monospace}sub{vertical-align:sub}sup{vertical-align:super}small{font-size:small}table{border-collapse:collapse}@keyframes slide-in-up{from{transform:translateY(-1rem);opacity:0}}@keyframes slide-in-left{from{transform:translateX(1rem);opacity:0}}@keyframes slide-in-right{from{transform:translateX(-1rem);opacity:0}}@keyframes slide-in-up-longer{from{transform:translateY(-2rem);opacity:0}}@keyframes slide-in-down-longer{from{transform:translateY(2rem);opacity:0}}@keyframes slide-in-left-longer{from{transform:translateX(-2rem);opacity:0}}@keyframes slide-in-right-longer{from{transform:translateX(2rem);opacity:0}}@keyframes slide-out-down-longer{to{transform:translateY(-2rem);opacity:0}}@keyframes expand-up-left{from{transform:scale(0.5) translate(-1rem, -1rem);opacity:0}}@keyframes expand-up-right{from{transform:scale(0.5) translate(1rem, -1rem);opacity:0}}@keyframes expand-down-left{from{transform:scale(0.5) translate(-1rem, 1rem);opacity:0}}@keyframes expand-down-right{from{transform:scale(0.5) translate(1rem, 1rem);opacity:0}}:target:not(#main-content){scroll-margin-block-start:6.5rem}:focus-visible,:target:not(#main-content){animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}@keyframes focus-in{from{outline:.5rem solid rgba(0,0,0,0);outline-offset:.25rem}}::selection{background-color:var(--accent-color);color:var(--contrast-color)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--fg-color);font-family:var(--font-sans-serif),var(--font-system-ui),var(--font-emoji);overflow-wrap:break-word}@supports(min-height: 100dvh){body{min-height:100dvh}}@media(prefers-reduced-motion){*,*::before,*::after{animation-duration:0s !important;transition-duration:0s !important}}@-moz-document url-prefix(){@media only screen and (max-width: 960px){.firefox-unblur,.firefox-unblur::before,.firefox-unblur::after{backdrop-filter:none !important}}}body>main,body>nav,body>footer{--padding: 1rem;margin-inline:auto;padding-inline:1rem;max-width:calc(var(--content-width) + var(--padding)*2)}body>footer{margin-block-start:4rem}body>nav{margin-block-end:4rem;border-block-end:0.0625rem solid var(--bg-muted-2)}body>nav ul{display:flex;gap:.25rem;margin-block:.625rem;padding-inline-start:0;list-style:none}@media only screen and (max-width: 480px){body>nav ul{flex-direction:column}}body>nav li{margin-block:0;padding-inline-start:0}p,ul,ol,dl,blockquote,pre{margin-block:1rem}ul ul,ul ol,ol ul,ol ol{margin-block:0}p{text-wrap:pretty;overflow-wrap:break-word}:disabled,[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:not-allowed}h1,h2,h3,h4,h5,h6{transition-duration:var(--transition);transition-property:text-shadow,font-weight;margin-block:2rem 1rem;color:var(--accent-color);font-weight:var(--font-weight-bold);line-height:1;font-variation-settings:"FLAR" 100;letter-spacing:-0.05em;text-decoration:underline;text-decoration-color:var(--bg-muted-1);text-decoration-thickness:.125em;text-wrap:balance;overflow-wrap:break-word}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{animation:none !important;outline:none !important;font-weight:var(--font-weight-light);text-shadow:var(--text-shadow-glow)}h1{font-size:var(--font-size-xxx-large)}h2{font-size:var(--font-size-xx-large)}h3{font-size:var(--font-size-x-large)}h4{font-size:var(--font-size-large)}h5{font-size:var(--font-size-medium)}h6{font-size:var(--font-size-small)}@media only screen and (max-width: 480px){h1{font-size:var(--font-size-xx-large)}h2{font-size:var(--font-size-x-large)}h3{font-size:var(--font-size-large)}h4{font-size:var(--font-size-medium)}h5{font-size:var(--font-size-small)}h6{font-size:var(--font-size-x-small)}}small{color:var(--fg-muted-2);font-size:var(--font-size-small)}abbr[title]{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:0.0625rem}figcaption{color:var(--fg-muted-2);font-size:var(--font-size-small);text-align:center}blockquote{margin:1rem 0;border-inline-start:.25rem solid var(--accent-color);border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:.75rem;color:var(--fg-muted-2)}pre,code,kbd,samp{font-family:var(--font-monospace),var(--font-ui-monospace)}pre{margin:1rem 0;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem;overflow-x:auto;scrollbar-width:thin;line-height:1.25}code:not(pre code),mark,samp,q{transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding-inline:.375rem;text-decoration:none}code:not(pre code){background-color:var(--red-bg-1);padding-block:0.1875rem;color:var(--red-fg);font-size:var(--font-size-small)}mark{color:var(--accent-color)}del{color:var(--red-fg);text-decoration:line-through;text-decoration-thickness:0.0625rem}ins{color:var(--green-fg);text-decoration:underline;text-decoration-thickness:0.0625rem}samp{color:var(--fg-muted-2);font-size:var(--font-size-small)}q{color:var(--fg-muted-2);font-style:italic}u{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--red-fg);text-decoration-thickness:0.0625rem}progress{appearance:none;box-shadow:var(--edge-highlight);border:none;border-radius:9999px;background-color:var(--bg-muted-1);padding:.25rem;width:100%;height:1rem;color:var(--accent-color)}progress:indeterminate{background-color:var(--bg-muted-1)}progress:indeterminate::-moz-progress-bar{background-color:rgba(0,0,0,0)}progress::-webkit-progress-bar{background-color:rgba(0,0,0,0)}progress::-moz-progress-bar{border-radius:9999px;background-color:var(--accent-color)}progress::-webkit-progress-value{border-radius:9999px;background-color:var(--accent-color)}kbd{display:inline-block;transition-duration:var(--transition);transition-property:transform,box-shadow,background-color;cursor:pointer;box-shadow:var(--edge-highlight),inset 0 -0.125rem 0 var(--bg-muted-2);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:0 .375rem;font-size:var(--font-size-small)}kbd:active{transform:translateY(0.125rem);box-shadow:inset 0 0.0625rem 0 var(--bg-muted-2);background-color:var(--bg-muted-2)}a{color:var(--accent-color);font-weight:var(--font-weight-semi-bold);text-decoration-color:var(--accent-highlight);text-decoration-thickness:0.0625rem}a:hover{text-decoration-style:wavy}hr{margin:2rem auto;border:.125rem solid var(--bg-muted-2);border-radius:9999px}dt{font-weight:var(--font-weight-semi-bold)}dd{margin-inline-start:1.5rem;margin-block-end:1rem}aside{float:inline-end;margin-inline-start:1rem;margin-block-end:1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;width:calc(var(--content-width)/3)}@media only screen and (max-width: 720px){aside{float:none;margin-inline-start:0;width:100%}}aside :first-child{margin-block-start:0}aside :last-child{margin-block-end:0}details{display:flow-root;transition:padding-block-end var(--transition);margin-block-end:1rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem}details::details-content{display:block;opacity:0;transition-behavior:allow-discrete;transition-duration:var(--transition);transition-property:opacity,block-size,content-visibility;block-size:0;overflow:hidden}details[open]{padding-block-end:1rem}details[open]::details-content{opacity:1;block-size:auto;block-size:calc-size(auto,size)}details[open] summary{color:var(--accent-color)}details[open] summary::before{transform:scaleY(-1)}@supports not (block-size: calc-size(auto, size)){details[open] summary~*{animation:slide-in-up var(--transition-bezier)}}details summary{transition:var(--transition);color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);list-style:none}details summary::-webkit-details-marker{display:none}details summary::before{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--icon-caret-down);display:inline-block;vertical-align:-0.125rem;transition:all var(--transition),transform var(--transition-bezier);margin-inline-end:.25rem}details>:last-child,details>:last-child img{margin-block-end:0}figure{margin-inline:0}ol,ul{padding-inline-start:1.5rem}li{margin-block:.25rem;padding-inline-start:.25rem}li::marker{color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}b,strong{font-weight:var(--font-weight-semi-bold)}.buttons{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem;margin-block-start:2rem}.buttons.centered{justify-content:center}.buttons.start{justify-content:flex-start}.buttons.end{justify-content:flex-end}.buttons.big{gap:.5rem}.buttons a,a.button,button{display:inline-block;transition:background-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.5rem 1rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small);line-height:1.5rem;text-decoration:none}.buttons a:not(:disabled,[aria-disabled=true]):hover,a.button:not(:disabled,[aria-disabled=true]):hover,button:not(:disabled,[aria-disabled=true]):hover{background-color:var(--bg-muted-2);color:var(--fg-muted-2)}.buttons a:not(:disabled,[aria-disabled=true]):active,a.button:not(:disabled,[aria-disabled=true]):active,button:not(:disabled,[aria-disabled=true]):active{transform:var(--active)}.buttons a.suggested,a.button.suggested,button.suggested{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--accent-highlight));color:var(--contrast-color);text-shadow:var(--text-shadow-glow)}.buttons a.suggested:not(:disabled,[aria-disabled=true]):hover,a.button.suggested:not(:disabled,[aria-disabled=true]):hover,button.suggested:not(:disabled,[aria-disabled=true]):hover{box-shadow:var(--edge-highlight);background-color:var(--accent-color);color:var(--contrast-color)}.buttons a.subtle,a.button.subtle,button.subtle{box-shadow:none;background-color:rgba(0,0,0,0)}.buttons a.subtle:not(:disabled,[aria-disabled=true]):hover,a.button.subtle:not(:disabled,[aria-disabled=true]):hover,button.subtle:not(:disabled,[aria-disabled=true]):hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}.buttons a[aria-busy=true],a.button[aria-busy=true],button[aria-busy=true]{animation:progress-shimmer var(--transition-long) ease-in-out alternate infinite;background-image:linear-gradient(to right, transparent 50%, var(--bg-muted-1) 75%, transparent 100%);background-size:200%}@keyframes progress-shimmer{to{background-position-x:-200%}}.buttons.big a,.buttons.big button,a.button.big,button.big{border-radius:9999px;padding:.625rem 1.25rem}.card{box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem}.crt,pre:has(code[data-crt],code[data-lang=""]){position:relative;animation:flicker .25s alternate infinite;margin-inline:auto;box-shadow:var(--shadow-glow);background-image:var(--crt-bg);background-color:rgba(0,0,0,0) !important;padding:0;width:fit-content;max-width:100%;overflow:hidden;color:var(--accent-color) !important;font-weight:var(--font-weight-medium);text-shadow:var(--text-shadow-glow)}@keyframes flicker{25%{opacity:.95}50%{opacity:.85}75%{opacity:1}to{opacity:.9}}.crt::before,.crt::after,pre:has(code[data-crt],code[data-lang=""])::before,pre:has(code[data-crt],code[data-lang=""])::after{position:absolute;inset:0;content:""}.crt::before,pre:has(code[data-crt],code[data-lang=""])::before{opacity:var(--scanlines-opacity);z-index:1;animation:scanlines .1s linear infinite;background-image:repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 0.125rem, transparent 0.125rem, transparent 0.25rem);background-position-y:-0.125rem;background-repeat:no-repeat;pointer-events:none}@keyframes scanlines{to{background-position-y:.125rem}}.crt::after,pre:has(code[data-crt],code[data-lang=""])::after{opacity:.05;animation:scanline 5s linear infinite;background-image:linear-gradient(to bottom, transparent, var(--accent-color) 16rem);background-position-y:-16rem;background-size:100% 16rem;pointer-events:none}@keyframes scanline{to{background-position-y:calc(100% + 16rem)}}.crt>code,pre:has(code[data-crt],code[data-lang=""])>code{display:block;border-radius:inherit;padding:.75rem 1rem;overflow-x:auto;scrollbar-width:thin}a.external:not(:has(img,svg,video,picture,figure))::after{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--icon-arrow-square-out);display:inline-block;vertical-align:-0.125rem;opacity:var(--dim-opacity);margin-inline-start:.125rem;font-size:max(1rem,1em)}iframe{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border:none;border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);width:100%;max-width:100%}iframe:fullscreen{box-shadow:none;border-radius:0}iframe:-webkit-full-screen{box-shadow:none;border-radius:0}input{appearance:none;background-color:var(--bg-muted-1)}input:not([type]),input[type=text],input[type=search],input[type=password],input[type=submit]{box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);font-size:inherit;line-height:inherit;font-family:inherit}input:not([type]),input[type=text],input[type=search],input[type=password]{padding:.5rem .75rem;width:100%}input:not([type])::placeholder,input[type=text]::placeholder,input[type=search]::placeholder,input[type=password]::placeholder{opacity:1;color:var(--fg-muted-1)}input[type=submit]{transition:background-color var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);padding:.375rem .75rem;color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-small)}input[type=submit]:enabled:hover{background-color:var(--bg-muted-2)}input[type=submit]:enabled:active{transform:var(--active)}input[type=radio],input[type=checkbox],input[type=color]{position:relative;transition:background-color var(--transition);border:.125rem solid var(--bg-muted-2);width:1rem;height:1rem}input[type=radio]:not(:checked):enabled:hover,input[type=checkbox]:not(:checked):enabled:hover,input[type=color]:not(:checked):enabled:hover{background-color:var(--bg-muted-2)}input[type=radio],input[type=checkbox]{vertical-align:-0.125em;margin-inline-end:.25rem}input[type=radio]::before,input[type=checkbox]::before{display:block;position:absolute;transform:scale(0.5);opacity:0;transition:opacity var(--transition),transform var(--transition-bezier);content:""}input[type=radio]:checked,input[type=checkbox]:checked{border:.15rem solid rgba(0,0,0,0);background-color:var(--accent-color)}input[type=radio]:checked::before,input[type=checkbox]:checked::before{transform:scale(1);opacity:1}input[type=radio]{border-radius:50%}input[type=radio]::before{inset-block-start:.125rem;inset-inline-start:.125rem;border-radius:50%;background-color:var(--contrast-color);width:.5rem;height:.5rem}input[type=checkbox]{border-radius:calc(var(--rounded-corner-small)/2)}input[type=checkbox]::before{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--icon-check);transform-origin:bottom left;inset-block-start:-0.125rem;inset-inline-start:-0.125rem;color:var(--contrast-color);font-size:1rem}input[type=checkbox].switch{vertical-align:-0.375rem;box-shadow:var(--edge-highlight);border:none;border-radius:9999px;width:2.5rem;height:1.5rem}input[type=checkbox].switch.big{vertical-align:-0.625rem;width:3rem;height:2rem}input[type=checkbox].switch.big::before{width:1.5rem;height:1.5rem}input[type=checkbox].switch::before{transform:none;transform-origin:center;opacity:1;mask-image:none;inset-block-start:.25rem;inset-inline-start:.25rem;box-shadow:var(--shadow);border-radius:50%;background-color:#fff;width:1rem;height:1rem;content:""}input[type=checkbox].switch:checked{background-color:var(--accent-color)}input[type=checkbox].switch:checked::before{transform:translateX(1rem);background-color:var(--contrast-color)}:root[dir*=rtl] input[type=checkbox].switch:checked::before{transform:translateX(-1rem)}input[type=checkbox].switch:disabled::before{box-shadow:none}input[type=color]{vertical-align:-0.375em;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner-small);padding:.25rem;width:3rem;height:2rem}input[type=color]::-moz-color-swatch{border:none;border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border-radius:calc(var(--rounded-corner-small) - .25rem)}input[type=range]{appearance:none;box-shadow:var(--edge-highlight);border-radius:9999px;background:var(--bg-muted-1);padding:.5rem .25rem;width:100%;height:1rem}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;border-radius:9999px;background:var(--accent-color);width:100%}input[type=range]::-moz-range-track{cursor:pointer;border-radius:9999px;background:var(--accent-color);width:100%;height:.5rem}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:ew-resize;margin-block:-0.5rem;box-shadow:var(--shadow);border:none;border-radius:.25rem;background-color:#fff;width:.5rem;height:1.5rem}input[type=range]::-moz-range-thumb{appearance:none;cursor:ew-resize;margin-block:-0.5rem;box-shadow:var(--shadow);border:none;border-radius:.25rem;background-color:#fff;width:.5rem;height:1.5rem}input[type=range].hollow::-webkit-slider-thumb{margin-block:0;outline:.25rem solid #fff;background-color:rgba(0,0,0,0);height:.5rem}input[type=range].hollow::-moz-range-thumb{margin-block:0;outline:.25rem solid #fff;background-color:rgba(0,0,0,0);height:.5rem}img,video{display:block;margin:1rem auto;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);max-width:100%;max-height:calc(100vh - 2rem)}img.full,img[src*="#full"],video.full,video[src*="#full"]{width:100%}img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{width:calc(var(--content-width)/3)}img.start,img[src*="#start"],video.start,video[src*="#start"]{float:inline-start;transform-origin:left;margin-inline-end:1rem}:root[dir*=rtl] img.start,:root[dir*=rtl] img[src*="#start"],:root[dir*=rtl] video.start,:root[dir*=rtl] video[src*="#start"]{transform-origin:right}img.end,img[src*="#end"],video.end,video[src*="#end"]{float:inline-end;transform-origin:right;margin-inline-start:1rem}:root[dir*=rtl] img.end,:root[dir*=rtl] img[src*="#end"],:root[dir*=rtl] video.end,:root[dir*=rtl] video[src*="#end"]{transform-origin:left}img.pixels,img[src*="#pixels"],video.pixels,video[src*="#pixels"]{image-rendering:pixelated}img.has-alpha,img[src*="#has-alpha"],video.has-alpha,video[src*="#has-alpha"]{box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0)}img.drop-shadow,img[src*="#drop-shadow"],video.drop-shadow,video[src*="#drop-shadow"]{filter:var(--drop-shadow)}img.spoiler,img[src*="#spoiler"],video.spoiler,video[src*="#spoiler"]{opacity:var(--dim-opacity);clip-path:inset(0 0 0 0 round var(--rounded-corner));filter:blur(1.5rem)}img.spoiler:hover,img.spoiler:active,img[src*="#spoiler"]:hover,img[src*="#spoiler"]:active,video.spoiler:hover,video.spoiler:active,video[src*="#spoiler"]:hover,video[src*="#spoiler"]:active{opacity:1;clip-path:inset(-0.75rem -0.75rem -0.75rem -0.75rem round var(--rounded-corner-small));filter:none}img.spoiler.solid,img.spoiler[src*="#solid"],img[src*="#spoiler"].solid,img[src*="#spoiler"][src*="#solid"],video.spoiler.solid,video.spoiler[src*="#solid"],video[src*="#spoiler"].solid,video[src*="#spoiler"][src*="#solid"]{clip-path:none;filter:brightness(0) contrast(0.5);box-shadow:none}img.spoiler.solid:hover,img.spoiler.solid:active,img.spoiler[src*="#solid"]:hover,img.spoiler[src*="#solid"]:active,img[src*="#spoiler"].solid:hover,img[src*="#spoiler"].solid:active,img[src*="#spoiler"][src*="#solid"]:hover,img[src*="#spoiler"][src*="#solid"]:active,video.spoiler.solid:hover,video.spoiler.solid:active,video.spoiler[src*="#solid"]:hover,video.spoiler[src*="#solid"]:active,video[src*="#spoiler"].solid:hover,video[src*="#spoiler"].solid:active,video[src*="#spoiler"][src*="#solid"]:hover,video[src*="#spoiler"][src*="#solid"]:active{filter:none}@media only screen and (max-width: 720px){img.start,img.end,img[src*="#start"],img[src*="#end"],video.start,video.end,video[src*="#start"],video[src*="#end"]{float:none;margin-inline-start:auto;margin-inline-end:auto;width:auto}}img{transition:box-shadow var(--transition),border-radius var(--transition),transform var(--transition-bezier)}img:not(.no-hover,[src*="#no-hover"],.emoji){cursor:zoom-in}img:not(.no-hover,[src*="#no-hover"],.emoji):hover{position:relative;transform:var(--hover);z-index:1;box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}img:not(.no-hover,[src*="#no-hover"],.emoji).start,img:not(.no-hover,[src*="#no-hover"],.emoji).end,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"],img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]{transition:transform var(--transition-bezier-longer)}img:not(.no-hover,[src*="#no-hover"],.emoji).start:hover,img:not(.no-hover,[src*="#no-hover"],.emoji).end:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"]:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]:hover{transform:scale(2)}@media only screen and (max-width: 720px){img:not(.no-hover,[src*="#no-hover"],.emoji).start,img:not(.no-hover,[src*="#no-hover"],.emoji).end,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"],img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]{transform-origin:center;transition:transform var(--transition-bezier)}img:not(.no-hover,[src*="#no-hover"],.emoji).start:hover,img:not(.no-hover,[src*="#no-hover"],.emoji).end:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#start"]:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#end"]:hover{transform:var(--hover)}}img:not(.no-hover,[src*="#no-hover"],.emoji).has-alpha:hover,img:not(.no-hover,[src*="#no-hover"],.emoji)[src*="#has-alpha"]:hover{box-shadow:none}a img:not(.no-hover,[src*="#no-hover"]){cursor:pointer}video:fullscreen{box-shadow:none;border-radius:0}video:-webkit-full-screen{box-shadow:none;border-radius:0}picture{display:inline-block}.overflow-auto{overflow:auto}.overflow-auto.overshoot{margin-block:-1rem;padding-block:1rem}.overflow-auto.overshoot-row{margin-inline:-1rem;padding-inline:1rem}.overshoot{--mask: linear-gradient( to bottom, transparent, black 1rem, black calc(100% - 1rem), transparent );-webkit-mask-image:var(--mask);mask-image:var(--mask)}.overshoot-row{--mask: linear-gradient( to right, transparent, black 1rem, black calc(100% - 1rem), transparent );-webkit-mask-image:var(--mask);mask-image:var(--mask)}#skip-to-content{position:absolute;transform:translateX(-50%) translateY(calc(-100% - 1rem));z-index:9999;transition:backdrop-filter var(--transition),box-shadow var(--transition),transform var(--transition-bezier);inset-inline-start:50vw;border-radius:9999px;background-color:var(--glass-bg-1);padding:.375rem .75rem;width:max-content;text-decoration:none}#skip-to-content:focus-visible,#skip-to-content:focus{-webkit-backdrop-filter:var(--blur);transform:translateX(-50%) translateY(1rem);backdrop-filter:var(--blur);box-shadow:var(--edge-highlight),var(--shadow)}span.spoiler{filter:blur(0.25rem);transition:filter var(--transition)}span.spoiler:focus,span.spoiler:hover{filter:none}span.spoiler.solid{filter:none;transition:background-color var(--transition),color var(--transition);border-radius:var(--rounded-corner-small);background-color:var(--fg-muted-1);color:rgba(0,0,0,0)}span.spoiler.solid:focus,span.spoiler.solid:hover{background-color:rgba(0,0,0,0);color:inherit}table{width:100%;overflow:hidden}thead{border-block-start:none;color:var(--fg-muted-2);font-weight:var(--font-weight-semi-bold)}tr:nth-child(even){background-color:var(--bg-muted-1)}tr th,tr td{padding:.5rem 1rem}tbody tr{border-block:0.0625rem solid var(--bg-muted-2)}tbody tr:last-child{border-block-end:none}.overflow-auto table{width:max-content;min-width:100%}textarea{appearance:none;box-shadow:var(--edge-highlight);border:none;border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;resize:none;font-size:inherit;line-height:inherit;font-family:inherit}textarea::placeholder{opacity:1;color:var(--fg-muted-1)}strong.title{color:var(--accent-color);font-size:var(--font-size-large);line-height:1}@media(pointer: coarse),(hover: none){.tooltip,abbr[title]{display:inline-flex;position:relative;justify-content:center}.tooltip::after,abbr[title]::after{position:absolute;top:calc(100% + .25rem);z-index:9999;backdrop-filter:var(--blur);transition:visibility var(--transition),opacity var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner-small);background-color:var(--glass-bg-1);padding:.125rem .375rem;width:max-content;content:attr(title);-webkit-backdrop-filter:var(--blur);transform:translateY(-0.5rem) scale(0.5);transform-origin:top;visibility:hidden;opacity:0;max-width:calc(var(--content-width)/3);color:var(--fg-muted-2);font-size:var(--font-size-small)}.tooltip:focus::after,.tooltip:hover::after,abbr[title]:focus::after,abbr[title]:hover::after{transform:none;visibility:visible;opacity:1}}.visually-hidden{position:absolute !important;clip-path:inset(50%) !important;margin:-1px !important;border-width:0 !important;padding:0 !important;width:1px !important;height:1px !important;overflow:hidden !important;white-space:nowrap !important}#site-footer{--padding: 1rem;display:flex;grid-area:footer;gap:1rem;margin-block:3.25rem 1rem;border-block-start:0.0625rem solid var(--bg-muted-2);padding:1rem;width:100%;min-width:0;max-width:calc(var(--content-width) + var(--padding)*2)}@media only screen and (max-width: 480px){#site-footer{flex-direction:column-reverse}}#site-footer>div{display:flex;flex:1;flex-direction:column;gap:1rem}#site-footer>div p{margin:0}#site-footer>div:nth-of-type(1){color:var(--fg-muted-2);font-size:var(--font-size-small)}#site-footer>div:nth-of-type(2){justify-content:space-between;align-items:flex-end;text-align:end}@media only screen and (max-width: 480px){#site-footer>div:nth-of-type(2){align-items:normal;text-align:start}}#site-footer a.external::after{margin-inline-start:.25rem}#site-footer .link{transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding-inline:.375rem;text-decoration:none;display:inline-block;line-height:1.5rem}#site-footer .link:hover{background-color:var(--bg-muted-2)}#site-footer .link:active{transform:var(--active)}#site-footer .webrings{display:flex;flex-direction:column;gap:.25rem;margin-block:0;padding-inline-start:0;list-style:none}#site-footer .webring{display:flex;gap:.25rem;margin-block:0;padding-inline-start:0}#site-footer .webring .random,#site-footer .webring .previous,#site-footer .webring .next{display:inline-flex;justify-content:center;align-items:center;border-radius:9999px;padding:.25rem;font-size:1rem}#site-footer .timestamp{color:var(--fg-muted-1);font-size:var(--font-size-xx-small);font-family:var(--font-monospace);text-transform:uppercase}#site-footer .socials{display:flex;justify-content:flex-end;gap:.75rem;margin:0;padding-inline-start:0;list-style:none}@media only screen and (max-width: 480px){#site-footer .socials{justify-content:normal}}#site-footer .socials li{margin-block:0;padding-inline-start:0}#site-footer .socials a{display:flex;transition:color var(--transition),transform var(--transition-bezier);height:fit-content;color:var(--fg-muted-1)}#site-footer .socials a:hover{color:var(--fg-muted-2)}#site-footer .socials a:active{transform:var(--active)}#site-footer .socials svg{fill:currentColor;width:1.5rem;height:1.5rem}.full-bleed{transform:translateX(-50%);margin-inline-start:50%;width:calc(100vw - var(--sidebar-width))}:root[dir*=rtl] .full-bleed{transform:translateX(50%)}@media only screen and (max-width: 960px){.full-bleed{width:calc(100vw - 3.5rem)}}body{display:grid;grid-template-rows:auto auto 1fr auto;grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"sidebar header" "sidebar banner" "sidebar main " "sidebar footer";justify-items:center;transition:grid-template-columns var(--transition)}@media only screen and (max-width: 960px){body{grid-template-columns:0 1fr}}#site-header{display:flex;position:sticky;grid-area:header;justify-content:space-between;align-items:center;gap:.25rem;z-index:2;inset-block-start:0;padding:.5rem;width:100%;min-width:0}#site-header::before,#site-header::after{position:absolute;inset:0;--mask-image: linear-gradient( to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 100% );mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);inset-block-end:-100%;pointer-events:none;content:""}#site-header::before{z-index:-2;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}#site-header::after{z-index:-1;background-color:var(--bg-color)}#site-header .title{margin-inline:.75rem;min-width:0;overflow:hidden;color:var(--fg-muted-2);font-size:var(--font-size-small);line-height:2rem;text-overflow:ellipsis;white-space:nowrap}#site-header .buttons{display:flex;flex-wrap:nowrap;gap:.25rem;margin:0;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:1.125rem;background-color:var(--glass-bg-1);padding:.25rem;list-style:none}#site-header .buttons li{flex:0;margin-block:0;padding-inline-start:0}#site-header .buttons>li{height:fit-content;line-height:0}#site-header .buttons button,#site-header .buttons details{box-shadow:none;background-color:rgba(0,0,0,0);line-height:inherit}#site-header .buttons button .icon,#site-header .buttons details .icon{margin-inline-end:0;box-shadow:none;background-color:rgba(0,0,0,0);padding:0}#site-header .buttons button,#site-header .buttons summary{border-radius:50%;padding:.375rem}#site-header .buttons button:hover,#site-header .buttons summary:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}#site-header .buttons button:active,#site-header .buttons summary:active{transform:var(--active)}#site-header .buttons details{box-shadow:none;border-radius:0;padding:0}#site-header .buttons button{font-size:var(--font-size-medium)}#site-header .buttons summary:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1)}#site-header .buttons summary::before{display:none}#site-header .buttons details{display:block;position:relative;margin-block-end:0}#site-header .buttons details::details-content{block-size:auto}#site-header .buttons details[open]::details-content{block-size:auto}#site-header .buttons details[open] summary{color:var(--fg-muted-1)}#site-header .buttons details[open] summary:hover{color:var(--fg-muted-2)}@supports not (block-size: calc-size(auto, size)){#site-header .buttons details[open] summary~*{animation:none}}.buttons .dropdown{display:flex;position:absolute;flex-direction:column;gap:.25rem;transform-origin:top right;z-index:1;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);animation:expand-up-right var(--transition-bezier);inset-block-start:calc(100% + .75rem);inset-inline-end:-0.25rem;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:calc(var(--rounded-corner) + .25rem);background-color:var(--glass-bg-1);padding:.25rem;width:max-content;min-width:8rem;list-style:none}:root[dir*=rtl] .buttons .dropdown{transform-origin:top left;animation:expand-up-left var(--transition-bezier)}.buttons .dropdown li{flex:1}.buttons .dropdown a{box-shadow:none;border-radius:var(--rounded-corner);background-color:rgba(0,0,0,0);padding:.375rem .75rem;width:100%}.buttons .dropdown a:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1) !important}#site-sidebar-controls{display:flex;flex-shrink:0;gap:.25rem;transition:width var(--transition),visibility var(--transition);margin-block:0;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:1.125rem;background-color:var(--glass-bg-1);padding:.25rem;height:fit-content;line-height:0;list-style:none}@media only screen and (max-width: 960px){#site-sidebar-controls{width:2.25rem}#site-sidebar-controls:has(#expand-sidebar:checked){width:6.25rem}#site-sidebar-controls:has(#expand-sidebar:checked) #site-sidebar-modes{transform:none;visibility:visible;opacity:1}}#site-sidebar-controls ul{padding-inline-start:0;list-style:none}#site-sidebar-controls li{display:inline-block;margin-block:0;padding-inline-start:0}#site-sidebar-controls li label{display:inline-block;transition:box-shadow var(--transition),background-color var(--transition),color var(--transition),transform var(--transition-bezier);cursor:pointer;border-radius:50%;padding:.375rem;height:fit-content;color:var(--fg-muted-1);line-height:0}#site-sidebar-controls li label:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}#site-sidebar-controls li label:active{transform:var(--active)}#site-sidebar-controls li input[type=radio]+label{position:relative;z-index:1}#site-sidebar-controls li input[type=radio]+label::before{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--accent-highlight));color:var(--contrast-color);text-shadow:var(--text-shadow-glow);position:absolute;opacity:0;z-index:-1;transition:opacity var(--transition),box-shadow var(--transition),background-color var(--transition);inset:0;border-radius:inherit;content:""}#site-sidebar-controls li input[type=radio]:checked+label{color:var(--contrast-color)}#site-sidebar-controls li input[type=radio]:checked+label:hover{box-shadow:none;background-color:rgba(0,0,0,0)}#site-sidebar-controls li input[type=radio]:checked+label:hover::before{box-shadow:var(--edge-highlight);background-color:var(--accent-color)}#site-sidebar-controls li input[type=radio]:checked+label::before{opacity:1}#site-sidebar-controls li input[type=radio]:focus-visible+label,#site-sidebar-controls li input[type=checkbox]:focus-visible+label{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}@supports not selector(:focus-visible){#site-sidebar-controls li input[type=radio]:focus+label,#site-sidebar-controls li input[type=checkbox]:focus+label{animation:focus-in var(--transition);outline:.125rem solid var(--accent-color);outline-offset:.125rem}}#site-sidebar-controls #expand-sidebar-li{display:none}@media only screen and (max-width: 960px){#site-sidebar-controls #expand-sidebar-li{display:inline-block}}#site-sidebar-modes{display:flex;gap:.25rem;transform-origin:left;transition:visibility var(--transition),opacity var(--transition),transform var(--transition)}@media only screen and (max-width: 960px){#site-sidebar-modes{transform:translateX(-2.25rem);visibility:hidden;opacity:0}}#main-content{--padding: 1rem;grid-area:main;transform-origin:50% 50vh;animation:fade-in-zoom var(--transition-bezier-longer);margin-block-start:3.25rem;padding-inline:1rem;width:100%;min-width:0;max-width:calc(var(--content-width) + var(--padding)*2)}@supports(transform-origin: 50% 50dvh){#main-content{transform-origin:50% 50dvh}}#main-content>:first-child{margin-block-start:0}#main-content>:last-child{margin-block-end:0}@keyframes fade-in-zoom{from{transform:scale(0.95);opacity:0}}:target~#main-content{animation-name:none}#↑:target~#main-content,#up:target~#main-content{animation-name:slide-in-up-longer}#↓:target~#main-content,#down:target~#main-content{animation-name:slide-in-down-longer}#←:target~#main-content,#left:target~#main-content{animation-name:slide-in-left-longer}#→:target~#main-content,#right:target~#main-content{animation-name:slide-in-right-longer}#site-sidebar{display:flex;position:sticky;grid-area:sidebar;flex-direction:column;z-index:3;transition-duration:var(--transition);transition-property:visibility,transform,inset-block-start,box-shadow,border-inline-end,border-start-end-radius,border-end-end-radius,height;inset-block-start:0;inset-inline-start:0;border-inline-end:0.0625rem solid var(--bg-muted-2);width:var(--sidebar-width);height:100vh}@supports(height: 100dvh){#site-sidebar{height:100dvh}}@media only screen and (max-width: 960px){#site-sidebar{transform:translateX(-100%);visibility:hidden;inset-block-start:3.25rem;box-shadow:var(--edge-highlight),var(--shadow);border-inline-end:0 solid rgba(0,0,0,0);border-start-end-radius:var(--rounded-corner);border-end-end-radius:var(--rounded-corner);height:calc(100vh - 3.75rem)}:root[dir*=rtl] #site-sidebar{transform:translateX(100%)}@supports(height: 100dvh){#site-sidebar{height:calc(100dvh - 3.75rem)}}#site-header:has(#expand-sidebar:checked)~#site-sidebar{transform:none;visibility:visible;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);background-color:var(--glass-bg-1)}}#site-sidebar-content{display:flex;position:relative;flex:1;overflow:hidden}#site-sidebar-header{display:flex;align-items:center;transform-origin:1.375rem 50%;transition:box-shadow var(--transition),background-color var(--transition),color var(--transition),transform var(--transition-bezier);margin:1rem;margin-block-end:0;border-radius:1.375rem;padding:.25rem;padding-inline-end:.75rem;min-width:0;color:var(--fg-muted-1);text-decoration:none}#site-sidebar-header:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}#site-sidebar-header:hover .icon{background-color:var(--bg-muted-2)}#site-sidebar-header:active{transform:var(--active)}#site-sidebar-header img{margin:0}#site-sidebar-header img,#site-sidebar-header .icon{margin-inline-end:.5rem;border-radius:50%}#site-sidebar-header img{width:2.25rem;height:2.25rem}#site-sidebar-header .icon{transition:background-color var(--transition);box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);padding:.5rem;font-size:1.25rem}#site-sidebar-header div{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0;line-height:1.25}#site-sidebar-header div span:nth-of-type(1){overflow:hidden;font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap}#site-sidebar-header div span:nth-of-type(2){font-weight:var(--font-weight-normal);font-size:var(--font-size-x-small)}#sidebar-nav,#sidebar-meta{display:flex;flex:1;flex-direction:column;transition:visibility var(--transition),opacity var(--transition),filter var(--transition),transform var(--transition-bezier);padding:1rem;width:var(--sidebar-width);min-width:100%;overflow:hidden auto;scrollbar-width:thin}#site-header:has(#site-sidebar-modes #mode-meta:checked)+#site-sidebar #sidebar-nav{transform:perspective(var(--content-width)) rotateY(15deg);opacity:var(--disabled-opacity);filter:blur(0.25rem)}#site-header:has(#site-sidebar-modes #mode-meta:checked)+#site-sidebar #sidebar-meta{transform:perspective(var(--content-width));visibility:visible;opacity:1;filter:none}#sidebar-nav{transform:perspective(var(--content-width));transform-origin:left}:root[dir*=rtl] #sidebar-nav{transform-origin:right}#sidebar-nav a{display:flex;flex:1;align-items:center;transform-origin:1.375rem 50%;transition:box-shadow var(--transition),background-color var(--transition),color var(--transition),transform var(--transition-bezier);border-radius:1.375rem;padding:.25rem;padding-inline-end:.75rem;overflow:hidden;color:var(--fg-muted-1);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}#sidebar-nav a:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--fg-muted-2)}#sidebar-nav a:hover .icon{background-color:var(--bg-muted-2)}#sidebar-nav a:active{transform:var(--active)}#sidebar-nav a[aria-current=page]{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-1);color:var(--accent-color)}#sidebar-nav a[aria-current=page] .icon{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--accent-highlight));color:var(--contrast-color);text-shadow:var(--text-shadow-glow);text-shadow:none}#sidebar-nav a[aria-current=page]:hover{background-color:var(--bg-muted-2)}#sidebar-nav a[aria-current=page]:hover .icon{box-shadow:var(--edge-highlight);background-color:var(--accent-color);color:var(--contrast-color)}#sidebar-nav a.new .icon{position:relative}#sidebar-nav a.new .icon::after{position:absolute;inset-block-start:0.0625rem;inset-inline-end:0.0625rem;border-radius:50%;background-color:var(--accent-color);width:.75rem;height:.75rem;content:""}#sidebar-nav .icon{transition:background-color var(--transition),color var(--transition),box-shadow var(--transition);margin-inline-end:.5rem;box-shadow:var(--edge-highlight);border-radius:50%;background-color:var(--bg-muted-1);padding:.5rem;font-size:1.25rem}#sidebar-nav .icon.fallback{width:1.25rem;font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-medium);line-height:1.25rem;font-family:var(--font-monospace);text-align:center}#sidebar-nav .icon.fallback::before{content:none}#sidebar-nav details{flex:1;margin-block-end:0;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);padding:0}#sidebar-nav details[open] summary{transform:none;opacity:1;box-shadow:none;background-color:rgba(0,0,0,0)}#sidebar-nav details[open] summary::before{transform:none}@supports not (block-size: calc-size(auto, size)){#sidebar-nav details[open] summary~*{animation:none}}#sidebar-nav details summary{display:flex;position:relative;align-items:center;border-radius:0;padding:.75rem 0;color:var(--fg-muted-1);font-weight:var(--font-weight-normal);font-size:var(--font-size-small);line-height:var(--font-size-small);white-space:nowrap}#sidebar-nav details summary:hover{box-shadow:none;background-color:rgba(0,0,0,0)}#sidebar-nav details summary:active{transform:none}#sidebar-nav details summary::before{position:absolute;transform:rotate(-90deg);transition:transform var(--transition-bezier);margin-inline-end:0;inset-block:.5rem;inset-inline-end:0;font-size:1rem}#sidebar-nav details summary .line{flex:1;margin-inline:.5rem 1.5rem;background-color:var(--bg-muted-2);height:0.0625rem}#sidebar-nav details ul{margin-block:0}#sidebar-nav ul{display:flex;flex-direction:column;gap:.25rem;margin-block:auto;padding-inline-start:0;list-style:none}#sidebar-nav li{display:flex;transition:width var(--transition);margin-block:0;padding-inline-start:0;width:100%}#sidebar-meta{position:absolute;transform:perspective(var(--content-width)) rotateY(-30deg);transform-origin:left;visibility:hidden;opacity:0;filter:blur(0.25rem);inset:0}:root[dir*=rtl] #sidebar-meta{transform-origin:right}#sidebar-meta:has(>div:empty) .status-page{display:flex}#sidebar-meta:has(>div:empty)>div{display:none}#sidebar-meta>div{display:flex;flex-direction:column;gap:1rem;margin-block:auto}#sidebar-meta .card{background-color:var(--glass-bg-1)}#sidebar-meta .while-writing{display:inherit;position:relative;flex-direction:inherit;gap:inherit;margin:calc(-0.25rem - 0.0625rem);margin-block-start:1rem;border:0.0625rem solid var(--bg-muted-2);border-block-start:none;border-end-start-radius:calc(var(--rounded-corner) + .25rem + 0.0625rem);border-end-end-radius:calc(var(--rounded-corner) + .25rem + 0.0625rem);padding:.25rem}#sidebar-meta .while-writing .card-title{display:flex;position:absolute;gap:.25rem;inset-block-start:calc(var(--rounded-corner-small)*-1);inset-inline:-0.0625rem;height:var(--rounded-corner-small)}#sidebar-meta .while-writing .card-title .line{border:0.0625rem solid var(--bg-muted-2);border-block-end:none}#sidebar-meta .while-writing .card-title .line:nth-of-type(1){border-inline-end:none;border-start-start-radius:var(--rounded-corner);width:var(--rounded-corner)}#sidebar-meta .while-writing .card-title .line:nth-of-type(2){flex:1;border-inline-start:none;border-start-end-radius:var(--rounded-corner)}#sidebar-meta .while-writing .card-title .title{color:var(--fg-muted-2);font-size:var(--font-size-small);line-height:0}#sidebar-meta .weather{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:1.375rem;padding:.25rem;padding-inline-end:1.25rem;line-height:1}#sidebar-meta .weather.cloudy{animation:perlin 12s linear infinite;background-image:url("/weather/perlin.png")}@media(prefers-color-scheme: dark){#sidebar-meta .weather.cloudy{background-image:url("/weather/perlin-dark.png")}}#sidebar-meta .weather.showers{animation:rain 3s linear infinite;background-image:url("/weather/rain.svg")}@media(prefers-color-scheme: dark){#sidebar-meta .weather.showers{background-image:url("/weather/rain-dark.svg")}}#sidebar-meta .weather.snowing{animation:snow 12s linear infinite;background-image:url("/weather/snow.svg")}@media(prefers-color-scheme: dark){#sidebar-meta .weather.snowing{background-image:url("/weather/snow-dark.svg")}}#sidebar-meta .weather div{display:flex;align-items:center;gap:.5rem}#sidebar-meta .weather .title{color:inherit;font-size:var(--font-size-medium)}#sidebar-meta .weather .icon{box-shadow:var(--edge-highlight);border-radius:50%;background-color:var(--bg-muted-1);padding:.5rem;font-size:1.25rem}#sidebar-meta .weather .condition{color:var(--fg-muted-2);font-size:var(--font-size-small)}@keyframes rain{to{background-position:256px 320px}}@keyframes perlin{to{background-position:-256px -64px}}@keyframes snow{to{background-position:256px 512px}}#sidebar-meta .music{display:flex;position:relative;flex-direction:column;gap:.5rem;border-radius:1rem}#sidebar-meta .music::after{position:absolute;z-index:1;inset:0;box-shadow:var(--edge-highlight);border-radius:inherit;max-height:5rem;pointer-events:none;content:""}#sidebar-meta .music .carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;display:flex;margin-block:0;box-shadow:var(--shadow);border-radius:inherit;background-color:var(--glass-bg-1);padding-inline-start:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;list-style:none}#sidebar-meta .music .carousel li{display:flex;position:relative;flex-shrink:0;gap:1rem;margin-block:0;outline:none;padding:.5rem;width:100%;overflow:hidden;scroll-snap-align:start}#sidebar-meta .music .carousel li.has-cover{animation:cover-alternate 60s ease-in-out infinite;background-image:var(--bg-overlay),var(--blurnail);background-position:center;background-size:2000%}@keyframes cover-alternate{from{background-position:50% 0%}12.5%{background-position:100% 25%}25%{background-position:50% 50%}37.5%{background-position:100% 75%}50%{background-position:50% 100%}62.5%{background-position:0% 75%}75%{background-position:50% 50%}87.5%{background-position:0% 25%}to{background-position:50% 0%}}#sidebar-meta .music .carousel li.has-cover .music-type{color:var(--fg-muted-neutral-1)}#sidebar-meta .music .carousel li.has-cover .music-artist{color:var(--fg-muted-neutral-2)}#sidebar-meta .music .carousel li>div{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:.25rem;margin-inline-end:.5rem;margin-block:.25rem;min-width:0;min-width:0;line-height:1}#sidebar-meta .music .carousel li a{position:absolute;z-index:1;inset:0;border-radius:inherit}#sidebar-meta .music .music-type{color:var(--fg-muted-1);font-size:var(--font-size-xx-small)}#sidebar-meta .music .music-artist{color:var(--fg-muted-2);font-size:var(--font-size-small)}#sidebar-meta .music .title{color:var(--fg-color);font-size:var(--font-size-medium)}#sidebar-meta .music img{margin:0;border-radius:var(--rounded-corner-small)}#sidebar-meta .music-paginator{display:flex;justify-content:center;gap:.25rem;margin-inline:1rem;margin-block:0;padding-inline-start:0;list-style:none}#sidebar-meta .music-paginator li{display:flex;margin-block:0;padding-inline-start:0;height:.75rem}#sidebar-meta .music-paginator a{transition:width var(--transition),height var(--transition),background-color var(--transition),transform var(--transition-bezier);margin-block:auto;border-radius:.375rem;background-color:var(--fg-muted-1);width:1.5rem;height:.375rem}#sidebar-meta .music-paginator a:hover{background-color:var(--fg-muted-2)}#sidebar-meta .music-paginator a:active{transform:var(--active)}#sidebar-meta .music-paginator a.active{background-color:var(--fg-color);width:.75rem;height:.75rem}#sidebar-meta .toc{display:flex;flex-direction:column;max-height:calc(var(--content-width)/3)}@media only screen and (max-width: 720px){#sidebar-meta .toc{max-height:calc(var(--content-width)/2)}}#sidebar-meta .toc .title{margin-block-end:1rem}#sidebar-meta .toc .overshoot{flex:1;margin:-1rem;padding:1rem;overflow:auto;scrollbar-width:thin}#sidebar-meta .toc .overshoot ul{margin-block:0;padding-inline-start:1rem;color:var(--fg-muted-1);font-size:var(--font-size-small)}#sidebar-meta .toc .overshoot li{margin-block:0;padding-inline-start:0}#sidebar-meta .toc .overshoot li::marker{color:inherit}#sidebar-meta .toc .overshoot a{color:inherit;text-decoration:none}#sidebar-meta .status-page{display:none;margin-block:auto;text-align:center}#sidebar-meta .status-page .title,#sidebar-meta .status-page p{color:var(--fg-muted-2)}#sidebar-meta .status-page .icon{margin-inline:auto;color:var(--fg-muted-1);font-size:3rem}#sidebar-meta .status-page p{margin-block:0}[class^=markdown-alert]{display:flow-root;position:relative}[class^=markdown-alert]::before{margin-inline-start:1.5rem;content:var(--alert-title);color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}[class^=markdown-alert]::after{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--alert-icon);position:absolute;margin-inline-end:.25rem;inset-block-start:0.0625rem;inset-inline-start:.75rem;color:var(--accent-color);font-size:1.25rem}[class^=markdown-alert]>:first-child{margin-block-start:.25rem}[class^=markdown-alert]>:last-child{margin-block-end:0}.markdown-alert-note,.markdown-alert-tip,.markdown-alert-important,.markdown-alert-warning,.markdown-alert-caution,.markdown-alert-red,.markdown-alert-orange,.markdown-alert-yellow,.markdown-alert-green,.markdown-alert-blue,.markdown-alert-purple{--accent-color: hsl( var(--accent-light-h), var(--accent-light-s), var(--accent-light-l) );--accent-h: var(--accent-light-h);--accent-s: var(--accent-light-s);--accent-l: var(--accent-light-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.75) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.65) ) );--accent-highlight: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--disabled-opacity) );--bg-muted-1: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-1) );--bg-muted-2: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-2) );--l: clamp(0, (l / 0.623 - 1) * -infinity, 1);--a: calc(var(--l) + (var(--dim-opacity) * (1 - var(--l))));--contrast-color: oklch(from var(--accent-color) var(--l) 0 h / var(--a));--shadow-glow: 0 0 0 0.0625rem var(--bg-muted-2), 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--shadow-glow-inset: inset 0 0 0 0.0625rem var(--bg-muted-2), inset 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), inset 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--text-shadow-glow: var(--bg-muted-2) 0 0 0.25rem, var(--accent-color) 0 0 0.75rem}@media(prefers-color-scheme: dark){.markdown-alert-note,.markdown-alert-tip,.markdown-alert-important,.markdown-alert-warning,.markdown-alert-caution,.markdown-alert-red,.markdown-alert-orange,.markdown-alert-yellow,.markdown-alert-green,.markdown-alert-blue,.markdown-alert-purple{--accent-color: hsl( var(--accent-dark-h), var(--accent-dark-s), var(--accent-dark-l) );--accent-h: var(--accent-dark-h);--accent-s: var(--accent-dark-s);--accent-l: var(--accent-dark-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) - var(--accent-l) * 0.9) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) - var(--accent-l) * 0.8), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.9) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.95) ) )}}.markdown-alert-note::before{content:var(--alert-note-title)}.markdown-alert-note::after{--icon: var(--icon-info)}.markdown-alert-tip::before{content:var(--alert-tip-title)}.markdown-alert-tip::after{--icon: var(--icon-lightbulb)}.markdown-alert-important::before{content:var(--alert-important-title)}.markdown-alert-important::after{--icon: var(--icon-warning-diamond)}.markdown-alert-warning::before{content:var(--alert-warning-title)}.markdown-alert-warning::after{--icon: var(--icon-warning)}.markdown-alert-caution::before{content:var(--alert-caution-title)}.markdown-alert-caution::after{--icon: var(--icon-warning-octagon)}.markdown-alert-caution,.markdown-alert-red{--accent-h: var(--red-h);--accent-s: var(--red-s);--accent-l: var(--red-l);--accent-color: var(--red-fg)}.markdown-alert-orange{--accent-h: var(--orange-h);--accent-s: var(--orange-s);--accent-l: var(--orange-l);--accent-color: var(--orange-fg)}.markdown-alert-warning,.markdown-alert-yellow{--accent-h: var(--yellow-h);--accent-s: var(--yellow-s);--accent-l: var(--yellow-l);--accent-color: var(--yellow-fg)}.markdown-alert-tip,.markdown-alert-green{--accent-h: var(--green-h);--accent-s: var(--green-s);--accent-l: var(--green-l);--accent-color: var(--green-fg)}.markdown-alert-note,.markdown-alert-blue{--accent-h: var(--blue-h);--accent-s: var(--blue-s);--accent-l: var(--blue-l);--accent-color: var(--blue-fg)}.markdown-alert-important,.markdown-alert-purple{--accent-h: var(--purple-h);--accent-s: var(--purple-s);--accent-l: var(--purple-l);--accent-color: var(--purple-fg)}.article-details{display:flex;flex-direction:column;gap:.75rem;margin-block-end:2rem;color:var(--fg-muted-2);font-size:var(--font-size-small)}.article-details .items{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.25rem .5rem}.article-details .item{display:inline-flex;align-items:center;gap:.375rem;border-radius:var(--rounded-corner-small)}.article-details a{color:inherit;font-weight:var(--font-weight-normal);font-size:var(--font-size-small);text-decoration-color:rgba(0,0,0,0)}.article-details a:hover{text-decoration-style:solid;text-decoration-color:var(--fg-muted-1)}.article-details .tooltip{cursor:help}.article-details .icon{box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.375rem;color:var(--accent-color);font-size:1.25rem}.article-details .tags{display:flex;flex-wrap:wrap;gap:0 .5rem;margin:0;border-block-start:0.0625rem solid var(--bg-muted-2);padding-inline-start:0;padding-block-start:.5rem;width:100%;list-style:none}.article-details .tags li{display:flex;margin-block:0;padding:0}.article-details .tags a::before{content:"#"}.article-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(calc(var(--content-width) / 2.5), 1fr));gap:1rem;margin-block-start:2rem}.article-list.categories article{position:relative}.article-list.categories article:hover .icon:last-child{transform:translateY(-50%) rotate(-10deg) scale(1.5)}.article-list.categories article .icon:last-child{position:absolute;transform:translateY(-50%);z-index:-1;transition:transform var(--transition-bezier);inset-block-start:50%;inset-inline-end:-3rem;color:var(--bg-muted-1);font-size:12rem}.article-list article{display:flex;position:relative;flex-direction:column;justify-content:space-between;box-shadow:var(--edge-highlight),var(--shadow);border-radius:1.25rem;background-color:var(--bg-muted-1);padding:0;overflow:hidden}.article-list article.draft{opacity:var(--disabled-opacity);filter:grayscale(1);transition-duration:var(--transition);transition-property:opacity,filter}.article-list article.draft:hover{opacity:1;filter:none}.article-list article.has-banner.has-accent-color{background-image:var(--bg-overlay),var(--blurnail);background-position:center;background-size:cover}.article-list article.has-accent-color{--accent-color: hsl( var(--accent-light-h), var(--accent-light-s), var(--accent-light-l) );--accent-h: var(--accent-light-h);--accent-s: var(--accent-light-s);--accent-l: var(--accent-light-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) - var(--accent-l) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.8), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.9) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.75) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.65) ) );--accent-highlight: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--disabled-opacity) );--bg-muted-1: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-1) );--bg-muted-2: hsla( var(--accent-h), var(--accent-s), var(--accent-l), var(--color-opacity-2) );--l: clamp(0, (l / 0.623 - 1) * -infinity, 1);--a: calc(var(--l) + (var(--dim-opacity) * (1 - var(--l))));--contrast-color: oklch(from var(--accent-color) var(--l) 0 h / var(--a));--shadow-glow: 0 0 0 0.0625rem var(--bg-muted-2), 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--shadow-glow-inset: inset 0 0 0 0.0625rem var(--bg-muted-2), inset 0 0.125rem 0.375rem 0.125rem var(--bg-muted-1), inset 0 0.25rem 1.5rem 0.25rem var(--bg-muted-2);--text-shadow-glow: var(--bg-muted-2) 0 0 0.25rem, var(--accent-color) 0 0 0.75rem}@media(prefers-color-scheme: dark){.article-list article.has-accent-color{--accent-color: hsl( var(--accent-dark-h), var(--accent-dark-s), var(--accent-dark-l) );--accent-h: var(--accent-dark-h);--accent-s: var(--accent-dark-s);--accent-l: var(--accent-dark-l);--bg-color: hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.7), calc(var(--accent-l) - var(--accent-l) * 0.9) );--fg-muted-1: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-1-opacity) );--fg-muted-2: hsla( var(--accent-h), var(--accent-s), calc(var(--accent-l) + (100% - var(--accent-l)) * 0.85), var(--fg-muted-2-opacity) );--glass-bg-1: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.6), calc(var(--accent-l) - var(--accent-l) * 0.8), var(--dim-opacity) );--glass-bg-2: hsla( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7), var(--dim-opacity) );--crt-bg: radial-gradient( hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.7) ), hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.9) ) 80%, hsl( var(--accent-h), calc(var(--accent-s) - var(--accent-s) * 0.5), calc(var(--accent-l) - var(--accent-l) * 0.95) ) )}}.article-list article>div{display:flex;flex:1;flex-direction:column;margin:1rem}.article-list article>div>a{text-decoration:none}.article-list article h3{margin:0;border-inline-start:.25rem solid;border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:.5rem;color:var(--accent-color);font-weight:var(--font-weight-semi-bold);text-decoration:none}.article-list article h3:hover::after{opacity:1}.article-list article h3::after{opacity:0;transition:opacity var(--transition);content:" →"}.article-list article .description p{margin-block-end:.75rem}.article-list article .open-post{--mask-image: linear-gradient( to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 100% );mask-image:var(--mask-image);-webkit-mask-image:var(--mask-image);display:flex;position:relative;justify-content:center;align-items:center;margin-block-end:-2rem;box-shadow:var(--edge-highlight);border-radius:0;aspect-ratio:2/1;overflow:hidden;text-decoration:none}.article-list article .open-post:hover::before{background-color:var(--shade-color)}.article-list article .open-post:hover img{transform:var(--hover);filter:blur(0.25rem)}.article-list article .open-post:hover .icon{transform:none;opacity:1}.article-list article .open-post:active img{transform:none}.article-list article .open-post::before{position:absolute;z-index:1;transition:background-color var(--transition);inset:0;border-radius:inherit;content:""}.article-list article .open-post img{position:absolute;transition-duration:var(--transition);transition-property:transform,filter;margin:0;inset:0;width:100%;height:100%;object-fit:cover}.article-list article .open-post .icon{transform:scale(1.5);opacity:0;z-index:1;transition:transform var(--transition-bezier),opacity var(--transition);color:#fff;font-size:1.25rem}.article-list article .article-details{flex:1;justify-content:flex-end;margin-block-end:0}.article-list article .article-details .tags{margin-block-start:auto;margin-block-end:-0.25rem}.paginator{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-block-start:4rem}.paginator:has(a.paginator-item.previous:active) .paginator-counter{border-start-start-radius:1rem;border-end-start-radius:1rem}.paginator:has(a.paginator-item.next:active) .paginator-counter{border-start-end-radius:1rem;border-end-end-radius:1rem}.paginator-item{display:inline-block;transition:border-radius var(--transition),border-start-end-radius var(--transition),border-end-end-radius var(--transition),border-start-start-radius var(--transition),border-end-start-radius var(--transition),background-color var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:1rem;background-color:var(--bg-muted-1);padding:.5rem;color:var(--accent-color);line-height:0;text-decoration:none}.paginator-item:not([aria-disabled=true]):hover{background-color:var(--bg-muted-2)}.paginator-item:not([aria-disabled=true]):active{transform:var(--active);border-radius:1rem}.paginator-item-previous{border-start-end-radius:var(--rounded-corner-small);border-end-end-radius:var(--rounded-corner-small)}.paginator-item-next{border-start-start-radius:var(--rounded-corner-small);border-end-start-radius:var(--rounded-corner-small)}.paginator-counter{box-shadow:var(--edge-highlight),var(--shadow-glow);background-image:linear-gradient(to bottom right, var(--accent-color), var(--accent-highlight));color:var(--contrast-color);text-shadow:var(--text-shadow-glow);display:inline-block;transition:var(--transition-bezier);transition-property:border-start-start-radius,border-end-start-radius,border-start-end-radius,border-end-end-radius;border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.25rem .5rem;font-weight:var(--font-weight-semi-bold);font-variant-numeric:tabular-nums}.article-nav{display:flex;gap:.25rem}@media only screen and (max-width: 720px){.article-nav{flex-direction:column}}.article-nav-item{flex:1;transition:box-shadow var(--transition),background-color var(--transition),transform var(--transition-bezier);border-radius:var(--rounded-corner);padding:.75rem 1rem;min-width:0;text-decoration:none}.article-nav-item:hover{box-shadow:var(--edge-highlight),var(--shadow);background-color:var(--bg-muted-1)}.article-nav-item:hover .article-title{color:var(--accent-color)}.article-nav-item:active{transform:var(--active)}.article-nav-item.prev{text-align:start}.article-nav-item.prev .nav-arrow::before{content:"← "}.article-nav-item.next{text-align:end}.article-nav-item.next .nav-arrow::after{content:" →"}.article-nav .nav-arrow{margin-block-end:.5rem;color:var(--fg-muted-2);font-weight:var(--font-weight-normal);font-size:var(--font-size-small)}.article-nav .article-title{display:block;transition:color var(--transition);max-width:100%;overflow:hidden;color:var(--fg-muted-1);text-overflow:ellipsis;white-space:nowrap}.audio{transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding-inline:.375rem;text-decoration:none;padding-block:0;color:var(--accent-color);font-size:var(--font-size-medium)}.audio:hover{color:var(--accent-color) !important}.audio:hover .icon{animation:speaker var(--transition-long) ease-out infinite}@keyframes speaker{from{--icon: var(--icon-speaker-none)}50%{--icon: var(--icon-speaker-low)}to{--icon: var(--icon-speaker-high)}}.audio:active{transform:var(--active)}.audio .icon{vertical-align:-0.1875rem;margin-inline-start:.25rem}body.has-banner{background-image:var(--bg-overlay),var(--blurnail);background-position:center;background-size:cover;background-attachment:fixed}#banner{--mask: linear-gradient(black calc(100% - 2rem), transparent);-webkit-mask-image:var(--mask);display:flex;grid-area:banner;justify-content:center;mask-image:var(--mask);margin-block-end:-2.5rem;padding-block:3.25rem 2.5rem;width:100%}#banner div{position:relative;margin-inline:1rem;aspect-ratio:2/1;width:100%;max-width:var(--content-width)}#banner img{position:absolute;margin:0;inset:0;border-radius:var(--rounded-corner) var(--rounded-corner) 0 0 !important;aspect-ratio:2/1;width:100%;object-fit:cover}#banner img:nth-of-type(1){opacity:var(--dim-opacity);z-index:-1;filter:blur(1.5rem);animation:banner-glow-load calc(.525s + var(--transition-long));inset-block-start:1rem}@keyframes banner-glow-load{from,52.5%{opacity:0}}#banner img:nth-of-type(2){transform-origin:bottom;animation:banner-load calc(.525s + var(--transition-longer))}@keyframes banner-load{from,52.5%{transform:translateY(2rem) scale(0.95);opacity:0}}#banner+#main-content{margin-block-start:0}#banner+#main-content article>h1:first-of-type,#banner+#main-content h1:first-of-type{margin-inline:-1rem;margin-block:0;border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;padding:1rem;width:unset;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);animation:banner-heading calc(.525s + var(--transition-longer));box-shadow:inset 0 0.0625rem 0 var(--accent-highlight);background-image:linear-gradient(to bottom, var(--bg-muted-1), transparent 50%);background-size:auto 200%;text-decoration:none}@keyframes banner-heading{from,52.5%{box-shadow:none;background-position-y:100%}}#comments #qrcode{float:inline-end;cursor:help;box-sizing:content-box;margin-inline-start:1rem;margin-block-start:3rem;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:#fff;padding:.75rem;width:7.25rem;height:7.25rem}#comments #qrcode svg{pointer-events:none}@media only screen and (max-width: 720px){#comments #qrcode{display:none}}#comments #comments-wrapper{display:flex;flex-direction:column;gap:2rem;margin-block-start:2rem}#comments #comments-wrapper #comments-status{color:var(--fg-muted-1);font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-x-large);text-align:center}#comments #comments-wrapper .comment{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar header " "...... post " "...... media " "...... card " "...... interactions";column-gap:1rem;justify-items:start;animation:slide-in-right var(--transition-bezier)}:root[dir*=rtl] #comments #comments-wrapper .comment{animation:slide-in-left var(--transition-bezier)}@media only screen and (max-width: 720px){#comments #comments-wrapper .comment{grid-template-areas:"avatar header " "post post " "media media " "card card " "interactions interactions";align-items:start}}#comments #comments-wrapper .comment.comment-reply{position:relative;border-inline-start:.25rem solid var(--bg-muted-2);border-start-start-radius:.25rem;border-end-start-radius:.25rem;padding-inline-start:1rem}#comments #comments-wrapper .comment.comment-reply:has(+.comment-reply){border-end-start-radius:0}#comments #comments-wrapper .comment.comment-reply+.comment-reply{margin-block-start:-2rem;border-start-start-radius:0;padding-block-start:2rem}#comments #comments-wrapper .comment .avatar-link{grid-area:avatar;width:4rem;height:4rem}@media only screen and (max-width: 480px){#comments #comments-wrapper .comment .avatar-link{width:3rem;height:3rem}}#comments #comments-wrapper .comment .avatar-link .avatar{transition:transform var(--transition-bezier);margin:0;background-size:cover;width:100%;height:100%}#comments #comments-wrapper .comment .avatar-link .avatar:hover{transform:rotate(10deg) var(--hover);border-radius:var(--rounded-corner)}#comments #comments-wrapper .comment .avatar-link .avatar:active{transform:var(--active)}#comments #comments-wrapper .comment .mention{transition:all var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding-inline:.375rem;text-decoration:none;display:inline-block}#comments #comments-wrapper .comment .mention:hover{background-color:var(--bg-muted-2)}#comments #comments-wrapper .comment .mention:active{transform:var(--active)}#comments #comments-wrapper .comment .invisible{display:none}#comments #comments-wrapper .comment .ellipsis::after{content:"…"}#comments #comments-wrapper .comment header{display:flex;grid-area:header;flex-direction:column;width:100%;min-width:0;color:var(--fg-muted-1);line-height:1}#comments #comments-wrapper .comment header .display,#comments #comments-wrapper .comment header .instance{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#comments #comments-wrapper .comment header .display{color:var(--fg-color);line-height:1.5rem;text-decoration:none}#comments #comments-wrapper .comment header .display .emoji{cursor:unset}#comments #comments-wrapper .comment header .display .emoji:hover{transform:none}#comments #comments-wrapper .comment header .instance{margin-block-start:.25rem;font-weight:var(--font-weight-semi-bold);font-size:var(--font-size-x-small)}#comments #comments-wrapper .comment header .instance.op{cursor:help}#comments #comments-wrapper .comment header .instance.op::before{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--icon-seal-check);display:inline-block;vertical-align:text-top;margin-inline-end:.25rem;font-size:1rem}#comments #comments-wrapper .comment header .timestamp{margin-block-start:.25rem}#comments #comments-wrapper .comment header .timestamp a{color:inherit;font-size:var(--font-size-x-small);text-decoration-color:rgba(0,0,0,0)}#comments #comments-wrapper .comment header .timestamp a:hover{text-decoration-style:solid;text-decoration-color:inherit}#comments #comments-wrapper .comment header .timestamp a::after{vertical-align:top}#comments #comments-wrapper .comment details{border-radius:var(--rounded-corner-small);background-image:linear-gradient(to right, transparent, transparent 0.5rem, var(--bg-muted-1) 0.5rem, var(--bg-muted-1) calc(100% - 0.5rem), transparent calc(100% - 0.5rem), transparent),linear-gradient(to right, transparent, transparent 0.5rem, var(--bg-color) 0.5rem, var(--bg-color) calc(100% - 0.5rem), transparent calc(100% - 0.5rem), transparent),repeating-linear-gradient(45deg, var(--contrast-color), var(--contrast-color) 0.25rem, var(--accent-color) 0.25rem, var(--accent-color) 0.5rem);width:100%}#comments #comments-wrapper .comment details summary{border-radius:0;background-image:none}#comments #comments-wrapper .comment main{grid-area:post;justify-self:stretch;margin-block-start:1rem;padding:0}#comments #comments-wrapper .comment main :first-child{margin-block-start:0}#comments #comments-wrapper .comment main :last-child{margin-block-end:0}#comments #comments-wrapper .comment .attachments{display:grid;grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));grid-area:media;gap:.5rem;margin-block-start:1rem}#comments #comments-wrapper .comment .attachments img,#comments #comments-wrapper .comment .attachments video{margin:0}#comments #comments-wrapper .comment .meta-card{grid-area:card;transition:transform var(--transition-bezier);margin-block-start:1rem;width:min(var(--content-width)/2,100%);font-weight:var(--font-weight-normal);text-decoration:none}#comments #comments-wrapper .comment .meta-card:hover img{transform:var(--hover);box-shadow:var(--edge-highlight),var(--shadow-raised);border-radius:var(--rounded-corner-small)}#comments #comments-wrapper .comment .meta-card:hover figcaption{border-radius:var(--rounded-corner);background-color:var(--bg-muted-2)}#comments #comments-wrapper .comment .meta-card:active{transform:var(--active)}#comments #comments-wrapper .comment .meta-card figure{display:flex;flex-direction:column;gap:.25rem;margin:0}#comments #comments-wrapper .comment .meta-card figure img{margin:0;border-radius:var(--rounded-corner) var(--rounded-corner) var(--rounded-corner-small) var(--rounded-corner-small);aspect-ratio:16/9;object-fit:cover}#comments #comments-wrapper .comment .meta-card figure img+figcaption{border-radius:var(--rounded-corner-small) var(--rounded-corner-small) var(--rounded-corner) var(--rounded-corner)}#comments #comments-wrapper .comment .meta-card figure figcaption{display:flex;flex-direction:column;gap:.25rem;transition-duration:var(--transition);transition-property:border-radius,background-color;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:1rem;color:var(--fg-color);font-size:var(--font-size-medium);text-align:start}#comments #comments-wrapper .comment .meta-card figure figcaption p{margin:0;color:var(--fg-muted-2);font-size:var(--font-size-small)}#comments #comments-wrapper .comment footer{display:flex;grid-area:interactions;align-items:center;gap:.25rem;margin-block-start:1rem;width:100%;min-width:0}@media only screen and (max-width: 480px){#comments #comments-wrapper .comment footer{flex-wrap:wrap}}#comments #comments-wrapper .comment footer .boosts,#comments #comments-wrapper .comment footer .faves,#comments #comments-wrapper .comment footer .reaction{padding:.375rem .75rem;font-variant-numeric:tabular-nums;white-space:nowrap}#comments #comments-wrapper .comment footer .boosts,#comments #comments-wrapper .comment footer .faves{transition:box-shadow var(--transition),border-radius var(--transition),transform var(--transition-bezier);border-radius:1.125rem;text-decoration:none}#comments #comments-wrapper .comment footer .boosts .icon,#comments #comments-wrapper .comment footer .faves .icon{vertical-align:-0.125rem;transition:transform var(--transition-bezier);margin-inline-end:.25rem}#comments #comments-wrapper .comment footer .boosts:hover,#comments #comments-wrapper .comment footer .faves:hover{box-shadow:var(--edge-highlight);text-decoration:none}#comments #comments-wrapper .comment footer .boosts:active,#comments #comments-wrapper .comment footer .faves:active{transform:var(--active);border-radius:1.125rem}#comments #comments-wrapper .comment footer .boosts{border-start-end-radius:var(--rounded-corner-small);border-end-end-radius:var(--rounded-corner-small);padding-inline-end:.625rem;color:var(--purple-fg)}#comments #comments-wrapper .comment footer .boosts .icon{--icon: var(--icon-repeat)}#comments #comments-wrapper .comment footer .boosts:hover{background-color:var(--purple-bg-1)}#comments #comments-wrapper .comment footer .boosts:hover .icon{transform:rotate(180deg)}#comments #comments-wrapper .comment footer .faves{border-start-start-radius:var(--rounded-corner-small);border-end-start-radius:var(--rounded-corner-small);padding-inline-start:.625rem;color:var(--yellow-fg)}#comments #comments-wrapper .comment footer .faves .icon{--icon: var(--icon-star)}#comments #comments-wrapper .comment footer .faves:hover{background-color:var(--yellow-bg-1)}#comments #comments-wrapper .comment footer .faves:hover .icon{transform:rotate(72deg)}#comments #comments-wrapper .comment footer .reactions{display:flex;gap:.25rem;margin:-0.5rem -1rem;padding:.5rem 1rem;min-width:0;overflow-x:auto;scrollbar-width:none;color:var(--accent-color);font-weight:var(--font-weight-semi-bold)}#comments #comments-wrapper .comment footer .reactions .reaction{display:flex;flex-shrink:0;align-items:center;gap:.25rem;cursor:zoom-in;border:0.0625rem solid var(--bg-muted-2);border-radius:1.1875rem}#comments #comments-wrapper .comment footer .reactions .reaction:hover .emoji{transform:scale(2)}#comments #comments-wrapper .comment footer .reactions .reaction .emoji{cursor:unset}#comments #comments-wrapper .comment footer .reactions .reaction span{font-variant-numeric:tabular-nums}.emoji{display:inline-block;vertical-align:bottom;transition:transform var(--transition-bezier);cursor:zoom-in;margin:0;box-shadow:none;border-radius:0;background-color:rgba(0,0,0,0);width:1.5rem;height:1.5rem}.emoji:hover{transform:scale(2)}.emoji.big{width:3rem;height:3rem}.footnotes-list p{margin-block:0}.footnote-reference{display:inline-flex;vertical-align:baseline;transition:background-color var(--transition),outline-offset calc(var(--transition-long)*3),transform var(--transition-bezier);margin-inline-start:.25rem;outline-offset:calc(var(--content-width)/2) !important;border-radius:.6875em;background-color:var(--fg-muted-1);line-height:1.375em}.footnote-reference:hover{background-color:var(--accent-color)}.footnote-reference:hover a::after{mask-position:center 1.125rem}.footnote-reference:active{transform:var(--active)}.footnote-reference:target{animation:none !important;outline-offset:-0.1875rem !important;background-color:var(--accent-color)}.footnote-reference a{flex:1;border-radius:inherit;padding-inline:0.5625rem 0.375rem;color:var(--bg-color);font-size:var(--font-size-small);font-variant-numeric:tabular-nums;text-align:center;text-decoration:none}.footnote-reference a::after{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:"";--icon: var(--icon-caret-down);display:inline-block;vertical-align:-0.4375rem;mask-position:center;mask-size:1em;transition:mask-position var(--transition);margin-inline-start:.25rem;height:1.375rem}.giallo:has(.giallo-ln){padding-inline:0}.giallo-l{display:inline-block;width:100%}.giallo-ln{display:inline-block;margin-right:1ch;min-width:3ch;user-select:none;text-align:right}.icon{font-style:normal;font-variant:normal;font-weight:normal;line-height:1;user-select:none;text-transform:none;-webkit-user-select:none;display:inline-block;box-sizing:content-box}.icon::before{-webkit-mask-image:var(--icon);-webkit-mask-size:cover;display:block;mask-image:var(--icon);mask-size:cover;background-color:currentColor;width:1em;height:1em;content:""}iframe.vimeo-embed,iframe.youtube-embed{aspect-ratio:16/9}.marquee{margin-inline:-1rem;padding-inline:1rem;overflow:hidden}.marquee.overshoot-row>*{animation:marquee-scroll calc((var(--text-width) + var(--container-width))/40*1s) linear infinite}@keyframes marquee-scroll{0%,10%{transform:translateX(0)}45%,55%{transform:translateX(calc((var(--container-width) - var(--text-width)) * 1px))}90%,100%{transform:translateX(0)}}.marquee>*{display:inline-block;white-space:nowrap}picture#not-found{display:block}picture#not-found img{width:8rem}img#not-found{width:8rem}.pre-container{position:relative;margin:1rem 0 1rem;box-shadow:var(--shadow);border-radius:var(--rounded-corner)}.pre-container::after{position:absolute;inset:0;box-shadow:var(--edge-highlight);border-radius:inherit;pointer-events:none;content:""}.pre-container .header{display:flex;justify-content:space-between;align-items:center;transition:border-block-end-color var(--transition);border-radius:var(--rounded-corner) var(--rounded-corner) 0 0;border-block-end:0.0625rem solid rgba(0,0,0,0);background-image:linear-gradient(to right, transparent 50%, var(--bg-muted-neutral-1) 75%, transparent 100%);background-size:200%;padding:.25rem}.pre-container .header:not(.z-l-code),.pre-container .header:not(.z-d-code){background-color:var(--bg-muted-1);color:var(--accent-color)}.pre-container .header:not(.z-l-code) button:hover,.pre-container .header:not(.z-d-code) button:hover{background-color:var(--bg-muted-1)}.pre-container .header:not(.z-l-code).active,.pre-container .header:not(.z-d-code).active{border-block-end-color:var(--bg-muted-1)}.pre-container .header:not(.z-l-code).active button,.pre-container .header:not(.z-d-code).active button{background-color:var(--bg-muted-1)}.pre-container .header span{margin-inline-start:.75rem;font-weight:var(--font-weight-semi-bold)}.pre-container .header button{position:relative;transition:box-shadow var(--transition),background-color var(--transition),transform var(--transition-bezier);cursor:pointer;box-shadow:none;border-radius:var(--rounded-corner-small);background-color:rgba(0,0,0,0);padding:.5rem;color:inherit;line-height:0}.pre-container .header button:hover{box-shadow:var(--edge-highlight);background-color:var(--bg-muted-neutral-1)}.pre-container .header button:active{transform:var(--active)}.pre-container .header button:disabled{cursor:not-allowed}.pre-container .header button:disabled:active{transform:none}.pre-container .header button .icon{transition:opacity var(--transition-longer),transform var(--transition-bezier-longer);font-size:1rem}.pre-container .header button .icon.copy{--icon: var(--icon-copy);transform-origin:bottom left}.pre-container .header button .icon.check{--icon: var(--icon-check-square-offset);position:absolute;transform:scale(0.5);transform-origin:top right;opacity:0;inset:.5rem}.pre-container .header.active{animation:active-shimmer var(--transition-long);border-block-end-color:var(--bg-muted-neutral-1)}.pre-container .header.active button{opacity:1}.pre-container .header.active button .icon.copy{transform:scale(0.5);opacity:0}.pre-container .header.active button .icon.check{transform:none;opacity:1}@keyframes active-shimmer{to{background-position-x:-200%}}.pre-container pre{margin:0;box-shadow:none;border-radius:0 0 var(--rounded-corner) var(--rounded-corner)}#search-modal{display:flex;position:fixed;flex-direction:column;align-items:center;visibility:hidden;opacity:0;z-index:9999;transition:visibility var(--transition),opacity var(--transition);inset:0;background-color:var(--shade-color);padding-block-start:15vh;width:100%;height:100vh}#search-modal.active{visibility:visible;opacity:1}#search-modal.active #search-modal-content{transform:none}#search-modal-content{display:flex;flex-direction:column;gap:1rem;transform:var(--hover);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);transition:border-radius var(--transition),padding var(--transition),max-width var(--transition),transform var(--transition-bezier-longer);margin:-0.5rem;box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:2.25rem 2.25rem 1.75rem 1.75rem;background-color:var(--glass-bg-1);padding:1rem;width:calc(100% - 2rem);max-width:calc(var(--content-width)/1.5);overflow:hidden}#search-modal-content:has(#search-results:empty){border-radius:1.75rem;padding:.5rem;max-width:calc(var(--content-width)/2)}#search-modal-content>div{position:relative}#search-modal #search-input{flex-shrink:0;box-shadow:var(--edge-highlight);border-radius:9999px;padding:0 1rem;width:100%;height:2.5rem}#search-modal #search-input:placeholder-shown+div .icon{transform:none;opacity:var(--disabled-opacity);pointer-events:all}#search-modal #search-input+div .icon{position:absolute;transform:translateX(0.5rem);opacity:0;transition:opacity var(--transition),transform var(--transition-bezier);cursor:help;inset-block-start:.625rem;inset-inline-end:1rem;pointer-events:none;color:var(--fg-muted-2);font-size:1.25rem}#search-modal #search-results{display:none;flex:1;flex-direction:column;gap:.5rem;margin:-1rem;padding:1rem;max-height:50vh;overflow:auto;scrollbar-width:thin}#search-modal #search-results .item{display:inline-flex;flex-direction:column;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner);background-color:var(--bg-muted-1);padding:.75rem 1rem}#search-modal #search-results .item a{text-decoration:none}#search-modal #search-results .item a::after{content:" →"}#search-modal #search-results .item span{margin-block-start:.25rem;border-block-start:rpx(1) solid var(--bg-muted-2);padding-block-start:.25rem;color:var(--fg-muted-2)}#search-modal #search-results .item span strong{color:var(--fg-color)}#skip-to-content{position:absolute;transform:translateX(-50%) translateY(calc(-100% - 1rem));z-index:9999;transition:backdrop-filter var(--transition),box-shadow var(--transition),transform var(--transition-bezier);inset-inline-start:50vw;border-radius:9999px;background-color:var(--glass-bg-1);padding:.375rem .75rem;width:max-content;text-decoration:none}#skip-to-content:focus-visible,#skip-to-content:focus{-webkit-backdrop-filter:var(--blur);transform:translateX(-50%) translateY(1rem);backdrop-filter:var(--blur);box-shadow:var(--edge-highlight),var(--shadow)}.statement-container{margin:1rem 0;box-shadow:var(--edge-highlight),var(--shadow);border-radius:var(--rounded-corner);padding:1rem}.statement-container :last-child{margin-block-end:0}.statement-container>:nth-child(2){margin-block-start:.5rem}.statement-container .title{font-weight:var(--font-weight-semi-bold)}.statement-container .title .icon{vertical-align:-0.125rem;margin-inline-end:.25rem}.statement-container.archive{--accent-color: var(--purple-fg);--accent-highlight: hsla( var(--purple-h), var(--purple-s), var(--purple-l), var(--disabled-opacity) );background-color:var(--purple-bg-1);color:var(--purple-fg)}.statement-container.disclaimer{--accent-color: var(--red-fg);--accent-highlight: hsla( var(--red-h), var(--red-s), var(--red-l), var(--disabled-opacity) );background-color:var(--red-bg-1);color:var(--red-fg)}.statement-container.trigger{--accent-color: var(--yellow-fg);--accent-highlight: hsla( var(--yellow-h), var(--yellow-s), var(--yellow-l), var(--disabled-opacity) );background-color:var(--yellow-bg-1);color:var(--yellow-fg)}#tag-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding-inline-start:0;list-style:none}#tag-chips li{display:flex;margin-block:0;padding-inline-start:0}#tag-chips a{display:flex;transition:background-color var(--transition),color var(--transition),transform var(--transition-bezier);box-shadow:var(--edge-highlight);border-radius:1rem;background-color:var(--bg-muted-1);padding:.25rem;padding-inline-start:.75rem;color:var(--fg-muted-1);font-size:var(--font-size-small);line-height:1.5rem;text-decoration:none}#tag-chips a:hover{background-color:var(--bg-muted-2);color:var(--fg-muted-2)}#tag-chips a:active{transform:var(--active)}#tag-chips a::before{content:"#"}#tag-chips a .counter{transition:inherit;margin-inline-start:.375rem;box-shadow:var(--edge-highlight);border-radius:inherit;background-color:inherit;aspect-ratio:1/1;height:1.5rem;line-height:1.5rem;font-variant-numeric:tabular-nums;text-align:center}h1:hover .zola-anchor,h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,h5:hover .zola-anchor,h6:hover .zola-anchor{transform:none;opacity:1}h1:has(.zola-anchor),h2:has(.zola-anchor),h3:has(.zola-anchor),h4:has(.zola-anchor),h5:has(.zola-anchor),h6:has(.zola-anchor){position:relative}.zola-anchor{position:absolute;transform:translateX(0.25em);opacity:0;transition:color var(--transition),opacity var(--transition),transform var(--transition-bezier);inset-inline-start:-1.25em;padding-inline-end:.25em;color:var(--fg-muted-1);line-height:1}@media only screen and (max-width: 720px){.zola-anchor{display:none}}.zola-anchor:hover{color:var(--fg-muted-2)}.zola-anchor:active{transform:var(--active)}.zola-anchor:focus-visible{opacity:1}:target .zola-anchor{transform:none;opacity:var(--disabled-opacity)}body>div:last-child:has(div:last-child[style]:not([class]):not([id])){z-index:9999 !important;background-color:var(--shade-color) !important}body>div:last-child>div:last-child[style]:not([class]):not([id]){box-shadow:var(--edge-highlight),var(--shadow-glass);border-radius:calc(var(--rounded-corner) + 1rem) !important;background-color:hsla(var(--red-h), calc(var(--red-s) - var(--red-s) * 0.7), calc(var(--red-l) + (100% - var(--red-l)) * 0.9), var(--dim-opacity)) !important;padding:1rem !important;width:fit-content;max-width:calc(100% - 2rem);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);filter:none !important}@media(prefers-color-scheme: dark){body>div:last-child>div:last-child[style]:not([class]):not([id]){background-color:hsla(var(--red-h), calc(var(--red-s) - var(--red-s) * 0.6), calc(var(--red-l) - var(--red-l) * 0.8), var(--dim-opacity)) !important}}body>div:last-child>div:last-child[style]:not([class]):not([id])>p[style]:first-child{margin-block-end:1rem !important;color:var(--red-fg) !important;font-weight:var(--font-weight-semi-bold) !important;font-size:var(--font-size-large) !important}body>div:last-child>div:last-child[style]:not([class]):not([id])>pre[style]:last-child{border-radius:var(--rounded-corner) !important;background-color:var(--red-bg-1) !important;padding:.75rem 1rem !important;color:var(--red-fg) !important;font-weight:var(--font-weight-normal) !important} diff --git a/styles/vars.css b/styles/vars.css new file mode 100644 index 0000000..82e9b14 --- /dev/null +++ b/styles/vars.css @@ -0,0 +1,20 @@ +:root { + --alert-note-title: "Note"; + --alert-tip-title: "Tip"; + --alert-important-title: "Important"; + --alert-warning-title: "Warning"; + --alert-caution-title: "Caution"; + + --font-sans-serif: "Commissioner"; + --font-system-ui: ui-sans-serif, system-ui, sans-serif; + --font-emoji: "Noto Color Emoji"; + --font-monospace: "Commit Mono"; + + --icon-info: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/info.svg"); + --icon-lightbulb: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/lightbulb.svg"); + --icon-warning-diamond: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/warning-diamond.svg"); + --icon-warning: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/warning.svg"); + --icon-warning-octagon: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/warning-octagon.svg"); + --icon-copy: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/copy.svg"); + --icon-check-square-offset: url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/check-square-offset.svg"); +}
${result.item.title}`; + + for (const match of result.matches) { + if (match.key === "title") continue; + + const indices = match.indices.sort((a, b) => Math.abs(a[1] - a[0] - searchVal.length) - Math.abs(b[1] - b[0] - searchVal.length)).slice(0, MAX_RESULTS); + const value = match.value; + + for (const ind of indices) { + const start = Math.max(0, ind[0] - TEASER_SIZE); + const end = Math.min(value.length - 1, ind[1] + TEASER_SIZE); + output += "" + + value.substring(start, ind[0]) + + `${value.substring(ind[0], ind[1] + 1)}` + + value.substring(ind[1] + 1, end) + + ""; + } + + if (match.indices.length > MAX_RESULTS) { + const moreMatchesText = document.getElementById("more-matches-text").textContent; + output += `${moreMatchesText}`.replace("$MATCHES", `+${match.indices.length - MAX_RESULTS}`); + } + } + return output + "