From 9d89154b231755349b7e655e3d88ffc4cfb5e96d Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Sun, 23 Apr 2023 17:16:25 +0200 Subject: [PATCH 1/4] Feat: completely generate logo without relying on pngs --- .gitmodules | 3 - Cargo.lock | 279 ++++++++++++++++++++++++++++++++++-- Cargo.toml | 5 +- artwork | 1 - fonts/Nunito-ExtraLight.ttf | Bin 0 -> 131548 bytes fonts/Nunito-Light.ttf | Bin 0 -> 131756 bytes fonts/Nunito-Regular.ttf | Bin 0 -> 131736 bytes src/main.rs | 26 +++- src/routes/logo.rs | 163 ++++++++++++++------- src/text.rs | 74 ++++++++++ 10 files changed, 484 insertions(+), 67 deletions(-) delete mode 100644 .gitmodules delete mode 160000 artwork create mode 100644 fonts/Nunito-ExtraLight.ttf create mode 100644 fonts/Nunito-Light.ttf create mode 100644 fonts/Nunito-Regular.ttf create mode 100644 src/text.rs diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index d449a4b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "artwork"] - path = artwork - url = https://git.makerlab-murnau.de/MakerLab/artwork.git diff --git a/Cargo.lock b/Cargo.lock index cc54d06..b1dfbe5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,12 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "adler32" version = "1.2.0" @@ -17,6 +23,37 @@ dependencies = [ "memchr", ] +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "async-compression" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +dependencies = [ + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "zstd", + "zstd-safe", +] + [[package]] name = "async-trait" version = "0.1.66" @@ -25,7 +62,7 @@ checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -84,6 +121,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "axum-macros" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb524613be645939e280b7279f7b017f98cf7f5ef084ec374df373530e73277" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "base64" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" + [[package]] name = "bitflags" version = "1.3.2" @@ -99,6 +154,27 @@ dependencies = [ "generic-array", ] +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + [[package]] name = "bstr" version = "1.4.0" @@ -129,6 +205,7 @@ checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871" dependencies = [ "bitflags", "cairo-sys-rs", + "freetype-rs", "libc", "once_cell", "thiserror", @@ -144,6 +221,15 @@ dependencies = [ "system-deps", ] +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + [[package]] name = "cfg-expr" version = "0.11.0" @@ -168,6 +254,15 @@ dependencies = [ "libc", ] +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -198,6 +293,16 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "fnv" version = "1.0.7" @@ -213,6 +318,27 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "freetype-rs" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59c337e64822dd56a3a83ed75a662a470736bdb3a9fabfb588dff276b94a4e0" +dependencies = [ + "bitflags", + "freetype-sys", + "libc", +] + +[[package]] +name = "freetype-sys" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643148ca6cbad6bec384b52fbe1968547d578c4efe83109e035c43a71734ff88" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "futures-channel" version = "0.3.27" @@ -228,6 +354,12 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + [[package]] name = "futures-task" version = "0.3.27" @@ -244,6 +376,7 @@ dependencies = [ "futures-task", "pin-project-lite", "pin-utils", + "slab", ] [[package]] @@ -367,12 +500,31 @@ dependencies = [ "adler32", ] +[[package]] +name = "iri-string" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21859b667d66a4c1dacd9df0863b3efb65785474255face87f5bca39dd8407c0" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "itoa" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + [[package]] name = "libc" version = "0.2.140" @@ -403,6 +555,7 @@ name = "logo-generator" version = "0.1.0" dependencies = [ "axum", + "axum-macros", "cairo-rs", "mime_guess", "png", @@ -411,6 +564,8 @@ dependencies = [ "serde", "serde_json", "tokio", + "tower-http", + "tracing", ] [[package]] @@ -441,6 +596,15 @@ dependencies = [ "unicase", ] +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + [[package]] name = "mio" version = "0.8.6" @@ -545,7 +709,7 @@ checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -586,18 +750,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] @@ -678,7 +842,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn", + "syn 1.0.109", "walkdir", ] @@ -737,7 +901,7 @@ checksum = "4fc80d722935453bcafdc2c9a73cd6fac4dc1938f0346035d84bf99fa9e33217" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -792,6 +956,15 @@ dependencies = [ "libc", ] +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + [[package]] name = "smallvec" version = "1.10.0" @@ -819,6 +992,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "sync_wrapper" version = "0.1.2" @@ -855,7 +1039,7 @@ checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -886,7 +1070,20 @@ checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", +] + +[[package]] +name = "tokio-util" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", ] [[package]] @@ -920,6 +1117,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" dependencies = [ + "async-compression", + "base64", "bitflags", "bytes", "futures-core", @@ -927,10 +1126,19 @@ dependencies = [ "http", "http-body", "http-range-header", + "httpdate", + "iri-string", + "mime", + "mime_guess", + "percent-encoding", "pin-project-lite", + "tokio", + "tokio-util", "tower", "tower-layer", "tower-service", + "tracing", + "uuid", ] [[package]] @@ -954,9 +1162,21 @@ dependencies = [ "cfg-if", "log", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "tracing-core" version = "0.1.30" @@ -993,6 +1213,15 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +[[package]] +name = "uuid" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb" +dependencies = [ + "getrandom", +] + [[package]] name = "version-compare" version = "0.1.1" @@ -1128,3 +1357,33 @@ name = "windows_x86_64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index 0995bc1..883614c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] png = "0.11.0" -cairo-rs = { version = "0.17.0", default-features = false, features = ["png"] } +cairo-rs = { version = "0.17.0", default-features = false, features = ["png", "freetype"] } axum = "0.6.10" tokio = { version = "1.0", features = ["full"] } rand = "0.8.5" @@ -15,3 +15,6 @@ serde = { version = "1.0.152", features = ["derive"] } rust-embed = { version = "6.6.0", features = ["include-exclude"] } mime_guess = "2.0.4" serde_json = "1.0.94" +axum-macros = "0.3.7" +tower-http = { version = "0.4.0", features = ["fs", "full"] } +tracing = "0.1.37" diff --git a/artwork b/artwork deleted file mode 160000 index 13b39b2..0000000 --- a/artwork +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 13b39b2537350a24fe69a309e7f676a3c25f7bd0 diff --git a/fonts/Nunito-ExtraLight.ttf b/fonts/Nunito-ExtraLight.ttf new file mode 100644 index 0000000000000000000000000000000000000000..430ae0fd8fdad51c6534673d1dab657994d28476 GIT binary patch literal 131548 zcmdSCcVJw_wLiXd@9w>K?-of`?`0*ex~#HV)m4`)S+Xt5mb)c)1MXl41ED0~B&3mq zv@a#0q!&maFOBe0A$h3~AR$hu!F2Kx2yqNr{XS>r-n;jzkmURO{qxIvc%`G+nKNh3 zoHl39xR}f3O2$8Kmuq-naOfBLKm56iUGQ#~OR5=OvwHG>u3Ywh7dv>j%XR9B;mP%V zU#h;f&c$B4-sK8Nt0(Il-+AlasEbALyK820UGKW5ANxg}OJbkE?*qFI?l=;uE-1#| zUvs(iFYeoM;Sm}Q{a=YsZQp^DdoTH-XSK`4{4SQWZvUPgyL10g>2a~rEd0G?KLF|h zp(E{C$nfl~Qov@U9*Hy8HTFEEoN0A3M0?;v?=YuHWMK8MH4t zwBz8Oqp#icCl~AaJSJFlT;ET_e5@dEN{XcWW{%7 zun(u*rD#cB=@UL(_s#D2CTV`}_q^Wk`E=<6@vZ3Q_PIGRru=FZ8V!tSkiMQnSrxG^IgTe3Ks8eZhb66Z!O^!nWF1D=4F{l@3_`{MoTKngp| zfBa-%FrCHtk3UWGgwx{3Q;)m-?AkZHY>%=@(E_S;gQn?TUC)Z&Ls=9VVN6`F$@;UA$e z7A?|T9tuUwA5QuM0sr$Wc1P9>tlV_s&@+GDx^3ImKR>*A`}WNb2mI0p{ekMWo&6hw zL3PX6_8sAovGEn*l|#d$G$#HheG6ljx@ui5#+acJB^?8jAS;i6jhaBYx5nTxf1tdp z!|hcRuV?K>mcJw}SG9FzYCc8rX*uKLOJT)a{c~rf^QE5=6~M`0<(Nd$6`ZP+hs(=> zpaSj{>}&Gx+jqThW!1#-(ShTYs@tOnwTfM_sf%N=i>EqwS874sBdImVv<l=LvrQ{^-A z_wmU%^@G5*C_#HuqQFWJQpWs&F9Ew!_xberhu9YW`5AVYKE*I zHay>CFWC5i^q%NHhuVWLNh*CAva*I`WgSESmFIHziNE%N7huWIifXgf9FI}Ae_AKgQH^* zl^9D<0NF2U3iK4snj}RE^d#)%49wmISw*J;*Tp!c`4~;36qz`VqJw3IYW&6CaarF3$nqOX)MG}H2 zeG%V5P@R0|T)|gHz==ZzJcZfew4(&vZ^2~=b2H)cId;m{4{@$&@3Gp`xWrikUO;e? zNTB)$Veu6vs7@p(CZj>nf+&OE)0E>hXWhq6)4%jzyi8a8x^#;V|BL^WwbJM8wC?xo ztS^4A?g#U`ys)U;=s)6WGe*b^m2gU{^e=`;hkIlF*wjdtRw#<$tZ`F|BgI$iKJTUs zzrM*!1AE!a;&W4m&nG~@MQ5kuWrUFCg=OizhS0gjYkm@F_G|(FG?hbNoI8iM#2o_a=g{8(`d_vlLIicmfIcge ztP^b|3;HsbECMQX=p@>HoLdh9>fz9}a}%yla9VMwe3qbdgu}JA(Nx~H9MIozk3{rP z!rO{jklYi{QV#tC=9bKPQ$P!j6Ge09`dr@wMau+5;fbi_&0H*4d(`QDoUDw5OFfJj zMDb*V?G6SUi;|vEKHpT(z;-j@L{hx7(s4(Tn> zxrn3V^{}ThNGW+W)#r&9q;niT?ei{01md?{yqepQt|ID68PQ}Smx4NuV6SkXTk zG(0C=##fZXVQU^*6rN(iWeK=q4!k|q)ZU&nmgvW0!6zK;&sy*v`9K06tf`650Z03| z)t>Mqn@9AYLvT*J9%@fs30Vg)Yp|^&nSAZ|YI61DASQbR&b_32d-^=_taRP$BG4lPQ>1G#pH?Dwc5s850lZc;g-YePHk_jT=~JhpZFZ?j*owV_7At`_}W}WYlgKE z+DpL64-oKF2b}bXfScNmx99e^fCsJi6VjKt93wc{?dYH6ne}(rleX^#>~Lp@ID9K-(+7k==B)jPh0&|T66&1;^(lN!yR;_bus6u zx^t{?hz}EZ<=Nr#FRgKM9qL4n0}FS$&da1My^JZkHg)c(T@dgkW;#nkzSbpNk-*N6%B&kb^qGUzID)j`VPOaoyzin~P-gbPF9 z8UeXQgq}2sSZF}$Ozo+zSRTpy!V)6zW8NfPR=qolO45q!JC~M+#!RO{J&I7yqn;AN z6f-h25f&u-iZEQ1o-O-U__Xq9)`cGCRiOqh${XmoN!K5k-oAbM0fWMOr@J=P`YUQ5 zfuZG9f8SgZ|2@dPXU(edHNvVnCrxuM{v4N<8e3&)OglWqg3A)H2AA^o(3p$24_WXD zNBgrDoW`ZyEXFOh;0GM-;{=ChY=nnkv*7NLL?K~3RL9F z$yypWj~A*QL{QcG^H%KMGrDfq_N}3wjgh`XwFs{=0ZYq962rTFldR0 zh6VpC<|^P`W`~oc6Yvx}oSzT~_%aLLM>H_oBhuAk>z_2GXz#b$%Z~Qv9PP=v5$!!z z`w2(;vsQb+x#vagNwZ>HNIL#KZnd11j$v(Ld~N0}O^ECk9>p+B2+J~UHlsE;0w}<# z4dNR&MR$Z0z80a0y2+_cTi!_)%l`4LGn)<^rLEq5Vq$1t+i+L&SXI-sR*>%rV1e?o z)~*;{MHb}v$jI2feeo{tQs1}cK(uykTmMWTsML=&$2Qc$bDD+B8pp27;J8N27>gk# zX_v7woKdM9CMSifdJpy78pEy4^wA-pNxKj#4fPqE;AG_KhmYiG8X z9q@A&e8K@gYrzjV;BkUu4Ypu^9EastK=VSh%(Axm4zYd%jraHM=?@VtFFbPe7=3nK ztd$P$A7HoAbmO}(J$dp{b|e3J`{uXzfPZ=4d`>^)bJZApGYd|Zn}DY};KYvt?sve6 z-vvD6fRp7U;F1NOpgEav@ST0!L_ewnPLWN~Pl*lw61Qjsyj&Wy@PEmgSJ=(rT!WkA zOh}3ES$}unvDo+R_`Jj|GaA?WJ}e=#|Fh_yEClD@>ui5NZsDi8bqAberKwrLF~2ngD10u zTwvtSP%eStqGqUYP1!16&=Y@BmVGMurA3*n(CzbTUP+EW=?*G>pLCKfJ54o zE&e~OMN{x2qA>B#s{t<}GOOZWS5?Bn4;)&618h9_g^`p@RxZ3ylg3y_#70>W%*pth zimqyY&#OtVVp!G7)cBi_pFXxd%%+k4fuX+1M(~m3jo%WE- zkA~y7XOlb?GbZ^ZFe)L8EI93J0WWaCNqz`;4#6>lY8dBr&~f=ZR)*sdmR>BBFw`89 zB3Q&wcZ1*%x5EBAK1K-u?8p4qcrW`Q{i^ztz0x(Ar1 zt!}WQHC8cF;SFfAN3Gmg9bFMZ4g}5`mJe#>y%jB8*<~r!;pJVm;|<4F^krmvByYg) z&dw@d)fIo3%!uVQ9G!T;`nf69XYh2WfT``A<9TlhO9XZhIz(p12akTw548{?SJc?7|3 zu8h=#eGG>X%Ll9fC3CBujPiNM6s7$c>5?k%10(-Sj@Rf6qtJ1NVQ@ZW>%9ZS8*T#Q;XJ>|5TB42cE+{5}Gdoor8&e(-8OAs@5m{p7 zW;ZFy^UKF-qgNfSt;XITXkR`Y?ub>6ntOj!&Dd%^EqmXJ+To@g=(YlPY8#hf&O7u*g4hW@%qYq9qa3x zw#3xkM>290ruu?PcHz|8@hyVq|R z@v);_;l}B{-G>{u_wPQOz~HBl%MoFL&BK7B1EHIq{%@c%GMJO))0CjMsp+jS3XP0; z{hCi|jr@91te7hT+5ctiAz>9_)6CDWN@NF`=~c@HcSQ=?);5=~F7z-84&-;`SNGLs zZe5QbRHRoiPvL5<=h#@=mY$N_LXY2vHOfiNi;Oq!K9-sT8x}@mVJ=B{K0045B-8TM z!lwm?BxM4AhCVsGkFd4iZ`k2hKa|n3SbvbH2K*W8dzifhiDtkbuDRe2w?(C z+<7JgS+js!{JlFO%{%&rb|xoyCVA&zf?K+dj*TDbS`lL_$zv2J?T5NX=5Y&A<~ivn z;1xtI#p!}zQ0&k0FfxiMi6fehtWJvSAYzjlj`9UkqZAnkO7oaF(7Q7d-PzZ)s@b2) zCf8-(qz4s6zdWNp$ESIMzEEdg(q#a7eCNrnqvd(gwb2%Xzqe>@`-g`1x0Q{y9sXiO z>T`PnN$!XqNYmtCK#_g9DXbZ=pr=MJKkw>^6$e(7h3htSY}!{h)wyMlv6|8l*^>-@ z4OaQjQaaz0m?OcF+0o;eV`eBqJCi~n_M8GMN=koxYs%k6`|-c|38#M(k$If&-9^{o z7dou{06z!aAE2LSAER$OmxS})1Orc4vpCBTIe=uLS)7FRYwqg=uh0xcY?qt9W*FzK zQMd1Gk~fRu{7Y+J&z@e0tf2V;2exs-R_rYKY07QmYY|3nTPt6aGcr!Cp;L+PPD38R zVoh)zk2SrOGGGNO_P4d|>8l@U%7vVNFFT%6Ivi=AsNA)wV#t*9o3+lvkc-_#km7+r znZIj8eRO-LXZOMMTp`4B3JeU{X}*_>IA%{WaEl=mPLmbK1pGM%oMeT7pRwS5=*MhN zGJ&{Gm7U)snIOLRjP<><>$tTF@scLy9+nF0Tc9d4t;-9VXTMLq4>yGeju ziNgtYCy6It)y5sF#8lm^zI&0Uh5ZZV5R;%BDCSRM2Uu7t zK4gd|ICArJMM-2&rAKxnic~YvuyU0i+&$R86DogA)8OtP*J?YDLpy9=6Iorg{hop% zgn_)wU6{Ro^))>sT?dC-Hg<@xJ}%ztXs+YwN*=&9SYA#JU1UzArmC#h#<} z>w@x@|oWoc{Ju*_j2L1xy^*saa`v;rWcNGtGUm(bxTo~Yg*82yTL~3|% z-TKbWd$DiUgCie-wuPKGPaeT}mfdUk^C{fZhpIZCJa&wdwzH>wyqtcF4UTW4BQjy; zey_W`a&1@qkHoO7Xne)=n)ta4?9aK^jd3D&&R?L(Lm|t|U1a1D-Jh{mBnN)W=gYWb z5iCk{ZJBpBO?tN%KmK?zbih^X=PGH|SasM@*q^h8)Zx^ih>U={Qy7rv?Lj5Vi7?=P z3qIlKM@WCkH9R-#dcX7)WDI6I>6)g&L{+JZjC<-36Xk)S3WthSFC&La0psPSw0Y?a!sJXvsd! z`_!K@1b<^JzE`&b1Kdfm_M}WWfVLbipQGGcL(+W@^L9$QbOX1vdAKRYz9Qt1={FBI zI?H4~CIbIvK5j^?quqLz1we=SyPs69(CpCik9H5z(k-upv#fdjK{cRFj7Wvl>+Ew~ zU6KM(Co?AIivIXqXNcNvjqeR(6wH*M@St2@Go+PFqg(KEu5TFdvndLtTtk>30T(qD2rUN#Rl0G>jqV zDXs*9@Wg!5s+OWLqA+wg0JU>~s~z39Y^tkw+?SNRtv51MO2muy46Zdltu@&j>*?-k zAFP~+ITevZDPbNP5H|;A!1p{(zq9Oid>T3t7|-LBrBD@|qWc!;M8P3@ySppa&ch_b z)G1uvUBE{-Jes*TxTbu;UGDC=)`hHQ{MBkrc93Xo`ZMe2WU_lL_&K{K<1$vXH|_uR zbI@3}_NM*69@(_tmcD|u=IxPrS!s-Wz|lVL=$|B*=-;%%(T{0|lc#7(Fk>CX67wx! zSM&;7ZVEFpC(@1876h#vwM5X6VNjTx&miqLA>$06o7=hnPVQx(ZwJ|~4g6zuVEE%={74FP|S;*1uYtW*Ji#t!G&QotX!;1lTI zY){^#h*vK4y+^F?0Wa=NivE7*fRi^V;J>%St#QbkwBt*;#fInx!|Fi`BaSM)l za4r-5@OfDDAe%(MpRn2!UCGN7@K+u1Ll*oWtkXtUv!Afc;gEn&qE>*QJJHenUgGa( zt-ssXG4b~&9Dg_QN&Nj)$KQ$j3192)?rO*1&2?1erycVlyG6|N?+!RwE&~1+JKV-6 ze_I0nR}0?fp!=I_1@M!>x2Hi5uZwm@wHd?VFq?g(!QG^GP zxKznMv?Vu9nY==w#Yr$V~ zz!RMM3c*D@PTmZe-sT#1%->Q#|JJ#NlTa3MR$Y*qns#J$=Y~4?wjW?e={TcxRps>N zvOy!vRkX2Y!?Dz5sppR`kThG?Ol)r5H-gxgw_^&iuMTDBVKeqc2NuolIDcJ34w)STKyKQ^WCB#C;6%Kgap*xKZp5*Dts{8wY$PkAevJ83R5D?GHS# z3ka^r=eS+ih1M}H-9_uyjMl@@{r1+}?{amb^;U^wl4$*R(R%JNSb6r=arh|A6@>=8 zg}p@gF2Q^Aauh}Ss8|Eo`Q}}GI9DQjRC%dx3Na)ZNi*eR<-LQojg#FS)vKFpCh`>7 ztq0V+zEIadRo!H7&rU6;(CznoJ$V_8)g@tnT2ic`GFFn8ha3=vDOs73nvyDCT5@|s z*9gfKju)pK*>KPVuGcx`I9!fmb^`vC9nL8#;AiY`Tl;4%cpuH%>gNsDONstDtwlf2 zSnXv;`*V)=cw%n$<#(|Ov>Ux3< z{}0j*{a|xfdaf6>B~-mk3y(CjQi_G~8&B`zVbEuK2XQURgeqxh3! zqdQhJ5C6Fn*KN=1?gLhQ6zME*{TAn|Cvn!vEci1P{5c2wH49E>u!;7h*F`^cmbw`H zH3$65R{PTye1c|e!OsFt`+Gi~Pgw0iCBBcvxUUjiP!D%14kftD)ClB)bLvqw41=js zmY`y|W?7o9cXcd5OP9|l=PWPH@&$Uwya=`1Xo|6k7C*FTD&{ajI9YJp+#Ky`ZpNGe zCo5F+Lvu^O$yVZUSe+Iev`DPM(?ko4c2A?dpwZtQ@K0Otzc}C|>qPtiB{-*PADaV5 zcDh`9OpR*=r!2Zs_;`_+n%LdA=UX0Ow}CTb^Z0dszD&@_wmI3|w*(I_NRer*GBRw; zIm<3<4$nL0_K*dC(GHiZE%?jEob#a_|A0AX34OOn+9*zue96jp+=vi*z3zLn{@YEV zdglJNCq)Sa*j;)OE@Z}A*#97mgmlfZ01Q&*s>5B{Wb|9Lc)ye*DIz0|%-a|B6wfE! zZp!hMZ_2sV1M_W}`{tZmXh@v<+~7{p(c;#^&$v?*e}LWXPohJh2>Wrs?+?T~+0T8d zo=iC4SN1>gmH@wj%5mX*^MJvxpW=Kb;N-;!_%qB7CofUJPdnhme**pl!7fT|_wFX#MGPtsKNSHDu}*GE&I=fD2(k0R?fe{P7cUoIcJ8DlS8LZnaM4T28- zbio?NUw7-@!9DCxrLl*^I!4&faoab^JA0k3(O%^JbK3n*(9ZQHr=5Tk?F9T82b^dp z;HMpMvI_+KF*}^gLjga_F0}Pev=;Cus6A+naitjSv(m-pYi8YIFY=^Y$Gmm-_p)vY z6xSByW>XH4R$P&G#+v;jdJwmq!Nu<^tVrd_LuK`|XLQY?07)r<$*XqEc{E~lO{ zLxDLNp9(J1sCEwTo3GMS#wxwYsVLyD0v7>4Lz%T!ds+h)WxwlSRAwz`!w`jf! z_paidWXmm*S92DbD#YK<8+bti1AB_VJ+Kke9iU=eC^+R z+V;IitnWGT{hb4z!1wodxHS$%0Bv;Sr+Wh5(+)W82myc0f&*Xf7YR70uelz!^?Sl< zPwPk0LbQL?0Vgk1!2j-mQ)EoQ|6;-Wqzv1*Z?dNod?3wP?Vq>W6Mc{)YxMJi9nRxU zqW>2O4mk=>9H)`@yZl^^Cd}>g1w&hhQ?t`XEZ>DXX~_3*5zF`3C!J)tlj(!s-5;Nn_-ANaH`P!>AYfu!;Sg#IejhBUUE}=tY;Cs2`8>UquN-L zhM!4y8N|77;wl5_9btDNvzaCv2`S2ZYC9);`un17p>Tdpc13wsZJO8bajTh;-15fk z6kM`OX<#=sme*9|=jLS06g628EqXu{+x$rA6 zG36?Ez!6?F9QCw}+bX(BOS>w>zx6FG^>xuGyQyrTwywXdtiP^ypscW~y}gV6BYGGW zXB7o=rEzBP57mmybQL8ky%^V3ic^H&lPDD_DsR1)csqXTnL{V6B9XRgbWd)Zo}LM> z92@8H7NdWRNBNGV0nef83f*D1PWi0Sc%dY${bk(u`~+@=@jL6VlKC}IV9&qJ_fH0T zqnj`|X*7D3WaEd`(zL|>C)1s)E3{r=6Jv)}&(S{pcr~CmTG?sAo9V^){je z9s1vI-awU0XAcm`;a#6PmGL9#!uNmeIpP=$PSyGp+R^6k#6d>&J7<-?3oW?BdN^mL z!~c2@(v)%bs>$i*F1kD@J8w4V)i z#J|Tg4jLdQV~{IdCXY}YumDw2MeNTM>|DTbVl-L~~6Vt@~9-d?kzr|VEX~JK z3a;>?K2Juxz~fb9MN^EzUnivxYKlkKW@k9ZzH9aT-bIT2Z?Yhnp_b!-I>h`37Cw^ViOs>a+vR>{q+=&@VB`??Q$(?y0d|aRQk!9G5 zSJA{4oA>V2Ku~(AvE7#>%O1VDuC5wOB`5jX8x2`H28x@xrwbSxw*{PxZ4?E(Il;ZH z>k4hmdkw$RFB1P89O@p9&0|nw6~?%XFQ-+2j7J;^c%{$%L%I|aq}bSrkPbmfrL%*U zXiPTi3ll#`dr_D0|76zo*Xqe|0rk@Msth4NxZJm6L6e|*;d{@{hh#oj^UchF-rMgg*#CZxD@k>D& zO--5D3cS`Z%B@7%M|EE?Yvw(pm8&is$qEvsf>}G?v!ZJCu@zZCy(n1Hv8}Hpc67WX zFIdvP4F^C+R+j{G{QAn^%6DxUJiMwZI7BjVC^+)2tpkTwR|i+>{sU4t7#f&~tv=Bk z43-Vfbgn%f3u0ErJ#WzQaZbk==-2={h78^^a-Gc+261=I6!BoNJl$8azj?#kx(Ll< zhnr`r=m&mgSC^jNbNRM+5Gt2laWXxJ4bqRi;G?iGUcop;2F2)_u-UCuZqrbN60D5b zy9Cd$N2q_&eq?39*!l$T^n`RR|J=nDAMIT%%~wVLh>a}l+8P5^5o|f?6gB*;e*^vn zU7JJf_XoIa*zHb1|A}#^1Uvibq8Ko)4>fFyqx&J<@#D1StC!9*E z{k&kf_-7$VxQykzCLzbwB|QkaltmJgk8CM-MBWz+59#y^Qip%?2j)-hDpIKdfBd($ z$w`pMXWh%ue}$_-)WafsjU@6yk-T6qX$oQHuabmT{hFK*(Z?1UTu5s-#F#@|&%*|k zc5eiw%c#w1$wz$zmf^!Z@4FRH^` zcwbPforz7Ih)JpJ9sK=(x2Lh#+oobO)u@5xcB{1)nMLUYkwuu*!4BMLVHSpsXWAmTw?NyP{2sLqccB$pQJV=Elvn{!LOCL!RI{^d z>O?n7jbF|y8oV=&bzC&nwYLUAaM`Uko#@$h?Jx=`YYvoTau8C1QbkCE-G>^`RYo~| zL*G&rUC?lf>%c{8)|wSr(P}SInlz&B~P>SWOEA$uRnh%&@e)XZy zK8IN6s@f_>6n`GV{q5V|LHp#gD=$vZA)kj!kGZq*M?uYEyc)q*I!t~X=QPuN;xTou z37yG7(*7;ijLKglH;cr|*F2+FZ{B`tq-xdSp|!_4ueo&M!p>9Lx*IMaK1;CSc^{jg zvf0--t3E=GwL;=hEec-c%%B9A3~MM{7N};vxHvx-Mv6>@>L|V;W$V6=grik>k0J<% z&vQ{$v^-Tma5A!Y^bCaQ|32`*_UUPIKr4b}p+_~9d4u{RwH5w7TYEOt!TW;w#P+a` zHRG$+@bwswUIiYA#sCZOSK=m-(-&QAp$vaiYF)w~wU>+f*B+^D`5Zp!+!-t#B4&bC z2?;sRdO>_AWabz^qY04#y?irnnS4&%GI<`iOrDq*4nftM)YOxto=@VyA?*u^s0dam z6Wn?n)M=qJQgfBeMdJ1o!p%!W3Wp!C+~3h0`== zSF_e!%6_oyU+Dywaa48aAK?8$vC=jJG$x_WAJTh}JVK|F3rY|DCO10VglA#gUNziS zlkteN{t%n(Syd{jKA*~@{I2HNSzd=IeQvjWKh|uGpc}V2t%7}g!~JI-x@Du>1(DRP zB)PY9ZyP&t5m()d>wI=s-S4$r_1pnr%X~7`tNlQD+eF|0++j}q_b&Y$M zB(&(tf7nW<;@U!RqY&4EH{a4}@747R-T$9^?yx#P@)6yC{eSAf3yYWHC(TQ)mnk5v zzzH$CxhxV)xzv~vbWdYht}%rq_cR6Z$hOl(HS7e<+LRs`%5O_j7@p9DA(cdMc)w}5D%dcM&<4ZZV zRN7ci2r#eyrKNEeu_f-E{v6oW&cl`zO#;0Ivg|e8$1Tq%b>F;&O~k)M2;sei6XLhO zwxhBzh#vXDNu`FZ6z{3a)aR2Kxqy=OzJVp8yDA;YzMiEn`C;^%o?<$B{z5*?Rs1)fC z5wEt-k_I&6stWm&h*~53fZ2&~gl%Th)uMMv#3gtrm24Ys!^(M(Lo4|xHX9aV9eN$& z)_6lnJR4;FilA13M8;!?;&xW?Ntlnkp7rXZEBrZnK&Rs!&6lpjGmo8^?Akq2G1Ohv zQ8aYvL~$eo(M6_e*|GA$i`LgyuZ~7nSJ$sUu5G;K@cL8R8kodTP0cIgQ@p-Zz3O1! z#vL_lJ2qak5_$#sqkeb5*SPtzk>NcpEqjJXF5BD)?b{E@O0Pm`=pz@uqKAx<_@3+;*`$Ce?h-~iM z+#dOS)XIPZ!&i+*ALdhN{;rm%L>PsO7*txr|9+7Or`#aIDG7?b-x*Q?MPi`HM?n$z zmA!8n7cz-J81cO*sfz@O_@09R##Usp#bZT=IN|3>v;)oP6b@3jtq3f*7Q!%@*jkAw zRVL13$*fO@ixEx45=6MFNrRr!Cl0rhfH}0whu_pjXW+_vBXrY^UQg^&Gk|rGNB5QEpXtC^UX{S%a&d5HP+xLo!?%k-TC}?Qg#-+XIHw?WS{fYtexQGpCy zOpgRQJ$adAVwl&$k}40~uvYTsL`F)}bzgf|uD5#P_(%Nn-#hz|Pa1sJu8!UH z2*4t8U4MM<)X8q26!vvosI9;GU{c9oQ)L#ycFXiwYcgv7Hx$J-9_~e{g`{2Y9Vy1! zbDBS>ge#=a7J*6?FL7{G^LVdW(3wKd|56 zlU9IE74J7HK|?6oJvl^A=4sW0qNl(a(PRFx;_~x0e9F|YH(OSSd(-judB=*&*Bx#l z)52OHyD_&c_V(=&I$WfafjtscW{2J3JcU{6h=6!SmA+^mwahGaT)f!Gw;gTWtDf~B_sqt5nNFtcq(UMO@ndg0eru%xj=bIe3%jiq;;~5FIe^G;@ zo!?}nwb>&fi-X_Qa-2WetpG9ttWm|(@3l{Tfw_a@rNpF{HhF?VHtpt-b4W)nld&tC z)RecBliXZINmGo`9D}Zs}c?J@N!-KpuvJ29B3l z5=&s!!xg5HDrcL-*rxj&PqT=(J?yWy%x8#q+8=2VY-)SR1#&z{5iOo`K|2dPBF<3u z@Es`Nbmq+AZixxF@d7DyHF6yB{Tak5g8cjD8B7m{8=kmZapCr!>6yzH;x#F{&8MP2 zae^gwHpY>P3^;Z++VitudJT$Kzoqu*7r2Ns;vcx0_?lwJTX#js-NcqB=3ZFjl)@Bz zzbB4{8;*|RWVm|sid7oPGZu(%Wjx6=56;H}w_aSvb^8 zO{1tYV!m4ZS4rWCUOEpZT0rkyM(;!!XR!s2Gg_L9IHQ#exOhE-Xnd71_lxmK=T~R> z+XS*Jopjh_q&OV`c+&t}Bu=+g>W=?$iB|~NWO;e~GfTfdkXRewM^O`^HShqO$6@&z z^cZk>4uFeuH<~A3b9VvNow49FPXU)4a5|$FaNU4&+ky9w{lUkDWru!Xb z4Hxz-zl-744H|p;1}KzH-rc;!mLEbH2iwOhWWud)=198^54$0P@NT=pK4lL)ISEA znx~58{8W)_>Q3ZuF=XbQmDa(65V1ZYVhh#YGkqeUXL%dkn1H}08EIynMO!F}21kkw zZ8#dO7;WsIXt`ij?S?f)Do*bMTHWEUnO)mAe}GKeo3?J-dvNqow|4_R9JsD?W)AT-e+%uwKYdpf~b{Evv&YjxDusi#RBG zhS5P*v50VxH5ML z_vw61xQ zNK6qOze$=R;6H10yqAW-(J^&ScwNl#LcS@_;v{d4?^X*tlPSOD^`(y55lux9-}i2x zekv7Vwr?01PeKJzIP!}JYGoFYt5 z0qtMmu9yB3F~YZrFuy_xAi{lw{RtybTndM-NUlau%}DhnoiJ}ER&5k+cH!zc_@pV4 z78_m-Q`SB)f6AWTj#c5jfo~vV&#%kD=JCkLx|P#wHq-K(i*vT4w{og~v}ZfQ%@Qnu zi=|B9QcB(hpD$%>a(u*eO_fhr!F-~OP0GHg^Xl1^Ir*gsv@={TBbwsf)%cn=R{2cm z-G2S;+1|3PNBb|Ok>f)k?%R>FdF)umm)VU+rf#MkO?&Gx+H0&xwtnX~QSdwVs(D9% zx0Akv+-?EqcMw3uWpn?O{=lBI@{%Y-nK)b{!7L=R#ac~9a8I=*ZQ|&g=aS%=;nCun z(zMNpB;vN-+T3tuUh1c*V2#qA_Rw|~(Sz#*0L>D2s+aPC?+^P)oW=Csn9;!z54 zJQ^%5{*Xw@yt=wBP4@o;nUTnweSp`6`tbuQZnOv0pZMj}x|*v+Lg$ByN|PQH(brPY z;`6wtMfR9+^pgRD!Q97&NhWqR9o3U%&O;)km?C`FKij;!NJS_;Nh?}gvt}^Xww}0h zyfGH*tr;)zr+D4o(yh%KCLsaFrnUTBC5RV{)$FXu^7;n46^;EK$;i~C;4&pAXGMI0UJ-DTBm({f!NI*7=T5?oy#q0ULE1|T zb2AskmV3wW0~XEAWUt9OWjxmgy2()l-rD>brS=8=p7@*f8?)RBrDiUR)mC@%)J%^% zW7EZ|ruelhkebQ9O7mJ|*4>nuncdv32W46DRoB#1`xIFY>K#p-+W%yagRc?)r2S|_ z6nJGaG7uNxUWj4h&;v_y=tiDb`~xEWTXG_&G)Ct#`&J>djokZO+}eB)asoU+5de|_ zlm$eOJvh@c+4pqc3xR^hay)nf2^1}UsF={5B3IKwe^kkzyGgE@^SaiQk6`C~0P z6>~&mN`hv@qehNO;${!+Tf2`0*~N0a`o|24HPE~Q{*Nz8FwEzoG}1KKM5odB{LE3q z60~KG8q~UN)3(Zq&f7lIJ3QR`8IxR}Up-tu5GrkL?}%crVE;>-j6Ojr+d3@l73#`V z1u1EZ4Z(gWgwP^G#s6kXrFbVQK=Yi@a>#;3b4C{qeUCrzVM->z(#)UKXUV_~_&;Tv z7Pl$?DOaQaa>|q2AasN{z#{wE8i3omT#r~enjJ!ERM&$|NoR=h?)C>rqp+ibn6l6w z*%Q}Zz?Fv>9bfnyl*^W`R8C#84bI7JpswR3P#WKqJC_$^#oh}GPn<=Y5lDMbNU;@&Hm{2q5utQ?O{0CX zxq5RJwt&_m-33DhT9Oa>s)ZXW26r~&DG)6WCT9SHXJa2tt3GrXrVnx`4ir@>EBmT?Lh!g?PrdrvXk%k5 z>Hb&YZ-O%XHW;}Mc7Ib8yAjovu+)Z`V^o}nZ)ECdkWOJ88ls9`Z&OQ}QJ52@=rcA7 zC5%ed8Q(B!aOVwj57Z|GnpU;EX_e`e7OlrU+dEC3sE|rL!i7_&MAQ#-F_991ILd+o zrO0T2;t+ujQ$&53L^&5$AD%C&K1Uq)OWH5Lq@S+0i7d(RCI5`m-y*8PV(<$h( zxl3dTUdn_)FP=dXHi$u+jF{MBbL5ErD}UTD0`O)6_^AYgO$px`3;G{<=Ib)T*dC|+ z`X#zYd9QG>=h60GxaaRm4)`x4Z$Lt<{}}hnHCKvaFAf8SjvZ~YQU#mX3YBu4J6ZDkhsC{6maSCMFdtCWKN8)-w)e@^FeT}p`{@(IO8 zWVVQhX%dt05`HaCxa^)4b~kP3CH-5vPbT;YKNyO+6Im_(CB0qbO<;p}+I-$UNN(A) zR0zg7}qGG|8L$ zr&NVChNR@Q}C~bw*#(6$JW3b*=gRF+yF|JZV*KuXXZ3A(gI3ok$Kk_{1rCt^fpVvm^ zth1ZaydJllq^DM-R`k|n?b_TnwS0MHMZ@x`wv6gjM3PlCqamkpsykHN5w2)24#n1M zv16-RH}{4RR0---t5?mBj4$7Rq<*TkxvQ(Wb*f&|+z65RaKERdYqFuPzr4J^u3@sP z1oE;K@{(Q&{daOM7d{$?a%B~|^6$JHXUfHY{eT?pm5X`g!}O%ZNr5x|VF|xHv4n|G zh+_f2V1z`>!vd~xd0fP-?H_TdT(T4JTy5H%?)!;RP3(JCMYx|JB5@P@)x3gm4L4=j zdNpJ6!WM@WvPk!2jnM5C2uh6OJq(lV{GTlt?Pur1K0EBinD3#dP?Fj2<_%ntOpm3! zheofNyM(=g-9;zxq{)SDZ{nOrm)~Iv@wi;3qhOmw!)LudPp%eFzLZU_2a_TQqpfD33M$zX=vv5bv>b z()SmM`y`~B8Cw#WIW($jWrEUrh(HP@5!f?94KS+l@Mu$!7fLckgq%i3{P-nM)?Y;P zhpBmAS{l=LAl|n_PsE?JlL$YZ)DVUu5lNu}_+k{J6kb(7_hU&WhIo9>Mi=Xy2GT=j z1j+Oq67mr*f73}^qNu<5a*&-gEGOYFh@?^D6`{urc_|@l=B(5KDHC<|84{B?6wYe1 zK?5^gll(i}GJ^q89Cf2M@EUX9`q7vQD3F;8AgnX2RMbDz(nt5sq5;GU>>y3W1pK%#6n^L1{lZPDOM^2O<)@ZD0^t%AV;mF2YT0-5!rjcL8x zkm^D)gp*Phv?T2m#|aD%?JPVZppBxUihJUeWzpk;)NUNI*v?YExWvf;)F}BQ8&Ls^ z;`Zf&BOsrkExGQu@uU^{fo-6$b}OM}o*9xzWr;5|Lg)z{KHf>G9OFSkJ7&G~kYe7i z+UC8${BcfsaSJF&G>3HJ(PvXS@i5I>$Dl=J2DTLkFaCkl1=7ieKzHr|5hfls?HNam&1!r#KE}464sNzTq^GI&3ts9n;{@X5KkYYQK{QZnmG+fGZaq z>L3=(b1``y2c1svJPw>rFt~HrdjgKLWCMOW0hepo%ZMEX_}&v|&UCsV&YT}L>ccf5 zUiK)D>P2}w{yUFM;dkui)2@H=am3z5T~A5u-P5#pF+M-%rFweOO?*$EcD;;GX1*B6 zV&K^c)uWt=|BSTW zloyBDo)^3Owl*~FxF`AJ7fLC@G5T-F5TeT_%hU8^Tc0IuUXg8v$esH_>WPg zPUEcgFOD-?jgqU;#LfaB_;@V^I9pd?m#B)u*iUtH03s71|3p zWgCcdtlXZJ1I~3d@BdC?Tzm*BN}D+RzYO>$d{TDF7|$+2U@nn)$?qD7^9tI@ zq{S9ynwSQLq8^}ZN?Z@9uaHuA`U8unpHRA0eoOgX426b$O!AD4Lx28senQG`0Q9x5 ztZ)+-HqMQ*-$ACCnguBa$Vx%t<-f4}MB?Q-J%Ex_4fW+Udy?UsbHneOix_?v)K?FD z1J}y^l2%ty*wcE&!`${eGrw~0srK>8mVTn8dG=P0SNE{C$hdUP-2i;4`scU7VMI&X z8!b(Vd`li#FX7%3FY9M|g^6@a5nF$K=k$1cq_1pcdt^%~bECF3I7#>Gykj>Z?18b8|qYmHNoc#)A^ zi4$0MhRdiMxQuGRIY=r$xqN_rH{+~`8U7d?NpW(1atuv2;Ec?KVlp`}5Hf1mmiuU& z)Z#G_Tk@mfnG&gu7>!RWsqYN+%|vQT8A^zusz;@o(N;Rd9~sGCo-EaHV2zqzBA!Tx zYht`NQrHkm#i{Jj`T1G|&!9^&joxfve>VKXeDe_st z5)@mq0uV+hiB9ho$IEv1Lwp;hUmzZE9OcgvmHFCUEae$i5832~SGjmrgt>JkO<2H- z8$9;3w70N!c$yk8Aj_OG^Kufawoqs|Q}n({)A_0`QSV2Tl=kCnF0W=??_keD1LBMY zzZ;QHaLLcOJTp9d{Qe;Sy%et?AY;kWWN(lr!}nSNr@RBamd>@o8w?o-;4(z2q)#KC zG=LLSitf{kLQRdCEJFz~M#6t25Y$*2Vh-slOVgM6;!nk2k;>z*WMoM1(7ma%muIF+ z@0z`;uu!^!=pQjM*r8dl_xVKyvzP*z!3f3E{zlK_98;NS)IRgDy!f9r=J(@*U;wWQ zPO_lp@o4eCv9HkYcWZ%Um3=auebS%ir>v!<_@%zo6o33uFr8PYQQ>_`4}c=w;)H^P zwIy=6qk(KJOVW@>BCK=6*}&$YkTK!YNv8Lc#}2K!ZpX-p$=ZfpW4IUX(_c}jgq?eE zV|CvpQ|mA7tKK-Ms(w_O^y-}2w^vKnD@L1G!8=dG-T|-0 z;2-8-mH2zB9*T%xbe2zV5l+I)%fQ%c)f**b;n(IN;jiqU_KYKit7I%f9b=y*Qr4iCfBZ2y{hKt zuQL-5Ntf*PXeckS%Om65_5?8*dLIW@WdmQMb`_4wUP>pCwwG*T84_Xb0C)oa_U zCfC=#ftLs{JjU+>y=b4~7!K45V?b1ktX1U19*zsy)vUzb`VP{L* z>dNUY{AS2l^UA8p@#byiR4vl2mLKlu+0szlRW&*h*`^hLhBAb=B%<%}A3^4@|G<+_)U;+YSz+I&KAqT?s#rFS3v+h{&2-5CjXONMnQ| zB6P#f<7Q*X=hOVt#9h;RQCj@_h=zR3Pdka7L9IL=-l+jqKBoJB%kGQUQ6|n-P^TD@ z3pZ;_>d-EBki+nHEUV4_`W4E9TvP|)0}H)oS0uWoddr%~WTD&V<&HJ#v|!M026K1D z`lg#(c4-xrWTZ2ttfXdj^Tc_THMl#Yv%?S$z$^Y=_06rj`+IhwoP~sQ^0QJd)~y^B zW(YShIzQ0{c3>NqzH?OX(UER$8)z*CCf^8qz(O6x9em30%5$V8p^ zm-uQ0*2xRXiTpN*eBr{F#x0U*mD?3039!ld#he(Zsw=tU-$JoM>>lanJYojjtD=VI zaZMwi0$CMO0cK3^*1_r%bB2VmgfN$`5W?cqzS~pn;d53qcCf8t#q$2~*1ZFRds;(1 zwJSEZ9T?xad-u*Ad-m*To2Z$YTEAn5Ry)U52t{fj9W1C9*>xRb1hlW;TRl0y<(6%akKUo|TX$qp+mQW2~Q|#%WWIP6*SQTbp zjupFUIkvWAIa+sgi}ecISEYt8hoqH-XgOkA8(Vkx^zLpm7K`;bmW8>#1iRsK>>jKN z=!e(Rge_{y7)n<=Pxs~CN|%c~>WvU!cuI+q)uazy=wTWXqK|-^b(I&O!+d)&-%Rf3 ziQG_=3;EQHe7?lgYKG45D2Z)o9y+hHqn?JuQ|E&XNT z$V{wzI?^&7i%o;Qnd^P{=S}Fde?tb}%4KlQhqwu?UaM-z(&aLk+#hz!K96e3;P?bt zK(xzw?=Mlt8s#2{oP0wBlc{b>U?jal0Fw&88Y%YLf%oRZ}#azQ!_nx9`fP+zfn)!Ld=X zbt%QgV?#qLaIS$W;$3|SG%H4%D+iGo=ifBYx(;C`(yBvJ38#Ol;2cZpa-p+`)V&o_ z_kP{4x>>JVMgD+)Jqf$@dQl+$AZ&@-;XUE?wmUqyDdmf=rG>a%_dm|w7eAjUvksJ5 z20OwgckNn<>&CZ~yOEwl22HAWG_|g&+C1Jkk&lAF8U-{r5-Ra~mgP*h_ik^B>@w+5 zR8lqCuxdv|4cT363+j6Tt@uysn`LUCZujBW=yqV{y&hq7qo?k>wCsq_w*0! ziH5qXho{;u7<((J+c{bNZ%N%4xW$isWUk8pjnu8*TS~RA5lNe@Oh{cUNB0`OUUsQ_ zPdV)$To5TN7=7RFEnTDpyP=m?eQ?KmRBT|`j%9)Lg4ErP-IKAH)TOj?Hlq7-Aav=< z^bM-6YNF8W-A6q963PLO$Lou?!?KrL)pKt$ygY+jr;vp_@*#F0kE$8o9X+diB?0U*wr!nVdSue(na!PTo5XKvgo3LybV1Wsm!u6i; zV74k@Z)CO>l(n?gN9mlXw!XF2j#KMET|s$6X{Vf(p(Z1=m6{r^t}dgkR8<)YTgY`T zuWH64R*{NaKIso77fP-d+;w=9BkHT1r}DeZ%sUWePC)MH*r9 z`Lx`kj_T@8Ff3vL9G5R4GZTu1^Dmz*H(P-jtX9)##VR;lwx5koRIH2?#SkMv-f3z> zW>=r8gd#;9BcWJDbtF<<9gWHt>{ziU0#_ELHPn=4J2#c&RcDQMgu6nek-GZEruuri zWzz^8MnMnkM_@pA%0)(im_B95U8o^;{{6?nW&i7gSN?6cj^LoiuE+s{Lz^Y5@#|C# zHfaTVS_clx#@$>&U9uj8MQZdWw6xtCMf6Ot9AX0Z4y=t)(VTby(ZdOS{(+9;lKN9{vYbT13s!^`+v&a-qL$E zo3gv=3DYyZ_?^;f9AdM6*x^iiKd?^5ri;?7X@8R9@xo^;$9px%LpI*)M8buZMDQxgCO99B^3cpl4Vm%RdaxjR8>1d_>&RW{Om6OElidU-{_LM5) zD^!brs=#7T-xGsQ`$RhbL46_{d1z0lH4n(c|Add@W91SkN_nEx;L*4SJ#p>hthfd> z=^DKNTo2dC5!XIGgKJO{*FJ85YtYg6{9yHYP!ZR@(Sh$lLtOj%IIi&~T>E+%u0cOs z|9{xx?87!#NyG~bvsDylLKcDNf(035XoQ~6G+4!=g~Dz?LoZq=b)g&~%tplXK}O8A zVJo>iTW>X?t8n%{a#^h9GJ@C$9CT>EhtP0vkZ%lnxp0x7?HdG+)=*(H@g_dhV3X2d zY`r(W^)`bJdGv%$emmB=!+fT3Lyc|B2#SaZ3JwdC_zVvZ4g#y9XLqq}cs3l*>LHa$ zf<~$ei}oY^EQ7<0y+bTABq9vIGdPBsBwTBP-9aYGCn_p9)dN1EzLS53cWOA11ifl1 zl>wRgOMrKGE(zb+Q6|c37u$}!!ohXUP^!RO|4>4^FZVQv!PP98;MVA?^9!~2NwS+gE1s6IX=lzUs2fPF$Gx^z0otHd(ptm5N{IpW0c%z z^p#?l+3cyUPfso`h|TYwlxUO&Sh$nYv2B#AtTNTzqs(QtULROCS6fehH(Ju;i+|x$ zgf;D#gs}kzC2gOCVqc)dKsvmNLU@W?o-oO=$%HW|)syY2uP7ShE2VpSny+B{Q>rr3 z`*%w!Do!Nt;*^RWskybuIo%SIsEiI{Vul#eQ7-g)_7U14hen7-vCbppqrhhySrdPl zKMZutCU-Klz~w`qH#k3MaAEF{{JgD1ZxBT~NahRqHR2%oO(W1xNlB!S z=#doSgT}P#?G_mkh9$W0r6&aJMNE(|U}J5HbPd*1_t9;)IUKg_x;_R00_c0{YYoA$ zKlIk`p!+-Yy$wcVu)Y>w1o5T15X&+H{3uN(sb6LZRdi;{^5xj&obKx-dXGsOmRW)c z`Y&5Lqcwxv!^=xZc zvcN(?lXN|tC~PJB^Y-f<_Ph1imB(z>b8NV+p4?%xIPBNnM4vZf(JoM=sr6@?#=t|n z>F%v}*(~4u4qn&xL)-J*AwDCS3|^u0q`;H)*l82v9y=+JTzu>-3%e%LCGmdD@$N4B8 zM`iQ%NUcjIkAiu@_%(eTw-}8UN+cnD&qHF)2CqVtOZFQ-0p!u~d*4izoqoy>)8}u{ z!c7=R&|~O%`Ry5>moIjC9`E}N)|1oZua=MB*yZ_uFaJN*huPcSvJ!CCQ@CfP8e;|+UnVl;DS+j-ZxQ39EC!vsIz2{Z7<~IM`R`{Si`2or-p^4#_PZu z?w<9pd3`V5(aWUh?dG~ITN>)OZmBb4CIoq=BG3DLd8)Ee)rCD6z8JllMRx9b(B zH!R#6uV8vXDaeh;xEot4QD$4~8@5np*fVJ6zvlP7bO-Xxg}+7>Y}nums26!Rdc0cw zAb82u(bw#xw9p)WGNLg+Z=-0D8jtuaHYGGAn>s>vN_uJ?(V+^Z@x;V zK>_|!Q4(uvdTU#H1}HQS<%w;#@^_+%UwvIqZ(K(ovuCRn#&#h6jX>5$%gIA(wX}M% z+dA^0dTGnjG#Z1rTFJF6)ZEl!$_y%*)p&BZ(fU7zkW{p>3*)D^;*sZ~UmNhbMa8;3 zMJ$gI2XTLudVf{>{TSST3ins5_gB+>&FuAYuHbC+H)e_rGY=xt&EM~!}xpHcp>ll2xaK8xm8`b-m z@kE{1(|x=d&$9>lgS4OH5)yYFY@My4Wdl4z?f{@2t|-GW^NjiQ-o157vrzPx8tukQ z;87!kOxw4agOCeyXS;p5kc9QiRT8OseKkg5@7|blFj$pgI^A$-YnDOgZQD&j*uKng z339tsPdlLYMT8~`{A4|Hqguv|K04#Rx<{*B<=!YGi9N`@F#QxgwjbpV1fZtXi~N3* z@e4~3wxs#OWJIYlU^&bH*8m#xaW0If5>=F{gUf)L`Uf*1w18#05_36KCacvHmEXfY z)x45U*O@~dgZf0$X=FjAJ;bz{PB#ZlH>dZ^+fU=Fpa$NrWWBMD>OBB`*P7dNIL3m( zqH7HY3L+_=#)8FkQ3&pcxKp6GN~?kb#E6TGM6C=&^&AmakY7}UQ#uqTCxwTDqBz_G zwpMzj%@FiRcU_pS@=#h@l(CcSUc%l8fcc-&R9yH_r_rg{FI6LN-jD=Re{V@Bup9nx)LWod)SU{esO zUStZ9l$2TRZn}E%g1aV+xpm>7wP~ght10KAi}D9%ck7-vD7)hNiUrqC8Gr3LJ;vTN zd&HWChO*GYvgRRu7S)vG4v4f`TiYz*rj(S*`F$r`GIY}J#pmrFpPz2xmSA&k30KOe zRaaG(w)CiNpxH*67oUTg)81!8Rl6<5E0!{r7~1FWR7?yAhP&t`s5jucmzO5N!`Hg@N!>_0g%^FNHg@g-g2f0Qqt#0|Nm@TD4v$KbGd(vt{G>Z!{p~HX59a>a0 zG}mT5`2eP$WRH_iKxY+@p*{H#MD(s>qt!9y?c!nJ#kx_vB7m$APGE3&&euI6v3Vs( zZ79*CxD2D^w-E@sN4*O}-9u6NzAPQ%)CmPK#+{9sS@qtm?&C^(M7yJPI&0y`;)0P0 zdcp%IaJ4UO5|=w!b$R)M_IM@A=RmV|8{!GxB|16`vhjSmyS9jnHl)JhexXHzGTNhZH!|DwDjC zS#*j%m4i6b41FpTR`5Q7euz}zYa6@6V~xI?z4b?I}&6)!R3R_MW zS~3%wEQ|8KnA}-W)cf|Xt8R=>0y^Kf649IUU ztqrfH?yuQTBSVw@R(fqz1p2>sEKl-#JE&21AbTu2qt0kjZVSB)j!QsPW^>ThaCp$0 zm7O82Ut;?XGO6=o`aIvvqbz2=9#R#tNDuHzBQ&Yj72&uyy7e72y@98+-b9!4$Qg=K z>kjznLw@kPcnx~lpYAKYC$-A$u1Zbq;db{(%`7g?grS$;<-wgQkGm=@wc4H9Ei0=V zCBgxI84HvT4ap~C14XRG(IH_SRuZshk=T=g*D0nYU>iwZ|H7d#MERk$Dc~qloiRRn z2cnj+j;CQ)CH<`Zc^P=&`!QG&<-zBGEoG^5y{|`{Ivj9;+Su9UJO%GZCtgBX_+|k7 z3zF3dD0r(~X*5m4lHzID+FLzd4vX;WAfs^>Zq5oam|9l@774Zy-pIFt=3ZY!W%z`m zi3sQTI*ckS4F18JuSr2TuMiUhp9|;RvkT1SaB!3Q0TCI_7KN>cw=edgR(!|x$MTt+>%_JkW-Y}e`GiJOQ{}5I2L^wqa*klgUwJmF}o^< zOz`bBg|(MzinaMFv}r&3mSAf&4%epMuzbf~^G?XB#H7(7NUStY+L=TRIIIoHkZIyr-s0!Niq@({KaCm#iQh5@mxKtce z>rnQf0ctXlbUkf~N@Z6X%2|W}21b)f$3Ki92PTt>?403dv6%+-*YvU2TL}!})wXj_ z$ciq`!AA-C*jx*50OP6o;(Y3}r^Z{X27}msY8hfag!{+%woco=#}<3A!9bB08^4ps z)%l`OmbFK*pp7F4v2?`sK#2oIiHb*js0`8s=!MqX^9cZn!_KYs^qO1+-#n;n@pW}^ zIfktfm%|iOm6TSS8$Dr2a#bvCSt#}KLsGHS(Q2Aym(_FY3r5s< zm560j;$;zWF^KbsZ56}AoF)BpCd>;9gCC;Rs>H-QW|_zz&`;wLYOjI)P3sFKs-B=4 z+6ducR8!wJkb)f`y1UR@!-*x}6OevtR$jU|2b`~)OwF!c-e^k{W~|Ur;`PoR5vEk_ zBF$ur3(}e+X{4_?ibf=9&5<;x(jI0sCvgk?&Z&>B3^o^V>`!Mo5RtF z`k+b%Xds2EtyHakB&eVoOx0lmO$ER|$?Mf>je24hl*Wz6;8zcf#>%L;*yu`w!4P3A zPZ*ey(LbTg7-2A)%46c=W6F(2+%HS$myt2RRbdSKp?E|=!HD9b5ru^#%*JqI57(fK z%s~lN#xSFin<`_S_z7GFjA5qo#6ekEgIpD+Ft`j<#Kb#eDvi9XWNf!?V@tVufP(;M z-7tP)Fn)S#*q3HjyaZOM4KYg8!V=shKpZfrI=3hX_)OtGlb+A1&#$^gRF2Ni8&g@^ z6lB>-W9TxI)r9}O=)4D=T7sH>q6{R0*=Qr0*nT>X`Lo@3I{yj{qjkbP@__G0~dUYv=dZFs6orYh4 z@~#il_MfAwcG=2>uc@Ea(_)$qe_+EDBX*uLPNCCTR!h%W_1!0==!D*4HzWfIeY!A`dZj%MKv->9*i1F#%^ffs%T$3}k=MK}vOvWrM6#{LIiNk$tEv?yW z+fIeN-egsD3C%@1;@iujNz%;SIlNua@RS_TTZbUGK0y;6;pL%_0~S>GTg5CwqIJ<= z@l=oA=sgzn9{7Ah!=>(DVrU-*?Wc*Fmaak)z_?=YGL5W;l6LYMO8g`*@!LD_80lqD z;UnN9oRq>VsPuDVZssTGgcmx!89@y-rDIYNAPv#ka^}`Fj`3#k-t_Hx(brQDCY-fC z9+#fl*sr98_Wgxxc0}*d#^mZOcU6Mgm5giE)-t#<(_=ESU5OCGR-4}I=~?crOI3%E zezn@EWI~NQJ3lFfHW9GuqSB&JeS)FXM!4WZ6{7;Fs{`=KW-arTHPp0p*daPFuy2i?3neJqA zi0AsG_&$AxsMT3Ob$XXZ5RDtuBoXwkQfmT51BwB4C`gcwGmK+Gli`q_=spJj5hir3 zV^_bVZI+T>zzQKl3;cX_rUeGW1e_>1v0`dXcZ(&+sF?TPYH=8J=6&1xR1*psF&01I zdR?(ju{v~Bw)HsE*@AREY#(9NoAghO(bE^x7L3*FY!2Pj*0%DV9%{g}VFR_XazZ#z zc5VIxCFz7Fol-3nu_TCbZ;4N21jB+wUo;zSQH4XhgK!{T_o0PRR-?)4?pHx{v>MC% zyAg}Rw0HQ{DP_{WfL^-5F3YBD9ln>&_fEfN1h%$S&8K{|iI2EuI_^`MsQ(T^nS8iC zuqOoc50z#eXuhLEkUcJdKce${Rg8Z=FylCS^Ei|LhyZMmtJxuHyLb7{Vutr}>ubSO zhf``_(67-BzniQE>#3DOE&A_z>I$Yc+Tj#^CDxw8SA?RpnmnQDjH(XeABsM012(Sq zvclL*As#{tR2valN-i*4Mvyu&0=p{oo?Idv!{}<5LzGTwSYS5K%k7mDl{Tz;9uy1y zB&iP%SS&eXdXf*c*;vz@{~Oeb;>fJJtcpS2fYNkVF&!GUoo%^;HM@YA=)ueU)SlnL0aW=Zd`@o3K-R zYHZlYrjknlD?3O_+!tms)l{bEpJM3Bt>GC(UTk+_H6NJLqL^CetM1&}Eym`-FVZPy ze@XP|ebtauovnWL~2k2d;&doXw-PoWzoahZAC3W~Ptg-=msjN~DbQ)Hl13i{V z-JEaqWFNvRJJiR|m7&>dKD^+{0Rja5gZNk=<_ciNet^=21D}cW2Jl=8)C`J4H^2A^ z(uxIJ;s*Z}wXK4;4aM6aN6Av&&diH^?A_l1{V(_P^!6h(ZM;6{Qj;BC5|^yk4uRXA z`)>ITv{rBCRA5H=P|UOKp{}K3B4~uag8Di+i*t%9iXPd?q{;{M*Cc-sPF)vYafhh3#@od zv|$fSi@CuuoDQR0N<^eGD{7XacYaH>R7Xq@XPBk1oSGo6qfvHhoY;kxCzdvZr1CxS ztutP1JheO?R1XE!>%slC)rtX86Z~~UkSvY&`|E_+C>l8=J_83m(SAP_YQOq<iAJ>b7v&u+`vA9 zzqRVIG+7(gY5{nb&zYpdWl6HN@N;=h^>ZN~;x4`}GVs>{=Lb9a!1(>nTEFz=-^nTF z)KtIcim>_5K*?+H-iJ@;U(-47PFYdE&u2-(BWMpA@~{eM0Uu0hr?uL@%?K@T!3X|) zXGs?G8`NtNC(nWp^xZeq$TInu*Y)sx@*(m0-}pw3+Q<0w^f;##Ick5WlGL(d5hirB zR$+-g8#8l0Z5@UOIPb#X0Imt1JHrqJXnNov=@vHq!KaK4D>puMK)XCp37i^ac=DiL zU0!qWpiuxwJ@usCX2t^tpg-rc0@T-xa;fdpxokewSZ&?FwhAcoS3#knLBSy*!MZXYX)RW%qtR%tpGMF4Pt;b6M=cV`M}3Lv z;arleWd^4&|B34J+%epJ4VidIVp}UIv#+3c+*-auX7i<W=aKUB}z!TFiG)74M*1cTn@=ti5~U-QC#=>~nAcp2M~3>>38JU*pykZj52SeVWV$ zszL5-Pw*RKsxmS%gJaWzbU|<(3$5_Plx3vlgty-)_x$M-yk~fHbWlvZNvF4)(mbJ2 z5fQO*>P4#e*)xBIzSy0;kNPx|Cp0MeC$;$tWqtpwZ_8(w3m3nVcIQ&tEwO_=gog

X_Mx5x86(fiOL*GnwQi309zO1l}JJd@#@q4#Qzs zGYn?=X2hF{abvIzy-ja#Ek%?Y13%DOsjh)h+CB#o+Jg1?*)-=f0$dm7Z0f+82~IVN zz^04A11$!x@FG|TT9GV7k(yoAi+~+X#_$luRGHH)YtXE!^uftJOyR+}PKT53%!<^0 ziNQQAuEt$Aw>tfWnz^+eSL@-JO2Ax8xOIqUPEF~QLD`WJLlC(x+&b7jvq#yK0h!?; zReV)&XpdQSMPtWR&aTgIN^D(c2f2u=Uk5IGIe5C4wA&>r=~OJ_H}t5)P+d5ROVqh3 zlomUZK-Hz98=T_Kva0wJPhzjg$Xd(aIn`C?8(UBsrbN|CnUtIs1%%otmkdg>m!ARdgB93mZW=+S}X)kRAk z&OL##ObFQ1Hf5?ak2(W`feBu%Pp+jNcEgB9XT`{}fzyjq`jp*3cWyCTq(PTo7M(V{ zCa-r+R9RmmY!(JJlu7O0r4;pK!1k6w7tGC4Lz!62I+IzKKWj-XBAK{*O|6-98%Y6} zHAqjUWn<*R&c46?VT@mD_+ArWFT`n=`T zIT0a7M2=ZQ^`;$aTtMxSnl06DK=qq0Xiw$-YWUtgSR#P@T4zz<6RB=Baq>)w=Bq0Sc&vJJXn8y>}bkr0JcH8 zCYIX_*e*(G{YqFK3gLS-h+}T;CD%p<*-kDu!tW6Y0t*-P znige}wdajN$W;? znYL&j@2B|=n|VQsD}0B}iuhBy)|!4JQhVq3ZSwXmz~a;DQg=ywwGgMdX@Xjg&5Xr< z?bteH-n6>$`SYgMjW2Mg4JsQkI&ENC)9BWH{@WAs18&3Pl4_*9+o?uF*aS_#)Ku#~ zmR6^tx&N%jO4(^Db1L}%mJG(z*3a`F5l66+wtSI<(G{x2uJA(7YZqK$Btw^q`pk10f-fpp^l_yMEWh5UH^C~QR;2m#ILEYg1c;>omb0C`Z zgM~w-kbi8QsXR`s9#M>OaZz#R2%Fg^gu!e}2ujO}aG#-YQxsve=z?9L!PqrbV3{0( zkSOuah~zjb={&WS+-QH;Tuxt7^a5ZHRfI=qz>(SxatcyZ!;N{pgA}YzvM9C^x2M>K z{rMo7f_m*X7~!Vij7xQghejfPw$TVLfb{sdG+al3oFX|l6?^I;o?@KK6=yPXZndQ5 z?!u=##pw)tJJfjCk%exgAqYax zqKwoD*yqPDfJhTcU#zn+ah*sdR|La4Gh*);*1`HL3`?UsbtUbcSDgKw0o~}d?_4no z#zAb!(^rRm@=p8CP8~>l=QA<|^@QehhI*1)fDbu!?K`I}#1f0c^2crynR2@FMC$Yo z{U5tb3Rc*o$0T4}yTLOMO}o}d?T#kM5r5KICK%CKMi^o2F`IQGpvv0x6W07$Pw^rM zq-mN7&7_}ZpqL%a742Q4OE=+d{F+}z8y4%#8QIwx2%0Ayma=^6&D+Fu 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 Z$D_0c=p_;Y%1C_=H_}YnJB%=d|G(J@e;oh- literal 0 HcmV?d00001 diff --git a/fonts/Nunito-Light.ttf b/fonts/Nunito-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..42857b72d550bef013a8856a5efc4e335e657180 GIT binary patch literal 131756 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%0Dt&8pGD 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 NPBR(3y~8;C{{zGkIzIpa literal 0 HcmV?d00001 diff --git a/fonts/Nunito-Regular.ttf b/fonts/Nunito-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dfd0fcb40ec761ccced488d783fc77a4276548db GIT binary patch literal 131736 zcmdSCd4OC+wLjiXR#kzZE zx!AiSE>}bvo0#2rb^FdX7i+m2y=<9S(ZAx)JD+WKNzyWWUbt<~)_pB?#bx;W`z}}T zfm64hy^lsi|M-q z`{(0x#c6xaIse7_|GE=@U*mGg#k==z+gk9`=U;NMg6q-U$M$SJf1hW)>zDX^8rqkh zxpmKuZN`Ux;9`9bxm@l)?Av?xIo?lxW`~On-R^Q#ePiGL9s5r6-h2)Iem~m#T#~DC za)kXr`o7DJPp;K+nOs>Wmo>86()Y6Z^sm0|KKK2b8r?F8<0_v#COsxS<;r)JqGfqi zRU2z1*l^%0 zJ!QcKeeHG1te?+rPk26PwfB@~!9Q=qE3)7_Yt%l*XnN_-Hc4t|k*I`**ghh40E{zAMWb4PEml%i7e`G{2T-Z`E2w^Rp}bMvOhJ zsH&3QAomurjr`Y#wZ2j|i~stIGJi#J`ohxPevO^~N`Nhij{9P{5$U2xSc%I@QTjKA zEX#_K{&^vNF8gAx@kk^potnNzGuS2I1db`^v_f+y{~15suGLt^otS~)Dsff2TxVkq z<>uBVNEVuduZ90erm$!&%~i={i}lOZMj~Onv1mu@(t#x_FWmdWPnY4ppMH0Ae0=n~ z2}3&7NYpK#H?Sre4Xj(dY5PE5|3L3RUsq2rjY+KY2aH+aYH+o>Tw7_(WVu(zfF#PQ zTEIq4pxg&zz+6V6w5`<_4~66Yjhorr8If7p+^PlQ!Jr&SjIWphE#~T;JR%*Co+c`Q zlflY863JI^s<%8rcCVtYPKFOMCX!L;^lJH&(H#aqP_Y_A|%k zuBnXW#(lnU?OA~}_wHM9&Bmr=c`z>#3lW+ol+2o zk&I&lmApw_dcpu?v!QIE%6=r+D?S4`M{sH}k?fx)#H^~(-P7cAbzll2@z)Hnk z1zEhIYf*`qqDSIf!I|OvU;NhW4Og$a`(yJ@9WKA|#*Yau`1+StUA1o3{EGQ!%>U4b zFjMrHqq`sWRJl?ZA>}$O{Te@g9@!J18B87#BLWlpyU&wyJ<4Z>?@14Ei7enU+yBAs zC;JI=s~_2l*} zY|?~{poZtarS~jqus=wLXx8pS?&tB7arzek+tLj6Es3H}{e>?AJ4aR&IsG8(;y<5Y zIv*5&y0xnzd$vz2KT5xck*$=_( zeux_Z$2c?f7q-5KwVuOIWid|Ff@4h!I1dn z`ozkH73T(;w_H1}%EM)wuN)Y1V>nOW`K@3C7P{Se=ZesZk#d|cuy0WT&vNh8qwUTAwI8JZIX z%1B`lq#(lJv*x{A!)dPR?DO<5{V%;%^CdLt0v+6tew}Ib^Tc&pBB8P3^dGbYSl{J` zHkCmCEv^o8ghaBO6WT}rVhA0^js0s=BWYR5HVkKvtCqEteN;0NtIC!5SlqzC5%#?Z z{Zz)2io7NdxESemn#MktUI&EOo8hvUoY+n1>`queOJhnj9plL5rT?rY*iBanDPBYK z2VKT#J=`bQC1RftUASE0a8HLudMn1;=COw67 zVik?-+R2zTGSj)F;&6}ObveN&Uz|L~YB}c!xN5@x2Dr*G74WbLe{%Ae>p4e1NfUk? z?Y(Z2c%r@JgnObk+%4d)W$5RtT#pd#b4>WyWWVcSPB{*DA2s`V9qqs17}saEuLArK zmxQ99aB71f?qlrD2`;pxI^k6&o^Mn^DKOvXl+9?XgP1sk8ZE~P& zw#Ot@jp>o}0}^M%3;EE0WOKqHB|n^gqCWj-v`CFaSV#IrlRF__Fe<1|eh?qzOP9a~ zn>ryq=~6P<3zrx82V3?E4L=|v7Al&iKs4;*BH_!bEUR=zLKd`ej^9Onx^_wn1jkdK zoMSlL;&`qpL3RKK0S__QIn)nu0}d7(xZ(IP&tNBfH@nb9n)qs**-rRTt3A%hXQd~x z19|^!tpq8^+i%ZmpBC*W|0?Egjq9m)eHjvtxz=KZCb2@WGT_BAmp{RhVuk29;j*mB zExbDJCO|GD3dL1FQ;M1FSKzOKp{V7)=Zi(7aqo#-)u*e{WttX=op@jJ#3Gt@;tEv< ztT9~|35CP#g%dwfb;5QnW{1&%)j52nj$~b1FI~_4y-aeh4Ty{bE&Fn@pvrA zzMiY8iYmurN-(`Nq4{)8x>z$p(G!nLtu#8}5ROR0C!W#x*tDY0@fAH_uIQgk3Sw-& zq8tt_lxz0Myq|F`?d@|SWyd~ z?OE;9c6-8;v?0-dKEb&(@8h&fL2vL@RYBvywr)u-4# z@Dcdhz`o=b!exBT1e`1c0auw5PMV2;hn;Y)nG1N-hWAT9(2 zi#Xw2qZj?fop7$v3wX>4cg!Q11*h{(w3o8r&)aa%3~;Xv$2_=(#rqNSn1+5nyFKQ` z&o?n{c@})JJ??Dwq=Vk%$D{Ts4~O&hxYYbR(b4*z{r4I0u>bDyG3)zId@_G8&-y#@ ze)jmYvi@%2=ko-!=0oSTm}f;6oX%?jFLuJYG3PT-?00y zVV7s%HXo!s9DWjCTl4gJ^6hbm4@ut% z-;10~C)q8QXb8 zY-z~0^XE$~$pyRSe+Vi+{5g>GYcak;{v7N4A;lV^Dv5to%e@Ev-O%1R>%t4q`jMtR zK0Yxq{y3@cXY2aj9ozT43zc}sqWKFJi9U}@>u}1G2hr{mUFwd0+p_xAv?r(>~pQ{_XvgynnJNBNVCH}Z*!GeY4DeRu?=9XsERqC1r8D~T#IG15xw!t%( z%6RFfk$BSCLARWn7wC_-r-o*?75r!h0eDR;PtFO&PAx1dDyyF}votiRw+GZCzok7> zF-va}QzVzD8H@pnq+p#y&$eBQgIcOHcMA@4SvLH85?ymI*R;o$uUN7CF_Xf(PU%@c zJ5pW$wP*oO*Qe`>((i%Z`-g`IhlR#*OxnYF`14#=`q@g(+qAZOxGWWL*@8m@0@mPB z4##=vY)^Yuv`^ab{;c*#Z8-H$ds(!vu;JUY+NTMQb8#-L$X?jfZQ^Xgs`W_lrV37= zMa+0uofbA|$XAoio4synNjQ)bGa?N;`_`@QU3}W6ja5UNI(qlihy31HB3iwwxn*hH zyg|h6Du%WM;>C$TA`vH>da$jbDW+@dM`kZ=D^4Z@2|X$WiVI4+tLL;w41MLI`o%4U zkk1@PPRj>PT6S_;3ivV1Rlozx38(W-z-1@gld$264euiwSa5j2pc&iaX8H+R?XgzQ z_FR*;+mmi1#?7(XL!WcDKWg_6IJd*7J)Nthk^4OSdt7HZBHf6!>EUaWy);QuTDW(^ z)E{i6wAu3JATCghP!9Ya4>qqa5BYMUTBvlmYQdth@l)fP8l4yzTQPRZ4pQ$2FI&5K zPuFl))8d-uQv&(9eqE2beFZ-u?|6;T<4Pz!xUY>X^YNN#ectG zmTsB`q>`NcLGj&n}DlXaN2IfJ-*KU&5R$IQY&v zZl)h!7M$XcqMvdH{5aQV1iVTbw(&o1&nxBOaDIMU3eV={K zrpvW%if4*`a_#ouF&kgfXB_x&eMYn|Bsh37g1vShcrsVW1xD5kZPf?_EldGG`QjJWfwYC+`}BmY`F@uCrB9RNs_*9|&*kW{uK8br-K*&S9~;m3 zG@q(U=jlbVa^fCogNpx7+$U|8l|tjh4fIJGJn-*;Fx74D7XW!Dmq3W1u)=UkbyG1qi1UK3Fqq6P}z4fP%q{kpf zf0F-fP>aTODfFkef^JQY=%It92ZM%B$&ax4C9FA?uY_aiKeN18ST2aApDjs$E0V87 zqO30cd^AEh#DK$m-~b&Dlx~p|)1UyaDXWE7^mu@2@u(4aUVlD>VHFm9Pxd9?mFZyX zA_eF+{aaQgM*4h5`kVE1dhz}_4PO>CWVM`z0!}m(@NgEKXei)P7MxBs0nf4F{e-^- z$L@9ZPc#?peFQh>`)TRNuBs{XH4<_r*vlzMQ+6>(2lRcjm5%j{zgsS>QkJnmM-HNP*+KAk=rJ_D6K9M^rm zPp5lDFQ{`ra>2E{1S*T`2)z-h$a{;MK^sH&=}!R;jWCVppxldX=#c|uQra&YP;;rhWhc1l^t`dyOWI_$@!_M7M4Qc z`cI=Kp0CKt!gbM zd^ujyB$!bsfSeW-W)AxR1e-CtVH`x9C zG7CP-hX2Y5m)^7ChqB;l8~&;T{=R#z4S(K-6TVja48G3qJ>~e`3-SMw%B_*N=DjHk_j9 z0TxjWe{TNh$btz|X1JS3W-uJaTxNV4KPA@)^!+@X%EcmXUX^O2`O*1ohEFkVC|l%< z@lJ8x4h(FLhjfT|2zetcZyFfb($cbZ`K-ap@!^J{%H@Hfj?e~@TkybxO6eEc2fEK1 zU3ykefBlMi>$lWRbg$cLWAJ0hm&X@h3oRsNz~9i=_1+bTv&gI;e`59PP! zr8=wiwQ3w9>>U%(+rnSdW+7QByewc*E|aJwJMbwT@+`h!F@`+L>?9_B7VqM7iQ`1d3} z{&5Gl2w?(UJUb?XK*LGglGDEx+|fU<2|NR15j>-Z;+yA!QO1YCGRp%!XDuB)t9ziG z6hK`&aW!$y=4i)IHn)HRk|g~vcx8}ti-iGDXvNO+QLLklXM0l6174d%O5}C=+Q>P8 zwabn`Xv3#$K#1WK;A29wFxEcHI(YXlElTaM9?4K=x&)`S<=0x zWA;#TY(c|N#aN*8wE4rQc9ab^Z@Z&m!0Xo%zB!?w?8`BXa89sTVXc4}zM62=sTVI^ zuxCltK=qQQku}wen#NX}t10awjgrB#!K(a8g64xAL37*yDmS|NvgVjb+BqK1d;{Sp zwe*f@DBriWl_-zhdS6^o;!l)f)9R(0kaQ*Y(66ERrp8%A73QwB*5Mm*#PP~D$(kl_ zDx=>|9HS-K6m8F163&(V3|wK)<0ym9YtG{qXu#Iaw$=*s5W>aY+8=;?hHX}kmlcV< zJ!fX_c_6c~(~`wP19g_b*&^t^JqzD7;VX8R$3=N>d_7Xgdt1QQ<&Ya1peYd!Ln72U zSB1NrKHxxLsik|nyG|dTJK9!+JevF1qIhZdtfmDOYnPV~mPQlNoIs>(U7&m4=*U@p zWj$-!;<1)U>yql(6K&oNTQY*&-2I37ZZ73`y+U}}aOiPN!2gm3Cut$zhirHsJ4|{X zhm%wg{FnVbk_zH`uiD=`BIS^NWx}7g;r-~(YEOEZ=+E&zcG&T~7wqpHVegP$X7=}M z2mCPUWhVSZC)^%~^fKrCp_iHM4`#thij}%(f4yYGfiIVq0?zTZ=}2d!fWK_FKZ5x| zFEin9XThPDnecbB;LyuV_?u2R>ER~)tr_6|u;ExI2cGYB_<5=>~r1jHh zQ2&tYHIAhl*48FOW~^KT({tKHBCUTvrs8b3D;t zqPs18KKW92`wWd;EyrSUy=wDzzng^>HOi!%zMk4xJQkDF7uRxGG|19??;?wfJUtG_ ze+v{gp&5(hYD>66D!H>yi)71=ny}9kRfF}*QVSLZV_W+NPiZOc7;hZd5)G0rwDkAP8=)XZxUQkO_~p? z4Z9|?sRmsbS#TuKo0@#YTvJGBNqCUZXRl+M_hfo*uMPWhB5JUDMXIqs7Tg|*$0NJ_ zk`#z-8tgx%t)z3=+`&yTPFlB=(?Wkfro8)e^x(7sUPr8@8ogh6Mokf zapjrwH7yG4D#1B?dz-Y>wYIrE}K_WLVFE>#jR_VCwlk6~h z6!f$Ev--&TuE6;?WBkNi44k~~SIz-+^0$-6S(NWG0sRYy{uTJ9`RO8{uX5-w0sXN9 z`VNQw4bb-_I&nnXgBhs1$%g)ppsqo*{Vdm|McbD+v=_ODpbpwD;+P%fJ^UGMKk2~t zW!^Rq(BJU$NA&PEZ!2a&r;mWX%b_n}ZXtB-#adLl<_g;V>zqU9 z8eKZ4Gga=*@eo9n1q04jD_~wiYreYDPynE`^06Rmt7b z!G6glZBzGH%AK$WXMB`Tvo|ox^kYovce?&C1K`Re&Kv9a8oqj-B};ydU0$BerA;F1 z9A{fg!r&%$Duv_*lXaz^M0MPTWZ~bw5mjS~5r0X_h?BifM51zD^k?<|7tL2$pa=80F*L(Q8ka54poU>(|ZsMg)!OQDFOpYrKymUHm z?;*NAG8He);Nu)&6`23jT~A(;rdB%9ak{^}aDHN zUeHq__A-;0H~lZd>7gCaKq(l@>dJXNOCvF5V^7-x#9dW=R$JFF{hZy}HEgfRnrJ&* zLhb#T^T$8fJF(#J{3sH?a_$+O>?h1Xr_(w8j39J($oG`y zYj(g~Gt2ixaIz)^{4Wk4k~mKV+~Hf2ByJ4~`15xAe)L1SEWyc&H264<@3FMwdoS4E z!}#2a6#e}=3r<#~fWPR3+vAWGiE-@t(U~sVAIyRi_X+s#XMq2o4aYn)MfteSVy1xkD2)ZPWpO(pUuiO(&dN%L4w^4Df&0 z@V+d%zt8C2iyM6V3yiC|XlK+}mN7T%f^Rqg?q4@pe zx14^{tO|QVNDcIa-610)IE*l%mHPm6rzXX4l@C*n;*E)dyoruO%zv=u_J4(A(HZR$Q)VMv1`!>!+Ame^E z4Chuu<6v^-c)f>%9vP^eUXSl0#^8k4iw+swylEcOWcCg}c zWV5d#^#d;FK@p}HY)`+h>2EuN6&422Zl+=&XJ|Py2D%FUIX*K6?zvn6`qc+wFl%y{ z9k*z}GbwD_Tc{P5Jqa32Su|+F@bz*62!AknEcBn->jEM$Py3+o01tLVHxoL@RLdfQ z&=IzwHi zZ)pZUagVX>e23gEc8KfO=1F{vZRMOT;D=0jKQsVff}KEculqf&8@Ay5-@+xlX#I}a zdT_Eot2MW|TwQ2=7MDw+^}C|=oPDQZpD@>KoPrO7`i*?c2{w0rWdV|#I|fTpPYfu*A0 zCi`gJn(`17F)dWKuy}6!oO#RoqUFUUd9&;0FEOxB4xG_4Qe9q~$PdoyUOLdQJdl^` z({O+w-K(~uD5d1}&e2nKc?ETOWvLZQ(;Zyn{?5J&OFC0kU6oo%)5cIli}wIC1(2SVXg zpk}ONlANJu)80Ls9H2)!=D}Gjhc%DK2dni2I2a>i4IUy|dKz4xbs-1Mgp=hY;PtMf zw8ntCb9^)Na3>oteSMohCTeb`kn{ z)wWkN0cjp?Z!yUvYeY8+Hy)k0G{rq}9X+FD6{S=?qOA|qt?FZ8%2G|g+t<5d=q>*1 z=2}BrAD!2Oox?|Qqm~cd(coHC9#+SMORwATzc45KxD7v)1*fxJ^z-Tr@OQG{-?rNy zwBh|UYa4zPaMB&7;`y@O9#oQ!+U?&axS$^HKkOm?;u#LM1BJ|Rq8?JvTABru`DUVG zNu^w&C|w;+TJjT$)A9{Xak~?>Wu@_W&uB2c+a#)qEk-A5{J^HFfcFztHrz40toAg! zOh2THihgKz88~T791h*nhJzZJRrn)O!=j$_8rqB1c{dA=%wrS&W)?it&)*5osoE#S z!INDs*ADO;cyC6&Brk`R8Y1cni5=eN!*|%nz?)rDICg5jOq8;1f*#MM;8f1W8PdPS zf8Bgiij19MW6jwevgh_%*4$pQ;fI}Yu5Sw(yE)YsE=AwO?dO ziX2>IrV6Ewr=`9l=lk#Q=4i2)>b*JlHlHrX4ey5%xA>4IDofrwdtZ6b*S3fs`&{x>mEN@MVjMl=?A z@V*Gc1zJ6DYvFAHEf!T-l+T(J5>=Q}$Ke7B6=iTCh5lUZ`D2d6yk@wBl=?`L^TyJtZ3OM;U1pH7IoYq6YU$WrP)qtZ7KT2@W zeKoRH{(o_M2ecT0PVu|HTRCGF-r) zv*DDXW3?yW8u~$hGkxzD_V+M8W%`=q{4xtpzBMt|Emm=J! zC*aT9aKhJWpTXDhJ>W%|DB^oB*xx(CPHPYC!+HXQhJ`$)h!eWzK!m+khnt|Tu+`?s^;v zqN5~_IDb%{tl9oGyFIOEj}8B;6V5$QqW{AL$DT%99P!AfTsTM^-WJ)4TJaDSY1AjK zuI0Px81qx4M)Kg>nMlns7Np1shh`!*ed(jF&)aazcBe>uE5%*R*1KJYP$iI}sQrkd zTD^GP!gi;9e0!!fTT43_wg%bmAxCT2?trGzcbRC7!_WsLZv~!`i!xIFEOU6GYYwwGWjkv6L6(zOP>_fJQLx5L zSlP7Q=Vl>AL&A!uzpFNeGDN%e1VZ4KBW*=G#SU450&d9Hvv@?R6IlD;n^?-%x)(IK zgGVnGakxnXKC8cG+Djg4k2Nh|cd>HV%#iyNrp-xr8icNzxza$Vj~S)Vg^`u?das|| zGqJF%vuSQgd0v%KQK8iuIEnnByym>Rw!#9`c9dtayPB(JRafNZX+=hDQAb%>Adusi z<(zOJud(Xh!g#o(1jn1?N&t^8;1MIu1ejRTm0RNwr>51e84uJARN+oUE&W?tJ!ejJ z&73*xuBxF~$N{OOf2(G-H8r7qb1U(_S(Dc5#awBe)%a&8Zm}d>rJ0H^_U(3I0cA=_ zih6Zd@eA#reqry0b`i-;wYs-XIc4jP;ogCMvLDUfF&eTY_$hb{l~?F4yS-zqvA{NT zfn8^NN%>5Flh?7?uNz3oJ{zh*r^V<}L@`mB_OylX<2NdVEb)2c4K! zZo!?b`!w|u-H^^O5&m4IuHC6>gk3(co`*RLjmy3Z+vM!qzIP8Q+@~5n9dm{{5ik8BVC7Vpp$DEW- zOf1s&z3k(;&1xhHZVr3s1M$Rd z_`;o7&r2>zy(YDtch8F^_faiBFYRXQGrv)V&)}cz8h)4I9)y7N8i8Wv++RV4?hvOa zuXjq$+gTEX9;#BgaXB8>)!^49@p6bAKMlOUP2-hsD+XE!yUQPlF3>ZP7^UYT{Q`*wXcQ zEbNZv#edMZ&{x2cQPe;PMAJWtvjo3J{92sNiw1I#3X%SOK~A!(?g#O_s5=~cyt_I5 zC$I=}r63~*AXB<64#DOAVv+s`AD|`GxoqM5l2r{5_s30FVEfor^+-#LCn81tOKSTk zs>jA}p*-kI$Cgzs>1f$j8%e}-{NXv5^iAw(TRO0KRp+^Z>I#(3!+n0eFj_pXzP}sw zF65rB>dxZA5@y;l36X~G593;mHm4r&{r za_++cH5Q8c>GGJ79u3BQIpJ7Hx|o+YdRiKeh5}0D#FeC1N-ZZIkAyjAV2|GHz7?l1 zMuX<}+pPLQbY^onIA%ZoPBl3;NbkCDMSY9;pd}U>Mk~+wlL?vR^ym_k`*0+}xaE-m z+L~Y_>`^e4^vxW_ko`IJu|?Q%gm?U;DH-E=x<7qQ*OokAAQ+Z?>cE`2{fb`>p|nEY z)*B;X7SdwZ#8ge1Llc{B-nSZgxze9n+hVH6J`3eJt--Q3)`JMhDj?p39m{a((x#Y@`ub5Sd*k!A6xZ(-jQ_B7@DPOc$U z@%`y%h{ypiW%6C=7RZk>b01=>!?En;gzRy1XQ!!nNIS6R&n6lM>*K}2U?5)JQmH|D zT%hL~yuQG_JMKJdv>@b-#|wjc-`3l9eqIOE zk9$=gJQiOoWl!TrESlcQ?u^D!Smng^5t(MoN8o#cOGWGn$U$D;<&W;T^hexJZA0cO zMNHvg#)P4vz<-dPugPP`DEA0qo|4gs-wHCCniALxybdwMP8<6?VnBJ@ZdqEp{J=;a z(!a0)@^;*^xNiA@#d(I-qa_=ccb2qo?@#vV$+^orOIx=MCG{dh8%Qj^ZsUS|OKTF{ zBmuh<3$NQWf8S_rVn8#lWyj=_uGJljcC{-?Y4_^3k<(kr&NuIRgO2~l>DUQ6E(INt z(Zi#KrrWYbh;-9MX$g4ED^+Ml@#Z;eFX|<}-?6QJWhII`82o7V%4+}RTMkfm=Dz*A zRh?Dw>UdNRl1}IKNZ5LcR+CeVt_oY-+Qm4{V^I1Xj=7&22^xakL;Y86(TvY(>ZMS# z_VG?1kXG@Z*Hjwn-6`rHOY@}YAHI>3ySB%G4gf8Vcil~q0M-rG)Dy-@U0XxkW(fQ@ z@JayiN6w7DJ%~9GuO~-U-~a5%!&M@7%2lQrN2Q73f;6Yx2JEs7<@nw*Ph5LI%!+Cu zu?rRTIVa(A_2*Pl%}yEzv$}-zGfM-0%B7lqC7X5-*Q9M{X}?6bUoAeZ?ZUmkdX}oE zKWlZIexrVMzp41rE+N@KH3O+v(9F3eC-qBalEn*}*Ib=P_$ZHjg+}>`)F1>cgqdIf z=Wyw-Ly+(yt-SQ8GYIHLF-DYH)Tm;I=O82u#m9jawVz7r1Y34m?(Pt%f+W- z_D6x=T1|>PGd?yp{tTTPSru?i(nGB4R0MZ~OdXP!X6+T zm=*d)?!RUH;PxF?2By}i-#aVn^D4Q~>J`mPcXzrA*k-PX|96qpxo2tf%9?0yEGH1I z-)q;auL|ZGQ5GyI>^px2Y2vcF_M-lxl8_Y3McI0oAp9PTwB5!FabT;&Q)^p-q!Q`m zzFD{ojTp_8a?p7_dmB*QDV~VdtZo`TW1du){xm&xz_t{++fHBFw6>ZGbNM54&+a<) z!y^qVFT#+)+}s!omKFA0v>G~}tmLn{pueOrBt;X6Kvf0m>`zd2XwVOBo7W=&SK+evh$T0p2k{CzW4Z1cKF+9bDdu#sseV|Hdu0+>QmD-e}zn!WBK$ZMqX~X!r3-Ktzd3zS_Y&}0Pe)~@1u?!1tzjc%fYG0FG z^%0nKO&*mNfC{|M89&LefIQbkm@7D#`Pw3ePCEm)45&~Y`8A|sO+QdNyE3-VpP#FE z0-F-^Qu*G!7q{+O@>ht`e?CTq&d37shD(Zm77KgieEBPNHIZGL2G-3X%Zmz~F$I;* zhWTm?x@F)2FAT6qfq_WDoyG_?MN-x>nTDt|kZ4q+5f)UUa#HObB1^OcmsGL}Mip>d zw4!llThy*5m1T`iz6$C1IYH44X z>o0z>@4^fB{n9!M*kL7BTD6Og=3Q0sc-bwsGlWi>0&wc5L7P^JkXmbGS(IFNa>K7g z7O@vLB+0BP>bAQ{)yrDg?^R>8V^PsMVM}f?=B@7P^t>I$<$Gy1{uh2br?Y!ix4uQ_ z;p>VPb&SF_@n*U#+m3vqw!cDW32a#zVaM0>ivHRs5V(?HGIq6)$;fVHdBwb@hOPNZ z2e@oQ%^|lRe2?mZw91z1$&zZ11ltCca*#bjk;#(^4?SMcIns*CKsj=xqNzrIGQ0W^ zd%AzT+RY-G9+TX~U5)7))Ix#G%AefeehZe#GC?=4Z&EorUa*gEHxgGcqyA0X+|p0n z&njx=qEMc16}Pjos{fIZzBAdY85;D9dn+T+uM0c-|H)K;j=UF8MP*e)`j@e%F6&x|=%N16Z%-8Q1G1 zmkBYuwJZ|evQk>YxxQ80hBQTFww1ZFyj#%zHZ>gmhDCd6dRxwzQuG+di8MP;^WMdukL)XXlYFKGH% zIB?~QQBeSyjh9d?bpK5SFCa53E(LyEQQhBcV_Y=Swu`W3N8nzROSh3ZwXKwXzg=U! z@G3zEN&lwA#5v2WMCY&c8nA7!Wg6EZ_%V|~?<85q+?v6)&X-l=hK%p4Yjuf5Mr_Ib z{1jfTLJ37F^}jnkTqk=F1mC&6knNV0!bJnw;ry4WMuW|6C`35GpF1!)O=yGU*X728 zZm>l5F>Jnta8<_33%+tcz)zKvHBjq}v+&4zYysZY04a5UpjDdk;zC4tQ^`kwwK3mZ zARgWTTk`uZ_@w9*5uR%2ENMW?r|KnZ5(Y7x515^BMvysa&P*B;y-UI?adT!ykooQo z$oM6E6o>xmqcq~GDoA)}4>;PzgF?=ymJqFl@(7~yhepUb$`v4X+4kE;8z#sF0(+f9LfmOLG3JN2Ex5eGfQIU@a}b zfO(h+H5|)GyWCnzcB7*97`eY8c99|!CV7Q;)U?n<= z27i_*jrU$dpJ2ON6@Qe~P~|&EeY{XKjjTYsKHh`H;zT40ZFFCOnkF^onvsoS8MOA! zvMoImC-+9~LdkuUXvMxqw0eZyLtBg}_8CnfSISbVx<=*JPCP5EC<2SJ{{wwO77=LS_)cW+P2(WqI}WB2HX^H?-cMu-6COtr7zoc)iJX)aB69FtCJ3=mBJ!7;BdMj z;_17@^j_^fJty=@z&;r~$%}Q2YO+kZ|0dg!P%dXPCf4P`wkh2-d+o)&@at(iPia_L z$z{4Qso&#f)d3Q3`_9<~v+6f6t4#gjr-J%BczUukc16O?8u29ROSxhU%$8;>hUSu7 z;X?j)YZ%+65;$Ba1fNNLx)XfFy$Q0S-KwOM5CPkPr+lF_O z^@W#jPzOtzzyIFVQmmqLELCeL?zwY|Vyt1+1tWbsN9N`QwfKp*BU0bR>svNA#1b)2 zFg)j+9ZS#bU}1JbYdJNr@>6>Xs~0ww*6MLQhSyYAG;#H&#$^B6GrHl=En0U;e?du5 zio=*LOG-BnUAeKebj#&~wD)nVnP!04#TMx7KKJ|5E-nM6*x3}Hbbp2Wc_D*%?Bh@P zNv90O6Mt;hf`Av;O)aK>O}iVqO8 z_@r;;sJep0?$DB%Vg)HWC;e1J znHqvirqOpc=Vwiu6-hLZ+a53yv{z%Gd^bR(a;)&oxP z=QM_rJON+Yd>N*OL zj~Qfg9x3}_EiasYJ5jfyuYc2Aq6BP=o9V46GY(sv6`!S2!uow3O*AAbYP{1iZE#N_l(V-t6)#CkQZ}4$@IGpG> z$>BUp3ix~pe<%OS5}u>d28&a;@DZ36b_MMp+S;^-O?9ixa*WxUDbBj{;u>Sn+uLUi z%#^@VwH4cXNypb&6j|qt<#e>;MqTd72`&GJvpC)}QRfC`m6MD3>sX|j3e5P8rBuq? z_bu78#2-)s~ceWU6wSRk!*6sCH78!07cle~N`4m(b#?W?2cUNK4-A%+BJDy?1S%+YsNkI}imxN?&(E(` zT71gDnIX#VWxqjX5f3Vhv{JBr2*LJ1&@X3#?e)ueO^^uP%$IHuhi5P+o)yD6v9)`& zig?w0F9cHWbDT$cRc{^#_$_!-LR7#d-3=-K|KP9vwvjkHt|qU89S?QzdiZP4`Q?A$ zuch5WFRv7v_ZfMRjx=ppw{7%n2tAsO1CPJLg18!Tg6QG`IkLEm4(cy|kfo=C)ge12 zFW92Tt95#uC6XHo)o@UgJTWm&F(&>@%Yv=BvHnIR?C8Tr?qtgLGoy-5|vyz1E>{NM9lo=%jZZ zzt%lQ=M?E$Z-Ex|{A{p%4l}TbrIkxR5w3@6GcvNA5Hl!PraJ;$LTiDyL%}5=06x$3 zYN6>rMM4eoIXQQ6n;)NfR0(HaANf}yG5Oht>V85pb^|`$>&)|zWBwENCeGToa=?hL zChTjs^b`1AAaQX@a#g1l31JAJ!vhVUh@P}UKHjM}jEfeY-qCdW=tq=1w?|g)YF$_n z4L2{H-MgiwM0TqjpxGHzEzR^ek+vtFEqXtF5erh+sr}_9cudXQHjPA+BAZA=!lmR7Ft_ zQBnGj;(3=iE*D*1FIJ6xi8A)3kI=c~e#P}VKYysl&q`aJ8JtaY>X22-Js_gnSK!`I za*Y?vepiyBc3L8VzByLsajcMON?ubQBj7vM#?4~Or%^0#K;>wX1U;lcsZsIdz_|)$ zev66k4T`S9uR*(wGNZqT`I=Q<__;_&B4KECZXb!d_90ClqDrDeL zi8k>E#RzxDkjeRZf%#%~4E>W=3K0x``A`_qeD>t;aE@f%rRPf5rZ`?p4Ml3};!Qon z<1n!^(~7Fw`sR(M3WmO#0HNK`IX^(5Zt-QSh| zVet)`a&fg>v2xeY)&%}bZ?Dv}i>owc+qSBw*^Z4%ZlYa^T}8EFJYH6sV}Is1Q1BUi z^0HZ5hPRU*$ITQ0KWNsL(GmST&R)0kk#LaO;UGk$AeMz(wwbC4M;xiIK1Zr1V%|K5 zNC52Z2ID&EnMsQNAoGka6pPABBkTi zi+Wn-tS0_jTG!Otms(h+3YW%5?0&B{DCBnLEEQS(^RZ^+>|mkN35-}!VO z?(4BngI%@s_3YYE%&*4Nn<+(;U68&Y7&j$6J1XH0u=FV|D}KX}zF^9bqg;jv_{#(b z?=G7>APq_1hBsgs`zXsEL?Rp+FLshm23hVBfC(^tPG&4e(UFtc;A>EIjsFI%=ysWS@eR%p85)zHo$LqF2D(#`e*?rkVBLSZ+enL`G&HN>vh~ z0Xrje+2m1n6nqWeC+$Ylj^RJyD)gyrqB?@b+vKVxPmzem}w2UZw zY)0gC#@L+B_X=6f$i`x@QI4{|K}LWB$nK~8PkJJkTUp7N>_@8pM69$W6+xCtFj7=$ z1RxP}j9iYwl|7^9t?Jagcq`2C#pf*CIxx!R!x>^1;6#uH?fb7Za~?)WsE9CgL1bz- zS+@Q;vg)TAmSN8W4|u}y5UQjpvYPm!CmISza=w_rqpJ$L7xhVfkwE%6HaigUA=h>j zVoM4;J^d?xDC}eP>5nV8Rv=Ef}=jw=oOj7j!9`FAS zi(=rfE7O;XzL(*KXEE>lPFt3KkAIeFEQ;5$?_w+@zwxn>{JHKj@h~?AdPy}t0{P4i zRI18HRhq_?cy7BCM>qxm?!~w<`zCt>vijG&fBsqeHe@nBLstKW`M@V`$n;@kp*@An zm>w5&G43OpQj5i|i*6lh&{VNeQ#>q_RiMTw6CbNcvLo!oKBVe_=)#tkvHJS4mevJP zkY3Y+u?4LJ8EtJ@7z=7&u4pXiZZ2;sENEuSlTC$1jmczV!Mw)}{dik<&;Ahk{UFARX*}uS7ZXT%lqL7Dt zhI|72xa7KvK~{nA8H2R!AyqHzuQ+WxZPDKO747-eP{X19-y_T0cC4kXJF##eu6zr{ z0@7P~-srN)^Q2DnUusg2M?Xvsv@af*ij9=Op?fVo(X8sn>7PpElHZ^zcz=w2f-~VI zcyf%GadnlZT~f(852EvDqW`QMMN`zs_88c2&>2y&Mtg?x?4QvozaIZLrDtn|onS`d z>+{@&=shcTGZlM#2x}V0@FLWGQ^%TdF4l-^pjeo5nmi9ulkZ%VJ-GQBaH4;G-M2G)#1V^rnuUo{pO= za@{n(c?d6O?kS!^yqktg`2#O*aIBT{uQHSe{~K97Cnw1MnUp zjZpQO=ZW?}67W3HOeU1j^iCf7Db2W;)Y*G=<0G3k*RSaQ$W84%-F#9P;n7Rk(5`Y! z3$#j19(8x2|0>FkTb#S1frESGENMSk^9k&7_aM_xT?!}-k_a9i&l{Tj($+Hk4 zd2XYTCD+BAA4AaK2wQg}E$59>WV|4?p*{3yZ9g9z@}e2q+@oCj-pAzyX|T^jyAu&; zN8s6V2O(-ClsRO^^TavZ7gWCZjLx#&bscqU@vR(c0h`K&?M3}Xcoi+j7b;#|yZDTb(%v19J`MQeXV`YEXG$j>BuGP8&D8S^vQp@Hq4 z-Yu{UX*+3K{asu8%#x6HS+qdgslzzYX;+c#zJFkI<22PFfd{;S>>2EYq{Dw=8z|6h znslHz;i>m`8L#Ty?17y3RAAf9aT|HQhO};s~m?*>Ver0wd9j8EC>_9?cx-3ZR zaOU>r>S!Xu!jangc=No0WjMb2P;z^@LXuAT7Jj`yqHpQx9H}aX)#;1tN=~Ff7)1Z9=M(G?~UfJ;0IYac9XRQ|B^wDg?LKA`WQ_;dCiwJ6%db{CdiDx?Tv4 zjO4wXp6U1|X};g2-_CLfD+znxs6;k+JG2#{t7O}dAPgCiA~}<9Q9C))v>V+`ZIqlT ztjA(ynJ?FfyM6QX>)UGQ`#*)qhRkllQv$(H1s2w{HRKQb+;Jn}UnZAS!fMo|kEef* zJ^CA>tG3b59*O7?{Qo1G-dJ~5Bp3JUB3Hmvd>9%~@q>AJ4qXx+uD7^; zUX0UZ9(b)#+#W-3)#50(UL!lW~(~6eCX|>6aVQ#8t$`HlzO= zmbj?`c->xE2^0nu--xiP!CwE7O+H>&2H((iy1Xk83|%UW>;KF!zrIx0&X-{cNU+Gy z;TE~y)hBf3maLpiE~Wo%WuRx(NGEJi)HhMc9G23EPOC{i{L0b21#ULNvu4bY?Or`X+YF~2zObT zh;S`mS_lmbK0~f=lN8|I!K{!%6 zgt%jt#yuvz%r!gPYPR({aX{Gl;n`+-uJK1wWWRTkseZTV{Dq}!8tYn++I)q?4i0%+p88f&S`F* z)3mVC=g;xRHQYfDl+K%Io;|<1dj9O@6`e3tDN1q~Qo3F)Lg7IHJ8b^EOJnr?d>}bxTNFyZ8!t#AsOUULR z=?4kH88?XB3Q1>02re?+A(;pPZgvc_*TIQUr}+-ZI&{H`sL}>o)2$khWh#jIRGErv zeG6q}KgJ%KQUq@NzhDTW8j0C&*3N<;n)ZQW&hoGt#7ObosKK!1JK5vO9^ZGiC`!fd z7)CvyD6z5xdvwasOEiF$1AP2BI7JN1D=ROQ7huB{pRrJzO~AP(YiLMH7!aR&uiSa1QjO3b-ZXe+1v8FGfwhiQ)c9O@(DGu(M#`A;wWu}B9?-IOC zW=2j+3pTo)14_6ER|@=LSvjC481;AlM>X<$3Y6k#EV1WwlCT5)dQmj4mCP%kqOB0| zpNY#Xwi3CXD`VTXa}U(Y1^p~|1|VkyxGm^hZ$Vim*Cli7Y3u`bNmR31Q!(6u6AfCuH9}b$dB6Iv6s03sL_Q7MFlL`~$YQ=Vp)Rjry2l_FP@{nwJc-BQ44Xh)UAxLjHl@_Ku=_cboX z({%ClgE{WCV`W1nQSwaSO}gbJJycu=B_VnPoo6iel(v=U1Uxa6zVrBVD$2Zr+uOu@ zb)FULGF7{oiZZ!13ue1Xb5|z22zx|0eh1AR8Jg^WC*K#8cHKi(tmNSyRvz8rk&wH2 zyWg-I@RLraMeGf5$JDqX=}5F8PFC@V2Kb|wEsG{X2piVa$A{*hWovh&4M069oimDZ zMMDqg_+&ER>IY}5ONO$PyNJ)HAc9qrhnFGs?hSo}jgI(B8_vn8*_hn3b8>uuc8O1t zkb);88Phj+hFC#-RzmYT<0#y@Gfmv!0>n``P5Mx4><#{|IK{^J`#AjccT&XGMTi!Q zt!HwkDk3$b;%OUCbH{5Z>ml@Pj#vf6oiHNFXh+m(<}t<05nD3w7$%?j)Pds-h$=ZI zJ&hK$ho+19LOOB(vn8D%5pYlF1EdpJgV$qVo8piFt@26IN!R){iiV#Fi~hc8q|>RI zp`44rIPu>B>BE?LYxd0LteA{RcCtZXgj&%XL4ysB_?jb1gImi}!Z`89Y=W@O&S=ea zK^+RK(H`UZ8x)=3`5P3SK-|NIBa&>w4`$%*cJ_C8kRp8ViHI{rH$=qwH)bT7YKP++#{% zN&9xTX<#DNL?mF6CxQpCiLkV%|J1pyDvbA@v~bzz>}BI)izlLZXZ3gK-$M^z6L=QT z7kokO9@^B@ar$@ia{Zbfb^CRF@%-MQSR(Wf4d-82H-d-rP|<&23%`*~68|XG=QJa* zZ)QbcX-*;nd(ecF2J7ZDpr{sTz)+opM}h!{l%_W(M4b&wy9MG<18tR-JYFem99BS{ zw(eE*21{A@$`-o>|9-Z6<`*UYyQ70BYhnTH$RA>20XX+^(yL^M5sMXik*|b^U)^uV zuim8i71|3p?+#Hbc%7MhJqDbzoTC)1;gvx8`Yp?$Z~CkyArO-K^&{`!6|7cg-dn4 zw722wQUn!X81oFmsjlelWAz^JU^C8@cdc`Ua(=nVfs{*b zWz4MiaXw_*WIZP=*QClSPbvC%0BWDg!e55kr$%F1;I=}jeaQZlBA+>@p?b+Tq-d_@ z@mH1Sx6QuzyHubz_Ujr)z25xzGnKcsEvoKVNGoE+-l`bI-YC~HH2E3eOZ6Oo4*miq zNkeOHb!1v5{#BwSZ6X{3uG4lc?rQ0)U)3{rT`C-KM~rCM{8Z1pruwCHM`-oj=AMN$ z5%^WPuCgKp*P@(CRoCNX2Y(_jXmAg^jw*x{ zGp_=M_Nl}(XE3;(@gvq6hNYKvi!-Uc`H6z=CJ{eR@n8tT=Z<5EeZA+jTh``_AiA;W z+|?q6-ixD&?}TB96p~SQaT!&MNJur0T|P&jEq^OKhfjbb$y+`w6@iX*RPoFiDM`^i z7rwgmJe$|bdxU&4pAvB-KAP4kZRPXHb&k@m{<2veWqAI)9xqUOWFt@+(B~HS)AQ&L z=v5JSO~4IcZNSJKAEJkrVVYQvjTAMM$q361pHUo~71qO2c(xRZm@kineEyb@9+ASW zImW^{){E(E@_#{VQv+C#p|zjav#p#s?uh15Qf+lJwO3g$qK&^8ZK* z0O>vF!QU$M9_rGxET_+ku(qz0iyDg9h|}gr$gPfiw3+lB%W(hu_~#_(jeI4@ zRdJFX7cV0~4)>7{0CJM@4t&V8q|-p6Sg`akGD#zdp;D}~jgf;o!3=Mbxv?PbwS~wH za{Ka>iYRl(6Zz@G|735xTa%O~lz91xFIT3dttY;pOiI0^|I|;8NORGf$jyVSVyL?$ z{PbMgZ$Ux^oZT%ZLDs}IpEtz9>33po!(d;bn`i0Ej)wjI@KJUJefoMV7x%NyD`p3b z%3R7f)YJFLMFmRwKAk?%n8<@cX2a7iAV5(H64Z8TH#ag+E6)_HP-V-1v4$odN zAe9Ka1>}YL`8j7ye0&?OsLq~!%II?x%6la&2XjJxBxiP=xpd^ru8PH-sD2MABrAD? zU){6qLnC#|&t1IevfT}N1PdvlKs4g5-@1F=vVHUB?OWEl`;_{i8jX`ayciyYLy+aT zU*Oo$@^sHch~$h^6L$E1_^x0dH+S@ol5v0+4*cZth0r8lNWeIo^&FY8?j{25o)eHcM(uRn5Q zBsUyY&;S3Z`wsZFseXR2I1K+xE~;p5%P$Z(lhdgWL`z0n62o&! zUq_;LCBFt?%YwJV3T7%NH5086U5x?28Qb7EkkOZANGrt?V4? zrPPZ~@4|+zrL~Q~M_A`{5va54dBe2j8xWeeQ zqD;=$ELWYw^T4|MWq0&RGQ@U|oX}h}u&%3YX~dw`NKRvLTBKt^xn7f;Ti3dzu6|Wt zNq13EcZvL|AHHV&!t<9_g$s4E&85K8zH8~ChLMu`l^vaHntG#sWo4uVE-UM!brCy9 z$@z2@pEi*BoWL=3ixy6qcbM#I9ovz*iY5npffb1`Q%`H1S`*S@Yz!;W*(Qg0@OG1l z=w53cX2K+TS`}*4^3F*?~x! zPIeG`7&UiwH8*#oPvGytxwCx&%6G_Is;xF5uNLX{vvbG9W%f{??32$+mmRS$8di2H zofRpiE-5YPiblKi;h>J9doX$0cQ08~Kc}RAReRU!rc6(1Qz>+)Z)X87eDFc8WJ> zb_AjyCgr-xma!%M8{5Ji3+w36xuC9UARZs6svJlp2J{_U`s){VhugOdBo}r^I?6|r z^>fP0=hP?XAk2bgcHm_etYTkHdv7FeeQ(hPMu!PGX!nUWz1e;$%^XT*!meGUCobFB(%KZC4Z;iWX=Cx~ zYK)4=j1yF7zc@w-5y`K1BU97u8Fc{}`H;%%% zNTa%kE0OUJUuzmUlk_&@jhk8drs(aBptpYk?=P^$TG1?+9i7w(osMRA>N7A9m)b=G zc5XdeXVAa^xZMn|q)Y9N&)K2Wtp;Fb0GP=G_wav9aVuMoPas9H*p$!T7wF*88!tKS~BmP3Y5s&p-ta9MWfp~Gvl8)9T zl*zgivzxezBT(F'Edxm_b$n~J8b?W$T97SvkorxutV>zpr>+}hT~b@eNIk3e#x z0lnR3)aCiQ_b!`A4wW`6YwK9u)CpRv*xf*PfwkWB0A~W$jzMw1i}*$zTa~&4?3IN* z-D=lsQZH(3KZMDJYx9w{7m3&0;=$*T7dfN3iTt-v+?ku2K#SUDG_39ITU#G$P4v!f z+IVb=JE!DOirdxM)z#6_B~#p{XiHaDOLLD*gSud&`lr$-$E3KhloDM!oZ@~_wmd4R zH83)U1|!+7Xj@#@u(CtxtD+o=`)~k*#V)csucveS+?jR5CH2eOI#)Kavo2XN=PV?r zsU(uy7gIioc5MgEJq2?I!5v?wx#Z%_4%;2^8$fd5+;ff5K_Nrrd2{9(EeCc)w*my$ znwo2IqOGCy7uak2F6;^bN=W=XrQ9W^lc;TmXvqfENBZVC;tk9a(2 z{PA_ewRy+kvo5dB9&3ruo@I|VCx(XsDFt{8vfpM3hz`oshZYD@04WTv%vTZl+kz}2 zUH%cX%cwC83s!?5>T3LE3H}&tMGX>{yY*FCtxghB_rlmjIDp=R9R=J_n17kORWwX! z2Cd#;ZmVSyJ1SWP-AM(WaL`$17oEsv?d=W5ngW5)3HRb%X3=QT@A6l9{Xt36scmk( z%~4Pj4z@>5)6+{?>_z?sJ00&#%9z4BTvrFi2uy57lbRu~Ssr^53IZZSTOW+}cto|q zWpY+}L*?bsDi8!S{F|a-N4Z^c0j9j3P|LK+U~x@Rhst5oyO3EK-czB%e5iq>Kw*Bs zgydN^7l3Q7Ow{Rhn!3`Wx_tCxVfrAu2DqN$U==PqgKEc=whtU^EmZof#%%qj*{aul zTaBEomau3xi(yNZ`6}Kb)mcTsX81%0ss0n_^-Oh=<&vjgwGiej z)2h{*%!z0`hM0eyQT%y<1Sh+*td2laaYBo?Juy9Dq)hrK-$X-LuIiVuL&eDaFhF2YLw-Cy`5>0L8| zf9_CQNEyg3D1a5!B(X!H5th7wkmMm`2>GjD-ZF6&NB&pZy8j6!` z803YKNMSJilOn%A9QOM$xj5vS_=26AgWKHko?$xy-jPJ$n|)2rDYWV|p~`~B{%~hv z=G>CuBH%R=DJxUi%sQt{M(YehYd_E$I&OLI%DU%EVzCn7m!dmEtP{J#KL&LR&37;E z%w)anAop|JAyXOMDZ-sm`56i&r8{B#YPx&}{Fi*Ekae+Z&3=kN8A_W928ps6%-|Zh1}}*(WmeUZWw5Qk{Sr6dKpSC$2Me71zKft}`?b z*QgQK87hNoU=r6EYJh9t5!aa+iECgH*O}RYYo!gDF^+3s5Z`A;8LojpT>pRA(+n0S=;EV%EjH}{3DUwlN5dYcmsDFe^B}WYe$ytE&c zw5U1#1#>5}jxl7Zp+YvcBI&BfQ&6DtyWM^&=yW`LvHUEQYhxO$$)p`}$vO|^N17di z6VAm5ee?PY++Lr~zF1TlouZ@I>YzG8g^toP&cTL|ZPiw{2enE@qlvY#ZW%l1y9W#0>~+vhno}#>1za-Q z7=o4urM?9`b&RANKucs<-forzWvptGj0mwqavoiL<}~BiqRA2oczj}WZP|>l%BS)Ff` z?w@Qj`M`Iv52D3InMe=<4Uj3!pA3wwy#@=Ftdot;paVI8z0@$bGFlsm5ClfiBt;5i z1%Pn~Fj`cAadn)Av$vq&;YfE$@nDs&vfOLLmJ|N^#$c?WAXe_l6C^;GALbe+p~A># zev5wSpjo0|OBt`(G5XudM=?u=nQ^q>LGZ`S%0u)l(86gdXIGWauBjNQs+>JuK2%jU zT#f&gLlyX40KC}E++*Y|Jwo*&NNFkjJ`OpTN2^v_t#ls% z2i|1JL$KE6oNF|wAejt7i8MJHy1I_0na?D~!^>^6SYze`Z8I#JO46T5oM|$0afcke}@3z@s z{iby?^E~FudQdDDIc@$48)YQt_Zh`8vS(V1>=X3)PqV=wNd^OC8G4?7|ESON4;}VA z-uF*<*&m_)#iGR`vezE={C}?gFSmyg)4ycVX>wmFxXZLBA-Cry`mCk4P@90iRq1Zl z4jSl2-zw@*j8b&1l2TSSG5@B%##Ir~dR&6m8@AfQ9-YDExpVc)o2FlSVUMWMdu*M1 z_jY&h-P2|B=xH~*M7o=KF;l0!7RmB36tJinGneSs@jAC#(B_4#wvbnAaC&sf8dv$9 zqDFAry7o*}Ca(JZrs?0fP_A>3T@1}X=mJ&%sJ&{6qH_BHuIzo8>2^?V*{?2COLGjo zeO8?M7`x#XCP-FG6xLMsNOp^<%Hed!^73MCr=!Ybu}k}1Wrc4him;Qh3GNw1@i(h# ztR~Usbp6>^nXk&P^u6VB+C-5ukzgbYV*kf1JhXO`JWDGGMUctxO{IuXAW@nQ+Zq8F z3d;~U9qzc-8+SXLG6cN=0ut25lqjsO+)poay57pX{m=Avla+vs7qKk9w6jGC07>wy z2Rw~{C&NpS!(kR9S!38GlEWdLBf-~r!2kJ7~yh7xT$x=-+6$I(0CT>-9bL>}PihNvQF%fqN{tpL-PU>13Az=x$# z>)`f_yg_E$>;)h_3fm^v^d4$@Os?sOoYt4PEB1>_O%}V~?eQr!p=}M!9QI81CxCU2 z4C@}|2XfnLaDSJ4f3JLhFWtwR@jUY!`xDx;@g!RAifTwlfnlZ9Vxm51aA{`ibi-OF z_FU6;bZE8n5b=4ADbI8^6tEhvw0oD7hgwiO^K_;bT4A&6DrK?IX!=cB{1zq$qfa0Q`ht^w7+aK;SJ%&4SIcH*F6s6|^R z$29medFiB?6iV_i=JZO?z1d5X#>JKmG|*3iEZkbI2GkM858zzJR&_O) zE|&}KlJQ>7*{iE+YtaRCs0jrf4&W4r?~0PD{%TQcez-|(SGPW5(TLYHs3p^NWhRrl z0ydG%Azv_<_iq!d`z2|=RoJ#)5{2~xk~B>9%{8 zR*W_@x2SBMh1D}g>zB3G^&+}Vja>8)tT~@A+E6%h*@}&KOw7A^L;uOx0LR3OW&8G) z_Qa}cN_yjUx3p~e=89!EpU}SOwvA&udwZJH&239Z`?q%1Rdxkz);C4BP#A1n)3f;e znM>~8deXNSB*F$BDRE*Ith;WaxxT(?ys^2Rbl;T0Zy#DtyPVCDb+@v*HJQ{-8t`aM zA*L(KBV+y2Mrri|M!*-!IxH|-E@fS_DKR@P%BNIQ#QJ+z)mkIUlzoY>JYuaJE{;4iLr4lXaQ6N5fSMZLR1UpiD9 zY^bjAI4m_Y;xN9>=nS{Dg&eJGZ8>tD?;FHgC_btOk2I}=vNS8>T3(OL167>bMySl%K0t7 zvpbO-Orcfc3%+<0WJ7E6-bA6+U`Z}%uAU!6oI1WNm{AmID#Vv{E#7z#U)C@EX<73`q{8H}+e%s|!j+=i zW`~2U#s;Oj#_sS`hl-N!YHxLOBtFCKHWddNW)Bef&tX)Dv}l?V37n-8M{ZLzC`TsHcmf?wqHUNm@{9qgAm4OY z02C$tSGKJfQNDY+`};eMzL*%&*{w!1pU_9V)5WEUM7((ES2u2Dh+S%PbTl-!2%hjl zhf6YS@K}VaLvIHoks!t{$GZ4I?s4>1D>A{;;8(P$N<4MWoX9xGV%l5mQz1!H?z?2@ zc@p}23DS`EO8XT$NK>`|9D>ePi#naCKF6B+mDReDV%XUj#iDMsu`a}mA7_-bf|&Xz zYZe8IC3Sfa_Xzty4>Awrqs$tcSz=j<_d4ue zSRb*%n$1{Y^PImin~$+#FNAjGZqx>$me$=&sEWnDSIJ%i6ER;&j%8mw8%LX_o`yRu zNoSMK^SKw9AIFtC*!75n)63pzAIA^AL>F=Z>Bn)jMr5vFNsfk3;z?9R#tM)PLzYcY zAaggHEOW8;%!R>g3|6PHD=ZQ_k#7@;^=h4YXEtjmxNmA-- zS`p=y0*1rfnae}(LnMrZ2ezZ3%~-Do4b{&qsEd>)UDYLd1^JeIo6!XqS5N(bTE|Bs zMV>r;SMxWF9eSf(SioxHZQ;7c=-_yL=(|NxgV~_6dJNd&W1q&Lshd~a6fewaX|d8$ zMC8j{&g3x@c&)S;W+$4Iu;XW2en|7PI9QZtGCh@phNtpH(;^uYRq4+&^QGZ%>J};l zlLFeEVFYMF!NSNE68}Ou14#RY2iQj!U$&~YZuO;$HebCUE*v~t&8uQNW)7cH0Y3(W zqsGTJr5<44QwzcI@lfL#wR&~^veSEe_pEMdKWa7oJK(CNVROLfo`C)}>q1{cU#vd|-PYx`ZBC+J(%wl{@2{w@bl=YA#J;h8V z6Dx(sIUR0gn2Z9u-;FFu@MVJ)Gc^P0UC%+bN9i4su})AXoU&niUd&M*&x<)LF*djz zb}-QgALQWv>#!Z%g`hZ*>pA#KWNbA`B7)gbt~g|4cXvgwy3SP|!q)EOO>!2Os`hFNTI^z&!-Y*+9A+&q_}4XyPQ5*#JesfbHdw_n-g2tT^0>eB?D2J1jcKKAg28E- zkXWOj+exQq+O#&4&WTi(lf9Ierx&eGp%4}*<0g7$wWKMq=)MIN8R%R*{T^4wroj{U z0ShDv%1D6ZQ6ozya^qdV0e11#YUK$62?Z|K!Dv)zG@1z;D9xB6ZAL7p((9XCd0uyu zUa$8EjlMxRg!z*~9x`_{xbyNnje?-_>KlC16A8H5={^4{8!RaqEGwH)S~_UZd-ctM znTg_={uaGk&>NaO`FZXJ11spgLStZNaq-MRli<6&RSZ{F4p*}BfpotW zm^U%>Yrn$p)}mj*QciA)NstnciCF{|b#gArQz^@&5>>-6m5IDOiRvVqwRc<0phtE? zQ{hA}T)DmV~P5LMdn$%hyK8{l_I14mV7nSKqdB*}}#ZoivwBD=ciJ0GT(j zpSCOLs|)8Re1gNiV4!h9EpJ*zy2WKCwkU**cgQZ8S1_%qEGar2qthBjE7g{jCOf#y zw)8gS!leCt+R0`JK0ZscTp}NGZ7; zP|;7x>#}qzlR4@}5-@W_c8y)xV@{UeeafDz8HtqLGi~EEqc|>Ft>PRbcyw`;P8V5? zxL-R#&RS-tF~6s%a%Q!``Yi(Sb}P?YZ>O{C4TkEOmC;VW5pz)`gqG;rPaVUrMT@zh z+bda(CW~$Sl=fg$aN3NVknbuUN18v;Xq7zO1^8ODnmgweI}7xj(dxvusMOv7H2uYp z!=MA86-tRKk=sjaRMyehF?o{hL>hqCSzVScLVbsXSc=W0gGfEXmdVH8JV;;s%Iea( zt!Fq1G$Z?(*^W`^c#nqW9%PHKdUjiBXOn8ojbhA=-t63vCABZjgD)>B+R0HSON|;# zdu4f<0|Gr~dso+X_&wugW>|#;6%s`mLD6~^S5z$S2@Z!GTPTq2O2mulL*r!zqS)&_ zw7?v9-MA{dzOaRHz0)oV1+>1*JEO~DE&ISGiO>e7KGmBMXQcM7S5_I?^}&OYvv6`I zY?OEZJDd z9}=4z%4S56pkJdE$~U%+E-s96P1Fge=I`U)rIXZi!C;`bvwSp4PpJiW-=0zEmoIzqBeRF82K z2Q5(iplWFw_RRdx@;cRW1P=6NEF>>kC=1mh97o}RXv@QEtS)JkCikdB6P;r{I{PnXX;`g->ZR#0T)l{4X*=g}=*I13MWbQ7;uHuynwZNYJQ=RFHTj;dwy9fJpF46JgvF8u)yk_X$~#3VGCjVEBTfo#5NcbRPmU*>|uufJx5%eO^@DHH*qrq}2zE_(2f zHjD}`(~kd8Rwh4cTV`iP=tQoxJGw|Q(B-smpSH4|v-Q$d zuZ^!?)jMLhk3|}aY{9OoF$(CrmU7!&>u^*|^qJ|@+OwqUcMccZZ!2n!*7X$TK+`01 zap=-XTgxQX&VZEz6}Y%55J4M`2I3^3b2d7iLf0+Co~W+iDZThfKE~c8L5hD z=_5MtQcW1C1Aq!6mAEY>30{WKLRmMpvpVUxl>3>Lo6>yd;u*LlGE7P_4f~2{Gpf(D zgi8ZkXm;E)K9?0!m(jRnkC${K1NY0PpU~$IEYVW6Wg(r;GxN#gW|)gw3Qp8>Hm%O2 ze=@JoWQA>_uh$|Eiev*F+P0Nzsacov8%4D~CRnVx>S)9f|zf5+CE?<*FaM=QE{$#S4F9fL# z`ruD1>hfKk?H6N88LbCpBFixXa6J>ab|R;%qN6?xqf0n)WE0c&aG?^kurG6XkDkAWHeDc~Gl!xV6128g+VyThsR&`211;sO^r- z4fzX~w(kiLN`+2N2c3jQc?_afb{#{?=n&<&BDN|_1 z7&n_Ar1VD*l9PPq3|62=NHu*w5!L(Y>=B8mOC`%7J7sG|mrS)~X3sFy!2Xb`V4199 zoABJrG-CfBo?;VDBD6u}P*hh3DoN>)$s!7B397rx=&`VdyYA8Rg2k@C=We41JLTSe z7cR|q;jUgIhXf9H-6Pm70x#TsH(eU9^I>S?LtYwwZs7KkG@jmFG4}F{Zkay?2BQ>Dl zNd8=r#nCTtf&8${OPNUkdXnc+i z@06<{$!OG(^XTeZ4X@JSqY?u-jT`6Fd(R^%HW>xFF^|sA%Ro}hlpw0vMqUflYjw$p zBO>co)U-Bh$BlLaCm7gAQ|$(UGuVynw-Jq2saC^FMe{`L32a* zrAlopBh)j=2s&S*RoALX9N?JLSfRzt-ibAn)rqMN_9vo_HQFjsf!V3W-cdQ#s%7kB z6mk}29XT968NiI{H#0aF!br~=jqDFo1Nao6ez^xR4pOR*5W@bDK6gQuwOdu!$F5gF z4AiP`P?MCaNxg0XGeejmZV>=mOxmSmcOq>!1mK&^ae_p@K5X49+Kdqiw4VoVLN zKQv;yk<>JKqWnO9^9>r(e&UTIRe zH)dw{yHo8x*=oMX0zU3ydgfx}lQCapww^rMXn4~yCm^@TQ}7h-lI>^;&j7UmoI$dz zglyG>I);=5VAW;q%~79VZ}c|BW5s4?#H^*=b?mJXPeUwHX2T7{DrmKimdIB=!L~qi zC)vE@Ds7Aw*_`0yvHKb*YEcm~N+0bjjKyZ=Wwd7%+C!N9ufzKCG2d3nT*w93Z_$oh zG94xZV}>xnZort$sm*d<++(&}XqA3MeQq&7Pu8CX=1eZYZI@?Y)`yu~m_Z1X4ZasR zMBUFYbn=Zq(~C}QtN!!Y&$XsAy*3PPV_s^u4L-W;{?wq!2>Pf>zYAXI8;H6uBhC;j z7`ji^0V`@ZbS1h^R{TPW!7HLj#z8tb(vT`@Uj%MA=j&Zowa{ADP&#ycdtx})Cb+CB zp)~=Y+~ZoJ(+iEP$J-k0T-Or)Y1_K?kT3PNyFqKD4ULA2Hgwdl8Y*)-W*a%AA|H;d zYinFJv&3N;WRH_9O{+Vq#uhZK?ku0}PhBO#4VXu)_{Cf)dk5CsD9N@b$*7Z=*Q|y| zMuzOHQJ0kMP=FTujX=@|KvziVBOfq_@&yql@xNv$M4KVbWQ!th+48RTZ}- z9Fvy^pP@^72Y3zH$Ej_KmzVREC@%pa*5u|Z!NAJ+qoet<$%WQ4JQNxrZgua>8UFS~ zEweY)2fJ(cQsDl@4wu@XEh@8z2a@sDxTCz$U_km2@?mi{eRs>W6GuvCUAS~`=bD(4 z?%6DY#jG!0x~^elQ$wJAqIK?79oPg5f#yUTA@<8zB~7$H4I~e8`o-cT57`K1hY1b% z9OA1Qy9G@CAB_%QYBqcI(_A>jEu{$WgExl4LF9&kXvi}4h*}PSb4Q)B%$=DrS=9xl z@Lgi1tBJJf%bm!A_?`p^u@m*!NZQ7$uk2FUKm19wPOl zFPSJmsf{2|LpB1LV#!!fNW7$YK4~)ttPahY?)L=0&7%24?f!9uy~AroysgEYI-Va1 zx$IwDW0SMXEQbFL43s0lR8w!MT>$Ms!|M){J+Ao12&K?BuX@EEE77$JVaCeCdpnMiL$Q z)qSPqJ+YFRwKcQgm!t-K@9^um-^sjE956!c?#bbxm8F^xPh<5kgT>^WKf-qa|-rrfP=f#|LX?Ex?Dr)LmDGk6KQ|^$dIy8>|bIxNFP(rLJ05B=e5Q-Gn0)iK*>d zR&_6_-i(i$rf_fd%$cE{nwhgwH)n4zt!@hS*2uSK!6>7p7O6fyq(vjlQbo#C#Op6Z ztNw3jv1-N=BH+wU=WyPGL5pAu$QDZ zVx*^6auMb_p8P988HZ{0#<(V3hQfg01Y|d=tZg!%+%jz741z)Ab;**Fq>eY?g4f2| z?OHI)+HRP+k%FF!bT=Z!1S^=LrKM4mz_M1UsKK`xqJ_n<0UP(ig8ud29)$%`(E%0F z+XcaZ40D;c!y%I1-a3c&By{5aYKXCsu0{#|<5O?9NJWjl&1+yChF|RlgGJz`-d>8f z*Bz_vq_UQ+w6Zxw!BBQ?9St70-YT%rj$@ldL{vyTuQQs1mf~_}=qSK#P;-K)LHcP) zsWd%^{f8R@R}2Z&YS=1)8x>&w!PPp0j?-HVCn3QS zJOF?pdguOQzcXhT9r2y#&DF9{&gpvKIcYuOJGU9^5)u=fgq;uJ4JW_z6-1ZXNs2j2 zJLNu6xF_hy4nchg$Cv?h~a>omdo$6^Xjc#*^shQ@IJ|Ebc)i zPBf#Lke60)^(1=8=i@Gq$K`apA9H#&^RzZet?5E)BY37{E59o9GVXFr1FK=Z31rVqVjGar97iCw@R1d7wsc37o zIU0nqb0yaqDYuB}7Nb?q)34scuP#u2mD?MIh;`R#=4hQRGq2-H1YU17-eN*FHz)c2 zq;JEoF6KMreq_27ItB_0TSrc-O>>dF%&gL{0u@6=%JATNGu2#2b^efYYtk-FsPisR zu$#FQ>I8Z+uwdPT2&s$``Fx(r40T5Tv&S$BGH%hW zSgEsMDIGO)C+hEk?iVRhDdhQ zEN+i#IFr$U#8I`eSW*K=GgtuBv34#Jn_h+3HIvwgKheZmO;yulfc{)A#GJ$niYGGF zOQI!F;|yP`EDTOA=Ye)guOC9qwqF#E*LKYsUyh} zGgdjG2NW2q0V7NxUkPCjy+1Zoym$rp_YB?V1ny`cZPgJ+t8kSgLx3?-?jG@{Aowz*t_%V3gJJhIJ2?Pb-@0{G1bj0R63m#dW(4vT{vy3QrMKt zT-hyhWTAAcfSoS&xfe7VR$(?@!@W&(Ri+-4tP6ssCPZv;Mnu^ODyoUL7ZpA5hA6R~uSa>I!rT7)U(Hfu1oxVhf6J?HMHWmbn_tC*?D$5#WiTeT}W?EtbF=k_|;{~uX3f9kPhpS zcAnnpgf~3T>RCL$OVq%n7)>Loiiye030a6Pjp=#n~FFzStnc)!di=@R(B(!2?V{fK*VMLF$f<^^bWI1J1%%7$OmKC;nAU6$}?DPt-^MS zDB6w_PQQ(CbqdGIVmhg`V+Id*Ks4iJ2k2L#*6UPSP?lra5pt%?q~=^- zS5i`^=S@e{F1{J5DvU;HXA~?r)4lX1qjCQr2~oyq+MkrUcV@+wN>_PiiwH`%#_meRb+l7!tG!VT=~ zA=WmMh9n=!#O3n>cM#c2NL#W37Q*ZKSN`kTl4F^Jj-V|`DGL6Kwj`@Lk+mgf^(DNI zypX9tUvgNd0ZVImCv%lb0vAU5k{lYI;dm7>Ig~f5=U{`?bzuuG+sa830>5b;CXPlg zu7?GQ9nNy%IrSb%50gWyr+Dd!DO(6wM`yOG`5AFSuaQ8IS@5|ZF)R7+el2~8Wb;5@ zqIU|CMK;n#?WNF{K#uyzV6=OzW~0H#sZoTTXeEiJBBvg z$=@z>)!DfLWr-HTUsTbSn7E5UAIuAynifi##oE{&E$T30vF1KzEmD7PZ$BB~H3n^6 zX=$C-fXr~vmwd|9^81gjFX24-;3%f_CHdT^1^Kq(m;`%;O;#en%mrQ>D7c9EAwNL* zB}byQq?5|XO`3Q-Q33BLi>aC0WY5plV>#9c(Z22zwUBZdL}#xRl;N z{*o*Na(woZ0~7s-e$m2m%+Fx4r(Yb)Fv*CNajlJZfQ-9SFT=$T!`ET#jj^AF z`fzS?;yk4ZqP`L~$-KaBlVvqU2317;{bcN5*9L&>Bn3nHMeJyio&jz7UC@?8YX@2D zn3VrILFDwcQCB43vpRh;X(_Uw6)nZycsOkH1T|Q{=tgsiClLwJ4bH?vXWS|-&xN2S)NPd&TGv3@|~r)!{LsGfBgiiWf|u~ z-tH8hc$4{&{KPUmaiVdGd%H$sU- z2pcVk6dr?5u0&TC3c~#fuIGYUU0|^kXjB3$OVok`T%28^)YqXQy&EP!H1?p|I9KX} z*hITF;Lj+UO`+mqu7o!VMnQ!H6P5z#=gC^8O9n%f&E%ETyR19?GvW*sEeI{R4*O>& zVhd95T1;0%*LXGMVts`hWZlsF9q~zS&>~%l#64FA@Z{xKB3S+>$7=JN;mJ0`9l&Vj zK9k$5RiVuW720er&}a;hhpEjUpuQzaeH}8!uu>h?a@LA=0*Qzo!XGN+AJo=`LUl3{ zl?r`os00kC5H&KY0cIII12@9o5mz~Xv@a`zkv4=V_BG5lW-oIwa~*RBv!8jCc^b6s zZRP;dgBn>k8)hrmW_B8OIatCz#6H13&%Vah!l!mS_c*WO&3rx|(!5IBu$3^qxL+}ej!a`wS<< zS6n7;5FZtvhCcew;y=YNOgiL}37ASu&8ACDKQ#T+^o;5EroWi}ZAwWcQoYnI4M_{7 zHPSX|r*yt_m2`)6zx0IklJvH8z|5G9X16(Pt}r*7rEekBG zEn6*TSoT@2wA^BO&GMe*6RXNvV{Nw%TF0#`tS4LdTA#DNVtw0sz=k~+Z27jBt;W`F z8?-I7t+8#h?X;b5yUO-0+xKh_*`BaHZ+p!?!#>Zx(!SaLH~UA9q+^fcKODbuyzF?( z@gZ0c(K*w(-}$J^?Fzd#xpuhDcRlTT$@OQ~Ki!Pm=ytnf?izQyd(b`ZUg6&4-r+vS zeVO|v_jla)yMOL}&i#rf&lB>Ld)9d#_B`o%!SlN3@19S+YVRrD?|47(rt=JWuDnp* zVBX5SO?lh%&dR$a@4CF(^X|=iIPZzP-{$=>@16YW{MP)<`IqJ2nE%`SKjpt$;4kPa zm|ZYYu&&_5g53od7F<(sYr($@Qoc%Gi*K55j&F(Yc;Cssy}pZm*ZF?$H~3xtkiXpD z}tBV&GuP(l# z_=e(#i=Qlhuf$z4SaNmA3nj0Xyi@XF>7vs8rGG2^sEjLHUv_udkIVjE_F>tue zd3AYHc~|+i@}1>>D*tOmUd8l^?G^V|yj^KSuAJSKPgWVL>{UyuzEico>d~qvsx{Tq zt1qg4t)`&n)SBHj57d^|URwL7y2`q9>Yhm&k{!uy$ye*6^>gbd>etoZU;jZvO~dI8 z_cnacIHz$*AWp>L%%es~ywQ5^!t!rEFX#HO6{jDFib+&D9d$8?iZO^v7*!HKkciTR0 zOSkv6?`prH{oCzNw}09Z@7U1s?T&jp9_e_hv!e5i&i$Q_c0S!z*R`!{XV-mQ2fBmZ ziSD89@$MzvJG;;6zN|alqwPudtnRs@=hr>y-gxiI-phMm>T~t^`_}f|*Y{xG<9*Nc z{cf6f+Jb3!PkXn2TK`c0S^b|5j11g3@bBq8)6bp$*z`{ZO9n3;{KE`kM%|1PXFNLN zlbLlhcg);7^YK}cS(URIX7$WEf7Y`@x}m7e8TXq z;R}YZ9)524mEpIC56os}8)v&`hi7k|{qXE3N4z7WBa22>j;tSfZjNqF|C~*8PM))K z&N*`~n{(5gUyQP&W24^~{q5)%bBpJ$oBPwbpN{p6T{iacxHLX7e%AN{>g{^-Jzw^30OIEp1!6f9Z2e-&@8l z^DYZ6Yg{&a*}7%Bmz}rl=4DSW`)GOV^0StId-*fV|Ghl5LRjHk(X?X8isM(DyyDsw zkF0oV#a~xet~_bwfmNGUUA@}B`kd7tuNhjiW6hOoZdvodnm5-9Ysc4KwDz@igX?Zv z_r-CiANTh0vyXphea-q4*T1}Be8aalN*j;g_`^-!O-naDy4kRK>*oL1{K=MqE%$BJ zZY|h4f9r``Z{GUg)_-g(+BUrHifs>Xd+UV46BeCt?TP$}jVF$sc>0MiofJK3-bvp* z>4lR%Kbb$d;^gB`e(03QDfgZ7`l*3a7oWO+yJ36J_A|CWv%|lmf5+AxSMB)qX}Z&V zr}dt;^t2tP-FDgwr@eQ&<@CDK*PVX(>5rcN@fqc3>^kGgozl+m&ILQq-g)27zwC1E z>e#hv*Unv+?|NX@A9s6pckW)ld-v|EcJJT)%dakd-gf5i&r+Y&eb%0{et&lP+4Il79sgK$Yi(+G>OIu~=u@z32Vza+KlT9pCSPWP|62vNRTUNP zTg(_AfGqz_rsb&RFU*)a%#3k=K~xORvqye8eurz-4{@*Wf4HOpAHncD9FJB$MO%D~ z4jPWJY++fPcQa#jWZCpfDE~lt9OZMRV4nl*YK!yta70pf`I$f9yb$N#W4qG_sKAqH zOfG)BV;|0OJiI_s&fH7?jUQv?QQ`g!{6ujd$HNQ%>|yt)jsFi6l@oBB0@zMPA$YFG z@mOUwQ^|eZ@+9h-pFVih@)9$f`=2V`XGGNurs(j(oySDDIgE7FvhuL+W-xK?@PaW$ z;|%fgb^luhJO0#B!Q309!amEC9j)N|GOhxJj)xWWcNu5@A1w*&>}rzB42FkZtn8Sj z9_^`5{{w-GI8GJFb!{kvN=g5oc{}|#l;5KKLn(--mY+%g6-N*5(KCO)b;4#5E%9=@@2X*q>~inMq{|ru09j&J{TM@D#lAcO_`+{{w};5O8G1 z3H3jswFh%b2hM9zx=@x&Tl|Aep8W2=G9v$62Htb=%#A3w zVSe)XO(E*P9VHJX0a&Q+-t=dawEa>h!e4{yr;tMhFrtj%e2l-Au~Q)!WL(gC_Yq?y zK0;pC??QXlVm;6BXfp2v{J}fDMJ`$V?Zn!UUF&n#@^3PUERN(O;Rm?js6Pl_RCY40 z9PmtSq&13r3VDAB$Eozwh_tp6{{#4jLx(=)@U`(>t@eF*(wWPDVB=W67{ zsYHgACT=b>#QRa|@hm;>LHRw(D)h@r#>H>J@84x=P^#I#!T;djpx6ISf53d0{w3F$ z{s4F!LR(sK{yw)lodS$*`Q1f$Pg4foT0B#VB4K@4063Q8{I4iWPZA3`c4&)k*F74vvId6n-_13hv5rEYISP z*0f3d5uP%I+Ly(Ve5Cq-3zquB1&?Lm4EQhO2+zYzH9vy!fi|O`fb;Y(2o~x~;An{Y zNp2S%fq&E!=f;^5%;6wc$qaCV_}w^Di*f==XXd;d$5|-tD9tF9C^aaTqR_KDP=--j zQRw~v3jMYhr5c5v+0O33J9l93(jDN9cVHdd0ls(#XygtiijqJHpafCA)^p6==`HX* zn#rFg7pm`T{qAc&myxFcJHxC%`7=Z^+@r!gfr3AL_bL^9*PL6pd#0|jZyt~0rti^z z!|YEPNwLuN97(PvMtOilmxp(E-c%`tVdy~ zPWHU1l7)f&G1Guj!>Vvp;dl=AE_)SGTjS{GOPM&l%v!h~puYy0Qm&9mVBgU)xm=H( z8Meaj>Q$^0_zkOP7RsfY5%JqCEROu?OqD7LTB7v#g3OV|Q3XmHiV202rPuIXO3(DU@YfTGIWci{LD%5f-{pwO73LSrg>PRC-Dy2I|#7|o7TdLPwE&uv19 zptw-#QA$uWD2wTuznQ65Bl{uF;mwp@nN!gF=~HqFU5}w4S3>&KOj(2DvnX`jiURvy z`Zkoil#!A?5$9AkqpU(X7v+4EK@>>8lVu&wsg7*973Ygl=r_MYNu$tv=)F&)+>Wvr zg}$fXcA;!UnT~QK*pA2jf1wa;-^;+Z0q5EFW!p;kwxCcuv$&w|=sXKMawx;MeX1uvgNz?4OY}g<%57o`Z@}=tz0R0TGTW;R-yX!i5(5DUgps zIkEwr&Q`IfV+XPG*o)Xp*>AGnWB0Sq!20x8?3wmHmxtW4*clmFev{k?H^$B5F6AEL ze!@M?y$Y+8k(YQYpT~z`n=0cg`C3@0F5_?E@8loiA60o(AyuQQOSKr5spC{9sBTrI zVTUSE$JOONy-z~;T!F997x5MQ%6&;+lds=5;#=Tb>)Ytt?mN?Wk?$M6D}6WkJ`ETG z=71xBoz?=uKvAF~P#tItbO&Y!HU&-zoE!LN;9G&)19t}Q3EUg_LEwSF!-cj&XJN3g zs1T`jf|?*=(u0nmH|Pr%2dBZ7url&g^qo)ApK~%l8F*VPC>m=Bx8H`Z|4szWKfh*`~77ccJf684EWB zw7`Nj;11*m0x}k=0u31~YzyoJ7H$dL1}xka_;T7fu z=6U8>=2y&9%#-Pp(reQz(zDaE7$zm6tj&4)KY9A5?+v(FGR&KxWXj*0O>f@#=HfR8 z-uURvrEk21e~-NJIlkxK)MlSxm^b#|-}*Pc`Nq1}f5|YfKY)T+`TFgzU;FyWug`~u zQ}c(d!ns<+tF$SMp>ch3x) zip&Zqf+FA+mjQ-FVL&#)sKGTxjT&Q&F~(<%n#34mj4{Tz5~9W!w-_~vEAGZ!+?W1; z>r~zD+rx}v^4|O9{cnG&?z!ilT23wJoT{!{HOC%kp|nfva(v{Kz0TfXZ;mN=zR})l zZ@2f_M_9S>IhVbUe~Eb?jfjq*CCsNSTv{}}Xjaj|Me~am6fG)hD_T{wrf6-^u|>xf zolvyC=%k`^*%a>5q8o~CF4|CZZxP{54{cldk@qT^lrLAPt^zMukhdZVttfeqra!WuP@e@BaLp<59kN= zBl=Oj$sS|BZP(g6sFQj2`~3g?1N%#Q+F4P`e$#AYPqZ6sn>{<)!=7tzvwPXSqiX8q zOuHbOXs4Q9_9VNz-OcWSeecd&Dr4`)ZJ2r4NexnyR2rSUhdM$Xs18P-6^^#k=s^?UUPb(eZZU4d*ULe788zxGC#>FyjOU8O7Z5M8PF*L&-I^bEbd zUZqdb$LMwXe7)Y@h+Ms0|CWFCZ`F_Ki}c^scDf5vd9&(=?Ngz9arRSRY}W0tO}EAV z+ChzE4BenJDuXVVs7I-0UCUTuklII2RD0{)nFHp02)!pKKTcLNv6))+f#{|=>L5K0 z{d9mjOz))*Pz&`TYOy{{AFh_@7IfA;Y`VE>89HyJUZmFQCF)qcOs&&xdZ}8kSF7*o zv(?FZt@^G$OZ`Y+sD7eeu=zb-n(nx=#O?RdK&kx9IEC&H9(> zQGFk~sotYD>YLOf`p@b?eK%{*Slxi8-NY#1S@o)ZR=uvDSFh>kSj}~s`V%(li~32< z(yr1wtE1G>%;g-Tj@K(xsrpFQGe@(BK2%+-zomB2T~&Wwt}fBvRy`R}_SGd=qa#(l zPOC%obTsp9b%y?$x=?>p{Y+n~e$K9(cj{ZzL;8>E2K_U28(&KH(w6<*&(bHV%g~eG z)F*KY@YCp}`lv3N6g454Yol?|pi30qZ<3Pea1d-|7qW_FWD#U zKkPg9W&5ms!3;nnOg7uGPH!S>H0n)*+1>168rhd}ut^)X`Zm2yAJf-%`IT_D z+=s5e-^?}-nmOhnwEkbrf#zX!|6k3)<`HvEqFG{IGE2?Nrp>%!mYIK=<>pm$ zw0X^}Ft3}H<_)vTylGaOx6B&zwmHVUW7e9@W}SK09BbY)Up4QW0CRf{oS#RFkez zjk=nd#KDYO>(p#LMeVPf)S-G`wOqF{5?QEL>mwOeE?39tqp^}!Vj+A-{ZL<^zK`X0 zkv>OVt$(Pl(LYkZ(O0V*_0QEW^_A*ZjHrIAuTi(_8`K^8H|jBF=pNR8Qcp4}{)c`@ zJ;4mvb9^cGhJHb9%gCvZE>>ODC)i@2@ilK&^*{@CV+CBK-sK;+_p#JIP+ioASc>nd zJz3dSr&DUO9;3$Up^UtSs|k8nwVNKH#_3^Lva_&YXR5RH$?9BvsybC4tG>=?^mKi^ z`UaNkY5J>t(fM_CzW#>#4x_pY^qK10Sh06=zUw{u4$gV~y}D2TLEW$K{a$M?7@rdHTG(IrTww}ncZmbw)dbzud{zbbKasTy6mafM&ER5sF!-uS*uYg z@MSm;b4mqI9yXNHH37DqlXG)`Bjot&0WLynlm)mLdwOtyyC82T1-LW;cSX(~81UT^ zaCf~6rR38sXAF3CfVa=*$JLhE3}~TRLQD&Q+K6Q(__jo9yB4H96H0mjAzDbQnz+W0*9_l7 zPv;E#>8eSfd|pSX!Vrag6uz57+%Er%B_{(Du_r^dkI{!}3t{S*F=>IfmAMk|{2zlJ zIfmS>#s&bNY&(v5S|f^F48e6CjJN^K4# z$F8+3B6N$STZb*?;8nDUfw|I&+s8_{aV>B;?^jAWx!6X-{R&E{3J#j##I??3tJ=Cy z2f%yWwx<%lg_vFG%_R1vJTc;zQ7JcO2E?8REVv@Z8EUZlBbJqAq*|nlbqTi8U3?$R z$Gliv-E}!SzlZLLrr$>Q(%b6ZSU!D_3Fl%%4Z(&Qiu7cKHJ0V}SW?5Vq+Z6V@2>~w zov}45=rgVK>p`ry9D?KT!C!o`7|>8!I*Uz!s~-2D=xT@@HL#L%T+C+jI{l%9&V*$XRYZ#@mm za5}c(zIs1BQ*B~ia)0JkXX)8`jy^yii1m9g_Sypd6?)kNSU(Rs%ME+DMbE`@Td3#j zR;;AI=!JR_Hu8~J$xHN7Y`0~4xjtI2KtFwp_5Q!mtFfMsQPa|#*$7*Ir z_3`L{G5TwIJsRjl?AMd@$ylkU>eJ8(WA*9!8_WTmsn5ca8i&q08yoH%wFq7J2wO0o zr@xIY`yG9O{;s|d>--|I&wrpV!9E<17P^#~gUir`yD=~MPj)>19VdQYsei10qJOHd z!VcR59r=R(xxNPL`C8S8UHVIX9b@e4^{@2}=*gq7^M9*v(!aw>z6E>rR&>&lSj~6n z4QQn{G|^J@?;p_HchW*X(+WHGE>_9@k+V=<(f4Sr|D^BLf5sA>g8shWjTzA459z-! zhX1P@Jz(=bhAn!u{=5E%eq2AHpVUw3r}Z;>6Sk=v!F;HnW3>MQ^Bynhm$9;6VgBP) z{hEHA{_v<;#q9YS{iZrbzop;S?_e8j*6-@~^!xe)tnv?;E1J&kub=2ovCTizS+?BM zhAkybg!Q|xDPs1z*pwK)^>g@mQX_iM=|J9oG(2Ct!uvsr9B_ooE`=*RW!pO*$Dnaw<0D-q?xz zU?a}JKHSgD=I_n&NOG4Z<@1nw)3~KY`=qL`(3f3osAq@(wAcYUWRpixw*nz zX?|>eVt#6_GCwm{V=X%y`&z7QXJcQFg?$5-wzH;h!n(dWSl73U)%|;{>OWvn--Xru zM=a()VJ-g|OZk4R%m=ZO|AK}5SFGblv5fzQRs0XE;wP|rpTZt~23z=9?BM6IfM3M= zeHqL5pIE)GVe!6!wfh#9?mJky?_%M;k9GSYR_(`Fw4Y+lW|?8q?3u_$BDRRRrV`u5 zaxQ{pmk>VJD`)PhC$mqz?6$VI?PL4e?QB20z1@NNsGV$oJHYO22igj|3$s&$?GR?D zhA~&Ss~urS+Di6gV^-d#n7PZ?YFoqn-55KTIlS?90wd+!87oh;d)i61&eq!o)}A-n zW;@wVu~XgX+D^0k*y(l#E7JF~Gnqx2g&$#9YPK?dhzFKZDW!S@xUuY#R_O)Ur5D=o zVTXR-Ud*h)C1RicP;Ar7?G;#&o3Xdw6ASex%wArFoq9F%3)f)5UdtTAb@o^GdS*gy zu)krx=ePDI=0I+?x7b@*Gj|)aKX)+m@Ox$xdZ_-)iu?@g{YPpSY}VhauVdL4W7qC! zH>#fY59&JgD|@HC%igW(vHQEJ!QVcc{hR$euV@ zzHdLUAKH)X$MzHZsr}4m`9eWQCbE2*Sj0xLd_WknVP4cV>K1j6%A+29zpzczE7~^d z9rcO&M%zXGqV1VG-Z9!K>K_e=c8&%{711utB@d2kZbW|0k z7_Vod>Zpcs{20dY;~2$HUWgqd+{yBv}m7bdNd>2H`*_n8SP(OH+Mzrn%0ulZHv=QbxrqTwozQ1e5>G0ViQk8K>m=S(CY33vTiP;j#j>`N zx@8NOwY45qR<~kt+rpN4t5>y_)HV6LBt0(eqfU+M+AweNig~M-E?CmKwya_PvQ;hf z=C!u1k`&VoHN}ndT8NO_ie)W=O*f?^pQ-dX$rsPUFZ|RNH%T!RH%TC$>rCJx9k{Cx zrPC0&Xb4<1gwkp7rISh3lr+_Z)4XIa$ zRBL>@NH^3KPxnzwPef5u>qFN_d8eCd;somhew=M;TUb0J$6mUrF;rD!NT@MXS!0Nz z(MOR94J4BZ^;8{KacBY!O+_;nEnCs%6KV|EZHi+HRE?n!n^N6pELu%7Ua@-Vl9tuN zG)37|G9y{{wIOt^q?MvKb)B(tNz2MbxmFL0A?6z2U^AJ9;+ei+W+n=zHgJ&+xvmXd zq~jEtiuX@MIwmkbW=z-p+f`yF9SUkph-yrTVobn~Z;EEo#ENGnlJ_*JOga?Hn2_l) zO~tcwb;0Y9Y*Tz6Q#3nYrcEJ%=8$kxT*e`?rl#(*w=7fo&+KHGj;$-1?VD-QY$r&H zXG>%C)i!oq@c~i{T@T2!U3$R$#jPt^S1w*ze89pLEo)l49+ZFS!;K5o+FVn7kdQcZ zDqUagUpI%+uMS1kJg)d)Nv7=JcKvgFrsq_7bNF7Pmn@sNWcswmu2b`HaZ9eWXbjCh z_WH5m9^_w~YQ1y@dRxd`UFaNjv4{@g>c;!6MSsMCRs z`cMoFAyh-iZbL}B!52d&Ra@4YOE;8Q;JiNOd~8W;vaO^;l$cGUKIQ z>7UKT3nhnL7v{NjNu|=6>avCHQqTBuPB+y?i}Er#WF_6)bx~m)$mZJO#ku;Y9zyOj z&83T_vCNvex96)Nh`WZ6zf^t6;=tG9AfgxNT74>0J+|wSg=xWx51OtX+wG`@D_UFI zmbA3ZUp%jPiPUcKl3Ya~)f=KEu;!DlmLj9hLguPNR%)t?+aze$wwC3~R<2sHZ26+r z;ELQ@^?oic@A+g3#<&7bVMju5cZdjR6xYcnJ2~DV> zxoBBl&NPNBH^s39s>aaJn$q2uZ7FAHtjm&ZCvN(+aV^((UABen4l&pGhMvhZ7O(K- zyCP9AzB?ctL#}HB7wM3{+UDYwxjvU}8WWfwGq&r>cD0&Ghk_atq8byT7&AUvA3DRBkm)ha#jA65kxF}g33*7qDZY;_TAeRj->m2;Ap=cuS%*lQn!B&w zvTR*HOqT6fLIoMVT4ea@Tx(7@jU8WnjBjbjGhCMUy>@iKf}{-tlZ<3jZ|*A}l! z%J86znnPRStY@*yn#UI(E6J1{+pb@aukNw1b;VNp%iJX^N6%|nva07|p*;M^Sf&@Z zj9$4imG0Ui_y9{`3fxUnsB2C<)Q?R*q>~TT$%oq9gA@Gn(6c4aYVIxSBTvdhWAaTh zt-A5aH}$y(rzhm0yd^H$#JfyE6rQkaixg{)id6GicWTAI3A!ab_-dAiGSM;u_Q)$7 zdG6XG4M5=HCGM8#>LpcxrCkf`%GSv&c_?*)D~C=uRZF%ro~A)Kmj~Vm=fo;~*vGm! zU!f%ne5$T(q-wmC#ohP)8gFIsENv%Mg9a74@!qbh3HCuv&?7bDrOiPf-=!}RF3<-J zUE{|F(D}Am<4rT3z3{FHa<9e@YQTG|uO`^CHNInF3gzf6c<>>7QwZM_%E4RqshZ|c4$UEab147j5Ux3dYxd!4Lw~Cc{j4^$ z^V+ywj|=qPOs8Iae6^XT9=;!DL@?LyKgB<%#uPq}A6NKXS6BEP-ZxB{?Zb!nJo|R$ z$BL;MZ+CDH{CQoHs`0i$s%Ctsx1eik#>a9Z)L(TdkLvIo#)UP(#;6H{=9*xH)l`Ra zs}A*D8|ryn=ofxaP5PmHys<|9;^#nL9qOk#^q-ng&ov>xVNhOE6Y^Ud=>0G}RpU)M z?xBB%VR=nW$X`vIzc~Joeoe?{O{n+Um@a;f%OR9YO~`K;?bZa#siroh6D+5iFjlS! zc2|ubXQ$Z9D9DA7E?a9$`xqP2@g@-U6!I}X(2Wo2jt}{-3*{0D`Viiacn;;{r>S@j<nQ(HPSAmNNZ3g!h&-&mnwMXa`}CQRA&Z-iPo_ zA>ZCgL>`2CXb$0<1OLq--R2Ok*@vqQdbc*{+uES#YGeI2F3@|Ek9zU()n=N5Jg6@0 z-?i=K!T7@Wb@heM#7c|p}M}I3-g=Kv`Cj8+qz=e z=vB*BE)bLetB&!QvQ>*1kIBo@1X zOTz&n4F~!(Jmk_4I+upf`7{LdX$YaD;UHI}Oj(M6;w}x4y9iwF(vY}IN8m0Ein}N% z?$R*1OUK|Y4I`5p>jhpabi7nh)G6OVc^~5Qf`aD|-`Eh}*bv{?@up#BG=288X+EFc zU||wmIv{u7AyeL<;5nr44VlbXuRytv@4LKp#o}f2-Ly7yQ}d<$HPp?L7L}@NEL*U6 z;cD>A75bF?une1BIB6c&++4hLaT{~!#VcFqEo+-EROxheY3s^W%oVI^jWL0f`r7XE z*o2~ODXnHz%Zhc;{AFzmqo&m>mihR7iDXjVbYW7sF

Cg|u*xfjw`p@N!J?^468a z6T*gC^5P5fz_mAfAQyGQ-Q&Y3mI)nSs|-22v@Tt~Y8^3pHoSe5$ppJFRbSiH$?@vc z7+g95rxNh^1Y8|p1|>Oq2gmddj_Dm--Bku}^Oh~0J8xaj1kCVnWvj~+MB_rFa_p#yqScfZ>v673hRK|!73h&d7HpE#Ua1EmwW(J%$E~--v@w)`Q)F#h$;aweY zx>N>Fi4*MyiD)Z{pHa9mUlPIq6lY}rvQbC<25tu37!^67X`|d8IyeL`bDZeq98d(QQe-RAi28aTWME?fIq6l<2!$q;MRVdI?TP)Hw6B!#;OoynRM#fLFm2%a zd3fWSSeZ02N4BnOj>XZ-y8D*rYkyT~Oth+Jp2kHrdPcdtO4pB`A#qEy&%_hD!C=dT z0bC{w1T*nOcKl~z&{vsY5N5(aF%t~EOoQ(hyw5WLkvzB+YHZTS_d@J4$_ln}9yj1# z2c80EJKXmC@2~kMy%K*kEATX{a^~T;s^8-OPQ8Ht692YqzT$n0aBs7!jZ9c)6m1LKhc9?FtB3~U59KRd%_{U7{0U|P{zTUNXx91cg};y42Y(JL zd$e28gMS#Sc{D3|;Dxn2N8_(F$K$Uz>+xBegZ~Y44*q$3gRNP=ekuNC=I8jVtiiv* z+<z}-;y-Eh>3D$cEJU|j=miX;b0a?pj967Q*P zSm#it29b{;(h?NwR7Q|u5i8zmSQ$5+)mFB#dD<*BXWqIMOVpetEvwpC4{DEUUD2kR zm$s}pN=;jO)Y79^&lO3ln?hLlW(}HQ^@U*_+H}^FxEwcw_mFFYZr!A#bC==n@@?Q0 zzV_TSZGB*Y|qV;PExvl#iT~oW@ZWJ;(~ta z8p+3^N%z(Fob=eFtCGLEhx}6=pZ>bvq-*(Ys#AM4@7-^o3#K18WA46Fn&(a)T&Je| zWWUifd)KL%A33`HpPqCBzgNY-0nC)TiwXT+-NF2p%WuHs7wRfI`!!w}-h^~R>MkZV z>E?pphPnxLz1?rp-F0Q$Pm>?d${c-<<81Bvm19`VyRR#@|F>86J)ge&cJ}kH?B>Gv z>>QoDJe++q`?y1O6j%0xm^k}>_8Fo248K&`S^P?6U+`e|!x)wQ$U)in_?~>LuY72? z^ERRRLNCPgN=K2%`@hF;;u4`9mJ#lsF+RR$-vs+??&&oTWjDo`{5_ldnlX?2AAvZ_ z=l}WDbE|XUBxW^~CWm=gpaJnW`7z$z^IRmcoxv{N{FUA0b|U!qub9`4WL9Ufw`)(Gkrm)O zsvk#?eWQTPVK(D}90Uq7gnhjJ^Df^vwlZH^Q)*jRr`hK^OVUY(j;^?tw|tk-75SGz zo+4v>uR>x4{c(SuD29mJNegE;6#H#ij`dqEbRtCOVD>(85&CHyLrm>j zbR1juu^9Wmdr#&mdt)-~?1qA;&m1TJ&h^C{<~2lUYuFi115iqzdFhmW*OymZ<8gjm z$fW!#=miDs(uJ2e@>subL8m=A`%Bd`Sa-K&ulHpn68F%Uv4t2PhvruRU9z{k z=faCnPMYOfyc)=Ugev=w>`mE?;J3rM?=I!aeoF3K|LB?1w>!8O^!SVr6nGu!6rqk= zc%T-YCpJLmGAOTq3zEq7t~^#sJC}m55pvjpHtIaJIJRUcSIXWpc5mIAIBt1<4|(#U zKtaak+l#|O{btf4_qf=P?dR+>KE*`LuC(RKX{a9A*JyFCQn$YKxm|T0B8G>u4`v?; zw7<_@oV_pErn8S^-*R%<^(a^0VkJM%-PQHQE>!kWVsI4ntn9t993n?hfDuWNeZlug z(RN1S%9XUE@>kscvHSiO<2t|lS|}*3?v6V9WTF(>1#0Wr)M&E|8`b%9lw!Y^#GWh ztoN3$s?7c&rpe!h8v84>pmw73{K(_`M{yZJ4y(3bKg8B6sy#kNc0^F6*# zyJ&W7_biVx4szw!&g#k8j34{)OyYg6UXt-q&i_dCq@9V;wZzc6lWhd-C)t-6FUUBb zr+0Z|HEAC|plmpRvflFt><*(e6??b-d$?NhwQ34|GacP0w*S`tnHZVcw!F~l8;hPiE zWsF<$(dXYK>j>TpWJBCa<9nPF zq-D?uIZObYe8jGx2V%#?_8-y{tyaqOLyj!_wCXByw3}FT$cSVtP`S}W*BoxRn@h+( zmHmTIJNqNi3a}8|6X#|Jda+Ni4l=p$IY9E(QNE*?WDBlxZ7-%ECqB1vdU5+SL2l>s zoe$!6vMao7hkYkOmA6&1r;}zP*KRk#FzUVO7qp^`siQmbtgKP8g#CU(to>2JQ z*;Dp;+WH;Y<=NA-=XFNYG2Z1lZcW6osgMd;9_*7seEx~|Z|9!!r5#YdMDVwGlMC|& zKw&v%ZM#~sPb^Km6&zFLEf9~1#~+kZ+%{zXFQ(7mWqgjU z%S~F zFSEU)q!f2|_bo4H7b5?+!~bLUZa)io_M8SVbT&9VS*R^6C8b1xe)#eEiT_Tdi%1;-V@qZOc>L<*@nCw;KS|Ip?r3Edj;pMMQR8s@hUp< ze#W_F+1pj*Mg!T$83k?R{)b%Y<#L&Q0$KHm^iEGf$9f}I7C~ag_*`GkMZ9tFl3WR%yw*Sc4pTK?anZgVX?4i(??^Pe(*vnj@JdC&eM#$~U~&!fb+fA{V! zOczVx4DA=ko9946KV2B2{b;E0ZSqNG8(xSpaes*CiDG8hq={OFHjI3Gccj^aHqFJjb%2}o^Q}31Gmsy_e__xpG-*F!@ADsIK5=;b!T}rag%50LelYF_AZPCkolG4UQp5G&!o9Rl<=JXY^ zZXIby)l2yOnUBbYj4x8}Xv`kJ-r}CUA&L63tv4C=%fPOE##Xxz=h}y01}5Th*2Tb_ zPRiR-c@igiy!1(0BISuPbNlkf^2ybSmn_?hH8Gs^NMGWL=S;=AdBq2m|CDn%V+Pr^ zj7@R7aE<`-8XrELvR+&K$d`ORS)}*&6 zDLuKu{G$&Qq>#LzeJAaO!g)$;Kz{}9yA{Y6Sz(ck%h9%%V2ROSY_~GM9HQOgmYh>4 zh>1D8{FRfozU}2-Y>|5W%9S=!m@<*Nl+l;i&(FL12`iP}1b!Wgw}Qo}75LcxEa~i^#qlx5_wt?oMeG zw5nV$%K!5Q#XDY>7u0&F88sn{Pq(yYeIncD()w3{e9U9NAc}zn?KeTj#Bt+=vt z0U4W!h2;IhsPer$*TxD7a!&;%9qZrR+bw{c#K@&u=4(L4L~f+%TG2+@;zo31jye%f z+=D-a(iYZUf=clZ9kCGC<^t?yktrR;>+9aN9ckNfTjPJ&mb)mw)#}`|&Ls9ZhNaE7#uSG5k*lEVI6$jkx*e+)Ns!EweSu z#CS=V{fVDh2=QIx!V-F*duC?A&p-Q@^f2nRG(2=N|I9yMce@rvtT$$_VP!;z*A`AcljJS!glrh zun#Qtdy9u<4Dg2lZ+RkFONMJCRQ4{tS7be)A!Gj@-DA z|NhZ$**j^|{{JJ|G1~THWL~hX_)5c#Z;UU?xcB(Df}Y7s*lxZTk(!&gbLHd94IsD5 zpldFF5{~>8$|#9i?2cCm^?`fL{+9g3`Ek#m@P8lDma7}ks}2Y$3+$fV6>ROCR3nxR zU_W49&Pm&TxP1OLfpaC-N&n?d;!4VHV$6-19SIubZ#h!y*NdWm1=s$+1)#R>kiYp@V<@Z{2yM$rY_2V3 z6iC6>`yukmam~Oo}=Bnkw#yfm(OufN14-1%+)#zs?-1Vv!YZU!Q_@O!bq6AxcqlC{$4jy5J7|)@%$P0)FHj!V`BUpPl9M zdF!7EO@DmHMbhCvb$F2`!wPOK6`cqX1TNybky8hS345GTXIQ zljjbaSl>vC@#9~{+;`_A&gUqP>i`-r!uL}R4$y3`&2Tz(msg1Aht$IuLBq*A+ApU_Z3VRQ@ zod>qui6AQ6iGV!_wvoLM#=0-!CJpV-eewPUM$VJKE==xlKt4WJgWSmuYMAVHu&eBL zkWmBn-0-=-yZ8K@A3O~pl_%xA#b@2A6LQLgJ9qINf35^+70KBVWu&(ar$zMRjEDj8 zxe$b(i3OzXd{$0qyM$h-&1?M6sO<#Cy4rq+w}vw=hGUTr=Ww2bR5yJv){)Wf#PRQN ziip84wcn-IjGdqT)Gk6k7`>k=(X*%~7h*mkW(ZUY#0j2ujT&j!;*M1#Ii%%URmN$U zJ98>#74Jr5AGUjD-?H^sW zv>(KImj`nK{X#XBbC#xnnZOx#*K*d~FLBr5eucXp_iNk@xZkK9IA^FI=M42@kBfd% zDm|o}e#e<3H{))>-HN*ncRTJ5+}~6!=e5>yCPpnMWz=#qMlGlE)pB0O&U`cTJIeHC z+%33Uakt@a$K8Q@I(vnB2Db_KEbckn^SBpqFXCRpy^MPW$7pGfOaFu1mE`3=!%f2o zKJ7oo>D}3DrUR#TKZ`v6XSnU@38`f7(+|*39>hI_`wQ-2++T5zsA5h68^j6kgE$Lp z5GU~t;w;WVoNqaZ9drh9BJCi~xg4aQ#yz73(R)(#o)o<&rDiKNfqB^f5T_@6q|AiJ z3!F_nN4qhe-mMsiCY!MNKgMbDQnXtyTtD0Z>J7cAnGa)^BZVwhx(U~en~a-+n~K{T zN59bf;HKkd;P%Bi={%GB{y3zxrjFPrNg*#4J0&U3(^H(Mr#MYd>BDeG;978Var1EV zajm!oxP`byxQlSVK;TC>Mgyi8$JoGh!J*L&c93Dtm|d0>XSXTgpac#|;GhH!O5mUb z4ocvl1P)5zpac#|;GhH!O5mUb4ocvlBydmy2TsqFz(ENdl)ym=9F)L82^^HbK?xj` zz(ENdl)ym=9F)L82^^HbK?xj`z(ENdl)ym=9F)L82^^Hb0jJO5N^xbluDEWv9*lro z9hAaBDIAo-K`9)R!a*qXO z3J0ZdPznd7a8L>drEpLR2c>XO3J0ZdPznd7a8L>drEpLR2c>XO3J0ZdPznd7a8L>d zrEpLR2b`gY>xyG`2o6d)8@mUmL-)ir;2LpFxMtjB+!WkY+}^lpxP5TbaWioH;`YPM z#O;rpg`16=gF66sAnp*{S8#{o4#ORRYr)OM&BM*dwc-}w7UCA+F2emn^@M|-aL^MD zdcr|ZIOqunJ>j4y9Q1^Po^a3;+n_u8zB~H9J9f%0XldHDTFOszlKPe4o>s45WAtOM zuyVa4yM*;%m#_h98$DDH<%H|udN}6^Pe2m(<|Os0oGZLH`R=QaAUDG}9dZS=d>ZHd zru7dv)q5;wFJ8x)!4Du6$8)m!Gipy$L_YW8jKXeeZ?Ql3;~c^r)GW^W+g}~Td3-0R zgE<>+tU83V;U*|K+f5y6TWpIu+@0*Ej&SFa@V+9{`Y%Bh`lYNwpqDW`VIshx6ar<~d;r*_JzopNfY zoZ2a;cFN(hoZ2a;cFL)pa%!iX+9{`Y%Bh`lYNwpqDW`VIshx7lqnz3)r*_JzopQJ? zr*_JzopNfYoZ2a;cFL)pa>}Bd+9}7X>`o0eQbUc@P$Q>m{vYo#aMar_QhniS0$fdi zs|mERW?I{Jv^%$(-FD31RWjS^cC#BHyV*@wt!fP?&#h%oyQ5`KyI;wkc2CJ}b}z|p zc3HQZ9p|>Pn;mDhvYVYQce~kfVk^7Z(Ms9Pj&oJn&5pBG+071!-Rw9mmEG((>6G2< zI9Zh4>^KvY-RwBwlilp}{caySz1i(!r{8t^*y#`0$8H!48+YZzOT&qmX<9FP+Htlf zd)jfjCVSekvm1Nb5t2RaIE$S6#P;?4s^p}}l-tdY zbK2R>j&m~E&5n~Y-Pw^1oE!OL&c$>mM>fmJkyGU4$i3YDcASvO{&u9p{&r@%+ux3p zGTGmblhoPYjvmDRcAS{W{&t+2$^Lfah5hX~FO&W4I3bh$?KlyW{q0Pf+u6=6cRSdb z)ouqnbBx=;&a8Di*qL>12RrjsdhGvoX*XZ(K z$L0TNy-FV|h0CsRSqzuOa9IqO-QcntTy}%YZo*}RY>beN5wbBtHb%(C2-z4R8zW?6 zglvqEjS;djLN-Ro#t7LMAsZuPV}xvskc|beN5wbBtHb%%shTFIzTrsW$*9BLKE5migb;I>wWa}l#ws1KL zE=R%TD7YK}mm}bE1YC{~E;DeMfy)eBA^~vCxXHLFxT(0kano@7;HKkd;P%DshntDp zA2$m(8#f1c0PaBCAvjJ=hRY0GX5cadml?Rsz-0z5GjN%K%M4s*;4%Z38Mw^AWd<%Y zaG8P23|wa5G6RG0+&PJatK^z;4%Z38Mw>{mwn)}4_x+v%RX?~ z2QK@-WgocgL;$$Nawgb zT*cV8D*U&aYGVkzD$tzNF}yW2BNJh(Mv&g=lIrXa{v^ILcx&?z$GJ81Nt({mP2!XEBQK>)?(`*=+E=MG z|9HD=ymHk3pi)`EyP7O^}a+IOeUFBffM9>$N13H1Bsif}RRY0>9_|)8d zKdO2t4{r_r^JwD!*gnoAJ_k=H-@CiqSIw$Qz?EY<#tRMdE=S)1Tsf=q;L0N^MM6|g z|2JS4&y+8Sr?a%SChV8ZTQaRA+*v$H8f0l@kfo_cB*R{=48g7aa&T$~!kpm4IvrQ_ ziHED+`*N@gTY1XA7Pj(E!it>de#Tb7j$Y)vPY;eo4_00V{uFU!iC60j@hdp&;C1{U$&7vP&afwzVx5w`NN z%I7MPQf? zfafIeNjO2{axnUl(O0|sD0*%Vp7?LTox~$)y%f^=cj8ChjzZqKYZP)f2Y&^)E#T)Q zV27U@@Qd>J(T|VbH0oH1W&P*}5^xgl;8lU<-@uPLi*!#5d2sM~9!^hUTtnTtD+NA= zKM(Kfwvq$KP4l zYoWO+6+0qeW{Ob{%?X^oD;qv&KfwPj3lR%60pNh=m4Lj zNy1x`=dIx}Npl=|I4tC0KJfAYANl3r6n$aznh@5-d3JzL|B|o^d(yuc_EN%L6vCdr z6|kef($j}fSG)V@8*v*)-y`s?oxtsBt_$=@d}r|gW}L~iTz=wwCh=PXCwWQIcZNrY zdU-Yab*FQ4a1!s}m!yEJsH(xdACQ2r z;rR>ZW2;W_^v-u<_SB*fencMc=7Hm@>aiFi?oi1mAF0Sj#fPWHVOV;U7@OK9M?FsnaM2Zh3 z>NHt*NjNvpM!n?fsNLM)d&K{VkJrs<$5*FtmmEcTs&@>Nmqgtq=dzM>4z3L2x$)$@ zai`^ZxPnJfu!btuD{Z!CwWZfC#E3e)2SCyue#^d+o=yc zKJ{7Ry};=xU6y{_VbeVe$}mwc>0Njm>L^_UJi*73tQTjq#h0_$;wybv3=s~U9@k5< z{0rcd@?~DY?@4hy@P2j-6W{r`Q2w35m&WwzE7MoUFyRt)l)jbcjs9Kw9^eN8{0MNU zi_XftGkhkWRN~WV#^qlYUz`t+Nx-aH+nrTwt{3yw3-@g~PqQcIY%b>v%@yi6wN#y; z-d1aMsV-Hou_oQlvRZ8+ze=;%tRVK)=Bvbaf;o}ZYA2i1OuadswP(%dOml&mVlFh_C#D~mAF^ic za`SU@D67qGCiJcRR-4<+2D8R&`p? zlYQ5g+j8@3o3i804R(s%&)jYgwTsL>_DFk_dBiTYtIcDq+gxX!Va4WY<~jQfd!~8Q ze$$?B-m%}a-!mWEd+oiP!fMnrQr5*%*2R={f4(ppz|VbKv$LvZ-PTaPU>e5CLBp3e zqri+-lYyu3vuY|oqxRxt2Ft3#Ilu?1R{RBOAz#oeqP{rcRISH9QT+&-%heUYZvCrO zKUUWO|AMuL-PKL}3@Z@tV1Jtp>M>RT|BY`{w&NR>r_?y*R?3#Ef2ue5s^?9A+Ab|% z7ij^z&;rVVd$6`6Vyz-4#j-MSJnLlK+Sx&RH(d{=K~`PurT1b5+TOB~>L9+oN$Epa ztr6+N_2J;%%GyXT)=Plf^lJPy`a;5fPk#^iBGzj}`uqC(U@qo+of3UH=k@l`zi?}- zSm*c~R_orV?^j)94Q^Nc2;U~mkd?Sy^(M~o?W13$r5e{#iGh~N_e_4x6(`p6WkL_P z_KLRG6L=fbOQq$k-=VB%+(}I}6{bRMZ-$%UYA4s4RW~!*jK;4rRjh|dnY8NfTDBU- zn#me9fY!Vl_}$I!&`&fI)nv1$*%SInW|FF*l{cs`6<{03$W-Y0&W5r{CbDTL2%CDLA#B-84iLfV|lc70<6Ntyqb4~|yra6r%>2dt1pdab`_cm07x~>SeXnti&|8rn z?P2HHd1@kS&F8B++scabdb_}~-rg=^1<(X!*^#WyKFS`Yc0;1A1i#9zBJ65brB~WD ztPmO@Ytwt$wX75xAuH4??Xj#F8X@b{``P1JEi}ZQXirq5?Me0|Rb@}MCj*~iPXRvF zo~8yP8Nb1|eP`G+)OdTQJyT7xXW6q<1G4gL@aNcbRFgf|p3AzcZ`t#p|F%7!?+KBi z_{dPcsJzeKkMc8m8J#RFSF!MXFkns#c`xFr?~YG~|)|`l+M%4O2_djs1|dEAdyUHB{I! z{D!HuXiJN>T#tXEx{R2A#IFb`d^xdS!EbMo#ad+X_9BaWiY(q!WN`(u_#Sou{*!uu z{62_W?kaM5SCPxpL@sY5a(RTvDI3n>-bKE3i1hY)drHfl zjy_Sodx&&@-CrFnUq3{8XT3ABa-bf=mtA9#<|ZM{_eYM)*DE5;-S-fzhDCN)BfDGp zK5{PW?PlwFthC!fFJP@5YhaP-J0R1KCO__*iAb+RvX>&+ze~&)BHxRV?-v0($v#IU z`;H>ndx>P9C6aw7y+PllDn+t)6UjbLBzw1nWcS}&u)3CYd=urXiwGN}oL<)hnI4Hu zuNRpj%G)so|E}iyq8kQd89CiB)9@{ad{Z(A`-bm13@h`I z?@n7ZiME*H>?ZK;?&y_osUdtdZ~)?=$P)JV@8XPk?#xCcA{e@h>q!kj`<~FuQS&{|10w=;Oouxz`r)X zR#omB1mNGGb*e<`93fg~v}m2~qHnrjGv3ZxW~Xnui@xdN>__OGzUeOdW;@Y0L(new z5&!+>et3BRP16HS^B^>Q%b-S!zG)VHvmKh|G2Z?SP1D7F-9Y^RK;QJ>8;2**=uXr0 zK+|mE?X&2c9-?o$h`#B8zIhS)m(0shzJk{2E?Q@ZXq_%-oy}mJzS$0a^C2;OguWRd z`euUp)O<=#oYv_gT4%0ko$W;HRH1bY-|KLxE~0ySpnH(2d|Ocr#%Z7-qJc(>1{xw7 zXtZdcL!6C_Ho`{6cY0`~=%GDC4~-N(w4dmqnWBdd5IuCD=pnwRK@UwAJ#>)hp&6ow zdW#+!DSBwEXrQs8fqIJu8Y{YIr0AYn(LIwy_tc5*nIyWWPIOO==pHS)XCKi$R5 zt|Fn6%0Vm82)f^T)cdRO2D;-4r!p>&&zO}Ej?@U6qVDE`UfuXL&Cm6GCb zkhoem3jOgy|8?=t7R=X$-i>j!K2G4{CDeNHHwtEVq2I~*>gW1oDBZXgUt(C{eZhQ9 z;1eX&369>(@V>mAE%@0I+iaoSU3{z$VjCqiqXe_m`+{F8F*Hf2r9yM1_y-E+AP1Xa zLfI_%5fU~dm}92f5nO{Uqjo5>G#gr=NtH?|k*L)alEDALe}JWCOZgV(72l170OGtK{u50w3dH ziD!UygP(RfkHn}!VZ*B0|oz2psvD7*@H`R_6%j zdGXH?%5$U^W;qOBBoJ2j5x9@U_I<1&tyc(UviBWcH)1Q%2L*Gy*%f${z@w!9P89fR z@pqS0Hab}SLE;~!C(<(AETh)X3C$AkOU!K!j}~)pUlja{0yhfWDDdmzuM_&?1%6K8 z3F5C1|7()NuSuw{d5lnw5O{>ZjRH>;Kc%s$_00-r4Ki4In;O3l71b^RT+nXvt(HU~@1?&5vHD0w?f zFg}$Mfy=~S>U{N?`0q;0j|sd^!diB>(RvrjmE>PtExmXb*NgRC>@1>{aHsAUnsw3= zz9BL9_P)fkjpY9p@h=zryNrmn9xRv{LO)07ca%Kr zDEJ*+Z&i;8Tq6D%LQ^JinYx=8mI~ZWV(6+q05e?R;X-+pz*k8g);U;7O{wn)=3Qn^ z=*vR6qfqWB_>Wwi>LcswYrT}fdcmJ9u-7uuZnd;qzN>MyEb>s_0qi(-^NY(Fo7u+Z zX|vSZ^VY3cqTXB5vZ_rNtKqs**O-BNcYclfaemYEEXEr1^%A~rJ&xZg`Ye4uzl-(t z`f`1>zMfgfoAu46uimKdMSeZ5pVP1M+pIrfo+nbutmSVWZAqWdb9W+Io~Mpi^cCIey_IGOIMhF%ea{V z%T~;9GyAS|sSIAZxNU(Mv2tZ9ZBqCdGiK%Lxhu`?D_1XHY3enSQ@^TA{r*!1nqCc4 zW)CzI?4_!-?%<|@`tgRkSp)6nhMBW~_pUn_f1erC21YwgpVl}qYMeP^A273^!JoPJ zz-Wn-q%Jz2F(%PQ>@MQ&MZ=j#?se$;@*||$cGbtNQ%{Ur|O(|XS6Yc}JQ=idLrMvJ|Y&0u6ELs#Xw@j>&xMv)p_cV-a-3`v=eiCeCNwN z1p9;VzebtqN{j93Q)N!eM7@e?BwZh8`x(m+fnJux-rx)z|@c7dzDQJu>rmI$E!K*d=xaBd`+~TU{EBwpZI5?MC~6eViS~ zHp8TePEh@scYj6y6M6iaeqFzz-_&pExAi+n=Xdpc`hER@{!o9UKh~eK$zt^^MA-?orRE2O`}@5j&U_%N}N>k>ACvm+WJ}e{Y$hxfi}?(X=0+$(L}y@ztmnytGN#78hgFH$#Q-s@olho z+xvj-p)EaPAD47UjbEg$SGVe)vOgQJ*@qdgKQfcz@LHY7-Wl{|Qkj5H4ww;j_Y=Xo z{0y~jQ4JV&bvX!(r6rZoj=M!z;?gd>ly>7A&3xh6gz0L#6GEe-wY?07+_6{Ukc}1@ zf>hF$|I+NW_6GbLtkZQ}%nqhb@^%6LQn>uNM(zINQZg^eu6WSCZ$CuheH>}zgSDsI zvn_huo@Xz#mvFz>UPc-=ln(!0nQfFomVFcdEOKU$XT-zYi#rV%DdxsxlIJ&Fp7|%O z$nFToDLc_l0q##r$=FGDFW>>RnQB{S_XggX)>C8a?KI$lw4++vVD|y8phbmuH$|VbL+U>SM?uzNpJJDX# zc27(HBlLsx?fhlqfl?hEr7PR4U%eG+uQa*UTtUl(e_-q zyzOQHc(;w(k@R=sUjcSvlwEz4K8RMJB_BreT_*Y7R`M}a^06z_+mn*hL?`mow7%=X z-OA6ZcZi!kCFmIgq;_{^ZhH;(>reGh)vhv!JwpGAmO4^uy^>b319PHvrjGfx3z*%k zlK-$$lCQM%n+&sG3;4go{r|Fus#b=0j&a`|2Nrl5xdXryy*JM9CaZ1-Wxhk?RERSbE?ev1a!*94D!PN~1{-rBbXLn(rxMD5dPc}LG4mq-t1XAFoc z1hcbX2I9N?mP7v}X}n-xro7&Owun&M_?, _span: &Span| { + println!("Request {} {}", request.method(), request.uri()); + }) + .on_response(|response: &Response, latency: Duration, _span: &Span| { + println!("Response {}, {}ms", response.status(), latency.as_millis()); + }), + ) + .layer(CatchPanicLayer::new()) .with_state(state); // run it diff --git a/src/routes/logo.rs b/src/routes/logo.rs index 903c566..62841d1 100644 --- a/src/routes/logo.rs +++ b/src/routes/logo.rs @@ -1,9 +1,14 @@ -use axum::{extract::Query, routing::get, Router}; -use cairo::{Context, Format, ImageSurface}; -use rust_embed::RustEmbed; +use std::time::Instant; + +use axum::{ + extract::{Query, State}, + routing::get, + Router, +}; +use cairo::{freetype::Face, Context, FontFace, Format, ImageSurface}; use serde::Deserialize; -use crate::{polygon, SharedState}; +use crate::{color::Color, polygon, text::DrawableText, SharedState}; #[derive(Deserialize, Default)] #[allow(non_camel_case_types)] @@ -29,53 +34,23 @@ struct ImageProperties { orientation: LogoOrientation, } -#[derive(RustEmbed)] -#[folder = "artwork/logo"] -#[include = "*_T.png"] -struct ImageFiles; - -fn get_surface_and_logo_coordiates( - properties: &ImageProperties, -) -> (ImageSurface, (f64, f64), f64, f64) { - if let LogoVariant::NoText = properties.variant { - return ( - ImageSurface::create(Format::ARgb32, 400, 400).unwrap(), - (200.0, 200.0), - 148.0, - 67.0, - ); - } - - let background_image_path = match (&properties.variant, &properties.orientation) { - (LogoVariant::DarkText, LogoOrientation::Landscape) => "landscape/4C_T.png", - (LogoVariant::LightText, LogoOrientation::Landscape) => "landscape/W_T.png", - (LogoVariant::DarkText, LogoOrientation::Portrait) => "portrait/4C_T.png", - (LogoVariant::LightText, LogoOrientation::Portrait) => "portrait/W_T.png", - _ => unreachable!(), +fn create_surface(properties: &ImageProperties) -> ImageSurface { + let (width, height) = match (&properties.variant, &properties.orientation) { + (LogoVariant::NoText, _) => (400, 400), + (_, LogoOrientation::Landscape) => (2127, 591), + (_, LogoOrientation::Portrait) => (1654, 1654), }; - let (coordinates, outer_radius, inner_radius) = match &properties.orientation { - LogoOrientation::Landscape => ((412.0, 299.0), 209.0, 99.0), - LogoOrientation::Portrait => ((828.0, 563.0), 253.0, 118.0), - }; - - let image = ImageFiles::get(background_image_path).unwrap(); - ( - ImageSurface::create_from_png(&mut image.data.as_ref()).unwrap(), - coordinates, - outer_radius, - inner_radius, - ) + ImageSurface::create(Format::ARgb32, width, height).unwrap() } -async fn handler(Query(properties): Query) -> impl axum::response::IntoResponse { - let (surface, logo_coordinates, logo_outer_radius, logo_inner_radius) = - get_surface_and_logo_coordiates(&properties); - let context = Context::new(&surface).unwrap(); - - context.set_source_rgba(0.0, 0.0, 0.0, 0.0); - - context.paint().unwrap(); +fn draw_logo(context: &Context, properties: &ImageProperties) { + let (logo_coordinates, logo_outer_radius, logo_inner_radius) = + match (&properties.variant, &properties.orientation) { + (LogoVariant::NoText, _) => ((200.0, 200.0), 148.0, 67.0), + (_, LogoOrientation::Landscape) => ((412.0, 299.0), 209.0, 99.0), + (_, LogoOrientation::Portrait) => ((828.0, 563.0), 253.0, 118.0), + }; polygon::draw_polygon_of_segmented_polygons( logo_coordinates, @@ -85,9 +60,101 @@ async fn handler(Query(properties): Query) -> impl axum::respon &context, ) .unwrap(); +} + +fn draw_text( + context: &Context, + font_regular: &Face, + font_light: &Face, + properties: &ImageProperties, +) { + if let LogoVariant::NoText = properties.variant { + return; + } + + let color = match &properties.variant { + LogoVariant::DarkText => Color::from("#383F50"), + LogoVariant::LightText => Color::from("#ffffff"), + _ => unreachable!(), + }; + + context.set_source_rgb( + color.r as f64 / 255.0, + color.g as f64 / 255.0, + color.b as f64 / 255.0, + ); + + let texts = match &properties.orientation { + LogoOrientation::Landscape => ( + DrawableText { + position: (760.0, 356.0), + size: 228.0, + spacing: 45.5, + text: "makerlab", + }, + DrawableText { + position: (1495.0, 504.0), + size: 110.0, + spacing: 10.5, + text: "MURNAU", + }, + ), + LogoOrientation::Portrait => ( + DrawableText { + position: (48.0, 1242.0), + size: 280.0, + spacing: 53.5, + text: "makerlab", + }, + DrawableText { + position: (493.0, 1424.0), + size: 135.0, + spacing: 13.0, + text: "MURNAU", + }, + ), + }; + + context.set_font_face(&FontFace::create_from_ft(font_regular).unwrap()); + texts.0.draw(&context); + + context.set_font_face(&FontFace::create_from_ft(font_light).unwrap()); + texts.1.draw(&context); +} + +#[axum_macros::debug_handler] +async fn handler( + Query(properties): Query, + State(state): State, +) -> impl axum::response::IntoResponse { + let start = Instant::now(); + let (font_regular, font_light) = state.fonts.get().await; + println!("{:?}", start.elapsed()); + let start = Instant::now(); + + // cannot use await after this, because surface does not implement Send + + let surface = create_surface(&properties); + let context = Context::new(&surface).unwrap(); + + println!("{:?}", (surface.width(), surface.height())); + + println!("{:?}", start.elapsed()); + let start = Instant::now(); + + draw_logo(&context, &properties); + println!("{:?}", start.elapsed()); + + let start = Instant::now(); + + draw_text(&context, &font_regular, &font_light, &properties); + + println!("{:?}", start.elapsed()); + let start = Instant::now(); let mut data: Vec = Vec::new(); surface.write_to_png(&mut data).unwrap(); + println!("{:?}", start.elapsed()); ( axum::response::AppendHeaders([(axum::http::header::CONTENT_TYPE, "image/png")]), @@ -96,5 +163,5 @@ async fn handler(Query(properties): Query) -> impl axum::respon } pub fn routes() -> Router { - Router::new().route("/", get(handler)) + Router::::new().route("/", get(handler)) } diff --git a/src/text.rs b/src/text.rs new file mode 100644 index 0000000..f62e1b3 --- /dev/null +++ b/src/text.rs @@ -0,0 +1,74 @@ +use std::sync::Arc; + +use cairo::{ + freetype::{Face, Library}, + Context, +}; +use rust_embed::RustEmbed; +use tokio::sync::Mutex; + +#[derive(RustEmbed)] +#[folder = "fonts"] +struct FontFiles; + +struct InternalFonts { + light: Face, + regular: Face, +} +unsafe impl Send for InternalFonts {} + +#[derive(Clone)] +pub struct EmbeddedFonts { + fonts: Arc>, +} + +impl EmbeddedFonts { + fn load_face(lib: &Library, name: &str) -> Result { + let font_file = FontFiles::get(name).unwrap(); + let font_data = Vec::from(font_file.data); + lib.new_memory_face(font_data, 0) + } + + pub fn load() -> EmbeddedFonts { + let lib = Library::init().unwrap(); + let font_regular = Self::load_face(&lib, "Nunito-Regular.ttf").unwrap(); + let font_light = Self::load_face(&lib, "Nunito-Light.ttf").unwrap(); + + let fonts = InternalFonts { + regular: font_regular, + light: font_light, + }; + + EmbeddedFonts { + fonts: Arc::new(Mutex::new(fonts)), + } + } + + pub async fn get(&self) -> (Face, Face) { + let fonts = self.fonts.lock().await; + (fonts.regular.clone(), fonts.light.clone()) + } +} + +pub struct DrawableText { + pub position: (f64, f64), + pub size: f64, + pub spacing: f64, + pub text: &'static str, +} + +impl DrawableText { + pub fn draw(&self, context: &Context) { + context.new_path(); + context.set_font_size(self.size); + context.line_to(self.position.0, self.position.1); + + for char in self.text.chars() { + context.text_path(&String::from(char)); + let (x, y) = context.current_point().unwrap(); + context.line_to(x + self.spacing, y); + } + context.close_path(); + context.fill().unwrap(); + } +} From cec5d50aa61a229bda1499bc167d8ca21618ad69 Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Sun, 10 Sep 2023 12:16:33 +0200 Subject: [PATCH 2/4] Chore: commit unstaged changed --- Cargo.toml | 2 +- src/main.rs | 5 ++-- src/routes/logo.rs | 62 +++++++++++++++++++++++++++------------------- 3 files changed, 40 insertions(+), 29 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 883614c..814fde9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] png = "0.11.0" -cairo-rs = { version = "0.17.0", default-features = false, features = ["png", "freetype"] } +cairo-rs = { version = "0.17.0", default-features = false, features = ["png", "svg", "freetype"] } axum = "0.6.10" tokio = { version = "1.0", features = ["full"] } rand = "0.8.5" diff --git a/src/main.rs b/src/main.rs index 3940a42..f4ba9be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use axum::{http::Request, response::Response, Router}; +use axum::{http::Request, response::Response, routing::get, Router}; use std::{net::SocketAddr, time::Duration}; use text::EmbeddedFonts; use tower_http::{catch_panic::CatchPanicLayer, trace::TraceLayer}; @@ -21,7 +21,8 @@ async fn main() { }; let app = Router::new() .nest("/", routes::static_files::routes()) - .nest("/logo", routes::logo::routes()) + .route("/logo.png", get(routes::logo::png)) + .route("/logo.svg", get(routes::logo::svg)) .nest("/favicon.ico", routes::favicon::routes()) .layer( TraceLayer::new_for_http() diff --git a/src/routes/logo.rs b/src/routes/logo.rs index 62841d1..6c64dfc 100644 --- a/src/routes/logo.rs +++ b/src/routes/logo.rs @@ -5,7 +5,7 @@ use axum::{ routing::get, Router, }; -use cairo::{freetype::Face, Context, FontFace, Format, ImageSurface}; +use cairo::{freetype::Face, Context, FontFace, Format, ImageSurface, SvgSurface}; use serde::Deserialize; use crate::{color::Color, polygon, text::DrawableText, SharedState}; @@ -27,23 +27,32 @@ enum LogoOrientation { } #[derive(Deserialize, Default)] -struct ImageProperties { +pub struct ImageProperties { #[serde(default)] variant: LogoVariant, #[serde(default)] orientation: LogoOrientation, } -fn create_surface(properties: &ImageProperties) -> ImageSurface { - let (width, height) = match (&properties.variant, &properties.orientation) { +fn get_surface_size(properties: &ImageProperties) -> (i32, i32) { + match (&properties.variant, &properties.orientation) { (LogoVariant::NoText, _) => (400, 400), (_, LogoOrientation::Landscape) => (2127, 591), (_, LogoOrientation::Portrait) => (1654, 1654), - }; + } +} +fn create_image_surface(properties: &ImageProperties) -> ImageSurface { + let (width, height) = get_surface_size(properties); ImageSurface::create(Format::ARgb32, width, height).unwrap() } +fn create_svg_surface(properties: &ImageProperties) -> SvgSurface { + let (width, height) = get_surface_size(properties); + + SvgSurface::new::(width as f64, height as f64, None).unwrap() +} + fn draw_logo(context: &Context, properties: &ImageProperties) { let (logo_coordinates, logo_outer_radius, logo_inner_radius) = match (&properties.variant, &properties.orientation) { @@ -123,38 +132,21 @@ fn draw_text( } #[axum_macros::debug_handler] -async fn handler( +pub async fn png( Query(properties): Query, State(state): State, ) -> impl axum::response::IntoResponse { - let start = Instant::now(); let (font_regular, font_light) = state.fonts.get().await; - println!("{:?}", start.elapsed()); - let start = Instant::now(); // cannot use await after this, because surface does not implement Send - - let surface = create_surface(&properties); + let surface = create_image_surface(&properties); let context = Context::new(&surface).unwrap(); - println!("{:?}", (surface.width(), surface.height())); - - println!("{:?}", start.elapsed()); - let start = Instant::now(); - draw_logo(&context, &properties); - println!("{:?}", start.elapsed()); - - let start = Instant::now(); - draw_text(&context, &font_regular, &font_light, &properties); - println!("{:?}", start.elapsed()); - let start = Instant::now(); - let mut data: Vec = Vec::new(); surface.write_to_png(&mut data).unwrap(); - println!("{:?}", start.elapsed()); ( axum::response::AppendHeaders([(axum::http::header::CONTENT_TYPE, "image/png")]), @@ -162,6 +154,24 @@ async fn handler( ) } -pub fn routes() -> Router { - Router::::new().route("/", get(handler)) +#[axum_macros::debug_handler] +pub async fn svg( + Query(properties): Query, + State(state): State, +) -> impl axum::response::IntoResponse { + let (font_regular, font_light) = state.fonts.get().await; + + // cannot use await after this, because surface does not implement Send + let surface = create_svg_surface(&properties); + let context = Context::new(&surface).unwrap(); + + draw_logo(&context, &properties); + draw_text(&context, &font_regular, &font_light, &properties); + + let mut data: Vec = Vec::new(); + surface.write_to_png(&mut data).unwrap(); + ( + axum::response::AppendHeaders([(axum::http::header::CONTENT_TYPE, "image/png")]), + data, + ) } From 4bdcacba41118b44fcc6582abe6078d264ebdc1f Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Mon, 18 Mar 2024 12:56:35 +0100 Subject: [PATCH 3/4] Fix: feb form names --- web/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/index.html b/web/index.html index 9e6092e..bcd10de 100644 --- a/web/index.html +++ b/web/index.html @@ -48,7 +48,7 @@ - @@ -59,7 +59,7 @@ Orientation - From 8b139af1994862a010747ca1e105bb3da9d85557 Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Mon, 18 Mar 2024 13:04:54 +0100 Subject: [PATCH 4/4] Chore: remove non functional svg stuff and cleanup --- Cargo.lock | 715 +++++++++++++++++++++++-------------- src/main.rs | 6 +- src/routes/logo.rs | 38 +- src/routes/static_files.rs | 9 +- 4 files changed, 447 insertions(+), 321 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b1dfbe5..810cb5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,15 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + [[package]] name = "adler" version = "1.0.2" @@ -16,9 +25,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -40,9 +49,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.3.15" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" dependencies = [ "brotli", "flate2", @@ -56,13 +65,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.66" +version = "0.1.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc" +checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -73,13 +82,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.10" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8582122b8edba2af43eaf6b80dbfd33f421b5a0eb3a3113d21bc096ac5b44faf" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "http", @@ -99,16 +108,15 @@ dependencies = [ "sync_wrapper", "tokio", "tower", - "tower-http", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f958c80c248b34b9a877a643811be8dbca03ca5ba827f2b63baf3a81e5fc4e" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" dependencies = [ "async-trait", "bytes", @@ -123,21 +131,36 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb524613be645939e280b7279f7b017f98cf7f5ef084ec374df373530e73277" +checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.15", + "syn", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", ] [[package]] name = "base64" -version = "0.20.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bitflags" @@ -145,6 +168,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + [[package]] name = "block-buffer" version = "0.10.4" @@ -156,9 +185,9 @@ dependencies = [ [[package]] name = "brotli" -version = "3.3.4" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -167,9 +196,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.3.4" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -177,9 +206,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.4.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "serde", @@ -187,23 +216,23 @@ dependencies = [ [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cairo-rs" -version = "0.17.0" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871" +checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cairo-sys-rs", "freetype-rs", "libc", @@ -213,9 +242,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.17.0" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e" +checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1" dependencies = [ "libc", "system-deps", @@ -223,20 +252,22 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ "jobserver", + "libc", ] [[package]] name = "cfg-expr" -version = "0.11.0" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" dependencies = [ "smallvec", + "target-lexicon", ] [[package]] @@ -247,18 +278,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] @@ -285,19 +316,25 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", ] [[package]] -name = "flate2" -version = "1.0.25" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -311,9 +348,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -324,7 +361,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d59c337e64822dd56a3a83ed75a662a470736bdb3a9fabfb588dff276b94a4e0" dependencies = [ - "bitflags", + "bitflags 1.3.2", "freetype-sys", "libc", ] @@ -341,36 +378,36 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-task", @@ -381,9 +418,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -391,9 +428,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -401,18 +438,30 @@ dependencies = [ ] [[package]] -name = "globset" -version = "0.4.10" +name = "gimli" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "globset" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata", + "regex-syntax", ] +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + [[package]] name = "heck" version = "0.4.1" @@ -421,18 +470,15 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "http" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -441,9 +487,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -452,9 +498,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -464,15 +510,15 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -491,6 +537,16 @@ dependencies = [ "want", ] +[[package]] +name = "indexmap" +version = "2.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" +dependencies = [ + "equivalent", + "hashbrown", +] + [[package]] name = "inflate" version = "0.3.4" @@ -512,30 +568,30 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "libc" -version = "0.2.140" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -543,12 +599,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "logo-generator" @@ -570,21 +623,21 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" @@ -598,40 +651,38 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "log", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -640,28 +691,37 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ "hermit-abi", "libc", ] [[package]] -name = "once_cell" -version = "1.17.1" +name = "object" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "parking_lot" @@ -675,48 +735,48 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-targets 0.48.5", ] [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -726,9 +786,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" @@ -736,7 +796,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925" dependencies = [ - "bitflags", + "bitflags 1.3.2", "deflate", "inflate", "num-iter", @@ -750,18 +810,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.26" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -798,18 +858,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] -name = "regex" -version = "1.7.3" +name = "regex-automata" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -818,15 +878,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rust-embed" -version = "6.6.0" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb133b9a38b5543fad3807fb2028ea47c5f2b566f4f5e28a11902f1a358348b6" +checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -835,22 +895,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.5.0" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4e0f0ced47ded9a68374ac145edd65a6c1fa13a96447b873660b2a568a0fd7" +checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 1.0.109", + "syn", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "7.5.0" +version = "7.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" +checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" dependencies = [ "globset", "sha2", @@ -858,16 +918,22 @@ dependencies = [ ] [[package]] -name = "rustversion" -version = "1.0.12" +name = "rustc-demangle" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "same-file" @@ -880,35 +946,35 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.154" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cdd151213925e7f1ab45a9bbfb129316bd00799784b174b7cc7bcd16961c49e" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.154" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc80d722935453bcafdc2c9a73cd6fac4dc1938f0346035d84bf99fa9e33217" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "serde_json" -version = "1.0.94" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ "itoa", "ryu", @@ -917,9 +983,19 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.10" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db0969fff533976baadd92e08b1d102c5a3d8a8049eadfd69d4d1e3c5b2ed189" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -938,9 +1014,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -958,45 +1034,34 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "socket2" -version = "0.4.9" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] name = "syn" -version = "1.0.109" +version = "2.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" dependencies = [ "proc-macro2", "quote", @@ -1011,9 +1076,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "system-deps" -version = "6.0.3" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" +checksum = "e8e9199467bcbc77c6a13cc6e32a6af21721ab8c96aa0261856c4fda5a4433f0" dependencies = [ "cfg-expr", "heck", @@ -1023,35 +1088,40 @@ dependencies = [ ] [[package]] -name = "thiserror" -version = "1.0.39" +name = "target-lexicon" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" + +[[package]] +name = "thiserror" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.39" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "tokio" -version = "1.26.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot", @@ -1059,25 +1129,25 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -1088,11 +1158,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.11" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" dependencies = [ "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", ] [[package]] @@ -1113,13 +1208,13 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ "async-compression", "base64", - "bitflags", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", @@ -1155,11 +1250,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -1168,56 +1262,56 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check", ] [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "uuid" -version = "1.3.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom", ] @@ -1236,22 +1330,20 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", - "winapi", "winapi-util", ] [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -1279,9 +1371,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -1294,96 +1386,169 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.45.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", ] [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] +name = "winnow" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +dependencies = [ + "memchr", +] [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" dependencies = [ - "libc", "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/src/main.rs b/src/main.rs index f4ba9be..ee2713a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,8 @@ use text::EmbeddedFonts; use tower_http::{catch_panic::CatchPanicLayer, trace::TraceLayer}; use tracing::Span; +use crate::routes::static_files; + mod color; mod polygon; mod routes; @@ -20,9 +22,9 @@ async fn main() { fonts: EmbeddedFonts::load(), }; let app = Router::new() - .nest("/", routes::static_files::routes()) + .fallback(static_files::router) + .route("/logo", get(routes::logo::png)) .route("/logo.png", get(routes::logo::png)) - .route("/logo.svg", get(routes::logo::svg)) .nest("/favicon.ico", routes::favicon::routes()) .layer( TraceLayer::new_for_http() diff --git a/src/routes/logo.rs b/src/routes/logo.rs index 6c64dfc..5a0c8e2 100644 --- a/src/routes/logo.rs +++ b/src/routes/logo.rs @@ -1,11 +1,5 @@ -use std::time::Instant; - -use axum::{ - extract::{Query, State}, - routing::get, - Router, -}; -use cairo::{freetype::Face, Context, FontFace, Format, ImageSurface, SvgSurface}; +use axum::extract::{Query, State}; +use cairo::{freetype::Face, Context, FontFace, Format, ImageSurface}; use serde::Deserialize; use crate::{color::Color, polygon, text::DrawableText, SharedState}; @@ -47,12 +41,6 @@ fn create_image_surface(properties: &ImageProperties) -> ImageSurface { ImageSurface::create(Format::ARgb32, width, height).unwrap() } -fn create_svg_surface(properties: &ImageProperties) -> SvgSurface { - let (width, height) = get_surface_size(properties); - - SvgSurface::new::(width as f64, height as f64, None).unwrap() -} - fn draw_logo(context: &Context, properties: &ImageProperties) { let (logo_coordinates, logo_outer_radius, logo_inner_radius) = match (&properties.variant, &properties.orientation) { @@ -153,25 +141,3 @@ pub async fn png( data, ) } - -#[axum_macros::debug_handler] -pub async fn svg( - Query(properties): Query, - State(state): State, -) -> impl axum::response::IntoResponse { - let (font_regular, font_light) = state.fonts.get().await; - - // cannot use await after this, because surface does not implement Send - let surface = create_svg_surface(&properties); - let context = Context::new(&surface).unwrap(); - - draw_logo(&context, &properties); - draw_text(&context, &font_regular, &font_light, &properties); - - let mut data: Vec = Vec::new(); - surface.write_to_png(&mut data).unwrap(); - ( - axum::response::AppendHeaders([(axum::http::header::CONTENT_TYPE, "image/png")]), - data, - ) -} diff --git a/src/routes/static_files.rs b/src/routes/static_files.rs index 262e82e..5b21cd0 100644 --- a/src/routes/static_files.rs +++ b/src/routes/static_files.rs @@ -2,17 +2,14 @@ use axum::{ body::{boxed, Full}, http::{header, StatusCode, Uri}, response::{IntoResponse, Response}, - Router, }; use rust_embed::{EmbeddedFile, RustEmbed}; -use crate::SharedState; - #[derive(RustEmbed)] #[folder = "web"] struct StaticFiles; -async fn static_files(uri: Uri) -> impl IntoResponse { +pub async fn router(uri: Uri) -> impl IntoResponse { let path = uri.path().trim_start_matches('/'); match StaticFiles::get(path) { @@ -50,7 +47,3 @@ fn not_found() -> Response { .body(boxed(Full::from("404"))) .unwrap() } - -pub fn routes() -> Router { - Router::new().fallback(static_files) -}