From 07b689538077d71dc09ecdf66881f062138cc139 Mon Sep 17 00:00:00 2001 From: Eduard Gert Date: Thu, 16 Oct 2025 14:44:26 +0200 Subject: [PATCH] Sync SSH & RDP changes (#495) --- config.json | 3 +- docker/init_react_envs.sh | 3 +- src/app/(dashboard)/network/page.tsx | 115 +- src/app/(dashboard)/peer/page.tsx | 52 +- src/app/(remote-access)/peer/rdp/page.tsx | 5 +- src/app/(remote-access)/peer/ssh/page.tsx | 7 +- src/assets/ssh/ssh-client.png | Bin 0 -> 297368 bytes src/components/PeerGroupSelector.tsx | 2 +- src/components/ui/PolicyDirection.tsx | 19 +- src/contexts/PeerProvider.tsx | 64 +- .../access-control/AccessControlModal.tsx | 2 +- .../access-control/useAccessControl.ts | 12 +- src/modules/networks/NetworkProvider.tsx | 17 +- .../misc/NetworkInformationSquare.tsx | 2 +- .../networks/table/NetworkNameCell.tsx | 2 +- src/modules/peer/PeerSSHInstructions.tsx | 111 ++ src/modules/peer/PeerSSHToggle.tsx | 47 + src/modules/peers/PeerActionCell.tsx | 24 +- src/modules/peers/PeerConnectButton.tsx | 4 +- src/modules/peers/PeerVersionCell.tsx | 5 +- src/modules/peers/PeersTable.tsx | 15 +- .../remote-access/rdp/RDPCredentialsModal.tsx | 51 +- .../remote-access/rdp/ironrdp-wasm-bridge.ts | 123 +- .../rdp/useIronRDPInputHandler.ts | 1089 +++++++++++++++++ .../remote-access/rdp/useRemoteDesktop.ts | 32 +- src/modules/remote-access/ssh/SSHButton.tsx | 7 +- src/modules/remote-access/ssh/SSHTooltip.tsx | 112 +- src/modules/remote-access/ssh/useSSH.ts | 2 + src/modules/remote-access/useNetBirdClient.ts | 30 +- src/modules/setup-netbird-modal/MacOSTab.tsx | 8 +- .../setup-netbird-modal/WindowsTab.tsx | 33 +- src/utils/config.ts | 2 + 32 files changed, 1727 insertions(+), 273 deletions(-) create mode 100644 src/assets/ssh/ssh-client.png create mode 100644 src/modules/peer/PeerSSHInstructions.tsx create mode 100644 src/modules/peer/PeerSSHToggle.tsx create mode 100644 src/modules/remote-access/rdp/useIronRDPInputHandler.ts diff --git a/config.json b/config.json index 2c40053..b040858 100644 --- a/config.json +++ b/config.json @@ -13,5 +13,6 @@ "dragQueryParams": "$NETBIRD_DRAG_QUERY_PARAMS", "hotjarTrackID": "$NETBIRD_HOTJAR_TRACK_ID", "googleAnalyticsID": "$NETBIRD_GOOGLE_ANALYTICS_ID", - "googleTagManagerID": "$NETBIRD_GOOGLE_TAG_MANAGER_ID" + "googleTagManagerID": "$NETBIRD_GOOGLE_TAG_MANAGER_ID", + "wasmPath": "$NETBIRD_WASM_PATH" } \ No newline at end of file diff --git a/docker/init_react_envs.sh b/docker/init_react_envs.sh index 79a1bdd..1350cac 100644 --- a/docker/init_react_envs.sh +++ b/docker/init_react_envs.sh @@ -61,11 +61,12 @@ export NETBIRD_GOOGLE_ANALYTICS_ID=${NETBIRD_GOOGLE_ANALYTICS_ID} export NETBIRD_GOOGLE_TAG_MANAGER_ID=${NETBIRD_GOOGLE_TAG_MANAGER_ID} export NETBIRD_TOKEN_SOURCE=${NETBIRD_TOKEN_SOURCE:-accessToken} export NETBIRD_DRAG_QUERY_PARAMS=${NETBIRD_DRAG_QUERY_PARAMS:-false} +export NETBIRD_WASM_PATH=${NETBIRD_WASM_PATH:-https://pkgs.netbird.io/wasm/client} echo "NetBird latest version: ${NETBIRD_LATEST_VERSION}" # replace ENVs in the config -ENV_STR="\$\$USE_AUTH0 \$\$AUTH_AUDIENCE \$\$AUTH_AUTHORITY \$\$AUTH_CLIENT_ID \$\$AUTH_CLIENT_SECRET \$\$AUTH_SUPPORTED_SCOPES \$\$NETBIRD_MGMT_API_ENDPOINT \$\$NETBIRD_MGMT_GRPC_API_ENDPOINT \$\$NETBIRD_HOTJAR_TRACK_ID \$\$NETBIRD_GOOGLE_ANALYTICS_ID \$\$NETBIRD_GOOGLE_TAG_MANAGER_ID \$\$AUTH_REDIRECT_URI \$\$AUTH_SILENT_REDIRECT_URI \$\$NETBIRD_TOKEN_SOURCE \$\$NETBIRD_DRAG_QUERY_PARAMS" +ENV_STR="\$\$USE_AUTH0 \$\$AUTH_AUDIENCE \$\$AUTH_AUTHORITY \$\$AUTH_CLIENT_ID \$\$AUTH_CLIENT_SECRET \$\$AUTH_SUPPORTED_SCOPES \$\$NETBIRD_MGMT_API_ENDPOINT \$\$NETBIRD_MGMT_GRPC_API_ENDPOINT \$\$NETBIRD_HOTJAR_TRACK_ID \$\$NETBIRD_GOOGLE_ANALYTICS_ID \$\$NETBIRD_GOOGLE_TAG_MANAGER_ID \$\$AUTH_REDIRECT_URI \$\$AUTH_SILENT_REDIRECT_URI \$\$NETBIRD_TOKEN_SOURCE \$\$NETBIRD_DRAG_QUERY_PARAMS \$\$NETBIRD_WASM_PATH" OIDC_TRUSTED_DOMAINS="/usr/share/nginx/html/OidcTrustedDomains.js" envsubst "$ENV_STR" < "$OIDC_TRUSTED_DOMAINS".tmpl > "$OIDC_TRUSTED_DOMAINS" diff --git a/src/app/(dashboard)/network/page.tsx b/src/app/(dashboard)/network/page.tsx index 5dd60d8..316f566 100644 --- a/src/app/(dashboard)/network/page.tsx +++ b/src/app/(dashboard)/network/page.tsx @@ -1,7 +1,15 @@ "use client"; import Breadcrumbs from "@components/Breadcrumbs"; +import Button from "@components/Button"; import Card from "@components/Card"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger, +} from "@components/DropdownMenu"; import FullTooltip from "@components/FullTooltip"; import InlineLink from "@components/InlineLink"; import Separator from "@components/Separator"; @@ -12,12 +20,14 @@ import { cn } from "@utils/helpers"; import { ArrowUpRightIcon, HelpCircle, + MoreVertical, PencilLineIcon, ServerIcon, ShieldCheckIcon, ShieldXIcon, + Trash2, } from "lucide-react"; -import { useSearchParams } from "next/navigation"; +import { useRouter, useSearchParams } from "next/navigation"; import React, { useMemo, useState } from "react"; import { useSWRConfig } from "swr"; import NetworkRoutesIcon from "@/assets/icons/NetworkRoutesIcon"; @@ -25,8 +35,10 @@ import { usePermissions } from "@/contexts/PermissionsProvider"; import { Network } from "@/interfaces/Network"; import PageContainer from "@/layouts/PageContainer"; import { NetworkInformationSquare } from "@/modules/networks/misc/NetworkInformationSquare"; -import NetworkModal from "@/modules/networks/NetworkModal"; -import { NetworkProvider } from "@/modules/networks/NetworkProvider"; +import { + NetworkProvider, + useNetworksContext, +} from "@/modules/networks/NetworkProvider"; import { ResourcesSection } from "@/modules/networks/resources/ResourcesSection"; import { NetworkRoutingPeersSection } from "@/modules/networks/routing-peers/NetworkRoutingPeersSection"; @@ -77,35 +89,24 @@ function NetworkOverview({ network }: Readonly<{ network: Network }>) {
- - {permission.networks.update && ( - - )} - { - mutate(`/networks/${network.id}`); - }} - network={network} - /> +
+ +
+ + +
@@ -124,6 +125,56 @@ function NetworkOverview({ network }: Readonly<{ network: Network }>) { ); } +function NetworkActions() { + const { permission } = usePermissions(); + const { deleteNetwork, openEditNetworkModal, network } = useNetworksContext(); + const router = useRouter(); + + if (!network) return; + + return ( + + { + e.stopPropagation(); + e.preventDefault(); + }} + > + + + + openEditNetworkModal(network)} + disabled={!permission.networks.update} + > +
+ + Rename +
+
+ + + + + deleteNetwork(network).then(() => router.push("/networks")) + } + variant={"danger"} + disabled={!permission.networks.delete} + > +
+ + Delete +
+
+
+
+ ); +} + function NetworkInformationCard({ network }: Readonly<{ network: Network }>) { const isHighlyAvailable = !!( network?.routing_peers_count && network?.routing_peers_count >= 2 @@ -154,7 +205,7 @@ function NetworkInformationCard({ network }: Readonly<{ network: Network }>) { const policyCount = network.policies?.length ?? 0; return ( - + { let id = peer?.id ?? ""; - let ssh = peer?.ssh_enabled ? "1" : "0"; let expiration = peer?.login_expiration_enabled ? "1" : "0"; - return `${id}-${ssh}-${expiration}`; + return `${id}-${expiration}`; }, [peer]); if (isRestricted) { @@ -107,7 +103,7 @@ export default function PeerPage() { ); return peer && !isLoading ? ( - + ) : ( @@ -141,8 +137,7 @@ function PeerOverview() { const PeerGeneralInformation = () => { const router = useRouter(); const { mutate } = useSWRConfig(); - const { peer, user, peerGroups, openSSHDialog, update } = usePeer(); - const [ssh, setSsh] = useState(peer.ssh_enabled); + const { peer, user, peerGroups, update } = usePeer(); const [name, setName] = useState(peer.name); const [showEditNameModal, setShowEditNameModal] = useState(false); const [loginExpiration, setLoginExpiration] = useState( @@ -161,7 +156,6 @@ const PeerGeneralInformation = () => { * Detect if there are changes in the peer information, if there are changes, then enable the save button. */ const { hasChanges, updateRef: updateHasChangedRef } = useHasChanges([ - ssh, selectedGroups, loginExpiration, inactivityExpiration, @@ -174,7 +168,6 @@ const PeerGeneralInformation = () => { if (permission.peers.update) { const updateRequest = update({ name: newName ?? name, - ssh, loginExpiration, inactivityExpiration, }); @@ -190,7 +183,6 @@ const PeerGeneralInformation = () => { mutate("/peers/" + peer.id); mutate("/groups"); updateHasChangedRef([ - ssh, selectedGroups, loginExpiration, inactivityExpiration, @@ -314,41 +306,7 @@ const PeerGeneralInformation = () => { )} - - - - {`You don't have the required permissions to update this - setting.`} - - - } - interactive={false} - className={"w-full block"} - disabled={permission.peers.update} - > - - !set - ? setSsh(false) - : openSSHDialog().then((confirm) => setSsh(confirm)) - } - label={ - <> - - SSH Access - - } - helpText={ - "Enable the SSH server on this peer to access the machine via an secure shell." - } - /> - + {/* Remote Access Buttons */}
diff --git a/src/app/(remote-access)/peer/rdp/page.tsx b/src/app/(remote-access)/peer/rdp/page.tsx index f760fb5..0a40cfd 100644 --- a/src/app/(remote-access)/peer/rdp/page.tsx +++ b/src/app/(remote-access)/peer/rdp/page.tsx @@ -4,6 +4,7 @@ import { notify } from "@components/Notification"; import FullScreenLoading from "@components/ui/FullScreenLoading"; import { IconCircleX } from "@tabler/icons-react"; import useFetchApi from "@utils/api"; +import { cn } from "@utils/helpers"; import { Loader2Icon } from "lucide-react"; import React, { useCallback, useEffect, useRef, useState } from "react"; import type { Peer } from "@/interfaces/Peer"; @@ -19,7 +20,6 @@ import { NetBirdStatus, useNetBirdClient, } from "@/modules/remote-access/useNetBirdClient"; -import { cn } from "@utils/helpers"; export default function RDPPage() { const { peerId } = useRDPQueryParams(); @@ -55,7 +55,7 @@ function RDPSession({ peer }: Props) { useEffect(() => { document.title = `${peer.name} - ${peer.ip} - RDP`; - }, []); + }, [peer.ip, peer.name, connected, rdp]); const sendErrorNotification = (title: string, message: string) => { notify({ @@ -104,6 +104,7 @@ function RDPSession({ peer }: Props) { port: credentials.port, username: credentials.username, password: credentials.password, + domain: credentials.domain, width: window.innerWidth, height: window.innerHeight, }); diff --git a/src/app/(remote-access)/peer/ssh/page.tsx b/src/app/(remote-access)/peer/ssh/page.tsx index c1f73dc..23db5bc 100644 --- a/src/app/(remote-access)/peer/ssh/page.tsx +++ b/src/app/(remote-access)/peer/ssh/page.tsx @@ -2,6 +2,7 @@ import { PageNotFound } from "@components/ui/PageNotFound"; import useFetchApi, { ErrorResponse } from "@utils/api"; +import { isNativeSSHSupported } from "@utils/version"; import { CircleXIcon, InfoIcon, Loader2Icon } from "lucide-react"; import React, { useEffect, useRef } from "react"; import type { Peer } from "@/interfaces/Peer"; @@ -86,7 +87,8 @@ function SSHTerminal({ username, port, peer }: Props) { if (isSSHConnected || isSSHConnecting) return; connected.current = false; try { - const rules = [`tcp/${port}`]; + const aclPort = isNativeSSHSupported(peer.version) ? "22022" : port; + const rules = [`tcp/${aclPort}`]; await client?.connectTemporary(peer.id, rules); await ssh({ hostname: peer.ip, @@ -107,7 +109,8 @@ function SSHTerminal({ username, port, peer }: Props) { if (connected.current) return; connected.current = true; try { - const rules = [`tcp/${port}`]; + const aclPort = isNativeSSHSupported(peer.version) ? "22022" : port; + const rules = [`tcp/${aclPort}`]; await client?.connectTemporary(peer.id, rules); const res = await ssh({ hostname: peer.ip, diff --git a/src/assets/ssh/ssh-client.png b/src/assets/ssh/ssh-client.png new file mode 100644 index 0000000000000000000000000000000000000000..2d4bf1a2f9f5e76752b260b30bc7f9559fcc3019 GIT binary patch literal 297368 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

    Kf=UZ5gv~YXT6)s9Omz5|*ME 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⛞HznuupY1y9qf*ePv=(g}Vgc<|>dosa21B>V90uXb4 z$yNx11GPL(F*!nGk_Rx~+{C%-hve)?l8~!uGc#Smo0wys#QXd0{OF+MMI5%Ko0E#v zsXT%lg_Vw$DL75cMzEve6oa|-`|%%BraLu4GkU?5-Y_Fp^xQH=wA!`s$AaCpf)I{` zN>vir7wr@9e$FxHfw%7I;i}(v^$T=^Cn^QR?^52X`ER~UvzjGh1Eev)=9f+J|JLU}w~zY*XTH-k*o(L1EoQ`~y`sh~%v1ymCn1yOG#Txs z?TOi!l%YpW`*Ac$o5;qbU5OdTa?z3}x%|A&cNCwDyA%`x9>P8D%~Sj+Tn==Q>PJIfTj#= zA`?qXGHV}zi8!rRPDDCA7D66`)}V_Z4a}R4ScFq+Y3E^!nhMAHxO;Xi`HyF~M7fqh zLBu#-Oc5Gl5-SW+u%Pxyt&}ziM+cUtNA2m*=#=qT1-Z1P@Vmeap!`Zp%3?m6fwD(d)-={8@R{dvLr(M2 z3zdu#+pF zr~1*}5=su1lwa?!o`yRbb`An`*Q4N0Jc+&7;6=${-jb0mrEroHgjhi#nlINQx+Bz7 zqwA~BMjP+8^34bS?9~w_%`}LbuF|zLM_CK!0a;E;?u_O3oYiv4q!9z>8Mki%Q_N$7 z1XkP=I%a76+ojlO^i9v=Xf162CN>(2`*nn59Q1dn%%6#}D#J~m@Nm{T`HPNGDSg`U zuk-Z+_QiJ2h|6^bcQHX4(A&}YH?od$`0L;JNTAf_{C+zId@Z>)kGoN?%K7f&Tffo^ zj9<5x=Hth3>E2*Shl?-6#CE%qz~k~A@Z%5P$WKGMVtuvUdo*x^2Fj8_ zvRgE}0b)N*dGxn?UVbN>4roeq8l?t|9uPbVw4d?53N%Ti0}tn3#E>S5yh%ap$V62j zmbjx@y)G%KQf=7jTIRa#r{dbw2JX^sCBrVJ_;Ok$KeSiHa@VtX-$BTCGz7+>DG`Ix zR1#UwtJo|cnIx{I&K*z|mC3ro*JZ}v${D+Uc@fOkAj0+@#zrmuY*UiRV?i55P+XZE zfRpU^^3;Mh6jp2tU`^q?1@q;94IIm`6*`LpR4mo$aSAtta~8xnxSAtm*4$geDy=~0 z(-AV1BvgR?3irZlsaMP%7PswpwtV9x;q;GuQ^9FyX?2KF5_@1zqVXtQJa;Zy84f!w zbdn5K&)}{qB8}(cappiRWuk{0W{ItxiQ61Cae_(X#2x}WItCtAfL!LGD92R9e`Wq_ z)T2^(AN#b{MK4xsb-gw%Sx6LB7@ofEf0s;1TY}4w|J{;W`|tX3+fILi;bawzI>>K~ zZx<0>|^wXHkia`ylAixL+m+zdL`UX=EfG(Leq3G6rerp$Nk^R+&ag$VMB= z!UJeTrCBYPQjL=oAfq~_kMs-fvSPov%Oo&6045(*6TqUVoj1X+s^8C937At|I}{Gm za4sp!|0u)~w}QATs1kj;xp3cOEK<>^7~XK>rj$vkokSCMB1;dfXcJC`JEIsj&bhfo z4}sxmw~GNCP%h<+0=ixG$OwVeX^%4Oji%+PSFYi5{jFDvOYTlF?SB8H0BU_3&3-xl zjp3AYmX@A9TFE328{BbguspW&0fA4>npe`W;zwDsm)fHy{-mncY5DW6tCPH z{dFG{WpR@|(QQI(y0Q6`a0_E&KnS?YHZT~c@D}1Cifq=3)T)Sr%nz%kr9;$Je#ge` ziY1;GOwfjsPeUF$h>SpL^P{EV%pfByAs2a>49fJo@Zh7-%x~+zj3U)dFll1_Tt3 z%Yh!4djI^M|I~Am_Jyxlm!B#59iaV}gKyEV*MR$CW;)Ll9ChM_KAz=Tmzut029vdp z{ujs$TQ^@ClWhQ_CrvufSxJiOoDwjuc!w2miv<9F!}bN3eMi?;EXMsz&gd!0b)Dq_ z08_$h*HPV9ZMqx2e|}8?Ljnm?8l?WVpu^1X_4v(w1oW>^0+B6##Hrq!t{ z3ceh{j5=|!P;>To(}Y7{6smuu*;w+sRZqct#h78 z*qr}%w{|9+$m5b2frvUZUamtx;7z*Nw&k$o)W6(%Xtoz%F=^M$ZM|jWrnkA!6rH{eyjxAr?<8>=!3M!z>HY-$l#_%EH2IPCs zVbM@b7@1k>-*ti>2x>yctzWBUUE8vXV7E6T8#&`deM{TqQK#aC0sHNLK}T=-E(=!8 z3Sd~R{3cTFtsi9uISC@2t7E-_k|Bz;=MjvH<5n`!HHv75rBlPMHkeRTSVQ@KPahvn zb?W~)%Xot=GCx`ZOOw)?F!fkUyBK`peXr=0?>{xWF<)3>1$gb^LyngQnRdMSk&#C;0jy;9lbDA0Gs#@2f4d`B z?)hg`gn;-hs$4BXytw&MBgNYFWZslc0s(kN?>9Hf@!y$GQxH-!-F?K(&<;v z`<3I|Z%e`ZtWy%ul;@3E-`)HC31A*wpIqP<`PA?iRV|-i|KqXx#erz@C8zHt=dLN^ z7rja{rTLfWhDM6e+sqE&)B0t&x&5#PlPTS0a_bm=n0V3aJLn8fF)9)YuB(5>u7wSk@$jr!;Nj;d050~zO zA)ODTMqr)8P48kHqo`)I)97zOl`OReO})J(@hMWFI6DkP1PZ@fMzZqQ2h&-AatbRs z34u!=CTg;h?KfuTQ{SJy-}N&APE%o|`n8J;R=O>Eq^p07AFGwi^eDT)-m2^m!<9r% zIyYbs@S9F#Q{Ae38;uAJb-dS>l^TbZrP(l2NTS*x71JF(YV4+wE~VGrsy`UjBvW_9 zj9H6%OCT!H|KZ*)Hih(~OD${H%Q>s>S@do{Dm%9d?sGvwl{4CeO&)90;i+@j-hk3N z1u?T#uiQteTx*QufHdGd0nDQ2d=k}LcAglgXf&FYeOPQ7R9j31@h%#hHriHAQYP1K z1#*OsygDRvdSW__M>311H>sFD&bs-EnR3D=!rBhIl;ezb+M!cWJ8}_PG1q}lAcS$c z`PxQLeufjq6}|x(#mzH%$)~xZfYsaD)kfTJ6J*JPS;&B!~*YybIVZx)**#m77j6K@D$4w~M4iXRdU`zz8V zem0$h=V~pyg1S@Q{46v`vs%aYrV|&=%XLy=xA8dhuqSNy{^L2_QYxT(bi5CfTpeLM zj_)W@ELutW+&Y2`Gi=npFmcM4mAaiv4fag{!faUyN@L~aokaf@>AnUzVERWPoCXe-nCo#9gtUH z$tQ)&1(IMS@r?OG?+;64Vn|xmVmaGD<5aA@LaN!9acbgZx!6GDB0W)NaoNx@@4YCG zJW9~di0E9whEVEWdJ~*H>ICSUdhl8k1iGc9JpO6b&Z24vXk!`rIrrEqN<5`3e_sQ< z|8m-i(%vg|6L~}He%mL6KT0pqh6ggf8ZO+$$-;m2YMY{r8))TWgO8hVDj^mG_qk{h zLmcY{P^CKN?;+;**@D37g=NwXTd#$hWv?III+4oUMjDtotN^@n<1`Ep+)rp18Y+2s zB@+~T60;pa?gt*V%-$<`+?ERmI{WNi6GL9YOir2?o(%VP%)r&$c}={U=TEbvVG@#) zM93nfw9?A+dXhUseeMSP(^QbMuGMpyIl+b+-}#s+-M)6+T{-SnZ!zt$d@Z&VWvWQ~ ztP^+M)NZ4DH*Kky@+7he9lB$(fN)#mE9`eRKFQ`=uYK)QF8QDf+j&pecd3SiAR0~d zmLfk(2e$N4_4N_2?hdV#e1b>oaiDT;)f!giKR0aF`=Nxu7SZ67Rw5@oDv-*p9G^z zc;&5XXBdaAdC{uYrJwAN1Az#QKTH7>$w1T5SLf+_d&cV+Y%-l9Rk;R{DGEDJHj`k!S;EwOFk6Gs_ z@SW=)Q-&WdbZs{~m-B80(x*JkGp`iY3>~N2drQ%ARvg-+zJ6D>hFe3SzzU9P0?HY* ziFx4jbpWI~$}vB6u!)Ego+f?r!tF%(xOBU*e^fT;NaXj+3?Gk(rJ_JACfy4ZL8DnV_|^69r25#j%HV?a{v90Ccfs7do>JArg_AMC zt*it=tH=@nP#M*cJW%9Vc^-8pxZG$XeUUL6T1c6$%4VDs3q!7EFTAPue^G6No6tI^ zfn{cx66>eFn^Wr4<_-AyEG$d_ZXt9quV z+zHwxBHf7Zv1m#$S0SWtG9^@TA6^xv&5k++uY8Kp?sC$M?B$G&U(56csyzU^I5uAj z%z?05g;X_comeJ4j}fJaHd~gnR}Jljr*OYwrpS!A9uTx(uBZi?Y5X%6(lC=rBq~PTf3n zOSQiZMKtnqRg7>chY0(){`mNx>L+)#v#APz}FKI;pkAQXls)2dS z;cgq#8c_MudgpWfMQc=)b4|Q1Yu5i<>S2(+v{PcTzN9E(DDVJI6LtHp*$=#Hor;}6 z(JCQQZpm6X+h;pCs4nsf3dyl-;6aO19Exmo9w_02TA5BHxaV-PUbk?F;p1f$eMS*bu@pOXF_WH57R`y;UGZC^El z1AkS{TOQB9QBB7hM9z6;H;S<}uQCQURTSr!s^(;;C4O${WaPw{axj&r1L!7R+6rm` zB+L4s>}e&e7aP=>99AV7CYqCnh<@KUu8N@2$P&73vbH*4{;WuoQk$`|hDtzN5JkXT==#)~eVO61$+n)|3g?4-J9Yjc4y z^+}SN&nH1Xlem)zqvNvWrQ4|}GbO@Cco{KvB?hp%hN;pqc*uQ=3OXDQB5}?P+IUU2 z(hyAG z!t^gxRLrzU;lM;>TpsVr3=Um?@}tqn$^-~vMUmsLhR8pg%+I)5M!s6ahj1ctpw^BA zI3c?L#)v&PZCx@m_g%7hptiu=)WW6a`cdkxA>?C*%lO50`6SMPa z3D-x6p8yL$l;?$))Own|@$f z^J$#4!vRgcF>ktfo9Gq+zmA2@D~cz7f4=`_xzjY_wgZ5+`^@=$B#<);a)jI|MR7g9JZF4`1#mnF-s$LbqjpQqyvzL3oa9rsE=WO zFK#Bk|MCVCdfbRat{N(meK^9Jgyk2#MgHyjh88}Iz&voVfP>n24Ic!R0*c0ieiF7Hmt=CH#EVfXVuIHYI(C#r z8e)*PUx-`R7Yfu7*Q(9UF*Wdp)cINX9|Q%%+& ztP`duZKm=40!cdmj64qmG~EEA+Vtj&bl$&!&f* zd;u=xnuRRnJ@tLxFNy#BMmGC&y5>SHszx$v9{cmdTTxW*7ro>B6a%m6^mAZEaJ-p z6G%SXJU?=cAh8Y{%W@S=$4vWap)jXqy>{FZpI_+10h_w66?4F2k_I5Exx;|Ls3f{l z9|Atq_tks!VtY2)xhln)hPOrf`X3ajog};gIj~DZJ#}>J9E$VQ5FtPxDqJ6B+oFdD z7_=56vjsx088RkD$Tc%t!hA`7^riLU*CI$h%5Az0f@{%d?>wJx_gFoO?VU6Bq@!UU z_KkfgjGN!!1D!_6@mm4(c!YCC|eYG%!b)!HuD_zvvx7$5Yh{CbTe2|K5S zad4*%&~X&!Ejd2V?C<0>fIXWgp#uT3FSH@$O=fB5%l z&BKXs)p9shK~sFG*@kRgCCfJMqp864+pil5_V_Y)GL0E#kqB7Gj`9q~*uuPOkFZ?u z6q+IR3fy2cR%4Z%b47$9+tRI>p&r zR>8-`=CN}OzEc&uaozLka8of}l$t552AOo>anw7oXLW^4#VluN@iEB(z<(J_moVam zLEt2Ma5`7X>~g-zwTh$0tE6^!;J;S=okb0{VvT^#5asVAO4Pc(V-CFeNdz6QcA2_PFh<|BX$ZYY^TYB0T?%>H>)NXmXpHsOp%-OiDb_3FJ4_40oUS~*R# z6o3(q5Z#3M_6RjltnJ?G+omxDlM8PDJJI(5JB<+|4ck1tF|`DFWD%6 zI@Tkjh`%|LPjFYKhqR|I9vgi^IS-orkv#mOgl=ofaVq8)cL)dc@TiDla9qyXyJSR40meg%l<06{&6Z?|F{{kM5{tSWO3G=|CdzPW$~fon&pt)| z!Pqrj4ZbZAlld!}5o}{4l4vWfAGq{UYN)bnHDq)aG+HTug~WT>q#Ol1vv? zVH@ZF`n$xa0l;^PK0x6@Y6*?xg8#J9N4ri*Db{3_BR+B__InQ%H7k3Wh#z8TWZns` zF{@=$m7=(veE9DK#jxplYA%jl#%?)Q6V=vGJa4Dp(XwsEnXBb<(NL;TTkg@sAdj2V zMEsV?`Z3C^r${`n%pfJ)Qm~J7gZCBDYlxRjklAG7$jg1tRALt;7YhJdtNVQjzaHS6 z?VQ<*XJJ?08Umfg>lP3_=@GRc5vHtf)YBLtg~h@eJ7Y0ra#&UEUfP%zD2;8Bo{F?p z=IW+~%U(tfF2K!F=FziF$tZcWk#y50Pm}F1x|w%OMf6EuZQN}1djNGvITP_d?l+>a zfVczqBzZM%xmhnYK4TghT?({snJq1ek{>hv8{})z#cY>+h4)h z?$$!qTd-bpT{~%0LG9X>aeVar`!Gt>*R^DgE{7wS+vLuT67>xJ9KSzouKd%+Y|P$y zQr(NC%iBJ_%;ai9@Ae*k9IEra+Xt`rNVDyI5Zm2y!7Ho6_Mf{)AUBfaGu68wA;^d#|NX*mBv@^p)ed z75z=?6#3Gj+|0yk-`I39U=X9!cA@lU$wUDhJg9lY&48d?wwItYn);!@w`IW6!)yv* zS45Xw<$IOSzKkLft~_)jT%7C&xAHi8c|;gDr<_F*Kb4j~G!oQ7vA5J(eCkud&D7m> z!KJ}*0K!>TSH(1|1~(U577jJho$Grl=Tx=V{O>N#o8f)jO_p#Ly^Z1}N?kko#vQRp zf;V9ksI(-m*rw+l4&zB(sdv27yw>S6M4rcS-dY*6a~3x~njxniK4vD3dZi}~*u*^L zol5?;F}af4v!l0|B0Alb`!oi;3cZ9_2mFXI{Q;cS`8=(Oq^+ljcowHfa+DD@NU%3Kec43D*>YPf^yHPxIBpxm1v&b$l_>J4fNpKCf!cCfI2)3CB_=`qPKGDwae@sho z+=e^Vex1b!CTVwg@e$J&r=@QaHAD<+ij zm`*>$?ez;lr&{D0trcV~g_%||YCt;z{JP_qW>2O$V#jv!VzxrB934dc?d7_U9t8MW zQlWwX0N~TttyRB_GciDLOtOtJA9O9ctHA|3f{F3}f zBO#GT-L|HwSxiuUfH(jP(We5>L3ek0=WlyPEIZx=DmX4P(0|Nbiie%a^a^5C$0P<_ z1Z8_Dy_((?y1u8VRjtMJIDzEn2zjXYEDHKUiUHtjS@{(9;82s)&F(4G?UGWmxdM9} zh}lImEf5;I()Ex(mUPtK$Z$iZ2i7mqluEtP_K>x01p+Pc7@ZDF9V@`bP|Ea&)7rG?7fmwIbI* zI5~IV&RQswY2G7OGGbq80-x`-giNGDo4os=i*sZSlGVmMUbzw@`ng+klnQE%a*u~u z#ut^F&QgvzRoHDHRyz~6vcS8zKeNno4p(}G@o^5KF`(FYY67u7EBhT~HNfaaGjjS- zK>2Yu<$G`X(3%yt-tfhN2^RZP1Q-%O^O>Loz(i9(9}?@R_f&#uvZXi&>s9O5KWrSo zxY048k6V}KoE`d;AHb2AgyzqO*fqDklavh?C4MM?Vb7(-}6h>B2pXig^Ee_;?^=dF=jeCfZ(Cl!IHKy3bDOPj(G6eVQ=EC=>A;L zco*QDOqcD)@A28fXZEn;O`Wxm-IbCa`dd5Z_K;&iygplVO19aSQ?KZ3<5h;n(n7}9 zT=UX#Wa8XaACy$1FNDd@UE_`Y_o9ncW5#oA*FJB{NZk9Muw*Q3EX2X|lp!PfN=wid z;j4hUPm_<>pO??~UNBwOop$jbXv{xS$h#$;R~{u)YXef5Te z0yK%lldc@`{*{RN8xkm1wDZ=n57rYm(qJ~ID#>3eM6I$}ki2JUgIn#qVx)~BEab~O zT$T_R-0RUFdYYBSU-^v!mI(St2F%o>kHj{|FwyT%$B&NTkW*J}n^#lNn5oNlgh?S6?+jEzAjEdy+hnwi64TA3D+8&AZZ$>-NLC z^(hD}4!KQuL725q+62JlM`!t&hFgY%Oggw%X%Xm%>^;)me{h;P1F=m9!Z+&7;Vwwn z>6=Pl$47#OGwAu8MdsOydJ`h=4u3ec!JLga=t`8w{%+)-J&*~dBt{wB-`?CfR3X=` zMaZEINaa*aiWyV+JD|0r4!=$3p*+ZIQn5yBepJTD@;*{I$M&v9igIkg=gZNS>9Q!qX{Qy>Cy&`MiB|?Ma ze#zrhYMJO4gsQW^smOyVh$kDo@6o-4a=3IX&9OtW1W6+L#*fx5O;Ka>@m=RKtOa^m zBBBdD^T}qgG$JZ5&H5w~I4jAjsQCTo@_dh%S_S3l)k+%NE7C~!0nqzHH4^s%a){g5 zQaeWZS-~sEo5Q0z6qG7dy3M~r#BHu?MoJl_`Z4Kl=OYB!7kcIYj*}%!cc1vt`vR9c z8I!x8u;^Iha*J;U=NKdzsLb3OjF?XEVY}kxraS6Qo?`NjW^!SG#dKP>NFpsGqo64r zVK-ciy^gh$k6DGj-HXo8!xm;$DRBv&JPeGjZF~M^xxFYOGSRaaXPHl9w zDu;9aNWTUq^$A(fDh~xq`_y&t7ihuYh)G1~B#w2t3I2U*;akIG)v1((E(Q|c6ffvq z3@9~~yKrWePwHmlk0o79yE28l&qfpp0FF#ha^vBd+!~TKh&PQZ^L&3hn`Go zCytC*j$MV*9iTM$!5RR1Jd*k{N2S`Rr3Z`;KX!6r4^cggQ?1HjR zWguP-a}`Imi7-aRy-Ljsogmn=ud`dqASDwTZM&yW>pkvAoRZA>Dcw8l1Grz znv7fuSD*4HY-@3ng1|;-jZPjq6lnmv>=NMW1iwhy?Pj7kH#vP)%CN6?P6)uM3g9M2 z{izQ1-M-e@4W4R&%-qV>j2ew0DXUU}m1ZfI)%??vYHPR>VwD+}6$)!cug)xbx7_tq znu+#G)Ei3apTr(WOB(9@sRQBNCX#|1!TM@r*WPzTGG8*!q=q@)S#5HUTk7(^4+c2f zf%6hQf*j^fXd}DKEG&&q=eEL^Xr5tzyMJL0!(Xk(VJNV1&#VOV**!%NJgS=p2n1Z7 zB-5AMJZ(Al9aPJ1k1tA{`i89iGcm4w9=St2fW*Ys+H1nJdU7l;zl-L$9f4T$A@7;+ zy>gy|y9L3k`UjGF^PPb(v!JFoqJ9@=B&&ljS<~Zih3}*be^S~vwe(3^4~8@8NYo)r zvOqiqr#wh$GAf{Jg0*{vpqnk|ZkYq zyhBIT$+S;!bJwv|hI@tTib4$_7WQxN^{Hc*|NnLYiiQG?6a)x)v`}7w>nXL?b&2peT&h$mGX8jOq zERdI|I-4)Q*El(@Hm^tu4f#?mxXWF2D*`{Ykb1 zT-r73tIm^rI8r3u(?WVJPay^_gU2&kLzt#*I??Tdu|34C>&`<`Z_hUerakw(^t$~K z13;tl?Vi!Vx9how;nk@R+dfP;w(rCwRI4&A11c$gc3oanY5isAUC_ zNR&Yc7zy2XsN_9jby%>wuv|wA%@|H7q5W))BixqJdSd*eih$l%#`-q2P*m>1H*EJA z?!FZWBeabJowO@149Ol|i|9Dk!Jp@r0aK^C_h!)v+dg|%3Q#^6U~IM4sjT)O0E7WC zvy*MgWEF19CMG}P+oRg4nB&QAA#XPxi<#HEPsQ!dX@lurx22pxnz9XX^z>i^>S;N| zGB1*%^xTk#OLWu`^ui;xZ&L2f@+T8=l4VjsdgExE_h(||a4R%OwYS}_`Dfkk)U~G8 zslC}@9F+y>9t%B)1$pZ|%bqybE%8tIO@Tk)=?nIyE;c#H%*o!{!rf0DFp^ZQ+Yux> z?Ks12Ynve?YeR)isn{@bI3aJkhq~wIvYEz%=~o~tu)U>ImYq<+bb0G$*3)K-N{{4+ zj&vaTbX_dhYE3sM3}z4;mFIN`vpOEPEe0XGXJuWEP2MP{WaB(hHF&ZXFWe}Dee!78 z`waN)Vo`81u!lTI3rMoLkF+e02hE+1LlU#+xF1`L7!moB+^|Lge3y$|<1z9R84^0X z4PJ}#nxCEY^I}_{bGteH6F=15e{(ENO`D;K55Y-x2Hnu!i3r{_@dpNi-(Vz;K!8J# z3))3PM-%r@R}==qMqZ91qCkMdbkoC*TdW_Ti6hH@%LE_K_x(dJF!k^Kqsn%%eTmKU zIvnP#tG)d5^HnpC*S)H1u3jmR7lI(~Zrf}Rl}u}UBhzI%csZif=g$a9$!&j0ae6J$ zzrER7?WV$jw8_^3o^elhjsTkX2A$UftiH?;w;hrSii@umGGQl}N*`ka^vk2+=OakD zhj^q2l;O*yCS*e=n@RwwfAgj@fsScQ368;FF@Kr0FU;j;Yqj5{DbW-Pn?m^3T7^b82-!yGqm^3-&ccvRH0E#P-R>XaC?GnRktba zks|%6f<3m`&uz~JQE!iZkWPv^%AJM$wE??UY34;n5F1S5R{0HWCrM^hcH2*QHRBQ$ zddsPnF>IL36VxtfoFEZBT!%4;#WckCI#IWqOa3f)Rx=D_5K^PaX>h0zC-5n@oCoxa zG{{-(+{oWh@j-U?v6y7iwT8E0$?3(2IoaH5si1#hS^9Gaot=}Y;$^)+?Oh07SIZef zDx>FHka@C1p{nk3V8Dnl_$OmZY7{UGnlk@NPHj3T1K6)#=|oSwAW-+leIrDo%ol&k zm+)IO>5TQNg!n;*_lzsB(U=3~qHK{aD?|Pq)qoYzXF@L$&#CJCxF{-GKH*L0Jtc}K z^BN6G_vaM2naN0-GZ@Z(M3Ltm|F@rwPUF*k$f<|xmbECo^WqeLd+K@uAcvdLS~z1s zb*iIbN?9wme)#dQ*?d)ZE_D<8*VM;;d`rnMuwYb^@a~ zRAHfh*qP0=@P>M=vTymWDifszg)9Y0Lb&&N*5zb7wYv&y3mO9&u3+ zZ-{f!jJG>?=4I^xzi-T}D^cE~zVzse!4?21ox55InM81gf1`b=!cQX;xx5-w<*dH} ztRMwVW%3Fer16G!|$R)aDM0lU=&T5w5QNrngjfmYaw;8&B zSzNR|8IXy>o>`VmzFFaET8u1Xd{qfJJz{#`3c#yMgO@z!iE7)%QT}ae!;zpquxC z{y&<|DLn4)>*5pJHX7S$Y}>XQ+sVYXlg75~CcoHh*rd_KZqVSJ{-5W)or}3S=X=iH z`>eG-epnRIZ1!|v#pKmoU&OJ>{qkc-y{Xos{ivRu zu^hL_c?LF|McZ3ardBXfOQuU3*6Zv=6=`4OhWxUZLN4e86_uP)H?CyUTuq8+>edj1wew=3g{U^x%T|8t0c4>`l-WPtp%|K-d zp;2F^CkonGfg_sV*ZVr`m$5K{{&oiUZeIsIZFw~~$sD){-H$?#`1FCtN%F)!avnk) z=RBR=N|^`Xj8kW8K0UJOTDLp6I*X+s)t$S{PNu|iTGB3ymzsi2G(3pZP1-^U9br|L zMJ2is$%vDU8i6ZNt;ka8{Yu)|iY?PO_sg1?*vVNlh_APK$AtftT)7-*Q3EriW?{gh ztGEUX2h~I!7bKZHS(dH)J(f#RgN3$4V{G(qD=zIEmk8R>9?f)B%T^J=AO@X!29`bH z$M$zwWc|BLLB8Vx+GOOwklk5lulu`X-cJSJtrNY}UQ^y$VLWraA9%4xKQ>rAqSr_z zPxdkGHddSXfGbR|LGzoKi+g%BWg~6cxDWxH-?ge(HvyhICUBM*6hS1$y|;_%<9Wok zyDjZ27_^Vs3%RR9+IDmtv69&3C?gja#Nzky_JB5$eIadH%Y9tgoVdNyWX@{+QHH=R zbThu4GvErb1by^-03OJ$|Hkk~Iz;!{jvp#A5ZVk;VvRoUD}D*?UvVr~V>H_tP?}gp ztL*E;EVf4V45O^U-cAfCYD4bJV6%f7l?x_jEb_`VyK=ROopMV(zTxknmhHGjAqw!8sGHcq>a z));Q3D(yBHRZqj|Z{>MN zQ@13kO^WRS9@G)ySvCVvWMWCc$ZFY1%bGP?=>8g18&1H~@=gHj*UR@K3(ii4>sP90 zi_^Q7fxd8LZ8}=q;wANjtAUyV8RR|G0~3r0YLaAfWUeAx!~&`&~K zhA%jy>Q#pHt!qc*eoV$f&nZr51toT#O(n*nM1|!L3`Y*e3U!i?n;1RkYD#nys9PR&=DIEv$j=JqU6~g z9c9#gnb15|LX8HQq2Fid7#WDJyBj!KgkZM`bHBXMl7}jt z@y8H<+Y(d1qeQrZ(WCKQMI1M{L<-|%k|fgarjsL|3ouCxQ!D(Rx{ zEmj2y<@G>KVgI>t#ieHXsFyYPPp}n6C{A9hHoi#qeA;Vr8Ky&?^!(7~uS@0SQ0_02 zEfU&xlEJ?R8a<&^a+5X&A+_4OC=6(R3t>~c{r=OXWbYurq{;iL3G+V^%}cq-Yx#Gb z&8gP`kr&7DqzwHnVwP0a;b-S_k! zWwN-%Og}|7^T@nKXq1;q(o&bHDvqd^%$X;M@->@P$75)zhz@O@$qoI2NpioHU`qUA zEjBO)rJLUS#ZGpRAZ@~=pD&6Wa(;UnhuZt>S@^JAy{YQW@4u*4t@3v3kQ$Q zpc+Gko(ky-!0s`_i)W`u$lkzrm<_Rx4yra<vwPMTxml~L>{_C)gL^79bdE{^oAoN>YtSX9^~->QlBjev=BusUu@x!MP(#c$kJ&$|`g48hM?9s1{K2ZCa`cm3vo2uT*p2Xp#(}m-zkz`M(BV+-JGX5tF;+1p9biPz&M~q zFYu;#ujomsiom{x$SwG@z+FxiW18Taf!?!?s1F*I5S8#}XvTsZdxPPBi)5RtjHly) zQMG+(DRhv6^NZdK?aa*9ODmR(rMvFG9{2B>+YK^<1;fZBp?;fT1Yn0p%r67T=(9vn z2od)nIX!+Zo**zz>o%<{zHdMj%0O~^w95`73C>eQSRo5tS#BfUAi7ipFnJRH*9z@( z{#*1qF*r+c9abTLvQTVs75X`f`7x@&I}g8C zg|@#$Egn$Gi&mj#o)R|V=ysSA5A~Z#^;Sddp_*EneogfqF%1uD5yk^KiZutdL3H@F zA&_6TWbZ;hnI2J=QStUFo9IyU8J&|BmszhVpFAkrgQ$+{d-xSw+bzHDAs>8>8jqw9 zlAMCI9IT{<=5DvW3smHg0d9g^QeC=dOLv}&l8fXZF}hti-p5Zg4sjDeh7lnL$|Ds` zzq>w?X4azDZ>gG*4)7oHXz~QXQz=%bPc|TrS?9-Kxa2haEHc!9%|&MAs8Uk;RHk;R z!kox@NuB_;>s`iq*YbQ%lHn&fn9kD18xAXsbB&7-{2p*OsTNNoPD)I}bf5DbZGtrnm$tJf_q8&OVA|fRK%`;o#j@RM`3}%IE z4kFW)XQMxiI+p5woZ8A3sAuZ`uqXjiE@nm(rEsC#Jcr|LV z5CqaKm{3sj%)v!Tov(E*6;5fJ;+IA#$g6(e_r<2MLYt;G&8A0x}(`xfvdcxTL4-5zJk=evWF zn$To(Uw=b9*~aQw`+=O#t3gJ-rN-iFpsd+DW0N{aHfeIhWsbYGM~2s3FG~6S>e;1i zQ)xEwoHvB8Lt6zqi2(TfXBFR#hpc?-Gk$teBmhxY5pzx|JV|9l4~*6*5^Q*68TZ!N z0tl#6(CFA`=h#a4yd;*2TBh^g9?|MAArjitGKfbjx3sYx}6_@@%@6l zzsrwhuDe*NsVOZi)`gB?DEFUD3c};5&#Uwre$S;`nR25??!;AUrOseYweh0C3@b1Ii?SNRwmpprIUT9}V)E7y9*m^4vlHY&}wxu=W&ok9( zYH}d>2i$?7N14GOanDtmd^42cEcrzo8VzmT6+KX84_p>Ujavm9?MxlGgBW4rf zfq-X)qKIkM7#8nG8??0wi_^FuJ$DZ~jDFhevR*4sg3X&W@}k4jt5T$-q6ynqPJF)S zpEjKz#QeEe70y@chEWy0a3?2zKxvzH!Xg_-;VLiJl{ zoi_8}_8A^i5-0yyhdPLIj-M@;Ghqf|uS9H-Wyk9+RadC)n$mREwMZmu4m)w~$~CCc zi<_MTQ?pLk2!I@3)dqP1ppvdw*FN=?gw@EXluVij@c&$SEHtG8Bnp1ygsOaJWsb4z z_VO--`c0tB!agQHUNkz6*sW_oPR+m*aY6yYfY>6lqSEJ`%ewDlfbpfcm5C$WQHl-g z*L+tQXl-QarR0ny`tUC}*fwI+#2X7mF+c$7!Qyq0Ks1BDIyX7xu3Fne!f4o~Fv$QsmdNH`=gkna$jE zk`2*RNK4Gc+;$juuI(LsS}PckqsfvothpDkdBCq#BUN`fOcGT>Dp)J6UurPwy_=vO z%q(*jfZWfdx#j$r@t@`<_~&hu#i-X~NkeQ=6d>uuF1R^S_4U%z-E#;K5$he-MBqWQ z`Bqq3;~YYw-wGM+VD(I$)KHztfYbZczDlRIM-`!nQmlbNkXP|T_wwLLO{A90FyAm?`o;GZ)I~KWE?>FFgR4(5nB%zr_6k6(j3}W zGPW4CQepI$P{u!f@ACR)aB5j3$k_J)&slZu6Bl@r8h7Jt0!t1N>GNyoB{2V4Q$Hf! zcEPG#hKe6*!m#Ml0zy?kaa*aHG0lc~TJcqWq!ma6Q7ZsxFAEzQ`>k#`_?tF0GN!wC zu>gj^f+5r=zPCLorO+7@L~5A|F+`JCl9lvS>AE)-i}-o&#bMGbDbl8RR)j>IsnOX( zaWBN!sT3@LNAxH92f#qo8+AZ&8XUYH+8C`KvPkfZC8~uVnM}e)BTJJ2McO0^S1u9u z08#XVOoIlaEez2Y>UL5lG)isvh{qe*S~WRGn;gw}t*%>IIH9~xb}ht9nfwJ_Bw(nL zd_H8ph16RPKrh0D!zRA&70LRQT%wogN2o|xM+!z$`c8=8EuLh+G>6>xGHkUjRP;VA zcUH$GGFn$lF}*aaZ-d1aWRu>@Kzh^6Ns8{e?k|6mwR}7XKoSaEaqZglAYpw$Lv{Pup7v^~12Bv7!+K!8-y2RJO2W}@mOqkX zLBx&=q3_|#5}sY99pg*eD{X;~c`vfhjsN-E{d^LPHDgfy9_A@XO@s8gKaI-KceCAo z-THR%e0FAE3QFZNe(8^)LJGMKlHt~Wyz(;SmI8_6%1hdAOLz+Qx$F?&0afp~{GTB> zVYUxd@K#itwmdje^EVM|%UVmhtu=+{tj0Ah+_84$%OOKb7*X*hX7w<#MWvWzB6CG0j zN9B>-Q*)*?lmL_yiWx}%^1?e?bzK_Jory+NR^Yi>Os|k{@gjCJ#`;!xH=^>U>ie04 zbd>6Bq{$zrt2s0kKu6pY{$GIIS$%6BRU z_H*N>%a0WCDxO0iDqsV&^TTTG!@r{k4rdWTUVg^HQWxdQ+($bq;*X&xhe4jX*K=Y4 zBB6rF6Z<9_^WE$?NL<-Yze6!KuEN!ZqCiAfa3yWByV)nxMp%lTr{UB&mGGOecqEIh z5@yKJWE12PsRVn}d_iUWoal6eL%t_uBDCP`th>KCE zCD6R8x^9f@f$ll842^v7#dfEyQ(be~f*4MjyYT=T&{ki{^+z;Jz{Q*>yN&R`Q^6Qx z+nBP6^dJEEzS@51W3=(@b)-BSEJgko;82B4FpS5n`omvAd07)OiYDaMD$tfIQPUBp zNnWEiPC=R9qR{s^N9V3^iO=9X8W%o)&PaH9{1{wE8u1;(bN*g<8>JOy7uIKy$#1wnLO;B+gb0w@^l|flm8(5*e65nHUOWLOT~TyL5?ebj6UuTp|ctv)VAc7Qf-1C z8{JNdJYkRwsCi-FJ4nI((U^HDv0>=Fs?TtNjQQz(S^0w1#y z>)&Z_`XwvL_bJ1xKCpyFD_-n4wbpd}sJDLX@*jxR*Vl7dV$0Ih`ry*kXU*;Cr#-~# z@Gcg;;?$jNSwLK^#9|7+W>Q?q+HRF}E z_Oq?wXUi)WgM3M5M6>_yXUNf~?*-EI^q`N2UbiG!UB7M$KwURRvzF*P($_F!k_lE@ zt0vT&C48~JP<6`g*!shPa<1JMRnv>WuiD&_IFXo#3;)UP$AUXj?Ka_RjsGy%JK($E zy$JO}tmq1Fh7YUAC~d*kc=>v zn5tChwCY+DIF`4n6tJ@>v}ib348vx{CKzo0al~|0H?ufo+1J1`H|@iKTqWka9#KMk zD;9tVAanzcM5ihF0ebvHCAj}QQ=84%NCUCoxOOe%+(hZpuD%-JPz{egoU{lr%7^;q z`B6Fw6Pzl%16C$&-i<}~Zo>o!9k2-z- zf!?=cHSO29mwu`nO`3$k#g=2=?->dfp_~60<_9M-(v zxCjywGmi3*+bKzd-)`-6iX8a7Ampn)Km^k@wFjtBGG_|DF+9KZcPFLl zA$UfS8Mq&bV1x=(`cGjSED%Uvf1m}|^u2GVO^JMt6W%|WdmUXe=TjeZ@_UFXHi2Xy za0ERsq4q3eUdX=$ie?F`8*S=Z9?{MH734hY!B}t4CAikGn2WvsYWBF1QAG@v#4MIm z%nP0)%^-WkVF|qV&y=opMl!QP7E0d%eev9En_%bdi;1aHhh@Uh3Tq$K6(QfMw+ zL_prCb|;eQoChfsB0|lkw;4*LB6;<1(Lfm7^eLd7quK(ZCRqa^DZ~;ROUG@uYfHfH z0C4j60HTn^RN=Ry6do9Q2aAz7;Z{~_ zX@&52c!&aV4N}GlMb{e37Po_O*&pe^2JBOWYjY!|?3vzxs+I;8s6-T)H(>YuIO{c( z5*R|yzre73_p21swy<=q->dOjxtBE9dZ6f}#s@m-7Yu)XFERJr;QNB_7RM#-^H@`m=?_F(nDmdTa+}_up6!~??97sS;=znUHzE9>4toRPcCJk)D3sEp zP9omGWod{TTcJj9KYzr!-~e>}{-=1m^NY_7q_p>K|GamPYpy1NmPrv#7cRV{L{T2( z(2S-=Nq7cPd2KM8G-d+a8SPODEdao5mbtv%^=dQeS#GsGjT>mpRzBBioSrhPi^@z5 zXN=Id;%t{kOzb|B({ouUntsg`BP$iQ|^mbR6nG_WE()IVQB^-Ia7V(1T>Hn3=~l_<-Z_uO&u!{|r=6D2WdZozk`nAWItmu{-gO zk>xK$pP{seuM2^y2N%Cy@cCI;W5&!+o#$YPMD66l@z>Ln3WBJMQI>O4CHH9U>S-|n zB%-GM*a!w+@u<0->Cs+JulbT&0HT<~AK zOe@l8Lo4pn;mFi>LcE)DOdm!EtT`4kwSeP?TF_4SkRv<@Mg#YqcF9~;VL``aGO^jqQ8o70_g4v zSCSU{{^Z17%IA;h_y++?zZ`54!Gxs=@LOs{)Dyr674gKelqS9^N>%P^efewBgS+ZO zAsbUrVU|GB)3`z{%vX%=(T-Yug5_e6&uz&eYxwC^7rt!G^);BLi#IGlY`ihtJ ze8(iEjg+$LpeMTir-+(PAI_8sNxfW#$ldj6^0z4;BIPs_4oh(>ughA?9P)Dv(4;xB z{@c!h_6<16sd62y$dhSL|K~n60>$VO6a*ZL*(CuNxebgS`h+N*PByo-%=c3gCpc!V z^zI_bwsBx69m*N?dz(0gSUTh?ouxo1Kg&5@FOaf=lM|XkxEf1}5P>KJy(UK!!(eb~ zcam*nrk$I;;8wtaGfiNPT9iW2PCublI1rr~E_$KgWgZ zELdR9JwemeC#pjZUYZ!WamNHkRYZ)M!Tq;sjJZX z)$1BDwL#(kut55P+=7v8wy|VnlS2K>9i$82b4CNG*O>_AVLh=W8)30auvkrb|D>Ag zX0rboDYdCrVn~LhOD22_3JcmN5iN_-wvSmxw`zK@dT7_?KXsKglSWgGrpws9QCJzu z`5lRz{9 zmNHx3vl_2zYS@VWQf>RN?ycwzG?oQu1j*Si7<+Hn9g^LaxiW^l4InRDZ+4u#H+MB5b&L?6 zX9G>`s?-+<@R1fs7~Y;m{&FYH-T4loA&$-)t{Q#d>qy)XUlvEYu8tFD#3&@by4hh7 zV2W0X6T`HiPN0`kv3!A{Gk#>bo-HynZc8pg2&^^!6O{I$`efI~=6rvM!*Kj2w)^Wn z<9-@R#M`0!S;4E(4@a|6h*Q9#Zo0dTNMpf%XYL#&$eBgJ1@OZ#G0HE|-B;YWDAR*J|g{k?; z07EdL3V{t({5UQYJT|CrlQk4+?^}ift38zd3Zxj${X?}M@hQ3e(lRIMrk6U$RsxwB zOKqr(HTpHZV;U+IYhJV>lrbdvUP;w@2@`kDZdzmR6cJ&+45cWGM;0NO7(1=D0Ff_D zlPp36!Z6oEJJ%;Ic(JpoIz&pXy?!%&zJLDhI1oqk0#4j%nb0xn`(EltZsUEg0LLTq zdCSP~ZU=J_L^O|5zk{kMX^?2ms@VkI{J&S^>kjDeVVLSn`FD(#bR&G2?MIv&-sPPI3SGR{#v|n%?_KK(O%7*DvgN*ay}NNLvJ{C_7jH53bKU?Dbad3f(^c zdXpNEz7Hc!w~DwLc0U+onW1ck-9}7Yk=GOqq4I~8K;Tk%!+g`d)g??IARWYlLiN=% zE_*AHCV9Tz$7_f9iYZ#}?$~*(H+Bv*-}ay>a?Mdcd4y2#W=!Yq=?%U2z_nVCnU9sQ zzA4-UU_aOZ)JF&OA(lOOUq@$_&Lqj`8z7?b%Tw%ij4>i>wfw6Yt5)?ZW@%ZZY(H=g z&wgB%sHq~zZ;H>WGLTEWFvTSSvMNReG;k3|(Vti}+QrE8zBN0>(EgC}!lXo3auwTf z$sMjZ&eX-6NZhkv2Uo-{$)jvMzNC6&*l`QFV6x4vn511|ffC3qqEXsU7Y3ZaGdt zQBWGR3b}i`F(yX<4dm!G?r#imG;06Vv`bY}SWQ8RyUuBFg>FtH`@MMnxX}GCs2bbt zJA@$}g%yXA1_E&n^yY~H|0U;|ZQ`y$1NHsCtze%C{fGDD>FI51iSQjCA@a@InVmLa zwu}<*R5I)C1&K|8^BZqFoTwBKvY7D3;JvD#0=-8$!+_Zmq)ZftSxP#8_6_S*<_7xG z!4J#FPOYSlux6=*`cZ&iDX`8-owbLdHH767_;uiuf1QODe4$U-4@``OeCm&FyhDoq zr#_V7r*!^Z8V1KK9_Ea{&Yn;b`K|gJI8p&1+YA{a1g+OZJm|VruJkwcZh@U@lp$}s zY*Fgz3BsM_o}e?9IbJo)1hCqY$;s1JFJX|sn*kfRAbQYJ0`$T)^+mq15tW549ShrS z+gl0Rlwsn~3`1bjCsYG?r$^=j6Yeo#ycQN-JH>|7UH@Z<9T@-Vt6f5_6%)Fgx;Iv{ zUA-OQty<|6Uf^&=(iCudM}DjX2Z4mHKCj?l6V_0=#%e<^nx#xlil=Bhyi{s}Ud~1` zd=Uv$971cGSz8QDO#C)CJqP%kcw@~*#!pd<4Zs3mLR;i%KA=IT`_kyP_>2j0GGWPK z6~;TU$)Yw0c~g$cOidnwq7Z0_-{g1+($!c9s3vZ&mI~F~NXJ_;ly7H(?&u)q`mFD| zW@51!sh^=Otk92^TM6BTapK2QW%*M0&EZ8l&aJ*f`W9AHL!)XzqA0dM)q@g*or`Mw zowaOoMKXp~4ImkSmrEZ7&N|+QIXzPO82QImtIjo=nxY;dvEn!AC_*cFu3~aRA!t&I zXf@m#ij)nSM|j=6du^l$nI3!9MdR|{C_R%e9rSy;)=c*}wFKnZ-w@7LcBB>7UyM2n zX$23GrpiChZ;zx3%@LgEsfjsT;VBZ};+|>M@L&y7*cBmjvnI|i=)$w~9=dcRnMC7) zGq~ID5g4j4?&;(Op4br*y@_IlD%m$2+u0`?V*MKA!cS=$E z>uKUMaL1u`|W4r%Sn= zZDl~pgt1w;4ij$EO}sb@R^rw<5S$zTX)3hIzOSpI5{7Kaumiv`H@_!ST=)e{#MWl; zP}f_%N0N#XjLMve8#OrjE(%E{7B9ydFq{z5$B_-dA^8(XILIu=Nw3IQ^o!iDYc59# z*{vcfZNki@MU~xgxR9%bYr<2R_GDM?#IF`Bn{ne92Ew)iuDVc>2tmpIQLQ(G$ zWxW72SvXss@tMp&+i^GGhBe5}Q^*-H&}_H7vKEUYeQ(GeZ$-!LUpefP)&4T;{@AQg z6abx(I(h<>9Ah+pH4yiX-%!t_;RDOA8dV!vh%&9NxLzPyMiCP`#)uOr^=Ad2e5~+I zk}6g~=|I=v*dj}mqj^U!=Bm9~_pcEXtyR;ukO(n79gI!jfR%iXHCISbbe2&(pj;94 z8_a3w8}iPztDyGEQh8Br1|rb<;O>a1Eg2;Y(ggd2NAMelL~Nhr1*P03Q2YC-)PINP z&n$@#Il%v@dt98fswZ0a=-z4OgVdx`HZqEIrabfWx*ktK82qWusm_viBH5?Oeg4SB_dt&m)^Y5 zeYUJB3#b?*_>li921upO?=iO^sICn+9~Jej??o(&7+GaJv-ODHMK!WrIIc)+DKU-i zwCR5?KZ++3D(c%u61w@XynL`Fn=>RA}YmqzC3oqzbZnIa3!OQS~ObJSpkovYss#YEOteI{gOy#_3>%B?g z!+`(?AhgwiE_to)(-2OB;jEfv4tvghlU;+(-me2crcOmyh>9Xn<;8O@(UUJOa6iPT zV)$Xu3!L(K=p4Gup3DQ)u90GiEi6JNlCetom!|ROiFFFLDxPq~5WBM?kg1%7y-ESmY~LYtI~h~XRg zF=zmfCdYY^^a=N@KU5$>XK@Xeto&R^$zemfb?egjz}{=f3wELl|edS?2MuzX8M<6__GBe;kUMtI)YGB$Xu5PAyi zZ8Pd#w9y%Gn!7nugwPDSDNTM5sJWszyhT>RR^59FR^Y}?(N{#-H<{M!IwKe9)eF_M zsb~a|YbR4-{A#2q25@r>BZBC>r>fUA{j`#3wlTcbh4w#RhwpyR2h|2V^P{nx1d<3g z{r$nw_14ld(eQ&?f)ZekJYV#CMYZVB7D^PlM%3gEmDRqel=?kquVeg5DC>f!>-yH| zX3^>g?~t`l9X3tGx)O;I6}{nAnS zu>@hcLy}z^eOyn1EsRgojO)!7#$OM|L`oNs8U!yZRK#AME=G^)ChUeV{F~x1g}ELc z_FQpBso~e~6f56E(OuGUrCcKfz1xke$J;mY?|%%(S&iGHmm?bA7wlESywp{Qty38p ztgcntLQ|(miK=*^I~+<=)e_l2YWu;z-@u zcG2xfR(_#c6j_LOB}(6E<-FpVI1If7vus!L@0givCHy!RG`d8XhYdZIzRb=hP zi~^+Oofgp#hQ4`=XIXb7obY&kjm8U z)EQN{3U{F!`Rhs+q88G%LV+EMqt8ODR9^oOfh#01R%~hAJ~8;U^3<6H5LZNh-7Hw( z`?V8pn$j_r-Y-7oV7=0@h)lFD(Jq72S};T{a{}L#POGVmuQ5TeX!uY)&s4Uk+1CLQ z**3A(Wa-j~1Gxrj&L5Uczv1N@tRf+*8)~2zuuU_?27RR`6CUBKhiWZ2aEB7mMtj)9 zby}v@rKgp~Lo(Ma7Rsv5q_7{72Vm#S|DiaK>}RAAf$q2(b3&27JyD;*KweU(5J~#Q zv<5iGAumf>>lUh?K@i+O*RcweqM=EfU7i?jyMb|}g=~}jOi2;Un>zC{LuX<`G+i)I5-kvTxg_@Z#l7d*s#g#RjV}b{bna^a0vit3+uWka`{Fw9fvw)+)v_Lf z|4JeUS-LjzZ`rF{-BX)2_5+?x=uM#&UBcQJ@rt3@Gt0qK!^oJG)XcmP%JAf7 zS0n)+-HP~(cwyLk&=c-2>ZT_>wu-R}i#-+PjMm~23Y2jnL$?X2G-G(tKL?_hioZiD zHw;nOv3>O-ZIf6j*5%vAkT4?lfG5=8~ z_z%(m7F~(-eM$YZA)ze%xxo{mYkIP`JvjHZUC?(YPt@bU zww>Ggso{mZH9l4F#niR>WZ~bjdcWAAzp*ITXz=l2i##pm?UH|e(cE(e>mjzH;UTAm zf5sh>RNg9&xf3-Y^>oY`9i(Z3)T6ET#;3dW>TGt7wE_;%pGxk&8xMoLz2V=(y^hHs;j7>OlTg? z!=_|E+F{yCGH}LF8VgXpY}0LwsoUIFiMB2nB8yUqZUk?uR=I|s3&Q#fAi>4wJ07b- z0f_^Y9(tz3Mh`cKOxfYOK)){bcBQ#r%9cgLwhNfC?1NN!xs6GSS451?zN{sqO9M89^smi@419u; zK5YNDZ+;KAlIqt6IQwsHWojt%mH#ig>mMzvg9@hQ^QG`pkEI7xlHNNXc%`9fKKL9r zs0+r7Tss(ezuwf)hQOA2L6$J(vEBvf5a$fo-u8pjgA096U;Im>Dv<^R8}I)?M1qK( z;6|Ir!K0;@37Lwzwz{o3vH*|-ng0LiAz;{=h;OO8-{5E`J=^BhvyD~Ww`G|qCJ1h@ zsi@bc)U$)3Q|m)_Cm*|Ys)_j5gT?P$!#nsk+ijz} zciQySTorzeF$XH#miny30Ore_W0;dawz6lX+2o9|i{CvaqY0F@LoDMO)I!lzPP|;c8 z|L8(2_mo`9(X?-}@L}}2^cpMggFObaL-J#5cc4X9ZR|Z!*`#Uz)@88lFGQrUQF>_A zM`cVGRr^;9L^*FT3|N{|p~$ju!g9JO-8}aQV6vmZPNW@6$`Dg2{l&raFxv7&Cnl3X zQAHLl_1G$U{VFjt)Gb^`mt5`ZA-!j%O~(e{k4I8chl7}3vbS)KF0#|AfuOz}q*Mrn zq%(_-b9z~_`5`Msihr~a`ClIr4~X&7ZJrUES^8S2a)L8WJ;}SUTm+sgE$Jk{B5UIR zvj8^9-Dl9t5BcDn#1)6S=e*Qu+tSA6K&*&FZmTPN-!%rSEtEt6u5Ohm%&K;@%&*y* zDJn~O%KCzps4?<{JqKMHeE2;fi}%s$nci`?_{Rh3XldN6>1CIL6`lHi5@Kp zBF|wW6MfrP$(9-6A{T=AzFaxHuVLWT5469vazj{L{}%;&m-P9ZG?~X$8MxP1;PJKj z&2ExJz z-<&Y-bnpXPi$s^s4{3YDWY3@?!~&m0%%mjt>(}>+n)&@Nbwvh-JxhLjcO~`$XA&z4 ztJQ+E6}0QQ3eePA&husoersF18p7=Ud3S5ezAaAzfRcU?gBZFt@k3#hPH&nD34Re= zCtH?Pj}~N5%{dR7s_oFvqW1%Uu0o{0i(LA=c~azK77t_yF16S^EN+vp57AAX3OFGH zzQ^xEldGmrn+nYdSJ1O}Kl}+Mpc)X^*7>c?d+HqP(n$s)qnK1MT3`4-Vp#f&eSA%j zLNfFdV0}cpkuN6g?0cin>cDTa=st_=On#m!yOiA=?=s6_~84+7vqd*-v+yhh| zUwDs{&cBXhFJd3^Tlco7jJf_o0Xex?5+oEm2Ekz~2#En0iWk6OI_X~{4vEGm55&-v zHRQ;Y}D*6Jvxl}Wafn?=pdLz$4L)nP@m{%p^}l|n#~!dgGBpJ;a94IOi75w zb{7=8LhK*v)===IgVE9cTp@Cl!>lg9eNC{@`X^U9f+EgKs~}bfln`xyg}(kIUO+AZ zPsWkf-8=b)PMKAZENt|;N=`lYokNQi2$B+7QQHUgZ(7xi2_$$cVK))S06Y{eVfX@fAI6~ zAgg!(xl!8F2{>u$$UEr7J9e#3M(9j!(towq7-xFTy8QINRj^|3!)W*l^bTsL?i2a> z;w^s#(|Gsw>X3ClI`a)UKZ!z zzgz#q8{N5!Jh_7-{@zwJRFt|+o+C^qIJ$lXJ1U<*1b^RZ41Pa{8vOtxnL6IUahw69 z2n%2!46PM`dh&7K;Kr;|rcK%=Nu~eb-yP?)E27<-$eY#8l_e$=yG`1^USOOZUsC(r z`^WWXkndCPuY8+-^e~<*F@tyeT>+EqfN5hs#|#l;w^}!Y!%m06p+FMLZ-w-pDMOR2 zUISNZAX|egtW5}`39W*ccGj;oa{X1L;;c19RaYm?^&UQyF_UCResp$h0P2@tYbA9y zFw}y}+{Y~5{R%JdDkiGCogOE5m!C9GcX1Zwn{1X)A8HDceq;dRmTlNe6x4_U2>jEu zRh+Kkam^%YiEEVMRNZ;%-U4a-U2bFijUAE{J4#mq^Nm&18pX7Ysj8Xm;n&IU z@A!(U4=mIF@#+(pS?QOE?P=O>Wr5roG~oh_if#rW<4>IqmBs4`NkolI^oFjPa9j8k zm9M^fAb=Ty_kE2;>shz+94nep176Jymb7%98Q*@%-iJ4-W?#{)$d;hxDKn{=rW!qk&-9xE|XdVgo2!jM%( zjelY0JADMSJrtRiOpub_JWaFK* zg9*z>R9pXyZ8H*`BTm#XwV7(c97jdo1vQZqd!SxlAv+1Rb)GG3~^~eiMD9flpk+#IHs95Z?{n7=-Pe!X(5~FFdMyb8pRRU} ztXTc^y7xknrVhY)l5SA~+Y|!{EM{k0k6^+RM`1*z(4}25Z}pB^4{c$9TTr~A*M`** zHLI^&_hG8S)B)M&^WCz@`*OAOhQY7bwWGS$xv3;FPO{r*nZu1R(uX29@F&pU2WFQs zum;`6-Sc@)e&pu7IX!Y0bWAxPZQlPGPzqv9_5Qf&*V}q{7hSg9@k(G&C6MyHX%ODW zs9__Q<;4=iIwP=3QeHge7p&s*jTE+ZZ8l6P_VbB{k;$hVf@QBKU1u z-}ic8LO1?7W-$F%*ktPH#ArypctAIl#{^TqMi+H|o;oy#E6EJuk^?Gel7 zlY(4!T9tBWBndY5U@w@pM<<_-K`g<22F10_c0Bqb*Xp=EmLlr~b&U>yW8LnsZD7-R z$UyEEVRO}meGzMbtgwjn-HaMb44M45?0?+!?_;MXLv)Q(ThgPBcWAZ-)GqW%8Zr`- zq@X`}GpUSh5x21M=s3rGq7c@i>#?nQA&H~%*yvEMgs@ZT!eQ4js~n@xR+Kk%ldR6A zEq-2D;h_UCg7mY{`0p(|K6*nj6X@ppUC=tnj*2O=nwSsM#SjbZd`8C>G!c{$wxSgm zGC1j%0%8&D%IHc>95w$<4-gW45fH*>qYcY?gmbf1S*XJZ^~E-eD6FuLgEtyQXvf--DF zv@iOv>*^37CBP7$Cc)Qk${)p&+YI3vaNATi;MVoacz|MS(fEW zpEB@o;8k}m&JYPf=dD#}xLl`Wy&)&|plr4Nb%>J%$}4MFsI*coqmSd94o|u`>5QMV z2-nc!SgO`J!mmqLX1N~F9xc&Fm;B(#m|O5X&;2sXh=M1u8UA1Js-9maj0L+1=hgeL zD%gs_Mjbz=#kfs=5&2aF%J95A(9y%B#*bnN=`Y@I)?`aCeD7X>s zkSglHJm=60A|yj6d7dx?P6{5ySBt^7zSf{P^f?Pi0c*|~wuHt(9P}bO46v|1Z7T>t zP&lIlF`h}7TqgmH(57V(m;j22nZahD^4uci*#{?%J0fD{3xCp}93qnYP=&T2s!L1_ z%Zi~A@t(F4JA;yWr?5fJjB1|`1M~z^npYKg0GVZMhnF9c06;BOX$yXN53+M$!UM!j z)Ds8_GzDpXhBSpH#tDx@Gcri&1N!4Hd(#OgoRBZ;(aLQ%*4byDU3Tr-HTr0J{XH&$ zNposao?P;9$7&in2%qUk4p@+Sk7zVG|K?|>;cy3Oaz%_utQo8OY{w&XLDz*0-ri6@>| z^r7^n#ZGJ6M?UhAR{VSTeSFT1-;Z~F((_4q)Jygj&&J7a-cKq&DQ~mF6&DoaD?O?D z+*+^dRaJ0)WCIYgB7(l?0&WI8s6X;$S8XWDp^UUtUoAn{<+$i19;$QVNH2MGB&xrh zdgfW>4PU)Z`R6mS4lQ30eZ8{0JI>r{L6`j0M|IaAOK*UoF3W2Ab_p)rv zF{M2%Y7mMp7KG|@v;^=H0QK0lxN4Mlfebjr6}khsR;n3~;uRKAmP#V* z8cqS>Ws>o91c+!B6#OYf8-sFEc1_q9`=J?-s|p6mV|%D)C~5H$No&@O6^scc7)&fI zfgtVs@&h8_Y`^8Q{t}Q&`Kv9;lU-D-=A^&=adPFEpjPqmmo`N8PWU|Y9+@bX&`D(q zA7JuVzj4p*eeZkc7r0A_`d;aDtWSzEQF-~ku&_{?GI5!3f5~4a({%Ne!06|t^a7-<_k1Uf(S zGd~l{l1q8Y;J1G3x3YApL;ZN#s$DI3fTyq7v!3;=ILnWM z&v72UH}3t$^wrY%earW~J)2a1G_MsUuYL)S64~NzmVIHN#LzFyNq?~-Odz7bq z+ASr;s2z&P{&}T)Q|4O@+A100mRJWpQV*Z zgF=?uV66Sq=Ase9UHR)AeWTBoSYQ?Fj%O@x;M~57g-XB^4TxSAD5>M;v~am91+`^% z8KQ90{!u+FRxw^E7h1wc3SfZ@usWfi=h2uQu!B~tMfhDe!VQ52ZjY-IbyoMVEC`0sC(T`oj*B!63E|m{J~MnP zQVK11D!Sz8ZqPaCwyz;JCP0nR6`Tr=45XO>O=bE>VF!>00UVaE79|E80SFLGv0&Mm z6m{?{=X03nxy?8|1T79!Knjy0%ab%Hs~HELdy)7XKBx1k3<%NR3w-C(@QP^o2h|}H z^gn_KzdnN*tzFW!eJAyB?s88*<%>F+_W~eU+x5^$`(VDi4MRE;h%)45@Es6{+7HW0 zNK<0_l65Uv%$bJy0BJSMty$8B8SnjYIdFo@_-o0hpEM^zWCH&|&^GL=*3HEM{&A<0 z{wyb+cw%|(bDvvoe)F5h$K-BzyIVQwq?6*i;;(FfRXaBNfcR{?FLV`v$rwjJ_G3SG zfE-PW|4&LFb1Ej>&c$Vs($r7Fb%O%XGJmo2w-~LeXxDS`}{Bh!smeI6byPx>P zC(5<2eeLp$XFQ|a_rCWHUHu`=-(S)vO~-!y)s%(bJ1%d2ZzjJPH@_{1T^zq}Js&UI z?#Id}n?ITFW6v6?&G!`MuD$!9UAOmEn0sk%zAW0xOn6VZTDKPSd*1JUjSVVlo}o}& zImwTEzWejJLuvS4#Ul7YFZekmD@KE8GBoWlFFFrBaty%a4WIi;Irfw{l@ELgP;lvm z_!F_CkaG%`mM_nN$Lm;$+?{CrE1kP%-GL`BD|-MF{@_QC17ZX6Vhvga{OqBP4G`Z7<=qi!ngckgYgfrL(1R;x(dAf&dIZqg zy_fJq@S$Fnzjb`8lmSLAz=r-~Se(#_<}G06>Hy?A=?!7{&h0AEGAQ0i1bks&yOxGDs;~%k`Vz&-T5ad(X6LHh6K2X-oD_fvZ{d}DL`99EoaFl; z)2XMP8Zf9M@nawR*nOzzXJvB7lNN+K-tms{EBUYg`mcS;ZJq`|?x#NWsq*D7e>o1l zTD4S8({%Ncfb%|I+C#R-??-!cpx|t@?oO^%8omS)ExB~3zm!hkZSDzvbV4^YiTr96 zdg@c38Xqa^z4M*#jK7w1TxWKDo2)DUt&P#}35~9GwW1w={PEclc$?eYCSexbdFV2o zyl4TIA9>WeHX7`Ayxmc{229mDEcg>JU3%%IS(0>jp=ms1gTT>bcnO{MwSMW}Wzsrk z%&zafH2&Q-e&2dLo6&C{24ia_NGSbM_k}k2 zU;q(FA_?*l&r!YkM0OV^7#c~QK#lfo`esyi!zs-}CubfSszE?NUY9m=3Jvm| z#o;W=o9=+*UXXTjDw(C6KdV)#&kv3qI;(4ZAl!F*B9iXhT zggpxQUb#&cfKl4!I|Kon9?`>%MI|7r_F;A)BD;Is;~ojo;L}4%ZAs8&!dJZF75Vah z_`@H*Nz$bgEp*LSW%I#=3xDN1Zlj82La}MqRZs%X-|;k>H+pSQT6f7ABIK%&oOgb9 zC&jw*dra^@4q$f5w{%@T*MYr$C)JwfYb6t?O`^TOcCD{-yL3loyA!@_*E&1-Ozwo< zRi}(!j^k-3d0Uj3ls!&9U&y1G6DlQZJb(Ni8WYPk+WVHj+0AZR-uLde*E$*{{9zA@ z0Hg3-uh!6rz+=>czwpUUzGb2_q7T%k=*8#_^;{+AuDfHIv(I_o>E*PqU$^YNXcdfg z8GwW3JOI`JE6WTqH#gX&w}dY1LPIC>s9XUa?YCve74*8xdWLs!SKchTpo<|QrUcN4 z8^Sa)hy@ICZWMYM9-xHXY}Vslo#}=+R|dPVpG{`OmBQ}Ca-{eHzbmX$o_CmIdsLnD zJ1a-{Q{gUMBef%=4sFi@&|)8G1_Hn-CN(C9<;LXCq&Hx)_vIz@Jg-U9l4c+oxFk0G%D4@c>78 zWCLBq@4f*X?)B>yC^~vG<;G{dn&!c99F9Muk=)0ZK%}qonxw!cwXMZqnyy|F@N?`J(N0qX1?_#O^^Rn@?dF}|L8Aca zK>4trhF};^=5M!bx4(9+uQlsn(&!TE!PLKM))}9J``L+vB{C7Z|^% zP_oAJ$L@DhW}kM4H+(c2PIoo zJtHe>827$C`u}@c>HO4hmN$ImsIqd&#i%3BC&ZF83%ZIvatY6s6zTw>032F>)H#AZ zb$2}j5bvk}zui1r5JXU84GWa8Ogy!^#Gy9u+cUOQ&;?d0fQR84jN;zYFoB-5H(HjA z67LF?^zGC-K~7yR)rfjFC~1%S#|0PGuu z4Ig3CUHUr@Px_v%+gFzK1g7(B>RY01cP-A$gAMEiSfHzanp-7FY;35&D0dq6bTYUTAx_eEj66}SyZ?Od5X4%>wIaw`XlPae z>VPiLkVPj^EMzp0-2yyQKh&i<0gHl5T?QD{q`z6%`dY_cPiqh1^V;n&{*G!+JHz2hXa z3|UBz_F3bW1_Nw6^6C6iRtjF=WwIYfB2D^bek9tN(!AbeJm;e3cO?nOm6~eY@{Q1~@Zb$P*uchCJZ(a;D#_!D@=1qDOEmR+5*P-9_ zC{I@o23mH|0UK_sGs-1;SsgQj&YUH${b*2$s}Ix@DhgMGj$W8AFa6Y4%4`1P+GXi$ z_%>a3J^*A9V1R;$u0TeuyGpPp{jFTJ(Je@gBCR!aH5j4{2xFjS%HW@ZiXOY}bk$K; zsVm*(rxl28c7$&bepMQKv?!?)F@PL52k2rgZw&?31r&J-3*J?+3gzJEwH|S`;2Y=r zK7G+23%DdF(Z7aCGAg~nP&H1iqk}tG;+6p|`e*4ACU~PT!;Sz%PsYC@%Oye&mF{y~ zj*%3c76wh%|7=6QuHIaYPVY8Kh|OY+a`nr&U0TdKfHZNVK3f`KG#2f_r_DgC^H|S! zvw@(8+_b>Ce7elis^h&5nCb$u^z$+r!!fj}|JoY7t!cF)q48;qe>##m7-r`$16Y9; zy#r{(qC{s!zT7!RNxn7EWaZ#xXx1`NqJV>{6CLP?@o+%uZaxVJrYcyXptMDwFc)w_ z`C)4aiz_A_(~=jo9DR~I7KAeVv7roob_$A$5MY25e8o2`PmKq{da(eL_OjDaVP(k< zN-_igrhFLSMQ1zsLRnUJ)8f$=?F1l$iI_GHawP3BRpqKh+uoc4+ED<7M4$zuGAocUiN;%r~w?4;A;WxGcnlhY| zI}!)f^Q=OHmZ~l_inw&y$6};hyq{;Oa0UIT@7fZ2SL>Pmv~M0Z?QX`HX#h#I3e*4u z0h-*k*avLcf2~;VF7(JCBf;;%nSCBVD~(9{N(-hma;yR5w2XOh_6)qbJFx~}7u(T4 zmLC&V0@(qrvROc@<1)OjA{Gyq7QvVj-l0Py0;z-(Kv*$RWhfO^DBV*5f4uk}bGSp7-0$ukD^4EI-qF*Axl(y*2*bHGbb@F`7Sm?Q`z8{SLHz zt225%q;1{J`XkTVWu9%`3~71a64#AJ-u-TGuVI-~A1N1pl9>Yjxc2+Li%xXOa09&; z+W?=xx~m_3i&g04$(2oWjw& z8ckHDJkPm@^PK<5y^#{;!3yeI{j`YSKozWV!Uk6giMMR2ocQ_Q)>Vy zT4q;c{GGH|p;&X&4;ClA^k)DrC{YN}j-Uv^h&!Ty1!DjX^A>1(nVo;@U;(XAJ$PL( z8a(s_nl{h{n5j8CDt{2;D)pCESW>l5=u~AqPk(2zaJiZV$?RraM0Of%3?_bU`mFz) zFLB5U%cubjAR!Oi?#&}#0+-6O_4Pf=cycYsHDw8OH6C0Ppp<4t*a{#Ls0g%LKvU-m ztiVtO3{JLc(u5))%$iISO3*OUkE0D z4M2{zB*M!#%S+2DqHVz-iAR-+^Ir(gUE3T0LFyn0vl(>xcc5HHwj1(q8_LLx$kDd= zH=`XCp*YZKpUI~9Gz#i)9#iw!LAtauO;ZW%NCNuY~fBt6}Lu$J1Vq zPztl2>4Ux-(9d}^y*gC>TrYCPNjbQC-?)-9=-f3dZZau7LDDks3jiFou^>sG@d|XP zi>%b&Ic%D8E{_i2PvF|8jsPgWS#kv}fmo+IkB^p1uI_*oq_JdaJBGIhyv`t_Y>0!6 zW)+)LW5eGX%dW0g&0$1Z!Y^*le!$qA4)Y{{AGNFq(quUDg{rYgGo2}ag@j%MM%*1h zR~@&2Bf(inIY|(W^#n-vIDiBJ_ysLyKxzS2UMEaLz>DBY9{3_>AW|UKs%nK|13`EQ z0I?YKB1~z}P@1BH{?nRNNznn#Pat3YuKeX-zRC4z>jVylDert<0iu1=H_J&!F1*#M z_Rf1|LmmXoks-M2x?6$zI`KK_LN-W}wz!EUjIx5j_G+I zHcfFmquIx7UN=1HM&%`+JHLGR2Y#)bbq=6}L!kGr>;^#W#St6e#IjjjVN~*{6eF~+ z;ztxODe?qN^C-^&)-3hQ(dt})guX?yDB2m2K{k)UO~4CX^{734qg=hwXUgw^y#y9D zWP{cmt!+Bf<3>eUtZ$TAWZ7_LeUWxpdSl7XB}c`!fT3Y_X!Thk1Vaylf<~M!l?Tvw z#jJ+~%H_VSVj&1cvOyo#;iChu-m74BMmNA}3@GSF@E-|ll^sJC?)uY2C>~kD(Ba0j zc>q+F48agCIqs!RUH#SDn4zG>LE3^Q=xffAq$^=A9je1;pgW+iGxS3_>*v0P6>e$I z65Xo^!KG6nqG&=lskNa22R9;Gn9OSZ}D6ZK=(4@LLz5F0GCYguTOb9 zYQQq5BBRE0JIyuBJ6U9AJ&bS*y-W&$gcX=z7Snp9AY)zAx^bJ7Z!M56X3O2oVnlbZB~FRpE0Ml=a3@yH^)kV~7I z7cEgE%UV9Ir=C^wOGTOt5T)|U)=&CoYqjI>BJ^(Xx5(9b zIQ=t~z+sfYR-h{L@i4YCCH1{7f%@IGZ!ah1S;G7+o+W#WXZzF}FT;Iw+ZcU|MPan^ z$*@pOsWYrQ{JyT=+dOV{Q{UpPuJ0`k^Y)=rpS90WP5~hc2*5vdp!z{wfb!Nd63ryg zpp46M&w1r*%59%}dU@UF7Rv7PzEzfXe+T`-64>G%mfFyFfDljT?viPZEiNfMVS*=Ua`KY8G_c%fY=n0r?^;kfOAr$oOT8=&jfWVA#&$ZfktzWlY zOxOb$H-P9G)}Lcoic{CQ?6`!5OiK`EE1bt&cGGVeX#zl&(a$pg9Kl}Pl@?b5isoab z66#gj>nxMP9&KVti=jt3RTrQv0V+3WuVXCg;D^N`Ud0x?yPBmnOg=rrr_Y7fs{wRe zG8Cow-z7_pPM+A1AgSUL;D==eh%3-hE^)f&U7%@2!#W&;l`KKZnJdexc!4bS-3bXg zNJ*$s-It9CTtsVL!;leX1yM4oWvGG@Cx>+^KoSA-xUT^X;)%dZR@f{wV4`J2h>8A}Fd696V*f^`F|r0jH+ zq3lwD8%w!_Y7g^4a)QYbee~N-UrnA3zUni26dy zac?*WV`&Mpx@71CFFG)O)iOR?;e&gl6QD?WhE)rIG7tVxi~27{3|O3_zP?eZBS=y{ zDq?hR^uD+NFg8a4cPp*~;@miAS^+flcnPAkT={$eAk}ATjegp+VJ2KT12@tZPWH+Q zW6caED@``8%<0c&>@kCxcHw0Y^_6KIIHUkO^aQyo6NpjHKDcGU1p2T;yzHyV0jCq* z*2$p17Mc7voP8)dF%-OI>5qaDP`KqWOJx*xxvoMV27>il2MQU5uGS>F84whD5HhHK zn+$6dbkO+^K;j+RR3*_MyveHr>;&5Y0I4uM${@hd$;H3$XD4hE`qEM~N#S3f?0|je zAp@f=4mQd0zIIN>Ix9P{0Yl1-wp?h96C-U~l8&dI*Yy_(SK4oR6O6^i2CW=$O{SAL z@`1dl+9gHhDK$t!%Xj&<=ap~seSQW3Bek*_bo5%+x>iNu_Fx>gUVP*uL{- z{JxRfD!)CSzE34^g#`AUQ+}ImoyMOH@AKxL@#l?F%Wv-^`KgvaEz>XI5n7|yW^a!&1Q2(HS)~vu8ep;O71U=~L0Xol+Pc!K8?(BSQ0bNWx`d|$J z7H)#;0CZM#hQ|-83;s~UtI#%BiSeJ{ORp^o0hk0nfGl{Swcr4OkIwZhIOf?3AV?o) z9o#kExR>xU{Gh~TTI<}L7hR3n$z?|&7lN!Z48DM0vh2qUeRauF-!TuXc4cbCw%J*! zj+K`l@`{f;yt)fh)vYnb)hYeemMG_rOP4qGk&e%p5$>rwOT>Gzf#v%1?22Sb(->fT zprxhJM9-1EGI25>>;M571dNDIMX`|?NKliS*u*oRt&@6!0ckK{+|`ifFA6z8DU0Ps z5ES~p^G~y>lPvyB+zTLL-c;()Vbw9<;;-Zn#2c_>3}^`o*esS1Fq zHO`KN6Z-4K@LByZDFcC=09QUtUe!PKK9)2x97uWAA}3g5KH~hiTt0L9XUg@if4%Y} zH~5hp&*9*YC;2y}&yEvxCZ!7KYJXdqt@0+(Yh}l2Pust0%D;`v_`Bn0UVC|;fWX82 zgAKGPooTwJNMQUsX8gX%VLX52K9?i+txDcU^T)0y)!Y2e8!am#?l-g4EW@-9jm-k> zDet58MzX!!Y|EPwn%<5jwGk?S&l*3sqbk%2>aS96ecM}=yFdH1^18EF^|*WypC~L> z0GilL@|9v;e6p~>97UVPmeM6>Mw1WLq5(j{V`U84kX0JW+J+mo1VlYUIe}PIqw6?s zujAaV+lwnjhBxZrz)nc1EU&q7ZGq)9ouI@7djTp(bKvt}$z6lpvH&PE{$mFo;usJ1r?lSk9p( zk4o07=PQBI6f7XYfu?&w*%DR=DFbkFNv}G4BUJJQAQfw{hs z%GSb^ryVAXj%l%MA&@+RBEyjZ3z*3?=LrIJYp8%j+L|v#^MXhn7u_9MEl~D}XF>hc z6EyMPK3dm_kjX`9&s@q#Lre2zfF6Sq^QWDIu0h!#o%ZZw4;otBT*9;+x1|zYmOLb` zJm~Lv=bcy1J@;ImADLv!ayL!;m%#U;tPW?NcJ11=e<4mwT+Jomj2TVi_dXlX8@b=S z+`JeiHgY}soa@|<=GjcUZ||)-_Y<(#cCx3o)kJ4BSjzi$oDLuR6vP!42xcvoLgWya5=jbkA?q5mP>WUU*)XF z^#wK(5E?@~(H9({i`N8LZg_JiA@bF#rN6eznhVHnMhh3%VHuWt^b<}PKYYIU$7&zM zu>Jt($ZYl@CxoU!I?TI($0aOxLZovN7bx&vtyNAItt~aGI;pyjJY%XZrVJeyOr!Sam-kJD3+FWxs-#+0?C2|)yDhK&M5IiE!NvYWu85x{x zP3LtQmu*uV|G6_fgCCxjD9t4_M0Jqs@B!4^h{W?x)?Ko7303Ptvx225_)w0@)%VCq zVMAWaqT?0u@ysMeQ73koMr-9~QD92g=MoQ7@&PH(Wce{`k-`>PV)m zk)P$MOuc-$I!2PRkbk_VzRLy9d8ScK(6XsoCrvozBQpuuhXmwpZCDl>{L~4LnFr1% z+h$6}pOHGTPE*!pcxh*B!-;)Mk24-tGr@+Fq4EJkwp-5u&Eo_9bN1P1A8?&%g{zAM zhLdKK-SK-LjOUHr=XNabO7upbb3Lg}{lJd3*UCyTAHYg^v#ht1XxC!<{N1c0oe^5C z{v@6n0iU({eqnj-=bz8n?QeIha>r-9t-R!Gvt`ev90HAA>}#Z;+$zB``6j}7n;-A_ z65?~oXL*HXLw%uVDa%S4$L0M0?A-~lX3JL4`LF7nIyJm|8I(aVM4pNYDh{n^2%_-> zM-YM*r_g9cX${8^1UnEE4a8s!8YGku1(gUvYz;zjXi$N6WQ>qmK|*Mm3GlslYdYst z_5ZhW?^EBcTkpPy(XU(J?yB$Xy)##?wQ^mv&cHR>8KeUq z-pzsNoKj8yE*o_}9s7LIokwlcKu>doOm|uMJ)hI5z`ba^Dm!v9k*1umh?>T`)%4iw z?&Yxc-NL+>bV@E=J9LUHvHPb*oF3*7k?BnzfX+eT$Z>W~iyl#Rr$wBu7b&xzDnGCw zQ9elZIBD1U%W&K|?`^;A`a@1qPUYF{zP+0wyx$a`eZEZP*{ka8tVR3L_bo;1u`Ye^ zxeZ7KCB{y~6aD!(XYleOcQHZPy5TIo?LcqF?nb|hw(vU5dA#h6O8F;!qQ~A^k00MW zyl{SZK1D=_;(eMi11I3(?MIufp5|ncn>A^-YfmfEEWDrf<-wU|9VIGqGahD{f zAmd%mTYn=R4v+#%F^{vMuLLKBQR7C;p(i-f;-j?p`-Cxyevp7k%H#c2GGQc^!N<BusrE_>!kSgfkA{;H}&0nF+4{otHpLS=cfv z_&{U$0pcp}8V@2{a_1G?=B@3mAq=@6yz%ws0t5`%;?0z4v&_q(lNDA*RwtkJUNtxl zs_>E-h%8_IZe%_V2=Amc#*wiWiZlXnriyVIudL8QOvTQdz^N_SU%Q>zVM@RXxp=mJxhijxPV>k9$# z0A^$vqH+grU6zjNAU0=d#z7r+9L6A}YisqJ2Mo?r#Oy>obN0%IdzE)y*yn9i)T-Y| zM76>2|GtF2vU;8QuaILy4U^#~KWG&j&V)=BKEsmf)y_08CD9d+~FLQd}Yon~9a!qOG zq}e5&rJBX<^lWb}(rdnoebG#oV2O>yee!1LvpLOOdV|rrGmee@KJUiU&7x2?elQKh z{%XfaGN;K(p8du|or*@aKnweY>7tG&yT)6!RfNneTYPdFF9*KFqGQ%#-Av&MywH>E z-K}d)ujceFeHumE%|D*#0h>)=5N(~J6JtebOXBy85sTNWNWq3FGzlPpfRrIkMxF8= z$zpm}-gSU$G0Q0$qZQMf7bR!s_{y^(>Pr9`W~^2)6GcO8U<%!pXG(J-4)HQP>O>Xt z8^>#|2Rn?>f{rtjU`9Yv!7c}5wP^Gq3uYoU*e`#NLQILWA0_CTcG6X`|5w#r{Hvn~ zTmz+!F+FlxYEnfUB!s=x6Z zZS8?!?QJAFDi2esh|Kl6>pB>uI7Ab5)VIRJ5g73Ph#bwo6pQ8=^fF^q)mOV$=dP1x z_?6|*0#X@~wKB02E(*z_Omfg42xvJvOD4-Pt#5|LcQ5trjh)0F67}gfPF8p)vO98~ znpc--D$LnVc@6KSkvBeYC(<`ZH`)w7jUbAt9cLdkY4AjxjOO8n<5tp=mD(9|}439Xf^D2edmg=~6m*qz%MTjjlSydr@YOF%z6KAygpcbs;7EvtLK zXC8a{em;hmwxwU;I7*W@={mAs$7Js?`&s%9J5cM-RT{V*$A;$^_YSAjem!TfJB|Ik zU>e<^8-JIF5BR|MKm0HM$2S~4_gjC;;k7@|Rt>NHp={{g!-M;6%P`Rw&VtBD<1^iJ z+1lLE>y3M#cPaMLTB#he^vc8R1D$)?n}DYo6+5MyDw_vN&P)1abVCl;IlUZCvn#Vq zCL3Y_yKnfOHvUDn(gxu)ZJAS+E-0Qfvoz;TrI;z2pbRI4{-GPJ@2YC-6^Dv`yJ%X` zv|S9AN6Qp-%9)!l&EychkUh-Zibq>g(D_UEna!e^Y-DN|0l|otXQd}=jT|gG*_yJm zoEgEBhZpT*)xEb7XJ#QDo!M$rtu`w?$w?B>5e}Kzo_Ky#q|HaEO$|Os7UvlhGXQ)B z@)iBVca1f+%vv*nCP5K4Y4+$0-<`gLsM&4(fNv2p|JY}1-5jT;As$zlp|tNs7^W*w zz4O_dDnC)IFp+0X=TER9j6qHU2V{zZVf}apb1ZcY=(+tiQ`ltqM3u&QSth?w-pAu`XhQh zoD3{Dkt8WB?jAG%duos%In<#E<=91 z4&T+^Q7?o7PFSO)ly1y!uD*@RUzMPJ1Nfun%gV z!!XW_T2sbDGg;2d8AEr#UitGAUIMFcJ`uyy_i~QYj<01sb$^9uPv6fQp1D0rd(r(- z`iz5ZoNPs(@Noq9H2oLhJ1ReXmHDFljoB+4M|gMmE7}|EQ4tSTAO8hkdiX!T@9huY z`>jQyUiiT_1OKMUu>70sVN-FOnbcc* zI8`o~aYUN>I=`9DNzeKYAqPj)=zh3;7jPEOcb*xO#=htedvGtjKH>3Oo;bmpn2=48>ajBU*_SHfeIET=`oF^ZfP%39>AZm^6- z_Znh!cf`kAO&;^KUe-7@YTPfjt0bkra85G?GmTtB&K3=$+!-517^kFeIx2oNCBMR^ zsHS-8lci*^>u3zba(=2uFtIxoMHf`IVj4|-9k}6i$xA9VrW$qBIi{}FdA@QU9FKUM z3HgO@?fGR|bxj3sjzJj5@sM5vtO(SS+j#d?h#c{O&@6sTZVVj}4qM8OG3`mA${CQe zEk*@6JsdI)(D124Lsj94@~Gcr1XsDKcWL7!pgnzJ)p@O@Q`n2SjO=PpxE4Q^??0oB z+G8>y>v$vAzz5D#QBV-^ugXIgKy5O8WXVQ!?y*iu8#wS>zrvEIsFT_l4E|^O*L9S= zIm(Gx4nn;pAq}+v4M06spBd+F1nYkBmKK=&5od7rs?prz?C3Zu)S(UGiR82m`1Qg^ z_aPY@I|Kj#KmbWZK~#&2`nEc0%kW2MU&BYt>j7a-=_6O zug?+5pf~2MIchEUL{Vm~b>We7OG0w0ZWOtB)V2<0o~$bpB|pp3Ulw&azt+T|ZwVT; z>0fJ}>|k!{Oa6_V9@A@QoQ(#sb;l>+ZUt11T^npRu49@AIEcOZ`gP$9X?w>wHWJKku1TT ztV%X7e*5yXpu0e?Z6Hos-2ZqsM=f) z3{g6o{pkh3>Jp9Qd!sicDYVCh?yl!4nvzA7Ewuaw{GIUJqf^tN)SM4;pJXF#oAIbO z5jk=#8mkSGZ=0&p+qaXX=|r&ry0=;1+9$bYUuMesOOA|f1MaUZ@BOikJOf0|}2X(9(b{w7(O!JN$$|Kh~_A}hcmn1|9(Vyv3uw)VvRkM(P z+T7ovQ)i66LzAp&KlfzTS=)A+sEIyOBaAcD0Km)e+ldne4p%1)w)tv6c&Gk4vpUwc zyTK;~c)Y=)hv+{frVhn0SD$OZJ4Uhi8;zM4kMU6Eq)cXiw0ZI?jl-i}o|ZU9o`A5a zj@o=~(CK<)SQ2?mSrCLU^60D}TF&uh`cS>5>u%$K(~p;_Um1(`Vr;&V6(xt2ap>Uz z3`ZS*l`u?(l&8U=6*;x`OF~j$JcaU>y7Tc z{)Z3O@4oKv=>F?6j`@CymefUM=1mEL9={& zeMNov<%EqZ!imugMTh1?*0yD@ywH~KA98+L+dpRu-$k>zp*?JI4j8p{$HyOkVf?KPi;)0e|=+CF2~ zn=+kg%IbcPkxEvl;e=Yi;2|AOl#BXwjBKUE7z}uvl?pqqKc>E8f)?(Wtp=*te&{w9 z&2bc56Br}GXwDv149wh>RoZy3Dg0>|3|Gn`U;+~<5uzIdF$OJsi~{N8 zlS!MX)btpF&cW*m!PFW9wxS~e)$kRYF)-FM+9E^|9QvwAC=P~Xq9_TI(H8>bJV`fA zM99Y5Zg4Dme9l>KJ_zQdr4Ew+_gHGc7a@W{uA=@meWZ zAMG4xpqAuVUgyjqHgemdE^ZARo`R#ZMU&U+fT}qWrq1JN@YW+P(nloHW)s*=?urlo zxa6oAteiixxg^()RKnnxZ8vnV%@O4(t*BQpnxKKNnz&l>s7mBY64gQayvP((4>g7fi_%iez<;l1L;{>5;s$FEvH79Bu=nZ)!b4tUXVo@h!WgZmb zizr1%Il~+*)A{OzGfq5C(3_W5N>dZ#Pw&E8dUfjQnk-epgU>uXOlfuQSAM9L+`Av= zx%$8~)7cxZD86#MB7r4=I?79qy*=*x3sxe=qZ@FJsL<)mji!Q zc1NiY-L-e>4Q4MZ+x7gwOhRYJp6l4<9LH*=pE~xY>kkkkp7)0a$|i00!4#7 zlv)f=C)u;ij6j>tVhGjpm{BMvj~X?iSTZk>hh~&K@#aO3@~+_sXtZ{QXgocX zDgBrn=ZD1`#~_5IGk6P66{wP7@5kWONXz<-(VCo!tX*sYFdn5=ehj)s+l;@yV%m}6 zJmGb^?>9I~ z4*ifQuPbyXvZGWoV(fLUWtto8jpVHw(^1x7!c_2eo_}8~U6~LPo2BY{R_eT7b!0Yh znjL)_#3-o-}%3>4G;1b5vx(NZ88EIO%?;Cu_eRevS%DpI&J%BoA+8Xbka27Er!`x&BmlHdLT6=)fNHXa5GRZ9%KWvsW}MNN}tX? z4e5|}hqs8_xAlNME*fQ<2w@+QunSXq1qtpuhvUMS&e>>B`FsM-U1>Qb*zz{?!^+YP z9$Yyhr#WYj`&lUdLiolR%o#dqe<^!q@xz9+<)^l-|yKi?EASv?Bb{UTHpoRd? ze2$y_FlQ}Y_VWbk==qSh>EASTO`SXS^{#Zsz zKRoGeTqcN`gt4O3XO45l{zAAEHp6>^G3{(ElLL*3BtX|ck*B$mO_9S2XB}po1w4h$ z!raXQ2A)t8I)gd9V4C2ki$KKj;~;Sc5^y}g`>69o)Ph54$}77$1*!!PcTWvWugTU= z_PXMk(PBV($@c7E+=O12F~r9*qSu>OhG1e3T<=XzoB?=5JM6%ZV^fYIS2)v|$aFbd zvDfwfW<#LKBW^GoeGBe5OIRmBw0)iP;6m5vfe{mMo*;y1MBu^Y)$kRqs90qdu#y(IDXIPszG=8g4irmB%m6 z=Rh~U{c{L6>kso%MDM+bnPg%PZ0JDB3d( z*%_NqRD=M!2nODSJauf4d5W8B?KH5Ij>u#8WEcW3Z74Sm4+fzNKe~_`G83IGZ=C7! ztvOij)J@l-;)}1&amnFyc#54q7fccyUWdYBrYA`cKuUBZb96bNoV;=Dssng<*aIy* zYbZSwRPTv$RUd0Im!!eGa{R=U!1Sz_sk;0fWoTW8t{&h$pg z%$lUft-X3cSEfVg7#m%V9csMZNwJ@_7Rbk)p*DN+AP3;GSMWrnj7m`ZJ`*@{<;vda$#`i_|uHU>F4Ia<3V+3}Zb14#cy$BPFN8jI!&pTZ=L0i3- zLw1_+^p@lGblv@Yk;kSuTP9?7&$k{m<3#GvuFr&GY`yToDc_}p^B&Oew0GIfUPv&7 z`>-?-Gwtd@l}t}&3KY0XF$_uB4*^IR2CtyX12P92f@1&Y6~|yl37gNYZ5T^W`y7gS zRgyE35Vae${^)8DGJQIqtK~ol0cx0%HpR|M6-i>;hOvY*&Q17qvRLbfzvWfK8~CK< z2Y2S`1i2ZToZ6u&I^mx{#vC>9(CCIYJEfu_+BJ~T5LuhSLf{IK(Z=UIk>IKNNE=UE zJ>Ac*JR(xRcw%G&L#%TdW7z7%rJbrPI57QN5k5)EmKIvZ@Y2PI55MINu4TZlg{a$j z(QjvHFW#pB!VQW#F(#%?;a<2ZGiaaSR@sSENI-7TAa49(J~TsV`>yjhD~iZ5c*r}~5L4Wg<%Q8zl`Cp^xPC-3EmXybsk!%G`vG;OLc zRhHsfeI4Ffe*>pH#}Ouv(gvpSvtn5#fb+wT28thR4Mk(&Sxp#y&Cp{E5U}IaRZf5O zWT+YrWY8Y>691E+P_W6+E#d2%@Dta1X`^IydgXXU0waOdXPzyLXXL#kX;0YCFm*k* zdz$n9+bMN#(CC9BJ#w*!Bbw&lOfCO4`~C|OC~oPn-4ujjsD7BHB#4uj)$)ntGC|jGKay#nsf`kZO3rl&gG(3 z*P9x%6$2Z1nsalf=o6h_+RhXoeSD+06xkes4;!2=C(e2*b~<|juBoqw;T_wQ8fo^h zvgflF%cAaA^(gPb^`U*L;&RH^x}h?@Q8??$;+?LjhO_XV-8xNC(xaMd{DhRu<03%T zanUn3GsxCDiHv!v$FB80onv1}5jZ>BlcA}@dtKZ3bY|zOr0AD`1D}Jx;RDu}_lnY` z*BQcRThff((UlI3>D}ajH+7622hkzAF}&cZ4z$wh4?T&j zc2ys(RGT}4Q-KCXDV3d}JndJ_;%=p5+!`g$$-s{ks!LBGkE}n7JeiFnQXNjDX%m_w z{NvyuQ$G;_G~G9{j`>ke!H(n5SsRZsGv#UEVKV$lH#W)(zkVkg$<0&sAf|6|j8sQj z)Ae(st?WkZX=vIopy?CZziW#zwb3{yjRUf#JR#Lyb96Rn$FZJvUHL0|iO*F8e;$6+ zZTd*cNgJ>JvEd3aJmA)>F1e~7zEm$>=1x5z3qP608##~%2h&*#sjI1N*WLgYS)B(Q z3a!*9FSG3QUpfC+mB7uS05^QQ?niYP2>Wq-{c>sY^t&BqKko_q`510b>pYjo_tF|9 z`%!;hKpTwv?Q%dSAN*Ek^7k@|?$_J-Dt}6EsLOj1oV+dVMevQh?)Tp++!!it?2z%- zcpm*UOg4Utn%v9ik8?xSnHtQ|FmBnH2c`~<*N#VREx=Y}+C!aw7C30&(}5fe^C9%X z3+YmCy@r8unl3t3gic(|kuD#tIu+LkkR|{0aDP@PY%?9x&z~s$01^amazc$M zX!DW;!jM~#tJ6TFgUtf#m>$m+>e5y^RUTY<7TyyqVXx>!*9;A2V$(5EGe)6aAc;wt zZzH;?>`Y~LIfls@ZpM9B(Gdcxk)#cKGWs8u{?zd0>m;)-rEB3(o%#w#kVF%yaECpf zdBcpW=$%HNdSkgfom}TKI81+eJr(B$7#27XQ>S64^y)U#Mr0PBrBUd3@S*IcN<`GUqwO zyK{GmtiQGOfOm#wWFtL(gtYnRBeY7)e>}LD5drZU=I6en76p#zt&vq9q(;pLpf z+q7{!n|j;iFl!Q0Hl$8Icnu)BT{rlRWc|k5z12wPn0j6H^)flRO6q^wW2TMCk$lL| zFA6iYJ-5Nc-}D*h@~7`%JYdg1L%)0dV*1EvELadhv%1EtDNxgiJyfj?_C*KBo@NyjWv>TJ`pp#U3+e3#Ev=cg*fB;4-A|VBMRkb zswli2&<~7@1Pw25b(KgMV|+y(K!e3YxReWPY z)fZj#y}nD~v?+1-rKvYig9I^UB?UW9q)L^j39U!sY^=3R4G9s8n7?!#^U+p{q`A6q1}=yfr;at%S>-vX=5K56*$nKbAAJ^5TbZl#5sB z)WcI2-t?2b&Qt#pfpKE6Yn9{^{fP+2^NfMclqHSW&C8;Fvt_;?XUf{hmZgGk3amD-|}1DBz`{e6F>1qP88>p6Z$)U=kJ{I`uu<&9b!p1#J&QQ7iR7=w3IC@KwB%WLLa zh7Ixi*%`;9o=UC7x@aM_H{Uo6A~~$T7u5Q`a$6^4><#2#=_yWt^`_ZA%I88pvW9rZ+dZ6}|7M#A& z)ZctsD7#PB(Rrd>wsN?voEPaH_ay4UpMJGQj&0}XXq#~y)2sRbdt5DJF3G5Wlzjit z(R64YoLW`M=_p+@B5@U1m_ooYooS4$!mQh>AOiyHJkbZsz;SqHEli$5L!eBZ%pEoHOQa9IHB}S8uD% z(5n{lQe%aCykueGGMo5mupwD`xT^Wa^XdpXgMkC{I@FV#yVG3Z9cKxpZ*kB zuTCC{WYE)#Czx)u5qfJ1RX4<`5&=%Tt^1)xmW`5;0m8{>WbU%OkyGW?hNDrm=h*Po z+JGu&;7qY-p5oDntJ8v+Jx<6pzWdXlNk#^>0@6CB?r!zR=mfHkaLrTFNDa2~i79z{ zQ%C)j<8r_N~Tg=X8pBg5({*O#>Lypr$qN%mefD5~h;X>E$ z@O6NZQ`g$s3n3g8@F4XCQkZ&{q`zvzCF{%Z z?#~@6@B6;*JN@rzlBU4^dk$^D*?B{U{5OPKA9*>4?hTbg>*exxUN~0w?%g~5fj{sE z4!`gB{l3G8e&~lD?)P@uZ~TqFaR<3NKMS96I{o+x>ZKPS@ev%jKcpu_bWD4hmaPo44V7 zBQO|_fe624?DO5i7S!L!CeSZtWbWrw*hS!OPKyQW^B_sNrOSL3#j=O?>Wqi@j_z6C zPxOGvZqkS%PTt7(wxYN6F0!+n66?9hz_v(dUE>9Bmhn6+KtV%UduDxBX7X?&y!YEv z%#4EdS~rrzS!`rB54Vb5y(%q7W^9Hjyx9P?eI;gNQ4V4eB_Gp%EUFcp9ri<$Z3?!K z)I~xchc5iHR4M)i4`1-%?ri^A-qh@#U!6{y>KwnMH#En=wA3V;x{9dSJYW|!W9?7l z=OUTjwtzPPeuYRIpF{n}1JU?8((FGK;ax#{d%;@+4Djp@USY7a=~#kg%rLUx2{0!n z;X*y)M*Wmy;9j0AQHTf zYC6!!9M=xxUX4tJiYF>#AaFQ>!7sf24p14()f*1yd6McpceTNKnPSl&Ao2;P zzG}*gZ1GQ)4*g6!>ga}m(YvBvU8Y#nTZGl;E=EQOmqw9{vs0d_Ob*3FqtI{i%$k3Que5VBluZIOt2Cp|+PEvxNtXAuw z4t_b&LfgCVxkpHqJx!5WI7%)S!K&K6g~O2RUPbI}vs#nVul1!vP~JGjUD_?$8>D3F z*w1tGX8QB%fBml?%>U${{F8Aqe(5j$rH6n2@BjUz{lZ`P3lD$z5C7qD#J=zQzVGl~ z{>y*4;^I&L=|6q=1;5}I9DeWb{k^rXsqX8Czy8<%`r$ji<2w$Y@+qHk_#=Phj~ssW zum07CSH0?06V>^&Py4jP*MI%jAAagj{i%n){Fndo;Tym48xKG4=l#6HPx?te>F}-J z`mKkL{^*ZBeE;`<|2Rp1;!pgE!>{^Pzv}SZbI%>V>6^ak@adoa=>vnfh|_QTZNF`% zIsfB-{EtKP-~GFP_eS}>Vtl*6$8nwh^MC%&hfn>~Pdz;U{PS0!Z-~|>fAS|Ee(^8< z#RK;b{=q*O{_yPh-M{;HAIS9g{GQ))_@qzzq{H`o&-V;o^(Uvde(SeB{H&k#vkpJ< zBR?|fU;gD^KIMMNFZm^hKlF$G;Nj=|oS!pt_=a!z#>2b6`@81^e#ndu_}}Zj-ZRJb zMsoayWc+D|@BGg1ntnG3Ui4@6pOw`0@vWP=-xK$H{k>!Q-k!JLPtKO-dV?KY8|<9? z*~@m`FBRGP^i|?h_fPuzlS1?(u>Qi(F*oZx_xqnM{|e_(x~$Ua7*5t>Po3!t~OJ%r&p+m;?Y&--8x#2oTXX2JL9{&b325F2%;$mXp+w#<~~Y;(|V@DE#q zbt9cOABoPnF_kBpHIbh9GVbmbaeCFwJBRb?AW(B71!!maJK62~@oc>q)q5{n={t?) z9v*f5D4Szi&q^$MRTQmiEc!NdO%@FP>{m$@hV!QSR2gftZin}A&e{Z9vYoHXN4V3j z@DFoNJtSRkak{_&pTfql*OMLncq={2511FCIGxGqAx|v@`zV^%OS>IEuS+)euC!p^ zB7N(@>EKGvOA72yO<7JgiqGZCL`P@hC~=S`B9c&4k|SY-{?f=*HbIGMi6mf5IA&Jy zS2kIMppG+Pve-?~j`j3gnQmt-Qsvg?OjaH=LubJ2a3M-=N)8V62%dqP4_=mYqv*^m z7|#RN0p_hSownb?g`Q4a=c^-*F^gyGS|$QhJ=Q|Oh*k#g+DpU-zr%BhXkZIF@Fw@| z7zVpuLeyyHsD&M4DEMf`b4l^$HBSgQ25Wi|l8TI#o~a|eqpK0(+rM?7)006?5_$SH ze)?5smOD2b8fE7xLtRSfHu??22B->fC^-y+wH~01}BS*?B6o}Vx=b#u5YV%$Gn8m zoqjt`OvxO(k(dgP_k_*rUm}?rant8qR#(p8Mfu}&hEx3mu>1zn89VC69vRC0euRp`xOb=dAoVv0N}X ztK4$b%J~1_&}TRWoTJbBtk0VE+a0gBecQL4skC=^hj$of=4-y@YYy-69`A9*)i->@ zH;l8hr*X=D#?SZ}hj0GoZyrZzUmx|^pZ(c~w|SelIsDl_`)8-DXb$I!BV}FK7k}{= zk8|<<@BjXj|7ZTppE)S|WncDXhrjtZ|K>Pm95>}SZXf>PAAb0uANrx0wi7M;xR3j| z!>eEY>cbo3_loiD;%mS5YY*@I&hI=<-v@or2OWO)&;HqmfA-J*+2QZ~y}vgQFGuSO zzwiqW-~HX+J$#Vcw|(2U9sbVW`8!kYKm3RPaQM8>`@FeUZ+tmi|FU29%SP6p`?;Sx zX`*P3w}1Pe(lqAB1@pFtzxLNYJ4g2`53hO6Yo?4knvQ(m_kEvee17Z6{_4o}+vFXk5C3e0G1mA?mtLeVP37Bp+@4jBL{Bo_5BoLp z4$t+-bt_%M-m=CgMQcQOY&V*B)I-2&4o$mIHQuQ)6oJ3rb|VX*u(oR^5FkiOV-BfQonkBQ|7VXTJ=rx1!Swsc3%^jr^Bqy*M_K%E3&)Lbe z{y0|g?2V@}SzQxMRA}h{DdG;!K+Nw>%b3U%@kDwSKuj*>90k^9gg(YALFs(9CD1?? zs?FxI@C7^TTd>El#uNI=J?X0if~EchqRgzR=_VAx^`{BxRlV{RWRRxOh!2CM%`eOx z0X&JmB)r*SJrK^GV?5ig3CtTGV;mE%F*HWCa;WK`jyYj%I_`3gCjL>Gp;^K4a5d=2 zDxBl7Vlzx+wHbQNgnylDoFpuTXK*`re_36{tY)El*`>~t4Veq)&Nm&^2R|`6Yoi(z z1|OqMJkunxGnF%_&}3K_$LlPgz&Wn?BZCnU$Ebl259akn_84f#wFZc4*FyCzwVBjK zrb`2P_CtvuvJ_46Zz5-%In^YpTurm_6WvLv4|F!*urVznZ?e?#KQ$8_8z2N|^@?eI(wed@xmTz6DCwrEwZj zW(>$+$-x7ZmQbkQw2OOA7NF#8td>p+<9K$hACPwvTlDa?@!G|k?f6B%=ogJ6@b~}z z-#`5D5C8DttG?>1#sLzA;y8&YaeV&Ozxr3h!&|(?TNG7!uetu0|MFiR{@5S;V+T`k z|K{KPo5TCO&-+ZohO($u2+^+?VV^CuccKL7Ne{?kF}Ec(aMB7ibobf4gtok*R~+9S>XIBii^c{>7KAK{KiQpBbI| zP3P`sU~EaX#X648)6e!~>Bo6ny3>@^Cmq2I*wOh}<#w2>JVhlMGaDYKEq@-OUX(6t z60Tr&*eB^v%DcMCUpH5};aZN>d5*#D9EI6KDo5iYWhc5N3he>=W{$vo=_I|D&2Pie z^3pxVGt=>S7I0%Jdt+SpM;ngK%L(&_+@rJNE;(V=9^FcZwC=rcBR1y4{rVKl^WkZe zgAzrNOvlk_=^1u9-8@<<2h7?ifdNZEJje-nS(|$+d(1DnUev5jC#t1I<>}(^nqquh zWX&2Uvl(}aZauusHf2Xrg4g56gP_R#?L0hhcF%)&jvW1TJx6U8*Z0{QHU>^pqt;K^ z1>Xw=v|5zrB_np@Rb~LdBv%t#Cf62X?dp6HAZI|hJ#a?F)C$@Ib%?(G#7glH=ZbX zd=p6urwGJeri&VMH=32Lg-v-8=1gtIiBM@&#?hIb)?L?e)w6hH__rw6aLcHT=t{5t zBV)X(L2?Lo-U{ig^VL#g=r}&6(#Rrdb{&uLGH>arH>E_*;WO1U5v8eXI0?Txiav4J z)G6Rq$I8xBQE707zAHEk;##r+YbHzknERfoM^9ZEQ}q%ATGP$z$R29?J2FPeZoA}r z*OSiMIacK}{2YXF_Oy4XNO3j*Yy`Pi zhjFeZQ|AYPaiUEI@mGl{HxaP8r3#piR_TpEqeZkx-TD7zeuZywRgSRgWjmKG$|vY6Jde`y-O$_+7v2 zca2g1nLqPq&i$|XHNWQYc5nA~b8T90KV0vQ*4?{zGx+~v94*e22+&u2#aE2;0_Gz> z@*`jN?Zof=&hOmOHU;*bhj)C(cbw?eX$Ih!rl~_e2Pe$&^qYJ?{ipx*1INU1T=tmX z$vpaFJ=SM@#%IhMhsyuDU-#<{AN;`|JdT?w!)@N=i7kV3m zo-}QX{dthfeu$lj0$s}?c!s7^CO$q8YfD*s%1au(IoDQ2&-p_e>@@SNSa z9o=@XkEV5CGm}J@n7WK7+cun~r+q~FetP#+{X8s+BH2jP&1}Pic3S6A+KVk!$=#tTULH z7$>59#6=k9t$^{A%?Sfrp~}ck2Y~`%+enlYPFNRm&J<_On!KlRMexK?iCeYWprn76EY{Rx{|wrJ?n$w zeIkRg`60z$;i`|Mha7O${Xdd>LNnntq^nFoS=!a;F4oA?Wv<>{Of4y&Vd=Z zM9X?F(VkUi)oby(%9G3NJ{)ZhL+JUd1U-%lgKY}Zv|PltdWH|D3D+AiSb?9;r3w3nlYGxtl>pD!!=JyWRs$pW+xN<2+9)3e_BglG`-vT zWS1uh#a38Nce?O|m|pj)$*7G`KzO zS-+<)#?LGZ=o-wdgH#qj)oJZJ7ThKpedWz{a7;|!IZTB)L`yhbzu`ChhQmMlNB?Nj z-ua#1`S1fj@B>%ZbFuvaW18>7KJ3FLaT6LOsiRNzB_e$`DfKlM9BlE zDaifU7wdECti^h_cYC+PZ~yJTeWDL!W*SmtYIgu%j^7=p=#fa>zy8<%`tXnc@jssF zJW(>+Taby!+so0~@o);CKAx4f!#u0b^1kiczI{MU5B}}H{dqZ!cMk9U-m7iu8ATg^ zB**oCJKVf=^Y9)`KmNf#_@ReC^`|~;bF|io1GkRObGh9oqZc3Y>u~!q`8$lfE#s=( z273&5e67GH)wc)6pAC3)=oIj0OFqiq6Ia2xyDGcm*kPQn@Nb}3X^rR{D{G~E zLg%um4~IiUXY5Ei#kAGg^`cy3V+0Y@nKQ6#(5-l|7R%J!3+V#i2h{gOkbIxd0{XTr z?^8X^Ii$}{a=t<}I+WhEnO4RZ zVC-=(`oGiH6nX~B5XL~CDTy?mcZlk{0aJ$;mksR9F z*`C=|KO1Q3&(xyN4qb+mt+jX9dJB}pNG~ReB5?ZUe2BVwPCzIff8MthO*_tmYx&Q& zNdNW8-Q*&^__ zxMDGcn(!S@zM_>^rwmuL#zR&=Ja?Xjd|i)Yq45dWeR*h7L_Au2sH0=HDToJh5>?RfUn;T*)bf69eto;s3+)WI}fH=%?y;|L!|NPp*m4$MY_qcKir+4II7IC;^T zY1is$-dTNZEay1qp(hV~j8n#tYqyF%3V583_>!cqAq#9;wmQW_(CY;R89i|&LkpvI zzEb9Zx(be*IKvaY38w{`jqOQaZ@uaL`b1d!Kh8-5YvhBrz7!+V#vxTb)_sMqIROq- zwM9=MJz3~7`d?&6DTw}*xoE;BleEJ#{d@W$-s2-!Z9h&btkDGD@E&+F;Z#bQrzw45 z#Jc(ddBw7dROjT>^-v>Td?_oT^0utNn>4Q#Ps=8wwK?o2y9!+sA5XlR1pRr43CVH* zNrwbF*N)sieVUwxmdt+Bj$IfJIGP6o5jEp*bL8d$hKylL;d2%#LQz%qRc`eMV-8x7 zQ<;%{0B@G#z2E!22d`}ktdrW0pZt@5@=TjqTV;AqWa{t!-M>2yjcLN;L!{|DzT-O% zuX)XDW*X1BCxlk`wVGc2 zzz_Vu+19}ujOdH(S@dsB+naiP^;dsQk+^S}Hz42t{ok+kXt!S!4gBbj{;2BuKOO$} zPydX=fBSE*o&MwdeNT?nUuIOy<#xXYMPSGII`4LD{dV02a|PyNhuhP)%;Pdw_yfPX zekt6p%dZGf+B>nQ%VFl2hWj1%>GM_D0ouxK*8_|9#&6@weoGdKd+E$F77vPaYom`V zk}dFdAqS|)N#pckupVx26ghd6LvgK$)#EnlJbiGt2-#VVLdqj}I%o7qksoi-ou_v> zQr2-91Mm;E8Gu<++#%QW|os$3~G#G=?Sys12 zAHTuY_>Ot=ApFYCLTN@F55Y_wIx{=tfa#PVr~a768izzj3U>sVqFL04IR5J-rb%aO z0(2FtP8>4Wz|TB*ILBzq&k$b87A^QU8G^T_%bSI(t_B-pI~5>+>8v7t7#&68a_}zt zlU0JngZ{C*)7bG0Pt}@Rbm353XY}MCQ$)~{4PLklb2Q-BqRC2t>7TZbwP3R=cQHG;kR-rF}+Kg>gylcVjWSbZk|LrzT~DKao}bzwr&hU zZLB`AGVK`(Ob*R`ET}k`^>PBf)ia(AsRTQr>Np;!IQ%p1hi2vU3FBm@c?WsuH9+-M zM|b4FQFA@c`c{V-dnKn&CU3p%+I@H%^7Y@nuJZriKdhUgw7#rG=f{WjMb<)zDp~(z z9o8THqknX^La+e-=l}elKaSL1hLa{=WN44rhz@Pw-_G3Tx@VeK%?(h%);Xj-yO?zOO+JnRTGV7z1e^dC~NDd8j ze*f?P{d>~ETa17H&;R+ke>qwJ>S(AJH`IYYy-FuJ79VukW9z+Hd`>|MS3p&gXpYOs#(8NBpU||G)q1e?5HS zCwy|(`q!R#he=Vma z@1eY$!|>cI!nMBkSTw5pDo{n5mYlJi6>80xslLZKqdr^os96uT+DwnxjH)%Zh`zj0 zAIxOnogE&vaQ{*3-?gJp z@m&{@>qzcZF|VzR-|byvY8qMuHrCLXVxCx)a3A*SUF zFyc{+{?6;JbWt+(@2zc{Rgv!$;f+rCf z)j6W*PkH$8M$Sl1#e=!lg3YuX29vqEg`>7Kola*MdI9(oYszCJ0Leh2k zreEnp73DN z^8fc?4VH+_vE%T@cv1(8#W@jAI~i}Rtb97dLn69QA8^}XmGkv1o_;j^g0( zf8yw(26Yjwv}kQ+$_nXONNvo{it`rB_okq&cJjSu`V2+O1E?qKhfQtSGQpA&Z+z22 zy~uZXA-!WU`Td+4dgY?)=i~E1Gaj5Ydudky06+jqL_t(3OGmuPH!pid+IRb&Z@Th4 zrDe)8jN?Q-q$B&?XzkTWFF$a~?sk7O-D54V2TwR6zpmq(zCKUEUT=DEY-r5Nhx78` zgQoKOAar#%J0o&s!FkFx=Q6#REN+g?h|lUedx`bXaxo98Bw2kkSkF}{GP@bQi|S;N z{LG&55!koVE_>}pQk3H!>vq)YQT$Fa1O zCif||z3O>se5ISQdtYAm>-8z*x5{bsK>mURVryJEMmzrrJWHRi7^s+ib@!p$Z*BQX zcx0lb7InUj*Xj4cs>9_h((0mnb+2oUtnkfvcbA7-ol`)R&~luDs}nM_vuviiQiK7G zBNVo9bM?rxya-ODjCD+gu!83l^{0Gt>|B~?21aM`c7o)vcw+J{pEipbFE zBA%wK0a6>zb_{W#Ld&_}8kNV_<$+cAYw;|ig!4jDcSc22$)6wF+vK+zwPe^(A3YRvXw^!9LyxLP~ zXmH3$6~-1;wvnJd7>f8?ePW!f%8Ce@@;0Dm2Dm!f>`$3tFTxXH!kIBM<2S_dH~3K8 z*$zfuSPu-1vl%FOt-k6X4U1%Z-k6X&o@V`Iopsb~_ZEsu*VgLn`hSGuSq{h>$!gjg$i|u^ePbSHqBbd1~-XuROZ%^M~l-+T@Ed0|n^xYu>p^F(S zrLOB8=Zo%l96($j-M@&otUYf#U)?KvbX=t`%7)^34_o$w^iXrJKu7+|=%WT~YmFWr z-m=J+sjSl!=1B{~Ia*`e!Zka~Ke*QrP9L{s$?}$)>A5lCMY@=RJNErl+z+sByz53?uY#DFvp=rCuV~btJcIO$b?@Cr_ z57g}GY1d&2WA)3~^e{{A_j@=^RgZ4H;ltI*{DttZ&+3FPybpr)jmg=ip)$|)Q2V-+ z^{pE4w1`(V&QW9$*0ii%(4J%4lX-=wx;5CEu2T2Wto5bRs_2S{B>eG8YNCW>u9IQm zh0b&$qey}Tqt!e3iR>8X$lDY%B@yn)jVR}YfIOX#@f=)?RpqJ(J{V`BW&kHD#Om~a z-Uz7S*$tjAgUNxrh{xHlBbs1%I{v}sDL`+UZ~q0$VZ$4|aL#&`=>@CPsmnxw5^lM{ zWVqv*Oz${@LVUysVJg)aPDUF zO7-qqDvWX2vDy<}_`N3V$*9Jzk2H94C<#C*G^~~P8HVN9MJIkA8CVUXh}0Gh=m0ed z7>Y^P#TWegB0jZ&L85Nngdro&&}ncri*7ajjeDUdG8UppG6xUt(a@$P%*z5`<3k;V zybD;*`nM2_V>)l;Cg52ErqJ+#Cyf$MPVriDq2o1fu9@#kSzT7g$qk6}<{@MsCu?0^ z&P_ZHPW4Fu`rbq;5`sY-TQeRI(ub#ABevYVm4Cg(m}KU`q?EWBrXsDK)}3(oObdjk zrmjs=UezbPIelZMMU9*IT++f;fUg`sjwG=6i@i!u?my;ZKDPC2?>c*G8E@b6E#G?h zzBX`u(~ocsI)9$vU6(Y6^ zHPJ>@hqK#7wxa0)o(_E^;txZxrphcvA7>@r*aY8Mylk5AQBk7DMUgz%a_Vf|aD!); zow=}=@O=7uT(|V%Wqjm)l^3`1aH}$r znYCzmw>yBX8tA^W_<7hAUD|D8P=Ps}p zd@@~i0>R5uw10MzoruNIRwsOxQ$5P)8iM}14u)sQIdq^m9kn_<*$1ra7+^>zy210W z{#Vmw!&`qyM7xk7Qk@LV-2jfmIW)?wqmILhD4Lt&I);3B*ygH$S+%=aD>1cz-LD1<9A&XQu48D6T` zIO_4KU(JTF!JU>rP8g@MqVu+2^;CYQ0S1{t121PH2J6JutmzZ8`^nHLyZTO(=v>og z276-Ax1y7fJF89Y+x09w-3NrRK!)WTWI!FGJSH7KLwY$!WE(GDqt*?Hl7dq=ypGcr zAI89pk8q3wUp*I>oFMd4Zt*IW@mPDXt#-oCJOowid8in^Ybn6sJCD=fg)ubKpMwbV z@mt!2+=)!ph0-{I^_zLSr#?3{gMDJS2K6g{ew<6-o4)Cr+sfiwRxRs>^^j-Ocu(8T z#=#Zbp0^d7ygHiWX}BG9KO4jF4BS)jd)m`@j&QENx{!^I*vsta;Sv5p;!lU0Rc773 zDfa`p{=5kHQ97K1wy~N%qMva=ZojFz4bdCuQ!l0~6(LO6o!I9(M0H4o`Ac zz?yw(sdf82rCXYA6BS~n=;v9lWgL$VDZ)eVa&Dq25OGn2+~V}x;TG|-&dPf@0wmGIX~$6L0kDqBUXn?c>vb(J@w96?jmYfbMNRvlvrR(bp9kYI zZQmeBa=oaMX-%_An!psEEh%m#J2dA_|K#mM*7myMQ*b_SH;p)fi&ny)z|3 z*_m$VJeb-VMJ`WMG{U?shhXq)O%9qd7@ZYl z2$#XN8M-jldYh6DFWzQqV^|InuN&+{7o_u$>j?N?MtqnWo+t7XOky5>*TQt2zQm51 zwv4ysNIS2>Mt{gV)$y7>wC2BpvK{jeJ)-9lc))^|N(E&&$Hzc|?9`L;E zehx~Vly^L()tg{fg`&Lp*m>tt)+J-H7SLY!n9jx+cU}2$^h%$4%8TkunJKqf|JnF5 zUN{xp6m33{K^{T%BZFx(?WnQBr~c|WQ<@`mdDTbVkwzyxrc%Li0@nUa`b0;(5kgSY zX)VN@E*swyajQPlpI{2F>1cK1U{VCDQImBKDe|WMz@=0;l|(gl506ke0Yq+OG!GVJ z3#k9&OS;ET_fI-SIFgZmHxD5j-`ZrRoZW{&^mHE7(5ZHNn@m)%6pHYo`o(#*0TP{g zeYd;mJBxo37$<5Njb?eL_3?8X&`qp7yLV$8cNz75JX#JOiW- zca>RM*Zb|9{Q-BJE^RV9ZRb+f^>KRRa&GF z_cSyI-x* zp`7!T-hLq?Z+Q*f_AuRSIxrujLEipSDdv-l9E~;T+eKZ(rcF6>)NDFStKKjAULcHW znnmL#h0`Ll?ZoSI0-u{;N%||J zK6%A?>$Q5Yj)!@1Ec$!{(XM&$&)8Z8M5m{54-b7fF@xb@QxHWY&fA&1&sj;7ov~a- zq>KJ<^Nfj%30^!3k;VM%qNw1*gv~C;cn)ij)7GoMv;M;$gN?L9CC70fC28wFv4kAq z3Ws-A_z4Kd77pTBMSX8-pP>DhZ#>S>m`A1W0Hf)YoExQLc=4uj3k1M z_XIjG4v-4?=o_%6aL190hb4g!Ox=Sk0rgFokzSF+<%9-brzI!2)zuS9UJRzE$qioo zav6qR@@CG_je{9jRdeX-QFDR)=oT#NHr#4GFmSBAdE(H(LChO4uH8-wS-GuV{nIqc z#b7>QwQ&yKcN4wsd9!{)ZVs}Z^+@%TxTy|dDGRRY59BrSE7lAt=k;eEzY>CjD|+V}yZ z9%8>_H&n3GZ}FE>n!d7#cq4KAF}!QnWF$g3{iQtokORSz-N=RvDh@a0{mSv@ zyObM;rt&`J;=y#b3uqvUSoxl?eX;IxutEmr(kE*AXRyu#U;6s2HC+<{N*{S-zn%kQ zT5-*E&{d83;2t(TXd`b?uhYDt2gZJ7eE8YU^jgCAj;*)yvE^nZ$3gPq&%K_#l z(pD8@YC7;nig_Yp$=9|<(0XL9LPh3^tL5DK{E=V_eafKcz1Ak@ z>jm6>M=$pk)GAX0a10!#M8+{naFo48wBCf6K2ts;&j@i~c%AD>o1#`a#B~6MXnBpC zj5PT&C^1Qj>yb04io19FP%e@Q7BV~Q@-<}p`(->4re?r1I~ysEQtqF zmF5zZwCctX;;?e@J)6Lx6DU(PQ$f`|QiF4Z6rMGBOV=wxz%%BUFw7$%Obuh`RknJ< zz!1jy@Pd^wUh1&0k34i+Q*a@x%&JG(W3XrFV1^9*?`)r{>9`2FA}?M`#PHJ9)C)>n zm|Gsq@ub6Xl!w;_f~W_I9KQM5d-Yq6VtCLk&+D{!8>OY*4L(^0Edr|_X#rF!S4DUJ za5QNZP?u?gkr@ZE;^d?^hnGV)^6ff-P5Y?Ls=C&}wo1iuyaTHVm*ZcXpd^Z<4?QTl zMhT5`piK2MqCEv^OU6>o) ziMGuiSP>E_BuiCAS3NjqiIKF_Fs{qj{^d^_VMdwBuZM7|yZ7WaQOa^+W$HCgks&7! zvP5SP4K3-b&a?Kcd~F@UL<|>hwOnZ(oWv#m&OeR&yP0=Os9E9rH<2& zua7~u^f?`0AHiG|t&d;9?XXvw6>vQxq)XTRUX*=wv*#nTT`xVom8-vA-A_KeTOOUT zUmu^r4eW;V3U0rDivCOTkMQoeu3#4J(P4&Q3XoIuT#Dd9pPF&cn%QL2w+_c9H|~sA zw%PvavnLkYD-snc0dZ4V9+)n|b=Ful6*vw=IE~?@^F~$7Ix4o%68QC2ILGT+Z_PEe zm!0&_+kSL|ZE8jb*`pzz=p}Z*CvDJp$eC*@;W~$}dC6H%h7YEJQ3tEBxV}2k7d`H(;Nv zFDAp&w$<>>L!T>R*G)5~F2}FA(_Un^stJGOyq6d*^04eBcAoLL0ddE5Vaid$gjuX? z?@G(ihH$`^vY#kH0FxI|N_pm6$7+Ji#K!c5E6baywFpVmXc|kuV_xhX!c&gDF-9Ai z>b^P|M`*4i!nv4^SIsziDmYK~mDQ{JoPe7Vz*iyN*RMM$gVRqa~1s> zM5=Q7$r#P}zg{>K>k};sLI*kRBc3Wg@am+oN?&rqSifX5kqPX3-0FYWb| zM)osx8^#GqxA1g|tABixtu}!NKTl-Gd8Bko?^sT`{-kFFkBuqUS%1`JaUD&(LvKrz zdHG}d;TVb4>pk%< z84c^4OL<$FS#J=5iPUYBUOD|(mw>i^x#KAR=<>xSp3d0skI%=~1|1CkZ0XYnH>`6_ zOLWY2FvsvOfj!2t_1PUSg|c7oxOTi(cy^fWyu&%uXUFBQ%51#7B!7dSvd87&c1YXO zH(U+z#-zxJVcVEAg_p)+JMCodyLuOm#jc7RwGyeZJP*m~UyIfaZBK!-Fgt!Ob3z_; zkCZuvyZ!E^bbMTzwwkEV#-AP7>1OMjEiAv?hmY@ezMrGB96b2&mu|4P7Ni`8bdAs5 z+$uP8w%O;0smJs9e2yKVis&jHU`5W$+t+{DCoJVPyR+Y`Zr8$VsSAh5K3Udp1yO$f zNPM4U53lD8sip<{_k0ehYg2WzN+n=3KEe(@96i25x^X@!1g<>$YmNR5_f6j@jCT$u z9e>dqo7Snp#j&e`$)jIq57>0&{gQ9-_&9u=Jvw-%cXReiZ!$Y?w|%v+2-PC^A{I;ldu?)8dzr4$SC4e`6Eth@-s73B;zFh>OwIxZ~lce7AFiF)@Tgk zjAGqo5e{u>%JpLirQ2R0xeP6xpB455vFcO}tKaN%1bITbXce4&Pu5~=@>n>RF$v-i=4-#4tf9Dl(Ysd+21`#F@Up$A_$VO8Jjy|Ix$oeZQ&jpymn>VZ!U!Ho7V znFB#%(rcF`vl9IepY1pnmSDQ~q60xpm{u{&;|0#H^$Q(PGDl@1lU?J}Z(6u^9w#BW z4W7=Ywe!uwwM4n|5M517{mvGJt0WR>Ike zr7*WP2&br;ihvAJzi|5-E9Uz-%xHq3Jmh-GWY)(eFl)bT1~_~fFWScwRCq7bT>9<}M{A`pds~e(Fqcy#im=n-c z;G+h;=+lh%%HC*t@^Mbf?Ao63O?nd<^0pux7Z&7OfPel%PK(*DoRVy@NRWLR@3esZ zVUCftWfQ&Ph@~tZ1U)ajH5F-Ly>BOaAoY-VKPBU>N!vR--$L_O6&<>fj%OR`C-&BE z_x6f>%dWHw3PI0crV&{W+Bc86e@hdo{)*3Sr|Ff{W zo~ci`qsIrD08E>hI(jIk?8}Mqd6TciQS1zG2YowF$(_f5@J8x8k)4int?v*KK>jT7 zrO@jj6G7ROxm@hQvpL<4xjta%IQ;$o&uBYg3o!K0%FGmggQ zgn%+Q7f*2=u2~qpalw1kj)`G8Kc(+=*7!mX` zfX2(@&+T>%$5lCLc-ivy^f_2SIVaI77%`fzHo0YSd3xH$r>6QYioTU{xPz~p zOY6*R0Zf0raPNg26sxV$Q`v^c`2;p(y&XQEB;p{A)e6sit2jB*WJ;J>xojPW!}f>^x_Za)|=h4E;a^I#UmqumK*K;g-72@v}-?4MZkmh zCPOys_3hTL1+?WisJxkm3yFO%>}Rpo zKt&MuHTu4I*4di@aG3I#h)058F8rSbY6yvTBoJ&d9LoieR9UpcyZeDM=$!4a=DiXvr5@(1} zB%Sfh%YkEPg>xb?81kgiJz`^Y1DI_of*t3lLKY)}Sbz7r)ogVvMe%(RPYV^uWh%!R z+&ZSGmMggr-OVZ5+H|5m(Nuqfi<8pdk!L7y7k^v(SEfEUbhY)!QQcYQGU`h;*^fBvHF@9*B4t=@jL`J7Omn^uy;LvNejTmf_FpCl!d5 zs2dR@`0gt+GVZKmd}+IR z=$L*9A{e;bqt)3IF8t#}mamU-X2xlx9F3XSo~h!-o;DFBy%9_(!V6gk+{gH@%D}VbtJ|u?OX07|?=Y*}K9oE_-F9IC+V zRQ@Q3!h>UW{ctBeWBSR~1ssx#^tEXCS=T*fx6UaCAUvl%ls#-4fpfOPK#wPS=Vp;3 z%VOrC+WMx5U&~ps@Sc<9O9yAoI`~A5y|dUj?i79gLU_H&?W4=|M2LI%OXkVh)&@7i za~96awm!H>PjT`d6`&xqi^pyI5Dr^KJZh8F2iZ`|FlNK?2RUi!Id2TbUy9g0{6>4 zE5&I%X{XiK_D107@(96yKbjAUhM{d9fv#q2ebHn306(X?+N9NYC$C)wRXgZ^@Lf-y zE&s}PXgeR54u|?D)_ax&^)Ee}=NF=?H^R^nAn>{($f-K3s+CHcHA3>r(J-XK)vyL? zj5G=wJ7chn%wXu2an|URcrZgAEyD6k;H3|PU3gt}oIpKrc#FT#LR}%2y2jdQMtcPA zTt34-RZUO}wEHd+$%H7?8N@nD2NZ7;)xo;^^}nf_#6R`Xff8ngurzDPx}Ryw;6*f6 z!-rt_f&do-6u-$M7_=Rv#yX3@O(cSh%Ni~h$nasopE+M0my?;K#;;h?XN-qjs2YS< zd>dK{EZP&P93CqhO-}+7y)sbab({h++2+=#9d#r;cF1>3`%Im}QK!}+B`#yW2FMU@ zq;fKsa}mv8Jr&IqWbHc9AW;-`sr>)L-km^ywp|6C|5eq${{O0aFN0(t1OiDXv?3xc ztu0d^%%czxK_HQU0-+lWEE&=gB#jBMM4&}iGejT_0^JN^tGG~wVdEl|Tqs=P99U(~g@n141*;UN0O_ zDAdyr%VQpY^tUo=9bEuC{?T0&;vY2H(C$Y))jDlXPVzf1K@J%+^|_~C^puWypiyoX z$d)&9R9$T)Doj9T3O7E`sqHyxT?`y2X{Phjoqcudp(c8Xd5Xi`pX$kFBCORjx)Jqc z;3;_8Igp2s|367!lMw#yVY?#g&A&xNbNEV&c03I$A@}na88L# z7wM2Qo!AO#O2?D8erU>sc?Q~Q3Q|jxHzVqmY5qJM!uNri9+6TT!R}L`yU>jx2E!M z-q!4Lst#tGg2T=5pbkPG!7W)$_>*G+XY^uZzB5@{X&6q{hyjvdZUp0UoX-f*I@a*1 zbE2FT<3x_01UKut;(g)hOh)7~bPUZazH$p-7dzUjmqZKxUjDZ-i>gan$!Zt)Hj_ zUT7woSv}-k>KHJKYtgVALw!xie930If8{HJqLJ~sNai7AAkaH)Fnwyl2Kr_{d}r^y z-s`>Q1Ia#c?AwYy)a?2X`rrh65O}ap>pWC_Z~yjhfBbnGaKHC^zc;l0{LlaVUB8ET zH(Y=B@BZESbkE=T8-L?&*?)j(r*AODF5sfT8q zJRao!IN3#ibAM|0;=lRDGp0QM3%_Ld%#Zlc-DmxGpT2wMUwGE;4fEL^KqY%`WmNVUXpei6?{a+%r`W#E#lRhSw)_(?bGg5Nqq0-skh1?L zp(+;72Q3L%Unnu?TbET{1Ie|)f`<*`LHEHLzouxs_K-D zH~SII?&H(I(H_kFt5L@R2xrZ^>Q^>pm}xt#jTaE=cvT-oClC&$pTrdn;j!D>NH}>> zipr6nU&=r0#k!uUO!5qkg@yASmFmMC2Tvtr8N)r@tOyTUI7+jAOx*zq&yvYnyHhoU z*Y9$MMsm|;pmjnH7O&6u5M5K~0BUEgwD|H0G7``L))c2{#xAAWZ-h>iu6vT{ z38W{JoS0-IiaTWc@3$ghuYfkj%W568j#IOM=X!WmU;Rb0c2#tE;yq4zizzdXUHj9H znxuw)4I&2_xfJH6BHtG?>1T9A7<-}}S!d%VYc?B4JF-f#CgpYu5n`3=DT z6q-KbBR*pAe$2;w%0SLXhq z{wd=l(*HS*XFl^Ir%V{?nklDh+@SiRk!`TsGG3CdB zuo<@P7>vWGTZGQpIMX8a7B!6%HsitAj>ZlSN7l)f1?Mv~-u-I^&ok)Q(#w70&?0l6 z0K11!n#^2vTj6CVH6Igykh3CIM;k8(&}cay!`7W zyvx-OzcBn7YAfDSE^bi^=C z*@*z+y@uy3k&|N_%VBs)9=%F!awKymW6GB<1iaR)RcDpVTB6dXEz_g5HZPrvS5`I#RApW(Cd;Y5d%G8>{bi;f+I%Q1Upqw$ z`OTY^9*wKR+J)m|WL!z@7@U_D2yowuL&G?8BfzBtdmr@}#hdfuGd|-p#>x7IZ}^7Y zGoSg)`TNly{n4H1(fhvd`#zv*jaDZCW&NMcI_SaPMxiz_wT{#q$i^lQ{YQBtwt+Zc z<0HqKX3IeivP(V#;{(g{qF4E}-?(*{J+Zj_^!du>2yl)L!ikonoDF!!MrYrRU+mIB z!#+D#ff;8lbMWYBNsEY%1^6CfeU$qA!G&1_E-EFkaC#h+ct#`pG(#b~C`gjkjAzog zpUp9Fgxg+SSJqU=j3EhZ0xH-0oDX|$b5}1B*#GNR>&uL9v5+&C!&dlfK9U`2rv3=l zzFm1g(>8nzp_+sEGxd4Y+A=|wEAc<{CeQhF4;_u3OHo&hEeEiCegvMI#U2C#brvL{jvXKu*YqX@*~;Dm#( zCCwVAslaAU!j+;8<&Qw*hl?X=&^J$=I*;-h%9I_aFgWY35^l24mi_CPx993~^KHp+ zaJXjlM~^xNsB5v-=tSSN9aNqK!m~Lk(i2;?ufZIhYbtah@sb0b4$;85;)EPe>7gx| zXdq6YDAhQF!NE&!$dBLWy3=(0;X$K<>$LGUPF6U^iHjHPj8n*Q=*f*ffrlH_426-FhOq-9$EqaENoAI$Us!Go*x;q#i!bRs%n0f2M&EUpWq&H+gJ^*F#(XlXsmpti!{N9?8^0 zHHmvU+jJ!Z66_hTd}rJgM=o~`*Z$XF)vsMUN1wJIpDIQ;*P}nR4ILvZk!8-Qeu&RF zpXluDXBPU2&X%Sj#yJm9rMs`LA;6{UH_vg;J@@S1@g3iB_iz5qzuA4;w|(1jC13vK zU%vb1Z~o@pyS&T0?0)K}erosk{@&l){kwnn?{@F-4)3u0tv+)6$)EhmJCUi6{n(G) zJ?TkL+Wqn`|MKn|zwsM)KlWokHaO&c;wOIM?g>wL!tS?!`?qK641VdK{^_4SFyO!c z`@etp)nEP94~grTs5>sm#gyTTUi6~fqaXd~q4kMReB$mkuX)YxX-|9F?lV90Gk5R& z&hNZ?-RoXA_5A(6|M!n&`S`~_e)lzB^EJCa`6vJ6(Dyyx^F6!o_>S+G8u0zYKm5bH zZ~CThn)?s^&=1{x>Zg9{j&mn+_DP@gNki{r9`l&p&-~2K3{G`?$(MY|2?{CC0}l_z zKk_3#y8HEC|MeWhM^EOnp7n{l5B}f}-aYHte`)S7T)43N)^GXd-T(BpU%&fT|LT9= z{f}S$l@kf)NIvap|HbbA{=a{3_f=p0HM{@ghki8pQ@c<6gpb>O^hf=<-O%!~pW8kD z@sEq&-`!MaPXJm@@1FM5C+|Mqmj*2i{s^5Bh(0BVpW-MIy;N@*Lj@PXsR`(nn^&P^? zGthHL?90Ul+2VjbnQ(HSm^Km%9+ly z4TLe>&iLnx@LjyWZ6_|Y^+RJ-pHLioWy+EbV)x9d9iD5CHz@8J^@lBHk~FTt(~Iwqm%|;(hCJFQ1FPwyv;N z>q=#fN5(o2wxOK};Ou>wIPN`rzH#pAe3nSAtuoBeT;b6 zCQ$9LDbF}3o2`v#O7GTS>&U!^tBNW#q2d~d5R_M$!PPN4RE(f26Z{OGHOSgq%AmI3 z4DQO$bX1OwaSanACh5e**Xca44JPwBfMDk6tdRz?dK@#26Vh>-#_Li?cv50vQ%?*0 z^(7OH)j@F$RPq|sZW!EZ98sA~Ho)*7z;aUea*|J>4A2zK5JzqXX}INU$cdWdagY&b zbEe8bgvZB3hu8j_7veMxUEw7^oq+B$`0x#_G=sJo?K?!D#$#7^<+_==xSt^mcD4Or zR;L<(^)rrEV2jsPZt=9rj3Vu6_w7TXUbL(-nw`9*rBrI{$RX(eM5j0gUH33BvY18R zrI^l^z9M;~AN;-@yByifQ&&9U6@E^~tZVDqlqm3NYn5rC1O-No>+?OK5zekd&2w6~ z;GvZ2{kb&np4mUvwhR~5sSvJ7t-4Lam{+B5{&tFEJgj63W>gC6AfBN0?{doN4^2gOMv0jR|?8p;6`uY_%1tqdA!qi#{@n9gO^`ZOE!E z0?>9GKW$G}z)mEYa&;`6bNL7UPt?lsumAPGp7Zwa^{;>Z?$7`EKfn9pFaF}4NXlEh z#arzD%%Ax)yMOvm|LN|fFMa9mz2E!2cYp1#{k7fi{Lb&}zV>UscA_LNdeMt^PkG8y zc29otlP8aZ#X;j(eA=gd+U}44@jpI}(NF&5Pfj)PeBbwd-$UZs=y|BKw)o!f{oVoL z2y(i<;w!#l_jYghb~8n1z1g##^{m||e8MLjqj{URd7Gj6>%Q*mcE9-EO_OXvWh81PQKO6CpANi5vaQ)h^{n}1hZ;}0}KlP_}Z~2yQc?^H@LWG(l z`abXTKD$5n=RUlM)?eSf^;^I7?gxJ0Uk(@t=`oLai{m2dQa2tPkA3W8lKX$Xd&MjM z{qCjz^S4dfr~c(np7RHP(EIN`?NdK__v^p$Tf47&$v5rJ*G^A-tGAlGv}S)^r$;~f zQM<4BvKQ{&?rop6d&x_`ZTGW3_w&1Fef-DlKK|p@H0%Sw(^2J@-YqN;RuPVKITAyY2f7Aw zW2)sarurOevZz=HJ4?Zp+P(S0T7%Qt8*c73t8`nKrzLvdQ&fJ+oNA}aYo_uc>Wy>J;8_oF5{vIZa zgZP}SlA`f`Jk<_kBhj&i?=M>6TG`}wrhavp6DnGGIoTOY?r+1>89(6YEz3*sezqBl z>*d)7!W*K8)q8oOJc$LB+FsbtsFL~Zhw#u?^BH{BO@JzyCOHZ)^!A=A3E(BJN9|y)m#fM-Qjilk z1|a&DjFhZ%CT9-dni?aYm5UkWl}=*uZ!w`ZNu8=^_DcbaF8??Tq?UZ(N)1K=Fz+iOr*zS=9LNj=S*8C&XSy@a7l0utTJRFj{f;r6sagE? zHw#BAGlz!k80mCrEXZLf`tW-#TDl`lVkw=db_zub&0;oGB5VKl^9@?C!h2`@464@h|?x zjDMRYwiZeoSqJu%r#xjGE73EKny3+n^|@VKkzteck$xI-RFMp=g#8vfAUZM$?iM9^E-D>fBMsNfPUa1t9sA( ze9wt$eg5Zv{_y>e|M5TGeb;w=*Bxc{dQ$4QJjI$wKg3)>VO(vQ6Xcr@D)7!S?(oXsY2 zEYNU}H#LuoIV_?(XR}8K^=l~RK`^JtG~wx-hZ`KA3}fy{k*#cGPK<~BtCzgn$VQ#o zJ+d+4YS9{Ny?oElV*K+(sjlT*92oPo$BdVvRTvA$`Lj7pYwZ%wk1}Fc_ysvY-rzfE z&6dLhsxh>xyUu2Z2koJVZa#u=OnBq#l677MTFyl`yL%(&&scsGZzJ}cP3yOgVpMeP zp!=hoR2#dFeOCv>-Vn?$;k-!?WhR})OAc*4!Fe_AoGIF9xBY8H%e*La9<7ZtXz}px zgW4i^1m^+$bm6(H%}$&zly|YlG?ja^x=h!m!Jhl8u$vVnAQsm+UW0ykm!<7A(=rB( z^0VU^ca*o3klx^Xss`PS z#d8`^9m0qBnW$0tIP}9hxc+A0dFi};qU4OODb#3|9`JChk`B)63cr$34Kys2M<&5& zp%D?ex-UO6>O7pD0UJJ*6V>6Ij2z%r0k~u`Z-ow~2n)f4PZN%*TLbF`qr-~OM9Fmi z(G3;xR8r2Wu6(4RZ+_4e5Bqv&tx?x&uwEU>z%Sj8!lN5Q+@esc)*A7XQ3&ru(5h%Y zEi}TdJOvtk3wLyo9_Lh=gO82&Y5Y0u9kR;%1cbWj0$uTxqeiIb-^N!wa+)~PtIfji zi1u1<=t>EvPI8c}h1N7(33N#j^#?Gr3}&`Pk(gA5#yYJ>$|08=<6FDJXYZTH=^%%m zlrl~tmaCrV@*`h?@@HSIJauh8Z!@Y!D-DjlWYHrzA?bq<434f(Wh6Lyt8Kv4X2Fw_ zC+2BKOkwEFc)aqJuN>^6EN|-AoEdNy%R5A~P9CC2B0^vEMPD>ik|*;Xp3T@!002M$ zNklWMrZ z13bvZ;~w|8nL6Fx#^kV>N`0_{1FDZc>sikp9enI#AGdqn^ZsgdefsWYFZQ6z?UUYS_sUoO+BjMA-|&X}cCY#My~8} zzqEVqU-_iD_V3A)4sL@@&rg=Ek4)Yq?qN32DRVL(=>ERTJ)#GuDYGhg@brNh1paj> zvp>7rm)9%TaR<#MPLJJZv*-HhxgJpMFL|q|&pgc6zo)Oa_m$7YobOXF#>s1auEzMv z8Jnlw%HL>!_lCP&%8k2hh6ueWI_sirjlgCcRp&K^HawP_U#$NgaPZJzpCe4QiL z;oz9ex|hnSW;sgXiRp3fDl?K%N!JF)!GU%IN&@1|I}9d($(^H7*5ao$^S{d}1i9d# zMj?JiHqks;r9(1rRFXl7nkVYJiDqC5Mer@kNQq-ywL^b$nrH={lUJn{ZQ-BSX~Rdp z_QtYB#VjDN^h6EAHB(>ZBSvS@$&f}l{SCZpm_OMe$>%je7M%>w4H*L3}&K1e|i?^pNdQnHvrz^kdh{|XBaj`y6 zRP%OcucrrN>x(*oS@CM4L7T;!%%!)b1<4@+)WS1k;6g9@b)+3jDZ_`?!f*(G5`~ zQ;ybcS@&fPlqpG5XMgAK{GB^d%tMpJhr;znh3=9dYWD1BKYMbl**bsz{9KDzSwrP` zs&( z!Y};72J)b1dh9Jr5xu8B{XKWqld+rVC2w0*JnnePl3pxSY0mNWG4k>_Rqyb}{^)ur z$X1*`e-zzsxf20&u-fNOt!47)G0ft-Z7vrKu4=}+re_lu5|vih17y>lJI#oj*N zYM?)r({Q%W&giA=jVQ?tYk#MIpW5Bi+iUk1jh(M=)JMS?z*iGMXQWOH~WN}@#11@kIshIF6%zwGoSft!>!Z3ifG-{<)S%Paws@wS9=5TYy*b% z$yGR!Dq|=6#Q9=}eIm@hTjLDoFy_~kR-CByNmn^0B};bNIKx{g3YOltOGEb1cw)V8=C3r%Ixa-#6}C0nZB2ou*}Ob{*4P6&=P`P& z^`LILmz_Q^#`nXQ8Jldp52v7kwdNrzh*72sPRZEX04hBL%JNv3fQPaEA!tPtf*Vn3 zi$rE*D(P19t}|doH1*O!kVompS?QXBQY7{IyPgpJtihzD2#k-=d+QH;12Gpip~dki zq=qDA(HQzrMgwF*?OKiN%_;RKFoJGicgGPS7VkkT;W4*83a9@LlyFa zANQaI(yr4xX4$-_kARW)a&S!5zPF0qp zfs{cqb-?SuhmPS@-dWTxF{GSQbxxV`DE`R1Yw+qAI^aph#B3ur=@8%(O*o$^+mKDP zPCovEnJ1fcV3Q4XSdM66+~6!=l*S=3eYo_g`>LGr9Y3gw9Jaykx$_eRecHF`aA!S6CeT5|eA^^HRb5q;}C z3o@Y_*(Mit={r+x|B?yOj*F5W*H;%VLLfiwt8qHCETrgOEz^H>P5#1Ff#Bj?k-&x8 zIdGn=v=0f5ev=8=#LF}-n#!L>?K)CM7nB&B;8g)`+Sn!C8v+KGe(UeeeOzsa>~Hy& zZ`nQPInUYs?Z5rEXVExE!_?nXp7NC4OJDlZyOQuDKk_5HcYW7)-M!!iFPQ1JKmDiw z^zOqy{KIE$lqo}p1?LviTR4C6u%O&w&6KrO4~6S)PM)%+9=GX8)0G@0Q-#)y{q#@& z^z5m{(ZZWGW)`#Cze<{ebM~Say=dp{%6EVFcOOUW$AA3CC+}6SdetnVx2{Xn>*GKE z<0sue)1syr)g_X}Aroc4`?22e<7j@!hkVHNg|~nEr|sVNecyN5```ZCpV{4W&xL9C z&-v`Xy8Dr6`PjekF?T_=^dhA?k$0-SxPEf?Ztwcv?EdBpU$FbJuAlz&ci-L9V)_LJ zcImo8KmD^mmrO42KKFUg-F?elghn|07& zd?hE&vYBQEGebEWHYCje8>8%9bDKT| zloZDi3|;l)-1buALEAuJ!qOj(T$(Y>ZVcqRq<2vjq8Y%XvE~skBIP_s`88>2!HvUJ ze!?-|Y1;>40**+Etkeu{tAdi&6F#F~@s3ytwA*ON^lt{fg7TYP4NnYpZ_gq|?kI zK(g|K8MsC0!iQIb(-yt*VgR{QGIh=O{3@{==91LWy+)WVKH`&qHy&$s;IC@;_0+LB zO1%lk@lfS_enA1=QpZHy&^9=cM+G}k>Z>m(mv|Fj30yq#p(V&CP z+N5ADl$ ziLhlntf88STxCraOk`?|#5B#wq|}J(zH+0lLm*zmO5fy<9>X0`-AWsMOkNB_Nh23$ zxg*2!LO3!9;3bxc>ft#&o|@4H=FNS0%g$7kx8JNia)?ZQ*_VCUI6>RA+|r>%jde{N zDT~8R{mHYzskaC@F`O{bF1&DXOigYMmy zwAh_PsBVX-k!=*7_q^xL-dYEDQBHXP@<1pS9y`T4!awm4g%Y;upVooHKlx zUL^x?zxa#4I9p0^^sK-7_HY08o&CVZ;h)kv!0p4nR*vUC{|n}PsXdrp{_1}i3 zKIj9+;d<4per@+Vz5Tcy*Bij-sFyxo``Xv-zVL;AYxlhW_EUDB_u0=~?eg=#wEN1h zdC5}F@KfL8gAr2aB%Ztmu>tPS$1t+)l6Df$mVcbKmAMkEhuF9r z9CpvQa}V0ri38@XIrfvSXq&5fpBA$n%&t z_H&4gBT)J1^nBZ}wN10lMfG~Hw5Qck(X7G8kBMJzXR`fAjYXG>?pfqMJK$HJWg+)9 zwP`a^Ys`IXm{VwT*Q@EOB`ECh8OZDNXQN5;n1Q=CK0(u-@p2{J=dH`80Zp0OasPTR zqRmFA(PTN%d{nwNxY~Gf`SR7i-)NK8@MZ6Nak24jHGDy2jq7NQvEjzsKk{)<4Y=nWhdhhRSRb)4V&`g1=F&A3j&v$vl^bMj`tO9 z);7U`uGv~(2G`ZWIkD)Uo!nt0|B7w9@6UiO&7ZmRoW2o$?XtFE=vLj`kGPUYjWD#W zg^J|5q!K4lm`tkkRGqrp8NdziNX_FKJ+Xii8vn)#tnT3_!gN?PlCMrNj03Gr#|aCm zROx|DCtHyu&P)0cv7>_#o4VB2bv8|uaWP@9Jx6-!TcVu$<9wYVL`%Fn4}U|C`odqu zOYhLPba73w2A|9=xZkEHS41w232vgL`)cVs`JQTl@e;R7 zkE%TSMIy7K)z47Dwe_nmhqua+Regy=%i*h!PhXs=mEpY1joVTNP^=4aVGwA9GnL_Zf((j%z-y=$i3kWZ#Z_OwsIm#?2t83 zcRNhkEk|JW+lRt+xAOlnX>W=K+gos2HV5t`PSbfDBM#Pfa2{=#%CQpxd$)Icw{cE6 zo+5&2%?A3WuLpF&o5r+p=Kc3yTIG)Ox;S|a`{-r*yHDq&-*fMUrXE{!b_^@uO@GH} zuA7SDSoENA|3!5HS#V3=yVj?s-2OZ;;hSSi>#W>X$H2(zIGJ`5&!i8)9_GPd7YuN= zWF70gXk6(F-A2~~!1gyzr+4r44o}(r%kTb%-P?Wi|Il4-NDrGfh8CR>T|aCwyXclL zkl4z>f^#!V?CkWx`s6_ormOp@z?lW|6k3SLgR-p%*tW5cY-rBfVYc~3PO`D&Ozm@j zW5$ID=6IQ^RF`p6|2|*c*TQkw#-Fe2Ta5P}wV=Mm;8&y5tk6MGwre6>m!hajEDq;H z&$kKDoZj5XF=4rkS8V3krtou8LOTx5=s2N;lXG`28_PMol~cqBnv%R!+aE@YZzZ0i z_c>eii-Uhp*H^L)d>7N9zW;co5%g+~q&M{Q+rm@iZESSTT``eRwi5@&`D*@fdB(u`A*gzs9Ch*IN-5J{!OirY$Ep zT6*%X-F&Lh^~eD^Xc9JzHI%ds`0{df4gC)QUt?1a|StWyqfbbkWYMH^Yx@@pHQ3#!ZrxN~Bqou}g zAQO>``L;`(fEXxKogclvM>!ekIo~5yzoIxn@|hia#{MGcxQROy#VJOKXGf zr#APvW1X3hZwbhZz*;35O|MyS$q66_23CioA9QKb>(Es*MPVI+a@-pS7JI+VZL(a&c3Fs)GLTE32^eHr9T;g3g=;JG`#rxY8Xn9ERF5@NcOF0VLq9YT ztmi-f`NvrzXr>e&c+`-0J@)B$WOMee*n<4dy zTO^;&Z?KrCirvXMEvK@7qA|C;4Og~)ez~qaA7swf+9u(AV@|=H)@@yy=+b-v#CTnu z^Nqo#`R?m!@DWW5hG6H>Bnz@TD&l4=x_O0-$Y%8!9iliLjfdH=8_{+%r)vynHtST8 zshQ4We_FS9)bi%d$0CK zZtSMcd*zs6C4>gQSq!%yBq)fYqa8C)P8*k7!R{%J=tJ=_=u?u2P5|a$4Ly`VrRG*S zb)plTm-+B51q)=+(sehf$&7b=LKrFcc%#vQ2)JgOfpCnom%ztyh#mvfjq!qlHTa?+ zeuxs%<3;*|D{P$`vd2iMXIu9Z_0bib@kP;KsCbICC=&-SBIf@3CMy*hxX@$(2JE&TX7Z(Z;QlQ3wC-Ik3*y#wOzca z%fkQx4_6#Nd@nqb(LM&HBx zC&yAP){KpWC&Wq}OG{_Q;H3MG`Ct0!coNyGm#?ajxLmD}^S ze@_A;eWop~53|7DMx~|`AIf2SaB6G!H#(MHjB?P6Ih;>k*TLuZWcmgoP5vEu z$9P=q^Y$=v+T&l>Zwzx>2HXa8*E8Jv@{@l8{ogI0=v4KwF zNx5uL^-*Qmo3;YDb<~)Woe{+nKrnERF|8L~%NaS>fbU`34&zr(T`iiEW0U=w^<9n8 zoZ2%*vTn9U%5oP`NMql8oLV)Zv#I8}B9vE)0-Zm~5h&VZpRFq`g7-qq)$m(FVUai+ zX`3I@dLlsVko};H+3glFPS1_(%|ScL^Nnr6!y2*q_gDNz4xp)2Qcwp1;DcKCv~aufV$y9UnMsoFx6&fA_f zPxcW#SzUbj%YnT#e1)St@;uwPQ{^id)uyZV-MZ1=x$BJ&h)X`TuwfwMo}eaNN!|@2 zdzAGquCp2U)tjh#kd<*rCN*omo`BAE?x3a9L9-28{C2 zx`&@oVgn}!@MfLBkTX+<! z9dDRIQ$CqBx=%^%VR$wU&*FOnX1HgO`{oRU)vt82p9lq{s*IQ$)1Z~BeOyjPio~Jd z_*ne7P{eP!_F5tH(R#Ak^21FU(;mr>VvsjE4Az*Q@O3xjL~l4Yo#r2~uq}o&0xAW^ zkr4HowOP?ql|zqcn$C+SdO~YN(L`=$jnu#`M+4rOnvJem+>Xv<8S+JQ<+R7NO?6CL z(}Bsw_ew)*OpW8dqI6NgfDzHYKI(c~SMemGwhnlQ&zzjmtC2CsIF;dAbq$r>J$(FOkbo^6wuSTmarFEFwcmrGd9d^$PG)}_ z%yxbN;rm3k<{0*_fVWFcKLUO?xYFJzeUJM#hE>-cgt0yASZDp#F*a$-S^&3sntPqo z#Yv#;dgX~C-?Cfh%yz6bNgj$UEjVmUxZYIR&GUyjCq2A2G|aXKEwnx=!g3}XCkDu| zI(@nEGskF_{?ykG@>~uYkA0iaHx7MA&|>eK4g6R3kwg6+HHRL`>g%S%=3y^~!J>Bi zbtyC7`x^sjt7Q>pna#O;+O`nwP@nBG?dSd7duoIGIh5659J069 zVaD_@-Y+LJ)80vSY_-`PPv+N)9{BF#EVC*4biF;w4nzoN9O~gUTCGD`O$GasN7|pI4>pq;-H&a2Bvp+RBGx)rAPLpZ2ak3Ch=v5=y zqr$aFS7XH|6oVnW&f!>tyK4>R99+VgMf$-X6vpIGI4FT9{EAK`9JNuKNsEs1H@vk< zb%TxH6mkNb-Ew$F8H0s&1|d~eNO>YZpx_jnq~*5O78yPqoY zGes(sG8xWiDh`jsk0E|27)2Y(qfL9x(~=H6Q4LOPhzzuZ2x%3dW89Po;4G7b#ps?c z93$&+jKfhqvp%4E#RpC0(R(%rd7Mi4(xHif4p8z$CpajN%dKl_R93u1OR^p(Iegie zK)DDVRV1S1jZsc0y(zm>T9$ma$l!F8XteeWAEJYU;Dii0yKXnV9`xyI6>EU~(M19r z$Gwgc#vB!L*A{TE`Z+J78YBO3C{fYrLu5Sy>NGS~uX54P$(k_#zRJ;^48S;L!4QZi zO0D z$e9pExNx(NG*Sg*6&VFBMsuH^#JbYTff7Vcq-KsBw`qzaabz3AS zNmKQwg&8IGWf2?F-&gbSVW5f zvc&$9fHsKukzu%cTXf`NnDaAEN$>{EZsRj1x^xIZ2axhXhdGK9(3FfAbr0+s%x8{0 z?0#n55>V|DoYq-yl)w4TN1s(aF49JPIXql!pJ- z3rsyB+E*W$>w3hfE&JK(Svp5YA__I;5wY#*CRuYLI0xh>!liCRshyq^@iDT>ZEXdg z@;dG~HUW;4idRL{5uPMZjKSb5=Wr4^zQOJ34m<$NS2c%KdS&cuBb6kTU|IAxPgyeN z$*FoGBpC7=&W9fkt<;h`q$56D(LjE#8CRPDl3u52gHp$kqF?dJ3m6@QF%B!9qmyjV zIgS{bS(-|C%G5XZEM-7i=ON7h@bRz&9+trGO9BTC;5S<|efof#WR9T4=j}l5VSXa} zrJT+wvX9n5HjNK*aHBO%ojE-g%d=G+F`u=WF)KUKpjW?bnyyaD7TG>w9h@>2C+iaY zjn*6u&g_@oU7&pMFb^z;x9VmsZ4o2eG>qNIVGs=QJ=jyCSw(OTjW2EEbZBs31FLtO zt_-g6%X%y{vP~jwB3>R}uSWZ&qDhDCY@cT|ynwX+Odfw=>^^%mc8Wu2OlPjfIL%b! zx$>{_0pgu~LLUohOA8L{ym6k>b*X8+oQSw<^lB_>f^5oP;TuGkoffPao|ojJ-C}wl z<7TV9*?(9Y*auU@%mm;ywmJem6kmyNYh4*z`=N1UNp*=n9LZ2H0v>j>r8gR)ffH*6 zA_bksh`VN%F;synB>WlR0wN59+N6hvq4v)J&*|vOm^+P)z*%!dK(Hpj*%=ps2Dz#M zE4^xrH_;O;q+L@X;@7AX$%p~44z$f+2y-Cg3^a0dIgRIHp7P7Aio%91{0sMRs8jlh z1NMX|D{^gQONCZ_vq2hq;qynvWll{LhcZr%K{Oc$GIjTVasnR34JKV36yqR-XYnfy zZf#gvFl25$*fwHn zNynN4-xXM8OE;fB4v=)I^aIb}(LFl2c$7BD3w5=|563U2{LmNq%8a9l2ma6K4IZMe zMip6|hAMv?;3=Yx;87S7bZTV|Kj(+0PMPE;-PE5mqZj7+Gj;1ndBjXKuFFZ7w3Wx0 zaB3&QhbE=SsDt`*D3>gyEg9*%+K%%*+i}E$`o}(oTR%tVqJ;>;KfF}FbjM)p-%u`T zuI>2!hMkWMKYTnafrlmV`;)+h3+H$D-}igF!$&-}K4;JI)<|U)*yvkrb7M4POK#>| zu|15atrslX)}aL(Y^TG{=O2s>V{2|?`|TV*n;v(6wtRN%a#LB}EM$`p`k1tu^m!YT z&I?pkmiyIIUelD-WjfN^gKXs4rX1&uKGCTR1{j}5YpGZ?P2-jtkiVys0@%ErNZ zu$}KIRwlEWV&;Lo4VwN~|rcznB>p6dI=rB%^=}m7y&Rdlg7J%?ji^TbEp+)(@nn7dYZM4b`k}obS zeD@;LnF21?isapkfGT8*Ez&pej(lR>Zt}j|Q3YfB(S8)a96;Y)bR_Z`vq5CcKg#1Paa;^W<7g#p3)2rQ-a~vu!B=+p5ExRpXK+bCX~|3(cE%JB ze%5eJdP4DQjn%OYII5wDcsbK(GS!Ki5KftmcXLbxpnIXywP-zB z%Usbb%3dA)&Ol@Ub`ye`j>Iea<5LCWLj&J#LLnI|n8!dcr-xf{uP zz12q9Yp*iYgq&k%k`ks=TGLeQ)EzE$&<%U1C}goBu}pbU$m*FeE)Of-(JeEOp+&om zQkOo{gLJD}pq>NHpvRGhxPyzKIVOTS;PFTHoZ|9F&cP@*3)F|O)xI3-Sn01|J^g?? z8l|bpLR2!)$%l#Pk!1>)z?6t!z>%OW%kP$CCTbfTei%kJaULjwl1AJ<97{l)Q?Dn} z;gNAT$U?fcdLo6iLL1DRiRGhh>L;A~#W;vv;-Okc?%G#9Xd1;F4AEB`pUt_PzF3{| z^;tN|8kt#OKSwzBR|{`4u0*s}N3zm5(7)=HuiV{x@4d4YVikP&|HBe^SORZK0@haD zd*NvJ>i_U7yYp}Jj&;7eYEFy@%Jm!vebV$3$LOe~0@fs5Wq*3B&Fl;(N09ku(|YsW zz4FiX;BI~NynvST!UoLPS?A^?TTDl0G7=L9&urAeR+j?5#ro%W~BI>*1*dzGH957v3QOppMh~;g4384+Xk;S4wuI9DTjw>@G4>8T*Dpm@kLAv zO~^02oTjONsOyq9mB2K!S1UJ%OmTznMCi&>ljCLsuBe0s=F?o1xC5t%w1}#N)PoZ&xWdBxOr6*5yoysE@ zcCEsR_|zZfdU!#43M#244)2nUn4Elq?Eg67DMs`q?@)2VWN_#~=rr2gF|XMYu(aA3 z9>znIZye7m6NP}Om&$z*P-B`F!Ye~J#WNT1V8g%n^&JFJdH`>Xz=oeqNB)F zkEwYGL5nIorcPKZH@N9`G>zkr8_sxr2HYyN$C2Q?;i&`D>n*~XnXF8530s&lwyPor zW$PdEi-ktAGz2cW1Tyj&9-@&U+~}Q$o#4HpME_?shDK7F+%q`ZlJv%bE^7>4e9cp$ z@ZRvfoV(Tkce_{jrkg(P8-f;|K72eZfrlmV&=NT6O}0lr>XA+T-M@S7@4kL___((n z8|EX+_JTS*IvmHv)&K^6U5|b8;CImC?Za$|%{IM}%sy<}z398w+Sv38JDFplpL?`3 z6I4pJzyoGGz1NTDJNJYz5iBk=tTnu^XgU0M`CnB zJo8^ z5<+mL8L-CZ$&d#)MqP%XLXCQY568;jHSG&!_)QH` z76ajYXGj|6;VWG|<9L+L@xd#-F$JdOd8+D;8*I!0ZnE9M-EZVf<8-y)D?1T}GKSC6 zXG*mqQ@*o-4il%EcNVTBDo#|)C4tiS@)^gEqDIGfyTMd)U?w_(jPmE>&J`b;Nqfe> zkYbe_rc``t3v!4Ot8gQ`He5(MUIT$n1vasT?`)J8HTPc}3C7ZSW^7e)nAhYx1Xpw~ z=Os{Os(hT4>RfuSjpR|-V7u`%4oCEJ?$kdxM(%)z>P16TPqcE7!x3#E9$iEv603G} zzFQr+J~(OfBv?5dkE31v3v&hb2j_3zh=dAl$zvGa>tX1Jo`amFZ5no9M!LfP0`=8V z`8m+Eml;%^#PCC}(TFm<(g{c0-A;F}Pj!Y*9@*1f?aPt674Phw{1wp(C*A4zo%U*a zLOYp@Y^low$X3q)JpAtui3GH;V>>^{^<xW32tPS5fZ}tbCK@Z1voVc9)`lk;&KcdZBAN|OC za+)sge(_g+d3W^Kr|lm3#CM#&dEoOkmGi)Pr3Y3IQHO1KsUFd-Yfb%`+G8`>7_&yK zjJ23xujE*Cn_aN*yMEh3br0UQA2^pCu*>;%Q*SwMXMC(Wc%vUXx!)!n{&h`#A4K=QqArTC*?F~C;deInVdMpzg?QPB#-ZNtl;vqVT#Tae6 z@7@9g_M2jP&PC6ynX+6D$6#;v7NhZOjVoQn!}Vl2n%IYiQ_ZC4wdlj!3^X zc4fOC2c|Mm*{xbK<8E(}>v`P-F$KcK84_)n%}@>Qm52X8M1dDvL!rQcLScBfD6?14 zIFft#$wN;+cpoRRJagewp5lkM8b^6c#K~|w19Ii|o~5jC$49x-DQc*pBIUuyiqPp) z9MT%iKv-jgA-!=Vt2SoW!POXS zQjdm&q@omcMP#OSNu^J{2J;ShIcBFR+0+|k4WPX^5!##qnGSwrms#oa-NaG5 zC2zQAKQA%~p94)gwL7?Vz)e*b+ojRPaz>t8{+^F16G4l1QJc!gGe>TYPUxiybP2s= zFwSMTCK6k{kpc7Mfn)4UJG-9tB=c}B4NBhOnT4$^9+)Z{Lpl1nuNp1-3>u=)n=1AI zvo7FPhEc}xXPrFdWef!2Qst==(OCCJptewV$})7o7?4U~M#6f~s`t|Z&g2q-eAMlA zw@Xp4j-$_TRm~-BgXgkL10s&+d+<7J3iR;27B^+682>J zb}iqr;XavuGVLUu2fN>G|%1+7hr%!7wrBb@-B^EEhEpdIeV(To9f#ZlB3thl-d7T+f@GbA_QkF-6-O8 zm;vZCdt{x<4znGiIBco`WBPKo<9gljd=7@_*i6IaM4)fhB^BYh)cA0oe2Aoay&cD@ zpRrMNhIQ<>HC(Ova&XevOgvi{ek=GnGE=sJxKw>-yY`L2Gu1z0&0etau`o8vYOZr_ z)8H-3N$-LE#;jY-j?U~;+bU%HFC@a7**g&`pNcc)X)Uf9Lu@KgbZqwdN*1?T=XUGn z}i%X zE6-Mn1RBS@m}iQYgJ`=6jp3U)ysw!ejf9y7oZF`d;#@$)YH{B12^wzta&3{jLbY;J}b%jD}D7H5g0N*SfEM(VsOS zaiTzX1UrsTh^Lz%E`{SD432&NI2>CY3CAdiHUxRI0AA4#N-#tY%LbVENaNPWAFGa& zf#+%$kRv6I6s0b)+x-ALHwYe}XzCnIZowjR-Z%>c#Bv0>Amr*>bi_9a04ALh$*Xa5 zkm&Z{@Cl5XL|%&DUm0AV!Bgj$Pq)OgHsN57Q`ptXW7=)7#B=p=ALsSW_Fz;m=c2XU;CIkT%EG^3cn~4XHi!thpA(ThA_EMm@-xrW<)r8 zroAe*WEoCIfp90%N`6zif8-M&e&pc?`U$26KfBm7LWNtmPas4?O4?mQNnJ5&F&-v1#W;i38cLr>tFCjYTdcw*m_qn<*$ zS)S3Mw3AM3dJaw3^nW|RjqRcLrKiGkFMqQ`w2eN>pMIn~{V#px^ndyW9Q6Kn*$wv| zaPs`4`CH!9TVEO+_cV>Ow8txL;09>*AoQtMKbuHP_wcV;7R_cgjvn>6-N6(7 z*zR1@h4(z>Z7b6tTpzb{yEooM*{!4WQqe3nZ=fGLm#vw-n9B3U;q=CAz3IboV4_tZ z!IvMb8^X`L1?M3+GA<{pgXkt1vq2(Nw|Y3Xz0#HFenin5Z_&+X_maab^~njla<#W2 zqlJB9gKXu1SEj}KE#*A~iUM6!XO#K8o5kc~ek#jF^FVf;?Iq(di2ksXf-|P}uJzz& zJkj{9&3uk7dwl8$Y>uMfNd?%pL^jKF%-V3eY%{@59u`r%lyhYPzbK!v=|T^DZ)l)aoOQJhA;0Sc5+TGPO0_mOgS_7un*ksJ zOmwSa2pxT`IRjU)#m?_Rsp;tO; z^r1bNS!Xq^9E(+WrUio49>`Muc}p^q^_S@g@hl>wob^>Rbf*-4&}Z;=%${E5&Ok-j zBo2l*72IIQaJYjW_;ExuLTTkp+FFkjFIGxp5h3xd;n@y@xMskg*sp0RgS;95a0bR{ zAnd8T@{>Ombh#)W`M}k^hOS@=&me4^Evgv@ov5r5l(5k>pe!ZFFVn4_0Ptkc0l;Ey@1>L#OPI8Jl*FNZ08rF?^<>apGJ=u?d|O;vq(tkzWqQ}8U24=s`` zB1JzqZBM62VEDkFC-BnOG;Q2!t89g~?{eXu?L0D%i9~zjS-&N3_fvj!j68= znF{G>w-OW|MA0-4YGgTW6*Y8fWdcUX;$7W@0wqC5uYPI@el(S?Z7_6V;Nm)-Rap|z<5`k_E2Y~oF;8GCb=kAsexa0Oy0uU|M2YVr7P1u@Jxk@8szI!;X#5|+duF_ zKWO*(k9)!H7hchzec$VMSMR?sTkoUB_2mZ0b3Mslx_W8o^2LJF^;LR(v(U%cUiO+d zVH^0Y9kR-g&7SpP`Lvb-Y=c468vbqwU%Q+9{o1(ngF6GUpC5QN|{@c@z zW@>w!4gT}?Oa1Yc$2o0#JB!07ARKDy1Hp?|(2V}12tB-0kPo3_2&0By~xAb^cY zuS7R{cFHG#x<7rh&1Lo5HeIzO{+@Kgv?xu(1KVw?l4Hg`nyhsshSM)Z)-uFu>}Gl= z0E$~ezXl`GikaHduqm4!J>^PgWR;k2yM=I~6_p#WpJJA&vksoF!9vV*jGCkXn;{x! z1?lQ=M9bh1*+mL*HUL*l^$@ zFbWi;i#5II6!J#@ z5j71wIV*jb+^55VzNxk}wBW`6$|^dQPM_*#04FP$bt@mw$~nk(&eCaUx2PPpx?b6! z<&oe1Pus@YyjDIk-@`6+!D}CFe!CsPZ#wEjRU2A={Iy(VAJXmDFmAp1ux*=Y^a)|Z1fU1mTVS1S~vC6^np>?0 zL*qeC3rFZo4y~!QetFXrDB$5Z^sBW)nw7~{>hEIhP1m#;O(?jO3CtO5vsU!2VUk_i zOR{{yA5yHy;7(n}rh0qdK4ZR-xcW24jUP%o>r%n%16>NJ7a!Ljh{IG_t4@W1{ z3#VHT7O(aV!zdPvIrlU*sbv0YYuM6i^1@yMnU@M`2X=7w468oF2RW+yajnsU?S(Vg zBt%ch6V?n7VhDPPXEE!ZU?#kqU`OJVPdPlu!< zMrYv}9W8n4>t?&>Wpn6eY9suPF-Y*L3{Cy%B%{D7jy5M0bO$lG!17ipjt)J1>QF&U zG-05lNmAsCj608UMSuB2yTlGQN(a<`CvIH8oP%c4FwQ#3UVzt+rY;DNm=yNsVUu-~nYYW2-AXIY#Bm$L@NFkw}S_b2jT4+$a?t z!tW!;44gq_a7BwW&id$8*Pf?24(+LS#(ButD-VM;NBPrbD--*b9q6fx z{OFN^Yt}GSK-$8$IC*ij|v z$H%%B?HFWETOQEl4p8x#HT@vL9TXkHr%0MM z7df((fb+HJ8HXi!V*%Y4S?m?RaEE_9g;0kc9LBu8hA8`0&4TNq@813%qfwoBT2uC- zbLBN)d!d9bA;6OATSZ`cpRJ^&YX{M0T`*fCdNpe<@iX)URr&MD(VF0+oGsfalpB0o zIYjjA43INn`-9W-&BN-e4NPHaJI;X;^I4ecQnpG0A+6-nOqS`yN=#b?II{}}IUo9O zx1Fg(FqQLWqU|Thlm1#aW)g~Q>|=kq8qlhpIkF)QH#*z$AbD9o+#36wH}_;&^TwAM z42@t+n@wF)z?v$jB^tF$u)d#oIvvrT)HuP7-kR9325c6wr?bSZA9!1lt2*D~jh7p( z%kpr8PH!_Fp&e@dfWlV?sSpz1%N-jJh^+G0R=uKhrO)h+x@tReJt*HNkvMYniM`+~ zdiZ$D%fFoXPVZhA9z{lw8j4y_AV$+vp<%r$%LoQ_9h+fS3Gi9p6hlIFAS%5CF`0@E zWce7263W-LIc5cxK!ZsDQ)E>WbBqUO7958~IC(jHiw+&Y0ICMXCR9iRO3+|vo+wti z>QUAp#4}=BkfzVB0TDmtM@O=+Y;<-$Oi5;6rC=vbp*f;=>WHpnHMqN9*{eSCG~f<# zQMVem2293&I1uVXu!hsHfThf!6b<;&($o0xx!)A4%h~x{n{`d3Q?_gOQ@?uMO@{J| zHaJfaD2!c$ndpkM!u^}i@FaxLXLEv`%F7F8G((T9-P7&BS9{IC9xpn_>?<}kWazYI znmh~LgB@c&6@{YviE@SaxDNP+FZ7aK^_Lx~145T(KuLZi=WnLtq71zi7?!c3#FBS+ zXxr;T!Vd@MsHe(knfmY>%u<4|hU_@P3KarIAb9AQ_KO=j6@esdLscXIlQs_;QKN)* z?V@6$zv4baN&~DFMZn_ zKA@U_JPh210y15uIeA1X>oN5Pr$5<+SzD}jz$Fq!5+gsvEfHz6csGbrohq99;jjAk zw2c(ezo&T~ydreiM;B(3%*d0hLryGPR8v05&rf(b`0}S5`9st(Jb~Tg(AFHKg&%xn z`$32L#$HvwMjQ;TH+s;}by@WhHFpkZInZ55?`NZ71Tt6w(TD!rkAT-TAB`b7^mg^;XHhIp*Gv~CKWm8mG@dteQyu%6 zhS{95u+-JkZ;7_pDLv;z^wtN@IWRu`BI<$5*)E`KQ$4wGP4S$Y_TWs79MO^tMYk-j zJ~PfkQ&*J{DLa)jB0>Ykz~=+T-tIlq;4tG0gP8*{pN45b_kiO;MBPvyHoa(h136pB z&XHODeevhzB(Ui7>6m+?Z}vi*_HFPj3=+oC6HezL2dFct--_3B@>&)gfZtJtQf0zle&f~y`XX;L#Yg5kB(=k(grW{2D z=V3EA4~OiK^;4Ik#lBJ6)EZL#)5n}e$73H5IpUX- zyQ$UGc^1>_^Y+5xC`&U12kwY-hVJq?GKcEz%z-6WRG9wsCZubTJ1+{IZBhJvZF9k~ z!}GLJ&K>7#*3ZS0Z#Z5{5lvlk_(Y*XT}05X^py?2G4xVX-<(YPLdNU{J-(5iMoD~> z)=%Km=QW}&CHMw(@3fCn*Dg1$!E3tN1Iyzs|a8al4`jAFKwR6#@0=Vf?3 z^^J;9#&LQyWBHY%^wXhr7>VHkTk^s&|JOAJ)HefbaDXN%6bFh@>KO=PwoKh+aFsKI zH9^B4ngu^lDOq0STHKzx?Y$dw>$4UF4~TJ8)^${Llf(ztGEx)m!rwF}Sc1%$Y4mj) zZhg%Nq+toQve1+<5e3>Daf`m?NU2)>s&UC>B8WIBlTysK0qW9Nt3Y)i0ggH}IJKrM zs-Tdb3MfW351gi$^0@0}8PdhK4jbYn+rb?D!$*=0hfWZZm6L)^>@0Zv4sR=K{SVa` zMXlI1X*xz163uKELN0KI)Z2A%+qKtp+k8|ydJKxQoj{p7I=+`vl@izTYq59*>v&nw zpvWtUgjb!j2()_O_B6&=jiZd8eT&gI@XQt2WYv=avcjXsk#~P{J@~6C+JvMT1O6p} zW92ZTK}+X_hbmq4lpn1_V=!?N#AqpOLz_NfK;}?wGTCHCcR1=u8oivhz~|x#>r+NL zgc<~{ZiWvfyI#|!WZ11X=ttw|MjmRCOnAz~GiIU@6gr>{c>Pc!2Zv-pN+0-rddc3B zToqL+*-Vs2yQmvj^lUsqJ|8j<*QUo~cY?u#G(>hej@?Y}l4p3Poy&l7y|6+*=B|1g zAQ*A9I@B{VuA;6X0BVZFljhu%e%vP_mM8!(n(O0Tj9m9}kvj{7YlLwWkK1o582ZS4 z(Fu15tCZ757+&M=W^mfOXLzj9=6j#D+pMXpjzl;%gbf}boeEw4hpR3>51H~;yH{2f zz~^T!A~xM7ulma7{LU6RaL}>Nq&Xr~Z^axOy6*Z*zE%3SUhYoh-9;URV3m z%hxBjvNOUaMP%p;RW>D!_sg{x2SdQX!x7vz_hgU9j>iA#_+raBFBg<6N@dq}GPG8W z+FUQB;-SgfpVPJT={lWd8TPN@$X)KyHU#jywG%^t3 zF!d-p&2c(kdtAzS7HPW>4|Hxegs5%F`Fb+&$!1fW=j(Iuc)*_N;F%WIzDw7yCCjT- z{fOH4Tr~Nq#m0#}3{SPR);0T>jMN^bsUA6A+ub)2!P=~PMH)HW*Q@Vl3-xc-mP_&^ zmh6&cEcK>kvaL;zOaWfG)HsksT>e4y*$U#Ow+$PA=!}AKDwMCDj(bz#p^F*{;UE5FLVoq6FH&?+^Mt|vN1 zgIM+kqq4)zh${v|sskGqw3p+Ip4oxv6#=2BiKMoer_KmF+z1i+7~JrLFG7bI3c_Fy zqKL;tf}E+qDG_oC9!}Mvu}eBQI5hk`u|(f2g6oXdHApH-$@T?0*;QQQcx@e$;W-9M zo;m}md@!ALj@#>1&>MW>83U)sDHDDJyj|TZSY|TnT(Yrl(K~YOItJ#cIpWkiatBWq z8fs__PsiqT%+nVIP3T~jw;z9$ofU})bs-Mbq%%$mrwqOR0+=@@l0VS3HU}f&1W+m% zjX+-bnnsQR3T`kNN2R=}B{~Lipu)8y;CNcmnIPZ|#b9>PF{E}jwXo<~@J#T$1tSp< z%^&%Vl&37wqLp~@M?XX@8I*a#f-~9D<#phJytSC!#ml7gw{B26Pl zgKIFLkSqgF)$d`_g?dXB;Wza?kgn6iRj&WtuR$06WCSY8*@4VJ2D{GStqKL9FDXP&XR|SNUl&)ZOeun4Q~@3w0Yv`>Gv zOS&1lnK3BhWg7!F0MRq}cNWdEh`Xz7cursriACq0Uqz<$GkxT+veqYEZSN`c+mO`S zG;5VF7k)WQj!`Fqbvk)m6%DE)TORnj3!5c!n6So)(_^EygZ-ENgm#+ zL7!yKIb)kRVB%1HA*#)CWK#o%9M?s8Q`aQ`28f*kqA20Z?MrlFy(g*)vQmF?mD_5 zohgew^1;OjjMU4k!qJ5kaPULYFA(I?k&2Xgb{;auO7Rh!VU|@Qk2|py-7+ z33wkN3Q-aCqF)dtpb?2gkPy@mjS%!AF=`v}9D`9~qM=Ep?TW@jQt9rhuC99bUTf{W z_V)Yvjpx}_I@e*&IS&8x_>cb_W6Uu>c{^vpPntliW6YpK8@dLqXf6NPD#_v%ZyaHF z>U5mIEB&(Ugzr#n!CofQkZ!PhcqUHQhE^NkCiZ$5$v!+1N;O zon!sXMz*tQK1aZ*gDo+BjT+EtQZ3keUQn_JB-4V#oUJ@4EpoROD*9)Dr8xZ8|LzIAJPw?~7RZz?01H4goer(joGzH>Rq>m1JMto& zHGpUoWZB*Ujy?Scr&0?X7A$s0nM5^tP0sNU%8j;^7qad%Xh6_ceSEGSxYrZ`l_$QH z0Z(}c;FTh$6Lg>;xD~+noY5&!+3E{y`caK6z@tH;Cxa^Y%SlO|R7b0in$pOMpJKs) z7ykzi@bgB|qPnu2ABgLay5E~@rJz*<^|UcOojGMcle_x;MU?*ohVth%SWm_4V54cW zz2XmOS4Rh<3oii?oF2N%jmS9~4YSI0VML32S>1X@vaVM5oJ*~u%ExJejRrPA-lxkw z!UFs7Ah1ULMmYp}?m~3Fp9voR!`TJ+)G!(4@4SY*KrXxXzq0vGA2#0RIdQw1CnU$N(5#S_Ht58igKhTd3?-oqo(pP%r0DZjt#^3atF8|=~ z`l-uLed9+i-}(9PT|V6xXbE~+v*OJ{qyO`>@nzH*-c5N%l(*NcQz4^$J2P9e6$)R~ zWaH$z2Wp*nReh%AYstfBT(-FV8W7wU09h374Y5~(rf>>*7V~D8Mp_r{#3BQA1J3&rz`F1Y`GH* zK7j2+i*G>~NyppU-eBX?ZC$`-^j{@35?6lw8!57#02^j!zQcD$SG1Y94d#?i_0F_P!-fVYk*5YSx zk!qlHlWzBxUQi4(u}_QPUqw5!B1apHcDX-(kDIYo#mit;y}+qKoA^DoX)=Ahh#phO z(T#q4CmKx?JSW6t(nNH6QRjg#Np_#CsR|}h3PABH;C))4qOaLQcX^bBAJfiWfO2o- z_SXKNWXPt4H*!|nAMJ@6Z`RlS_}$OUBYfF?Kr=2zPK*6gqGsypZEs#gG;`LasC5nn z9SJt04u6_*o1=(&&d?cR@Mhdfbv>y%mk-Z@5ov&2!Cp^SSTKVzKKrj2g`VQ;I7)+c zIaf3%NE!vpS@1Sqj}u&{pdMNhGJz60y4Z$f&dqS*FqNRp9NtY1h}dz;SonL`tZeo1 zRE@5203I9~j8ssiI;Y&LG>(~lzwYVes(THfPB3=rYG}lcm!lzf!kKqTSG*D4CVW2ts*ZG5;QICC$bgUBsNAWS=Iap^MRFDWY*#f)~ zNVm~L_K-kzMIvFAL_& zI&UOaQJESx+|+(7zyIAoTSJClneu?F1o($u)xkJA(SZ)fI=kwmU*)#8twy+`;>rZ2 zv#a28Ht{xC^Lt}1SeRo_M*kA)&_#`%5-F%EGDsYTw zpb34`$+fXgYSM@!{zubfzz2{yBA5k!x<<2d{aAbSul(UZcKKg_{2#h}{TpvD@4ok~ zcKCkZx9FNObk@`Ca6NowhRcC5i3)9#uq#oBX5h*$7n5~fWul>ZzgJ+ zFR#H^1a7*h7^vwQQ(6EmEBslEryEvDqAwLb!9QShna%@_l-*Jb2zQpq7MxL zeLi_J4aOrLN)2xG6@WZ64`n-q1ytpGyHfYT{>t7Iq_tf9)z%h8?=vqc)#=ZA!eiNh z@bW%696w}=wIBq4;iFe;olM_<(5SFi9c|KRl4(Yph-ynljzHc+pmM=A{$*X2H~G8) zYRmWMruX`>0RD`ORyI5vWo-oMS)*laOEAno;M=I$i&yF22v6|B}oFXTf|KA5Vj4T~{C{OMd@daEzTA#ChKWeE8pIJJy9o zQ1G+!7P1@6@Y$gc;3eZd3}+v+C+(^cQxCVM$Hh`x&>x?Ivb{wa&8C<$)YVD>g`?qgSe?&s z?rF>-!CR-xfYh7gs)CMXub4)-xpBGcsJnL!>S-)j*Q=8qgmTsA-G}*{$WWa#3?5yK zB1tdUDielHyL6_MRSm?P3xi3adY=g!L&Fus;eqRPniT9H7G;>`INap^U>xcZ?{!bl`JF+M*A^BHxhy^;K8?-2=GNd^g|?g*=TP1Bp3F9(a5{n*uYfo+8RRw zANwQk3~uxi|4ffP^s{Vu(>EOR*KiDPxyqrvKl)KYIro0%Y`Uhitv%}c*n_|kpQkRm zv~BQ%Fc_|4w<9=ZuDzi-Jj&{jCL>69-MveHXsFBr^kjHS=v2N>8*^6w=HE{F)2=mv z1Lu@cZZNNW;%{%40i1mwi70ZrqQW}Y@)xjP#f~U)2iybE5yF+aozC@&oPWVY%xQ`0 z|6to2P32Awhr}D%S3Kc^PMf(h#b>RpqhZ#UYzsF2vETOFE`P&6`v)%n@z1=z-2dWN zmrr-!y*%8#YYmLu!NI9>u5)?cf?<3KMlA51r4Dx;y0@|7+rzldZr{)h-+kjTuNt8$ zN<4n6^*P#jlUQ3|ZH<$)SVlXx9>_?~SB(%gH1@8x@-JFNSP+s(t)~*qXkz@Xw;qco``2FNwco~sHY!xFnO`ziRDqm} z^-|XCxaQhuG^XPfbW?M$w-DWK>BqkoP=srnY}U?N7GHfmhJIQYdVEx3TH3y?mwzz| zw;&E5)i*8rzCPh~*N;z|BFliu#~YC#82wXDyRc;fKQN!UsjxI%Ut|+idSMgZq8s(; zFjQ4CN_b?9#`P1yeDQ^E5|+;I#VgyPdqJLQu}zy+PdmDcF8y%Q-)NJWM?UWzf0e9> z%EQX3<*y^A@cc-<`MRYmxzXwGpgzmb#-Q4_du7Cp3o7 zw+VG{7P0RohM=6l82zVjdy>sPkHE>hv`y2##J@e+nkLMaU%f7P4ix%~c4|pC2 zy@a;8&|x~T*9ywhNptRVcvTQ!4MzqM#Qhn*EcrMP=Wu`#wY|HDQLRkuaWPX0EwD6!H@ft zaz-?x8?Q4$PioZ&4xLmmcr}M;Vv~nFnLt|Rk$c9u^dk!nrks8{TtnZFDq!Q? z(+Y(9>3UD@5Or+22&O|y`p61uDH}$QZ;;ouM58mA=`;_0Zcm4ZAIHiMcV#*+8Drh- zNn1)dCaP$2+-z}Aag~#Igc(c07~an8`dVf51u%Y70DOasZ@Mfgoada=z<&*Y!FZR- zlLg!TOk^~Xm89FqCpwo<;t3GdDt|UPs@BOXLs#s1>tf_rbuVhxgU!vS ztZ`lKrYt<{Sh?h}^C^3f09j)2=CjlZDbZqtUe!5z#mChKhw$U&ulm~a%kTKlzJB>{ zU;M3?zwp1myL|ZS7Yef8E@=7Cn_YX0uh9Wfu;68HHrL7dXzt-Gf0ImgC?2-8O>2ov zSFy#tRU9#goFi)^4HCSX@4?cv&GSYl?t5F!8k>!7Q{yhdV%Hno5oOzRMvj7C2dg~V4u%=W0Gu)4zc9z=TxR| z26~V#X@Mn^vQ+|GHX6c4s0T_fZ20!6k*8PvZ3~9vrjs`n`!tztnm?ZIt9$fb#maoB z%?VtL_!;~m?;i>WyIGJFRr1dRNC8YTv}VeSYV1zC{i+uZ1V@4$zee8$jS&@Z1&i^w zb!W-m&vw&KPXfO{*Szo&o_N~yscFwLyp?&@yVm!v|1Q``rd}Siw-w)Gij%&{)0>%Z z3c&YZ6hF3_Fk*aHAnda{TQ61m3whIH90=Hxosm#K>`vckG|zr*HpShZY30qfQ?#j8 zblGFgD4b}{er)`NsoICuCsw@CyX2SvObnNM`6^gj;t`$Nquv{AZ@)U8x9G7V1zJCo zWnDgfiFkk*-|76YDPrcdIaK$6aH=N=Dp8gFt@IpI!s^HbgQc7(-8rU$t-KnW!zBo? zOPPb0t6cXwc&(u9?m3Cd&Y=fOUPY0#NLU42SH=^*@|@+_uu`VBf{!i|f;ASmks%`x zJ4!#Vz8@v8XpLVdy18(Kbm+)7;t-C>tj3mIBw$7w-0+tY-G>&0a)cJdk!>Y_iN4O{ z!q@~?!QG(;Cf}6Ioh!D{0GW|`>v+fI>STEFN`0h@rsdHE`AtR#E4eK2j8_Ik_GsPo zRAnVkr!E*-JZuW7G8zfe=iJHaDvvGR&ncX>L&>1){Nw0kE7lC`^9sQdE-cWDZ&C#)`#I=^j{r!l#j#Z>k3$S!x}Ii?q9lLvIZth6 zM1>9lEowUi5Z=s5Axqo3h7qGw_BMT;&f1XnnZqwHy=i9PuMJ%xayE2Gjy4#C^H@qa zWpq>`z@=JrseC^RLeSv8zY@yBQ`gn&wj&$wnoQZL^$8)Lu8y7H4L*ev@|8(W?9@Jb zK-0+#SMbrN+Zf(**y=4XEqSH=J8cK874p}=QwL5WJhs4ez+X8wOE)>cJu@Y@Ok}=- ztW?|-J-(}e!sC+;h3t7FbXWbtxlv&i`-MZTpv*cUQ#x0eZ>w&|UpQQkB)}2XbvOYC_n5ekA@IQNj9njM;zn_x#?=(|_c5UjF;9 zKfiqSi{HAu{p#BV6>SpWt-8jH>`U~ix8wMLqx*4(ti3hI$8IS}<(@oi7xZeO1zomd zIHPugiPOH`AF)mkbmh+?YwNl`Ho9N~Q=Myi4@Z?QexCBtZ7S3VN$4a3I7 zMz4=Z+rr^hv^*_P+5+x+D%zHC~~u5(9SCzp6{ zQ-~N$6MSLy$&A6ip|^NZZeP|Y+Z%&|mMx=cstllJ#5QW@VMNgE&BUj#lVdf>MF3$< z86SB1KK4z1B(CSX3oGQ+?NgSc9DFDMN=r??c`R zT!@w5Zo;KG6gff1X;_g^T^aog&I}^L!Zw)Y1SiH6A!LOaW>Q#Mbnu2MhDkNpt=cj4W8B>woElY`I!8|>Sx(m}{EBl9cL0K0 z_R9=~F4jH+F1V;du#OGy$v#+{8Y_7nQm~9JdJ=$R0ZOoDwg>sH@j=)0prM`@9|VLs z8oW$qv=g7B4_95w*D$I_ADr6RgDH5*g#+Hb=~Clo%&t4z>FQs`C3I}Pwa2^>F{AVE`{D-zViT~`H&+101Mq35BH53mvIk&i798VRW_y=w~2f_A~j zc|))flyGPfYvbt`E!N9!=Xdgo2f>g<;a^14T_KL|=Y2?`k3HP)!3}T8WwSqR(eQ%( zc-UgI9=L*AJh*=ENjfyz=E2ga%Yg3hbn5cgkj+E2kTgYUU zDC5s0@VxF(996-c90V9=B)R?}`(T57A^&J!LiX;30wax^E-d9;wzAd|AGc}N@lhEv zJ>O0|{t;}vn9>!b+VbOzZ023lm`1KQqL*J3nDH}$GB(7Vw$E3%$oNA++^fD!;Eh@~ zf%Xsg?Ho3zQX3E)2FC`mz6E)k8A7vBG7mCu-`!tce(mL^8U=CI-We7BQ2BTH^e+mQ z_ts%_emNrW@8AVe&^n=AXA}WM@J50X(yb{oT%i*uL4KX4;I*vk#LtMAH|Ne6Q{?<_ z%yX0qaTa?jPpD{t4=(8pM*y{Hs8bxYekuoEzy)t`hJHfYtDEI7U@YxOc+ie9RGjiQ z>XXFGWzRL0et1N7fHBmGEcTfi9e6b31#AB8toF*FvouP@v}mb&2Y7q>qHTO8_^oL> z*)>%4`s3g$yJE~7voEZ8^7btb>+{9 z9Qwm|z?4?mGA9RA<kj7G$Y_YW76&r_R@ zTiXJdeb27I4^9-0MtC&Q3>fS2o@6S6SI{^Q_JpS4T+yJ$+!@|3wK6B*Iy7VEbQ)wS ztx6rUc{bYh?5_+sEu1|8(UIqTLxt$@$QVy*p~)GL+ID<86SOByHjmCZv(jdZl|D7A zTmG%>O<4%*Zx1nD!iC2tb@J>>-?5aX2M3@i&`FYI2HQV!32yW$&-SIQEh-Zo>{e%S z^9y^pp&RrUypHB7JI`l;$tJpI)zIGlJai!BCa-l&!8huA@{TN4L#1f2riZh4EP%sE zbRiG_OCy`E4^CVrk4o@cI^cif5C5l^Z~q$=vo(S1=?l=YjX3=;ZTh-?6LXsS_1Y>F7L2V(zig2SRP8Z=L5meMRXn1TjTV zmU-+!uQVezui6RTn`V3j{_4+i<7s1vk(~Zv86lV};hX}X9vc0kFwPlov zzUguue{IvWVcZl96_gYtsw)Ug6B}WpXWxCbfVnU-xtt^m-;A3O13XpcLr{#AI5wXWYGzhLPQ=$R~h z&+?22XTEeidniA7;giG`z$ZhkaSud%&6@hvX5y0^%xb+#MuC~mwjXA6(uWbb1=4h1 zzrKgc@~rLCCTyS^W0%J}(~K!3+qSKU52^pyyZ@(f{^G0p5vCpA@XN~B_%vTP`Lm215c+}z*j|-m*js>7ROKC)Llp>7RObWFZO9*oEYSI?A)56#t^{>L#ViR(!w+OmygdZyJ7 z6OQ=fB8i!@z#J%w>Y$qi>JZBq<-0gRv`hG-U*2@wRiLXI{La(44lKD7CEcHc5r#V% zRdTkXvsvJZ&VDA_TlwJKM*cYMvcs4RMkHJsevY6{1J@j#G&DG-_bRxZy^{G41klG0 z0ZmTiQUd#8AEz@Jm^Dn*G=@DOOx6%|U-=WvSAcHt4C6I#!CAMr*Q9|*A9jvav-x-^ zQQI?JH60(+`%j;zU7YDSiQtSeu(G{9Fm=5tr<@)^nGyik$R-Ba2P z9UH1GD>m_}=)!+3CViF%<&6gQyXmhM_u25S2&HAa9t;7|>J&flx{Sx!a~+?6Yt^OE z4W5SD{gsT)(g2XZ^2tzvVdUSg?R=HUaFwf40dU#3QQrluF{3ka{5^l?-*)*ezyD8O z{?O0<=;fEb`Q6Li-M22E-o0(_tGeK1vNx&<26V_l%^x(?(pBo|EjgPD)WIfy}fn;q*MlU@qC$})BYB+nb&vFO>99^>COL&4wDh3xTDdq-G5d=@enfK}gTW3(-c z>piStW(%^r=3|W*@~cK$EMT_Zq20!z$IqJrfcKL{Z6MmtG`;CUlcUjG*=dHYB+6zlXK)d4Alb<`V4OUF^RhYg?SIiXgae|!r(SjN6~ zQaORjTe?W5ADiBM_OU6qcvSyY)2#QVTYDNZSP@2oyga$DZ1Q6zf*;Fl)=DG61CI4! zVrVZ8WKFe?WS2ki4xv&07u22J=tvMrrbaHeMy~os6eXY0Dgz9sFJ(zal0Fp~dOK1d z%h!o)1YLG>SN3(d(T8094*$M4Z{dp{I@Y!Llo0~>34yABZ?vZeY47tx9u@`7TPqe^ zk`@v>_K;FA{v!Fm4PYK_fgu}y*7_<-t?=!8ll%kyoV~y@5A7{o_+F#{89kff5QT=5 z{XZ6EKY3T6_3*RIwGpin_oL$@p_tz&R!oPpBSm6PUJU3AFfzv|*S#!1r5^{!A@xL~ z!3_#0atPkE8v&o+DU7x_6zZSD(-8c4cu}_NG1j@1)zyH|LI&R-u?R1mF{=<~$0>Nr zgd^IBj~rFI_cQ3-ZyG0DpFa(QulQzkN{#0$wSx{uG^gY6E2Du5dV>MG!*Cp};puiIc^z37xJlB>1Ji-uoe{y7%9SP`3=MPV?$z9sPlBVX z&$_S7FfMSQS^7whgER2ao+Pg}k&3#9m6kHd>(!KU9NT zU|ss!K?QGRb=am!Z~lND79@fsuR6+3Cio7r<47FBXmKAdc!S*kXvKFG&xmoQMI*^} z51pe6j6=tKPV%()IJI9P4C&xbt7J7yWB1V1Jzu&}(&4J(SkM$DoH@Gs+vs0plH2&G z?ED8uRJk8{^ZN3y|Iz>9@-u(UKYIC}{@lCE`)_~q^7j4r>R?++ZK1HWCv}@oS}4We zR=MEhbgnjs+=xdo*^3rv)PPugF!(lVxAs`FPU}H0lfVS`uhOaMA)OAL`Hq|i!7}}} zbwnL@us7us-rLB4I!0u$u#Zc#xopYGCTrsM(49Q(Qf?n5!J7rkSx~sxR(SL;rTGB! z1R4$2(d1AU=yg@Fc(cV2p{Iz4os;gqKUmfGmD!$dRj}Y*5GIh=y0SXgoZ#s6xtC3` zq9x@RU42r(W1ZKVbYs6Rrv9RUbh_^5?5kJVhFN@W44u#0vrC{L_}qhD)R@qG)4kCs z{Zhq(<>80UyDkcdlk)msxdnWk?KCe0WVHqw**+6Dvd6y|v@^v>7DiIRWr-)SX-!w~ z$%7BEpBen#1iUqP(~d@tY-O>R(W=kKSqJ8mL*9ODMsfi+zZyx?BNNe{CXa+=y%;JU zgD)5|dh}SZsvTO7XF>YQ*6&%bMJ}eri%Cy_+5J5SR2j5uZ`(7mq*O5bo!<@j+N^ji zUg)@@(U5sc=-)LROCYz1NQWHq=kFro zv)X4A3gtEXMbt-*YEmqjX`P@99GqmFqhYhN^K#e|b5VXBJH}zC`T~{#>|b>j_$t}8 zQjR0Pb3MCNvE1?JGTQeFGfIXZvT|dR9O!2+1w<0Zv;aEbC7<%_8~747?Zflkuwx92 z+4zBn4<#1BmFGv=e!(x#!2vM`(3M^Lt0MAE_YuQ77c?*GAje8aw~=x(L(d|TD%~Wa zzJs61i>$n0aMS$qN?#c`-S)@EVl#SzlO0GO-G>p(j9%qV4SFNbbU6olcxGm<7QjLh zyp8t7&jQo66Pg44iX#g4z`C_9UE`^PL>Z4@-zgwd*KFYkAjAYXmsdcJ4Q#N6ghA0jN!c6Vq(5$-s5Sj}}X%yRA_QX255MW@Bu?YF&`Nk2QU4w8u;X zA7BmHBfXWrK9&8W$*5GadLPZU+S>LL$wb%zur^p^!K#9ljj*?H@)7taHUYJOadt-j zGq3_~W#aXD!ddzB6I0^=18mJoQMhkTwkYhzRkPo^=qrmcE5JpCg6 z1lc>l79*fLnEO0Ylo?UVLJEMgttfsU!N@bxZN-W;manV>L_@;HgSCWw@?r${Lm;rD zlT+qRI@2r#>DJ5D^f$FmM(Ev^5&G|ry{*`JL147dfqs}O)#Hnrc}*|LtOhBbAzOB{ z(LOx(;9#_Q+dI@qzg)%son}kn0gDj&vc`sBH)^7hEElqnqq<|xHFis#BhpDHju>aK z(kM;tDa%B@s)67Gh;t> zOH^WqYG(=n9dPEnimo{?q%6Pzrqb>;5|uSp9m4{l(NbP?pDhlUFexGT=#xAa{AvX` zTXG5A!C8Hzt_GN0C7nIJbBy%B$^?gy`?<*)4u-BwspIw7NAQ)GzPt)T$Y}@?hE0An zCM&!QPjpEf{uuuLW}8=e1EbQ)fuj5Y9pL1}DAWgGIq`@-4O?oL%Q&)LN1Ls!mbz@# zD3gMv9%|_I$b}5a5_-0B?5LY6-~nxCB&g02UpW+V7`*aN2{LodMh;bAGIBCz0}doi zWauuN(>=0;KRl7E!EfXj{>t+gqcJFF9Tr@bDIboF-s)A;*=*MJjw)VhUq9w<#ZLP5 zW;9xRb0dzFkDAdGk%Uk^BDayHYxUph^vgGXg}x@T3$*LVYj3_IH``|n{Rt#Yvu)U* zK*JQEx6Hh?HjM|z54!-9zcUh}jjw`ATg;;HHyi$Ch^l zs-PpETEp)$Mx(t%HYTuf-rBBU0c{jZaG>M#rW~3Ugar#-rsLK>R(I>H;>p{J9^Qm> z9wztVMfVQ{E=F)IJU3!z6h*re0GgFBLaMb()0vZrhp0CejlXWsrot8dpMdzDzbV*Q zFdL6w6yW$A4C{{DDo1}mY{XP1u?jqV^m}}?>AkHYwuZTP$lw3~KmbWZK~$(38?93( zK09?0oa$%^k4;A=g4yl%JS=O@Q606ki>KLu6|^6E$$|V0wD2s4>6W$JVEX!TU^M4vp#x3Wmy$1 zO;8r@aGA0u3;f;{8Ey?$0qI>j$r?A3W(yNbC${*#TDMVsw$DPW%`<8l(F@G9lOGQL zSIN4G?Gul5&ptiG3D$q&p%Jab_2nE?1viY^8C82?54oXwBG1NWs2Yq0KI@ee0cQk? z;V>GGI~ceu@306?Fx>V}2k>0ZINrmN#-^Ju=u-sbM0y~2F zaSUV)+Ie^?8(xjZlgCV=bOx%fbdA>N(}rRhFioJ}As^qniH?Lzrp?xjfFB&?Mc7Ck@MF)@>FMPL;qjxv0dl&tk|U2SKuL$Zgf8?S+0Xpxh~`LUY=YY!z0NOebt7QW+VZ#q^#-hR`bM;0VX zkLPSYx;FAX{_32Q{Ta2(kH+A?_Iv-$%NM`pcU}JLpU&a`{I@P2-+gPmJ}tm{e|Nvm z&x8oO_4@lm9n-9``!}^|(|bBzL6W!9=$D=?PTrcSM6wq*szsigJ|e5i`LMAr(K@8Z zV0k#)zEFKcS|FpmPRHnF(a7ZZLWi4f&c~py0W-MadD{YOZ|U)1`)O3la?0Ob5Z@Krv-`ArWs z;8>%^PCrzJzKkyKCm;8!?I5=CXLR1aZMe0K?H^_DD8RQBPINx+Ptaivk3F5tmTZqV zop*$>zG9n%QCSg~x=r0#r)k86;Vj71w`ePZ*yyzF0_$s1bvyc#fx*@7eO9rxHTsQj zUi5Wx66CyVRPITEjS(pe?u~xoo1bMTUJ|hF#NBJ(L&wqu*Pg zUJd|9f=62qo1xyc;vPDagApk{TfX3n4#>s8*?fC8X#u)&r@cfKUl@E3<;MDq7Fw?+ z_%lsRwzZaWYH!)^o8)3+TK$3%P9tpe`za)XB$o5T`0nonP}NVa4^43klssH*F(8;*CmJvviE@7Y z&J}e}$uoeZRF6R@n*aqBM?g5MMsNl{^C6ho4T8%9a{*iz8g39IrK~g0jbO}0)*8v4 zekr=7yh92TvxlQJ&JxJaZxO|ha$DqE9-7g?oS3#o$7y)d+Ncc7RX7e)O${YuPw{Mj z)Q#qp3)WR`V2sDg&-f@jMPZHzC%?*cm*8~{fTe+Cu@Qz!?ujW3qklAny>dtP$rHs1 zbyF(jn}V&mI2}*`B5*v^h<(RO12hV)bWLXm7p_kys#5i{6f~&2 z5s>r(6#W9V5uFUv>#ck8FTE@3`Ye+*JTTZ-Mz3y|!>a?Ovm*<#KXMFLM$c)WXZ2j5 zA*7}VwxBjBx4`^a3pdY3w$Y_-IM^;3u0vfypi1X(NR<9?aYW<#dQ`8>@ouO%fs|2c zmuxCnwn-qDk%gP;tXjDDa|I{pM7M&rUJxMQ|IkfmvN@3oq`@m!_v;+df-wZ#jtH23gCz)CKwpK8epD9}wuc~{$Ue7{ z5b1{Cj(xjSCs^>o5yNi$00nn+105bR z-jr`jxp4zFIy~^oA53krD;kg7F3=jx#-wn>_{f#tM>h?e)MaX zFaP+rE`RWwzxMJA|M%VH-M9Zz?W*al-VnTd`!+kRv#7HXP&^Q1orllUJnNn=y`lE5 zzzceBZrM59CXt?j@%f^_h%bIV-+D$DJk&KdmY+%{U3>kX5Iod)Gw}rCVyy6%)&A~l z!)51(!Yk-Znj01A?6Fll7IeIPRdAM!Ue|{2>OifP@c;~`^-=tjy{C-4y-p?z7Y(7JciF2E_IF0@L?%w{jkB?djcjJNyR!1{oA0Mh6YGqkJcn5EI_73ff*( z?n(Qw84-F>0Jk8xA*D}EqiJLCvitY+6%If@Ss&QXhiv0X*K{RFuhFN<^j1Mz5G|OG z7PjPtjzyAWhA#Z}&orJlB~Nf)hED;t2iD*@QsRqIg)w8YAp&zU)Sh5<{ccgD_eBR z{V{O$z~A~V43Fx{r4{AzG#oiBQcUIRa1yZ@lNu%s z3V$_1XSx#5o~PiA2GS0{QT&6pfhX{SkKV%ryC`k^!8a-@6MZ|nuYhVg337G_u8!TEa>GZK<6S3y z${}X9P#qn^9!k3=OM07Z5}dpf{AtnYi(G4@>`SWzgRbT<5izM6_KAzS++>9zjP3gsx5Bj`^)>qgsbBo9gVXCOpvV3B0a(rRt22?N}qi z)(<@L1^)!zM~3eGu?;_P??IMA_FGWV`S<t&-uI#7$(z2#@P+}gRVdr6k2*-Za=^G*O5SjT03mIc~Lq&2u! z@av7LS;PQyK#adnhu(I4*&B`M_gR?x0tRiu$eI4nsBkzW{y z$Ee2{No~u5WP}#MrBA%@RrUk3HVz+8TC}F)e%cV0ktmy9>SyVW4Yku)@KSd27G%Av zzRq4iW3=j1a5tiuEVunbvh^@))UV%&r=zoVM5Ioq=zZ$##&A4uSJICyG&4*GVOZPwW-esHj|z_IKL@4O5Nd$=os0Xn5D1R?`+EoADRBZ7SLJUBJJL&y_>%j z6p|IMO!poL=xSa)c-AMPb)$;awGGFcK0EZzI+KRvFA>6`$Hy z+o@h&3cS0wb;ir^*wW-4K0KtOUvc;6;C}L@QItd;!6}kn=_qI5XGY5Br?`-*TQ#Xm1I_&zBA3Rw#ZK@XqU=Sm0hgv*XfZ5#0zRhAC*T<>1fyj>}WSsjec@R$7E9(@>=muyFl*|3}`zf4Gk3n z(^)6tO$ao8mf=+hsiyw?(5jwoCY@MOJp zV-SHub&GLWc=XDq7D7S!vbsMC}-S^-Fa<+G3jH-*B?(B_EnOxf`u0 zI+ z0qO>D?JQcfosIPA1&nT0W((+Z=F)9jVVVaC=wmcD{ofX|%Y|bdg&?k*QK?>VhOhjQ zwz5I1khXf-v-|3xOL}|=gxHM?ye&xXyg+ruqbpisVRa%doCj{jj_wY^)!Ck4!<`MV z<+n6|Remko@HWTtbtpSlG|1xn@YlPcItxZ3$+E5GmC+sc&Ig4%+#Pd)Y1s5MS6 z!t+>1;VIrjLbtOu9jrj^&CA}RD>7rxs}&C~>adp$0{cSY8%0`Wjn8tY(Ek+~MGwMd}rZ&&pf<1J1zZc~)UZzyPUdh(tr2g#< zCvd2q!Q&Ub%C=2E3wC@uXy4%5&fn?3`vrwCnFi!D@eW@=H!#6ALud<#kVK~dE!s4Y zXx9QanzB1GD_Bdv`lQpg*vjS7&SrgDN9j0D_qM^XyFGi`%LIYj7A^(S#BM;zV4f`w zJa%rXvU==LXMZ1&g4Nfv+eU4o+bFdM0<)(^!$_BBLHpj$4CeaB@&rMGLT%8Wky+E% zVucUZM3o1xkv*Tn(bnTC9aWxg=2O@*zjR^%gl|*S%9&BMO^y*(Q-G#R*#N(6#g(J1 z%*$J<$u*rARWv|hZJ}*5OnY(zJS&P$l`|NZ_AU}Hk(fOcj@3&c4=fw-($ZsaS8>SlK(Mp9oE@@ zc{c}4vNk6;88i9fA#E-f^kHt}Mr|Jb3G*l>#)OZ0NP~N}#RsbB>+ov_ra}Pv;HC z@N`|nKygDs=yhEt7b3^tJ_;-omVx#&tLS8rwT!qgg4R_e<#3W3WL6EBGIJrH5!hHQYktr zSq7(y^bsDX__-3i6L}BnaFA7Z=q(q_^OQ*vXh&0N0o+xzZuEfMrB&euYomMN9qQ`n z{6YLYbrgVG=av8#$gECJrR2+*quJEK&XEmv3Jn-LBNG%Jo7*VKEv;hcqg!xXlQFpC zL(2J`tY%MgV}PS(1ZbVi@jU(xu3cATqnygB7nUOj*eXXKv)#^g*bmj**56@4xvh`u zW;CU7S=gcH;+(@7tuiQ?Bf;M%n5G=_CZt&k;}^Za;%Dfki{GXM^Ec(u$rs2mci= zW=fC-hFfiaJa;CGwWE9`rpm4i8iMQYTK0$g9Ln$h&;Qirr+@8lx%}z>))dCo+n~a9~T#R5#N9o&h+i$4*?Jrb0ounst{@&IP+Kc_A zUT#Z*Y_U#_U737hYdT<^Q7drbMn^*y(cAt(Hb>P2ZQ{9gT0tF7MqGwzJbi(7qtCFW z=t*U_qjs=O53xbZ6nr}8MZB06GlJ)PuusfshGTv{lt%h2f@fxDfFPa6=VL^@EEqFt zwBS5CXXDX5`SbO4fchAFFKsPn{PR5e0W=Giw%--S(Lv=*J>G&I`m+PNdj_yQouY}! z7|GLl(`yo5@KV8w)nAe?B1C`b#t4;tKfgxXU9-mpwUJC7XBMYK_MPEJ)%+|zw})gr z*$8!QsC^b}Q8?1A0Gp+Ly`FD5y^5L0OK)@AHRZ?Y+^>~x$?;&UTj)fJ!` zL9?-~_6EOiEt>wY-yElS6G#U0V!b;^+vkahG4o=Z9l*fNfOsv1_*tBI%* zq)|Yn1$fJYa%n+jz~yeg8sI}#_L$e!&Zt4SGNLI&Ya8tv`qg=rwoc+EJPIxiy^FLN zT*t1_J3l#hu$bi7TIOz zFl1?QwcrEyV>39DduLCT`3;l|&XIrrU#dA(P=Ls)nk;UU7Gd*#l3f>K1&R!*G_iphaEc!512$buuA$j8$520n4Gidn6EK zd7FNw1b1|o4ieR|lhQOux?$!E*28f`pS35Hn~jsvXe8{8BRh5cO+)DvE$3Qc?FEge zO>%njkBu+?7y{KF+M`WvZE*U$VmgY%4P+%^7AreT=)kVD@Y4I}VsC3p!IX{%`shps zbg_=4inFiDk!|IED&q}U^lo|$E-3Ji?rdpOb6p;gK}&F@R_dyc@g_5u*`k`4d!lE4R*U7rO}_ zS)aP|fU6HSnT)!@UGO))szpv5Ajp0(1SH1lw2bl5caUoRE2LlhNmoRNY)XA$39d~f?>pftW1wR zw!Wr*s5LNYAc2?$dlwz_sBT^1@Ca>OTUOtJ8tXjEt;o00p5bW>g)LHHOmJ-+(zFjL!|8E zy*c~n5V$=yQeh3$wj>B2yEb}a3hQNgtt^}V+1-1Kpu6XJOf3n#wA8l=^LfnC&!)Ue zvmTV4eaJ^ZE0Eyx*#aM7P~&5MfLz#E|4OW#yyz9 zNkw}A(qC52sGUf;=goW?YY{x^yVAk#g3p92za9N^fEC-~`e)hK>p1i9^3V>auiI9` z8+sdQLr3&)S~$E9@nj9O0B6Bc@V*C5GO_#n`Jj0GOA{D32f8I3@f|0#e|!i=CeIYW zhpC5lal^+(K+QB5RkQ~0>{}Km!GFnavk!j9RP207_x5)ijn!vc_@9U?CukJVy=+?a zQ`4i`vNzX_gw=rrFPSpdZhd;nI%aR#3c4lIiw#&~xchU+^D>0ZR@t70BBYuxrhDzD z@@!=KubMWq?Hxk%0-T%@qLG#pxI`O<=(l6`P(6-v z0*`i2UMzJ`YKZXC?5(`ZE%5D3UeouLCis?rr2&0AZseE#tYK%3QwN4;HqExl0-e^= z?3Ls2&Sp5LF4nPE4*kP>wZk>?kc`)mmtEO3w#rA2Xc(_#TzW;)O^%GD!gCVR6y9st z6Jv=2s@VZp{R$dZTbat9;6_%NJA&*!Eb8OAMs?L4X6! zh}lodB0}jKNj$^w$HpP7u4;m8Rreq&xnuC)VhiNLfmTijHCcq`*ZjmUzx+%8<gnHp`M>^;?_M6i`|ZoKyYFosmeD5*-|yS${nbW#T11?)H)W?idaLh69pTd+Rs>IH zpP=Z87qbwiy*zjbVsz-zFuWOx=#qw}hrT1{>oWKg40_11L}6R=RA&pRV}e}>;+{2< zWJJf?joR+smZRV3d0U4jpaS=q04W|VqcGiObj!z^SyXXc4=#;fCC|dgidhJ5bfS(^ z*+j*Ly4}>+Y(8~A_Ga9t7B8WR_)i~GA>}K~Cuv{8oKFR)x3$Byu#FyV53OnnA${=J z4)n%O1UY9aC>%xz^V#%&Uyzz0)`9D^jmB(hk}TO0Dw>vi_NvKTWJH%~GQLG0fq}<# z=n>tw|3bMw#VBN`(_M5{(R3!;ewm()BI*n7^BJbho;31keHhspG1Q-!(!JA`tNW?- zPAvs*gvrLT`nha7S-q(oTHr}#WyZ^uFGi`ZhZyZ)eL^}Tf78C!!aZu&%QuCWZlZ|| z+@*J;r0mDuZ5shZTQaezT|=0?S4Rsa&zH&2)(?H*GWrG1#}5j07o?J>y#DrG%g$Rn z8_q7Xt)}+LG`ej%YkKxPP_y%NlCy}k%ZC=_<7xfJaHPxf^;xgtXKyEVEto{-tKiZh zUhd{_vhnO@FU6(nK+UJvpqBr`9^H6=AtU*=Rr#^^e?C9oh*s(dE%v6*A=y{#-B%i6 z^M||&<&`cF0y%sE3`t^xgi(*HE+AUOK0%dU!bXp9-QQ^rtB_G8Ux;G9Rjoo7ROx2dvaX42At--mK zlT$K$G>S0P^=)c)(`Y3e8K&WbEIb1iy*EyxF&H8 zo>CTHo+dN!&OsrF>jC9D;tDSLN`veLh%S=DY`e=zHTy)(%p&|}UDu&Wn>eyBKiHmP zW(VM7qw|q9+K!z-0r?&z5|*~G?Lea08Y?^;n*f_E$@yx7;6^i8WGr8KY-IK0cOyA+ z5{?q;8&-F%lREOd%1+x^&~S*Qi}PXzsBENqbPpqj63iS+_iL-MM6WkpS}%j=&p2xL zf^2f6J45vwiN-$^b=>4I{_sIWV6&}=J$4r_!PRbzST7)}?sOCoCK`d`!)Qqef>2U; zm5+cLRxtU75bzL_Y{|19a!`PYAp8OR91D_26;b({-wn(9q2KYLsoFdX{7fmd zkQrOAnyJWugvZCP!&iUMz)~Z1eV;JB+gk|*Pui_~{umqh-Ka%5@nB&${locKx?RJK zx@qg|h}<@k9iQ8FAl(}I28Zsy)>^hRkd;gVW!GqA1$lCG(G8oY5z3$p|5{w5hDoEBONA zCyjQ!XsF86-4`DE0?Lkk`p5b&Helq4@9{wMs!_hZ<5<2I4nAfp>Cz&8a^uU{5C5_A4PJsvd>uw)3obuqBQz0Db!^oQXY}1$ z|M&dWJ~A$#Vq4agowsQ#QyW-+Q@W2yRLBj!aq<|mCL8ssp2-WXi6$p)q~vP%Qy zJLo{$`-%78V0X{I++xf!&a3e;lF&WvFx1LU0bK^=K-d#v3^SHRycs-4z7DXosOXPl z;@c{Bb(mZD*}W%?o6{LcRjLoZ#;g&F_^;?rUV=3Z#+h^ObD&7-uhO{cOhu((_JEVK z#)c8}#8LlK7-L5!B*9y9IgXRYaAbiUFO=Io-U)e6*+E;?3Z4Km`~-eICZTCsdrT!M z(XpTc?24WuYgpu(-gKp70S|q*X(0DI5LDS%?KpBi`dF(u#o%4}QJmPy zi++uDp(Y+y8w_|x=;X#O$Ga@FbR1g2i0){^H=CXF3_~Rv6m8X79I}^>?@~rPnSeQc z#WOrdKjB)N2tfJk+;0ZB^T{_7!?vEp=+>iv9p5^r*<48R3}3)^MGB*%^K4~31-Tqs zbG7zK=hZ?SDPuU-#GlwU>YLk9_0uhyKE^ zzI^j9{nF*(+kFK3?Jw1tzU#@qfTPY*K=Zz>6dqcnZsF}-sSl2|Or~SDtwRtI_Dk>H zHw}ji4~@yX1=sJ{Y~?MZruX`p%BGZlJ^g!I%(@p-SkHQE@1r-ag5leU)J7BUOk^nkASwqAU^X`i?!$yBHAQ!X|(wXVuOVEo6cf|mtM z(W{T%2v zVy6XbWbEy`K6SW}McWU&4xq*D{3V|ZUZStfo(Ejf4q5YZwWQ<}kKy4*JeV6fYd_WM zpfNl}JEp7SXnmH??yYPx&^}D}y}f@spMlrOaqTNPM9<1ppQyzG0&r^#znkD*rxes^ z%U(vfFW`RNXwr)w5(H+?YXHxmz6}1m%NN=0L-76h=A?GPUEs_9T0Z4OMgnKe;FBOU zv}cMneOH$}r|{7! zI1Cw1jUBJi{e#CkaSWtfauA_w_-imJVZ*&ZMdV`H%Ko2mnW8q~R;!!D5? z@qFlK5=hsuJO<=n^c;H_keXWD&bzm9tu_knq!#EmG>Z0Y)12`rQ z%oy_<52Ow@d5~3i(DPKoS@%>Uqzlg#p48pbyMw+QlP~-c4ewx(LuH2+GaYcq+>}UZ zw0g}NJ>JyY6EdAqOm=`X>lQ%%Y!iXos9iQ68Yn8mw&upt1>OS^KVXvgxdr&perTzF zyv$*O)1UOgJZuE{$dF6C1@S|etmO#?$e763Lbdw|VF}np(d{6%NK>sg(zH!>>{BVj zU$VN6=^+?ovHQ}`Xl{8GiHq`-A9ca(io8a+v~(3+93Hy`h9gH1XJy0;oIQ-lW5*SO z9rcd!wEN0Mqo7F^RL7>23SPZC`28l!@Kw$yQV9K!e}x)e94%&E2hCRh^geQ2M|6|VIRK@nh3ipTh z4>H1~4QmhgqMdb_WMHbUk*sUl*7UIP{G(BpA9?e|<*sc69xd{TW+N>E6@s!mw!M`s zgm-)_P@1|Y3)>HOsiQB7FTUbS%0HKu#7T1@NYWX z>aA>q|&UXdR+m_pqI~wTep<9n3@O3k8cXB!vp5NMnErvML*X;hK-bZ zB_TObT=IKX;H*t?C;L!SxQy(*V{c%EKs$I<@b%ulSlQUNpeRq|{E%#(BmkqA0#aKr zEYS8gKAC~7eN_I%eBg|;pcLV)%t{~Z?pY&|MhPv(x1Sq6JoxC_1%3q1ri@HJ?K_q~ z`nK&Iax7o+9*nVn6=qnPjrP^Ki)1_DE=a13Ob!J7Y=Tn?TSDM$s?)s&B|5AKpldWP z9doiQBUl^(rLJ?1IQ1!U1gtQ+bsF$Qc(@MA54Zz zoD0@QgT|l0ms+W0VcvElL{}KAoiXcl@G?3E6QmBrkx4(hhq-$xpAE4bcvw09#uK>^ z5SYQx5Q#GBOHeJKxpF$oq3WOW0_F+~EPASb3x3I+m99LP{S5v9mH<`P z8!#7x8UF>MEVbO@99b>rqNuFt&51?f#!J2>ooe-QNbe@4u;d+Em$)5 zzM$nQBVeb?$_Z?|#yrd!1?N6EAO!17W0kw>aMX|(Dh2QI&^mE=tU18@jXoF; z+$(;vkOuTIB3BcmN{0^Zu)Bdq$tggOr!yIl;AE5iY}$1Wu+ag9+2krwFg=ybS0sb+ z2VOQsPAgvB>8srJ!pKkA#HQ^SK{@-JNlVTdj@odaU=$R@!j(pX&FQb*Oira=&lz9& zmDVO1WWU{3o^lSY*W}5<8@_@GAG0M^hiM$`WAwS`KmluTv6R|<-Bmiw(QCVmP$Bu( zx`%)NPu?Vb00FjRQw!yzac#6S`fT|58~^^l>+%o$TYu{E@BZ}HF7N)IZ(Tm!eY;-u z{_<5%<`17*VbhblfX~}-rZHaC>6lWjH*33rf{>oj_kd9PYkN-h8kguT!a{2!{byEBT#ev>b6wT~Ug9(&klX_B4K+ZbuGrGpV8 z_PDiB)^*m&+ipU5@G3kOs~h?7#BT&ed;8GH#M3_N`_T|f!P^&g&d&rE4MFh@0+drvI#7QrSPZC!ixK)nY-hUK0< zV?Ep!S`dr_*gpAl8dg%zd@1=KZ0DWtBeSEUG0vlE~8G93!*d(NpE5OsT3@dQZSzoT20D z#zkPq;D-7Y>i!(vL@dW@RC<@;+LH+GB__n(hhTvN2~=<$79i0N;ApK%7-yijr`#kx zbZ4ZZlHhiXr*b%aPlOxg>FkL%5zZhnMILjW!^z}tGCBqZ9mk;o@58Q-e@N7ws*&iSeFnPd+wgI1Eph1oi?b!Zyn75)Igl8i#1SW%Cz(kLOA z2Rh2!oIf2J$4lK;X+oZCx=S8A!UN_!L1&I>4J!GKr{D{42e~@ryz*5a%-saTy*xPM zK|}Dfj;`|@LHVAj$kCoS<0sTu;6z4t@HR4nxXDj};|TWk_;iAp;VNsklf;)85oDwD zIrfUy<5)vFxYNyeIGUqJi2L7h{vXDYTDLbmn7+}a)YV*PZyXaQGYM&sDQKp4eTWW|U4^ax!3RO`n7mJ5*LAi83Nl>} zB>9k2M9B+S=L2I8h22d@*E(!*Z5*6AFL~)`9`=riT7h4BAw2YF1&?ks|7Y;N^R{nc?zt2Q_w5_ z3uNL=ThW<$XfkzUQ_rt@I=5M`Q5%~*e(WjUg5?jbu~Fvh zoRSYZKdG)qAEQt9;nTruuWL`4SXHvm%9Zx2&UPcdb)w`}>H-#W{8+H$p`iJ}(08_yBo!Up0EB$QqiWRAh{gvjmE2BU07ABkV88V|kMncgz{in0zuN2`+qPPsf z1ANMW6`=IfO+qqmXZs7XvnI-d@{PuaMjO|b>}bzU-e)uT#Q*aGSAlAPMo+9|M@{n; zpnfPY5`3};@W{wos1F4zdn3EHk+l0MzzLQ!ecFoRG1}1VA@L1Z$mKT}Qg-3Np{>a@ z-RTf5baq!z^SXRa%v!WfwUu6W_E8X-KJc!MZgGC#rl3v2Agh+Vgk|G?F|`?pd(&RC*T&A=!1AiaQ5Wi?Qz^<2ZX_ST;qr&b(n+g;Hr-Y ztYSuY{B`FUE(+DpN&#B`y`bv=(+Tkf3 z1!y?xI>Wk*8cabO+LW3JYG8PinqiXN(+qhil%?t`zIBh4rSIX)!6ep|oy@yhr2C|1uk8^&L0l-#)4Dc!7@pkWVVj;% z=~(-ojnFST$eFzHrA%q$105ZxAA^&Z^drB+t5Gza0o*s7bVOh51rX`u7cOn&lpah* zuzKK^hj&M4OUGAGz?XrH{?tG6J9uuaqWjQ_JKacS0b*!y!o9-o16O%S_E6%!BLCdK z_%B?3^>6)sm;dBXw~p$Y0<5;IYy|7EPM~hJ9z~#HWXc+)K-Vdv`u>U zjl{hXStW8c@Bt=-+m54B0^WzF*NR30ir$3H#*&q78@zbn1KWZ`{)OiCq5QFtDi5Kb zys22)dwS~dc^=c8c^U#MFvJhPh(DBdU72pZ%nzvn@7Q zifK@`EWq4bkl7X5J)BNX;eOJ{?uSO2Hd_!mu@%i}D7nShfg60&?~mC)x$}L3EZ;e_ z^yXQ%z`pGj_Ou}D!SrBs^Rbqzl-d31E6!+VV2CqYiSzQ&b-Dcb`=9N;sY9=YGHAm2 z{Dc^SwAx=sSsSL6k6=QJ+0Rb1G)6axQfm2*Ilj)j50uVK{cvV{)mKU5?X;1X@s6?0v;W#+(C>BpCGkB_V6jH&L5H+L2J$9vVVtay0G#ia6 z2~GxvXAXI5vy$_?6L5%$sI!nW5Tzkd!&7%pAn+-7en)GUol%rdkbt+_09(ghT$p!C|=b(;P z`Do`v){Hl*q)xm9VD%##G{H3)FhVttY2Od3H$i@r#&>d%QC*osg z!Di@a3rm;b#$VUyf+hNiT-^mhv$^BAWQ_jmkc)Eg-8w~R0#KRCuYrT@2Yci-;zs7^ z>{iYJa;|S>oc9w@@;DN3M)xWXFB;+1xD(VsC5-HWMIh%&XZ6qq-(-UqPGq*BF2M)8 z^ljn_mO3|ij~+$74<}Gp8iRY7A5NU0U7GTnssrt+dt|KmI`bpgI^akGCeKt1r!IUmTj@mxAtJI?=8 zE%D55=R1-e7RZ#8*N!WHf;(x^6ys+Kql&fP{Bjl21sXzAzu9pma(e!B`Srj4*Ij<{ z5C7TAA9?>bU4H)m{NCmMt6#W0ZE>)Ly^rngE|9PT_Om+f`|NIQ#4hG_HXDK12uU51 z&PPYqh|HaK(TIU3a@!>wUl~btD(D8&+9EKnM%%p(G+AHlMP{}r$ zg3lirwR+X(gq}V#3TMb5*5&trV}#2C`_tAkk|8_v4N5ZI2x~IrKYrX>he7+2;hoMP zM#|V$3xPaO(;1G=k>JB1xYpVp@teghXQ+Hi9-JMnW(YhM+tHF@evDg$NZ(P&jX|Jm) zSEWoG=sG-fAhQo@EN$7o5vCkToLUp|__LJY%3=^|kD=)51|l5QGVq)tkeZ?dlc4&4 zegeV~go_%K;Y1iK6WtYExefR!$WTh@)ZSnL)hn7%CaBwhrBk2!r_AYB005BnLF@IZIHA^g&Z@^n^ZHvq}&<9?2lUfQ*RevzZ_KJ6VCV{LV$t-aMg zvjm17%o^O11M|7rkj`X=7DIuD7sGL!+yFE!G=V5-I>PaYMV0NF;Rz-h{5U}Kd^p2o z6u{|1Wdb1bGkQxtGj_5Fry5QI!|z1YPC593Q}J{$LysM!oy^Yw4==Mc^%>8Vtr$Zj z{4aVjy5+1s$yLs63Ytlnu^fKU1fI-V`_`Ck-<1Z*sB}@H6-?oV6B4dC=;IBO0qIj; zF-T7xD0B5spA1&N^oFq{ui=A+svRnni6@I-1^nEuz44+vxPpC)oQ)}(jqbzI@`7ms zquYY+hpZ+y*0v8gBsRw?TC$_1fnTM{;-9}cCjpYWoc{4MfKmR?fG+x18SNe1W8#c*;U3#d0J@uqo z73;t8HC{i|uGjB4_v(|)+Hi}l94$`5ed!{~qHV{qh%Lb?3Fd){#_-*N%_Z7cF1q7| z;rcUKeTqQA^$tUht_(b~Y5Y9>nYiH_ zCSO_(v%k_Y5XN3QPDh^7OcXX4Du8DtaNS7^3M|T%=rA2KhUA~hJPytJBoHhNL z*@pNdJXHwp2eR=~x=8`t@K_{EzqC)v0lX2gG)ujft#8r07wL)pc(G@D%1$@WnPeZM zNxw^ZyKXmWykjf1XHVg)_Fs7|6>Z>G=+DC?9@vHw)^pJLNX`O#Y>%VEdOxS!-?MaB z{@0a@ApuZ4qRwTNHH`2GnSowGr7|9Xr$D<7h*T_H`R;GaZZkAh=2$tyL+5nv$SL1f zA3Qb2hKkn!06+jqL_t&lfiM^;B*pxaL78Estl^cMm%m6;SKk`S5I&9ys1aIu0~kf# zd)>;1KNx7+3<;?2;eTrx<2I$%$;T-pSOSHbmouWbA{ zs+N!|Kv3{IhC2x5m!jY)I>k+);8xz@NuYF|V9r>cK67N1h6Qb9cNWgILy;L6a5?)` z%nov1Dvjc^7b47RkCRHVj&l(%;i+u~I-S}FtT`QeKt=X2QaSMNUw>%uQ6ZexE}k$V zV23mfAOGP+>ONQegJG#*Oo*p*1X5ycT}e88tKK>U_~AGGxDJ@#!dsm>U1j9M%|Oce z;!v33)0b+m3cXaU{$59{Y-NUjX>>+e1{$6Cb{+Rm{i|-xS(y$nHq0VDIJ$AlK z^m%OuH{7?EBUDypd-oBd>2F%`%o8GOx_(mtt z#rD8o>kq?M|ESe6+}<4a zn?7aS$^r+!xD$#-LGsskp|y!lIg6r9M~+4@6%%EZ(Dl#!v%hfpqyNSKa`}tj|GCSL zfAFKr+aGr>RvT+S_f!^3wZSn5!9Z=GzvD>7o9#d9-ez}rvS-?KUX!TECNlBCAicpZ zoSutf)sHwN2Hp>rL85^pZvZnxH^4q6FVO{uH1550bUrxS)E-Rlq}!9&*#*lzFRRBX zU_ZW;X9*1d9ZS&msiF~dC3_Lx4%RfV$C6%TUHNFc&yalSNiqkm8vG2b^3j7XpEz6p z3_tqSHQAZWi>ih4^73@%T^X4G!lJ-TuxOTjQXd;Yy^GFyRBwCr zjDvy=3Xc&baNu=66I$>r`%LGVsP(H{z+_-!^auFGSPvoSYhG+T-bRyG&xm@6#L!-9 za%a+(13-Zsi($#r=J}mT7Hl%4m;Kv-O?5nM@Fkq}ACtcOoEpay*rR1xlm4H6lRRtb zO*-lII&{GDtEV=%2Q}EhtE;^oQBeIi;p(i9jl;&|IW}a;DNf!o`=P@8Bp|^ALqi^=l`5EKjpr8()$h**&!!_&PayLxDq7AKIJsDMy)&S!Akj zPT9+sueX0JX3Un(*9jkTd68EO7Tda0;>YzID7Z%}l05WbqOq54$9GO0r~U5v{g#Vq z_0K)FbXe#3dh75ijl75?%%CtqW;qJa9Mu38*m$`CIEILJQM4VS5V9O39W!8lD;?hw zTGwM@;k~3Z>5gP+D!znbKKLR*bB(VQ$JdoYYOJ2vSFZ)Cde3G%So=^eL}&1N)&2FG@hq^)qLHR$k!_UPTl;pQxxEv){FS zl_@N9`-Y?RQJEYWrXg5DdN@TkyFq4VT;I7^M&zR!>aWXgLW-TurtRpWt9{d)8 z35LA0FDhAwuO(=C<7=ZMG{>hd0$<-NzqGX-?MPB+l&)mMR7Q0jT3t2%>fije%U}E6zjpcG{;zK?Kl#1i>|w%h z8l2x3#c3woY}Y;~o3FQ-Ic|#vSx$a$U~d4)+V23(=PA}e_cY>%E^J(f;fEYHwA++j zVv!_{NI5lbKsF#5=l2Sl%9~ide|*2?vb$#K&f>B$*rwq{J>osbgpM10=BS42=j^%- z_^_})$sU-y23PX2ToUB*|9N%1%0<-VE)VQgja$xnxEB$4=jp2re6Nz7ckqSkB24)8 zm|ECqZtIW%pUwY(mkq9*PkVk$gwW1diGJUwJfdyz&~NOcd6n&%W0aG^5qr^qs-4J+ zFTssppG7BvZI9H(fp}_9l09mGy$lZzACUA0d=8=~8q*o8CLGj<`o)({W_XrE;;bxA z!=7%mAv#&sgXd&^)$%R}bGlaBbkhTaF=SfuqVk+yG<+=W{&laziRUH@)}uYpzz%bm zM1fwVBikx49zO3#1-87gHvrn$5*|sJK%!wCk~q_|>seiv38&KK>j#eLupIrAe(7g# zKlH>Q8K+lXUF4mF@1sd%@lE{+E-|V$>4WpQI(8%uJai0#SK90}_4Y`aP}9^!|APDO zDcy^Y8$*J%iDG)xpq_)Ba}}+g6!awI-X$6CqNGph>7L9CALpQbBERzRTNLzj71*CU z5rBBc275yHHMxhUrv%|_((fS;?>h{;^;a9#waGFo``L^nWqH@0N%TFW7j*bV_Rq3f)-rL`FxNNY6aB!*a3 z=PE6@V*(|m7)&DMxBR9PB&=i98KDT&nX13RwtR!pab^-cWh1Tt%}}`sxd0{zN}jSX z=sI@k8<1n-i5S$^5`L*L8~lo$axruv&DsS6Y$av7_95U!m}=YLZ)U(ajn>*eA2cf* z!x+(od|Rfd#dTC;(9J_~TP^j!C@ulm}wp0z+2w<9iKP z?ifOY8eYg7-ZeQ^mUd=vD2ADKht=?2)M@got>h}#JK9c3v<4@feU4#qzq`pYs+Wh) z41-n{MI1xn5DevqjH26yc!etiJ?aEMAeBCHo;c_moeE7--iN#%pJ zzM;*Emp$0(j;J`n+FbQp+2d57@3mjqJ)OGtk{-Oqf^@OQHnBiQAP4;lnw;o~NCn=( zRT*MTgN|TJ!moS!9WC214L+=ge3%Ddbe0wx>sw&o`skv$gMRD_p3}QbV&#KN z;nnl6>$NvULRWYAS-R-YB`abTo$BfFoAm?z%d1M(zlv}taQ`DDP(a$*cJ_F&m~onhaZOPk~bItom0|1>Fx=@2zhN| za&2p8`@+hz=VxV;ji?Z3k%&IN3-{oV2z&0soSEQ=COwq+E;)KS(pY2p?`3&TFGuw& zXNhIcY*2q6+F#9y!=_o5+J@OtkmyQ_kb|phYh`7kXiV_nh`#x|~D7ktD5T^>N-Y>}bBjQ*5*)(#$6zO-LWq%wzuQy8zmB0~xi zY+s_rCIWXkV9I@IyN9P+t9ZHNtZaPiHu-ZFMMw**?I~H4?=MBBSohC;lj&Xi+Z^d& z&z0rj2WM}kBN1BJ&x`DxC2vk|ZIrJ!KlB0DJ1E4oqUBfJ|H@$bFP3NtLK{ zty3!sHmDRvagNyrt7*w9$FyN8w_laiPeE%#`2*^QD?y5jLYgIm?ne)}SuK8x@T=(ux~3C?}cLRLi2R17Zkqk9pG+QWCq;sFV0 z#;lG5;RX!(I#OS&JDnoG3NTI~*d^sYMyG_zYDhcrv~R?$tw9NJ*_#=h!v2G@TqxmB z|25q2k+E<--fqae!eoHXK&|-U>5Mr&3CHpLK$fQ!c{DEWH2Z`D~GD{Oy zeyD^WxbdaBF-I3TJciG7Mb-uF~aA z*VjyFh#HtpqG3ijM9s3$XJFh?IKGF&(9U=qw2eNES|7_{iyGWf~9lBRFa z5A{(;68ab!)OJAdYD?hw!CrK~C~vp)VS1$ewI7e+%{t+DqRt=!V!~p8=n_ldIc2td z(>=Jgzikecv*058R(Cfy8A>g0cxneyeUP?(-o^H)hQBQ3pvyd*?FkLSrT_hZ@aHdo z`j`Ii%U^!}M=n43e>&Oy_kOqc5&op5rloPOH?X_*R*f;8)c*$A(m;e0v! zN@T!!O|)=PlLTjj_p3yU=9dkMq6*}(C*tCUvxgk*;Cw655=$qdDV$aEnxoLY{s=|w z8mh^@)fC*0&nLpMy-JuauflAtWnd8%L*rIe(p!^U4yL?!@UJa{|01K~YsXJ`k6rCe zz74V>7*u&HEz&noMn~VG$Mk;7a8=lHUVOJlDoi#gLQ912b+mH}*q!YGs_%HGqV`Qp z-qgr>;_~RV3A{dQ#l$K0o)8pObf~5!JI)Wz%(ljx3KiwMuRqmGi&R;fwruO&dmKqo zNs%58JXp3aOn1AVP(<|NylkgrBF&lMI(gwzQj43%o; zniG)lx4xK3lW!ok6g+^oo!n1} zzO{M`?oq1Y1@8&u)E9F01N|C`>*1NOZUfpByBg;)+1jt%95KjLd~^`r5GIuJ!>cMT z5@-q0dp3IGZ*@jv>3VQ{MQ7Fl!w1tpovHs*uC2<;1GDcrPY2N9VeM!}o*5elB7or; zU6g#v2Qg`~DwiUldoWiz7&?DRb>04{cVJkD2aBSM0IJv5!4JIQrK*em2ZzDA$+Fs^ zP-RGJn?b7fDGpjCFs|y1GaQdoAx(LT9PfheBM)~LQRtpT*CB#W9-{*uD_wbYyU~Q1 zhz1tns(fq?b{SC(&R_+d(F0&hR^h~0p#io5EUWAI6X@YKXKw9lRLlOZ{}nnl!|k*$ zoBl6CWJ65|!oG{(_kERbRF);JPQ9wNf0e-v+r63ybHWc4tqxD+!WF$M8%;J7!$n`9 zlW3O$4_J=*gj=dvB?jFlHgopFk1TMDK5P)hk7T-6j|9)~z5Qa9+W<`ex;_(@(yF+n zj##_y^mpzz?5m&f)Dh*n>DAC2Ey)6n;X!wRBX2yzQ}BFH3hIqs`E;DU zP>Jz9GEkV#fVs=)4B*-Tr;ol{mo+(HeE;O1`cs$tfB8ST{Nk@PNo}+Hhqph@^0pLI z#N<&lqJ1NxP(}o{#bKZf{ZDg>?Ef+3cv28Ap#Bi8?;9`oa@z*v6P4r`q=#f$9h;#) zS~iLIQo!Jt*e_#H6sfTZSX)*u&eB;ZaF)^o=;##N^P=4nI9Z}wq-dEC&5N8!schtG zXiIq|I+!D|Z_pBUe2=PXN#!CwO-^=13q`2B)4KKXuqr(#gYYWDdDXb14-ClmXmLpClBeN5 z6{)U!_Yuu$(2g#SoOcAG)fn)wC|rF)xti0?yPP^pj+`<&ppC5M1ba#DgJB7}xTqx$y58{Kl8 zhPSUcs=(8s+w)w5Tdobq*U`^WhBEna3fbM4;o>bX&O+Pao@7FI`q;1J1>o!lpTTmd z{)i5nzH22ur8~)Cvd5#55g!8avB;ds#bZ3PT<+mEb~#X6lC*b$B;8U-{z{% zmcX|KDiof@n<0q_Q7P&tDhNGG+U(<}zUP0$(AU-dR2dGKJ&)ge{QgYE*NfT&qIUbs z%s|`^W`I*hU;UY*2EAWKZG&8lnsF*Xa1Z5Z_BaD#_ms75KgLN7SYM)yJrSTlq zodc$`m#4;QpAkLC7ywQVjSWUjq;Nh;GuVvIdS{hm^)>G_XTUg$tHQy_V9wAcg_zd& zz;P0_8?Vt_vMdmhpv-{`XX$-(?!il_>eNoijw|DvLf4$WaFP)pPe4N`{1izC*p+nv`Vg_B^M=1% zhO#nSR!G*vxs;nBGFDJ$|?tb?M?pzqrQH#{&pIh9N@NQs&^(k=qI6r$2Nt+ zIWm3lwX9$rp4DPMT#aiRcvD{JEJvNSt&!3=v-@IAwAUAA#n0*H)SG{7z?GsuNzyQ0zs*8r?W?46X>v(dUEO?%@MQ-yFL|NV}cB z4t^Qoi~2*K!rHGLF#C%Q?D}|zN26Hc&^Ydyx|?XIUY!73e&L_~r!N2Apa0)4fBuL6 z$mK`BQ537q?oS_n(moQ8eJ9hRaRxkRDQ)Sc!QxGHi3q&UD2s|Lir0+WlHS2=pt~0F z3dhi~obsy4k=K1pHOvT3N|2kS)XBU&Pk4Sx1~&Z9zEo~K3eEDuYs<3Xea@8&L=Mz+u{3ie zQI@=n?N4%WtLTY{An9nA-LYZaJxA73;BgSUuDtee!I{gs=O^W`Ci~jAhjtE4Pofr=3zynYHw+zMkUB}50d z;-#lK@sjgR_k8vgXt2C`Dq}kS_u>O)VdDtfvi7?7aL=Q@A5Q{Nf0M?Z=S1e{(!n5B zp)U>KJGrcE>3#6+MUgeH?lG~ukG?dx>tjEA$97TR=&JrrMjy)ql5^{536WC$gg+uU z^m9+&AHH8}Y_B0uxb_(M&E!a=52R&8(~z8Sc3B1`imM35P~zL{5L2rG!Xg{W*G^oN z(hb56f|LH37cuezWB^iTDj#s2R-SJ#*J(f+e@f|s5uYLSO|!zmtawdI({#j~0r41D z_2ww{J?E|>b1I^1v{Y~S_J8oek#}oX8~eFpHeTRV#%O#*v)}S5fp*-jKAgH^9D<`9 z+zzDEItf)OXk}}weAi~C@SW_`8?Odb!QralHm8U0Mzyuvbr26#!O|{Xhceexof%HZ ztffQCW+-(w-xVm&Cw#J$bA~F8t^)#n3_JdWQQ}}6k!jcg@u!cEoUA4EM0Z6lS`HGwywQHwV$e__^ zgBzSyPEoL%B~}hBPuY+idX!Ory(ad0*uvg9lN$Z&Tbu?@Ybur3*CNcjjwWsC4>6(E zLZ|;MT*(q>2VSgqgrmp?*vbx`97!3*O0HSrJ|cHf%Xo#q1U7yh`K=GuzJ3FqER2HV z_6ov1TK0t2wVf4Qdz!zxfa;+TzpmH2fTyx(4DXRz0S0Unu96ScDjma&bO>?K;HPgK zM^V0Z0u@e!8N%TE9Q~y;Fgdv4lKa`5L8@@S27mnw-)@8P2I%m`e?LA3k^kzi{?g^w z|M7qK@<09Z?_ZvN{KL!BH$Te3Y8O$1+?EP+whYvbm3^w2lV$Q{Sujm0deJPstIrJv z&McBD5;z-_%phwZ_HDUdx{bmjPzJ{d2SNQA@C;TQAv|=wA-sOOlfp5G4i>#}!~;5Q zv@wRE?`7$8q&tw*>cuPlBHUjUu?bjuY0_2Q{@Zh9BJ(DG*z47>)1VgKX85JQy1U;C zi|wa+T?E3*ufH^k?%{-JJGaRluJ z^0b>tu?XK;%H)tle{ep84@oVmR3n@Q_FzkL*D=czqe{Js)o(jyqtbgaaf4)Kt#)t} z-$eTvACduEL0^MsrNIVyJ(SG@kGvOgukK^A7G<%IX#04Azo=8V@1d7Kh2~i*i$8m? zr+fQq`^xTU4|n6u;A^Qm<=@KC18qO#eLCtv`ucOuq$3yXhjSYH^K>jh<+xq_jGTye ziCx}WmJe5vHuML4I9fus$83ADf=OUsUHMQ!6wgT~vrT+AE{Kjcv6vnZ*9mxt)LMQ- z72o1{N{o-jzq>DXca_!>YD`(AZgzB$t!tz&TpSvEmJ;hT@!7j4@nrr7o{?>lrae&_ zaA&u{&E({L51<^Mg3jgKjrQc*@+8^g^&Z}e*B^5f@6sVpr#t@SnGOE$dQo+IytZR4 z`(w#m$MMhtUSGozO=9A+2xiCQ(<>3;pXF%fRe!y(W76AfD$KT@qe2_F62O?B04-(B zLKAi6Zp&kol8`WtoCuxBbc&N$gCURE*?{FU{83h+;7bHj9dI#dS)qzkGKaPTH6d(T z`Z0PZzm_UB(xO9sM5kx)8C%VN+SE9>@c0CWFpHKW=Q&ojKANM05#7Tav7er4V}uY}bq_&s!T01brd9^e$z$o-Q?bw5 ztL~hcQVmR%!!qB4)3>%3t*hTIeU%R!`el=64GcGG2!FU7nbuZ)2o3PjPmV5Qz+uAZ zD0O>4$1CO4>rd#Nj*QgGc5_7AZ8R(49crbjG83>#>{GFbz z9rp(__@8%SD&JojY(XteUVVjP18s&?J`?&!|E+)H^3VPI|NZ5^{nhVYe)~6iKVb)t zet!2&ZNKjvsQ0{uIYVaDd%`OR>jMV@(8fC(lSN)QM=x8xI9;u@qE*=XzJCv4ZRyGj zlT8}nzP&v7l@Y>WgK$`lH;zSMhb@nI@^6pZhqLGwxh%q%2u*J-rFe=?yB~w+U3DLl zpFZRKA$pJ$mZ$9Jc?WSZ{C7xZ70*~2gF}ZLxpnwVpLQZVCnj8sBl^1&+ikM8Ok?Tj zY>jBcIk^R6XBUZTJiK1C&+!(bZTj39$WMgH24}cQ2gmY^!O|;P_5@_~iugE^hmIHs zMWF85C?AW`r|67N9OXxHO0Pe0E*n=OfBjFx_*nDFDERmitalBp+f+WQR1}QE)VSu< z`TW$CU&pG=kHK~n$IGIJ)0>VMzyp1Y@_p*{F^(6o|Bmwv&v#z=)8Ou9&m1F;GJ9go zbB@&PS-QlTux#sqT4O0klcSMOl|X|Lu1}t%i$9h`cUE6J#-FvfC=@Pl;?>>|5Poqb zN46+gbZ}a#G~RL`KYEdRKMrvf-K%P{sm<=;LJnS@tZll4W1Jz!Fyx}-K!zK;96uv# zHp+{^WBqg%o_>ta<2Q#eUMg^VVo~JpQ%;u$7d*i5u7+O;tJR=MmOW@}k8`~^ghHJWqAS7rVlhJ zHFS`G4zfEfopNB}867kY|%+{z{#aP=R4$~} z4kb-NJdnUpA0#Ur40{*`21PWzZ|&jSW(noT=(T@Oc zDa3RN<-h)wA6)**=YRh4w}17Amk&QJg7x;N z4I&N0&sr8~aJ9B#QKTSFbg)$h=LY@SFiE)4X|hOGFDvMYE6+r=M|k}i3qLh7%^uaA zOoGv(-_teE?T(IUwr7jnP`SgQ<2A{9`7PbqQeOD+mGs~Z(BXr-1~Bf3P4S}N`lF)? z7U9Y!*~G7ZTdQ02QUocl#-{Gq4Vat{6C_U%z7Dp2wX=tEYB+2*^P}0G7fWjFp6JT< z4Mh_Q^@T+SqM53H3je@fzMGIfSzeTn#^mSew>vye?>Q(QESQr8=LqyF8H1fePSNQJ z!RR^dd;+TkN2W2V>usAz|EV>8wVv9A{uN$5HQ-1J4vT&X zz|J=d?)r-X{B%kjuU@j@VR5?cH8Z}&FOjXUiY!L>Yzp3EE!)s#{OJkU=-^~I=yeZM z#M>9-lOrcG_&GhX94o^7l)^prgzR_YZA}Fud{eZy;cZFHwS8e#2p198zN+WUGrrJc zaM;#dyl5=1V(6iB9u{~V4Rphkr24Q(lnH}}0qBI+=djP~FWq}OQAAij`3TqU?Z0~L z$P;#n{4MKw^UbGlCi};hV%Z)&1`9Xak-?6eDic zxPdjLh-2GaD}&)o##>gX@ZNPrA_O07=W&3?*rIZ4>6lIM)t~d?x+EWur_cK@ZG&1F zO_Cyxajl&*at$xaGX+X;6x#J!rYrp<)natUL{XD-+C8rI+n-M)bsK&Wep?zj5th`t zOp1gx1{AoChJdSH*65&P>Nu!whE%%FvNpg#X9h4}bA-x(E7Lsu2yINh(NOj19Q&hv zov|-PhHr3fqTJwlZ3bU&&d_mm$T#>5X7IHamHNUuV3&u!7%@62DI<{Vl+zF+7blPW zT?GUEJ{$x2bOM>zK*V?rmqjp?sr+#ql?o4SfD!ZXEhB-)VWz75;J{^a4#rKkH9QAuW!6v)pBA;S^TI-jfp+Tj&I($w5H5dvQTn#0 zPxpa6osow(2JdrUN(lHPBedh&;d=wX7^3!R+hQj?YBto3?3w=b64I)(d3c35!{RyKEG@rG&mppY7f`oIWqeW}8I z^RN8pm%s2gipl)sH+u>6k9&2_PwG?c+GuHFXHwN?MDEe7?gstZ{m|J}+s70MX8*&I zY~mv->=WWJar|t=Hn7+r|Jb)fIG-$uVXD#G%vCUy{MndcD8h`^Kj9{a!< z-C172p$|4@YuE(GruV=U#iLsd(E3)qdy$iY3D1g1*jKZtbNtzIcaB4rddp3P!*-zM z+wjK|whwlqRHicYOVlaGch|M0%W5~s&0aW5$*J#D^m$GuSs0u>X}+iXOr-nqo=8!i zj}7i*gSQ`}{Xr^k@xuB7a^OF8L7(c_#Abo zf8kX$%JQ+#U1iA3Q=^<{kx~(+w>=5Vfqz{Ze4oA)QMD`=jm`>lYW#Tu5d2s512*mM z@>A^xFL1+;qqsiLT`B)la6~VSO)+*$!(?^j8I4`nJJN-?OWrvoo0x@@J!;N)HM}!A~aqB2@Uy#tz=7a=e?_7#8KFKlV zQ!fDr10!}Qo;->TO=$`SX@i;0-R}&#I^`HRHajG=$_*}l|)cDuH+S>Z?@;C+=>aOnuXq+7$wU^NFW9CC5=6ZdYvM!9#j?x0O{b2LOlwp??VQd+O>iSOVSg4l-efr|$Q zuCcUwc#Q|>++dP?AM*f2gSEX4(+w!_;?%*3?9~y4Z*0j?im#0#2Bf1emFaq}QF7w6 zumZK*5W?2BtfOptXPn1-{oF*uwsdU2fA*xVr>+0VWa5_hxFwR=xpF_5EW5z&emuBy!wlhhO@F;q71$X zl|kE*ASa6+Y>-83eb#&V(5*k*<;d7}z?t|a$Kz#2P~;{6vz4p~Hz$;*8!klL@R`iL zhDV=%m7Z`K_X6nf^N<7^zrP?@{sRZvB1H5;Kk!~aOUzk{@p~KmlRd}oF$d|6lUZM~ zG&?@V^x4TcXT$ij92oCm{Nllgc%Tn(4mdxLFHIXeb1ELL-Knk*`F47lS=JSn>;V#9&cXrhA{wt}BwGPL(bR>{-B zu_gbNpAiUc;ZgPG?AMQ&l(E8C8?T?YoBmmjEFWWMjfuDh*WtT(__I&HI&=IrATy-r zqO606t~Fx|k^XcX9}MCx`ab(nVkE=T55!PA!>IT6+1{4Qiu3?ci7Co$iDPBf<{`-C zoUjTba@ZVD>$o19B@h`pEW>+n3OEk*Fa3b%@Z=PBIYr{2P+Z^`tW&>A+LAcrlyy<^ z6}J9Ni02br9YenMYl~dXj%N57k{Ud;!VW6<)3@?{t0>x|{nKdB!fj7iECnHDB7|aU z-0wka4IcL5QDqbOQQQhtwxZ#eL=fIxY&^1zH;W|cpc^dFQjyBeu_*t@nJflD=GxYd zDre9=EyVfm`%nKv)qt+vP_M{wqSU#9Q5H%y>St8Si?E3_qOL_xxvNk(5cUZ)(xYm4 z%%Da$@=-fSHsE{JQ{UN=Yx~i%hUk(Gx#os9oF_Jn<)+5So5Q$YdX+1a_RTz3+l*UGXTP^ zzL4?JUb(|>_Dx=YlXc%F20%0B3Zp__@prrDfVtm(C;F#;z*a_iVFdi6oGSGPoJRJ| z(6S?=As&WXE$D&+HraLqC;iBGE$$eB|L8CMmCL(d_~V!V@t423y#3*CUp~J5QSXm? zcMi?8Y!qCN{ir>i0++o)Zqk;e``HuJRJtOw)k3;$l;V4Xr3BS64@DKQ(BP+gSfuJad3(|+SmbSJ9#wU zK6 z29uG2k7I=Ier;#q1Q?9*dPh4n&`RS>I0gJ1*AsuWGodt?N5__Ms?U+ZOZ%QYg*YBG zFvH=Tl~v1@2xE+M$Lt%kk)NY^owvpFaEsXOtqBGmi83zYf}b^JtfOyq)R|jTx9**7 zrMKMW%!xi)@;cjIqBOcV?#iB5=EREHqAw!A>e_Ggn1kkc1)Jc#7HNGtIPFr)Id@b* z`_AHzr|+&(O)-jq zekn{$zoEIPXVF`ce@}z^*jG4v%qfmf`1c1zw4t2hkQA3=BqgZ92IHbdC1Z-I? zf-D8Gt>$MXPu=^WS~Dbu`-GwI;GjbqCLrd@gVzJeh77Q&5$xh zjwl_u^cmx>IZ^-r@!e<|1CblTT``*2Y?1%2Q(;?7?RgmU+_x{y6t;q`^Nw7b^bZBA-gWt_d0gG zFp$jott^LcQ2{+OcsE&qv1{#tSo=qM-C#iNA{g|^NP@JG27ghuwJiyd(ysI!WJ~Ik z3Jvy%MKds^QEZN-Yf9tm@F~OA51pfX$cFdyr9xXK8smad4=|e{o#9{k#OiJU4I+yG z(u>kaW}BOph)=^4t#a`ugl;_D5`{AB>+)7;Rdk+%!f6Ktu-7O8gRe=|IU{r8H?)NF z=u*@SDh;X{9M5EdPDIo6@!*p5X4EZVW{1`Wx#7`~<>BG*9!<$ypK5@e{;a7Qfno_(utrn`Y*ZC7u& zUJ+6+zRVSi7i4t96AXDvfNxc_M|Uh~OnkR8-47Q8vPpgGCuB*sKJdkJPCqW1`5wB; zsBL<1XoeeS=W_WM|Jc8J`Ir9VU%dQ<@Bi%OCx7?1E+2mUTiKd-jZ+Os_4B(u8JEl( zJZuJj2On@5_kf|n9;z+-v&v@9XlXF>B$K5(OEudUCLMEwHGV0d9kav@<3(At84ut} zk2pHHcFn%)3$=xS*@vzjfv_V=qTfrK+3J@K2=6<2UVk+i@>G>RNzjPCVf>S^C}t zv~tRR(}3@(PR`kER&CF5=U|k!&GXgaOzjZP`Y>JNd_0C9ewRHR{!*PurnK|=vCo&c zIW(4}Dpg)ODT0%}SxIV3LDR2SeoY+(E15@1c`0eIH&T zFgDr0iWWKuFMF1-K7$a>a7wpo2hH}9BrhgZNH}KNCqho@`7`=uP|^!s(td zHU_M&Cj+N1`n?T`rHY1fR5^tv6pkOUysBST^XTA|y}muvqA=d4{0ARtvBac^UTrcG z9K6>_W}nfOu09kgv~2z}kAEk*KYRAIGCq)+lcmM}HUR8GLP``NGfY*OL5)E(iq#vT zm8lSNR^E2Yy_7PgRTmQuB6C;1g%Mse@VrRvZ;wpv8c48v?Up_x6Jv-sjhL`pb~9MV z7}r5kL@F=KctPe9pK)bM3szZ`m%4pb6kuu1 zBx>)-Gdzc!j%ToEe8D#uT%8}VOIp*_KM-A@E5gEW%Qobw>cQfa4}rBQy(&kKTz8`# zzx^?o@Lc-fXsr((q2U0YAwZa86)0>4WCo=BzBniw+?T|`i9T)hFm1cd~>(9f8fY?rcZ(kH`>prKdDtCx77MhiJuD zZ|*Pu*(gzH9m8c~;sc+ow)S+&-&t zcviH)Mr5y;a%wdm8VDTFXeopYUes?r@X{D@#ktgwa|D2>jD4){rw{41ks!FQn(dnq z(jlA3*&6$WEd8-noF??|VC7)gcUHC84(f~@_C{Hr;xLeRQ2L=G*@O6IGco(S$s$C8 z*GLA*sI+kX$%4cgfslX^yF7OU`M{jdV+(p&XRj2;UYBtHTBawDQ|HF2Y!O515FN zY*ef5;le?ws3S3y(WEUHHi*yR-;i93mfQ>8Zm;FwGPW}e|oNPK%3c07i=}*_u;#eED8qA#qrT>KQPjiG`6iMUQ z#D+OrqKlRWy~c)J*+elu*b8T3aUaeiY~DSY^k!pT#orw-0kfFkRZQ=j9=s@I^Z@sm zt-h$@Q&GK_c`MJOXVLiZ{T#E-{;f2%@}a%g7TMgde|u0xREeE>R$UXMJwHPRoUO>2 z{U|!R=x%&;`~pXF50fM@=XtT^FLcOxu<3D)?V+^ru9rs-{cB>OztH`7=wq*=2$+D0 zu}!%>F^;c<9u79!|NPVU>BjS~=VVlnlaM5?3WhS^su06#y8Hf8#u;TmcYiwW${{!g zP|&PG%wg0h*wtY6eH;pPgS$_8)k|h21|A+1IppWa;8tx8P(+?82i|TmQ)caII~GGX z8B#=w)J@Dd&W?-}BOr4g!gTG_COpgS54{8nUggSJx+dlg!{FedJ<2=hY6Gde$^(`X znZ-~PZB;bLrv-pF%g|0mbx;w20}D*JYbRcsn&6wc*!Y0PkyM?PJY~_avL}rcKtG$f zyMsRk3KrfBp+FDg@w(C(MQv!CY*DG`n(ao)IvDQ~ZVHUIcm?MQR|a6EzIRM9TI9U8Q@>~>I6JA7^(SEov5@nAYta}3%h2M8KKcxmU_w)V>7`08tm z7Ac1gU%vZsF+)*ecyyWyereN(V^;=yZFB{HK$QW?eSpT7%50hbiqB*NSof8f6N4vz{LlQE z%Rl(9|EHI~^ncu4e*brW^YZEUerJzyfBNv#&6?wAo=AESKRvBSR-Wwhc_3Ls2lIJWD8j*WSzU_vrh(mQf8-be}6?PtBbHs8aXwf+NO7 z5ZTl+8&&e0PSHVp)2H#rp!Tjoc6!vcWu?&_kJ(w*20XAl9Z2S4-;bQC`Z`X$PM<%B zPV`M*3`2K$d!OT{)6=)9xuPs`TnNAAR6$QQ+^Qulr3DiWzc5 zI3)UyV?%oJR98`JEbBc%FN#FHyDtB}=sYV9)GhF_{i@l6O>Wbp$Kb!r$z-qgiXrca zjCXHZQgze@PKhuI{&33jnzrZ8L}jL@Jd+3fhWCq2Ca*M#h?Vv!hfZJN=u#-yzRqcV z{#CU1a?QQSyZY+|(o^c6fBd!a=Iaewvq)vv*s+2^OKEtQ1|?$FVFBP-Z{sNC2$0lS zLCo*7fi-M+f39_KwRNO9U4s$CgX@HPI+OY_xwFxdm<$~}p~V-1+<*|n8D6;i z;bjoDYl=NG6R%xa(pa#x$PyjXB;}t$PIA~jxXlx(e z=mjTP(MLk)cI2)md_*^3e|UKKMuRI~Svqneq?L(BtBa3h9y}PVf2$uZ+R`+^=@Tan zoMX6X+9GVBa$ucEMx4rcE3MrsXZ&^>fApV-ti-kdl;LNx0Hk#69S!~GoZ{)L4c-S1 z80;6E509&bzhjAr?w89S`on+t@+bfD|9bgve)}K0{NUGr`|{yO?ZbNedvj<$c~rcJ z6#e}4wk^9E-)*|i!?6URpK}c0ejlxn_GB222@JjI-g2Bl^;rYKeYn^v^MP^C5&7KX z=D5CnAGLFzEG_%rm$%4wPL{KeoC77=g?^4b{o>?V5;RK}UE6`8^f*2=l#RxhZLYSt z`Gbx7(YYaP`ifP}^eUUegjlC}P)%y^=xYsfpAz3oz&@5tA zdzJ;C75U=?T1v50_bO+AV?w{48r)}#xq7impK~B)p!*Bw+S}5S{>WyRexhY$8DG;^ zw&740|DsD>aPY`7&0_~ks^cthXF&F=Zyef2ecz5f|clV zRyY^}4&j=7zOOV$>X)%1 z+)9lJ_FV1l5T(EFotPz3p_hd0TscH@o+a9`n@GnZ^$m4}vRIjHX|%W-8p z(6KWTXJ>NO^tbd3U4ESAKe>#R^@Zx~;MLmUf6V^U3kQ^jw}%Wqq&yEfxZecpyCLy2 zkKeD>m&@0bOdVeF#H1w>ALEMk?_;`hna79RyGlp9xv1#)GCE5oDJR^ zc=4><5g@z!JrNlkc;QCH4^HKu>%`8mpp%uVjj#tu!5KL`@C4BYS=VFU!NOoL2PEFI z4s%}MaK#b*jKWfs?Vhp`u}``Cj2pvEN&KU-@Gpm4yCb_ju%H~?m*+FtxVYZaA2{bkI4Xgc@Z1E#_2{TP z9J*dql>XJ{#_#H=L57?`P(&hqPG2lt|14)SPxu4}ZHAO{Yz*FoW996Xm_w$3PgPx7 z%GLL(9EuWab+-p+?UM&<)sUhZ1S+mjJQ{At&Md38URVCl{q9Fh;epOJjOeJfvz_?X-=xL$)|Ff#aWNrMp%i8Q7NjwOk7Bz>|hraxGsp`%Zn zoOF9jDHZU}JVZT~{-({r^m$HGiJ}9ZKHK4_5n=DrvtDQOr9DsfSnbG$aPZXM-Rs)U zj+)re`9*)@{dfhhY~4ffM8fu|P4zLyVXVsT2dggJ2SMKTUVpN-n~QXOYUKc)rFuu8|OENWq6yZuYX znQxxng=5Za{la@4-&Ni_4=oA9b&g*++Nae?Ne#~NA=+Yjc0;?aK>PTQDXyR6~eL&qGX zt9b4yw!m(wFow5uYF}1SElv^K`?0*Y$b5R|pwy2h3PsyQ<&5Qfbxe-V`rp3_}fuf4JK``w(+kJYz#YMbbz z%WI7?Fmujr{10Zm*i-3{rXNwy{*hY@cGv-{~r(^|7#XZu>Al4 N002ovPDHLkV1n_92UY+8 literal 0 HcmV?d00001 diff --git a/src/components/PeerGroupSelector.tsx b/src/components/PeerGroupSelector.tsx index 4510fa6..c26323d 100644 --- a/src/components/PeerGroupSelector.tsx +++ b/src/components/PeerGroupSelector.tsx @@ -309,7 +309,7 @@ export function PeerGroupSelector({ "flex items-center gap-2 border-nb-gray-700 flex-wrap h-full" } > - {resource && showResources && ( + {resource && ( r.id === resource.id)} diff --git a/src/components/ui/PolicyDirection.tsx b/src/components/ui/PolicyDirection.tsx index 145184a..415c685 100644 --- a/src/components/ui/PolicyDirection.tsx +++ b/src/components/ui/PolicyDirection.tsx @@ -34,31 +34,34 @@ export default function PolicyDirection({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [disabled]); + const isNetworkResource = + !!destinationResource && destinationResource?.type !== "peer"; + const topBadgeClass = useMemo(() => { - if (destinationResource) return "blueDark"; + if (isNetworkResource) return "blueDark"; if (value === "bi") return "green"; if (value === "in") return "blueDark"; return "gray"; - }, [value, destinationResource]); + }, [value, isNetworkResource]); const topArrowClass = useMemo(() => { - if (destinationResource) return "fill-sky-500"; + if (isNetworkResource) return "fill-sky-500"; if (value === "bi") return "fill-green-500"; if (value === "in") return "fill-sky-500"; return "fill-gray-500"; - }, [value, destinationResource]); + }, [value, isNetworkResource]); const bottomBadgeClass = useMemo(() => { - if (destinationResource) return "gray"; + if (isNetworkResource) return "gray"; if (value === "bi") return "green"; return "gray"; - }, [value, destinationResource]); + }, [value, isNetworkResource]); const bottomArrowClass = useMemo(() => { - if (destinationResource) return "fill-gray-500"; + if (isNetworkResource) return "fill-gray-500"; if (value === "bi") return "fill-green-500"; return "fill-gray-500"; - }, [value, destinationResource]); + }, [value, isNetworkResource]); return (
-
+

) { ); return ( -

+
void; + onSuccess?: () => void; +}; + +export const PeerSSHInstructions = ({ + open, + onOpenChange, + onSuccess, +}: Props) => { + return ( + + + } + title={"Enable SSH Access"} + description={ + "Allow remote SSH access to this machine from other connected network participants. NetBird's embedded SSH server is running on port 44338." + } + color={"netbird"} + /> + + + +
+ + +

+ If you are using NetBird via CLI, you can enable SSH by running +

+ + {`netbird down # if NetBird is already running`} + + + {`netbird up --allow-server-ssh`} + +
+ + +

+ If you are using NetBird via the Desktop Client, click on the + NetBird tray icon, go to Settings and click{" "} + Allow SSH
+

+ +
+ + +

+ Once the NetBird SSH server is allowed on the client,
+ click Confirm & Enable below to finish the setup. +

+
+
+
+ + +
+ + Learn more about + + SSH + + + +
+
+ + + + + +
+
+
+
+ ); +}; diff --git a/src/modules/peer/PeerSSHToggle.tsx b/src/modules/peer/PeerSSHToggle.tsx new file mode 100644 index 0000000..38bf2c4 --- /dev/null +++ b/src/modules/peer/PeerSSHToggle.tsx @@ -0,0 +1,47 @@ +import FancyToggleSwitch from "@components/FancyToggleSwitch"; +import FullTooltip from "@components/FullTooltip"; +import { LockIcon, TerminalSquare } from "lucide-react"; +import * as React from "react"; +import { usePeer } from "@/contexts/PeerProvider"; +import { usePermissions } from "@/contexts/PermissionsProvider"; + +export const PeerSSHToggle = () => { + const { permission } = usePermissions(); + const { peer, toggleSSH, setSSHInstructionsModal } = usePeer(); + + return ( + <> + + + + {`You don't have the required permissions to update this + setting.`} + +
+ } + interactive={false} + className={"w-full block"} + disabled={permission.peers.update} + > + + enable ? setSSHInstructionsModal(true) : toggleSSH(false) + } + label={ + <> + + SSH Access + + } + helpText={ + "Enable the SSH server on this peer to access the machine via an secure shell." + } + /> + + + ); +}; diff --git a/src/modules/peers/PeerActionCell.tsx b/src/modules/peers/PeerActionCell.tsx index 02bdd46..aae26d7 100644 --- a/src/modules/peers/PeerActionCell.tsx +++ b/src/modules/peers/PeerActionCell.tsx @@ -24,7 +24,8 @@ import { usePermissions } from "@/contexts/PermissionsProvider"; import { ExitNodeDropdownButton } from "@/modules/exit-node/ExitNodeDropdownButton"; export default function PeerActionCell() { - const { peer, deletePeer, update, openSSHDialog } = usePeer(); + const { peer, deletePeer, update, toggleSSH, setSSHInstructionsModal } = + usePeer(); const router = useRouter(); const { mutate } = useSWRConfig(); const { permission } = usePermissions(); @@ -48,21 +49,6 @@ export default function PeerActionCell() { }); }; - const toggleSSH = async () => { - const text = peer.ssh_enabled ? "disabled" : "enabled"; - notify({ - title: `SSH Server is ${text}`, - description: `The SSH Server for the peer ${peer.name} was successfully ${text}.`, - promise: update({ - ssh: !peer.ssh_enabled, - }).then(() => { - mutate("/peers"); - mutate("/groups"); - }), - loadingMessage: "Updating SSH access...", - }); - }; - return (
@@ -118,10 +104,8 @@ export default function PeerActionCell() { peer.ssh_enabled - ? toggleSSH() - : openSSHDialog().then((enable) => - enable ? toggleSSH() : null, - ) + ? toggleSSH(false) + : setSSHInstructionsModal(true) } disabled={!permission.peers.update} > diff --git a/src/modules/peers/PeerConnectButton.tsx b/src/modules/peers/PeerConnectButton.tsx index 96af981..05b60c8 100644 --- a/src/modules/peers/PeerConnectButton.tsx +++ b/src/modules/peers/PeerConnectButton.tsx @@ -6,12 +6,12 @@ import { import FullTooltip from "@components/FullTooltip"; import { getOperatingSystem } from "@hooks/useOperatingSystem"; import { IconChevronDown } from "@tabler/icons-react"; +import { cn } from "@utils/helpers"; import * as React from "react"; import { usePeer } from "@/contexts/PeerProvider"; import { OperatingSystem } from "@/interfaces/OperatingSystem"; import { RDPButton } from "@/modules/remote-access/rdp/RDPButton"; import { SSHButton } from "@/modules/remote-access/ssh/SSHButton"; -import { cn } from "@utils/helpers"; export const PeerConnectButton = () => { const { peer } = usePeer(); @@ -50,7 +50,7 @@ export const PeerConnectButton = () => { - Connecting via SSH or RDP is only available when the peer is online. + Connecting via SSH or RDP is only available when the peer is online.
} > diff --git a/src/modules/peers/PeerVersionCell.tsx b/src/modules/peers/PeerVersionCell.tsx index 154a868..bae7edd 100644 --- a/src/modules/peers/PeerVersionCell.tsx +++ b/src/modules/peers/PeerVersionCell.tsx @@ -9,7 +9,6 @@ import { import MemoizedNetBirdIcon from "@components/ui/MemoizedNetBirdIcon"; import { getOperatingSystem } from "@hooks/useOperatingSystem"; import { parseVersionString } from "@utils/version"; -import { trim } from "lodash"; import { ArrowRightIcon, ArrowUpCircleIcon } from "lucide-react"; import * as React from "react"; import { useMemo } from "react"; @@ -39,8 +38,6 @@ export default function PeerVersionCell({ version, os, serial }: Props) { return ; }, []); - const isWasmClient = trim(os) === "js"; - return (
{updateAvailable ? ( @@ -114,7 +111,7 @@ export default function PeerVersionCell({ version, os, serial }: Props) { > - {isWasmClient ? "Web Client" : os} + {os}
)} diff --git a/src/modules/peers/PeersTable.tsx b/src/modules/peers/PeersTable.tsx index 69735a7..96ac958 100644 --- a/src/modules/peers/PeersTable.tsx +++ b/src/modules/peers/PeersTable.tsx @@ -259,10 +259,17 @@ export default function PeersTable({ const [showBrowserPeers, setShowBrowserPeers] = useState(false); const withBrowserPeers = useCallback( - (condition: boolean) => - peers?.filter((peer) => - condition ? trim(peer.os) === "js" : trim(peer.os) !== "js", - ) ?? [], + (condition: boolean) => { + const isWebClient = (peer: Peer) => { + return trim(peer?.os) == "js" || peer.kernel_version === "wasm"; + }; + + return ( + peers?.filter((peer) => + condition ? isWebClient(peer) : !isWebClient(peer), + ) ?? [] + ); + }, [peers], ); diff --git a/src/modules/remote-access/rdp/RDPCredentialsModal.tsx b/src/modules/remote-access/rdp/RDPCredentialsModal.tsx index 1120798..c201e65 100644 --- a/src/modules/remote-access/rdp/RDPCredentialsModal.tsx +++ b/src/modules/remote-access/rdp/RDPCredentialsModal.tsx @@ -1,8 +1,13 @@ -import * as React from "react"; -import { useCallback, useMemo, useState } from "react"; +import Button from "@components/Button"; +import HelpText from "@components/HelpText"; +import InlineLink from "@components/InlineLink"; +import { Input } from "@components/Input"; +import { Label } from "@components/Label"; import { Modal, ModalContent, ModalFooter } from "@components/modal/Modal"; import ModalHeader from "@components/modal/ModalHeader"; -import { Peer } from "@/interfaces/Peer"; +import Paragraph from "@components/Paragraph"; +import Separator from "@components/Separator"; +import { IconLoader2 } from "@tabler/icons-react"; import { ChevronsLeftRightEllipsis, ExternalLinkIcon, @@ -10,18 +15,13 @@ import { MonitorIcon, User2, } from "lucide-react"; -import Separator from "@components/Separator"; -import Paragraph from "@components/Paragraph"; -import InlineLink from "@components/InlineLink"; -import Button from "@components/Button"; -import { Label } from "@components/Label"; -import HelpText from "@components/HelpText"; -import { Input } from "@components/Input"; +import * as React from "react"; +import { useCallback, useMemo, useState } from "react"; +import { Peer } from "@/interfaces/Peer"; import { RDP_DOCS_LINK, RDPCredentials, } from "@/modules/remote-access/rdp/useRemoteDesktop"; -import { IconLoader2 } from "@tabler/icons-react"; type Props = { open: boolean; @@ -61,9 +61,31 @@ export const RDPCredentialsModal = ({ const handleConnect = useCallback(() => { if (hasAnyError || !onConnect) return; + + let parsedUsername = username; + let parsedDomain = ""; + + // Parse DOMAIN\username format + if (username.includes("\\")) { + const parts = username.split("\\"); + if (parts.length === 2) { + parsedDomain = parts[0]; + parsedUsername = parts[1]; + } + } + // Parse username@domain format + else if (username.includes("@")) { + const parts = username.split("@"); + if (parts.length === 2) { + parsedUsername = parts[0]; + parsedDomain = parts[1]; + } + } + onConnect({ - username, + username: parsedUsername, password, + domain: parsedDomain, port: Number(port), }); }, [hasAnyError, onConnect, username, password, port]); @@ -111,11 +133,12 @@ export const RDPCredentialsModal = ({ Enter the credentials required to authenticate with the remote - host. + host. For domain accounts, use DOMAIN\username or username@domain + format.
setUsername(e.target.value)} onKeyDown={handleKeyDown} diff --git a/src/modules/remote-access/rdp/ironrdp-wasm-bridge.ts b/src/modules/remote-access/rdp/ironrdp-wasm-bridge.ts index c4c5a5e..1f62517 100644 --- a/src/modules/remote-access/rdp/ironrdp-wasm-bridge.ts +++ b/src/modules/remote-access/rdp/ironrdp-wasm-bridge.ts @@ -29,7 +29,6 @@ export interface RDPSession { shutdown(): void; sendInput(input: unknown): void; onClipboardPaste?(content: ClipboardData): Promise; - inputHandler?: IronRDPInputHandler; } interface TerminationInfo { reason(): string; @@ -57,11 +56,6 @@ interface RDPConfig { declare global { interface Window { IronRDPBridge: IronRDPWASMBridge; - IronRDPInputHandler?: new ( - ironrdp: IronRDPModule, - session: RDPSession, - canvas: HTMLCanvasElement, - ) => IronRDPInputHandler; initializeIronRDP: () => Promise; onIronRDPReady?: () => void; createRDCleanPathProxy?: ( @@ -70,9 +64,6 @@ declare global { ) => Promise; } } -interface IronRDPInputHandler { - destroy(): void; -} const IRON_RDP_PKG = "/ironrdp-pkg/ironrdp_web.js"; @@ -115,7 +106,8 @@ export class IronRDPWASMBridge { port: number, username: string, password: string, - canvas: HTMLCanvasElement, + domain?: string, + canvas?: HTMLCanvasElement, enableClipboard = true, netbirdClient?: { createRDPProxy: (hostname: string, port: string) => Promise; @@ -132,9 +124,9 @@ export class IronRDPWASMBridge { const config: RDPConfig = { username, password, - domain: "", - width: canvas.width || 1024, - height: canvas.height || 768, + domain: domain || "", + width: canvas?.width || 1024, + height: canvas?.height || 768, enable_tls: true, enable_credssp: true, enable_nla: true, @@ -177,9 +169,6 @@ export class IronRDPWASMBridge { builder.authToken(""); const session = await builder.connect(); this.sessions.set(sessionId, session); - if (canvas) { - this.attachInputHandler(session, canvas); - } if (enableClipboard) { this.startClipboardEventListeners(); } @@ -203,24 +192,7 @@ export class IronRDPWASMBridge { this.handleLocalClipboardRequest(); }); } - private attachInputHandler( - session: RDPSession, - canvas: HTMLCanvasElement, - ): void { - if (!window.IronRDPInputHandler) { - console.warn("IronRDPInputHandler not loaded - input will not work"); - return; - } - if (!this.ironrdp) { - console.warn("IronRDP module not available"); - return; - } - session.inputHandler = new window.IronRDPInputHandler( - this.ironrdp, - session, - canvas, - ); - } + private startSession(session: RDPSession, sessionId: string): void { session .run() @@ -234,9 +206,6 @@ export class IronRDPWASMBridge { }); } private cleanupSession(session: RDPSession, sessionId: string): void { - if (session.inputHandler) { - session.inputHandler.destroy(); - } this.sessions.delete(sessionId); // Stop clipboard event listeners if no active sessions @@ -244,12 +213,82 @@ export class IronRDPWASMBridge { this.stopClipboardEventListeners(); } } + private formatWSAError(wsaCode: number): string { + const wsaDescriptions: Record = { + 10004: "interrupted system call", + 10009: "bad file descriptor", + 10013: "permission denied", + 10014: "bad address", + 10022: "invalid argument", + 10024: "too many open files", + 10035: "resource temporarily unavailable", + 10036: "operation now in progress", + 10037: "operation already in progress", + 10038: "socket operation on nonsocket", + 10039: "destination address required", + 10040: "message too long", + 10041: "protocol wrong type for socket", + 10042: "bad protocol option", + 10043: "protocol not supported", + 10044: "socket type not supported", + 10045: "operation not supported", + 10046: "protocol family not supported", + 10047: "address family not supported by protocol family", + 10048: "address already in use", + 10049: "cannot assign requested address", + 10050: "network is down", + 10051: "network is unreachable", + 10052: "network dropped connection on reset", + 10053: "software caused connection abort", + 10054: "connection reset by peer", + 10055: "no buffer space available", + 10056: "socket is already connected", + 10057: "socket is not connected", + 10058: "cannot send after socket shutdown", + 10060: "connection timed out", + 10061: "connection refused", + 10064: "host is down", + 10065: "no route to host", + 10067: "too many processes", + 10091: "network subsystem is unavailable", + 10092: "Winsock version not supported", + 10093: "successful WSAStartup not yet performed", + 10101: "graceful shutdown in progress", + 10109: "class type not found", + 11001: "host not found", + 11002: "nonauthoritative host not found", + 11003: "this is a nonrecoverable error", + 11004: "valid name, no data record of requested type", + }; + + return wsaDescriptions[wsaCode] || "unknown error"; + } + + private formatRDCleanPathError(backtraceMsg: string): string { + const wsaMatch = backtraceMsg.match(/WSA last error = (\d+)/); + if (wsaMatch) { + const wsaCode = parseInt(wsaMatch[1], 10); + const description = this.formatWSAError(wsaCode); + return `Connection failed: ${description} (WSA ${wsaCode})`; + } + + const httpMatch = backtraceMsg.match(/HTTP status code = (\d+)/); + if (httpMatch) { + return `Connection failed: HTTP ${httpMatch[1]}`; + } + + return backtraceMsg; + } + private logIronError(error: unknown): void { const ironError = error as any; if (!ironError || !ironError.__wbg_ptr) return; try { if (ironError.backtrace) { - console.error("IronRDP backtrace:", ironError.backtrace()); + const backtraceMsg = ironError.backtrace(); + const formattedMsg = this.formatRDCleanPathError(backtraceMsg); + console.error("IronRDP error:", formattedMsg); + console.debug("IronRDP backtrace:", backtraceMsg); } if (ironError.kind) { const errorKind = ironError.kind(); @@ -269,13 +308,13 @@ export class IronRDPWASMBridge { console.error("Could not extract IronError details:", e); } } + getSession(sessionId: string): RDPSession | null { + return this.sessions.get(sessionId) || null; + } + disconnect(sessionId: string): void { const session = this.sessions.get(sessionId); if (!session) return; - if (session.inputHandler) { - session.inputHandler.destroy(); - session.inputHandler = undefined; - } if (session.shutdown) { session.shutdown(); } diff --git a/src/modules/remote-access/rdp/useIronRDPInputHandler.ts b/src/modules/remote-access/rdp/useIronRDPInputHandler.ts new file mode 100644 index 0000000..8b9ec9a --- /dev/null +++ b/src/modules/remote-access/rdp/useIronRDPInputHandler.ts @@ -0,0 +1,1089 @@ +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import type { IronRDPModule, RDPSession } from "./ironrdp-wasm-bridge"; + +interface DeviceEvent { + free?(): void; +} + +interface InputTransaction { + addEvent(event: DeviceEvent): void; + free?(): void; +} + +interface IronRDPAPI extends IronRDPModule { + DeviceEvent: { + mouseButtonPressed(button: number): DeviceEvent; + mouseButtonReleased(button: number): DeviceEvent; + mouseMove(x: number, y: number): DeviceEvent; + wheelRotations(isVertical: boolean, rotationUnits: number): DeviceEvent; + keyPressed(scancode: number): DeviceEvent; + keyReleased(scancode: number): DeviceEvent; + unicodePressed(unicode: string): DeviceEvent; + unicodeReleased(unicode: string): DeviceEvent; + }; + InputTransaction: new () => InputTransaction; +} + +interface ExtendedRDPSession extends RDPSession { + applyInputs(transaction: InputTransaction): void; +} + +interface CoordinateResult { + x: number; + y: number; +} + +interface UseIronRDPInputHandlerProps { + ironrdp: IronRDPModule | null; + session: RDPSession | null; + canvas: HTMLCanvasElement | null; + isConnected: boolean; +} + +declare global { + interface Window { + toggleFullscreen?: () => void; + } +} + +const activeHandlers = new Map void>(); + +export const useIronRDPInputHandler = ({ + ironrdp, + session, + canvas, + isConnected, +}: UseIronRDPInputHandlerProps) => { + const [isActive, setIsActive] = useState(false); + const mouseButtonStatesRef = useRef>({ + 0: false, + 1: false, + 2: false, + }); + const keyStatesRef = useRef(new Map()); + const currentMouseRef = useRef({ x: 0, y: 0 }); + const touchStateRef = useRef({ + lastX: 0, + lastY: 0, + touching: false, + touchId: null as number | null, + }); + + const codeToScancode: Record = useMemo( + () => ({ + KeyA: 0x1e, + KeyB: 0x30, + KeyC: 0x2e, + KeyD: 0x20, + KeyE: 0x12, + KeyF: 0x21, + KeyG: 0x22, + KeyH: 0x23, + KeyI: 0x17, + KeyJ: 0x24, + KeyK: 0x25, + KeyL: 0x26, + KeyM: 0x32, + KeyN: 0x31, + KeyO: 0x18, + KeyP: 0x19, + KeyQ: 0x10, + KeyR: 0x13, + KeyS: 0x1f, + KeyT: 0x14, + KeyU: 0x16, + KeyV: 0x2f, + KeyW: 0x11, + KeyX: 0x2d, + KeyY: 0x15, + KeyZ: 0x2c, + Digit0: 0x0b, + Digit1: 0x02, + Digit2: 0x03, + Digit3: 0x04, + Digit4: 0x05, + Digit5: 0x06, + Digit6: 0x07, + Digit7: 0x08, + Digit8: 0x09, + Digit9: 0x0a, + F1: 0x3b, + F2: 0x3c, + F3: 0x3d, + F4: 0x3e, + F5: 0x3f, + F6: 0x40, + F7: 0x41, + F8: 0x42, + F9: 0x43, + F10: 0x44, + F11: 0x57, + F12: 0x58, + Backspace: 0x0e, + Tab: 0x0f, + Enter: 0x1c, + ShiftLeft: 0x2a, + ShiftRight: 0x36, + ControlLeft: 0x1d, + ControlRight: 0x9d, + AltLeft: 0x38, + AltRight: 0xb8, + CapsLock: 0x3a, + Escape: 0x01, + Space: 0x39, + PageUp: 0xe049, + PageDown: 0xe051, + End: 0xe04f, + Home: 0xe047, + ArrowLeft: 0xe04b, + ArrowUp: 0xe048, + ArrowRight: 0xe04d, + ArrowDown: 0xe050, + Insert: 0xe052, + Delete: 0xe053, + MetaLeft: isMacOS() ? 0x1d : 0x5b, + MetaRight: isMacOS() ? 0x9d : 0x5c, + Semicolon: 0x27, + Equal: 0x0d, + Comma: 0x33, + Minus: 0x0c, + Period: 0x34, + Slash: 0x35, + Backquote: 0x29, + BracketLeft: 0x1a, + Backslash: 0x2b, + BracketRight: 0x1b, + Quote: 0x28, + Numpad0: 0x52, + Numpad1: 0x4f, + Numpad2: 0x50, + Numpad3: 0x51, + Numpad4: 0x4b, + Numpad5: 0x4c, + Numpad6: 0x4d, + Numpad7: 0x47, + Numpad8: 0x48, + Numpad9: 0x49, + NumpadDecimal: 0x53, + NumpadDivide: 0xe035, + NumpadMultiply: 0x37, + NumpadSubtract: 0x4a, + NumpadAdd: 0x4e, + NumpadEnter: 0xe01c, + NumLock: 0x45, + }), + [], + ); + + const mouseButtonMap: Record = useMemo(() => { + return { 0: 0, 1: 1, 2: 2 }; + }, []); + + /** + * Detect macOS + */ + function isMacOS(): boolean { + if ("userAgentData" in navigator && (navigator as any).userAgentData) { + return (navigator as any).userAgentData.platform === "macOS"; + } + return /Mac|iPhone|iPad|iPod/.test(navigator.userAgent); + } + + const getCanvasCoordinates = useCallback( + (clientX: number, clientY: number): CoordinateResult => { + if (!canvas) return { x: 0, y: 0 }; + + const rect = canvas.getBoundingClientRect(); + const canvasAspectRatio = canvas.width / canvas.height; + const containerAspectRatio = rect.width / rect.height; + + let renderWidth: number, + renderHeight: number, + offsetX: number, + offsetY: number; + + const isFullscreen = + document.fullscreenElement === canvas || + document.fullscreenElement === canvas.parentElement; + const hasLetterbox = isFullscreen && canvas.style.objectFit !== "fill"; + + if (hasLetterbox && canvasAspectRatio !== containerAspectRatio) { + if (canvasAspectRatio > containerAspectRatio) { + renderWidth = rect.width; + renderHeight = rect.width / canvasAspectRatio; + offsetX = 0; + offsetY = (rect.height - renderHeight) / 2; + } else { + renderWidth = rect.height * canvasAspectRatio; + renderHeight = rect.height; + offsetX = (rect.width - renderWidth) / 2; + offsetY = 0; + } + } else { + renderWidth = rect.width; + renderHeight = rect.height; + offsetX = 0; + offsetY = 0; + } + + const scaleX = canvas.width / renderWidth; + const scaleY = canvas.height / renderHeight; + + const relativeX = clientX - rect.left - offsetX; + const relativeY = clientY - rect.top - offsetY; + + const x = Math.max( + 0, + Math.min(canvas.width - 1, Math.round(relativeX * scaleX)), + ); + const y = Math.max( + 0, + Math.min(canvas.height - 1, Math.round(relativeY * scaleY)), + ); + + return { x, y }; + }, + [canvas], + ); + + const sendCopyKeyCombination = useCallback(() => { + if (!session || !ironrdp) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + const ctrlScancode = isMacOS() + ? codeToScancode.MetaLeft + : codeToScancode.ControlLeft; + const cScancode = codeToScancode.KeyC; + + if (ctrlScancode && cScancode) { + const ctrlDown = api.DeviceEvent.keyPressed(ctrlScancode); + transaction.addEvent(ctrlDown); + + const cDown = api.DeviceEvent.keyPressed(cScancode); + transaction.addEvent(cDown); + + const cUp = api.DeviceEvent.keyReleased(cScancode); + transaction.addEvent(cUp); + + const ctrlUp = api.DeviceEvent.keyReleased(ctrlScancode); + transaction.addEvent(ctrlUp); + + extSession.applyInputs(transaction); + } + } catch (err) { + console.error("Error sending copy key combination:", err); + } + }, [session, ironrdp, codeToScancode]); + + const sendPasteKeyCombination = useCallback(() => { + if (!session || !ironrdp) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + const ctrlScancode = isMacOS() + ? codeToScancode.MetaLeft + : codeToScancode.ControlLeft; + const vScancode = codeToScancode.KeyV; + + if (ctrlScancode && vScancode) { + const ctrlDown = api.DeviceEvent.keyPressed(ctrlScancode); + transaction.addEvent(ctrlDown); + + const vDown = api.DeviceEvent.keyPressed(vScancode); + transaction.addEvent(vDown); + + const vUp = api.DeviceEvent.keyReleased(vScancode); + transaction.addEvent(vUp); + + const ctrlUp = api.DeviceEvent.keyReleased(ctrlScancode); + transaction.addEvent(ctrlUp); + + extSession.applyInputs(transaction); + } + } catch (err) { + console.error("Error sending paste key combination:", err); + } + }, [session, ironrdp, codeToScancode]); + + const sendTextAsKeystrokes = useCallback( + (text: string) => { + if (!session || !ironrdp) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + // Send each character as unicode event + for (let i = 0; i < text.length; i++) { + const char = text.charAt(i); + const deviceEvent = api.DeviceEvent.unicodePressed(char); + transaction.addEvent(deviceEvent); + } + + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending paste text:", err); + } + }, + [session, ironrdp], + ); + + const releaseModifierKeys = useCallback(() => { + if (!session || !ironrdp) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + // Release all common modifier keys + const modifierScancodes = [ + codeToScancode.ControlLeft, // Left Ctrl + codeToScancode.ControlRight, // Right Ctrl + codeToScancode.MetaLeft, // Left Meta/Windows + codeToScancode.MetaRight, // Right Meta/Windows + codeToScancode.ShiftLeft, // Left Shift + codeToScancode.ShiftRight, // Right Shift + codeToScancode.AltLeft, // Left Alt + codeToScancode.AltRight, // Right Alt + ]; + + for (const scancode of modifierScancodes) { + if (scancode !== undefined) { + const keyUpEvent = api.DeviceEvent.keyReleased(scancode); + transaction.addEvent(keyUpEvent); + } + } + + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error releasing modifier keys:", err); + } + }, [session, ironrdp, codeToScancode]); + + const tryFallbackClipboardRead = useCallback(() => { + try { + // Create a temporary textarea to capture clipboard content + const textarea = document.createElement("textarea"); + textarea.style.position = "fixed"; + textarea.style.opacity = "0"; + textarea.style.top = "-9999px"; + document.body.appendChild(textarea); + + textarea.focus(); + + // Check if 'paste' command is supported before using execCommand + if ( + typeof document.queryCommandSupported === "function" && + document.queryCommandSupported("paste") + ) { + if (document.execCommand("paste")) { + const text = textarea.value; + if (text) { + sendTextAsKeystrokes(text); + // Release all modifier keys after paste to prevent them from sticking + releaseModifierKeys(); + } + } + } else { + console.warn("Clipboard paste is not supported in this browser."); + } + + document.body.removeChild(textarea); + } catch (err) { + console.error("Fallback clipboard read failed:", err); + } + }, [sendTextAsKeystrokes, releaseModifierKeys]); + + const handleLocalClipboardPaste = useCallback(async () => { + if (!navigator.clipboard?.readText) { + console.warn("Clipboard API not available"); + return; + } + + try { + const clipboardText = await navigator.clipboard.readText(); + if (!clipboardText) return; + sendTextAsKeystrokes(clipboardText); + releaseModifierKeys(); + } catch (err) { + console.error("Failed to read from local clipboard:", err); + tryFallbackClipboardRead(); + } + }, [sendTextAsKeystrokes, releaseModifierKeys, tryFallbackClipboardRead]); + + const releaseAllKeys = useCallback(() => { + if (!session || !ironrdp) return; + + keyStatesRef.current.forEach((pressed, code) => { + if (!pressed) return; + const scancode = codeToScancode[code]; + if (scancode === undefined) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.keyReleased(scancode); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error releasing key:", err); + } + }); + keyStatesRef.current.clear(); + }, [session, ironrdp, codeToScancode]); + + const releaseAllMouseButtons = useCallback(() => { + if (!session || !ironrdp) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + // Release all mouse buttons that are currently pressed + Object.entries(mouseButtonStatesRef.current).forEach( + ([buttonIndex, pressed]) => { + if (pressed) { + const button = mouseButtonMap[parseInt(buttonIndex)]; + if (button !== undefined) { + const deviceEvent = api.DeviceEvent.mouseButtonReleased(button); + transaction.addEvent(deviceEvent); + mouseButtonStatesRef.current[parseInt(buttonIndex)] = false; + } + } + }, + ); + + if (transaction) { + extSession.applyInputs(transaction); + } + } catch (err) { + console.error("Error releasing mouse buttons:", err); + } + }, [session, ironrdp, mouseButtonMap]); + + const releaseAllInputs = useCallback(() => { + releaseAllKeys(); + releaseAllMouseButtons(); + // Release touch state + if (touchStateRef.current.touching) { + touchStateRef.current = { + lastX: 0, + lastY: 0, + touching: false, + touchId: null, + }; + } + }, [releaseAllKeys, releaseAllMouseButtons]); + + const requestClipboardSync = useCallback(() => { + if (!/Chrome/.test(navigator.userAgent)) return; + + if ( + window.IronRDPBridge && + (window.IronRDPBridge as any).checkAndSendClipboard + ) { + setTimeout(() => { + (window.IronRDPBridge as any).checkAndSendClipboard(); + }, 50); + } + }, []); + + // Event handlers + const handleMouseDown = useCallback( + (event: MouseEvent) => { + if (!canvas || !isActive || !session || !ironrdp) return; + + event.preventDefault(); + canvas.focus(); + + const { x, y } = getCanvasCoordinates(event.clientX, event.clientY); + const button = mouseButtonMap[event.button]; + if (button === undefined) return; + if (mouseButtonStatesRef.current[event.button]) return; + + mouseButtonStatesRef.current[event.button] = true; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + const moveEvent = api.DeviceEvent.mouseMove(x, y); + const clickEvent = api.DeviceEvent.mouseButtonPressed(button); + + transaction.addEvent(moveEvent); + transaction.addEvent(clickEvent); + extSession.applyInputs(transaction); + + currentMouseRef.current = { x, y }; + } catch (err) { + console.error("Error sending mouse down:", err); + } + }, + [canvas, isActive, session, ironrdp, getCanvasCoordinates, mouseButtonMap], + ); + + const handleMouseUp = useCallback( + (event: MouseEvent) => { + if (!canvas || !isActive || !session || !ironrdp) return; + + event.preventDefault(); + const button = mouseButtonMap[event.button]; + if (button === undefined) return; + if (!mouseButtonStatesRef.current[event.button]) return; + + mouseButtonStatesRef.current[event.button] = false; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.mouseButtonReleased(button); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending mouse up:", err); + } + }, + [canvas, isActive, session, ironrdp, mouseButtonMap], + ); + + const handleMouseMove = useCallback( + (event: MouseEvent) => { + if (!canvas || !session || !ironrdp) return; + + const { x, y } = getCanvasCoordinates(event.clientX, event.clientY); + + if (x === currentMouseRef.current.x && y === currentMouseRef.current.y) { + return; + } + + currentMouseRef.current = { x, y }; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.mouseMove(x, y); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending mouse move:", err); + } + }, + [canvas, session, ironrdp, getCanvasCoordinates], + ); + + const handleWheel = useCallback( + (event: WheelEvent) => { + if (!isActive || !session || !ironrdp) return; + + event.preventDefault(); + const delta = event.deltaY > 0 ? -1 : 1; + const rotationUnits = delta * 120; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.wheelRotations(true, rotationUnits); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending wheel event:", err); + } + }, + [isActive, session, ironrdp], + ); + + const handleTouchStart = useCallback( + (event: TouchEvent) => { + if (!canvas || !isActive || !session || !ironrdp) return; + + event.preventDefault(); + canvas.focus(); + + // Only handle single touch (first touch) + if (event.touches.length > 0 && !touchStateRef.current.touching) { + const touch = event.touches[0]; + const { x, y } = getCanvasCoordinates(touch.clientX, touch.clientY); + + touchStateRef.current = { + lastX: x, + lastY: y, + touching: true, + touchId: touch.identifier, + }; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const transaction = new api.InputTransaction(); + + const moveEvent = api.DeviceEvent.mouseMove(x, y); + const clickEvent = api.DeviceEvent.mouseButtonPressed(0); // Left click + + transaction.addEvent(moveEvent); + transaction.addEvent(clickEvent); + extSession.applyInputs(transaction); + + currentMouseRef.current = { x, y }; + } catch (err) { + console.error("Error sending touch start:", err); + } + } + }, + [canvas, isActive, session, ironrdp, getCanvasCoordinates], + ); + + const handleTouchEnd = useCallback( + (event: TouchEvent) => { + if (!canvas || !isActive || !session || !ironrdp) return; + + event.preventDefault(); + + // Check if our tracked touch ended + if (touchStateRef.current.touching) { + const touchEnded = Array.from(event.changedTouches).some( + (touch) => touch.identifier === touchStateRef.current.touchId, + ); + + if (touchEnded || event.touches.length === 0) { + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.mouseButtonReleased(0); // Left click + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + + touchStateRef.current = { + lastX: 0, + lastY: 0, + touching: false, + touchId: null, + }; + } catch (err) { + console.error("Error sending touch end:", err); + } + } + } + }, + [canvas, isActive, session, ironrdp], + ); + + const handleTouchMove = useCallback( + (event: TouchEvent) => { + if (!canvas || !session || !ironrdp || !touchStateRef.current.touching) return; + + event.preventDefault(); + + // Find our tracked touch + const currentTouch = Array.from(event.touches).find( + (touch) => touch.identifier === touchStateRef.current.touchId, + ); + + if (currentTouch) { + const { x, y } = getCanvasCoordinates(currentTouch.clientX, currentTouch.clientY); + + if (x === touchStateRef.current.lastX && y === touchStateRef.current.lastY) { + return; + } + + touchStateRef.current.lastX = x; + touchStateRef.current.lastY = y; + currentMouseRef.current = { x, y }; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.mouseMove(x, y); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending touch move:", err); + } + } + }, + [canvas, session, ironrdp, getCanvasCoordinates], + ); + + const handleKeyDown = useCallback( + (event: KeyboardEvent) => { + if (!isActive || !session || !ironrdp) return; + + const isLocalClipboardPaste = + (event.ctrlKey || event.metaKey) && + event.shiftKey && + event.key.toLowerCase() === "v"; + + if (isLocalClipboardPaste) { + event.preventDefault(); + handleLocalClipboardPaste(); + return; + } + + const isClipboardPaste = + (event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "v"; + const isClipboardCopy = + (event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "c"; + + // Handle copy directly in keydown as fallback if clipboard events don't work + if (isClipboardCopy && document.activeElement === canvas) { + event.preventDefault(); + sendCopyKeyCombination(); + return; + } + + // Handle paste directly in keydown as fallback if clipboard events don't work + if (isClipboardPaste && document.activeElement === canvas) { + event.preventDefault(); + sendPasteKeyCombination(); + return; + } + + if (!isClipboardPaste && !isClipboardCopy) { + event.preventDefault(); + } + + const isChromium = /Chrome/.test(navigator.userAgent); + if ((isClipboardPaste || isClipboardCopy) && isChromium) { + return; + } + + const scancode = codeToScancode[event.code]; + if (scancode !== undefined) { + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.keyPressed(scancode); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending key down:", err); + } + } else if (event.key.length === 1) { + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.unicodePressed(event.key); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending unicode char:", err); + } + } + }, + [ + isActive, + session, + ironrdp, + codeToScancode, + canvas, + sendCopyKeyCombination, + sendPasteKeyCombination, + handleLocalClipboardPaste, + ], + ); + + const handleKeyUp = useCallback( + (event: KeyboardEvent) => { + if (!isActive || !session || !ironrdp) return; + + const isLocalClipboardPaste = + (event.ctrlKey || event.metaKey) && + event.shiftKey && + event.key.toLowerCase() === "v"; + if (isLocalClipboardPaste) { + event.preventDefault(); + return; + } + + const isClipboardPaste = + (event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "v"; + const isClipboardCopy = + (event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "c"; + + if (!isClipboardPaste && !isClipboardCopy) { + event.preventDefault(); + } + + const isChromium = /Chrome/.test(navigator.userAgent); + if ((isClipboardPaste || isClipboardCopy) && isChromium) { + return; + } + + const scancode = codeToScancode[event.code]; + if (scancode === undefined) return; + + try { + const api = ironrdp as IronRDPAPI; + const extSession = session as ExtendedRDPSession; + const deviceEvent = api.DeviceEvent.keyReleased(scancode); + const transaction = new api.InputTransaction(); + transaction.addEvent(deviceEvent); + extSession.applyInputs(transaction); + } catch (err) { + console.error("Error sending key up:", err); + } + }, + [isActive, session, ironrdp, codeToScancode], + ); + + const handlePaste = useCallback( + (event: ClipboardEvent) => { + if (!isActive) return; + + const clipboardData = event.clipboardData; + if (!clipboardData) return; + + const text = clipboardData.getData("text/plain"); + if (!text) return; + + event.preventDefault(); + sendPasteKeyCombination(); + }, + [isActive, sendPasteKeyCombination], + ); + + const handleCopy = useCallback( + (event: ClipboardEvent) => { + if (!isActive) { + return; + } + sendCopyKeyCombination(); + }, + [isActive, sendCopyKeyCombination], + ); + + const handleFocus = useCallback(() => { + setIsActive(true); + requestClipboardSync(); + }, [requestClipboardSync]); + + const handleBlur = useCallback(() => { + setIsActive(false); + releaseAllInputs(); + }, [releaseAllInputs]); + + const handleClick = useCallback(() => { + if (canvas) { + canvas.focus(); + requestClipboardSync(); + + setTimeout(() => { + if (document.activeElement !== canvas) { + canvas.focus(); + } + }, 10); + } + }, [canvas, requestClipboardSync]); + + const handleGlobalKeyDown = useCallback( + (e: KeyboardEvent) => { + if (!isActive) return; + + if (e.key === "F11") { + e.preventDefault(); + if (window.toggleFullscreen) { + window.toggleFullscreen(); + } + } else if (e.ctrlKey && e.altKey && e.key === "Enter") { + e.preventDefault(); + if (window.toggleFullscreen) { + window.toggleFullscreen(); + } + } + }, + [isActive], + ); + + const preventContextMenu = useCallback((e: Event) => e.preventDefault(), []); + + const handleMouseLeave = useCallback(() => { + releaseAllInputs(); + }, [releaseAllInputs]); + + const handleWindowMouseLeave = useCallback( + (e: MouseEvent) => { + if ( + e.clientY <= 0 || + e.clientX <= 0 || + e.clientX >= window.innerWidth || + e.clientY >= window.innerHeight + ) { + releaseAllInputs(); + } + }, + [releaseAllInputs], + ); + + const handleVisibilityChange = useCallback(() => { + if (document.hidden) { + releaseAllInputs(); + } + }, [releaseAllInputs]); + + /** + * Setup all necessary event listeners on the canvas + */ + const setupEventListeners = useCallback(() => { + if (!canvas) return null; + + // Clean up any existing handler for this canvas first + const existingCleanup = activeHandlers.get(canvas); + if (existingCleanup) { + existingCleanup(); + } + + canvas.tabIndex = 1; + canvas.style.outline = "none"; + + // Add all event listeners + canvas.addEventListener("mousedown", handleMouseDown); + canvas.addEventListener("mouseup", handleMouseUp); + canvas.addEventListener("mousemove", handleMouseMove); + canvas.addEventListener("mouseenter", handleMouseMove); + canvas.addEventListener("mouseleave", handleMouseLeave); + canvas.addEventListener("wheel", handleWheel); + canvas.addEventListener("touchstart", handleTouchStart); + canvas.addEventListener("touchend", handleTouchEnd); + canvas.addEventListener("touchmove", handleTouchMove); + canvas.addEventListener("contextmenu", preventContextMenu); + canvas.addEventListener("keydown", handleKeyDown); + canvas.addEventListener("keyup", handleKeyUp); + canvas.addEventListener("paste", handlePaste); + canvas.addEventListener("copy", handleCopy); + + canvas.addEventListener("focus", handleFocus); + canvas.addEventListener("blur", handleBlur); + canvas.addEventListener("click", handleClick); + + document.addEventListener("keydown", handleGlobalKeyDown); + + // Window-level event listeners for input cleanup + document.addEventListener("mouseleave", handleWindowMouseLeave); + document.addEventListener("visibilitychange", handleVisibilityChange); + + // Create cleanup function + const cleanup = () => { + canvas.removeEventListener("mousedown", handleMouseDown); + canvas.removeEventListener("mouseup", handleMouseUp); + canvas.removeEventListener("mousemove", handleMouseMove); + canvas.removeEventListener("mouseenter", handleMouseMove); + canvas.removeEventListener("mouseleave", handleMouseLeave); + canvas.removeEventListener("wheel", handleWheel); + canvas.removeEventListener("touchstart", handleTouchStart); + canvas.removeEventListener("touchend", handleTouchEnd); + canvas.removeEventListener("touchmove", handleTouchMove); + canvas.removeEventListener("contextmenu", preventContextMenu); + canvas.removeEventListener("keydown", handleKeyDown); + canvas.removeEventListener("keyup", handleKeyUp); + canvas.removeEventListener("paste", handlePaste); + canvas.removeEventListener("copy", handleCopy); + + canvas.removeEventListener("focus", handleFocus); + canvas.removeEventListener("blur", handleBlur); + canvas.removeEventListener("click", handleClick); + document.removeEventListener("keydown", handleGlobalKeyDown); + + // Remove window-level listeners + document.removeEventListener("mouseleave", handleWindowMouseLeave); + document.removeEventListener("visibilitychange", handleVisibilityChange); + + releaseAllInputs(); + // Don't set isActive false here - let blur event handle it + activeHandlers.delete(canvas); + }; + + // Register this handler + activeHandlers.set(canvas, cleanup); + + return cleanup; + }, [ + canvas, + handleMouseDown, + handleMouseUp, + handleMouseMove, + handleMouseLeave, + handleWheel, + handleTouchStart, + handleTouchEnd, + handleTouchMove, + preventContextMenu, + handleKeyDown, + handleKeyUp, + handlePaste, + handleCopy, + handleFocus, + handleBlur, + handleClick, + handleGlobalKeyDown, + handleWindowMouseLeave, + handleVisibilityChange, + releaseAllInputs, + ]); + + /** + * Auto-focus canvas when connection is established + */ + useEffect(() => { + if (isConnected && canvas) { + const timeoutId = setTimeout(() => { + if (document.activeElement !== canvas) { + canvas.focus(); + } + }, 300); + return () => clearTimeout(timeoutId); + } + }, [isConnected, canvas]); + + /** + * Setup event listeners when connected and canvas/session are available + */ + useEffect(() => { + if (isConnected && ironrdp && session && canvas) { + setupEventListeners(); + } + }, [isConnected, ironrdp, session, canvas, setupEventListeners]); + + /** + * Cleanup event listeners when canvas changes or component unmounts + */ + useEffect(() => { + return () => { + if (canvas) { + const existingCleanup = activeHandlers.get(canvas); + if (existingCleanup) { + existingCleanup(); + } + } + }; + }, [canvas]); + + /** + * Function to manually focus the canvas and ensure it receives input + */ + const focusCanvas = useCallback(() => { + if (canvas) canvas.focus(); + }, [canvas]); + + return { + isActive, + focusCanvas, + }; +}; diff --git a/src/modules/remote-access/rdp/useRemoteDesktop.ts b/src/modules/remote-access/rdp/useRemoteDesktop.ts index fad247d..1541be5 100644 --- a/src/modules/remote-access/rdp/useRemoteDesktop.ts +++ b/src/modules/remote-access/rdp/useRemoteDesktop.ts @@ -1,4 +1,5 @@ import { useCallback, useEffect, useRef, useState } from "react"; +import { useIronRDPInputHandler } from "./useIronRDPInputHandler"; import { CertificatePromptInfo, useRDPCertificateHandler, @@ -14,6 +15,7 @@ interface RDPConfig { port: number; username: string; password: string; + domain?: string; width?: number; height?: number; } @@ -21,6 +23,7 @@ interface RDPConfig { export interface RDPCredentials { username: string; password: string; + domain?: string; port: number; } @@ -38,8 +41,7 @@ export enum RDPStatus { CONNECTING = 2, } -export const RDP_DOCS_LINK = - "https://docs.netbird.io/how-to/browser-client#rdp-connection"; +export const RDP_DOCS_LINK = "https://docs.netbird.io/how-to/browser-client"; export const useRemoteDesktop = (client: any) => { const [status, setStatus] = useState(RDPStatus.DISCONNECTED); @@ -59,10 +61,20 @@ export const useRemoteDesktop = (client: any) => { reject: (reason?: any) => void; } | null>(null); + const [rdpSession, setRdpSession] = useState(null); + const [ironrdpModule, setIronrdpModule] = useState(null); + const { handleRDCleanPathResponse, acceptCertificate } = useRDPCertificateHandler(); const certificateAccepted = useRef(false); + const { isActive, focusCanvas } = useIronRDPInputHandler({ + ironrdp: ironrdpModule, + session: rdpSession, + canvas: canvasRef.current, + isConnected: status === RDPStatus.CONNECTED, + }); + /** * Reset the RDP state, optionally preserving config and/or certificate state */ @@ -75,6 +87,9 @@ export const useRemoteDesktop = (client: any) => { ) => { session.current = null; setStatus(RDPStatus.DISCONNECTED); + setRdpSession(null); + setIronrdpModule(null); + if (!options.preserveConfig) { setConfig(null); } @@ -172,11 +187,17 @@ export const useRemoteDesktop = (client: any) => { rdpConfig.port, rdpConfig.username, rdpConfig.password, + rdpConfig.domain, canvas, true, client.client, ); + // Store the ironrdp module and session for the input handler hook + setIronrdpModule((client.ironRDPBridge as any).ironrdp || null); + const actualSession = client.ironRDPBridge.getSession(sessionId); + setRdpSession(actualSession); + session.current = { id: sessionId, disconnect: (options = {}) => { @@ -192,6 +213,7 @@ export const useRemoteDesktop = (client: any) => { }; setStatus(RDPStatus.CONNECTED); lastConnectedConfigRef.current = rdpConfig; + canvasRef?.current?.focus(); return RDPStatus.CONNECTED; } catch (err) { const ironError = err as IronError; @@ -232,6 +254,7 @@ export const useRemoteDesktop = (client: any) => { setPendingCertificate(null); certificatePromiseRef.current = null; certificateAccepted.current = true; + canvasRef?.current?.focus(); }, [pendingCertificate, acceptCertificate], ); @@ -287,6 +310,7 @@ export const useRemoteDesktop = (client: any) => { await connect(newConfig); } finally { setIsResizing(false); + canvasRef?.current?.focus(); } }, 1000); }; @@ -318,6 +342,10 @@ export const useRemoteDesktop = (client: any) => { session: session.current, canvasRef, + // Input handler + inputHandlerActive: isActive, + focusCanvas, + // Certificate handling pendingCertificate, acceptCertificatePrompt, diff --git a/src/modules/remote-access/ssh/SSHButton.tsx b/src/modules/remote-access/ssh/SSHButton.tsx index cef1514..d2c198d 100644 --- a/src/modules/remote-access/ssh/SSHButton.tsx +++ b/src/modules/remote-access/ssh/SSHButton.tsx @@ -1,14 +1,14 @@ import Button from "@components/Button"; import { DropdownMenuItem } from "@components/DropdownMenu"; +import { getOperatingSystem } from "@hooks/useOperatingSystem"; import { CircleHelpIcon, TerminalIcon } from "lucide-react"; import * as React from "react"; import { useState } from "react"; import { usePermissions } from "@/contexts/PermissionsProvider"; +import { OperatingSystem } from "@/interfaces/OperatingSystem"; import { Peer } from "@/interfaces/Peer"; import { SSHCredentialsModal } from "@/modules/remote-access/ssh/SSHCredentialsModal"; import { SSHTooltip } from "@/modules/remote-access/ssh/SSHTooltip"; -import { getOperatingSystem } from "@hooks/useOperatingSystem"; -import { OperatingSystem } from "@/interfaces/OperatingSystem"; type Props = { peer: Peer; @@ -41,7 +41,8 @@ export const SSHButton = ({ peer, isDropdown = false }: Props) => { )}
diff --git a/src/modules/remote-access/ssh/SSHTooltip.tsx b/src/modules/remote-access/ssh/SSHTooltip.tsx index 8f67aee..93a18b9 100644 --- a/src/modules/remote-access/ssh/SSHTooltip.tsx +++ b/src/modules/remote-access/ssh/SSHTooltip.tsx @@ -1,57 +1,99 @@ import FullTooltip from "@components/FullTooltip"; import InlineLink from "@components/InlineLink"; -import { ExternalLinkIcon } from "lucide-react"; +import { ArrowUpRightIcon } from "lucide-react"; import * as React from "react"; +import { useState } from "react"; +import { usePeer } from "@/contexts/PeerProvider"; type Props = { - disabled?: boolean; children?: React.ReactNode; - hasPermission?: boolean; + hasPermission: boolean; + isOnline?: boolean; + isSSHEnabled?: boolean; side?: "top" | "right" | "bottom" | "left"; }; export const SSHTooltip = ({ - disabled, children, hasPermission, + isOnline, + isSSHEnabled, side = "top", }: Props) => { + const [showTooltip, setShowTooltip] = useState(false); + + const tooltipContent = () => { + if (!hasPermission) { + return ; + } + if (!isSSHEnabled) { + return ; + } + if (!isOnline) { + return ; + } + return null; + }; + return ( - {hasPermission ? ( - <> -
- This peer is either offline or SSH access is not enabled. -
-
- Please enable SSH access for this peer in the dashboard and make - sure SSH is allowed in the NetBird Client under{" "} - Settings → Allow SSH. -
-
- Learn more about{" "} - - SSH - -
- - ) : ( -
- You do not have permission to launch the SSH console. Please - contact your administrator. -
- )} -
- } - disabled={disabled} + content={tooltipContent()} + disabled={isOnline && isSSHEnabled && hasPermission} > {children} ); }; + +const NoPermissionText = () => { + return ( +
+
+ You do not have permission to launch the SSH console. Please contact + your administrator. +
+
+ ); +}; + +const IsOfflineText = () => { + return ( +
+
Connecting via SSH is only available when the peer is online.
+
+ ); +}; + +const SSHDisabledText = ({ + setShowTooltip, +}: { + setShowTooltip: (show: boolean) => void; +}) => { + const { setSSHInstructionsModal } = usePeer(); + + return ( +
+
+ SSH Access is currently disabled for this peer. Please enable SSH access + for this peer and make sure SSH is allowed in the NetBird Client. +
+
+ { + e.preventDefault(); + e.stopPropagation(); + setShowTooltip(false); + setSSHInstructionsModal(true); + }} + href={"#"} + target={"_blank"} + > + Enable SSH Access + +
+
+ ); +}; diff --git a/src/modules/remote-access/ssh/useSSH.ts b/src/modules/remote-access/ssh/useSSH.ts index e26ae3b..e76922c 100644 --- a/src/modules/remote-access/ssh/useSSH.ts +++ b/src/modules/remote-access/ssh/useSSH.ts @@ -1,3 +1,4 @@ +import { useOidcAccessToken } from "@axa-fr/react-oidc"; import { useCallback, useRef, useState } from "react"; interface SSHConfig { @@ -28,6 +29,7 @@ export const useSSH = (client: any) => { const [config, setConfig] = useState(null); const session = useRef(null); const [error, setError] = useState(""); + const { accessToken } = useOidcAccessToken(); const connect = useCallback( async (config: SSHConfig): Promise => { diff --git a/src/modules/remote-access/useNetBirdClient.ts b/src/modules/remote-access/useNetBirdClient.ts index 08c9090..08cea74 100644 --- a/src/modules/remote-access/useNetBirdClient.ts +++ b/src/modules/remote-access/useNetBirdClient.ts @@ -4,7 +4,6 @@ import { getBrowserInfo } from "@utils/helpers"; import { generateKeypair } from "@utils/wireguard"; import { trim } from "lodash"; import { useCallback, useEffect, useRef, useSyncExternalStore } from "react"; -import { IronRDPInputHandler } from "@/modules/remote-access/rdp/ironrdp-input-handler"; import { IronRDPWASMBridge } from "@/modules/remote-access/rdp/ironrdp-wasm-bridge"; import { RDPCertificateHandler } from "@/modules/remote-access/rdp/rdp-certificate-handler"; import { installWebSocketProxy } from "@/modules/remote-access/rdp/websocket-proxy"; @@ -13,7 +12,7 @@ const config = loadConfig(); const WASM_CONFIG = { SCRIPT_PATH: "/wasm_exec.js", - WASM_PATH: "https://pkgs.netbird.io/wasm/client", + WASM_PATH: config.wasmPath, INIT_TIMEOUT: 10000, RETRY_DELAY: 100, } as const; @@ -73,9 +72,8 @@ export const useNetBirdClient = () => { const rdpComponents = useRef<{ bridge: IronRDPWASMBridge | null; - inputHandler: typeof IronRDPInputHandler | null; certificateHandler: typeof RDPCertificateHandler | null; - }>({ bridge: null, inputHandler: null, certificateHandler: null }); + }>({ bridge: null, certificateHandler: null }); const loadWASMRuntime = useCallback((): Promise => { if (document.querySelector(`script[src="${WASM_CONFIG.SCRIPT_PATH}"]`)) { @@ -117,7 +115,6 @@ export const useNetBirdClient = () => { installWebSocketProxy(); rdpComponents.current = { bridge: new IronRDPWASMBridge(), - inputHandler: IronRDPInputHandler, certificateHandler: RDPCertificateHandler, }; }, []); @@ -209,8 +206,23 @@ export const useNetBirdClient = () => { return Promise.resolve(); }, []); + const detectSSHServerType = useCallback( + async (host: string, port: number): Promise => { + if (!netBirdClient.current?.detectSSHServerType) { + throw new Error("NetBird client not ready"); + } + return netBirdClient.current.detectSSHServerType(host, port); + }, + [], + ); + const createSSHConnection = useCallback( - async (host: string, port: number, username: string): Promise => { + async ( + host: string, + port: number, + username: string, + jwtToken?: string, + ): Promise => { if (!netBirdClient.current?.createSSHConnection) { throw new Error("Go client not ready"); } @@ -268,7 +280,7 @@ export const useNetBirdClient = () => { { name, wg_pub_key: keyPairs.publicKey, - rules: rules ?? ["tcp/22", "tcp/3389", "tcp/44338"], + rules: rules ?? ["tcp/22022", "tcp/3389", "tcp/44338"], }, `/${peerId}/temporary-access`, ); @@ -289,15 +301,15 @@ export const useNetBirdClient = () => { status, wasmStatus, error, - client: netBirdClient.current, // Expose the raw NetBird client + client: netBirdClient.current, ironRDPBridge: rdpComponents.current.bridge, - ironRDPInputHandler: rdpComponents.current.inputHandler, rdpCertificateHandler: rdpComponents.current.certificateHandler, initialize, initializeIronRDP, connect, connectTemporary, disconnect, + detectSSHServerType, createSSHConnection, makeRequest, proxyRequest, diff --git a/src/modules/setup-netbird-modal/MacOSTab.tsx b/src/modules/setup-netbird-modal/MacOSTab.tsx index 34e1956..f8c3047 100644 --- a/src/modules/setup-netbird-modal/MacOSTab.tsx +++ b/src/modules/setup-netbird-modal/MacOSTab.tsx @@ -79,23 +79,23 @@ export default function MacOSTab({
diff --git a/src/modules/setup-netbird-modal/WindowsTab.tsx b/src/modules/setup-netbird-modal/WindowsTab.tsx index fbaf06b..74337c1 100644 --- a/src/modules/setup-netbird-modal/WindowsTab.tsx +++ b/src/modules/setup-netbird-modal/WindowsTab.tsx @@ -1,11 +1,12 @@ import Button from "@components/Button"; import Code from "@components/Code"; +import { SelectDropdown } from "@components/select/SelectDropdown"; import Steps from "@components/Steps"; import TabsContentPadding, { TabsContent } from "@components/Tabs"; import { getNetBirdUpCommand, GRPC_API_ORIGIN } from "@utils/netbird"; import { DownloadIcon, PackageOpenIcon } from "lucide-react"; import Link from "next/link"; -import React from "react"; +import React, { useState } from "react"; import { OperatingSystem } from "@/interfaces/OperatingSystem"; import { HostnameParameter, @@ -24,6 +25,9 @@ export default function WindowsTab({ showSetupKeyInfo, hostname, }: Readonly) { + const [windowsUrl, setWindowsUrl] = useState( + "https://pkgs.netbird.io/windows/x64", + ); return ( @@ -35,10 +39,35 @@ export default function WindowsTab({

Download and run Windows Installer

+