From bd87e1a8b14c97ec90c9e73500134475e7e11f7e Mon Sep 17 00:00:00 2001 From: Fedor Korotkov Date: Tue, 17 Jan 2023 14:08:30 -0500 Subject: [PATCH] Documentation Website (#380) * Move to mkdocs for docs * Deploy task * Custom landing page * Setup Google Analytics * Cropped animation * Update docs/theme/overrides/home.html Co-authored-by: Nikolay Edigaryev * Direct to website and discussions Co-authored-by: Nikolay Edigaryev --- .cirrus.yml | 13 + .gitattributes | 3 + README.md | 283 +----------------- Resources/TartSocial.png | 4 +- docs/CNAME | 2 + docs/assets/animations/TartLogo.lottie | 3 + docs/assets/images/CirrusLogo.svg | 15 + .../assets/images}/TartCirrusCLI.gif | 0 .../assets/images}/TartGHARunners.png | 0 docs/assets/images/TartLogo.webp | Bin 0 -> 101164 bytes docs/assets/images/favicon.ico | 3 + docs/cirrus-cli.md | 66 ++++ docs/github-actions.md | 26 ++ docs/index.md | 4 + docs/quick-start.md | 69 +++++ docs/robots.txt | 4 + docs/stylesheets/extra.css | 34 +++ docs/stylesheets/landing.css | 131 ++++++++ docs/theme/overrides/home.html | 90 ++++++ docs/vm-management.md | 140 +++++++++ mkdocs.yml | 98 ++++++ 21 files changed, 705 insertions(+), 283 deletions(-) create mode 100644 docs/CNAME create mode 100644 docs/assets/animations/TartLogo.lottie create mode 100644 docs/assets/images/CirrusLogo.svg rename {Resources => docs/assets/images}/TartCirrusCLI.gif (100%) rename {Resources => docs/assets/images}/TartGHARunners.png (100%) create mode 100644 docs/assets/images/TartLogo.webp create mode 100644 docs/assets/images/favicon.ico create mode 100644 docs/cirrus-cli.md create mode 100644 docs/github-actions.md create mode 100644 docs/index.md create mode 100644 docs/quick-start.md create mode 100644 docs/robots.txt create mode 100644 docs/stylesheets/extra.css create mode 100644 docs/stylesheets/landing.css create mode 100644 docs/theme/overrides/home.html create mode 100644 docs/vm-management.md create mode 100644 mkdocs.yml diff --git a/.cirrus.yml b/.cirrus.yml index 1b9d378..6fbc320 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -94,3 +94,16 @@ task: - sentry-cli releases new $SENTRY_RELEASE - sentry-cli releases set-commits $SENTRY_RELEASE --auto - sentry-cli releases finalize $SENTRY_RELEASE + +task: + name: Deploy Documentation + only_if: $CIRRUS_BRANCH == 'main' + container: + image: ghcr.io/squidfunk/mkdocs-material:latest + env: + DEPLOY_TOKEN: ENCRYPTED[!45ed45666558902ed1c2400add734ec063103bec31841847e8c8764802fca229bfa6d85c690e16ad159e047574b48793!] + deploy_script: + - git config --global user.name "Cirrus CI" + - git config --global user.name "hello@cirruslabs.org" + - git remote set-url origin https://$DEPLOY_TOKEN@github.com/cirruslabs/tart/ + - mkdocs --verbose gh-deploy --force --remote-branch gh-pages diff --git a/.gitattributes b/.gitattributes index 4a9d8e8..54750d4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,5 @@ *.png filter=lfs diff=lfs merge=lfs -text *.gif filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text +*.lottie filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index f6e2051..f88607b 100644 --- a/README.md +++ b/README.md @@ -48,277 +48,8 @@ tart clone ghcr.io/cirruslabs/macos-ventura-base:latest ventura-base tart run ventura-base ``` - - -## CI Integration - -Tart already powers several CI services mentioned above including our own [Cirrus CI](https://cirrus-ci.org/guide/macOS/) which offers unlimited concurrency with per-second billing. -For services that haven't leveraged Tart yet, we offer fully managed runners via a monthly subscription. -*Cirrus Runners* is the fastest way to get your current CI workflows to benefit from Apple Silicon hardware. No need to manage infrastructure or migrate to another CI provider. -Please read down below about currently supported services. - -### Managed runners for your CI-as-a-service - -At the moment Cirrus Runners only supports GitHub Actions, but we are actively working on adding more options. -Please [email us](mailto:hello@cirruslabs.org) if you are interested in a particular one. - -#### GitHub Actions - -Configuring Cirrus Runners for GitHub Actions is as simple as installing [Cirrus Runners App](https://github.com/apps/cirrus-runners). -After successful installation and subscription configuration, use any of [Ventura images managed by us](https://github.com/cirruslabs/macos-image-templates) in `runs-on`: - -```yaml -name: Test Suite -jobs: - test: - runs-on: ghcr.io/cirruslabs/macos-ventura-xcode:latest -``` - -When workflows are executing you'll see Cirrus on-demand runners on your organization's settings page at `https://github.com/organizations//settings/actions/runners`. - - - -### Self-hosted CI - -Tart itself is only responsible for managing virtual machines, but we've built Tart support into a tool called Cirrus CLI -also developed by Cirrus Labs. [Cirrus CLI](https://github.com/cirruslabs/cirrus-cli) is a command line tool with -one configuration format to execute common CI steps (run a script, cache a folder, etc.) locally or in any CI system. -We built Cirrus CLI to solve "But it works on my machine!" problem. - -Here is an example of a `.cirrus.yml` configuration file which will start a Tart VM, will copy over working directory and -will run scripts and [other instructions](https://cirrus-ci.org/guide/writing-tasks/#supported-instructions) inside the virtual machine: - -```yaml -task: - name: hello - macos_instance: - # can be a remote or a local virtual machine - image: ghcr.io/cirruslabs/macos-monterey-base:latest - hello_script: - - echo "Hello from within a Tart VM!" - - echo "Here is my CPU info:" - - sysctl -n machdep.cpu.brand_string - - sleep 15 -``` - -Put the above `.cirrus.yml` file in the root of your repository and run it with the following command: - -```shell -brew install cirruslabs/cli/cirrus -cirrus run -``` - - - -[Cirrus CI](https://cirrus-ci.org/) already leverages Tart to power its macOS cloud infrastructure. The `.cirrus.yml` -config from above will just work in Cirrus CI and your tasks will be executed inside Tart VMs in our cloud. - -**Note:** Cirrus CI only allows [images managed and regularly updated by us](https://github.com/orgs/cirruslabs/packages?tab=packages&q=macos). - -#### Retrieving artifacts from within Tart VMs - -In many cases there is a need to retrieve particular files or a folder from within a Tart virtual machine. -For example, the below `.cirrus.yml` configuration defines a single task that builds a `tart` binary and -exposes it via [`artifacts` instruction](https://cirrus-ci.org/guide/writing-tasks/#artifacts-instruction): - -```yaml -task: - name: Build - macos_instance: - image: ghcr.io/cirruslabs/macos-monterey-xcode:latest - build_script: swift build --product tart - binary_artifacts: - path: .build/debug/tart -``` - -Running Cirrus CLI with `--artifacts-dir` will write defined `artifacts` to the provided local directory on the host: - -```shell -cirrus run --artifacts-dir artifacts -``` - -Note that all retrieved artifacts will be prefixed with the associated task name and `artifacts` instruction name. -For the example above, `tart` binary will be saved to `$PWD/artifacts/Build/binary/.build/debug/tart`. - -## Virtual Machine Management - -### Creating from scratch - -Tart supports macOS and Linux virtual machines. All commands like `run` and `pull` work the same way regarding of the underlying OS a particular VM image has. -The only difference is how such VM images are created. Please check sections below for [macOS](#creating-a-macos-vm-image-from-scratch) and [Linux](#creating-a-linux-vm-image-from-scratch) instructions. - -#### Creating a macOS VM image from scratch - -Tart can create VMs from `*.ipsw` files. You can download a specific `*.ipsw` file [here](https://ipsw.me/) or you can -use `latest` instead of a path to `*.ipsw` to download the latest available version: - -```shell -tart create --from-ipsw=latest monterey-vanilla -tart run monterey-vanilla -``` - -After the initial booting of the VM you'll need to manually go through the macOS installation process. As a convention we recommend creating an `admin` user with an `admin` password. After the regular installation please do some additional modifications in the VM: - -1. Enable Auto-Login. Users & Groups -> Login Options -> Automatic login -> admin. -2. Allow SSH. Sharing -> Remote Login -3. Disable Lock Screen. Preferences -> Lock Screen -> disable "Require Password" after 5. -4. Disable Screen Saver. -5. Run `sudo visudo` in Terminal, find `%admin ALL=(ALL) ALL` add `admin ALL=(ALL) NOPASSWD: ALL` to allow sudo without a password. - -#### Creating a Linux VM image from scratch - -Linux VMs are supported on hosts running macOS 13.0 (Ventura) or newer. - -```shell -# Create a bare VM -tart create --linux ubuntu - -# Install Ubuntu -tart run --disk focal-desktop-arm64.iso ubuntu - -# Run VM -tart run ubuntu -``` - -After the initial setup please make sure your VM can be SSH-ed into by running the following commands inside your VM: - -```shell -sudo apt update -sudo apt install -y openssh-server -sudo ufw allow ssh -``` - -### Configuring a VM - -By default, a tart VM uses 2 CPUs and 4 GB of memory with a `1024x768` display. This can be changed with `tart set` command. -Please refer to `tart set --help` for additional details. - -### Building with Packer - -Please refer to [Tart Packer Plugin repository](https://github.com/cirruslabs/packer-plugin-tart) for setup instructions. -Here is an example of a template to build `monterey-base` local image based of a remote image: - -```hcl -packer { - required_plugins { - tart = { - version = ">= 0.5.3" - source = "github.com/cirruslabs/tart" - } - } -} - -source "tart-cli" "tart" { - vm_base_name = "ghcr.io/cirruslabs/macos-ventura-base:latest" - vm_name = "my-custom-ventura" - cpu_count = 4 - memory_gb = 8 - disk_size_gb = 70 - ssh_password = "admin" - ssh_timeout = "120s" - ssh_username = "admin" -} - -build { - sources = ["source.tart-cli.tart"] - - provisioner "shell" { - inline = ["echo 'Disabling spotlight indexing...'", "sudo mdutil -a -i off"] - } - - # more provisioners -} -``` - -Here is a [repository with Packer templates](https://github.com/cirruslabs/macos-image-templates) used to build [all the images managed by us](https://github.com/orgs/cirruslabs/packages?tab=packages&q=macos). - -### Working with a Remote OCI Container Registry - -For example, let's say you want to push/pull images to a registry hosted at https://acme.io/. - -#### Registry Authorization - -First, you need to log in and save credential for `acme.io` host via `tart login` command: - -```shell -tart login acme.io -``` - -Credentials are securely stored in Keychain. - -In addition, Tart supports [Docker credential helpers](https://docs.docker.com/engine/reference/commandline/login/#credential-helpers) -if defined in `~/.docker/config.json`. - -Finally, `TART_REGISTRY_USERNAME` and `TART_REGISTRY_PASSWORD` environment variables allow to override authorization -for all registries which might useful for integrating with your CI's secret management. - -#### Pushing a Local Image - -Once credentials are saved for `acme.io`, run the following command to push a local images remotely with two tags: - -```shell -tart push my-local-vm-name acme.io/remoteorg/name:latest acme.io/remoteorg/name:v1.0.0 -``` - -#### Pulling a Remote Image - -You can either pull an image: - -```shell -tart pull acme.io/remoteorg/name:latest -``` - -...or instantiate a VM from a remote image: - -```shell -tart clone acme.io/remoteorg/name:latest my-local-vm-name -``` - -This invocation calls the `tart pull` implicitly (if the image is not being present) before doing the actual cloning. - -### Mounting directories - -To mount a directory, run the VM with the `--dir` argument: - -```shell -tart run --dir=project:~/src/project vm -``` - -Here, the `project` specifies a mount name, whereas the `~/src/project` is a path to the host's directory to expose to the VM. - -It is also possible to mount directories in read-only mode by adding a third parameter, `ro`: - -```shell -tart run --dir=project:~/src/project:ro vm -``` - -To mount multiple directories, repeat the `--dir` argument for each directory: - -```shell -tart run --dir=www1:~/project1/www --dir=www2:~/project2/www -``` - -Note that the first parameter in each `--dir` argument must be unique, otherwise only the last `--dir` argument using that name will be used. - -Note: to use the directory mounting feature, the host needs to run macOS 13.0 (Ventura) or newer. - -#### Accessing mounted directories in macOS guests - -All shared directories are automatically mounted to `/Volumes/My Shared Files` directory. - -The directory we've mounted above will be accessible from the `/Volumes/My Shared Files/project` path inside a guest VM. - -Note: to use the directory mounting feature, the guest VM needs to run macOS 13.0 (Ventura) or newer. - -#### Accessing mounted directories in Linux guests - -To be able to access the shared directories from the Linux guest, you need to manually mount the virtual filesystem first: - -```shell -mount -t virtiofs com.apple.virtio-fs.automount /mnt/shared -``` - -The directory we've mounted above will be accessible from the `/mnt/shared/project` path inside a guest VM. +Please check the [official documentation](https://tart.run) for more information and/or feel free to use [discussions](https://github.com/cirruslabs/tart/discussions) +for remaining questions. ## FAQ @@ -385,13 +116,3 @@ The directory we've mounted above will be accessible from the `/mnt/shared/proje sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Mask -string 255.255.0.0 ``` - -
- How to connect to a VM over SSH? - - If the guest VM is running and configured to accept incoming SSH connections you can conveniently connect to it like so: - - ```shell - ssh admin@$(tart ip macos-monterey-base) - ``` -
diff --git a/Resources/TartSocial.png b/Resources/TartSocial.png index 89de7d7..c3eabba 100644 --- a/Resources/TartSocial.png +++ b/Resources/TartSocial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:769dcd5411f44071cb46f63459118fef728c866a581cf94a28811f407ca9827d -size 606936 +oid sha256:18ff880508365cea59c5538ab8f1593093436c3f0eec42ca0504f806e7b5dcc0 +size 582270 diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..0275f08 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1,2 @@ +tart.run +www.tart.run diff --git a/docs/assets/animations/TartLogo.lottie b/docs/assets/animations/TartLogo.lottie new file mode 100644 index 0000000..f2ce828 --- /dev/null +++ b/docs/assets/animations/TartLogo.lottie @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9cef166b57d57e29b1821fbc06ea2ea5ac92cf29d526ce17c88b9942d2d89d +size 7392 diff --git a/docs/assets/images/CirrusLogo.svg b/docs/assets/images/CirrusLogo.svg new file mode 100644 index 0000000..5ff9d21 --- /dev/null +++ b/docs/assets/images/CirrusLogo.svg @@ -0,0 +1,15 @@ + + + cirrus-logo + + + + + diff --git a/Resources/TartCirrusCLI.gif b/docs/assets/images/TartCirrusCLI.gif similarity index 100% rename from Resources/TartCirrusCLI.gif rename to docs/assets/images/TartCirrusCLI.gif diff --git a/Resources/TartGHARunners.png b/docs/assets/images/TartGHARunners.png similarity index 100% rename from Resources/TartGHARunners.png rename to docs/assets/images/TartGHARunners.png diff --git a/docs/assets/images/TartLogo.webp b/docs/assets/images/TartLogo.webp new file mode 100644 index 0000000000000000000000000000000000000000..a5a7ed4f544e97e68485adb1cba512253de28771 GIT binary patch literal 101164 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%0DMB)}PKN2SxK1#5 zuj!EM11$c5jmBuIcq@xDS%VtwqaZ1w*{3{t{{2 zKedg)WNZyLHi4a8kc|+8{v%b(5K9Te(c}mf;;bIEYu@X4Mb5G_zy#w&^Ou^q~bX6#LSB1=EaF$g!n78fU`JfF?wV4 zmTS-$2_|#ste9`FKmp5QfK)kyNX_9`g$0$K&h)-J&tAPxz*FePsgMVyXkLGv1-Kd- zWVl$08u#c*QKNa~0rprAA-yo0%xcp}5f4$Pf#~77vKWc*&(yiFsc-7@@*G#^`t{MG zqrH!JP0U1`uq8@fheide?+3AV8!2V`0@Eg3S8ZC;y{xP^cNt7pvn4VqVs zP6e(6XDP*SBJOae+k};N5XjXV?&R&uEj2M)gd$;bAgo8ZKbP>FjD51v@QT#g?>Vl) zf-n(&-E6g`uuQZpandcX{2x$P?}}emlqJf+b{3g(hs9EF^TB`rr~)m~`3;!e z<@xHbCpmVC;-+Sn0v=;Rf2u`gLD8eoR|pGCQVz}fgDho#Y_x50pSKQelOZ*9IYqi* zBWW*JTg zk?_F-_mS}Itnu01cpAt2uW3FTygg&=7Mh1NRd@$G%IF&9pi7v^CS%(eOT$EIE{loY z8@kMp&@Z{B2}uOOm5|X%2x|9{-5#M`oRx$r-Fz)D9t)0D$|!YFcgz%uytZmrm;3B{s87m5+ieGwZLNo)Hr^MmRpP)zp*fNx<$vtM<@%I3 ze8n)l^ZS~Ikvf;TXF|D=(J1nI) zVK`jIkxy@9ge}_u7|6`S;|AHwrJ8HrF&aZD&cO1knnGBPv>hsqz_ruu?sqkhQ&JdP z2$IwM4=p4QfKZJJV?9^-sNn9>$NcATcQO=ZxXU%jwII@F;`P(+(-wQSJJcVCtY6hh zh^^x!<(jL(Y(F*VxGHLcw?yeM7i*}PE)2d{buV#UJWtYhs=X(+=Al+%Z^A|}*SL?m zWBoAaqA1M;cCm}88b&*cvSBz!U5?e_8eDegIE~M+$l=aS)pgsr#goa6_=?5@3Lj?H z?&33DaP`b~-!=Ro720-jgh;5%*xf8P9^{$Y>Bc*=f=7=6!uqb`C8b!$K2VE#0+*N7>d|+V6&X?tMn6Uq8+~xR;=ySYHcW3sXMriNAZh zvk#6^wU`_YChe{kU`vKzWZ z(m(%{B;0xbGo9qi-lgMN@`X8|vdvi7gj)83o=DaCjV}$zPG^y8{ipGV59e0C`sRJv zd0xPK(H>6)|9!@T*OF(6OoF3aWO`G~eb~pt&CLdOj&nV_LeuTjMWajd@i|jr`pZrT zUbrma;j{;`=m`%rf&Y~#-p$LILl)bSQwt$GFP`ozU~usH|mlho!) zL+#%#^Z_G5>nkS*MH6zTUPSKYQ;mfQbN!3H8b{&fvuv3Of&$xPovu)eLpwMaxj&Sc<#8bCSb>b^`oShnfq>DMY4c2lHbiQv*cV zox`T|VPc>NYYF*|6goWhc_{7Mnw}nS%&yVdv*cLMb1NTHJ00qbD>yIhs^mR3&n^v7`y!Y69)F%d~Iip{J_o&)psW11Q4*}smcwPaC*714}n zirS?nYaD;_Hfnzr@gEvbHy+&=sV{a^ou1FNsj=_!%!uc>CZgfrLAZ4?A8U^ObP+QQ zuH2PRMBHDS%c>as8;s)TQP*Zx^F4my$^po-XAmd#6v`KJRp9PsyXnm__Qx}sN+AAa zH|HGB`ql&0hxBP6AD)6=vNt&%l@KYE09G60v*8&tDiWQI z{na168uD__Q_i0!|9+qSN^#RQ`4fscT-aW2M#vuAI@SByccb(WgKv-Y`Og1PO2zU= zdGfOcW2yEp(@&=0WRwh7j!MYX9?O3YK{IOLKw~+~2YdJ`6B(4s!U_~&ynG`{d^>!# z4i{FyO4oPUB3*n`{R)umUe7^iy(%{GoqN);ufW zpW+E=g{u|XqD_^a?%M3`V*hfu7Tj`o9YehlKDP^Ajz}sfV|~z`xrnSejgs9WuUP)L zl!W4BwuvcW6MAe=c|~RWKk758ywyz>uauPY52u6j0I1HLM;^v=J@^_Q=nmwLq#0h_ zVK4jla->;?PATQZ<4{XK0~BQLBGm6O$+)vBpdP4N^S=!q#E+TkB|Q}p0>zl0m#?o% zBvs^0zXrq)jJn$nEdf0*iF_=XSS7J>U?ONai1{{R*ctmebV#EPSElWp>e}2Qc`WG` zwfqIK|6XFT}}xWH3&yN;LipGR(xwM7P)aO@IZ5esu;cTYGWFsz_3wc*`GZ@q6RoiDqO zp!&?ZUX5~ftuK*mm`gz6(Go>NB{PFLB+#zhkyk*Q+ZcGi;ZzN_#7w}FS5;RlhYDL^ z6Qu}l^v7`m-Om|0oebAV03&8cldsv)v|tNxCJ+hm8vUyD>tcYo9|FoCELaD4jjyIA zQ{}7iQ<rw%(E^wXGi zVjg>m=zcapjX1aO7tUxAJNH2xm^(rY2HtiFyiSg7%O{Z8h`U%5;~qC?>GVg^!jDg8 zg~3LQpk9NI$B;8HiV9x*E1%<=a`UAy6_*Ol_0TC2vP4lav1qgm*=)AxVd4=}rh9c` z{ZkdCMMun(b0g6>L5fffy|FzYR@a%8Pl`VeaGBayb0Z08FR;*84RG59vN$y#ndXHt zF%OJ(RV|KY;c-wx8Lq^sWk|XT++iNEq!%CXoTBC1{l(6CZfqASHgxh=s_n)I(Q1jh zN;9=1mkZ+u=H{2T==Txe=P1Rup;t*F)F~f65B4eb%b3fdD%(!9OzHb1>ZYPg=;u>I zPPi*+m)rl0h#b3*EOZ`s-O1f!j#LM&u0`5=zh=+*Yj_Y?v!!AKmW%}vXp$!vpC<-8 ze+okYCB*NQyBTb|Ip9BG^#@&c`eQ9(+<(cgoD6W+f8-UyUEwL`O=gG!grcc z-c3Rc^fxb*!fy&x8l6NIvNBjhVsQU&o>})$ zK))3}G~J$}t-aZN%)-U1>c0Ad7Tw0nux38574DsR+gim;a3miL-4s+@Jj5zNEU)Zu z2_PVuS%$JF`RmoD>ZN(x_PL>wteT2kmd^hkn-V=6>oEaHEVK+)((vqY2`D!Kd!P8Jug zPmnV#ZpW9u8Q!)%=4St3LMx0cDPnG2;VWSekfwf;Qe39qT#sOKANQXY@kZWdeZ*UH zurR4J!3q>GQzRlWk|~pn^WlcU1~;BBS_=+(gvYhU4#%%;i~qF{Jpu?f0U<+O|822- z(Rew<9#?edG0#`*BI*CdfF^Zh+ z<$6q0Og6alS0ch8985wCF$=+5oF+6IgEnQl>60#5mJP1z>=jeu_=e%6DdO;*DU!K0 zaD%SXU7#b(9+`QG4w8U5bd@AgICz*+$Y9UjaIJC{i#ZjFMZ^iRDZC!%UmUPKQEzis zVgA;YW(|cW6pqDyCi)gXS0ZFDC}j-@7g59(VU2q90$`Z~^1+w`d?jTiEB~rUuyn#f z%;VBA_J(=YZNGq+t!XMI(X3LBQcJBA1Vin?NTFgVB^@hI%kOn}GwGFo3hjJA>TN#5 z4}7g3Q5I`1CpKAYh%u3R(L1Z?Z61Y z3kXp;dk1%xd2#oq+S4vM(1(mYNC!7z_W-)!g3>J<8cvUhzR!e0JH34w$lgUC4Jh6U*iXDK79&@jm0%@rOvnXQ9ozt!K=R)4 z)4Lh_1NCgV={DWIsaM62$zqG%JgqTpRnffniF1C5WRlIUbL{6S^Z*h{VEy~~kdIF8 zTC-nAkZi-r@1ZmU&Wf45!B_GUR&17PhCxUVX;?CJ{cQ ztPxN#y`LSa)pwtxP5f6b_;=}x8+MN#7>Qs0j?(3~OjbH}s<2u=z&xZeu>@jzm*IE# z^Y<)HQpzkBbIyg1Z0kJ3t`Q#&oS}je(5~^dRpql7+?EY;*K%v68lQx;xG+jIt#6=HPM^0dPoo*3B zSPQvnrkLn1r>DDQ&L5f7;6{P{6t2)P6xtFpXqW8W+erqW=4&f?Fl}|ekbhiM%QFnp|#DerOQS zmXM*#a!FX4D8;KJw68lj>i7nv&H*sV0{CMaF^Xg6-V_LzXs99Pns^B20_@okM1$K) z9|EidX-LbV+y^U^jl6dKYe;WE(p*Jynql)Ks01w&6|!WN#BY}a-hz0cpWFDaF6V0# zpm@^Wm`zT=I~W|xU7+muJaAC(%3BP2PCg>1{SlFWlE~yT;UO(GZP=5LohO-S8fT#U zlf=(e=|bB$bMNl3l0fD$x5;P(#z{Q>NvdL96A}y*!I=(n2ae9+vy@Fdld|jBAfrdK zQIV!uHiYV7`)Nh7ELY;9;ySmMo$=(z0+YC>;j*OPYb!gwPKRlJ;Hc)!9Rw7pQ6v{6 zq`^8uvaT!h6aZT0ho#+~U-N)Dvkk1PEm9G0Ruy}X9i9g98AK0dj5UiNL4KY){^Ude zvBMs;QWr>K;ORp}lG5Xw9AFhqb5yS8d%$=xw#lg!@y1+cVBmd-YgV@15FG?EtdYy& zp7qJiK!BR<*rnIyLaw1ew^C!Gq^`ie)SpY^VEOd*WMb`$Ea{@rnsX@S;3CocmYEwyhI}k1y-`ipqqFF z&+U4DHs;?0vG9gDW0@Z%MFU|N zTnF_`psaYhh^&ijm)e5vUb0bwGWd~Uu zzgureJK@U!0|roz!-EMNoT^%l8j6ZG2R{VbE3IXu${W!c@tvNOC$Q|Qnir_f?HkPu zT>5IwWscSH%1P{arLitFP*hmSzlcIlN2ciE{Uw|vNX7v!ByLjt&AJFZk(XBClQwo= zC|=I%=U_q0GdYNi)a7h;35p7p6NgwmHDR}GM4P=Jj5<&?*5nuppiE&uU#zJRR;Ojnl zFcM^PcLbBDN;<R%p7-Sex62drY|AfkXkFP4eng}Ysl*V>k6+{htba%V~<|-_a zJ(=h|H|z#Xu*4ywJdce=_llBG=ZRox z;v=N*iVzH#{N;rGri2-wufLfD7ewddXTU%-tb42_PALM>e`}|{J;h6q(X56c;)c~* zjvvqyFF6K=gc{rhS7)Y)&wpLa*dLa9sTVb)7@^Uq1Bz&KZMAUdMo$F!yy}vyfhIlTU3!`E!CVIsT{8;aEIrubbpJI zGG)2QloVNB?WiMi@53qA*nmgi8H{HBt(Lr%8YD0Jj^UMUJiusa6qr)<@M|dF5o=5A~Dk zxdjTX|2hqYr-IY!0xUy|jmOHTmi|q~9AHxWb6lzY4~VNx2LtS%H`$67-0clE=@=>K z_hoOXz2uQ1LcG(ML~&RLgy^Y?kRGgbNn&E9bXdVOFXylVR2VmLi)=3MsR&cnI%%{& zyuEur5y1c46KwqAYr}UvY%N|c`l2`u9w4X==1~CTL@7mbL0F)TQ3-%ukrU~f$eJ@1 zYi7;=S@aerf?(@cyTyN)a2>4r)$QR333j`b}yYAUagCm8ID_Ur15EDuXYO4GZLrLD|2yq#Mi<9 z`5GogDxRu2>K-MMJpIAUce9Q2gB%@EA}Q2-e~|GUYSAhj{fUF!jZP5xv-=~x_7rLo zPku0nN!XMpLMv*jfnfh9_yrc2B=L{HVTxrrNivg$4c*~@pmnBJX)3Zu@IUnky(BH9 zuKoS4s}JmiI=8984k-hgzxkw#oP@gUJGIktlG^a+tI(1J3*A6CW>_uSQq9@6$M=9e z4@;6a&5UAv)aH=U`z{5W12P3^?mqWfIFJnD@5!?Z0|S2l+(K2#OA|CpH7yR@fo1Tq zk}8_KPx87sX01Ax(XSIfaAs3i%3Y(g&QXVl;u~4C-91Ev8$^p9+4rpz` z!y8i%j|yK1AKXZ6#O!NeJ1uyxx!t312Q{Ov6zgBZ zV|iHCfTssL&u~70dTp1XO3)BxlmLZfr+E=;($~-6dq)p;I^*1y0By>)x&~QU2=xae zKF|QCv4}E{iYqtph4d%O8e_OkVedTcirQQ5p^Q+sS-FSG_k#Fgw3w|mCN(+6nyQq% z`wQkk&QYTg_F?=d3d(w$u9nN0kK0*%mxacR$xKaq72F-lquq^M;F7Y(-Dlg@z$9EO z=&W-!C@~QMEL$*JU*w7CyezbcGh#Mk=gD^(Q0JlrCl9XvQa> zPf)0S%gKT>XB})#BXrVrvKc-iFy1glbNTYE%8RY7jtB})ID?av*_))#CpRCy=XD!V zLw=C59YC3&VQX8VZ4EAeKd;#SqaxhJDzK5c1$X+0!!Z}$jKN6lgc3Hv0DsRmNkIDl1v#fZVkf zKslGfE7f&jfstC*OlIcL$?$dJXCWe>=Ns;pz;aw;dRA866h{bbNjBI!HwLp25WP?i zyT!o%a2ZIGrxh^}+BBY2qB0J!b`ZZHo@e=aNV=j5xiX#lTXU~k#(HDn5t z+@OdPXCn3DpN2{*s;h+onoP1OY3W6m1n|Y60NjU2Z+X*Kom1-BNx!%$Z>HY4l;Mgi z9aJ)}QOQapAE8NA#$$<^YH9#ZXz$=-Ddt9Hy0*p2ayX#st+liF5_g@g`KIhso?xt( zjHU&&*2_{H*kGw)c_cBQo+n}pv2B7?d+zl2hs}o24})oCnOH~UfIIWE6xN9dQvcLs zgV35HhRU1V*XsukKLro#`s)k$f5$I+&NmXT=Cupfyk)x$)ByoOj26iXD^iDXm7~Tc z5hTqSWTk3( zq-au=@mQi}l?^xt4DJBs?5G^VL(R6bjO|d#+EMqWpW0o@N{Luj9f8IZMEWZ6eY6IS z*cQho;CERSPH_i?fXJ-tMhFo>kdPz=cOuvjYv(%mf#H$tW$9LLlO|7)Na_i02?i)U zAo+Tp<9MOyLuF@eyoGa86a_F~fHmRG2~Q3v*f|2gPy>J@=}^;T%#`G>1Li0<2GdZv z`_Y@;^wsy2ek+;2Id24p|D2e5P%~Lb{n;$3NmU-9#}YMbYS2*r5~}_525UnESw(c% z*?aTP(&)MP9D@`9$L@(^cLBf=BLTzV(2rHG#l$7nuyG8h2pc3ek}{k{n%sIT!IdCp z+#x%)kL&}JWoDR8vv-oJh?)+yUf--&=cSh^cwk{>*{>GxrMGYK+6Cu&%XT{iXA+4x zaVzwSVG)CM=%A}y5c{1nWQUG$x3UaM3wPaqGqF^>2E7AWCSSpizgP)mn4}HF+xOi*mbj)6QQrQ zQRqk1mxAx+@NJP3xfrD=06q5fnSXMGf)vI^JY);O3dg-UPLytTa%;lyI&gB}{o&Hf zUOH@2OA>tbgz4JF7G_y{lHyF%l^6U;CzMN5d9TyWAZUsXwB#n>m#e7QZoElJC=k zlEZF^pPtIO!nmgr#3DHqfIt$BiOIclhn$MY=Fqhd)IOvvokOok3R3?_Vht2A^hS`c zdE1_yQU0zU#QM2Ri#|}!485Ay>@U523t-^&MC8q#NrY7ZP%ENhlvW^#q-cjRk=fkH zd^LCTJ*S+pSTV`hH;3Km6fFP6VES*zSMjE-yNT~o|H84m7MME6C`r0 z^fLA`*I!@u=kdmD!SD4NDKi4{$r z^Cqb>)9w&Y1(uY}x9;P=uHB90opgjYc{9uGE2b-|?n08SlBASmJSOd0RvH>y>K)us zdj-`U^@;{f8WELTBO)hKHwy|Wu^6p=CPH5>f6!sK1?u&L-97f?%n}^y3O*cI8_MG7 zGUXv#L_?a)9uirdtlrwW5`=YP{6fsyn|_uyW8!2oA#o|lW(~^<6n4>gvor2F?`5vv z*f=glAI63PV1VrgiiQ|_9S{PmVF=Y#jtP`fK~m_jNpnf6x|^RdzhIYGi~`V zM)Vt$c{2B&N+z8CU-XUVO_N0H5j8WRTBuYWle^uLm4=2(YyaY*V?cS&a_rvR*R)L< zOJ*Xo2iY4>?HP6ppurek_5J^C*#i3eVLeqmwaYUMf{k&K;()Oa5w^A21oq~*Qxpkh zW_2zD-9XA6*__YD%Z|)mX;Vh8o4N@{(-9CuZv)*|%kK1Z4HnXI^ez0h$B(lC;4N#m zzx4JkUgKP3@byIG&E22~fB*(q5dfUl3lk*GZGC;A{f=nf!q{SDE_U2gw~cMttJ&o0 z)9&kw8E}6g_YjeX;WS~=o6D66!y%|K+npD(iph(O7Tr!Qho9B7P)`mSUIhS9X)u-JT{htBTU&TJ;GkH2f zeV-c4sM241S;D?Zf!)vb|WcMH%ohxy#zF% zfv5hHUk1>RS_srypG;2+SU@0PV~@gcktCVAnI?u+{;=UM-3Xb2Co#eWBxm z3mq4T#>tPm*a-7ntQgs6EY^&%{q>&Pnbm1vrY%ojHTaYM^E7e8q<|UxuDtRMqnDuA zakZu$NV1ZoDy#gHnTjQ=hUU^~zb%xrqq3Jj&L&Np=Xuj2cCi^@W{Ms=h6n@Paqs>1 zIo{w?3!z_Kg;2ps9OJ{m1~mk}*~k^p**m-8>Zx89(qu&OkvDgPB2K7Q zfHCBW8q`?x&WxhQjJq2#F+zul%;$+{-oiO~CI7-Qw&k4I_GZuRSBD1nlxg?XS3cM0 zev2RB@4p;*+0HIpO5(_+aDh65RkqL4CQ@eTt*90$WqQn1maH1urPIG5ntPH_owx0~ zWVGNaYijU{^wLlz?1MPOGaq$DIUA_iW}nuq%n*IAG#$Fjm|B> zEi18gQa4lovBAK9%=qGfp+9zdV_kpfwnzjR5hO6S=2ky=mikn$Jh(8S#9AkUujhPm zX$>|NFewsoDM$vLAk={_%{3Cj%*$wLUd)xLRV7 ztc9V@qBWKKMCeK}Soep|<#RvxhyR<;`(M6mrk^Ui4WG}MBUO;vNe`lSNK%zeK4vP8 zRHM-@-Nfh6>$^}tmH}sJ7Nr_wtU?ThiF{PL0tjipV4#T_7G9nmN0kIhWyuKa^n=Fx zKKOzc+!@D|@H?BlF+}=MGZTw;>6uXzbMFGj3o&)Oj>OjKkDdOoY3Oezgbk~qAV9@& z|G63Zpf~>Z;pv)xnMeGCbIvIuzVWMp?Ov<`g3*u+3K#%1^D?@IS@W;xmgJG67{>}y zS~)wtUgrvw9Nn8<^`U4YG^me6BfcbUL32!@AONV7B|-nE^h34%uzvJq$*cEf@aZX| z7e!&1c{Ww0-_ufml9g&9Q+FzsteW(Qn^?YD;~S|i-uCPoO;~_}f%y>z@3ex*2o|XD z7c7Y96TLuze*z+er6cT+7^J=@&$f#qW=!^w){%a&-geerO=!bo0xJR%+cLEnLKS`M z!}@^M6A)Ac1S}$8oI>00^XlK+Kk0urcj_a)-vs<4QhH-LC4^mf<+!GnH2{eN7)<5v zuG|Wec1U#C>4S4Q2?rI{O0Tn(nDTSk(2QI~GM*y6Cb>#eq2!>EsJCg*kND4D^gUyW zuZrfU2fbI?=ztTaGI(lIMZ40ix_Nm?m5;&Fxa1M1FT5GNsX_fjQ70A$tHJXmAnr}=Q9TlB*hDE#ex~UFy*4BkUHtP_o zfGD{p^oN7BK@zBztO?W=-0f@^cl*VgY)Qlkgr+P)NeTIlej#gHyk^6BMchk^NpK=! zG*pLmm*$#UW?n{XXkKB{8z*vMD(knq>735xx}Ue;5LG6nSV+kcZ%G5tR2b?6a1T>J zw{h`%UR%ELlHR_js`B6)=UonBHMi1bGC0YpDT<6SunU^V|AIMY@b|8VWi~87JJ`kgv#XfWkvMGt& zoBm2{B-v5s_Rg}|O)j$p#Ln8#->eUbfNB~^jIYDHx7c1H#fB}+Sg`P(Ju$gP^wt4g$}EF!a6@dUL&F{k{={}JZO ztDsT2@{yu!_p&$qBrf$#%0rTDpHAkM>7bI8mRC^aW4bLH9&ySt`TKh}ns}_JLjWO3 zJF9gfSpvN>W2|h!hDuK3Efp)I7UqDf*=E_ z`v{p6I$?G+(To@5Ar=9#vo`cMh$2X9D-&TKBTqy}Ws(EQ-+Im?HiU4_KP)NqlYlh< z5jkC`dJSvB$#G3BvjVgYT+!UGs3lr*;M_ghuviw3T#j;DLr5x(&RN`}(cw@d^oGRjUH2m7`g>6skEF_kD)q0_rHb2EHZFtzov)YDf7G^X ztOJw@cmgY~R0y*Z%8~+MWHK~|wUCNEQAysBaqJ~Krv{MZXB|EdTbh48@SCP5d9Cm}Sd05*Z*qtyW1S%6jf;gt;j?Vtg7VS$1Hecp@)FQ$L z5a(^hwzqf{s^j zV|@8D-H^I|<1r;;B7_YCZV;WN6Ps>UlQnVR3xVvcQ?aq=@A|^p2EmRfp<9`RwSl_g zX0>(Ky_4g|fBM%u=eK^NZ06g}u)JyzAs3$&1IHs5 z3wEPd$V}_2d~8Zm#j(1wKArYm(Hk22=WPcjMGXmH37L^GuV3uzK<&3(45dK{&y(Q` zezgJ!3_vcREUmBl_@Pt9V)gc?;}-cwisH17kT~tT@hphcW{%x1z4IBV-3NwKZ|IK$ z0y{zIRwk(9hz9TO8P}H%N`C2oTz#4Rg*|mNIff#2id^)_D<)^pbQ7xfVQSxszC# z+mFf2Z(`QuuflU3W;t}0++LQk8-sEN718A@ifp)D4+m{7Y8d4~?=Cs$1C*~9f z@uX}nK4BkE>CyW|t-tf5^rwC4$%$*MCi7UGBARX(&dxs7F44T3{XomtLBp49s{#0dINGnr$;EPDIWt;$B(?ff-~h z)C|PS0kD7+OgSLjgs@t$A7cL!$F8|{V6CSC4{5XR zCiMt{tPnr|l>IvLLG@qGy?_IY;PPTcNnvO6WmeWU)n*o?G`uZDb4F@+HL~OP`Lc1j zTa_uMn5K+8qEM6@AUsg~fKM8~u7E{vq^N=k85sh&``Ipj(??%==`c1w{iQ!dfX#Pz z8Q?){_8RtHtm2>mkg}LbodPZtK(&OWb50VwI6Rd(2LLRj(uTgFP}-UKLJ30+x`#5i zHY*nDEn8(%PPsz3XZzwPwUW`CjsNNIH&td{T3@M>N6B=`$;Lk?lNWFM#*qMYB7HHC zX>JHBH`;9*>G~3bOmit1+#8ChJH&?jmxKTU2!MhD+?qS@1^RUt#dqEesp*Zv?gS~F zLSQFmC^J(hlfV_|gwfRQN_WMQPS4imSudw!bWBM{lyHNIV^?rOOmQdnx9;p8tR4VQ zyx!))L;z&C+v@DmU;3qA`lWx@qFI3fMX&9YCUWy5saF<^KfY>lG&e8hnxw;3rc+K% z`Jqn?rYW4v5EFea9*iFom{3m^so5P;YKA7uZltqFlK zQ|yFOrr9}^Sxq{YY!J5FMNA#|nTn?z?|+K8BrabYEvDOdxys9k5@B}(STU4RUSDoB z$`|<3-}q2VXA(yumHAvG9H1keRw5LR>J&T@rxtpNh{<)u;A zVtvStQrDZ*KtNWY6o6>H#%;Ot9y9Ejsuvq?f5_AwQG{;kiN3&PG_`CdA5ZBP(s<`g zc6QaFTM04I&C_)JZQ}bc25Mnw4lE+1l4wo-I57hn77lqC1Q+_w*DTUQrEI% zTC7ni@s5-;A1adoGH7a0teO=VqK9g1(B)F6El+w9u0*IgrxO<_eWa+QvjHWONssl= zi_K=%644)iy8bIJT>$9C*s8TdRB9_$w_baiNJrfiFg=MLPa%HiE7T!58 z`uh0_y@`aV85kevtj?|9emn14$4sFgx@mZSq?-mRq%3Lh!_{I ztJkFv>l#Hx5fK%P6$%hN4m}2}EiP{pHKah+`mi^VIP^D!ey2WMy>Be%_#5jw?9EMNvd}MyZIz2r42aCC5~} zDhfbBxFrr^fityFXxA&t4V$nMJy{cp#7Wh?<1(PA)FroWzb+dDfdbG42z9|YiAXAt z48FBy)=WlNGw!jA0nbRTd0lI0Fn?n(Lt_Sh(+2Mlzaz$hRMJ-XdW77RDtwD>uOZ6sNb&ICu1XTxoi-8P;PL4HS@r2!Y?8_T-=i8sHeiI|;hv ze=K6li4dvxaBF&r+-JBW0Szp7jHv@o0BAG%p+#RrSb?n8eqdd-Z4;(#+j4JT5brnh zGWr8G*_%8;dMk5}ngLee1W)TcQ^-_;^m-?XP1b}FMccdXrULR?PEZ35bn zXn+HIeOjNNNAa9XSxJ#pP=KuB21V*2E=n_NhGw72;Tk963R%aZOIlHxlSyxag>Yu16cqqAaQ_#5TeKE;-xpNK$0m{ zjZ2FJSV6S-Y)q zYo4=bS+~Tddvo(Jr`*{A(W=BTRqa?9W4U33LH=BvPo&yvB~$*`bU@@W1-R} z{;wlY@{_7oTUWHro=*;bLCQ=o!D|o$9DZTl2Xy$*dv^86v_Osen{n?GVCTiWa8bI* z@Jqm{Nx~ru!k}<0g5Y!9O=*U+nb8t0V$ok#qqR>d0uV(ZWz))S47NRN=VZ>;`ZzLW z>h{OfPI7u5cv;sTSl7BEbWH_p6N~l*$2k{-LuMyEAv^o3bV%J9mZ?e&cQC_3#}!bS zLJ`rDc&LlY0_s)v1g90^1i}eX^0shC;>dVZogSHMwwmG-{c$=P!O!@4_!)w*NQD`I z6IsO#iqyr%H2`DuP|6BG0i~`okYW*I0osLtGDE#Xv;%`T4d5RD1VAJYp>f<=uwOg} zUYB?l49RNVG5%qKn|$WKdL6&q$z&A;zo$nZD|oJ48VGuydR0O-3&LOl%tVB^#Q)4G z3(jo1!|mC!nvTRiHa6BVjwy~fG>v7@dnr6yQ%$u|Yi$jahIeJS8it}FJpe@DvZ;vqTc_tUP1S85)rfmYBXj7z^hh@s6IE!SiH=q zWCj2YDC5A@jZPGl&$Zf0hKd3upc0`*UMXHtFepIhK=`BLTH!fA`44@tcRrVMMgm;%S=oVd4KzoE;Q{TMF)tZ!!BexWcJ#0&^*Q7t!2QlvkNhD4hzUKr7981ngUrA zDT&pBAVJ}Rpd;yGNpOI0S59oy;`&%r;T!(Z^wRUn!-o$5no&`Z5CWj)qF@oRATyQ0 zbt<(bQf-mB!HX=S`Fu10COQmuoG!{|R!}}u)wtRkm1iW`{<;5j4937aIVtju6urX7 zJZ%1f8oG6z zH{L?KJvf+H1koA>e`oVAKIhm@Ha2INduLk!OsmT!s%Ys# z(bVdertKGCNIpgsa*$S1%mqh=iu^=>n!W=+9a=@@^RHI_0fLYSb1iGaKc%1>AhW7e zI}vRa$tX(3f>9!B0&PQ}0S$m?7>h#rRtFOZK|smds&VUtz7kNGQ4>GEXTh9bKGFcA zM29|g=yosuKV>RKB4(X92uVTMnJLe8LA?0$;Ay%AXGB#}+Av*aMqg8i^WGYV#a#Af z#ty>dvL4A@w+4U=g~8JlYp) z^H^xlX0JkJp7FBO*&x!V89I;$cY#tiwN=>Fj_Mau98$$V?8l{|D%bl zlU53y;B6W(00qTRP-3_Meo=&cuBvf$VsqN+%i?R%|KD&#r(q?^hdtG6|J=Osne{n~ zYpK8yF$GfwPVbJVh+AItym-zF15=ccpwfovGXLllgxu}Uth8<}GfG6&dwX64Hn^nj zdUIt&Gg&gyo%{Q}hF3J!X0}!($_Fr8>)UPH33ce$_eYl9BiLPIK0=zT8raE!)O(|? zSnAa_x!=KdFNRV&Mg}S>YVxn->k6U-p@=lhQ%o%_!V8esrB-=UD7Evg_`&9r|9+?% zB;x1cOE7Sg|EDjC$;cz2mI-u&4G+P`$Q!J#M#lu+83#zh!S}zIjN-zktm>(j>kYf1j?)|2Hhkrgqt9(?tz`Fe}Dl%$=7!*X_Kt{I<=(r71)*inlLh~nX@%0Pi z!r4Ben_K|?0RU>$ltXb=hPKq46<`1mpODX0RVTIVvy_12jB36hF!-?PTtEa8!C1lT zz4VdWz2u!dnR=nJ=ZK&Vrh++5cblHU>0Q#RZgI|ek#p+uF>Evd5T?sPtI(jZpgBc_ z=$JxTCd0@)8l~=$x)q6l#G{FQ0>HEtvhB8=%gD=gS7C!GQzmKeHgz(K2p2#N2po%q z-J?e{9#5pnRhUkSG+j9r*4|!Kf6kS-y0d=}@LQ;8=S~|}xXiXtTxRjh0%_sCjXBxG@z_m3q_aiY+GBJ?_5egn< zw2;($G67&`NGwGPy+FZ2>V+g~LrO?eg<)!EC$6s6JJyEPG((IZ*tF-z0Aah+zVq_v z<8b`=z{c_86AGSt<|EHNH~z?(kKFRPY(ES$nWCZr4>Y{I=f;aLsFS9`Spa(BxH$Ui zO*iXo+{f^CYi0A2fx#oyQou@{3m;)FaFPFBF>IDenWoG|w<>yz-qHBQ@}_S^oH9-(XH0&i`F-FPp^P( ztyGd~HcXzRpSS~9Zx1ZCr0oD4B<*m(pcDX3!mzu*qe0BWvaTeS zN+eRQtRRqVB2n;ENFjxkCliuXA<@t~LI|l|8wNI^ww-}8HBuX z2PE!3r{0s<=&}`@W?T~9)g2oj571IzP_Ha`4h4ys0`|Ci6Ph`*s-vRR?Y?jV#!}8k z3ga-oW1scG(RZk;Ps)q#XK)h*b)iA$49YDrXE7qowvdgC`A98et#yQ2h5NY{a_>kx ziG8YJk?KzX&oC48)+DJ#5lO!H{a9GZUT;@zLoXoODtPb!LR-Bs{>z=t&U}HwHApN|4+}ve?=hqjiNxt^I0@O4Bb}m>Fq0`g`E6F&O|w1AS=P1ETW|;? zdabU_>Rivv`Pe3!&`mzTYay;BGw%X2Ev;j5mLL&8jv=+3FiQkPn5r+a^c zLfV^Sn!mSNwe_Lk8Q9VuMXDXytcr)4MMGOQj$0?Jx+=vYU z!ag%NeK&vs0I~=GXg~ovS>ZvZARK~Vg5Zp1wLtm?Qr06fh?#qvtn_B;y%Y7jtc$5W3Ld^L$V_g9Xln z`Q9O&k5o122EzRRC?#IOn9tNKfoTA}4Nhg+DWge_z?p8#B zaI=@_K`6USUU9A2TJu=i>`8uq*g8prkc=1+hM8)!#!PjfX6Zr{|FNQ{{75It(ui7` z(N(lncgD&5U=W?_tY$khGF3+}(x2KNfd9nQ+}2|Ut&z5{4aW{FO> zLhTb4p_?^@7Z~5(Ui-AZ06VAsAmtg9r)Kti6k$80BFq`)hN8RNU&#)IMUrzG_ELSb z2=3LoXD+E~%0-eAHGN%qS?JoZ-VO~2FhHQrYr}4^^wZ=zm3U(C&LL+2rJg!fK`~B* z6ME{!n>-m(Q6Yt6R5;eYF?-HttRWn0Sj8kLT))?)t;ZT{{lo1!)<0i_!_(p*HSx?W z1Tk}&wMtzmODSm@v*js1iWXWCa)>J0>h#n32^SqdejL8{m{8Dbn}DxW3i=@i9zs!o zarPi17_1RZ1t9S2PjR*v`l&5(-{9V3|HGQTe%?ZfNhL|E88Y6gn|I}4eMp6MSOEl3lm`#kk8)u0 zs0|9PT+PfoHIzvGMuZdSN?SKed+W(Ust)r|j)uwc<|Tu6LM|_L4N=Ul=3oDcAQO9L zNlIM5H9#iX&PP-n@3c0;LSm9qU;}lHSy2?l|8xs;c7^<^LI z>J(lR-mLPQbH-w@)raH6f;(44JB(}|kft`dJ6CP$|>au6(25zcbiL6s3zE*`0 znsbNX0;3U7aP5ASCTpGQCbF5%0W%5;6o9(TWX~QJN?h!isRx`s;fQ1Hq<1^y7;eqc zGd$gL{p51}X$lM{;iUpAt$+AR?nXXvnTA<1d1e-pouy`AC9|lgC6ZdWtZ8bY_FYe0$dV+*L=Z5ff4|KdLah59o0sNLbXy`rb(IJ-rip4 zz+ol=gn}t4vo^=E+HEUN17CeS`f3duek2zUY&^JwKeua`1+nYxIYkLgQR;(U1Ykkmz7E=>0(kaX9_Z&SK)g z^RVNnlB9Y)r7C^hdEMA`2WE>Pu%v+fm}zoX=9bAsIqWWVH?1E~5>?O$bm|1mEL{9h z_Kq}nPI@{r94lGXhM$iN=^>ZvPhal!%PwJP&CQ#H5OHAS6i z!qN-{?g!oc$jefOWGN$T1ssRt$B)Bzj7=tdi2Vv>z)b~!O@V$Cdw{hY5Y(JiHIzVw zDi_6~N}S7p8GMnd;&Y2d$_DS)&C@6k8Evy7&;=Bb9*$eM&Q+WGId!4bNH-~6 zb57E1hl}HU>u3;>tgIGJ2J)@sDe5xueN za9lH2B-bl9qayrIPxzruN|qK3r3OS%|l4}O!ihtIUu8f0R5x!jf+6bQrX2buH;2hbDtT>mv<)LJDLdVrMU zby2ua2a0IQ0KwyYq*!FY-%j-5AxmooXszw&s+;Ufe}Dx;4cK@ze`NcF!Zs+(znn6F z|HpqWd!n*ooDL|fFaRRL*t!4Po+9gt_rO&(R`hF30;G%(=ezIde%sTr9ZSm z#7zd)n7VJB+NEkry92-H+;RlFUF>^N-~JlsV`rUn_r+zx%`tHbEP^Ak91g)YBNL#f zvFAEmFVYZAi>gGecun$1_pC9%ONk^VRD^}a6I!U4V$@QIg78$Igv@W8b&KtW&;{_anZN%zNCEKPEn1W^+;m^wj1A!?9>{F8Aa6mVRK zy-csc1U|_3-+4k0nsGEH)X2j84(vT-Sl`>?0!F2WL4`Z$KG01sCQfPcLK$3y?xwHg3ZSYE@7k<4gU7GE zWV*X6u~#<51luvZC2SF9WYR+hKTPx>Ekk-H%an+Q1*cLLCIfAwc5Ap0ivtOr$A!YC z$>yRUJnsd))~s%6aTXU3QnFNv2}D_13u|p>a>|9VcnnaK>bU-$ZQlg=x*HV0WdLBy z!&ozbk~lD;^(qAzWrS%ec`5**@YMQiX5er6NrBOkhZ^@^Yv2-DgUl1aF1J?!P2}yaCazrX%Lgg8#g822&3wh2qq%$P|=XYvsv^fFRGh zNs(s~XOgAgJQoJ4SJbk~iI!C60`&|60t_l+>HXZvWPfC4xPdTQ6ZQS)V>VT?K}oE33_IA;u)KyL#A2p|PRAZ1QyG}#5hsreNe z{KyLzUVUXU4l6J?yGAE&mI-#=zN~~w9FS8)1VL^Poz^1}jzqW{-Q`e1iGyJ76b_hI zUj3x)=xO5MgY&{=nA%bl`;{R|pmf^g{P;}jE@n0m?#&qmHPvlY@|!v< zON~C#O^(^5N7x-WwP`YW>avokFSz}5!r(-2+%Et1f#kP8g74h-5q#_N`}Xpiw|M!N z(p%SdzfqRD62PlU3_ex?>&L<99V<`3PiYz0u97` zb2Ae?6#%*N!+WrEnh|Ahv8Z@8QnEC9bD}H-hw9|Bo$pTC2j^jk^&=1D|2!)J&fQ{j zfo;GD)TuH?Kve}HX5gAC1HVv!1yWu#QYV}K35^He`G}DlgC9`pJ{a^e(T@caAFcq~ zgj`XASQb@9?O7kF#7@-PPjST!qlef79AM|q#Jm%lHx&m@&9fZb60ZA$8R{HCL~}Fq z3`HLIsQ_z?-peZ}rg1bivL?P*p7oH?86uhr)(lWa_r01-oVA%I6TzdLxKMXPsb3O1 zT&32AD%8n{M0&EtWR&3FT%YFj^?cz?@OK~J`gP#6bLCXnI>T6-v&`m*l@8pBa~#9` z{Cgf2QlQOUW2LpWH4pa8-`hI`ixJY1SX|0VVtZf=#4MIT*A&r@>cQ$I)`C-EQ4M~2 zfGlly^ve=uLAq|uy4ze{x8K|)zutLp-jMzSKksxf$`r<{^DQNi4K?b^!T`zu22-XC zh)|ftKQG2adS%-CR5qNZxXItPpok;{q$n{D0bgmyyoI8a;e(nxx;#o8?Q4OW8UHJQzoxDgMR-a|_0e)9PxnHAH4tTiXR zop^{iA%3eQ)uCe2dosDdv^r!Mz0YYx6+}o86o67GfPR+*?_5^(mX~T(M8XV{!61Z9 zy<_)b4rIH)w#xP`n_`(zI&GCf$f?NQ;b|ElOn{SKS66;nU1hCq<;^$C!H1a}A7s|o z7a5wvQjrWNs&@OjcBdt94=|Xj)~e98f9M)5z)es`84dIOxS!dMGu(W~58CZL<06zC z(sVTEz|A?9BCi1e8mObaQ33xzFl>X)d?gO&o>LHlvoBdkr!gi(6s8mP-8-gV?FRK` ziPYLsg-wV9wT7f9;bu#~~o`Sn<}A=n?(fo*JWa;C&u&&AIq#cagenpWzl&xF_ni- zFhn~w+s5AX`Gpo?C(me z176dCMCqVcI^?w-_U!D)L~~?9I67j2qn~RwIcnB9W>yP+TQWsg^&!3KO}Eb^>ho57 z24sCXm<|-FK#Nmlkc`MCh{!wuCf=I@G%fxeh5fuQs$hW#3#_aFUB0nV8Ve4G1`HZw zjK5c{0M{}A2lO!U`{f+Oj6x}q*hg5`)r+2A8)^DR|EvVU`_7-Wnv*7LP11tb1|gKG zGC>X9#Iiy{rO6F>m~JK@C;+7bVwzebsdccD!o^ShuPq}zQS?4>KXsZHlY{ueC2NU6 z!cli{N-aH(zyX$F2bg#&q~ckz)YuuamPB&Xlg4;Ilq?9VLM$r{+dBc^Nd`9&6^~c} zhqnh%MpQROM``mAANS)YcHn^9@6^G3m#tXAkrPR{hCx}-t^fmaxKJpfDHo$as88fj zj_~T}x9VTFJ3i9)_?Yw`SLI;JFqlqdy-Y}f5K>HjZRh^WB@!@he~ck8QTliK7u~Q3 zjNOGoL6lVKA{3O&3R|GPNAx%_auF=u_uZZtt5vA3ivF-+;DV@532tB|0^QGUSkYi@F_0Jv`D=Uv@IYp|L-?;}SBFlMNvk zO2`T6TRG;I4y4Ks$6ALVSPDWxC~-id$^dR&uNz6XC}mlO6Wbj-74s)?8mfwl3M5qB zgF!1*)zSWW($+RIZ54bBC2!@^B+Yvh$7Jyn7+5Vs!QF|$V2HYEv{iQa3D1mxLbz`&jPjYh2QnEyZ@DkJE6>rx zcm87BmE@zDX98y#s8%9Jxze<%J65ggvwqf(aT6qP&Y3Y}Rudos2v9##jpKEpfry{v zbn&tdPoU^-PB$eErxp+p$(VDn5CM!in1sK<9R+(cd2vAsf+2D2SO^SS2L^;55SguM zw9C3|Izt^nj0R@*#rBgof;O?Ni-^FwuCkMz=^&5VK=EAuugTg>RpMZhCd#DjF{zOR z>{;5Jb4uJ^1Em{j1w5G)%yLk%S|)Xa1dEigisPelXIHesm-cSGBod_U3V0!Y-WuTT z#GawtRaH^7Qc-=!6*W!dMoXV~ z*=2#c4I$ot>Fe&^i{o)Sdp7RG7uBAoUeFGqs#3-T(asJ6rJnUf4g>d)4zrd-M8Mal z6^#u-o4e=u`gTmj^FgTiB#2_|K%rMGf@_H+G7|!6rW^nurGS)bW<7oJGka)TTG^v26QU6?yEnPylbfO46Yy}ilHgpyE*ryZz};1bj=nt?D}q`DTk-RP!P%b=)+s-glkE9ah} z8gHR-(Sj$m!3TU`TTa(4_V^Wk!j4=!-JBqeCjDjJ#D%(IR4cVUQEAj?4FVIGhr|tl zfB*uh9|@}Q^=v)vw|2}U;&1CqF93ExiNDrQ3#1bNw$%iYQHT51fN=+H1eXIw>IRX7 zaO_wJtJ|}g6vTi)BPySc>K&07!60X3;49(LceN1@bSe{>Qjd%pu`IbJwAEx2n||sq z37@uqaNVv~Xi}G)Bza;v2nctSiV(Vs;hf4-lWwODc?CkN01(DTdL0?mNsV6Dt!Y+} z`}wYzH-Ssy3t6@+`%&T})B(UA>|s4ZOPjrbx5aTZ`7svqW8ywS-7YuGzK|u%a66Gm z`9!C&gn=~_aPi}8#Y$UU(sfl;Q79VVA%d9mAn-ivHhe$$ll>5WCci`19qzH0uNhC< z`HOM;TqCfg3eL*V1a(`V)qGYcwYoc_8BZb>p@6G_)4KMyB}ojA@=1X8lSf61=Uz)B zkx4N@5%{8k;nP$zDM~5IaAXq~JrM{XaExIqb^@~tB+D{wr!&h4HgWRieYp|O)e|Pw zqoLNS)|#CY@sK1N1+fWkL=&8iE5z_hpD@XqOD0*hVoso;*ut7Zfh0hfnv^P} zw*Q(Bci+c19bUADFY}`S>TrU&&{hEx1mgoSY9O?o0A>KQLLkt?ZxVpuAkE_>; zTL7LQ#Bb|MUpGM!bpt)w5s+aq zEE$l^UDh^Z@Xp}_JUJ)@psKdl%{p06&fj@a1%+^JUZ}2V7vcn5V>k=%3-4Kmpb=lW z2`wZMMNTw|g~WS%F00_-Oj^d$E43@V8(8ho;^~O$aLdZ!s;Y*{EKy;(i1?rWc8y2M z;M$TdvuwgEf)6t3D5MIh)Ha{k-)cYK_U?`Q@}`St@9>*$-5{C-#wcTy3B>08;BH|4 z5)lvt5DIo&-AH{sW9_M5ChDKSrho64;(;g-$;7g<1V7$93xK>Rl{XS-%$SVagrg9E zAr(59&9s7J3}^T7X48If;PkL+%tpMJkOtG=yQ0>bPDIU~G#QD2n_f%|&+VVopmpH3SNDAeLr79 zwAlama~y4)kIDjYxfs)kA$fNcV2%!(#v$3HD(WRVR$(@#R4*2yNELx#D4wQqlZfh) zA!4PiE~zT2s<8|)-j%K7Hg{ zkKe`%N0)^GKu|Lf1TX+fgMu&drXSi)zof?b7e)z3`E7ma>n4BiNhQAWLKI2Fa!^*v zl)i>64gi`7RxFmuWp5%65e`ELfsOzK%k?xf=bAdkfWf9oPGU3Mh_5^lrdrinrCOHG zoo+UiHq3toPfX(@(n=+rHXYm<_e1siGEeHcI_2wYL4f|M7hL7kdvG$4|?$U4Cygpcfc2N)#F8uR#WEc%aHQuvU** zc>uJtf`TgjFp#3UW$QMpI;bkq6)M)&Dhsf(Vk@UdTmJBa2NQjo^NR(+Q{FjG)bDf9+{%|5i9vEJ6% z*G3h_{saM^RM@zscpbttMx`Mp!|~pMN%s~2max0wHKhj*4=d<^t^+BGkWevJJq|sa z)yw1q=||QZ@zLz>BT&?WsJm?*sah+0M|Kh+d$BcVk4{8w(zR4;hCCef&eK?fg)l`4 zqbapTHoN}nfMKrMzWdLYzOD||MQ)1qv-YV~+#T*h<}!{m0Miuu0K)X}VU0ketzZ#s z(tLtQ@3mYI3ABziDYBhAFI0y+s>7YEbVu8jFtGGUp~4_Kl0VN!of*8-Z|t2O1h#37 zqA?^k6icCi9}`Oz3UCHpdfT4IqxbDoSHF4)fB5Ei58~%vf61=D_tte~IFtVsMd9Pzo9t_l?u;KWCoLQ3k1Zy&- ztsviwwIrozns<|FMd+Y9oT{qoDk3oq6AYq(#XvlG)56kazw4(1zwd-?I1-n%Ho{b) zHw>3WA+w<#yZAEwuHb&V^TGLRhw|_He?REIefQP-_~CC}Uk^p)LLpaRj83AX%q2#` zM()cuD2VZ-LYl9DWln>_7dr?4!xjsl}TqRsYo-Ls;X`h)UdbUKStQ{t!Tq>q~f8GEo8e8!^qN+ zw-onD7&d0|lUHO(5+&rTpBL?pqG6*yEc#^g>Al!;%!Q$!XFb$`DFH?K2RzQ3n+wrj_biY`=0p0 zW4iU*|9NQt_|6*+{EOeXB{Nqj^tu7gGRf3Q{5f%IZa6DgD)P6Bite4&LQWD%ABE16 zB{tG4uN`zO$CSwH$#fwccE78M4K5pE%Xm2Ntdt;&`Z`Y{2=ymtl8Smlu}Lz6x%XrgV2xW3UDK)M(?u?j^e1A8j)V&DWd7R<^XQ9NOxH7C~_jH2D{mJ zv(lhKmB!l_>(fkRjBBRJ%!u2U@YACmlS}*%PrKxDy8N$RwX*7~+7KaAF9kVTgb`6*pn4YPYLu*lMq6t7LwwpJDn4|J!q1l4QyuEwe=rkauQ zeU6+!2axb&5?f#9RD{A7+bqKt0TO0E4ke6}Vx~A#Y|CQBO7yZhle!_}OuEi zy?krvJ)#1Rkxh2}pS|~KFSbt$C}tCeYHz9?S}WBMfxt=C?Sd7mdPP=PX)&sbij}IF zHdLg&OD}v2XY4pY;StM~9O83~RbLE;T^gq8W0!BPyZYw38+T6h>A`XJTksE8zMKYv z2!&Wty~X=))wf}#Co#yxf8%#rD)P6BN?e>ppGf*Bbe2pv6V)G~b4V>v=R^*0S02^| z7Av~6BpfV&7%V~|m8t6(ZqKnr5e0yRn5JAyI4$x_R+QUL0A&l?b+N9j8v-w`#7gy& z@ns7K)uf<~4n)u62P4sM@8Ir4qNILOq;@yCI`qOZdkS%=sG2Yn{`^!XNGi30^(*^6 z|Hb(R_6}op#LmjyQ8e^kfnzipH8Yv(%7&5g3C*Vo9sd~gp z)o!PjmBUw1tyMJ`Hl0TMWlisW4fnoQLsSPMeZ_+-b@rRjc0C9@pnq3&$W`J$`NyyM z=ni>9wmvOmM0^xrMfFHOzC6Iuk8a6{6JI8SB@>$|rr7K~t{$$yl>O6kq=u4SaqUVc zB2e|`K;#Jfp5q84Ng8X?Zb8`0vx>o^+)tep?q_nx7DvHu2Ni;gfZU4$`YU5b!K@V4 zMH_<0Cc{l<4S@;}SCp+@!BLOVP9h*i&UWf1wN@HW%4iMkq-hGJDF-Ch+M^-;^Jmw% ze875O7xrGVwXAF%xw{fdpd4a<)MV?2b>?092D_=g3`S(lShf9tO8F(x>mdaI7LuAcVtWLuN)y`hl?WgraFC)F9D7VDca30Aanzu& zF4mO|ffrX|m7RVa=~cJ3Kpj-CMh61GK#*#xO(;@#S52@Q&1_ChB1}^`f|)Q=!8QA$ zSn>f^w2Jks`tH%plA|x#RnDw9`-rj?ja?9I8(6zIv&~@m+t***J#_QjJ_-^IKn&`= zsUfHrofr-EQ=!42YpX|W4ylR?sH&l5RnB8N~?e^)CcrJJ4Z z27%NMsea$z_tV3qFI8WLD5^#G*$>j}-o1&vYH1nW1%N-^GqZkl)~b5)eb#SY`0Zz( z^>TQ}eTV7>WAYW~t{W3?18%je8VtI6yV|~lwvskfRaH+{rZC+^O{3ZUF5#J<;3w3n zCmM;a?rfy9LrCGti*~qZ+dq9MJN*Ww{bu{^fPo4NXh$LAk$8zPNAKjscm4?-L#V{~ zo%>W(6-`Mt6NyK>^y;%ZacD;rZJO$g@tgo?Of^YVtX124CnUYSBkFrCgcK6kWj}Y8 zx6;<;jC%?M^&vXJ*D^#K8ciS#*3@hc#;-RXD>%Me9y!aU2RfhCFXU%EP_NbxpWf&;U#g$Oe!k3aT5pJFl~wX)z1MN)I#k!1A{)N|pj*b&j(*>E5$lP?;`cKwo83Q^ z@*~{!t#nvZrwZPWu8(?*&YoDcPzp1Q2&KAf_7SS?*YsF?&SJ&)!HB$@7XzCDt?sGy^ESCZLmRI$lu>nXKUyJqYEFZLoc za`p}PjrXB1y}$dd6FVsnGpA>CF#t4S=mc%WyS~*W!=kOI+Lf?YwXlYvn`=|uB&ygn zs+qsYjd*jqN-?0a!@yIP4!ofD1lJcshHCy#+JYZP2!}qLUfPP z8)I!2LH&wn>IAOGVnsPYrEmgf+}!xI5}u_P9x**73ruIAtOEcJdVl{`|k6=8T-UMT~aA)51oJDJ9t_Y)n98^e|A}U z?Gxs$Yx&Z%^W+D#U%vIe!-1K?8Y4<$qzM9z1yQKA40lsaRWSrqhYzn*n}@e~M773D zH!T3}J`>jx>7V^Ze^@*gc~1w@?ltjIdp?BlUU#=&QgCFj5zCOzkV2xJFe()&l|r35 z+4%~i-Wg3rED}?9G?65cm`*`WH+XaHd9T^TA=qA)bZ?fxybEGa+s>3&EZ%{FO=zg= z*ncgG0;6ulKDrQ8mg@KQw-DUj#Sb1L<6Xq21kxJOoUs#ZZ+(*J45jV=>KZF?&#r)sZJw&d`LdX8)yA_Ss-d0mH0nT~t%H-UvRi)tOEsv4NP< zp5hX0s%o1eg4%45Vpq6 zdi+8d`hnZ~!0qvOR*pMlmVGJAdc(S4Gn(9Vf-ve)LAR6%N^=$)$6pH!Ih>EF- z;H!->^e!Y-90$z-05~!T>`*a(l6|VG4!WvsX<4a&T56^?waraW>Z(&KEZ6KW)A>EE z#i2(7R}R-$OL!OC3a+f*q|5!jt(a`1L17doxzF%bpi~NV>Lk8g0jFsM(q=>=N2|Dr zB$CZg3$~^WYo9-uT%VW7$dJ(qa~C)H%^EcZrDa4ifQ?JTnphJzQ7AO@777Pm&lHED z{RqO)56@EJt|=GC6s3f+FQu3Tk_(|9h?OuY00rX7{+H6T40C!%m1Th_f&RREzz(}Z z5eB#7K)v$MkG?oe-n+ol=oP(1idara)t0 ztb>EWtJ-3P_UI$3s#>XldaWvoDbs0P*)$J=0!?*l>d{@N=z}`E(3&GFx+zA6>#>OT z8~{XhQ`k!!cQqO!lK%wRb+NxD?K*u_fN-NgEc|pF96TcYHVH0j5j!Jiyu&=`#7g{=TLMhuYJ+X)V z3~3cCSj@d4)Dfs7J%v!_m_8g7lD-HBcX72JVvSuAsV4d<(r!9;l)>F0KWjNZZJ4yP zuNBhmZ>tIy4X47CPm{KZb*e)gzhk5oNL01zq-vqfXqXtljj=#SVXXt+P0>*eMHAW; zx|Lz8od$*ho>TU6;CJhm#3lOG|~*$)kp8;n2jtOEKOG3 zhR>}A$Ar8uh}=3UPPBTD?44+fp}|7BECoxlS2^sQ-YI>cCZIpyyZ^%3%$Skeu_)|= z$5^c{EWwIEtbwG$Xmpf0y}AOuYy3kSfG&v>wlbZa-Lj*a%pFz-zfiq*i&K0{VInOm z=pvJKo4r{3FeS~ByOaj{op$>D=F>wWy`rmflmWe-)=Y3PG9kjL#Z8xvR@LF7Rn=8Q zV7h5jW|bz(ZmMkONk3hlZ*9+~(|CB5E?>FxD0p-sR!?7#CGQOW?3?1fVJn4KR-D}s z$#WobNA0~=jH?7xpi~NV>hKjArqkvX(@F^?xd#@rmB}873z} zBOR^Amxo46AR7;!m0BY~Rtluhn<$LP3Wc=`p{wG_4xzlWb*lt?x&hy)w?1v=b3KZr8q3Y_GYEMr~tPNxarOim}P4|RMJ5-s>PL52zS3Irq z8Dt9bolDb26{`@2Bif*X7DNc|m^x`E^oG5(Q)pr`-~eU-kI4*Z;o`6S5r+qZYNc(e zu5GK<7*aqgtU_(6=~muy)q_X+>^d)z&#LaJ4xjisF$w?zvg=uuF0j#?u!&uNILqL0 zA<)>M%av8mGe*L;!%q&%5#x9W%#3rsaQD~@`fxzXtH0Y0wmNkrL zu}j_OD-w)o2frgqFdPh(!P9-?T>)YHOHv5V=b-@MMzG)o!Ae|Fy}=Y8CkrOltGF%% zfO^C~QaP!&}>7@(U>^_8lrP9^GG z@gsWV;3j_1i-d+Bq*!Rf{h-f{fq^JyTzHk`$Vb}h$6>p-sm9fz1ykKYw)boSYi7~} zM$|YLM*E**aX*j6{F4ry9fHaHgVKn zb~tG>3#qM%*fr~qD4Kz6F>_JfrXHG;AVn0_t>N}9D29Usne(FP$!fPhrcj(H3|({@ zQib5UHD3en@gKV8z|pR1sk&+?fU1^(z)BVKAehawySwIvf%S9Un9oYIHQVqT=SN5l zl!9CoJ2w>Jk*H|+5*Y>K2-D*=uHJ|*W7^2%5QQA-x9lwipufLg|86YqIW$$URgDQx zUK4Sn6s9#I#UTVPx0b{T-OxWcXcoH+5(YK+G&`p2Mob;244!E#(MV`P?dG0QN-9zhA^wgOZ>iwvjv(I)i}#p6Ud@ ze#HFuf-4_$_GG1(p&n?iqoKlWXxC&IT>7obD08yU+RV5=WqCU9s*cEZ&Dp{CDuSl=RkE= zFU)&&?bQ`>fpja*CnyMMGDsXvr%0Smx|xtX7zv9F8^@G?!?6YQR8AYwD`j06(TQp` zLn9Jb>KIK@h4jCsbWf{J!qBP*NJ}K~po^~|aO;C^ZLCyPb(j?zfUttuwbM#Wx1&bS zy|V3Db?T}mAnG5U=lVWLS?mDD%Bd^|P8Z3z4com8jjOHEo@rU>2li@BKOvj$hb=8H zncx;v@|uaN@nF;kM+4T<%=5Yvkb1|VWu%+c0FW0?hR)lfL8AYoUVqKm(ixsPRS61U zuSd`8=Le~mBxv@n1q~sVV8J3-iO`KJD>26Q>e@@1WK_2#s%HuU5LB~iOE)8Rcl}IN zBwjF>wOb#JpcsiT*P@hLzi%zBS_`{FD>P)oV;NeIfBdKU$M=ig!372ig@%R&geh?4 zU1mDE(p5)~a(HEB2!x8ZY8%VCdBj~0s{5o=L4Er%KAq2)WLGBx9BF~W-zF$#s-n@0 z=&W(r^mf(i&?tIJs6r0;_f8<>No0Gub^EC+5=l-ZQ(IFIb0Ki=vH-AvB@ZFo%>8zm z(`HEkU^mGw$Megg@2;xzwvrf9Q#%ibRG)6p?Vot7*w!hc!1jUFt^jt^NgEjJwWtc5t2_oUeBCQL_Qm!|;~FY53bVdYh`ot)Wq5La2j|jEf;mBGXUz(j^49 znACA083{&?jwm=x;J`v!90(y!vDA7M+&=(#UzP;OI$TsG3w?&Dqo#(|)cLcd3i;~i zzuBT%^W`;v5V~=oQE$SH8!v3Z^N3Y9ZVH0&w{1O_gS)yaMKR1Z%*dxEnu6IEYb#P?f zU3C-=cPnjGRRN1tCTE-K)aUAMdU?(l9=v?3L4I z_>Z_f`=u_A2ZcAZCN36jl?-s}r*3h&?usa|pnZYV-AxuMr66@2xvlbET|F(6RWs_0 zH7Bls2PStcJ4&09g4C~xOru#5ZU`W)M zC?z$tgf+%K)^WONik-t9kLaqu9V&y|CU)lPTd`DSREo(XwL3_c6P@L> zm38j(B3iv_0r=$eyz0my*M8TaFlO_4iS(dO^9{HS3lPT}RJ>L7?iW_u^mvV{YfYjN z4mdI{hA?aYv8m>Cjay7f+?{A_0fTE!wU0(w3oh>|in76eR~y3Y9jA#w5ju&=kiG~I zj(L9^5Y4)?EeISCu7I$c4pzfWfm#Q6EEn@$J>sfa^~hD(Ap-?*1tLR# z11{aMgB)k9O10hOU{WZW^byF|e|^O*CuN%S!Ob{K#@J_i0&8%@uX^!_OM9t(?ko zlKZ9CY~0gSRjYf;dRw+mNZ8iX?p|oWvvfsBrhz1gxiIVN+iG-5b^p@wM~k)C%92i- zg^ZYmogbfIJOL%4J!lW5LbJ00zPWX)oOIg} zN-Fj@AXuW}x`o(aPu*zAp}q&a&&I&V=nm9Hhh1Tm`=9+Zhpml!NKvYZ?Y1zWo00{K zLq>qd=SrEW>lZ9n)U%Qo0^q*f0&;6Tt%zR6L~73#`;J7J&RPscML^WupHN664b3Hl zeHBX1LyhPvu5}u5WKK-IPGnp*-%jjoQtoytjIHaZ=YXnOTbUlNtF*}!v#FVGMjr%b zYBN2u`mY>3sB@jq(@X~o2Yu?(gXNSe+x>VO$Jh z*8cNTbA?+$q~wO{T<94cv2;SU4-Fuah(+vBHaYc{#bAz&?>zw^hD!m8PZw}8-#L9; z{yWw&2q;RdatXLBxB|o$`fKn!@jT(m5>m(Q3{Nj@)fJ>4;8r=b6l@&d~7C#GqVSm~sCR#)hA8 zD0p`c_q=P{uIe`1wl;$*_|){Usk7zSycDZhb?&a3rw8*amxI1{ohk?dN0|b)4rkuh zE(h&7qJk)TyrQbhlBVqJ*+AIVllLrC{bq`|domZs4lX&>>y;VSqFm~dEim-8NyPp8 zx69s}%pt&gg4Qt?pkXT)eCqEUKxQrt1J{ah-OgJ5qxQyywHtn<+d6Pt@O(k5(F;p6 zbMvd9y03R2h~C25%s%oTYZ7W8i+!XGh^RYY@k}Ss_M(}fbn^(5RUGSQGNPVL%!=Bk zA0ti})t`g_grD%&10JXKP6%B!6ir3N6t$g%W!pk+OLY)v(VF{w)ejz0U#O;edf~O@ z)WIt@RX3)J!#@=fFck5PXLa33@H(e4STiN{H0uOq`?EzTu9&2yxUAuZ+>mc^MI#FF>gmBMX8xRPxE_aLW zit22Rq&xj82VW5ZQR_|w;ITBFf_8VB6_iM*Qs-1OoX;-hR@Ag541_SP#new20B$qW zErY5HP1R#c*8zcK8(sveYEkC*e>a{*q2RXP|sQG}3Z+MtP zQ}^!E>8Ul7UN5jeDUj7AQV6s5-W91iGDuy8F5!X;fQXD*KBVII)a78`9I>-@+cP&v z{gb^jZfmFjzymtIq*B0p0v8k5b@X^hzwm>&5{|R5=`V&)*e6XL!YKu&y(IzDTp_2gf_LT0OFdhD`R zwIX%50s>y|*-bPW4ZB_Jh=>duFHPuYXL?zdB~QST0jUAT(sbED5I&*t$d^q?PHT8S zUI}Hf)*)zwkVhgnxdK=wMsF2e-A`PjyIhqcgvc3S7bp{pohWixPBnQpn1L*Ia|3dB zG`Lbo-4A`}Klz{hPk!h_pY=X)bE6wZ?skfm!PMclW2LJxv!SJiTiV!CP1dW;%y3ut z%N7Q6^QJI{!c8P2CaI!j;(21thf`OKLtJ=`&|&sF<8j;CxTm%4^5W6i!N==rJZldxI-5=r5?`1C(Ck`s4KW$ zcQ0@kAaGkai7d-^+jrp-^c+jh4x^3*SH-=*z|Hc+U4cNtJ@`9R8*gD zYU7_Aj7+YgyMn9^aILB`AHSB?c7#xIs|(K)OO;R^>;$(6?r#Pcfji`wB?D?T?FraL zlg`}?;9~kgfHlJ7Tu!v${kM=i_Jts{jdtBs1VJ$1F5a6=bRt)a`uX6>p%*M(bp{4R zaFL5#uvnI!-2;27fh^tKbY|u{wQOW(ZOTDrKK^%{tfJ;=v2^XV=PxW=wrj=07Qf-b zrd@mN+O>PvSMjIq-eT7o?B20!$9KJJukU(cuZ11o^{!Q~vasq^uD(y7Sw+fFV# z7;MX`)VN3z&m^eS2PiKRYd#Fj+mH&s+*H^J7IEB01h|($#JCW?e9JkwE{}0Kh3vdt zyrngA?zHLq*z{&C(_@#dWwoguDF}Gob9*cZDcHfz+GW#U1Z>a0P@_AP`t<;0c^my0>XDx{8blx8{OOhlu5am0%IDA&}0U{(xn{ zU(-8l%9J#aRdBP~v{1(4Xx<>o7YJHJBU?+|6$_RP7#alD;Bl3^`=lvQj*})v$j`wJ z5foH47azLV_=5)bUO!Y}-*p3_TVx?!_p3UdU__l-WkGk)sWMpFFxMS-i#t0PmaUDM z!VWm)D9=(7k(iMrc~F=nB$@3qt2M6z&*epPHYDMfi?9>B6T&v8w;LP<$#{J0Ik+yJ zqY#B#&9DjWrXN<-P?wH~6p$JX zP}^CPe&L)zgYt-|dol0(s5l!TL^PW23!N3qNMNnu#>SmI>UC8;UzJfr-2FaGk57;< zc1w^;KxUdeP3?vg`>xI2vJFHg(gF9W_GwSB3rS0+3mNJP)nQ<$XRm#Bp>LXDx}z|~ zD6FY_1_TjAQX)&stOQ<6toew9+b z7CFBkH;CZSM2pCpx(lpgLZCqKc%THUdbO6KRUC;9FN7$FMKG|yB7_ZJf`vQdsdmUr zgVDJH1TqdXe(NJ{wxU%amz8PGHV9lNbMIH=JONn#?BBsx{9 zx-V91UW;bD&W{G6jvjA-aQOJ_-4{+NX69>;W%6XFGF^SY(luN`&02PgOdD<&6!fYu z-ZQW7GZdVtV(q#>xUUWU)nq{^K|~4=86P_{=^{fCe7da^2F*+XR`A(D)`f6G63A6q&i4YIZ7QrfZBevnFl^o{*}l zYK5vM>W)v%EpM6m_7!fr>X~Cl8od=vggV~LpIs|wQHUg-+1hD6UpZ& z05E`iU02M3bMRay6*Y}QhJV0RzfD;`t0k{AmTcJ7`iQjY5Yg`%z{|Yw!(cm}F>9T6 zmthNotB@V3HxRoXFg~vDHU0D}T#nKmSyC^gL#}y4JlIeoj%Y2SMI;tjv6u`5MxU@- zx^>8P!i1D!RGc%7uLUJk1mqIE7)yjyypXOl%`f(*Ae!&%@lSS0ITC5?ig*N~`80%` zgF0B~H`LYGnTb`idO9_j>eQ2nWDracu>?s`KM4J8`uvN>PS{)8Ao{6&Sa!}!iDqh( zpAN=O3-Y5dRg)|=>s8ZiF0xHP(2Ks}u9q7yFeoBh&w@0%3T;BIsT)LOCyI;##yYd- zB7+411VKoUmnfOL($$>zI|v$C+Y7?X0Q(vLcpe;bjl@hu@ko5p)ZJ~3ZGnc8gle3E5%pdS+&#Iwo+*H}w(73Uowzc8$2D{KVcUrR@WCqi+V7yLM zq7k7y0s>PkQyM03~+g^7@v?7QGm+{dHsv9 zNN|@$sRVHlJ;`<&i-^P=mQ`2mEiFy$n(tg<|uAv0pZ>7{LwnH%}TkNCiK~WG%T}G0Kph`8f z@IhkD?_%f;KlYj})X^U$1NX2vFDII@LVlep{gX59u4KJyA*B+kY}t0L)=7U7{KJEO z*8skq>pibX*eb&?+80Eaxk9*2E-h{7tw|6-14PEqL2!ed1P!RwAST8TvoO3TxOn6l zU^In?fCv$?y|5Sd<|y6mLxj7sirz=!GI>JQ%wO@sF0$4kD=Z=)nwPLa8GIp4XQuHw zP_di)ar@NWAKQjeL1dp?;#ZXE$EipY zWwe&5^2qyvH9w2zxEc9c-|QXR25=uRfFvECCG?m&d93@Xy_%Ep&#IP{(6UuQt@_iZ z+XMu?%GI}L5YCJvl&#$rm{`NAA07viC)y~%1p--$G6MF{ybCq)Pv9`bC~Lqy)$mp6 zecQdQNONnE85Wbft{^Imy;)bcWKzE>F6TzC>Tsezz<7zot*5q(3Z~uC>7I=4qDlSC zG<$W>VmJGHee{!GGDT6hhQ^ppH#AO7;|AD42sIY#~oNebD;&$KwVQ}f~vpq3&_4&&g-JfN$ zKdNV*pQESm!quRPL9mFvmmWm!3vxG{hHK!kW!F|On(y1O&;Hnd?0vsb(G9iWM-KJ< zhWo`Oa!iwzg<`PD($gt`MkE>{sdFSnM7I%zmw+`dV~l*t&-or<+qf?nkOcR$1l|H~ z#tLs~olNhT$m1w$t7MfL^6}~5w4cuJ8uaQczSWdR3-(1BhjE0v`$og#FqlF_25J(} zWZFk$Ob3alYLkE@TzmaJ5Et+mPN>kF5rfDcflwXi}+J1s=km=<-nWbMfNjb@l~x>ca*-u*lT+EsJkU4dRLh$?>)^EQ5?G6C=7*~>La1 zWmjfiLCr^+E45l*X)h6LK0F$D@9dv%G91=S^$8G}DfzvBI}cCwi36t3CcmKCbgQsy z&FQPk7ZfA6*l(<+IDzd6X)`HhWk)Qk(gPK;hNwiDd^q9et=sj9L=)Duj`|&V;$+lr zx58p;B*x(!3u>;(N}S+J){~^PAUA~+sn-DBz&!Ej6f6@VERh>t5(h{q?9x5BU^Vj^ zmkXuG;ay!XXtv+oc85gs^Gu=F=7B8RF4_y^@Nm}kb)bCS|h7& zbS?4@sj2RSb^V9U_qyXi&x^*)LDj>6ll+ub6NiLlXZ8Q$8{SDMGM|TIoe-qrv692_zO10#30F9M@iPn94)29N_9+8JY0_b%~mX z4=;AZ-joh&Po8Ey_Nsf2xz4Jdt{`3M&1oul6e>z$+{-P{_dIdeS{xLYuH# zusduXZtX=!;D(obpFpp*>%-Rb)5T<+10MJF@!C1}m7)Hj-X-O*IicO{|E@*_LNXD$ZX+6zst>CJY1aQdoxHuZ(U2;K*d zxMYkl)61kZE`b^uLVrQl44DOCb8{18-Y1W}JS8(j{qb6%OIKBo>hX`=E;Gc%76s8F zA$EN`Lf`|C<*~W_T>ew6I#LHrk<#tLqrI<)YmpHwmT9^I&TtW6U+k{;!dZqJ^R5oo?rh8yPsrURH-9ETlle zrk|aZ)ktOVW@7DlK4&RU)SG|2&6G*iC((1fg?kGOWuj0Sgeu#Tv1G)OGAmJXN8)+& zcmE0js3w4dfI_@yhX+&~E0KB^){bR&{pGL=))}|+os}u_m(|Rg@Y#GePpD?M&Mxky z`R?AdOMVDX*!VQR1JA+*Lq(G);uuz%H3#t>@}s~euKn6=I#>_n}1L-ac0-A z$g0xvfLv@|RrS^Fc=wn6ODAUdS@#fCPHLvr4 z((?+j=2^znQ^WZ8ba`?x>^>vl%en8C%0I1T92Xv+s;ntDNoDj)sUf_< zu4HDUl-O1wkWeI~kUg@rsUQ{H+!%a;Q$GH9CVWISy2q0_`J_VT5hAq6CDO7B{cKu~ z=gwb0AxF>wD5zZ!@CC0wB}F&-9=4V4;cFb{=Y8ML`f?Y}QV)*qdenW68Wleb-41o( zK^_5B?aOpCpE&4mvZ>k9`ih_Gnh$5VBzi78-56o_7odQ?L2q9*glUuS)4#@9zwY8r z_c3xw6>3B6OQ$`*iuLOo!Ywo-QgAX&4Mo@s>u>JLaFSUN*$5j%-28GGIxqL)pH_4K zc)MJoF^4=a&nL^zo2PI$@xw5fw{DIM~d$N>*eN+3smxp(EcZG*VlBJE!czE=VQMYM{tLC_zORyYKkME*XLKCe;i)>4p zPDp$)>h#?CE7gR?2B&s}zFR0(mg{K}8G*V&;yO|}cpWBg+jpM7i~N{bf0_5bJSDuG zdTI1M$paYrRZyZo-w_;Pla2M+YbXt;CqLe{ILo}l~?eG3I3)6INhxJ;Rs$(1WIQ}@8N ztRE!SxZ>iHnAlq?KiT#{8^(PE^MOt@PrJo>VcOtj;54ObdxY9)tPIpC)8^;%+4Pr6 z{c|UT8|>=5&3T0+~GZI-t!6qnrPr#f~_P})`u6mt5*S*(XN8FP# zU1vrvGMv~`LIMh-PS1b*<$4=L8slHLBlMjI;Tj<`Dqs`yvZRBT`O*8xUGb579^QMR zc^`#t|FT`Pe%G#Dy8k=8#Q3{E#qtQ~!)x5sCuTm9&CR?{$^B~GC1LOq^3{hvmodWh zQ4{Z48l3XwXp_C-4)UX9ty%SEyS%n>JD&~zCBM*8wGI=)m1#`ZW3;NKqH+RIU_bAB z-Ry&fyOPLiB39k7>D?BJ89lmOibDz4k;8Z3_{u8+`2|%R77=Ei8hy{>>3htxbEE-9 z76F-mIj#{Q6M{`loz@^L9lZ4Sp~)|G#FM=njiTZ5*;$&Mo$X&%`pfW>lx6u=UTyr` z4zI*GDuC8FJD-?YnflwBYRSVyf&6(-Jl$htB8h*jXdQ>`K4Bo4eF}s9xA5s_kET6) z=DZC|m2;}Sb`k+o%VsxvHv9JW3kQP*;cn8s$8Gh$45K;eNnv{pYXKpQ0A@g$zpS;6 zs%q04Tm%GS(}u0bRTKo9?&(y35s&KgiMu9krl07_eY>Jc9L{eh8X=}sLGa|2hVoFP zKmg1`z4Abtk)ym9DW&?%JA|xcxarqsv~tsGurTak+93 zF_^5faakaX%%CFo7(Uzlhbsi+c^>C&RL&Q-Z5KPJ;*%#&442v2)XbESHvS)QNld^L zOOwH|1|o$4nSBa_151y16{OSD+gnp4JN)yJi>x_S8urfFK`(=6qcbi+IG*J4A3Bgb zfU*=lAvr(@E2S7~t#cN=!9}nx+7}+`UmckVfBju@^Q^D=emCAMFxcU6oN zD@ldl=X_cu1&~*y;FVSYK~Qdlp2QRSUiDBu;H4qA-h^%;u+x%{N`5t}4?*t>_PWLfr`IxFdI6G*$Xk7%i zW2+b$6pqKg^s9~%!JyIL1{^XWoa_Um!Kg0%wcgyg;l^OZroVMO4r0Q`Z$UMxX4T~q zlmb_yB%-@__|U%75AHFABrfRk2wxuS4R{4oo&XT|0m zusp<>dr`shQF>f;tk6W4#KS1{Q5R6amqDKAJGS;nm~jl)x|q_2|AF zvy!GHA-qU=iQZlem;b6U-bx{G=t2drpcM#EL}0giT7fDoJ9^!rB)}gF5F^+pM7EIf z09A|rZm>FH1Go8?-{>!Rvp?k)f0(ZNpY7?LUZVj_)uvNH?bjy9a^$icnJgzggn3*p zA_vHU5u7=x8$UxC|;AQ~od`hai%MWT~bRCKJp5q)rxc2tXvBhp}O1Z+)YGye(I zd~#^Ae8{7t(Q`^Em5b%w89vS)oy_X|B(6?jwqluCsX$(71%gtDkP?r>aEirPM^Trn z;;W%V03z%Y(qx)jRrX!G8!a=hW-oF3TL1Fxe_0>!Pf|X|DPM)-xp2+UNRvzc=F`Q6QkvTSK0Jm^>inveU)XlXJXfnNFjiR!LenU z$&r)QriVkev-xHEmgnQzr~aWT!AUVAqM9mu4Q!l8n zs6E;KWNu;^UoILCe!S>mlModFiHeaBJu9W;Mlcsg2tJf;XVKoQi|#`Ko6Ybt5IEJ< z9de*qU866@loN>!70OdV!v`^ZOzju#t+UdH&yQo9=s-plo&W_9fFZZ5?kvO^t5Fe( z=rsWmGMSayuWixpyTLO5s^pX1yDwtP*(Pb`_FMEZ`3tj1N`(3M>_9$r7nzaCHLp#w zMywsKXh2TbHvxlH<$#%K7`sLt~7=tcY{)6_AfUxP*xey2WC{(*V3f#mp z_pkgY7ou!9YJ7vrPHm_E0wdW02qAC+DEgOWu{Of=3yW^7(OVm~PBg%&+4wBe$ntWu zi4K&6l$1{Q65UIGq}{w)Z-zuARuap@F;27rK@~(uX{w0IQ@Q$Qcnk6ta7JA;-Y12S z;Rb5Irgk@44tP8|LSp;UbEcv;cdBRlpKtQrmB{*#UTl$M?!|C8FHA@Gtoy<+tPAnm zkyGI>qE}UAei=RrWTs5LQ}*~a6W?Gq5Se{97&&LN^B<8lD;cCZQVyO?7}Su2iXieN zrDcNy3agmy2nYf2P{xH6G=S1&* zMIq6kL<q0B+;wCO4q3)?yz7K7=FOi|vETfg9}Yzym10S;nS;FCVg*OmV@vvEV}se2 z_9S1Fj`BHQSGP9Re4BbMQRbJKnGK6( zsH8<2i^W594`(m#u-@Yn)e+X^p$rHVAR3d2#3)b62JjYe;kt+;SHIaV9-IJyo8C?H zsIIB1%uHj&H8$I~S7rF--+U#h&|j@6Rw)8SLJ?AgS&|QZc6VT=-zg9sG-Iujv^+0EH_YKItm^-9k!OS zmUYb8JtdL&__K3+(X)(;<|vNvf*tN12utp!hwkBH$eX|P(gea(vq(@!Pd)b^VkxZI z^8;;#&>~E-)qLnweW8uu1)sa;CNHF_{4SogdR4~D?C4~o6r>|z^7q=gB<7__=hg<2 z6%olp0{#6kb7q8eGFoLf`Tf%LXC`;$TA!Lw#egO`(3av1JE96WCF2=}gTQpdHpi8z z^eA%(tmZz_KJ2ZXBpVq~0ppK-uiQD6gBZ&qrMjCEP@0nTAp*q-h3PImIK!)i*PQK| zY>%;yV&F2lb^|F0BGK&WdhVZLRB(Xh^hU)VwbW=;&8s?4PJPo;-E@(9`?gP|seWHJ zviRbQWfxEM#)?R(4%it!G;59?7cTn48>-Q*sxn+AD@kTSX41-$p+CRP#Nj8K_Yfi9 z3dlZJuG-V2Og|81{OF*W*Ix6*fxEotzAgVaR1Bqv3IwzWT#*~O6P>L}E=$Z02NmaJa>sYjmiWu>ZAmEkg6Nth0ea%2>#+oU%quI*x*9n2$* z`~z(N-KCU5JJ~rpWVY5k3=5vw0(qW0fYa@^oMEq_3OJRWlWko`QErGlG05W7!J@zL z2>XEqAp#aTiQxl3bknR#f+tXEP-yCEqVBLriH4-o^w7iNPw?v-KEh9L`h>nc?M<9+ zyl98BjPnbkZDZTsp&L&eF~JeWI?v+j-oZZH?E7B(4$aIeGt=;uOH~rJm^KsKO-kr> zsnh!*9gC+(XozD{0wWU0rb^+p;QYt+Rt3|S`o6SkycQTOvv;&?Nhw7)Wu}dvCVFc$ zmcjDb4H3yJ1%Q7|Ke9`I7<;<53zq=miP*C@KCZst1^bk(c|XxIg?>tt$)cudN~udJ9V$E# z@W6-tmwD%ZDyXyi_0*Nl)5omclU^8h>c#f1VAr zQ3)vXYjw<(kfv)l^CLv>kn>vZ7%~W{YCf?XKjia&PJh+(IPMz%J7%V)HHF|G4-nT^ zjXuIgcN5uUz@hBiZ5#XeyBqfBXLs$#FK^rVn{U|W$G5id1_ll?*U62AA_9C8$3v&m zqMDKX0iq=#ga%Lqt`P+2LBvkrqPpN*3%DlK6(TIMlR=F{Ox|#ZPlT7e6gy0Oc{1rI zlVMsOTGZ*G=8&jZTwEj+1^mPBZ|)04XZKZ}FYG+&<-)N~=XP}%GZZQg$ov_uexQv+ z&;zi-#BWFaZok`>@9K2^`SV9!Ss2*~*N1DRK@(blL8)b^x0jyNJ{uUN1AsW_F|Wi$ z;J8YYW$-;{;u@36xJYUS$r@*$!WL|sZrr8FEm z7y#OI2;tQGH#_0YKZv7wbR;@Bu>QQzj2CL=0J)hjTKcQVEk!l>-1gXucGX5qp>okw`n`Eo1s`zP^2IawO5=;H8`MxXXf;b zWs)y!4IMN$Lac6Y|J@#5GA%Ect-{&@nM0C1GUA{&G(i;^1SfiwmaqMf+|t!X@olz~ zqv9i*5Eq1QnS7~tc2ADZ>aa;=?`v|?Q;4(4h3=A3S0A<0! zuI^u6`lVmo#a-dmy@4eL4XBa??B0#%sVWw#*6e(s7*`x)y&Ygk5D=~r5F~-viHmx{ zxfXpwonDtAYKG_u6%rAP@(iul>4oRuDLz>q((n+0#uk)zX*U24S``I0cvi7Z2hkDK zk$Akuw2{z&4sqVENnxVuyFAKXX@1FH@+Q>xd=sV{Gu;U60%i2?E-$o}m(`l}jgXqC z?_n6=-<10L@V;IG;b_(H+5TyRuE%v5gINbwDj2vniIGR7O!xud?-xHHlJ8@Lr zN9aHAY)Vaujvd_APso>BE?oLoi=^FZL>5Wh>J^ryMG*<4!jJBF^iELCz>2};2wVzc zXl(+4V*x3g1cKC&f(zH@TEI1dCBxEVQpIr&5??rYJ>7VtdCr7}RHT#=rH8r+B1%=E zd;rY$jxSJj5YPW7)(L8?yvU~UL-2m`B&i|51YQ&0lj7Me$x-b;s0!D{Gu0aSpAxOdGn)7Q| zQuJ9egozpv6BUa>Oq_1LG4y!uo}LYnI)rXYiYTQNKxPf#>S{YWiVE!*Qh~Y#=(?Kp z#1qGAk}qtXcjewZ4(&@9ClAL(CQzhY$;oUOvPz91{R})K$o~V;xQbUDA#F0os}w21$^=^L=LaWsA${z z#8*TYI2QsaJ+TWR36p4jHDp*aEGDrTE<~Jy@JG9QHKf;vUUqh8!K4M70Rx-ww4QCmBS3J#sKa7^h%T6d==-h1ywq>cz8 zV(o65RigAzDGO3oBNqfJAn3My6%9+qx~> zYPoRfO8x)8>aY4vss?=YUU?yq1+o5fhi(Xl*4~1SP!E|H5{e>(T?k2-L_4o0>adtB zCW}chRU~49M~NhrGBJBNVDBT2mrlQXW#!~IGIKOciL{i~>;xdQ_B#X6K}IhQ1ja{c z*0ZgKv=cla%wLX1WZy7>SQna0B?1~jSbE1oBJ_+>AW}gqE*iRw<4SzLqA%n#)8U}C z7hak={hcPRvszWvJb|%euZi*01{*l&Tf|hlnc@U>|5)H0k=a8tK6Q--10WFwe-Q=P z#7N5EOR!4D!#p9|-|XdHopRHn!owfFa=)Z|E`pX5Q#Cy7IQ21j=>y?^-ZK&2`Sv>- zRCUY$58coy?8_IB*xQAWgcTCnc{NePRKsKu8B8WblW0+5cBG6-IwN;pV*dL1u77@7 z4pk*ApR5{=x%6^XO$f?daA^oiL&rK40I(&rtRK1&2wfM(q@5N$D|?2k$p+}L%&9!Y zN*L}_iM<#^MODPy6=tfPsy8KCDMb_lsgepsxrOmluYza64<_|8j!rmeDZ^FgJj7{U ztO}YRu*2LxE}KK!2z=sD4~5P^aNaWHY#yUQr=9>Y_zh}LM1mDT$YiXPRYv*}WJY_~ z57}NHe%pgaO+MvL%v}txn=mg#VIsoqo)C2N*vD%hF#q+QSqC_GPb+k5b-g&KFW8ok zB+y~sLRcZ81xz(ei^$VmqQVUhPsrUDo4 zlORA91r!=Mz>QGu7&RxplX#u(=};yhbdotSU*KIO633)8{l5Lxu3Le*n!A`;2Wd>P z6ADB_1fV3Xlt2O=G`ufyyrQ%L!(~p_6%0LwY^rjz2BFK8^#gR8+s?fO2Jek4j~R9 zGF-bvm&gscuuBby7tG$9&-6*mU%gfihD4DX7UUIqb!hPj2t~z&EmdKK9D@WXC<3V8 z`7iK=J*0ISwO71-i_C$j40UI06CD9L&}JSAN1}K3`|e8+C@4`=&!DQt__Q_!A_5Sg zN)4rTNl}U-!gh!A{cinq9kL=Gf}iEjmR9$-Fk=qm&B#;R9Y% zEe8~4;^Pqcs9*lxyFnaS?ZTeX>JaR=H;8>wbYE}7m4zczjMpI!A*>Ltn}`-KaYS}U zte@`m>>j+~=$Wrd$N%n;;?RL*z-5PFtLYF>4q|r&WJW-cje#Y=NlNaaj@<=!51t(8BUWzCh59I@c9%IQYj&!houT8A~RJ%SvuL;32_*z2-A>= zRIZg)C6Y!X#n0HO#uK1 zpzDUB0rYJ?5P-?bz`B*j1J-5nw$YYppG?=ks+l@K6rea(@F*Z6GgU!Ud-{V0N)4fg zP-;f$((7g;Y1(+e+u zU$pJ(dOYiGx}z8eBMM>_=7xet{;PMn$Q46Uf?Xuakx@amAUsFR+%5f)+|I;D_?pc} zN%p^JIWf%UQf6hQ z4((Z-5GV+M!T?8zwqOXvBH=AW>gVRphw{(CYsPIGXt9j#Mh4 zt|g}9x=0pR$E|UX0DN57E+)o%CU(#QY;SnP?0A&6MpKM~k%G~ELjNJrK@^_BbeD_I zv!WbPVns&V$QT2IhF^%aVu|~>tp|0MTvL6c>;Ip<`)Cue>z#}|eAD_*eCGr(u@Z;^ zPDMZvxxCe!eOykyI^g5F`ncTkvp8RxMX1|c5+h|oVnYT8)^g17!s1Q$ z&WER7Ge>V!^fD0OO=wh#l=4s|n8qQ{kW_l?u{!=vZ>!C~T464*a$DOtD9kJX5CB?k z;f!;B>dU!J7g$#p;~Zd3`Xs_X>_wpSyxbR&&bUZ-4TzkWJdu$iA}S(vb0`>o*t85i zPF!$_24Ut0+|3CP5h^^E1C~o<@)fQTLR}cuW$obN;_5hpUV7hkGIND}EEsF|LjhN4 z!>*DSXnk6W5e1_&Cxpq}0q-TAs*ceyWkm@k5-LO(s%JUjR3t@{qx!%>-Z{CS3tq?5 zhwHDyyXSZpd~!?W{cjp{fWcwnY7+qr1O%sRNxl^q@6nSl9(-I@@8sg$JTMd5&<2EP z2#;Fq^o>CdtcTFOpm@pR1&L2|Ug7;Sx|$hc)fNm?nahfgm zmu0gMu{v&T_mV>r`&BT`*j(!|c08HLXp4f;8O7|-OK1Ak-0cv@lp@Bl-xMHJ$B2@Y z5r)Hs;=$;GsVv@3%s!#9Ds?Hkp&59IueqsQ#Q};#XEU% z*Iu}*SMKVwPVUCz`GQaxEU*B9?ZV&%il6R2jr%Zsg7b!c-g_yS=$12xNLF1!N>wsN zmuqhVx@uT{n#Ww$&vIG4d4jWc(>5+fG9ocrT>t^&=HOh5=xV3 zcMJ~JnjKFPUyJ*)A55%>(EI9w)nSc^ON3QqkxAI4N{~x}h$WYvlhRjy?dKS32(eUf zpafyh=cD$vbK6l>uCY=H>Zs{|QG0fEb=*czDIlI?)!;|iFBacRZ&(Uxw@Ew<*G6X) zbFpbQktngoBTsMpj~p}j&pGmXqp!$#D3F@Z1dnDeY_2ZHWb>Hew5R#VJBg33{dZJ| zFK|pHniyhYLjOK}u zL?uI}Jh5wO2o^dNyzr~93c=xpW|0UupU;M`C~Z}-u80E>;&Qghg$HEW7>_&X4KfmN z=o%AGZx}n)?jx@QLy{jKl|yu5qBFp<3yK-azUSO{SVp7AM?C{w##H3>;*UZZNJyWk z-5!wMj!qc4tZ@}|-Px|Z9ItudvA6M$XSX4l@Fjp!iY^xS6;^gSEQEf71(B>!m9!~q zrdm`N_2}x+P}e?cKXLU#-cOh)i9QVt_CrEbUy=bzgsa1<`&-8yD>B~rw$1Zg=G&Z* zIo7**O`kk=pT5zW1LPh(Swlb4JQzK&3uRa>+(NC&2ko<}Z^X3^ey{eR6gGmXv1vJl z8zYVgE;$v!0+R^iS1)!BctI4qgbXY}0s*vyhYYd4H>?`m&=L~MF+A8hh`3Td0 zrvuH`XT+t=H?keK;m)3b0Et^9cfa7t^vu|d|KbM(Xph1z^U#f$)gYnfIN%0w6VGxz z2s@(3Q^h?h*2N#COHT+x2m{)jXkjj^2QI*~0NqqXDHpJ#3Pg5|PB z`#B}@GPsK{I5Pa=vp&gG$!5xycvOqHMt9Yuy{Nj{{PMZ$q<3{AiIZljBay_ z;C<-gdIzUmZyAM1krA7utX1b)!N?z!=gj1f;O2|_H*c~tKydvm+eqOaX&z=juyv0v zBS0<><~z>)V&8+cgM-37qb?ueQwD3R=RdoPnwLR|3I)vRdy#RhA`Wpu6ai6L6|4xg zVx`d#lx5(F;$e6l*x#|GW8BLr(#J~((|&HWvW51Xd`TTr$j;I z+18l`Kt<7cgCT(0IKIWp7kYk%WW;Vb|wrqN4gSF10E#jP$T<4cqB7 zPcGz!86L!iAuzk5+{?n;FItJK6(RWq=yciJ@J^aee_Hn>+55TxWE#I1I|_E4+F+I_4D zdvsBUaq7%!fijs!?m#GHZ!kC@`nqXVV*I9K(F zZsF3WnTV&ExHT<*g426lzYm-`i7|v%zI%PG0(s+0$ZgMnd&U;YK<=R@_AO#xr-dE9K6^VjXa6+b_Qv)hu5uCLoG#E3tZxXP^|x1;l^fuV-M!X8e_)gdU>YEje*R&49+)%A&ZL8QCB> z^b~4IC&96zQuh&w;NtzTGw34c7|8GoB-FB$BvZ|1%BmxHR42NtCQw&b*WOFYwG<@WNCkzHW~t$N zZr)q`-gR%aGnD#_*}nSq&@1ETJS4<21}hDWafU(O7Vfzm-uGs?0t7O_HR=s1Lf!4L zYv(r4?|k3?`z#YS>!|m&qi}krtKlFx!UQYI3^@yvZX{ib7n%IItM1o}UrQMx__q~fdW_d+t+ zx5i0THIsb_ZpB0!q z1kNWhWo2X~mC^Rd-B^wHk(#FZcI#1oI<0APJN;A!H6k(Vd~QivWAKm=S_5NjMDOLi_2 zf>6;>tO?sOv_0E*{-Pib6ZnqDqse$NZhOk)?YErxGaNvxajP{{5G08nDk)RHk8gbe z(I0&{8M8*8QBxq2GgP^~qVN=+l0@0C0gv=iKlmt8V+=H3Swy~nH`%hfB&OpTL7FMR)|>cV)1 zxot9E)e|?~Ph7iKa=VEUIBW9UxP|B9r+FnmECi}DWaNIumQGVlJ z-|W-FTeh5mjvvHg!@89x8}kvSv1^ff0Bgw{xGbH&y(h+sdoLm&;)3EP5Ue2)b1o8* zP>2Dn_2mMv+y1Ay=Jn4Lba&I&_j`@sTU8Xri7LrSxeb;=aZI9CoJ{GcI!}hdk6X%I@wrt``-*d} z`b^@-hXha1k1GX<75Kg-Imwze#o0h9h0>*<*NMemadlOjxV!LOy_?>8zjN~5xp)c} zClRSnBr3fw>A}aXlP@cEjw+S8Ov!CW?B$W&VdM?%k1k^?pj90dqjZ7FSp59OLv_p=_2(W6&Q5ag4Qkv0npu#ee1_eIBp8ya0G!7 z7b*Q?oeeHV-)fm_AT-vh#sx7&FBK>=f1$t7U+8!DKYQoDx;k=+uupXbAa=ko^>AAq zxdLM%uctb-jk-IeHVLP#Njy`Kg{Qs|!kDEfc-c(*zFU#bh1Ixr&aJo|@SbfXux?Y1Q_KtYfpN#i7IOA$vksb+0dok(HzQO#9d9qrTX$++>J zc<23DC-1fKlrFxZl$x6-I=jQ|osSxyW8F!|HJCk!WrD>PWziDD zQmdY0*rSly`Fb0ms%T0hi1)pSfZ!$&X09bY(i=wtwf1PemQ5L05DR>bPyT;DEa;wv z6cJ(a!m7n>6RfBjc$t`^D5}*smU;_Fsruc1x8Lpm?0@zxUjJR+56pZGp$Od;l{Q7M zSiD#M+UFdn99EQUE2W9Pn^T7!R=uY~T}Nr+X+ViFaoV$}=M!T@995({qAIErx-!=W z9{}nGli}AMFm@?(`R7*L;v;T)jt?4l<)>?=Y?4BfWF2Z&jo_*SrAk)3>WO_H)m+t? zJS87{3U9p+dEx_F^=>4dAd8a?faDC2i;-8_C+bD+_Up#iF&PiYE%kbJFJ#;_ui5*q z+p8|mWxmCtzTIjqv_FaNeNeeAfcJm~V5AU`nQS%$V~U6vWz7hNy6F<-i(ODxt^CVp zHJIIC}*7K|G>pK)Og@64ItwOTE@wP-&EO}tyUL_-EbunXK< z6h&9ZtK+dfQy(tM%-68K-qt^Uid(DyuPpn?x@Sf{gk|gT^X@wk8OWDXn zPKRt+eX(=f+jI7Az4#(Ky-UU0o<9+4c9yj4764v7ATON7mfEzb0HA8yc6ArhV$F$8A>N=g-SBeP;p#(OMEI0N0o`=KXfA;^wYz>=6;&Lm zMXjV9%oEcS!2PE4H2pid9k$Mm7`bTav`^JCdZ|(s0JgF1jy$WNwC%VJrgXwSG5b*U9c^0xB`m&~$vh5Ffc#q!m3^woHqh~a}XfB=( z{>LgN2)p1&Ns)^Q$P#op_}?@z5Isu6DF_8n#CE5^<~rAoioa-@qY@q{>3eG<&hs2 zbvL*yzEu^_P+6QaO`c98-6o-QmpiCS+N~O7ND-Pz;XK;#K*0UybLI^lzC74`OzTI! z`NUsxNAOVuj24U0c%6ICSs|{vZP$J zf?x0E9(@&s*IS^Wq`b-=8V%92c-Edi5m{D!hqm2L(EH22zP0xn@&ziWEnrr*`X8d* zpp^%0GJ<-y93Y;PCvLefG2m5xCOKns7OJZi@}!qGC|*Q64v3V4BJdwx_e$cm<3t`1 zGS3E2oH}c-NGNh|Qjk_f4OO?&5t_$}Xk_-Nxc|u_GIQJ;H^@ww4KVm`_dX4vdV3Oe z&7(C0#u)b`za2IR_FEg*X~NCG0Y40QvBBFynr(@6U2CnOK{c``ht@bv{oQ-rzloZghhDZMK!iAc)|z>3ohTr3RS^*|m}ajfp~xMn?g%NDl*=Ni=mD>ZQG#PqIPnQgQV!1QVrKnQhS8`YjkRLA(UVxa$O*WY_~G`w=7 zEY-RUnY4f*u!HQ$W)0UE3tQ-}md?F8ZiYdqo&HFns)@R!C8Nd)xIZsGx<^BW)aMEk zF*;%U=v_7wLRd!d268%YUr^tk6#CxX?iqa?>*%F2r4fTN6x%W&c7hverTtlY%~-GM z@&j7$%Lci#(nfUG5?uaL*CL!aP9Xw3fdQ*pjxmuq%H3q$X_JVGU5%|c);fxYS^TXk zKFPjemph!@>FFQI(d3gI)x7K7N286P06_F^HDC||F016z`>0w2H*Tz!KOL{+2@5b~ znR@*+i@LT`?2tXFo_C$Gu!VNDxVJ}!&DKY!5=l^N5;dhzNlLt8|F>vsoEwXQ4cq8O zEF?su(Rl5iT*Ywv%&e5Iv2Ooo|JirEp`5(NTmx`ZY+SYy7HG(*SO7Qf1C!2Z7$_n{ z5Y$!!HV=@-)LA;6PA6D<9LZfb)g4JDK2%07)Cwz%##}le;Lwv*ox?@$ZQTfLW1QDz z&UluKiMK10m&W`)jxHOoj>i!;Jzt#&t|q3A6ZYP3VxT=&eMA;-`g^B98H%&ims9Mz z*^}W~@3ZQz7KdL4R>-(!@R|)(NC7F->m^rJ5NEi00B;r6XsB~@t$cnRmJrey1JT2+ za@x4LwjBc`*$X>-Y&p5FM*;@hGO#TJ3DK}ZN+~34-R@n#>IaNcE4rygR#H?(Z<(Vl*?{resUKcdLot z!_>RrndR|n+uHO``&~%d70PJl=T{?D@N#Rga;%vTl|^Z)yS0u{7WR(p4aPy1Ep%6l zHpaGz`$iW--%T8uHV~>P7c?TF>p?PsiE zYdUMdc<9T%-r&`F1AGL<+8`Q62q74gjYy{ltYrRX*8`A~NNnO*1%?y^av#c_HaQ!= zFL&M4-6a=27a5gm0GJqfELBvzpv87%wBd+hwDwu7Cf;4kj^g7q?-ZgI7gxs-y-x_C z4!@6P_ncQm6IFGC8%CESyy>enqC2f)QbOz|b1ckVI$P+j7H!xj?z?B_b@iOOWGd=hKtCH10X66W@lThv?=XNAI zS;Hb16+p*v{4UPhHmN>C0b3hpUh58h_fmTALC@AQ`M%F<_3p*xaclQJjAiV$Z68}w zniKZUudk^pgTrdq39OlCLhE`rk-@6$6LKI-E>qoAceOy^*1bNvi4`UURV>Rcq}atV zI7YGclIx$hP@(MwTgv*3YlyGnQ>qsl2L0#GcPo)XcOGX9p5?0dR+j0@rxa)JTwHC#xaT2+>^9o=YyE65 zn)z!~rMp;~7R>PI;!SThs2*eMY%ypZz}}OcFuGh3W6@bH5V&=Z-$tw}2)z|iCP5V$ zYR2Rk#pAg3D*Gkxq{#_+?lo@6g%zD)T!}`5lb*QUu{Swavj%vA=gaD25vMziY+e+Z z2`MrmoM=dh9=fM6>?W@YPM`)5qcp}85)9**0AR@j4qJqFQ*tMv_SDKEWI_~y*7}0s z?2tzk_lxKE77U%M-5Dd!^^Wjw=)FT=N4lBcrW@NIwtwehUp3pp+%r0vz3;}~ukZ0b_N6k!kXn$(-&jM24(g zK$Zer#0L~!STWcq^H!OSqi$xy__kf?zt1xHwtwX1SANva#c^x;rlTD%ul~f|KTqEI zU%uglz4N*{%x{m<(CC9_ZK)oU*0b0GN`If2zibD%)dp_0VeaFpxyAZzUqMJj50*sK zSZck<%VWyjgBRSh_bTfpl`E+M1*vhIi|c!@#JEC8G=;z|kNITRG|hMZvV};0`#{*6 zbM?_VnV@tGj0#)VfM`Gp3rN)20-Z9QHp_^1q2>8r?X3dHVq)kvX}U#VIEk^ICRoI} z5Di%_m1|DJDP#zKty8VJazv^Z0Q(iqVSEy{j*7wUu}BQK&$8yNg{jM8`%#bDz1)V~ zCv3-fb#d_mRzK;_JTU%YXhtb`o3M{29hem~T6;v1iS90`?Ad!6b8gLE7YN*H1CPhT z{J zhQCfOM1xai=DZl_KG-BONP{xV(y^$s<}Sqt7;?06UguyON8P76thsVEJ1!+C#J}dw zRS;AqE-yD#AX*ZKM0o$+TGD&1kx^IO5Qv=Jsw>uFquh>zzvY0k3Ex`lvS2rR4X zFSbr!5W1n8fvPSkw&}RKy#6NWIzV%L>bd*Q-)Umu)EWCX6bx`9Mc$AH$rrF}^8L;is7S$kBFnYzQEJ3foWnrFw+v_J1c z!lQOCN6;^Yq=G2@(4YHzPdXEp&bxTDE|a3jVUC^o2zaFS7LgPsic(D}g@>*FsvC&0 zEoLk$1eO&7%at%3a@LJ*%$p7f-82orC}4UqQDG!LOFm{#;-diqCpL*s+PzI1OrXtR z9t>{b7Uhe&<4QibV9OS3tuZb)uj&mTnwzPI3(nZ-J!uqBl4z*zhmCZ`%sCkoCF^JQ{n>N>TFJtoq(2dOMdIWTxn& z0x9)xJ%X=?wr{6+y3tcg(Tx#YJ|~@}2AI-jjPVq5nu#sOPSp*)F|rt6A+W3~0+t)m z9QMX!q?p(&&2UYkBPak&!w0i7iDG?<{al=dw*t}tiF?lD2_tFp1QEr4XAcDr&UDXO zeIR^f;H=q^TbIK+^Xk58Oy3w^q=8QK=FZ>aC>IZI}ApTj-?bs%4f6C|K6$|Ub*|0 zrX=+dQ0E`xkMYuTTy`cbowrUmsQcVMP-a^$4H{o_->9m0*AYcvs zD{&d%VN4_;Ol}SuWXFP?Z4wN|9xf`8qKN*mdR8mQNi;iAPS)X0egt0@q1m&iFqq4Y zwqteDb~7Gy&g?P90LGd8Rk?i@>w$xwA0%J_2#Y6}$1&UNjC25kAY0Hs^)tjBSOua| z0U%F!;+}VdB_IfNU87BereN9)qjx(KXpdxN(fL$vNw?jMP^Rg>Dde3!BAy>s<7;&GAHP6+W*twRGNuQM^^jSX3k^Z0J?Sa!KIXI30 zcR+~0wgZf(Z4A?zMX6lQ6enWngbicrRzGwDme`2wKmaNMUV zv#T{CYcxX$4<~0i0xk}UB4S>y9=nHjop8IGNL6B83Mv7mo=E#Z*|otcu+I~D0*H3= zA;l}Ml-CaPlk+^geY?z#2B|x8?rqrX`}*p)KY^>pZuc3GlYh)V<~es$(KBJe(;80^ zYqo~*{I&#K&H{^{71$%M%B{8I?d@&da5I*5q8qTp6^hUg?Tt1vv>U|0L01-oHLw$~ z07fBEqFWuM_)x#|Bg1+J42iU{OacLWQKpP012GJRg1urGJh&&^+y{)!+YZ)PV~x4H zceFbMati5u4PcB6#K_&WY&$_zd45s^Pj>O^z3IRG%gQ~uiz+BVv3_S^a)!o^$Mra3 zVuQ8s`oW6UDQHg+p;Ns(ImLfkFqHCyK{EC*7C))JzlPC^CA)3AzaaE``o}o!+Z|Zb zACNmFpIffJhyK|L~8#h{6b{ccYw1}9*CaN;M%2y*9;8)pn)_Ix`(**t4z z?$$`6W0eF1Slc#Fc5n!vvSMl#r|&P_>_5+yXTb=f5TjTxhqqO7Eim!2arV@1IuV0T z>qNRM(w<;fk>dU{@Wh>hRgt=792xL*hJQof+X@4_4HEa!CWpfGU41#&?0cu#jKOGrn>i0B~3Uh~@J>nLR+R5)x8YpZv}*Ui+V4JnnWAYtdwR5Wic{iP)V*mr5$Y>t6eLLcN(YYumG~r^Gv-RU3)3ZA0e_yQuxT?Gs zVfPndZ}(ubYbGpsyWn)rNlr_^T&afxlRf6+O@b3*v^H5A|wa`c@ACR9&i2Z8~@YazO7L+$QgOp zZ!3-y0=K<_O#Dxjl}9 zLfULu&0cH-?%PZTHeq<{yyzNN7VJ)AsIgKpMrEY7#?iX)QLHnJ!Z|JAn}Jf|Yxx=? z4PeTk{{&E;I99iTm7QOcrOfv`V~l~Z_!_+CQ(V;EONm{l8z7~C6@UOTX^Z>PgiQfc zKH>VkwcD3&^55r!9h6lwIa=4$q~UdlQ#1Wu``~zhz|Juz^892!02+*Dh1R6$BnrM4 zo`=EN-jjOAnbE-LU)=X=f7(?8J6v`3m*cSMuYSujZnxo7-a1&bWpY~p-&QNmyrvc< z0E}bYG#(Wiqf<8APV9Ny2w^l>g?1DAYa&E5xDmaK-taDV7<1c+N2k!Fy$6bqXU!kr zo>q)P3u7fF-c4}Kv*k8 z03ebS1!gXo4Kaq8n7Cko7=Q=8`I9&K^B0cXtDOh*sGcMht2D-mQ3(VL>&YlAj0a&b z>-@yQEq&ktu&YYG^}{)tS>T-FZQSYmBbd3@sQiS<@izL3G2he=N8j-xx^BXPw_oVV zOh%gEauNo2YUo(aoRe>a6VE-HqAKQb9?p=t3EjYLZ#q{3iw&!GBTPQ;psVYz29+qW zvRq#V8ktHEePVm|;=Q7@2gd+(EIsg6*Vfxb8t?=Vq3q2lit_i8VDwFL$y%2W_Ba>- zKc6p~(MvHkU`83PR6qa%&I$ol(G|S)DftXr8M;tLDSnokS$|nPFyHqE{`s#`y6#rj ziFFZ+?8xsqkl{`Te+(nWAlW&lOK`rlcH=o=J%NE7G^cscKc=|j>C5Uz{I;elS!xlqmY@_HU*bUQ~vOgtInr<^b7#LVL$%Z?`tS~2V0wN zp&M>{dm>{$Zh<8>q5oKz-d>!w5k@1YLJk>8)RpD>7>&jEv{Sw8)+e~{g`Qjhpv%py z5V)Kd3?ZQbPXH0jP?$L(rYFE@T-Ec=NbEPpSYs!*ukOpT6LRX5nG~>q09=d}Jfnw^ zdcjw}OH52mtWmaFc+A^B__*JG{VjcFr%zNCYa}S04he)#GlrCl;AXAVMU3h0sNJD8 z>J0dL|EtaiTpUh-JtYnMqro_uXNaUiG%B4k3hMzga>87D6}y5dhX+>e3n2@fbOR@GSrjyZrFO zepk1;KG!J@>(W%v)aJL<+qt`9Vht`ru1(iTON?`Yv`-EfQfFl2)z$gD&USgOe`YkW z_bgU@Z$vNixB#;+-TL}HUO6gS+kFCKUn8GA6E8e~z49v98Bp0Pg)LV1`o&X}ydkU1jvwfKp;0EofD=)%SbbxCwh5^!%GlfA{_tOX_x*2sukZ47tkWWNd@HR$6?P^{ zH+KW#sq2$brj{7f-FMfjeJQag*wtN~%*3E{3dVDG-p0MYw_4^;49&Z_+_2>6DcsKCOLihS57DcM)bQFQethcZ&itU;aM#Xa9Camzdw?&u? zqtR@<;IM1J&Kg<2-|veoBPVj+ZXz`A$EnBvxi_(jSn>fYCqpS{`}&uIPt9!$CTk02 zyW1`-VIdXheO@=MbH-Q;0NeSKRpI7eIWdNjMo>z*L7V@$TE5c?lI)g!^m|zozZ&asI_R%`$oRn5LNc5y?p@y4FD zd%d^0%|Tp)yvh9nCf)}h935m6CtS6a&$ z5`~!y)Q~bW4;2x*5%HyVKblYfcPu8q>-7dQ&zYQiYbO2g9o5X8i1>GV_+ea-821A- zu5R+mPK_cbMJU|yMT3zC&S&P1S51g#5%00lhggb&%Cc0EC@A)&V_VplH7K~#u7t_BCpbmPRh5JCVz-F_R7^Yd?Fz=BW^SXl?G+P^Pnugu2!ZBMbB zK`r)Kd+6Z`mUPk?W37SP?q9&p(zoHN(jWEQ8*2({=lKS0u9Iz}Tk^yG<}U&$Cjelz z$g_^gU2{^?&Jlo#o(kd_6lP%|Gps~Zgkp(RjO_>pj+Y=C3E56$6D=%=$F9JKZB)}f zSOg@tGsXYE?^D3bT!-Mo^7gyGa+cJF>4U0THR!rt%OW!Tu|os>ad6xD0~6dZJ`Q;2 zVm!n+kCj4Ec+AKVCxBv9^v@LYwz$6$MpJ)lf>nmWwPESpP@K&M2}lJi08oM|U?vmd z_mpD=V*D>8-mgzAj6JD;fs%_=adlB4Ge)k_aZYAH!#F!>_TIP8Las}JpyERRL1-Zg z^E9xdZa$K)eHV~TAP*pNX2ZFr5t)vBJa#m)gh#2DGEc@f3P3h}UW{T~#QHO;Ab?{w zquCOz@g?H^7vELQ73C_r0_*yCV^`oD+qY4D{~_H=FmN95(094>QlCKM>V@7fQ?Dxw zT#4xP-@oGqnE8aon%nMpPy{0Hv7%Hax2Mqwpll06=_|#oxKKx7^msvJC)S27Os`m) z8`mkN1^|o00N^AUI02X9cb}5m2B?I!3ySSBsC79q00~HEj5QF(Iph9Q&IPKFLT|+z zZQS&i`3BS6Gj`M}bq4{WdICKF5P9AumsGUG5w)FD)F33i`N>>kKUAs8V!B9BY*jj} z(7>^BtefUvP_f#qjg|1^k=uoN#(1JUo%jRwy?dZH`{MQPY8!UXQ`KtgV~AY1JToW9Ty~!`O!b@@TA@&2+F%;MUAQAncn4fFzYD z)Y_;U^#HeKZcbttNPt*;7nN6;92FEwXM3b{moutzLK`7qkWET!&@ceT{q|)lNX4iq z3Pa(9z_=y|hhQ!RV!&YiCV#=NeLG-)7Qielm9J2C^^VvJ-Z+UAc>-;6KN*DiZw9rn z->@xEQN*}ND5X6XIYSOD%R(*Zh}-4+xaa#C9x3hZmhA~(^42!J|EOo`IMC<)2v?mI zkHhqSjjLO|CN=LDZSu9~6<|P{X6C_d^Q$Jr4Wq

(-*yVH}*Q6)EM39tNXX$%rG> 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/settings/actions/runners`. + +![](/assets/images/TartGHARunners.png) diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..b2d8d98 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,4 @@ +--- +template: overrides/home.html +title: Tart +--- diff --git a/docs/quick-start.md b/docs/quick-start.md new file mode 100644 index 0000000..cff9edd --- /dev/null +++ b/docs/quick-start.md @@ -0,0 +1,69 @@ +--- +hide: + - navigation +--- + +Try running a Tart VM on your Apple Silicon device running macOS 12.0 (Monterey) or later (will download a 25 GB image): + +```shell +brew install cirruslabs/cli/tart +tart clone ghcr.io/cirruslabs/macos-ventura-base:latest ventura-base +tart run ventura-base +``` + +

+ +

+ +## SSH access + +If the guest VM is running and configured to accept incoming SSH connections you can conveniently connect to it like so: + +```shell +ssh admin@$(tart ip macos-monterey-base) +``` + +## Mounting directories + +To mount a directory, run the VM with the `--dir` argument: + +```shell +tart run --dir=project:~/src/project vm +``` + +Here, the `project` specifies a mount name, whereas the `~/src/project` is a path to the host's directory to expose to the VM. + +It is also possible to mount directories in read-only mode by adding a third parameter, `ro`: + +```shell +tart run --dir=project:~/src/project:ro vm +``` + +To mount multiple directories, repeat the `--dir` argument for each directory: + +```shell +tart run --dir=www1:~/project1/www --dir=www2:~/project2/www +``` + +Note that the first parameter in each `--dir` argument must be unique, otherwise only the last `--dir` argument using that name will be used. + +Note: to use the directory mounting feature, the host needs to run macOS 13.0 (Ventura) or newer. + +### Accessing mounted directories in macOS guests + +All shared directories are automatically mounted to `/Volumes/My Shared Files` directory. + +The directory we've mounted above will be accessible from the `/Volumes/My Shared Files/project` path inside a guest VM. + +Note: to use the directory mounting feature, the guest VM needs to run macOS 13.0 (Ventura) or newer. + +### Accessing mounted directories in Linux guests + +To be able to access the shared directories from the Linux guest, you need to manually mount the virtual filesystem first: + +```shell +mount -t virtiofs com.apple.virtio-fs.automount /mnt/shared +``` + +The directory we've mounted above will be accessible from the `/mnt/shared/project` path inside a guest VM. + diff --git a/docs/robots.txt b/docs/robots.txt new file mode 100644 index 0000000..5eaa492 --- /dev/null +++ b/docs/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: * +Disallow: +Sitemap: https://tart.run/sitemap.xml diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000..ede6e61 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,34 @@ +/* Remove default title on the page */ +.md-content__inner h1:first-child { + display: none; +} + +/* Adjust to 2px to align with the title */ +.md-logo { + padding-top: 6px; +} + +.btn { + border: none; + padding: 14px 28px; + cursor: pointer; + display: inline-block; + + background: #009688; + color: white; +} + +.btn:hover { + background: #00bfa5; + color: white; +} + +.center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.text-center { + text-align: center; +} diff --git a/docs/stylesheets/landing.css b/docs/stylesheets/landing.css new file mode 100644 index 0000000..f24b281 --- /dev/null +++ b/docs/stylesheets/landing.css @@ -0,0 +1,131 @@ +.tx-container { + background: + linear-gradient(to bottom, var(--md-primary-fg-color), var(--md-default-bg-color) 100%) +} + +[data-md-color-scheme=slate] .tx-container { + background: + linear-gradient(to bottom, var(--md-primary-fg-color), var(--md-default-bg-color) 100%) +} + +.tx-landing { + margin: 0 .8rem; + color: var(--md-primary-bg-color) +} + +.tx-landing h1 { + margin-bottom: 1rem; + color: currentColor; + font-weight: 700 +} + +@media screen and (max-width: 30em) { + .tx-landing h1 { + font-size: 1.4rem + } +} + +.tx-landing__content p a { + color: inherit; + text-decoration: underline; +} + +.tx-landing__testimonials { + width: 100%; + text-align: center; +} + +.tx-landing__content p a:hover { + color: darkblue; + text-decoration: underline; +} + +.tx-landing__logos { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; +} + +.tx-landing__logos img { + height: 8vh; + max-height: 81px; /* max height of images */ + width: auto; + margin: 2vh; + vertical-align: middle; +} + +.tx-landing__quotes { + padding-bottom: 5em; + text-align: center; +} + +@media screen and (min-width: 60em) { + .tx-landing__quotes { + margin: 1em 5em; + } +} + +.tx-landing__quotes figure { + margin: 2em auto 2em auto; +} + +.tx-landing__quote { + display: flex; + border-radius: 1em; + padding: 1em 1em 0 1em; + background: var(--md-primary-fg-color); +} + +.tx-landing__quote blockquote { + border: 0; + color: #fff; +} + +.tx-landing__quote a img { + height: 6vh; + max-height: 81px; /* max height of images */ + display: block; + margin-left: auto; + margin-right: auto; +} + +@media screen and (min-width: 60em) { + .tx-container { + padding-bottom: 14vw + } + + .tx-landing { + display: flex; + align-items: stretch + } + + .tx-landing__content { + max-width: 19rem; + margin-top: 3.5rem; + } + + .tx-landing__image { + order: 1; + width: 38rem; + transform: translateX(4rem) + } +} + +@media screen and (min-width: 77em) { + .tx-landing__image { + transform: translateX(8rem) + } +} + +.tx-landing .md-button { + margin-top: .5rem; + margin-right: .5rem; + color: var(--md-primary-bg-color) +} + +.tx-landing .md-button:hover, .tx-landing .md-button:focus { + color: var(--md-default-bg-color); + background-color: var(--md-default-fg-color); + border-color: var(--md-default-fg-color) +} diff --git a/docs/theme/overrides/home.html b/docs/theme/overrides/home.html new file mode 100644 index 0000000..05e1053 --- /dev/null +++ b/docs/theme/overrides/home.html @@ -0,0 +1,90 @@ +{% extends "base.html" %} + + +{% block tabs %} +{{ super() }} + + + + + +
+
+
+ +
+ + +
+ + +
+

Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines on Apple Silicon.

+

+ Tart utilizes Virtualization.Framework to achieve nearly native performance. + Benefit from clean ephemeral environments for your automations with no performance implications. +

+

+ For storing virtual machine images Tart integrates with OCI-compatible container registries. + Push and pull virtual machines like you used to with Docker containers. +

+

+ Tart powers several continuous integration systems including on-demand GitHub Actions + and Cirrus CI. Tart can be easily integrated with any other CI + and soon will get clustering capabilities + to orchestrate virtual machines on multiple physical hosts. +

+ + Learn More + +
+
+
+
+{% endblock %} + + +{% block content %}{% endblock %} + + +{% block footer %}{% endblock %} + diff --git a/docs/vm-management.md b/docs/vm-management.md new file mode 100644 index 0000000..4cfec3a --- /dev/null +++ b/docs/vm-management.md @@ -0,0 +1,140 @@ +--- +hide: + - navigation +--- + +# Managing Virtual Machine + +## Creating from scratch + +Tart supports macOS and Linux virtual machines. All commands like `run` and `pull` work the same way regarding of the underlying OS a particular VM image has. +The only difference is how such VM images are created. Please check sections below for [macOS](#creating-a-macos-vm-image-from-scratch) and [Linux](#creating-a-linux-vm-image-from-scratch) instructions. + +### Creating a macOS VM image from scratch + +Tart can create VMs from `*.ipsw` files. You can download a specific `*.ipsw` file [here](https://ipsw.me/) or you can +use `latest` instead of a path to `*.ipsw` to download the latest available version: + +```shell +tart create --from-ipsw=latest monterey-vanilla +tart run monterey-vanilla +``` + +After the initial booting of the VM you'll need to manually go through the macOS installation process. As a convention we recommend creating an `admin` user with an `admin` password. After the regular installation please do some additional modifications in the VM: + +1. Enable Auto-Login. Users & Groups -> Login Options -> Automatic login -> admin. +2. Allow SSH. Sharing -> Remote Login +3. Disable Lock Screen. Preferences -> Lock Screen -> disable "Require Password" after 5. +4. Disable Screen Saver. +5. Run `sudo visudo` in Terminal, find `%admin ALL=(ALL) ALL` add `admin ALL=(ALL) NOPASSWD: ALL` to allow sudo without a password. + +### Creating a Linux VM image from scratch + +Linux VMs are supported on hosts running macOS 13.0 (Ventura) or newer. + +```shell +# Create a bare VM +tart create --linux ubuntu + +# Install Ubuntu +tart run --disk focal-desktop-arm64.iso ubuntu + +# Run VM +tart run ubuntu +``` + +After the initial setup please make sure your VM can be SSH-ed into by running the following commands inside your VM: + +```shell +sudo apt update +sudo apt install -y openssh-server +sudo ufw allow ssh +``` + +## Configuring a VM + +By default, a tart VM uses 2 CPUs and 4 GB of memory with a `1024x768` display. This can be changed with `tart set` command. +Please refer to `tart set --help` for additional details. + +## Building with Packer + +Please refer to [Tart Packer Plugin repository](https://github.com/cirruslabs/packer-plugin-tart) for setup instructions. +Here is an example of a template to build `monterey-base` local image based of a remote image: + +```hcl +packer { + required_plugins { + tart = { + version = ">= 0.5.3" + source = "github.com/cirruslabs/tart" + } + } +} + +source "tart-cli" "tart" { + vm_base_name = "ghcr.io/cirruslabs/macos-ventura-base:latest" + vm_name = "my-custom-ventura" + cpu_count = 4 + memory_gb = 8 + disk_size_gb = 70 + ssh_password = "admin" + ssh_timeout = "120s" + ssh_username = "admin" +} + +build { + sources = ["source.tart-cli.tart"] + + provisioner "shell" { + inline = ["echo 'Disabling spotlight indexing...'", "sudo mdutil -a -i off"] + } + + # more provisioners +} +``` + +Here is a [repository with Packer templates](https://github.com/cirruslabs/macos-image-templates) used to build [all the images managed by us](https://github.com/orgs/cirruslabs/packages?tab=packages&q=macos). + +## Working with a Remote OCI Container Registry + +For example, let's say you want to push/pull images to a registry hosted at https://acme.io/. + +### Registry Authorization + +First, you need to log in and save credential for `acme.io` host via `tart login` command: + +```shell +tart login acme.io +``` + +Credentials are securely stored in Keychain. + +In addition, Tart supports [Docker credential helpers](https://docs.docker.com/engine/reference/commandline/login/#credential-helpers) +if defined in `~/.docker/config.json`. + +Finally, `TART_REGISTRY_USERNAME` and `TART_REGISTRY_PASSWORD` environment variables allow to override authorization +for all registries which might useful for integrating with your CI's secret management. + +### Pushing a Local Image + +Once credentials are saved for `acme.io`, run the following command to push a local images remotely with two tags: + +```shell +tart push my-local-vm-name acme.io/remoteorg/name:latest acme.io/remoteorg/name:v1.0.0 +``` + +### Pulling a Remote Image + +You can either pull an image: + +```shell +tart pull acme.io/remoteorg/name:latest +``` + +...or instantiate a VM from a remote image: + +```shell +tart clone acme.io/remoteorg/name:latest my-local-vm-name +``` + +This invocation calls the `tart pull` implicitly (if the image is not being present) before doing the actual cloning. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..d7bf148 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,98 @@ +repo_url: https://github.com/cirruslabs/tart/ +site_url: https://tart.run/ +edit_uri: blob/main/docs/ + +site_name: Tart +site_author: Cirrus Labs +copyright: © Cirrus Labs 2017-present +site_description: > + Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon. + Built by CI engineers for your automation needs. + +remote_branch: main + +theme: + name: 'material' + custom_dir: 'docs/theme' + favicon: 'assets/images/favicon.ico' + logo: 'assets/images/TartLogo.webp' + icon: + repo: fontawesome/brands/github + language: en + palette: + - scheme: default + primary: orange + accent: orange + font: + text: Roboto + code: Roboto Mono + features: + - announce.dismiss + - content.tabs.link + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + - search.suggest + - toc.follow + +extra_css: + - 'stylesheets/extra.css' + - 'stylesheets/landing.css' + +plugins: + - search + - minify + +markdown_extensions: + - markdown.extensions.admonition + - markdown.extensions.codehilite: + guess_lang: false + - markdown.extensions.def_list + - markdown.extensions.footnotes + - markdown.extensions.meta + - markdown.extensions.toc: + permalink: true + - pymdownx.arithmatex + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.critic + - pymdownx.details + - pymdownx.emoji: + emoji_generator: !!python/name:pymdownx.emoji.to_svg + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.keys + - pymdownx.magiclink + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + +nav: + - "Home": index.md + - "Quick Start": quick-start.md + - "GitHub Actions": github-actions.md + - "Self-hosted CI": cirrus-cli.md + - "Managing VMs": vm-management.md + +extra: + analytics: + provider: google + property: G-HXBEB9D47X + consent: + title: Cookie consent + description: >- + We use cookies to recognize your repeated visits and preferences, as well + as to measure the effectiveness of our documentation and whether users + find what they're searching for. With your consent, you're helping us to + make our documentation better. + social: + - icon: fontawesome/brands/twitter + link: 'https://twitter.com/cirrus_labs'