+
+
From eba78ed17aeb9582da0a70a05b0c4315923a1f15 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:19:23 +0000 Subject: [PATCH] Deployed fcc9267 with MkDocs version: 1.6.1 --- .nojekyll | 0 404.html | 319 + backup/index.html | 420 ++ cloudflared/index.html | 525 ++ css/fontawesome/css/fontawesome.css | 6369 +++++++++++++++++ css/fontawesome/css/fontawesome.min.css | 6 + css/fontawesome/css/solid.css | 19 + css/fontawesome/css/solid.min.css | 6 + css/fontawesome/webfonts/fa-solid-900.ttf | Bin 0 -> 397420 bytes css/fontawesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 150516 bytes css/normalize.css | 419 ++ css/palettes/dark.css | 22 + css/palettes/default.css | 4 + css/palettes/gruvbox_dark.css | 53 + css/palettes/pink.css | 22 + css/palettes/sans.css | 8 + css/palettes/sans_dark.css | 20 + css/search/bootstrap-modal.css | 211 + css/terminal.css | 1055 +++ css/theme.css | 92 + css/theme.footer.css | 25 + css/theme.tile_grid.css | 26 + getting-started/index.html | 353 + img/boot-from-disk.png | Bin 0 -> 133771 bytes img/boot-in-rescue-part2.png | Bin 0 -> 175201 bytes img/boot-in-rescue.png | Bin 0 -> 200908 bytes img/cloudflare-token.png | Bin 0 -> 73021 bytes img/sweet-home-lab.png | Bin 0 -> 1989401 bytes index.html | 351 + js/bootstrap/bootstrap.js | 4435 ++++++++++++ js/bootstrap/bootstrap.js.map | 1 + js/bootstrap/bootstrap.min.js | 7 + js/bootstrap/bootstrap.min.js.map | 1 + js/jquery/jquery-1.10.1.min.js | 1 + js/jquery/jquery-1.10.1.min.js.map | 1 + js/mkdocs/LICENSE | 26 + js/mkdocs/base.js | 284 + macros/prev-next.j2 | 13 + macros/side-nav/section-index-page-title.j2 | 3 + macros/side-nav/side-nav-item-class.j2 | 41 + macros/side-nav/side-nav-item.j2 | 23 + macros/toc.j2 | 12 + macros/top-nav/search-button.j2 | 9 + partials/search/mkdocs/LICENSE | 26 + .../templates/j2-macros/tile-image.j2 | 5 + .../templates/j2-macros/tile-link.j2 | 5 + .../templates/j2-macros/tile-util.j2 | 55 + .../tile_grid/templates/j2-macros/tile.j2 | 33 + search/lunr.js | 3475 +++++++++ search/main.js | 109 + search/search_index.json | 1 + search/worker.js | 133 + secret-management/index.html | 469 ++ sitemap.xml | 27 + sitemap.xml.gz | Bin 0 -> 250 bytes theme_version.html | 1 + zfs/index.html | 421 ++ 57 files changed, 19942 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 backup/index.html create mode 100644 cloudflared/index.html create mode 100644 css/fontawesome/css/fontawesome.css create mode 100644 css/fontawesome/css/fontawesome.min.css create mode 100644 css/fontawesome/css/solid.css create mode 100644 css/fontawesome/css/solid.min.css create mode 100644 css/fontawesome/webfonts/fa-solid-900.ttf create mode 100644 css/fontawesome/webfonts/fa-solid-900.woff2 create mode 100644 css/normalize.css create mode 100644 css/palettes/dark.css create mode 100644 css/palettes/default.css create mode 100644 css/palettes/gruvbox_dark.css create mode 100644 css/palettes/pink.css create mode 100644 css/palettes/sans.css create mode 100644 css/palettes/sans_dark.css create mode 100644 css/search/bootstrap-modal.css create mode 100644 css/terminal.css create mode 100644 css/theme.css create mode 100644 css/theme.footer.css create mode 100644 css/theme.tile_grid.css create mode 100644 getting-started/index.html create mode 100644 img/boot-from-disk.png create mode 100644 img/boot-in-rescue-part2.png create mode 100644 img/boot-in-rescue.png create mode 100644 img/cloudflare-token.png create mode 100644 img/sweet-home-lab.png create mode 100644 index.html create mode 100644 js/bootstrap/bootstrap.js create mode 100644 js/bootstrap/bootstrap.js.map create mode 100644 js/bootstrap/bootstrap.min.js create mode 100644 js/bootstrap/bootstrap.min.js.map create mode 100644 js/jquery/jquery-1.10.1.min.js create mode 100644 js/jquery/jquery-1.10.1.min.js.map create mode 100644 js/mkdocs/LICENSE create mode 100644 js/mkdocs/base.js create mode 100644 macros/prev-next.j2 create mode 100644 macros/side-nav/section-index-page-title.j2 create mode 100644 macros/side-nav/side-nav-item-class.j2 create mode 100644 macros/side-nav/side-nav-item.j2 create mode 100644 macros/toc.j2 create mode 100644 macros/top-nav/search-button.j2 create mode 100644 partials/search/mkdocs/LICENSE create mode 100644 pluglets/tile_grid/templates/j2-macros/tile-image.j2 create mode 100644 pluglets/tile_grid/templates/j2-macros/tile-link.j2 create mode 100644 pluglets/tile_grid/templates/j2-macros/tile-util.j2 create mode 100644 pluglets/tile_grid/templates/j2-macros/tile.j2 create mode 100644 search/lunr.js create mode 100644 search/main.js create mode 100644 search/search_index.json create mode 100644 search/worker.js create mode 100644 secret-management/index.html create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 theme_version.html create mode 100644 zfs/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..0420f07d --- /dev/null +++ b/404.html @@ -0,0 +1,319 @@ + + +
+ + + + + + + + + + + + + +When I created the cortado
cluster (which is a single node cluster), I used a ZFS zpool (created manually) and local-path-provisionner to create persistent volumes on the mounted ZFS filesystem.
To backup the data, I use volsync to create backup and send backup (using restic) to a minio server.
+I will have a restic repository per backup source.
+export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
+export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
+export RESTIC_PASSWORD=REPOSITORY_PASSWORD
+export RESTIC_REPOSITORY=s3:http://MINIO_URL:9000/BUCKET
+
+From your workstation, create the repository
+restic init
+
+Then, create a secret in the cluster with the credentials to access the repository
+kubectl create secret generic -n kube-system restic-credentials \
+ --from-literal=AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
+ --from-literal=AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
+ --from-literal=RESTIC_PASSWORD=$RESTIC_PASSWORD \
+ --from-literal=RESTIC_REPOSITORY=$RESTIC_REPOSITORY
+
+apiVersion: external-secrets.io/v1beta1
+kind: ExternalSecret
+metadata:
+ name: restic-credentials
+ namespace: komga
+spec:
+ refreshInterval: "30s"
+ secretStoreRef:
+ name: vault-backend
+ kind: ClusterSecretStore
+ target:
+ name: restic-credentials
+ data:
+ - secretKey: AWS_ACCESS_KEY_ID
+ remoteRef:
+ key: restic
+ property: AWS_ACCESS_KEY_ID
+ - secretKey: AWS_SECRET_ACCESS_KEY
+ remoteRef:
+ key: restic
+ property: AWS_SECRET_ACCESS_KEY
+ - secretKey: RESTIC_PASSWORD
+ remoteRef:
+ key: restic
+ property: RESTIC_PASSWORD
+ - secretKey: RESTIC_REPOSITORY
+ remoteRef:
+ key: restic
+ property: RESTIC_REPOSITORY
+
+
+
+You can now create a ReplicationSource
to backup a specific PVC.
apiVersion: volsync.backube/v1alpha1
+kind: ReplicationSource
+metadata:
+ name: komga
+spec:
+ # The PVC name to backup
+ sourcePVC: komga-data
+ trigger:
+ schedule: "*/5 * * * *"
+ restic:
+ pruneIntervalDays: 7
+ repository: restic-credentials
+ retain:
+ hourly: 6
+ daily: 5
+ weekly: 4
+ monthly: 2
+ yearly: 1
+ copyMethod: Direct
+
+From your workstation, you can see backups
+$ restic snapshots
+repository f8c8acc2 opened (version 2, compression level auto)
+created new cache in /Users/qjoly/Library/Caches/restic
+ID Time Host Tags Paths Size
+-----------------------------------------------------------------------
+7ebbffdd 2024-12-24 09:38:48 volsync /data 1.689 MiB
+8a7574a4 2024-12-24 09:55:06 volsync /data 1.689 MiB
+9b5b7a1a 2024-12-24 10:00:07 volsync /data 1.689 MiB
+-----------------------------------------------------------------------
+3 snapshots
+
+Eh, eh, this is still a work in progress. I will update this section when I have more information.
+To avoid exposing services directly to the internet, we use Cloudflare Tunnel to securely expose them on few clusters (e.g. home
that can't be accessed directly since port 80 and 443 are already used by another service).
Note that this is free in the Cloudflare plan, you only need to have a domain name managed by Cloudflare.
+Install cloudflared, this is the client that will create the tunnel between the cluster and Cloudflare. You can still use the web interface to create the tunnel, but it's easier to manage it with the CLI.
+brew install cloudflared
+cloudflared login # Login to your Cloudflare account
+
+Create a tunnel with the CLI, note the ID of the tunnel that will be used later.
+cloudflared tunnel create home-cluster
+
+Tunnel credentials written to /Users/qjoly/.cloudflared/2f3b093d-bd57-4708-8d54-42723da21338.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.
+
+Created tunnel home-cluster with id 2f3b093d-bd57-4708-8d54-42723da21338
+
+By creating the tunnel, you obtain a JSON file with the credentials that will be used to authenticate the tunnel with Cloudflare, keep it safe and do not commit it to the repository (or encrypt it if you do, even if it's still not recommended).
+kubectl create namespace cloudflare
+kubectl create secret generic tunnel-credentials \
+ --from-file=credentials.json=/Users/qjoly/.cloudflared/2f3b093d-bd57-4708-8d54-42723da21338.json \
+ --namespace=cloudflare
+
+Install the Cloudflare Tunnel Controller in the cloudflare
namespace.
values.yaml
cloudflare:
+ tunnelName: "home-cluster"
+ tunnelId: "2f3b093d-bd57-4708-8d54-42723da21338"
+ secretName: "tunnel-credentials"
+ ingress:
+ - hostname: "*.thoughtless.eu"
+ # Change the service name depending on the ingress controller used
+ service: "https://ingress-nginx-controller.kube-system.svc.cluster.local:443"
+ originRequest:
+ noTLSVerify: true
+
+resources:
+ limits:
+ cpu: "100m"
+ memory: "128Mi"
+ requests:
+ cpu: "100m"
+ memory: "128Mi"
+
+replicaCount: 1
+
+helm repo add cloudflare https://cloudflare.github.io/helm-charts
+helm repo update
+helm upgrade --install cloudflare-tunnel cloudflare/cloudflare-tunnel \
+ --namespace cloudflare \
+ --values values.yaml
+
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: cloudflare-tunnel
+ namespace: argocd
+spec:
+ project: default
+ source:
+ repoURL: https://cloudflare.github.io/helm-charts
+ chart: cloudflare-tunnel
+ targetRevision: 0.3.2
+ helm:
+ values: |
+ cloudflare:
+ tunnelName: "home-cluster"
+ tunnelId: "2f3b093d-bd57-4708-8d54-42723da21338"
+ secretName: "cloudflare-tunnel"
+ ingress:
+ - hostname: "*.thoughtless.eu"
+ service: "https://ingress-nginx-controller.ingress-nginx.svc.cluster.local:443"
+ originRequest:
+ noTLSVerify: true
+
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "128Mi"
+ requests:
+ cpu: "100m"
+ memory: "128Mi"
+
+ replicaCount: 1
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: cloudflare
+ syncPolicy:
+ automated:
+ prune: true
+ syncOptions:
+ - CreateNamespace=true
+
+
+
+If you create a CNAME record in Cloudflare pointing to <tunnelId>.cfargotunnel.com
, you can access the services on the cluster using the domain name (e.g. mine is 2f3b093d-bd57-4708-8d54-42723da21338.cfargotunnel.com
)
To automatically create DNS records in Cloudflare, we use External DNS. This will create a DNS record for each Ingress resource created in the cluster.
+Create an API key in Cloudflare that can edit your DNS records of the domain (Zone) you configured in the Cloudflare
+kubectl create ns external-dns
+cat <<EOF | kubectl apply -f -
+apiVersion: v1
+stringData:
+ token: ${CF_API_TOKEN}
+kind: Secret
+metadata:
+ name: cloudflare-api-key
+ namespace: external-dns
+type: Opaque
+EOF
+
+Then install External DNS with Helm.
+helm repo add kubernetes-sigs https://kubernetes-sigs.github.io/external-dns/
+helm repo update
+helm upgrade --install external-dns kubernetes-sigs/external-dns \
+ --namespace external-dns \
+ --set sources[0]=ingress \
+ --set policy=sync \
+ --set provider.name=cloudflare \
+ --set env[0].name=CF_API_TOKEN \
+ --set env[0].valueFrom.secretKeyRef.name=cloudflare-api-key \
+ --set env[0].valueFrom.secretKeyRef.key=apiKey
+
+Now, you can add annotations to your Ingress resources to automatically create DNS records in Cloudflare.
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ annotations:
+ external-dns.alpha.kubernetes.io/cloudflare-proxied: "true"
+ external-dns.alpha.kubernetes.io/hostname: nginx.thoughtless.eu
+ external-dns.alpha.kubernetes.io/target: 2f3b093d-bd57-4708-8d54-42723da21338.cfargotunnel.com
+ name: nginx
+ namespace: default
+spec:
+ ingressClassName: nginx
+ rules:
+ - host: nginx.thoughtless.eu
+ http:
+ paths:
+ - backend:
+ service:
+ name: nginx
+ port:
+ number: 80
+ path: /
+ pathType: Prefix
+
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: external-dns
+ namespace: argocd
+ annotations:
+ # Application is needed before the secret
+ argocd.argoproj.io/sync-wave: "-1"
+spec:
+ project: default
+ source:
+ repoURL: https://kubernetes-sigs.github.io/external-dns/
+ chart: external-dns
+ targetRevision: 1.15.0
+ helm:
+ parameters:
+ - name: sources[0]
+ value: ingress
+ - name: policy
+ value: sync
+ - name: provider.name
+ value: cloudflare
+ - name: env[0].name
+ value: CF_API_TOKEN
+ - name: env[0].valueFrom.secretKeyRef.name
+ value: cloudflare-api-key
+ - name: env[0].valueFrom.secretKeyRef.key
+ value: apiKey
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: external-dns
+ syncPolicy:
+ automated:
+ prune: true
+ syncOptions:
+ - CreateNamespace=true
+
+
+
+
+
+*yA(DAEdmt&`6o8t$^H;%6zpF1`>K5~5MSnqh# z@rL6y$19E(9M3tHIi7Yr<#^cfkmEteBFEj1`HnjscR1!cZgm74H#u%_OmkfCxYjY% zag}4D<8sGkjtP!S9pfDrIWBZu;5gSY#&L?{B*%%46CB4ohC7Bh2J=`EIR-fTJNh~L zI{G+zI662g9C?l`M=M9V!_NLYJD&Y#_KxiB**|Chl>K$~=ImwJk7X~+zMm+2Mz(&N z&iKGHj}`y#|D_E~J34J#T29*Rv{7kp`?<7j_O`Uv_{Tqe)4XXFY5uf4Y_KS;AniPR zwf&a;y1hE>M*N#;Z?c&cX)A2b)z98;-)-NWR%1`GXWKLEsrGdHsuK)U(%7JGKuva}`kDljc=LE7T9`_d+-O-q}Cf78+~x9@}R4fck#PH9Kt zUpv&K!j|?bd#U}TU6a;Nhj&7F2}-!!UTuZby4daPf%aqi-$Hu{JUonlBkbc)?o|7y zv;pwZ$<9eDuy>_(Nz1dtwgr!5_q1hNHflTFuCaI8+pQ<98vJ|AZm@S-C!mc1>puHN z>jZ0r)!XW6&9M4et5J`6XysIRUTE#KutNQ}9~*CA{-63$oByYhExZq^_`OoHY5-P6 zwEh`<;$2aEE&zE}Yqr(v>UFIHVE1N=f2>v()&PYy%KWHRYD&Vw`QGx!x=+nfcW{W+ zTYagvY0Hni%d|C6UCv%qPd-xP@!aowu%3_1kI5@_9a3R?m0s=CX~_`e#X6k)Q8(f^ zaXo;Ann_%d4*$`qrkhX|K)MZbCqAcv>yYCZiR*~ODwarb3Bpl7g)5M%mQ(RLj$>59 zgGqJxr>s60BA3V|2ao>KQYaz$BX#?dNB@(`R9llNC9YTh{$uJOCgbTWt~LCot AChlq%%B$+OAWxgzw z<+7_hQg)YpWM5e&kCKDrv2v&!CP&EQ 2H7Zg%3tIz`K$a* z{w{aRf8+tYXReg3TB$6RtsE*><*NeKURA0Ns-x fJ` zXf;NiuFh2B)OqTBb(xx^u2I*k8`O>JCN*8%tY)d()grZAeXr_Nz1psJs0P)jcB iQwF$Uyu&!#jk9g @M zBsda^bzFn}Ilhz8$XU>*4e~bVa)aCmecr$;H@>^ksBGx#2KhD=ds0RYgMMoe_d??a zwUfw;I{-%f07d^Y@)Rigmyx5O7+Z$dUhe>dJRZ8#ARmV=GsxLc)RU2Oq0brQR_F?Y zoC#fJu(m^28*Hp6UhJnCzKWG$oEVh_U0@JfplAalzJcCn5V&_Q!;X;=XlvO*gF^kw z9x$j=p${6=nb5Zk68&F>eqzKD=z4?fgQ?Qm!2Qz>^Ndk{VcIBzJOOGM pitF2K5NKcd9)tJ*`nN%#&&u~3B zUl<#O_{t47&I@0AgY_5`ea~3vLthtzwGxVXz*uiUyBRF>zptOcdK!xJfRSUMxVK^C z4yfNC>!HUO ;=Nr^b(2EV?cIYJr`2%!{ zL1NDMI1kV^=K vpR_H9}_^R0DLDL2+AV8&n G%E;YzqQ0{jixo*!GB+d!nvj)la z$NIxao&(Db@^|QS2A-cj?jxY>S6~CV8@kRQ--o_!P}e}$8}yv~05-5N$9*3ftQhoX zgDi(~oq)yhTo0hWhsF&y)_mVygS8R*k3pfHm1L0lP-)P%1siDFh7I^!sLV7-_^fPY zu)c$485F0*yk`{0yA0|$D9$Oyx&YeRU{yog7{mf-jzQZv=PChTJ1X-G+Af9-tfkO0 zgM~h<>|x-&LFG_`8UW?8fwo7&2HMZbuz|vPRyo>$9VAua9AmV7I&44!dZt0!<6#3n zFDf4}U>8c2n12kf+m#O*_ e$DiaL#ph82B2|xzM0yL5mF9u7C}A{&XH? z5O)yOp`CRollMV&@WW6~DEgM6UeLi{2yB#JcNVw~b`|tCFb6i;R)>1lVO=D&ukK+3 zaoXhu-dEMFFwi;BRR+RZQul^|&V{Zq5ZYDuxdD4Ss@rNHw7m}VmZ56s4$uG_^PwJN z$IwO4{$L<%^l!c2!27Ryw4dSqS3Rc#y!Wc-W5D~b`YR2*_o~0iz 8m4WwI^ K1@@HPB4xAOp>U-fkeYb^8(n zq0QSdMhs!Rw_}VLnhX8FK=YuV7>Ip*1~wrL=Gb=3U54gEv0gBA7txLq1KkaM$$+~k z+VL`Y1!)#QqXxPUzf6nqWaxhAFas@w4hJI;{s0tX#?XUMi~&QKmksFahU;NJ1VukK zp#SI*D9T{yQ7HQY^ceJM13eDKcs9I%@ER!U*?@7SXP~bdh~r-a8xg)7igq{r1p8fR z9pJWq3Ec&_?cYKFFwl?CKMlIvzla(Y(jb3hI%p5O30eudVNGZa?FmkST?joDjD?N) z-iULoaT08ttBsh8jhJ`hOeoskh_MpqKruFr_rSgqdN07-6-d{Jv2H{kh#Alt@C57t z6zyqz4mRdV<4XpCxzV`FAZ{ZHqKZMR`(h3hb!T{O4_d%RILZvB8F As z4cfrIADUxOM?-TB0^=CWGst<+e9#u@F{Z&I4E%g4h`wOd>ChsBcm!H(kk>*>47^Vc z;#>%#9Dz0m{RY0i1krcFp$K0C9cGX>Lpcuc^(#0WoQyQ@Ku3XdV1EQ1XAl_w;JF6z zIrKb(_zGGLE L +rZb{kOMdoehL)r40&Lm3T ??LQj!B&Z)82m5O1aD%)aIs%-G@M+Ld zU<_ ep@XU=uX8_cf@4G|ifb(EuzJ|C?C{xadUJKwu-UpotX2HhzhHe8$%lBfT zyA29ugccYS_tm}Nexz9feZau?`ytK` rqCq*JSA**j?u1S=DAYfE1Go|4Y~N&1=>IV02qW3god(5q z$9!V6eHUz?3ZQozw7mfKy$Ej$#hhc y0`ldm3fWBqW_8Qngb%d@pXdCk&3{)rR+Xijd!UlY8 z4ZjQCLz>Re_YJBG6muoK3E^F#TyKoC>I2 R2F(Q7urY6%(2tBd35tGX z6y{A6`iN0jOPhKc#0qE?!2ILqW=&(kIj~QIo@-ENK&uVvOz4H+BBbH8w;CkoannqL zWPfwOT% BeeACkg#lGJL?;y>2Q1m&YxSS6R>H_G;2E}E520lj`l-=}&L0tm< z(V#Ac))~|UXrqCz5l!f4hQEz#+6(@MeFgL%gS8NPz@V-qiliCTRZzEq$2Zc>pe92r z3<~F2q`iUXX9Rs4=?(u=py(GyT?@sWhzx*z9Tf9`;qT)j7;lE37e$5`_*qZ{ zuNFgR1D+=jLvijg>M`hD;BMHDLl*#yk9q>i`5%P+43yIW{;oB`aX{DY1=xVsw8*Ol z^&E6HcnjgrL)U?~VZR8i1@FOL30-ecobN+}S_S CiExw`%>|ude+k96bPEW;;4(WlWTVV?nA3Z8|1HWYmneHr$7P_#da zc3T+x=<5LOvoQWq^j{QxXI%k(2Ydh<=SB1*@G0!;py;b8`pUw*jcx{LpLH|zTZ0vV zes8dDg>ExgGok3iDEiRCoQ&2REX>JhgTa~u{l#Em-b8;lSeT#DKMfY V4)vlWd`d$Xa#7G^yt@EN6-oO1JEM@ z#?E>Wig97AhoMJ-fv_Ke4l!65kJwNHKckKfH&_^-*a-%!26~FYdIEZ?!NT~(MuXGg z^C{?9gY^vbT!1mOo`qg$u$Du|1B|DIagJREFoxC(&?^o6JUoW6WGu{s7|v_PdIgGc zWvo}B(*VwK3-cp}F^)}#jX4s##b9Bs#BK$%5&k9=;}pY~SnHsR3|1|4F+hJ?Snq zXrG1o6ytgW>mw-F8(15lTvuRy4CV6Pfc*({je(!9#@;qqpFz0{U|}xC-UsVpe-33| z!1@Bp$H2lIjqx$CzJeyOw!r?{V6lE{u)cwQXRtWzM}WC&ZG~ M0Zw=-COLOXztNdFhKv%v~MF^A*b5RN* LgmatD1Lxzr8v(t{U@Iu*W_%*TE$AdL8Fm_U3b+P# z1{CuyelzS=&;Y=k hTV_@@`?*$k`dk9gpG}svbW*ej aY<}3q0 zlWfL#Fgn};8`zjH%`Sj3u}45#8|)LHn7_>!2m3@Q`kk>)f)*R>lcDIl=1vGd1=`JE zkA@y?u*X2z7qCx vo8N^!0lLv(Uk?4&U|#|K&R|c3;+$vr zp04>XgU$6iV6d;kBdl9Ar1p|%%Fys*FwvByAv+!F(2&&!>eP_c7wXcGRRwixNOIb? z8p8L&qNz+nsvFd&A)Nc7sZv8$4BAmcwhis1;d53rb=B}#i>4kLQg1 oug_g-+ApEj{S18WKN3 zXKF}(4!vJP@+s(p8s685CT{;j=>H3$k7-EEhd!<$c^&jw4T&e9%QU3+Kwr?1#Xerq zkop<=nuf$&Xsw16*PZK%xq)X>qUk*i+1zLEYslIK{Xj$3S 9wMq-I06X!u$qn!eGHbp!M}4Poygntssm-as_fY52SrP1`m6 ztWV&ci{U-LXyUr=!aC1m`n!fK35{q-)Ij4J66n8(rQz$ch-7F8*KrZa)DW(}B7%7f z_*y9 aBk!BrqxrXo@Ktxt(_ EIO&XGIp*SZ2sr^tM<1HwQ+lcuINb!8& z`fbB}_!Wxt8SrxtfqOBA#6M7+Z+u^dYl?`}X-GZ|t=Ev<5sEp?_iU2;YNv+pc||0s z;pc=R64H?3ITF*5cmT?6h@&iy|64;?!}&2XL!uEXG^EagS{i=NBcd4^5*X)bD-DUI z&@2r<0~FD04N3H6)S= 4UGyrA zo*U7tVPB2(zd^6nki;B`UaukSjYae(jh-jbn_=@ceH?VAhQE&!QSR$`=ueDu^bQRv zZquC_vZ|r;H6%AdAJC9J47x}|ipQDTzZ8CMhhqK#e#=@!muU#^fQjgG4atw8JT}jv zT{s_cU(OKr2?F=!41YHyaBt3-yl=pM1L5o&*Dbzh=kquEriSpnjEJt$kYpe4X!N-p z#d!_%xs3aG!T0ifF5^C)F?qj+{WW~{g?^*q=bs|FRm0y2is*M5e#b*Zf7KAaOA=8Y zgWupk0^O_O=g<808ADcoD9#bSSGO>KVrUy6YX}tM3dkA&wKQa5KF4egSp%VI8nTXt zW@<>Sg|^a=g?@|S+yP__g1R*%Plsau1F|r`VwnGctWnUm8nUon#R@fK9Rn@WkTn!q ztRd@Is8>Ul3))UY)}>INhOA!D&Kj~X2V*#Q0RMi1h+&=qe%>PR41pnQ3Y7Eog548} zeh2)lM#Q)t$6#D=9^e@QL)JOaTQ#KqgwE0McM2kQhlcRIvxwcLA&D`JEzt0@9TCHr z0g~K@i!>x(fIg@pJbMwiXJ<&RfIh4tyay#>OEiT0N)dZPLwNs0#GcfU+y;F{!_PxR z>^TjoU!a)xfW%i&_PYXe4C@%~^%=6#per>*J)o~>NMb(5FpmN6^F{1+4OtH8It|%< zpqS@?e+xsz-qn!ee%+`c8G>%okj3M?Swq$u=$9H2zeDRaBza7CXh=K+<+$Hb&+*XR z8nP~e1~q(tCt`nV$U;BG>oj_8jKe1|_IB8O4LS`9|G?M{up1I~BW%7Gm<8RbF*f=! z{!1c!7i{dibQ+w4@m~}6Z?JI=>TuLKjykiw2mJ-~y0pg$+nKQQVCNytKhPsIgm=uu z9?W?_crGgTlxxTu4DF~P%MTr*Aq(fh9?Vt1_t9d{u^O^*ZtcOm1%&TM#GaEiq^^Nt zP6M*BChWnu0 U~JTBLkbC^6?W28)s#j z7c9d||6>7WWX62_IifCLHvSWUsYF@XU?Qj^%J$ Pt Z6-Q$7hdA4 zz`}yKo+!T;{PyX9|BfIBpbq_K6CLFS$UhKi1|k2^sKa0|q&v|uDDT*zL_^_Y81fv~ z1%KQhX^$@=I&mxpEI@Q}Hdsh>3c^ka5{=qIbSl!Ewt;9ge2m^kG-elG2wX{Y#%8<> zSW7f^4AEJLKgUfp4*t(wKy)7B&xclbz>9lc{Bp%oytD`Z<5Bkb`S?W&gkK!NFHx+= zFHN8x6ZYYSJ=m8|#S41V@JkUH06wm)!^?P^@e2^U@rw^NcmWUjrZ8La0^SDva>F?M zVgu@aE#j|-?`b*a7Z+|s{+qfJO^2_W7Zc5Z2Ko`*S^%1fW} =d^C%PN)_e{nMYh#J-9fcRvvWXTV-2=6F5v>DWKttUg z&cF+2D1S)+FPOo8d^*t+(5Ds b7nP(K}wE+TBF&EhAb#ndn2L z`Dg>t$4K`nd~9qW+BA}Aa|T{gLmj^AN3;d$zMf6=%~qnV(}=! -RB(mIo4rC}w}Cgl zMH)`?bb#uM%xn^^aFuF>6)HPI!m)yc6Y7GxtMT%j8`P0#vyem%j&qAh ZxUS**KIY4 z9)1$Na!B+ZMWWAq5`E#XY9ERIZW05ENE|hS#J~WFK}$#+y^Vw)`G>$hHiN{_i6n-N zBXQhj5;*t7@#9IHFp$KF(2?+eGSZ$>O=8qo5~pR87!CiYFThKF76_6UyNkqG(6e{r z*9B`yoQpi?yGc~T#|0xvT!?Zng5U9I-^Iv#$ubg`;&?(GiOX|HTrm_hkeIjyF9@z8 zF$u?$;cLob64x}7xE6V?>rUeOA`;WQ0Df*j{u`H)m~N4{8R>69{4FRufUp4a+=?=0 zR+E^8ddxyOvnK-7>o)kEI~6y8;EoIsz{3jopTCR5-F_1HOvmPX1d02Q9#ca+fcOW| z?uX##k!;X_jXKgl-j75L!k$37Cr9B1v^Q=%;cqF*ekO+>$biKpmLdIe W4g2d~{^TtrH znZ)Y(B;Kqg@zy@PI5>~Q+H8P+S%-S9L)mX5{X1Jp)UGG-?m!SB@gCyeN4od7kywxV ze1Nncz!%O>@sXdz2DIa2)c<3o{bUP?Pgj%Ji1^Q7Z-TGS$Ks_E)MfK@&`jbBl>6mm zY(7z!uaIZUG=R2#-2tp3@r?x#{|(~49S7iJE8?~y|99~7T@8uvM*@WZfO>9&pC6I- zr-gju3?>4^)eQxxM?HLRZzi#0AlOBsVK*KSAnndk*bIPOBLLF>I-bODTd?umfEzS~ z??$>m{9plzKPQm*s~ 10-LF_n@KVAV4);u4(hKac1Bi-L< z$3B$*5Ayyq4=*2f0VwCd1Uw)bLsIkx5!_(b;YGs=l6X=r(^lXYD}y9)&6k-Sz ^p>Kcld66fKe(pHkK;ji^>JY2{C3rXgVBbiqK;4?pmWI;6^ z_SE1ecME=5XeG&_-T>)}VV5ibn@N_s!6<-ZFE(G^$zUZ2k}R8u7adWbcFnjE8AY-J z<+ewDAHplW0A+VrO0px$?KGccXVkF^>fHtDyDlSnWF1~=97z)EkL-!`y)3W<58qIa z-Wy2vsRl^f7kRNCkX7BmY_Nr7zYzdw`VYnC4S5IbBROy~*oX(9TX7@RKyvVUlKzz> zkEtU$G#j99!zPeCt^z=Z7vY!eQ2z1LNuB`vL^mGHSzsE;lh%?v8R4g(oKsfd7xVmh z`4Q!u3SXy91gO{O*(Apx&*_Le1OCtK2X^5B@?w%_A?|F%oxPRhIq-4LM!e8C2B7Ze zP9u3<21%@Q^8C#tt49Io1<(uO LM@?L`Y6S`Y9;$nzbaS&L?^8VmvH&gBp_8@4`!t6Tm*a9E|dA z>H=U-N8HT_pMiSZg7jDm 5le`~c3rB#}Bp+Bna?w-}B)ND6$%n?0e7GOUN8oo! z2a=B=-Q#Yso@7lO$tSjwd}=evrL*yn#R4ernehN^T|N@*Bl#Ta@jQGykFXW+{Q~Oo z(m;|c;rrzZlCL1{)!tw_9>T0A`5Mx_v5@3y_ iLF z)D>% 1i`eMzKpTNhbOGsjWB0me@fm9Jdp3jl~bF^Wz zpX3)KNq#v2FDlLk$g>6MzTSWb0yzE_>9(THTjBe=#rT5-@clyuSW0r+LOei&@1M4k z{26g|<3NyPJ@Rg!j$ewyaf272u8qCHZjw9UZ|5qKzf2{$3x0NOCiyGs^II*+-(l}Y z+#l<46W)(x(+HALA{m39IKrFJmOZH3-i;*xM*O}}B>zEuuwL;mo+ $~2G~bR z1xZ ZIC`^ zB!I8H5v1~wwjdi!B-IxF+Kvacq>d;8(?}I|0nMa}R*))2Sn+(kyx1LVAytZaFT$`+ zsj_*b+9AB$0xL;Xz(@PB0C7I}^lc?oIh9lg#CL$dj lyMp8YO;Q_}sQoXm}0o__sRf|dW8%e5v0YKP*CAjGx zOKKn(G=|jCLrD$xlJbuN$UkH^sbjK1GpS?u;RVBKq>e+{<5rOx4o09Y$9Eug0?IvM z1E~{{{-p7E$#5Ya?n6gSCv|ECSWoJ-*`!7z?U?SQPDlFFQT7?|cV-dTikAqR@si*K zQs= U60#Z}_AV>=LHfk#BdoALwTSn@7)Nk4}QrM5F8^?e; zQa4qTnvOc$3?DO4Rsi_}yGY%-1uxDmAT?_$so6QCZp#KpHwR_R?FW$ej#^Ul5qH;k zQumA{wV;U9y$ea*H=PvjZ`A!rzYygv8cOOxu$aIG;uql5Bk-}r58&gm3gVaF)Z;5j z)l`FKyZ{IL$#Hn#fby0?pYeiKq@G {CF=e1 z2vV;=Uq!jNrBJJOk$N3|UWe~DHsH(7$)w)2NMQ|9Z$(J0LHIhPdmDb=ZXoqefK+W4 zyu608-XBkDeFmuyx`QpGKHNv@qs62)AkQZ#<5PrhgnkD9o8aT~98#O%XY*Q8U%>wt z7=thCNPPv}vJemKgLvpsL~5&_)ORQY_e~1xj@pK>ZL3NBIF7%pBYb&Est)DXk0rGo z`F5b39a~5>tR?je%HM_XU#FA$Z5n{j-SG8CHL1VgD>#x=2!ufs(nsf$imfIU--s`3 zk$3MdJnVwM{b<{PRb+{5vLsOB$g)=83%`YAVIO3r`^m~^Agk46va)uQ `z}C1iC#x=sk|TmaUR)nx)%M|uJLbgL!{dl?IR8LMYD9yr79 zje7N&iZA+6UKPUop-k*otp2FWfO%vM#PPswcyNyVgW=zgG(%92W5$zpEXo U;8HvQB~TQEswMok-Sc8_60C#s0)P zy^gFicawD%$~qh2=OW*ElgT KwABz~5BZ*EWzfEkM={MP%LBfvo8fvSuJp0A rwc5Y$91TNLz!nPb?$r$t`$6ZwXmXL!TW**0RN9Ef0|OTo zxr~ zy^C_+L->2U$Xf3u>w~dmeds1@1M+-~@;*UbKHW^#XRtp Dh5 zgqJNP8`p5VU6AbZ)nr!$$Zn6YO2l=TKz2uH$E{>{LcY!j?=q0=uC-(z2_HSZWcOM{ zcJGyB_nAj_71CDCCmZLZ-G2+&1CZya^<)o3JC8=%!DGqxBWy?m*~exB=ur3?hP=a2 zKF&vbIO;V5igVE>I#4SDq87WNbjl(ZwI>=ZDn0qVD$}d-J?T~D`Bm-vR`uvxRhE~Z zm+whSPfIWJRr)GD{ (#T)-oH~goH@dq<8%nN_SdmBV9uQV5q#9n z5!v{d<4#3aCoNG!_>oj_ppGWspbgicP4CJczVdeIX}O-9{JdU0tNQlwsGg`rpWc-w zoP(<~Go8*%{P3sOla-yF WV2^}UT#i$T4#~o!bI!Qbl+f6j&4Yr?J9kJdRO&5N>r5}G~uWeS*yxlbEc<@ zR_AA_R#^_1GIM~b(y-j5aWLwCOqG^ rFmMn z%_%T#6QWJqBXYBCJ1s3M+u_d3b@wQ2Yclk}(}99E`3_`g-KK3$9x{kpd{n@lWcQBr zG)^hfF%MjJT81l2q-A6{97hy-i`%qmm7&VaxRk5(^vtyEY)7_b+v#a(DlIFkwcAch zcV!DZGb7t+GGu1Ra%AAStM~)wP(aV!D%gGd^f2>Oq~)6VE7E Gg~ oswr(v_N+~NDb37-_%-mmVRQNLw$$(@B= x4i9V$=*xOa)fsX179QjM3X7JF)h+vBdzk}5sJk)3^{-?Xs0+NfUy z+F+jfIgZnm?%!rwYd%Hw!7{nsols^wlxWtt!J=;!w-l2lxjdHhWr4%F;rFyFC^7S~ zwDZ8DJ9Lzy o>*9$8RFFIze>cuA+*QH$7OV`^E-$4}bnw>Ym zS1B-+2b|(PqR=I6%gV-2x^NbsQks(^L{3iW1fB3P)LLIoM4MdKG|s^}J?>)8kk0w6 zwmP}a#%WMS>il|~y76q`Gu?+uDy*dcWqKwqY?#JX>)0zsB`uJi*~(LA`on8_&ufle zyh2Rj6r6H@(Cu=KGSQ< 5zYZ2 IvDhxey*rzE>> zbZJ3bhn?&?E3573WY;ZrwaS!bVorfH^_iUPH@EAE%w)f1 Mfl6q)AwoS~zUc4v5peEMFHhPZnG9##UtBj1g44zY1)YflE zO(K`uy+6QV=@>r2!^PJR%xyl$N@*aC#bno4hH`Ec&M<6(xYc?(W0F+%t!goBJioa= zdU5CIk3QY|3tW!*I2D;3WnAnl+V}PLZC@cod4bc(M}9tXIt$80z@5BI_>+d)>rI*| zLzw)?+NYv5E{570yDdDTbw!`R;nyes;Q=ki*+X5?lf3sz4JtP}U$>u|#TC!V#UhjF z;=$;q7K #)gO}7AyK9$YlH+VyRh?EKVJ2rdF)_aA z`&+~ #sCN>HEq8gMrF_m{urKIaQ6cj3+7C7j%gSmq zxOG;R@U$+xp!*?v{_0fA^?+AY^zGm+b+v76`m1%0+nrI6;d18`w)O~|gUNdZz8%o* zsFj4h@QM6)k dzz`)i2eiGwG*OUy8-=2By2RhYf(k7 9ynh45S_9HIBWUw>EjQCl&qT#oAPZwW$!R6Yn}OS SUyE;tkv|z*tF~1G=@cZkkITmM!W8_GV z#CAKoT6p(IUU&i1_27C~i1Va(Vpi#HJ&LDIm01P3bIbF~`y{VnE}^#sykMr6_enIX zhFj|K6cy`c2LjdA$);6Tr&hFp-i_AQq9?d>%8QFV?YeWu+SF>6>hJ(2M{4if83(@d z9( #t5OhSg?=qhm}eq!$72{@Ucmm6ws!bqej)tCyMT$>j@s>=xVYq*-2; z7z#mVrq$ILt*JA5fDU%QnY@8Rq(!;>WPn%57N=OUm==YnN`(Laby+os7L;mZE&7)C znW -&6O6HG_*96V%I;O<9AU9w}3>fAZ|=0tlTrte#h!`MN54dRjQGFVh6 zds|eL_cL|FXUpWqmQ_4aIAaG4%E9@F`=R#9nK($Mc9dnQrzXj#DT74Wp;wIqJV8u7 zxtgR;1_UJsD-bY|`x9E5>MK9`O5YnKu4YFaycg+paAtT?<0QStQ}Q+>IW3aM0ZeRD z7rqT{Q76ASO178F#e5L_+#**$mg1pEUPp@c!wMcY4?k@XTxha$ji2N`0!O;Q1F0La zL +_UF~E-;*|I%DZsWUT+<0Zozg=9e zPwiGU-QG-ebMrJ~Tybn|7QUzCq@UiU>%i+Vx1IN(rtQfUrnA7Jga5z-?e!yft?^K2 zM7ME&qG!3y0fZ;}vKIa-;17?i^g{qo;?YhY4`0c 3yqm zb6p}m;XNnUwSQ027LTR5_pcWnjNko%ybNqH2JPRPEGG}&8SC|m+vcGzho8+nS S=c$`GFH nP=Lu^vWBg2=c>Ic}1M1Y`l9k#YSv-Pm z4zAs~Uhlz$+O!{^-s @}!ul9O**s-!EHp{grT3^d+MIFj6#C-;#)q3BZ zd}LRexOL~14UfA_KkylJuz!+|1-qG*s!REZ3?Z`kQZ~F)B bN(ufs;D#Z}1IXAJ7kWguy*euwm71$9Rs9)3mO!Q^Up)0+iu zN6T$Oy4Um(KF_~YpMp5Q#&l>~AY_M*gBC29Jh@$dp1|_a?*C!#P2eOu$~(b~m&eQd z<(*kaR%TXKWp*9ioz+#@*#}Lhuv+TYMPXS&fCLGWL5Rc6B?%BiE{tt3cxWSIFgCbs zY$Fy}w~eu}Ih6ctFUO8edo&(A% JyofKp_~N_b3z;$_0{DJ24T2{sW;1>Tzm3+A=zINVfHjZTrWoqldWk0%|wVZU=B0G>TjK4Gbu zx!GbVnFu9Mb M0xyc8i6W3I?QB*6#NQtV$*95D&-e6*)>H@nGF>d8qc@#iFm#o-_-oot@DVv7>WT zPZ#jiO Fi#+c;-f0-(9kR+041)>v5nhL1Q76F*2l;&1C!4JLe8Yv8 zbr$oMeHzt2`4!*{6x#Np{#G6e)8K1w3m1#w+g>Z<1vSm3NTFyy?|I=uA#w@dNvMzV zI{cPeBEAp*vuaS8!_vck-pZ@u@XvYcv#!Z;qu$l%v>ed~6TM;Y5VWUYU{Ly~>Zmt! z;&QJ4=#P?Zi9tAj-}?+PkUSCC-}gQRos6akzwiqzh0?K4e#%V!k9~|{J!|;XCq3h= zrIL+?Zh>b77TW^_&*mwrIHQ>6AJ*ghVVXrCmV|%gN7Td2=kss=lpfrl`X-;S#23CW zjjQCewa#Z!>)C jn0yT6Ne_Qsv8vdwN^ za9bis?!lYtv;J_{pYbCPzx)}oEgb+3e$8~7Fw`H$)df!XE4IBBf~r{{he-o=l6=9y z>O%jpPRV0gB#*j?b5yH0+guX>5NM##JwgWKOi~6CgTl}df?vR>*HK3#lBkNoX!t0F z-73BlRlZm(9(fg-&!6qM8h)-|S%q!63=-(zjuDJ^SV1zn8&UR)mvtN8d?c1QYf2Z; zRv!q0+unItVV>>V_PvxeVRM7P$5gC~fFui 1kz9cn=Ut!)H*4+N%gcCW-gB zkUE8V8@=M#k$ja_=HE_M7S^IObD`vwsG}5)Z{ub7U$5EPs(>RYpnF?ex3H68-4lJS zTB82vb2T%wjO%ZLUv_d?b&+Q2jYG}ZP$H6b2A?xkI^el0m94F7Sl2CETeueBOQ_L7 zU*CmlU>#tA<(V0LoHR2)IH@Nvu5-S#!1~vcg43GLeo?PGvL9hcJI038g07ou6bo_X zA_h>QE7LkH?*k>Mi^1zGv|LZS(q2AIy)gy>GCpW@quC>z*effMHvCFDsamZHkVKV* z>mfITq*B#NONuTi$59L5BVf|suIm0(X}0Nt8b`ayFm(6Z#)AJ#v#I>NVVdUiso7t; z$clauO7-PUR!zogbJ ^^R^F0JS6dIEz`iQK-#Obm1P;jk=JfIjfxy40Z@vBiUx``%#a&Gdm zNkBjD;^)}f-QJ_&6)YomrR{~v+FE77{#w{Iz;>BE>{cC>c9hc#hlz^e@HTHw`XYPH ze;4)5QNt?+^~~Kn)1kUVbx-(+WvjC^z0R&`bbeeTp7YK~{6h{j Te>=Zg%6GIi7#7kN380He0@Yw{~1+M^Xdp_V*@K2rZmlf z6|7g&cawu<%Z4`5&Y!dvAscKob9r)AXYo1r-l22@+2*X;>a^Xo$pfu$bDH$Ma3F8s z?r&}sJA1~U!=dAl!YqLL!8Mq7_uS1B(kPhIJ7?5Mb*zaRi(75aclf PLZN+Rm6%HgL$`64= z1%vs8nBxznqKT5<@8I3}JX|}X(Qp)xqbYEKk=U#iN;!UiIFgL(XG!IG=PS$01ux?C z41V1$^*u>j{LyE&Eq}kf{CO` 3H8e;}C( z`<0c91pOeo%JPTcw!+Sq5>WsHt}e-N6qGxh$|) ao)-N>AmCcH^)PX5 zsA8^FFxUPS&Q 1rSVfibXLhQckGj3qJNiG0+~#gcU^T*w6i(Rj{*O$*Pm<9CLi-P(F1 zNuXJ*d9RX3;Xn2BXim;iw8Z4>Xg;3IMAOk^HeQ&C#ZzcfFi -VX_+&Mm&=q83$t3iEg*j!}Drjf(u^>cGG(3+!!TU;{E-c}9Ufvr1dN8==Z4#S! zhi;Vcmt$FB&UZpAi$;-B)P%yZYFMweh)@K}gGH={Wegl}M@r^v7&Aykc1;FaGtqaw zp`3(lmrRszi^Df=Y4!L?bML=qkpp!F@~Yw@0#5qM$4JepN`F8B}JhuURv0AqPJ z3)^|vh9laGy4^4O{it)dYY2ucU>7g4cZ1P72R)T5|B%O@hm}#JJT#oFyUV_#{bb?! z56Hr06j%hJ3O4$9N6U4TcKj6Qu$Dl^fw*UZ&s*NySOj~xdxC>{!YZ^1mM5vU6Mici zO{J0#yqUdAb@dGDrfxZ0KkTyjJ3qg^^!DLTV5UB@rvj;Kc!@QzraRbEO&R8waA$S1 zFNV*p$OL`#ZyV>myu *B!v zRN`5>k8UB`g7V9rvGM;n^@pu+xRrzg!Ag!(YImF-r$l1BLik_S;J?hY%k=zCI9G{8 zE0t(Nsk5)*$K$b6T-j90Q}_zf!{3^0fo{t;rrW^pf)AW(8FPI;sFYkeJngId+P*IQ zKYtZtwTDB{rfWmSNH3umo+55pkdH>4$}T!-;2}MAfVF3UzhDpD2V^jG5tFh|I<#g1 zvxU*z+Q1*i93OK_Vip4@fErY9?3WUC%4mVwo~9 ymtZyr2 z?=ZE)RDYD$gCN)+H4I}WJgB#Q!h3p~r;b4>ldESU@k}eTzAg?)xk_c}t*rEUU&}-i zxgW9v{?L1vdJj`S#MDjY;h*QQ )~%%v)b40Kf4U>Z4|S}u_BS+g)XDIGOC`lcNnVgDyfC=4TR9MgO=>%>#m zHm^TwC4RIxdviP%j^%%K)j;5;fC`*1&DZ8$F#G+PY`IkbS53m=)pt6es}X;iH)Rdq zlZnOE=i{lYGi>pCUpn#DO#WGR6g rU6zVSD%Ma{#8>*;@-WHp6Y8HhCL&vn7pX#`H2N6xh{OT5?`bIDP z2Y}=~({MQ1SpnWufimjZ!#|y$0?7MGF!)bB?w0C}7M+6t)&HUgKp$V<)zswI|J%2J zW)e=<>6#t2>lWD+QpK-{3^}kK1njna*ZH0c`SGQYAm2b45@QZshF+SXbD$P)O+nvC z5r*I*&43`FRdr{y^`jl! hmfUyUZ> z*&L}mKqJl?P$DFE2+0)e8){oW(N|<)TJhf@eJfa9ljxg7X-}EIz5V1#OC3IZE|+S@ zooqbeO7c{k>5A{2&Ck_pi*!C8eQ(6oj4H(HY(Apz51OCn%@bF@Mtq%vhqi{gca~z( zVd>KVCAZMDbF@2v;u 6GQBc+8P#!?$LJRjnvPnp4gCFxe`1xo$9*eF5qFY-R z3fFF}H52hdimN?g*`3Lx1JUD1src}#d27`0J50m7CgDZM4_NVd#)-F6x$D*sE7e&1 zy~SE>E WWwobDC%&+qr=P)WpQmpM0fGWUnKMR zBLzo_k~~wu4*c;K-@>2mPEUJ8(0tl3I|2$PAN@Qz=>{&~9(R p#$4N>l2P8*5g`_gC@I?bYNA|ZbYAM4{nS=p~e{DEsFEpF-=hMC3(GIKbC z@W+Z}X1TnQe1h|hGf<-gQ Tr 7jW1A@t^V!SqE+tfQP>s5Bev>+6 2ApK!lIoVwDPY jZw)PoYR62*qb8I*$-V2^NS%hbcm+9>CFfhY?`AF~!{ zhNq~KxF=>i;JnCS#lf`e{xACr#p?Q6F%amcQY`|v%06P9vI16Py7Z+$ptQPPEf(PW z5s&9a#apRVcc%vc#k >ZQhwtPMzSX|{zG5!gUrJ= zsS>N<;MyxT{F#%P$a98|PVh^VHrX4f2>j_E|JjH9QOkPmYb^_|`=>sY_ABT0|0HYD zB5aF0z?*sC&5ghr45wJXwX-G0aShw!^y&oFCZux=Gcbu=(Y#|F7Il%Xff^isO{z(E z`u%6wfkj&TB9X;Xjk*w$lGscp1EDyZDgSmkgS(Z<%>2~dRZdtKRSVWQrFMGN;G%Y6 zUM%8O)X-O{)a-5 ^%mh ztxPr^42Og9Y{t6Ej(v45={U)`*>X7vPOn^^1@G!S@jL2q881qoKZLais}O}AXrrZZ z1x@#x7&XjJHWxY5E5%i>G@uyM%K o3(Q9btAB(J6Q@s{Yuq}ij%1HTayN0RmGIh!o{(#lMZR2MN zc|27T`L1OfnbSzr+sZz{d2*tJRk%AC%1$PClTuI54}CR$or4lfa(XD+-2kn>R Rx!W`JmPHVrgJ za1bbJwIK6GRB}ySF@)FLFB$@E?mgWd7lh@xbcS#onEu~URDF|HU6UGfzyniHbq6bm zS?S&Tj+wgVPTq3#y`8nWSgBMob@D#j;KxTFltj YQfV-H3F z7QsMRHK0Y)-dYZrNYB;?Jcp<*WjQ9oc~YHroZ5eg@}vlQCoQXj78?XYQ)v{2H`8${ zQZDQ6q;A^Su&mRk@3`aiX-idsCM4PUwUaJa+`CwyCM@X`%ssBKd5Ztu7=iyL M zOFW{|0Xt(YS}0bua;f!L5{m}Dld2ZigF!1!HxF07BClTat;wGB@yZLXgq%rJ?Gr#8>bg`k7P=`pJAC78GF-QA`#~oZi>B1v zpi9KrC5m>vOYqv)KXlKQwTLpY$m_XW#pgf&+(IOVY6d$yBW3e7n@irduR*tX0rPF# z_A?keS%mUfggC@-_yul=uSt#SR3S@EP=9!Jaj}A&sJnvR!h>(DOMQMQ6pm!lpNWNM z4y}}CRzjiGl#@RdP7QxH6)v8*5DKM}_XX1FS}UCmheIKvESwRY5B!0*U)QGJ3Enh# z&wK3%*w%Uc3okD(zbKJdTK|>`-CCKQ4gUNO2T|mmB3MW7pBS4uY;iYC^iLzYCaKUP zL79)<)quoB3=PO8{(!@zy!cxV!Y4okB+5(xMZr5zuWgh{ &Xf*TJX~#hfhT*?g|LbTn0|&ibygl4*-)uZ|Z)_iFtRLIjY+9|u@5>i&YPYKk z^C^(kNF+0R&0nn>5@PPe#jzc04Sw<$d@q{lu`CH7gNrt4BSuxz)o}uBAv%dp%NE?D zifUlVfHDBq$vu?UGsa)~HP{;#7LKfzpdXo=0p5WmwdPllfRMjdY+ic=>JKaXA1aXx z&WBGl8p@hcH>B;)b^l-E{9^82h ZEqoQngTJS!=QKd44i$&99x@ zQH{ol8O+q581RFpF5X9Yz_sOdkWk*s)zw`yL|Dee)QhMVHbx67YNB|dS70qznAMm@ zB1#`4eihKsX>zRqEQ%Wv3X<4t1D`Yk0o;N>6_jEE_EL92_E#$lVZBo>Jd;Q?TnE*7 zBaxWFhDYd$qmgp8Vmvvk)pD45@D)MnW=xaSSaV!Dyilq7Q`75<@TpwR)sB8;@&kB9 z !E`oEN zsxlJUZ_q9OjlUY=2-=~J>;5%0E~9}jIga(eBxFs}KCWDowtX+~y~_7#-=lyrR%9Tw z;4#2L;wAzV2%X?PW&w~ClmXZZ1V$0TVj!;;u7I~FB3O?h!rEUX1ra5@nN4PPw8cyI zd*J`k)ID_$fIXnQ;zSb7L?iPFqEliX`!}NErGefFeod5`OR`jQZmLv^8ae)(aDr3a z{q?%B_|@rsjdOuJ@`HUo{9Siq*JzX|%<2!|y8ZMN(|ZM_i{9F}hKLRo@udd7=VM3E zYoM`ja`oqgBU7jO6dG{O_<jQwL%>FcVu|flKb&$2zdDgA+6u z2OJ3!PXyaK-#9UQ^yut$TtBsqG>olRNC#EffiN~R1M$l#s~{(y`>5~4V}aOvTT!eL zav6TB6^liqa(V3IDa%SdW``d!MCi*-{CwO=-w z*k;xX-U+ACT2I|q5z#~R6mVBV{P+X~g;%~?iwisQ }0oBJ&1fx;V$^rcwR|#fEYe-)g zz2Pwp^2ct_74?Uo&>16Hx$FLRZ!TThmAH53z}do%#fT2tos9iCtvn0Au |l2)#{7xPh3jq zI1!)HU3VEf**`ZKGh%C^z^6WS^UbJ0+s+}*4WJe6_^yHVoW6E?yOi)e0qN;@{Dc|< z!Cf9+28;?KY(XNO0r^Gr68S0Y5y^4=5*mL)3Y%);nd{tEaCbw}DS=tX?g!*mTdgkX z0;gsd>8klr716pHi>2POTDU(Gk5@G$s(f()^m%@nbukwKD|#c{M%VkptTF881w=7? z8Tx3nU1hbY9qG73C`Wz;oxoLe4wTFE6oOC7C`q*B#$#-=8Y^+?`C>gU(9w(31i0(i z1Fmu J-&GHq8PUcimKt5vHw&Mpo+bA<#Ka*9!t}L={VtM zo&(1B7gpZ_XjccUfwlI!Bd`FiNi(3A=>ryvj9*FS7v05@sqff^>FyRo=tgw4?JEao zKM{l9-jVlEGw|g|${)uD i)fOz4+u>->^lXB zYnzPb2)T}Q+Crxgwi1xdOB?7=P$T@(S^8*f*4j1l*0MLd2j|ns@#7KfaxlGhVKUsM znAXKNl}}In9y1<|B3jDY8e*qJAH}ob0L57dH_D2tJIc}cv1|EY44uc$kK55&Iyr>w zH1Pq#C}JbXu%c aR_Qpq2T@|ej3pQ*Q3sJ|HN`jn5Ks8lSg z@+cV2Xb@HAb7WX^iwK=l@~i00-Gd$gKN!bm04?Fbcih(nx{T>GAwqzR$pIlFrdvEA z0Wd!ye&z` FS^E?H~~JbSby22Bf~S`q9Hld Z-;p`dGGz-LJI$X zhtn;j-hQ1Lzzd$LL~WJbVSKcHx0t>cF~#tQCtdaSon1o!cF`!(;$7h}{s%x`f0b;x zO_~^j%)|Y zRYuy;kXiUx{nNAQw2DBn1|I;+UrA+x%*bHV5H4xB%0d%u@tLwRQD)4d=OIR#9ld8M z_dNiGuVv(|3btVIy)0DR>DigAehUWK{VFw&$CVz`m 3)gb&Ll!6(Ib13G79Y3Vuxlu~;2I>)NtnaD9`4B!3tM z>MgJ$wBZh*wHM&F63O^Bw&}&OHcK4ALW05bM2DD26c}J3^)92k8vgy$Dt^eZgOT%g zEM}jN1a0RKvF_uMTz1ANC}*;{$j2F^;gI?eB`N+parG|^?=>%JILi7S#%|p^eLn~c zHVT@KXs Ay<>i9CxDRP3TNzp2LABbmx(r%4QZKXPo4-orL-j0$T<6{IIjRdENSQ zWA=KJvlaBuoAjz(X07Cz;`V=3*kcK6p?a2i+zME;ulQW$&~kYp{hj|u1^&Sw!rD^B z+Oh+l7IrA~1XgU|m+5+wAkyrds~*yww`pjAdcZBnRbkQQzfc+Iggx>M({OejVl@_Z z6+Lr@H-3>fLYoCQ8i^cY`>hzZyJgZaMnxiPv$IMEH9ExiSx*Os9LCwxHF*QJ^&)xf zxMT$kG!k;42Z|&+ky~?(<}vW8+?&${9bc2!MzVSe!wwH+S0(QWtJV~vE^K@)n69O3 zVzndYUyhyAb6xrL{aoy_S)}25K=*?I{!nr#i#Hi7T@cqQ^Hr7QyTe^oHL_+OaBm6M z>4V2BqL-Q`A*OLdRtgLT44h)*JY)8f*Qq=5Pg`z^62L^bZf)2_p_<6NRo#wixo+a_ zEH8xf$kh3`OZ!Z3c;D5J#M=?ihXY})beA^LCb~~n%muw2osU<>@`b6)eWpwJd_G&o z!-w%m$X=-%eJ{n%2l6#C3#kGDHi6S1Z#5-Y)rwE%_B-M*5u{v8k%XNmx3dRgO`08m zu7r9;{csmyTcdr5LUuP6J7;<@7Qu%7o{_)JeVgL5C?(Lt9v~p{v^S&A5~eusYq6N; zL+bNgI~oCs+udmNtwfVC47H3VHF_%;8Ou|8kW%KM`Q0}e=Kk4ebo3RB!Pxh@h*%@f zkrlZHU=iwIBa3jAf;zm}a3kuI5E7JpNa`m_-Dzbnf>o=_GqI@isx!@|%J{8r;y0bB z`jiP*VeY4?5no=WE_`Xpn^vEYAYs{eCXODxW@X7zt!V1GyV>Hf$Y>Ylb>2U__hnrX zy5{oAoL7kYB6Dg&83)$Po%FJ&2%0z`9Q9Lc&{sppVScF73#DSb^C}JD?Zc70yRCEi zpnM$SnVNIs_Psjmn$h;jLK{hwv`iKEA!1)plo{}aB7n2*Hd_)`t%3(>=@S>BcmQ^E zwe)cRY<4y~_W|b1+}#zLqq<$@;1P?uu;>C7r!mH&ud~M8AIs
Xh46lq$5JE(($rt)Cb)=Bc+)|(H`#6AW)-# z>QDmFCSlNCiBY%kuSeR0zrS;Fri5r^dOq!9joCq8PSL*~Tmb|DYNhm+V(@O9TvP{B z`3o%LRj0%ffX><2XAN<#iHRr&!W{2dDe_H27mU#q!XzDn5j@o^*|Yaz!*pn_l86?* zPeVENjXP7X%v-_#OZ90#9LiO_iyRT75?@3qg-y6SP9m;~_eP`X8xc|oBZ&O)-*-<3 zFB>}^`V$0C@VizOV-tl0yp70GZ$O`bo)BM13T!%1f=0kXW>dDo%<*VPF$^L1 R{(@RqU2VNgIc_{nc~||rNTL<9 Wb$r%@oaF-iG+_gT=E$VpkBSn-mmN6h!$ zrSoxau;_=l=Dh@P*ZN6nA; 8^t5sQqX+wL9ro<0gjzH$s@WwEF!<(?C?k*hBqVMTCG zOCBz}QQlsn)Jt^7uU$S%_EmpGU)wjHK60eAf#-mMkz-(M9i4VnW|TDglz`Ej;EX|V z(IXM%9MyIqyn-m72(A%NkTM!JfA`%c_W^@UKSlF3B6f!S_9MD&xPG{4G8f;8$vqwu z#=X|IGNS!>)g?&BQL#8e<7XTt!L|Wvc9$@usPWc4=K`ivN-N6+n6ic$cvHhY{4?D? zHBX(ld1CbBq(Ruz1%{-r`iP#}1`T2~tGm&BD*M(TW1z)o8pwAMYnEUE+lI*rvR?NS zok+nMaAO(doU!ADje*t+NpM?;*KZOKlgGKLySlhMQ;ww0( GOR)6)Be*i>qHK!@EM+hg4mCpj=mn5E&rp%nU!SoL$l#Tv8^1*OarvTweOc8T?F@ zZd eB;>lUMLBSroM%%*-cd&a!4MB_!bT6f z+FB?@(s}?n_^upriz!kF=a9V=5~mRt8RpAtS@i){z)~*>g=-2T2Oe%;(G^`WGQrxn zOsQwdcH|G=W5JkYN*%5&1dp@7w(zQ?Ejd`dmLNrQN7V~})5HsH^`c)ET!?`y$bm0O z-3`0f-VEmJ1VM9C>^vxdwTgueT(HewBN!_}9emdAafKO&PaO8RN(p1z?ebAq_4Hlm zaS1YdOWubUMcuTxxT!9Y{TW`ALv(t(X3-lZcBHl)seVT)+mVV#yEjd>cd(wvH*u(h zRE?vI9w%)4LU#v%&2jL3&jw5yoG<$=4m!Mnho| E67P@BIzOdEnG3^?t?$ALx (}~{*VlOioj3S*!@n*Ry0^n%>FO56uKO>0KB2%4 zbZ1Ar)6p~?x7ZLwcisrUFIH6o6@Nq!1k9u2*l-K7Udb*k@}0mZTtTYDd*%4%kz4}* zy?E4P}q(**WG>hb*YFQITwz_!n4oE;Way` zYWTCL(h9+?(Q=#+qG9CJJrg@!mdE0Ih*KN6|EUF?n;ci8{Kpu0RX zPOlN@rYr*@I8ag$ZH8AgB?w0Gw`~!7>g_JRra!2=(BnA?ex2iwudSW#|EJIQs-;rw z^Pk5)jcQMpi=JE7ZE$aVNWzKwlInN4Ypy$w!(F 1*tYVtL(9ma!P?qMica@iwtEyBnC`pyC67wyA2tiE_;?hS0`Z5jx@W9^ICq ziwN(vP5%-)tc*QYNBXH&OE@O#Zw}WNGksRV%HHcD+|KU65bvFy)PcI(aq912ymri* z*VFuz)dl|XJjf|4vz98nSIQ2;x=vgrijezpBER`Jon;t3G=a@A|1{c|Up-#{^#2NI z*kwd?xy|=t-zzX4#(Q4iDGMXV1^!Xv9dVnY>5=7=>mU>v&9>3lf-gnh1$H4hVg}$qRBY+YDl5P{t>TKRo g0e;C_A#j&x8SDUepNpPq`HbGh6v^NS=Shn7ff&GPsv{<7K~0u6C|q131Kli> zoVa~7 1A0+1w wTpkFv-XDF9YdeY-5iEt?od^L#n<7O z$q!o#uH{B}!7Bb^&8kPv5OZXT!Q3_nbC~;Q-arZA4Q}XQu<13N6Ajuh5FJ{{cLaLD zo5b?X719%F&w~7o9qFO`2HiQZGIDng1*=7zGl8ICMaDjvE{{NO`(*xQBN%KXE$shG zj#FPuChLgZ;HbB`iQzldZ@#kh%F?hN4xh*~0(<_XZJ*Ss6AHnB_sRXhbhZ4za0gMv zoH}9+yp2&HkU-rhSoh*|wXF0B-+sAR)2IvA>ui)h7CPRjc#+Fq4~Av1v7FH&v?q-m zYJ}- 1G z20j-rHyaC3E5;VrD~U386(SB#d~v-RUvSgm@DbK^x>|{bPcd~QXvfqCsTjONE|?&! zq#RpVt+67$IFY_q`yro;&(E_NwLq0AB$+CgnF@!Fu&!s>ky`B(Q%Axf1~no-IZ$7~ zyi5De%TDb*!j?@SVx9@@px%~BX%ZS_Yx)9Drm k?+Z@Sb)$tB2_%L6-<~SC@=*YVH^O!Acm> ziJ@-^SLQNnv0@>+hQnfuKh8Q?_gfYg&9vs-e>^w*EpMHy8}J$HV@QJ=6hwh#1cFyy zBf-%$m;`Ao$U#*1QsXfX%a!`5T1rL{7a3ts!?TvVG*sCJIRlW16owvzlQ*iwSY}kN zSX>SRq70hKT7q+2s!(8uE$7K8RVH*Eu5vsm?mIfC(wLnMp>x0i*QP|BeO2rb+wgaI zIrbJl ^yaDbNt$6tB@jxfJ@0Ftiq*n@&x>b)z{%yj98H^6`K98=xnQ8R=eXDd*h_1jz8Wv z7u=4i+f%k@^1%Fv#e_|28GdEN4!sJ^Ky!|-tYnioRed&@U0FGPt6^}=9nI0n-c{s` z>INOGV*d7I{_0%>Q)?htKkn9)2`rkp(|$QyUgohjb6ez @s>@G;C_d55H}fI$<0zE+>$`v}q%-N@lKR z&(16nvwQf5Dthkyr855p;NJ(79HAWqNr9oCT9AEXeMuZ?*;R0C6Mqs!0tfJ!Q#yDe zDDv5n9$o1Cd**(K9fGJUn`mP+#XPby06VD)CKL zz=~LJAh6@o7u`SZ^)db16TfVex(QNX44a7uI&S(CQ$fmJUI|5S1F4V1?~liy*LbUF zuuL<*Jr#&-D;~N2R`}f8cf}LmCweTlORukldzD&-gIfj#92Iq1amye!paFC$qioB6 znD%W0;^}spU}|t}ajK4Lx$4tV(go~vi^*i|h;|ja)=^=dMALyYW=>E)qWNZ0Xk*F1 zY!HSKEjPIyYX&Je`y^cQE(UGvOkP_zjxg&rvurKlbWoCAkNH^Jg~RhO7KtbM%=oC+ z8IMD`#)k>}u?u(6v#p4B$A~M8t4J=8wqPT=K*a+r)^nll*Lxb=3~X;g>0RBli~36! zCx7vwa* |8)xb>;xiXu9E`;G_wFP6*OtUmpA}X3^WJM zm7SXA7Hq0&!9w|9in4cc;%s!+QR{GHbNUhd>f5nD@Mo+-#vh0;*4Bq#U#~631L`uQ zkH~NUssc~%?(_U{yabZE8}$!=KkY}L+EoM{Lol#a#*O0GSAe_x-r6T{6bT$VN7X zUU+nY#@M%tEhxfT8;IvdOu*lUz8i{3iGq_6C?gL*I)UOSwpjp*&<>=ptQOdgzfQ3s z=YH!Sc&Z7lh-@$QXYz-_P7+6sYk4Y~N{5fHAB`zL<8rCRFpitgrgQm>e +^~Y9$}Rxo}pd za3~!?=wZ}VkE>of91AJb5Wtbz;@*dJB$IFBu)k6%q4KLZi3ScVv9KLfF`g}#bRrR) zSO@t);kW`wZ)gQPw1YTrE|SS^m1hcx{PMzV38zAUp-dp^V&V_=oAk#E`teRE k_cc4DOB0G9=dLn2B}aiAvzCBY#S{O60oTt148r^Vo6-LJ0e9_?l_ z&!^A#lBx_MceNJEs%w^X<3r^Gety620Yq;YMP?T?A)Y}R5x@MraG5fXv}QxE(3m~M zGL2X+&na0H|25GHK27DGY$L((2j
PzWj5RcQ*nc9%S?2VJ2K;3ov@pgoc`i?mBtVaX*w%asi4nAU)L ziV@r*&{Pe7B#C{p)Wyjn 0nN_SO-}X44IjI0%B *valux; z^CwTi01JKOsgviu>7z{?#gR-T?0_8%rs{q_f(mA1L4Pn|$ACWmD57P7gHGTG&zXS# zngW9T#}*>?S`2RY&Ac-UcyKMj7PTkZ!v>faeWt*1k0lukB|xO@$pBbh1gfTXCDVMSh)Bdp|Cskg zI0zPY6=;QGyQ!CCZvd$e`;Dw)!RM%}^ k7Y`@Y zxMj~Sx8EJKE}v+=#2aSjLGmKvgqK0BTIJP6cr*V;gRCcj`nW%s)tdtWm$9MDEqS&U zdf#i3&Yy%DH{1_iBp~`j$~R?jBh<6H*1AoX$L6d;FN=s2KoF!6+pGvH&6IR4J6||0 zK{_#I>B&NegnC+5SLYz-p mm% Q7*WE zkmb}BVCcbtYLN#O5F4-p75DgF;sMEEp*V1l@=P7Am*i-s6IB1kO7o#bqYYXN&6ngb zsS{M%#!5>^MCr6mj`Hcg*5WW2MuPVdU#cF_9O^UlwffPgXyjMDtzfI}HT}iZgbW9r zH0+}TP_WlyUV7-4c#HwAgkK)O#eyIkKe#M%9Q5qd(=o*3Q)Jr#$4|ear)Z&QYjHwe z=Gf~QtfwwU(Gy4O=hDFg2V>uU)?V^jOC9*i#Q0Ta|Itg}9$KhB1>B}asdnQZ!mpc| zPl*qK rwUx5=0v_)JzVO+IeTaZ()((uR{>l`#M<$@ctLtG=tR8f_NdEiw> z;Dig%Nm5W2Ap6-Iaiy3w$BSmyKBh0G?QJUvvZuBA)`}altSVb7Z6ZA|U*?5P{r~oM zJieICR`sNhskLb`cylz0IOm7BB$m%0x@J$8)Yt9#EiMoI+Sa`O_!a(uUj-%}z9O^C z4vA%8W_i1>%M849mLJ4kob%D>A+GiF&x%HYv)XP)oYk q7*WlNJR=|;UY;Jvks^HnE}P%N#jM+7IQReiLAm3Seof-_ z62hedJf=pI?-`r-fco_0UZ?TCr++4xe|EneR{ZJ&?RY*S#biNf?vwo{A*WHFZT}2J62%zNHH~awB-PyL~=L;~R{?U>J3;%MT^> zjxqfkE)IqB(4g5ySqvUcepHkn!HD!P1f7#}wD|fNC85E3noVCZnAKa+9CnX4^Kf9? z;YLpdXn-BIkm*js*GFD~lm8oZ&KuzW T!0uAQaO-#_#bMTtJ3uj%u3-Dlv z*$epJ*T9y7Eq{7YVCn1_5St!f>N*V94AOEn?Cu8*OmL$6jr+l>-|gzIbiGf>^&-35 zckhq$2h#g9#GMhqQnQ7tfFs6XFC@27{ZpZx&mQqyb@*1D5ih}eVE?6F-{{EXkP0wM zW9^Z4#!NF>05~r!Lu8*t8{z(>9%J;RbKsNZqLK2O5+{SIPKq3-Ve=Bv<5*Eu$tU*6 zI36OiSTZc+j^sf-0ZWivQtll;AXk~(%lqaIKMv?@YfPVggC4IpV8ah{#$E-NVEKf? zcqGLzp?0dKYAj9T?_3<`dcN+-{ib{lpXE0Y?~>>+qgw!+AIqh6SUm5;iMqaJo|xqg zZYRh;lEFn52dhP%3pf0M=K^C3hJc)x=D>6gwMO`Jz3FX^7KVhS5YGkEsI3{ddY)ER z)`Gvb__etWoNjuizP5^(C53soNBjMVl+?(tAKR!PtYW0HaqMue0UHBNy@~lkHeX*| zt!Fd0h_6N%<_g#=vgHNXx&X~f3uVM4MOGw?d6j(39RknbFvi|>Gs-F@oQ%y+@sm*p zht0r}8VDfd<&1+pMPk iW|ed#c~_%JduCrXl9O=Z!s(xcroLkR~wx%dXXf ztuljMIyk{(SuE<*dm5kXIyjLH!-|X;t1-I;LV-hwbgM2R#{uebjHgTfenR!ik*6JY3ijFlYN@^9A-j#IrT5AHp2W`5JQ4 zz{h-_6S|mp)h6IasaU~+Uo;L1W(v0LJvsZFGph9nP(W*KtFWP hM_-43 zJQvSpBTH~|0t~5hoU^Q@NH!NA{pRyVJeM!!W^#*iFXeM_#P`qf-td YrO_cZ$)M@Dh6Q*b!ynWzYGZ>9 zbKn_D){gFF(3wh*DJ-GO5|wjQ1sw;gy1n}PP2lHuJoxHj@^qGZx5jjRl}#Gr$b#SE z*m6N;%Eat(=hal+%EW7UUGrhPSO#}|Mfjs%FFT|)ehNQ}=?)~suFd@MO{fL1o{;$k zO43CkSKMT5x1c!15(9+`27Vp|GYzi=s4dBffx#g5pN01OSO;g0?4Dk&GLp O8Pg} *s1@A;lC`-E@0ZTuQ)Vs&P0iMMlD*Pn+I0dR`13`*Jfw7ceI zSbG4?O+T4_u@%9+!c~%=QPhUR>k+e@cBFBTMwtb8BiI0IfRzZNPv;~T|LINwixUUZ z;E_}*9pVA3$u9fTMV#Y&6)k?g`_qodPjo;Ey}PQi*;E&bgH$$awjHUJ$=|vRBhk2! z1W_Cyx#!*C15-6giBIg)9Msj(?VD;4D$t{)fgJLMpZF@yDgPY!hfTz_c_B{N``4fn z0F^eB8FLz7SQJJWyf7yU{y;4G$LT{5>&Hwpmn8^O*?u6E==u 1}8 zo7V1_l5Ct?^cAK`bJuQM<`?h#$WGaj$TSk7AiHl+n3@pYwQj}T%I2t`R(%`EVqX LbVhg$ zl5}yz;YmVK5t9r|g0M&M#xMckxjuk+fqd0vNx)7+cX75B(7Y=~a#cGfb&(^=@wq6( zefW2oWiuAbm~ZH(2>!!e^Mdvt+%;CvUCs+>GhDLiGt?zFC#{vnV0N?RP~jejZz)=a zw&`xvPb&VO6|RI?pv(9}59;DpfPgD0hG0Pl#E%8%-J}$}EkHKI7sFj?5Bxgif6-%5 z65 Lz_>M#(o4~o!@i@+SMl#{fYiWNNn(On>;`y>% z2 AunP=%RP_J!Hh45&8nUFGxR ze^8I;vGHc25Y*E>Dxh%@^|b!ME+0Bnus$>ckLz$OK2wM%OS8%3todg~&HU!Ql#Cbd zU|sxoQQv48)#JDeo_xo*N^iofEUh@EM@H{h5ko{)q$rz&i^p(W4+ks fx>X! zY6pd?>jPhEc-;&rP=-pas)6!je!aE#qC&LEF2Ze!y_FC~+{u6XJ?uS@VZ# $d<+8nt*@{`d3tVA_ z9#gJayH*!t+65 zZea&n-c!D_z}MTwSMjO(CTNTvK3RwMDsrdXPuzy>=`nV?udKAMIl6CGKQ!&2Fzsow z UM2QEFnS4WLS7yC{uppoP}-w{#)KmBOt_JJSD*?{ z_iT^L$kT;YZyNafdxubWxfic~=${Q@2fBnjGhjQ|{o{Lv-@%?9`@!&ezKek2c##lo zj(DT%6BbF7Nn}MAqHSVr>^`709E8=lZsXYC%_dVpPH>3YLWyiaK_ORIm_(3pYoO%a zu3|zN_U=%a0b`uV{Q4A?lDVoL+}>_&Z(rHoRu7UK;l*t%_~KNmiPDa~c_OrQ898Pq zoI)6yDcU8psw#8}mrJNjo6k*Hh!%4Cx<1}o 9JLx;c1 zpi{2@tVmC2FyR4ujz2sPVR_T+AWMq`j2zke17-`0H+e3ffe~Dv%g_eUG-!zTLOG3S z@YymQtv6|Xov_sA4v#Ih>-i~5?OHvPRXyFuCBBbp-WJ0awZ0+leVjQJdmBHAFE0(h z^>l50@wm%(4#0Po$ScD_EWD+5FK`W~=sIGy04#ccx!@RKBY1*vMMSY)%UWB#rghEg zn$=R}h4t1t_FVM<7&F?zf*)MtUw~Qk7lP=NIus7GG+zscS(>k%*WJbSk2JgTN2o%N zZRLsIv+l%R$7lQAhIUeWYl2yW8F6hQZ~!+J32Zhw-T}ucwhQc5-Xs&scc7!d`H)OO z56n=B#zmFxtIQVrM-j_;$F+rkx#^5-8qMR)->cc#d~9|$me1OYDH}(67Z8ObkgYZx ze;7)HU?`JmG&0#>5K4ux-)U5{!LXGtVDpZhQa3#(6-#EfLis` 4dWRXdxJzkI$tOb1=B4lC1r<3;CFxJ#{K;$MP3qnS9 ={d?Fo@e8{?9Oij)Dci{J3Hg6S*FL6SZd}z{7A#eF1BD z!8{q*6Vd1i_`zN>T<+&)>h+bIj-}PeR4PVPg`H+2XPJ~{Nm)s1oa=F7@#K2SKH-~Q z_`eTcxMXD!gG8Ev#yr_rK8(OU9yJ1w#S`7b1*%;0?#JhUuj>eHhxdCwaUx@r3)_ zfDkM+^6mr{ot~26p4YD<(Isbb5h
ieY1|-BuBYr%v!saZeb7Aoao>mjMMh6gexd~@ zJF#UyKK7q~2zRG(e-G39-(?7|l2bmIo_^&2C!=^EZ~ZSYlm|27|1x8GF!vrF&Ce>d z+^1l<{sEkn@>=?9A4pkENVN&tIYA*Oo?IPO#j$sy`rJ%|c4J1$;WPUTouOsV1Qopu z-mQCy1dmL+c4E_tm~HbJcddJ7=p}i~VU^0gzQeepBR-`Io_3N?dAsl6c_o$;tWd(S zJi}|-({QHWJ2)?hAi`bcnOfrp934Pxe^=-IM=P1>FK1?sR^I>24A@wfo0j2>Y)5`y z=8(i-F>~m}INkGYzMp(%=MWeZ<54~0QH0+VOz_CYT-Uh1wVOp?iLf* J)kXgoAZ>_2e)xHeNfF4dcF7)Hp$ zfLvykUCAhM&4h9rlK!ZmnYp4yWwq6ntu ?V)L$_vLMk>d+x2B=Ctc<)P&74p_t2Kc!& zDk_B$NapZ~6YGI#>WC2;f!`!R z@96>8ny z_`=-k$|35Nz&lROs|TLJIko@npwx#MWhM?LjZ7N^|1p>~33(2~RV+r?(F7PJ-liuF z2F4vp`8|*d^`M$BKAlzQ6CM=zBqLoSfWDY&<(F5!^6uq$9iq*A@IYvbLrO<0r=H;@ zXdiEE#;Ov7h0HwhIoLZIFN|i=<*OWxrxvhUn2;0k{&%s>{98^mio-FQFK<#qzwbz; zvP<*jRBx9seo9hy$ulp;^V2h1E}M16+ E|lnF+Z+^LcsPG!OMmjdMMU0Z*={?Dn`>ePWXSd2yWVj{DUc z_pm?CecUSC%O2p;#hNb*zf~x?cjSN%8vA%c#myZoP*Os|=9MZ*j4szS(Q*PO8qid_ ziqU3>>d|yE9=UiojQ*)tv~dcT^MkceIvuM0po7D++OJ^#eY1gREP4GR^Q#|IUx>t$ z>5o;XOL^a3yq?FT&fdqj?}kmnCpI$iX^O&2`Pq ;j}@U@w>zKC6g^WmEoc;wdmj_7af#AcJ^<7RYlwFsER$; zSw7UQqE39HYVO@b%g%F42oskqea19MI4OQhU2v;Io#rd>2Gc&SKJZF&h_Y~loU!ai zk-}6K#%Qw!$<38Y8clKZfaBxXLyAgmH?StT9eKc0&Iv>Zk2nAY#%1H}cxM!e2loFi zA_|FrheYM+qdx<5h%lSWhmua_jTt8y%1iXxFDE~WIMQznT15l7ubMuBV9WbsR}mdx zXXx`l=iXYXn}HfMn(3x$_u> zoYKHaAZ}os`{}mITXFp3mOHprAk4akT?r23!nkYv0O@#E+A6LyuLb0hSVhQW3`OHt zWbVTqv+?#bIesCGdcS{NsrB#2*|;`8l>3aX6>|;j`aO|s6<@uCydK1c%$-vCTsjc{ z0e JlQaOvJ*Jb&X(0 zL1Sp}8DriE3ENtAJ5krTn72BTfKh$pBJ~{uWOF~C;fWfRd7h?*1Chh0mQS5pJ}qH8 z5lgyU;mI0^3q@pghef^1yld|6DQ8bHUa9?tVH?MO+_lV;nAw0^jwp5H79QHh1}xu& z13+BqdE33izu$EcGxsNaJv~xSHIhA`ylaEo#rPb;2~Do2jf?Tz;b0K|Sf@z43MVpW zb|-kejo|}?o9Y+lK)1Na)G$RqR~Ru_nbi9O%;u_O)s~0 E`(F7Kkxm%D_2=(0h=0N)A8{%HtPFitAU c%{}?3-c4wR`H2mpWr+3T6V!XIWZ!yb&($ja?-EVCra+zo=k zAh`Ka+`GY`kK-u1W5~ZLdZSCtefoZ5^i2jdD0#*3uia6?!+d&JQkMg9>+0>ocMVfy zmsN3j(D}GlN7*9J?U-t{t^@j0y>1Cp&*ZN6WzideLcv!o2hYYXJjGrmCx4H*H@)o_ ztQ$=55Jkw2fI$U{3sVPcyY@O6bAH;pd*58yl;wKUNikN7onCZXnW|ubW_EQad3#OV z?+;ZGAwAyFDJ<8W-yc6`X-{$foT{NeSs0PtCNkbPRkwVFLGe7rb|!yTJ&*9DI{DPy z=LY=j!(Vv?u;nQSLRYz73J7^2vejgl7xa$ASCEmdj;;4K>#zfoT_9O$PkGyE$v*R~ zZ1z;9+1O0NWtJ+I-rr(Fd-_|%40WgpCmi)cwOE5!D#AOB64O@DK3^>*e=#0kJ5pW< z#*z{SV)$2y#K*1>>yBO%j^z9&8jWalE?28H$Ej)OI;?$uk+r*^n=Qx 5Vu59)CtN8Uh0~JI#Z9_l**w?*sLxeXXpIXL;zVnM+df#TNP;Hp!P8zN z`e@vZsZc1IA6|z0M<~T+10#_g-}L)SbE&x!V;&Ue(sL!hf0JSOtE6V1`EHg2yo`f; z6Nq-5NYG}}N5(_B^m%15l6X9x3i#8OI-kxxgooW;?>pZG(Fbm6`HHxu<4ZmZ80Knh zo?e7W=v%Y|)i&a6qv_+M;Y7cx;F1P+G>rxK-{(vrc&{q1 d>gr|6n7i#TDpdjh}FS?-;no-_ZX-P{ux)Qp{8A|r GDb zzc) !94y1z-S%ZV| yWiTGq}K x=n+a+$JGtfH7+{ZC*qW;t~hR-wm(s?&_?A@Qnz+P)g&< zDhq<9j{6)k2aMPdN@}(@?NdfI%Cm7Oh?k48kVHQ`cX-`WmC9xy6b#-}#9l>(16Y<2 zmf3Oqg?J2ta(%8a{GUi5F}+FZ2KvsQI)%N8`iWaY{~|HbDO`uUqa>^N!fZ8#9jQx) z3;Dcb&P-Z8cI-$XF#MbJ?A)v$|E*#)vf02~Hk)3~<)Mm_kKo$vj;ih<)zuGp>kURv z@N1$uRqqp#QFlRWcH|6UX!i6rd&r)W()u_KqpO+2bdx_BH;f$=2zw5GRoQel6No@Q z$=sFCIME|Va27-Uu1v95j`-8r^erp(#kqxCp8In0xrMpK`pPYz_O?oW7@L>!8_9Gg z+le}v{Ps4h>0~qM V)zk z(U_+VPWeZ8X8Y+ty$seA_{x2XI7(FTR%AM!9%|lEP{v6}2I%X41p+7~9sN=GGwa00 zbGuN&^ $PHYQ)EwW zl14M5s_ZWmYQJ176#QkLNH`p<*#BskDwSHTQYooHG@2Z~x|)YqaxPz0KZ#?oK62Mx z2rZvVAx=5I>7V%K)&XD5dcKOK7OE*=75>;bwr&5GY^MJ)ov6xxiBDT;oEZ^!GGH7) z-$anwr*Xso@E3o9 I=;hh@dC>06{CswX+LLs8hH`x5iLa}_RlfmF{8mt@kNbYt z_icAYA}*s*4Y8FW2)7X4g5dcv0pV5~WVXTeRn(BhoG|2a)RWdyq6Rr26fA9{3C)gX z+tEp_*E!ZfhgqM@nk|t!c|dK@oK=pmFY2!g(z(jcPC c zm8f0MS1yTEpE4E(=_-0v{8}Ou@&^&qt2U4I2h2$*6AAFBNE|j2f{??kY@yGeeq vQLd;6W%hll%fjEMLc{As0d*4)_mJi?@7DRh@KVVu>Est6;{I`yS z;9E*XpJn?kctqn2x%pf?oT*t{!Qd&4hmkWl?10ZyDm|BvhqLOzt7^lUy?r!I(16GW z)6wB$lX(XK2hs&%*L#2y5AD;2^QE*C#DNWGA_@(URn}{>vrZV%Y% { Jzb{}< z{X5_z^vjGEf<5t5Cynoo`e0K($6$(iJy$VvZO#bH!H&3uiTITkew6uqPND?P!CQd9 z+ozKD-r!{znW?}N`)G>j7^T6B>%~zDxmElK7c3rnZBAswq1fwi8lt}2> *=yD^M+% 9b@ORjEPXPINE^sjAi^QeGF7<9jtZ8nb?&g2-PcU%5c!NLpB zWx4yK&Ar!L+$@^M)32*yskzuRJuvslg>M2ruKrx)pchH3a>Lb?gE)ayM4QtAnFk0? z7laT%g+keK^{yCHkUz=^7UE~~1Xm&Q)L(H8JfpH$@i+O8RjlFACQJ`^%}w4Opm0zH z11$F2!0qTSNA6rKk&4d4w hBr_FrZxHE3YQgt4x39%u%Rc<`HT77n-yoJgmJngKWirMiyH@d?vS4LBd zp&tX`!PAJRbT>UwB%sYi9Fz*C4dO)of5g2Blw? b{DUXhpaY|-iiO1%*=g0F _i307BiDs~f$)H~= 9zE5c!g$G*v1typl<0}`Z_e1mj)`4 z>PUn8=ko{Z`(CLKo?GAdbgy|%{omU;24fKPS Zvcnldb6EemUZc%z{@Ig8}U6 zh=^MxBC1NbCJ}@YDuY+niKiUJoookcOCXO?km2zVL|%R2MB>;D4<1`ujGs6WUtBu& z;0?zTy} w^Eo>qg1r{4}~IA87nM{DMx?enL}u zc1b7@Gr7<*PPo-NlFpfUA**mwUMu>q)4E#iL{FW3 lbjTI**M)Q$GakL1lD-id4YZk)5`k^R+6->M) z%%f`9skL=~_4w&y@0H*mEIzG{jmM(7-Y*_RQn~VYtu|f^1d@qDE`s !YlxzFMq pv*iX19%JvpzyGQLlkm=>rp2nE2}prlYb4%#dz;o#E6rv`<8A o)u;doly zDzHB9=K8h=fi+~V%IO$sfh-PVUC(T&;V*J=nrQCg)1s>kJOfuFQ=? z4^1DppK}lQ^i;j>Zth74udBaTB7m-}cL;O(DEeH~DhWo`ux4ubE1@;8N_CV|2 a&=>LVto7$%?8%~ z>gj_AE$iUH(+jJI4n`t-ZeJO_4q>AJUoz+_fXXISw$Gb2Y)9-ETHoBEv5kdRYgx5} zjyBJcy*tOozQ0)9$%G>%NaWt_F#I|J9~7KAG}bacr5}59Ceuw}lcS4TaI@u})We3S zqaDW#sMk-SrE@^7m>Z^}6x}>!NOCFQV1$cVR({Uf^(G4`3o*RT7u8xme=!@1P)Fyc zu9%)cGI5nDMMBw&v)7+N B*J^rX5!_Tt1PqwXRyQbJDe{}g|HD^QRFh~+(I`}zer8kLzf-Q zFm5~3$;a&p#gvzdWiHU`o!8=Xc}Z0UG3 x(rtWKeO+gduSQlbl+b-8T{h0%2~Gl;65fz#@@2I=l2+*E7o+IFRG^`T#>= z=g+KT;u}V{0e2oOl&SIo9=5$wfKcqPM+1nNSQtWR(Kd3trqEgvEMLnCE r!dl3?TbzS`XvBc!W>}YPbeHquU7D3CUOXS1v16`tz zAngpba7|sWO^38i9@q+qYK%b!L`P%?{8k;ZFCvB}6OR=I*0ipgg+i_OUG67(I{P=t zB!j5TivyMszAM1j%|ST7Gaf%Cp=^-)5eXo-56sSuaO1J#_WJV-3*)Ioii7OTQY?0Z z1m{7XN@T0V{A=A3=b!z*3wdvz(+B`d5BOF%wn-3PF-jl;*!{h(VYoQh`ax#wnup>1 z;CSxNnf1fM%bu^1AOJYvK)KF1ul<0-QAQlkczl=4iO+pp&LiL`!h{Z2?2$JLzB=T1 z9lKsO0HKS@*0Qpp5-w-gR&~HrT9Z(3Jg`(qIk<%MG7=U=b0}QyUwyyoeF Si(*^mBu6yZEjNcz?O?-@&WZwz~tb z0tzTL2%?A~kpuT4e<_qVG?B#7Jf?+A&75Gzn0YAb%)YUKTz<|&sH*|??U3+9;Dt>3 zuJt-M-O>s!N!L#Z@5#+nmqyFj_6l+%zq0S_)(w`Lojp~6zYCaLb>&28wWWN9o-?DP zvqjjQBG!B`keI3+Tl` YA7~3BC|~PbFIUd~5CcDWGapVU`myb_Q{4bMt|l*Vl8Q z-IJyn_GVNCqUF-m?C7Y9uvM@s4yDw5K9+e4*d~(#3|ZICXJTg(i8H<5drth2taEU> zU3hLTAO@_Cn&{X!i5#*Ho(B^TRjY~pi>X2|w_WY=D}+5wn|P`aHFw1v#}r!nZreVY zeNX$Rd9=4