From 940a78e8ee0b2035ef56ceee4f1a869fbac069eb Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Tue, 22 Sep 2026 17:55:22 +0200 Subject: [PATCH] The editor ships its own font, Source Sans 3 and Code Pro (#202) Theme named Inter and JetBrains Mono, but neither was ever shipped, so every machine drew the editor in whatever it had installed. The e2e runs measured text in a different face than the user saw. - Five Latin woff2 faces live in src/ui/fonts/ next to their OFL licences: Source Sans 3 400/500/600/700 and Source Code Pro 400. - fonts.ts loads them through FontFace, and main.ts waits for them before the first widget exists, so Pixi measures the real face. - A face that fails to load is reported in the console and the system fallback in Theme takes over. - Theme is retuned by hand: 12 px body, 22 px rows, smaller gaps and padding, radius 8, and weight 500 for bold and headings. - The scene background default follows Theme.colors.graphBackground. This makes core import from ui for the first time. Findings: - The 500 file is in the folder but fonts.ts does not register it yet, so weight 500 currently falls back to the 400 face. Tests: - ./check.sh: 141 files, 2080 tests, exit 0. - e2e not run. Checks that measure widths or row positions are expected to need updating for the new metrics. Co-Authored-By: Claude Opus 5 --- src/core/properties/PropertySchema.ts | 3 +- src/main.ts | 4 +- src/ui/Theme.ts | 23 ++--- src/ui/fonts.ts | 27 +++++ src/ui/fonts/OFL-source-code-pro.txt | 93 ++++++++++++++++++ src/ui/fonts/OFL-source-sans-3.txt | 93 ++++++++++++++++++ .../source-code-pro-latin-400-normal.woff2 | Bin 0 -> 11656 bytes .../source-sans-3-latin-400-normal.woff2 | Bin 0 -> 15696 bytes .../source-sans-3-latin-500-normal.woff2 | Bin 0 -> 15652 bytes .../source-sans-3-latin-600-normal.woff2 | Bin 0 -> 15668 bytes .../source-sans-3-latin-700-normal.woff2 | Bin 0 -> 15596 bytes src/ui/index.ts | 1 + 12 files changed, 231 insertions(+), 13 deletions(-) create mode 100644 src/ui/fonts.ts create mode 100644 src/ui/fonts/OFL-source-code-pro.txt create mode 100644 src/ui/fonts/OFL-source-sans-3.txt create mode 100644 src/ui/fonts/source-code-pro-latin-400-normal.woff2 create mode 100644 src/ui/fonts/source-sans-3-latin-400-normal.woff2 create mode 100644 src/ui/fonts/source-sans-3-latin-500-normal.woff2 create mode 100644 src/ui/fonts/source-sans-3-latin-600-normal.woff2 create mode 100644 src/ui/fonts/source-sans-3-latin-700-normal.woff2 diff --git a/src/core/properties/PropertySchema.ts b/src/core/properties/PropertySchema.ts index bb3ac478..d34bca20 100644 --- a/src/core/properties/PropertySchema.ts +++ b/src/core/properties/PropertySchema.ts @@ -64,6 +64,7 @@ import { } from './particles'; import { SHADER_KEY, shaderOf, shaderParamDefs } from './shaders'; import { LOOP_KEY as SOUND_LOOP_KEY, VOLUME_KEY as SOUND_VOLUME_KEY } from './sounds'; +import { Theme } from '../../ui'; /** * What a kind's definition carries beyond key, label and default. `decimals` belongs only on @@ -250,7 +251,7 @@ export function isValidVariableName(name: string): boolean { /** Position is deliberately absent: it belongs to scene objects, not to asset types. */ const ASSET_SCHEMAS: Record = { scene: [ - { key: 'backgroundColor', label: 'Background', kind: 'color', default: 0x2a2d34 }, + { key: 'backgroundColor', label: 'Background', kind: 'color', default: Theme.colors.graphBackground }, // Pulls on every dynamic rigidbody, in world units per second squared: 980 is Earth at 100 px = 1 m. { key: 'gravityX', label: 'Gravity X', kind: 'number', default: 0, step: 10 }, { key: 'gravityY', label: 'Gravity Y', kind: 'number', default: 980, step: 10 }, diff --git a/src/main.ts b/src/main.ts index a678e080..685d64dd 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import { Application, Container } from 'pixi.js'; import { captureConsole } from './editor/console/log'; import { startEditor } from './editor/App'; import { mountPlayground } from './playground'; -import { initRenderLoop, initUI, Theme, VStack } from './ui'; +import { initRenderLoop, initUI, loadEditorFonts, Theme, VStack } from './ui'; // Before anything else: a renderer warns while it is being created, and those warnings are // exactly the ones worth having in the panel. @@ -27,6 +27,7 @@ function lowLatencyContext(): { canvas?: HTMLCanvasElement; context?: WebGL2Rend async function main(): Promise { const params = new URLSearchParams(location.search); + const fonts = loadEditorFonts(); const app = new Application(); await app.init({ resizeTo: window, @@ -38,6 +39,7 @@ async function main(): Promise { ...(params.has('vsync') ? {} : lowLatencyContext()), }); document.body.appendChild(app.canvas); + await fonts; const root = new VStack(); const overlay = new Container(); diff --git a/src/ui/Theme.ts b/src/ui/Theme.ts index a50fbd7f..e37242f6 100644 --- a/src/ui/Theme.ts +++ b/src/ui/Theme.ts @@ -2,21 +2,22 @@ import { TextStyle } from 'pixi.js'; export const Theme = { - font: 'Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', - monoFont: '"JetBrains Mono", Consolas, "Courier New", monospace', - fontSize: 13, + // Both ship with the build (`fonts.ts`); the rest only covers glyphs outside their Latin subset. + font: '"Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif', + monoFont: '"Source Code Pro", Consolas, "Courier New", monospace', + fontSize: 12, smallFontSize: 11, viewportLabelSize: 10, - rowHeight: 26, + rowHeight: 22, controlHeight: 24, padding: 8, - gap: 6, - radius: 4, - fieldPadding: 6, + gap: 4, + radius: 8, + fieldPadding: 4, checkboxSize: 16, - scrollbarWidth: 6, + scrollbarWidth: 4, /** Horizontal indent per nesting level in tree lists. */ - treeIndent: 14, + treeIndent: 12, hoverCursor: 'default', colors: { background: 0x1b1d22, @@ -108,7 +109,7 @@ export function textStyle(token: TextStyleToken = 'body'): TextStyle { style = new TextStyle(base); break; case 'bodyBold': - style = new TextStyle({ ...base, fontWeight: '600' }); + style = new TextStyle({ ...base, fontWeight: '500' }); break; case 'muted': style = new TextStyle({ ...base, fill: Theme.colors.textMuted }); @@ -129,7 +130,7 @@ export function textStyle(token: TextStyleToken = 'body'): TextStyle { style = new TextStyle({ ...base, fontSize: Theme.smallFontSize, - fontWeight: '700', + fontWeight: '500', letterSpacing: 0.5, fill: Theme.colors.textMuted, }); diff --git a/src/ui/fonts.ts b/src/ui/fonts.ts new file mode 100644 index 00000000..886222a7 --- /dev/null +++ b/src/ui/fonts.ts @@ -0,0 +1,27 @@ +import codePro400 from './fonts/source-code-pro-latin-400-normal.woff2?url'; +import sans400 from './fonts/source-sans-3-latin-400-normal.woff2?url'; +import sans600 from './fonts/source-sans-3-latin-600-normal.woff2?url'; +import sans700 from './fonts/source-sans-3-latin-700-normal.woff2?url'; + +const FACES: readonly [family: string, url: string, weight: string][] = [ + ['Source Sans 3', sans400, '400'], + ['Source Sans 3', sans600, '600'], + ['Source Sans 3', sans700, '700'], + ['Source Code Pro', codePro400, '400'], +]; + +/** + * Pixi measures a text the moment it is laid out, so the faces have to be usable before the + * first widget exists. A face that fails to load is reported and the fallback in `Theme` takes over. + */ +export async function loadEditorFonts(): Promise { + await Promise.all( + FACES.map(async ([family, url, weight]) => { + try { + document.fonts.add(await new FontFace(family, `url("${url}")`, { weight }).load()); + } catch (error) { + console.warn(`[fonts] ${family} ${weight} did not load`, error); + } + }), + ); +} diff --git a/src/ui/fonts/OFL-source-code-pro.txt b/src/ui/fonts/OFL-source-code-pro.txt new file mode 100644 index 00000000..046fc664 --- /dev/null +++ b/src/ui/fonts/OFL-source-code-pro.txt @@ -0,0 +1,93 @@ +Google Inc. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/ui/fonts/OFL-source-sans-3.txt b/src/ui/fonts/OFL-source-sans-3.txt new file mode 100644 index 00000000..046fc664 --- /dev/null +++ b/src/ui/fonts/OFL-source-sans-3.txt @@ -0,0 +1,93 @@ +Google Inc. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/ui/fonts/source-code-pro-latin-400-normal.woff2 b/src/ui/fonts/source-code-pro-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d1f2d84901c198496d42c130468a06721cdc9787 GIT binary patch literal 11656 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 CZCFG00A}vBm;^N1Rw>4b_b17 z3KW&7X@?&0H3Z*or^});5;DpIrqvmA_Zss?EgO@K@AyunBBv+Oszy_JFRkp zabnp`DAiPH^}=1%6E)lFHG+t|t#+vNq%*53@j!pXCXjl~wWmW}DQAi^4tmEspRfBo zp}yg)&5KkZN#-oT1gHO`FvxiJAOlgWeI%`9FJ?gs2n3CB#UAg^&g< zUT6``qu|B#r9i1uGpHF=rDD{mnDe}1zn_Xx{^|c--m_<3YFYjx_JP6yuVM)(m45lB z=U(!@`MYTaV+$7B6KqAab+XDFponMotL^(w8hDb>qsA3yOr%l)dQ{H-iT%HY?YO}; zlNp|$TTl1~VvqwCoqrX7(ZJ}z#)uM31fwx93ZpNgjf$%l^R89+|8FkuOmKfn1R6=j z=%R~I1-Z7Q0PUViUt!<>>D;oj?5vxOY-*Ezw#>w*f6H;c0>sw z71#H)0RETea!QbL6K;;QdH`top#YrR88O1e-E$z2B$H`H00`+^gfi0^H|f`hiC6w? z(trY009D;2ISa}@>st6Gf8_|`!V0L;L;bX<%VYO{Hm%bBuGfa;T4KFD4`j=+eE=L^ z5K(viYL%)>Wm%F@GRosOmON+=+6OAPbkp7Tl5c@9WANU4=RE*O30^+oUXWczS+cj$ zQI=5^#~zx$Rvp*5l#D~K@yFs zA(=Hwpa-)?$Ps(o>nf96u93`XF)oM0#mTPq7-J|LLh&6!)<}c}^Y^x#Ng;Z-@DMM= z6ytt;?oO-{$uPOM%`l{9F}YxTt`SDKt}9XzM96*bF}CVu<+@z&q)eno!TSHRDnJup z0us`Kw+R^_e>L1$1M+vy(rS=@E^4d;ISN2vn5Ynt+5y}4p|svvUt0$V7y{4&h7=Bx zhoYbg#e+vEdi_H%0vJ0aL39A94ibU#gGOKnNt2 zOn>ztNXUaO?HBcrfepY!0~+@E#MymMy^h*x-Sj(@;)9S7f|g+q2`gqQfofMC3pb+K z)|13ZQ=SBz_m}1?Dye5ZpTslfjaXUBJc=-<*p|v;PvLw~#zqa&SCN-^P;Wx+&7NHg zdCvwwQiJ-f0mi?K!U2xA{gr^X8$6x1>Uh$eHC)Kmu7`J|G+XGqNWHjQpFy(-RdXt^ z>|EP3FV~T9t?a>*Ulo5mG1q~5$~5AEI-Y3AFAb=K;~hlKj=gDrmZG3+I0)r6$N+)y z#z*F9tI6BXam9w(7Sy;z(ou<{ypo`k@+h%nq;v(nm#uh|ag30tk(H|^k95#!FOg=I z*2?-?k1&~8)Snm`u|Djp0zs~Cs5iE*1KFEZ$3Weldp`D>bBZ)$sEgQ}e~F62j)tD= zFRmvoFjp*tZ_jOEodftQMS%n}Hbf~)iHvh@!hIzalqO^Ib$m}5nHCJ{+pRLwZ+E+S zxx%v-Z{B_Qxba|JsoAB%f4t{4bSRM!2AL10Hi(HoK+Xoz}UJ$nnx6Fs`kMm3h%+JsB}aHcd7*d zme%{0Al633*dj(7x8a{U`VKlw#o9CVr=OGb8EjQO8`rKyGoS(;FLVy`c_*O}4JvS- zxF)Wc?-p|zOU&ahncK`%1|efX!TJ8QH(3%jGPY5<1z#8Bb0b`k!uBojS)d4D-sRC8(K>moSqOvuPGc46r z*{WQGv_HD_%-GVWeIw;suh1ddN#lBqzef?L5L&Xn36^?51N!w6G50w6SSQ| z@p74oQDu5%@#BXODhy0K5>hH!Iu`z_wOVY6rIuN)!%Azdv)%?9ZL-}CJMFR0fmnzQ z7#Riz4(1(r6epo!^$M z6th9OFrvuzRjFYi7GSQ1T&xIfscDtgwRov6^ww!HURUvUh?=rX=Y?A3b8f)m$_Z)H z(9*vub6pU6kuGRumq=8?630pPljivJ=MZ|nm6)-@3>}u3={6~BKV!ED zO$hFyvO6msv{&PrKtw9)`~V@lP0CAm<6vX(^82PsZyCk9?SDIoqzi&x7%kOpo)L^X z?Zv#-h0dItb4N)D9!tglJTI|`&e=1rg9eH75no4ibuiUf38~f~$8$;I6+4H&0Ac10 z2J4Jgh5>m8ji}>Nymj>8p9A_fFDg`j&&+9hWYiF1{I#SxTszCy8{^2<@hhD#RsOWXt;!~oMp$&sr>v-MP(Y!K!OF#p?3LFH8Gl5W9KF#GWqQGhfv=NZ5*Fv>TlR(Fp z@|$-3?;Wytkb<2$EA09$pLI-W0w;q$Yfsp+ZR9xAE;Ig!T-yH@xvi%6tS!AlC{)Po z5WxmO(3UQfQmnF*JS)(KaMQrhv+e|a0`pv|IXXqQ7}cD63&JF}n`0GJpV4%7*iED& zUP(0~lyP-J{P^MioX~t7anbPiwBl`h)jkmdl0nydCI@|ld-t$nlMKB;Hv|uv}VBMkc_t0 zFqL?yBzqstDHo2)OK2erAutmlK$@T_7NF6I8+Ez+haEkl?7Oa10FYxVUh9d^jN?E)fw1F)=C$ z2@g_IvO66)9#=vN7`G%-A|NU(Y62d}G-$NTr=#!Mz!QlP5EBwJ#0!Zx4j**BDEz2c zxba7@Vhcznn_w3HH0G`Z?QkHy}0>zLLr3A`UqN&;-sm52EBy}1g zO?mDnYc?Fk2qUpC;HB;DTC!H-u}q-rwY#?kvYek0qd`2WumbL7rAw`n??t|hCu$_f zksz1&njZt6802}?L!SELw$5+miN0v$t%{md#z4d0RGr!GZ+~7cE*sp?$eC zFLQ^I2J+KF2%MVXd&$GZ2419u3Hxr({VwjY&G{gcrvz6Wa*M52LJf=<>+~gdOqk8a4#7> zp3M{!#uLFq%4RJHNXjwkV64>W-)dnpJA^iL|KS|P0-|kQ{bhYWPZmj ziLdl4n5H;T@rGHLH5l+SK}k~`WB*vQgzG0tj3Ds_36&&CxD;t3WXcpROSTyK^2I4M zM7%N;5>%;{tWJYeLp93KtcAlUqYXB}1UWFE8PE&@oGxKe(}}NDvy`H;l{8`OEW+-e zmXTl3fE*YHJuL!=y&%Ax4E_^nNGOCvlnCB@_%aAw)X?q$zv!kh9}`};E_>~;$r{To zG~09&jnQIsYwFBTtx={>whT$)L<(W!%Sb~>ivLWR$F&p$@V8!X`8?14>9M;RyY8aX zjyY(zZ8o&GRhF9Xtu|AQ&lvJx?uDYB>JAPBaRa&2+;(1Bp zl>-rc=}gfhm;4hV7Y{HEZm$z-raG3Y*-^Q~=qb}e2pa(=*pjg*_bwq+WGv{b5SZiz(}<%Ochm$c8PJ`lc>(S;G#<| zyW*;AuDju;TW-4pgFz7R%3lx)P|4+s35QVOFQ|dnq7|vf)`(3zVYY`H@47Tx0_FjUl#Dl?7@Czwh_l_rODsJody>&;02x zJ^p~fO*9L*XbHMK_F`5BY-v0k#Ak~F6mjV6TlrAKW03EkFfIWxDLFUpRJ1&qc=6%K zUx0psgz8_|)H)kOhj9f)zF*FLp{`U^!Q+H(bo7*b9+_YhOC`>4Ecy_N6bXhC+L_6* zq1j{LI_Y8N?2$@gkyHYUCP98vEL4%N*egXn(T4SeF!@Ef29jnI=8NH*y=?64=g}7` z6ig*TsEmzrP+*$RARo(ySRa{8LrIE{8FK;g2H&ERA&VG`2+1g(Ux65|%IKP;l*i^0 zQy^3^@*NXVpA>{IgbytSQEag$DQW)P1%}WCi4ZGMx?II7ISt=e$IzoJ(agp`0|(mS z=t&tsf!a?82?t1PpfGwF1R1eVB$gtH6iKH@E=7tdQb`dfMTP_NF*#QA8LSc8Zj%CX ziB31(Ob&$Eu!|{Z^h~lih=)%|L_%i4ze_aq42;aY`LeLGu?rL|L|6z$LtCjS61?T$ z->QNzN$&~4g(^@|(or5QSUe)#CRnpt`p%I)CMeBu94FxzMrsYV00jVZA4eubH{!n_=-UfWT}Iphx)hKf zW`3X#G6bQ*fDSNV0PM);ibg~P-+o1*2D*{<%SLN}+H5VO^@55}sSY{JQ&Nfj?Oh=p z8J~|p;j$GPVT|K0dFGX0$WQtlnX~h79xuX4I1Tq$&l?)?hN>bc8<L>sHSp7rZGXlWpKYE&b&h<3(yx0@|Y}YgAv#zJ# zKYfTrfrm%~PzRs|K�BP6GHBAOipZ04VH2m%w|AK;cq|4r`qD!vBo5+C=>8KkB0; zwp;9wrIz{TtM67iWuL?L`)PM%2Xr~84`PKkUV848BaTJW?QdKC!Z=X~{BYK}j0ukG zjOmPjZ1chY^;!ikO0*cUGR28E&>#sCeU>Cesx;{`I5a6!u0o|zYSpRN;CD`64ApFy z7Q>A&+DOS7cZhexkH%6PCkKDN5LEy243Gr@^Z6;L zc|VSk!<*HrEszA&6zM`t|^qu9)&hAfnxQktpEo2s2NP1N_DrmRj3LLJ~2 zSdSEA_V?saRIyg~-l3VlN}5JI1rs1i~FL@&QqUwjjO~Zx<`6i~>v=;M;6(Y`^ z&-m2ye1X_#3{}Ou#=i_8?7Q1E;g`~nyjA69FDOrS2TW-+A{qjWmgEo^p<|ROgl?D6 zsB^szi)C&-H%rOYf@3A06D`+s=**dE$`)hBRtwNs7(bFo3Axlwww8>tDoI4`9iPE# ze1&2aB!k|=`iPF%+mIPqE)ud+)Yi_9>tjFpf)48R%l9K2wK$2> zJ1lno2h^GDv58X507eaFMqdak`JJ@fYqaVA>5t`PA~My|3!H}X=3+eTBfS^GzjkxoDdh3x@|}LbbpAv$ zz3*?ThrjzoVhA3>e)Dq6@cO zkT~f;sQzDUAVZ%0mf4^jJ%j45`?4?|4{M@w=LM8T0R~fOriRKISs&*?GO;28VZZ%f z)rK5~w+bKl4icw~Cixa02Quh;>n!|GXbvw-3>O5^jhxKkGVGAWcG?vgxQ!P?;vkFrmO=PWEm3a1B z^!eJ0tmY#@bl?A7a=zOM)CRTegv8Yfj8EzRUyn0bERVNbEL_Te!DeM^Exr0H|LxG@ zT01m#HciTncRdMkI$PY48zTh*p4|(m--$`v-;hJ>k6BiXY+|?2Jl%g7f%T4f58ZpH z9;aK#xgna(k{y+=gL5}_&s1Hu0c&S9~9_DKlVlq1<{-PcsI)CBxs z>*g$vL`nv!n=E=~!)jZM0Bc zn#MVI1A9y4=M=(h5CCQ^ojE$viLhH~=g#~Dd+IUU)R4U+WGJ_>i(Fc#)8A}D*R@jR z&~v^iPOJ&C%~LGWM)KE$9Bdn!i_A@a05r!QFHMXN-_^6+X~Iwqf;=A)$h@C19AS^8 znVoguVYgZV7^t#+QV;v!B#7auMoaa z1YOPWtYu@oc=Xxv)S5aQe(>30>nqh$);4-L2gcV%eM*bE$B6D#yH7xoU%|Cz_r=qS zOQ$p#WWrUj`y`g41@n5s$3>BoX3E=B_FinZE1Wc?B8 zcmqwpLj4Mxq1wwOz;GRw-h31s-G(*d4V&(=3E!j!EZ@Uf{TArbx%vQWx_|NS@-zQ* z<4^v>^RaXJbvfQ%wVOm)bc2!IR^ntWJTQip%z>E^b3DwhJ+cms{^?27IQt4IlfJ{c;?t_U*}K%H0q2s+u_-B0NtNT!C3`QGpM-HftJ*(4t9K`cA&8Wn2H0I`yI|*^G%UO=?6rq> zmlI0%`u=@Y>5?!(9DFe2l5w$V+;WIiTh5Y@GxelQO)A!r{(blJu+jYCEDM$Zl8%3BB1_bMoIX|mZV-}Imp4adMfD+3=9x9jBVrjDuHt1L z4Te$`7f;wI$(lTHVSz0o!dEaH`Dgc6DTS`{nWVFBVGv!%i>DK76yr?S(7^yikbLHzRWUbw=HflRbKW{P z?p_ifJ9^=^qf3*gHdO7ZhDQr2ZRa-D?!L~~U&N2l+}_wVyO`zb+q)_+G%R_D&(yWw zo-CCjUsoJ`C$(~vWKy=`LPuWnO~m!bCH51|XI_@ed$@`&yoLiN3SWh5n2Xv-eXG7* zLPg!08DQOTU%8>!4`{49W%}#0iE1Xr#eyeN;o8i|bjYpjnvs<)W>v4&(cM%w)dqy} z)ru&~s3OKd${H{5Oes%r=EvQi7%n;b&U5qYO_m>dZ8M7Z)K}d1ifasoTk?xV*B*I( zt?T0=(S@R*tG>niO}1uY0lw9Loqt5=mJ~C;{s>pOl;#&oC$d`9M&6G<<)t<_+%Cwt zq13Ax@lJkZH3?qro9F@=VUy#+y)9sIP<35$DZkUULNxpM|8dVXRi$F`Ide&iGRfTR6XWI0}K z(})G0v(T0px6y2fbh4ejb1FP$8DDDS*s308lEX@!G9>Y5fP)d5==E%B@pI?;V;P=a zS0%WRJNxID4{$g^4)43*-ajaeDsdxDe_By4oEf^HG z)XD4y;Ao#8#((rMi_YZ@hw%b^ zLM!g@dIenxorO4W>b42NJLvmWCg5mKPR316wkJ8bvoWs*HyB|RvUiPKQU^&o$#o=o zM8l{JtH^z+vj0~$ocjOuaQz47)SP3#1JxywJ3+Ijc|S8OfY$l!?DfuCUFF1QyD6?v zNV2C(WlPD#dm!Cd7iCH(pQ!Cu=5k5SKOo8YcB`spb=#Ezg6w<@8L4eHHArHF#|9l+ znlp}#1HN!LlZu(G+l_d+?S8F75zrF72ro-O2ORB3;v1-jsMD^m?BLoP z|8?j1JvyVwFZRc}qU;KG2-q`ld;FXqV+q4X{h3heCMBfe`Bvi zSCVxhn?)CE=2*HWR+c*5YOU5SbT($`_fcKS6M4X8SewLmY%sZ+A=biD4u0R?k1O?0 zE-{QkiQHeqH)t9;5-I$vL&=ofG2p(Fj8xD&J|-E3GFh}q44woX%=|BMLJguBvN+CQ zrnGtclk;8F5KLyWjbvKLHNUpsOKyYBF&wyXv8}2)e4xNmVA&7t=UWOb2O7go7goWd z`KwxV(S=jf70^;qdS4)#^hNignm0pfPP$PaZCbEuL8!A~vO5QIv)n@?oq*k#`kJ=G zKXRn*F?2a;Ju;Gc&G?b0Bew7TJ$Ff0oaZC!z{#(tHdG<6eXp=UP%k0+GO{y$c*9pP zhPa;cGG2K9Q}JeiZiW#i`8c7W(B?c0SWacwFpo4*t8d5h7+OR`t2EMsDG1|XOz{&# zzcs~Ah$RAvlNH*dVe16iAh9gBk`kAag?;7j zhlA^Zh+(eO>be2}Q+J!zAhZ%TJ>eX3WBsR1l*uT_e{A=dY1{9~D)7-NYZuS-sk>|R za?Zy$@Ra=xM*_{+AI3BC1BA9$A09MgDa*)+ENrL%GKQsEtM3Z<4c(18l`*E~Hd&`& zxN&5xUS^UL*3djAEeo;IndCjI1>=IQAm1P%xJ@j1*@=Gzw)e|Oxjfd3o81WXMGEx( zno6vaLx@6KDvl%V*)FUD!cBNhbQ*h8>*xY z3}YXc5&*fC^HzU3`}n)Mbw>}VS{HqpS}*`QbEu!l8KH*q;!!%OFlDlH-hPnuBH&`d zzZvMwQ{4ZmNEGuBM;mb*bnQ2ZuLz0Ol;El`AK~|soy*XrG;ntykTp_Toz}e=zeeL{ ztiU5ODc-w+!B|1?N@WCO1xP&iMrvR7e~6CdR)Y?ASlzo#1<{241xs7iGTFVy+5Y6i z@r5wv-1B(okb}nb-Y&6W-0%39hEBZL0If6Oe#Ku`Wdz_{JAVVx07j(gJ!VIg~r_GsD@#iD}eD@8FFjK{yY%)sDWv! zh1!^=R^=mLzwVp!OLcI=-sZQUb@A(@4XNSB%O6!oq~94iOj)aE*@D zUzKLn!zM)RYm6*5SA;g?<=&sIrT$(b2R}CFQ)G6@Z-)~lB12fsO4+8O(NZqmc!@!p zw}vpz?(oKwdPw0K}Wp)R6+m z+G!Ih9o+n6z8H)A3i27cW{sgM5HxhBwOV~jYwQjNj9n>>2BE)5LL?eu@Ixm3B@!Z4 zlL9ZUtgG7jZ!NfRa8j%73IufB4O)$+Qax>bR4vm-G~ARmuM92a(2R#^@9?m7n0L&sZ{p$MtLdH-n|NMru_DnQSYQb~yfQ8EWN{8}lYIISh-F30NG|pwu=y zt%_uoT*>w@=T7?VhuW|KZ{iBb)_2IPeoRmmWe&P)+gujhD;Df*e_e-iW20X&tIl%q zp2`?`jb;Ri=T;VfG{%45p{Bzz9d8;}OZn|Tl$@{1cZ{%Vt~8(&bDU;{hi~ESCu0ua zNy7{tuijl>75jEh66N_)|ME)iw=HGqK#!nX%4OJXY$5D$YB@|3EO&@u;ZiacRH~RR z=KbM8ZTZH^LWgzHgdLS?kgpVzJvNpCol{ci{PBo@T*bp3jLU7AS+cSZ{^ZAB+0Vjo zj&VT0dBp4z5HO za;F;EHPXP;R&t7~8pX~eA!`xpw-p=n$A9Z&xc2@e;rv&FtqAAPFt7dXg-m8D_+j-8 zFYVsld7!?o^SNESpFPxiNg`ZFB7tialE}is-u|)I-6pBRsuEG8 zVXVt#bYTHusuR#*@~P0C3XV!0r;8mjh1My7;uk3}N3HhPae&uybhe8I?eDlg;Y>y1 zX%l&kvmd-+SiPn1HQhTEZeIrGeO1h723SEsZ&2bl{BH)L1APt(Y&=q3J z!}Zl3;+8pH=$z@UQ6%wH^9ox}{Yu~mZW38RF1h-Awm(UE)}8*Dll%sXYh;qLw!uw? z&By#WL2DV4;UQ1PrvEL|@8EG~176)E;$o>FK-GE3N{tHe7?vWhY<+XHY;B#}VyXAY zhKrup*L%%gS`gP!S&3`&)2RN!-c5Q(5UiWr8+JWX^7+8gz#LRjJ~(9Qlt^W;l5S+b z8h$My(P^W6epIC~_H_(cJqgc^X)V;FdEc>L8)1Yu=;T)GAZ=m35gzFHT+DPlu@8fb z67ew*vom#31T)9^JdI0JlhK0&{4j<-Lt=5KK-1O9Wmu{tE5&S5-4yQul_>)xpU%YagnQU=Hdk!h^5#RO%-)A3R;9b4n2$n=&^Qh${mGqoS14Fr1U>Bb ze^iq&LJ#b)$D1(+|8ncB2}f*;bw7&xaF`uKYLZi+bZOzMSxx0xP5f8Em=01{Xiz6s zZJR!elVjVkSvjeci@}Wn%td`$uXprBu*MQQ_Qy?d{#1f)U>64Z_=u_N} z65yXjVViwaw~~Yt5Vd*MZwpB(H`TXUFH)4!HwrjV&?31gg-S13M7vnCU?aV>rYjk^ z5nlR*?$7jp1tZ3^tW>EuKsokyXf~0a zS6bSA%c}f!v^RC{crcLsRr1*4ZK^7Jwx zE&}u*J+TN|GV+x5OqYk1Ho_TQPVh=qU2DY2PQykv=fT7n6S5#r7}08_(Xc?oxll1Z zt4Br=oziKvRtc%ssDFMGu2G`J;<#FqNez(7PP9hdf}L$*&}{+%-4343HiEKqHi-G( z1)u7+CZCVu`b8uY-P}}KSTl7BuNV!6)cjrBf1IK2?=^}bx1-DjC9-cJpn&I&Zy}kx zWZH;$v>2Br`wEsC zCzZ?{cWitNi=}nI1}fR8wM4hTU|+7t&F+HA{#Ph>5s0rT1Of>b!^0PsKRo*B4I}w^ z0*S=GL+#N~!!Q;+yho}f@qNm~4^kn0`+r%J!GT<VQz{bF< z4HgBR`z9ER8|4{6edHi4X5I2@DeBBN!+~4_0`sU>caY}M@It3TDt9P^sDc-+lb}{3 z@WPDId`%grtYi`j^CkVXa#0y-^X^%bd1XytQ7-j6#W(l+L_JFQFwF!}Nh)3#qgC+8 z_Rt-{<|-Sf1`&eAffMvlQI$%SthTnIwSKZLeeIt7TOA&Y$3*Y77~U>N_D2} z2@!B{-YVTL{VwgY?c$Vm*Vl66L+D$D@w{zSa;JEimPiI`bsZSMaMmOGwdpjxuEXb$ z`*@8AD~BL9YbhOGFQv<@6H}d{=HA%h7huR@k6m2=ETKw<>k5Uaz^WQ)v}i zNlWhf9g>S|44PBq3dS9z3V8eE5aDZhL-PjMnA@}gP8|SuN>02T_x2Zwrx5{3>v+cj zN`_N6Zr!+rx@lzN2vx|Fqr$B^`HfR@5gIK_KrBxxOPwVHcSr7h(FG&n6OKtjh+NBo zY9x|oP+9?ZW~_bN`SyFrd+)981v8xQIDuWdd12&59?f3CB1pJMvlpcQz&{^bQCyUm z61`zIk_gvNOQ0B;9P73i!L;NT>9}`tzzh2*yVMM(W*3FJOT%QScS%S?Wa@O7T#!tr-O@w2o z%w9GX)r!L{1lg;Hr!47BswvD^H%_& z&GB|clKL4)4kWgeukj$c8`$eYPr%no{h}n>@h;e{TKs%GX?W}FAtT_x=aXmDYXp)A zG%66=ADtR~k6UCTJ)-yDprWIr$Iix_|A^Lp6F9pu3;sEsSFln5LwuD{fLVyu=ITd= zQyan5h`GQFrr(Sbn?bBA5rgK~uz6@q9w?42c~(;TR3aOdmfYJZEoiAU7}94;Dwf`T zqwdPOBvsrKfjf^MUjo^8r1w@)ao=!7o~a0hCrzmYb=SzWiv>l!!<)vy!arTz$63M4 zcHG21Zd1I^=DeRS`N|djl>~K9j=2XP%Dypiz6p?DFmWzqNl(hkPD)E|%F1p6GsH4J ztmc<@Ph0r_ZgdS^T_zAo??=ITF8hbuA^$F7ll-v=Q+?JG_ zmY~i&5F=V#+QShZ?cktn`+H!mYWh$d8qPQZMVrcNIx9-@*ATEgYnu_qG;cX0B?QC&L1+3}>|j_RQ*1iNJgvOcSjY*(U` zV;k`;-=t#S)PjqtQ{XYb>Tz#;0TVWjT`#D4-|p8DZM)~~LeUrc9QEA*k#A}5>}eHM z)dRrDx2kn|OGTohkBnz~Ev%{-xgk8&O0px;Cn%0ZjfzX|ic9ZEP+xXR3R+Uq;^>Jp zrd3o{4uFcYs1{3Zf23|p4_~`^V;`2BncCXjQjrMv`KSTs@a*qZxM>FmaKOV8D+eko zW=yNyuGVm0qN010t=ops{5{+A2`x$O+sq%>QOVZihx2PsSa}OjOmh$$l&>O{ zsDcEP3mP;K%2B?GsDQfk-~vfcUf^^>&d)_o;lT7`!4dPMfys>Az@xFUQjtoifN#k` z0_CfS3Rp{ipM$~)H81pyletDP<+YKiw*#iFPQL*#H}g9DHS0QHgIf%;h6fhgT>=cc zxdYIjSJ8*v*&i6M#)Z|ov6gGGF07j?jp5|KM+P?9#xyqHZMFfiW#57=t{ZF1#uYBW zDf^;*3C=@P`+|MZzGPpvuh>`ZYxZ^fhJDk%W#1-u$`tq)MDkzb+b)AS93S-F))Xk7 z?^^7j3;QFzs~*p08ZS~FKz`Fc>Tkd`}!|H9{|h&Zq3p2u)L1d z_e($-yoq*#ZGE!FEQ=oZS(XFjOHVBztyuN(cyGda+~O?+S(97N4LKL^QVs#jJ^s^a z&jHFrERi(`_98{Cr9;0OU`y+H8ssM~t5kQVJ-;jJn!mt4F?f9LID6lYy-bU?$49u3 z*F81hDfeYus{hZc&F`GAfk!yj2c)NeWGu%KzL#CSGZXid@pGo69yve?`3b>Zr0Bll z;6X6BNHA-EcMy1umZ_97KJ>YnmIughGdd~c1%VLRV@Vs}3HZZ3E4;I_r_J(NzdJ}} z%eQ1lHBNHNG|#T=tuT3x712`d(^bS)x@s!4)P6#5{hR1eHkh?ZxbMz}9W$ETr-}(0 zJcQ_#rfP(!x;(K3_*L95$0M_Wtv9wof|0{Bdwn5#J9I!*s|t`mQ`87d(F3&C4oCom#=oP zdmfk2E^V_n=L9L5zdBK2C*;HF-=2aAcXIC3JOgZ-eN7#QC9|ZC@iK9G?b#|7;q}So z6}I~zplX@&W<&avYn+g8DULr6`26MeIsm@7tKZZ2SKkM`dyfYi!2kk2FIs*WSYIy~ zGA}y|W>F63K^YvBWjQ7^%hX6hn4?d!uC?a0#4G=o+ay4~wPa6*nX+S~!yLr?__}5o zw_Im>>BIijx3Yx80d`)Tr=!SNAHVS~sY{v0C$By-<(qf_hK;@?eZu|v^|v3Aa)HDn zx}@`=ho6OIViH3}7uD7Vq4a zK~-L$`W5wzwgRwXJ~FeQ0ok6TFeybJOUL6Jtp>X0gTdNgq>pg;01P`+U;TA6pO*TR z^?hDqPlm^p*oy${*Bz0ykW`X0kOB6nsL8*FPd>H8X-GMa#8Z{{XqOXAP)U7dgapul z4EP`gZ!m-B!|O(ytx@^(oi69_;pef+NDAqHqa(=nEc-`+aCZ3kS;vvG^DYDEp7g7G zM}g$dQ3}{)ggAtAE)Y&A%sXMWx}fX$AsOq*co0bWP{A4M#Y|Ai89X5uJd_Go&xzrS zY{LIywiVDv4wj3G*7 zo_DxDh3EYTU$BA*#2Z2l-mJ$%91#(Ru;9b8=~v}0S`EtL10WL^cFf2S1rj=kBc>`( zs?G@~ARh{#8Ky!6vlZp*uj| zqfKA{|Nph{ToClaLpc`MZI`Q$5T1!WW67Vhw|ntfJLwh6dM&s zWwU~x@=K}U#*5WTU(2$pTH2Bp5}QHsz=;qoQnFx%kS5FTw{DFh&R#|d8nu~Y(U&Dx zMp(sqLrCHbU01{I!`_P0MQ_DJ-`R&JGr};1Mn$kwL;I+jU6BymGiaQ zYtLkWeP_E*WHEmgSrDjbXzAz~crr3E^ZM$H%CCXX#wvhKKX!qF1Pc-RbvD`$c;h6= zGE@JT|C=m>Wy_H(&vqA_v%?U@W-DEUziZ$$G%}(cG8)>vrR@-HovBqdM&TCy>dK(RB zp(6%j!Xg4fB4QF!GIFjIu@D<^5El=hfRKnd9u7B3Tam1#wgw&9eh2Ke&uM2IbKGWI zaP79oDN{sZUe}Us@q$h=ol8vGnyF#bM@6jBJ zoXT9Pyi$32?_(8mBv|IRu>;lDGduQ+_s<`6ea4!8di24%h%UT*Sf4hl%{K8n@VEb? KeSM!!^6mjJc@zEs literal 0 HcmV?d00001 diff --git a/src/ui/fonts/source-sans-3-latin-600-normal.woff2 b/src/ui/fonts/source-sans-3-latin-600-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..93511778f601f037194a86a011b356f298b4e035 GIT binary patch literal 15668 zcmV-4J51_zB% z31O9tw|Nkc>Cu2C4!7%NXJ(!Xy zrJ`-J$7O^2D9yXNV{$rNzdK}xI%Anef^-E96-&RfFrad&B%d zSP35 zT)v*rB=qEF)ZDac9}tri0Pd3iooWOIz_hfm08UzV@6bdCi*AfDl`T28ynfVgo%)?B zI_GdMZ)jiG%Had!h*E+}Ll07Jcz$j@;VXwDdR6_mzcm{p$6(|bp@e!Ejg66*dCe8x z8Bv#MoL;s1^)*{IV=SL4K|EvyB$$NNX7L% zMHQ|i;tQRkI(JAy)OfvQT_@X4;JOTl5N~_iY)S6@r7fjZ)v89JBpze15-aX9xsZTe z1b~p~M$^pvyk;Z_lt0@VNdpR00Yrw}&VfJ@=l{RW$_;hv^&gES(`zuWjz>$8Wr|w{ zrU=7Q{p$Yn>*-6g(vnuI1=g~bP`^v^RF?rULXd$V0t_cKrVhP9=8UqW?a;?rw#Px{ zAPr5Z9XAKG6wF=+IKlrvU1|HZriBp5seGyKrMkH2a!r-gX`0c@cr}{Yy*Ep-R%?(Y z!$M%qx;5%{0|cdktAu6N2IT-y<#Yr!Ld8v+x+bbp^ktx`+3e*e%d5UeD2!~0TPF~X zMDctMg_Dsfk3=GWi%=-c-`8X&yTs#K@*=HBDI)c=yS-l#h4${a$41tCl0Tmk!l^73AF$G3~ zny6?cL_uH~PMxz0=o7jT_1Ew$m;L4lra$CSpt&MAeFl&NK>_?n2SMX)@nN2A{9$|s zM7)6MMt>4Jp2ky{biD#CB7+7Rj5R*>z~{2DYBGtv6%*b8AC*drYVRoQy&l4E`A7Cm zTkgGS4+#Ins-B0Iu6*LZHpdsR|pZVWH96R#zj8@Oc zkwjWK#u1BwfTl{vH-IFKk2%1}g43AK#aLWkl=Y&wHrn_GF*G8LI zX6@+51V44Q3jCE3VlN@=IY&! zvILt1s%6qgE@zo6CeyfIhwJ2%(Bqge7R|FWMe3`c>6j zscjP7YAvt1ur7h5_w@}m|5E^aK-H0DNZt{}6`t(JSzQyZNB$zxO~)c$_?o_-{UjQ9 zU;3%~v;>ekTY-}jex$dfKxiGUrc2j7+4~G8jFc! z9f;Bz#HfPHd8X=+thHFDbPX3-2%%;0TXIN{kxGFy@zC90-c3XSUbkt=ijO6qqt6jQ zM$**t$g9R2?d=d|-bKG{o0^SIh68|80`TdVw!j%@fSaPpd(QH;4yUzkP0O=paRno^ zD|^+<(NPa1evI<)(TC0aY_u`u>SD&(C&gP}t;grCylfrT_V`p(X(dnZ|N4i|eXV~; zSD?lECSx}J;LfzA6j_OE(no0xdCyA>yovZyQ8O^JaEQ>~B#SJz#8S)r<`1i^w#HiP zthdEh+w8R4p7@{`2tVGuNr)csWr~W$)XXrj4>Qv&EaYHs5$vl!(Pw<6``P5YU9B9#c3$znW==+%I+cJ5C9 z@=XK%yZ8Dm>E)Ia~ll)RS8sgl;L@F}Ul)sn49nmK%lV zXHzQQS_q_17nH)wX=d}R!AsL9pJp=A+3@nh@v8)Pl0>D9xpWDb2-9juEkZV#G^Rrz z-WIIpvNo)z7f;{Ltib<l5Fvt7u!?>Me2xI62O1r)>4sXI&CTYx z=H$RL@~tiM@TB9LNmm;!AG94HUD9FlFh9Lnl~3AM&X=d@PQI@DdSn8oo(WKIhZ?0Y z($TI{I0ov$-LxPz*iFx6sJHw2>_PiBb#SA@&lRSaek36Za$CV?w~qeI^e#bQ?gUnV z$&oZHhaKJc^gy~f*29toVbC%mo+ z+pZdg6LO1L{LFr`|BO#$sU4oS4vbLBqF*3FfB>77F6Z0v5U}B!YemLHmj5fq*^(XK zA4?s*(*&DZZP;3PK}9X*Tj=1#-09(BGg+c|*?}2j(qz0GpJ(9{Vj)LDnfIY6y1yx61OqG*;_)FRz)}*?;P^5!Q43<{&ncZ*rUGtl^pkF&5!x#@PIu!?(8pv` z^h0z&5PUQmML>Y!&07E|DGG~4k&}~BQ1GUtB%q=aNKMV}!4?|!<^V7jtPZ%ri+TA5+Ld$~n}0ag5KTBoit7TEByv`h(S$i+z$WApph;q(P zRthGo1P|JMf3+Kj*~JQVtgx3A_Hl#*Y;%a4IL6_Qi*r0D)uEbL@CQ*OM3mxD^F#9j z)*$2quo5958ko@Vr{WF3di3}RUt$7aeGC!6z+eyrSe2Z_zxnD|Jg9l`UctyUAFNTvNk{ODcmChC!Cz`s z8LhooV)){bI}WQc-2g?95}%4eguW&zQ?5d#D%EPtx4=UCJoU_TFCqrimlLC$LD9DFsc2H!WMNxEWlhRkt7xaPovMDPx}BO<<~LZ-+QKG`^5${Y46PYh-u>J@ zN)f9*-1>5(XB1c*_a$CqWkqBc!oKYGy_GRe3IO03B6!g7EKK%4;ZGqEB$R3z2ud@2 zUIu{#vcV_-VTK^`c@zT_g7vZ>f(C(spk19A*Wu8hiGY$O|3VlsI1!79EF~%uViAkj z@gj1)2^!e@$;da9KW-x?03m?0#Ny$!G!cf41xG_p3_<-8f>A5ILfgqR4j+F>CJKHu zwDh=Wgx9VKqf0etykp*Z;gLlm9KYd`ddGcFJg82sjaK{JB30&^Zj!M^7^IKxIx18p zTb5Mu+#GByIDKfyiBW(Aex#~Tsq2kr9^~DF8mK*j%wB z&~{}Z6{Tdl#<#vNTiA=xlRzvWKTgunw}4+s1$k2jNlES!GAPva%m>NwluN~;hk#U+ zNfrb}71d(fsXaNNjP#WW_bCTR)a)O+C>n9LReMUdTuD6+skZ&dcHSiO-@3>{EvPl+ zP(Bq>yR&ydfMuQo1f1TC#K zwU@7zOvz%o*o83BQ)5F|tmt%M1_A!@!7KiHp19{9w_I_~Nr&yV!{&@`ZT7d^5;a~a zGgE0yp>uUBjA^|_-AKjMptPI?*C}?Z153{uM@EXLTnd5m;)E9>64<&=?9@tYkqQ)OCTMYsSfb=BF~X%dPGG}x^6W9?IXmpG z7!9*?7$7Lokx=!IodhHz*2(_Ga;4Z4Dx^Xc{|OS2gMX~YAU%3N59mhxf49`FW%xY)SObCTT?GP@5(Q}?76`C90%-(jx!%oFe(;7k ztWgbg7>xfXa$rWY7f1Utd6_MUm&oZ{CW2rL@t1zv9e?`E-~REh|NQTs`x@LuP^Ov( z+-EVNopuo=2KmBNB*=2b040-8CgWuN(*w~+ewF2vPEQ08TePWJFI)hAYIP@WtEE0XzyV+=n;Ws`3rB)C^ zgwYF$s-8$p2(=L(kmMiH4-pKy*&sqp-_cPP^*fOGNLUkiK-}p23UZcPmjmEaRVAN=b{;PY8RR$awQ0 z>=29Ph8WjfQBBMK`JzHX(UPQVDNjc|^fkb( z0-QiNTC`2t7^O36$taIeM@Bsu^<^}S(HLMt=z08V#z6}%KFpOXQq}UvgK1~s}qf`df@cZm&riG1S>X97*dSi)ne{^@X8bS{Nt7@ z&N=C@y>{4at>u=eQD&x6C5jEvPfwk-m8*qxiK01$vNF(xx;-y}V}JJ`XXc0{sAVaN zqA5b?Nx?-x0pQ@nx+^$}n>SYYbu}2z;JyGK4am2v32cN1Apruch5(x(H~n?x85dk~ zJqgbckR07EKOSd*00CsDwGB|f09HdmV7k(OcTbUshZQDDqV~EPYl0)r``>eo7%p!I zcY1&ApMw-lc~OBU_{)oX<=#0Br{|2Eg^S>#xm0auFd8Zi)kfB+_|<3w8?lR)q=Rn8 zS?;I{8oWrj+#R6X2dF^_Zt}*dIqiLRa8aYvKp(UH9th}SjQ+!j3g)NG#~gDTfd6~) z|6R3k@udKKbWg*cUv3z}H#W3e%m3%Cq0I;X{Y6qjxxkgc&A?LAf#-oQK$ZajGC>9f z0IyAbI$`@l@tc)Sdg`r-R+xw@|3f}nY>P$qSz@VgzWVMDC+v1Wou77u2Yc+d*DvUI zFFo_ba|a!c7aaA#CXKMgu?P|1Kc}4u15+GP8xfrH&}Q$v_rY>0Ql&{(Ad^Ry=2~d! zvsSX@$dxBwp^=L8)<<6@1{!3rA%+^}i{XlmGTInpjW(&texDa+D z2_T0B)U81d3Rb-YVC@G1rb~nIVt^@7D2TuZ2&mLM9Ue#8zIiT{DBJFSL;7{2kQZ~A zCg!ChB*~>xN9*eYQJI^o@i|C)Fp{HpV@`ckV0uYSS%r3Md8KhM=WL~Ngv^ng{NQ!a zZzk6i?h`Qm17wZjOq?EYT5hCbY60fTy_w7yidq{%&HHhT9OjIY%%r25yt2HSIJu|D zvz~@gZ01oz7D`Vk%~a-1)dnrq`o7bYm(@Y20}QN3iZT0pawt_O*6Q9nH1k&}RJtYI zhb?Owp33}^Cz3C!ekj~DYlMFoL!Q2Vnw9Nu&dkNe#DWT75X3-DV^B50tHl;Ifi)B*+3{EHS5w`;u`eLCL#NGW3-fZ(2{2n4oQ-Ii%vh} z@Ke2PmrIbnu@BiZ*f9j>MAxtg6+f@^0*=5XF)I3atSTgTmJgNFP@X}QgPzzA!l`4K zA(It<@-kSCp9VUxD9&_a48s-)yf4im?G8z2z9l<(xG#bEzA^SeEg31rg&9xc^_Yhw zd3&M^7rr35MmNQBc)V;dp6Wv{+7sMSDpZnoTF~6_B)twAE4C0$@QkF4lnj zpdE_V&oUX19AYLjof270X2R7`|Eum#?150XRO3mtNL=#>S*Ik!hGzs($w=0d=@5f6 z3~5F5gfr$lAmb=jK2Q9Z04Ov+c<^u*G2k)y)dnNb_|e~v%va)wF{B+Ulw8s6+_yu2 z4yN21@S^$5wtDFst?smiR`22g?Kj)P9G|o@ngsBg9@siPYyyW>dUWI98!)decoS`D zPX|EzJ-v01l)FxRo$5~@hvsok)YyK(9Clm@#1N93igf}ur1?)ZRkR&`0b4Z_LD2`=oq#ktdw?|P^>0v&fOtSoZ zkTYw-@ZKcZP-#kJbL8Ov@WM7j(gjWQ1>G532~YT=DIp%*(T0H`iX_m_N`Om2qL$PW3=xx4k|}ozl`JiAtY#WN7I$`+{!gx zH&C)+meqHe$7#HT{KD%I#;6bz%ZIE$Z~WCJ&!zl2^J&@yk{(1HyM!rWdDLI^_u|AD zy{WNgZdpfFs_4uQVyM@{Gx-Ph==v<@;WEx-ofaXhRe#N4XT^&bt+PBq5W(e7PoK7J zH=>?Gan)NpI0FiA%2ohes`5GaMKOhYH_a#-^p(e!)iJU`GauM|R!py}XItXb zmYQFtWQ=1agdRN31JeFtF+42eqf#j)HK8%CsCv(%hcv11YMw=sAZ16kqMODQGrdF^ zT~%P`n8`(^#wLjkUY<3Z?%X+Kk2;v&I5V6wkMCZVc)c4VR7)~Cf9&*2xRQTI#}{ZJ z_n-Jpe?m9?1HVTJ1QqZ^Tg}f>gK5lgy4i1Q7$1zGLf?0uoJ~7!D^SXGK;E{U_jDnv zDVD-8TOmXA^PV2&Q%L5ZGkyn%*O5iC2@ymPf$T`DH=VHjWMnZDB5V+wwBmXYLGh%v zZbyZc9InP{w2I$UUFcQX-czrpO;kRd{#CN0r(4X3ynMmTFt~_ zZgQt?t0$2$qP3AHrv<13w>IWHgmHfK70l(^F~21oD9whTfzZ2iW_=g_j|RgV@PtNj zSs1gNo!xd~TJpo-dyd@37|9ZU1YhMz@id8nA8n8025lkE?s{M9y8`~flrR{wS{~WO zMm4$|ja~JeOsLtgj8?{Rg%Kch&5-M&wnW65w&CgCS)m(WcxdX%P0gs2@y4)iAgo(f zI`y7Dc;xr$1PV-1D^XmP5o}{B!RVQrWe9DC%Jsk(mgD$kpu>7dW)t>=zz8sH=dP0% z=33^Yepm+l*pBV>XL=e4(_eP<@xR8@ls|pN;2E^fNs*kg9nX?|0wu&6gQ|E|;0I7z z$_OYFgv6$fr;s+-3JX6CQ50Gvv_H#y+!VWte`7aiOB>YICeJ6Rvq?^HF~FzIY7txt zNp}eQtsk0uc|>KK+G&25+774N{ZAjMo-p_Iq14rK9XUs;#%An2=cyZ|rXEGe%KzZD ztBdKLz?Hv9D_+9!+f}xu4eB_}VGvQLSb3z*yYrEc)a4Uy=RWM&?t}c^U7A2(J9Y=! z`LSun?V`$(`U$9o%G>;2@pS>YKkk%ronNc`0O<2!4gDNu5B)7dbxa!?B)f8d?)n5J z_4PE@u}n{&K1$8iK+oeYVT(3S6^Hb6!jy}Ax#mF?__lPzLS7Z)1{f`g!m$g&KySe zowP}Y>ulfoXsDy6y|2AwSH{=n*pa1C%N_NBHr4)0=(-1;Cv^VW zT$}Yut)do0hHp9ANd~7uCh{GJw%FWOyQOk6*WEQc;<&|={AsE9DCzbq)C#Z2lLXbM z$dEs zvu2s6(Gr*2>SW@!a7f%zC$`B!WO!+^?7*Ysqf=ZGM243o(PK}NPYOXZs%n`(xS=y7 zni;L?5nAC!=}jX%^%IeI9#!4XlzoI1Z4Fz-xKxDW-D?6)yxSy6y3uSKi zFt~%V)Tu6cWO+fd^nrV{|Co{6RHc`1jGK9%Gxy@thh=kKk;nT_6bpiazP&x>mk9Hr z`8nIaLYEGwd1NS<6)-~beJOe%HA(kD#t8w*k$Lak#OyO|1r+ahkRrQRMe4~aG$@at zA%PI8Vs5#6Q%8q;{oG(h%uv<}+th|vG%GwhZYP3p+dUeE+^eC+N8IVvfynT6WHQrQ z>2q7+lZ3ANpZpaFtk;`7A|%|^o+DQ zvZ#gVosxYc`xkl{<4#HB&oqb(f9gon%~1q4SEu=o6sU{aVYNmB3+(ZqB-=<4$CV~f zh;mGmJ~nx&bquj)8w z>0VdpD01wD&R&S?>fKYXuK=rNu9%@l`f}T=pvA@Qd%Q?5g6u9$ErzP{+MCqKl$k3w zBb7}#zB zG6UX!7w`BT`km;w3-5pa?B-v=3hTcmCtrpQ-)-ibMgiLxl5pysw8Q{}N0?c066avMEz6IEu;f9YLQx%*rZwYiMWwPik+ICcYkj8^{m@|-6ID;dP5*YN5KCc_T#BGJ z0`Mqjx53<79I79HDdrLib;SF#aw3=iTYIVI>4 z=rG7F1T(Xe<(QU_gkxi*D^Ci^nk-g<|rI7=1GP^^#KJ8J@l5 z*RMjwMN~TjAgBA@%&h;xE06_UEpbI3(dcvUy|G!~ z?QAZH^KE_ZvS$-ZLnyCe?Y97Vl*qC{U$})L_5aySuT&gBTH=a+rcuhq5U*EC!^##d zuZ&rt70UMuhwv7nj46Y)H(YKg=Zz+xDi1fu8EQNtm2#?v!Qi0RUl}%VpL#LT2R-yM zxW)>ju*VnG57e8~lz%@Y;mygC@V@CaG%)qluFUWzn9hpb)%xKvwY~Pm4@-hZ#`ngF zK|9RPhci@ld#YcD7HH>->ZY#xbLqPh zeZw2e&O&=@Hpm-5>Qc$K=M)udeipEQ934LS&B*9aFU#TG(A*+;4)Rmat3V|WA$&kH zeILGFTW|a>{9_%+gjbwOW*zu6`ROU&uXqrgw}L*hE}e1HSJ4IIPgjGlT*^j4H;2RWwgwp>a?69`|Ev0so5#M8 z{`Piv57ScVLo9WZgs%3*-zE@PXE3_Ot^~D=y(GFeKl^VNjrJn)?fS%CK$p8ke_zTH zNvsumZpv9G#0fOo?F>re%S;4affuvBEmiaCIjA`4pUqu6N(<{yJ^`Ct^Ygv>C>)P) zX6(^oDAB zCCM$;5(8~aMitR5(GdM@%X{wZ`1d+wp$sj7sD@c?>UEE{USFk}y*jFpTVe)5%27nX z3DnxzG|HM;Y$Pj&XK8B{r(cUHR0&!Z&MlE~K8tpfkV&e~Zk~%Im_M?2Z-ccc4qP^o z<(wzPQI$B%>}i)~t)P)#EZa(?eZrI*5%{a#Uo47bvkEcAcmfxfIm&(=U9zn0Qr`j& zp9A~2AP=Q)(Hc_-tZ9y`)Laic4s358r7*(R_yUThk;3HQ{OSm6h9{9moFpl1C(H~b zd$b!`Lh9+w&JVs1@+L<4Uf@2ppzqCbz6(w=(_Cc~rSaj?FP}&M%kLMK27$6%Bj+Oy zwNK#S@22AB6G&YwzA)jB*GGSz9;6;1#1AEeKX2;WR^BI`Bo}fJgfFxEyk>i zY$28U1Dnipv!6}Vb>w#xyWoYqm%H>JUM8mnynH=@n^juz-Ww$(gj;r$lZU~mY@OSe zdj>J~xo@s5jw<=>>uo5@WA43Y z*3L}r-}5ZGU)|Qn)G62{f+CW$pO`s++@P#1T$J@oGOyxZ7EbILgsLwwFrDA<###6Z z@XYQ%yn9#wzNV(SncTIzgeI%W|KmDpYH)4;kV*gG+v5Kc;5+^YS@pxa2i*6am|HQ@ z%zD6bRfgvb!QB$MN5QC=>19XBT61Ze^8}Dt|AzApR2ShMGdiITBG(~i_auU(#x4f_$U-)2^4k=`S4T2K z`-41&I>HlG+AOMgjSTFBqGikZv#is^7E$97SmSihWX~yD3)KMtQ=>o~kaPa?e-7#7 zE}2~Fi*eMk=6XMQQ91zKApF3WD*XvzS?|a`5}|eziAm&Ac-tWn`MX0T+HwbF=h+!d z$`b^9fYL^ISB=i%G?8l;b9x#Aq+}-(cVr!#HTe>SaOW@-+8g3CR1uyiW;d(i)iSlX zoMG}Z`a^Nf0%xR}4bUiOOF*?Ql~S#4@j9K&KJ}_pO1-W*;HakN;XA6U@ogw74TWo~ zuEurbf!$z=`!5IPR%`|k*kcv5hV0!EIZnZNu=VOIak<4%B^FoeHRit5pxHKWEoM^^ zY#%>~_8Pp)5G6NmgH=xZ4Cb7Ib(wWw35xtKmG%yqvV}(73S4gtXDF-_pcvn^X<8of zERA}P%)O@Zgge2M_wu6|llwC#=SP`e#h062%V?Q@kA9ch+?b?M<5b$Svh}@mnPbr_ zpW`ufIgZ4y{AYZPM5_ofgov8;=+3GwD(P3`7pSx&WXcg5^#$Rvm#` zYnv(ZssOg=N>|Cp&L(J7()QEUwy5;Y%t=!+CY8Mj7A|2fRoG08H(pz`S&-$uyeXB7 z?;(+$pnj+nsX7lIB2pX#))J-7)BxTv46Tc%u)Dn@y_-SOaAxx6$s=bM9czGlEBeF_ zxaV8$gR8;27EmW=vsl@askBC{hGQE6YJu|;C%E~lvBml6f(3@q%|+JKD?aM(R(z;Q zfZkW1_e>~0WFP&8O4-!ncn8_$LG{MEv*xbPy3ByN(b;F~!1wwD9}P0xY6{ULgK6-W zMO3w$5gIeA%xK0uAs-4#m0xKf%~whZ6ygi#G0-)s91xNyf8ju!UzE~!2(%CG(^!b% zR#S_e|#7vxIo;axs!*3O68yTJ$c#J3;+2if{#Y<`QAO@58*g?G1Ba)cBMZLK$60z-x zlla{RA%ObfzLC@UBjl2D_XVQoPYE-8p)mvOij>9}fR-aHWjKKU3pSzW=;{}TINv`+fSSz!rwFbL-)$u~= zPgp07{WXZ9kNINJ{HdW>P3eIU)KuAlkQt0s{cMWH;$_D|V5!%8kc&IQI=~o8_>R~OaiG(A?E`;<{x~i`YZg6pZWAdW-2x3`rju_ zi~%bFe0YnV1PKDNs_*nV!N!0341u>%3LkfVHTNiyR7Iu@kV>9B>Q{LDOV8FUnt>I9_5L4);aj~L8*dWnu~t$w1j#F?UY+CQ?Ny3(y!!Vo06p}Bk0U_4NGta z%rIlxLq+RwxhPG!Wsia4VCTcAa4Wle? zBptW&69FmM6d7YjO6qkwLu?*p|}@O)CGeAKu$x?3bh=yXIZa)WT)k=4o|L9nK?9CSYjPMn2hu2tC~d-II11@#8&o`kqgSgil80S7`KO@Ec8v zTd9DFZURU8j6+U+?O=S`B~*z+F}}_i6a4nl=p{_{hb(;CO(*?RmPM?URMbi88dru^ z25&45Ee3MepV~?lv&>!Qq8ntfDv@3r670ED_6AApmeLAsMKDLO^#v#|xxdtDg9<(1 z{HpDa?Yixb1tZ+4<_$No)-R!3c!4q`zqi?d3t@8)v0#dy2$~zCM+5_ z%YL6E`is)x@lreg7E+0V%X2C;-QSzw@nXloY?Etz%mI{oPmk8r9Sk|T2edA+i?Ub= zQ|4kMb|&2^h653pq@jr2q$s((VbnGX4x*a(!A<+X-Q=;+=;*P^(-1%(_2r4z_XK#v|)CtXog313tT=?I#lZ2*f5{u$j=7X#$`1zxzTo^=dq69}+|8egQ!3 zC!_JjM!?-QBcsvLS1Vujh$Go+BF7>?RkmrUVPvRLwLv@tiH2kcKf7L$3(&*At_c_^Za1@ zfVhZXl5JEKExTHP*-55+01~Sw2bm~v7CrxIjrtu$@?`Q}dmn);?XF$v>Ce9i@=qL^ zpI$h7CBUn_W9dHnIS|%f<@EF`6NFDdE=(f~D3$aJeQEDIU`)I4#rCAu#N$veaN@+m zmHld6qZf(}942hV<9+$XR0@(w-0`y+=ltQ#{34pTx=)0a8NmGxe*Rx8r3D>A@Ayoc z(JIBy`)jA9AiaiVSWR}YEaJoXz{>Z16z^*#HIYb361jZl2xzt9XgHDhA{2{8JwX+8 zoWT~TU5Lexg9YBfaT14n^uZYEs_5Ir#j#xzY>loGEQv1O447j(qOTMbRqVQEv6p4x zDV&8stb54kKhWtOAkxEarPs08Yo(>vaG2}hsKzQ2@MBq{wVV+ig=J+&(U`HavM~($ zDB$W{6Bg1X^}>qG)o0Gg3o>XRe*gTAIHxFr-VnxNf<@Cn7T1d^s-oQSm&#KBm}$fQ zjK=} zEV*CP&zbhtg8>)-O;^pxa-8wi;r#sH73awDO2YZT?Roj*8Mq^uTb&yV8=~ zo>^Ws)Sez3yzQBpk-=1YV3hCm8}Y(5+X{#s=Oo{79?9wpQ|HY0g0IYZ$&57*_EXU| zGsz6Zx(8g+x}m02D!rhwR0}h?54M$F+YhgnmR|ki8aS%8$ha6Xxi{63UR2|gemv^7 z!FNkr`;KGI+X`^Cwm%FM3%@>L6vD`_Yzc+rNXpw zdbVFt8^i%;L0J@9GnjFjnYpsptl{hx0UC3c`!sI_AX~Nw zu&mn6Vg+|rxU5ySN~@FAEvSV({Qn-bE?=i>!*PSHq>asEV-!7Fgalx&o{e;iI;YN~ z9*gR%I;YO73+ke}q%Nx~>Z-b?uB#h#bHu=-i1c{ds{=V5!%ahwSEc}idcUQWvp1l* z_wItTG_iEf+m-XTa7$w4<_$XfuLP%Rc^&cwOjX--NhaNfH%PZUirh2vwXr7Q76_;CtI~rF`sQz;a!?( zOUeWJa%LLX80_1W>$JLeOFlwu;i%HRZchO2+uaex9`@$SXjknI-NX(cpi}N!hQ;FlOO3Y8Xqhb_tVkDlBiu8@erjdvub{# z%bS@A)M_Gu5m%cV=6@L#1Sf zP1}$Cb(4QAC}mT9n7C9rkPC}GdxH0Fq`cfru94z{A3#tT8Wl$pcO)_hhnCX7f!Uxow}Df^3uquTuMLCv$$*6pfKMeDgI9St~$wz%-S z)2R~F@2>_|vbr5?dgc3L%Ue=m=ImQryJTQgA23i_9|?i6eD=SLbDBuR{ufZxlYozo zxm*N%ykmLiujHwwE}r_p3;_suueAMcP)J@fwEvoO*p`>C9@GxEsDkn;vG5uyRZV&M zWk=M7g+UH`l}6uBK9yHbZ6)o>kxK`%M}{nAoZ0ir%P#eGgNrR)KKXdZrOjG2gjPhJ zTq?MnHOcp^iA!DruvTcEFc24huu^#@;EeJ7@^e#xseKDKhFu9EWXbXZ|h=)e72tUpX*j2 zAcvKYXOKMy!nZaMUE)V(HU z=h)#(%6KkB5K#i05@zk#Q=AEbQ=AeNA{ue6E-GZ&p%l(w(d?Ry z1WnGy2aY5T%=JEvc44f>s#1Ny5bM=e7ETg>S}2L)94RY9b9%FcF?Gp* zKgUKL?x$?jZPY+)kEt(l_z`kgU@$SW2x1j1L=!emWk1JJ!V~yboFch2;}#`aj977> z#nG5?&#kn!1^U1IHri^Zy$(9+WQ()T*s8l8D)e+-FZIraz-1R)bSV@Rx$cUqw&|@> zty^xmsgLKLdKnt}>8rni1{h?y!G;=QnBn0e10#)4Y?RyKqX0%5Ym9NmE3v|MvrII> zB$K_c-!re`1zr)NH;P~(8947L@G;#?bIdkZASNnmel+}P>F5RE7#IaI zF|!C_6)Z#(Hcf>JV;9aLf>UI_`8_VpI)rbU1#vgk!9 zsZUv%n!1K&%Vtc)7F7++n6-6u_4Ex4jf_o9&CD$3Kwtz2^A__ zz}47*+fd;y{IqMRPnzIYKSo#f$IE8%ULqvIO@6MVE)LUFcN8n(GshlO44aMUyVT?B z=%6`4>jo4#4{3Ymep#W2B9s<%p*og|R8}_RMtODd)s+lJH5kJsKlDDSx5N?JC% z6HO-j_;6}cT#ZJoW+PWyqpi+j!XSox6yXh?jrfJ|bJ;(phz%QO=*@^50|PK{?M`%% aqzmRLuoH$SetW;ZrJeO{{e>r+0RRA?c26?^ literal 0 HcmV?d00001 diff --git a/src/ui/fonts/source-sans-3-latin-700-normal.woff2 b/src/ui/fonts/source-sans-3-latin-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3cb944ca31199f76bc2684bcd50a0ef935b2b8f0 GIT binary patch literal 15596 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 G0RR9FN-o#{ literal 0 HcmV?d00001 diff --git a/src/ui/index.ts b/src/ui/index.ts index 7ac186b0..6cd9ebfa 100644 --- a/src/ui/index.ts +++ b/src/ui/index.ts @@ -1,6 +1,7 @@ export { Widget, Box, type Size } from './Widget'; export { HStack, VStack, Spacer, Stack, type StackOptions } from './layout/Stack'; export { Theme, textStyle, type TextStyleToken } from './Theme'; +export { loadEditorFonts } from './fonts'; export { initUI, ui, type UIContext } from './UIContext'; export { afterFrames,