From 17adb1aa638c9035e7bdc8b72777a4855e6830a0 Mon Sep 17 00:00:00 2001 From: Dale Hitchenor Date: Sat, 20 Jul 2024 14:56:58 +1000 Subject: [PATCH] Update to 10.0.6 --- .dockerignore | 2 - .drone.yml | 10 - .env | 89 +++++++++ .github/README.md | 71 +++++++ .github/images/hub_9000.png | Bin 0 -> 93284 bytes .github/images/hub_db.png | Bin 0 -> 86939 bytes .github/workflows/docker-image.yml | 60 +++--- .tags | 1 - Dockerfile | 155 ++++++++++++---- LICENSE | 9 + README.md | 34 ---- {install => config}/nginx.conf | 2 +- docker-compose.yml | 81 ++++++++ entrypoint.sh | 289 +++++++++++++++++------------ install/docker-compose.yml | 72 ------- 15 files changed, 575 insertions(+), 300 deletions(-) delete mode 100644 .drone.yml create mode 100644 .env create mode 100644 .github/README.md create mode 100644 .github/images/hub_9000.png create mode 100644 .github/images/hub_db.png delete mode 100644 .tags create mode 100644 LICENSE delete mode 100644 README.md rename {install => config}/nginx.conf (98%) create mode 100644 docker-compose.yml delete mode 100644 install/docker-compose.yml diff --git a/.dockerignore b/.dockerignore index f9baa13..ae37278 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,3 @@ .git install/* *.md -.drone - diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index adc71ea..0000000 --- a/.drone.yml +++ /dev/null @@ -1,10 +0,0 @@ -kind: pipeline -name: default -steps: -- name: docker - image: plugins/docker - settings: - registry: 192.168.10.200:5000 - repo: "192.168.10.200:5000/${DRONE_REPO_NAME}" - insecure: true - diff --git a/.env b/.env new file mode 100644 index 0000000..b596f27 --- /dev/null +++ b/.env @@ -0,0 +1,89 @@ + ### ## ## ## ## ## ## ## ## ## ## ### +## /`` /``\ |\ | |``` | /``` ## +## | | | | \ | |``` | | --| ## +## \__ \__/ | \| | | \___/ ## + ### ## ## ## ## ## ## ## ## ## ## ### + +## ## ## ## ## ## ## ## ## ## +# Build Vars. Do not change # +VER_FULL=10.0.6 +VER_MAJOR=10 + +## Replace variables below with the required settings ## +## DO NOT use quotes + +## ## ## ## ## ## ## ## ## ## +# Hubzilla/Site config # +# +# NOTES: +# REGISTER_POLICY: options are REGISTER_OPEN, REGISTER_APPROVE, OR REGISTER_CLOSED +DOMAIN=domain.com +SITE_NAME=My Cool Site +ADMIN_EMAIL=example@gmail.com +TIMEZONE=Etc/UTC +REQUIRE_EMAIL=1 +REGISTER_POLICY=REGISTER_OPEN +ADDON_LIST=logrot nsfw superblock diaspora pubcrawl + +## ## ## ## ## ## ## ## ## ## +# NGINX config # +# +# NOTES: +# LOC_NGINXCONF: location of the NGINX conf FILE, by default it's in the config folder, located where the docker-compose file is. +LOC_NGINXCONF=./config/nginx.conf + + +## ## ## ## ## ## ## ## ## ## +# Database config # +# +# NOTES: +# LOC_DB: location of the FOLDER, where the database should reside (locally, network mount, etc.., it can get fairly large, so make sure you have enough room) +# DB_HOST: needs to be the name/heading (not container name) of the database container (see docker-compose.yml) +# DB_TYPE Options: postgres or mariadb + +## ## ## ## ## +# DB Agnostic +LOC_DB=./db +DB_HOST=hub_db +DB_NAME=hub +DB_USER=hubzilla +DB_PASSWORD=P@55w0rD + +## ## ## ## ## +# MariaDB/MySQL +#DB_TYPE=mariadb +#DB_PORT=3306 + +## ## ## ## ## +# Postgres +DB_TYPE=postgres +DB_PORT=5432 + +## ## ## ## ## ## ## ## ## ## +# SMTP Config # +# +# NOTES: +# If using a personal gmail account for smtp and +# 2-factor authentication is enabled, you need to +# create an app password and use for SMTP_PASS +# https://support.google.com/accounts/answer/185833?hl=en +SMTP_HOST=smtp.gmail.com +SMTP_PORT=465 +SMTP_DOMAIN=localhost +SMTP_USER=example@gmail.com +SMTP_PASS=P@55w0rD +SMTP_USE_STARTTLS=YES + +## ## ## ## ## ## ## ## ## ## +# Logging # +# +# NOTES: +# LOGROT_SIZE = size in bytes +ENABLE_LOGROT=0 +LOGROT_PATH=log +LOGROT_SIZE=5242880 +LOGROT_MAXFILES=20 + +## ## ## ## ## ## ## ## ## ## +# Debug # +DEBUG_PHP=0 diff --git a/.github/README.md b/.github/README.md new file mode 100644 index 0000000..abfc4b2 --- /dev/null +++ b/.github/README.md @@ -0,0 +1,71 @@ +# Hubzilla Docker image +[Hubzilla](https://framagit.org/hubzilla/core) as a [docker image](https://hub.docker.com/r/dhitchenor/hubzilla) (based on php:8.2-fpm-alpine) in a multi-arch (amd64, armv6/7, arm64) format. + +# Features +- Automatic setup +- Integral addons, preinstalled +- env file for easy configuration/toggling of features + +## Supported environment variables: +| Variable | Description | +|---------------------|--------------------------------------------------------------------------------------------------------------------------------------| +| DB_TYPE | Database type: postgres or mysql | +| DB_HOST | Host name of the database | +| DB_PORT | Database port number, set to empty to use the default of your DB_TYPE (aka 3306 for mysql) | +| DB_NAME | Database name | +| DB_USER | Database user | +| DB_PASSWORD | Database user password | +| REQUIRE_EMAIL | Require email address to register | +| REGISTER_POLICY | Allow (or disallow) new user registrations | +| SMTP_HOST | Mail server hostname | +| SMTP_PORT | Mail server port number | +| SMTP_USER | User name for the mail server | +| SMTP_DOMAIN | Mail domain | +| SMTP_PASS | Password for the user on the mail server, if set empty, then no authentication on the smtp server will be used | +| DOMAIN | Web domain name for hubzilla | +| ADMIN_EMAIL | Administrators email of the deployed hub | +| REDIS_PATH | If set (to something like " tcp://redis") then php sessions will be stored in this redis server (useful for horizontal scalability) | +| LDAP_SERVER | LDAP server name (dont forget to add "ldapauth" to the ADDON_LIST) | +| LDAP_ROOT_DN | LDAP username to connect to (ex: cn=admin,dc=domain,dc=com) | +| LDAP_ADMIN_PASSWORD | Password for that LDAP user | +| LDAP_BASE | Path to look for users in the directory (ex: ou=people,,dc=domain,dc=com) | +| ADDON_LIST | Addons to install/activate during initial configuration | + +# Quick Setup +#### 1. Clone git repository to your server (or wherever you desire Hubzilla to be deployed from). +- eg: `git clone https://github.com/dhitchenor/hubzilla` + - NOTE: you will need to install git for this to work, otherwise you can download the repository in a zip file from GitHub + +#### 2. Edit nginx.conf: +- on line 19, change `domain.com` to your desired server name (eg. funnylookingfaces.com, or www.potatogram.net) +- on line 43, change `hub:9000` to match the name (not, container name) of your hubzilla container in your docker-compose.yml file + - NOTE: retain the port (:9000) on this line (see screenshot) + ![hub_9000.png](https://raw.githubusercontent.com/dhitchenor/hubzilla/10.0.6/.github/images/hub_9000.png) +#### 3. Edit .env file +##### a) Locations +- depending on how your infrastructure is structured, change the following items appropriately + - LOC_NGINXCONF: the location where the nginx.conf FILE is located (by default, it is in the config folder, which is in the same directory as the docker-compose file) + - LOC_DB: the folder location (directory), where the database should be stored (is your Database stored locally, or on another server?) +##### b) Domain value +- change the `DOMAIN` value to reflect the domain name that you changed earlier, in the `nginx.conf` file +##### c) Further Database Configurations +- depending on the database that you are using, uncomment/comment the appropriate lines, ENSURE the code for the unused database is commented out + - HINT: don't change any port numbers, unless you have to; including database ports, nginx ports, hubzilla ports +- change the `DB agnostic` options to reflect your desired database credentials + - HINT: if you already have a database, you will need to change the values of `DB_NAME`, `DB_USER`, and `DB_PASSWORD` to reflect that database; if no database is present, a database is created for you using these details + - HINT: `DB_HOST` should match the name (not, container name) of the database container used for hubzilla or within the docker-compose.yml file (see screenshot) + ![hub_db.png](https://raw.githubusercontent.com/dhitchenor/hubzilla/10.0.6/.github/images/hub_db.png) + +#### 4. Edit docker-compose.yml file +- depending on the database that you are using, uncomment/comment the appropriate healthcheck lines, ENSURE the code for the unused database is commented out + - HINT: default database is postgres; unless you want to use MySQL, you won't need to touch this + +#### 5. Ensure placement of files +- if you have changed the location of any files that you gained when cloning this git repository, ensure the changes are reflected within the docker-compose.yml file + - HINT: by default, the '.env' file should be in the same directory as the docker-compose file + - HINT: by default, the nginx.conf file is in the config folder, which is in the same directory as the docker-compose file + +#### 6. Run docker compose +- eg, `docker-compose up -d` (or `docker-compose up` if you want to see the output of the deployment), and navigate to your domain (in a web browser), after deployment has finished. + - NOTE: the new version of docker compose is out (usage: `docker compose up -d` or `docker compose up` if you want to see the output, as before) + - the `version` level in the docker-compose.yml file is not necessary in the new version of docker compose; for backwards compatibility, it has been retained diff --git a/.github/images/hub_9000.png b/.github/images/hub_9000.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd437e032254193c288276f99a3d7d18d836a8d GIT binary patch literal 93284 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 z%0DIm&{4Oq?{CiAuSGbl=yY+Jhb5^jR5q#6KqwZos3Wnmt!ea_aRq13yFKuF%LmDK z70TGCsVkw7$C@)0&DYOx?zpsA5gfqszbr`+frIoY9td3F$>mtg|G>EVHSFtYw@MH> z9L`TB1R_94mD7icdX0J!KF{#t|m68VfCj{ziO@uc1 z(cww^Sw@kB#~__Nc&l^osp_b6Rzbpe%dzt71QY^9ILbxr6u~4qR?Pk!8DD)Q{P8>f z>haIk0B`oz>{qm;9!o?EvP~ZMZPx*TjD(lnn-<4@jIcr#aCZm;Qo{VT5LZwI_Y|-_ zek%`PpvW0{_d4?2m8ax0w~-UFhEnKHm_p=^`U~W9V`Q8geRCIwKa+3gUrh{(QXQlg zy6g>f^Y!bNb^#e$MpWSWezfN$jDI4yM3K%h(3kdYxY^uO5uJ(ISs$~uv+{fDM}ALE zit*0|mB{M}2HFLB6wCJkSz9i2z`M;IXE$9@DCyH?+;3p)N;{PXJqOo1rSkQ@JS12L zQ^p(Ne~g$$6>a%53ZWf>zV{M!0dGa*Rhw%f;BTnV7UxBs0g9_a%+FO9DGPA7rJ~=W z5+LeOHcA*-WYutuEr`?YO6`gr0!K{+=Yt&D{_fQ)cKSgbii5OcH8gCr$Ie#g=Cdcr zP9Ac7c9jnEV#!P)%eND?(aNYU2vg11g}Lu^ntdEZNjI}Z$=pYFx%2! zG8>muGP~_&=tQSkmPwdBztN0Q!=2?=q7#M{s)KJ`V)kEiC|Ft+K9EzABi5cj>Xo8E zFpQspv8Me*q*{%eM=`r&x?k7i{;n$FWIV(=xCj? z1dUamjbyy@dufccof8u~-P%=}6#i_KT?UUaZNt@Afuw)2*b-27U-HF9d2)02YKw$- zweG{YS*c{1#kkU>!c@IKzVVBI82B3wv^@gU+`J&9$}}8|T3HE?dW8`Z0+#t!=ZvHZ zaltiaT4n5-6X$?E!@bgRMFEFJ{enN;L0&%&?()~%KxjhaW`Y`sa0NXNz z43!4BPbW!{^T%j z_nULd6BT4FvlV5f5A~TXeqfvdqOzy7d3EBWPy7@7kM?ok;Km`%a` ztB^8aZ2Z6}h0d9?5}rdsf+G$RL@%*g@slu&R8DRKd?i(4YT zACnbno1$#=+E`6|WPeFZ3p61xzWawoY#$hAeo0HAfgyzgU;vooL{Zm1n9BrolFNl{ z3~Z9s6#L*(cP$KSlLvtvO#a!UaJZmM4i+dNo<9y{6tx}=1aD9?Kzd5DKLvne3E^o> z!eDX~kXLjn8qH~q-*0>j-Rs9_%#j@J?B5CL~_KX%EC4rm|Iu#imHSzx!w6S}0Y>^> zB_DH;)`ovnu3wWe>2P4HZM9djvtApD3Y^eNNsNssHv!&gk-KyKjHS!8zV3~Hs+M@s zWyj(%)(@=jVuqw1e?IesrKMQpOp^SsnbxG$*Qk{*BTl7c1D>;yiIeiIc_k$?4%#z! zCa;s0Ds>0Lv0H#flAQIj|F03ze~olH0*E{!baSUy%1}_CZ#`sK012z{qT&!(DgECO7y=wc!;>t&kOL+7m~g-lagyc? za?-SB@{%MAU)ZFqc;Us_L%M3(ao)MvnKoIysVwS0xdx=c&`>-4>KHdJ&BI(&jJ*;r zh;Hh?NS~k8(IqBK1xS@e4lZqc-~26jxokO$ZlrC?*0uO$(0QXH|Cx6*>VG^PVX+z~ zz`Hvh{CbTIO!jP|7LrzIzDU_8sRyD*E(X5)Twz)>$1&JmmuyiIaqzCn(qBkx@cZ+_ z0ylaovJcfBT>+P?J)dnb*L@y+0|KtA4n~8ui8HO8t0*^t?A#kXawB^qna(tc@*-{+hSizi_hyFmBE+3OqT57D1K(SCD3;IH!!j9PrRrg;M;lKe|?Xx*4c zYs!sDypk*AwmC(WP?=*N*Oj+}%OcY}(JRO;gZ@qC)v<|Gc2GwmO<#t^t%2F`bzR(& z&)v00W|VJP3clluXIk4-E5~8aMBBpJ%gVOvG}L&xA8(Lc6#KKsWA_U#`rMI+3%M#C(SB8M^rQu z4nP*Ckw|!^1>^7??w7}UKbep5W_~n-M-A>QwG?BeGFygZeFt^qv?m>&$oUb9~4r6Cn!MjVBm;sW7In<{w8%W(8+((0M7W0%IKgTQ|;IU-MJZgU#vm9ws z;d;Hb9~k=c>2LOj`erIygoAN=`_o-2_0C^`z6R=%v*=GPd{^eJeaWyY%vJdg*_fyA-^Qo z(S4O$AZFKB7oveck#ZCmxAL>-Jv|R-E+o3ePOGA!Co=CI1-h=U7vJkL1cvU5kL&6yW68^in^n!yAhJgXG0*VCg*UZ5Blz5#Rx(+Ir)cH;RJ*N5w#tR)T86Q>E z(_7SBKmJrnWM~_+>*<<_W9)p7V&Nbn%QkRF$p?b=%8AjT2Jx?+q0V1B?wGb+=h%Y< zf4OJmpx zSG6m<-x~W!mHOe|qp7Zf2NVC(*<*&;I50MxtytgjtB`O{toQnH>aZ`B88XS-Oxvm> zi3&^D|1zWMt-DQI;@3p&<5x%!1qNizpI~nYPFjBa%&{SLmCDmiD*x+Sq8GNJGt^cA z!Y~j{bbe`EmbU1Wo~0 zE-FwGDANac9c*zkzXYIA@gKid`+QYTnD~3lnhB5Xe;S8h1^$t>$G5xlt?KinWFjrD z%Xc63pv~IPjM^K^L7i%LJ`Ovb1;)dbGpjC0mZbjErdEyCAToxa*+ZrRb9+uUwUhf4v1 zSTWGxhj&tVpo|176*WmpM4-n^C(ouvtZ&KNy{EEf8|~C1Mx<#yUXg ze}a_4hz2X#Xz^~|Z~qO}f#mz1lNRlzpK0Ne0Fi^>H4tG!J|I@1jWbi*F{Ut}tepS< z)7)1@MIFWKGQ?1lN=T!$bSsU7gtVlDbV)Z14APB)fHWu|-3>Evn00)JmPNfL?eiT#T37@b3dR#nsZUJ3Riu<-;r4>Kuj$A2}rnkV*VM! zpqXS#rZ7m zdv^U&$r35LgCC%-XJ(8V&maWBQDB7nh^qZGdPK(0Oe*4K>MT5||=Fh4LW_dTcI4R2>`A#!z$bDUy+R@K}owU`I9N zPyvb?Y!&4;#@aa*=)1GAz_fE9$cxzAWgHO&A@-y~_ycA%3BE#g0gGIZl9K zAH8$T*Q3vq?(6|`hrM?6&aco#a+p4tp`U-~ylCZdj}>p{-ZUj^i6voaP&_pLk%^eC zD%{z6a%x(2C1gP*^@?ReJZGL$*N_rI%M zQhhQP2{E`q`W-5d6iMTh?BC*(pJy1^NwLn|EZsxAOxB7&JIP!w0Ylq z{I^Z`NC;i0VK8Fbo>B#NJ`q`KS zF%9>RyhmpwEVTelZ^hF6*;K9E-ORZKAvk$|ycLm6AIHM?)K{{oNF5v^aOgqC6FS-t zpfiBMh}rEEe>G^j-c)YC*m9}R1tYGe+;FpyW(nNYahrrd~{s5995$FpX3y)l0KRsxRSAMI(PC%l+J@ zubp**^hAlP42wr%)Qz>rzNjhyvnxwhJu52If;K7s#bm1(H)p)FIo#{+f%d+l>T-Ea zBA1Cp+G|91^;A+KReB<8gBT(Wp49EyYeQGXC63+t-j9CF4qrQ%m%TyEN$VLRM$E^s zR1f=oAlv&jcd^a-_+}o>kxCjoofOM$zsi#@L$q&F=aM{@a76h=#5ri!O?;Vhz7&zm z)IL_&*dz0LXnuuj7_L5vU#dxNfUJ=z44R&ohIFB z$8%DF`X0~Rf=)?%Cqztrm^+_dP;lhQNSk$l>h6}0M~E_AgNbVj3!4|kgSQ19bks|> zgD#yho=AK&Y--1H@ccZQ6E<^=_5d4)6+QW=}Tx!V_I32*|(4-|X`;?1HZU@O}wEWOfadofK z`TKdM>JvPS$M>Y)@2H-ok#CkYb@H%Hl>-)6Uw2%J`p&J!Ve`3&yI@6s^VnfxUSG3v z(_4&8*_E?M1hV;w;nl5r!u3oBIa4avKcL9b*^};%y5Sb=Z&+DbldpPcMLG8}o)?3} ztm}b=!Eqs$=GSq%gZ%d${A{1R#VCqQg78;aaf3|09KSjJ7rh{O@GvAsNnyidD2Y$h z%f0nlPlG_!H;A%BT`Y!m6SdqUe@8F zBybklFSsK_XQsc0O4I{n^7r}T`92BXx*>Wyt!FtLotiN_$;Jn`kJf?of57!VpV?-7 z+J-AO?~@Zci8IkL_56Og0|Q??LhBR9*meg=v(z^|u{&;3RAV$Ca(l!m@N{wN%h37H z*>POAAsX`pl1Bqy?^p03{GU?M(9F+CDy}Lr;k4@@&krG|0==w+I^|;(68S%1}#2HwiUTDZ76+HoTr9l z)$Bn4+odjxTFHNl{|_Z)0XXPQB}m99W)r`cET3lfe$v`oQ%%L`Esc$XSRgi0UY(l# zdr#7o|3hEE!z?s`6lk1WE>=K6K)m?5rV^&!9+Cxwsn9;+DOPgZ$Z7) z>uUWtCoA~dys5&X+`CHkVe{)m!pri@qHZ{SLx@e??Yq0C*3t{#o=}=}66YKQBB?5o z(HFRTBlxxQYWYXTIJ!jIx#TPyO0W3a#(+(ey9+ptk+O(^z5;2Ic<1T6I;?6V+)m)T zHBb&a4wEssKw5PEZV~j^X-%kTZc2QMdt%M!@Yb;4`n&f0l`b!tKAWb#7C?;i4R}H#w^9* zH4Qww#qix3zS<*|r@7@jx3|ZAXC&r+4b2^GsSCF2zn{CDiJ#;sziR_sqdvx&4{rsT z@}JoKV{aUTFT9(`Gb_>6M%2_?pPiDCx8cR&b&Kg+)DVrQarP^uNteaazd=4UVFV2(1(d@R*&E@gTK@e>(M4MB%U#qp_n$fi7 zR3s{!7`QYgy@66gV+w-`Ai`9MbM@xyzTd2?#;&eL*ym*Enr>bg1)y>Dg`O>shA_+= zE-UZpj|5j~N7DVn^;m7RZ>4xSiznZ8O6D@ip*XN}e-fJ0)@GK2w>{r%PDuF2Z}qwM zMz8@}a9}U(-zlL!!WX}F-th*P{~Wq?f9^FehelEvW_k2MFYu~!BZwK~Ye`*z*k9O* z3?wM>%T#^Ww6re?%M(Puvp=6Db>+RbqhFWr8iM$TWmIQ2gLG?Wdakk^ROe2MZC!g~ z__PsqBC)W9Wpg_;+0~VQa?4L{( zTc+#toKo2j$Q#hEv?AE`w0?J=q3C{Y$|ggrxxRNpuNMrfd3lDTE*xB%3f&eU&)=8_ zp5DmYa2cCGAdjFf4{i57TK3M<(yLu5CZT3#h&?0Y#BaxQzG$Pgo0~dk{K-e@-2`8B zaBN5~ZjS4ep-;XI@3Ajuklxo9HyYO{joldkTK(c&n>FE z)*o-|q)QXutbe4Jq07G=Do=lL)$N83W<>nYgMl5R!FNi65MK!yCBp!{UC_v)N#(%# z)}n?PeI9~WR3@oP zcroI zIF+~Ra*C(P)CHvWphKcug|ZehOf%?na?YB+$o)$da6sbcfLp>94)l;CdJ85v0O&!9 zv_oGZ?ggABcROTS0Du4>HZ`dQ>3?a-f&u7mN_5}<+4}D{^grg0Z3vdTpENf0e`%pt zC5!IHp}t?=|K9pl7rtN^aq|L&+n~~7Rg+h_k&U} z-R&_SB*0ZG;d+! znY5p#i|5G2urFls{3=JLHbG?w)yVAwF}|t$oMyJpx|@D**6tbr5g=YwnuLZ~Wn@}sX=1^RL+nBZO z6={scju4KnS`UEDdGV~s-eg8u%KX_gS&mr32$Gkp<$!BqYl1@$<|*TO)6&1r8#LD@fMZ8; z$eg*Mp1ttOkL%g)VQ_* zUYvFhkYEtX_hj<|9dzxg&B3c92%V9<{`E-5y{s7)LK5-T=eOWiGfe4?Cv%2Vfy*eH zrcbuNU9WD+-`Q+)!gP9%7w}qXioBjV!4l%9$_5fo)x&i!;`0i3+=M3dWKY zZZ6)rv!$|pBUClz;hQ=lgsKKrMhUnpGtZuO3AeQ*4B8ZDveuGlp8@jKt1+`CXREBQ zEo}&;Yl607Y+X;xGK5AFGG?j^PyAe-sg3U9O>4(FVEF6+P&XI{i6f6ZN)3k_ANd+N zGX3hbd&x^$`7DD-%<@36^L-rnN%-6VLwGWRx zjW+B`>Q&^%Uv!nxnU=P`T`gjKROOn$hX@p8{mEEyI7S%Zna6kV^=US)3k+wHCY)cA zLhzQ=Z#CfCV<;w;r568Eb5II}?ZEX0QQ%TgJnnO;;}z{U#;>xU;mvfb`c!r$5j7#3 zd9#TyY35gBG|r?htVCprjH1{=BfQF*^(ek&Q8IvO64m7DoxYIdKZW7+l=Y(j+9{|z z#JgnWzvQ95dCnfT3$r;&!^_A@+0xYbQ0vRoGyEZkk601FAN5s#yLj7*70(nEhIhVR z>yOP&=@b`x>Oo()^Wu|8{*K`<#p6QC?3?er4y`h-p((17iU445+^fY*rd23Ri`kp% zs*GG_4fl6INxW|jeYR?XW5%q;+SXTVd*j!fdhuEH&%z(YvmF2asx1?r#_$Vr0w&Hg zmL7Z+{bj)6rTP#tJVhZl;uR+5ciE8I)zd!;%oEL&%k>7r+3_H^V z?mGIovFTm2Qghqz;e^x~gj1ar9etw+p1FLJ0^Vz7%-ScUpbEGvN7GjN7)mSOn+_>` zyU}!jF?mo;QSWpo_mT-jbV*bE#s_w+TgRo&1^6``y(rJMlqlaEl1*u(=1Q$E>5U;X z75(j-he)ivm*mp3cK)us>PVBKWyay~H#BWaIyEZ04nV!^nxhd^)fbx?$%))r+d@+a#H?B^>Ak|i z0;nyIn;zXp<0gLyjd=GLxZl29s^n)#dH}b@Yyx3m{G>-pVL)Xt5QkrSx_{?WvddQ1 zF7c`pWm`SHVx8tI>tool4Dk`#Ue(CH2o4mo7z*iHW4m6{q8Ow-bZQI@M}ZtDlPn#y ze-CrXy6O01IbdoJ(T_`?N4yO^`Qef{emJ0zOg9pr%=4a^)ph_DC>JPf)4Zt4hfFak zzx#p@dNVconLB#j-h=R&VfNOeaG~$k1xan*7CMZSPDXsXZz&lznDPZ6`O?O$yW)xL z`k|73lETgB;ko^#>JC~yon6r#vlwdxEr zEIGC@Z{-1;u4(RH6J1VNR6^w3RK+N&5(Zg?oW`c{blbNdy9)JNzxICGtnKQu5;fK6 z`GELqX?1EVPVSV3+pmW@%*)M&=7R-ck=~5jn6{x0ez(cnLH;C0isO2oGEd@V+}^zU zCEL|j&qU{iS85^KLm$`p+e9Vk^mziX#55aapmS*;|JD!)C|tjd+y2-zI`;p<)k zXoJ_%D)4!mx4q6|&8#JE+y_t6Pz!vG&ddUUqC(T4M12*B#CQ7eeg3SYL1~MN zp|@fRX_Eh9wJ3dl5tMPsuv4Ghs^;|USp>`61|afL-ka@pH=1J6r|E@*lPsRf#0)#T zeB$p?g@Q*aCSHtVRGOWWv0706I_OCLGg{SHlvPertJEdz!%sGWPd&4{BvXJzgvJ*f zaoIkEtsW9?E!VYchZYWqN({v2mqMdmuS@`Ryfn1_uOPL-SF(5^|LV*ak23cax+vN4 zUI%uuS74vmO=4cIn(hWTkdH!+L^8FHbi-Ab0hxwg*IVQikVIU+Ol)C&cNs>}zv(ye z2OO@znoN9044zP9NJsxcIpKyVs*!wj(DczOAONI}rH>0(@QBtqmn)JEu}?CmHh7TK ztkDHDRr`_iM=*=>uhRGzrWz=;20Pu5+YcmYL5<7w_huJv?;I&2xFq4XO zm@(KsY7z{_DsOf_E$0E;^=*}S`Vm|<`$g+;^CQk<`gSLeCD(6~PdOzv zBG?wQtt!71yyvfP`t1u2P<5W;fo!Ll(dR7`Ea&n3x7HU5`~tO;8;|daPU}U+`8IIVf&^c{YAc%+6vcZc><`3hR_gIyMN3 zOkkkN@TOWGOCZtn%;!&}^&prgaxj?7m{e!wDG?HSYUquy{OH~XQpHx_u8MoDmx_Bra{PD>GQj*5-09gaUomcI;4Eb?* zp7HHHVEc{?cM#-MyXxXk(zQ0^J`*d=SyLKS9Elm~jIM!od+`QD?Y*crf5ep$-SPU-Ai4 z&k~~>VsLNA#fN;3+PN9BuQgUv?|*d$I)06Si1i)(kyR(PsAUsq9rOg41=;Kha(1PA zw7yjZw_=v?v2S7JI*37BF1-bpO-!a3#T3a{jZSITGZ|e{CK9g{>Vwm+Zzw8#6qL>0 z*xJt~Oxgw}ayRlcKjz6-Jhi?cYaOqh?_WTUujSA5-<~WOQqsPu2T`sB_yy(f}@djh&Hize^4xH|Ohb~W|C zyZFoezV{=CQ!)ia5>xVOjwZPfVa2~bs6MyEyY6(SB;~g$dE6_pz~Oi1@uuQ+wddGT zSV6m{$dw#8jxI6HhBo(o`jnxeKDQyTpiq^b$|+$oJuBO0H50cekv4Z#y0T11xiD}P z>vLNV@O9~OWz)7&K{`3I=2nQUOQ!X(-b3F`?HJKw+FDSS-;PaPmjCRQ_e;*YQWWQg ze94<&gVNZpSajKHY{R{m{*I>jZVe>3Gsiqk{EC=&jM&3H>b2DRa_6MTWqy%gCrv@X zVT19vU`4TTQVVzHiBt^Q5fO-B&*V?KyPnq(rN6_oz%C)zQui;bimgblr->Av)l6O8JSie!Wm znkg~=p*K=TF}+$9zt*oGottkKcB_p4RAs~5@-gP?1b&a!N8Vz~mdDqBu@u(V8Jog% z1laaJ2|wYV%-^~$6&RB`!ClX|b#XsNTE6s5$xU^YBglMi9d1e_$!{r$75SaxZRHyW3QVYLJC+df6Cs?{n{BoF#zL<8F#ra!48xp-q@IM$)I941nj2|Wak~{NL z%3tU%+h&Bk9E}O4IzI!1MMj6wx@QEonxhQa@xlvlM6KtV^?|gVddBVqnJkkKL(+%H zzP<*GZQnu#%%`Db%2-%<2i=(iSA0D2^64-sbiVrXqB5_c?hA68p z-9FxLE!fJcLDs$0`0=vV24KEK;wb1>b^$z6_zJDt6P!vi3w#!SOm~F?+L?=ULsDJS RO$_u;MNvbcO5Wnb{{S6|ls5nX literal 0 HcmV?d00001 diff --git a/.github/images/hub_db.png b/.github/images/hub_db.png new file mode 100644 index 0000000000000000000000000000000000000000..672584cd90043dfed97abb83af4110ace5623860 GIT binary patch literal 86939 zcmZs?bzD?m&^UZI=tdeOr9qaG?rx-;RS}VvZdO2~OS(%!B%~!*X+#>NS*5$X-u*t$ z@A>cje9rDYdv?y8nK@JU%)ODi+A0LNG`Ii&5U8mt>Hz>20sx?oup#J?THEe00Du6x zng&WNY@F;If}FhkW>zox1Vs&u&6rs^xSk5|Ka-%PXXN1FqhnxFQq_FS$jr#X%JhVt zg^m06_Ethx@c{r>xp>&wIQ5N88JM2*_qVdJ!4#BLS=dEo6jXTmpLzNENefxVq)RpmwnFWP|GT2&o1zS^QqX@_O{0hH8v3g zb{W@THJ;Z-sxqF19Qq&IdfPm|v^Kog=r4AVHuZR=A|Nd)Ug9ck=-}P|>!+#MQ!kGf zY>I($0{k3$>CG)I=5F3DlH67)^~JBB9i1F;1k?}I`oGR@X^qg;($&j+Dd_27*xy^r z0XGe+Z4u!UcFZCnz_=N4#zw~7# z{cIHxN_23vRd6+?KIko^DmX%8`;UBU)Sf z(yapJ3j6|s*wsYB2M+aQMfGF8nJdUi=~(ynr643Vt;AEJWV|`-931?kV`38BJ>Rg2 z@pPtGrT3QGdi!$m2NlM=RWf&U6?+30@#ORfoSUEbPAy{hD~gd%um2wMBj4VseviX1 z$;Q_H37?&+rtZN&bZ}i^jQmFqziMG#u9S?-(&nbYo^mPca1K4Ca0}_=x60Cp9usqm zT`i60wk~61W3QrewG+oC4m;Ffx*hwIf6~knj0LUo7g)H21{!0L&3Wa&f0hIqs<|c_ z3ctxFAS~}{izxc?o`kfyENZ3PKK)y5BQ9>cpN#Dz@(o3?{KA4x)Xw2|pN)mi{q5OU zh2n&&i0Pd}0dDDZ7?&0;-ET~+{kejnC~cbXYuGdEbYH9bD67Bg6=&|C0ZG_06gvN_ zsBGx3m`m-rx`s<}G4Yc1YwgUVSf(A$lqoR-@ee?si(cm2hvItDD+O z@b`W(mdL0$nVTI4$Lo3e7=H>fzs&Ol{6VG9jyzud|19+zKk`DsZcc}+&$sAzEn**C zTrAlYkL7(^`^xRRaKH{S6)egq6}i5XKJj<4x%iAr0w8go_%fEf?N!Dz(*pxxNyXE~ z5l=p1*`WU@=~SL%A!moMC+TsPZ~};gf*y6fTE3*PAP{zRa3E$}iKZY^%0JcDKv<%W z+IBQPOFM{I{z19uox5%nQ#^=R`{ffj84?InMg~3T;Yf14xTQwa#L0g`1ilM8|B+M2 zSu6p_KL=Ebp1^}8PXJ{j2qVuWRPuW#_e`E*FN6__0mEsoeu{d>hv-ZE17N2iZWwm= zpNeaH#WG(i6iWi~DC)ZVD~F6KOy%hLW6r4L8r~AVxZXX#|Gg%#w42;D>f=FekLhwX@kIao z(ijd(S26ROanq>3cql1WW?vb##P!TSMux4PP_uuSsXUz96$mMi2o{VK_3#Oi7J@-{ zBrI$Fllt14to}Z!u`x`(c?|>dHt1Qv{TVdCDC}TiX(=~iNqy}psg0^hZOm>0PaVmx z8ui)+#prB{R)Uij3lB2WXLT{J^&oMBGl#Mn-vm0ammZY~lpD2b+E)c^FvGTe=qWkN#)KmXxTIU~0CPl#x;Cl@X z0L?`PIKxoDgVmPjZAnVe#&@3==}?QpFxsM&x35&kOr@*7n@2Zji%CnCa+jD*Yjz1V z4AJ4tP>&C$u2*tzXDYML7Vs_%<#2MV59_&c?dj!2_f-beASO~d{Pxn5n(P=(yB%;Y zx0^AX5W(b?Iq!w%VYeC;!v%O)Pu$o{ zkVE~3!J1#H5bddmR~7H)Z<;F8-a z%p~7kP)>;}@nh}UnO3bQ?TdcpfM)AaW3|snK$@=q&}PQXeVyF2=7;WSfug~p&-+`z z&NwL3Cw*3$4-}q9s-F`@9&3)Nm6mb*6e`_Rs!}qHZFX=fah=U9QIGq*UIAXmnX75{ zRG)hx*0WwOEvCAIidp6A3&doC+d`v-aPhwS*C3EU>HPHm;IGW zvMNJdhHD|tKQr%fIzy^-Z?|7!Zh_riVMnaH3-EnPPFgs?5$!oeh*?St@KO&n znJd_2o z($n;#6Y!O)7>WFlNmh;5+%nDCx8hFy`8iTs^VcD@xwqw8RqDp^sIG%4E)L&0j^VE! zec#F+6-)tbH}d`|hdh;Poc8G5Id)Dm10fN@)K*-NXcKyj3arS6L+bTIp!0 z=7~3rXjgq4##j7rZCfV8Npe@qh1)H2q@$3KU=o#Wd?M@X&c=__sL{^{_bjD;G2$QB z@S7fllX0rS=g_Y?XIL;>gbn~{U@rHSTlw_9Q1;= zkU4-8@z)yAZbUqawEKi0@1aB?IJ42%h&+o>~@=6`!0l|YptGL#qwpj$qcJ`#QTO930F0}8Ui^mKGF zf%@_yAYwB{I3RBhQa}Q-NB}TEf3T?#6Rao%xS8nxA<{rT$EHFL1ET~F=U8OOz;7;S zSad^FVTbx6hrKGI(zP|ppR(d>G zaiuNNc|K5WPN}{8;Bl%NEBzB>oyBr0w{dWn?&U|=L zHi{V6$I+BESLfFLzNYRp-Q}_x<9-F&b8u;1G$GSLnxMG9Pu1I7dV6Ik z7A`L78(!Q{^c5m8tHG7I+eV~&u-~Oecg7di~G+H_C;WR>}>U`jI?$h(` zgKx&jh0a*8GVmXvFDMRA47jESUX$ifcq?3hGt;kc^=`D@q~--&Ec6{ftz@m|rI+8C z_jS*9-mSIfbhelG7%xw-?eq~vEN>jI-tZC4I-$%RBdibZ#_PTvxLA7YFVrDN_=w4Y49xPA86Ldb1xAn_H^kw4EpK^snsDH0nFg@Hx8!Rs%qAKPWz zuZhn)KWt@q$$UAUxiQZQ-e55y>a26Di8bGQ3NQ8H+DvO-JQ_LNrJuhY0b9Rx~i)=f=S#U z=;%1rSn^W*eC|B2DQ3_6DgB)Ll(KI1*so2T`R1)X+m*4+)4S!}!~Inq5gBakxbms2 z+6%C6xYxHpoiIIA>s#?=yH%Mc{PV3&%4&a=+%W={=<1$*DA)UOu3pZWRW%|?$3`d;lod4wm3@gXheB=Rjw>q_%hcXg8yGg3 zM`~17Hs@DG6cw9by40)bs7hbPuhPjniUQsd*Y`s+^n!x-p)VjecU(uX;h}@O_1^*O z7dPz}swRP(ooNx~pS!wl`CJYQ>K{{o&drV=j@zW)d)yxRMx`?>a0lw=`ISAv%+9iO z|13Pokt}{(W{TD#DXestv^AtNMLZx$t90{^#)UZBn>63?^yL1fxHDTLNg=J2sI%;S zMaLeN8#`};K|!ZX>W!SuTDmz)MoJcjZ)5Gw6=ST!)j{Bf4YOifd5ver`lF)mNw50- zlpGSNli3B23Il&?PdbZlh}`Mcwsq-_0TwRU$j+}IBtQi)!~D`xUZ=Js4bVJqcqicH9P)wsTFIcQ$GKqtAdj62C|B4<~7LPGQ9`hj`b z0`3eI0t5pvkt!m;I;8D6bxnYP5*i-{Rk>X?bC< z)%&MJNG&9$|@KD$k`5L@9)}|W&XV*Lqp6JK# z{_Gone|VkqL{9aiuZdG{|8jOJo}0)tX2~eOy zHj~a)S{BvpO~wq5OBR1>k*FlmG_sj*3#PilI0n*KF17s(uLk%wEzl{JcBd}1rntdUw$5)l;UEtu$ zrb*$8;w-LvU$K7ff1o|p81a_MHjd_i!0J39gL4|#a?XM)(9Uue3%|^h{iLL{;>vOT zlW)XFRTQ1gDAZ9noX{ymimYh=DNJ{JdH(t3tyd)Hlg@PcOt!^|Otg7fvP;G|MQeZ8 zGvAr47ID$8U~l%TYFG*DoB1Z*+2gmLvfiypYf5CXmz`=6@?)1QDRubzwzdbznI#+V zrK0^&+mRX4`~8!nJb%13=@P1GxkE=Ns3B|k%8>tqK?;*y1%Usbj!AEm!>q;ZzCY8x zrC~Bx955OiE7iRhsB_4~&Rx`_9luy?5pyE>oN2~Z#V2TQU+Uq9QSqTa64g7y8ceYu4>9+NM9FXttF6wcTF|6csYw%q7~iy<}FGdn9GX zd8?(W0ItkKPAl0*b68IQ=PkUCZ&Pb)bNl$L6sj$&_*0AIG zTTyT6i{v_!ME;;u{fCcjxr~G=YN>SJoxMb#OlZ^{#CTu+B^2ybx3lPfJD%kT)!^dI z-jso#+gXD|MKIgh|633r5$_CyAG6;7q3<`#p}alr>ECnf!o8F#!=(bF9T@0Rw4YpW z8O2{m`7p9?rMi}j8C0PMV)<`w3=p8X9GKMgS5_o>Tz@kJLWG=ls0n)iKidU{LFGQ` z0)J>#@<|X(*dVHq{4RWC+5dJK4Uoi8CP0Ch3yvK^j2@H6z?UONPbmP0GyV@OF8J`~ z{{iRcRiU$ua7HK^mQWP|4hGhJ$u>~t_y;|eF&IfW z90uT5GZ`RdK~@UbNJh}Dd>LA+&{T9eV3Wgi0VI0;%MWPE4r$~8Oq@d+zhB&_3lhX% zVe~{&BwrYMhZN8-|AQIBhv4xdu#hlydmm%`TX*Y;(5hNxdHBvvoxXUdaGp`8cjoqC z7{dW>a|0&O$qM`t2Eog?K%y7K2l1_6sJTL|_gnZHgfLkxX!khRj2$kmxEHQW+3K~#%-r(3z)#`I~Vvz<%LI8#n+-4I16ZsM9no~^< zC>RnUZ~j%;hjXo_O_mw{^=9x=Uv1L<`|9;zDSK4jE^e=eU18$@yN$oWA1x6o(P475 zJ<%Z|mCf~?jy|nTKmaN(en4b(>89e9M_n_sVXuqAJ}BV(=P%_9cUU7X(~vD~c|#Eu z?llo_)*b?a*ZWH<^UYXT_3MKl`&o~m_GCPa*I|J5=5*-RetTi>ICbRVXtc?^S)o*nFdvL zp8i3w4P$+)B89Pd^VUw!w1ERF305kzfM*+=dDc$JLt{R?)uY6q<|alUO%Ei}(YMn4 z0??3_(zbuI@0TF^;D}Dr1AG7ncjWK|4W5D%D~JkU0S^9NL~quhE?Rk6&n^Qz!cL({ zLAB|pX+17F@L2se|MrcKDmb1eAf^qpGjQmnyM7t%#Cz0!u83#!XM6W@v32KE`5qbE zoUS__e9~9eCvZpno5EYF$$UXq2i1oZz*y;uNuuElwJvSMZFxQrC;zAV4L9mAOC#fS z!}(uJqMA(U^57>NKRh05M1%Bm6?64e z$Cs=-KSWj>=LMenvNW|P?j+Y$nALqg%rbngFz@bs9wkvH&M{J-(p6ohl9y?Kd~sIr zV8yKcvz2IdPcz%GlwR~eF|E>3NH{ZK;4&5c%ujSh*t(nHPDl8tl z8?*^AU?O9+*vMUf<&|)HK#JF#X}4}~fUV;B{VaX7yJ^M`Y7Nl{x^@lUkgVs4{`l#B zW({@d`~KAc@hF{#flcPS>yNQGymcB$EfDHCbaLZM}mfc{%+HM-%?7x_w zv?-ondV2x1hr(-rcHiK3+1SnqUv<^J8HC}CSQa?F{cU!fHJ@edW(;>J<14D|C_wC@ z^BC^GO$`P4;B`=XhrnCp+D`Rlbn=}7&s%Cl4h4?KFJ74~$2a1AZ{jzxmQx#HkHr7| zXW&poPRCE&%SX?kyx)K!mBg*40FCPr613yC!0goXIm6V*zhizMP|q*=jk?ZiGI2%3 zh2(Rx$cJRD{Ju+wQMR?7pu|m>!B0Ms&h}O$EmhP#Ym25&9ihgbx()I5H-UozZ^J1* zX=y#YIS7!S@81`VV;AOwGH^XQhZkDq~7o6`Pj)d&|FF8GNm z^Q`?C_IXG5TyK}H-9-1OYG?#RHJce;>4!-;6P$oL}w+=B#g7ke-2i#KH=gZ4tn(3ttL+ycM5SuU$}4n z65OHc@Iz_5bjaxFl`RoreikSC0DuDf5@nLQx*7MN&JU*v&dCI&r6QP6wt}b_m#cr~ zBlT%H@_zr)oG*)AH^ssX8O~ z-cKMso%h|EsZKQ-*>xt=Xr+A<$t|h)SnI9<<4j|XHY$@=wOsn{NM-SllJVt><*nDp zv%=O7!F|7XL{{ivk?oe}dBqZ{f^brEhBRqz^w3tvzfb!?+w53(q8}#laj3wJ7D(z1 zgxW?5^${xG_|^=}rfIj94GBkN%_Ba%C+LXKOZ8^!uL?+Q`8j_ie?3K%a!>Wbg>iuL zIc|=>mG9kiv(9h7BS{*IUsWDv4HgGIbZ|*b=Uq0P%U@LOJ&)Y0Rbw0f9qa_U!_7G6 z6(XJzmiZZ^edEhObPgSsctmm`dmHlh&h~2vo8z}SmNTD(VuJL_5b35qW4T{!Msf## z_{@<%jC7t39V#Wi@?H#hvHtm0g1iD79DBwd^aeexc&*piz(TquG#UE!Ysh^f*W3b^ z9d>g$f#}Z4#aD_$Uz)^4?75-%gg35`yOQUGB0Vu<0wgDKmaF)w`FHGP@&*N~k1y`r z>sGUt^orgmd&v=BQQql{Vr46m{oWSYaYqI$6PGT%`5Yo)bwgDEDm?di?~<<1Aw*a6 z1{{vyrF5O%K&0$V4``q|bww2!;kt_8ry%!h-e_iRCi2#;ZTI$!<4R)8>nTf|3c5+W zEwZo2y0Q~b;MmRE;Av|dJTT^GD%Ut2P%;}>I>MPiCFQK5=&P3Tvt{$EXjCK3t+p5M zCazkPwK~PY!MY}r*i{Sacx*OG4C{A5dKG@V&uv0L%yfg$w0xTaF!5PsJM%GdsPvFV z5Gq(Qa0f=OL~ zEI6DDeG~-=4?_R{zr!Fv6$zm6{NDw@p+c9AG5_z9oPv0P1cX9B3;;06?JZ;`#^BmZ zMnOp_5%-c31hA(ZGyXJlAG4%S=H024Lj=OBngErnnojnb ztSK-f05Uc~!q9>;y4(*N44J)nH-EHn7uUoDg6KYnq_!t_opO`mu4yB^$k1#F;Sq+r z?exD!vab?%?IchRwa3qgVE($f5JsX?#$QJPn3@=a_@c((ss@BhFW(M*q*B1tvSs`G zI*v#A_hc6JppWUBM1h+yGS~B)W){24Bk{mbL6{ZwzC5o-;~0}MXwto0B5|5~!4%hL zm^_o+i05pwmK@Dch^_7&4Nmjaxc{~n$_0{Z=febD_-X++rX)Iln2&uo` z(j$GeqzM zYV>Sz7v+2Uqd7>otDGO8dGEzHVI>E7ri~OPsUeFSY9=lJr5CbP?MOIr^P}n+KgE`M zn|mGBO$kF(5v>Fz(eaY{&i-}sN!BF`=dG8zdjG~9a|r{%XLVZ6U&jx>MH)t zKm+NEB`H}Ac^4FZC83bjU-Bg7 zHx4{@^PZ4WUra8lSO5Ewx%FLmUi2zobtkLiGIob(-I)%DD7dtpiWVLoepaD90<(_-+Ebn7Ukh1Q)Wr9bHp_HNm8`%*MX zC)BV(Xc-^C!yr#*2kC$b)-5jk085sH^?4vvix4>XK~ zI%XiuXSg;UWGva}J;_g}w+O_38tJKj`(y2YU(Zx}&saiW;*`QRyYaZ&5wcVa;jG9v zH6Nj!ZFSFjNEY9qB^Zl>)f|Pa3d56ebSZJGWWiqeYf^+&sFYpkdo^X^@t(egVDdpQ zLDbj>QTc*|E2v`*A_Gq&!`FN@lOlq{K0KY%{`r;KsDy1V`$vq*H2uIYNEMpE!-j7Y zg_?+#p2-iQlMuU!d(Z?#0S}Py zUkqUcK@d><|A{PvV03tS4gSyV{_hx49FqExLx2i~EO;>2 zC&V5HJbI80Nab!ef!L-5rL0teoBd*(oF@3{}2E*Y#?Jr!k*{%Q5-QwVDun#k z`*>#v?)Vmc_|V}>><$+l9%n>BSt9T>a!j6cv`5FE2>`Eu2wg^ZYs|sVBtw+Z#|4;} zn*INXWO%+Tmxx^o(JY=P-XC;Cux;2jS`m^KNQg&J0*GrJK)o|)(t!{00-e(?PgB%V9o+cNaM0c59?ZanyN z{M=E3oxDngi0%*$Ak*`StRl&Z%?fzESAAX8(9L10Mi*rXbw^ zW>}wlFLw5l4NdMGlmyMLT@2}XVwPh2*Z2oTX)5bHCjV}ZUf1P8a9UDCfg1?y&DN=e zw(V^-TH9YZKx(+Y@r>7^%+<9cjms7M_xZZeQfO9%P~>^ z|2pjk1KZr74YQ6Ph85*a8*4Rgo4XmE-3GrI0$TR61DLtmQ_w87rj;euaypJkrrb{7 z!u_&0OJDi{*EyeBc)9U3cpU3+oUb|lQ-f$h_;C-YbQs~E$NI^!CGuA!SMp%R#=~xo zzoxz^4U#YR?@N)VIRjoB0u8D@pr~gYY};J#U!)L(r*W)3ClUU} zmC(Z|kU(rx*E$xF#9u4GKRbz~{OVSrF4E?Hwrs$rR{Z|^K(70K-9c&FZIG(@euc%q z@0~%*SNmekiy)w8h6OeKmyTKY*g~`^Ftzzv@a~k&W3xE(^NK#2>`8%q+u_Q!rXF6a zco~OBAn$~cf4Aay7q32L*4sUZ(*ID3mqOeg=a1daUjy>Z5IS=z^ zaQ&!k93^eA^F~cgg`kp~6>KYG^Ql3eq2?3fW5c*KDnyTt=mbl3_H_ZlYAw2YDvOk! zcj>i$usm6QaC&-s5)6(&5Nw9J^u`Ssf69tLs6n&e&k5dMf#5Hg;nf5)EX}yrE_?J} z@}Eykqdq|9l|ZcqauPU~Wab#ZE3@SPgmnoEc>{FXJ8#Bb%VGX6em?&|*JhW0XV2uN zv>b$JGAtClK6FX~JaFi4C#dySpzO%ru3*ppu+G9HI`bLtGyD1+i(Z#sjXu&z`;3&} zBT*r5g8;xR)`&E=j(fJL=;$5*z~SE(K=2GjB-5?*-#k*18opCb-3%NALJkSk46&dv zka>ucUbX@l6aa;y%f-y7h`gi)Z>rzxMIf|beRt9sO|(D&Dqf}vKfPfSPm0+nDcC`# z9C1{Mf3g2Vm=p*&j!!9ofH4uQjHrgTz*)XRYjimof#@Q3eK{bV#%jv?v7g1=zixF_ zV)q=oL7?nc?#pe?Iwj6o27n?1@kjk$jfaQ-@Q-!1r5(sxYx{!+3;^e7JfZ0;gTm=BRWkA@geR>w3CN{2Kw8;&TLro0einc^Kc(%fclD~gyeoo-x-1NbzYxR z7Pn<8(}I)D*B4abcJUl{g8KE#fkV6!!H;@$uc&O@GJvtG2M7~IEv$9=4WgmLv3yQuB zx_Y&a6+BBL|70g12&nOZE?j%fXS;wL=GOh*2LAC8yDQ;)8_+F3!CS3zopjB6x$#HD zZ8N6oNm59v`_4)0^-Yp9>RZn8sYy=U-6Pt+gLZyBeR&w59e=UC!JrT{kK^FfkG!b& zxJ39qn-J|E;HQ`S`?|O9Ds@0jnTb?&)IS{e!9lvYiP14pEc4vx9T+@&0#|?Y{L60h z2*rmgJ2~5ihJN|!lleN5nlEn5>|?|9@u#Pm^p3{sQ_sIZ9=#3U=2bV`zd!z(j|5IlZ5wI`arEeIZNu`*xa+#a~ZR%t<(0;nmP zrdFuxTQs*Uk(?t#L&JhNCgqCN;onMUr`<$ApZa|+8vMQ~R>WwC78MEY>*%j}71`ay zj2j}GRZL#s{wR8iRxdmb_yfVr+W22%#UVO1ohiBqkT ziJg?07YjQ>AZ4y>VTo`H4PPH`iX!s48D8Zb`AciK70vO`z;ZC!=3}6IzA_z?_OB+a zc>MkbT4D_0iraxoTXPwJu&3~U@aza@7i%7H$DdS>+7CXIft{f-L@dPl%P^(P-$>e-%O8h#x;95`ivn( z-!S?)Ap|p336}=PggzC~>B;x^avH5nM;pUA3W?SGc}MqAHM%}_k2DIOG%>9i3Qkjh z!<~D_nDv4xKqCI9?(c;8WHT53Q1yFLe$R?8?pS)3EI7&Jk%CR>U$l1}gKoO11*<}a z)63!X9a@K07<+7J1}re7DE^lL3O!^HZH+tln*8TYtm>|lDzE6#P)T;5N*K1uqFbtl zT(xX|_6)C%5HHhmql&j5 zT|m(?ziiyp&S`YcG`wE3>!RM6j+VW%H|5phmw3}YruTipmwM zlIfM`eI!>LfhSJ*wm=Q&&=hCJyONCHl^jI22J98aiUOr6w>3j=2Vfm=XPNN%NCXC1 zjlLP14d})hiB2~z!vc|S)}Fh4>|(+*MUqqRL`_p0Ue^&?o6PZJxNmE5rKo{peX zppnDQ?%Vu-T+3@-8qffn<9t0XRNI>vPkfwoTG_7i!|71a3A`4@%On!ZDAS&g81zLE z1j$_LfO&90Cqw4AeqC(nltPgiY^(CKuq&N_bCf2IY^jy@+2?C=*wjp8E1R= z=lRh`t0$<_b<9V@awlMCnv4n+uyeONC(Mu_lJ&ruCXe3WSV47euKs(dOVuuUDXUGN zD@7^gYL)rZ2_oDZ5ORYFg^H^2@MlElGZEOL%q%Z3JSZW2sE`6Y{(B6^Rs-u8c6@oF zl1djVlLNGT=C)(C8c0D04QaF8*i?5hA*-S4L8KV-inZ+$JJ+`F%;c?*x2GXIRiF5< z(dhqC!pNCGSV6Somw z<31M)8FLfxbiMm@G~KXoyo#R=o#R3`6K#~Bkx zMY+gX%@azHcqPjCx)pB~qQV$MvBP}oL=t^eF5GS*5+fH^Rx%{)mltbH17~7Cc<+yn zF0$Q&muTEhTbmCaT0k=i@PUj9gs=D-MTM*wBy z`jr5HWo>DcmM@Y?2g4|jU=@Ox81X!Y0aW!uz}JbNyC8{U%KvceA;kRS#TN;82Z)e7 zam4Q~3ndT?3wtfqxgoZ|{UPnY2$?CsWLu|Z2Nr zd!2DkCIms#mF$}TH=}_IA>y4>H{7c~3cyE6K{a+=azVjb@51K5tRlz85?FqrviXj5 zhc#mW3-nJ)d1rtb_6}(Gd)puRG`w+Dl~mRJJbrQAhlce=YtxeWfjNEwZT{}^Fdy3w zuN|2l=;wS#SE&t1fuI}=eDHe#S7g`rd3BUIQ#d?})h^y}G8Ai@5^BZ)tTe?^eHRmh zbHItq`U!o|Z*1H%*01%SWx#j&Av1=$os6Rn7%*#^K^&wml2JGDaScVSbR7IHO?rpb zuFRUa%nsk)WMBZKwSW4Mc^O}#s{fS=IPd)G&DA{VBXye+ zqE3daC;He2_nf-3&ig^VfeoioF`;*} z&N4&cxP)G^;~DuCQQ_gy%aNbM8<7(6;PnSFg5@1xC^vpv=(?)U42%v)20+D0#<^g8Li2Mc= z^*YTCz0!)0@0Iq(&7}x)=HRNDICzHp9~yr_S|0^XZ_lOYLXsYHY~fZX?hgtf!e#0q z8rO(;Ou(g>shfGY<_d>@HEPm>@7?Bt|DhR}*9&+B?c)f|I<^jpYi$qJjxAM~*p#wY z5El|QWzh<&!L%;!)wRUb4}A}7e|j;jQ=+hPMumLTh5eJESm9*lvVCuTxDH{X`xfx| zj)(BX8|zpgdNF1-dT_BD)g)G$@j+t5d2xjhPNLHP3fI?>iJ{M5@nq+RXJt~G(?{1f zh5+BZd(N*ItPgh3n)9oAdpg&t4%!0@l`1Hz2g=2T__Y9NZgNxhf>v_9p8BiCmJ>4{ zrju%GGa;FmhCeHOauI;EiWH%*m_kgG=ijg zRAxg5i+jnKXOt1NiC@E)r$0)DOl-t+K8w!Y{Nz2-Xbw;v>{&fG0O~~LDfIha;SsE~ zF%KWE-uu0a!5uj$tQeOJdmk*c2Xe@br$Ba7A9O4c@Ue~l!-OpnJWYpG@y1JRfPTf6 zZ#57M{6H$&?e^fEikXL;U&M_(!Lnx4DcVsdwp2;$Q>9V2&!w{Ua7ymT3A|})LLE>U z2oRb8CQh9%HoFSMsB#)k zLo0Y!DvuDKaruI!&42@K_{Ug!mO8Y14TK3^#3{rOrawEg~2 zi9~bLCp;7}N{)OIm(WLcJc@ZjD%Ae;N~JOHQuB@?me(V@0@C{|Q;H!6au1%tGs6W^ z@mjGgI>t$m0$7KNcCMJ^;UJR^v21$H($XDa!gP?2ADi09i!1hUtar~tAebr15a~f| zhYduauLRnxsXC(`A2MVw%QAG7eVt27gs{B}lPnpq+IpLw(tP7P7Wfi` zu(960BlJ4JE}QANWA%ygRL8@9B8xfX@Fkd>1UX$X>W9Tcxl87;imW>J`MATx1BSO@ zNqRexrVJ_C1vo3?uy5#GgkwT7rQn#Tcerb(t8^_@2{*VuutU{gv5tg_n zY^T2C>KW)Yx-4N}#@!aI^XdPec)G%mcHT9m}U z=qy0-!6^w4wph_Z^@4Lm0i_VOfgP|Twj+2l)70HX6~gNs6e2R6PwIgTdPg}fFA68d zPUb}jranfDxXjgK{uguX0Q0lZxXd`YI%T?ZLMmJ;sF^I_kBf`K<4%~Cy$g};0lNw@ zVBw?V7VlTcIV#VgJ_||RPlGHD;KlP9n63`wDY%OX75fc&?}k-# z&nHb%$#c=ml=TvhUj?+a9qiCG1rZR4eW72j%D#I(;75;*j!eIT0&vZ|+>rYiUzZ{$ zj|R5o0h6Cng`9{k_k_1#E;+#8qcneKAt=c@j&PWL@h2Bf1E(zA_Vl{%$W&ih-X{s$5q$Y3SL+ z>j~FdZpqa7EvBR`2h%wE&U8ebE)_Dat*8WT1PAz^Z^?SBD&MU$LE+DGM~wZI(7Dp$ z`60{eyLTl19P968eZezEB{zuISXkMnpp(ktv6NX5m6#Qsj;K`;I6de$$l^>p6A+!F z&Fn~}*Jq3)HjpPw4`bR=)tJr-{FfF!B+ZSbNl`s&zS;SB25yMF7J5<(y^D0Gf<#k3 z0rnqC%)8N2ucML&!D(bTdcR$H5t?*k53;{$g>f27YZ(OHdgebU|L&JvAu5f2^2L%6g#0nidpO)zyJtHc5AQTx8N>YurL%BHe|qQJr+r;@tKG^H6*{1=w5) zb1wcPtObh>{sI?_d=fs24;POc5fO)XKzUz68Db>;m%ij5c;m~Vy|GW zeVXlTN|HipdrIb2_mUrrc7+$vUUDr#;vCKqAY{HgTH)3=5w9)TdC&qT1 z3nT@W82-C37PmnLo^23=da0kR$jGpW4xDaO`(pgS9*hEJqnQf#^K% zgM*jvJ}?ivb_Lok_) zLhu;=Y)|~TVQRkNqtrjp`6U=UL$3_-|1tH~QBl6nA25C|%hH{Tlt@XZbO?x` zAdNIEAyU$vONo+_B8?!Z)GFOeOCv}lEFj$-%fhqo&-ZtJ&+`Z8z@Gcu*UVfquWR<2 znHR=@$Vdf^IY&tz%mhMeIv9` z=iOvi-g7R;XEJ0$WHA|$YtTyVQQgId1`B{o7nS%tc#3vBYLY3CY(~G$6=NB`8fA3d z0%@@;dPvWrk!e*3yuF)Ne}lF^X=C2sI8ixcbV#Kqs*M0D$?)AJF&k}UC>q)5f0xXM z$216NOSp0&4%rL|Ak{%%B+p`OsSa>&zr5O^Cli}dT+d~i{s=`*QDKZyiIH!Uqq^O@ zHt*`r*X4JopHy(bhfgL631O*P%bO#d%HZ(#OCTYA5H+qa5iJfZI|z2y?#cY*SQga= z!&F{Zpl{f#5S58iG2c*BqE4?snv4(SfsrsWsbb>5S)xo-tSC`>7bs?BN)a-bA#X~B zoU}fZ#mO&6uaLuNoW6jVLZ~uiqKjo={MbJ^K_s_E=P*w3o4I6rB`fl8OS0QniO1iT z)DEeocwGUlCwK@6qPbQ0U>#ilE^ZvRVub{J4QW%=Nngf>%w$Uzb%2~lHG>@f0%iG< zq2FzAz5py?Q=aKl95er0;S-Y%sm|6~_u#MRY5hr*?=zJsWoPbc(TJUHYbi4C6Xhbd z6~dmKm8!3mNmgh1yqXDZ>xUgs=bi&Ez4^Ak!6%mTZPGgFEAXyrf=IGV(HTN-B{d<~ zw~?l%Ch|oyQ^1+$+0`H3Rg#dOmMw4d8+2ch!=`X^Uy0UoZ6?BN5?~mpo*E)F`l(zg zR8$dTqJPl+G&7<$S7E(kso9(4Ewq@;2Ct`^PY0c`kvkb=jez_ESNkhte9k5c!U6d7 z-8DQ@v-ag}TdLK~#FqTqzlL8kK~j^cE5u{ihL~hxW03#qxGd@&FcQLw12yFNp93U= zk!+DtRHmQ{O!p$KUYjY#SHUcO)@u_Z7QI4%0oFw#@4@ul8hg(_wKI8Gc{7V7aSuUI zw^g4y(!nCA4aIVDprIqWDY@pbHT*jhkiC5K2y<)Xii75|rZq$gkGb*y3o;pbc~0V{ zF|IX3c70|rN9kMz3!yyjNH2Zct)q-{Yl*Q)P5TM2Ro;;?gj}TTul;~A#;4kMn@3ky z&RShJ+;{=kKdoz8Wfa32?=8uH^#mcDojO1}+#jf<=?eq;YW!%v@S}`ae(sgD!LGhv z5AV(zPs)0fc&%pPII4qy>P#h4L?7F(gCwb>RFH8ub?o%3-GWgNH4CxB;g6wEK+)?| z@v`l44+XM@I4er4leYxkL*-p4Uu-ieA-;z*1=+W|W{Q93n$4`CJsi6KZo^_^K$c@}PEa(Wo&8!S-|z>CF5vP%*K>gGp)C}hNgo#^qgA`9 zzfVVl>844L4`@0tgKnOrh#!misM|=j!;tXr{D30EZ_vd*cVrKZaG4Htz3oRD@Rq;$ zppDVDV$b4ZjWAJG#ANbl^T*R!--{qAeG)ML7J&vK>YkfFcv)j?XXB2590!?tr*IJJ z!rC+GXwWDHOO-~IuZO)6^C$Q=YfvPO;}O*YFAN$F6*X@A8CoBHV37&77l|DIU9vbw zM65Lcs`l?x4noS&jZrwNZo+jHNr1R##)XdRSjQX06|9LdV1n~#ThrBubUl3{h8Wm@ zyq=HgGsDhlEDIC&KZ`zxbE}Q+0HMi(FOpX7iGP;^Tn2^lMoFGGL-ETMl$%x2MIVmW z&axZTzcs_AbGyACNOd~SLGF>7*JUBmbQ~4;44jG$?b|W!}21%`m z6uSzL&k&;=Ams;OEU=|+P2@K_c@xThEU_(OfcKo_R6hY-=77;XSob6FL6RSo0Cf-H zZp~!=H2dE>{K&sAFu6}@!qJAHC|=0S)Kjl93z#B&O>L9UuXEtz^g)kp(h2!!kDn46 zSZK?S#`I%PCGE_4kbV`vEhw7Sb>O49#RmfO_d3A z(;>Et`9r8PCb3bRo#&amx790QY$`F=`-EOx?!XWEtz-9;#@o4HO2sOe%`uF&sUS6{ zOMYi#qe?zx_Wl?o1Wg)zQ7`~T*7Z+(7;^d@{3_deaIEgz8U!D-D?Nk~TB0HuCmdxL zZ@CK9#Tl9rc!Lg@!NKL@NL{qDTNdHKo`5-F${f74q!suQp)JG ztw}!j1&_=Ux0Q7QjZ1}3F;4Ep3Z7uFBPFa8!&R)VsNr%7t z@Bf}WmW5Hqq+#!QUa$sc4?iTEsjIp;o18Une`wGM%JfyDcmMyr(0C|finrcm9#l8{ zA+OvVsH1+5J0(O^8xJHl;A zB3ea!k|5;u&1*ARPa6AhdOYmiT;|qIh!VgWJhB;h5uipgP63wuv#EX_d#3<_1-^L? zRmntn9Kr)R*YMrD7C%xTzdnb!N6Eva2!`;i*RZD((6SeK@m+LYV;8=){GeX+Dtzgy zN7O@uS775^P?_Pzx-juVIhO5-0Qn#h;WYf?q6o;0cdej@(Xw-Q0p&{@U_`u#_j@#^ zNq;*X4rcM+pu>UES^+9d2m~_D8~I5-CU#N9iM356qxHv>1LHln9FOIBnQj{h<6G;g z6MuHOyds))6m6>Hlih-_F+3t#d|*(VBZMO3V{_h#`tD!^2%92TPCWsHw*oKHyzBY` zHkAqB@)r;$;Up1p(a?( zR0#rWU~$uwmysp*i1cG+CWau`ZSX@pA|D!PG70BLt$lQ(%J8G>``>cOz|E_@%8-lg zS2+dmm`Q*czkD3wW;&6#z5UcNXtu{vAHgO5ef7A!b%544>olyI7SvU4qr3cq@k-qU zPGk+Q9>u3{^bS#!Yo+$<0E071VKX@YX|}Tgmw$e_RhHCmdLJIZq=((?>+No0Po4lj zSNz?^(GB>k_`)6ko%xFcVb6UKJ6!h%o^XxQ$6k=+nHH0$MuSe?*CkLj!w3&?tK}U z0SPFFzyo>OI1ZL#Um+;VG6y7SafSJ%i9al^S&Z>2=zxsdNAY2w*yY?aWHvuO!e4Ni zCp;75@HpPB5-wph3;+_P-bJ$D?hE#?xKGr5{#ft@>2=JG=UVnxYsPF^8+HB173F?i<8ICxhk*x z#l^n`Pw2;Ds98jb#n>B_a^ia0-%AOLa4Ctiequ!+=)cwN6i#Y{go$aP{KLTei`Z+=}q+0fwe952S z$=p!3u~E=FSqFT!A%s05jJuGZ*kberQMcRxzMOt2_Nf<&MeyHtdG20xLZ zGQLZ!a4`xP7*piKfhiNAElKX4U;vQI)7=Qc-yHndtl#hf(3Rm9LE1U4#p2`5uS$P< zH!F+I|5_=Yxa9FSxtO*x!7rE5lv9j7d~)l4L+oSk>XDZn55Cqa{Wf+c{iaL(gtD*) zhti75>Ve&x-En0n_f!d)5KcMDog~octS|siR=F!dxojx}$+pGP0Lnyymf2z9kE%N5>(05+xth;DW?**gKuVk02 ztC23}KF*a(=d>;1>y8lQl(5I`hnnwKk0CW0@{K{=lt@qlvF|%!LGvrjY)iqvl2*jK z{}XCdAz|*(>lFY7CBHto*x5{uxk$|GhGxkFB^&V8DR>BY#*@asPc{=&q$3SRt&rYy zaT>g+^o?3CbH4HQ?aL-NdF)Wj9sGC%Pvfa-Is5KcYZ;iGX>{aTVR+DzgzWjX) zqaywJt&P{%wfTH@yP)%#Zqhe=- z{Cq&O0eX=yAtccmsT9u_{{I)FZn09mmQ|zLsAhC2^sZq2lTA{(3Eog&#CHN(?a5u@Z-ev$sS14h6NY4=Ww=mobi41efNxcrLWU|qLg zkih+#88TN6=bYwYINKk#$LdzA@mVl?6R?D$-kT-H5TC99QmJiNp=i@Rm%X*10TUNFF)g$A3LOzvhbf1-aP&|L5a z$hdYQEJ&#z(oT%LN54yv3uqpUu0xu?kh+*|*e*iew1w%M6gOi_LNQD#pM4X8>BV>4 z{z5Q-t-}<6W%a^3KxKNq6*e)}X~aQQi`!hZ7xq;pF|*Zkp1!jZ!0a_U;up^Pe#rB} z_)+F~y;!_s^K9sA>%DU1JB_3fYGD|`-Y=f{;v(OlV1MXN2J9cNeuu?u62QjEM&^H> zbiQr zXy6X`h9e+Ix82gCAlqcv4W6#Ln(ols2)nmE=&O{{gJ0Ww@9@jzBq%^@bxdZgFQc&0?SWjnM; z6uhc68vIjI`_B+)Mm?;82caV1ut6eq0mg!7AK;5bgwWT}wZDp6SH7vdGjo+U9S+ZsO9d((&d^&)W5lPi$VE^LGlPpYUm=qFO^1OPsf7nR^v~2iWTDJOeGCNK@cCkSyr##2E zDeCfgwx0=Qc}JS@0e{r#z`?mjvP3aLaJNB9#5cZv6;nJc@R##a zqiSa)*#7SXm+ybJTJ;T+03xs8G)?10oE<5lEa!*)@ZOKhx4d)c!k+{%=5}H^!2E?5 ztmhG!js%9O->iF^#k?5$`S;@Q<>YW%z0b}DV7IX31j3OW3xuvPc+7ju&Cfd@5Bi6pEBwlp!G}Inpzr4*e?vKU zvJq4kwzU6>nQJ0Lvu*?N!+Ia$y4wTirza9FA7YJ~(4T&g%*W0Kg#5REO8({jM+qkpj;n2x1SwlN@H1K_YF9>F_}>!lxVpNXQ9BH&#>Dy9VJZpbeI@$#w|&SuP_SJOqGI%>=F##H7{I1 zt#!@=0oW=N!nOK!4tQ$sf(gVF)oR6w^_UV6vhag89)Ag|_if1W@pt z79k$=Pfm^rx|~ih3+sNxPC*oQsfppENFGg`2Ra2WUX? zwRXDLi1k~MF6#V8m+k{p@0jpjl9Lt< z{OABI90~z-x9hKUL56K)He3<5|AW=uOVz>>LZnPYtvQy$OL>h2E+!i*t^vv^r?$)t z84MzS7kpr1H(y-;{>jdHz=)cHhyJs$1eZ#!DQ2QW3_Jk$vaPU$0r|Qy7|2nKWN`oK zH}GPKE{ zdAML$aIC;&i(dIYq2J=ULUg8-V!D1a-et~4Q4@}o@p~NO%Mg`eFfhFv{+JGeZ~-HB z0aFH0d{!xtA?klA7XU;uTU%O&d=i4ASyH#-VH5a95ABizJuludAkT@6e4CL&NP*_;^S|`H(~d7ccORBpB-lqKd;%pIO>u&ZU2t0Jss$MKNTX) z!j?b3p+X#bqmHfCZgaL*v{*9UW}N4`R9H-?E3`{mqBCn=uO4}z6kM1V6TwDquZNO` zBNLo=USHo*Af-uQ6RFv|;D*eM&!^SwnuG8@Ji$amonN74N_92P?)N3^ubKV6I(uj0 zKrQ=}nZ5>qQSteYwds(55)r|Dlj)&=pnOP5nkHTkHi~hiPn@Fd8`Zy{d27CkW5HVINs(_g9)U{w`LrrH)P%R(r+tC9Ej<%eIvy zaN#h``v%W+y-gx;&7Lw|#mcHQ#5FsqW$m{wwsMVw`fjCJ`TTd&M?byM(=0P@#PLOX zC!cAM1Pd$v`e<*sZ*PdP?8!|{0J5PjG`;sC1{kphv=7)Fn30P;3ln0f%%?B)JgERp zg;Lc*lc(iJl25VBJ4MXcBbP}W?g*K!nu`qqEnIA2zxTCgeyx;CT-wbt`(dc{a(}>X zYD=oC0rg8Oa!3pO8SkN!KE+GqXTrb3dd45svCMHz&3fM-Qt+kE_251D5SzfpLt*xl zyt|uzyg|n?BQu1}W2+Dr^R*6th=*Fo0#^R^tcJ@Cf&fD&z`AgE%9_w8fHzV?j zB(qD-axYlJ*0yducgWkVE-k$wF52`CM#$#nQEE3%6%P762r$tS-m*Xj8x;bz(Tf}| zHrahB4c?+UeIKW&=&5ix>x_fcsd@$|Xr~CmA51@YojUR`4#*8r2%qK|WIhPCIAe4a zAX^e@QzJySq0!V~KEH?iR#!7mHUcP2WI?DCe!{3%p+3Rpf2Xt;@^KJ2h*yM7{%9Q9 zL$WO583SbhNJ*&J9aphEw16lxojpBXY4)TBmzfyY=qi=)_D0V&0`cM7WCpY&pW);m z7j7Oj;jC}neg^r|A9aPRW)wVA|M)S64@Sg4eE0j!&p(5Jxu@67ZL`pHoLn2oR0y~* zTlm^mX{Y$m{bnA_7}IU3v7I!#(N*tT=(l(qlV(V1j(`e7+_$5Hx-RMQCG*Ky`*IW+ z`&?e*WY$ri6rBjyr_El!N9zNY{lJth1NiL=<6K2DBjguqed<)7FS@qKmw;rmZX_Vg zL_2JY^lTJ;MT8v0g=LV_%wwqPS+=w;{(883TE#@XEyr2^BVcrI%7G%DFn1{vlXp*5$Tta`-9QMeoDbTt4 z&C<9Fo^MDgcMz>c^I=Q+3nSm*6(`h0Gjso$`0zO%;&fDqE{Uz;Jq>tKrZ#ydRZX9o z+OwH4@+RT4}}5L0q1R zIcU>AEId6^?xF)%QUP=#sFdq2N*ZCOcDr8y3;OJ1Rj$9j%hbvl0h%;7%@%pbqv{yo zS_m&>vO!K=eK6kDq5?~J3epS&ME@1Xi(kYSEX}zo^SCaPOu6)57J+HWskh{v_bLbHa_S{)^4}!a!YbU&f6=pzppei$}xV6nm5NwRPZZ7hxy>%Zb64V z@78w$G5g%17($S{mf=diZ-J02c4XxDFmte+7t?wSpGj^lHBhqm?DAZKNGCJDt>~*oQH1bz1CB{<&@N5F6+D7`NY5OG{SDlq4-Bk*AD;b<%?ui zY6Sfj%d=ROG~|XYb4)0u^XJ^+ViQ>j#TTn5!uETmF0a6sE-oJnij1%Sb^npXL3(6! z;4rSo(7zf_@xPRkVxEH3Egb(ZR#19V1IT=*;m#7unKNbV!E;m$Im;w#@m!GpniL(Z7p)+RH+tpC;`a&u1zh2|Rv|W3nb$`K&6Lzq(GZjVb%@ zL2PM6)jE$qGcnzhP}W%Ujq$7Yzc;-B7jeR!XAzU?-<`M=N75M%DmWGv46xu%OG zc5FHZT3}|+Wt1VXR|6T8$gEG~m%I89#DRe<_J+E=1S2XPJI)olI^~wR%!pW@1MRsu zd}5J%3vrF9Z|5e|8hC*3?w#6~lJ)m%bB`=$nQVCCAE(Axi={^4o^F@7c8t+K==xbX zs}pn=y8FgaYh`Z_KS-)NcycX-5Vw0%hZAp2=zB~h7wnN)A}P4GxTQrP0_Q2`q>3c( z7q^kWlPV!lWJ@r;H|sr-su%4oR!(oOC|Hb$nRsK4dl)m?uc$njt`a)#5xtBGCjzE| z3w+)Hb+r@9x&6|)$5xuU;m^caD=(6oM#8y#ExBXw`2~ObWyn@jQiP#3+TeUaoKCqW zPdCKp$*lc3g05lYI@NO%Z#uwrIiC-vxG%vA%Dj4np2Y-JHphm=9wd!w*zVK7H?-8C z-u-;WM96_O0a9d1ZpeTLj1};IJ-r6YtCF&Kx1^T3WP8;7O#AZpKRHQQ>l})Ccdx+) zHw!2pb``T&_K&H5eN!3U6ci+Dn)TOK$Pa)gtG}Mnp0h2K`zy9M*pIE)gpy9Q3Pdtv zd|F!NTMN0%gxEejdH`y0%jGUh$$4Cjewsb@O9B#qvm^d`@7=#rDwTRY-cq7WtL)I( zN8eksP`^4*eN|e{yZ%bolK6?VEH>NE;J#^S-F&hH32%Tu$-AuIKEX3TUh;>aV>KS#`MxlVTz*HpYm9g>%fLbQzSMt; z^&`1TBYWoF`6}qeohC>&GU2J#M_kzY$BSxopEv6{ygAP+Y zna=zU-Jb#fGu$XuP0c<%7>G%L#{@ zzvz1=Un7{gjRB@)7J!Kh$~7D((y{{1hl{H*uzEs)|y*E(E_d$qF!#xRZqw#z9iGSZ;z?t z$aqgO(KjKv_^ZuJf%WNyDihWjqmWgnhzw$l$+ddyt>4h}%Nr|?pT^-M68H1s!v7sE z+faeIWXsEer**#fR?c*35Y-r3;}yrJ(~|>2(lciH&@8`EZscQ5VGbW`IZP0u zi4A*V2!Baxd!Q{6+Gagp@X-QP`olZQQRt1K#@Ikwg#zGq=EHKcQRJ}lk(mI~IrYNJ z4elG&1DA$3x3VTKJ;H0jv@#=bD@b#;4j8nluA+_%-L&<@Awy^n;N<-L^eq#TBK5C@ zpbgT2)r!tnm{XI&sjXzeL4|V-2Puc=l408z^unnRbL>nr7YSM@k#^>z{t&jY(%yVR zELz;>szV^57cDdKt#els50DMkaeyFNEue7f%>j|Oxw1thcbVt1T}jrP1nZZjaK7EJj!H@RNxHxF6MEbOek3ugoMyai4M=$;z~$TQK~B7=6()mruw zvUnsHhO|{Xx85E1MDR%R**<&)-SAoh?J}x0fUwm}UHkJbX8bmE2B-0@Ha_|Aa0|=%kNx?jh z?W%J;h!I(A3JT6oSQ>A0@cydJ*lbu`u*-!mDr$@e8cz03Ps=@=$1 zb383_*H=HV^s)j)-BYY;VR>pQzB&qWlf@myUV6)Kd~yZA*0bgRCR|7^brqaHMQJI@ zTwUUk!=HU<cj7~Em5{yvLA-9{P9!TRX67kvYhHrlpjE-+oJ z#v3OlV=G>?=U&LyE;yzB6-ns`u9fG;(D*Pwkx6#qzAri(_Qjy2Ggg`lkcK^y3e!ueGm*>jI3k(- zM@r5C4e3PZbawGe#7yo8D!jlMQ9!nL;(?I0E zQSpSm{mKb>HO}CB^31?vdi~+QG0lbITkiB(Oxju8(BVpS{~Z?(6HqEieh(Diu^l*2#a8dey)^t*w*J-`WR{@MZM z1{Q7m0MZ>Ul~YEFe2Zb-ml^sqk_|GGq%R)gm$gXd2~&WdAX` z4;Q(@6%OF|tKh&Y)486`sJGcM*VY_3Sv^OmSKcR*>46Jty==w&J#`HJSAV8j$)5AD zHYyb0e-!zgk>Fa%)4DHrIi$~N)e*OA?@_Qd@p#>j{2k0()FQb!yx7t9PW^&{Etj1c z?DC3t?6&{J*hti@Z(x&g+ZJ%W=kCit-=qYBorUUYLnA_#WRys7q%Ht^na%RW} z`Fm7#OMCJf_PF-AdB*qa$BfMW6X^(ya+EYYLJx1&Pn2qh!JML@R~5;qiX&p!7)gW# zg?K~)U6`K%bJ>dmO8!?(Q95WHh?zdaX{ZhezXBukc82(O;W&!v3#NM1nTGh8UMDEn z+Aio1Nbd_RE)aJSSzD+wr7#V>o*=Xl&Wo1X|J&+!;QBpm;%bbtF3-IBYk&t8gUSSY z)bF68uKt6Kd}2pDH6R;n^>hiJh5xQ7=R8LQnE1tG0wR8M-vKvTbJ@6}g0h(GJ&sxO zC)4sZe{+wQTNrg*{wHqKuFOsM13xICOGm1qq_u)zceOhmRsCjCJ(Vpy>>x451t3l+ zbj!Vuw~B}8Sqhr1fYbA@N>r1+B(|LT@D+1A$4l`McM+N~e|BuK6MHI!mud@WUs*oy zsq)|bdfL}S%0ms{4Hvu-pt`5zn^v*IK;w&uvmX8Z88h%Td3$x(7KHc%8nyhy zgtS|{>AlE*fJbYFR-xPSAhBlxq+T9rXlQUt`9v{*5FL*q@4=&=j#a{KopH~IW{f*N zX_y$*>@7zV86$NkZr`8$g9`I~QbPs%^3ZNPd{aPKg+m9l!FPM?=#X2l_<;G+3j+bBPFzkB~Yh?r+;6{;BuYH>W>ndzxgQS(1Ub-W^V+95_Jd0`hc-onQsFS8Au zH-EzYO^kX`CWIN(n*Rq#DM|QES%Fichb|R||D39Q=)A_C|ENN{bKE=9T=DB-l1?SJ z!9A6Htj}{z1HI`8;Y<%g)RP{!se1?>9Vpv^qC?2Csp9#&n?&2mn|wV>`*+knfO8V* zkDX6TNll@6d^NNEnl@_ef4o?%RGK30kPECNT4Dg#j)T~I>lU^QGbWP*WZo210r3w(tz7%TC5=#{peEePs`*dbGaM_q`#VHu- zH4o?6$z-Wyk)@C|FcQOo>OTfXZuQcz@Ms?l^4C9Jkt8Rb86~Q~;~~;##skFzy|7p) zGVmzqq}jhmNCHN})eP9;x`f@qM)Pe})GBGT^yy9C$Vh8**sqZY-`$zcahp z)|e$EEnNK2#|%#p2QfXfuzg1>T=L;R(K4o1NqM#jXyMNe52@2n$6w1&FMi{+kjxk& zz$ME>u&@8(p zHNMDpOWDt3(EfQcH*#hk!k7K?!5>PSV;s~#_WsI6M^sN$8%0bBTN-J=km%bAzqj~h z;(M@-`_q(pE6$JG^#}u%rN|ST>DP7m^uxKZ9P(ojiRYwjE`~`THEbW!p92`!Oa=2U z)4M!X!1gB?mQp4HD`BS@_H%kJ)9FNt{I_NyP#n<6AT!kKqzcjGevffKnEY~9t!2=; z<9%|q&8PM{W$gQjSXa#6qtf^QBl@fgM)l24C$(Nv!;&i1FNNN0%NH0T3r$Fn9bHp9 zRrch_d0n-4{rGSr<1jXCinz@Z?d-Vgc&JIPJaGU!y4R^45oHuhD{I{8Iegn`CZAp@GB?A0%no} z^hEOWt4=K&sxj)$fMY526x(YA*5ASbSp8d_2}-JsHdkF4zL)U*>Uwupdn=+kY@#rW zBg`($VTQ%A;*@WX2I)BQ5N6Z(wC<~Ach}XBrx4i8hAlG0Y^rQ}XQ}B|Qyw}H=jAT? z*SD8Xr!z{S2s7pCyt>Cb5Cq^o1(?UkC~H=Ng3)wi7dvM4gQc2wJyohpgj+Wd0T2o4 zEIr&WHsKH1)O$gPD`n|T!pSkW91$2JvT6q?VIeJCi15{6rl;c^0G!*cA`McON^iNn>@2`uHC)x*E_aIS74%x`}-R7uxS?r#UcR{jRU9Pk?r4P_@FUG;%U?^hHhO#*_QjJgw7862-8UI4cD*n2Z!?1K zp3=%Vg_Df((XDGjVHO1QE(ap;D5`+D+hi=W9Ms@$NAk8q-sZ-vuZ_~9-BpNiha$0G z&CRie*0zy4p)`0g;0XsdU|bw}4ju}HUj2EEUER&O-?XB-d`S3e!|+9B{n)W*YeJ{T zwBB!;M5;|ox@knwxbiPXSkk(mw^hqn3X(T2G<^(xM$^BXl|@R^ zQiVKUBqx}lm>Q+%j4TpD26AnKTRus(iq{!rH+37~JbVPx<1Rs!fgN9g!*zNDpTsWM z)EekO9)9J`_&}i*uFTK=PpIO-G3bQN>VsZ!=+@Bw(C+T;U@LWg01IJN2pY?tRc#-3 zJ32H1#yj`MxqNTput6mkMT(cv2dsA=e9XG+In9*}yXD6@+!dvUcOX5yZ`!#p&=TJ2{rBJpCo6uO41rHiX-`0-uE1(5;_&-M>KdzhN|V}Y^WiVN>}((- zubZOA?WA-f|CXO?@RoXFLhLs#a4tXhw^`^psJ!j%Y087?gR{VT7N}j@^4`3i^y2h` zvMO5DS4KU#B^9aYNM=i+k*N=V#D4stLbjGV>){ly=Mw@EDqXSq0aULe>Lt76Wtmnq zT)5h47U_IMzg&37O>PuM=JK5XC-v$u6LPC=sd6dxCS>p)T>1!Y#TB|ipM3%<1;YfG zt=Y8H8p=fL0pI+9yM>D9NgS>2#2b1h9y?fGY!V;`1P3qOGvIwH)ZcdW$@uIteuV^e zoyVMDHbWtfQ*p3zu0epz_4Mg8*2Hy3yeS`Fs?{R&{`-zDw1s-rbsgYQ^PrqXB+ z9JcTWuLmdD9PnUSZ8{4dz$Dn6q(HJ2!y_eMe=a=INK_efe%91xRO$YlKAaBRAR+3a zhisL<^!HZVME$FLkpbj65I&jeZ%Yh`Y^z&_%HusCw{5Ne4gL|te^2f+`J3jiR6Ec( zn^(gYuWiqqT3h-R#}%OONPevZn6{fYKRc?e&|e9OVecY;TIUh!!%j-K_Fgeg|GdI= zy^@|udEo9oKB{StwD)}c67p(V>W9@)`_M@B<=3V9+Q6P`WAo*Ce7wl8_a$Qr0pxwu z@`6P;T7QzT)dI)h-v5lX(H}xvmAZF65lX*P9hYC5k2RI~ybrs57^WMb>k(oOq&oq< z7RT2-kEk@h$+r0PO69X7LD}^nW%yCs=z&1Ma_+@UT-d86*_WX=FTZTa$Q%PDYuzwIFu00rc zYa?%i`I#l?5yIc5AR`W+`*r2B8t$VXurj)0_jv3^8NaIkOM(oXcK28A^r|F|v4v^z zuU)ygr0eAWv(H|0!s;O5e5uytgz#Ad3pA!67yTpc3>-HK6>3%7m20e8!Tj#r$)F3H;>ZEN*uh6PAtdGqhrLyWQHX7&LXXh~ut?-miZPJw5 zFyQ)f4R4LO~q|(j6%NSKj{n>bWR|d%Z!5MjVf&s!+v!pIOEfwpLp&KrRn7+Z(fnZUYHF0YX8S-HATn zsGk&_#h(4}kH+J2&9^3-Q3A=H7b*Ww*Q(I4&49f&qUruX^emHblY~{i#SI>$T%hy% zvn@aGyyX%LQiH$yAXw8%1iQ5$^JE6N<2_|O*y)!$srs`8Wt>HvoJ@)^725xlBl-{8 zao~huYh#;hnQl3iE?6}XMPl(^-c9muqK1nqN({&Bv;+=Mx}N*Qv|{&JuAF4*R=zjU zTkB}GD|YFyxAglr=5=`OF;`e2%a7aZ){h!Oi>^s}k3|&aGF)`?uB)Yv%H0euRKn8! zK-b~@RAv|%@mtFxyDqP!+8d^akPqu>JG48tM{~eTUC2yy5ao<3nUsg36Q-c=b^OOg zR^Pk@qY2D_Cwg|=z7UIuq+ZC{Z6?Huq7=$Kgc0ysxe&~~vUq%$9RfIS5tM~BeM6j| z4bfRw+;=2kfNNae4JSPIBDy3wH;)Zd@Y~s@!Xlxj1_2%(;EU&u$#t|76KS;Z4!kys z)bc_;-`uT}%A>~Cj)KT%WCNa2(h7%=O9_YOwQ#$T!la8!xZ{7=_N3ME8osdlRTXfQ zAURtZ@pQV1YYh^nj}2w|QMcTM;HGGt*egm}XI||alN{r*fJQd`7NWp3EVsn90n;q`A-ba)R|`@gJ#d5cCzp|2V- zHA^qB0qpjJ$kehqq#kot0Sv`iU@3`+Yt}gWJDDz3V+aQ+8(4U}?rr$1 z@9;0IEts}IJhveaSLqj41Z4#s$E?WdiFz!Z+kpehvyrA}O$xWdRXVv_%eb5Thp{X# z5#~=J;OG5Kw~@-Ivu^M{sqVjjg9Ng&55I7=>ll^337A}hmWnL)o{5C2l`uXR{gKA| z-ezsZn{z_2^!$@wr(Q}^Mt{r>zODS}#(lJEbt1db9zELP8MHl6OV=Bpb5`N^F1;Tq zHes^x<6H-itW$VP_;o5T)6zQhL;g|)%p37uDL*3r_~ehuI9_1$)@UtwSN8k#`L$IdL(GUpb?y6Dxzatti=f?;D$Nx?rK3(95!OR~ zJVd%clGGLQgr#K3>)Cjy;w*{a>` z=0S;OJ<>;5rkEoL}7p5A*u`|~gtP}_3GSD(UvDfKh*sp%1omk&*> zn1wN8bS002wV=J=@~Q^P99-Ry=>;DvoO!Qu@8?4;O-sw2WuZn2#BB{&ju>y{Hvg_g zv0|VKr+km6h{zRKY@RN5bRVV*u zG9{wiT;_Ck7!WmC+4DNA%rq>-cYmKw&+|_HtNN&brkcQufgau3Mja=?QX|FwBOu}z z860-S6}lc4qe;M zgRjfB2P07zP<-Il@BFubKB$&tcU@j7zOS9p*CyfA&4^| zCkjile0zbZ-ezRXZ4u_C9WvEg`St}mPdFst`1kGT%Ya5p-?wNyVZDdfHjBj~up!s1 zwfBeSgxYlb8o-<4!+!eq8VD4ye1Ug;u=j=4c!U=gX@Rc|DYwVJ99M{fPEVfgJ=wKq zG~=Rf?wG8wxjKyxtbdA7niY`m|L~L3N+m6EsqA!piW5*;#?Ey_>g@YJlg|3l!hmC* zyp)0RxgwIOpU;N6YxK9)WnxjGgPAv`^4B`UxQHRSLH{n!TWa3+HO}zl)a&Ice5A(0 zIDHWy>qD>oTNVA6GcrSrr_D$vaVbCdWx)HYGGO6Xfj1W1w6C?_wv1AY3MRKPC_v%*tyhI5_ulA|_ntL3br^~3rktQSP2IX)a zPU<4AIMYEF*P?4d2X(^eA&0+IGu!fo=3%o>(p#oI&zjYov$y;A$K+=g4WGv00JlHb z3{Gsw{t>pOv$NCkodpy|LzH07=Zk~9eC#u^@e7;;h}Q$$Uq!19HRM6vHqum;H}=78 z-rcsAn_Bj~%8ye@V^i=w7GN==ukJ&9WzwRevxch!v7LeCUTnbXNhue9ZDY;*;PFWr z@_nH^1)JXIJRqz>##Q2yU%s91TPP2aoc7#zJ}k}vEe{MVd{7**kZ)>+9u-e3w2GB2 zy-%vYJEw(zNSkH>WG9zh;kY1bQZ5lxke@}nnw zzZpMR$C72llAo7P_&E1Fxi?U)6KlYYMkzMjmx*KdNb>J`ji!X(-`%$@RM3>ZZ)biw z7t`5);$7)}`PzH$-A?}O(3Mz)0Dji|KUFKg1 zfpmhh#(-Ezefu2YHX$wtB+u%1&dBx8oPhXgTqYzAiu=@@jRiiZJF>3Kx}()?cD5 z;*s#0KYh1n?N}@w3Zs)4X;G*qu#t@4?j2K_ZEYEKkAWtPvu=AMj^)oil8j=&d*Z?B zdMWJ`s?V`@DUL+FP1Z8M@Jd3s=xFILh-mAa0j=Mcw5EJ&j6;^m1Zi=_0ATRxX^yHVTDJe?dO^zC(^A_n6Y@Q-NwnQ zcu^1uOz*f?+E$sLqI-zw2Be5!bn`zo<(9pqSB(jK1&`E8;IDyi~S_g*&P(%sFf+nm(4JFCHn!Ejb|*)efN3sm;n>BF^nH?z%1 z{W7k;9>}BjHwHuHJ6oI*C)y@h-UtfR*Q7&#T`XIh$u81WAWn>X$G?lB(+xSdm24=E z@Nj>nw}6M9!TOqRU4`4wke)EgK^e-i<8OiYk=^)#>zrEOlpObT=TvDa&FwBOq`}}$ zzmQcqKO`d@;`Spm0A5&9P69J!0MZZ0swVuJ z=7p^|ey$+YhUPzbLW1Z2UHJg<6*4d1r_*Et85rBirsX+pSWBdvAMCkJB0`N00O7*& zaS72bk~8 z8kVJMat`{p{X+mv=wkVED7=GP|e`t+6RmRbo)vL0#BRBuI!l%>N+!G2r;- z<}8Kd$*dH$!x5#!ABFE7_jD5`EZf4cYb8}+j2Gr=tFFx?j#V7U_nL*iZd9iqyKJkL z7^`5wKMpeRi-s{gyBo0*_)i|IGPny-9Zvt0i?gAb7z=qhi^WZNyH5L-yhdG_#ix_2 z-!1_oHRM6|Kw0&?+3flhGtj?`EuKoL+^$N)lRD__U=j|%txR@%(5=f|UL^R}k8%(C z$DPcK&-|WsnmvtXA{FPs1D&N|28S_@SVBOCazu>eIcfIs$Q6(DVEpdLm*a&AnAd5r zwWF6w6Ow}58V~1~C@#WUT_9Q+X9Ba2@8l-+gD?3IhjhFLhp~8?2U=X~q)9c2jWvfS1BNphi(l`eS}VLN=foiE$3irVZDLq@`Rc&rfb#FxUTqPeTxyU|BiS z`s$aBHh+{lZ+-nPKAHGpFa+3vn9`2{o@ygvw#*bAnkx)IDd`y(r)>yU#IY+b=iWE0IaB!PN8l{Q`jjX-a7$QM&v!BQr0=48D0$=B)DD0- zLz;8GSEDvIpK9-=;is=)eIje^&`&gq0S11Nlu9~RA{XqRBEFzWbfu~P5xi9O|6+NK zgRnFhi_(Fjh)WX)tS>3yWE!V70FA}44*M@lb24y?Bu^Eqyq(SHOEPHrsy%kWYV%g3U!0_D(~Uj*ZHd_WWX0g2>+cU#~6_(^aRfLwR4%BPZvL>v6Fa2XZN>u&$C~sYR`t;{JX;qPph(cY z$a{qwUsihGk-6jL4uMEEAk%ua2}vnMtG!-l9C-ik1}bHwQu6-F7U3!tbBeSjS}^tt z6p<=&h+8X5h)H4l_@kg(j zNNnww8Aqt3LMgm{RUf3LyFEhwfC9}(K)-Dcm?%ZbopXhI16sxhWg#GCN1H(uXed=jL3AysG=9OFF0-^L6nim`8` zpCc9^YY~#PIOk15Di4HV9$uKNak-Mqc&93?pId$=$&e5rIvE8pIp1LzxT_JA4BK)q zu69WLQEUl(>F4q#P=gVYa&oW#tyPs-BnFZ&-cKDD`4Yk?{OsC3DibX(VvK49(Obal zE>81UHf=DYx^XF#Qv#UKi33pLKI=y8wyQcsNy(dEBv)N^$zBO z#*_g^*U@{OObgLcbz4p@7=2UaBej{XgoiN}{9C8#PYB>u^){sKx1F-6bUUcufPcs3 zP+GV61wWAm%5We5wpDh>F}1(p;&;l`0EkpSqXfLVwQ2Dd&S^nvyWc_!2e_Z0h>wFm5wT z33OnD+60gPAp8U=Ib#6*hbm-W59HoG6jl?<`vM+7?hRZW?;X7jXGFb5F}QomV8C{T zKOQ*^v;H9b{BVMSzRu}s;La;lmaB*VGv4;7+%SJOTH02Y zsg-636$`4t#cKVMg)1hfC=t$mGQj}7jk{-mE#=}^zmo_Mku;0scuQ)t(ppj=gfp#Z z=mp!eQiYT~4KMKk_;M8T>yX+6#vu8a=j)CxG9RDgBW6u{IC3J>M#{w}0RHhqis_WW z1V(CZDG`mM6Ch+aCBY3Y^T>j(XsMs~-%-i;;xqG4T}FgC{OhVK02Yb>gqPF4Anez<{y6>jbHmfAF^? z#@5*}_+sbEK|}r$`=pbukFlus5qt8`ZpBVDKWEj?s|d8OCON#YR{wXd*SSO==^takM9gN^|WtasY%yL^S0Sz`eypp=9b&yALuWh&_Jtc0I|` zmjF22++D#|P!e!|Ko&-?-bpGF+@#-keyB4n`hvsw$SkP>7dd-_I5IO6t1W0D5<;!W zYuUnHKQp%zD~q7j`egt752sZ}W5LT|IZM%|@07pYcZG#aHkxBTsVMb?Skhwk7Mp&2 zO2J;|4tn6FQWxE+C%F|`n6D>%8n#KlpPO#<{*D9^bWuO5G6D*9hL0vgAfPqz-aGY- z`f(?Zy2(0`-wSmUI|(=h95{9_*4%`&c6d6Ly8ZYy~urqPX%*a~u&Ygj3bOo@K$ zX|ArNTdJi;UmS=5R!0~Z{V{t>rnoN1G-hFu>Wp?+_0R~fadW4vS5Z5!;C4Fl{4-&K z#HK^_N~wkN%Y&4aiI^WsueQ}WUAH}%xCkiS?s(&}QsS?lj`VAQ6{x@ffo*ND3D;@uvc9rss&HC1IYUrXsa-zy?4=GE1o-(J0t3*z_P<6;3bOvBKwNAdj3`y4d(jG zpsIH|clX+Fk{vSr345Mla|MUQGQ@%Kv>rD}Z;xfLG>nt(T72z(yP_ z-k*-&&Faxarj*xH0{FVCgzkQC^?~(yBf2u5?t<@cEF7>tnItda%-l-&+Q(ki&>&+4 zXTPQfc4~c7&~Bbv(h6qa=p;VoOe4OVW!Gd+&w1u)eF=(3hS0xrd#=Xq61HnYdtzMq7~)CIi!n7pLVzTE>ou@OdC^9g_u zk#kFHsz7lEXay~pjKhQnzO~z6*>186am_zcu8drFB@5wu=L;GSp3>sYM-O1c8B0|7=KbtM3Qo7 ziqX;x*4WQhoe@rtV{#6&iL#?bT43U?et$k;Tg1uG@MAcVz5a<*I?a z>|>$>6Jme@z*m%+p=bSiW$+C&EWm#yL@J+;;>C1;8~6WPS`0Hr+j)pQZ|jvZ`fu+p z_#97B2M3-n&I`3Po3>SOzWm>|+|xZbmelO!MM4fqZn_S}u12uVVMuT=9h11{sg@vjX0PM%Fqc(EKixe!TmEteW@7pvRz&QOj-qG#`AU)ce5{T6fEIvq|Ll zu-^Y*ARusg*5!r+I%qymZPYmy?K^MYnu4SWJ~Gbn;IjOk5LarOl% z6%Oo5g2{k$Ieci!xS=pJbNRQb6*;(I{VpUuq-@k%*37GxG$Z@=4JwYb`{u9jA21Wg zxO8*)QPU_Pw~yZ+cQGt|Jm8&iS66L?^N7{;@k5rwTQtxDoQ|g+MeDy;186oDq~AmE ziwr<|@q%Sqk`z-u20jPVOYTzP_^|zyzLQWaUwtpi*d58G^TX`a-zhbJ@7&I1P9J%m zY|KU6PssGspF8Q@*W|wty{SY_*mEp=z39K%(3)A2L|nX7otYlN7MKLOWXHzx$4Dcc z@y7UU**!)$wLb@Rk$9e`zfqcVWnPj8sxGD2kdZv`rl;W1G zx96mvX%8W!M6wV|VnYF&S%+2{ISOZ99aox6H4NDP{G2%ja%ZY=vh=BtADrV)#pOMD z>EMA0KtI2;=$qIt9Ox@i`wFG(x4iooweb`yrHTw~y7p|DJMcK>kS@WY>w_)l&Qn8U zI@A1o)+b$EDjEsfKTOpBZf;gt4y8$Q59CS%m{=*(y2CcV-8ptX;JYF@eN{qPR+EFh zX0JuOd^jV9_voLnpz(OMN(8GEH%>WX@lyQ30_{JD0%>g%;l2{aq>gqu8X_TvsekQQ z=0p>}cy8yhBcye_??%)12<`HDcX}(M?QOqJ2m47rks;|}l86YA!17P$fg*?I=hxqL{w9HNR z{K5WsDNXm360x?iBTaF6rt^oa`JAtV$R9u&1HW0V<i<o=Y#7=XBJmBRl-z9-@{Qnbw%(J(R?El@|_fHa&X+SbPk0FWT&m&?Z3j z6e73e{^O@yFIq&e(Wvhk@24bQ6alNDnrDVm6kOyH)*HwG4Ug~dbkhmgX?WYtSOE&L4ozkkMDztP z*-0F|Z#i2+Kw1fIj2#NK58bPXjoAfWC%hEFyKeeh<0z;$N(-L34lOq=9eO0C(-~xD}(otyVQG4_hh|c?7 zfk0P+omkp(`al4@7}~zBL-hVy;d_C=CxsovmSnY|lD~;a+I%l~g^C~Gw2rL{B2=t!lg{Y=b-Lo-KOS>ytDw^QEOt54l%{8}sFwvYUP7(d4O> zeyQpEld@?yIHN%`HVZALPRBS^ea)aoA#TQWbl+urA>l>e+uobxMyHte1uSDpYzT4) z8_D&`P-0yFO%K5Ojz1iE1CU5=lhGjPW!FWqqs3jWhIruX^C*3BsU71j*1?z-F`}B z0X$%4_MtTR?(YbdrM#^+_<2Ax^O`%80sMtqFSkPG+@6`7TUmc@1D6$&3ms{D{3y&% zNpgj~DM)myvSKFJ^rtpZ?+D6DyEd6`7Dk`?)>F~s_R57Nl9qrbG$_Ju7n_#bX3hnu zt)PDhl`OfYG0P9ktaE9$t5rqRNv4?WIcZb_yzlDsbi{zIgWPlqB{J?j0E!glri;y~HPYOB9O+T_2IG*$LWvF6 z`SRSbaYylUPAsv<^@sF=)U6vRMY0w}vYrUpN6ut4%4_k-5k8zIVX2Iws z{?zUED%CauLD7caOg9?768#=~pxqlJ)Q62=zy@le<>gE-Y;ndQ(|x`wK*FQAd1rV% z9Ob@~i4OezEps;cej!c;>yX@lAE#_(?#9l0YRV@MzJo2)79>hN8dUM+Rp&d_JTa*u zDfAR=yrf62+)ogK67|OutQzg0t`UU72lG@O4Bad?!PjD(tC{U8X)|L8rT%t@{UhPn zG>L%aAzEz}{k&_y;n~?ymv}YJi@Oo0vz_Y|12PhxI+hoJcW5IM!A{vLV1Iv)uSTt4 zJBtiWvO!Ir!sgkry0HnTz4T@S8V|ky{-UZG;P>XHtek#)7xN5W@TH0Q%ZAUvoolEm z+{d3Xpm~w9EV}4Eh>Ze@*jxBUL)rFnZiXmN7Fqq$;AG{_w}^&^&wLnii+N@`{Fa6= zf{@D8{0B)OB= z<#=sO@^{1mG4vG(LV-ZjZ6h!P(=_g29|#lpRhNv$h^qld*08`Dd98zT(P$>rc!Yk% zHI^OC^-bplPE{!BAML=3;V@j-IYHyJFzmOUv7{BWe83i$<<4U}{dD=}RJ5))Vt57v z0NYQc&9qla_()bg<2(EU&(l%0WUD3;5zCjZ85ChHjQaIO80BLqj^%wR{lPCb)m+5? zK=h|JHX!g%aOoZ2480Rp1Yp)x7LxMsz0x)iHP{Jr4{^Puml`;XQs*vPdm~itON>HI zv8g~|-^1<{*l|S$-(^_SIxd_I={vO8{D#~Fav58J$FYrPoSS~LgZ}H-hI)hjALosB zI!d4rBn~{VDlL&+P66P=yOA2S9|jI>2J%#=+YukW+dy-%te@gZQ*aLFP??bT|XBduet z_c0B#`N z=Z-tYQ-UZJAWA)e&xeT(MWpll_otw^(E&6hF*;~-{(ZpzpCbWHNOK3RJHxc`!l&#s z9J`P0R1+qWO)IPN6mFR4Kz(^e zW+N)?G4-{9i3Z8qb~{L-V4p0yzvNw)3b-4M-pbJf_zT!Tz0EG_^%&gcN08JIstzNn!WOx7Wd_s*Gy6AV))9a?3 z45ai%5Q9wc4$cTLmV0Gu0X{imKLMlDU}(M${=h5ajR1$ftliESk)p1+eLI^B!(! zY045A)zO1*sy~8r_X6hJ8{KZi82BKCX&`*x`i+L{)v)vS$1H;{r*buYHMsU9*ucB} zw!mgA=>R>NhSx|1cp!M&{O|3Rdv?&d8)L%mze)QDE|Hzvn>iEli)**}- za$~}Ld)G5&AmiMi__(<8bAs4;XK*umaUmTfo>~~zn9eFq5-mwZR%Rn-fx zCStP!{e~dI=Q}q?`UjA)k6Eej+6%uBDEwb1#+pEF6%#X1DlWbV)(os019%1@)WVB> zpltqQ#`LG;8At9f-eKinWvw;_s*O;2&BEs93BFg~sFPADbh_j21-iALxi3FY$0*s` z$TR#Lv%XRduO&?2)BDK<8k=0Uoa}8MrAfc(ANsM$33WQ8iw@X;p+sysrzck(rp7~- zwNO=}?_7~9dus*Hg26t?XZ^y= z3VsYsD<&>{+dgmY^*!#Woc?DPs%hQ7CMh*>%kDU?-lkJn5Sn0ojG*TUHZaM=wK^xs zoPGml!ySjyJ{|d*S3a5{Be7)ZCTU^a$a+%G-m5uenHQ~DP^8k3oW0N{!u-W`XwFic)HLSS3xh9lSY33QrT3F>n>wE| zeELa4fUQD8{BBvIR($}gqDyuxD^#fe#5|Hxdgs#9cCWdH%Wq2Cx~hNmwk5ir@W`{X ziEigcc3$AxCp(p%%dRl6@$P{n_llSn6pU>_Fys|-D{4_`>wHX991`ksBz>9$%G(Q_u>n0WhH{8OT%Ad1%#Il@SwmoJCrx`shK23< zqUgZf42cNTbSwxBTwf&V^4~}q^RZR+%PP5JSllk zR3&-pE}|_aM}Kp+@`|rwpMEH~g{yj;B|G3;#7q=^^>^1`Pl-l>>R>J62@NES$!A*d zCpBhwa?6)+n-`>SdN5fJl6hA?td0lqdtt7$6THs;iO4dO!RZ+E6=tUVeN&E-7J{ZV z%{$4XP{e|C!7Hu1-FNW#vMa38v_j9qBCovEqdo024`{(w!TxrB-~RPrnPFNwNs&nS z64pUv<(D*icS8|w`FivhpBbQ;LJ*|Tw9H#f{Z5EB(81e}g?#R^vHs%gR2lX54qJnq ztyXMbGTQo2Udx=>A!diTSOuG+`_PqB?{=rEn2h94zD4wcG^31rB{Ykw3x7gn9`3xi z_9+)P-LuR1{D`1Wm8zoMXDH_WeblL>;HHr*FYFZWPK*L5Ud2wf>BAhwiD7z;sV~X% zv7jF;!z|9Xr_LznzCR<`5t|E4f7o?mbfzDc^?eRS@d!)1$GG7l+2kk)j5&2JzPXj! zuSEYegEBlh)6OECj-q;D@@8j85BHbSe$^2ESq;mg6nC{)N4nQn> zX->>3O<#|@jmCI&z@ymv*D*NPGkuZrBSYA2Pt+2sYq!gU3{igU5oU<~O~JgQ$+-P{ z`dQKEl@+AgM4V;%J}zFz&{5Mbj5>-7_dhojn0Uyz)2UDKD0!}feCa4K@edA;sO8eW z+|9jjAF8->=9lDX#9L?u7Az2xgMCIBN?0m zn;^(Hy(DCbs*!#sLT@5?CNG|R2!cA^4HU7!uS6g` zln}=+0TH8h!z+7a(9hC{`yzr6}E2h;k${CvfvS>0%OQ70>LT1kb7;_bb4 zDPn>okS>H%NXMbjWT8cV4*r8KnQgSwGECcv>L_X>6@t6GB-osX2;m> zM}mX++HVp5Lh^W)Z&Ug8gjT<}NmGWOsiYXaJIS zXn+CeD@GjNSza^?FLSK04ho|v{_1N+IJ#O%Z^g%=qwr|57Yv~=P%r+FYxhA8Faf^2 zRqS7s<@+3Vyv&6l)G|%EKtm%YOvAO}kEb3v+esK@xyhU7>DIvdW;U5jm=l1_VT}BF zvon|9fkhqS0vSFw$r8?{%uQ3{N9yvajl52+StqWh&|QD#P|Jb6v(qbH2-mPKzKOYQ z=hn@pLyIG1LR&0s!v<@l45yvlcD>-gY-Yb}mi+J=@=82h81;51dv0uyuwU=SoZa>KN? z&o>Cx8um<2mZ#Co{Ftsz7DbfiR?|hBE1j)AtBk|Hx%&i~;=*@?fP*&#y&6t|olivJ zTzu2+-3p=a__MG3%Y|Woc@MnT^tlWp#moDQ?DpUE2*aMN2JoAzUQr=R-n>Hd&h8^| zMq<=IV_bXi%hwovzicP_7Rg|BVWlO)jnEh>Xx#GG*VygaAf-bXI>96a&NoDVZ%Y^T zBGydukDZY?fDqTk=e?}EWQS0}Rj~BASiv0L2BL)PIt<{{Ur`D5HSN1A7(9drVyM^S zQYAVzs`x&twjZiC8(}eHpV0R~c|8C7y33yLv|k&8>sDHl2p!-MZm(K+#MzD;#q{vT zFF&bxynk(bPE80)%vTF=+@0kT<0WI1tDnW%_+`z>ry@@HYK|zbC|x9>(jm@4xrRF} zXFoOkKTR?GrSrBv!-@s)HtZ#d+tei=FVtY?qj30EQxTsPbVz_sy&B&%?ZG6Katd!~?_LOo(xuWp)_#C3t zR-KMzj!m_jFN&RmRzzM{2`vwXz6pQ zh?_psI&NJ;N0_erYt%D7w%A~SHS=6oX z@B=-9RW!Mb4DYTZYsmT@ns~^py`GFOn!4YvFBjhmqr+3PD~Q)>6Oh)&>}OzN0v0jR z&TEsg8$<;0qB1*uN!X1xdgrdzc2$Cv`{&p>qT~6-qyC^HLARAgV+_APit3`Ci)JcL zU+!)p4n1C`dR_EdM>@9eP}6pQQWV4n82HaXHO%&)abM#Z=$W^-8xg1y{O(B#LVzQoaj>pvs`v1D5dkIq%_>KoSes~Gn z?Xm42IGE%nG}uu0JiTfwVtw~-#-c93eEsp&Z%UqE8g(aED#S!ZTpi!qu6yKK7{KCH zo~}?4gy3Z01&uW9?~NYo8uk$3eTfPm+(geQFtp)`5Pxg;(S)>)^c(J>drOa_1GEeK zh;snBD3d77Nn|QxD(p<(u+wi-malxVP-=J+*S7!M)e91`ut?L^DtO^|o8xM4TG%VD z8@4w5>lNGzA~dJ#mUG0)3hzU3QTy+6G>D+XLGxbIJk&Vy*4OWw+^1kj={%kueGTCX@^p#jHEkx7`73;U zF22M?{o9S50;8|(XDws?kjQiGV58H+Z?w9Ay)F52#BtM4gm{Ap4$?jR7%s8|pZ0ha zOcd!#BYpEmdsEuvpIiphl_#K;0tlsE5?oaE%bHDbd&Qc~Q0VKl)|=g%Frv2fAN(5# zsXXF-zL1Ot9L)Jir?&tPb+mKSx5+m5)9p3-*21-ouk$g^NGgOiVZyEoTKW7akA5As zGm@7}i#796*1uj)^Rz>qmVOusgPao4g?uOM|7P6%torKc!5(Ap6z3OZ&DKB7`BP4v+ z5qfykm|Eul%*E;-|GA9vSNHs#;MhnKS9~XtUk{9Yj-CGNRH>gNlxU62IH-r@De60O zweORV%D{ximXwy?j?!T_h}bvAM-nicRq`A$p8n?6r)0*)ea|A(#p*r|&0&QDZ*Kkx zkeeNSd0Y{A(j9543KqfnO=y03ND*h6`Q&AVE%cw{qguiP&5Qop`XD5|N)*R&6PxbK zdN;3FC>LXOM9wa(HQ6Vg{Zrz-=diz`UH%8T?j(tc^zJw<@zJS9@9THs^8QC6H*BOA zi(JqA?oLsi^C{;y(8>>K58K~9Xt!tg5XP37Q3T$|0?nkrBHz8WmXw^#5R?*f*cy&u zmwwm08%~@Z5)=+3bWrs45aOZTw^81CK4Ai$08c=>l}DZs4*mvy-2I@AIW1f&%K2GE zAMU#sui6Bn)<51hG_}l>V-to6KXAftc(IjN%_3koU_f11J*#cE+oj2Ho)OBm5K8t! zV`@=Hw?wZjqr?amYEdHDQ(7*$`(FJpq|)*6h%?dJ;fDCWV1v;e*1m^Dn&p!iv*-$I z!X}S4lKh(i<_Q*hqq~9lA)8WybR2ZxSrJpX`9m2UHojg$sc%GhNMlW;_}O)BCG>YG zfy)W2`^i1-`rqAFRNV=@l3RlYnbz~TNolq!Yv3*FN-8H9!s!yY{i2D^1&Li*0Nf@o zO?E#Q|MxoKS1dF>frzk(%e@w(kAN4WGd|ME#H>c#6-cMbfkOsd135?5o&Xe50;GtE z*Np>nuH-y+exyM!=czOv)+T*DWsa>*7niBdU?bJVN;Wi~UyN3ly_Jk{tW$SOX>qLGATlZW6ASh2h@mP1$1NZ7L554 z!;q)Pfu*YvRsbE2r~3QyNk|i^L6MFCS&?{*A(-yIt5_lOWG7oA`t87~3$pdQ^?q=U zNc{9>e+POp?OTRj!m>YO0pk`}#S?a%RiBf~iOt3!LhT0&pS72M85beUhjjI-H(5}e zScm9px0Pg?808;yVetWTe6xqsFXPAJbBt=stUaY$&@@A4)?_gpFWmLaf+0dYP83@H zQMwpBRSa8gX#deN1@)jRux4OD6LO26d>4flk?Y>>=lXy=@ETFT~3@?20Mf%Qs8s$Ey-~GZ?)dR>xq!pLfYycjA z+vh-;W5`TjP@ZBs8l07|n%u8d-l9%%%>}vep?@dhw79S7Iu-K^TEDFvn=6uXu)L@> z?eqEf_lx{64{D4jE(ZFD9J&% zmDI>Ig&KzE5)?lFGbIX(HduC(a?pxnbpmKcUs4Ya3@X-Fh2OA6>f*?V^xTP)Mp*J6_c)hpNq0zsU( z1}>X58d>3#?6_^TDW{9Czo=!LFq9((>T@D^rZ^hy0VR;!y`{e8r$@AJRuPr5018TL zEX2R;$lNF1Ey=$}FOpXEe;t{-23DB4x&$`*ezU>J?l1UhWZBr<81Zcj-K+UJhx6{T zndG}uU}SQjFEIpBb6v6_(k|a98OLeIm%J@L{pZ8SGnPxu+i!Y%uHX#&x3LMzHa#t+ z^med4fWQv+uil`_ zGwSR6jzyjSj|6Mr$Z&m-9jbC{@7QfrgRSBPd8HyBiL|SHK)_p>7QOWz^ioSH&=?BG z8F#;w{0tzo1a{B@?v~AzeT1T)dEj1)*}WlZw4dLYQ@d>vQ1_sf0$@8(ffw>;5Swf( z8IksqCqVzmvwU1ofXp7}*;Pm`#i>u5jy+4ziO!&Z4ZvcEghYJ5;zT8Z?4em&y1gS| zJSuswsqv52)0GJ47lB_wfj6RR9JI#1VD(kn@~#gfkgArXU=^D5G6rUENrqt}MxZ;~U& z{H1-LjR5T_lH;a~nZ;AZh*F*dD#y?Fl=0-5;LK3|QX=%m56Jv&MF59gX3ipBYSrHW zVPe9Y0NP3qv5@azs)IK*dVvOD`jEwcTm%$daK9OR$U^?f_q7Zt-ykvndp!IndQ;h)=(9Q4D0&yY@(uOkX&lyJFX;>`D=Rx9GNvnAYvOue%qU*4b(b@7id)v)Hf2_pJfqT!+y5-0f7dE?f?g8Fhm@z&lEx#F{o$B z)hKns))#@@r3}hSgD-zrA|`4y+bsY11&EkJZ`9f(EUC~QlA5-2lbUlfVVmrQx3D+! z6X2Zu*L7G4K5|cVoKj2lV4v6UAX~2gNW$-A+GWVN@npDxDR8&tBNZU~0T0<$^iq!E z-80Om=;gT)<^S_i(vm;iklqFZpC>PN8l|ctRMthLK`kB>k=}cF3X9>QW%z5!vUqVm zc)G-nKr8byz$)`p*ii5lNkmI1D*{@*S6(z>&L4Xt?pRhH{_5JX)+%1Cow!43^q&Ie z2ke+AHGl^S%uSG#=In5Q)qQfA@XayR7oF}h>_z|VK#|wJ27*>ei83OA5yYT4#Sna1 z2&}m+8l`n?eZsSNF+-%Byuq5hVN^OwINAS>X#=WVya7k1T{?0w5EMfujfSq5UoEBO zap)=R8l=JSZt zLK&RH16-N_Os95~B>2Ta#xT*gFY22%F>U#8dxbFqvTbY@fC7TRa|w)4zM)l0lnJ4w z%^ZQ)0Cqxu$A!-dha3RyR^Je^AKFv<{=RvO7^!zr@ZrIeAtxi{p7AirUE?+H!5N|P zjUg&GDZlfh?zY!0pj4bW2L}Ht9#tE*=b&X^EdqOOluE5H%p0CA+rb>1LWoPteFifO z(;|4XIk`nZjXM#AUG-*<%rMJTK~Vd=Q=OU>_MU_ZJ|E#C2{)eSz^LQ5o>qD~Py?~X zHxPPsqd}QuNh1p0Y@ibfk8orHn)?;y*hCC6=~o-26tK$2dk&%}=wgfHx(50>Jb$b+6O1kYka5FBXb z7QA?6Gm|7_V|WkF6UzHt%RAQ^vk05En{SFe(!}8|2zU6f#?)cshev=c0239F);M#s zGlg*a>0DU;<7N>KY|tc*VrxUQ>cLr)+Qh$>KJ?O=qm@XTri+Tda%&zuarry!SY+9K z?<#qN1uy~Sw6w-KmMfy5i3H!rNB#J~i!IA_YG0rD)?)#io#S}Pg*FX0(H`LT?EhivzvJP2zV~tbUMq{}5xoToqW2mE2}uNr z-mU1-+v;qT5YdI`A|j&q-WG}8qIVmjTQ$1ncYD6xpYP-Mhs8d2XU;uy=A4-`*SU@< zXNc!Q!NrDHTHK_J81a2JV9z%)ew@duy#LKNj#o49@4JV*Q)vD|i)yWtRY`-lOQXL4 zd-~LU>wi~1s!H!PHT(X2Va^#?P<(NW_4GL5hN0J>QQvoi!37 zYji@&q9Iy^VLGKj?Ue@e)|1eDyZ2n1(YC0aR6*j=d%18{Hvc~#-?gJl?DVJPzI@zG z@^8FGWxDOioGjc|-BC?&|9*-Ml961K_1?g)j4n#9W$yMK4AJ;3UjF{{^U3BMB9xWb`?x*|kev7Lf&L=~5HkXSkCXI7 zWTe=_9*y=v9zATxJfygTN@?$PH{+9Q174FP4#sXI3s85(ROI-v@(U<*X!94a&{`=Q0bH0~ak5R(c!p+= zg9ZwMIYdnqHMa4gt?RZ`ga&;`kdLyLACWeEsjn~kEldcwI9hLAR(@ayG`#ckJGg0Dq zQN2?;hyJH4^1xmUF1!eY7&>tv|Ipvu%Y&Ek;ilm2H~IfCIsXF#MxKV=1H76yi54H` zH}-CZoId?1$B>aF`U$+ZPn#mIxusOd|HQT@Iu@kRs#u$a4z=#bUg-1vH3kFWAqjbC2)t{XhBKX77+a~-sI2#>s zyc@4ANZ?MY(h36sdp{Ev+D2;`{Njqxx|dP#vw*U%EyY9KHNkldYWkUS_1s=7Cm}o6 zvrdffV)nq4bLV+Ph%(cH10lFeA*)IO<|ytWLLBCGukA_DGl-Cp0B3Y5HNkXX#b;=8 z1-2K`FY5J5pYh}8?YhZ}LFVIA^=r5n2Tc$F??Z&VTV50ULf9ZpH86cEd}B%iy60Q| zW=75CQLl*Fv-@EomKZs z7#(Vs_X*&1>a%!X&uIi02lJ(0 zi&9W!j2diYv?{W_zJZh#;^=*Auf9f#RkD2oYKRMVL2jEy5~1THoT(EG_gM+s$j0Sc$0WU>CB09qYud5X=br*3|e*?!enGd~a`zo6sdb%>qO7#&*x_{MwC5P-&#=D(MHLJ&ZlYtxBAn0D;m#X%Ypz|E9@G^T>6 zn<`s?2ddi??GCaUTfxdaAKZW(o$YQQv!c4f08Nk>IgJ79ujKz-`lnxm9iXqtz__)lNV@L|U+&!4{ag!CX@zm^Tj1A0=pSv}Ht9xO zCr%yza*J3>)^Ow3K4Ek_0)l=nPCdJmXgmxKusB#K01Z?|>H}=OdUZmhq(t_AjG(xUv77l2xjd7_2 zd=P`#_tg<{_Zjo)sM7%bT}a*43MO69fgHQ-38E98g@CZhd0@h50D$AqJOU=5wG(%F zK0;m!H<_o{RHi>)`!;L5{vc(;Z({fsFX%j{`EJ~V$9wg_P97V4p!0p6MNr{w7MPorQQ1GYL@#b!?!RRK6+4J!P#fjMhj-NjcWGy8)YDDCMTUP#Wq zk7!J(%Y1dNsdDDzCfJs90st!IY|U}iEv13E*rw~uI``h}&ogdwO9;?g+0Br{l=vf) z@%EG~QE>%m1Eb_(?*L0*4`5POw!#tUJ2Yq}1-0%r(l;oT(X3k}ptbIgVBQ9mONmk}e(mRx+c9t+cH6BL#+t*DvzRNFJh z??SKiM2b1SfVHt|o{1E=%iB#-%o_i3%x&RdqU@@yNFFU!x!hlGcQ%kK4dmfES-T)N zZAzx+?y36a?Etkpfk05Iure#(&K~3kx^>5)C#^OkgM8~6baIen)o&gU0sOkUY z*)yMy7O+^w+YUTG+xyJa{OPTSG^h*gpd0)>Tbm{W*1P9Uu&P7}P3kWZxdHqxV$*%I z&jZtQBOfJdp)3LBcg_2`hr?nW#?>ZhbOV*cMGPU+crZ z=rK>+I*+I<;w{e5y^ED>oQq*rR_RRr9(+Yz$2IM0k1MH}t{xE~%Em zf))Lvf(5GD8>jT2n?bGP$-JAVP6fB9yBN4s!FU+eHfXv_KUIUZ#1If!R(Z}X4X!;Z z>h1Krnd4uf$MG0S+Onq15x%WAb4jMXatvweTeM|3R@f%RCT_{zXx)?LuHW%|Hn~*+ z%w)hE1F!|!n8a*$WY3jiOCB=?z4i<2MeeT~E!Jhc*%by`@3<;{!>HbJUcWWUSKMIJ zjm(#odv0fKv@+i+M3HM?91T&4@Oc0E$x!9o70CW}m6y*$y38^CTrpB#jop3pd*!^N zA<;KP;{j`BlNt}J6ttVO&;2=)@#zGFAe^7`?OnP$rf*SeZR++nE?|B7Ru0WaJouq0< z(|ynBbDg)QW-k_=_Fxg2HX6C%3a=@ za5f^|K$OsDHIoJBd&{A)@X6F++|gK(gEzDHJf{h$dmIcXJp#g@cu}0Bb2u?w*$3>m z@2MiS?YFwLN9clWI?PS`9$?11jL2K1l$~OpzAB87vcB7}ygJeEU6Yx4|0EtqOn2Cxvl$8Qj(wMSJAT z>UfHGd3%p#PlCsE2^K`iZRCj#=$k%00ZLwB@VVU$+rtqdbV%N$?{10T{+=TgqQxwR zJBXoHaaX0l)a*&*Fe3x1SlJ7^G*OD5e^#Pc95(F4M&TXTyH!Y&CoRjSi#;sqZfD=EOGIlR?FfXwd=F7SR%rq8S!S z*fv|MJT8%Z4=&tRndXg3-IELAT7tX4#N*l6Hs*^oPyRa)LZC9L(=kEgf8X-cyk3YD zgyX;90#wBBFN?*4cNoZOL3A6W5@&)=-bfHOR|K8XIq5UC)k#q-1#>r@(??^q2)~gQ zYQVZm?tv~kAQv!!GylNRvyvbEOv)SMB_>iXGYuxQIc)*#nH;8iCQTmeN8mnCEtc_5 zvj5-PR7=P&7EtFo!i`rQy@g=u@qFnWDTRaLzvkcI;JHtyJqX;fCeD<$4!kR|`hQBh zb!>P(bFd!h*pvrmZQSH%G_7K&OHBXopU7iyZz+H)50vpuQQv47bZSzVL5P~AvT?F} z?&C+Tn`Ik`2&qRj`dh%K!NziOH^%jad%)^`kV>l;guQrjNrpv52jd-bEfaUhfdXRVeAH?$&N$8UX%IO6=3M1 z$Fu0fMBb-8tmqB+wY%6pg0yj0xXubeif24JEtM6fcj0kd7WBpLZM*6}*T6$so^MbH zY9FdML$*4@b_{m`5_0k?C6R}<(R|^^p6wMk9{dT1+u8v03KLP%ceX*}p%X7X)tm8j zZU@pGuNx}4a-FwdIO?DG&c*u4@F|V4RFc43%wNNKEPx{^?g|)rj9M zWY_fI%-Z1cTp~;VI;t>FH?`wSq9~TUnXuo9nJFsvaSqLH%N2Mn;K+qD;oCrMqP{7dbkMBO$>-0ul%0B@P1<|97Qb?x|3;C^@kin-I z!iU?0V9z*6=F0c8`jm%{;DXgQO@VI}HiE>giK-8i zCvkB*^N^1FLyJY)8uf5>hJCQa#o0tz)VI*d=TcnXYKz;ot=+h(1DOjj)PEb4zeiNQ z&Z_NZbkt#=&+-|76it!eHmpqE#{W>o{C6~*Y2GL4@<8E(~orDa*pF#OzCEl7=S?9c}wPE~-B+#T<*-g=RQm9L$bv&I8031$mCs z0$E>Iw%CNq2D;nEp5sXRU?qT;mmKlD3Gn7^d~PL}Mn%D!3bwIrysc9OI_d#1>eM7F z%ceI-ngq0PE{=BungKNdr(k#;JHIV00auf2q0d?XmA8`7OlK#w8Y=Lbouil)7$0^_ z|D0aFV?11u{sR$OWf#D@J|gqpvfhUYlS-ndetgnkiQT&;WB+u6_o#LRH{2Ejfep%4 z_Zz9ORW)aB04$Qwv3mR{uapCCS-V%wOd~SCd2W;mlY%3A?mI(Tff%+ zY*SMu6cb{`9Eu#@db<{Cy68RHa^kst)U)<J!o z9SlicJu)6+h1XM6RhRc1EXi$)EVkBWQ3JB)XGx}Wo1$dkQQn#8{lZOH?>CFl2)l##&P|w~Or3cU zPp#tcTL%jrnJg&9;`unX3R5rETgd!9F@D%}HIO1~&M(Y-Jt*nca5aP+ zsWh|=X8!csQ$K-L_Tpw$wRqe-#aW`~T{%ywLczeCNlsRtU z>F>Ev_uR*a;0zYb)(0o_cbn(+|0@4mqjDze*NNBMCcW*J8QvJCkf<)#=@-MiJD^uh zc;P*3?Y_8`l5RJ;_RE+Rjkp|%Xj=*e->erdqV^^@yacF0SbA98<14P>tg`5eL&0OpzKJqdup#A>5}<-1-= z+xYx$ka6~QkeGf@zwn=V$E1-0B0WdEMg<*A%%C4$O-F!AW2vs({Mk0u7zdMP7!}Nv z#DpFd`EB%(<%2(CEtLr~!mvl5l4vVN`u$j%hYrw;EgqcoNW}WfWB(S$rGs1KT}!r= z(gESQCk7_Qk&T1@Fz=){oC8XaAm8!CssQHNK2&_jj)j2~dej>Qe zxm%u(r^!j|`9wsuU4*%TzLveY)=FmQGYf~B$2*o?L2PWxnFM2nK<18>+~A(5TYK&Jh_vP zd5L_SzWw*_b!mnX^01!MB#XwBx%}GEeO6|ejh%VO@^OWfzFs8cBdv}jps6mSVCI`b zRJYQ1*z{4?V(!vw@SU*>t7d_b&GO@FVZ(O@3j94-mO)Q(nupD_0=qCz9GaO>pM~Qy zTRI}td6U=sP+DhIM93SWIvDV|f(`fZ)*6lTp06CwW)Kw^^C_*7X$pAvoY%}d>|K-d zg{h|3t`ZB9bQjOho>t%@#oijl2YmFhNwGvNC1SqgB0?AH4UQ4@%mB?MwKa+a$n${p zONb^A#2(NJEOV5P949+ScsgC1v9c{y*cn!L)Rs?@P4eq)4m1{jTskUndvLn>l_KPF zl}or?VKIUMN>%0#oiZF+*in<=C6N-9EK~*>>4pC8XwV9f9-bqtX7d}nvinlHzzm?- z(j-V9wh1#!TjnpdECDl0px2o6QZ*iafWfc6h%=|E+Kxe3qsV1Dt_n$i*=0gb7Mq`& z%UyT#%mpCN_-{k}XaF$FISJ3{AA*qprSqFc065jZNC=)>RlDe;-fALD-F6OcCz(~( zo1skVLz>9}0%IpLU_Sbp9>#e@5RukhF#9!E$n2e#@%x&|^(q%x){ol0T$TtACc-JM9Gv9}2AG!~XHu5Wr=5Qz6p^=i4h2 zT)R?Mr8A7iW4$G1MlhlakTEu3|K=liUaSa5>ko&v-H+UVukk#tCwgVY_w~qzpR91k zc&(aL0`c}=+ShEPhi7vwGHFtAFB}i&wdPSD7zg zU1bZfy1SXN8zfsoI3++3MQE-NTvwvqfh_!NT;`Ydym@vgvs!+$O!!kZytU3O9I<_F zm7j*MZP(6Cs}ecEng+~or% z1butk{IaGWCw-=4N_cT-;S{h3&%c5q%i8BG?d z0Ei1AW1gFS&M;GW`L)2-fu!{VlQNskqU;}&&P)Pf3Gd=_r#rZNNb%r!}Zms>QKxHfUT_Ho*hyUhTXjl+1?`5o1$IXb+dScLj#FaU_tKVC}oqOIPc=r zxj_7k#De1}s^vIqSRzjsoXL&`aX?-el5oqHYwX}>K4k$#+xR(6O>-VkfUL*?_&)U= z+J4Ce81w4k>_v#)r3+gZt5#@=pR2UyW;BgdqHyu6-TUCxclMrTT_ml*?Ge2bF?SP`cA$MP{WdPCcCSMiLM8N~Au4o|#%5~NoS77rWP8~PVq zn$QDEWLtD>q0`@I)MXX4V>R#Ka?cP+i}uB`8zmNOoc5Qj8y0+VziZx+k>*W|(dop= zx0oafW~2<(w=id72dN>+g^T2s4tNic!OliQ`&GsFZjY}6I*5>i1B?QY^XdwxtcJ}# zVvva!3QLnOBgUm~6IkALy-3(`6$|1Go)(@{8h&Ao!}3nA-b(mq&#Rq$A<=k3C5`*W0z7}nusP7pb&b{pacbp2PwT7L{D_INFqLxbNPN|cfPDSp{qVA(y;C` z4u(|E{7iI>S~*NpERNVg8XvI25GLF@`QO8!f#`?Q3J&=}fKvA5Ex5-<^y0cqlK$`* zf;V0)=uz*aM~M|1XW2SVnZYcrkf|XPKy3wl7Qy68CRnD3E;|M+n%%UhOpXZMS++Hl zzgy4-0kh&0FG|6=*ILHWJB7%V{#>M+45AVXCIM9F<)xt|_H26T5N?2aWbyfjpE}Wy z%1<=FOPR|D`|h35!lJ@Jp{Ld?3Ehei+`EaxrjleitWxI($95E4rMLSKIXoj?T3<340d8hkyWR=-0OdoEo z|1iIk zS5ss`17A+OW^~9x44Q(RDiiaUfcz>Um?Q^&|DB~)(&n&zv8OLQZcta1#)f{?xq%0 zue&HaT7LKe1K1F#$@uUlw-!1^pbEtqV!;W0eSXFLxfK(&u zl@Uhr%9m6s;Gd@Q|NH!Q85@HHD{^Bbt@sELhC%N&l(G4-Pav1_Ge=t zEZ|~9IZLGsNxg{mk^A(?PVVr;kAmo*)H@_C}s3TLcP9a%1@@;|5*oU+gX33ldj@=>h%kE|fU6orBeO~0LZ~QX;-l~jaOtICn z6X^hyNkcFW;Fe?$2ky}(JJ+%pQA~bRlsqtwXh3=BSRwp6au$g!46gd$+ztB`bw~8 znqg|OGG;``9P+*2_((;ucjF@~-HS8*5}9l`Nt0m2nNk|rL!5ub6@!%Pl?vzsiIYy> zRxiX;ZMxv6o&fC93YIDo#N-0gB<%eA48shl$t2?Ii+760V9{I4r8-;nZU+MKZ4%J$ z;l-Bo8=25j9T7Q-9(kTgdVeE$}65c|63_~P+&g#9Q%cf>Jj?!5#K3Ctm zk@%1qH4+_LGfECgz`&=w{Kkb%7mWNrlp@%D6&S(NwX0kV~m&N$PFS*!z)5LEmMXCT`+m2kwO#anxh?kX+nLd>-)}wF#g8L+NfSLOt zftBy~Wu*ce!xXZSWy{xL%*NKjDn>6H#>XT53lzQ+_WH@2bd_ob{T&^~0R%K&gG?ch zm?|HXp9%HR{*u%=*rG*4Q0LCN0`6%U2?*`9J zA%RC~1Z8gtU5oAS4!WpT=iEfr6> z`U~fEe7pKd!<1Be>9(nk=1cn{lx&TwE_&dyrE5|0DDO?@)_d+l?tQJ>h>%xt5WQKl zb0{sj04^mt^7G^wA|!yTw+VwEN=L%{uhqmrDwBCzTAU0=z)o8-5o2+|9=1PuMCVlF zVQkuVr5wuH3gUTe++Z>YAgiO3j6ry zSn(Bel-Q2g?MOY4qs+m$aaJA+CK*8(LWS8KXt`~j=N;I?^I*^Wv^1qagvAd zXL;Sa<)+9Lp3*|x=oKVm^KjsfHG9?6)8IACX8&Hq&ojd=8#xT~MO9Gm!$yVdI{}Yq zIlGb>g=~@F4b-E6t#4o)D8%E8dYTRW!`SqL_O+X`rAk*RdrPSpll+#EI~R`Q`o8n5 z55nW?u_9^JYk=_a5G_)(j4dSM4(jrEB3(BKA6MV+UqgV9ImNN7(+R;D^(iop175-~9FKY>J$# zjHwP?H1~@Qy$u}e%9mbdD-1!>fEqky?iB{-lQ{?tI5EE=5;lqw8EzndjDQ4Q{|P}6 zNUOGedxKDZ078N65DNwG!L2LUnhXNYmX?}85ZdYa_f>kESsJDxP| zf~;OdX!fgbbfq^MEeJ`@Wj<~14h7Jx;+h0a&EWmkUOEZ-k#Y`(@CLi|K8+SMDl{mv ze}PbV1!e!Y>2ms)wT&lYtNN~{@+-od#CczaSah*GS$i(YPXLq~5&Gx(kmAL2b7t_) z5T|Q*=HTFaQir7JZP^*4z-q~^(|P#R(Sx@SyT&h{-4mS!97O?x^|j&KprsqNP_C=_ z&q5gE@^m^346-Rw6IOvtP~3*{9$M@(=nvv1_Ldgn&%{E$W4`zYR$%r$uFMpQ*@i>uveDS{xMz5*lLF=jYPH!#hfOoEH9}Y*()`tC|uSt z$I(jO1^*LisjI}SV4l)*)p%^))hmCGRwcQyHSIMAN04^XSxmZJAL2ZoJum*kpKMn8 z*cS-c8qSE*xSRm5A`;oquGhcau;U-?(h4gYS)O9fm)OwXa1;IgiVpq^(<#+w_Pigi zVyyb?=y@lY4&8ICY^b|~%}AIMtznmxFleL8%rMkEHh5sn|He*F@u=f*F5-N!MPK?n zXY#4G+CL5)_%vzb%I`+Cd2%H~;n43jnvpTc{6|NI%H?0L3*;(f=S!za-*QY}jn03! z2K@tr-8x92w(>ahIlwWw$f;U-Ee4?JRpPf!mTN)Uvr;<9b^IFA(Zt9Ty)?6^Wz5$f zEdWJQ+(!BGNd!1DfFzGBk;!~oGEQ!_emdEZx!p!~Q3l!WshZO0a@Zg1XOkbN=nBrw zzGz7MnBihtRy&8;o zklJ!K4-@AMRF!Hy-_;^TS8`ts*hu#-`u#>ok?ZAJO|-P&57(F7dQ%@v3-n71gsrE zGYNpobLL0IAMo~GQ$qeXJNW3-$)t}Qy52=W(KAQCpi@i?hOa#jgu9p;(D(phqdZQ8 zt#q=~S+m=DN_6-U!=CyqCUx~T4z2M}dcyco0wx3U^0hSXBV)CHT|DY**!o2uNj#&{ zHRMK%2(p$o1WZ2f$jiT`Lw#+L#CwVTf{4eYaS4EYxz^PnwX(Mq#Hg2nV=wdxP!kjV z$#E)55(K4Yav`@od#mZaoAB&sjy6t^QIk%a4f6{Gq$u^SdEYl4Zj80`T4*5$kQ&M} z!&f~=W;(#Q=(dUEzTwHf3NgGPvz%*s;z&KFF^5j8f)U5$OZsBgGjFLZGfI*9&oF1# zue@cq4g5)bDBWpL75~ZBV4A~RkkPQVLs%39Lsm|c7rcAaQOe>1RE}j!v+3Pn$u(hn zUmxBd>9G;eThiMqg0mF<%UF9e3jj4OWX79Xto5npTK&@7;ItCF%g+bA z)HHfl%NSp(=`QuMmW#g}eDPJyMjlF2{{=)B4ys7n*vkdN<29l*0VU#frc+!4rAK!j{SsnZJ*GTxC`R4m)^lHDtw z2Fv646cZAngx%$a6##*0@|I<+c!QNNxY2xy3qOFGh`7Jy6i0$s_RikpXr=Abmxgkd zv!C0(tIzKCjKx>@eLZfd;=fxHLQembX%g`s8oF=u)qwVfBJP7JLqZw%M-JFz@ZJH}DYVcNw zYw1ZaO#4?~Vs@@Bt~6Si?jS%sURvJu`Nc@6* z1!`QsX`1%^$pe-S5frB7@%zXy9o_rp z_DReWSfoox)Y>AZXx9Wzqv#@`z|rUQTw1k1r9o&=cWlq1%hEXd2`e-+UGKQDB7^9m=pdc*?(7Y-AF;={Ig4@U9!wH4uhiGZRA4C(E@J% zMlHz==S43&Z}C1KVo_y{13UkEi%y_JqFwj+Tv^QnH?lmS4Sz}u9=y0!!D1=BDomWDjyp2;J+D z@rKANo45{O$hLD15yDyJ{~q#Cn!Xu-YFZxlk`+4mkscmKKOB&pq{abImNg)tQzm=h5bEdXcCQLx3%-T z>C)W?m%fOt2So^h?foZD8^?%? zVvt~%dfT=RO_Awdh=|G+eqNfSs+qJnxBM#^DN1?F66TNV%dGa<;Hz?W&xrs6qc2lh zho*KRVhhstyPl8>>v3gPsL316*AYGAqA|`%nDD8M^S-!e7ATR#ZPuRr=6OqFHwMX5 zs%CBrl%*`SyXGuk3HS29{e*6C{sLu1TUJjNEiMKOMc^thqho>h?B{dOEl?IHx!SoV z&nEECCyK0~l5Lzm0AHWq*Qlr4i*H+B34U-FPZR$aUwk*RZwfhY%Al63#!k~1d){x@ z5c?um_WMve$T8Re;bt(C2}`Ngq6}s0FU<}9ZKww&Y2yo`W46a!T&WjTmwf!?>T%)w z^|icacjS{C|HbPWT|yqGNB09tzV&W=0^8t>E<0=Tycg3lTVF@MH^wn(rE|DAJFsWE zY-!aAie!O06o7wW8NWU_D_A|`^(OMlx#_D$NE9uw{k4c|HgLD|pXqVgL|WIVC~57E zwS9x`Er%sJ`QFM+17NG>mq9~04d%tRS9my!pAWsH7EaW>#Yoim-~jp3!k-U z%edAUKVZ9TztY^HbtWe->m)Dv5m=ea$&j5RfQ)V@#8D$PhaC9`ptO<9Rr|;?6ScF` zXtgLvp(TouEAq<=bD5?BJ$33%rZ-K@j?7MBv;|)R<^sc!9eWWeSIfMu=5xqvx7~ef zHVK>(C30ucLdmMuag{Is$$AMhdf*arfYb2S1ePu-p$@9laubm)uU_tA@4hOTKM_UOv( zFv@%5mTmP2c*{&E#j0tJdNt^Kwn= z`Ch=VNtXTM07o1ha*U?TXyRxR9LjbA$Lp^CU z4mYB%7P+S~dww&NHfiwZ4tA8kaOCX(Ctr(|8%|b{{#hsmTu_8L8Z=7wuc zL{pWTB_G~xqo?0GqB1K3{Jh#d|7;-l4PZrmzq`~~p?u@WwST5Amks#JHmq>l$H>tR zy~lc_LZ|Zd(a7>Z(5B~SkxG4##ZQN?rv3JAv0-;UIx6SVo*n|A|2QnlRq-BHacMzRdB?jLeLQhvQvMF+r zkcJ~IB_nPY;e#do*7M~}KRLFa5(=<7dCUJN$1k|F7@Yosng)t6(_bc}R3aPMSZFjP z*=C4_|4)p41PZ3mTzB0j2%kk(?q)@g9q-}S2|yjC50g%zEBA7P-x1Y0GyI9@!DO z;%ax7@%`21RiGLY%>WgdfbYF(86@66v+KW_!_>dQpK;A$A!azP$Ba*rSqB!|f8t)T zO?@*)`-o8Dv1En0z*E{gj(9|;$F;v(DEx@(?m?qhEL!+D@g9EoPq_3LI3*RNQPe!2 znVs)J6~wo^*x#I%=rpk-E1Y+~BY&*=?e|`=Cs6U1q8F`KMdL`|0ONJf`)fDjNN%^H z&t;4mc|U!0BaehcSGOp53|F!Zu6g=P3_`?=edAXjU)V?+(z>KNHxJtX6&;Ii4L2WA z(0(g9qG^vJl%_~JQ4QFUJWLOgdbSi3!rJ0w`NZ+VlfTa&Cmm+oc?R}rDV1n13pLr1 zLS=14EX*mGBEa_qDIdsKJY|KlL;0wo-_c1#UXrwB3C(VJOcggazi$pS_(JGhci>|j zOM~P6I7k8{0rV{HK*BTiddOj3cp@NOH+9`}vN4#u+L6&WEZ`M0LGkZ1y{RB+AJ~zOT`j zfHZ!7CqB+#jO96pn1+JKX%$_8t}cPE0$S<>&N z=}?6KxK#9P#qN|E4&`Q>(s|-jME%5E4x6HAHv=}X)my)(6y?Nz%Q$mEutE}wXDwA3 zrySyN+1Fu>wQLX=QQzg!_v1;nma!GByt?y8IIyCbwo_#dNt!Y#=dH!LoYhbMII#5j z@~!hVN}iUM1I0|omd%XnpUiha#hfx6zN2jO!wNKh#A?IQNVDE&s56(X^;n9(_F9AY zG@>p>VfO0sv_G-aaaKHQ4$K?R6lI^8$S|x&1Lt79nwQ< zP8PRIjY@i;n%7 zTw7Omqb`mWrD?98aS=jw@OD!DGX~~))$ij(2mbSZdYN%XhEi;fV8blS|; z=AgFl$r*jQ_|A1^SmT=%@o|X}O2K^3p19RrwtrpG$m|T@Do%@?TtLowt5I2*+K1?L zTst$!D>R>bd7*aG_350jsb`n(Qs8li%lW?>Yd9JU6lh395BIM`5_^fS2@u&BeW9WW zeldG$AwS+0jISSKG4>8;`!vHa~gi-P1}huW`Z zj(!R*yfXVwV%z1ruylu3&zu@vqXGf($vA<&mnO;UBHZ6O1+nGCG&2PK&8l3a&{aG~ ze@_){Y^pz@58=#!%S&BdICj<8NLL1WrIpN|)?iSM6`Fs?9tZgxLU9XPl0J*1Z6{|} zB%XrfuJCG#!nSLAv*8(1IBfW*t$X+qaFpY>Wc(>K?$dfWZV{2*5utPFAM&zor#+k} zJESFDPJRLQtpEDnVS`Ve((YL?)srw%#7To}-2A>+o3asoA{s||MQIDv%3IXJyV=t# zTaqUR&0k=1mrm+87jl7V5(g5p4bsJA{Hd=gRm$fSU#I^q3mPI;|NZBY*4kqnyiaSK zOMhJ(;=@-X6m0u6_>8Gg9U~wx?qPg_jq_Eq?>L;Ko10kqk-t77tRb@zj5J;x8J13ZFco~ZN_%$lv^3^Q_ELAPw7FHIikf`4 z4O6&P(|?ef*I0yA%_G@+ztf6q!>yY!ukJ0^Kk3k{el7(#6W}CEIWDWxLRv2nufx80 zd*6#acoM-Lwt`nsTbMp6Is>95n4`>bLEIMh#MD9ArZLqUJb$yn9i)HMCOO=jJ`*fq zRlkbc(6(~$sL#e+kJ#fM6_|4?RFx#G>)0i&yj_#l*O6a*ZTCwpPh3~bGM*Hy_vB6R?6C4MImFkkl!N(L2`BbI z7h8{D(+OA(MC1O5pehBC&*}eLqrnRD+w=j`4m_TE#*S&a{A6nf;LfY)a4sfhD8<9z6c9!$+kNKi`?_R16j{46$j`c>wo$MvdziaDfQWCc}f9 z%CY#xR&jNgl7FLFh|a30xi;kR_+)f=Sn=#I2E#;87HIy?LZBK; z^KLih%tlB);0Eus5NWD{VRuYn{__Qn=&>o{%mT3V8o8_;$ErJB1VFt5;TLm1W3g%U zE)hNU*$Isppoz13@=Zx?URsQS2q^5L&QwxIp6&Kls&VEqpnk9~s_ewWHrM49oAuME z_{Z~9E^B0EfSs_b02)+F({E6B_T1ti<6&156Z)<(!v>LW;kf$8==q?vbuud0c2Uj^ zYULL4%$7_3jH3~LUM#9nj0Mjratp+N`vEZF7Q{wk=I<87@P|vc%zl~tGj1@m?9b-_ zxgmqnOwr%Qo=#qt*XL{Z)}$kA&t?9QO|H4Gzp5Ri2O$EFO3`&^2}UbDBU!c-dWWE-J5scegi+6 z)=~v!6M`Iyt>i3`JdEiJSRy|`Kb|W4xfUICZmQS8G(jo)0Epww@#%0!`DQAHmeIHn zkC(SRp6+p@R3Uz*TwEh@ml% z>a=H41l&p*j&=f`f=THx{G6PYQzVG@qM-ScEPyO*rLbdk9BBj}8=ymNw0${U-g8?# zki2-a>kLZy4oX>v7G!v%>!FO#H}V3e!l7?Iq7~3i-Rt@J!|qs%c?H&a7L^cI-fw3${?Qb}XX4ZKE_gn*cyx@@r{d{kPTtZRr#6A{N0d zuMO@LIfj~)r|vt(^C4jX#|AWOj<&djlG69-Hp(jXp%{7)BK?Z{gYB4GP$u9Ok)tAX zg9Lsm2L8*nLlz+3@xftRG5Is$X%yaxVZ)rKX11{WozRLY1jc%R2pMat-|hnYhY4SP zqSiH^V6z|mZgyyw%+voP{r$U>~z_AHje#xm?r`Lb1U%T^ZYH!UfLw%_iq$`GXi}Fs7{Q#yoPz^u${e&Rtit z81dP!Fv_BA(ufbSF8<~sf>1rl1rKS?jlmYd${>f#^8mz|ECV99MKd8Hf|Svn68fGC z5%}|WOTF(IHa#LO!QVR&h-1yiUG{(NBmO2TAkXTR8w>OO=ZLHgjwLY53q(w6@HD|p zO%Tc~f!@uvh5Wz?$?=A4D&k_~{ISlfZ3~%$@+Eo=FC5l%1RC+6Ds&^&i)8ar4oAd$ z6b|cyM40Dp(_%*xJno+pobZnI7Z2_bL2ZtJqWPGQ`fUMw=vG;Tj{Fa{d^UB@28ia| zf?DzJp8$#oEs7+b0DK4zq>uqO$Yom$4J-4tRQ7gP!2n_2tM5C%-uA}cSphN?ZOY4T zCoa5U2$sYK#M3zxqdlH*S_vk!N5!1minR?y7{^YF82|*&v%EPFTJOHKgXb}~3}ilr zG9h|%W-wO=4NK*9s!UE^T4w6|qoD9JCg#~t6z2FIV7DU$bKa}Wob%MxZ$HWlghUp! z>?YF{nBuMFg(momOpL}kCSnuT1{4fc_gw3vcW#Og4j}qW>E3be+7bwTAcZuMS|(W3 zD-y6aj+jkPgft*U$e@8-z7K`wX3{*B`{&ilP$H|$;qagEhq=;@$HY7m?%+L!84qWN z_N277xfmyq$49fGtxV{IgXgOpmNEV%;lVU!*qoHPRI5iQIyDjKt52OcTW_%!+t<}& zjo2|jRK#a|zGs6}nlJbnz}EJO-msR%>-&9oYjY1X?)T$?fTboNBJ!o`c>oRlUOdhF z6Q9n^_ULE2h6OCM_d2Y=Injr`>xM{Utz#kcK(WkwiYy>H;C#;CK2`E74x-HbZTY&a zBk*=&=Vc`>V38V}5!-$@o(78E^0^ z;;QXA;)a73)kA_HvM(fhchOx)P8A>eI_m*|Fr45aniQW`WG1*NLihTXzLe1442n2~ z^$Uv^*mX}8%WVk&{Gwl8g|&J|HebtocJ%!d|_o z*m&z{pS&V$PseWW7O~YUqSewPlD{3r;)+bUr_q?RP~v1X$zt+eOLec15A;N2SI3ZkX_SJYlz`Ptyf9+{eM`f{Y5DJ1E zKo1NE+D9Pkgcx7JQ$^Y>g_+o|L8(D$XALrYe0)w?jtSZ%jSPx>$Nc@!#G@%s4P&I@ z!a!~5zVo;HSJ#l8O3OFNSvTVV!LNwZMF5#3a&ucCSI)E_qr}}MfmgA%onJ%j2?Y|= zcv)GuA&`>BkRrOW?kDJ^4rJ&ivG2j%VL7Ll7U49B@#-eU#2|ez9^z|mxTt?OcJsWp z)MB+^F=7&NEn`jPwH0yS-}+w3A|z{hq6B>AD%<4tI-d)=n%7IX32`L*$XXDrkN*}E z5b^|Zy#V0gtmfq7uN>`|mCtvZv{Co?@L#>TzD+nPd*;oBrh#Am0T~h$;qN?Fp+bW4 zvDVoB!7ydRv+YlNzEcbIc?^)Y5_L$t@Eou2yfg{j-O2wVHL>c8_S_OlF*6ppT2(A%u?BqCmu(>eO-{SVo$_Xml*<)L>-PmQ^n0{S?HaF>2B7J)$7I@pLq zzCYpBjg`z_4eS6nwPdH7cAzQWdwEP~V!ezLE1`M6FHFd>DehcwJ^{A(#WjIhRjW~o zl48hY;sg&Ynsp;uuF4E0Laef8AnBr`m+uN}=-;xQELDcDC7NXzto|~MRE}T|O^?7( z2zRz3jCqe@NWcl4K+@!-$N9=b&%ypuQ9fPs_qP$uub;Hi`GXCM)xRqyVxW)|U-yR# zxfx%fx$QgKseXw;j@a-%Y;|tAT3_ktmU=K>_mN6T?*3iq9Om*z@%|ny^RuB=IF^4v z{yf(5i0AQJ(p2NYz0Wj@PC1Kj0qbn?j-T3EyBK2`B51_o>fLu4j6TU+=9`CQ$5Bmo zhD%)E{~ASdC`N?cqoBcGMRAiiTy`NjoVBf?IExGcr>GY--oJxG;dVWj|zugtbk`^okvu~B3rKXhEw=G@6g~^=ATl~yHX z8Q=w^IQ{j32*B^G>e46iP^R0jmZjX7n?AX6coY)@+O8Yrp!IHYi5KJm9ZQ~Zjp;$P zrh0g>dXLOTm@28A9Y9;(lpRCYfh-iV{SHnx?B;@bQ+dBCPGvvkBL3@|p&s76@)R<= zI%aBpAWZ`zUD=~F4hx`&x$o)}l0pKbe<)n0Ju}$-BHMow-W~ro!6ATqrL6lmbmVK^ z^zV0t7C)x&Y8hC*-=W;m8SGHh_pa2*2wc4wC4i?f8@1>9$3S6Vw@*ulIYhwtTSj@|zi2Rz3;R_VdzlK2phkQyoxnY~S zFO$Y;AJTBh-==*b@ypZpt|jS(Z`Prhh(;PkQ5?3e9uSE;k>M3ec@hQGu=^lhhl%Qk zEwyp6E%BSqr~%njNsYo-p0~NTPd*I)5Po)8sy)Xdyr(vFa?~&P`WKEU=&9stD|b3( z&^9)7+9PTTlLHeZUhUo4jvvOm^bAp^3mfS}Fz;{oyhLT{fG_PNPvH~$&Y^LF*mb^? z)t~RjdiC7d?ghl7#Ks!R7=}i8L{T>x;SIJbAHTHLz!c&!G>PN?=BkgyQ4M zVz^%+NBtJ}Xo+>%sIo~En)4DSK6Ag+g}lbEGHkW#l#b?TVJAMjPLCIyY;U3K3ykhw zmL?x?EctWB2WFEYSFII7P2VV3%gm*wM_n4rXHKD}zfe2-@+m{|D`;sRq{7M$T8J=G z+dDzoPT$v0(3MwF4(|X{&*bWM!0VU3 zzm!rxW{1GlxPI8gZ4o*7`h=(S;>96FZ<73;8|bDFmiTp3dGb;GBsOEi$)6uG%MIPo zz?MYW(`&`BOc@R=EYn5mvVmuQQ%qqrO8i!a?+H+QB?30bpGw%u_oe{EyNxWq(DkIo z)_z}=rv#khjY*sy|Psecv#m)%wL-V#4p@cl@t z`lmRkeo+5$0+cC4m5B-(Il5f#*TwgsK1J21Nhhw(3R9+gu~R8OnoN`0Qo1k84DfUx z4LfXf+HN8GNurS|<<;^j+CnsK4b|$_8VN23d~(;kY-N^!&jZ$> z@KF+yxFY8pCsg19a-)7s(BNe!w1NM~xYz(y4>N?V$ZFI?IfV3Fe|A*Hp2E;jE$0Py z<^(*?aVvGjnMz?EBC`zp!Kogy-g?3a$8FOX2f)F7OM2pF{ZUmk^pUUD2rNz1{O8?=wz0u$kv!G@q?F8iJy^b>yRSlxmWaLh%4OOplZyvtqps~V!0HD zUotE{68INHZeTHa*0I0iIubYm&ntALVL2lVRSb3ajYmKVkP1j1Z`<42Gtv(o_$wGP ze!f#z9+^czK8m*E%iA}@^}PgfhQm@}hQnj9^EdsU+;;%F3gcT8W!j71(k7rn&l1D= z9^MY!1whj?^8x*LsHKI-P@at>rebJbb}Hp)p%Xe>sVHRi?OQD$df;SN50`cH!bXLE zk^nefna&tg5;fh6$2MM_|10RoSbElo1`vPZBYrZ%Atb*70>UXXoS0T9Iw+Dxz8r;o z+CL(DK|cR!h@>zTRi9ET#K-?tAf+k;A?6_|6V{3|zEn$B&&_WHN$O&|9YgheO>t5> zOzt{`Q`I#?<gWHD5~-a z7OnOj3!2-vJyV>^fHN=Ct?uKcl_QUEF=IDrXNtBZ(2!4h8InjZfnFvk?;f-|)sY1X zad9qx*E*tDKfrC>Zb*%nk0~GfY&s zNU;M|X`kE*f5FCVRwyE0v$Lmkjb^7s5c}cp`fOWkYx05DmG{b-F;NzhdaI~bK0vtQ zN6do|rj_bg))O;})|mT{voe1R@H~F(T&|4-13D64uBp4z^@oi{^1?gI;>`8>x?S=Xr{J#br>n;3MLPA^3W0Y9E(=BH#KMATy?^rfhBFt>%k z%j}a$KRSwqf|@((24`HfQC5)iWqJ0Cr_ic4&=N^$P_UisvlSsZPh>aP%v|jYZcVs7 z80@_uS(P#O(?ZQqQ|-=i!Tu_xu*TAG~}f=5Lo^B!+z;FuRZ#q z*}^jb=L=L06~qH1Q~2n&W&tLkZW=!Z{1`QfNd@UJ-Qi)7`HkhI$-~!cg?Pj>ixRSy zdb`R6D#nj?R(fVxC;*sbfxXngSzh zAf1{f*_>KhRV_ZWoccY!#7oV}jv-)RB_o{@Ac+a+K>@4_SFZo zKn1L}Z`$q-xRyl>8DbjHBVRpNQC+wJw}K2xdNzZ z-|@ky>2F0-)uLi}z}xl!F!ZOR`sZ8qP-|g1+&vvWW@g3IU9h#=`kxI~A*Jf;hkHe9 z@i$Mt-){`I&(ePR_%c|M7E+U&aOFJRHY2JBpGXpMrjVIXgKU0V;{qgyhEdbs3()wI z08sJOLls+srM|I;DB49Qvehca7=gg2;Y$V$QoOCSRaYtvO#a!mkNoaW0qNl(L@b$ixaf45z5|JisqH|$4x#W zD^lW$5_lMI_X(zVuvcChI*fNXVBuvd;D+EXG7h;F$ z6ZKx{-dEykkP6u=M4f%lx7>kWmi4|3d$uHYcBbA;4}$tl0bo={N$6#3`^BEfEH=(C z3ZKOsHA2z(i60FJu_m492E?5xwCWUElyy6-(5DZ;#S&@r*kLcE&tWw~hFctsogflt+)U+_ z@I~lfhEV6{@n{pGcW4v;TI-|A^f&*?!~z<{mCk_blD@pGn}5Mg`6Ohts_cc*mIGB> zm~GDJ6Bn1F;`DINZDLX&NK{l?JwJe{wKp_~N#ini;K8QadGO9;*DuB&y5dHXvA?mC|zpkk^5EV^rUC|qkJ4Nl zn2!OnqxxJgD;m{hL{%YHPNM$e5R`DJ0L3k$&C)nCA7f3~B zqhjZA$q-uFFjl^U$4>UUd#oa`0r=Ayu1N9nyPxyGMJdGXdw$3e(0=r0#|(=mbnUy= zF=XtMvA0DbFWRn9Kd>E|qbvk2rqtB=%shSq)dHD2!zUL+rDH_|*K{U1Ng*5G#k`GD zoXWuKqEXf*rJ>_lD!7&YL}k)D-W!}dFolE zI4P3n21i(-d2@eKxwWMcI6F0z4}E7reTM!{tKinB*-v?mod)yD&TC#e6cK`tHzVcu z@o0SLBJsGKbLOnTU2*)L)bk-A$FE`YJ03ktF3waD`}?CX%IZSn`xO(js4;IEjXI|? zuK?V8q!St$dQ=2soSukH>^cQi0Od4}oYFo_4tq2fxQygcHd#C&=Pp5H@qU;@{n!w~ z4^Bfl3IF}sUio(Oje#5}0D*CObX4(W-Y<8^(%fKjZsgX-25e9W;yXlYZ}PHfHvL0U zdkZezn;W4-{n8Z)Kr57pQ%?T2dLPvKzQmNwSmfpBmSzVb7* zSuP#@G40>GCsMb+95DJi{qh_4+MSfpQHv58o)uBQA3l-d0e?0N`G5$-1F7aw#+3?^ zACBL{5tVnY&)IdR*3!rC#@xVC)lJ}|Yn`h*>z{>np7V3z^ENJ^g@(0wDckw53rzm) zXVZkE%CpLbtcY$IpHkp1RZ$%3l5;08Zr3oD5^n=JoEoHv!SG}n${{+@Gjf_F*FX3|M1^Y%21gPHK0*iE`L=SVOPgqiA%Od`(r&kuy^`8K8Y*wT3eJ;If>^_k9fNsXqtz zsjJJ$bJ~duNz*wWEPo5B@v|%UW#a?)agIp@@`{7Z2Y)iP)|lexvdii2YuBB zGk^%Z2X&Q_1jxqnP9yT<&En_^zBfb(M-jsWKT;Q2>==it$TpqH7!zMu=36l1m!XNMd@PMbw7JFDQ^3fC`^B zfd?d9)Zz3Bu5BoY!aG ztwBpJL|@oHwTF-?P?SCS)13Kz6yPQ@@Vd94d7~e){wFF~Kkm)bIOQ05Kh2eHY662a zC&S-ULf45qPfLjTzyNG0@DLrJT0))YZx0f9_NN@6CSP!hLKVs)Ty+;P5Jn#8Zwew9f+JZJHOXU>O= zjB)4XGGC{-2K+^4URt9fhT{gPinV^A{_|QB^-JJ|XU%r`)5MCZBmSo#-H??tGxb~L z4#~Soep4jnH%nvK2nfM|FKz(})TOwn*k&TI3FWqAOUSm%YaTEoh?b!ZN)Hh4#UMpc zlFf$jme9sV?We%+t2-PW zCQ66c#_Hc0D^9L#wAcum0fghR>$t|IDJlqam}yX(%3QrV&I?!GNcU~N(IU7pdYdQ= zd$wBh+0C7Wz^6CxgErdm0YrJ5bC-euL@Kjy7wgg}^TEQ4_b-YaC~-)RI(1s~CC=Sx@F1@e#Z*LG(~v%CMHk6^&K zPFyaIL{PurQbv*I!~R{x$waNaTS?V4X$EZi9TtQy#JCT0tpc$N(-(7l{);7C!b@HM zC-M-@*+RD56Pou2BW|sTTioYAx+mApP(f?Ys|rYo)@mCoz2P|T@7KSQM)z|`r5${% ze$fzc@8y;k8dq31oUe>z3bn`VlL+P9zwz|pP zz-G{0dw73wgS%+mbjMw=gCeZMB9-MD%+~;HWL$9JP0d6|ErL_t0EJOo)AkgPjr~~- zQRf_dwu212mHH^Xm=iM4V7clN8>{CAY8~^VB0a;e)+Pmnp`=N*+)%@{=d|H*EW)6d zo=R|?*-_bF$6%;%@G&T1Eu8i2u)rS?9S@MK{1x9i_a+^N8=}3f^jb>aGa&n`> zwFN7SU%5SSb2~W4(%;^He)6`-QQ~myw2he_&2r@p{X&bvgHDrPdN z(4ix`VK$-mFCnI0|B)$-r5p^^8@5dZZ)vI-_goo%sMK0$HuiLn8aU^_9H54nIcfQ< zWWIb#bM}0XxX@bq(Ej{T;rjrsv28r5ellOfRC|~zy`vM(C8p$c$JrhSR6AOm7PppN zPTrP)apR&vp448yUGU*4p5?gV)Vpro@82qL@oMgVPg!}JXlaet0#g?ou=H7aC+R-w zPbS=cApq%ocQ+k+6eV&%KIUNzax@fpvA#wUvBIGH)APxIMKpJCf`*MSOCx0q51Gcf ziyTJ|!g|De8WrZ+wnRAy&n^Gi99*2sQ=xyZ7GT^}LSRh#;*GY%N!nQMNc5+yPXSiI z)9#?B4YGLI!4S$9e4Jageb^ISI9;lD(dW~9jEaEyA-acT-Imh@og4XMf+|^iV$lB9 z?$+*VZA0_=(0_;y@?Z(5rU2OPzQg=(g6@^m#)X%C5V(lFGRc%7UN9aS=}P$?S?g3a z{0AXD7anR*_y8}g#Vcdc6v-0Rp~K%2@I0o(y34*=)JJ>PZiW&!#Qb{%Q~JxN$HZ}j zFWBj;%inYm6K;Iz^AmBBkbg;V+7myKqa%G0WWZU^-40}xK;%1m)Z@ee+5qqX^z5~+ zh?Ra&wVstXbAmwNV#M+!)7IH^Xk84hW4XO3yhY*ZdmGlNx44dRYto8S8mY$qYV@(I zAWKY#jtyk2>}kbbrZvmm_<(y0mBM@i*<C4vmFz`PiF zxki}Uw-I-J1ZEODc)?fv&yvUY6c?!<%@JVAAV2_Qr==!?8Ou+_ZT!m076l;zJz3pS z9$~o$MUy+lxQAwu3)Ulkg49WEn6Tcby{n*2|9k=`)jq%3Z`1?bUoFn*N7if=5bPrr zISggG;_|jQn3Z)3ag?EcA8N2|N{ET`+u)A__r@175hf32^Z<0wD>4u{6@IDSS&&%fhNz?>&&~bphoYbQu2RWjIAQyn^CbZ}^4#ZE*FRl?}BSxy|b3Y=kt1uh6qco9rN;&ZGXZ3*c`oQm(-d z-VH$pF2$meH_}TlC4;5@+7xa?HdfdY8N&ZSSU7I5<@Tj*1<%)Hfm!=_Z`307M=L1z z1x%R)+&THNNmS@*n0J1;k}TU-nn}gr<2-Rw%DtTlwCTwDCj~OhDfJJI5m!7*ACX9W zUkb!0{*Y+@RpRKMJa=(r-pw4aUOF!LE|hqx7i!h^pKlnROi45h-;#5WXpAtw6^;EN zA=6ozMyT0ym#Nk>u-+92?lQKb5^Uqc>BiR0oe7Zorwc+=xm6m2*f>;3q)_{Ts{KEQ zzgbDXU)j;{4#BjT72sToW6V^0@5LvGYrS2xqBUg6G0)1>az(}v799K;3-Zt8P>Z%I z;00cm{RM+Yv@82!IoIxrmJM(98;EQkg%wtR7xJvPtQFDF0`P52q-(M~Je()8jp}3g0al8{uve zInC_T!A)6;7bmY-+e{_Z4U#5KjKW8CLo|Qsh97@j{Lb>%AIu@-cta{^0%h`jeu2Jr zJ~DRazg$!2bD+7Ok zkt;RhW}y8x-qn(byDP6R=Mm}PKwtnhu$A6c?nmyG^#`hQCVMG+jJ33DNQK;u7oQMI zi>AJVw;lIFd4`Z{nX$9d%gD?BI2D`7eF=y$hQ4O16^=!`erGBEdK4;v4=YM_dFwok zKXa1X1CdsV9#DB#c_&!U1Q$m+xA>>ohB1;@u~4y9Bw!8u{iP*%;iY3(;hwfzwl`LK z&fH)=Q099CQUPeV4rRzh2)>2f{H#CdKY%!Y!`4M0@{yBe0OY9H{)@k^A{h;dWl*t! zOIyIl7GrX51i1k1(AI-G*71pY=W<>cmsXSt4@}N%|9!!j#$fQGwMe3JUayuKB+`9S zQg}t*eyXr>#pa>(8FtF1=wJWr4n$4SDpBdjM?o10G@kMJiS#|X-TvZraxaBrDl1yQ zJtQ5ahpV}Iq4eAGpAygFQ*gn>YVTkkJ8YoX$=^A@NZa7@IahdJXGJZr7SbQc*AjV- zW$m$KLqE3&RcO}!DVO-je&VeFIa!AbI&DjSOd!?aOs@NZDtoQ>d#%<3mgDqoQS5#$ zLn8x@-CfkKQhm?;+a!n)aRV%MmO5&2e7q|w0)8zxZGnV&0}wIP>TuLs-R9f%U3TQ*Tr@|6xJ9gaou*4)`OV6V z?@O1i9MLVOnAtiFbbgt}+pS!);ade97MzW1v(TH4p`J8P0mDA8m09m`9uU(j_Mq6m zF!(;gfJ||?;&FTZ(|$!LN{v#=KvQV{WW`nsdDzC@C}Yg7dqwCTabJsh?G?0=G@ zfsU6w-^aJfvG9j$dAhl6FmCCB0`_@vYW-Oou~})W$zpLD7bs~{`f0iK zj&5Wu09%(OLh?~V=Ho5>LdR{!(>-iFU+)}ekH(d}+WUDh776o{xbR)E4=}F2^xBt$ ztY0qu?knBM^jV6QetU=TkEyGp>?U+Z8?(h^yjnSGD z9bn|`a=kwvYIBrsVca<$8CV|)5@@BwaiSjwO>O&RtyN#QZS+=3e=eWg7=SqWB)4{6-nVnpQ zg0xyQJZbO_oSh?29f-vnh1WfK+p*-_3X^d(d%C_ycfu!+#xYYB%0MrS1cDUZ|0-|t zcAByL0^x3mTBmI$xixxMGH#U747*uo^P4++2s`Q0V(Im#)-(|oZWL_sMY06S9U1w5 zK4Gt0BfD+9EHWxR;HdVpFFN4`R7H=w>Uv`^bnyMC`S-;5fKN&(9EWLcjLY#R( z$!ypdW3H`l!l*5gN6=dhPL+_)#L*2hwGJBNeTBK0kPjp>Wd76tXkI)-fl)!=Je`C^u$-;+p5m5JYXL09O(e=rMBe{ z5=DPy&I(zWFkp72v~c{TE^5(&M5Ei<<&w~La_M+v*QE1eRv72EdIa^VnJo^aRxBnY zVW+F@!>}aVNhO)$6e(&q-3D?pIS0e~L&4AGh ziE zDYKZLu^VIKJ^Pf(ot?bmFB|Dc)jSV~zA(queSvn1J5YLoB+9*{zWz8XY$&sZ(6cHn z6#^JhRr)*djc4=?rad;rDO77zJIrH^VW5zj~a()~m1Q*d#;N zit>yX-YqPze{<5Qa;S(cpG|*ZfJbC)-g0Dj@PHM1)rNB$Pv&r0X?}& zjQj2b31297@oMS|y&qbjY3g#MaR6{uQ`Okb)PZNdf2+50;-PO;{|vQswBaaS?%2w! zVpT26l|^^5{0#rZ=4u*?j239S^+Ds!+)Ec0_#%Tr^nX3)^FNf0!7h< z_SgfZV)ru^chYac6$fFb9Mr{;L&Ri)4+d-gGe1+^qsP=}=DZx8+57bS8>cTLqoT*7 z=^{wW_A`&SMmtR8Y7L~F4Gr8j(oBz;$PJxNp2#qNL^8h2~zO z-vY(mkLn9*+amsb+~==u7OnT%iProzpY{LYb7$}D;=*!H?6P)T2Iu&!$sSGMwg0|c zkK7*aXx&v6j?(XLN{_OqgUyJk>q*Aa9%Qfzmb_g#Vz$|s`TZp-iHP=-6eqT_U!84a zO^rn%(NR;Xqe7CBW69`^*kpW^F_mFMg{FbseBO?HS2bN|lG6=tq;7oOG3#S3l z{R~qVijp!%>VUuQ?!+5*@TM5&bY^q>{!Qwa$Z@Kl-*?Vx11<9M^L4CG*0P4)CUZ7< z^7QNM&0L}lg>2juZz=ALANOdQ_?WSI!FVJk9KSZ#+19Wvs; ztG?XQ&THKAI1D|hsWC|vj z4&2cx{xa`M;*FTQa|_J11&!g2AGM^U&b!T0&gQEdFPDWbE<^ND3y+DxtY+%wdE-dG zuYAUv83ouXRmQJUb{P&*-Q$n^=xk`XNOINq;ud@F=TSu6kNytc z^p@t=Nf_o1eB_0m+BWn5@B-H>Q2OugzjG8dZi@}667jn>WTM%ic14*xV+R9C!N=Yx z)F^eDR$W5zi!TqZCOi!#UA9$yMf&HrHs7TxdWd^&y-cgzH1Nyy5+G+a^uCyP_amZV zk2W=y@F+SSK|Qe(g%oAv9=tAXl8+Y3A_<3)6h)dFw-e-DA-ws_k%B(w#1-jNH&J_Y zgJn(Xywm%^vu`W$R{FJjXN)WRo)~h+{yn#U?vD1wPwJL1>-vWNX$STtVYq@%{4J`< zS(nH9xS!2N>7drST4pn~giNI-=Fn{QiOl3elffnxr%Hse6q)(Tnn$#V&O1svSc^eQ zqX6W+KxOrun2x7spr;T`7Oh|IwMNRPtBIrgQO(P%++r(-yi0?1rD(S$$9wCQpWoLU zS_%$VNcB!?x~rYE(>!()pEN%#obh*;Mhf~J(KoA1j!-5)ioN^>9@<2SgjV2Gx7`m9{dR0ooaXMFw+YI5k zuOHarwpg1LDwK(I4z|!{|E^DGe*RN#`-rpJWI?6dB6>*c!R4vMf|$CGFVjNWIZo+~ zz|}h6%iyJR#iNOr>YFs2s@Oq0N*lJ(N(1vOiC=NNPyQRRj~p4-onu0?bsKyE_yazn&6UBiA1~{dY>_|JGq*pK5qPLSh&8vpbCKOofMkCeL&_@6#^O@UHh|7Yg^|KMB(kR0kj z4OjK4C_ko0N>GPmPJvMC&tB-j;TEfX1->c+Lb&{Ui!iAc^?TK_ZU&V4@6h);WDYa% z8(tKjC(oBk*$~h?ptUY7XWHsfV}C(fErnkA(IO0@2E5+zD))2X(Fu5#N38Dhhcn=j zDKRgBHAA2A+&jNM=WlHEm&!tb6|;y$OTDWKK|{+xUR@`=gkNV#Z`2{EaI6piTshx! zu=_P0dQ0q}*?NPw+WfEGn|7a&i=h+2_Ky^-%VGy3Izo^&c&G#_W)%D#@fJ!`xp7mS z{l=WyP7vu*g0wZldj)*;aHzFRMkhb z;4Iv5HE**v$ty?qa0bg-jQr_)JLP9|-MvCJ{%7d^eAZAC{&2VIxBJCVnQEG(ne579 z(s{rBLTJMec5CB{-M|9W0hS;cbY7n!@}VLt+t}Y~%Mz~)eQR?cfaQ~KefgGpF79VE zdMP~pfnep0Ah%PnM5?=o!2ZuvhD*abRihFv;+6VOM)vo@w;{t@Dg~=EO|6V3$Q=Fl zHoeO|H(Il^p`?@e$(TzQ{;v~zondUTz1{J>^U-0wnH|ClO6Xh6Ue0eN%P0o>nL5b! zV=D4eX}Y)ZJ`B9$5F7nuSI z@#iHq?WjsNQBvUh+Yqt~?)?bd<@cY^i7aUS+85$jwk1e0>T<*;T#>H*(~&W%d@{RH3qPe0xyz@5)||u4;Bb5 zr=6x-7i<1mG>&-?Q9eW~?rE~0D^7?@VXbNJ#yGzAm8kE^H$=9V@WW7Dn@j^nQ=$FmfOfIW_xPq+)hx##_F0@nb0y;AjX>sGDrdPT;alQ z1)5NdM4p+MEk8Zx&qgY|4P%hxO+GKu*1iFfG*8deA4b}@rKp|I+-0Akr(cf!8xxE*<_D!%NJpkAyp2(=n5G&& z;2Iob^ybw&uSm;c4BpYx=gq$C`SPTwmg2Hn*YcLvO=P^mk;~aZ>jbv|2~WWSyQ85( zAq=2f_XImBR67z#jQlLanh=W?FQ6P(sOvk|9Xjb+?a-oMAb#6h?3!%pM2?#RQEFS16=C-h+B>eP8M_t72_&4p33MMo`nIo>6i&RB2P2AZ6+u z{lM_hc-?x|V^O|ZJ8T{7qQXhAXu8t{(?6fDPJFhMHTD)EPCjX6>yi(su;tq)5o5K9 zpH52L)A9D|=!g8mH=@2dvvQo^aV0|EO=7xbsl@cSLVET}$Hk=DU&l#M!rI*wi8Z7^ zuue?9vy2P5cM+O*wl!Qnq0#+A{I7|ZE|xHU)3$_X)vH%*WSHVfO(JT{g5(<0`rSOC zwv?vPB*W`aseA1F1X;WQfBA}m+s2v~EYlNPky2FHm+?BNHc0f2LrvsV*+)O4j1v!M z`M33L&bqSr$E+6$I0uBY!%j;+Dkf905&*FBYLok3+C1giG)zTQxTXIvx-FHm%CHPw z4QQb~PXE*(eNx^p^R$TVDG=*fUfaq`y-Qu|q<9Ip`gRH0ovw-D(8%=T&0x~a(}g<@ zzJZ7bM|rg#mk+tV!?gaol5tH>6Y;U)JfS&6eGMOs`?;+%#@gTE);F?r$8THP#p^xU zI%U*m{6WD==z0I9+Pag6X~~v&GzRLbV-R+_rw1Nbj{!#Q-aBOE zM$QkoOqvOLET@_Y5^XT2<3XpI zaS2*cXX$vOVb_5mspB3C#1RSO>Wus{a#x-l?CKHni>j{g>GDAo!-oE~{&6tgChXGUyrlOw`4=lqHK<<(fSzZs7<5TBl+oU4n$L?l zgh3NkX2!k_Ur8vxSh0t!%rh}5w91_`f5KQL3uQ|hW8213d;1EB)A+|MS&M)9PU|{~ zR)j)Ll?HDx!8fh2Kl@l=SG2>`7G+mKmJHc!<=U6Hq42s=6X7j6rbx~HPb_-GylC=? z{U3c*bzv$T@c77=915bWA!FEx^G3ARl!AS1NAAgiFY>&f173urP&5lCG{(^=QfXFF zU9af9<4e_R{>?-rza_fSt3~ZENkk#+`Ck}pVA-KfgsKS)4pScnkseSUnLWEJz93EL zIb)LmPq1Vw@SRh)a;3g_3HeOy5(ZtD6-r7*8Co0(BDykUbnCIGnoNDOKXdvsHaDUN zSAc+HMMwXYm5A~AgNuIo=9h@~ngPxS&$(`Jp^H|Po*JF0%JlRLs6g8s^vzp?sC}9S zVwsg5T3+&(8?{}+!QU`9(eK~RJz}q%b?qwS3C{3Hw5ru<4VxMB|{ z`EJegRmOr>xpvC+eCPMyFsbMi-Dwm#c4FRi)PxyF6jz}1%q_nT>(vYkuB1uEwTtlz zveU;Xw|0FFscrhAtEFQLCxRvRlx`K^xXSnUJUdyfcb=4erQ}psCv4`MH@c4YRiBUBCGks=A!}q-= zqZHu@Btd3xF)pF}1a4jwP{_mCXFl?t&(m_kdZ}U&bA#*8GJQ`DL*Dk#{luB<#h+f$5|y`Wu(G zPZcFAR@NQOgrfl4Z{)MpbsMEb`v1Jh(UAIy)R3J$;?7+o^M3-K1Y!HuDnLc?*@TDp z&)c|=lIK^QLfRj0o@F^Wq+X325Mfn;+)LBFa}2(7JcT z(f)*}yw5_}MWve(0s20EeG#Q7riYK@cRb^}_+VqAa{h>;_~FWkan!cXoFK+=rGm0X z!;suc=iRtYF&#EvE`BJSfO zOOM?uvDoZby}G!5-}3sU6w~)fKUp?8nh=yP-1%jb3~kZ~SN#$nD9a}6)#A{*1+JLB z3ff&rz|8;KJA;*mVK|I$|57SpLXmm|@MO|$>kFUginjew)Om#g<%&47J<1PlQ~z&6NQg}V3^ zbcF%$gPi5`_S=VC{rj02u$YIE1}tA|B?D&9^GCkB2-qf zy3td;0D7F9*W6Dec$SrT;VDa7$(~-;tQ$O8P9#k?(ovP+L`$txTi7BunV(jkmo3FP z-vgnt`JQ!p@30(Gh5(>N?s+mQT%Eg2UQ)1Lg+Z~c$L;7hju8Z)tG-(| z11%i510!Gv7=Zt0z$3RE{kkIr0qCstnhaQ3u%8_Rdq=/hubzilla/version \ - && chmod +x /hubzilla/entrypoint.sh \ - && git pull \ - && git checkout tags/$(cat /hubzilla/version) \ + +RUN chmod +x /hubzilla/entrypoint.sh \ + && git checkout tags/$HZ_VERSION \ && rm -rf .git \ + && mkdir -p "addon" \ + && mkdir -p "extend" \ + && mkdir -p "log" \ && mkdir -p "store/[data]/smarty3" \ + && mkdir -p "view/theme" \ + && mkdir -p "widget" \ && util/add_widget_repo https://framagit.org/hubzilla/widgets.git hubzilla-widgets \ && util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons \ - && util/add_addon_repo https://framagit.org/dentm42/dm42-hz-addons.git dm42 - -FROM php:7.4-fpm-alpine -RUN sed -i 's/dl-cdn.alpinelinux.org/ftp.halifax.rwth-aachen.de/g' /etc/apk/repositories \ - && apk --update --no-cache --no-progress add libpng imagemagick-libs libjpeg-turbo rsync ssmtp shadow mysql-client postgresql-client libmcrypt tzdata ssmtp bash git tzdata openldap-clients imagemagick oniguruma libzip \ - && apk --update --no-progress add --virtual build-deps autoconf curl-dev freetype-dev build-base icu-dev libjpeg-turbo-dev imagemagick-dev libldap libmcrypt-dev libpng-dev libtool libxml2-dev openldap-dev postgresql-dev postgresql-libs unzip libmcrypt-dev libxml2-dev openldap-dev oniguruma-dev libzip-dev \ - && docker-php-ext-configure gd --enable-gd --with-jpeg --with-freetype \ - && docker-php-ext-install gd json mbstring mysqli pgsql xml zip curl json xml zip pdo pdo_mysql pdo_pgsql ldap opcache \ - && pecl install -o -f redis \ - && docker-php-ext-enable redis.so \ - && pecl install imagick \ - && docker-php-ext-enable imagick \ + && util/add_addon_repo https://framagit.org/dentm42/dm42-hz-addons.git dm42 \ + && util/update_widget_repo hubzilla-widgets \ + && util/update_addon_repo hzaddons \ + && util/update_addon_repo dm42 + +FROM php:8.2.22-fpm-alpine3.20 + +RUN apk --update --no-cache --no-progress add \ + bash \ + git \ + icu-libs \ + imagemagick \ + jpeg \ + libavif \ + libgcc \ + libgd \ + libjpeg-turbo \ + libmcrypt \ + libpng \ + libsodium \ + libstdc++ \ + libwebp \ + libzip \ + mysql-client \ + musl \ + oniguruma \ + openldap-clients \ + postgresql-client \ + rsync \ + ssmtp \ + shadow \ + tzdata \ + zlib \ + && apk --update --no-progress add --virtual .build-deps \ + autoconf \ + build-base \ + curl-dev \ + freetype-dev \ + icu-dev \ + icu-data-full \ + imagemagick-dev \ + libavif-dev \ + libjpeg-turbo-dev \ + libldap \ + libmcrypt-dev \ + libpng-dev \ + libsodium-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libzip-dev \ + make \ + oniguruma-dev \ + openldap-dev \ + postgresql-dev \ + postgresql-libs \ + unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp --with-avif \ + ### Make sure they're are NO 'configure' commands after this command. Ref: https://github.com/docker-library/php/issues/926 ### + && docker-php-ext-install \ + bcmath \ + curl \ + gd \ + intl \ + ldap \ + mbstring \ + mysqli \ + opcache \ + pdo \ + pdo_mysql \ + pdo_pgsql \ + pgsql \ + sodium \ + xml \ + zip \ + && docker-php-ext-enable intl.so \ + && pecl install imagick \ + && docker-php-ext-enable imagick \ + && pecl install -o -f redis \ + && docker-php-ext-enable redis.so \ && pecl install xhprof \ && docker-php-ext-enable xhprof.so \ && echo 'xhprof.output_dir = "/var/www/html/xhprof"'|tee -a /usr/local/etc/php/conf.d/docker-php-ext-xhprof.ini \ - && sed -i '/www-data/s#:[^:]*$#:/bin/ash#' /etc/passwd \ + && sed -i '/www-data/s#:[^:]*$#:/bin/bash#' /etc/passwd \ && echo 'sendmail_path = "/usr/sbin/ssmtp -t"' > /usr/local/etc/php/conf.d/mail.ini \ && echo -e 'upload_max_filesize = 100M\npost_max_size = 101M' > /usr/local/etc/php/conf.d/hubzilla.ini \ && echo -e '#!/bin/sh\ncd /var/www/html\n/usr/local/bin/php /var/www/html/Zotlabs/Daemon/Master.php Cron' >/etc/periodic/15min/hubzilla \ && chmod 755 /etc/periodic/15min/hubzilla \ - && apk --purge del build-deps \ + && apk --purge del .build-deps \ && rm -rf /tmp/* /var/cache/apk/*gz -COPY --from=build /hubzilla /hubzilla -ENTRYPOINT [ "/hubzilla/entrypoint.sh" ] +COPY --from=build /hubzilla /var/www/html + +ENTRYPOINT [ "/var/www/html/entrypoint.sh" ] + CMD ["php-fpm"] + VOLUME /var/www/html -ENV SMTP_HOST smtp.domain.com -ENV SMTP_PORT 587 -ENV SMTP_DOMAIN domain.com -ENV SMTP_USER user -ENV SMTP_PASS password -ENV SMTP_USE_STARTTLS YES diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..68b7e8f --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024 Dale Hitchenor + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index a73431c..0000000 --- a/README.md +++ /dev/null @@ -1,34 +0,0 @@ -[![Docker Image CI](https://github.com/sebt3/hubzilla/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/sebt3/hubzilla/actions) - -# Hubzilla Docker image - -This is the packaging of [hubzilla](https://framagit.org/hubzilla/core) as a [docker image](https://hub.docker.com/r/sebt3/hubzilla) based on php:7.4-fpm-alpine in a multi-arch (amd64, arm, arm64) format. - -## Supported environnement variables: - -| Variable | Default | Description | -|-------------------|---------------|---------------| -| DB_TYPE | postgres | Database type : postgres or mysql | -| DB_HOST | postgres | Host name of the database | -| DB_PORT | 5432 | Database port number, set empty to use the default of your DB_TYPE (aka 3306 for mysql) | -| DB_NAME | hub | Database name | -| DB_USER | hubzilla | Database user to connect to | -| DB_PASSWORD | hubzilla | Database user password | -| SMTP_HOST | smtp.domain.com | Mail server hostname | -| SMTP_PORT | 587 | Mail server port number | -| SMTP_USER | user | User name for the mail server | -| SMTP_DOMAIN | domain.com | Mail domain | -| SMTP_PASS | password | Password for the user on the mail server, if set empty, then no authentication on the smtp server will be used | -| HUBZILLA_DOMAIN | domain.com | Web domain name for hubzilla | -| HUBZILLA_ADMIN | | email of this hubzilla administrator (you) | -| REDIS_PATH | | If set (to something like " tcp://redis") then php sessions will be stored in this redis server (usefull for horizontal scalability) | -| LDAP_SERVER | | LDAP serveur name (dont forget to add "ldapauth" to the ADDON_LIST) | -| LDAP_ROOT_DN | | LDAP username to connect to (ex: cn=admin,dc=domain,dc=com) | -| LDAP_ADMIN_PASSWORD | | Password for that LDAP user | -| LDAP_BASE | | Path to look for users in the directory (ex: ou=people,,dc=domain,dc=com) | -| ADDON_LIST | nsfw superblock diaspora pubcrawl | Addons to activate during initial configuration | - -## Usage - -Please see the [install directory](https://github.com/sebt3/hubzilla/tree/master/install) for usage examples. - diff --git a/install/nginx.conf b/config/nginx.conf similarity index 98% rename from install/nginx.conf rename to config/nginx.conf index db8af1c..443738f 100644 --- a/install/nginx.conf +++ b/config/nginx.conf @@ -40,7 +40,7 @@ http { location ~* \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass hubzilla:9000; + fastcgi_pass hub:9000; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f12ad9b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,81 @@ +version: '3.5' + +networks: + public: + external: true + hubzilla: + +services: + hub_db: + container_name: hubzilla_database # ARBITARY (user can/should change) + image: postgres:16-alpine + restart: unless-stopped + env_file: + - .env + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] + interval: 10s + timeout: 5s + retries: 5 + #healthcheck: + # test: ["/usr/bin/mysql --user=${DB_USER} --password=${DB_PASSWORD} --execute \"SHOW DATABASES;\""] + # interval: 10s + # timeout: 5s + # retries: 5 + networks: + - hubzilla + volumes: + - "${LOC_DB}:/var/lib/postgresql/data" + + hub_web: + container_name: hubzilla_webserver # ARBITARY (user can/should change) + image: nginx:1.25.3-alpine + restart: unless-stopped + depends_on: + - hub + - hub_cron + env_file: + - .env + volumes: + - "${LOC_NGINXCONF}:/etc/nginx/nginx.conf:ro" + - web_root:/var/www/html:Z # Retain the capital Z (SELinux permission issues) + networks: + - public + labels: # Traefik rules: may NOT work/ be applicable to everyone + - traefik.enable=true + - traefik.http.routers.hub_web.rule=Host(`domain.com`) + - traefik.http.routers.hub_web.tls=true + - traefik.http.routers.hub_web.tls.certresolver=le + - traefik.http.routers.hub_web.entrypoints=websecure + - traefik.http.services.hub_web.loadbalancer.server.port=80 + - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https + - traefik.http.routers.redirect.rule=Host(`domain.com`) + - traefik.http.routers.redirect.middlewares=redirect-to-https + - traefik.http.routers.redirect.entrypoints=web + + hub: + container_name: hubzilla_itself # ARBITARY (user can/should change) + image: "dhitchenor/hubzilla:${VER_FULL}" + restart: unless-stopped + depends_on: + - hub_db + env_file: + - .env + networks: + - public + - hubzilla + volumes: + - web_root:/var/www/html:Z # Retain the capital Z (SELinux permission issues) + + hub_cron: + container_name: hubzilla_cronjob # ARBITARY (user can/should change) + image: "dhitchenor/hubzilla:${VER_FULL}" + restart: unless-stopped + depends_on: + - hub_db + networks: + - hubzilla + command: ["crond", "-f"] + +volumes: + web_root: diff --git a/entrypoint.sh b/entrypoint.sh index 69d6f99..f95faf8 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,87 +1,90 @@ -#!/bin/sh +#!/bin/bash -CURVER="5" -[ -f /var/www/html/version ] && CURVER=$(cat /var/www/html/version|sed 's/\..*//') -if ! [ -f /var/www/html/version ] || ! diff /hubzilla/version /var/www/html/version;then - cp -Rapf /hubzilla/* /hubzilla/.htaccess /var/www/html/ - FORCE_CONFIG=1 -fi - -if [ "${1:-"failed"}" != "crond" ];then # Do no configuration for crond - - - -# Check for database +### CHECK FOR, AND SET THE DATABASE ### CNT=0 case "${DB_TYPE}" in -mysqli|mysql|mariadb|0|"") -srv() { mysql -u "${DB_USER:="hubzilla"}" "-p${DB_PASSWORD:="hubzilla"}" -h "${DB_HOST:="mariadb"}" -P "${DB_PORT:=3306}" "$@" 2>/dev/null ; } -db() { srv -D "${DB_NAME:="hub"}" "$@" ; } -sql() { db -e "$@" ; } - # Warning mysql is largely untested - while ! srv -e "status" >/dev/null;do - echo "Waiting for mysql to be ready ($((CNT+=1)))" - sleep 2 - done - if ! sql 'SELECT count(*) FROM pconfig;' >/dev/null;then - echo "Database doesnt contain the 'pconfig' table... Installing database schema" - db < install/schema_mysql.sql - if [ $? -ne 0 ];then - echo "***** Installing schema generated errors *****" - echo "***** Even if this sound very bad, continuing *****" + # WARNING # mysql is still largely untested.. + [Mm][Yy][Ss][Qq][Ll]|[Mm][Yy][Ss][Qq][Ll][Ii]|[Mm][Aa][Rr][Ii][Aa][Dd][Bb]|0) + srv() { mysql -u "${DB_USER:-hubzilla}" -p "${DB_PASSWORD:-hubzilla}" -h "${DB_HOST:-mariadb}" -P "${DB_PORT:-3306}" "$@"; } + db() { srv -D "${DB_NAME:-hub}" "$@"; } + sql() { db -e "$@" ; } + while ! srv -e "status" > /dev/null; do + echo "Waiting for MariaDB/MySQL to be ready ($((CNT+=1)))" + sleep 2 + done + if ! sql 'SELECT count(*) FROM pconfig;' >/dev/null; then + echo "======== INSTALLING: database schema ========" + db < install/schema_mysql.sql + if [ $? -ne 0 ]; then + echo "======== ERROR: Installing schema generated errors ========" + echo "======== RESULT: Continuing.. See repo if further errors occur ========" + fi + FORCE_CONFIG=1 fi - FORCE_CONFIG=1 - fi - DB_TYPE=0;; -pgsql|postgres|1) -db() { PGPASSWORD="${DB_PASSWORD:="hubzilla"}" psql -h "${DB_HOST:="postgres"}" -p "${DB_PORT:=5432}" -U "${DB_USER:="hubzilla"}" -d "${DB_NAME:="hub"}" -wt "$@" 2>/dev/null ; } -sql() { db -c "$@" ; } - while ! sql 'SELECT * FROM pg_settings WHERE 0=1;' >/dev/null;do - echo "Waiting for postgres to be ready ($((CNT+=1)))" - sleep 2 - done - if ! sql 'SELECT count(*) FROM pconfig;' >/dev/null;then - echo "Database doesnt contain the 'pconfig' table... Installing database schema" - db < install/schema_postgres.sql - if [ $? -ne 0 ];then - echo "***** Installing schema generated errors *****" - echo "***** Even if this sound very bad, continuing *****" + DB_TYPE=0 + ;; + [Pp][Ss][Qq][Ll]|[Pp][Gg][Ss][Qq][Ll]|[Pp][Oo][Ss][Tt][Gg][Rr][Ee][Ss]|1) + db() { PGPASSWORD="${DB_PASSWORD=hubzilla}" psql -h "${DB_HOST=postgres}" -p "${DB_PORT=5432}" -U "${DB_USER=hubzilla}" -d "${DB_NAME=hub}" -wt "$@"; } + sql() { db -c "$@"; } + while ! sql '\q'; do + echo "Waiting for Postgres to be ready ($((CNT+=1)))" + sleep 2 + done + if ! sql 'SELECT count(*) FROM pconfig;' >/dev/null; then + echo "======== INSTALLING: database schema ========" + db < install/schema_postgres.sql + if [ $? -ne 0 ]; then + echo "======== ERROR: Installing schema generated errors ========" + echo "======== RESULT: Continuing.. See repo if further errors occur ========" + fi + FORCE_CONFIG=1 fi - FORCE_CONFIG=1 - fi - DB_TYPE=1;; -*) echo "***** Unknown DB_TYPE=$DB_TYPE ******" - echo "***** Skipping database check/setup ******" - echo "***** YOU ARE on your OWN now ******" - FORCE_CONFIG=0;; + DB_TYPE=1 + ;; + *) + echo "======== ERROR: Unknown DB_TYPE=${DB_TYPE=Unknown} ========" + echo "======== RESULT: Skipping DB Setup/Check ========" + FORCE_CONFIG=0 + ;; esac +cd /var/www/html - -cat > /etc/ssmtp/ssmtp.conf < /etc/ssmtp/ssmtp.conf mailhub=${SMTP_HOST}:${SMTP_PORT} UseSTARTTLS=${SMTP_USE_STARTTLS} root=${SMTP_USER}@${SMTP_DOMAIN} rewriteDomain=${SMTP_DOMAIN} FromLineOverride=YES -END -if [ ${SMTP_PASS:-"nope"} != "nope" ];then - cat >> /etc/ssmtp/ssmtp.conf <> /etc/ssmtp/ssmtp.conf AuthUser=${SMTP_USER} AuthPass=${SMTP_PASS} -END +SMTPCONF fi -echo "root:${SMTP_USER}@${SMTP_DOMAIN}">/etc/ssmtp/revaliases -echo "www-data:${SMTP_USER}@${SMTP_DOMAIN}">>/etc/ssmtp/revaliases +echo "root:${SMTP_USER}@${SMTP_DOMAIN}" > /etc/ssmtp/revaliases +echo "www-data:${SMTP_USER}@${SMTP_DOMAIN}" >> /etc/ssmtp/revaliases + +# Arrange permissions for folders +for folder in "${folders=addon extend log store view widget}"; do + echo "Fixing folder: $folder" + if [ "$folder" = view ]; then + chmod -R 755 $folder + else + chmod 755 $folder + fi +done -chown -R www-data:www-data "store" chown www-data:www-data . -if [ ${FORCE_CONFIG:-"0"} -eq 1 ];then -db() { PGPASSWORD="${DB_PASSWORD:="hubzilla"}" psql -h "${DB_HOST:="postgres"}" -p "${DB_PORT:=5432}" -U "${DB_USER:="hubzilla"}" -d "${DB_NAME:="hub"}" -wt "$@" 2>/dev/null ; } - if ! [ -f .htconfig.php ];then - random_string() { tr -dc '0-9a-f' .htconfig.php < .htconfig.php addon/jappixmini.tgz - util/config jappixmini bosh_address "https://$HUBZILLA_DOMAIN/http-bind";; - #xmpp) util/config xmpp bosh_proxy "https://$HUBZILLA_DOMAIN/http-bind";; - ldapauth) util/config ldapauth ldap_server ldap://$LDAP_SERVER - util/config ldapauth ldap_binddn $LDAP_ROOT_DN - util/config ldapauth ldap_bindpw $LDAP_ADMIN_PASSWORD - util/config ldapauth ldap_searchdn $LDAP_BASE + diaspora) + util/config system diaspora_allowed 1 + ;; + xmpp) + util/config xmpp bosh_proxy "https://${DOMAIN}/http-bind" + ;; + ldapauth) + util/config ldapauth ldap_server ldap://${LDAP_SERVER} + util/config ldapauth ldap_binddn ${LDAP_ROOT_DN} + util/config ldapauth ldap_bindpw ${LDAP_ADMIN_PASSWORD} + util/config ldapauth ldap_searchdn ${LDAP_BASE} util/config ldapauth ldap_userattr uid - util/config ldapauth create_account 1;; + util/config ldapauth create_account 1 + ;; esac done util/service_class system default_service_class firstclass - util/config system disable_email_validation 1 util/config system ignore_imagick true + util/config system register_policy ${REGISTER_POLICY} + #util/config system disable_email_validation 1 fi -if [ ${CURVER:-'5'} == "4" ];then - - echo "======== Running udall ========" -if [ -d extend ] ; then - for a in theme addon widget ; do - if [ -d extend/$a ]; then - for b in `ls extend/$a` ; do - echo Updating $b - 'util/update_'$a'_repo' $b - done - fi - done -fi - echo "======== udall SUCCESS ========" - echo "======== Running z6convert ========" - echo "This Will take a while..." +# Extra configurations needed if Hubzilla version is 4 or below +CURVER=$(printf "%d" "${HZ_VERSION}") +MAXVER=$(printf "%d" "5") +if [ CURVER -lt MAXVER ]; then + + echo "======== RUNNING: udall ========" + util/udall + echo "======== SUCCESS: udall ========" + echo "======== RUNNING: z6convert ========" + echo "This may take a while..." php util/z6convert.php R=$? - if [ $R -ne 0 ];then - echo "======== FAILED z6convert ========" + if [ $R -ne 0 ]; then + echo "======== FAILED: z6convert ========" else - echo "======== z6convert SUCCESS ========" + echo "======== SUCCESS: z6convert ========" fi fi -mkdir -p /var/www/html/xhprof -chown www-data:www-data /var/www/html/xhprof +chown -R www-data:www-data /var/www/html/* +chown -R www-data:www-data /var/www/html/.* -fi echo "Starting $@" exec "$@" diff --git a/install/docker-compose.yml b/install/docker-compose.yml deleted file mode 100644 index e7205de..0000000 --- a/install/docker-compose.yml +++ /dev/null @@ -1,72 +0,0 @@ -version: '3.5' -networks: - hubzilla: - public: - external: true -volumes: - voldb: - volweb: -configs: - nginx: - file: nginx.conf -services: - postgres: - image: postgres:12-alpine - environment: - POSTGRES_PASSWORD: hubzilla - POSTGRES_USER: hubzilla - POSTGRES_DB: hub - volumes: - - voldb:/var/lib/postgresql/data - networks: - - hubzilla - nginx: - image: nginx:alpine - configs: - - source: nginx - target: /etc/nginx/nginx.conf - volumes: - - volweb:/var/www/html - networks: - - hubzilla - - public - deploy: - labels: - - traefik.enable=true - - traefik.http.routers.hubzilla.rule=Host(`domain.com`) - - traefik.http.routers.hubzilla.tls=true - - traefik.http.routers.hubzilla.tls.certresolver=le - - traefik.http.routers.hubzilla.entrypoints=websecure - - traefik.http.services.hubzilla.loadbalancer.server.port=80 - - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https - - traefik.http.routers.redirect.rule=Host(`domain.com`) - - traefik.http.routers.redirect.middlewares=redirect-to-https - - traefik.http.routers.redirect.entrypoints=web - hubzilla: - image: sebt3/hubzilla:5.0 - depends_on: - - postgres - - nginx - environment: - DB_HOST: postgres - DB_PORT: 5432 - DB_TYPE: pgsql - DB_NAME: hub - DB_USER: hubzilla - DB_PASSWORD: hubzilla - HUBZILLA_DOMAIN: "domain.com" - HUBZILLA_ADMIN: "admin@domain.com" - ADDON_LIST: "nsfw superblock diaspora pubcrawl openstreetmap bookmarker" - networks: - - hubzilla - volumes: - - volweb:/var/www/html - cron: - image: sebt3/hubzilla:5.0 - depends_on: - - postgres - command: ["crond", "-f"] - networks: - - hubzilla - volumes: - - volweb:/var/www/html