diff --git a/README.md b/README.md index 3829e40..ab7dc6e 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,9 @@ A working environment for professionals and Home-Lab users. 3. Switch to the postgres user -> `sudo su postgres` 4. Open the PostgreSQL database with psql -> `psql` 5. Create a PostgreSQL database with the following query -> `CREATE DATABASE tricolor_workspaces;` - 6. Exit psql -> `exit;` - 7. Logout from the postgres user -> `exit` + 6. Change the PostgreSQL password with the following query -> `ALTER USER postgres WITH PASSWORD 'postgres';` + 7. Exit psql -> `exit;` + 8. Logout from the postgres user -> `exit` 2. Windows 1. Simply install postgreSQL with the setup file downloaded from the postgreSQL website 3. MacOS diff --git a/packages/instance/src/subsystems/trpc.ts b/packages/instance/src/subsystems/trpc.ts index 7eef2fa..3ffef72 100644 --- a/packages/instance/src/subsystems/trpc.ts +++ b/packages/instance/src/subsystems/trpc.ts @@ -55,6 +55,18 @@ export const procedure = t.procedure.use(async (opt) => { export const workspacesRouter = t.router({ authorization: { + signupRequirements: publicProcedure + .output( + z.object({ + email: z.boolean(), + }), + ) + .query(async (opt) => { + return { + // change to true when an email server exists + email: false, + }; + }), signup: publicProcedure .input( z.object({ diff --git a/packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx b/packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx index ca47842..c81e0e0 100644 --- a/packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx +++ b/packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx @@ -1,4 +1,4 @@ -import { type Component, createSignal, Match, Switch } from "solid-js"; +import { type Component, createResource, createSignal, Match, Switch } from "solid-js"; import UKCard from "@tcsw/uikit-solid/src/components/card/UKCard.tsx"; import UKButton from "@tcsw/uikit-solid/src/components/button/UKButton.tsx"; import UKDivider from "@tcsw/uikit-solid/src/components/divider/UKDivider.tsx"; @@ -41,6 +41,8 @@ const UserSelectPage: Component = () => { const [gender, setGender] = createSignal<"female" | "male" | "other">("other"); const [bio, setBio] = createSignal(""); + const [requirements] = createResource(() => trpc.authorization.signupRequirements.query(), { initialValue: undefined }); + const [twoFactorTestCode, setTwoFactorTestCode] = createSignal(""); return ( @@ -112,7 +114,11 @@ const UserSelectPage: Component = () => { { - setStage(UserSelectStage.VerifyEmail); + if (requirements()?.email) { + setStage(UserSelectStage.VerifyEmail); + } else { + setStage(UserSelectStage.Password); + } }} color={"filled"} > @@ -185,7 +191,11 @@ const UserSelectPage: Component = () => {
{ - setStage(UserSelectStage.VerifyEmail); + if (requirements()?.email) { + setStage(UserSelectStage.VerifyEmail); + } else { + setStage(UserSelectStage.Password); + } }} color={"tonal"} > -- 2.51.2 From 1ec23340219424de740d2823b3043475221a40f3 Mon Sep 17 00:00:00 2001 From: ewsgit Date: Tue, 4 Nov 2025 00:45:03 +0000 Subject: [PATCH 02/10] remove all of the old backend from the source code, fix non-required email signup, tweak README.md, begin on tRPC Bun Patch --- README.md | 2 +- .../uk.tcsw.dashboard/backend/index.ts | 5 +- .../web/widgets/user/profile/Widget.tsx | 9 +- packages/instance/.temp/applications.ts | 263 ----- .../.temp/assets/default_instance_logo.avif | Bin 24840 -> 0 bytes .../assets/default_login_background.avif | Bin 948729 -> 0 bytes packages/instance/.temp/assets/userAvatar.png | Bin 749503 -> 0 bytes packages/instance/.temp/assets/yourdash.png | Bin 604905 -> 0 bytes packages/instance/.temp/authorization.ts | 157 --- .../instance/.temp/commandManager/command.ts | 48 - .../.temp/commandManager/commandManager.ts | 132 --- .../.temp/commandManager/commands/config.ts | 44 - .../.temp/commandManager/commands/eval.ts | 36 - .../.temp/commandManager/commands/exit.ts | 14 - .../.temp/commandManager/commands/flags.ts | 65 -- .../.temp/commandManager/commands/help.ts | 35 - .../.temp/commandManager/commands/restart.ts | 26 - .../.temp/commandManager/commands/stop.ts | 18 - .../.temp/commandManager/commands/users.ts | 127 --- .../instance/.temp/configurationManager.ts | 150 --- packages/instance/.temp/dockerManager.ts | 15 - packages/instance/.temp/event.ts | 100 -- packages/instance/.temp/filesystem.ts | 381 ------- packages/instance/.temp/image.ts | 38 - packages/instance/.temp/index.ts | 14 - packages/instance/.temp/instance.ts | 481 -------- packages/instance/.temp/log.ts | 293 ----- packages/instance/.temp/logModifications.d.ts | 8 - packages/instance/.temp/requestManager.ts | 1011 ----------------- packages/instance/.temp/resourceManager.ts | 95 -- packages/instance/.temp/timer.ts | 9 - packages/instance/.temp/trpcContext.ts | 9 - packages/instance/.temp/trpcProcedure.ts | 41 - .../instance/.temp/types/configuration.ts | 19 - .../instance/.temp/types/instanceStatus.ts | 15 - packages/instance/.temp/userManager/user.ts | 149 --- .../instance/.temp/userManager/userManager.ts | 192 ---- packages/instance/src/index.ts | 122 +- packages/instance/src/subSystems.ts | 2 + .../instance/src/subsystems/applications.ts | 2 +- .../src/subsystems/consoleCommands.ts | 4 +- packages/instance/src/subsystems/trpc.ts | 262 +---- packages/instance/src/subsystems/trpc/trpc.ts | 233 ++++ .../src/pages/userSelect/signup/Signup.tsx | 4 +- 44 files changed, 340 insertions(+), 4290 deletions(-) delete mode 100644 packages/instance/.temp/applications.ts delete mode 100644 packages/instance/.temp/assets/default_instance_logo.avif delete mode 100644 packages/instance/.temp/assets/default_login_background.avif delete mode 100644 packages/instance/.temp/assets/userAvatar.png delete mode 100644 packages/instance/.temp/assets/yourdash.png delete mode 100644 packages/instance/.temp/authorization.ts delete mode 100644 packages/instance/.temp/commandManager/command.ts delete mode 100644 packages/instance/.temp/commandManager/commandManager.ts delete mode 100644 packages/instance/.temp/commandManager/commands/config.ts delete mode 100644 packages/instance/.temp/commandManager/commands/eval.ts delete mode 100644 packages/instance/.temp/commandManager/commands/exit.ts delete mode 100644 packages/instance/.temp/commandManager/commands/flags.ts delete mode 100644 packages/instance/.temp/commandManager/commands/help.ts delete mode 100644 packages/instance/.temp/commandManager/commands/restart.ts delete mode 100644 packages/instance/.temp/commandManager/commands/stop.ts delete mode 100644 packages/instance/.temp/commandManager/commands/users.ts delete mode 100644 packages/instance/.temp/configurationManager.ts delete mode 100644 packages/instance/.temp/dockerManager.ts delete mode 100644 packages/instance/.temp/event.ts delete mode 100644 packages/instance/.temp/filesystem.ts delete mode 100644 packages/instance/.temp/image.ts delete mode 100644 packages/instance/.temp/index.ts delete mode 100644 packages/instance/.temp/instance.ts delete mode 100644 packages/instance/.temp/log.ts delete mode 100644 packages/instance/.temp/logModifications.d.ts delete mode 100644 packages/instance/.temp/requestManager.ts delete mode 100644 packages/instance/.temp/resourceManager.ts delete mode 100644 packages/instance/.temp/timer.ts delete mode 100644 packages/instance/.temp/trpcContext.ts delete mode 100644 packages/instance/.temp/trpcProcedure.ts delete mode 100644 packages/instance/.temp/types/configuration.ts delete mode 100644 packages/instance/.temp/types/instanceStatus.ts delete mode 100644 packages/instance/.temp/userManager/user.ts delete mode 100644 packages/instance/.temp/userManager/userManager.ts create mode 100644 packages/instance/src/subsystems/trpc/trpc.ts diff --git a/README.md b/README.md index ab7dc6e..b814096 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ A working environment for professionals and Home-Lab users. 1. Ensure all non-NPM dependencies are installed 1. Linux (Ubuntu) 1. Install PostgreSQL -> `sudo apt install postgresql postgresql-contrib` - 2. Start the PostgreSQL service -> `sudo systemctl start postgresql` + 2. Start the PostgreSQL service -> `sudo systemctl enable --now postgresql` 3. Switch to the postgres user -> `sudo su postgres` 4. Open the PostgreSQL database with psql -> `psql` 5. Create a PostgreSQL database with the following query -> `CREATE DATABASE tricolor_workspaces;` diff --git a/packages/applications/uk.tcsw.dashboard/backend/index.ts b/packages/applications/uk.tcsw.dashboard/backend/index.ts index dc8f356..2d74b66 100644 --- a/packages/applications/uk.tcsw.dashboard/backend/index.ts +++ b/packages/applications/uk.tcsw.dashboard/backend/index.ts @@ -1,5 +1,4 @@ -import { createTRPCContext, procedure } from "@tcsw/workspaces-instance/src/subsystems/trpc"; -import { USERS_DATABASE_CONNECTION_ID } from "@tcsw/workspaces-instance/src/subsystems/users"; +import { createTRPCContext, procedure } from "@tcsw/workspaces-instance/src/subsystems/trpc/trpc"; import { initTRPC } from "@trpc/server"; import z from "zod"; @@ -20,7 +19,7 @@ const router = t.router({ }), ) .query(async (opt) => { - const db = instance.subSystems.database.getConnection(USERS_DATABASE_CONNECTION_ID); + const db = instance.subSystems.database.db(); const { forename, surname, username } = ( await db`SELECT forename, surname, username FROM Users WHERE id = ${opt.ctx.userId}` diff --git a/packages/applications/uk.tcsw.dashboard/web/widgets/user/profile/Widget.tsx b/packages/applications/uk.tcsw.dashboard/web/widgets/user/profile/Widget.tsx index d21e6ca..14cf805 100644 --- a/packages/applications/uk.tcsw.dashboard/web/widgets/user/profile/Widget.tsx +++ b/packages/applications/uk.tcsw.dashboard/web/widgets/user/profile/Widget.tsx @@ -1,19 +1,22 @@ import UKAvatar from "@tcsw/uikit-solid/src/components/avatar/UKAvatar.jsx"; import UKCard from "@tcsw/uikit-solid/src/components/card/UKCard.jsx"; import UKText from "@tcsw/uikit-solid/src/components/text/UKText.jsx"; -import type { Component } from "solid-js"; +import { createResource, type Component } from "solid-js"; import styles from "./Widget.module.scss"; +import trpc from "../../../lib/trpc"; const Widget: Component = () => { + const [userData] = createResource(() => trpc.widgets.user.profile.query()); + return (
- Full Name + {userData()?.displayName || "Unknown"} - @Username + {userData()?.username || "Unknown"}
diff --git a/packages/instance/.temp/applications.ts b/packages/instance/.temp/applications.ts deleted file mode 100644 index 6fa5789..0000000 --- a/packages/instance/.temp/applications.ts +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright ©2025 Ewsgit and YourDash contributors. - * YourDash is licensed under the MIT License. (https://mit.ewsgit.uk) - */ - -import path from "path"; -import type { Instance } from "./instance.js"; -import { promises as fs } from "node:fs"; - -interface IYourDashApplicationConfigV1 { - id: string; - displayName: string; - description: string; - version: { - minor: number; - major: number; - }; - credits: { - authors?: { name: string; site: string }[]; - contributors?: { name: string; site: string }[]; - translators?: { name: string; site: string }[]; - other?: { name: string; site: string }[]; - }; - configVersion: number; - frontend?: boolean; - externalFrontend?: { - url: string; - }; -} - -class YourDashApplication { - id: string; - _applicationParameters: IYourDashApplicationConfigV1; - _applicationSourcePath!: string; - instance: Instance; - - constructor( - applicationParams: IYourDashApplicationConfigV1, - instance: Instance, - ) { - this._applicationParameters = applicationParams; - this.id = this._applicationParameters.id; - this._applicationSourcePath = "NOT YET LOADED!!!!"; - this.instance = instance; - - return this; - } - - async loadEndpoints() { - const ENDPOINTS_DIRECTORY = path.join( - this._applicationSourcePath, - "backend/src/endpoints", - ); - - let endpoints: string[] = []; - - async function scanDirectory(dir: string) { - for (const item of await fs.readdir(dir)) { - if ((await fs.stat(path.join(dir, item))).isDirectory()) { - await scanDirectory(path.join(dir, item)); - continue; - } - - if (item.endsWith(".ts")) { - if (item.endsWith(".schema.ts")) { - continue; - } - - endpoints.push(path.join(dir, item)); - } - } - } - - if (await fs.exists(ENDPOINTS_DIRECTORY)) - await scanDirectory(ENDPOINTS_DIRECTORY); - - for (const endpointPath of endpoints) { - this.instance.log.info( - this.id, - "loading endpoint", - path.relative(this.instance.filesystem.SRC_ROOT, endpointPath), - ); - - let endpoint = (await import(endpointPath)).default; - - endpoint(this); - } - - return this; - } - - async onLoad() { - await this.loadEndpoints(); - - return this; - } - - onAfterInstall() { - return this; - } - - onBeforeUninstall() { - return this; - } -} - -class Applications { - instance: Instance; - loadedApplications: YourDashApplication[]; - - constructor(instance: Instance) { - this.instance = instance; - this.loadedApplications = []; - - return this; - } - - async getInstalledApplications(): Promise { - let installedApplications = await fs.readdir( - path.join( - this.instance.filesystem.SRC_ROOT, - this.instance.flags.isDocker ? "src/apps" : "../../../apps", - ), - ); - - installedApplications = installedApplications.filter( - (a) => !a.endsWith(".txt"), - ); - - return [ - ...installedApplications, - ...this.instance.configurationManager.config.loadDevelopmentApplications, - ]; - } - - getApplicationAbsolutePath(applicationPath: string) { - return path.resolve( - path.join( - this.instance.filesystem.SRC_ROOT, - this.instance.flags.isDocker ? "src/apps" : "../../../apps", - applicationPath, - ), - ); - } - - async loadApplication( - applicationPath: string, - ): Promise { - try { - if (!(await this.verifyApplication(applicationPath))) { - return null; - } - - this.instance.log.info( - "application", - `Loading application @ ${this.instance.log.addEmphasisToString(this.getApplicationAbsolutePath(applicationPath))}.`, - ); - // import index.ts at applicationPath - let applicationImport = await import( - path.posix.join( - this.getApplicationAbsolutePath(applicationPath), - "/backend/src/index.ts", - ) - ); - let application: YourDashApplication = new applicationImport.default( - this.instance, - ); - application._applicationSourcePath = path.resolve( - this.getApplicationAbsolutePath(applicationPath), - ); - this.loadedApplications.push(application); - await application?.onLoad?.(); - return application; - } catch (e) { - console.error(e); - this.instance.log.info( - "application", - `Failed to load application @ ${applicationPath}.`, - ); - return null; - } - } - - async verifyApplication(applicationPath: string): Promise { - // is the path a directory - const absoluteApplicationPath = - this.getApplicationAbsolutePath(applicationPath); - const stat = await fs.lstat(absoluteApplicationPath); - - if (!stat.isDirectory()) { - return false; - } - - // FIXME: replace this with logic to check whether the application is not linked - // (include web and backend) - const backendPath = path.join(absoluteApplicationPath, "backend"); - - // read the package.json file - const packageJsonPath = path.join(backendPath, "package.json"); - const packageJson = JSON.parse( - (await fs.readFile(packageJsonPath)).toString(), - ); - - if (typeof packageJson?.dependencies?.["@yourdash/backend"] === "string") { - this.instance.log.info( - "application_verification", - `Application '${this.instance.log.addEmphasisToString(path.basename(applicationPath))}' was already linked`, - ); - } else { - this.instance.log.info( - "application_verification", - `Linking application '${this.instance.log.addEmphasisToString(path.basename(applicationPath))}'`, - ); - // manually add the dependencies required for a YourDash application - - const backendPath = path.join(absoluteApplicationPath, "backend"); - const webPath = path.join(absoluteApplicationPath, "web"); - - const backendPackageJsonPath = path.join(backendPath, "package.json"); - let backendPackageJson = JSON.parse( - (await fs.readFile(backendPackageJsonPath)).toString(), - ); - - backendPackageJson.dependencies["@yourdash/backend"] = - "workspace:instance/backend"; - // `file:${path.relative(backendPath, process.cwd()).replaceAll(path.win32.sep, path.posix.sep)}`; - - await fs.writeFile( - backendPackageJsonPath, - JSON.stringify(backendPackageJson, null, 2), - ); - - const webPackageJsonPath = path.join(webPath, "package.json"); - let webPackageJson = JSON.parse( - (await fs.readFile(webPackageJsonPath)).toString(), - ); - - webPackageJson.dependencies["@yourdash/web"] = "workspace:instance/web"; - // `file:${path.relative(webPath, path.join(process.cwd(), "../web")).replaceAll(path.win32.sep, path.posix.sep)}`; - - await fs.writeFile( - webPackageJsonPath, - JSON.stringify(webPackageJson, null, 2), - ); - - // Run yarn to link them - Bun.spawnSync(["yarn"], { - cwd: absoluteApplicationPath, - stdout: "inherit", - stderr: "inherit", - }); - } - - return true; - } - - async uninstallApplication(applicationId: string) { - return this; - } -} - -export default Applications; -export { YourDashApplication, type IYourDashApplicationConfigV1 }; diff --git a/packages/instance/.temp/assets/default_instance_logo.avif b/packages/instance/.temp/assets/default_instance_logo.avif deleted file mode 100644 index 1c586ee13f1cb73538c522770727aeeb3abdfe1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24840 zcmZQzV30^FsVqn=%S>ZnU|`72Of$^QOiW{7V9dx(ElC84F)%PFW~Ag4LD>uinaL$E zHjL&g$SlbPa~K&I7<4jo@{>V47X}6<29O9N1B0m{1B3Q;1||jukO*T31B3BO1_lO; z%*;Hn)nFOX%)GQzkP?uZ#4-azkSPd3CI$wWpj2j2DnuUx17BikMGn{|kX`FD3yKOD z7#O-T3zG907#Kt{iwjag<}fg@FhDQ^Phy#&bE7?2RG=WUA``@7=HTF9V1UZW%YcOV zU~-Hg8H>cy3TKdTX;Ge4Zb51~m~gU6&P*<_Dy}RpNzE;`N-V9&%*jkFsQ5+MdIcKK)Z|Nks;Fq)m7;y*EgL0|>{ z8jxKK433N}4qM9g75AHQZU2>bD${xS@>8b&K1R2cCa!Ef^fL46{7t@-6pD`Qn*Q>~ zO~x`=;Y+e7W_sPL{>)?Ds()#@kW2yBlArf-O?vZU`5R)2ymig@eK?W+#gza4H(!rS zI;=ZRX848Yi%q#$S{m=Qtizwdl#gL~U=2zkJi@BGMPt;lzpmMW)<;<&h;)B1RXDZv4^KkxcVeyN% z9VabcDcPO1>QChAt+RIaDm;0&@MwhAlXGvK8^yeKiY)ZuwJ5BV63o3)J)c$NTi?ID+U!7V(vH1$|qMN?Ds~cHVUTCbBRkOUib5)`^b7^9iZpm{8kyGOLSDw16)c9Rbd!G257v~raUiCEGu2dX;l0E}!>)@`BDlo0`yR(>`w& z`KUbk+H&UV^e1~1l>Scd-s;f$^W?n==i0VwJ$QVQn#!|Ns9FQYJJoFfi5&_UivFUEqK2oAkpM z4BQ*6bm!jtrg2R=ec2?&{{c^525f)8e5gKH1=oH2b#C9W7%jOzz4xEy9J;)C z`j#r`k0$BgbHj=>FMU~M`}MW^M3JQ%rPJCvLe+9w4^DM2*i#mhy+LQCQQ4zqdY*h) z(dQ0rO#Yqtvf_EF-2SfDsoT?EFE=n^c4z+nbbE17SL-3en7AZ)&R`LXH+vVp+F|f) ztM%K*pT8WeRGJyTlb7d1e7Q^ixjvJB3i;`>C4Zc?Gr}i^T(o=MYgF`&<$dhzsp+{_ z+uimix;C1~-Rpj^s3Uv9nkJcZ?aV8$P<9F`U{np^OTe{xP@&4C)Au7K?l#GXhyw)%{v|Ka(hV`3r zjtI%G%kG?O{lv1MSCHQ#%H;OflnObXRM*r~#zjj?pWO=Bs-KhRdfNa0C5BV;!lF0a zOW*fyJNK)oozhB^i+1LAoZRi$6?C;dXK#t2=(mL-dP`nPtpx_`VqZLZ5i@0hs@Rve#qSX<>naY$}cV*0+RxAZKIwEeNNd3nikcCCcS z_dk+nZ*!>X89wG&t$%Q;_8}dotnBimwKWnuUVY{}A0l_*Zdu|2ZI5$Rce%}n{M_5Ww>+lA-mimjOCzD(RwwCk8x z`=g1=f(%cY6}k!t_T;zhdefhH`-8!_Z=1gU(0w4dzS4u z{D0T+jc=!3m>z4&)hf4E=F+oFeYsa$kMqxIOYvW`R@v$`?cV32fQ>&-$JVj`l;w>7 zkro`k=keXzo8lX$-FOzgQH)>amTA+!4XwX;#DDBNX;t`~tuJw�`P9+gmEvNWNI< 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 ByAuEa diff --git a/packages/instance/.temp/assets/default_login_background.avif b/packages/instance/.temp/assets/default_login_background.avif deleted file mode 100644 index be02d87624d952ad87c5d767fb63a5948765d79d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948729 zcmZQzV30{GsVqn=%S>ZnU|;~zxtVE(xtWO|{;S;7l0=X=0|SF%MoLZ*l+93(nOp*6 z!)U&O%#vI%hmnDSK`ApQKN-YxabRF%0EsX#@UnR#ic zOdt)6AZHjDf|yyE1w{o63=H0x1-$vG7aObkp6Yz+(y3_OWthR%&T zV4WhF#RaJ#eGCjdD;O9!Kw1R~GAlAcV$2*I91IK$;+X}xFfTDOFtRi@F}E=ARea7( zNh}d!;Nr5@`!rAbr$a;I5~G_REd@cAT5S2nYa6GR_G;pkW5o)}k8aAm?LT2$FUYYa zVC#Q<)mYV*$Ja$xac=I^6OgqjNtvQ@^~kgU0Sgz``!8PYFcCGA|9JdQ+mwFIzd?zP z^VD`kIJ$o1m_DViB0=QG*Oa6Mel8dFiw(l3|4vc8YrxA>xt+gqlQcuXeC{pPa{pu# zvJ{scdd};rv~7F#BpsFmwUgdC^VYe|*H2g3IXm@gX2ElYtc-KE@BIY+hQ!9LiW_gLOh2!&tgpP_-lS)1_jz3|*&mQv zchskQ9%sj^4f*{#tob2Jk0fq6A5#0s{ITwzATQ~XHtm*h>70qR3sO|p-k7fZX%6oe z!_KuEc5sO(sb&_K+`j4Z>W-c$|Lhr>m)87Q`Y7R`MN#D*MoYWTPZ#X2Rezo|Q+L+; z8}7~`KmHbUh$r%G{bKv;D(m#8s(0Spij(l?{IiUu=&{tR$Z#e(6T^2(|J#y9F7Flg z4BPqca)64A$m*h7&k|>)pIn|dyR&e*>l@p2j>?OTYj25nePR(f^NsOB;+3v*G6(N4 zh8rFBT9JL`|7R7i3fT*Gv(DD^x~x{&W(&jj15Tfr54Wn2F&Tk`jnj)wW7n*xiS-+1g= zTgbAp?o-~~rKZh`#XOGa@3IWi64>|ZwELNfOKuuo`F}tn(nPsPZqwJ>*EZhYvMB#4 zOU{mnpuSM$ny0lP)5O|0Fu6SXliTEcB4s99xns0$aKOGOv5ERuc6XQ^_@t^Pes0np z1(mWDCueLCI+~&WVNKGtuC|nhJ8RF|$9mcdNPUysZ9XT(^u(;kQM0s{-n`6yIwQp0 z_xx<5t$W)R)=Uh@H}!h%dP%BI)S)|-ccXKM{M%EKi|cMYwqJHk;A`m-iM_(gSGT<{ z7mmO8OImmH9N%ER^8ydM|3vdW+T$uWJzZ=?+cj5}y?LSz4z@E`mM)(X#FTuj)uAo;Y(n<*V99=%=U{5Rjr<~R2Vb1nPq`(L+z>ORX2AnyWF1Dg|54PEZKA_|KL@Jzk)CCADp*DrmM1-IdVy@>Ykn3RrIG# zwA;E{>2B)BN@eFa0!9wa&TFc^nPqwME}Q=(rNeR0J^i^`x377v^4&1qDXvzk?}lmR z)+QB?-BDY0jW4VX-Mh2x_f$QutG}*^{Lb+D{N|&;yIRKWc975DK&2WS5kNtBwjXMfQAA6I48F}zS=-{nu&bay=4{xPy6SmujTT-^pmwe1{rP%(~o9-(HzZ3me`Cf9?w{80WdUf~o z|4Y(@56oP)Vwr5E^bQ}hS?x|TGJEE*KbRkxQDr0MW7Q*(tR~uesQ673!`4N``{cHL z`n!C6bnt>VcD{{e@0_HRr82aQzU+$6xPR>Ni>g-1?{Ok(ng?DT^g4a9Q)wB(d z=I=ese`LkH6sB7>rYirhIR})_zSN@W<#P4$Vf)M;@AE%7c6vPWQutol-SO|-MVE@N zCfw`0cP6Z0*}bgVBJ+i1Y2?JoN;7%qCIuDO7;k*Jb^T`JJH1?>!>c-MJqPoQ zD@>|BKa@I|gfmX(9(w1SU-s`FieSrLNYn3kvRy%%#tiQ#R^S%Lc!oXuYQ!`GflpC-X2@GtJ9x6<~{ z7HhN5ue|?5?OvQlsFF!uiP>YuyfQAAeWHm^cwY#A&s*?tL;jQr+e5X#NnWU9K6LKh z0oK@z8S^{XerOwNyio9&q-ejOx^Ic$oedA+jq)!PpZ8%!i@VpC+!32w7GRXL^h)c$EQ z>o%AdB|e<#Q5(jXadt)E%JsKn4zluyczm$EF@N)|BEkIC8Q;VCFJIC!(?0!0V8X>^ z`}Xq-GYCJOU0HFY+C}@1p5sof!>VsMHZ|{^ZsU7R(I6-CPU0u^<^3TX>B$w6CvNFU zuCZ3qW@O)QcKI65k?>#Nr8Rd*f6<*A`~67o?^$!|7yZ|cxwY+%&*}%WA8>bxNi90i z8&EUcTcOt7u_BW%)^Bcly~=T~ z&)zS+s$be4PFnSpvu&fPb^>2);IS7BYo-*vUv~Pj-iv<5ugkoiR%tv5IUX5Xy)A!T zy>~_b0q9HlNt}Wg;WX zqs<@Zm2Q6O#&&MXxl`t=6LKa`nj^vKW6>ZuZDv%nZtpC`>FJ%7=NHTgk8fx?ykT8Z z9Yf;WqOkcJj^$auia52%ZVmsR7>~rZGm91eybKdDlMA@KNODI&ifMtwnTJn#w3!ZY z&A;f& z)H!%>R9pRVa>B!ni!7xies}dfC|afQSlD65_wpH6BoZYLge^+_{NAb8QTD;SQ;BYB zPYXGo&Q+6m(Jk2>e=~W)bot0H*Y57MOF4UN=e!`D+rOR*Jk?m~>|UCmrDgJCLF&)7 z-)qmT+NRODRH7y5aOPsEt5+6qPdHSY*lH7(e1v^YQT98F=t#wxvR_!#z278l)0rN& z_KXH`sW zeJ&r?mi2Y@2GPtQpvF$TV@<6KI?u=I{C7H@qF`7 z_tkm(7PEKpB}rDizaOL^d!R~JLhj86)vfEe%eupYu9`*6RQ-8t&9w^Uqj@$SW|<|t zi?5zs{NQ==dzokf*Yr&L=pehR zw`8`cxOBYWocImgDa#MdKH>JMR)X1sU8BQpb|w45_C*VefuO8pc4RB%0wW$%=I$&G@%yb7-Fo;?j3K8Ko5ZMx@P zx+kJ9U9E_>ZR^SVTC(pR1cjw(CN(#7X)`-g}c{zurE& zVVAT#>>$_YEcN0PmKw#aVf&jHln>9zTzh%*AHfTe3iFm95 z-ucY2s>>vt?fSfTo>CJMYX4UGHEH>ZTA9QfD)|-$0%@K`5?4YF){A8B$lg7tcmCG- z@((VGZ&|;0zr{+)Lg$*5aqM0Ug{FLW&S+Lo3$ej(Y+&^3ipvl`FJ# zRvfB{ijTVYQF`k$&l~ z3QIqg+!KC3;ljpWX{J%f+*l9UEx6ZmBG7Wff{N7achjQ(7){-K?osOIi^BHvmhafX z$(mK5^faO2LEbUPslDG+_w;cLt5Mcj*bG8&p~l62*Y*krczZ9>Yv;}Mgk zB@J@Zw0Cb=Q{MHh-?AezWXaDH$BuCBD!$V-XMxARxW}5`KJ)K#-n@QE$=@|{{r;Xm z7fXn)GYZ-Mj6`P*!7h zlf2_|5p9FROfr8(W;<=Q?b&s-(BDF&v3C6(Mpn!JQ<-n=Tr>HmvB{%PA;+gIS-bZ6 zO@~QuwN{i@FL`p4X;r`sEr0H#-Vcs>tE~zC7nU5TxOk0z_^abO9`_%{wH|Ir{ptH` zn)?oiV!gTL$tOD3*W}z^7Mmgwc*%0tCH7xj-}qN6+b68rQ7!eCrAKVO`-bIfGbc!0 zWdGQAW!KrN?-!dS+-}I4#Fum~GZZ|sAfw}YvU7E9;_qH*J&TByLXkBYZZ{YG+&F{b zeR1tCzv~YLqqXL<-*HXRTs!MkWq-}rGWz*y9yLLS}+1s|LPP;Y2 zLegHuSzPsiRNdDPGBPhM8G>J&D$BFfb^Wd|ul|i7)3d&pRj0*r(x(ZpaeO9x$*d)2 zmv`P9>2m?gCM}w0(rLrK)a!BPN88tRz6X_-aKtB{?3E}=-g(X9!t-laEuU@>zAY`d zy2tZpQ_vktW`WID3)k$ZIq_%yS0?2W_cfx+t!7#=%WTPhm%EZXSF5VmkJa@y_tBLP z%TCSXf6MSs^hxZ??nz>md%P65#7qn(T}k2n;d94k!^{|_e6|>~$9}o)UwCSNXH2$13hQU2AJ#v6^g=&{W2PFt?6a1Or#9;9UR>O7yK{@3VJr8X!1K;GrY-xt%5!hwgI~7lQ?%qS z8U{Ytwm8_^#H{t)0;i3N%A3;^R$Y5C`A%to@NBc@kZ&dRkM>8@hc4RB)wyL=(^D5; z-g|Fs{d2y5n(B1>eltg-^L&AmRYs4lNj7@U?9t-NW!ZE6{8bIr1x-ieE-oeGS_g@j9jN-jP>R?lh*%_*i`BtI|Z1jiLIokyXO?=e_)?==nip3-4c6 z<;(V;r_G!DCLv|M(sD7Wx-BnO`UIb6+3Q|a7=3$_)-JUGIlH$WllWeqN##z|Y`y98 z|3%`CusY$YWzF}e2g~QYnxtR0-z?}}YP0Un`VL(WK5?g)IvR5iPkRxXYVtNCMMUbu zW|_L>dUy8ky%?CgTEX*OeZ z=Q7&}XURwKX5P(L>oSwno#EiNXLfgMLc^B8RVvSx^|kHlp3m_3q{sbEmW$u!nN(b6 zi^n&=j+{b}h8BT>!^2`RkBT^3umail2=u>Dxb zd+(=#ZbGWc(G`!g8M*gKTwm{~C-u2}dtzK?O5gSK%WOpIme#Uq1kN@Wcjuh-`OcR; zA17Z*HSm9*{QAKD=Nm;$t$ttqnc5x3f7N@%i<=2CTqmw8T>jMP==kvh>yt$hT~Ew{ z*-egREPm-2(YoJ0XWOGHKhEpt+~RiM zXi3OtO%tE9;mdy)T`g~4op)bv#^q3rsoxm+bc1SxZ*tw7XYqG}@Uh2QFAJtRXv-z> z+GcP~V18*OZ7TU)Ri{mJ;?u=C$@Zbnl7esFN>*il-V|aaelhbSFN=oRTlKV!nqtgz zz0Lb7UuEcV?ns>CCVXy@m7-ajkeFWO2~SpAA%ETUNA?Qeg)a*(DN3E$Wg%&Fc5?4C z?+rO@^(O2N;+8zOMUtL1oqe-%YHjKNjhlCr{^e3tx@@vwv*ouf`#2_7->-O=%Dd-O z=8f(h$M!g`580MkdULDoCciI>MGscR2K-*ItcT^gdR58}g}s({7ab1jU05lY@%`8} zW*tsH|FSP%cQD*y$hsZatnxe~)G?*IqUVQ2$>sV;>k@PC1^zNM0<6MYe(XF`bobmh zAxRMlgGhhZ0Dhj{-M6?F&eC8_ovEFBO~S)?MZ|T%jH&*YvRQQxG&Rmt`q2M<@gBcb zC&cf3(b$*&^~3YEt3{8Pr5|PTOrKEyBrp6)EbkBY?H_-K>Qz;~J#syti|d5XeBo+~ zm_IGg6MN3QKDA($2EXH#z#TC=TUejgSgTIp`xYFpE53b>yv);Sza^Wi9abHWTR8E| z+8K2RzSUSIEayM+kLO@MS6^SFX5!;5D~)t#CNW$SywZGh>*LF8F*;jryQ!>yp_c5J z_v634wHTL`#G~)Vm(oP#&XO z`MPj%^YQslo;nen7H4H{Z1E zP=`&}vzNi)@4hY!3ol;q>OVu5kh$Dy+Y=iuf7;?+=jvw*&bGUx|$uZ5dujl;Y z{&d#=CpTremnJ_`<`*nNU>J-~4)~l1%A1_SMtK?41SaIq~@mJm7 zi96=y+*l(NYR&&@>BB91I|WW0ef!P1=i&Fq0mlMoB`;*>*sgG~vw>AdZP_LrRgc^o z>vTV^ZF8(}6Z@+0$bDgBsFB|cOTWJ!45wzN8qPC&FB01J`}Cx3Uv~WNoj1{R(jMo_ z*S50gezUo-^;PtNryqQFn%(Yla9+cGoo~^$k{g;&8t#?7%Gbx!WyU@#${`8!kT$Mu)z-~IOBhTZCqZ?|jaOY6$_i{;x~ z&XcL(H0w`L2!%qr9k`6a5GaQrRTl`kvK zzS-~JeLq}n@gy#-!#yjOY(9LXfxR(8ZpDYfh?9QhSy{4f4VNEJu=}^{QQ?xgS9Vvw zOSTnE%oF7Lw6d_JG{si7JLPetyyu$0Xa6hincs>(!)e}??)_W*%klXO!{aq%&8N-X z!@KW>`svSQTbm5>q&4RKn_+l}sV*@wL9??n**Pv{SGKU_jh9AYE5i?6Xygd<-pg^U zCo6H9h}f-wlQUPGaQ&CmyQpJnMrLA%HmSe(_GD+M=Z-&fX0q>!d2~)V zneW<~Jl|ta6X7 zoX0fn-6Ouw5?Ah>Ezq6+S7&nj`olAqN2)JsOS#yX=YM66G|N-9sdBzy8n)z_y-H9uxPI+OXQe{1-QvT0n~{ya1_s++lW z;_U7I93nLuC;E;zUy-@{L*5F?zhpDowJ+<6K*eznW=W?zg>$DG^dDL<`)}3sE7PxietPdL z`+2kNNjuE0CYuQC-~QgdaBWpWinXg|ljVe+SGJ{ppPX?-!duDSV>;K_gWsPd=GQM+ zVtroqPL&U6CH7S3FI9)pmA)xT*`B zU#ed{Dpd2_dr~ltbN>pf#jb5P^tUYf@MNxaz}t)EE0^ovH8R`XbTg{{eAltUJ*5|O z&wN~JJeSSBz@bcXj>cMRuZ^o*Ze)miZvAkl;WFR3qVuWBm+GY1^ma_zxx(-8yoFJZ zJLYNqbK9})-0mHM_X30`_TB$=(WRu`fBHoYpG7GjeZQqiU)pwcs-{^G83A|dWo_)|iWRhX3NJmB%A@z)1yA`&4EWasZ>a;OO-K*a))Lckw*M7^JnuYV1U7q~oqk++Tg;OWz zI=RH1Szx+!?xOw2%#I{3JL+ywR6DUxz$AKdtKHm|dG5iTQL`+KU!R!crB@#R*mui5 zr`<1R86Upu!FeaN@~t6r?i}BRk8W7cJ^8RHc(y&ZPk4GaeBbr3PWaDS>E9V* z?|R=gK69J-Y_Z#??+2%OcAfoTd&Z+S@@vQBbl=XsU+16OI9Gh#5#)8b{_=5|-gIXelZ7 zQrwZVsZ>_%rJ||22_wJav9kZy?zwCcjd~Xm^q!l^n!jW#>)UIxlU~-kwq7cTH`w#! z^K!Qz3j*$}Sd(Y%TkyQbkwxr{S&>801^@Sa38%kpa`?^fyE5U>gT%v}znR=Bt6fg+ z@IF+;G2^KH<8uDRFPBN5UB|uR{5%`AONjw4Cl9A=kx^pYHDv+E`A>Yiw(9CwWt3OE z+^w|4YQiP4JFga&md?9d+!(Z~!20Xy4gKlT46|Zd8&4Ys**v=SpzLwb8lJdSIX_qK z%AC=*fmo88jWA99%PebimMuW#F7m)o4&_qKkI(0s$9IG6}oL9#m`L)iEO4Zd&>c3~#a;WDA?bkT^YHRR@BaVf)?^h_;9smAMd(pNF z;(}ZHJ>R*uESnQ}tN!cLhnMqTM|4-L3g{^l`4trK`}lmPoZy`~Uar+ang(JIIcGlC zUOIp0A05Ztw_Ml9%>3}E+>sFo?krmYXeO;&XW9F7gC!U^M zuxjJnN7wJ{@!M-#&yakhEL37=qDRs`zpIAJ%{*rJh1EA5Ke*md?&QMoe#gM|F(q#N z_4d2sJB&>0g0kEjOq0~b5BM2Buvy6Idox{-{pd*z(dd^QMuHbgjcwFr%X}G~^~Kz7 zN_a?TJ4xu*o{gEZSSi^x>O;zsf}YUZJ95kn?%q11qhl=N|LR-Oc6~lc>s1H01SRvy zcI{}}Vmx!tl_R2gbZW0h%aQ)G$2RDt~w|%?kI9Gng{)JZsH~bQ`Z}*t4 zru*_V=cNaWBC^dIm*xJlD&{;;k$*5<_Gfm?hhLTr`?s_=v2jQ5KQFwhhV^sSHb#@6 zo1ztW^)tI$)vwq8HxZbn6epi0k^<^QCPA!!Zx$*V$^Ph2Ryk96rZWqW=xpaBE z27knqoy)p^EDk*1z~Wev-_4TTGLI>8t87%xnw9eFR~~(%aB-(*Et`l()O^i4^H=`` zs=0Y{?}k@QkdHjV`?yiDkhf-sLZ1>)zGA|LXMlF6ujNW$sJrF_`>RqViSeghkah&0qHg-@T+%`7(T> zOs<9g#5oF{S_~$W${T+huDzebyvDjcuXa-59=k&qzwYyl{LA07;H&T78oQ<3oyT&n z2~GRep|-yC&4s$TRhFF!rz9C1SL*zm`%>bQrOYzLG>H$~F-aM^Uqam;vWskfJio8! zT0qpy&3X27K2)r^oi;(~-)|++$NQ6~HU!ix5{cg$#2O@M`ruo)@cQ@#oi8`MxZy4< zwffpAjb}N=d$engYOTmSKTl}kImZ??FL^0FCONf~u&0V9EEnGGifQCpaQy%58=RKY zSC!4*{9wz0_PbAe_(fJn&i}{1VoPV{ynWZw7-q!Cb*U%TAB^3%JhT4d29_m%9lj;* z{>{m9-gwHfXW}>Z1?cp)&fgoF61HodkEM0v?~8Z-e97SZ_~F6buRnJjIK4`Ru_j?3 zOXLRY&X_w@KF_~03obY(ESKi27AURIr=Ol`SWq=@tBOa`k9+GDs!r<F zcP=?N%H4aVo;+#KzT`Xa=f{N~Nz3sUtoU$}gic{g!54QjL87N;|Vve(7J9 zZ>p@my;Web+82?z`xy7%5u3xjujmYK$2afTQuQdl=962_x85zj|B*knd|B?LV=DO< zrVA>+^gnAlJz~j?j;ryU6@^odeQTT8_pNf-&n=Q)TZEU)l>B@7+O=;tq^zENe5kiH z<|^CmVCAH}l zN1S(-doJO=vi<5Zy9b|-uZ}q$@vGwO#(zpV>~ocDH#{yAy7AxKY(CS0V|)JQ-sm!T zzEriXTE{fUf1%)x)6x5zR~87|WW3QidqVw*Y>tEPwtbt|pJ#d{^w63Yj`yB~E3CXz zHF@D7$x@ajQ!>hfI+X2|dehg*=07lt4XQqM@9Cvvnbw9oO%7LW4qVx6J?p8B2b1u! zphwI+eP1^3U3KL)Pr2+RL3R<_)aQcxeLg1VeKgU2Aj+_Fz5Csp2E9o~Of(LKJ3B8r zBV9dlVOa4(X0vBbIi8<6=CRKBrupAy=DPjL+a+7vwI&|Y-p9L1G_T2P(W@_V8b9)7 zQgiOTp72Gg+x}YX0?DVxgP1u__TEi+5$5XtGKGJQjZx^TOS-Yaxy<(;xZ2&AsvEKD z)Gf`orK?Y#TXQ_TOK_pq!_tZcE{#H=FMHGXX3uMh@e_J;=&jzXNmW;Dv|paIXHS@< z!|oGs!p>4>{~yNMBuC*jOCBYQ)t|J8dUJ1qUEc}M!qof?<+CG;?$3@XslIghxtb_3|?Mczwpx$2H{QLzS}6c z^-LD2|EO`l;O&d+t|t_E=FOZ?zqRPcJ-JY&=XM+JO)K!#zG7<7^=Ny<{a?mQzrD%Z zk-zxOB*x8C?S6cHev3_4d>a3z{%devN>wdn8t!ue$BB|o^Cnz*xzjD21LuA@n2bEKKA|kG{?B<;0nS4|0Pl4#o z`%}(dZ&|(S(C!Ose5%9~)zr0)dfOa!JL$AeM>k)|!)QZ^;exrh-|1iPoTF0_kl{G3 zWa(1j&q3#UI^TQCDz5u~cdnoGYX8njrALl@`@3Yp0RcCzNXA_CzcGfV8hgd0r}UTy1`Cw` zs*fz`wJzuN{n>XY&0qkIrk->c=Y0g8NG;p$6+X|N z*e_V{y?bL+(($i3$Er{6xnp@R_wdChSFZ^03bmf&mCTCWsIlN=;@;AATR$&;dpZBm z2Q~3oFQfd`W^em3p|DBS$gJk1TJ`$VN2mN=tlzQ#s^TIg&$q~_tePU$F~#)-*Pf&~xeJyqbvxf5b4eE4eb ztfD)2jW5PntgYln8UOKb3Foon#M#M-Txgj%T&zcsJw!6*S~->s(~NCX`ZkDnoROdu#R z_rt6ur+#zKz0p0}$0y)b`Rcp6r%nk-%sN5eO&qdU>~tQQ&i}8`DZIw_u*vJf(kpecQty5L zn|^&*VB}G-TJEBq){+9@Tiv0&jwb{iBW?E2s%%PF8?~{)(YS1<{GXr&%8Q<=b-68U z-10O$E;VM&em1syk((_T6keEg@*XjMIlVRK&t-|HYj~9=&B|8#Fn3Gt%eJ{C8CMS7 z+uyMNMYY46JQg3{nuXij9&07q&3Eg*DZAPA>8;(9gJz1HIe#NdkcC4zF=v1I!41Cy zvR=*6|H)VoTy$M&f>}Y7z?P$ye?M-0us1U4(9+l2jEb0kwXIxv;>Lp3cHxGdZ8vXO zehTZHX3(3q`c|^#j@$&PNe&AnRw;)@ZspOq(9Ev*@!zAU9owriXYYxw`m{Hj{rx6h z!D*{Pes>;Rq#`-__m9MGy1=vuQs(_p!V+ty!t<_)2X zC)*rpUVVXWhS8z=S?N)~T4S+pFi{V7JOr7 zXUh0?p-_Z%XSV>?*=c)9oDWTUu=VCA_WbVb1qU|j&iJS7wN%RY+!o{i+M3!cz3P5e z_n!EbXdt0WVw%$_xUt;iF6wPwcUlM{l!M9*90_N4oO$w~et(O*8yWiFkQQmA(! zsNqoJKe0_UEyB~9&!4^>^q--4NpN?ztZd+3(YGNF{`c;fy7VA_pLA}J7)Q*SP)?^S zv!C4#e$Lu2sKf2$JEf!I+i%%3Mp42?cdXj;?nvj^qSE6Q?Kj+h$jVP;oNT?Ps>J4_igCWsM>aT)kWQpXPG%BYs@({^UU9B;qKi= zUtRX4_BMC@reFG!(>>i6Y-xD$@RAV!?q%d$U@vCnClfQ%Y;62H_%V%;nylS()aLl@GSxsE~ zwj(FJR`%QHafe;bJtq)Z`k`{cgq*avZ4X@>Hyl{UU9>28Q~u}+=7Lpkuk{3?rkEdTU3X-qraUTh|R zboJ8>3ln{6UxXgp_@Lb4_NjKMmKrC{pqL{Ja?=G%uL?#Q?Ppo}xa#LCsb$AIj@b(P z1wFAm{vp$Ug~dZ}_I?G?;vbb?+dKnLO$<66ez_-K?*0TBK85z)%-y?6%h;7pM!cW# zW|8r${NqwPCwz`m+dMnv*|UEal-T=x>aWZ-*A=pndOOeRzeCi|zKrb)epY<>$r?Cg z%D=51mLIati$$~=c+2`+5xm?R+Wa`{@^63W}& z3&hn=#9cT)ulM}6TOWQOIK1>--}#lj>6?ut{sxCkC~;$&a4Nt}b@wIh4c}vv7ilfi zHG0FT@hD0|h;N?0*`E2bvbGg|XI4GCbh;uoFsrDtzU+0wQxVCF70O|se&-09haZ|L zYO&|MvV2kVy!4w*J<+$k)_$J;dHePwY;#x5s@ijR_u3OT7^ev?lq>&wc~9)~`Wl_o zqTko^&j+Y9&)40*Qt!b0Yb-YyuJ?Mf8m`Dx{nOa8l#}&!b*YKfeLb%ulbX)1>EgT8 z#2CG=>hJ%pTa))bI2+XP@5tR}bNY{qNmfiYu3fSBR+^grzv~@NCpz-a&s$`0n)O$T zP?G_7mtWn{c^{5!XRt9Au+#DL?pYCP$9W}w{lqVS+V=jDmowSEse9uLU30JIwn^Wm zPWoI|au1sDK25^-de;rx{~}Vq*9%5|UjPKmS$s!)>eXo1d@g4caUcdtUjH+td8Sq(7_H zr%2S^Ic=KxqHKv+Q8T;3ii?>)>vuCPXmL}J;A2?XvhPvvKDW)X`!)uZFu4-@__oxe#S^{IWW z?eE8S4)2jA>nu9wir@4j^TihC1YNc$~tUD($VZfU;sN|Mm& ziRu45m0lgJwR-YT!fWA+87HlHm+ySBl&9>@56&wY=T%l|Y~DCg^!vOoC1$U#ty;Ru zVCuygInQUF{j~A3&PvND{`Fpb7Eg4J3kOnZ76EtZG9IQLg^qwUVkevl=n+K00f4_rNYW;QE- z4_nFfJ?~n|YkOlp8mF>!Z7g*7?KQhU~2->$Pc{5#Gl z-2Zv)%SzV@!>pHU4;aNaB>8{Ro0(WEqW@&$sc>WUE{mhwd=9@R+to%r-1jy1nM&P1 zPD9;lmph++w(Tr#PdM`U)S)Q3L&u%&Ybf>Ie5_Sz?&zTW^uhV4WDA!QYvzQ?9*o)j z+xgP%Ww*uR_fGxgC%IYMzDIqnln1A&hs{orz>nQ#B7DJ4Zx%#wnfes8$sVj>E!J^V z%Y42sePzbykegQ<`YcqvCEni9K5ZL4%T8PO=)|i{noo0B9qp7KN>O`RZbK})TaY4QxHuN33dFj1n;-~tyvqw)b z&of`mn|pDOV1u(?PHEk~wv%(Y-maSQUB~srDb-&OPpOFUZq(KCtYNR3_SQso@AF2t z5AK_``Y(Pa<;;C0dENH!rC(35UfgiINrA;&w0`OC1I28X7ab2xb$w=9)nv4%E$nEp z&w9;Y@ARK;zPVw?riB~LO69dDFOm=x-l7ygYg>oto}i){ zJN-Yl6y7tu{37f?LHYI-vt2enEBwl3#TjzvZuj;>zJGZazP@(e?ageZSr>|2HQp93 zyOtMvIL}DL_kYVl=H-z`Q?7rKoON!N#ucaB!}WXQ_RK7<(2*_?t2&a{b9GSeMy8$tw{CZGweBgHHwpV z|J9z5_MOXoUd#U@9f#FdOUy|PXW<|W*pb% znnzcelox)>O3xP8EBt%%hW}EvsDM+(mtG`aXgZMD|9?#yTb=HbBvr!?YiA$Ry181@ zb#3@1ttDnJbXJ|n-4iD6S>PupI{_WFD8mF%up zpLg0oUE(im*U=djE9O-1KIv2a%l)&h`7Vd#lV1!iSM?wKIi1^jfnDwM30E8wn*Lh+ zZdboCH?QIRjDp$0Ept3;-WFS$EZOU<8Jm75PkHMCeiN>ZPH}B==bg55tf={mj9C?AJy+Z3$Nev2dLy|NHdVGn>B`6m{mT zKCvc+MLGLj>GCZ>pIznd7Y5&AiZ>45e4KUZkJrb(PPo_4?|IVs zTF%a(dtsdm!vA03`|CbMLAb9ofBDk<1?x9;{ak-voK0AAZeG!z1;-bC)@|01>TZy~ zP(8^?LvVL*IAfuPWbjl@?YSR5y_y%X>`=|uup3v8T~mnNdFBiI(~XsRVXs!bFba*0 zx)Ytff6x52%vR;=6))I7tY++9KjBEJCRd;2Op`r&gb~Oq@L-i*z*tDw+1R~_qN!ZxZ9{{#Sv-FR~6ceS@JK=*%)E^ z>03)vZNJ*_xW~`0-*Qus%3M)9-9>Waq3%u|g&^A*T^h4Oro8YfeE)WKY0%8~6Yg!R zE>ih-U++x2vQ86c;bi@JX>F$pwtbNc5x3`Pv)a&QaH=FOdR^VEt#4N>IDRH~#x#Y( zy_$LajmP|ge2@Cvjq5fvuj|*cnqY2!D}HJ~Q@i+q8U6yxvKC1%T(seQh3)C%)f--F z9Ce<%SGjh5*s}Jvf0LdbydLME=H}e;zq_(|Sx5lS^WPSXEt?rM;{!~3k4o*-O)P%n z`{$p;zb|t<19aBwU5~9QtS>$DMCtKy*@+V@pFQMOR@Cx+f1Y*zHkOm&tp|grUQe;R zl_XfDaGE1VW%uI)%^Ng&B;4KzpN!Jf)ehs@9i;p`r>$Dc?nv}CHzzKgN9LO*oa$M3 z=E$7fDF@1n3Kp-kEEB1iTlc}}$wO(I%M)^D+PR+p5ZcOL)-7;oe&=&{rryH*6E&yj z2fOW2P=5HTJ!I|+&Zk>*>yy2YsS8d_-w_fmGh6cCvYYddygadK%CDxZAMU1A9OX@a z(~T<_k`61{H&0t|_1yR5m9bJmF+~o?L(c7A)t0qheL}yWb6s}Djhup?#nlqh=PY`@ zMzX2&xeGY+GR(La@wX}TfAhx!JqpF%>qOOec1vAkxw{~8s)^4v_1W?fM{nBeJm3Fb z{y{+2(H$!T*F1Ws{o(VGqe%tlwk_;@-tKx^h_O&c>z}5j%eNor{_|(?ep&MBot4Cz zmyt#~IvI!7cAozH%dY8)*7H>D;-+0GOi>~Acb8Z<1YO*ApszIdsEf|u0+D0U_G*vV zoX-Vqy!YKWNUQdDlKc_A!i8TBb4|&<_AXDomv?_)+{2ZB?$!$=6p1A<7t2=n%}-7C zki7Wb(sruf z1T!@!%yv%8`+rPo`-6W|N|q~G#F*Ti^H%o0Qv8X9OMm`0dT##h!H#)NSvwZhSoYhN z%35BIKlb#a=R<>8EsDCKGOW2TzNSQUiyVCS)i=8I6n|Iq*XMeF&eS|q)$369|8FS0 zR=1|zYhIF!^v1=THZEMI`D(-B6PwZ&%JkIlx60<^TN*A_e{DwqA9qAVardueG0{64 zUAFCWUYqIJ7`fD9vs~rnWYy@Y*|G2Pl71ci!uf5{9F;4rkD3x%FSX=<_{sM30JE9n zo2zdRo>yDKk@>jFWQ{$O7xvo`9{kiV$)925xxQ1-nv!@_!``x^XjDBx} zlJG^XUr$P0-Zekx@x_jewtpu(qpqoXOiNuHlDTka?Aq|4kGUr|oDMiR$MejCC;t_N z3l05GtKV?6koqudpJ|xb!q#Q469eiQHU#_@aw0ZxRwbZ+cw*;kNBlE>yp^doRSXd3*8g_}q)lU3Y?7 z&dNLgXVO+%a3Ue`yms}6_O28z+hc1Qj&xuBuYS(@cZ#Cvqhw2m%Rd%=x&B^>VO zlO(&$7{RcsMaSoT-sfASlh)B*t>*Q~{z>lBt`$88ufOYbedW&mcp{VTkC})5rwClH z^V7>Ze{0nQFOB6ZijT}H(oc8aKDXVcci}SqFyE6K-HL3Mr>ylm>^#dscfrc7TFvSe zYW<#!PyG{E3*7TE|C;xnGg8^TT{uAR7l(h}kHywgIq$POpV2b-!;!c?ZmOx`llk1P z8!slO`gX7L_1Egp-pn!a!i&WgEh!eK_q~>^f8!Q>a8v4vdsP!2SsHA6DQVqq`+HKy zXJ5bO`HwwknYTy&Iut!=!Inw$c^@UEO?dA9auw5?^%_e)ymYd)d!f1H@cXwPnfNX} zXY!14l)FBq|N5^jr98H#&lzVlXRdZukeI(@LH_s2zdl%S=Jn*XK2N;$YI&$n$iXt9 zpN7fX?xi$6++grz{kQyYhHFzx5BYC9Tc)dd=|Xul=fi@wm}58EvXAak-#7c4SmQC) zPqQlL-AkRb{oY2y&Fasv@_!20$8dg4SXz7YuItY^H6A_4jqOQY9_aGcu6~`xuW5c>t5Yv#z1UQGdBrR? zsmpKncpuMLlW;;HfjPMA#hROQ4%}^Pd;333cFCtZ{|+y;%GXO2<=y66%h0D3{k}qZ z=EtuR1stEWKQQQ*yj$_})s@Ltolmo=Owe*R3O{q(-1oyF(Z8R4PwrjZY4*}|3hQC9 zXr-A;!wzMn&RITf-SnCZUTk;l!Xk2;zR8^3D5~2(y|M3JX3OSw_C*JrH!7=dS7a*Q z^X1us=o86_Z>5^0B@GgOy=L0Rv2HT^toFM{ueqr?U!2;P7Wm=ahy8c1_p!PD%|4Ma zi_MhfUTg72$49Qd0dBv8&MV)_S-My1|7`1k%9dCT5AIfNrwLkRGYASu~(`mto$a+c@t7{5f3oEc)7_=IzOFAehV<=d z<-7WJrbix+l}7C1LX+%e&Td)Z*$Y+`YVr#dCQK>%JuBsz%cqHPYURPaCvV;OyZ!s! zqs7aX-rZDGuqsrl_Q0hL$2MDBW#9FS>*~?AU2Pkd{nIl2vUO?M+k+=1`m!HzS3bXP zZo{RrmHX->SHBqtL)MlZi7NVG_B3ew%AcOAlE3gp-iea2pR@HsiR@w_HW9WZnLBko zqQkdY$=!MN@9Cd)%JoNU^vbRz$s4>ATi<@v?{jwUr@Irben0cSI`BJJ#k%XqZ!;%N z+sf4~^Y!_?ZED$iJX6lwpPR$_sNu0m)x+s7sSIcRZ5_J~{WWDUKDc1rhgav%AG0!E z>s`=%^Iz0*D+?LhjZf9Y7JvHK-l5WVSmkHjd5$?}Lpvh<=JURGJ9^EKyIR7p)9#e` zm*m&A)ptR`BoCS%04SsjJg&&hwOcQ5vo<^ZZ-Z|YlgIR9f%h(j zDDaguZbrF-`&Z8C$d1nol}%sIUXtZ1^d{rYtm}JL%ZXoVxGHnv zlu*d){`+NdJ2LmnOgdkwp0j)5yjf4?zSBFlW&fQ|vWzPlE(_eeoU!WFg=Lo#cAnJK zJMrb_oXXb@$tA)Cn?=^X>Qe8X$oe&SSuEq$9dkCUJ2UTpw*J22E^YR+MF$i&USF_P zqb_@UxzBXB=*^0n2kZZpKiNF#;_@qpKE7o$DKPjJb6K%mFy#26%*TK33q9xbZ09#! zq2{64F)w)TMh=M}#<%zQ6w>QgD%2h7^EqHQ{q^gU+LO=mKAd109V~iu?@>ds;^h?^ z{BI~}XJ_mG^ZfO@pd%wx`1H>Vi?5S6zh>-k;8`K*bH1;A^Z5-P7W?|wu1Pd6JGag< zH`gbfTi>v+*jb^IJ)`nL{?6?88J54_m|tqREZW#~U5!2X*@XR?0sPV1R$cP=dhg&o z`}?Z%j~4w{_$>eCa@9$bDn(C)ZzxI?+1sFS z+*gzIt1ADq_81?y{h(O=Tddlwn${1F@ny+5^!nts zcfS%h-#A=ntL(gK{kA!ih4gabek;nfU-V_lH1(aGa+KY0j-u11CkK!9sF$Z0D!g3# zow?2L#?-6_Dt6b8eU5PUU|{Zlp>Z;I@gu{VwWmJhw%)nM%oN9aO|5R%+V44hx7?Q| zb%$+ve?rG3`OlHhHy!_N;nq#AOJ4Oy^|AQ*E5|qgJHClk;S>K?11mv&*~O8UUogCv z3jBT4ana+})ZCbr+nTM!;@3@0G zzhxW>8Rey(%-o6n=s?)1ftr-MDj;8DZ0sZFQ%udIE# zJY)GB&y)ApywSC||I({NQT9u%-c9Ggp3H#8h4F1-3xe4vY-f^s9B9RJ*j~LdOIu6h zc4Ja{^wS>i|DP>RY`J4rSLlE4O~$LNMadl8&ubl*%IK@VI?m?ls<>~~Pj%NXKWb0v z#yn3Hb<}csWO+{OfS!LrH&55AYs!~j{`l%Ip> z3r;R6S#{Iq%3^mj58m?GlIQN_|ctL zhCftt@#(t{H?L3)e%R?Rc{%2B)$GPNc}3rU z!hC9Vp>K;cg|c#I)F~|Z9=ZO5-|`6iS5LpLzq8H!@TQM{en0$}mfg!bz3}tFJ1u)x zzsUGE^&3m(sUiy{9Z|bUGc1aqrLGMQm6Q3{YngoG^UBR{+AX9!M3T}tx>ZU_yY3v) zXe#;e?NDCEg=5F=*Qne+xO1aQ}n@;iCre%qq!p9n_m`x$*u?`iP086I`Jm;7W{ z*`KlY$PCc}!*_QM2Wo{yf$hAJ0uY>l)78 zv+Z(q(y#7sW_R~4lbCrVY;|>b@RrGzue-ap)=cJ9I`ZhlOtWd>6DIezOD{0=;=Wgr z$(hT(cJe0qkM}n0D*Erd%lV(bs7Oqbps!N*{TXHZ#J;b$x170IxWMge!UFzv%KILN zO_BRh|L$HL@6Y(v&b+rSZGL3#obg7rW^w9~tIfB#Kc5u;_-RkJh=21^jt_G=rMp=x z*F-rxes8`YJpKF84%O@C)5<5U&pGzK?`hMk`R?+^o=xAUD)~-n-qtLgi+98B@*FZh z^jzJWul(Dr&3`Iivp(YZaBgPep%ZofT;j}g-S_5P>R85CtNuBrm%GL(*QKgy*A2s? zmUgOIe9Ch_pXN|y{FbBlG-v6XB?khxDH|@o_O>c@<>$vC5oVFEC#|}8X(~qr^QMxZ znhA@;>uikY?hQX~zD<0O^Z`qSbvx(yCfs4y(PzESc)r^ujG=xudsx8a<}49&v)10l zeJtFGH3#oHx(aQr4QZPG>FxFfv+cevcf2n6vH$KN zb=#V4j3+vF^puL*i@&&2!05T*?ZmhU*_MlmYmcx!z9{eXz0lA$*~BIB@bcMtWS%}8y_t(c<;cK?CMxKxw2F1aav2{XRctGwhFb` z>-XM!`03cr<)?P;VVLmhi^W7QKc#4nr-5nP72o8pV?V{e&_|&4Wlh6H;S>ELX>aC# zICf8E(qgT?>9byKW#?)9s=D6!?4KZMp*-z7TVJoZb9bjrVWsz)hNZom_D|oqldJpR zwDUJV+zrb6x{s^ee@>Jz7kvjI4u=Z{Cmk$Z
b}6%V)m`TzvGx&a9JHWiRg{sreH!KgFNTG3>41F4Xh- z>fa+D+1}sJd)LSRo$b^I^(ZFfn^Z91N(mtr~VQ}-R!-Sb~^o?PEk&B&)w`$8`CZs8t9<_Nj$V$XG# z?@U=|aFO*#=jn*FQ&W>t!ye3j5M-%b@%7CWuE^J?8s$E>_L{y{cVXIK`pE2n%k3)% z6=#O}Kim|QsoSV)ZdrI_^3Kes?Gf*eCEGUtO}LvHa59)TobjJyK+EBiP50(5);OzU z@Ji52Oe_3$^cQ~K*YbUgS#Cocr%v?$WUftKpA%Cbzb!~yaC_^$D|X$6 zXQy9_GmT5rp0nV_x!?ZNLRuf)eR}0jer0jIlE9pFzL^;JRLO1>FR2NH4S=R7;kNC_d z*Lm)QrfgR%k+}4I+vyKJ=Cgd?pS*v~Jg+~oEaL3jh{&UF8sy)s-qIe_Ja>ci*5r^S z@7FFc%h-BiUgz=$dmRld_aB~NrzppGE4I$s-7@}}nOY<8=Qceq08SI?OZBvxC zG4RWm`zu=2R0C5t++MnBOXqsW3{Dff;|dLHW*xbqs{G@P6we;*8u#1Q>usa%9=RW^ zvSQZEpAT(5UY2ooR$H;nyzDHW>C0)`RC?o==JTjj*Uvj|bw*t|BmDaRTcJT>TYmlG zP=0K=z1Fsr?NfvE_dD-u_yX zY*ACSYSAq>ivujxeI+WJJ{;`YRENI2``Iu@9f>B_(W^tz6H;${_AS<#&oo;lrzYARekBqreejtM_xYr`KB!P z)%*MNL;^Ob*M){X$lMX~yW`feIl>dO<`zzjbXmDhVZlY+_*&POFK3)PFW}Dm$mY^N zxv&_2?KSUYU%i`k?E1c+mu!SP#pUW-Z@#*-{iyq2^RJ~#LlytW?q2n6>gqGm55teE zOaA>C6;Q%$zQe-j(zIZa={HmF{JyDlW5%r(n=VzwJ-(U2Gxb5} z-WRzZUT+We&rbN)dVcP)ZohLp4_lklzgKm|NNccaN2lD3jcl~~cuZ%`l{>CiRZ^dy z$S*DN6!RjoNwD7g=eG80)Z_ciAxcc?bx6qDNFQj^Ja%mmaGUEA=+PB+oU*B{a z-cFAzX0o@>q%xVGI__ff*#A=R7nxUAQiJ)01XFgsWxl;Z|K!*I+iXt<^@giP=LLC9 z%s6bl?%-;bIWq&-#H#MAyBuN6o^&y1TN>B&LoAK+H*=ktlxV)pGH%mVhr@j?6a$y4xG2VxqR38=qncvsch-gPhX&WbaLI9^;3OV4=#I_EV$J4 z%g;|=-%D<7J^QaYyo%*H%hm%fC%0{zr50wi`LE8VbJO>|5_>XX+7$DN%j@PzM(DD} zm$$b%@99{%Wk5<6Z@Vcumrc|S`J`@E=k!ta-g z2IPKQ_V8C)@7`Hu8w^jhJS?b4Ji7MXKDP~5=D&VyXEx`vn9GSBT28yB-M<=fb&-4P z@A)e?&)wgCVxjllB?bp_zBBLI9e1K}=kyh_o2_N1d(P;X_iM_Nq9@)L_9vUMiL`e_ zofUzviZlEmfSWjq2v%pzPtV_Gy~@anm*%nH@tn?`YzvP--})`y!QKEF)U>M zrE1@IDe7wSeP;X02U>D>Ywp|rO3j=^5|qUL4@o{lv}9WU|O^ zv(z%tY=`7ytV&H!jt7XvCj|Vw@rlLL`1nTQ=NrNTw)>`56)l_Fn`84O?)kq94<#pX zz5U>kc2R7_r*lEJrrwfQ%)hhGmbtW0sb^*8|NM#NzCVA?X|>Ln@=!(U%B0)7xg0Hj zOuG97{0rYJIb3Ins}g{CCASsV8JJFO_T^2M27 zdMdeBzg;@zd)NC|?6!jj*PNIQ{M}aWV_<4GIeA>gX5H*{abZgnG7o7=vHxP}wLQ&q z^Rt)jXFr(}n;0(HzsONOxV6oFU&;3QVo$FeI`b^sJ=SA`O_120p=>+&?y)75fqJKgUYxC=j(i7mXj+o0HDjbhx3kALO} zElzqBV7fDUw`jEELq_KJW-hxwmo3<4TJb?*>mIRtd+MVP6zTTwa9Mh-nOB?Bn>C~+ zBWB7k)t4;3nlAT#ob*~-r8*;FKS%b&Gn*gG77M#w&rx-J-q+@^^>ib*K8t>| zUU%)WKgnYKY|m=DF6K(5JQ7*=;Az}`J-x@`rYdi|IrNP0Z~gl@x^(iztzS(a7lvh3 z=v2m7{Qqc_AGRc>JooNQGno^r1=r*4Hu2t?QJ=VdvUqEv`bCHCgU<>-JF6e8-?vX8 z+4D*Ds3 zbv#=aaC~Gs*%W^yXqRu`Tb2_htEQa1*6>1B&F}rT*}wD82sutzajnfy??qA6nPtni zC?uVFW|125cIm;bnpz$4s-a22b%{2;bMiRYdK7nU@+v7XXwvm%xUjbH@4gv&(}Gs9Ww4SkLuQN z^mwAW^F@2jgX?)xft_twO+)-a*h6|c=A zE#GIKSsKrFvvMjULtk=%{DObij=$Sj-_|hk=9O!_eO^`B+onw2)%~h})9DqDB-(cu z$ry%f|5Xr_Iv)D8rgD3|DQY*cIOH}R5<#;3A zyaQL(-pwpuVw-(gzC|(6GV!Y8O6~IPje@=$McwYsh2j4yoO(`NPEF66>wl}knZf$v z#%;3_&Q6V}t~u-(_BLa}LX9sI)1902zW?}ei}kAFd&%al(Tm?yZ2TXvzv#r41FL4T z?GT+@ecRz)<1Y@qOI&jr565<1yZqz7P;|a~RB9Wi_%ZL62^rmr0o7-go_uGq_0RH& z{Dne#Mco_kq$_WK+!xhjc8#N{Y=@fUVEzLST!-g=oWnsG?i+E zl;EzelA6qs@@*UA3xm%GLnL12KIys|l_Ze==d1X4{khg&FMj=C5wW=Iq48*${l@{uK0^WE;t>RS?1 zzp{Uu(VDRN;kOSzg3ZOtGe3B(`P#^JJ^qQt9E-X&QCrP_l}%3noy1-%(45&*R1o=S z+r4@YrYy^!&x+4pW}Cm~^5lav3VjYnxz4r@3k~L8S8_|Up!=UvrI*8J7fmH!KI`K` zr9qQgn429|BzSn0J4bvK;=iYI%qU!nRq~5+??20y16#e19n_z2p6|-CVvf~Y)^e=Y zEdIlB{o%AGYi(u0HEXzD^v#@qw^C%%0oQdKI-jIn`*YmpT2q(v{l_UXe#^g}i`TQX ziTZwF=^PiQW+OrIZ`xX4Jmq~f--bK- z|C@hKo>lSalS<#TtC9zH%)DIFy4vUSzb((7X8m%W{-~>mY5JL?3oGZ9G%wx~Yk6of zV|rs%;7Vz+kKer0)^BT7w~&lwEN%09$8lcQ{LoL$1Cv%Vgz!X|TGb`1A6Q-xCVegG zPt>0a50*_6E=&IP&^>h3%2zstrq&Zhn!fF4FY4a@;AT|fMUGWbEvjt$O)WY6sx8i? zn*GRF(|X~XN4!*wlypB{ zWU6z$9BB4MEXa?)RO&^ix18%!kJyEUuLAuxJ>~Kj*Xej+z9Q<@HU71N7guRWd;Yi> zsc}`>TJPK2>+iUl+;!bf{de!#>2R<1i^{j;tE(R8r`s*O*jOFzy1nJB)r>iOy?LYHb&7~Tlqfp6OTd~VLi{%@CSDV+&{HC3J z?LqUl3#+?178k5#_wMdIHN*2YYx5%cmlN(PY_~DrxRh#KfpvcbTQlcY z31r>i|2=8GWvs-X6HAkg|0wtEpVfcPy7usyIea-n9d&;eO}43;9(QB)gpO|MU|(r& z!xqkc4wZk;T)BPMZjt4+|9$W0*(pTX9q>1MfDk2r|zJf5dTFWa;&( z+aE3Pnf-pa{YjiDxcRk`N3pPIUN`RN?4+GQsWr99TCNQ_+`<-)&N?8J#k zjr#%lK9?T#8}8c`wy82DP3S= z;=lCH%YT1OcGI+KKH*EULa9fb?45fYW-r}o_%Z#M)nk(k1KS;c{sT5WJ@iH*GLv)sq>SJltE+-6-j;mJ9s;H^KN z|0EQ~Wl3uoi3&O$+yHePh{lG3cc*Yvrs}N1R3O zuUVV@;)UrJ@%^Wq<~9B1}y?%c@hVp9%v4x1M;s=jq}@FOLZG*BeW(D~^1) zu~A20{BL^MTczvA?Ye|{H)kGGZi)X|u`Pu2v*O9?tq~1ezeA3uEkC8G>va2; zyny2ZhPPo8k^+ss?2*m+l)EReQsB(aqk`7=4GqelCl#ESQ8IVtv3a_CUcL2mnPhxH z9X;HqP56mci)V*1*H8LQJTQfEY0SeZ zH9N)X)i=(|l1S`+c*WABx_Q&Bm~C-q+v4jsl+N#8_|i+#e$@qQ!PQU7-2R&6?_Oq^ z`#=9-la5GL6N^wZ^TFChLW?-0V}3r!(7o@``gPuv;Iq3Ihp6>AnWfGT|0#q$ zh&mh0D*dK+>VZP1`HG$!=e)dYKjC+=<;kMTIeTNvlUiD?UOQ|2K!Nwj)3tfOx4G(D zMmZ;FNnFm@^R<4>#JqQ+6SX_nzp_`1UGOgXSyCC3_?2Z-W-zBQ9@5fpX64)`t-&Wb^qa-L0O6$4|VEj%Q1oe8u)|^UhVDzE$O4zSk>VJJ(b8{`1^MlX7T;qDzM_W6c0&B6{_#XmbP z>HFkfq;FTQ>J$*=(@>+W_}4_b;B&EiVtC@mW}&@bj=gZ*8h?7Gv;K3_?5$>3vsGjA zRv8IR6!nOka6S6TmWp#v{B}>fbUP*D+SLtW;s=ahE#9?iX;m#f8%7;r9bsUJfvzs+-FKhS(#oEIY58Tre zJTPhXq7hqdnBrhc^C@;L*yTL$>(R<<14c7$j z3(azk_#CdcZLwLI;2p1ev8N?!8CJ`@7k0Cr3*tKLmgVJdwjguG2BF2jdoO3--nZh) z>Zrw^)n9%0vnkTxy`)wmBAzCurpPkWJmnzYPYpwMPlt$0>m@^*v@T4FXFjr+Jzn`x z$d6-DLU#ENYWiNCP*&btb|)?9+g53Zxi@rYy@^chh%rq`ntV{~TOCK!^vCv>7lWVv~N=n?c^WSuvqkiX%l$-yfXr>bAxIq-?K zJ>y{b#Hb?EjE+mMaz0#-ow4xv+gl%kL#EZO?OZ3c%kVOv)1AF6Yh(YsQtq_5ornKZtSzS@ERcWEt{4M;c3lx~xD>JY2mjCg#Va?Iv;Jfth#ebPn zMsEF^^1PXUczst&f0v*9@+n*A1wAgOlmnhSZ%uyBBkz}SX7MefzxRI1G;RA7_e}Zf zv4+0%DqRoPEYJC+-9~qr96iGMcCfBpogcu~I>$0+g}Y4L-yp`*k8|Y%>rZ4fOq;NE zdZpE)dx>KAmzyQJ#4X=)W?7WO{a2~K)|s!)d-yz2&dB0a%tgJGlfv(;&)0eSdRJJ6 z+$6p|At~{^mVat{7_aGjx~_Pd$|zQKIWzTgb%R~%>kpP^uEfhs+!dFRv1|2oo5G$m z-A*ifc2?Z&5O=hBmf%t>Xgq80vB^KZe9LqURMmR~ru3!X?W_E?wc}Mw;s>vgLy1R@ z8+`jOsIj7m`Tp}>?a8weqBRrZTfFMZz9;*!E!tkcGfy~e?(-w}BMvgY7M(w9Mfr_4 zs*|=veHSXco}}ZX+qssVd)3sliXMAAkNv;HQe*ibk|i}g-SyISxkF0*D{5R+<>K6| zjr|Qd`r_6p7u7$yZ{+tjv+UO*e%~O$9!4d-rHQAzo@`k9^xftYN|SgkIB!LFJKhh@ z>K2}D)GuIBm}v6p=u$t0>~|NASw_zPp?XtVHsBoBe2v$i1b(J%z4Gqs<7JapERtV! zn7>7=P3i2^MXPip3gmyfEIp|`oz;bDHp67Eix0M(;7IG8=znS5rTaG5a40{2f8({u2}Y+c}B2spFx&-wEPC%4D`I{TFn@Fy4_B-^gs?Ca?Lo&@d`RMZ5pqhP3ClEB<&kb3My!vlnewkv^m?@z~Zd|DAZW z{-jsGpNFiteZEicj?#ti0?}(y z@-JN7+nu?u+>(s8e>M5$!<0px6v>{&n(=?CWuje9 zcJ{R7r;GtpR2rT9{$7}6`LI*db8(@M-pAb*uOk+G-Z>+7lH6v6wnB+{5fajFeg^Ah z{V#sreIz4!I zy4K0-)cq#4(9Cp$nzdQyUO&9BTv>JfT;@z=*Syv3$IqtPPutjOwRo+5S#M83*@sha zvz;0Kmi?;Ob#eNW;P)G~KR)`?QE*eXLBFZ_XzcDYoi9#g9@2__?{c_r*Q2*qY_{Lz zKCo0>J9ciS%8R$cCn|E2clb-pShgp#QDF6? zgr#eum*xwH&DW+p{WMSLy6?wt7E@+qx1TFodhnz7ojZru)^5AeemYP6;m`cGs~nvt zRD74r2iI)UvcFZhgL* zpT!B;>l-72Kg!7YG2fTdVm>{0;)>REzN;o1XKe^+{C4O`^}LIsa#79pY&V#`ZZ+NZ zIb&}4&itJL?EiN^yyo1!&HAmtQlUk&K3$xC(#BL&&8BC~nPi7ePgWaG{~go7x1iB| z>C*7Ix{=!-%s+8^mj_$?CZ=Y-#2l+j4>Q>fRM~c)k64$W9l6xd=;qV8eDAkA*eJg_ zaJJ%Vq?o7}+u@rW1_9C>Jxaf>%4^u0S2Iqr>G_xQSvl(Eq0NCBtmi@wmdd}$o5$>` zzTslV0lpg&pI@DgS6g5_C2R_>t6Am4i8-J^%aJG|lP`dgqS1C8vH_obYYdYO+-Zu8kj{YVq z&h$F*$8y%~i)C3qA59J6Il0l+I&nU)X`G*L#ENzQS6tlE)Tuh7_)5mQii-ZYVs&|y z8IPfR0F5*uUm$fjkerv?p7}fkv0C9Yh-^# zt|?;W+UVmyHi%Z_@NmsAI$NY~?QO^uFh`-Sa8B%lXPsB;-r5{`x#4Rm-wxH)4>QH{ zC;t;PT^fI-qOed)52Hlxm8tQiElXA}GF)czcj{J7o6^+FipB1EIq!_9W6Ku5z_o+xa^H!r*HbsI(~X_9GJn4Hzl|l)SLKolR!3c4 z`^>#$Lh5fJr|ol`n}5&koFZxd?Y#lV%Cpx`FG3&^J9cw$qGy4{AxVf#v zX2w3Nn_On4MwyN8+6;cS1^YG&?F_KtKKIUY;!c5`3sO#$d8H>xtP3h@v$#Ly`*Qx) zQ|43F=Lc?f)HV(mWN45nFck{qx2!s|W9N=n(ut>gLUuLx+I-jDoM4wIv+;r;Z&O2` zXV!+v%lqx-9aGJoz2fbP+ET?+#~0*JNR(>*7IJ;##5XIlmR-}l_V{l1sgIRGuUfOK zg)Vhm`2AvoM(COy>#SLGGEJU5o>I4UW&hG?Y}YR{)s!vWxtr5z6ZZ}Yz2z@T1D{;# zIu{-kbeCbC!8>DfuM5S8jOXVxC(ntw7I#J3^W)MBY`r}Gm!397ufA4y(AwkQ>zMl= zSG}K`Q6RH;d&l0!E20^1CvMy>tGIe&NX6tyMox0`!sab4&~$x$>NGl{;OIoKgHZ*XmtS%$J2nZa>}Ws%Ch` zch;smHyHUQT|MO(GTq$cAhTwoc1rQ&xaS(*pUttZ-(jWA#2b{-q^b938jx=SF<||K~4n^N-~#Y%(7isXe`reECv&Zr(n{jnY$YZLgf> z^KS9(n*M(;qJ#D?j8&Fa{wls8#J#A`&++G&3nId^4^r5H2syT zEVhZWmPaVRWASF$wqGP}o!bi+u2Gy> zsJwWwypU33vwD+fK;f;n?G}n_R4#?L+_^P+jB1HrXTpS>WW|AHygWUKg0ZI zr=4}!6SH#B|8>!;zI5q?HVS^dpz3$)!>R4X=WX2hg7!V)GwNQ*K7Xh2gfsm&`wzVP znbG-a>DJq<`*bNaQ-rFY+mL`_|J5$Oe$Jd&3L5|n)V(Pgm3{~^k zH+^Ed%h!K(*17s3y_u2!%A*b$Jbib1d(gdY7E@<0;G0mds?4^zzsrKlFJ@8f!}EgT z`<^u@G&;}Xd~Lf=usLU2USa!u?zg|beiPeiw|kSO@IF74D)#ShnG3rexKcfzDGT2} z>^XPYp~N&9d5IMarTn*cl-!l(oW6PclbcUAua{p@u;uN-lEk)afp1bZOSqY3gjviB zSIu$%dw0Es;-(Z$ZNY^1KSccQFMd=pscqg@8)h!M_S-dz36;!?YVvt>88T;m*Hzlt zE`L{+eM7T?&oz!s=FaXCDWBXs#iU=9>lg`WNzK;3cj?fv>y9G(C)Y3dvb4~AJyYr& zXJ=Mvsq7WIZ3};FxpDjY>OQx?W87@_s*W+o$Y0&F>+y=D)04Cf@~Tg?OI!Ss`E301 z%-IG{yPrJmws}btTU@V1udoRf{gh|=AYqn&j(^9Txhp5xa0iIT>|ay9;+R^)y@~Vw zmsxH3`fZ}|p8M5XJ%pyoW(QX5=lv5BpR?QK{|XJ2yEy0nbK_%*+<14%29M=T`(l5s&)u!Ds_xr|>H{nx zzog&YQF2o{88COk!(I;e_L#X+U!)c-&3SQ~#rs*l`Ig1He%q2StJa#mt+`%O@brp* zSLW#@Jn6;@9dBG_l1$pjTA!Wdr)f5yTRYq*sea|Ff=w5fNczNtdDv`UdG=2mSASR3 zi(N@4oBOkp%Df|2^DeWf+#UV6!l34@*^h04+6(0GzF|F}Bp)eJ5WRyfR8&pEO1CAm z`AufFTK3}fZ6&1+EAIWDQFrEv&KjYD*;g&oFW;TNNc@43)7=AaW9v^BeAsaMm{YFb z)PU7D{jaB+XL;(V7n?2IWIjhPIo73A>Se;;UEFy`&hou=*csv|>n!B!`PbdS;9Hpd zn~v#adI6f2lOLX5YhbzmtEGu-W6R zndo7--im`}{ob@eu+GVbe?5pMy^>zP{F}*jfp6h!;q4`z(&U z=V37Y>643$%_l9l-j8&$jI~-lb@7$W9G8VI7d7hfvHHL2&;P)7QrSF5WnKxtMq%du zwx31kW$Gjyl45Oxd<`BoIeP{jn_P83JnHMRKO6RBN#13BTe1J!v&$EDJGtjH>J)uS zU4H2K9Jv@nhA0E4pTRq{<}g^Kw^!yYz1|usb41c+^F!H>lE$n@7C!l~z-6aigsPxg z`n*l2*ThecYbbcGvD}{HXvXjFpZ56)mby*wcs_qht>%YG7U6AgqBfap%zM`8CzIk+ z@#)pKeEpJ+r22)w3h(#4Ui)I+riV)F4b-+D%i$xMfLWZIRCUq8Ox5c+-=#X)E-dXa&UL7&lj7UVg16t zS`*CNx7%K@jF%7y?7LPU*x2;qW_4qEptM@`wWjh^&lPT;CDPn=-Mvm!ra$O>Z(9D$ zt)WErkr;<;-ExD6TX=X||4uS=-}Ka5lY7I)zYgpV>vEqquIXAMZM`UQ)g+yJZqPr$mP=MDXioa8QoLDIdft%}`MYKbH;3eHO?%6i;3gZ>#bhlg zUSVx<*x%{GA3fRZpwiEu*#$iGXEm*rnli1L$Kztk5+;||#hdrroq4I0_gGSeFTvo6 zl(VZt(P=+@=4txA%L8;*s1@9m&|1EHbIFtFqwVfLpDp~a{>gX$!y7znPxvo?_&A+})+=#-4#}}x|2Ma>KcB=i z`$SZd`DBOGi>BQ*m*-vY+&Mpe?V>*p9)|pD7?z$+mdkq1{U*3?;jPGn(o1I;+vf`f z9(^9?Z1GQpz}4cLXDvM(r~O4{`{$`^zFVv8Rg2vAD{{4D<;TwS86VG^)xB>q z|Kj7Mv*sq(_Re&qi{f8!RI;6JWk~@gq zg1>C@By%?vzIYS%P0QJBq5FUjsfzH7dL7w`0-leb=tl= zJGeJ0R6jkilq+AoVWxE2lIV+5t{F_+`fZxSt&>|qt!DNZJUh~pz9ZMa;J}0WYfK?( zqQ)zCT6j+O-_|IRr>m6X5HP{!L*xDzU#Bg6t;H!aiNX9{+M)c3JS%2xUzev}k{v%s z*GKfAWxP+(Z|Cly&PR{9L-NJ{3vSOl;8VYMsiWh$?EU>wdnc;O87ri)UG2;XIqK&& zIVIvr=(-tS^!Kd&cZ7S1*q4fwc`Nw#-{ZH8oV8jY?4`*OPxqoj%i>Fyi0*Ga`ye3n z-R*~AHX9X!{coLDiCFvj=)G4O`Vt}QD!$xrwRY$(eEHOGsu6#{JGrHgzE);PNeE756j~}#vHV!KzPaJ1h&{^J4Z@a0 z#N3@H)^}<4m5k&^H}C$@`*ttYWCh#8f8y01Yh@fcC(i#7Z0mNxEkJwiwRybH4miwR z)b_u;Gu z8Vrd`d@k;OQS{a|?PcCY4UOmLYh6ttYtEtaGUM8tFsD@urm4OA|KL(s*C~@+_9?8s?OOtzgd8^fUe)=% zq*TN5L&%w=V$sEZw?p>^EDYo0{ML50*h-BKE^ z`|aH{bLUQf#%yRPbz4kNz;3t4n%8x&UK|K~`Zy<)J($z!w`mr0puNp>_B5?itpQWk zmY7EFE}bcwvg<(!Tkw}=ZwYSWt9S0?Yq9F(&tw)m^FP32f=u76qI3T(qPQ+}2AT$k zPY{|~R|MTt;_Pk-MR)vX&NI9|X-4GTi&u0WI(AekJeZhy>Fc|jrz0AFCam<+ zjrmwE>F2+rLCisJ^}gM=Vhgz?eRCE_EVp6aTWl-0<@TBFzvZ8Hb8;>dQ(1FS$$6PX zq1o@~?IJfOEebp<=>1pb^ZICerLEnHHy7-cVJ(<^dWCbTYWa81rcC=g>3f9sKYM>H ztXSv7f}MhwSY8IW?BtwOYcJc*W3(yd+f?S_1LcSA_rI)2S*SKGv+L5D|EK4B#cpXX zjE>MrDb-isbkXfx;sd?vKfcdBxNq#JzrD+QLgSsN7R95Llx7o@u*$=D_A_Su9Y&x!>djF(IvocLwCRNPD@DsHcJ{aJUP zO|v(xQF^nlV{xV4$D`if70scAS>i@XTXG+!2yMOM8O7`Cw#cT8|MiOg`*;1d;-p0- z@)pU9_ufhf_?|=Q!u=xH-i<-s*48X}i^bj>?z5Iww_Cwfr?k1f?ukES_B=}={fI^QS`pDE z<%%!UUkl%LI&d_TiUc*3{sBqZ4%<8=DMo#PhrkS(kU^N%pRVH8<0FPABJ_Inw#GI#A@+`_-9l zN1h}#X&=0Hp;@FQl%-Pm(%t9v_b2?@oaC?}Rhng?Zu_~$+Rq!?Iek8;9%cBVaM-IQ z%3(>>IlJU_!m~{LEM|J^n44Y{ioCMfy#87SqlosQn9UAOw(q&P)|zYF*A-^>5YwH%SFs{51twI^u81cnQ|-!@2{WUEy?n6dsxrmuX$pIzdm)mlFe zFPZ(l>L1gNGi()yOIhB1TR2@O{F_(jL&eyi3hJq+m+dl0sIa@Nd*=R$m73i~m5~*% zVqQFZDgJnhXYbA9%}0(LWIfP6>D^-ofn&BwZUfPK%NgtoR_<2$D*~YhFWitev?=%6i z>9@{IjoIjBzh%{-q@^6Y*Pm?r6m6L|_pn8Jp&S3bA3g_`8~*6s8>19reC1iMhIg$+ zx$gQOVkLq+=`G8oL{>-(PdK?c!Cbfd%R{q27wwrg`KmnJ#J+l8UbuPdC9^N9?g|`T z`n`2|=~1;4=`sde3ppP7hpKR9?^Ig9=um9l#Zrj`y^rP2g+U@GFS~1>?TwzX&S8`C zy2)#&1hN}3B%S&D?7ne;`l4$B-g7$VOSLi{f98K-QQH~LzePpK7wR9WOWyF)wRO21 zb$P4x$vnpUcb`3IVO)CTp()R*ZwzI>(s{XO3l)hSdNF-UWNF*aP`{;_j}u9Bc@5e3wYnSCU!-&#r^!udM{i4 zyz*}&r-@56uG_fZcpD>r)_Z=ZR-0)+>0~wj7mS=b%j`eLxd_(W3gkHScF*5`Y`k*q zchxVm>mLnXt6p5OQ$1xCyK!gK+byR~tCT2o)+^m|vyxoKq`@Mtx%R){e1+~rTN`)I zH`C?^y3dfAylO6Q>G_RWQp@LU`w(-SMP%ZIJ5y`ZkC`uA+{kZJu*kroPcz1$_5uI$ zs7?QamiaHDn}qe8Z@1o7Zn9qGl82kH zn!&7}uOfcePw};1CVJ}Pv?Kdf?E+f17p6a5{=4iEkITOf!S@aG<4<^Z3toO#u{6?U z+2%j(i(QX9>)l8W?7SNtw?X4y)~@60Q_HpD{v;~0sm@o7+9+l7qNb_Zpzr86Mt;RI zFPEz5&Z6W$HfQV4^wz2HsM$X*y=ub!Y3+pBYk0Ozcc1rGaDQ(6I^#wED%1=w&RDyK z|Gl8r|CvwjFRJy?%Mw$FzEE)G*PQNXS6S|;Yu@&`LSMJ6-S%&@qGa8*ZnOXYCby@g zC2#xrdeIN7TW@y+U!ARdKBUd3-qKI8b-BRGtN_V`zq@>6H?Pep;?!MG$93i34A}$G z6C71@uZw+(_WHE)@7avt{j=7t4E}k2nw^$V&X+ZDpU=;-p71YJgHt`f;j~rB#^7JGre-j)%NjKCMe6{6)!kuD6H9O2ipKq)U;5h~fI6(#)ASBRWSZ`JsC<3y=IbY!hSw@S|ndG!e44OI?`Nyhh_Jv25 zT;7y@Ze#Y^|LX&j zKbhY>ef`SIt(Rw}O-l8Ar@Oz+fByL^Gu~V~byiC?JL;S3^Fuq?ZMJXS5%nV|I_brk z3v2&>>Ue$d_F}tr&kG{^SeB$j9R1t4s3qX)!EWujG5tc8G0nCwG^Unss@nR+{J`^v z3qIS2Xqoj)>vLrmQy-^>CCfvcXuu5+|aYTp|xpK z&7`w&La}H0l!GQ7VY?`zDJOh%=EXcg)ul&vojM-+dVS25Qx5gor#aj`4o~rJOLLjK z`Qawd?JK@}-g+XO9dz;WEz`GGr?~y(E88=Vqu273QOM~Qb(la?A7=9PMcRM zw4?4IOT^~MB1>hqF?;EjC$@O*@t$$+yy0RWwr}m>e=pouQ~53NCwcL&I@8)!N=v@= zn9LF1uw>yy9^>41tjTQ^vSmsi%!^cFcSgz!&(Zk7tC%)t|BLmZ3Ce17)gP?A>-8}6 z>+Un3nRWH+UOf8oKYp9sc)dwXL=g!KkSYEy;X@^MfJHs-+BRU@n51;Dzno@K) zB&h%G$LrUY&0>{}-Jj^P=!vMLVq)K#$S%#Nm-0a(>(q|X15onHRf0{qxpv}{xjNKdWoYXSo zo_VBYp}~cUi!JQ?CJ6pKwRgf&bm<&llCm zuc>_UO~5XFs-Ly-*~1de7Rk!D1G(hVJGayu>#DUkWNRON6S-En`{Vj~f4&9YR?L*N z)?e?aYNUFnqdGZuPp4`AuFIchnRCv5HG^lK(fQkpLVZn7UU?to6nn1QW7@OLt{ddj zJZwrhotRi!y3AWN7EHbSz94>{9@hqm%Fr(&$xn@)`4vyHCB5Rj@Lm1=4@;kEZ!Qb) zo!H8=)=0!!Uexr!l46sG>vfZFru{GKnxW>QyY0I1)+rM!Lw~NEYn?B9eww?V?>1At z`@UZui1ph}zk5jbP(pH4+}sJK6QUI>rdob{uh;O)`Aq5bufH!{W7y8M?ez|U9|u>} zF4%DRNB_;Y>0jPFKfHKFhllIFja4ykWOa(?w%JEDJ&!iFUg*AZ=95K@?t0H>eHRk{ zb;u%4{&;e1({yENb7qf)$r2~|;+O9e`MRca%kn9!k9@i*toO2t^`?>i@9W#9UVC3R zXRqpZOFY*eq=oUOxEG!h7 z^WxIEX-g)?&Wmi#IMKP~?S;(PlX;qJGPZF^vaUUM@SIZi$shCBWOu8St^a)eT6xyL z*mx#0^#vA^ic-(m6JM_Q_0Cv9YW2?ao41&m68~|1`l{t;rQfjX#PvZ;I47D zkmFRTi5()de?OWLS{Hvmx2bK9XG?7P+GBF+JLVK8WQLZlt3PU4yZO&t0jH}*+R~9r zY9HO2x3kUmslS0l!9)?9-2ML@|tkO(PLGe_bT?;+z~dZ-ThE`lEgGi;c6|x*B0GM zhkN+hW-~{~C%-<|^-nG0VqKNq@5)^Te*eGm6+Zf&z1qA${^g6tS*}^l>iKF7(Z>Vs zZ9V$=ZNS9j8%B(CnH3rQOw&`R{N4QV^Z)ejJ4T)?g47dE9G9(2J;AHB+`PYa z-@oz8G+ND+z3cA9mZJE`ZrR840vV-6>UZiCZhcyNKlbo8wFS34eEQxLqtRenEU{^f&+X?}x82c7C3$eDYnXm+kL=o%61@2-eTZ z59pYCq31!tg!5Z;XRLa-Ua%!<`9_Z}t4p1qjLhdfoc#XQf|Ny5PGA0V;hdrVs>zz> zEQ<~2-(t1viLYg4o%K-ZpF(T+@jKn8RxVy6C-L;_(;dvughS3aKF;?29t>ma3<0f#8i}ORe&0d@3MmKEAHi=LD>J;sJDDHq= z-;7UI`%hGS&c9hM)7V#`z5dp@kQsbmPfWjl(D0C z(fK*Yizi{)YnJcZeOpvFEc=#cmYT}HecyARIsSU)x$4NB4IbhF4iC&ET;t5OWn}6m zd8n5#`A)mS|5M)a@HGv0eZTMPdA7{sinKEL@aLVxJKH1uf3;-J-B!DNqnz)6-PHbf z^UPw7KDp?o~^+n^A9+`Nh6mD|os`HOxIs&m@~Y$8O(4jVG$siQc=;Yj_qP^|j=x zd3E=tyho4GihS#ZK5%e;ws4voc=zfr>*-ShjFgIB zg?yWJF?045^VHcQJx`vss}`6VAJv#6xPHO&-&;)oec|$vapFy0&*kySblvv7+NSYd zyEj&7JbqQxF;T^=cxQlWce_55n7Un3C3Cp`+G??v&MJY@{I+TfFLutcntIgZt4{p? z?gdH0Z zW9^t_y3x3P{`-q|ZzaA}pWOQDdRu?y>c@+WS!60jTRU2Mn0ImQxoF|9>v^zfQ_O{( zwrAZ}34Y0L|6}*=lvrEemabp!Q!ck8X-@p$+G{1C5v?@kLDW2}7wpP{A^nG&4@^C@ zPOsc5bml8nWz~+wjLYLcJx}->E9RXjRQ*iF;2>k@eV?%T1`=)7%WN1FZRZ%?WQu(v zwP5Fy#ZF8*IgPtZe|=Iq9Yy)oZRqpnp_EUg5-qr_ts23dAWUK ziLsW&bB0-KT<-+FV&|&Z{r2B?|J%ZW?023{J!5Y?DeUB=P~p;lW$&(+D;OB;um7xT z&Kjz{pm4on=e$)VCaL>db2n-vO-gze)sb{RaOJW`i#->Zdhx!Q=d80f_WX?0xh|Jn zZ4RurZkqbnqE1hr^%#~J8FKi+kZcnXr1-t#KrQz|2S_ScyY3XMWF9;{E{d8 zxV&ZSI3GGXG#>k3ym&&_sm(Rt)q`Sep3AR~Te*MLrEjYDo^^Z^S-g|2@srv7zbXbU z;(z6v9j2HZ-r${PJMpbe^+Lm$2{Omm{nZP)l(2A)-j45=HG`a@6q8|vPUw5!(GzksX=AP!Sy=-B0|kQ-fgJM*)=o9YGd#Zuk%Os<}rO16x6EY zkv|lBh&PDyeHh#71=}{wz30F?t$k~_hfz-aZMM%2U#r`a^sFU*F5VgTJ@6%KjnbuQXw`Nn?{4V5Kow@gn6 z9+ZFk_>j-hCsy+gShvhrkh1;fWPbj2GcS9$PZwG_KOP)NedyTQX3eJ1b;o?(x$9+{t>O&Z+TJ~iZesX&U;RgR z&41Aq!qMGlITY4jF1u5HM!VwUvD);ghb2!t7jj?psfdf*zWRjWnXntH`krOR@cfOk z51FfE;Q#&q{p&sY_kVt=UCYf=_pPpNUG#m$`5bp1|Bvb6|N8OIZ?UUU_g5^Q9?*5_ zYn^wT++LlI#*k-kCRWDINphT??0PMEUt)21_w$wN#v<BNIC_s#7d zan)^H`eN>c^Rw+Me)TzKx4wO|G^IyUf2;3N-!-2C-vv#Ld$7my(9+V)t;M@dTPAYO zGfui}eBm%ljm>+#c#fn?4?CGyOlQn~`FG{?03pSk=!lDv&CA$ptp&QTBz~LgY#=4l z#xnV5^sZ}L=9|mEs{FM&puqM^Or-P8i+6-SSxuTOZn7-fsIED@V2Ytzo#M?yd++$( zW7~D$wW!^uU3t0e*?mv^{Le8|*VMRPowA|l^Uaf+H4k56p4BGm!Ln#L(NCt8vUSk-%HDSOYOinZ%T(>M*;A+X zhp3#jJerX3V#{vHyKa`1&GXJUcbh5XXDSAD-D?)h`?{dAlFL!=n)cKL4w&c>Z4e936!bRb?>b5L6s(hbs2AjsU%;%@CGu_}% zWKNEC+IIfkm(S%!fjlPfSAJ!mR%Oy{llL-Wt7FAgn_arO(}ILwROwxaxDfOEx{FC8KW*=_c%WC@&B(l2kSn6G{}F7HffS6GAZRiS0KKkl#jKKakS zM>pE8obGPluclER{gi8_)T8@n%6Uk=(4;lorCFQq_qw>h(Ack~r%8E-y&B=xuZ_0YuI?>1Dv)$srKctOf$&g-lzWm8vb9FNqx zxkq60oYYOHjLqA69uzEizWVKsnDypbKV)*O4>+zo;NO1PzA>m&#SiR>Jd?=jJMBEXr?iLYf9jq;U;6iQ*K-P81y+j`tol6ICM{RX z^7St|Iq^|ke5~2$2c5Y$FD+TeSYsP@Cs?d&A@g*{^Tt!&Uz&R0{Ib4hpP1)(=Tw(A zoqB1x&xHFxtfG*LYHRswz3$s*58aC3I@NO4o$;}1(4p;Q7zTSQ&6fTg zVJ~)2iy`>ixqqU2rgMHs*_PMIea=m+xR>w6R~eOQZa>o4;r_yX*8}_d@1JMXe0jw8WtN=4U*GFq`@$`{xEUtc+Q`mTJiC9| ze3#7atKTxzxlezpIWg<-g$duf3bmf!-`A$&|LN?#Mc)<#e_ee*_RUAzk6|`fRFbCz zU2&UQ_LFhN!gC#N6AgQI@Ep1OHmFIOe@n@0G0RuFPa2t$wX|wmgC75quyt8}Ebfg6@o<{A@>R80!xWF&OROM5S_pIJ`v%CUt@40l@ z%X-P1;^(_pn)6paZoE1{_we?LDkj#8&6*ksf?K+ey#Ai;8>+4Mp~-C7+=u@k*xZbG z5N0o(UbfX?>bks)lhaF$6-&A7%1_EZTlA|W*4HfMR`98-hkKZ|sg+KcZ6>tVn{TGs z(t}&0bT3Ch8a(b1^&zH>9c!lxpzi^e?YtQtq+VOYO zo%dHv6fP>yn8e?^<`s|BlaC^xF%!OC7be^SSw{k#kQbzi{eeS;V{XoEy_U7MN&Q-RNcPi`Mn&RBA6@6GcEILk|-4mtbGT&8S)alzFZmz<|LizAEQnNIns z>|#|RQ~IlwjiveE2Zzf79J?kfm>kVhW4S56fT!%0ti`mCTMoSYvTSFcgqdkarpm|8 zEZ&S;0clGo2XEl(T=71S?ehP;-({}7t#@Wyyp1i_nPF4gpSku!M{BWx)DNDATD?^X zn*U4IZ(rqhNk%_qGt-~xeY4J3ZDK48il40VhWA46R=!?=D~Esn@jkx(j_A1qvllyC zH@L3&q}9LiTHZ0{;H-as8=?|x{a0QO-hO_|RYTcf4ehq_(#vYuSvTV1nI z%dgU;=TGn7kc^l4B^ji?zI21ZkH0U9f|M6# zRSG?yB(UuF579#lzb%+?Vbu!joFB^s^^_dEvR0pZdC`22e>uO)3gN_n&YG&3dsgn6 z>RiG(^_Z*j&9MEMC%MjD+qyw6^ZG;~b$`i5%MDWBGlb`tyaBH3&z>?_U`>>(wu01Z;n-i6F}=GA=Sl8c^ItaN_MugOinc$Gev~5L|E6YJ z`sJJqzTj7mzk@T*L=@z4%EsE1_#|>{-r4M2^eRHgHC#x)-KBLco9i0U?-y(}pZ=Jz zY~Q7o7Sf*zc>P_nq@(iyCuXnFP@NiUbuDU?hEElwuQ&fvESrP z+S?p`c8&49Ahp0Bn!{-N%I(dhVeOWcJ zbMKn-Q{Cq%PyTgd)k-q~$$Fb-2U))E@q76tjzxSz|HEgN*A7VA$bapbXn1t;-?V>P z?i;m}G%^YnysX}*99jKJ{i0t&cY@zUQTDylgN~=XxgW_}mi%>^_D{d_WeusaRg2B? zCq9u6Yrgl&|7q`ZXZi5|M=cp9u6x^3l4|xQAb=-S*gI16Qs?YDdaf!#uAy9(lKb*! zH}tbvWo`dIO))2a#nR-M$^EO&lnC$On(=Fg@;MgWQ**Dc+P~-4r3o?KN&F>|+pd+| zxWjbdZcy&?g})h`W(Mue`S?wK!m3USy+4iDcMUFvVinFB zshiszU(Wmf3zz&p_bElo{XRr(S=1F)+In7YQjFt`MV+nIevm%+(yCgcIK8bPcvI`TvtEaxmtYf`45wM z=FFQFw#n_#j)a`AVfyFph5S67)b#ANl(E{z*w(u?m69#WrRSa|ecHnRAi(3yufM!~)`W*RJsVG51oDx$VmGkDV){<2Hr;Sk@nMyqAgd+n2N&Pw}4- zSGG=kV727c95wy$u!XULg4W`v1mCyXxdrj^ovGaVpjbct)Qv?=zd6>$ESF}@=q~U) z)Dz1r{q0zM#qS62SVETvAM%;v(dLpFD;&pF>bcqx4Glm8R8)wXPV*VM7OE$vrxIPw>I$>W^<{yZ~0zxh49%53oOXh=!L&Ykn$vc7lG_FwEJcwOqR>FO){ zBUwxjGap>`s@QpU^39i$7j(9VFKm35FpKeX?lY|e`c2_hhx*rBnAJa!-F9zBvjJ1b zt|e^eZbo#td^BWaQu(Elw_9lOM5$b7{(v*DBA;E&oPR);<>=wJ+myfFHqa_<}jzvIhxh>{nN2)%rarux;J(8 z-uTcQm3ZsVM;_P3r;_fuemM5l)r6&ZY>C1~1t*!=Gzbr+PfQJVS3`g=9|11nZ8S7Pg^MHWz(fvgHKy?9lUey~f&oEd1{BM)mCVp9*qyE>|eeYFMPg8a&rHkbeoo zx_zJLO|1T3IJ1lSj+8}Y7L&J|OV6W(dkpVuf-~p;KEmrq_ zeY3CWeI&Q+laf}fvQB45|CKo#q7HQDI?eO*QH}~K>)iH4Y5Dpys}K5##$FJXRXluu zX65Cl9~g?OS~f38-4}61Z_~e&*qs!+lCjFHE z^ltjCiLs|n9rWwCU>(`0eZ)l3|JyGcnZ=P^v;N()bM+|R94M_{)@J$r&Wt@bGU^VW zV!xnX)~i^%^3B4C^A8SB(Jff;bpC`te;cz@1r4+3ZOHc(y26p=wDH`c{?!h%C*Aoq z*-7DRGsl%vtJfds)-;n_lD5nBY@GA%Cmg=Z=j7hn{OrNOHw&^1rj>J9a9IcFyFWO8 zid*?<_`wez+xC~NO}L^`yhUTt4@>U~o*$3CKWjgstu*=V)f%2dh5C-69`MM9)7IJbU7T)IFPDixbj44l)-!cgnKM^0MVd+-thhgv_LMncrL~dDgP1>nY!@*c@ZCZ*Fr%?tWQS@Z<>l|9FF- zfDGrh2$iqf)+}dMbhz^1ve<|9yoOuq>K^-jkrMX4y(Fhm=kk-b>DLaHocn1%<*&z1 z@lX0YdX4D=KPHI^4*(Q7w)>SLVDqrB@5gB`M-IbH;sXT!P5Ta8|SWx`btc) z3qNh@TFK=)c%a=LK1t}^_N-*+H-iu=jmtdkF(ek1Zw>W$aY)a7eFS-aWP_{vtNWJUy=uEG)$X+W#@J~V zJVo@eH1x6F)fKTDKKU9PRD%whfI$BddMzU_Fn{+MduRdQ?kL!^T-tFFN2ZoANBpTnrVdk5luDi} zFz&H^+ke9Ura~}_{@Nd9?=%-D2*g`@eU~c|%$^=IH`ZpCpWJdYcV@jaKbyiT94Gqw zW}e$>S_>ZTvLRsF=Qr$KOg z$|Ng^vRO+WXq-&(nYHeLTaL2hw6t!{%9PikEH(+8CF`F&S!FhT`4{u_9hEO6=RYv~ z`&Rv|+i&T2(qY+xiW@6V+%KH?kpH4gY;A1-r{_HF_hQ#e`}bxonp1adqk6Lcxz|G9 zdcxyhFix1bOy8Da_WTr==zEs`gx6f(?qMx|NclwOKLu0y?c61L>Bk>&*M57e`1Nsa z$F(GzyKi;1?0)e+ZojZL@NtE-+LFoItAm9EW34l%J3klGcw}15G;No66Q@dbeN>K< z?*dPzl9)69NvkWr&!79YKICtHk$vck_jg`# z{O-MKo+!BC(p$H_<|2u&HMvY5-ueW6`F3aJ?nkd1omX{*G&lJvK?Kb^&EBE00$<~MDotL6x)o~kg*l9#N}oTJrmbB~9a|J>xlo)y1V^tJBa z|Ceoc*JQo@&6}N>nJ!-1cm7x8k9PsP%Ce$vJu|9|eSf{|^!;B7aVOMP^oMN^+?7-F z_E_l5a)a~Xzjd_wWD7UnkXo^9kECP8^VO+uyytjVOVw1C&wiHlt84qcRV9g=b=Mvb zEl%vpoxgm`f9D40O{FuPS-zT`-eA1xx!|Jw8PUuCU;o~9?8<+ZJV*Z1x)q()M-vb4 zy0msh*r$u9W_lIsKG`#CNsXHLiKQ3xcDjXr^143l_f|=RWY24RVs}g|>c0QyRHK-1 zQN$0nIrBHhZSfB@=6w9wy57y9!Y8FBN|se5zf82DagmosuKK*580p zB_6y{x&HCQm=j+T=Pyonvg&!V?BSb$7Udf!BBM9B?$F);=9QC>L|gdGe&_UvmqyZy z_pCf+@4hJmwWxlTc{_yjuz562eUbQUl z`qWVkL&vSEkwjUS>H%!f)lNzcx*?-p#pSC+Vl9G4K9v?Z7P_KX^}EZ{l$Gc(%`V`JUiB&wmoP7c5t~wQpAb()({; zIcyR-v9{a%?K2hEimvx(9^Q>?UAE-YdEYyVFV^~a&Dx_=8n;QP{QJI-zt^7>yt0@z z;^M|1Ppv<;NZEd`bzl6PBk)W?R+#5+);H@!cFy`;solyF%Ky4Q*Qx2krMv>O*^1_m zUgU~ePpJwT%c@dV$(FFD*lpDmFSoqP57mhD=1Wshu*NUf+e(h65%DN=pr{!?k$ zl*gYHc2Aq>y#K;Qm(?ym(#oIq<(jNJe$HFumm54AoWJatSKx6rLNiI+i0NjGq*-nk|DMeLf~G)s#wKx%@=0fURz3AT;QIUN zkLmBj4+yULwMA!{DVMKK+9bxFnhDx{Z8HGscz zwe~ldJ5**$JUzX;Z`;}9Jhd_R%sz;2mUwZ%KP^ms`~JelFzM#FqW4pKl3eW!lXplg zRl7NZyH-q_>*H-zXR8a-Q(kYD{LFapU!eY5ZGD?r^7g@ppS8a?sy?x@V8QE(-^QD* z>x81GRE9qiaJgM|V8W$ypHI}?o%rhQwFfg-O}%5yV)uL6dXDA;^~tiO1;=+Q#@_jS zOiO#h_av4^38h=7qHAw@S*+P!yQI^gOyTotQFU39jaQRy^oErzo?mNbxVH53zUz~2 zPFntik{&=rxcdBXoPKkf#FAs@OAhQdIw9Zq@as3H zr{{K7c!#V0T;S)XkVyF_bAUR4ZB(LUY6c2kv+_jzCLMdwcM8VOFm3=Kc8rklP1Ss-fYA- z?XbJ~w1Og;-G_T!jaKBJK79Y~!SYo~+ZlEokhSf#KGFZf@;`S?zqIDbxQ@%7d!!$H zOtzQM;e5~=z{BzD_sLT`tEHH;^AeLMnE4bR*i4m{qV zm=YU#gq304OM?urDR&mRUDg#+dTQO_>m>2&r1gq-ExdPGKiy?Y`#3ZEyn-p~i?;Mn znr*DbD%<_jnD?BlE;+(o?yxB_;Bmvj>HF)e93H3aon_3!VV1vJFC>RW+sn*vcd64} z=Jrj&x31@jUeE|$_0Bp%IyZqeX3OCV3s1YgJ6RBw@nXK3Uc&jK8+iU+{e3MWaD%}S z#V)o8e!T?^SygN-x%F3OC6^sK7W`WO@J@vjPx-D0S$q(>+q*E1ImT$SB+pj!5Q~c| zU;ccv*fE%^X?dhw-kK-r_F}?ktj_q}kkpZzxsR>H;*awgo?DFkvr?WHG({h_XR_B}=i9&#Km6-q9&QG_$cOf@-%BiP2PH3G^Ji7UQ%$dei2j4(F<$ML!xJR?= zEH{)~zsi0gb(Qob8UG(Vf-0x8l^VjnHtn1K*K@~lp7)Hm@9TeBe5%#}p zyF$(s?!UG%;r67U*{`+t>|#sON%ve=qwCe9u~GS;yi=Y2>+{BGOMYJ$di3H#HP?1c zZ&i;;3>TcX`<+=3e)dXjE>n>a$GhYAk2-Ka^m=%DpGej(g@8Y?HASjMLVHi|u3Bn; zvEtjII0g6mj||1zzRa%OVPZd7^?`rM+p7x8F3z!=-rLh0o_HL z>{6zkHx_*B<9LkcxYRF+X}W2NmWF<9Q+p@u5s0hVd~fgR7{9l99o+?vFJ8zj(5#5< zw4cPy`Y^5d(na4c=SYvcyYC(2uH-ie+N5H^rd%W{|Fk&Li(luj#4N?s-dTJ9))Ztl z-prO-(v!}4IQ;kW{n5I+o;w&P1$1`5=>BQIwxgT-xyFnnFNtI8D~-0=Zfs?foURlr z{ri+%vE}8=Hok;{J3OD#4@7^pEnR76uyNbk+YCqlvTQs3m1M_I5aFZ)=O@_vNpB-POkc#drbee?R#dPKDoNpymC{;$!~Y>UrcbcdMs9G zy214M)2^3n%XSN}XK^3CY|i-cTtq;0x^v6Z^2suN7q}J+x~I>WdY0o~)8Q>^f6l92 zJO7ja#A{D1R|WZsa|LTX5A@Kxs{8lplmgI?R51u}*e`tD( z>~yF5%`wk)#f%D$hd%#wB!y=sTgSh^UCI(a(y#64EGRx`p%#ABc)`tGt39*Z)J_B? z&VIFMx5GpM@fpPnP90P4ex~#w&pERD#aI25#bTdd|JRJH6JK_e;gYn`gh_wr|NPnR zpKN3@ed;#(TMO*>vF{e0W)*jl}BH9r6 z0|gkIh8NbvBK2s(I>VUB6r+7#pS~%i?r!1&-)&gHs3di zWoPZ|eP)0E-Ln6-=~>3z+8f>u+*8-x37zmsCB*sZ`x4z5!AUzS;*3uCHpHuJIjW#$ z@MK2MpG6*vme0$I*_xj1f5~v~qByz!C}zFy?|c5ZgWLpc0PZVo5b|l4=*3uHdo@n#JWXK9LnTg z?C&wzA|n#@{?L*&%k~S~yRgiB`LuoW*1nA@>FP@+sT(htA~-kYwEAVPrd22Hs;iGD z2)Sl4CokN4^q5`ZxeoQ|)#sA$H53@QAJsqkpy=uUBfoF)-gt*YnH3hH9sKSC8gcoijZgv+dK}Ba^4qmbx|s$nvtQM4WPU znP4NbAkI}rk5ze!s?*n$W7ac#dv@G8{%Ts7-q%N(S&4mg0_J z(UaJ~GoW=`6V9N7x{t+6b+wI8{xI<6`%a$EL&>E>QW zpLuV6Ebn&R7Ca>uy|%kQb?U^GYf{2WMgIO;UAL|}HY?P*YKG>V{tNfnH~Mc6Ey>$` zmE%EpL%)FhAHxNoTNxZgetpoWiWDi2H+2j(TXNgoV&Cl8eubTCd(_V-6@E%|O%a&k zeeOU?_JbX#-gva6*d4Su5t--esJ@C(EbG}Ue%u;q#D|M@5!J*~4yH72AR>nB}Q(*Z88F$&^XZiMYTnyO57qfW5;tc^6M^|r1UA(j8 zbz}NB{w;popSzmhN}npsx+&S~*q>4$;eWO|Peb*I-LI@eZhh+ut&SbIr7C%``eg57 zai8M~MdxO*B_4L`YCoQRFyUM7Zxg;#*K5w}F;0xS6VV-(;~UJ-By!SZ@{;YRZ8x~D z-*fFRZ|(!8{JDo2ZS4=ls?7ar5XNuxQrhTtOQuqLS$px}9~bKV_u4IV>Giv${dvL@|+dH63^+wA9aLoD>WPQPtmE3x?1R58tvm?QUXG+y4F zWBrg(A!TaC^5c`HNNW`psBITGe}22#Y2M^$K^Nb!T{D?hTx6U2;i28NGRIDX*mjB3 z49m+~OqJyFc|x;ZmrjYyyfLNoxO_xLigAd?m2U#}Dk5I-k=;g@)oi<&E#AK1W?gNX zzhe8(7mI$ZU--^whEK1Zj+H(4GdrH{vXIipG7s{nA6u3F>W|7&WA}xN?N8`!TIXoc z<@@~hIyTPh;m1D+h%p|Vr?kbi^ydb{XUAP;9-8&S*09I%p(~Fr_oMujWh*Ppg|1Ww zFfH-1YK(n*o>yYejR_vxmZ$`%NOt(B28SZCFHnn}F-ec)`i+fJiSDW$x!-W5Kw@1DBU=KdBhp8iFpN@}yntc!Dd4!Wz!ubD08 zDyQCU^@rd8^z3YJUKuTN@SVtrIoCDY50Y{g@IazotjTe<<_BDNjtrWmZaxM-KF(4|lJljb!XjoPuh zb7HYh!JE|w72W1!{9xYKa!U1;?vgMi1p!mdh3`3Sizae;G_p6P)Y23=l8pizA{EIv-aWcUoHzw~8j+vKt z_3+ix^Li)fZC#`_bI%HaA6AYMpAI}Ly<=$__vG@UWw9j|-+whUp1KlHo>Ukgw~S%= z;=0qZ?;0jt++octQrRuLq4bqs!!1RlS*M;~3wa&2`Fh1()>T>R4`w|4&6vF}zT!n< zA;*I){WDHSv~_uK%-Ni=Z|%?kfTTg|OJKB*dUF5EnKOCZY?exrp+wj5f|b7m`=%u)d@0TFsPjpkyIbJ(&ZS{?l5T;A7wH~1 zdh5_|;aR7a^~%&U4f{8`JU4TTzGIlv|NoaXkNq@(o4%GR%hx2Pi50m{c;h+!VE4f{ zleoTT@QAJ{x>fC9vol(4{#r9WsCl(rJPS|ih+Uvs(-h>?Yqgy;!rOxqJGR4Vm zyd2l5e2+8pKesB2Sezlt@z=K#t&{7##8`Ih?bcMYb}keDZr!b|wp@0Bb6v&Cm$C{M z+vlf0lU&X7dF}>o70t~PidIY!&2&F+IcKG;g!Ze&ZJbK{mUVm2Ob%we!dJI$^*iQu z@0cfUI`h@}FjL_%=t$jrZaM^{k3u zyHXXOU#i?$2hBNZx|KGb4-Vlkd~j|V)9+0N)#ndNHB9v>-q!y0=${9oZNb|e_ZbLf z-I(vlUA`n$^6L>#&00yRTfXLRiyUQg3R+%V?LDHBUc20-Y}tlArup|1qK;>n&G|i- zk4=8X)6?%7d4nhK50149$=+A2eIfW|bAdzI<{PseIj31WT(>{{L{8yMf}66u*n;O; zpRBc3&YT?l(sIJ-Ad?BYQ`7o{e<{ug_*d5VBlqApvAg%Pb8SR~ZSHgWi$%q@-anMh zVz6NH_ci*q-*;;Jn=s__IVgXb-rE%F6Ej!#>-sdgXG}XhoZG)YX8rzZf13J*XmzHl z*5~c51+C|sN)>z$ZY_U0<7jW?vBt|Mmb9tx|JTT?H*j665aY8c?q{@h2fO%T&WiE_ z!qW|#TGcPAk35X1sb-(h6?{1Z1|NfO{TDGT8P_o`t zSZTYuy5Z6JPb?bWG#_6~==F8{@b^^Mu7z8ZRGzi#Ug))`jd;+<(=ah|->ef1A4@VX z`5yN;l2ufkf5)xZ-^pja&di&${!hsLKJ&X?Wo5vsx9uM7X)otqJK+1|OlomZ@8u~^ zb=IH!X!DGD+g7t5MlYt#mQ|Xc=APQowEOH8|8nI>ZgVmHqTMBusok4iGjMEOWEWX4 zFC5ga_%-*@)K{0L6<&EUb*+w!p=1vK9j-IadDxpXIc5a&eV9B;w7k)3W1O}^$M;)` z7SnjHTU==Em~i&ems@Hd&HFd#{<2hGGUv0+2j%=L zb(0eVAGrH+P90RG|bt5cENg~N4h&AR&Wa3%vV15U0J;I-lTWJ@vC2@ zon8ER$GPyc?u&Czr9J(`rrUP&=rX?tYfFSDm!EvC{?F4;@-xe(EmM!%H_qvk5dPPl zsy{m-Si`-9ePVuPhtuV-6aNhZ6Q^0bPMTPrweg_OjK=8RJ>{!;bc70P#V71C=>NV+ z@!gCqcI(dxy0=8mpI5V~^I>%F>8i{OkAv-+MiWW}4`n}_$FRmt{E3&)y8B-4udDex z*>gXzoLX?_8S`bA+n3+nJG++ORqDp%=Qk!E%B~dtarnEnLwEP89-fA#Q~mRWE3U9l zug=_9`QKMq{DSS~psd)(kqzB?rk9@lTE}5tdw1=DTlY1N1zD-hdVb`60;6C02eFa` z2a9Fgf5^VL?|Rf`*SFH5><`R~d7_qa&3C`U}@YGv+J{?`qItHdn^y$`TOMeTXWB%)`yY#q3OH7LNT{!J%=z#n`pc)orMY$upUz793;$eQ z;vIVW+Lxnmmhiv&zRTIwB4mc|tH|{q+~3Rb94u?{t&is6zRcefezN@VmD70_*QU?N zIQdbj{F+1Grs&W=3%>o^EG%4qfqD8yw@-(IJFi8rnCms`fRQ;s?yo#6m-rxBbM_;YQ4mUT|A#; zdG{Uh-I!XKeyir-g_?hiq`ld5-#_nf7`Na#(ZU~(Hsl}1<`Dd}H|krak9>ZWR^Od(OKwz@`4z zsaGpjyKP<VP6)c@kjJj#2{I~hN|+dc2<2dTEHhc61Bh`g>p^OyevlfAB4JtBMl zPL60>ab%9|=f@mx_ZP~}J@RJta;fG!o^LvjH0|X#&bV_-i|O(=<6yR!IoBhvP5$E( z>>6zBl<`X~a;4whc00SY*maS83<}wLnt!ez7Qgc_Ywf}R$-zPA+`9JdZH>}gujOp` z-01aW;fV6*_wS@|DSmC{Dc`$CF4i0kMHN1En955HTcPuwXC|a zTv1oM3*s*1r`r0{rsPMQ4a$JO{|T>s#r&M$v7mVrex zRY~`s>X%~%W=ia)GnT)e8J8o!=~tQ9w9b&nHkRotI1*RZ?^&9zZ97rlOe8a*#$wVH zgFPGDCck~eyk$0r+RIyy8?uVMmNEH;-1+_`N74KhbL`zMftC^m0{TIhr><1g>0;Bc zc=_T?*izSH>9<;WgBNc*-=@i#+ww-Dw(c~a-ZVQ;F5O+xJccU^XNx>c*mwE;p5Pw0 zbr+VN)vaeNobhK0CMZVcB$F+es$^7HXCNrHQ+@A{m9!(0;?y}QsPy4-Sf4|hU{NMol>N#H9jXgIl zYdt8QC}g-!jh&-N%IQan%>LCZlHCu5HMPQO`U_WB9bJ|X7II_J1l1q>3~#Cq_H4^v zy6kwBh?|<6)cG9L-u2FP?ZIv+{8Er4XT8rzIrT-?@A3-xqy#MTc1lTCpiC$9$7|dgt^+hRNUg zxxw`0ap5`ptPacHdtNQAGwI9q&$r~a*|*K>+UEH>`TqkA{fdW|yMLeNKUp<%t?q^Q z3j`c@Z#mk_+I3*lM@5@S>C?qS_@~-^P;`HyzW?vfH7w3Y1sEUJM4jrob9}dQnc2k4 zJCAUgahch@V^MAWcGtzGsiMN~%-An~mEFCZ*=W1lvIiapca?fi*(#(+e6E@x%UzS<{C47zCwFgpS93=n ztqq)^YU7^v!zyiB%+b}`9G35$n6&@;_NT5~=X|)ov2^~9f3cifF-I(9=6|`K8}}Ul`sYT+;=?yS=UH6NhzNaTa{SWb z3fr7n|4z%LM}I0_TEVu+*}eAootw|@_+5MWtlnVGOjX6~^#=JxXBA?e)tyVXb`k1DuPt1+Gu-2jXQ&PvnRsS4Bc@8Z%Ix=nQw9vmr?^^jchRi=3 z$L-B9FC^gTk+c9)hT<2WjN9hCJ#_irsmNKo`D^QCk`3;~e+_GO3=n*srlwFVWOADE ztXV`^{7&}nulwe3&+TdT-xo05`c2^be*KesYF(S#6B!SlT@m&B+}sndgPp52Z9iW> zzU59x(yrCbGwwtQ&o=%h7<*hs)km*5xnBNaU1W8Rqr=$nee1L zWYv+N%3$jSn;TxV-g`MaUu@EzzN$ZE28B~59rtY%iy`9`taJEIDyH<)tj3RdVAc7lloxcn!Gq;m+tzF8&=GD6O*5| zBv>hbn(c?J3*WdT<*Oao%_4jKzJK`6EwzRU(YCw}Q-ex(-pDaLIFos;Wx%O*A5?s% z|J!SQ^LgrJ32Vml8_fP44u7%jl#v*uSCu5C_TAQu)6Xzi{9Gqpl{m*? zqN#Svf7$xoQ>`it4wW1cVqLu@p<~*w#0{dHhxcr|9e?5-!b}Y zsHvR$=sed=YHQ*a(^qjOPxF6CZ8aF=u}p< zH2>_h4IEq9&!>kA-1Kp7ZJfiU|LcB)Bh&mjS8j$I&ghQayizXZ?+SP6OK%g5=NoDq z4S2{~qV)AKTXxBtirR^vFI`;dx6RvWMd02guTSNBclYKs3ov~#4fHrGG~YX#?dC4e zBQt_#Nb&v8;#K4eyE$3UWs~>Th~B0>E9bTUy>EAR)|#nz?+9=%X4%=CcIeX@=9RmS zv2`?0<*Cbg)-*MSkX;GClW^tFEr7vt+WKG|BEE2cNdwG4d~3fnvFym9cQ z(NV=?Dm@_{){k15HtrXAuuY+7{<<{^n|6JOIXXwrqc~x!fatYd0%EVGMXKHt|7&M) z=Ld6Z6LUpZ%&)&6w{l!H3V%FTwnlxP>}famrE)u;y?oD}sa)LscQcQwwDh5^m#b|5 zv8yq4Eb3wWcfqWxa$ordSFci?brVWGB)9BhObKnsnV!qP_xPpMumZ-fO)t03m0Ozj zXNmY}ljq+W_qc9&xQ~%(E~`||RAvD|W=F9zdt!K2v@N_X_&_Hl@xS2I-QPdjo2DJ} z3);CTWv}Dn*FAqXGuqp%JoNgGtsMX5`$E6grCZ9|m@z#A~rr>5QWWY+rUX zCp^}X{(W}EX|s;Xy+r&WPr-7sVtF75~xT^W+Qg@4J|1)z~xIkUUIC(J0;G@P<$<@r-rie_6zSeCQzi!GaGEx-Hz=U=Z@ zO$ljS`aF=YeqI0E^BNs?-!c`~ZT-9W4)>bKOBvUyQ^L30_|zJ8ZKgu%_N?~`%Nwe6 z|GUg|ob}v)s$7rc_R>{FUoIIfK4P-%?PelnIjg_h`wpIw`saj^J?_m2Zxo-Ou|^@|iO%v$l_q;Nn#pPAnD zg{PdBK9a0Ix9mdf_cXVuGu$_Xum0tiRV~!?{P2S^*5Jv>O^PurA}uq&x&PCBc>d8U zu^mp!B7QTNY}LB7FDTLOLBpSz`1rn=b1tnrxn+Wyp>18Vs^*S>oF(T)qGUOo=k8Zy z;*eCzTx0T|XZ`i!)yyF^VxC(U9b!1oz2i`k&rK#*s~$eNh^HrRo4ij9XTBy7qw72M zpv{6-`MZx!eJ=R6-DeM1=ZB2=(6q?WZKA5uG znQfzH6Kl)OM@+@qs?6o7(h zZ0AT%RM>rYX518RSE0k}>W_2wR=sTY;b|*4+Hg$dmtj}%wZ$P%*mX7jrYcwMoNN8V zDeQ==Xw>dN-k!g5)ebXm9PPbgV!7z@`CrSV56qqaCUM0(*Bea#=dN^|y^qCi_cpm- zt0yS?uWh&3;%m08TzGrk;t%sa^!>a>8u0v`j1pIfec zwb40k^|Uo_d)$VlF$K33mKsmUUvzj;r{328_QA%{8kr(BCzcnjJN97R)rOj_^);Oa z@;NS>cD(Y~_n=m3Q)D}5&VqH99tC9t{C_PcKGVQFFQ+>tFm7k(f|-i^i)~G-LbuMk z@^tR5&q>DedUbObi>{azqUmy-r&aAAgOKcJFUg8~cf5+aaxB-JceGJw+kUfi)44hG z8|=a-9e7_*xny4Y{Vluu-qp;JXge%x8znuSn~kI;XPwqM|kIpd~RE3|gbxP9oa zZ|J1$;%s6+9Jx0%+^f@{>M_sDi_^I~?}7To_U*Zhg`3RtH!Ks_{<5O4e8tu)Cq>^Z zDwy4Q&Fw>uepdG?!AYS@z9;v0x1IE~brIIy zn;dT|=#byWkehVicQ4O|MQ!C8Z2h8_4mgz}oXPU> z=jIZvwUehX-mzG-Hs#&1DOxSD3!aBOa*mNv|8|!lv*YZhPu0I7O`CbAHgJbZl)jnG z?xqu2v*qdi&vh^N-(Ie@S>dSU)7pR6uPFuab^efHT=dZXVfyLwCs{Owy7o1io%E~F z6!HAgbw;!L`@Pwkaiy%U_|fc$n8(Hos@oexxQ;Kl zaD3aAzLS5g&TF3CDHZhR@q*NQoIlGt5=;-?o_|}>>B}3<_x4x%{(ii+b3%{y^S@jS z{(e&~Mla|2AGPC1LaUpswJje{b=F*H#Z)vy(-V#5G$i;7ahBwe|Aq^x2OqIIKQ=3+lrd%4cGkFTx}{5iTk*) z*V#uVGy0KZYxI^S`e|NMzBA8elHOx`vee_7mUlR({94`c(0mq-y?d`8>^iw?_iq)! zn`_DyKi5gl;v4yX#lJsxaQpm;dG(P3Lf5#YOeJ=JGZ zbLvXA%-WJ2FME@-TvZp}oyPU$o2l8A&%u5rf#2n#0@@CW zA1XZ;Wu9tv(v)?fvD&l8439p|^^1kdG|9+sj0@=i10v zO+8Z}dbsIb!Yv)+A5X8$^=i%6(VVs5SrMOZhU=4;Z~tknxWUEPn)Xbeb9!-G#PQdH zAs$QIngc&>_|8;u)Qi!Gm;bxSN{hMcs+X+GR+z1*|ElKenk~XxvclA~&VD;0=dauT zF8H4P%s-rkoCRA}$S>|}Ug9$66_@>vj~}+R&-~gt(In|b5eNUSDI450U;m7K6|Eg2 z_xJj)T>H!*JBIL;Z&tmoUTCN_xuw^M!|%}nL@_K=iyDG<7{!EX7+ z7n`mptS@|SUov3<%OmC|S_|i`ILcgczJM`ff!10#(Ukd&PY8%Joe}6ynR6Y(+RQa#(`D4e9sb6OPQ5Ml*E}GxS9=Q0^g*Oq4S8hr$-{PM) z^Y<#2zXn|P3^(nR8Xwi=bbYw7wmN#_eU%vQMNYGMoaZdR#r=5Nqio)`2`WZ99cPxr z)+L_e378&rG3$K8wHtn^&w|6VGk>zKVGOQic`ffUukrg4r^igC^RITD|GD! zToO9HEQz&h?&6Jp<|}uKD^EvIRe~g=OWMSZ>>+Y-1C7vtVo4?}R`XduGnPr<7C+;e!x%p}S z)s3ZAEEjnuKeXGst1(k(rhI|Wbz7^Qfj(+0JOXEBh`CMnaesWz^Wa5^X=`rQojB2- zruyGG)hjqzF~Yp*E@=D>+}f|Di>9sXOX%7=G7a{XOBH>brT<~kd*eF zoUU_K`TC{Jjon9jb;`cGviYPZhn%$KXssF+R6bgqz2bZ!(&Bit z^scD_AI>Qqxhhh-Q*_1V;+ePff7S4|TK?g4WH<8q8h`fCbN{)O>pk^8|72aOQX&5O zy|1Zr?mde=GB#{{^QUJ&ShnK0!=qW{oSDfRuXI=ht~k;8OxmDo*<5o8EtiAR!69r* zubS?Ae>bv!zRCS%#y{c%xl8Y`I+;{FNvwHT7O{ZawVcN-PBy;fwRRRm?@~Vd1&pU2 zoj-m(<&xpOP3ecu%R79(yXiHln;k#(nl{s-gR+0$3rsP&WIFxKS@%Di%C^jVzr?KjuDvjKjeKNEdiTcfFXApu zS#)RPk0s8#jJeMrQ#g{JUy&_xR&P>~j{eCRu4lW-|1ZC#$heDH_BiW|SrS5%EDR3X zbxgizl~*wJhwa;YwWYk%HXgWT*|X}z^7sz72XA}3jTj~V?_o_$X%=$vcFv2gunBi~ zR~*NurmJmS-ov*~y7Kly<|TOwik~AB9UD(c9)2j}FT2pF{9gGB$(+T!q9Hab-?c3J zT*j2mG~t1blzhqNbw2CYsGR$_`riu2)p0WRDsLotl+9-vvabGc^}2_$aOy}Z|&%JG?3hR`l5E=y!7B(H@XDpMLvER`SPYj z*#3E6Rwibi{3Evfl?l7X(;}Du&%|}lZamGiisRy@wDeo=vOg>qTf8d%!o}-Kk_Q(z zbA2c;j#13!>bml#=|G0^y313wEo8FRoS!6i*1F>6<-DCMZSHCX?YB#R_;^bLe}+YI z%7Q&TkEdvdJmo3QlE~^wpX$H!YQct?Qw5K0Z4?voZNGH-c5LXHncKzlx7Tqecw2p( zA5o{_S=Pc(a=XB7!slEgxjlzEm3mId3Kjoyx#zYtDT-mfl+CGM6Ai!ISZlxQ^8B`n zW!62iJV&qIxaCnSroq2%^&gctX-`fV71jtGE_h@b^zrn$cb+Hy9Gu(t{K&tlum4Uf zp0+sgZsWo39h(=`>@)bP@3&0i%k3w9CAVWw?l}~@swtM^uPN7>8`D=EsySCX#gWI! z-DN>!UUpO4BBf>@`~@jX~Ieu*qPn8w0*y&_2$(@>pP3KD`*D?vwst@&0gHu zs6M%$Yu&#cF3&Q=|9yD+vt3rVtm?s1iL$yt-IR^TOL(MqSgrbFtk~YKeZVd8%H@c} z%bxu!{(TSqcHe%%TKmEq??*;uoGmuW(*C9oV?$OYMpGuVk!ueariqsrTyb zG{c$YDo2j5Qp!`F941)ur^Q{!fB&ZA%Wroc;r-96Y@7Dra^iB9Jtpdb>fM5S7jDgX z+qC7N(0Tv&8*BP2)}&A0aC_^O%i=2*{ufpC-?t+3z{=8?8?E0TK8-AzH%nV=3MX&5 z+nrjy?}g?u;hpPuy5%>us@CV8{vl%(RdrXgxk}Wi@BH!?4JBI(t6Bw?tq!p&Ec|=1 zf$c}S;%a#Xv!}U*%=<;||F-bpOR9_fQZM>qVebDzLFdkC8b1U}3K{R}iQL?CKQX)UbIIw0 zV)r=37wn!qWu?N6=M*6+@6T<)7YhT zHe~V2c^A$Wyj*O4W7UmlgVNK6>*{tXnFxQ9*y6J2X6bn`g@Av&UCm4q|FuKXHPcs_ z2c1}P{HXv}+7chVNyTPjsk@RUU$Q;@``b~+31w$C|8KQi_epl!W_j1$_HNNn!}D$K z+J3g@ioFpfr80SSO;o+On(Zg%+~SLgyaqqlZGY);u#l}sNX8_zJuSz5whtrs{5iQy zzdP=we&>4f^G!faQ0wNYU*wX*-v9J?`hMProgvBH8?Hv2y_^0&Yi4x7-wA&Im*uE$ zzr0{2-*9m4% z#D!MR4*Y2_J(`J)t7OvVX{#^FCo9b`)!LPzk>yx+~(gi^`r)?j}?rzwnq=hzZc$q?E2;>4?Q_ryI&>T+?zl9 z)Wjb4>z4KfRtA@6NVDtz{KC}F*>lYzutfg&&xz!fPdGj^;q4i-0tWpbZ7lMK zrT*NS_`W;h(376_nAv|P-xRA7o|moh`MQIK&w=NX4rSUo(Wf82Z)D#0Y*mEKTFIot zQk_!ETc`YOxH4<=%q69r8y*EsjOPxi)pd^2v`}4ftLXjP1OKwx`Y&ouTk&L`?oP8; z{a4=3VEX@mda%sFXO7*GzR!;~*Il@n?;*a#P{&_I5qoUV1U& zr5z_ve|B@WOpn~BOa7)|Ui-iBnyv|PYjbA%?3lQ@_1dI)T)NAZ)tk$l>$8v9$0yt^ zT(A9S| zX>M|9d)7Vus`>SC{PUcG=8ao+pU!b{Pr5uaSpSv^$Hmt9M?Oedyw}`g`rTya^D^O| zjEB#C>F+zSGs#kY^AoGN1%J&YKC>KJ^di^g;5PH6kvF3Y9E_f@$jyDksB`VyC7sIS z3pUwI<+!QwSDEqbh6_9U1mAAg7I<(o-$=9S(FyKYcex2q1h*gYSzqzjx4-x0f)aMe zU%Pjg@8obXXPug|Z>@f{fx3A3s&gKH%abCHzBnIK@w_cz#d@xNS6><|Xq@P)B(X1T zUuou+W$j;@83htn+*@>D*4oH2Uyj_ukigy3O?9^acrD_ltog_ArJcZk$9dBVSe+*J zbiMjNMd7ZJu36{G)@2ob&mYe`Bq*YCW|{95X2u5dr%#VwUp>iQCWTF};6XmGU?2aK zvu~!p+Ob~Gd*g$X8@(Jj&ZV6^opYS$PN-pQH1AqNYgL}<)`s22i;7lsT>kq>SFkC3 z@!>Q+L8p}mK5Iv1N?oi^+aK4m$2FkrtMVO*Ezw&t9^DoEu`#Q}?~5zPjq{=l#KYtk z{J4G8$~~j*>!m4w)`^|}vwATW#(;DUG}_rQ~66d3A5vsvxMJr zb}I)+Ppw#76q51r=pUXXteLaFWjJv^_jc}_$G?iTdvV$NMzsssA$wg;>PV^FKaw#$-mfnH%6U7}+W3|;XQp1Yu50b_+oe7|a!*^|edmk%ta3~TzGg3+RQ)Sa zfB8rMX`lEl4wrcRxMx??bKpwMuUhVD4&f^f9sGZWuj60(?==%!_AWFy815#(<<9w_ zzjBeYN~NX7(Um$)zqc^9P86;+`?~1c_45WFN*3-Ye%F!HP`Urjidkn&yr0gWu{kC2 znE!H>|4r!^(-%xF3XL*gS;u^OG5bEDgA9w86kF@e3M{)Je#Wz>bMnVqRjXW2S$A}p z|M~KCe(c$aoXeNn`u-9v4UIh1dMN(pkr!|O7tI!v*AU-*xMY1-Ph!$l`**>|Snf}~ zlPkNj&gF#dERpWNepY*9mq)Gsxw|rtmbN%&-Wk zlFJF+U;ZXuQ)+LOh{w0DTQmC=Ur%=09TjJBqJ|}`s%SPxLdY&-YY*QD*8Eq2{a+Wl zeukP^LDJ7`Qx3!qsZ>_9l4y-&U^kkHO>Ez_oOfD=lp+V5hUo$JNu2@ zvUcm2@hZ;SXS@&f3$@fZd$a2L&KhaX$W>Rr=FH5#7o((*P;>RgvroUi%;aN?3phJr zlHD!gA8{;t#*+WN)yj@G%ss5m?#3gr@AkCc92$Yjb9_>!mA0Lkoo#0_L-Lsa>#}OO zGb?^9KOUQN`GHklZTXM<)&)uZ7H`+jINcm~^qB^?M_O*_vKie4E@r2z|J;y?33TpG zce^GxX+^h(mA@~Pn$)lrrc`@0G6^j85L+v^`FX_smZDYb-sXs^1Ug-h zo;&GDl<)$rS96VRIyg*Dec9mSocbW~?~cH;IlYWbCoXHGeEN|Ro3j7$)vM0aGhVUe zpFY3CjHQ|3pfXcK)n%1{?3hJU3>5l~m#q5ZkoEXllypnxXKTZtKWx$`*Ej@}KWErt zZ^%03md-U}VZQW>I;*D6nRn&8=7AIHKPLa@nzW+k-a=ceiAnnTby9xkj9R_?yAB`x z@ps#iLkGh?$oZak$e*=mtD2ICvbyt~ot7*2WNzvyjV%g@{@$NtCYd_jSakKO2oAyL zF{`r~7B_m|T>5X7{jUd4ZY_7>J{#72KmXechBxlNHaGn?#x@qin9K^ z^Qxu8ms@JrI&Ovg-Fns#v#+xBKeO#@EAOQSKT8d*U;0g(bMM0n*%D>0Q}SKQ<~lC^ z5Xq%{H0IfpaJDZVPdz=~tW(}mP*;02UhRd>D=}9qalOXDy1nCIueeBE1fiXp0@Cpq?Sc1eZr@}?yj({7w-IILS=&0)k>xv!6n zt+@TE`sAfSHHi#Sa&HHYcYWHr=0i#7tK2wdt(CIp4ml)s)Pc zwJRX;&%2@>kJB~MC;nSuzL8T$A`PRMO+a$JJN9q&6J;*=oY=%FQJC5CEmm0c#$T5Jt7&EDR!;u6WwFgP zzZshOYnS|JIafRDhLT6(zP-BJ7M+_iRpotNlZ~H4`=jc_^UV9~eC}GGJW{${qq%w0 z+m;@~dfAT+j_LCzYyCXD_WRit58lYe><|yU7Pf|4{9pTzFEMY##hcuI7FRj%xjT3J z%Pha9W`iB32l*CtSNcD&XH=Q;{fLHgUBn5$Gx@f&SmKr z7$V=tbzc#GQmiGLWWFlt$9&t)hQ4i|80sh0`IvI&hk0b*P1qi{jERZEWzO!h+Aq^@ z`+f_XYi4^!`tEZ+$ym!&R5`Xtn=z`@Q+w|?)E_j~V-u-#$ z*_XH1#O}-dI=6q)xwcR7bN?A#ogx2I`^;W5vG4in7k+O4EjQ)iy2rY=ZG(>-zMFGe z=)G^A@atyZH5`f07hPo2)xIYeeWBMZ?5U2m44c9^_K7tQrYn8xtO#6pdb9m12AzAS z0@pIVNx5AR@io{)Ts{BL2h(HR&+7Wxxl<2K{`ydLS;`fG{9E$&zj9Lc8h@6&(G-}q z;1H8it>B>(n*FZ(zDu8qd!KQ0dnoTFTieJlOd@kLdlWD2*@sRXCPhiiXW zlz%DS=h>6<@{g$kJ2}!96Xd{r=Su&>0M=$ZB)nNGucbky957P>uuBcd-6H^hPem!-xZqCaq@-t zyRfgaKO?6my;MjJdvt$;fAmkK*p?^uzw>_{3;y!G(){?FeUFabe|mObQiG!H=GOk} zGYw92ac|l3EO3o|U$legHO9d9{%JR&LgeR7ySJ!g5uaDxGM&}xIltUWEc}@-m%gaH zzVNVT-6J`IS(B>>fjN|bXxkzY5C&+kLId08uj0wrOK29vh3A%V^D24}CW2UXxZ$Q?JV*v-7LKb-_q%G&PL&yt?``? z3`7>!`|X_8w$V_fAnViL`?Dt7%=XI439sru9=+$4r+mD-h}F@#y-}$uuj2o2+}I;8 z#klGC8tK^0G0qJ_krz30&R^VP@-6LWN4fa%Ywe#{O%iLhlUFw!HNA7~{~ed(tBxH1 z{66o$*Zj}CV&?8gmHVZRPv{TftbLiw9l~06`H5R(j+tl1v*sOp7x|^hnlj2wov`S> z&-eWOFBKG1-qsw+Yn{CM>z7ZHVzy4)5^C%6b=f4It20Zcs>jdkSk_VMXwkG(wY4|g z;OHP5itp7~~D#3R$PGVWDV*!?^e*BuuVo@w3X zyW8XVZacY`oU=G?r>Z2nd`^8hZ3GD`k#rGGW& z-{O`BEbJPOg+u#fBWf6y3mu-MQvA7M{$!q?cY5pg%y(GWw$)yF%WiRnex@(C)@{^O zdHA@4+3lm#M4mGtsW;R7Ht0G{6g!y2dcMOe>o3EcOQ#H@ygj{N`3AZ%z0}El>wcJZ zbDvQ6$A9IMS8QwNxhL+L_I-Vw{E53dzIn>Fm$ha-xB0v_KK-?Nu-yBp9Sa=ToZPgo z^Qm-w5a8tLx}_Mjv?Mb6;a1rv#>N(0^6a){)9!jGB-HpFJD9TI)-`SW-T$hNOQfiH z7G0H6I=`iIxz>Gy;+n8qzdU=Uc^wOVHzEF}&D7eUdfoZ?IhSvo{P;m%>r=S>${4jA zj&o~&&f^c%X$kyTC6}mGyZn9Jp0c~l)B8DQ9{XfEV};Y5)rq!lH7fHLt*Z4Db(zB| zmDrX#%Qx_t?YT{?-Y9DX+`wHLHs(LOTvh_p#cdd78$CBFC970^25@h8V4V=_nK)9KN7@~djgB@3LUGp2sI^KWAQyE$|7X7p}r zS+?_i#QGT*H1?`4HatW6KJ2>fQ6_@%2U34T?ppcy#~$sD3=eBJ=j|`2)YyHv zr`i09^~U8a=5Kvcm#Vgk1fSV-N4n;QVQLzWja;3LR#DeF$K?M+2`l>CW%U0OP`6~Yho;;cPs8;kr5YmRlR@x!*s7h zzdz3Nu2{lh`M+rG+1J|>QY5-(aW3O&v~=PVN$UG}p{1$R=KX%zS1WJ!U3sb4`=!eB zjC)Q?!5RjpeQQtM=69MeYkhg%H!)7jXx9s($5u^!wmW{F;HRFcSFOSq_pRw%G~@l; zB}JQ7?YpPs@mKhjMC+SZZ|>e^IN{Tk;t>~i)Nxn*r=#<^%6Ppz%4P(p=X_$%X`(<1(N?$sGn8y8MzmiuS)>{NnjmlBsl3Rn5fpH~z0c&FVfaEuUO=UBG- z|F$Eq@66N}HSLWr`Tb5vVdpb0fqcm)yR=VUYjEsS{yRZ&(>v8&DzDGpIjC^>+oJQ< zPTsB0#r+Nx&(=D&Wu}olk%zUnzc(}I6uj;7^Y)b0Kc_0a z4PEQ%YtK~LqA2_+yt7{>lf&_H*Rg~Timgf$zs*ft+{>_CR;>S29FLS@wOnmaChQc5dGK6Ex{333guZR)mFHRCMHQ@h zS4-IF{%JbraM5SQ$_K_XHu~?3ymn&CxxF6A+}XX?64<=LRYIlA40ruIknrYtkGge0qDS z<7Cxa=lk5##6Lc(dvoLdM33K(@~+LRyWQ1wKgfMrmU5`)@qDR!Ip$rDFRglhWT%Ei zlkwAdR*n77YfRXpU-YcqwQ8%EldV-_P~6Sa3rchZX6vTxZ&`Ecz{H5{Dn>G|8bV_g z96nq3uy6J{`#N3IEVzo1OJ%1QLrN&iL6h>hMT?E6F27SObo58g)a(9kFTH-6$!tR(pG@)BM6Gk564mHm;Gdf0j6bYwz@=Xt7pzRR^ur|awgEoWXkOPc$MTf}Etr%mS3y&pbLg4e66?8Y4? zz3fFl>(~YJ_uBpLH96m-xTw@koTGpGE{^M}?`oW*E!3F$Kkq(#VbAm0XDVkUy>*2I z_V896HG5NC=JRk?Yu>^6&Hm@__B~(9^{99yYrd4nW6@7HI%l&T%iM%ww zu#JN~%6r8RQ9YF;&I8}?zr9gXx!+a%&)vDx&Z_lA-+v(J;5f(U80WXi!h)J6iGJex z5^2*Ul@_izpE$j!`ohGS>zrM027MQbU~Upo@e`6`Z@b*w-!J`3Inb6RV^;JwPN`WO z|LZ?5eUac?HaFnXMSJP~?dRHmZ?Tv*_ba0_cjDtyWpjSMx_;E*b`s~j4L!Y<*L~Uk z?mr^5?(@83uk-RhA1|D*Ree&$>Wk^c)82Elc13Rc(hz-Y3yaOx@7lG`r=CmPB=qs~ z0+y~b-+FI+ba?n_mSmSL?``HshudD??X#BX+}D;TA!jJKT)nd9+SIM zRvPA2tFQU{L-CSpOV1}tMRmCxSSrz|_;1zRnn&yJ`Fnq>eX;R(uj#X`k%=!N(?0(+ zo3S=VdeN5>d;RNzaw3mQwxztB7@5j9aYg*xt{=vAH=_@@&p5m4&V14TDW|=@RtU__ z2|ndIIYMpXoi#5SH{7a|=DB{gWA)6dyVO!9F{*LBS$0#@Ql&H=SS&5@J8KNg%DIy|y}X(c~LT9hS@t4B!gcyd-SiVIB2Y z#pTHjRo(IyI(weW=xkRmE%7}n)c9U{uJsO^U+Wt{zD>nSEJOP4LrO^;J(()lT({AUwu_?+$b)1OZ= znztqI%7NzQ-z8gReOKsxHsw5zo3@5ODTfo4~KT zhC%z3=L&kC3@H92%zfA=-RW*~N#Ki?&F95Wa9SrjoNZ-Nd-Ctes^9FaX47`geO8^l z`*m&Dt~TD7D-vI|P6vd=C;Z&b#Mj!J*=ThmY)a+)+FL#^UzUgdQz(t#oV$y&qA2sK zfWimCA3J#eJ}_eWQu1U$dbQ+5KIw4wla)WZSw7a>H57Subcg2#{|O}$Oq$2fJYsv1 z<>|Xpw`Yd4ywl(1DaU@!Si8PvR|a?ag@79s9TPUrwV1^A@S01~nfLRiX3mnG*ZNWR zM0h4&ZQ$Qs4-%%Doj!j-Cp7WGo2xsyqE4MK>&j}Gp{rE6Z(iS1ojo0G$ zP>UDfnfS`+!>*P!hB3uD$CvGXVLf%*{jk;!Yo3*Vq>NNQ27L&Mew;m9^&yvyWlwPo}u#~O99#@N4QHO&5^_v}^ycFkt@NtdK>-jF(`H`<~NX>Yl@^gDuSjUbJJ0i9}-~5_c zIpp1N4%9`3DcnpbZsdV6`HQ`l7}rQ^zspI$o!@XHr$d-bFwZSDKH z+mas`?MR=QRr8CRVZK_$(Nsy%sn=K6g{uFP{QRO*e%-8f)(cMEj(iz;2_w)b#GG-LB zwAMW7)nd6jc+)Y)V9QtK@>h($UaFrcu`0m+n2YYT(=Rk0mFi7p<=k}Mbh&g5hihGv z!%I^;qkf~l{hM_+yyI6YdH$??+216OeVbD6KW>@(MOQA1S$RdXkH53B0X}{ z9r-f;)L)!?bVS*fpE*Wt^FKTqm09h4b)C}voU2ZMZyxQ=)}65^ z@zWQv_L{be16gOTvo8oOFFx-tp}c8h_?xAz={iB(=A1=lW!Y8|t7~4pR$F!4?Ly&i z{q)~FTUlmG?FspRRCRrpA?qQRoj15zQf0Sqj<|3w^i4qHW38&q7dJm%ZgNO6cw>&n0zkAWVyel<_B&_z5c!J-wg4hREbhQeQoI(0rI!=H`hP3eWn`u?g_)Z zla(8cY}Dt5n{vE-A3VLy`0<_%3!glhvGm4vjtluSygFY?h3qWyYmG{{WFaM}W&C$e zIrFa7j?=W;)%F;xb?@ZyZMmIRCNtOQ@={yHnTsWgiXvpDeUyC5V)b;M$#>6k)jyk= z4;}hgxGPkbWf25XLM`~aEFBly&``rA!?{sWA&a*1s&j^+N zfBpNZ{mN(FU9s6xtA9M<)|)x3o+XEhW@t4WcYf_>wX;G^q{^!5uh!>V9=?7tCw*U) zaEsP2eD^$~e2e3XHFmsKN?;?Xb zq0Ws*G!s4@k7-GqmKNdY-J9U?&%f)tQ$B)9sP+Vw;v#QSxGiEK{|>2cIy&7ODX&7|{;Y4*MUUu-Mq7Cdb= zCFkDKp7kCs8hbum{Sv@jJ6*wJS(S3@AMfz4i8haoI?9&v9Wz__Noi;ARo2%M7S(Ij z&Qx`^t6N`as|ykk59m|!eRXS9zfRi|)BmUc?yOEPlia)5IcY<)8k5?UO1)FAQr|Vt zS2*z;`L+6Ful~|WXSTd&>+V1KPOS3-`)qP2O-#Ja68yzBz2q zz1?p(*={|}`L<|Q#>U4rb?4XG-MaTzWaD?KZ#uqKlE*9VOtd;vwd5>s=X~#IqkTn_ z9!efBn`Rfii+@6p5;`Hyy!STbvg@k~=Bdct!VUJ=>{l zzOQc$oA_PeLW1qiB9AI-|nxyqR=|-8_@!cBBv|L}yo;>Aan#N_OxAgx5 z2Hnl`-$)Cp?B!&+l`b5xV58OR*v7*OGb24-y>#=lbK87wo$sDGPXl&~%H(YQ>toV% z{>0xWzcUSP>o?vnn2|9tW#z>6aKi^bJ>M;sSJUqqyXlmN3&)hq$9FOeroXh= zwRCpXv8lhd2+Vz=bX2^(ZnyV4p1Q4ui$AP+ZS;CAbEo)mmM4jfOBU@*5L(%|b2o?X zdG)*fce%NlN+aCE8inR5X2dgZIIVQR-O-)m^TlJ~mA4=7JKlVjv1;?peXRAH8TvllF22&O zq?*Ct)?yxa{>z#ZLcG44{Qfnb-8Q4E=FQ{W=+k$VSXJ&Pt<{c5{;=-*W9?h5{?*PU z=O=0JZ+dt=bFyXl_74H4T(gdcD=b>%I&ZqVcEpM>l~snfSi(5|vVHG~Fpg;C&seoT zpg%vONwZ{6qqF+LNH&Fw-;N$xW%4I}>dgl!OCGpKvt3sxe78z1a~s=qJCmkm8Q1S^ zOmcBJt2yyAOWb13cF*jN$T^!{P1`&*zp8mo-p?=Bs_*h{G*dhO*K^hG3!zL4+t-}A zez4@y-+l?y8=@3g2G7`Tx>4!Ogqx%+#%_Hp{;0?6|BG zvpqfO5U$75T&=H!%)P(v5I65D|0ywSsu@eouI>oZxx&nGP-XF!&?m>0 zzdpQod&TE3GERGECSKV4w5^KEHOl?q(MS)exSfAjDn{Nt-2YbO`G&Nq8qYpf*<80| z&yr|Wu@XwC&_DF(r=xx8`;~P^JUV!NCT?_BJU0JkpOt>yWHuQ$4(C>LE!BJmzyF7H zo^$!OHT{_TYlr%uB|@#Y{icXVru#3 zD#+}ky?F_nUQfUGd962pxC=$w{7?Toko$Po(|^T>TW1Q^?v4E<%Avi%DJ-Pg;HPep ze3eVp+4RmrJFa*U(>6i9oh1vjG`7n0N-e1RdG6C;d#$f4m$=NI%a>)Z_Gs7MW0_9R zHMTYgU0=O6=%C{HATPg32X^ddIeICM!}x$w&=*c!{)3%XfxF$La@QL;ZPi=N#`5yq zzF*5T4wyeW@r*U?vFnCA!Sla;+_36vW6Rw5^4nS27WZ$982n(U|GUS=2x)Rpeayr?OQPi;=k1qonHukCY4Gn{wZ7Qkmy7Glj}_ZQy%jjW9LhQ~ zSDvm-4Rbt%i+2x2ur0olwE$Z1!#C zrRf%K(SgDe9p58oJ=UIYWnXgUvzb|Do$Z-7;fve;_Fl35JZY6l)v86e&Mmzfy2H#>Lg&wykPQQS;gySbyU+gZwMEYu*VH-q*x4tX1StXw~`d@Iq*Q!)6h$UAK*T z-ZeAdH)08~SIzw2_P;vw*j$5)?F<9>l|A% zYo5P==Hp_^MM2X)t(JL{##tQchTP~XAdX*p3IcKBlBEy!O_!eC%!nEJteqZyU_Xe zp0|A!4{d)$tPDsjF4H}y+HCTwp<(`$=T$!yqIU_OWjy;{|7Ds&*6j};8TcojV!ivu z^$w3g`wQVNox{7$H>>DBP}-opT0-diy;Cht{RyIBKg7z-i}pS>W%QEu*X^>A{WtTv z?M1!M)xqm)^dA4OPhQx+Z2he(#;K;;pJ)|MNDNu=s{QBro4Gqf52Y=gv&3h$X~O;5 z3V-3{2QsWy6^lMId#gD8*sLp2CN~3^e1yACe6>qjS|BI0<|=30ghP$YKd#^6{>X66 z=g}wO7qyDs^XI94eznb^lQ~hPFj;F~fvBw+!3-LE&X_q3&gdm6Jj825M!COTHg zd#(l^@aHl3A+I3EKlzmX^P?5t8qO~~)}-**QBCgFVOhh6Ay2noyx@Oip)l9%KFw8o ze*M#3n4%%j|G(?SGcVuky&en~ql=6)yXr1xowjOvV67y0&U44Pl0crcc`@%Y>ZWF% zxhNz)If@_EQ z%U3C^6AV4P_9R~wpX|i?WOe%=?rA~yk|Y%VxG0-03h8Qf4>t;uFIXYdST@`BvgaGO zBkO8gHOnVEe1G`1s^fpwLW9>k-Y%>%%$;7n^l)&(*QY0>nifoL|GX_^{ce>GCUKD# zzi0n0Z#xrNQrCKf<^0YU>(i#@Uyl;-TA3F5&2%+`{;50v_J98Gp1OSr@5MbY)=E_F zEuXwLSVJ@>v{B%|9@T@_G!!4CJ!b7+|6$<|rNS9cXBbaDeTaP>cKQ3=rZgZFKc%s+ATj!)c zy_j7S{5URFPQHyrB*~KT^Q)SNk6-7%$zuO-si&9McI|oBsiqk_UcTD?P;lWv!JONf zc1OjvN*7*Ysl1%B(Iad5uLj+3y1Q7vr0dU`|72&&spWUXBN%*t8cpBoRA72%n&p`V zXPFn+t~Y<)Zk2pydCn=9wToq9=A>Elx#yN_yX3v=s&j;!oEG_Y?30%NcYjm4M&OQoNxj&H35)KC>pS{g@iCud9P^%i z&(e>lCdcet?)iD%pZe6YMUNGJh}QhHS~*QF`OW0iHcuVw``vqL_q3R{1;?;z z2Y6P5Gg^y=*^5?8?+mf8GSI!WeD~E>Nss)4c80F&H=bwcn7*OUGBW+&;T78_@A$}+ z>nrc{C5D|v_?%Mo-|kn5U7NQ>9FkJ}vG0Y*3tQ{vzO3pr`7?2akePRw z)6M$cQh)Dby;#8`^%I~Iu)^s{AuhTtWqG;wci{-`tXXYKdGWB0v`Vnmo)?++s z=ULs0gPJ90OBV3VTB*I~>NlMYo?Bgy&))grbrsk4K=)IQUNg9iOGDQGH|Tt`!dS5T zs_=`?SGTby>#p?j?OgS-ZsMHfv#S>uAALLJOPqRf{@3l^$(KI&@7(&(oA2|PHvKjk zZu?%xKT30jx35n4%+UGo;QaSV{nvw8wn%zDl@hP#3Z%6i-Bavo|QA(V#`G=OQO?_}|)>Z4@Yfgl8h1uG~T;OQ5o27B}VQFNb#zryu zXT4uL|CMBTv)aoo4VNu9v($v!3PVk2BLuZr)zR zDJb&r+)ekxsxvR>K6z5Sv)im^n{C+k_yzWIyUer7bSD*hu-jTq6 zb(=D0A6&VA$u!f0kqrhD_sl=y`B~%1vV7r2pV!ao^UTdnmw9v9xqeJ;Nj~({X~Fp= zY$qbjg`;?8-ub9n@%*FtHs$UlHpBLYjjwkGe#u?)-fJ1hx|1`vh;X@Xa`ogR!UOfs|WDdzTyG<9|)9>`O^7DsN?-$5_ zJLh>$<@}5bH4~T1pPsE8XH^)#=yXKlgp%@&o!cu!ayGTJFPq01x>@z$+0&^{Ze5yi zInA?osjs7zO4gm#*Q(@Hx{@Xv#YY6@by*yAi!b-F?dx27mb2~RvG71QG5M!_xq7~e zA}ehzf2^^b!&~H$|9FDQ_W;en)831(%x&Z8t6gBOtr_QW{NRK<29-S#T=g?g&Xa%V zb@lf@RdeI-GkZ9mT-kVfNBYMiSF>E%+NII)F9ovvXgp)h z#XC-Em)}o3B4cM*d+kd;z zvTxGnYbwhm&)rv8>Zve^Ye{$SPDO>2*)m@)>$m^0QHWIcyW2VAtH=5lk6-HynOt73 z4VrQE%nrlfsg*zdmvkKX$xXYJbHDZMu8(;VNe zNe9-e^q*h9<;R?4!{x8@LIQg<&uw)oz4_8Cn=ktP>;47v6LT&y-s=>$*lfOcwvSWr zPowg1=l5I*iyqE@`N+cg-=+snqBraOVzZoPuzXN;`+i+G#H!wUsd%@nNb?pk|C>uz z%@!=&*2TW&RN8Wu`&w%%>$Tpyt@2KIaN=!K>++v#U0JH$2)6HTmi9a$_-XR&-RWQN zFW7Xw%HiX-ozA}+7<)ALtonJJttoP1v!0Lm<$e1~1yc(HW_^4A_U>J=B_CgTol($b zpTDj!(Ib$15u@|!DThU3uWz=jmwkTjY zd;g*9`pdxiFJJA9@}I=AA@tdutRFM}tj!S@h!ty`5cAh>`Rwn73NzC5V*5oG2A;c? z;&D?EKa{6czx0L1a_JK%1UbWa@$&F3h$aZqmN&)^jw@1Kcjg4jzv6j zQc1!wEvf(4t+-#H`MdVo*1Kju{#u$Ol-s9XJ2`8v&<$lF{eRgE+#QCDFI5uGPCMXS zVUl;?U82o`@`-yA#13VyZD~BE@kOfY+xN!H*Y@vP`DFEJscQ!wxX655XaB5l&$Gdy4?4kW)wXqZU6YlmkaB7 zBh&NFUg-99IWld9_ne~hE>GnC{H)@WKA3s;%i}G#=f&NdF^ADT?7HNVvW*K)9iPvh zq+k8ml6B7!wM7|fuF@KZdldE&V=~uOFvE!U2dBX4Hcn)_2y=CVrasIvWqh-<> zxq{}C#iy!nt6F{y{?x8}7#}tgos?47h+OWpfn#pUGQZQy?YnGxlpDKN2&a^mbr);pUSigm z+4!rzOvh*=1IM0Cd#344|JeQW$@xnwZfxw?)TK5t=y&F{-`kuUwjSBXVB#oe@v^R{ za*M4`{>6qfSs&`IN;}qbZm#mITbY-#WKT@=7M)rHb2l3uZOIMXg_GY;Hau}`g7x{y ziT;kK#4jnZ`aC*Yu>Q!!()kU>d26R^p3ExO<@9fBcYs#yi)W2dDWb2^_846_m983D znUx$EKXpUnn};7Jt?c*ku#dcRK;*&g-_u`l8}j64FmhdcQlyo0^U}+h=QF1-dcV-W z{(zmv3&+d3;;k2Y+s8)@xgKNMqJ_i^k~8)3!m{rF@!| zM_Y1#nlfyeob5VKLq+f1-}B~^UuGmu4?8K!ty)sOSJ`e_Ou*Cb{*C*$*k^p{WU-gB zsf-XjW6F7BO2QNGZ`Ky7ReCq7w@*GWfq{Q@((Dv5znbR}G~7e7Lbj^}rs#ZK9w2F7i44Z*Ferw0hH#_rdIsMBuz< z4cVFHHpe%<_FxaZe13WO31LnB3A=^Zch1y*RAZC*QgYSr#bpjtu9r^VHKRK8WX<+S zgJVn+6B07^)SBdazVIqhH*^70>p?nv2J8c`AQD-D-O0NrxQ~ zFGEg!OI(`JW8?TB(sIqaCDOmIEwVUeC=zu1*-NR|JApdCI+VG^ZpeJf6MuSR=bPhV zH(jnDi15=c4!_a-x2yJx!h;zh@)6Sf{%^J_TyPYhxA-n2|LI*E=XNfN@LwG&Wfc)N zo9jtYQf9x1P_d_3h`@fsQ&Z2q{NCl_^6<^HiFNyHJm*W9S``{WzGg4YhR!4-|)7!36|_P?L=fo+kV zn*OUT{&E|w6c$?)iO$Z-*jqePwK3rJ-M62nMEyzJa9q6R@@w96M;=`CJD{48c5(X0 zSVwQa*ZDl9X&>KREYovQ_OlT-w4d}rC40$cJsFF@*B=&0y$o^w^>)jFyOSEv=*b1< zyccG&{VS-}v-NVn%S*mb;$62Fq~EPtQsJ4kR7L4}&)Zw-^~>jL8rRkJ)++{FxUnej zROk--&pKkqG(8s_f7;OZ(kFQ0i5(p}IUK?(l#j*qKe6B9tKH4_oXsj<+okOHnU0g! zyx6Brz9-nU?bJQKdESR2gO;50T6d}B&;5oY25!wOvV0GPXVg>$9h<{aRB$l#@46g= zm4+NHYpaT~u0L?~eZD^Bh3AtPwe-^;rrbQW(fyhHGY6H)f*cE@|KC;PxS{-hCDW`_ zo`4Oi7v+Txmu-*bo3&|&l#-p`QmIXqrTYU97D!lmA3E%FB0KGZK$@_RsJQZb(f(Z~ z_o`nm_T9~$UKa6Ya;%$srJnbU;3vWSUmjd%+Iu#_x4|gZ(rwogMZW9#i|W3y`pmfU z`f25iZ}WG}wmNp@8DGfrvMtF6S03ro7dgq+^UyHJCU+zI{~e!Gg>OYJ{;=EdXL{Z8 zx7H8hjC7A&Dz^7>K4eyPbiGv3kERnF&h5%KFtau*%)Gn**Db?8l~4XQ2xTo(-y83w zv)?@_WzO_(FQsxHA4o8ZF1q`Ea>BJ4k}50yZA`PaxP4K4hR9yUZ~3>Lf4lFUDR<|R zcg^7i8?*MV;d?SsY2}%!X5->|p$)xtMjF?WbFN+Lws(BFwJQFzXRdhppGzB~Ev^gR zI{e}LlCb2;4{bH(y{DHh-1|N7a!KEI?n@jZU9oqvYn~KLs@fp(qIlcc@-UN4ZtJFb z$%Jij;!R%o*i3ZBflUjWk8h6o$=tn9b**l;?*DV26W0Cyv9+`!I`5}lP1b|p4#7V+ z8ZYko{agN(e5;NCqd;3q{&_=d&O`PV+fpNLP@e9cpGXP5q0^S#>s!@2Cd;k{kl zRqc<8Hh#G$)Uwz&KK7^1_3~NLTx{>fdM~lnebbNQ&da_1P$08p;xFGXX>9K6esRg~ zXMX$Zz|#GXd8gUN`m9PaElRuiyNN4illXgY6Jd^v$1mym>K&b*>;Ld^>f3wX|91C> zUYO>{&F6CNdXo2A#a9l0bY>sc=3x6Jypr90$MI<177NF4wU0keFKbE8>}EW&heso* zkbkdK#pSCp*^X~Ebywb7ZWuK6`pmhetxxAw_t;t1xXST8IQi!FV&-KJWl#MN4-+|E z`zDz^)pVUv`dtl%7Ec3R-+7n3wh1-I6*2!>^y1oU^W_pdBtq5+=1A<$*>C7vD|XYi zq5Q`N*3*egDtA9<__Xlf0{d4%ZK*q^rJM>n_QXMb(FB|Bq-nqN%mO5q{;d0l`J3LEL830 zI=`4PNJP8wh2)c2G1sSwKU7R(=5A=5>N8dUhPd11XdS=2pC^xaY?}DfV^d&<*a4+~ z5Bl%@HGkF1TC!2qwCs4Su*J0h+vOyDwI)}+junV_WUAM<+@mjO|3TsJD>+NzR$n^3 z=f?Ere~oGJ-{vT#M81gB&{tTn<4O2kGe$w->j6tQxSwt<-ae`6`=M+P-%J*ztee-@ z)Sc?zJN2FMOY2fs?x;H&dBLS2?Sf0MRW6#}H|xftni)_4cmM@$6TN=HZ5pxr03S_KT4JRBq!bQXaP8xpUVt_huQB(d8yPMHZ zzM8Z8^gi{^v$_szOpo09Gpa57K%33;fGe`g7rx(<%TgKH7GF|zM05GlcXfU{vJ~Vc zBp&s27;`mc1x}Qk@^D9u$NS|Af7Gw|s8AKV*L;z{+4{g`I>v$xC+D9?-!?12$hzoX zk@&y2sk|GmpIZFlN@PjGqJ5_~G4-EX%lLtJ^1oBcyDycW%SoO3CPY54>D#_T-+E-~ z|I11)=r_$X?VNYuiK&5N;i3DY2acL92v+T{dN64d_ebHtbE%P5_D4gR-UJ7z{dgYb zdCP3i+C;5O)w*|gioKfP$@}kxisY7`5d|Nob1B|G{I@Y~|GDYBN#Dx$Nc&%#=J_+R z-N%*v8Vjo>V^YTNGnbV;I9)%jIsB#b_vzyd4b~S!7hg{}Tbr~dd!x(Z?FXA(WO>A< z{G7n_>ez(a4Uv;#O&%3m7}{TmD%wA%Z(7gFiG6L|pC#A-Uq0tUF-O2VMw2}2iZYj1 z0RbKix9TEPgq~ehVpUvT(suiPonT7-OHZnd)O+m;+53;t^-@svd#PVlmth3d{x`~Q2FcH@`#5*?DiU(7UoGNf|l=n zdSp`*;+;>qOpM*``Gorovtg6f4T0;I+?OWWiU_{E-MsamTYs_LrfEe_+0KRY-&6Wi z*(&_$>e=<7g0I__&EVfQBWd}O_Y?1mD@YWrzkFGwx`B7;1oNOoj%Cbi&C(){Okmp; z6LLlBKYQfDs5{wu+YK{?XP4GBrgY7-Z~Of9)xSUKfmUn28%&=S(WB{LwJG#{q{U){P#}}1#r;T{d zZBKi5j-BP3$f`AU+iSkLJ}I|X`*Zs?>t5DL7Y-hZTKBi?2iuQk$2J#!;SWqQcjVTo z3n+is&MI2n?o!9{wOCAf-=R6vZyKH{aDJ&)yI=fOaJlhQm*n&D{ZqfaQMzQu#qa0t zHRpzHc+lb3ey^XXY~HMV{HQ=B-~LOdUp~BY=<98+yZ&sCXJ4ya)irT)agFh?ge7eBlay~xD;ppsl-9m+p^TpO_eV7(> z?~q|=_a3Gt^)JhMMMMqc`Wv>(K9o4pr`vU|{g%RF@vpD%aDQEL^W`JnD-$x`?F_xL z?DY=GSxFxzPF~TxV1^|-lkH=x-0JA_H$8dsMIARS)Z@RErO)cbo}g{d45VohK3^9XV_YKBp-`LtC>$+ z`fvTKL)SJ;>QR5gkyzp%`dY9d*5E`v(}ujuJ^`1xPSu@xRI~eGYs-wlA3;5r=N!m0 zJNMfEb+bZJVNw3Iw70?8Go8xYr_am!zr`i%S6!S};c>CZm$A;fZFKZRzet@fzNM%1 zUphwatE$JE{->uGR~yuLSyPg}pGHF{*zQ~mwk2zyvXC5^&=B-NkoB#N9 zKzXc2`Y)N?*Tonf^Y*;|>O55}Rnw$&bN=ZaY~P$yZNj3IA93&3t%%;%CeSd?AaB3F zV(*?avO4aIj&Bc@pToz#)XXr_UFTqksmlD8O&?a`VSb8_GaFI>JUc(HPKAoKETKV~0E zzbNFjCv@3|unm@a!4rz@-E<45UuN6r%rE$=&hvf1lhvy={-3En9~|HwR%P;4yCN{* zcj%PW9JTu=mU1xO`TXUW;nJY9-+!;jS*W?!x8cL9IHjsfE83X?m8Y=o6Wz6kf9fym z$@6kqGakiVReRHCkvG}tNoAqe&EOWE2XmeL=lgv)X~OevYe>o9>iKwwyLs(dL=@#`<^9o4DfT zXU~2Wo&V@rqx3CvSgJ zXS2+A>4T`pY5Zc}gvEK2-rwJ>FTFYK}0jMnpTJ(+fsEu zcb3%A1I^lZ>zsZ5_C~SwzckHU7iW4qL_1yW@-5{_T=F)b^qxB;zxlW!bKCUfH=A~4 zajvabVsSrT&bcsNERpZrTFo-wW72suwp1ycKAm9~xuvAwmAuY|>F*U^baF8_YCSv= zv%u=q8g7d(2}ySaAAjAYeeOyAQ~ph_63!mgnfof!<*B>xYxXlWljjsIo__bE(18s` zEur78ZAB+o?G!YWuYLMx-^NGo6;pE_X>u<0|E6|-Y5D!fahG@eTe7!Tu*_(Zn*8|- zx0Egj9eux;BPRQXP}Z-wSSiM1xvxELT-@?ePD_U6`_lEEE`_%iSl2pS6UezacVe(~ z#<~M%e6O{J`%aDPj`o&%_}(Dja+O8FJl1YQk6Fu@xhAfk&D>tHnr~^Pgwamzxq3wp zE_IacU&`~*w@xY5f5&m7q9rHtLbg|C*jp)wt20+MH-@sPFJ=+1HUD)mIB{n0?7pJz z8-)vZFPqTR9@p8==W5e`c7x9B?&IZ6-8v-}9{%(1224>jx#_&9_`OipLTA0j?^mWe zvu9TPE=hTz#QF36#pFXOd+b=>JomYFGsM8T%~?m~H^Pp`S&sVciHQ|(<6 zZ`nOgW1%3P_mA~G7jEm{!gs(v>h=FedrOvY-BJAY6XWu4Y(J;FPpQ|Lx1@02(Mci2 zrku~;C2q{y5FgL2>v+LwqE*X-!^{;elV_i+Jk#;QMs}Uq%V?`t+x1@R)W6o=*Q5Ak z^2S&F3xD)!9KY7atY~0Z=&8G2f5YSJNuL88Y_^L!_urbu)FQbot0&pEd{KnU@&D8I zPn^|!RqZ>!!JRygv*iY_mb^_{{C{teaq9IQ8y3k5=zB7}xZXW!#a`|ZmDY(`#phLD z2?{)yY!qsdi{)%-iTeC+Uh+vd6}^Xkzt=5MTiDmZ`9$hAck|=mw%?QU=L;;2O3Dv4 z*}j!8{_q!cS6+%2p6@s=^x1melQlcol>X~2O}X4Dr{Ct-Vl+u$-(KSdo767qeChms=_1#J z%ZAY{r^-wtE+n`cv^|U7^_KZJ+wbQQzwbYpf2QvE#M5C?jwdcYzvwK-y{Y-H`Tq0m zbFZJTYRd9Vw*GH*#Ha3yb_nZ|H;4pOCn_zH*Dor?=cOTd(-n_$qE<8mg&#yxL)lx^~t;1 zwPrH=yIWtRo6~mqzj^a*9g~dwO7+!OKRsZ#ih63~wnyQm^(XCZD$^#LJ8ux(vf2B` zX{B_}j(-;om2P_(w$weVm|%3j=e#mO!S>|}zABp?GJd;`niuG1FfLuS($)KQ!#b|dm;b5Mx_Ym%^`BJV(E2PR z_-BS|;pZiXdcXD^xG!+F^6SI5KK@s#6pG#ki0fIo%CKy#>G-}XS@54$Y` z0iVuk^hQ3J7`pektM|^+h1X{$TF&3kA?zS%x;2ZVRK@fOT!ml3cI`A zFFB08lU3-8C0BYnGn;kspUP7P3@zI8)VJyMJjn|=6JApND#1LFrSAIFs?+A(CwxlS z&S)*`O1NHpRA7Io=K4MQA5HC3h2N$Kznz|SeVc~n-CM8DWo#;oUOS;t_vkJO@h$6L zJV~t+y6gP;a8K~*lGNOjCZSZWWeXD`w0T z^P0D3ll^t>7uSEUdK7kI`h|O@zLxg$THDKh{F`uIeq~QIL+9Tq`iz>VUl-i+U3K<( zI_Foe+iOhcOkQXCX1=?{Hlb|$lFOcNqr1c-E5my2GiQM+2sA^#U`6dzI}p?OE;Z+*(bPDcZbQ! z_R@v#48D5)^A+PrvV0;HvFD(a`5o;vzn6=8<&Q2tJ}1*?lP!0s(_1FZ@H&$Z0`CHL zsNCt9=-Vpakn33V_eP7{HMYZ23q3x*+^IK>ouy4Jz`#Yd+5Y9xOFox@umT`Syct5&_EcH`my1ZHZO> z`9Vr5?)IAAV{C@TZs&~?yZ+=p-BPk6@TY@={8T&p84R`aDo={0+<4QU709eS^XJv3 zi7SqsR!w~%GV$u7*?+WNvs!HvidN=vYs%1f%?MR+RH8Zc4+CTTFH&`etxiB zdrr8@_il2Y|uvViaf3>uBm;WWcgvcXVRX<-?8pW)=pYh6DXrqgoL&Dl!zoK53 zZ#9eWJUYqe9m_@SJ%09m#W5u>+@_}-xu@25@yy=^S8dB0cBekOt|a-dKm2q5p2qX# zcJnUJsW}}o@9tU6t4DWEZsgL_>atd^wO#*A<)oDNy|P1zs^;c=p4qGi&vd17`4%1G z`L8yychlLtLsF8(eKX_u;$OHsRq;COJzXkLT(fb}=Tu%fu_L?E&MhcRd6Hui<(IIF zd5!tU^hcNHuWb5$y~vpFzus}(mHXR8?q;OgCN${P>?&M0RZ2)kbctZDZ`Ok+>l1kl zOfAI=-u}B)%NXP#s5&{i{tWAZ51czq{Ds!BD0=L!IvKq)@x%|~>pP!5JF*}!M`F$5 zY2Kzgl-F1Nk;>J-_~y;6EobMkimh&(w~5u`@SbmKYt9$T-(ub&>azIOuRA8%);UQ( zXC_x%WVpH^K=AJS#4Qi_g8U!edfpbmx_ja0s{t>6T&O!EvTEfN(fb;|wx}Tr( z6Qf%5{9_w#=lw5{&*m}d=3L;;u+#X-5`}vcZ->W;?PLBenlLw@$Y}eT{x}zgy0x+C zw=YQE2%lGxf6E|Lz2jo>=9hQ%ABoF0ILl1h**gBiDWTod?r>Hf_42|G6^ z&zi007dmxv-VDLBg{p49w1Pk1h`ToR>5j&?^ES_L;NQb``C7Drzx0px$D2$}Eq6Np zwd;r1)7PfO3lbFVCp==Fwd41d?LiBV%#wZ;%%!LEc~^$dj8@I``~vQ6OP!ywCfF{Y zzlX&>PtGRV_F&58Et@U{>plzDJJEUW)A{q)XBMWcU;ADyr7Ps1UUJt7=M|UFZi@Af zJ~G8h(ed&0k_Gv9+-kykU)BZ}FfQKvwD#WaiL%SBEf}OXE^9pPBBRc;=b!YJs+i_O zyr)AI&wlzp@0Ca4S@pgBS>ft^S7*PSH0kKvpshuxBTKojobh`r^s@ZP-L*fyte@Ih ze(&TYr&r!=)zg<1SWW4$NU5`p^t*d-cOp0Eap9G#jDCM%no{EHR=!e7o!Lvv{g-8Z z_Fd0M)^~K-9-Lx~wQn^zk;?t)R7r>;W610OHP5c^ZJDR`z_Y7*zWkmwi~jAjGQP+B zy}Ia%I+XO&_f6 zo}k({LoDv6HpjLb?A)I>`aRmu@UL92Iy9NzqAzDb`*+3}i%u~vxZ3KK82ML$-}$?+ zs@~a&kEf@J=U!Phw>9^27(=#Oylo`UiY@X{j>7J}Icb@mx99&!y8LR5YsNv(6}3*4 zv*sPw&r;#Zyz{btM)y^@UmqA#4)c8K==y3YWVl$Bz5HnWqS*e>r*@8)!_}7a>@8G~ zxPCtLlu!TuzjJ>a5N}d0E!!(|_m9Agr!QnASVMy^ZDaR%{h{Q+(y4C0cf8#_>1hkM z3){}^B~IUNZ+Xl(y=K)Sp7k#u9+zLaGSheW&Sgtysjdy3QuX)k^X@H5JX*20J_OV( zoyGFlIOd3+-sL_knfN-t))Vv8YHSuHUbt%CEVy;n{Z{kG)zPf`?wLC-ONo@RGu+qJ z-It|3ZI0v1zkjwYU3B!$`XgR%zxA=Mtuo5jnOfPUy<1a%b689K^koqhA*;S-d4|4r zb-Y{tf^)4|$vOA4p{)}hb~pO4rkmf+71F);hIffc;7`U5wprm3+SM*AuAT2O({>0bT^r#=Nk`iyF%$!&m=2Tg}Ix{ZA z{X5&wxsk^NUQ7>&aq&3Bbi1d+s5wn=W6?B@ZI2w%e0R`Y+d{M?Gfqrnk9kx^2+v#J8ogOe0GBM zf_wP+g1D;b?OWAXtFITd_{45!dAa87*>};?PevIO8F`-KuTs+07818iY-su|zRF{B zRKnADR^0Xf-?7@=e_(QW)ycU#FV212pnX~UW*QPWz{9+8zxyyC2|9Wsyx3|iLZz-$2?^<>gtz_T+BJ=K< zpd&S%p(?G5tOdoY=5IGQ=ss`T(rv0d|BUc_X7_0;KP383?f>!Z-1DBw{FO;Q4Q}6m ztFoEiJH9jO{F#H&ISMzHDR1ESU)7JfFs>QUYgh4>4Lj;p`S zRXsI3XY!kvdz>GoMV|89oU8V~B)0td_W7?)M!$LDbucMjXZpOJX-NUkdwn6cV7jnX19ldKgA52y&Zk%)ce39_Q%p<`^wC`}qYz`4Sc5P=@Wo@4K&39p|wwO*{ z%2K#)IZK}B?zP<0-Zvp6yobK=Xbb5w@t=j*0EG{84 zZk<14Fgf-4V&#RmimfjA39W8_ktrWDar@(qx+M>~rb)c~_}t31_}NpNBcFB|?EjUv z)W@!FTb=mqcZ(D>oSwNCpYzTCz9!LTeZp(VP(kZ(W!@56p_46O8`vY92 zXlnhnx?`19_y1HT^Y(2?_aCtCYkH#kpVROO+nI|KjE>ve{Vxrk@%F}3i-WThsujAN z*gBY0TAJQO>gFGDz52p#5BKv6pI2?Uw7paNm$7VN|3&NK)qO2Ii_X|ATQsM*Tm5Xr z{we%To=1N?j*g&dG13Eh7C)S85hl2x!K{7W9a(c_bwjqwmDh5De=vC zD0%6W`M#Xcn>CV#qWf0epBU%E+3RFR#@Z6~c- zj<@*dZ@c(&>%!ENH+p|$bmse<+nE{n;Zzr&<`O?^UW2@M&*!jpxn}C+o0!a9rV zwKrVJwQdS}bCBa(xq46bq0cO}6GP@+Trm097Nx|^`LoVXa+8aBx^VJCCXPyvs@aFb zdncGaO}umZNt__xvKr$xV!yo}-Zh!bI3;Q-54)Em$En{M`7UdTfYX|l zPZVE2Elj969d&v}nUrV8%C`>+-#$;jr((X=Vrzku@Wxrjhd%x(vMQXl@rC3YFEu5&eK&tvD--nu3=)TR9rV{_?8i7ow?cbzOK+cw|l_{4K2ORK|g zv9N@6uDyNMY?;la+BvAQxv!HZIMSMcgQXb}muRmYY{(1QFDTk?dyp6YA30_&E zVi{1otYy)C-lBd(U7_R5vp>c9Oo_fREnAUMd+IdVmdP9W#k>?cPwgzp`h9+1R_FBj z%MvGxdp)}7wL>RZcIDLLQ-4jZR`%KUsP_G;b>V-$JuzT0F`mM@dpS=!Z_VSmy>Tm5 zW*YqUH%QhE=k1mfSPCNty0&Mu94D$|WzW$$dToo~F>Xxqkb2cMm3sVV#u+2+0c z*7t8t-@ViB3hgm^bN$`+nzR|U!GDfyTIsI;UT&7qhKqeua*}RbEM`&f?q0v{(v2-< zM=tHKO`0yqTrW1)TlCwZIK|6P>JOc>p1EF2r%XsMi+iGx#mt5naW3m6y+v8hufCiM zJYU?f|7~YY=-s~J`S+PPgnl~xSdv>(%i5W>=CRxK7e_nI-@g85WR|fm{Ha{Xv*Z)g z+&(|>+~LZ4<$Cb7aFK-uZd_kBdp+H}O#6)2nrC-@KGo~6E-kI8nsLN6+0USKzK71b zBRZFF++ay&KbgI3sa(;Y{q=U?E>GXFN$$I;aX|7IgII63cPr=gslAW(A8xQT`xddP zu`g(|*Sq-3UMrn+4m=gwc3@hs#hKzcwY`}yW8#|y74y;+cI&tDNvJ9=Xg!`<_3p}P zb0Nm-X(H0gD`&1cefMFU{;8d}BVH_eIZ;C_?!dk!9JAFOj}-)^oS1Shu5RDk?>8O@ zuQ1_kz9r6Mt@;1Vv7{;f1t#l$912o!G}?Cb_=4Z+!Allx^h%pxcRM!4ZC4eeae0!! z>gB(`dK*iXPA>eo#o*1KohL2?d9{dyTx~kRxBA1ni?{CiUD*D5<{P8ZYp&cn?**qg zU8yiWer22PlJ8~*WgkA+W$J6EDf%iqYEyN^{W>H2b59@tws1OFC4V=>Znt1v5eJ{s zG@pdzbk&3D@6Toi?3Y}>;+mvNE{kTq_VMj$PMTTY7VrLFDz??y(X;yf{Md~F^LI34 zq;##n?y@E+QJndOFKhO;l?*}q)IS}v`d8oO=RehN_o1Zx@AGch>x7n^sIFt{vN=8{ zCsk<5p((A4)Fdjda$H?IBs_PQN^8#P8A76`zyPwNN#)FfPB- zz4L2uND^b*l>b*6pYo;5zJH=bX_x11?|J1XRraU9*thjqYgFA@w^wWhcWgr$HKNRV zjw&)aZ~k(!R(5MvWmZaRhvla$o0i{>6;%5X%H}uCC}{V@T{~6m);>GP!@jQ8%0R;K z`NNLZ1z!1i94W=iHD+@KtYEBXYBt-H$H>bUo#Y~=ykXV4Ke8T`-!k5GhO<;e3zR)e z-TJ^kJgrXo5%Z-pOX3%#)#NV^&~?1H#QUK6*&LhlMxl~TLHn;>Zs2CB@H3nFxPoWj zbk_dg57`%nrixtrQK55V*@v)qZM)LNUq4u4B39rynR=wiF(~#u(5fW^x>UP z_lK-pW#KKc`sJAk=8vT}&XX>6jr_KRNwD|9{pDgu7n^*!*PqAM%bM2wz*v9NYUjG0 zxn&Hk3m1QNSa7z&WOD_3h@PhL>aqf9zMsW;EkA?IG#R#p)Su-jI<|<%=GCR5{}bEw zMY!j#ymk20NxT2cRd|p2Dx5vKi=kH0h(WeOqQhpN(Y(h=%4d1|7yWKHax#%2CaqhE zTXN2sRIZI)CE1%@Kz(Hchv=tFHJ{S=)%cLYUhj^WR5{Kb3x0=O0~t=81k{@$^Y9aYrY;YR4!%ioG{J2I`s6fHN28-H`sb~Ix5yHUsIT;IU!~HwWJER zw^x2<+?+4saN6a~=|5ept8I-dcUGL?KJ|Fc%DD`4Id^3gR~7$1#Zl<+i9y-S?drUD zIr=6OGXu}K>s;Zgoqkw?f2!jx#|IN$%)elGfA!%>K?{#{Y^&fuZZ^S<+kJAvp+|m3- zk2vn1QN4u8Kh*Y{_4W79<65RaKYLj74aYjiM^PK|W;pNIb;kEi;3Bu`*^6WX-k(#} zs@T4Ba*p!V`7w?Qib_r#`%pgTYkBpGy1H_e2XXs#B`!=1@oA|~=~lRLSnKBXi{+tp zi{|Xgn(%p}a^VRLso9J7E?GI}66?fc3aRtmk}HF>dpG1u6);u>ahbG#+3l#c&$C}^ zCTFSQ4&&O8>S^hP(>NRBBkl!gCB8bt_gbso^;Ad6)NJu%mA#DTC+&(k-K3uJ>b3f= zjWbW`?JL`+!`hqncIEriMs*p-)|5V9|8?fPS+|4SpNsDL8#3Y2*0SEhfGyh(iJZua zzS_@hz0T#~Kd0iDeP3R!UH0Vi8=0lwtG((ExY#ImFTAyZd-?o?ElZ*ndCs}JKv{cF z=k}{k~hUvt!fjEX~2 zF$JBSg0Zq2mu-yN=P9xL&#!L*vMLoi7J@g;#dh!7xhC*)=Oy-p=*7j?H*C0b?Onv{ z#qsTddeLue)wNyi_Z3wg&nw9fvNf7N?aI1MOOj^J4a=3dy!dnV&ELn58voe+qHuw= zuGWgj6PIlMUwJr$Tg$&L;Mb`S^6|g&xV;(nZDxBrXR`HUT~+lUw+@rJ;p!h;8ozh= zMDI)c``20XYnUqqUo)x&3!@OX!`rLE7Em>C_m}2zp@e(fX4Tt;o zeD7ZVtom~3^WMkDSU)fQv2Eu~ktiGCSpvBYlFp~|*H!Sjgt#jQFMo3V!M8N^S-gJN zKX|C`66E1#__J&+Lkm0qJGQ$uw|;K!Se<*bI&Q)rseG5*Y0G8@M9paplRTJ_c-H;C zO4&)r)iF1;^eWVvGhtOVO#$^~+F4fuYPCgv@yM=8mvFAvGp*)2F!`EbMCOIIJ1l(* zdGq+VPj%hS_;@uy{M7D?`97S^LZ72_?wj~1EM_?(+a{NAp;7x;EQ!!ntU*u7GA5$p_L(?1cpp&p+H%q&?OY9`fsSx)aTU|d z-)?&Z{|iJ2S-s!4%vgQp_mu(e-0vPXGZoGJBDCXep7*4GG8!s79VT4V&aqYrO`Dl? z?tJFc$9wAvt~Io6ILzp>u_D= zy?xn{Gh(@KPh>g&MXnutZf8C4<mk7hzn`xx70o_J519bRr( zQQSF;FZDI2!*|B=xf>R5wmMy-TX{9*jKdsXd+)+)%;#<>d+smwXxXEEkooT{p>Kt1 z%Oo1!?eI+TP}<#6HhJFF2flfFrOUnUGcx=-{pAFMO1H(TbY(VFFO-t2qyi%%z8oz^K=u0Ewd`S&xPDDLg|jxKIiXL|fM zedFWC!(y3o=^mU@Dp%_s6}_l8*=8Tlo;sE5rY+K8-*z>xJaW4|WJ?HFg~|-$wse*Q z)7@EI)|yP(>vlz@;(~DQo4Cz8?)02^sPgeY$BD?AqJ@)Bzk9eu;zZ)_z3YAM{#zIL zs%_5F`mcvpAHCN1Wrx0y0~`SMz;7YTUO8K2*`b<_0iZM)n2+mn(XTzMkRDY*Cl zo((=z)T~tXCe9O?Z7F=R>srnHNgV!~iYhx7{jO&JJkwWCuyGu>9A_MNMW|qOIWDV6 zpU_?r?xA{P`Chr%O;^_5-N|CS@d|Hj#Z{lk(9GoDudCQK=5I)kA>{J45T;X&d5@(q0bt+|u7oy^d>_f2K$#szBJp)7?(c@oF{ zo>(>O7;lVIb=>sr*{9fd>OFhD1axGj1np4>d7N<5dyn1E{JV4J{JP*~dqmKcdHc)# z&yMC@oPWM)Qhdbq0P(y_vnQ7)$S0>~?ojvmk~dA+Q6^}&rm(Ji!Z{y~?dz6Y6>TbM zv$ik$)%SnXhHse;5t~{Hm>N$^m7gSCrEIOeeD8#+mx%@pWgRkRrGF-Ke|q>S>_9@; zWR9Kds;`PfFI<1inA zantPw?i(_0wD>(Vw{Uh$k@ECD&^@KX;8E`X$qy$U-I6VMYleK|ro`++PZEBAeS9!X zp&*pAy=A|F(faw;o7>FxK2G~4+?TanJB-<>A}d2fP^hBpp{-Pshxyh;LEe)N{93rw zi%(QB_shT9FJH12O<8CvYvG#RXW?DD-Z?B+;C{bZ-v>>pV{&B+&OPYNkW)PLZ_9@d z^O~Y2t*p#cvOJYs{OZdEyEf-nf9zAb{!IS(`saa_v*hPjT>fM7afhoXzh_!Ai%~~_ z!ue0S8>;#f-J{PdeEXKUSxdQWf2JMp4aw66(TXp{J^e2w_ByvFY+e^A*Eey-n?q5I zTQoK;@PAqQRI;~GW?}0l1)Z-)3N}l8Kj6&5eXYsn`DVYWCmSa$I_A_pe;3Z|+hy@-@7!x*-!3VCH_lr9WU<156Hy=k7#T+ODvFsiy)*DX zG1Yr_Vq?aN$ER1VkFn2mVP4p9$Y<;I&XsYIr%uFhFml~EzxVrpxry%Y=XRGKR@Inl zveo}%)AebOd+cX!IquEg)OcpwJjEx)ZmdQAfwxv(_^itG;B=%@X`ry`l1CpS+CP6d zwZdrf+spfn4;nNj`u^fq(fG{sx6SQDqL^;c%Q+sVjT%8-}%7h*&2% z@mcb9NuQILl{ohRkMs)$8?{G|&hCi{KEHj1(Y{)z9dmlD^`(v9gy@yXZfVPrQ~RaB zZnyom<*)LJ#nFfLbB;<^2L_dQZhXhRuI%+{mK$adI@otbw8rVz%t&_rFz++p+ybG@ zn`Qae)-W9t^ND)A%;2j?zGe%1ws-LEJI#fB|J}puvUNJnZzopZ!HMPfJc2(*w*I2C=ks7aOe-(%n{w_JC z<<~iZx@9xJ*uT5Yuw-p^r?=tS*{Uyg{@n6*htl-ETaJa7UOcR?{5317uxZCu<4-C- zk~Za+sDF2ywR4KHk^H&dMqj6hyPq<)EB&uwermHw^Sj(%CP8_IsMEA^JQ+vjb^o-ZKwoH`{-L%rKCgIMeYLBX~M=qRx|3Q6E+3x=a7ax3_ zS+gJ~?&#Oz)lJ(r&D_0mzyGs?$Io!SR92Mz=G^7?a$(Wsf6+I7vP898tCifmb@uY1 zGq-n#u3P?YuOCC9;Ts=zx%ty4C}x$WE}8k~68}txxHmt74rr|PKP|Lu70q}t?;+gVc(zBO=OLzRYn7ZbI zq1nr|@zV<%ikGczG0W~u(Ej@EPo74`|K(dI@3|Svo;UN=!uY5UoXPtuw|}uJZZ&mz1mvh|tduo>H5%%Vr`gIq-27PZl zz4E5g>b-(ShDWPx`n!K86!zTSn!Wt#osiR8r!)x|FPvYvbe`+h=a)YedRs5@Qc_ZD zb=UgfQYXYavrN9#c$fAH;pu!QicDW7lv*yX+PVA6=09AqxBtv@cm5$UrRBE^@01-T z%d_{{Sq5$YAhCDW(U&}%PPOz_dUZJ+@l@Pc|K#KUw-eT737dZt7Y>NH>%MMs@J6oi zSJ^EWu8BsR<9O<@PW%MJfk_>@N1Q??+`g{z^MKZ+{PkU8Kco*l()}LcRXtm9T@Gu- zi3@&z@=vW`ag(|I^l|b2wQ^SjR&I{y%b|zutVx z?bzEscb04odOPKZi-3{`gXIi{I0J9gDlw zO~MW*mQ|F@>q}x=H8n3c&f=#6msfo8JcgeU@_FY&V`e1j`JCUXTQ<%9Pu+RpLqCsc zi(i@Ten$VMzx$%UC7;jywSHl=Ztb7j%PwfuO09e9q!7$nwp@6ZhtI(iDfg!-uiLYQ zb&Jm4<;6Po&nx22PVnu^$zyx$!nuU2_v6+6dnw%O{{HS`KkNSNbxz}{+a}yEjE|ox zD_p0>^5((Smx{)>+}6Zox%A8r6RVu;6{@`Ey!NC^KAXJ67P;uzy_?8!PVGqq_xE3s zyX|>xzRo%e8UuZl3s>^1pjS zaF@@S9W{M1?pHb7kMCZmvf{?Ah6~NN4k>OdWK8se#*(&0HmDyHho>8|?Jgc-~3-{v9=^B&kWrTCC3Qn7MO-OOyWV@|# z`;B*0xAQzY;i32CtAN50*{ODx4>ab!JK4GS$xgmW3+K8fO;zo(x7?Bc?tl*;hpO%3 zNl&gO&APhzQi(%dl2Y?{B!-9-^U_v{s_2Zu*mvsqs^wt zS)X@vZE9aHd3mAR98<1&vsdtOXT@no+)92m?HYgRobv%2k3F%<-SdaN^hAzW$*vmL zF!myOU7JkH#^jYPMxUJA-~27DDM;J2;d}m)z`8@pP2O*KqqgRD#r{t7{PN-p!%fbW zp;M1`CS0v{=J=GGDzD*jGIr(*fxp>mky?CbE`Kmdi#GYz^Si0~*c+3;8Z`~QDOsmK z6${RuaP0aW^+~1cCgz{gRQT6k_FArTxz7CkpO!8@_)~Gsw)A+>sPxZC43-inJ}sRo zt$SMS$k!8!7856xO^dw7vP0#pZ%E~>Me7@1gj%F$?RxwFRMZcVT~(rK-z2Pcf<6DmRuY&Knbyg$wGz?tj_V-~gWLo3e~9$yu=z%hxDFXq-5sqy|s_OTc)>cv-|x0YN2+;w{S17OTJbsfBS4cw8?Mpj3)nx z9a{Ul0;W#ix*(?TeC(RG z;;-b!pD`02N0?tundtU##RMnCZEa50TjquQ+3-+j$@_oL_6JCu=xk25`z%q+C|z!I zqKS9y5AW@~L5=q}x-9N`HC?=QL!-&n{lYr&C(K%>bOrSr+b6W;mA{*M;D>~XPRszRw@Y*U{b@?W8EMoW~{2|+K01TL9?Vb${wbkl=2Zz(uhQ`XY{!dF;YDo1XwQ~1<< zOXObo^s&7V-n<|s++qIy2PL}As==F%uTsih{vfEr;Mp!2$&1&jpU3Phea`tbc<zDvt)jC2>9D+78-8M|lW!#VsTDRZ3mu|n$JQn7NnM)k^VVqf`*q@X&98pr_14jU z7cg(x<1;g4kA=DI`MH*8D|xJ-R|Unm*Z)OOVFy_ugW*TjCkp68g|r;`^-Iq1o>YI4`)X|8S2yRQpT(bDtFZyOS~xV>}L= zO1ghs#B-{LmhZFIK8kDqw|t25Ialz;t#)ziti3A}ZFes^oj2Qby6w?Nnama<`&{Om z?q%_eITca-e^*~2#}%>cM$_fit1H*GEqlm(pUKF_eL~Vr+trV zwz3Pm`DRn5?{`rHW>%x1u!kGxEx%##XkpG-hYihwg#{s6I$_fceY47iy0R`fvn%Yq__CNehlB5ZtXuR~dn(_({v7$vYR2eq zSLznuczY&AYVn#2jmw{LORf7W?7Jm4q_xmE{mGt9va<7B5<8fGe|K-m3Fd9rkvwf_ zly-mX?8_gdvJd{hBtFOf?^!PkE$>bl#iyEmGnc=AEi#ww)P<98%*+^m>~q*+FL_?@ z?Bnv6YJHv)ms>Vy*H*X>U)iz%8XlFazFi62jyI@KizBb>y$&{ z>!pkSm|V`@DD!g(@1ZX}Q$-z@@=vX{dHh#1#?bc6q$8&{3&nnp_6wIYm73+4KO;o0 z`%DE}jKKNS3D;!)X`GDk>z$Ui{wHroN(j>yj`f@Ny9X_c&tvyo8Z@a!@2T(7Fe`r6 zJBC}!qV9(sGD^_tHGQ}|Porg1lkEK2R*~*Z^M3w&{jgZQyL4l@(9-TrvsVS`@QMB1 z#ruaVlugLDFlJZJKOMgnM_)KB&^g5Aq2Vw?eru_A^UD=Hf_C3C_rE)*QS*4-wtqG* z8cF3J&uG0C4a>@(+q+bHQQ?PEvLXAw2M7B{`7$XcCmY$%=8;qO4cWcj!7e0mU2lfx6zBQUdw7z*y!^?r{&@^%w`5`?%h%M2e7;7zLVO+^x&Jn% z=)?Y_>sP!lS|wP$nJ2NX=~i?2KN&&WOUVnf*Iabl>KfYkyh(9Qc~#-&*NiV~UnJ{k zZ+OulnAF3d#C>&zUD%3g?|5I%(VMM1YfJsryrT!7%{~3ou&Frp_a%uB2lg)uO4*`>H?N5luwgj+eYJF_BlnZO4E54dHjUVv)Az#y|1F!hIZ3*6R($$1->&slAy1#q zdM8wV+3vQwW;w?k{Q!q1&kM(P>)KD>;O-K$!1{N7^0GAh7aNWizpOER`&0TK>*n)~ zC#T=_R0zKmUjFTnl#kAmNlYyJxN0=){?0lg(B&!5=qS6x)vf+z_s0i~K1X*~6!B`f zFPvag#C~J;ZI6P|*BZ0cH8)#YEU1`NE9m?G=Bcm^oQBOtyX#NhmRou{rcmQUuXs~N z4%Y_edjSGImR;ep*I#Vd9kI=ScgX=u9wXsbXJ0?{abDJ4m>(m5?A)@F-LJpqw#;}Q zbU9TamP_90_?H*iW>XkKw}%CNXvks%*5%KQ%saArWVGW&{zk_BJ&^QZ=Y~^4MLH*f)Fldhl5;rz9M-G29?2DUcBw!BdAq(r1OvT;7#@_~52HjbCq8R!92x^9i`K+tmqchrcJ-uQyWOIx<>m~l;H!Tci; zOP&gyH*d6Om~m@k*HWRgf#J_zIJD0`;(6j}c;Wd|>(rhd$q=(-E)kue!0Z<^mFL*5 zcV_!~pJXs)$v@vX?}(aXt^AF+_>6#AKb$HXFS{+s(9zIrUw87$_tSC0hR2-#wB(n) zyD(#$0rz&+1OI#jp9%B7vY5I^(X?!K&+?j!t8JT}_IztPc#}i^-g|$w_HQZ|?pfE* zT{=%OK>wJB74zL3O^chJok_oPKU%+XR@w4qs)G3PO;`TzF*#!Oa=P~Yg>q)aTr>BZ zy{-74v~*2+ugAtjZrAMS#W4qO-b;?%vv^N#_m_fpN9OnUrE2CiwcptEHo4(+P|^&~ zWbTVw-R(K#Z>7#VY^2>%SvzOVvV7<2J92Ic;)W7|u^Xn(7yLK-Xvr>H8{L5a8rdbh z4O^dm+w-q|+p%MpldjFN*jMs%BE#X{2QwPQ*HpgO_737>@hjLESEgQi@n4wc#MC88 zrLv#@uTA#;^)Y(5xvgR=w7M{?bF{e_#bGN)Y6Vp5=+16`?f}1u+H-)TA+o}71 z+uJ+2WiQ-Q8O#3tJip_77w>K+(dY)NcR8On-Os%H^81aV1hdWCx7o+M>?uj~UR|^L z*t3kD>#q;(6~Fvrt;SOY?WwH3dVyy?cqJS)Jg7Ni?n;k_FpZ+a9*Q%9k}lojKRIK% z$3F>!8_^#x@yqj0R=nYUo;k-t)K>QD)JrSpt=y)4LULQEo|^v|y<6=mYmzvYCN<7m z6Ik83_DP6n@yXb#6BD<+|Zia8)r} zpS-uNz_YeCjCpTkr&n-)hs&omO{!NpcBtn)KmEH*a7RPSj_Y~y#zhMDwn{HAJJnUW zG*`S2ZP;LUeqVR+KYLx*+aKQUl3=#ceYt+}@g?8QKa^yh|6zRkaO9e(lRT>@1h^gB zsAqdS&^Kzfo8ENy?L5li+a7;uNuDlYwZ_`P)#fc9xOYOUU9zV0} z_pw)R)2^g<&d%7Ka?{DLIGv}Mzo?^7J<~^a%Cp#S+ir3FdOeHj@7@;A`!e&yzXwjA z{_SAo%OCviOVpA|XU4aN3O_mQCjb7@Ux~jO56{lIxjw;6rRCt=)Ekp}PCnm%Ozg$I z4@Q$6|7`fQiTBvKxA7ky=|xz(_jx$5Yp}X}vt|D-lXd5}PO`1NYG-2m zaGU3=&67_oJ=|TB+L8Jq?DUjROqb8v9OSunFZ|E)Jy9I|jJNk+da&}x#T&j4AKY7g zrM)I>>8+pnY$s-4XWuhF@Q7>CG=}#jSJJEHQ}+vZ)w_H8^UHjwe)Z`f-?w+MK`smv zP3Hc5P}0`i^E!W}dD0}+8P|%}ZZtnExKu2AuhFmf)6BCYHIi&s6bFk6t6ea=^dZK1 zjq)|dYQeCLKEZm6;->x7nWwXL>o%$O$ESk+J2IJ1Jne9IO^5H>j__Tlbn6utUv1j= z@nvmOndY*;g-==B=DpIHmpglMUdTP(qotqOuV?rdPFtI*Z~ki2wTY@s)zazx|CQ$c zuzkx}7vaiZxTxK5{Wp=~k5!g0Z1=2naoV<;;c3C<5zUU}>K!w*w=Q~u7VJ-ju=aBteW=KjVv9_)*|Pd=OQUF@0hnxHxR z4wfvJe>-=Q;3mKKniEo-q-=g>xJ!7N75>vuTlwKy>W{Zq)>#Ji%$cK@$~bLDqD%Jl z?Nc&qoflNe&dTz6n46lLd}>4F+34JNdDjhZuTeYlWL>7wY#|;Ujo?g! zFLFly65o$qe}Cxm|NT}QUM{r!q}3mB`r};dmx4Pa<=OY2o2n;}c31Fbx^0_SrJ&z90u-|Jdou&dd7-4Slnt>(-3x;LK4 z@66^b%fFYBcJH#y7rRZhQ@4C5{r2Bd^*L9<*?_7xX_;^<1Zn=Ga`n6TdVCI^< zgU|i^s-zd2m|1h|Vw5iXnYTNLN92)&RawD9Px*tfQ)-qkxqBnY^Y)DCJEjOd>JvP> z|DNE<8#RSW3qRT13Z1qp?)h@H{#@Nd(eJ)HJ$T}{f6+YQDiuZDqAlX#^Rk+r&M_^V zv2bDH#{{`NFa7<&Wvytjd?5Eh$3NVmx8J;L+x1FKpQT>9yms!jGylJe)-dod zeV@KXt0PD1Qw(#7=7M+f-}by)E9~B*d-<~O(oaVuhEC7>mpJnU-A^zF^HrB8Oq z*Zp38Q|gWR^!G8g4QK35buXFHrTzcUj7L`w&y&{pe#_+OAKr^50?KE$ou2XPQRlL) z88y#$a*T4F_XzA&x zM=#jiiqCaCxLZ(DUwpn$uJViK-LKy6UF+w}Be%Jn?e+Ps2i`qtx~g==`&Z8Ez)M#o zwzDeU{OeeCy@6q4!nLX2A5LX?)b+6~<>QCfHNOpZF}!Y^Ui{_3t=fC9f1N3xxyfbu zkvUR7ZLE}&-#_4En69<;%g-uRmKif0g#@;p(7937UEFU~8E|72Q>3ld3Ec~~V)edt z?s;-n)cVuq)*V}(YNQpi+?v|{b@9_(llm8%dVH^s)7>g%f2Drcgb2UJPu))zibt(G zcx$np)y|ayTNX~|{U2t$a_Jnco#z8$BT{#VWy!=(u(5d|`9Wj49`j$L9Mfftf`8i7 z9!mL!oo>9D&U{qa=!0%iR)cLj+0J{K2O}P5p;Rgtg6+0oriS`9yCEweA+qm!cJl{R->g)U51HLX}ElN5keRk6F`>XEXv_6=TxKXg$;P#~-Q(ri~ z4nOYWJ|&(hCBrCoS=H5f-KN*9aQ1{7V1-Ad?Z!VDSCaSDTk;?xm$++@>?^f9GJDUL-mIGG_9xdx<{}5`?=JP z&9-stwucglldHGN?_-iyZJDy=q2{KQv+aMj{z)#gs=L9-}-~gL|g+Dx5=>mT{-88(P5*fg08+7 z)1Eso7PnKLZgsIh!t|L{@}Fa!obP(PcKon8J=61~`)1ElkIlQp1eeTj`8j+0oBLCD zHSg2lz7Y~@=HR(uH}@{zC@+CVM%{}FC&QGIGTC@U7amQPT`KqOi<)fV-!}^{O8k4@ zS~`d2^8DC}^uP~``a>otJ4?KKe~EqVzIp66=GO&Vy#HwjOwj!K+0nPR>ylg+H?!mZ z<0fa!v%VD{>iv@b^C#<+lT7uS*Dbiq5@`6O%4(n99SNgQ<>{A~rBzucJlB84tMGtD z>}#KQwkgjdmydRzW}5Np@41y2@5wFwmC179sYF%j?zy6EnWo;vY zu$^|3Pp=AYd2N4Xv9s@)w`B=tNv<4o=eCLq#$>u^xQMTu;Iw|>$@Q%^_v{5!BJ6qP zZ2o>151V-}a^9M)HrG<;6gG*he8DmQ`_%^v8MbfR$7MS8a*-b6;&brGbdo~iw622;?{$p_YSm;Ul)(@e=xR$H@1`THrJS9O;}IZlLE zR7x7HpB9n6a-FiAUT(tQ zcE8=hlHu@oo=WTCSvMF%O`NA5dwjv@JNNR6nTw`JT=IF^qm*&XVMfef$L~xY7d*}w zc1&-bd28mr#&^krZkIfyZ!EiA_)qqPR@9+e#+%+|-go#E!8&`=_TE_vJRe_(KIHWH z*#A;bx7>TuLpDz?PpjwrCzQQ%^?yalzR+B4&F?Co&A5A`?>Uuy%`b%#cKqVaUwyb` zk^gU7{&#ndnXh#GFe@o2Onvv#{pS}*RCiY9xUp}|3bwf?zQ0~!nek)&qGq|B9p>JQ zk%6fbWKNlUT(GQKz_5S!tmUQMZj7ncihH>16uGv4oc-nCj4i8YFL-`u!vyySVS!&F z@?ZUY|5yC~Y3)^oH&02#@G!a@J1S%J^3`Pqodfz`raS(=?p{@8*e!20S@;u^q;fd- zUI&)P^6FkQPjsDqmayyF^lVOr^FawKK9;v#a$0sWD8B36?vuv3FJBw|YMdrHH$q%` z#kcEXbt=CT>z@C~b2+!Es(#;Ld6n1RCoOUV*3^EJbXU8cWT?1*lZyrCLZAEkbK1;a zXc!e6Ha3(RpV{VdUFuc!YH$1fH5(rGhR$LU2>sp_So>^=uYY*C%A5ms^IQX$-cZc@ zbpC`_me=aj{_9Vsz1et&>w&A(Y~hB3y$3Fw?9^76BFFEy>fj`%y(g@XA8r&4+kUk% z{?nbQm6InlD>|?`exCNUp~iE+;$ho*&lfJg=SG}TD4n}4LR)_S`77K_rzJbhthzS&24}M0JDW#Dh>Mucev$LydV$LVf617D^*8L-UCCKBbKQ539=GL} zHuP-gP1AlnIrhdj&ys$HL?N}4e;5r~7bGlx-Nm&auB+lM$D@f%i#aob+V5&@7UY^F z^`~r$dxt{(=8rm}%->$h{}Yxya&x!vq4l1V|9MF#CNO<2cpPK$koRX%Q6YC-o56RP zHu>)n=~A04gq6g%N!X3e)K+c*f4zli35sjUur)N-uxp- zENPq6s}8=vLo>BkKl(ApW{I=Uk^YdKasUzw)_*N4)H7Tb3(nFVK&fd`n=-r_8rql`Hb! zt-7G!l-##l^z)M-gGC!$7K*jEdh1V$>-_Wg{FK>QwZV4m{@d^TOh3(`qS)gb&dja& zENSYOh}N!d&j%1 zay`HQ+>O@{uiWtSZtCo#qMuvW>^{6Os@_fAU~X-1+Y8yhQzu+^-#$Uww&PgCIrh@* zwi7!{Y()9XU8nQLnwe#7ey%tfBw%paP z`ImUh)vK26q~C;EHo+N9XO6RnY=5?&vBt$*p0TQ;Is9Zonv6m8-dT4SeBO6p$)}bD zVOIOJVo$-GBV#fwcKGW1vbj0^j?j6_X)7ER+@{%8X4X_NMw*Y^pmbc*5) z5-a}abX1s?iy=sRrisFIf4hWx2On-u32$!sb@J}pnBMmNjW;L%X|al2#rQpK?(3O) z%Kd*2EPl3OW`MHsg(=A;cO-o0>?@dgYl>({lG-odCDXQFE*0OKE68}1o5hk#-G)6P ze%9^y>y6frgY^mxe_l5_o>a}Y_s^^2j|;aZ@m#JCx6DkfGrT(CWdGUM9q$_hB0X(i zc=WKX+wIuk#d_sjiSi2NbE_8fSMOnTaeuxc@}8n#dCF($E2sbTBvFZ8VC z@3qP1%Gcsn%+Z!#x%|MYom2BZTzU5Ud#=B zspxg9mPM<`d0jev@bS4Vd@OByLcM!_R~?E=%wE$T92hyFD|XuAv^V!9RT|eNhP$P5 zyYP1EEBP$hr*N-JVPB4Rqu{zAEaGru0$cNU4k)Mk4#K z6^6-N{rdGD%j}OOA2{`<+jH1fxqhhW-M#9uN7AL1qp9yX*7vzwD3@HSY`aED#rlTS zpJ#`DDwq9{51qI?!~NlUAA!IED*@qolW(5x@+jJMXJgpw73bV_ey?hejoeWa(RD?M zK{t@`=hQ7J4IF(dQ_IvJ#M~@nknR%g{$M!sv5=kh?m{Yv0MEN3E=NzJ%=NwLJg) z`e}~2wl}J{t!MC=Yi@p35wMXd*0itn)4INM{u8w=z8R?BiSeml@Ka>(3y=45onmS8 zt|ygomsQLY{vEXJZu%;%S07Hvv}A`#?w9{zoD%f0`$y~l8ivjP#m}u%@^n|^-m3h9 z>u{18_liqZY~sJ(Yy2)iB+w?&GJA2*)<>tx0^UlOz%&4#eVMigWFn-j83&q*{<0ZXZF__ zh!n=KuRqOn&UEpaqrU0v5l81%81SxJ&y(VF*7R=0{e*}mYmWSNzNjc_8Z8^}e$7`W zshJhBR=@v#`B|#4X8xBzcAw7Py*)`Hm--_duK#&&{IUK@!wIkQ)Xdnmxhzk+oA#x> zyglWr5wn%ky(;cUA0P8?+;F)6*CC<$>8`tHSXo`3c=B5C)R&=K-kq1Mz2f+BV_w|C zyw{TD2@k?cIki7ITt7UgIJGyC=}L(2>))rYFWVVtwVH9+#~y*Ao3dxN#l_C~@%Y&m zH|M7YvVAIlKf3g zrs}!fyi>YJeb?nT-V6_9Shi1gS!BPmhQpvZr*3`KFOil1&V_W>DwzfS@eDe6ApPU= z9Z{~{YtA+59}Ws$71cSh`iFH{xa9Airu66y+p4{UtG0A1KhD3e`1VdlvTW8jvF96q zUM@O!_AB$DZS$kgM!%NpJYHt&EJ#^lGbn|@XGvPP1FQ42l>APFpA&Gy_p7W}Y8ykLIl^06$;C*z~eQ_RVSWeX~ z7e4>64_s%zm-e@(#%gEv=|sl}>{)2Z9QZ`Nq{bw}qij2)%#@>#S|=K|Xq{f&IN{t9 zp)hYXh7GGix7xBTnz-xk`x#!{hZk8G&QAz7SGEWLdLkRXeE#m*cb{bzYN&M`EiF!w2%cnQ{gWxp5FA3O)1dt+>#FyuwY<4IDoM4IH*Qbw&uz;*4kjy@Xr{gMmuFRy@!gftdAKJw zC_we3wqMV_S6^p#sNed<5Vto}wtniJ#=HqD>n^39`+5Dz%z1VS#}-B16qzH> z|EPa$pJn@Y!KQ6jnaw`FaVx4)?N&QyW>VF+FnZnb>_uJ-E6m-Gl~}#}E5l%Tlcr5+0cxOx~2vQQhqzwo2DEG5hD_`CMy$ z-4RsTb=Fl_X`iIU{u_s+=1%?bzlpE!SKyM5?MBYW9?#^zlyYkNJZphPt85m$RraWr z@;#rFb?H{f`(+DtGy~P9wX72_cU@It9Q6FZ^k>_gdv1$%8b8pqTg9;CV9Jl}3`I4& zI5owmZFqQaQr1JmZxeR+HESC`{J3mcBA=)@q>#yP8{c+0vJu1(?&AKxy=F*;nqV)lsZ=Ug7&^hu$*?gVO{~+m=PVf7^ z9w^wd_ullZ=oG%}8Lws@xmk05wNAt0Wu<@jg?L>!-6Gz2;$XS=-rQJ4gA{A53xCegk6NBKJuZ_j)ZrqMIS*X9+YgzB&rJCDrox5v&OZxKp zw@*7%>z0KZ=3VuaW$AMc*Uvekb)_<&_3OU5vlm^z>m0WAWB1}uB6lwIub;Pz>1}_g ztJOl~YmDntI!i?MwDeStneu4R{htk*UY}FImuN4}Xu9_#8owLVStge0X-j|D3IXrll z>7Xk5GWy#_!*jDNd2I~toH}UgTX1($_0A*vxeQAGpUHXf z$Y^hJAZ^awXFJ`^i~M-gi#GVnoc{FX-I*yf&)>?}#A{l}lJlIGUyJ2G*Tu=7Rd)1x zs`E`eALXWdF{s$Bxo)b7p78?zOS4%o6|n#9Z_lbwXj*!~-{8&7ribcLiZ)NauSxar zk~vw*Tw={R@%@q491m2NUJB>Acg@;qkIC%+Q9BNA4|ybR_9^yrhLEXc>$LCfd2!JP zpBqoHliB^}*`j}OZ`WN>ms|YzRY-crXPqhk=DsP;Z+*Ia)%hJMT}hK(PD%YDFu{AJ zPqp(`pQv@`E!LX(p18SjmcLQ=$?&t5SDn=FY+-0rj?g&p{OtNoeLP!K_c`a(^S;Yk z=^n#-#d1eTpt5LA=~nsY+WYL%Y6HZ#tv+FJai9HP(=|T7*RNE%|K026QroXer=B0_ z5$|RT(h^tR(saiD?cGVee}x&epD1T4#b2%068W>ra)ULJWFiqu~ml5NZyLIl~n;a9hFL9nVFuJOk{K>QPe&pmb?q>_qk1Q*xSr%C` zk*hASXg$}vobGFPd*ZkARHfB5cYFWIYF|Ts&3HuWb|F~?!Ew`K8m7TgT^^*}t zs!4{*UcTL#uFLk$^$0RJd+6qpha73|zJyx7@AbYS`QYh`1MeSa9j(zRmP+IMV;pEu zs2qYMzCd*wS@NS$EHlt(J^h*^tVy-AN*7ZsQffoiFzA z*=jfzdTMd~_W1YpyW@E=wzBenXVh#in3V4G-Ts8{iY+%+(P7g=l}fh%V)7TVEG(X< z{&M%x?5|R7a(Zo+ZAMJz((pdYaOk(S}et2fz)+9G^H}NT6Yp?r$ZGO4N`oq`rH&5m&8cC^~Hrce*f7Po$ zHeS2g-YQiq+J9N+?O1+www{m z?B6U}muno^JXK;}e@cx)n9&60nO*XU0ipl6x#D$Ha(>nLpIGGG{&L#Sd=2HCKbql= zQ;u#e_7QIv(zs{Nn7CxwtaR?_`g6NJI2S%Vw!-#}TvA5d)cK6R)Wk{^?gWM1_?}tc zQjw^z(vCVXjjx7P~THcE&tsJoel46pPE2Ik&c-Ha^xKktQa3@sY)ZZ9A48 zj4EB+V&Rqjn*F}2R9~NQ(C&ZjY?G5?Y(G|J-@jtD`ofv{PwQUEJ$riS@nXpY)@YTr zuIJb9Rj`XlN_`e)VJ%e=D7`#u=C!GpxO#mxzU{al%fQe1`{Ty|Wtknu^S(S^zO}@+ zc(a90^6R$UNA}omoBmUBLdC7SnF)bvK07nMS@s>=sI%YsK>Vbj1FL&iy_$Oa`3n!6Shxh)F&Tk>^U3fDsRt4cc_tqqC2Gs$7Xb`L|jd0*ct zw@fQkWuB|4xc;cb1GzhYv=jd=X7P|v^7u1JRj#@6`qNprg2NIuij}YB7L=K0r5ms4 zIuO0vzUhbZ`~>E`B9;#-tK&CKIQOOQ&m4mze|Z=-34PY!DHN+n`7q6P{#4&{+ruVF z?T|8*7fjBzE{b$ZWP5+WYW}Bh{HDxY?-`D@{(Hmr)aXI2hQ;wzkFUJ1H?Mo}qcyAP z-3)<~`ib$*J!)rO9$D@(d#U6vhFuaX*3Vlrv+2^R=C=oP`n4t;ul%!X+uiQJeUo^n zC;fZV$ZD{yvGl$6s~KJ!UcafUidhz%#{Tp5yMxTLmG5|4DP#$LN$c@1&+I=xmo2^J z#Xi%6Npo@}6pqEQZ4F)MxqRDnom)cR1d}7(%C0`Ee#2sa_VB!m#Z!J;b1DRsybW3! zP?IQ_c6r_QM@+B%?r%xzJa+Wkm7Cn|5o?0NKH9L~FxVKSn!UY%M`Y6TZ_=wuZJ&j% zxN`klP3O$d`$RgX-v98uBy+-_rNWL&SMk1TPMejrDX?pr_AaA$Oi7>8OoI0ay-IBO zD&aLtf8F9>cgt8TMwhdexoT{e>Gza)+D@fm%-LX_Gf<9;+Li! zuvrim|F5QJeTRX&5X1JS-OgCBlfR!5a#spOMzpmC zHaGq4{(OBFoB9Etysqkw^;cS^#hi8aZr|6ulGEvKN9nDf349OdcRiZB|4n7s<*t2; zUQT`E=+SoU_pv(juQ7AdR_%$kxFz5}Syk#|`LUz@M>O&t)k&&;+&Xc_gS06I+vo3) zu50DDVdPAC#JIlF;%%mv8CU2AM)PWi@~VI`&JB;B=+w7|c->bt-ynZ@>FW1M1zTCq z?^c%8Il#4G<*`NU?g`BM&T}QoEv)wI6#vksP^Qz$_vZN)oxJ~_GkJDDPivJC?>&vT zp3BsbfUct;-)hX*03A!2Q)_eq{PD?W7gAcU+2(&ek_hq~Wi z2&n8^=@z(DJi=|xb?5(29#!VLa$eWw5Ae(jowJ}?FML`@*qWU6Gr9VHo{UfkN{%}F z`-$}9MyV@hDYtgU*(sgV_F`-)w0`-lc|O~m*3ax$E#od3-_E|5c=g0}zsl;5Lc-Df z%4=Fr)UfS6)4;@iN9>o($>)t6Mmn>%eGb0UEG_kq&2rkeJ9qyG?z1Tu*X#9LwT>gf ziQkHqGi_PoVF%HU@;=5b7tio5HrsJY`_yXDfJKHO`?j;*?0a9aB|bfqdpWDM$h)tr z=PDRnIsGNW-(vY~?c8NriKc88P3!xY{CmNknR)H$=Z%wCr}$m?P{GXc+vED8g=IYZ zPcJy~E{uyi*)bsSklSvpgVm>Y#feYh_dX=v!IjKpb7=3!c@7ntwow!3?EjmbdrNmS ze}hcBjfukKl@&K8^iKVBC5dIO-#f)se|FDaZ@I3ps7%@E=c?~P2d1@8nsoH!4eO^S zo2wqkyb78kP&lpdeemX>_aRxPGyN>*?!35FE|@>}>ExA_KZ^N8_G*X<7GJ&>&AOxY zx($EOx#zE6Yt8@jAv@ZQed4d&d&`d7+~+uEYgeVXY2DN7yYJVnWw{kquzgI>*KzzyI4En$>?Dz282{^R?)OVy|LA%C{Cx1Wu7FGqrrTmYaix{1iVJq7 zS5CbAk?o1+oKBggQ-21ZRdE!mKVk83??=rWMoUF**6qy7ZZJ$2R@9xk`pLT|Gq-Fi zOxkELjqTq4Yxk#Jy0Or0VdR2+yeC+V)*3yPKeMP-G*ImLajVu#iSv^)z8NmIKay^{ zKAEg;x%J}W52rJ|&rc*d8_vAPRp{t>?_TFo^K)w%HJg$dr$pYe{did5 zr@c&*%6$*25J?qUczP;M~bf!ftp&Z`E}Xa`5jAycQ5T)E)ufDTWEL2hac^V#zB=F4*B-S{Jwdz zF`Zl#74@g8(8neB)C{Adwl{)V;yEi!L>e{so{Hvt{YL)B?}GkqCMGLp#%_9gW#Z~i z!IME3%>S5Q|Ce=o=czi*I{l6BB_B4dxspIZUWP{#2iH)k(AiuE*EwmxfWnGHIyl5n$v_nR^i2J4Ob)BrC#j2_pv^D zL8VDT_Co0fKg%b{-RECadanyLG1^nIr7h6@^3w#djH3@k6L(pcac1s*TQ<+}?ElB9 zeqJ{AVr!}-JRIEx875vMC_b>M7)SqMUGf;S9 zW76p_|K}T@6>a#)Yw}P_L9%j=$ef)SQznSC8lyXr?+b0$_2p$sWj9VL{o&!B z6`5&rcGfh<`)>2*E-dcg{mX5?{J4_u@%ar`6mR+1V-7Jw7hJ;8Mw(cL9ql)7vw4 zK0kMK8&9w3hac{{Sk*h7?Q8ibUHpCi&~eSIr)$5wGyBe7^WYTEvK4cbqqZ`>&G>X; zW`dUHguQa%RqyVZuhQ0N{~o+;lghNM=N|AX`1e11xWv#!SNB_(j^tIbC!CWyEu3^d zOSUN(A7S{$o3rmzd4Te!vQ?hEclU0c-RKe{$IttE@n_!Z7(Dv3_)LvgRi#Nc zXVr6oKK7;Gxoteotk78#k;%qh#W+c&H>B)nsdv#v=Uek<75jXAcxZ-f#Gg}DI?07c zw0n-%YfW1c<8?G;@1ch+cdXnOdu&i#urt#0s^qUX0rURN6`v4a`_590IaDJtZeswG znn>={eD4(^s}pJ-Fe~edCRNlbMQy*#eE8uRGGb@sbdG+cyh`bg`(rVs|E<`TmfV z+3T^&S0Of&)FpdfwY=gc3=N)_!YW$@8?OU0;w4a}3&gEa9Al_shTW9?LPRFVPhi6ZHuxIUD zLkICS(|+E1o3|9m>MT*1XuH{qgDP{N>Ga zv}S&j|1c|yIiz&whmS!fFRkvcZeglfT*-7dp=j@-i;Ry{H~wSVzvlFN(Me8XUw3n! zt3E$xkF1AHc>Beb)86TY@*Ih{5Hx9Gy!A)^_@34-sph0V8yt#eob|U5Vl3bOH$Wzc zrTCGAi%8iK*Xy5*+c{UPh<-51u|dA^U;6az&f4!M?c%D6J9NrV!>wp}C)2Up)Bk>p ze%<96Ecz?z#NSuJd%KjYT4PLfOa1GF|HyfIJ$!KLj>5w=52R(U`FU*buqpff@A*{2 zS0xLsnN=2D4Yl8RbGJmLtUJeU8R_3Uo^`~W_9>`>y`Z*Czy67c9_!vHJhlS4_%3 z!*4b|6^+kobosUYzw3(q-D{%i?S5UGFL?XIf{%9e)(8L?q^@~a7AuI;C&yXGmFoD zy4JBG{zjA0x|GtFla2N))nwQydbjjPo6)vZ$>)D3ZR>EUbysBY>04VWGfP{*``%}f zV(tXfzdp{JH*1P;)J*c%C|sZ*+<)NLQHy7bG6LCez0g~DbsBr_jui?Cm$F29XBkR+ zKev}ZEFax(HpTHdzwALzA%7`_Wp{ompR0A=_O9*rHcQQen?$W9b2$HgKU+>-epa`a z-nDBJ7PPH>(NparzCvi)Cnp8JgaX5r^VVb^ek57D!;R7%(mpgocz2{QV(;3xbd~3=WcYm*S z2n|%W{k-#b`2KUVrLy;(Nv^9{XA;pHzpUJP`m(jsnySxc{(UKZGN;{b{p2rCTHChe zd)m+1BL8Epqk`yj-Cq+nGzY(T+O$g5yrpX61ZA%{yJjBs3EZ;v%r0Mzy>~Kh&bVlw zQ^huQd8y>n-_Q21nQ9U%nfu5hV9vvMA(7B&7n&7o-{n?0d}1&c_gOWoNd1w1*=vR{ zd(*`Ff{j!3KCk?!z0Cc~q1F5LJSdUfpnO_xZHJ4*!{a+un^`}6I_Ouz*tNE+KJt>F=2mawuPSi z{UonkS9Z$cl&E*?ap9gKMJ@AX#odS0g6uWE!d{d9LWN3&d9Q=(m~BiSqNCUNEd zGDeHTF-+GEoM>1*@!^;7y${(u7O8f$U5h^ShjHe4{%tl{Y_)NXHIlF0Hg(^%m?3__ zy<7FbYwtNzzAjmQS}9;d(X&|XTaVw_Txs0Cy@TsRWMa8boA>?dL+LAB3LfNnr2ddk zcxA1(s>+a5D|Cg~{I#Ju9ace`QL0bOv3*676 ziYsTi+uqvA664)H^;@2fclE^V$`@{XzSLJ&{XLg!`QEm=OrlSoZ||wl>7~<4S57H9 z^WQLKh(^bzRrk9;UFXnsLvY!Gd!~KIFF#C}pmCRbZ!2?o39{zJ{d$*`AM2gg!c0^1Lgzl)lNf{jVzzH!5g1 z&P+EeZ{OE2ZBobN1wIwdUz^S)Rh|4kxiYK&?Apq{95vBBxMss%ycVT#Q|D67rYVu?LBH~2rP&WwY=2uh(YyQLgD+)lYd<{^5_S7_ zAWNRzSm@ot(B6}+ueV$)uYI+`bwTrthmWscdUojc#%Gt_o#IG5m2@I-vDV=eN-N|a zY*_L2S(S6t9-Z<8gRj0hoi{VLU0sqfSE=xX{>KXSrSreLL{x0t-Ig>p<7V-b$4RZB zsc%ds=kJ`SeXK89)SAQJGw*qwquJX7e6E-666XZ%85U*Ir(JuvXS?Z`Qf_>7Uun=Hz%J=KT&<{8y+D&iHfYKg%~| z>N&;wkyrN3{`zIEUf;@aGuN5totU-dZ4a9^*Q}n@9H72`m2GF*Ka+DBAx!IMR2^bH zFxO-L=iS$Cr3ZB$|7)ARPwvr}8v*Wp(#xi5Tf#o-6i>@7)tMp;fYd5z_+?u3Rp#bFEeAHDESdhH>ig{7Q|d?A zYG5H}cj40#$sOyydKLLNY?TcWsJUZNuX*O_+>RTvUcyUP+_ibq{_^3U7OVBkEa#gFL#{ih`M&=?%V#i z7i=_}z8~JU=2Sr6vRllD!%ghpJIR{=E&YF4@8Z>^21OB*#V@>`aO&f>XKL#!`!1|4 z-QCUcF51hpwT!{LFL%3m`Jt|KPqlO2Z+F~b3)#webw}2|BQ10Piwb^y;c@K5f}=k@ zd93IEx~P!ftgwKmZ$rz}>w7-WdtcS`MSos<Bj_u{@e{%e|20a-TkNZ(f;xLG%8) z%s)(TChbt{HVNW*Jt6w3rcUo4)qq*?KSWZL*7VAIFTJ?cU+Tvzw~va}I?tr6iZA8A zn{x8q1#i6{rgfHE3)?QFKRxoNB&c#5OUv}#*S@B5u<$iZo2xQ?=bHNdd+YR~Jnp8Q z`K_}~=(*6!2`_HXop0{9OM2Il7h*=qvpK(KT=eyS|MU5R_56ih`JX)uCpUJgzTYZn z!W;GfcQp6EbeX&}FT7>hDB9AB4 ze-f{Wwl5K}do0_WUVJ5gP1@n284HeVTy8AAqfubO^F+^8EE?x4_NIo-Y7e@v?v}DL z#N!MHk89)d9UoP$v&`GlH@W5CMC%Tnvi8TP+$zLYEpAHMT%5R&?_TxqrHF68y!EITed4_t!#LJ{kpl8ys=RUwZWe6UpSr; z?J_lYUTwgqO&eK*Qtw)?b()j+@=?&zdDAy#EA>Qkbf5q3dE@)B1!Bx~MqPT_#nX;_ z;VcU{7r&n?>Am%vzh6V0-NMZN2D=~Il=NA2=6v<7wdX|aite3lnX}}oIfK3RG6thx zwKdPK_!aT`?)URQvqXO3somLU4<6X2Czan&arOcCzK4$PMRyGLUn<{XAvkI4pFpvx zaWg*oy%msF39r9%_5FjVJ%-#% zhNhptXZlZVUHmsYqv6>M+e6nyJ{^=zV%;s*`Sw`Ao9%I*-3nq9wSyO}owLHqI`;nQ z`49KMmDlQT(JeK-FBi%#s1}+V^{SF@WnzveU6TYLn}r+uDDyBjDpP<#eS*Q^lFjoHdJn_TTr@ zjX5ipd@QIs#gLe_O8!SuWXOpQhU0qAR9JI@+|Tavn6jj5o6q*0>N{q7N(n7gtSRK^ zIu(De=-EHE?z6A=G|ZHpb|dk9gr?B{uMNLu-~7Hm>~qwbNmu>&-yX}gJ`vIoWK>%% z=U;w^XO_uVMP69}{j(b%1k8A0$B|%u+NNNV{ikyWHnQDU|0aByXJ+W$6RqdNWDcF`W$pQpd7yig3WJ3aTq-w)+iALg;>h!tMD ztzNYx`oR^Bru0)?DF<_zHKr|n7I6I9S^47)JN_}4ALrx!eJRZD{W{MEo*SwWrD~e- z%Q#kj@qf7WjG9~co-K#|RGk0Eq+55=+2!TY9kKJJ`gSLBrv6x?b$Ir9`Q)DcAr(vMJE*Dh%ySHW z&7F53H`J$g+DGPZCSl@lrSxW%RA~Cjo+#J{iN^z7AfoQ{=NC>q<||2 zmPK#s$tuiQ;ak1)TV&(IL&m&kN|tG!Dy*z8ZQS2+>e>2$-(p+CtZY`-{w;J|EFQhV zr(JLVy<`3Re&%{lHg*tM{OfL)Np6^t^$M}WXN{8k_k?tObN#oXSMtNj5H;?uteeK)5dMdbZg-|WmuRx{ zxv6^Ob&CjFpw$sAo!p0o-AB)q+CQ5)hwU=w+;vJ3>qHf{CS9DjWW(?8(d9gk7@N(0 zUviowd4F+D(8jxG=WkgOu`sBxjb+Q!-jbO&@5Gi&x+2yQ&A+QR z9NQBiHnWiDPw?}?uUDqKuqs;5tSR5M??&pZcZmj#ALTwsHvHk)ajVElC1*ZI&CBIe zUx`k=@%sj^+=(B{&rb?T_Hysd$Uha%>nF5*5zE7EA3U4_H)cgFTgt={eCET$4u^Zc z*Gy!t%{nQ-xW_G{VQ&1X7ll^^r{#S;^xSH3TJ{yi+KKfci|x0&F7&Q^xRf!VChggE zx$}|}+xeM-dZzPTyfDr0)oD-LIEJN90)(s+a`giYZYYZ0Kh-oZjA5@-zrpP(DqGF> zyl!IFSyiU&x@69Ywx`@30&9XY8H3MX4O+c9^E2z=o;e^Q-#k@i%gVo}<-Hk#*tvhNiD<6M75L%1ZqnSW2Unuj76@)AE;i4(Vr(7Y z6H)cf?UhX0>0TR+(}L;kkEVw;l~4UJTVmy&Wl7ie-@35u=ILdkt0K3(T;_4wa8AYd z%p~6#JG}md#n@Z5t#7_PSHFq%wr)tbkLR_NXB=%+j%(iEeA#aC-?rd!mJrW-#dShk z`{neHKH2n5RW3qHglGRz^XoH1TKC^iTgjc}@HNwJm%9GG@alGZd9Kc&cv%Y{iGGO< z*K6vQ8O5!RsAlU-a(2t9BX*l^dGcOs6fS-I z^H0)Rzb^LZ584k~HMG9YJT5%_55s@ny{DM+M6x4aMSsrP>*u(}bKiu@^WCk9 zE%U=J#;pEm5&F+SBEB4eNLXU%mNT zZ~LWd?|D@l_a004qmoxmW_%82*uYxCAH0NLuFQRDu!V$`>YRxu+^34@f3LV#WgY!J zBlv#WS|?L?d+)uxds$Vo_i6qNs`6wy@5xg2bbU{c+!+7nqkEkZn4rVAhO-4oJoA4xcUvPW53UN{8PGotfAa@V%H*l_SNxx z7UwP}iDbOo==?U=DD^Do-?ic0?^Z2fx-K#~d9KobpXVDqI&M5pG!@R=_WYfYy=LSi zMxi}NpZ(a*^h>E`b#=Q$i_Xa-tn2tS-`G4XTe$v=%87hG?m4&I6|*}6v%kbjq;&tv&8kZ#N;n<~XId`1% zdFSO)<+$F;<<=izzOu=o3(960%0*m1c_+c^xKpuslYDQR$ybiD9q$j=_z7Ee{7_+f z@hBxCQdT}|gY?q|P2bXm=?(F3{jw%V$Q;OdcQ#&MqWh?-hMkSxnn{x`ypuXFv*4cM z%DRiS{E7Bc3flWpde|12c$Z5Wq>God>auT3&@7*G?qg7Z=F=XA>#L3G*p*`ARMjO? z7i##=S}>8%@buM?y^dj9>i$+870H&`5ivQ5{qFAHkE<9h>h8Z`m9PAyCH1OVWJ<+d zjS?>%wUarvL8*Q$N6S=J^|vn(2u)&?XWqVYq2PlZ>ZhxMwj2t0{UbzEx$1Fe-)H_K z0__%>YtIJX>i^s4BK>c^P|+-lkVV&=b{sQrdiKdi=tEZyi}?9vrq`8UoUy7GYx=e0 zwO#%P>DSM0FG#r{%@^hGySF1yz*2_w*g}PQ^Lb5`4TLKiiee0Qoz~v9Ui6 zd;jdP=R%8kwmed_m^Jl`@EO4`w{O^l+*18^e^uqe7AfBgU2ZRD%FJPy_p+;MjX$?> zM|I-~rpI3+PyhE)QMr64l;z=xmlI!3_pA_&-FnyZKuqxZE7GxSxzAOZJy+#?5o=;S zB4o+2IetY@N8+rv$E9VG%T9?gZ(C*K7P8R1RqUUWzo(3`^+C~3mp3T0cnEA$3e4rR zNE3@uec;@4@!5tqC*}$K-}iZjjhL(UWes7)Bkha6pP&A(zfyR?bG6-V{mCMG9?W%q z@aP}cZ?;YLwg+@#&9>j16g??8WpcZ!^PXxe*_S#3?t5~y{^tE_r7JN9a zZ{+y#nf9%CC#z3PL32}Fmp_cX|IYlsb*|nV3&RKRF6|fTs=RgjkaVcbDW^Lva?beBhtrnUWEw$7poen&j`!C`eM-ivP`wK@thD}@)V%y=F?9jHu z`tlXkUxKzrj)nf2JMF-Mf1gF#{^;xqxfRu3zwwdK@pGTMjz@`H!!9`1lYZmx^#HY3lqJ%^Ithw_WhmE7R1B9ma}2z19c8Frj}S)=I7@dgS$?Omc}W3`IE~z z+puQdUz6f)3v=En&p0Aj?(sjmXv0x-x1IBl#7nKn+OQcMf)k}X1K0L3Z2uH{R?TYl zB&DkYd;6qgxV~OZ{Lxr-cmKO>^@*}8y{qPKy7l0AkI{k|>5GIEo2On|8}4ZCb@}KX zBZe@GUEeg=fB!K^-r+H?QDfm$(Qp1X#pZFU)0(%;35-1bj8*j5GaI8j(x<0H?{@Cl z$v*jc)XU`;wx~Zo_4#yCoX#BnS^v5Uo=n%sjQqDrI#1;uuk9B{mz`mXv+dGEQYD=N z4qtw?w`rSZ;(Y#`H(a_0=BZnDPxn~aeo5=;<4m&+*R`HxbS!;)X2pYmDYx!ljDOg< z;#5?5hfm_g-q@Gtu85rFdY_&=y*Oz7bH<{J91KmL<1d=kiv)l4eU{7qTSuas?cO%w zIfBv~7H>ayB>1S@p+{TH{@rWxoL_nK!1=Z*FPS)!g47LF_gxH{x61U&&v~hZ@l1tt zer+!fuT0buJWyx2K<6&6z|}1i&wQ55@}9~6qw`phwo}}ZiB{F`PnSKt?6pBiR^)+F z;J1smlRaG|U$m|`6Rqqh_~U)X_jLw;Bs}Ulmd01q?9wPr@$pg46LEceG;;CmD}EQ` z!&UjWul#HfmUTe<*M&?@ua^S$X)zPmWbAly(f@Kjo0@mTf5yVuccpt79Z$a4$mx^p zb8DiKXV!7qCqL!$IcIF*d(_Om`U?9zXNx1dIX~7kW!}r2^l;@y=k-!=r2HqZeB9YT z{mMiGQxmtJ|L-U}iQhQ4pUaF@*f7vM?19cE_Tmnvdn!dTM?!Ar_P260KYjIGxH0&} zys0uXthT*BY;!cCV$bTT$d!jXGNUF~y*#qsVDn>{6GCNgDpedVsR%7tU-)v}ueyC7 z^HK%>J~>m?{YlHOT3_w8tLDW&47QS8YeYkK-Bg-%0PVAU|`9-&M!nvM(Z|qKcWIc?rX^#svkMZHPRViGg|8|*+-`3tW zhnT#+-rBR|3g^}>hdhKV?s-TU{*EdxZh7q`5+r_M%?$sE z=cHzwnl>dqcf+^RkoIreFvIjF07as(IZz9sl@id;doSR9G5TOCR)G$&aL*A<>*(T^Xp}z|=YYlGHL*Ei;F^%XUfm`%TWeDU{16 zSMgwmrYO(pET2-5xL5l>zqmNp$7WWv+q!+NEA@KcRvZnQP%3d@Gq`N4 zLBY-7#TB#uOmP!9!oZP#}^TemmY?G>=9xzjWxX!yL zwNb2c&;F-X#m_=cItN9hp6~w=ZV<$M>#fPw&nz1J-0N~<`FUP6Mm|{aQRb&P_n-IY zdk)L~{?iqz^>|staz|!6mlQlUe%!-;?ZhAPC99WLe44jmX>=po(hb`4UVYxPRiW|p{tf0PWydV}c9!mx zT;rsCi}iH7RoC#luQxo3nGl#+t+ex7$rjnX6uoZF)HR!T{rvdi`mK|)!ZW5Mnbe0lEv;bu z`S`%q^l8tY<<#Bf4ved9T=Q^)Qdqz4(+t*mTOKCQ@A<^FX7xIyuO=?ngW^i7M73GW zKh_7eetiFVlgXd{!kH8AAKIHE_U%TA^;6Cx`;Twg&9Y11<3O%rd2jQIl6zJejeAzF zeXRcHhT_4Fop=6!=F^tgSUl|1?@W;SP>ap_m^lRlT`>696!Xq)o7WxrSC8Nq<9xvNrio19PI-`BI!k72{c z!2W`T53iry&h+lbe1)&Nm+#-+xY*%>1FPDtk9V6KypJDQob&R3NMONcLE&2p5_1`k zO%~a*RR2@f{0%Wyy4N4Ad-3ZxyGf6a+*d6@iMVjUO#`Q*JXa%y0&cV>(`T~ z>Dg}Yt*clV`BOK!Qmga~=S-&Z^#@lbD&1rMpKKz2L0nql(1vXnyOQUGeBzwvSiM)b zMI~g7WN2;7yd_gg!yRulhSW{*^)lqiyLxa6i@VM{vkmIo6jy}!@urIyX&#SEa;|D& zv72pB*R=oPiRk42SH0)C@8(GFdzj&E-&$c>pTYV|^hNHODNjS6{15jIx#2$RNZ!pi zo(YPtZtS)C^Wn{=P2pW%)UQ6;^|8QrzqRZAqb_OLkEi?i|1oe`BJuTq?__?}N&g*Q z<{dFjj+qx79qc>DsQ#eu)bNCt`<(4R3r@`J|LCqOY4*=;cFF;(|Fh$nY~CbUncseX ztCMHplznsc|2C*jGoSfJDdFZ}J+tRajkWmNuRgDP>ct^w{H-MP!e5KduMc$Jd8!=? z3Q!9R^E6s|W0}JZJ0tZHmt{xKr%2!Omk&96Ce~iB;@zW|dz;iIrCnBMOx$hsqNw$k)GJ#FHE;x4pz?U+tZ2sk!Vn9MYeHdmnN=YrDnUBba^S*-L)s z#=42-k7OMM@|Mh%zqPUaZ>;uHcI~9YQ|A{MEH!7Ady}+bNe^2a|E}$8X6G)H^k+Oa zx$@|Z>-DF1eLQcx^TqAd30aqZBzDyZ9BgM#eVVrEaK86ySG(CuCcoZ)PoGgDgwrRX z^q@mYFOQzn?vNob7V(cBY-mZ~mBu zZP~}_=y2d=RPPhp>-M5rq6h9-ExB_g=7_qPugKl} zw81i`?FPrbk8RtMV_l9)w7%0>$8mF~+)e$<-fNntl`c5(H+R?W*X-i@rizK;nX}sW z)a?pM+xhvH@Jfk$Tn~20yeem3@FA--$K_6oB13$$GsB)@*QbB76OG){%U^p+uT>; z>94Mg^)N_lHjw-q-Fbzp#AFG-n&~cq&ylsynVNVO{{MUDy4~tzVaJ#L&L(~Sl{}X% zbL+f!7-UX}?~yL4bGhq0ZC{PcN&)14c-~U+_bNs;XzF@^Etx5Wu9)9f96FzFV zLP}CvQ&{luE_Wu$p3RnrcO_ps(tg9_!OH(jlTNVgdUbGK{Dg`_GjCrNlDn<3_u|rx za(#ccujShzp0i@rl2{)Gx1xNBjHhzD^go96wnlTSuy?EFrW|~BYJc`+*HZzErNy`G z-d{E7*jK&ZTH%R7ya0osja%fUuXBo%4T7s@?wjF!F{tMM{P!pO&d*J5cHAM8I)CnT zjgHo&^C|^a3HQz{ST*~LYrx`V>#D-U68FEXf3AD<$@wL$_6qSLbHrC{aQ#sIYTcdL zn(xl-Jim5R!BckzP2c`2LC=-FZ*?0iYA<)~k9~Obhe6$P6Xk{LTW@mxnRdXhMfagf zveFIFpYwX;wr)u}Cz0%aqOMA-daG5j@}{Qv>p#8EC8vA-xvBkGY*%nw%V_`#kUJ?aq9=OjcG;z^lh#V+xQa%Wy7s@Ecz;q* z-(|_2+}cdFjaAzn=D=zUjfP`FDyahiddO zZhPaN8~swO3prkDAF2BuEbO)D_=k=EUueo*I&ddpf|1g+C+wki%^d#L>F=5q-v3*{ zw61ZFdbC_UPupVMXtfpPMrjq%&UI@YCA^w#%4D}?Yu&d_;yrghFfDxE35VdyJ@<=* z`T|;&GGA9c>`dd}k~}1Ndy#fgw~J*%_PSdlE3y;)j1TF3s$Ot2p_oDIQ1(-M_KY>h z9v*OxFk$(<(7@!nt7J)nJJ-aUQGZkaz5f2z`{=ztWesi{$`2e$wF$YE@Oat&V_dIm z_a^YQy@;uhjQObUWVcsts@`>RzO4qypVQ}F_hr{tyi78@Gm2O1)J;K8=v^EtQ1?u z`Z#G}T$}a6OFsf7y{~IL;$lc*`s?L?f3xd?V5Gjq-5 zJItD4by)5A%0q%o+wN^*ICo?IH&X+i{@=l~{;w8Z#!+QexA969M})(oxeG;K&1suh zc00f7gNAP{^Z)#VsrwdRw3_ncE&CfJNDxk4kf6}FLc{Sduuxs=0 zPJKT8aQcdfgHBgHKkR9&OxnETU5{&9uhw3U=R0>8E_7pTOIFBB+9&qgXRAx8(afjD z>y*lDgv;h1{w~ob)|y=MD4g+7RGyM+@2TXwJrm5oag{GD?l;se@|6;i`q8>=mqO2n z^kxPl2K#w)cgVgvxxcts#PGfQ%A>rk8z*m63E9}r{q%nRHq)zXIRj=bpLD_Jvw+-> z)suVv-#xAQG~~mb3k^KKldmoHDiZ${Qe*L5cP=YSdCra_YAs%+n{>N=cW>`}xX5Pp zY3v zEB|9;_1YIsS2We%xfT}ezV(0UWo7XIXQRn8>_| z=O$?9T;F;{uygWJPyRW+7kLc?RM->V*oYTwxsh>k^|2EIbFcpFSyH=KRmfw*vXdOo zmw(x`$D(@crf;88z3)ph=BPPje%qtPaCVOVVomwaZc^dX!X7Nj@D;iIINsa*xYXjV z@|h6}IM2%aF|Rx4Z5~p^SiJRFugpv78D-nUV%&Gla-MuLU&HdHueS1qR7w8&?Y}wV zm(Bm*wnSZQ`IfsaT{HZjEjfSj$qS1lSJBpl_4fCR->>(PGn6`(p8w~WtM{jj?@k-F zyIgA+u1$0D-6!+vp3iLyJ<}aM4?8Dt->;eaWLq&0!#ul8{o)_18}&2792Q@Y@G1T# zGnM=ArPP{3HIIU4OlI+19y_hjeDfahDsJAr=Py}IzI^eL=u_VnkA6O3G-9@AotVTi z=kk}`i7OQL?qBjX$>rd?-oz5Csa3u^|Gs0J6?|Gu!E#m4!8<7jBDIYFJvY3!S^T@2 z#hp*u_8}z)yHB*<{QX~H<=ht4jWGh%SN6McMcZljP4#Zy^tft8*osB!r7U0D%&U@g zWtYD#spIux1MmVVB-=lSgAq{I@o&NAr zi%&uQUo@}f!z=Sjrmt%{cKKOx&&;{W%Uynao~<`=W!>YG>#e5QUVk99F*$6)g{lb+ zOLixobiJ`g_|gMr=~XUn3O2PWHKz(4wER+5A81`9D!%P~u-F5sx17rgJFRZ1>uyf{ z-xBy+A?;fSFRL{F{F@za7ZmnHFTZzL&@;JS>ifS(-A&DNZA@u_Z%1n>6c#coFwz326J#7E82-1zI5MSQ2vC9aU2QyCvx{@$033hOVr;r_kaZApd(2_lr5ZewVZ!T^Um! z@$BVk)1XUtnE9uDRNY0sJO93}R$*3j(9H=C+$ ze$8CklU)u^>aWsjl&x^Ovrj(xRq2Y~&a)P^WXE28f8x*luQNUcs{B$`{43}wdjI>C zIls#!UwPOG{E_}~RDt*Sn=5>)?>k;2`@-p1kM{(mxv>_nuU~EE<1b zk@?Zy|6R*A$;^2;YxTrXr{7V3SEq99WZ)~hG<)$o1P@^(`G{iLNOezouKK9QhX4?JlmMh5cJLOgt3MJ|Zuq>Swt+{>2$@R?^A5~JB-y41Y_Sh(L?fHPK7X#&)f4YV~ zJnLb3qkh$j>s=B8Gqyb`Oqjm++n!ES>07BETo1-yJIL;la-DgrxRz_mTv2(i>H~R4 zeH8DO?~@L(+A{lE{ioXe69%7m=uNQ>p$v$`g*hSX14!?=^|0f*^OuZ<>xW+nODEMH)s9zH**BSeO|D@^H7-WmT zDtgBz9L!Dqw@6gvNbcl}>I=*FFrQplx3~8Gp{qW#x3ZM5M!xUydilWVz}@F63u6zJ zl-ijv>WhEd_uJs@+;3$+PA}$*G-VYLc~YUs@~6B#apG%+xtXG0{-yUis0hkM#!UBL zyxn5fgpa*vz8(s=ckz{b8skU(C%-CtYj`HbXg7qs$_ewRGWw#Bc>l%eO&`Aqw=sLM z&M3OMZ2pqN>|8JItzLTMEMu$k+^(kJm))VYlfJS4Dm@-&@ZCp5wyJ*Tq1?9~`#vA) z<_h~g&G}k)eBYI-6$%y07*rj*gbnN$D=3{W4pp2O8ofBayf#{6f1dc`WEQ1sHOGaL z?oQU_*k7`|?d-z~-9i74>wo?E-ln&4PPgylUnV7f*zwfg6{gk~V)k1B1Z)$dd#r@~^VyLsimUvJjBl$Re^yX?TiqcPw1%ROr=7Y^Qb`Kt8VOP;E7 zi$DCCwZLj=Ze#g7OYRjj=M`iJSs9n`9rQG-?}?tFoLiV%B^}9clEr%`WU+0T-t6Eh z9ZP12$hbaKuF?zoGGqS@U+L^8uW#L4!IaYYR4X_p=3_<0%!Nj#@(ZS^wawFJl3Z(X z)VKeDjDkYSzYAd{*?Nk14n_0y>apniE{t;MZiqN?nRU^=jVrgkloN~GD7=~7XnFjW z=_awIzbm*(1@tyWEZMk}*;+7tk$>}{fOGqVSQGhO0@k_CSSEUOi>-J?7q{Z_HL@Sw zK9{H+SbXZJxnyG|L)icOCQN1f+W4Qni~IZ}`|BsJW^*n1Lk#lM{skzS?d!;5KRsoB zs=041i%YmVV{BvomJW`@6Q@-&)@2I%-d}EXqm04rDeENbd2iL%SbVU0EqN(8O=3oK z8~f4OS0izn!_U>MQ3# zSGlq!ChJ@l*z@GQdG_Ti-?YW=vtzb~R(}>d_;ilg3T`f=y8ekrz84*T!lN^R<=mqe z$_E3@n)x0EX1*y}^#A^hoty7QZ#I!X6S&aKdkbe~EAzUwSGn{9Oy0iN{l9JDWtFL- zUtAs@i}Kw!JE1KzDq}*x*Aq8>nBVq(rtp)0o8=5OmgOM<`*~U#zH2|K@yV!qx$oo2 zCBD4O(J7O{+ub&Np2@Ib`nA8WwCY3M%li!8*0^6l=?)_LcqMYQ-S?#?*Kb87z4 zzYAN#Rrhb*b(+KQwBB{+`5pZAZCyUK=j3a4WUan&GJB)x){JV8wmJ6#nrF%_=K3I2 zC7JT(;-BK4tK5Gswfx;X<$1f5KO}fZ_TJ)(fOKQ(bu{UOZYa{Kaum&&N zC|kGt=i}+OwNlyEZ1?!4cxn3dNsss>i(@R_3(Pb%(lShIbvQpurj*lTTb0G!$Bx%4 z56xFCJIz+ip*X9P&+Vj4T-744yG7GB`xOg3?PXVw6rb3pw0CpTTVo?5dZ z$)jkR`j6vrQ(czNUcS5d{wx>91@oQP@AADGxrm8%{)VZ>1;2XlE}wim^6#Id;*d?; z6$>VO`d|K@Y41X1r{907^Xq3WoPX<8bMX5qrZ)?+m;RW~aYKI5GyC3`i#M{#on5cG zS@7`_*GA1pEj=~%tS6%+rq{8Qw|@V;S5d@b`Q%cYP;Q;W?vl~^SGVfbuwVYDJ5OxE z8q>T77af|P_CNK#&J`cvaL__-S9yWS`dKk6xsD~MK5OZ4)0XMCtnB=vz5AeDSBB#~ zJC>>^_WN#2XdW?+yD^wN_uIcb1v% zl1u;2I<3(&vMYc4O(HIPf6lRc-gV2DEkFD4)9M9J3s$--+O;7`j=%cIm8J<_ z&2RJDgq=#+?d0^AYx9SF?Pv2Of_>{>-VZL=_w6{_1moDC-C{hMhVNWXZprVxf9=uR zTU&L%`>d33@y~r(8nbd{tt5*?jmMLhIUz4z2>5t~a?XA~LH^K@Zr3^UUvj4JTPJ8z zF1m+H?VXxO`ZNc(7@peOEq=0V$1?JJYrb&g zvz5)}{Azi!>%LJ2<4qo2-nE_0*O#o5F@I8gcujkGjEX}_(u%BY-jXx>OB>bGT({lK zY(LMgrWc>g%;>$mYLDA&_Jl9XtNYqcm+w91Uw>SyB6Wty5 zXQOuUiSaGVdYJ!rp=0B;r&Fv;mC7V4>Yg@*eCqv~zhdnsa|UJ`@uM3yCv9ooUwi(k z&zyG2k5-WjF53IKZ9JOXsjvOv;mz$2Jq1OsCpcbsI;CgIOWtngS$`8mL^5Op|Gwm1 zb%Rmp&R)r_i#V*6|Lk~k`qdQvl&xlW`&^H2@LaNkf2-4^FD%<{Z`-P%w(|L7FSVSt zfe#(eSuBv#tSr4Gm6_=Ea#xe`$AatUEXAIP{+Y+>*cYVvDrTop9T` zzx5PeZ!Z3KB!>5+{kb|ejrWgF#JhCe33ZDIKUj9=hU}h>;C%RxzT&^-129O zuW7vy3l9t1aAI5Bo?|=SO=iEFb$0Tb*Po_5EMcEJBj(lX_1~giKCrSf^pDJnxFE*! zXKNO(L-O>1jW&~(|6a4|rA$xt|EZ4Aa|~FnpI&tMdSph&j9u0h??M;eJ3Vbd@DBZo zpjoxK*DmlJJe(O}Z^dAHs&ny-$AZqR+dkgE)ucDyZhM7JM*hoX2L8NOA%dSCqJ}S}n}sCv zm8)*cu3lD|eSD{lMBbI~N^8jwhX)C9%h%}gf4#Wqv7pEUKh}}XT0Ja}z3#gt z^Z#p{>f}w$Yl<^}os?NtaN+)Bd$Y1Cb*qin<_p%=oXDGX_SubFj~+}-QuetdeZ5)4 zXXF1_dTRRxQ+2dOcWeOuzb^>yB#F7o_IwLT@PF z?DI3)&u--J@?byC?QeUiX!@Iy)3eUbcDQyjj9>A#+(~Dn_J*tb7$#qTAGY_;w|v3W zLtZCkUHtDQJ-EK1C?fh-jBIqpgsCf1pIvH{_j!FnU{X%yIi2F=f#s*?7CbnTZ7QJF zJ3X>a(0qT>;gx^wB2M@u_E)-GFj6}8pLs8*_44Sx*9E@Qa`WFv>&We^eV6pID%{04 ze|hNp`LgGpJ$$|5&a+u&6|2tOdb5tZNca`wjhpOi*EAK$&&hdGGo|N@W?|Var@C9N z_xohyeGHFJ_-x<0ChnXJ)1ua$G5_-~`y2k8d{ec|wU_DTk2Ny-W@(!hi;q0_R(dp@ z=eP6j#)rl#@i!_K@Z8>NrRjVjtmL7p)tT;dy?fX1))Vhp(`v1=N@q{bR*O_k{xdBrdrADSpFi1Oewmj3(RXK6 zXZ&6x<9pMyH_q`n{w?;D(t^oad!!Gs`(~{#uC-EHvqd+eYE{Mm4_}U^|Bg;+=TV0SqBf12#taxF}@m-FmIc7ft&=U#NbdaF0zN%LR? z&myk>pRQgLV_NWa^Ysf;6Zh84SpD|d3N@|!a<{xpxERQ( zXB)e7)_l>sao=k9OaAp!4{Wd%ywY&uVCvP3b6+fk?5wQokI!`p{GnTNho@^-+LW3f zBHKg?rZRH%ny-nd(9x|7tMT@)4`tY6cx-{%tptf3WoE4lIu~rKfAh!5GG>Fb_rZWj z&dEh_M$hN%et5j{CZE6u{ePXQdrmsIo@7zre1ElKmFX0x)d_Q=ZgIvxt}iZr%Ai>C zcn$NJAH72UYo=&coi+&-3XY6Sn%DME{z~ur8A>@K?_))~pUe!OuduY;XX|6bT@@W6 zh7Z4*o3ENzz52z!Ul*d!OO~oOc_cb+f3nSL=eJWD2X~nob4xyIP;%UPd(x{*YPq4a zy{}K;==06)OdKT;)a8YD^xCh(ox~-CoySKUeO-uT*BI@DW z<%?rah|bSiIf+eNTti;k?`6Z{t+`@J&y->knkof;i{8EJd%#%o>z7Tf)~szm*KF%s zf9dt^yM`OWRd?P0wnsJm*YxQf{Cf4NOG7_DQ*$_(k+;J@>{5?XrKZ`J-k9x%UjnwB zKR9>6<8^x+c}gFyIT5vak7r#@>)Jx`3|Ee6YBf%trMJtk8@y~xsGj|Qy72+E{#(3> z9Vh-P3%v2XeJ6Lt!TSnFPgygnzSKMwbo}YZm^@a`*}F3;D&LDO-@N4JuYL_f8F;;{dc-dL zo<2p<=Kodg_0><#cO6w~4Hh?3VTkyu@`&5|%AFbgA$@JTx+mSgWl~(Kb9nQjMC)C% zi}ccuyLirPE|)UrHoa88ZExVC3fo?m16z5QgmHPMX#a>vvHe%n$|`r)tV&nutJIgt zJU$_MHs8dq1{5|ZU1nbNrO!hs!;YsZred?j+>p+|t)VZu9lL#E@AS0wtiN#4OFI36 z>cfh!&p-ZeaG05Y;I)neLqgm!+jPg&w*tB|zCT<0)#oQqinOjMbCynh@7Kmx{Fz@@ z&1*N*unH?(@aUqsZd$`{gZ`hY?T;VLcaU`4W7qxU$Gb^hLd*RnA4JELh>J|#BXyYH z@XPMEDfTsL$+C-*7gl*64vk~y@0_*wnRDFawO2Ol&sUf-b(w32(#cfjx?Q1OCe%{}0>boxb&dOykJMl+y z-*1Zre)rBetnLl_xZjg$>5exAPS(LZhu7ZuWl&gAv1+q?cHtj=$=D4)1-q@{pWiMr z=B(-b`)FFx;v9unQvKrpLX;P&|i)@gp)$HE}yTs-UeiBPX>E;(JH zO>Q;@3up2fsRbSqi&%Xi`fh7-ds6zerp6<+zm|503clz+X5H9hqNVNcr=!sQV!@@D zL+^K=wb8#>>u2`$O83dSbBr&fn=aVd7akBOepkp-Fhg+iioFlG|9#9--SUXHe4%}P z{*UgyBh`MwWw)n_a+n=ZN%rNQySm##VfX$M`5D{%t)_eE&N^&$?(3I@osuWKE}xkC z-)l49U74rldpN(H`DfGcdFz#Tb(L=#fA5I>JgK!%>JGO!FXOH`XTR=cN-U_@C#{?mji@zPxUFg~FyeKaY1iO@G_wv?OPz^1r>7mn#h4mz|ydaoVTfD-NvHkaUoe z+tz*kLBQAkv;|z7LVu@!j+xltTJ>VV%5>G5H?KNvPo4AB-upIp=WU^*GK)p+=J-#} zT3;m|7#X3QS*@EH@%z#`gW5M*398Slmw4O}ZkuBKyv6j0{Lw9a63OzylX=|d{84|k zG5ulbqR`~Bkca)V5~LRImpU!DuUe7u9FW&8KR9~c9ws7%E zoqc&To;@qt?_2#-;huVCBmzx_WO%hpkPHz2t>r1H%OT6~Z-=Acw^|WN>hRgHz zS)LMn607jwviirD=I>k&#@TLM(XQ3fQ51Avv)xagH8Y6MxNq*){$I~3QxC66U;OOf z+$l}7K3_Mg`SswuL(xyulOl`xKKRGA-wb_K(i{2g{~h~pZGXFqTnf^oPajP6eN=Uu zVaAWWZ~qlK2K`?o_0zfeM0(_;T=U?^_mW;$UHfwQK%4xzWq+IIgnV0;)-z?#v_sz~ zdrY&;b~Bju&u#f46Kkp7tTUoNv?qrDlM%2eTG9HOTazn&!U^fdE&E+lCh9&l_B;6G z-MehZ`n_wD_}u2tGMTiacV%UK{>=!b+27CkJbk4bE)8wTMlfCvRtS+<55Z+ z?~=&(*Ta_Cs+=xkH2!|;a7hYzC(=2_LzQ2C{$FFKm@YLlY3!B)FELofOET2W0d#}qwOOGEJ z)h&iW+TnGU66ZYFFE6(UV|C`7xPG?r*R{@X7XB93N!r3=x>Z5;-<0dT7tPr|TTfOr zJCVHYfr}8E+$SgX+>qY)qT3B^{ZISw@-??4=B&H>pGBDaSAZ#>nl^iX{0r~%-+#@k zjMkp7!Qc{B-_K&NsLlF)#n8`r%^G?aC#)#+TspHYJx=zr zO@QTEvy2n%Zox;_{0!Orps6U}Mcmi(I~Fc@I@7RYPQ~@@Ml&3;vmYFu*tGcD6}N4E zP8*{=#GJm|`gK2Tvzzh$aMjnmxeF&QYLEGu(|x5*eO+VC59`>XU>^>RKZ4vXQXkoB zFEo{YY5uNszl95)QHBP;jfz*=JlX|=KAM<^#VMFT`nK1j3_W{yIo(cH|hG+UAg~GHRt_r zXq*3s|K#y2kELp6Uv;i(Td`oP$LzMiC5u-5EIDFiqBe_vUSDSa4OQpXJCzn5oy|vN z7M1T}?A!KGrcz$LN27kb4kzF9za9<5iazb;QH4Ziql_3Gw^o^u+456|_V40-5Uwatw;%R^7GOh)j% zr%*Dlt9I4=_0f4xLuR)ePrNE~e&^Ib!cNiqBikm1MlGrC|F__Q=GwX)`!tSshw}&B zlIXdldvxieEzLGp#kVxPKhc@W_+*+*h`*e$pSZXsQ}@h`4rWt6Kf9$J{r=gM?yFxH z{#kG$>rJgq=<{Dk&J}OH*nF_&?8SAj*di=K#~0mfzMUnu4deqsPYKv5Ier5 z{m`q}h~ynp&PtoL20u=h$ra(0eeiQj&m-}PxB4}syF(5f_xx)St9t%^d&u!OrjnVT z512Sk(q;{7I{SE)=uzcenkJ>(L5Ci{_i}UGd}4#@(i2JxBy((^SD7p;E!Qb6agYx1 zD5%JtdMPd;NG(`$eyQI6u?w9jBUd+>IbnCev#IC%m zYqom`+Z2z~Qn7|xvpZFTHYLArD7d+)sZk;G|5m0S*NU?gt~4CJ*vJ+eXp`1{z?*UH zg3JYtPQrQpF4zA1RA2ZsBTHt{_l)e|em&i730y{hR6`p4c6=!g{;Fh^HrvIu+k4*O zlWityO&JDlqH69QLMpj%Oi|fyG zzMs9`;$&Qeo80l1;2H5J4!U!dG8=F7Qr}&+-tCR>>YvdId9p>{u}XTGDzQ2~bqTqZ z_`m$!>Sys$$ATU&6HN0-O%z#W=kioRYReJY}cpKH`z>~iKvAGZz6jyiJX z+m*F7AM;qJUOkq%EM?7}I&T5=Pvss+zUGX5{Mud9wp>sI>qDJu8kmmiJU5o*2JW8xOi z8%<01zDwNBkSg=~^zK|KL030v`Fp2cWgT5ueea#lBPD;)Ey-akoa)x@D|Sr_xO#ex zf9-*lpEkw>%rrUh{ML)D+wSDOOf9^uwd&UClN$_v?Oc4mK>FOt!~57y<;-tQ6LH_> zB5-i7c#u(k-#q!(Wu~b-?>;O_{ubC0#G%0dpq|Om(c=1SM|b5vCE}}^IA`+hU1U>o zi`Qt^vR&MDKOV}P2Hx!8QQF_fa`D>IyF4#~rmdc~cuCe9b7!f}DW4t-o%nz2*<^h^ zx2us^59IsT=sbPCb8__8{$^gmhsBHEgg^Kr7uGiIN5RU6OL)~g6^}-FC9O=^@NdJS zKM5>NS1O90nwI_Te|U8I>sR|8vG}VW2vhSq7`f0L>ig=* zMaNIhyq#1XYUkF^H1oI;I;0DIf4M>#v|&a_KD4LO}KSyxQvL#RXa_V42C-ETsdY_4{?^gdhW?9>n56PN9> zVDs6~|K`s2=GnP-M)ozb8AfqFkKk&mNvEsX6Of>huI9Jn$M|aHW_!6uq-udxWzYX8-i)hm+duK*<8B$VuLpbQE}bs2T{gA&iSzSa zOWX2SDyIle)8Tz7^`a`Hv(n>chi$yL%cLZ9Piw`B9f}Fwsgd#PCYJ}- zgU0YR2bO91#TGHwbu;!Imc8Y7=<@#`CM;Fc*}rVs`{|6`vU_~1THbh=rGHjv64%3;;(6QKYE65y{*_11eI>^j{o|71vs%TOeJc{Rxj(s!OP+uE zJI@xwU3ejV~SUU_g<#z2(cZzpL{u9p`=l9 zcNfc^$vao<7n%3EkzecVocH<~SK1h=!cW^8Tsr6&6;_+RYR!Vh3)A+RZnXctLftJT zI_J=?CG&IQV~=T`FSNQ})zQDHq=Iqb%wm?dMbCQY?_tO@u?~DEf7#{cqz$EOl;+9= zEP7_N?yOhZksA}7oc3P)-YTQ~Bt|nqX`!)Hdv3s-8Dc!QpEx|R|3AOx+3g=m@vU#K zWOHsfxq6*YVo9e}bjG66^?x!%@-)ID$`=OjeiFUbde#9=< zx1>HfU-Vs=+&zO~)#Xy=XA>Od1U0v1ET6b88EGWo6a$orYC~cNQ)*|Et&9c5M!an@oAZ^L$I?_K+d%dh$VG;~}!nV6WgmsynUS>}Jo@as3Et^QB=t-!wTow3{#W}6Ay zZ>D{UHdb^z=J&uR==2(2w; zi~rn|ajN=qH#g5hcBvNA>;LTUPkDW6Roxx^WcS4#EmfAx=3kVJ)wBv~^BIDiCq@-D z-d%qvc;m10Vg9qP7W}yU$Gxif-uAQk+n+!G?6PU6;DP*mEuQ_MN9?K&l6SkPs&=wzMJ!mWpy=1<)ne`B9Wg6#3NrDy)U+OU}EiJ8On)gCs?M>6`Je0BWA zHeEJ?;mOiDjryT0g^cVq7_KR62tM2=vn+oL_r(YN$)=LN*A9n%nfvYQ)KjM{8&sDR zXfD@(*L410NIFYDuWJWKM@WVDfi~-;rsDKMMMfJFt=vRsoy`{e`3(GPTjm-6$&GBC z$~k-Gt_>A4AOxqOC`=xcR zmfw+i0gtvMm@f^zdgo_E?W{LBy|)r(d^LPvzUh{}@}4}M1ktUU#u+nSOuA8f$w=X` zlA7P7*)7u^y^|EMmDJ}5+kCt0`<%-wm>>2pdKJW8EE}}uN}B%Jl-mvBlk`s*CVlu7 zyY|ANOab+6$LIO6e_i_G*6ivd$FFJnrd)fFqt?ateet__g%jnblx9T7mdTo&TcI%H zw|4uKIaLbRH+D~Q)|eY=6LmtYmD~LDuf5wA=8B&*f22_==lOC@QD)Pb`{qwG{Bo_D zL!Kz5-pDy|ZTqa>`n5XMR>?(EKZq={+fwo-+0~5yUf=qyrq7%^DxR+KQfl7PG1pRMMVXF-%Y>xrOEucwesVTBgZex#BpR?Fgt9&yta4Y9gala>dSS37C%Gh#JKf$ z#@4Y{?OykP;_)Tr3a{BC^9*En{-16v%I4h|b^XY5*YE5b&k?d#M1k5+!+zOngq)yD0X zNAlAGwA9#ys;r-joMzy5(dC@|AXWL0#%Irf4V5Wd+x6J5yGA|tNelEAnG@V<8H^$CSPWrv!e%Y6AC(7H|-W#4sI5Pim)Jc`w=UhJo zyf|$z*Z$b7wRXNsxBg%M&3e1bByXGUvvsF~m+?<;N{x@1uN*2=^z(_n&my6vI{SFy zdhh8cA7yyF?6J!yrivf$d@@raO-~(sq`lL!n<8VjY@)+rzlN4h=ioe+K(P=4b z=*AnGU$xFGx8=TnapLw%M(=NF$35lwTTs52Ys=je<+HXFx`p!E#<4oS329#)d~0Wt zQQr6ek;d91u?4~%j|jhyr|+#u}ANzXC})X z7WpXjFZZ6Y`mAH%Q3k$RF6G00FGIES%DWr9w>-?9#ku^{v$iQ$ADx@(=@TnEwcNk= zotIFBLeIZvFaCvpyTsZn89B?0snWON6*%b+$!#6LP{P53Bda++8 z?)TiS``@g;LRdAr`e# zN0}PtrHAKacc-QX9A@E+zwe-RbH|tMC9yg(t))qouhaQLRP#5z5$c#WkN?T@UdE@! zMe)jypFc9&9ny6&R;?;Bb&5bj>I|J!-eW5A?_YJ!++Co#f7+56wy)pG+zfW8dTh1e zbVBI5`j`K=9A}s-G@n1|_v^cR9yR^RNRnf4J#KtW{i*VbDbjD9|1nk6i4>dt%RFBA zL+8zlGrRBm->=zyf&Y~G@2v_G)@5El^6SZT{z;5{+uBbXMwqXN_;R3Smh#uSYAvou zVkK7J*Z=Z7tUGPvr8ApK)+em@XcGIs`l*xND!F1y!@X=Z52oZBO0U22`tQ|e=XiAA zTsf~Uxxo6y!gG=5+irZ=?X9k&$<>qj@6A>tTZtSSvFZ(nUr*onk%NnQu~(l{(1BNH z^G|6g?k(G;9Gk`5Vs&g;va52$yk4hV@4OxL+QNz`s^m>$BNsd6wJLtwy!=W zP~&E8-J%tF#$#Xe)L9OGvu1H#yDRojv+je=QU1mPfs|^2nvVP%)!$?NvJ;P&=3HJp zd%>CGIm^l#;}*H*aj-p;&|Iy?-d+|WezccO{q$jp%rbW^RXa4MOsuSL>+AaJbenX`BrOF?NxNp6lyQZtx zbA|i5B7@b;wd_KHCpK+4=%W$t8ZvCoaUy(IWBRL3d`V0*+%5Y_AX%Z$ zeC_+lCF>?L&AGBoE?R7wS3`j1ZOsiI-4a*CEYH6-`{8RlpScIEcn%7@@VS+=?Ybe) z#jU$yZ71Jl)Yz6-c6ZwP0_*F+|AOV01n#eW()jb|DS7*?rMt9xj<;}F|2!D(w<<6) z!Q}kB$&0q}KK(lF_4gX7iIMGVZyjE@N<4jMg=8*&aG#j?MNXv+2TP?lIdjc3a$0!t zwn`48@@u|xUL5;lzCNClBPh9Yj_`DYC7po|rV%sdKHc!pPt=Izd;3zYb}q61*@yT- zQ_{_(XIwMwe_5TK{5HsU-@|#y>a*upUSK)ITDg6<(^-pEx*9^!g-d%EJl*x+!M@qM zB~EPnD>t|8rscHRDuy@yta@d#?!*CayJUZ+?uY-c_^dnf!_O+r^zNkOY2jZ?*3NvY z?)Rtc^f&gp))v~2ovj;RbG%5^{Kei^ z+sL!_#*|4rZ=Ks>zA*7py5i@#r+&745Nf!t9A*AymP|yj?W67Qo&KM8yR?Uy_jRwu zik~yR94=cVacoeN3x37e7#pTu5%%lWVu@eY``1eM?)hE1pW!D5*U#N4{r@MsSvzfd zlho<2yKqMG?X~-TV=oG>VBzze+-mc~VaMGWOxv!tZ)49DU()d2&?#8%;JqX9JGS1Q zQS@cW8{V#q7Q%D)IJ|yo!l+cSg?(Sk8}2$6?rqx4TN;<9ZI~x-rrHrw$SNa#HqUp{ zM~`C}E4AJ{%U%9CYr~heBF)S_MKbKgniBk(@2kD7He8)Jca!hYNx3^!mV3z+3VWC? z=3CjzbMrv&$%^+yY5}agN*pVL{Pw=-*jjve^-bo0(@Iwtxzs)7d)VJ+Cd@bgqpk4z z_6I7wuXf!rkYZjb$jELpC%d%h#Y&wo=hI*B4=$Em;q77Xv0Qw8th#rcLO;hP?W@Yl z`se$z`fJXAdZ>JB7Ydn6#^s@r!8o;pnRtLRu{oXBFR$IV2l;bmzIy zpBcNjy?##<7kGZe^2nl9CbgX@^B>gdvTN>MxBbl1EbYYOGq!FqK7VyV|18I%rgX-p zWfP4BKFc1O7+Skxs&1d^=I^qM+qb_6ejWYoMSRKbJF92r&p#|JB-FO!T}zgu?T*Y! z@s(?nn&$E7DaVMl{{6*VQ7k7aRNk)cx6$!Fw^~>IVz-&R&9AKr&rCgPWZ!gjUr+48 zl|FHQHaIvG87t^7+GH!})7H(?qfvb(r#k)ikt2IweXr;vB@-AoI1wZre2~Pd`ch8q% z$;CUXUu!M0{&?|b;TaK~cZqAN)s|}YHRlCN|FzK#kUl0?b^5ifVtB{NUAuWr+WzEn zoU_z?a>r?^h}tuO@)z;t_kJAK-LcH`%ymnT=aGAFuij+BpW$-8S!QLK(#k-Y$!29A zo}Z0l6H#3?@3ii^O?}Q>K`!!PmiHn;Om7PwziWB%!)1N@j(=N4MgQhJ%-k}g_Wz+^ z|D7i*d;}SD%;&iX)lE4Zz9{Jbl>JMuY`%N-{!2ZRocj}>J$<}&*}vJYyKYyw|Fd9R zlIwEz{MXs@iyj~DIo>hIKu5DPS9c$(VJSO4>2!}U>rsvC%eHmx-Td!`N#D#XZ0eyuMZ{9$HKZqpL>|-q zQQuInA0TVO`J`vQ)T$Y$&vB-|ITxXE-iY7PDnG9|;_-#F9p}!j-}`}QO6h@4#hjf5 z>^AXMd;FCrch9!$irx7#)#~Q*3ufCU^C++2Wqo{Im0UMx6RynJ;= zh`66b;!C|r+Bx!F$BhcC6Yo6??hHOy$g^WPyVglb_4r3~Qbbc`-OwvY)Shb*wB=dZ z`i>2HTJqg@qji7XnBb(_x~!Jfq5JHQ=`)OuZm-nOUUAfj`|@wU=$+43srKg2I@Nv7 zUi3ka=ee70hC0(X|8{!9=_aKXy{4UABJop~+K!W(Cw`yztu{(0kX60oL7YhVt?t*H z)k_Y@*C!~>-UNE7}|L9DfIV#(ck}s^}_6;wv=ag znRy;uJS=>5*@O4D6gd`j`OK8d+W0=}#$~YpaptJ|yLuSy3=5`ouq%G@>5SKQoDsX| zvH3sU4PVX#`K@-nw&9_&dE(xTZq03LtGzYqI%E&EP57YCZ()$hT;^Q8(>w2w%+slR zo!(u)ZtbX-A3Edfne)F&KF#}gCAdtNQSVFodCB>0)%r>atWVw_IPkF|*nP)YM*rR) zeapU`-oDdIoqfx}w%;pG*>AmNoWS?BGC8AAHsa=-uX9fd<>X(e-oL@mN%Qx#X}^@@ zK5TMz^^*{e`Dy%vA-YhaSjlGLffp~D;`>rd3>sz?+McMNes;R9UHb`#RZr@DA3vPA zc+Jh)v~#teTEBctKkIc^!`Y(zwZoF!`5KYax;EbXu_$@^e6!6=OJbh9JXjw6V>{bo zw=L)YuIwodz4PpaU}*FAr-!6WCeGOZeeyp>El}SY{gfd8f8cOTsW!CgA%w!2@^e z8kcs=Fj7@EJ6iT==gyb)ObuVIZ)%sReN|hUQSyho^YFT9B~>3ppKxbcD6M$Z*1aR7 zee>t6RTYe;zivus2QBFS(lkp|UHtX#vTa@=&weETOHbXhFOxrCy2MB3f~#WY*XXnR z&MmQ@X(!$1ANsdGXceuL-c&sydxyp1rz>mK_I!#p(Ye&d=un?| zdW&&Uvz2epeFe#2xp_O+IEI}4JzeptvSGcRz=Wy$QrVyNPFm<`SpA$|S*&8t0rWO#^F9acNNB1?xiq2;8(;r|SYt)Xw9PGx9u{vJ5R z*>AE&qK!|}p5&YMMJKDo=3G}>Ups@tbNLkinv+MhF3k+s)8(MG>dUl@EiY~%_e&M?>RL=>D?)<{mQSlE)r2x2n4=W}SJ% z5XblM{EKFe_yt&0MHZ_2YfhaYxy$)3z!9N)`TjE$n)Y%rU2FR_do4J#H@h6t$o0?Ol=2 z=a-#Yn&srR^W!N`L9Z`+FW>5A+p>FAL3hrcko$|h{XH)>Pc)2v^NW9`c(}h^=>$%T z4HNcW?`Beawsq~Xr3>e=g}s>Nzrir?Lh+f`-Y;H0(e1K)=oa~M+V*#|TxE6Qi{w`a zhNKzH<=Vf1<^A%FrTl3vpAP?;`@#OLdtuv>U8~}C_>Vv6XmrV2Yn(i3-{JF8%a`SQ zirJmbW;vDV_vV1rE9cJtF)LPX%{<+uvf5hQTY6tj|Je0IBQ^mCaTO0+pQjWkS!6ztyOPTkb@+zN_mY>tcF)tl`BTHl%H!6r z3tLwoc$#Y0BL8N(%w?bD$A2i;N&HbcyP&XV-s2Mr|0PZi6SNNBnqQgChRb7Lmw#-}dUmoABAJ^NyH zOljJThkYBf@BHvTxrclfL51HP4O&K(dlc-ML64 z%ip{5vpx7W&m!)+X41Nlh~`IeN)0zyVy8HCN5wa9u3f%o8}It|t&5`eWjaXz$kXiN zo^c}gfA^UoCQM>6oX@lp-g=f~iyLVq_g~Gu}OJ?4bd@se- zabdfrkMYifHSc8iAHVQ8vRI{lNBQ^W_x@WiseKU7e)(J{v^6lGWBQIQ)9v!VeC%BQ z^~a-a#&eDKUA=hdPPE8}(Cv%eJmkHVdErnV+w=;l@?P!$hZ_n%S-@1&vPXd7PjBs=WCq zI(PP2Q}NYL%GciXPAl1ST8{Dh(#c7`Q&^Q6WiR&^a^$K!Uvbb$gL_edjOK(Y*Y78G z-j`X%!RCEX?0%_CxWb7GUT@zetav7EbwFs!>no>IYEs1(>pND-%=fUmbV}2Q_mb_Z z13z*mNH{+HXx6yfZk~It+04bcE>{kmSorRxjjb$sc6qzPuqV!cf$BxbAn&*NgTiw^e_?#CXfNzQ?xK zB{YAcpqQbd?gJLbFTliypQ4i>h|bHy|`=9wUW;j-2Qz0@oLGg_s=`lDTf?j zJ7`wfxKqPj>l*i~OGaXXR{zX3s*dyjIulsbP&)Im*qXC%ZkEfbe~#k)%O&So{&8z0 zKS%ZLw$%?Srf^fJ8|Tb-e{6NP7mF;^KC;RD3R9$NpN7x+#d`kE9={lN$Upnc zXldr2*Orv>|Bc^cmp%74Itjgc!s2TrIwfoKGKYk?=La;8@fM4`i8KFdeWAaybV*Il}2U_IUkPGp>krhT)$#uHzM*GE>O4 z>k{wDElgW4yBwFCW(Qy+Z3Exmkkz*C-?Dr?O`{}Ne$4*_UJ2^we?qmL^dsDY0T=*RH|MKR*ST+mR$rG8Kg~a`8Z=ZC! zz`N12(Yi~j@S#~n$NxFItakp|DYdaF!tsPzak%o5wi6qt-C@_sdnFyPQuBqlc&WgP zgbjPs-&|B1Ms z++I7^`W}f}RQz7OSxhxhG2UREl2ggIv&)}FCz&REDXhLwa6V>&@5^~noR{u|wpN_# z*?YxAHL$IV&7}WqRR4X}t7prS&qOkOF;7iw4meg-`)>{B?=^SMJvW@|cX!b?TVB<5 zU-{c!ee_-waOCoZ^9s=`?~5Nd(w~;QaC2kG!kU;{`^D6KT0Sd8Pm+yL`1kbpfwGxr zO%qsZM01baUL^h^!zoETdy3vswW~aSu3P3NUvDq3zmXp(J>{+$ce}?q=4;zNr3EyI zv9a#i5FX6Dpu6>TXxe)}ZDEG4(4AA+eja)LH8FF=n-fl%m4b&KF)y7r;pOijturD; z4}und$S>5N=HI?@%E=1taCeiQ&RJ#7R?aNRYC#(xe?HZ@ZMO}Fzk2ZD34b*CGv4PO zH_+T1-g$l{zgWDhfA;K|-FqZ?s>GJ&{9pG*okwzA?7{d$f0y15yzpdmxmLYu@aY5U zP8M=*=bKkb`>pK$b-!!-Bb5`cnh*TRD7dn%Ac9>jbkqAJh50^NRle18=A4r}v`&0m z?UGHtKXN@(j<*I@`SjT@n_p$e_OnF5YTFW(iRRU7`gs4xoMG8K;m=1ojf2v+!m_vm zIv+YX*Z&bv})7r6gqdBF|K(6Csp13z5aerg_UbUahB^+D6>mpmoy z(;kPoIxJo2cXH3ct0`ZeONKrv6}q3U@4m0DFU-7EE_if> z%>@ts;_PQvSiie9N(EmPVQrs$@W_=d64km4$Id_6mapwCec9*Fu2uQdPwsiX;Jb8` z>9IzR?RkI0-J8T(cTH6|y;WeKUvr~sU|JI;Yj?k7cH*@3f-G?Smmaj z`w=H<$SNn@yJ6Scp!(!{5{2jU7-w<+-{JHrhV9s4h03j}^1tL+FSG?OoWK3dAid*KCttuFmEUhJ862pYS+qPfe)6|Vrp*q88w(cQT5^${xhQG*q-KdFawqxr z+L;-6|IqOG>CDmSzv3-}{4%TAPhEUOS*Q2%JZY_W`10r3)Wf@SW~lWE`G3nQY2>~a zB6j)P_OjZCg;9m>FQ@XJnDOkLndBb1rw?bG*={?%xaXu@=ts*3`|O_;+kVQmTDs%k z*B?vt&Q9!!Dfi=j8O##sSFQKkI{E(7y;qMlTwS)xLf~osUb}La2UDCJbJdP>u@o<2 z5}*8Xs@DYNw^uJ~E&5`(DkxD_i&yI7tcB)B%q9LT%2L`a7WTi&^MFp++PKhX*+Iuw zt!An>V)s6_HgwCL3bBL2vd3PFrY2pyZRApXeCt|)9pCN0M^wt){kZjBdM@YR%@Riz zKiK|utNO|yMgLb9Zf%dVcTM@;tns;GU)!vEhpf5n(^$8uXwL3`A}Y@?bA$5Eb@x_T z@_+DLx%elCPms`DlaF`&Jb%yo|5xDQzLdt)+PJJNg}96kwb{Js_Lmm-%$hn|e8$bh zZEwH4WYB2-y8Rcs2NT0(@A*sz%Y;8|FF3Kv!D?FV+WfRV7tdcaf6EhQraf)io;POi zHlDulI!25Xl~SLVEI zoptl+-lAGg&Hw!`1B>^*`54J%A$sy$3Ab5_JOk^oweKDrpW#yU@44~aO^uTuI)A9) zlrLSw&3$rpglAr~=*6U~&2|?onGCN2XX9U2*>veoEYL!qUo* zoV8*CIi%J_wXDMXXbzofzTkWIs&L=Zs-pNhM_Iq5j*zRQ2%ndWbq$wSDf*^e0Jswy;O}Uj+OCxUFx! zw_`!YWDeKrjHn|*?TyRVzx<`T;qEuS+JjFw!2J2>Zi;a$Gx zkq<)VFg=vHExo6@>}QE!U3*#Q`;hpG2Y=W6I;XvOwQP{bdLwqV7QGpNIirhPb3_XJ zWQ%9Mo*XXdFqL1%k@vV$R%Ok?qNTwb#Xc<|s{-N^nrBbjC z4vv)A=-ipz)aYNMdi&8_?p3><*S}VgQ}gVO4p2Rl&dit|dU&7m&!}+UE6#EiQ=Y8< zl(ul3tA1Wsc3z=6*`e(Vr(xZe zsUEYdExFb&o%ToQ^7*)(S1yXJm-N`^w0mC_+x~AAFEfr$QZY41iTS%>hrU$6nG=4g z-u>dKNAxBiN$|B=a%|nD6q=) z%ub{1Np%|REe#ewPX$g~|E9el&1y!`+W-6tY7yZdjlDH4+uWYFrs}-qs@I$A*c3j_ zIxg?O|Krhvnmi}k{|2oxnc4r3JD^xz>*8(B^YbR|+|s?QW2&m)x8>oVens3Tuz-`mD#%b615lJ?`X=-kZ40 z;!nNt>H0(5r?#DZl)Y>J56vC6N#~c(Gw@Fhlsj;@m3RKnfafzl-ig08*VcQd1+$oQ z`1u8!stNBs_@1xE2`Y%#bf)EYTuuk^Gl zkKZmkuKaKDjUt^Svy<`3*V5LATtB_;`ksmxC!HrN81rZG#s``nH(u0s{)y1h_98;b7TJJWGDwb1@~`&l z(uKD74ohYVulUVwz>>jK=512)x%!NL_1oVuJ||9lta5tae|FBFV1pAIUR5g3+TqY# zESJ5{kX5eb+V-SZXPx~xw)yW~-E?y8JEr`_axx7U=j$li@6EdRyg7dzXVH%G)wCR@e#a8u)95r)NV!LwdPMSCpwJRox+d&8W)yBT(#-RY<$oT&D9 zUcmFF>uWa_F0wwbUiVGb!9UNEH72?`EO4@If4%#`6#;ImwwQYuoeE#qegE?1!@(G*b?;_{**v#C(C*Wt?)1Ad`dj-H zp}aqNbAEnUab@L-*D<`0{T(Ckwyd~Xy4SHXW8*2-Ku4Pfh7H%UyYyEvFvnapE54l& z@M7a~xA#uJrZX5m_qToaLSLg|&9gJx_4b{8ohwvUrONfJUFg~#v$glklw140pf%}xl~s)6?2=sH9k;g}n6Pfvy;(2j zE|&QI{rikZHzZU4o;dFRc+yg>1LCqJt$DL-U-`BM8l~9wu~?hWobgKkjf}zf#R^+) z{+|3{PfgPPwe!ldgf22Z@YUu&lD=?f*$%M?e)Xr>!BJN^%O7tDO+9bSUG9H6Zhn0F za?K?f=6|_UN?uCs&Aq>eNhjb{xAxY`B{Pax1vXvl*v#|VXVqeD7RUC4Z8K#$X9rD+ z3HtJQjo^a$pS6!2nDhVM*ClIh&vtL{yrdjBdApZY-9fc5nX92k^EXV@QQat2FLarP6-G6s#bk?rcnPqz?|oScCwfK?(LTz z#uv@+;IsN;C?tL6(#o*pgY$QG#7J9T+H>-7_UXkcYc{c5UDRJCo%!;p#VnaG4`U73 zFCCT$3{=-!ugA~#L-U#bU&om5(#JavW6t)D+nUiVpFcl(K1&%>9y4Y?1_N|%p!C@C~KD)#5VYJH{Rg~!C-*sTlW z@vmb3b!Sa5JrTvUN`U*#Wo_Ud}vghZ~oZY{jSl+*>K0EsXS7Jw8AfvXmX4GT0 zX-CaBcm@=PMCW@vZTY9=Dylr2MUKnwP zxS~Yi(BuD-U$3S9`MB{%rpI5lnG1E#?%Pwc(nDa@@yW?f6B|k$@0~b1?UHs(vEZXu zD__s<@C!@2?tY`C_Q>iK)rLSXu7wq$%9kx<^l}dIrq@q$T7FHpZKqtUyi8gV*D}$> z?bXZlyf*FG^zrYrqRs1+E#EuGMlPGbBzar3U$NqMEvemMVsDn&$L+c-^O`5)h;Qug z?P>}(4m*}cT}-S$*Yh>AmKAud+4{M&F04ut5GBwSi{|04UpY&NZvpVJTSzIrYB!-eunMLtcV z3ll@q4sZ1FSJ`;uXvEJ#1I^#@C$#omb5&gY?AofL>>ZlBcCM}7&~c}9QcuZLj+DtI z4xzOH>vk=Vv$MLTzHRT6BR!jD=qHt!{?&|?^4dRRHRJz3tl4Rw|Jr1QU(T(Y`ttv~ zj~jzu>IZ*MpX5-zP5P(z@zc_6HBaJe*L|70)a@64@>$b4hnbgdIvda+QtO#EF*-?g z2h#MZH!syq&M2^7zIxAtojONi_?cLiUM~?f zJ$G(TR-5gk3)-s-_lEUX&j^f(*)!#IkyMU;6U+1Rg$s7=KKJU-g{7WXOOj-++TG9; z-zs>ko9Wr%7r$>za}RM4ernP9YgYI~{mX9R$C5kkr9B%|zZc8>*!SV`mxijp6Mk0- zB=l_E+NmHW@K zX-9?pG(1y$n`wtgWp@4j#0Mf_c{@Bsy3guNao10LC!}ipdT*x6o9{;(A6$ICQc%e9 z{*nbdIgF)ePBdexR<8e{aO2b!?~@-jbbm%@Jr4S$^5o9np#M6VNujJc-*`Q3XO}6x z%##o>&1F0KsBVW;Nm@rmTi7%E16N;eb4_77pE}nfyKn8K5BndyUj8rdPvs)XMHhcR zs+ytkC*fB5CSRlP+Do;Lob1Z`$d8-<7F;rCwN( zGq3a^kZJ+%F9b1y5FC^WPi5UapBh` z6Ox?ol|Dw@)rA&a1`&tDb}hYiP>bR7HqGzCU+OQ<$zGZ2S?YC=X?6Ey z8`j3Md#+{nk!1^~+@5E+D(1t^-mAg}t!Iy)EMr}IPvo}mZLM~8%bih&9h`T2zP`0z z@4|)1a4CZV^E(#;3NEU-Tz}mw9(;X**Zk>)ulYNZtWUJG?q9WI@*_)!8tp1C zvx4rjeXnOUS4>)FY-LnD;q@k=k~6`5@dXQ4g{LHiDTV3JUcbYEB<@)tylUwBO_LD-~Wqej>U+b?1(NFKYybs@9%u;fcQF7 z@#0yLlCEd^_0B%qw@>Zs&yD(_V5gWkE@7Hg}1$lEX8!?aE-ut)gx*-pK+>F$h9MV>k(wK_G-i`qJh9FHWQ zD`xsumuA#{-PHF);oR9#2Wy_ptUt4-d&j)a)QryuoTl&Ff3=C_(M4v1JH}Fuul0Xf z&)OxkspHe{`;UTFFnwaY@=cVAE4b8pWh z&jQwbZuJL`HTHHdE?E+i=sNF!sHTwb>X@#GdxvM5g&C`DIC^eV&&J z?rIEA-dv#Y&+XgmHFqL|oKi~W`Kcb2SmepxAo)3c+7ZLaf~Qkkz1nP7axeY%C95mr z3J2%Cqnt_Z{l2Y6+m63pdNV;Vnmc4_M#xs_mU|a{59j_^K2!0`dxlo~+R5iVo^R38 zIj=1smdC%nm|=A+9Lo#O5WBqJvx3A!zdA4cUBM+ymQh|aD+>+`Hb`4MG zZc;j}E4#keeDm)kS5!{&{?&MMX2GMy3QK0nZe^XeYs1A_t|LYoXL2%j2c6vhsmIaT zranLQ;MU|9#X8rYdGVWm@H}e0;_;&SGbC==?sc(jpQqLJ;0~wx{N^P`<$cbd2-|sZ z+OLCaqLPG|+ddxiDz+a_q+*8-8gj^4GpC!_&ukj}2^MBo=Yah-z zpM972oSl;W=e0ShQ|1PK{kXwgx|sL-j0mYW$^kiNOPwCw*{=OmWuNH-mL{L$A_`e` z!fRcY-dQ=9U#cefp!5o3_A94PpN%;t`u2YSv-sZqX^;Cu|J*fvoZfb|BxOy3>-6)R zS&YnCt7|6k{kv@J;V#{+^6Uh2aFwrphvW487t*tD#d~d1WBezy+3vCW#yls3uOhdd z{ol>{4A-%s2b_paD+Syp6c@wW7WulJg^6**q|#5awvpuXkrikga-+?(uv%$+>duxP|ui|H7Xy&zr%wOhwco{cZKs-3gnGrXNz!y^x@5&KI1%Nz(Gr zwBvu7RaZsv>gN0ZQg-18zPkD3DZbLDJ2$s_!&1DabO1pM2bu9STv|1z4EOV*1*;-#6og15rl`S@2X{-(1oOz;gmS|za z(sTytysqOZPQ@DAcRt*8;#Bi)(*@4z{{9OD_b8XTCmsL$SVg)l>bBO!1N$S_WhK1a z`P}yMlOs7uwpWAel;nt0pZ!fLgY4|mB`w>#-!reM+oEco>PssrWn`G*sb|8ZNsjt>rRmKO_a-7Mh|a_Wvl^;Xv7EmF@? zF9XyGYnKA3_vb!f^I_h?| zyUsEw>a73GKfsytCwnqgb9s;Z~k`OP=o2k;k^})r>6u@?o0o8oJ;L* z+9Rc_eUGa-Lpq(V|7{m*o46&`?cfBh8Pl1RcJrnhg)H47Z7`ue?+{=33YKZ*l2e!3 zRV=)^*veRU{a=&9=Pwwq|F-vvc(!P7?eo=Ha~2i7XP;Jit-@*7{eGsUm)N^rh-H+S zTZFhy`P;I|@7B!MhkTChKK3B?%grO_4@uA4du(TMANSnI3f|w3c|Xfc77gb({Nc+r z-V>J<_RX7BslERC_C?B1+^*a&;-0Kf8+3Hn(XH?1?3Hx@JsKzbqc+xTRsr&-p2r=N<56>w9{* zs9o$*Nz9prie-nUC&|BW?cDM>Y|8Cl#m%jq-I48by)QBs%+L;%?K#OdOER4MOn&5= z$p$ZPzSypH;@KnlySYto`6l}@Z2#HyQ7d9nCr3!>bdl%tJNBLteNb~ZZRaVQy>jkaz zS9?#6OXjordgnHeKW+X z4PW%7U$Sb4|2z5VXxeI>>obo&dAWjTzn!^V{+0PWQ;y|r=>KT9uhZ#v)J@fyM^gEC zo4BgC@YpCmylYpu^U?cdwR5l_Xoc5xo`aY zgJBT&Yg^4PCZAFdnXJfXvguPQ4DUQG_G|@fATvY!q1DSL=2$o!+}(AOv9Foqrrj>Z za}G49|Gp zZC12g`fGId9>p6Ewul}GTVFF>*(P2{^x(<47VQ)Ixq{DZTka%#R{M4``-?6=woz|1e{h)t&aY)B<4~z6;Oxq5L>}Egzdyd#@S+18``xM@%+=}uk_Ld1V zy`}kMe$;s>oeR5Utv4LJ9lpQrZreU<9?39k)y7;Sx1^Ze_RTgj|B}9UE*9VAo>n3d zoA4p6r1QgB7yn4DkwYy$bW9*6txiMZRcuH>So zL$1Lwe@hdiEV0gGf)(X|dUnr;h8H@^x1mN`}=MU_b;rvnb&i#qF}!1=I*Oz8Uc^b z*7C0^zxq6neM?I3-ff->O^;0E{pMfR`TIlGx(Cv$7|uRYR;-L(&XHB)d!s|=t>et% zb#FMfmo2@1a_)Ay&s*$285>C0OgQ&~rMBsm_}@qSo)}%k!k}Taj?YTs&SKvc7855s$z7Mxi(siXj65lBldYZIDBkn^$SS6XJ7?dT z8doRRuu;bCPR@a|^RqjqPVG?*n7d%!eUa$ThQ7!C?DS4qxBT@f$JmK8%EPB}Y^!`M zQtt9!skOf;tl`r>{l6dLj+>wTWvi+8P&sMWMvKsp{3=2m{k#=7=W1-q)zC|Z|eoo0S_Dviz~v9b)t*PhwCOyBS&P~+eo`-X^|lT*$s zRIBLrU+UbnwbbonPrwEHS6;tZ{=PpU_sm3GxOQLUSMlj9Z5F@do;K0-v*#JDZUK`+ zOMDX@4nMM5Q}!+LSZByJhPv8&<${Kqc^Uqtcf4+M25fG3W{ohs`Ypl7lQsW*!!N_b zdoykpa{1=xPEAQ~<;cD#vckQ0_p~16zTn!!e4;Ows_7@OKA1mo4Wo~q{o>A51^c`= z^6xa&Ie4Nk#y;xSov<^aX^zI%;u5d;P4buL{q&_~P3ob4)qLx^B)aOGgIi9kA61UM zI-^wZpHb4Ro$VbHe*URSoUgmtZqlmx$zlr*?>IfD-r~;kC5sz0Z-kb8ee^|8Tq<}c z@50AlkH+fFm@E-#sCm{!Rz}eEsy^51E25wJOIqHvFWAVsu4;dNa-H-L*T# zi#H@y$ZdTr_sMh9yz4u2&;1X*E?+S3tZovwo5zU?W%Ez_Z(Q--b?N5c7JKQLaV)&E z6RclyDt#4oF=E-a=e*rHE@RI($6xcV3d#O#+`{={rz>w&t>%#%3pYIabbFo!cWd?{ z?GimLnO7RyosA7S-_K5WGn8$Ko6i!Y6KZnOX^EBPoh>g}Cm88OSsn7R_?h6ht7zrz zZT`EqW%+;FsT#{^wP)3`(qLQld0!3gh96ov;qbCrmwL0}j%hwAvnPBz^z<38*x9=e zxAX=3`t$x~ZEQUG;?Jb-(rtNSJ*j`P#b@to>Yp3%z*LFL$hP5XZoz%dZRdUKbxM}s z*>x{{yUXV*JT(dohciyz`sj2y^5#ps3XWM@q@sTWZo2VC@xzoPj$MyKjxKopD>7eL zZR$Gx&Z%K3J=dGJe>xR+0>h|K9#9=ca0oW7*MdalS4|-W#7b z7JjvK>U$}Z-?}!+KRkbpp-$fCjVIpko|o$VX<6&W-4ZVz-p<^!fmi3~%!mX2%!|Ii zNN6*^oh4v(@6_9kreE&IN-zJ>6ylKvFnzG(kWuacb=35-~W&^o9(;(Yw2Uw z27*^Ew0RmdubUE+aFy-p)dLYv%5}RqCsf|J+WhOoHyJgx^#yl=+9Wzvrb=$wR_Ao` zk4B5x^3vMPt1sA;i;LZQ`%lIPu8xJZkR`pHRHm|g`)tt9``}N(c3SS7N zs7R{K{FWK{$^SH~+Lu$Vw+W zvVLc)_CaM)b_vD%eNX4JKGLm|z3j7`jc2|3?*6y&pG^PTP3@K0Gdn2f(i6^(ht0oI zjZRd|XuJ4tmeq8=SgD(8x6EFD&U|Q15PaMKa+DC;PQT+SPWgoE@dF!6*IX{r{{< zrU#Q$zi}O!8X9=z2&1l=bf9rAJQhKmYL1JKwem-?wW?Ki!aX$U($&@|B1a z*-N?COg#QqVrR%VmhY2H_N&c~54~p4{_%;9*eAUZ%gnl~kJkGNZhswdiHDs(!6QTd z)3Y8vCv8ku{pUp9iW8W;K^Jb!6 z$JA8&$i-X!c`wlnov zo$lSQagVkNe}3lA>^ysI$&O1O?w@qfv8@tm`Ew%jYIkPDhiOU1aqrh{s@_yw z9nIXf?nh?bg-=(UiV8Ihi^Zmx<<8=`UY?VFgZJaQ?~#dx*IZsj z>iyaL;l&F9uJgZ-wkq+dbuM(fxS@<)&tS#Hpf9gH3@%mA{I#IuaEGJEtd#z6-o5+% zimfl6|EszGOnS}}4z7tu7R;(~iJ4~TySy?|BsyZXhwi>uhUefG_r`nlw}T3?=k(Yv~tp+-U-w)0GmJ^uSMvsj>p+5Ah# z;*~qH4>2zPbLh&yn&ge|Y*an`zCE($F8}DS_+ayb)m#s6zf6==vklD=Ryb4ToqU!5 zsP%kNGnLFs;fq}>FDyxx-666tXyV4CeOsP;eqOIG!6rYU<4X04c{Q%FN!@RDFAOlB zzNydsxbOQlc3tW2{6Syb4}=>0GVNjso+zm4^!Hy&{h4`>bCb_|>|t49o&CP)WQ1SG zGS%t4u7?*_RG4cR+>bkAFpVRoW&WnC_mspe_DIj)=sNl3?v9?_WnD54-p({WFm3N% zp>OIMH_uQ1CGTATd^?ijx>=bWoSnj}WcF+D_^BLhIXXRcQZf)wj@k&|Y zZq3xio$Oy%@45CP`PQ?JLj^grzFQ;+w|Iu$(b5R|)AQ4r!7nc$GV@=79!tTyrPB2q z8X8)!OMO_h_WIS=ofdB+Lhem>-1KJ2w?EDsJ}=+$$=dAfsVSGw@;nm$yr8MN#o#CN znH^h>&Uo$g& z=j~y=*%Y8%HT#`bQGmrQ$;%SG)y?%QZ%SSW>5#Ft{3bOyndQLN=yP1@Z{HSO+5Dun z^ujm_zEg}cxs@K-%7yV4C&Z;B?Teb3CSEJs z-x4<^dX;d_`uM$~c+17qbCS7s&E|%@-%gR)30TcZ}`Ce#@sVIZ4a-V zQ*t1I`7F=9Is8+6A1q;=a`tqWNBuf!FM;f8x^7jsPR`P>IGFR>a?!rsD?2^e_WtjfI>A+@POH>0-f#2H z<%V`|jkR9zwSE=2eE#5@4!0|RUgx>R^ae_0$}UtnA0{!eX|Yz+(gRyp%saL?Q*5oY z`^l{*yOQbJf(L*x>g8Hs`Rd z57;9Q1nh~kd?Ytt&_6xk(l@i`#S`P?yFT}{7#mGJ-x?jZpszr=S)hD@g<8x$-rP2? z6yB1<0VdH#3X6|PHZbNiTv2_{UMi4%;^t%BQQWwPWqJ}$lXPh z3VpV?su+{MegEAJHv=UCesrIFd{sNYWm)6v`n|#n-iPmfS8T+{y8O5ChHu*I)-1MN z#+qE4v~K&srW5vO9xON7v3+M)_{P!?Pv-tOZ^{w&ws^)7>k0?SZJV?js^X))a^6@* z#e6l_c3#FXd)K6&{wKODs_uuamoj^|anHpYdMoDFb6cKNp7F?|=jYa6T6GPKKNq}x z>G4QYM6XKJY`cLF$GnJ}H$30H=k|}WcDldz`>fvkE0llq*SwtPf288-S*Zhtn|Qvj z+j*6lmc8$LR~9W)`8(=ijCJ14gHwx3zB&g_h!#bJ5j)t46P#ddBwT3GpcxxsbG zZIh3)DJRH8Zj07BlQ#9CaQ(8tmw(g${E^BEIg(=R5%OUB6UHapUw=J5ym7+Jxy^qn zwmp2?@-twM^06;MCLa^m>2H3gTHkeF@%P=Z+9j$6pJPhx=Pxt(JbQv&b&=kO&bmui z0y+4K19nd;J9uQyGr=tBa_@|J6AwyN@mOEae?oSgr6?Zg0g|I5EkFEpn`8&5v9p*`y4=Hfm+ zu7}qg<05B+wW_y9{c$2(@%lW8%uh$K3Fex+Im;0{A8xL%EwUi z1k=4YCUj)pW+=$KDmKwps>yYStk~8(W9GNaEvL?1y}9n)CD+JhZ%P^rj!a6M&Eu;R z=VczSl+os8R;_Nf$?T<;MBYSRKlv{zh0Sr=Ex){F)lt)l%ghh|IRD{o zcH!NWxEpzqyOvmTOnnzFYB+K6>W}ySHJ|IQ=CQGV&t0RzWN=#DYiFNFhUFvL% zw^w;9cM4SQUi|oYXl+0m(+;+nC%z9aYxM?wJ$O23&+bEhTCq|h!4^NGFT6L;ickM} zOM8=?#m@P;n`dk_{&6+^m2J=ei7Na@Zn%`GGwjHixOkdb;o+};9rrl>j^6jYadBDU z;bSQicTB#oC0h8zUqa@aMeTj-+OMV6wR?Jw_g*?8uu?xlC1G3Bjkf+#Jg)a;_m=%GKuZ+X=nDw$1&a$8qY2`SE2R4F%&{iw}MKd0|OK zbIOM~dz06cOweiglC~{c>`=f4;Y4c|%Y~NO9v9zRzgJjh6j$dLzHC#4ZPfm*qF>z% za@HjuzJHszR9aB8%jczQUU2NknG23}*!%3WREoCP&GFo0brF zd0Xzx%ewpR=f}Uz0Q6>gR@r^RZrqB?RMnPS zG2?K<9NFuA{5xd@_-t=B^sJCBWGxI*ez4YAVN+wk7qbawYPo}e06`voJ3KB8&1!<@aC6H`W#A z*2_8_R^t4;c=sFGKLrkr*M0m?ujY=QFUzD-J7v0UTTuA?{Of6k?Yk>p^;%!ddmF>l z#?$q`_$LRCj*0k>SSR!ERbukL{)c^a{<&B7cUka(?vp;xx4JeSH~oI#%u#m*w*5^1 z6(28o`>EvT{%@OpW&2&*&zvVE{(r*Xdqr&9Zq@wR_U_~MzUg6lTf?(A1iZhxK1$)L zZJSqf&YC%!wL&wpZ!4?~|7yNfLnl|N)A;<kj+V7I6OJl$TBD=Zjt_`^8BD+U$BJw zj4#(;-KkyF+$AjFv%!S(QB8h&|Ed)Nzwd~oB?Z{5FWud6^yS;MX5LBnPyCL%%rZ%y z|J~IdEwAd3FDot|IodGukiZP##&*UfR@aMjvgXY^`k_<*%wH?M+OWwF&pegOkN^4f zuBO*Z8%E+a+=8{C>R*|WXDy16nh|4>7EaqIk>@iiHObGVjN zaM|b;J>U#nX>hOqyw67CDSHY{3#6kxb}MjrytBEY`=u~?-Z8Bclc%1XroFCI^2D0Y zTeXUJM=|p3dUvQKU{d4KomT>G-(T8t*`y`$eqs&#krQoP2O58UeYD5oj*D~Wfm{1( zU;p+O%vL{Xe)#2a!Iul$9QWHbD>B*~@s9{SX#O)PZD;e+8_~i?*?x7ECtsOemXt0q zXLI3>3v*=uUdu54cKf5{s`Q@q^4n8?oa{Z>U*KiwpnBz8xPz&7$ODdIot2iie>xrC zx9MI(?d#H))|2*nt9eh@m%iI-r>DlPw(^+*RK9U^BKBo4EN~CsV_{4w%;3jxqq~fX90=GCkos&yT z*?BuJtp2>@S0um0{7Lib6^Dj)E3Nsh*IIYzGbouNCo3zDjTR*cF7hYgE%^&&spOnuBagV-`bFK4^ zXS{jObvZ_P&fBx8k?t{fPqNMTnD)t4gEhL!*zQ>IlfB{JYhur4t^e~o)T=2ud2x=+ zyVG4ql$Ot#o}HhP(K_#A-d=4hr`pVY?*B|L=r0nUCpmv9&!MK}GNCp*Po}#6loQ@E z^DO_n3zv0dm@P!5w5s3CmoIF}RxzpyIWzUcN1wN?F_R7cUcIeUkdR{1kov4lTBY>l zRxWmx#dItMy?Xt_xhzi(c>x zXPQT?KC~m*CO14QD4}$Eo|$@bL3Wb}*Zcczbvm2>v{|wA3*S@MpQa_Xr#bVr?RoZR zJ5Sh75TC(1Ekpcqm_O6o85`B^b8CKLnf0bemHC@|f7O*+cUP}lEBDgRdoicY!|#z# zp7@{OH}c88a;1AgVNv17n!B_3Pv19uDS1C*y=zO@dfBPDoLaWlizYlae#)f&?0UD4 z@ym@7X={}u(iE$LU(o?qb#`cohrZ`p>7q-{+a$DPehFm;nQN^+HP4>IA2`8uSTX3m6{MUv3@k&dC za{nZLeCty>|8$#&i-=A~fw1eGGjVb3Wko*w)^|)lHR-uVb@)2j^Cu_|v!` zYSXjMFU4E^9RE7kGbpu3E{=9~E55o+)x+TCufiYV^)V|pt=WI^*Y_!Wy!GL_KK3s@ zUMe~gGg)fd#ashT`F)9%d)#d_dfJ*dr=(wJ@jCUh?z{$ zj4ici*sS%|zc`>7z;N}`{jYjQ&D$+rermXLF#gcB2)PEgo8PuJ@K^LDn7+?1UvkmL zVq?6(rmKaVNqnV7GuN`B8c2{NCwC9aNZX7-M+WVaJIs{do@J zM^#p6GKD|&tlaG-tL50VVAAB)DQT*fGghoIp5&io)+D4h_tvI~`d1e6Y@EH{CQHHE z`T0@J+ds`*%C)auX?z`HCLWgZ;pe$h=gY1Sq|2v0^?V}dtEle7m)QLFxPO}O(|ul= zlj}`adt|-nl2Fp9Vo(nJ?sQ9U(dJz)C$8qty_^rvRj+K$IrfOm5cO&<$ z5|S#F!|S;mwqm!%KQ9mB(R$IFX0okg`B{%APB9r~cWxa%e`-^q*PDjt=6waH zJ|98C)@AL+!KcF|)e;FMqsvri}l!Y2g)%c+Ib&re;qPnRe%narQ&TyXHaKsZlS!mw7np$#RGm_pzK=meg%I zOK9G@GkV#76bv;SZU5|$zxi{Xb58M}m7MX%*>azAdq{sYq;R-ZH$WCWZmxOq-JBHHOH+qKnX9fe zO9m=N?-tvwl*M*BWbY=X1v3wb8B5LkqpVW&r6hf_ag%Bz*M{|*zP(jtaxz=D%Jxdv zD(@~U|96%V#%lT8d(XWulGah}DL%#M^wl_}x8tsI3P;l$_38^j%MG_2=8v#=_kH65 z!PqZ6J^e+LjKDjtkYfT`Pj+bgNmQJ!*~A!A-SNSr_({Qw z@PZ(RSSE&r<+5R6%1iW(Zm;9e$!Vx<(fs+-gweNu%dz#VUa^}qya{z^=BbXU;5&O` zYg?(sGaDzC=xtvgaAx`>Jv*B8c*ntyC-%$82+UIV)^IE@=6o+2FpDqR-jDCDW4x(% zxr6Pjh)Sl8)DQD>73ZiqSt^!aaNqxMs;tXtlY9U7-+7*#aIog}vwGhtN8{XVwl?ZV zo}Dp^>vHI%=tE^@A8iY+DTOg5Z)8|AQ{ukAt>b4_;h^)2_6f+cC>`EnprD?*Y1-Xg zR!2GXES|M(Ul?N=KQ34uvx1*>>zvezqpdvgZT)ry~IY=j!9;Etc;(l(?$pZR$$3 zmn=(+EFT5ESeiNE)3)iSMYjH_$u#JiGr`aKM4sCI2;SJ0C4O6;oj)X^TFa?dyI*Qb zwRI8?!h_9~8-L(JK8$aFcAV#u<4N$8%JBC;&hcN2Y4O+Mt({9P z87G9PH%Pv${}p+EM+O@g&-wL2Hd0&H-+l4+?xqFuGyICz@_#)k6=%=BYSOk359MrL zzua$LwP8o~bC0jQ4|Y9tVipOTxIMMjD)s;GYnzUr)t;OiUs#%*)v%MRZ8Pg{Cx`8_ zAM*Ck;@Fg@tHQJ6icrY&7fR<0*LNv~ZkAs!@pfL|cBR*bk5&b)kE@7bH^_Ln(>#$S z$NSF(L6eYocKgi>-}`tkN!(S(zP(oIk$}sR(Ekm-nez%7Ryc)#3e~0-x1K zc5R#4QRfx+H+yBUxS+y$&bj$Q>=_%k@*KFq<~gP4TFZ~nFUDfA5zTJDmzE#y{p?ed zWtDL3{COSO|C4sH?OU;R-qn}$A1J+Bqa^WKg!9_78$7e(cM6B5{nO$Wiha$=;=Uwh zx#1&G@1K7+>F(bj_b6l0oMW>^U#m5yWaqqSc*3>Q@vK;M=!yP2UnZYqzn}JFcImOW zAcmAi^9k(rjfY*E3l_&~&1eviT>enm%&F-sS7kYeRgU_+9Pc-3UniG%7FbO)n?5nU zMufZ0;qlcY@^h^=rel>LPu)S(&|r--wH*TZIk79n7QTYp#-CJ zk*5c$r>_rkJa}F{;)ZJGlc@pPESz}_=VCoAetpc{GAT~rQloK)qJ+Sy$6oGi(znys z%sp*aymIs8171I_@3A$W=FDKmV;`}jHvjqbH^w1pHSUofjg$6lQ@4M->S+(djLzpa z`^6cqmfpPM@oHcG>1Qv~v-y}iHQwA#l$dwSbNYvqI#TswDO1}`*3S8?E_co}qrKBY zB3?Q(MBw}8S@TmW_*Zsq*%z1c=xsoJ%!2?o(G)jP`8P})sXKJqTcUM02KmJ#nrCi5 zR@zpUe~SIY7c*1#4gZ;TMa4HhPdMy0Z>vhGdGMXL_UEkbZ=7@F+QG_mjH0<`dv1LB zvzv9xgKMlAx9pA84Uaomo#|pt6b{H1jMX~$g28>smN_-kiZd?%6kOA+Aa3!oeAXvv zQ+q!5%S8vPoRv6~i%#qjW)N+hp2v{&%fE+nmzGXy>ybxi4AmHZ*iN^|bKCr9)@#`^ z<*)fK>ci6<+=FiFGA`8Sx}Ou(d(2t;Y^HVRBFR-VzXor4^`cXC%X4f97RxHjInMFl zENqUi-SVk;y@l$NhnX!Viy0X1=+1n&`rHMT4T?c*B^DE&{F7DLnZx$=R^euo?dsNT z6JGt?cwpMiU98MXJa#{xBpg>Np1q>mO~)k8bb<3<1Cu2lX%{E7oYX#-oh}*ti}z>$ z)!3%|l_#n;%zJCG>l)vGE&he!KFjs4IH#=puv}$w?d(+^(_7Y{iD)1wyT73;PVLSY9hyO_1|fR4BDgacx}j_SJT+ z&EAU|9T%u>v#ki+s9aLIXSwUSq>f$BSE$TlIe3Lrc4mo&ve!+mNyoR!ziM!|s7SmT zdbh=|d-wHuPgpq~DC}&Tlhj`o)LQ0#KxA68iQ4Vpd7pZ2lo?IF#MJpp$Sm;%EAzc8 zk9KY}pKZrfrRQAcG}*4`&ASiJdw8}=cOloG_5It>w%~}~* zhg+^KckL`SMfV0}VTe8u1U4FvZ$@19-yGkw|pQ5>NiOdyOQEe&NHH(-nLh|M0biB8fIj+*2 zYg;pUny_&RyIz*8iIby`Wlzb;P49|a_WTjB5V7yl2VO9zCSKX9*8FgRFOSiV>PI<~ zVr8fD%-Xhl(GKAX+m(FFC(aiME2!MP_h&QXRNgIdJ7(VvJj?p&cV!vxlI7Vabk@AM z$?>;$@w_%`ufJiuw=PTFDLB63?8li~^ct$pvu4-HMDO-mv%>m-3s@L7A5w@3| zc<;8({| z?0({@V-=sK?tN`>Cb;{(?y*lS@;jG5+dMb-$6u~nsULSYsC>J8`^}wAmcRWMRmx9@ zF8XBjonh9W2Z4zfJgVQ$nqzZ9V0+%H$WLyv$&dFxar#x@bNyi6H1^-ew=8L$82>Gi zxA4wi54A?I6$|cbn`+(j@N_NCsVqF~EECI}&6{8&mgtpIyz;d>W3u*zCw=z}`YjGT zPx6X8Ys`0RQ~PPoX)4as_M1d+dt3iy^0}O)v%}mzu1Q!g%=LT9tvlcF z+e}qDzHqr+yGiZz*>lb-GT6tyw+|Fvc+v6JREgIOvuZAezRiEuAHly-@QJdzx~!4! zi`WlMc>y=F{wy>2)&Fg2mhg=UlVdil`dfJDKgWuHEEk^bzs5FiYar{hto;wxRF=zd ziOBrevejt&rj6gV9P`T(Cx)};-RE4NIL(g9e3|SfzayblTezAJc5+s)QW0FRUbo3$ zU$yH0tYu50l@I0Y$OPj|$&t zWMPn>Ak!}y$dZ5motn^_Z~EsZ1V-p>de!K?q+9s?rL+eD{>R(RUE{QtO%OCFuQHFa zC=F1Rt2){z!%)6@S)5N?YWXvX(qq>91q1qjNSRsl)i*www20rDdxhCUo*M_3#9CPC zPs-I0u5wGixzc5?vB0b17E_P2x9<3vDC|0;YWH2(c1d!GeRQ@@XI(m1_vN~O6WBYR zRrgh-wqD(-c=>nLt?E?Is@R=M+w%M*w=y1{w|7-aM8t!V51fBIJIic5+G{`jJZl{% z>s0LVUy#pb;RStHwgn~bmiz`!uj?$i;eB&zaQ!ZcXCt=;ymyJ-TIA*X-kCD4BIcSLoY^qi6iT z*}rq1z_RVrrWQ|~KLQoL$=hGG&Ft$qy!gH5!+$q&{;~bCD7o!<%*M&JD*eKmn95~t zY$-P+6|I!tHboVOD7@aYpp(_o-=6Mu(QtR%8AEehE27t&AU^r@5RrSYbz&aU|mIx zhRULHXTf)$BxjkZFD=na7U1@|z9KM=apFO%e-hE!++s`Lp2>^w4Cr@B+hdq6dD1^- zQ}M3E-Z!gH9&+dC{~ya}b-eWV9=l_Ha?1*{Upl<;Rov7dJ^9@J6z^qs63@(WW&T%a zK8ZPCL4q0+m+I;N|GKaB?&kbz-@%DKBnby}-Y|wfWL*?=9Y3U-*8-E+HQ6lQEZ=87crkrJXiiOZ-DF?$Qp2B*RaEX@`S?O}M(wWYq8kgF2y>y~K_=Kg>mh9q*KU;UL&sNJbDqXt0V3mUKiG@9_8*g05{Gw-LcN@#X!eX?+1d;M=^VqJOE$-G?VKRQt%T6ZEA zUHYF&PxfLA=;9*cIRAqFDfXz{+^UyT39}pO{|oeCsa(f z=wq_9Q~Q6nJ^8Vm{mvqJH}cG zIkWAyct_UZ!w&xcj(a@4Z-5{y9H8q?=PR*nD=6#RG875 zW$%t~nO(k|`GwV?QPh0W!-n%Et2a1d6?k=J z`a2)Ul}joYS|6|b z_0UEA>xBi0uZ5?D6=t?tJTYcopIPJWI`iYZP4l{a;3*4?d z@Ab^B@p@uk75%5;dck3bUVg?!htl_dHj4IDT(M@QcXoW;-rnSsmCe4^b9&jPOiWr) z5OygnV8ww~`ms8vKSi?c-#FJQzo1pQ{OgUiv?eknTpbf0}9L$3AX zz<)0rjx5^f-IkbtZO*;4-!reYbkA*MND%+sJn{I;(2v$BvyvXQ-M9MOy)d5DC(2pE zfxmrXvE-TQnz=VSJI`yZIH8$%Y(Yc$lWW}PR;@Ft73vK-I)Ndr@QG~(Bk#7mZ!1~^ zZ(0`^tg!ICK9iGg#Ul3!o-Pb~{0g}zCipE(c%s}OH}%$>PlZpGZ{5A?*O3}8&Mj+> z7@taMtreXwChD)ruFBW6?UT@7Ij0W6ua9j{ABldoZD;Dz&)=D+yb3OOb!1gx+#}E3 zC*D^Z@43GJ+|94j4xxs!LFUyVUArzZzq)Ah-n=Yl!tzL`+Rpz0X5Tu_&sy2h+s`t? zwO-hBLHotO8q4N5-BF+P&-TQb(}vORrp(-Pj8>I&xL%f2(OtY_Uqax@my1JmIQIpu zd0Fz;^rB-<>4OVjxGcIwWj854nDO+Yt6Ooe<4sAuxiLCL6OT){Y?@^HAW`tmS+lb` zmW@tlO==EFWz_dg3s`WqX_C;@x(rESA)FdKD`@(Q1Q#SatXZUb#-cdmFFHpW5T_ zT7ad^agJ($Y?a!?&~?{y&p7$H$M&&>b>8>v-mypX>1VH~h98De%uCt?*(3k*RA1Rx zDk@s0QqNHwd;QGa^}ID3N@n(~b3Lut*!X?&dW8s)BO5qkooDQtpk1rWI_;*#l#*DM zDKj3M2J)FdUAfC{L)5d(j)|eBW?OAcj${=iwU~Y9ymWVGZPwGfnqBPQcTE5An@`Fp z*(`JW#dF)v94isjTf`M@@qXiGMWO8s7muuJiIsTb6TQ%O`TN}3<4K7n&d)MlEqJi= zQR=0(cef>Gs4=%czwk+0GC04Tooz^sN?V!kt~_lYYe|1YGC`R+>yZAP?&MQ@=nyL z7rS%h;|#8TDve-YbmsZx;;MGTZ^6x>*OgrNx{0U9`7dpeHEoz?r!twLzvfi4mX2k- zMfNeD2Y=>Pr*64q9aARWEPPw6bB#Y^;GvHkX>K3$?pSxtPnNVi=u4%7}veD{GnGyyCD*o}7?RRb^ zoUfd$9xc!l>ip&WAx(Ln+h%ZjZ%MDLhHi_R?j_>%eCffDnj1{U=58d@ETJp&D+NI5p(yCb}FNtxe)wH?g ze{RYZh970UQq7m%`=1e=IB)TCu2Yt+?z>uRGd{2!Tpcjsx~8Zyf4o)4fhqjU#r)O6 zG;iO&eeGxH!+n~oxX*;2d7O0Ut9|N$s~(J8=kzCT)O)w*+IjC2`a8OmAGWkI9O*t? zmbE)vWR2Df)~n@9XJ5T?%4D&@U)C?8(WlQE{_sljys%nG#r0g#HRbb`k609&T!MF2 z?CjKwue=d-H;jS*_B0*trUkzz|F}Cbu!m{Y`JJsFayWdJyk$*|>8*XYC?xdU(WejW zF3a9F6AHg=SM(bW8}I^SjZONx|hsZ{D>6 zKg}wer8HM(Dyz8CyQ5PEfe!&DEL5*?9LtOIT67_L8}G+446CCa4DV)Sc|s zPCi?#rf+EfSvfPm`QFB(-l``hC*>QZ#8n)3;@)pOspm|IaGE98hpzlH2Ia-Q@58>C zy(;w!Rd)Cwee&qb-QO$~>V7`sD_d%1$A0eC!MfnQFZ0|@KWQGD%PhDxWtH{mj>3yN z&31VY6pq}n<6QROc$w(Oy-xpK9|)d4#(lEaJh8v&{<jX`n@0#(p!#=sZ@Sp^jg4(uTotFi!l?En9 z{3^cWuw0pS%xl&Ro^NtY-*+fX_GY&=PJRC(t~7x+pa15Kye`winDcL_ zv`Gh*a_(znO3siAQPBwBpm-j?mtfrjW#^NUU-Obhh;ew8Br~N0rk(bXiXz+5nwP&VCZw;UHhVPG* z{yywZZ*n+kRd%g0mc?kP`03)dB?(Vmf&$Ma)_mA7ol}k_qWko$_Jxce(|G1--mF?b zPdh}-zC?{bZlwj+sY`772eYTQJ~-F)u#mOf?Yi_?$LXvmx2rNVn%^lmd-zdiUg9*F z6)w**&NF5$+L;@*+oHm3?X)A&zN+tkmrqwSjk;wpsYcR@QF}|vrqeTzFL!hD+QySM znXBcb*u}Fym2(T1FO+$G(8pnV;`_6l>YYbhj9<*yWPkXEW1HL;C8t}JdMicF+u zFr*UpYrXtB zs&7)$b3tPkY1uz+=bt^YJ#%~4QWg!_nYVU|{GX;_bGu{ypDhkD}Jm2<3o>pKtyfyul z(vR)RKPLZgDb8NLMw)wC;etu`yZofypSqC#ZlBLaEAgxHrOQ;;DxIGja#Y%6Qc6;% z+~M0g2R3f@Iad;8(##ikF`)5qcV5Q6clyBv9Cg)a=7zicRk8D8k&c!s^WJ<`T9AED z&$X2jr&O=K44Z#~we&%0r}s@4sg$;V|5oqvU}2pW?{hZU(8TQYzYPp?XSDUd`c+cn za!~R356_F*eGQpjKILt%-sJ9|T=8iNm*nA>9M7(Cg%~9s;_4At?wj;tre&i19TRIE zyNX7?ejhcb`VWow^*ubj)$!kU{aBr5m~%ktNAXGB*C#$YPq7mA zVB~*s>3rHIg&T2u)B;jc!vcyd!;FvbJNha)|G{plS=%)j%vuAFs=m|l<&CNeoOCEE%RGqTP(X*U#yzgB1tS+$O9^4^2r)i!PD&)r}3a8?=1`K7G?q+`#g&Ngj&a<;)* zMq8P?xHF>M!(Vq%jmojvE%z6lIiP-E?!jG)&gX|Gc?X@}{>&$_?7Po}DSKDXs%iA# zT9&2AJ^Rc?yV~jYClt58%J#x?$E_aM_xrS2YePx9>i#ZJI9qR9wB?QQ7;e&9Zq{Lo82B{hP<1nf1eU^8C}{ z$v&I5-WANfU3RQM*`z;c)xN$>ff82pEklz%zfJuUH>bho!-1u9CC~WS^pvGAHdofg zeQo`@?0ej$(;>@m7ns?X22X0%)C-;Rj(d{N`n}Uv1xGjw`)4Ze?(MxQc=E#)MPc0y zvB}f&x<5Jca0@C0%`kPZTd+Rm?~c=t>ZUC<2=|d=+_~eTKw{FQ(y7XaZ?x$I)E_?? z?7g>SCYQ)wfiuDz^$ch5O1?2(8d&~k{Bolw{t}?66rKYuPqkeWHt|q`Z(O-;LMSZ}}#rE|?-aOLSXXUyESo zz9+A&p55E3=bEX# z=5OKch;YcvPbhLLJh{K_s%Xi{UrnY$q1GE+BHbodJmGq2^6T2s^)HV6thd^`bH9Cl z&GH>3+}cJLE6TQ{=KV`g<o!6VR_MiNn>%+)b zeeu+cSzcwQUFSKzk3W4;Q?KWDPuvgYjN*ge;y7Z&PA>R#J5+7`qM2?doSADN{<0Rn{4&5OQ6l)#xA(vAr{ui8Yd7~%>V<3akY$x$7(<0Wjh&WJv}^U{>^~PWyM~z_AAX(S}^_Z ztncrF{7-v+P}%*U>b0qjqg%z3wK1R5ORbX1!aQEgoObFn7n@2u-)`{<>segB>3v_+ zXmR!BGOapo(WecQJ{c}fZ`z)eY2{S#&*ha{pJNvL^F>K-T+I5e`vq0tFGB zYUWyheNKzhkN@41Ih(Zc(6pMC!e=onPTo2o_%7UJ&R6T$2>}NVD7tc6-er?^dwX^E z=BBw}Orj^hUb;DdY9e3t^L;G&_XAgQb9mW3PddG9-^ygo*;UoPmpd+&w;mEbdnU>B zq~g@wt$9%sCC{x$tp773l1+L=X~?8!nZX6E97q2%{IE{1c>extb@mE&iynvG!)fe7 zDk?gURNjPra{MVGIk!-xCx`p{55w&TZ}G=InsfSqljNDJ+}jzp7i&ujarNdl8ar&L zIA$+;_KVtN&8M4%1Xm<}&5$~lle&rhrf$ZyASvPB2GY4#BpzyXK zk2u#T#VFgf@K;jJGI8~m->M1a#Q{AvLCkVz`v2uSJaoEU6Lj$g$EB3Hp_lCYe%!n9 zdBy9U@`wGO`tsQuTnzEM`0S#!v3L#V($KvP$5sis78rybSLQe>e`v?U6>)c>JWYPx zv|N7PY3=Q^?>XFGG;P#X++4@@p-1Lk_%rLj>#oIavfH_1PGRpKo0RqSE6zq7N;O;b za-I&;Y^ME3W<1y|Jty)SuY%t3zJFU;pU2$RW~kVioO7=GQvZ5K8kE$D)0&9cXn=Z=x1`i&y$_Aq5XnX zeBrDmuhSjM-yFMn)zIggliKBgb$7(3el>p;kuW)a_JL%kCGVy%ue){1ukO3r#neT7 z-PJC6{T8cr)>_@N-(I=zbBtBWJy`Sc;nDT&GeTZV6a+alO5`S$x<1NT zdS&{fzY8;CCi-VH9E&}DNn7B((?rGhO9OUlMVhX2ky+Iobn!os|5GZ>8jf$DuJ$`ua^II|E-ky{ zcWa)pd;U8eI(_Z;TPDv8vIOT>oL{$?{b`C1Yw2qx#}_|E^=x?>TSI*`7wGxxFYa9V zk9)cD%h(-y0-eQ|e_gf6_kXsKWp9637(dthkld(-NuIkW&n?Vj+9!P6KTPL~{jqa3 zuZmu}u+O-CdDrG8M>1>92)<*h^XFK`uxHwhjLTw@Hd^W;EXq^<^BU|^)E5t2Ug37d zW>MOoHJ<${ODqgHZ=T#1G>LQ3LLT`O+moMp^cUtY)OhJ!*_-@U`~R)O&KutrWeKIM zOyS!uG~uGOU>)xl55JcR%5z`bUcY_fL;FLm%5#pHx2W!nkbE%v=d{P~DiYLOLdX0F)W?>2j4_d_p9Wr1y1#SY3P zu5Pfqe0J@H#wj=1Pd(Xm@Atl$Hw1Pn9{lPcdZ!>Y$H-3a{QKV6!kt^=Ci}$xoPH)D zYu?YRA_w-(axFhtZMtF6bJhE&F7(9(xjfdp`F&o=)d$`VSC{Rsm3z9$pUK)b4^=XZ};cmi~Py&diu^De5ya0>Dc@ACyQ>h z3TRg?xW#BU=Usm8*0YafS6;iqJ?H1K%}lN)j|~IXww7yNC^YXjTkN5@I@>+E(E9`H zT)R!-zq}Kdoa^kraaNH}(_`WN-wgNb*CZa%etWNnefc{6rD6?X9KOFVimj{TI3v9) z_@V7Kf1in4TQ0`^Ur>BsVS3TokR9J2ec|i2Jk-i$IeGHAzcwci$UVLuxVLnw%gX&T z8p4hVuBe?GD>`NV{hWCdS(4*&CYjvXQ}QO~wD{iN>ZKbeUCb`i_kDQro3L7Tu=ts% z2Vvgwe4-O=d2X%MRgCABiFD_kS9I!xP>i!oj@-p7e!t}d(u}8{c4K;Zv*u#MIaRJy zyLicr?I%vG%s6JamEWEFO2Ci$C)c$Pdn7sqK9GKKn#IE6DCh0_N%N0w(N;Y;+b!%C ze^%DkUPbxa*S~t5u6L3P|9>i?P+#NpN&bd^|0bSY>L?x-H6{NsXG+@J#(8VCChW>$m!Sh%<2BcV-Fr{cs*d;p;ery(rwMdd`W*v zij#{_cIV%ujkEu>FzW=Wxi?+nNfVx(r7$Po_WCW2SV`YUKf1aDFDwpSm?=0p&~m-% zt3Q);m2a53^(jAcX8*H*Yo<#YPsmY|4Gt4qX1$KsQ2S%fz4uaXo`)Gzn}PY`y776}bpJ)lCb zA$-S_ot|BK(&Bq7c;80_*&j(c=C4Y$AHPT`78drmb8z#{*fvr5hHapJoUr{Ptx2C4 zEY>mlD+>6}QETgp-kfXw|Jc3vZhqU0sy57*+Bi{s;{8uqKlk}R^IFGk}Jq%n%SO{KB%N;~9^Jwom5e@>Pq|tuiEBvV-%UJl@cpEHHmX#mWOu?_Q5HYg9b4 z*1t7NV|~0`d3pVe&rZrwm!{hd2!RdJ2-dBH_-*Fa{ad1s~J9R zT{govdD1H1-Gcu=UFjAULXfls!@adT@T&K@xM@GX)_;8BFmI>!s= zCM|GZ+P-{x3-8Pinu)V(8Ju_hv^;CnGNUGYkMGHIf6|ZEg?zI-o%%Ya@*8Ui>-Sc# zy^lYHyBgZH9+_sow_Ee+H>-v7wwEUr`_IbCUK=|tV1da?-m8wfu16i-rqoK+oLFCY zjL}^CY5i)6PCJomMz%duUhI2$db?&q^qkBa7ITiw;X7Ra{*yY-34P`F_l~b)yu0?6 z^5JXUyv)Cv?XG#|H$C{FWg?~&=gE>(x^D(gIM=`bOBx&1GgP15OBW6cu6OsJ`9OE} z?5rjBSGrs#f4iL@m@6dvrZaWE)Qc@K&l*33?QmZwZe@`uykuwa=iHE)vrlVOh^`l1 z(dKbv!A z^(N1TsYLT=QkRXclBn75+kbouFD?9=!ITutB+h9fm=_YS@qCy3%7uoCGcV8mxcrvm zwwpG6m$yA!r~g4|(`}8r@}?^U#8RcXp9dYivq<#hd6Stjx7v3rPxG%-h&#Eh$wJ`8 zQI1vDRZBHRUkT+3Kd_WxzU(FKchY&s=F?GIKWu4V_|NA@;~`l-)AYh4r+g>teh?QI zjWB=jzmNCujvN2|q(pmd+K>P6TeWP;+Z^L0hWl#_suOkQbNybWc(5sd(-CL&a_gA? zH>NW^*xKS*>X)*n^z@s8$HGd>qt*V^94$M?_ik}lX3m9g_b$%aZq^%~HaXQ(N%<`2 zg1fsa4QEBveQJ829rp5J#`X3MEtY@&zPNoo(5qJ8T;cQS<5{lHC2sJ~36`8_EWASc zXhnkdVfi|Z$QOZI?2dYs8cy5$=FTkJS-054KD0g%x~5`hzdV7*rh$XwbKrLUbE2Ft zQkCYn`xx>lYMP3)8*^}HpNM=Wl`uymrpbQwWILbZ6Gge}PjA#Z(|c#diztoA_Jh+7 z%ch6D=MP*Npjv-(Nk>kGlEcOG3ZGg9YL4&Wc8!d%{~q~`NBvic%cnoK+V2mSa9xlt zTvN&FeQYh?&Ii`^_uCDuJG9#@3L_lidX@kh`1INGdOeob}KhT?3md9rtm*IloxG(RZ)Mf==A zw>6P9RfJiP+O+i{^U&b=S%&eqeEW*%4>? z#;(c-bs9G+UzY_>PY>LCe4}-U$-Zny*^UUzxQ48M}U5rcpQVf$d$fp`wvG-c>DLr7@o6O}^rr50j%#benDbDyHR&gTSK40HaUHQyZqcgjaJG{fGznX1k zjUJ;+_@{>t;ZU~P?%&JGPJc-@c73|# zxV+TYtuM9GR&0B<^uL+)@~DXQVfuTLM9w#{Eq-(VR{jiYy{+>@w;a>tJNkHUUBbaV zudQELzuKskC%Mds@o&wqAA%3>NlQ4M-7)=(s_3KCuWx^x3ycb$pDH*(K~PEg`1fBw zjvZ<-zRUe8w%PX3i?fw(wUIl2zB>9kJWX=;O*?1#lfGNerb(->TyxRY_^hPNotU8B zK)YW@gC)1DN$y`iRXfow<4BuLxm*10#ZpW@ldg-ek33j;<(9=RiC5kdAD^w!Io#f& zf6aIEvP&CwX&Hy#zxqmZM%&E3hktk;y3SqkAh6*toPE9UK1NJaB@=agpW% zn|edR=?`6k&T~zk>=yB1Q=Crg{nI=V-%GD-C{w7?@j4Eq)#uT$L(0 zk?VoG=wsHH$G=h^Y`OICo#&m+LYodTsBh{Mzx1vknr+RRs`-aEs{HX-wm>p?-p1`q z-{hG4e~q$An0)lWN6RT)jVDSc`0l&hw@iUAe~PZRe{POK_T#2qZ)T-A>Yq1$67^ix z``uch88=UC=U!VqvF8Pg%)SK~4d*JhrtF&)t6I%`ev8AtD-!2ksGQuIm3vxUm}9EI zxyL?lLmjSOjV@ezSMH@#vrPNqpLkKn0C&;Yh zHE$^R5IIfs%H`Hsn=QZSz5fui=&ZkE#3H$Ud~Rm{-?cf}_3dk&yLrVbvC}W=Ph6Rx zIoETa>fhzvsYYuy{%E`St?jK->aqiCBU|o9R@Hs_Td26JrHWJIw}>B$^cF!8#oMg~!R#BER|5*>FW=Gf-!QxH(2hBOPfo1UsA%`s+Q0En<22^gJc}aF3Y}dsNsZO_ znChb4s}+@*OYW2nob?I=8)N+`8m5|AstP9^I!~gmQAC zckrC!Wt{Qnz|#9Oea>mmNcktHHoyH^JyTp<=6uH4%M2RXj8|;be*Jit%9*<_BVXJ4 zi(2Vy5kEXrc(%{09c4m^ep9^nrcB;6C->f>Y>&wDwl%BIAN5=-RCXq!T*d9Q-?pYX z;oa;XE+@P9_UxAlo-F)#am@~=h^BeEJwKJ-OrE&U=9b@<2mzCw_3Lu^FD7OCF}5c0 z3wi|VuWL%582GGW^UFoj=iMLF%vh_Rux%3uTR2OC)Qag+X1A_5xh>5&)iI5G5BG7c zINm!GgALg)&D(jWu+2^7PQ<*$EsHKKc;jGuI;r&+%iMK}N)~=jt`FKCg{)niXS>kA zQS{i3&`j=&$-8#Uzi7I@u!!l2r|A}hTHykdrkZJnst+3VzD%C<$VW7>;`qEp+zu_( zZcXU?^;q^9MKa+VzYH{&lri@vF>pmYA%vogNdw9`N^L-x-(snve`nc%R9&6>l zyZ9Gv*twxp>t&M3_64o)CeJ=nY;{S5Jy4_F=#@kYqxhSDTmCJQ6YIQWdh*IUb*=a} zVP_xP>4xrG8FzU8egQrCEPabZ-^3DcO`2@C*xcJwYLAq%+T|(F8hGFMUEOnjLHgbg ziko(*=P$50dAr(So zg~BrZf^9Y|Y3<2yZvU`-_4;4=$C`S7r`wqYG^gK+KDm=Qs5;VSUu>cK%=g(>j(&BR z@L^SQa2)$Gxk(|)4^FBq(obS)xw=$hb6?Ejx8l7%x(lo4ojKR_AXMltlblEp`yD>{ zi<7((D$*Pm-QfJH60d62&c$#_?xJ?a(LL;9ox7&hL+z zXQjsF&s1-hseU`<$kw z&h*|dNXtLNsrK1~eg4E%wH{MC#h7j|=zZI^(|e*~QHftBL%&?28&Ad$*{BPDQ$wP6 zve~z8JoTkZoy+COuJB|N=DW9fuAO=!U9j4wM%`hx)ZWUowR|@;_M0!-wPB*D!(Y$c z0h5;`Ja1X_Zj1OU(Gc--%a}HZT;iR_s=M;0(Zjyobq#UMY!&I^fhByZX4P4jbl+@0 zA#x`6P+iBoKg<%Fw%(4Jx5@GQhUcq`55AWV+#KG^RCg)<+=FoMOO-a?cW|xmJrx+$ zuyWP}fAuxo#;4R1W`25C*SdgrZzFmZgs7)Z-#CMHYWbE=MF+mdu=rlPdEYs(A$LL(&)(vv z(yw;R__*usy#Ee!G{tYtwl`pNbhQ)8e$Mr9i~dt@mQ_CKwv}R)m9AoW7T<0zmS+5T z?0Kv7!ymso^)-1oW%{4gP2IpdC*)Pd+A;^mc;eu7L$__Sd(W~;eLD4j+2eW3nWE3@NpXFvbyzHZ;BfPdrVjV^Wuj+tdCXZt zgbZ?Bat^Wm)Xg~)k*GH-@{(%!<|#8%^__K155^Ip0waW&(XOHt# zf|?iD6}LWp`Ti?kd6iTAWw+;(nmu|_LY%$ktXT5G-8m@#wcRg0g|b7IU+x99Ie3eA ze=D&`O`O4@b1_3ez~F89D|d~wPlqe`AE^GEDEL%trQESK2al^b9a>SaVp=TsZ7tC! z<{NkOtyRuE`@oBDEyG!bb1t4K+ix-*l4XA$dM284OPj1_t!V6`E$bx?Pw9PGxL4l0 zeoGOf!A#5C4XWEBmtXH_nImVrr|dst%E@_(k&7fO|Gv4sYbw*%IZq`^)~w7e+q*+G z?Xp>a^*tl2@OX_Wshiwq{bPNz9#YHaS`V-`ZXUbPexTf(neQEq&cc6-=1u6OU$yu<(@g%Rx^e>w- z7uu_sc^8F7&sjhHYg5gOSCf`S+w^SZpV+WAsO!#Ox%r1XCVYRbXmii^UCQ^iXZz=R zeXVV_zMAGCA?|bjdfBdaEt{~2Q{Be>CDTB30|TneuJkmvQ%g0{Z;Hs1B8{Q9-k~>d1ji3NRhxCcEulEYt2qq zCm5_rNmPpS+ZC?#FK*eb2-DB9$&pd}-*mJ1YFv5zTFt)5Az5=RX->41ozX1oVEp$H}`#Up5bc#f|U)44_Dsn z*ugM^r{&13XDY54UlI?Vh;m%>OXO(Rx}-?{*{7pTd-=WYS(K>uKaR}zm?(2HVGqZB zi#fNPjIF$G{J%88@@dea()LH%l0nON1z7Z3>D?>mwaz;AMo+(Yk$p_qtywd;HFsYB z)p~u#gyo)ghYT0>O+Mqn)%kM+qwKWYmHKt<8dHroPP^v8=41MN$Lkk)!X~C~Ca4q@ zGwJ74iZVwx3+%XYeCfQ3^SUw|w@=GBy*iyKcj&iwje9s-$=ve@SzET{8V!U07|-579|6-nv(~%ANlNIrhu&zI|S{ z{FcK%U(Nqfw-+5T_iCR1J-9l>{9Ej;q*I$0tU7;r&vouS$Bw3Gu2{TpqXA z!BhAAHvWERXXE;&uUp#xEMSnTnDAz=%VhE2Gfp}lU;Mhrw@KiVeQ98dz@5I0Io*f0 zcfMTMxAfCaesZwCy2dR_0ex9W&l#hqBcPkVD={mjGNTUVan{9=vN*`!w{u`}OH zuD-tGz``$|+FG9{ zZu>7J__uQVv6C+x^CQl6CjKsnE!@PM##Gi8*%@N+$5`=7!KN8ne-Ow z^BFxklPP~{ZPMkny(f=vdDs{9clp|jmR_Fk*wxz(J>StTc&2D(ojzY`!}J&1M0P}1 z-*_@3V6Pj0Q2zFyy1mmi_9m@ao;v9j|9!WUYux7Ka$Wq@D6sg%dCjh^?0FlmpGfnV zs^~g%!iR9S-wTamos$1-KNA>y;Bc*vmx$aO5q@3={*NaOTW*+5x%hS8o)nPsSV!mUqkW@e_2>x#E8j2yRVOmjZex8=?0x(3ETtNCneRvnAI zwP0fDF4LDscNIR|YpGI`XEy6>!*i?XC9m3SiVav>6uv5y6>&by`z^XF@?3Z~$p-PZ58fP< zHI_ATskw7xf)4kx*0g#2HH%lSU*!5mQS)wBgj4VNb@MLe?z4L_`Q*X*d?vRiH7#G8 z>GrImR%zwi@19>4{l9e4b%{|(+}9I}f5x8>&eIe9*R#Sbda>N4XW2J0AD2#_y2oPo zkx9SK+Dy2&>fDyk&$s^#n&^L5RnFf}Kwa|eTGJOx=jsYiy8T)qTPfB1L*I1CwKj)% zvdm?}i<{OjzrwU@%bza?r|Rw2Up8yUzwl`vFSK9U9=LPuvJVS$mwbOW+~aUZ-Z6J-{6_Avfc!5k3O-X+j9Dm%*|Wotw{1* z9QR(iVK zWyLfad3a;E5;wh@C--$f_f7lNKBf5^oE0K6Y+NKfuLs7=?yFs4J!|{(9Y>1!{=Xoh3o`E9<6?5?9_0Tf4b5>mc=z+uFZX7yYyAow0{eGX7zp( zn7QM@?0xse?HAVh&$@o!^RSK9 zvn7unny_pmkEyEcNxd&qLbZ4Hwj9i8`&hT=X3D`?w>S@el0CFX<*{a$ROYU8o6_nx zuPios&)*vwZR`54L35?se_z4t^IrHbSl|?I&~oo}Qn^*)zt>vknLibF%nH2p-j^x9 z^S(-({l?&k!k#(vZlwjzzIDZFrNIG)U$@q^2r3>Fz4trfEr*u#ow=^+8p*z`TOKPc zkj%gLGU{;msf^Cm6I%QC?cLSCVs44x%ms-zw>P{|{HuTT^2ZI{uDqvO{9Ui8&FZ`z z`@Q*M$6S6T`}JQ$iY|WS-2F=E&Ss^$%d)o=yZ@}V*>djU(ewL?+r(uJ5$-S zj~h>Io$zc{*gS2^)P2)#@3m9P4lJ8}A=zk>*_{lNBD2WT4wWfQJ&ukawi@m{EZ{FK zlDuw};{DQv;hWWaTQ1l~Wu|>eWB+0$`K;=cMcB26dzd&`>mpcHiy96~K74u9bJvoi z4h@=9KQtsZtul}CoGvlN@A-<#E$p9M5B+`CwUvF{-*+62XZ$^V^W?9lZrl>vd9>7w z>A2<&MU0p#thC_+k0Ph|9fAJm#sLusr2FzlLz}juFSGokI(z4uyQM`F-D*8I9%ZXBeE(pPN9962i__|%p=X%yrd)Yv9~+`5wCW!3mK4X+5@Etuboe7x&)i(?GNbsn(kUl# z%cwn;JML~cnExtW(v}bg+H8dpCGrE?d^JPa+q6j+F2;^`2d7<*IN^ zW%rw9H@}G4N2KP-8-G^)8nnGRrD@-PhbK=A-u~8pAuV#hv}-c|t7Yr&`f=~;O;}&6 z)nmRZ*?wP)C6{5%>X{pPZxw94)Y8NJYp!3~^9PPwKXH{D)6a=c;$6LJ%6X#|8aJcw zRqhR}iSYP#??}$e#n1Pcdb`ND{V2M3X30by#d9_-Dy|nw+kP7ySNJ~Zm+3Pxvva#!CjV6LS3NlM&`A~bf33G1YbTn0P~K2}jO|XOSBLDDhV%RHri7h%A$#aZ za0}li9mM@$|-eBQblS4N3(f_uUN6 z-uUxBicMQ8{m3PkGJz{+rq5n|a>t8p_gKDvwcR~cwC7Q>*2y1xxdo$HEO-;nymWH-Y+bFtC1B~n{Ylf8ra0%y=>IEy=kZ|L zPRZvhR$k({b$ao`eZ9vu>MHi#EI+#G;l#;Hy4IcUXZ-u(#nuOo%QsE1XubMrWl&UI zjqe2!r|(Ap^k%=yvwoVN)nJZ;#mKn#L{WF*A zQ=pxKz@M_Cf204y?dtvW9?OMV&W z|JTgL5e)r{f4h13vtH?CPrI?NT+eAmT=J5dS*zX(H7V6M?71Q#s-5>)@uS-T{vwqc zzHe79a-8L{nN^x=zRNsU>Y=B`X{Jk6cn*KGiBqZpg+Yc|8FbQ zRqQ=fclMMg+uH9z6<>JFdc5Dphuc4>{cE!LY;*ncujZHkiJM+Cca)0G{jz`UzlpE! zH-xtZ$G2GLf4InTbBS+8?o&ZWUxtURR(7i{@cgQO?5Q4gCQ_g?t$!YSMbFH+{!fmq zXL|Q_PxR^4&m49H*m+v7vcA9JaPMQG@0kZbq?e|yN||78V{`CnPqeT}(2*NK70Z@! zNGw_&&zG*ZCeml8zhL7i2w?0)ey5D%W{fk?{dZyx2yB8eaQ{B33 zS@Fp~Ts<2y7Hb}>JX3Ow|K1JF^=(!23I&bqC;2$#@`PwYE*&#L~} zPJy{kzCTExx+d)1vXI~3rd)i=Eji6@t$eIxZ}B7H2dN1xAH$>GC`&ju^VaK6KEd?a zDBsR`)roIM=e=Z+yu0T7@;niV$|<@TGS%na%(#Buud2t*WMSbvx#s z)UAj&da?cJHpy`Lb#ZJD_q)tJ%x!-!K%p=sc~jx6&yiCDzPbs_kI`as-;lY)<}Tan zX-VcgCrxhB_dd7rP2yj^!+U1_?E5;$&8mly&Dmr@yVmT3X*X3a>0V;Ibx7^kDkhuV zhe8BbAK}FH@a8 zPn|d`&;E5GbAVzK|7LBiuT?ggEK8Se@^Y8IP|&s4O(ObY-H8((X?)UVtK)QRXUzIT8s3-xs|xeI8ChkiRa@(t zWc%k$Qcu#Z9a%oNZ^YUg9h!N{td=`u&c=XeUn`d@HGTc8@rKj#;H8z3_cL~B8GkBx zA#ZFjW5VtJvMF{?n~(jPsp4bN@ws-&lnJZW6Md;TRk5e&(%z> zfBg9w^BI%xuS_2_FfgWA$Z zp$B(Qvs$}Wgv0Qz%Wj{zA5{*`tNf!g6i=#oT9}1yd1*6ch5hoT-;9cvi?okAE}d%X z6!6R5JEQl~JSOIAjK{iL=d&L_oV;pg^XALnQx8sEZ1T;!p|`6)!2htx1dBk{nB=P` zT%Y%tY%}f?5jglOF|21(r&Z4M=FRoS|GMH-~1}e6;{%ZGwvqe5Q;k<2y3JOe}f_RVIJWkxXAK%AYQ^ zvZig%=j{)>R^?<`tqlLUO5SnK+-(INI)zUH(p?tc-%SY8@bO;NE^D1s zQC6k)!Y}1~#xeKF`y-FmuR6{=z2@%T7{9q66WSbXm7YDc4&Pu@Cw7O01AO!fx;9tLJu`zA5~<mA^DfYkp+SvM1))o4@B+{~R;lIIlS;B%~;5U(CEcvGs=5B5p6Q zoK#VrQ5co)(t1wKaO1!4HEJcZ%J#ph=DW@*^!`tx)a1~g6SX?0&D2y^%HJ&aX@-e* zVY&6Ipb~?X33n$aJi2Nje5k|!{9^ex|h*2k^vLay6~9Koe4s3cm%Zz&aVXEe8|ULh<)fp`UYv=n z{OD`cyuM0`F|#Wz=k=279_M*jtB<{Vbxliex5I|V7ixpfiDk-qny;9eI&uHoh*|44 zb;&N~+a5M|h1Vj9TPu(4%-nEQ_g~J-r;|=hi=O$_f3we?rjOy4uh=ufv_F2U4gRX8 zarf!`?qfxhCf7YbKQYeJHTvDe(;aD_+Z#eQYd4E~hrWAfamMDrrFYGZW)Gh2-d|^U z@;sNSU~Kv9OScZKc*Xd5^Swvw%9ra0-OHAWbD77~r$>oAv3@ws<%d_rJZ0lEouQ2Bj_+#MO1=8~?AWSg&ld;pdD?EM zWKZFotZ{s;_snzd>m~TQgInEo7=J6w^H*AZr$qJr745fop5^WL)~~$zJ}C!_av*9Ej=ari?QkSY%3oo>E>5a50tqyGatRJ z4q%r5xQSbDL%hI5$q449bNrd#N3QrTW9Hcuy@S!-=IPxJjwfy{z8>y+OLnX;&A%ASzd1Ttcj-rtrLAwj2{62sbGT-D>q45` zWv-Kk40U__m+fC<${c=6c*$a?3Qy4uJ8Cnx_dfn{r{eL=DLa3!|9#}qTdG$DYp!LciFu;y5Z=zh0Eh@xcKCV6e*aF?-TB|O6 zs$D8B;jg;=yW-2L&GDCOU8TPo*2tcjuTb?;zTuv2@?Xok?Jg$+Cw@B9u~_igfWC?MNL*?R+4=;C%zE-w< zTFc%Nwz-bKx_aJwc^BuisF|O-;$3UEz&81qo-Ff`6m!m-2c`uJPnw`xv)5DOwVK#G zkuSVo1a3^eE?#c1Ah~2-^N~+RccxCh%AaR>K|`a|y_bdgi~zgOeSrvxWktXC-~S@7 z`y^WJnP(=e#DqsP9=>_VntJq+a+XtagyVaS$nba{?w!B4-52QjyP8p&f97NEU_ZM_ z`(u~J8Sm5mWunW@I`w*qPqL3(Q9)_aiBpFI)Vqak;uJrfT4t%VdgY~qI~FJWl}gfI zc2+^m-(!hE;ya5sU!V0fs{B1??Q;6h*9K1Cuh(?6%ynK|PdHy+QoOWFMtb|+J?Wm# z3J&`jWS+n6En+dB6Fv8l%B(x;#n!(UMs%+WtXZV=R>>;oMv(LDL(1wR#Wj3YT9GfS z!)M-|ZycO3_uz^vRts4VNKM1#>4OWe{Tsoy_^5$?6rzzt0zC{F+c3i6!m)9488{k6*429KAH6H z*2RV*g{r6bO?$pwTyd%{#{1JMu4$RGq+%W(pXq*4QsLw?xl^2%tQLrbPr2V8{A0V) z=^dw@>i#~*EpsUK@RTw&vE}hf6!y(r1h5%qd>=Guggpx8O93l{>yn{84dL zvHME5X~T}Fr3;Nr0-b*RO*Wi%e8%lRpAFb0`SvYONZ1~5@#VXvK|B|_r}}F^uV^5Q#k7426t%?@7Y(s{RTHlJ=Z2e;gguUsA}SN)Q+_j*iTbzrZ@#Flcm zd^2ap2RA-;U%6?Y<_I6! zw{+%aXMx&pvJ$RWW@!2dNkp4)iAt1bi0WC2BwDYT;(m3*gvp2A#!qnnqyJ{{ty}Td z5x{2B8}+4OT_VNm`svgpJf3fcL)D$ht z-C?gD__!^%T3r6yZ-Tp}*Wat>l~UdQN{MO}KH6H$d9qC5)zVk;Tz6i5)7~ZfFFLXI z^}MGY`g_DKNqm|Un)$cFy!$g}qkn63;u1OggUM_|4eDgIbAI#p}- z&rch|tXBvB(w)DSr7Gs>vXk;XJfY==2XB3Ky(y(tGDFSrsz>p0#wdx6-v5H$Roc`n zxXqCJU!LpZIk%-A?wJY>SKcy(?qp3VW)NTSus`|PH>LT32TbSG^6hARz2W^M?<={k zDxZ#IDbz12IwI$JH}OF3Y$3Ix^wbAUwtekeCgv^g+_1Ja_k+xl?L5Y@yr0B0L!90` z&=ilEJUQL&->!KXTm7%U-GBDF)dWV(=|?2yPL%Aux06?%Y4-13(;B{A-@OW+#wbWn{_--^kM-uQ^L8`RJg&3N zwan|`+SsnQ+Qd6ObGotm?QYqGn2Le}f2VtB+<#(nq4S;6nboVNS~7)4D(#uxslZz} zXPRx~S1bD^$L9V%s30fO&li@ZMJ`}8}eUXx&PR9 zi)R83%s=0Fe2uPV+_TnJOYJwyjhM?K$2#4a)4vG)_v}`A;1c&q-uF*s`a7|yv&(d+ z-kuhE(<9-375j->9j&4@iLI~ycI8eo&BR6&C! z^|$QUj@){_lci$**LC&Bjx3B={{E_sVfXvhQyqQcHwLx@%ge*kI2OV~~yz^_(uQ%U=G8hB;8D(GYn)y29&TpGV0T(0YpNtgy6(4RKdsi&`f{pei zmU(;*HD}h!N_@PyDN&{T{-dfbFHBbEz1Y3(a@3UX*H&}nJNjKRK6Scr$%GewH9ac= zML1_I_;)Dw&F>Fo3Jf24W_Z6`m=kyY6ZeB&{y4p6-AVCxcJH4n@_kN1R8^Ue-q-fz z;D?*;o@l&#=4<(@_TmXVZxY*9RG)rx__4BQ-_egT339Hv@AFJ2TQ~1mbX>pV`Qi%Q ziF;T!@Rw>kdmc5~eU%}c&8RmrHR#@h8N#2FsvpPN3-A?u2-)@WtJwDEX7z%1Ii)AE zN*~*GdP}zFnNEL66$^iIH5>lAoOFD{#4}4% zc$eNWx7utv^~9bj6OX;mEi|}PYj?%Sn%R&qWP*eO$%V3!lW zVf)K>iLM8_5?h|s>!%<2Ch_Bgs`Fl*iirY;7(doT%M01wJ)xEnXTIdq7CyHt$2HD7 z7Fi4JwK#o3>Cfk^_eR`tfpd4qOTKXEy1^{@Mz_)=%)4NtXy4h6S!v6f7hmcNdXyiw zZo}#4E=!N7d;i~X`OAt0yPw&=_@>EVxZvMKqvtzC9?e_)PB?q7$A(pBW*VA&Ek9v8 zcZ=}TIa`u;PAM=sbXESta((%O_m^$z{`vk{Mf(%qIK`N~r{^!@){ytV=%pv4zwEw9 z7n8pb&y>|rOb z&dT6bucrm>?D_I-Nyx2QzU*fTx%ru_(eh7bE;(}J;@`t>KFtu+Ox*KuXNSdNyTT_v zruC|O7au(Nqd9GPY|6sGNVZe{X2(S$PcxrNtGNC{?)m0D@%(3Zzl+jZUAb+c#iGpHY-ZY2Kr)cmMb_CauLHopo_`rD0}+5c~vUD26gC%(S; zg_gjZ_5Yr&GG1o8RaMKYz`jH9hxILQIn~XLa}GpMekQ?wy!MR zx$F5e)vOI1s(bmgI=tAAEDXDNvj6bo2*+>PLOb7<8X4W*c<{*t_jfH`-{T(joxL$N zD4}?+XLp}qQpw+b`=#3ZJ*PQ@z1w>vWsTVJ<5y0o^y|vcS>o7dcTeP9e$>wNZ)<+a z-4imrJ~2?_^ykE88=-6BB5vmcj8oDiH{|iDEmOIuyZ>hn%ae$bjy+6vj9(VM_dQ;< zx~s5wTPf@9`MTGRuMYUe;OH)XB{pVJ=ZC}lrd`fr-zb>Psu6pps{YK$*(a3OKQw;p zAoD1xSLMBV|A+O?&+q8X>Hl}H-!ODqySB&iweixg9xo0In!D?3zD`8JN9HY^i?rRc zC$Us*%grxb>BigHF#jK8F=MC*NB4d$36o#1J0<0(2f1#E(lCBhBBE%=AONBt3%3lBJYH~bKmc0_S*d2Gxu|S)X&PP z)u-J4=qLQy7xW|S@grAvktgo+)3hg_XL;?YB-e7r^jy!GeqV)iai>_EZ%tM9lWETm zX<0sv=}PCG|JhsXSN%WS;?EdhGgoHA>ce?|+kgIzSan#l`KL1<}N} zo@Xa5JgTySYpxkpI!w}UOL;tZ#)QUgU&`ZuT+qBJ>v8mCMVn$q7Sof1 zHSdIc{Z$g)g^cN(lD1VUGQ=h!}eZrjK@ArPmLhkjbrEccSfR)31#yPnCtsZ|7?EFuA+sn2&1Vgq31e?k$Fs<^~$>uuHj7 z^l$>-jGZ+bY}3roJgWT~H;3C(ib?(L<|vDg-VPN<4|l|#aQ1L#3S0DojdP2jZjG|8 z`?(1)~9NTU94;mb4etuj( z=WW-fDL+})m?a2GI+-nhROs5Yq47ZR$70X~DJ1^!kO(29bvU^z|2jkv?9dzMk!=XtlptnULO4Q&lBS?hiM%K zudGGwRZKVgRsZ~y)4RijBWTkRmdXcCpBQo#?nu1M($6oi@JMMZd-5`H>E~HH7ayOW zSh<>y`HtJ+d(Wru+I`&U>4l$$;T`w?9m@N%&v~!(Hm>9^(k^U)dm?*g)hL*&PTKHp zT4}T2M6pBa6AgD5aq-qza2G|%+s`gZ6P|3{vbWd&uT|!xW7_fg(+>*o5q9}};@8zf zw>CtkihO9V-t;=bN4w^bcxIoZiUiwUzZtPyr?*vXVVD#DD%{#*TX?&Hi}HncQ88bx zeLuRVOsR^0_j&El2gF_oy*+S0tFFv6%h2MJ#PyboiZlPMn3}|Y?T>vDbEkq|UYzXq z=%{5ktF$KEYu3KDI?i~$*V)eW-Cu3iZI)5jlX<_^AW{5Mp`fYEx#uF9md|_s7EP{u zc(d3feyEBER zac9hEPOhsfklQh9Q9FZ#o7r8_+uYB%V;pDy>G~ac!_7~xc$2%w%&+Gyl|DyyzH8rZ z>|x#&lRUNm?8-+Q*2MhS%=&Mu&AeN&6GA_62L&eYUZJSC!$h@^{cx%Yi>V{uraqi_dB{dNZ0txqdSq`?gxK9cs*wC+ycY;Dv@6~%iiui9)EV9 zCUf<{<};SN&v;0gil?TZV7pqpse@(q))=nUKAX*MF8a&Esl&jKa?6yblfJibj=zka>k@NaN)&(Hdzt6nUpkGL7X^qRdxHX-w_opy8Z ztYZ88ql?@{mPe&6y*uee#Yuw>P3ZusHHR;nU8{+aIM%7|UXdvJZn}-t7r_Z)n_r#% zF<0%#q=b&={GzebJXrVq{Jr1i}y;Xeh)A}t>(-t4un3C}5#jA@G^v~VS zEm76_Aj`S?_S8EIcQsW<<}liDHd++0UD1^Sh;UK=a#vwOLP160t<_k%&dm9atA(VRW6_ch(R zS}(i%j*;vA1gGU8w%!?ehqk}`>Hcf2huv+LuYcBL-QPS}E;nXr5^JSGM`oE#z`=#r z5`$Dv9NV2$RHmKgIamI)p|FtSqBmO{KQVH?Uu0nTV4mIz-8MZNlhqo%4ihH$F+KRA zS+Y!Nom$}SWUt%$503m4-2SrkWnNj{ydC+IQZIkE?TcIOd-zQ2=H8FI^@sbXd`MjA zxNbu1@4_ty4^Fn-zDhni?7*pW_F7xa4CFuCU}$}e+hdB;RR!;D zdwwXluG?9aXW5qff5U0PZG8*f%hw(|v;5OCL8tZl-7T$dRrU0!pPE9O^&OV!v+U|!KUMYV1Ql+V zxAX5md6nreXfffTU{8>G{O|9!Mf0Cs{bzee?a+(sU&Hct6mw;N`=r0Xy~1pJef%7| zMdEIs#9f^|9;@dpy~-%5KUFmOvTaG~$2(1StU|kDrCJ|oOqMD1YGf^TFS*8;Ehzf- zp}Wej3a7C5o41;)uM0bverEf$Gpwq~tJ!QX`}KsWF=U+G^UeC=%^dT8n@TTx1vYJP zygAkIg4t=MuEY^M`MX#&)X&-9EXUEaxuwjIG?mk+HkYMV&lvPzch{|$8Q?0o_Do!ue|h*NXZcqOxp*TfPQ0qM^}?z}t@-Kg+uP$@760!r{C?;do8(fC zhXQLm15?)j+To$`>zlH`x$ryU!khKdKh{Uoat4psfkWMz~9=tH%YIyT|t&*;`iE4v&FYIuedD#I&JR+gE4BIEj@?j8MWYs*zP^d4O3?cJ@jyz<6+?~PNpCpVT?xvv(GNYFjx`1Qvl zmbfEVZt023#wz}rU}Uo=I48a=zxS;>`_cW?^I7NIYgjp!T&ubCp;hR4 zz|6P41^QpPi+4Qs3HWe9Uz+Vl^R=T67b@0fojG=|(5QUd2HqF`3ZI)pF8b~^e_plO zvC;3TPx^js=7`ow&VMhr_+6aBbLpDDgKnb+{}kpcJ}V7#>m@eUx~vfIsaVj*bJXk3 z@@AF3oi-^NB9qj9-njJLzJF5NqRY-NyyqQw6`5=CrghCh!QFRm*1UN-=X&Jsd(%t) zYqzx7_w(NsZAz5-+cH({`C2DiuWyS@f_L5t6XTe5Zkf|gmH35yjEg@Am>*UCBh)Ps z_M!0aR-4tK+CBR$vxHYgU9me+y6bCtRqm-%oRfcXT{^1#hN~v&!HP|v^KFEW?mV_W z>Hh6KzL|}al$S5%(B5-B?V$F-LyJZ2Rl-fVrOca-92I_yx%@`a?>%ncVhk8if0c8YTmaFX>Izn z?nOm#Yr68q?JcaVQ)l#lU2~*w}bdagpoG94>FWm=;e%P8ml_gWpV>(i_j+u$^4J z>s6oswv9Jl2S)y#^>W%KyQ38vXj_|6Fdg^j^w`V$RyM>d=YI>NB4O>4-1{p8UiV_Sc|y&Q|L!?>BsJb69t0 zm-L&RJKByjIbABs+whg$$86@&-8`xV6YR|=m{@F=O3J#gTD)jBtK|8^0d}h^?C<|P z^C!LM(~*DqoW~z8aSM1|5ner8eAB*Fbx{v$?N_muZN9yt_5qWN?#3fuzFsa|=_l@U zXl|%}j8L{mx#V>JGgUJWJN8*U#}tX8ZKD)D^Zq z&lmccqP8aapRh*mUQuDASZ9@tlb>wgFZf!@&9_Uk_WRRw>_uN4?ps}-c-VD&!;jB5 zsv0u$1=UY8tauyQt{ol_xQ;Jo@_PGCx1!E8{M&f{@T6&ftXUn}S6$}+xlTiRW{a~` z?L?Ue@`iV&|ByXYTjZI4{bb7e{3{B6W+(4n7CL!FpFwu^a%SEXsn7pZcoRdm9UNBPX2jz({Zc$_pR*=du=?KZi+USKhRh!qPYKdz=G=L9qpyJS|X%1oR-9i<;?!d z^eX%tcYC02dCR2#U*Ff*USO(LVZ3UXRH3wNr^%`5`s|%Kie|2h{@9#e7VveRUe1l( zr)AegPPB`9G^L{2q2Rc7v&Gyc`AP{K%rlD)z02is`J%wYl&g}&ZmVP(D^znz+|Bm$ zy~XByei8cbZ@3j~UZU`=M`m-|k$Zd0es{Co`m5F=@jmC7@z0NUbyjN3SgD}AVLSgZ z-=rPs^P99QIK-Wql}>L-$u#6t{Fh)FH0NmR!8O0KCQH4FW-(&v^!=UxoO%9>Ra_gH z&HO_2vwe*HWjLlqFA_d!r^JN|S2}rBGq$G&o?ATc2$xHX;1@Oh`HU^x zF)fvA8;&#X;cPcs`aMeak%`%#IS2oRomkpDE%#)Jz>i~-?D^(DE^BsZko(G$c!=55 zS*B7`=6=yUxvxe1HymZQ8H9dZ9P(rS^8W6>;rHGuGv0cbQOgi(f8pgTIpMj!6J{*U zE`MkA?wr_Kc88CJpL~|Y%)LB$gP_|y;p9h->@(%J#Gbl7FZ1xMqEjVZ5|6*`2ozM; zS;gteePzw{pC>j5Dn8&T7u+M#ui9u)FhBq54|c7U`P&}E&ADLuKSukYpPQh=DUFjy zHO~0lR*0P_lb>^N2Jc^!nn%-IN@j8`J-d)4nc>jYxpSL@eUdU(no6^Ts@7|qk?osq zcwS#*Q`G!=Cr!nFuaEudsxiE>F{twRN>$&9tqUfY+|m?e75H)1^u>+I%+L70U&=fX zx?&SpImoXrt(4kyF8_(K0z;bybxrHZdlH8fKTc0+2FWR zmYj-^v#Xxmo11A}y2@Z?9MLX` z)!}xR4#u}PojFyXewwp*`kG%|ts7W+T?^;W$o+OLXhPr1#k(h7W=Jk;msxwFX{|xt z2en7LPuG=Q$O=l$d9P$QrTV_e=B+p1MSlqq-rc<^$^7nyj|+Fk&oMXL;}9cJuNb`Y zX@UxO#Dmg(bsl$eB7-evKE3hf^|A2i7$u>f>n4TdDFs~;z1irS#LNFqSNN*zDp6ym zo4gf&e{Q?|rc{qn+VWX_kMifwu6ur_%AZpg;T2>|-?UchqVj@M^Zw^@KTvDDVSQbC z{$W$q+b*2zTwd4cpPlpniTjj3){DVBLK1=c+=m0UzQ0~7d_+s<%Zn`FGyHVmZ=YQJ*c_F=9a=Xj#@89zFld_*rbzOSnC1#J8ws#ulEDPrQ zbJ4%@vUIhf!|W}*A`e>(d!=iG4MT$i875zF7Cfu4J0VKR<(VLd|4!cDNB!hpsGoKH z&UNwKp2O-Eo2-^{{H-{x5#0Eucx6`;$B*9W`N!NGcDVlv+#JZkA$RuCI_VE<_A16- zO?CPCZD-}3zmDc?AA=I(wU_5Jo&Wl00iVhbzET~fH6GHtL+*taH;DQ@N^@QQmRkXI z^ncIg-TYna{`*&3Sj~B6ueL2?fA`)KUox&A^KBHIs3EoO-1=3??6al*E}O7PYZ0f@ zoui%d51q_1BYwtKB^uohG>^)7>$_n>!1V<_=fA67^8Uk~d2G?@f{tgc{)fYNygQij zH*wE4M;XOF@%ZYW`EMP~{djrVm(Q4F@HtbYp35VbIh;-3($q`dBWt_=;^+I@&(*%Y z82Z=m$P$s{e_@>tSuajpC|dmTTi?NQzuYwrWid>r)8tp^Zcv-Z**Hs7ZG!E!w3Oao z>}#*EW`A4i)vxyDl4hicr^=1MYEk~~N19jPY!o~$Zth>5JpaPt0~^;0MlhPO@vhA( z7uouLi|I|*ef^*MH?6ms|H*XPi)%av9x+mH?p2G;>*QQNA?v$4%X`14+ZyLjFT4F; zmu;H%B4xIRms9em82xqoV3uxX(X;c_q|IkOB%KeN^r@lx6L-4p_sL%w1ouwgz9ad! zTym-HVPU;+(F(>M_0w_IqFYR_i|G`~FFLffpv(2O&8t@x?^`$jcRL(6i?dOAik(}) zZJFkG{}+Bf7Wwe^bxvQqL|5Wz*98*Ak(UcTW*t4ecBgYGGI){uakb&KYkOHSMWvOfPoq?7&k<9nHG&oRl! zB_EbP9>J5$xAJPh5=O<6l$Kh>x_p&_^)=x!HA(_D0{czoD)1zvV$?eroY0 z`|dc4V73YAR?|CU5_$ZRPA$5#@lk|8T6(yO)*&txU&EIvSEc7gZAle9StV|E@=({U z+a}jjLpIOWv@v#5zN7hNTlgfK@AAge+II)dP-B>|LzT~3J)!9|+sCC7+!{`v0! z^+nZm+Lj2<2FYmg}@7+z|80J#=u*WTHO+h7M>Miv|vw= zwU{tj-^A5&)^Q^XFYl&A@4^EoTrYF7y|!%Jdh`E-^SSrhtU2%6e(;;V_-~sh=Tf(h zA9g!DAE+&}y6794Ef6TYcfsj{c1}!3e^fa?n*Q@|U)Pe`YI57Gbv@2lWLykn;5wZB zK`7Sk$nlTM-}lx`(ot9_lzjfE=-IXVvP`aS`hK(ZdSUF&8*Hnel`Xw*T=vFQi{@nlQzX(Q~%tSc)|}^Dp!HE6Z}f zC~sUnA!OP_c}@Wzlfa(4mPd3XXYLD-GMqZ^M5ofi%O|c`zuS9K+~Mh&IVsa!m8Y}T zPCL_S;79HK?4>T=>Ip5DfeRKTv+fR_dC5kD@t)@O z#6R_O=B+vq^CnU*`d7jfp#!x~X8-YYF3-Ag?_lM|XDb&*P1xkNMRDu03!%+3FU!63 zQQoxFS@yA=j-aKOzI{&K>UzKW*8$a>B8Q)*>#2S}d;K8KsomVxxyn0l2pj7&7cSW* zlD&d`TI}hS6DrjWa@Wp%V{Iq+Yqg*`*I9n2Cn_$UebeR@>|+Q|zifEoUajxzE$x9x z=hZgMziPORwc(SSP3sX&tIwwe6h2q--BkB}`!ZEy_TgGX!Q+7+E*T0WE}vu->C-O~ zd3W#bz-j+>*+%m8-ua|+I&_+r2&W?NvSXjCWp8+O?pu?#>vLnq;SXQEY%GjhbY0w+ zWSASB&wtJR#3^UfY`xOyE2Cw07@paGP4dXi>cdhh>K;#C$1d@7D0w3LOS zO{rAe{eJhPx~=~t7EkiI`fk7N|Fgvwo)2gKTyN=lw#Kr2qGZ;g&<7tU&3CS!YPfqE zi;6{VS?2_H8B@gG% zdTtSPc~0;)CUza)hyq#hIVmF3RiF2^+`s>M@u#=0VOP%F35z+q<#p@253hsWelJUD zo3!iJgr6Q;FH(C59}=MR=|tzUb^2vka) zoI5qC|ILKC;ufF3ruszAWHw#@U-RH{GXvH7uKuUbPXE}ysQ5|Uy`yzS-!`Y5$%%`?_HxaJ^6C9@leXFJu2g-w`rYT`iYK@JTr~99{r+!UoWFhZmb-Hc z_zTVE?K-4f;&nWdt4Bs_;-3`lFcF@={m$`s>=rvL=a_5LF_q!bsUynVr#7#$XRnZb zan)6#zH!E)HQO)rC+x_-Z`6D zIzqm`u-MUkgylkVj_clll2LT6 z`%2c~aQdOZZm#SDvF9e3q;oxfvEluR!uY*R3d}1FIt1?>o1>YSRk_Yo)6OK&k1slK z-fx;mZ7s6yur=QLTye9#W9IWme;+jc7Pocb z+hK6-XWn&f%>&npmhm2|T&uAEpqOm`mWo48OH|*Vn6-DdPiE=1&l|L-{bm$AcJkb| z$!$KWheS3`ewmOf9Q#G_U{GYwTn=f;1B_F=UdQw{<$0tS9Twv*&t(4Y9u&9s^N)bL zeSY)AHdf|e^WNwDsq9;8|89$&toj^fZ{9~W-R@4;$-gkMOUpNC<8N=nuW;19p)K2lJEEUXX8Cc9c}9=HHN)vGB{x3sSa&_pli4|U`_;1P z>OYHbEln`}@^Xclfk*v>uhDmP*4lnDmp^jm_zN}5-deS3$Fs_;??uAUe}dUjWM_M{B!eBcTR0c{M<(?18QCvE$Tkit=~Fd znfaCA#dG0Pds+Ij@6P(flg0B@cuJ4wru0_Dch-r0W*6^iXokl|=UsC6xy7<#)$g8P zujkEuzxYnMjNLKUbEPbrL7CV1PERgcBG-RyZ`1K9+UJi6*i>Y>>RVr)Srr$`Y<|b7 zcd=5G%q=;_{c-k3`o-8iA74JlY&iefq^t39A9MUpZ)}vrH+%W`TnNAW!{Pmu_S;t?H)b9dGynAW zQCrUSP~Ar{`(IR)CX0xQi&`z;^K+ty(bUriGQ0oiAKL7ze=s(Do=jFiMssLLjD#@b z$$R3=f40n;b@H~n(dvqKGd@1nDp34s%U8GKN4e+Dl>Nt@fApyP*Wz=zeUrkrWqg@h9=!9da}r;s#FW{E6C08Qmxfke zeZ^fgQ{c~aBQ{-4ySTNjE)9=*Wwf{j;^XhLr)_^_l3~w!O!{%$$382wGnW_z7v~A| zw9ge4+p603W_rcwr4>nPw zw>P7|T>c{d)W+EGXzI0jeMdc}g$A#^{Z4R>NZh9q>#DwHp6u0YOGQ2JsPwE}=B%RQ z@bHe@YAyCNd~;bv3mN8$Gre(TXZ$MhA!w1Q-c;{dp?Bt-PRjS4Jj+4%iDBj2mo|m= zvrCTHnR-^gzB8A5&0+Ra({`mE_3F zxfnS$Rn}*wMKx2x68j~uE~v>>*~b^26ul#QuD#*KrKY8dcV9X=#-vyKtl!N)>FMnA zPvR_3S*@9q8P6W0)lfaNE%A=m)&KvW`v(4tTgJ@2`-j>g)|D}VKB9Z>>~+(qYV2hQ zoV?Hfw*7>L-;5s`cTQnzxISO7uf1mC!__POXK}fwA3pNK*yi0Sky+NE97ptx=XusC z*;$tq|8i}<&B?k+jr-gbcGu;F4tJ!A-*5c8L*Fb-OKow`39g)~6>nD8-I%qA_1CZD zlwTX8^D<7vgr4zvk#*LIPsH2l_e77JlB1K=cc*(?N_oG#xK};@*rl6hlI%gTKSV{= z?-jhaE#JPt^?|RX`2Ph;(GxmX$L4DB{||^(|LE{tS)}##nFSI**Y#d)yZwE>NV)z? zU6qf1ZqAC;irI-l@f`QdFGo+Be5xR>yO!hswfS7-)r@Hwv5gD|%(k~pH#gCp{Po>e z@5e!h@>G;>+RXdkA}kU1y>5!R`{JkX&)Pq_%d{k4RW+vh%l_ourP*COy7Cp+8&9*m z3qLraMBwZp2ko9;p)*&B&6*u|jjJnf?OeU~u)GJ6Gx%>$I_Q_ z{OMqQ@ufwKJAdY?OxEgaYW{qd4=9N=WeIJD#?*m$L2Bn*eyA+Q`qIf z?|{6%lymBPBtGx*E#gw|U-el2Y%xaG{*UGDCAFz1(^-%;6#2YKZ=if+!hKmXGAygp_%r}uA*`*wJk zUhzA{aN&Pz;^ln3_?t8Q-zKL$s7-6((b1BB{=YrK>ddo46IT?^c=`1h!gWmv_0-mPN3ZB` z1Rp)?UE{PP^h)8Eq>fql3#Rb|%SavXzgSXubu#0pE}1Psoe5tI-{vSzxE1Saq~}`I zG=KNM*Zr+}s{{_unplz8aMove(Fv9aoy9eb=i{EoJ(-$oxxf2n6T>U_Pcx-YUhuW< z)slO(E7zZY!%_jMxkoG<%~!I@Sq_ zyD7|mfAbud=DSC&nKn4P_gqZ*#ZtSdL#t}ZghXcFXN?wGO`1%eHLvA<%yqIo$iF}O z?HZSOFXP#wmi3mA!LODaFS*Gj5GZ$Iz3-jN4>mAgzrEYXp6_pQa^#!&+0zUj?G?T4 z(PVOQ;rGi2-A`?J>M_N5=1Y~glCd||mp7MBG~9dCKP~X(qYZJlF79mm`}6U;yG<)} z=Y@MOtUcRWYY>@tyX*9?D^l*R>n|OC^XU0%-2jn$0!I(XZO(MxE4y#~X}y_3%bEXu z*_J2&`kh{VkYd<=9S`4sEnnIX8~xU~c7Ma9iE97Pg>j?{mNRDQ9$1j{GN;Joj_3}% z%MzN$-@nRQc=wvkwZm(ArQXhpy1zTTaF@ux{tIP~Y84XQR)wERdY1D^(3Zm_v+eWO z-3zCmTyyK2)h~UiO42>gF>S@sp%EZ=XxwTD8aRGyC>6}pCxkl3lgNx=Uxz7 zv~cH}_x&=8g?p}+HTO0Bny>lIPbu5hjcxjYPG-*+e`0kQR|#c>PRcyxwf%R&?viVh zjhC@4kGN2z`{dKAKo3#TfW_MRlcvv2POHnDbjH>F1&7D%&2}ED*D`q&_7>gEca^{X zHPfd!<7NHUe?IQEDV6!vpF7yD-(R$%MrGd2bBqzCi`eG;FZywTVfM}0{6AvT@7yh( z{BU9U;>Ovwsb@I9JPC*u^4hq?@$~Qe7uGU(@qO_THufsi?b>yOZL;~~38pu6mhYJ| zcc%(-P>AkghA%Cz=1#Vi(9gBr_AF!y&%IkZ2HI2IuQrJgGJfFOym)tg-NYA$4i~j9 zKKj)C$opPsOT*fptfvoE&aUoqc%~`wl38fu!!4oC^JBgA%nBN=1hJgob7kYs!ud0{ zO?Q@=#JghuKI1)aOI9;R96nH2m%Js2*JXpcgO05A)d#G)OHE5GlxF#sto)JEVV3-q zXKi$nZt33CCEs3Nc+32kYr5yRd;h$jKIt;AJ*_`aFGcseQt!V7@80qDc&FWJ&{%H1 zAV)s$@UOi=EX`8JoQZCwei}>%HjCCi3EH4J$Jp`L-h>HJO&_M-V)%4)b!O)NhX+F~ zEKAON8-H5p%A^;~*5=zLzwF@s%@Nn<@)#}aNU`4eBR2cvm)Lp+)5jtuK~h!6^@>yZ zZasF*@J!9<5%#<1zUZHsPRF~~`g2dKgt>~n}A$+%ePhCJ=@%07VrD(Fy#eR!E^DXS(_kZhEQz7oJA-8&(8=TWv_s2Z^%_a4fQ|js0`(^n*lxEMK8d2#Z z(P&{IFB_W1Z@2Pp#MzQFDQe!&!@L-79C;JDN_&-A!cmFs`lbyE? zc}^&tad%$jC;f#^{(t}pV_48lm9q5A5{4uWm7)gUhK+3qXXf3 ze0MtKA|LMIf625yIqz2Svx(+MV_I0Yy<(OK=2-A5xJi45@4j64AG7Bl!%wrde9P=5lqes-Gvu@Y>`$^IrD1 zJ#VOHk1R1v=l6U6V<%feZFJTh-mA&^ULtc|Jil>t zs=HZh*E+rg@8CZ3D(-+aH6~l0p0)ovwb@;=?~1>Qd#`PJ`e*LrR}}vi^>*_~B$j4g zS&(#Ylk4U-t~*zP%>D&4u1eT)`D-x))7w{31`jzH_C0L9e1cL^+tV*lOe{|LRXEk0?7jJ@oW5Ei8w0#g$FyHwWgD~gqtPe_fJ(6;G* zx74p`>JPeZ8lH&$aQKMvOT7nj^AjEVUu)&;*>K+BaNCcC#qX!HKeKeX^+|k-O_1{Z z?kfTt60`Ol{k@pykFVFtt8+`XPyV@dR#SA!yD7@`eixSM<<0r2l-$EbS50a% zZs;Cxn#6WAuU0*BQB^1NjipR2%`g5We_m~OG>kXqQq|d*RI^#`E6zI-F4Pu;!`jFbzCETX-V!Itrg~*v@TV4NX&NGwepaW ziAv#qsgxMjK( znl4HJu$GVlHR|Ld~9dGsa+we`}b z0#BJ->bLFdpKPC~0gem^Znexlq96ttk9Thoq_idrginHx3moJKo@G|-IKL2E@ z7=ExJOf1g$ZevT7jP?)SZ}xjCuN)HkJ$vVi)X)-_iR@E8UHU3hDzzxxH1uQD#KnR0 z>@9by^#yEnxy%)n&m*|5lsEEXZ23{o^K*3K&uU#htP;oN%sq4S*A4#~zDw~RUi+iP zanW2E(c+)C&X|e^INBsX_Dy~Mxy|M8ezq&>JT@~UQt!MEc_ATp{dULmEsxz9CQa53 zc(fsDyAZoc$;o)vbfJb-QI;34n*IJ)km$Ftz}9DXa)M~TBi|i{}cX80TIq3~?M3ojqzkD-sI|B6+(#oCtCVO7PjK{17? zOiftu_gc%Z=RcZEs6FC0IW=n2oLT|1)gfO$of3P!-#2Le&KXKO1>_{dbv3vBow z#t(vb{r^>5$hvTKbMmCR)z7m-7tBx=%J2)-RslH7QJEUvg27Z@$l7R~N026KVIpAB+wA8Srz?u}cQI_8*x8 z&pq6<@`vR^rq`xc4x(S=#Gh`zwQBXX#fxUD99rib@MU9aUV2_S%YHAp)S84}_X8h& z+w}On|E;GvCI{O-uCj9H`?&dU+^QMdBxR_F{yd0#xGOJ8%HgK6~Uh+6~SCaekN6tX~hR}50f^{cv<{et?b^6!)!q`pRN0-TZ3tij)OXwK0VoUji#}m}{ zezTCdw&#|k$6lRlXI_OZeae#jVH?|=X7>-SE10hL``L&ZoZNf$^Zn&#TJ>9u%~vc= zS4dkwqp7{!?U@y;D*GG8ZJ~{qbbYp4u`uqn+Fc*E?6gYP-G-arUh26z%L=-`-kt1P zB6pEv&d*)fHLpm`$n;QJFI(?AGkV(O6D;kj@u3rfd?YXQu9+&(9ow$c<-X(UzPESt zuH7(-uV;KM=%-+%6TdE+QFCSCjJl6{cRs{c@-5?-YM}pYxwToM>!jDg8E*pC#}u&i{KmUrJxT$Zat48J7X4}n+@ZsbB*}B(y%8MD5cf+=_{whCx(oA^v4wH5xxy^g8 zUVg!Q(P7_?1)-V!?o;cxJPuyD=HXNBz_0B4RDAyI|Fwc!_pFkBS?-I=kw@!$#b?ZR zefqM|zp3tpdcNFjhRp#ibA-SBuG{~{k?G?VWvLf}&R?f)SiVJ9yhKMbL5t1Cdh5fF ziJT4ZoXIT%l9+$iR_Jn?cZ$Ib%$p4Vw+Nk2S;MV2aJ?`8B%fp(NM$X%w z?5}c3(WgoA(nfR6?nh$H9)6tPI}Uu-d*bxYnw9ag|AzOMb%eVvPWXH0Qu|JS*OIVF zmJ5E~Y6z}#cXT#Tjyo&x?dM|GdqEP;lja>}@E5!hm!fpYE=b^XtS*(xs@ zgf6_>-R9yi-!8vR>IKtzs~4BT&t&ahsPXq)v*5hY*B8?BM8#b$o_+UuYRrV2=hvUL z*LwT1%I~=8W3J0vY&`lW7Wua*onF1&Cw4-R_f5VkM&bLO6=wt{?h>56ENhDUB9^~P z0}swU^={dJf3Cmpavf63gyQP2?2WP2H5LEHapu^nrq=M>6fMz`3w%B+<1Wo>n06w? zv2wvyPlt#}7gJ?~h4y@qk!JMU^peRa=X@yF_U^MvH?%fx)UW%v@ud2Vlx@<{I}Acn z%NBX>X}+JIzNGYmlBC%g`MGs|4KBAYo$K`VTlI4Hwj)9{-^JB67>pUDzerjgF1&W6 zzun~P!$;-w9cuT7c(+e0_bV@4nO6Or;YqxUi+jgC)u@s?f67>{={D}MXkSn|pXJqq z(xj*fZ)88LOI#4KnEem`zeQ{pAIN-+Jk9lUjqXG?_3p77wOhr`ocqJQ z_2;wn?+@c2{?@EiVzy0T+H^KE?X1*+8Cqo$^L<#J_zN7ZefUVIxW?LOr@O!RO*6i@ z5;aGWiAk5Ho_R3E(|cLvt;Lfw{_!$>_t?JQMe+6b*{8)WisduPY=4>&z4?FD%LNhl zBR~54E?T^km3PU?$AUq3tVFI@egASJB0!ks97Ek9l?r)-DOaYlHE&(=Ep&py!=&jA zLhE+AR$PxWm7QSA@b-auaRl?0kM@grCa5H^E-(M1S;T*PUu%wo*@TKe?dFb?H?8)t ziD&1?bl~n*7P)y{{b`)ptXqZ(^Zse;MUo<3*yt78>6zO@{?mAUczdA1G8`ei%I{dtX-~WtUFx%4p_|xRr4Ps4h%9GV< zPh5*$vCVH&UiGR84?ol?$cY27WCjmsGn*gvjd-P*Ua9w&)KZoI0v;qLDP&t2U9ZCabv zB|oisv0=07_Z*AV&)X+#&$@r%&VwJEL6dI6A#`AYyX*B$R_V^f787ya9u+|gGUKZ;_WjpYTmuRe8rCQXraZE1KK-;RN7^_ zOY5%Wa<^=oyz!vI{T*FpyaD&TBEB$b{0QPVx_;a6b{k9Gwd}GBT)9^4G90Iu>TP=UdR;}xW3}Y!3Fw9x#n%R+IV)}kyZayj=OuXpX*4U zxqr|8)b~3|1GF|gsMLy0_!=+qOr=rc-vb`E3%gIQ`22s0L+YJt%#xOcKhOD|G3oqv z=Z)$Dma|)eezv9yze>#OeICV8bnUQ++7^G2!*)dnwmjA|SQy4Xk#T`A`_;*J^h}tt z+$)|ti`m^hDz7rBZ_n~=oTp#%O=r4wYf{4j1KXC+1;0-Pe5?6q{4;mmhF6*Ul1zF7 zr*2-^`gUviiOa7lZb9Z_fSh=70 zm_w6 zFHM>kH20D~iEwP-seH4(OYUi&w_R_ji}FtTc$oF-H?6eFMOAn2%(L3{jbYB;$wp5e zN=}*ixHERPd1&yF?b30zKf3dFU8p#ct7cb~Yr@`Bf5oi1D9rL!2*OV0D}c_nI*A{lzb=HNHhO_RzM zu7)jF2(t6ATcY-_n4@>n!QhVKe~h=5---5|>-(j&O?Tm}ziOte=bl(zJa#iAY~{

dDrg46YFn3 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

diff --git a/packages/applications/uk.tcsw.dashboard/web/widgets/widgets.ts b/applications/uk.tcsw.dashboard/web/widgets/widgets.ts similarity index 100% rename from packages/applications/uk.tcsw.dashboard/web/widgets/widgets.ts rename to applications/uk.tcsw.dashboard/web/widgets/widgets.ts diff --git a/applications/uk.tcsw.store/backend/index.ts b/applications/uk.tcsw.store/backend/index.ts new file mode 100644 index 0000000..094ae33 --- /dev/null +++ b/applications/uk.tcsw.store/backend/index.ts @@ -0,0 +1,19 @@ +import { createTRPCContext, procedure } from "@tcsw/workspaces-instance/src/subsystems/trpc/trpc"; +import { initTRPC } from "@trpc/server"; +import z from "zod"; + +const log = instance.log.createLogger("uk.tcsw.store"); + +export const t = initTRPC.context>().create(); + +const router = t.router({ + homepage: {}, +}); + +export type TRPCRouter = typeof router; + +instance.subSystems.tRPC.registeredRouters.push({ + basePath: "/app/uk.tcsw.store", + router: router, + createContext: createTRPCContext(instance), +}); diff --git a/applications/uk.tcsw.store/backend/package.json b/applications/uk.tcsw.store/backend/package.json new file mode 100644 index 0000000..fec147b --- /dev/null +++ b/applications/uk.tcsw.store/backend/package.json @@ -0,0 +1,26 @@ +{ + "name": "uk-tcsw-store-backend", + "author": "Tricolor Software", + "private": true, + "dependencies": { + "@trpc/server": "^11.6.0", + "@types/bun": "^1.3.0", + "@types/cookies": "^0.9.1", + "@types/cors": "^2.8.19", + "@types/dockerode": "^3.3.42", + "@types/express": "^5.0.3", + "@types/minimist": "^1.2.5", + "chalk": "^5.5.0", + "cookies": "^0.9.1", + "cors": "^2.8.5", + "dockerode": "^4.0.7", + "dotenv": "^17.2.1", + "express": "^5.1.0", + "minimist": "^1.2.8", + "sharp": "^0.34.3", + "trpc-bun-adapter": "^1.3.0", + "typescript": "^5.9.2", + "zod": "^4.0.17", + "@tcsw/workspaces-instance": "workspace:*" + } +} diff --git a/applications/uk.tcsw.store/backend/tsconfig.json b/applications/uk.tcsw.store/backend/tsconfig.json new file mode 100644 index 0000000..970e16d --- /dev/null +++ b/applications/uk.tcsw.store/backend/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "nodenext", + "moduleResolution": "nodenext", + "lib": ["ESNext", "Decorators"], + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + }, + "include": ["."] +} diff --git a/applications/uk.tcsw.store/backend/vm.d.ts b/applications/uk.tcsw.store/backend/vm.d.ts new file mode 100644 index 0000000..33bfb15 --- /dev/null +++ b/applications/uk.tcsw.store/backend/vm.d.ts @@ -0,0 +1,5 @@ +import type { Instance } from "../../../instance/src/index"; + +declare global { + declare var instance: Instance; +} diff --git a/applications/uk.tcsw.store/manifest.json b/applications/uk.tcsw.store/manifest.json new file mode 100644 index 0000000..88227fd --- /dev/null +++ b/applications/uk.tcsw.store/manifest.json @@ -0,0 +1,12 @@ +{ + "id": "uk.tcsw.store", + "displayName": "Store", + "description": "Manage and install Applications", + "authors": ["Tricolor Software "], + "license": "MIT", + "source": "https://github.com/tricolorsoftware/workspaces/src/branch/main/packages/applications/uk.tcsw.store", + "modules": { + "web": { "path": "./web" }, + "bun": { "path": "./backend/index.ts" } + } +} diff --git a/applications/uk.tcsw.store/web/App.tsx b/applications/uk.tcsw.store/web/App.tsx new file mode 100644 index 0000000..13646f5 --- /dev/null +++ b/applications/uk.tcsw.store/web/App.tsx @@ -0,0 +1,14 @@ +import { type Component } from "solid-js"; +import UKText from "@tcsw/uikit-solid/src/components/text/UKText.jsx"; + +const App: Component = () => { + return ( + <> + + {"Store (uk.tcsw.store) -> Work in progress"} + + + ); +}; + +export default App; diff --git a/applications/uk.tcsw.store/web/lib/trpc.ts b/applications/uk.tcsw.store/web/lib/trpc.ts new file mode 100644 index 0000000..34e3662 --- /dev/null +++ b/applications/uk.tcsw.store/web/lib/trpc.ts @@ -0,0 +1,15 @@ +import { createTRPCClient, httpBatchLink } from "@trpc/client"; +import type { TRPCRouter } from "../../backend/index"; + +const trpc = createTRPCClient({ + links: [ + httpBatchLink({ + url: "http://localhost:3563/app/uk.tcsw.store", + fetch(input, init) { + return fetch(input, { credentials: "include", ...init }); + }, + }), + ], +}); + +export default trpc; diff --git a/applications/uk.tcsw.store/web/package.json b/applications/uk.tcsw.store/web/package.json new file mode 100644 index 0000000..4a2367e --- /dev/null +++ b/applications/uk.tcsw.store/web/package.json @@ -0,0 +1,17 @@ +{ + "name": "uk-tcsw-store-web", + "author": "Tricolor Software", + "private": true, + "dependencies": { + "@solidjs/router": "^0.15.3", + "solid-js": "^1.9.8", + "@tcsw/uikit-solid": "workspace:*", + "@trpc/client": "^11.6.0", + "@trpc/server": "^11.6.0", + "clsx": "^2.1.1" + }, + "devDependencies": { + "typescript": "~5.8.3", + "vite": "^7.1.2" + } +} diff --git a/applications/uk.tcsw.store/web/tsconfig.json b/applications/uk.tcsw.store/web/tsconfig.json new file mode 100644 index 0000000..f643c63 --- /dev/null +++ b/applications/uk.tcsw.store/web/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.tsbuildinfo", + "target": "ES2022", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": false, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["."] +} diff --git a/packages/instance/src/web/src/vite-env.d.ts b/applications/uk.tcsw.store/web/vite-env.d.ts similarity index 100% rename from packages/instance/src/web/src/vite-env.d.ts rename to applications/uk.tcsw.store/web/vite-env.d.ts diff --git a/bun.lock b/bun.lock index b721a74..4744285 100644 --- a/bun.lock +++ b/bun.lock @@ -8,10 +8,10 @@ "prettier": "^3.6.2", }, }, - "packages/applications/uk.tcsw.dashboard/backend": { + "applications/uk.tcsw.dashboard/backend": { "name": "uk-tcsw-dashboard-backend", "dependencies": { - "@tcsw/workspaces-instance": "*", + "@tcsw/workspaces-instance": "workspace:*", "@trpc/server": "^11.6.0", "@types/bun": "^1.3.0", "@types/cookies": "^0.9.1", @@ -32,11 +32,11 @@ "zod": "^4.0.17", }, }, - "packages/applications/uk.tcsw.dashboard/web": { + "applications/uk.tcsw.dashboard/web": { "name": "uk-tcsw-dashboard-web", "dependencies": { "@solidjs/router": "^0.15.3", - "@tcsw/uikit-solid": "*", + "@tcsw/uikit-solid": "workspace:*", "@trpc/client": "^11.6.0", "@trpc/server": "^11.6.0", "clsx": "^2.1.1", @@ -47,7 +47,46 @@ "vite": "^7.1.2", }, }, - "packages/instance": { + "applications/uk.tcsw.store/backend": { + "name": "uk-tcsw-store-backend", + "dependencies": { + "@tcsw/workspaces-instance": "workspace:*", + "@trpc/server": "^11.6.0", + "@types/bun": "^1.3.0", + "@types/cookies": "^0.9.1", + "@types/cors": "^2.8.19", + "@types/dockerode": "^3.3.42", + "@types/express": "^5.0.3", + "@types/minimist": "^1.2.5", + "chalk": "^5.5.0", + "cookies": "^0.9.1", + "cors": "^2.8.5", + "dockerode": "^4.0.7", + "dotenv": "^17.2.1", + "express": "^5.1.0", + "minimist": "^1.2.8", + "sharp": "^0.34.3", + "trpc-bun-adapter": "^1.3.0", + "typescript": "^5.9.2", + "zod": "^4.0.17", + }, + }, + "applications/uk.tcsw.store/web": { + "name": "uk-tcsw-store-web", + "dependencies": { + "@solidjs/router": "^0.15.3", + "@tcsw/uikit-solid": "workspace:*", + "@trpc/client": "^11.6.0", + "@trpc/server": "^11.6.0", + "clsx": "^2.1.1", + "solid-js": "^1.9.8", + }, + "devDependencies": { + "typescript": "~5.8.3", + "vite": "^7.1.2", + }, + }, + "instance": { "name": "@tcsw/workspaces-instance", "version": "0.0.1", "dependencies": { @@ -71,24 +110,25 @@ "zod": "^4.0.17", }, }, - "packages/instance/src/web": { + "instance/src/web": { "name": "@tcsw/workspaces-instance-web", "version": "0.0.0", "dependencies": { "@solidjs/router": "^0.15.3", - "@tcsw/uikit-solid": "*", + "@tcsw/uikit-solid": "workspace:*", "@trpc/client": "^11.6.0", "@trpc/server": "^11.6.0", "clsx": "^2.1.1", "solid-js": "^1.9.8", }, "devDependencies": { + "sass-embedded": "^1.93.3", "typescript": "~5.8.3", "vite": "^7.1.2", "vite-plugin-solid": "^2.11.8", }, }, - "packages/uikit-solid": { + "uikit-solid": { "name": "@tcsw/uikit-solid", "version": "1.0.0", "dependencies": { @@ -169,109 +209,113 @@ "@bufbuild/protobuf": ["@bufbuild/protobuf@2.10.0", "", {}, "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ=="], - "@emnapi/runtime": ["@emnapi/runtime@1.6.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA=="], + "@emnapi/runtime": ["@emnapi/runtime@1.7.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q=="], - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ=="], + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - "@grpc/grpc-js": ["@grpc/grpc-js@1.14.0", "", { "dependencies": { "@grpc/proto-loader": "^0.8.0", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-N8Jx6PaYzcTRNzirReJCtADVoq4z7+1KQ4E70jTg/koQiMoUSN1kbNjPOqpPbhMFhfU1/l7ixspPl8dNY+FoUg=="], + "@grpc/grpc-js": ["@grpc/grpc-js@1.14.1", "", { "dependencies": { "@grpc/proto-loader": "^0.8.0", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-sPxgEWtPUR3EnRJCEtbGZG2iX8LQDUls2wUS3o27jg07KqJFMq6YDeWvMo1wfpmy3rqRdS0rivpLwhqQtEyCuQ=="], "@grpc/proto-loader": ["@grpc/proto-loader@0.7.15", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.2.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ=="], "@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="], - "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.3" }, "os": "darwin", "cpu": "arm64" }, "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA=="], + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], - "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.3" }, "os": "darwin", "cpu": "x64" }, "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg=="], + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], - "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw=="], + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], - "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA=="], + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], - "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.3", "", { "os": "linux", "cpu": "arm" }, "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA=="], + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], - "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ=="], + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], - "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg=="], + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], - "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w=="], + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], - "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg=="], + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], - "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw=="], + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], - "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g=="], + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], - "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.3" }, "os": "linux", "cpu": "arm" }, "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA=="], + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], - "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.3" }, "os": "linux", "cpu": "arm64" }, "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ=="], + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], - "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.3" }, "os": "linux", "cpu": "ppc64" }, "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ=="], + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], - "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.3" }, "os": "linux", "cpu": "s390x" }, "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw=="], + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], - "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.3" }, "os": "linux", "cpu": "x64" }, "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A=="], + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], - "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" }, "os": "linux", "cpu": "arm64" }, "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA=="], + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], - "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.3" }, "os": "linux", "cpu": "x64" }, "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg=="], + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], - "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.4", "", { "dependencies": { "@emnapi/runtime": "^1.5.0" }, "cpu": "none" }, "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA=="], + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], - "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA=="], + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], - "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw=="], + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], - "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.4", "", { "os": "win32", "cpu": "x64" }, "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig=="], + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], @@ -337,49 +381,49 @@ "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.5", "", { "os": "android", "cpu": "arm" }, "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.1", "", { "os": "android", "cpu": "arm" }, "sha512-bxZtughE4VNVJlL1RdoSE545kc4JxL7op57KKoi59/gwuU5rV6jLWFXXc8jwgFoT6vtj+ZjO+Z2C5nrY0Cl6wA=="], - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.5", "", { "os": "android", "cpu": "arm64" }, "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA=="], + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.1", "", { "os": "android", "cpu": "arm64" }, "sha512-44a1hreb02cAAfAKmZfXVercPFaDjqXCK+iKeVOlJ9ltvnO6QqsBHgKVPTu+MJHSLLeMEUbeG2qiDYgbFPU48g=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-usmzIgD0rf1syoOZ2WZvy8YpXK5G1V3btm3QZddoGSa6mOgfXWkkv+642bfUUldomgrbiLQGrPryb7DXLovPWQ=="], - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA=="], + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-is3r/k4vig2Gt8mKtTlzzyaSQ+hd87kDxiN3uDSDwggJLUV56Umli6OoL+/YZa/KvtdrdyNfMKHzL/P4siOOmg=="], - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA=="], + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-QJ1ksgp/bDJkZB4daldVmHaEQkG4r8PUXitCOC2WRmRaSaHx5RwPoI3DHVfXKwDkB+Sk6auFI/+JHacTekPRSw=="], - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ=="], + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-J6ma5xgAzvqsnU6a0+jgGX/gvoGokqpkx6zY4cWizRrm0ffhHDpJKQgC8dtDb3+MqfZDIqs64REbfHDMzxLMqQ=="], - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.5", "", { "os": "linux", "cpu": "arm" }, "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ=="], + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.1", "", { "os": "linux", "cpu": "arm" }, "sha512-JzWRR41o2U3/KMNKRuZNsDUAcAVUYhsPuMlx5RUldw0E4lvSIXFUwejtYz1HJXohUmqs/M6BBJAUBzKXZVddbg=="], - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.5", "", { "os": "linux", "cpu": "arm" }, "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ=="], + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.1", "", { "os": "linux", "cpu": "arm" }, "sha512-L8kRIrnfMrEoHLHtHn+4uYA52fiLDEDyezgxZtGUTiII/yb04Krq+vk3P2Try+Vya9LeCE9ZHU8CXD6J9EhzHQ=="], - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg=="], + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-ysAc0MFRV+WtQ8li8hi3EoFi7us6d1UzaS/+Dp7FYZfg3NdDljGMoVyiIp6Ucz7uhlYDBZ/zt6XI0YEZbUO11Q=="], - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q=="], + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-UV6l9MJpDbDZZ/fJvqNcvO1PcivGEf1AvKuTcHoLjVZVFeAMygnamCTDikCVMRnA+qJe+B3pSbgX2+lBMqgBhA=="], - "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.5", "", { "os": "linux", "cpu": "none" }, "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA=="], + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.1", "", { "os": "linux", "cpu": "none" }, "sha512-UDUtelEprkA85g95Q+nj3Xf0M4hHa4DiJ+3P3h4BuGliY4NReYYqwlc0Y8ICLjN4+uIgCEvaygYlpf0hUj90Yg=="], - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw=="], + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-vrRn+BYhEtNOte/zbc2wAUQReJXxEx2URfTol6OEfY2zFEUK92pkFBSXRylDM7aHi+YqEPJt9/ABYzmcrS4SgQ=="], - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.5", "", { "os": "linux", "cpu": "none" }, "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw=="], + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.1", "", { "os": "linux", "cpu": "none" }, "sha512-gto/1CxHyi4A7YqZZNznQYrVlPSaodOBPKM+6xcDSCMVZN/Fzb4K+AIkNz/1yAYz9h3Ng+e2fY9H6bgawVq17w=="], - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.5", "", { "os": "linux", "cpu": "none" }, "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg=="], + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.1", "", { "os": "linux", "cpu": "none" }, "sha512-KZ6Vx7jAw3aLNjFR8eYVcQVdFa/cvBzDNRFM3z7XhNNunWjA03eUrEwJYPk0G8V7Gs08IThFKcAPS4WY/ybIrQ=="], - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ=="], + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-HvEixy2s/rWNgpwyKpXJcHmE7om1M89hxBTBi9Fs6zVuLU4gOrEMQNbNsN/tBVIMbLyysz/iwNiGtMOpLAOlvA=="], - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.5", "", { "os": "linux", "cpu": "x64" }, "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q=="], + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.1", "", { "os": "linux", "cpu": "x64" }, "sha512-E/n8x2MSjAQgjj9IixO4UeEUeqXLtiA7pyoXCFYLuXpBA/t2hnbIdxHfA7kK9BFsYAoNU4st1rHYdldl8dTqGA=="], - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.5", "", { "os": "linux", "cpu": "x64" }, "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg=="], + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.1", "", { "os": "linux", "cpu": "x64" }, "sha512-IhJ087PbLOQXCN6Ui/3FUkI9pWNZe/Z7rEIVOzMsOs1/HSAECCvSZ7PkIbkNqL/AZn6WbZvnoVZw/qwqYMo4/w=="], - "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.5", "", { "os": "none", "cpu": "arm64" }, "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw=="], + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.1", "", { "os": "none", "cpu": "arm64" }, "sha512-0++oPNgLJHBblreu0SFM7b3mAsBJBTY0Ksrmu9N6ZVrPiTkRgda52mWR7TKhHAsUb9noCjFvAw9l6ZO1yzaVbA=="], - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w=="], + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-VJXivz61c5uVdbmitLkDlbcTk9Or43YC2QVLRkqp86QoeFSqI81bNgjhttqhKNMKnQMWnecOCm7lZz4s+WLGpQ=="], - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg=="], + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-NmZPVTUOitCXUH6erJDzTQ/jotYw4CnkMDjCYRxNHVD9bNyfrGoIse684F9okwzKCV4AIHRbUkeTBc9F2OOH5Q=="], - "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.5", "", { "os": "win32", "cpu": "x64" }, "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ=="], + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.1", "", { "os": "win32", "cpu": "x64" }, "sha512-2SNj7COIdAf6yliSpLdLG8BEsp5lgzRehgfkP0Av8zKfQFKku6JcvbobvHASPJu4f3BFxej5g+HuQPvqPhHvpQ=="], - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg=="], + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.1", "", { "os": "win32", "cpu": "x64" }, "sha512-rLarc1Ofcs3DHtgSzFO31pZsCh8g05R2azN1q3fF+H423Co87My0R+tazOEvYVKXSLh8C4LerMK41/K7wlklcg=="], "@solid-primitives/event-listener": ["@solid-primitives/event-listener@2.4.3", "", { "dependencies": { "@solid-primitives/utils": "^6.3.2" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-h4VqkYFv6Gf+L7SQj+Y6puigL/5DIi7x5q07VZET7AWcS+9/G3WfIE9WheniHWJs51OEkRB43w6lDys5YeFceg=="], @@ -393,15 +437,15 @@ "@solidjs/router": ["@solidjs/router@0.15.3", "", { "peerDependencies": { "solid-js": "^1.8.6" } }, "sha512-iEbW8UKok2Oio7o6Y4VTzLj+KFCmQPGEpm1fS3xixwFBdclFVBvaQVeibl1jys4cujfAK5Kn6+uG2uBm3lxOMw=="], - "@tcsw/uikit-solid": ["@tcsw/uikit-solid@workspace:packages/uikit-solid"], + "@tcsw/uikit-solid": ["@tcsw/uikit-solid@workspace:uikit-solid"], - "@tcsw/workspaces-instance": ["@tcsw/workspaces-instance@workspace:packages/instance"], + "@tcsw/workspaces-instance": ["@tcsw/workspaces-instance@workspace:instance"], - "@tcsw/workspaces-instance-web": ["@tcsw/workspaces-instance-web@workspace:packages/instance/src/web"], + "@tcsw/workspaces-instance-web": ["@tcsw/workspaces-instance-web@workspace:instance/src/web"], - "@trpc/client": ["@trpc/client@11.6.0", "", { "peerDependencies": { "@trpc/server": "11.6.0", "typescript": ">=5.7.2" } }, "sha512-DyWbYk2hd50BaVrXWVkaUnaSwgAF5g/lfBkXtkF1Aqlk6BtSzGUo3owPkgqQO2I5LwWy1+ra9TsSfBBvIZpTwg=="], + "@trpc/client": ["@trpc/client@11.7.1", "", { "peerDependencies": { "@trpc/server": "11.7.1", "typescript": ">=5.7.2" } }, "sha512-uOnAjElKI892/U6aQMcBHYs3x7mme3Cvv1F87ytBL56rBvs7+DyK7r43zgaXKf13+GtPEI6ex5xjVUfyDW8XcQ=="], - "@trpc/server": ["@trpc/server@11.6.0", "", { "peerDependencies": { "typescript": ">=5.7.2" } }, "sha512-skTso0AWbOZck40jwNeYv++AMZXNWLUWdyk+pB5iVaYmEKTuEeMoPrEudR12VafbEU6tZa8HK3QhBfTYYHDCdg=="], + "@trpc/server": ["@trpc/server@11.7.1", "", { "peerDependencies": { "typescript": ">=5.7.2" } }, "sha512-N3U8LNLIP4g9C7LJ/sLkjuPHwqlvE3bnspzC4DEFVdvx2+usbn70P80E3wj5cjOTLhmhRiwJCSXhlB+MHfGeCw=="], "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], @@ -413,21 +457,21 @@ "@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="], - "@types/bun": ["@types/bun@1.3.1", "", { "dependencies": { "bun-types": "1.3.1" } }, "sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ=="], + "@types/bun": ["@types/bun@1.3.2", "", { "dependencies": { "bun-types": "1.3.2" } }, "sha512-t15P7k5UIgHKkxwnMNkJbWlh/617rkDGEdSsDbu+qNHTaz9SKf7aC8fiIlUdD5RPpH6GEkP0cK7WlvmrEBRtWg=="], "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], - "@types/cookies": ["@types/cookies@0.9.1", "", { "dependencies": { "@types/connect": "*", "@types/express": "*", "@types/keygrip": "*", "@types/node": "*" } }, "sha512-E/DPgzifH4sM1UMadJMWd6mO2jOd4g1Ejwzx8/uRCDpJis1IrlyQEcGAYEomtAqRYmD5ORbNXMeI9U0RiVGZbg=="], + "@types/cookies": ["@types/cookies@0.9.2", "", { "dependencies": { "@types/connect": "*", "@types/express": "*", "@types/keygrip": "*", "@types/node": "*" } }, "sha512-1AvkDdZM2dbyFybL4fxpuNCaWyv//0AwsuUk2DWeXyM1/5ZKm6W3z6mQi24RZ4l2ucY+bkSHzbDVpySqPGuV8A=="], "@types/cors": ["@types/cors@2.8.19", "", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="], "@types/docker-modem": ["@types/docker-modem@3.0.6", "", { "dependencies": { "@types/node": "*", "@types/ssh2": "*" } }, "sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg=="], - "@types/dockerode": ["@types/dockerode@3.3.44", "", { "dependencies": { "@types/docker-modem": "*", "@types/node": "*", "@types/ssh2": "*" } }, "sha512-fUpIHlsbYpxAJb285xx3vp7q5wf5mjqSn3cYwl/MhiM+DB99OdO5sOCPlO0PjO+TyOtphPs7tMVLU/RtOo/JjA=="], + "@types/dockerode": ["@types/dockerode@3.3.45", "", { "dependencies": { "@types/docker-modem": "*", "@types/node": "*", "@types/ssh2": "*" } }, "sha512-iYpZF+xr5QLpIICejLdUF2r5gh8IXY1Gw3WLmt41dUbS3Vn/3hVgL+6lJBVbmrhYBWfbWPPstdr6+A0s95DTWA=="], "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - "@types/express": ["@types/express@5.0.3", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "*" } }, "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw=="], + "@types/express": ["@types/express@5.0.5", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "^1" } }, "sha512-LuIQOcb6UmnF7C1PCFmEU1u2hmiHL43fgFQX67sN3H4Z+0Yk0Neo++mFsBjhOAuLzvlQeqAAkeDOZrJs9rzumQ=="], "@types/express-serve-static-core": ["@types/express-serve-static-core@5.1.0", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA=="], @@ -439,7 +483,7 @@ "@types/minimist": ["@types/minimist@1.2.5", "", {}, "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag=="], - "@types/node": ["@types/node@24.9.1", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg=="], + "@types/node": ["@types/node@24.10.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A=="], "@types/qs": ["@types/qs@6.14.0", "", {}, "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ=="], @@ -447,27 +491,27 @@ "@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="], - "@types/send": ["@types/send@0.17.5", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w=="], + "@types/send": ["@types/send@0.17.6", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og=="], - "@types/serve-static": ["@types/serve-static@1.15.9", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA=="], + "@types/serve-static": ["@types/serve-static@1.15.10", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw=="], "@types/ssh2": ["@types/ssh2@1.15.5", "", { "dependencies": { "@types/node": "^18.11.18" } }, "sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ=="], - "@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20251023.1", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20251023.1", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20251023.1", "@typescript/native-preview-linux-arm": "7.0.0-dev.20251023.1", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20251023.1", "@typescript/native-preview-linux-x64": "7.0.0-dev.20251023.1", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20251023.1", "@typescript/native-preview-win32-x64": "7.0.0-dev.20251023.1" }, "bin": { "tsgo": "bin/tsgo.js" } }, "sha512-vR8Hhj/6XYWzq+MquAncZeXjNdmncT3Jf5avdrMIWHYnmjWqcHtIX61NM3N32k2vcfoGfiHZgMGN4BCYmlmp0Q=="], + "@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20251109.1", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20251109.1", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20251109.1", "@typescript/native-preview-linux-arm": "7.0.0-dev.20251109.1", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20251109.1", "@typescript/native-preview-linux-x64": "7.0.0-dev.20251109.1", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20251109.1", "@typescript/native-preview-win32-x64": "7.0.0-dev.20251109.1" }, "bin": { "tsgo": "bin/tsgo.js" } }, "sha512-oKJ13ZyXJr5O11ZkyT0lX+7km6yz6M6x3j8xV25/rjMEnisA5sgFs7nbsAxqCoe2gG7ev3t451GejQB5WweO/A=="], - "@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20251023.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Qe8KKzhe+bEn84+c90DPBYMkLZ1Q6709DmxStlhdSJycO4GAXlURcLyFAegbLGUPen2oU1NISFlCuOoGUDufvw=="], + "@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20251109.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-nqqCMZkQMtjlQ1v5+nTcSe4qxbniinYUJGwG9yq/RENLypeGKcau/is096Jwvi96aI2xSXth7xHtT9Xag6yx3Q=="], - "@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20251023.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1WDzpaluw8y4qfOGTyAFHRskEcg/qPSYQwkDj3jw9lLpYwhXo6uqZ7TmPEX9QhzjtUvmMCnqq4hvwPN/0e3h8Q=="], + "@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20251109.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-vA3DcnCZkthNckjPrt2QawG5Oy447aZtIQsYSmU9jOPPVk3RyZpdAZIb+y74Ct+Fww/LzedTPxHvc6NVkft8XA=="], - "@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20251023.1", "", { "os": "linux", "cpu": "arm" }, "sha512-Q/GxNqqqN3LNVayrWrcdV8aB1tzDbAPWeYqpvAeJpaeioIPXpcA+nqmw9yLkgCQbWMD/YA2Dum8otWtYP6sUyQ=="], + "@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20251109.1", "", { "os": "linux", "cpu": "arm" }, "sha512-nciuISENI1sTJU6VTWa7sVSK8k2AyfCBax1MP9gcYjcbsFnj6GYgmy7vvwTBUnoDNqZHBKdJzKpQtEH0l7Dpig=="], - "@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20251023.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-Q4jcLjgP6GyUBFNgM9bQX5Scsq+RYFVEXkwC1a0f7Jpz8u3qzWz9VRJNzubHcXqFzCGbru0YPN5bZMylNOlP+g=="], + "@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20251109.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-EPh/Lh8y9rDiD4dGASAi3TqVbWE/QocTiiCTgIUZiBV7rWzW2HOKmmRiSphlgsTmAE4sBET7TKgQm2AazzWchA=="], - "@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20251023.1", "", { "os": "linux", "cpu": "x64" }, "sha512-JH5LJMcUPWuCBPgrGybSSKoM4ktpBgxIBCLhunpL0z9vMxHOAXMbfLFu8cdM8X+rr6H+C0IDi/mEvUqMNOvlsA=="], + "@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20251109.1", "", { "os": "linux", "cpu": "x64" }, "sha512-Q6xkv+uyWL2O+YjgKvKEl/XwgfLe4CWyEwvH7LvNmPcOUlaeKkox8lyEM0X3+vIdpUrNLvKUZUZbOg5K2ZuktA=="], - "@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20251023.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-8n/uGR9pwkf3VO8Pok/0TOo0SUyDRlFdE7WWgundGz+X3rlSZYdi7fI9mFYmnSSFOOB7gKbiE0fFFSTIcDY36Q=="], + "@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20251109.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-bOFozHBX++dEUl/Zdvhfcjj5A2qbG4Tf4/pCdy+k26LEij1MOjaXYHKlPjTjhdqxdKUo72I2dvobR3dke2p6jg=="], - "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20251023.1", "", { "os": "win32", "cpu": "x64" }, "sha512-GUz7HU6jSUwHEFauwrtdsXdbOVEQ0qv0Jaz3HJeUx+DrmU8Zl+FM1weOyq1GXmFDjw3dzzR5yIxCld3M3SMT6Q=="], + "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20251109.1", "", { "os": "win32", "cpu": "x64" }, "sha512-pLceiYGf4YcKHT1AmTPfWRbB6MXXFsW4LrvceqPaCQsfvA2eh1xa9NiGHTqTJagNkVBJL6RswXVJ/rIxUYZ+BA=="], "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], @@ -481,15 +525,15 @@ "asn1": ["asn1@0.2.6", "", { "dependencies": { "safer-buffer": "~2.1.0" } }, "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="], - "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.1", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2", "validate-html-nesting": "^1.2.1" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-b4iHuirqK7RgaMzB2Lsl7MqrlDgQtVRSSazyrmx7wB3T759ggGjod5Rkok5MfHjQXhR7tRPmdwoeGPqBnW2KfA=="], + "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.3", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w=="], - "babel-preset-solid": ["babel-preset-solid@1.9.9", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.40.1" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^1.9.8" }, "optionalPeers": ["solid-js"] }, "sha512-pCnxWrciluXCeli/dj5PIEHgbNzim3evtTn12snjqqg8QZWJNMjH1AWIp4iG/tbVjqQ72aBEymMSagvmgxubXw=="], + "babel-preset-solid": ["babel-preset-solid@1.9.10", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.40.3" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^1.9.10" }, "optionalPeers": ["solid-js"] }, "sha512-HCelrgua/Y+kqO8RyL04JBWS/cVdrtUv/h45GntgQY+cJl4eBcKkCDV3TdMjtKx1nXwRaR9QXslM/Npm1dxdZQ=="], "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.8.20", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.8.25", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA=="], "bcrypt-pbkdf": ["bcrypt-pbkdf@1.0.2", "", { "dependencies": { "tweetnacl": "^0.14.3" } }, "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w=="], @@ -509,7 +553,7 @@ "buildcheck": ["buildcheck@0.0.6", "", {}, "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A=="], - "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], + "bun-types": ["bun-types@1.3.2", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-i/Gln4tbzKNuxP70OWhJRZz1MRfvqExowP7U6JKoI8cntFrtxg7RJK3jvz7wQW54UuvNC8tbKHHri5fy74FVqg=="], "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], @@ -521,7 +565,7 @@ "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - "caniuse-lite": ["caniuse-lite@1.0.30001751", "", {}, "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw=="], + "caniuse-lite": ["caniuse-lite@1.0.30001754", "", {}, "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg=="], "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], @@ -583,7 +627,7 @@ "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - "electron-to-chromium": ["electron-to-chromium@1.5.240", "", {}, "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ=="], + "electron-to-chromium": ["electron-to-chromium@1.5.249", "", {}, "sha512-5vcfL3BBe++qZ5kuFhD/p8WOM1N9m3nwvJPULJx+4xf2usSlZFJ0qoNYO2fOX4hi3ocuDcmDobtA+5SFr4OmBg=="], "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], @@ -599,7 +643,7 @@ "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - "esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], "esbuild-plugin-solid": ["esbuild-plugin-solid@0.6.0", "", { "dependencies": { "@babel/core": "^7.20.12", "@babel/preset-typescript": "^7.18.6", "babel-preset-solid": "^1.6.9" }, "peerDependencies": { "esbuild": ">=0.20", "solid-js": ">= 1.0" } }, "sha512-V1FvDALwLDX6K0XNYM9CMRAnMzA0+Ecu55qBUT9q/eAJh1KIDsTMFoOzMSgyHqbOfvrVfO3Mws3z7TW2GVnIZA=="], @@ -705,7 +749,7 @@ "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "magic-string": ["magic-string@0.30.19", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw=="], + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], @@ -735,7 +779,7 @@ "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], - "nan": ["nan@2.23.0", "", {}, "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ=="], + "nan": ["nan@2.23.1", "", {}, "sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw=="], "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], @@ -743,7 +787,7 @@ "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], - "node-releases": ["node-releases@2.0.26", "", {}, "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA=="], + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], @@ -803,7 +847,7 @@ "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - "rollup": ["rollup@4.52.5", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.5", "@rollup/rollup-android-arm64": "4.52.5", "@rollup/rollup-darwin-arm64": "4.52.5", "@rollup/rollup-darwin-x64": "4.52.5", "@rollup/rollup-freebsd-arm64": "4.52.5", "@rollup/rollup-freebsd-x64": "4.52.5", "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", "@rollup/rollup-linux-arm-musleabihf": "4.52.5", "@rollup/rollup-linux-arm64-gnu": "4.52.5", "@rollup/rollup-linux-arm64-musl": "4.52.5", "@rollup/rollup-linux-loong64-gnu": "4.52.5", "@rollup/rollup-linux-ppc64-gnu": "4.52.5", "@rollup/rollup-linux-riscv64-gnu": "4.52.5", "@rollup/rollup-linux-riscv64-musl": "4.52.5", "@rollup/rollup-linux-s390x-gnu": "4.52.5", "@rollup/rollup-linux-x64-gnu": "4.52.5", "@rollup/rollup-linux-x64-musl": "4.52.5", "@rollup/rollup-openharmony-arm64": "4.52.5", "@rollup/rollup-win32-arm64-msvc": "4.52.5", "@rollup/rollup-win32-ia32-msvc": "4.52.5", "@rollup/rollup-win32-x64-gnu": "4.52.5", "@rollup/rollup-win32-x64-msvc": "4.52.5", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw=="], + "rollup": ["rollup@4.53.1", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.1", "@rollup/rollup-android-arm64": "4.53.1", "@rollup/rollup-darwin-arm64": "4.53.1", "@rollup/rollup-darwin-x64": "4.53.1", "@rollup/rollup-freebsd-arm64": "4.53.1", "@rollup/rollup-freebsd-x64": "4.53.1", "@rollup/rollup-linux-arm-gnueabihf": "4.53.1", "@rollup/rollup-linux-arm-musleabihf": "4.53.1", "@rollup/rollup-linux-arm64-gnu": "4.53.1", "@rollup/rollup-linux-arm64-musl": "4.53.1", "@rollup/rollup-linux-loong64-gnu": "4.53.1", "@rollup/rollup-linux-ppc64-gnu": "4.53.1", "@rollup/rollup-linux-riscv64-gnu": "4.53.1", "@rollup/rollup-linux-riscv64-musl": "4.53.1", "@rollup/rollup-linux-s390x-gnu": "4.53.1", "@rollup/rollup-linux-x64-gnu": "4.53.1", "@rollup/rollup-linux-x64-musl": "4.53.1", "@rollup/rollup-openharmony-arm64": "4.53.1", "@rollup/rollup-win32-arm64-msvc": "4.53.1", "@rollup/rollup-win32-ia32-msvc": "4.53.1", "@rollup/rollup-win32-x64-gnu": "4.53.1", "@rollup/rollup-win32-x64-msvc": "4.53.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-n2I0V0lN3E9cxxMqBCT3opWOiQBzRN7UG60z/WDKqdX2zHUS/39lezBcsckZFsV6fUTSnfqI7kHf60jDAPGKug=="], "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], @@ -813,45 +857,45 @@ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - "sass": ["sass@1.93.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg=="], + "sass": ["sass@1.93.3", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg=="], - "sass-embedded": ["sass-embedded@1.93.2", "", { "dependencies": { "@bufbuild/protobuf": "^2.5.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-all-unknown": "1.93.2", "sass-embedded-android-arm": "1.93.2", "sass-embedded-android-arm64": "1.93.2", "sass-embedded-android-riscv64": "1.93.2", "sass-embedded-android-x64": "1.93.2", "sass-embedded-darwin-arm64": "1.93.2", "sass-embedded-darwin-x64": "1.93.2", "sass-embedded-linux-arm": "1.93.2", "sass-embedded-linux-arm64": "1.93.2", "sass-embedded-linux-musl-arm": "1.93.2", "sass-embedded-linux-musl-arm64": "1.93.2", "sass-embedded-linux-musl-riscv64": "1.93.2", "sass-embedded-linux-musl-x64": "1.93.2", "sass-embedded-linux-riscv64": "1.93.2", "sass-embedded-linux-x64": "1.93.2", "sass-embedded-unknown-all": "1.93.2", "sass-embedded-win32-arm64": "1.93.2", "sass-embedded-win32-x64": "1.93.2" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ=="], + "sass-embedded": ["sass-embedded@1.93.3", "", { "dependencies": { "@bufbuild/protobuf": "^2.5.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-all-unknown": "1.93.3", "sass-embedded-android-arm": "1.93.3", "sass-embedded-android-arm64": "1.93.3", "sass-embedded-android-riscv64": "1.93.3", "sass-embedded-android-x64": "1.93.3", "sass-embedded-darwin-arm64": "1.93.3", "sass-embedded-darwin-x64": "1.93.3", "sass-embedded-linux-arm": "1.93.3", "sass-embedded-linux-arm64": "1.93.3", "sass-embedded-linux-musl-arm": "1.93.3", "sass-embedded-linux-musl-arm64": "1.93.3", "sass-embedded-linux-musl-riscv64": "1.93.3", "sass-embedded-linux-musl-x64": "1.93.3", "sass-embedded-linux-riscv64": "1.93.3", "sass-embedded-linux-x64": "1.93.3", "sass-embedded-unknown-all": "1.93.3", "sass-embedded-win32-arm64": "1.93.3", "sass-embedded-win32-x64": "1.93.3" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-+VUy01yfDqNmIVMd/LLKl2TTtY0ovZN0rTonh+FhKr65mFwIYgU9WzgIZKS7U9/SPCQvWTsTGx9jyt+qRm/XFw=="], - "sass-embedded-all-unknown": ["sass-embedded-all-unknown@1.93.2", "", { "dependencies": { "sass": "1.93.2" }, "cpu": [ "!arm", "!x64", "!arm64", ] }, "sha512-GdEuPXIzmhRS5J7UKAwEvtk8YyHQuFZRcpnEnkA3rwRUI27kwjyXkNeIj38XjUQ3DzrfMe8HcKFaqWGHvblS7Q=="], + "sass-embedded-all-unknown": ["sass-embedded-all-unknown@1.93.3", "", { "dependencies": { "sass": "1.93.3" }, "cpu": [ "!arm", "!x64", "!arm64", ] }, "sha512-3okGgnE41eg+CPLtAPletu6nQ4N0ij7AeW+Sl5Km4j29XcmqZQeFwYjHe1AlKTEgLi/UAONk1O8i8/lupeKMbw=="], - "sass-embedded-android-arm": ["sass-embedded-android-arm@1.93.2", "", { "os": "android", "cpu": "arm" }, "sha512-I8bpO8meZNo5FvFx5FIiE7DGPVOYft0WjuwcCCdeJ6duwfkl6tZdatex1GrSigvTsuz9L0m4ngDcX/Tj/8yMow=="], + "sass-embedded-android-arm": ["sass-embedded-android-arm@1.93.3", "", { "os": "android", "cpu": "arm" }, "sha512-8xOw9bywfOD6Wv24BgCmgjkk6tMrsOTTHcb28KDxeJtFtoxiUyMbxo0vChpPAfp2Hyg2tFFKS60s0s4JYk+Raw=="], - "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.93.2", "", { "os": "android", "cpu": "arm64" }, "sha512-346f4iVGAPGcNP6V6IOOFkN5qnArAoXNTPr5eA/rmNpeGwomdb7kJyQ717r9rbJXxOG8OAAUado6J0qLsjnjXQ=="], + "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.93.3", "", { "os": "android", "cpu": "arm64" }, "sha512-uqUl3Kt1IqdGVAcAdbmC+NwuUJy8tM+2ZnB7/zrt6WxWVShVCRdFnWR9LT8HJr7eJN7AU8kSXxaVX/gedanPsg=="], - "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.93.2", "", { "os": "android", "cpu": "none" }, "sha512-hSMW1s4yJf5guT9mrdkumluqrwh7BjbZ4MbBW9tmi1DRDdlw1Wh9Oy1HnnmOG8x9XcI1qkojtPL6LUuEJmsiDg=="], + "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.93.3", "", { "os": "android", "cpu": "none" }, "sha512-2jNJDmo+3qLocjWqYbXiBDnfgwrUeZgZFHJIwAefU7Fn66Ot7rsXl+XPwlokaCbTpj7eMFIqsRAZ/uDueXNCJg=="], - "sass-embedded-android-x64": ["sass-embedded-android-x64@1.93.2", "", { "os": "android", "cpu": "x64" }, "sha512-JqktiHZduvn+ldGBosE40ALgQ//tGCVNAObgcQ6UIZznEJbsHegqStqhRo8UW3x2cgOO2XYJcrInH6cc7wdKbw=="], + "sass-embedded-android-x64": ["sass-embedded-android-x64@1.93.3", "", { "os": "android", "cpu": "x64" }, "sha512-y0RoAU6ZenQFcjM9PjQd3cRqRTjqwSbtWLL/p68y2oFyh0QGN0+LQ826fc0ZvU/AbqCsAizkqjzOn6cRZJxTTQ=="], - "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.93.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-qI1X16qKNeBJp+M/5BNW7v/JHCDYWr1/mdoJ7+UMHmP0b5AVudIZtimtK0hnjrLnBECURifd6IkulybR+h+4UA=="], + "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.93.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-7zb/hpdMOdKteK17BOyyypemglVURd1Hdz6QGsggy60aUFfptTLQftLRg8r/xh1RbQAUKWFbYTNaM47J9yPxYg=="], - "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.93.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-4KeAvlkQ0m0enKUnDGQJZwpovYw99iiMb8CTZRSsQm8Eh7halbJZVmx67f4heFY/zISgVOCcxNg19GrM5NTwtA=="], + "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.93.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-Ek1Vp8ZDQEe327Lz0b7h3hjvWH3u9XjJiQzveq74RPpJQ2q6d9LfWpjiRRohM4qK6o4XOHw1X10OMWPXJtdtWg=="], - "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.93.2", "", { "os": "linux", "cpu": "arm" }, "sha512-N3+D/ToHtzwLDO+lSH05Wo6/KRxFBPnbjVHASOlHzqJnK+g5cqex7IFAp6ozzlRStySk61Rp6d+YGrqZ6/P0PA=="], + "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.93.3", "", { "os": "linux", "cpu": "arm" }, "sha512-yeiv2y+dp8B4wNpd3+JsHYD0mvpXSfov7IGyQ1tMIR40qv+ROkRqYiqQvAOXf76Qwh4Y9OaYZtLpnsPjfeq6mA=="], - "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.93.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-9ftX6nd5CsShJqJ2WRg+ptaYvUW+spqZfJ88FbcKQBNFQm6L87luj3UI1rB6cP5EWrLwHA754OKxRJyzWiaN6g=="], + "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.93.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RBrHWgfd8Dd8w4fbmdRVXRrhh8oBAPyeWDTKAWw8ZEmuXfVl4ytjDuyxaVilh6rR1xTRTNpbaA/YWApBlLrrNw=="], - "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.93.2", "", { "os": "linux", "cpu": "arm" }, "sha512-XBTvx66yRenvEsp3VaJCb3HQSyqCsUh7R+pbxcN5TuzueybZi0LXvn9zneksdXcmjACMlMpIVXi6LyHPQkYc8A=="], + "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.93.3", "", { "os": "linux", "cpu": "arm" }, "sha512-fU0fwAwbp7sBE3h5DVU5UPzvaLg7a4yONfFWkkcCp6ZrOiPuGRHXXYriWQ0TUnWy4wE+svsVuWhwWgvlb/tkKg=="], - "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.93.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-+3EHuDPkMiAX5kytsjEC1bKZCawB9J6pm2eBIzzLMPWbf5xdx++vO1DpT7hD4bm4ZGn0eVHgSOKIfP6CVz6tVg=="], + "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.93.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-PS829l+eUng+9W4PFclXGb4uA2+965NHV3/Sa5U7qTywjeeUUYTZg70dJHSqvhrBEfCc2XJABeW3adLJbyQYkw=="], - "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.93.2", "", { "os": "linux", "cpu": "none" }, "sha512-0sB5kmVZDKTYzmCSlTUnjh6mzOhzmQiW/NNI5g8JS4JiHw2sDNTvt1dsFTuqFkUHyEOY3ESTsfHHBQV8Ip4bEA=="], + "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.93.3", "", { "os": "linux", "cpu": "none" }, "sha512-cK1oBY+FWQquaIGEeQ5H74KTO8cWsSWwXb/WaildOO9U6wmUypTgUYKQ0o5o/29nZbWWlM1PHuwVYTSnT23Jjg=="], - "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.93.2", "", { "os": "linux", "cpu": "x64" }, "sha512-t3ejQ+1LEVuHy7JHBI2tWHhoMfhedUNDjGJR2FKaLgrtJntGnyD1RyX0xb3nuqL/UXiEAtmTmZY+Uh3SLUe1Hg=="], + "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.93.3", "", { "os": "linux", "cpu": "x64" }, "sha512-A7wkrsHu2/I4Zpa0NMuPGkWDVV7QGGytxGyUq3opSXgAexHo/vBPlGoDXoRlSdex0cV+aTMRPjoGIfdmNlHwyg=="], - "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.93.2", "", { "os": "linux", "cpu": "none" }, "sha512-e7AndEwAbFtXaLy6on4BfNGTr3wtGZQmypUgYpSNVcYDO+CWxatKVY4cxbehMPhxG9g5ru+eaMfynvhZt7fLaA=="], + "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.93.3", "", { "os": "linux", "cpu": "none" }, "sha512-vWkW1+HTF5qcaHa6hO80gx/QfB6GGjJUP0xLbnAoY4pwEnw5ulGv6RM8qYr8IDhWfVt/KH+lhJ2ZFxnJareisQ=="], - "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.93.2", "", { "os": "linux", "cpu": "x64" }, "sha512-U3EIUZQL11DU0xDDHXexd4PYPHQaSQa2hzc4EzmhHqrAj+TyfYO94htjWOd+DdTPtSwmLp+9cTWwPZBODzC96w=="], + "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.93.3", "", { "os": "linux", "cpu": "x64" }, "sha512-k6uFxs+e5jSuk1Y0niCwuq42F9ZC5UEP7P+RIOurIm8w/5QFa0+YqeW+BPWEW5M1FqVOsNZH3qGn4ahqvAEjPA=="], - "sass-embedded-unknown-all": ["sass-embedded-unknown-all@1.93.2", "", { "dependencies": { "sass": "1.93.2" }, "os": [ "!linux", "!win32", "!darwin", "!android", ] }, "sha512-7VnaOmyewcXohiuoFagJ3SK5ddP9yXpU0rzz+pZQmS1/+5O6vzyFCUoEt3HDRaLctH4GT3nUGoK1jg0ae62IfQ=="], + "sass-embedded-unknown-all": ["sass-embedded-unknown-all@1.93.3", "", { "dependencies": { "sass": "1.93.3" }, "os": [ "!linux", "!win32", "!darwin", "!android", ] }, "sha512-o5wj2rLpXH0C+GJKt/VpWp6AnMsCCbfFmnMAttcrsa+U3yrs/guhZ3x55KAqqUsE8F47e3frbsDL+1OuQM5DAA=="], - "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.93.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Y90DZDbQvtv4Bt0GTXKlcT9pn4pz8AObEjFF8eyul+/boXwyptPZ/A1EyziAeNaIEIfxyy87z78PUgCeGHsx3Q=="], + "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.93.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-0dOfT9moy9YmBolodwYYXtLwNr4jL4HQC9rBfv6mVrD7ud8ue2kDbn+GVzj1hEJxvEexVSmDCf7MHUTLcGs9xQ=="], - "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.93.2", "", { "os": "win32", "cpu": "x64" }, "sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ=="], + "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.93.3", "", { "os": "win32", "cpu": "x64" }, "sha512-wHFVfxiS9hU/sNk7KReD+lJWRp3R0SLQEX4zfOnRP2zlvI2X4IQR5aZr9GNcuMP6TmNpX0nQPZTegS8+h9RrEg=="], "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], @@ -865,7 +909,7 @@ "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - "sharp": ["sharp@0.34.4", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.0", "semver": "^7.7.2" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.4", "@img/sharp-darwin-x64": "0.34.4", "@img/sharp-libvips-darwin-arm64": "1.2.3", "@img/sharp-libvips-darwin-x64": "1.2.3", "@img/sharp-libvips-linux-arm": "1.2.3", "@img/sharp-libvips-linux-arm64": "1.2.3", "@img/sharp-libvips-linux-ppc64": "1.2.3", "@img/sharp-libvips-linux-s390x": "1.2.3", "@img/sharp-libvips-linux-x64": "1.2.3", "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", "@img/sharp-libvips-linuxmusl-x64": "1.2.3", "@img/sharp-linux-arm": "0.34.4", "@img/sharp-linux-arm64": "0.34.4", "@img/sharp-linux-ppc64": "0.34.4", "@img/sharp-linux-s390x": "0.34.4", "@img/sharp-linux-x64": "0.34.4", "@img/sharp-linuxmusl-arm64": "0.34.4", "@img/sharp-linuxmusl-x64": "0.34.4", "@img/sharp-wasm32": "0.34.4", "@img/sharp-win32-arm64": "0.34.4", "@img/sharp-win32-ia32": "0.34.4", "@img/sharp-win32-x64": "0.34.4" } }, "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA=="], + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], @@ -881,7 +925,7 @@ "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - "solid-js": ["solid-js@1.9.9", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.3.0", "seroval-plugins": "~1.3.0" } }, "sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA=="], + "solid-js": ["solid-js@1.9.10", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.3.0", "seroval-plugins": "~1.3.0" } }, "sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew=="], "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], @@ -953,9 +997,13 @@ "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], - "uk-tcsw-dashboard-backend": ["uk-tcsw-dashboard-backend@workspace:packages/applications/uk.tcsw.dashboard/backend"], + "uk-tcsw-dashboard-backend": ["uk-tcsw-dashboard-backend@workspace:applications/uk.tcsw.dashboard/backend"], - "uk-tcsw-dashboard-web": ["uk-tcsw-dashboard-web@workspace:packages/applications/uk.tcsw.dashboard/web"], + "uk-tcsw-dashboard-web": ["uk-tcsw-dashboard-web@workspace:applications/uk.tcsw.dashboard/web"], + + "uk-tcsw-store-backend": ["uk-tcsw-store-backend@workspace:applications/uk.tcsw.store/backend"], + + "uk-tcsw-store-web": ["uk-tcsw-store-web@workspace:applications/uk.tcsw.store/web"], "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], @@ -967,13 +1015,11 @@ "uuid": ["uuid@10.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ=="], - "validate-html-nesting": ["validate-html-nesting@1.2.3", "", {}, "sha512-kdkWdCl6eCeLlRShJKbjVOU2kFKxMF8Ghu50n+crEoyx+VKm3FxAxF9z4DCy6+bbTOqNW0+jcIYRnjoIRzigRw=="], - "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], - "vite": ["vite@7.1.12", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug=="], + "vite": ["vite@7.2.2", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ=="], "vite-plugin-solid": ["vite-plugin-solid@2.11.10", "", { "dependencies": { "@babel/core": "^7.23.3", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^1.8.4", "merge-anything": "^5.1.7", "solid-refresh": "^0.6.3", "vitefu": "^1.0.4" }, "peerDependencies": { "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", "solid-js": "^1.7.2", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@testing-library/jest-dom"] }, "sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw=="], @@ -1033,6 +1079,8 @@ "uk-tcsw-dashboard-web/typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + "uk-tcsw-store-web/typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], diff --git a/packages/instance/.gitignore b/instance/.gitignore similarity index 100% rename from packages/instance/.gitignore rename to instance/.gitignore diff --git a/packages/instance/package.json b/instance/package.json similarity index 100% rename from packages/instance/package.json rename to instance/package.json diff --git a/packages/instance/src/assets/placeholder/avatar.png b/instance/src/assets/placeholder/avatar.png similarity index 100% rename from packages/instance/src/assets/placeholder/avatar.png rename to instance/src/assets/placeholder/avatar.png diff --git a/packages/instance/src/index.ts b/instance/src/index.ts similarity index 100% rename from packages/instance/src/index.ts rename to instance/src/index.ts diff --git a/packages/instance/src/log.ts b/instance/src/log.ts similarity index 100% rename from packages/instance/src/log.ts rename to instance/src/log.ts diff --git a/packages/instance/src/subSystems.ts b/instance/src/subSystems.ts similarity index 100% rename from packages/instance/src/subSystems.ts rename to instance/src/subSystems.ts diff --git a/packages/instance/src/subsystems/applications.ts b/instance/src/subsystems/applications.ts similarity index 90% rename from packages/instance/src/subsystems/applications.ts rename to instance/src/subsystems/applications.ts index 3513e4a..184be31 100644 --- a/packages/instance/src/subsystems/applications.ts +++ b/instance/src/subsystems/applications.ts @@ -36,6 +36,38 @@ export default class ApplicationsSubsystem extends SubSystem { return apps; } + async updateWebRouter() { + let applicationsInfill = ``; + for (const app of this.availableApplications) { + if (this.enabledApplications.find((a) => a === app.manifest?.id)) { + if (app.manifest?.modules.web) { + applicationsInfill += ` import("${path.relative(path.join(this.instance.subSystems.filesystem.FS_ROOT), path.join(app.path, app.manifest.modules.web.path, "/App.tsx")).replaceAll("\\", "/")}"))} /> +`; + } + } + } + + if (this.availableApplications.length === 0) { + applicationsInfill = ` <>How peculiar. You have no applications installed, please ask an administrator to install some via the command-line interface.}/>` + } + + let applicationsWebRouterTemplate = `import { Route } from "@solidjs/router"; +import { type Component, lazy } from "solid-js"; + +const ApplicationsRouter: Component = () => { + return ( + <> + ${applicationsInfill} + ); +}; + +export default ApplicationsRouter`; + + await fs.writeFile(path.join(this.instance.subSystems.filesystem.FS_ROOT, "Applications.tsx"), applicationsWebRouterTemplate); + + return true + } + async startup(): Promise { try { if (!(await fs.exists(APPLICATIONS_CONFIG_FILE_PATH(this)))) @@ -59,29 +91,7 @@ export default class ApplicationsSubsystem extends SubSystem { this.log.info(`application '${app.manifest?.id}' is ${app.enabled ? "enabled" : "disabled"}`); } - let applicationsInfill = ``; - for (const app of this.availableApplications) { - if (this.enabledApplications.find((a) => a === app.manifest?.id)) { - if (app.manifest?.modules.web) { - applicationsInfill += ` import("${path.relative(path.join(this.instance.subSystems.filesystem.FS_ROOT), path.join(app.path, app.manifest.modules.web.path, "/App.tsx")).replaceAll("\\", "/")}"))} /> -`; - } - } - } - - let applicationsWebRouterTemplate = `import { Route } from "@solidjs/router"; -import { type Component, lazy } from "solid-js"; - -const ApplicationsRouter: Component = () => { - return ( - <> - ${applicationsInfill} - ); -}; - -export default ApplicationsRouter`; - - await fs.writeFile(path.join(this.instance.subSystems.filesystem.FS_ROOT, "Applications.tsx"), applicationsWebRouterTemplate); + await this.updateWebRouter() if (!(await fs.exists(path.join(this.instance.subSystems.filesystem.FS_ROOT, "package.json")))) { await fs.writeFile( @@ -226,6 +236,7 @@ export default ApplicationsRouter`; } await this.saveApplicationsConfig(); + await this.updateWebRouter() if (app?.manifest?.modules.bun) { try { @@ -287,6 +298,7 @@ export default ApplicationsRouter`; } await this.saveApplicationsConfig(); + await this.updateWebRouter() return false; } diff --git a/packages/instance/src/subsystems/applications/application.ts b/instance/src/subsystems/applications/application.ts similarity index 100% rename from packages/instance/src/subsystems/applications/application.ts rename to instance/src/subsystems/applications/application.ts diff --git a/packages/instance/src/subsystems/applications/serviceStatus.ts b/instance/src/subsystems/applications/serviceStatus.ts similarity index 100% rename from packages/instance/src/subsystems/applications/serviceStatus.ts rename to instance/src/subsystems/applications/serviceStatus.ts diff --git a/packages/instance/src/subsystems/authorization.ts b/instance/src/subsystems/authorization.ts similarity index 100% rename from packages/instance/src/subsystems/authorization.ts rename to instance/src/subsystems/authorization.ts diff --git a/packages/instance/src/subsystems/configuration.ts b/instance/src/subsystems/configuration.ts similarity index 100% rename from packages/instance/src/subsystems/configuration.ts rename to instance/src/subsystems/configuration.ts diff --git a/packages/instance/src/subsystems/consoleCommands.ts b/instance/src/subsystems/consoleCommands.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands.ts rename to instance/src/subsystems/consoleCommands.ts diff --git a/packages/instance/src/subsystems/consoleCommands/command.ts b/instance/src/subsystems/consoleCommands/command.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/command.ts rename to instance/src/subsystems/consoleCommands/command.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/application.ts b/instance/src/subsystems/consoleCommands/commands/application.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/application.ts rename to instance/src/subsystems/consoleCommands/commands/application.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/exit.ts b/instance/src/subsystems/consoleCommands/commands/exit.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/exit.ts rename to instance/src/subsystems/consoleCommands/commands/exit.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/help.ts b/instance/src/subsystems/consoleCommands/commands/help.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/help.ts rename to instance/src/subsystems/consoleCommands/commands/help.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/install_application.ts b/instance/src/subsystems/consoleCommands/commands/install_application.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/install_application.ts rename to instance/src/subsystems/consoleCommands/commands/install_application.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/password.ts b/instance/src/subsystems/consoleCommands/commands/password.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/password.ts rename to instance/src/subsystems/consoleCommands/commands/password.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/restart.ts b/instance/src/subsystems/consoleCommands/commands/restart.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/restart.ts rename to instance/src/subsystems/consoleCommands/commands/restart.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/stop.ts b/instance/src/subsystems/consoleCommands/commands/stop.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/stop.ts rename to instance/src/subsystems/consoleCommands/commands/stop.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/useradd.ts b/instance/src/subsystems/consoleCommands/commands/useradd.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/useradd.ts rename to instance/src/subsystems/consoleCommands/commands/useradd.ts diff --git a/packages/instance/src/subsystems/consoleCommands/commands/users.ts b/instance/src/subsystems/consoleCommands/commands/users.ts similarity index 100% rename from packages/instance/src/subsystems/consoleCommands/commands/users.ts rename to instance/src/subsystems/consoleCommands/commands/users.ts diff --git a/packages/instance/src/subsystems/database.ts b/instance/src/subsystems/database.ts similarity index 100% rename from packages/instance/src/subsystems/database.ts rename to instance/src/subsystems/database.ts diff --git a/packages/instance/src/subsystems/filesystem.ts b/instance/src/subsystems/filesystem.ts similarity index 100% rename from packages/instance/src/subsystems/filesystem.ts rename to instance/src/subsystems/filesystem.ts diff --git a/packages/instance/src/subsystems/notifications.ts b/instance/src/subsystems/notifications.ts similarity index 100% rename from packages/instance/src/subsystems/notifications.ts rename to instance/src/subsystems/notifications.ts diff --git a/packages/instance/src/subsystems/trpc.ts b/instance/src/subsystems/trpc.ts similarity index 100% rename from packages/instance/src/subsystems/trpc.ts rename to instance/src/subsystems/trpc.ts diff --git a/packages/instance/src/subsystems/trpc/trpc.ts b/instance/src/subsystems/trpc/trpc.ts similarity index 92% rename from packages/instance/src/subsystems/trpc/trpc.ts rename to instance/src/subsystems/trpc/trpc.ts index 5699ca0..81a0042 100644 --- a/packages/instance/src/subsystems/trpc/trpc.ts +++ b/instance/src/subsystems/trpc/trpc.ts @@ -174,7 +174,25 @@ export const workspacesRouter = t.router({ sessionToken: session, }; }), - isAuthenticated: procedure.output(z.object({ authenticated: z.boolean() })).query(() => { + isAuthenticated: publicProcedure.output(z.object({ authenticated: z.boolean() })).query(async (opt) => { + const cookieString = opt.ctx.rawRequest.req.headers?.get("cookie"); + + if (cookieString === null) { + return { + authenticated: false, + }; + } + + const parsedCookie = Bun.Cookie.parse(cookieString); + + let userId = await opt.ctx.instance.subSystems.authorization.verifySession(decodeURIComponent(parsedCookie.value)); + + if (userId === undefined) { + return { + authenticated: false + } + } + return { authenticated: true, }; diff --git a/packages/instance/src/subsystems/users.ts b/instance/src/subsystems/users.ts similarity index 100% rename from packages/instance/src/subsystems/users.ts rename to instance/src/subsystems/users.ts diff --git a/packages/instance/src/web/.gitignore b/instance/src/web/.gitignore similarity index 100% rename from packages/instance/src/web/.gitignore rename to instance/src/web/.gitignore diff --git a/packages/instance/src/web/index.html b/instance/src/web/index.html similarity index 100% rename from packages/instance/src/web/index.html rename to instance/src/web/index.html diff --git a/packages/instance/src/web/package.json b/instance/src/web/package.json similarity index 81% rename from packages/instance/src/web/package.json rename to instance/src/web/package.json index b164fa1..c675802 100644 --- a/packages/instance/src/web/package.json +++ b/instance/src/web/package.json @@ -11,7 +11,7 @@ "dependencies": { "@solidjs/router": "^0.15.3", "solid-js": "^1.9.8", - "@tcsw/uikit-solid": "*", + "@tcsw/uikit-solid": "workspace:*", "@trpc/client": "^11.6.0", "@trpc/server": "^11.6.0", "clsx": "^2.1.1" @@ -19,6 +19,7 @@ "devDependencies": { "typescript": "~5.8.3", "vite": "^7.1.2", - "vite-plugin-solid": "^2.11.8" + "vite-plugin-solid": "^2.11.8", + "sass-embedded":"^1.93.3" } } diff --git a/packages/instance/src/web/public/assets/placeholder/avatar.png b/instance/src/web/public/assets/placeholder/avatar.png similarity index 100% rename from packages/instance/src/web/public/assets/placeholder/avatar.png rename to instance/src/web/public/assets/placeholder/avatar.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor.png b/instance/src/web/public/assets/tricolor/tricolor.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor.png rename to instance/src/web/public/assets/tricolor/tricolor.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor.svg b/instance/src/web/public/assets/tricolor/tricolor.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor.svg rename to instance/src/web/public/assets/tricolor/tricolor.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor@2x.png b/instance/src/web/public/assets/tricolor/tricolor@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor@2x.png rename to instance/src/web/public/assets/tricolor/tricolor@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor@4x.png b/instance/src/web/public/assets/tricolor/tricolor@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor@4x.png rename to instance/src/web/public/assets/tricolor/tricolor@4x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon.png b/instance/src/web/public/assets/tricolor/tricolor_icon.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon.png rename to instance/src/web/public/assets/tricolor/tricolor_icon.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon.svg b/instance/src/web/public/assets/tricolor/tricolor_icon.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon.svg rename to instance/src/web/public/assets/tricolor/tricolor_icon.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon@2x.png b/instance/src/web/public/assets/tricolor/tricolor_icon@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon@2x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon@4x.png b/instance/src/web/public/assets/tricolor/tricolor_icon@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon@4x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon@4x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.png b/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.svg b/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.svg rename to instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@2x.png b/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@2x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@4x.png b/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@4x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_compression_friendly@4x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.png b/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_transparent.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.svg b/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent.svg rename to instance/src/web/public/assets/tricolor/tricolor_icon_transparent.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@2x.png b/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@2x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_transparent@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@4x.png b/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_icon_transparent@4x.png rename to instance/src/web/public/assets/tricolor/tricolor_icon_transparent@4x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.svg b/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.svg rename to instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@2x.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@2x.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@4x.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@4x.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_dark_background@4x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.svg b/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.svg similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.svg rename to instance/src/web/public/assets/tricolor/tricolor_transparent_light_background.svg diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@2x.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@2x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@2x.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@2x.png diff --git a/packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@4x.png b/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@4x.png similarity index 100% rename from packages/instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@4x.png rename to instance/src/web/public/assets/tricolor/tricolor_transparent_light_background@4x.png diff --git a/packages/instance/src/web/public/vite.svg b/instance/src/web/public/vite.svg similarity index 100% rename from packages/instance/src/web/public/vite.svg rename to instance/src/web/public/vite.svg diff --git a/packages/instance/src/web/src/App.tsx b/instance/src/web/src/App.tsx similarity index 66% rename from packages/instance/src/web/src/App.tsx rename to instance/src/web/src/App.tsx index 36d4957..39275f7 100644 --- a/packages/instance/src/web/src/App.tsx +++ b/instance/src/web/src/App.tsx @@ -2,6 +2,7 @@ import { type Component, lazy } from "solid-js"; import { Route, Router } from "@solidjs/router"; import { UIKitRoot } from "@tcsw/uikit-solid/src/index.tsx"; import AppIndex from "./pages/app/App.tsx"; +import AuthCheck from "./pages/app/AuthCheck.tsx"; const ApplicationsRouter = lazy(() => import("../../../fs/Applications.tsx")); @@ -13,12 +14,14 @@ const App: Component = () => { import("./pages/userSelect/login/Login.tsx"))} /> import("./pages/userSelect/signup/Signup.tsx"))} /> - import("./pages/app/Layout.tsx"))}> - - } /> - + + import("./pages/app/Layout.tsx"))}> + + + + + import("./pages/notFound/Index.tsx"))} /> - import("./pages/notFound/Index.tsx"))} /> import("./pages/notFound/Index.tsx"))} /> diff --git a/packages/instance/src/web/src/index.css b/instance/src/web/src/index.scss similarity index 100% rename from packages/instance/src/web/src/index.css rename to instance/src/web/src/index.scss diff --git a/packages/instance/src/web/src/index.tsx b/instance/src/web/src/index.tsx similarity index 88% rename from packages/instance/src/web/src/index.tsx rename to instance/src/web/src/index.tsx index f67cd20..707d52f 100644 --- a/packages/instance/src/web/src/index.tsx +++ b/instance/src/web/src/index.tsx @@ -1,6 +1,6 @@ /* @refresh reload */ import { render } from 'solid-js/web' -import './index.css' +import './index.scss' import App from './App.tsx' const root = document.getElementById('root') diff --git a/packages/instance/src/web/src/lib/backend.ts b/instance/src/web/src/lib/backend.ts similarity index 100% rename from packages/instance/src/web/src/lib/backend.ts rename to instance/src/web/src/lib/backend.ts diff --git a/packages/instance/src/web/src/lib/trpc.ts b/instance/src/web/src/lib/trpc.ts similarity index 100% rename from packages/instance/src/web/src/lib/trpc.ts rename to instance/src/web/src/lib/trpc.ts diff --git a/packages/instance/src/web/src/pages/app/App.tsx b/instance/src/web/src/pages/app/App.tsx similarity index 100% rename from packages/instance/src/web/src/pages/app/App.tsx rename to instance/src/web/src/pages/app/App.tsx diff --git a/instance/src/web/src/pages/app/AuthCheck.module.scss b/instance/src/web/src/pages/app/AuthCheck.module.scss new file mode 100644 index 0000000..2d5c42d --- /dev/null +++ b/instance/src/web/src/pages/app/AuthCheck.module.scss @@ -0,0 +1,22 @@ +.root { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: flex; + flex-direction: column; + gap: 1rem; + align-items: center; + justify-content: center; +} + +.button { + margin-left: auto; +} + +.spinner { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} diff --git a/instance/src/web/src/pages/app/AuthCheck.tsx b/instance/src/web/src/pages/app/AuthCheck.tsx new file mode 100644 index 0000000..2fd62ca --- /dev/null +++ b/instance/src/web/src/pages/app/AuthCheck.tsx @@ -0,0 +1,49 @@ +import { type Component, createResource, type ParentProps } from "solid-js"; +import trpc from "../../lib/trpc.ts"; +import UKCard from "@tcsw/uikit-solid/src/components/card/UKCard.tsx"; +import UKText from "@tcsw/uikit-solid/src/components/text/UKText.tsx"; +import UKDivider from "@tcsw/uikit-solid/src/components/divider/UKDivider.tsx"; +import { DividerDirection } from "@tcsw/uikit-solid/src/components/divider/lib/direction.ts"; +import styles from "./AuthCheck.module.scss"; +import UKButton from "@tcsw/uikit-solid/src/components/button/UKButton.tsx"; +import { useNavigate } from "@solidjs/router"; +import UKIndeterminateSpinner from "@tcsw/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx"; + +const AuthCheck: Component> = (props) => { + const navigate = useNavigate(); + const [checkResult] = createResource(() => trpc.authorization.isAuthenticated.query()); + + return ( + <> + {checkResult() === undefined ? ( + + ) : ( + <> + {!checkResult()?.authenticated ? ( + + + Unauthorized + + + + Please login before trying to access this page. + + { + navigate("/"); + }} + > + Login + + + ) : ( + props.children + )} + + )} + + ); +}; + +export default AuthCheck; diff --git a/packages/instance/src/web/src/pages/app/Layout.module.scss b/instance/src/web/src/pages/app/Layout.module.scss similarity index 99% rename from packages/instance/src/web/src/pages/app/Layout.module.scss rename to instance/src/web/src/pages/app/Layout.module.scss index c55e0ef..2464afb 100644 --- a/packages/instance/src/web/src/pages/app/Layout.module.scss +++ b/instance/src/web/src/pages/app/Layout.module.scss @@ -7,6 +7,7 @@ /* remove later */ align-items: center; justify-content: center; + } .tricolor { diff --git a/packages/instance/src/web/src/pages/app/Layout.tsx b/instance/src/web/src/pages/app/Layout.tsx similarity index 90% rename from packages/instance/src/web/src/pages/app/Layout.tsx rename to instance/src/web/src/pages/app/Layout.tsx index 0b5f8c8..81a39ae 100644 --- a/packages/instance/src/web/src/pages/app/Layout.tsx +++ b/instance/src/web/src/pages/app/Layout.tsx @@ -5,6 +5,7 @@ import UKIndeterminateSpinner from "@tcsw/uikit-solid/src/components/indetermina import UKNavigationRail from "@tcsw/uikit-solid/src/components/navigationRail/UKNavigationRail.jsx"; import NavigationRailAvatar from "./navigationRailAvatar/NavigationRailAvatar"; import trpc from "../../lib/trpc"; +import NavigationRailClock from "./navigationRailClock/NavigationRailClock.tsx"; const AppLayout: Component> = (props) => { const navigate = useNavigate(); @@ -36,6 +37,11 @@ const AppLayout: Component> = (props) => { ]} setExpanded={(exp) => setExpanded(exp)} anchorPoints={{ + topMost: ( + <> + + + ), top: ( <> diff --git a/packages/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.module.scss b/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.module.scss similarity index 100% rename from packages/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.module.scss rename to instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.module.scss diff --git a/packages/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.tsx b/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.tsx similarity index 100% rename from packages/instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.tsx rename to instance/src/web/src/pages/app/navigationRailAvatar/NavigationRailAvatar.tsx diff --git a/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.module.scss b/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.module.scss new file mode 100644 index 0000000..daba961 --- /dev/null +++ b/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.module.scss @@ -0,0 +1,40 @@ +.root { + margin-top: 1rem; + margin-bottom: -1rem; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 0; + border-radius: 10rem; + + transition: gap var(--uk-sys-motion-duration-250) var(--uk-sys-motion-easing-emphasized-decelerate), width var(--uk-sys-motion-duration-250) var(--uk-sys-motion-easing-emphasized-decelerate); + + &[data-expanded="true"] { + width: 20.5rem; + gap: 1rem; + } + + &[data-expanded="false"] { + width: 4rem; + + .expanded { + opacity: 0; + width: 0; + transition: width var(--uk-sys-motion-duration-250) var(--uk-sys-motion-easing-emphasized-decelerate); + } + } +} + +.content { + overflow: hidden; + height: var(--uk-sys-typescale-body-medium-line-height); +} + +.collapsed { + +} + +.expanded { + transition: width var(--uk-sys-motion-duration-250) var(--uk-sys-motion-easing-emphasized-decelerate), opacity var(--uk-sys-motion-duration-250) var(--uk-sys-motion-easing-emphasized-decelerate); +} diff --git a/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.tsx b/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.tsx new file mode 100644 index 0000000..15c0b18 --- /dev/null +++ b/instance/src/web/src/pages/app/navigationRailClock/NavigationRailClock.tsx @@ -0,0 +1,53 @@ +import { type Component, createSignal, onCleanup } from "solid-js"; +import styles from "./NavigationRailClock.module.scss"; +import UKText from "@tcsw/uikit-solid/src/components/text/UKText.tsx"; +import clsx from "clsx"; + +function padWith0(num: number) { + return num.toString().padStart(2, "0"); +} + +const NavigationRailClock: Component<{ expanded: boolean }> = (props) => { + const [currentDate, setCurrentDate] = createSignal(new Date()); + + const timer = setInterval(() => setCurrentDate(new Date()), 10_000); + onCleanup(() => clearInterval(timer)); + + /* Add "st/nd/rd/th" suffix to a string */ + function addOrdinalSuffixToDay(day: number) { + const j = day % 10 + const k = day % 100; + + if (j === 1 && k !== 11) + return "st"; + if (j === 2 && k !== 12) + return "nd"; + if (j === 3 && k !== 13) + return "rd"; + + return "th"; + } + + const time = () => `${padWith0(currentDate().getHours())}:${padWith0(currentDate().getMinutes())}`; + const date = () => { + const d = currentDate(); + const weekday = d.toLocaleDateString(undefined, { weekday: "long" }); + const day = d.getDate(); + const month = d.toLocaleDateString(undefined, { month: "long" }); + const year = d.getFullYear(); + return `${weekday} ${day}${addOrdinalSuffixToDay(day)} ${month} ${year}`; + }; + + return ( +
+ + {time()} + + + {date()} + +
+ ); +}; + +export default NavigationRailClock; diff --git a/packages/instance/src/web/src/pages/notFound/Index.tsx b/instance/src/web/src/pages/notFound/Index.tsx similarity index 100% rename from packages/instance/src/web/src/pages/notFound/Index.tsx rename to instance/src/web/src/pages/notFound/Index.tsx diff --git a/packages/instance/src/web/src/pages/userSelect/2fa/2fa.tsx b/instance/src/web/src/pages/userSelect/2fa/2fa.tsx similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/2fa/2fa.tsx rename to instance/src/web/src/pages/userSelect/2fa/2fa.tsx diff --git a/packages/instance/src/web/src/pages/userSelect/Layout.module.scss b/instance/src/web/src/pages/userSelect/Layout.module.scss similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/Layout.module.scss rename to instance/src/web/src/pages/userSelect/Layout.module.scss diff --git a/packages/instance/src/web/src/pages/userSelect/Layout.tsx b/instance/src/web/src/pages/userSelect/Layout.tsx similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/Layout.tsx rename to instance/src/web/src/pages/userSelect/Layout.tsx diff --git a/packages/instance/src/web/src/pages/userSelect/forgotPassword/ForgotPassword.tsx b/instance/src/web/src/pages/userSelect/forgotPassword/ForgotPassword.tsx similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/forgotPassword/ForgotPassword.tsx rename to instance/src/web/src/pages/userSelect/forgotPassword/ForgotPassword.tsx diff --git a/packages/instance/src/web/src/pages/userSelect/login/Login.module.scss b/instance/src/web/src/pages/userSelect/login/Login.module.scss similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/login/Login.module.scss rename to instance/src/web/src/pages/userSelect/login/Login.module.scss diff --git a/packages/instance/src/web/src/pages/userSelect/login/Login.tsx b/instance/src/web/src/pages/userSelect/login/Login.tsx similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/login/Login.tsx rename to instance/src/web/src/pages/userSelect/login/Login.tsx diff --git a/packages/instance/src/web/src/pages/userSelect/signup/Signup.module.scss b/instance/src/web/src/pages/userSelect/signup/Signup.module.scss similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/signup/Signup.module.scss rename to instance/src/web/src/pages/userSelect/signup/Signup.module.scss diff --git a/packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx b/instance/src/web/src/pages/userSelect/signup/Signup.tsx similarity index 100% rename from packages/instance/src/web/src/pages/userSelect/signup/Signup.tsx rename to instance/src/web/src/pages/userSelect/signup/Signup.tsx diff --git a/instance/src/web/src/vite-env.d.ts b/instance/src/web/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/instance/src/web/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/instance/src/web/tsconfig.app.json b/instance/src/web/tsconfig.app.json similarity index 100% rename from packages/instance/src/web/tsconfig.app.json rename to instance/src/web/tsconfig.app.json diff --git a/packages/instance/src/web/tsconfig.json b/instance/src/web/tsconfig.json similarity index 100% rename from packages/instance/src/web/tsconfig.json rename to instance/src/web/tsconfig.json diff --git a/packages/instance/src/web/tsconfig.node.json b/instance/src/web/tsconfig.node.json similarity index 100% rename from packages/instance/src/web/tsconfig.node.json rename to instance/src/web/tsconfig.node.json diff --git a/packages/instance/src/web/vite.config.ts b/instance/src/web/vite.config.ts similarity index 100% rename from packages/instance/src/web/vite.config.ts rename to instance/src/web/vite.config.ts diff --git a/packages/instance/tsconfig.json b/instance/tsconfig.json similarity index 100% rename from packages/instance/tsconfig.json rename to instance/tsconfig.json diff --git a/package.json b/package.json index cbf5f2b..54cbd5a 100644 --- a/package.json +++ b/package.json @@ -3,19 +3,20 @@ "type": "module", "version": "0.0.0", "workspaces": [ - "packages/*", - "packages/instance/src/web", - "packages/applications/*/web", - "packages/applications/*/backend" + "instance/", + "instance/src/web/", + "applications/*/web/", + "applications/*/backend/", + "uikit-solid/" ], "repository": { "type": "git", "url": "https://github.com/tricolorsoftware/workspaces" }, "scripts": { - "web": "bun run --cwd packages/instance dev-web", - "backend": "bun run --cwd packages/instance dev-backend", - "uikit": "bun run --cwd packages/uikit-solid dev" + "web": "bun run --cwd instance dev-web", + "backend": "bun run --cwd instance dev-backend", + "uikit": "bun run --cwd uikit-solid dev" }, "private": true, "dependencies": { diff --git a/packages/uikit-solid/.gitignore b/uikit-solid/.gitignore similarity index 100% rename from packages/uikit-solid/.gitignore rename to uikit-solid/.gitignore diff --git a/packages/uikit-solid/bun.lock b/uikit-solid/bun.lock similarity index 100% rename from packages/uikit-solid/bun.lock rename to uikit-solid/bun.lock diff --git a/packages/uikit-solid/dev/App.tsx b/uikit-solid/dev/App.tsx similarity index 100% rename from packages/uikit-solid/dev/App.tsx rename to uikit-solid/dev/App.tsx diff --git a/packages/uikit-solid/dev/index.css b/uikit-solid/dev/index.css similarity index 100% rename from packages/uikit-solid/dev/index.css rename to uikit-solid/dev/index.css diff --git a/packages/uikit-solid/dev/index.html b/uikit-solid/dev/index.html similarity index 100% rename from packages/uikit-solid/dev/index.html rename to uikit-solid/dev/index.html diff --git a/packages/uikit-solid/dev/index.tsx b/uikit-solid/dev/index.tsx similarity index 100% rename from packages/uikit-solid/dev/index.tsx rename to uikit-solid/dev/index.tsx diff --git a/packages/uikit-solid/dev/vite.config.ts b/uikit-solid/dev/vite.config.ts similarity index 100% rename from packages/uikit-solid/dev/vite.config.ts rename to uikit-solid/dev/vite.config.ts diff --git a/packages/uikit-solid/package.json b/uikit-solid/package.json similarity index 100% rename from packages/uikit-solid/package.json rename to uikit-solid/package.json diff --git a/packages/uikit-solid/src/components/Root.css b/uikit-solid/src/components/Root.css similarity index 100% rename from packages/uikit-solid/src/components/Root.css rename to uikit-solid/src/components/Root.css diff --git a/packages/uikit-solid/src/components/Root.module.scss b/uikit-solid/src/components/Root.module.scss similarity index 100% rename from packages/uikit-solid/src/components/Root.module.scss rename to uikit-solid/src/components/Root.module.scss diff --git a/packages/uikit-solid/src/components/Root.tsx b/uikit-solid/src/components/Root.tsx similarity index 100% rename from packages/uikit-solid/src/components/Root.tsx rename to uikit-solid/src/components/Root.tsx diff --git a/packages/uikit-solid/src/components/avatar/UKAvatar.module.scss b/uikit-solid/src/components/avatar/UKAvatar.module.scss similarity index 100% rename from packages/uikit-solid/src/components/avatar/UKAvatar.module.scss rename to uikit-solid/src/components/avatar/UKAvatar.module.scss diff --git a/packages/uikit-solid/src/components/avatar/UKAvatar.tsx b/uikit-solid/src/components/avatar/UKAvatar.tsx similarity index 100% rename from packages/uikit-solid/src/components/avatar/UKAvatar.tsx rename to uikit-solid/src/components/avatar/UKAvatar.tsx diff --git a/packages/uikit-solid/src/components/badge/UKBadge.module.scss b/uikit-solid/src/components/badge/UKBadge.module.scss similarity index 100% rename from packages/uikit-solid/src/components/badge/UKBadge.module.scss rename to uikit-solid/src/components/badge/UKBadge.module.scss diff --git a/packages/uikit-solid/src/components/badge/UKBadge.tsx b/uikit-solid/src/components/badge/UKBadge.tsx similarity index 100% rename from packages/uikit-solid/src/components/badge/UKBadge.tsx rename to uikit-solid/src/components/badge/UKBadge.tsx diff --git a/packages/uikit-solid/src/components/button/UKButton.module.scss b/uikit-solid/src/components/button/UKButton.module.scss similarity index 100% rename from packages/uikit-solid/src/components/button/UKButton.module.scss rename to uikit-solid/src/components/button/UKButton.module.scss diff --git a/packages/uikit-solid/src/components/button/UKButton.tsx b/uikit-solid/src/components/button/UKButton.tsx similarity index 100% rename from packages/uikit-solid/src/components/button/UKButton.tsx rename to uikit-solid/src/components/button/UKButton.tsx diff --git a/packages/uikit-solid/src/components/button/lib/color.ts b/uikit-solid/src/components/button/lib/color.ts similarity index 100% rename from packages/uikit-solid/src/components/button/lib/color.ts rename to uikit-solid/src/components/button/lib/color.ts diff --git a/packages/uikit-solid/src/components/button/lib/shape.ts b/uikit-solid/src/components/button/lib/shape.ts similarity index 100% rename from packages/uikit-solid/src/components/button/lib/shape.ts rename to uikit-solid/src/components/button/lib/shape.ts diff --git a/packages/uikit-solid/src/components/button/lib/size.ts b/uikit-solid/src/components/button/lib/size.ts similarity index 100% rename from packages/uikit-solid/src/components/button/lib/size.ts rename to uikit-solid/src/components/button/lib/size.ts diff --git a/packages/uikit-solid/src/components/buttonGroup/UKButtonGroup.module.scss b/uikit-solid/src/components/buttonGroup/UKButtonGroup.module.scss similarity index 100% rename from packages/uikit-solid/src/components/buttonGroup/UKButtonGroup.module.scss rename to uikit-solid/src/components/buttonGroup/UKButtonGroup.module.scss diff --git a/packages/uikit-solid/src/components/buttonGroup/UKButtonGroup.tsx b/uikit-solid/src/components/buttonGroup/UKButtonGroup.tsx similarity index 100% rename from packages/uikit-solid/src/components/buttonGroup/UKButtonGroup.tsx rename to uikit-solid/src/components/buttonGroup/UKButtonGroup.tsx diff --git a/packages/uikit-solid/src/components/card/UKCard.module.scss b/uikit-solid/src/components/card/UKCard.module.scss similarity index 100% rename from packages/uikit-solid/src/components/card/UKCard.module.scss rename to uikit-solid/src/components/card/UKCard.module.scss diff --git a/packages/uikit-solid/src/components/card/UKCard.tsx b/uikit-solid/src/components/card/UKCard.tsx similarity index 100% rename from packages/uikit-solid/src/components/card/UKCard.tsx rename to uikit-solid/src/components/card/UKCard.tsx diff --git a/packages/uikit-solid/src/components/card/lib/color.ts b/uikit-solid/src/components/card/lib/color.ts similarity index 100% rename from packages/uikit-solid/src/components/card/lib/color.ts rename to uikit-solid/src/components/card/lib/color.ts diff --git a/packages/uikit-solid/src/components/checkbox/UKCheckbox.module.scss b/uikit-solid/src/components/checkbox/UKCheckbox.module.scss similarity index 100% rename from packages/uikit-solid/src/components/checkbox/UKCheckbox.module.scss rename to uikit-solid/src/components/checkbox/UKCheckbox.module.scss diff --git a/packages/uikit-solid/src/components/checkbox/UKCheckbox.tsx b/uikit-solid/src/components/checkbox/UKCheckbox.tsx similarity index 100% rename from packages/uikit-solid/src/components/checkbox/UKCheckbox.tsx rename to uikit-solid/src/components/checkbox/UKCheckbox.tsx diff --git a/packages/uikit-solid/src/components/divider/UKDivider.module.scss b/uikit-solid/src/components/divider/UKDivider.module.scss similarity index 100% rename from packages/uikit-solid/src/components/divider/UKDivider.module.scss rename to uikit-solid/src/components/divider/UKDivider.module.scss diff --git a/packages/uikit-solid/src/components/divider/UKDivider.tsx b/uikit-solid/src/components/divider/UKDivider.tsx similarity index 100% rename from packages/uikit-solid/src/components/divider/UKDivider.tsx rename to uikit-solid/src/components/divider/UKDivider.tsx diff --git a/packages/uikit-solid/src/components/divider/lib/direction.ts b/uikit-solid/src/components/divider/lib/direction.ts similarity index 100% rename from packages/uikit-solid/src/components/divider/lib/direction.ts rename to uikit-solid/src/components/divider/lib/direction.ts diff --git a/packages/uikit-solid/src/components/icon/UKIcon.module.scss b/uikit-solid/src/components/icon/UKIcon.module.scss similarity index 100% rename from packages/uikit-solid/src/components/icon/UKIcon.module.scss rename to uikit-solid/src/components/icon/UKIcon.module.scss diff --git a/packages/uikit-solid/src/components/icon/UKIcon.tsx b/uikit-solid/src/components/icon/UKIcon.tsx similarity index 100% rename from packages/uikit-solid/src/components/icon/UKIcon.tsx rename to uikit-solid/src/components/icon/UKIcon.tsx diff --git a/packages/uikit-solid/src/components/icon/icon.css b/uikit-solid/src/components/icon/icon.css similarity index 100% rename from packages/uikit-solid/src/components/icon/icon.css rename to uikit-solid/src/components/icon/icon.css diff --git a/packages/uikit-solid/src/components/iconButton/UKIconButton.module.scss b/uikit-solid/src/components/iconButton/UKIconButton.module.scss similarity index 100% rename from packages/uikit-solid/src/components/iconButton/UKIconButton.module.scss rename to uikit-solid/src/components/iconButton/UKIconButton.module.scss diff --git a/packages/uikit-solid/src/components/iconButton/UKIconButton.tsx b/uikit-solid/src/components/iconButton/UKIconButton.tsx similarity index 100% rename from packages/uikit-solid/src/components/iconButton/UKIconButton.tsx rename to uikit-solid/src/components/iconButton/UKIconButton.tsx diff --git a/packages/uikit-solid/src/components/iconButton/lib/color.ts b/uikit-solid/src/components/iconButton/lib/color.ts similarity index 100% rename from packages/uikit-solid/src/components/iconButton/lib/color.ts rename to uikit-solid/src/components/iconButton/lib/color.ts diff --git a/packages/uikit-solid/src/components/iconButton/lib/shape.ts b/uikit-solid/src/components/iconButton/lib/shape.ts similarity index 100% rename from packages/uikit-solid/src/components/iconButton/lib/shape.ts rename to uikit-solid/src/components/iconButton/lib/shape.ts diff --git a/packages/uikit-solid/src/components/iconButton/lib/size.ts b/uikit-solid/src/components/iconButton/lib/size.ts similarity index 100% rename from packages/uikit-solid/src/components/iconButton/lib/size.ts rename to uikit-solid/src/components/iconButton/lib/size.ts diff --git a/packages/uikit-solid/src/components/iconButton/lib/width.ts b/uikit-solid/src/components/iconButton/lib/width.ts similarity index 100% rename from packages/uikit-solid/src/components/iconButton/lib/width.ts rename to uikit-solid/src/components/iconButton/lib/width.ts diff --git a/packages/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.module.scss b/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.module.scss similarity index 100% rename from packages/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.module.scss rename to uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.module.scss diff --git a/packages/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx b/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx similarity index 64% rename from packages/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx rename to uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx index 8c2d9a8..79db015 100644 --- a/packages/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx +++ b/uikit-solid/src/components/indeterminateSpinner/UKIndeterminateSpinner.tsx @@ -1,10 +1,11 @@ import type { Component } from "solid-js"; import spinnerImage from "./spinner.svg"; import styles from "./UKIndeterminateSpinner.module.scss"; +import clsx from "clsx"; -const UKIndeterminateSpinner: Component = () => { +const UKIndeterminateSpinner: Component<{ class?: string }> = (props) => { return ( -
+
); diff --git a/packages/uikit-solid/src/components/indeterminateSpinner/spinner.svg b/uikit-solid/src/components/indeterminateSpinner/spinner.svg similarity index 100% rename from packages/uikit-solid/src/components/indeterminateSpinner/spinner.svg rename to uikit-solid/src/components/indeterminateSpinner/spinner.svg diff --git a/packages/uikit-solid/src/components/list/UKList.tsx b/uikit-solid/src/components/list/UKList.tsx similarity index 100% rename from packages/uikit-solid/src/components/list/UKList.tsx rename to uikit-solid/src/components/list/UKList.tsx diff --git a/packages/uikit-solid/src/components/list/UKListItem.module.scss b/uikit-solid/src/components/list/UKListItem.module.scss similarity index 100% rename from packages/uikit-solid/src/components/list/UKListItem.module.scss rename to uikit-solid/src/components/list/UKListItem.module.scss diff --git a/packages/uikit-solid/src/components/list/UKListItem.tsx b/uikit-solid/src/components/list/UKListItem.tsx similarity index 100% rename from packages/uikit-solid/src/components/list/UKListItem.tsx rename to uikit-solid/src/components/list/UKListItem.tsx diff --git a/packages/uikit-solid/src/components/menu/UKMenu.module.scss b/uikit-solid/src/components/menu/UKMenu.module.scss similarity index 100% rename from packages/uikit-solid/src/components/menu/UKMenu.module.scss rename to uikit-solid/src/components/menu/UKMenu.module.scss diff --git a/packages/uikit-solid/src/components/menu/UKMenu.tsx b/uikit-solid/src/components/menu/UKMenu.tsx similarity index 100% rename from packages/uikit-solid/src/components/menu/UKMenu.tsx rename to uikit-solid/src/components/menu/UKMenu.tsx diff --git a/packages/uikit-solid/src/components/menu/lib/items.ts b/uikit-solid/src/components/menu/lib/items.ts similarity index 100% rename from packages/uikit-solid/src/components/menu/lib/items.ts rename to uikit-solid/src/components/menu/lib/items.ts diff --git a/packages/uikit-solid/src/components/navigationRail/UKNavigationRail.module.scss b/uikit-solid/src/components/navigationRail/UKNavigationRail.module.scss similarity index 100% rename from packages/uikit-solid/src/components/navigationRail/UKNavigationRail.module.scss rename to uikit-solid/src/components/navigationRail/UKNavigationRail.module.scss diff --git a/packages/uikit-solid/src/components/navigationRail/UKNavigationRail.tsx b/uikit-solid/src/components/navigationRail/UKNavigationRail.tsx similarity index 95% rename from packages/uikit-solid/src/components/navigationRail/UKNavigationRail.tsx rename to uikit-solid/src/components/navigationRail/UKNavigationRail.tsx index 987c4c3..dcc38df 100644 --- a/packages/uikit-solid/src/components/navigationRail/UKNavigationRail.tsx +++ b/uikit-solid/src/components/navigationRail/UKNavigationRail.tsx @@ -6,6 +6,7 @@ import UKNavigationRailMenuButton from "./menuButton/UKNavigationRailMenuButton" const UKNavigationRail: Component< ParentProps<{ anchorPoints?: { + topMost?: JSX.Element; top?: JSX.Element; bottom?: JSX.Element; }; @@ -30,6 +31,7 @@ const UKNavigationRail: Component< return (
+ {props.anchorPoints?.topMost} {props.setExpanded && } {props.anchorPoints?.top} {(i) => } diff --git a/packages/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.module.scss b/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.module.scss similarity index 100% rename from packages/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.module.scss rename to uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.module.scss diff --git a/packages/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.tsx b/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.tsx similarity index 100% rename from packages/uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.tsx rename to uikit-solid/src/components/navigationRail/item/UKNavigationRailItem.tsx diff --git a/packages/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.module.scss b/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.module.scss similarity index 100% rename from packages/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.module.scss rename to uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.module.scss diff --git a/packages/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.tsx b/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.tsx similarity index 100% rename from packages/uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.tsx rename to uikit-solid/src/components/navigationRail/menuButton/UKNavigationRailMenuButton.tsx diff --git a/packages/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.module.scss b/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.module.scss similarity index 100% rename from packages/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.module.scss rename to uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.module.scss diff --git a/packages/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.tsx b/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.tsx similarity index 100% rename from packages/uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.tsx rename to uikit-solid/src/components/searchableDropdownMenu/UKSearchableDropdownMenu.tsx diff --git a/packages/uikit-solid/src/components/searchableDropdownMenu/lib/items.ts b/uikit-solid/src/components/searchableDropdownMenu/lib/items.ts similarity index 100% rename from packages/uikit-solid/src/components/searchableDropdownMenu/lib/items.ts rename to uikit-solid/src/components/searchableDropdownMenu/lib/items.ts diff --git a/packages/uikit-solid/src/components/splitButtons/UKSplitButton.module.scss b/uikit-solid/src/components/splitButtons/UKSplitButton.module.scss similarity index 100% rename from packages/uikit-solid/src/components/splitButtons/UKSplitButton.module.scss rename to uikit-solid/src/components/splitButtons/UKSplitButton.module.scss diff --git a/packages/uikit-solid/src/components/splitButtons/UKSplitButton.tsx b/uikit-solid/src/components/splitButtons/UKSplitButton.tsx similarity index 100% rename from packages/uikit-solid/src/components/splitButtons/UKSplitButton.tsx rename to uikit-solid/src/components/splitButtons/UKSplitButton.tsx diff --git a/packages/uikit-solid/src/components/splitButtons/lib/color.ts b/uikit-solid/src/components/splitButtons/lib/color.ts similarity index 100% rename from packages/uikit-solid/src/components/splitButtons/lib/color.ts rename to uikit-solid/src/components/splitButtons/lib/color.ts diff --git a/packages/uikit-solid/src/components/splitButtons/lib/size.ts b/uikit-solid/src/components/splitButtons/lib/size.ts similarity index 100% rename from packages/uikit-solid/src/components/splitButtons/lib/size.ts rename to uikit-solid/src/components/splitButtons/lib/size.ts diff --git a/packages/uikit-solid/src/components/text/UKText.module.scss b/uikit-solid/src/components/text/UKText.module.scss similarity index 100% rename from packages/uikit-solid/src/components/text/UKText.module.scss rename to uikit-solid/src/components/text/UKText.module.scss diff --git a/packages/uikit-solid/src/components/text/UKText.tsx b/uikit-solid/src/components/text/UKText.tsx similarity index 100% rename from packages/uikit-solid/src/components/text/UKText.tsx rename to uikit-solid/src/components/text/UKText.tsx diff --git a/packages/uikit-solid/src/components/textField/UKTextField.module.scss b/uikit-solid/src/components/textField/UKTextField.module.scss similarity index 100% rename from packages/uikit-solid/src/components/textField/UKTextField.module.scss rename to uikit-solid/src/components/textField/UKTextField.module.scss diff --git a/packages/uikit-solid/src/components/textField/UKTextField.tsx b/uikit-solid/src/components/textField/UKTextField.tsx similarity index 100% rename from packages/uikit-solid/src/components/textField/UKTextField.tsx rename to uikit-solid/src/components/textField/UKTextField.tsx diff --git a/packages/uikit-solid/src/components/textField/resizeHeightLight.svg b/uikit-solid/src/components/textField/resizeHeightLight.svg similarity index 100% rename from packages/uikit-solid/src/components/textField/resizeHeightLight.svg rename to uikit-solid/src/components/textField/resizeHeightLight.svg diff --git a/packages/uikit-solid/src/core/design/theme.ts b/uikit-solid/src/core/design/theme.ts similarity index 100% rename from packages/uikit-solid/src/core/design/theme.ts rename to uikit-solid/src/core/design/theme.ts diff --git a/packages/uikit-solid/src/core/design/themes/baseline.ts b/uikit-solid/src/core/design/themes/baseline.ts similarity index 100% rename from packages/uikit-solid/src/core/design/themes/baseline.ts rename to uikit-solid/src/core/design/themes/baseline.ts diff --git a/packages/uikit-solid/src/core/design/tokens.ts b/uikit-solid/src/core/design/tokens.ts similarity index 100% rename from packages/uikit-solid/src/core/design/tokens.ts rename to uikit-solid/src/core/design/tokens.ts diff --git a/packages/uikit-solid/src/core/dp.ts b/uikit-solid/src/core/dp.ts similarity index 100% rename from packages/uikit-solid/src/core/dp.ts rename to uikit-solid/src/core/dp.ts diff --git a/packages/uikit-solid/src/core/placeholder.css b/uikit-solid/src/core/placeholder.css similarity index 100% rename from packages/uikit-solid/src/core/placeholder.css rename to uikit-solid/src/core/placeholder.css diff --git a/packages/uikit-solid/src/core/validation/isEmail.ts b/uikit-solid/src/core/validation/isEmail.ts similarity index 100% rename from packages/uikit-solid/src/core/validation/isEmail.ts rename to uikit-solid/src/core/validation/isEmail.ts diff --git a/packages/uikit-solid/src/index.tsx b/uikit-solid/src/index.tsx similarity index 100% rename from packages/uikit-solid/src/index.tsx rename to uikit-solid/src/index.tsx diff --git a/packages/uikit-solid/src/sampleVars.css b/uikit-solid/src/sampleVars.css similarity index 100% rename from packages/uikit-solid/src/sampleVars.css rename to uikit-solid/src/sampleVars.css diff --git a/packages/uikit-solid/tsconfig.json b/uikit-solid/tsconfig.json similarity index 100% rename from packages/uikit-solid/tsconfig.json rename to uikit-solid/tsconfig.json diff --git a/packages/uikit-solid/tsup.config.ts b/uikit-solid/tsup.config.ts similarity index 100% rename from packages/uikit-solid/tsup.config.ts rename to uikit-solid/tsup.config.ts diff --git a/packages/uikit-solid/vite.config.ts b/uikit-solid/vite.config.ts similarity index 100% rename from packages/uikit-solid/vite.config.ts rename to uikit-solid/vite.config.ts diff --git a/packages/uikit-solid/yarn.lock b/uikit-solid/yarn.lock similarity index 100% rename from packages/uikit-solid/yarn.lock rename to uikit-solid/yarn.lock -- 2.51.2 From 2d1eb154e92f77cdf85978e617a39ca6144ba6ca Mon Sep 17 00:00:00 2001 From: ewsgit Date: Sun, 9 Nov 2025 22:14:08 +0000 Subject: [PATCH 08/10] add logout button --- instance/src/index.ts | 2 +- instance/src/subsystems/authorization.ts | 15 +++++++++++++++ instance/src/subsystems/trpc/trpc.ts | 17 +++++++++++++++++ .../src/web/src/pages/app/Layout.module.scss | 12 ++++++++++-- instance/src/web/src/pages/app/Layout.tsx | 11 ++++++++++- .../NavigationRailAvatar.module.scss | 16 ++++++++++++++++ .../NavigationRailAvatar.tsx | 8 ++++++++ 7 files changed, 77 insertions(+), 4 deletions(-) diff --git a/instance/src/index.ts b/instance/src/index.ts index 8fa8ded..641c0c1 100644 --- a/instance/src/index.ts +++ b/instance/src/index.ts @@ -172,7 +172,7 @@ class Instance { process.stdout.write("Shutdown completed! -> "); process.stdout.write(goodbye[Math.floor(Math.random() * goodbye.length)]); - process.stdout.write("\n"); + process.stdout.write(" 👋🏻\n"); process.exit(0); } } diff --git a/instance/src/subsystems/authorization.ts b/instance/src/subsystems/authorization.ts index 1effd97..d24e858 100644 --- a/instance/src/subsystems/authorization.ts +++ b/instance/src/subsystems/authorization.ts @@ -67,6 +67,21 @@ export default class AuthorizationSubsystem extends SubSystem { return undefined; } + // Removes a user's session and invalidates it's token + // @returns {true} the session is removed, and it's token is invalidated + // @returns {undefined} the sessionToken is invalid + async endSession(sessionToken: string): Promise { + const [_, userId, token] = sessionToken.split(":"); + + const sessionsDb = this.instance.subSystems.database.db(); + + const session = ( + await sessionsDb`DELETE FROM Sessions WHERE user_id = ${userId} AND session_token = ${token}` + )?.[0]; + + return true; + } + // Sets a user's password to password // @returns {true} successful // @returns {false} failed diff --git a/instance/src/subsystems/trpc/trpc.ts b/instance/src/subsystems/trpc/trpc.ts index 81a0042..d0c6141 100644 --- a/instance/src/subsystems/trpc/trpc.ts +++ b/instance/src/subsystems/trpc/trpc.ts @@ -197,6 +197,23 @@ export const workspacesRouter = t.router({ authenticated: true, }; }), + logout: procedure.output(z.object({ success: z.literal(true) })).mutation(async opt => { + const cookieString = opt.ctx.rawRequest.req.headers?.get("cookie"); + + if (cookieString === null) { + return { + success: true, + }; + } + + const parsedCookie = Bun.Cookie.parse(cookieString); + + await opt.ctx.instance.subSystems.authorization.endSession(decodeURIComponent(parsedCookie.value)); + + return { + success: true, + }; + }) }, app: { navigation: { diff --git a/instance/src/web/src/pages/app/Layout.module.scss b/instance/src/web/src/pages/app/Layout.module.scss index 2464afb..aa5c3fb 100644 --- a/instance/src/web/src/pages/app/Layout.module.scss +++ b/instance/src/web/src/pages/app/Layout.module.scss @@ -12,10 +12,18 @@ .tricolor { margin-top: auto; - pointer-events: none; user-select: none; - padding-bottom: 0.5rem; + cursor: pointer; width: 4rem; height: 4rem; margin-right: auto; + background-position: center; + background-size: 4rem; + background-color: transparent; + background-image: url("/assets/tricolor/tricolor_icon_transparent.svg"); +} + +.versionLabel { + margin-top: 0.25rem; + margin-bottom: 0.5rem; } diff --git a/instance/src/web/src/pages/app/Layout.tsx b/instance/src/web/src/pages/app/Layout.tsx index 81a39ae..97589b7 100644 --- a/instance/src/web/src/pages/app/Layout.tsx +++ b/instance/src/web/src/pages/app/Layout.tsx @@ -6,6 +6,7 @@ import UKNavigationRail from "@tcsw/uikit-solid/src/components/navigationRail/UK import NavigationRailAvatar from "./navigationRailAvatar/NavigationRailAvatar"; import trpc from "../../lib/trpc"; import NavigationRailClock from "./navigationRailClock/NavigationRailClock.tsx"; +import UKText from "@tcsw/uikit-solid/src/components/text/UKText.tsx"; const AppLayout: Component> = (props) => { const navigate = useNavigate(); @@ -49,7 +50,15 @@ const AppLayout: Component> = (props) => { ), bottom: ( <> - +
+ { + await trpc.authorization.logout.mutate() + + navigate("/") + }}>
); }; -- 2.51.2 From a6e5a3ec1baeaac8737485005318b13e51638570 Mon Sep 17 00:00:00 2001 From: ewsgit Date: Mon, 10 Nov 2025 00:19:41 +0000 Subject: [PATCH 09/10] add startup banner --- instance/src/index.ts | 7 +++++++ instance/src/subsystems/users.ts | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/instance/src/index.ts b/instance/src/index.ts index 641c0c1..54d24d4 100644 --- a/instance/src/index.ts +++ b/instance/src/index.ts @@ -15,6 +15,7 @@ import { BunRequest, file } from "bun"; import ApplicationsSubsystem from "./subsystems/applications.js"; import path from "path"; import TRPCSubsystem from "./subsystems/trpc.js"; +import chalk from "chalk"; export enum InstanceStatus { Online, @@ -51,6 +52,12 @@ class Instance { } async startup() { + this.log.system.info(`-------------------------------------------------------`); + this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)}`); + this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)} Workspaces © 2025 Tricolor Software`); + this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)}`); + this.log.system.info(`-------------------------------------------------------`); + if (this.status !== InstanceStatus.Offline) { this.log.system.info("Cannot stop"); return this; diff --git a/instance/src/subsystems/users.ts b/instance/src/subsystems/users.ts index 078f0fe..15392cf 100644 --- a/instance/src/subsystems/users.ts +++ b/instance/src/subsystems/users.ts @@ -329,7 +329,7 @@ export class WorkspacesUser { await this.generateAvatars(); - this.instance.subSystems.users.log.success(`Verified user '${this.userId}'`); + this.instance.subSystems.users.log.success(`Verified user with id (${this.userId})`); return true; } @@ -348,10 +348,10 @@ export default class UsersSubsystem extends SubSystem { const db = this.instance.subSystems.database.db(); /** - init the users databasecurrentCommandInterface + init the users database id - permanent unique user id number (number) - username - the user's changable username (string) + username - the user's changeable username (string) forename - the user's chosen forename (string) surname - the user's chosen surname (string) gender - the user's chosen gender ("female" | "male" | "other") -- 2.51.2 From e5803341ce6f7926c532a617b125c63e84624c85 Mon Sep 17 00:00:00 2001 From: ewsgit Date: Mon, 10 Nov 2025 01:08:03 +0000 Subject: [PATCH 10/10] Create the userdel command --- .../uk.tcsw.dashboard/backend/index.ts | 2 - instance/package.json | 4 -- instance/src/index.ts | 9 +++-- instance/src/log.ts | 10 ++--- instance/src/subsystems/configuration.ts | 2 +- instance/src/subsystems/consoleCommands.ts | 24 ++++++------ .../consoleCommands/commands/useradd.ts | 28 ++++++++------ .../consoleCommands/commands/userdel.ts | 37 +++++++++++++++++++ instance/src/subsystems/filesystem.ts | 2 +- instance/src/subsystems/users.ts | 30 +++++++++++++-- package.json | 4 +- 11 files changed, 102 insertions(+), 50 deletions(-) create mode 100644 instance/src/subsystems/consoleCommands/commands/userdel.ts diff --git a/applications/uk.tcsw.dashboard/backend/index.ts b/applications/uk.tcsw.dashboard/backend/index.ts index 92953e4..336fb06 100644 --- a/applications/uk.tcsw.dashboard/backend/index.ts +++ b/applications/uk.tcsw.dashboard/backend/index.ts @@ -6,8 +6,6 @@ const log = instance.log.createLogger("uk.tcsw.dashboard"); export const t = initTRPC.context>().create(); -log.success("Hello from the Dashboard backend!"); - const router = t.router({ widgets: { user: { diff --git a/instance/package.json b/instance/package.json index 87427a8..f55b719 100644 --- a/instance/package.json +++ b/instance/package.json @@ -4,10 +4,6 @@ "version": "0.0.1", "description": "", "main": "src/index.ts", - "scripts": { - "dev-backend": "bun --watch src/index.ts", - "dev-web": "bun run --cwd src/web dev" - }, "repository": { "type": "git", "url": "https://github.com/tricoloruk/workspaces" diff --git a/instance/src/index.ts b/instance/src/index.ts index 54d24d4..7379e40 100644 --- a/instance/src/index.ts +++ b/instance/src/index.ts @@ -52,11 +52,12 @@ class Instance { } async startup() { - this.log.system.info(`-------------------------------------------------------`); + this.log.system.info(`--------------------------------------------------------------------------`); this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)}`); - this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)} Workspaces © 2025 Tricolor Software`); + this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)} Workspaces © 2025 Tricolor Software -> https://tcsw.uk`); this.log.system.info(` ${chalk.red(/XXX/)}${chalk.green(/XXX/)}${chalk.blue(/XXX/)}`); - this.log.system.info(`-------------------------------------------------------`); + this.log.system.info(`--------------------------------------------------------------------------`); + this.log.system.info(`Starting up...`); if (this.status !== InstanceStatus.Offline) { this.log.system.info("Cannot stop"); @@ -123,7 +124,7 @@ class Instance { // will be executed if it's not a TRPC request return new Response("Unknown path"); }, - development: this.subSystems.configuration.isDevmode, + development: this.subSystems.configuration.isDevMode, }), ); diff --git a/instance/src/log.ts b/instance/src/log.ts index 6ad8c3c..23495bf 100644 --- a/instance/src/log.ts +++ b/instance/src/log.ts @@ -193,16 +193,12 @@ class Logger { process.stdout.cursorTo(0, this._internal_getWindowSize()[1], () => { process.stdout.write( - `Workspaces Pre-Alpha ${this.log.instance.subSystems.configuration?.isDevmode ? `[${this.emphasis("Dev Mode")}] ` : ""}`, + `Workspaces Pre-Alpha ${this.log.instance.subSystems.configuration?.isDevMode ? `[${this.emphasis("Dev Mode")}] ` : ""}`, () => { // move the cursor to the metaLen+6th column of the 2nd from the bottom row process.stdout.cursorTo(this.log.META_LENGTH + 6, this._internal_getWindowSize()[1], () => { - if (this.log.instance.subSystems.configuration?.hasFeature(WorkspacesFeatureFlags.SlashCommands)) { - // write the prompt indicator to the stdout - process.stdout.write(`> ${this.log.instance.subSystems.consoleCommands?.rlInterface?.line || ""}`); - } else { - process.stdout.write(" "); - } + // write the prompt indicator to the stdout + process.stdout.write(`> ${this.log.instance.subSystems.consoleCommands?.rlInterface?.line || ""}`); }); }, ); diff --git a/instance/src/subsystems/configuration.ts b/instance/src/subsystems/configuration.ts index 25da7d3..6dd4602 100644 --- a/instance/src/subsystems/configuration.ts +++ b/instance/src/subsystems/configuration.ts @@ -6,7 +6,7 @@ export enum WorkspacesFeatureFlags { } export default class ConfigurationSubsystem extends SubSystem { - isDevmode: boolean = true; + isDevMode: boolean = true; databases: { postgres: { user: string; diff --git a/instance/src/subsystems/consoleCommands.ts b/instance/src/subsystems/consoleCommands.ts index b9168f0..7cd9566 100644 --- a/instance/src/subsystems/consoleCommands.ts +++ b/instance/src/subsystems/consoleCommands.ts @@ -1,10 +1,9 @@ import type { Instance } from "../index.js"; import SubSystem from "../subSystems.js"; import * as readline from "readline"; -import type Command from "./consoleCommands/command.js"; -import type { ICommandRuntimeParameters } from "./consoleCommands/command.js"; import { promises as fs } from "fs"; import path from "path"; +import Command, { ICommandRuntimeParameters } from "./consoleCommands/command.js"; export default class ConsoleCommandsSubsytem extends SubSystem { rlInterface!: readline.Interface; @@ -24,15 +23,14 @@ export default class ConsoleCommandsSubsytem extends SubSystem { override async startup() { if (!this.instance.subSystems.configuration.hasFeature("slash_commands")) return true; - fs.readdir(path.join(this.instance.subSystems.filesystem.SRC_ROOT, "/subsystems/consoleCommands/commands/")).then((commands) => { - for (const cmd of commands) { - import(path.join(this.instance.subSystems.filesystem.SRC_ROOT, "/subsystems/consoleCommands/commands/", cmd)).then( - (cmd) => { - this.commands.push(new cmd.default(this.instance)); - }, - ); - } - }); + const commands = await fs.readdir(path.join(this.instance.subSystems.filesystem.SRC_ROOT, "/subsystems/consoleCommands/commands/")); + for (const cmd of commands) { + const importedCommand = await import( + path.join(this.instance.subSystems.filesystem.SRC_ROOT, "/subsystems/consoleCommands/commands/", cmd) + ); + this.commands.push(new importedCommand.default(this.instance)); + this.log.info(`Registered command ${cmd}`); + } const self = this; this.currentCommandInterface = { @@ -40,7 +38,7 @@ export default class ConsoleCommandsSubsytem extends SubSystem { cb: () => {}, }; - (async function () { + await (async function () { readline.emitKeypressEvents(process.stdin); self.rlInterface = readline.createInterface({ input: process.stdin, @@ -154,7 +152,7 @@ export default class ConsoleCommandsSubsytem extends SubSystem { return; } - if (command.makeDevModeOnly && !self.instance.subSystems.configuration.isDevmode) { + if (command.makeDevModeOnly && !self.instance.subSystems.configuration.isDevMode) { self.log.info( "command_manager", `You are unable to execute the command '${command.commandId}' as this instance is not running in developer mode`, diff --git a/instance/src/subsystems/consoleCommands/commands/useradd.ts b/instance/src/subsystems/consoleCommands/commands/useradd.ts index 73ca6ce..0ca0622 100644 --- a/instance/src/subsystems/consoleCommands/commands/useradd.ts +++ b/instance/src/subsystems/consoleCommands/commands/useradd.ts @@ -36,23 +36,27 @@ export default class ExitCommand extends Command { self.instance.subSystems.consoleCommands.currentCommandInterface.cb = async (data) => { gender = data.trim(); if (gender !== "") { - log.info("Creating user..."); + if (gender === "male" || gender === "other" || gender === "female") { + log.info("Creating user..."); - let uid = await self.instance.subSystems.users.createUser(username); + let uid = await self.instance.subSystems.users.createUser(username); - if (!uid) { - log.error("Failed to create user"); - return; - } + if (!uid) { + log.error("Failed to create user"); + return; + } - let user = await self.instance.subSystems.users.getUserById(uid); + let user = await self.instance.subSystems.users.getUserById(uid); - if (!user) { - log.error("Failed to get created user"); - return; - } + if (!user) { + log.error("Failed to get created user"); + return; + } - // user.setFullName(...fullName.split(" ")) + await user.setGender(gender); + } else { + log.prompt("Gender -> "); + } } else { log.prompt("Gender -> "); } diff --git a/instance/src/subsystems/consoleCommands/commands/userdel.ts b/instance/src/subsystems/consoleCommands/commands/userdel.ts new file mode 100644 index 0000000..93c1568 --- /dev/null +++ b/instance/src/subsystems/consoleCommands/commands/userdel.ts @@ -0,0 +1,37 @@ +import Command, { type ICommandRuntimeParameters } from "../command.js"; + +export default class ExitCommand extends Command { + commandId = "userdel"; + flags = {}; + aliases = []; + shortDescription = "Delete a user"; + + async run(parameters: ICommandRuntimeParameters) { + const self = this; + + let username = ""; + + const log = self.instance.log.createLogger("userdel_command"); + log.prompt("Username -> "); + self.instance.subSystems.consoleCommands.currentCommandInterface.cb = async (data) => { + username = data.trim(); + if (username !== "") { + let user = await self.instance.subSystems.users.getUserByUsername(username) + + if (!user) { + username = "" + log.prompt("Username -> "); + return this.continueRun() + } + + await user.delete(); + + return this.finishRun() + } else { + log.prompt("Username -> "); + } + }; + + return this.continueRun(); + } +} diff --git a/instance/src/subsystems/filesystem.ts b/instance/src/subsystems/filesystem.ts index a79619a..21da9a9 100644 --- a/instance/src/subsystems/filesystem.ts +++ b/instance/src/subsystems/filesystem.ts @@ -4,7 +4,7 @@ import SubSystem from "../subSystems.js"; import fs from "fs"; export default class FilesystemSubsystem extends SubSystem { - readonly SRC_ROOT = path.resolve("./src/"); + readonly SRC_ROOT = path.resolve("./instance/src/"); readonly FS_ROOT = path.resolve("./fs/"); constructor(instance: Instance) { diff --git a/instance/src/subsystems/users.ts b/instance/src/subsystems/users.ts index 15392cf..0863fea 100644 --- a/instance/src/subsystems/users.ts +++ b/instance/src/subsystems/users.ts @@ -300,8 +300,10 @@ export class WorkspacesUser { /** Check that all required directories and assets are valid for this user. If they are missing or invalid, directories will be created and assets will be generated / copied + + @returns {true} if successful */ - async verify() { + async verify(): Promise { const USER_DIRECTORIES = [ "/", "/fs", @@ -324,12 +326,32 @@ export class WorkspacesUser { } if (!(await fs.exists(path.join(this.getPath(), "assets/avatar/avatar.png")))) { - this.setAvatar(path.join(this.instance.subSystems.filesystem.SRC_ROOT, "assets/placeholder/avatar.png")); + await this.setAvatar(path.join(this.instance.subSystems.filesystem.SRC_ROOT, "assets/placeholder/avatar.png")); } await this.generateAvatars(); - this.instance.subSystems.users.log.success(`Verified user with id (${this.userId})`); + this.instance.subSystems.users.log.success(`Verified user (${this.userId}) ${await this.getUsername()}`); + + return true; + } + + /** + Deletes a user from the filesystem and all database entries + */ + async delete() { + await fs.rm( + path.join(this.instance.subSystems.filesystem.FS_ROOT, `users/${this.userId}`), + { + recursive: true, + force: true + } + ); + + const db = this.instance.subSystems.database.db() + + await db`DELETE FROM Users WHERE id = ${this.userId};`; + await db`DELETE FROM Sessions WHERE user_id = ${this.userId};`; return true; } @@ -483,7 +505,7 @@ export default class UsersSubsystem extends SubSystem { const userId = (await db`SELECT id FROM Users WHERE username = ${username}`)?.[0]?.id; - if ((await this.doesUserExist(userId)) === false) return undefined; + if (!(await this.doesUserExist(userId))) return undefined; return new WorkspacesUser(this.instance, userId); } diff --git a/package.json b/package.json index 54cbd5a..092ec89 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "url": "https://github.com/tricolorsoftware/workspaces" }, "scripts": { - "web": "bun run --cwd instance dev-web", - "backend": "bun run --cwd instance dev-backend", + "backend": "bun --watch instance/src/index.ts", + "web": "bun run --cwd instance/src/web dev", "uikit": "bun run --cwd uikit-solid dev" }, "private": true,