From e35e4f6ae3a33ad1b401324d8fcc6d60089946c0 Mon Sep 17 00:00:00 2001 From: Antora via GitHub Actions Date: Fri, 1 Sep 2023 10:42:59 +0000 Subject: [PATCH] Update documentation rev 45bad18, 2023-09-01 10:42 --- 404.html | 3 + appcat/4.22/examples/vscode.html | 4 + .../4.22/explanations/apiserver/boostrap.html | 4 + .../explanations/comp-functions/debug.html | 4 + .../comp-functions/redis-pvc-resize.html | 4 + .../explanations/comp-functions/runtime.html | 4 + .../comp-functions/vshn-postgres.html | 4 + .../comp-functions/vshn-redis.html | 4 + appcat/4.22/explanations/dev-notes.html | 4 + appcat/4.22/explanations/slareports.html | 4 + appcat/4.22/explanations/webhooks.html | 4 + appcat/4.22/index.html | 4 + .../references/apiserver/env-variables.html | 4 + appcat/4.23/_images/quotas.excalidraw.png | Bin 0 -> 91288 bytes appcat/4.23/examples/vscode.html | 412 ++++++++++++++++++ .../4.23/explanations/apiserver/boostrap.html | 335 ++++++++++++++ .../explanations/comp-functions/debug.html | 307 +++++++++++++ .../comp-functions/redis-pvc-resize.html | 324 ++++++++++++++ .../explanations/comp-functions/runtime.html | 348 +++++++++++++++ .../comp-functions/vshn-postgres.html | 361 +++++++++++++++ .../comp-functions/vshn-redis.html | 322 ++++++++++++++ appcat/4.23/explanations/dev-notes.html | 408 +++++++++++++++++ appcat/4.23/explanations/slareports.html | 320 ++++++++++++++ appcat/4.23/explanations/webhooks.html | 347 +++++++++++++++ appcat/4.23/index.html | 329 ++++++++++++++ .../references/apiserver/env-variables.html | 307 +++++++++++++ appcat/examples/vscode.html | 6 +- appcat/explanations/apiserver/boostrap.html | 6 +- appcat/explanations/comp-functions/debug.html | 6 +- .../comp-functions/redis-pvc-resize.html | 6 +- .../explanations/comp-functions/runtime.html | 6 +- .../comp-functions/vshn-postgres.html | 6 +- .../comp-functions/vshn-redis.html | 6 +- appcat/explanations/dev-notes.html | 6 +- appcat/explanations/slareports.html | 6 +- appcat/explanations/webhooks.html | 6 +- appcat/index.html | 6 +- .../references/apiserver/env-variables.html | 6 +- .../4.0/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.0/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.1/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.1/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.10/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../4.10/explanations/slareports.html | 3 + go-bootstrap/4.10/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.11/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.11/explanations/dev-notes.html | 3 + .../4.11/explanations/slareports.html | 3 + go-bootstrap/4.11/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.12/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.12/explanations/dev-notes.html | 3 + .../4.12/explanations/slareports.html | 3 + go-bootstrap/4.12/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.13/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.13/explanations/dev-notes.html | 3 + .../4.13/explanations/slareports.html | 3 + go-bootstrap/4.13/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.14/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.14/explanations/dev-notes.html | 3 + .../4.14/explanations/slareports.html | 3 + go-bootstrap/4.14/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.15/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.15/explanations/dev-notes.html | 3 + .../4.15/explanations/slareports.html | 3 + go-bootstrap/4.15/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.16/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.16/explanations/dev-notes.html | 3 + .../4.16/explanations/slareports.html | 3 + go-bootstrap/4.16/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.17/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.17/explanations/dev-notes.html | 3 + .../4.17/explanations/slareports.html | 3 + go-bootstrap/4.17/index.html | 3 + .../references/apiserver/env-variables.html | 3 + go-bootstrap/4.18/examples/vscode.html | 3 + .../4.18/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../comp-functions/redis-pvc-resize.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../comp-functions/vshn-redis.html | 3 + go-bootstrap/4.18/explanations/dev-notes.html | 3 + .../4.18/explanations/slareports.html | 3 + go-bootstrap/4.18/index.html | 3 + .../references/apiserver/env-variables.html | 3 + go-bootstrap/4.19/examples/vscode.html | 3 + .../4.19/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../comp-functions/redis-pvc-resize.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../comp-functions/vshn-redis.html | 3 + go-bootstrap/4.19/explanations/dev-notes.html | 3 + .../4.19/explanations/slareports.html | 3 + go-bootstrap/4.19/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.2/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.2/index.html | 3 + .../references/apiserver/env-variables.html | 3 + go-bootstrap/4.20/examples/vscode.html | 3 + .../4.20/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../comp-functions/redis-pvc-resize.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../comp-functions/vshn-redis.html | 3 + go-bootstrap/4.20/explanations/dev-notes.html | 3 + .../4.20/explanations/slareports.html | 3 + go-bootstrap/4.20/index.html | 3 + .../references/apiserver/env-variables.html | 3 + go-bootstrap/4.21/examples/vscode.html | 3 + .../4.21/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../comp-functions/redis-pvc-resize.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../comp-functions/vshn-redis.html | 3 + go-bootstrap/4.21/explanations/dev-notes.html | 3 + .../4.21/explanations/slareports.html | 3 + go-bootstrap/4.21/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.3/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.3/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.4/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.4/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.5/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.5/explanations/slareports.html | 3 + go-bootstrap/4.5/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.6/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.6/explanations/slareports.html | 3 + go-bootstrap/4.6/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.7/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.7/explanations/slareports.html | 3 + go-bootstrap/4.7/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.8/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.8/explanations/slareports.html | 3 + go-bootstrap/4.8/index.html | 3 + .../references/apiserver/env-variables.html | 3 + .../4.9/explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + go-bootstrap/4.9/explanations/slareports.html | 3 + go-bootstrap/4.9/index.html | 3 + .../references/apiserver/env-variables.html | 3 + go-bootstrap/examples/vscode.html | 3 + .../explanations/apiserver/boostrap.html | 3 + .../explanations/comp-functions/debug.html | 3 + .../comp-functions/redis-pvc-resize.html | 3 + .../explanations/comp-functions/runtime.html | 3 + .../comp-functions/vshn-postgres.html | 3 + .../comp-functions/vshn-redis.html | 3 + go-bootstrap/explanations/dev-notes.html | 3 + go-bootstrap/explanations/slareports.html | 3 + go-bootstrap/index.html | 3 + .../references/apiserver/env-variables.html | 3 + sitemap-appcat.xml | 96 +++- sitemap-go-bootstrap.xml | 340 +++++++-------- 210 files changed, 4983 insertions(+), 206 deletions(-) create mode 100644 appcat/4.23/_images/quotas.excalidraw.png create mode 100644 appcat/4.23/examples/vscode.html create mode 100644 appcat/4.23/explanations/apiserver/boostrap.html create mode 100644 appcat/4.23/explanations/comp-functions/debug.html create mode 100644 appcat/4.23/explanations/comp-functions/redis-pvc-resize.html create mode 100644 appcat/4.23/explanations/comp-functions/runtime.html create mode 100644 appcat/4.23/explanations/comp-functions/vshn-postgres.html create mode 100644 appcat/4.23/explanations/comp-functions/vshn-redis.html create mode 100644 appcat/4.23/explanations/dev-notes.html create mode 100644 appcat/4.23/explanations/slareports.html create mode 100644 appcat/4.23/explanations/webhooks.html create mode 100644 appcat/4.23/index.html create mode 100644 appcat/4.23/references/apiserver/env-variables.html diff --git a/404.html b/404.html index 50910b68c..ddace2b57 100644 --- a/404.html +++ b/404.html @@ -83,6 +83,9 @@
  • master
  • +
  • + 4.23 +
  • 4.22
  • diff --git a/appcat/4.22/examples/vscode.html b/appcat/4.22/examples/vscode.html index 55a71a189..ff0f21bd5 100644 --- a/appcat/4.22/examples/vscode.html +++ b/appcat/4.22/examples/vscode.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/apiserver/boostrap.html b/appcat/4.22/explanations/apiserver/boostrap.html index 0da929cd2..75de24997 100644 --- a/appcat/4.22/explanations/apiserver/boostrap.html +++ b/appcat/4.22/explanations/apiserver/boostrap.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/comp-functions/debug.html b/appcat/4.22/explanations/comp-functions/debug.html index be8fcd38e..e18d0fa61 100644 --- a/appcat/4.22/explanations/comp-functions/debug.html +++ b/appcat/4.22/explanations/comp-functions/debug.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/comp-functions/redis-pvc-resize.html b/appcat/4.22/explanations/comp-functions/redis-pvc-resize.html index a33770fda..3f7746608 100644 --- a/appcat/4.22/explanations/comp-functions/redis-pvc-resize.html +++ b/appcat/4.22/explanations/comp-functions/redis-pvc-resize.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/comp-functions/runtime.html b/appcat/4.22/explanations/comp-functions/runtime.html index 59950a9ff..7f49b5cf2 100644 --- a/appcat/4.22/explanations/comp-functions/runtime.html +++ b/appcat/4.22/explanations/comp-functions/runtime.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/comp-functions/vshn-postgres.html b/appcat/4.22/explanations/comp-functions/vshn-postgres.html index edb4de225..a1914cced 100644 --- a/appcat/4.22/explanations/comp-functions/vshn-postgres.html +++ b/appcat/4.22/explanations/comp-functions/vshn-postgres.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/comp-functions/vshn-redis.html b/appcat/4.22/explanations/comp-functions/vshn-redis.html index 78c96ab6b..74807a41c 100644 --- a/appcat/4.22/explanations/comp-functions/vshn-redis.html +++ b/appcat/4.22/explanations/comp-functions/vshn-redis.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -253,6 +256,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/dev-notes.html b/appcat/4.22/explanations/dev-notes.html index cade202d9..83d2d22f2 100644 --- a/appcat/4.22/explanations/dev-notes.html +++ b/appcat/4.22/explanations/dev-notes.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/slareports.html b/appcat/4.22/explanations/slareports.html index fe9966312..10c8b0a41 100644 --- a/appcat/4.22/explanations/slareports.html +++ b/appcat/4.22/explanations/slareports.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/explanations/webhooks.html b/appcat/4.22/explanations/webhooks.html index 181517d30..1b6c9aa1c 100644 --- a/appcat/4.22/explanations/webhooks.html +++ b/appcat/4.22/explanations/webhooks.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/index.html b/appcat/4.22/index.html index 0bbeb21ee..554ea1bba 100644 --- a/appcat/4.22/index.html +++ b/appcat/4.22/index.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -253,6 +256,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.22/references/apiserver/env-variables.html b/appcat/4.22/references/apiserver/env-variables.html index 0f5145fd1..fda097ec6 100644 --- a/appcat/4.22/references/apiserver/env-variables.html +++ b/appcat/4.22/references/apiserver/env-variables.html @@ -155,6 +155,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -254,6 +257,7 @@

    Application Catalog

    master + 4.23 4.22
    diff --git a/appcat/4.23/_images/quotas.excalidraw.png b/appcat/4.23/_images/quotas.excalidraw.png new file mode 100644 index 0000000000000000000000000000000000000000..b819539af6209fbdd3ecf4ffb1561df9da874472 GIT binary patch literal 91288 zcmdpe_dnPD_rH~>lxQI%71=T~du4A$$gb?I>`h8TAzKpJTiMyFOUmBaDw~kKeb3{C z>)rcydw>3c?+=&j;(EQF&&N2AbMEJU?&tCJx{@@>A<9EII5;G-G7>5{IQUWU&jBJr z_{;V@7Y+Oi*G@%R3@5ws>;w)D9geKTwVTd*)BOiRHU6Pp`NKhk_kjMKirgiVLziSy zTA8S~&CC)@uZf9;o=8kAr6QKSC?Q5boJ4Sf^Z?VNG50Z-8PU4jx=xOn*@2bUpKu+$ zoM!4RvS~zx>`d+oyDpBuyiSV2!6o?X$DB9jh*0cj2-xFrQ z)GnU6c=DV#4jvKRzdzuUg#RCWvXOLkeJW?9_T~BcrmH(LlkI6qGB4?a`K+`|>;v@n zrt95xfGA3jag-3|@4a;(Tjv9PmR3P92^F7A=B@V^Zp2Fj3%lHZdYa?S*(kb#qtB5sAm&yUfH zhQj!DCcAQICrM6o=&_c&E(M>~cfWD>^OJLr4xbJ`eqPGC=w5rk-X`L*U}}$if1B_F zo{DKd@QT-hK{Z7wEZ3;+8~pdjtnrov>DDqAyF7dKh-Txj!IH@eQDid??)!$+$B3!5 zAB=1>ARx8;&%S3WJq!LfZ^Jg;+|_Gr!^}*%gZ)qN{@ed-n4geG2Vwsx$xa_%tY~s zinZg^GSqWze~9HJWLOs(6y2Zxe)(%Of6nJ;C*}EU23TF@hu>?Hn;qMmsPiqD=$-57 z;_zzsi*aN6aPCzmJF{4R)x22fusZKSYh?hZ?1F6Y1qRcK?e(db*}jMOTq2z<0a26> zw|f2wWMyQjY8m0veIHbr)zS?I{>gW1A$hu}@hz0e=#w8wFy|eyQvRsrJ^zY10lwzO z!(UvmKUK7NE3<#JURa9|ngA~*t7sC6Fh zt@Sb-uO6@Grn|?>da#16BV8>dK|1hNTpG8pkGg&L^gy}WNQ~3KSwZ+pw3rtsMRC*=)OK zMMS#ZL0?0BU>Z7#*P-x0`#vogV??=LZ2DdBOhc}@|`ZPMs{ zHT@AI)$YfOkYf>?UxZ&RFJ1>X+g;|8S0BYKZQhk_l~K4>a=E0XWpiyI>CPv=`LB$z ztLw{s$9BI;5YL3Eea=7^f%duOWV3-B?7KnullywZJ00!Z*CN=o8FWh>9X4yETRc3A z(STrlrNpFMzxn9%58@K&T#WnTG=7F|)*W+b#urIfNqUy4U8H2(^oEVsynPPy;wCayv>gMd z=nP%8BiD~(aD1*4z*)NhVT(-UeDK`jqO^pG8?Wh6TG2k%*rdI^^Dc)2x=cf>1$J=s z1O%8z3U7opjT>Jx(Ynw1;Jb~lu}@g%Ne7(0EYvtD5PxFtguKfEKU-lSUI)k82aj6N zKIpPRO)W&|bF`kTZ{cg@>=VzE{p!P5G~^x~I$7p)-dt*T!+cC(K@$G?@(&8tpAXnS z&8+ZBqv|&Oo+zP*8Ek0}0+SO<(<^r!W*IuP_qMqbc-z$HKJ*0AiH?kjBUF3}$omA0 z#!2YLsb^{Bnzqm*SGqatwd3z9sq=JiIrPA)T_1(Xq2<`&XfAcKL1usC?3L?_O`+q5 zc`Uy-m$eB(_%rLyHCkjzB;0>vB)rie^d|B`!c5IYHu@Aira^0xRg2T)t?6nkQQ-02 z!9H4(P-|PW}q-qWw&trquH@$9-5p{DfmGzq=CKu{h^Kq;X-Wb3qu` zNka(UT%McG#+)LCl-=f(Jf^oBTP(Y>V~(8Rq|1$1aM@o#Z&*P5Cs?}-<dvTN0kQ^-0ZYy0aBN0x+{f%X-?sB)HvV}$=+%`wbXIKNr#39e?Fl@?? zN3^OqR5a)r0?&_J**?XtGhXC4{$hz$sb97LmMj+@$k`ju?b=&t6*AG5A`h{8tH)S> zP{%_(M~{t3H8~XU(fWV9T^Fp0F8{Fo88rB~Jin3;_5b*vPS94%&*@shtjzRVh=tDB zQmMBr2ss$U!|9LI)esNQGimw;$ek4ykpE7-nPddt)LIfs9{^1XX1Ohb7ev;o4G*{C zJ<9`_a+;mfb%mvQY*-hr=(+jl zOI%ca<@UO~JyY77sWhQqur?h!84kLYo+73$R<(zkUJDo)ODyS?yjOzshjybD4vo?G zcXy1bGI)+hz9(=k!)6yIQQbr6m}Sq2cwk!WZwvMRH=D$d3Km=Dv?yBvKG@`b6VB|M2s z)7`3~TZ?U9D!RaV`mqx!)C#d1o)Ej4@J3%WnuSLg10eJzkz`KsCj zYsjRwWpH%>gPk=w$!&Ju1k}~qpI>x$u186`1IIVO11852xEg#`g%oz zgHme6N*eAeSgrBF0SH}DnyrAoqWkr>)PgU{GoT3YoRasOzT!~Du7kUx2Pbs(T(U3V z6DFTOzrI9kmf#&Ygbq zte?LX(~>6#7$Ql((sO!sO+Aq`J&X7OfrhHX4oK>^F$nO{}J1hXNm#D*JD1?W(_et+# z1Ra9mu!|P{X@ZRd*u-;9&Ek5;_LPe5l!#Icb%&F9T_}^m$HbZ9so52^Pn2i-+hsoG zTZjMaYyTbyZhyU0Q%yUCuti$x)lxI7%>=6}u8XPTqoURRewY}w_K{3Mx0Jj{j*8Wv z2C)K;(~-on)q|hf&tJ8-OIZE$E7~Xt4k+I>^{KW7-^}>v?eY4gf{d(!4?#3ZciEbj zQj}}mXdz!mKo_AzF!tUwv-~}amWBgI&HLIO4qO>q5WkIH-n6RICB-+wABt>FTW<-5 zq;bEZTt#8Oq#FF3Q+-sFtIlKI-qn7mLD@ILE)OQ#y1zu|xyr&RHK=f0Uo<1f)?1hbpz|9m|B@4A!6oiX;2Mt>Fs;)hS>H;e z+92RqR~mhJUOG`ZR&=yn$%30kghh4mL%VJI>>caA;ueCsYTtwMIeO)9dUX3^)IV8( zw=x=Ue!HFQGQC|QtZs67Y5b(FSSI^EnwblL6DO424o>yxsph1(lD70lW4{8;0FKfe z`CAT-?5kvYx~&;MZt(viwyNpqNtEtQ^O5KOEE`1UBhcHbMV2vZGx?IOL^Civr*gYz znw2WIulSxgWLS5@J0>&JXVf!hoqE!Sn_>s^ZU(JwC7`HCb z3S_VDFS3bUbMz%7sc*Re(3$&={nBK|wZXOqZ+oWqGwK#8Q6B?E*JbP(^>no|OQ%)# zpk`Gmq)D^uDnfwUZw^J5a(9ufVI0rW`w7MFF%|*;zEQd7?KyKc`Ryzsgv0JlLA-1i!UT?~=ZW{*vxZ4~@lM zo63TJq!bIq=3FYizoc=wpkR98;)ih{#RAA~A- zSpMl2POV*J?0pzeHTxOEk|&5}GHpwKK^(O{pbw#`+>P5jFsMq~rrc=YSV#Xou#JBK zi4wd@$YKUiAlOBNwY_Q-cmlcKJq6T#svAy9g4b={M8v21K-Yug#Rsu2ux1O9F6SEDY(hibeM+-3y34ZZ|~!O;>bPFbGN zDlqRbgfDX4uEMc1B;F5dn<%KoiZ}rfKX@2HulcpHSb1P~3>U{+j?Sd*l&YsFQKMud z-=a$ia;INAge`cxMykUOM!JTNS%G)D;R*T+-1{kEhLVLy&T2RQ`}Z2)m0Z%H`BuH* z-V;B^ytA>n@OL0r%yRz3@xo$o`pAYbJf*o8KYN&6yRiOF`GUR^9M*F%&Jc1&rN{&W z`wy)9L!CZ{sm=d#r5O?c+jrhG_UWZ>Cc9q%i$admL4bHx zM{D}_ze^AN)N@jDS_JOm8EwH;LBI<{K^~m>sq$|+?n?l?>i=*8faLWNx%2TMduQC# zu5Eo+g#kC+d#i>G9lb?1@}u=picLJG6>}dCADvEGfuwToc8h+Ag5%cu(m?5PKnS}) zEFa9P<>#-vuv~QWc#uql40>)TF3%2fKrjn*KfqoV4}1_85Q$7GiBB@M3cfwUv!}qC zfKL@9DTIx;T2x@RK^TAsBSY1`xhP%NDSqecI=Yt4W6`M)&Y{oVk)gp~y7cey9f0HO z7I-WRa^ZuALs>MG0N5HfI=k;|tx)&1r8+4#RrOVPl-|tJQmYB1rCoYfyq|NpBO087 zmme+Cn-i&;dC9C=`7*$Y(kn*uJ-QU>O=zR5qEq4SV$A8nwd*a2=)g_mkepJK#KAQ= z#ADre3x$hMkB>z_z!1s{c{#0?Bo{W^{8n70&{A{lr#}b13ok87YS8z+0H|)IHI-u% zF~+$TY1*$3iOCb)R%W6H6l5&n064GY2L5nJ2W&g)91$<+|E)bu_0z_c!TmQ(4d z(UlVmfL;<|W9BE28b?w)Eky>y{*SBuV)e&k+HXAt7D>*3 zej@(+U?8*ZE^kpq4O{2*oV#2C#|P&`^GGg$pKvatZ;_;NZToy2AmZz1S3q-`J6$9K)KWM;7_wUh=3!9{teUxrmIGx1L9b}6wIQdl2w-HonHmItzR=gS zu;*b&iH^Y5-F{A<1wQliVavYa8;I2h>M8VhZ;_DLU0@(a%iDnUsGID_pl)Fl+-DPZ zG!PMnOq{^Gs?e%;xO`_v69JZsSPa!D01RN#<7@>Z8n!8Duym{;GpS{RF zR}9G`BbJ&b_31BlLMZeCWH-59JKH#BOTQX)@=ag1XK8EPAFVetHi~td`QSZ$@Wnn; z@D5z5Ff}|2gF|du47G`P#9aY@!Fu`bXQIeXo1T2xZxI|EkkSVMc>C(lQE`UTD&_6o z+ez=itUqV1UO*oOyy>=N4l3 zwF@m@YUq1(6j~+S*&l`n3}cZb4Vy#zS3$UHXl(=65>264+ISQdBX~}DZTv1uF5i!w zwuKNmyMM{gLOyx`@5B8OL}EqingEkyoom>zfxHGh}bp$H&eWK}iouu~;ILYn2u|^n!w+4Zr8c;PY?xfY^voF#69)f)4?mv~B+>-bwMu$@BvB0|de2anc*FOrD( z4=yT)leQ8dA_BhTG!gL2+HzscMge>+{U+r%=7+zY{}M3mC5O{s6~0}9+F)0%mY zhVZF6316T2-f|y(T?G#uQ-s&{+LwAk2D#8nDqVh?bK6@RNszwWpXy{oyyY-tYg$Y9 zF7Hx*L|3E%uDpJq$O!9;DaHdd5oXbq9i?kB=(V$DdzH55pnA3r6D(E`_@gNAwdGzL z>Hnh)MWh<%_`4?;I12>E-60cy8Jw<~5&(`x0_Dn7{MMm5AMQ*3A9b*~hgFcYGeENa zlEWIG3J~4OAbAcyVlZr-tOf8d)C4D4}ple|2sw1$ zgU1Ye^37D>1YFkyuJt?sT(W*lD#izo%VXW%Wx3nr+}_gT5{SX#&EH0kV?Uj$Rgezu zLJS=01weS*(r@}Iz4Vu7`dRcnmcpPgCIiUh&cKh?kgnDhj6*dAJB)__kd7!nnMH$O zCq>RXQT*}IT)Q!)r^nCxeGZ`3e&aSHu(r^2wc&^fIFXCMEwKm1`R^SmQe8Oc_6I&7 z;@39Fo7dN6X;KZ57!5U|P?xj2er#eNSUPLNPFdZV+>ceehOUDuYc03i)OLT}4ZE1C zUNAU*JM!C0Q^sr+7gwff1XKU|t{zd=pJAXJcrxBOK^WFaBUw=c{1{|y2kL`hb z-`$-?u?!3?zB)N$Z&rIpw+MXkz^P=<{~nqo4DB=tpDsXxzy3!Vn|Xt!*S;12fJPzb z(jHFQdlfqzloHc-6U_fTCo7m!(W5k4w197`09uRy`VRx#Bn$9T=MpAjk03$hbGd z4g5k5p0j%spoa?G^D+tz>{o>)vBiv5d5*7u0E`-63m|Y(w!bld&))rG$ zhAe>r(1UwH6zkq0jFCj4SPif~%89GUx}Wlo{~8KvXln?7EaDz|9CQ@@woK+cH{=s~ z>4q4v0H$K2%fEYncVM)9_f}mGj)-em#5c5TE5xR??koLHNlGz-#=mGq8vj>ulWvF{ z-hGn!W)Ng&(NXm%xn*1#Vc0W`+s9zPL~4B0(YphVHwS5EY4M^Gnmcdk7F zc3FL%fB~K#{hWeb4f;!Q=kkEIn+K^v9Ta4ZM!tm|FAEObD;au|gVRMoh%bef8(2`c&U)I0Q#t@eexH%0d7%{!S`%f?=+28s;*y%E0oc64y z2&|_6m+~z7HSn-$t>s`vd0&Y`UAu@u&5^)C-$T2f!&FtkUTp-Bupy|1rvd|j?HK`N z6nsIJEDEANX4zM2ANRMzU~ky{Vn*ig!%4tn=s4A>sPy{EIbfedKmc&}(f=^{p~F5< z#8dV=LP1~ZGz$b&ZY>o3J??4G>;tdAt8qgoU=t`=9W=VZR_g%e#E{{*O;pL5bNA_zJ`pQ;513cW*x4M_YfD|94NwSYu2G3iK$W zfijHf2M+%IT-^;`{rmFKd<24RL#v?Rd@iSAJzXJIR2QQENNPn3#h&MMh9Xx8Blf^l z{lY7<84UmYl)P^EYe>>HUqYIk*#B*w>O)ZdMn!j2k>W9LzjS-!+NV83hD7vXeQor; z1ISlkuHaE}gR;7E z93StK#a=rViHgzcs1gqu&*8r+@lTL@n>W_MnmcI#Y+aYWmoA(|Mu^P+9Nu%OB&<~~gFo$YvNWZDUrFD=;|5))*vNUH)KC3x zD-LOq&<9Cf02T~46k|0Yus|eHfE;&x+n3;*Bz+Y%(9Y?DYi>`<1)d-X z=CJmEj~|t?=p~=YJRl%OWjUoOnyo#v^GN}-a}mbwiZDC4Tf?ux^W!b&yWbl;{=fGD z9dnn{3za+DAs~|=u)Jz|Wp|=P62SXYxNv78hHvEErAP8#3)zmS`5xXnpjF87Une=NoK2@hy z$6~#PKa9P}b6^At=6r@m&M6X1lkmdxtX|6T7gN1OIiRJG0Tbj%QH~98bUIUNO0I&7 zh6~9e)Wl5RnF6?QRvLozn+yDVcY#I3=RjJ0D6pMF(lAK>oo5(mveN+BC&!?o7$8p9 zVn;W1r>%7d%@6mJP?`Z0(@FF59QqZkkV(CSQk)#fTtr%5LT&IHe0~@Rvxk z2vMX(XaOGV@?o2;Accurg4h()^#{m*2bAUWvImM4-zloL%eP)WFlk|{P8WC3RX@f z_7lSpS+J@Wp!X#s3|!4mHI<4yb^h(zX$(P6ffg+75}@!yOLw>4`fPjCY33RN?-KT8 zknXwiG&cf>v^ zz`l+EtZGeGq=KTgrD6I~j|njKEV1tMPd6bqiT661VOp#OKnhB)y%tt~r2m1mgC{Sf zCkIlthusgMP9X;}oQ4&V%Tvyf66GnV%ilC9>KAp~cGfFqM8@Flfiggf!&>0G^-e{K zdXxZh^?mwG2^`WdeCreKX(7*PM6|wzv#~&|^2odhV#83VlleD3Fu&dqc{u^n7l{Fn zm3~Go_k~eKyYj}0k)~MvT$3ht;2@r;G-W2mpX2CkRs%_z%T!j;1yD-N173WjSxIOT zv*ivcisEfKs3e8<+|{*TnbFNVt^{2A$JYXC37|0fI@4b|0=$cHr`lkIWpmuM$XPYN z&Qu_B>rfak9=}0d+&*r2v3 zLBfd;D7Ic1cjLG23xaC#SD;N}P4nKwrq1F|)?CvH(Rn#1MWpO!O85+u?jWHXaMeL(;mamDMNMLJ( zH45waxYWMyo-L;Umo&<~uE_?%LoVr{TijKyvrzttj-xIc&rE7GwTP?>zUU9ANg8R# z(o~YTXb-#C#4L3teVu$OL}u}>!%0$HRJnzs6!-(#4E3z~($s4I8P?1uygf#_6ck3k zMaA+#1|&>x3;8?wS$m4anOl^dN=fHzlJjnXY>rF6(>u9Z&NsdB-9)Z7$(a(S7ma-r znGvUACfpYq_!~;!Xu%pV0I$#G)w!|&szv4msTZ#C`dXFSho+p#NMu1MdbwKtljSW* z6Ea>-?b)dCOE*6DX_)X7fWji^ocKc>2flZ(G{%g28RKrxT#x;(JVjz#7tY4bon9T0 z4f=}aGU@bdN`bm9RjJ!0RF)C}{wT#T%NY1_$m1=qRu-sgE%9;!`~w2FG3WBh+*udx z1nsCd4-!%S1hSueIAPWV{@r#nDX+amK6AvhBgaD}HpQyuM9cd&%>@WFk)oz8{Q*m_ zm8=p7wR8oo3K+%kYaj21{yATWV8_P$fM9m#xP9Ol$x}#>{cZ6xp)|zShGQBA%J>3MsKt-4On`LY-o8BQn`Z!f2CDRm?$juUnkM&4AzLjZST%+ ze%2@lamNvkV9dU7IWsT+~kp5ziYbdlu$mfwb}W`k`w8jW^lT5 zI)%O8V{55PQCILh%4G~rxD#q99-|gC9I)w_hrC}N=!hhsAB>6f1=CV`OmUQ;f~rZA zCHX}F7=_U@_{B*6f^y4cIqc;anb|k&m%4ah_+worYyh9sjwtUHwh_*+eeRzlK zpgKQa>$^ShS=9(Bhfv^AD@Zv4iO0!0PwP2Xx2IGy(a(+_7&N+R5-HYOu4b}s&(I(^ zBR16l1&vL}o*05m-;2etJGDnClkie1Wp+!DWC$*#O6GJWy}9@EvrGIe<(&Pge5cs~ zAlc)tTiK@>L1q3yMT(CM{xf#Ff&fcm8)HuAe<*V^HNP|uyl5XuSRY7h%%5OQE|mW? z{PEG@1dq|w3cGYaN_7WEj{JD;&w~D`$%1t$@(~Ub>4f@hf(sdS?gh8%oE`ksye3*T z%a!m`PaYL-e4r(t(V@H5aUZPU8bitJ?w(6>P4n#|Rd2(dJdg1k9vaJ^v`hS<#a1A( zeDDIzM&RRTyLR*>5#m_zZFk7W@iZ`jERb*I5}#NdPlx3Be4G3TbL1uRt(xTOg91i0PSV@fLzU~AB=1~zYRkG(W*xO=wf#=z&-Ry^ z7z-}xQF1vXtIwuI{~2esvVXR$wxI)Rytc|9$%q=QyqaqKcf9!Nu|>xGOHG~D1(R8C zD?mX$8q?Jzx>0{~3&6~?HzsN4TA533-ioELkkS?}>%{8xjcYDD6Hle0RVmO6vYt$w zH6ZjV(umFCsN8IwexR@m=&EMGK1u^gfA89dkb~g)WO=><)77?yJNAXjgWc_d<=UXYC8hvO&A;MEHVsO%g zSH_I9WoQH9ZL}s!jBeWs6IAEdZw+QqD98NHH7;7*Qqav!&ogt~d{!Xgv@qIW?2NL?73&FNYzCT9V4aMx-3dhw;> zn;vj3*Yhn1i172IzUmMwV3(YxB_758v?J*QrK^KWhMN7d^5EO{DOQ%PS2Ok*=TxWK zX$i*b^Q^NIaWy{`uWR}!#ZtvMbkb$bhEFOL3W`!Pf6|ro?LFlj<|gE!H^P1iBDpDUKbyLfZU;sAyJrPw zLA8^2t?trNzZ41iIe+$l+P%}x$vZvw&}uQtduw$xA@5EJD>o>ljbWVsw8dB7`1H6y z_9YE*Jhv95*b+CTy90xgZ$Lp*pr0v8cuC9if;%_t4>GTgN|)%|#LsBd(&DySFM#sZ ztC8AH*1LPMgqHGxiNUr;wvM;{cUGc zde*Yym(L|djdYX82<*k3*}DCb2v?rd7?i-(FMU4`_*t&sQQTqkQ0yN6kW~ zDKGk|7neU?+1olZk!snL^T>dWE@ft2tT_8tfmm{(qKT?Q2)#vwZvRbb@wacn(j6x1 z@68!~Gf(nq?J<;zXqr4)MwCaziWD~D~S z?bEUg)$reohIF#J+OqtPotd@}AwTXgY`2?!tg1lzA#XJU%tGPGX1bF-?->MrlT6s4 zrpi-acyO@crtk9#@zftT@#EQD@*9Qn!}HCZJ61$^?H@XXK4T{aJT^fdO)_y`QTJzt zWQ5hEg5Dg3djAt?{P3Aq>5>tTCROA~d`eE-3Lf@xxmyyri%xyTm&8rM|Wx`H)XkLZE%=z5U2cw=sh|yGOMDk~w5E*QBGz z?;Gv$(2gj9buctN4Rp+N?`>aw6EOYSch4&LQ@QWIZBUXdOeoO|BBb@O;mMCbr_N7t z$Rb6xTq;nYg_OM8iRXN;y1v)Ip{V1U71L9N6I&mtggj!^Voy#T#68!WimUCE-m&7g zS8)2S29@=$mv40;A-2U^*LyQ#>O97@Yvu1=*=I&|3y;lCe0#%AxQHkh>qDx><+?2@&>H%{r%Dw=h6`0s7< zu_g7ts;i(WIv+Rtd2(JohIe1D?mY|Vzk+`(0K4&eCz@BzEP1p+1yR-q??9O|WBNV^ z)eOmlFlg~1r3oN=7ogM9@Hkm1X7WFz4IXGwD2NgysIZI+J!{--{A71TwNvDaxqsaM zEh4f3rObEkBo>T+SHuJcw8XeCy_VlE2K*&^-L*vQ2d`*>IgbBG+Oy7GB=7D0A9)Ej z&)WUrod6RGpwSaVVt!|Jl=HSiZ%LYdWko2Pc4uCgD%D;he?<(Q`s7X`IgoXZSfzb^ zI8I@_iLYDOU z%Ds;nEAgmsg-8=31)w}`2T*09g?vB&U3+L_1*tGs*mPZhW-R5)GU(Q z32M_32(jVdy`xKLgq`U?${dEudQd_`DdwHderQKpgNT*jZo|G`GWxI9DUBg$>WF~u z7vbfZQOIkI!h5ZuybPHbBQ#L(E(z~!F5CxZpv8$3Vjz`yzg2Hx7-VkpP^L%9C^7^k zdr7;GJ?u2j2!PTBAam^to|~&GAfh0D_KBG?z~K~RgR#7`Az(v-xr#p)_I8`}8mtz< z+to8@iZXa0p$!LCSPmGSk(w7&Do{i1E_KRj&(u^!RZmDegI-Ya%KK#q7Gf=UQ5i?UFrOacmk;h{N(B*z^^PV6&TMVymo3o0>CL7ojW_aF%JdY#{*plvwI# zwjim!#vNXgkmc9W{LC{4JR+BQdn#i^7Ot|F$U;4Lpa%!NRp&cxpkcYE(l0`q6rUFZ zM1Ro*`EUhx{fe{g$sj9~2fbT^LRL7G_n#EXL(=qG*hK|;b8Z*CO%&N3`F~YP=uuxB zcPJ$@uVpz@^zVb(jy%&|HZ43;Gw&PZv!=##Ji}(!+bEPWOwarV;Yiu~WQOv^f(J>B zmujFg-rnR1^+BjFp5Xqq_U8+&JY>2fKv#u;M)Iq>Cmf~ZhH80<9;iF+#8Jp(>GvY~ z066Ct#IKxY`d)$<^_6)+AQUvYtZtP$W}RTZDFgYb)q^zl!+M35QJ_vxWrK!&tp{Xq3SL?9(%Iu=w@Las-BM1o>jc4| z*9?kxi5KvgP#6$&b)Gm2y=szGf;AFOQ60K^z8o$vj!fu=thsI))Ye@QG^2T*FW4%pNI_SajAWR&1n26HExaLLI8Gd{I#y2-R;)ZY{bi>c*Rgfvw2` zqt>9m1BPVV>;AikH}76xIFR>p&^hq&te$Ri?*}`Rysv?UswTEs@wghjr{}j6i-cJg zp}z*XD;r4f%h?pRz)HN25kLlPV7yGpXK5OqqQz~$z5*`fU_l&ofElZ+njBxEmWgR- zi!*JwG2Ro9|Z7R14S#^q=>+Q|8pPgc3Mtz>wqj`DEqaCEwO{Bp6EM0eSpvY`= zw;m|#em#{o`^G$|(-AyMCu@JwekgE)=rnLINga{dDR_X|xrDy(fl$nKWrjNc=1u;O z@A2aJOy`EG5m8T0@34Gh@T>6s;U{ZaK(hOOjCd24Hp@B58duSk>YydbPttl`nWuen zUW26A)yw1ReNfMj>V5&Qxbt+|g0o%m@#2}29@1?+Wzr^E1=N(T1;SYk2$D?eD(Qx6 z=NihoAfkh#zgpeDAnoOH5x7lJ>ciI1%z;+67b29k7v4Bjv9E|#y&`_idFO!uy@Yt| z%m5|V^n{!LdO%`DTk1L0s~Pgr1>^Pcgx5&!k2S>})4H2p`gw9XSxt0pm>lW|y$05< zS%j)2`M`W}Ro~=4p8KrPaIyj)2vWmX~M&7U{ zmk?J`qq(HwZR2)K1{IN}RclZNcR{sNBT2UuNtYl?ozSao8j%@n(SPUy5Q8C7Ar)AY z5NQJ@zIo;CgvY^cM%8g4LOvM8-ri%#`*n9Ko=Y#-5nyF zzaR+$B1kOqpo$GHWJYIMww#pNfyL&iu0&3EB zeG|NBvH5*~{rHMHIP6C2?=MelLO;WY!JdyVurGtbFTg{aqE*hL??ROn0VpV!eT5K} z2(iX_UzXqtuHh)9LJ6t@6Fl>_-iAu)skG~FA0U$7r`57&zs~+&C3!&Ou!jt{p-QV! zXfrs|{Vk1T&-(wqLZOc-PN;qv`t<-e84Wc3o2l5rOB*TVU9m5H?mfdrI6k%n@Zl3o zDl&lRlOPTHcgo^u$`mps$Qu&8g11KtIaz;w#hU@ai?jKavfJJg(t*B|ArN&Adwc7n zhq*3IeuV~&Vdz`&G{fiLmj^Y06^hu%y}+9Aane=TW^ zGlm2GrU1n{JmHi|k*`BxAF7@?aGprQ_icaIb1Kgjkb^)3WPp_Fh<8$CIKc>HJ{648NFP!>?W z5oqVw$>U0QAACg_+;Z9FBx(2+gCR!hsbF?pL6?c72((|g9ghEVu*`8nb*C;}$9Qi1 z=I^fbssuqjef{!y{TTFO8bX6sYmWX^q{!RqakSpQmgAwqn_XLvCcY(9zdiTq7?=C1 zZJs4xX8f!zG=0e+*=Sdee#H0p2ECd5Jo|t*^6N0guJ_6CCX^%Ut9%Dj{Py6$ z;Y8aXAMda~+M3F#9EJw_2m)fVT1fF4V#QBoSwN2>3I)hJv1%8xe*67%UoJ8C1~%8N zupQkvQmltDq2-6`9mM^PyhQ3y%kK$yxD8vVjiG#HC1wnvDhc3)vbz*NkvWJs;8ul! zhs~gGC>=PBvuiBV&~2apE47&ceyzHON68bxs!5Nk_9*v(YhLQ3BCG2_dx@khsO=QA zi~i5gT>eRnyQKhkFIN% z0okFUF$*M%?2xn)1DH#phWl?&PcsM!&sT2F`$OLox#j)|ehUxu^A!t0CphKME$(m- z>T(KwW{18E)O1&pF{^{l-+=Qkl9sBp=mVOPpFo>yH8MX^XB?p=!V$7BPg;iP*JGz+ zdJ?u`=oW5F*yeOz6G{Y8_X&y}6B#o!y>LqmxhO2E`9NJh8^QMtAzO*p z2N8V~goRJ_<`6OUz&9K8WR966%Z5myjDDcu$ToY5m7t_JS}F7lq;=W7=V_DPcC3*) z4dlP5Jcd0^v7+T?g&gbaZ6}4IQES|onbw!s6Kq=T`KnIg9n_}#Smm}dxLc7gkJM2} z2{_#xRfiah>(Cc@Ug|j~)%N&W6o|LpcdwcNi)!qr%D>*?bY*EZIM!>s`wyS}F4^aU zfuxrZls1mo^*WH*;E7bnAdCsM?9P>aNiUfQU}PS;U!pK+(qZEu;(xk~L?loXAau?_ z_qw1U(TGxKH}?r@beJq~bq{TTlaB7Lhk{%kf+di1sAS%{yfz%7T(6MKo?rzk{MSNG zN&_xq)D*ntp;;RezjhbLwiK-Dw=&Ka0#KW*aVEDX>qnqL!N~E|7I@DQP-cgMh01}r zqkaQ5w}pc`UKZNylR*07X??k9PoeCS0tn4T6#LLk=D5755>|EmBxl!+6FZs9H6%N*(GHMm;PWkiU^vkzJ9{0g@&APMb6v79=DdeIoTzC z1>9@|W@GG^2W`QlQ|sHK5M#Fn)G4tZ8Ga~(9nL?*hUHaVj0raoKu%`g-@OHQC55!y z0laDIS+CkbEPz_BfcOZ9ynUlQiwA2V@B<>lZoermU7U0nlJuK*W->u#6no1PT+mSO z5(R#p%SY8j;9rxl!8PXkEh3tK6wJ&v%-b3-arX8kAqG&wOXxJL13l0M(4}(OjVic6 z1BdR&HIv<7LL>p$oGyUU3c>HQ%yD(b5U-ffwNPg+-<1htRzm?Zm|pUbfcVZB`*tr;&tjG9s*U;4rt zLw)(~Lti(=u02ygO|Ak4vdZY!FGSE7rcHSC>?Pn0g26s(p>Hb*gi!$#w0mhl)mOm9 zjDhSPSQ+fiD#2EXh}uc^JlE&4zyagu^YiRosp15t(a$@uh%ynPOSrm%8MB5JP#y$S zQQ~bb^kNtNRb|2BiUNeU_EVBwt0)6W-Xb2e+8!|7LrK<9m?&`=o`7o&uzSAyV+g3n z`UPkcnFkynrw_7Sn}<6zn|Z)yhXVC_vE4PZ>A;S=vsYs{ zTl6L%9OK)d3;OdJM{?Lgd7~a0qRvA%p8oan<7piEg~Go}_y?TDfl_03%^9k^Tl0MF zbC;N>)XvP)Cb%p>IsW&PZ(9j&FFFo-@ZBG-JqH%~Y>uNmeAl&m=YSbk1dobhvl`Gs zVaapw;bbJlh<^jBMi&SpCXk4evBdRPdR@KLuIY93w*}?HHy+EHPpO5L4Jv6w-7jHV zgli7*bjHRm^KK0QSyo>_c{YClJi#}>CflDyGB+k?-)=o4XAD>?S#kqkPiv9Und2kw z)wSWbxdE+Q7ol%*lv|zl!NIFmCbjYUZBvVSS|8UHOpjqCu4crxUC)uCH1^$5SqaiV zJT-fK%kow%1gq#1m#))&gG)?Gv!?QO*UKgcmsXx^w@%Sh%84KTR2^&JL9;l!UbQ6>lj>C(x$k$w=P9AextW@6m5wQHv`mBtv37`i>=cWjb*s`tV-t29!Gcm~fzD5_D ze7w|pkU)n$jyp7jQ8^s&O&$0+g^N) z4HZ|ex-(@Js1-GsL6MT@@F{f}|N5>hy354;>v7aOEMaeR+>4XAYZR$28;t2+-> zz#u7FA2dDDu4d0Ss_cB8f0Dqr>H6a%FV+ViFY!(_b!L|3Y;QDQ?i}fbyOx3>EkhT2 z)gLK2we|KoM3O{Mk0IIgf-j^kaKbRRks{Ng%#;n%Nb*}C=v(~Vt8tV@*mS!k^G+^6 zEELUTqxsm>p#p-zD>>l;hym3rxI?x#7n=Mlyg&u0YX-zO1a2O0S8-Kz)}0`m>=)Ty zr19}S(d_jQP_J6!8xf0e&gJnI@pO$Gnjnw2Ekty4iQa^bNQ4HFv;J5hlnhwGX}^SK zV01GP9rA9Z?>>MJ8O4`a0K#eKuui$F8d3zpc`7ek8E`|*MzT>{7bW1_UB~T@vq0pL zas3%2_>+j}p3Gf=>B|AAqwcXN!D`!~^__d}OArm+&>GK^nYX%sx<_(?RG!zpg!TLrvBp?x)Zn_W0O$c2(|7nk%hT&qSwA* zj*~a3TpOkO0Gd)1#>p6!o}K^LcF)gaooLHZnF8J3Guj2b9Ub~2{e?Mb=z8TH zC17U^T_pD&X8#b!djA1*MbwutEqLQIymgvUP=7X*Mxrk5yKFiD@2yWX+u1uzWM+Gt z_Lme;5s!1D86JiivibQ)!Fvxu-XsM#=~*;>Y9Fyd)1c$RLnTer5&#{`NL(9?dOUO* zckzKR^m#3kUg&_6u?UwtsqVaVh7&xlAw>cPCg&qyHyRmL57g6F;2THf@C8w@T16dW zv&VKOgRJn^N?|i(xV8Zp1ZIP~p=b6= zis~Y&Qxf3-9>Y08rYKQ0frm~A>RyMNu_hO@Td#t~|7{gO;)`$rYAE7mp>xpP*~A(h zi^zCY9LKPh7?;B)bK7 zFlaV9LMo$O;9mpF&rJYC1RIiv1N0Y25Z}G-^FOotiU&%a2*~p5fKr>;e+|0R;^O+i z3djMr+VQMW`df_1pNh*VUx>cT#lf?30ptk4l{Z;Ek_OlrA&?5lB65Xm7X??q=~%Cc zDuwMmg9noJ;~pFffP~JVEQ#hcx(O1pD+O=`lYdImut^XdmWBi}a8)f1c+^p6A4sHD z;l>Q8VZ3GnjWa&Cf7+PQuA^~>TyXIPw-adoISCG(W@iPu>?II92H1{W)XwBI=)nj) z=ZbUxZr=qdwoL{fvKi*YU$0qhNOmxVr2axC?VXJ~d9$m7{ZSiP(-G zam^P9`Yu!{Bu7g{SI`f+`G8w^^}-91v#E_}J83wxRY`zPBaRC9OI5Ms)f@I0T`)a} z*LdO*+)OF#zIq)r3#0W%TUpR2{os>SM-M5ARVm`3lnIPS4Q^+cNw#j&fbD(hZOy(s zRE@tj8g1ilFKvx&gaASvQCgLUU`ZrFJAV=Ank5UNVsvGq>JVzHhd^8lLd2NvYp%%j zzF!CW^V7ArvP8wQbU?qy*L5T9$^JVqpky9~f^4qaiZyNj%U&!(h7=8MF|NwNL%k!w zXMRO@9`zhWd>qU~wlKZe7N$K3w1wf1ebuqEz{*TLa`xc7_jT$|Hy zAF3;niZL96Y7pF+2F`gNHcAd?|0Iw-cv>9fhYV%x(D-p#D8oif4^|F-h)Fa-0j2>K zjE{=+m9KX+0l)_a)I1JSj^kYYJadaDacK_$I=MMBP+oVOL6m0FgbhzdNWXU3B(?bj?%ly{&|?j3qs#yx*TN9*@ z6*eH|7h)aiDQAn+>8H5)?0@~9d%v9#0WzV-7o_~$xSOBLbq5{k6QNT@&0ICKtP(kE^MgOY~u>hE4Jiz!a|AkE;s9e&%3GxzC z#cg45h%D;jf5MjqqClZw^Xk_ZaR90b1O3*T$yLU^Dh)ufMtU!G5-lljEaiq0cR?*E z>|cZ&e@2u2VdYQ_X$Ebpar_9VkB?hr7I?uIiDiJ=h8S8#%G5t*{(fLdTyMM}o(A%; z&f_BuA;j+YJ0~NM)|wFR4CcQ#hJ;CE$hsI1%?F9@Br~m>5ya1Ug3r|QhFnYo98aS6 zBcLH=gDpvP!#ev2zXq-)jTyHR%dVX+vr=p{KqtWq4oPm1N#8;%U7#a$cCzY(3FCgze@o&26BI9S&d(0J0#!<7ABj(Yom9 zm56cS`n_K@MAfCnvOcjn1+va#M(r}{($Jr;~U`-Tv;EfdNE{5y886X3} zi}Cl})IVm)|L;A3FKYl_=1l{91U`&72JS8`erT=ur>Bql3ycTW&Hr6Wz0J?R^+CeR z*NngYz2S~AA2O3Q6+?7BT&lzfF;zs#=E!JiXU)r6_-MeK$t)Zpe%PMQjsL1Wef2u1|Nhk;3|tmU zWCwz$P6z5l3aEK$^K0p?5v^H+Htxz~1iNAn7PX_uEkDh=IDL3$3?Ew6+?5o4) zkpJZZgxs<~cTezXDnszsoY zUKGl+$(nJRTK;zhbNEQCtHNm9F9C=^oCW~#7Qj}}krhu8+!geGIpp zYYLG=@S^at3PuBb4*`55=gD;q5@^&2;w|W09Ra(d7w=6}j8_^9iYQu8kOQ_TP@!}H zTj{w}UX|$*a4W$oCUpOe?ZYr(mEqNJUwPkc-n_lRG*(Ohkbfpb9@d|Kha&F;9dUhR10V& zZxqmqwuk?m8&EwU2<|*>8Z!tz^)MrT5_TD)E&Jf&Ay+GmKn4Mr-zUD%ZJ8Nh*dDa| z^2k*)eexW*v;(RrKueki&pP6dvVTA4&Gq+hFR+0h;5Dv*r&TcZ{=pbk)S2#bZO4uu zP}BGU$ofi~SA=Pct_Van`VC<7Es#?3ESH8I=+`+)Fq8dz(BI+UqkP3vNnpLmz&L=1 zZYbyxE`r9WWLAxeHh2}4f_p%E_F<~l_5+dbR|}-z`mZDQqKOp0Qy{sqJvrF0oKKUK zB(5pKIdCif4!M(hh>S;2T0Zow)E{lx!#mOPC`5(>1lX2)UIiXzilEUk1FEu|A8{eY zIr_oiHf=zyzaTTfvj!g88aUi?8x;Z^{@tAd@$N>O9=xK8LhIRs_UcZ}qtXLp6W}ie zt6ifr1=n~-us-a>?<&9`q@)A8sYEKDo&W`TJ208+0PWt7#=!h89H4x)pzU4iJP`p1 zqKlx`EN%SxKVR`20lwmvT*V(~6cjKhB+^B6Elqsuff6x4ZN5e;D=nn8v+=R~cb+iNbpAOr=xjtUsUdCFG!QZZX`O^UC z1bqM9j4;@+BgkJK*P+@xQJ|;O4v>e1Cu&34ocl$ZJ?vy+8q1(*;{#|K{^0yPI6wVa z7PM`eG{1|+UE6T$dQY`}i z-tRgMnLxpbY&KUsjGzetypGc73GgqN`LVFW+O-g!Ph0%GX_w$%CIHc0Y(Cbugq zi4z&nCt*Og(>Zep9^Vn3dDR+lT!LmD;!obrlQW>r1TY1K(kD7SyLCND^5YHPS z9sA?Gl~>qb1vg8@OkMRgCxgKn>(yCq8dp0+GMkrzMK zut6iv?icm21O+mnRjfIp1=;z`7RL3#Z%~j1fCj)3q9tRDsA0}F{`Cr=Rs41xAlK>u z_xA$)ISxR=G3J{FO?!92;nn18^(7nJ1fw1}G*=ZP#&zf#4 z;PqdM9JIb!vO$EDcZI;kmEbS;!j|nctZoA9I<@r+?5TV6#I9JV(%@Dln))?WL*ILS z>>fB>Hg)iOIG}l+3RP-d47@(`BEYkC_tojtruzdY^NHa%x$}|FQKr6{f1E&#r zs5?Y67ebYD*An0`25mPCk(4Gi_p7%j~uZW z^7UCb-%Zfv@65~IKMV!?`N&*U_TR2L4_2X((2Ez(VFX_YG*O2&llM@h6xaRo`-EXc z`Isrl4}Y&dyAb#>{HPt!P}Rkd%u~9P9srUqlXLK`>N457ok&7+(}S_`lfnZEac)6e zsFlrD2XOZ9j*nxylIUhMnVN;jp(Fx|VPe@~@}*O{7f0U@s*bnS%nXL&E;6!o_fX9t zsrxWqhS@(e>he8oz)Q@b2hVF_$RVv`jRK-4OfAehW>Wu)E zowf&GL8@}PrT*9Y@qW=@AGw zKZBFaWp?=el;^_M?BF&$rXr=_unC_D?Vx%Pd*@2ES(g*@$k$7M{4VXVq*_8Ni8npz z@I;&@su=U8GZ!`lbjlqdVg{QM%=LITg1Q)s?9H)m;yR<&#W~Y_VSAd2ps3YbvT?@> zCyTBBX&|QEu!T$9$~C5{KQ2WbMfUM{WDL@3$w@7M=En~41g@k@Jkj=X2Y|d<4!tSA zzb^<{BF|F0CBK8g2Ej79;6OS36+0-sbHj2GZE< z4epRf(g_GYJmVd&9!_WtN>}}frTE_Wiej9-_mv%RM;*3oOjw`4oYp4LcOF*Jv>Eb*$0GW@}a^su@;CK31uO1h4uEcRK zfWa-63Qs2MJH9-Af)=CUF8xSk<2<`{I3{4Db=yHUMJ-y9X7s*L_8#k$DVC*tTGRnN zx#sE~<`DiBW;VhAZ%}a&;DK~0dnIT*3|22Vx{WFM^_MbJeL$7Gp=q?Jdu$ird|j#| z4^1mh?oHa^;rN&BE6?|~S63v)T9W0KD$>ID``B$kiDC;n5sRaWA8jUAszUh5bb8M@ zXP;@${YAX-U+ne>W~>*@HCi+$tYva zofH^B4l?4Is6lOq>b!A-T&nM=q14MsRnWjw8{z0#n*sg#i90Ig{+!t@{&OyQCuf>a1|-be12C4E zUYP8`F=W;-=7`g78Yz~}J{)I|L+MLL#VaGsZ}RBKX~{;yna1;j(0WkT68|yfh*D;G zAMO42>eIJaS6M|Vrf-4+bHZ8x4i76?xWsiUigM|eg1mDBqrG5njwhl7pO^i<9WXW1 zdF=wwA8}KNf}EI@cAC$C3e{=PN=(YUq9U;mZ&M>+j1VIPn?;-=jpLvI*)GxnzirR# z5ww~p^6Q*T6`aszRF$cch>=MCoRwwN8&TW7Sr~m=Ko}Bi5Nm!r*2gBr#-h`igJuKd zXdnNk>fNtY`3)q84?Dirb}WDdi|6iuT;~Wb2C8g4X{DVN)3?f4_Z_rD*Ln;GU-tEo z*R%s~m_>m1GQD)}9(dRPtaa&&>e{;D#1*u-ds|biQM|vOHB@U1QC=XMfd1W`Bv1g1 z#6<~~E>Wg`ndJq&bvA^UABIfmi=1?NYzi&*3$v|x%s1Ca#a`lZlB7DsFCZHSyD7-u zoolYCAMed@)rw1?LzkQ_M{UU&=Fs3|DRJ`p=F2KEOfnfJ2EBV;S^qM04GpB_Q51~e z1hGQp&t%nWQ%`6~&fbf&X^cDuFj40+d2dV~$8Oc|UZo9~(i738>^c3^Q8C%0;$GDo zLsEBP{`U#@ZDG5p^|+Gb?t=p>qkT)zB$L31BMfjs2zSwMtKstGde?0<>CKx^i3M2W zV;chU+lssJ)yK#md{pm&yJ*u59t%0?{H>tHfSHr}je2(JSq1|Ejr-QKB84BIk|=FN z-lis9daAU=(6Y3oPx=-sY0yEx86oA~12?-)Y5ffx%4!-pOUX8lyTYiBaL#8E)$HjB z0U6h?K6&ku(-ei-6#YpQI%h2gnLYj}wr#!zD!75eE`#c+)h*gs;8JP((aA!jc=*86 zk_rWyHoY#Mu4lk;6?u{N?k>9mW#W>QuI&E9@e-BRg^T{ucRK zleD*h)U1`L!F|_v6*_8VoL$^g$ws)xiYgg&L&V0ANle(XD9X7Ld@q_ck~{ zZz}i68RGJ2y-S232j{>kA6B5Bss)9>q+2Z698hC>&HIYUxJw56xO!;~D~c#aHj0`{ zQmKl{_%8tdf6u6JbzuR8w*aFX zyy!XCJcp>%FX#Qq=5XtodS_>v5ICethAj+s9%|5L>j4#bbqA1e+Ck5c{X$Q;_7ZBz z5gKU?3WD&v(ZLm>%UMUbcRK7RT;bpOWn-?U7F$D6(Q;6|scQ3{(4ww(X$HYvnMVt+ zVLWo1>;ip`(<6R~Aiuw6nm=lGJ=X0Y;_WB#7Hg0)?Tp$DG!6WYlA+JhpX-EjJG=sf zy`Lu@I-GV0!G6swcX>3G9{#MUi&TN5jE<(E<*R?)``XyJ!;6(1StDlvy_{Y%Xp`aF z$GIZY-#XL$e!ed&qPcpdSQ-00f-1`>L6G~#xlV6AyD7axGlpx)C~|nnsO(p$E-=lETc{g>K-C%ges$nv)Zr9o0~afEa9T@vpqE|7e1Pj7gDf3yN|Yy8h7Nc6Il|zl#%FcFBdZo zKh)$q1Rfx0cOmCI|0FrezV;jN!G`WgPWB>dFYQRu@$w zqKZNa+OO23nC5D3b^%SM_O3i4Eb*G#nFhU8jzDDQn9poQ+^{2CI?G8)MvV3?Kx8_% zp3-;GPM>WMWwt+JB}UISwE4qfpH{4EIQ9tt_9|N`4mTRAeTo-b?ZRtlilWZ4KCU}6 z`5B$WYST)=XlxP~@zH-8tb|8sE7BW8A4oOOc9ZzFeS7|)lVGNw>Z?J9(053;>-6;F zNBB8c#`!V}3{^0tOO!6z^NHB$^iwf{p!Ps@Fa6%>&0Z!Z{CTh0H)UtnI_UA##Y&~Y z>#w?Iv60e+`7n+(-T`=a0@VuLnw?yXbcGjnjRR_Znu%iQ2cl)+h8Hb|FZ~h!II?`n zzKcR%Ko@tO##`+{hRTQLWgBz`Oh>J$ng9F412u<%?|o1qJGFk76M{k=PNw||S`f{8 zkRG4==^Q#NrEJ{L$1-xJpoiEzK~th*m|otH1o|+E1d1YEoc%KvMki<-=b?HLdl*}i zWk@WYr~u!rlIU1);z&)}91rQM^fo<2k(a{$*;)sbK~Y_MeD6W0@uD&j_DOKobt;t~ zLTg3#Ng(oZ=dEnCp6*HSpBr;5kP3#f^=8%gc}ZYQMa3QR@P)z#vZFLTIjioDT_(r8 z$~I@Nq&b) z5{3{a7l-oo>~~Uf1ocDmn#MnCQ4VWeXxBl}9}e=S`~B~>?kmRom@BBDkcH!ZZ@;pA zZ`MkgtA;bYPbgo^*38n!%0M_)Y1>#~q4$z9x>5B4ys4 z#=ad|KIUZRI8^bU z%LI{94D-2F)r8hy6rvelVF3;m*j)B3K{6!m=YrhK|!vW-C<3+wZnrP2wh5QGVmwXe-oUD;R|0NMmEAX}KOQYamF{G1r-Lw%WndICE6S^v1jY-Z+Zdgm~ zK8&`a?iNK=#I$gHmP-!pwnZr7J67GD9MT`rFjN&JZa=l{n3kH3S;F+3ObeGsr<_~W!g4yt1X|I?t4eqwrRy|Jc}k_Rmof-KvLXxO zSB9e2jC~UO)Rc>GS+Kj9je9yO9>r&=nkntA(&$gXeCEg*+8BwWFE4u@8UGzN=0Txm zKPrqhyTyd*Il-m4Qwn(euxfve$i$CC(|s!-VJFyL~%$NOA z2i=Oj3g)4dcuq2{4>kjxqcF812AV+=$QEv3wm{l++hsw08Lv<8{u52cS zIrf`GIKCC+7|~Q1S1qy(V?&iO%Mw&+YhAmH=@X>!ERMQ%H!J)}u7EUdL>`%|wp^u` zLbG;=7iD#luM<8bnG->C2zK%`4*rg6Sm_pqS@p}77Qj4xjC&8Q3zetaiTDvIVox1l zu>p$ED3o@jj}<{^J@%Y}oj8^Sk&Yj1cq_clOx7KZdY8pCr*Nqs5*3YO)s;nfqj2VB z_+HIs>q!dz0!9s}h;sV#<>wQ^DT{2isJAlOR?r8%PHrbLo%F$Uxd!(u$@pYwcV!@t z>aV4%FRzL59BPn!+pq(Ono=?k#5glG2*? z%FlQ+DOj+QQ-J4EJ6#ewGju>kQ;M$)aj0W{l&fza?cA7LP|S3bAX0Gm9XGC&qlU>Aha5Qu@tv#R>=``}NjO%<+AbQ8 zliM&pwk9Y!=jWcU=aivOESS2nCh*{7(PIpUTOQ1)voVEA>rP_BJ9a^K)I&}Noe>#y z7;e%{j;D5bm5-r3)3HY=H^apDHg>-E2@N02x;DKv{WQr&k$Dr|%VD%%O>s&Rfs@)# zvz`@q!sFwn{Pw5)K1O?HI5SNf@ZEU(26kYNyk~rla8A1`gvy&0OF-S&}J(_yyg z<`pbten4)_pCp}!8|6@r+|f%=D?c2eR9c&2;5t&aGb-ht9H|tOR*nd&n;_}T!*xMO?Np4uyvyan};4`%A@$VvI zS)peuDyY6$aGpST-D64WAe!Rb_|_RQf|0eGV+~y1cWiWvJ?0!lwvKDZT2(U#x|au~ z3}c1)E@IDVm#x7suJi?=d92pibIbHUN%(VmJ4GITmRoW^oV2>0Avnw#yRh;jmR9(E z(iin3@CxmrwkenWD(nCBzEE4T>ukme@8_;83VB~(VZim#%BGO+HPXSzXl9ly~XO z#5Eyy)>E1M(hj7Yb53Jk%b;6vyRe36pZGzt-so}7-g!u3qEnpNSlQf>@4v7M&tJKi-jh7KiE$tk`Mhn~I4>*9L|bP(-9pnr?@;As z1JMB(g_g&jY`=iR=TA;;bbd5*UI{wQO1V6y9=RCWgLkt$_T*8;Mh8Z7UhukB(N#BO z_Gp}aa86inHPT5y7P5~@88yPZpn9}<*mcDCj?60!qPS@=kv7IihJl9=6FcuQ`Bhp0 zus{O$M?LlJ1R!JrT@_T0iLxGQ_#U=%@-3?Sd>C0nOG?=*Dkw>bGiIH4I9(;t^5?kQ zdpJTx49O9H)#cewU7o32GDR0*EnX~dSKEn`t6Kpav|EE5fH7&5x+_(xTx_yB#tw!G zh4FTF^Q~7qvCyti&^%Ed{)oGGf~v1!q`i@L(KRuxEaa8;7khj^yW%gwcY$|`VFXvO zj+=r5CtEu;;h$Qxl_=_jPD1eb20_y{zV)ngf)0)5G6%b&fSHGF)EDm9$Cojg=n<}> z1t-&fnpX;WT?LI}jX!XbLFdB+pIsbv^NHMiubyL(PjS@oJU{`OVrSE-(tT;$r>aKX zg}xV8^P(%!N9IrIv!yC%X7`-P6Mhn|ip=A8^)WTUweLS#l~3EuT&ic*si^>j6olWNWeMLOsUDm z1iY-ueIwab?9NlKiF#}&u0C6u96y+E=T(A_N^gHThHa*@I_p3=nBPiMSYkl}+#%&LRdJJAw8(P|lio&PCIE*qa zFT`ij+u3=%3It({XU>vl0=4(6#3#O}-%S>3edf`Uk5!?Px+PBiBNV=G2_NH%qeR~6 zX-3JW3C{2cBz@xic&Pb+mNA6%;nHZRmn`$c6kKs)Xr@S-8?VPggM#M160_`W4htq) z+xYs-_%SZX#GtZQC*#MlDmm5AXnDUa=6MpRMVAjC}mMnEj^Btt1EAHIlV2UEY< z24p2&p9PDf@o!n3(XC#WIrpmPdyKr&I=WhPj5@sS$6ju z*b7~IuaNl@wyd>SGooQ#C+XC!i`b3tKBa z@cJD2=cYosm>HxTdQzSM+1jfJ>Gkx#pUJ=Vb8)ZKW?V0#5kDe-x85;=$?SqkiI*Bm zi{!9H(>~4x^UsMT82k{r*Zw@Cf8K^)} ze&sT;b1XRUINOh<@Bj;L4>?8$sNyKaX}{Hx0NQGEGznB2165AScA3`m!CORB!V;L!j|m=HZtod62xT`y7u*-kg~G>G}4jG03efi z*Q-TE+Kt_UBd1fs43=Wn^ASU?LJ#-eW(pGec~8<^GjtEW%AoCY@R*q8PY=?6+R4$7 z(*2~Uh`-A6b?IftksIbQ{DwnQr(vy*q`Gp#It}Iw`ay`PALGj0emBV@-BW{}YDS3t z-p8&mi~g7y7AcRnZ_>@IFg6msY_du9OdBt-MGaww-R3=x>c#1gvSl=7IhpM)*T(0) z_X2d~bIOGZfd^iQ?<>WZRVa6b%Uis->Km?Ejeg5YQDs~RFlq(|#htOcv$HRIzII7k zKcCb|o_<#SPM48%=y|=HeK{hFvrk3CiH)pAC-O`K|B^+rLwO832ud)-8!bs8#A9Io z^}}4KE95C`3@9Ey@_TB>zDB53S1{k!w{m}rd!FsBuY`iIRv3s%^69foT6>;*na1`- zUlMUr<{%hU%A=RS2iXOptM5yuUqysGk}SPjtADoLFuOZY{Un+3S8`rfr^NwR%upLX z4|5(cD{kCHZ9VXy*T2x1_$b?rGsl@TexuzFy%nR%T?@Omx1zYxtXqos0nDO&!EcxG zcN7E%xfeZ;o}pXi*yb;1+ns#zfR9KN*ak#Z;oXN!kmV*%#v;XJ%^F)^8Wzrh2;F z6rrkfEX1b=byez>zjA$jjF~CvCKH1js>#oCEUtck(Y2^L!*DtuKjnx=X{GI7D}0nQV-}(VrOFiC6sv}KhTo5<3HN5A_B_;| zm1!w+;#6(`GO(ZCn$m;qE?(;^2QfoFz5{kV3jtouumtpA<*fAnj)T^3qD=k3L-*_9 z{dW&JNe@h+yqI7!q}=H86J-RTe-l1B30folhX?yrl)x+|JuwEXNYVDXW!5R7pTATd zUCiMyu$-_G&_ko!ChE`#g|0+tS5jd5eM%?>mLQ8sD`8aYO{0#c<1BCB|YOZ{f+ZVJoe+UEdS-=kYyE)WYg- z9yG3=ojJ)R$24Yrm6tB=?|j3ED)+hXg6|q0Jb^QlHNX;3gX@UFm?Q?F{@dIPmL3Y$ zJ5fTGU#E#VoIG?-SsNB*YnwyTg)>iuH2X}%@ReoyC=9|FOT zG7J&~4W8-VIgu3P&pN|0Q&9h;JfP>SOmlfVU2FTbPOsXpZPU%Szo$W)LiOjYlO0_2 z3WwKTND7s=mDq~&1Xq!26YA+Kas z0g06_eZ!d!6k6FkZIEcg*cd${EqaYvjlqHUK*cGTdaZ?2ru&fn39X^PZ-eg~Smf_y z)_vEndOU2J`$()*@KezPrUU9IB#V5Jr-7^~l(D?~HlzjVWXf`tmz@qGpf9^$2zdmW;7)93PAhl;X;qm&kG0`{z@sg|;F&a*J!?!)e(OOeB~@H?<}Peo{R9%$4inbe zf!KWn%pKNsSC$_LOj;3)LvDU$Sm-I4-dz~GMmO4RoemZe&FJA+J`za#Tho^wL3U|7 zI_?FpzY&&}!eQfD^>S=gM^~B@s&aAe*7^&3ekm_X)NvO1@cnaJ^2ZmI1z|Pz^bi{U z?xqK|t|@QdfIj;-cB%jHZ)6$GOk8E(jih-307V_otz|5{x@r^$lTI1y3P<70=o$4C_BlMOv$EMp-(TGT9aUy3u$X?Qmacx$4(WMS!M zw=t!F5tMIyQys8C)zCj4KdC(sP#`|VM&>9&rV)XPCX@iP7}M;@jt!!=h|(L!!t5jy z?oAo3lE%Nd`gUZv|A)DaU~gpoEHIBe`KpP9Rw13)f<0)nD8*zZ*d>KK!Ccb1gV<*I z*dWB^>bQb(57&T)jz7efByKu$%HAAYN}0-oGq7c4om4^?xf-{kvPV9d-c*XCjB-A;%OLO_uc?SLO0+P=Y0 zMxU_7BbOGNaZN%BROzJiG4NGuJZvr1wew6m5bEnA7wt6CL2Vt|j3EGWoatTOO}bqk z-Dxox$kKRmtab+|y`rw*z zaUOqGcr)`b#fbSi4Mj!}Z5F+LA2$cBN|i2)HhauEW>Q9h1bzV*G5GAhM8YN*NN+7I z*{}HuS@~hi;gDoawcG#m2cYwRdG$j|F`WW^{$13zah357IeKh_-4$|i$wp@-08at` zJD-`>?d6$*fxiUWpq{uotZRs`>1EF_@21>ttI*gV5*AanwM2U6J|ozBw42fxNwYKA z7<62Z)ZkVmEVC$qgU+@5i7s-_nR71Mt===KHGR(vO8Gjb9hbpJ7>lCh`*hD-VnDW( zR?(peXB%_gLz96MkGhiP_Vfb+>k-V~4ejcNm*H0S91DY{4$Ong!uotZi8>D=M^l~q zJLvXVR(0Z}F>TeUE-jDW(5|}nrg{3%wzPFS>UGB78@}6YquPCQ-#K%@Ev}VOswQ?C;~|Yj@F|Z8b@urE z#Em+4NF2$9b#Pd(1pFE%pYGO8eiFe=+fap*_3(AQg5!{%rl8}(O~lvJt+RQH@M-v{ z0Q(PBNtn@mnT%5$zgE68Ce1hp>Mg8I?_D2k(G^!{jZckcIL2^MnQm~*QzfsyRXlJS zRVv-POmiyKnjR=o+@D6S)tN9Ngoa8f5PHMN$<=yjuyb7=b!FSbZlhx(Lz z!7)C}V?5iYK0DQ?I!Y)BWH(+ev zx3WWlfEXRG7@kf5BQZ+2k%Ck-RSL<1ZVcanF10zJzirKQ&nnNZ@ z@Xaob1XQUx^KR59u0Z@GCZT|GSbie}W=peDRadN47QJNY$=;~%CSU3fMZ_sGRb3JujPb6*Ok=ey^ljP0IUP{U9wV_|d_+MCxxn4C>o2-E~u- zC&=yRN^y;1Cq)hcR-M^7+wd8f1r6r~R-l{wwzeqe7=M*<_d&25@Qe7O&vvkipRS-t z4oZ?a_tj(NU5}+f?bp@5WSRpmi3`eTwgbse+=p6!Q$(XBItpN>mqI1tvt4(tl&3TPa2{w$} zLBLtg7D$kuS10R>vFzyVq*v$4A_iD1#`tS3!01wd#J^|u4yv8&%yy3M z239n3^+)e;wB8e-sn998vZv;pW218zvU*E^WdUEU@sH0!ZvL{FwqZ%Oq>urgVZrTxjRj-oQ8uECwATCfbiGBA;2!l zq4{VJsnt(dqfJ)umDJ{78lfOP){yPuW}+@wiyw`wXWXP&dGvSxOA3>#@m=_cZX+l8 zlA;1-zWN`93d7%q3S97xhlNRcMSJ$$CHwYG2!{=)==O%e;&Gccwj(w>wH5TAYkM|jCzG4Ah{BprN1W3Ysn_yGL~GfAB1J&EjFwC*!>Lp)e19tU1U$oJvSK0ynbd+ z#~eoOO1|pBMmdldG@r+~uT^nuFi>+P!bG_MY*QgK^jJ{T0rO11(-A;+gO6XiSl)z+ z2tUm~Gy0S3B1M*wMZ(?*XCw3=ed;V21PaJ0{u=f zT^vrAizT4*-AD#iR5g*IuN6eHDo2!HsBY3UwUu`$UzoHA3IP7nukO%NH|N}Hcu`sP zs$MeV4g|`-MH38Uy!x-7ONxSb*378!yEr2(XMr(3n~33RjPfBg(3xGAaxG0&TQsVr zaB3fIKb?nfW2sp#Q#ymD?ioK3qq`#li`LvB&=9BwPF!l;4DIIsuC2Z5o0uQhz87rpx`{ zmhT*->;IrXWLbadT3|)B9aYo>P}5jnJevqnpxT_QLj$0s1#U_beCga=rWb$&$n?Hu z7$JP#YElL}&|}{Gw-}H7#MOd3u`QN$CgSt=Y#`7mJ0PDlU zrz(&e)N4LSlb5e!q^zvu`1;r$iYh7vJ1e;QBbcESCKs^!UtSp zk7_4CWb=gH_nw=X-!7f4L81L&Ut=CFtwgENN30UUWkWYFcXtF(6}}0-%{S>V@vThb$RZjbR6TgMva;Su z)X4lL`i84$lZoj?D>BwO&MM{R(4(q%rGaE1XzKFScA&eOp0OBEVlx#w$y>MC>DYa> zM3Z#94F0l{UjCHJ3CdM!(jDf4fqx{v>{iav)&0HYSS;*|1u!^7?bN);HGx#iJSPf+ zfY?dBWb`pHya5HOcJ#0OuGk1jTuG1?a4;wb18YmA^mW~3J2TcXYJg0B&PfMNKT4g0 z-}kBL{`maX^_kaq@79fzAaric(qfXLQDWS>B+qIU9940uj6Y6*$=`yp;^KOp6Pux6 z%-IN#mgA&^R$6dlRPS9!iHg29FcG{R$iHTfXiUZJu0UOZkJloYp-!FPwq#sN!D0=< zjiAbp&-_Y*yLjy^lDpv0di0vyLq?oY36zsBw^dI5w;g4wbNiDy5?NQ|wh!DX>01_o+-gD+!!;j}S@c)ew8E^Xtm2*B)LIK|o~HgaVKt>Jps9 z9ey+h#h#ykD{q-h;-UxlB?^hW6B;i-cWpvGSJ|m@`02T!?iRfS-eq>be*n$%L2!P8 zaNy^OzGr|p6e>^UPy$@b)fr5MJeg~q;*R!{#B2Acf2>^lz@t~tyu4qmH^?&d$R2lT zA79wYin(b2hGeG2^D6(BC73p|FMP+c07hU3&-u_rxG9WBw58!XVF%6-ia{C+ z@YMKX+y{rVbr?tk{n{yK>2m**PN$MkSK!yK-?nY6tNU8TK>Edqi7ZudB7r|Z{NxXu zJ-dEBi|Z>(XR=M+r$Xrl+8cS&vml2&$wO4)yO}6}GFu`%t+hW&Lkg(+rs{6I*5IkG zbb1?%ffo^1?87-i(<`%}FF@9L(1Gvby0qfJB;3soA(L+WgdiD2O2rkk{O6dOgTf?} z{i<~;->K0jOauQ9JB&*(U5SPf}TnyC^WGAc9z7HIP)RGFS|q|8E$GJ?gil|O+UR6F3aA3IUYXPK38TtZn|!6CCHyg zWc&u5d)L1_LRIlBEdLu$?tp7O3ihGo!`-hN$17(2Z6La~#O>i6N8`Eq!n*JMJL{XaNL(?w_Agefud86>bYwh*SHDD#I9y5V`u0c}HtMGEJ4XJ&NSfIKB zlEet=kC-=al`Mgm>dQWDfLzvMu(VS~U;U&?Y^wg_0d6YaZ4gq_*;WCJGTsi7z;~G! z(lKtpP_EMkU6~VN?h3fXtyg0@06TX9Xt(&9RMr*iKNx)z&6(cmJT$qna10dFzW9%h zEJhD~8d2)7Naw8a=)CLyB;!~GGV~3;yJx<7W2OJnH#lS>2DHUOe8#Zi!2e@$+wfk7 zB>`Su4?G1>pO}A?zzeG@d}+@`$GHBukE1gc?Y;Na9$#%1E#QVTPOba{hL+U==={$u z!?8zTg66AmC&vj8RPOQw7iG-fYF(V>*8{O+8nE3%8pVehAZFaIr8=^QPHOVh2q5By ziR}aZPdhLMaJ@b=$^WnFSOSZypw;p#`b4nvp4l`)E3STb%?cCjqZ3NloqH%xjEWe^w$g{(I(D1OnIIeeME~uF*rx)vs;Ewl$Wa3U=hb^-L&=&RFza}dqCKM6S?aZJFTJ_FECMD(WLaGJ z0MsR*w<`W7>yf^a2go`FlJIdQ?%-!~s^lIwpzDfcmBD7e49=IGsE*Gmfg)u(`0{Td z!`x%K-#{U(!rf7$MirGq^eAAm@?Wb!R+ZhE(3kO-^LK)LaZ!W&fCMOX{CT&_p@V`v z1tKFHYSzk0$|hcNFI@Ff`T;AcN33aqY~Pblf`0^K*TPENQ^nap^kaN21)D!vj$v2; z>e=gNR*?i23|~*n7{1sIsMd7_ikw1iA&up~)Z!h?0ZQWCe*vauz{y6p++N zh9;>9l0*dq$x$+rlOz*C0m+~sQ8L1>4$j;=_xbex0q>_fml^0j`|Mr2YSpT>8uN_s zI2}wLxbJWY!R+ipcM{f~p`1XHwkhwo_RF&|(`PI)L}tAF%%Rnb=wuYU^2Dqs?oiii zFp+_7-`b=-t#H~I4NneuS7c~Ja~m1wCoV?KN5$ZR^cC2&+)fJ!s?WTD*M*Gh2&GMe z5Z%V%_aLVdpnVR~7H=eN3AiJ!z(KrZ4PmGyjj292}3uu1nLrF}P?gga^L8SV3b zvYlG2I?E_#57ClO3a~fPL30yo;Z`3}wxt)kGQ#FNfkl)8csw$wj**qe!1Y1)Y8@05 zDw&Z-TrD^2e__`sfD0`>#9ba<&bxchA2YCK49Jd)uzFTIWge7JW70}owlPl&L- zdra}6FkFt=XckB;ot{4QTE;?UOC(3>rh@j;Gqdxi5K?wap-Pg4H>=tqYIY8+h?dn? z=ZC%y!H_;ECAkSyim1gfj9RU6aDo=OMf;ccVISjb!Qgxbxf8#MTD+&VyDJT2p)}N? za;X)}$V)j$2AVk@P>Q&TRR7XHAzbKiB$yM6OC(Pj013ZJ=-w)Gyi(Bon~G+^Ar;76K`tj`d~G`JFNZ$i$)EYb8)$^#PIFtXoiEehEkAn;{JvO* zI}i~FxUrq)K~2$cfMJ@&^bV_6e;wj){fS`~NpjG^qGXQN3G`2mrG}VORm`C>m1qOcitu7x9-rJczJ0Ekp%LTzG@In52 zZ3M*{NKhEn}l8M4E#CGN?_AJU{>(=i8A^y33qh_Ct2lu#dC*` zPhurXa-=q|O4zpFA42qIKz1w6a|%>G(rn}ny$OoTP(Q?kPO8$IOdwcJcpy}tVB_^JWULa;e z_}QBEA#- z3_i#tJ6EsXrM8H)`6~c6X+#dpW-CLl&)<2dwC`gF3 zL}u#0dVReaO<^_65?@BAcL3o54aaC6Kv*1pm^|b15*=j=8X&8RMb^UIELUf(t<*0x zD-R*?GO`srUidzUI&u#w8fHH}jqlDr1Ksq3N~juHhYN1L8EAgH1N%lsgLNXsr42m0 zwut?ZV&3Ap`tF^w-WrI@xDgC>`)1ReYnHN8?pNFX9E2pI07SQT%?#gJVvDXcocGF% zUKwSOaJ-MGCP~VM?Wl;J;gY02_@+onqOKi(rS8sB_=+RHEDi6(NQ37RM)^lM9Y+y_ zh(M*&EFa-&S%-h#Hdz31(2d)UAdV3?)RHp?5oxh+2Xa*ks<4e?UK9yOzLN8$k1V7i z3JM6IS>OiCmj- zUv8I&C>DS*0134Q`<1Iky=JI@47iQ%XBei9gN4F&!x9rcZ;#cAwG~$j(Jx|2ck7U9 zd6Ci!=gOZF2udYe6!~oQ=j3Tly|}z#QqWS;U?o$DB_?Sa#;C^U7Koc%MbpNTOuoNz zc6a;R9zxn&KC%WkNjzNN&8Zjh(t3|Vx#7r=9Z5XOMn(Hcd|b&DneVp3$pZM{0%|;N zKK2{z*i5Lf`pn){WmJLtj9zameIt4N{RE~eSt4zLywBoD$QmLxs`Hm9{yc}3>eXjk z#)g$u@wJrM91NzzvI|uovGpi6j15g~u!h%6PhFBO-C-j2X&01i>mG#8 z@u-;tl;Z>}!rSBNl=en@DH|a&dT46_xK+cnw0hDQ=}1Bd*Vu-jKV6C@RaLpO73kAD z)%9?;3+x0sTxXJyThyC z%)Mzf61o^5Tw*ajh|F_W*AT*T@@!4}5ImJd4If=Pe9J*+2Yr$EsMn`Fy;CB;fi&pj zdHHmE4Ds!``={u*JttK0XFw6Bo$USL`iu9ODI8R5!`G~!J6}T!+PbtW3~3a@1eS46 zUh0o>?u5hc@r0XDc+3MNU7$k>D#98-eqslx}!YbtI7fX@>2yt@PGd`|Rq7%EtE6zZ~vAbC$Dgc72+0 z>lvSm59wy?y$>-M8x5{eJ;F(3f;_`xZ1M~#+i;8D^*b#q&kJj!1Zu3fPv56LZ+f!t zQ5j?VBMJ;}*>mZxSqWLS562^-M4otB+7yr|P>5t&~5gtJg0rC*4 zf5tWdZ_3O3(dUfScL{4{v(JY)beSMXL@UOJlM)(R4_G|#d5ojvzNzd2mGv}^hM`5o zq~g=_ex)GvVX%!UjC5sbNyBbMUZ#m>qh{nvZJfLO{8A@qQsrft@^U{xh;z>)nqVdnpnwZ?E|dfxn)?w` z*T7`(SnFKqldjH7@c1(n#ZqebKR$H>h4;@nnx=*YG zT|QQfYfO`p@Yx0P4GNX$vDHX9eLA@gkvmK$Pt@s2)>kimQom{=`C~n(Sp>;V-t+q3 zTdWQ}6r_c=rXX`nJPU3IyWyV1UeW=v(?8V3kQp3|cKv1NitkTC2Bjkoabqs_fP_?@ zqTbziN|$idjbDv4PPV)v@=Bh*j{cNo9PLdTqADgeeW=NNaaf7UmtoZYl`;O)GMeIK zoa;;Lb?NtOON)tb(UDZl9M2~*#=;sYjIVrWSlPvEacmPB?@-2bo_k9$=j0~v9c$S3 zgKOM*N|SPG_>jA#bcXSu%R@uCM?RX`44|4+Z{PM(wS!LxgPMvEPI$`9T@;fb%6Rg2 z`Zt17)_17V&j0fI;JSb1;jy){jozs57>M24=ptbskj>b+7XJF^vrY7&c7mb;(tYX} z;4VCHj6nbKlYTjB^d*t$lkT`cO0z>$clz^k~wR&a$K1oW?{yA(PBRZMjBx@di`%!Mj2>-p*P~PO(6}T;27T1k$M&r{f3Bi)p^88=3;1>9 zy%@aESaea{g^J_f4ONuncQ?id`n6Xz(a8)@?jBRVw@ZVqkcOX1K7XFNYnrFZL1aR; zs^0$fUY(Vr{ZF@36N^Z5(}!`LJdolH3#W#9Vals_Rpp#sqVT2iSB`U)TipLh5tU3Z zoV#B%t4fYh34`(`6N6(t8iQKbZc&YT9aB3%eD4Z;(_ydY5M_KmjwmNx^qr7o3;zb zZ-BtI>xIw7c-&7kt~TO6j*zsy3L0?d{n$TcVKk1zb(@cuXzP3YmoiNAC*_<-n<)71 zhR4~XvkGFa(^!n6y%7Q&hAfhE5%g|uiM!ljGPrP#7gfSantlkB@fNd(kg64t&U)j0 z^*0R}Int&UHB6PqEKr%HqaWqYau9kjuUYk`LHZM4eEyX+-Kp0Z&(SW0r7+5QkGx_m zO3=-d;YTTah`kC)nA|=%d;v3A&1v&S`UDyV3JYgK|c@*>VLs@Q|8Mh zW;oLmbYzZ%Yw}iSD6RpU*XV$*GgmagCLlZI&X?{IQWzY^8(d$-dw{i6^Q0mC0poMOt*kWUCYL61JJ(W9m;?TkI=Uj)T# zSezqWH|pSX?5{uISWAyfzgS&(l&r5-6kIIRR=ywud1MF4+MiO;b)Hd2(~(qWf%n0sUhfCn8XOq z=yDJrB52ffm9=UiFR1%!+CrXK-M9vjO~Uct`g}RzwE!2fPHGc<&qAN1%5J6KDn6DC z!vx%UseL(C&`N*3=Y*&RR`rGZYrz)3hysrf9UY;8Guft75I=@E!dViZH|V_$QzV7m zTEPfIV<@@oD5NO;#-jkBZ`fT-D+5`cx+w^B&qI2*7@(+G0;3}ZV5Z18o5Vy1=PCfy zs&$4Z5z)a4D3!Tb;0X3%%~yT_V6w)Xhk!2t)w&^gO#$`!-}Gb`xD6zgz@hASw(*fD zJE1A4$4AZ8SCI6NE5avR zaopQdXwQ`H)kq&#aQ;?PT}Trfp799-59*1W<$yy5{d*usydBa@X!DvM9QX;DvVf!Z zJvy=`<)CF==n=maan}c_QFT3sn!Ge|hp82bc-eU=&^3KHW@4z0z!k12Od41BG9VK! zNZKHxuk-Nw@~c((9t1}I3~G- zJb+cO)|$Wj{MCC!bMQ1X6}5m3G7q}i?uS`if<$g~-V>jsj8oXU&VKED9ECM4wFdlG zNk_WiBS$4}elc9M+FMCucXOJP4E#!+b8V;7c{|&QDR4!0Ls{ea9{f*(;>KCWJX*^g z+icT9Q~ABp>gI1en*#Hj@K)Xw{seCQ)xB4rFBu)*Vck8;xWMCS=~}P-MMG3!43?K<3bW>XqbPioJL#eAeusNs)&j{@+_2`M`C$94&@>Jk@z?9q za5>*Y+NYBP=Uu;Xq*BW*1|i%VzElEz`~Gc-q>lR-UNlKL;`y@1u>}4jzXaItP7w$1 zdWdrn+2AF740XToMhtpSE!46OL@l@YeUt_Hz5PGZrW(Xzqo0f^QtqJ&3tUcyPrZzM z>gUw+%5U`~fh6(Q?5F%B5sMOFlRVA7D9-Wc_xAJF>l{HN^!1(-mN1?>T7cY2fW5@g zp_y))LdKeU`D5x}T~RdBfnI1MSUUkG)OJ(x@_q%g|IOhWERGoiG8g6mwxO~BGzX9u zKqH!*k%RaOg8tOpr^hwp$s&vj{$;Y$>F&nBBUKSIpf0}#BS3#YJ!ceRCs0kL26yWa zD3J#Iw%ZTzu>CxzKJ+XAaQguwZwJsaFN~Jh*BWX6^U)Zx_o_k1j9~A+`U+6v(5HL@ z`S*s;^gR~BjoHgJYzw;0k8Gc{|G+H?>dD@~W%1E@LI~7HzY#w9pEXcn3Wh%}^-EOu zuF2~gDb)86C2X$P$U~Wx$oHQgd|WjxQneVu3@X&rU(054q7Cc0CnKJd{DiP1kRN(fRPfs)W2gqSO4zr22)20du5XIi`{H!LKr#_6xmtolL@T%ePw zFr4HIVw2?n`Q_%@h;#jCSK=?=0Q{sKb<1mR9|9=-r9)-KtEw>U=m{1O^wteApgaPq? zz7bqC?@a<$KRZE()g9VO)$q;_zb+8^@57OMw z8`{gp;7p2S07JkkLnLC^ygd*n+d%eU1Pr zl%oV&0)5LrTmUmKgdmDgN`8JVU6-{A!-9>NUj%sBK!LQ zRs55`c_n|A!TdZbFDx>Pb5)dD{#VaQD#S@(5b0;m%py$1^QpSM+;_1zz1n#0AuNwd zfT_#CqOB56+qEK!;25N`SrX6)JS^05tVs+n3eFzKN@=Rjde0l{i0Q~JHQsOGcwKE? zN45@YSs_?ZR{zkm_v&}{6Q31GHS1iM+di5A+Q&eV6tE7Y1 zQMcfZvM`ne7(tgh5)$6}c1cfftoA*MSNNeRaEl45*1sFtj5qd>90z9nbhKy&+4yhV#6DDv$xap$*CJn!t${ruuz8xMAWdmM(;3n`$GR!P9` z)jm_zH_%k8iRbUQ4O+a&o#BNrEfB~r4H_Jf7`4+`;d0lK4K6I@rp%n4w6g6yqh7-W zUGAELNXc1vA>*KAvi1Pu4^!>CvsJ*Zn1_rP z^9zp?M2Krq_N`ic8ZvxJRlr@L3eJS}b9#@(i|C%@vVH`Wz$w{tZZgzo@i#zpAUU-z z@8Z7?H<}Ei5@8L--PL^VUvHMKmZ$JN^hjhUJ@QJ5l%G9Z;t=yDD1?7?^vK&5F)r)r zJEN|09U55c(}0giAbbJJSHwDnqLo#ICxviqU)z7Qr4Sc8)_s_gX@cD!5ghHvaEk?t z(5AEf2qmlTeV+Zlzri6gVk6Ar`jO(QQYUN`0C%X_K|j{)Z#09u%bSeYG5}P)&O^4t zJzz*ziKxsYXuJMqcWi#ViU^oooa$UUthr>mEbRToo{#-Wu$EU3k};F>v$cZ|zH>B1 zF^xL^VQR^$oNyL5jYjO}#ec0okzv0Y1Jj<#Us-Jiz5PMYu zoWMGT+sl!Hq`Tn-^n2dk`H{kRr!wxGJOU!LNX;4r882f(9hY$wQ6vFinVR9Re;}!G zrRb&E+u`WnEP!dvLu1|>*4Lyr{xa*o&x8a{amY>XK4>mK`Wmo4G=#KtRfBZXny^8= z2Op2=5+9#X?8!@r*@!SfD!QSp7ZX8&TJkT7RP2z zRChyZC{i;ge#v{Zgo#nbpOz95|8H`D4t}9N0?*=&WB{|@-oBMZ7_IGdL8J%#3!Vsc z=;wf*E1N6yy4CA^kYQ@!szrRE3I&!@{gKV@+Rt@WNawfksbq0og3pCK!N(f9>0yQs zv?OF5F|BYXZhr%_HP1R#@)Vx4K{Baxxy8}E|C3y4u#ol|eCn{KRP&|TRnwz;eY=(C z0RuGhS5NE#qu@lDXbadGb*Lv)1DNOf?mf>i4ag2AhQm`Y7j=9WOgIzg(+$1r1=ZV3 z5{_3!I&LH*zttzFTpI{=Q5xjybp2T$zd=M7J@8VK0 zod{##Ey8ErGkfqi14F$n7|JqoU*Rc`xhCwKmDBHg4Oq&onL^{w~L2!QUj z>?nbz>P8^=!^kBxlADj61!8k}nyh!h<-JUZaS~h6)TLb-r(jnL9Fn>xtb^Z7we zd{)-d=QQ>Jr&$t)%IzTJRTJSTMjq;n#O>n)V%d-Al>3(r9;Vg8y9eD$6yO&(b1 z;nx^{*uZV)4TQk5?ow{El_zOVZqWT$oR$MtW{oWk$7}A#?&<$?(Pd4bF^3Roa$nXM zD6V^*x4OX-%E4R?LIzR`6hI)p{ql}olFTHSecWne{*;QxsX|u#1l@03Eu=Y>d~&p| zx7bP@sAjTAid~5N3i#VX@dPQN0gKS(yxRqy`fSdzdJmqu9RA|=zc-iz2JszBlXidd ztx=u0R5l*B;(6MaRbSJWCfVj{Xm+#`_X91oH8U*mfCLxgJawft#Ix+~I+fPL1CGaf z$cGd+o77wmQxYYh0bG(hq(wjH{pSLL*t;y1W_-Kyr`QFcVLo5om4zm_wp9Oo< z)JIk@k||A)>na=U^Hcvx(TFT4-Bq(HpW^O@+zekhoI6_-`jI2lljjkwes@U$3s7wt zxP!!_P7S(W)6LAzzuKnYOB5hMC4gT@>Pp^)Zl+_lPmIjC38>9^if43M&lSffF_w(rm!+AuU9t$1-whl z5|sr>FA%p0XBqqi3bzF&hd zdwYNIjwe*4C`h=HNGxkiAY-jrl)i_s7~?m=5aY!*aM!9z=754T$n0D-$|UJDhmc1g z`n>gLu4(>vZSg`e=+=GEyY#lp@O{FU^rCw4y1p`vMe{)lx-!Vyqy@L0T|fup;7Kaj zEjbnW9U*1~yfHU71X)6bRZ?Q zMkZ_qqy(>icnVd~MmR&I9YDO#E+?pNgg3goiS5rQ{U>7QtD8g10z9p6JAtRL6Bt4% zlsLka#L@%C{T2oQu;VYRH8T+^T&d%L*gCuyS-CWZ*J1)T`oJR)`u@1$-^joYn4?|A zTipYP%K3^}VI2wb)BwQ3miTV%1#u}tUjQjY9n({UzSC6N!V;DjMr*!&@+eNGJ^aQQ z$9~cCxAL6+Tjk?%*U-8xJIHK>z1BIisNTWp57$-2-0k0p_4FadFhHY~VDGSbc%X^i zY_8$-{|5H&>LXxq>Lo?i4ldcd&7X5H8W{L^RB+S}3+@MJw`Lw8Bqh^d(=ZC<0SR&J z2^L^#{PzXzKZz>jZ}~>t94KC``y)s(cH!)Ak5b@N@_EDor|`d}H}Z@B(dM)KSD^p% zJc{j*hH5eX1r|a7=M(<_-}(ni+dp#uAJ%ZwZxl-EuLlDW=)`I5ZS`TY9oAWI%tJAo zcG?{W0F`%2tKR@tyt%$H3Z1wAv)}`viW8bsU^?_2^5}ScU`PvL@6FyO>+V-mirrl( z*>_ymto9BEhVM=7jW`fx{7!CsHH}}D-CzpjTRxz4hRnW&Iru1zJXb(*D@UoH5T`x+ z0j?YiF(&T3UMFJDmv6oFw_COaAT$PwY^1#%|D6opPH*XVI=_YeP8Km6e%rmU_-&2p zt)O9^u1n1C&cFZPr57{bsCOUA$77+d@~=Yxqn6acFL0?y3u>WiC2o7MfqDqwjh`?> zJuczcKN87qOYz%hLWpj(q;Cu>%%yF7Rzs^pmTsrBm>4RW8tLh%*H^MW{*d{0090!Q z;3u2*nss(?#6i{MYcq=i-<-e>=w}T9<&)WcP>qFx>t1AyT^}5e_`$lv?8YOHWBSyD zob4X72Z@SeN;iBd13FV)x49Vfv=L$(Cf@#ph$KY4mFWtiwu3 z_rb!$k&Z&k%)D(D_|EE9sWP^=btw*RZ*RhIuoD<;xrpER^ryfFs`5Tg24uUZ(@+1r zG8J?%a580XBX+q6Lt7BjJg-!@vO1{Eb7#434_h$IkY{;AXg?np(?ixj2KpNk&wK`JpcI-E+7eArT zacS2K+>^d~_L+>op?{~R*Z-Qv*BNl>8tqp_Ry-TG78gbW8n z8%|*xJ>p}Udxct9R$|ys?nO)$o$41D{xd+@J!RRMqlYiKvMH!Od`H=de_KXfq{3bh zX0i?}RWJCs6K7~8SY()^d%_y*#vdN&g0_ufHg!x+LCVawqvN8|8Nnat`G#GK7sp>C z$OgbnH(k3MWoz=bao~4pI~Og#AsV@API>EbDE9yx(UHHX_?6R;3}OSfw>VbUWS7{D zp@>3IK^SQ27QgxB(`(0p58{BrGG|!)2>tU$xv{|j@_a?Cu$;h#V;;s?JY;|Vm9(cY zUO58)#vOPfq1!;f`|UgoINAfVS4!3!7cBHx2IWq+V|B0OUVIVpY-HU+F65YVac1jm zU8`VR{Jjq}v+}(uF_IgmE>?r4(+qL3_vox!!X#%y_rA*1njWBVzk_Nauc_;!U^c5- zYOas%yCT^?b$S-v`*U=be!X{M=ZXV!B~=&wm+YIpCnArnUP*ANyIws~Z5tT=&2Bh^ z`Gl&pXMGp*_O}gnsS05hS9%X)SE1>ZwA(=kW`BW2$+kFCn!LZ-CS|ibJx{m71U4Wd~>YRnsh>t+s4U_%|LX&IrTY^OPq#myi}3awhsB5|3~S<=boMO~;?6leD)huFNzK`9GBx3`i zqwhLxzV&`4?%3aB;=j~{G#YFqcG8nNimh5I6au#TL!-j=!Fk#QND36qDMq#$vnu$k zR&0<@7Z~JXBSo#6k8-6~_4wRJkn;lXh2g2qKZFm0qAQN1oJG_;s1gjghk&i@FdFB0 zq6RweQ>g17awAm>F$0L|V%7%62Q1Hqz^%z~Xl?SI*|kP~<2fKKc5hm{sfk(ifLyHK zg1nyw;skZ@?QDwsU!G(fx^b8?$n>GxJ1&&@psEu&STL`M%oIFl>C`s>P6rsX>7a0T z5mq?p0TeGPr;{Nd7myM?0A$kNO#jQ42X#V}%;yU{;4I`=w)~5wXZ<%8(>W4p5(hx| zRnqf^Aw@Xiz<9FoJTkin(lx9Lh>;0`+`FB=Ah)D~z$z)-Z8t9MzgAB5piiJrB6H<7 z&uAftTe%^$zpxKjR|JH}+Tl|CH2~hXLM_Q2&482hD12AZcOE%Fn$rQ)Of8Bq z)l+u|E8qo|gU>vDGYQPr;ZW_g!N7UGMtgwlDKtRtO`7uAL?(2=L}V?Sah^_&7H_m# zP`K=|UheNesq$3{3P0}Kmq%3tL1eA)?@w5cu7%Es?Zh&SJd`#~z~GrJJ96Unod)$k|1hca^)O4uCG;^>-)!}bO)z6FK6>q_W&P#(yv1~`F~PQOxDpO<^9PU&%rAc^a!+i zFND0%4Wv$+&K+m;;_$YB_{P{h@Z@ zvmCLCN{Ma;@p8)%%u+5{5RE^!dy&W>m5OQ@i5?Y%VK<}&5AJPo&tViczuD|Y;wCh8 z7?pBngv3*#n$Xmb860Y2En5f}eFxFZXlK*|v}d!a-%s&(`6*x#gT)!Y0sh#VA~;@t ziF4Ni_6HaUifA$)P9U7ftf0*B(WkJ;gDKVX!Go+4AV#}&%cZic_~ zleFaSH*O^PsV)s$iZV!x%R+cNybj4wC8gw`sB?pwO!`CB_9|U|akG7l9tK|ezjIU) zO;cg2iS*n9V`yGn`j7|af12KfyMM|Q93|O4o;h{jibd}{y7Dn--?=P7 zwMasLH2x#xGWSZ0XBsD&N!wRnfXyL-VomzxJa~w_=`0cq0}OknDFjp?Dcwn}HNZjy zgY@jta7bw>$PnlrWI6+Y?=!c5+jM{PqA4?Aw&LxH4kn&{e-;S{#a{7)x_7l%>%BvDn~imVEAE^ zNqMX?^|aj=_D)2QWJ}h~Fu_N}zP##i9VPZ8o~CS}|K_mIct`(01KAt+eTo1{m#pzZ&c1fdYoRlaNe;D+lL zJ*nhl(t)rK*gh;Iaz*qHc*K5(-3 zh8fI)-JuejcUsorUSQE>`goVy!qsw)S6ApY^ib_JvD|Oq(Vok{ zuDZ^4YlfqxlPoxU;wU%065W&zzc#OGDpvRh^n0*U8fS82{Vx|x16}HJH2J3VNO?6t zDB8y8QJ%%HjxdvZh9n94rZ60HY46DE=KxRd31U-Sv6ujfZ872r{&ht<%x7fjInT`wMFOk!nv`=#^i43)dhTZM8 zi|Jl@gSWaFT^neRX^W$EfO&8<`2dwv?J^al2M)tm(99v+7)|FGQs+c(a^*X%sn!-+ zS9pHh#|Yp}$WJyks50mgg(}7*qDC4M1!swzMp1r5P&jNgksh16cM}{K`a=TW5u5~)hyg8hn#@W`m!GMC% z(k?WX1pO+LFF^4`wKtOxM^65?k5Aw@c*UN-<(vP#>9c2_)c@0%)5YVMb$d8*r#&xuF;DjnCVaQ`r$gS6o@-< z``5(}Fm-*S?{#kYy|-NT?!Q+juWfC|X$Kkd^h&u4qCQVZty2evgDUeVFnjhBg9$9| zW#l@ALlT8ZmFOl-o;tjv6GzEjJaj!eT4X8j2RTN|13xux8r1-;ZR9oJ#q3lHZtVDI2yXG=>sLv`@H3e2g1x2Y&CBbswQ6md8xFp)Rcu ziOXSuzE;`KE&Aer$osM!z&234ey_&N$iWCHStwznMl(oT{mCZV>SK_MVstB@KE0@c8RnT(-DjL&7Q`4GvN=HQ0UMTE7*_0nAV z{;A5ciO1#$I|eIX5KNt5(=k|TyzRk#vP-_zwqavwyi+ztDQ@YBn|vKfNXNG}@U`r% zr8i~}K{151Z~T63wd?b+xXk@grlqJGanq>r^gF!9-dyV+| z%5MP(m4)Xd>H7jyn42%zOKJ7t1r@Szzw5imjlzmhsvIbpuJ#~wLVb|$g~c6|oAA%$ zGJRv{%DC__gn+Spr;OF%8hz#ZrMT#h^`Zzj=V!UAqu!v7M|R*WPvBECIfB&^OMvW4bDXL!#=ImcgSB_dNgKD>mUzSO02r3!x~4{Dp~ zAFMYK8>A}R>OpsZVFzk_n&qzoL~Lr#){MZ6@Kb=Rgr7# zEJ|s;S)ODQ8JZhnA5m#LlDQHo$@pPLlg53CnQ|gGBvvwT2p64ik&6-0U~Jwjv%^J< zn4bL*Y4Z;k;6rr8WxC~PGO@cqmTcx7Z~yx7+2J*Pg8QjJy!~%^%(`h)<-&@sbmqEk zPR@g8z3=>yOP-l}^Nj+_8W0vv6~2*_yYJs3eCBT3;F#%K|2GFN?^2-!r)&POZh`fM z#!NQK1m|U0(q7l1B40(^b@b6A9#*mOrv;o^9l;^geo6Y~?b?hW#Gv@O%}wlWi{OPe ziknL$TSP;*&sTQ*8mwlNkCU^i`YyvDkZ89~x)=E6q!6jL>M0^g$xOL*tZ{eHTRv{# z)2=`Rey(YILRzC5HxY~1z@^3rcHpvoa&V95IPawL%~Ty-)ZeN|Wl_Fvty#?89B&sx zG%#f&OeB_mk6)jzH<}7_Xw~DfOBy;XcV~jak{|^|P=IHE*6o%qRF1lksw2@%SRi~J#H59MoVv)G2>E`FEvbjPvY>0lKRBJ}v7H&f-b3IzAI z2Cv11r@LKfPPt*;{)B{K3uDxL3r675)Me(Yk0>=6b$>fB+Q%^50zI&_!$ZtDl8)Bq zgfRC&w{ORmO~i8LJkuYi8tGG~7_Ta8$gz34{C9!N78Ws+7aov$AT>x}j;ifFbvn630FR9ET9F8*3;bx2h)k(Zq~NWxAvvkeA6 zn2YuJtAvkKBCMlX`Q`3PKXEKX5siZ!@jh=Bai>f(XPe6-_;^{c@q**a89Iqq8M%fP z>u<}qkttTWVtBqJDqj_&E#)pFxQ<=5uJOsl`6x|k@(vqT#iG9x8(QVi?0`je-Y6k+ z4W-3rpjRi%>g@yO`8Xc=wBkx*`j~Il9T3xKCA}hFG$2)KhM5D!#icof|#?Xk-rHNgOE~4^QT|>$_vG3uOQ80J)C2na|TRwI2 z0sc*OUs@VFmrn9*_onarCwF;*NuJ!YTzY}6C(p=mEGbsxw@ddUTJ{Z|jR}jT5VfuP z6^u=sYbdA=mt5WHAUCef&wYH$V7vqDl?4eBKAC#UVdj5Et?@W%R0P4|Waxp~r_tPf zmHQzkhchTNTwJ)TArTamL?gAu$YZUs4^L<*Z`eQ^VfV902CH0V#5hJKY8}I6T%!N@ z9AfOaQ2p?>>(6Q(Og#cOXjmD_Hlw5k7{%H*7tIqS(E{Us=qzfBUz<@AQ={ZfxMl)z z%yR{mQmk|fy$~Z-^@Je5<-527GdB*@zV&L-PbD>2vn%o~(tXa$la4bi^W$#RoV|S* z+ju~Q94+i}Ln?oPIlhQGVA4j(nmGNo02J^6%Pv1m*G|Mj#MHcGT(#S2W)^pAi zWtT6?D_~??R!-CsUX~;r^Q0bg)w$di?wS)qp_boAr*nFbPi4SQ!QKzrpZ(t$a#N@Y zvY#7R?VR-1uV?#r+frkxRTKy*4g$$bH(2&>Tua5Eb&f9wawYQ(4Nn=Liq%8YQj@8u zjhx|ZI%!h=Ht{qp^wmX9r!n`F-_h}yXtxEMF>fES&4=EPa$4I@Wn51Tjj%gXh>dop z`{JW;N-h;TSmMhQ@-})ucLJIR?ADUW;43rUhyzcth9Gk9Tk5mWjh2 zxzr_5*F>bA-o0R#hh7p!`V9r|ehkXQ?^j-OoIy7v7ua*s&fWcS zB7Ws_I#h%FvM7zskkagyBqnLbGa*;FKMF?T84NVz7HCV91GMOVyFCMEt>;$HF@iwgI5kwb}pR({}gbXN}jU9mv^YJ;-o0HY{D3Qq=oeTD-n$oQfuV1%+aHZ zwod%2kxz=3eI&82nSMdH3J7Bce4t?iON1eVRXajf zuFvmnm$sJl`}!vY^PZ$6^|17*$)#BplJ2|0ecC|pzNjK2L%SW%?6tdcyiS$NUQ1^( z>y;GO&7BGlhL}4VCwQOuI~$+FYMi9J8{qr{vZC)hr zMX84sVG(J>Gf|w#cYDeVRMaD+L!ssPwY^?B9!m@0!tVWE#9&^9q_yv(R-f~rmu8G+02;okjUP3?@f*jb-T~wg?xA%#9ldt8Br)`s`?Qb~2k0;23wQ_hY6SRI@ zgFbt~U3CFLClq)lOd|75>mc3I;w1}Q=bvL4L^ZR&&~s4Q&Ij&oXG#=CtsS{B0)K&) zX&<{nG(v`e6?gf%@<$(J2@j)3+6d}$Amo+sDpFO<*BscRUqRGIxI|eTg4`m>QZ}j) z=^sM(lY0Hz-fmy(IFv#2y}+wP>Ys98cwO5$BYE(fvgoNVM2E^II-~nf9}IQF_=XXy z!6(9IoQqlv3-y;hcoS4PTQFH~q%Z_z{Bcl7;FCSPH$4d4u}2NtvF)sT0NBc)ydbx} z{K{5aGGNPt6cT0Ru#n?)AE{BQx6a)^Wp!*u+XUVc4%Mpy#m1p#KK>M18;CK~CuLZr z-K-4*w`z`JHlW`(gm^kBY|ou81r{Y^9YS1*-S`RfIZjF15~n_Zo5#h{PKmE&z_utu zxZP-W?j>Lu6bB~YrYezAPl2d%n>uykP{@^I-mx!V_g+)Gu;h<7~H^0@xC(P5EdOJz88oh4~9~)9Qvi-v>(d6zJKRsF^G8MP)F#3 zK~b_zPYBWLJK2BghB@+vM960BM?Rg?+6ZsLQNIK~@8cpTCa+I?IvF-MTE|^T84o|A z91^aaODw$#i}!RMa8Ea6Uc?CaL=Ioyyp)B>iXng$jbSxzWJ!?Hz8tzTDj zBeWxqIJ+?IBga{2ERHjhsS!{uWo(?OGMxFW9&Avkq8MOZo2}W+%hpcNvWXi@10tmr z>{+4_3c=(hZ+v~-(4hz6 ziEz~rVOn^n3gKwQ{zFF@%q`v#JMg6l18)_C=4Vv8yWboXpT* z0oL%tNhvxb6D7F^2xT5oVA-eWBf@jc#7_?Iaf(zToCW~6a#YoU{MK1Y)(}i(BGJn!J|>p&fEbtD*M_yfyw~ zD1LeM*O9OzxZE1y$nl&aHbBqE6InJnvMM3|YkLS=9q5Hpn>5LK@o4qx#d->=5bX4n z&?AfQXM7cdIBN**9HsFm{s=sPcZhn>mtHvom}*E5u={g&>5`G2h|_I$0f(A|{zlGJ z=9_;dRL&MuMu};iJ{HV*y$Biu6#;7lE$t~Dz@)~h$E2T%tetZzN_xPcq}5`Y}*NoC(ko_;57b#b4gb7@2{9xxsO_Ay$^=on$&X#Y)kK>DBY@S$UIGsC>!kUo634i>ib^{p zpS}*D)Yi>Gyg?*R$srjzpvTEn`0!!?tB<$3LcTH9d27CWn)Wu9+|G$_3Iy?zquh5ukk}%vqiW6SVzI%D0dirXXyHU15=V@eEl+Kw|HmEW6|;-c)|V7-vd~JlUrfl?OY(?u(I=z6n(J z>yx(4@$BpaH7}S)QdB?FJ^tzeDW>E)VB^<(7U8CBzvUxi#>n9UQ#$w6({e`9ihnmc zak8lXh$lx#nBVX#{u#s6u$&Db>VI<{Fa56AzI}ag3c!=87rNNZf?B5_37XaZ;R(O*|+Y%G`w> zZQotYdG^;biZ&h%d)fa^Oo&CAH^6ocKf;kOZ8aro7UY|qFyqMUvoC!*Y`=;{PJYvhZQe1%O0a{9h z(08V{8!GloI0hpQA@=D*G3DgzfjePa&2Pnz}zYE$g4{!QTwlszlq|S@V=%eoX zj`WeLdmoxOf>Uv)HXO$q&~gaeX}ul({=dJJXq(HGM%^N(q)e;cT{t{Wh0>qnd|a{t zuWYfzs?vF32>OMa`c8%T0Whfq4v&&Puob5~;|Lcb3Say&Lw_H}{Z2oYU?1!Aowj)Y zkO@&nLl~ERvDt@6G2~pUdO1k@}lv2%jqMwmJp-+c3y-4J2AeeEBc~_JN#}JoT>~ z=n{TO^~vm)+$(IG6XY{=`J@OwS}PPh5Gy6IEXg5yYSLD;2ecP)VeJeOO*d;>`p$!% zIZn$w%@TRmY>iQMb|Bu0c=K%UjsMOqcIqb7Iey*a0eU9RgahJJl8Mpg-kdqjzl1G< z@aD(CRrxHtWa1|jxIQ(biyu$g9jX9^Qgcya@aVR1#IpO|L+v%trrhKB=oia=kFmLP z1FC4hW;QWX&GnyzuB0}l9>I5j&R7JH!fEXI|6ccKkb_TRZrjs$9FEo_1E zv@e-o8Gs6_X9SM0p!bALL#lNYC2~IZFrGdtEaTZQQh$6iu#4EMd#|R|0`1}(HdMS% z=WHrz`p^x>#pA)wk0P6qdf7d&gIS{qIuiYFt|N5;=;=pdVTr5$5VZ++1@iU@(SUhG z?TN0|?uHJ#9Xx_Cwf#(h?ksKcozRpogh$Y(p1%F?8#`s-olsBA<%LuW$m)3hr_scUQu^tqgmpt4nXI?uL2lYv@?A_OTo5azd z%t*Zw4MpY)EEQ*E$(g{x1La&a@M&`P(IDpP_S`sh%a?Qp9Fu{C5-;L|K@0i} z>GSUDFW}ARK~~89D!tX3(?9rV?cS`Uo7rk;gWa28KRD~pog<#$6tL5{klG4SuCTaX zdF^*wjZN?0bp!dL3?xN~(mQtC7RtwoGrPlju?Zhax#9>ck9`bTD5*Cj5*3GFQ?dv& z89}W=IQot>iFz6JHT;oEZsbh4uIG`DT{Uu&oyjp&hqlk*Wmma{oSpL;#=xQwXsay% z1j%RrU&&}hr67J1H%It)FjLi6Yzekv(~C`U6jx}(;>4CpbH7|mekMa3ScvM7^l zcrk|u`HASet4JdihESQoRA}<;K)#ehITZP(_vB8+LX$JtdOP(>rg=pMn>c1WTRVyK zto3g+OR5j!S{aC+9)PN0{0f*`ODii!Mb8JzBj3$wxH5u;zN@QE{@(*TO!nS&$tCpf zeCh?tcIy8*eVa7(`v+C$tHt zi&+2nzEi8Gh4-xM{Rb;Gorb;eoiD1ROF2!*#i!*nB-mfdK}n5K4tx7*18(mbP@G* z{z6$Q1zKniqdDGQ+}b3LeFLjX1Q+vyVWq-CoLSC0DH=wlc~gl?8Ntsq2ze9kr~d%x zc4|f{n@gU?Upv6MnddG>dg5b67L=K`x~R*53%WhlrzL9kP_HD@QIDP)rgW~w z0`pJQVgbsG2@8oU1Y^TI5n99{hd6rUZv+HA!TMCyo5r;jgWiV4uo4tJGUW_eA{OHe zLm|+IGy_jj$2dt@2{n(L{d6pXyytic8xUk3D)}*f9KmbC5v%0)qRLL}=HxCzuk_0a zk%ydTuu&R?)*R~0U;L$7KbEs0A2SlQI)#XX%8Zgfzc|^6FOfuJZZVs&9JmUd3?^tG z3x}Y#R)!sHM(~R4eG_U?C+x0^4QwQ8u#zn{$q=oOz!G0^^fh8Buct@QwS{H^9!b4J zrUIupe>uI)493gDm#RDlzEX2CLwM?qXbXQ$EkvEHc<`Z_aCqm>?zD`{I-63+#Yn8t z#@t8MjZ-xf91O}ln!8*cLQiI^ga#yt=QIeAYk4_FWs!c9oQ>mazL5NKbElG0T7c79`UP-cO5#{01f*(GI#d zKpdSIV%1`bYR#-1FEyeMgJ&@Qn-Q;EjNzPHJRi29GhQG3Z=*~e=fJVfrxoXlPc=*B zb)OA3r;EO5V2g1 z=L*1giYXf%*+P?misfMEJsx3{ZitGO!18C}S09)k0Q)07O07Uvxkm-Rz>ybU*mxROV zt555G_#|@UI9Rcb${jTzFA*ohnDD!Cx(8@c#o0k_r{m0fK>ZsO*1XLRk@^wDGy<=< zgynMx*dby|J5#BM`8+7CzTWmmHcHW$KfIW!xtqP~8B|N1Refcs0dJaOtKNSOddm!| zT&icvkm`yiH> zJ+w-q(Bevk9pPV^pa0Uo;c8p_3ALryGV#KiSfE8zTYFnOv-{d0O z^!c=^<0o_8?Z0>kOta8_8@d5$G+mlQ*AtC=ShALTJ1wIY=YOZut#WSM%vIETTE1iY zr=#HUjc18p7bSj!ghkHREH)f!a%-x4v$FTki~?Jy-+Tc^s6xaQgbV;@o=)B?PQq@R z1(*cA_?94vEvPDZ^gM-&ag;gQ{%~kp^9Uh(eGP}8qTS!VgX+3QJl;+MVo;+xCcYv3i7b~; zBE!p^c^+zY0hWDVY#FJ|*!cE#R@HsjN_Xe1Jl4NiBi?Kw>+#Acxks;`gm+v;Ww=uU;eTqWn| z08C6KPu&?*j}|jb;>s#!lyAb+F?-pr#?MX~@k$Kz7J*AZVDKHM>FIa)*!x+RFgT8` zF^rLDIKYn5Oq3ThE)Vb=k5oF#i!i>VJRsOhb0uIz-V7B9<#)QWcBXaTN*yM~|8F^i zFZqHJ3}~a~9uXrupJNKCfb-@F3e9F7ZqTWn`yF591<_Bd1abnqH))Z4+;Z};^9448)r1!+nbxhJiG|pr|88o@eKh_<_J@Ed z`-OMO94@9+iME5s>02BPn03<$P=!SLE6FLqP1qNr)=8Vv4Pm)XN~i)%G;cRo^R*z+1_%TR=Ls_KY}r>C0d z^P&$5*++0u1_a+J>&Lu4Ov==Q14aBY2Z8hgAja6cbbI@35msN)A21Sl6K$o6$hCA{ zCk@`&G^gWn*ZFFV_r=)J>E* zXb&AlF5FT!gZ`*5+#{5lXZNGU6=;LvpY;5L*$Yy*5kb5?^R08ZNof9?NDs#B@?z)r(FZR}#B#G>nB15|BYk#~1ZNwEu zpq=XH{Mzo1ESC^#Oe~>)J%ws!jF^Wl8dkXG$U^w%KfY!br9JFFl|;xBHrhGJ6lpRC zz*^7`rGIF*MVS>&Wlt&1k3Rs^Q6pPiAn;P4b1N*DyHRHt3jO8-80Q0H_1ejHrVI%Z zrW);VdI`gXPpE5DGPLAw`&Se)Z- zzPDNZiB1lgS)M60a#~q-UsVAXMld_oFKKtBNu?*n{A#9^p5Z;fr7+%1Gg4-_WMauT zKdERG{=F!7g z&MFb#mUo_MM5Gv^oNF$eR}&hVxE;Ki1z8$^_Ta3h_bxzUSG za7OkZAb9;WVetx1^9iZS%O1@oRnv6iP))A%(!+-ww~j6`&KiKL^bO40l*vvKN;Y5F z(y1yMkdB#`oiaQricC1n>8S1T=KA0VrL*}8KYV^OvwWM*q!*dqRVmkH;4*1*>6?K?<`rpE>zA)yI45N~~T z*=%hs%tiO=&}3Q(+G^ef3J{-GFfiVSg`z^%m1@J&JFCi*_%< zW-ASRG3Nn6Vk5fAq`~-cXbey8wW>N(K!OqOvx#LpoJw|pv-yH}k^ijZAUgqVJM1N4 zmG9Qq(y%4E3gUL{if`B=NU8bm@?jZijzwsRBFKD6v|#={*;gE2Qi8^uXZd5G3e>@u zqCIfYteq=0l_v8cf58AlwzuJ6N%a4Y=?yr}!Og!A-U?d^p%6)i==438ObnBC`>NJ4 zff6eg;>}s^?fM8m9iHnu>r!^{?OZ1A9p>V~j`;NEOW0-jJO-LPrISDdc*vst0FLT; z#%QolXp4s3JtlK}?BE?Xnz)##+w9T3PM6o?fkz%RkMA~2e2*~9F~?R6n zFcj{^7TDXqX*@modM!A=wA)g69_$8}P?mbG_W&8W0-+hq%h|!BKu-V}^RXMmGw?~| z&$q5gepEm443pJdmHk4DibA+Un{i#Y;98HJ*-p=H&sM^%3ds_5w=)0g;*t@N=25tp zC*Y6ion9oFf-A_Du(>y}Z{OXWxpePtqi5y~dj}MItK=+>?#KJZrap3-Gji2A`vGmC zJYM|+ww@dXf^%6;r*#Y5aUA4GX!o1IWUI5@+Uj`!l}C#0XF2z7V9(e62>h7~k5K!i zadei1%HuIZq%tUp#72Fi@{0mA)~!fu*_rW3PynV^$*aGpo?_@Z0ZY)?6LrisO3K^c6_9S zOQ~g%?2gk1rL5ZUQs%^`Kn0pcsDyjv@8gKcKNpJ6uk(mmpuN7!^U zeGAMCNzyOh2Qe)jL2-)F)I5du&{r@<@(J=VY&|JgzOkAjDH;5I-zF(Xp&4VxyhyblsCjRb-eLmOkn0i#doc`sch`#?U**m-KJs{D}Z5M zVYt7P&Y@ve$*Yi@Y;^4ehT z%9o`(*V&$Es?SD2%1D|{S&_oWJXqRmjb4ULHtWF>)*``00}#YCnin9DEYbUzNus5* zL@Q8oOFiOIqTSBAJVI^r0d0CgtcF&`7_Vltwrs0DsdQc?(RET5j-#Hl)u)U10-M$^ z(US%%bFk1KIAT^mkLifB=IsR(3HK|y80X3ZLX3w~U*8hD%N6tst{d?fPS!BIBPth3 zpWO9pZZ|cBV3x;YoR5@8rmfg%LsJIcUgf!itYyaXUWcyKowR#+E<~&#bN`>mFyQnV zsr>8kbUaIY@3pT?#2IceN@~QX#2Sy{>gFP}qwlvtFiyg{%Jb%!EK0B;wB3lGvunqh zP>8ZK88xwc?hx3s_$E*e><;ujE_<)kpYRzl{yHs*I#OQp<*AD|_@){o?U%~L-4_+D z%idc3nx49rOyhT;mSIjw&1;XKg#d!o$^BwfDqMa@`(x7fpYM;iwfFA*@rsC1)t3G( z{c>&gw`pcJ*^t=Xq3Te!khj>pF;X0&YL}h3%_O3y8^jBP1I9klqc|00ZZM4{!j9w( zi(t}kLsMn>YX`POjL%0dr4n)8@KGpUA_e^7s>mGM@yhJZHxO-nFl(XZ% zXg)Le3HFN3b6}WZ?04${C?Ll2mBr9kHmUT{dtnV_LUd z;`L)66*P{y#&Ll5JF=tf|A+r=&lA%GPnw?HarY%ZJcnl-P%Jo@N$A!c}Sx+&L24f?I<@i#H-lAH{-wV3beL5EK`OslQOAK2}eGwjHSKZ=#Mqq#`rdDx?D<(Bz5u@y20 zivH~8q0O+7c7JlGt1#|se{1;00LP`4Mb?7o3j8B;vvz?5gn4=Wd^A04Ozf+&?=AJ; z#0$|0tf5e6y#Cr%p7am|L#2eOxwdk}E{13??XdJ__{pb2#f$267$P8*>#eD3g`NlU zrqf>DH3d4Cx^vcvJy~i(xpH+t)_vto{oCH2wVZPjWIeKi+E>1lKkgS<`Sw2-xa zz5A8K$viLP7zJe9Zw<@Lv#Q8OeyPYlp!`&fwE^>v+B9AC_YZw?$-TKV9_Xg3x)DvM zY){Iryabj9L5A@?S^ECESM7?;gdGPc`T;M$CPh&xNSn*NzXV6S`QGrmnby5~6%Msu z{BJT1bvCA;bsNcvc@akL5gRx55xd;T(#=oHhDqeYUgP~7nMi$1YE;qR1#k^tZ}Myz zpTK_OY4l#hv1E8;ic>XqVsU5&-JF`ZwHt<{dMJ#>O4~oDg$W3}z1!nyCh0F7ZG7vh z;^9$)sa+P^Xp!w>bLY)}T(iNh-FWbYa_+Kq@TmP4#(Jz(e&cc1lvt_r@Hbe|N)(tY z_$pLw$NQCYZFcte*KV~X;J5weQ9dv%NN4eBqWRA6fy>?l`R>IhdYMRqHup3XV_UE9 z$G&TFw9*t2U?nOkwH7-LPXCOO$bY9c--1@Qrs(LQtyj7nMN@pn&csX)UKje#|6TH< z?W6batrobyzvja0n2V34uqU8@BX_N25c#77nGczCy=R?^7dV|bab+%J51vB6_GGDcib6sz@(q_GWR_vwS&J{Il(iWl2@Wx7eyGGX5-GOhm^9NS; z&-R}Q;>N2I0!LwpR3Vo4qp;|m$k$8)Pcv0?-3;gJb@lXrf61OV%2O@-p-Df-@&qHI zZSkt+@Me!6g`Z+JTUU@)`Anckw7XZk(AK$^{l*{CM`asdVr9H59>4Y)2}BwNEvbzE zqbbZjQarxt;rrCVA5|gtOB1thE``m%z6u4$lVW$%@pTLIYi_dO=^0{EbH8ZDNX&6I z9#`k7b7W^8C6!-~@1AWImsMB0#6|OQEWd^|skZ}t7Vnt6QTK>;f1>#O7WztiKE3dX z&%5V&b?2s1AtVP7G|C3V`5)%DBf z!n^GsJx(C3D<`FQn@G1M8yP@=tcRoFmy{M#V zY^TVnrCsVrBSM*__Vf=O%mhpHfo}%lu7|(!Zk*T9>5pE+We+mq6D$|Z=Pu^(M?;f< zFKI$!ghh>pQyY@GSm9Mg&;i2tFIEeTCp-+2z zj=y{RYGd?wEB09n;k`7;f=1_01?e*|cWR2@5;M)uR8MIHv9Q&wb#F5)y25_b^G;Dv zRLz6PITpsyPTts5#Yt%3i@s+EUXQUSR| z6eVi477@Ff7yc9yMVES>yt1wT>Su=cTXTwG)oL_6^tzer=UeGl4q_ZO%0x3~D37}s z_F}UJb}Gz^ih9mE%d&yy;ySXVOLYWN&~`~t zYBWu!lX2}3tlLIg_f8p^CENJUguP8qJ28sdN~tQ^~qGI`t8l77aZ8$zFS#D}d!?P94@6;G7)^uALhsArs{*xlcxWV3>i zB}$JIy6z;HaX&q=^vZ#L(a4lRDsDnifqOGGJ0$#i(E{T7leH>1b3ItWLix!XMxkgP z<8*W7&lYj3Y|>1RNDqS^w&hz=qxD8Z_U^mu)*T;pyayZ4FkT^&>T0dd-=x1~y6bVm zYQ2`h+q+L*QBC{Qid1B&NpwE<%T)|jbbA=%Q}B`UbDYB|-E(p=*lGWt^A2Nr+0D6K z8`z}afbGCjs7i4SHDri*v7+;B9#3O~q`{uGh#=+W&2r16RfE}#y#v`45d{spMh1o_ z%*xz4Pav|SDSF=hUJJ+e?MUKxbEUK- zW|l<#G1BBW59UwO;sa`jpd0Dar;%+7-!{rmUOQ?g%{oW24&ih;kK9$dn#przVydkshKXFo~?!~0cGe~%O5hnrJ2UMs;JTFgGOH(Dh!#D zR>f2cGA$IQVk>jc;(~tj_QRNEbhY>#E3dF>-}7q=LF{=cVW@h3y<o>{x-dA zfq>~wHRlo|oZsSE#tl|CAADha{uSFAz`w%WopV62H$p0j>C0v=(WP0z>2|>R-{&r0 z<>M*6@2aD4Xz^giyCFH>mALhN#2M!VQi2KY=b9=VzYO9=bu}+_JH% zNEnk2xpar1BOJ6`m^45Lx)wB+=Vy2z`8z>;QR?Yr)ySQlqo$56DzUz|D)4@P-G}(R7&FX~Q)bVu%Y!vUIX;$_%*@tLINi1WeUCT#Ck)lbyRC9e$X3Ia zUT?QO=QkJYqv%ANc@GHtWr9Ri0NxV1jZ{FFGW z(yL=7lB#tuQhZXVK->G#`)%ST>K!gJ`|3U^Q%AanKHln$H0-_hpA0lT9wM{LkHu1X z_Wt&-nfsx9MMt1JvaIz(^?Sp+J(t?sBCMyRhfwA+ofDUCJ#iRt;Z2|s{&@E5G{eF8 z%dvbo4tfSZrbOwhXTNh5F_74d)?;q4)*Yfgg9`SoRT;bD7k`-hY2(uouLBbq1p|Zc z1$=^k_su%#t`T32Z=pC=zj!9$3aXT!m$ou{1#Z5$8e2ytj9;#c zVh%MTPNMD7JCm|1D zhNFw~6rZb(`mx{nP8YKr3Z;V_f^;+GTN}D&nfD9n<5=h%Or(g={=%Y7y!$w; z@KIbd84OR4<+I(3ey=sjlA+I{Bog}TRcWT$yH{ z#iqK_kb9E~9s}iJ*PHrggDstltIMh4UcC`2bn9&GsR`m9dPJX&)GbDGZN~yWk!em_ z_OM#@X7yDf%HU`7ZPfASbcb{YhId3{==dlFW|Q>7rvjWF_>wYglqcPc_-ONRYtG&T zs&t8*T!vic4ZU9~a0<>otoH1{+s=!SAJ`UrA$=6OACa@lipy>au#BSRo1v8qp5bEd zPcc52A4*bZ*DlK0)F+Z3cQDzTH>hi&+`HwuC>yx2N|gYyFL`sTWVJ?eVfIgoAa(mW zRF}714nZ??K@6bX$j)Isn#ynYRIn_q#ojE2=;TDI#(Akzcwu?{ezFk^v-ARtaqX-D z#wJji;LhwBQ(=|o{?h=;bV1Xgu~qqaK3w+1prUf}`;6H~<|iCDHG6IM8#SlZIVXDC zo30({&ODGS^Hp%U{ikT39qtZ{YV%OSrpgRLmM_GLIEA?yuR^Upfxkz&Vy-Osplr4} zd`E(gQX<@n|LG;TCWsZM?GvLpLBWW2x@3P1u;_ZduKB*9kb^iYTb6g@upWy}7!GPx z17$4#p2w0m`PH{r9fQxE%5Y)r3q$_(VqZ}x9AC*~NpW#82i)I~~XPyu?06$~F79&+Nm z+`L)rq9b{|^!ohBoflUaW<+|$KEY+x_Ip;Zne@Em)-RZyJS0vl zEe#Ru*r+)2Ls>1_=@?xffRVfhwsw1OI?Mo@BXHql^8?J{&f{WHb7L-~A(;(%#4NVkPtf+Py=R3ph|JlJ3#eB#Mh8r8I~(==|-8f0e3A+DX=ZTl;cpMc;a=2 zpmf{ zvDOjN@!lQzE*_-T&(1^<>=llDY+SAzehzQ!mH>5`bRaLYkoK_s>oQp~f&D^~CcW?= zOs$Q-R(=j9Q8g-uhohJHaX}qnb2j+dm}Ssm)o&S-!$cs3x-Aq92n?-eb8a8M<+|Cf zEf|7MfGV12Tu5PmdXld|Pqsx7j2RAIQx>&TctA&*&epsD>zDYv38@Eci&i^l#;j@7 z3mSi8hZuy9E44y7@dbX&DM&LHS0`poSV1#28@Lm{11UmEn*F?>J=AFb<8&>wmH;-*vII3Xh(ixLc+}_ zFKY$QarVCTdR7o;&}=dd`_%^i){2J4GjH{RieYr@VQ}INh(FG3_pK+ifhJ8hA#HX3 ztnqqPd3q42_=_R{Urj?F4xAkA&dcZyhW^jSU+C9Ff;2jYeaoMnfEzjj`oddVgRtUw zhZauuMDjPoUA5E)FmE_X%nq0KTJWujR@A`fYy+MC3L>I-aN2!u*dEWje?M!x0x#Y}4$E2rv zJtt0-rwx1*BlvMU$-nk=al1e%p*SgY!UY7j-( zmXk!A26n~WoO&2R|81~8PiqUJ)9at!j&C+80fWaO%LMC;D!p2OdK%&WbxL-x1F-Qvc|w5Dn0%a^HEyEXlYhklKV{ z6Os49#<~PNG4#cPpXcH1_kVENy-b_bCpys1_z_;DbTvNq=(R)a9{mS;oPDl%1-`ka zv@VIwunSSPFc6p5tr2Q2$=pD4U{sBsD`^=-ZMl092j8BxDrDUog~4;97E+<_Hy?Zxds(SzVK^O@;# z6P012ty)YrE6!x>?D{{cs=xAvp6MCtC#HX8#1^zp+Z?%?z=Jo_c17xRVJ9S)4~Ytq z+v63NK&6#mMFD)~({)~iBE929rR%HRCDJR3V_Xv;UHnmOFJ3IWeo=4Ew_(3wM534m zr}XWu{Z}k{uS#6oO8>KJIn!v&rp{p0>C>ButzUAnfAAG%HNlXly+>Cq#vEjVnX5MJ zJQAgP2)3E=anD9tRqp=`8d0jWg1b&gOFop+kqx;ERoWt3)UM3aW_=FGhqXLfLT96_WmZW2}J-R{^i?8R^m>zG%xE2Iiz6p*0X2Qtqd#G_;-!5m27$(wjCX*67U^5ykX z_hw-52Y_p>&NAOP+ByF19rw7yTd=@ad)o59e|{Q-8I3;Dj0VFW{=PaDY?$OM$-Bmu z`I*^0_zOS3EV5)|)&#I&^v=O}q?C|s>*P9_laA3)>0RB*`q+#Zb1&VkN!5LxBHz** z>OoOSQ}&HUFqse=BU&f5$BD#h*G>CEwqKvd{P?@Ti!i&!e{5N}Sn=P?N)v5xUN}o< zsvHUZ2xM|82mMq@6&f?ivM&un`;60dUSucrGKF8rbM1)%P1UeZL0F1tY;X2fAy0K z5;Ra+{Cz9KQEbP}$w^OBc{wOKSLodpz`R$^^4>K?ba{4I179J(72|dant{cJCEkue$u14zs(r*IMT;ANj zZont@-6xanTZ+BBC51C9cV2|Lb&fc~0}93Ytp9s@=UO&ae0K3&bN(lSPehRjWnJuE zS;YfLMipp%oCb|s2@UP0R0o}OBZ$dWNd-f_l!|z6;inj*@myu8OijE`@TtiMVfQC= zb*pl$4As=rv8SW%hk$G$dXSz~*uUayn#NQe+S>UK8>m|os_7lXvadj_?#>rMNTBk~ z7^W;tUhHHuBa9XNZ8|FqsiJMmc5#472k3FR526~`J)~qJX;)u|e0n{ic4lfKh;2WA z3>ADvb*0OgBY^NPe?$P(^CS#&g0vTrsG-u#6lHk@Q5sVP&m7KXH#aM<%OUiV7|tIki87s@RKG z8qE#+!qba7FS3xUoEqzfI=lSp`3qL`yj!f(KQCgRV7l-=Z9eiQOn3?m=$Ed@4tsUQ zQRy%zs%KTb0n5&V_~D$n?ZjGIXlJXF#v#5U49Xx0?UVSr@w>c$921bZSWX6RAD%i@K{m-!U4D7!9&oqOHS5Tl% zdFR@BfvSOJ>%DlJ&TJUHUetE_2)Zoq2ZV-M;}Y;Ui>Jqa|A1u73^!vnIM#BZ5_0+= z+I$}|Vp*eEzX5{HO%z}C9Iq|a)))B4h$!>;`}X&@8xfXQr>WmhJ+TeFc5#o1f^$PB zqL*0kns2>y>|Ay3e#$Uvx40_rUYB*vSf-3qu+N{|+T54~|JLQjlf!!SC?-DTPJBi4 zMX>ec#;R29-}$gz_-WAD2ZCrk@b|Cpht;BzLl)JJU~RooI1o>4z84W=1FL%QGMSPr z61_vy<5*ikgu~aH5U-E`b_-PO%RXQ-;x~Q% z{$#|uFK3(jB<)TiCu&BuZ`WP!T96!uy|9qr+VoeAgx_Kh8+B6~T2b(c*mZ*rm zhBBFH9PqNXY%R^ST9>1Ij0ET9E(HzROKUSq4#k%4TL)L8L{p1|>VfFM*;p0IljLyKU@aK0RLKAqUG_O~c zR(SS+H@nJ7$bStt#x{_s%+i!NDD$}PO1*YAw~l01?1=lk52^g`8PRD(WvKSTqxR8H z-`vY7^aTiqBNIzwj4OK?yP?!4`jPO0x;YpMO{H9W=QS|{N#^8QVm6>}xefzl_-=OD z1pQugX0CQ7fTW7EkQ_&iu6O5Nv5=-=AsHQuBk&AmADpthf)vo?s!UTq%9s0=r-> zlp&UHPqWT)U2NP2`Dwy4!<n)xi@* zyqjibf3GBvn;xXHb?uRQ25Ra7oo9ci4k+Z8J)77dTgux269{bO@begRB#mo>^; zWBIPovdj7)X!G4FC)+(i=IQTQsO*)j12lclv|G^O<#jllle9+L`cI0j+=m4YA`*XN zov&DWdC30d4!tBth=$X=(p3B>9~``L4>&#|-HRhH@=xcK7@XLhaj9kt6V<*9%x^C> zTedLK_uQY!_d%@DkrM|JFc);T9R6aT&jYi zsF)czlOD~FPJu6=Stsj1LJXP~$sR&)mwr?AQ~!4jR^g(rn_fPVTK_N@%N%JNvGQUH0Q~__XU&yqF2-65hN>CG*gp;BvT^<3T|id zGW3&Y`N|L~l7~cpc=hKsLrwkWH*`U@aGZUMo?Fw|o`H4kOGHKM>$AT0_NDNJr)InF&4-utHqV?LlJb zca5YmdRF|`m1&}h(AXhT6YHuq2se@aKeIehIf*G%j7|XfHT^7V_Hm6|Bj+=}x=|K? zfVxSJo?R)rf;lG1&?)$&WWRko>4jWFyTLR>G^&7j_FQbjHCx`Z-_)A z139VE@ZSYYYxwKyM;;j$QEo~N1SKN@M{=q5hXTtk%b_W_z^uM8FYyqyy_yU(2#OMCAYJ$4G24W=&9!$qD)}$u=bBPaEeSTS)5w21W z+Tsc~Z4X6MN3S#s4N~=OT+?4^-8g^<;k`!1|2CzHM75rWPew^(LDg=2{S%a&95*Rbw? zxljh7DD?TxUxi&)&AmgNmXLG!g_r@S3!?voLxGFIPL|A2Uv=zZOT>?v1Th$4tS3-4 z7jP2AHNGQkOSM;cbxKp>o2!~$<4Jn!LR0P+Fa z9<#O03_~I_y+R`3W3p+!bxs4%U;l>w`Qzzq`H*cp|IF?s`x$ZHTfh<}aR z(vkN3Ra!?Rl{)SSvK_YLj}sL9s#+7jWZ@ zme38uHPKZ#VQR!f1HGeNeaJ_zb2ffn!y66_^wtE zsaA9k$kjBQPg%D*R@oThg4~HZkk06zXH0Mo#MS|;rqJLeLfLZNHFjcWT(diwN}x+f zCseicf2L`t2Wp_&<~|It9!i)Ptr6IT_aFTByL2vTAiTwv-*FML(Ohq=nyfFignn8= zjH6p!NzbB;}u5*sHsk!XDm(ik8 z=3*ytf$P`yoZZ8p2hZ>BRH~1sMO~r1Ug@>#7A=6eP`=!(2n65svW#H(XnRi~;{8)> zD`{IMx?y%9()$+!X%4>%z_5=nlY06l zlge*@hN3ZXUi#7gT3KNsI;Hr^Yq+CZ0P5nmA+~3l=J$oG=fBn4zK6ty5(Bd;cc@6= zTW6%^91Y)IKb^DlKY_aCGA&$*Ab(GVVl0KGT72o~Ej%DkdTtYQti z9t$14M2WXztM5KRYaTE$F_+H5tJtPnx%}Fm$Zr&xxEb&Waq_Ktl%DtnS7E-3+@Zqe zg@prEP7fjb^Ucy{5LVvtuy%!c9b8>=DC)AvM00)sm!%JtoQ7wmsuxxF$XiYiM4;xp z#>!&YzEiPaIcwuAM4~yw&JlUBc1SVW5zB;ak4QLD*j_1l?}f03MX$_MD?D>!lK{3i z#c6Sm9F+e9<+?xP4^VFw%*vED%pE1`Acj6Z>Nwp))%INo+Wy-nm_<_SiqF2VFnzsx z;8lpM%nD8KJZt3U(38L~ckE!Yg^};o zh!rgXkxpJ}tmB5J#KsiNby7Jwh6Y=)lW4+HGd?s!dr4A&|GZ%fh1p9O{S&FjzytRB zr?tjmUn)va3RRI5+$^Cm0}D89Q!({-#7RqStVO)t&ERztlX;>LzAaoL)#Y72EFV`T zQ%sbxyNEepdx=rm_*|rV(j&PxQ+Wyh2sSIH-(Ly4r=3ldf(GtX1= zg^{=_aB``YE&H9u`_r=sen0>ob4VzanteFp_dqfi%*8r)Ga+0#J~2^4SP2w=MQ|#7 zf^Li~iwpb<41-(J9}~}_>a+|d9n2s9n+KXj4f>8UA^?eRSE}iEUUdfAY5ss+W!y;7 zKpHTJ!fkQv_E~s)73PknB-AM^Jx9nWy-4IUyI6Lc`BXlYnwJOzto4%Q;|3#!XcEql zmSMlwE-D4D8z>epV~iV!?dO)F*Y;UH$#htkfY$8PM;=xYPwZ!oGP^*_y7iVw3 zL`*+?cgm@=z*ff!?%z)}kShf9=XRHugIQX3+!7&?qz}qx(mQTiYRU;8`WZEW=f-Bb zndr3UkcN=@x!rs1?D`cEdXwt$km%Of5%_jaO}Pb`7jQHle>bGIar35FJKAj{IU+6M z|Ja#rbW*UI@g4W97KXvo4-FdQQnqT;;iQIFxa?JP-9rroHYB*nI+{yCAYNMV#XF)b zMF97OE6A8#-}oZT*SOh#!exA$dj)%(!{#kG3}z11x}GGkf@nSiGu7uPc6k8_?Si+_wbUoNYJG=8kg6HFGBJLk`_7)|Vl}_KdBSWxK@3pJs@Q2rQ^>pW7!oK) z%^+=eus?-9Kj4V&J;3`YXUP8UEbwbMeC(l6DJI;gEcw*(vvf`K5xs< z?FGx+H|rME z3*ce%`|3`VTccywx#9~2$%AliY&vo4$CS({zD2QC3)?U!gO6IHVn4vhaKOhOuNa!X zIDV%xtBHIlDBbYgMvvhZ29`8^wXN`9;w~#1YKvw)=5pq8M&zLj??*x$GEAIM&#zj& zcj?<-(_x8ed)Q|dq8#D}7chpFYzSMn#MfQURN}#=h`Y_e1Ro`7CTLq-ecEs%!$g@O zf^=fqgpAnS8S&O@v~1rf9zr&r_H^!^4%9P3K}Kum%3OH7h>Q$ROv0s)h;3&-n|8gK zkr!G!K6JZG#O8;}vB;6&n;*hr7LXRv9%aiMWlbW9)oJZCGz%E_} zjiD_-AK)q))w2bQ0hN&>?H<_YIY+Z{^=X^#%?*&x$o!jbu(?s2&!wxXHuTu-0j^=0Uv?i-;hf7kOlx~-5-ZFYHekM40LRjhbdjb+RjZW`f?0VAL725TYe2}FV8eCkAgGY8MK293{*LLcuJ~#jM zLm!$jil({A$O&5AVP3$vBwxQ@T*itP-Jk_S@S2rr#KH?Nh(rFakt%6j8VKBIwAVm( zT-7=M;8+o~wh_lcWO`EU?+zE(SarO6QBu{s2#B*?hBOfRadhx#z?0o}=a+ujW1?nd z6yl*j8)&D0SzT%x(!c*2SfNgT`S2WJHzFy*3(@JGk`Eg;obR7L>h}kxgDo(#>DF>Q zMKb6{87SK2no$28+yea&WAMU3=24-;9k#bP4NB;L@o7RWl& zV#0FvY(i+`El=NLWT&EP?9f>-C-FKX`_fxm^z&MnT1ZB!2`qT6zbSCnOg4)6(OP42 zI8>@i2gX`EZ*a~QWg(@$WWj-v6r?w3 z)4J(?ak;*y1**=cNcozT4+O)xA9iMe(9wq>zGp(EFIprT;SyMqRz0FH#gXfj({S$J zbM3TZrmQ2nyP>Wq|FRc-wH*NYKs&u7Z@^r0B4qJJ7vBHK{nMY)HD^)3w!v?zEY$t@ zHB#WNAhCU5KIv;w2(jHlMZ(c{8fxXU%S}BD_a*=E`O(2s1)F}usJOQ<^PB_&;3QuAf7 z<#N;iP_MK)4U%(s_-IJ(sTy>=!hbI!0qxfD1G>RRYrj$2zms%(RNd*=JDJ)^M$!oM zztx50iS!bP(cJF$(yx5fw7c%RRF&m-%+yzr!B5cWkKYKZs!2f6J2*b^B-=7 zQi;1wDxIQ~3UUROT^6YYVG%441eB5%5J~A$1cMNeP?3<3W(AcHX^~LEZ+5Ql`|odm z_s*O-XYSmY6LTldB&UXgk9V@DklmRNyn~6Jz`GUu`Nhx1i5cY<4ow`-p?Gz!?V|A> zS?-@(f3vy@7kd|x-f~^g4>%G8uVxDdZZC5B(ckb7^qU5+D%|$?v&3>ogK-(KQNhA| zsatJ18^HQG(`;QSU`nF%JNTr($njd*QJdPt@o+W?6vmdLvZ_=2D1RIi)$##19gne*Fij!4@Lzl{#@tpH=OXU4-26NUSn ztvp|!{=4|*P-rY=4ve!=R2mC3P0TO+`6$~qTeq1-71j^M&p_fVf>FL#@>dre`b@3OfisjS zWBbSwx4_4{xwB?&ACeeWtqpP!`iC=ftdh*d3(m%H<03V2&cACtg>mjvo*k<^r!4n} zM&1a?6A#kEkMZyof&JWDa?^H2O6=u6lV?KZ=ErM%umWEx{a_siO)Y$XJ#f0&9gt<9 zQ!SaO*&BJ)JG@5w;?;_pTpn2wi}pS+nKaEAuvg=3A=co&%&YuU;E``L-)6lJ^qdZG zO!gZIYT>WU7lbWO#)3XC;kU=#Y79SIS3^3wy)-~817E(!!Z}?lZQnN`yvWY&Iv$9y z_TIO9!u3bqD2T=3#fAoKI!YzSE8msabdPR(?cQPg&i>(Q&-hfC=Q!n}ldmrE9@ylH zEKaeDS})B0NIt%E_wK&t*J`z3pnPHtETQSWD!@ujuk+v6B%zZ3wo>~>g};SV#`_bO zvTont0smUv8+-l%=NlFq2*fF!;a$hO!`opK!cdJ5h&XckXh5;=iEq|?dOT*oK-bf{ z&;0yB<*FaFpSM~zr%KW<;SDZ!h1X<&fpo6~f2Dx1QR1C{)q?6BxIGgCHs90sJuh^_ zaO3exrq6Qnyjq#wzLJe#RCYF?lLb!C?M#bl%RF^(-xt5R(`$ZgYLn7CJobOq~LM@L*fBKq*JUI4LUfWxG8aU~g`{h0FD+CTT*Wbpy zFg@V(`6yDTd4v$xc(+EkMN(ZLlxJrD%g4OA8bejagbitu^lu-9CjZ=^;nR_2d| zK^-N+UB+cdYoGPqWTl>6K3k}zX-3v5xmm6xU1TLSx}wTfHrfnyw~24b$F`eLre1_odkljr3lR^Jl?? z{$lMrz5$)hq6I0oj-rx+dv-8Nm#lJbEA8|KADcb>`LU#SYH z9tMtXs)acZ-phZ1UHU{XN$V9)qqULb-c4~!M&Z&ILC1p}7Nj#QI5YcMGybHn*RhKt zcA_@h*5dFn`3kGa5@tHaG~$;H8@CmYIo;OE6XN706ehnuZI6KX!GZqjYL!3w8}{3E zNUXoCcjNxZlI54Y7d4D+bG^dEz@LO;7}7Qz zw(*QQHwT(L!Lvhk!(ZI|o@()RLwXQsD0n0Nh-WMqPApzy$9~8(dd!C}X$6ju9gGcB z`lh-I4<%e3M}ZhAh&a!GJ-x3aHf|1>ym+uJIS!0<4Ue^dErfYn@hQ#eqo_j@V>a|S zaLQNbkabQ3@MQ{5nD-~}Ax-WcFS2>p2-Iae)1p&F)V)@a^=+u00S+HJEcWF@S$Zj_ zgoZl=A_VzQf$`JF*^UcSYyh+Es z$eew&*?K%z%P!9`fHNP!HAB+t)|!E15!%m%Nqg|F44a1bO|A)*^zU>IkL%-jcG&LH z<#+izQaWDdAAZpjS$jf^j)DTbP2f7$0E~N29v7IPsMo0)qFU|7?@s|o680#ME-y~! zd+jn1y}CGceu}Gu3$*+a&yJQ`rVjyR?+NQo-)kgFe%DjoA!pzcC-)_ALY>&;R>2x; z%i9?7_w?ZoAwb32vS?7R@048}tXGJTNe@5uAtMAVr3HW`}p6?v47FV2mvu_&|#Tn)2Mi zpJ0|Z4!Ao!+pm#p4c=Pz&<&-_6Wurh7%8>a2`%5HSzi)1_Rr<7?+@>54Ze1Ht4=({ ziMhXZ_M`A-Yj8;ICyxUifcv- z4^*1{B}&7KZYzI-&p7Qc0Y`L`Li2&o2j#;|N9z6bZ! z=R_3dGB1M_Hoj|CQ|18zV)D&JU_A=%DoEgt7b zmg?l*WbMvwj*WUHZraEHVrS|UZ?9tH;{N$-RK@z%yQJey z;FbPru&DH0b*it(TAjL<_yVkNTyP4h+}8{S!*fZlV*RV*T@Rc3o;gh(Yfkq9x~Tu$ zA=Y@OWV2KFS3Y1`*YS$e*2liHiuP&wG1*614gs86v6t*%viF(VGk%b|Wqoj2SDqc3JTkMjAz3K(7)*UQoJ}lKmjXx@LQ{X3|?$JsIU1~2D`!;2^sv# zebQoSW%l!}zv=8_cX_hc@cpBA%H(>sc@>ud`vkaHimvfxWsC_nOcRm(VH; z;3WtLYO*+EHZA6m7ENyReOBQa9zg`&KU1B2{!n}Sldl#232wfm zXYcZtbvq+hTmCKm%uGnHOl$~M&GE94I|Xfrz;PbrW3U;wir6mW;FuQXu3fu&l>`8z z5cKX5>qBpK7~NJ%HRVrnt z@AZ$}`I?(rEBs}2a_?)^?6zCLU-sgtTVOYUT1}_|r+(*cU-RCuaVt~9|1STd{+9zq^x_$_0MW7suhtvzf4sl=rS(uda4QxO;Ouq(M^?GmQoK$4A^UD5?Q5AdnC^M5(K@-oFrB=&X99dL7d|GlEb?g7H4xRT@?IlwO1Td9E#95Pe)ep{C)w|?81k42}@ zzy2)W>cbwC58tAL&rP3+EwZu_Xu2W$)=z|GbkWD|!q~9yMpU`w%kw!CO|3hRmyS3Z z_E*N3ZTGXU+%{?$?cl;rGQK6LJfAAjUM-h8HJ;=;H=<{xufJogddPQ9?R@kipWDf( zE&OYqpgz}fbHtxz8;=K-Qh39`;uIH=&C$|4W@{DtrZvmA_K#9~w95KrQ-;l=qEVA) z;}7oZrZBl*WS&a8`}~WDYuOe_KK9j+d&M7}QbAwgQtHM<(f)akf8!s7i`5n1r1B3?e1-kP@0OR(pMLE+y1A7FWB(MVvNc~X)cVT9jNc6_e9D$_{mLrP9X>Yo?*~C2vpqMfpIHXU-TiXy*+ECeLT#1ZPqMmq zO_|r+`|3d$^PzmkM@?DPJ`wOn_g?C<-OWiBpW8cr%_Ds;)(#TBFq$qC_vB!sM)G$*<((*{JXTv;xhkc1G;$L%w4bYb*~KtO=3EhL z`Gwx)wtI?M@da2`B!<_dqp_zwOr@NEy*P+r2UNPRn(K!qIrvjEm)F>3Pa#;gc;eCL zdv1Nt-AWbPC;b&0W<$UlvQghlWy_Uc=Bga}eoZbp9z_|!Y2l9@Wm6yxBe?hR`7+0= zR2ZY!{epKwMU2kC=Tpx=n-~NQ+dYzYGVyRnSY+`rcj?9;#){oa%PPb}I9CK;1|!z@ z%xj)Rnn4gjd=%b^dKK`_crY#T&Opv*!Ih)YI=q73R; z*XrvD4;UX}BJPz^2cJ!#E(3nb$`)%%v(ev&+VY-ZwB7@AdG!RUkuul3t2oIZB>;dqUNn3Hl*NQRAjS)BXI9aHz}3mS;d zD~O7lFD#;o*yE1mC&q;KuIeOs(mK9bhGH2rE`8};TC*7QSFrDISsa?2<&Yrw){FI_ zX?<8r&?S+s+gMH_9&JGofp|UY%UBx>5(a|8wZaU~iKj+BaV?F9FeC#hm`9md*j8+g z6TmUt^5syMVq!Pm1Z7StKNdeM{_`7suASPXQC9l+#agzte`bFClX}6Oj}Ov`H;o5F)MKzKpF4>_{yXl3Z>)49qT)<0{lcVn0>xX3d?1{ ztsKj$|NE5!u+4D(44&j<2to8j{PRx+BPc_PpiMLTZ1nWi+*6IHm)Un=GGe71{^{PZ zp7iOa+-ynWlSWi1)DdMG0oUwmkemob21jfq05IWqt1H7K>hanP{OS_MGl<>{R)UWb z_`s8yqf5i3sVqw{qEP6K$MmKvKb#W46!IDYi3U@vg*Ut zCmm0D)C*j@GwUD1q#+Y!YYFZnowa8cZzR9dElRIKSyon%!s>3d(h2c63O(_}NUbw` z0*M4~2*y?T%p@;c2p~H|Q$kDIs7sAgtm>~}U|s)wRJ;XDB6KVqegPQ`p)8|T(_Q)I z<2A2j^V47|!{c0O9VdhkG3-EiBV|a0EM2WgcPV9kf&im|<%-e19Da#-r{=TrHwUb(qnUWq)sl6!XL7jx;X4pj;#^*+7`V{S&V7HUP)3a|1$wes3d0vBH|3G0`NJ= zxANgoxe840GTiMy6<4|qCZOo_M4aZcXAQMe7}mVR_h@q1Z;p#pSb&NRu|{1m*2mGs z1Y(Hq6e4P8-X`C-l{)O7eY4UcPhA00lLmvVJZG9Pbx*wNmcppU>InZ`?dW%uVVRK3 zf~CR~K4rP3r>bz`TjfeJgyO6tDzU1ys&F4B+A+k^$Bev>!`4U0)+R?&QH-20c-v^K zM(hN9C^4)yh7RcoFpi6Rc~Wy#_YO09FsZQVP+iUo#;=UUNh?>Ga(k4~-8PY_Pdt-b~KYUy0o&=KE_nHIHvN# zq8etyxIb_n(|oj|vyML*_BBR=o_DmDKbU)a_5bJ++S3=GN@e-NxD3h&unF^egPXsS zSw!_08GP8{eqLTYp)W>nzzJfIioOSq{g6W$SaGdKW?cFT^N4Yh(GM)DqT3x_)S^~r zsb3rHx^oiq`pT^mVIeRPlaU>D9Qv9b2Q#A5p4JvD96cSX3!{wa9F*nr=$5z-rsMHi zcNj+;F`b56p{@x2h=h2uCsvK4O0{6FIF#Y$_PnEF07gWU8-af5!&}9@#LJ~5(QnZi`KW|(+0V^;L$}5hnuGn}VK9>Qn zzw5$mbYZM@RFxym@a1yNl>OKpi=m52cgsYfUc}J{;-;39vLTgqD$BifXu#`*^)gjgRm9%n1i8chjFtL{h95(cGzrq59f<0)DBV2ya!U(jOUWHA`& zH6}^4hvDkoOCDqR)Z>>D=FN$b;&N%QJY+kpSn!H7vv2fpQ6Z{4?+J+Og&^b}hK6Ci zqjoLi)t!&?(h%>6#^XPABo78eDG4aTR8o_>1}A`{-V1G;zibpZ!chEnU9Yb(T_mMw z?5b_+=?RCR@CsikpS71-N)VGQ2yd8bqW^%(1xL>cIbVR;PV()I*Ds50{BHFVs1f=7(W+3qeua-|fLr$E-50y^qq43#x+M8UzoiDaSNTS?`N(Qc)r7 z(K;3{;-T!|822n*cr7Q&OZ+hZ-4@*~U%Wh@oP&sXLPr}XfZ%)Z`FArk%bm+}wX%Lt zdlXQX-^F5G^W>E0FrDZ++IkXYh@q&yL2?Sl1@z?>jCNA^Hr75eHw6Om^;yXedu`Px zYqMY~`Rq|!DNK-X>>8}e8FJKEH(~W7ieM?v7|Ohk*hAn;c(c8z zk4u6FJ=+*%jEg|d!{L{Vtx+pyYJ@h-6&D6`z+vVFA!th76m+OMar456X{G$dJd8DD z@Tib!ixIT0II6Wbit4O>7!g@+M}=Vj2q8kYM@WMrsp2E=F$pJ>ql`~5a~kTB`wa`7 zG7L^rwG8!qO}VR6iM6myAzjO;`hqt^kU0!*WDSDmvp|#~$L{S}kZx#(eRu?CJNH0x zx;O`u9g?<11Fo;a#yaGTp5xmnZBHW(DMHSC3$wsytC~Ar>?nuthmfhNMCpFNaM_xK z`!Ovhy0?!(B*u40L&$_Tid}p{ytK`g>ozmEiHEu8y6sSuJqeRYmFyokKN(0VyXok_ z)M305jt`gJYinfKo>b?Ujcxb{I1(X{GtyTe@=rZ*lLA`O@}27P=9 zKM`D>c7OlhUl>xg!V<7_2tGnsnL~y!_~Ah{4fpM8PJ3gLdniT1hnt zLfem{SQ)qxCWR~Fio()L`+XJ9T>~yuqw%wf)YuCe4}O1>!W;=!x^XKgni>T)Dlj;( ze#Pxl5Sib76jFP%=A2>p8p@O>X}M@W$P4sAS#^P<*lStGawu>zGq;RZ13l%AX&nRr1p zfRhQ-M;WCVGIwH2UPuUHQiOOMzXb_?Gt6*pi$*!>qW|q?n<~2=kGJSL&qD_0Ma*`CQ + + + + + + VSCode Launch Configs :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +

    VSCode Launch Configs

    +
    +

    Here is an example for vscode launch configs for this repository. +Please adjust any parameters and env vars to your use-case, or they may not work!

    +
    +
    +
    +
    {
    +    // Use IntelliSense to learn about possible attributes.
    +    // Hover to view descriptions of existing attributes.
    +    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    +    "version": "0.2.0",
    +    "configurations": [
    +        {
    +            "name": "Launch Maintenance",
    +            "type": "go",
    +            "request": "launch",
    +            "mode": "auto",
    +            "program": "${workspaceFolder}",
    +            "args": [
    +                "maintenance",
    +                "--service",
    +                "postgresql",
    +                "--log-level",
    +                "1",
    +            ],
    +            "env": {
    +                "INSTANCE_NAMESPACE": "vshn-postgresql-pgsql-app1-prod-j8rlk",
    +                "KUBECONFIG": "PATH_TO_YOUR_KIND_CONFIG",
    +                "API_USERNAME": "admin",
    +                "API_PASSWORD": "password",
    +                "CLAIM_NAMESPACE": "default",
    +                "CLAIM_NAME": "pgsql-app1-prod",
    +                "SG_NAMESPACE": "stackgres",
    +            }
    +        },
    +        {
    +            "name": "Launch sliprober",
    +            "type": "go",
    +            "request": "launch",
    +            "mode": "auto",
    +            "program": "${workspaceFolder}",
    +            "args": [
    +                "sliprober",
    +                "--vshn-postgresql",
    +                "--log-level",
    +                "1",
    +            ],
    +            "env": {
    +                "KUBECONFIG": "PATH_TO_YOUR_KIND_CONFIG",
    +            }
    +        },
    +        {
    +            "name": "Launch slareport",
    +            "type": "go",
    +            "request": "launch",
    +            "mode": "auto",
    +            "program": "${workspaceFolder}",
    +            "args": [
    +                "slareport",
    +                "--previousmonth",
    +                "--mimirorg",
    +                "vshn",
    +                "--log-level",
    +                "1",
    +            ],
    +            "env": {
    +                "KUBECONFIG": "PATH_TO_YOUR_KIND_CONFIG",
    +            }
    +        },
    +        {
    +            "name": "Launch apiserver",
    +            "type": "go",
    +            "request": "launch",
    +            "mode": "auto",
    +            "program": "${workspaceFolder}",
    +            "args": [
    +                "apiserver",
    +                "--secure-port=9443",
    +                "--kubeconfig=PATH_TO_YOUR_KIND_CONFIG",
    +                "--authorization-kubeconfig=PATH_TO_YOUR_KIND_CONFIG",
    +                "--authentication-kubeconfig=PATH_TO_YOUR_KIND_CONFIG",
    +                "--feature-gates=APIPriorityAndFairness=false",
    +            ],
    +            "env": {
    +                "KUBECONFIG": "PATH_TO_YOUR_KIND_CONFIG",
    +                "VSHN_REDIS_BACKUP_HANDLER_ENABLED": "true",
    +                "APPCAT_HANDLER_ENABLED": "true",
    +                "VSHN_POSTGRES_BACKUP_HANDLER_ENABLED": "true"
    +            }
    +        },
    +        {
    +            "name": "Launch grpc",
    +            "type": "go",
    +            "request": "launch",
    +            "mode": "auto",
    +            "program": "${workspaceFolder}",
    +            "args": [
    +                "--log-level",
    +                "1",
    +                "start",
    +                "--network",
    +                "tcp",
    +                "--socket",
    +                ":9547",
    +                "--devmode"
    +            ],
    +            "env": {
    +                "KUBECONFIG": "PATH_TO_YOUR_KIND_CONFIG",
    +            }
    +        }
    +    ]
    +}
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/apiserver/boostrap.html b/appcat/4.23/explanations/apiserver/boostrap.html new file mode 100644 index 000000000..fdb91315c --- /dev/null +++ b/appcat/4.23/explanations/apiserver/boostrap.html @@ -0,0 +1,335 @@ + + + + + + + Bootstrap :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Bootstrap

    +
    +
    +
    +

    This repository was boostraped using apiserver-builder-alpha. Due to a lot of unnecessary configuration the repository was cleaned and stripped down to a minimum configuration for AppCat needs.

    +
    +
    +
    +
    +

    Scaffolding

    +
    +
    +

    In order to achieve the scaffolding the following operations have been made:

    +
    +
    +
      +
    1. +

      Install apiserver-boot go install sigs.k8s.io/apiserver-builder-alpha/cmd/apiserver-boot@v1.23.0

      +
    2. +
    3. +

      Save binary in system path

      +
    4. +
    5. +

      Initialize the repository apiserver-boot init repo --domain vshn.io

      +
    6. +
    7. +

      Create API apiserver-boot create group version resource --group appcat --version v1 --kind AppCat --non-namespaced

      +
    8. +
    9. +

      Clean go dependencies go mod tidy

      +
    10. +
    11. +

      Generate necessary boilerplate code make generate

      +
    12. +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/comp-functions/debug.html b/appcat/4.23/explanations/comp-functions/debug.html new file mode 100644 index 000000000..c494441f4 --- /dev/null +++ b/appcat/4.23/explanations/comp-functions/debug.html @@ -0,0 +1,307 @@ + + + + + + + Debugging :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Debugging

    +
    +

    If the GRPC server is in devmode, it will save the funcIOs of each function to configMaps in the default namespace. It will always keep two configMaps per composite and function. One contains the previous and one the current state. For example for VSHNPostgreSQL this could result in up to four configMaps; two for the postgresql function and two for the miniodev function (which provides the local S3 bucket).

    +
    +
    +

    These configMaps can be used to see the state of the whole FuncIO and should help with local debugging. Additionally, the GRPC server now prints a diff of those configMaps on each reconcile.

    +
    +
    +

    The configMaps and the diffs will only rotate on .spec changes on the claim/composite, it uses the generation to track current and previous states. This way we can track the "logical" diff of a change, even if it needs multiple reconcile loops to be applied fully.

    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/comp-functions/redis-pvc-resize.html b/appcat/4.23/explanations/comp-functions/redis-pvc-resize.html new file mode 100644 index 000000000..ba79fa532 --- /dev/null +++ b/appcat/4.23/explanations/comp-functions/redis-pvc-resize.html @@ -0,0 +1,324 @@ + + + + + + + Redis PVC resize :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Redis PVC resize

    +
    +

    This process requires the bitnami/kubectl image. +So if AppCat is deployed to an air gapped cluster, please keep this in mind.

    +
    +
    +

    Resizing the PVCs for Redis is a mutlistage process:

    +
    +
    +
      +
    1. +

      A job that crosschecks if the sts PVC template size is equal to the size in the request

      +
    2. +
    3. +

      If they don’t match the current sts will be deleted with the --cascade=orphan option. This is because the sts can’t be adjusted once it’s created. The cascade option leaves the pods running.

      +
    4. +
    5. +

      Then the helm release will be updated to trigger the re-creation of the sts

      +
    6. +
    7. +

      Once the sts is re-created it will add an annotation so it’s picked up by the statefulset-resize-controller

      +
    8. +
    9. +

      The statefulset-resize-controller then actually handles the resize of the PVCs

      +
    10. +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/comp-functions/runtime.html b/appcat/4.23/explanations/comp-functions/runtime.html new file mode 100644 index 000000000..f6846d114 --- /dev/null +++ b/appcat/4.23/explanations/comp-functions/runtime.html @@ -0,0 +1,348 @@ + + + + + + + Runtime Library :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Runtime Library

    +
    +
    +
    +

    The runtime library helps to facilitate the implementation of transformation go functions. +It allows to operate on underlying function-io resources and composites. There are 2 objects accessible +from a runtime object:

    +
    +
    +
      +
    • +

      Observed - the observed state of the XR and any existing composed resources.

      +
    • +
    • +

      Desired - the desired state of the XR and any composed resources.

      +
    • +
    +
    +
    +

    For more information on how function-io operates check the documentation +from Crossplane.

    +
    +
    +
    +
    +

    Desired Object

    +
    +
    +

    The runtime desired object has methods to obtain and update desired resources from function-io.

    +
    +
    +
    +
    +

    Observed Object

    +
    +
    +

    The runtime observed object has methods to obtain observed resources from function-io.

    +
    +
    +
    +
    +

    Result Object

    +
    +
    +

    Any transformation go function expects a runtime.Result object. This object type wraps the Crossplane +own Result type. The runtime library has simple functions that allows creation of runtime.Result objects +in various states - fatal, warning or normal. To understand the difference between these states +consult crossplane documentation.

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/comp-functions/vshn-postgres.html b/appcat/4.23/explanations/comp-functions/vshn-postgres.html new file mode 100644 index 000000000..0f4ff06c6 --- /dev/null +++ b/appcat/4.23/explanations/comp-functions/vshn-postgres.html @@ -0,0 +1,361 @@ + + + + + + + VSHN Postgres Function-io :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    VSHN Postgres Function-io

    +
    +
    +
    +

    The set of transformation go functions applied to a VSHN Postgres composition.

    +
    +
    +
    +
    +

    Transformation URL-CONNECTION-DETAILS

    +
    +
    +

    The function URL-CONNECTION-DETAILS adds a new POSTGRES_URL entry in the connection detail of the composite. The value is defined as postgres://user:password@host:port/db. Once it is executed the client has access to the URL of its database via connection secret.

    +
    +
    +
    +
    +

    Maintenance

    +
    +
    +

    The maintenance for PostgreSQL leverages StackGres' built in operations CRDs. +They can do various operations against a database. +As soon as one is created StackGres will initiate the operation.

    +
    +
    +

    AppCat Implementation

    +
    +

    In AppCat there’s a cronjob deployed for each instance that is provisioned. +This cronjob will create a SGDbOps when run. +What kind of operation it creates depends on following factors:

    +
    +
    +
      +
    • +

      If the instance is on a current minor version, then do a security update

      +
    • +
    • +

      If the instance is on an older minor version, then do a minor upgrade

      +
    • +
    • +

      If the StackGres API is not available do a security update

      +
    • +
    +
    +
    +

    After instance update/upgrade completion, a pg_repack operation will be performed on all databases.

    +
    +
    +

    The StackGres operator API is used to query what versions are currently supported. +If a new StackGres release supports newer minor versions of PostgreSQL, then all instances of that major version will do an update during their next maintenance window.

    +
    +
    +

    The actual logic for this is in the maintenance CMD. +It serves as the entrypoint for the container that the cronjob starts. +This can be enhanced with maintenance routines for future services. +Adding new SGDbOps objects to the job should also be trivial, if the need arises.

    +
    +
    +

    To query the StackGres API the composition function copies StackGres' credential secret into the instance namespace. +For the maintenance to properly work the clearPassword field in the credential secret has to exist, as otherwise the job would not be able to read it.

    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/comp-functions/vshn-redis.html b/appcat/4.23/explanations/comp-functions/vshn-redis.html new file mode 100644 index 000000000..9ede084e2 --- /dev/null +++ b/appcat/4.23/explanations/comp-functions/vshn-redis.html @@ -0,0 +1,322 @@ + + + + + + + VSHN Redis Function-io :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    VSHN Redis Function-io

    +
    +
    +
    +

    The set of transformation go functions applied to a VSHN Redis composition.

    +
    +
    +
    +
    +

    Maintenance

    +
    +
    +

    Redis maintenances supports only patch upgrades. +There’s no plan to add automatic minor or major upgrades due to possible breaking changes in newer Redis versions.

    +
    +
    +

    AppCat Implementation

    +
    +

    In AppCat there’s a cronjob deployed for each instance that is provisioned. +This cronjob will trigger a Patch update Job. +The latest patch version is being looked up in the official docker repository. +If a newer patch version is available, then Redis will be updated.

    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/dev-notes.html b/appcat/4.23/explanations/dev-notes.html new file mode 100644 index 000000000..bcf6235ce --- /dev/null +++ b/appcat/4.23/explanations/dev-notes.html @@ -0,0 +1,408 @@ + + + + + + + Dev Notes for Composition Functions :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Dev Notes for Composition Functions

    +
    +

    Read from Desired vs Observed

    +
    +
    +

    It may not be easy to determine when to read from the desired or observed resources in the composition function.

    +
    +
    +

    On the very first run of the composition functions, the observe array will always be empty. +To ensure that you always get a valid object in that case, you can first try to read from observed, and if that fails, read from desired.

    +
    +
    +

    Desired

    +
    +

    Contains the list of resource that will be applied after the function has run. +They are the sum of the P+T composition and the composition functions.

    +
    +
    +

    Read from this if:

    +
    +
    +
      +
    • +

      you manipulate the same resources as a previous step, otherwise you could overwrite resources

      +
    • +
    • +

      you don’t need to know how the resource currently looks like but how it should look like after the function has run

      +
    • +
    +
    +
    +
    +

    Observed

    +
    +

    The observed array contains resources as they are on the cluster right before the composition function triggered.

    +
    +
    +

    Read from this if:

    +
    +
    +
      +
    • +

      you need access to the status

      +
    • +
    • +

      you want to read secrets

      +
    • +
    • +

      an outside actor changes values of the resource (for example maintenance jobs)

      +
    • +
    +
    +
    +
    +
    +
    +

    How to read unmanaged secrets

    +
    +
    +

    There are cases where you need to read a secret that was created by an operator or helm chart, for example to add them to the connection details.

    +
    +
    +

    To read unmanaged secrets, you need to:

    +
    +
    +
      +
    • +

      create an observe kube object that references the given secret

      +
    • +
    • +

      then get the secret through this observe kube object during the next reconcile

      +
    • +
    +
    +
    +

    When doing it this way the secret values are available in plaintext and NOT in base64.

    +
    +
    +
    +
    +

    How to (not) delete resources in the composition function

    +
    +
    +

    For crossplane, if a given resource was in the desired array during the previous reconcile, but is missing in the current reconcile, then it will be removed. +If, for any reason, the resource name in the functionIO changes, even though it’s still the same object, crossplane will delete and re-create it. +That’s because for crossplane it’s a new object in that case, as it uses the resource name to identify the resources. +The resource name of important resources (releases, deployments, pvcs, etc.) should never change, or expect unhappy users.

    +
    +
    +

    If an object should not get deleted, then it has to be actively be added to the desired array on every reconcile. +On the flip side, deleting an object is easily achieved by not adding it to the desired array.

    +
    +
    +
    +
    +

    When to use Composition functions, jobs and cronjobs

    +
    +
    +

    The general rule is to keep the composition functions as simple as possible. +They should be used mainly to create and observe objects related to the instances.

    +
    +
    +

    If there’s a need for more complex one time operations, please consider putting them into a separate job that is deployed via the composition function. +Example for such a job is the restore of a backup.

    +
    +
    +

    If there’s a need for more complex operations on a schedule, please consider putting them into a cronjob that is deployed via the composition function. +Examples for such cronjobs are maintenance and backups.

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/slareports.html b/appcat/4.23/explanations/slareports.html new file mode 100644 index 000000000..5857028a8 --- /dev/null +++ b/appcat/4.23/explanations/slareports.html @@ -0,0 +1,320 @@ + + + + + + + SLA Reports :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    SLA Reports

    +
    +

    How do they work?

    +
    +
    +

    This is a simple SLA reporting tool. +It connects to a Prometheus/Thanos/Mimir instance and queries them to gather the SLA information.

    +
    +
    +

    It currently requires the information provided by the AppCat SLI exporter, as well as the appuio.io/organization label by joining the namespace information. +It also requires the cluster_id label, which is currently available on the SLO Mimir endpoint.

    +
    +
    +

    It then creates an ASCIIdoc template and sends it to VSHN’s docgen. +There it will be converted to a PDF and sent back to the slareporter. +The slareporter will then upload the PDFs to the configured S3 bucket.

    +
    +
    +

    By default the slareporter will take the current time and a range of 30 days to query and calculate the SLA reports. +This can be adjusted, please consult the commands help for more information.

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/explanations/webhooks.html b/appcat/4.23/explanations/webhooks.html new file mode 100644 index 000000000..fce563220 --- /dev/null +++ b/appcat/4.23/explanations/webhooks.html @@ -0,0 +1,347 @@ + + + + + + + Webhooks :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    Webhooks

    +
    +

    APPUiO Cloud quota webhooks

    +
    +
    +

    APPUiO Cloud provides a quota system, which AppCat has to comply and integrate into. +It accomplishes that, by providing nice error messages, if any of the given quotas are breached.

    +
    +
    +

    There are multiple quotas that need to be complied by this system: +* the amount of namespaces an organization can have +* the amount of resources that can be used within a namespace

    +
    +
    +

    The amount of namespaces is straight forward by checking if there’s a custom value set or just checking against the default of 25. +The custom value is stored in an overrides-$orgname ConfigMap that resides in the namespace appuio-cloud. +If the key namespaceQuota is set, it will check against that amount of namespaces. +If the requested AppCat instance would tip the amount of namespaces over this threshold, it will block the creation.

    +
    +
    +

    Additionally, each namespace has quotas that need to comply. +Via AppCat comp-functions, we set the quotas to a slightly higher value than the APPUiO Cloud default:

    +
    +
    +
      +
    • +

      4.5 CPU limts/requests

      +
    • +
    • +

      16.5Gb Memory limits/requests

      +
    • +
    +
    +
    +

    This should ensure that for each service at least one replica can be instantiated with the *-8 plans. +These values are written into annotations on the namespace. +To override them, simply adjust the annotations to the new value.

    +
    +
    +

    Due to the way that quotas are bound to a namespace it’s not possible to create a new instance that requests more resources than the default quotas allow. +The instance has first to be created with a valid amount of resources. +Afterward VSHN Support can adjust the quotas on the namespace.

    +
    +
    +
    +quotas.excalidraw +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/index.html b/appcat/4.23/index.html new file mode 100644 index 000000000..abd6eefe4 --- /dev/null +++ b/appcat/4.23/index.html @@ -0,0 +1,329 @@ + + + + + + + appcat :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +

    appcat

    +

    Introduction

    +
    +

    The Application Catalog is a suite of applications offered by VSHN.

    +
    +
    +

    Here you’ll find all the technical documentation. +Use the search field at the top of this page, navigate through topics with the tree on the left or see the links below.

    +
    +

    Documentation

    +
    +

    The documentation is inspired by the Divio’s documentation structure:

    +
    +
    +
    +
    Tutorials
    +
    +

    Learning-oriented: Simple lessons to learn about this project.

    +
    +
    How-to guides
    +
    +

    Problem-oriented: step-by-step guides to achieve a goal.

    +
    +
    Technical reference
    +
    +

    Information-oriented: explaining the inner ongoings.

    +
    +
    Explanation
    +
    +

    Understanding-oriented: puts this project in context.

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/4.23/references/apiserver/env-variables.html b/appcat/4.23/references/apiserver/env-variables.html new file mode 100644 index 000000000..b6412577f --- /dev/null +++ b/appcat/4.23/references/apiserver/env-variables.html @@ -0,0 +1,307 @@ + + + + + + + Untitled :: Application Catalog + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    + +
    +
    +

    Environmental Variables

    +
    +
    +

    APPCAT_HANDLER_ENABLED - default "true" ; This env enables appcat handler responsible for listing appcats

    +
    +
    +

    VSHN_POSTGRES_BACKUP_HANDLER_ENABLED - default "false" ; This env enables listing of VSHNPostgreSQL backups, enable it only on clusters that supports VSHNPostgreSQL

    +
    +
    +
    +
    +
    +
    + + + + + + + diff --git a/appcat/examples/vscode.html b/appcat/examples/vscode.html index a33d6236b..42af70f74 100644 --- a/appcat/examples/vscode.html +++ b/appcat/examples/vscode.html @@ -154,6 +154,9 @@

    Application Catalog

  • master
  • +
  • + 4.23 +
  • 4.22
  • @@ -253,10 +256,11 @@

    Application Catalog

    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    + +